From f9c463f87a4588f4ae6db663285859bfa864941b Mon Sep 17 00:00:00 2001 From: DongHyeonka Date: Fri, 24 Jul 2026 14:31:53 +0900 Subject: [PATCH] =?UTF-8?q?init:=20=ED=8F=B4=EB=8D=94=EA=B5=AC=EC=A1=B0=20?= =?UTF-8?q?=EC=84=A4=EA=B3=84=20=EB=B0=8F=20=EC=9D=B8=ED=94=84=EB=9D=BC=20?= =?UTF-8?q?=EC=84=A4=EA=B3=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 105 + README.md | 166 +- .../0001-keycloak-admin-host-not-public.md | 41 + docs/architecture.md | 147 + docs/diagrams/architecture/01-overall.png | Bin 0 -> 732285 bytes docs/diagrams/architecture/02-auth-flow.png | Bin 0 -> 658820 bytes .../architecture/07-traefik-pipeline.png | Bin 0 -> 647575 bytes docs/diagrams/sequence/forward-auth-cold.md | 53 + docs/diagrams/sequence/forward-auth-warm.md | 47 + .../sequence/secret-pipeline-bootstrap.md | 44 + .../sequence/secret-pipeline-runtime.md | 54 + .../infra/architecture-environments.md | 417 + docs/examples/infra/backup-restore.md | 564 ++ docs/examples/infra/config-and-secrets.md | 642 ++ docs/examples/infra/db-and-migration.md | 499 + docs/examples/infra/flyway.md | 560 ++ docs/examples/infra/k3s-specific.md | 400 + docs/examples/infra/keycloak.md | 668 ++ docs/examples/infra/kustomize.md | 548 + docs/examples/infra/minio.md | 855 ++ docs/examples/infra/network-ingress-tls.md | 578 ++ docs/examples/infra/observability-health.md | 601 ++ .../operations-runbook-upgrade-rollback.md | 744 ++ .../infra/resources-probes-availability.md | 659 ++ docs/examples/infra/scripts.md | 602 ++ docs/examples/infra/security-hardening.md | 528 + docs/examples/infra/storage-pvc.md | 641 ++ docs/examples/infra/vault.md | 777 ++ docs/examples/infra/workload-selection.md | 991 ++ docs/ingress-traefik.md | 248 + docs/networking.md | 31 + docs/operations.md | 83 + docs/security-hardening.md | 256 + docs/standards/infra/STYLE.md | 275 + .../infra/architecture-environments.md | 297 + docs/standards/infra/backup-restore.md | 241 + docs/standards/infra/config-and-secrets.md | 223 + docs/standards/infra/db-and-migration.md | 305 + docs/standards/infra/flyway.md | 304 + docs/standards/infra/k3s-specific.md | 224 + docs/standards/infra/keycloak.md | 227 + docs/standards/infra/kustomize.md | 325 + docs/standards/infra/minio.md | 238 + docs/standards/infra/network-ingress-tls.md | 170 + docs/standards/infra/observability-health.md | 219 + .../operations-runbook-upgrade-rollback.md | 301 + .../infra/resources-probes-availability.md | 199 + docs/standards/infra/scripts.md | 293 + docs/standards/infra/security-hardening.md | 183 + docs/standards/infra/storage-pvc.md | 227 + docs/standards/infra/vault.md | 277 + docs/standards/infra/workload-selection.md | 324 + docs/troubleshooting.md | 1168 +++ docs/validation-report.md | 62 + docs/vault-vso.md | 98 + guide.md | 901 ++ k8s/AGENTS.md | 26 + k8s/README.md | 58 + k8s/base/AGENTS.md | 38 + k8s/base/README.md | 13 + k8s/base/app/AGENTS.md | 69 + k8s/base/app/README.md | 23 + .../identity-postgres/configmap-initdb.yaml | 30 + .../identity-postgres/kustomization.yaml | 18 + .../identity-postgres/service-headless.yaml | 22 + .../stateful/identity-postgres/service.yaml | 22 + .../identity-postgres/serviceaccount.yaml | 12 + .../identity-postgres/statefulset.yaml | 174 + .../auth/stateless/auth-server/configmap.yaml | 19 + .../stateless/auth-server/deployment.yaml | 128 + .../stateless/auth-server/kustomization.yaml | 17 + .../auth/stateless/auth-server/service.yaml | 27 + .../stateless/auth-server/serviceaccount.yaml | 12 + .../keycloak/stateless/keycloak/keycloak.yaml | 113 + .../stateless/keycloak/kustomization.yaml | 14 + .../minio/stateful/minio/kustomization.yaml | 14 + .../storage/minio/stateful/minio/tenant.yaml | 92 + k8s/base/managing/AGENTS.md | 46 + k8s/base/managing/kustomization.yaml | 5 + .../migration-flyway/configmap-sql.yaml | 80 + k8s/base/managing/migration-flyway/job.yaml | 119 + .../migration-flyway/kustomization.yaml | 16 + .../migration-flyway/serviceaccount.yaml | 12 + .../managing/namespace/kustomization.yaml | 5 + k8s/base/managing/namespace/namespace.yaml | 16 + .../plugins/docker-registry/configmap.yaml | 15 + .../plugins/docker-registry/deployment.yaml | 94 + .../docker-registry/kustomization.yaml | 19 + k8s/base/plugins/docker-registry/service.yaml | 15 + .../docker-registry/serviceaccount.yaml | 5 + k8s/base/plugins/kustomization.yaml | 6 + k8s/base/plugins/oauth2-proxy/deployment.yaml | 115 + .../plugins/oauth2-proxy/kustomization.yaml | 18 + k8s/base/plugins/oauth2-proxy/service.yaml | 20 + .../plugins/oauth2-proxy/serviceaccount.yaml | 5 + .../plugins/vault/clusterrolebinding.yaml | 12 + k8s/base/plugins/vault/configmap.yaml | 21 + k8s/base/plugins/vault/kustomization.yaml | 20 + k8s/base/plugins/vault/service.yaml | 20 + k8s/base/plugins/vault/serviceaccount.yaml | 4 + k8s/base/plugins/vault/statefulset.yaml | 128 + k8s/base/plugins/vso/helm/values.yaml | 39 + k8s/base/plugins/vso/kustomization.yaml | 18 + k8s/base/plugins/vso/serviceaccount.yaml | 5 + k8s/base/plugins/vso/vault-auth.yaml | 27 + k8s/base/plugins/vso/vault-connection.yaml | 7 + .../forward-auth/kustomization.yaml | 19 + .../forward-auth/oauth2-proxy-config.yaml | 46 + .../forward-auth/oauth2-proxy-ingress.yaml | 27 + .../forward-auth/oauth2-proxy-middleware.yaml | 45 + .../oauth2-proxy-networkpolicy.yaml | 55 + .../oauth2-proxy-vault-secrets.yaml | 24 + k8s/overlays/AGENTS.md | 44 + k8s/overlays/README.md | 19 + k8s/overlays/dev/auth/ingress.yaml | 27 + k8s/overlays/dev/auth/kustomization.yaml | 50 + k8s/overlays/dev/auth/networkpolicy.yaml | 90 + k8s/overlays/dev/database/kustomization.yaml | 21 + k8s/overlays/dev/database/networkpolicy.yaml | 34 + k8s/overlays/dev/database/vault-secrets.yaml | 63 + .../dev/keycloak-realm/kustomization.yaml | 7 + .../keycloak-realm/platform-realm-import.yaml | 62 + k8s/overlays/dev/keycloak/ingress-admin.yaml | 27 + k8s/overlays/dev/keycloak/ingress-public.yaml | 48 + .../dev/keycloak/keycloak-hostname-patch.yaml | 8 + k8s/overlays/dev/keycloak/kustomization.yaml | 18 + k8s/overlays/dev/keycloak/middleware.yaml | 15 + k8s/overlays/dev/keycloak/networkpolicy.yaml | 140 + k8s/overlays/dev/keycloak/vault-secrets.yaml | 90 + k8s/overlays/dev/kustomization.yaml | 18 + k8s/overlays/dev/networkpolicy-baseline.yaml | 43 + .../platform/cert-manager/kustomization.yaml | 5 + .../keycloak-operator/kustomization.yaml | 39 + .../keycloak-operator/networkpolicy.yaml | 29 + .../platform/traefik/dashboard-service.yaml | 21 + .../dev/platform/traefik/helmchartconfig.yaml | 44 + .../dev/platform/traefik/kustomization.yaml | 9 + .../dev/platform/traefik/middleware.yaml | 16 + k8s/overlays/dev/registry/ingress-public.yaml | 27 + k8s/overlays/dev/registry/kustomization.yaml | 11 + k8s/overlays/dev/registry/middleware.yaml | 14 + k8s/overlays/dev/registry/networkpolicy.yaml | 82 + k8s/overlays/dev/registry/vault-secrets.yaml | 83 + k8s/overlays/dev/storage/kustomization.yaml | 27 + k8s/overlays/dev/storage/networkpolicy.yaml | 140 + k8s/overlays/dev/storage/vault-secrets.yaml | 17 + k8s/overlays/dev/vault/kustomization.yaml | 17 + k8s/overlays/dev/vault/networkpolicy.yaml | 76 + k8s/overlays/dev/vso/kustomization.yaml | 7 + k8s/scripts/AGENTS.md | 43 + k8s/scripts/README.md | 80 + k8s/scripts/bin/bootstrap.sh | 346 + k8s/scripts/bin/teardown.sh | 309 + k8s/scripts/ci/validate.sh | 167 + k8s/scripts/lib/common.sh | 302 + k8s/scripts/lib/vault.sh | 97 + k8s/scripts/tasks/minio-operator-install.sh | 59 + k8s/scripts/tasks/minio-provision-registry.sh | 189 + k8s/scripts/tasks/vault-init.sh | 166 + k8s/scripts/tasks/vault-seed-apps.sh | 286 + k8s/scripts/tasks/vault-setup-admin.sh | 180 + k8s/scripts/tasks/vso-install.sh | 102 + presentation/.venv/bin/Activate.ps1 | 247 + .../__pycache__/vba_extract.cpython-312.pyc | Bin 0 -> 2393 bytes presentation/.venv/bin/activate | 70 + presentation/.venv/bin/activate.csh | 27 + presentation/.venv/bin/activate.fish | 69 + presentation/.venv/bin/pip | 8 + presentation/.venv/bin/pip3 | 8 + presentation/.venv/bin/pip3.12 | 8 + presentation/.venv/bin/python | 1 + presentation/.venv/bin/python3 | 1 + presentation/.venv/bin/python3.12 | 1 + presentation/.venv/bin/vba_extract.py | 79 + .../site-packages/PIL/AvifImagePlugin.py | 293 + .../site-packages/PIL/BdfFontFile.py | 123 + .../site-packages/PIL/BlpImagePlugin.py | 498 + .../site-packages/PIL/BmpImagePlugin.py | 514 + .../site-packages/PIL/BufrStubImagePlugin.py | 72 + .../site-packages/PIL/ContainerIO.py | 173 + .../site-packages/PIL/CurImagePlugin.py | 75 + .../site-packages/PIL/DcxImagePlugin.py | 84 + .../site-packages/PIL/DdsImagePlugin.py | 625 ++ .../site-packages/PIL/EpsImagePlugin.py | 481 + .../python3.12/site-packages/PIL/ExifTags.py | 384 + .../site-packages/PIL/FitsImagePlugin.py | 153 + .../site-packages/PIL/FliImagePlugin.py | 184 + .../python3.12/site-packages/PIL/FontFile.py | 159 + .../site-packages/PIL/FpxImagePlugin.py | 258 + .../site-packages/PIL/FtexImagePlugin.py | 115 + .../site-packages/PIL/GbrImagePlugin.py | 103 + .../site-packages/PIL/GdImageFile.py | 103 + .../site-packages/PIL/GifImagePlugin.py | 1223 +++ .../site-packages/PIL/GimpGradientFile.py | 154 + .../site-packages/PIL/GimpPaletteFile.py | 75 + .../site-packages/PIL/GribStubImagePlugin.py | 72 + .../site-packages/PIL/Hdf5StubImagePlugin.py | 72 + .../site-packages/PIL/IcnsImagePlugin.py | 401 + .../site-packages/PIL/IcoImagePlugin.py | 396 + .../site-packages/PIL/ImImagePlugin.py | 390 + .../lib/python3.12/site-packages/PIL/Image.py | 4381 ++++++++ .../site-packages/PIL/ImageChops.py | 311 + .../python3.12/site-packages/PIL/ImageCms.py | 1076 ++ .../site-packages/PIL/ImageColor.py | 320 + .../python3.12/site-packages/PIL/ImageDraw.py | 1035 ++ .../site-packages/PIL/ImageDraw2.py | 244 + .../site-packages/PIL/ImageEnhance.py | 113 + .../python3.12/site-packages/PIL/ImageFile.py | 935 ++ .../site-packages/PIL/ImageFilter.py | 607 ++ .../python3.12/site-packages/PIL/ImageFont.py | 1309 +++ .../python3.12/site-packages/PIL/ImageGrab.py | 231 + .../python3.12/site-packages/PIL/ImageMath.py | 314 + .../python3.12/site-packages/PIL/ImageMode.py | 85 + .../site-packages/PIL/ImageMorph.py | 317 + .../python3.12/site-packages/PIL/ImageOps.py | 746 ++ .../site-packages/PIL/ImagePalette.py | 290 + .../python3.12/site-packages/PIL/ImagePath.py | 20 + .../python3.12/site-packages/PIL/ImageQt.py | 219 + .../site-packages/PIL/ImageSequence.py | 88 + .../python3.12/site-packages/PIL/ImageShow.py | 362 + .../python3.12/site-packages/PIL/ImageStat.py | 167 + .../python3.12/site-packages/PIL/ImageText.py | 508 + .../python3.12/site-packages/PIL/ImageTk.py | 266 + .../site-packages/PIL/ImageTransform.py | 136 + .../python3.12/site-packages/PIL/ImageWin.py | 247 + .../site-packages/PIL/ImtImagePlugin.py | 103 + .../site-packages/PIL/IptcImagePlugin.py | 226 + .../site-packages/PIL/Jpeg2KImagePlugin.py | 460 + .../site-packages/PIL/JpegImagePlugin.py | 889 ++ .../site-packages/PIL/JpegPresets.py | 242 + .../site-packages/PIL/McIdasImagePlugin.py | 78 + .../site-packages/PIL/MicImagePlugin.py | 103 + .../site-packages/PIL/MpegImagePlugin.py | 84 + .../site-packages/PIL/MpoImagePlugin.py | 203 + .../site-packages/PIL/MspImagePlugin.py | 200 + .../python3.12/site-packages/PIL/PSDraw.py | 238 + .../site-packages/PIL/PaletteFile.py | 54 + .../site-packages/PIL/PalmImagePlugin.py | 217 + .../site-packages/PIL/PcdImagePlugin.py | 68 + .../site-packages/PIL/PcfFontFile.py | 258 + .../site-packages/PIL/PcxImagePlugin.py | 232 + .../site-packages/PIL/PdfImagePlugin.py | 311 + .../python3.12/site-packages/PIL/PdfParser.py | 1081 ++ .../site-packages/PIL/PixarImagePlugin.py | 72 + .../site-packages/PIL/PngImagePlugin.py | 1563 +++ .../site-packages/PIL/PpmImagePlugin.py | 375 + .../site-packages/PIL/PsdImagePlugin.py | 337 + .../site-packages/PIL/QoiImagePlugin.py | 235 + .../site-packages/PIL/SgiImagePlugin.py | 231 + .../site-packages/PIL/SpiderImagePlugin.py | 332 + .../site-packages/PIL/SunImagePlugin.py | 145 + .../lib/python3.12/site-packages/PIL/TarIO.py | 61 + .../site-packages/PIL/TgaImagePlugin.py | 280 + .../site-packages/PIL/TiffImagePlugin.py | 2353 +++++ .../python3.12/site-packages/PIL/TiffTags.py | 566 ++ .../site-packages/PIL/WalImageFile.py | 129 + .../site-packages/PIL/WebPImagePlugin.py | 317 + .../site-packages/PIL/WmfImagePlugin.py | 183 + .../site-packages/PIL/XVThumbImagePlugin.py | 83 + .../site-packages/PIL/XbmImagePlugin.py | 98 + .../site-packages/PIL/XpmImagePlugin.py | 157 + .../python3.12/site-packages/PIL/__init__.py | 87 + .../python3.12/site-packages/PIL/__main__.py | 7 + .../AvifImagePlugin.cpython-312.pyc | Bin 0 -> 11594 bytes .../__pycache__/BdfFontFile.cpython-312.pyc | Bin 0 -> 4230 bytes .../BlpImagePlugin.cpython-312.pyc | Bin 0 -> 24148 bytes .../BmpImagePlugin.cpython-312.pyc | Bin 0 -> 18083 bytes .../BufrStubImagePlugin.cpython-312.pyc | Bin 0 -> 2598 bytes .../__pycache__/ContainerIO.cpython-312.pyc | Bin 0 -> 7027 bytes .../CurImagePlugin.cpython-312.pyc | Bin 0 -> 2361 bytes .../DcxImagePlugin.cpython-312.pyc | Bin 0 -> 2946 bytes .../DdsImagePlugin.cpython-312.pyc | Bin 0 -> 24300 bytes .../EpsImagePlugin.cpython-312.pyc | Bin 0 -> 16051 bytes .../PIL/__pycache__/ExifTags.cpython-312.pyc | Bin 0 -> 11597 bytes .../FitsImagePlugin.cpython-312.pyc | Bin 0 -> 6260 bytes .../FliImagePlugin.cpython-312.pyc | Bin 0 -> 7186 bytes .../PIL/__pycache__/FontFile.cpython-312.pyc | Bin 0 -> 5581 bytes .../FpxImagePlugin.cpython-312.pyc | Bin 0 -> 7790 bytes .../FtexImagePlugin.cpython-312.pyc | Bin 0 -> 5363 bytes .../GbrImagePlugin.cpython-312.pyc | Bin 0 -> 3783 bytes .../__pycache__/GdImageFile.cpython-312.pyc | Bin 0 -> 3428 bytes .../GifImagePlugin.cpython-312.pyc | Bin 0 -> 45730 bytes .../GimpGradientFile.cpython-312.pyc | Bin 0 -> 5549 bytes .../GimpPaletteFile.cpython-312.pyc | Bin 0 -> 2757 bytes .../GribStubImagePlugin.cpython-312.pyc | Bin 0 -> 2686 bytes .../Hdf5StubImagePlugin.cpython-312.pyc | Bin 0 -> 2604 bytes .../IcnsImagePlugin.cpython-312.pyc | Bin 0 -> 16854 bytes .../IcoImagePlugin.cpython-312.pyc | Bin 0 -> 15353 bytes .../__pycache__/ImImagePlugin.cpython-312.pyc | Bin 0 -> 13153 bytes .../PIL/__pycache__/Image.cpython-312.pyc | Bin 0 -> 180769 bytes .../__pycache__/ImageChops.cpython-312.pyc | Bin 0 -> 11247 bytes .../PIL/__pycache__/ImageCms.cpython-312.pyc | Bin 0 -> 42627 bytes .../__pycache__/ImageColor.cpython-312.pyc | Bin 0 -> 12496 bytes .../PIL/__pycache__/ImageDraw.cpython-312.pyc | Bin 0 -> 38700 bytes .../__pycache__/ImageDraw2.cpython-312.pyc | Bin 0 -> 9804 bytes .../__pycache__/ImageEnhance.cpython-312.pyc | Bin 0 -> 5409 bytes .../PIL/__pycache__/ImageFile.cpython-312.pyc | Bin 0 -> 35951 bytes .../__pycache__/ImageFilter.cpython-312.pyc | Bin 0 -> 23178 bytes .../PIL/__pycache__/ImageFont.cpython-312.pyc | Bin 0 -> 68337 bytes .../PIL/__pycache__/ImageGrab.cpython-312.pyc | Bin 0 -> 8396 bytes .../PIL/__pycache__/ImageMath.cpython-312.pyc | Bin 0 -> 14466 bytes .../PIL/__pycache__/ImageMode.cpython-312.pyc | Bin 0 -> 2591 bytes .../__pycache__/ImageMorph.cpython-312.pyc | Bin 0 -> 13060 bytes .../PIL/__pycache__/ImageOps.cpython-312.pyc | Bin 0 -> 30403 bytes .../__pycache__/ImagePalette.cpython-312.pyc | Bin 0 -> 12386 bytes .../PIL/__pycache__/ImagePath.cpython-312.pyc | Bin 0 -> 357 bytes .../PIL/__pycache__/ImageQt.cpython-312.pyc | Bin 0 -> 8034 bytes .../__pycache__/ImageSequence.cpython-312.pyc | Bin 0 -> 3424 bytes .../PIL/__pycache__/ImageShow.cpython-312.pyc | Bin 0 -> 13885 bytes .../PIL/__pycache__/ImageStat.cpython-312.pyc | Bin 0 -> 7574 bytes .../PIL/__pycache__/ImageText.cpython-312.pyc | Bin 0 -> 20255 bytes .../PIL/__pycache__/ImageTk.cpython-312.pyc | Bin 0 -> 9385 bytes .../ImageTransform.cpython-312.pyc | Bin 0 -> 5390 bytes .../PIL/__pycache__/ImageWin.cpython-312.pyc | Bin 0 -> 11870 bytes .../ImtImagePlugin.cpython-312.pyc | Bin 0 -> 2556 bytes .../IptcImagePlugin.cpython-312.pyc | Bin 0 -> 8292 bytes .../Jpeg2KImagePlugin.cpython-312.pyc | Bin 0 -> 18557 bytes .../JpegImagePlugin.cpython-312.pyc | Bin 0 -> 33555 bytes .../__pycache__/JpegPresets.cpython-312.pyc | Bin 0 -> 8136 bytes .../McIdasImagePlugin.cpython-312.pyc | Bin 0 -> 2234 bytes .../MicImagePlugin.cpython-312.pyc | Bin 0 -> 3719 bytes .../MpegImagePlugin.cpython-312.pyc | Bin 0 -> 3636 bytes .../MpoImagePlugin.cpython-312.pyc | Bin 0 -> 8885 bytes .../MspImagePlugin.cpython-312.pyc | Bin 0 -> 6004 bytes .../PIL/__pycache__/PSDraw.cpython-312.pyc | Bin 0 -> 7957 bytes .../__pycache__/PaletteFile.cpython-312.pyc | Bin 0 -> 1939 bytes .../PalmImagePlugin.cpython-312.pyc | Bin 0 -> 9174 bytes .../PcdImagePlugin.cpython-312.pyc | Bin 0 -> 2480 bytes .../__pycache__/PcfFontFile.cpython-312.pyc | Bin 0 -> 10020 bytes .../PcxImagePlugin.cpython-312.pyc | Bin 0 -> 7586 bytes .../PdfImagePlugin.cpython-312.pyc | Bin 0 -> 9753 bytes .../PIL/__pycache__/PdfParser.cpython-312.pyc | Bin 0 -> 53092 bytes .../PixarImagePlugin.cpython-312.pyc | Bin 0 -> 1974 bytes .../PngImagePlugin.cpython-312.pyc | Bin 0 -> 63108 bytes .../PpmImagePlugin.cpython-312.pyc | Bin 0 -> 14204 bytes .../PsdImagePlugin.cpython-312.pyc | Bin 0 -> 11257 bytes .../QoiImagePlugin.cpython-312.pyc | Bin 0 -> 11372 bytes .../SgiImagePlugin.cpython-312.pyc | Bin 0 -> 8037 bytes .../SpiderImagePlugin.cpython-312.pyc | Bin 0 -> 12592 bytes .../SunImagePlugin.cpython-312.pyc | Bin 0 -> 3428 bytes .../PIL/__pycache__/TarIO.cpython-312.pyc | Bin 0 -> 2050 bytes .../TgaImagePlugin.cpython-312.pyc | Bin 0 -> 8921 bytes .../TiffImagePlugin.cpython-312.pyc | Bin 0 -> 102392 bytes .../PIL/__pycache__/TiffTags.cpython-312.pyc | Bin 0 -> 18922 bytes .../__pycache__/WalImageFile.cpython-312.pyc | Bin 0 -> 4190 bytes .../WebPImagePlugin.cpython-312.pyc | Bin 0 -> 12985 bytes .../WmfImagePlugin.cpython-312.pyc | Bin 0 -> 6322 bytes .../XVThumbImagePlugin.cpython-312.pyc | Bin 0 -> 2670 bytes .../XbmImagePlugin.cpython-312.pyc | Bin 0 -> 4117 bytes .../XpmImagePlugin.cpython-312.pyc | Bin 0 -> 6167 bytes .../PIL/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2057 bytes .../PIL/__pycache__/__main__.cpython-312.pyc | Bin 0 -> 401 bytes .../PIL/__pycache__/_binary.cpython-312.pyc | Bin 0 -> 3444 bytes .../__pycache__/_deprecate.cpython-312.pyc | Bin 0 -> 2584 bytes .../_tkinter_finder.cpython-312.pyc | Bin 0 -> 768 bytes .../PIL/__pycache__/_typing.cpython-312.pyc | Bin 0 -> 1632 bytes .../PIL/__pycache__/_util.cpython-312.pyc | Bin 0 -> 1588 bytes .../PIL/__pycache__/_version.cpython-312.pyc | Bin 0 -> 273 bytes .../PIL/__pycache__/features.cpython-312.pyc | Bin 0 -> 13522 bytes .../PIL/__pycache__/report.cpython-312.pyc | Bin 0 -> 335 bytes .../PIL/_avif.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 91985 bytes .../python3.12/site-packages/PIL/_avif.pyi | 3 + .../python3.12/site-packages/PIL/_binary.py | 113 + .../site-packages/PIL/_deprecate.py | 72 + .../_imaging.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 3365761 bytes .../python3.12/site-packages/PIL/_imaging.pyi | 31 + ...imagingcms.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 157841 bytes .../site-packages/PIL/_imagingcms.pyi | 143 + ..._imagingft.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 331169 bytes .../site-packages/PIL/_imagingft.pyi | 70 + ...magingmath.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 167696 bytes .../site-packages/PIL/_imagingmath.pyi | 3 + ...agingmorph.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 38448 bytes .../site-packages/PIL/_imagingmorph.pyi | 3 + ..._imagingtk.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 47000 bytes .../site-packages/PIL/_imagingtk.pyi | 3 + .../site-packages/PIL/_tkinter_finder.py | 20 + .../python3.12/site-packages/PIL/_typing.py | 45 + .../lib/python3.12/site-packages/PIL/_util.py | 29 + .../python3.12/site-packages/PIL/_version.py | 4 + .../PIL/_webp.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 108849 bytes .../python3.12/site-packages/PIL/_webp.pyi | 3 + .../python3.12/site-packages/PIL/features.py | 343 + .../lib/python3.12/site-packages/PIL/py.typed | 0 .../python3.12/site-packages/PIL/report.py | 5 + .../typing_extensions.cpython-312.pyc | Bin 0 -> 163766 bytes .../lxml-6.1.0.dist-info/INSTALLER | 1 + .../lxml-6.1.0.dist-info/METADATA | 104 + .../site-packages/lxml-6.1.0.dist-info/RECORD | 204 + .../site-packages/lxml-6.1.0.dist-info/WHEEL | 6 + .../lxml-6.1.0.dist-info/licenses/LICENSE.txt | 31 + .../licenses/LICENSES.txt | 29 + .../lxml-6.1.0.dist-info/top_level.txt | 1 + .../site-packages/lxml/ElementInclude.py | 244 + .../python3.12/site-packages/lxml/__init__.py | 22 + .../ElementInclude.cpython-312.pyc | Bin 0 -> 6092 bytes .../lxml/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1027 bytes .../__pycache__/_elementpath.cpython-312.pyc | Bin 0 -> 10510 bytes .../lxml/__pycache__/builder.cpython-312.pyc | Bin 0 -> 8103 bytes .../__pycache__/cssselect.cpython-312.pyc | Bin 0 -> 4583 bytes .../doctestcompare.cpython-312.pyc | Bin 0 -> 24311 bytes .../__pycache__/pyclasslookup.cpython-312.pyc | Bin 0 -> 264 bytes .../lxml/__pycache__/sax.cpython-312.pyc | Bin 0 -> 12941 bytes .../__pycache__/usedoctest.cpython-312.pyc | Bin 0 -> 497 bytes ...lementpath.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 209096 bytes .../site-packages/lxml/_elementpath.py | 343 + .../site-packages/lxml/apihelpers.pxi | 1819 ++++ .../builder.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 120880 bytes .../python3.12/site-packages/lxml/builder.py | 243 + .../site-packages/lxml/classlookup.pxi | 580 ++ .../python3.12/site-packages/lxml/cleanup.pxi | 215 + .../site-packages/lxml/cssselect.py | 101 + .../python3.12/site-packages/lxml/debug.pxi | 36 + .../site-packages/lxml/docloader.pxi | 179 + .../site-packages/lxml/doctestcompare.py | 488 + .../lib/python3.12/site-packages/lxml/dtd.pxi | 479 + .../etree.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 5272432 bytes .../lib/python3.12/site-packages/lxml/etree.h | 244 + .../python3.12/site-packages/lxml/etree.pyx | 3858 +++++++ .../python3.12/site-packages/lxml/etree_api.h | 214 + .../site-packages/lxml/extensions.pxi | 838 ++ .../site-packages/lxml/html/ElementSoup.py | 10 + .../site-packages/lxml/html/__init__.py | 1927 ++++ .../__pycache__/ElementSoup.cpython-312.pyc | Bin 0 -> 633 bytes .../html/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 80915 bytes .../__pycache__/_diffcommand.cpython-312.pyc | Bin 0 -> 3911 bytes .../html/__pycache__/_difflib.cpython-312.pyc | Bin 0 -> 77169 bytes .../__pycache__/_html5builder.cpython-312.pyc | Bin 0 -> 5834 bytes .../__pycache__/_setmixin.cpython-312.pyc | Bin 0 -> 2547 bytes .../html/__pycache__/builder.cpython-312.pyc | Bin 0 -> 7389 bytes .../html/__pycache__/clean.cpython-312.pyc | Bin 0 -> 637 bytes .../html/__pycache__/defs.cpython-312.pyc | Bin 0 -> 4211 bytes .../html/__pycache__/diff.cpython-312.pyc | Bin 0 -> 35118 bytes .../html/__pycache__/formfill.cpython-312.pyc | Bin 0 -> 12205 bytes .../__pycache__/html5parser.cpython-312.pyc | Bin 0 -> 9006 bytes .../__pycache__/soupparser.cpython-312.pyc | Bin 0 -> 11641 bytes .../__pycache__/usedoctest.cpython-312.pyc | Bin 0 -> 521 bytes .../site-packages/lxml/html/_diffcommand.py | 86 + .../_difflib.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 533400 bytes .../site-packages/lxml/html/_difflib.py | 2106 ++++ .../site-packages/lxml/html/_html5builder.py | 100 + .../site-packages/lxml/html/_setmixin.py | 56 + .../site-packages/lxml/html/builder.py | 173 + .../site-packages/lxml/html/clean.py | 21 + .../site-packages/lxml/html/defs.py | 151 + .../html/diff.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 361400 bytes .../site-packages/lxml/html/diff.py | 972 ++ .../site-packages/lxml/html/formfill.py | 299 + .../site-packages/lxml/html/html5parser.py | 260 + .../site-packages/lxml/html/soupparser.py | 314 + .../site-packages/lxml/html/usedoctest.py | 13 + .../site-packages/lxml/includes/__init__.pxd | 0 .../site-packages/lxml/includes/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 204 bytes .../site-packages/lxml/includes/c14n.pxd | 25 + .../site-packages/lxml/includes/config.pxd | 3 + .../site-packages/lxml/includes/dtdvalid.pxd | 18 + .../site-packages/lxml/includes/etree_defs.h | 390 + .../lxml/includes/etreepublic.pxd | 237 + .../lxml/includes/extlibs/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 212 bytes .../lxml/includes/extlibs/libcharset.h | 45 + .../lxml/includes/extlibs/localcharset.h | 137 + .../lxml/includes/extlibs/zconf.h | 551 + .../lxml/includes/extlibs/zlib.h | 2057 ++++ .../lxml/includes/htmlparser.pxd | 56 + .../lxml/includes/libexslt/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 213 bytes .../lxml/includes/libexslt/exslt.h | 108 + .../lxml/includes/libexslt/exsltconfig.h | 70 + .../lxml/includes/libexslt/exsltexports.h | 63 + .../lxml/includes/libxml/HTMLparser.h | 339 + .../lxml/includes/libxml/HTMLtree.h | 148 + .../site-packages/lxml/includes/libxml/SAX.h | 18 + .../site-packages/lxml/includes/libxml/SAX2.h | 170 + .../lxml/includes/libxml/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 211 bytes .../site-packages/lxml/includes/libxml/c14n.h | 115 + .../lxml/includes/libxml/catalog.h | 183 + .../lxml/includes/libxml/chvalid.h | 230 + .../lxml/includes/libxml/debugXML.h | 79 + .../site-packages/lxml/includes/libxml/dict.h | 82 + .../lxml/includes/libxml/encoding.h | 307 + .../lxml/includes/libxml/entities.h | 147 + .../lxml/includes/libxml/globals.h | 25 + .../site-packages/lxml/includes/libxml/hash.h | 251 + .../site-packages/lxml/includes/libxml/list.h | 137 + .../lxml/includes/libxml/nanoftp.h | 16 + .../lxml/includes/libxml/nanohttp.h | 98 + .../lxml/includes/libxml/parser.h | 1633 +++ .../lxml/includes/libxml/parserInternals.h | 591 ++ .../lxml/includes/libxml/relaxng.h | 224 + .../lxml/includes/libxml/schemasInternals.h | 959 ++ .../lxml/includes/libxml/schematron.h | 143 + .../lxml/includes/libxml/threads.h | 81 + .../site-packages/lxml/includes/libxml/tree.h | 1326 +++ .../site-packages/lxml/includes/libxml/uri.h | 106 + .../lxml/includes/libxml/valid.h | 482 + .../lxml/includes/libxml/xinclude.h | 141 + .../lxml/includes/libxml/xlink.h | 193 + .../lxml/includes/libxml/xmlIO.h | 419 + .../lxml/includes/libxml/xmlautomata.h | 163 + .../lxml/includes/libxml/xmlerror.h | 962 ++ .../lxml/includes/libxml/xmlexports.h | 96 + .../lxml/includes/libxml/xmlmemory.h | 188 + .../lxml/includes/libxml/xmlmodule.h | 61 + .../lxml/includes/libxml/xmlreader.h | 444 + .../lxml/includes/libxml/xmlregexp.h | 116 + .../lxml/includes/libxml/xmlsave.h | 111 + .../lxml/includes/libxml/xmlschemas.h | 254 + .../lxml/includes/libxml/xmlschemastypes.h | 152 + .../lxml/includes/libxml/xmlstring.h | 140 + .../lxml/includes/libxml/xmlunicode.h | 15 + .../lxml/includes/libxml/xmlversion.h | 332 + .../lxml/includes/libxml/xmlwriter.h | 489 + .../lxml/includes/libxml/xpath.h | 569 ++ .../lxml/includes/libxml/xpathInternals.h | 639 ++ .../lxml/includes/libxml/xpointer.h | 48 + .../lxml/includes/libxslt/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 212 bytes .../lxml/includes/libxslt/attributes.h | 39 + .../lxml/includes/libxslt/documents.h | 93 + .../lxml/includes/libxslt/extensions.h | 262 + .../lxml/includes/libxslt/extra.h | 72 + .../lxml/includes/libxslt/functions.h | 78 + .../lxml/includes/libxslt/imports.h | 75 + .../lxml/includes/libxslt/keys.h | 53 + .../lxml/includes/libxslt/namespaces.h | 68 + .../lxml/includes/libxslt/numbersInternals.h | 73 + .../lxml/includes/libxslt/pattern.h | 84 + .../lxml/includes/libxslt/preproc.h | 43 + .../lxml/includes/libxslt/security.h | 104 + .../lxml/includes/libxslt/templates.h | 77 + .../lxml/includes/libxslt/transform.h | 207 + .../lxml/includes/libxslt/variables.h | 118 + .../lxml/includes/libxslt/xslt.h | 110 + .../lxml/includes/libxslt/xsltInternals.h | 1995 ++++ .../lxml/includes/libxslt/xsltconfig.h | 146 + .../lxml/includes/libxslt/xsltexports.h | 64 + .../lxml/includes/libxslt/xsltlocale.h | 44 + .../lxml/includes/libxslt/xsltutils.h | 343 + .../lxml/includes/lxml-version.h | 3 + .../site-packages/lxml/includes/relaxng.pxd | 64 + .../lxml/includes/schematron.pxd | 34 + .../site-packages/lxml/includes/tree.pxd | 492 + .../site-packages/lxml/includes/uri.pxd | 5 + .../site-packages/lxml/includes/xinclude.pxd | 22 + .../site-packages/lxml/includes/xmlerror.pxd | 860 ++ .../site-packages/lxml/includes/xmlparser.pxd | 318 + .../site-packages/lxml/includes/xmlschema.pxd | 35 + .../site-packages/lxml/includes/xpath.pxd | 136 + .../site-packages/lxml/includes/xslt.pxd | 190 + .../lxml/isoschematron/__init__.py | 348 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 14232 bytes .../resources/rng/iso-schematron.rng | 709 ++ .../resources/xsl/RNG2Schtrn.xsl | 75 + .../resources/xsl/XSD2Schtrn.xsl | 77 + .../iso_abstract_expand.xsl | 313 + .../iso-schematron-xslt1/iso_dsdl_include.xsl | 1160 +++ .../iso_schematron_message.xsl | 55 + .../iso_schematron_skeleton_for_xslt1.xsl | 1796 ++++ .../iso_svrl_for_xslt1.xsl | 588 ++ .../xsl/iso-schematron-xslt1/readme.txt | 84 + .../site-packages/lxml/iterparse.pxi | 443 + .../site-packages/lxml/lxml.etree.h | 244 + .../site-packages/lxml/lxml.etree_api.h | 214 + .../site-packages/lxml/nsclasses.pxi | 281 + .../objectify.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 2916760 bytes .../site-packages/lxml/objectify.pyx | 2149 ++++ .../site-packages/lxml/objectpath.pxi | 332 + .../python3.12/site-packages/lxml/parser.pxi | 2084 ++++ .../site-packages/lxml/parsertarget.pxi | 180 + .../python3.12/site-packages/lxml/proxy.pxi | 624 ++ .../site-packages/lxml/public-api.pxi | 178 + .../site-packages/lxml/pyclasslookup.py | 3 + .../site-packages/lxml/readonlytree.pxi | 565 ++ .../python3.12/site-packages/lxml/relaxng.pxi | 165 + .../lxml/sax.cpython-312-x86_64-linux-gnu.so | Bin 0 -> 182096 bytes .../lib/python3.12/site-packages/lxml/sax.py | 285 + .../site-packages/lxml/saxparser.pxi | 875 ++ .../site-packages/lxml/schematron.pxi | 173 + .../site-packages/lxml/serializer.pxi | 1849 ++++ .../site-packages/lxml/usedoctest.py | 13 + .../site-packages/lxml/xinclude.pxi | 67 + .../site-packages/lxml/xmlerror.pxi | 1666 ++++ .../python3.12/site-packages/lxml/xmlid.pxi | 179 + .../site-packages/lxml/xmlschema.pxi | 215 + .../python3.12/site-packages/lxml/xpath.pxi | 487 + .../python3.12/site-packages/lxml/xslt.pxi | 959 ++ .../python3.12/site-packages/lxml/xsltext.pxi | 242 + .../pillow-12.2.0.dist-info/INSTALLER | 1 + .../pillow-12.2.0.dist-info/METADATA | 175 + .../pillow-12.2.0.dist-info/RECORD | 237 + .../pillow-12.2.0.dist-info/WHEEL | 6 + .../pillow-12.2.0.dist-info/licenses/LICENSE | 1523 +++ .../sboms/auditwheel.cdx.json | 1 + .../pillow-12.2.0.dist-info/top_level.txt | 1 + .../pillow-12.2.0.dist-info/zip-safe | 1 + .../pillow.libs/libXau-154567c4.so.6.0.0 | Bin 0 -> 22081 bytes .../pillow.libs/libavif-a883386a.so.16.4.1 | Bin 0 -> 5183009 bytes .../libbrotlicommon-785b7a00.so.1.2.0 | Bin 0 -> 144425 bytes .../libbrotlidec-08d35d18.so.1.2.0 | Bin 0 -> 62337 bytes .../libfreetype-d2d71ad9.so.6.20.6 | Bin 0 -> 1459513 bytes .../libharfbuzz-ef65cc8a.so.0.61321.0 | Bin 0 -> 933009 bytes .../pillow.libs/libjpeg-8296d2fa.so.62.4.0 | Bin 0 -> 836273 bytes .../pillow.libs/liblcms2-545f6561.so.2.0.18 | Bin 0 -> 519073 bytes .../pillow.libs/liblzma-3c942967.so.5.8.3 | Bin 0 -> 266369 bytes .../pillow.libs/libopenjp2-f3576751.so.2.5.4 | Bin 0 -> 585849 bytes .../pillow.libs/libpng16-65c953c0.so.16.56.0 | Bin 0 -> 278001 bytes .../pillow.libs/libsharpyuv-0bacc318.so.0.1.2 | Bin 0 -> 46113 bytes .../pillow.libs/libtiff-f4bc73ff.so.6.2.0 | Bin 0 -> 754729 bytes .../pillow.libs/libwebp-67ee3789.so.7.2.0 | Bin 0 -> 731209 bytes .../libwebpdemux-eeb71312.so.2.0.17 | Bin 0 -> 30217 bytes .../pillow.libs/libwebpmux-20a90b09.so.3.1.2 | Bin 0 -> 58617 bytes .../pillow.libs/libxcb-bac6ebc8.so.1.1.0 | Bin 0 -> 251425 bytes .../pillow.libs/libzstd-6ea785c0.so.1.5.7 | Bin 0 -> 1800497 bytes .../pip-26.1.dist-info/INSTALLER | 1 + .../site-packages/pip-26.1.dist-info/METADATA | 109 + .../site-packages/pip-26.1.dist-info/RECORD | 865 ++ .../pip-26.1.dist-info/REQUESTED | 0 .../site-packages/pip-26.1.dist-info/WHEEL | 4 + .../pip-26.1.dist-info/entry_points.txt | 4 + .../pip-26.1.dist-info/licenses/AUTHORS.txt | 867 ++ .../pip-26.1.dist-info/licenses/LICENSE.txt | 20 + .../src/pip/_vendor/cachecontrol/LICENSE.txt | 13 + .../licenses/src/pip/_vendor/certifi/LICENSE | 20 + .../src/pip/_vendor/distlib/LICENSE.txt | 284 + .../licenses/src/pip/_vendor/distro/LICENSE | 202 + .../licenses/src/pip/_vendor/idna/LICENSE.md | 31 + .../licenses/src/pip/_vendor/msgpack/COPYING | 14 + .../src/pip/_vendor/packaging/LICENSE | 3 + .../src/pip/_vendor/packaging/LICENSE.APACHE | 177 + .../src/pip/_vendor/packaging/LICENSE.BSD | 23 + .../src/pip/_vendor/pkg_resources/LICENSE | 17 + .../src/pip/_vendor/platformdirs/LICENSE | 21 + .../licenses/src/pip/_vendor/pygments/LICENSE | 25 + .../src/pip/_vendor/pyproject_hooks/LICENSE | 21 + .../licenses/src/pip/_vendor/requests/LICENSE | 175 + .../src/pip/_vendor/resolvelib/LICENSE | 13 + .../licenses/src/pip/_vendor/rich/LICENSE | 19 + .../licenses/src/pip/_vendor/tomli/LICENSE | 21 + .../licenses/src/pip/_vendor/tomli_w/LICENSE | 21 + .../src/pip/_vendor/truststore/LICENSE | 21 + .../src/pip/_vendor/urllib3/LICENSE.txt | 21 + .../python3.12/site-packages/pip/__init__.py | 13 + .../python3.12/site-packages/pip/__main__.py | 24 + .../site-packages/pip/__pip-runner__.py | 50 + .../pip/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 667 bytes .../pip/__pycache__/__main__.cpython-312.pyc | Bin 0 -> 894 bytes .../__pip-runner__.cpython-312.pyc | Bin 0 -> 2222 bytes .../site-packages/pip/_internal/__init__.py | 18 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 769 bytes .../__pycache__/build_env.cpython-312.pyc | Bin 0 -> 25894 bytes .../__pycache__/cache.cpython-312.pyc | Bin 0 -> 12384 bytes .../__pycache__/configuration.cpython-312.pyc | Bin 0 -> 18295 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 43551 bytes .../__pycache__/main.cpython-312.pyc | Bin 0 -> 652 bytes .../__pycache__/pyproject.cpython-312.pyc | Bin 0 -> 4115 bytes .../self_outdated_check.cpython-312.pyc | Bin 0 -> 9733 bytes .../__pycache__/wheel_builder.cpython-312.pyc | Bin 0 -> 10732 bytes .../site-packages/pip/_internal/build_env.py | 606 ++ .../site-packages/pip/_internal/cache.py | 291 + .../pip/_internal/cli/__init__.py | 3 + .../cli/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 293 bytes .../autocompletion.cpython-312.pyc | Bin 0 -> 9143 bytes .../__pycache__/base_command.cpython-312.pyc | Bin 0 -> 11570 bytes .../__pycache__/cmdoptions.cpython-312.pyc | Bin 0 -> 36886 bytes .../command_context.cpython-312.pyc | Bin 0 -> 1838 bytes .../__pycache__/index_command.cpython-312.pyc | Bin 0 -> 8777 bytes .../cli/__pycache__/main.cpython-312.pyc | Bin 0 -> 2255 bytes .../__pycache__/main_parser.cpython-312.pyc | Bin 0 -> 4962 bytes .../cli/__pycache__/parser.cpython-312.pyc | Bin 0 -> 18157 bytes .../__pycache__/progress_bars.cpython-312.pyc | Bin 0 -> 6153 bytes .../__pycache__/req_command.cpython-312.pyc | Bin 0 -> 16786 bytes .../cli/__pycache__/spinners.cpython-312.pyc | Bin 0 -> 11280 bytes .../__pycache__/status_codes.cpython-312.pyc | Bin 0 -> 393 bytes .../pip/_internal/cli/autocompletion.py | 184 + .../pip/_internal/cli/base_command.py | 264 + .../pip/_internal/cli/cmdoptions.py | 1298 +++ .../pip/_internal/cli/command_context.py | 28 + .../pip/_internal/cli/index_command.py | 212 + .../site-packages/pip/_internal/cli/main.py | 85 + .../pip/_internal/cli/main_parser.py | 136 + .../site-packages/pip/_internal/cli/parser.py | 358 + .../pip/_internal/cli/progress_bars.py | 153 + .../pip/_internal/cli/req_command.py | 472 + .../pip/_internal/cli/spinners.py | 235 + .../pip/_internal/cli/status_codes.py | 6 + .../pip/_internal/commands/__init__.py | 139 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 4135 bytes .../__pycache__/cache.cpython-312.pyc | Bin 0 -> 11337 bytes .../__pycache__/check.cpython-312.pyc | Bin 0 -> 2598 bytes .../__pycache__/completion.cpython-312.pyc | Bin 0 -> 5476 bytes .../__pycache__/configuration.cpython-312.pyc | Bin 0 -> 13422 bytes .../__pycache__/debug.cpython-312.pyc | Bin 0 -> 9821 bytes .../__pycache__/download.cpython-312.pyc | Bin 0 -> 7246 bytes .../__pycache__/freeze.cpython-312.pyc | Bin 0 -> 4308 bytes .../commands/__pycache__/hash.cpython-312.pyc | Bin 0 -> 2966 bytes .../commands/__pycache__/help.cpython-312.pyc | Bin 0 -> 1656 bytes .../__pycache__/index.cpython-312.pyc | Bin 0 -> 7476 bytes .../__pycache__/inspect.cpython-312.pyc | Bin 0 -> 3970 bytes .../__pycache__/install.cpython-312.pyc | Bin 0 -> 33617 bytes .../commands/__pycache__/list.cpython-312.pyc | Bin 0 -> 17504 bytes .../commands/__pycache__/lock.cpython-312.pyc | Bin 0 -> 8011 bytes .../__pycache__/search.cpython-312.pyc | Bin 0 -> 7651 bytes .../commands/__pycache__/show.cpython-312.pyc | Bin 0 -> 11221 bytes .../__pycache__/uninstall.cpython-312.pyc | Bin 0 -> 4716 bytes .../__pycache__/wheel.cpython-312.pyc | Bin 0 -> 8246 bytes .../pip/_internal/commands/cache.py | 255 + .../pip/_internal/commands/check.py | 66 + .../pip/_internal/commands/completion.py | 136 + .../pip/_internal/commands/configuration.py | 288 + .../pip/_internal/commands/debug.py | 196 + .../pip/_internal/commands/download.py | 146 + .../pip/_internal/commands/freeze.py | 107 + .../pip/_internal/commands/hash.py | 58 + .../pip/_internal/commands/help.py | 40 + .../pip/_internal/commands/index.py | 166 + .../pip/_internal/commands/inspect.py | 92 + .../pip/_internal/commands/install.py | 904 ++ .../pip/_internal/commands/list.py | 403 + .../pip/_internal/commands/lock.py | 175 + .../pip/_internal/commands/search.py | 178 + .../pip/_internal/commands/show.py | 231 + .../pip/_internal/commands/uninstall.py | 113 + .../pip/_internal/commands/wheel.py | 171 + .../pip/_internal/configuration.py | 396 + .../pip/_internal/distributions/__init__.py | 21 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 959 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 2937 bytes .../__pycache__/installed.cpython-312.pyc | Bin 0 -> 1787 bytes .../__pycache__/sdist.cpython-312.pyc | Bin 0 -> 8395 bytes .../__pycache__/wheel.cpython-312.pyc | Bin 0 -> 2336 bytes .../pip/_internal/distributions/base.py | 55 + .../pip/_internal/distributions/installed.py | 33 + .../pip/_internal/distributions/sdist.py | 164 + .../pip/_internal/distributions/wheel.py | 44 + .../site-packages/pip/_internal/exceptions.py | 971 ++ .../pip/_internal/index/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 247 bytes .../__pycache__/collector.cpython-312.pyc | Bin 0 -> 21114 bytes .../package_finder.cpython-312.pyc | Bin 0 -> 43893 bytes .../index/__pycache__/sources.cpython-312.pyc | Bin 0 -> 12341 bytes .../pip/_internal/index/collector.py | 488 + .../pip/_internal/index/package_finder.py | 1113 +++ .../pip/_internal/index/sources.py | 287 + .../pip/_internal/locations/__init__.py | 438 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 15168 bytes .../__pycache__/_distutils.cpython-312.pyc | Bin 0 -> 6792 bytes .../__pycache__/_sysconfig.cpython-312.pyc | Bin 0 -> 8057 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 3726 bytes .../pip/_internal/locations/_distutils.py | 173 + .../pip/_internal/locations/_sysconfig.py | 218 + .../pip/_internal/locations/base.py | 82 + .../site-packages/pip/_internal/main.py | 12 + .../pip/_internal/metadata/__init__.py | 169 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 6792 bytes .../__pycache__/_json.cpython-312.pyc | Bin 0 -> 2895 bytes .../metadata/__pycache__/base.cpython-312.pyc | Bin 0 -> 34479 bytes .../__pycache__/pkg_resources.cpython-312.pyc | Bin 0 -> 15823 bytes .../pip/_internal/metadata/_json.py | 87 + .../pip/_internal/metadata/base.py | 685 ++ .../_internal/metadata/importlib/__init__.py | 6 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 376 bytes .../__pycache__/_compat.cpython-312.pyc | Bin 0 -> 4255 bytes .../__pycache__/_dists.cpython-312.pyc | Bin 0 -> 12942 bytes .../__pycache__/_envs.cpython-312.pyc | Bin 0 -> 8060 bytes .../_internal/metadata/importlib/_compat.py | 87 + .../_internal/metadata/importlib/_dists.py | 235 + .../pip/_internal/metadata/importlib/_envs.py | 143 + .../pip/_internal/metadata/pkg_resources.py | 298 + .../pip/_internal/models/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 281 bytes .../__pycache__/candidate.cpython-312.pyc | Bin 0 -> 1604 bytes .../__pycache__/direct_url.cpython-312.pyc | Bin 0 -> 1983 bytes .../format_control.cpython-312.pyc | Bin 0 -> 4146 bytes .../models/__pycache__/index.cpython-312.pyc | Bin 0 -> 1712 bytes .../installation_report.cpython-312.pyc | Bin 0 -> 2314 bytes .../models/__pycache__/link.cpython-312.pyc | Bin 0 -> 26831 bytes .../release_control.cpython-312.pyc | Bin 0 -> 4233 bytes .../models/__pycache__/scheme.cpython-312.pyc | Bin 0 -> 1027 bytes .../__pycache__/search_scope.cpython-312.pyc | Bin 0 -> 4961 bytes .../selection_prefs.cpython-312.pyc | Bin 0 -> 1806 bytes .../__pycache__/target_python.cpython-312.pyc | Bin 0 -> 4873 bytes .../models/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 4686 bytes .../pip/_internal/models/candidate.py | 23 + .../pip/_internal/models/direct_url.py | 42 + .../pip/_internal/models/format_control.py | 78 + .../pip/_internal/models/index.py | 28 + .../_internal/models/installation_report.py | 57 + .../pip/_internal/models/link.py | 617 ++ .../pip/_internal/models/release_control.py | 91 + .../pip/_internal/models/scheme.py | 23 + .../pip/_internal/models/search_scope.py | 124 + .../pip/_internal/models/selection_prefs.py | 36 + .../pip/_internal/models/target_python.py | 122 + .../pip/_internal/models/wheel.py | 80 + .../pip/_internal/network/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 269 bytes .../network/__pycache__/auth.cpython-312.pyc | Bin 0 -> 21600 bytes .../network/__pycache__/cache.cpython-312.pyc | Bin 0 -> 8020 bytes .../__pycache__/download.cpython-312.pyc | Bin 0 -> 16067 bytes .../__pycache__/lazy_wheel.cpython-312.pyc | Bin 0 -> 11632 bytes .../__pycache__/session.cpython-312.pyc | Bin 0 -> 19444 bytes .../network/__pycache__/utils.cpython-312.pyc | Bin 0 -> 2275 bytes .../__pycache__/xmlrpc.cpython-312.pyc | Bin 0 -> 2948 bytes .../pip/_internal/network/auth.py | 570 ++ .../pip/_internal/network/cache.py | 128 + .../pip/_internal/network/download.py | 340 + .../pip/_internal/network/lazy_wheel.py | 215 + .../pip/_internal/network/session.py | 532 + .../pip/_internal/network/utils.py | 98 + .../pip/_internal/network/xmlrpc.py | 61 + .../pip/_internal/operations/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 215 bytes .../__pycache__/check.cpython-312.pyc | Bin 0 -> 7224 bytes .../__pycache__/freeze.cpython-312.pyc | Bin 0 -> 10266 bytes .../__pycache__/prepare.cpython-312.pyc | Bin 0 -> 26734 bytes .../_internal/operations/build/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 221 bytes .../__pycache__/build_tracker.cpython-312.pyc | Bin 0 -> 7648 bytes .../__pycache__/metadata.cpython-312.pyc | Bin 0 -> 1893 bytes .../metadata_editable.cpython-312.pyc | Bin 0 -> 1947 bytes .../build/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 1743 bytes .../wheel_editable.cpython-312.pyc | Bin 0 -> 2084 bytes .../operations/build/build_tracker.py | 140 + .../_internal/operations/build/metadata.py | 38 + .../operations/build/metadata_editable.py | 41 + .../pip/_internal/operations/build/wheel.py | 38 + .../operations/build/wheel_editable.py | 47 + .../pip/_internal/operations/check.py | 175 + .../pip/_internal/operations/freeze.py | 259 + .../_internal/operations/install/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 281 bytes .../install/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 34200 bytes .../pip/_internal/operations/install/wheel.py | 745 ++ .../pip/_internal/operations/prepare.py | 751 ++ .../site-packages/pip/_internal/pyproject.py | 123 + .../pip/_internal/req/__init__.py | 103 + .../req/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 4037 bytes .../__pycache__/constructors.cpython-312.pyc | Bin 0 -> 25441 bytes .../req/__pycache__/pep723.cpython-312.pyc | Bin 0 -> 2713 bytes .../req_dependency_group.cpython-312.pyc | Bin 0 -> 4654 bytes .../req/__pycache__/req_file.cpython-312.pyc | Bin 0 -> 24423 bytes .../__pycache__/req_install.cpython-312.pyc | Bin 0 -> 34851 bytes .../req/__pycache__/req_set.cpython-312.pyc | Bin 0 -> 5442 bytes .../__pycache__/req_uninstall.cpython-312.pyc | Bin 0 -> 31873 bytes .../pip/_internal/req/constructors.py | 677 ++ .../site-packages/pip/_internal/req/pep723.py | 41 + .../pip/_internal/req/req_dependency_group.py | 86 + .../pip/_internal/req/req_file.py | 622 ++ .../pip/_internal/req/req_install.py | 838 ++ .../pip/_internal/req/req_set.py | 81 + .../pip/_internal/req/req_uninstall.py | 644 ++ .../pip/_internal/resolution/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 215 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 1186 bytes .../pip/_internal/resolution/base.py | 20 + .../_internal/resolution/legacy/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 222 bytes .../__pycache__/resolver.cpython-312.pyc | Bin 0 -> 22571 bytes .../_internal/resolution/legacy/resolver.py | 598 ++ .../resolution/resolvelib/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 226 bytes .../__pycache__/base.cpython-312.pyc | Bin 0 -> 9731 bytes .../__pycache__/candidates.cpython-312.pyc | Bin 0 -> 29793 bytes .../__pycache__/factory.cpython-312.pyc | Bin 0 -> 37092 bytes .../found_candidates.cpython-312.pyc | Bin 0 -> 6763 bytes .../__pycache__/provider.cpython-312.pyc | Bin 0 -> 12628 bytes .../__pycache__/reporter.cpython-312.pyc | Bin 0 -> 5834 bytes .../__pycache__/requirements.cpython-312.pyc | Bin 0 -> 14778 bytes .../__pycache__/resolver.cpython-312.pyc | Bin 0 -> 12409 bytes .../_internal/resolution/resolvelib/base.py | 164 + .../resolution/resolvelib/candidates.py | 599 ++ .../resolution/resolvelib/factory.py | 914 ++ .../resolution/resolvelib/found_candidates.py | 166 + .../resolution/resolvelib/provider.py | 306 + .../resolution/resolvelib/reporter.py | 98 + .../resolution/resolvelib/requirements.py | 251 + .../resolution/resolvelib/resolver.py | 332 + .../pip/_internal/self_outdated_check.py | 246 + .../pip/_internal/utils/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 210 bytes .../__pycache__/_jaraco_text.cpython-312.pyc | Bin 0 -> 4550 bytes .../utils/__pycache__/_log.cpython-312.pyc | Bin 0 -> 1881 bytes .../utils/__pycache__/appdirs.cpython-312.pyc | Bin 0 -> 2470 bytes .../utils/__pycache__/compat.cpython-312.pyc | Bin 0 -> 3037 bytes .../compatibility_tags.cpython-312.pyc | Bin 0 -> 6656 bytes .../__pycache__/datetime.cpython-312.pyc | Bin 0 -> 1558 bytes .../__pycache__/deprecation.cpython-312.pyc | Bin 0 -> 4873 bytes .../direct_url_helpers.cpython-312.pyc | Bin 0 -> 3722 bytes .../__pycache__/egg_link.cpython-312.pyc | Bin 0 -> 3179 bytes .../__pycache__/entrypoints.cpython-312.pyc | Bin 0 -> 4070 bytes .../__pycache__/filesystem.cpython-312.pyc | Bin 0 -> 10134 bytes .../__pycache__/filetypes.cpython-312.pyc | Bin 0 -> 1144 bytes .../utils/__pycache__/glibc.cpython-312.pyc | Bin 0 -> 2365 bytes .../utils/__pycache__/hashes.cpython-312.pyc | Bin 0 -> 7517 bytes .../utils/__pycache__/logging.cpython-312.pyc | Bin 0 -> 15135 bytes .../utils/__pycache__/misc.cpython-312.pyc | Bin 0 -> 32644 bytes .../__pycache__/packaging.cpython-312.pyc | Bin 0 -> 1900 bytes .../utils/__pycache__/pylock.cpython-312.pyc | Bin 0 -> 11148 bytes .../utils/__pycache__/retry.cpython-312.pyc | Bin 0 -> 1987 bytes .../__pycache__/subprocess.cpython-312.pyc | Bin 0 -> 8547 bytes .../__pycache__/temp_dir.cpython-312.pyc | Bin 0 -> 11962 bytes .../__pycache__/unpacking.cpython-312.pyc | Bin 0 -> 15177 bytes .../utils/__pycache__/urls.cpython-312.pyc | Bin 0 -> 2096 bytes .../__pycache__/virtualenv.cpython-312.pyc | Bin 0 -> 4409 bytes .../utils/__pycache__/wheel.cpython-312.pyc | Bin 0 -> 5877 bytes .../pip/_internal/utils/_jaraco_text.py | 109 + .../site-packages/pip/_internal/utils/_log.py | 38 + .../pip/_internal/utils/appdirs.py | 52 + .../pip/_internal/utils/compat.py | 85 + .../pip/_internal/utils/compatibility_tags.py | 201 + .../pip/_internal/utils/datetime.py | 28 + .../pip/_internal/utils/deprecation.py | 139 + .../pip/_internal/utils/direct_url_helpers.py | 92 + .../pip/_internal/utils/egg_link.py | 81 + .../pip/_internal/utils/entrypoints.py | 88 + .../pip/_internal/utils/filesystem.py | 201 + .../pip/_internal/utils/filetypes.py | 24 + .../pip/_internal/utils/glibc.py | 102 + .../pip/_internal/utils/hashes.py | 150 + .../pip/_internal/utils/logging.py | 396 + .../site-packages/pip/_internal/utils/misc.py | 771 ++ .../pip/_internal/utils/packaging.py | 44 + .../pip/_internal/utils/pylock.py | 283 + .../pip/_internal/utils/retry.py | 45 + .../pip/_internal/utils/subprocess.py | 248 + .../pip/_internal/utils/temp_dir.py | 294 + .../pip/_internal/utils/unpacking.py | 381 + .../site-packages/pip/_internal/utils/urls.py | 55 + .../pip/_internal/utils/virtualenv.py | 105 + .../pip/_internal/utils/wheel.py | 132 + .../pip/_internal/vcs/__init__.py | 15 + .../vcs/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 549 bytes .../vcs/__pycache__/bazaar.cpython-312.pyc | Bin 0 -> 5177 bytes .../vcs/__pycache__/git.cpython-312.pyc | Bin 0 -> 19936 bytes .../vcs/__pycache__/mercurial.cpython-312.pyc | Bin 0 -> 7782 bytes .../__pycache__/subversion.cpython-312.pyc | Bin 0 -> 12356 bytes .../versioncontrol.cpython-312.pyc | Bin 0 -> 28964 bytes .../site-packages/pip/_internal/vcs/bazaar.py | 130 + .../site-packages/pip/_internal/vcs/git.py | 571 ++ .../pip/_internal/vcs/mercurial.py | 186 + .../pip/_internal/vcs/subversion.py | 335 + .../pip/_internal/vcs/versioncontrol.py | 695 ++ .../pip/_internal/wheel_builder.py | 261 + .../site-packages/pip/_vendor/README.rst | 178 + .../site-packages/pip/_vendor/__init__.py | 117 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 4612 bytes .../pip/_vendor/cachecontrol/LICENSE.txt | 13 + .../pip/_vendor/cachecontrol/__init__.py | 32 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 941 bytes .../__pycache__/_cmd.cpython-312.pyc | Bin 0 -> 2665 bytes .../__pycache__/adapter.cpython-312.pyc | Bin 0 -> 6712 bytes .../__pycache__/cache.cpython-312.pyc | Bin 0 -> 3828 bytes .../__pycache__/controller.cpython-312.pyc | Bin 0 -> 16472 bytes .../__pycache__/filewrapper.cpython-312.pyc | Bin 0 -> 4414 bytes .../__pycache__/heuristics.cpython-312.pyc | Bin 0 -> 6716 bytes .../__pycache__/serialize.cpython-312.pyc | Bin 0 -> 5284 bytes .../__pycache__/wrapper.cpython-312.pyc | Bin 0 -> 1693 bytes .../pip/_vendor/cachecontrol/_cmd.py | 70 + .../pip/_vendor/cachecontrol/adapter.py | 167 + .../pip/_vendor/cachecontrol/cache.py | 75 + .../_vendor/cachecontrol/caches/__init__.py | 8 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 454 bytes .../__pycache__/file_cache.cpython-312.pyc | Bin 0 -> 7071 bytes .../__pycache__/redis_cache.cpython-312.pyc | Bin 0 -> 2757 bytes .../_vendor/cachecontrol/caches/file_cache.py | 145 + .../cachecontrol/caches/redis_cache.py | 48 + .../pip/_vendor/cachecontrol/controller.py | 511 + .../pip/_vendor/cachecontrol/filewrapper.py | 121 + .../pip/_vendor/cachecontrol/heuristics.py | 157 + .../pip/_vendor/cachecontrol/py.typed | 0 .../pip/_vendor/cachecontrol/serialize.py | 146 + .../pip/_vendor/cachecontrol/wrapper.py | 43 + .../site-packages/pip/_vendor/certifi/LICENSE | 20 + .../pip/_vendor/certifi/__init__.py | 4 + .../pip/_vendor/certifi/__main__.py | 12 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 337 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 664 bytes .../certifi/__pycache__/core.cpython-312.pyc | Bin 0 -> 2101 bytes .../pip/_vendor/certifi/cacert.pem | 4494 +++++++++ .../site-packages/pip/_vendor/certifi/core.py | 83 + .../pip/_vendor/certifi/py.typed | 0 .../pip/_vendor/distlib/LICENSE.txt | 284 + .../pip/_vendor/distlib/__init__.py | 33 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1288 bytes .../__pycache__/compat.cpython-312.pyc | Bin 0 -> 45619 bytes .../__pycache__/resources.cpython-312.pyc | Bin 0 -> 17344 bytes .../__pycache__/scripts.cpython-312.pyc | Bin 0 -> 19799 bytes .../distlib/__pycache__/util.cpython-312.pyc | Bin 0 -> 88293 bytes .../pip/_vendor/distlib/compat.py | 1137 +++ .../pip/_vendor/distlib/resources.py | 358 + .../pip/_vendor/distlib/scripts.py | 447 + .../site-packages/pip/_vendor/distlib/t32.exe | Bin 0 -> 97792 bytes .../pip/_vendor/distlib/t64-arm.exe | Bin 0 -> 182784 bytes .../site-packages/pip/_vendor/distlib/t64.exe | Bin 0 -> 108032 bytes .../site-packages/pip/_vendor/distlib/util.py | 1984 ++++ .../site-packages/pip/_vendor/distlib/w32.exe | Bin 0 -> 91648 bytes .../pip/_vendor/distlib/w64-arm.exe | Bin 0 -> 168448 bytes .../site-packages/pip/_vendor/distlib/w64.exe | Bin 0 -> 101888 bytes .../site-packages/pip/_vendor/distro/LICENSE | 202 + .../pip/_vendor/distro/__init__.py | 54 + .../pip/_vendor/distro/__main__.py | 4 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 979 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 311 bytes .../distro/__pycache__/distro.cpython-312.pyc | Bin 0 -> 53864 bytes .../pip/_vendor/distro/distro.py | 1403 +++ .../site-packages/pip/_vendor/distro/py.typed | 0 .../site-packages/pip/_vendor/idna/LICENSE.md | 31 + .../pip/_vendor/idna/__init__.py | 45 + .../idna/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 905 bytes .../idna/__pycache__/codec.cpython-312.pyc | Bin 0 -> 5005 bytes .../idna/__pycache__/compat.cpython-312.pyc | Bin 0 -> 909 bytes .../idna/__pycache__/core.cpython-312.pyc | Bin 0 -> 16217 bytes .../idna/__pycache__/idnadata.cpython-312.pyc | Bin 0 -> 100934 bytes .../__pycache__/intranges.cpython-312.pyc | Bin 0 -> 2657 bytes .../__pycache__/package_data.cpython-312.pyc | Bin 0 -> 236 bytes .../__pycache__/uts46data.cpython-312.pyc | Bin 0 -> 161864 bytes .../site-packages/pip/_vendor/idna/codec.py | 122 + .../site-packages/pip/_vendor/idna/compat.py | 15 + .../site-packages/pip/_vendor/idna/core.py | 437 + .../pip/_vendor/idna/idnadata.py | 4309 ++++++++ .../pip/_vendor/idna/intranges.py | 57 + .../pip/_vendor/idna/package_data.py | 1 + .../site-packages/pip/_vendor/idna/py.typed | 0 .../pip/_vendor/idna/uts46data.py | 8841 +++++++++++++++++ .../site-packages/pip/_vendor/msgpack/COPYING | 14 + .../pip/_vendor/msgpack/__init__.py | 55 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1758 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 2044 bytes .../msgpack/__pycache__/ext.cpython-312.pyc | Bin 0 -> 8312 bytes .../__pycache__/fallback.cpython-312.pyc | Bin 0 -> 41538 bytes .../pip/_vendor/msgpack/exceptions.py | 48 + .../site-packages/pip/_vendor/msgpack/ext.py | 170 + .../pip/_vendor/msgpack/fallback.py | 929 ++ .../pip/_vendor/packaging/LICENSE | 3 + .../pip/_vendor/packaging/LICENSE.APACHE | 177 + .../pip/_vendor/packaging/LICENSE.BSD | 23 + .../pip/_vendor/packaging/__init__.py | 15 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 577 bytes .../__pycache__/_elffile.cpython-312.pyc | Bin 0 -> 4964 bytes .../__pycache__/_manylinux.cpython-312.pyc | Bin 0 -> 9921 bytes .../__pycache__/_musllinux.cpython-312.pyc | Bin 0 -> 4600 bytes .../__pycache__/_parser.cpython-312.pyc | Bin 0 -> 15609 bytes .../__pycache__/_structures.cpython-312.pyc | Bin 0 -> 1618 bytes .../__pycache__/_tokenizer.cpython-312.pyc | Bin 0 -> 8469 bytes .../dependency_groups.cpython-312.pyc | Bin 0 -> 11068 bytes .../__pycache__/direct_url.cpython-312.pyc | Bin 0 -> 14541 bytes .../__pycache__/errors.cpython-312.pyc | Bin 0 -> 4443 bytes .../__pycache__/markers.cpython-312.pyc | Bin 0 -> 17473 bytes .../__pycache__/metadata.cpython-312.pyc | Bin 0 -> 31371 bytes .../__pycache__/pylock.cpython-312.pyc | Bin 0 -> 37457 bytes .../__pycache__/requirements.cpython-312.pyc | Bin 0 -> 6121 bytes .../__pycache__/specifiers.cpython-312.pyc | Bin 0 -> 75820 bytes .../__pycache__/tags.cpython-312.pyc | Bin 0 -> 37538 bytes .../__pycache__/utils.cpython-312.pyc | Bin 0 -> 11073 bytes .../__pycache__/version.cpython-312.pyc | Bin 0 -> 41816 bytes .../pip/_vendor/packaging/_elffile.py | 108 + .../pip/_vendor/packaging/_manylinux.py | 262 + .../pip/_vendor/packaging/_musllinux.py | 85 + .../pip/_vendor/packaging/_parser.py | 393 + .../pip/_vendor/packaging/_structures.py | 33 + .../pip/_vendor/packaging/_tokenizer.py | 193 + .../_vendor/packaging/dependency_groups.py | 302 + .../pip/_vendor/packaging/direct_url.py | 325 + .../pip/_vendor/packaging/errors.py | 94 + .../_vendor/packaging/licenses/__init__.py | 186 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 5473 bytes .../__pycache__/_spdx.cpython-312.pyc | Bin 0 -> 49879 bytes .../pip/_vendor/packaging/licenses/_spdx.py | 799 ++ .../pip/_vendor/packaging/markers.py | 492 + .../pip/_vendor/packaging/metadata.py | 964 ++ .../pip/_vendor/packaging/py.typed | 0 .../pip/_vendor/packaging/pylock.py | 905 ++ .../pip/_vendor/packaging/requirements.py | 129 + .../pip/_vendor/packaging/specifiers.py | 1943 ++++ .../pip/_vendor/packaging/tags.py | 932 ++ .../pip/_vendor/packaging/utils.py | 296 + .../pip/_vendor/packaging/version.py | 1231 +++ .../pip/_vendor/pkg_resources/LICENSE | 17 + .../pip/_vendor/pkg_resources/__init__.py | 3676 +++++++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 161532 bytes .../pip/_vendor/platformdirs/LICENSE | 21 + .../pip/_vendor/platformdirs/__init__.py | 631 ++ .../pip/_vendor/platformdirs/__main__.py | 55 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 19866 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 1987 bytes .../__pycache__/android.cpython-312.pyc | Bin 0 -> 10714 bytes .../__pycache__/api.cpython-312.pyc | Bin 0 -> 13379 bytes .../__pycache__/macos.cpython-312.pyc | Bin 0 -> 9022 bytes .../__pycache__/unix.cpython-312.pyc | Bin 0 -> 14765 bytes .../__pycache__/version.cpython-312.pyc | Bin 0 -> 822 bytes .../__pycache__/windows.cpython-312.pyc | Bin 0 -> 13817 bytes .../pip/_vendor/platformdirs/android.py | 249 + .../pip/_vendor/platformdirs/api.py | 299 + .../pip/_vendor/platformdirs/macos.py | 146 + .../pip/_vendor/platformdirs/py.typed | 0 .../pip/_vendor/platformdirs/unix.py | 272 + .../pip/_vendor/platformdirs/version.py | 34 + .../pip/_vendor/platformdirs/windows.py | 278 + .../pip/_vendor/pygments/LICENSE | 25 + .../pip/_vendor/pygments/__init__.py | 82 + .../pip/_vendor/pygments/__main__.py | 17 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 3508 bytes .../__pycache__/__main__.cpython-312.pyc | Bin 0 -> 754 bytes .../__pycache__/console.cpython-312.pyc | Bin 0 -> 2653 bytes .../__pycache__/filter.cpython-312.pyc | Bin 0 -> 3246 bytes .../__pycache__/formatter.cpython-312.pyc | Bin 0 -> 4740 bytes .../__pycache__/lexer.cpython-312.pyc | Bin 0 -> 38485 bytes .../__pycache__/modeline.cpython-312.pyc | Bin 0 -> 1589 bytes .../__pycache__/plugin.cpython-312.pyc | Bin 0 -> 2648 bytes .../__pycache__/regexopt.cpython-312.pyc | Bin 0 -> 4101 bytes .../__pycache__/scanner.cpython-312.pyc | Bin 0 -> 4776 bytes .../__pycache__/sphinxext.cpython-312.pyc | Bin 0 -> 12161 bytes .../__pycache__/style.cpython-312.pyc | Bin 0 -> 6737 bytes .../__pycache__/token.cpython-312.pyc | Bin 0 -> 8214 bytes .../__pycache__/unistring.cpython-312.pyc | Bin 0 -> 33031 bytes .../pygments/__pycache__/util.cpython-312.pyc | Bin 0 -> 14103 bytes .../pip/_vendor/pygments/console.py | 70 + .../pip/_vendor/pygments/filter.py | 70 + .../pip/_vendor/pygments/filters/__init__.py | 940 ++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 37999 bytes .../pip/_vendor/pygments/formatter.py | 129 + .../_vendor/pygments/formatters/__init__.py | 157 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 6973 bytes .../__pycache__/_mapping.cpython-312.pyc | Bin 0 -> 4235 bytes .../_vendor/pygments/formatters/_mapping.py | 23 + .../pip/_vendor/pygments/lexer.py | 963 ++ .../pip/_vendor/pygments/lexers/__init__.py | 362 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 14755 bytes .../__pycache__/_mapping.cpython-312.pyc | Bin 0 -> 69864 bytes .../lexers/__pycache__/python.cpython-312.pyc | Bin 0 -> 42994 bytes .../pip/_vendor/pygments/lexers/_mapping.py | 602 ++ .../pip/_vendor/pygments/lexers/python.py | 1201 +++ .../pip/_vendor/pygments/modeline.py | 43 + .../pip/_vendor/pygments/plugin.py | 72 + .../pip/_vendor/pygments/regexopt.py | 91 + .../pip/_vendor/pygments/scanner.py | 104 + .../pip/_vendor/pygments/sphinxext.py | 247 + .../pip/_vendor/pygments/style.py | 203 + .../pip/_vendor/pygments/styles/__init__.py | 61 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2691 bytes .../__pycache__/_mapping.cpython-312.pyc | Bin 0 -> 3668 bytes .../pip/_vendor/pygments/styles/_mapping.py | 54 + .../pip/_vendor/pygments/token.py | 214 + .../pip/_vendor/pygments/unistring.py | 153 + .../pip/_vendor/pygments/util.py | 324 + .../pip/_vendor/pyproject_hooks/LICENSE | 21 + .../pip/_vendor/pyproject_hooks/__init__.py | 31 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 767 bytes .../__pycache__/_impl.cpython-312.pyc | Bin 0 -> 18099 bytes .../pip/_vendor/pyproject_hooks/_impl.py | 410 + .../pyproject_hooks/_in_process/__init__.py | 21 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1096 bytes .../__pycache__/_in_process.cpython-312.pyc | Bin 0 -> 15378 bytes .../_in_process/_in_process.py | 389 + .../pip/_vendor/pyproject_hooks/py.typed | 0 .../pip/_vendor/requests/LICENSE | 175 + .../pip/_vendor/requests/__init__.py | 178 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 5241 bytes .../__pycache__/__version__.cpython-312.pyc | Bin 0 -> 604 bytes .../_internal_utils.cpython-312.pyc | Bin 0 -> 2050 bytes .../__pycache__/adapters.cpython-312.pyc | Bin 0 -> 27784 bytes .../requests/__pycache__/api.cpython-312.pyc | Bin 0 -> 7224 bytes .../requests/__pycache__/auth.cpython-312.pyc | Bin 0 -> 13833 bytes .../__pycache__/certs.cpython-312.pyc | Bin 0 -> 698 bytes .../__pycache__/compat.cpython-312.pyc | Bin 0 -> 2005 bytes .../__pycache__/cookies.cpython-312.pyc | Bin 0 -> 25296 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 7618 bytes .../requests/__pycache__/help.cpython-312.pyc | Bin 0 -> 4152 bytes .../__pycache__/hooks.cpython-312.pyc | Bin 0 -> 1072 bytes .../__pycache__/models.cpython-312.pyc | Bin 0 -> 35556 bytes .../__pycache__/packages.cpython-312.pyc | Bin 0 -> 1307 bytes .../__pycache__/sessions.cpython-312.pyc | Bin 0 -> 27910 bytes .../__pycache__/status_codes.cpython-312.pyc | Bin 0 -> 6051 bytes .../__pycache__/structures.cpython-312.pyc | Bin 0 -> 5637 bytes .../__pycache__/utils.cpython-312.pyc | Bin 0 -> 36175 bytes .../pip/_vendor/requests/__version__.py | 14 + .../pip/_vendor/requests/_internal_utils.py | 51 + .../pip/_vendor/requests/adapters.py | 697 ++ .../site-packages/pip/_vendor/requests/api.py | 157 + .../pip/_vendor/requests/auth.py | 314 + .../pip/_vendor/requests/certs.py | 18 + .../pip/_vendor/requests/compat.py | 90 + .../pip/_vendor/requests/cookies.py | 561 ++ .../pip/_vendor/requests/exceptions.py | 152 + .../pip/_vendor/requests/help.py | 124 + .../pip/_vendor/requests/hooks.py | 34 + .../pip/_vendor/requests/models.py | 1041 ++ .../pip/_vendor/requests/packages.py | 25 + .../pip/_vendor/requests/sessions.py | 834 ++ .../pip/_vendor/requests/status_codes.py | 128 + .../pip/_vendor/requests/structures.py | 99 + .../pip/_vendor/requests/utils.py | 1083 ++ .../pip/_vendor/resolvelib/LICENSE | 13 + .../pip/_vendor/resolvelib/__init__.py | 27 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 654 bytes .../__pycache__/providers.cpython-312.pyc | Bin 0 -> 10143 bytes .../__pycache__/reporters.cpython-312.pyc | Bin 0 -> 3309 bytes .../__pycache__/structs.cpython-312.pyc | Bin 0 -> 12470 bytes .../pip/_vendor/resolvelib/providers.py | 196 + .../pip/_vendor/resolvelib/py.typed | 0 .../pip/_vendor/resolvelib/reporters.py | 55 + .../_vendor/resolvelib/resolvers/__init__.py | 27 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 759 bytes .../__pycache__/abstract.cpython-312.pyc | Bin 0 -> 2465 bytes .../__pycache__/criterion.cpython-312.pyc | Bin 0 -> 3290 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 4100 bytes .../__pycache__/resolution.cpython-312.pyc | Bin 0 -> 25186 bytes .../_vendor/resolvelib/resolvers/abstract.py | 47 + .../_vendor/resolvelib/resolvers/criterion.py | 48 + .../resolvelib/resolvers/exceptions.py | 57 + .../resolvelib/resolvers/resolution.py | 627 ++ .../pip/_vendor/resolvelib/structs.py | 209 + .../site-packages/pip/_vendor/rich/LICENSE | 19 + .../pip/_vendor/rich/__init__.py | 177 + .../pip/_vendor/rich/__main__.py | 245 + .../rich/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 7035 bytes .../rich/__pycache__/__main__.cpython-312.pyc | Bin 0 -> 9570 bytes .../__pycache__/_cell_widths.cpython-312.pyc | Bin 0 -> 7892 bytes .../__pycache__/_emoji_codes.cpython-312.pyc | Bin 0 -> 205996 bytes .../_emoji_replace.cpython-312.pyc | Bin 0 -> 1749 bytes .../_export_format.cpython-312.pyc | Bin 0 -> 2369 bytes .../__pycache__/_extension.cpython-312.pyc | Bin 0 -> 557 bytes .../rich/__pycache__/_fileno.cpython-312.pyc | Bin 0 -> 875 bytes .../rich/__pycache__/_inspect.cpython-312.pyc | Bin 0 -> 12047 bytes .../__pycache__/_log_render.cpython-312.pyc | Bin 0 -> 4167 bytes .../rich/__pycache__/_loop.cpython-312.pyc | Bin 0 -> 1905 bytes .../__pycache__/_null_file.cpython-312.pyc | Bin 0 -> 3649 bytes .../__pycache__/_palettes.cpython-312.pyc | Bin 0 -> 5180 bytes .../rich/__pycache__/_pick.cpython-312.pyc | Bin 0 -> 746 bytes .../rich/__pycache__/_ratio.cpython-312.pyc | Bin 0 -> 6450 bytes .../__pycache__/_spinners.cpython-312.pyc | Bin 0 -> 13199 bytes .../rich/__pycache__/_stack.cpython-312.pyc | Bin 0 -> 985 bytes .../rich/__pycache__/_timer.cpython-312.pyc | Bin 0 -> 885 bytes .../_win32_console.cpython-312.pyc | Bin 0 -> 28831 bytes .../rich/__pycache__/_windows.cpython-312.pyc | Bin 0 -> 2510 bytes .../_windows_renderer.cpython-312.pyc | Bin 0 -> 3593 bytes .../rich/__pycache__/_wrap.cpython-312.pyc | Bin 0 -> 3356 bytes .../rich/__pycache__/abc.cpython-312.pyc | Bin 0 -> 1628 bytes .../rich/__pycache__/align.cpython-312.pyc | Bin 0 -> 12299 bytes .../rich/__pycache__/ansi.cpython-312.pyc | Bin 0 -> 9141 bytes .../rich/__pycache__/bar.cpython-312.pyc | Bin 0 -> 4292 bytes .../rich/__pycache__/box.cpython-312.pyc | Bin 0 -> 11731 bytes .../rich/__pycache__/cells.cpython-312.pyc | Bin 0 -> 5598 bytes .../rich/__pycache__/color.cpython-312.pyc | Bin 0 -> 26573 bytes .../__pycache__/color_triplet.cpython-312.pyc | Bin 0 -> 1721 bytes .../rich/__pycache__/columns.cpython-312.pyc | Bin 0 -> 8607 bytes .../rich/__pycache__/console.cpython-312.pyc | Bin 0 -> 115320 bytes .../__pycache__/constrain.cpython-312.pyc | Bin 0 -> 2278 bytes .../__pycache__/containers.cpython-312.pyc | Bin 0 -> 9251 bytes .../rich/__pycache__/control.cpython-312.pyc | Bin 0 -> 10804 bytes .../default_styles.cpython-312.pyc | Bin 0 -> 10548 bytes .../rich/__pycache__/diagnose.cpython-312.pyc | Bin 0 -> 1540 bytes .../rich/__pycache__/emoji.cpython-312.pyc | Bin 0 -> 4098 bytes .../rich/__pycache__/errors.cpython-312.pyc | Bin 0 -> 1865 bytes .../__pycache__/file_proxy.cpython-312.pyc | Bin 0 -> 3597 bytes .../rich/__pycache__/filesize.cpython-312.pyc | Bin 0 -> 3077 bytes .../__pycache__/highlighter.cpython-312.pyc | Bin 0 -> 9920 bytes .../rich/__pycache__/json.cpython-312.pyc | Bin 0 -> 6055 bytes .../rich/__pycache__/jupyter.cpython-312.pyc | Bin 0 -> 5229 bytes .../rich/__pycache__/layout.cpython-312.pyc | Bin 0 -> 20240 bytes .../rich/__pycache__/live.cpython-312.pyc | Bin 0 -> 20152 bytes .../__pycache__/live_render.cpython-312.pyc | Bin 0 -> 4770 bytes .../rich/__pycache__/logging.cpython-312.pyc | Bin 0 -> 14094 bytes .../rich/__pycache__/markup.cpython-312.pyc | Bin 0 -> 9610 bytes .../rich/__pycache__/measure.cpython-312.pyc | Bin 0 -> 6396 bytes .../rich/__pycache__/padding.cpython-312.pyc | Bin 0 -> 6963 bytes .../rich/__pycache__/pager.cpython-312.pyc | Bin 0 -> 1840 bytes .../rich/__pycache__/palette.cpython-312.pyc | Bin 0 -> 5334 bytes .../rich/__pycache__/panel.cpython-312.pyc | Bin 0 -> 12749 bytes .../rich/__pycache__/pretty.cpython-312.pyc | Bin 0 -> 40653 bytes .../rich/__pycache__/progress.cpython-312.pyc | Bin 0 -> 75143 bytes .../__pycache__/progress_bar.cpython-312.pyc | Bin 0 -> 10409 bytes .../rich/__pycache__/prompt.cpython-312.pyc | Bin 0 -> 16017 bytes .../rich/__pycache__/protocol.cpython-312.pyc | Bin 0 -> 1812 bytes .../rich/__pycache__/region.cpython-312.pyc | Bin 0 -> 587 bytes .../rich/__pycache__/repr.cpython-312.pyc | Bin 0 -> 6644 bytes .../rich/__pycache__/rule.cpython-312.pyc | Bin 0 -> 6588 bytes .../rich/__pycache__/scope.cpython-312.pyc | Bin 0 -> 3850 bytes .../rich/__pycache__/screen.cpython-312.pyc | Bin 0 -> 2504 bytes .../rich/__pycache__/segment.cpython-312.pyc | Bin 0 -> 28603 bytes .../rich/__pycache__/spinner.cpython-312.pyc | Bin 0 -> 5945 bytes .../rich/__pycache__/status.cpython-312.pyc | Bin 0 -> 6088 bytes .../rich/__pycache__/style.cpython-312.pyc | Bin 0 -> 33451 bytes .../rich/__pycache__/styled.cpython-312.pyc | Bin 0 -> 2159 bytes .../rich/__pycache__/syntax.cpython-312.pyc | Bin 0 -> 41012 bytes .../rich/__pycache__/table.cpython-312.pyc | Bin 0 -> 43902 bytes .../terminal_theme.cpython-312.pyc | Bin 0 -> 3368 bytes .../rich/__pycache__/text.cpython-312.pyc | Bin 0 -> 61274 bytes .../rich/__pycache__/theme.cpython-312.pyc | Bin 0 -> 6352 bytes .../rich/__pycache__/themes.cpython-312.pyc | Bin 0 -> 334 bytes .../__pycache__/traceback.cpython-312.pyc | Bin 0 -> 36260 bytes .../rich/__pycache__/tree.cpython-312.pyc | Bin 0 -> 11816 bytes .../pip/_vendor/rich/_cell_widths.py | 454 + .../pip/_vendor/rich/_emoji_codes.py | 3610 +++++++ .../pip/_vendor/rich/_emoji_replace.py | 32 + .../pip/_vendor/rich/_export_format.py | 76 + .../pip/_vendor/rich/_extension.py | 10 + .../site-packages/pip/_vendor/rich/_fileno.py | 24 + .../pip/_vendor/rich/_inspect.py | 268 + .../pip/_vendor/rich/_log_render.py | 94 + .../site-packages/pip/_vendor/rich/_loop.py | 43 + .../pip/_vendor/rich/_null_file.py | 69 + .../pip/_vendor/rich/_palettes.py | 309 + .../site-packages/pip/_vendor/rich/_pick.py | 17 + .../site-packages/pip/_vendor/rich/_ratio.py | 153 + .../pip/_vendor/rich/_spinners.py | 482 + .../site-packages/pip/_vendor/rich/_stack.py | 16 + .../site-packages/pip/_vendor/rich/_timer.py | 19 + .../pip/_vendor/rich/_win32_console.py | 661 ++ .../pip/_vendor/rich/_windows.py | 71 + .../pip/_vendor/rich/_windows_renderer.py | 56 + .../site-packages/pip/_vendor/rich/_wrap.py | 93 + .../site-packages/pip/_vendor/rich/abc.py | 33 + .../site-packages/pip/_vendor/rich/align.py | 306 + .../site-packages/pip/_vendor/rich/ansi.py | 241 + .../site-packages/pip/_vendor/rich/bar.py | 93 + .../site-packages/pip/_vendor/rich/box.py | 474 + .../site-packages/pip/_vendor/rich/cells.py | 174 + .../site-packages/pip/_vendor/rich/color.py | 621 ++ .../pip/_vendor/rich/color_triplet.py | 38 + .../site-packages/pip/_vendor/rich/columns.py | 187 + .../site-packages/pip/_vendor/rich/console.py | 2680 +++++ .../pip/_vendor/rich/constrain.py | 37 + .../pip/_vendor/rich/containers.py | 167 + .../site-packages/pip/_vendor/rich/control.py | 219 + .../pip/_vendor/rich/default_styles.py | 193 + .../pip/_vendor/rich/diagnose.py | 39 + .../site-packages/pip/_vendor/rich/emoji.py | 91 + .../site-packages/pip/_vendor/rich/errors.py | 34 + .../pip/_vendor/rich/file_proxy.py | 57 + .../pip/_vendor/rich/filesize.py | 88 + .../pip/_vendor/rich/highlighter.py | 232 + .../site-packages/pip/_vendor/rich/json.py | 139 + .../site-packages/pip/_vendor/rich/jupyter.py | 101 + .../site-packages/pip/_vendor/rich/layout.py | 442 + .../site-packages/pip/_vendor/rich/live.py | 400 + .../pip/_vendor/rich/live_render.py | 106 + .../site-packages/pip/_vendor/rich/logging.py | 297 + .../site-packages/pip/_vendor/rich/markup.py | 251 + .../site-packages/pip/_vendor/rich/measure.py | 151 + .../site-packages/pip/_vendor/rich/padding.py | 141 + .../site-packages/pip/_vendor/rich/pager.py | 34 + .../site-packages/pip/_vendor/rich/palette.py | 100 + .../site-packages/pip/_vendor/rich/panel.py | 317 + .../site-packages/pip/_vendor/rich/pretty.py | 1016 ++ .../pip/_vendor/rich/progress.py | 1715 ++++ .../pip/_vendor/rich/progress_bar.py | 223 + .../site-packages/pip/_vendor/rich/prompt.py | 400 + .../pip/_vendor/rich/protocol.py | 42 + .../site-packages/pip/_vendor/rich/py.typed | 0 .../site-packages/pip/_vendor/rich/region.py | 10 + .../site-packages/pip/_vendor/rich/repr.py | 149 + .../site-packages/pip/_vendor/rich/rule.py | 130 + .../site-packages/pip/_vendor/rich/scope.py | 86 + .../site-packages/pip/_vendor/rich/screen.py | 54 + .../site-packages/pip/_vendor/rich/segment.py | 752 ++ .../site-packages/pip/_vendor/rich/spinner.py | 132 + .../site-packages/pip/_vendor/rich/status.py | 131 + .../site-packages/pip/_vendor/rich/style.py | 792 ++ .../site-packages/pip/_vendor/rich/styled.py | 42 + .../site-packages/pip/_vendor/rich/syntax.py | 985 ++ .../site-packages/pip/_vendor/rich/table.py | 1006 ++ .../pip/_vendor/rich/terminal_theme.py | 153 + .../site-packages/pip/_vendor/rich/text.py | 1361 +++ .../site-packages/pip/_vendor/rich/theme.py | 115 + .../site-packages/pip/_vendor/rich/themes.py | 5 + .../pip/_vendor/rich/traceback.py | 899 ++ .../site-packages/pip/_vendor/rich/tree.py | 257 + .../site-packages/pip/_vendor/tomli/LICENSE | 21 + .../pip/_vendor/tomli/__init__.py | 8 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 358 bytes .../tomli/__pycache__/_parser.cpython-312.pyc | Bin 0 -> 29721 bytes .../tomli/__pycache__/_re.cpython-312.pyc | Bin 0 -> 4096 bytes .../tomli/__pycache__/_types.cpython-312.pyc | Bin 0 -> 386 bytes .../pip/_vendor/tomli/_parser.py | 788 ++ .../site-packages/pip/_vendor/tomli/_re.py | 115 + .../site-packages/pip/_vendor/tomli/_types.py | 10 + .../site-packages/pip/_vendor/tomli/py.typed | 1 + .../site-packages/pip/_vendor/tomli_w/LICENSE | 21 + .../pip/_vendor/tomli_w/__init__.py | 4 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 347 bytes .../__pycache__/_writer.cpython-312.pyc | Bin 0 -> 10389 bytes .../pip/_vendor/tomli_w/_writer.py | 229 + .../pip/_vendor/tomli_w/py.typed | 1 + .../pip/_vendor/truststore/LICENSE | 21 + .../pip/_vendor/truststore/__init__.py | 36 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1472 bytes .../__pycache__/_api.cpython-312.pyc | Bin 0 -> 17565 bytes .../__pycache__/_macos.cpython-312.pyc | Bin 0 -> 19012 bytes .../__pycache__/_openssl.cpython-312.pyc | Bin 0 -> 2286 bytes .../_ssl_constants.cpython-312.pyc | Bin 0 -> 1119 bytes .../__pycache__/_windows.cpython-312.pyc | Bin 0 -> 15795 bytes .../pip/_vendor/truststore/_api.py | 341 + .../pip/_vendor/truststore/_macos.py | 571 ++ .../pip/_vendor/truststore/_openssl.py | 68 + .../pip/_vendor/truststore/_ssl_constants.py | 31 + .../pip/_vendor/truststore/_windows.py | 567 ++ .../pip/_vendor/truststore/py.typed | 0 .../pip/_vendor/urllib3/LICENSE.txt | 21 + .../pip/_vendor/urllib3/__init__.py | 211 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 7335 bytes .../_base_connection.cpython-312.pyc | Bin 0 -> 6873 bytes .../__pycache__/_collections.cpython-312.pyc | Bin 0 -> 23024 bytes .../_request_methods.cpython-312.pyc | Bin 0 -> 10627 bytes .../__pycache__/_version.cpython-312.pyc | Bin 0 -> 818 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 38945 bytes .../connectionpool.cpython-312.pyc | Bin 0 -> 39760 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 16636 bytes .../__pycache__/fields.cpython-312.pyc | Bin 0 -> 12047 bytes .../__pycache__/filepost.cpython-312.pyc | Bin 0 -> 3514 bytes .../__pycache__/poolmanager.cpython-312.pyc | Bin 0 -> 24397 bytes .../__pycache__/response.cpython-312.pyc | Bin 0 -> 57344 bytes .../pip/_vendor/urllib3/_base_connection.py | 165 + .../pip/_vendor/urllib3/_collections.py | 487 + .../pip/_vendor/urllib3/_request_methods.py | 278 + .../pip/_vendor/urllib3/_version.py | 34 + .../pip/_vendor/urllib3/connection.py | 1099 ++ .../pip/_vendor/urllib3/connectionpool.py | 1178 +++ .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 218 bytes .../__pycache__/pyopenssl.cpython-312.pyc | Bin 0 -> 28274 bytes .../contrib/__pycache__/socks.cpython-312.pyc | Bin 0 -> 8196 bytes .../urllib3/contrib/emscripten/__init__.py | 17 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 995 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 10412 bytes .../__pycache__/fetch.cpython-312.pyc | Bin 0 -> 28663 bytes .../__pycache__/request.cpython-312.pyc | Bin 0 -> 1446 bytes .../__pycache__/response.cpython-312.pyc | Bin 0 -> 12240 bytes .../urllib3/contrib/emscripten/connection.py | 260 + .../emscripten/emscripten_fetch_worker.js | 110 + .../urllib3/contrib/emscripten/fetch.py | 726 ++ .../urllib3/contrib/emscripten/request.py | 22 + .../urllib3/contrib/emscripten/response.py | 277 + .../pip/_vendor/urllib3/contrib/pyopenssl.py | 564 ++ .../pip/_vendor/urllib3/contrib/socks.py | 228 + .../pip/_vendor/urllib3/exceptions.py | 335 + .../pip/_vendor/urllib3/fields.py | 341 + .../pip/_vendor/urllib3/filepost.py | 89 + .../pip/_vendor/urllib3/http2/__init__.py | 53 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1771 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 17078 bytes .../http2/__pycache__/probe.cpython-312.pyc | Bin 0 -> 3722 bytes .../pip/_vendor/urllib3/http2/connection.py | 356 + .../pip/_vendor/urllib3/http2/probe.py | 87 + .../pip/_vendor/urllib3/poolmanager.py | 651 ++ .../pip/_vendor/urllib3/py.typed | 2 + .../pip/_vendor/urllib3/response.py | 1474 +++ .../pip/_vendor/urllib3/util/__init__.py | 42 + .../util/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1031 bytes .../__pycache__/connection.cpython-312.pyc | Bin 0 -> 4721 bytes .../util/__pycache__/proxy.cpython-312.pyc | Bin 0 -> 1243 bytes .../util/__pycache__/request.cpython-312.pyc | Bin 0 -> 8159 bytes .../util/__pycache__/response.cpython-312.pyc | Bin 0 -> 2899 bytes .../util/__pycache__/retry.cpython-312.pyc | Bin 0 -> 20859 bytes .../util/__pycache__/ssl_.cpython-312.pyc | Bin 0 -> 17345 bytes .../ssl_match_hostname.cpython-312.pyc | Bin 0 -> 5583 bytes .../__pycache__/ssltransport.cpython-312.pyc | Bin 0 -> 13350 bytes .../util/__pycache__/timeout.cpython-312.pyc | Bin 0 -> 11732 bytes .../util/__pycache__/url.cpython-312.pyc | Bin 0 -> 16310 bytes .../util/__pycache__/util.cpython-312.pyc | Bin 0 -> 2020 bytes .../util/__pycache__/wait.cpython-312.pyc | Bin 0 -> 3466 bytes .../pip/_vendor/urllib3/util/connection.py | 137 + .../pip/_vendor/urllib3/util/proxy.py | 43 + .../pip/_vendor/urllib3/util/request.py | 254 + .../pip/_vendor/urllib3/util/response.py | 101 + .../pip/_vendor/urllib3/util/retry.py | 549 + .../pip/_vendor/urllib3/util/ssl_.py | 527 + .../urllib3/util/ssl_match_hostname.py | 159 + .../pip/_vendor/urllib3/util/ssltransport.py | 271 + .../pip/_vendor/urllib3/util/timeout.py | 275 + .../pip/_vendor/urllib3/util/url.py | 469 + .../pip/_vendor/urllib3/util/util.py | 42 + .../pip/_vendor/urllib3/util/wait.py | 124 + .../site-packages/pip/_vendor/vendor.txt | 18 + .../lib/python3.12/site-packages/pip/py.typed | 4 + .../python3.12/site-packages/pptx/__init__.py | 82 + .../pptx/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 2917 bytes .../pptx/__pycache__/action.cpython-312.pyc | Bin 0 -> 12802 bytes .../pptx/__pycache__/api.cpython-312.pyc | Bin 0 -> 2532 bytes .../pptx/__pycache__/exc.cpython-312.pyc | Bin 0 -> 1062 bytes .../pptx/__pycache__/media.cpython-312.pyc | Bin 0 -> 11737 bytes .../pptx/__pycache__/package.cpython-312.pyc | Bin 0 -> 10636 bytes .../__pycache__/presentation.cpython-312.pyc | Bin 0 -> 5833 bytes .../pptx/__pycache__/shared.cpython-312.pyc | Bin 0 -> 4346 bytes .../pptx/__pycache__/slide.cpython-312.pyc | Bin 0 -> 25903 bytes .../pptx/__pycache__/spec.cpython-312.pyc | Bin 0 -> 19678 bytes .../pptx/__pycache__/table.cpython-312.pyc | Bin 0 -> 27079 bytes .../pptx/__pycache__/types.cpython-312.pyc | Bin 0 -> 1666 bytes .../pptx/__pycache__/util.cpython-312.pyc | Bin 0 -> 10646 bytes .../python3.12/site-packages/pptx/action.py | 270 + .../lib/python3.12/site-packages/pptx/api.py | 49 + .../site-packages/pptx/chart/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 201 bytes .../chart/__pycache__/axis.cpython-312.pyc | Bin 0 -> 25270 bytes .../__pycache__/category.cpython-312.pyc | Bin 0 -> 9526 bytes .../chart/__pycache__/chart.cpython-312.pyc | Bin 0 -> 14220 bytes .../chart/__pycache__/data.cpython-312.pyc | Bin 0 -> 40166 bytes .../__pycache__/datalabel.cpython-312.pyc | Bin 0 -> 13972 bytes .../chart/__pycache__/legend.cpython-312.pyc | Bin 0 -> 4042 bytes .../chart/__pycache__/marker.cpython-312.pyc | Bin 0 -> 3165 bytes .../chart/__pycache__/plot.cpython-312.pyc | Bin 0 -> 20615 bytes .../chart/__pycache__/point.cpython-312.pyc | Bin 0 -> 5067 bytes .../chart/__pycache__/series.cpython-312.pyc | Bin 0 -> 11978 bytes .../chart/__pycache__/xlsx.cpython-312.pyc | Bin 0 -> 14025 bytes .../__pycache__/xmlwriter.cpython-312.pyc | Bin 0 -> 66850 bytes .../site-packages/pptx/chart/axis.py | 523 + .../site-packages/pptx/chart/category.py | 200 + .../site-packages/pptx/chart/chart.py | 280 + .../site-packages/pptx/chart/data.py | 864 ++ .../site-packages/pptx/chart/datalabel.py | 288 + .../site-packages/pptx/chart/legend.py | 79 + .../site-packages/pptx/chart/marker.py | 70 + .../site-packages/pptx/chart/plot.py | 412 + .../site-packages/pptx/chart/point.py | 101 + .../site-packages/pptx/chart/series.py | 258 + .../site-packages/pptx/chart/xlsx.py | 272 + .../site-packages/pptx/chart/xmlwriter.py | 1840 ++++ .../site-packages/pptx/dml/__init__.py | 0 .../dml/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 199 bytes .../dml/__pycache__/chtfmt.cpython-312.pyc | Bin 0 -> 2046 bytes .../dml/__pycache__/color.cpython-312.pyc | Bin 0 -> 14893 bytes .../dml/__pycache__/effect.cpython-312.pyc | Bin 0 -> 2110 bytes .../pptx/dml/__pycache__/fill.cpython-312.pyc | Bin 0 -> 19931 bytes .../pptx/dml/__pycache__/line.cpython-312.pyc | Bin 0 -> 4747 bytes .../site-packages/pptx/dml/chtfmt.py | 40 + .../site-packages/pptx/dml/color.py | 301 + .../site-packages/pptx/dml/effect.py | 41 + .../python3.12/site-packages/pptx/dml/fill.py | 398 + .../python3.12/site-packages/pptx/dml/line.py | 100 + .../site-packages/pptx/enum/__init__.py | 0 .../enum/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 200 bytes .../enum/__pycache__/action.cpython-312.pyc | Bin 0 -> 1763 bytes .../enum/__pycache__/base.cpython-312.pyc | Bin 0 -> 8440 bytes .../enum/__pycache__/chart.cpython-312.pyc | Bin 0 -> 11842 bytes .../pptx/enum/__pycache__/dml.cpython-312.pyc | Bin 0 -> 9770 bytes .../enum/__pycache__/lang.cpython-312.pyc | Bin 0 -> 15749 bytes .../enum/__pycache__/shapes.cpython-312.pyc | Bin 0 -> 23411 bytes .../enum/__pycache__/text.cpython-312.pyc | Bin 0 -> 6642 bytes .../site-packages/pptx/enum/action.py | 71 + .../site-packages/pptx/enum/base.py | 175 + .../site-packages/pptx/enum/chart.py | 492 + .../python3.12/site-packages/pptx/enum/dml.py | 405 + .../site-packages/pptx/enum/lang.py | 685 ++ .../site-packages/pptx/enum/shapes.py | 1029 ++ .../site-packages/pptx/enum/text.py | 230 + .../lib/python3.12/site-packages/pptx/exc.py | 23 + .../python3.12/site-packages/pptx/media.py | 197 + .../site-packages/pptx/opc/__init__.py | 0 .../opc/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 199 bytes .../opc/__pycache__/constants.cpython-312.pyc | Bin 0 -> 18794 bytes .../pptx/opc/__pycache__/oxml.cpython-312.pyc | Bin 0 -> 8236 bytes .../opc/__pycache__/package.cpython-312.pyc | Bin 0 -> 40650 bytes .../opc/__pycache__/packuri.cpython-312.pyc | Bin 0 -> 5298 bytes .../__pycache__/serialized.cpython-312.pyc | Bin 0 -> 17014 bytes .../opc/__pycache__/shared.cpython-312.pyc | Bin 0 -> 1588 bytes .../pptx/opc/__pycache__/spec.cpython-312.pyc | Bin 0 -> 1976 bytes .../site-packages/pptx/opc/constants.py | 331 + .../python3.12/site-packages/pptx/opc/oxml.py | 188 + .../site-packages/pptx/opc/package.py | 762 ++ .../site-packages/pptx/opc/packuri.py | 109 + .../site-packages/pptx/opc/serialized.py | 296 + .../site-packages/pptx/opc/shared.py | 20 + .../python3.12/site-packages/pptx/opc/spec.py | 44 + .../site-packages/pptx/oxml/__init__.py | 486 + .../oxml/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 15082 bytes .../oxml/__pycache__/action.cpython-312.pyc | Bin 0 -> 2333 bytes .../__pycache__/coreprops.cpython-312.pyc | Bin 0 -> 14499 bytes .../pptx/oxml/__pycache__/ns.cpython-312.pyc | Bin 0 -> 6869 bytes .../__pycache__/presentation.cpython-312.pyc | Bin 0 -> 5748 bytes .../__pycache__/simpletypes.cpython-312.pyc | Bin 0 -> 34788 bytes .../oxml/__pycache__/slide.cpython-312.pyc | Bin 0 -> 14307 bytes .../oxml/__pycache__/table.cpython-312.pyc | Bin 0 -> 28708 bytes .../oxml/__pycache__/text.cpython-312.pyc | Bin 0 -> 24704 bytes .../oxml/__pycache__/theme.cpython-312.pyc | Bin 0 -> 1123 bytes .../oxml/__pycache__/xmlchemy.cpython-312.pyc | Bin 0 -> 37725 bytes .../site-packages/pptx/oxml/action.py | 53 + .../site-packages/pptx/oxml/chart/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 206 bytes .../chart/__pycache__/axis.cpython-312.pyc | Bin 0 -> 11153 bytes .../chart/__pycache__/chart.cpython-312.pyc | Bin 0 -> 11727 bytes .../__pycache__/datalabel.cpython-312.pyc | Bin 0 -> 9782 bytes .../chart/__pycache__/legend.cpython-312.pyc | Bin 0 -> 3058 bytes .../chart/__pycache__/marker.cpython-312.pyc | Bin 0 -> 2653 bytes .../chart/__pycache__/plot.cpython-312.pyc | Bin 0 -> 11832 bytes .../chart/__pycache__/series.cpython-312.pyc | Bin 0 -> 10197 bytes .../chart/__pycache__/shared.cpython-312.pyc | Bin 0 -> 8760 bytes .../site-packages/pptx/oxml/chart/axis.py | 297 + .../site-packages/pptx/oxml/chart/chart.py | 282 + .../pptx/oxml/chart/datalabel.py | 252 + .../site-packages/pptx/oxml/chart/legend.py | 72 + .../site-packages/pptx/oxml/chart/marker.py | 61 + .../site-packages/pptx/oxml/chart/plot.py | 345 + .../site-packages/pptx/oxml/chart/series.py | 254 + .../site-packages/pptx/oxml/chart/shared.py | 219 + .../site-packages/pptx/oxml/coreprops.py | 288 + .../site-packages/pptx/oxml/dml/__init__.py | 0 .../dml/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 204 bytes .../dml/__pycache__/color.cpython-312.pyc | Bin 0 -> 4133 bytes .../oxml/dml/__pycache__/fill.cpython-312.pyc | Bin 0 -> 7574 bytes .../oxml/dml/__pycache__/line.cpython-312.pyc | Bin 0 -> 771 bytes .../site-packages/pptx/oxml/dml/color.py | 111 + .../site-packages/pptx/oxml/dml/fill.py | 197 + .../site-packages/pptx/oxml/dml/line.py | 12 + .../python3.12/site-packages/pptx/oxml/ns.py | 129 + .../site-packages/pptx/oxml/presentation.py | 130 + .../pptx/oxml/shapes/__init__.py | 19 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 903 bytes .../__pycache__/autoshape.cpython-312.pyc | Bin 0 -> 17415 bytes .../__pycache__/connector.cpython-312.pyc | Bin 0 -> 4166 bytes .../__pycache__/graphfrm.cpython-312.pyc | Bin 0 -> 15827 bytes .../__pycache__/groupshape.cpython-312.pyc | Bin 0 -> 14430 bytes .../__pycache__/picture.cpython-312.pyc | Bin 0 -> 10181 bytes .../shapes/__pycache__/shared.cpython-312.pyc | Bin 0 -> 20049 bytes .../pptx/oxml/shapes/autoshape.py | 455 + .../pptx/oxml/shapes/connector.py | 107 + .../pptx/oxml/shapes/graphfrm.py | 342 + .../pptx/oxml/shapes/groupshape.py | 280 + .../site-packages/pptx/oxml/shapes/picture.py | 270 + .../site-packages/pptx/oxml/shapes/shared.py | 523 + .../site-packages/pptx/oxml/simpletypes.py | 740 ++ .../site-packages/pptx/oxml/slide.py | 347 + .../site-packages/pptx/oxml/table.py | 588 ++ .../site-packages/pptx/oxml/text.py | 618 ++ .../site-packages/pptx/oxml/theme.py | 29 + .../site-packages/pptx/oxml/xmlchemy.py | 717 ++ .../python3.12/site-packages/pptx/package.py | 222 + .../site-packages/pptx/parts/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 201 bytes .../parts/__pycache__/chart.cpython-312.pyc | Bin 0 -> 4888 bytes .../__pycache__/coreprops.cpython-312.pyc | Bin 0 -> 8987 bytes .../embeddedpackage.cpython-312.pyc | Bin 0 -> 3983 bytes .../parts/__pycache__/image.cpython-312.pyc | Bin 0 -> 12914 bytes .../parts/__pycache__/media.cpython-312.pyc | Bin 0 -> 1645 bytes .../__pycache__/presentation.cpython-312.pyc | Bin 0 -> 7367 bytes .../parts/__pycache__/slide.cpython-312.pyc | Bin 0 -> 15741 bytes .../site-packages/pptx/parts/chart.py | 95 + .../site-packages/pptx/parts/coreprops.py | 167 + .../pptx/parts/embeddedpackage.py | 93 + .../site-packages/pptx/parts/image.py | 275 + .../site-packages/pptx/parts/media.py | 37 + .../site-packages/pptx/parts/presentation.py | 126 + .../site-packages/pptx/parts/slide.py | 297 + .../site-packages/pptx/presentation.py | 113 + .../python3.12/site-packages/pptx/py.typed | 0 .../site-packages/pptx/shapes/__init__.py | 26 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 1418 bytes .../__pycache__/autoshape.cpython-312.pyc | Bin 0 -> 19170 bytes .../shapes/__pycache__/base.cpython-312.pyc | Bin 0 -> 11683 bytes .../__pycache__/connector.cpython-312.pyc | Bin 0 -> 12448 bytes .../__pycache__/freeform.cpython-312.pyc | Bin 0 -> 17948 bytes .../__pycache__/graphfrm.cpython-312.pyc | Bin 0 -> 8444 bytes .../shapes/__pycache__/group.cpython-312.pyc | Bin 0 -> 3365 bytes .../__pycache__/picture.cpython-312.pyc | Bin 0 -> 10070 bytes .../__pycache__/placeholder.cpython-312.pyc | Bin 0 -> 21231 bytes .../__pycache__/shapetree.cpython-312.pyc | Bin 0 -> 58879 bytes .../site-packages/pptx/shapes/autoshape.py | 355 + .../site-packages/pptx/shapes/base.py | 244 + .../site-packages/pptx/shapes/connector.py | 297 + .../site-packages/pptx/shapes/freeform.py | 337 + .../site-packages/pptx/shapes/graphfrm.py | 166 + .../site-packages/pptx/shapes/group.py | 69 + .../site-packages/pptx/shapes/picture.py | 203 + .../site-packages/pptx/shapes/placeholder.py | 407 + .../site-packages/pptx/shapes/shapetree.py | 1190 +++ .../python3.12/site-packages/pptx/shared.py | 82 + .../python3.12/site-packages/pptx/slide.py | 498 + .../lib/python3.12/site-packages/pptx/spec.py | 632 ++ .../python3.12/site-packages/pptx/table.py | 496 + .../site-packages/pptx/templates/default.pptx | Bin 0 -> 34030 bytes .../pptx/templates/docx-icon.emf | Bin 0 -> 127228 bytes .../pptx/templates/generic-icon.emf | Bin 0 -> 5396 bytes .../site-packages/pptx/templates/notes.xml | 23 + .../pptx/templates/notesMaster.xml | 352 + .../pptx/templates/pptx-icon.emf | Bin 0 -> 5492 bytes .../site-packages/pptx/templates/theme.xml | 321 + .../pptx/templates/xlsx-icon.emf | Bin 0 -> 130380 bytes .../site-packages/pptx/text/__init__.py | 0 .../text/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 200 bytes .../text/__pycache__/fonts.cpython-312.pyc | Bin 0 -> 19225 bytes .../text/__pycache__/layout.cpython-312.pyc | Bin 0 -> 15757 bytes .../text/__pycache__/text.cpython-312.pyc | Bin 0 -> 37534 bytes .../site-packages/pptx/text/fonts.py | 399 + .../site-packages/pptx/text/layout.py | 325 + .../site-packages/pptx/text/text.py | 681 ++ .../python3.12/site-packages/pptx/types.py | 36 + .../lib/python3.12/site-packages/pptx/util.py | 214 + .../python_pptx-1.0.2.dist-info/INSTALLER | 1 + .../python_pptx-1.0.2.dist-info/LICENSE | 20 + .../python_pptx-1.0.2.dist-info/METADATA | 58 + .../python_pptx-1.0.2.dist-info/RECORD | 218 + .../python_pptx-1.0.2.dist-info/REQUESTED | 0 .../python_pptx-1.0.2.dist-info/WHEEL | 5 + .../python_pptx-1.0.2.dist-info/top_level.txt | 1 + .../INSTALLER | 1 + .../METADATA | 72 + .../typing_extensions-4.15.0.dist-info/RECORD | 7 + .../typing_extensions-4.15.0.dist-info/WHEEL | 4 + .../licenses/LICENSE | 279 + .../site-packages/typing_extensions.py | 4317 ++++++++ .../xlsxwriter-3.2.9.dist-info/INSTALLER | 1 + .../xlsxwriter-3.2.9.dist-info/LICENSE.txt | 25 + .../xlsxwriter-3.2.9.dist-info/METADATA | 95 + .../xlsxwriter-3.2.9.dist-info/RECORD | 92 + .../xlsxwriter-3.2.9.dist-info/WHEEL | 5 + .../xlsxwriter-3.2.9.dist-info/top_level.txt | 1 + .../site-packages/xlsxwriter/__init__.py | 10 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 325 bytes .../__pycache__/app.cpython-312.pyc | Bin 0 -> 7483 bytes .../__pycache__/chart.cpython-312.pyc | Bin 0 -> 124829 bytes .../__pycache__/chart_area.cpython-312.pyc | Bin 0 -> 2589 bytes .../__pycache__/chart_bar.cpython-312.pyc | Bin 0 -> 5012 bytes .../__pycache__/chart_column.cpython-312.pyc | Bin 0 -> 3594 bytes .../chart_doughnut.cpython-312.pyc | Bin 0 -> 2606 bytes .../__pycache__/chart_line.cpython-312.pyc | Bin 0 -> 3628 bytes .../__pycache__/chart_pie.cpython-312.pyc | Bin 0 -> 6839 bytes .../__pycache__/chart_radar.cpython-312.pyc | Bin 0 -> 2784 bytes .../__pycache__/chart_scatter.cpython-312.pyc | Bin 0 -> 8882 bytes .../__pycache__/chart_stock.cpython-312.pyc | Bin 0 -> 3091 bytes .../__pycache__/chart_title.cpython-312.pyc | Bin 0 -> 4260 bytes .../__pycache__/chartsheet.cpython-312.pyc | Bin 0 -> 5673 bytes .../__pycache__/color.cpython-312.pyc | Bin 0 -> 13373 bytes .../__pycache__/comments.cpython-312.pyc | Bin 0 -> 12397 bytes .../__pycache__/contenttypes.cpython-312.pyc | Bin 0 -> 9762 bytes .../__pycache__/core.cpython-312.pyc | Bin 0 -> 6104 bytes .../__pycache__/custom.cpython-312.pyc | Bin 0 -> 4153 bytes .../__pycache__/drawing.cpython-312.pyc | Bin 0 -> 37406 bytes .../__pycache__/exceptions.cpython-312.pyc | Bin 0 -> 2666 bytes .../feature_property_bag.cpython-312.pyc | Bin 0 -> 4357 bytes .../__pycache__/format.cpython-312.pyc | Bin 0 -> 36631 bytes .../__pycache__/image.cpython-312.pyc | Bin 0 -> 14905 bytes .../__pycache__/metadata.cpython-312.pyc | Bin 0 -> 7767 bytes .../__pycache__/packager.cpython-312.pyc | Bin 0 -> 34558 bytes .../__pycache__/relationships.cpython-312.pyc | Bin 0 -> 4816 bytes .../__pycache__/rich_value.cpython-312.pyc | Bin 0 -> 2662 bytes .../rich_value_rel.cpython-312.pyc | Bin 0 -> 2152 bytes .../rich_value_structure.cpython-312.pyc | Bin 0 -> 2534 bytes .../rich_value_types.cpython-312.pyc | Bin 0 -> 3144 bytes .../__pycache__/shape.cpython-312.pyc | Bin 0 -> 12849 bytes .../__pycache__/sharedstrings.cpython-312.pyc | Bin 0 -> 4454 bytes .../__pycache__/styles.cpython-312.pyc | Bin 0 -> 24594 bytes .../__pycache__/table.cpython-312.pyc | Bin 0 -> 6100 bytes .../__pycache__/theme.cpython-312.pyc | Bin 0 -> 8710 bytes .../__pycache__/url.cpython-312.pyc | Bin 0 -> 10582 bytes .../__pycache__/utility.cpython-312.pyc | Bin 0 -> 31746 bytes .../__pycache__/vml.cpython-312.pyc | Bin 0 -> 22628 bytes .../__pycache__/workbook.cpython-312.pyc | Bin 0 -> 55106 bytes .../__pycache__/worksheet.cpython-312.pyc | Bin 0 -> 256724 bytes .../__pycache__/xmlwriter.cpython-312.pyc | Bin 0 -> 9730 bytes .../site-packages/xlsxwriter/app.py | 202 + .../site-packages/xlsxwriter/chart.py | 4387 ++++++++ .../site-packages/xlsxwriter/chart_area.py | 104 + .../site-packages/xlsxwriter/chart_bar.py | 177 + .../site-packages/xlsxwriter/chart_column.py | 135 + .../xlsxwriter/chart_doughnut.py | 101 + .../site-packages/xlsxwriter/chart_line.py | 146 + .../site-packages/xlsxwriter/chart_pie.py | 263 + .../site-packages/xlsxwriter/chart_radar.py | 105 + .../site-packages/xlsxwriter/chart_scatter.py | 337 + .../site-packages/xlsxwriter/chart_stock.py | 125 + .../site-packages/xlsxwriter/chart_title.py | 110 + .../site-packages/xlsxwriter/chartsheet.py | 203 + .../site-packages/xlsxwriter/color.py | 431 + .../site-packages/xlsxwriter/comments.py | 392 + .../site-packages/xlsxwriter/contenttypes.py | 270 + .../site-packages/xlsxwriter/core.py | 182 + .../site-packages/xlsxwriter/custom.py | 138 + .../site-packages/xlsxwriter/drawing.py | 1158 +++ .../site-packages/xlsxwriter/exceptions.py | 56 + .../xlsxwriter/feature_property_bag.py | 156 + .../site-packages/xlsxwriter/format.py | 1274 +++ .../site-packages/xlsxwriter/image.py | 401 + .../site-packages/xlsxwriter/metadata.py | 266 + .../site-packages/xlsxwriter/packager.py | 878 ++ .../site-packages/xlsxwriter/relationships.py | 143 + .../site-packages/xlsxwriter/rich_value.py | 98 + .../xlsxwriter/rich_value_rel.py | 82 + .../xlsxwriter/rich_value_structure.py | 99 + .../xlsxwriter/rich_value_types.py | 111 + .../site-packages/xlsxwriter/shape.py | 433 + .../site-packages/xlsxwriter/sharedstrings.py | 138 + .../site-packages/xlsxwriter/styles.py | 788 ++ .../site-packages/xlsxwriter/table.py | 194 + .../site-packages/xlsxwriter/theme.py | 69 + .../site-packages/xlsxwriter/url.py | 268 + .../site-packages/xlsxwriter/utility.py | 954 ++ .../site-packages/xlsxwriter/vml.py | 783 ++ .../site-packages/xlsxwriter/workbook.py | 1817 ++++ .../site-packages/xlsxwriter/worksheet.py | 8381 ++++++++++++++++ .../site-packages/xlsxwriter/xmlwriter.py | 235 + presentation/.venv/lib64 | 1 + presentation/.venv/pyvenv.cfg | 5 + presentation/build/deck.pptx | Bin 0 -> 2485368 bytes presentation/diagrams/01-overall.drawio | 204 + presentation/diagrams/02-auth-flow.drawio | 149 + presentation/diagrams/03-app-ca.drawio | 116 + presentation/diagrams/04-data.drawio | 105 + .../diagrams/05-flyway-evolution.drawio | 222 + .../diagrams/06-vault-evolution.drawio | 244 + .../diagrams/07-traefik-pipeline.drawio | 114 + .../diagrams/registry-pull-deck.drawio | 150 + .../diagrams/registry-pull-flow.drawio | 89 + .../diagrams/registry-push-deck.drawio | 218 + .../diagrams/registry-push-flow.drawio | 113 + .../diagrams/s10-vault-problems.drawio | 133 + .../diagrams/s12-encryption-decision.drawio | 76 + .../diagrams/s13-controller-reconcile.drawio | 252 + presentation/diagrams/s14-traffic-flow.drawio | 270 + .../diagrams/s15-ingress-to-gatewayapi.drawio | 140 + presentation/diagrams/s16-l4-vs-l7.drawio | 238 + presentation/diagrams/s17-cert-manager.drawio | 291 + .../s17b-cert-manager-variants.drawio | 277 + .../s18-asymmetric-vs-symmetric.drawio | 228 + .../diagrams/s18b-cipher-suite-anatomy.drawio | 218 + .../diagrams/s18c-cipher-vs-handshake.drawio | 111 + .../s18d-algorithm-usage-location.drawio | 237 + presentation/exports/01-overall.png | Bin 0 -> 607995 bytes presentation/exports/02-auth-flow.png | Bin 0 -> 496388 bytes presentation/exports/03-app-ca.png | Bin 0 -> 562597 bytes presentation/exports/04-data.png | Bin 0 -> 457332 bytes presentation/exports/05-flyway-evolution.png | Bin 0 -> 540996 bytes presentation/exports/06-vault-evolution.png | Bin 0 -> 573702 bytes presentation/exports/07-traefik-pipeline.png | Bin 0 -> 462426 bytes presentation/exports/s10-vault-problems.png | Bin 0 -> 623184 bytes .../exports/s12-encryption-decision.png | Bin 0 -> 397668 bytes presentation/scripts/build_pptx.py | 1238 +++ terraform/README.md | 9 + terraform/environments/README.md | 8 + terraform/environments/dev/README.md | 7 + terraform/environments/prod/README.md | 7 + terraform/environments/staging/README.md | 7 + terraform/modules/README.md | 9 + terraform/modules/compute/README.md | 7 + terraform/modules/database/README.md | 7 + terraform/modules/networking/README.md | 7 + terraform/modules/storage/README.md | 7 + vault-init-keys.json | 23 + 1839 files changed, 323096 insertions(+), 1 deletion(-) create mode 100644 AGENTS.md create mode 100644 docs/adr/0001-keycloak-admin-host-not-public.md create mode 100644 docs/architecture.md create mode 100644 docs/diagrams/architecture/01-overall.png create mode 100644 docs/diagrams/architecture/02-auth-flow.png create mode 100644 docs/diagrams/architecture/07-traefik-pipeline.png create mode 100644 docs/diagrams/sequence/forward-auth-cold.md create mode 100644 docs/diagrams/sequence/forward-auth-warm.md create mode 100644 docs/diagrams/sequence/secret-pipeline-bootstrap.md create mode 100644 docs/diagrams/sequence/secret-pipeline-runtime.md create mode 100644 docs/examples/infra/architecture-environments.md create mode 100644 docs/examples/infra/backup-restore.md create mode 100644 docs/examples/infra/config-and-secrets.md create mode 100644 docs/examples/infra/db-and-migration.md create mode 100644 docs/examples/infra/flyway.md create mode 100644 docs/examples/infra/k3s-specific.md create mode 100644 docs/examples/infra/keycloak.md create mode 100644 docs/examples/infra/kustomize.md create mode 100644 docs/examples/infra/minio.md create mode 100644 docs/examples/infra/network-ingress-tls.md create mode 100644 docs/examples/infra/observability-health.md create mode 100644 docs/examples/infra/operations-runbook-upgrade-rollback.md create mode 100644 docs/examples/infra/resources-probes-availability.md create mode 100644 docs/examples/infra/scripts.md create mode 100644 docs/examples/infra/security-hardening.md create mode 100644 docs/examples/infra/storage-pvc.md create mode 100644 docs/examples/infra/vault.md create mode 100644 docs/examples/infra/workload-selection.md create mode 100644 docs/ingress-traefik.md create mode 100644 docs/networking.md create mode 100644 docs/operations.md create mode 100644 docs/security-hardening.md create mode 100644 docs/standards/infra/STYLE.md create mode 100644 docs/standards/infra/architecture-environments.md create mode 100644 docs/standards/infra/backup-restore.md create mode 100644 docs/standards/infra/config-and-secrets.md create mode 100644 docs/standards/infra/db-and-migration.md create mode 100644 docs/standards/infra/flyway.md create mode 100644 docs/standards/infra/k3s-specific.md create mode 100644 docs/standards/infra/keycloak.md create mode 100644 docs/standards/infra/kustomize.md create mode 100644 docs/standards/infra/minio.md create mode 100644 docs/standards/infra/network-ingress-tls.md create mode 100644 docs/standards/infra/observability-health.md create mode 100644 docs/standards/infra/operations-runbook-upgrade-rollback.md create mode 100644 docs/standards/infra/resources-probes-availability.md create mode 100644 docs/standards/infra/scripts.md create mode 100644 docs/standards/infra/security-hardening.md create mode 100644 docs/standards/infra/storage-pvc.md create mode 100644 docs/standards/infra/vault.md create mode 100644 docs/standards/infra/workload-selection.md create mode 100644 docs/troubleshooting.md create mode 100644 docs/validation-report.md create mode 100644 docs/vault-vso.md create mode 100755 guide.md create mode 100644 k8s/AGENTS.md create mode 100644 k8s/README.md create mode 100644 k8s/base/AGENTS.md create mode 100644 k8s/base/README.md create mode 100644 k8s/base/app/AGENTS.md create mode 100644 k8s/base/app/README.md create mode 100644 k8s/base/app/identity/auth/stateful/identity-postgres/configmap-initdb.yaml create mode 100644 k8s/base/app/identity/auth/stateful/identity-postgres/kustomization.yaml create mode 100644 k8s/base/app/identity/auth/stateful/identity-postgres/service-headless.yaml create mode 100644 k8s/base/app/identity/auth/stateful/identity-postgres/service.yaml create mode 100644 k8s/base/app/identity/auth/stateful/identity-postgres/serviceaccount.yaml create mode 100644 k8s/base/app/identity/auth/stateful/identity-postgres/statefulset.yaml create mode 100644 k8s/base/app/identity/auth/stateless/auth-server/configmap.yaml create mode 100644 k8s/base/app/identity/auth/stateless/auth-server/deployment.yaml create mode 100644 k8s/base/app/identity/auth/stateless/auth-server/kustomization.yaml create mode 100644 k8s/base/app/identity/auth/stateless/auth-server/service.yaml create mode 100644 k8s/base/app/identity/auth/stateless/auth-server/serviceaccount.yaml create mode 100644 k8s/base/app/identity/keycloak/stateless/keycloak/keycloak.yaml create mode 100644 k8s/base/app/identity/keycloak/stateless/keycloak/kustomization.yaml create mode 100644 k8s/base/app/storage/minio/stateful/minio/kustomization.yaml create mode 100644 k8s/base/app/storage/minio/stateful/minio/tenant.yaml create mode 100644 k8s/base/managing/AGENTS.md create mode 100755 k8s/base/managing/kustomization.yaml create mode 100644 k8s/base/managing/migration-flyway/configmap-sql.yaml create mode 100644 k8s/base/managing/migration-flyway/job.yaml create mode 100644 k8s/base/managing/migration-flyway/kustomization.yaml create mode 100644 k8s/base/managing/migration-flyway/serviceaccount.yaml create mode 100644 k8s/base/managing/namespace/kustomization.yaml create mode 100644 k8s/base/managing/namespace/namespace.yaml create mode 100755 k8s/base/plugins/docker-registry/configmap.yaml create mode 100644 k8s/base/plugins/docker-registry/deployment.yaml create mode 100755 k8s/base/plugins/docker-registry/kustomization.yaml create mode 100755 k8s/base/plugins/docker-registry/service.yaml create mode 100644 k8s/base/plugins/docker-registry/serviceaccount.yaml create mode 100644 k8s/base/plugins/kustomization.yaml create mode 100644 k8s/base/plugins/oauth2-proxy/deployment.yaml create mode 100644 k8s/base/plugins/oauth2-proxy/kustomization.yaml create mode 100644 k8s/base/plugins/oauth2-proxy/service.yaml create mode 100644 k8s/base/plugins/oauth2-proxy/serviceaccount.yaml create mode 100644 k8s/base/plugins/vault/clusterrolebinding.yaml create mode 100755 k8s/base/plugins/vault/configmap.yaml create mode 100755 k8s/base/plugins/vault/kustomization.yaml create mode 100755 k8s/base/plugins/vault/service.yaml create mode 100755 k8s/base/plugins/vault/serviceaccount.yaml create mode 100755 k8s/base/plugins/vault/statefulset.yaml create mode 100755 k8s/base/plugins/vso/helm/values.yaml create mode 100755 k8s/base/plugins/vso/kustomization.yaml create mode 100755 k8s/base/plugins/vso/serviceaccount.yaml create mode 100755 k8s/base/plugins/vso/vault-auth.yaml create mode 100755 k8s/base/plugins/vso/vault-connection.yaml create mode 100644 k8s/components/forward-auth/kustomization.yaml create mode 100644 k8s/components/forward-auth/oauth2-proxy-config.yaml create mode 100644 k8s/components/forward-auth/oauth2-proxy-ingress.yaml create mode 100644 k8s/components/forward-auth/oauth2-proxy-middleware.yaml create mode 100644 k8s/components/forward-auth/oauth2-proxy-networkpolicy.yaml create mode 100644 k8s/components/forward-auth/oauth2-proxy-vault-secrets.yaml create mode 100644 k8s/overlays/AGENTS.md create mode 100644 k8s/overlays/README.md create mode 100644 k8s/overlays/dev/auth/ingress.yaml create mode 100644 k8s/overlays/dev/auth/kustomization.yaml create mode 100644 k8s/overlays/dev/auth/networkpolicy.yaml create mode 100644 k8s/overlays/dev/database/kustomization.yaml create mode 100644 k8s/overlays/dev/database/networkpolicy.yaml create mode 100644 k8s/overlays/dev/database/vault-secrets.yaml create mode 100644 k8s/overlays/dev/keycloak-realm/kustomization.yaml create mode 100644 k8s/overlays/dev/keycloak-realm/platform-realm-import.yaml create mode 100644 k8s/overlays/dev/keycloak/ingress-admin.yaml create mode 100644 k8s/overlays/dev/keycloak/ingress-public.yaml create mode 100644 k8s/overlays/dev/keycloak/keycloak-hostname-patch.yaml create mode 100644 k8s/overlays/dev/keycloak/kustomization.yaml create mode 100644 k8s/overlays/dev/keycloak/middleware.yaml create mode 100644 k8s/overlays/dev/keycloak/networkpolicy.yaml create mode 100644 k8s/overlays/dev/keycloak/vault-secrets.yaml create mode 100644 k8s/overlays/dev/kustomization.yaml create mode 100644 k8s/overlays/dev/networkpolicy-baseline.yaml create mode 100644 k8s/overlays/dev/platform/cert-manager/kustomization.yaml create mode 100644 k8s/overlays/dev/platform/keycloak-operator/kustomization.yaml create mode 100644 k8s/overlays/dev/platform/keycloak-operator/networkpolicy.yaml create mode 100644 k8s/overlays/dev/platform/traefik/dashboard-service.yaml create mode 100644 k8s/overlays/dev/platform/traefik/helmchartconfig.yaml create mode 100644 k8s/overlays/dev/platform/traefik/kustomization.yaml create mode 100644 k8s/overlays/dev/platform/traefik/middleware.yaml create mode 100644 k8s/overlays/dev/registry/ingress-public.yaml create mode 100644 k8s/overlays/dev/registry/kustomization.yaml create mode 100644 k8s/overlays/dev/registry/middleware.yaml create mode 100644 k8s/overlays/dev/registry/networkpolicy.yaml create mode 100644 k8s/overlays/dev/registry/vault-secrets.yaml create mode 100644 k8s/overlays/dev/storage/kustomization.yaml create mode 100644 k8s/overlays/dev/storage/networkpolicy.yaml create mode 100644 k8s/overlays/dev/storage/vault-secrets.yaml create mode 100644 k8s/overlays/dev/vault/kustomization.yaml create mode 100644 k8s/overlays/dev/vault/networkpolicy.yaml create mode 100644 k8s/overlays/dev/vso/kustomization.yaml create mode 100644 k8s/scripts/AGENTS.md create mode 100644 k8s/scripts/README.md create mode 100755 k8s/scripts/bin/bootstrap.sh create mode 100755 k8s/scripts/bin/teardown.sh create mode 100755 k8s/scripts/ci/validate.sh create mode 100755 k8s/scripts/lib/common.sh create mode 100755 k8s/scripts/lib/vault.sh create mode 100755 k8s/scripts/tasks/minio-operator-install.sh create mode 100755 k8s/scripts/tasks/minio-provision-registry.sh create mode 100755 k8s/scripts/tasks/vault-init.sh create mode 100755 k8s/scripts/tasks/vault-seed-apps.sh create mode 100755 k8s/scripts/tasks/vault-setup-admin.sh create mode 100755 k8s/scripts/tasks/vso-install.sh create mode 100644 presentation/.venv/bin/Activate.ps1 create mode 100644 presentation/.venv/bin/__pycache__/vba_extract.cpython-312.pyc create mode 100644 presentation/.venv/bin/activate create mode 100644 presentation/.venv/bin/activate.csh create mode 100644 presentation/.venv/bin/activate.fish create mode 100755 presentation/.venv/bin/pip create mode 100755 presentation/.venv/bin/pip3 create mode 100755 presentation/.venv/bin/pip3.12 create mode 120000 presentation/.venv/bin/python create mode 120000 presentation/.venv/bin/python3 create mode 120000 presentation/.venv/bin/python3.12 create mode 100755 presentation/.venv/bin/vba_extract.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/AvifImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/BdfFontFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/BlpImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/BmpImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/BufrStubImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ContainerIO.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/CurImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/DcxImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/DdsImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/EpsImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ExifTags.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/FitsImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/FliImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/FontFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/FpxImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/FtexImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/GbrImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/GdImageFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/GifImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/GimpGradientFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/GimpPaletteFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/GribStubImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/Hdf5StubImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/IcnsImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/IcoImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/Image.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageChops.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageCms.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageColor.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw2.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageEnhance.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageFilter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageFont.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageGrab.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageMath.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageMode.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageMorph.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageOps.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImagePalette.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImagePath.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageQt.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageSequence.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageShow.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageStat.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageText.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageTk.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageTransform.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImageWin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/ImtImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/IptcImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/Jpeg2KImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/JpegImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/JpegPresets.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/McIdasImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/MicImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/MpegImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/MpoImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/MspImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PSDraw.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PaletteFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PalmImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PcdImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PcfFontFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PcxImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PdfImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PdfParser.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PixarImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PngImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PpmImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/PsdImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/QoiImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/SgiImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/SpiderImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/SunImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/TarIO.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/TgaImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/TiffImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/TiffTags.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/WalImageFile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/WebPImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/WmfImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/XVThumbImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/XbmImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/XpmImagePlugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__main__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/AvifImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BdfFontFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ContainerIO.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/CurImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ExifTags.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FitsImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FliImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FontFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GdImageFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GifImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GimpGradientFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Image.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageChops.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageCms.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageColor.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageDraw.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageDraw2.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageEnhance.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFilter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFont.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageGrab.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMath.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMode.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMorph.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageOps.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImagePalette.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImagePath.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageQt.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageSequence.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageShow.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageStat.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageText.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageTk.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageTransform.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageWin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/JpegPresets.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MicImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MspImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PSDraw.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PaletteFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcfFontFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PdfParser.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PngImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/QoiImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SunImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TarIO.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TiffTags.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WalImageFile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/__main__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_binary.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_deprecate.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_tkinter_finder.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_typing.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_util.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_version.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/features.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/report.cpython-312.pyc create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_avif.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_avif.pyi create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_binary.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_deprecate.py create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_imaging.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_imaging.pyi create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingcms.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingcms.pyi create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingft.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingft.pyi create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmath.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmath.pyi create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmorph.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmorph.pyi create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingtk.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_imagingtk.pyi create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_tkinter_finder.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_typing.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_util.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_version.py create mode 100755 presentation/.venv/lib/python3.12/site-packages/PIL/_webp.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/_webp.pyi create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/features.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/PIL/report.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/__pycache__/typing_extensions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/INSTALLER create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/METADATA create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/RECORD create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/WHEEL create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSES.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/top_level.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/ElementInclude.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/ElementInclude.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/_elementpath.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/builder.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/cssselect.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/doctestcompare.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/pyclasslookup.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/sax.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/usedoctest.cpython-312.pyc create mode 100755 presentation/.venv/lib/python3.12/site-packages/lxml/_elementpath.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/_elementpath.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/apihelpers.pxi create mode 100755 presentation/.venv/lib/python3.12/site-packages/lxml/builder.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/builder.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/classlookup.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/cleanup.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/cssselect.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/debug.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/docloader.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/doctestcompare.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/dtd.pxi create mode 100755 presentation/.venv/lib/python3.12/site-packages/lxml/etree.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/etree.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/etree.pyx create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/etree_api.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/extensions.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/ElementSoup.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/ElementSoup.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/_diffcommand.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/_difflib.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/_html5builder.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/_setmixin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/builder.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/clean.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/defs.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/diff.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/formfill.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/html5parser.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/soupparser.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/__pycache__/usedoctest.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/_diffcommand.py create mode 100755 presentation/.venv/lib/python3.12/site-packages/lxml/html/_difflib.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/_difflib.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/_html5builder.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/_setmixin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/builder.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/clean.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/defs.py create mode 100755 presentation/.venv/lib/python3.12/site-packages/lxml/html/diff.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/diff.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/formfill.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/html5parser.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/soupparser.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/html/usedoctest.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/__init__.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/c14n.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/config.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/dtdvalid.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/etree_defs.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/etreepublic.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/extlibs/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/extlibs/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/extlibs/libcharset.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/extlibs/localcharset.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/extlibs/zconf.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/extlibs/zlib.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/htmlparser.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libexslt/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libexslt/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libexslt/exslt.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libexslt/exsltconfig.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libexslt/exsltexports.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/HTMLparser.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/HTMLtree.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/SAX.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/SAX2.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/c14n.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/catalog.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/chvalid.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/debugXML.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/dict.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/encoding.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/entities.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/globals.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/hash.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/list.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/nanoftp.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/nanohttp.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/parser.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/parserInternals.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/relaxng.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/schemasInternals.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/schematron.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/threads.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/tree.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/uri.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/valid.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xinclude.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xlink.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlIO.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlautomata.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlerror.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlexports.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlmemory.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlmodule.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlreader.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlregexp.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlsave.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlschemas.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlschemastypes.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlstring.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlunicode.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlversion.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xmlwriter.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xpath.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xpathInternals.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxml/xpointer.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/attributes.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/documents.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/extensions.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/extra.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/functions.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/imports.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/keys.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/namespaces.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/numbersInternals.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/pattern.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/preproc.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/security.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/templates.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/transform.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/variables.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xslt.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xsltInternals.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xsltconfig.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xsltexports.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xsltlocale.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/libxslt/xsltutils.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/lxml-version.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/relaxng.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/schematron.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/tree.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/uri.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/xinclude.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/xmlerror.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/xmlparser.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/xmlschema.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/xpath.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/includes/xslt.pxd create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/rng/iso-schematron.rng create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/iterparse.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/lxml.etree.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/lxml.etree_api.h create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/nsclasses.pxi create mode 100755 presentation/.venv/lib/python3.12/site-packages/lxml/objectify.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/objectify.pyx create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/objectpath.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/parser.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/parsertarget.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/proxy.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/public-api.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/pyclasslookup.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/readonlytree.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/relaxng.pxi create mode 100755 presentation/.venv/lib/python3.12/site-packages/lxml/sax.cpython-312-x86_64-linux-gnu.so create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/sax.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/saxparser.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/schematron.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/serializer.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/usedoctest.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/xinclude.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/xmlerror.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/xmlid.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/xmlschema.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/xpath.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/xslt.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/lxml/xsltext.pxi create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/INSTALLER create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/METADATA create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/RECORD create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/WHEEL create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/licenses/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/sboms/auditwheel.cdx.json create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/top_level.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pillow-12.2.0.dist-info/zip-safe create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libXau-154567c4.so.6.0.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libavif-a883386a.so.16.4.1 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libbrotlicommon-785b7a00.so.1.2.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libbrotlidec-08d35d18.so.1.2.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libfreetype-d2d71ad9.so.6.20.6 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libharfbuzz-ef65cc8a.so.0.61321.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libjpeg-8296d2fa.so.62.4.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/liblcms2-545f6561.so.2.0.18 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/liblzma-3c942967.so.5.8.3 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libopenjp2-f3576751.so.2.5.4 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libpng16-65c953c0.so.16.56.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libsharpyuv-0bacc318.so.0.1.2 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libtiff-f4bc73ff.so.6.2.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libwebp-67ee3789.so.7.2.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libwebpdemux-eeb71312.so.2.0.17 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libwebpmux-20a90b09.so.3.1.2 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libxcb-bac6ebc8.so.1.1.0 create mode 100755 presentation/.venv/lib/python3.12/site-packages/pillow.libs/libzstd-6ea785c0.so.1.5.7 create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/INSTALLER create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/METADATA create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/RECORD create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/REQUESTED create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/WHEEL create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/entry_points.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/AUTHORS.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/certifi/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/distlib/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/distro/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/idna/LICENSE.md create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/msgpack/COPYING create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.APACHE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.BSD create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/pkg_resources/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/platformdirs/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/pygments/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/pyproject_hooks/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/requests/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/resolvelib/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/rich/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/tomli/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/tomli_w/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/truststore/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip-26.1.dist-info/licenses/src/pip/_vendor/urllib3/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/__main__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/__pip-runner__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc create mode 100755 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/build_env.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cache.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/command_context.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/index_command.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/main.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/parser.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/req_command.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/spinners.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/lock.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/cache.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/check.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/completion.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/configuration.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/debug.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/download.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/freeze.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/hash.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/help.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/index.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/inspect.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/install.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/list.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/lock.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/search.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/show.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/commands/wheel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/configuration.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/base.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/installed.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/exceptions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/collector.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/package_finder.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/index/sources.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/locations/base.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/main.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/_json.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/base.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/release_control.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/candidate.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/direct_url.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/format_control.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/index.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/installation_report.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/link.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/release_control.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/scheme.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/search_scope.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/target_python.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/models/wheel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/auth.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/cache.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/download.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/session.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/utils.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/check.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/freeze.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/pyproject.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/pep723.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_dependency_group.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/constructors.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/pep723.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/req_dependency_group.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/req_file.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/req_install.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/req_set.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/base.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/pylock.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/_log.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/compat.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/datetime.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/glibc.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/hashes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/logging.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/misc.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/packaging.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/pylock.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/retry.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/urls.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/utils/wheel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/git.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_internal/wheel_builder.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/README.rst create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/core.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/t32.exe create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/t64-arm.exe create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/t64.exe create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/util.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/w32.exe create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/w64-arm.exe create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distlib/w64.exe create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/distro.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/distro/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/LICENSE.md create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/codec.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/compat.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/core.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/COPYING create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.APACHE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.BSD create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/dependency_groups.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/direct_url.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/errors.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/pylock.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_elffile.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_parser.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/_tokenizer.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/dependency_groups.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/direct_url.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/errors.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/_spdx.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/metadata.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/pylock.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/version.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/console.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/style.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/_mapping.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/token.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pygments/util.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/api.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/auth.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/certs.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/compat.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/help.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/models.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/packages.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/structures.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/requests/utils.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/abstract.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/criterion.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/exceptions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/resolution.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/abc.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/align.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/bar.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/box.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/cells.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/color.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/columns.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/console.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/containers.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/control.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/errors.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/json.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/layout.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/live.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/logging.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/markup.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/measure.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/padding.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/pager.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/palette.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/panel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/progress.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/region.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/repr.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/rule.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/scope.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/screen.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/segment.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/status.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/style.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/styled.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/table.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/text.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/theme.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/themes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/rich/tree.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/__pycache__/_writer.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/_writer.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/tomli_w/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_base_connection.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_request_methods.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_base_connection.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_request_methods.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/connection.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/fetch.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/request.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/response.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/connection.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/emscripten_fetch_worker.js create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/fetch.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/request.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/connection.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/probe.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/connection.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/probe.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/util.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/util.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/_vendor/vendor.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/pip/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/action.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/api.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/exc.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/media.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/package.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/presentation.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/shared.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/slide.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/spec.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/table.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/types.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/__pycache__/util.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/action.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/api.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/axis.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/category.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/chart.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/data.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/datalabel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/legend.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/marker.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/plot.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/point.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/series.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/xlsx.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/__pycache__/xmlwriter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/axis.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/category.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/chart.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/data.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/datalabel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/legend.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/marker.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/plot.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/point.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/series.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/xlsx.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/chart/xmlwriter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/__pycache__/chtfmt.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/__pycache__/color.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/__pycache__/effect.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/__pycache__/fill.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/__pycache__/line.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/chtfmt.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/color.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/effect.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/fill.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/dml/line.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/action.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/base.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/chart.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/dml.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/lang.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/shapes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/__pycache__/text.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/action.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/base.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/chart.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/dml.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/lang.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/shapes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/enum/text.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/exc.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/media.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/constants.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/oxml.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/package.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/packuri.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/serialized.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/shared.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/__pycache__/spec.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/constants.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/oxml.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/package.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/packuri.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/serialized.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/shared.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/opc/spec.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/action.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/coreprops.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/ns.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/presentation.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/simpletypes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/slide.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/table.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/text.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/theme.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/__pycache__/xmlchemy.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/action.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/axis.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/chart.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/datalabel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/legend.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/marker.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/plot.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/series.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/__pycache__/shared.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/axis.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/chart.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/datalabel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/legend.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/marker.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/plot.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/series.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/chart/shared.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/coreprops.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/__pycache__/color.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/__pycache__/fill.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/__pycache__/line.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/color.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/fill.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/dml/line.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/ns.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/presentation.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__pycache__/autoshape.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__pycache__/connector.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__pycache__/graphfrm.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__pycache__/groupshape.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__pycache__/picture.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/__pycache__/shared.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/autoshape.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/connector.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/graphfrm.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/groupshape.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/picture.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/shapes/shared.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/simpletypes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/slide.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/table.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/text.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/theme.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/oxml/xmlchemy.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/package.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/chart.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/coreprops.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/embeddedpackage.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/image.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/media.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/presentation.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/__pycache__/slide.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/chart.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/coreprops.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/embeddedpackage.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/image.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/media.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/presentation.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/parts/slide.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/presentation.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/py.typed create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/autoshape.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/base.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/connector.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/freeform.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/graphfrm.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/group.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/picture.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/placeholder.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/__pycache__/shapetree.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/autoshape.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/base.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/connector.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/freeform.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/graphfrm.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/group.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/picture.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/placeholder.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shapes/shapetree.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/shared.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/slide.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/spec.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/table.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/default.pptx create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/docx-icon.emf create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/generic-icon.emf create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/notes.xml create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/notesMaster.xml create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/pptx-icon.emf create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/theme.xml create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/templates/xlsx-icon.emf create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/__pycache__/fonts.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/__pycache__/layout.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/__pycache__/text.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/fonts.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/layout.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/text/text.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/types.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/pptx/util.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/python_pptx-1.0.2.dist-info/INSTALLER create mode 100644 presentation/.venv/lib/python3.12/site-packages/python_pptx-1.0.2.dist-info/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/python_pptx-1.0.2.dist-info/METADATA create mode 100644 presentation/.venv/lib/python3.12/site-packages/python_pptx-1.0.2.dist-info/RECORD create mode 100644 presentation/.venv/lib/python3.12/site-packages/python_pptx-1.0.2.dist-info/REQUESTED create mode 100644 presentation/.venv/lib/python3.12/site-packages/python_pptx-1.0.2.dist-info/WHEEL create mode 100644 presentation/.venv/lib/python3.12/site-packages/python_pptx-1.0.2.dist-info/top_level.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER create mode 100644 presentation/.venv/lib/python3.12/site-packages/typing_extensions-4.15.0.dist-info/METADATA create mode 100644 presentation/.venv/lib/python3.12/site-packages/typing_extensions-4.15.0.dist-info/RECORD create mode 100644 presentation/.venv/lib/python3.12/site-packages/typing_extensions-4.15.0.dist-info/WHEEL create mode 100644 presentation/.venv/lib/python3.12/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE create mode 100644 presentation/.venv/lib/python3.12/site-packages/typing_extensions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter-3.2.9.dist-info/INSTALLER create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter-3.2.9.dist-info/LICENSE.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter-3.2.9.dist-info/METADATA create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter-3.2.9.dist-info/RECORD create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter-3.2.9.dist-info/WHEEL create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter-3.2.9.dist-info/top_level.txt create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__init__.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/__init__.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/app.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_area.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_bar.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_column.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_doughnut.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_line.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_pie.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_radar.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_scatter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_stock.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chart_title.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/chartsheet.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/color.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/comments.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/contenttypes.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/core.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/custom.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/drawing.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/exceptions.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/feature_property_bag.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/format.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/image.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/metadata.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/packager.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/relationships.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/rich_value.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/rich_value_rel.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/rich_value_structure.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/rich_value_types.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/shape.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/sharedstrings.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/styles.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/table.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/theme.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/url.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/utility.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/vml.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/workbook.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/worksheet.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/__pycache__/xmlwriter.cpython-312.pyc create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/app.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_area.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_bar.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_column.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_doughnut.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_line.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_pie.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_radar.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_scatter.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_stock.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chart_title.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/chartsheet.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/color.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/comments.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/contenttypes.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/core.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/custom.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/drawing.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/exceptions.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/feature_property_bag.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/format.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/image.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/metadata.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/packager.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/relationships.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/rich_value.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/rich_value_rel.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/rich_value_structure.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/rich_value_types.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/shape.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/sharedstrings.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/styles.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/table.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/theme.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/url.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/utility.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/vml.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/workbook.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/worksheet.py create mode 100644 presentation/.venv/lib/python3.12/site-packages/xlsxwriter/xmlwriter.py create mode 120000 presentation/.venv/lib64 create mode 100644 presentation/.venv/pyvenv.cfg create mode 100644 presentation/build/deck.pptx create mode 100644 presentation/diagrams/01-overall.drawio create mode 100644 presentation/diagrams/02-auth-flow.drawio create mode 100644 presentation/diagrams/03-app-ca.drawio create mode 100644 presentation/diagrams/04-data.drawio create mode 100644 presentation/diagrams/05-flyway-evolution.drawio create mode 100644 presentation/diagrams/06-vault-evolution.drawio create mode 100644 presentation/diagrams/07-traefik-pipeline.drawio create mode 100644 presentation/diagrams/registry-pull-deck.drawio create mode 100644 presentation/diagrams/registry-pull-flow.drawio create mode 100644 presentation/diagrams/registry-push-deck.drawio create mode 100644 presentation/diagrams/registry-push-flow.drawio create mode 100644 presentation/diagrams/s10-vault-problems.drawio create mode 100644 presentation/diagrams/s12-encryption-decision.drawio create mode 100644 presentation/diagrams/s13-controller-reconcile.drawio create mode 100644 presentation/diagrams/s14-traffic-flow.drawio create mode 100644 presentation/diagrams/s15-ingress-to-gatewayapi.drawio create mode 100644 presentation/diagrams/s16-l4-vs-l7.drawio create mode 100644 presentation/diagrams/s17-cert-manager.drawio create mode 100644 presentation/diagrams/s17b-cert-manager-variants.drawio create mode 100644 presentation/diagrams/s18-asymmetric-vs-symmetric.drawio create mode 100644 presentation/diagrams/s18b-cipher-suite-anatomy.drawio create mode 100644 presentation/diagrams/s18c-cipher-vs-handshake.drawio create mode 100644 presentation/diagrams/s18d-algorithm-usage-location.drawio create mode 100644 presentation/exports/01-overall.png create mode 100644 presentation/exports/02-auth-flow.png create mode 100644 presentation/exports/03-app-ca.png create mode 100644 presentation/exports/04-data.png create mode 100644 presentation/exports/05-flyway-evolution.png create mode 100644 presentation/exports/06-vault-evolution.png create mode 100644 presentation/exports/07-traefik-pipeline.png create mode 100644 presentation/exports/s10-vault-problems.png create mode 100644 presentation/exports/s12-encryption-decision.png create mode 100644 presentation/scripts/build_pptx.py create mode 100644 terraform/README.md create mode 100644 terraform/environments/README.md create mode 100644 terraform/environments/dev/README.md create mode 100644 terraform/environments/prod/README.md create mode 100644 terraform/environments/staging/README.md create mode 100644 terraform/modules/README.md create mode 100644 terraform/modules/compute/README.md create mode 100644 terraform/modules/database/README.md create mode 100644 terraform/modules/networking/README.md create mode 100644 terraform/modules/storage/README.md create mode 100644 vault-init-keys.json diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..ca32449 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,105 @@ +# AGENTS.md + +Read order: +1. `/AGENTS.md` +2. nearest nested `AGENTS.md` +3. `/docs/standards/infra/STYLE.md` (normative labels/naming/ports/images/resources — always read before any manifest work) +4. relevant `/docs/standards/infra/**` +5. relevant `/docs/examples/infra/**` +6. current request + +> **WARNING TO AI AGENTS**: You MUST READ the files in `/docs/standards/infra/` and `/docs/examples/infra/` using your file reading tools BEFORE proposing or writing any K8s manifests. DO NOT rely on generic Kubernetes knowledge. The standard documents contain mandatory strict rules (e.g., probe settings, security contexts, non-root constraints, resource limits, namespace strategies) that MUST be hardcoded into your output. Generating plain boilerplate YAML without strict standards compliance is a critical failure. + +Repo role: +- this repository owns Kubernetes/K3s infrastructure source +- source of truth is Git + Kustomize directories under `k8s/` +- scripts are helper tools, not the source of truth +- runtime cluster state or server-local manifest files are not authoritative + +Primary directories: +- `k8s/base/`: environment-neutral Kustomize bases +- `k8s/base/app/`: application-facing workload units +- `k8s/base/managing/`: management/operations units such as bootstrap, migration, backup, restore, and admin jobs +- `k8s/base/plugins/`: platform/plugin-style base resources +- `k8s/overlays//`: environment overlays such as `dev`, `staging`, and `prod` +- `k8s/scripts/`: render, diff, apply, validate, backup, and restore helpers +- `docs/standards/infra/`: infra standards +- `docs/examples/infra/`: approved examples + +Structure principle: +- `k8s/base` is organized by operational ownership and workload role, not by environment. +- `k8s/overlays` is organized by environment first, so large fleets can be rendered, diffed, applied, and audited environment-by-environment. +- This repo intentionally does not use the small-project “each service owns its own base and overlays” pattern as the primary layout. +- Service ownership still exists under `k8s/base/app///**`; environment rollout ownership lives under `k8s/overlays/`. + +Hard bans: +- do not treat `/var/lib/rancher/k3s/server/manifests` as source of truth +- do not edit K3s packaged component manifests directly +- do not put production secrets in Git/plain manifests +- do not bypass Kustomize with ad-hoc generated YAML as the primary path +- do not mix app rollout, DB migration, and control-plane upgrade in one opaque step +- do not expose health, metrics, admin, or management endpoints publicly by default +- do not use `hostPath` as an operating default +- do not use `start-dev`/dev-mode style configs for production components +- do not rely on default namespace for production workloads + +Global routing: +- environment / namespace / source-of-truth / K3s packaged components + -> `/docs/standards/infra/architecture-environments.md` +- config / secret / Vault delivery strategy + -> `/docs/standards/infra/config-and-secrets.md` +- workload kind selection + -> `/docs/standards/infra/workload-selection.md` +- storage / PVC / storage class / retention + -> `/docs/standards/infra/storage-pvc.md` +- network / service / ingress / TLS + -> `/docs/standards/infra/network-ingress-tls.md` +- resources / probes / quota / PDB / HPA + -> `/docs/standards/infra/resources-probes-availability.md` +- backup / restore + -> `/docs/standards/infra/backup-restore.md` +- security hardening / RBAC / network policy / pod security + -> `/docs/standards/infra/security-hardening.md` +- operational procedure / upgrade / rollback + -> `/docs/standards/infra/operations-runbook-upgrade-rollback.md` +- observability / health / metrics / logs + -> `/docs/standards/infra/observability-health.md` +- database / PostgreSQL / migration ownership / Flyway flow + -> `/docs/standards/infra/db-and-migration.md` +- K3s-only rules + -> `/docs/standards/infra/k3s-specific.md` +- scripts structure and shell rules + -> `/docs/standards/infra/scripts.md` +- Kustomize structure and overlay rules + -> `/docs/standards/infra/kustomize.md` + +Component routing: +- Keycloak + -> `/docs/standards/infra/keycloak.md` +- Vault + -> `/docs/standards/infra/vault.md` +- MinIO + -> `/docs/standards/infra/minio.md` +- Flyway + -> `/docs/standards/infra/flyway.md` + +Before editing: +- identify target environment: dev / staging / prod +- identify target unit: app / managing / plugin / script / docs +- identify whether the change belongs in `k8s/base`, `k8s/overlays/`, `k8s/scripts`, or docs +- identify workload type: Deployment / StatefulSet / Job / CronJob +- identify whether storage, secret delivery, ingress, migration, or rollback path changes +- identify whether the change touches a K3s-specific rule + +Default execution flow: +- read the owning standard first +- prefer changing Kustomize source under `k8s/` over live cluster state +- prefer render -> validate -> diff -> apply thinking +- prefer explicit rollback/restore path before risky changes + +If the request touches multiple areas, use this priority: +1. `k3s-specific.md` +2. `architecture-environments.md` +3. `db-and-migration.md` +4. the directly relevant component standard +5. supporting standards such as storage / security / operations / observability diff --git a/README.md b/README.md index ec10dbb..f241a2a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,166 @@ -# project-infra +# Project-Infra +K3s 기반 백엔드 실행 환경을 Git으로 관리하는 개인 프로젝트입니다. +[Project-Auth-Server](https://github.com/donghyeon-ka/project-auth-server)가 실제로 실행될 때 필요한 인증 게이트, secret 전달, DB 마이그레이션, 네트워크 정책을 Kubernetes 리소스로 구성했습니다. + +이 프로젝트에서 확인하고 싶었던 질문은 네 가지입니다. + +- 로그인 / 세션 처리를 애플리케이션 밖으로 빼면 ingress와 backend의 책임은 어떻게 나뉘는가? +- secret을 Vault에 두면서도 Pod는 Kubernetes-native하게 실행할 수 있는가? +- default-deny NetworkPolicy 환경에서 백엔드 워크로드가 어떤 통신을 명시해야 하는가? +- dev에 집중하되, staging / prod 승격 시 달라질 정책 지점을 overlay 구조로 남길 수 있는가? + +| | | +|---|---| +| **Runtime** | K3s 1.30, Kustomize, Helm, Bash | +| **Ingress / Auth** | Traefik, oauth2-proxy, Keycloak Operator | +| **Secrets** | HashiCorp Vault, Vault Secrets Operator | +| **Data** | PostgreSQL, Flyway, MinIO, Docker Registry | +| **Policy** | NetworkPolicy default-deny, PSS Restricted | +| **Validation** | `kustomize build`, `kubeconform -strict`, `kube-linter` | +| **Scope** | dev overlay 중심. staging / prod는 의도적으로 미구현 | + +--- + +## Architecture + +![System Overview](docs/diagrams/architecture/01-overall.png) + +큰 흐름은 두 가지입니다. + +- 요청 흐름: `Traefik → oauth2-proxy → auth-server → PostgreSQL / MinIO` +- secret 흐름: `Vault → VSO → Kubernetes Secret → Pod envFrom` + +상세 다이어그램: + +- [ForwardAuth cold path](docs/diagrams/sequence/forward-auth-cold.md) / [warm path](docs/diagrams/sequence/forward-auth-warm.md) +- [Secret pipeline bootstrap](docs/diagrams/sequence/secret-pipeline-bootstrap.md) / [runtime reconcile](docs/diagrams/sequence/secret-pipeline-runtime.md) +- [전체 아키텍처 설명](docs/architecture.md) + +--- + +## Engineering Decisions + +### 1. 인증은 Ingress에서 먼저 막고, 백엔드는 JWT를 다시 검증 + +Traefik `ForwardAuth → oauth2-proxy → Keycloak` 조합으로 미인증 요청을 ingress 계층에서 먼저 차단합니다. +그 뒤 auth-server는 Keycloak JWT를 Spring Security Resource Server로 다시 검증합니다. + +이 구조는 로그인 / 세션 처리와 API 권한 검증을 분리하기 위한 선택입니다. 인증 정책 변경은 애플리케이션 코드보다 Kubernetes manifest 변경으로 다룰 수 있습니다. + +![인증·인가 흐름](docs/diagrams/architecture/02-auth-flow.png) + +### 2. Vault는 source of truth, Pod는 Kubernetes Secret만 소비 + +Pod마다 Vault Agent sidecar를 붙이지 않고, Vault Secrets Operator가 Vault KV 값을 Kubernetes Secret으로 동기화합니다. + +```text +Vault KV-v2 → VSO reconcile → Kubernetes Secret → Pod envFrom +``` + +Pod는 Vault endpoint, token, template rendering을 직접 알지 않습니다. 대신 secret이 Kubernetes Secret으로 존재하므로, etcd encryption-at-rest가 다음 검증 항목으로 남습니다. + +### 3. Vault role / policy는 도메인별로 분리 + +VSO Operator의 ServiceAccount는 하나지만, Vault 쪽 role과 policy는 `vso-auth-platform` / `vso-storage`로 나눴습니다. +각 `VaultStaticSecret`은 자기 도메인의 `VaultAuth`만 참조합니다. + +auth-platform 권한으로 storage secret 경로에 접근하지 못하게 하려는 결정입니다. + +상세 매핑은 [docs/vault-vso.md](docs/vault-vso.md#vaultauth--vaultstaticsecret-매핑)를 참고합니다. + +### 4. NetworkPolicy는 default-deny에서 시작 + +`mnt` namespace 안에서도 모든 Pod 간 ingress / egress를 기본 차단합니다. +새 워크로드를 추가하려면 필요한 통신을 NetworkPolicy로 명시해야 합니다. + +이 마찰은 의도한 것입니다. wide-open으로 시작하는 실수를 줄이고, 워크로드 간 통신 관계를 코드로 남기기 위함입니다. + +상세 매트릭스는 [docs/networking.md](docs/networking.md)를 참고합니다. + +### 5. K3s packaged Traefik manifest는 직접 수정하지 않음 + +K3s가 관리하는 Traefik manifest를 직접 수정하면 재부팅 / 재적용 시 덮어써질 수 있습니다. +그래서 `HelmChartConfig` overlay와 Middleware / TLSOption 리소스로 운영 정책을 관리합니다. + +![Traefik 파이프라인](docs/diagrams/architecture/07-traefik-pipeline.png) + +--- + +## Repository Layout + +Kustomize `base / components / overlays` 구조입니다. + +| Path | Role | +|---|---| +| `k8s/base/` | 환경 중립 매니페스트 | +| `k8s/components/` | 재사용 component. 현재 ForwardAuth component | +| `k8s/overlays/dev/` | 기본 dev 환경. 현재 ForwardAuth component 포함 | +| `k8s/overlays/{staging,prod}/` | 의도적으로 비워둔 승격 지점 | +| `k8s/scripts/` | bootstrap / validation / reusable tasks | +| `terraform/` | contracts만 존재. 추후 구현 | +| `docs/` | 상세 설계와 운영 문서 | + +--- + +## Validation + +```bash +bash k8s/scripts/ci/validate.sh +``` + +`validate.sh`는 주요 overlay에 대해 세 단계를 수행합니다. + +1. `kustomize build` — overlay 조립과 patch 유효성 확인 +2. `kubeconform -strict` — Kubernetes / CRD schema 확인 +3. `kube-linter` — securityContext, resources, image tag 등 정적 점검 + +목표 상태: + +```text +k8s/overlays/dev build=ok schema=ok lint=ok +k8s/overlays/dev/vso build=ok schema=ok lint=ok +``` + +운영 절차는 [docs/operations.md](docs/operations.md), 실행 매뉴얼은 [guide.md](guide.md)를 참고합니다. + +--- + +## Current Status + +| Area | Status | +|---|---| +| dev overlay 매니페스트 | 구성됨 (kustomize / kubeconform / kube-linter 검증 가능) | +| Vault + VSO 부트스트랩 | idempotent script 로 구성 | +| Traefik HelmChartConfig + Middleware | 구성됨 | +| NetworkPolicy default-deny | 구성됨 | +| ForwardAuth | dev overlay에 포함됨 | +| KeycloakRealmImport | overlay 준비됨. 실제 적용 결과 확인 필요 | +| cert-manager + ClusterIssuer | manifest 준비됨. 외부 DNS 필요 | +| staging / prod overlay | 의도적으로 비워둠 | +| Terraform | 디렉토리 contracts만 존재 | + +--- + +## Limitations + +운영 완료 상태가 아니라 dev 환경에서 실행 구조를 검증한 프로젝트입니다. + +- Vault는 file backend 단일 노드입니다. dev에서는 secret 전달 경로와 VSO reconcile을 검증하는 데 충분하다고 보고 선택했습니다. prod에서는 `raft` storage와 KMS auto-unseal로 전환해야 합니다. +- cert-manager / ClusterIssuer manifest는 있지만, 실제 ACME 인증서 발급은 외부 DNS가 Traefik 진입점을 가리켜야 완료됩니다. +- ForwardAuth 로그인 / 로그아웃 / deny-allow E2E 검증은 인증서와 DNS 정리 후 진행할 항목입니다. +- Postgres 백업, Terraform 실제 모듈, staging/prod overlay는 아직 구현하지 않았습니다. + +--- + +## Documentation + +- [docs/architecture.md](docs/architecture.md) — 전체 구조, 워크로드 표, 이미지 정책 +- [docs/networking.md](docs/networking.md) — NetworkPolicy 매트릭스 / 작성 규칙 +- [docs/ingress-traefik.md](docs/ingress-traefik.md) — Traefik, ForwardAuth, cert-manager, KeycloakRealmImport +- [docs/vault-vso.md](docs/vault-vso.md) — Vault auth, policy/role, VSO Secret catalog +- [docs/operations.md](docs/operations.md) — bootstrap 단계, validate.sh, 환경별 차등 +- [docs/troubleshooting.md](docs/troubleshooting.md) — 운영 중 만난 함정 7건 (사건 카탈로그) +- [docs/diagrams/architecture/](docs/diagrams/architecture/) — draw.io 아키텍처 그림 +- [docs/diagrams/sequence/](docs/diagrams/sequence/) — Mermaid sequence diagrams +- [guide.md](guide.md) — 실제 실행 매뉴얼 diff --git a/docs/adr/0001-keycloak-admin-host-not-public.md b/docs/adr/0001-keycloak-admin-host-not-public.md new file mode 100644 index 0000000..12f5dc1 --- /dev/null +++ b/docs/adr/0001-keycloak-admin-host-not-public.md @@ -0,0 +1,41 @@ +# ADR-0001: Keycloak admin host 는 공개 Ingress 로 노출하지 않는다 + +- Status: Accepted +- Date: 2026-04-24 +- Scope: dev / staging / prod 전 환경 + +## 컨텍스트 + +Keycloak CR 의 `spec.hostname.admin` 는 `https://keycloak-admin.dev.example.com` 로 선언되어 있다. Keycloak 26 Hostname v2 는 이 값을 admin console 의 베이스 URL 및 redirect 기준으로 사용한다 (공식 문서: https://www.keycloak.org/server/hostname). 그러나 해당 FQDN 에 대응하는 Kubernetes `Ingress` 리소스는 **의도적으로 생성하지 않는다**. + +## 결정 + +1. `keycloak-admin..example.com` 에 대한 공개 Ingress 는 repo 내에 두지 않는다. +2. admin console 접근은 다음 중 하나를 요구한다: + - 사내 VPN + `kubectl port-forward -n mnt svc/keycloak 9000:9000` (관리 포트 직접 접근) + - bastion 에서 `kubectl exec` 로 `kcadm.sh` 호출 + - 향후 별도로 도입할 zero-trust proxy (Pomerium / cloudflared tunnel / Teleport) 경로 +3. `spec.hostname.admin` 선언 자체는 유지한다 — Keycloak 이 admin UI 링크를 올바른 FQDN 으로 발행해야 외부 OIDC/SAML 메타데이터와 충돌이 없기 때문이다. "FQDN 은 있으나 외부 공개 라우터는 없다" 가 정식 상태다. + +## 근거 + +- `docs/standards/infra/keycloak.md` §11 "Admin Console 은 별도 host 로 분리" + "사내 IP 화이트리스트 / VPN / OIDC forward-auth" 요구와 정합. +- `docs/standards/infra/network-ingress-tls.md` §7 "내부 도구(Argo CD, Grafana, Kibana)는 VPN/zero-trust proxy 로만 노출" 및 §16 "`/admin/*` 는 Ingress path 에 포함하지 않는다" 기준. +- Keycloak 공식 권장: admin console 의 인터넷 공개는 공격면 확대. `sslRequired=external` 만으로는 brute-force / credential stuffing / SSRF 경로를 차단하지 못한다. +- CWE-284 (Improper Access Control) 예방을 위해 관리 평면을 데이터 평면과 물리적으로 분리한다. + +## 결과 + +- admin console 접근은 SRE / platform 팀에만 부여되며, 접근 경로는 Runbook (`docs/standards/infra/operations-runbook-upgrade-rollback.md`) 의 "Keycloak admin 접근" 섹션(TODO)을 따른다. +- 인증 실패에 대한 alerting 은 `/admin/*` 공개 환경보다 훨씬 낮은 임계치로 설정 가능 (외부 스캐너 노이즈가 없기 때문). +- 향후 공개가 필요해지면 이 ADR 의 status 를 `Superseded by ADR-XXXX` 로 바꾸고 신규 ADR 에서: + 1. `keycloak-admin..example.com` 용 Certificate (ECDSA, dev 는 letsencrypt-staging) + 2. 전용 Ingress + Traefik `CIDRAllowList` middleware (사내 CIDR 만 허용) + 3. oauth2-proxy forward-auth 또는 상호 TLS 인증 중 하나 + 4. admin-specific NetworkPolicy (egress-from-keycloak 에 대한 회귀 방지) + 를 함께 도입한다. + +## 대안과 기각 사유 + +- **대안 A — public Ingress + IP allowlist**: Traefik `CIDRAllowList` middleware 로 사내 CIDR 만 허용. 기각 사유: 사내 CIDR 이 변하거나 원격 근무자 VPN 미사용 시 실수로 통과시키는 위험. 관리 평면은 데이터 평면과 동일 ingress controller 를 공유하지 않는 것이 수비적으로 낫다. +- **대안 B — Keycloak 내장 IP allowlist**: Keycloak 자체 인증 흐름에는 path-level IP 필터 기능이 없다. 기각. diff --git a/docs/architecture.md b/docs/architecture.md new file mode 100644 index 0000000..d19487c --- /dev/null +++ b/docs/architecture.md @@ -0,0 +1,147 @@ +# Architecture 상세 + +README 의 Architecture / Key Components 를 보충하는 문서. 폴더 구조 전체와 워크로드, 이미지 정책을 모은다. + +## 폴더 구조 + +``` +Project-Infra/ +├── .gitignore # vault-init-keys.json 제외 +├── .kube-linter.yaml # kube-linter 규칙 (컨텍스트 오탐 4종 제외) +├── README.md # 본 프로젝트 진입 문서 +├── guide.md # 운영 절차서 +├── docs/ # README 보조 분할 문서 +│ +├── k8s/ +│ ├── base/ +│ │ ├── managing/ +│ │ │ ├── namespace/ # mnt namespace + PSS restricted 라벨 +│ │ │ └── migration-flyway/ # Flyway Job (공식 이미지) +│ │ │ +│ │ ├── app/ # 애플리케이션 워크로드 (소유권 = 개발팀) +│ │ │ ├── identity/auth/ +│ │ │ │ ├── stateful/identity-postgres/ +│ │ │ │ └── stateless/auth-server/ +│ │ │ ├── storage/minio/stateful/minio/ +│ │ │ └── test/stateless/test-server-{1,2,3}/ +│ │ │ +│ │ └── plugins/ # 플랫폼 플러그인 (다른 워크로드가 의존) +│ │ ├── vault/ # Vault StatefulSet (공식 이미지) +│ │ ├── docker-registry/ # Registry Deployment (공식 이미지) +│ │ ├── oauth2-proxy/ # ForwardAuth 용 auth proxy +│ │ └── vso/ # VSO CRD 리소스 (VaultConnection / VaultAuth / VaultStaticSecret) +│ │ +│ ├── components/ +│ │ └── forward-auth/ # oauth2-proxy + Traefik ForwardAuth 재사용 component +│ │ +│ ├── overlays/ +│ │ ├── dev/ +│ │ │ ├── kustomization.yaml # dev 전체 집계 (namespace: mnt) +│ │ │ ├── networkpolicy-baseline.yaml # default-deny + DNS egress +│ │ │ ├── platform/ +│ │ │ │ ├── traefik/ # HelmChartConfig + Middleware + TLSOption +│ │ │ │ ├── cert-manager/ # cert-manager v1.20.2 +│ │ │ │ ├── cert-manager-issuers/ # letsencrypt-staging/prod ClusterIssuer +│ │ │ │ └── keycloak-operator/ # Keycloak Operator 26.6.1 +│ │ │ ├── tls/ # cert-manager 적용 후 Certificate +│ │ │ ├── vault/ # Vault overlay + NetworkPolicy + storage patch +│ │ │ ├── registry/ # Registry overlay + NetworkPolicy + storage patch +│ │ │ ├── vso/ # VSO CRDs (Helm 설치 후 별도 apply) +│ │ │ ├── database/ # identity-postgres + VaultStaticSecret +│ │ │ ├── auth/ # auth-server + Ingress(project.com) + flyway +│ │ │ ├── keycloak/ # Keycloak CR + public Ingress +│ │ │ ├── keycloak-realm/ # KeycloakRealmImport (Git-managed realm/client) +│ │ │ ├── storage/ # minio + VaultStaticSecret + certConfig FQDN patch +│ │ │ └── test/ # test-server 1/2/3 +│ │ ├── components/forward-auth/ # dev overlay 에 포함되는 ForwardAuth component +│ │ ├── staging/ # 의도적으로 비어둠 +│ │ └── prod/ # 의도적으로 비어둠 +│ │ +│ └── scripts/ +│ ├── bin/ # 사용자 진입점 (bootstrap.sh / teardown.sh) +│ ├── ci/validate.sh # kustomize + kubeconform + kube-linter +│ ├── lib/ # 공통 라이브러리 (common.sh / vault.sh) +│ └── tasks/ # 재사용 작업 (vault-init / vault-seed-apps / vso-install) +│ +└── terraform/ # contracts 만 존재, 추후 구현 +``` + +## 네임스페이스 전략 + +`mnt` 단일 namespace. 학습 단계의 단순성 우선. 실무에서는 역할별 namespace(`auth`, `storage`, `security`, `registry`) 분리가 원칙이며, base 는 환경 중립이라 overlay 재구성으로 분리 가능하다. + +- Pod Security Standards: `pod-security.kubernetes.io/enforce=restricted` (audit + warn 동시). +- 모든 리소스는 overlay 의 `namespace: mnt` 로 일괄 주입. + +## 워크로드 목록 + +| 워크로드 | 종류 | 위치 | 참조 Secret | +|---|---|---|---| +| `identity-postgres` | StatefulSet | `base/app/identity/auth/stateful/` | `identity-postgres-superuser`, `keycloak-db`, `auth-server-db` | +| [`auth-server`](https://github.com/donghyeon-ka/project-auth-server/tree/develop) | Deployment | `base/app/identity/auth/stateless/` | `auth-server-db` | +| `keycloak` | Keycloak CR (Operator 생성 StatefulSet) | `overlays/dev/keycloak/` | `keycloak-db-operator`, `keycloak-bootstrap-admin-operator` | +| `minio` | Tenant CRD | `base/app/storage/minio/stateful/` | `minio-tenant-env` | +| `test-server-1/2/3` | Deployment | `base/app/test/stateless/` | — | +| `migration-flyway` | Job (PreSync / sync-wave=-1) | `base/managing/migration-flyway/` | `auth-server-db` | +| `vault` | StatefulSet | `base/plugins/vault/` | — | +| `docker-registry` | Deployment | `base/plugins/docker-registry/` | `docker-registry-basic-auth`, `docker-registry-pull-credentials` | + +auth-server / keycloak 모두 `jdbc:postgresql://identity-postgres:5432/` 로 short name 접속 (같은 namespace). + +### Flyway 실행 순서 + +dev overlay 가 migration-flyway Job 에 ArgoCD annotation 을 patch: + +``` +argocd.argoproj.io/sync-wave: "-1" +argocd.argoproj.io/hook: PreSync +``` + +ArgoCD 배포 시 Job 이 앱보다 먼저 돌고 스키마 마이그레이션을 마친 뒤 `auth-server` 가 뜬다. + +### Keycloak hostname patch + +dev overlay JSON patch 가 Keycloak ConfigMap 에 다음을 주입: + +- `KC_HOSTNAME=https://keycloak.dev.example.com` +- `KC_HOSTNAME_ADMIN=https://keycloak-admin.dev.example.com` + +staging / prod 는 자체 hostname 을 overlay 에서 주입. + +### MinIO certConfig.dnsNames + +base 는 short name(`minio`, `minio-hl`) 만 둔다. dev overlay 에서 `minio.mnt.svc.cluster.local`, `*.minio-hl.mnt.svc.cluster.local` 을 patch — base 환경 중립성 원칙. + +## 이미지 정책 + +| 구분 | 이미지 | 근거 | +|---|---|---| +| 공식 upstream | `hashicorp/vault:1.17.2` | HashiCorp 공식 | +| | `registry:2.8.3` | Docker library 공식 | +| | `postgres:16.4` | PostgreSQL 공식 | +| | `quay.io/keycloak/keycloak:26.6.1` | Keycloak Operator 26.6.1 관리 | +| | `minio/minio:RELEASE.2025-01-20T14-49-07Z` | MinIO 공식 | +| | `flyway/flyway:10.20.1` | Flyway 공식 | +| 사용자 개발 | `registry.example.com/auth-platform/auth-server:0.1.0` | 조직 개발 서비스 | +| | `registry.example.com/test-platform/test-server-{1,2,3}:0.1.0` | 조직 개발 서비스 | + +prod 승격 시 공식 이미지도 digest pin(`@sha256:…`)으로 전환. + +## Docker Registry + +| 항목 | 값 | +|---|---| +| 이미지 | `registry:2.8.3` | +| 내부 서비스 | `docker-registry.mnt.svc.cluster.local:5000` | +| 외부 Ingress | `registry.project.com` (`/v2` only) | +| 인증 | 내부 Service 무인증, 외부 Ingress + kubelet pull 만 credential 사용 | +| 저장 | MinIO S3 bucket `docker-registry` | + +### 인증 경계 + +Registry 자체 auth 는 켜지 않는다. 인증 경계는 두 곳: + +- 외부 Ingress: Traefik `Middleware/docker-registry-basic-auth` 가 VSO 로 생성된 `docker-registry-basic-auth` Secret 의 htpasswd 를 검증 +- 내부 pull: 앱 ServiceAccount 에 `docker-registry-pull-credentials` imagePullSecret + +따라서 `docker-registry-ingress-traefik` NetworkPolicy + BasicAuth Secret + imagePullSecret 이 함께 있어야 push/pull 양쪽이 안전하다. diff --git a/docs/diagrams/architecture/01-overall.png b/docs/diagrams/architecture/01-overall.png new file mode 100644 index 0000000000000000000000000000000000000000..9c45278f3adf8de85ca19cb755d9a6483ef1d598 GIT binary patch literal 732285 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%0Djt21z=;1Ej7^l;PQebKug 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%0Dv%PHPRW` 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%0DJ7EKK!^dVD>>yT^K$ajdMZAfYNSp{^UYO#XVXoc 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 Gz&#pGcVP3Xb_I&*7@r) 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

V_xs& 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 X)9Tj_TD_MB56 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%0Aw_nvz$8t+T;6IK#%L|; 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

l}rqLA;+jE=TgR{ezxl% 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 D`xtY$ literal 0 HcmV?d00001 diff --git a/docs/diagrams/architecture/02-auth-flow.png b/docs/diagrams/architecture/02-auth-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..0214808949ef5bc3cb5706b176dfd6b2ccf7a9fb GIT binary patch literal 658820 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 z z`jqGlAw-;`n)J|R+eUnOTOD< zy@tL0F_kjZV|+vGVn$!h**BD2878F?q#SBMfA%px?vxx>l>v@gSbN*Kftj&heV1Z4 z^u=?*nGZx9%IXYEe*gRd;vc=w0l^akkyQp(jWR3YGwmuTQbx zZ2borG@g1IZ<$2=zGC?3es#Qkec>r2fsTp}6F1MdU4AE~x=jNxz&S$l0VOXkhLAfp0R^Y~#I4vRftb`f5|%IPG(nlY=josALPn>nK6{_9 z!Oo+=SHAl-t&Oap6%=I#{sj@tur zeP`?~Y_X}sq@;L1P2%JA?wCHADM-64ZQKGa50eht{1EI!@pnLYl5aw@8z_)NUUMI; zy)M~&@w`ryty?UijOp6%cyteFUEaVF&e&3JC`PQoO^M6X2#%`5RK>mFk7}n9aqf%v ztM|Un{QE8wKqtwkqDWPKbibb~woTgrdy&;x016oJRd08w<*b4 zIGnJXdrt`j2!K%%HlO=zdFm5JeE&qSWBhVZ_D|IO)2+AtZ*8A_vydVDLN4o{MX2% z9iMYWQ>0X<39QeYVo0hairojY^L!hBG6)o~*#)YXOm z;HbZ&SKqOVo`)-UbZCTbLu?JgKlC`*-9yQ?rEz<2bK$dh&|G?L2TF_$;p9pji%(ZP z>R8#&W$d(d7Gp=N&J2J8q|XX+UU+mlK(%!>y*p8ST$;&Ik9ft14og87Fu(rQ!%R4p zn({u2$ZSn3!s-jP)jd=zVAp|YVFX4PO;8-vy~uYikbya?ZopT+X!BkU6rzmmTx!>w z?O~{Z#U0=Moik7WcbV8w#^HWsxgg}EDn8MZ=sy-#5D=S4Y^lUU<{Ia5>+R{-(S?W^QYPHzxkyX}AU>V(gJ*nR%qJxOw>@S7libwag(4!3Q7 z61VuoI_;1M|DIpmmYwzVxXpelOAsvU)y>4K8d`H-*Hgk4dqv9Z?#uZ)Tm>8N+$TT$ zs}|sY(3)X??#}Q-&Rks{B__5e-b+s{-#u^#eaPs6eKqGb*FiIIOffyT7<2ZP>?H$W zTzA*NvE$YO;D04D{(pCh3%*q*XPytZ1sddYHa{RW6B7Y-V!wp0PM#Clz0Q*WACHRj z=`XN^4Ck&s7haxjV0pM8nbEVy{2L?%!({L-<$EPhh24lb4$JU4)}qjt)4CI*uaPUX zdNfiRq(|=2-g?iTk2RV3Nlzv^WPA%LR8Z~t$I`S@&4>HIYh@_)fR;E~t3^KQ1FF5S zhT=R39xileq?Z3@AK>*{hqryx4(98L5vOLVeM{?4V^P=63;I&Rz8%yjAn93RwmpeB z4yC4UJhyV9;hT<6?7mj8Hl7MNDF(z>R~Xdh!&h%vRcH34 zJ3X%qlodOV5l5pRgnjp^NtV{q65($>r{$t0i1asNpLL#K#i-eld~>8*trPpbQ)^fc zdqSg_BucEBm_@9AzTp@;QKPm1O6VvMJivrEGFeW2bW~HwOvw0wpm~gDT5xzE^n)=KKfE!X?eYu!&mEoi#|oN7{`#H zwjGN4`FarP{(84aKBD7$ZN7v}_wIf~I^N=^N!xf8@H%F# z{r5W;-uKH! zWSO?Hrn!HgF?aQHm1W6p|C&w{dai0qU%-8Wx8Z7ZuGuZFesBqG_g?N6#X(EXzWYXb>7+}mSz14jw{kw%P>X6ds!`+A@w-UxD2U+zLOk++96E(J>rGXyAYTzbyaa{ z{9wNC%s<46+&gP(TILvuO-p;=@s#tV-vyPWU9l!&KwY|-_@(>Uy4Q_hSL$Zi;XUZiG?q_r$XS+BP#$_Q(oy_f);y2PZk z*He#YglF&tM47y$R{@*g)Oa&uo2s-P&xpt%#)3oJb0zMTbET4n0mWh4YxM!N+zxoQ zwPT+R*2uuah#y%44;Cm@-mouX_U=B@veLw{vMTt6EAQ^!PVf;Xe35xB0DWt*n5=r! z=33U3{Xhpk4o?dcvoAL^W-vtZw~W4*qiP2kiQrF5yct_DcJ7vJMO4iTKUENr^VQ~7 zszbV=3~&x!Swl}oZj5wi;2H?(9?w&o`)L(%je|VAn zAbdHIUE=|cbsLc7St-Sq?oNvc1h>qo093`&6L(kx`D<8n58pv&y$4*u8jRVft6=n| z3pjUS@c5s*&IOO|!}zhRGk+Jy0NmL{|Pk8(nQ+RC>{|Ps-P@c;UO{sB-%f&e%Ov_((E2F2i;$o&!gZw)+;QZR7ow~k@MANrU30hrC zAoTPYjgMGaS3qt@T+*9iEPWAnstU+Af|~wK*ZU7%;Gzu0`oYplu2I<*ch@Q z>h_FdP|DHqOEn>QqRB#6ucmJL9!k)?-^;K2Y*n@TN18uS;pdQHJ49EIVERGCuGoE~ z@$eh5#;MZz9Nq$~y)QMWH^`xr8rKHK$5u}5u9oT0mP0H_odSQsuG9~J-uoI5#LGr> zl`0q#VfaFudwII(MkC7Tq(X`Y z{rYQrc_?VHXdlLY`sL?;4KWXO9Gs12swTHY0_$2s8RkhIV?5#3-Z+8PQ|4G5?WnKF zPg$*yQM3^sP~sOBq$5m4XW3*lK2sy0h3V2HeyJz%{g@*GOfaf%e`~87x_sX=^%ab7 z;DO$?s83S^Zf#AI@{|I9XQsvWjQ4PrH)AktIQeqCp@9~mzM{IE`my4vZ!|D7esHnvV2uk?mfx(k4SM+MJv{W>pnMRONtL<*^|4I$fu!D1Os0- z=vJREqZ`^S>*ExyIT~w6|HE{t|K&-vVS`7=_)ac_>#me_t=R`rBRI^lzretR?o8LY zF)`-%DhX)!dS8t@40R~PUo+?4m+SvMV1IUze@}P*v+=-FwNp!7FW)rSfJ<(H3Qpps zswH)YwzGvOYr4MXK@h&7!K%L8G~SWq;a1yQPy4;;Si(S_Q$KLo%CsH55u;uZb&hZU zRFLuN%mz)V$#O6sgP26apCHIb)RExc(&lpa_e+5Uzaoy5ZG-wmgnzxEWvObnY;d2) zp(M9O-AO^f-AqW^=&$-SB=Uo}va`5dP`cE{nNtY`Tj(qu@B@{ww2l1vPet_FusF}J zBQ4*1GefxbnZ>;CV=_e^2hx}U4bIZ+;h2x9Mug4i$K-0m>%jZPtep}mG4xXJPVH<% zNDMP+8gmXT`chREVI9L))azJ*667*e90~+JmVhI9DcR)&>TP{VA+-fkrSXoHy1=R! zR`&p@@la2sVK_Uz`(ryniTh`O4NXa{SkpF7vtiIfYS)pV$~uYY#GHaX9-$!Yp-MkV#g z?EF$6GX)eALf-9mJ~W?|<|heIw7gW-tX99HLl?)OHzcK?oTVZfkB?AP*`rjd2_j~G zHUTS^K{bkTJG@<9W<+-r4)K6=s=3Q!WpizBSun;Rj^FB2bWR+_#+Eb|_-ic&k3>LU z()pa=m_5v`iY|bYoUivo!xLT(2R%$5rR;xx#CR|Nzx?+)MdFf!t*5y`d{~KuP|(;t z`?#5G4a8!zMEd2;H3Ss{ldErNz*HkO}Z%^*dx@xD> z1AeQk2!=)&XyGe@UwW;AFG;oBDxI$_sPwH7l1H=KGuC#SKeusLht34`L>#jm*!Y^S zvTHL(uN|s;B_)otd|W<5hTIY?UeFp?YE|_uU^Wr+#O#9ddv^q)+e+XQWU4x!KCi;@ z@J6CUV@0)f1pq6DqDd+Tn@%^pFmR5p;tWL)&nwy({3l!4D0Se*zh{U3b$a(lD63SS zOdldu1lCNjAXLEgcT(wqg82RNxXonAz>)qP;pI_va9M~TI7!j>meJEvwtVCs@q)oFiYznJt0FoWq@7hbm zj&1tY^-R^dcfO^x1e0EJwFH^N`E!Z{`nQ*MikiTQWTfL9i1ANRf$eZYzDZS2C$^yv2A*!NhRJ@}>b)alU$-v{R2;Q@3Bzi#9&gEnO2Uh(9 zqOA374yo1SITdDtZdrk`JItqRp#BqxenC$h09mfqUQDp)bcVLd^Fly-)WB=Fm_D=5 zHI&z4od(O#4+ST<9}bm`YThN}vt^-HmnK3x4jc+$Qs*!Bkv^X5bQ8sci)M5bv_z&O z9({Z=j7+nrnsFkNBoquG&9j9z`LV0hQ6`;Dx+EKH=P5C)P!of@Htf)G2%=YJ)mGYU zSUKukGdZ}LjLUMvEx@JJEn)?4f?xn-i!U*m4$ zl<0LoCF3Q$$T`tnD2e#HYN%g=Ff|#Bd>vgq08?&s7jAGa8b6Go+`D)-uF4JXcd@7^qh`&?T!yO&ilU0ZKo!%FIL=KElHB%M6maS7g z=nQZVKIvs@F9J_uDIG3Edo!bf)b&(exeMc1M;3y|nAsg?Z7WR;D0KhSmk- zP*7EdrTfuuL9zuAZRy8(W$F6mqx{m;QXA*qy_OX$yg68E-y4>S+k8D!V<*Pn7?5Jz zRm!(n*HX38&)l8`x#UZ~Pnl4BSfQ36mL_;R*BBSu-WyJ!FXczAH|uQf+gAFczBlPFMp$rZY{d!nz%RN1b^!^Nl5 zqRz13rq!Ue4i4^xUI5a09Obu|zh_GNj-3Sv5YnrbUDeu-TNW0ts%-Bx*P`65I&qgY z*vAD<#}QG5I0H+3;B!IT8|aQAWM8Ycz0kOowGf4nR=ATn$ZIAC9+0U@QcFP-Z&{SAut@xR}>W-o|9e=-J;{_$^8Ao#)5 zo9lvJ@YhTRd*LU~&JZ~wzt+)Vv1>mIV)rqrcYR8>AxNk*OaaBdMoabWm3=E_Yb8aCCmwz$$&(sV zz<5`tC6N~@F`haZgVn$@zxbBfF11~|us`PGs?3kro9~3b$k@W>H)d<+emW0f7WEE{xCsQR zo4~x571+jA0v>OgqG;3>#i*6s4!q761t7LwiixTx7)T20y_kcd;r_5xJk4f}_P5WH zKYej*`LC}E|0!($nh_3on&}J`(;)t;5h=L!KZ9r~<{IxF$JV39r$JF};qMibA0jOl zSqt7m^8^!ltAHihKzPKx0YDh0M5uXDO4*XqU7}7YZZ9M9HyHX(Prf zrlvZWRC9G5vGLhuaU)9u>@ps`*gFH?!^J&b-xtpU^7OuXDMOHVTx|B8&SLBoPK9ff z8Gz5v5WowN%N9FZ@kSt{!U+;Td{io)!kZHi=K!ZR_d?*czkSQJ>c&%LO*_3o{-8>+ z>zTz8HGdBpCG%)Op7iq_G<>a|{-zTriR0ujEED{J+T(AF`~I8@7(u7J#OCcq`bA9o z(`dDZ(r6TGJktF!EsT+VC|SYsiJYQ>B^=$1F_bzjl=&ExG%v!R1gqG???1lkzCS;Ht3;lX# z&6Ky(991_l8f?@L2nF)u=hqa0w-QO#$8% z$#(B1c48J~8uMX6jecr2R-NCa!@mBT1*F}I$OZnc7?t5EgYs)*-luB2@Gtf$|I=zE zN+_5pQEWcyBCgD_y(3NTm}m@o9x5EZe-~V#A4J{Nr-yI+%UW3a<9D4OPn0!Ye|Yav z$M0IM9?fV7CwfYsv1-D0p0?2AGrfjpZMvXTB!`MOQiZfJA6~ev!qdqeL~SaXt!s7z zn5FF6S4J!|HnjfjgSW>)PC+rj+T7|VGc|gEH#jN=!S326hVXA#Km5lsMbY9np|0a` zteP{S559dkk zEcILm#W-(0a=bixv#m^o|2AZBkTmE(l`0mxp2A&3>@LVqA@k+^!)_a27=eF^>uEa(NMDB2{p%L@LC57MA zqxwO#@kLD6kd16obV|-bxC*(-C21nchR37jo}qIkqSnX9udpa-BL|&}F@eaDR&SS# z1sr0<-wnbm*=KPwhu{hMJyv_^7L(N@Fo|t>sKk-YBB9@IWOAo}mTW^6VAM@R4Erp`SPgjU1!R3{W}~ z_%Ls2H1X}5(=nGRC<>J=7bm5=9@SsN0CqLHJb(6E;*oSmCN&-;v^$URhVVADp4eVE z9DH{N-)h5yl<01!1zkk+j|Huy)z%-$u66IE*4A%auJy-!1F44NU7t4EKHO4@Ao_gO zW<3*iMYKCZ7nOsQ0ttmXZcMvhWY-W&(s=RZ_k2cPVOZ3kdGKDrUOr2mQoGefkN@89 zAveEcnV?r`7E|se%~07EInN#$%~=hyzE1YlfO|2)Qw6lI=cF)NxV)bZiA-NJG^nupyQ*wFsHJQfm3aJSTi3 zBXcP&!ucidXy9q0Gx%;y2aX}m8l=CwGuzQw4hz!%N_@ldP4KLqHAJ->!1COM{S_C zdpUZtZ&6EYy}KIndm0yN|7qdUC7MQ%L$z|Uc6lWs=PzG-uReG@&#Hv-;U=Y?#eG7F zU#SgC-wR`tO#&2rU)uTjjx}4}JIjoSiR=$o+k9Dl43e*Z-cZkzzq|Y1X>{l9b9sQo zI@rd^C4V&%Bu6nTaNqK^40dcBfU&yXobJ4=8z@K<#-nQ(mvqfQCb2p{$3-o?*lw9| zx^bh?DWWp3j}*uLxZCz&&QT3C$8Kr)`hOQwJ~qC7;=eC~pcw3${CwGCYlZ^ne|-?_ zj&Kf3-X9P+aWb|{>9`mGi&atG~_R?S;IHbxoF4 zzwEi&WD@}BQ_)-}9M&7i4>8b*V&s3NL2o%H3h|f^)}s0;Z?aM^NuxVwgx%m5OJ;Mo zxtk3}^F5i6)VMALEP;YugsY9tFk6YanEg;6E-tj-uj%i4~3@b zaqE-K-fPVR-=es+NQ&UplN*A7#HT?Ecxs2Po{^Z%EHCOpNXA;s7nLNF+$gC`zl!a; z)W3B{{ViWw6=6vT6+44K#MXPUts`vCG0t=+yMa+S*jhRSTZJOOy%Q(NiMU5a4*3)q-@z$N4;mDjT?Viz!tuU{)Lfp!t!m166LAg;h->ZjCc2ku+5o;c)r#a0}x7{_stGA@Uq=Cl>0yb=dq2eJUVzVUHrFW zDvfsFq^s<-y^V(5^;gqw+gi|1xZFYXZ=r;6{&vek!0JNJMT=3AvA^!G2kfd*1{&J{P-b<}W;^^ENR)8jPR96?PP4$Eve?Jodl zwHYNPhBY}rroHNRx8O3zuqEaLs!P_B()5}c#i$;8H5wk<8a{@we3G2NQb{?`_s;#G$D?_6l?%^)3mbKvL&afh-kNM_cy z*~Vp^ZtQb@swzsxuD-mVl&?t@&!5sTLqDaotMXpz$?nNHN78X^->&uyAp9GCYxE*q z(aGBoXbSU)`IS&@4`MO>Do4%rrapU0HHgjybt*F5$p*eJ4GQw1(7fuIT&l zOQF8kYb zePeAyaKgexPbu~Ahx(lU4=sC7Ye~5`Ad8NbYdvv#;b{XCl(#r8jEL!aj^&(CMKK&M z-2VM;#AFTgVBPe@-tDNn%#eS70sTn;fzaVHF zqsF4%S@c*P`RGk(8kkr={oI*QF*5BWQCpy8JTesWY9grJP7(9FiB^iQIq32ZK5ov| zWo2Tx<-y)~uz6ePqhy5#{f!Rfr3Wm`XQQsnfL=YoRV5~N(-!9LlxYAYO_8_? z`v@mWJlI05$lxk%?z?2x+UNVB~zs691Il zrew{ldElZ;nbL{kjXQVOw@`+gTZrdLDkeR@=-nZGqidyI?A^5=;KV?twi1A9BjpBaCGc59M3#VDtwFn7HbOxi&ND#N9W|(6iBFl-dcXumK zszojv0qEyV%#v$`(7Y{U{zuwSgHe|l402Wv!0-sAawFHG`yFU&QhT@GTz!6Fe?64X z@7HB^mCKJ@a=0mW?96|bf;}?-Q7OD%Y&ab0uaJidN~ozD%Z3@Z1L=#5T>ZEy2?A*w>@8I5*(rGQ10;d+YQtFAm6dv$^fo~ z^+2n#?5q&a+orNZjry02m5EpdlT-7eq1UH+S-0___s>^!Imw0qI9^zZKc9?10a9E;p=LF@Ta&T&2qDeM^z15c_lJ@D*!=4A?lZ>+85;fEP1oHaXllD%bP65l-tz)9MJYC#kSEQX(TgvP;@%vm3G^cKJTjUpIW=BANAgK zviBJV(l(nY7==DFK6UTi0UHODzaxaOs%DWi!}s$ZKJ3tO)?_=`*!?u_&W7St>MUes z^226S0P+FOi{QuNJCnaSNhHao^a)ym!XVFWjlGhIkW^>G8h!tCuhEL(&_Ihs<=JSO zeNeB9L7~fY4q8goXzBOgFaNhx{kku{qdKp@;OZC-!grwj8JJR0{jr?)Dx3BbvFan5 z5p&Q8O(%p~UhvRE+I?cv{HVNEk^>f`@z(YF;bPuzYT+{rk-P!#cvbNnBR+9VluLph zloYFW`K|nyraQ#jtxKua=(zG8AwA*h4_+1zKQ(_gZQ?k7u#6jq8kv}9t-vc-@Kk97 zH3B;_(!P6vBW0KpYY`={?EDaaSY^V$psj`^e~)cZTp5jwdN=Us)|TgN%Ea>P5ZqBH z?~QmYYY8(<8~u(BsqsgC<>-)a%L~1KaAk%0jX611e%rtYLm4Y8Ic)Qj>*nVmK{~v) z(;XIf5)`8qayuTA0+p^s^TBI=h++MIvjCf2g2C!DQJDH>@ECujNCsP3;!*VcX}-F{_d1qj>?dM^67?e4Am}I zjMLdWU^~)dWc7fqL)Vs#(Wz>nqn2b7<)_2KQn#Nk(SL1-&qx-@T^H|j=G+gR@_@cS zclmDJjC-1K;!!TdHp(HV_e{iCqmo;ekr zF6_EEO-OZDjs97Dl0LajQjIDRc4&H)VIUx`(;I*!0L1J90MJ9PzVyh|a*_J+8|Y~3 zMqH>;*u?q@Ch*~A@rN7j-limAOO5Gj;979eMkSzk;|34(^Syk19qukQYSFT;+l6eB)R~#~g5EFH zQ`-k-1o#HY<7FC`#Tl->g+hI=`8qS6aPr2j`Ub629bX zQ-9fbzb}Yec#+pUBELRCY!0;?3!L~x@P~DFMjZJ|{{MXbpzGg!FhM%^z(Ksk>(~Ey zx^nDZ!BvfdSW;$N9HmzGRD4)(3wgx`(kq1sy;c7r)jzij8H-C96$Pn8E8%tRVR?$m z8}%LEl-)>Sx|qe%8fh@!b9e*>j1-u)KyB}fs{bErR~;8s*7qM-Q5O`0QqrJPrJG$B z5Ree0Q&75whJgXrMH&>OQvm@f=?)PXkr>IL(V<&%fFa&{hY;L%pJxsKnvXNwbM866 z{QjyivIwH-&@u&?y5Cr5Fzw(IC*4dwJ8r75xzov+s&j5SyX#68pJ_pHp_O!2DA#hm zsY4(pTb;d2Gfm6ZVu+J9xBZ3FTUD1&PI@WLWp(D^8N_8~CGyUueKmaZntRLn>lggj*?5gVSS>ION=tu_r#?MsmZnFZDu$Bn|l zr$o(s<%r-M`%g}dH7hiA_Q86$pypM#HEmH+3-4Ac^h#*e5i^`~2Lt9)rEzjwls&>& z$9xl4)dekE%Hr3q2ydbg<*P~0O+Up81tWv|;5q@`3xqG9nZ0To9ziHgXZ5pX2|o1X zMSD{@>F<1QoIn+dkwlcO6;FKZix-Dm-fCR0^r?|;D42JP;}*ZKxWU2rXB5?DnJEAS zx&^(gIK7DqGNz{u+}C0m`>Vl-pK!~(F- zk<`P%(IV`n1K8Hy_nwPZFi|whA3xP`^H}5FDBIj?uP5BteYxVv?mg5%C$ce<(lg$9 zJu=Ay_vNV|Gu<5G$!RmUgtv_kgpg?5_PtKS(~{Tm-pN$5D?*dma=LglE@#A;r_PtB z@`9=Gf~)h+RFKPgd}G;iU_}Xg{3-g3jASEJ(I&q z5Es=>;pdet)$OS9tBh0aNlP_OMWGfGh4YM)QBwT$=E)ePy7dF2 z$i=G0XsVQHJQIAoo)STroaw}}{V1HZTSv>0^^~Ok$t~rq%9X* zGlhOP@u6!nWo-QBmpNJ z7G%sr+ZKa)ljY5@_1Kj5HiOLOYj~6??dFBr+(!oa0-oj*V9M_oW#1$V+v&3mc z7`&;eREaM!DYr(@8E3&Q`!B}|TuK}%Zs2*YWmo@dVUx0=9VR(<77u9)Pd1gv?o1)p zit6b7B9B255F;V^N&BVqh-q%{6f%Sdk76_m5Hx&L(EbeYHmRm z3UUbwnG!EcDqK!Ywe&MMqhF!aOC0+$Tk>hpgSq7-|A7^>8=+);a5xa~*+JZl?c-wY zp%sEHhUVJD11{3j;-uJD_mR(KLR9T@l=-gF*9A~P7skPz>_8c-T$3M;F_%&(ZD~3T zSieE#_z}!Gp}dOcDzp7$8(n4at_WcP4`~v!%&C=M)8CMR)SfeMkTUKB%wPx zwH8eqp4=Z^L|G!C+r^VHN^K}%>aC%d3sbS=wbxX#i4gT$KO;| z<3^WGf$QK_1Jt2bhj6i%tAq6z;60~0drZ2G7Eg_HUfoRr!)n;$Ocxl?y?@;=(V39u z=bp{ATGZRsEqPkH@9@u#HTOJ6%Q~5pfe=1658^%1huwsTga0|T599B*B?W$Z8G{ol zr7C|8vfV1QxB(L~x~J)22|NERY3DqYEe^Tk+gIfcsE6qG?QtDK)SC2(T0hIPfk}=n zbv&+E-4J}kmmjuP7jN7en?AS6MCG)dQoR1gaya1ZV-l?vC~LY^lW#KK`?!@M5T(Zz zp5LgVMlJSLzPrTE_%ej3zhw65ymc>mvl4p?uWe*Z;YgAVX0wK0WSgIkfPc8+HeL*k z>oyt3jle2L(Wqp};SEW}0&|J^&>af4%E`R7xs+Bu8v-hBwye^nM&Pd>q%@b(u}_8x zhP-mgiq33jlp+z7qLVB~Yz?L4EL5_?UFFXBA}T2_H9%=f!pwXIWIPdWWw&(vo`RrY zoyOuF5}j1B1t+EKBFB$vytjQ%)0apSEKEVG;85zb>^(#p8AE*I<;x9M%4~y9tl*1W zm)3L~@r*|WY~Pa3-?VY8E!i3_sNtJ)bCzGO7;fbK)aK!Y*olv`Gu+vxFBvq~;PIu; z(f|szvJ98iS*vtqB_op@yIy+E4@4uhXai?LFbknXSv#5DjCPtjWd5aMub#omQF?^qxjiq>Yk*z&C(TRDR6AN-x=0BoY`n2(2PI8Mkc_<2p;9 zvvk+8{*{0r`P*%Zculs!)gFsaw|!NJxXh{`$Z{N(GNQq3602%4 zoq|F|3kNlXq>v0nQ_$cV^tSZz@-_8vt0&%~!PT}V!J@*=k`p7Zlhi|dQ(o*%Q zz56x7?}kZJQVgs@*_67$hP_8M6v4%4X4}cg{A_Zihv!;5jx_oFlJ#=;V%kLMT;gQm zvVmNEq>3AbkH;latCJpX$MM`u zH^-~vu;~JORFJ2kJCZVAi{^=^2H-_@aoD2lolP5~&E@LO8<0ONM#mTl>+8ZvsV{|W zZ*Um;m?H=H0g&*Wv5kUMH6utg_e!cKEQNj8+4-0(``H92VvsLA4i>03JAeJxqonnf zjs~|Odg8b&pVg#Me=1BiIO+1c8>Fx&?O`!QM1RD}@ih{vDa} z^*0}G`+Cr9`4uLeYq|?%*S3wSMh_b8EoM=g%*1iZ5Y#S7XzQq z6QX>=-F!^vwwXX{`gWXjYr%-!o0jI`;9+MvFFp+=VdR64Tq;K7Jh6FF+K}LpUVpQ3 z%Fb(r14i5B8m|DSpRnnVw^NM;K291fN^`O4#M*L$MWgm>=$b2K_Caj3(c92fL}N$V z`RqyzbYo#XWxPH2Q9}BoFUx)J;TZUPB?E~!5Y+?csVOOEwT!1c%I3`}S zh11@cX-?7qFiR@2^9zsfr>(d~594l=O2ET!x9*L>Qk2Kkxr>;kqE^e4xEr6}vFcZU ziYB#)t^*+R(K}oY=!c1;x#{Eid{;yh^p2@~G1Yeeb{9fELN5op?D{pF*)dZJ$s18^ z=<-%KBf;%O_T*^&g3&R*aZ5E3XO=;xd3Cij8d*bp7JQbSxA7*QRmKtNmMqLDy;u<( zC8c3>MQl<=*V!3n-Lp6!l63pSLwYu9p7=5;nmTT&A)O6DM!m%kp{8|C5-Z-1&)`Yv zun7;jd5NJu50ptLbR-w&bo@5YB~XhCXCZBl;$*O+UGzOOY8Ub5@k3HmV)p)0SVoRZ zwA4T(5l`uOTW4Z9icM)|MB$n&eFn00$AC15 zgZRsFlM>NKB$@h8Zz25JMCi8pIAP@}mM*ZCV++F-D)q%fuy?ZxYf9CgXZZ!lng(tb z4P5e=BEHUl498AY7xnJbjVV8m8$c$*)!-f9=YNSUV(y}^u`{-!o*eN0e>~J#bSJ+o zh*dYDtGG0K`6IjP$AgdI^$>wy?Iz_SzD*2lR071totUM4TLoP@)ge=Fq$L!tKUk;L zkcjRIc=6lTpZO8ZdIRc7Vt2JmD^!++oILY|ET6cM2mi@FFO(0_be;0enR`F0_Y`+5 zuy6@5h;y1cUu*Nv0kE|k{yQ31?J}E3stLOY_HC$P*?@ceB+(1iJIG+c7+PPw@g8a{oDEtEN2d+R6 zLlRy&`=`=yDThiR;BmZX(dMvssT{7lg;{&?L&G9@`16ewG&kv; zs3ddZ`|y!583HBBtq(w2aSGGUf2e6+v)H=xNe0#QHr$7jXO>LzP3(vhx4D8yaHdB1 z*i#}_$u74JZ9j=B47V?{tooHOO~<$g-grf?v@JbDlu#&=X*;$&l|>3Brc%X?moEdR z;bL$$Qe=FAwYo0-f@Ch;FpcNa3snH9c&@?5b#83sDr2CMvp=7mc6P#L!zoNW6;U7M z>c(lyTaN>pFQu%>#P&tmgq82ukm1R(m8>tR8Z6Q4hbIpC`{4&sJAF#QLirY(BWuQ= zhZYp7u0V!=8LB-$z8Ylb;C6+3V19J%Q}_)}2U$$yW>jl|exC7}K=A4lq>fK1H87mm z9rJeFB-Q;PFm57Y3_rh57o$4zdI@k=1DFfC0lS4zDBFc;Ov80pY6ZDF0PS9i=rDnn zej10RADtFST8ptiFmKpn@>KEHgWV3q$F8vqE)1B$;GF0L`%{`$%hoq0Ml-DolQMJD zExQvgYga+v#$ZAgHblxHoR+-_P4}me%-$768Vsy4Aw)e+JI@1#`$!A@lWw=<@nn*M zf}3Qjt-J{;%|nNKi(8{evEO<7)j|#HG#q+%H84AF;A$nz!tZvy>q4RSQ=%u58_!<# z-E~flS)x%<;G}1KVbji+URy1}8{q9_G58XGMcZSPr-* zA?MGtaW;T?e(mNqRCcG^Y)9n= zpt)2CBtvJ$Z&&7{&alJ#2bOjgbBgm0ie|wjJ02eE`FEPEhQfoSnM_8m-I-N(_)+}eXznbwAx*&L96mvu87L7$hVz9n|~1c+5xL?dVCt; zJ||f&fk|6tC9rYT3d87b-Idjxr7`?kz*Qz0r|h|AA?y&kHnAWx+_j_>dC<_p-heNz<{oHyK&AiB{*EG7yMK9L4w=MN<4G3;ayb{KEt&(y zq#^&zqI6-PIrqc`%>3)yV63VYJwl9{lU5EQM`+WsrUJdDNu=>-GOA245h+e@Bjex! z;C`;_10BMeBEkpl)I{y~cer;_dvfu}NR$8S8Xnxu-W7<_f>e7vnC*+sH_3G`_ErPT9Wd-b+{!1G8r!&5s2b{`-)mFSOqomxc{qc*jjSmkl z?XXw8zpejGeIAqez{Xv#fg(yi4>#lM*ru*lneXSU()0o#@VrwK_BeUBswsZbY3#qC=d_Dj1 z+j!?ZSK0G@EC74d30=U*S4C5*P*2cc9{W}G{Li^nfD1tu9s@*Uh~*2w6wzc<}&O)jr?Y-|7I_i6N-Nc;#B7l`SO;ZJvj{nhpLP{yWmcY%Lr31ZXi z4+)1u63q#aUL#M9_P#VJb6@%KoghuxO)107gnoFN2fVmX$~Uh94;QCOy10MB zQ|GV$ZSv!h_#Adu|4P;{fJrIF=f?|lM8RQSd#{82aOmU?zS!T=p&$M;4_8wV0euMx zP|;EQbeLfA>uu>HSAP5-Vk-YbzTYOPi3A9m#;qpjk(Jaa|iDY z_#(%TnI0l5>`Q#BwF#b@ZVR9=IL2q1@3@O<5k3juKbpN$`RCI-^22{vdHOGaIqgt4 z@DKBk$0Dxg9u{zLZU6B1|BZGJEL`wV*(}V4E+$QB|HLdc8XY_1|skfc*a( zu>#K?{N)RAdq)MqQR8^ml-r?O!VP5#Jzev4d&%+`;8Jwp9=mjC1*~=S{rVnwL910z9AYw>_Y)^} zWo!vf%c0Bq&SgxJfx9eN%u(Y6nXrlP7{?Ebl7mgu3Oz-M#0L^e zx9fQSk4o=7K}QUFh))AekDCO!hyJ9~I3OynKLDvhws@K43#1~-jhl2ZA9&AX`DO|P zPZbI%hzIkLQh&HtXW$jbA5~@lGI36P865n5dSogJxNf^ypT<4&p9Y8f z@aX|Z@oh|e8@EusN}8fn1C26AvX&*!+8=*UsCqxGt8PC01zI+wex-3bD|VL>-+}f* z!PpyhhOb`i|G!|c*y_j+zgFbxy3uFKYFnYK+T|-f;((dM-O}sG%qC>HfJvUHXuo$q zHbZEPF9yDhy(DrFyFDY9y1kDD;Bcu`_Z|?;?uUQnw*CFM5&}Un1E(r3 z-Z|C%GxXe(qm+5Yn9Tt?*F2<`a&5@Fz`<2GtOwOF(KVf;YLTAuLM0yPI+iyS1SE#3 z%~jB{yR5uT<^8tqQHjI+|9$24lH5tUGEW1f5Ja zZ&?5Cvh_CAai%U_f7n$!5UgXNlZ{e02u@;CSuWdj6;Q(~SSBI^UJ@s9;; zLlp!Ufr#j8^?fdrSQ4Pqkw?@OP=7oFFpQL>$Jq3qeHr@$QGf*B3xmtmJPV&l-AIDE zfCwdIuLBeCSAE7Y#a<1MO(2j&+nassw(*uVL)s7}U) zD}&T)wo7QP)Ny5P#HSe*D&QXz+_pCR; zaF*P_YYUh4rZH?p6i>Q{ty0i>xt4clL(UK3M?luW&cM$Ct5|<-slPaq*82Ll-@vi~ z7D2Zqqh6Y-|Hv(z$y-Rc|Hv4@5^2BrR|BLkafsH-(=>xx+QIS?m?L#&YJ62%pnFey z+o@L@p0wLoz?X9ul_7jh^+U2AICjxyLXb&f#A1tg6j}}YJoQTIG{oBLSM(>vG{oc0 zOY80e;f! zfhD#0dCa3EBW&7}z*#d2Y;LlnMz-U|W4p#lA;V~iz^Dj=sRDJ(+Okjcu+L5=VfIkP z{TQ3tTpRoQ2H2q;O~0PHhXFmSErk3L=U4*8(N6KJ0OWf>dP& zvkVNky;8#lymU4%iG->5QE50Z3#o9L$)78;4DEw;YUzxvFsFao08($UD7&D?9 zImeo~BAAzQt{E*7Ap5eZr_?S|V7z?dL7JEb3FXV|>?#pX*G!|L&EQP^1yA*R9m(Qa z7@$LDVyosuk+)<8@_u_j+BR_n2fMIF1jn4g5f9s=l<6|h5#!-shJm{ z_vjh3@)lPSwY_D+)SzJ2bZ#79Xh4<#%}NG~-_ot)YMgLcHH@+C@yclc^09L@go(>2 zG0HJ^&Ggtb>t~F#^I4U{)UZn-JZl@!@^fHil4aj$Dv!-ZAh`%%yH0H8 zZ)-*`(0CdHRS-qRs8x3T_ATwe3fUP_H~*L?$f_-ufMMSdWp5xud@+mm%(d;PbJ-PW zX#ZL@PYx!>vhFdo;$pn32JCsZy*kHqVgJ%_<$%e(D&DrDniAyLi`T~yY< z+ymn9xFUtVT1iDFO_g+~u~(m+?X+TgUI=E68{gBCzG<;?>f$cs&~)D8rm$z!wdw2F zbYak&2t4I|82JSW@hjsMWK!S;`p%R?!PPJ_sqEYYH8HC+r6b*FanW9yzvgGoaem$5n2U z6i7#EGG=#OM0ZOjN4G645T?{lR5ezH*#o757DM?~@tCDW!tkJzm@KulOjEc)2@j$^ zFK3uOT%a$zDu@*wg})~?Jk)^ToS`!Abj{YyFNWBzQvUa**CB8wLG>~tP2Pa`5_|!} zc8MpZz`A_r10CdT4>SDtrE!var=4LDRMGQMQin*xxyP;0W&+6C+(6=d19L62!?G`Y zr${!VK(7x~68xwNE*nTXxXH?QrwGVdNy(;l0PHfI#r(CkK57YK>TrkaZeE);ypOyB zn6sgwh1A9ESHT3i_XEN%W+5@_WQfq{it_#j8IiM8Az&M+i1Ww5CY_=QZGgvjFG@;c zpDsP3=yZQ1VW5f4!zbiry@N;qTb{fukabC(HF$-p)H?HapmbK6tw&Uv;x*WotC@>X z>dc=!jkcDTigaG9v*dghr1kQ-@-~IIG_pz`b|uC^m@KTlYGR~y+>MQ&1zlj8vbiuw zc0Ip;+h+0ilvNpqGxcxDQ)Gd&>2uepX_%TP-0Zodk8ee61Sdk&;@&5DAKVzn~ z1h#<^Ixn62+9&~$@W8w&0z`e+$tp6CNGCOHgHN|6-Q5COfC29_Hffq`3Yfx891d@R zMsZM}x=CL&4Tpn$m7JnTaMK(TzewQB*2-V{j7fFrBZo-+nvde51>eVfheR;h&eJ?T z(9Rxu1uW|-7w+tlcaCk)bOloK=w#xeC|>pr4b#Ej7*>+%*UL&FW`R?=?sfc*w7Y0M z2t}>^LK1Xf6N`=>U;chTM>VWkow+aoD9<6%nF5p|1(5WAQP51YH;l-3eah?ZQ=*SO z)3rtV);>7w_=q7vbp(e>uce1<^9!-1$91^6;sKFFWmH=RE}Na+%Nsy?JXl$z?PzKh zV>MYl0od2Z&{m7lhhwb#cXW7ED{gJ5=SSb9)dNd{KyhxUgOOb3`!w4<{TB>u7c|k8 z>~yzinJbc6Xw88~<*hTM%|m(%%)FNaT9{C7W1L-nT_&`DXUuyfhAU=%Y);|j)^-TRACKW zPU%dsLfMb@>aN{IX>p}or4$;Tf4H4-*ojPQ9!N=%O!QohI06 zNYx2r_+q*=sQ&i~Drvt`3j0-z@s02oqcphYEh5e(0Bx_-XZCgoOtpSx{n2r z1;5~mp52k+Z^4-sA~T&^beVBgs450Z{|Iz0}o&pyuV^n-eLP=6(QLYSE)nDhX8*g~yj@b5ZKI=#u z);;3WJ@y2N3iGOziSjENMr+*cnuvtTE!3ItM^x$Obyqqd%Ui23#h2LNAIQ-;^KtePB;PPsr*9iOM3{slP|-~I8qP;Nbw`wy5}-} zowp9~w@J7tSP(!=pLvcoiYKF^1`4nl=wsz{ z1mo3vwwWW-nrEi#BE8rNPtN7vZW!yacWDxqu9a#W=?#l<`LrGl7YfgcQ}Jh*E)?E5ZWh( zlx=RS;l{VOpqkF^6$Ul3BamH=0{dN!hMQ@P8TqkYcPMurKe5mhFfFFAW&qSXh@){e zl7?-K+G&*Md+0XI+F31xEkhlL=g#P32A9J5WZTx_1IkERieNN#Heh-@zqo?G;nE5} zabY&8*ZiQ+BuS=vQ)ng0Y`uT%J==(-UV!8%3XrIUZm#KCHVu|@*t*Y!;8pHS@;WeI zf6GCYX0XySv0Fdgf)Cx&62hHHmW=Bgj1q3JG14e5G>{>y&Gjn)(n8hvt$gN+@rAL}!$pN%r)WkrQcWBt^?l=6${lCk$@lYcy-ukms??a;ou_gOpS9<@k zX(aP)zvdX*Y6ZyjdOFbZz~Y>aP?=b{wM2IDdcP8C%{Bav-^eooQ6GHCr%_3tn+sC1 zpOL(gtei8sB$mKMPWJ|+%=6kMZ@jtAK zvD0+XM4((GyJ&3q-X=GL%5k9D&B)n%%E(Jbjq_36G_ufyi5_ZX{9)wFrgKFJ( z#n8S6`0hl&{nR($K|l)d{n*mY<%fHq`Ba$u9zOQNs{pkfz>!=Ke{?V09rDA{=HS)$ ztmgt5VB@{3wHXIlDG79^R1YS{?d|^iQ1hwRU;tq4lb<#c99er5Vn2lV?SJu2s~C6z z56`>Rb2yLjs|HKpyMEI%_nD*M4sa;ytJN&w`;g!P@q-_}6~Z_mf!$ot1VJFu`#z-g zNWNh&y>8vX-Ryq&o@ERkfv0k;hX{Ox{8M++pYY7xQvqTW5160V@b@^!wH-YTrC%@p zc#>xV1$ZbPt-CcxCW-D`KO>;A4`ArZl6IwS|7GyC5FE>QU;jat^0)&?m5?+z<6hRd zyd94C_gn5?#i8Dl07$f1crP%d{%2m~Zn(=v6QFXw?Ncn@#ee&}g5B5GMl_Hn4#bfs zjo&MT;?)1N)7S?#n!rSTj=C|rFPgzds=EBAoKQqNu=A!#dR-Wf-EX4eUsm{k-}Bod zKs54RpeVm}R^zZvv&N12T9JMavT>aQ+_--f6u6k{nM8Up?2Pi z{fCVe10d&GF)u!-a~J#Wy{a4gQ-~1MF|p@U-+J0jHF1zU`=UR<9e3P6*7}2o?(qtY z*-gm=?2DTSu44{A>C`>Q!1Uq(m|%e+L>YUdhmPc1kjbOBv+qWJ4g!c}hxbdk`+=e; z)6e13RBJ#5y^85@KW?B@y>)2UKSAfai<*O?oLfZ5^h;XBb+I|sU-q#80o&HO zu*W@sQ=h#F{EtTl-n*ajMC?Ui&)=X3v@SIIT@D|Px9(S#-M*MUY$bfHAV5yHQT@0c zuI)#Op@^~2uiq3J=$y$#+&3O7n{%@*b={f0F3tW3w!s(6uBKmwKGD>s8d|d6V5q|s zmwl5e^im%8vQyDcHSbD{benm{#EpXc4N8^uuzA-fV{#Prf#fQq!{occ=niGzUQMP$ z@+<&4X|g{?cvKX8OALP>NCxUI0t&b z7COFE&F@!7kwdZ$l|8NZ*Qnc1zq}KtFv;jeKu#4Tw4xbf_lX$t@jN{VsR7f?9^>p= zsDx{BzIp6ZByh$K5)=@m}0Y|kX zs(f?nWBBb%)bEUkAS(R@=3IGMb8Q+zk#O&)Zp{@V#lH~uUO8GlGC&|sq}H2{xAu#+NA|#s)@#1 zcs%Ux7)SaYk4PZdLWyN2^%mL>YFXm^vS`kara)aA`#>Q&UzCUf8Hay*B8dIgQI3_h#H9Y9`>OmHU zYP%{1GUv*G792;h#IRJ1=sgrhMrW0#I(Aez^gVA9mb@EqxsV()*!_FzD$i}kT zG`C1nr_kGXvRyY>jzIBkZ5or zNNf;VyyCSZjEZf@J2QWQ-jPQWUQ_?PedOr5{i+Q4BHW}eI&1d=zrlG=$ih3lxt7Pf zS=^2)ETi`SO=RoB88S|9+%kI~?xkk(VYr<4F=|(`lo(ftrgP^RpeJy#$wTMWI+gYX zfqYAH^q{p}WFM|!+>_O`nYl<(ZALbteEs-GHi2hFR`XH!2?P@4B9~?hhYRam4aO3N zpueCtH0ES2wai*QQQnWxKEz=fbV72yA=8sSS_OEUYfJ2P!){7-o-gq5@buDXOH+oc z7M-gmL_QBM7w49d>bPd_i*XgKtxk;^=A?BS}~PP z_HBwAH~H<%sNvL3R{gMnhmgTZI6Raz_7ab_-QAhj&0}}v<!i9}kbHf{*p@z~ir>9(hoMd{0Fm=XAf{Y8sgF^IWOX zNzco?=-uS>U)5DO+5l_FCxTAT-JrL62bwDP2ePR|YkIGKn6EhNi(eXJzj?k@f0DNC zD!X{}XN;A%Ab^5uA z(W#q7%xr>*OfTPE(x2&uER5u_*FT5HkOhfs{qCHp=(P%|x$E^uqIf{t(up%sa^DtDGahEoCr?xSj7Q3)HCOJ|h}XWy0qx`*cWaj=&M za|~w0onD)0zj$LY8+9K>z6mW?s+%9h9h;{hjdfMXP+S{iWnl0|RIV{mIW9NwqJz`* z<{t&MEbvae3qjQ|Z<7WIF5GcJZzZJaRB4;#Z}&nLdgvv}xR;2t+jpmpq^9Alm`v4V z`2EL&@3OAc4_m_?{0!Hfmm@e=1X;%dNo;uJf*O16G<3J~`54JKriP$xk1vz~8dEsM z@!c;$f_G6S>t0o7)`i&0H+v&^Aqt!p{R{*mR`W3^;n5*Ao2=89_*vrICJTz^#>(`n z-UbDMX2ABE%^#fRy)^dS_DjW|GeY#{#+t23`tv12cz65>^-^XF?_g-REXy!&x~o2K zPg_<9P_pMVlo*r9N|A(J655zoyO?G_zz+xu2BzNp{+rVEr~y*hU;4F;gch^!PC{~} z@uWl9s`L8-`{=@%Dhf>ar|@=fOKI$_wVMI}XwdKq^lepyik$ow~$;Mo?Y3{tv zJzW9QbovyTvtm$@2;0i7+A7zsaLyThNiIHwkMIuQ0s4G%8l3}jH@w5OT{$Q%J5pOc z6IGfK)UeGG$AsTRb`)GRl}>7v*#@?G8cW5+Lr_oa6lvkK*`dO71E#U4$~<7g$5h7z zbhi11rXTQ%W!MtQ{ z2M%8hUAEgR!sL}`Pkc{DN2fX|U>W_C(g_ov>Rf5o^O+h2cT}J)Vk-4Z>{W48q_e?) z@`P*K-70ULugEvfIyyf_NWP2@P*Bvw3SdbkhM8q@KnA%1$BsUbd`x zC=5$@nx9ntSWB%~O09~d26Q52hg<|Qt=f=7Flx!x$oKu>%Y2``32l4{lwNkrTMxzb z2fHALtQ|nfVS5QWTYAgZY>16N-<161Y#Fq7wbAm?@JJq;@5ojJH#PyY+8=L1M*?@M zv$bFEuqU4oi0A!XMJ*ns^dB;eLvG{sHuaT0RR1{kvTwebF(H`f9_V(Zs$^?t6m^;8 z^bzzmU1;MO+B!F`K2CIhaXi9t0cod&hOA)}PVQz{(%y4RmJcZM{%AERF%;LlK0aBW2oA=x4Wb|UW zlzoQr;QU*EU1M?^wgs9h8w_GTzC~#R0y;2Ac&mI((DWqeF3Jj^+Z@+dirS1cEV~4{ zbPNNQd3!Po+ZJ;g-3kMNgpiB;W{w-M^5S{By7`8rpuNa0gAU+dEt+GiW<8>=>Qerl zcaQd311R*rSwW&)_$=4m#)~&M+x5q1i+s71)o$?H8>t8m<2AApmd)pzYdW>6flShd zBTz?b`0@3f&6E3Bz(>FA$^gZdN?uvv=@)CChY@W88U-=*1cMGiywf9ziTW60o0p{N zR_G@D>=7dTUaU~?qK2vyx7@SwnnDk{UlcO9!)e^ctE}O)Zu=Zjwd}m19yw4D9viJ_ zo0{7Fp}NLUtu61xa1t=?MY91S<|?g?(ftS)E0RImEsiumRy|#Zixm;TKGxYl;c#-M zz;x#I?3feUq7strHVECR92%njeD@Ahxk$D??iu=c*SibQv=Ly8!(#MumSyGE^QLJr z*N|yRIAGkV8&m;~5KW2MZa+kzE0i@;hN2%;Sn?5DS+x1WYqIarUO@7|+s9}0{babk zZ>|*unGZ@pY`Rmt(m7<}Pq81^CrS4G?4Xl-AnpLRK zYoJnrb5>~e9{(GD(+sj`%ktlxV~B#+7pE=Tha(3%^D$G%Z0bhVvU}?PF)0XD@y2iA zz0##-(`g-EVpW8TYO|3GxOTROr*N>`fhBJQHM(lI*S0f)4)AO_@g=a-l)!fC-9F+5 z+S;J|_jlL)aBjc>5$-D(1No0{ zY<9^)AfWX1oCP_`sHEBN8V_A^BB8~s&g3kgW;JgQ=<-Wv6J`dDbla)!N(FQlATGP_ zM>j8R(BUTg4w|k^jfbBDUCCEmJCXF1p+$6OcF&6L)W}YjDxq>{-U<4HW7z%hJ%KUM z5M9CH>9?0F@zk{_9j-+EiqVGJXxhA;h4c-at-lo{M4VmO%3irP6}<+X=>`N`Lb1+6 zf{mGtcvbyS;w8MPJCQeO2Pe?ln%1K$knWt6dRZuCa9&|7T9}gna7BujUy;86+>aOL z(d$>hT%)^6z3sD)0ci+ZKoTYjb9e_gjd5KoMtg(Xx=4AalDT7r|G$=CWP0ImH~e4+wI=i|1PcFKHr^z z-f;5N3fAL8YTH|ATF)^;x*8a`l`wtySdZpOCPq+XLR|7@$Oj14U-b zQF?;L!>8v!!CefPACngY$a#DVlr{KP2VLR3=nnnix#%nwwlUlBGb%~u(3x_r4YO%v zc07qH|8z~|LRZHes>EUAWPYo0&nkQ z?Kk)6t^$s}D2W$wk{T9Fr7~^-=niH!-(Vt>w3ZSByP2eqAMn|$s1o7+KEMP;v3RX* z!U|}n;@oS=c>S{?*X;*k=|;T(1W?ua@`mMf*yw8Z#P15KV=Wje$ueLXBOBj%2d~l4 zfc_&pq`w8eeSq`IOILi@qZ4P^3Iljld06LcKB>{a#0?3q5iRP6=%^dfQKpj2QaR70 zT@-v^REip~@26`Knl0{z^s(xdJPh+6YmQ2u6$7QVID$$#We)V_Y36enHWy~mk5HcB zLkxn8A)+!DUW29UBlvePT0%Qfhs)T1EXg5e7DvOp^uAd^k9f}Vg#l(EbZV=W7{85&p$QMExyhlBK<{*RCVwETA@gZD4{Y7s%2_koerW5nerbO#47eJ(Am%(~ z0Ji{+g&X9R*=<0oBxPfVTZ<;p;di7r_~ilhzCds{>Bq^aKus5u$>T>^G;lRc&169e z9+7RAj;aLg{gSofn{dC^f(wa_81r#BA!E~ z?AaJ1?B|mjLZr1{bwD1SSn0c)URU&QUtIv9jHuL!O5)Qr`L% z+m7^s*vI&xmE2%)g2Tq?y-fGkL$ClAJpJE7AN&g-7}gnP6-o>h52+7mU&te z{AAhDxy-T>b0w>Et}9<7J#48Ka1}zR`kI|Qa7iaFoFV7FO=^vF4XOo@!z6fU&(`Af z$KvU2iMA}z*_5U1O@{QZw)m=7S%|Tk${Y&_L{3QtLG^Ou;rnOH>bcRJ#tJSg&FF;=8}_KQd%v>~Im0sMduiU-bj|mpRW| zf9OuU{*(h?*@n*0k5B2DVjqMOhx@h5@m}pMFee12>G*(XG+V{gW8RNd^dn7fYY^Z< zkpmYjE80aUp`R@9YsC!XiKJNyjhuxO%iabFu^MgyLpt6(L^e&>wr?Ok5(g`~d=d!; z*wq2|5eSNsf+ns-@oXGulIe|CoMp8ivKx9k4A}XBee+HX8x=eWpV#FA!8p>qmy*hq z8guekT$xjh>r~Fu@@#xOJXG2I$+~MnB81~Q&UQ1;V?(-vc~^t1BRv1 z{cHfBN*lM7Jy%}SelQL4ZW~&^C=?dRy;K1D`7y>JFRsn@75H>2YhMWzHrv6faea(E zpKDA9g$FT|jU1`zEF0t4aV2N4H(esUg);H}+s97$W`G*81>jE5c|})J(iLHi2e4^G-#m#q#s_q@E%`3d%)fsfQ_Hc zO~qjSye1NlOR<04kG(|P{#93vCZ}V}``#edbUcO=V?3a~j|Kc!lwm&>tV?$sL|lu} zVd;iWeX!|f1IJb8m8m+i^o)ye3YaK}H9!!}Dx(?0S>%}d(eZdHFUk+}%BmKTm#9Qa z?r#;SATHS$zCaspY~F z58%NmRNweP8Fen_!=G9}%z)G{ON$@r2$ZuH-9biW6#e$-1Q)ELGp8E(4<_zZ9i3l2 zrml0-fva`M9;;$jUhdc2i)J1O{r`sl?BC4)2*`ikcFrT}vhJ<}{3Xu+o$l^I+qvo9 zro|&T3$V9+JmKJ7{&k_o-b+vYt?itAr91PFYkKerU)s)@Ja$*w-7FO5$@9eMZ9T8!XpM<$v9{EddYr^bcoN$*aPld&hgA&3?jhixPu% zS)LI}e9v+Yz09{+r~jyeO;Ugau!5x$HLg9917<}>98?bc*y~J{gK41Ktn#G)dGOVT-8?`=UqX_Rh} zmImnt0qIf!X;8Y6ZUN~<0qI6UX_2m_MH-au?uMmy_r0s4e!jo=zsm*g%$zy#oHNhN z^luB_!x67A-1a!OE|0Kq_7{=%4no-VBfYW%i2Plmk6%lcja(d-ZLf0&<~OUPn=>5e=(X+$!JgSM6Yj`|yGU_ZkJ@lhKQByqY3I(n$$QkI5-+ie1wBk{-H60%sb` z#4LSat33sF;kKUy`wY~t<_N4#yP4*<8HSy>dI+i1drLGNpW1U(Ie;cNHJxTa|6kIq zL(X+E<{iR|`&-S%73Owm_zk3WI5(62YN5J)7 z+E^aDu(R!LDCU|rpP1lF$l1xklu2t@%TvCPfIsTS&8)U0b$(UbDS8+4KZN*zNsfEJ zmhqW1=c}`T8W8-F9Y^52SlcUvajC$0HmWNf&IKdk%Ibyjj0ju}92~4W2QG$I%!XBB ztO=}tuU zad)Nc!Kv2tkJN2yrg$8eC-&NLgRPl&=QD9ILjON(_EuKF)5Uh=Klo4DY9<421Rxu8 z0D2o5pq3P*dwX*%Zy;WFAaiQiD$fB7sc~_O1r+hZ*4bN<=x>zG43an$v@#R(V}IB4 zzt>&7RYyYjQnd)wH(1ofjD{DIHjQx11BK=mXOZp*dnl1E^}bZ=^< z=L7r?-Ta^AFjETfK@XN4-yyK!{~VJDKpw=Ma832FNO!kAUem7;xH3v5Or};TRfV;5_Y{qZh z5(o92da_gbEp#QH4v;P`n4@)=d5IGz%p6-@@miV8_-YU1C!!)%|6jCNz>J{LGpn`= z{n2Q|!@US(?mGpJ$eNu{O7U4AnTCortAm~#{;uy~_+}PSz;)SVMh zOoo<9BXT)B?#DN;G-~g3&keH)s!YaM%V*%|?xxJfP7Bki@cP@wZQjFOf3D2e^&(NhMVNs`yU?@QY@w)`x7`r3~8Ig>myu9!=D24cVKv zwlniQT#`ECk4D_p|J zbO=c32pj&bz0Vdl^+Q+Xo&$X4kH>0r zbYjsq;wczyyDL8o=!9?}rZpwfQDZ@yg+th$&Q!|`J4aSElEv=)VU_TDE^uey-0x04 z3G}D=UmqQg@>yLwKRf9ELTS9WCh;h;SnjlF6jhdyaOj#s6wlnGZkI{^G+Ci2A5(no z_Q&-v&@9A#MepmXvsJoD(%{b83yG@vrW~%reO!CVx=&sy9#lFuV~6A7Owh^tPM6m7 z{c^=W;nF7F{<*VD0a+|?h5+L9fWIjnV7~~g8gLgGiiQ=HhT}!=3x)38EncCvt8?wD z+5ApuI&YfN?vqe_=MrYVkk~9ea%f+${QgBG6r-ySe#kpgewp4Nb!<=}ox2O$sOBnf z%i@rOM~7&AYF7C>835M^A2~gR*zvj+AobG-0>}`D!()5k#Y_I`(?44vfD;bRPRezc zmNZ=>fa^?4+yzfIW$I_^I~5?_L=hRTUSD+FrV8e4(!=+Xf(yIHZAa(C;susUUiG_@ z?^3AOya|7kDzaL7wjPvbvVR28`rgO;Q&Tu~QI%xJ@dI-j z>NnRBkl#R>15balFyAdsKi&knIv8yv@8HcZB}gfqVg`Nyea0`3q@ z?XTUDJyPAv;At-y!Z*#pH;9(Ypnk}rS^pDTu9o?4{6{gak16f9y8q{bk88g~dM8oH z!^zuaW9VSVC0|Azkdq?N_A119MF60 zXLE8Rmupz%8$xM|D^vWT5z$+uX_LH3J07uu9HLF;4Gz|&fDyA^m-mdtUV9;~SM>~{A;AGkn78Hru_oZuJwTuP+;N`0 zdx}*1R}2W$45q+K6ft{(C1O%Ya^5XW*xxiR&)*fZCWhBn$EIW4Ea=FkGorC3N-z`M z+|;@uhvm&9CStYqm|JVST!@40&y`o1&oJpS6fdr7pNUIF0BmOP_8m^lKePDj0U-P3 zbSj0PagJ2rp{w|2 zC8D(w`>VhuONmi80)!ZWv88z}BmX63{oXJ$LHJWqJv(Q)PV?=*VNYbrY^^)? zu?(3(cY1a-HQB$+IOM-7?oRH}9hnPk0;vv6^5>}}X&4aipujR3FK^gz}f|e6^SKa3cZVV%<_@ z_=EBkUE?K$Zp~-bF&$zBg-NG~x^G7ClOE3?upu-F#$o%=vi_mEH_v6oB zBil+^EA|)qsZPAR@;uh+BCX~LTu9HyswxT?>BshN_Y8jF_ zv`j+YTC;+jD*3C8U!VTNjM)}IjppZkEK z0Eg*3D9r9~hwD8Q@6Y=?-rtRB8~U?oAlmi^_E2_J2v89*rYcameDW|o%I+HclHUBH znGG#iFF4iu*(rDO><~}+nYVi4kgqF3X1~875Pk#l&j^hQky(pO3k^wEWq@IWsZbMn z{_PW!+9%|9Q)BbHb3Ku(^K*H(l6|Ugm8{snIqFyDg5EkG?Lj2RrD09er!&p*_dLfk zYL&$_{gFH9!7j|d<_hON_|kkclGafnW&IT6#gq@a5(Z-b%^PYxv{8{Gwmrn z8|`sa!fzfVl%|E0QvH7LeWoB$k{-tu!?7|)t)OzdPG&VvtL5N z<=?9Ecb;%Kz}Om@thea^@v|I>Kdk$4=yNM)sAw+Bp`w{MYsF4sVK;Y5+9HGBNg8b+ zVYMmbLq!PIBGx~`Q@dAsV=rURT3`}-1l2!y_eZLK|3;2zeil&EOMC%O1|rSXjEBi* zEYMHJ8%3uMZq9(}jS7p*q`mSwGn})M)l3tB2!Jx8cqRvM{wOY@-}6~F2Cj8I)1Mbr zTe~YcSuf&Ob4H>_C6E3UUj-_6&V7g75gOU9%Svx7-nkU}FLSd(R+f;(u}#Mu%Zv;@ zf~0rVk*5`b2;IR(=Op~u8WSqgta!wb2b}fP==ZmQ#t8y%Bz*Ws^(2xAYw+KL+{Afd zU5-MPSe?g^WTD9DvV{KPZ=^E=^&>b7Dld|MDVZx9c=`9dU+Wt}GG*#WEJUN_LzLWX z{~6{ltt?^!=h`UW6Bb1^XToo? z@=*RB+MjMokP-pTV}UpWGVq2W@;0)_A3^^ew1YR&?px#zmbb|zt@~lO-p0RU^T>Ms zw4u!6`IL!=Xj`y#_nGyYE$h_|hM0i^nZ1%g&{!ud#L-#Rq~)`scJ&DnD7Zs$^=VwD z9(x-^b1L)MQ~U0h8X8YY4i5Yt^PAik43qpHNyyxte{uavTRUX#=CuF?nr^r~{xjVa z+ViV16JHy=G@U|J#E>km&e52rMd>dw@s&hsiN~7G@j?uXBJib!=ZBA5YHH6kr>FMu z7jbPRTg%fzCmXO9ntQ=3g0v17X;f#W_Vjwmf&}GW@E``BV$KBK#2g2RRL;cK!t#pw zAR`L*?lidXrE`!b)z7}DJwvHcMRd{Z_C72LGGOMN;&A(~1^TmLa`In~0FY_@owLKW zqZ${j3tnWH7`wJuHLb{WT2WO7T%~hy#C{-qCPH_}`YU_G(F9lT#Q{ZpadSZ0E!uL( z8XF78#ekLzalW)EY=U&2(0(>#(lZ1Uy-1ePfz1{`9SaNn3ux43avFkB}9n! z$M$(AT3vi$5E{>@MBZE9teHk-mbZkazUiGMZ32Ir^*8+`KhQy1ul{(>4d?&s=+(dn zs5R2%;Iyv~ubNig2%KfEEV6ce7Ti%68;44Muu$Eqnw1KH=^h-e`yCwBS=SK98lS%I z{`lakBu(7p+nq1&tJL1-Ju)9&zDNoh?KpM6&7HA5hFc%<$UuU*G7yF*3VG# zM+kst*umiB`8k7Ssz`vn4wRBt{OwyVJ$UQ-Ka8Z2`Tfo*1}*4#KJg!zyN}t@Oqk1a z?lvn6z+|oU(s__|hN{_;9tb{*O#$&LzsE~Epme&nmc^^?cC%v!C$G}K*eAIdt4iZTIM)P6Kv&mc>>RTp?vY+ zhZ4VcrHxC?k6-zjGIsU~1qiFJ5|41XE<`Hvu5vVn_Ltgpacq^6lbg9VJYACLrDTED zMQv|Wcpq)aRE#Z3{L)*AJ17G0|LfBwl8B9r)41VmYD70`G+9`ziQszyo!5~Q7frzM#iqaDtsV1sKU+RA)Qf3%ike!HgIG1Scz9wSvb4}A9vv}iXgCM*AAm$un;4@*CyJJNc0W-*-87k z-^D#|$cVt_D&i{k-SGEELMH1Gm3S2MR-EE|G?=l(sgirf^$~hyYe~EBhl-^OT6lxN zooUq$w5^9gg%K;4~o}at*Y#DGy^;|02*B6{;U%OlS z=qs>W{|5hnyZH0LHd6kOfklp+dl?;6Hvje&h-6HkZxCOD4GE4iqizqV$1Hv=MWR5q z`s~||wXypeL-uD>SB+bsmg&v+4f`wY@ijHI9IGJPfRY`l!LoRc2XAWHMrP#s#pu3b zpIDt`nnoBY4X-+FLm10mJ@a~HWqEchu(gCPYwWH5xQ~DWe{~ry{;Z9~_6pXSQ+I7E zd(R*HhY>4zN5=k9&?v=@60_rzGKgAku2joh}F!dG6kl?wdGvhXa6 z#$kK=x)$)pB3y_KeXUbGI&`iHuY=9f{YgpSTZ2*sl`!Ei*vttk@~2!(Y+$B82JS!y zfDv+EUJtm9MJpn#1bk)!ivn2ke|lQP=5VM-aZ3H3{n3$AhE)N@ruw?#t}t1YnEh_& z`+b5TvH)N9M8P`J)2m7BfmemBn>_gk0HQ2PoVpVsW*uQgC@P~FqxqCXVE0~=p^FSb z^#}EeaDD@CsS6hhFC3Z0?OYVa_zHJcMg(%Xp3vWq^JmD@G=OD22f~TcWm&?1{-6vO z$qXU$OeJ(Z_=09P^xKSx+ROPz-D1wKH~9OPuHujeU*v_o2{|V7A7vTH_HL%hb~h#q zNV~{BIUFfC+|&--;3rm=JnrX3b9BD>15GuccjBqj*-6I;{nEeAdi=daR!n8?g5hWh!|-$1dUV!35RSDYMj6XTl=X*K&f@YP>AvNa2x_ zb;!5UnL?oYjVE1E)Z%;2)xLd*!gJ27K6hw@*m(j(+UE}wRzGE|dgTl9*U8V7a$&M`r zeE}x8@YR)$YA$Nsws~Q+w8F(l?$$$@>3}G-7f)}gJoJToAJnwCI|Jd4PcF>#Hws~C5{TD&P46O)wD9R^-ZZIUO2UTynB<(K(v74(-?fhvXL|67mSFST$waaDyi5?t zEsk^G<3s^XZIH~BiWIKXqgd_3OJ19C7jigNbjzxb+X3_wOXBg0WrN6t;TJzkmZqzf z``Jqs$49}j5QEYXUPH0hPDqR1;;GKa=Iru&s)^>Cw{aZW$T_~pQ8?Xa#Tld30AltR zUZhp&|2UYR=JGR91~CEN9CY?{CH?oHuFZ%*#^0HF-XA$EOuokPh)5+3y=}Mg*8bWX zzp~}Ar-|?r+{D9)HFrpxyu0a{m;2EUu1nY8JJbEeLg}HSk1&go+5{Q7XkU(nbFDW< zUv+a_tXE3TPZQA-k2hGoVJp?zUtS1~UNs?2x$d?MEipQtf8%{5M-JnC_>n{AYA8*^ zSis{lM*|L_zwAYS6Xl1bGlUDTOP=n-?`xU}c8YGcaH?ZqxtWlM+qp8)Mw6OCky<)Z zZOQmW&zr<W=SN^_w*O_t7;wbsO0Tp&|e)RHuO-}uPEmWXH!f{4CBjxPw z=WM%;g&?W8y34g)=n2;Xop-l69>(VFj#qKzZozN6X^(bYQsHMW^-}o;jZ%j$*U$&r zQY*2Ez5@`bNM@e#e|13({0_ASfZ1Rgl-*qYw(fELanb`8zUecx!qVQ>;fUCMpK-55 zKPyf%3P1EE+*3{uCGpeyO@ko9)hnk3)1q3TTjcia?digW4h(i2yB`cBvrstvPnr8FG zkj^almc0~{6D>jKopeJ_Taq_X7dK4B)88aHH@CLRC>~5rikEv#sZfY`V;Qe;EG}F4^lFr`2LMjSx=zBG5%kPGt|xl46gWlWxt4sTZ&sZKeLd*V`P_Eb z;6m_IySCot=1rfe7<@(!!=U4H9h*$NLL?UCkgdOH*GsZo)%&&kI@+LvyyBQQ4Ap@XB|6udE zAB4d2?j`^9V{{gWooOUMVOP?_(+$0|9{^e9BQ9rhOuzcqrshjBZOuv3WG;ns@IYZ^ z%ZYViZ(Old=erOS?ng_#wl7|M;&R$lPpzf%)pyU#zy#neZq{4X-RI@#I*C_5Hm37r z2E+{d-J8q_y9FMmQKkX#tIf+0pnk?;h`tKwTwD$K$JT;& z)h2Fa8aF0K!zs~okzsP%da)?tTcGxoJr(de`pEu)`4OiVOo~;z2Bo6u3@7%>4x~%9 zt<0@+tFzK$oB7N3^ev7i7*VGWH+hd1JdAwd4t*1`!P~!B18jzxnD`#`^XJbF+wIJ( z`b`R2_wwg3OS5z{i0={P>+J8`FEW4-yKc|slRHCY1%mGL=V|O89zMzqCmgIX_5rq& z5c#C9gR~4hair0jOh&oRPT*mk*q)W*>3(^*o~~Y4J5yD|#k#pp^kLK?XPp470#T{<@*-pRiXfA5+(llQ>8AGFG-VU|!wxca;i>=Kk5-sG>xN|V&J(OxC zEhZ^3m7c8)lU?r2aI{)B1qv6Ueq(K}D*bKF_~ukkx3XZ2&B)xOPU4F=Hjg%Q@oSYM z(r*eM$5UhwxRPx4zUmhHTe-P`8m=ypcVk(_f1j15)=kx)d>zTwp}Hyu4l;DUcQDjH44M73q7qj;pZN?B-Fk%>C; zM84*|r=*s<9Mk@h>9~cG*z_&&H27^{+V~~eL(&&(1z7R&@|p|FwE}@Pc+L#J$1lbn%(y^o&Tsma zUJ~{Y`$Ys}nwgG%mrvYZs3$pJy?5-lVEM)J2gQmsb<+)2`0C~Zjib@@AvYG0hJ}%W z#wOct`Sx!dnJTJ7ss|-=81LcyvUB}@_X!qj1x{S_&KLD9;*!qmJ8YAbrul{r?PsvF zRGZkz9G$z(v#V;c=klT@7ChjkBVnr+4<8GB)+I1O6jvoC2NLWj?%iCXB+#T)-?U)%DY_deA_KlR6*LniUNX?N#%S2Jy;N#6 zQ&}rOT7fUGu#x?+>TR<^PJ87C&2dLBQeP1Wl9=e#mt7C9c5ZzU-JI5dr8lK>cutT* z2dP5Y$qalNX~Ka4^f_j~xjFVPkej?6F|Nd64+uaC|{3EzAFDX+w8N328+;i^OZ)xNI| zMCo!Jr#V_cEyNr6?H-KUPrgYUcc(ZxyEY$*$iG9f~cp++u(6f@nWa zb4xG1@E?Gp2Hr)ro2!iwJZhG#7UNiimdBQxob1&&9DKGg{89K+vUFGfV6-gY%zfHI zpC;v`Fu`Q5>ZI;9Uq!x8q@(F<=lmEv#4g%JcIP?oqa($fg@uKHw@xhun)M9N`Rv0> zqFq}@d@{gWr42zt_PAaAhP~~E*1ki83+E^K_MA(x=pKQ5_RAKo%%JBvH zuLKy~Vw#d!kNeZ+nhCK#!txGG_$l_2Z2%#vB7BO?zs?)hihn zGQTFIl}j8xZ5Clc9QpiH^7dc=VW6T?;V^@h|EI2km{TC{erXXhA^0FQawa&V-!EvR z%b@)e3yVsr>FFu`XHw4;}KQle~OwDz&6wT=%;dkuw`PO8$Z7{})v~$Q5)Okjza(>V%)snGECDcTNRr$NvO&1dBvAy;D4ki}2 zUd%S8GkU_GEbO8tWMV+bW!zt(W61z{bNI8+iOOf+`Ks@XXH_o`p5@fPi;bn7=(_jI zOf$=nQ{@7BaPZ!$Uv)0 z!{$S|9WFzff};_OlOFUSk%Lcoe4e+1ojwTh*hS2V#0bBE4AkEB{#&aC9C7#U{Re;J z)ZKuBV+Wg>12!`XFLVSVt)%OL7evyJvGkQIxDc_w5tPpxEcRJ2=qg`xAmHZyaluPH zRx(oOnAwyD|DYLR~ zT+P+nMNF>p)w#v-okJee84eh+-~Xu;OtMJq%Kw`(gBb6*HLy9#$q>xH!WgeaBs>hN zaO9Z`PgHW)gmJ8w4zx>FWOVIiZz_Z`CMI`|z&bXJhxvN`5fFf&0zBbN%xUzMi9*Op z&yQY9OABxhhO8H^RIr(Hq&aUc{DEVyyS~0nOxDyN6I5t~1zQ}ZoCJ|4#f?e$DThuv zcjhv^`hA$-$Ai z3)RB*Fj|Ygi}qxAW^ZEJLEqH?f`74w|< znjPzhF1Q*z)^K5YCxe{(Vtbn!D>!77XYTgXm;)0ip`p9(!(_<7eH=bueEw*ErtxnP zD=t$aPl!@3hi_?$Cue_UBTInfoS6HwW`uB{hN1X@-R&o&yJ#M_n?LW3O4fx&w#<76 zuwCwj-7gh;s{cLSN@S=OIS5%m!{^+z$)G=`!wng#cZB<+`j)t%q91$e_L*vG4j#{% zdxL(#_a4%>Z;Kv{uRL;&pZ}8pT|+M>FXU;ipL$IoDPa&)n~DgrU^A3q9&XOPEgAO@ zV-ec5ryMWL3vC(rKR$|6peKUYk)?S7DNRHIEsG*EZzR{xxx_;+`<1kUSj%2svSU#l zh~2%r+br>QZVuNznk15K%dbstFZ$6)CpM+WrP&VK$%SCIqi>&(^n%qHGH-XwIbf<) zo3t2i94KFQKH4j$eWz-?Vc?RyRez-`3L+ARVFHV)mE{yW>c^@H{&?Bjsr|}nI#efB6I_f4y*x>USf?J z8u|l{A51;Aw&XhbvTM=^sa`$|D~4hy%Y$=Tk1)mu6}5Ve`T5dr9vHw67|AB;@UWwU zuNqcZtKW-DptWBlkA3eA4xqA;p-kIbP?ydsbVNHGzAYl_9V5)-TAF^wAkP#Gh=!smS_taD($p+0%2Nkfhyq3|yog zudruf6ZHmw-(7fG7`Cit8Xptbhwg;+2OKf6AUhFDXzh2BzZE8(aq%?c^PP_KKh4SE z+zff)4U;2#w%ykrt;@ZCaQFl(H6!%d-s}kBba(GJzBYVv6ed&EO{6sMvOVFS-Or%;E>61K4O^{O&`ZKzc9DDQ{9E?Bx%8 z<)6aA4b(&Q_Ls9Qb=J-Y=V4lo0#^8+c|Up6ev{QqT6j=9^rrHPZV46DjT$5+oA+G2 z$huw)TFa{vGxCH)^eAXqrvFpanx8;a_s+QAJl-MEk8{si ztOijN&gq#MTY8z4Zt3>~j7bp{hGj1rGL1HKW3y>yPo9TQc9NB>Jjgl;=P3}gNwx@8 zV!*GA7~Z!WfA&yxXOmQYYWfWqxoP}rNsr^7;eZWLisJKIQ6ZR{?nvCIkv?>J1)SzC zB2?#`Wa2j6oP0{u#2CA;uI`Z?`9;e)eNv$27r0ZBq-!MiwZq8Y7(6bTQSSAqjj;XQ zcg011okTAPE2i|)s z&{HillihAf0jfsqWD4bOMq_EMUWHg#j(h-YGJ}oy{y;?nzDz~(7=#!Yn)bz-iwJBI zXSxQuk9%jO1ftMv<>1T<<8d(7tMIN(1ybE0HnG=Ndh~1UjOOy4r2mpp{xhE#9QQb` zp7bMrua=FR9nq(=f75{UkiA5&o+g|)Z>YotvjMs);SHNWxjH=>8*hHeR+2s$5qrsR zJh#d_UbAXm^!%`LSH}X=G0RZEu=b3lH;E4^=S?H1syLZ&^)Op7zm0wVBTRZ9I>7SC z5fP03NMSw{x%$4{(voF`i>|YaOGovQd3NzBOpkazFhIgJ=9Q$nIlPr{RGq#fykvn) zL+3l+4~IiO@1f@^Dxd{|kBJLRfuXuhdQZX@^{^R8&`B!PNy{I8#%iNy0T*673m`|s z&;tL!b>P!iV-zw73sW>XI13^vg7J?mQnJp)hIMsz8GZY#-OiAFX5AnaKuJSP!$`xA zul4x?>g?38Ze>UF^wCZ>UraxR#CEzkc0BsVxp<&9%wN~yse0(&i3RhaCKCQ}6TfVx zo}ebhlMqqKOUMsde6?*?KP~M@SFGUnUT;+UfTX*{<28EsVg|kz)_eBpSo84pSCekW z?yxlIMNSua{orP8U%|z=r_%W*R`wEh#Mr}?{@UA0r&pX|fQTrR2IjaJ&&V%9fnzZ6R1eRIDb3V*8x0qr%5)v9Wp<9G*cmKfSP{ zUFX0)>wY40=I)hL3HqK{YX}XMq!p9!mRf*?2YgSCyq*R%J!Cy#rH?66!pR9^mRcBf zV}rDA!`WO(ax1>iWzG97ks3pnylc%FVO1H(z45BUhK}Qzl;oJVy~eW@FZ_yHOJH{C z!ytCMo)o|186e|tk^ZgN4)_?G?#SFr%_@HTQrG|C&-I?tV*Ck-?2CxNt2y8sOIjT z^NocXBcA~mKyotBPXrs;so9cuv1i2Kg*OC|p)1heuU+uQ8OE+D7cKbfd@ zpjpT~&g7=(Q%GRYE{0A4qpHHc^i3u;|C|39)3;>*h9cXw-0_2^*S8C+dG;sQ)ZIOwi{R*g;}a?=qx5Qf zvM$VvBfTcKbTOl})Uys`JI;hou1@$-J?yKO=GBKk9*wcsNTO(rPru*Ms*8+|rxECgT8_QM`_R3r*+}uC-SVts;t3Gb`r`cOr591*k zSV8&YWR0ScduwfOv!1!$QArmooZ3!wlg-o}>#uVbOC$m~GV(YMr@{_?BbR30_3KkZ2Z{j_OfF$)7vuQ z9jeHgBhq@gho8&DQUT)boO%$x%k#Vak-JfGm~z<9(04CH9*Bt#-?Mx87UJ9V7P8Q3 z6RAVi*Aa<>^LrNmQ&mDRzA(n?!BNXRXNSjXHaLbstS)aF?en#dwDPR|#8@1I!BRw{ zjv8O-pRuH?DLm&hgSz9~?4o?6@#$Mp1k>_lhP*flbF8R{A0GD>^Vd*iZ;g1JBSFLp z`X3Xh0?HA8EYDx`cHFco#g1g4AVBQmV=i-rGBg|wF{%}^dA)-z=?j@GC1;d7z+QbX zu}o{G(ACadRVFj(Zmq3D7T%fqQf849*{jqb=8bhqC15iog2T>*^mD!bcWYo|q^!*T z@E^@vW+ISR)D6d1n!v;nux2WSzN1*Cz`IY%!L+{3!TvQTvQc-CAQmbpc-P)3K0HZp zMKa$tom*^E@}|Q9N4|LVG98@CdF@jSzLV;?5)gyIdPpF|@)NL>%nhE9eiA8b72E1F zyMSrw?&L&=*00(g^|;6P8AoMaZh4^_ue*!E{R@?__JbZv|5IOePwbuapjII}SQ!u| z{m;^$kh-Y~q4MOkLU%t_*8}-1dLU_2pK#9X2YNI|&432T5wJo}-y!x_Ej9ep{*ftx zL^wB9VM#AIdQD71sna$*k>>6DO?JTt0^p|z7!Pk)ujzfAM^NhrSzyAV@ER;~+3gTv z{X(#8SR;x?mXwfK^pNEi4!~LrrvrEY`{Cd7CeY+>5#ppCfsN<^AH#mnHy09kH$}wf zPtPjv`a&JWe6=}mo@{>qVqxcqON6m~yO!;0ktZk~zd7v3_saJQ^k~snw^OS3xOgLd z{{8${S|hJ~OH0c{ksTP+r)O1}%k`LPN|D=8wt6^DfGh<>3DMX$cfadfOBOAYuyowD z*mI!mLwhG>k8Vj#NeI*>D$>vJ;=UM*@LYJX{kK&84~*u-yE0GN1G2JD;vC;)yIS%+ z2`l$sT_CU0M{ci8PDxQ>h^4Y(Wfx6W|0B(LZDj79(pzbwd&EF3h;$}JHm7A*lX+c; z{jR-FLQnxpm{ho|Ik9Tj%ozpNr4afI!y{vO(v#bQWc4vW_A-uUVu@B@f-Db^^XGQo z9H$Ut4deb|C2@zQU=+jv>7@r+4NCmL2siu*!xFUO{CU;GnA(3$?{`@NLGCe@N8hfm zCvsNBY2VOpG8nt-oFqjnsP|sKCW9pb(*eJjn9^RyIE~O*_&&gdyIAU-Yb;+IvpZW# z=}+Wrpn1-VfmfU{CEzGVC0^7NGZp6zQoY+OOG~GgTDVLXmZ`)5J<_H%4kIM_FGrO^ z)nEAfO=bXU?5tPk7!382C$#q5SCaPs{1(K&Ul1x)eW=pq$0G#n&pWOT#KS4gsX3|N)1nW`lg zziOa}6;Fv!H)UAxvyU9643v#*xw0oVo(pIL){I65%2&I8EVJGYb`HuG98r}sUTzU~ zx9Y80 zya2}PIf*egEv~b<+cSyuT8rfz+=OEqaYXhl9foxR`P^dP7Au3$&m(>ixKbLkSyStj zyU8dD-3kf?3Tcr$-HExiTTZ`dF$C)VBg_&3!*|{?-!SI@z_D5lSs#sVaZ6`l_xiCU zotSp&>*eFt#)Fo1)S|(6Z$GtoMZ^rPbq7@x(|>-yTv2JFgsOL6&6p^Fan z7w7nAR^Uqa_LD+8-~zy_`!Z@)+&fIpQ;&cAVA1D(M}mpDxXiA>uBKO%SGKiWvbMDn z2@n7WKO5he_5R4`3$NoD^*OnH<&6ag55>%tuBpU&gChIzI;3B>*MubS(i>X&e_Z;tMUMygPvba!*&s*)B&8;Td@DK?T*F+^YtZ2N;~Nl8+wQ`8cWV@f`9d&CXu%9SQb za68CO%{O10*E3<@o0IRvO<3F?D)(}KXQCXxqmSn5oW1HH$u962TXO{oj<kZ@|;Z#k5Fs6Foe$FCYIr{lZMb*Dt0!=)eB1sLvbozhF@&Pdx;vBOrJ zRAmN&8~ytIRG%kau6-#qci7yaQtOlnce+c~5-l2nmQjMI!X|b&C+_vb&gy`y6=hZ& z6GP-%-3^H9-wYBVUxeoYlAPtag}ylFv(4U=ns?p|e#BE|7&V?`EJZm`nvx{zWy;aA zs?)Uz59F?ajx|f2wJ$D95|Q4ypcWH=)qodkB(k?;yr@Suddj2SmMWptaLoG}s^6E? z&vmUD*UnDO|3>|9{q+F$lrWZ}4FEr;;0d@LV7zJMp(2awEb=z+tit6hIVY{Oe#URz zP>gLg`+5w+YexsG;4ehC2bsMi0?DpU^enDQH+?Kp4=0x`^Do@*b zP`>LlI0zq7cJ&-tr9GEc(RQ|3SjphS?KHRHr{m;FZ#eop=1-v2gVHHW+Z96sWY%Zd zJm&Cw-7FvPVrXf1}PH8ad|*fPUhk zZEgRLn&2A$Y4opb1+;E_LhPcnSUMLTCu6KmZLsd;mDbchf>ybf~`Ve|u z{I^N(vCV0NT`;`h+i7r^#~hj_GwCsUhrLQO90i~rVqHjiVoNkeCy=%GVYlzYCiEWs z#3_HKx)FoZ{@O2xOWwOBI1W%+u1NUMn7;*?)JRR}4FBMfcB&|6!1(@H#U0OP=-v&0 z&5HXR4Dj|&)<#9{l+achz!n8Px@;z$8SU})r-Bg!%U2nz3;No-E6MJR4owc*G z6P(eM6a|sP;bNJoIYTKP3Hka>Bl+jF|5anPWMpgjxc?S^>mG4iTsN2PDe`oUN8uo| z2Oa&!s=?(FN0BA;HmL7RZ>-T&?ck1?_&X zj@WBI{x;El@L0%MLi}sRGkk$dd1At0TyCfA$msZOu4f+}J8}Lc%Y$c8g6<2ki}^d; zUXwjkRd{L)+~X~BsQ$2N&P02B=fG9-~64W;J zW$3kdtjbQ;1nz}YTD%Qs4X|FX29Qhdrb9>#`Dx?q!cC`4DcL@hZ_zoU)>^XZCLPZ;&E2V3#=6KpgDt5YvCd8Rg^X6gOHQM*KjpU z&pfgL(4;vhr-po5eR2?DV@`pk+(GYGAB)@>)hIi^Ecs^TbrB=s3!J&Y zXyVk)b8C5x5mE#|zu|uy;e)mf0XnbmX*0(zponGCNKvwZ>eNcI-clw36ZN&VCg<7b z?gvS;sG!PxB-)Usa1R~^Np_Aizw}bQ`T%C0wW*QQL>5G@eMxAv`qQbYSp+OE6R=)w z5YKpPx#3a>ytp8iuM1$HTDIc7%4z3_7ZS21GEqtIoCs1<5~mDitkUo51bO^kf^TamnHw^!fGVB+ioP?*j-iK1A;wN-w zZ=I1`RY72wU6D9dOQ5B9vKU)&`%vd;zZ3_vjjBjGi&snTPvSusn!=$-9~Qz+;4Njz!S>|+9^ z$No?P&ijK+9%YgPj84CewELv}k~zf9PNln5h0ackqFd3wz2T0p_` zw7?GpgspoY7J73ZvFiHWRK=QzTAQ5+33~AomOK7e2(BDz4l8K&bNBgyZ2`SK0v|y*z77PloM*Vs8X;*W{9ae)={Da9g&|Hn&FMfdD;})0*|xbt&&Brg@0+ ztmORW$B&jwS|t?RJh_GhFXRo7s_muU*`B>F*w})%4c@$SCVZb%Cz(Pq{!2u8K8Kt{ zE;Kjs$>(qG8;e{Trbk`KlPCVuebUq_LY36$A=MjGL}>)sp(?PG_vLPmUNhC%4*NL+ zp_B0sBPVLk$YCbmV_a-4S)Kpp{c1JHCBFU<#P>A8<6UX%N(~j9WQ`16COwW_es`Y4 zXlBv{10{OIvR?eGxZIw0)KTokn(m5k#qOC*!C7m;Wt5cIA*}YTL#iyG7+@UK#Q(Dy zR$J~KE6nf;kB_YT!N%(cqqPbXx*dr4GBR`!%&`lzn8K^67rjb?1mJUxJGbwj+!=CA zvN+#1i%jxC_KKEOT%{qL_F%d@S6X-fN3a47uA$sJ;d>AG@WqP>iAOy?D|SrVMP!)L z*#yZT>uAdv&HrWHhAU?(TDOV!x{I*(ub+U@-|t3%23mItUUhqX+NKE7S0Om5w7h$p zF<1%U;blFs+@BnWvp)D#0c_xE5ML4~nN{G0aMw9@^>;1>yFqA~pXOR01^kTLMI2zl zpZFhGzZrI1dkQ>zBX_B$b&QF#_7U^i2njNmt#3_OXqQ$Q=iihOat`mdr1O`Iu?Nts}(m4S*$T_+%@(zbtKd(#Y3$$+5I)73C*(uw!PYC%BlLsIJ>L z2a=Jy+tENr*<@y)eFBRYmf`2Ve(4u=%>odFr_1iiXw~A=_+uAmA`t_BglP zLnboe;`mAay>5zdZ}`=saJEY+oKyaLzwPv;^&R#;l9(w1QQ>ox#o4(C$BVRGGwKCJ z^UzT|GJaxJ!Z~rb&7Mnhq&NR(zg1k^jZy?>A6$Y0lC|v&SJcevR-bx0d-}F0BLA2? zd_Z6R!K(|g^nQ|A!z<4N(z%RSJq}vUC>LG3h017{^iop_r|Yi#)n`~;3En_u=%qa! zNd9Xp;O@uEw)oJz&!}ff{2n_MuX#Ru7dZeuNB(?xCHcW1I!+FnEEZ$hhra5Uh;h;S0usc9R>

DC{WBu$^PoPBb~7DdMrXlB5tKWJ#VX(ZNH|d5O*2#v-P}zJY<@CJ9Rb zSRmZDk1il3;aMD`Qe&<(`v*=$#Vij?rj=T*a*2a~Z*E0+2Cy*-)?PA&ne{ZV|Hy~~ zIVnj8!N4)g6}G>i`(ioqy{LSY{D~0DiPvZHSzl+P0Ak`R*=TqX*pcEI;UVIEKn%g{ zOBiF3<>3FL>#gIe+P*JPLAtwBB&54rLTN-g1*E$>q#Nn(?vxH`q@=sMK{^h+jb7vX zd++@R_k-u|v)5X4%{k^6W1{hmqzGvq`fdKmdW7kqBZqvD_xE&{+T8O`m_w{pwq6+7 zX_Q7`i1rXt`qsTJM-lA#!5~N^_u=^KEXNxGazJ#opkcPuHhLaiVuj{u1fTV#)U7`1 z(lxI~orU-d9j^j;H|a&N-6-jZS{R*1Sm%KMGspkhC>7{nlpO6t#EhzPl+YhI#!lBl zshT-?zzi+oQa^DwXm_h0ja|8kws@8;Ji2q<@ilwOv^fJ9_U+57s@rX=AYsmi)Y*RP zH%L7CqofP@+r!vt>i|P{VhXdP@S%XI`J{~oP*JCSru?~xD<|L!B>&SvlEZ?$Tu^-? z7czvXGkoT|Qwof09^MUs4U}}d?zMjjod^TxXaDI3MpA?V)KDH!wWD z)soMFUQ6~>{JyL`rFdr!{C>*V67)XQhBFmaKJV*`d=qITe;ICH&xqa~y^bI`0>jw@ zq$p8)-v^(3T@g`IKa~-gP3yG?$_f_`%E5;WE{ZUt9GXGfwGqnGBhwC=7C(992t*z- z5{<_XzJ|XyJ%)}92BS8~a%sv9I@c4F?^O#ZT0gvck=^y!9o=8Bm%R(4L!f}q<2{zo}d@(ciO?3@T~4N7(OQFk6nZVPfywniCp^EZD#w;L3Q_= z1C19y1Qrfv2=TD*u0u2tp9Aa0y?N?UU6e5Q1*_F1hsdC|+=pqXXw^@R)M({6(bM&6 zo*B2SW+%9WbqM6p+UrX;|3h@pl6s*$B+lRgVEXkN- zJ{XJ5;vijM2_ENPaxGN5@YO^4zqw@kt6Miy7KGw#SY{|#-^i3!n4jX`dK~QU|2i6C zyu-qUR_^&Z(DZ8JCLku!Ae&v2fa`Jd{ z4O~vw(+9qH+acr7rrF2>16PCyb#QD%P_(=Nz~`q!@P9}fPg&=eXHSZSU}>GsFw2UI zsWn~obol2-{KhA6F4z9+%@nRk_zz&Y&7i#DMGZ_RPaVF|NXt0wp5>z}!hNf2-tFqoSkT^oAF@KTfIQZs6YV>yZRgW-OuffIrak<`Bw%GH~ z1RIDZq@d$`+mOBb#=fw!ml*Yf^M!JKCl|e?tJ~{Q93?!C4pAS@Gj5%#Bq24`olt%N z{hXfe{eI!-zk%Nh25j9?7O9fY;uG)+?7jCnEI*u<7sE?czn+hCvh2c#47cq9tLDcI zNSZ9hsIN^tYZWz7bMao6aD7((4_2`<1O6ErdHuS?IZL`|A><*8*x7+yxLg~%GO);)4L8k`iti6(veXqHED z!JFzLu{a^s#C(X-Tb-UG^@;`Id!2b(_{OR%50Q42nO;gCi*<@Wnh;2X?ZaA;|17jC z;=C@2B&l-Nw~#eI5E{*+Nt&|a9dN}4m#x2Gx}Sf!AnByyE2`_12%CDfN82#%o3$h$ za7N*l95UU?sTX+ppnAUr*B^q-Oyzn~JH03n;ZCs(vPFFFX{$!6+$unqb~SQEdi{H! zdx?S*{7Te+A9HLK*9%*M&;^}+V{Q?TueF`zSCz#ue)hhQ(C5YBGITzE3LqwfDeIKR z$P7#D3lXZkYF!I)J7Z0mn)e!6Xg-t#!eU#UFD@skUDmQm5k=Q&%@5dh#|qgV-$drd z5oj}mH^co3yzQe9+%+i6+HiL~)=MW3KXzt0GbKH1jBvc*Hi=p()TkPxqYSPam+r5M zgoTJ$v}B6gWMq&|hR?HSZjbrgr8teJX<-Ho9K8y&xI60A9f@0sl#O_J`bh~G0kcup zp^DA?GS2Eu4tk5Dkd}d_><@I>=qxi&t}#zHxmPwU=dH&^c&pG+1hCc2y(<+ANO|s7 z8Srze=&%U_%eUOX6Qw974^NmJ9Xamnbto1VG^CH%NSR=@-CFuKa2)=@D{wG%0x%(L zfQ52*4K>OoICOV=$8`!HA@Y3C%vY-kD&MSAo1Z*DNm#!V>sC>iPs2{swAC$#i2c&o z`}IiOBq2|_g&$i>(pvKH#Z$1`(PYEh<(pSf-+L%5SOijDy!QT zt-x83YnuENpLB~29;JWHYoKQf>Hq>3>%AEpM%tL`Br>b@3zaV7SqiR>wu|g2>%T%4 zFLPLkeI~ z2je?zNj)njrS6yg;TySo@UOKNZ?*J~KT{P^BQdT2<7-FiHT{+ft6j`57RDCa=@ScB0+G&h9 zQPqSNbe7agXOFhCowb;Z?ADT++i1?#)BLy5ISX!6EpGEOL!p5`09~N~?PTSZqGk6} z+E)mJfZM{uu}@hqdpTjpordB{rKS{_g(Dh#|gHHuytz4IMmu!)+wPtCjkcE%3-{0bl1EEv6irH&qJ1y3$(Wo)shMNN0^)YVi_=O!liPAIRscRo z=WLAio)2ay7WbUEi2R!2J?WMebE{gpW#^!?Yhpmoe}ZZ7XCK1->vwWSeM9pb3jqG2 zBCmZc1RWLYv79Y_Lk$uJLa71Xulk$Ld!W?~*y-SR(ZRx49$~`G)i+R|j{_WS9Igwh zt$RD7MQ-12f%`}m=WHxm@$|CTzEa=7Rby@p zn`X;FB)ymV#ba+CpW~Cm3<_@atGy(FR&o>N3#@Kha{_*J=+&^Hn{8)j&P-#F*Dr!| z0Q!pm&pp+y1Tn_}kCtn5`R>L0*|krRy&Y>JdUNcEBGHW=fZA=1rc$1*j&+N@0Se$_1D%H9hOHpS)X7Cpcq;;27=Ii;H?ov^bX9=3t>Z&l>YOs=z( z8dLkG9_gv1;00f%Rg23fcfaizZy7DIe!e@*jOCsuD_c$5`sgf*8@=lAPh-kVbme>+ z{y0Bs`&6q`%~{Ql2eH8cv1}Ll5nSbndX~Oy=k$o`ezA$mpQ9+$#Urgj(?CGr-4gM# zePIMFohcx}I46#-|Mv0v$7h%83THN$Z39YO-HiBZaCl;KuQWw)>jqPSoUUSW@m}I3 z3f#JvJF3;FdouU^Iuc!$+AAA@^nh}8FoS^uWzG<#2r=yiH^4zon=kbo4i0YjD=c4K zo0vunUVcx=3M-VFJ{3WC@OB}SE=mEUZs#wR8F`@hr%r~8De{tXjaWN?1f(c%%Grhb z`UdOyLqSFY+;FxYvOa2hc2qny;9P3cAxjZPBM1VeHjf(FnH!+9L&Y;|&|MG;9M3J_ zi6zRlKr`9VA}wiUIxF?$Gl7fy${b89{m;Sv-69bL>&33*7|grs1Bs6K7�KY0h2_Y~gfg0&86Yu#Pv*q4;ws%kE=P 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

MP?a= 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%0A6tDSIvRUdGvS>U2j4Tavo<$CaZw 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 literal 0 HcmV?d00001 diff --git a/docs/diagrams/architecture/07-traefik-pipeline.png b/docs/diagrams/architecture/07-traefik-pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..f97f12d559c05cc0d022942af569046a99bcc149 GIT binary patch literal 647575 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

A_@0sG+>N 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�+S<4iFPx^put!e7OvKn)|Jbg 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 z z;mQr6|2%uE{vMr)pGH%<`ypYxGor=JGX(BKZF(y6)Err*uVN}6t-IM)a$KtENH}R} zYaq=xd8QUR<|FB)L68p?fODnY5-KURQhQWJ`og_oT*zDRgs|Rtxly)Z2|OvA5rb zD?8YVSRnr5B=$$NJ#H^T#Nh_UB^};}Nx;8|5U&5oS|E(VRPVdvlawocF|Ek+ zWg$5`#kHO+kG+oHQC3^ra;3eg0}tB6l{F_Q`)s|kwwWr>kfDYjcr@}$S41`XF;P$l z30QvMZMRA(?Ye`t5hnpfzy}L4#9AEfISbnN1q2TJ=Hk~ zyU&#R9hXmkm1qr6+yZgToM5m`;|-`CCzh(4n5-C%h?Wdyf1NYsUN-K&Y6%D}m5e&} z-CU4M7dBBuab+A9CbGh2u|=^$zBL@|-;Y=|@DC@+zm3wkE-b8tFY|Wv`1xCl#qCyGP>Z4ak97FzSGfgB}Vb4 zajvv*O`q{6K|!?@{ly%=_J*9OMk%LQGlia0aPYFcLk-xC*|xX~*TO=BXa_fHMF!hg z_Z}L(bFIVznOlGy-;d-t**?#d8G2Z8va{naCTh?aCd`&IU#F0%GIHvcnvL|(;cI-_ z-Jq{u2EoE|t;%^Azq$1tc9)ExdG2^qaTp*bH-NCx!4K#B!Z8%MO4v2&)T-*ha%tjt zF zFuW$bis4*olKA@hRR*=3ceh=mb}AC(S4+N04>BJ1Oa^@fr)BmXnWkjnM6udyiN7OB zxJ)cs)mO_%^70ZhY-;cYZ~GL7caj@b+j(SqS4cSdY)A~GTi!H0{Nn-+3%qoULV9$I zPQO>%ZSgIsVFZ#iIz?PueqP~N1nyCJk`pF^*8No@y>U);Vtwr-zOh5)>*;fIvq7!( zw|g+tDG{!O&}Fpi`#OZrZk@Lg6-?ztunl2Wcd@$j$$rp;oMAEdh=Di^bjru(jEL|a z>+8YKUelR$&PdL<3vJR;JQRAu=Rr!+YP}X_ZHxRcD~1U!gSyQRMD?5VIcMqBEr0Oc zZ!CIb7rL%-qcTH!zMZ;o2;`Aj-|{T6;Y)MzX=m98=uBmLvot3=3W;g@#Y5{Suxfkm z-h6b6l@URie_Zg;wD*XJ%La(m=GxODyq)3WOOQYNPeU2$jizgy4)m;*q@3(&wagr@ z6z*&-Ax11OoYeD^g0lJ$!3mP`B$ezK zgM`URubh#$@8(Ho7U)>bL!isUBZlpn`1~up_>x`l;7!z-XTZ(!|}+I}z$mgB(HRa8HkQ>ed;dNLBPN zI~HOaH2b9ntP@G|fuPc|Cz?aoh$Eice6ULYG8!XFRaQJ*M0&;av z)C~?a)uEN{bXO7Of)I-;``qR+*59tm&*63qFK2j&8j)4IuMYO`tQ*lo9v%oF$o4&| zdLA+gvlmf<78UVGIIPc%Op!qGqRBhja^Go04A+y)uN!YOA>pDB&K`hl2II0Xz!|j! zdj|Kt_VU|W({B8=Lq2fs)NYcCKUk>^hC4kKo|$f`Vy8op@JxZXJ@c|vecr`PU+Q7a z`gL8rg^J;_v)|qvQE89IOoAx|wn$fPx6S^`{OLEEl!ae<}YH$@x5ydtyOu(`te4|au^AAgi$_7f}VXYvzk;@iQ^ zAR)_shvf%K?l>ijfs1f|n#G-bF|p4@;eAu`MYgIM#j2_S$>ApyrWmHPc(Y4q)$(Pt z40j4&KxFqF6?QobKX-D3!u|RG)5@TJ3Y~<+99phrbv7XFZf(KHn5q(=giUN>BHOK$ z7iykMLq3yuSXjA`ba>q5Ctaevv(v2?TV__O9~i)v#o54}NF>q`?evaj`KgM1fBtyK z;^ho2AHD1Jr>DI7;;zjqvC7Q^JR!(_E`T6t?-eli1dRTbItN{OPrL`3Z1eJN^} z$LDIb;K$8mgh~*#T7Fth;-d8?!{DfH9 zTk#FgV+Bo_z&E*7>0Snn8V3WT1MYZh1em%By+FT?)OWurQkzxEF1Q=M5dOk_$AthB zRrFED5o!Uk`EO#z188~emwU`Emr4qrFdOALz{Eo-m5<6HwVWauPQdK6YFT!Tkg1sK ze0wq-dFb5EDLP8TslRs=8K%Q89){Yutp#?)q!bxBXu@ZMW-kE~WU z&DsQoblbsDtOFG}*|ue&v=yA?=iIY5Sqgcm)l&)Q`}g1Rc^!}?t5n)ZGfCJz!Jf&Y z1~)k7Vc~t@@6G%R?pP8lcrS}hyNCCsyeCzf?f|oTdmPhs2MMA#_#;^^5UZBY6s+_s zJ-&HFdM?78Vf9gE)z@ycwh8v z8x@DXYYxX(=zEU=rgM9$P{ML~R!PGgQtAZs^dj%wseS92F zvH|#h|74-md5sMd7BRJZ`v;T7okV$!q&_x5u}88Z@1t75s30dq2jS3|TllxQ;X!uF z2}fs;i}zDePb5>+3hB%z95xzPCdUluBjXQQp|}I}9_tz%o%DWGJ>|Aw@168US-5mn zqLVADr-*|$X@eDZfSd2mEXQyy+;6rh|x*z;)rA6cr7yq z(hrozY`HxchrbB&Q$M|kw&eu;lI`CrMrSgA&CZ~zTfbhK=lx7aVdjcer3(eD6(IT6 zU6&iGw4#iiq|wS*U%uW+xqIgfA<^KYyDiUaS*vu!j@AQk@B5N3ldXNhhOiw$s$Q+d z5MvR4-uV|XriffXUOPd3>wAe?(>?aR3hNH@MV~tgHM3*urg(dj7HjfIyLA}_z@v=f z&V*>W#&eC!aLVyy)hgP%hE&}Uc@7P9G;qBYc@+K9wkw|?OlcV2+=Rzkct*3$&y|=Fr}qH3g!NtN zOPrjWZ4xM`7T}CR-3Ud|?}pQq%nj+(kO~T)oQa;bchnmp84kh|PV!=;%dIcWO7&t* zG~ZSO6Ljqpx=GI&Z*Jq%kNgYF@7gUh%c4C@yy`5LVHe~K8qd{r12r7gXQ49rNFjqX z74|jU?Blp46RF)vDP5FiubYvv`K(>tF`}Z~Eui}BG~44Oy7slhH6o0(u{U!gRBn$O zNaW=5SoxBn`K30#Se=`fv{LS2i7!u+iC6kmmg_ERF9wjS%*vr{Y4|hfGZDwdRLysK zzrl2SydModK>{Txf-IexxZ|<(`3cp=Z0hIs&_W|&(hav!XiBqQ**gns~D=N0brqg3%>ER%0d&?ZZ)TO1MZm|jp%Kzg1ajbTza!hbxZhZh< zbmBR@%OUQRONxbWG+Z(Y`3Q#{&%cc2g)GpYs$0HPnpb!BtPI_z-r5De2-8!JvKL*X ztkGv)=9+z3ocF4ks+_7F`ZzSkJH2@#_;AYu5YxAT20Bnbl!=O=G=p#OqNt3>Pz? z7k51G{E^{=K^+x2Jz(D?85A8&ieB}t5u~>sO@6ep*r6x!xdUX@TWK14TZx9l8n6>r zY%K@H3Z~0lGrT=Un2bplcg~&lk6UN#+!Gjb^c=*jv)WZQ>($64VO2i7#^vY;|2lTB4B{#LD;|r%b~@3H*-Ju>UC3PVg_I{K+a-q{m!*RA<53 z(wubJ{{^d-7_8>)+voIX38Ly_o>$E#MprA$Rf~j+U)pM2?k=#_{>+$uxAy+XmIu6odpGo?XrbZaq8+pFwa7-U&;g?s#x6 zZ_!^N#TAWH$?PFIGp;kfFlVe^l|De;JP_UA zE7&*JSU6jJXz;AU{ag%eTHlfrlHugM{JHmVld9{ymKFu8-v;eY@l3b`kbL<1Lm~5x z)l9aTe&4Vz(q}ME$;#saNn>uzs%fXfoz@C2;)XpxK#~8HqlafCdKTh`DOdWYmER|f zY^|*W`&lwSzuJR?ybl~gH`7;L1RtG(6DR+HH=cbb>5Aw+MCJ{`-(`7Kl5xz(diXX@ z^U%Kqp&YF|pIqqeonW#d|%qf=Avt&?J!W{!PNW@nk@9VPD#wvUIH=c~k&*%i%sF3tHI^Xv`J zYBb?SX_zOJRA>7M)hsu-$pCbyiEZ`=$Q4JUN-6Tt!#P!bg%JZ7$vEPBTk^{BW=8a%P2Psm~iv2vjLN z0$?<^28SoB>LYr6jm)!*+_D{J=%Agm5rmS0)*%yqUjKl;Q2jeqWrp4n1l`l=8-|a) zsO}}X<&4aE)t^Vo4N~H!;n1F8;em-Jy;wG>Fiwc7JAj!7S=VE5le4#UTpN76aI@KK zX^kS)&?hjAMNq(g=()B2jnSBD1>cCItfca!HXLSk%1xHUU4*AnzDCi)!z(uo*B=)j zc9^&YxYN`Pova)&H9>eL%Mrw8pKzohtrTJ8xynrGeh_R*(@%+3p3EC7PnW)OEqXjq z%Qmm+i_!U~sw;&f{iTsAgUY-*gQ}StgS@3xjnZ8^zPynDK)N2m>8|&7mZ4$wDS88M zp!DrE9upfIxVp9Xj#j45em0pTR9hN+XI7F(-VS@?09w9eDBGWUd=O;ikEtVHF?__E z;u!>sAi;{ggNnvUV7fE1PwIk8KvGnlpDUg3DcE`k?echvXj@r#Q5LQ0>Z3v{JbluL<)?1_iD^c$+aGJ28zq?wlFNx-s~yJVi??tjAA8}v~44RmJckrGp`Rl zUHYO>?-f|+klpbaqq+JyT?kFcw6q?Dls?4#l4BUnWd3FC@c?kJhSa} zZuCGK^44BdZCEus7!HW5DH54{G|BEMW_m;NSdld`H}zeeDe>dH_N~K~;NS%)F3jPk z!N-;z#zu*ByWYB}LvyhG!w1XI;h^+T0I z-J@68sLustVqg;;av=-nrdzOqemNy}i(OI@2-%UPJpd=&gR;be8o^ZMr; z7*!;b+7-fH=3BjLGQL7(C&p!@wUm41OKcgm-@(#;l6bQLamr{94#*zk2m(n=k;W&;1n;5D)CK6 zn-AdXF?#tMEt~WNkPDoY3rL=F^Ko>#O}dtz3w`30RhBo^q{Gg2xu!<1E*L}S;A>If zF~iqLEdsXSX4YRL+xvTso?tA<$fS{LczBGPLQle0C@_WAgta!&e%*VhttZmiu$yYb zyf?C00vQ>Uw_VEDD12f#Meig;NmO*Xnlmfl9wO)B5`Z-iHYyzOy4ro7N?_G@5L#eg zE10iYo5rD6`|#X@np137SE7y`9^PDa0{qadfz!n?gvZo!-EtpO%dMCc z@eh%5aTP(w@f&-kZSQ2NDzuY9Gu4t@haI(z?O_nv^q7on?f4g$b)R>#bNZ1EZFzcN zs&9mMxmVZ4R_aLd|FGBaB+zD1L0G0Y*;uMv`5TVcCnmHxsmv01{y~?MDS=PMi+cznIDaV)njN6K)DoKR z{ z`f`72vSn470JEDll-Dj=R4Yt?V7s)ro!=Hk^_}Tg4eNVT6eTghA{Zs;q#$WOGob^0 zDOu|ip;kn#5H-uBK*qdQTEGnj-jwNO$;wb*$Zq>my`koPp;74qH)w#KM=<`Ky`6uN zJ~-eX7c}%sdn#IBE8jTayH&_53X%DVJQOA$juj6dTSFv~iF`|(3atzZpkIj1CM1VT zSL^P0e-I={hZ){&>^UEEyI0u^1rtdgSV&xk%Hg>Y>DhiwBhn$Iq+?7I-daT&r&S#x zYfIHwlhFzkU;rDb7AkuG*t=POQz7maT??t@-%@6=0gLqsD+UJCc!6 zCKbphj?kXtVsAYjWcQxmlrD*$2}xQtyOtAQiad*sx2f4=>C!69gSCcZ*)N-mUCK`7 zNSGm}bKll!QqrjIXQXsceP{b`)&`fnVCV}vv;3LaLu1f<5M3SQZ#&{E%5FwLP zr*n!%^_R8=A5xw{Q8Ros$F4)Xn^Fa>C>Q|rx)N?d=jg6+wv5(R6fGB7Kv$TVJh_}~ zGz3p430~Q8DTCd zHFY^UBAty9axSsPklzjPw`jDF#>WXpMr+T6O0a|C;YoG4zCU~FlcAS;TCg9&PB@ng z9mz5AL+!MZR0=+|LNW$ytaxMd38+v0`2l>II-ls`blRzqc8(U7;ThCLzAk*xus5`- z4o&x$hWQPnxlF(_9!H9m$$1Sm{W|sP)f@iVisVa(;1eRLBD>+*aeuK2F04On=l2ti z%W_%LOvt`o3>b}G@4W^8HFZFU5nKeMo2ebs0Nvh=xJG?@J_EZBAoVf)#>NeQlA*2PghbDri_ehln}C9(i+|t+Z5wiZ!HDyLqh(Z{5ZYYb zR*FLL;si}ZHXnG-4Sz&NG@*PmvDtf`YDmezPfdsZ?L9IPvH{Omq5MaSRfUwfRk?`;Y%gkDe$r+)oo z&(deLTcS#OCeW^O-cGjaaFvCBGxTzy78RRBQ0E4edE9JRxG(j4>$n;>IfHY^E@l`Y7aD?|unRTKDWv^&ED%r@A(6 zB3JI7)dV7Qy^eNu8oMkG;#-aIrLjz*E;Ao0cM!*Hd+8kf3+~8I%nJfJExAI{!liF3 zahhklU#&UPd81d`LD+^FJO~}{I)*xR2H*S;N%+R6eNH;@+boVeY#QYCpn8fVSivG=~NeeHeU&)Ksa&)5IwasuD>hea!z`-Ji6y1rI&_E@TwnK5DL2o=>s z=r5Obh)VlR>Gj`YJLx#)+qfb#8%8%lx7h_eFRc>{pzw&-A1ExQ2b`-=L4+C{;1QQR z`bi-EmT~_By?}N3clp(y1M?QUenxdnE5v23LtaxXWG`;Uj*;4mf|V%tt1oS%#sn>? zwLGI;Mmq0puSDExsco#}+en;JBc^d*cz0RwFw|$wD0NPZ?B_Fde0(qY9rjWG7)blY zy3V%R*ZVKeU;D3ybsp<~+F`61$VlAaS)!k=lj+t_yeN3};_6Jm87g_28;(0*&QNJE zys2?Ri`@1g`Q7$VG3y6GO4gI(ySr2uwLqC`Mh}jLb22|zoE7zb+RnO+`E@vfE1oE^ zhklvPuSNSWtn44V`NzUXN>N*;ae6wO6*8cr0~NycM2N|H9{t0S!|f>pgPWMxb0o5O zG2P`~J7aACq>88GZw?TRi08JacL>zH_SwTct&FK?Motxt5@^JL0$vt95S)Q?q$3xV zehYrt^|+sAZT5j~ATznjA;9Dd=h6p%W*nq(h`u zi{~SG3kpr3u?t^Y!*2p75eM<>hlF>oDtBkfI3VL$GkLuq*IvM)uX(epjVg1 zAmXsl$2Uy_noV0BP0w$kv9%8QewQONLKis6zw$zCfaC1M&t-9yUpsn^$6|DsI)0rN z{I%u(A;|qUYQTX$$?)Z}rxR6SxSgLrdYLYEoNpZ-4I>Qw2yQprQm<`;f8%I5~x0 zZ}VZeM>PCmT88XV=-|Ej&_q4VnY`~QTPV77-Z_n={)j1TqpR|==e{_T zHjF7vYM#*kk_mn}(ElYQ0zARSCo9eqDLxx7#e%JeU}#< zvjXWn{dxC}7z^Hkb>m-dn)?5}xu5${iM>%Gpv?{1-OUVzHPvhcTp_!095ZrYWKm~X zc79tXa8&-A!0f6uH}*d@jpt2&I{c*t{E6Pbg@xaO84bzsd@kUWA?~~qQ#@t0!GH3F z7)`AF-zZ+s$Dr@?uqD*0pS$4Ez0AhiuX}#Omf2F<9TV~RW1Od=?#@_LUn}?RkEzJs z;Gkx{YG+hMJvGm*b(gW7sMLMHk;>Bcj2j!Qc*F?j?$3USiE?F9P7$3z z#yb)VS{U9<93kYXRTve|_w0YjT}Ym)jhAtCYyO6232S>_hpT~>#Y1YvFzk-t3)nul zrVZM~@Hs`WajCs8{PA*=O$;B0Q0xNM?=QHXSP#VidcdywYOFZ|=H#g_01?_mCZ?nX2ZJD^TpF21zyPEVXf-DvTM0GPv8vUjvC!!a)(&3#}* zsgK00ew*vhp%J37#RGm#|IdX;Wh1;wlw_BwI)3Y_J@Ligm+0&>nWQOHf4(O+e=}g~ zfYw95p~6m2eg4|F_PisffZm*4i-51K=w_^eta6gPqy#_7 zuC9j%x3HrW%gL7A#gjwXXD5qs;)#8nUF~aX*%s(BS$>;)GEI}=JX&`Z#V+_rGd86W zZP8C}ulvI22hJw++hkN9U`4(E%R6V|Ol1@E{p~~ldB$SCUvb6V=AuSo6EtK)r$s$q z!T5wl%b-~eJuixb0?~i|sG=7(k>OBv zlucWix@x#`AecyefQ7L2_w+6y*6;uS2J?DP-OlU8fK1UPKM_UvVB7Y?3d< zN@B0_Giab2D@(yGd!#A!@N7|>e0p+!$apR3$~<`Tr=g#F!4~Yo?BAC9e>dt(l7PJ( z#)Hxg7tGB6*Dj4QvStJ&qn;zz#Et7Zw@R*y>}^q z@IQSt#m?si8~^Lm7!7{n)fRCnjl`IgWGc&?c7OVZtO5mFV$55z`F>$;D{bN@o2PCo zlk_#%8pH>=kmLx9c;6NQ9%81mA%47x>(?T1A5TW{?^{a!k|^cxoBzMCPqAuT7kc55 zG@U^z4nt*dPACo#%YUsr1vanr7?JwUis| z0?IXu$8l~a-vsh>${oCXAzSRF=#^7+&B1}i6KlQEuZ2^FogH(op`V;|(dRaX0~4D+ z*5I#_V|D^}g#2HjlR@FW9=_O7a`hj;jn{)+Z*oEM~*+$(}ao>@A zv%-!FjmuJUz!u*H*?Q_d&e>te2n@d3Ke0G8;0{Bm%?c1bd9apja$Mf#MexqO8ga}S zKlYH~+(}h)E(C&^B9mKxeYH;>jabG%8Nj~_v_OQyiElE)XuXo6pN-Z1RxY$MfakV9 zy6m>ud0_>GVDGFX{oD z17#`;jYyYc#wN}G&FFu6qDCyahrX1Iyv3e7Iyn#T<@`JRTvko+T(W- zgWGWm(n-D8dB@&S3&{IGNlDO^|076@Xpe2&M0O={Ic+WG2`Y3B{RwOZp%?x+MJ^N zno+7V-~k)LZ0LlA4zvYLit@>>8}}gnBm}4BY3tVLIlhD1);>Wu-(BQ6LQPAfNw{7- z!tr^E!|Iymr#n{3CRJ4UaY6M@%Als`{gFs4g$tXAGTD2ojv<@t3r6q1?pAa9gU@?wm6hP-kG@w8f<$kXSQm4bhnNvFKsuUlpHHQkZhG5V!j2_m5Qx{f zc!XDfN6Ygq`=3#UFb(_AwND4trPjCqLHds2luG1UyOOVwH31y->?WUXd#WT16Dc~|GQa_S~8gt_#Ow^{|1CJm@3cE_MB=)mS zx;XY6=V6Y z=T#-iH{D@+SJ=qc+TEzF)om@m`R<`HZ{?;Iygq1`4=DycJ+(>SjqxwT>qsn_;1G)# z8dQTRC1l!kB@gjLMa*kzZlP|>FU&>Hevp0l*XX3EjfGab4q!;K7Y5|z)`Np-nXlwZ zGaHo7oBd1$)|X2hYjl8%*ry7YIvM*iKixmyqtu50q6H~li#Ye*kHplsf1liWZ2l|v z`~%l~ddR4s{_)X=WrS~I( zQluQD5(nB)NYY(PSdE&6FNX!uTkh5G8h;ati3C?=Zq|NPabn~YM)akErrZRayaxqY z=pn!y`1FJ&8M6Eq za!dVZ0wKnTL%jNR)J+2Ze0XJ?S+*?Bz3V`RN(8E?0vRpf-i-i1=9gJ!&jJi9d>*5DSn9dn6`j=_)~G?m>q{*WY@)ACMk1DM3-h(U+VL#*q?BLlYJro>CZj!VY*L9WOE&K zxDd{8S{b6aubjNkUUO2gVnX#${CU88+K|rR~CZ$&zM#{}cose!7tOcLVr4r}YuTFEF64hRVq}%#C6Tv(3^dYT@kLD8N`M z_4_|VR;#4Ac2CHeKa~|95P;UlBeQx@or6#?Ba~nEom9duS`TDQ+&;H37oYbECZXbN z4p{n}7Q7_21@-E9qO_tp>-h5m%OWVA&ki7vdlcDCj|@5#1y)+N5Oy(j%66pCfueA)YRtN#%kssBBbyHC5-tQT%c zzPp804JEu9rbzg(QcT~bA?vhaWT>&7+H!_W<1HPh(<(qvtKMHanxwhAie{)?-Z=_Y z3JT%IU+H{ejmQ@5g9@*~Satlj=0^{dMRmZPt?_&crphpcZd3Ym4q7fP+J zKzTMuYhhXD=x&_^wI4)=7LyHrGsF)PO}hOJCUsaMR9nlFIDX-GAwNTX6 zCz@Zj2d{JVWM@|^K5=XsS@1*bTYMKD1CP=OB0DsWOujJ^RM3MTICdXawiz)sc5Ux= zsE)Z18S9nAD*6Dw?fYJg6hlnK6dlI*PnMNpht>7lX8z=X|D16@rmp^aea%KSPSv=WckUhZ3*CwMVUW8w|)P;xqe{ zG;6=d4QI(A#D%x)A$lld4Lv)_D|#+wk`t%eY{EzFiriL8oxQW)r&_0M1(YBD==B45 z^D4?ZN`KHo+U zBp(r?9$!?6&m@4#%^r5KEKA|1^t^ia%GPwuDbf-B9V&2Imu^))U`@RFb3^0PNLG(e zI-f7zenw$bzjgF@0%HiN=QZ_C@Wu#rF~WDDfILJUMRM2T zfQ}_G&{n>>EO^J^UXX+B((E>(m=#tjv>3H-;VH`^wqjxlAHs2hxrcT*P7m zfkt&s&H@`GEdM&=F>hZ$&SS9Pq(z0xD62`vyug^oH~+N`A*66-AZuNI`pkGZQR1o{ zQue*^%vi(yuWP?e{Hc_;=J`yIflPbccp~I|dtN`(KEp<+aLKpU*M<*B{1PV?`Ina;9Rz3dW&^7h$3Ts}buO^Jl=UDj3g>Pde{cg4ruC(B* zO_A5mU03l5HtkR@^?_nSRLnot^^br3r$zs@TZB2%*m9$)2)S-lk0;fhO7Li}{xjY{ zL;c%=vgu|YO00r)=!QoTw(6bgFiXq4LRO|WG|$E%WV0tkZr>@(2+@4q@kC|9n0WeH zZPmLP0_&WufN+SS`P7DNp=i?cE-Fk*(kVt&EN*0Brk;KS|K5 zc4zmI+6qsLh!e13T6Y1;ZnsKVBE-uYnv$bWZk>v_qw-ic0sf zW&f&x;KYl$#CS@SYh32J|H1Pc4R@$+oJ+>^VtQvS2)tZgiyU4&ssI_hB)MS=1hm>I znZ8cjjlunlrVh1Y(<&Q*bid?J*n;DAgZtvoCpVg#iXLpGbDj&S-o__^*B<ZnhZusj+uQk4xi!+ZmyP@IFRQDx`%M~{ zUH$HBLa~Q{tfACtW69cbq@4lurslhJutS-Ec&Dc3ign?)5&Rs>|6sIFl~UB4%@;!Z zcB5bPH{5TQf2eQtD$fo32xV-s5*m*jmWbe9j+c|bUK@_gOP9(_M?2{iZy0w-w?7?O>VjZ0RQXNxVM+q zrQJ&`gHFCY<+gNJz*Xtv4|g(t-TB5?24?f@F4Ln9<@raxlD@gC+t(A}MgH@cHKn%G zos-A0mK$Xomb@RB9dT_NMzl`lVpNyr5&-JraPuY8Z@jThVLE3cEDmGjH(Af61$z3Z zImApkqJYA@J!uC6ajcp}ei-X2_<;(FiwnyZoSe)*Lu7iMMuq8FZ`%_$MO0mK#@e_C zmHWZuT1a_eYli2h)+vjIZKsla5m?{0HL-x@p_(;Tnk3LvzyxG_ZEo|LyuTO#0I8(+ zn-YGr@Sk}5FL;w;hL}qg*B%oiw-)-O@C%+(1AVi6*z1IAB0hu$z22Ph=6fHA^kE44 z#0<%X+c^+n;9_=3F6fIGUj`$6%{;n(XPp%}Lm(=cmBmZ4B@_SzJ^fvTvjyBwHP)DK z!9xnhdU0j7!gB1^2n!ppfh8IJ>Y}s8YG8ZziWJ){!DAUs`iOc!eNk-3vk#;DE#W9zCo9JEAEY5G!1?oU{SoFA3 zJ|$a^k&PVs=B#)VzqEumQqwUc87gkK2+51IOW#ahFHQK$U% z@w?C*dIL;?lOFlWQGG*KrMUPz(lP7yxVLVz8~ky|TH!#s(nNgA>43r#6}sHyBeRi+ znPbjoi2eKmn(?s#p^Ib#pv|7m!Q)oS`3!%u$8GF&g#hKw=Rdmqx^M(-siaC&v<#BD zia+?qUolhlr@U3fhOv5L7{aZ~S%*%&bg;}W%&EZJP%268tR|b5^7(U2C5H;Ev0ie7 z|J3u|e48QOJGncKNEsf@O?D80fQ?Uz4g>yE>YJAW@O*Y|^6lxVxORQl{hQT3_x`Jh zakiSjml%9f2#3pL*orU@_&>;ezp7!l#Be*9_Gt8+y-f^51>awo~ETB1#_g5MJZ zB`G_AJ6b>47)#96)9Jgqk`0g)=EV(`hw*QhV(iWcqA+GmQTXJ9Z~|#+yXe%WX5C?) z3{y|EST;~_M(i5-FQc<-mRn?W^5kIRvD^6Mb3ta&4}~k|s9N$6T$4P;Z6d4w{#MsL za)vAU<>J*Tw^B`d<%S-;7&@(QFk@)%_|D?kG^cmxpKKWL+e|{-JXXUWhAWUvB<2tp z{ia@20pv7VX<0w{!-oi@EE!&EDVeqz2Yz8r6sVb=9&vOxlUq+))2#jvfNv$yoVx3?%x2>%ml zps%QvcK8kox_3<1H&Fbd#E2~Ivd=VeKrv-*3%V34VQrACtOzqTRBkR^ovs@bc>VoQ zlJP$KsM`E^HsyDx4H-0{28;59!s{H6txa+5)LMGJ~dMX4e$jV2Rj#sz=2z8{Ap7%?T)UmH!onq17J@Fwv^sA5O))fngi3a5@IKv`Xv z@B1lQiqYS}$$dThVjQ&Kc-BsSWA=;hr90@gVw&Q2hr@;6O&9l3#YSNfpMK1>yxT{7 z6x#gCaZN!3SlpBZoR};=tWaCd_m*9*e_3t7w%;gv)BPJRqQ+ZV`b!J==_NNAUxqKs zqIKO+Jj=`F85m(kmSYv^G3SgipNYP<<%Pl}$rZk*7kv8gef?#=6tUJdx}FBR`{M|{ z!?y=Eg7ACWcatXl|u_{s4&}d^m1uy5i z=iRrJ=1fO5FFV{^kRRS~slXJfp}r&S5+_PL8drPD6h@*8EAb;(z(CePZHFBnHTS); z@JvQ&>iquw_fYT>=kw<;0~n?w46>8IJae-hG3Wf2t2sm~1-=m5VchMrgOS6MTYa8m zd*#TIkWvO&&1bLVCvtal%9mS2LI1NKns!hjhDw{t5zg&89be%Ll1LA ztJw0Vhru6{!e<2@4Hs)g7652^D^l-D^~eyxqLsG2n2OhM!5IMxr8LN})z{mwSOHIg zT#R%)E8~=)H8V`a+1gR2BU-L;oL=#nU1~9_bggnghN_pHcof`@YUgZK=!c$5 z>$@IG1X;o6tCQb8z$`&=?w@w6oSq%I?A8@@bMYj_-kFTJ6ubM?n(=5IQClUFAeq91 z|H1XZTX*b=Gf*{QiYF8Va{a6eNOH{Xh5G|0r zSigkAyK`PPP8q)>)X@3R!At)4a@0?lI`8cG`v(14Tk%a1ldT(Qu-*14G@ubDc&Z)&17mL7vs`x;d zu_H2$?=%(pntOe*v#nit=Sg~H5XyW{cvndK9@EA|nAg(u*6cUZBjjPZ%-)#4B^PK- z{e<82t$Npl`$2&xui3Gaj>)PKu{F3sHNneMP^X+~N3 zIm?-c7mm#hbP!Lj<9CrcPZzF>LWW6B2DZa<%n(sr^{5_fy3Gzd`3S&59J#aDONqK_ zW+;g*o{z;@=|n#$ACXsWxT^l)d};oCA)LWJ$COVeV0>G{cpO2MNf{u((J~JcuZauj zn;~^~D@^=P8#lG6zV86g;zfSi%6o*MMwDguZ{t?u2(y)Dj+~aS1llsp+Az$$v?`Z1= zJzH#q=mV?k*g=EcOsB}N(SPPP-%*v>>oEG^*0P1MEl+Cg2i{_-*ea0mf-~ChP&?bQ zjYghuw{@4_Ah|{FN}p`*qWY#XEWP4opS&=5kPEmt&!OIK_K~pj$+gV2c4fd#EcyrI z_Dt8)j5|+_;yGRAf%*iJKQl0I@V&zahq+A|-fpLmUHIZEx9#T}EC=q{-#p9YG57eN zC5x0Fym$sz^4A9s)OlWqE455lPXG zqj!Z@F<-v&>dMY8U2!0oV*Tn}Qqaq9dseTAXI+NCcZS83*!N)#@rRp&mT5_L1*oow zZ6dezRLWqv z-9C*)Y1}czI0|YK6&1fb#KPK?kL=zO?W~xxoD3H}G~;=GPIGf`v8EbT@&X3m?Ig7L z{WrU-ra%3Od~vx<-3T8l7@Dk_D_gX_C)qqIM?ocASD{?ksC$dNCBp7R+Sz`HW!$!U zv$I}w7qOm6{y`r%vRrIzQn}y+gn_DAX|bN{KW`{Z0?OqN6VDjlT3k2^OgHTML)m=i zHsfuPCgq)nOFm*tcnR(@R{)I`PCPsfif3jT-8O~|Nb4Xd27HToUL%h)-f%`wfIbKy z^E4EBu2l0Mp2>_HtsrQD$TWrJ-0VbxJ7}^p*1o~r^WCJYUBmM!-tO1|lZkN8qW&(= zN^PZ@g|MQo**=j3XV4Y3d?J%&FQ5X8`7l*fN>wcZS)O0&|S%=1Y*$*1fdfr z2f{CWAACGzjO{==zOPqDi!H6t879?Z98PX+V5=9Tqj4i2s2ct?B0gavyhWLHssWF7 z0slcCwTw8J_K;HDwDgR34y7v_<`icRq(=>V*zKTpO+Cu} zy+M?AzIIiJInjD_DK`K2(*ci6vwNr2BR>L#He0_8uAP%6rd;n62BA+}gi-%+@o6fo zpGNYJoabNULb!510WWg9M;gBJtim6&Buwk*Xy5l1+r~}|jV2~1o$AuTk9cWz?0%*N zL^OU!ja|{K>y)?$v^TISraM)z9y&8z2SlktC7?bGo__`(CH~>UQ@7O>vci+$gH9S! z-Np-n#0ZmDeHud*q?0GFrmh4wK&o=Q`ducr9G%si3kI!oh^e4Unkobk5k){xLFU?? zk(?vu`bfq8xDRmJnQe-cqwVX$`R`fWS2>SDt)X5F`s2#kdSmJmp5F?O@UDYLgcC_g zYylajqcYf>sUrp`2P}O2Em!f8W@vhICf(BXoE|(Jw7O|?L#8ek2)$DZXWY_qpKO_Q z2W=b)hqUvqbuijfn5_3?d&+A0+wB|Fvq<6(nec})uYOVBQ~^_W#=Xv}D0Q@)J+d^& zO#DK1!n08}2@0b`Wr!}k{G)V2@^HdgiWH`A`n)Or0{Cw+7s!wQWt-tAvFUkCe0IBb zFi^IDR6q!!F@$`;etHq!c1gXd@df770FfUp?Sero02-Ng>GPLNL&VLAtg7mhW%W|?tC z^j?n9l>v=<`fVWEDiuDD3|UcBVbJY)it&OK`z1gk%OQns>}b@{iK8sW?NT7^&3;_)zornFW z!VrYdb(VDxMwivyZkMBB!;s?2Y(2ztSbd)ipnCuhk>fT_SmFAha;A^2whMy+jr1lZ zQI-q5ayvngdBXiwBD!-1*~D-$0YP1Q8phYjR~VX`$patSr+5!kXd>mjCx73XX|tb- zg+POBx+%qXL?l69BA%0}r@j}S6NL<{(0yY?R!1*|S%8vsKAN#1K5ix2p2^{3ht+be z`DtMKu2L`Qo%h|KZXF{zznj3_aqE+gs=EkhEC3`gU_YTDq~u~Yy#Lz|`X*e!`Zw9d z`KOwh?Y?0uhelu(jKek8ipYAtnr19mociivC8i5qE*_-LYU-FrR9GW-V&eD-w}QkR z6SxkPr~KMFqb3{mw0XY5_J10R02Lb@4^vGro0;63L{ZU?NsXFJmTwYo!KI4|wX$DS z^B4?0A$P_Kd8;*D<}PRnh)i^&`X@)U!biJ!ZpIyAXQ}sfzVz4!X&rEr_aPNec3mb8 z#_io^;+x$%*}vh>`YksQpqJkW3giIAwy3V_@f!VSS~sZiI=E=PwD|I}JY3iG8p@9- z%uvAQ^|Qq)0#BZ%*w>4dQVh#r`2HGO2)7rzBCMgWe}ujufG){Rj(kyQ;}(P7P@5-H zG5nHBIqc6{s+93Q`c z)HTVc5M`TSli8Td_LcC`k|lb3%#NTehPjsq+~+&*sv$fhauc{SgJoPegt&DVIDh~B zbHM-SY8`NCG$G&a!jJ$e1bRsamWsT17u8_^W#(lNO#wy1rz^?7-HNF`j)TfP49z_e zyppbF?jvF*b6p$#{9_nXu&XM1;SOWJ{hAIN00rK>K3jInEtd6(jCy+LC%FZ9PDP$l z4%X2^O3#W49huX}{^XQmJ$NNQNzYHtc>~|~oxgb#_qM-`$&?92hsN2Gd?+d67StFm zW9ZhtGp+2u(CZaz*j!_^u8@B$%Eo=08ER~a@`8VT{EoxwItfi=%(TmP-8G{~NyJz3 zvdC5YG1tlX`O+H;VkwGP@__soi}MC!kjC*&((L!-9hVeq=6BdT7vTTY0e#w79?wQw ze-gZ)9tw1WiHpA=6L};NIUSwPdaU9$Z(;r=jqnZiO&lh%l>V2wHXw}rTGGqK&F+j2 z!o!z-kWaS@Iq*u<|M7d+af%mzX#sz{d!{ZH-1bSoBAM$1!gx833paOlboZT{qKz}) z4lssK!m%<^$T99fCUdglbq2Q9Eo}oW=IlqEd+mK=T>GKL2DemNs0G6dQAvySTH+e= z=YayJ+8Yidf6|~G6obwuDr>`mpL_WBdB43^z-m*HBN zGO+H|ab_7XTI}oz7G`*D9KG!}^Ennh*K49JP;YER%CjBs{Aj?W@Y^jb4d{_xyBVFU zb%X2t6HoMkgPD*srKl9bks@2NJ290lNk5ezvZmSqxAg&08E+gUUIJAuw6_Wj7@|YR z_VzN%O%^D*9n0K#lS4(_9jZ+{%31qII<~*8S~_BKRT3Ac8X>A#00sno_}ViBmo->-=eGCW5#w@y^aLfe)2=mRIDWkp3<0z3c4f8Ow(N+ z50We5ew1ihpFF-9#CvbMN+7!B5FZZe;BK&Nbo$|iP}E0t>j}e&QI&}pMJLlF1ay)K z!T-&m2_~Lxpgxs1|L}K(Z1mNlScf9WI{P|3Py3J|#rNn#HubgAx$*b! z*{B_NeK2Z}k6WC-K7kn^wT3u*vDDbMsMdoQpT@cbQAv!}2uKu9l{FoXa~Oa+`Ap?Z zbwQnGC(vhyhYcT8^LRd$snjp@l~_tc_uhtNZy!0oFxA`moGu)A{!nFo)flFN6tSWQBB)>`d5J+=x`@oI5>2iYM;GG>@QWqxt{J= z@4hT@$lM%qXkKH~8iiyX`DnrzEt#scj@u|(?&5h^Ji&&~X8h5F{Deed7k#?TVjSz0 zufIZ6yjZ^s3%resg~O!neVCu(Ju6wI_SoX-^FJ$dXTc(`;zIMEjiQ!YV^ z6$YP~$@dp;7DY?Zmq8SwIDfp8I@q3FwL~^8_Zx?UeBZ^wu+h-CNY9b3ImXRn_tGqn zS~X@f24-_fzq0b33edB-TXK`>c*(X7^r7s5&dL<)L3c-JPhF5%hi;nDEln6bvM%PJeTNd&76@JFnD;bez5CW)%wb3;HKIa{B5c^DN^ z3K_-8hTkITE|N3nXw@F-n981-)Y+7MVMKft&?hSPz@)EcY4rRr9SvOMN1qOIb4ck% zbq?o`C-j*O1q8wxQrXtUpqxr@5Tc`(m#t_hYyJxU0#ZnG3trWomZ4*jqo!K8X6Ng1X78Te>JSBQ*Ef z6uNzS=;>eBr4|;Oluy@RXu0O9{7mBO0g8oVazi3QvvnL&JSn7LJK3PPz;8u-E7n&! zD0?kT%F1X111O<-?Un1D^+v>wa>o|s>YZ{U0yEw|hH!eLjj*}^HZCWT3R1cRO1pAvqh(J*Xpz1$Gp zeRzoe;cBk(!?jvkgin|-2OArHEo_B{KsV*imCQFdg2`>0jrRrYn9YoVX4A$CG=EJ$ z0UHL)H}cWv{by-vwbc*^&qBkSj<<(QFG_aJ-C}_v#@-H1SL3bBS_KVOIM@;mw;Z9z z(55j)r+CJ+7)XW04OL)N>svD<_NVxWmXmeT$Bhhsw%g`kFz70zj66?3->7+m z{}Y!5PW(vW$iBjjIC!=At>USMRk(TGL2)&ZLo-$cAK^v3o^2pfNoZ9WU&R;X33NUc z_9&Bez_YcMJ$ak0(7#stj)B@9$tlHj>W&oEhP`ggZ(BV1+~{oC0a4c+O?H>mK?Dwz#HA27j6;-@jy1gpM zE9a254D43lvU?E4PG~6a%Hit5cU@H4-8f$=Am%=UKq|jlaz?1aX-#+BcI@UqB*QG% zuB?9A40}t<(Pjgxk_i)xC|P`aCF&t33+%hoLWWe;&T%EkI6Obb!5kLO$7`V`x9&!( zofWs;&LcBYUt%|7GbYS4y+*$wckDp1FdY(5M&HFD<@sS=v~ly1{cg6{ z8bqva8?DODXp@rp2CAFVfR!^k9dODqBx>P!y*>Y`T#nIY&e=)GsA_DBe3tHjX*fvO zVaPFdG0;pf!fx?v7${N7RjAvQnY`Sr7}(uc1#C%L8?y5Ag~?_ULxYTNd*gRFy1BbS zYL!+ywR(F214YiuIAwjGxtt63HVXTkF)S0eq57)SiV`?L=-%=XAX)RE6^2N~(0e_7 zlh_pWvxnms2RV2o_UsS-lcVU<5DmZL;brzFF|;4Kk$J>58_`EMye+H!$_rq?*>o$}Bvmt+=osy~eWEGtqS{@TO01)UFvVZ42av&s zkR*rphp$FBxa=>j?`Prrjk34IzcN9W=Ld^sy-<^1p~htO&$$M`-4y9cRC_&YpG<#0qMn{fDO)m@L> z&rGiLr^^s^qlp6tvWa60jaZ`ytLDK;S~d1S!yN}th)ROg<-L{8T^2ljS?q{%Tl3kw z(3g#NeKxTzcP^2Jy!Bb+>g{j5(Q~C;zK>>VZ?LyMgjRtaPxlmcEG@~rI`yL4SzSOr z^vLCHM~z%~#KL-hzSJ1b*Ousw;84?R)hFzD^4}oPUM&(GmZya^1F9zr+YYv7;kP}J z3E;v7ZQ(sNs`^I9s#8I)kMeah4;ODQG}E>m?u?MOwSDLO`i6yuTVqyKgiGT|=4=XF z>iS;sV#pw-zDEL{INYQ}n%%_Ny>Dx& zZk`KxHAg3uD?AlmPvXbdJUsX3cHTHNa+0r>gK74TeVZ?Vi{6qOtjqvSc2i4LC|%@+ zS5^_dS=hOLmE#mgEyCEw)8B{R7Jq8@J5-yRahl9(sTUc)7ak zJ&Aq$44X`tiJKqYV{cAHLLLP*YdsQn4%_SL*%{f_X|#&;D5YC^qHEHa^=aAdWK#;> z`Qr$t9`Y>{V@bSrj4a(7e`kn3;v`;+)DKSr;_Bd~04gk;V`fFlss8v)pX1t<&yt*= zPm;2xH#jwZFmG?(;f#(g7vkZJhG-ZZyf!V`325ywTwwB`I~6us-~dIzO&4}HSMaGi zJJcxIWBEID-xaqsnsw-!cI^yz=$`6%{z#9lZlj^+^pDNo`gDN$5Zm6NMHwI4-k8tk z!NsZJ+G4!$7)07Yj7d6lZ~f}F)=q^~#AJBeLh5Z5%BH7YhkP(y;9$RgD6BULCG(?e zH5l7dXk!C{S>ur2IGi=mJRf(6EIw9$ZaVQ!B6WY=JkzEl3hQ4mIgesbZ4quyI>qO%jknWK|6 znMDqDz9tUq#)~iRXdOy-enVx06NZ>Y zdbpt5o%JxbK{t%sWI9w{^*rTPz3M}=DW7|@-6ZS}Za94f%kSSOnLx^k`_WtK0>=i8 z4k>|gW?ojolt2S(pa(ixg?t&Kzn11@#-*Ozf8$;_tbM;^8 z62EU2SG*$|_$sOAYWpByq}ZR@!#6M&r4mVOVZX<6>sv=?`iS zJla~SO;1ITw=noZh_mIIuPW=p4gZ;`kObEbs^zs~1Hewn_y1%pl*&W(laC60EIk%qCl!5IHeCY1R>-_#A z+e|mP*_+XX%OAedR^ox&;k~vYB1wU1LXA-|b3$K=`K0M%6+XV z@gcmL;3~Z{#iK++?mKfXtO@S!I^Y!zNmJqL+AZxuFdL8D{B&e$BhZee4RdLvTSlaE zsvWU2Y1b@VT3%|%bbdXWy63rk=P}mh8xB~jW1B&m1?Ee`9gQXu6-@i8S+mKDcvRBe z1{7I=$uH;*FUXX>?f*-51oTRz;lz;rR8o}j_NtG+ck2gHG;NP&Q0R;pBzGVxLi>;# zbO6wkOaYb5s*{e^0{cOzRXH=j+0)ikHiR{??)Z3ULZuu@NJz7Q1Mo7Hu?N-X0z$#& z;x4ayW1gE5MI8uk!%AcXXsC|^AugLg|MBBX&;A>g>;iT(TZz*Tk$bXjWse4EGjsF> zN0rG)Nmx<7L{Slx@9>Oxv@BlbODw&Y6c`Ej5r6K#`dLX*XEg3}q%AZ~ubF2g-AZ2f zaa)`?d?2_An#oD@k>AO>9IhSVS+z2OqF3q)qFJ;+MbR|2mW}idf)~f&j6x4O>T`F8 zX{&~-dy!eZW}oEij&q(}u?eL&43et*p`Mxiyco=O%gy6RXF@GK1bO%7Xq7L6#Zd5& zT(Khn#+xNEr?Wim0dKo3UxB!?wQ?+MlUeE@=c2d?eRtx%w zfSeSiJ2#wcO7zJsr{L_9$ir&0bA1pnGl;{ z@O2FtvKxmi3|CgJD62eUv)o{ca+#XVxGZqEa!dcH^T4&%0kp%i=x1PVYf1bVd{4PC zC9&F;-pl+%018sEXm$lDYCg!iPsY>FX>?`j3n_#7-ne0xv3OR!<=FgorIG(^5^_Jw zCL(7skm_i;kpI~ki*wrpE@duGEn?5#5fPBDS(93hB%ePRRdxt8y(cs2Pl>Av_9=OM z7`4=10eZ>r6mlb^afl5b!bx`&ANJtnCzx^sI>}ZW)AZc^Y1?I2djLE=&uad7NlCjD zLP=35AbI$a{oD5E3|FbXQcxY=@`2@56HO0O>4q#wI3W3sF3MI!{CMb2-o=?4V$SIq zi!^(kRU`yW2*=0=?Px|#EgU%IA$LcLC z#V?)7sbY%wH+P`LDf*m2&whE~8%gg^|H-Uvu-##!Q{wYUFFzON3LuNqTQ0M2s6l6s zh0JIBE=HkG&A62u3s6*x@pDAr_!h0v&EeOcB;#46L)+Spd8z2mbty&JGU5pD8Gypg zjTU*8MVMIePYExp&p&L$G!YlZ#p^1Xzp7h|NYamJjd?COq=PV9k$rWe95pWMu>lUE zABpI!O6G+F*-oC;(aOSO>alGyo`}*N9+$rTYbIs_tZ8Gdek}RbpF$|&=AJElK^Db% z)^b+bA3o7ga)(h#sTwoIS4e$aHVP4j`7ELtv}EhEhTIuV44@n2>}rj5#Oaa_2=3XNVg2+8f6o=X z%CrFhf1u_c;ukArC(Tc^!z((qdEV}cmY0rBmu@v%&E#ZNBBEhA7!)S8 zH!rZ+VB1^j=dKh)zgZe7+$isfYO^>O#pZ;i1VdWxY6$naCQC~A>!53|Ce1#IFV#5D z8iPj)A!^Qc*@$-TkSB^9Xs0o#^v95mGUXM_q z5gd!X0$(_A&*=_>yeIf1a}X0te{vEFwCg$0kG8&Gnf0biNM87*Oa02Za1t-zpB=i( zixF#Np7nS?d>EJEYG)PF=#P%vo^R=>@aQ~#q_?SG(;fR7&e<%V5luyK@>qDjXMFxR zW`4V!L7LOkO4Uc#yyi+p_krv3Xtc#iwUZdbqxtFGA!CaHcd53*rp!~J{_W2-aCH4d zKBe5lbCm(mqN8mE-*|j|RNR4m?Ys}`FE9V1v&4sJxV$s&xTQn6+@@m0b)t^0!rr#Z z+WI|5e_`Wkkxw)&--f5`19H^PK6uFZb`o$P)s0rcep6?y6dq5v_+czp3N!X<`IdpO zG`9trO$jLdB-kw7Pi_d%n@6G9Y>C!)1Ob6Is_I)`lhP89+s*bKO#w=nZTuI{$#^%p zt;ya(s8Oa%(h3E0=*aE_XHLP&aRFR{KfZL#u`tt*Wwz6> znP(NTehI$ta?&@^RHFnbS}WCT?@AHV!W#CDHXv7RD$bbs%a^`gOBvvtrNzyi%1lH2 z&DMC2z+T#8rh*C9(8WBd)45X*d(qR=O718_1tyh`bQ z@!+@b--1k~nnb*AL>}|3bGB;U0K_ZR_ zO4U#k;< zQS9Ve!e>K>dDz_^Vquu%F8!3cyJ3EMk^!cp$l82c5-J#Seu|fFic4w#fydgA_b4)- zNGe=qhfL(vUnlY5*=Gde(LV+8?ZUg&_j-f!EsUOWSf1=>yo*q_%$$cbu`KN^#(R&} z&$gf=VXbm~yqi(+svV*yTtvqh0-=4=sp z)`HC*qX%knfC2lksm6ZYXUx6(BrS|Yyn7Acek%pi4tK|EnGCJZ6t3~Jvn_=z3^zt~ z8o=xbKd*QDUY+oim@J#`&31kDB_tS6>tPQ^Po&bns-hsLp_Duf zCCRntl=pf5;~8(nfoJiDg`(&*xPIa3Ax2K7g} z>zSu6be!u(a0WgcM?HDM#=jJLE&pRD<8eOk^J2!)3(KFs+qQp{P_|D2g{VcYGq3F5M zG)4A{RYKDhSN-5Da!6lB5(ZW#L5>>7%~1d3^IzlARtN8PXd9W4X}inft>}FXxi=5q za+}4uI(db-!6(-_gGyG0+he-Al>DW>GCyW9U^T?qa1Q1fb2-p(dhsOwMdSB-PyTd> zRSjO)Sfo~X`Ucg_-y`!EZpUqaG6dP#g2WG*Ti)~jO=(nUF9}|7%$gWq=T1>LRxQ8M z%NzLtj#>ESApyHly8{s<*49Km_gW(j1@h(SVAxkJgRvmtqk~e7IWcaRhaE;+iOjiO zAr32=9$F&^>0Z8FSJzE?bnT)$Vo#8`@aN%vDSN%*DC#0J>(I*=+Q-@cIBdU;{{JLt z3*Wp%IqxAf9bQ#TI~O%0H0ADzNPr~ni{oiJzkJ!Rwj_5jfI=ePI~eP7I>@>yjNRd0 zQ+SHHrHb(!+_rA-6#2m4@@~#9UyHp>zieumEa<8fM~D4bso_gy$G9D{8SzQZWuzuv zQU$<3duu!QM0evUgAh+@;jr|KmG+-8f_trCQ(SZ2Nwo|9`AiaOAi~6=^QE`kWZaT? z?b8kWg-L9W`&~MB=2WMo%{p#RyC<#2ZIZ>lGLIj><8r#*yZ#a*E|1&3l7z?V1tv_(5AjTT7J(k$CK3(Mp6bHu3scig+w-nSIBmOd zCe@)-XAlS?=IN$S!5LywF>oKFW&X!OTNQ@!&>v9#Q7~%GesNHJs+-c@q8aHl?J$5a6!V2%(U*_yyK3GI}qKm@xg~j zUnu0wq^P!OTR1o0Vr{hcyM2O*O(#NWI}KDFoBRvy4nl3?GDOex(F&P732CeJnT(f~ zdgZDJS=Dszu4-Fhe{~E(kQFE(njX5z^k+Ogd+zwlf1=}G-~Ba{&bj0_N@8ZWNk6Q< zlh7UEHWvAyg0!bX@ug?4yMfM2>IK>6hPsBp2ebiQ^_Ggv$KSBVGP1&2c`h>QPHkC? zMp=kin9EBD`Mggv3#*yC&c~^3EMD>j{Sh1gb!_=)&7aHTNBg9t9W(RTv3qK&2;D?G zrdx39C3OSlL!(>NqIgsext;t~r|Y>t@IY+h*+sQCXChS=iqD8G7W%$ff+>3}_niR? z0S`L|Rx2JL(tUQ5qbMROz7~`$$dYhE;_=N&R_;p|AUC59tppv1w4(zagdsRvtBH?B zpG@``44{(wnhcQEiJ6f5rXRX-8%b;QR!e9$7m+#`{a$gH(Z1)$L+pN$=xo!_vb)oX z!5nmWS!3^$g(m)5M?6t;_<=)u^q|Wo#1K0#B@M+du8JOYxh?|$R=`HHb4XZ>PZ} zb^M%1T=(%U^1ONgS9D3@<;Ser8uAW+}0 zuyg92&$<05P(`%ezI*~@v{vjsd4-B9F zaN0KoWB?sx{B-A!3-RmL{09r|t_4-j;PocTFNYHTEO1t?<8p-SzP^p&@)GYCw$2uq zmPsEPRDgaS`siQgb%(Y3TjIj!d5SY-woQ{S?LatzDRRsK45ya~SEgOK$0NGgBpB`7 z?+ZGNl1L6{);G>wg}#fB3t5KO%hey14_KjPu2hA<#0nJpJ>>V)HST}-!p!HOq-blR zIO<~JFwHP(AR$%xF||#D;W9;*+3A77w-Eis(QGmFGy=akxFpTL-v;V+r6cQvLby2F zY2%&&-p-fxZX)gSS*wn#ozfaE6?=(8Ewozkh2_oI?#`|lS)Dn~7n;sQ&If3r5Tt@t zollft?rV$dk3NfQpN926pc%KO90%zj~J@h|JIH4Ugp9!op7*D%?*h*69PlN?!ThzAl$qmrdLDa!b{v zdQxMgc``w4LrT&ZfiTvE>ql{e-ln{A~q!2TT|KM)dXFJ)2*P}AzR5*bMMzwI04dQ2X5a*xK=Qp%gyVn*q)$d|J*>apfBLN!&| zo)>qTCzCBVQI@RT=J8H6AHIs(U!~O&IZh-47&JgxjaWPU>K|3%-Rtj(-u**T{oOMB z>=t%7RI*hQ3o%aIt>y~pocU^{&St&!n%r=Y44Z*K!OrvLBW7;5xlyx*dI8<>JQ9&g z{PuQ=UH#v3b{YyvF+-fA+KXp4VYM3!65dNIFEPzRL-flUEoKS^4?f4K!yR(=i9h*%Myk&oF3z6(Uk;-FTd7Z3|{@ z-G|cWuxr=5BkMK9J-G(GS^{UMU&@I@*gp}ecZk82RSLCruKO@lBUzUm0lKSM-FrD7 zOq)yXdwnwLgf~w2z;02qv1K{cGBNkg?$N}!lV4;a;cZ?WdzXA7a-fB=-Z8n^puU)K zou}2$wLp0@{x(a8qdP!55dn3}x13ib9g3T4Eh6wM6Va)5klLfuozcw$0~2dFm0%@- z@qln{Tu$Z*{}i&T*vzf3uQx_)hPdl{0`pf;rM!lS^Ykv``a=%nv=n~3G}?yLt|41% zhzvg}+1_mj-4lE~={Hq&PwMax)t!63yGJ*l3D5bg)hXW>!_Cn@af^Ae{+88ZLo?NK zHA?&Gmlzs;AZNyzT#Kqq-oeTo-0_H#^!6w+s&@{x7n>%n6|sR^?pJAEvt}G&ZHsjV z9L6tE7Dsj6s3X$Y$~O5g9dqcaw$ZMRhXxkpcivdkUaZ>&n7>_F9Zt}Bw+dcd&gZ;a zS6p1i?;HiK{r~+t$-2#}5>CBw9;SMj7Y-~2`aayHv6Tu6{C#nMw^F~?RDWHeoU?xA6OdNM2FGMiz)xsl^nQkDSLhyG ztfs2crtlEo>YI;t_AJjrZ)R)hEGyh#zonckS=T{JX$z>A)E9%Bc&v? zotRRs6q~`qm1r&d+@&L>D%w#&ErOKZAZ=e!Fm2Ee z*fyx3`w^>?NpNdGn0-0gW-ad0C%`Ieq$L7 z6|O#4A}`6;(2u!?wM8FHZL&iFlS|D3X4da>LBTX>GFvdhDlKO{*}k;HfjG{(vTAcj zmfC&g`NXJi+Ny+m5VKF&NTQQHpU)&*fA27pJ?zlXjWp@|j$TEJ?i%Lvxb~ALL!Q}( z(+DbNp18OLwq{`@No>xe?l^ndl<$(TYd1$Z*JDH$;%>JLXm*8Y-gtja0gsKz?_ z@X#_{ZCkfK8)pG~sP48j%R;r}SHfb`P<&A5l1lOuE6k+2e(d+T`BYEDCy71kUJ}>7 zs(%Z__`v?3F}|;YtXA@x{lWVCXj_imqhtw`di2I};Uk~GN4iZ*sOc8&v#jmHek=Id zcl>i#HiCVKL=cdb(hl*7ohBo@;UxxVRK?*W_k?*Zi-gZqXnnSsI9M{`B|536N)X4m z?LPnTH%|HUq~@g^5PnVaFN?h*9VAr!)O=-Q1(@!#sHy0pH7EqMWUgLafc9H8U zv=nez?*yFE2LtGK#$#+b&uI5|n)GTt*Gv@wVq$qz-XOA#C*^QW6xl%D3w}=Ld$0c% zg(NLNW{N_WbsG9Ms;gGDes{b+PPI+`OvvhD*i_! z^8(6GN^&yCiq=@ak95989I;PlGCMTrGBfu`_l-bcqNLZ;Ts~b5z**d^^TE#V^2$ak zh**2R*%mFQXA!);=+^O~N^T^^P(=`RgsG-t1%vJqEP@9xo4%|E%; zbDSTar zvSlw=j#13ls2yx;%QJjRBo)J+NW_7{?f^lp$)&m5sagQu#%MxsgbzU5wPYDlAZl`M@EV zk2P2}=t)zTo4%Y^$m5A^OE>?R8B~EG_Bl)YKB#SZ(NM&SquL2Nu^jmL(be>Tu0%LQ z>?oB$<(-lm{^p}cHQ`w*x=nI;l9f5NqY{ZMD>(QB1Dk%GvA4)dL(? zZ!(GKGgo%a6*ez}?KP-6;+)6wj4pxu%X{v<0ZHecC(K;Y9McoHtk}&G>M;5Pr}wZUyBx4B zp1R;emj@^aeG}>U#Xe6_NY6;8W_mdm?-+Rjo6bV%VYmf$_=Z>W!45R0j5F$2i>bkM z-1JvA02|8R7v><#XRMFkcw2Zm>o}?j@_iw2Su^OhDEuLz;RszhijDEfP`UT0U2yJ$ z`~2G{0FZ$`Mm=4pd1w zY(z|f{TNOTrX?Bu|Ge9ma!ihA{jHkyyAAOpCd=t()FOSiWG2fvU3n$awvjRVZ9cuV zNK{gs6>BxI;wbZCrPLYphj7k`NYx4@{p~WE#^pL?&!3cwkN15>3;`)@Ij-o$Ko*2k z-q^vP*^X?hC&qiArdEJ82w6V4JnD+bl*|?^PK*ca?!tYR62qdZ-&nwinj6Yf!knzK zf@SO@zp%lbbAAfNuzomBc_X%=;k1ht*~Ivsj1bd65SuIP-hx1stm&1@7WL0#B!=&S z`%=)t6I%Z<_jJ-&X^UVT>|J1Rk9RUwD`pnGJHW(sLyb8uGH{TwZ+*pOUa?RjpGb?| zrOxdY82_CcPV}R%SZD=mQodoTs)2qAH!}!r%=q~J3yy5P&f5}V_U{#V3uc&ebcOVA z-jnSRB92I}R>sCa#FGPRo#9wasJx4hAp~`+w=d&K`*R85EF^VVfn_dtfeOMJ6vpF4 z)IM{n{sO54De|)wpCalrzhe%QnCr4!(%4hG8r59RNye=ItqLf31b^Rq>9*b{#xwiQ z9Uk)OryprLdl^HNIjpT89QT_!xxZ!S=u_8xm;PbNg>L4oF7JfxeoH!qa-TZ|s2@!p z--GW}?W`(MKa=4r6A@G;p~LyypGo~L!W?McKsh*&C7*U0HmDG@UmZz*jqh>u#ey}- zQi8Nl^J)B<$v25^AC>_OP{5YGG%@+S2}S)zVyZQ zr{jq$P+>`)rLDR)d-T0>H+tHMmiaVw$l%5r8$IY50Fx`RcD59*>M`*kPi z%myHoEY1!B_J*DAwX0q@VMAO852d#DqT}FA!vLny1UzKmjKtPn2f52!I-S6eab}zT z!f1v2SDfpCT+*vFVGT5F z%v@i1qaE!5aVryEOrbE7iI+rYg3A=`t`z$~y$OMS@6iSM(WC8c4wpCT3SWp0eHV6RxBroXsi31BJcVb z)n$3d&Lf!;UW*ctDrhoO8v}r;&TlFx6yR~ zgT6R9)y+AP)pj6ep=ALSr-Q6IUD35m?rT+}ML$!)Ss%aqlX(>T=edy-yqAB^5dOaV zf2&peLAFpK_S@^6O$vOhun|uhlbnIFN=iA?wB^bikn1Cy+BJeK?-@t2ri{c1_{!%(AwY6<^mX=Te&jk~xpJHMpa)*uHMkifO%e zw+tTbiEFGsLj_zNQqX|lcylvxr^S)E}%g47$jjSG}3IOWgx{AVZh6-mV3I*$b91 zs(Exn(i&~{`BnRc&CM^2$Hc(OByY6xksw%ddTz0NX#y|HZMdy+Chog*qxbMgUa=7_t^u z#ZzIr*M^RgHS(`zo@~xi+s~c2qXjfZqG4i!89Ht7`-C<5l^1*PG-oLsf=;jcdGcn3 zoa80`e;sL+ho`g@I))B0?iS!fEMo!O9B#~*hk97#*##m zs3^?Ny+nqrD(pLIpQ}tCrM;v$HJ5ZP>Wzc+=hTf?Q9HZGE1DV=R{}Omv~_%$A#dK@ z-p5eP^Ak$c7kA$iKi{Qfe5~D8{JYpXev*Uemx}2>Klx_{PsnR|S)V>1M4Utq$ZD08gpGf z=&)UGOQNsA9`jLs+X^zWA~DCSeMhm_3KDN2QeCdoKK~s^NtQXS8jY3v$hJoI4LDfV z!g4R-)|2&*rcCFzEbs)aldZ=Cvm$kP;ahO~StA$vqm4z}&(gdCT)=Tis8(TO)aGX{R!4A>Jomw;bvjsy*uD8p;oe!X)?{oC*Rc4)PyA3h-lyQhv zTz$=XnrQl-siQI5xb3g(VQL|wz0p-|8ZBLI{e)ee7Oq*SVzcAVe(&(Rlm6M=-M%n~ zg0ev&dudZT8e$5dDTo-=fhxli~eR$_KsU&99_TV}y%mL8{q+-hL7^I3?C_{IR z#UFqy2EbfuRZFNi!?#}1l(ia(fz1*;k&5hrx z=ZwdWU99!S-IQ=$z0iK;=MiIAuDVM`YT)@Odr80vBi0RQ(`(j;?ZSedC?`0rB&|7IqFWe zUp!P8z)DR0)KmSgPbKkV%QNZE*w*zM!F)CAb3yP`~U>8g=wKT4| zp`TywVIInw6~>({mGnLh-+Xd_K8k>9r~ zCYs=x{U-GN*V!!Lmns%ObuBZ&2$T0V=N7{df2)R3r6Y_BBA`XU*KupcX&H3aC?i3? zIQZ>+yx#Kt!jIl|d6TtnMMl-`by;4>!R_NCpxx7{ByXp!Gl`KHP%Wd;mEyo-gY#W9 z@s3qlv%&_0p!>3J861N3a*#okvQCM$@|wrdg#MfLs`2+rs0|U zGc?AVPpN>yJhJ7<_FCrva1sD!IJ)@@EEKi?X)(f+i08*C)fJbaoL8f2l`fcbhyBI^ zYzktB&*Fe6rnPh6s=K@u@!9L&e2>fgap$k!C1Pi`gdA;)CqEK82R(g+R=J-9qiTvC zLq{@OVZxJN)9bCiEQ<@c`0~4>u^h}N2~+=FbYUwP)dL?&J~}0vbE@)Sc-AY2jDl}_L3ySM zXiAN5%q9y&RyO86cF=V}LGu`?#+SVWK=y3PT_f1mLO`9O3a6^*k}*KJ9v^haJkFU- zpebZiO5xz+POg2llq(W_qbjLK#ov34jNIyget6Jrez=g@drF)$zN%dihW}PAm@Pv7 zt;Pc{_0v*`QIwh0!cqp#7uZ@*G-e)w5%*YUEHu_~xlhBlTA_?uszh5oT?v4c+4w{h z^KE{p;gb%|UK>KYb@hsoc4z}%0ELJv{gd9oK}F0$j#3Nl>(PT}u=_`y0}TtxecWq^ zq49dxr~N@Ex&&gsvwN0jLV!M1mopBw9;2{9XWWF%RFp+Dq?9C#y)hJqW;+$r8q?ZY zg=%oX>d=p;f2ej(hmbNv*~I|AATuewS?K!%PhJ6RbLXiAa1G(WOlho~k`B_g-Rwnf zpI@r=_3Oi*Lij*7C(k-zc_@;Jqs*mXx=Y9d-RJ3rmr9PSZvS>VT2~Ec0ht@GjTQyR z>W>KXBKz1}8|VAv7=$%L=I)gTUZ%094SjE?Dur#DX-*=PW!{X%i1-*))fT^mG%3if zqlxM3#Z?PwbdB+9mkxHJT2+0)?wrl2xx?uSn6kI-KE$Cel_CpD0GK~ywk$qda75j}nn#>FumWpMrkN)L6mNgUG+(_+ z;IZCz^K0~#Z5<1S4MnLez`HY#Q{{|HeN@|877o5^a&m}!%!;N0NIRB`YCqH{5V)o& zqZbM)(=7~|-9V9eLix}qlD^u!nD4k!YRJXp;YwCT#H6Uc{t&IWf!UPz`nZ}mz-jU4 zkn!%mn4W+zP7RMB0r&UTWY;L{T{B04RSAk6**z40s#Ox(-QF1^TgSIr0+lS|hO5dV zq$ipjH)`O_=Xy7MiIwM_fZQ34cmz$OcGv*V!7>F>Jh|%#IICv5S8~C-=3#mzKi;qD z3YGQ~3SK)vSZ^HMZ;_NbYH{RwMCUoEiFxDLSjx8NGQqrVgQ|7y4H54uU$ONKE!20q ztreDa1+?UTZ9tFqH!yYl$Q>HJv&#KxEMaD^&9$qVO^%@=Q2CM zD&nycEz8lY8%3cZz=w^9=~Kno9mP+xW0&ef+VB4B2p=P|pfve=?D_YZ`aLdRAu1ZY z>9R4%xdo7!t-g%epUWb?OV1>B)qN-SJcN>*^=X(GWk$r_JXNfw5A-nGR`D*ke+|(2 z0Q#LYWau>&A;w!5&&Pntib}fVO6tNPZ3c3IwEq#ik`w(Dz*ww!Qvv9EpV##zfqu`H z0OA(^bov)*j{?i8`68~W!(4l6FZ<0~EVP6;x3?;=cFuE%Ycjia%Fd~@_%P({ z1!rav5#VAm07l}Q-(Sj#m6?xnEfnFUpT{D<$ECB>0g(_i~k#E5^;-gUf3raYD-$%}*Fm_d-#%*6V;L0y>HpqlaKj}eoC`tn(8 zu9~OJlh@W+c_SIEfR+@SEd&L+Upo2;&IMxj(iIcsg4wvQIUnl={$oJABc0;a+|un_ zPP0Pt}(Hq*5lo+_s)1GmvR7_zB~6B{GRSlr`8u&E)xA}l6@#l z?);hTenzL?hv;9i>My3|Z7q}DldSI5wQ&H?{*|24Ojqo3?p+@^HN+)X{`x8fIlQSb zl<`?nqRW*p4GpwmL-n(ghUkK)y{TDUwVAc{9(4f<5g)#K6m@xQ{%Fu=k4myQ_}Voh zL{})kwp0M@H}VORcIy*KF4IYLbB9)-F&(WKhwWQ^i9t^!h=k=2zU%X5*hVEeYz;kh zgASM(lMIOnA>CkOB@z>rNb%SDa*|X)i=xcFXwdHKU?CI_sU?VDxrE*VtR-<7T+Ng+ zsW%HfLQ)Q$@4c7MM`VaiXDAzrQX;tyxvR0<7aqUZ3&1v7yV#st)6b2yT<`sWba$A z|7e*=rxTo)D!wfLM&!vhi8okzTqTu=%=PPk2n@eaXiE84;o~RA{?Y4x`L+YHj?46= zBh$dOUH3GPM2375z}Ee;x8Yap+-dX5IiZe2U0%?97wQOwyhgtgL+2^ZKCTZ%hke$v z>l~UP8Ofx!+0EjZ*wczAc9I*cRdZ=;DPiLBQNF55YbP)(QqXB@*iWO zv%1HL{@%U%eG>jU1b^qSHu>w^%6n)tv~AaG(Ib{hvgHRd`rYdHQ}WKPj7DT_X`orG z^<48ZKa$l!+<`DZ!Ln##(@2WoEfZ(X!z?R@c@sc}w$*dLTXHmP`J`~-wpIg|jdd=c z|7^DekkM{TXn2XiH3WJZP!Ng=U>0T2`0`*d%tcil`JHe6>klA&KDDISndKDf}Z1o5?-Gfy*Iv_+Ua`t9DGo2CY1P8_K9;)edO2p9?SN;6Gmf|dk(tZ zpLiGADm~BJIn0;wOB%d=OWd!DfzWf&jnXM}^%*&wOSzadfBAU**?)A6JGo!+o&6Kg zdQQ>O-HzH)E@(APItR6X8^fNe^s!#@8kL=L=?cB=Lx%djNbJ$_p^kE)&9ui+sE25F zJr3oy&-2K-dB@aLF0dLt6<$a)HJrc20hx&-BfavS&h*v35s8!JPgSjx{&&y$KA^Y) zvAp~%;b;IYu|LZ3U#aFl55lhlLI@le?)g3Roo9E)r+(r%2knY{d2oU~K&$f>kstYR zHRpuj^NIUpUx%ryG&S-mGJ%r1@zeV-5np;AvMTJ-II`~MO$rESX7`h~CUHAp;Rxy_RO_xmwz0o5&x7@lTJFay&&H9LnxS3J4)dH(7ahN0D$A`B zCYsY}9{v?|e}o-N|5ci**b}uMb@Ux#0uICMWOJO23fS7wkvysqF-P|7I)@#GNtwFr zd*41tkB5vutoy2}EDYT%cSq|NTCM_| zgJVH)deI(AeDFdWxSdhZ&DJALQFgT1U|P~qdTQ*=93CuXL~eb)bza~w7)!7T?5H|V z{h{HWBkD6psx+bs)VodKt~wtTvqKfp5<4otShWLJD)&%#9H|#eNOEqEi6MPmY4yaZoVY7Mhr7G%UFrBu%68U& zCq=(DW#0icS*WHmdNwQsTR@z*5oxx~dTXp5ebPtA z0y)%6@UZsyF{77vZLJ;^Tf<$rqv!1H6T7PKGzrM-<`K&)BH!lHD5W$rZF{C6Ulc1=m|N)ER>wh*tX8n?HWD**yU2hLdek|X;UENT znQjI8+0q?osE$ML^uP9(^;WjC0n7gxm}{d|+a~u$XgOe(iUnp7bOK!S!4X`qeq#Zm z2|knM@@p6Z+TEV3l>}MxQ$C%82R2+DxG&!}#*Iekrn|5xO#(Jcx)#-?@z&+n!(UOfEz??0BYH;et`hVS+uHEX=p7zE|cR zR3##^GxBm!bRFi^xP|36+PFM6#zCHSBTqGwk`h~y?{~_ds}Mes?bQox_PMAhjhatG zUjN%pig4lo%YNv;Uu7y&PdU{&=zVk$SxEh<;yz3=M_{4WhVm&*gx!%{&niUXy}@<{ zuO~8->O!T1n+&k6xL#ybfbK!pDK!Wqu$hJ8o5mQ9bH+6xk>Sz#fIVs5u_+H-yXLzT zQa%5)xk5xvihCWcn6$KDtS6zr6 z)rf)--&N1g ze@^fo@q2OB++tKphn!A*1IeMS43@*Z!!I*2^gDmbpnF7yejO0t4&y4PrPtk%d`Lol zjc!$8#|gMq4D1bmO^c^Y)EDix{9TGIh^MN!Hg~|?}2{5;2^X$M=2<@Y*K!=4H*{cfPnN1s6JxQ z&K~Au6TDBbs3M>+8IRTLrV6H{blFRcK@Jt<7()PblvjO+7Z#`OzaJQijnHXscP@Uv z`j6N2-{uMTZkR-bfA?TyJm*|fy72`IeQE0bkaOmcH1b2l6JNWO9LY?P7$E1W?$HEr zBOAyUJ`yZGk_7vuWwgrY0hDCrO8)Gq43#Y=VU)b?gQZfpnmi%b4Ld1&6N7ES;3a_`h9E2qhFi<&(6I*gL2X#A@UpS#E2=Ic?t zQ!O!4AQ-=xI7NdSbogyj0fDtBT!E^Y0o~g$*rEMf0zd3@Qon)Xn3lFq1undwuFiPh zEf5!JQ9!~yFIqu5<@SIamnO(Hg#dm!T~(T!1%UvDj|GcuNegWoJ;1S39#^fjr%o^- z{1|fZv~bSL{Yu}(`NcH{K^p@2+Z;HHokCkKzIsHpJoX>U21jULnyrHbcI^IawN4%kTmx6tI0g774h@0>Lv9c1xZF=MJrzs$uLG@mz2R_53o6MbXSE$dy8H~e z+BtZFfr)j>ypgjxYAF929OSRTdZk=Aa8NIFvoF;DDBYM>S;```NFLeD=oGhi;OjSgF!zY1~b?J%2qaMYirtPny_-$Ib z8MTkGWV8c$R>~Vr&y0JMKa3<_iTx@Hw?Nrn$v*n6OUwAoVOVyWHhe*>Xkn!(I4LW!1@+T`iLtzzOc^4Teyh%MmV_bW{ zdys#-VJma(&o>~)epd=SoXESba1fCgWJwJ{mH5czHDho6r{{rI++6;2IY#K+psSNqzL@|51EKGAHPuf2Z_6Mmf26E**8Ig zeE5ynA@|`S9rnuf^UmwBL(7%XNMEs>_02HGq;+v)*j&ZaGkPzW_Z?;8oq$edf@~h2 zUEFNisi$xg8bP-E9&6hkytoYfXop0C7S!o{Wk8oB6PZaaNKzGd-}?ru?tJ-s)&JKc zeSTKupSt+xI{>xyf45q5@~c?hW~5(YeH4+m^U*6g-epzWIJ|cVc^{zp+IUybqm=I9 zu%YGJGgOOc?Pv&a;lXzAVA>wHbH?Ty;zUn1!%sx^m}6$V;b|5}%~oiRxnfGf;#;7x z!+@JZfeYLj7@P;uZd9ahf90=ZRFNHF7*;+8EJSlHCfY4ALwUQh(N$)&D6Z731IZ$O zHj5imUTv+l4t1WNk+Ub8CAM#?trdP>uKAbE_YD z6z0XF(tRMR0USG@ttyTTB>U>0!BS7^FpGrak9oRfpaXi@$Mb{4m6Xe*Pzv|6Zi+b) z0EWMw4EQeR>T%1$G@|+XWmY4jx?D=~tfL8IsYOlto!h#6(J>Ci77n-9i=Is89jGC1 ziD>(Fb@xaouc&Lv<(d7cbIB7(!|-#)_B}{MVUGg?T-Bu`9I1wK zphTpH<(tv0r8iUBpe)gQ&EDloz$L~Oq8}ZkYld9Tr;2H1T;W0QV;ctLMyC&?^+013 zFXb3uQB`3RZZn=&mC2QASqj+fz}~*ac3${W0#8Bz9k|INuyHv!z`g;iK8qqXMI)yy zHycLWWuBq;enzmA+sC{9QI*`0{LMpw+7|g`l84u;UTv$Ic_w4d8iJk@7q9- zo{)I@+ULbam3HM#;`JI~2K>5H^+kOnU5q$K`km<~!;PGr>5O*Z$Sxcek}~M$0JLZT zczy~%Rs;`ry4WP1Pfo>)xaMabv}%`X#WssID9%L3>YxMs6x3h~@Z{9)!;%M6^<`@P zK46BNUEqJ`jP=@OMUIA*aTi7&Rj|ujb5E`*^86L7SNVy6kNnpN{>1O+Qh_DZ9M_ocF#j$fIL0B?G(ZCS+rY-e#U- zD%Ir~)=duj0@L{Z5BmZ)4aiFJkyCmHRdp?cJ*J@KPotkOFUwbtWzmPlri^azTq^e{tOZ@UOcyYIp_zo~B z`&9te~MVvb+js9Vxa}x3&FZu5E*Qd_@VF5#USKt`@m*!^t zWIVEjWmBhq;3yE<@u7jsK2>aLku%b~`9tvN&9pBrhjw&?K}n4u-@+R8#G^vd!3~c| zP4_KFsLSq&X0~p=;K2NQtT-0q5k0FZm(mVVFS;~C+$i<#10jm&hB;uk%EsI!pG9fR za{FO*Rmki>c>*p&T0+^@Am}m}U{l&3+#OlPSnHu+MYX@N03a`5Tn@09`&2WWlYozq znt>T&eC&Vm+0IvZr}f@a(qMpmfUD!V@C~MWU2ih+K!4EFc5*WQdmH9Tz<(Y;fN9!f z*#=s7_^wISl)z>%?zZh_olNm&TZl8zg=$%#i^;7j<;x!$TwZr^CX6S4^y=Vj2F@PA z;@n-?Y;Uy9hs*M$YySD)Mri}$N)&Fi$m!PuCA$5o=RZI1e=)fEtL4Ajc$RkXGpxgG zBI5fC&L+kf_aFU!yn)tL$vrBThdayRK|$xVF)~FqgO$-;6~JQZz&huR(Lh=YlyTr) zpB)106grrzYzQ2#IiEU&cGp(c+I#0_1BLSsF_5EA8qcpu^|oGd9lsYmrLtx`O)LyKf zjk7K0<<7o)4=}nPd$t}5F;%c*+1Ckoki>o$oZL!AE`pshyv0~0PoteVI<=BP&$Vzi5!j3@Gn38(`cfid2?yJN7$PAhOI|mgLQ1cjlMPSID}<1W zc30Dn;tGJtpi{kT(SgX&7c<3&7eC4VdcXuPH;!NZj9(kOiIJg5thKSPmqKjQ_|zw# zn`a@+++97HM-!QYW5w-I=pZe^I|}{!hVV!XPC&)>gT%e?N|w&rYcFq*6HF9Um;kAa z*@oyplFa{Fx&cJ{&nge7^7o`#8EWQJSOl8&elV01i#5x2rm*)di~;*XPe$}yikVp* z%Q$Tv$Yv6u(qe{38bTAeds4MK&4C`6waBe4H)#Tfviu=`?Dl6fMgI^Aa;h7AL!8{$ z0fJ+TPK=1;dS7&q@cxs8gK9oo=>fkD+5VpA)HgoPwvEi;&)t~|s} z9w3I={FZ&fWg^mWE?@N^YrSf{a(1gD?2#$YY=}oTqKe-4`w1H+!)&>o?1djqT_^7` zt!SmqKY6lEdOzyvi<{H|{uC11{%)>nWz?$Cm;2P5e%b}DWzKmVHpO{t&9qWOmroKl zs+^C8fob@ckdiGdd%FPep=wj;F541nO(a;T%O@f4%Q;1ZqSQ{r0`>}1HCQxoO4G0L zkCyKz0ppp@b#7xhi4OtW&pJ~L`$aGBt(E!75_>&8eFSi)r2O{eu|fc_?K$+A$^?aR z?v(|ZR>gELU5Cy2hnEfB;rUX2-LX&RSnAHLqBcn z|KNN4yV3cZY4%r7RChl1E1&lx{vwwa;M2WjT&}as=6PcTKw`2j>b0&e7NqUm=wzND zpThsc+IPn_nQVWr2o_jHML-b*Wf7$#AV^mP6ckW;M^JhZLT?c(Qbl@4QF@Wy2}%jl z0#ZT`(tD%^NJ!oZMRD)myL*4{{l`xXPv)69{e0)loP#lKP25HYXP7RuwGG&;+-(-- z_0%+cI^MaAF2bh0HPY{Y+)j_k1pS-j^YF?1s;A;As4A< zcNtWfrRQP$s7|XlvH8Xc^yT0QI2)KXW9<96TLF)Kto6q8Y}@|my2LrmB9%6^W@KbF z&@5&;FWq-|yMB+Y;5Y72_31|1kF|U}yN>0@!vCt0pLiqwv7ddFL38d4JVQ<6g(bggA{F>V>?@|s$XtFY6R|>NZuc_%gI^c-7dDvZu(%DJGoVO)u;0mo zAyWjAWu{$Ff@u;n6*(?Sov|IdgplBTHRXg#e+IZJ&whjaRTF_EaJ!SU1Q9K%76~~xr~{jG>$(dnc!`0&{i?t0OvAyz&bjQ>uSD|@ylBtR zUzJ>PJCPc)+Rz_NyrFa|>f#c;eP|E!v727r*aPP9{lf~-KhKUS3o~M%8 zj@+MrD`=gS&O<2-K}5P`vuPeSqY>s_#Qob*sVkQlpdWXY7^{v4h z7Jp%fC&aVSL>RXH!kj?>%QDz#NCn|aSZUflZ{T_1dJdh0{3PKiAGK1@$B%AZMbP9# z>`dHj8pZr%LNJ%jSh>^f+}N+hxW!NA+C|FQ))wiBAc=85nQ(fq3aS)8E+Sl+VJdLo$BW=aqeEz-+|; zM7G85Bl@bNq(|ck zT18Z*>e3qyhfnu}lAs8`mia7iWU^gV|DL2 zH?tGeWyjAhTHc=*fFNADl(+iT9Ael9koJ~>KTeRQJ^79Ir)=!Fnm-%3pW3?fs3i4? zV!&8p{#S3(1d+EotntL_kEWca#(6QBr!8jlOLnfY9U6fiS2e(~*Ny($@$SOF`|qUas^5?LytUkf_rVW^AAPaY2gAECJ8Hca!s3UFQto=Q3>_DZ+HU>nMC#e~-z`0an z=WYJAnDNpja9zWA8&{g1h?eS#qW$gSb~rWEa8twKbcbX(%E|961K&+qhmKmCG`8nRjI-Bde2WKb%0ga@R)t?N~OK#JS^zKcSn#UlXPc*VTQ*@m+2JucY=Hoe%`Ucb3CHm3bl@Kq41xFqWY z)%6*p#YRCBizZa6>v;NR%L5Tw(F*yeGFIv+kwUX>4-xxuBazrIPBN9bvPf8|tiFO= z!Dpr1!x3&Z{p@ks_afaI`n3y>Ze8Y2%~^%pcl=N$`V`6a8c=xjBVr(a8oN}b^QW(V z-I(0^;~4WtPp{G5E1X|~EZF0FBEd=Bw9?-e{#4QijzWM2JhIOQPbAdbkkcPjhlwU- zf4`b*_kJ`))T$?#J=oo3Fp8rY)Hd8HV_;=-clcEC8zeBotrikGIDZLoC1i^t*JXhL zd<)@xwe7ZtNh5wi*SE~yUnI6W$E?5=nrlN`Ukdz*&BC?o$+kq|r?NaoljQG&_+D}s zUWaqL$UnOWE@0P#r7E!az8DJ&uZk8#hL*^RPViyglq8GJT-sXYvlz*1k{~uq82T48 ztVG3hcCUJF>*$|Si7ngxmlhjbgr*P|5@aPf*(WZeenjzOd`gG_N3TA~c-*9ieZG|t zgfi0Y%WeexnuaMy;ikUclWhr4I6?jq+zj#~=-mGFxBF&4pa1!20zKJfyZ5s?*k?e$ zq$>LQf>XM+?9Sn-p5t;*Iux%BQ!Cz@mD3>zBEk(`5nx38l~)>b zmD3^6l#}Yxj_Xtr+jsugwr9l0{*B-KHTU}y!x+i#U1kaF7xwXaU0I%88OYqqp+Z(! zoLsr2_b3q2&psY!n>})h_@e~#!>=`x&2`ao$2jHpW|My!@y9yB_dmI?N4oxXo(VXz z#l;UDx3T4*0MKHY(_xM^CG`XedQeUM)#25S!{d6qnA@R}hcsUQPHe-jV!aOwI~po- zRxR+S0)TSvQ`B2i+56AG*QdQtZAsVmqu{uf-QxRYOScHIKIxek%ISTIN>pD-#-p5U zsH}Y3`kBY|a<;j%=p=bjATDaX$l?*&;%Fu8|a^aiaEV&dco>arb%k{ z&}WBIf9XyC!=y+HB+bJ@!fo`2*#$dPH?`dT2DzxT1jgwkpt=m&O5<@nm=|-T#N&V< z!n^kveJE}8A*(6CyGwo(+g92=n)I)y1c-n92Ruq(J51jcA_|$gA$?Q7Us?Z~`y25G zHe?X1W`O{E9SaOoGf|hfwo{l?$h;}`p-9&ps{~m==hL4O@*BygOI2zA-K4za*gl%w z3ef4>AbVqx{{GuX%RS;v!d^AG?|3~T{NCj`Db@?mW(NAEdx5wB$sN#B9H(Q_(@R;4_o0@`hAy%DqE_R@tg5F5t+MN$4d60{XZx0t1L|fR*@7qNH(#nDS zrr|h$+ZsS}jK*MPM_+#O?>`9Xude@BKkr3zv-yqP(p;V>5Lkh%X882n< zn7UO~Ny%#5%C>(##zQhjV0auE`WJY!_T$MtY}yv-e=f}_4@fSZeq&-CTYqS3$&K#f z8^ta+SX5|2myXDUfW3}9W-Q7AOl23GJycBb9RVvlunpA$Yw&^W5b-LOJ(~2-)MnS{ z{?xFGw?W5dmUhoV8TW`mSYF&FsX*xUp{HfjUv#7pwMjx*1tsG@=vLv--yrX}HBCs3_N%tJt-ka&Z92CibxT6Rj$pJcZ^&OACHvw~j^ME1ygQ zN8+Nrn5aN(@LKm+*zPU$hn~Io?e3qM{x6u&wgi!u{Vb)4M$aU%{LqwQNwrc8gtxOC zsl02vKe1Jn65rT*vc4fS*KRgPSDgP^b!jb8t3yb}wIVIXON5A4XBF7qEm;MJuwFTc zN?%mh-FN;^wdcffXqmRVEbe9A9wql8@v_i=qto|6k!A7?tGQ6olLJ3nQ$IW=^ic$9 zfu?h)P{S6zY5SG`jHF+4KlF>bRVQbsWsa{f1DAQ2Z6CzHsbEnjq$Fv)*R@Oe=(T;< ziRm?ti5S%|T_)XKJJ2exlLmWj+4kUjruKu`Osyo}?(2z*otV6J8g*WB>x}wuUP@F# zACXuLt-#E4t@kxQ7_-JDDG%JfxL3&SOA@HkEbm8C?RQsBPIYS|l*noJL9ChtE+ZQ} z?u=_iSxoD}dABDdefT@VxVj2IV7 z=8*79CNz)(_uioAO0tKq32fxY`1Vk7TgLtZqI3o_8z4wM&6fQe`}Tb$2fX$_2loHd z#J#8A7C#=?ofH!(>7jl52!}_<Tsy*TS6~a-~`8UUY+)G*~JOEPO91wB{btv&UIEV~BNbr?t&%KB{| zZ+?bSm7^MKOOQ0n|C3g->9hQ?G1YsG3j7!R;KaF-_2*6 z1$dC3D=JFV#-mD*wp&((*iVM?MUC)2R%4RgSL~9`hiXXl?pc9aw8#m^D?b%&}SusE}T->W;P; zx>`t_+b(b=S)~q;t2H)hk)4@+Bv<;!5FTi!evc&R?x4hP`X7!RqS;aO29DRUk=YJQ zc@+We4^xol+wB;LO`dnc*{bs(q5a_MQj#zI^ro1j%exPp&#Nd-L5$E>gG*$_wSLSk z;SUm3wj7092By0f{pTt}LGAQkCH8wjamgvt&(%vOX~NV?Tb8#Ml@LP~!R1V5m-~UM z+R&21F94yA^(-`J`>9t%PA8lsDhXs(UL;dJM#0u{m9GO3PvZ;(k<(nji>%L!yS&Xa z7HZ(iZq=Ip2+Y^?A0OWnv~SzJf9FRN?%g`4<%8e156H)@fUw1`Ku`=4)?cSE$zaw-rC3r1hM>5Po##50Iy zrxuVmidZ2Z6%yc11Gwo(*VCVTsY zZp1MQpy`+8jdzO>k6Dsrfa~9n9Xhek=9SK{(P#c~{DEt^pIfzGb#93Y3 zelrN30rhV979JwK`S|`0t2`VZ80}&KyUP4Gwi>)Hg@fdH&{ZG5hAfW8hp{`$JoXGI zk*1G#{gKb1WS+O0eg?_l(_7Xp^k?#GzQVJ(N@3n*lB^+bzto%+9U1em2U*WeHVJu7 zv<8l<6LgOWugWA(98!2>(!BLK^1JW;D9NL2 z`Vte<_Q2TAxHnIAqn&&!2r0!a z%UmmBDCkI5kfs7u-#D&E5rr=2C2hI|2olDc@KK@BZQ=yg9?Jb7;ns(*w69<9(sbu9 zDXIqjDPL^imzYNepo&fY9wRx2o70OGtUJYb`Ehcx)$De@wOGj|#wpG18A{62zK#bY z-QnOdzFrf;X8sEA5^Qbz3ADRhF#qb({~X&ygSF}?xTs_t8%e9%dTr}%bT=jM#~ygX zf5fYfhDTzDx4ScZUHSOg-sOWuNN$jvII$%Y_l~dO+r2GT1J~xOKckL)@tF~Q^ldVN zC+j0jrOS$8`*&3tRHjHzoqRJ9vo6kr(_%gM_Q;IsAW0{+t0tz1VfYJV+;5D=8d<*o z%C~8CjeOk}%UG0s%3^A#rutP4R<9FOAL&U*qh3D#EZjUIrpfYSqF(o?KXUz@7%*M) zf}-eoH(sVa^}tQPUxVLeHu@eOoPIVzPIv?;pMVV zQwG~clTcpPbd>nke1A2*KyoiI zaeLKKnRYrWM@Rl5pVKS`JpX2{yVl|2aj(L;^NwO7hWLkR`mG2m=CiQXhv(o51Cm}qXj5Yns=7P=lzJEOh>hIbFKwxf^``BP_xR)=l>FcWX_RCYv(~e! z_g{`{?u(!~UU*o_IEkv!D*AiSS!p6EIW>S3)8H1RS%HK~9g2AR%Zv{lyQwdE{U=Sf z#@)7GrjaC8z0$LudNuCy$QWpSc<{(4UwDnfK|gQg*;9;9#W80n1$;}k`4#oD3W>(k z2kMAl$m)eSi@NtjtWC$7k=geaGBU=N1^B6DCi4gKsNH%j8B6;6`CV$Hz$DdvGwxXP z&Zt+|L_5kp^lIYCYr4&ju^?In$!hY5OeHY=>y#!x7Yt<<^*0hL zksGrv_iGxW6*CKoCCWAw3dO<9i0f z#ophZCe=7G;_2hdg?R_v-LH!}HFg&}5{}zWq$Un;PO#P?sGu(OzD54NT~-%llDU}Q zdA!Uy{_q>+Ud~5dPZ*8oeP~{zI7XNcVJBaLeBmw{r4f4D&ym;oJ741)?F6#p#3gvLv660dO98M`FeCAykU6H7@zyt=~mGbo+@gPhg7Us%~-l@(ETL?%Dr~+Zhzp*cJ+gN#p zU3^Xb{Itj=!yD^?=Vikf6XCLckwYmBOnG1YE~nd$8As~M_w!vQva>3KHlpOSaGvL; z+AjZz){;mz{=&!Wd#oSvYv3_=y%XTL64%FWH1pAQ?V9V2;qe{c;(Nx;sjd1D?)PKA zza$P3B~zt*sN>pD>X{jy`eVNcw0G**f#607&$ttJ@5#Q(V9mQUaY=n~n_UqFfc{Nd zP(`2}#9`=eRptLP4sx+s~%t zm$1k~zDJ5G3vf}@1eNJw<->_S7vkBJ*c=v8pWT%XR;0cdTDqq4Ipv+Ex%ksc@3r}- zY&2=U+f;e?IQ3VmNE#i!n9;70yAqGw@giFf5@U@Y-e->(5(Q<)oZh@{@QwQXYN^mL z0{TkB&fh!Da|#+)%PNaKY6MIqFEB1Cll=}i?59?Z?5Ff#iB?$KwqwxV!ZYe<6ZHbM znbh^og>TB8sOZww9*I>&U5uRSh@2(ihWSinqJ9k{##d-{-rFV2(wp$$%E3Kz0Ms;H zB_Y|GA_-C0zn_r)!S<}jJ-;sSPi)_2%2(QmoM#@iueulVy^YYXx@W(8ORM>q4y=Zk zjI+U3l{x0pra}5(4ZiIsccV*?SB zvZj;>!@gVF@xzaq|0;jG6WI+&E}r&k5o1>C=Qk{ZFe?;G7`{{nnf3;>md4d;dcw9c4df{a(bKxvw4&veQO|+lTcvf!r_s8CY zOUM(TV_h^cPT4DgJNCKhJTdM(UJl=iFo=)j-`@8p>G&(+rBdY2oXY8lIzA^Nc>8OC zqrcEnWTZq_PsLQ1a`=jtVlz5~GQJcimS*j@X+%&d5}f{u`nrmEMJYq?e5YoWRW_qY zy~gg0OcU((jiSLLOYzahJ3;HA_Z&=T_RO_eA6V*f!ci8c)^3vV9ew&i)W3-3{;lWP z6^|_@ZSx`FED)WJ{f$a{Xd`#4O6$k?+aLZj(|(Nm>zngrz{E92=2HPpRrZzqBZ1tN zgMTyR76XZHG?-RNgLPee%i#8G7#}O6kUEp97;~U z%KU#pi=Byky}6z8QQ=l4jqeXvO?sX}ccPi}u`qq3U zbxHkp1!{No|94ptrr_@bL{TvPh2G#rt(IgQG5?=5|8NmxESD;&Ep})UmG`*d&&kUk zi~FxD-!>v(HoF1r&o7DrO}^k{o)P(j{rronj#|TfASj1 z!{oqzKH;u?6IJxM^H0RU@j>l&u>g|)BVl&st2LMGWS3bFTHkfo0CgIBqbKdJl1U(#b^s zjhWw70itgFodGay12!>#63HzJqWoKuYP*!#nf~AXd`CWarG)s#-B>|i@^jL0C5>dW z7_ps9YUgihG_CSG5A8nv-_s{5mYAx}hiY!+N=>f&*muX;ox)$w>95n2Uw#Yhf0`n& zTq{?ycE{RY*MAdQ|Jwz&{s9Qie>m^u&e)xYC;wM&P7*=|=#95&`Y*$}-PQjmE+lAy z&>`)Et=EpqxAv1}g#T0ZuO~fl^el}Cy|dlC(Bg7qUKWju%BflR?`E8rq2zDl-Bz0W z#ajl)1fVeP=Ql6^AUePI<6i@+giEAAfyo~tQuL~*|Cf?Vl!`wt0LyI1tpae69d^Gs z&O`Bw8vljS{h_r6#$?vTbDz4uRRu%f$_Ut%y!Mhk`spQej0d19d>0bFJC6?O1;2oNcK@i-7Hxlw72 z1N%r=E*M<>IfJbk{@0Pgmi^(BF_?E5_b=$u%pQucn0JZdAW(6VFqij!jH4eR~PR!%iyt>ni>O#IdVATVlHtXnrFr?6VCoCIlsu1I%YI z>l>p=tsnCX%0QDi*K!~BQsT=JLV!2AG*)C}1(tkMN|Jn6?*57C&C?lze@h%Lgo+>E zM3k~QiY@yIeJh96aAL&IGJ32!#CBbAnC@8n-kv?21g?9eLJ;KX?LSMGxHwASGK8j= z*@tt_%=^&lyRm!X*C&LV)pTTA3Mcs zXP=2^z_It|iV6&ThuV0&#x&C>F=9KGvd6O3o7S7;vnO5-I8QK3BiZYYoLx2Y)Uons zd=cm;a@Lux=w;rf)6fEK4H>eZF1sABU{zGAuw{(tw5xD?giD3_d%Y9}zP2!uUXm6K zM7CKjL7Gzyz+5Y(&slc87?HVNW+YmBen{l=zeuGd8wu*@DSFlzLb&r?QSL%m?|P)_fj1yY9SHp=d{Dkvl5|Jw+4?fUaVtY)7ZmYl<&y z)Fx15Rd5CfZ#EQ91er9(6C8d&yCLOwM)2GP#W;GY7e@k#OjYN<B-`AMyey!;ob(PRKcSFg3Ue`@P8z zw^JJ(9iBmZXZ$9Yl^7N1B)-OBU5X9T;f=7oiR6kkTwip#qG!^%wrM9Xjk=nY$z7(` zms9%!>P#2&@uh9T=_hp&bq{0_*1Ah0X%@F*_%Cr`XLJ|Z6-Vr(ToHrJ zHu@Ni@9Y36t^H&f+YYJex|a=XT{x>`@oTrygq2ayI=1E> z1%gW3I@hz`2@$&<|4;>wY1`m%=t#M1iym;QIh`DLOvE}*lcS=(JZF*wQnRYPc}YQJ zs=Ih*Rok$;_3cXJWx-WngoH0l&&h$__B%cY&*;gx)ZE6YroS$jgUsq9y1O$Hzn=*^ zgFMEFuG~~>8c2sM&#Ht;&_orfyW{Sz5ESsAu;^L`q|Wh!j33oADtgIzZQ`?X8W!cH zjoq=F&_G_Jx{l)fL`sQ^gbbevPs~73iQ6C)Js`A4?6aNe*VD9nTVm9H1R2n0U3n>Y7}3)mD2`(aulRfcE51@=lq*jr zTS%L05gM4DUHsmlX_=K-)~|jpv&lKnzv~stMsuhe0j6#KwqI`sTJtGLOd@R!^3_&$ z47su#97yX|-@=|f5|0@Sh3TO%kGiH<$KsWFC-83QsQB#CIu_a(WqZ^g_o+PN73wQnx(Qt$+iRRmAVDx-G(9F;xW1*JxZmn54=$2^shh#sZFM*gH}wg2_+Ida|l`5HS>Lz^lpYf-JJ0T zSo46e%VNmd%pB!dZ>I-tE=zVXys-OG^ID?|{03ps#j(#ZQOF&|F#NUssP7E75SQbi z`P0chlT}>zG~H55Cu^9d;oB$7#>0rA`x12$^DZ2@96kJ+Z{r(VghaVSr-p<~12c`# z41)f70X-6U+nz7B-}U-#V61g>@87Y@H&+eI69=)x$ate-03=X?=jec2U-!eABM`^% zc-tGZIRo*F79}%pO$^t(@2)S^nKyOiX?sCe#a$ia)p$&@7BLYkst)-U$il9No0v?> zMu=YvwO#4#a`i|R^M>hoxZrS0hyrn=>5kMOY8g$d+K1=a zA1z{Fx{R7H+7e~qSac;72Ib_G<&8jxP19}h!IFZuV(xb;o?f3CaK?1Gjx!8e%qKP7IOTQ-9h*(?(~*j&skL ztOU_gWr`xvWNGCRqu=$p#%=elRrvVGgW2j`EMWQXJTly-!NozJ1N`c3-^@8~$J-pv`IIaAZ`;ig_0V&gR1ExtP7k_YT5 zLI+iZqI`v@#Bm|x@J63&Uh$gNQ72Z zAh2%qOE5$+1{!yDB*uu+`>Jbmm`FCRElo9D!=n~eQvzo=#UOlgL+vc`_1p;MpcuX! z-jy@@Zu4EnZ20G!p%dKf?7l~kc#n+2;oOpW4md@2MW}_~MBpXmq|wU{pT~^P@@014 zQ|p*~EmrhJ+kI^+++m}(dff8<+zw&9T**&uQO@CHJ$bn02E1VS<^Afk3TE~{a#xbh zj6$uI=Bngq>jD`WUozy|SQfSkFU$$*tC!w$Sb{TpdXHck&st>QqIKFr(qyHx>KoL? zEUr!!C!TkcaTv+PXWW#_dW0A(lUYS~YwCLh9;Uib!_{YVH{@GxdRAa(*P2wDePm|? zOjk6kY~1IaMZ44Q4441NJOa=m>H^N_^LuD&YT9R1 z6Fxft?{5^zLeqdEj1|?wT7z|Qj#aN`*`4gsy;m{1a*Q_6?`Gu-^YC?+xypgMAnKzH zPAY8?nI=UkzIUmMy2{ca$)%gw{@g`PhU+CTeAXJYKopu2$=?7%4Qz8)x?O>oo4qec z^}@@DA^#~+d*`gV#H$ncn4vCHbBNq3^JY?%Rn zq`vY5nV#c|t2oCb+#v@0$a2r9?l)`iGji6%bDCDPuv(yB)O&FOVgGY!ugJA6dMuILm#@5O+x5|ZHyoFx4o1pR)6Z#~7_v!f?Y& z#gn)^!wrd^f+_5@t7qp!+S+Alvs~E09#65gkBN2&1bHiHj+SW9Aj{~&V+|WauU8fz z2bdIu*8PNr5~>$HsQsmBbUBFs?_aTO8kXl!wY_9KDrN~A$y&#<(*;UwJd)0v#J+-` zy~K98pjNFflt5qL(568|UrfJ{WNO(t|J<0OyIIBm4^39WGqNyEORb#fsqmf(?eIwv z`0U+<3GB6MwkW>kfg*(EI#$MyKGsIvdO0f74ZmFGC1q5VVD{W`k=FSBNG)=(MZ#mM zcBA%(cVk7A<;h$?AxAc%OhC*V|a>axW=kYew~^ zDPkJ5JxR%+$45y>-%uCNg+&_L7l_UUUTq9nM(d3XqL+<~r-LxL)t` z%6+pl+#z>ux{-T$(HFr@SBCO>SyLA8PK6wBme+A#7g*>zI5v`1`8K7s33k>qA;nqY zN{_Y;j@!CyJt-qnVxx&yRun(mSmF@p*tKp8ub`}j4z4k|uFS_W1`A}B&%RrmZCA`S zjt!iRb3>O_7~s14=8v()YU#AHoC(RC1O6^tUeRXe1Ng-s*xb zo?{HsRB3sgIkypQ?F({Pn@^szT@`Lw-O6J*C61b!^Aq%|j$Bv)}O&NGQg^<%M}hUp|Co z6`$1X!hOm1?;XT+_065qEwx{FSmxFb6kSHt`+)YuYHRCF%7L_wA@Nov&8uVac;a3M zsP7=3QR!;6zDx4?$9CQp2C?J#e(-YZ!(MDpvhi3%A~N4lP?crAGf%eCt!n7)x}&N; zrTF@Jye&G>c2HFi{w-OLMugGbeD=}Mm-P_8hO%1LvePE9AP%$T1Ks}8Hcl8#s$b{!I%TC&ZKp3 ze&kz1pL1hnjS-v+Z@r)prDEQgjd3-eY0Ip0D|MU-fr&rp{_d{*^f#|V2li-92M5o? zhLB=>6uZv>2I%7HAnKE;?)S$~*>vH0F1lk`bbWAomq&h#5|su`EoF13C-mK=Lqe%( z#Cxm|9>d;v){}nC3Lu{Ij^H1F^~Jk>^V&Ub9%(mw}bQS zr_|fO#5&Wu@w;r2~|7 zCkY;Nolh!f|G-9$wkwK<2`tHm@h&wv@mIfK0lNxd(*hu?zpFxiic*B_KBu4m+m4QZ z-SpTMto!@PK{|T@yia4qufljH4u;=MxDOkqGk$jeLzB&N0#RCqfFjpSgl9 zE1+yD1H1)Hx;Xb&xF1QUkhv_ta~N}GF-lhei`S^D-%Gc{76wb z)-O#(BU!ts<;ZF`cjeh*Cc2)={&4T0L<^6>s!!EKw5f^uN+}^{VgzR6c?|XYDS9gN zwdZ-ag43Y11>zrX9I!`!{ZJR0Z@$v#*>K=a+}H20^3dj)J&}LHHL}|>2@gms*Km1j zlhu^uUF~nBUUr+$%u#Hx0i$KvIN4d|RBKj%(!3j(9CwjpFlZAyb6=K*CN)*`)4bdK znYrGA^nPl_a)Ms@(rWa2<+c3>>nIRn(Gm!{9^sNR_Go}?+en0P9XXPYuYOb#+dy;Jpk6`Dnt@1+AE_3E|e9dY7?0a%q zHO8{Awu`#C-^mfJZG-1VX3dSvE^+(Mi@A1Ou}sQFE(5v3j?u=`&cQ8FvxRVR)$#6k zxXrGI5^63Gf!Mi540KGMau90cj_*khEnA!;dT;CEsY0Q#Wr!g`f|0HV71-5It>klH zL%H3p{%p=>K$)>V8GIyAT<1|-Z29tM2(NiZ3NYV=gVu1OvI6Ikboe&*3pQVz6Znx1 z<*KdX(>>(*r!+PR;ss8`a+KW$zX?hu+%u=%al;NkLO4eLR;C z3^0A`)V21~^jexTS&6B+S2gAVvq?a5IJ;}xk3jDH{{#U0>=k23-&I z#s$}xeCmd-?Prg=+gUEpSz&39)>}b%jYnC`PeO5D$l$9Y)U-@rB!-Z6^+C*r$yS2C zLCi9^UaFvnu%${_!&SYCMUQsD7e`NvdZ=?04_%k`pk`1V+gy##X6I7JR($qhhu@Ru zR-RjVQL5AjA}BOwe{yPsFY})wQlT z4%|;K2D&k_4wax9sq^ZR4D!NjWNZpLXTNwpaE29s`#drdGji0s8Z&Utalp8``~K3(68tEIt6X(*X+mI@kqlf%1O6hsp~-n6-3dcr?k!d3lv0y_Zy?H0?*`0FK&0i#G<h595t3D9!+$+!S8JOvL0@cu>)6H;UQ6MECQ{3x21lf z31D4(7l#TXPY|=1cUZTTY26O>5~DbmiF9|Zhgblcu}{al#q~lRzm_5Br7=fszTLw9m`4#oVrrZ0U=W zf{0n^k(qlMCOIr&9HrTIa4-s^;NT-Gf4Bw6eHJ-Y3oYCfq$V=cTH9khCerMzsAC;^ z0;!E=7ArtpPIKgpgr~dcV(X?YK(A_PpjzBClYPurP|gFzK;1_GhRaTeYGo*>csc9x z@ZrOp>Xx#H&A5eillZ!qjOFpb#4|Q>@$ih$Ip2=bx&a+$Hp_{;ts?(hY!|s1~{rc=Ud*eY;qIqBnOX-D`nF zqnE3;HI*VVNUqviC%gR(5(kc~=iu@@2>_xIrUA*VW#K2f5)xiPJ$s$mvZe8$6%#)H zbu&v*T!*}7-mQSEZiqN&%WFoN(LTPuwdOazHL=Jz%@Ja(Oveb&ZT<0V#^OG;AZpeI zr`yO=LTfLlTzwR^i=tNbU&UX3D7WxfPOMrsAj>`p)TRTWHrA{9ea8}b-8+6tL;8Mf zkHw`7K4kw=M=6dQ#=-SiIUKv8a`z9DM;|^5>wBz7x8-3~?)oL0Dv62IsVaY59~}t{ z0I9W#NZ&^`5blW-M^T_Wuy+L1lN>Pf117z(VP z#A2{$=(?uPm}-ZbMlu&!G#f%)+wJKQ!GK@|vGlt8z}5QE#<^W-5n6es0RSk&0Rc6i z7g!H^%xT0X?R>Ru$5$ zZO}`ged{vu@kd$3mO`8A?91Czuds!#{VTWS)Q0l7Vd=J3%xtt>k(nPqHmakJG@!~_ zNg%Ql3Ji-Assb-?N`%kC?FbNVMQb>%P#ezpBOCNLmK$xB=IX3fxH6W;-Qra|`#G#k z$lg?*{@#csB03y-Yu5#`Oj=ueQPLn_U4rU4?;4DwLX!hj_#9`}(? zi+y{C!7{C49Z3NY!IkXHX_#?zh58EZneTE|2(!uZOg8H4Sr&e!v+&XuRo?j&BSpVt zeP_VP zwj&p6Xi>j6=^{LPET(F)W4+Xji82J0Hb2L?-myMafdjwOozVAO@=y&oPRU->s`HQM zk%BbU-(lx0dhmdzrvi0^{zNux^L|&%7}!#yGFlwHRN|0t)-K%8-~*lFcFMtluf7OW zViwPpKml~|&H~v|;&=s9yf6ZpOB2Uq=4DkKkln~lWJ%t&L{GYKkE`2D@RB*svs0l1 zD)k|t_59>2Df&} zaT1TaQ1-q0r;O>@C2FFJH4t8pZ(+VI66^<#Wb_(TuG3u9f*%z@(^SJ1GM8+T z9)TyDc|G8MClew)14?7ILi9eTtPWi|d)B6~$r6O=J~LR1070}CHUus;ej$t&(+O>n-lNoIi-B{Gxoms?Z5nHwQ5E$pUqQU`)t@DmN=P^ixU+3$%ull+_R;3+!Z1 zro3nU8MNmcfL`D*&6LB~Ybyk@3O%v1iR9Bl&ZXET^{rBcpU$%?gE}G)ts_mb_U&a9 zLCoWj<_ugtU>V>(-1uq{=d^p~BL5=$Kb@`TTy zqOqMmJyEwAC`ug<#Yo|nzOfo5>tejGSoNM1bt9tZHAV%rGHk`EUW!C>IQjKqFQPnm zD&BKAXO=zAZ8f#usTQ=muu^YZzC&D%>LH+|WIj7*X%aLfe^k=#@a?a{p6$ax2_@tY zr1e`$78!Z(57#_7gs5D0?FSp@>y<~4T35lUmtzyv@!>`<0#7lh6E@?emwspDWmABS z);Xg`xZeSEn!w(L_FQuzmH;da1#{Q5GRmrmrVU|d&nn-%M;fQD}d)Omk=v zZ14?X8bIvs*aAU`lvR(3gJwGr2C1B6)d`{rNEkc39Gkv2aWvk2`Tp-`g!AS6W>K(s zsADgJGmTzluw>FuJ_JgGU;5;RuEU@xFV1Gzhv{M`pJLcoa9?#SU$H>VLZDnq!1;n~ zN3hQCw6bTxTKvBKmA-MY4delxYC1{IL-u0w93}SniG7=aB3F&0JyxF_2SBw&`9_00 znMcnT90f;&2Q@v>MmInmFIOgH=O}U&k2ahVcQp5hr<%kGwl|timaEReDN#^v&r?@2 z8VVF5FSF>mek)EUuj4v?04f3W}|5w7yp!s3O1mm?t**@0q# zqU_e#iQu5k>$=tk%uvh9Pju_7phAT|KonFoB)E$aiZN|MGmFuN@%V{4Dnv!tnY_6R zGozIj*ly=o)g>vWA2wR zIK5h(>zjCq5J2|lOix>kBl2X_R3^Nz^DR-*a48H*y90w&P2Ti-J84MGAm+O2ml!CP zI@!Q0dsauq+ZljFwdgSIw+6HI$C-y0WEr_8(}i3X7i5hPx`n<}0awp+!A76dyTdle zXM7r22m`Gyd7H&VU}3anwHd&vnF-m$qh8QKDt!TibJ0$Nu6)+(Sby73S50c(LI+ui zTmL??s_PYj?TPF*k zA_!h}u6j{k!=>cI@Z^5ShImC(w{@O_(MqUiF#4>xp?&${hDZqsSG>o%?tFN1sr~%P zP0IeO0CD7$$SRcyZ((=`wnEk$nPmf7sPQhdJ?cat-G>{tE)KO?cuwn0b##!Ejj*VJ zAI|n?w=NfHsT@X2!?VL1k%Av4wXTS>4=eK~rJ*IVD(qrhM+eCwbBB2dZWD>l)6WSq zY7wk_&GWjJZ`Tt+y^3bu-N1+8Izp@c*1@I&8{q^tx57BV2INvVUp5hb2y%lHb1Q7& z8Cf-sR4(5s;B|@V?4lGL$6qMgCm2-GcQ+B*u!1h{JP<_v#-W@42q!^;SsjvGoz2)ca7^Cs$<@O7tK-$4l`Xj?ObjrIahHIg}{k8 zkJ1DJ3L#1jKkIPwn*JSDlUV32d$3P!P_Lg=Dauvxz5hvN#@fOdsHQ{eIcQ#kBC~Wy z{PMUtCL0w3#J+XRrVj~Wnv{o$N$unruw7g{`WZsLksBQA$k`ITg0!E_BV6P4_!N#A zbP>Vhi)JXS*}+z4Vjw%$=ip4Es>f*ZI^$Z^0O94w^*+@Pdh*V55sN`?tkbvM#)pIo zSPtgq=CWZ%Ks5ye$cLT18sxb}Xiq#$elN#B50#Z z7OSRX7W(8{Uh@^VPcDv&;M`uVETiXZfiq(o9?b=Y-=t}p5n`5;t!sTN$Wfqas?uJ$ zo?B%zx2e{~2xoZbbbKW{NnC%?@&6#FyMTryA9X!>hK_6R{hX-{i<)u>B8c6*9i)>w z-$Hc@2YCXzonF>^dS#S41BTmvkLw#HpWrAT5^c+qMfR`F50uHMDH-?OLHbiD3SSJ< zdGKjE>Efim>%#NlBzXmIW=tQinx^NJdt0cb5%SGy<)g|=hDDMYD-`W#zsp1C4VgV3 zkU_bG7KZA5W*?w=+4X`m&AeQ&buTOk;w@tMs&3QR&-!|4R#&w{CPWO7oDgiHMYuu< zrmsjbTf=A!RY$A^wM2JZk##`QY8k{8&n`0?W;0xQh2kz!X%aI*n|3xpsbRw0n=DLw z>rD^k-}KU5?Jm2B@%~nA)Oe>W5a^P5jD7#zoVL<*xLUOJu|(OxfGLWm2ZAPK5A)Cs z@baY=+Lvc-Z=a+ff4PeVjAiLy{gf5GsiAoq^llw*bI@@jaAI+j=H19wRIKA!>hAPz z!)Cnj7>HWTI1H&{5vySlYxdkOj{*giV7k)xXin%6YG9;1PtiAnr$H;7i&pbm(5!21 z&RADp?IL@IimlcJde-Dva=gd2wzZ|k_)tyN%8zaFSA569^mFXg%dxB4IW5!dHK6W? zP7^;@w4sc1O!ZtCa6-}eiHv&VgG#9F!`5y|O$^u~#e6(HF9Q&@+tJs55o;SPkwqPC zQ*Lc7(ISGv9l4M{5KvYV16k#auxVfP2;I~z9&eBz33@pn2*DW#^56b+Ou!-R~ zRrcw{8F(&iQ}>#F_FzS#HfA1#Eqa9Z0~Rs_=A!|S7EzY@;uS_Rq{-@g;8+Vm4)VlI z+?h~;a|!3tHLUg*Y>u}eS_dHJo>BS*zThP5P6B3p-XQV^p1J+uU&WIG`Wu2lRQH!%^>ysQ6EQ~!8uPWC()a0V_ZGl3Ur7xud*E4Vi5?Z6SpyqG z>Hm+l>kg!PedCv=+)@%{wMep~WV#CzA$ybCM9AJND?59S%E&x8_AGnLJUEW? zd%s4;z5Q;(U#Y&{@x0ITdFK1Pt)FqI%D*5dj}wGiX?NPqk1XY+&ezoIW?s=!(Dm*a zC`aYk&`2L!&S0zxsqrRZlsr7#GGen8CA-Xmfqj8H%<#Zqh;>M-2BIL&<`Yy$omANC zu?UN&8%jbim{*nm^@7A(S9W!A3FK5l2RmMnS_+M44sk+}WUWv;+!j@9jZW*935G|X z5vRJArclS&$x<)&FevvmGS)hC8drZL*WD(dw&vYk+J z1K{!PhdqV1N{B4Q2ti-k0}-Lt3nNg~fm#bmrc-cc7rO|@wBM&@F-tL-*Fyng@wBhg zDl`>kNCR}yiyv{OTgH-HLAHgFb9MNMlIktH@prTOO(I!sJ{>$SE?x0bp17a{F*)OL za8cq+KAE792=}>7PTxT7fB4fs0`zIP*(;+&_uUE>;tgwnDf zRYPQf`zfs*R}Bb!qZP*(&M=&&LJXRV8L6r>YM9iIwg6hr?4) zynbhKz=`*prygd9$@|~&zQfxS(d+KX`c1YteC?(@ z5@L_VKHk6*`5|RuH}+|pYDQRoy_PGB^QALvW)HK7=_0ai7#?Aj{gv zlFp*=6>hYzC}>CBdT}hJW`V7AAKHplKM(0(bxI(1GQ4Va!8~P*)S5sk1O$BNxMn_s zoT_^F(x4j@Y@p4bi~DqBC?Thr)qP%LtkNljy6A&I3aEzYS4vv0>X{jO$3PjF&8HL7i;Q$b3qxKNp3d3r>3WKdvZ1cy$_1!; zS;JWpL}_%O!Kort*9=rczze|J$eu1Wp-rXrZUomr88CCLp-KiRQhh z{9j??Q;OHKmGjI}mIHK4E8`PQdV+-U*I^$A9s2*n#9<9iO zT$s@H3m+9^o5*|O*ky_7vIty+gXhR0jY0T;{+ZAZ+t{tO!;{r^YaVNUFfdkH9fPGnvsu+LeZxiR?Z z*8RX5=2tz`DR)7M>R7zetRI6~Z;vRK{G&wRuB8m$cP5z2DDjL5v7iPaw~@bxiS+Yz zs0+pojw}ZO0wg@Xd-NPA@7s4SVCP+FLdoLJ9gFyvD;*m)%{P2o{{ez82i5(n$aX42 z8}!G%=S51VVC?feHna1xhHa%or8pm-qpp5#fk6e4Uk*(W0bW?i81hY4HtV2D?PVFDt?f&a<^Qoln0f8 zjLiyqOQ%`Y`Tv@O3Of^Wmje#iimbtfrUPi65%6N8fy=tZ2)GGaKsas&(L?IkQNs=mmy5^ z+49%iuCAvG&AkEg0!d1yAa88 z7Vftd)$PK8CkfIS;O5yYl?+7gnzU?N$Mao0%r0 zbstRWZ>Zu4Wf^>VjD)q{sU#t9^{g7K00BGod8x${R_-B4)5R}HiPB*+89(hzn`vPe zj!oT4m)ZKDBdEqXxqzf-smo|dmk^p$%pAJ6qpv}>vGcGcZ2sR|y93YuT(b#6>nX%g z_Eb1U?*O{+|Hs&U(sRfWZ#HNaU0_T&|@i} z+0u@e$uV^Ir2T+)IADqNIs!T~!BeldiZRy(=)dE<|37wC27z_Tvl`JYL<0iByG>#I zGH3_5Lzl6KHRP{gU`CPOy|#^&zc1$By2?Pyh8XI5TptG!{K_fY?W1ZJV#=)F3)qs0 zwckg>pQATp0Xy+?r=D5+wH*?~1l>1q`Samg7W=L9V}|YXLFnbv{}+)jb;cOre4n06GC zLr8E0vw3UL|Ns29PG|=+IH-e?!#ji0M>c4}l>hk5Uaee=8fg8LJF}B1J8KgDC0qIf z-rY|6_(eguEn$bVd2K(P7~{^~EIjf8SoReI3D>gY^c(Gnz7hGq*mpyY|5;(NDOaO3 zVDN&9&Tk`f-<83(;M~TJ5X1k{G{p&cVsctCqt@3Qe8|pG?ZuGa5WxW-A_}%;{rzpl zsA3t9zXhl^X8U=;0U~V+yx7=eziF^@zj@4mbQJp@B7KLWx9uAogWLzeCthExQkb^m z5EC87?i;edpps~A0b9{$IwT6xZVsdS=YGTS{>NsH28n@|l?ShpY}*eYkoI8=sGw^H zfPJ6awvW2SQ`{p^tC!rVvdXpp2MsIU?Zr8+F-!Vk2YeN|nA`bk=XXjYH#WiXZJij_ zcJ;H$^e7cz!jDz~F6&ruu8tn_TMMgAqWpq)3{fFW9qI$nCJSG|*DT#bowMFr^mzC? zSLJVq2HGas?9CK}Qh);w4ltc@c#cc|^4kgQcPVVGf#$Y<`vp*8k_2{lz=(6& zLqLIQLJZM82+XVtC}h+o2m@-jKULb)XKVcI&_M9+$9m;#H51zahi!6D_Y`0t)A>xk zwSe|UOVaHa^6N%b9s7Y%Nx2xyOX&}Gu|*gsX4y7fvBvyA4OBE>;f0EPV-;Q#DAT~=}%(TM82yPA~V@- z8rKQ!r~X~>tbuI7!Re5MwH}V3p^`Ml*zeL}Lps7rp~iE)Dwa<_?J4&`gVk9;sv#uN z|C<&brMSzqG4Uqs{1>ln@W(D(aL_ytL_W>pINkK(W-LG$Up^O8W-D8@KEp5Q;vG{u z+yt<7gd=DRsD8GQ(-vKKiiHC&6w$BO78ZiMlvg`+Ga%B=kJqU7!!krh_WExiqLlf! z&wP_fVBQO181ID_aRh25_W2QXwO(p}|8`vu!NqT_J4hO^O!XB@*mm=WTM+N{&IaoL zw|megXRX7@H`|2_N)uqxiSLK>=8xT6*z~Kn(eOJ8eEtsTCTN@fYWuPQF`_QsCEq&! zwPAi5W9Xd$x&3c{C0*}cpb-7I@pp&Z#ANMN$OKwAro6Yjw>JDdlz%6cd%kI=?Nt|E zuy?;}5R(uhe3qqhzCp|S8GW~|a3|_~Uyxqs1G%Xvy1(T)>`fP5$b#yEtgAe4_r31I z3%w$8`3_`V&1A^oecS1tbm4`Bs1dCD4(ezX-{ZaQ!V5Jfth)>8h|^Jy+hwe-4s#G{ zbpLHDzXmG;;y`Um*ibd|fK3ci-`(t+vN`Nei{iH>y)NX&hWdwM_x#bj9Z|!g4u4v| z7`C;YpI1OT8}VveU@&e9(dMYTv>~*iADjm32-Bl`!MH-&cXorwK5V}q><0N=nWIqz z1ouI$My=xs4Ij6}hLf^+l)r3@Grb0Kd31ldMSgxBb%ZK_@f52CjTyHZBcIX%(k|?>uC~UD46U?ZwlpE$t6baA4rz!x1r(+NAptaWSPqsP z-8R}lU;mn+3=I-VCw2rRrzoFg-95TRNNC8^#}9Y>!!Nk`ul)c?91Fw@*GR(s@vz^{ zR?xp^$4Y*MRqh@H%Gm#}8(H7{k?JEDu)WEE(~m)8 z&rcN}ksx^Owh7rAMESnS^i3=NzYRLzlS4RY)wQjY&E7;#L79abWDoiU=B=5AAwTgl z)V8I64~)b50Z}NIWYrzENs3qD<5PQ}lR-CjpfBe#HGtc|t%0GpSIQDX#1FhsY)M>B zcqcg+uYBHveDo+FxYsgK>e^7+$1t0BUSa)dY1|YYNVKv0PhLszjH%lNsj*m}cJ^EN z$0S*&{r=dD1^hQ)xw$HUDkoJ&K_M*0BSc zb4d2E>V65l*Bg%zep~$S!d5hRm?dVUhGQ!=u=z;fw~c@wer1-r1c*zTlVQDB$M-sh zN=7Ee3{1n(LG>+n5D-d0vN&$%!TyRya<~N1q@sdj_oIvJME`Z)WEqo^LQ0NeAd71I zdqJSf5MQy}Z$qOP1w@b%_4QUXdl*3lT0I(Hdl@7KgX?B@Q#YF6E6;B(oeU~;`9LST zQDg9%HTXLg7)A@EvhjATNx9tK=c&9P!;pO8CiP~wir+0(-V(S5An+7j=2Y@~9ySGf zcptdM5C7w3^fw4OSLcU0xGjmY273Pwqqj7{4g(*=?P;JO&6us+(LE2GlGWXZ;3Oqk zWm`io8gXv$X7-LF-?buWlmBUyetRz#e9hf=#4mU+O~ZHckfWKP;#<1ipb9hDp8#DY z-oE&s2U+k;*E3Uv(Li6Q$bd$Ydv_Z7SBSB`D1OzjdSIr&hf7GePJ4|p9-Msi+w=+W zgyIn+dh+YZq&+J>h0YKAl(sk^$}k)LR^`Rop3*O4-1|-c8$9R+w0!2frOk0NuureQ zk-No%KNzR_hf~D}m581xNN7-qYuaI(fW`lg%2|7gmm5kuNJYK*=JbRu9g$mq$axC} ze$4@Q;Dw5E-5rEQ0os=B@ycJj0!A6h7u@!S4paK$r7dc&&G(-IzRA-&UU-dz9ONT- z%HW=m7KZNLW(eqY0a*EGtcGkW@Z}af@p=zJd;HKVed;Pv=Kyry?Umf4?Zo#`CpX+AIQo@Tc&|LA7?ydgYsDU8`;v4LO^@{XV7 zYcp&@l{EJ7uH@aXW-`MHA*)KZdQqP4?%G=@+cd;)J5rbLK_|I9cXB>EMQ4Ko2O zNZDnsrU9^u8Dk8bBUcVbW{d6vKJw*%~61W^G)euSDR zz6;S@d*Jz}o+aA>Gye(_bq^t1<)LcuvmG$S4ac^)u_3 zeQ!#Bzkp2fhwU8wBR;{pQ0+F!nIs+l29_(+6OEJFS21w*s7C3Vi^8o3A?u}n)^AL^ zH#Mx#hA-i1&j*$g{CQ{};4JNBj^dyk4zZL&0bjWgfpg+|$1E9$|J==DK81(+5$4yM&3Xbr5UJ84B zPWX7_lOu;m3dC-`5W_4%+of3>OzN94=T%&43(jY^)~pR;VKgo@uMM`gt+p9_%yRdb z-@bqOqu>5mcKKw=)_+&8vd}B4dic8#SPwpRy>oBl_v)?=Jx2Bxf-$(q{P%fteHn`F z6x(Lw-DSlz+kq9}yq5@$|0DKkk8xr*x9-_Vn=<(rA z1-v0d4lCF%cL$cf`b;%=$)8>u-)iqG2H*b+L5e<$dV@a9o0{sj1Ik+C+d$RA}eXu>VqfcyWj zYu(NLWX(F~nLp5P{>~EK@l!ia_lJqR`z+4cW8#kWPlY&XYaSrpos9n(dD&dr`t~=r z%RB;Bu28CXm4DmH z52q_(T-;r>wG&X+2>2f&P~3S5AbO`+dFfiY*Fq3leiM?X?L~clpKJrvpIPS8|`CF6F9ZG9mz<*X} zTsc729NV~MyL@tc%)b*VenkzfokkizSh@WEvGo0#JjMUGEB?!8d3ar<)9oNBLUZ6@ zd;=>ec(Sr5bmx8s)aa?xar+PV-{Gd-lOeazXz&$e(v@{dZ<8WF#RDa4O^~l#iRgEfLC&4!?sOl!sy%G`QoRsanlT;rvMt&zhE?J_brWIVU_iremiLvaGVrF z%yJeR6mTfR8s2>|^H-;-lLN;|NEM}8b&~$V-kszI9n-lXB={`MK(;xwLo?0Ye>{Kr zOMt^&2=K82fjULvP9Hw?+>DS}D)d@pTWJos#{1|WeU1Lrk@ye0w{8Y9 zzbp|YFF_=K0<&yyjmI0Z*!&5MvORY1w`os$W~`UqoASKDw7;UG0{DOo4H}x@Lk9}3 zE7We8r|YBs7U30?pW=?C=PGIz?+|wSp#!fr1#Q!s`02$vxNQS;L+hUnS(c+ie>=E!WcRb!=M}%nP6E}7S662XRozI`cb)r^n z8)Ot8dMtF?`kKt$+t)x_)OuYnd$nB$JZvCnpFa!JnR?YGZ2ip)O;G2(3w5feTeZ1 ze*=@{40DZHY!T<2Ty9?oGB7cJzBaGs`gMwp=#)ZXv7R}K9La%S6gjW^6H{b&4t^KNqT z$J={3>a6}d{dWB^wBVtsEWX_7IBfXi0&_u84&;5-@m5KAb$$s^!~-m~mxfHTOFigS z-w=zLHl~LqZwX^oCi5tDzP>vluNbPr0h+uMsEURJ^*$S#HYf}ZSjJp@J*u0j1HUvs z*%p!F8#H1k$}xLW^K08sXbgDGrgmc%) z^zz4=R7hf*MkO^0F|gD0V;B)ZA;n?mKc>+t`zT$Yp-0=u7ce+8AH)%k3ANT~pUNta zq)N_Xxjpm29yL_dHWj?sB`g01^`0+;pFn8=nE=Rvx>#yZQl=C`Y1?gwC@_);pjcf} zk~~I(aOrtV5o~$SEF^Dr=5CIyne@SKfOE z*LRx5>S1$hycPnl!Zg)IK7VnzPqYDf*2YgcO7+=a&0^N|PbcUKSFY;i&EqpFA9;4u ztf^MeM8KIkUrZ)6*!g8&2_r3kjXbISj6d%)`bS^i@y_c$jETPF_+Z>}em&CQ{*~NL zt9BSM&__x zluiGpkI4{%xl|s#!J~1BCW-}T*(FE-5o`$Q%1I$RDv{ZEEDM{ zQLVU#>D{a&_GqN)b+5wGoIvS-d($rzCxzH17|uM=Ts8z0Q7=($1h}7@;wZZBH1~ zLWNsDHwM=YKxGhh+ZxT$%_t5&bf>vvHfai9T{w2D7=() zrxB;k9%iz7raXp^Q6A)`s9#6!ccPDfXG zT~HT!T`EHUnkK3DGHTB;weOL=6!NgPM}t9T*R>ZW8E&qB5#*p*DAclKeRuzME96t& zZ)s?#c@(Yq|^W{|m)O}f*ki{Y6krawm|E4j8KjSRga?wJUvMm>$ z*C2oY1qxa< z(p4>Q<8kSlecSExmoDjaBxd=AH$>f^oKF@wCdR54JO-l>7BDD4>1QSzOr4S-vkPcz z$bt8^Ed`{$gbBymBa*6o;+kpr@4}Sr-P_asDQpp4UM4k1?H^{kyO3~&*JGVo;F@d2 zb3Cn|Juj-$`7|p)@6W^~o+%L$_;=Mc{@@BeleF1Ca7Qcxo0TPUHKQ*+00h; z3ji}$sY~Sj8uH9y-PoCj*$m~si!LfFSjCdZSdV1&*wU3&6@f<# zL-c!4h|X)J&J(cwuSQR7VYy$On5I!Ugv1|PRPBRRR$8b=$`q#rw1VvAeY^(#uCfbN zv9%R@GDPcg9=DjO)sU6#kPL;2y!w}Csp{9uNet_l#w@09h`_C%4W#v-6sPkJ|H!A= zWM^xoF($`j{wi>LhGA+2zTRLjkIa6 zS1V^8&9-c3TKRjq#ghV7SJj)LN^8Fo3iB?{oN=Q>M%3VoPt!_EDsGL>m?(*Yd zAE>QS@>k0DEwEbP7ne~<5oHYR8VR@+2Jdx_LL=+T+F}plkcf*ccweh7xnG@)<-*At za&g}w96`4gRIEuqmR6*5QZ{X=acVuqr+ejYoXcd$&Jr!Hi6&Wp@)Lz~Q?hCOd=w#u z@2OeP2{&T3Dig%?&J4ZEQE4&nw;D_ECtr0EPfC?2vMRbIJIOVHuwjSyX44ANx?jM$ z-#A7!9hl_xTED=wnO{*aMaNc|=%H%jg;=3H(1CTl!z*1hL|>PT!qV6GE@}>IOt;hdyAg6+&*M>3c?)B0PJ5YS^JSnV zdPsFyv{?{bGJhuWk0YVdz$6JG1mr0%G#zF z2dzr*xE*z3-U1=eEIv+2@{Uh+wNyF;mtb;l){~$?CZiYO^fg%w^Z2?tKuyug4}Y-#kZy z&^~zPuO@G;kYs^kg1~rLvNp#Ff68PWLJ3ZrkMqqT;XT^!mt#ykR&A}l~8 zl$q+4&pxm)HL3+~@*YcNTN|nzv!Bfw4>&v5RbehK!G872eO-h(1T=Y(JeMy`v zB~aDuLN<9O^t=3ZD-D$*7pq#+PX;i=c`zYCE@f)oNlj+Fg`z_>=QM|zjaAg}Nj<~P z$-MF7O;&<=W_ndv6d%|;@*5}FEm}V@X;gY8YVrmC|*hB}TUWUPs~^)~=alU=4GkoXfqL z1LQ0VdNr2ILSp9HQ%S_;+iR_t;lhh0YBpD12uo+nW$39W}cC3;2@ zL+vJ`m|~Zi=iRbeBWow!rDB3CQe~SE!oeihnkmEnyKsd&1Vk%ik@^odb7-6Ko9)4J z2YKqRtB1};>l)Pz%>{exKQCicrm#!u}vnI7J*V7f0o8@isTWE_J|7py^=CJra_^K!a|n%Xn`TBK}O^ zpMe*hQT0kPbRTuGsNhgqooRUiCqZB-oK6dR~n3U8Ml3G7xPwkYQwd@JicxwelkWL^Xy2b%lBgfmipEyUbi4 z$b{HUmKrs@OL+gLZ9l0^@OB#x5$}B8Qo6?@fZpcyYX0gk05i3LRE0lYmA@QY$y~RaFE!} zCU>Z?NW<1=yp!_wn|D*TQ`T)}#?;+!SGx$YC}R+8MTKKW&&YVczG?@X8_om|kpwi7 zI+CE3R)kLuSp6;}ODhKj>wYE3M9_ckc4Wp(<4|*YzH(s@gtzAw^y{(xUY&L6jN<2n7gP z^RLvyoaV{0DapGXpYryorl=A(-(6bhFn}u>6nW0e=T>>NW=}^t@CUkucey< z-Z3qK>>;(i5N!E=KnH=s5seA4HFWa*G-dnQT}qy|U=(MBd7mqPOpvX()wrX5bTWk~ z5_4tl;A{J*gTx!)YW0#YHu9d2S}m+#v$8dN@k`kbNOKoRAMS zWserj8#jIAbNGv&C#-g%v}#F|eg5Hf804BfME_O9#-MC9fA#^H%qP~Cl+)}cJj*DT ztf-5kH!e;TqVKgSu}?M{!}~-zJ$uv6yeL@`R9haq<#t;#r(~!geX5zOD=-6xg!3wi zeY<6w-2MEhS#`E}0(Y_TR9$_3C@$OH_xK}RA4%fl%7w}|X`0W9a)LqLn*HO0P_jwsYWGJ8K~ErS zV;QbWs@=%`%9!_le8*HFUEm?>vnJ~8rlGeaIy?MiqmW;_OK?&ROBQP>L%3Y2yi@up zyb!^5-BD44gk$F2!G7d$w$TzsNu30SDIAv3ev{^BvXSNIB}D8b&OF) z`OIB*=4K^Yp`rrQ<1An1X5k@+R%ww+#8%aml#{or9TOz?Is4m2^LTi_WUP!&#;Hug z>v3UtuFbZTfSs1v?woxH@}QiCRI7t+aadS`t!hgt?S^jS`nIFS+V!zuUb$sWUYU+l z_OB-kr`{93fP%L!6RnrYgB-1t$wRo@zeXk5dh0>Tl6CprK8cu8f|>xe)s^X5u9#b{ z?396NZ0Nyalg}q8A{X;Zv}h*pc|ifd+o|tGxsdD`20ff8^{Sc%5cBJa?7?n3KqU8y z1g*LJW--W(cDmzovoOsx>e_?q#qoD`r9DZ{ZqBY00tt$dw81HJv|oVJj0yd52Kiiy zVxAK3NUXs$LOGpsKPUl+|F6u$;c6X+0Cc;Vh+EnG?EiOZ8*yLy7WLg8*UM^u(;V`g zxoBlHp2@89X@X?FdZ0964tU+OZ{;=GtoG^_c;coh4(Is zmx+gL#sYY~Po8NUT59f?Dy1YueVCVo<-hJ7n7pC=2RG}>kxu%G)H zE3@H651~%mo}LDb7bL#=g{Y9Z9_E8F{5J3;<&MS(>z2lNEw|AIj@y5~xnWCua&~$d z#K`zUEo1_ig4Mxmh8kzsAM&uc*8mOaJ()eU>QDQTuU5|E^$SuYAK|s=D-|%KDr#?F zt9e$2Uzc-($y9p|H)bIkpOU9^dCe@aO+~>tk?d@d2Bk_>gro92H=i{mS+sEs4pe(# z859KLE31ELpd>1wtgr0rBAp`y9}xP2w;&M;N7&X*-e zK!jq-q{J{r!?u#*?c0)|yoKnFw5KBOc;uZ$%cEn|Snog8t4WTtjU-?<5UAS8i};*+ z(XwEJ>@tsFp$hhuV;>``poS6=E~frbK0$-Crz##^aIZ+CTcNsr)!Q#k)gEO^$Y3Po z1k)!AWL^B^DPik)_KkfBNrmK^u?>8Nib->_Gs`v&k#iuD8L6dW!2;xjoYDiqlhF1D z6}~7JLIT9$`C>p6o!cqpxgJ@@ks^!dM~N6%1<8!++$o~JzP*voo57bgP>H42%c!KL zb&{D^n!@1a$6RyeOENCBzU1@w0aN(Qr1g|m!Npi<5Xq4sD|dv=t;KlE zldnQBrKXgTbxk08p;1)4yc(1@0RW$@;@9c@rE36VNd*w#gpUljy#hRsBQ6seZ22X z8zg`w_`%w$;=uKlc))o0^ri~!#wCG&2@*9p2B6l+V!4OL69)#g4x$m&oWG>?UI&6(8P@TB{ ziVoK?*kth8$h^ZXiRuDBHpr!O>Y>I#qbl%>nQ&)#BqDC`P2eK3qSz%LxFu3{Os_bp zt4$Nd*yfp0dT^CZC+9ElCRCDploDGNtBhn{JQgRu(5*LQ6k2HeVD&lG)Z2)LG`=j8 z>9!cW(7&*S(wGNt+dStzWlvC|m1y=ND%V7$sAz6Hy~?#CddfEW3X9wXCu6SiQURx7 z?;*yyyy4|Q1JNj$HrmRA>$<7UwBlk26755hIo_b$pvl#FF1|&j#MTLRFP*L@Lf7Z< z<ygDiVhrsN^eWSQGnOgd!~ZG0iT=@@_L$=Wi+S~*LHVvDDFSG*G2V^Y?b zatleQ_UYKelKbO}SR>9x_k(ghfdTb*Lu{|cV(`N0*8&5dPS#$Y5TIHZQ%)*k(B{u6 zlqljHu+q?|L`SO!p0$}X%+%LDQGvU<(()pe)}6Tb1yNF96BU7b(7j5pIOArKKcw1{ zW9KbmQE#Y{1kHPpcYSQm;l}geK6S3;r0lY(DIKXk=_V9IYHnf5asjp4VBBzuAjsXU zeKlr)3&f^%#J6WfchiOfNl(j^tK7aGUCEqB1 zsS_O;f@GnNWPJ6cYA*d^;-T(WtsY9>jJpBCEZ01*+*Z6rj(hU)%Hk+-wM$knPX|A0@F!5e^WeU9@HJUs>+w`I zGdcvShE~VZrJ1Vs+0ALBrhpIq2%Wv{ja*^L)!B9;O5D_vpv!nibX=NbMA*6rVnPRLVg9T|&fTr9I% z^x0x)u6JG5bvp+6WVAV>IN~(|WE773$rxnQp7&lDG*7?HGBVubb5ezAVYV)jl|`s} zh@r`G*(oM*cFNJ7)Az!(=(tj$bxV3}K>Y2D`lxWN%Ehd1+E5Bk94+NXmQFmjAT^ee zj+iVGLQZAqIw3>i(9Zp`?o2UOX=QOaA(RG1lHPJL!hx3Hc1=;}WX_a@5>Bh8o-1(^w!Xt)H!X7VDpUv+f)yYdl)0NKBEF1+XK4nu>jd-GX zFKK$DmVnFqYxgepX7{!S!iPs;?+dM00^QS%5=Kv!ecB1_}!#CM1@X@oWQ@ zkqc=sE>ZXD%dRdem6T_|@TR#*2qoo`Wkamp*^^chrNzVFksIuItrUaA`sR<*9b&hK1ac zABe^Ij=99z%(Q96!tXn4DqnPX-#UG=fp;v~Qx7)WdsdXo7sR^VNebbBzY~cRY?j-G zV&T2gYT9pACu|M=BvjCMA_%V{I_3S>t>>~2o0OFwIV`~&lzphDUXd}UxM$E^%iw4i z(3l3!Xk6&2@>M7@Kc9;aC2wxOd4a>3AW%FTsBAATa#f_v7b%_hF_h+PF!_oD1DsRMn?4kEDv0n0cvV-P|Q%soMJtoog*zlrh7OT27!x z?Q`O|4gzHIe@E~eH4>BKHsOhOL>BSCqW@Bpm8#Y|d%S`y)n)WH<-MB^IptS6MOOy{ zO?vB#gv-xbK3Yq>XUM3Mg9tT0y=NRcUg)Y+mlp>esm0>-Lq-q7V9S|$ouZzVD}uDC zWpPwmL%E-;Pf9@EGh_n^TcllCDw9xVB^c7K;Zg6qB;~>^f{%3=U+Iy9Nd*f)u%c|+mnZ-jGWc0E?!JY;OWtrrU}IqEK)ea?uhgLj$mk35@ed9fODVM(YH#^DTW;FrOz z_;BCe=0ymw{^X5bE=+W28Gp?>H117q=48F}@o2L!a(uPQqztP_aJE`mWY3wQX4(+!;Zc@0DO@l1QgUqmLN4d8ec8mrTDvjb{*=88!` z`?U5VbP^&OMG|Je_JqC~#Ovc4@={Ap(aR{kM41FMPz%gMAlSU!Ft*A=+A;V-g)HTr zPx&Nlnppft+Rnt`Q!NArctwgPhe*4WYN&DHbmfW^6iq8eT4)E`yFVOGDq$Ch-h+!XE*0D&FPpj6^!psVEdQe)u4#QdlaZwtLXeW9S zuPZ4#O%w^>tS`Pi@6!kDm@$Jw#yq|jB^w#1NZCWAWbDfi&9e3xc%x9SpK+ zg{6$=JTOWb2MIdRWXe{Pu>(Eq(`?ZTvti_%k{3dvz4+ryKb#qg8FDHj>CHacqR5t* z*F35--#g2m8No9X2SSa!8Ql`g9QY*5%vULu=UisWKF1cFxQHdR0{qk0i?qqq?#FdY zKGhrY%Mc<-f=%^%FK`AFZzRl6E}gdN>bBuVyKyCq4}<7F(z zX!21~8SfI!ZcDc40U!CeRaet-{~Oa!(s_V^z(Kb<=AGV-kQJEd$f(NHQfGKD*E$DE z7pjkS-R;U~xCBx%O+*U$%+sj!l1==Y?zKt3{lP72?9O9GbqjA{@K$+)As?|+gw2$7 zkMl>#BF=(T)3un^Qq*GQLaVHNFZoi#!hBYzdx*{8Gd!#_Zze!Yr>54ht0pVvqbmz} zfh?2jg6iZuy({FyFDELmTF6ObhMAQjivS)`nb$nx@UZn#d4MiDs~41s9`P9{A$4KV zY0>b#!;x!RlgoScDO4{L&#aj;eUMALIg;M}RhZaYp^No?;*oPo)5g-HIg{=2zHu%p zzAB@tsm3wsfOD=bXSb6G4vp076iCz>c`NLPyY(%c&x3^jlXw3B(MxE0x~vRt02&qr_DsF?R?ltZ}% zBisPLh^D-%`010~S6a$l>=}bCd&PB9MtS50NJ=X~I!pwCo=CY*b1D>rDsms9Es?z} zA;s#%9XZH?YEq;W#FXm3Ec4v;w6u~8Dlw%UAsH@)V4qN!BYKBOPUE@7rk`cX^8AKT z|67KXE3U?0(rplNFr{X(6kxB6w6LMsZ+irz5bf7YmG#?^;-j4C{8^v45s+P`Y6(<` z6*6il(5;DNI2ufaOWS4A(KSFzWbjTur`t;)D5jCiBNElC#dYT-7r*OfEWq6+x=|*_ zm4!*CfxsVq;?RWWsNk{sh~c~nUgay6fjfC{oH~ddid2e5MU1?`{ z_QJiotRB0-Yvr@&Gt(fI@Ru-1Pe=}!OI6n=7cR4oHD#H@r2G$4>L#dw$HLD~6b&WA zlh{zyBV4>}<%Lpn zrEzDi2ez}<7Fwjsgc1H%ulY-YsE{DvSu1XZH}L!Lper6`-h@4thysa>eAgwhc0Yfu z%8pWF(U28kvp9bIG!x(25%U-0vRZ%Vm#h&7N zYh!W+r=@};8E}Q5_;ypGi()BbL?a`vsQ0L8qFQy-!m6;4m^^C|!x(>RBeCO5FY$EV zTZWd0Z(%Qc&0(doO1`F!T8-U#6G2U5ie5pz)+q+JF_V{ZHZtE>nR^{7VTkmhSkea3`~t#3xy5Xg|?%X zIfw{1E=r0Fd7x9FI@3yWl{#8-o|h#Dql|G#7_Ji8KV+V3_5kY)vT8a+{15 z4jf!6x`>{y9BX4yO92U=lDIqM9wRm&o7l$SPJciA0KuoxM2!;_X9X&JFHlw~#9!0X zw+FQ_IyR;rK2Wr@t0TLJQR0HXP_}e!Mk}p1zsf8~@9CI%oo{l?7HHAe=CG=6EFtOg zQPd1bQY#l0{`-U@ua83NER(Ik(TR2$@>HjZn^#J%P(_rz5){9G5m$uC>nXVh9K71z z2;-aRzY1c;?!Crmhn#TLochVcla)b`Y|_Xm5Gpv44#_g>u~0D?$>(V%cD!B~!p;(3 z{zkbYwxW*LHEEfc&sv!rH{&5tz^Pic;q*=CaFcn^I9$t-LFr_fy1uvZRW6sNX+_L8 z-#IGpTT4)Gzce75^1#S(>iOcIr4G|V4=(E{lD+j`Ts=hT(WoSCgHH+~zNJIj(pNo1 zoaqA0TFv5b2zyrfrAQ8`lF2&qkeddpx4x_&$ss@oPdI5QvyY{@SmAs3obhgXsnrbt zT#@riLKRWQ6}|TKSa)iQK}`)`M^MHnu#hov!9gL`fDFfJ%qLSf*?N9F1WK^t8A5*k zH8WYe)lq>*a4*=cfob>0F=fxO&O%okyWj=V+C5h55nPc%&pXmaLj5`m_SZ5`{ z^tfXQ@3bv`k0;-%8Cq(oOPnp=q85jWQ#S&za?;TS7tZa08BmN%kMVJPK`fN3U(2AT zao-&+Y79I;VJ@)4=h4o6{Ozr0NWkmb50n)xnJH+-k_Qr(6~F&jSuR!hR$2dH*i3H~ z`VQng8o6PWGEnDLHw;WfOI;ns1}9$^{Il|Cmmoj_xL4UTQ0$V zKYi1TshPn173Bh-e2VInoOcy4(Nx~JKCiTm@{LbhSiR=vm?_~HiAh0h$**AR?JXb- zPw2=p2yI5c4;aaZyTNdEgy7-1_rAV!AJ~5uxD{euth4bA*dvC~{3>{3(OyVUQ0Jt6 z#;|%Y@S)$4X8{%1Z#XKMdu%*KILF?Y^qwK8o-qPWz0XOrk_@6Nu)?oKmI%W5Bqf8t zpBu#}cw5{nl7R~uEKI@UYmNUTVz^R@J((84gZYH@kT_r8u%YD1K$EfDhc2Y<{BM}J zfU z?qU~lZM=!DTw(BOm_5&l4#rnaxNp$aRLS6r8_fgDXqLN{0TR7&BaSg4!uHt%wRl)J zQ=jwFUeFORaoJB56Jl&=HCbx!9g0=o-8gg4^k%}1B(tkN+PXq#SRM%FD3aMN4}=_Q z3RHUFTX0O|5NfgnFBBFNVj0f9z<xM;ag8X_%4s3M$;79B;#U$`I)R z7pp6?_(OMfWJj#YGG81!>wO_yrtzYvV&I0 zCdIf$)3ro21i`#284?#z-V(MjCtwx7 zV>iFv_NdFMh)&H$d~ia}Tkg`Rw=sR@ns${|btHRM#I`y|9bQ|cvSiRq6XFPYI_U^~ zHc_<`cisbU>}xtG>(sLCTbgO*3K0plTb9pMR`3d`PwC1E>EXp;U$MwVIPi^9N0I4H zD}7Rlk86~%=CCx9PJK7r;)mwN=QpLBOr`J zN(>G2o{NI$#_zkkzJKfr!<~E2J?E+OJfG)tKK8viB_3_${7Z zs>YoAePDtKhsT6=L>}cWi&OOg zg^Incp3{Y12k;pVl^j}v+ZEzlAibXKrg4vvSP{OB+9YiZcm&lb3&w3!Q=DA#VY3Vv zQ-RenM5kM~PHM3nG0#}ids$0tRVA#OaQgR~=>fR4Cr0?-Ryl=cc16UDHjKl%hBp#^ zzd2>v#@(xO>$NA6I8U=|>=A26s{oP;LZB=6LyZdUJJ0A^VGycos-Q2v&^NPmz3v6s zgj=v7IL4wfH(12ceCW*4BsVcI?#2|Jtrt#& zGnY_l^QnpVU@D_E1#@xygP)Y0`Q6AvJly} ziSpoS8T(nESGkRi>2x_^AQ4lulvm)gKJ|ejX|^$u*k3$NI+ce&o?@AncnK7QF;w3D zpsi=Z3Ak@M;(!Zb2wJjRY}cS%>ARm-8L0j2mpxqcMD={R)@No|q1|SNuM*#qj#4pn zldhN(B8a$<2v2Kk3f8JDH&QLC1s-bK!gNn0iUgS#;*uE7XdWsgWw`NC#ck!JL*4@y2 zr!CaEswG6ZGR?~^h9+1qgZ+5{LpDKdppr1UJuBJCl3$Lteoz{(I&_E68g~cHcq%CN zl64E>{wAgh;S;A%=?uFUJS7BkOqM^D)q015&=?u#WUtBF#K1dUQ_ygGI(X1fajbX} zV28uV*Oe*cHiutrCIiT(OoA$URf#QIscpXEHSbfXYN)K?kn_@UMa?T$JSE6hV0#N@ zO|_L4{W68Ch)#fK;!u~I{bD#i@C0fx80Yr=YQ%UGMK+ z$r}ZV<0v8Kxil(FnqoWR#F&+5ft^{i9f=I{Asf8^dTfj?2eyD`PqYZ~cmB>RoplIf zO_Dcaol;t-Q90Khrw2|pbDGr`46(rO%+dB9J#{I(8=m#a{_tD6~fccGfz zEGX2%IZUR7K{2Qn)@k0A+OCtI_?tfy^-R^)V#a-j&{Znu=j2?qr1M*r1K4-t9RS%L zHtSVGNlj{b-xD8|@5X&$;gKVSPdG6p-uZ6kCk7Eas|ak;nS{Ea!OazoI5jh4N<8wc zE`*d}DyXkMp0SDsg*0;X4bYaM2~c?XJB9c>#^ra)#@*=jU>+3GcY0%YEN0fyKhOeP zi-f;c+M;{oEmkKu`wUMR`EjV`t8O2`<}lOsgxyI&sj9AO;1belRo#<9tG((Y`H7VE z$w)AaM2;ZMPHTRGu^REDlI+(GeZUoWBTQj`3}KjtTUN`zLHK3cYFjUkx)k; zRG`G=9(!`__twqdDEbUK^{hC|qUNgQrpQgqHgd@>w&iFgTk9*>=gT zFL$;z!pm&4!iSPOAkDs>3Sp`9rMRd}Dqfw^W~GDj!F)Si`RGId#q27%Jmb9wrX>eOa*KkwxNbUcbcR;FiFi+Ml@ zaQF-2ImVT>ezFt_6nCx-R zIa1S7R&}RsdgZ*LPkxEq3p_a^k7;d!Vs>HJF|D@NwRgW1F$KNOFrEG;CjOSPfDIwo z;zHTGg|fZ<`KlLbI2(WF#$Aa{6qsyQg1*HMRKjZ$ike9sULS!LzDpd3U}VcnCdIU* zXLYVpGGFE7kS1U?y}`ZwQLY2HfPk@yp>aRn>n2qVZod&R&t?zkgcS)7)B9i7e)l~6 z$_~N7=l+Sg~y^Zw_(FYc;z71roYR$rMkyKRo1vJ?l}b zAL3mPdy|*Q;;)s=LU4!TE!S3GXWoZ9?6~QDQ0Xm_)GQ{u>SJ>OsOrPixfx|fE?LfQ zM9z!oYk;~J%Gq9+IM`2MoedUoy8MEwmA_Jpbeg!DZ20xeAi>N6eytqM(7@M~D|PRe zXN&KwTDmc)m`m%jBm=B;MxR_hp@+2?eTI`uE!A*S$$Ummo-Fzkp=iuhgyw{AEpXm) z9UxQ3&?6gik|x0A-lcA@wHOb>IBAh4+Z=~q>TPsAY94HEPb#7VEF~o)&m#orVha~4 zA58V*rvSWG&f;^6%EcY49O_(25IH9WuB7f{yU%uj9YtFy09J6M8>BHrckUMEIjxz8 z^~Dy-ORZYZhvZ;mgku}~99Cz}NGKb$>Nh5eY9@Bric)Az0mzSyPuYbe`-`!qVTuwo z0vXg~cVYI)UFXeai>!Op*kPF$+ZF~klZz|0h!M;q_O{xdC=H^)V%zPu#Xh8LlPO}$ zJ`itbIa_4Xx}zOo(vb^_>BED&VO0Q6Q)iXcjsn2$rorva zWm*8SUZ1aiMWexwykBYEsIGG|=^pDuodYd|Ewow|)lY(2b}&=@SJdq$Jq&8AenWJr zZpvewbRIaQ*f~yIG+a$HagXa1Qtst2z(i zWF!eFTi+w~--^rrz~}!y4uJm?B{);IN~g}%R3&JX~u<)`Tv)J80OH4~AV7B&FTcgUd7^PT|IEw<65Ng6ZR*Vrbns~s*| zpX^8?R==Do^3yrQ8L`;~;!DS8wc&p1HsViTdpj}8k8}>S1u=Qm@R5Kw$`aLp80Dmd0mHStw>KnW9xw2zb1SM(b8U;K z8HslqT>`DTo~UlnkdoY6*t-4mvy*hioD-`iMCUB6KYsE@OS#xzj<#44GN>M{Ptu&T zm*(={dQ6tnZ7 zDH{DeK~mCOYV1iy_K-ld`D_0)W@Kr*K;!!{C+{}(E)Y_YDeNVKw6ZUp=G}`xzl5TD zsax6`AjcdQuofb821x;`>x)UESF=7D>eFyzYI5vzbSE9ll3rb-gF7YmDj=&9- zO}Ysr58L*~b#*0TrXRZnZ9-kaP_KDs5K3dqwg-Yiby7S9NME}mvsXtZrC_$oEFjC7 zR~dBj%D^<8d0UL#)NZf)GNw0BE|Nn6i#S8)6S1*q=QN%^42cl8QFa7*e?28CDr(1W zHVN%{qE!S!>u{sGbUGz^)q=7SV_R0OH1&y2HdtLx3Id>nD+YvxP8dwF_|l>SnsS9e z89RQrlb4*eH!CVujB|@La4_Faq3uWnUG90KpFESq!@&Z z(*|l;shWlpf}S&h(Ux@79nb*R0dg7{xrmk9Xf-Hy1r5Qa6`Nj+2-@B&rE>NOzG7V$ zcU%=pXrgDv^jTZ+j|we5b*rLt!zDdGoRHpx3i!%YCZq@bLp$-Ve|yWTYd%2X$Cp_RZP`IV?RjHho=( zSfmK;xwgiSLxl<*Ig^gbY-}SXHffHVv&Bhk6O3`nF2=Pq}gCw=6Qt=bV^ko!-fOj(-nZe0p~V{rHps z12t17FaHJtMB7mII=B_F98rKY^OFpYoo=jRmGi3!Ul{V04PQ%JjM{}%;6>e^9@L*a z+v~W9)~CS}xGfte9J{9Psb2?m1M?~RaxXvZ0vOg3`GlqyWOope;}4UmI=pp)E|6)R z{!8%4exWu({RJ9JUey2W{S)>h#@}ozfzlqx6kSH*IKfxNA&g+)BO(BX?LpW)3d_v( z6{?tVe5Ko)_*;)U4+iSzCIRv1a}D4i4F+Jp=||ZrJIrE!Pik3)0BSt*>(gwaCSo3@ zRhc3YGW@AZpo?R=!)-cS4t3G9JY^G~5o-ogJ88@ly*y?D5|5t9;zYX_Tjkn`y40lR z_UnPXOCDzVLPEVa4C0rto|da{QBLyk(hXIn4IT??r?@Clac?pg+Hq>|!4pNq-hr?n zIVOH&=kYV2Ok1S)jFN8B4y%RI##*3MV?BM*NAd{=O9eN1mmO}#b{hJ;Pd8dDre3{q zOSx`FVKnuwYJINB`=sg28fVk9Zb>2*)7OzS{H*O{lhT=>aWiTSG}q(}gLY+Z)zAyG zblO{v9bGk4N!!8G5R%=Kf;6dUK*!J+&-=P_!x*2JbdA3l$TvoMGY~o?duNAPcEXdrX`NR? z>ZEzhWhR`W`t`+hEmArvuc{YY5Vv6=Y>32Jfi)&o&H{J1vI7-IS5B4F)7LXj$z7bj z8w0}l^HS(y8Fd8vG*7k-JZH=-2<%vsWRN-jB9kSZtrDw4tHtMHL)SD$KtPap&s9Il z?q1n?gjXjqrV8UUP8iyQ&- zdCq!{k+KKcly{}{E?TdAX#s~+N~`WL(O(gmy^8>}UIs0;ZGC&3H~Dhah5L&5`3FFj z!zT9xg!&eccQ)zh=Podd9jhI0d~)Kq==YO6a}65Lk)ZFor{AP-J|_t3k+q)ly7e=# z@GaT+y~g5cbicPq6eHD%-UKa!M2jrSny|A3;PR5(ajlW~0z>6PR;< z+~FMr?ee^;z>c3|>gh(NWmYXJR!X9Sg${4}R;It&6^6lL0!72nRbT$XG= zAq6%jd}Z{CIz$OZ6u4>O@`<Hr} zMuX=VM95<^^Bn5)F<@2oBj8~t5WgwP6mJYp9!9`%8WN2d7 z`{*YwLJ2il?IK-I4XEI_$_BFzcVGl14P{9ih2BF8d^S*-7_>rJ_|#l)2kZ{Soxpfs z?9LRoo6a&;hcg3AhE;7LXOdFrN;d}~tEr=b;*`cHK9YHX&t;;JGbOBZLJ}kYn#_h? zo~YMx$;R7IfvSSb+8As({R_J_ zf8&!QjI5!`CP0qo`gT;R-XVXHDhzgSV!Grn2HL7i6m-!YrE*2<4IqinJf2LY&`4-R zpItULS%8hJPa2#nE3S(PSrboVuD)$r!EblJR3E`F=b|5c>5>eW9fGeTt)4grm*>Ge zdL;(L)K(j%p@{%oA~rivD6u(PYE-s16WBq57+^NZYj^0kWE!B8DiB#%F9BVF9k_!g z(UJnAwrJF#X|NcUZ|zevA3_X8lLZqs&@Ok0EkpDk{VjY0zPL$;@yTYDA2{!lBCP#l zzG{;JmU?zU(`F>Cf4+I(7oSQ&N5)g6T-?)Dj;p3LJH>)UcYoJ1y>Oc6ucOk>4pNYc zNvf#e@^iUEcmLW00&Y7F6|>oMj5^p=pI1I4Lp1dyA(eK3eyTWpj@iFr6l@PW?;f3# zGef%7y#uhF8I^^2OC1;mZEA&*PMvhWi$WLO+0e{Bv#ArU?1P(ZQyu=^)Z741*M%_4 zNp1CCgdAk=QQUC)q#*I+Y(X98;DKHZo$dlzEWZT9a2Z1+|N3(N3|l3fAvR0@UVGfl z&BeP&=S_8xXs6V;g#auxaym_*V@sXC`x&WA$H(!pt>2vLV3xFa9+@v4R~Om!Y$*c_ zgYaCelr21Fj%+tFcZm$h_+L-VlS<^d;~LCS_1BC)E9GS~?!H zEMrb01XtGuA=AVM9)GPQ7+-^YjML7<;wXg7E*A|{k$qheK_Oe@1Np2!9WYQJ0>FSv(0hYjgm@eS{ zu$@tNg$c6CX#kC~rv8w@TNJmk97Cf+U7^fhVR3Sz&QnYmFNUO$e;UTo3D7&LV(0K1 z`ays(rH|0QI$_8wCw56u11{%7p_a5FQhmP7TO|9OsFk*4$V%-7dTfbmr5NCzy))8u zKRqAqCxiH^rUo8~yZi4qqeHKk#W= z0B8o_#>pz`qZoGRt!yFDr#M8wp>4&D>3h?Ov($@yZF=J3&HQ?e%_ooDPBukcxaI(A zhYgt|UccYW&^YY3B0_;@(nh2sa`ezl1LEGN@sCb_?lf8l^m0*~h$Ps!`ztGTn}HfCoq8#Eb!D^yow8()Qtm}o8$%>X z;RaCqa}9^ZhR2mLo0rUBZM;|uhXu`?#6i!tH&=Xl_?(v8sSTQ1oRy|R${18x{Y5D< zFDgcdCFs=Srd547l63YKc@PBKAB=*`?P~)3M3F5_S3YB+h{G8V3tt}0(5^!f@rL@_ ztln3_yGp1*sCsvu+je+UYlXlOa0BTc&xY7xfQq{$Uozd6%yg(y z?rC2-GLX^Rty^Z|FL?L0>U_{9y(W>ReS)hPg{HDubXtSs9Ck3_w`Eg1MP2P^bW6_l zPE*7X*)9-)W=Qh-_}23KD^iIrhz$pau{3?T=Cni4NJDSSyHt^*-+@hb2qs6(xV(GP zAjUqO-@g@SO->esrcWG4VLhCjMZrxZzn# z-W4JHjrGvH58})y@;I4-+KUm3_U<}jNy0+f(ISTDX9fBfg$)3X%YEu(D5yy?j~q9v z3XbN{o(5HE<;rZKWn#{_bTbHCNYRltqj;6A4RosF+GGV^Pg`_I+Q4q#AGdgvbP;)` zK01V)s{=G2Q45t~q*jx`yT_6+w$@*#s;eAq74S1GEvV5Kvwz@|S+nhNORF71bb>MuNE=$` z*5dVrN$Xit*})ZoVHSXH%%;J+!H%wW;07#NGf2Uc7^3WOuoLV&`|^A0;_rw`@7Dqt za6tO`qgo#iA8Tef^bJWKln>fxRe0x!GiX{U1Qd(0qgGJ^d5t=H?bS2%lg>6N|F`2% z*=6DN#&(wmO}EqsUi?f{lRLP+VRPTZKWaMOmk6)WBAuji3nz z-OZ}n<{?y3!(YIi+;6^pM`2EJUf1p9CI8uJklOm?>~-DfDdnJm^R;t3+Ya@HZjB(2 zx<j+mt zGeHWgBrk2ZZ@xq%2RcaSloV7KvGE1Lf@r9^<;@T+6hxE*!FQJ5B4foM4$qM1`hY`2 z3ZR=Fq>I1CKrsCBxdJB}M+zXTXPP_M590~1oOX76+reBmey$ja6nHr4H$Yx@aty~z1ap? z-HINDArHm@*Hz=3?a*ol_EY^e0$9`)ZqV?{N9^)}4B}6#(JQTCO_aWRZ}5yF#Zyl% z&MNNFW^YH5yukDLP&({33)sl0Fl}2krBT%~urBw$W7Qpc!s*pkMbmG81${>$O`jPw zjC4YnuGv|QX|Ct&7w}sa#K9h1Z9)8w3wynMw*p)lB>u>1QS#{3YA9_=DO~m;eOfLE z;t=)J|DC9KfR;|TEeLR2*6EcN6adB5l1P1`3U;~3{$;)kZLJ-rVQtkNHaa~JTTt2i zMPz8XX=#7m#748i*t$BmFmi+s)~!&;KpEqmsN>{7k4&#Kefia00D=!Q4mV>HPjP@-1Z{~t#sc89Coemt|N9frq3NGY^{3l z3Cf5rQNPSoswT8`0s^~_uQ+mbDn4!3;@?SjqSII-0WEEwHH7A6&Q64(O4Pm{J2K>V zWhlDC!WVmZ=IhcT)Bt*|3?1Rs0e0!kCgDeR8{?yOyzvK-pafKu6Qp!`@cvkQP?SED zca7$uAE`-5vC-5^OKQAirs$V3BrQC#h9r(6U+3y~Za~o{IWok99wxFtm3>H!&g_2SSt`(&VqoQ?9)wG^7XA0SReNp(-pwW9};I zdE-)mT4OBVFyor2gkwy+)aJ@;=LVqbg8DoPv=Jj|EX=~7fgm1MDo>?tAP$l^OflBG z6}2ciKZ(fg2anH*ij$)y3WP0E*%ddPxvfCkY(=MUELE;35veXz0zqBy6VRI1Ou3^l z6$<5-Y8OB=0}SkgLm@sD0~B$QC`ei;aN8k}T_Wjc>xKJ4&7-4MKQ>Bxxbi-+hxlun zfSOzJIrPp2GEim%s@_OUXO^lEu}FB_x&q>Ac&QTtIir%zS%}xx(7{|7cszJuT2&Yu z)1){YNh6n>2n2C;ql}}E-*hW-V!O$99$YJb91CmZ;+oAHw=pQZqaX&gCbkqm#aCgf z^#8x*=i^aw{Y?9b_>3llQ+;qUN1KB_HqHg zWtCfLkViW<$Dv<1t%{fnjFpt+n7f3km%#?^y|KCi+Kn4K;*^~GI zEvCgPZmqr@y8Qm_UI=Br?ufZVdzMlI^Gslu?JPK8v&&Yzz~$3uJq?~7u~SFCLCxFr z51!>SB_ z-DDZYW6y@6-VV+Y2Sx6!lFm+BARZ@LdC5SD**P~uG>OtXPV{Hfdnnh(&qCn0<9#~- zovNJX;T&Ve*&HMF@Wa4UMVs&F8t66B0j|+rT@{HzBeRpVei*2$&}KlV`Xm6jWs5NZ z<>8-LY7x=R6~bq54!O{Z>q9~8W8c6(&3hF8G413ip!u~;o|J2@^~$bbC^TTz!S=3z z{xuEBu5-s>w94e8FdBbAltd&45uIw+qLkC-?NdkvT6Sb_f;5r1m>#A>8=%b_d_9b2tD10=CU0k5@pv197@>h_TfDi0 zpLi*!j7i;UMHCG+o*CujPFejnSYQyyp=LXKZC!%G#$)_Se|I=FaWF368!c$@Bu5Xy~dY~5=jO%hSV zYw&!%Fcps?pe6|iDc0CTNiX_=u+BsXz*COjtKlGdp((3Z9k9nNzVCwA8^-~u=+qJe z9+R$5w-;3G<)Nx05#>&gOi>0|c{(ABD3KSI!xN}v0S&ll*{9~So$W$P5UXm)X}yTY zw1hpX`ab7k5vtBE=G^6LT;6SBGz9(4jwE$bc61;Q%uy~2Z3^6`v!Wx$5f?SXZl&?X za%vzJVv&t~D?=E33~rWmSgC&FA^3KgBdHN`+<{T0^2(e<&81irq-W#n#cd?zK`3eK zUT#HZKh!d7QmZR_eC{HArd0rIU53BlM4WWaW{rNpdzQPs2xNj>-hn;xuX}l97xaE)Y_@$ zMRxO9sFd}rL~&a|{cdgqIg<*ux)z3G4W3Ve^2Z0Vzopt~zt9U)hC6G1hKF1eXQ#W`3e5O$+N4i%&q*L!n+WR`%==Cb#fkU-&*Ae~PwC6A;tY z_60~;4M*P(_z>Ep-oF#7mTM2xh2KXbi&w>o_)w>a+3b|^apPTL&+BbC0>aC;tqTb3 zHY3EqlF?S99YV4(Y%ACC$zLY|L%1FB>ZS5gwzJf507ab$-HeR*piRXvNQ>)}cp3sH zbM)AmVyEy2b*;UWuP}j{fLCmHdw)YYL$SDumH*Rx2a*d5nH5mmeCCxHsHT}|q0B26 zfi0@5AmA-ncfQoZV^-glwMGy*B64M2fuhaxmd0>7L!>o!u6(}3T}G!PP)Z<{eEn`3 zFK9wQ2V-%?&mysxg>Vwidm$=qh7C5Y`t4Jap**IIu_b*K#4$6PWg9UKKHgZF3(wN; zjb~Z72Z};^y}IhpcH^3Y!-sUfFb3`$$o;Jc#7BP{I`rung*x=t7nCP1Uiy>e#=HFd zsA~&HKa;xoD>T#%AVs%29|^^}Y!5!YTL#UiVgQ6B@A-j2({Wu_1(cM~Gl71Rp;2(L zUE%=1UjEK_wD<`#n<^6~>VA@QB}63Y?_Ai~Hic$3S;8nr#ghLnWf@#o!OK5;RYelk z960WK{VKcS`m2GAHme7~CaJ6w`Fp2VwByi0O(dq3a~*ooa!`}(32&>Z=j6GsvRpP` z+>1|GJLKA`n5>1fR49l&6OScL7WOI?$`>;Hs%Ae-KaqG7>bcM7$9kp2((OQhOit_49&u7ySOlx;yXJuSIH!0vLYTgv1+ z`EAFo@nqz_Dli%30DZT~=*%&*(Y4_%aBQnM&-_b?l|cq)WUv@T^bou_x)TZpOe>}y zS#9|r#rGSeXaNw^v{I}Wa;z9Tx~RA0j*NuwIHdgI*1uIweq6U9+iX5u%C2wgiq#k7 z+a9Wwsrb12mqQ}P_~QX_A|+@16nufnY3aLaVY*xMK63x5H z={%@WEF!CUFjwbFj+#p`m~Be>lIktxXDP8RG)@5YqC6ab#IqCdK6bJ)Rzv~T9y!!;s9hD3!{(J*+qsZPlc?^cmuqbqIVn)#`NS@55Mo1U z{A`Qv(ZYvM^~Fw<9H-Yh2Ab_f0K;>42T1<$ZkpgD=EW$T=S|8MHUR8MgC=01;NfV| zM>6A=b1J%TM1JavKWg;gvwah6I?u#%U`iqFIY3=tL3cS<($p-gdRONJJC6{3YgWOj zR$mU~t$?rXaxE0V+wB!%%>nRk%UhuQlSZIc)XTpE@bh6v0#Z zY0(7$m60ScVIr5^git=e|Jx7Gx19sK>182?&khI}me6Me-&Q%aH!oo$(NYt-e8u&Xn04&Tu3h7{eGO=-?cgKzv%%WTJ`b~6*x$B z38#L4dNyc&^8O~XVp&-YH58He-w+(azE1!ht(v#*7?9x{oxw~O%&@?86FlHc?-H;g z_?q@k3Z~`LBg=qZN_P{`8k=#ieEPW)V&pYxoArXvxm+DqjA|Qw32~{Dnp8N;2Zx{T zv&bh+h8oFv-as&IDDhYZNL4yY@il`@%Vy`6r(BNeZ9?@nZqVHT(HiIvW?3(+1-2!_ zvdj2k7nX;-u#KeAC$Wh(&DsH>G)^HFWtqho; zxdDV~g81;D-Z`fL>$&ytf0N?|Fm0dHkEp@|D2dl~2xmd%D`Yi-(-{=H|;RVFnxi^;RlV}Rhbr? zOM7j?dh!3mF?v6_R)B3pU?>mGew^v5O!hwNfQbJG(RVd~4qbG+^|NaagVv8ZUUXMx zKWkmHC~&@$iB(2lYxO>a$N=DLR4dG0B+u_juZb!a_0Zz^uy2ceej-Ny@#bRH~_Gj zcvU&*>(hZAO2w@Tk8X)YsYjyUSD{hfTlIbMfMr_j-Xjevx_q z9Y6o@_jY@4iuO59_C~2?3Y{-#TGFI#EK<#XP};%R{)L3>z0nszV#@$SZ)rr|`zm4) zuxk7Nx|q99aSZ`xR}xmqS|{{^{nv}EKW0K8kMvoHMYV|o5BMk7p%cgcl5~A9C)n`~FL5`#QM?2M6xv+J6x`ef`W}(zl`^nDmhQKd);R6gBqPBfTSbm+8;>@c*UB zW$HcAd;~bT4fx3evH}gc`3TO9{~E|JZ9?wZsV93cmP@74^7<-kyEF55mgB%={^7D0 zcR)ncNozJ3b*bPF7Wdzq@jb~9d;@vV86C#Ga%1E_7J*sKj|Zu%LR9)$M;afPeow ztXDux)clbv0^)f9gNdJ%XKKlZ@_;Vot=VI*N>H43#rGk?nI@gRNAbt9~+QGju1V=1RgBXUZ#N)=d zvZhS;{+rS*^yqKezdvi#|6%)6A;%$mbNA%+V;_VCDZc9FuJHVeTkZ|BncVe4kdpod zp^pXM-}D3?)4Bh;yjhx1_~mj+=*y%w8y-Rdy2gXc`){_Mm z3D*^-Hlv%jsh_%XY2k+bJo)hRKh?$&KRd%WwoMLv_T^8|KObChOX}xxzxm4kpPys7 z-jkHq@7-$u^WFOk?w}sRXGkLVpY-L=f*Dai2h%uCrVU9`3%+1DWb*wo{c~~JTl+6k zcfSG{BcI}q!2MMbY{FwA{I5&DJ5DX%V_hPdOP%x_lE40JSxpocY*}5}!U%q1I@)~b zyMHcYEvxx#{93;MeD`A4t+qp}eS92${2KJqwf~2ff43}qzwX8@V3GUq zpu2n6)`lG%D`@!h{%jZit<&4pMlSs4O4KM$B|B(d-d#UbdGHzFiobE12etXnFB7yB zx|%C#Da!p_s{6k4A^n4)Jv2%GFxCJm^drz#2FJ{kY}ZY@_Rwp6o5TNC7Wd2KFVX`G zGo<<55zap%uXBto5XuA`Mzej9#2=X0J%mFq1@>LZc!Rei^QcxIQJf=LyMs_B~<_D=$Y)bjrz zUi@Owzlnps*olK-ouCoeQ>PRTGmnFft|06*(=R{7`0q|JQ0UhVU}Dlj>-LKnyR&`Y z1g8$RzY3p!_~#bVwI2iltuxX#zwHiL8u5_ti$d)!>3;~03RqkTfN^OgXH)xbLbQH4 zOmuJ|pojhA!3#QpK)s7P;fwvg?}T&vt62Wq3HkEcS{z{C%X;bgrLreZKW;+yUhz32 zh@}^;1%&oo+{v6Y)Y`Na?5TzBR;{^Z?_`AYoX(XxqGD)EH`<)w|4q)*>^ z{_HBpxx+H&=x9ZP$%WF7;XGQVs$9LGatt#Y{qjv~>x^EY@eP)(br#muky1-k46=F7 zcYbq{_wZ@KpAH>9{WAC`4{Kv;(Zn;CFeb9SEB-65& z@zB}*r_V47KKZc^7kqW zkR_nSB$#V%DCyL+)-uv@{LlPcX0@Nm8?TEI+H$ot| zcv>sun@=Fg{Ffr`3Ks^evf5fmCA%vJQirB~)UEgD1W4TR(_|jjcs~V`9b6Ph(A@og zswe->5IlUieZ>9r{@3^9@&8&b*F<_?dlQ|U!iYZ`j0T~H_CM&}`-6EObEf3k+36wH z-Y~)M-=*Z)kz>UBSN^ZVKJbOF%H@g=1nj*8!I{0ky2t(`eC5Z?)7~vbI&dg@L_0#M z*TsFqfAl>4bZGBo1Pg!^#}g}k9etnN!_;q$`~kDHZ!UJla95?jzxE~Kr!(J<_YgE) z)uIHaUDtkn!23VBi@&oWfBry03*ccSEvg)v4=l24&AIn#KT=}^&jL4ASN-du!!xvk zKlIMK0=aAb1+`Cr9dm9i7b$S18ketLR}$+s(NbcWXfoR@sXP*faHM=J)QXo>VJ-1| zWhklXVyk9}SodKrsTaSrL?IsDtrE%*IF}l?O-QXe8t=A*pL3@^XMFB)Lj844HaTG~)n4z%IZqoI@T5e8$#W>UnI(#fyCQt~?+ z`!mZ#i%T!+bnLq2wa?<{LH0bO%gGHzf|(iT&T;6GL5yZ683*cRt9#_le%hg4+*(W9 z=vXVP^03g5d;}~yg~=hkXOLz8M(h7ah4?ag??{0&TuZn`df52db1s)dG%M2d4R9B( zhUav}?r+Gpyke`fB01@QDba1$Gd3JRNyt6I?LASqFdUM4r`Im;aO$18PhnklTQp7$ zck<+yl}!nB5EC+fb3qS`I@j?&ZnYpCRozVc6BrrAqvlvsY5lBvvVv5LUJDiMc(7~E z-n)=d!;jFvL8JJH%quNCLfn!a^9d36>2WuOVnfFcsh||(b6gWCtBnH+1bc9f{MN=d z)h`_TvOZr~8`~@5t6eL^=TZ`K?Z~faxrA@#;n?NpHHX7+zn`8zjSRn4b&5P-kMIbh zI>{bz9(n!xO_HP^ep1uhoDWH9h^F_2gC8*cULP755rHU|aB{O|ENo=><;@Yb4ZjLD zlOncxPU+W{lb)SHux^vfZGN#4TCi|8i7~dEn(J@R+{1JeF44Vq6~`MR&^NAAIDUKJ zBnhpQ3)X9ST_-K%>TQ#9msPI+A_p5h;r z^OVmZqj~)rZ!Bnmuyd42L+9BWrB$M#s2bWb#G5mf-J9?p3~}9!74q7|#)Rl3nH>Jb zx6j^8gp*Rg9gp=34*41BuQD7PxJhDa%zN3Ri}$QpxBcW1g#P3MaQ>lFqDa-zM%c5s zHwE+D!Kc$UIR!-98dwwNZBe#&>+fEngtvyCEI+;V$oA5dVRG^C3l700&HgRDab)ao*m=(1T50+o$9jE%P%} zzv*xVy8lBa(t<&BlhGE<5|7uHdiYB406+OtTE43UmZ)~BtfHrM0$1-0*andZNIs{o z+LDwf$2Unanh4kWU^C3x;I2PxU9wqZJg(OPpTjfY`=~BsNuyF&wp3+u`8S6u+Tp4l znGO0aRe91?ojC_CX~w(t7E$jC43d-)u8WP!r5%RVT4~+0%Jwe|PS7aDet?tzb&WuW8ycM5Gd>5zs}zQnPWGj7Ii; zgSCZ`=wC)2<+1S>79b>xGw84*R%$68uaEU`FyPjm>eARuBaUfMTfdR?^L#TpHJ$qg#?GtHU~fNQ zoYt3I8A<|9Pa0gqI8PFL^uEMb&>8+wq<6?)|__+Qr^nySGH*$L0Ehsl@67D%a*O?w%g*eEy7() z8&%5rDi)!=F0K_8Tc3;jY+*fKD~Wb-WOCRI8G)*oVn6x&kuMGv5B6|rU%&R;$N%C= zKVM6cEhs$}D?JNezZw{B8uk7w^$Eb3eP0_2o>XI_*Rxm-@ zYj)^2We4lzrw`-r(^K*$8i8?L6twHQ4m-dm1+Rr)vEHeR7*03um*{mXozMEU%%)8uef*I3TWGoj|A^-V7tLFp5v8)m>O3`rE87G2mB~=2Y z+=7!?+b_J0d(}oVl$C$ELqn%&W6EeLuq`4v)33|TK_T?3!N8`(@n3N{W|xfnavjsW zr~9v5Zeq;AEE8#%u8VLCn3pB*@S}lvY`6YI?&E-A9@a$p z5}yygcz-&6-D0#$bahUp)X|FrFNQT#p-6>`sBQ`TSJus3HIQySMXP?>mzkc{z<1MJ z`PXx77@2x@=UJbRrpflV+L}h)M{e6%Wb;k8Qejf?^mXavZ=L_mD=&g|=I8aKUN06C zX&2?KZj{ANjrmQ|I|gH0*HT)dgw6-f;ziE8ZblY8@4%37)RdXc8m^a!s?Tnk$!}g* zlzF4V^3qXseR?x@Y(2-Om?TERL$*ybJ3h#ytLs7b8&!^msfM#BON;H+Fo9l_8v{UkMu)Hh_5u8I#b>aXjHiMllDyb*Uxz3kqxxSbP> zFfqRxTQ^+!J@4sC!BD-t_sf33yqCiHR?GkBN?pT1w(4yD8NMhS_Sh*hb`lpc)kZes zF=Npo0a6sF_$|u!pTynq%xA*l+A5_*L)jzQ>?>o*x{MUF-}a?&8;Ht=IBy0M4ZW1i z7P?KiaZA18>SpgYor~}G4StiIms_7+cUo*u-ML8`d@WH899$8^XZztL2yI-IY_gQ} z!XBqzC&DfCSOs>We%%bMO)#A6(>u{s#ph-@!qOE_=X*ILM`7GP9!}+B?W;{Gem1;o z-g=hA9GUAfOc*|d@Ph|FNfx~_<;==fmurE1<3kAt+l_=!zfDR0R7G_dUIHF_rDBHX z7LQ3@oRsG~>9pZ(<(rZ4TGn+>{ozWp_#k!BI5pMn#CF?21LtJt_M@p!ZnP(T!~iv4 zU#Qh*%Sb}{wg;TqW;LkTV%83G92mRXUu7j~RX;dg5Y7VYr)n|log1N&s1tV!OlkO_ z+;)xDz`r{H>$>Qs<8+6%(5dF-W?w7zo_MJ6hXSD+5Bo_gsi)u_+YfKtNiS18n>A$d zUd#OYoTE$X=6JE~FH{5TTxW1Zh2A%=pGZ!$RS^B@tYOu8m7?~T$K6X0Fbq;uT?Tkg zL*=s(9}ii+zJB~%n#%C9chPoRElY`tJwZ=mw)g$cuArLvxa{GR2qc&1dB4umz{cOF z5GFetufpsYor-2;=hs668_&%L+n=WX=f3%?dHNzumqm{&>AHx>p1sFnt0_p?a#cF6 zLp@T&xD_#mA{9R_Bd_gI&aqx@HTG-PfT)sP$>>byvkLlh#Vn?RTKWE}dvRL}{Y-Mj z+U$lA1NYq#55>Yp`8~_r6dG=gb%eAD;{<@vzARP&IP@#^wzEtHrL@9DCjP0gP_;WI zky#JUm|Qw{Z%fqtdVHX(9TlO)_4vWU$3qG+9={e{+q$V&iS|9zQF>zMjxQy7om z=n#R$BukfNC@np(DY*qRX*o4x@o)`mAPo!?K^y2521hJBxb`X7Vrml+S4Pdrjjpvbm6&igJi>F~2B zHAdcRM2^L6q_L&QEFD-6GnGqUzC#jFE!pPI+>db@m+v&l583K6sx()MaS7t!K4Tsg zcU?UH8zTiA#xN!YuS99Ca5qgW<`AwNIkLG^fvm9ae1~}eG-FFAE zGo!&Cq$m}mm73BPqArieaC3at^UYl=>+9Z_!QriuC@w2$TvIhOmDbqnrWbEgUe24c z)ox?Bi71h`2)U-qZM?Kqn#{54_SXGafB7WoDpf-OGEBbVCF>d5{$KIgqlMIAayq=1 z!1kM(mcW0Lsa$bqR)ak_`2Ugio^efX+Zyk(vQR(;=}i<+kRnBTQ4s09ccn=0(jizu zqzck|kq(hw10qdoC;_BKYUmL{2qBa^v-V!+?0rAnd(J-J_@eMj-Z{q@&+~uAJ6Q~C zCg0|r4>HYUl^y?D!?^c4C#J-YvscH(!N-7uD_0&VlyF-SBP8463cPy=QkB)ILEbe|rq4 zymVcHylG@l;oxWSZZ?(iKqD}gQ^nf;LT;*|FbCgDi>(D6m4=h0Ea-gf#H+lk1NFa; z7A7q|bYh$~OBls6su(rBtSB*y_!xJxc{;u!>NY!ES212bL+U3rBTa=VI_+|r&}Ix4 z57~RSWpS;XrT zvXe!fUhT4X3l9>Q)@MI;go>2*O?8lv4;o)(XuFRX%Dxq&_|}i}wvKgxsS2XRsj*aN zMv-S`X*#)n>q4k}9-n36)uF(FVSDXxG04Dhs(>$xwsj-Fctn!$zBYB(9Y}8)f(~d- zDwSc5#ks9T@U8;c)iv)cf6h9c_q{()NE2=|EnIE+lb!Un^ZP4|tCgU#%g^bHe}$Bn zCa;;oF9u|KXHo4P&iRP7oJF4rd9*kbdGea1P22yM$wQPW8m_vt|3}~DBOS`$et|Mv z>byH%q@?5tKqiS(lwsn7YbJBL@e&N@Eo!v`G*UR2W$8J_o20lNx3|k^4llgbR4090 zMbmQK_PWOl3@4tYslFgIjf`Js4QoibCr_u z4vnNtzpdaL);M`|H_Z>8CB~ODl=*PLF!-``8+^xUSjj}PO?Fn21&PlJd^ogHlTu9= zE#2xBma}8r$U@DLi5fC5sj(9+-}&>(Xx&j?Pyc8@me|ej--YO+RTB7MIj$wit2a(4 z>t!+CV!4FW?#P_>g$FFOH@67&4?-6fVa=WdMc$sG-6x{3lfJG9PxqyO{w^e11fH}B zRWu*z!Ra?J(62lBzS${7?A#cu?n^DEQV3%2)uGa|>zRYLNX&_%Rv|epH znW;KW2C=j_#ER1I!#UUMZN5lhmM(6maG+0C^y**n^!(k8vXRm|LrT1y`f5&w zpYJW^)0+%9Lg1&u$_%a3rd8B@+^wg@b~=+n;ZCNtx`x}=sRK99V0U3Jc!yW>ttNar zpHmlMIz=sT#ii(j)Va)YbkAA&)NSZM^4&oK`OO5WzH#4gd$lIVe5~H^rh~@1E~jyU zeeK}!>ISE_aS?XmBjcJ5LY6)J+eQ=l)K~dHK7&=wAbf_svR68;4z;^tT00Im#1z|+ zHNSoH78~ryvT^F`{bAet-dIubbDoD5XKe-%Mgz*TrwK*olP}Yc+%l7+y%^>0A8nRo z;>KrZlS*QwE244?xEG9on6!dzRIP#kV7!{BTwl4A|8!Cki7Ls0a>U|PouO~*{V(ld zu2VAL2qTUVww%|@@C~Mt!41is&K+~dBnRwHna->C9Au8KTO3DbIExppez35;on_tfcA zl6tcaQiF38U(Npos13>s-1-Wz>*W@U{TBJjMfp^q$@ugXHh^)mtE4>ns!K$>cq-< z2GtcF;2|k^q(eLzMm>q6R7z&!eupX{BQ$2BRn?4nynpnn4C_uww^M1{>xOIYy8{lm z5?lP}lu+ow6&Hygn5Dv08m#&DyugsM!YoPUz0!BgJA)2$GQPw~RL7f*7HopgcUc=8-Zt;shopF_^<}fdxcWe-%r_FhMB7z ztM^W0)$W>02A32M!X9(H@;gBFj@IDPriH>&L+m#YxtZETNfn4YP>w%@=d5?$`f;J| zS?E}#9yK2v>tcEf73Rk1y;deD>5FX6ucX#~ehNL9pkydv=iI>m=+_Ee6&ykdKCB4f zD@N44U2cSy5l52s>KE~EsJSBoUihCTagAal+)kQ$$lnI)>B)&<(-YYgH99g^mRjTW zsUU(i#VT6vUk}prGm}0$;AzS^e2WP+$>Ya+Nu{@Hn`Q6vYo_sXb7^UPMcJ7|-S!+` zOcB(deo46zBocf?*wtyA%Zsahma{grYt)02dffgxe3Du&@%*J)8DJsUYq%TC7-o=9IP-K1fn z%nc^FhgrNf9!J#2pm1Xz@s9}~dZu=m7-lxVI?Ou*jR%o&E}a8Q(5^8dx9cTX?xuRH zNs96(-xuIOHhF1nT^f~1|62=CG32)tWd5acuQ1NB7>TTkN>y2H!Pmf*Lem@bmBu$l zYryN4_DWehF`}bhUmqd)D`6Cw7$7ukq1c9T*4aInNF*$C8jt+8n68~l!@@m`Rz*o4|t`a--$rGEkh3YsiDBk}&63LczA#keEzZFxxTB&*R)K6IZ z-}!~OSAXdKYZd>;4E?t^`Cl>&(OdX;sATc}^_$3ZaihEHNIz9X#8R=4%?A&Y4O`5C ze3CD%g2x3$R<6PkQ(HtkxhZ{Cb&wmJZNX`Py1MMGwZwslyKX`1AAI7|;H}CR(2|{zXYbK= zt$rhUZpn{#Jscxt5FA{~eBx&Mjk3pVe@_ky#oVn8#v-*9tkqu!_tygZCTWQ zcjtrW-}VZH@q;-koO%Qd87pAbwv~5e{g8uHoT#~s@5ImX+|?ALyXLDraiG5{=)w?& z7u<~^Y0e62QiK>UYa=U*N570sBizDN))rce-rb$n2&R_i54#f(SU8opGwWf6(?Crh z8s>OQTEA7~l~UB;GJzH3U~+Z`*nYI>byLe+hP(=p*$@t@@#8e|L|f|{z_0KhAEhnt-`Q2t(uyr&=LCf^7W8}d z417(4{u$FS!Y8TKAlKbvnU6cq%#w0~R))MyC%@CuH;w6{-1>}gH9%0QFWv*{QX zy)qwlmlhO5keMeARq#W(vHX#^>6@k6s?1hKu4c_IihAlsH@4YyU>GVB9p#W{{oZFy zkliSoy|}IZECI7%t6=7IxNh26@{)uZvZOO6pet8vxqYKxg1im>p!QP9V-DASru()= z$$I`Z)rorjURi-KBWzgy;8|#sD19HPM_cESM8n{{;jFMn$e7nGaNd{wRz(;>pI1*~ zo}yG*O%n=ZYIL-3(hM}TRU|6=+2%W&k`U*_$i{&-a_&zC&fOo>kry^6Q=3rS-dV*_ zm;dtQ#ICs0{YTC2KabP_tFrv9nZ^3AM1RH(s-2D=LjU_ zxamW)3bTe^ULjWK8WoB-0bdIjhI-ez(YjW{kzlo8-e`SNk6b?bs1lij20cf@hZQbj z1L+bLWUnIVvHAhfe>QMX5b!Z?aFT!8*~h_O!oD{ z0?ERNef>Lv(r9j6XX9PjCK_svkYHSG(M6-3{!{NWhHic8v4?t5l}1-SL+`b-v4!4= zc16A@3N!%SX^&v>Jf5n@c01A`H_oY;4$*+M4C=zTL$RYn$e1Jk79P;t!s1n`Dt!mJ zjfK49(!U<6|EV7TG_?(1_wIdIGiyN-SU~>Xzy;e>n!U3fQm9UYouypgrN0KxlxJZT zf2wCCWf&4tzkyju3EKEQF(`P7%}kUpvU^u{=_>s}hP0>A>ERX?N`Sw&Wr4LnMV^G5 z&<{*503+Dg>r$86z12ebW~wOV9*{VO!~M_GLq8S*Z!}k?qhzbK=%V)Ki&M^KgHzrO zh#qLfWjxS%ef6&MdTC<39FCI-+{`ROOr4K8AC_`Y|z#`mwa^k zXc^ozU@UyDc^_r&-L@&2ehEu&2>(`L+fyZ*Q9csl(MVCsdCV02b*AZa%(5j>mFD2p z!J+2IOJ|?{>Ac&Gbt*WgYxm>c2BE!HJ{WFtQXe{PS>hVJn>Z}Ywv*IgM)FXzwsQsZ zYa7E_M9>~o<$cYf8AU%9C&*Kq6LB!-yz87RVJ;SI;tn}=bOv^ z#PxYaHke-Ir5KD-z>Ic}~8y9?_!4 z^QFLcupc)%HT+U`4CK~{omLgle%>s90ckX$w4Y__Qtf*iUYiYadOVksjps1vT@Yq} zX-^%;SMY>^+aqF~u^gWMTy5 zNL)TG6`lSZ-LDws*bfw3dpK_g!{jF*VtEjKK9-=);}&bWfjpg-7cSc2akFXqI_a#L zXuiq3+}X6+sy!ZHb{qJV-;QSW>LwKNun4KBa@Q?yjtCa0lIVJ7q-tW_nRDIT<^=DC zbD5)`^WKP4`I#F>r}5Gvj~-1C=Pkq|6Mv-CdeuW(GkZzDSNDp+gAiPK+Cy{1iCCo@ zKfb`!j()!6Q@V7JlAatR@>7>9R7GtC@=oQK&@6u7)I8?y6LC#esYk8er_toa+S+>O zHE^v8P6z~*EAw>CehzkUi!pzD7YFpKlzz-S&_Zi!SG2qmBu| zAvLr%=F_!s{pDhio%1LDe%8y=g{kxk4rsn^-XMF3r=4%^Z>&N`b zOu_ZyQ|F70t(4HW<5zcQ5_yDcia)A+$gU&Wb?x2$)wQ&(bMcSV7!j5ltUui(qyR!z zAW|CoC~{`6{45-$8j(gjFlJFe8$7O2 zuTy{6+`MzM-+U&ChqAT-Jpgn_Dg26WuEjGSH=F^VR!)@^7JDtO+D}Bm)Cn?XJ6 zy{qyh+`THbQrg(eLQLor#qURdNP$B_6nFYl2$I|`Oq zbXM>v-pF0Gw5O&7XQtU3E0mOzrlOQbNnL`zfMb?SI{N}lUN_y9E9En)puN}Aw%j=I z)7BehhP4}Ok!ld##OjwQG|&?SQA;_#46aEkh>F1Gn;1^hoZA3mxBWVQ4& z;Y*i#F8*j~@<>H1cJ~Gzoz+U4U^IO43UfEQA2>4}Zk`ZD11fBwlYLE5(ehK;bY!u0 zv-bpLYB52VL)cW>|BV8=K@<=A^B&Ws-9j}g17&MHIcC&gAzBwHi9m@F zPmbMB97;R}5z3D7MG;37(v7~FFTca)B(Yvl@c!VktcT{%<|`=}+LzQ=7pr;xQ?sx~ zAuQ*EWiJOvoyZ;D^Me?cyvqPeZ=&M6FPd(ShG*oij{8&Bn=@<~MZHc7Y-*&6Y%&6J zOBhTU3-5yuH;*; z%Z0A|3ia-W3{9t8AW3&xvP=xZN0D1NPD0J&{X1lw{^@E_`Ipnwc^DHe7f zd_-fhH$KA6+sNtf-ROy-KPtM&2tN~4$UNR4armvn@4p7b84l?N=;J$pvUzI|a=0>? zKLc>J7}mQ=?N<`WdrJGVEJN5b`G1!9z*klW(=yd_Ekv+ti*Vn8H*@iLd03H+z=otEhr0(yk5Yy}{0EHWBSu7R zler;Mv4XP}TUIIp4}8dD9smlua=du;^E2T6*Z@eOpiAi7hlT7v^i=|s_j4$ni>COYvMgPzqXhr=zMfVp+zVL=+k>kE6fhD5i3AB6%x+Z=5>QnNh zOIb0oM4MDyz!m!RX`d!k$}Z)%qU6u-JqsVQj6<2kYjfrdHwfQhI~II;_{X>sgLz@J zughkmL@jug-X?m=RiA&XD5V&m6~45xvC?1QGyZi6Dyt9$?W^Db7zo$c*UHiom-4vx z&MC5nGpNRC3|z(dXl}A~=c~GxnYr70dST62nQ&vR-Y;d8g=J^K zO%4pkd$bQ~ISx)1HzmODKgC>MBM1yHrSN@Fcx$I4FwPNtz~pFc^8I^M_>H*`csV3X z`YaG3oXtvpP1tFr+HmC{=4ckWy??0gA;x4<4INME2vchYMp=r)@ZX$juj#9)|AyZG zSzZ6fH5HftN}6)Bb8*zX(XSmL$@3O_)&aBYfjOOi5+XSW6mh~XHTyW4;`F?{i=)v%q%pj{`L?yy*;-T3TH@qUBCStE=ca0TMw`=|dp2}+>ZzksP z-92bR?mf9TTm?KKHuudC!$CVA@R#hy+ZTQ}&`NKX=t?E3;rCQC34H;~IS{xZY$pO8 zZ63lO&oAj4>!M17e~19ukj?z>n3Xiw3>XflWMGZG-GX}?6{sheZs2yUa$lQ&CT0^K z$@M%+WngbSKBl*Q23JJ*pq<3ue+-vt9JBG@Wu}PP3@)rUFcAxQ7c@~<>}-4(W`L{J z>3#IH){Tw3F#-yCJ)d-&XFxcA@`>7zUqUtNT%ZAT&v|r{Fj+p*KYyj2OGl~OY!&?z z{7nIpPn?kT6H-1+Jie{0hz39uj2<;X5pG`s=U`Hx((MsQRS&X) zW0tc3b5Y6yb&@RNMWg$u*?>p1wvpkukrnLeo?@A69Y>U7vwdqXT5b@EfQ!mLd)q%@ zJ^K%l&X>%HVubJF&`JofNQty8!Yy+C7td#~P(bfHx1ILcj8sUbg~q^}Bj;nnj7`5T z%e3<;`g%gA&^@t3jk71MmR3y^=gy?W?vU@F(5>yJ>qhPp3wc4lra_yeWA?DH!}wE6 zIh`+YfJPio41mM(>(j2Vz*$;DdeKbfl(h-_O0Esx@RA{gVM@S|RH=yjGM6@B8-pQW zw!Fq~D`$

+v?>GvBBFW8MjfyZ@C9VJ~~N4faL@NsEY70@+W|KX}NBzUp}x*<6*P zrAeDK`%o?_h8Y{M^*+8k|9Xiv0ElYCJ;Koq;BFAk=x~(D%s{BdWx4>dALsm0SDFnf zpU%1Lqh%G?1zs1VE?r$(bkF+NBt@I^vyuc59$^d;7qZ0Nzg5j;b$?judBQQGMVeH{Z@vX* zvmm5PI;xp`61Rl(>U=w%TV=>Lt2Uram8b=G@-?@)ToRs?XMew?VMrWLOI z4swxd+WB+u&_M(%MDZm~=lD?07hmQggx}71J#FWGf)=ttr|MS)_ue+fZ^8v}V=>D~ z7W{p~)7Sdqpo)wnzsvl=D)bMTNp_+k8ymhacJ8t!H?hoBnm?7ER*{NVYLH+dxTQrx zYHE*97n*as-D^uLHMV?IZR~cLf5Cm>DQ`)Z3zISva=c6W-pN3J?0F!2D-uHbS1)0f zq3E7Ix3?rez7}9@M$@4E;6^qt)U0vod$0s6*9cl4aHtjFHNJY2GOXjdz2Rl<*O@sZ z<&+)>0w%K5bV5#n{oYUBbD>^g47dR{B$A#Mp6+=deA;-|q>=&GjotJlGPe*@*D@f z!%Qud$$+=G@0(DLyxdhgUwqB4`MUS|;`V5Uy8VW*FZaJ7`az^$|2>XFv`qg0@^=5k z5#ypBX;q~-kWmeO=5O1l!i=*tZ_?1%WX^V?R&BZ-e?8@BHI}x`En|`$GQ=67b=wjcAz5tI^C60@ z>l4Nh2wptpWF)X^V=@a6m@r5b$~_rv*G92F!UepA=TMYgN3dOk0%cM^Y6!gFFeh3X z_34L7tv{au>2O7yu=BQPE6^TyEG(wTdN39M4c-rDwAuNaqNQ`i>xV&bka|eMxGV#=PA# zh#;6}`<>UyyJ3!vK29@o382xaNKmO*y{{Z!YANT;pDDBM_47XM5Meg!Cr(vul5IGP zggPi2-Sa4>aCHstY2VK&UmpiNYjCD=`t;4aE+Sqq#>dM6sj7^G*|omJ$)eOmtH%PJ0^=-`O(P#d0ai2o49`^%gByJ)>Q7gLWK zWR6pa=wM@>ClFP58*y{&V#|GpP6t_w<$9*hsbno>1u%M<#rTR1@ROxdN{B5T5a8k# zR%Rq^sHHE~pgLiLEDBgrFR)gG<4;+A&9&T4;o6Yx8C4p{Zi;iVw630K!gdH>qPI{1 zv76(fI%>HMBs*QAS&^8(w6!2#DdV<`|I;IQC&=XvKb@tDK4yO$8H}tgx?h=T7$^M= zk5~TLm?Deb2y!aWATnP@e3`uz8ap$0(pFFT6zg0K!cuAA?|3K__r;l6!cCZ>*L-m2 zK+%Qn?0-Mbn19V>%WGtm+Pa(g{6WGou?G@# zJ5&rk5T+OE9Ydbn_V1f@v%hBZMX8oyItY<&rfSwL%5nQ+|1FlDmBns zj`n_TSC_O>=`E%eUm&CsjAvCT!tkeptaNk4>3~bW{&g$pJ%s}lc_v5~sN)0?4=z|L zD|g=Bjq6yL`E@kz6uMi^?Geo4E;fLQ-t`?`q$?G_l*I#a0ZvPv3P zH6n0_WBqq~p+WP~9L<>bu;#C0DYuuWLmS?9Y{-)pc9+$)&ZG^|CxhctWoIr&))f{S zTi*v6MVGw$I{)g!UY|-exc@^;n3M{3nS>t?er>iN-zZ?W#fdubOjwc_(myPrkIlcK+D4cjhEpU6kz7muu9U%+S3FqVj*Y7bBoqe+&Xrbj-%Z+#)oZbO z&-iU<lYhH#6|y2M649=UPn zhGL9;SYdza;L9_;ZG`?zQgSIk3)z6cF_Hur#-5{nkQK6s#Qs4;ViqObT9(Bf91vkK zqJE<%T7h~x&F0Z+WPE0|40@{fMgh09H*07BiXVDDKdC(P24A`i$B7EjNvasXyB4o1p z5PFqZg_v8-suOi`eWam;rKURto4;gsHk7GmODS(M@o?v)JMx%)Nu6GcI6`M&s|z-< z%LYnYf45Eq?4N%PDYGa?{rM*Q)+bD&r}H%-Xlr8dbwXOPl5+HTu)em+=}R0-^yZYj zSwHB2n|-?cO>vD$`KWyQxG{ej++zex7#DvHKni=WS}DD!4g*tbpRuir_@sjgIfpLO zR2rhF2A2!{ly@J*j-P;!bF$(|)A+sHuU_$=J7D`;2l)FO{f|fge=c+Q#&`a)&!6mo zAXIx^^p1_Y{c&eyUTAPA?HXBNoZCt#OGFY<$TnIa`=xPJ>XA{D?Z)yKwnj6OQo6DE zOZ@zi!bsb52{&(pCb4rSj@xDWVoFXEzjb^ATR|(pdw(a}F~x=Wu@Ae8xyCF^2c)-G zZ@3%be8pVr1DUcZIs7^Q)S6rvr^n>OkK2~ZZO{7REg^O)FT95E(rqvLpe%VDX4r)! z%Q1^S3b?D9hM?U~lF)a0Li3F58wzf?l>9%*6IO#slz@Kq0i`-q(d4uVNtd-%jK$xT z2KHr^JbCaNsh(X=7#T@d)gov{&V_Z%(u{qjP~3_Uh+N;j9c&gFv56HN=*Xk=-p$QX zFpt+`QBF5w24%*&DT#?9>>cXI`i9kX0X%UIu{z}rs1*6!`?bi0-_jKu@e_+vi~FaN z$^;E@)F%GqX58)f@7~*Kh4r|24E1Ba=@Jh5K1`_F%q(6q$yI=#Tx&z9>J(^fPw^0A z2>y=nKWR`8nA6D^&oiUfFA&rr6k+m$%L6O=cQX_OIiVR#UzY&d?ri)(^F_#hX3$u9 zb&D>nB?$XO(O7)pZg|tnUg5ZZxlPuNGM5f8;{{PPxq6iTJ@$FF{d7P*+0&fQN` zwRwko^0)$`?45?#p|wThGg#K(A%FEJs7(uER_=MdiVh|egWm#t;qr<@byT=xy7bxU zdZ0F`zga)Pa3xKb4wBl;6xKnsP}pymdh8Ew(z!Vj}}z%i+PK@X(p zEHdz6pB;Wa(N{;B-WIqktLn1b?7i~+l8cnV-%lt}S&ntSl>8s0I*Ii_`P(r~Yq9F6 z+YgiMY=^iWACtBQ!>?Ahy2#~u_m>0_-9Ju*Zy4HQgZy~S$!0szaN zMBr0z0UlsLKSa#k2if2?3#^HZwMSNBnK|4k#6v7!%NFzVE^bb_EHCbnAE&h51seaa zsnbS$Cy8aBb4(BD64m@M#s}UHpEAjECJm)el$>d#u>(eHq_0B%$a(5Zdju5dbOwXy z@5S)}=G5Tv1`LrdHI)nAZqzTF3k>k(c~o+pb~@)`CjDhCq=Nf|zudlN@R#@lV>Lgy zP&wBekf0V~mrb;$Jx`_|cEr-Bw~2;cF8zqf{OU-dH*o{mIC#W7gOt zu*#gHlECpRi$s=Rtp%+ZgSi+WHThe$^;8bwTUxp^{i4_Mn?9oc>;zj_mL{MMEq&9m zpaqDD+9vFEc&CnIHt^M!duX#hy=9y%EpeDyNbhN&&7v8Hd)e7MdADWKXy)W2CWTrx zo@}Bwc)s32?hRf}tYpQ!@(skw!+F2q|F2rly!ts)_6gFf@MnT#s!8*R0*jA)Cgq{U z(m=!3HT86Cc)41$Wp?94C);WM@#Dvdy{u*gC#ey0Jyt_=mwJBVWkb)8Uw^xg&(*L` zc>nf+jJ<0SX0J<1au{}|dTmPMA(oyc>s5`WeF<YSZ%f#qdkymMh}TIX-}CjX?|m|rb&=iLU+ICXHn!XQ zT%Nq#Dy%vjiKVlxdGEfc7S?X5#|mW302IoJY&$byuGHX15d|+O z67P@rs5=hl`6E;+@IuvwheW0ucteBi-fEs9#%L%YSRZ!44N< z9hQ!GI-beY)7(h-xzHf-^aE|68GvJ}6!8?VlsWPk)JwdK216rV)Ego*l z*nHr^NXfvhZhCb};+}Yv*d{~s-R>i?t;4~L1Lz~dh55okLGbk4a zTx%9}SgAt?-6AfeAdY!NB(ea8{0#m|M{vHlhj&i_kj1r6B-2%-mRs+DRUWxJUw*}2 z$F2G$$OCD9_2jZjxvO+OXsmOCDJ<5vy$1k>5<7s8%qo{pn@BrS%#?L=ypOCZFXq)E z=bq~EiFv12+a&8mXAx{@>8sjm{WB$!+ZO|=w7RnVPjI{Xqilf))?8wzt8ituGB44* z9z-*{WyY0{m9=ceUnM=oMvCLhCEFZ8#p3}nX-cfw>dJL_Ov(kqiXy6|Eo6sFybdFq zf}g)7z8Dnh}0k+#S`TLD3;PQmIV^bN+RdgZvInv{O{87KU6A- z|A26{Q$!9_4DsM+ZCpE61w)AVz1uXk@P!BSVC&1vIS{rlk?}Eq^CquNXm-g<%!;)>zypZ^7BALa)=j5*ZbA19V2|64QE2RTNh@*x$u@m<2lyndXQ88BeLSQ92?Ytz3Y-UZ zS!+Gus5t@Cj^4<1yQ&|cb;N7Ir74kBj;Q{&>6P@uIx8{`lyF!K_m(kCXF@%z}HCdcnNBsOx&xtOQ`TdK`tcTxBPhKfd#S1W#L1@RkkqCdiYEz z^ChG$K39N^J$50f>|Ap4*i+(Q4Sc>$Z^QPDz%RQ_ZuVK{yrFe#vOmTjKAQn!E@OA! z=ey9H3dmbB^4=OxQ8exSsz(qaR}w(aKaZqkm>&Dv1-MBx_d?aOOxTlc$r?4*RUJYjrBIqNSt8c9x?mrvjB_@^iSZZ?zme=2? zk`T?;P=3wT2yKw}*9OdgnQ9+>yGZxv|N1b#ZoYT@B`uu!t1k2iYu89aZOg!Kn)6+! zc>9h?)s4v^q%70zO#a!+Vegc{7w6dfXfLr5IsS0U1r>9oCo+`gl3E`S-Wn7!p_6OC z%-a}i7gh^|%th$aK#@%>bAQr?ts$GRIs?~a*%!S{gg(gBSv3pv||S$Ojo*}d`{vU_!Y<-W4g$D7lbIF)z5<`omht7E4F_)KX}bAk^l zEMbm66S!SWw3W%ms~>?34H-dCA=p~~fVo|z&HP6d)9Dq!^( zc`(=}P%2%`z)<`T=E7a`>h=G_PC&4e+4++ZikL{lz|I`_BM41AAwdV>2e;<|bE2~R z{%UK}Q?%*}Cu}bM5csL@K$}=k>oF&eCE;xisX?xACW(8pFoe7h z)MTOBQcaQ;I1OepzC**jUaiMEr3A0VQ#6PN?HSJ$R6RdX!@YpoCa~K(*AICD)dm_I zw-^1Wr`hvZEJbG7rShn(e>;T8ob_Iqj|Gs+tSjlj>hk>Do_al>rxeYk+=*}dtfp+- z*=dbNcHW{mAn%@WuA%P@p$kD~=Id5@+>V&+Rw5zJI&TkVii=1vyd`_>bt~%y=}i4& z+{?7AcG@B>Wj#SL+)j`03CiOC4akEVPFeqz|Npv;@6`E56Yi}yP6TeaJXc;HeC#T|FpZs*;qM2n{7xTH zSfhz(Vg*+pzpu46E>9%frm0HhBj{tQ_rN~FbHr^iaoG|T=*#eUKPTLlqIBkYn%>%` zpo1?j>BTwcReNF-yS+TSJHP>~Y&R}F`nj~5S$Ka!I7LuWaeoPJ&4LqkrTHqp%(EkT zBN{qYjILgijN)G_R7o=c`NwBs1JzZ)jQ~N9Bpb{df6oE`7M1+J)}lQK_2Jch;+32r*S0mDs$eBESkbeooc;6T#jz9z1FSG%TQ%ti9NKy- zOC-c7uvM5Wc7U6^0EEHfzC?zU7ZS5h2uwp0D|Psh`XL%ByV7je)Yr7G+qLlE4E1A> zvAa`eqv0nHH~z?l6>UlM-Lhcq1W_p^E7pE|l)%T%Dq6y8DK%k$petDd zK>(+1$1Epp{`rz%gZ>D~Ebd8;_xA@ryx(tV zF4;GLJH1OBD?s>^CghA6;3+R8YYyJ-tp>lZH6kSOa%V|e>+vfz$K;XmR>-GUymc}Q zfwP)gP9DDA`?!rifw`Gs_G?ev)+s?BeQIv(I^U3^u5OM4hxNytk(HOMQ@r}+QX-W- zUv=%GvvL}T(^hV)cmJ>@hx`L!KRqejCe|o=Nni_Ri2c3Cc&nlZ@Ac-7m~tfJX}Tm| z@NovT?PT#m*kN~r%kKFx>v2_p=idqNGXOUbW}3B(dkyH7a;CGBJcagj8*Xxh;M+ zd)g%dav9S?eTw8x;e=VlY!axTMMwuXT>={36>6lX#{D|C{xk&8^oS6xFNEdqy;O++ zedXqE?@s1pUVeM@aJifiK_r1~h%-Wmmu9$%fsOyK?e3pL=!55#^A|UycB3YP7rBdv z;7}>3bWABh+nf>0gg>d)?8^)>a5V4mS{|<3DfLo}ZZNF%G+Wf|DZ*THoB9i|KzJL# zp&LiVf$Gww{70VoMeN+u%0Xqf?+k^jRP8TxJgg0T)Rmj~Tz#XD2y#rydTWgDv>rCG zn)evHFh71AAg4MBN%&!R*7UH#v8DcWXc7t8q0&Lh?ogC$ZB_@>qiJ!C&3&(rrS5e+ znu~FS5W`a`u@U3w+|4#N%Dom+frAU`Cdr}Zvi%TJsM_Q1ir4f1s(b&{*Zwbe1OU(f zb)ej>wagE3xBl|~t$4F3Zxki{GVf213F{6Zqxj9{-k;o{#NOl@use%@_atvsMSbfd zmF5SOl8~KOr}JB^xZs z>gD%J4g)fGf7-Qd#v3Fnlo-$^9FGPYD4xx50^rlrE%(2JUa>ZplKu>}$I(S&ic5#KyJ?fqyFaANcfpFF4t`bY zq|M|drlPd66R9DDn5Lsjz5`cSol^_>qTm`AKxk_1#Z2bqj#VIai1!296LI$ z)N6`7?%Nbrov3h{_VtAG>CV6=V!13K#fTkk`JbO?`F5vRHnle_96g7Ue=d~G-!FF0ALjb|_wr5H{ zEXd?y019|bWGLCXrM5>|x3iak6g&F>*$+;q{q^jX(WLJ~**UI*d?*8U;~%R{OZAB1 z52aoSY(8-nrN4+@anj8)qpo4d>aTNCm9xoueZvbZMfqSslSHtficaWz`do9N6~kQ| zVbJ{LC~A=z`QL$ z-#|0vnSI`yKgJi<5B}By{wsj^pT!scI=Q$vU@g+l`%<;YKX3g~z4ePwVbSWWGEoUx zbvq}k=}GUt@eOkMnj8Q9yLwW9nHNnDkwYg@ZRnk&_nq4>4#l4y%Hdu`_TTE&dsVy>gm0*|D^euOwR-Yb0%5nxNsCQ^3 z&AJYIvNOHSdUp{%*yT=jy=qie0x`%RtgQ?w%PpBZ5m&y!;P?{@&)=<6^|Spm_R9GK zs#~}J&(G#XJ#e<$zQgaL$S?G zYLnUoun0Exva}^JgCewLNS%;vh1zS=+s!lu4~O!Q6$iUp3V}nRM9+0MVz$L!_XU~1 zDKWoeU$1H_@&EAl6<}3m-`j$yAPNWq(jeUmg3>A7DUAXmCDNS=h)B1TN_TgPN{4ip zbR%6CzI{-PnfcX>|8E{1=fZ_^?%A={+H1Y*eRq5`7!orl8$jtDKook=CP7w2@7?VC z%O>Ax4o{K@ZY4-hu6|z^r(G_;vNHT-coLuh?Kg$&OB+y*Fev_vh0qx{*NaOBJ47c{ z)E0Geaq;PG0_cV!V(IOXpra=*{Xd_GC$=rFGtuH7eeq$pwoM z4_&Pm>1v9M%8Elt?gWBY%-H>730zZX$Nn-K0k;q$&i(Qe$Y=iN`9Y8aYtF4(7f`@M zXtxvXmq+jr(2p;4CD=I;c^(4)Os5Iw5o9vcA_N80_!{-;wsw23o9r-vWaU0YBx<*K z^k8s%1BG5syqQ-zayT$&B#2iC(=)p9@ zYYVYzgl*V?e}$da{pF4MeR{&_LzIn0ZT7FnyYaX)m47?;m?etf(?^Mry)p#stwXC9n4r>gs1ANkKW zbep0EcbT#qiC{ThMo)?n?l7Ky^F6irpV!oPSNx}k8IJ{85N%v8$iv8IKKwCbc?SMZ zzYn?jQ~c$Rj|^V@I}h*5`x$8TP=3i^!}#gL3&9!was_B5{O=Lv_k=33%0+Mw6-`zO z-wz5dyNc(q@p4|G4Q~uS8 zt&wZ{e_*e=t_!3_zJG{st4Y9>>YJ(i{^Nty5S{@WF1fZzrRu)_&v1Q8w@ z=bj^fH#n!W@IRGP|D`(Hcq~w|Y2&hKM7s9V9j;vZJyZVGR{$*lKyYot;U{>;?E~hx z@gJAiKQX^2qw!TPCl3t>|KycONTC1pBnUxSXP5;}$L#x4{aw5ABpa-+S!s+CrmyUq`q0A$+Xy6TL&hwA)OkAlZ!0+#g5n3j6H4(_FwA_(l!ay+5qT zzx8Q?s=<5(9kYVi7FlX>0mGZ4SdX$c1qZ!6_kiN-vABq$fD=vwk^rT$n-|7|KC zT;~s?60iiFtCtu_;J_}fMSgO^4EN)9fBu87AMxJ?&cAM+ljyj{1rn(;y?Y`C_5Je1 z21qyXe&4*=+y#Es#v>*eYGc{SIurOimfQDzdh$6Bko&p#(HBcJCIAs?1GM@R`P!AI z-5%0U&#$@!@*NuktWj$iz>qz^gAce|Y3TP+gOv4;-YhSImV&F!Ij?p%021Q5+|EF3 zCt!EBb6P>)8+%2+zHVxf(Dj@#;XxD%w^xH=UIFXvKK!1d*6}y{H&-^44~D}HHDbFD zA}_W@0B9$@VFos3Ye1FHQP?}9;>OoKQHgyS=fDzGmMeX)69jtNEmN{RD|W(z>i{E+ zzDsPz$AKXnQ?DJKKp^$D%idDJc*{hUx-ZYyf>38F6lY_ql}EWT;4+6UAQMlR4N>U? z6jJ6|Plb{uIq}L~;_Iw8%e{U*nmIcanFMRf8T*WBPn6DY+omoz>Aljq92GYOh^?Aj zr;Q5tw$$?EATq~W%UxO_9zD4QKi61!gRW>_|80Jv8nSmDG-GEmrvd?{ls}X(1azpA z>F1)$r4Qw=uZdTJpL>b-)DvQdk_j)<$`zJb5`IaXVpQ&Ee$@8ROJJdTEwAE^T~bN{ z7tIw3fWsgIeUejDs_HB0V=@pk0_S!km8`dJv@lsyoLCq$fPbxjz#bDzEb!5<-CQGiuO-R=|EX|ML*bt0*8%18n^wfJ1AFMpg_YA}MKP1I3&} zx>Uji50kUz@ivZwAWR^@h6h7+E1=L*um{)|B-cl@qzo;WDIkUw1^2i8nnO!>U*H76 zDk=?it_#(tqVW>XBi|7CeLL>kR6ebm?ID;IUSo%<8Nr;zg8R^miqL z*GaEWjVE2sdpu*BXZV>hPiIfdd;k#Iqzm387(Etzq2wZ>Sjj+t;Zj&#<^H2aJ%wb5 zYpAZYx_O)2N6G*lOoEXyo)zqGNg_;@QI=+~@DKbSeaukOf zm{wB*xNe|Dy`LeMJYZiHTLJWzMv?3}aWCx-uap8V-Xcbqy%&SM7Co=^8G#UBK`%bY zk{%v5ZLBNy`JFK374yNShmwiHP2=qN8R9sSw`85ttryY&xK%m2{;|d_t>JKta+`S# z@Sais>?i~VvFB;$2b~#tj>9%gX#(On>Y33Hw}8abkht@~nA-XXv&M9A(v~23ooxL% zu;lZr&MI`6LuhjaAWB%Z3J9UXA*un;?$U(HXc=x}q}V%i4RreJ0==KZJ)1$cozgf* zs@1;iH@=BWAyKd5Y5alkk>63VBp!`Go4P7IY3Ao#_7by7>&G_XMuCC$*$@lrc6t@W zW3`h@v!qt8s<2L=w*xA!uLc12sTqRz07zuC84vwJS-OsoQYOQ+YLV>SlUUu2jH1T! zSC0TT)8F^LC(d*{n>V1EV71VhMz%STIk_+=TeFIeX8wheS=M&uf%01hP0KJrXkD*` zwW_ko$5w#mxQtK@TKW!&13%TR8DG5h=JfXFuyY$9HpZ%4jsrzu4vVc;v38pLT}eHQ zSRSsoQa>;ev82(1PVsu2dWz@(MJq8Lwu_%4Z*OSiRNUrpt&uOxF+A(;(lHwI~>#@3pl&P-3%~d)*6~@l<7z zd<(?jvjI?lx(}y_;ZR^T9LU{NO2B;$fPQ=aqGt4D(>rAg-^JNhFE>wio?HN|j-Z)f zVGDFs%;|w1rbk;|oBJ-}*o%6mfS{mgt{m{pW`_s!PrP)1C)v4UD$PL0`81(?Br9kF z@YZZ@6K*^_i1TUj{bI}pbf38S_m>8?^0Yhv12NjJy1RT*_kOw}(8lPd=m-N|7b4(nkO$g-tEJ+)4W0x{md%7tsXK?w`|5HD zVu|4z9>a-Z>|iKIqh*#b&JHNkO0MFCF;r?w#nF3dTHnE6 z@28B1kmuat3o&t@{2L>fi#4ShY5~`bI8f0P>uaw+VJhrM>mdiix?sb6-YOt@^Crnj z1sStr2*PfMS7L(y&6tG0sRVIw;@IcVPQ!5yxhy+cY9N0GRhOkzb>|$*(a{ZK$CfqV zMxaiV@+_yBV{*e-Aht_q2b6q)2;?rOzgXT>zQFouQ>G*IpBv~KVU0wfTb2bpTcP@Oo>&t#-3u&PoFvJtPEgx*CFA{!Pnd%?0p5Oe~WQl~kbBsdqMM#;(I4!$#^Ef25FP zBIsHfjC?#=K^?rm6K0bZ9-b?0732*%x**?mqx!XW(EOu&84oCVO@DPFzv-YVVGZe} z*N9sK%qrCCZ|w<*#HC$BZ+t|6VTK9tDy3p!y=}JBpYQG^DoeAud@fNcR@G|??n_fK z<#3qF(Ugj!4%XaO5{c=si31>Tu@?%d1@BQG556YvgtR50-)@PiPh)#Gcu_eu&A$?8 ztm!VB$_oNA@S$O3pwAEh_41t5olkutnGqbtZ*h=NXjl?{&V6Ni9D{TlFk2Y_$y5BG zN)fY6{DvNSMsM{)HsMjGoy8GA34R@0I<9k3$>UO~xf;u&$?P!tVnSPhtZ6X~w5>s- zv|gdOX|qbjGtJRT^HR+s8iZsK5<`h}r>eovli`&jvQBf$ke^BC2dbYLuM7ZA=EMI{ z`qmr$zRcU`X+rMCB68%dIocwF?C`USCAKqCOwl=OYxgckQOE=8|H71X`+>9oKzG~- zMA&*5Dwo&7B+Y?9X=YZ?@YGtz@lg`}hlwYToGLScHql)9gI8Li!W@fEI`SosD;c9e z$XUXEAddgu{*%g~!UkG!Etw=)`Sgc_KSd~@IB^B;n}h#ph5pUdCTwwJJv=)loC_J!f?-0vy=}am9$P7L6JpJ+0>{jF zt@;kA)Fko*PU@@iJzd05K=3zWx*s_%kovke9xIw*QJiH4`i>!d^!|LgGq)0M^{BKv z5Hey_CIPZ2hTK~(H)G2MAzg^{f!XbrH)qW^W+XGE!C_tQjg>>@Qu{(f5k1sey7-FQ zh}CZD=|m8X27BfT*v3)Pv3p;XA&F)PO5d|&RsK2L>@E6I3JMLIOxNvExw}q4&LoV1 zv|i-sLerwj=*4=QqvTZ@+43yN<7?VrzEH?yUO&j#{-rP8q7&KG zWv>=cMGu#&nPviFU0I86yvNvSR?htFF04Z7rRoJ2X@6QUU`e?lT+#kfB0BZ%|2_o% zX}EqS_agIza@>4&^PpvIA~ULx`P{h+;;oc%VQ#dy8}fOi!<3$m_Mo>`FzLirEE^jE zfiSS1vU~gDdbWTk16;|KM&%?#4agYD;sz;}>X0vBYnggH*AdohEfC#b!S&}Mhhb$0KzcM9!Y-tyutFiA zclR3P2uf}IN88hKpnkXN6)h*_r?J`WvpZgvyW{dE^DIVgmUtXe3Ub8LOT z0JV{Ug)Gbhi;>!ChQ4QJAY+VoBpc|frjH~|$BAN0bq?gKIyB|n0JKi`pm@z%QZd8y zs8s9~M?C;u(a^fUR3P1nEj^E~=WMStioZ_4KlUk&5>Q3_$vdbq4{Cu;1Y(c3O-H-i zt^t<6lxHkJal9M7RhLm+fnP4EdpnhkRSmnfujwe`Vbu=LK(%w`C=2KmlmnFGvZ5yH z;#qQuTd)<6F&=wqz#f))JC%%Or^l2Ek|;Ke4!BB9#&n(E*=Z89^vU|vvUAn#u2E-s zrI$p>He!Gket0aQG$ch)xVH9vp&)BM4+s{&3R*NkY_H5f_fhKpr zu2w}8-X7CsgGr?&+s&e=lh7QbXf(#@l683W4lT3g;^`v(R>F0gBCV15E#aOms6+bQ zjyzL5R$?tVzG!&aiSTap(E1x7Hc#$AF7euyx+uq6KPY4$9SPND)?Ta&ckU zHoBvnj3Y1_Hs7W<6m-}8LHlFS>PDW7x)cr_eS%GFiLZZb*moKob?4X zmjX)7!NWEJuIqr>6C0=@gAO2b!!gac$=$(HC?2>MT$Z;vl&za=(E>;#9j$IJ4doiA zUNY?w2{{1iH9_*ba=B@H#``*cGy5B~?afyDhn{D@bwYtGKH?3U-&z+Zz5+_`lb#g- zyEw007Esgz8Wx7Y@t)%7ZDBeLz|1;wOut0P?pOI*JjB_yQ?iCtN>Ehpl{vyb=$vRO zkGp*y%za8TLK$cCh`QP3khM+p9&1Z1HHM~(s8Ep!#aY^r&N{^nMR5sl4q?pq)$#JweRTNfB zb_^bBK%MI|mmIXJto-(zM-2BXLPh{&%?TymPjQ8Yt$qB$YTpBb-h$Y}^#$a&>KYfS zMSJwiKTWS2 zx;Fklzw{4ZJq{I7G_@ZAc;ysTP4sWsoj)f7PSTlf<&2;nTJCZ=0`8|rLG0IX-Tl+x z{q5{pzZiIuqOxd&r@+1=NVx|7zDs|5Am~|cJO(EQ?!43T!DgE>Z{~p#?!$k&`u*2K~ zjPJ%)`|4}Y@1NmxNBzwi|LP%$8KA}GgIhn$1=seY_2ai(8%*-IQwc9RfKy7LSMy5z zAc!TlL%bpWJMGGoRYZV&87=J z$yGPpFteY`;Pc=!7ye+k{uUm?B@z>~w9Ha*`dse$Scpu_G_v+1$JB4Hn~Bf@90 z8ovLFhizmB1$nZ?=K85Wm=SboSLWaLaBqP{!C0=r{c1XXd+HvtxQHdZLE;%0YlxF~ zwEv>Ct_M=pou-Xqb}K-Q6ew*rI=GZx6K+?{$$`ku)%IJC#TVniK{ge(xdA9P1W&|l z3heWh9`72Of>UenzOC9hd(NE=-If?()ywwEu}4SPb~^8va4M{$pc8YMF99Sl90D53 zS4JeKy<#0zeY!BS2g6JUgjV~eww#k-Y5uBt*wjfo8+6Z-Bx$FkCqaj>kY?mf>Cr=r zP;2`0N0m~L$n~Q$XC|>UpqU5K%ItM^oxdbrRwUux3jN8I{T=KcuQ?VtUVQ9H2Liq8 zb%)gn2CKId8=m$El50U+GElJ|D1MOvT2~-{{CNG4Q66N~vjxeWbFbCqiIQjAL4vhw zp?!%!lRJn)hXP45MwPa2l;IE$6ZZT)qrvZu@-F{<^BkFls0@!)pBuJ5|2B3Iwvaq69G5*DR#h`K14nXJu!iQ z(Her7(8Ebe>2p=hRt(i&02#VvFO*=Vv**RL7KG<94P7X?n6mh=3ZaH7}2bdc7!R-CgFpqfQdsZ9enLrL+6sQSr9f3M+ z*yVivCcqp!1#mo~g)9(4huK4BJNG56 zYNc+c%+-X`nBkiV4nTyDhW{OL5bpzIP;Bzqttw2vOD+Lb_#KB!{2X@xDaOqy6P&Td zyEr{n9*1kSUH0&SZxz$Uf%IL)OUq<7r=lgf!#AqX!FTVdG+9?aRt!9o0* zm6I?@RR{y4xub;GZ3}3$C`qX04U-`rDI9PNdpY09mxQuJ3mqxrqkY6y-m(LcB}SlE zsfa1r42Y-nfP9bVG-!dguLc4sINPN=zGb$utFtP100#p^bYWNRd>KbIInA-BF#ZtG zy+Ei0+Ee%d2OWS9$gS>$7v{|_09yH^4K1IS-Q@&;6}~{L)eLmTZE`D}E7aPupa%?( zg$pyvYI{m1V1tXPYK7i-H1p}*`u(R~x}X^mYG#@OXIZ@g)UihgJ!$Gby+NyP>uGZq zNZplkxsn$eT@D;)fs9K#kxAwVDRd@Is)Qvu4y49ha$a+uRd;BB)D`Lq)469qN4GhOLQf|g{MGE??<)T@MUo(Bj#o|E>s7$a~ zthv549#cP3D-%@se3hjJBnTscu$ip4z5*A7?kO=>RNO2@cu=vPIVc9iqY5^ndF*O& zY%T!AfM9yLl5nwUC{)u~?8`EcBsc8crj7LJWs3!5smEc`uX=-ds`ol?G4_3`w>AzJ zHQnyzY6f*OAjDE)eZe^D+SwjpHJxAW#d|i7@i=AoX@G2)qcUhdO;H5&6hLy&E_2BU z^SQ%a-?(H6mBJ1zmSRYvMz1|ojA?VDxxKN|w0eE`?yrP?U_{C2Yo>mRi@rwRf8*qN z1cKap{`t@I@>rQONtwvUpYZYlIZ?P1W*BTYQ@zr0AkRmvcXAM@e!wYr%(7NZjwn|L zavuRA>xNKd?9DOU!qCH6K<=fA9U4IeS;ha|*?t7QTkWrc>wK)40=)D6GZ(AJao7Lu!9VvK>%8s{a zV_%qN+q3=4j6O1f;(9-__q;>R+hZ){74+8f@YrolR9rUn-Tm`?D<4%z-|9H-(?i*8S>=eRoLiK?}f5YRgD7 z{}gWqTtbMr{*QzGC0gDG1VnwT8okC4kaN91Ij$Mx#+v~EQV(E-J;`rb8Jau;7FqNP zR#IqXX4c)i^NlhY`|6w)s-{wLT*;t7i1@)aa(xt(GXSxmX>#XaJ0W|DNe_+15ximW zBk{k68Vo(52la)lc1k^(u|EFQh-VkU^!MspY&Tp1f`m_2=3=-9e1=7vbb5Huc3$B2 zaqY^%&~X>6wB$wt0fo1d;T2(22;~B54_g`o7e_>!;%}E>es;(%@l?I7^9rKmNvC0Z zffWw=Z|N#$>B5wg+Myok5Ks|YIG`r;JEQ;SM9ANX9#1z3bi4!EfZ7Cdw2*?N;9C#7 z7M5)i0gI%4XJqr0D|w)

o@(4C3BA!5n~Ga-uXl&?8_}!vtCS`#t!xMZ13CY^L0> zVIYpv3kvNJw8_RJL4rDRW2SErNihWwr9y?M1QgUhsW%lnAdrCqBcSD*t#!dlav0DW&@!2GCz`#{6vzXxD>C%I}6#(acn0cC-cSkmqT zwyIp3VN6`WYwfW(q@79XANcBiDOcCOWj}QjNbuqO|wztDMP@s(5txIQGgxO5(pnA>$LdA7S{Les2PI1suwWUgFegwTb z#d%g57b88Th?ijkgwz0JxJjaTJ%)sZrUCR7>pEs*>-Bzmw{IoWHw6s0{n*q!Q16ZA zHc`G#Qu*#}0K1cA9!cTidTG94FqMy3=SKbW`%DE=ihC)tCXr09vmvcxP}URXaj8=; zO|+|a>l{z)+ho0nNQMgc@T7(Cm)PqcC4^2=8ED6#D`xWky%I6SO1+QmJPn`^{P}QM zVsR<9`Bhqycc9iQ*_h_|pk2zT3K9wiqNjBpYUZ<3ci63Bi9va zOy-^f59w_Qh!rw=GL>*FW^)atSWSRhKlTRxL_5Er_C719H$tz9KM(`h5~)q#FJe7W@_efnMAhKw5IHEh-W0Iqp~ z9fE^r}V{XoDP_B@PuoEUq9U&zmze zYyyad(ISUwbKrgur2_do^_w3THtVZ7&dgej-&x{xIg~PwjwTn|BYZaz0DxeNPC&3N zA$;}W1gILXgKCR+S#dX~9N?i_>C`&`@UHN|@&DnRxy$1)3rBRf!}H7SQtdfKUS9jv zP6y@rNUTvumhbQCxi?0c3S2i*@bkLdehc84I_!bhR0DzeL!x!%^hBnIk zP+r}VhjgDD6B{EMZ8vAOsxOz*iVskMMQ6bDaj)8LlE~j*VR5*1(#hs_wnl~auvj=t`hDq(%^nz(FCT4$ zW{=Ct%6uu?BG(8j*^E6Vy>)ew_^eFY#%xt(4oxtHfRNRU8-j@I=@)S%nl_W@_iulC zQ5$#0LgX)=pA78?AwuAf4-bun+ZtsJe$Y=3Z%d9g-y?i+1Gvg7r1g8WN~}w5VGjT# zaNr<{orAJ`QKLB=*MLDOITk=&-j%Sb<;}EG%51+aU*0|97+Lt@INu&z2Q#+YfF2*B z=&G2emv77AP-D_al{v3Fn0xZnh$)bTgCWa~YK$MDtHXiVn|RHU&X1^U^3Cs`DKop%wN=5e{*-gF~bh z((o_Np#ILe{}SE>hsarEnqtt#I@$Jlwvr#D~SPoy(K$-P10|N9k>i zTWgd0I#cEu=8>0d9)?#1CyCeLvrX#FW_>1~4)m5M>zt5TkqODOTcOk2u`aRwjQU>O zd*7E#_|5gY!rRTMPSrS?Vvkne+^;^WD|}2X7azvSW>E#zijOL-#BH|s9QV58Jja@r z*~=8^bZzrG*84m*@&I)psizRY5A>8<-p;ZT_rcZ*yhuMZ7oNA4IdQ$%6tB-(m5`7} zw9NUIQWNWA3fYbhq_<+B6ut#c%aV-|TwY~fd3p?In*uNVvQ$La5F+G%`N_9k^ryx1 zeHT6Bftv|9U9UeaP!Zxoq#It}=jpzfD;P}8CC|vNscdBIkVOK6P7(i`lhYlI%n7YV zrXv2iT212Vz2eR91jrRF3o@dPd=H(r($=HYQI7!|F7l|O#^WPcaT9;m19IK*pir9j zWzR}->6Qpen0{M$OR0JKf%e(sg<7xofXsaAFgL!5GJ=cCCU-ODmZT~w0Yj_SwFeQG za$npFsqcS(RA@BS5GI+ce0^ujMJQHftP_);NzH!(AC-XsZPuT&_#~-UWnp7{m3<0LIC3 z7(ve?c{to4oba9`)2o8vX;@ZJ+p1rX7xx~&=8;`|_rhqit?p#TeBN<*PhH_i*z*Pv zY6~q4yS1m%Q$1TldNmc~omSn+3r^d;qaVd-`;f0*ouA*mzv)#Lst-1^u7E2N`Jap& zn5}r$;2~eh;Z8wB)MsgGJhpH4c z4$NIY$EpZuh4@fPBOZabsqdwxDY(2&?{-cpzTf$<>E+Ou7O=x;yJCrmDP6{lN@l4P z1ZfH$WlC(jdxUUwa+!SUGC!z3?k?o!|d}}irfY+CmS`V^fV3q*uw{L;s{3n$W z3vS&i+G0y0mB-_xM%omijm5>k*&l@o0PfnZCeZ_fdpYJ6CNRGj9B zS8eJ!)63yn`t34(oZt7yw->yh5U%}Xdw;xr;(q?OY5Cd2Ba*-?WK4e6JFMEL+)I(f z7$~xR6U_xExV1{J0}`A7NU_sz6&pFE#F2U2tTeH-)Rt3)J!bH@oVT=XNm(mM(xOVS z$r##N_(Qppy;3n5>xU{k7pCMg-0@wQ?4G=5x2v`zRXIFT%bTsAHlO*#=hlg@RSOxi zy#xXAy)PR#&4B@jd|~2~^DpeTvo%P4MxEsAtPPS!eHkZ8*YmfdvZrAWFHa{U#Wi!& zw}>YnSx(c-j)eK*kWZFb2VllIU9ZmGQ=zu!FRNMg>L6;OBv5PgjFiV{Z_Q zh<-&;%P)A6qZqjfarh0wT+;ya0)a{FZ8dJgk$cXOoL7n;K~9tSE{68Z-yh3gB8Goq z@t#q_(e#>aXl6&V(RZEaPQ03RDP2?3Q;CjR28DS#l2Uib2Ki;OXI}>KQ*ms$^X=De zKcENLBAK1>*_eZc4`pTCCK@;T)(-UIRv5Tc2x8fS)BxXbooRAou|RCN{}5~Nn^3XF z{x%c6qvy(#(*uVuv#qH}+&{k(mFB)qR8XR<$)McbK-tCMp`q}J(>}s=cCT{cd z!O-bYhZoI5JH1#pRAD`~rFO6~`^|Lc%9l58x5p$7J93SW@O^1V@I6qwY=k>OY(k3H z{RHPy=gR{(u(LTQnI!TjiOQ`TP>Eb1VaR}qLYj-6=bUNle6d2#=4&Zi?{;)OygSe} zc_-H)nQm{KAn`ep9)j6;OodAJD|=yPEnKSbBhFNZoyC`9*tK1kuU^{2Ji`_Ir!~LJ z@9O*`!1>8x{G*5lK@_+bcZ7!epJyNa>6yu2=JeEF{w^E&MgZKEe^%oL`Gk<`9?9wD zf4=AMx)tO|zwLXstI)&BO&RGY{rt3YOmH(X|Jf0L_sHPI{}L?oK0!#iM|sED@fFx- zW{5Yi{!hY$KYcpL(Y>$=YE6H@|MSCw6~ymZ4b?L{Ekm z?FB*v#s7zyCgwv)y$8ma{ri;sc)@E)VPhWrkA@t(E9KQc-=Ujb((WnkKk)}cRXM5tl_8B1!86mC2Kb@6?R0$fDdS#MqTkP?~ zY(SGzjHdrJgT>t$2a-@$3QvR#;~z)mVz_J zoy3}Bajja1>2P|XX#3-PJUrlha2&Xfgf7Al??mCK6Ecg7${q5ITJ+i$IEvsIG>6dI z@S|FO2|iQlbr!Bcev_55yDng&CfqK^)0GiMZFAEsdd5#;-Ml*cm{|yKbQ;z{5^CF2 z&c9%F<7Q)stDQtNh5U?eByz8O<9gxE4zLipF+_0vmzodi2z2b6)ctQ(nM!+9XKU95 zPDt0k!uMP+dp1lij;GTwi$z~d@&1wrg4{K?*hvc9>Uam$BGLP$`qnTKG!#AZkfB>H zqvv201aOr+gblcJ3F0g|tQd3L`^@np>77S#8<|&i{8juh^RZnQhk{p)>hWJ`QhE&9 z6UbbiW(}VdsUX2cNA%;p)3S3;*j4)b`VZhWC#kW7vIM-gXut%n+4_^j`5a=>G|T5> zi8h}1C0iV^BWE`m43K8V_?~|lf5i)qa=spLRzxeagYtJunHYcGbKhV8FaGAM&HKyf zxW*f7+dFV(RV^X3#kppOiHeIcrW=F8@bp@^GzQH2N>$k!Wn|^bbipjalubZFGi0FL z(4(yWDGS22i%|ZD>^xjipf?}e=I4@pUOsA&;SlTJqE*&?|I#!h#_JCJ?!~|(Ol-#( zsudIyGHrUdt*+zb{Z9Kh`;9}kUZI*#Cws)>N=6b_%|{-(Qq>AmH$AbJ-!vQ|n`R2O*bu<5nrdMF)3CJe8%QyENp zHYpN8{R(2CSwi})PG5wepfmLbqM|(0A6v~-n;d3aa!nEX!*_f!oC41v0V`#awVE*( zjIeYaO{AnzFXn80pj(9oHwG14k%3##q{a6k|N6q4&(#ciZUVQ41fN$oldr;mTx1F0 zOl(S7ITMqHYz68rqP}<@pd0}z z5R^lXHzvMbHw!6xuv)s%AZ7Nr%D$&C8O=Pir!riS9iQgz5LRn&b+)>!HK9n2Fudqz zdi4YOF@Jk4zzV^=<%uI7^o)`8#{t&u32DG^oxwyM(Vi$sv);1Z6t#N*6cbHg*7L{9 z@bg;(%1mqJnCofQu(>H5xz}=vwuvC#LX?D;!2FicBSV7Qo(@LfAeAIRxFaP_!uV?7 zBoTOw_~|xS&aMbKQkN*mGu%+nt`LczN2s;pQextbGY)Dn)6KI}l%V={8C%ktgI`7u z4GRi<=rna6>3?oJJm-tBqWR^iI-A8{2}(CpkvNCjUWP+5?^6-hc7o9YzG=+8n1lTQ z-QblqQ7Q|5$ii=KPIv}8Ykk8FrJ-Z2s?V!G5s{UNeR2tIeK{0@-N-K3~|k^09O~ttn+AY5}a|PE8Vyzt--yOd_URa)U^=X zT}c_p^h#(9;3K!6MHQa{65CB}XTd|EU(qi3b#xyh;Bp-mSRUI(>$U{SL&w&rnYJK< zcGLh_Ah(h83Ug|ak}#0v_&^L2MY?k3id<&bQ@P?k()&Vg11C>I319Ief{>D={L}z2VDV1k4zxW{JNi5%wWS( zb@36)QUREc1Wx#to8TAL$&#wRW#FLy^r27Y`q^1HKhpOT^b{>;HU9jU;3u_lykZR`z;0Gf zhbv`<2bQDY&V1BMzf1%&IFC!BU^PeMUOJatR_HDhI(6Ds!Pbg(D((t4aM7!Z$03b1 zj1%=Wtz}lHZo~)ci*&g?C09Fwzj+kx2XbAZ6z$xMu&O;J$g>OdnaH7$q`Euv%-f3d$F`i7a44bhXJXy`mNX zdJI;GEX#r`weOR{+K<=r%c9r?&ZizXOuDbL=x$}N57xyr`PmT8KcV8O!iUn>pD6tE zwg){4)<3_{N~ll9NDzbxEtpxT05^iy)Y|oCw!~XV6>6QVxSqL1xI!u27C|YpnA7T@ zpyG0E`XD!X%CEp6l*i^mi1HNer#xd6Y`Sv)BZ*kG0(DK5e3jAuD(RRwkWJi|h`vsL z9u@PDqP5*NPmLfpxg?`195i6!+%Wb2Qne2=O%hC&CSt^$LY>AGVs!Yz8Nsk(Fi?kx zyxMEo9AC(rnASP{R9Yd@7S^ZXJ|;8?cXk>imbtiR7m`BtrZF?y1gq|YeEXZX?^n<1 z>DC-3t}pB_yN|UnBRk8?XMak|T-V`_SS0LDEm1B}y{w2Df9Z3vYhK@0d@grSv#sWB zTNlLqk(}bGRJJjsTHKOdVaU{)YaQ#8(XgxTEUX*r<9Q=mT%~zC$T(#J(ys0{2b;qm zq0FRQsRpI(myt)yM$55IQ%IR8d;}g9wG}yzzG=!b&Na1a8lN4WRqbUAREEpW$Vx>^ zcBoo8A~!T*$2yG1_)mRF%~y;;vfj9Mvs(TX?iufd_c zWw@@KqC2%0c@79nY$&JDp&C}}R2Wr6k)+>l3}yy0%Y9>;szvEmD-8+atYi^IEtfjM{=M(qdNDN+G+w zI_!;6aT+(rJ`XU>rrR_5BMWPee*LKaZXsNUtXoW)Rd%#I4}3OWjNPiemb<)z0K2rw z0TCF@MZGb(JA~kJt#~u8P=@`bt#H$D9~r|9BIDexkp0ZJ(ewTY^3vyqW)=)&^p|bW zUYNWRQ$xp3D{$c*?a$S!%$^wBEmiNrLXvaaKBI?te%T2gmEyuC%Q)(JCy6flVx>)@ zPgM^xURooX;MBFGRlludEJiIWxo@CicEwpnN>$UH+F@q@^}y?JM=>$){mVV&9}jHj zlP|kl^9~;-Hin3*Rx?SoSiy~6&?O59y|(2RhN{f>nvjq4p@qJiyJz3g7{iUu2is3s z>(-_k-+uJ5N7I3O8TH9?V&K#h6`WlmEYA0}#7@RsNj)3Fc5fsut!pt5VKwV*ul1ar zaZ=+@%WAi=4dsE`ThtM)sC#U}?`V1uU@9*iNVMD>$44nIAl9+it5-#L+`en~!4}m- zJBR6l*5}P0e*zP-UEaqAA4^cHNuOaFA76r*!(e6XIu+Bj%=tXc(;9r;v@@1$LtkQL z>lE1zAA1Dd6u^36kG4J!4j|^vf*SEe4`(nl@VQL)F3J@vYhkiposn=XNRH;QR?sMC zA0J(M^K`n}tXf8<9ZHPI{s|0d(!8&>MFTkvTGIkz_lP{Y0e3r z<^taEq*hags5RWI5K6JDiQscVsTOW+Tz2_lf4QKva^BDxL5H~E?k5IXyBt-eq%CV`j*R) zo>_vJhnlycJ2h<(HOqy@R<>sc_Lmu% zb3K)`TN8eed96G-augf1O-$gV zFHooNkG2^UEDSE#Uz~qoV)5~XRs6lD&)9@BdgPtpOpbCI^BJ$b7;Rm@QE~gjYEysV zdG>2KaGeJFQFz7!`3_k)d&Tdyxu|*-b=03*(WN9WY&&;TF^_&0glTWRy7mFbScUJ} zjfhntjhQCx%Z!Hzh8YXT2)HipvjtzAKpi^tC9VM_WDw;20|1 zz;;sz`C(Q2!V%8w!CI%m*WksNtmgHPJWLHEROG;BFya!vD=eOEhB56{%ySiyn0cmw z8q{Kt+Mp=7tdcPBLE!?$^Q%#JbL{ZNgxAO9W%EX3lsg{#nkWb$q034#EHtb_=A#6Nw+j7>Eyd(Y9WAgR-tk!ta-OjR8I>yMGm zdUw{0^i=9rFV)_qdtEanFxV1F-Z_C5osUgN<^dFW0WDRU_q}i=bMpdr&g5~EO2NH3 z<_QNr-cY{ZMPP4(`x6I zW!y=|=!>}LV7P6Q_Hv3&T>&~y?6yu(Dcnmut~zS3jS_y!^mL4J;eH6;A(qTG@KJ*H z&g^_S#H~7Ka&N!cg$ovvk&;bxqHI*mct)II3;=Z=F8wceKWvsdo5K5E<}L|l6?J8w zZZySC*+#y2B@ftA+hQ9`dIr4}6S`%uYV!Vq7mYfmf%nbFQ&o@?_g;rj0T@Z){%3|z z<*C~n8l@rE=|YHdQhF+ji^utooVOT8rr&^)aqLVcnQ5s5f*#&dj(5Bu%(HVUlCM)| zDLhRQ^$znON7`s&)R*0b?5bN!ZufF*KX){CokNyc%lh)TQ?K#5omgmK8Ued_;f1oY zOIT5)pM;9-^ddqYTUOK5?`ph}5^``WD&KG*YKBSk%&zZE%{;d;(2JU(IacbH&#K+( zqaWi6MR5Aeub7q&#R>~NRC*ua+30T6Opz_fY@RFg#iiUA!gZOv_<;v&;f>!j_}5@n zioAM>qZmg3i(4V`m%n%chSayPcIZ8XUHvYka+0G6PxdtmD}!Uf)Tcr5!=wq=<~!Jz zeVjS3s>3d!`OO&z_bQx0C8|Sn!MjNN)TQDfLBMv3^!e9aWL2N(%p$L;=3S%~)YpqL z(vMQ=GMKyq*dJhTjB^k#UlhGgO4>uQANe#cc-aS=!Z1iaSvWx5LWbON`gEtx+E-GbF^ssYL z1uSaA#TV;7v&TzK9;1nTN~oCO>}07o6U-` zpT=_KX2xky(nsJQlNR3e2%W5wS(PsR9IJ@uvV$rzN-h@o#KmU;lgniO)_^Ic*#Io!+aYKF<-KU!d_76qz*6c_6zuz9qeNS6kjeV2~vkf%pUmi){prU8l|>kD7R zfMZL%t<>>iwvu1YDDO+glBCFw)Z=T~+><6>Ik;5h;#n%#5<}cWRSYib(G$<7 z#U97%>6Q$sl4j@Y*Sx9$H-;b3mzL~Rd;I{Dg~$CS+SK&`|0y~-iPoMs8m0#ecu29u zBkw+gyFA{tMXnnTz~p0i<|{CFfqz>*!CsPu2PN|UG9fDMz}scJTX)fnRc@Y3%&=}i zB*t4zZjG{nJ$czZKOju3d{@PdlW_9dOGUMc8-lTs$CVUn%^9763SKF5bFRITWQz7& zb?J>vArhp$7+0I>Rk>nsRKIcPe-M;9_t-j?^!oLL^xhTgYhQ|9F}Fn17Qa${T2W|T z?&t2m{hD(x=zMw;Q*RQlwfh*ZE=Rx)LOI3xEw51XBkifVs+?y;n|Avb?)V{;YwMzj zvPnIy;JMmMu04wB)c#7tA*Jf(g7hJS;UkNDncedq9DyhoG(&|a9aQX^bne7HJ})&Ly0_PuGqsh&GxL(0MpH6MBQId3mfx5<=Y&-J@bipVb71UKJd z`oxBBp>nw(BjUa5$jTAwXT<(T=FBaLD&7rS8Jsc?aJcyx5wm> zgDsB{kGtKR*2i3q=cO3h=kxWLhjVMzK^{bJHZL*Hx`}LHW752It=`Ov2wojAgSbT& zaX=5Af_w7R3)O2tJuQdXM_!OY=!N~(&S=Hy*P>dJJxgK z=^70el|9oxawA?^z2@T}>-^-he2Jlz0jD-v#^cMZdHif=DM%*fXU1Hb-)QwUgWcH# zpkfnbzH!b{>!Ibs183Rpyp?NwuO)#_SM@1QIFj4tFv59$+gMLUi0o6q$ZjN`At_vz zEaBSFz1uLnEj5TTYq)CJKA!TB126r(1*rar}tcRx3?jqngs;^fcD zw7(tcuhI?7h+$U=)#GX@2LSQTW-|8k~u2$e#`^IrJ-mQt6>GRd8(;2 z|A}06_<5%|w9WjGr>$OqjflcFIlcO*^EoDrszP7+{PerEIo;ecNsEh`8mh9=sjhT) zv`H^D(K#p2#n18eu5<{$R$ttFcQ((g*Ro^vewR$4l!m1#Qk&9t@~7i>by8F@f`Ye? z_Qg#`@AB*o=f*#g!@DBR`Y2&(6h+BvmY&;X^@7^ApYe#Up!dhFIuHLa$7$MY+|o;f z2L1Oz_hkIwCpeBv`|yvLKWS>`BP~5LHAA)P6^L_ODfE4&rH>)OrKcF>bL%cUf4QUp z?g%d4V_wm7yF%>vVyP(3von%ntb+4Q4Jf7+q;}xU8g=AvGM3gO$vpKTR^zSzbJ=EHX6yeEJ%wcc2Ih+OyL z(d?EP_0=2rqZP81$eYMgM@7PqVH^H?SHibLwH#l)zFcj&ApL%|;z~9}iT^gfUi;cq zt^2vr{sfQ9pGus*vY{Ro!KJrMFzESX^@7Ya|r2fP+C%Q=k90^cmW!{7nQk#9 zmcY)ferSd&myW0q6wn&sR<^qS;e$n9X$HG^zdwa&fFNvX_6$FOJH1L-;+u0SnPjf^V}I0dc$r5MC8ZFCQh5M53%JB)^l1B!7NEM; zYE;Ylv;I>fj!|p=5Y{UW+JHxj^kDkwTK+Gj@|!Ls=$gB2+@h!^E#;)<0(O;gwsU_P zob^(8{ZrMShLZP{J7Z%vTPCXqXHLqFj@9F@EahYP&i*|0-s+z2tLPAGDBgke#xn0(jJ(I!4*mJ#NHm>;-=&Ft8;skmpj# z*%y<+h(e}N=@440lZDt7q2aJQ6W^v+dkTOw6UMb$XkHnUF>c;>Ku3k`Cyx33K)iwThY$JIN*|IPoY&sUY{P2d$@f=hNGfq@()LA6CDNjI?o->uP>#E#0yB^;OqT zjRTDljNw6Q|EoGZ)Coi>DcLlbKX8{bi4@Fc>MuBFNoUg~L~n9b?0tW&zn~nd6yMz| z#&#(Kybz?v%`)&MRR{Ud9G!MF4kC0b{L#14mIEQF>G-O{L(fziW{T_chs zlZbJuet!08bo}s`e{7X)EAoVC0|&sau}kIu2+bWQqbZQ_8q3=h)Qh~a1>>xO3=g!n zGYgm#t6ug-_nQ$D><~xleX+yHFI{n81Wi6w<;d4)9g*x-`Vjx9%1Jx-{(d!*oz1^o z0I^U1pJAR{6U)HpKVKuh36Xp0e!&<9BL5NS)&v}FPdmLYOL+=8I`Zn7wnvW=0kKv2 zA^ObRH0}-9pBWC^fk8vB&y-4fII>;9-%ki)SIhli$5YH58yC|G7tzn;T(5OXKd*u) z&H1vMJdN;eNXvBXcc#Y`lJ!v!Z_==W+^z;JOAGD|?or;?#^Zk)%1KPta)iOdmaGGV z9V7i_i-IUTaTH~4xiZ1SF*PCktS>S|UASK6448dcWe2l$Yz$&dr{AoS-X})99t;u- z>kzB!kNCo1!jzacQvsQyDk6Tn`%S!Nt0jG=MsO#Qf{RhFAbsV*=MrQ~pj46#ELwk{ zmDop>rd)|q-k%L=6;)8Z!!VWo9006|Ui@(C^0MEL0y44E?)IVE!cBdp8hSr5wH6p_ z^u4969hkAYG(s4D+0cT1qde02Q|_rMowm$3qzm{yogz70-t#*`(VFAI1mD*fTY*Jc z<@4&>#H5pOub$m@hHno;C$zh6-Tu`;z;y!6yEM9GkPWh|a4a0`cJ9>#zvW>17UDm5d3RWNi0d zwbARj%3^u?WP^9F#eVio7sq2yoZc)(cvrT5K>1xp#EbS+&ZIWiJs}CaYn7M2f>eY> zt9_hr53+`{ZLPj@5Hcw`UJ5PzoigYoH~@WXakwuiUQC4P_$G<2si`IOI(=mZQK5?q`0xwa3(L&er z_uiQ5R3flVpu>xe5AMvJ zsvm_eQ6fDxAoB-_*5b4HDVL$Y&wa@FD`93Bg7@$r@jUhGr66BlCIG+ZY^lf)>8`x9 z{2}8U%(ZjZ;9+$g3O*~E+Ww$#s+y8tEdQw)wflo&Wv);X2JU<<1P-@^4*x z*xZ@zjIYsG-@V30t;1H_{V&Gz@lmfT@W40Ljkg!xz&%UbF4x1gK!oc{7t((^ z6brE7(;&V1`dFw36q!j16^|%Q^?)35UzfY%%It;zZBBoL|z8(%2*Aq#OtcPB(rQQIAQ2)0d@R7KGIeFZy1@mkSYB#HsoRZJstx!* zsNW^|Pd*f#OGZ)c`0BFL(*<&fo(po%d+(+g%e@6YRnXIQgmtdC<_a=j&{C=`qm8*svf~-YMfDhE4o8SE?@7ZPKgB(aQp^% z_kJ9Ci4&I`t+P5B-qe!Gj0}r2gYYy8%AR~n4foF^Na{@}5|MgaZTSqZ!x4RxZvv}R zFfZ>!DEu|bRZ<9vL}0mdUXSvlTJ`tbMTJ)r+ zz2`Ye`Q0+R@fa2Qm_kxCnU`T+{dmclZ@xYr2CX>n*lVjNZHs>p79Px~6M4DS$__d0 z+`)7*%X4y{O;noW+gIX#b$?pJ-qQ-Wp9ow8nbqTQb4M`AnmMQE^ z5k!SJvcZ&=@*!s(qiPbZivt*^%>S zZ^|H2uf5T6*EJi3^J3sLzsBK=IGZGr=IbpTB|QKX&zuU|xg>ygNm4SPysvJK4$wC*7r}xtqV&GCDK1_L^%=nRTzlu%r zhr4Sf3t&ZvYZNt=3$rxC-UEv(RN(HvEsZk-Q8@lR&(A0;FJOwz*+-ceRudGayIF}a zReQSg(PXA1QiZT%){bs0`%lh&sNJ@mDxnee5s^^TV2BbSg)7s@9DHXno^!kDt8cMe zOtGV3z>GFU_dz6pov`O?Q~QQjTmH~Bh#4Z8_EyHhNpLA@65Jih&92@r(RzxSD__%; z?hxN&09z{mQ!~f>7ua)DRu74%1viohgkgFa$TLj^88G9)5RQ3@DyDGo3qhKI`vbvN zFCyMDvn&RSeAK135qWwRLG{Wi+0x}pirO?t^4lr)M$*qBql1V`CQv()JI&hn_p3c4 zLYO7m#+%9S7zaYr4F=xvDl7Uw^Lk@HLpvlBO9&2KdlZwf_K{nTO^tjMsIO-cCaz{sW*~m z=xbv=u)t{kM--vn^2*Rlccb|aSo*(!5Pjs&u(cmPrL^Cqahbe`pX_)$dKAqIAv5j! z5SG`qlVYbRJpH`_LZms$!9i*ZsfCk? z3ApE-cYif5^O4|VLgs|=(n;3WkJRNVfZiWiGWCu7d(lLGtFoIv5o9Dafz?BpPGcmk zJI|2EM^Iip{I073qswpkl@F%WJ|MDevc|qmL-i$wkcr-XW}9`|o#=P#(AG^*G3z5w z%#@_Mv1an{4ETm$KD0H~kL`!p0{ZsV#q}3JJ~-aE=o(`iM6v5jJ-&`t#Q`A`=BV~w zW?OCcZ^5^HXabCDr$!%>($5C5{UT}_zRMHUkvWuo=-R9HyU`(t1Jm7gyr-R*-jZ+X z{bj8rV=Qt!Iy;#YqzxFX=sXqYUUa{OMRca{^o3TD?L(9Sp|jKGm%&HmJ)TADO?+eU zZt(FQq=&#z;b2~cIXRFL?`ij#c-n=at}x#iAJ=P8&`ZaKS({p%+T!$uK0q7sj1)rM@%8om3Vk738GOJW>Fk?DcanabsZ&|}{=Q90GW?I|ra@?bFXI|p0RW=RDOIs&5U%zzq(rxS{IxgnH zOu?;`LeV$vZp~$zIT6ho5%cq@;(rt)njQ$p&tOjlnpj&aA0A?E*%x4OPnn6W@UEQ< z3J%7BCBO+oDFv3{YS75e&WT@~%+iU)3p&5*4nu3Mp>{1A3mSJlZlN#@q=%tjwDJxn zz6afu!-!z$DIP4%kJeu(U>zAx;gJNu^v&iBV&2mc&=Mu{WZ_rU9*GANOEa2}w(2rY2 znlS^WH-z`c)j4_{e7nPNh-$FPzB^QT(iY<%`yTkHZz!7Wjvz(B%tAP&I%BV7mj{S63twX<0gZ2)_MdqV54}fhFI)(n2AgP=$xRJ;Y&S3hhj!2B+HN| z5JL89-4)sltQj;S%Z{FKinVkB(_2J#0UFOJtIrcN*i|I+=#S}}aPPEZg8HhG|7Zd3 zO%ko!^;W8}n-k$_IUi@FVr!H$!e}2A$^0Ag`;k^?b

VSSL%w7c)TT(dt(tMIU&M88cH7b(A!_!A6UmN_?#2qB;ne``VktHl1+$}9Z zu0FKN;i{S5%dWm&_V$6ZwZKY4gD?JlB|-p)6sN3v^^#Repk-YJFnk+j?D;P>@nWyH86L z7#MI#CABCdH8NX>Pv$@94=y`nt52%@5dMPN?Ti8_0@1A8nw2$Pn2vFZFACcKXjMUv zFDxI3pWm0X!_gR$iu-Th0EbY}0xScoa?+dT*PKy+`&BW|_T#>zDe?2kV3EJ|T*SuA zzPfy@&q!;&uqgRdcfCsHrA%uuS$tog6mI`j-ZDy@Y*E+@JParHPLv^-$2!DW`jJ*} zM3cjZMVM4|Lb9(QO}KqU!aH-11~z+E@LO)u;0} z-cF^~9dnu!z2$uKhj>s9I9K=HX7tsrI|SzW?1yWS>lGxx1LQ3WWzuu)vn`$(N` z87Y7XF_1UF0JYH2Obo~vUHHEJa5egJAAQMMS)a`o-aVzHR}pE@V-vA4v%ggQZUE@O zaLTtl9$H-lXYVBi;K+#Vi0NZed!m1eJ9;BCD_47;elqrNp2a)>83eOB|0XTe%$Juk z`rgvKU1iswiZ2MQepJ)RU7hPjz||tEI%N_n z1TdPJhUxeMUm#g`od&nGsJ$tN+bi&pcvoSZ~5PLCAfQ0Lj*Cm6ku{*?iuw&wJ<_v^ZN0ek2}k=L?hf z7cZW6xLP}H(#!Da$wy}@?g=uC!VKAN1_hYvS?xjV&zt=nG7b#c#i!}+KAG2J zHOv+IwG}eC)&+xLudDSEdoWBHpu_&H}(liNAsg zEDqWQ6&dVmUb|0#Y7otb%A}qEY_98x=%Lz=q@5VD`8th=DV_#{L=twGTjii`fx`M! zTpuH)*Eq_*GiV(hj&1mX^~V`pcXZ;8IzG@=78M+rJE|zBY#mJ+e4K?p_M%cuMh@h8 zHhRY>7h#Mw`Yy7{u)`e;zmk!wq9Z)A;4t}V8( zh|SwwsX}BnKx_V4@L^7>q}MxZAp?$5p-2Cp!3<{P>>+GKh0THFit6XA01`S_U>!f! zw3m2d1s2K-baZD*2{U5Rgmq|vr#oa{+{@crG~1gD*w0g^^%8(-4h3(c*W-E@fm#XE zmtT`(vqkncm?NVIK12B`SBOf%9b#!TZ0upCzf+QPz~8){d{&;NhIsatPN)g zBAilrFU?M7;rxWgq1pQF({6>0t4K<`&f&dJ)c|JkN)kYJtmmT5eFmdM14FH_ur}>= z51ma9H{OwPDYD@3R$ITcJO+Ym;>0fJib+XTb?FQR<+rhq-d^Z$!s@DMO}ee{;_fo))HOB4g2g0WcbA?7Hww{V1PimHi(CaX=yw0` zZ1Vioyl%qLL^SLY2e$Q==|Ww%mPfk>@kiDwM@H7Vb3R5=Vxtd%JwpGFKY89nT=;FCo;?#>$Z zT2U}jp2SUlfToi;4yBL18*C-=eV|U+8gwE+=-Kp?m+@oAaN5LrEY-mVCOGOUm}oi3 z)3MX@L|om^`5@RgLWLz!HrCz~RdC`MNq}dCk7H|y24ZhQ?#Rc^A1?SxOa0=_TVUGh z-5r_5Xsn-H@9RoDhUfIXGfO>&uiN;VX!HML{eVL?dNrf_?;r(&vZxPF&s0|$KTbUg zKR`#JtTAZSM6%OIiR*4v+)l$eb*Z#Cp=nj`$T&Q6QYSAjha0P z>PCsZyN;*S_L*!A7@8gbytK(#5aDGyL{t#>$+hc!rVh=f+}(7ehR@4QV$e#l=>9Q5 zN^NTU+zK;w>Y^OJe;?$=N80K65=v#iB(Q3U)z7* z)9|~rE~{Js5RB(P`0Ag>+K>#|0PI_Cj32R#r78q7wy5C)NmK>q z9~&NOqAvP?nd^bC=gg3+bsBMGP5IYfbv!Vp*x!E&ohmjCIGa}xC3JC3i1l@dV z3DRAOYsT$;jdEl>kD@SgjDcRCgX?krFg(umTjOb$M$(d<5j!r;zrf+ukHGNKC=b>WXXBF ze@1Xvm43himzeSD(@D2_L)GZ>8D}a!T2I{=*OcBa zW`|y`sr4>w6(m+P?0Vcrf5c<3KSJGeTL`IITOG1DmiAVu8GqY34sD0Kt^)}W%)$dCpM!8OEqg6nr}5bG#*3+wS>PQus6K7 zp|pN?9q8Z-MdawDfAdcX?s4_--G^-soULzPK?~4dkTTsuyXlQuP9(z}J}-K%o26^0 z_xblY@6!n;FezU$;>>=;8p@@G72X|T?5ONq8%TQ3Zx1|ms}!FPed}FhVE>y@cNc!I zw1g{0a7enRsiU-n_?o>3`iO}Wl?;B674f2_c^ek>y-&gskN#`!+J+N!>%W5w$TkWZ9cPbHBhTR<}o=5OCQV{=jSwV~CQ87)m z;#N<<6*NKEO#a1o=4(Fw>ef2`x)Fcy|ltR2A*jIuEczRkfM! z_nNPSgsF|823v>Wug2~4Xm;fBzckJ3NpjfcS>`wZ$}OcGYXYa2wRyoh}XKB+0qfNNFx(RRP4ZuX^PtIE9X_Ymf@_R?B2IQ zZ@Jvfd~wI=RVK;$rqY=znjVMQ!a(a}l1m(Dc}*k1n)mSs0G*v*_%r$S-3&1IcCM%9 zxicr6D!vDOQkPhvIPQoOF4;~Nrs6Er?)_!!d{@PSV8y~ZyHM&GAgYfJ%W2YgwKM|O zfuOOcQ3|Tn+m>5+`>Kb0D!DIzmHw@(ue==yBwuj^W5;$j7-xdTF)4sz?BV5;W*y_H z%^xXOdJFXFX7u)LBNb=jBmeDzfiE7hSFoSIH=qErBC6ixi+&_oZe-q(wllxB;n|`7 zeiruf90J{MKZ^Osg)=HW9!`}9*o`Xp@#thn4`CXX@ind)PQQDXYaY@P+9{7R2PSpNxWBQ^w z#Ex&H15+eAoBJz4)LNKjI`rr2sA<^wE5_{|MMzdlr|@2+AcD+CgXsto;1@H0+tTYN zE(RItVoq?yAe)|+(|;5Ali0@8Kadf2+0OfPs?}@Om!Nyil62HGP&sed52UR82ni{Q zs}{iW4IqI2nOQXogxR)ol?OwiS^m&)L+;JkE_bv3ul_IwUhU zOd`0)9xChGL+@d?J-TSX>b(q>#6Z$%JXHG1@ zdTA94|5X!cz5FgD;2wnbXkXUSc>awY<4bU}?5*G6I0@X<<&^UEVja{?f^Eka zY!Sn#qgn2GI88=gS_-LbAv&X~{znUFYZ%JC@zZEY`GSwc+e1HR_4wz_F6S!I_iPqU z?E=ZSn;i06OcFvsn9s>vJ+odx+m5llYbgAi73Ko@9Ns642%fhV<3sYy5$Qc)9wMvD z@q;gq`ulf?au@Rm!f4rhMvt5KDgs)eKHg{kX+FF>;PzK~x;Bm{sd=?^QQ1ah)Fj{=v6c9UjodR1>2SNv$Q(W^e7xH(yv| zfIZxFSx+Ot4#%*&csUsz+uWXCxAq8|4FKs;pKVe9N{BSuCDpzYQhlvfc67k4R8ccW zwJk~WHayS>>{tKT_-7UwrwTHN90~18 z442|3Iz)P=$)J2y@0YzwXSsGJRY@Wb(zktI+r=2>bF~*VvDnn|OpesTq)f!WvYC*{~IQb5rh3TEK-ucOQ zV*IFpQWd|pLPQ7mi|x_!rU54hNRGCy`rvtwdf5-akXv411so&d%E$aAUz3yWpf>fX z^_T=`9-LDw%cEL{kg}FHLu(dovKWBg_SgWrL=y(o-aO7k&!xG3RN6?Q4zYA2orcQK z;*#3c&ss$2?X{`KQ!k=kdm4GC<@p}+uCPxv8eplAu(}gof>Awmwjs|<>Y+E#(qca& zihYUosX9H;-v?K_HrS5dnQM-UNtHfEk!FaRO^jnotEyMYXUqEHFipkl=6i2 zA0@@uk8(t@ZS$orlVR&I+zNV~={n4HO_$-23x|jldU3Q<;?5Pg z6qpcr{mS==pgu=AkK>@}Ipz=D?*?vkwlnxbd)Um``?mHvViTGZCPp5{bignWwnRz+ z>IyM2`jg{TlK>aUDW-0#980A*70vHTx^UGG)MSO|S1a@Y3_n4mc%E}Daw{iAM{_D} zF}|r{zd53r6{HL99+auqZ?^kb|H`Y)<0!S)Y^Z%vN>UZBeI~O+kmq1}*^*@0=SI89 zwLdo=e*MoYAfV1Z)bsuO_Y<}Q+C(PhH8mR!5A*XJzL5vK*2qmI=Jp*Mo0;9B&~NUt zxt$@dxfiVw)_qEAuPoGaoo*+jE28z;=$HEw+P`T$o%{rxmh{Ul+@)W0RsmEXUO2JS zIhKRY_fNl#@++s^4Kh8l)(bP@SmMC7xHC6zHUuH6dJiar$uN=8#Sk0vvis^TbgsZ{DX+PMWEVCd|IJT7Alp6%?>Z(ZtFYcXjt!2@Jg zUHx_k@xSeUG3c9_By7W@U-rnt2;#eU?EwFx$w}0H?$F;=Ay!Y%!)H{}b% zry{Gf*S|R=0X{ce*R2lB-W@&RbfD$sE!V?+kgba>q&uvi=h3@YwEKCS9tu62>kg|v zzw3q`9i2QBUT-=aEpGyeSQ0jw zgPjd*ng=mhJI8+)8v)ane9_4wAyA+%8(1gqRMO2~{Uczr*NZLrG^d{#Z?>vd$-GIs zTbPx5?GR-%zs3X2ndfP4HEUCa^t7nnWATAN6ws}=kdjahb6A{;fO&8rn8GQ>=Xt4OnL( znup|zO@toJLfXL1jK;6x(wWixyn)o&zNb3WZFEmMZ9h$3Ea>g0xvTpIxr?EOpRu2$ z(H5Ll+B6xBBYKZZd}Dyf&;5F#^u>6?#l`9BQb~u~+B>%=Ad&H!2CIt9hz;1z04;J~ zXc-9G_>zyq_tXj%D7m!sYWS427oyDVTeD7b&H`T*P%v?tXsL(_G6{P_Mhcgo4l^JBm64S8%E;aUah1xYO8FcLD8}JZHfW@TSD|wk_GB)HR6v zw@seN=cZf2*`|v3Vo(JmlrI$>;mHA4oXa&8R4OmiNh5vQHo!xF8*?O`D!%IGQ>rnn z&skMD$ji||;tS3105y721;i?1zRR%7ZrY-{e~}4Oq{q=S9`e6UOF9HtzO8``Q;l78 zC#&D~xpdt-ORzJD+`d)~?IvH${=AyIt81m~k@Y4Y$LQ7_+)stPi(3)b&CsL&-7{0Y zd5@5Y_EzfjIc(ua=vJtBaqErFmxx(B69@ z7+6>+yvg}8*!4V{C_bNE{@t#G<@Ga8yd^Jh$4te z9Dq(bnxVV8;@SEcx{h>^5YgLT^(KyQk2nHD0oZ*xIRmUyAL#(hQH{==HrS#(z|{#Q zMhVT{n0O%f)Bf3eF3eYN1_0Vb(c-*c4rZw(jd@w}fUpCBw$pNP3MA4&TzzPU1$<7; z8f7yyw1oKfOxyl4b#|!5uIJ#WMA#X2(dHq)!uozJ`uC7b@We+S{;9<^-CTR4Wl~^j zH4aCgetQ?ZY?1eiBzL}0Ve^*E2Tv|rLf~M?%xWSbgJTcm-ksA|zj19SY~U`*p@-h6$>FM0R@Ah2AisNi`10GVKHXfb zws8Ce8s+;3g5ev8);YwfJo};1d*1kkhWud^V-!FuGejCJl(KlzULUFV|M&v=Qi%eG z-zXc8#Z>+%o07WRWj%b>i=+OGSQ3MP~b47Xws+ zp4vD*{k7)AG8w7ZUo|v83W2)RDjm4(&CcR0Uf7Bdlng9w-PT074e&%(Ou&c60hQeZ z4~Rfke*J(p!opM-E4n+O^@~}LPH`;H^M?~3)srwTVv1}=B9A0#hJZFeLsl&RdPrq( z-pgG38{deC8?tMt;H(cT)m%)#ZoSWyIn;Bnp(g~Rt8Zn(NlPG|L;M%1i8fW+@efTM zD|9*F9!Q!5n~PH}YCQyy#w4_ak5Dfk<7jQ7?z!v9`V6l21A@hE$a-p>nmR_k2WFVZ}ZgHbC)R3ReTr4xU4d@%yKU z_HvH_8L0)yG}5;yRrFZ%ZQ2F_XaphlS(;F8i*gd<$9m>ueB;yAopQAOqqYRFaIs=a zRIP)2_~g1&$>t7B(9Rjdgt#ae+e#Q0H?09ccy%Cl{OVQp!xNLULacG4To9D@{=8E1 zGPaH>_#&&HhUB{H1cGxqxkC*69s;p&ssWx4XVj@oyntZ4sb58vj!|y=abd zh?-Jv!`(4jnL~hQ&9ftbEVRa0Uak<3W$r`)-ympt!lz3x=JKdzkNXpzD==<6J6kjb zogG>(rGXKx%r-P6MD;QDoZ@fQM^!F>uC*ZEEsHqMLqh@t-Ae2dK+xSDnf=mOuLcOZ z$;YUlE&|A5m9vfaitv<}A*}g(*S>FNf4lAhAyGSg%U%6@+C2a(h~% zkorl^2XgcF4?@J^AmkNv*B?ps6_AfgLn7H$aUj(7h7Hv-jh4&Et4ma(VC2nmM^wpt z{nL4;Yq*Bsz}YFu{Kk2(z`*__v>y^BL^aSGsT^8rqZ2mkg#&~=19IsAAV!3-THU`^ zU<`}->|1d4#IjCy#8RW@u5^L20*A|3GIXF$(?6d5R^t>%l^Kn96sn&fSc5L>;}7>X zo0)0;z>jvZpRXm5YnF?73d^q`3O|~GRtWgG$uINjA;mPF_eKNw&ETmRK~@E{lw z)Mi6@09vwVvh~a+7FJ9QESS{*N!8r#*@{?8ETnqm$*{}&m*B@)r^DeN#7@`b@FcWm zLD^)vqzLV47G17`Bc|t%Ro%G%9uM@a_;fu^c&794#hzQ2MSAKe?$_UoY0{QPZx0|n z_hkhOdHovKaq0@UP-^=7q^Th4% zpgISGMOLU@rZTQ`B=Ag0mS%st5VKiq$Xd7*19okbJ!}tzp-vJLA1wg0_mCouGN=Tq`c4gLOX0} z2bFBLx_|0|-EJQ_cX+39NK$TecP$Q2hkx6LqKtyFQflj4!y(7_+GzEtyHBm6n?JnC z?*UbTB~8GBiqklR4sZI-J5seMytc!Lbif_9n6&x9Z8-LOb!gGZB?OUDpSNXl_cmms zLUFd?*Pk`pr}q(%Dul7P=&V8lTp9RZh@;SzsJwp(qBl<_%)jiD z7&;?!OmdC?1voLDr$CMRm^z|;`swqyAN>Dp$XTQ+8JeZ%YLrAp;5cVe?wLM=aNAL z2}iiWxQWlwo`(!3kvALT6!r50;n~4MT58fNm|<8y_ExIZVMz6tcM_|-F-#Yf06Z|XSMAdy$tV{{Jh&%eCzEwyoc67XH>%dWqa20jW#>RrY{ ziBbuQu~=@_>y!anWagECY{blK#~3x;C4EjcPbXkR<+j)*#!%sX~Z9g0^BVA?Lx z`5siez|B~9+1Tt5o!SegVaoK5CGiC53K7)X^x_|@52q;Rsc{ox{KPjZt* zQ)^$_G^S;f;a!;WGuL*@NtU^ypdaUA)ytD7wVeSH4>t8}5|&MGcDBq;#m*T*pXM2w zM1{Gp;XixxoGpRh@-xmH=mq!~fBvdyEm{yJxv(d>cblIH^g+JA{o3*{HFV9I5jsDZ zA8c!;`Q4A6&fMOtaz<7mSk$ZpN{V-|d#VoPhijfERFLzd;;UW7wjZmlJ36oSuFm{o zu7;JIay;C=JTqM^=D02Lkx2T;hEC@Bns$B&;3p#Zs=Is|hwYHr2ZqTK+|=%kZR$TU z-AbpYUid`Hj-wwpr^Zca78*);wsl-|kcDy>*4sa2AM`L12rqI>`8~ z)*#WsPaXy7{un{~Ua#~qqsdmqvVx!OiWLRGPu=WD4h-%vvy|;24iP=YmM`8ptw6X0 z|6hih!{*z)gOQhHxZmDJb{|K?DUeyQ+AeErPmLrRAw&by8@*C{w7oS15zyT4JYDis zFsF41Mi;T0pGg6>YiwYmDKit!tVw&w`1UqVj!eLHqjCr8M8V6T)Sd;E&f_7W8pGm@ zYB~?@_LJw{3&KQd9c&UrQcmy=nJUBow<0Pk?4r~g5nI#|>nfzAZGV`n{hv9U+m{$? z^>osNZAenjCD~U#65MTU+PY9H7PLw&({7`!tI!yF@AY&4?Qrj~Kly>x?ZUuEJ5lzb zKy3SzNAKvc{Gk|b_SoJACMveA?>wa2=qFj&3Zt6;z+1)zR$MbY%~CF`5cmd#cn%t0)lpct(X7#jXNpa-u6D2W|Yp2JCU8O$j)DlL{?2#T%^ zKDX8P-kYI5MZ-U;0C^M|s{4>(uumV3Sebyrx&=T_U}()lcd69dBh&Q(p?G)nup9Pa zwqEQ#mq<$SGT-yX?&sD3uY+FvV{>w}3z` z4j|z@24g0_$^GkB6F)J7tiX@e;g6R>u6)44Z()&Hdm%QPX}QHm7YJlmQuh^J>Kk7K zLkV4cnSo)__TKb~_pylqK#RFkr{t2!0U%CsTFG^RB2A)=RcZ8ySI6LwtVY*{HT>uN zRDQLFHc~|-0pAXxrJA{1mAOHC8Hq24Px9?$!_rFXs$J4fe6CzJjupIM%a_#beLQD> z$k>Up07;X|EV`@cpP_si%}uUczbUsmRfcf@h^bS%+HhiHjU3UdtaMY6bE>D00{pT^ zXF7-9ks`GB^B+elY2!D~iugA9fQ|fFDq5M)CcWC+iE;Y3agxK*f;Yi>NPmthq%AJv z+P&V6i^4>Gbwlp{6xNF?x#BXevb#S|%+&zQ0p=6TRwe*WqNqb!0Ur5v4^xPs#%YXS zAiVp)BIV89!*)De9v_gZIh{&5AyLt?30+U%*nu#H?fxurBVLBzpGrKUs?DzW$sX+M z9UhQ%vu)&=vj3icbu7QJFIfl1S-#Y6e_1?83d_E~UiO7r0_R#}0@bbK7Z+EXc2SFW zh3GQFLL(Du^V@QoPX>?Njc~=276-2`Xb|nn=N5A57`HAo4KZsEtdq~nu)LG*lIc7H z@yaF%fK4#o3Qp~8>%C{vIcz`z*c*5{#V# zN)3tT=!p$?&wtxQ)oXz_6`K4Z&1R{KV$u>TsXV?FfQ99DCW9kpr_9&X4NWPGf4tJffeMh+)7@m;eaED=6y#uVvEj#dv?M3oDuR1;dKI z$@A?vjlNNB3?H@GMUn$zN#&)@$Rz8ZJrDPpOeev5ccUAEwsqgGaoo>9h)`oGv7K%CUZF`oKMBD z$f`eIU|GSerlsrqF8t2_jPv@EqDKeg5A=Bb7{Ocp26KW+ycOSE3wxd47aB@pJ=bV# zfBs4Q>jVbFfXkJypA6`|F!6zHXX;>C*cy)cuC;B_ov{h!$@Tt05+Aj;F<3Lw3Diu} zvuB?>>2Q(jw%azLV&49fr@7aH*H0Ug8E3iQu2wQl4P+ZgMelKc?2wXlA=MNtjLWJ^%5oo{v+vD-fD#za7wp$)u3T!&a$Y_b)Yv%qk>Sb_ zmt}DQ`|tjTYmv9dk^lNKT%Z#E*5fhR=`t;2hPHA5X=-|_YQwr8dzKKT`D9>=@qj7( zj^I1O>=rCTYdJ%zw9#}~1!s9%7leIvj;7XpD^>ehl159epDP=< zB*E2&kuVj;Hh#pE-=8Q=tfa(1XvJ`HF-%4rlUh3i=b3fcU+F z1Nz%auY+C(uW5`xa<#pQv)_Vbg!-W>ks`#;r$cHZ_sz&irSbGItmn*gYn*cK&;j(^ zEZXQt`A<6ffwS-E`)CNRx$3Ulij+qvAmkR*c9=l(q-`}TK`IC!?ZzjI} z9k2YmGDf3MY4Jb`^gCDlULXjl$%sFe{!RSD1keq~OZmk)Wd_R!ZxtzCkvuDPrj{I_>{vu!3yEqBuP z_N$*4@Us9#jT{uW%|g<>Kc$hPa&fn9jLWw>y=P@C9C%WZ9;NbS%a&id{1WHPf@kFo zhQw10+nHZ=U=3qzj-683lgi9wnVXGzFg~l@;o3p8ST<_{8{_p~8~2C$rUS!L2LSxU zwH?mxo`kyqHavX*e(*WNZHcUeyufaf&`90uWuDO9$MKGZj0WI%)_7XL)Yr6TYNy&+ z>INR(lP<*hd_+>mH4%3Jd(spH$6#3uK=fiuZ_kLPhZBI?Qbb?U+o(Y07N~WV-6seB zd7l?wk$U5nDi1aI0^@U#ZatNn=IDC;96`p35x1 z$*kM(iM0gL0XrbDP1&h523yCI1IG8t2Uu-{#*UaC7vuV|POW|i7BEs*eoOO+H+lB* zu*d(U&4(u73HDq|J| zyfhZ!FM9Ho-p9Gc*Da<@KZI|TpNCr)i}O$QMgyvmp91r|&dG5KXJ?+I*QVE1F4Q9_ z>seA6d7mD&yTf?UWLVDQ7;?(lG5vj-nxyiP7zZ2xu?6A5I`f+ql7s1tZc?H7v8B;T zYWzRKp_INdfdb%#ix~g?UUiC^oH>1p`h!yXBm0}U$z_e+OYo@`Up($cZ%W6z&M&j( z0Q3pO@Ypg9UOz=gGG*c&b!Gq;^kskLda~UvAN9XR!TSOzx zL+WE7|CY-g$60D3=kBo#9_Atd(%=1JV*`}TJD=NGkfXh8l0(dHxsFYAT;cTJq1L~4 z7@sBHSOGa)!`P1H{6D=6d?=lR&}_(>`b08+@?11Df zK9JoXIW;QJy}0^D9ltQ2VNcbwCSVE7xK#hKp?&Y7`rYu~#xI8Qd*4Rl&S&}a!+D3z z0|H!Xyc2`*(k3ZCc$(tNS_756MVhjm;eLyYoAH=#B<3B!*)ZZ(yX(m6k%~Mf{OKkN zQ6J_EN~^mTc0BoDY)Hg&vvfV-C}M`SX}rU#{h8N4p+{e6-SGp(j(ul1y+m>7R5{}j z4^4vQ)SnYbB3{V=N1Hj`u3fvG{zyu>7uJr^UX_5*w$#BhH2Bvqx`Jp_{di3G z8O78Q)Gkktx?SU480fM|2wb#csQtOGtN@(v$9-upIWloG-yGVv)Q2`fd&30e=~HZ@dKGc0Q~y`Pvj# zgE^mwA>Gc;-C+87KG&mP9$GqsVd1l#YuVyA{YVXXMzgYvyk*MeyHHc?BG9n#LHp?= zB;kx?YJ2VZCytQZ&f>wLU$c;kV5B${0w?S%%rc7ET5>v*vP0Yie=v2G;LsT2-AtBK zO6w+JuCt=7gRDMBx@Npx;SP!P5Bo_d>Oh@m;}A_?D;4R8xcGHqXHn*N>|SuU!Wq79 z%%c8L+noK?GF<%q@L;|cXl6wNuMWG{&tkiH$YZTJDtR9uEF9l^IJM5R;Or5?{x~kA z{^;H-b~mH$Ek(*|W;G(;nNr}MAZ^BT=IdKbKyrw9!s&5q@`JE}$6yJPz6z=1?sN>I zqmuzfj3fd)-UUt;heQVIEAfd+3Cyrtr{^63Bz-w!@AQ#R)Y&mdTbz5R7*=5}+exut z8I`JSXEC=>0po!bg$F7H#2%fo@|4rJaiF!?)&6$jGqbJt0`b925kH+CrIwfSaa%BY zF2=K5V&}?E8zMiRk}u!11@Vq?&wTq@sIS`n zUW!ljI&ko~?h{z_nljOst`FfD^tdg{(`E=SZkZq7ah63*7ChLkfXBg*jJ8L zZQu2-VMq`p7+f!c)qy33P)QypCY`MsLq6}rkLAd{pPbr1Ca%~TnA)+RF*gXfV3;OG zYuq^YA!&UH1v{dq!&|#pab&^8Xd5eWMG^5Pm!)VM5vM#+a9TjN`Foq|Sg79&GcSLH znU_Tmc~2L5&)=SJGLKk{6-)&SlEghOKpUe1s-UO&k45yRsX9I+exdBPP@7bCulL+a zf5l5GSSsU7`p{txh2r=vz-c>a-!3EH-{!UZHYS{Kvb~ceX!-Kx`|zl zDZ)x*^gMj3>@)pxtI}{l+u2(2OA{x}aw9qPQS%h5aU@xv+2_D>MIiM+n~rf#r_z(* z@ncbj>aFD%l1W8m>U4XeyvUEuRU#-1*hFxXACMkzNO*=A`lnfbdlmtUe*+aUU2(Xa zaDZ!gwpR=VEg;eQY%6tj!5E-@YGKwxcMp_D?W=sl22RVHKS7I zvr9Y!^zwM7K~^r(ceVu5ot!0s*F+AhaS5~Ep&2hQE`V%@RMpYhQoFF-2LktkT1w1LRbRm=Vn z!!Hhsi{6*e=657Dk^75VqZFjYm{^9i-)1;$zwLll)GHWmfo#!Ly$l3*aFb!$hALmY zEA7G#vmemQh;P{~v_-*ZPFnCPHyTp`#;T7SFGhbxAq$aGBQdHg?@h7lCjgLus`Eww zSk-xM6dP{6Rpx)q!*Kf`lCgc47RVj6C0p(W#{1D>^3?PS99a_7HPjZ*|0=;q@H?+khe1Wff~$CZF_$K!MI!TZy4cxj%21G0@l=J$2C zN&`9jfWUFa?#O4OBb$f0FV#m4fe!)JnFUnH5i9mPv?by_HTI~q({WI2Tx+?zRSxNi zJ7&or|CU{G?Jfz56s0;b?G(*y?q>&7c&C7e+0(H?hlVftGJtrP7|7KE}R=OjdL{l-es9K^}#ee`uO2%ZHaHd?3s#{dj>V- zj?Y_CBt9EEGOhitkukpd=GPFEj$NQp zM{nQ?tFuMxjLaACR2^2;C~Urw9ky+2YS+5@oFu3|+|piM>BrZ_HpHyO(z$(=VKB<$ z%hrPVO=vB=dwzp8vs%i%VP$7%YCE)eR(i$ke&;bz>M#pb9pXdi=4(CItE{wF-2;rd zdr+bz^g%zn`TM5AWlZV!Bd|LBHs@`NTS2^xe{sEK+GE-fBWM3c&gK%bxkhaBIlPWM zPB))1#M8 ztiv5QT>8)26~J-Bk@T{8E&~&21`_1nER{6~;Yn&v5^3n}&y3vh`0V5X*SM}ih4AEq zx>N@W0`iQqgAfacFS7_(zeb&n)Hp_e1yZ3tvdS(!2U#lqSB%5oSD&hCO<3m58L$bW zJTLn0`tfwUBg9X0XD@yCgQ_#gO&|p5vsA%mqZEb9hP(U?#1*uj%+XKH$=2SrZ*!4z zR60B`aY9<-}qMUo>0i9VsJQpT5{jvk+D%8a8f-2sjp zZKR91&(@^?8#mr(BOnb*u~93!d-cYO;?b6<(2MDJtCL6$*l`^7vWWKi%(Sm0A*LJx z00Rd2nm}`fQ_-!cXJiEEU*juP%v2RDaK~#=@w|N~md@Kxo#eLPOv;5_O9ouh0cUS# zsv6^ta}Qhp)&tYjAiE+^&Li&?R}Y(_VWPNZ_gDL>vtsJc!&-!(i1`)4m|KHn_?_{5 z_lax`b4^Ja$BagzZzSc5sjj!{lE5tu>*W3LQFv8ZseiVE^q`X@*QDq3Sm}mx!G^*0 zk(vV#8UV+FX;?(XYju98#aK~Eu1*e}&H~t74Nx3gUTFB_k7hdXI|9F=lBGlj3ddr^ z%la~9abG6Hx%J2Bj1fFV1{=u(hBJn?M>}Y52eNpq=o`FNxASAv7`g10YMdid11^E19&|^ulX?owF5I!-aeAgT zOpe(E&(A^L8B3?{k1gT-V|Dl`;#>D8>B8^(W9&~F4{0`BzcHnnJ!w&z!+fhO#3^Lx zKu#NG$WZ@U+=$;i+T?T!chz}ko!^SQ^@%$yK>@_pL^UTLK-W}Bz5qCkiWLk`Ft~^* zBji3ceGv~F`CH(`do-#*^5y*E$Ef?J-3!#`K!@gLcuCv_|4_GepIL`-kDypp0u)nN z{YE-Ieh8Pf!@4ccS3Ae;xr8N-X3CL_!=S$g?4lrv2{K!P&@M5XCTBC2m<*s5n;b3E zQD*A({Xa`CJi}k#9>p;fPpsfvltvrOb#L~ zCmLG6Mp6mgF|4zC7%5K(O_j72${0Cmz9W+Qz)e1LR0xYpj!urjAV%e+&PEp#nS=Rh zVWB0ZB}**2i`N<%Y`q6NR}KRo|EdK9&`fh4<%Xp9QIt#PgS)zIwR6~M?#mL_k~GQg zc@UBY!a8fb`iq*cLrwHau19f9RcI!AmXEQ#4?-vv5Z0NaOR@!3cZp`Jfo6z6mK|ffDBf*HZ#-3%XZpl8LB3SFoWYbggj2!uw7aAeJh-s0LWvO26m6% zdCHsVj@~YDN`$9JLnHvkr3a*d)0E$Y)Z8db(js&Ll>)9NZHYBVl}I)y`*u68iQt69 zNm)2WN1a@UR7pu-?eR4n-_P?^hzq`~&)ZJ3bV6$_K=WPeTx*fsXQj*mP*$ z-B5!(TPYVMGcN~uU{5KD+@CEO97JXc;seO3pPoRStU^&dHb?OQ{VEH~a)sbTVYp=T zH1JUPvBpP@`Sl?ClmrxRU2#8*U?EE{WT+{$IkG`T%U|xIA&XTe9U>ht8qnEB=~8w$|A>o!v@}@wA6Y!lQR(zoIg5x z9t&7|@`{~;p;49(Jgvc}fV^`0*S|NHe^J# zbndrUzkjDb@~faU!dvrvB)#yKnbW_e>TQ#KHzDolL*=_Vv}ZZ>+9T;4m2)jN5eBax z&JPQDyYIc(;8KfSjn_HHYT(fi?v#A|uBN&43V2WUc$Xdz%?G(1EDHdK;rioy_6Lt z9v4S{Omg9HUE_U$AH1^-f?w!03A-lg3lBEJP*udsj)Q3!T&>txW+>&U?vZ9bGU!LJ zj28{F(N;KQ+tCUfP`Il`;1omQ0 zwkEFMM&NTCeYzObBI;K#Ck911r@b%cwDfK3rE%k43jdspXt}Lmr^&>94)n$z1m?#( zkaQ7?IKh^}4Rdv?>s);gzLgr3PxM{5QDLH(qgU~U{yaGSKa=so-&m~_7WIZU*G!y# z=E9fqTI#KMBaz~~wTh~FxMiO06AM75G!&%u&V|AwY+b{V3MtgJHeUt;-h{7y%-4ld zxEx-t*tqB~_P%>^gtW$zC`;k!KbNV`g|ezqM&|8l50D(t%EE**w+8mA*W2lF+^?klGGh*A&$pTpNYGoaLKW^5{ zJ|)3$hIKiRUXrhFzHK5i4!kXqnJzbuJ}hVa?pKaAYjbkPcDDrLkyb6_N`}iG#(umR{tcx@z^u)*WE-)tj#xfr7dnY) zy*`OQKg1Mz^0Zzx;#md?k)=ji0@615!RtA|tqv8$f5v}p;KzjR#qNq>oQCkZvVGG+ zA@ox4%hD9*6pI@H7z?!9Pt=^H=?{Q^M{Cczn>*$hY`A&Cyq1i{@VW2v?goo3VHkpl|V_2)RU_#JV11U2uv1`+qPzNsX5UzC(fq4{6Dnf)$P zEsrJL);sZpSC_Xs+Bsx><9y1K@=sluBP_h1nc%*ZVd z3ax2@BL>OBg;QfVPvU`L<*}EJ*hBxl?!jlxSx3838%VhPACT9u&_W8T_Ma%8Al9rI zN&Fbu)izXJZ_%z9=V8ZGOE57fp5lT~?p}Z;{344QKW|yLm2CY3XXfdt5f<9#wra)z z549j5gZ^&Uk%+tAcop*y57Pdic$Rpo9*HE*=Vk{Ns&tT((73i2-5`?~@2FY9;G(Jq z;8f1~SUx-RRE*s|1&>G#L?{@K=DiC64Dfe&-g$KcBxj-ho^Da) z7MMvxHxlldEG{Htq|wL7eQZL5b!i_o*$xRr*)cU-kht% zy(MeN!}yq_(Y%z5&9Opcjt7q3EN_ z*969(tao-PEBrjVqJ6Nw?f>fe)eA^VsFqiVceagvB17?#yq&zosS5l(INs@z^!8r} z8m^-d$6GiM8;8coEovgbj6CPKw#8W*Cpl^xcpz!fW4hi7!t z;O_vEM21eG=hXnEPLdJdw_YLn(0$CJFrkuGc&Q5~PDNR^-Ag!llb|bs@pL?`Dty8w z)=-Qj7}c}p?ponIAtXImHz3SNEf%b_^%vY|LfEdnE zqAgLHk_DWC&0iPPecqWUeE)bm4$k_&XiSEB*Zez|4oMeuGHjl)D!xh!@AOsl*C}`6 zgE^N#-~+^>F&AJ?Y4fJy0ouN_!e!9>+NhV+LX|6l zySzguB_S6d1dnN$d?7PX_-jrs2EbeY+T_D8P|~GD>kz2Q1q|)?6NO+|^<`(oN27-K zjDE(z>ph3*_Gng~ews+D{0lmZuB4z(UZwCB`RW?seipRz*pHCj7+xQ!$nY zf#r(4TB0e`KRnf0=9M_k`zUNuB zT!#ZF^P;fQ5P>J}?iQ*ZtKbwuC)CYNYUw>pC%klz!Xb(MqR#b$E!2T}vD(}4l-Rt% z1W~Q3&V6y08~NFkm4y2VTlpX+2fvQk=a6!)$rB@f1TK113BDFkeyo)>P~0m5aU5ku ztE$&<@X>TL<>WHK_gFF~?=(;LQr_HhD|YShAX+NIqG*c!#C_0>O1D_iqZrKwKd}02 zG6F_>*FiGP(1QO9rlcw1CjS=?fGAz0ME@OgHaoeaAy2tkq84Kin;l=26Q(PRM!@YG zrNQ&d+4WhP{a@T1WjMxWcXZQ#!XkTssZ2&XZ6B@Z`{C1n)?GcRZ4!k z`Ydp%1O9t?+FWmtZEij)uI@qNBaJd_OlcI#_bng}F`M3+j=`a%3K!&>v%M<16+@B<8vAJSHqy+hVtIE-^F>^OduxNzQT)aPF( z{v2eo$#HB98tH5&P>B1`A1`_89=yOD|1^yVQ#h)2dtUa4`ByxKyD=R3PS8ZI@^jOP z@|SRZS+qA`H+nsoD5&_QY)rL`+M;WftPLPoM-7}JXr>w{AHEolOaM2+>PBf-AK&@J zLo0bcFFPTdOJjd)>T)-eLl0^b7~uQ3amLBv_RIY zL?~4^nU!Mis~k=hPE|aRW+kTh+!fzYF?l|OzZ55>sJ3Bhk^P*vM|0k>x3*Ns&kBIz zGl$SOZTsk_lU%ixnejNkdNOR4RiF7wfkW(p&6@eOz#kW zu}$*HONwf9QJ=(3#_YR*K+mysie>dtP`%|j(!V{A_bh(_?XlBmM#iXV;+h4VSOTvkkRzjpxzAFoj zdm(|$(<*=jmWen-`!zt-+D6)H%+p<=#ugCL5s+4}FM^eFOc8JylmlX((sQ+O<3CVa zzAHr|7}q4yf6ar1cvNcPCR-C{%=Mp25|F0!i7lUGbMK?zAYg@sUf)~ zlLRok`oE64BNt4t!jMh{iASrU4M^OV#z3`4-(jg5S4zIkOkyUd?&PP}O(lDRdOO{u zobb_IU(ozrX@S-quL|vwhacMTrnWi_NDCIUQ zmkq5lnl3h^MD7f#)N;M%ziA5Vr-^C&v?TIQ!G+Yzx?qVLS*qu6i*RZ4WO(jBI%?Fy(opGkYrrrX{N&MvPFazx}=N~+;}hVg`vI__k9)8*X8-eKUgW! zG(b=3>^pznfW8)AB)4*oJTq3~aps4yuPh_CJH$ZcmeY2+Av9T<2F(}lwYRDm|54yR z1bT4Z9z7dzX6bPNH8Rc z>FiItGGIb{Mf}Jmq^=qibZgF?sK8|ehA0Wq!?;_%APW6(n9~#@pg)=t=e@%Kqaa+M z3`tlgKj@7ZPp3`2CF9+D=i=!txM;4Gu{`^%dIr}Vyg`>@F$W99XNMlB9d3w=De)O z4#HJWAGJ$cboFu)7=1a!a>4ba-y1I7UOW0URbvpF35{lU7XVtNxn#T4y;gMAPl8OaG&j>!Ei> zqEMdW%dAe|G|DbY8lwm&YblI^+|4&LN2M4oPzc_<=e@Tbd!Ps0-C3*S>HNc5-rA?x zLo;2|KMN&13cTny#eQbPZJrB@M?}_Vq=%igZ`@1c*D4=udn(z&`Wnlg^fJwkbjxMr zA#k$gB_3WsaKuWAx3_KRioV#TO3$lN>h(;&%L!L_&ksi%^?&vpaYBTRA9v#7k1QA7 zzbLpLXO3Q~`r3<#K)*Zi6X5*n9e*gDX=g>R3ia@64M6^40?H~!gHR_V{Vg)U<~MjY zIS;US04JuZKn^TJk}JW?`|37}n3lP+N+iBz2RIKL^;ooD2C{=Vh)=`04a?gGi|uyJ zk{-2hh^9NG{dS2iAm^U#|}ES{8Q(2McZ^B9Qu?-8I)F1S8RWp8_SIzy-WN$j%Y zjh<(S3@gPa`*n^RJ^pv|Wet_W`LX0e@3Z%AK#}B?W>+FgIhB|Foy6L%hb75A{{HDg z*D0b?8>jWCjOR@yFTX<-;1s=g08%ya+s1f;i}b@^l|eoSwRv)owuKpkiuG)@h>7(n zb%wa8^JGp%r~X@gHOA8BxTbVEZ^Q2|j&uAVbpWbcXm`Sk{cc$Rsp8&5XhjxI4jJHz z8+^fwJxz{Xx>F?1z9R>^ez@?rW8)w8558i2ZY=Of8cyf(%#+=j6Kma>=*^ipE}d7_ z5wvnk_dMTAfn!t_X?P?{5`vhevrOhQaxBtji@pUPHdPQ8&7P*!mn?qpQII@9Q3{ z*mMcp{r=nsd>#8Zv1|avD{*W#m3K#;{EykPL^t{?nw zRqsR06VIQX#>e97i@)j&+3(%78#n}At_Kk*t3cm-^t4=(U&Y!5&osMcUM7H?Vh-ew zojggN<4ZJG`I~nJR1`O##sY6y=lO|XM^7{-sz-=f%|3NHuLJ064UZEleblE6D6D40 zuEV(v6C#P?DT%8RYmuLQ@nkPO<%i_$1Gz{KK^J}A(ujf>h4ZQUN<`<|+Y?rRW>K`& z9$Eh-Fgx)z6BFKL!Pn5AAnpSu;S$6`WajwMi>qeB;LY1i%E@>itJY3#e5m$C@Gseu zpNSSG55uSq!&#wEPpD36hu42GDk~;&d~?utD}Jl#mMxFxheP4{3N?)OVM%Eh*f?2w zHeXd%?%aW zyM|&r;Wmc`9|f?To<}}|_$UlP&dcmfwj}nSc2-H^UNO1e=5PeA?TS|;LJ^pnC!i@q z&Q;Ot2gPM`PaW*!)A68B1!S2tzPI;FX)QhMO*}aYa6t%Ye!n+0M`V4;g+Q);1V7FW z_EwLV_@PNk-{}NzW}Z?XP`Rf!PLGIdz1S1Ge}L(~n{J36=tA*9gzTeZ?X%kxiTOZ7 zXRNP!?7_H0B@_9CGFePU=uqInDOf`J#O6)CsUNaVxA;s@$Dn_`G~A$=HnHogCZc|} zjElv=W^CDg6Sl$OCFZN@&+uZMO%+2nQNrKqBeFd4j)ZMQ?cwtd)IE8%(qbX4?gcGMvJo!f-;kZyx~?{Z zw~ysQE^R=!6|Y3EuLo05&rs*Wyp52+$nA!Otr>~cE`TglX!yKU+?gW4VQV0?*@f+t zoKulX|6+iT4%?xnHkiHnSfEMJcYg5lGuf1LJP`0aACC-MbQ8;XPHKtD=5p^NVTW*u z-&rStxY~(N|6!6zK7cKkRkGU3GtNHo>55)AOWOsF|L3V7buDKZN{AU^)n@KkJ>6PcXN^jYH&0*Jnna!Vd^HVpI z<@?R51%*(Yv1(IRhc=f}1w`Gz3w88;HR^P0$T_^w`b8Nzip?VWqYTr&l%a!fKj$pq zP1u9P9&7GI^<_tNdIX5f0XM)hk`G&+8ULk|(@9+HNIz2-;@)tT4_jmL6HIG#1co*b?}a6+o63~ z!QBcCaf?m1S7*KIIGjfM`|}5Z{$N&BS5&8F^XcVXWc5}z?_=ug*9MqnK9cSmRPd>l8)bDg4R{JdD%-~ohT z8{7ve?WvEZYOvyjr)socESZ^r1oo$V>({A$Sf&3YHUp)8D+@e&A`tA~peUBhUoi3%l@B5E`%YMLb>gwB}4L-lc zrPl+cR!dUXBXIceXH{>tX)#3q;|u+;KLBS<0T~}j&G+So7x0D|xc%+zJg4U+QKvV(;cTOKQR6 znm6vAR})uP8ZsL-Z!@iZH1EPVUVYS$02`4DVM_hW2SKG^;WC@Hpn_{a9p4{Q0M06v z=M4$W@nAxG%7+Es-_u~>_%kd?kaeRPG(;gp3p3K}@Vh>4^~e*gF!AqpZGw3p^QoqFqx=X`4V5dRl;?MqirNxzwgVCY88dQjilyTGNbao z|LU)6_4h>+hNqJD{qfjum{PctH}jA@=>d);KH|ZPf#e1EP(Z9n-0J+Ux&jvv?g0*0 z#;|t|E2*H!!PnT#gU!=;Vp|T{(@Ibi%KW7GH54)C8Qj;j-`iE;CyzywL2?Etv--CL zfP?~2%{9pR!-ftND!2$o7(0i<*$H7BjDlC4O74b{#?I+Y1sY2Z#I zcGdzSZKeBuK*lT8BnS=fx6yq*R0i(ZAAa|`Eq?rDW{-Fh<%zo5keela14#V6k?E1J zv8G%_W%Dys$najGTLmcf`Sr?M>PQ*T#h!r1w(Ld&P!5ppfFSicQ<9$?<~U`a!Hqfj z%;dwLccC!6l(6sX-*`0U(&U)GY5~8W%6q8q$p9w}wL!fXJ=)g`5#(kUG-E;`SGz~6 z;cmaht-z5m3R;q**I`me-%s3P3SFh*?=i_PfqhiPanub8Tj$@u=g$||Onw~aT&hN0 z&K=^tt@~<{Adohn62?@*Z{bp!aRb98sRbXNhA0}{8UZ|yBYd_!U{hxdb{s!A<+@xw zH=OH0%w&!gvW1|_$p@>?LK4oU7jTKsVLyL4UO2=Z149U~B{+7fqI@S10S0q+q zhlmp^T=wo=Dn65lpaS>>q4&Tl(#)7xU+sN$w+hbJy@S6Wm?tm%lrV^Yj5##N5+oGE z(j1B>`@aElAo-15IKO~P`EznMMVdpP(TmN=UQ~7_FQNlOvi*tUC61&lJgEdN?QU(Y zIraY#9fJeV%>9PTFd~wjvu6yV5|f|G$Vd#Z3ILs7z_@o_4GdWpI$6XFlF`&&93$p!&AD8e^?wA*cPP5^fW+*AO;*mqF`a-puW}Mk@_3qgdN$+dUq{7 zL6IkRR;r7;PtGbDBU~XD2Oi27m<1C}iOGCp@sL#BGKKX>*B3MEVW@O)I0uof0?b;4 z^%+(xroeWGe|iAo9$`%s6wZXF$l&HC!dd2KCTf08`w3ArsTJ6pBHqmcRy*p?I1URi z;G8%pTN%$bdYL=lPDFz#K$>|VuBjz|UbU)L`WR5B*9yIxR%=v+3M~KidOv_&ZzQL# zf0>Y}Bz#dH|9$cOqF~bt)gf^b3XUW>B5X4xOL9_m!|U;N7SZi^zeTmZ9OVGW04j{O zTmTNh%oqq9*U~Mg#s$d#wp#r2;$9eFtl#Mg?q6oyaJW78`@P~3;us|S^CgsmelWoZ z-PukItTLMJXhq|bCPc7=Pzt`L{d23&9hA-tlPnIXf_jpWwffpHw%Y}V`YFK;47dLG zftzw3wV&`NwTO^QDD?R*wK?=k#H)JuuIx?yMF5i+fU0aq}gOV;yqn1ZF`C7rL_x2WJo zoo^pJhkxmPy1v2&`bYDu+<=Gw`a@vLn!@tVPcdn!y+p72zB!Oqw{nx%hZpZcG8KE+ z)X>`=-2n^;l{of3h6$8|FM?;#Oq~B2qd!;?zKBIst%`sDS9n@*r@&>e1pGbEg~<6H zM*p#G`S*|iHdKH8FxU^Gyg_9P{`>p?^~FyGU!Es_-D7`aK89 z|Hhj`l=cmEf~V=;z)8Pn^gmn+u)2f!k?PL{>(ANlj|(q+fop*I|MT5R-iJ-NM2$~q zqyObjrmR9`bNbf-`up|&GE)B^-<=XZj7zGypHfEymv-+Tjpg6J2E6$1{H8x{;6F#n z02hX+Mr8`1`TG|8{Q~9vz4X7fK>v0p{Z}q|rUDpQ(K|BsK=4;(%KL8pudCmGcXZhv zX1pQ8Mc3M;i2|m*qhUJzo{XHr)#?a7lhu-dAh&}KcJEguLVTWmdM%#=HVjjoNe)d} zH3;RYtYKbVN!ul{Nlfjv=b}Xt0rBADuiLI2UEGmPJR^5LpI> zoCprRDm5}je`CTYQEyP6yPim`oPRkd7})U8`X=?xN=Y>6)P=NXnv&)~ip6aQ(3w}x zwO87LMHyyTi?wXOFau#BRXitc5SS%g;RU+oo_nwCFd`0(?P2%t%j_d04FUb|H$K!5 za&P)Rju~-U_jd;G4aHmegRGBdNemPCOzFx|*#!S>@L=*D@b5pL3|h(IRf>$T)Po=| zDSZNakH(8$DOHG2|K@kgr%e7pW`#Xu!Vj1Iz`G>E-UM{W^2^%24rq)>=%<(e{=5CK zsase7?J50hlKfAmpnrW1em@G7GaFH%PK}N2vUT<(B;ER2)r(=ai_Q`mYcgUqps@it zgKa245-UtSuPI>R&*7n7tauJPBEmMBf{4@NwCOG;Cer&LVmWjoKi9v}do9!|=`f<= z7+WF(h>^o@jeumab0K4Z(a&Hz-e|5SuQ_M2`}^hm2({iyPVjfCgZZqrE?a7sAEP0- z`8nlmY~b43(Y3lW%rCJW6Ffll-(}p_yY=$FT^u0c5~Z^IJcj*{O7nO<)?c+i%1>H# z4U>WFyg$q(fOZ(%JmJkQX?l@}WaJ3H2Py8AFPIDd{TlxM^gn$BDL)Dur^a*Qlm!a| zs^ah5&4U(})Wk?Fu7n@Z>)!U7puVgc3HnO6Jtn86sgCkpZKQRuwP_ZNv4V;`e0cQ0 z;i~o4I0cI~6^t$_3R|zS$nyBDSAm?Ez#TXcQ>Cx}$zLC>vmW8Uyza$=ZJR~?T5qc@ zRhE?YjedEa_54(nBpx%Mh8s_3dunK9KrMbBoKJu6HGlZGf zQ9%3TaNJcRsxrOUz+m`(EOqRFF^*A z$UFwO_L+|eH3m4wg0$RJ&Ju*`@ZC{)1HtXZr^A#n0}jDl){1Vgyf>N!pUiwoLH%Q7 z4kB7XL^B)Y(rE76#hD_`Wp9)~aGdR;R;M>`glax>%c}TeUo9nd4{Dqg$HplsJ*d__ zaPa3Yf-)8L%a1tCr{iuHVNy!Xnle(cRAP-g;^N}clMTnxfa=*d=728)So6OYHjw`L ztKXx+tq1(e>h#yz`=4zn{8r_`{2OykB71*p2%Jx&d;0)L0i2rtTs%1*w|;qx_||#b z&{(4%+^ zd_!Hnfaw-IL6fegbt*p4ZICfWdH@ zJ#4>tj^sYk7ZS#d^(7L1rDGuU8V2}f%JjrWZW7RYply0wIH!sI@T;b(R;}g_|{5d zGPl3wo2B2~(!s#%&v&NuD^}~~)+#@fqRBnV!uzWhpjyllkxulasU_(N>s{mPpxcU9 z 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�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 EAIq?Yi2wiq literal 0 HcmV?d00001 diff --git a/docs/diagrams/sequence/forward-auth-cold.md b/docs/diagrams/sequence/forward-auth-cold.md new file mode 100644 index 0000000..70fc5ea --- /dev/null +++ b/docs/diagrams/sequence/forward-auth-cold.md @@ -0,0 +1,53 @@ +# ForwardAuth · Cold Path (최초 로그인) + +세션 쿠키가 없는 첫 요청. OIDC Authorization Code Flow + PKCE 전 구간이 1 회 일어난다. **사용자당 세션 만료 주기마다 한 번** 만 발생 — 일상 운영 트래픽의 99% 는 [warm path](forward-auth-warm.md) 다. + +> Traefik 의 path-based Ingress 라우팅이 전제: `project.com/oauth2/*` 는 oauth2-proxy 로, 그 외 path 는 ForwardAuth Middleware 를 거쳐 백엔드로 간다. 이 라우팅 결정이 그림의 모든 분기의 기반이다. + +```mermaid +sequenceDiagram + autonumber + participant User + participant Traefik + participant OAuth as oauth2-proxy + participant KC as Keycloak + + User->>Traefik: GET project.com/api/me + Traefik->>OAuth: ForwardAuth GET /oauth2/auth (no cookie) + OAuth-->>Traefik: 401 Unauthorized + Traefik-->>User: 302 to /oauth2/start + + User->>Traefik: GET /oauth2/start + Note over Traefik: Ingress 가 /oauth2/* 를 oauth2-proxy 로 라우팅 + Traefik->>OAuth: forward + Note over OAuth: PKCE code_verifier 생성, code_challenge 산출 + OAuth-->>User: 302 to Keycloak authorize with code_challenge + + User->>KC: GET /realms/platform/protocol/openid-connect/auth + KC-->>User: 로그인 폼 + User->>KC: POST 자격증명 + KC-->>User: 302 to /oauth2/callback with auth code + + User->>Traefik: GET /oauth2/callback with code + Traefik->>OAuth: forward + OAuth->>KC: POST /token (code, code_verifier) + KC-->>OAuth: id_token, access_token, refresh_token + + OAuth->>KC: GET /realms/platform/protocol/openid-connect/certs + KC-->>OAuth: JWKS 공개키 + Note over OAuth: id_token 서명 검증 with JWKS, nonce 일치 확인 + + OAuth-->>User: Set-Cookie _oauth2_proxy + 302 to /api/me + Note over User: 이후 요청은 warm path +``` + +## 핵심 인사이트 + +- **Ingress 라우팅이 분기의 뿌리**: 그림의 Note 가 가리키듯 `/oauth2/*` 와 그 외 path 가 *Ingress 단에서* 갈린다. 이 라우팅이 없으면 cold path 가 시작 자체를 못 한다. +- **PKCE 가 핵심 보안 장치**: `code_verifier` 는 메시지 7~8 에서 oauth2-proxy 가 생성해 자기 세션에 저장하고, 메시지 16 에서 token exchange 시 함께 보낸다. Keycloak 은 `code_challenge` 와 매칭 검증. **authorization code 가 중간에 가로채지더라도 verifier 없이는 token 으로 교환 불가**. oauth2-proxy v7.5+ 는 PKCE 가 기본 활성. +- **JWKS 검증의 위치**: 메시지 18~19 (`GET .../certs`) 가 별개의 호출이다. oauth2-proxy 는 JWKS 를 *처음 1 회 fetch 후 캐시* 하고, Keycloak 의 JWKS endpoint 가 회전 가능 (`kid` 헤더로 식별). **id_token 서명 검증 (메시지 20 의 Note) 이 끝나야 쿠키가 발급되므로**, 이후 warm path 에서 백엔드가 받는 `X-Forwarded-User` 는 *이미 검증된 사용자* 다. +- **TLS 검증 전제**: 현재 oauth2-proxy 설정은 `ssl_insecure_skip_verify=false` 이다. 따라서 Keycloak 공개 호스트(`keycloak.dev.example.com`) 인증서 체인이 정상이어야 token 교환과 JWKS 검증 흐름이 끝까지 진행된다. + +## 평소 요청 흐름은? + +→ [forward-auth-warm.md](forward-auth-warm.md) diff --git a/docs/diagrams/sequence/forward-auth-warm.md b/docs/diagrams/sequence/forward-auth-warm.md new file mode 100644 index 0000000..85680b5 --- /dev/null +++ b/docs/diagrams/sequence/forward-auth-warm.md @@ -0,0 +1,47 @@ +# ForwardAuth · Warm Path (세션 쿠키 보유) + +쿠키 검증으로 끝나는 평소 요청 경로. **운영 트래픽의 99% 가 이 흐름** 이다. cold path 의 OIDC handshake 는 세션 만료 시에만 다시 일어난다. + +3 가지 결과가 있다: (1) 쿠키 정상 → 즉시 통과, (2) access_token 만료 → silent refresh 후 통과, (3) 쿠키 위조 또는 refresh 실패 → cold path 재진입. + +```mermaid +sequenceDiagram + autonumber + participant User + participant Traefik + participant OAuth as oauth2-proxy + participant KC as Keycloak + participant App as auth-server + + User->>Traefik: GET project.com/api/me with cookie + Traefik->>OAuth: ForwardAuth GET /oauth2/auth + + alt 쿠키 HMAC 유효 + access_token 미만료 + OAuth-->>Traefik: 202 Accepted with X-Auth-Request-User + else access_token 만료, refresh_token 유효 + Note over OAuth: silent refresh + OAuth->>KC: POST /token with refresh_token + KC-->>OAuth: 새 access_token + OAuth-->>Traefik: 202 Accepted with X-Auth-Request-User + else 쿠키 위조 또는 refresh 실패 + OAuth-->>Traefik: 401 Unauthorized + Traefik-->>User: 302 to /oauth2/start + Note over User: cold path 재진입 + end + + Note over Traefik: 클라이언트 X-Forwarded 헤더 strip 후 oauth2-proxy 응답 헤더만 주입 + + Traefik->>App: GET /api/me with X-Forwarded-User alice + App-->>User: 200 OK +``` + +## 핵심 인사이트 + +- **백엔드가 헤더만 신뢰해도 안전한 이유**: Traefik 의 ForwardAuth Middleware 가 *클라이언트로부터 들어온* `X-Forwarded-*` 헤더를 strip 하고, *oauth2-proxy 응답에 담긴* 헤더만 백엔드로 전달한다. 클라이언트가 위조한 `X-Forwarded-User: admin` 은 도달하지 못한다. **이 strip 동작이 무너지면 권한 우회 취약점**이 되므로 Traefik Middleware 의 `authResponseHeaders` 와 (Traefik global) `forwardedHeaders` 설정이 핵심. +- **백엔드 코드 단순화의 실체**: `auth-server` 의 컨트롤러는 `request.getHeader("X-Forwarded-User")` 한 줄만 본다. JWT 라이브러리, JWKS 캐시, 쿠키 파서, 세션 스토어가 모두 사라진다. 단위 테스트도 헤더 1 개 주입으로 인증된 사용자 시나리오가 만들어진다. +- **silent refresh 는 사용자에게 보이지 않음**: alt 의 두 번째 분기가 그 경우. 사용자 브라우저는 redirect 를 안 본다 — Traefik ForwardAuth 호출 안에서 refresh 가 끝나고 같은 응답이 202 로 돌아온다. +- **위조 시 회귀 경로**: 세 번째 분기. 쿠키 HMAC 가 안 맞거나 refresh 가 실패하면 oauth2-proxy 가 401 을 반환하고, Traefik 이 cold path 의 시작점인 `/oauth2/start` 로 돌려보낸다. 즉 **공격자가 쿠키를 위조해 봤자 결과는 로그인 페이지로의 redirect 일 뿐**이다. + +## 처음 로그인 시 흐름은? + +→ [forward-auth-cold.md](forward-auth-cold.md) diff --git a/docs/diagrams/sequence/secret-pipeline-bootstrap.md b/docs/diagrams/sequence/secret-pipeline-bootstrap.md new file mode 100644 index 0000000..3f81aed --- /dev/null +++ b/docs/diagrams/sequence/secret-pipeline-bootstrap.md @@ -0,0 +1,44 @@ +# Secret Pipeline · Bootstrap (1 회) + +`tasks/vault-init.sh` 가 클러스터 최초 셋업 시 한 번만 수행하는 흐름. Vault 의 Kubernetes auth method 와 두 개의 role/policy, 그리고 VSO 가 사용할 VaultAuth CR 까지 준비한다. 모든 단계는 멱등 체크 후 차이만 적용된다 — Note 에 명시된 read 호출이 그 체크 지점. + +```mermaid +sequenceDiagram + autonumber + participant Op as Operator + participant Vault + participant K8s as K8s API + + Op->>Vault: operator init (5 unseal keys) + Op->>Vault: operator unseal (3 keys) + Vault-->>Op: Unsealed + + Op->>K8s: apply ClusterRoleBinding (system auth-delegator) + Note over K8s: Vault Pod SA 에 TokenReview 권한 위임 + + Op->>Vault: auth enable kubernetes + write config + Note over Vault: vault auth list 후 미존재 시에만 enable + + Op->>Vault: secrets enable kv-v2 at path secret + Note over Vault: vault secrets list 후 미존재 시에만 enable + + Op->>Vault: policy write x2 + role write x2 (auth-platform, storage) + Note over Vault: 각 policy/role read 후 차이만 적용 + + Op->>Vault: kv put auth-server-db, keycloak-db, minio-tenant-env + + Op->>K8s: apply VaultAuth x2 + Op->>K8s: apply VaultStaticSecret x7 + Note over K8s: VaultAuth 가 먼저, VaultStaticSecret 나중 - 그래야 reconcile 성공 +``` + +## 핵심 인사이트 + +- **두 role 의 의도**: VSO 의 ServiceAccount 는 `vault-secrets-operator/mnt` 한 개뿐이다. 그러나 Vault 에 role 두 개를 두고 각각 다른 policy 를 묶었다. **VaultStaticSecret 마다 자기 도메인의 VaultAuth CR 을 참조**하므로, auth-platform role 의 토큰이 유출돼도 minio secret 은 못 읽는다. +- **`system:auth-delegator` 의 위치**: 이 ClusterRoleBinding 은 *Vault Pod 의 SA* 에 부여된다. Vault 가 VSO 의 SA JWT 를 검증하기 위해 K8s 의 `TokenReview` API 를 호출할 권한이 필요하기 때문. VSO 측이 아니라 Vault 측에 붙는다는 점이 자주 헷갈리는 지점. +- **멱등성의 위치**: 각 enable / write 호출 직전에 `vault auth list`, `vault secrets list`, `vault policy read`, `vault read auth/kubernetes/role/` 으로 현재 상태를 체크하고 차이만 적용한다. 따라서 이 다이어그램의 모든 단계는 *재실행 안전*. +- **마지막 두 단계의 순서**: VaultAuth 가 먼저, VaultStaticSecret 이 나중. 그래야 VSO 가 첫 reconcile 에서 `vaultAuthRef` 를 정상 해석한다. + +## 정상 운영 시 reconcile 흐름은? + +→ [secret-pipeline-runtime.md](secret-pipeline-runtime.md) diff --git a/docs/diagrams/sequence/secret-pipeline-runtime.md b/docs/diagrams/sequence/secret-pipeline-runtime.md new file mode 100644 index 0000000..d3fd320 --- /dev/null +++ b/docs/diagrams/sequence/secret-pipeline-runtime.md @@ -0,0 +1,54 @@ +# Secret Pipeline · Steady-State Reconcile + +VSO 가 VaultStaticSecret CR 을 reconcile 할 때마다 일어나는 흐름. **이 다이어그램은 한 reconcile 사이클** 만 다룬다 — 부트스트랩(정책/role/CR 적용) 은 [secret-pipeline-bootstrap.md](secret-pipeline-bootstrap.md) 에서 이미 끝난 상태를 전제한다. + +VSO 는 controller-runtime 기반이라 informer 가 *시작 시 1 회 watch 등록* 하고, 이후 K8s API 가 push 하는 이벤트로 reconcile 이 트리거된다. 즉 매 cycle 마다 watch 호출이 새로 일어나는 게 아니다. + +```mermaid +sequenceDiagram + autonumber + participant VSO as VSO Operator + participant K8s as K8s API + participant Vault + participant Sec as K8s Secret + + Note over VSO,K8s: informer 가 시작 시 1 회 watch 등록 후 이벤트 수신 대기 + + K8s-->>VSO: event for VaultStaticSecret auth-server-db-creds + VSO->>K8s: read VaultStaticSecret spec + K8s-->>VSO: vaultAuthRef, path + + VSO->>K8s: read VaultAuth vault-auth-auth-platform + K8s-->>VSO: role vso-auth-platform, mount kubernetes + + VSO->>Vault: POST auth/kubernetes/login (role, jwt) + Vault->>K8s: TokenReview (VSO SA JWT) + Note over Vault,K8s: system auth-delegator 권한 사용 + K8s-->>Vault: ok, sa vault-secrets-operator + Vault-->>VSO: Vault token (policy vso-auth-platform, ttl 1h) + + VSO->>Vault: GET secret/data/auth-server/db + Vault-->>VSO: username, password, jdbc-url + + Note over VSO: destination overwrite false 면 기존 Secret 유지 + VSO->>K8s: create or update Secret auth-server-db + K8s-->>Sec: stored + + Note over Sec: kubelet 이 Pod 시작 시 envFrom 으로 마운트 (시퀀스 외) + + loop every refreshAfter (1h) + VSO->>Vault: GET secret/data/auth-server/db + Vault-->>VSO: 최신 값 + opt 값이 변경된 경우 + VSO->>K8s: update Secret auth-server-db + end + end +``` + +## 핵심 인사이트 + +- **이 다이어그램의 시작점은 K8s 가 던지는 event**: VSO 가 매 cycle 마다 watch API 를 새로 호출하는 게 아니다. controller-runtime 의 informer 가 startup 에 watch 를 establish 하고, K8s API 가 변경 사항을 push 하면 reconcile loop 이 깨어난다. 그래서 메시지 1 의 화살표 방향이 K8s → VSO. +- **TokenReview 는 VSO 가 부르는 게 아니라 Vault 가 부른다**: 메시지 7 (`Vault to K8s API: TokenReview`) 가 그 호출. Vault 가 *받은* SA JWT 가 진짜 VSO 의 것인지 확인하기 위해 K8s 에 위임 검증한다. +- **role 결정은 VaultAuth CR 이 한다**: 메시지 4~5 에서 VSO 는 *VaultStaticSecret 이 가리키는 VaultAuth* 를 읽고, 거기에 박힌 `role: vso-auth-platform` 으로 Vault login 한다. 같은 SA 라도 어느 VaultAuth 를 거쳤느냐에 따라 받는 policy 가 달라진다. +- **`overwrite=false` 의 책임 위치**: 이건 K8s API 의 동작이 아니라 *VSO reconciler 가 update 호출 전에 자기 로직으로 결정* 한다. 그래서 Note 가 VSO 위에 붙는다. +- **즉시 반영**: Vault 값 변경 직후 반영하려면 `kubectl -n mnt delete secret auth-server-db`. 다음 reconcile 에서 VSO 가 위 흐름을 다시 돌아 새 값으로 재생성한다 — Pod 는 envFrom 으로 받은 값이 바뀌었음을 자동으로 알 수 없으므로 rollout 도 함께. diff --git a/docs/examples/infra/architecture-environments.md b/docs/examples/infra/architecture-environments.md new file mode 100644 index 0000000..b1194a9 --- /dev/null +++ b/docs/examples/infra/architecture-environments.md @@ -0,0 +1,417 @@ +# architecture / environments 예시 + +이 파일의 모든 YAML은 `kubectl apply --server-side --dry-run=server` 에 통과해야 한다. +모든 예시는 1000+ 서비스 운영 기준으로 작성되었고, 단독으로 복붙해서 바로 apply 할 수 있도록 self-contained 하다. + +--- + +## 좋은 예시 1: namespace에 환경 · 도메인 · PodSecurity · 운영 label 전부 박기 + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: prod-identity-auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth-prod + app.kubernetes.io/version: "1.24.3" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + example.com/environment: prod + example.com/team: identity-sre + example.com/tier: backend + example.com/slo-tier: tier-1 + example.com/data-classification: confidential + example.com/cost-center: cc-1042 + pod-security.kubernetes.io/enforce: restricted + pod-security.kubernetes.io/enforce-version: latest + pod-security.kubernetes.io/audit: restricted + pod-security.kubernetes.io/warn: restricted + annotations: + example.com/owner-email: identity-sre@example.com + example.com/runbook: https://runbooks.example.com/identity/auth + example.com/slo-doc: https://slo.example.com/identity/auth +--- +apiVersion: v1 +kind: ResourceQuota +metadata: + name: default-quota + namespace: prod-identity-auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth-prod + app.kubernetes.io/component: quota + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + example.com/environment: prod +spec: + hard: + requests.cpu: "20" + requests.memory: 40Gi + limits.cpu: "40" + limits.memory: 80Gi + pods: "200" + persistentvolumeclaims: "20" +--- +apiVersion: v1 +kind: LimitRange +metadata: + name: default-limits + namespace: prod-identity-auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth-prod + app.kubernetes.io/component: limits + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + example.com/environment: prod +spec: + limits: + - type: Container + default: + cpu: "500m" + memory: 512Mi + defaultRequest: + cpu: "100m" + memory: 128Mi + max: + cpu: "4" + memory: 8Gi + min: + cpu: "10m" + memory: 32Mi +``` + +**왜 좋은가:** + +- `app.kubernetes.io/*` well-known 6종이 모두 있고, 운영 축은 `example.com/*`로 분리되어 selector immutability를 깨지 않는다 +- PodSecurity admission이 namespace 레벨에서 `restricted`로 강제 → 이후 Pod spec이 noncompliant면 창조 시점에 거부 +- ResourceQuota + LimitRange가 namespace 단위로 고정되어 하나의 서비스가 클러스터를 삼킬 수 없다 +- 환경(prod)·도메인(identity)·서비스(auth)가 namespace 이름과 label 양쪽에 드러남 + +--- + +## 좋은 예시 2: multi-region prod overlay 디렉터리 (kr-main + kr-dr) + +```text +k8s/ + base/ + app/ + units/ + identity/ + auth/ + kustomization.yaml + deployment.yaml + service.yaml + servicemonitor.yaml + pdb.yaml + hpa.yaml + plugins/ + ingress-nginx/ + cert-manager/ + external-secrets/ + managing/ + flyway-migrate-identity/ + overlays/ + dev/ + kustomization.yaml + staging/ + kustomization.yaml + prod/ + kr-main/ + kustomization.yaml + patches/ + auth-replicas.yaml + auth-resources.yaml + auth-topology-spread.yaml + kr-dr/ + kustomization.yaml + patches/ + auth-replicas.yaml + auth-image-pull-mirror.yaml +``` + +**왜 좋은가:** + +- 1000+ 서비스 스케일에서 단일 overlay/prod로는 region 차이를 표현할 수 없다. region이 overlay 하위 계층이 되어야 한다 +- base는 region·환경을 모른다 (원칙 충족) +- DR region은 base의 image pull spec만 mirror로 패치하고 나머지는 공유 + +--- + +## 좋은 예시 3: SLO tier 별 기본 default per namespace + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: slo-defaults + namespace: prod-identity-auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth-prod + app.kubernetes.io/component: slo-config + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + example.com/environment: prod + example.com/slo-tier: tier-1 +data: + availability-slo: "99.95" + rpo-minutes: "5" + rto-minutes: "15" + backup-interval-minutes: "15" + multi-az-required: "true" + pdb-min-available-percent: "50" +``` + +**왜 좋은가:** + +- SLO/RPO/RTO 숫자가 YAML로 문서화되어 audit 가능 +- 같은 tier 정의가 팀마다 제각각 drift 되는 일을 막는다 +- `example.com/slo-tier` label이 cluster-wide 쿼리 축 제공 (`kubectl get ns -l example.com/slo-tier=tier-1`) + +--- + +## 좋은 예시 4: K3s packaged component disable을 bootstrap 레벨에서 선언 + +```yaml +# /etc/rancher/k3s/config.yaml (Git-managed, applied identically to every server node) +write-kubeconfig-mode: "0640" +cluster-cidr: "10.42.0.0/16" +service-cidr: "10.43.0.0/16" +cluster-dns: "10.43.0.10" +cluster-domain: "cluster.local" +disable: + - traefik + - servicelb + - local-storage +disable-network-policy: false +tls-san: + - "k3s.prod.example.internal" + - "10.0.0.10" +kube-apiserver-arg: + - "audit-log-path=/var/log/k3s/audit.log" + - "audit-log-maxage=30" + - "audit-log-maxbackup=10" + - "audit-log-maxsize=100" + - "audit-policy-file=/etc/rancher/k3s/audit-policy.yaml" +kubelet-arg: + - "config=/etc/rancher/k3s/kubelet.yaml" +``` + +**왜 좋은가:** + +- prod 스케일에서 traefik / servicelb / local-storage는 전부 외부 컴포넌트로 대체되므로 disable이 기본 +- critical config (`cluster-cidr`, `service-cidr`, `cluster-dns`, `cluster-domain`)가 Git 하나의 파일에 고정 → 서버 간 mismatch 불가능 +- audit log와 kubelet config가 선언형으로 박힘 → 신규 서버 조인 시 drift 없음 + +--- + +## 좋은 예시 5: 도메인 분리 + public/internal/operator ingress host 패턴 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: auth-public + namespace: prod-identity-auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth-prod + app.kubernetes.io/version: "1.24.3" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + example.com/environment: prod + example.com/exposure: public + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/ssl-redirect: "true" + nginx.ingress.kubernetes.io/proxy-body-size: "8m" +spec: + ingressClassName: nginx-public + tls: + - hosts: + - auth.example.com + secretName: auth-public-tls + rules: + - host: auth.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: auth + port: + number: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: auth-admin + namespace: prod-identity-auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth-prod + app.kubernetes.io/component: admin + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + example.com/environment: prod + example.com/exposure: operator-only + annotations: + cert-manager.io/cluster-issuer: internal-ca + nginx.ingress.kubernetes.io/auth-url: "https://sso.ops.example.com/oauth2/auth" + nginx.ingress.kubernetes.io/auth-signin: "https://sso.ops.example.com/oauth2/sign_in?rd=$escaped_request_uri" + nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/8" +spec: + ingressClassName: nginx-internal + tls: + - hosts: + - auth.ops.example.com + secretName: auth-admin-tls + rules: + - host: auth.ops.example.com + http: + paths: + - path: /actuator + pathType: Prefix + backend: + service: + name: auth + port: + number: 8081 +``` + +**왜 좋은가:** + +- 한 서비스(auth)가 public API와 operator-only admin 포트를 별도 ingress + 별도 ingressClass + 별도 TLS issuer로 분리 +- CIDR whitelist + OAuth2 sso forward-auth가 admin endpoint에 강제 +- `example.com/exposure` label로 cluster-wide audit 쿼리 가능 + +--- + +## 나쁜 예시 1: `default` namespace에 prod workload + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: default +spec: + replicas: 3 + selector: + matchLabels: + app: auth-server + template: + metadata: + labels: + app: auth-server + spec: + containers: + - name: auth + image: registry.example.com/auth:1.24.3 +``` + +**문제:** `default` namespace는 PodSecurity / Quota / NetworkPolicy를 걸기 위한 격리 단위가 될 수 없고, 다른 팀 리소스와 섞인다. 1000-서비스 환경에서 `default`는 영구적으로 비워두는 것이 운영 원칙. + +--- + +## 나쁜 예시 2: `app.kubernetes.io/environment` 사용 (well-known label에 없음) + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth + namespace: prod-identity-auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/environment: prod # invalid well-known key +``` + +**문제:** Kubernetes 공식 well-known label set은 `{name,instance,version,component,part-of,managed-by}` 6종뿐. `environment`는 여기 없으므로 **자체 도메인**(`example.com/environment`)을 써야 한다. 다른 팀이 `app.kubernetes.io/env` 같은 변종을 만들어 drift가 퍼진다. + +--- + +## 나쁜 예시 3: `manifests/` 디렉터리에 운영 리소스 직접 배치 + +```text +/var/lib/rancher/k3s/server/manifests/auth-prod.yaml +/var/lib/rancher/k3s/server/manifests/keycloak-prod.yaml +/var/lib/rancher/k3s/server/manifests/ingress-nginx.yaml +``` + +**문제:** 멀티 서버 K3s는 이 디렉터리를 서버 간 동기화하지 **않는다**. 서버 A에만 있는 파일은 서버 B 리더가 되면 사라진 것처럼 보인다. source of truth는 Git + Kustomize여야 한다. + +--- + +## 나쁜 예시 4: selector에 버전 / 환경 label 포함 + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth + namespace: prod-identity-auth +spec: + selector: + matchLabels: + app.kubernetes.io/name: auth + app.kubernetes.io/version: "1.24.3" # changes on every release + example.com/environment: prod # injected by overlay + template: + metadata: + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/version: "1.24.3" + example.com/environment: prod + spec: + containers: + - name: auth + image: registry.example.com/auth:1.24.3 +``` + +**문제:** `selector.matchLabels`는 Deployment/StatefulSet에서 **immutable**이다. `version`은 배포마다 바뀌고 `environment`는 overlay가 주입한다 → 첫 배포 이후 재apply 시 `field is immutable` 에러로 영구 차단. selector에는 불변 3종(`name`/`instance`/`component`)만. + +--- + +## 나쁜 예시 5: 같은 hostname을 dev와 prod가 공유 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: auth + namespace: dev-identity-auth +spec: + ingressClassName: nginx-public + rules: + - host: auth.example.com # same as prod + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: auth + port: + number: 8080 +``` + +**문제:** 환경 간 host 공유는 TLS cert race, 동일 hostname의 두 ingress 간 routing 불확실성, 외부 모니터링이 어느 환경을 보는지 혼동을 유발한다. dev는 반드시 `auth.dev.example.com` 같이 별도 hostname을 쓴다. + +--- + +## 나쁜 예시 6: K3s traefik manifest 직접 수정으로 prod ingress 커스터마이즈 + +```bash +vim /var/lib/rancher/k3s/server/manifests/traefik.yaml +# added custom middleware config inline +systemctl restart k3s +``` + +**문제:** K3s는 재시작 시 이 파일을 packaged 원본으로 overwrite한다. 운영 커스터마이징이 조용히 사라진다. prod 1000-서비스 스케일에서는 `--disable=traefik` 후 ingress-nginx를 별도 컴포넌트로 관리하는 것이 유일한 정답. 유지한다면 **반드시** `HelmChartConfig` 사용. diff --git a/docs/examples/infra/backup-restore.md b/docs/examples/infra/backup-restore.md new file mode 100644 index 0000000..1c749c6 --- /dev/null +++ b/docs/examples/infra/backup-restore.md @@ -0,0 +1,564 @@ +# backup / restore 예시 + +모든 예시는 실제 매니페스트로 `kubectl apply -f` 가능하다. + +--- + +## 좋은 예시 1: Velero 설치 후 BackupStorageLocation / VolumeSnapshotLocation + +```yaml +--- +apiVersion: velero.io/v1 +kind: BackupStorageLocation +metadata: + name: default + namespace: velero + labels: + app.kubernetes.io/part-of: platform-backup +spec: + provider: aws + objectStorage: + bucket: acme-prod-velero-backups + prefix: k3s-prod + config: + region: us-east-1 + s3ForcePathStyle: "false" + s3Url: https://s3.us-east-1.amazonaws.com + default: true + accessMode: ReadWrite + credential: + name: velero-s3-credentials + key: cloud +--- +apiVersion: velero.io/v1 +kind: VolumeSnapshotLocation +metadata: + name: csi-default + namespace: velero +spec: + provider: csi +``` + +왜 좋은가: +- 백업 저장소가 **클러스터 외부** S3 (같은 cluster MinIO에 넣지 않음) +- credential은 별도 Secret +- CSI snapshot location이 명시됨 + +❌ 나쁜 예시 1: 같은 cluster 안 MinIO를 백업 저장소로 사용 + +```yaml +spec: + provider: aws + objectStorage: + bucket: backups + config: + s3Url: http://minio.object-prod.svc.cluster.local:9000 # 같은 cluster! +``` + +문제: +- cluster 장애 = 백업 동시 소실 +- MinIO 자체를 복구하려면 외부 백업이 또 필요 — 순환 의존 + +--- + +## 좋은 예시 2: Velero Schedule (tier별 분리, 30일 retention) + +```yaml +--- +apiVersion: velero.io/v1 +kind: Schedule +metadata: + name: gold-daily + namespace: velero + labels: + backup.platform.io/tier: gold +spec: + schedule: "0 2 * * *" # 매일 02:00 UTC + useOwnerReferencesInBackup: true + template: + ttl: 720h0m0s # 30일 retention + includedNamespaces: + - auth-prod + - data-prod + - object-prod + includedResources: + - persistentvolumeclaims + - persistentvolumes + - secrets + - configmaps + - deployments + - statefulsets + - services + - ingresses + - networkpolicies + labelSelector: + matchLabels: + backup.platform.io/tier: gold + snapshotVolumes: true + defaultVolumesToFsBackup: false + csiSnapshotTimeout: 30m + storageLocation: default + volumeSnapshotLocations: + - csi-default + hooks: + resources: + - name: postgres-consistent + includedNamespaces: [data-prod] + labelSelector: + matchLabels: + app.kubernetes.io/name: postgres + pre: + - exec: + container: postgres + command: ["/bin/sh", "-c", "psql -U postgres -c CHECKPOINT"] + onError: Fail + timeout: 2m +--- +apiVersion: velero.io/v1 +kind: Schedule +metadata: + name: bronze-weekly-fsb + namespace: velero + labels: + backup.platform.io/tier: bronze +spec: + schedule: "0 3 * * 0" # 매주 일요일 03:00 UTC + template: + ttl: 2160h0m0s # 90일 + includedNamespaces: ["archive-prod"] + labelSelector: + matchLabels: + backup.platform.io/tier: bronze + snapshotVolumes: false + defaultVolumesToFsBackup: true # kopia/restic FSB + storageLocation: default +``` + +왜 좋은가: +- Schedule이 tier별로 분리되어 RPO/retention/도구를 구분 +- CSI snapshot(gold)과 FSB(bronze)를 목적에 맞게 선택 +- Postgres는 pre-hook으로 `CHECKPOINT`를 수행해 crash-consistent에 가까운 스냅샷 확보 +- `labelSelector`가 PVC의 `backup.platform.io/tier`와 매칭 + +--- + +## 좋은 예시 3: Velero Restore + +```yaml +--- +apiVersion: velero.io/v1 +kind: Restore +metadata: + name: auth-prod-restore-2026-04-16 + namespace: velero +spec: + backupName: gold-daily-20260415020000 + includedNamespaces: ["auth-prod"] + restorePVs: true + existingResourcePolicy: none # 기존 리소스 보존, 누락된 것만 복원 + namespaceMapping: + auth-prod: auth-prod-restore # 검증용 별도 네임스페이스로 복원 + labelSelector: + matchLabels: + backup.platform.io/tier: gold +``` + +왜 좋은가: +- 복원 대상이 `auth-prod-restore`로 분리되어 운영 영향 없이 검증 가능 +- `existingResourcePolicy: none`으로 실수 덮어쓰기 방지 +- `restorePVs: true`로 PVC/PV까지 함께 복원 + +--- + +## 좋은 예시 4: CloudNativePG Cluster + ScheduledBackup + Backup + +```yaml +--- +apiVersion: v1 +kind: Namespace +metadata: + name: data-prod + labels: + pod-security.kubernetes.io/enforce: restricted +--- +apiVersion: v1 +kind: Secret +metadata: + name: cnpg-s3-credentials + namespace: data-prod +type: Opaque +stringData: + ACCESS_KEY_ID: REPLACE_VIA_VSO + ACCESS_SECRET_KEY: REPLACE_VIA_VSO +--- +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: auth-pg + namespace: data-prod + labels: + app.kubernetes.io/name: auth-pg + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + backup.platform.io/tier: gold +spec: + instances: 3 + imageName: ghcr.io/cloudnative-pg/postgresql:16.4-8 + primaryUpdateStrategy: unsupervised + postgresql: + parameters: + shared_buffers: "512MB" + max_connections: "200" + wal_compression: "on" + archive_timeout: "60s" + bootstrap: + initdb: + database: auth + owner: auth_app + secret: + name: auth-pg-app + storage: + size: 50Gi + storageClass: fast-ssd-retain + walStorage: + size: 20Gi + storageClass: fast-ssd-retain + monitoring: + enablePodMonitor: true + resources: + requests: {cpu: "500m", memory: "2Gi"} + limits: {cpu: "2", memory: "4Gi"} + backup: + retentionPolicy: "30d" + barmanObjectStore: + destinationPath: s3://acme-prod-pg-backups/auth-pg + endpointURL: https://s3.us-east-1.amazonaws.com + s3Credentials: + accessKeyId: + name: cnpg-s3-credentials + key: ACCESS_KEY_ID + secretAccessKey: + name: cnpg-s3-credentials + key: ACCESS_SECRET_KEY + wal: + compression: gzip + maxParallel: 8 + data: + compression: gzip + immediateCheckpoint: true + jobs: 4 + affinity: + podAntiAffinityType: required + topologyKey: kubernetes.io/hostname +--- +apiVersion: postgresql.cnpg.io/v1 +kind: ScheduledBackup +metadata: + name: auth-pg-daily + namespace: data-prod +spec: + schedule: "0 0 2 * * *" # 매일 02:00 (CNPG는 6-field cron) + backupOwnerReference: self + cluster: + name: auth-pg + method: barmanObjectStore +--- +apiVersion: postgresql.cnpg.io/v1 +kind: Backup +metadata: + name: auth-pg-premigration-2026-04-16 + namespace: data-prod +spec: + cluster: + name: auth-pg + method: barmanObjectStore +``` + +왜 좋은가: +- Postgres 16, 3 instances, 자동 failover +- WAL continuous archiving + daily base backup으로 RPO 5분 / PITR 가능 +- `ScheduledBackup`이 cron 기반 정기 백업, `Backup`이 on-demand (마이그레이션 직전 등) +- `enablePodMonitor`로 Prometheus 연동 +- `podAntiAffinity`로 노드 분산 +- `backup.retentionPolicy: 30d` + +❌ 나쁜 예시 2: StatefulSet + cron으로 `pg_dump` 하나만 + +```yaml +apiVersion: batch/v1 +kind: CronJob +metadata: + name: pg-dump-nightly +spec: + schedule: "0 3 * * *" + jobTemplate: + spec: + template: + spec: + restartPolicy: OnFailure + securityContext: + runAsNonRoot: true + runAsUser: 999 + runAsGroup: 999 + fsGroup: 999 + seccompProfile: + type: RuntimeDefault + containers: + - name: dump + image: postgres:16 + command: ["sh", "-c", "pg_dumpall -U postgres > /backup/dump.sql"] + resources: + requests: { cpu: 100m, memory: 128Mi } + limits: { memory: 512Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumeMounts: + - { name: tmp, mountPath: /tmp } + - { name: backup, mountPath: /backup } + volumes: + - name: tmp + emptyDir: {} + - name: backup + emptyDir: {} +``` + +문제: +- PITR 불가 (base backup + WAL 아님) +- single file → 대규모에서 restore 시간 폭증 +- logical dump는 replication slot / extension / large object 처리에 구멍 +- 같은 cluster의 PVC에 저장 시 장애 시 동시 소실 + +--- + +## 좋은 예시 5: CNPG PITR restore (bootstrap.recovery) + +```yaml +--- +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: auth-pg-restore + namespace: data-prod +spec: + instances: 3 + imageName: ghcr.io/cloudnative-pg/postgresql:16.4-8 + storage: + size: 50Gi + storageClass: fast-ssd-retain + walStorage: + size: 20Gi + storageClass: fast-ssd-retain + bootstrap: + recovery: + source: auth-pg-source + recoveryTarget: + targetTime: "2026-04-16 09:45:00.00+00" + externalClusters: + - name: auth-pg-source + barmanObjectStore: + destinationPath: s3://acme-prod-pg-backups/auth-pg + endpointURL: https://s3.us-east-1.amazonaws.com + s3Credentials: + accessKeyId: {name: cnpg-s3-credentials, key: ACCESS_KEY_ID} + secretAccessKey: {name: cnpg-s3-credentials, key: ACCESS_SECRET_KEY} + wal: + maxParallel: 8 +``` + +왜 좋은가: +- PITR을 declarative CRD로 표현 +- 원본 cluster를 건드리지 않고 별도 `auth-pg-restore` 클러스터로 복원 +- 특정 시점(`targetTime`)까지 WAL replay + +--- + +## 좋은 예시 6: K3s etcd snapshot + S3 업로드 + +```ini +# /etc/rancher/k3s/config.yaml (control-plane nodes) +etcd-snapshot-schedule-cron: "0 */6 * * *" +etcd-snapshot-retention: 28 +etcd-s3: true +etcd-s3-endpoint: "s3.us-east-1.amazonaws.com" +etcd-s3-bucket: "acme-prod-k3s-etcd" +etcd-s3-folder: "prod-cluster-1" +etcd-s3-region: "us-east-1" +etcd-s3-access-key-file: /var/lib/rancher/k3s/server/etcd-s3-access +etcd-s3-secret-key-file: /var/lib/rancher/k3s/server/etcd-s3-secret +secrets-encryption: true +``` + +token 별도 보관 (예: 운영자 금고 / 외부 Vault): +``` +/var/lib/rancher/k3s/server/token → offline backup, 접근 로그 남김 +``` + +왜 좋은가: +- 6시간마다 etcd snapshot + S3 자동 업로드 + 28개 보관 +- secrets encryption 활성화로 snapshot 유출 시 노출 감소 +- server token을 snapshot과 같은 위치에 두지 않음 + +**주의: 이 snapshot은 PVC 데이터를 포함하지 않는다. 반드시 Velero + CNPG backup과 병행.** + +--- + +## 좋은 예시 7: Vault raft snapshot (CronJob) + +```yaml +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: vault-raft-snapshot + namespace: vault +spec: + schedule: "0 */6 * * *" + concurrencyPolicy: Forbid + successfulJobsHistoryLimit: 3 + failedJobsHistoryLimit: 3 + jobTemplate: + spec: + backoffLimit: 0 + template: + spec: + restartPolicy: Never + serviceAccountName: vault-snapshot + securityContext: + runAsNonRoot: true + runAsUser: 100 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + - name: snapshot + image: hashicorp/vault@sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef + env: + - name: VAULT_ADDR + value: https://vault.vault.svc:8200 + - name: VAULT_TOKEN + valueFrom: + secretKeyRef: + name: vault-snapshot-token + key: token + command: + - sh + - -c + - | + set -eu + TS=$(date -u +%Y%m%dT%H%M%SZ) + vault operator raft snapshot save /snap/vault-${TS}.snap + aws s3 cp /snap/vault-${TS}.snap s3://acme-prod-vault-snap/ --sse aws:kms + resources: + requests: { cpu: 100m, memory: 128Mi } + limits: { memory: 512Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: {drop: ["ALL"]} + volumeMounts: + - {name: snap, mountPath: /snap} + volumes: + - name: snap + emptyDir: {} +``` + +왜 좋은가: +- 6시간마다 raft snapshot + S3 (SSE-KMS) 업로드 +- snapshot용 scoped token 사용 (최소권한) +- `concurrencyPolicy: Forbid`로 snapshot 중복 실행 방지 + +--- + +## 좋은 예시 8: MinIO bucket replication (DR) + +```bash +# 소스 클러스터 MinIO에서 +mc alias set src https://minio.prod-a.acme.io $SRC_KEY $SRC_SECRET +mc alias set dst https://minio.prod-b.acme.io $DST_KEY $DST_SECRET + +mc admin replicate add src dst +mc version enable src/assets +mc version enable dst/assets +mc replicate add src/assets --remote-bucket dst/assets --replicate "delete,delete-marker,existing-objects,metadata-sync" + +# DR 발생 시 (소스 완전 장애 후 복구) +mc replicate resync start src/assets --remote-bucket dst/assets +``` + +왜 좋은가: +- bucket versioning이 replication 전제 +- `resync`로 DR 복구 경로 확보 +- `mc mirror`를 단독 DR 수단으로 사용하지 않음 + +❌ 나쁜 예시 3: `mc mirror`만 단독 사용 + +```bash +mc mirror --overwrite src/assets dst/assets # 현재 객체만 동기화, 버전 이력 없음 +``` + +문제: +- 버전 이력 / 삭제 marker / metadata 누락 +- 랜섬웨어 / 실수 삭제 시 복구 불가 + +--- + +## 좋은 예시 9: Restore drill 기록 양식 + +```yaml +# /runbooks/restore-drills/2026-Q1-auth-pg.yaml +drill: + id: drill-2026-q1-auth-pg + component: cloudnativepg:auth-pg + tier: gold + target_rpo: 5m + target_rto: 30m + executed_at: 2026-03-18T14:00:00Z + executor: sre@acme.io + source_backup: barman:auth-pg/base/20260318T020000 + restore_target_time: "2026-03-17 23:59:00+00" + restore_cluster: auth-pg-drill + result: + status: success + observed_rpo: 3m + observed_rto: 22m + verification_query: "select count(*) from users where created_at < '2026-03-17 23:59:00'" + verification_result: 1842317 + issues: + - description: "WAL fetch parallelism bumped from 4 to 8 for better RTO" + action: "updated Cluster.spec.externalClusters[0].barmanObjectStore.wal.maxParallel to 8" + next_drill_due: 2026-06-18 +``` + +왜 좋은가: +- RPO/RTO 목표 vs 실측을 같이 기록 +- 검증 query 결과까지 남김 +- 다음 drill 예정일이 명시 → 90일 초과 시 경보 + +--- + +## 나쁜 예시 4: "Git에 manifest 있으니 복구 완료" + +``` +✗ manifests are in Git +✗ so restore is solved +``` + +문제: +- DB state, Vault state, MinIO objects, K3s cluster state 모두 복구 안 됨 +- Argo CD sync만으로는 runtime data가 돌아오지 않음 + +--- + +## 나쁜 예시 5: K3s etcd snapshot만 있으면 PVC도 복구된다고 오해 + +``` +✗ k3s etcd-snapshot restore → all data back +``` + +문제: +- etcd snapshot은 API object 선언만 복구. PVC 안의 파일은 복구 안 됨 +- 반드시 Velero + DB-level backup과 병행 diff --git a/docs/examples/infra/config-and-secrets.md b/docs/examples/infra/config-and-secrets.md new file mode 100644 index 0000000..af15af1 --- /dev/null +++ b/docs/examples/infra/config-and-secrets.md @@ -0,0 +1,642 @@ +# config / secrets 예시 + +모든 YAML은 `kubectl apply --dry-run=server -f -` 기준 clean. VSO는 Helm chart `hashicorp/vault-secrets-operator`로 `vault-secrets-operator` namespace에 설치되어 있고, Vault는 `vault` namespace(`https://vault.vault.svc:8200`)에서 기동 중이며, Kubernetes auth method(`auth/kubernetes`)가 활성화되어 있다고 가정한다. + +--- + +## 좋은 예시 1: 비기밀 ConfigMap (hash-suffixed by Kustomize) + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: auth-server-config + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/part-of: identity-platform +data: + application.yaml: | + server: + port: 8080 + shutdown: graceful + management: + endpoints: + web: + base-path: /actuator + exposure: + include: health,info,prometheus + server: + port: 9090 + spring: + main: + banner-mode: off + datasource: + hikari: + maximum-pool-size: 20 + connection-timeout: 5000 + logging: + level: + root: INFO + com.example.auth: INFO +``` + +**왜 좋은가:** + +- 비밀값은 하나도 없다(username/password/url 제외). Hikari pool size, log level, actuator 경로 같은 operational config만. +- Kustomize `configMapGenerator`로 hash suffix를 붙이면 Deployment가 자동 rollout. + +--- + +## 좋은 예시 2: VSO 전체 스택 (VaultConnection + VaultAuth + VaultStaticSecret + VaultDynamicSecret + VaultPKISecret) + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: auth-prod + labels: + pod-security.kubernetes.io/enforce: restricted + pod-security.kubernetes.io/enforce-version: v1.29 +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-server + namespace: auth-prod +automountServiceAccountToken: true +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultConnection +metadata: + name: vault + namespace: auth-prod +spec: + address: https://vault.vault.svc:8200 + skipTLSVerify: false + caCertSecretRef: vault-ca-bundle + headers: {} +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultAuth +metadata: + name: auth-server + namespace: auth-prod +spec: + vaultConnectionRef: vault + method: kubernetes + mount: kubernetes + kubernetes: + role: auth-server + serviceAccount: auth-server + audiences: + - vault +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: auth-server-oidc-client + namespace: auth-prod +spec: + vaultAuthRef: auth-server + mount: kv + type: kv-v2 + path: identity/auth-server/prod/oidc + refreshAfter: 1h + destination: + name: auth-server-oidc-client + create: true + type: Opaque + rolloutRestartTargets: + - kind: Deployment + name: auth-server +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultDynamicSecret +metadata: + name: auth-server-db + namespace: auth-prod +spec: + vaultAuthRef: auth-server + mount: database + path: creds/auth-server-role + destination: + name: auth-server-db + create: true + type: Opaque + transformation: + templates: + DB_URL: + text: 'jdbc:postgresql://identity-postgres.data-prod.svc:5432/auth?user={{ .Secrets.username }}&password={{ .Secrets.password }}&sslmode=require' + DB_USERNAME: + text: '{{ .Secrets.username }}' + DB_PASSWORD: + text: '{{ .Secrets.password }}' + rolloutRestartTargets: + - kind: Deployment + name: auth-server +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultPKISecret +metadata: + name: auth-server-internal-tls + namespace: auth-prod +spec: + vaultAuthRef: auth-server + mount: pki_int + role: auth-server + commonName: auth-server.auth-prod.svc + altNames: + - auth-server.auth-prod.svc.cluster.local + - auth-server + ttl: 24h + destination: + name: auth-server-internal-tls + create: true + type: kubernetes.io/tls + rolloutRestartTargets: + - kind: Deployment + name: auth-server +``` + +**왜 좋은가:** + +- Vault가 source of truth. 모든 비밀이 `kv/identity/auth-server/prod/*` 또는 database/PKI engine에서 발급. +- VSO가 결과물을 표준 Kubernetes Secret(`Opaque`, `kubernetes.io/tls`)으로 materialize. +- Dynamic DB credential은 Postgres role에서 TTL 기반 자동 발급/폐기. Rotation 시 `rolloutRestartTargets`로 Deployment rolling restart. +- PKI Secret은 `kubernetes.io/tls` 타입 → Traefik/앱 TLS에 그대로 소비 가능. + +--- + +## 좋은 예시 3: VSO Secret을 소비하는 Deployment (envFrom + volume 혼합) + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/version: 1.42.0 + app.kubernetes.io/managed-by: argocd +spec: + replicas: 6 + revisionHistoryLimit: 5 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/version: 1.42.0 + spec: + serviceAccountName: auth-server + automountServiceAccountToken: true + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: auth-server + image: registry.example.com/identity/auth-server@sha256:8f3c0a8c6b3a2a7a0f1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6071 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8080 + - name: metrics + containerPort: 9090 + envFrom: + - configMapRef: + name: auth-server-config + - secretRef: + name: auth-server-db + - secretRef: + name: auth-server-oidc-client + volumeMounts: + - name: internal-tls + mountPath: /var/run/secrets/tls + readOnly: true + - name: appconfig + mountPath: /workspace/config + readOnly: true + - name: tmp + mountPath: /tmp + resources: + requests: + cpu: 200m + memory: 512Mi + limits: + cpu: "2" + memory: 1Gi + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: http + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: http + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + seccompProfile: + type: RuntimeDefault + - name: metrics-exporter + image: registry.example.com/platform/jmx-exporter@sha256:1111111111111111111111111111111111111111111111111111111111111111 + ports: + - name: jmx-metrics + containerPort: 9091 + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi + securityContext: + runAsNonRoot: true + runAsUser: 10001 + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + seccompProfile: + type: RuntimeDefault + volumes: + - name: internal-tls + secret: + secretName: auth-server-internal-tls + defaultMode: 0400 + - name: appconfig + configMap: + name: auth-server-config + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 64Mi + imagePullSecrets: + - name: registry-example-com +``` + +**왜 좋은가:** + +- VSO가 생성한 `auth-server-db`, `auth-server-oidc-client`를 envFrom으로 소비. 앱 코드는 `DB_USERNAME`, `DB_PASSWORD`, `OIDC_CLIENT_SECRET` 환경변수를 읽기만 함. +- TLS private key는 volume(`/var/run/secrets/tls`, mode 0400)으로만 마운트. env 노출 없음. +- `metrics-exporter` sidecar에는 **어떤 secret도 envFrom/volumeMount로 전달하지 않는다**. Scope 최소화. +- image는 digest pin, `imagePullPolicy: IfNotPresent`. + +--- + +## 나쁜 예시 1: plain Secret manifest + ConfigMap에 비밀 혼재 + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: auth-server-db + namespace: auth-prod +type: Opaque +stringData: + username: prod-admin + password: S3cur3P@ssw0rd! +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: auth-server-config + namespace: auth-prod +data: + application.yaml: | + spring: + datasource: + url: jdbc:postgresql://prod-db:5432/auth + username: prod-admin + password: S3cur3P@ssw0rd! +``` + +**문제:** + +- 운영 비밀이 Git에 평문으로 커밋된다. base64/stringData 여부와 무관. +- ConfigMap에 password가 들어가 있음 → RBAC `configmaps:get` 권한을 가진 모든 SA가 읽을 수 있음. +- secret source가 두 곳에 있어 회전 불가능. +- VSO/ESO/SealedSecrets 어느 경로에도 부합하지 않음. + +--- + +## 좋은 예시 4: ImagePullSecret을 VSO로 Vault에서 sync + +```yaml +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: registry-example-com + namespace: auth-prod +spec: + vaultAuthRef: auth-server + mount: kv + type: kv-v2 + path: platform/registry/example-com + refreshAfter: 24h + destination: + name: registry-example-com + create: true + type: kubernetes.io/dockerconfigjson + transformation: + templates: + .dockerconfigjson: + text: | + { + "auths": { + "registry.example.com": { + "username": "{{ .Secrets.username }}", + "password": "{{ .Secrets.password }}", + "auth": "{{ printf "%s:%s" .Secrets.username .Secrets.password | b64enc }}" + } + } + } +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-server + namespace: auth-prod +automountServiceAccountToken: true +imagePullSecrets: + - name: registry-example-com +``` + +**왜 좋은가:** + +- registry credential도 Vault가 SoT. 하드코딩 없음. +- VSO가 `kubernetes.io/dockerconfigjson` 타입 Secret을 생성. kubelet이 바로 인식. +- SA에 묶여 있어 Deployment마다 imagePullSecrets 반복 선언 불필요. + +--- + +## 좋은 예시 5: cert-manager + VSO 비교 — Ingress TLS는 cert-manager, internal mTLS는 VSO PKI + +cert-manager가 외부 공인 도메인용 `kubernetes.io/tls` Secret을 발급하고, VSO `VaultPKISecret`은 internal service mesh mTLS용 단기 인증서를 발급한다. 두 경로 모두 최종 형태는 `kubernetes.io/tls` Secret으로 동일하므로 앱은 secret name만 구분한다. + +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: auth-example-com + namespace: auth-prod +spec: + secretName: auth-example-com-tls + issuerRef: + kind: ClusterIssuer + name: letsencrypt-prod + dnsNames: + - auth.example.com + duration: 2160h + renewBefore: 360h +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultPKISecret +metadata: + name: auth-server-internal-tls + namespace: auth-prod +spec: + vaultAuthRef: auth-server + mount: pki_int + role: auth-server + commonName: auth-server.auth-prod.svc + ttl: 24h + destination: + name: auth-server-internal-tls + create: true + type: kubernetes.io/tls + rolloutRestartTargets: + - kind: Deployment + name: auth-server +``` + +**왜 좋은가:** + +- 외부 ACME 인증서는 공인 CA(Let's Encrypt), 내부는 조직 CA(Vault PKI)로 분리. +- 둘 다 같은 Secret 타입이라 Traefik/앱이 동일하게 소비 가능. +- VSO PKI는 24h TTL로 짧게 회전 → lateral movement window 최소화. + +--- + +## 좋은 예시 6: Vault Agent Injector가 K8s Secret 없이 파일로 템플릿 렌더링 + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: legacy-report-generator + namespace: reports-prod +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: report-generator + template: + metadata: + labels: + app.kubernetes.io/name: report-generator + annotations: + vault.hashicorp.com/agent-inject: "true" + vault.hashicorp.com/role: "report-generator" + vault.hashicorp.com/agent-inject-secret-report.conf: "kv/data/reports/smtp" + vault.hashicorp.com/agent-inject-template-report.conf: | + {{- with secret "kv/data/reports/smtp" -}} + [smtp] + host = {{ .Data.data.host }} + port = {{ .Data.data.port }} + username = {{ .Data.data.username }} + password = {{ .Data.data.password }} + {{- end }} + vault.hashicorp.com/secret-volume-path-report.conf: "/vault/secrets" + vault.hashicorp.com/agent-inject-containers: "report-generator" + vault.hashicorp.com/agent-run-as-user: "10001" + vault.hashicorp.com/agent-run-as-group: "10001" + spec: + serviceAccountName: report-generator + automountServiceAccountToken: true + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: report-generator + image: registry.example.com/reports/generator@sha256:2222222222222222222222222222222222222222222222222222222222222222 + ports: + - name: http + containerPort: 8080 + volumeMounts: + - name: tmp + mountPath: /tmp + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: 500m + memory: 512Mi + securityContext: + runAsNonRoot: true + runAsUser: 10001 + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + seccompProfile: + type: RuntimeDefault + volumes: + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 32Mi +``` + +**왜 좋은가:** + +- K8s Secret object가 **생성되지 않는다**. RBAC audit이 Secret API 호출 없이 Vault audit log로 대체된다. +- Vault Agent sidecar가 tmpfs에 템플릿 렌더링 → 앱은 파일만 읽음. +- legacy 앱이 INI/TOML 포맷 설정 파일을 요구할 때 적합. + +**VSO vs Vault Agent Injector:** + +| 항목 | VSO | Vault Agent Injector | +|---|---|---| +| 결과 | K8s Secret | Pod tmpfs 파일 | +| K8s API 노출 | Secret object 존재 | 없음 | +| 소비 방식 | envFrom/volume | file read | +| 회전 시 | `rolloutRestartTargets` | Agent re-render(인메모리) | +| 복잡도 | 낮음(CRD만) | 높음(sidecar/init) | +| 권장 | **운영 기본** | 템플릿/legacy 앱 | + +--- + +## 나쁜 예시 2: Vault Injector annotation을 모든 컨테이너에 적용 + env 렌더링 + +```yaml +metadata: + annotations: + vault.hashicorp.com/agent-inject: "true" + vault.hashicorp.com/role: "auth-server" + vault.hashicorp.com/agent-inject-secret-db: "kv/data/auth-server/db" + vault.hashicorp.com/agent-inject-template-db: | + {{- with secret "kv/data/auth-server/db" -}} + export DB_USERNAME={{ .Data.data.username }} + export DB_PASSWORD={{ .Data.data.password }} + {{- end }} +``` + +**문제:** + +- `agent-inject-containers` 미지정 → sidecar(metrics, proxy) 포함 모든 컨테이너의 `/vault/secrets`가 보임. +- `export DB_PASSWORD=...`를 `source`로 읽는 launcher 스크립트 → process env로 비밀이 흘러 `/proc//environ` 노출. +- dynamic lease renew를 활용하지 못하고, 회전 시 rollout trigger 없음. + +--- + +## 좋은 예시 7: SealedSecret (VSO 미도입 환경/bootstrap) + +```yaml +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: vault-bootstrap-token + namespace: vault +spec: + encryptedData: + token: AgCd9sK... (public key로 암호화된 blob) + template: + metadata: + name: vault-bootstrap-token + namespace: vault + type: Opaque +``` + +**왜 좋은가:** + +- Git 커밋 가능(public key로 암호화, cluster controller만 복호화). +- VSO 자체를 기동하기 위한 bootstrap credential(Vault root token, unseal key 대신 KMS auto-unseal 권장)에 적합. +- SealedSecrets controller가 `Secret`을 namespace에 materialize. + +**주의:** + +- 운영에서 **VSO가 기동되면 SealedSecrets 경로는 최소화**. 이중 source of truth 방지. +- Key 회전은 controller의 sealing key rotation 절차 준수. + +--- + +## 좋은 예시 8: EncryptionConfiguration for Secret at-rest (API Server 레벨) + +```yaml +apiVersion: apiserver.config.k8s.io/v1 +kind: EncryptionConfiguration +resources: + - resources: + - secrets + providers: + - kms: + apiVersion: v2 + name: platform-kms-v2 + endpoint: unix:///var/run/kmsplugin/socket.sock + timeout: 3s + - aescbc: + keys: + - name: fallback-2026-q1 + secret: c2VjcmV0LTMyLWJ5dGUtZmFsbGJhY2sta2V5LTIwMjZxMS1leGFtcGxl + - identity: {} +``` + +**K3s 활성화:** + +```yaml +# /etc/rancher/k3s/config.yaml +secrets-encryption: true +kube-apiserver-arg: + - "encryption-provider-config=/etc/rancher/k3s/encryption-config.yaml" + - "audit-policy-file=/etc/rancher/k3s/audit-policy.yaml" + - "audit-log-path=/var/log/k3s-audit.log" +``` + +**왜 좋은가:** + +- KMS v2 provider가 primary → envelope encryption, 키는 KMS 외부에 존재. +- `aescbc`는 fallback. `identity`는 마지막(평문), 기존 Secret을 재암호화하기 전 decryption용. +- K3s config.yaml에 `secrets-encryption: true`로 선언. 서버 재시작 후 `kubectl get secrets -A -o json | kubectl replace -f -`로 기존 Secret 재암호화. + +--- + +## 나쁜 예시 3: Kustomize secretGenerator로 운영 비밀 literal + +```yaml +# overlays/prod/kustomization.yaml +secretGenerator: + - name: auth-server-db + literals: + - username=prod-admin + - password=S3cur3P@ssw0rd! +``` + +**문제:** + +- 운영 비밀이 Git에 literal 평문 저장. +- Kustomize hash suffix는 비밀 보호가 아님. +- 회전 시 매번 Git 커밋 필요(감사/리뷰 시 비밀 노출). +- 운영은 VSO/ESO/SealedSecrets 경로로만 비밀을 배포해야 한다. diff --git a/docs/examples/infra/db-and-migration.md b/docs/examples/infra/db-and-migration.md new file mode 100644 index 0000000..8b683db --- /dev/null +++ b/docs/examples/infra/db-and-migration.md @@ -0,0 +1,499 @@ +# db / migration 예시 + +모든 YAML은 `kubectl apply` 가능하다. 상세 Flyway Job 예시는 `examples/infra/flyway.md` 참조. + +--- + +## 좋은 예시 1: auth-server와 keycloak DB 경계 분리 (CNPG 2 cluster) + +```yaml +--- +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: auth-pg + namespace: data-prod + labels: + app.kubernetes.io/name: auth-pg + app.kubernetes.io/part-of: auth-platform + backup.platform.io/tier: gold +spec: + instances: 3 + imageName: ghcr.io/cloudnative-pg/postgresql:16.4-8 + bootstrap: + initdb: + database: auth + owner: auth_app + secret: {name: auth-pg-app} + storage: {size: 50Gi, storageClass: fast-ssd-retain} + walStorage: {size: 20Gi, storageClass: fast-ssd-retain} + monitoring: {enablePodMonitor: true} + backup: + retentionPolicy: "30d" + barmanObjectStore: + destinationPath: s3://acme-prod-pg-backups/auth-pg + s3Credentials: + accessKeyId: {name: cnpg-s3-credentials, key: ACCESS_KEY_ID} + secretAccessKey: {name: cnpg-s3-credentials, key: ACCESS_SECRET_KEY} + wal: {compression: gzip, maxParallel: 8} + data: {compression: gzip, immediateCheckpoint: true, jobs: 4} +--- +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: keycloak-pg + namespace: data-prod + labels: + app.kubernetes.io/name: keycloak-pg + app.kubernetes.io/part-of: identity-platform + backup.platform.io/tier: gold +spec: + instances: 3 + imageName: ghcr.io/cloudnative-pg/postgresql:16.4-8 + bootstrap: + initdb: + database: keycloak + owner: keycloak + secret: {name: keycloak-pg-app} + storage: {size: 30Gi, storageClass: fast-ssd-retain} + walStorage: {size: 10Gi, storageClass: fast-ssd-retain} + monitoring: {enablePodMonitor: true} + backup: + retentionPolicy: "30d" + barmanObjectStore: + destinationPath: s3://acme-prod-pg-backups/keycloak-pg + s3Credentials: + accessKeyId: {name: cnpg-s3-credentials, key: ACCESS_KEY_ID} + secretAccessKey: {name: cnpg-s3-credentials, key: ACCESS_SECRET_KEY} + wal: {compression: gzip, maxParallel: 8} + data: {compression: gzip, jobs: 4} +``` + +왜 좋은가: +- auth와 keycloak이 별도 CNPG cluster → 장애 / 업그레이드 영향 분리 +- 각각 schema ownership이 분리되어 migration 파이프라인도 분리 가능 +- 백업 destination path도 분리 → retention / 암호화 정책 독립 + +❌ 나쁜 예시 1: 하나의 cluster의 하나의 database에 두 서비스 schema + +```yaml +# single CNPG cluster, database=shared +# auth-server uses schema "auth" +# keycloak uses schema "keycloak" +# one Flyway project manages both +``` + +문제: +- 서비스별 업그레이드 / restore 영향 격리 불가 +- Flyway history가 서로 섞임 +- 한 서비스가 lock을 오래 잡으면 다른 서비스가 멈춤 + +--- + +## 좋은 예시 2: migration을 Helm hook으로 app보다 먼저 실행 + +```yaml +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: auth-flyway-migrate + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: db-migration + app.kubernetes.io/managed-by: Helm + annotations: + "helm.sh/hook": "pre-upgrade,pre-install" + "helm.sh/hook-weight": "-10" + "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" +spec: + parallelism: 1 + completions: 1 + backoffLimit: 0 + activeDeadlineSeconds: 1800 + ttlSecondsAfterFinished: 86400 + template: + spec: + restartPolicy: Never + securityContext: + runAsNonRoot: true + runAsUser: 1000 + fsGroup: 1000 + seccompProfile: {type: RuntimeDefault} + containers: + - name: flyway + image: flyway/flyway@sha256:7d9f7c4e2a1b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d + args: ["-X", "migrate"] + env: + - {name: FLYWAY_URL, value: "jdbc:postgresql://auth-pg-rw.data-prod.svc:5432/auth"} + - {name: FLYWAY_USER, value: "auth_app"} + - {name: FLYWAY_LOCATIONS, value: "filesystem:/flyway/sql"} + - {name: FLYWAY_SCHEMAS, value: "auth_server"} + - {name: FLYWAY_DEFAULT_SCHEMA, value: "auth_server"} + - {name: FLYWAY_TABLE, value: "flyway_schema_history"} + - {name: FLYWAY_VALIDATE_ON_MIGRATE, value: "true"} + - {name: FLYWAY_BASELINE_ON_MIGRATE, value: "false"} + - {name: FLYWAY_CLEAN_DISABLED, value: "true"} + - name: FLYWAY_PASSWORD + valueFrom: {secretKeyRef: {name: auth-pg-app, key: password}} + resources: + requests: {cpu: "100m", memory: "256Mi"} + limits: {cpu: "1", memory: "1Gi"} + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: {drop: ["ALL"]} + volumeMounts: + - {name: sql, mountPath: /flyway/sql, readOnly: true} + - {name: tmp, mountPath: /tmp} + volumes: + - name: sql + configMap: {name: auth-flyway-sql} + - name: tmp + emptyDir: {} +``` + +왜 좋은가: +- Helm hook으로 app install/upgrade보다 **먼저** 실행 (`-10` weight) +- `before-hook-creation,hook-succeeded` 삭제 정책으로 이전 Job 깨끗이 정리 +- `cleanDisabled=true` 명시 (실수로 `flyway clean` 방지) +- `parallelism: 1`, `backoffLimit: 0`, `activeDeadlineSeconds: 1800` +- digest pinning, restricted PSA + +--- + +## 좋은 예시 3: Argo CD sync wave로 순서 지정 + +```yaml +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: auth-flyway-migrate + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: db-migration + annotations: + argocd.argoproj.io/sync-wave: "-1" + argocd.argoproj.io/hook: Sync + argocd.argoproj.io/hook-delete-policy: BeforeHookCreation +spec: + parallelism: 1 + completions: 1 + backoffLimit: 0 + activeDeadlineSeconds: 1800 + ttlSecondsAfterFinished: 86400 + template: + spec: + restartPolicy: Never + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + - name: flyway + image: flyway/flyway@sha256:7d9f7c4e2a1b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d + args: ["-X", "migrate"] + resources: + requests: { cpu: 100m, memory: 256Mi } + limits: { memory: 1Gi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + annotations: + argocd.argoproj.io/sync-wave: "0" +spec: + replicas: 3 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: auth-server + image: registry.example.com/identity/auth-server:1.24.0 + resources: + requests: { cpu: 500m, memory: 1Gi } + limits: { memory: 1536Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +``` + +왜 좋은가: +- Argo CD는 sync-wave가 낮은 것부터 실행 +- Helm hook과 혼용하지 않음 (한쪽만 사용) + +❌ 나쁜 예시 2: Helm hook + Argo CD hook 혼용 + +```yaml +annotations: + "helm.sh/hook": "pre-upgrade" + "argocd.argoproj.io/sync-wave": "-1" + "argocd.argoproj.io/hook": Sync +``` + +문제: +- Argo CD가 Helm chart를 렌더링할 때 Helm hook을 일반 리소스로 취급해 sync 순서가 꼬임 +- 실행이 중복되거나 누락됨 +- 한 방식으로 통일할 것 + +--- + +## 좋은 예시 4: Expand → Migrate → Contract 3단계 릴리즈 + +### 배경 +`users` 테이블의 `email` 컬럼 (NULL 허용)을 NOT NULL + 정규화된 `email_canonical` 컬럼으로 바꾸고 싶다. + +### Release 1 — Expand + +`V120__add_email_canonical_nullable.sql`: +```sql +-- flyway:executeInTransaction=false +ALTER TABLE users ADD COLUMN email_canonical text; +CREATE INDEX CONCURRENTLY idx_users_email_canonical ON users(email_canonical); +``` + +`V121__backfill_email_canonical.sql` (같은 릴리즈 또는 별도 배치 Job): +```sql +UPDATE users + SET email_canonical = lower(trim(email)) + WHERE email_canonical IS NULL + AND email IS NOT NULL; +``` + +앱은 쓰기: `email` + `email_canonical` 둘 다 채움. 읽기: 여전히 `email`. + +### Release 2 — Migrate + +앱 읽기 경로를 `email_canonical`로 전환. 새 가입/수정은 `email_canonical`만 보장. + +`V122__add_email_canonical_not_null.sql`: +```sql +-- 이 시점에는 모든 row에 email_canonical이 채워져 있어야 함 +ALTER TABLE users ALTER COLUMN email_canonical SET NOT NULL; +ALTER TABLE users ADD CONSTRAINT users_email_canonical_unique UNIQUE (email_canonical); +``` + +### Release 3 — Contract + +앱이 `email` 컬럼을 더 이상 읽지/쓰지 않는 버전으로 완전히 롤아웃된 뒤. + +`V130__drop_legacy_email_column.sql`: +```sql +ALTER TABLE users DROP COLUMN email; +``` + +왜 좋은가: +- 각 릴리즈가 N-1 ↔ N 동시 운영 가능 +- `CREATE INDEX CONCURRENTLY`는 `-- flyway:executeInTransaction=false`로 분리 +- Contract는 backfill + 앱 전환이 모두 끝난 뒤 별도 릴리즈 + +❌ 나쁜 예시 3: 한 릴리즈에 expand + contract + +```sql +-- V100__rename_email.sql +ALTER TABLE users RENAME COLUMN email TO email_old; +ALTER TABLE users ADD COLUMN email text NOT NULL DEFAULT ''; +-- 앱이 어느 버전이든 장애 발생 가능 +``` + +문제: +- rolling deploy 중간에 앱이 N-1 / N 모두 실행 → 컬럼 없음 / 이름 다름으로 에러 +- rollback 시 DB 상태가 앞서가 있어 N-1 앱이 기동 안 됨 + +--- + +## 좋은 예시 5: PITR 복구 계획 (CNPG) + +```yaml +--- +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: auth-pg-restore + namespace: data-prod +spec: + instances: 3 + imageName: ghcr.io/cloudnative-pg/postgresql:16.4-8 + storage: {size: 50Gi, storageClass: fast-ssd-retain} + walStorage: {size: 20Gi, storageClass: fast-ssd-retain} + bootstrap: + recovery: + source: auth-pg-source + recoveryTarget: + targetTime: "2026-04-16 09:45:00+00" # 잘못된 migration 직전 + externalClusters: + - name: auth-pg-source + barmanObjectStore: + destinationPath: s3://acme-prod-pg-backups/auth-pg + s3Credentials: + accessKeyId: {name: cnpg-s3-credentials, key: ACCESS_KEY_ID} + secretAccessKey: {name: cnpg-s3-credentials, key: ACCESS_SECRET_KEY} + wal: {maxParallel: 8} +``` + +왜 좋은가: +- 운영 cluster는 건드리지 않고 `auth-pg-restore`로 복원 +- `recoveryTarget.targetTime`을 분단위로 지정 +- 복원 후 검증 → 운영 전환은 별도 runbook + +--- + +## 좋은 예시 6: non-transactional DDL을 별도 migration 파일로 + +`V200__create_idx_users_last_login.sql`: +```sql +-- flyway:executeInTransaction=false +-- Long-running DDL. Run in low-traffic window. +-- Runtime estimate: ~15min on 50M rows. +CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_users_last_login + ON users(last_login_at); +``` + +왜 좋은가: +- `CREATE INDEX CONCURRENTLY`는 Postgres에서 트랜잭션 내 실행 불가 +- Flyway 8.2+ `executeInTransaction=false` directive로 파일 단위 제어 +- 주석에 runtime 추정치 / 영향 명시 + +❌ 나쁜 예시 4: 트랜잭션 내 CREATE INDEX CONCURRENTLY + +```sql +-- V200__.sql (기본 트랜잭션 모드) +CREATE INDEX CONCURRENTLY idx_users_last_login ON users(last_login_at); +-- → ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block +``` + +문제: +- Flyway가 자동으로 트랜잭션을 열기 때문에 실패 +- `-- flyway:executeInTransaction=false`가 필수 + +--- + +## 좋은 예시 7: 운영 절차 runbook snippet + +```text +# auth-server DB schema change — 2026-04-16 02:00 UTC maintenance window + +## Pre-check (T-1d) +1. Pending migration 검토: 로컬 `flyway info` +2. PR review + migration 영향 분석 문서 작성 (expand/migrate/contract 단계) +3. Backup 상태 확인: + kubectl -n data-prod get scheduledbackup auth-pg-daily + kubectl -n data-prod get backup -l cnpg.io/cluster=auth-pg --sort-by=.metadata.creationTimestamp + +## T-5min +1. On-demand backup: + cat < /backup/dump.sql +``` + +문제: +- PITR 불가, RPO = 24h +- replication slot / extension / large object 누락 +- 대규모 DB에서 restore 시간 폭증 +- 같은 cluster 안 PVC에 저장하면 동시 소실 + +--- + +## 나쁜 예시 7: U__ undo migration 작성 + +``` +flyway/ + V120__add_column.sql + U120__drop_column.sql ← OSS Flyway는 실행 불가 +``` + +문제: +- Flyway Community(OSS)는 undo 미지원 → `flyway undo`가 에러 +- rollback 전략은 forward-only migration + PITR로 대체 diff --git a/docs/examples/infra/flyway.md b/docs/examples/infra/flyway.md new file mode 100644 index 0000000..aba48ac --- /dev/null +++ b/docs/examples/infra/flyway.md @@ -0,0 +1,560 @@ +# Flyway 예시 + +전 예시는 `kubectl apply -f` 가능한 완성 매니페스트다. 1000+ 서비스 규모에서 복사/수정해 쓸 수 있도록 full manifest로 구성했다. + +--- + +## 좋은 예시 1: 완전한 Flyway Job (Helm hook 패턴) + +### (1) ConfigMap — migration SQL + +```yaml +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: auth-flyway-sql + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: db-migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: Helm +data: + V1__init_auth_schema.sql: | + CREATE TABLE IF NOT EXISTS users ( + id bigserial PRIMARY KEY, + email text NOT NULL, + display_name text, + created_at timestamptz NOT NULL DEFAULT now() + ); + CREATE UNIQUE INDEX IF NOT EXISTS idx_users_email ON users(lower(email)); + V2__add_refresh_tokens.sql: | + CREATE TABLE IF NOT EXISTS refresh_tokens ( + id bigserial PRIMARY KEY, + user_id bigint NOT NULL REFERENCES users(id) ON DELETE CASCADE, + token_hash bytea NOT NULL, + expires_at timestamptz NOT NULL, + created_at timestamptz NOT NULL DEFAULT now() + ); + CREATE INDEX IF NOT EXISTS idx_refresh_tokens_user_id ON refresh_tokens(user_id); + V3__add_last_login_column.sql: | + ALTER TABLE users ADD COLUMN IF NOT EXISTS last_login_at timestamptz; + V4__create_idx_last_login_concurrently.sql: | + -- flyway:executeInTransaction=false + -- Long-running DDL. Schedule in low-traffic window. + CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_users_last_login + ON users(last_login_at); + R__refresh_active_users_view.sql: | + CREATE OR REPLACE VIEW active_users AS + SELECT id, email, display_name, last_login_at + FROM users + WHERE last_login_at > now() - interval '30 days'; +``` + +### (2) Vault Secrets Operator — DB password + +```yaml +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: auth-pg-app + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: db-migration +spec: + type: kv-v2 + mount: kv + path: auth-prod/postgres/app + destination: + name: auth-pg-app + create: true + type: Opaque + refreshAfter: 1h + vaultAuthRef: vault-auth-auth-prod +``` + +### (3) Flyway Job — pre-upgrade / pre-install + +```yaml +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-flyway + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: db-migration +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: auth-flyway-migrate + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + app.kubernetes.io/component: db-migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/version: "2026.04.16" + annotations: + "helm.sh/hook": "pre-upgrade,pre-install" + "helm.sh/hook-weight": "-10" + "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" +spec: + parallelism: 1 + completions: 1 + backoffLimit: 0 + activeDeadlineSeconds: 1800 + ttlSecondsAfterFinished: 86400 + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: db-migration + spec: + serviceAccountName: auth-flyway + restartPolicy: Never + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: {type: RuntimeDefault} + initContainers: + - name: flyway-info + image: flyway/flyway@sha256:7d9f7c4e2a1b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d + imagePullPolicy: IfNotPresent + args: ["info"] + env: &flywayEnv + - {name: FLYWAY_URL, value: "jdbc:postgresql://auth-pg-rw.data-prod.svc:5432/auth?sslmode=require"} + - {name: FLYWAY_USER, value: "auth_app"} + - {name: FLYWAY_LOCATIONS, value: "filesystem:/flyway/sql"} + - {name: FLYWAY_SCHEMAS, value: "auth_server"} + - {name: FLYWAY_DEFAULT_SCHEMA, value: "auth_server"} + - {name: FLYWAY_TABLE, value: "flyway_schema_history"} + - {name: FLYWAY_VALIDATE_ON_MIGRATE, value: "true"} + - {name: FLYWAY_BASELINE_ON_MIGRATE, value: "false"} + - {name: FLYWAY_OUT_OF_ORDER, value: "false"} + - {name: FLYWAY_MIXED, value: "false"} + - {name: FLYWAY_CLEAN_DISABLED, value: "true"} + - name: FLYWAY_PASSWORD + valueFrom: {secretKeyRef: {name: auth-pg-app, key: password}} + resources: + requests: {cpu: "50m", memory: "128Mi"} + limits: {cpu: "500m", memory: "512Mi"} + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: {drop: ["ALL"]} + volumeMounts: + - {name: sql, mountPath: /flyway/sql, readOnly: true} + - {name: tmp, mountPath: /tmp} + - name: flyway-validate + image: flyway/flyway@sha256:7d9f7c4e2a1b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d + imagePullPolicy: IfNotPresent + args: ["validate"] + env: *flywayEnv + resources: + requests: {cpu: "50m", memory: "128Mi"} + limits: {cpu: "500m", memory: "512Mi"} + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: {drop: ["ALL"]} + volumeMounts: + - {name: sql, mountPath: /flyway/sql, readOnly: true} + - {name: tmp, mountPath: /tmp} + containers: + - name: flyway-migrate + image: flyway/flyway@sha256:7d9f7c4e2a1b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d + imagePullPolicy: IfNotPresent + args: ["-X", "migrate"] + env: *flywayEnv + resources: + requests: {cpu: "100m", memory: "256Mi"} + limits: {cpu: "1", memory: "1Gi"} + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: {drop: ["ALL"]} + volumeMounts: + - {name: sql, mountPath: /flyway/sql, readOnly: true} + - {name: tmp, mountPath: /tmp} + volumes: + - name: sql + configMap: {name: auth-flyway-sql} + - name: tmp + emptyDir: {} +``` + +왜 좋은가: +- Helm hook으로 app Deployment보다 **먼저** 실행 (`pre-upgrade,pre-install`, weight `-10`) +- `before-hook-creation,hook-succeeded` 삭제 정책으로 과거 Job 정리 +- initContainer로 `info` + `validate`를 먼저 실행해 실패를 앞당김 +- 메인 container에서 `migrate` (advisory lock 덕분에 같은 Job이 중복 실행돼도 직렬화됨) +- `FLYWAY_CLEAN_DISABLED=true` (production 필수) +- `FLYWAY_BASELINE_ON_MIGRATE=false`, `FLYWAY_OUT_OF_ORDER=false` +- digest pinning, restricted PSA, anchor/alias로 env 중복 제거 +- `parallelism: 1`, `backoffLimit: 0`, `activeDeadlineSeconds: 1800` + +--- + +## 좋은 예시 2: Argo CD sync-wave 패턴 + +```yaml +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: auth-flyway-migrate + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: db-migration + app.kubernetes.io/managed-by: argocd + annotations: + argocd.argoproj.io/sync-wave: "-1" + argocd.argoproj.io/hook: Sync + argocd.argoproj.io/hook-delete-policy: BeforeHookCreation +spec: + parallelism: 1 + completions: 1 + backoffLimit: 0 + activeDeadlineSeconds: 1800 + ttlSecondsAfterFinished: 86400 + template: + spec: + restartPolicy: Never + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + # (containers 세부는 예시 1과 동일; 요지만 재현) + - name: flyway + image: flyway/flyway@sha256:7d9f7c4e2a1b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d + args: ["-X", "migrate"] + resources: + requests: { cpu: 100m, memory: 256Mi } + limits: { memory: 1Gi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod + annotations: + argocd.argoproj.io/sync-wave: "0" + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +spec: + replicas: 3 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: auth-server + image: registry.example.com/identity/auth-server:1.24.0 + resources: + requests: { cpu: 500m, memory: 1Gi } + limits: { memory: 1536Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +``` + +왜 좋은가: +- Argo CD가 wave `-1` → `0` 순서로 sync +- Helm hook과 혼용하지 않음 +- `BeforeHookCreation` 정책으로 이전 Job 정리 후 새 Job 실행 + +--- + +## 좋은 예시 3: non-transactional DDL 전용 migration + +`V4__create_idx_last_login_concurrently.sql`: +```sql +-- flyway:executeInTransaction=false +-- CREATE INDEX CONCURRENTLY는 Postgres에서 트랜잭션 내 실행 불가. +-- Flyway 8.2+ directive로 파일 단위 트랜잭션 비활성화. +-- Runtime estimate: 약 15분 (50M rows 기준). +-- Deploy window: 주간 트래픽 저점 (예: 화요일 03:00 UTC) +CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_users_last_login + ON users(last_login_at); +``` + +왜 좋은가: +- 파일 단독으로 분리 (다른 statement 없음) +- 주석에 runtime / window 명시 +- `IF NOT EXISTS`로 재실행 안전성 (CREATE INDEX CONCURRENTLY 실패 시 INVALID 인덱스가 남을 수 있음 — 별도 cleanup 필요) + +❌ 나쁜 예시 1: 트랜잭션 내 CREATE INDEX CONCURRENTLY + +```sql +-- V4__.sql (executeInTransaction directive 없음) +CREATE INDEX CONCURRENTLY idx_users_last_login ON users(last_login_at); +``` + +문제: +- Flyway가 자동으로 트랜잭션을 열어 실행 → `ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block` +- 해결: `-- flyway:executeInTransaction=false` directive + +--- + +## 좋은 예시 4: history table schema를 명시적으로 분리 + +env: +```yaml +- {name: FLYWAY_CREATE_SCHEMAS, value: "false"} +- {name: FLYWAY_INIT_SQL, value: "CREATE SCHEMA IF NOT EXISTS auth_server; CREATE SCHEMA IF NOT EXISTS flyway_history"} +- {name: FLYWAY_DEFAULT_SCHEMA, value: "flyway_history"} +- {name: FLYWAY_SCHEMAS, value: "flyway_history,auth_server"} +- {name: FLYWAY_TABLE, value: "flyway_schema_history"} +``` + +왜 좋은가: +- history table은 `flyway_history.flyway_schema_history` +- migration 대상 schema는 `auth_server` +- `createSchemas=false` 조건 하에서 `initSql`로 schema 사전 생성 + +--- + +## 좋은 예시 5: 운영 절차 (Helm + on-demand CNPG backup 연계) + +```bash +# 1. pending migration 확인 (로컬) +docker run --rm -v $PWD/sql:/flyway/sql:ro \ + -e FLYWAY_URL=jdbc:postgresql://stage.../auth \ + -e FLYWAY_USER=auth_app -e FLYWAY_PASSWORD=... \ + flyway/flyway@sha256:... info + +# 2. PR review + migration 영향 분석 + +# 3. 운영 배포 직전 on-demand backup +cat < 5001 # Spegel p2p gossip +nc -zv 6443 # Local registry + K3s supervisor +``` + +**왜 좋은가:** + +- 공식 문서 기준 포트 (`TCP 5001 + TCP 6443`) 정확히 반영 +- external mirror (Harbor) + intra-cluster p2p 공유 조합 → airgap 경계 대비 +- `embedded-registry: true`가 **모든 노드 (server+agent)의 config.yaml에 동일**하게 박혀야 함 + +--- + +## 좋은 예시 5: local-path를 dev/test에만 제한 (StorageClass 레벨) + +```yaml +# local-path: default false, only used when explicitly requested +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: local-path + annotations: + storageclass.kubernetes.io/is-default-class: "false" + labels: + app.kubernetes.io/name: local-path + app.kubernetes.io/instance: local-path-dev + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: platform + app.kubernetes.io/managed-by: argocd + example.com/environment: dev + example.com/storage-tier: local-ephemeral +provisioner: rancher.io/local-path +reclaimPolicy: Delete +volumeBindingMode: WaitForFirstConsumer +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: longhorn-replicated + annotations: + storageclass.kubernetes.io/is-default-class: "true" + labels: + app.kubernetes.io/name: longhorn + app.kubernetes.io/instance: longhorn-prod + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: platform + app.kubernetes.io/managed-by: argocd + example.com/environment: prod + example.com/storage-tier: replicated-persistent +provisioner: driver.longhorn.io +allowVolumeExpansion: true +reclaimPolicy: Retain +volumeBindingMode: WaitForFirstConsumer +parameters: + numberOfReplicas: "3" + staleReplicaTimeout: "30" + fromBackup: "" + fsType: "ext4" + dataLocality: "best-effort" +``` + +**왜 좋은가:** + +- `local-path`는 default가 아니고 `example.com/storage-tier: local-ephemeral`로 dev에서만 수용 +- prod default는 Longhorn replicated (3 replica) + `reclaimPolicy: Retain` +- DB/Vault/MinIO PVC는 `storageClassName: longhorn-replicated` 명시 + +--- + +## 좋은 예시 6: registries.yaml에서 production pull-through mirror + +```yaml +# /etc/rancher/k3s/registries.yaml (every node) +mirrors: + docker.io: + endpoint: + - "https://harbor.prod.example.internal/v2/dockerhub-proxy" + quay.io: + endpoint: + - "https://harbor.prod.example.internal/v2/quay-proxy" + registry.k8s.io: + endpoint: + - "https://harbor.prod.example.internal/v2/k8s-proxy" + ghcr.io: + endpoint: + - "https://harbor.prod.example.internal/v2/ghcr-proxy" +configs: + "harbor.prod.example.internal": + tls: + ca_file: "/etc/rancher/k3s/harbor-ca.crt" + auth: + username: "robot$k3s-pull" + password: "__HARBOR_PULL_TOKEN__" +``` + +**왜 좋은가:** + +- public registry rate limit / downtime이 클러스터 pull을 못 죽임 +- Harbor에서 CVE scan + image signing 검증 +- 모든 노드에 동일 파일 (Ansible/Fleet push) + +--- + +## 나쁜 예시 1: packaged traefik.yaml 직접 edit + +```bash +ssh k3s-server-1 +sudo vim /var/lib/rancher/k3s/server/manifests/traefik.yaml +# added forwardedHeaders.trustedIPs inline +sudo systemctl restart k3s +``` + +**문제:** K3s는 재시작 시 이 파일을 packaged 기본값으로 overwrite한다. 커스터마이징이 조용히 사라지고 서버별로 drift까지 생긴다. `HelmChartConfig`만 허용되는 경로. + +--- + +## 나쁜 예시 2: server 간 서로 다른 critical 플래그 + +```yaml +# k3s-server-1: /etc/rancher/k3s/config.yaml +cluster-cidr: "10.42.0.0/16" +disable: [ traefik, servicelb ] +``` + +```yaml +# k3s-server-2: /etc/rancher/k3s/config.yaml +cluster-cidr: "10.44.0.0/16" # mismatched +disable: [ traefik ] # mismatched +``` + +**문제:** `critical configuration value mismatch` 로 server-2의 join이 실패하거나, 최악의 경우 이전 값이 캐시되어 silent drift가 생긴다. critical 값은 **Git 하나의 파일**로 통일해야 한다. + +--- + +## 나쁜 예시 3: embedded registry mirror를 켜고 firewall 포트 미개방 + +```yaml +# /etc/rancher/k3s/config.yaml (all nodes) +embedded-registry: true +``` + +```bash +# On each node, firewalld / iptables only allows 6443, 10250, 8472 +# Port 5001 is CLOSED between nodes +``` + +**문제:** Spegel은 **TCP 5001 (p2p) + TCP 6443 (registry + supervisor)** 양쪽이 모든 노드 간 reachable해야 한다. 5001이 막혀있으면 p2p gossip 실패로 image sharing이 작동하지 않고, pull 지연이 오히려 커진다. 공식 기준: `https://docs.k3s.io/installation/registry-mirror`. + +--- + +## 나쁜 예시 4: 운영 AddOn을 서버마다 scp로 push + +```bash +scp ingress-custom.yaml k3s-server-1:/var/lib/rancher/k3s/server/manifests/ +# forgot server-2 and server-3 +``` + +**문제:** K3s는 이 디렉터리를 server 간 동기화하지 않는다. 리더가 server-2로 바뀌면 AddOn이 사라진 것처럼 보인다. Git + ArgoCD/Flux가 단일 진입점이어야 한다. + +--- + +## 나쁜 예시 5: prod postgres StatefulSet을 `local-path`에 배치 + +```yaml +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data-postgres-0 + namespace: prod-data-postgres +spec: + storageClassName: local-path + accessModes: [ ReadWriteOnce ] + resources: + requests: + storage: 200Gi +``` + +**문제:** local-path = 노드 hostPath. 노드가 죽으면 PVC 데이터도 죽는다. 스냅샷 불가, 복제 불가, 마이그레이션 불가. prod DB는 Longhorn replicated / Ceph RBD / 외부 CSI 필수. + +--- + +## 나쁜 예시 6: Traefik 유지하면서 `HelmChartConfig` 이름을 잘못 박음 + +```yaml +apiVersion: helm.cattle.io/v1 +kind: HelmChartConfig +metadata: + name: traefik-custom # WRONG: must match the packaged HelmChart name + namespace: kube-system +spec: + valuesContent: |- + deployment: + replicas: 3 +``` + +**문제:** `HelmChartConfig`의 `metadata.name`은 K3s가 생성한 `HelmChart`와 **이름·namespace 모두 일치**해야 override가 merge된다. `traefik-custom`은 무시되고, override가 반영되지 않는다. 올바른 이름은 `traefik`. diff --git a/docs/examples/infra/keycloak.md b/docs/examples/infra/keycloak.md new file mode 100644 index 0000000..e972c1e --- /dev/null +++ b/docs/examples/infra/keycloak.md @@ -0,0 +1,668 @@ +# Keycloak 예시 + +Keycloak 26+ (Quarkus distribution) + Keycloak Operator 기준. 모든 YAML은 그대로 `kubectl apply`로 적용 가능한 완전한 manifest다. + +--- + +## 좋은 예시 1: optimized 이미지 빌드 (두 단계) + +`kc.sh build`로 Quarkus augmentation을 굽고, 실행 이미지를 분리한다. + +```dockerfile +# Dockerfile.keycloak +FROM quay.io/keycloak/keycloak:26.0.7 AS builder + +ENV KC_DB=postgres +ENV KC_HEALTH_ENABLED=true +ENV KC_METRICS_ENABLED=true +ENV KC_CACHE=ispn +ENV KC_CACHE_STACK=jdbc-ping +ENV KC_FEATURES=token-exchange,admin-fine-grained-authz +ENV KC_HTTP_ENABLED=true + +RUN /opt/keycloak/bin/kc.sh build + +FROM quay.io/keycloak/keycloak:26.0.7 + +COPY --from=builder /opt/keycloak/ /opt/keycloak/ + +USER 1000 + +ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start", "--optimized"] +``` + +**왜 좋은가:** + +- 빌드 단계에서 augmentation 완료, 런타임은 runtime-only config만 수신 +- `--optimized` 플래그로 매 기동 시 build 재실행 방지 (cold start 50% 단축) +- v26+ `--proxy` 제거 대응: legacy 옵션이 build 시 포함되지 않음 + +--- + +## 나쁜 예시 1: dev mode / 매 기동 build + +```yaml +args: + - start-dev +``` + +또는 + +```yaml +args: + - start +``` + +**문제:** + +- `start-dev`는 hostname-strict=false, H2 in-memory DB, TLS 해제 — production 부적합 +- `start`는 optimized 이미지가 아니면 매 기동마다 Quarkus augmentation 수행 → cold start 2배+ +- v26에서 `--proxy edge` 같은 legacy 옵션은 아예 기동 실패 + +--- + +## 좋은 예시 2: Keycloak Operator Keycloak CR (1차 권장) + +```yaml +--- +apiVersion: v1 +kind: Namespace +metadata: + name: keycloak + labels: + pod-security.kubernetes.io/enforce: restricted + pod-security.kubernetes.io/audit: restricted +--- +apiVersion: v1 +kind: Secret +metadata: + name: keycloak-db-secret + namespace: keycloak +type: Opaque +stringData: + username: keycloak + password: REPLACE_VIA_VSO +--- +apiVersion: v1 +kind: Secret +metadata: + name: keycloak-tls + namespace: keycloak +type: kubernetes.io/tls +data: + tls.crt: LS0tLS1CRUdJTi... # cert-manager 발급 권장 + tls.key: LS0tLS1CRUdJTi... +--- +apiVersion: k8s.keycloak.org/v2alpha1 +kind: Keycloak +metadata: + name: keycloak + namespace: keycloak + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak-prod + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: keycloak-operator +spec: + instances: 3 + image: registry.example.com/platform/keycloak:26.0.7-optimized + startOptimized: true + db: + vendor: postgres + host: keycloak-db-rw.keycloak.svc.cluster.local + port: 5432 + database: keycloak + usernameSecret: + name: keycloak-db-secret + key: username + passwordSecret: + name: keycloak-db-secret + key: password + poolMinSize: 5 + poolInitialSize: 5 + poolMaxSize: 20 + hostname: + hostname: https://auth.example.com + admin: https://admin-auth.example.com + strict: true + backchannelDynamic: false + http: + httpEnabled: true + tlsSecret: keycloak-tls + proxy: + headers: xforwarded + features: + enabled: + - token-exchange + - admin-fine-grained-authz + additionalOptions: + - name: cache + value: ispn + - name: cache-stack + value: jdbc-ping + - name: log-console-output + value: json + - name: metrics-enabled + value: "true" + - name: health-enabled + value: "true" + resources: + requests: + cpu: 500m + memory: 1Gi + limits: + cpu: "2" + memory: 2Gi + scheduling: + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app: keycloak + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchLabels: + app: keycloak +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: keycloak + namespace: keycloak +spec: + minAvailable: 2 + unhealthyPodEvictionPolicy: AlwaysAllow + selector: + matchLabels: + app: keycloak +``` + +**왜 좋은가:** + +- Operator가 StatefulSet, Service, cache stack 설정을 자동 관리 +- hostname v2 (full URL, admin host 분리, strict=true, backchannelDynamic=false) 명시 +- `startOptimized: true`로 Operator가 `kc.sh start --optimized` 실행 +- PDB `minAvailable: 2` + topologySpread로 zone-level disruption 방어 + +--- + +## 나쁜 예시 2: 수제 Deployment + `--proxy edge` + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: keycloak +spec: + replicas: 1 + template: + spec: + containers: + - name: keycloak + image: quay.io/keycloak/keycloak:26.0.7 + args: ["start", "--proxy", "edge"] + env: + - name: KC_HOSTNAME + value: auth.example.com + - name: KC_HOSTNAME_STRICT + value: "false" +``` + +**문제:** + +- `--proxy` 옵션은 v26에서 제거되어 기동 실패 +- `KC_HOSTNAME`에 scheme 없는 호스트명 단독 전달 → v2 검증에서 경고 +- `KC_HOSTNAME_STRICT=false`는 proxy hop이 Host 헤더를 조작할 수 있는 공격 벡터를 열어둠 +- replicas: 1 + Deployment → rolling update 시 Infinispan cluster membership 이슈 + 단일 장애 + +--- + +## 좋은 예시 3: Probe (management port 9000) + +```yaml +ports: + - name: http + containerPort: 8080 + protocol: TCP + - name: management + containerPort: 9000 + protocol: TCP + +startupProbe: + httpGet: + path: /health/started + port: 9000 + scheme: HTTP + periodSeconds: 5 + failureThreshold: 60 + timeoutSeconds: 3 + +readinessProbe: + httpGet: + path: /health/ready + port: 9000 + scheme: HTTP + periodSeconds: 10 + failureThreshold: 3 + timeoutSeconds: 3 + +livenessProbe: + httpGet: + path: /health/live + port: 9000 + scheme: HTTP + initialDelaySeconds: 60 + periodSeconds: 30 + failureThreshold: 3 + timeoutSeconds: 3 +``` + +**왜 좋은가:** + +- 9000은 management port (`KC_HTTP_MANAGEMENT_PORT` 기본값) +- startupProbe 5분 유예: JVM + Quarkus + DB migration cold start 수용 +- readiness는 `/health/ready` (DB connectivity 포함), liveness는 `/health/live` (프로세스 생존) + +--- + +## 나쁜 예시 3: Probe를 8080 `/` 로 설정 + +```yaml +readinessProbe: + httpGet: + path: / + port: 8080 + periodSeconds: 3 + failureThreshold: 2 +``` + +**문제:** + +- 8080 `/`는 redirect 응답이고 DB / cache readiness를 검증하지 않음 +- `failureThreshold: 2` + `periodSeconds: 3`은 cold start 중 pod 재시작 유발 +- health endpoint가 켜져 있어도 사용하지 않아 관찰 포인트 상실 + +--- + +## 좋은 예시 4: Service + ServiceMonitor + +```yaml +--- +apiVersion: v1 +kind: Service +metadata: + name: keycloak + namespace: keycloak + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak-prod +spec: + type: ClusterIP + selector: + app: keycloak + ports: + - name: http + port: 8080 + targetPort: 8080 + - name: management + port: 9000 + targetPort: 9000 +--- +apiVersion: v1 +kind: Service +metadata: + name: keycloak-headless + namespace: keycloak +spec: + type: ClusterIP + clusterIP: None + selector: + app: keycloak + ports: + - name: http + port: 8080 + targetPort: 8080 +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: keycloak + namespace: keycloak + labels: + app.kubernetes.io/name: keycloak + release: kube-prometheus-stack +spec: + selector: + matchLabels: + app.kubernetes.io/name: keycloak + endpoints: + - port: management + path: /metrics + interval: 30s + scrapeTimeout: 10s +``` + +**왜 좋은가:** + +- ClusterIP Service가 사용자 트래픽용(8080), management(9000)을 분리 expose +- Headless service는 cache peer discovery 보조 (jdbc-ping에서는 불필요하지만 DNS_PING fallback 대비) +- ServiceMonitor는 management port의 `/metrics`만 scrape + +--- + +## 좋은 예시 5: Ingress — SSO host + Admin host 분리 + +```yaml +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: keycloak-sso + namespace: keycloak + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/proxy-buffer-size: "128k" + nginx.ingress.kubernetes.io/proxy-body-size: "4m" +spec: + ingressClassName: nginx + tls: + - hosts: + - auth.example.com + secretName: keycloak-sso-tls + rules: + - host: auth.example.com + http: + paths: + - path: /realms/ + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 8080 + - path: /resources/ + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 8080 + - path: /.well-known/ + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 8080 + - path: /js/ + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: keycloak-admin + namespace: keycloak + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/8,192.168.0.0/16" + nginx.ingress.kubernetes.io/auth-url: "https://oauth2-proxy.example.com/oauth2/auth" +spec: + ingressClassName: nginx + tls: + - hosts: + - admin-auth.example.com + secretName: keycloak-admin-tls + rules: + - host: admin-auth.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 8080 +``` + +**왜 좋은가:** + +- SSO host는 `/realms/`, `/resources/`, `/.well-known/`, `/js/` 만 공개 (필요 최소) +- Admin host는 별도 hostname + IP whitelist + forward-auth 2중 보호 +- `/metrics`, `/health*`, `/admin/`이 SSO host에 노출되지 않음 + +--- + +## 나쁜 예시 4: 전체 공개 + 9000 노출 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: keycloak +spec: + rules: + - host: auth.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 8080 + - path: /metrics + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 9000 +``` + +**문제:** + +- `/` 공개 → `/admin/` 포함 전부 외부 노출 → credential stuffing / brute force 표면 확장 +- `/metrics`는 인증이 없는 운영 데이터 endpoint → 정보 유출 +- 9000 management port가 인터넷에 노출 → health/metrics 둘 다 오픈 + +--- + +## 좋은 예시 6: KeycloakRealmImport CR + +```yaml +--- +apiVersion: v1 +kind: Secret +metadata: + name: platform-realm + namespace: keycloak +type: Opaque +stringData: + realm.json: | + { + "realm": "platform", + "enabled": true, + "sslRequired": "external", + "registrationAllowed": false, + "loginWithEmailAllowed": true, + "accessTokenLifespan": 300, + "clients": [ + { + "clientId": "auth-server", + "protocol": "openid-connect", + "publicClient": false, + "standardFlowEnabled": true, + "redirectUris": ["https://auth-server.example.com/*"], + "webOrigins": ["https://auth-server.example.com"] + } + ], + "roles": { + "realm": [ + {"name": "platform-admin"}, + {"name": "platform-user"} + ] + } + } +--- +apiVersion: k8s.keycloak.org/v2alpha1 +kind: KeycloakRealmImport +metadata: + name: platform-realm + namespace: keycloak +spec: + keycloakCRName: keycloak + realm: + realm: platform + enabled: true + sslRequired: external + registrationAllowed: false + loginWithEmailAllowed: true + accessTokenLifespan: 300 +``` + +**왜 좋은가:** + +- Realm을 선언적으로 관리 (GitOps 연계) +- Operator가 `keycloak` CR ready 이후 server-side import Job을 자동 생성 +- client secret처럼 민감한 값은 별도 Vault 경로로 분리, realm JSON은 Git 안전 + +--- + +## 나쁜 예시 5: kcadm.sh pipeline 직접 호출 + +```bash +# CI pipeline +kcadm.sh config credentials \ + --server https://auth.example.com \ + --realm master \ + --user admin \ + --password $KEYCLOAK_ADMIN_PASSWORD + +kcadm.sh create realms -s realm=platform -s enabled=true +kcadm.sh create clients -r platform -s clientId=auth-server +``` + +**문제:** + +- 상태가 선언적이지 않아 drift 탐지 불가 +- admin credential이 CI runner 환경에 상주 +- 실패 시 재실행 안전성(idempotency) 없음 +- GitOps 원칙과 충돌 + +--- + +## 좋은 예시 7: SecurityContext + Resource + +```yaml +securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + +containers: + - name: keycloak + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + env: + - name: JAVA_OPTS_APPEND + value: "-XX:MaxRAMPercentage=70 -XX:InitialRAMPercentage=50 -Djgroups.dns.query=keycloak-headless.keycloak.svc.cluster.local" + resources: + requests: + cpu: 500m + memory: 1Gi + limits: + cpu: "2" + memory: 2Gi + volumeMounts: + - name: tmp + mountPath: /tmp + - name: data + mountPath: /opt/keycloak/data + +volumes: + - name: tmp + emptyDir: {} + - name: data + emptyDir: {} +``` + +**왜 좋은가:** + +- Restricted PSS 전부 충족: non-root, no privilege escalation, RO root fs, cap drop ALL +- `MaxRAMPercentage=70`은 JVM이 container limit의 70%까지만 heap 사용 (나머지는 direct memory / metaspace) +- `readOnlyRootFilesystem: true` + emptyDir 마운트로 runtime write path 격리 + +--- + +## 좋은 예시 8: Vault에서 DB credential 주입 (VSO) + +```yaml +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: keycloak-db + namespace: keycloak +spec: + vaultAuthRef: default + mount: kv + path: keycloak/db + type: kv-v2 + refreshAfter: 1h + destination: + name: keycloak-db-secret + create: true + overwrite: true + transformation: + excludeRaw: true + templates: + username: + text: '{{ .Secrets.username }}' + password: + text: '{{ .Secrets.password }}' +``` + +**왜 좋은가:** + +- Vault KV v2의 `keycloak/db`에서 credential을 K8s Secret으로 동기화 +- 1시간 주기 refresh, VSO가 Pod를 재시작시켜 rotation 적용 가능 (별도 `rolloutRestartTargets` 설정 시) +- Git에 평문 credential이 없다 + +--- + +## 나쁜 예시 6: env에 평문 credential + +```yaml +env: + - name: KC_DB_PASSWORD + value: "SuperSecret123!" + - name: KEYCLOAK_ADMIN_PASSWORD + value: "admin" +``` + +**문제:** + +- Git에 평문 저장 → 권한 있는 모든 인원이 조회 가능 +- 기본 `admin/admin` credential → bootstrap 직후 자동화된 스캐너에 탈취 위험 +- rotation 경로 없음 diff --git a/docs/examples/infra/kustomize.md b/docs/examples/infra/kustomize.md new file mode 100644 index 0000000..4e46c8a --- /dev/null +++ b/docs/examples/infra/kustomize.md @@ -0,0 +1,548 @@ +# Kustomize 예시 + +모든 예시는 Kustomize v5 문법 기준. 렌더 검증: + +```bash +kubectl kustomize

| kubectl apply --server-side --field-manager=ci --dry-run=server -f - +``` + +--- + +## 좋은 예시 1: base / components / overlays 전체 구조 + 실제 base `kustomization.yaml` + +```text +k8s/ + base/ + app/units/identity/auth/ + kustomization.yaml + deployment.yaml + service.yaml + servicemonitor.yaml + pdb.yaml + hpa.yaml + components/ + with-topology-spread-zone/ + kustomization.yaml + patch.yaml + with-pdb-tier1/ + kustomization.yaml + patch.yaml + overlays/ + prod/kr-main/ + kustomization.yaml + patches/ + auth-resources.yaml + auth-ingress-host.yaml +``` + +```yaml +# k8s/base/app/units/identity/auth/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - deployment.yaml + - service.yaml + - servicemonitor.yaml + - pdb.yaml + - hpa.yaml +labels: + - pairs: + app.kubernetes.io/name: auth + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + includeSelectors: false + includeTemplates: true +``` + +**왜 좋은가:** + +- base가 환경·region을 모른다 (namespace / replicas / host / image tag 전부 없음) +- `labels:` (v5) 사용, `commonLabels` 없음 → selector immutability 안전 +- `includeTemplates: true`로 Pod label에는 전파되어 observability 쿼리 가능 +- selector에 들어가는 label은 base의 Deployment 내부에서 명시적으로 고정 + +--- + +## 좋은 예시 2: base Deployment (완전 apply-ready) + +```yaml +# k8s/base/app/units/identity/auth/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + annotations: + example.com/owner-email: identity-sre@example.com +spec: + replicas: 2 + revisionHistoryLimit: 5 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 0 + selector: + matchLabels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + app.kubernetes.io/component: api + template: + metadata: + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "8081" + prometheus.io/path: "/actuator/prometheus" + spec: + serviceAccountName: auth + automountServiceAccountToken: false + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + terminationGracePeriodSeconds: 45 + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + app.kubernetes.io/component: api + containers: + - name: auth + image: registry.example.com/auth:placeholder + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8080 + protocol: TCP + - name: management + containerPort: 8081 + protocol: TCP + env: + - name: JAVA_TOOL_OPTIONS + value: "-XX:MaxRAMPercentage=75 -XX:+UseG1GC" + envFrom: + - configMapRef: + name: auth-config + - secretRef: + name: auth-secrets + resources: + requests: + cpu: 250m + memory: 512Mi + limits: + cpu: "2" + memory: 1Gi + startupProbe: + httpGet: + path: /actuator/health/liveness + port: management + periodSeconds: 5 + failureThreshold: 30 + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: management + periodSeconds: 10 + timeoutSeconds: 3 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: management + periodSeconds: 5 + timeoutSeconds: 2 + failureThreshold: 3 + securityContext: + runAsNonRoot: true + runAsUser: 10001 + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + volumeMounts: + - name: tmp + mountPath: /tmp + - name: cache + mountPath: /app/cache + volumes: + - name: tmp + emptyDir: + sizeLimit: 64Mi + - name: cache + emptyDir: + sizeLimit: 256Mi +``` + +**왜 좋은가:** + +- image는 `:placeholder`, overlay의 `images:`가 digest로 patch → base는 버전 모름 +- `revisionHistoryLimit: 5` → 대규모 cluster에서 ReplicaSet 누적 방지 +- PodSecurity restricted 호환 (non-root, seccomp RuntimeDefault, capabilities drop ALL, readOnlyRootFilesystem) +- startup/liveness/readiness 3종이 타이밍 분리 (startup 150s, liveness 30s, readiness 15s 윈도우) +- topologySpreadConstraints로 zone별 분산 +- `automountServiceAccountToken: false` (ServiceAccount token을 쓰지 않는 워크로드) + +--- + +## 좋은 예시 3: overlay prod/kr-main — 환경 차이만 + +```yaml +# k8s/overlays/prod/kr-main/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: prod-identity-auth +resources: + - ../../../base/app/units/identity/auth +components: + - ../../../components/with-topology-spread-zone + - ../../../components/with-pdb-tier1 +labels: + - pairs: + example.com/environment: prod + example.com/region: kr-main + example.com/slo-tier: tier-1 + includeSelectors: false + includeTemplates: true +images: + - name: registry.example.com/auth + digest: "sha256:f1a2b3c4d5e6f7081920aabbccddeeff00112233445566778899aabbccddeeff" +replicas: + - name: auth + count: 6 +patches: + - target: + kind: Deployment + name: auth + path: patches/auth-resources.yaml + - target: + kind: Ingress + name: auth-public + patch: |- + - op: replace + path: /spec/rules/0/host + value: auth.example.com + - op: replace + path: /spec/tls/0/hosts/0 + value: auth.example.com +``` + +```yaml +# k8s/overlays/prod/kr-main/patches/auth-resources.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth +spec: + selector: + matchLabels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + template: + metadata: + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: auth + image: registry.example.com/auth-server:1.24.0 + resources: + requests: + cpu: 500m + memory: 1Gi + limits: + cpu: "2" + memory: 2Gi + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +``` + +**왜 좋은가:** + +- overlay 자체가 짧음 (base를 재작성하지 않음) +- digest 기반 image pinning +- `components:`로 zone spread + PDB tier-1을 재사용 +- `labels:` 사용, `includeSelectors: false` → selector immutability 안전 +- replicas override는 HPA minReplicas와 일치 (HPA base에서 `minReplicas: 6`으로 설정되어 있다고 가정) + +--- + +## 좋은 예시 4: Kustomize Component — `with-pdb-tier1` + +```yaml +# k8s/components/with-pdb-tier1/kustomization.yaml +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component +resources: + - pdb.yaml +``` + +```yaml +# k8s/components/with-pdb-tier1/pdb.yaml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd + example.com/slo-tier: tier-1 +spec: + minAvailable: 50% + unhealthyPodEvictionPolicy: AlwaysAllow + selector: + matchLabels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + app.kubernetes.io/component: api +``` + +**왜 좋은가:** + +- `kind: Component`로 선언 → 여러 overlay에서 `components:` 키로 재사용 +- tier-1의 PDB 정책(50% minAvailable)이 단일 파일에 고정 +- 다른 tier는 별도 component (`with-pdb-tier2`, `with-pdb-tier3`) + +--- + +## 좋은 예시 5: ConfigMap generator + hash suffix를 활용한 자동 rollout + +```yaml +# k8s/base/app/units/identity/auth/kustomization.yaml (with generator) +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - deployment.yaml + - service.yaml +configMapGenerator: + - name: auth-config + files: + - application.yaml=config/application.yaml + - logback.xml=config/logback.xml + options: + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/component: config +generatorOptions: + disableNameSuffixHash: false +``` + +**왜 좋은가:** + +- ConfigMap 내용 변경 시 hash suffix가 바뀜 → Deployment가 새 이름을 참조 → rolling update 자동 트리거 +- annotation 기반 "checksum" hack 불필요 +- Secret은 generator로 만들지 않고 External Secrets로 관리 + +--- + +## 좋은 예시 6: HPA v2 + behavior (base 리소스) + +```yaml +# k8s/base/app/units/identity/auth/hpa.yaml +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: auth + labels: + app.kubernetes.io/name: auth + app.kubernetes.io/instance: auth + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: auth + minReplicas: 2 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 70 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 80 + behavior: + scaleDown: + stabilizationWindowSeconds: 300 + policies: + - type: Percent + value: 25 + periodSeconds: 60 + scaleUp: + stabilizationWindowSeconds: 0 + policies: + - type: Percent + value: 100 + periodSeconds: 30 + - type: Pods + value: 4 + periodSeconds: 30 + selectPolicy: Max +``` + +**왜 좋은가:** + +- HPA v2 behavior로 scaleDown stabilization (5분) vs scaleUp aggressive (즉시) 분리 +- overlay는 `minReplicas` / `maxReplicas`만 override하고 behavior는 상속 + +--- + +## 나쁜 예시 1: `commonLabels`로 environment 주입 → selector immutable 에러 + +```yaml +# k8s/overlays/prod/kustomization.yaml (BAD) +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: prod-identity-auth +resources: + - ../../base/app/units/identity/auth +commonLabels: + example.com/environment: prod +``` + +**문제:** `commonLabels`는 `spec.selector.matchLabels`에 자동 주입된다. 이미 live 상태인 Deployment/StatefulSet에 apply하면 `The Deployment "auth" is invalid: spec.selector: Invalid value: ...: field is immutable` 로 차단. 해결: `labels:` + `includeSelectors: false`로 교체. + +--- + +## 나쁜 예시 2: overlay가 base를 거의 재작성 + +```text +k8s/base/app/units/identity/auth/deployment.yaml (150 lines) +k8s/overlays/prod/deployment.yaml (140 lines, 95% identical) +k8s/overlays/staging/deployment.yaml (140 lines) +k8s/overlays/dev/deployment.yaml (135 lines) +``` + +**문제:** overlay가 base의 95%를 복붙 + 몇 줄 수정. drift 발생 시점부터 base가 의미 없어진다. 해결: overlay는 `patches:` + `images:` + `replicas:` + `labels:`만 쓰고 전체 리소스는 base에서 가져온다. + +--- + +## 나쁜 예시 3: 운영 secret을 `secretGenerator`로 plaintext Git 커밋 + +```yaml +# k8s/overlays/prod/kustomization.yaml (BAD) +secretGenerator: + - name: auth-secrets + literals: + - OAUTH_CLIENT_SECRET=s3cr3t-prod-value + - DB_PASSWORD=prod-db-password +``` + +**문제:** plaintext secret이 Git에 박힌다. 해결: External Secrets Operator + Vault / AWS Secrets Manager / Bitwarden Secrets. 또는 SealedSecrets (public key encrypted). + +--- + +## 나쁜 예시 4: `patchesStrategicMerge` / `patchesJson6902` (deprecated) + +```yaml +# k8s/overlays/prod/kustomization.yaml (BAD, v5 deprecated) +patchesStrategicMerge: + - patches/auth-resources.yaml +patchesJson6902: + - target: + group: apps + version: v1 + kind: Deployment + name: auth + path: patches/auth-env.yaml +``` + +**문제:** 두 필드는 Kustomize v5에서 deprecated (여전히 동작하지만 신규 사용 금지). 하나의 `patches:` 필드로 통합되어 strategic merge + JSON patch 양쪽을 지원하므로 혼재할 이유 없음. 해결: `patches:` 단일 키 사용. + +--- + +## 나쁜 예시 5: base에 환경 host / domain 고정 + +```yaml +# k8s/base/app/units/identity/auth/ingress.yaml (BAD) +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: auth-public +spec: + rules: + - host: auth.example.com # prod host hardcoded in base + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: auth + port: + number: 8080 +``` + +**문제:** base가 prod를 전제한다. dev/staging overlay가 host를 교체하려고 `patches:`를 추가해야 하고, base는 더 이상 환경 중립이 아니다. 해결: base에서는 host를 placeholder (`auth.placeholder.invalid`)로 두고 overlay `patches:`에서 주입. + +--- + +## 나쁜 예시 6: `bases:` 사용 (v2.1에서 `resources:`로 통합됨) + +```yaml +# k8s/overlays/prod/kustomization.yaml (BAD) +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +bases: + - ../../base/app/units/identity/auth +``` + +**문제:** `bases:`는 v2.1에서 `resources:`에 흡수됨. 신규 코드에서 사용 금지. 해결: `resources:` 사용. + +--- + +## 나쁜 예시 7: HPA가 있는 Deployment에 overlay `replicas:`로 고정값 주입 + +```yaml +# k8s/overlays/prod/kustomization.yaml (BAD — conflicts with HPA) +replicas: + - name: auth + count: 3 +``` + +(한편 HPA는 `minReplicas: 6 / maxReplicas: 20`) + +**문제:** Kustomize가 `replicas: 3`으로 apply → HPA가 즉시 6으로 끌어올림 → 매 ArgoCD sync마다 `out-of-sync` flap. 해결: HPA 활성 리소스에서는 overlay `replicas:`를 쓰지 않고, HPA `minReplicas`를 환경별로 patch. diff --git a/docs/examples/infra/minio.md b/docs/examples/infra/minio.md new file mode 100644 index 0000000..b0af153 --- /dev/null +++ b/docs/examples/infra/minio.md @@ -0,0 +1,855 @@ +# MinIO 예시 + +MinIO Operator + Tenant CRD (`minio.min.io/v2`) + KES + Vault transit 기준. 모든 manifest는 `kubectl apply` 적용 가능한 완전한 형태다. + +--- + +## 좋은 예시 1: Namespace + Tenant configuration Secret + +```yaml +--- +apiVersion: v1 +kind: Namespace +metadata: + name: minio-prod + labels: + pod-security.kubernetes.io/enforce: restricted + pod-security.kubernetes.io/audit: restricted + app.kubernetes.io/part-of: storage-platform +--- +apiVersion: v1 +kind: Secret +metadata: + name: minio-tenant-env + namespace: minio-prod +type: Opaque +stringData: + config.env: | + export MINIO_ROOT_USER="REPLACE_VIA_VSO" + export MINIO_ROOT_PASSWORD="REPLACE_VIA_VSO" + export MINIO_STORAGE_CLASS_STANDARD="EC:4" + export MINIO_STORAGE_CLASS_RRS="EC:2" + export MINIO_BROWSER_REDIRECT_URL="https://minio-console.internal.example.com" + export MINIO_SERVER_URL="https://s3.example.com" + export MINIO_IDENTITY_OPENID_CONFIG_URL="https://auth.example.com/realms/platform/.well-known/openid-configuration" + export MINIO_IDENTITY_OPENID_CLIENT_ID="minio" + export MINIO_IDENTITY_OPENID_CLAIM_NAME="policy" + export MINIO_IDENTITY_OPENID_SCOPES="openid,profile,email" + export MINIO_PROMETHEUS_AUTH_TYPE="jwt" +--- +# 실 운영에서는 VSO가 이 Secret을 채움 +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: minio-root-creds + namespace: minio-prod +spec: + vaultAuthRef: default + mount: kv + path: minio/prod/root + type: kv-v2 + refreshAfter: 24h + destination: + name: minio-tenant-env + create: false + overwrite: true + transformation: + excludeRaw: true + templates: + config.env: + text: | + export MINIO_ROOT_USER="{{ .Secrets.username }}" + export MINIO_ROOT_PASSWORD="{{ .Secrets.password }}" + export MINIO_STORAGE_CLASS_STANDARD="EC:4" + export MINIO_BROWSER_REDIRECT_URL="https://minio-console.internal.example.com" + export MINIO_SERVER_URL="https://s3.example.com" + export MINIO_IDENTITY_OPENID_CONFIG_URL="https://auth.example.com/realms/platform/.well-known/openid-configuration" + export MINIO_IDENTITY_OPENID_CLIENT_ID="minio" + export MINIO_IDENTITY_OPENID_CLIENT_SECRET="{{ .Secrets.oidc_client_secret }}" + export MINIO_IDENTITY_OPENID_CLAIM_NAME="policy" + export MINIO_IDENTITY_OPENID_SCOPES="openid,profile,email" + export MINIO_PROMETHEUS_AUTH_TYPE="jwt" +``` + +**왜 좋은가:** + +- Tenant configuration은 **shell-source 형식**(`export KEY=VALUE`) Secret으로 전달 (Operator 규약) +- Root credential을 Vault KV에서 VSO가 주입 — Git에 평문 없음 +- OIDC 통합 (Keycloak), storage class EC:4, Prometheus JWT auth 한 파일에 고정 +- `MINIO_SERVER_URL`로 외부 S3 endpoint 명시 (presigned URL 생성 시 사용) + +--- + +## 좋은 예시 2: Tenant CR — 4 server × 4 volume + KES + TLS + +```yaml +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio + namespace: minio-prod + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio-prod + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: minio-operator + annotations: + prometheus.io/path: /minio/v2/metrics/cluster + prometheus.io/port: "9000" + prometheus.io/scrape: "true" +spec: + image: quay.io/minio/minio:RELEASE.2025-01-20T14-49-07Z + imagePullPolicy: IfNotPresent + mountPath: /export + + configuration: + name: minio-tenant-env + + requestAutoCert: true + certConfig: + commonName: minio.minio-prod.svc.cluster.local + organizationName: + - example.com + dnsNames: + - minio.minio-prod.svc.cluster.local + - "*.minio-hl.minio-prod.svc.cluster.local" + - s3.example.com + + pools: + - name: pool-0 + servers: 4 + volumesPerServer: 4 + volumeClaimTemplate: + metadata: + name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 500Gi + storageClassName: local-xfs-retain + resources: + requests: + cpu: 500m + memory: 2Gi + limits: + cpu: "4" + memory: 8Gi + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + runAsNonRoot: true + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containerSecurityContext: + runAsUser: 1000 + runAsGroup: 1000 + runAsNonRoot: true + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + v1.min.io/tenant: minio + v1.min.io/pool: pool-0 + topologyKey: kubernetes.io/hostname + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + v1.min.io/tenant: minio + tolerations: + - key: storage + operator: Equal + value: dedicated + effect: NoSchedule + + features: + bucketDNS: false + domains: + console: https://minio-console.internal.example.com + minio: + - https://s3.example.com + + kes: + image: quay.io/minio/kes:2025-01-16T16-24-39Z + replicas: 2 + kesSecret: + name: kes-configuration + imagePullPolicy: IfNotPresent + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + runAsNonRoot: true + fsGroup: 1000 + containerSecurityContext: + runAsNonRoot: true + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + + prometheusOperator: true + + podManagementPolicy: Parallel + + exposeServices: + minio: true + console: false + + logging: + anonymous: false + json: true + quiet: false +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: minio + namespace: minio-prod +spec: + minAvailable: 3 + unhealthyPodEvictionPolicy: AlwaysAllow + selector: + matchLabels: + v1.min.io/tenant: minio +``` + +**왜 좋은가:** + +- `servers × volumesPerServer = 4 × 4 = 16` drive → erasure coding 최소 요건 충족, `EC:4` 기본 parity (4 drive 장애 허용) +- `requestAutoCert: true` + `certConfig.dnsNames`로 Operator가 API/Console TLS 자동 발급 +- `podAntiAffinity` hostname required → 한 node에 MinIO pod 복수 배치 금지 (EC 의미 보존) +- KES가 별도 2 replica로 사이드카 없이 Deployment로 분리 (Tenant CR에서 관리됨) +- `exposeServices.console: false` → Console은 Tenant Service에서 Ingress로 별도 처리만 허용 +- `minAvailable: 3` → 4 server 중 1 동시 drain까지 허용 (write quorum 보존) + +--- + +## 나쁜 예시 1: 단일 Deployment로 MinIO + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: minio +spec: + replicas: 1 + template: + spec: + containers: + - name: minio + image: minio/minio + args: ["server", "/data"] + env: + - name: MINIO_ROOT_USER + value: minioadmin + - name: MINIO_ROOT_PASSWORD + value: minioadmin + volumeMounts: + - name: data + mountPath: /data + volumes: + - name: data + emptyDir: {} +``` + +**문제:** + +- Single-drive MinIO → erasure coding 없음, 1 drive 장애 = 전체 data loss +- Deployment = 재시작 시 PVC binding 보장 없음, 복수 replica 시 동일 volume 충돌 +- emptyDir → pod 재시작 시 모든 object 사라짐 +- 기본 `minioadmin/minioadmin` credential → 공개 인터넷 스캐너가 수 분 내 탈취 +- Operator + Tenant가 자동화하는 인증서, 서비스, headless, auto-restart를 전부 수제로 다시 만들어야 함 + +--- + +## 좋은 예시 3: KES configuration + Vault transit + +```yaml +--- +apiVersion: v1 +kind: Secret +metadata: + name: kes-configuration + namespace: minio-prod +type: Opaque +stringData: + server-config.yaml: | + version: v1 + address: 0.0.0.0:7373 + + admin: + identity: disabled + + tls: + key: /tmp/kes/server.key + cert: /tmp/kes/server.cert + + policy: + minio-app: + allow: + - /v1/key/create/minio-* + - /v1/key/generate/minio-* + - /v1/key/decrypt/minio-* + - /v1/key/bulk/decrypt/minio-* + - /v1/key/list/minio-* + - /v1/status + - /v1/metrics + - /v1/api + identities: + - ${MINIO_KES_IDENTITY} + + keystore: + vault: + endpoint: https://vault.vault.svc.cluster.local:8200 + engine: transit + version: v1 + namespace: "" + prefix: minio + approle: + id: ${VAULT_APPROLE_ID} + secret: ${VAULT_APPROLE_SECRET} + retry: 15s + tls: + ca: /tmp/kes/vault-ca.crt + status: + ping: 10s +--- +# Vault AppRole credential은 VSO 또는 별도 Secret으로 주입 +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: kes-vault-approle + namespace: minio-prod +spec: + vaultAuthRef: default + mount: kv + path: minio/kes/approle + type: kv-v2 + refreshAfter: 24h + destination: + name: kes-vault-approle + create: true + overwrite: true +``` + +그리고 bucket에 SSE-KMS 적용: + +```bash +mc alias set minio https://s3.example.com $ROOT_USER $ROOT_PASS + +# Vault transit에 key 생성 +mc admin kms key create minio minio-critical + +# bucket에 SSE-KMS 기본 적용 +mc encrypt set sse-kms minio-critical minio/critical-bucket +``` + +**왜 좋은가:** + +- KES가 Vault transit을 key store로 사용 → master key는 Vault가 관리, MinIO는 DEK만 캐시 +- KES policy로 `minio-*` prefix key만 access 허용 (최소 권한) +- AppRole credential은 Vault → VSO → Secret 경로 +- bucket level SSE-KMS → 업로드되는 모든 object가 per-object DEK로 자동 암호화 + +--- + +## 나쁜 예시 2: KES 없이 평문 저장 + +```yaml +# Tenant CR +spec: + kes: {} # 미설정 + # ... SSE 설정 없음 +``` + +```bash +mc cp secret.pdf minio/bucket/secret.pdf +# object가 disk에 평문 저장 +``` + +**문제:** + +- PVC가 탈취되거나 물리 drive가 반출되면 평문 유출 +- 감사/규제 요구(GDPR, PCI-DSS, ISO 27001) 위반 +- SSE-S3를 대신 쓰더라도 master key가 MinIO 자체에 있어 키 라이프사이클 관리 불가 + +--- + +## 좋은 예시 4: Probe — live + cluster-read + +Tenant CR이 자동으로 probe를 구성하지만, 커스텀 오버라이드가 필요할 때: + +```yaml +spec: + pools: + - name: pool-0 + # ... + containers: + - name: minio + livenessProbe: + httpGet: + path: /minio/health/live + port: 9000 + scheme: HTTPS + initialDelaySeconds: 60 + periodSeconds: 30 + timeoutSeconds: 5 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /minio/health/cluster/read + port: 9000 + scheme: HTTPS + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + startupProbe: + httpGet: + path: /minio/health/live + port: 9000 + scheme: HTTPS + periodSeconds: 5 + failureThreshold: 60 + timeoutSeconds: 5 +``` + +**왜 좋은가:** + +- `readinessProbe`는 `/minio/health/cluster/read` → **read quorum** 검사. rolling update 중에도 read가 가능하면 Service에 남아있음 +- `/minio/health/cluster` (write quorum)을 readiness로 쓰면 rolling 재시작 시 pod가 전부 빠져 완전 unavailable +- `livenessProbe`는 단순 프로세스 생존만 확인 → 일시적 quorum 상실로 pod 강제 재시작 방지 +- HTTPS scheme (requestAutoCert과 일치) + +--- + +## 나쁜 예시 3: readiness를 write quorum으로 + +```yaml +readinessProbe: + httpGet: + path: /minio/health/cluster + port: 9000 + periodSeconds: 5 + failureThreshold: 1 +``` + +**문제:** + +- rolling update로 pod 1개를 재시작하면 write quorum이 일시적으로 무너져 살아있는 pod들도 NotReady +- Service가 endpoint를 전부 제거 → **읽기도 불가능** +- `failureThreshold: 1` + 5초 주기 → 한 번 느린 응답으로 pod 빠짐 + +--- + +## 좋은 예시 5: Ingress — API는 공개, Console은 내부 + +```yaml +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: minio-api + namespace: minio-prod + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/proxy-body-size: "0" + nginx.ingress.kubernetes.io/proxy-request-buffering: "off" + nginx.ingress.kubernetes.io/proxy-buffering: "off" + nginx.ingress.kubernetes.io/backend-protocol: HTTPS +spec: + ingressClassName: nginx + tls: + - hosts: + - s3.example.com + secretName: minio-api-ingress-tls + rules: + - host: s3.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: minio + port: + number: 443 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: minio-console + namespace: minio-prod + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/8,192.168.0.0/16" + nginx.ingress.kubernetes.io/auth-url: "https://oauth2-proxy.example.com/oauth2/auth" + nginx.ingress.kubernetes.io/backend-protocol: HTTPS +spec: + ingressClassName: nginx-internal + tls: + - hosts: + - minio-console.internal.example.com + secretName: minio-console-ingress-tls + rules: + - host: minio-console.internal.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: minio-console + port: + number: 9443 +``` + +**왜 좋은가:** + +- API Ingress는 `proxy-body-size: 0` + request/response buffering off → 대용량 multipart upload 지원 +- Console은 내부 ingress class + IP whitelist + OIDC forward-auth 2중 보호 +- `backend-protocol: HTTPS` → MinIO의 auto-cert TLS를 TLS passthrough 형태로 전달 (인증서 SAN 보존) + +--- + +## 나쁜 예시 4: Console 외부 공개 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: minio-all +spec: + rules: + - host: minio.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: minio + port: + number: 9090 +``` + +**문제:** + +- Console이 인터넷에 그대로 노출 → root/admin credential brute force 표면 확장 +- OIDC forward-auth 없음 → 기본 login 페이지가 공격자에게 노출 +- IP 제한 없음 +- Bucket 목록, access key 관리, 사용자 관리가 모두 공개 domain에 위치 + +--- + +## 좋은 예시 6: ServiceMonitor (Prometheus bearer-token) + +먼저 MinIO 내부에서 scrape token 발급: + +```bash +mc admin prometheus generate minio cluster +# 출력에 bearer token과 scrape config가 나옴 +``` + +그 결과 token을 Secret로 저장: + +```yaml +--- +apiVersion: v1 +kind: Secret +metadata: + name: minio-prometheus-token + namespace: minio-prod +type: Opaque +stringData: + token: "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9..." +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: minio + namespace: minio-prod + labels: + app.kubernetes.io/name: minio + release: kube-prometheus-stack +spec: + selector: + matchLabels: + v1.min.io/tenant: minio + endpoints: + - port: https-minio + scheme: https + path: /minio/v2/metrics/cluster + interval: 30s + scrapeTimeout: 10s + bearerTokenSecret: + name: minio-prometheus-token + key: token + tlsConfig: + insecureSkipVerify: false + ca: + secret: + name: minio-tls + key: ca.crt + serverName: minio.minio-prod.svc.cluster.local +``` + +**왜 좋은가:** + +- `MINIO_PROMETHEUS_AUTH_TYPE=jwt` 와 매칭 (기본값) +- `/minio/v2/metrics/cluster`는 cluster-wide view (replication lag, bucket 사용량, API latency) +- TLS 검증 유지 (`insecureSkipVerify: false`, CA bundle 제공) +- 외부 노출 없이 내부 scrape만 + +--- + +## 좋은 예시 7: Bucket 초기화 (Job) — versioning + Object Lock + lifecycle + +```yaml +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: minio-bootstrap + namespace: minio-prod +data: + init.sh: | + #!/bin/sh + set -eu + + mc alias set minio https://minio.minio-prod.svc.cluster.local "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD" --api S3v4 + + # Object Lock은 bucket 생성 시점에만 활성화 가능 + mc mb --with-lock minio/critical-audit || true + mc retention set --default COMPLIANCE 2555d minio/critical-audit # 7년 보관 + + # Versioning + lifecycle + mc mb minio/app-data || true + mc version enable minio/app-data + mc ilm add --expire-noncurrent-days 90 minio/app-data + mc ilm add --expire-incomplete-upload-days 7 minio/app-data + + # SSE-KMS 기본 적용 + mc encrypt set sse-kms minio-app-key minio/app-data + mc encrypt set sse-kms minio-critical-key minio/critical-audit + + # Service account 발급 (앱 전용, 최소 권한 policy) + mc admin policy create minio auth-server-rw /policies/auth-server-rw.json + mc admin user svcacct add minio "$MINIO_ROOT_USER" \ + --access-key "$AUTH_SERVER_ACCESS_KEY" \ + --secret-key "$AUTH_SERVER_SECRET_KEY" \ + --policy /policies/auth-server-rw.json || true + + echo "bootstrap complete" + + auth-server-rw.json: | + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:ListBucket"], + "Resource": ["arn:aws:s3:::app-data/*", "arn:aws:s3:::app-data"] + } + ] + } +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: minio-bootstrap + namespace: minio-prod +spec: + backoffLimit: 3 + ttlSecondsAfterFinished: 86400 + template: + spec: + restartPolicy: OnFailure + serviceAccountName: minio-bootstrap + containers: + - name: mc + image: quay.io/minio/mc:RELEASE.2025-01-17T23-25-50Z + command: ["/bin/sh", "/scripts/init.sh"] + resources: + requests: { cpu: 100m, memory: 128Mi } + limits: { memory: 256Mi } + env: + - name: MINIO_ROOT_USER + valueFrom: + secretKeyRef: + name: minio-root-creds + key: username + - name: MINIO_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: minio-root-creds + key: password + - name: AUTH_SERVER_ACCESS_KEY + valueFrom: + secretKeyRef: + name: auth-server-minio-svcacct + key: access_key + - name: AUTH_SERVER_SECRET_KEY + valueFrom: + secretKeyRef: + name: auth-server-minio-svcacct + key: secret_key + volumeMounts: + - name: scripts + mountPath: /scripts + - name: policies + mountPath: /policies + securityContext: + runAsNonRoot: true + runAsUser: 1000 + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + volumes: + - name: scripts + configMap: + name: minio-bootstrap + defaultMode: 0755 + items: + - key: init.sh + path: init.sh + - name: policies + configMap: + name: minio-bootstrap + items: + - key: auth-server-rw.json + path: auth-server-rw.json +``` + +**왜 좋은가:** + +- `mc mb --with-lock`은 bucket 생성 시점에만 Object Lock 활성화 가능 — Job이 그 타이밍을 보장 +- COMPLIANCE 모드 7년 retention = 감사/규제 요구 충족 (root도 bypass 불가) +- `app-data` bucket은 versioning + lifecycle (90일 noncurrent expire + 7일 incomplete abort) +- service account는 특정 bucket prefix만 접근 가능한 policy로 제한 +- `backoffLimit: 3` + idempotent 명령 (`|| true`) → 재실행 안전 + +--- + +## 나쁜 예시 5: mc mirror만으로 DR + +```bash +# 매일 자정 crontab +mc mirror minio/critical remote-minio/critical-backup +``` + +**문제:** + +- `mc mirror`는 **현재 object만** 동기화 — 버전 히스토리 유실 +- Object Lock 상태, bucket policy, IAM 설정 미복제 +- 메타데이터 중 일부(tag, legal hold) 누락 +- RPO = 1일 (하루 단위 손실), replication은 async ms 단위 RPO +- DR 연습(resync 절차) 불가 + +대안: `mc admin replicate add` (site replication, IAM + bucket + object 전부 async 동기화). + +--- + +## 좋은 예시 8: Bucket replication + +```bash +# source alias 설정 +mc alias set source https://minio.minio-prod.svc.cluster.local $SRC_USER $SRC_PASS +mc alias set target https://minio.minio-dr.svc.cluster.local $TGT_USER $TGT_PASS + +# target에 replication 전용 user + policy +mc admin policy create target replication-target /policies/replication.json +mc admin user add target replication-bot $(openssl rand -hex 16) +mc admin policy attach target replication-target --user replication-bot + +# source에서 remote target 등록 +mc replicate add source/app-data \ + --remote-bucket https://replication-bot:PASS@minio.minio-dr.svc.cluster.local/app-data \ + --replicate "delete,delete-marker,existing-objects,metadata-sync" \ + --priority 1 +``` + +`replication.json`: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "s3:GetBucketVersioning", + "s3:PutBucketVersioning", + "s3:GetReplicationConfiguration", + "s3:ReplicateObject", + "s3:ReplicateDelete", + "s3:ReplicateTags", + "s3:GetObjectVersion", + "s3:GetObjectVersionTagging", + "s3:GetObjectVersionForReplication" + ], + "Resource": ["arn:aws:s3:::app-data/*", "arn:aws:s3:::app-data"] + } + ] +} +``` + +**왜 좋은가:** + +- `existing-objects` 옵션으로 기존 데이터 backfill +- `delete` + `delete-marker`로 삭제도 복제 (true mirror) +- 전용 replication user + 최소 권한 policy +- async 복제, bucket versioning 전제 + +--- + +## 좋은 예시 9: Keycloak OIDC STS 로그인 + +Keycloak에 `minio` client 생성 후: + +```bash +# 앱에서 JWT를 받은 다음 +curl -X POST https://s3.example.com/ \ + -d "Action=AssumeRoleWithWebIdentity" \ + -d "Version=2011-06-15" \ + -d "WebIdentityToken=${KEYCLOAK_ID_TOKEN}" \ + -d "DurationSeconds=3600" +``` + +응답의 `AccessKeyId`, `SecretAccessKey`, `SessionToken`을 S3 SDK에 주입. + +```bash +# AWS CLI 예시 +aws configure set aws_access_key_id "$STS_ACCESS_KEY" +aws configure set aws_secret_access_key "$STS_SECRET_KEY" +aws configure set aws_session_token "$STS_SESSION_TOKEN" +aws s3 ls s3://app-data/ --endpoint-url https://s3.example.com +``` + +**왜 좋은가:** + +- 앱/사용자는 Keycloak에 로그인만 하면 됨 — MinIO에 user 등록 불필요 +- 임시 credential (1시간 TTL) → 유출 시 피해 제한 +- JWT의 `policy` claim이 MinIO 정책과 자동 매핑 +- 장기 access key 배포 없음 diff --git a/docs/examples/infra/network-ingress-tls.md b/docs/examples/infra/network-ingress-tls.md new file mode 100644 index 0000000..9916862 --- /dev/null +++ b/docs/examples/infra/network-ingress-tls.md @@ -0,0 +1,578 @@ +# network / ingress / TLS 예시 + +모든 YAML은 `kubectl apply --dry-run=server -f -` 기준 clean. Traefik은 `ingress-traefik` namespace에 IngressClass `traefik`으로 설치되어 있다고 가정한다. cert-manager는 `cert-manager` namespace에 설치되어 있다. + +--- + +## 좋은 예시 1: cert-manager ClusterIssuer (staging + prod) + DNS-01 wildcard + +```yaml +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-staging +spec: + acme: + server: https://acme-staging-v02.api.letsencrypt.org/directory + email: platform@example.com + privateKeySecretRef: + name: letsencrypt-staging-account-key + solvers: + - http01: + ingress: + ingressClassName: traefik +--- +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-prod +spec: + acme: + server: https://acme-v02.api.letsencrypt.org/directory + email: platform@example.com + privateKeySecretRef: + name: letsencrypt-prod-account-key + solvers: + - http01: + ingress: + ingressClassName: traefik + selector: + dnsZones: + - example.com +--- +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-prod-dns +spec: + acme: + server: https://acme-v02.api.letsencrypt.org/directory + email: platform@example.com + privateKeySecretRef: + name: letsencrypt-prod-dns-account-key + solvers: + - dns01: + route53: + region: us-east-1 + hostedZoneID: Z2FDTNDATAQYW2 + selector: + dnsZones: + - example.com +``` + +**왜 좋은가:** + +- Staging issuer로 먼저 발급 테스트(LE rate limit 절약). 검증 후 prod로 교체. +- HTTP-01 solver는 `ingressClassName: traefik`으로 challenge Ingress가 정확히 Traefik만 수락. +- DNS-01 solver는 wildcard(`*.example.com`) 발급에 필수. Route53 hosted zone ID 고정. + +--- + +## 좋은 예시 2: Certificate CRD로 TLS Secret 자동 생성 + Ingress 재사용 + +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: auth-example-com + namespace: auth-prod +spec: + secretName: auth-example-com-tls + secretTemplate: + annotations: + reflector.v1.k8s.emberstack.com/reflection-allowed: "false" + labels: + app.kubernetes.io/part-of: identity-platform + duration: 2160h # 90d + renewBefore: 360h # 15d + privateKey: + algorithm: ECDSA + size: 256 + rotationPolicy: Always + usages: + - server auth + - digital signature + - key encipherment + dnsNames: + - auth.example.com + issuerRef: + kind: ClusterIssuer + name: letsencrypt-prod +``` + +**왜 좋은가:** + +- cert-manager가 `auth-example-com-tls`라는 `kubernetes.io/tls` Secret을 자동 생성·회전(15일 전). +- ECDSA P-256 + 회전 정책으로 key lifecycle 관리. +- `usages` 명시로 SAN certificate의 Extended Key Usage 제어. + +--- + +## 좋은 예시 3: Traefik Middleware(HSTS + HTTPS redirect) + TLSOption + +```yaml +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: https-redirect + namespace: ingress-traefik +spec: + redirectScheme: + scheme: https + permanent: true +--- +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: security-headers + namespace: ingress-traefik +spec: + headers: + stsSeconds: 31536000 + stsIncludeSubdomains: true + stsPreload: true + forceSTSHeader: true + contentTypeNosniff: true + browserXssFilter: true + referrerPolicy: strict-origin-when-cross-origin + frameDeny: true +--- +apiVersion: traefik.io/v1alpha1 +kind: TLSOption +metadata: + name: modern-tls + namespace: ingress-traefik +spec: + minVersion: VersionTLS12 + sniStrict: true + cipherSuites: + - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + curvePreferences: + - CurveP521 + - CurveP384 +``` + +**왜 좋은가:** + +- HSTS preload 조건(`max-age>=31536000` + `includeSubDomains` + `preload`)을 모두 만족. +- TLS 1.2+ 강제, 취약 cipher 제거. `sniStrict: true`로 SNI 없는 클라이언트 차단. +- 재사용 가능한 platform middleware — 각 namespace Ingress가 참조. + +--- + +## 좋은 예시 4: auth-server Service + Ingress (TLS, HSTS, HTTPS redirect) + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + ports: + - name: http + port: 80 + targetPort: http + protocol: TCP + appProtocol: http + - name: metrics + port: 9090 + targetPort: metrics + protocol: TCP + appProtocol: http +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/part-of: identity-platform + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + traefik.ingress.kubernetes.io/router.tls.options: ingress-traefik-modern-tls@kubernetescrd + traefik.ingress.kubernetes.io/router.middlewares: ingress-traefik-https-redirect@kubernetescrd,ingress-traefik-security-headers@kubernetescrd +spec: + ingressClassName: traefik + tls: + - hosts: + - auth.example.com + secretName: auth-example-com-tls + rules: + - host: auth.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: auth-server + port: + name: http +``` + +**왜 좋은가:** + +- `ingressClassName: traefik` 필드 사용, deprecated annotation 미사용. +- `cert-manager.io/cluster-issuer` annotation으로 TLS Secret(`auth-example-com-tls`)이 자동 발급. +- Traefik middleware 체인으로 HSTS + HTTPS redirect + TLSOption 적용. +- Service는 named port `http`, `metrics` 분리. Ingress는 `http`만 라우팅, metrics는 NetworkPolicy로 Prometheus만 허용. + +--- + +## 나쁜 예시 1: deprecated ingress.class annotation + TLS 누락 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: auth-server + namespace: auth-prod + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: auth.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: auth-server + port: + number: 80 +``` + +**문제:** + +- `kubernetes.io/ingress.class` annotation은 1.22부터 deprecated. 일부 컨트롤러는 무시한다. +- `spec.tls` 없음 → 평문 HTTP로 노출. 인증 시스템에는 특히 부적절. +- HSTS/HTTPS redirect 미적용. +- Service 포트를 `number: 80`으로 hard-code. named port drift에 취약. + +--- + +## 좋은 예시 5: Keycloak은 `/realms/`, `/resources/`, `/.well-known/`만 공개 + +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: sso-example-com + namespace: keycloak +spec: + secretName: sso-example-com-tls + duration: 2160h + renewBefore: 360h + privateKey: + algorithm: ECDSA + size: 256 + dnsNames: + - sso.example.com + issuerRef: + kind: ClusterIssuer + name: letsencrypt-prod +--- +apiVersion: v1 +kind: Service +metadata: + name: keycloak + namespace: keycloak + labels: + app.kubernetes.io/name: keycloak +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: keycloak + ports: + - name: http + port: 8080 + targetPort: http + protocol: TCP + appProtocol: http + - name: management + port: 9000 + targetPort: management + protocol: TCP + appProtocol: http +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: keycloak + namespace: keycloak + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + traefik.ingress.kubernetes.io/router.tls.options: ingress-traefik-modern-tls@kubernetescrd + traefik.ingress.kubernetes.io/router.middlewares: ingress-traefik-https-redirect@kubernetescrd,ingress-traefik-security-headers@kubernetescrd +spec: + ingressClassName: traefik + tls: + - hosts: + - sso.example.com + secretName: sso-example-com-tls + rules: + - host: sso.example.com + http: + paths: + - path: /realms/ + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http + - path: /resources/ + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http + - path: /.well-known/ + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http +``` + +**왜 좋은가:** + +- Keycloak 공식 권장 공개 경로만 노출. +- `/admin/`, `/metrics`, `/health`는 Ingress에 없음 → 외부에서 접근 불가. +- `management`(9000) 포트는 Service에만 존재하고 Ingress에는 없음. + +--- + +## 나쁜 예시 2: host 없는 defaultBackend + admin 노출 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: catch-all + namespace: keycloak +spec: + ingressClassName: traefik + defaultBackend: + service: + name: keycloak + port: + number: 8080 + rules: + - http: + paths: + - path: /admin + pathType: Prefix + backend: + service: + name: keycloak + port: + number: 9000 +``` + +**문제:** + +- `defaultBackend`가 모든 host의 unmatched 요청을 Keycloak으로 포워딩 → 다른 앱 공격면 확대. +- `/admin`을 관리 포트 9000으로 프록시 → Keycloak 공식 권고 위반, 관리 콘솔 외부 노출. +- TLS/HSTS/redirect 미적용. + +--- + +## 좋은 예시 6: Traefik IngressRoute + Middleware(TLS 1.2, rate-limit, BasicAuth) + +```yaml +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: rate-limit + namespace: auth-prod +spec: + rateLimit: + average: 100 + burst: 200 + period: 1s +--- +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: auth-server + namespace: auth-prod +spec: + entryPoints: + - websecure + routes: + - kind: Rule + match: Host(`auth.example.com`) && PathPrefix(`/api/v1`) + services: + - kind: Service + name: auth-server + port: http + scheme: http + passHostHeader: true + middlewares: + - name: https-redirect + namespace: ingress-traefik + - name: security-headers + namespace: ingress-traefik + - name: rate-limit + namespace: auth-prod + tls: + secretName: auth-example-com-tls + options: + name: modern-tls + namespace: ingress-traefik +``` + +**왜 좋은가:** + +- Traefik CRD 네이티브. match 표현이 강력(Host + PathPrefix 조합, Header match 가능). +- Middleware 체인(HSTS + redirect + rate-limit)을 순서대로 지정. +- `TLSOption`을 Route마다 override 가능(특정 host만 mTLS 요구 등). + +--- + +## 좋은 예시 7: Vault/DB는 Ingress 없이 ClusterIP + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: vault + namespace: vault + labels: + app.kubernetes.io/name: vault +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: vault + ports: + - name: https + port: 8200 + targetPort: https + protocol: TCP + appProtocol: https + - name: cluster + port: 8201 + targetPort: cluster + protocol: TCP +--- +apiVersion: v1 +kind: Service +metadata: + name: identity-postgres + namespace: data-prod + labels: + app.kubernetes.io/name: postgres + app.kubernetes.io/instance: identity-postgres +spec: + type: ClusterIP + clusterIP: None + selector: + app.kubernetes.io/name: postgres + app.kubernetes.io/instance: identity-postgres + ports: + - name: postgres + port: 5432 + targetPort: postgres + protocol: TCP + appProtocol: postgresql +``` + +**왜 좋은가:** + +- Vault/Postgres 둘 다 Ingress 없음 → 외부 L7 공격면 0. +- Postgres는 headless(`clusterIP: None`) → StatefulSet Pod에 직접 DNS. +- named port `https`/`postgres` 사용. + +--- + +## 나쁜 예시 3: 운영 DB를 NodePort로 공개 + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: identity-postgres + namespace: data-prod +spec: + type: NodePort + ports: + - port: 5432 + targetPort: 5432 + nodePort: 30032 +``` + +**문제:** + +- 모든 노드의 30032 포트가 외부에서 접근 가능 → DB가 인터넷에 노출될 수 있음. +- TLS/mTLS/NetworkPolicy 어디서도 통제 불가. +- `services.nodeports: 0` quota를 걸어 namespace 단에서 차단해야 한다. + +--- + +## 좋은 예시 8: K3s Traefik HelmChartConfig override + +```yaml +apiVersion: helm.cattle.io/v1 +kind: HelmChartConfig +metadata: + name: traefik + namespace: kube-system +spec: + valuesContent: |- + deployment: + replicas: 3 + service: + spec: + externalTrafficPolicy: Local + ports: + web: + redirectTo: + port: websecure + priority: 10 + websecure: + tls: + enabled: true + ingressClass: + enabled: true + isDefaultClass: true + additionalArguments: + - "--providers.kubernetesingress.ingressclass=traefik" + - "--metrics.prometheus=true" + - "--entrypoints.websecure.http.tls.options=modern-tls@kubernetescrd" + resources: + requests: + cpu: 200m + memory: 256Mi + limits: + cpu: "1" + memory: 512Mi +``` + +**왜 좋은가:** + +- K3s packaged Traefik manifest는 건드리지 않고, override만 선언적으로 관리. +- replica 3, `externalTrafficPolicy: Local`로 source IP 보존. +- 기본 websecure에 `modern-tls` TLSOption을 묶어 platform 전역 TLS 정책 통일. diff --git a/docs/examples/infra/observability-health.md b/docs/examples/infra/observability-health.md new file mode 100644 index 0000000..564ea5b --- /dev/null +++ b/docs/examples/infra/observability-health.md @@ -0,0 +1,601 @@ +# observability / health 예시 + +--- + +## 좋은 예시 1: ServiceMonitor (kube-prometheus-stack 표준) + +```yaml +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + app.kubernetes.io/part-of: identity-platform + release: kube-prometheus-stack +spec: + namespaceSelector: + matchNames: + - auth-prod + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + endpoints: + - port: metrics # named port (required) + path: /actuator/prometheus + scheme: http + interval: 30s + scrapeTimeout: 10s + honorLabels: false + relabelings: + - sourceLabels: [__meta_kubernetes_pod_name] + targetLabel: pod + - sourceLabels: [__meta_kubernetes_namespace] + targetLabel: namespace + - sourceLabels: [__meta_kubernetes_pod_label_app_kubernetes_io_version] + targetLabel: version + - action: labeldrop + regex: "pod_template_hash|controller_revision_hash" + metricRelabelings: + - sourceLabels: [__name__] + regex: "jvm_gc_pause_seconds_.*" + action: keep + - sourceLabels: [__name__] + regex: "debug_.*" + action: drop +``` + +**왜 좋은가:** + +- `namespaceSelector` 명시로 암묵적 전체 허용 방지. +- `port: metrics` 는 Service/Deployment의 named port를 참조 → 포트 번호 변경에 내성. +- `interval / scrapeTimeout` 관계 유지 (timeout < interval). +- `relabelings` 로 pod / namespace / version label 정리, noise label drop. +- `metricRelabelings` 로 불필요 metric drop (cardinality / storage 절감). +- `release: kube-prometheus-stack` label 로 Operator가 선택. + +--- + +## 좋은 예시 2: ServiceMonitor with bearer token (Vault telemetry) + +```yaml +--- +apiVersion: v1 +kind: Secret +metadata: + name: vault-metrics-token + namespace: vault +type: Opaque +stringData: + token: "hvs.xxxx.prometheus-readonly" +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: vault + namespace: vault + labels: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault-prod + release: kube-prometheus-stack +spec: + namespaceSelector: + matchNames: + - vault + selector: + matchLabels: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault-prod + endpoints: + - port: https + path: /v1/sys/metrics + params: + format: ["prometheus"] + scheme: https + interval: 30s + scrapeTimeout: 10s + bearerTokenSecret: + name: vault-metrics-token + key: token + tlsConfig: + insecureSkipVerify: false + ca: + secret: + name: vault-ca + key: ca.crt + serverName: vault.vault.svc + relabelings: + - sourceLabels: [__meta_kubernetes_pod_name] + targetLabel: pod +``` + +**왜 좋은가:** + +- Vault `/sys/metrics` 는 read token 필수. `bearerTokenSecret` 참조로 Operator가 주입. +- TLS CA pinning + serverName 으로 MitM 방지. +- `params` 로 Prometheus format 요청. + +--- + +## 좋은 예시 3: PodMonitor (Service 없는 워크로드) + +```yaml +--- +apiVersion: monitoring.coreos.com/v1 +kind: PodMonitor +metadata: + name: batch-worker + namespace: batch + labels: + release: kube-prometheus-stack +spec: + namespaceSelector: + matchNames: + - batch + selector: + matchLabels: + app.kubernetes.io/name: batch-worker + podMetricsEndpoints: + - port: metrics + path: /metrics + interval: 30s + scrapeTimeout: 10s + relabelings: + - sourceLabels: [__meta_kubernetes_pod_name] + targetLabel: pod +``` + +**왜 좋은가:** + +- Job / headless workload처럼 Service 뒤에 없는 경우 PodMonitor로 직접 pod 매칭. + +--- + +## 좋은 예시 4: Annotation-based fallback (Operator 없는 환경 only) + +```yaml +--- +apiVersion: v1 +kind: Service +metadata: + name: legacy-app + namespace: legacy + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "8081" + prometheus.io/path: "/metrics" + prometheus.io/scheme: "http" +spec: + selector: + app.kubernetes.io/name: legacy-app + ports: + - name: http + port: 80 + targetPort: 8080 + - name: metrics + port: 8081 + targetPort: 8081 +``` + +**왜 좋은가 (조건부):** + +- kube-prometheus-stack이 없는 legacy 환경에서만 유효. +- Operator가 있으면 ServiceMonitor로 전환. + +--- + +## 좋은 예시 5: NetworkPolicy — prometheus namespace만 metrics scrape 허용 + +```yaml +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: auth-server-default-deny + namespace: auth-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + policyTypes: ["Ingress", "Egress"] + ingress: [] + egress: [] +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: auth-server-allow-metrics + namespace: auth-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + policyTypes: ["Ingress"] + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: monitoring + podSelector: + matchLabels: + app.kubernetes.io/name: prometheus + ports: + - port: metrics + protocol: TCP +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: auth-server-allow-http-from-ingress + namespace: auth-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + policyTypes: ["Ingress"] + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: ingress-nginx + ports: + - port: http + protocol: TCP +``` + +**왜 좋은가:** + +- default-deny → allow-list 패턴. +- metrics port는 monitoring namespace의 prometheus pod만. +- http port는 ingress controller namespace만. + +--- + +## 좋은 예시 6: JSON structured log (Spring Boot logback) + +```xml + + + + + trace_id + span_id + request_id + {"service":"auth-server"} + + + + + + +``` + +Actual output: + +```json +{"timestamp":"2026-04-16T09:31:42.017Z","level":"INFO","service":"auth-server","trace_id":"4bf92f3577b34da6a3ce929d0e0e4736","span_id":"00f067aa0ba902b7","logger":"c.e.auth.LoginController","thread":"http-nio-8080-exec-3","message":"login success","user_id_hash":"ab12..."} +``` + +**왜 좋은가:** + +- ISO 8601 UTC timestamp. +- trace_id / span_id 가 MDC에서 자동 주입 → Tempo / Jaeger와 correlate. +- service label이 customFields로 고정. +- user_id는 hashed → cardinality/PII 안전. + +--- + +## 좋은 예시 7: OpenTelemetry Collector (DaemonSet agent + Deployment gateway) + +```yaml +--- +apiVersion: opentelemetry.io/v1beta1 +kind: OpenTelemetryCollector +metadata: + name: otel-agent + namespace: observability +spec: + mode: daemonset + image: otel/opentelemetry-collector-contrib:0.101.0 + config: + receivers: + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + processors: + batch: + send_batch_size: 1024 + timeout: 5s + k8sattributes: + passthrough: false + extract: + metadata: + - k8s.pod.name + - k8s.namespace.name + - k8s.node.name + exporters: + otlp/gateway: + endpoint: otel-gateway.observability.svc:4317 + tls: + insecure: true + service: + pipelines: + traces: + receivers: [otlp] + processors: [k8sattributes, batch] + exporters: [otlp/gateway] + metrics: + receivers: [otlp] + processors: [k8sattributes, batch] + exporters: [otlp/gateway] +--- +apiVersion: opentelemetry.io/v1beta1 +kind: OpenTelemetryCollector +metadata: + name: otel-gateway + namespace: observability +spec: + mode: deployment + replicas: 3 + image: otel/opentelemetry-collector-contrib:0.101.0 + config: + receivers: + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + processors: + batch: + send_batch_size: 2048 + timeout: 5s + tail_sampling: + decision_wait: 10s + policies: + - name: errors-keep + type: status_code + status_code: { status_codes: [ERROR] } + - name: slow-keep + type: latency + latency: { threshold_ms: 500 } + - name: default-10pct + type: probabilistic + probabilistic: { sampling_percentage: 10 } + attributes/redact: + actions: + - key: http.request.header.authorization + action: delete + - key: user.email + action: hash + exporters: + otlp/tempo: + endpoint: tempo.observability.svc:4317 + tls: + insecure: true + prometheusremotewrite: + endpoint: http://prometheus.monitoring.svc:9090/api/v1/write + service: + pipelines: + traces: + receivers: [otlp] + processors: [attributes/redact, tail_sampling, batch] + exporters: [otlp/tempo] + metrics: + receivers: [otlp] + processors: [batch] + exporters: [prometheusremotewrite] +``` + +**왜 좋은가:** + +- agent (DaemonSet) → gateway (Deployment) 2단 구조. +- gateway에서 tail-based sampling (error + slow + 10% 나머지). +- PII redaction을 gateway에서 중앙 처리. +- agent가 node-local이라 app은 localhost endpoint만 알면 됨. + +--- + +## 좋은 예시 8: Loki + Grafana Alloy DaemonSet (log shipping) + +```yaml +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: alloy-config + namespace: observability +data: + config.alloy: | + discovery.kubernetes "pods" { + role = "pod" + } + discovery.relabel "pods" { + targets = discovery.kubernetes.pods.targets + rule { + source_labels = ["__meta_kubernetes_namespace"] + target_label = "namespace" + } + rule { + source_labels = ["__meta_kubernetes_pod_label_app_kubernetes_io_name"] + target_label = "service" + } + } + loki.source.kubernetes "pods" { + targets = discovery.relabel.pods.output + forward_to = [loki.write.default.receiver] + } + loki.write "default" { + endpoint { + url = "http://loki.observability.svc:3100/loki/api/v1/push" + } + } +``` + +**왜 좋은가:** + +- Alloy DaemonSet이 node-level log tail. +- label은 namespace / service 두 개로 제한 (cardinality 안전). + +--- + +## 좋은 예시 9: `kubectl events` (1.27+ stable) + +```bash +# cluster-wide live watch, warnings only +kubectl events -A --types=Warning --watch + +# specific pod +kubectl events -n auth-prod --for pod/auth-server-abc123 + +# last hour +kubectl events -n auth-prod --since=1h +``` + +**왜 좋은가:** + +- `--for` 로 특정 오브젝트 event 만 필터링. +- `--watch` 가 `get events -w` 보다 안정적. +- timestamp sort 기본 제공. + +--- + +## 나쁜 예시 1: `/metrics` 를 Ingress로 외부 공개 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: Ingress +spec: + rules: + - host: auth.example.com + http: + paths: + - path: /metrics # BAD + pathType: Prefix + backend: + service: + name: auth-server + port: + number: 8081 +``` + +**문제:** + +- Prometheus metric으로 내부 구조 / error rate / version 노출. +- DoS vector (scrape 비용). +- audit / compliance 위반. + +**Fix:** metrics port는 외부 비공개, NetworkPolicy로 monitoring namespace만 허용. + +--- + +## 나쁜 예시 2: high-cardinality label + +```yaml +# app code +http_requests_total{user_id="12345", path="/users/12345/orders/98765", request_id="a1b2c3..."} +``` + +**문제:** + +- user_id × path × request_id = 수백만 time series → Prometheus OOM. +- query 성능 붕괴. + +**Fix:** + +``` +http_requests_total{route="/users/:id/orders/:id", method="GET", status_class="2xx"} +``` + +- route template 화, status는 bucket (2xx/4xx/5xx). +- user_id 는 logging에만, metric label 금지. + +--- + +## 나쁜 예시 3: ServiceMonitor에 namespaceSelector 없음 + +```yaml +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +spec: + selector: + matchLabels: + app: my-app + # namespaceSelector 없음 → Operator 설정에 따라 전체 cluster scan + endpoints: + - port: metrics +``` + +**문제:** + +- 암묵적으로 너무 넓은 범위 (Operator 설정에 따라 다름). +- 동일 label 를 다른 namespace에서 쓰면 의도치 않은 scrape. + +**Fix:** `namespaceSelector.matchNames` 명시. + +--- + +## 나쁜 예시 4: probe가 `/metrics` 사용 + +```yaml +readinessProbe: + httpGet: + path: /metrics # BAD + port: 8081 + periodSeconds: 5 +``` + +**문제:** + +- `/metrics` 는 비용이 큰 endpoint (모든 registry dump). +- periodSeconds 5초 × N pod = unnecessary load. +- readiness 의미와 무관. + +**Fix:** `/actuator/health/readiness` 같은 전용 shallow endpoint. + +--- + +## 나쁜 예시 5: 로그에 access token 그대로 + +``` +2026-04-16T09:32:11.002 INFO Exchanging code for token: access_token=eyJhbGciOi... +``` + +**문제:** + +- token이 log index에 그대로 저장 → 유출 리스크. +- 중앙 로그 시스템 (OpenSearch / Loki) 에 영구 보관. + +**Fix:** + +- 애플리케이션에서 token 값 로깅 금지. +- 중앙 파이프라인에 regex redaction (`access_token=[^ ]+` → `access_token=***`). +- debug 로그에서도 masking. + +--- + +## 나쁜 예시 6: 로그를 PVC / file로 적재 + +```yaml +volumeMounts: + - name: app-logs + mountPath: /var/log/app # BAD +volumes: + - name: app-logs + persistentVolumeClaim: + claimName: app-logs-pvc +``` + +**문제:** + +- 컨테이너 표준 (stdout/stderr) 위반. +- Pod 삭제 시 로그 손실 또는 orphan PVC. +- `kubectl logs` 로 안 보임. +- node log agent가 수집 못 함. + +**Fix:** stdout/stderr로 출력, DaemonSet agent가 수집. diff --git a/docs/examples/infra/operations-runbook-upgrade-rollback.md b/docs/examples/infra/operations-runbook-upgrade-rollback.md new file mode 100644 index 0000000..58e5b10 --- /dev/null +++ b/docs/examples/infra/operations-runbook-upgrade-rollback.md @@ -0,0 +1,744 @@ +# operations / runbook / upgrade / rollback 예시 + +--- + +## 좋은 예시 1: 표준 application 변경 절차 + +```bash +# 1) render +kubectl kustomize k8s/overlays/prod > /tmp/render.yaml + +# 2) diff +kubectl diff -k k8s/overlays/prod + +# 3) apply +kubectl apply -k k8s/overlays/prod + +# 4) rollout status with timeout +kubectl rollout status deployment/auth-server -n auth-prod --timeout=10m + +# 5) smoke test +curl -fsS https://auth.internal.example.com/actuator/health/readiness + +# 6) SLO dashboard check (p99 latency, error rate) +``` + +**왜 좋은가:** + +- render / diff / apply / status / post-check 가 명시적으로 분리. +- `--timeout` 으로 무한 대기 방지. +- post-check가 단순 curl 이 아니라 readiness endpoint 대상. + +--- + +## 좋은 예시 2: Deployment rollingUpdate 파라미터 워크로드별 튜닝 + +```yaml +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +spec: + replicas: 10 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 10% # latency-sensitive면 0 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: auth-server + image: registry.example.com/identity/auth-server:1.25.0 + ports: + - { name: http, containerPort: 8080 } + resources: + requests: { cpu: 500m, memory: 1Gi } + limits: { memory: 1536Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: { drop: ["ALL"] } +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: legacy-singleton + namespace: legacy +spec: + replicas: 1 + strategy: + type: Recreate # singleton이며 동시성 금지 + selector: + matchLabels: + app.kubernetes.io/name: legacy-singleton + template: + metadata: + labels: + app.kubernetes.io/name: legacy-singleton + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: app + image: registry.example.com/legacy/singleton:1.0.0 + resources: + requests: { cpu: 100m, memory: 256Mi } + limits: { memory: 512Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: { drop: ["ALL"] } +``` + +**왜 좋은가:** + +- fleet 규모에 맞춘 maxSurge/maxUnavailable. +- singleton 에 Recreate (PVC ReadWriteOnce 전제 충족). + +--- + +## 좋은 예시 3: Argo Rollouts canary with AnalysisTemplate + +```yaml +--- +apiVersion: argoproj.io/v1alpha1 +kind: AnalysisTemplate +metadata: + name: success-rate + namespace: auth-prod +spec: + args: + - name: service-name + metrics: + - name: success-rate + interval: 1m + count: 5 + successCondition: result[0] >= 0.99 + failureLimit: 2 + provider: + prometheus: + address: http://prometheus.monitoring.svc:9090 + query: | + sum(rate(http_requests_total{service="{{args.service-name}}",status_class=~"2.."}[2m])) + / + sum(rate(http_requests_total{service="{{args.service-name}}"}[2m])) + - name: p99-latency + interval: 1m + count: 5 + successCondition: result[0] <= 0.5 + failureLimit: 2 + provider: + prometheus: + address: http://prometheus.monitoring.svc:9090 + query: | + histogram_quantile(0.99, + sum by (le) (rate(http_request_duration_seconds_bucket{service="{{args.service-name}}"}[2m])) + ) +--- +apiVersion: argoproj.io/v1alpha1 +kind: Rollout +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +spec: + replicas: 10 + revisionHistoryLimit: 5 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + spec: + containers: + - name: auth-server + image: registry.example.com/identity/auth-server:1.25.0 + ports: + - name: http + containerPort: 8080 + resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + memory: "1536Mi" + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: http + strategy: + canary: + canaryService: auth-server-canary + stableService: auth-server-stable + trafficRouting: + nginx: + stableIngress: auth-server + steps: + - setWeight: 10 + - pause: { duration: 2m } + - analysis: + templates: + - templateName: success-rate + args: + - name: service-name + value: auth-server + - setWeight: 25 + - pause: { duration: 5m } + - analysis: + templates: + - templateName: success-rate + args: + - name: service-name + value: auth-server + - setWeight: 50 + - pause: { duration: 10m } + - analysis: + templates: + - templateName: success-rate + args: + - name: service-name + value: auth-server + - setWeight: 100 +--- +apiVersion: v1 +kind: Service +metadata: + name: auth-server-stable + namespace: auth-prod +spec: + selector: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + ports: + - name: http + port: 80 + targetPort: http +--- +apiVersion: v1 +kind: Service +metadata: + name: auth-server-canary + namespace: auth-prod +spec: + selector: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + ports: + - name: http + port: 80 + targetPort: http +``` + +**왜 좋은가:** + +- `AnalysisTemplate` 이 Prometheus success-rate + p99 latency 를 동시에 측정. +- `failureLimit: 2` → 두 번 실패 시 자동 abort. +- canary step: 10% → 25% → 50% → 100% 각 단계에 pause + analysis. +- stable/canary Service 두 개 + NGINX ingress traffic routing. + +--- + +## 좋은 예시 4: K3s System Upgrade Controller Plan (server + agent) + +```yaml +--- +apiVersion: v1 +kind: Namespace +metadata: + name: system-upgrade +--- +apiVersion: v1 +kind: Secret +metadata: + name: k3s-upgrade-token + namespace: system-upgrade +type: Opaque +stringData: + # 실제 환경은 K3S_TOKEN 값 + token: "REPLACE_WITH_NODE_TOKEN" +--- +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: k3s-server + namespace: system-upgrade + labels: + k3s-upgrade: server +spec: + concurrency: 1 + nodeSelector: + matchExpressions: + - { key: node-role.kubernetes.io/control-plane, operator: In, values: ["true"] } + serviceAccountName: system-upgrade + cordon: true + drain: + force: true + deleteEmptydirData: true + ignoreDaemonSets: true + skipWaitForDeleteTimeout: 60 + upgrade: + image: rancher/k3s-upgrade + version: v1.30.3+k3s1 +--- +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: k3s-agent + namespace: system-upgrade + labels: + k3s-upgrade: agent +spec: + concurrency: 1 + nodeSelector: + matchExpressions: + - { key: node-role.kubernetes.io/control-plane, operator: NotIn, values: ["true"] } + serviceAccountName: system-upgrade + prepare: + image: rancher/k3s-upgrade + args: ["prepare", "k3s-server"] # server plan 완료 대기 + cordon: true + drain: + force: true + deleteEmptydirData: true + ignoreDaemonSets: true + skipWaitForDeleteTimeout: 60 + upgrade: + image: rancher/k3s-upgrade + version: v1.30.3+k3s1 +``` + +**왜 좋은가:** + +- server-plan → agent-plan 분리 + agent 가 `prepare` 로 server 완료 대기. +- `concurrency: 1` → 한 번에 한 노드만 업그레이드 (가용성 보호). +- `cordon + drain` → PDB 존중. +- `deleteEmptydirData: true, ignoreDaemonsets: true` 표준. +- `version` 명시 (channel 사용 시 의도치 않은 upgrade 가능). + +--- + +## 좋은 예시 5: ArgoCD sync wave + PreSync migration hook + +```yaml +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: flyway-migrate + namespace: auth-prod + annotations: + argocd.argoproj.io/hook: PreSync + argocd.argoproj.io/hook-delete-policy: BeforeHookCreation + argocd.argoproj.io/sync-wave: "-1" + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + app.kubernetes.io/component: db-migration +spec: + backoffLimit: 0 + activeDeadlineSeconds: 600 + ttlSecondsAfterFinished: 86400 + template: + spec: + restartPolicy: Never + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + - name: flyway + image: flyway/flyway:10.15.0 + args: ["-url=jdbc:postgresql://postgres:5432/auth", "validate", "info", "migrate"] + envFrom: + - secretRef: + name: auth-db + resources: + requests: { cpu: 100m, memory: 128Mi } + limits: { memory: 512Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumeMounts: + - { name: tmp, mountPath: /tmp } + volumes: + - name: tmp + emptyDir: {} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod + annotations: + argocd.argoproj.io/sync-wave: "0" + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + # ... (생략) +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: smoke-test + namespace: auth-prod + annotations: + argocd.argoproj.io/hook: PostSync + argocd.argoproj.io/hook-delete-policy: HookSucceeded + argocd.argoproj.io/sync-wave: "1" +spec: + backoffLimit: 2 + activeDeadlineSeconds: 300 + ttlSecondsAfterFinished: 3600 + template: + spec: + restartPolicy: OnFailure + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + - name: smoke + image: registry.example.com/tools/smoke:1.4.0 + args: ["--target", "https://auth.internal.example.com"] + resources: + requests: { cpu: 50m, memory: 64Mi } + limits: { memory: 128Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +``` + +**왜 좋은가:** + +- PreSync Job 으로 Flyway migrate 가 app rollout 앞 단계에 실행. +- PostSync Job 으로 smoke test 자동 실행. +- sync-wave 로 순서 명시 (-1 → 0 → 1). +- `BeforeHookCreation` 으로 이전 Job 충돌 방지. + +--- + +## 좋은 예시 6: blue/green via two Services (수동 패턴) + +```yaml +--- +apiVersion: v1 +kind: Service +metadata: + name: auth-server # live traffic + namespace: auth-prod +spec: + selector: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + version: blue # <- 이 label만 바꾸면 cutover + ports: + - name: http + port: 80 + targetPort: http +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server-blue + namespace: auth-prod +spec: + replicas: 3 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + version: blue + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + version: blue + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: auth-server + image: registry.example.com/identity/auth-server:1.24.0 + resources: + requests: { cpu: 500m, memory: 1Gi } + limits: { memory: 1536Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server-green + namespace: auth-prod +spec: + replicas: 3 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + version: green + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + version: green + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: auth-server + image: registry.example.com/identity/auth-server:1.25.0 + resources: + requests: { cpu: 500m, memory: 1Gi } + limits: { memory: 1536Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +``` + +Cutover: + +```bash +kubectl patch svc auth-server -n auth-prod \ + -p '{"spec":{"selector":{"app.kubernetes.io/name":"auth-server","app.kubernetes.io/instance":"auth-server-prod","version":"green"}}}' +``` + +**왜 좋은가:** + +- Service selector version label 하나로 전환 / rollback. +- canary 가 아니라 instant cutover. +- 데이터 호환성이 깨진 경우만 사용. + +--- + +## 좋은 예시 7: node maintenance flow + +```bash +NODE=worker-3 + +# 1) cordon +kubectl cordon "${NODE}" + +# 2) drain (PDB 존중) +kubectl drain "${NODE}" \ + --ignore-daemonsets \ + --delete-emptydir-data \ + --grace-period=30 \ + --timeout=10m + +# 3) 작업 수행 (OS patch, reboot, ...) + +# 4) 복귀 +kubectl uncordon "${NODE}" + +# 5) 재배치 확인 +kubectl get pods -A -o wide --field-selector spec.nodeName="${NODE}" +``` + +**왜 좋은가:** + +- cordon → drain → uncordon 표준 시퀀스. +- PDB 위반 시 drain 이 대기, `--timeout=10m` 로 무한 대기 방지. +- 플래그 조합이 표준. + +--- + +## 좋은 예시 8: Git revision rollback + +```bash +# 1) 이전 release tag 체크아웃 +git checkout v1.24.0 + +# 2) diff +kubectl diff -k k8s/overlays/prod + +# 3) apply +kubectl apply -k k8s/overlays/prod + +# 4) rollout status +kubectl rollout status deployment/auth-server -n auth-prod --timeout=10m +``` + +**왜 좋은가:** + +- live-cluster 수정이 아니라 declarative source of truth 기준. +- 재현 가능. +- `kubectl rollout undo` 대비 audit trail 이 명확 (Git commit 기반). + +--- + +## 나쁜 예시 1: diff 없이 apply + +```bash +kubectl apply -k k8s/overlays/prod +``` + +**문제:** + +- 실제 변경 범위를 모른 채 적용. +- review / 승인 / 검증 프로세스 약화. +- 의도치 않은 리소스 삭제/수정 가능 (특히 pruned resource). + +**Fix:** `kubectl diff -k` 선행. + +--- + +## 나쁜 예시 2: migration을 app startup에 숨김 + +```yaml +# Deployment container +command: ["/bin/sh", "-c", "flyway migrate && java -jar app.jar"] +``` + +**문제:** + +- app rollout 실패와 schema 변경 실패가 섞임. +- rollout 중 여러 replica 가 동시에 migrate → race condition / lock contention. +- 롤백 시 schema 변경이 남음. + +**Fix:** PreSync Job 또는 별도 CI 단계로 Flyway migrate 를 분리. + +--- + +## 나쁜 예시 3: rollout undo 로 DB rollback 기대 + +```bash +kubectl rollout undo deployment/auth-server +# ... 이제 DB schema 도 되돌아갔을 것이다? +``` + +**문제:** + +- rollout undo 는 workload pod template 만 되돌린다. +- schema 변경은 남아 있음 → 이전 버전 app이 새 schema 와 mismatch → 500 error. +- **rollback ≠ DB rollback**. + +**Fix:** schema 는 expand/contract 패턴으로 forward-compatible. 이전 버전 코드가 새 schema 에서도 동작하도록 릴리스를 분리. + +--- + +## 나쁜 예시 4: 운영 노드 manifests 디렉터리 직접 편집 + +```bash +ssh k3s-server-1 +vim /var/lib/rancher/k3s/server/manifests/auth-server.yaml +``` + +**문제:** + +- Git source of truth 우회. +- 멀티 서버 간 동기화 없음. +- packaged AddOn 동작과 충돌 가능. +- ArgoCD 가 drift 로 인식하고 되돌릴 수 있음. + +**Fix:** Git PR → render → diff → apply 흐름. + +--- + +## 나쁜 예시 5: Recreate strategy 를 stateless app에 사용 + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server +spec: + replicas: 5 + strategy: + type: Recreate # BAD - stateless 인데 downtime 발생 +``` + +**문제:** + +- 모든 replica 동시 종료 → full downtime. +- rolling update 의 장점 (점진 전환, rollback 용이) 상실. + +**Fix:** stateless app은 `RollingUpdate` + 워크로드별 maxSurge/maxUnavailable 튜닝. + +--- + +## 나쁜 예시 6: PDB 없이 drain + +```bash +kubectl drain worker-3 --ignore-daemonsets --delete-emptydir-data +``` + +**문제:** + +- PDB 가 없으면 critical workload 가 동시에 evict → downtime. +- 특히 replica < 3 이면 완전 손실. + +**Fix:** PDB 설계 선결 조건. 좋은 예시 7 참조. + +--- + +## 나쁜 예시 7: `kubectl rollout status` 에 timeout 없음 + +```bash +kubectl rollout status deployment/auth-server -n auth-prod +# 무한 대기 가능 +``` + +**문제:** + +- rollout 이 hang 상태일 때 CI/CD pipeline 이 무한 대기. +- 자동화 실패 원인이 숨는다. + +**Fix:** 항상 `--timeout=10m` (워크로드별 조정). diff --git a/docs/examples/infra/resources-probes-availability.md b/docs/examples/infra/resources-probes-availability.md new file mode 100644 index 0000000..56e2335 --- /dev/null +++ b/docs/examples/infra/resources-probes-availability.md @@ -0,0 +1,659 @@ +# resources / probes / availability 예시 + +아래 예시는 1000+ 서비스를 운영하는 기준선이다. 모든 YAML은 그대로 `kubectl apply -f` 가능한 형태이며, 라벨 / probe / PDB / HPA / topologySpread / ServiceMonitor / NetworkPolicy가 한 세트로 맞물린다. + +--- + +## 좋은 예시 1: auth-server 완전 매니페스트 세트 (Burstable + HPA) + +### Deployment + +```yaml +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + app.kubernetes.io/version: "1.24.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd +spec: + replicas: 3 + revisionHistoryLimit: 10 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 0 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + app.kubernetes.io/version: "1.24.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + spec: + serviceAccountName: auth-server + terminationGracePeriodSeconds: 45 + securityContext: + runAsNonRoot: true + runAsUser: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: DoNotSchedule + labelSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + containers: + - name: auth-server + image: registry.example.com/identity/auth-server:1.24.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8080 + - name: metrics + containerPort: 8081 + env: + - name: JAVA_OPTS + value: "-XX:MaxRAMPercentage=75.0 -XX:+UseG1GC" + resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + memory: "1536Mi" + startupProbe: + httpGet: + path: /actuator/health/started + port: http + periodSeconds: 5 + failureThreshold: 24 + timeoutSeconds: 3 + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: http + periodSeconds: 5 + failureThreshold: 3 + timeoutSeconds: 2 + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: http + periodSeconds: 15 + failureThreshold: 3 + timeoutSeconds: 3 + lifecycle: + preStop: + exec: + command: ["/bin/sh", "-c", "sleep 15"] + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] +``` + +**왜 좋은가:** + +- QoS는 의도적으로 Burstable (CPU limit 생략으로 throttling 회피, memory는 1.5× headroom). +- startup probe가 최대 120초 (24×5) cold start를 덮으며 그 전까지 readiness/liveness는 실행되지 않는다. +- topologySpreadConstraints로 zone 장애 격리 + host 분산. +- app.kubernetes.io/* 표준 라벨 full set. +- preStop sleep 15초로 endpoint 제거 전파 시간을 확보한다. +- rolling update `maxUnavailable: 0`으로 항상 N replica 이상 유지. + +### Service + PDB + +```yaml +--- +apiVersion: v1 +kind: Service +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + ports: + - name: http + port: 80 + targetPort: http + - name: metrics + port: 8081 + targetPort: metrics +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +spec: + maxUnavailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +``` + +### HorizontalPodAutoscaler v2 with behavior block + +```yaml +--- +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: auth-server + minReplicas: 3 + maxReplicas: 20 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 70 + - type: Pods + pods: + metric: + name: http_requests_in_flight + target: + type: AverageValue + averageValue: "50" + behavior: + scaleUp: + stabilizationWindowSeconds: 0 + policies: + - type: Percent + value: 100 + periodSeconds: 30 + - type: Pods + value: 4 + periodSeconds: 30 + selectPolicy: Max + scaleDown: + stabilizationWindowSeconds: 300 + policies: + - type: Percent + value: 25 + periodSeconds: 60 + selectPolicy: Max +``` + +**왜 좋은가:** + +- Resource metric과 custom Pods metric을 동시에 평가. +- scaleUp stabilization 0s → 스파이크에 즉시 반응. +- scaleDown 300s stabilization + 25%/min rate → flapping 방지. +- Pods metric은 pod당 in-flight request 수 (label cardinality 안전). + +### ServiceMonitor (kube-prometheus-stack) + +```yaml +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + release: kube-prometheus-stack +spec: + namespaceSelector: + matchNames: + - auth-prod + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + endpoints: + - port: metrics + path: /actuator/prometheus + scheme: http + interval: 30s + scrapeTimeout: 10s + honorLabels: false + relabelings: + - sourceLabels: [__meta_kubernetes_pod_name] + targetLabel: pod + - sourceLabels: [__meta_kubernetes_namespace] + targetLabel: namespace + - action: labeldrop + regex: "pod_template_hash" +``` + +### NetworkPolicy (scrape만 prometheus namespace에서 허용) + +```yaml +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: auth-server-metrics-from-prom + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + policyTypes: ["Ingress"] + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: monitoring + podSelector: + matchLabels: + app.kubernetes.io/name: prometheus + ports: + - port: metrics + protocol: TCP + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: ingress-nginx + ports: + - port: http + protocol: TCP +``` + +--- + +## 좋은 예시 2: Keycloak — Guaranteed QoS + slow startup + +```yaml +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: keycloak + namespace: identity + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak-prod + app.kubernetes.io/version: "24.0.4" + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: identity-platform +spec: + serviceName: keycloak-headless + replicas: 3 + selector: + matchLabels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak-prod + template: + metadata: + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak-prod + app.kubernetes.io/version: "24.0.4" + spec: + terminationGracePeriodSeconds: 60 + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: DoNotSchedule + labelSelector: + matchLabels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak-prod + containers: + - name: keycloak + image: quay.io/keycloak/keycloak:24.0.4 + args: ["start"] + ports: + - name: http + containerPort: 8080 + - name: mgmt + containerPort: 9000 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "1" + memory: "2Gi" + startupProbe: + httpGet: + path: /health/started + port: mgmt + periodSeconds: 10 + failureThreshold: 30 + timeoutSeconds: 5 + readinessProbe: + httpGet: + path: /health/ready + port: mgmt + periodSeconds: 10 + failureThreshold: 3 + livenessProbe: + httpGet: + path: /health/live + port: mgmt + periodSeconds: 30 + failureThreshold: 3 + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumeMounts: + - { name: tmp, mountPath: /tmp } + - { name: data, mountPath: /opt/keycloak/data } + volumes: + - name: tmp + emptyDir: {} + - name: data + emptyDir: {} +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: keycloak + namespace: identity +spec: + maxUnavailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow + selector: + matchLabels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak-prod +``` + +**왜 좋은가:** + +- Guaranteed QoS (request == limit 모든 리소스) → eviction 우선순위 최고. +- startup budget = 10s × 30 = 300s, Keycloak cold boot p99 덮음. +- management port 9000에만 health, HTTP 8080은 traffic 전용. +- PDB maxUnavailable: 1로 3-node infinispan cluster 중 최소 2개 생존 보장. + +--- + +## 좋은 예시 3: 1.29+ native sidecar (log forwarder) + +```yaml +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: report-worker + namespace: reporting + labels: + app.kubernetes.io/name: report-worker + app.kubernetes.io/instance: report-worker-prod +spec: + replicas: 2 + selector: + matchLabels: + app.kubernetes.io/name: report-worker + app.kubernetes.io/instance: report-worker-prod + template: + metadata: + labels: + app.kubernetes.io/name: report-worker + app.kubernetes.io/instance: report-worker-prod + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + initContainers: + - name: schema-check + image: registry.example.com/tools/schema-check:1.2.0 + command: ["/bin/schema-check", "--fail-fast"] + resources: + requests: { cpu: 50m, memory: 64Mi } + limits: { memory: 128Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsNonRoot: true + capabilities: + drop: ["ALL"] + - name: log-forwarder + image: grafana/alloy:v1.2.0 + restartPolicy: Always # <- native sidecar (1.29+) + args: ["run", "/etc/alloy/config.alloy"] + resources: + requests: { cpu: 50m, memory: 128Mi } + limits: { memory: 256Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsNonRoot: true + capabilities: + drop: ["ALL"] + volumeMounts: + - name: alloy-config + mountPath: /etc/alloy + - name: shared-logs + mountPath: /var/log/app + containers: + - name: worker + image: registry.example.com/reporting/worker:2.3.1 + resources: + requests: + cpu: "200m" + memory: "512Mi" + limits: + memory: "768Mi" + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsNonRoot: true + capabilities: + drop: ["ALL"] + volumeMounts: + - name: shared-logs + mountPath: /var/log/app + - name: tmp + mountPath: /tmp + volumes: + - name: alloy-config + configMap: + name: alloy-config + - name: shared-logs + emptyDir: {} + - name: tmp + emptyDir: {} +``` + +**왜 좋은가:** + +- `restartPolicy: Always` on init container = native sidecar 패턴 (1.29+). +- init container 순서: schema-check 완료 → log-forwarder sidecar 시작 → main container. +- sidecar는 main 종료 후 SIGTERM 받음 (log flush 가능). + +--- + +## 나쁜 예시 1: CPU limit 기계적 설정 (throttling 유발) + +```yaml +resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + cpu: "500m" # BAD + memory: "1Gi" +``` + +**문제:** + +- Linux CFS quota가 100ms period 내 burst만으로도 throttle을 발생시킨다. +- p99 latency가 간헐적으로 튀어도 원인이 숨는다 (metric은 평균 usage 기준). +- Google SRE / Tim Hockin 공식 가이드: "대부분의 워크로드에서 CPU limit를 제거하라". + +**Fix:** CPU는 request만, memory만 limit로. + +--- + +## 나쁜 예시 2: liveness로 readiness 대신함 + +```yaml +livenessProbe: + httpGet: + path: /actuator/health # BAD - deep check + port: 8080 + periodSeconds: 5 + failureThreshold: 2 +# readiness 없음 +``` + +**문제:** + +- deep `/actuator/health`는 DB/외부 의존성 포함. DB blip → 모든 Pod 재시작 → cascading failure. +- 트래픽 수용 준비 상태를 표현할 수단이 없다. + +**Fix:** startup / readiness / liveness 세 축 분리. liveness는 `/health/live` 같은 shallow check. + +--- + +## 나쁜 예시 3: podAntiAffinity로 spread 시도 (legacy) + +```yaml +affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: ["auth-server"] + topologyKey: kubernetes.io/hostname +``` + +**문제:** + +- replica 수가 노드 수보다 많으면 스케줄 불가. +- zone 분산이 회계되지 않는다 (skew 개념 없음). +- maxSkew 튜닝 불가. + +**Fix:** topologySpreadConstraints 사용 (좋은 예시 1 참조). + +--- + +## 나쁜 예시 4: replica 1 서비스에 PDB + +```yaml +apiVersion: policy/v1 +kind: PodDisruptionBudget +spec: + minAvailable: 1 # BAD - with replica=1 + selector: + matchLabels: + app: singleton-app +``` + +**문제:** + +- node drain이 영구 블록된다 (`PDB violation`). +- Kubernetes 업그레이드가 불가능해진다. + +**Fix:** replica 1은 PDB 제거. 필요 시 replica 2+로 늘리고 PDB 적용. + +--- + +## 나쁜 예시 5: HPA v1 스타일 (behavior 없음) + +```yaml +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: auth-server + minReplicas: 1 + maxReplicas: 10 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 +# behavior block 없음 +``` + +**문제:** + +- 기본 scale-down stabilization 300s지만 scale-up도 쓸데없이 보수적. +- 트래픽 burst에 대응 지연. +- 트래픽 drop 뒤 flapping 발생 가능 (policy 정의 없음). + +**Fix:** `behavior` block 필수 (좋은 예시 1 참조). + +--- + +## 나쁜 예시 6: limit만 있고 request 없음 + +```yaml +resources: + limits: + cpu: "1" + memory: "1Gi" +``` + +**문제:** + +- Kubernetes가 request = limit로 복사 → 암묵적 Guaranteed. +- 스케줄러 회계가 과대 평가되어 cluster density 저하. +- 의도한 QoS class와 다름. + +**Fix:** requests 명시 필수. diff --git a/docs/examples/infra/scripts.md b/docs/examples/infra/scripts.md new file mode 100644 index 0000000..f66a4b6 --- /dev/null +++ b/docs/examples/infra/scripts.md @@ -0,0 +1,602 @@ +# infra scripts 예시 + +--- + +## 좋은 예시 1: `scripts/lib/common.sh` (공통 라이브러리) + +```bash +#!/usr/bin/env bash +# common.sh - shared helpers. source this from bin/ scripts. +# do NOT execute directly. + +# shellcheck disable=SC2034 # variables may be used by callers +readonly COMMON_SH_LOADED=1 + +log() { + local level="$1"; shift + local ts + ts="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" + printf '%s [%s] %s\n' "${ts}" "${level}" "$*" >&2 +} + +info() { log INFO "$@"; } +warn() { log WARN "$@"; } +error() { log ERROR "$@"; } +fatal() { log FATAL "$@"; exit 1; } + +require_cmd() { + local cmd="$1" + command -v "${cmd}" >/dev/null 2>&1 \ + || fatal "required command not found: ${cmd}" +} + +require_env() { + local name="$1" + local val="${!name:-}" + [[ -n "${val}" ]] || fatal "required env var not set: ${name}" +} + +confirm() { + # usage: confirm "delete namespace foo?" || return 1 + local prompt="${1:-continue?}" + if [[ "${CONFIRM:-no}" == "yes" || "${YES:-0}" -eq 1 ]]; then + return 0 + fi + local reply + printf '%s [y/N] ' "${prompt}" >&2 + read -r reply + [[ "${reply}" == "y" || "${reply}" == "Y" ]] +} + +mask_secrets() { + sed -E \ + -e 's/(password=)[^ ]+/\1***/g' \ + -e 's/(token=)[^ ]+/\1***/g' \ + -e 's/(Authorization: Bearer )[A-Za-z0-9._-]+/\1***/g' +} + +retry() { + local max="$1"; shift + local delay="$1"; shift + local n=0 + until "$@"; do + n=$((n + 1)) + if (( n >= max )); then + error "retry exhausted after ${max} attempts: $*" + return 1 + fi + warn "retry $n/$max failed, sleeping ${delay}s" + sleep "${delay}" + done +} +``` + +**왜 좋은가:** + +- log 함수가 ISO 8601 UTC + LEVEL + stderr. +- require_cmd / require_env / confirm / mask_secrets / retry 가 재사용 가능한 작은 단위. +- shellcheck suppression 은 이유 주석과 함께. + +--- + +## 좋은 예시 2: `scripts/bin/render-diff-apply` (render → diff → apply wrapper) + +```bash +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +source "${SCRIPT_DIR}/../lib/common.sh" + +usage() { + cat <<'EOF' >&2 +Usage: render-diff-apply [OPTIONS] + + --overlay PATH kustomize overlay directory (required) + --context NAME kube context name (required) + --namespace NS target namespace (optional, derived from overlay) + --timeout DUR rollout status timeout (default: 10m) + --yes skip interactive confirmation for apply + --dry-run render + diff only, no apply + -h, --help show this help + +Environment: + CONFIRM=yes non-interactive confirmation (alternative to --yes) + +Examples: + render-diff-apply --overlay k8s/overlays/prod --context prod-eu + CONFIRM=yes render-diff-apply --overlay k8s/overlays/prod --context prod-eu --timeout 15m +EOF +} + +parse_args() { + OVERLAY="" + CONTEXT="" + NAMESPACE="" + TIMEOUT="10m" + YES=0 + DRY_RUN=0 + + while [[ $# -gt 0 ]]; do + case "$1" in + --overlay) OVERLAY="$2"; shift 2 ;; + --context) CONTEXT="$2"; shift 2 ;; + --namespace) NAMESPACE="$2"; shift 2 ;; + --timeout) TIMEOUT="$2"; shift 2 ;; + --yes) YES=1; shift ;; + --dry-run) DRY_RUN=1; shift ;; + -h|--help) usage; exit 0 ;; + *) usage; fatal "unknown arg: $1" ;; + esac + done + + [[ -n "${OVERLAY}" ]] || { usage; fatal "--overlay is required"; } + [[ -n "${CONTEXT}" ]] || { usage; fatal "--context is required"; } + [[ -d "${OVERLAY}" ]] || fatal "overlay not found: ${OVERLAY}" +} + +kctx() { + kubectl --context="${CONTEXT}" "$@" +} + +render() { + local out="$1" + info "rendering ${OVERLAY}" + kubectl kustomize "${OVERLAY}" > "${out}" + info "rendered $(wc -l < "${out}") lines to ${out}" +} + +validate() { + local rendered="$1" + info "server-side dry-run validation" + kctx apply -f "${rendered}" --dry-run=server >/dev/null +} + +show_diff() { + info "computing diff" + # kubectl diff exit code: 0 no diff, 1 diff, >1 error + set +e + kctx diff -k "${OVERLAY}" + local rc=$? + set -e + case "${rc}" in + 0) info "no diff" ;; + 1) info "diff present" ;; + *) fatal "diff failed with code ${rc}" ;; + esac + return "${rc}" +} + +apply_overlay() { + info "applying ${OVERLAY} to context=${CONTEXT}" + kctx apply -k "${OVERLAY}" +} + +watch_rollout() { + [[ -n "${NAMESPACE}" ]] || return 0 + local deployments + deployments="$(kctx -n "${NAMESPACE}" get deploy -o jsonpath='{.items[*].metadata.name}' || true)" + for d in ${deployments}; do + info "rollout status: deployment/${d}" + retry 3 5 kctx -n "${NAMESPACE}" rollout status "deployment/${d}" --timeout="${TIMEOUT}" + done +} + +main() { + parse_args "$@" + require_cmd kubectl + require_cmd kustomize + + TMPDIR="$(mktemp -d)" + trap 'rm -rf "${TMPDIR}"' EXIT INT TERM + + local rendered="${TMPDIR}/rendered.yaml" + render "${rendered}" + validate "${rendered}" + + local diff_rc=0 + show_diff || diff_rc=$? + + if (( DRY_RUN == 1 )); then + info "dry-run mode: skipping apply" + exit 0 + fi + + if (( diff_rc == 0 )); then + info "no changes, nothing to apply" + exit 0 + fi + + if (( YES != 1 )) && [[ "${CONFIRM:-no}" != "yes" ]]; then + confirm "apply changes to context=${CONTEXT} overlay=${OVERLAY}?" \ + || fatal "aborted by user" + fi + + apply_overlay + watch_rollout + info "done" +} + +main "$@" +``` + +**왜 좋은가:** + +- strict mode + trap + usage + main "$@" + log 전부 포함. +- `--yes` / `CONFIRM=yes` 이중 gate. +- `--dry-run=server` validation 이 apply 전 필수. +- `kubectl diff` 의 exit code (0/1/>1) 정확히 분기. +- retry 함수로 rollout status 불안정성 흡수. +- secret 을 argv / 로그에 쓰지 않음. +- jsonpath 로 deployment 목록 파싱, regex 없음. + +--- + +## 좋은 예시 3: `scripts/bin/backup-k3s` (etcd snapshot backup, destructive-aware) + +```bash +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +source "${SCRIPT_DIR}/../lib/common.sh" + +usage() { + cat <<'EOF' >&2 +Usage: backup-k3s [OPTIONS] + + --node HOST server node to snapshot on (required) + --s3-endpoint URL S3 endpoint for offsite copy (optional) + --retention N days to keep local snapshots (default: 7) + -h, --help show this help + +Environment: + SSH_USER ssh user (default: current user) + S3_ACCESS_KEY required if --s3-endpoint is set + S3_SECRET_KEY required if --s3-endpoint is set +EOF +} + +main() { + local NODE="" S3_ENDPOINT="" RETENTION=7 + while [[ $# -gt 0 ]]; do + case "$1" in + --node) NODE="$2"; shift 2 ;; + --s3-endpoint) S3_ENDPOINT="$2"; shift 2 ;; + --retention) RETENTION="$2"; shift 2 ;; + -h|--help) usage; exit 0 ;; + *) usage; fatal "unknown arg: $1" ;; + esac + done + + [[ -n "${NODE}" ]] || { usage; fatal "--node required"; } + require_cmd ssh + + if [[ -n "${S3_ENDPOINT}" ]]; then + require_env S3_ACCESS_KEY + require_env S3_SECRET_KEY + fi + + local ts + ts="$(date -u +'%Y%m%dT%H%M%SZ')" + local snap="k3s-snapshot-${ts}.db" + + info "creating snapshot on node=${NODE}" + ssh "${SSH_USER:-$USER}@${NODE}" \ + "sudo k3s etcd-snapshot save --name ${snap}" + + info "pruning snapshots older than ${RETENTION} days on ${NODE}" + ssh "${SSH_USER:-$USER}@${NODE}" \ + "sudo find /var/lib/rancher/k3s/server/db/snapshots -name 'k3s-snapshot-*.db' -mtime +${RETENTION} -print -delete" + + if [[ -n "${S3_ENDPOINT}" ]]; then + info "uploading ${snap} to ${S3_ENDPOINT} (credentials masked)" + # secret 은 env 로 mc 에 전달, argv 노출 금지 + ssh "${SSH_USER:-$USER}@${NODE}" \ + "S3_ACCESS_KEY='${S3_ACCESS_KEY}' S3_SECRET_KEY='${S3_SECRET_KEY}' \ + mc alias set backup ${S3_ENDPOINT} \"\${S3_ACCESS_KEY}\" \"\${S3_SECRET_KEY}\" 2>&1 | mask-secrets || true && \ + mc cp /var/lib/rancher/k3s/server/db/snapshots/${snap} backup/k3s-snapshots/${snap}" + fi + + info "backup complete: ${snap}" +} + +main "$@" +``` + +**왜 좋은가:** + +- backup 은 destructive 가 아니므로 `--yes` 는 없지만, prune 은 retention 일수로 guard. +- secret 은 argv 로 전달 X, env 로 ssh 내부에서만. +- ISO 8601 UTC timestamp 로 이름 충돌 방지. +- require_env 로 credential 선검증. + +--- + +## 좋은 예시 4: destructive 스크립트 예시 (`scripts/bin/delete-namespace`) + +```bash +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +source "${SCRIPT_DIR}/../lib/common.sh" + +usage() { + cat <<'EOF' >&2 +Usage: delete-namespace --context CTX --namespace NS [--yes] + + DANGER: this deletes the namespace and all its resources (including PVCs + if reclaimPolicy=Delete). Requires --yes or CONFIRM=yes. +EOF +} + +main() { + local CONTEXT="" NS="" YES=0 + while [[ $# -gt 0 ]]; do + case "$1" in + --context) CONTEXT="$2"; shift 2 ;; + --namespace) NS="$2"; shift 2 ;; + --yes) YES=1; shift ;; + -h|--help) usage; exit 0 ;; + *) usage; fatal "unknown arg: $1" ;; + esac + done + [[ -n "${CONTEXT}" ]] || { usage; fatal "--context required"; } + [[ -n "${NS}" ]] || { usage; fatal "--namespace required"; } + require_cmd kubectl + + if (( YES != 1 )) && [[ "${CONFIRM:-no}" != "yes" ]]; then + usage + fatal "destructive op requires --yes or CONFIRM=yes" + fi + + warn "will DELETE namespace=${NS} in context=${CONTEXT}" + local pvc_count + pvc_count="$(kubectl --context="${CONTEXT}" -n "${NS}" get pvc -o json | jq '.items | length')" + warn "PVC count in namespace: ${pvc_count}" + + kubectl --context="${CONTEXT}" delete namespace "${NS}" --wait=true + info "deleted namespace=${NS}" +} + +main "$@" +``` + +**왜 좋은가:** + +- destructive op 는 `--yes` / `CONFIRM=yes` 이중 gate. +- 삭제 전 PVC 수를 jq 로 보여줌 (사용자 자각). +- `--wait=true` 로 실제 삭제 완료 확인. +- JSON 파싱은 jq, regex 없음. + +--- + +## 좋은 예시 5: local 선언과 command substitution 분리 + +```bash +get_current_context() { + local ctx + ctx="$(kubectl config current-context)" # 분리 + printf '%s\n' "${ctx}" +} +``` + +**왜 좋은가:** + +- ShellCheck SC2155: `local ctx="$(...)"` 는 `local` 의 exit status 가 cmd substitution 을 가리므로 에러가 숨는다. +- 분리해야 `$?` 가 실제 kubectl 결과 반영. + +--- + +## 좋은 예시 6: JSON 파싱 + +```bash +# jsonpath +get_image() { + local ns="$1" deploy="$2" + kubectl -n "${ns}" get deploy "${deploy}" \ + -o jsonpath='{.spec.template.spec.containers[0].image}' +} + +# jq +get_all_images() { + local ns="$1" + kubectl -n "${ns}" get pods -o json \ + | jq -r '.items[].spec.containers[].image' \ + | sort -u +} +``` + +**왜 좋은가:** + +- jsonpath / jq 는 구조적 파싱 → field 순서나 formatting 변화에 내성. + +--- + +## 좋은 예시 7: secret masking 적용 예 + +```bash +deploy_with_debug() { + local overlay="$1" + + if [[ "${DEBUG:-0}" -eq 1 ]]; then + set -x + fi + + kubectl apply -k "${overlay}" 2>&1 | mask_secrets + + if [[ "${DEBUG:-0}" -eq 1 ]]; then + set +x + fi +} +``` + +**왜 좋은가:** + +- debug 시에도 stdout/stderr 에 secret 이 새지 않음. +- mask_secrets 가 common lib 에서 재사용. + +--- + +## 나쁜 예시 1: strict mode 없음 + +```bash +#!/bin/bash +# strict mode 없음 +TMP=/tmp/foo +rm -rf $TMP +mkdir $TMP +some_command +# 실패해도 계속 진행 +``` + +**문제:** + +- 실패가 조용히 통과 (`set -e` 없음). +- unset variable 에서 빈 경로로 rm → 재앙 가능. +- unquoted `$TMP` 공백 split. + +**Fix:** `set -euo pipefail` + `IFS=$'\n\t'` + trap + quote. + +--- + +## 나쁜 예시 2: heredoc YAML 생성기 + +```bash +deploy_auth() { + cat < /tmp/auth.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server +spec: + replicas: ${REPLICAS} + template: + spec: + containers: + - name: auth + image: auth:${VERSION} +EOF + kubectl apply -f /tmp/auth.yaml +} +``` + +**문제:** + +- 선언형 원본이 스크립트 안에 숨음. +- Git diff 로 환경별 차이 추적 불가. +- 리뷰 / audit / kustomize 기능 모두 상실. + +**Fix:** Kustomize overlay → `kubectl apply -k`. + +--- + +## 나쁜 예시 3: regex 로 kubectl 출력 파싱 + +```bash +kubectl get pods | grep Running | awk '{print $1}' +``` + +**문제:** + +- column 순서나 추가 field 변화에 깨짐. +- `Running` 이 pod 이름에 포함되면 오인식. + +**Fix:** + +```bash +kubectl get pods --field-selector=status.phase=Running -o jsonpath='{.items[*].metadata.name}' +``` + +--- + +## 나쁜 예시 4: secret 을 argv 로 전달 + +```bash +mc alias set backup https://s3.example.com "${ACCESS}" "${SECRET}" +# ps aux 에 노출, history 에 기록 +``` + +**문제:** + +- `ps` 나 audit log 에서 credential 유출. +- bash history (`HISTFILE`) 에 기록 가능. + +**Fix:** + +```bash +mc alias set backup https://s3.example.com \ + "$(echo "${ACCESS}")" "$(cat /run/secrets/s3-secret)" +# 또는 환경변수로 mc 가 직접 읽도록 +MC_HOST_backup="https://${ACCESS}:${SECRET}@s3.example.com" mc cp ... +``` + +--- + +## 나쁜 예시 5: confirmation 없는 destructive + +```bash +#!/usr/bin/env bash +kubectl delete ns prod +``` + +**문제:** + +- 의도 / 권한 / audit 전혀 없음. +- 사고 직결. + +**Fix:** 좋은 예시 4 참조 (`--yes` / `CONFIRM=yes` gate + 사전 정보 표시). + +--- + +## 나쁜 예시 6: trap 없이 임시파일 + +```bash +TMP="$(mktemp)" +do_something > "${TMP}" +# 실패 시 /tmp 에 쓰레기 남음 +rm "${TMP}" +``` + +**문제:** + +- 스크립트 실패 / Ctrl-C 시 임시 파일 누적. +- secret 이 들어있으면 유출. + +**Fix:** + +```bash +TMP="$(mktemp)" +trap 'rm -f "${TMP}"' EXIT INT TERM +do_something > "${TMP}" +``` + +--- + +## 나쁜 예시 7: `local` 과 command substitution 한 줄 + +```bash +bad() { + local ctx="$(kubectl config current-context)" # $? 가려짐 +} +``` + +**문제:** + +- ShellCheck SC2155. `local` 의 exit status 가 cmd substitution 을 덮어 에러 감지 실패. + +**Fix:** + +```bash +good() { + local ctx + ctx="$(kubectl config current-context)" +} +``` diff --git a/docs/examples/infra/security-hardening.md b/docs/examples/infra/security-hardening.md new file mode 100644 index 0000000..21479d6 --- /dev/null +++ b/docs/examples/infra/security-hardening.md @@ -0,0 +1,528 @@ +# security hardening 예시 + +이 문서의 모든 YAML은 `kubectl apply --dry-run=server -f -` 기준 clean을 목표로 한다. 1000+ 서비스 운영 클러스터의 auth-server namespace를 기준 예시로 사용한다. + +--- + +## 좋은 예시 1: Namespace에 Pod Security Admission 라벨 enforce + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: auth-prod + labels: + app.kubernetes.io/part-of: identity-platform + pod-security.kubernetes.io/enforce: restricted + pod-security.kubernetes.io/enforce-version: v1.29 + pod-security.kubernetes.io/audit: restricted + pod-security.kubernetes.io/audit-version: v1.29 + pod-security.kubernetes.io/warn: restricted + pod-security.kubernetes.io/warn-version: v1.29 + annotations: + platform.example.com/owner: identity-team + platform.example.com/adr: ADR-0017-psa-restricted-baseline +``` + +**왜 좋은가:** + +- 운영 namespace의 PSA 기본값을 `restricted`로 enforce. violation Pod는 API server 단에서 reject된다. +- version을 pin해 Kubernetes 업그레이드 시 silent behavior drift를 방지한다. +- audit/warn을 함께 붙여 위반을 audit log와 kubectl warning으로 수집한다. + +--- + +## 좋은 예시 2: Restricted 프로파일을 완전히 만족하는 Deployment + +```yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/managed-by: argocd +automountServiceAccountToken: false +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/version: 1.42.0 + app.kubernetes.io/managed-by: argocd +spec: + replicas: 6 + revisionHistoryLimit: 5 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 0 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/component: api + app.kubernetes.io/part-of: identity-platform + app.kubernetes.io/version: 1.42.0 + app.kubernetes.io/managed-by: argocd + spec: + serviceAccountName: auth-server + automountServiceAccountToken: false + terminationGracePeriodSeconds: 30 + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: auth-server + containers: + - name: auth-server + image: registry.example.com/identity/auth-server@sha256:8f3c0a8c6b3a2a7a0f1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6071 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8080 + protocol: TCP + - name: metrics + containerPort: 9090 + protocol: TCP + env: + - name: JAVA_TOOL_OPTIONS + value: "-XX:MaxRAMPercentage=75 -XX:+ExitOnOutOfMemoryError" + envFrom: + - secretRef: + name: auth-server-db + resources: + requests: + cpu: 200m + memory: 512Mi + limits: + cpu: "2" + memory: 1Gi + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: http + initialDelaySeconds: 5 + periodSeconds: 5 + failureThreshold: 3 + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: http + initialDelaySeconds: 30 + periodSeconds: 10 + failureThreshold: 5 + startupProbe: + httpGet: + path: /actuator/health/liveness + port: http + failureThreshold: 30 + periodSeconds: 5 + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + seccompProfile: + type: RuntimeDefault + volumeMounts: + - name: tmp + mountPath: /tmp + - name: workdir + mountPath: /workspace + volumes: + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 64Mi + - name: workdir + emptyDir: + sizeLimit: 256Mi + imagePullSecrets: + - name: registry-example-com +``` + +**왜 좋은가:** + +- `restricted` 프로파일의 전 필드(runAsNonRoot, numeric UID/GID, fsGroup, seccompProfile, allowPrivilegeEscalation, readOnlyRootFilesystem, drop ALL capabilities)를 Pod+컨테이너 양쪽에 일관 명시한다. +- image는 digest pin. mutable tag에 의존하지 않는다. +- ServiceAccount는 전용 SA + `automountServiceAccountToken: false`. +- writable 경로는 `emptyDir`로 분리해 root FS는 read-only 유지. + +--- + +## 나쁜 예시 1: Restricted 프로파일 위반 Pod + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + namespace: auth-prod +spec: + replicas: 1 + selector: + matchLabels: + app: auth-server + template: + metadata: + labels: + app: auth-server + spec: + containers: + - name: auth-server + image: auth-server:latest + securityContext: + privileged: true +``` + +**문제:** + +- `privileged: true`는 baseline조차 위반. PSA enforce=restricted namespace에서는 API server가 reject한다. +- `runAsNonRoot`, `allowPrivilegeEscalation`, `capabilities.drop`, `seccompProfile`, `readOnlyRootFilesystem` 전부 누락. +- image tag `latest`는 digest 고정 없이 rolling silently breaks. +- SA 미지정 → `default` SA가 토큰 자동 마운트. + +--- + +## 좋은 예시 3: Default-deny + DNS + Ingress + DB + Prometheus allow NetworkPolicy 세트 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: default-deny-all + namespace: auth-prod +spec: + podSelector: {} + policyTypes: + - Ingress + - Egress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-dns-egress + namespace: auth-prod +spec: + podSelector: {} + policyTypes: + - Egress + egress: + - to: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + podSelector: + matchLabels: + k8s-app: kube-dns + ports: + - protocol: UDP + port: 53 + - protocol: TCP + port: 53 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-from-ingress-traefik + namespace: auth-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: ingress-traefik + podSelector: + matchLabels: + app.kubernetes.io/name: traefik + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-to-postgres + namespace: auth-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + policyTypes: + - Egress + egress: + - to: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: data-prod + podSelector: + matchLabels: + app.kubernetes.io/name: postgres + app.kubernetes.io/instance: identity-postgres + ports: + - protocol: TCP + port: 5432 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-metrics-scrape-from-prometheus + namespace: auth-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: monitoring + podSelector: + matchLabels: + app.kubernetes.io/name: prometheus + ports: + - protocol: TCP + port: 9090 +``` + +**왜 좋은가:** + +- `namespaceSelector`와 `podSelector`가 **동일 `from` 엔트리** 안에 있으므로 AND(교집합): monitoring namespace 안의 Prometheus Pod만 9090 scrape 허용된다. +- default-deny + minimum allow 세트로 ingress/egress 모두 통제. +- DNS는 `kube-system`의 `k8s-app=kube-dns` Pod로 한정, egress 전체를 열지 않음. + +--- + +## 나쁜 예시 2: NetworkPolicy AND/OR 혼동 + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: broken-scrape + namespace: auth-prod +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: monitoring + - podSelector: + matchLabels: + app.kubernetes.io/name: prometheus + ports: + - protocol: TCP + port: 9090 +``` + +**문제:** + +- `namespaceSelector`와 `podSelector`가 **별도 엔트리**(두 개의 `-`) → OR로 해석된다. +- 결과: ① monitoring namespace의 **모든 Pod**가 허용되고, ② `auth-prod` namespace의 label `app.kubernetes.io/name=prometheus`를 가진 **아무 Pod**도 허용된다. +- 의도했던 "monitoring의 Prometheus만 허용"이 아니라 훨씬 넓은 경로가 열린다. 실제 클러스터에서 NetworkPolicy 버그의 1순위. + +--- + +## 좋은 예시 4: Namespace-scoped RBAC (Role + RoleBinding) + +```yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-server-secret-rotator + namespace: auth-prod +automountServiceAccountToken: true +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: auth-server-secret-reader + namespace: auth-prod +rules: + - apiGroups: [""] + resources: ["secrets"] + resourceNames: + - auth-server-db + - auth-server-oidc-client + verbs: ["get"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: auth-server-secret-reader + namespace: auth-prod +subjects: + - kind: ServiceAccount + name: auth-server-secret-rotator + namespace: auth-prod +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: auth-server-secret-reader +``` + +**왜 좋은가:** + +- namespace 경계 안에서 특정 Secret 이름 2개만 `get`. `list`/`watch` 미부여. +- SA/Role/RoleBinding 모두 같은 namespace에 명시. `---`로 분리된 다중 리소스 문서. +- `system:masters`나 `cluster-admin` 같은 전능 role과 무관. + +--- + +## 나쁜 예시 3: cluster-admin ClusterRoleBinding 남용 + +```yaml +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: auth-server-admin +subjects: + - kind: ServiceAccount + name: auth-server + namespace: auth-prod +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io +``` + +**문제:** + +- 단일 SA가 모든 namespace의 모든 리소스(Secret, Node, CRD)를 수정할 수 있다. +- 앱 노드 1개가 compromise되면 전체 클러스터가 compromise된다. +- least privilege 원칙의 정반대. + +--- + +## 좋은 예시 5: Private registry ImagePullSecret + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: registry-example-com + namespace: auth-prod +type: kubernetes.io/dockerconfigjson +data: + .dockerconfigjson: eyJhdXRocyI6eyJyZWdpc3RyeS5leGFtcGxlLmNvbSI6eyJ1c2VybmFtZSI6ImNpLWJvdCIsInBhc3N3b3JkIjoiPFJFREFDVEVEPiIsImF1dGgiOiI8UkVEQUNURUQ+In19fQ== +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-server + namespace: auth-prod +automountServiceAccountToken: false +imagePullSecrets: + - name: registry-example-com +``` + +**왜 좋은가:** + +- type이 `kubernetes.io/dockerconfigjson`으로 정확. kubelet이 이 포맷만 pull credential로 인식한다. +- SA에 `imagePullSecrets`를 묶어 Deployment 마다 반복 선언 불필요. +- 실제 운영에서는 이 Secret 자체도 VSO로 Vault → K8s로 sync(config-and-secrets 문서 참고). + +--- + +## 나쁜 예시 4: 정책 없는 운영 namespace + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: auth-prod +``` + +**문제:** + +- PSA 라벨 없음 → `privileged` Pod도 통과. +- NetworkPolicy 없음 → ingress/egress 모두 allow-all. 침해 시 lateral movement 자유. +- ResourceQuota/LimitRange 없음 → 한 Deployment가 namespace CPU/memory 전부 점유 가능. +- 1000-서비스 운영에서 이런 namespace는 허용되지 않는다. + +--- + +## 좋은 예시 6: ResourceQuota + LimitRange 묶음 + +```yaml +apiVersion: v1 +kind: ResourceQuota +metadata: + name: auth-prod-quota + namespace: auth-prod +spec: + hard: + requests.cpu: "50" + requests.memory: 100Gi + limits.cpu: "100" + limits.memory: 200Gi + pods: "200" + services.loadbalancers: "0" + services.nodeports: "0" +--- +apiVersion: v1 +kind: LimitRange +metadata: + name: auth-prod-defaults + namespace: auth-prod +spec: + limits: + - type: Container + default: + cpu: 500m + memory: 512Mi + defaultRequest: + cpu: 100m + memory: 128Mi + max: + cpu: "4" + memory: 4Gi +``` + +**왜 좋은가:** + +- `services.loadbalancers=0`, `services.nodeports=0`으로 namespace 내 외부 노출 Service 생성을 금지(ingress 경유 강제). +- LimitRange로 컨테이너별 default request/limit을 보장해 limit 누락 Pod를 예방. diff --git a/docs/examples/infra/storage-pvc.md b/docs/examples/infra/storage-pvc.md new file mode 100644 index 0000000..5c3eb90 --- /dev/null +++ b/docs/examples/infra/storage-pvc.md @@ -0,0 +1,641 @@ +# storage / PVC 예시 + +모든 예시는 `kubectl apply -f` 로 바로 적용 가능한 완성 매니페스트다. +생략(`...`)이 있는 곳은 의도적으로 다른 문서로 위임한 부분이다. + +--- + +## 좋은 예시 1: 운영 StorageClass 표준 세트 (WaitForFirstConsumer + Retain) + +```yaml +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: fast-ssd-retain + labels: + app.kubernetes.io/part-of: platform-storage + storage.platform.io/tier: gold + annotations: + storage.platform.io/description: "prod stateful (DB, vault, object store). retain on PVC delete." +provisioner: driver.longhorn.io +parameters: + numberOfReplicas: "3" + staleReplicaTimeout: "30" + fsType: ext4 +reclaimPolicy: Retain +volumeBindingMode: WaitForFirstConsumer +allowVolumeExpansion: true +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: standard-delete + labels: + app.kubernetes.io/part-of: platform-storage + storage.platform.io/tier: silver + annotations: + storage.platform.io/description: "dev/test, ephemeral, rebuild-safe data. deletes on PVC removal." +provisioner: driver.longhorn.io +parameters: + numberOfReplicas: "2" + fsType: ext4 +reclaimPolicy: Delete +volumeBindingMode: WaitForFirstConsumer +allowVolumeExpansion: true +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: rwx-shared + labels: + app.kubernetes.io/part-of: platform-storage + storage.platform.io/tier: shared +provisioner: nfs.csi.k8s.io +parameters: + server: nfs.storage.svc.cluster.local + share: /exports/shared +reclaimPolicy: Retain +volumeBindingMode: Immediate # 네트워크 스토리지이고 topology 제약 없음 → 예외적으로 Immediate 허용 +allowVolumeExpansion: true +mountOptions: + - nfsvers=4.1 + - hard + - noatime +``` + +왜 좋은가: +- `volumeBindingMode: WaitForFirstConsumer` 기본, `Immediate`는 이유를 주석으로 명시 +- `reclaimPolicy`가 데이터 등급에 따라 다르게 선언됨 (Retain / Delete) +- `allowVolumeExpansion: true` 기본 +- 라벨/annotation으로 용도 구분 + +❌ 나쁜 예시 1: 기본값 의존 + Immediate 바인딩 + +```yaml +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: default +provisioner: driver.longhorn.io +# reclaimPolicy 미지정 → 기본 Delete (운영 데이터도 삭제됨) +# volumeBindingMode 미지정 → 기본 Immediate (topology 충돌 유발) +# allowVolumeExpansion 미지정 → 확장 불가 +``` + +문제: +- `reclaimPolicy` 기본 `Delete`: 실수로 PVC를 지우면 PV와 데이터까지 사라진다 +- `volumeBindingMode` 기본 `Immediate`: Pod가 스케줄되지 못하는 zone/node에 PV가 붙을 수 있다 +- 확장 불가 + +--- + +## 좋은 예시 2: VolumeSnapshotClass를 StorageClass와 매칭 + +```yaml +--- +apiVersion: snapshot.storage.k8s.io/v1 +kind: VolumeSnapshotClass +metadata: + name: fast-ssd-snap-retain + labels: + app.kubernetes.io/part-of: platform-storage + velero.io/csi-volumesnapshot-class: "true" +driver: driver.longhorn.io +deletionPolicy: Retain +parameters: + type: bak + csi.storage.k8s.io/snapshotter-secret-name: longhorn-backup-secret + csi.storage.k8s.io/snapshotter-secret-namespace: longhorn-system +--- +apiVersion: snapshot.storage.k8s.io/v1 +kind: VolumeSnapshotClass +metadata: + name: standard-snap-delete + labels: + app.kubernetes.io/part-of: platform-storage +driver: driver.longhorn.io +deletionPolicy: Delete +``` + +왜 좋은가: +- snapshot class가 StorageClass 등급과 1:1 매칭 +- 운영 데이터용은 `deletionPolicy: Retain` +- Velero가 인식하도록 `velero.io/csi-volumesnapshot-class: "true"` 라벨 부여 + +--- + +## 좋은 예시 3: PostgreSQL StatefulSet + PVC retention Retain + +```yaml +--- +apiVersion: v1 +kind: Namespace +metadata: + name: data-prod + labels: + pod-security.kubernetes.io/enforce: restricted +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: postgres + namespace: data-prod + labels: + app.kubernetes.io/name: postgres + app.kubernetes.io/instance: postgres-prod + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: argocd + app.kubernetes.io/version: "16.4" +spec: + serviceName: postgres + replicas: 1 + persistentVolumeClaimRetentionPolicy: + whenDeleted: Retain + whenScaled: Retain + selector: + matchLabels: + app.kubernetes.io/name: postgres + app.kubernetes.io/instance: postgres-prod + template: + metadata: + labels: + app.kubernetes.io/name: postgres + app.kubernetes.io/instance: postgres-prod + app.kubernetes.io/component: database + spec: + securityContext: + runAsNonRoot: true + runAsUser: 999 + runAsGroup: 999 + fsGroup: 999 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containers: + - name: postgres + image: postgres@sha256:8a6b7c6f0e0b5e2b0e2b0e2b0e2b0e2b0e2b0e2b0e2b0e2b0e2b0e2b0e2b0e2b + imagePullPolicy: IfNotPresent + ports: + - name: pg + containerPort: 5432 + env: + - name: POSTGRES_DB + value: auth + - name: PGDATA + value: /var/lib/postgresql/data/pgdata + envFrom: + - secretRef: + name: postgres-credentials + resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + cpu: "2" + memory: "4Gi" + readinessProbe: + exec: + command: ["pg_isready", "-U", "postgres"] + initialDelaySeconds: 10 + periodSeconds: 5 + livenessProbe: + exec: + command: ["pg_isready", "-U", "postgres"] + initialDelaySeconds: 30 + periodSeconds: 10 + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumeMounts: + - name: data + mountPath: /var/lib/postgresql/data + - name: tmp + mountPath: /tmp + - name: run + mountPath: /var/run/postgresql + volumes: + - name: tmp + emptyDir: {} + - name: run + emptyDir: {} + volumeClaimTemplates: + - metadata: + name: data + labels: + app.kubernetes.io/name: postgres + app.kubernetes.io/instance: postgres-prod + backup.platform.io/tier: gold + spec: + accessModes: ["ReadWriteOnce"] + storageClassName: fast-ssd-retain + resources: + requests: + storage: 50Gi +``` + +왜 좋은가: +- `persistentVolumeClaimRetentionPolicy`가 명시적으로 `Retain` +- StorageClass `fast-ssd-retain`에 맞물리는 `RWO` +- `fsGroup` + `fsGroupChangePolicy` 설정 +- restricted PSA 준수 (runAsNonRoot, readOnlyRootFilesystem, capabilities drop all) +- `emptyDir`로 tmp/run 분리 (PVC 남발 방지) +- 라벨 full set + backup tier 라벨 + +--- + +## 좋은 예시 4: 단일 PVC Deployment (RWO, replicas 1) + +```yaml +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: minio-data + namespace: object-prod + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/component: object-store + backup.platform.io/tier: gold +spec: + accessModes: ["ReadWriteOnce"] + storageClassName: fast-ssd-retain + resources: + requests: + storage: 500Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: minio + namespace: object-prod + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio-prod + app.kubernetes.io/component: object-store + app.kubernetes.io/part-of: platform-storage +spec: + replicas: 1 + strategy: + type: Recreate # RWO 단일 PVC이므로 RollingUpdate 금지 + selector: + matchLabels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio-prod + template: + metadata: + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio-prod + spec: + securityContext: + runAsNonRoot: true + runAsUser: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + - name: minio + image: quay.io/minio/minio@sha256:abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789 + args: ["server", "/data", "--console-address", ":9001"] + ports: + - {name: s3, containerPort: 9000} + - {name: console, containerPort: 9001} + envFrom: + - secretRef: + name: minio-root-credentials + resources: + requests: {cpu: "250m", memory: "512Mi"} + limits: {cpu: "2", memory: "4Gi"} + readinessProbe: + httpGet: {path: /minio/health/ready, port: s3} + periodSeconds: 5 + livenessProbe: + httpGet: {path: /minio/health/live, port: s3} + periodSeconds: 20 + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumeMounts: + - {name: data, mountPath: /data} + volumes: + - name: data + persistentVolumeClaim: + claimName: minio-data +``` + +왜 좋은가: +- StatefulSet 없이도 stable한 단일 writer 구성 +- `strategy: Recreate`로 RWO 충돌 방지 +- PVC와 StorageClass가 명시적으로 매칭 +- backup tier 라벨 → Velero selector와 연동 + +❌ 나쁜 예시 2: RWO에 RollingUpdate + replicas 2 + +```yaml +spec: + replicas: 2 + strategy: + type: RollingUpdate + template: + spec: + containers: + - volumeMounts: + - {name: data, mountPath: /data} + volumes: + - name: data + persistentVolumeClaim: + claimName: minio-data # RWO인데 두 Pod가 동시에 마운트 시도 +``` + +문제: +- RWO PVC를 두 Pod가 동시에 잡을 수 없어 신규 Pod가 영원히 Pending +- RollingUpdate가 old→new 전환 시 마운트 충돌 +- 해결: replicas=1 + Recreate, 또는 RWX, 또는 StatefulSet + +--- + +## 좋은 예시 5: separate PVC (정당한 수명/복구 단위 차이) + +```yaml +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: archive-ledger + namespace: finance-prod + labels: + app.kubernetes.io/name: archive-ledger + app.kubernetes.io/instance: archive-ledger-prod +spec: + serviceName: archive-ledger + replicas: 3 + selector: + matchLabels: + app.kubernetes.io/name: archive-ledger + app.kubernetes.io/instance: archive-ledger-prod + template: + metadata: + labels: + app.kubernetes.io/name: archive-ledger + app.kubernetes.io/instance: archive-ledger-prod + spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: archive-ledger + image: registry.example.com/finance/archive-ledger@sha256:3fbc632167424a6d997e74f52b878d7cc478225cffac6bc977eedfe51c7f4e79 + ports: + - { name: http, containerPort: 8080 } + resources: + requests: { cpu: 500m, memory: 1Gi } + limits: { memory: 2Gi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumeMounts: + - { name: data, mountPath: /var/lib/ledger } + - { name: audit-archive, mountPath: /var/lib/ledger/audit } + volumeClaimTemplates: + - metadata: + name: data + labels: + backup.platform.io/tier: gold # 5분 RPO, 매일 snapshot + spec: + accessModes: ["ReadWriteOnce"] + storageClassName: fast-ssd-retain + resources: + requests: {storage: 500Gi} + - metadata: + name: audit-archive + labels: + backup.platform.io/tier: bronze # 24h RPO, 주 1회 snapshot, 7년 보존 + spec: + accessModes: ["ReadWriteOnce"] + storageClassName: archive-retain + resources: + requests: {storage: 2Ti} +``` + +왜 좋은가: +- data와 audit-archive의 RPO/retention이 다름 +- StorageClass도 다름 (SSD vs 아카이브) +- backup tier 라벨이 Velero schedule selector에 의해 다르게 잡힘 + +❌ 나쁜 예시 3: separate PVC 남발 + +```yaml +volumeClaimTemplates: + - {metadata: {name: logs}} + - {metadata: {name: tmp}} + - {metadata: {name: config-copy}} + - {metadata: {name: cache}} +``` + +문제: +- 로그/tmp/cache는 `emptyDir` 또는 stdout 대상 +- PVC 4개는 수명 구분 없이 쪼갠 것 — 운영 복잡도만 증가 +- snapshot/backup 단위가 파편화됨 + +--- + +## 좋은 예시 6: 파이프라인 전체 — PVC → Snapshot → Restore → Verify + +아래 6개 블록은 순서대로 `kubectl apply` 한다. + +### (1) PVC + +```yaml +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: app-data + namespace: app-prod + labels: + app.kubernetes.io/name: app + backup.platform.io/tier: gold +spec: + accessModes: ["ReadWriteOnce"] + storageClassName: fast-ssd-retain + resources: + requests: {storage: 20Gi} +``` + +### (2) VolumeSnapshotClass (전역 1회) + +```yaml +--- +apiVersion: snapshot.storage.k8s.io/v1 +kind: VolumeSnapshotClass +metadata: + name: fast-ssd-snap-retain + labels: + velero.io/csi-volumesnapshot-class: "true" +driver: driver.longhorn.io +deletionPolicy: Retain +``` + +### (3) On-demand VolumeSnapshot + +```yaml +--- +apiVersion: snapshot.storage.k8s.io/v1 +kind: VolumeSnapshot +metadata: + name: app-data-2026-04-16-pre-migration + namespace: app-prod + labels: + app.kubernetes.io/name: app + snapshot.platform.io/reason: pre-migration +spec: + volumeSnapshotClassName: fast-ssd-snap-retain + source: + persistentVolumeClaimName: app-data +``` + +### (4) Restore: snapshot을 소스로 하는 새 PVC + +```yaml +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: app-data-restored + namespace: app-prod +spec: + accessModes: ["ReadWriteOnce"] + storageClassName: fast-ssd-retain + resources: + requests: {storage: 20Gi} + dataSource: + name: app-data-2026-04-16-pre-migration + kind: VolumeSnapshot + apiGroup: snapshot.storage.k8s.io +``` + +### (5) Verify Job + +```yaml +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: app-data-restore-verify + namespace: app-prod +spec: + backoffLimit: 0 + ttlSecondsAfterFinished: 3600 + template: + spec: + restartPolicy: Never + securityContext: + runAsNonRoot: true + runAsUser: 1000 + fsGroup: 1000 + containers: + - name: verify + image: busybox@sha256:3fbc632167424a6d997e74f52b878d7cc478225cffac6bc977eedfe51c7f4e79 + command: + - sh + - -c + - | + set -eu + test -d /data + COUNT=$(find /data -type f | wc -l) + echo "file_count=${COUNT}" + test "${COUNT}" -gt 0 + resources: + requests: { cpu: 50m, memory: 64Mi } + limits: { memory: 128Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: {drop: ["ALL"]} + volumeMounts: + - {name: data, mountPath: /data, readOnly: true} + volumes: + - name: data + persistentVolumeClaim: + claimName: app-data-restored +``` + +### (6) 최종 확인 + +```bash +kubectl -n app-prod get volumesnapshot,pvc,job +kubectl -n app-prod logs job/app-data-restore-verify +``` + +왜 좋은가: +- PVC → SnapshotClass → Snapshot → dataSource 기반 PVC restore → Job 검증의 end-to-end 흐름 +- `deletionPolicy: Retain`으로 snapshot을 실수로 삭제해도 PV는 남음 +- Job이 restricted PSA 준수, 이미지 digest 고정, `backoffLimit: 0` + +--- + +## 나쁜 예시 4: hostPath를 운영 PV로 사용 + +```yaml +apiVersion: v1 +kind: PersistentVolume +metadata: + name: pg-host +spec: + capacity: {storage: 50Gi} + accessModes: ["ReadWriteOnce"] + hostPath: + path: /data/postgres +``` + +문제: +- 노드 장애 = 데이터 손실 +- snapshot / expansion / 다중 노드 스케줄링 전부 불가 +- 운영 표준 아님 + +--- + +## 나쁜 예시 5: K3s local-path로 production Postgres + +```yaml +volumeClaimTemplates: + - metadata: {name: data} + spec: + accessModes: ["ReadWriteOnce"] + storageClassName: local-path # K3s default + resources: {requests: {storage: 100Gi}} +``` + +문제: +- local-path는 snapshot 미지원 → Velero CSI snapshot 불가 +- expansion 미지원 → 용량 부족 시 마이그레이션 필요 +- 노드 pin → 노드 장애 시 Postgres 복구 불가 +- 해결: Longhorn / OpenEBS / cloud CSI driver로 교체 + +--- + +## 나쁜 예시 6: StorageClass 생략 + +```yaml +spec: + accessModes: ["ReadWriteOnce"] + resources: {requests: {storage: 20Gi}} + # storageClassName 미지정 → 클러스터 default annotation 사용 +``` + +문제: +- 어떤 tier를 기대했는지 선언에서 드러나지 않음 +- 클러스터 default가 바뀌면 침묵적으로 다른 StorageClass로 바인딩 +- 환경 간 재현 불가 diff --git a/docs/examples/infra/vault.md b/docs/examples/infra/vault.md new file mode 100644 index 0000000..703eb77 --- /dev/null +++ b/docs/examples/infra/vault.md @@ -0,0 +1,777 @@ +# Vault 예시 + +Vault 1.17+ + Helm chart `hashicorp/vault` + VSO 0.8+ 기준. 모든 manifest는 `kubectl apply` 적용 가능한 완전한 형태다. + +--- + +## 좋은 예시 1: Helm values.yaml — HA Raft + auto-unseal + audit + +```yaml +# values/vault-prod.yaml +global: + enabled: true + tlsDisable: false + +injector: + enabled: true + replicas: 2 + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 256Mi + +server: + image: + repository: hashicorp/vault + tag: "1.17.6" + + resources: + requests: + cpu: 250m + memory: 256Mi + limits: + cpu: "1" + memory: 512Mi + + extraEnvironmentVars: + VAULT_CACERT: /vault/tls/ca.crt + VAULT_TLSCERT: /vault/tls/tls.crt + VAULT_TLSKEY: /vault/tls/tls.key + AWS_REGION: ap-northeast-2 + + volumes: + - name: vault-tls + secret: + secretName: vault-tls + volumeMounts: + - name: vault-tls + mountPath: /vault/tls + readOnly: true + + serviceAccount: + create: true + name: vault + annotations: + eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/vault-autounseal + + readinessProbe: + enabled: true + path: "/v1/sys/health?standbyok=true&perfstandbyok=true&uninitcode=204" + port: 8200 + scheme: HTTPS + failureThreshold: 2 + initialDelaySeconds: 5 + periodSeconds: 5 + timeoutSeconds: 3 + + livenessProbe: + enabled: true + path: "/v1/sys/health?standbyok=true&sealedcode=204&uninitcode=204" + port: 8200 + scheme: HTTPS + failureThreshold: 3 + initialDelaySeconds: 60 + periodSeconds: 30 + timeoutSeconds: 3 + + dataStorage: + enabled: true + size: 20Gi + storageClass: ebs-gp3 + accessMode: ReadWriteOnce + mountPath: /vault/data + + auditStorage: + enabled: true + size: 10Gi + storageClass: ebs-gp3 + accessMode: ReadWriteOnce + mountPath: /vault/audit + + service: + enabled: true + type: ClusterIP + port: 8200 + targetPort: 8200 + + ha: + enabled: true + replicas: 3 + apiAddr: "https://$(POD_IP):8200" + clusterAddr: "https://$(HOSTNAME).vault-internal:8201" + raft: + enabled: true + setNodeId: true + config: | + ui = true + + listener "tcp" { + address = "[::]:8200" + cluster_address = "[::]:8201" + tls_cert_file = "/vault/tls/tls.crt" + tls_key_file = "/vault/tls/tls.key" + tls_min_version = "tls13" + } + + storage "raft" { + path = "/vault/data" + + retry_join { + leader_api_addr = "https://vault-0.vault-internal:8200" + leader_ca_cert_file = "/vault/tls/ca.crt" + leader_client_cert_file = "/vault/tls/tls.crt" + leader_client_key_file = "/vault/tls/tls.key" + } + retry_join { + leader_api_addr = "https://vault-1.vault-internal:8200" + leader_ca_cert_file = "/vault/tls/ca.crt" + leader_client_cert_file = "/vault/tls/tls.crt" + leader_client_key_file = "/vault/tls/tls.key" + } + retry_join { + leader_api_addr = "https://vault-2.vault-internal:8200" + leader_ca_cert_file = "/vault/tls/ca.crt" + leader_client_cert_file = "/vault/tls/tls.crt" + leader_client_key_file = "/vault/tls/tls.key" + } + } + + seal "awskms" { + region = "ap-northeast-2" + kms_key_id = "alias/vault-autounseal" + } + + service_registration "kubernetes" {} + + telemetry { + prometheus_retention_time = "24h" + disable_hostname = true + } + + affinity: | + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + app.kubernetes.io/name: vault + component: server + topologyKey: kubernetes.io/hostname + + topologySpreadConstraints: | + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: vault + component: server +``` + +**왜 좋은가:** + +- `ha.enabled=true` + `raft.enabled=true` + `raft.setNodeId=true` 3종 필수 플래그 +- listener와 storage raft stanza가 8200/8201 모두 바인드, `cluster_address` 명시 → peer replication 성립 +- `seal "awskms"`로 auto-unseal, Pod 재시작 시 수동 개입 불필요 +- `auditStorage.enabled=true` → audit 전용 PVC 분리 (dataStorage 오염 방지) +- IRSA(`eks.amazonaws.com/role-arn`)로 KMS 접근 권한 위임 (static IAM key 없음) + +--- + +## 나쁜 예시 1: chart 기본값 standalone + +```bash +helm install vault hashicorp/vault --namespace vault --create-namespace +``` + +**문제:** + +- 기본은 `standalone` + `file` storage → single pod, PVC 1개, HA 없음, snapshot restore로만 복구 +- Shamir 수동 unseal → pod 재시작마다 운영자 개입 +- audit device 미활성 → 감사 로그 없음 +- chart 문서 자체가 "not suitable for production"이라 명시 + +--- + +## 좋은 예시 2: Service — 8200 + 8201 둘 다 expose + +Helm chart가 자동 생성하지만, 수제 Service 예시: + +```yaml +--- +apiVersion: v1 +kind: Service +metadata: + name: vault + namespace: vault + labels: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault-prod +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: vault + component: server + ports: + - name: https + port: 8200 + targetPort: 8200 + protocol: TCP +--- +apiVersion: v1 +kind: Service +metadata: + name: vault-internal + namespace: vault + labels: + app.kubernetes.io/name: vault +spec: + type: ClusterIP + clusterIP: None + publishNotReadyAddresses: true + selector: + app.kubernetes.io/name: vault + component: server + ports: + - name: https + port: 8200 + targetPort: 8200 + - name: https-internal + port: 8201 + targetPort: 8201 +``` + +**왜 좋은가:** + +- `vault-internal` headless + `publishNotReadyAddresses: true` → Raft peer가 unseal 전에도 서로 발견 가능 +- **8201 포트 expose** → peer-to-peer Raft replication 성립 (누락 시 leader election 영구 실패) +- 사용자용 `vault` Service는 8200만 노출 + +--- + +## 나쁜 예시 2: 8201 누락 + +```yaml +spec: + ports: + - port: 8200 + targetPort: 8200 +``` + +**문제:** + +- Raft peer가 8201로 서로 통신해야 하는데 Service가 expose하지 않음 +- `vault operator raft list-peers`에서 follower가 리더로 못 붙음 +- 증상: 단일 노드만 unsealed, 나머지는 "storage: IO error" 로그 루프 + +--- + +## 좋은 예시 3: Kubernetes auth bootstrap + role + +```bash +# 1. Kubernetes auth method 활성화 +vault auth enable kubernetes + +# 2. Vault가 Kubernetes TokenReview API를 호출하기 위한 설정 +# (Vault Pod 내부에서 실행하거나 reviewer SA의 JWT를 주입) +vault write auth/kubernetes/config \ + token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \ + kubernetes_host="https://kubernetes.default.svc.cluster.local" \ + kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt \ + disable_iss_validation=false + +# 3. Policy 생성 (auth-server가 읽을 수 있는 경로만) +vault policy write auth-server-read - <<'EOF' +path "kv/data/auth-server/*" { + capabilities = ["read"] +} +path "database/creds/auth-server" { + capabilities = ["read"] +} +EOF + +# 4. Role 생성 — 특정 SA + namespace에만 바인딩 +vault write auth/kubernetes/role/auth-server \ + bound_service_account_names=auth-server \ + bound_service_account_namespaces=auth-prod \ + policies=auth-server-read \ + ttl=1h \ + max_ttl=24h \ + audience=vault +``` + +**왜 좋은가:** + +- TokenReview JWT를 명시적으로 구성 → Vault가 SA 토큰 유효성 검증 가능 +- Policy는 `kv/data/auth-server/*`, `database/creds/auth-server`만 허용 (최소 권한) +- Role은 `auth-prod` namespace의 `auth-server` SA에만 바인딩 +- `audience=vault`로 projected token의 audience 검증 (token confusion 방어) + +--- + +## 나쁜 예시 3: wildcard role + +```bash +vault write auth/kubernetes/role/all-apps \ + bound_service_account_names="*" \ + bound_service_account_namespaces="*" \ + policies=default \ + ttl=720h +``` + +**문제:** + +- 모든 namespace의 모든 SA가 로그인 가능 → 한 워크로드 침해가 전체 Vault 접근으로 확대 +- TTL 30일은 token revocation window가 너무 김 +- `default` policy가 넓으면 실질적인 접근 제어 상실 + +--- + +## 좋은 예시 4: VSO — 클러스터 수준 연결 + 앱 namespace auth + +```yaml +--- +apiVersion: v1 +kind: Namespace +metadata: + name: vault-secrets-operator-system +--- +# 1) 클러스터 전체 1개 VaultConnection +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultConnection +metadata: + name: default + namespace: vault-secrets-operator-system +spec: + address: https://vault.vault.svc.cluster.local:8200 + tlsServerName: vault.vault.svc.cluster.local + caCertSecretRef: vault-ca + skipTLSVerify: false + timeout: 60s +--- +# 2) 앱 namespace의 ServiceAccount +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-server + namespace: auth-prod +--- +# 3) 앱 namespace의 VaultAuth (Vault Kubernetes auth role로 로그인) +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultAuth +metadata: + name: default + namespace: auth-prod +spec: + vaultConnectionRef: vault-secrets-operator-system/default + method: kubernetes + mount: kubernetes + kubernetes: + role: auth-server + serviceAccount: auth-server + audiences: + - vault + tokenExpirationSeconds: 600 +``` + +**왜 좋은가:** + +- `VaultConnection` 1개를 operator namespace에 두고, 앱 namespace에서 cross-reference +- `VaultAuth.method: kubernetes`가 Vault의 `auth/kubernetes/role/auth-server`를 호출 +- `audiences: [vault]`로 projected SA token의 audience 바인딩 +- `tokenExpirationSeconds: 600` → projected token 10분마다 rotate + +--- + +## 좋은 예시 5: VSO — Static / Dynamic / PKI secret + +```yaml +--- +# KV v2에서 정적 secret 동기화 +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: auth-server-config + namespace: auth-prod +spec: + vaultAuthRef: default + mount: kv + path: auth-server/config + type: kv-v2 + refreshAfter: 30m + hmacSecretData: true + rolloutRestartTargets: + - kind: Deployment + name: auth-server + destination: + name: auth-server-config + create: true + overwrite: true +--- +# Postgres dynamic credential (TTL 1h) +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultDynamicSecret +metadata: + name: auth-server-db + namespace: auth-prod +spec: + vaultAuthRef: default + mount: database + path: creds/auth-server + renewalPercent: 67 + rolloutRestartTargets: + - kind: Deployment + name: auth-server + destination: + name: auth-server-db + create: true + overwrite: true + transformation: + excludeRaw: true + templates: + DATABASE_URL: + text: 'postgresql://{{ .Secrets.username }}:{{ .Secrets.password }}@auth-db-rw.auth-prod.svc.cluster.local:5432/authdb?sslmode=require' +--- +# PKI 인증서 발급 +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultPKISecret +metadata: + name: auth-server-cert + namespace: auth-prod +spec: + vaultAuthRef: default + mount: pki_int + role: auth-server + commonName: auth-server.auth-prod.svc.cluster.local + altNames: + - auth-server + - auth-server.auth-prod + ipSans: [] + ttl: 720h + revoke: true + clear: true + expiryOffset: 120h + destination: + name: auth-server-cert + create: true + type: kubernetes.io/tls +``` + +**왜 좋은가:** + +- 세 패턴(정적 KV, 동적 DB credential, PKI cert)을 한 namespace에서 일관되게 선언 +- `rolloutRestartTargets`로 secret 갱신 시 consumer Deployment 자동 롤링 재시작 +- `renewalPercent: 67` → TTL 67% 경과 시 갱신 (default는 보통 70%) +- `transformation.templates`로 연결 문자열 포맷 변환 (앱이 username/password 파싱 안 해도 됨) + +--- + +## 좋은 예시 6: Vault Agent Injector (init-only 모드) + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: legacy-app + namespace: legacy +spec: + replicas: 2 + selector: + matchLabels: + app: legacy-app + template: + metadata: + labels: + app: legacy-app + annotations: + vault.hashicorp.com/agent-inject: "true" + vault.hashicorp.com/role: "legacy-app" + vault.hashicorp.com/agent-pre-populate-only: "true" + vault.hashicorp.com/agent-inject-secret-db.env: "database/creds/legacy-app" + vault.hashicorp.com/agent-inject-template-db.env: | + {{ with secret "database/creds/legacy-app" -}} + DATABASE_USERNAME={{ .Data.username }} + DATABASE_PASSWORD={{ .Data.password }} + {{- end }} + vault.hashicorp.com/agent-inject-file-db.env: "db.env" + vault.hashicorp.com/agent-limits-cpu: "200m" + vault.hashicorp.com/agent-limits-mem: "128Mi" + vault.hashicorp.com/agent-requests-cpu: "50m" + vault.hashicorp.com/agent-requests-mem: "64Mi" + spec: + serviceAccountName: legacy-app + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: app + image: registry.example.com/legacy-app:1.4.2 + command: ["sh", "-c", "source /vault/secrets/db.env && exec /app/run"] + resources: + requests: { cpu: 100m, memory: 128Mi } + limits: { memory: 256Mi } + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumeMounts: + - { name: tmp, mountPath: /tmp } + volumes: + - name: tmp + emptyDir: {} +``` + +**왜 좋은가:** + +- `agent-pre-populate-only: "true"` → init container만 돌고 sidecar 없음 → 2 pod 당 컨테이너 1개 절감 +- etcd에 Kubernetes Secret 생성 없음 (annotation에 명시적 destination 없음; in-memory volume) +- template로 `.env` 포맷 렌더링 → legacy 앱이 그대로 소비 + +--- + +## 나쁜 예시 4: Injector + long-lived sidecar + 무한 renew + +```yaml +annotations: + vault.hashicorp.com/agent-inject: "true" + vault.hashicorp.com/role: "legacy-app" + vault.hashicorp.com/agent-inject-secret-creds: "database/creds/legacy-app" + # agent-pre-populate-only 없음 → sidecar 상시 실행 + # agent-limits-* 없음 → sidecar가 limit 없이 메모리 증가 +``` + +**문제:** + +- sidecar가 Pod 수명 내내 상주 → 1000 서비스 x 3 replica = 3000 추가 컨테이너 +- resource limit 미지정 → OOM cascading +- VSO로 대체 가능한데 Injector를 default로 쓰면 운영 복잡도 증가 + +--- + +## 좋은 예시 7: Raft snapshot CronJob + +```yaml +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: vault-snapshot + namespace: vault +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: vault-raft-snapshot + namespace: vault +spec: + schedule: "0 2 * * *" + concurrencyPolicy: Forbid + successfulJobsHistoryLimit: 3 + failedJobsHistoryLimit: 3 + jobTemplate: + spec: + backoffLimit: 2 + template: + spec: + restartPolicy: OnFailure + serviceAccountName: vault-snapshot + securityContext: + runAsNonRoot: true + runAsUser: 100 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + - name: snapshot + image: hashicorp/vault:1.17.6 + env: + - name: VAULT_ADDR + value: https://vault.vault.svc.cluster.local:8200 + - name: VAULT_CACERT + value: /vault/tls/ca.crt + - name: VAULT_TOKEN + valueFrom: + secretKeyRef: + name: vault-snapshot-token + key: token + - name: AWS_REGION + value: ap-northeast-2 + command: + - sh + - -c + - | + set -eu + TS=$(date -u +%Y%m%dT%H%M%SZ) + SNAP=/tmp/vault-${TS}.snap + vault operator raft snapshot save "${SNAP}" + aws s3 cp "${SNAP}" "s3://vault-backup.example.com/daily/vault-${TS}.snap" \ + --sse aws:kms --sse-kms-key-id alias/vault-backup + rm -f "${SNAP}" + volumeMounts: + - name: vault-tls + mountPath: /vault/tls + readOnly: true + - name: tmp + mountPath: /tmp + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: ["ALL"] + volumes: + - name: vault-tls + secret: + secretName: vault-tls + - name: tmp + emptyDir: {} +``` + +**왜 좋은가:** + +- 매일 02:00 UTC `raft snapshot save` 실행 +- 결과를 S3 SSE-KMS로 off-cluster 보관 (PVC와 독립적 failure domain) +- 짧은 TTL snapshot token을 별도 Secret로 주입 (root token 미사용) +- `concurrencyPolicy: Forbid`로 snapshot 중복 방지 + +--- + +## 좋은 예시 8: ServiceMonitor + Prometheus policy + +```yaml +--- +# Vault policy: Prometheus가 /v1/sys/metrics 읽기 전용 +# (이 정책은 Vault 내부에 생성) +# vault policy write prometheus-metrics - <` + history limit. + +--- + +## 나쁜 예시 6: StatefulSet에 `persistentVolumeClaimRetentionPolicy` 미지정 (prod) + +```yaml +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: vault +spec: + serviceName: vault + replicas: 3 + # persistentVolumeClaimRetentionPolicy missing + volumeClaimTemplates: + - metadata: { name: data } + spec: + accessModes: [ "ReadWriteOnce" ] + storageClassName: longhorn-replicated + resources: + requests: { storage: 20Gi } +``` + +**문제:** 명시가 없으면 기본값 (`{whenDeleted: Retain, whenScaled: Retain}`)이 적용되어 "동작은 맞지만" 의도가 코드에 드러나지 않는다. 팀원이 `{Delete, Delete}`인지 추측. 1000-서비스 스케일에서는 모든 StatefulSet이 이 필드를 **명시**해야 정책이 audit 가능. 해결: 항상 명시. diff --git a/docs/ingress-traefik.md b/docs/ingress-traefik.md new file mode 100644 index 0000000..997d2f5 --- /dev/null +++ b/docs/ingress-traefik.md @@ -0,0 +1,248 @@ +# Ingress / Traefik 운영 + +dev 환경은 K3s packaged Traefik 을 그대로 유지한다. 단 **`/var/lib/rancher/k3s/server/manifests/traefik.yaml` 는 수정하지 않는다.** 운영 설정은 `k8s/overlays/dev/platform/traefik/` 의 `HelmChartConfig` 로만 오버라이드한다. + +## 현재 구성 + +| 위치 | 역할 | +|---|---| +| `k8s/overlays/dev/platform/traefik/helmchartconfig.yaml` | Traefik replica, 기본 ingressClass, HTTP→HTTPS redirect, metrics, 기본 TLS option 연결 | +| `k8s/overlays/dev/platform/traefik/middleware.yaml` | 공용 `security-headers` Middleware + `modern-tls` TLSOption | +| `k8s/overlays/dev/auth/ingress.yaml` | `project.com` → `auth-server` | +| `k8s/overlays/dev/keycloak/ingress-public.yaml` | `keycloak.dev.example.com` → Keycloak 공개 path (`/realms/`, `/resources/`, `/.well-known/`, `/js/`) | +| `k8s/overlays/dev/platform/cert-manager/` | cert-manager `v1.20.2` CRD/controller 설치 overlay | +| `k8s/overlays/dev/platform/cert-manager-issuers/` | `letsencrypt-staging` / `letsencrypt-prod` ClusterIssuer | +| `k8s/overlays/dev/platform/keycloak-operator/` | Keycloak Operator `26.6.1`. dev 제약상 `mnt` 에 설치해 `mnt` 의 Keycloak CR 을 watch. K8s API egress NetworkPolicy 포함 | +| `k8s/overlays/dev/tls/*.yaml` | cert-manager 설치 후 발급할 `Certificate` 리소스 | +| `k8s/components/forward-auth/` | oauth2-proxy + Traefik ForwardAuth 재사용 component | +| `k8s/overlays/dev/` | 기본 dev overlay. 현재 forward-auth component 를 직접 포함 | +| `k8s/overlays/dev/keycloak-realm/` | `KeycloakRealmImport` 로 realm/client 를 Git 관리 | + +## 설계 원칙 + +- 앱은 `Ingress` 만 선언하고, 공통 보안 정책은 Traefik Middleware / TLSOption 으로 재사용 +- Keycloak 은 외부 전체 공개가 아니라 **최소 공개 path** 만 연다. `/admin`, `/metrics`, `/health` 는 비공개 +- TLS 리소스는 cert-manager + ClusterIssuer 적용 후 `tls/` overlay 에서 발급 +- north-south ingress 는 `kube-system` 의 Traefik Pod 에서만 시작 → app NetworkPolicy 도 그에 맞춰 작성 + +## ForwardAuth variant + +`k8s/components/forward-auth/` 는 oauth2-proxy + ForwardAuth Middleware 를 담은 Kustomize component 다. 현재 `k8s/overlays/dev/` 가 이 component 를 직접 포함한다. + +구성: + +- `oauth2-proxy` Deployment / Service / ConfigMap / VaultStaticSecret +- `project.com/oauth2/*` 경로용 Ingress +- `oauth2-proxy-auth` Traefik Middleware +- `auth-server` Ingress patch — `project.com/` 요청은 oauth2-proxy 를 거친 인증된 사용자만 통과 + +흐름: `Traefik ForwardAuth → oauth2-proxy → Keycloak`. + +### 적용 전제 + +- `k8s/overlays/dev/keycloak-realm/` 또는 동등한 방법으로 `platform` realm + `auth-server-ingress` client 가 준비됨 +- redirect URI: `https://project.com/oauth2/callback` +- Vault path `secret/oauth2-proxy/forward-auth` 에 `client_secret`, `cookie_secret` 저장 +- `project.com`, `keycloak.dev.example.com` 이 실제 Traefik 진입점으로 해석됨 + +### 브라우저 접속 전제 + +curl 검증은 `--resolve project.com:443:` 와 `-k` 로 DNS/TLS 문제를 우회할 수 있다. 브라우저는 이 옵션이 없으므로 dev 환경에서 직접 접속하려면 운영자가 아래를 별도로 맞춰야 한다. + +```text + project.com + keycloak.dev.example.com +``` + +예: Traefik `LoadBalancer` IP 중 하나가 `10.208.141.123` 이면 로컬 `/etc/hosts` 에 두 host 를 추가한다. dev overlay 는 현재 외부 ACME 발급 대신 `dev-selfsigned` ClusterIssuer 를 사용하므로 브라우저에서는 인증서 경고를 허용하거나 해당 인증서를 로컬 trust store 에 등록해야 한다. 공인 DNS 가 Traefik 진입점으로 향하고 ACME 인증서가 Ready 가 되면 이 임시 조치는 제거한다. + +Chrome 에서 계속 실패하면 먼저 boundary 를 나눈다. + +| Boundary | 확인 | +|---|---| +| 로컬 DNS | `getent hosts project.com keycloak.dev.example.com` 이 Traefik IP 를 반환해야 한다. | +| 브라우저 DNS cache | `/etc/hosts` 수정 후 Chrome 재시작 또는 `chrome://net-internals/#dns` 에서 cache clear. | +| TLS trust | `ERR_CERT_*` 가 나오면 dev self-signed 인증서를 허용하거나 trust store 에 등록한다. | +| 인증 redirect | `curl -k -D - --resolve project.com:443: https://project.com/swagger-ui.html` 가 `302 Location: https://keycloak...` 를 반환해야 한다. | +| 로그인 후 app route | 인증 후 `404 PRES-005` 는 ForwardAuth 실패가 아니라 auth-server 에 해당 route 가 없다는 뜻이다. | + +### 브라우저 검증 순서 + +dev ForwardAuth 를 브라우저에서 직접 확인할 때는 아래 순서로 진행한다. 중간 단계를 건너뛰면 "Chrome 이 안 된다" 만 보이고 어느 boundary 가 깨졌는지 알기 어렵다. + +#### 1. Traefik 진입 IP 확인 + +```bash +kubectl -n kube-system get svc traefik \ + -o jsonpath='{.status.loadBalancer.ingress[*].ip}{"\n"}' +``` + +예상 예시: + +```text +10.208.141.123 10.208.141.14 +``` + +이 문서의 예시는 `10.208.141.123` 을 사용한다. 실제 클러스터에서 나온 IP 중 하나를 선택한다. + +#### 2. curl 로 클러스터 경로 먼저 확인 + +브라우저를 열기 전에 curl 로 Traefik / oauth2-proxy / Keycloak boundary 가 살아있는지 확인한다. + +```bash +curl -k -sS -L \ + -D /tmp/project-infra-login.headers \ + -o /tmp/project-infra-login.body \ + --resolve project.com:443:10.208.141.123 \ + --resolve keycloak.dev.example.com:443:10.208.141.123 \ + https://project.com/swagger-ui.html +``` + +정상 신호: + +```bash +sed -n '1,80p' /tmp/project-infra-login.headers +grep -o '[^<]*' /tmp/project-infra-login.body +``` + +정상이라면 헤더에는 첫 응답 `HTTP/2 302` 와 `location: https://keycloak.dev.example.com/.../auth` 가 보이고, body title 은 아래처럼 나온다. + +```text +<title>Sign in to platform +``` + +이 단계가 실패하면 브라우저를 볼 필요가 없다. 먼저 `docs/troubleshooting.md` 의 `ForwardAuth 로그인 E2E 검증 실패` 사건에서 해당 boundary 를 찾는다. + +#### 3. 빠른 Chrome 임시 프로필로 확인 + +로컬 `/etc/hosts` 와 인증서 trust 를 건드리기 전에, Chrome 실행 옵션으로 DNS/TLS 를 임시 우회해 본다. + +```bash +google-chrome \ + --user-data-dir=/tmp/project-infra-chrome \ + --ignore-certificate-errors \ + --host-resolver-rules="MAP project.com 10.208.141.123, MAP keycloak.dev.example.com 10.208.141.123" \ + https://project.com/swagger-ui.html +``` + +정상 흐름: + +1. `https://project.com/swagger-ui.html` 접속 +2. Traefik ForwardAuth 가 미인증 요청을 감지 +3. `302` 로 Keycloak 로그인 화면 이동 +4. `Sign in to platform` 화면 표시 +5. 로그인 성공 후 `project.com` 으로 callback + +이 방식으로 성공하면 Kubernetes / Traefik / oauth2-proxy / Keycloak 경로는 정상이다. 평소 Chrome 에서 안 되는 원인은 로컬 DNS cache, `/etc/hosts`, 인증서 trust, 기존 쿠키 중 하나다. + +#### 4. 일반 Chrome 으로 볼 수 있게 hosts 등록 + +임시 Chrome 이 성공하면 로컬 OS resolver 를 맞춘다. + +```bash +sudo tee -a /etc/hosts >/dev/null <<'EOF' + +# Project-Infra dev ingress +10.208.141.123 project.com +10.208.141.123 keycloak.dev.example.com +EOF +``` + +확인: + +```bash +getent hosts project.com keycloak.dev.example.com +``` + +두 host 가 선택한 Traefik IP 를 반환해야 한다. + +#### 5. Chrome DNS cache / 기존 세션 정리 + +hosts 를 바꾼 뒤에도 Chrome 이 이전 DNS / 쿠키를 들고 있을 수 있다. + +권장 순서: + +1. `chrome://net-internals/#dns` 에서 DNS cache clear +2. `chrome://net-internals/#sockets` 에서 socket pools flush +3. `project.com`, `keycloak.dev.example.com` 사이트 데이터 삭제 +4. Chrome 완전 종료 후 재시작 + +그래도 헷갈리면 아래처럼 새 임시 프로필을 쓰는 게 가장 빠르다. + +```bash +google-chrome --user-data-dir=/tmp/project-infra-normal https://project.com/swagger-ui.html +``` + +#### 6. 인증서 경고 처리 + +dev overlay 는 현재 `dev-selfsigned` ClusterIssuer 로 TLS Secret 을 만든다. 따라서 일반 Chrome 에서는 인증서 경고가 뜰 수 있다. + +검증 목적이면 고급 옵션에서 예외를 허용한다. 장기적으로 반복 검증할 예정이면 `project-com-tls`, `keycloak-dev-example-com-tls` 인증서를 로컬 trust store 에 등록한다. + +이 경고는 dev self-signed 인증서 때문에 생기는 것으로, ForwardAuth 실패와는 다른 boundary 다. + +#### 7. 로그인 후 결과 해석 + +로그인 후 `swagger-ui.html` 이 열리면 브라우저 검증은 성공이다. + +로그인 후 `/api/me` 를 열어 `404 PRES-005` 가 나오면 이것도 ForwardAuth 실패가 아니다. 인증은 통과했고 auth-server 애플리케이션에 `/api/me` route 가 없다는 뜻이다. + +판단 기준: + +| 결과 | 의미 | +|---|---| +| Keycloak 로그인 화면이 뜸 | 미인증 redirect 정상 | +| 로그인 후 `project.com` 으로 돌아옴 | callback / token exchange / session cookie 정상 | +| `/oauth2/auth` 가 `202` | oauth2-proxy 세션 인증 정상 | +| auth-server 가 `404 PRES-005` 반환 | 인증 통과 후 application route 없음 | +| auth-server 가 `401` 반환 | Authorization header 또는 JWT validation boundary 문제 | + +### 인증 실패 처리 + +Traefik ForwardAuth 는 `/oauth2/auth` 를 호출한다. oauth2-proxy 가 `401` 또는 `403` 을 반환하면 `oauth2-proxy-errors` Middleware 가 `/oauth2/start?rd={url}` 로 넘겨 로그인 흐름을 시작한다. + +중요: Traefik errors middleware 는 기본적으로 원래 status code 를 유지할 수 있다. 그러면 oauth2-proxy 가 `Location` 을 내려도 브라우저는 `401` 응답을 자동 redirect 로 처리하지 않는다. dev 구성은 `statusRewrites` 로 `401`/`403` 을 `302` 로 바꿔 브라우저가 바로 Keycloak 로그인 화면으로 이동하게 한다. + +## cert-manager / ClusterIssuer + +repo 에 `k8s/overlays/dev/platform/cert-manager/` 와 `k8s/overlays/dev/platform/cert-manager-issuers/` 가 추가되어 있다. + +- 설치 overlay: 공식 static install `v1.20.2` +- issuer overlay: ACME HTTP-01 용 `letsencrypt-staging` / `letsencrypt-prod` + +source-of-truth 관점에서 cert-manager 도 이 repo 의 선언형 관리 대상. 단, **실제 인증서 발급은 DNS 가 Traefik 외부 진입점을 가리키고 80/443 도달이 가능해야** 완료된다. + +```bash +kubectl apply -k k8s/overlays/dev/platform/cert-manager +kubectl apply -k k8s/overlays/dev/platform/cert-manager-issuers +kubectl apply -k k8s/overlays/dev/tls +``` + +운영 보정 필요: `admin@project.com` 은 실제 운영 수신 가능한 메일로 교체. + +## Keycloak realm / client Git 관리 + +`k8s/overlays/dev/keycloak-realm/` 는 `KeycloakRealmImport` 로 `platform` realm 과 `auth-server-ingress` client 를 선언한다. `k8s/overlays/dev/keycloak/` 도 수제 `Deployment` 가 아니라 `Keycloak` CR 기반으로 전환되어 있다. + +`KeycloakRealmImport` 는 같은 `mnt` namespace 의 `Keycloak/keycloak` 을 대상으로 동작한다. + +### 적용 순서 + +```bash +kubectl apply -k k8s/overlays/dev/platform/keycloak-operator +# 기존 수제 Deployment/Service/ConfigMap/ServiceAccount keycloak* 정리 +kubectl apply -k k8s/overlays/dev +kubectl apply -k k8s/overlays/dev/keycloak-realm +``` + +## 적용 범위 + +repo 가 커버하는 것: + +- Traefik 운영 정책의 Git 관리 +- app ingress host / path / policy 정의 +- Traefik → app 방향 ingress allow NetworkPolicy +- TLS `Certificate` 선언 준비 +- ForwardAuth variant 와 KeycloakRealmImport 선언 + +> 미완 항목(DNS / ACME 발급 / end-to-end 테스트)은 README 의 [Limitations](../README.md#limitations-honest-scope) 섹션을 참고. diff --git a/docs/networking.md b/docs/networking.md new file mode 100644 index 0000000..82c1e41 --- /dev/null +++ b/docs/networking.md @@ -0,0 +1,31 @@ +# NetworkPolicy 매트릭스 + +단일 namespace(`mnt`) 내부에서도 서비스 간 트래픽을 **최소권한** 으로 제한한다. baseline 은 모든 Pod 의 ingress/egress 를 차단하고, 컴포넌트별로 필요한 경로만 명시적으로 연다. + +## 정책 목록 + +| 정책 파일 | 역할 | +|---|---| +| `overlays/dev/networkpolicy-baseline.yaml` | `default-deny-all` (전 Pod ingress/egress 기본 차단) + `allow-dns-egress` (kube-system/kube-dns 53) | +| `overlays/dev/database/networkpolicy.yaml` | identity-postgres ingress ← keycloak / auth-server / migration-flyway (5432) | +| `overlays/dev/auth/networkpolicy.yaml` | auth-server ingress ← `kube-system/traefik`(8080); egress → postgres(5432) + keycloak(8080); flyway egress → postgres(5432) | +| `overlays/dev/keycloak/networkpolicy.yaml` | keycloak ingress ← `kube-system/traefik`(8080) + auth-server(8080); egress → postgres(5432); Keycloak Pod 간 peer 통신 (Infinispan/JGroups) | +| `overlays/dev/storage/networkpolicy.yaml` | minio ingress ← `part-of=auth-platform`(9000); 자체 peer(9000/9001) | +| `overlays/dev/test/networkpolicy.yaml` | test-server 3 대 내부 상호 통신만 허용 | +| `overlays/dev/vault/networkpolicy.yaml` | vault ingress ← VSO Operator Pod(8200) | +| `overlays/dev/registry/networkpolicy.yaml` | docker-registry ingress ← namespace 내 전 Pod(5000) + `kube-system/traefik`(5000); egress → minio(9000) | + +## 작성 규칙 + +- cross-namespace 참조가 필요한 항목(예: `kube-system/traefik`)은 `namespaceSelector` + `podSelector` 를 한 블록에 조합해 **AND 시맨틱** 으로 작성한다. 두 selector 를 별도 블록에 두면 OR 가 되어 정책이 헐거워진다. +- north-south ingress 는 `kube-system` 의 Traefik Pod 에서만 시작되므로, app 측 NetworkPolicy 도 실제 클러스터 기준으로 `kube-system` 을 허용해야 한다 (`ingressClassName=traefik` 만으로는 부족). +- baseline default-deny 가 켜져 있는 한, 새 워크로드를 올릴 때마다 ingress / egress 를 **명시적으로** 추가해야 한다. 이게 의도된 마찰이다 (실수로 wide-open 으로 시작하지 않도록). + +## Keycloak Operator 추가 고려사항 + +Keycloak Operator 가 Keycloak Pod 를 만들고 watch 하기 때문에 default-deny 환경에서는 다음 두 가지를 NetworkPolicy 로 명시한다: + +- Keycloak Operator 의 Kubernetes API egress (CR reconcile) +- Keycloak Pod 간 Infinispan/JGroups peer 통신 (cluster mode) + +해당 정책은 `overlays/dev/keycloak/networkpolicy.yaml` 에 함께 들어 있다. diff --git a/docs/operations.md b/docs/operations.md new file mode 100644 index 0000000..6f6bd03 --- /dev/null +++ b/docs/operations.md @@ -0,0 +1,83 @@ +# 운영 / 검증 + +bootstrap, teardown, validate.sh, 환경별 차등 계획의 **설계 의도** 를 정리한 문서. 단계별 실제 실행 절차는 [guide.md](../guide.md) 에 있다. + +## bootstrap 단계 + +`VaultConnection` / `VaultAuth` / `VaultStaticSecret` 은 VSO Helm 설치로 CRD 가 등록된 뒤에만 apply 할 수 있다. 그래서 `overlays/dev/vso/` 는 dev kustomization 집계에 포함되지 않으며, `bin/bootstrap.sh` 마지막 단계에서 별도로 `kubectl apply -k overlays/dev/vso/` 한다. + +| Phase | 작업 | 의존하는 직전 상태 | 멱등 안전? | +|:---:|---|---|---| +| 0 | MinIO Operator Helm install (`tasks/minio-operator-install.sh`) | helm 가능한 클러스터 | ✅ `helm upgrade --install` | +| 1 | `kubectl apply -k base/managing/namespace/` (PSS restricted 라벨 선행) | — | ✅ `kubectl apply` | +| 2 | VSO-managed Secret 점검 | namespace 존재 | ⚠️ `RESET_STALE_SECRETS=yes` 옵션 시 파괴적 | +| 3 | `kubectl apply -k overlays/dev/` (vault + registry + 앱) | namespace + PSS 라벨 | ✅ `kubectl apply` | +| 4 | `vault-0` Pod Running 대기 | Phase 3 의 Vault StatefulSet | ✅ wait 만 | +| 5 | `tasks/vault-init.sh` (init / unseal / auth / policy×2 / role×2) | `vault-0` Running | ✅ 상태 체크 후 차이만 적용 | +| 6 | `tasks/vso-install.sh` (helm upgrade --install) | Vault auth/role 준비 | ✅ `helm upgrade --install` | +| 7 | `kubectl apply -k overlays/dev/vso/` (VaultConnection / VaultAuth / VaultStaticSecret) | Phase 6 의 VSO CRD 등록 | ✅ `kubectl apply` | + +Phase 5 의 1 회성 셋업 흐름은 [secret-pipeline-bootstrap 시퀀스](diagrams/sequence/secret-pipeline-bootstrap.md), Phase 7 이후의 정상 reconcile 은 [secret-pipeline-runtime 시퀀스](diagrams/sequence/secret-pipeline-runtime.md) 참고. + +```bash +# dev — 비밀번호를 프롬프트에서 무음 입력 (bash history 에 안 남음) +bash k8s/scripts/bin/bootstrap.sh dev + +# teardown — 대화형 y/N +bash k8s/scripts/bin/teardown.sh dev +``` + +## 스크립트 구조 + +`k8s/scripts/` 는 `bin / ci / lib / tasks` 4 축: + +| 디렉토리 | 역할 | +|---|---| +| `bin/` | 사용자 진입점. `bootstrap.sh` / `teardown.sh` | +| `ci/` | CI / 로컬 검증. `validate.sh` (kustomize + kubeconform + kube-linter) | +| `lib/` | 공통 Bash 라이브러리. `common.sh` (strict mode / trap / log / confirm / retry / mask_secret) + `vault.sh` | +| `tasks/` | 재사용 작업. `vault-init.sh` / `vault-seed-apps.sh` / `vso-install.sh` | + +모든 쉘 스크립트는 `set -Eeuo pipefail` + `IFS=$'\n\t'` + `trap_cleanup` 으로 공통 에러 처리. root token / registry BasicAuth 같은 민감 값은 **stdin 파이프** 로만 전달하고 stdout 에 찍지 않는다. + +## 검증 (validate.sh) + +```bash +bash k8s/scripts/ci/validate.sh +``` + +3 단계: + +1. 각 overlay 에 대해 `kustomize build` (환경 중립성 / patch 유효성) +2. 렌더 결과에 `kubeconform -strict -ignore-missing-schemas` (Kubernetes OpenAPI + Datree CRD catalog) +3. 렌더 결과에 `kube-linter lint --config .kube-linter.yaml` (securityContext / resources / PSS / image tag 등) + +`.kube-linter.yaml` 은 **블록 단위 분석으로 생기는 컨텍스트 오탐 4 종**(`dangling-service`, `non-existent-service-account`, `mismatching-selector`, `no-anti-affinity`) 만 제외한다. 나머지는 모두 활성. + +목표 상태: + +``` +k8s/overlays/dev build=ok schema=ok lint=ok +k8s/overlays/dev/vso build=ok schema=ok lint=ok +``` + +## 환경별 배포 + +현재 `dev` overlay 만 완성. `staging` / `prod` 는 의도적으로 비어 있고 추후 확장 예정. validate.sh 는 `kustomization.yaml` 이 없는 환경을 자동 스킵한다 — 빈 overlay 가 CI 를 빨갛게 만들지 않기 위함. + +### 계획된 환경별 차등 + +| 리소스 | dev | staging | prod | +|---|---|---|---| +| Vault replicas / storage | 1 / 1Gi | 1 / 5Gi | 3 (HA Raft) / 20Gi | +| Registry replicas / storage | 1 / 5Gi | 1 / 10Gi | 2 / 50Gi | +| PostgreSQL retention policy | Delete | Retain | Retain | +| 이미지 tag 정책 | semver tag | semver tag | `@sha256:` digest pin | +| TLS | 비활성화 | cert-manager | cert-manager + HSTS | + +prod 승격 시 필수 작업: + +- Vault storage `file` → `raft` + KMS auto-unseal +- Postgres backup CronJob (Velero / pgBackRest) +- cert-manager ClusterIssuer 로 TLS 전환 +- 이미지 tag → digest pin diff --git a/docs/security-hardening.md b/docs/security-hardening.md new file mode 100644 index 0000000..2bcd0ba --- /dev/null +++ b/docs/security-hardening.md @@ -0,0 +1,256 @@ +# Security Hardening + +운영 절차가 아닌 **정책 / 거버넌스** 영역. guide.md 가 *"오늘 oncall 이 따라할 절차"* 라면 이 문서는 *"이 클러스터를 책임진다면 알아야 할 보안 결정"* 이다. + +## 목차 + +1. [etcd encryption at rest](#1-etcd-encryption-at-rest) +2. [Vault 운영자 토큰 관리](#2-vault-운영자-토큰-관리) +3. [bash history 에 비밀번호 남기지 않기](#3-bash-history-에-비밀번호-남기지-않기) + +--- + +## 1. etcd encryption at rest + +VSO 가 만드는 K8s Secret 은 기본적으로 **etcd 에 base64 로만 저장된다 (평문과 동일)**. 운영 전 반드시 암호화를 켠다. + +### K3s 방식 (권장 — 학습/소규모) + +최초 설치 시: + +```bash +# /etc/rancher/k3s/config.yaml +write-kubeconfig-mode: "0644" +secrets-encryption: true + +# 또는 설치 커맨드 +curl -sfL https://get.k3s.io | sh -s - server --secrets-encryption +``` + +K3s 가 AES-CBC 키를 자동 생성해서 `/var/lib/rancher/k3s/server/cred/encryption-config.json` 에 저장한다. + +이미 돌고 있는 클러스터에서 켜는 경우: + +```bash +sudo vim /etc/rancher/k3s/config.yaml # secrets-encryption: true 추가 +sudo systemctl restart k3s + +# 기존 Secret 을 즉시 재암호화 (없으면 새 Secret 부터 적용) +sudo k3s secrets-encrypt prepare +sudo systemctl restart k3s +sudo k3s secrets-encrypt rotate +sudo systemctl restart k3s +sudo k3s secrets-encrypt reencrypt +``` + +확인: + +```bash +sudo k3s secrets-encrypt status +# Encryption Status: Enabled +# Current Rotation Stage: start +# Server Encryption Hashes: All hashes match +``` + +### 표준 Kubernetes 방식 (kubeadm 등) + +1. `/etc/kubernetes/encryption.yaml` 생성: + +```yaml +apiVersion: apiserver.config.k8s.io/v1 +kind: EncryptionConfiguration +resources: + - resources: ["secrets"] + providers: + - aescbc: + keys: + - name: key-2026-04-21 + secret: <head -c 32 /dev/urandom | base64> + - identity: {} +``` + +2. kube-apiserver manifest 에 플래그 추가: + +```yaml +spec: + containers: + - command: + - kube-apiserver + - --encryption-provider-config=/etc/kubernetes/encryption.yaml + volumeMounts: + - name: encryption-config + mountPath: /etc/kubernetes/encryption.yaml + readOnly: true +``` + +3. 기존 Secret 재암호화: + +```bash +kubectl get secrets --all-namespaces -o json \ + | kubectl replace -f - +``` + +### KMS provider (프로덕션 권장) + +`aescbc` 대신 KMS plugin (Vault transit / AWS KMS / GCP KMS) 사용. circular dependency (Vault 도 K8s Secret 에 의존) 회피를 위해 Vault transit 은 **별도 provider Vault** 를 띄워야 한다. 현 프로젝트는 단일 Vault 이므로 KMS 는 추후 작업. + +### 검증 + +Secret 이 암호화됐는지 확인: + +```bash +# K3s +sudo k3s kubectl -n mnt get secret auth-server-db -o yaml \ + | grep -A1 "data:" + +# etcd 에 직접 접근해서 암호화 확인 (K3s) +sudo ETCDCTL_API=3 etcdctl \ + --endpoints=https://127.0.0.1:2379 \ + --cacert=/var/lib/rancher/k3s/server/tls/etcd/server-ca.crt \ + --cert=/var/lib/rancher/k3s/server/tls/etcd/client.crt \ + --key=/var/lib/rancher/k3s/server/tls/etcd/client.key \ + get /registry/secrets/mnt/auth-server-db +# 출력이 'k8s:enc:aescbc:v1:...' 로 시작하면 암호화됨 +``` + +--- + +## 2. Vault 운영자 토큰 관리 + +root token 은 **비상시 (rekey / generate-root / 전체 복구) 전용**으로만 사용한다. 평시 작업은 개인별 계정 + `vault-admin` policy 로 수행한다. + +### 초기 설정 + +부트스트랩 완료 후 한 번만: + +```bash +REPO_ROOT="$(pwd)" \ +VAULT_ADMIN_USERNAME='alice' \ +VAULT_ADMIN_PASSWORD='<초기 비밀번호>' \ +bash k8s/scripts/tasks/vault-setup-admin.sh +``` + +이 스크립트가 수행: +- `userpass` auth method 활성화 (idempotent) +- `vault-admin` policy 작성 (`secret/*`, `auth/*`, `sys/mounts/*`, `sys/audit/*` 등 관리 권한) +- `${VAULT_ADMIN_USERNAME}` 계정 생성 (token TTL 기본 8h / max 24h) + +### 운영자 로그인 — root token 사용 중단 + +```bash +# port-forward 로 vault CLI 접근 +kubectl -n mnt port-forward svc/vault 8200:8200 & +export VAULT_ADDR=http://127.0.0.1:8200 + +# 로그인 (로그인 시 발급되는 토큰은 8h 후 자동 만료) +vault login -method=userpass username=alice +# Password (will be hidden): <입력> +# Token is displayed and automatically cached in ~/.vault-token +``` + +첫 로그인 후 비밀번호 변경: + +```bash +vault write auth/userpass/users/alice/password password='<새 비밀번호>' +``` + +### root token 처리 + +`vault-init-keys.json` 에 있는 root token 은: + +1. **즉시 오프라인 금고 (1Password Team / 하드웨어 보안 금고 / 봉인 봉투) 로 이동** +2. 원본 파일에서 `root_token` 필드 삭제 (unseal keys 는 재부팅 시 필요하므로 유지) +3. root token 이 필요하면: + +```bash +# 기존 root token 유효하면 재사용 +vault login <root-token> + +# 분실/만료됐으면 재발급 (unseal key 쿼럼 필요) +vault operator generate-root -init +# 응답의 nonce 저장, unseal key 보유자들이 otp 로 제출 +vault operator generate-root -nonce=<nonce> -otp=<your-otp> <unseal-key-1> +vault operator generate-root -nonce=<nonce> -otp=<your-otp> <unseal-key-2> +vault operator generate-root -nonce=<nonce> -otp=<your-otp> <unseal-key-3> +# 마지막 응답에 Encoded Token 이 나옴 → otp 로 decode +vault operator generate-root -decode=<encoded> -otp=<your-otp> +# 새 root token 확보 후 기존 것 revoke: +vault token revoke <old-root-token> +``` + +### 운영자 계정 추가 / 제거 + +```bash +# 추가 +REPO_ROOT="$(pwd)" \ +VAULT_ADMIN_USERNAME='bob' \ +VAULT_ADMIN_PASSWORD='<임시 pw>' \ +bash k8s/scripts/tasks/vault-setup-admin.sh + +# 제거 +vault delete auth/userpass/users/bob +``` + +### 권한 분리 (추후 확장) + +`vault-admin` 은 전권 정책이다. 실무에서는 역할별 분리 권장: + +| 역할 | policy 이름 | 권한 범위 | +|---|---|---| +| 인프라 admin | `vault-admin` | 현재 정의된 전권 (rekey 제외) | +| 앱 팀 (read) | `secret-readonly` | `secret/data/*` read 전용 | +| 앱 팀 (write) | `secret-writer` | 팀별 경로 제한 (`secret/data/auth-server/*` 등) | +| 감사자 | `audit-reader` | `sys/audit/*` read + Vault audit log 접근 | + +각 policy 를 만들고 userpass user 생성 시 `token_policies=<policy-name>` 로 바인딩한다. + +### 감사 로그 활성화 (추후) + +Vault 자체 감사 로그는 기본 비활성. 운영에서는 반드시 활성화: + +```bash +# file 방식 +vault audit enable file file_path=/vault/logs/audit.log + +# socket 방식 (중앙집중 수집) +vault audit enable socket address=loki-syslog.monitoring.svc:514 socket_type=tcp +``` + +`statefulset.yaml` 의 volumeMounts 에 `/vault/logs` 를 추가해야 파일 방식 사용 가능. 별도 작업. + +--- + +## 3. bash history 에 비밀번호 남기지 않기 + +`VAR=value command` 형태로 env var 를 명령줄에 직접 적으면 **그대로 `~/.bash_history` 에 저장** 된다. 대응: + +### 권장 — 대화형 입력 + +```bash +bash k8s/scripts/bin/bootstrap.sh dev +# 프롬프트에서 무음 입력 (echo 안 됨) +``` + +본 프로젝트의 모든 시크릿 seed 스크립트 (`bootstrap.sh`, `tasks/vault-seed-apps.sh`, `tasks/vault-setup-admin.sh`) 는 env var 가 비어 있으면 TTY 에서 자동으로 `read -r -s` 프롬프트로 전환한다. + +### 비대화 (CI) 실행 시 + +어쩔 수 없이 env var 를 넣어야 할 때: + +```bash +# 이번 명령만 history 에 안 남기기 +HISTFILE=/dev/null \ +POSTGRES_SUPERUSER_PASSWORD='...' \ +KEYCLOAK_DB_PASSWORD='...' \ +AUTH_SERVER_DB_PASSWORD='...' \ +KEYCLOAK_ADMIN_PASSWORD='...' \ +MINIO_ROOT_PASSWORD='...' \ +bash k8s/scripts/bin/bootstrap.sh dev + +# 또는 세션 전체 history 비활성화 +set +o history +POSTGRES_SUPERUSER_PASSWORD='...' bash ... +set -o history +``` + +> **Tip**: `HISTCONTROL=ignorespace` 가 설정된 쉘이면 **명령 앞에 공백 1 칸** 넣어도 저장되지 않는다. 다만 쉘마다 설정이 다르니 `HISTFILE=/dev/null` 이 가장 확실. diff --git a/docs/standards/infra/STYLE.md b/docs/standards/infra/STYLE.md new file mode 100644 index 0000000..970bb8d --- /dev/null +++ b/docs/standards/infra/STYLE.md @@ -0,0 +1,275 @@ +# STYLE.md — 인프라 문서 공용 규약 (Single Source of Truth) + +이 문서는 `docs/standards/infra/**` 와 `docs/examples/infra/**` 에 등장하는 모든 라벨, 네이밍, 포트, 이미지, 리소스 관례의 **정규(normative)** 정의다. 다른 모든 문서의 YAML 조각은 예시이며, 여기 규약과 충돌할 경우 **이 문서가 우선한다.** AI 에이전트가 매니페스트를 생성할 때 관례가 문서 간 표류하는 것을 방지하려는 목적이다. + +--- + +## 1. 라벨 (Labels) + +### 1.1 Kubernetes well-known labels (`app.kubernetes.io/*`) + +공식 well-known set. 이 namespace 아래에는 아래 6개 외에 임의 키를 **추가하지 않는다.** + +| 키 | 의미 | 예시 | +| --- | --- | --- | +| `app.kubernetes.io/name` | 애플리케이션 이름 | `auth-server` | +| `app.kubernetes.io/instance` | 인스턴스 (환경/리전 포함 가능) | `auth-server-prod`, `auth-server` | +| `app.kubernetes.io/version` | semver 또는 release tag | `1.24.0` | +| `app.kubernetes.io/component` | 역할 | `api`, `worker`, `migration`, `database` | +| `app.kubernetes.io/part-of` | 상위 시스템 | `auth-platform` | +| `app.kubernetes.io/managed-by` | 배포 도구 | `kustomize`, `argocd`, `helm` | + +### 1.2 조직 커스텀 라벨 (`example.com/*`) + +`example.com/` namespace 는 문서 전용 플레이스홀더다. 실제 조직은 자사 도메인(e.g., `acme.corp/`)으로 치환한다. + +| 키 | 허용 값 | +| --- | --- | +| `example.com/environment` | `dev` \| `staging` \| `prod` | +| `example.com/owner-team` | 팀 slug (e.g., `auth-platform`, `sre`) | +| `example.com/cost-center` | 회계 코스트 센터 ID | +| `example.com/data-classification` | `public` \| `internal` \| `confidential` \| `restricted` | +| `example.com/tier` | `0` (critical) \| `1` \| `2` \| `3` (best-effort) | + +### 1.3 규칙 + +1. 모든 워크로드(Deployment / StatefulSet / DaemonSet / Job / CronJob)에는 위 6개 `app.kubernetes.io/*` 라벨 + `example.com/environment` + `example.com/owner-team` 이 **필수**다. +2. `app.kubernetes.io/environment` 라벨은 **사용 금지**. 공식 well-known set 에 없으며, 환경 라벨은 조직 namespace 아래에 둔다. +3. Selector (`spec.selector.matchLabels`)에는 **`app.kubernetes.io/name` 과 `app.kubernetes.io/instance` 만** 사용한다. 이유: selector 는 immutable 이고, `version` / `component` 이외 라벨은 릴리즈마다 바뀌기 때문에 selector 에 포함하면 rollout 이 막힌다. +4. 라벨 값은 DNS-1123 subdomain 또는 label 규칙을 따른다: 소문자 알파벳, 숫자, `-`, `.`, 최대 63자. 공백/대문자/언더스코어 금지. +5. 라벨은 metadata 의 최상위 `labels:` 와 Pod template 의 `spec.template.metadata.labels:` 에 **동일하게** 복제한다(선택자 일치 보장). + +```yaml +metadata: + name: auth-server + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + app.kubernetes.io/version: "1.24.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + example.com/environment: prod + example.com/owner-team: auth-platform +spec: + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +``` + +--- + +## 2. 네이밍 (Naming) + +### 2.1 Namespace + +1. 기본 스키마: `<env>-<domain>-<service>` — 예: `prod-auth-keycloak`, `staging-billing-api`. +2. 단일 서비스 네임스페이스에 여러 컴포넌트가 있으면 서비스 이름까지만 사용한다: `prod-auth` 네임스페이스 안에 Keycloak, PostgreSQL, Flyway Job 이 공존. +3. `default` 네임스페이스는 **금지**. `kube-*` 는 Kubernetes 예약. +4. 클러스터 공통 플랫폼 컴포넌트는 별도 접두어: `platform-vault`, `platform-cert-manager`, `platform-monitoring`. + +### 2.2 리소스 이름 + +케밥-케이스, 소문자. Service / ServiceAccount / Secret / ConfigMap 이름은 관련 워크로드 이름을 접두어로 공유한다. + +| 리소스 | 규약 | 예시 | +| --- | --- | --- | +| Deployment / StatefulSet | `<app>` | `auth-server` | +| Service (ClusterIP) | `<app>` (Deployment와 동일) | `auth-server` | +| Headless Service (StatefulSet peer 통신용) | `<app>-headless` (옆에 일반 ClusterIP `<app>` 병행) | `keycloak-headless`, `keycloak` | +| ServiceAccount | `<app>-sa` | `auth-server-sa` | +| Secret (앱 소유) | `<app>-<purpose>` | `auth-server-db`, `auth-server-oidc` | +| ConfigMap | `<app>-<purpose>` | `auth-server-config`, `auth-server-runtime` | +| PDB | `<app>-pdb` | `auth-server-pdb` | +| HPA | `<app>-hpa` | `auth-server-hpa` | +| NetworkPolicy | `<app>-<direction>-<peer>` | `auth-server-egress-db`, `auth-server-ingress-traefik` | +| Job (일회성) | `<app>-<action>-<timestamp-or-version>` | `auth-server-migrate-1-24-0` | +| CronJob | `<app>-<action>` | `auth-server-session-cleanup` | + +--- + +## 3. 포트 (Ports) + +### 3.1 이름 규약 + +모든 containerPort / servicePort 에는 `name` 필드가 **필수**다. 아래 이름은 예약어로 취급한다. + +| name | 용도 | 관행 포트 | +| --- | --- | --- | +| `http` | HTTP 앱 트래픽 | 8080 | +| `https` | HTTPS 직접 종료 | 8443 | +| `grpc` | gRPC | 9090 또는 앱별 지정 | +| `metrics` | Prometheus scrape | 9090 (kube-prometheus 관행). 컴포넌트가 이미 9090 을 쓰면 9100 | +| `health` | 별도 헬스/관리 포트 | Keycloak Quarkus 관리 포트 9000 등 | +| `admin` | 관리 UI | 컴포넌트별 | +| `cluster` | 내부 peer / 레플리케이션 | Vault 8201, Postgres 5432, etcd 2380 | + +### 3.2 규칙 + +1. `targetPort` 는 number 대신 **이름 참조**를 권장: `targetPort: http`. 이유: 컨테이너가 바인드 포트를 바꿔도 Service 쪽 조정이 필요 없다. +2. `metrics` 포트는 **외부 노출 금지**. ClusterIP 만 쓰며 NetworkPolicy 로 Prometheus 네임스페이스에서만 ingress 허용. +3. `health`, `admin` 포트는 Ingress 에 붙이지 않는다. NetworkPolicy 로 접근 대역을 제한한다. + +Container ports 스탠자 (Deployment/Pod spec 내부): + +``` +ports: +- name: http + containerPort: 8080 + protocol: TCP +- name: metrics + containerPort: 9090 + protocol: TCP +- name: health + containerPort: 9000 + protocol: TCP +``` + +Service 정의 (targetPort 는 이름 참조): + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: auth-server +spec: + selector: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod + ports: + - name: http + port: 80 + targetPort: http +``` + +--- + +## 4. 이미지 (Images) + +1. **prod 환경**: `<registry>/<path>@sha256:<digest>` 형태 digest pin **필수**. 뮤터블 태그(`:1`, `:latest`, `:main`) 금지. +2. **staging**: digest 권장, 최소 semver tag(`:1.24.0`) 허용. 절대 `:latest` 금지. +3. **dev**: semver tag 허용, `:latest` 지양 (로컬 / 노드 cache invalidation 이슈). +4. `imagePullPolicy`: + - digest 사용 시 `IfNotPresent` (이미지 콘텐츠는 immutable) + - 뮤터블 태그 사용 시 `Always` +5. 레지스트리: 조직 내부 미러가 우선한다. 예: `registry.example.com/<ns>/<app>`. Docker Hub 직접 pull 금지 (rate limit + 공급망 리스크). +6. SHA256 digest 로 pin 한 이미지는 CI 파이프라인에서 cosign 서명 검증(선택)과 `imagePullSecrets` digest 검증에 연결한다. + +```yaml +containers: +- name: app + image: registry.example.com/auth-platform/auth-server@sha256:9f0b2c4d8e7a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9d1e3f5a7b9c1d3e5f7a9b1c + imagePullPolicy: IfNotPresent +``` + +--- + +## 5. 리소스 (Resources) + +### 5.1 필수 필드 + +1. 모든 컨테이너는 `resources.requests.cpu`, `resources.requests.memory`, `resources.limits.memory` 를 **반드시** 설정한다. +2. `resources.limits.cpu` 는 **선택**이다. 레이턴시 민감 워크로드에만 설정한다. 이유: CFS throttling 으로 인한 p99 tail-latency 악화를 회피하려는 Tim Hockin / Google SRE 가이던스. + +### 5.2 QoS 클래스 + +1. `Guaranteed` — latency-critical (Keycloak, Vault, Postgres 등): `requests == limits`, CPU limit 도 설정. +2. `Burstable` — 일반 stateless 앱: `requests < limits` 또는 CPU limit 생략. +3. `BestEffort` — **금지**. requests/limits 를 생략한 워크로드는 PR 에서 블록. + +### 5.3 기본 가이드라인 (1000-서비스 스케일 기준 출발점) + +| 워크로드 | CPU req | Memory req / limit | +| --- | --- | --- | +| 일반 stateless API | 100m | 128–256Mi | +| 무거운 JVM (Keycloak, Elasticsearch) | 500m–1 | 1–2Gi (req == limit) | +| 배경 worker | 250m | 512Mi–1Gi | +| 전환성(transient) Job (Flyway) | 100m | 128Mi | + +실제 값은 부하 테스트 / VPA 권고 결과로 조정한다. + +--- + +## 6. 보안 기준선 (Security baselines — 모든 Pod) + +아래 블록은 **모든** Pod 의 최소 baseline 이다. 이걸 내린 설정은 security-hardening.md 의 예외 절차를 거쳐야 한다. + +```yaml +spec: + securityContext: + runAsNonRoot: true + runAsUser: 10001 # 앱별 고정 UID, 루트(0) 금지 + runAsGroup: 10001 + fsGroup: 10001 + seccompProfile: + type: RuntimeDefault + containers: + - name: app + image: registry.example.com/auth-platform/auth-server@sha256:... + imagePullPolicy: IfNotPresent + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: [ALL] + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + memory: 256Mi +``` + +--- + +## 7. PDB, Job, Deployment 기타 + +1. **PDB**: 1.27+ 에서 `spec.unhealthyPodEvictionPolicy: AlwaysAllow` **필수**. 기본값 `IfHealthyBudget` 은 노드 drain 중 복구 불가능한 Pod 가 evict 되지 못해 업그레이드가 멈추는 원인이 된다. +2. **Job / CronJob**: + - `spec.ttlSecondsAfterFinished: 86400` (24h) 기본. 민감 로그가 남는 경우 `3600` (1h). + - `spec.backoffLimit` 명시 (기본 6). 크리티컬 마이그레이션(Flyway)은 `0` 또는 `1` 로 줄여 재시도 폭주 방지. + - CronJob 은 `spec.concurrencyPolicy: Forbid` 를 기본값으로 둔다(중복 실행 금지). +3. **Deployment**: + - `spec.revisionHistoryLimit: 5` (기본 10 은 너무 많음 — etcd 부하). + - `spec.progressDeadlineSeconds: 600` 명시. + - `spec.strategy.rollingUpdate.maxUnavailable: 0` + `maxSurge: 25%` 가 안전한 기본. + +```yaml +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: auth-server-pdb +spec: + minAvailable: 2 + unhealthyPodEvictionPolicy: AlwaysAllow + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server-prod +``` + +--- + +## 8. 문서 내 예시 규약 + +1. 모든 YAML 예시는 ```` ```yaml ```` 펜스로 감싼다. 다른 언어 펜스 금지. +2. 한 파일에 여러 리소스가 등장하면 `---` separator 를 **명시적으로** 추가한다. +3. 예시는 원칙적으로 `kubectl apply -f` 로 바로 적용 가능한 완전체여야 한다. 지면상 생략할 때는 주석으로 표기: `# ... (full spec omitted for brevity)`. +4. 나쁜 예시(안티패턴)는 반드시 `## 나쁜 예시`, `## ❌`, 또는 `## bad example` 헤더 아래에 둔다. CI 검증 스크립트가 이 헤더 규약으로 나쁜 예시 블록을 제외한다. 헤더 없이 안티패턴을 노출하면 검증기가 정당한 예시로 오인해 lint 규칙 위반을 일으킨다. +5. 네임스페이스, 이미지 레지스트리, 도메인 이름은 `example.com`, `registry.example.com` 플레이스홀더를 사용한다. 실제 조직 도메인은 overlays 에서만 등장한다. + +--- + +## 검증 (Validation) + +이 문서의 규약은 CI 에서 기계 검증된다. + +- 실행: `k8s/scripts/ci/validate-docs.sh` +- Lint 설정 위치: `.kube-linter.yaml` (repo root) +- 목표 스코어: + - syntax 에러: **0** + - schema 에러: **0** + - lint warning: **≤ 5** + +syntax 또는 schema 에러가 있으면 PR 은 머지 불가. lint warning 이 임계치를 넘으면 리뷰어가 수정 또는 예외 주석을 요구한다. diff --git a/docs/standards/infra/architecture-environments.md b/docs/standards/infra/architecture-environments.md new file mode 100644 index 0000000..2b191a3 --- /dev/null +++ b/docs/standards/infra/architecture-environments.md @@ -0,0 +1,297 @@ +# infra architecture / environments 기준 + +## 목적 + +이 문서는 1000+ 서비스 규모의 K3s 기반 production 클러스터에서 +- 환경을 어떻게 나눌지 +- namespace / label / selector를 어떻게 고정할지 +- K3s 기본 컴포넌트와 GitOps source of truth를 어떻게 구분할지 +- cross-cluster / multi-region / DR(RPO·RTO)을 어떻게 문서화할지 + +를 먼저 고정한다. + +이 문서의 목표: + +- dev / staging / prod 환경 분리를 **label·namespace·selector 레벨에서** 일관되게 만든다 +- 서비스별 리소스 소유권(팀·도메인·컴포넌트)을 label로 쿼리 가능하게 한다 +- K3s packaged component와 사용자 AddOn을 혼동하지 않는다 +- 멀티 서버에서 `manifests/` 디렉터리를 source-of-truth로 쓰는 사고를 원천 차단한다 +- 이후 storage / secrets / ingress / workload / observability 표준의 전제 조건을 고정한다 + +## 공식 의미 (근거) + +- Kubernetes well-known label set (공식, SIG-Apps 공인): `app.kubernetes.io/{name,instance,version,component,part-of,managed-by}` — 총 6개. `environment`는 포함되지 **않는다** (`https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/`). +- `app.kubernetes.io/*` 외의 운영 차원(environment, team, tier, region 등)은 **자체 도메인 네임스페이스**(`example.com/*`)를 붙여 선언해야 한다. +- K3s는 `coredns`, `traefik`, `local-storage`, `metrics-server`를 packaged component로 제공한다. +- `/var/lib/rancher/k3s/server/manifests` 아래 파일은 서버 시작 시와 파일 변경 시 자동 적용된다(AddOn auto-deploy). +- packaged component manifest는 K3s가 재기록하므로 직접 수정 금지. +- 멀티 서버 K3s는 AddOn 파일을 자동 동기화하지 않는다. +- Kustomize v5+부터는 `labels:` 필드(기본 `includeSelectors: false`)가 `commonLabels`보다 안전한 기본이다. `commonLabels`는 항상 `selector.matchLabels`에 주입되며, Deployment/StatefulSet의 selector는 **immutable**이므로 운영 중 label 추가만으로 apply가 실패한다. +- GitOps 기본 apply 방식은 **Server-Side Apply** (`kubectl apply --server-side --field-manager=...`)다. CI/ArgoCD/Flux 모두 SSA 기본. + +## 기본 규칙 + +### 1. 환경은 명시적으로 분리하고 **label + namespace 양쪽에** 박는다 + +기본 환경: + +- `dev` +- `staging` +- `prod` + +필요 시 `sandbox` / `canary` / `dr`을 추가할 수 있으나 dev/staging/prod 의미를 흐리지 않는다. + +각 리소스는 두 곳에 동시에 환경이 드러나야 한다. + +- `metadata.namespace` — 물리적 격리 +- `metadata.labels["example.com/environment"]` — 쿼리·정책용 (well-known label에는 환경이 없으므로 **자체 도메인 label** 사용) + +### 2. 환경 간 혼합 배포 전면 금지 + +하나의 namespace / hostname / PVC / Secret / TLS cert scope 안에서 서로 다른 환경 리소스가 섞이지 않는다. + +금지: + +- `auth-dev`, `auth-prod`가 같은 namespace 공유 +- dev와 prod가 같은 ingress host (`auth.example.com`) 공유 +- staging과 prod가 같은 PostgreSQL schema / S3 bucket / Vault mount 공유 +- NetworkPolicy / ResourceQuota / LimitRange가 환경 경계를 걸치지 않음 + +### 3. namespace 전략은 “환경 prefix + 서비스 이름” 고정 + +1000+ 서비스 스케일에서 초기에 하나의 포맷을 박는다. 본 표준 권장은: + +``` +<env>-<domain>-<service> +``` + +예: + +- `prod-identity-auth` +- `prod-identity-keycloak` +- `staging-identity-auth` +- `dev-identity-auth` +- `prod-platform-ingress-nginx` +- `prod-data-postgres-identity` + +이유: + +- `kubectl -n prod-*` 와일드카드 RBAC / 모니터링 쿼리가 쉬움 +- `prod-` prefix로 PodSecurity admission (`pod-security.kubernetes.io/enforce=restricted`)을 one-shot으로 강제 가능 +- `default` namespace는 production workload 배포 전면 금지 + +### 4. `app.kubernetes.io/*` 6종은 전 리소스 필수 + +모든 워크로드·서비스·ingress·PVC·ConfigMap·Secret에 아래 6개가 반드시 붙는다. + +- `app.kubernetes.io/name` — 애플리케이션 이름 (예: `auth`) +- `app.kubernetes.io/instance` — 인스턴스 (예: `auth-prod`) +- `app.kubernetes.io/version` — semver 또는 image tag +- `app.kubernetes.io/component` — 역할 (예: `api`, `worker`, `database`) +- `app.kubernetes.io/part-of` — 상위 도메인 (예: `identity-platform`) +- `app.kubernetes.io/managed-by` — 관리 도구 (예: `kustomize`, `argocd`, `flux`) + +### 5. 운영 차원 label은 **자체 도메인**으로 선언 + +well-known label 6종으로 표현되지 않는 축은 다음 키로 고정한다. + +- `example.com/environment` — `dev|staging|prod|canary|dr` +- `example.com/team` — 소유 팀 (예: `identity-sre`) +- `example.com/tier` — `frontend|backend|data|platform` +- `example.com/data-classification` — `public|internal|confidential|restricted` +- `example.com/cost-center` — FinOps tag +- `example.com/slo-tier` — `tier-1|tier-2|tier-3` + +금지: + +- `app.kubernetes.io/environment` 사용 (well-known set에 없음) +- 도메인 없는 커스텀 키 (`environment: prod` 같은 top-level key) + +### 6. selector에 들어가는 label은 **불변 3종만** + +Deployment / StatefulSet의 `selector.matchLabels`는 일단 apply 후 수정 불가다. 여기에는 운영 중 **절대 바뀌지 않는** 값만 넣는다. + +허용: + +- `app.kubernetes.io/name` +- `app.kubernetes.io/instance` +- `app.kubernetes.io/component` + +금지 (selector에 넣지 말 것): + +- `app.kubernetes.io/version` (배포 때마다 바뀜) +- `app.kubernetes.io/managed-by` (툴 교체 시 drift) +- `example.com/environment` (overlay에서 주입되면 selector immutable 위반) + +### 7. K3s packaged component는 “기본 제공”일 뿐 “무조건 사용”이 아니다 + +다음 컴포넌트는 클러스터 bootstrap 초기에 유지/비활성 결정을 박는다. + +- `traefik` +- `servicelb` +- `local-storage` +- `metrics-server` +- `coredns` (교체는 특수 케이스) + +기본: + +- 무엇을 끄는지 Git에 기록 +- packaged manifest 직접 수정 금지 — `--disable` 플래그 또는 `HelmChartConfig` +- prod 1000-서비스 스케일에서는 traefik / servicelb 모두 disable 후 **ingress-nginx DaemonSet + MetalLB/외부 LB** 조합이 일반적 + +### 8. `/var/lib/rancher/k3s/server/manifests`는 source of truth 아님 + +이 디렉터리는 AddOn auto-deploy 경로다. +멀티 서버 환경에서 자동 동기화가 **안 되므로**, Git이 source of truth고 이 디렉터리는 apply sink에 지나지 않는다. + +기본: + +- Git repo의 `k8s/` 디렉터리가 SoT +- CI/ArgoCD/Flux가 `kubectl apply --server-side`로 push +- 서버별 scp / vim 절대 금지 +- 멀티 서버 bootstrap AddOn도 Git 관리(예: `k8s/bootstrap/*`를 첫 서버에만 배치) + +### 9. GitOps apply는 Server-Side Apply가 기본 + +``` +kubectl apply --server-side --field-manager=<ci-id> -k <overlay> +kubectl diff --server-side -k <overlay> +``` + +이유: + +- multi-controller 환경(ArgoCD + HPA + VPA + operator)에서 ownership 충돌을 `managedFields`로 명시적 해결 +- `last-applied-configuration` annotation 2MB 한계 회피 +- 3-way merge 실패로 인한 silent drift 제거 + +### 10. base는 환경 중립, overlay는 환경 차이만 + +이후 `kustomize.md`에서 상세히 다룬다. 이 문서에서는 원칙만 박는다. + +- `k8s/base/` — 공통 shape, 환경-agnostic +- `k8s/overlays/{dev,staging,prod}/` — patches / images / replicas / resources / labels + +overlay는 base를 재작성하지 않는다. overlay diff가 100줄을 넘으면 base 설계 실패 신호다. + +### 11. `app/managing/plugins` 책임 분리 + +`k8s/base/` 하위는 다음 3축으로 고정한다. + +- `app/units/<domain>/<service>/` — 애플리케이션 유닛 (auth, keycloak, test-server) +- `managing/` — Job/CronJob 운영 작업 (flyway-migrate, backup, restore, bootstrap admin) +- `plugins/` — 플랫폼 (ingress-controller, cert-manager, external-secrets, observability, policy) + +이 축은 **소유 팀이 다르다**는 가정 위에 있다. 각 축은 독립된 Git owner (CODEOWNERS)를 가진다. + +### 12. 상태 저장 / 외부 공개 범위를 architecture 단계에서 분류 + +모든 서비스는 아래 2축으로 초기 분류한다. + +| 축 | 값 | +|-----------------|-----------------------------------------------------------------| +| workload 성격 | `stateless` / `stateful` / `job` / `cronjob` / `daemonset` | +| 공개 범위 | `public` / `internal-only` / `operator-only` / `cluster-only` | + +예: + +- `auth-server` — stateless / public +- `keycloak` — stateless(앱) + stateful(외부 DB) / public (관리 포트는 internal-only) +- `vault` — stateful / operator-only (+ cluster-only service endpoint) +- `minio-tenant` — stateful / internal-only +- `postgres-identity` — stateful / cluster-only +- `fluent-bit` — daemonset / cluster-only +- `flyway-migrate` — job / cluster-only + +### 13. SLO·RPO·RTO를 환경 문서에서 먼저 박는다 + +환경 분리가 의미 있으려면 각 환경의 목표를 숫자로 고정해야 한다. 서비스 tier별로 아래 항목을 환경 문서에서 표로 둔다. + +| tier | availability SLO | RPO | RTO | backup 주기 | multi-AZ | PDB minAvailable | +|--------|------------------|------|------|-------------|----------|------------------| +| tier-1 | 99.95% | 5m | 15m | 15m | required | 50% | +| tier-2 | 99.9% | 1h | 1h | 1h | required | 1 | +| tier-3 | 99.5% | 24h | 4h | 24h | optional | 0 | + +tier는 `example.com/slo-tier` label로 리소스마다 붙는다. + +### 14. 멀티 서버 K3s는 critical config를 Git에서 통일 + +K3s multi-server에서는 아래가 모든 서버에서 동일해야 한다(불일치 시 `critical configuration value mismatch`로 join 실패). + +- `cluster-cidr`, `service-cidr`, `cluster-dns`, `cluster-domain` +- `disable` 플래그 세트 +- `flannel-backend` / CNI 관련 +- `embedded-registry` 활성화 여부 + +기본: + +- `/etc/rancher/k3s/config.yaml` Git 관리 +- 서버별 ad-hoc 수정 금지 +- 신규 서버 조인 전 `config.yaml` diff 확인 + +### 15. 공개 범위별 ingress host 패턴 고정 + +- public: `<service>.example.com` +- internal: `<service>.internal.example.com` +- operator: `<service>.ops.example.com` (mTLS + SSO 필수) +- cluster-only: ingress 없음, ClusterIP + NetworkPolicy로만 접근 + +### 16. 네이밍 규칙 정리 (요약) + +- namespace: `<env>-<domain>-<service>` +- Deployment/StatefulSet 이름: `<service>` (namespace로 환경 구분, 이름에 env 중복 금지) +- Service 이름: Deployment 이름과 동일 (headless면 `-headless` suffix) +- PVC 이름: `<service>-<purpose>-<ordinal>` (StatefulSet volumeClaimTemplate은 자동) +- Kustomize overlay 디렉터리: `overlays/<env>/<region>/` (멀티 region 시) + +## 추천 디렉터리 구조 + +```text +k8s/ + base/ + app/ + shared/ + units/ + identity/ + auth/ + kustomization.yaml + keycloak/ + kustomization.yaml + data/ + postgres-identity/ + kustomization.yaml + managing/ + flyway-migrate-identity/ + backup-postgres/ + plugins/ + ingress-nginx/ + cert-manager/ + external-secrets/ + kube-prometheus-stack/ + overlays/ + dev/ + kustomization.yaml + staging/ + kustomization.yaml + prod/ + kustomization.yaml + region-kr-main/ + region-kr-dr/ + bootstrap/ + k3s-addons-disabled/ + scripts/ + render.sh + diff.sh + apply.sh +``` + +## 프로젝트 기준 요약 + +- 환경 3종(`dev`/`staging`/`prod`) + namespace prefix 고정 +- well-known `app.kubernetes.io/*` 6개 + 자체 도메인 운영 label 필수 +- `app.kubernetes.io/environment` 사용 금지, `example.com/environment`로 대체 +- selector에는 불변 3종만 +- K3s packaged component는 초기에 disable 여부 결정, 직접 수정 금지 +- `manifests/`는 apply sink, Git이 SoT +- `kubectl apply --server-side` GitOps 기본 +- SLO / RPO / RTO 표가 환경 문서의 일부 diff --git a/docs/standards/infra/backup-restore.md b/docs/standards/infra/backup-restore.md new file mode 100644 index 0000000..5f9f3a6 --- /dev/null +++ b/docs/standards/infra/backup-restore.md @@ -0,0 +1,241 @@ +# backup / restore 기준 + +## 목적 + +이 문서는 K3s 및 일반 Kubernetes 인프라에서 +- 무엇을 백업해야 하는지 +- 어떤 도구/방식으로 백업할지 (Velero / CSI snapshot / pgBackRest / WAL-G / CNPG Barman) +- RPO / RTO를 어떻게 선언할지 +- 복구 단위와 절차를 어떻게 표준화할지 +- restore drill을 어떻게 운영할지 +를 먼저 고정한다. + +이 문서의 목표는 다음과 같다. + +- "PVC가 있으니 백업도 된 것"이라는 착각을 제거한다 +- "K3s etcd snapshot이 있으니 DB/PVC도 복구된다"는 오해를 제거한다 +- 선언형 원본, 제어 평면, 상태 저장소를 서로 다른 백업 대상으로 구분한다 +- 컴포넌트별 복구 전략과 도구를 먼저 정하고 YAML을 쓰게 한다 +- 실제 장애 시 복구 절차를 재현 가능하게 만든다 + +## 공식 의미 + +- K3s etcd snapshot은 **클러스터 API 상태**(namespaces, secrets encryption key, RBAC, CRD instance 등)만 백업한다. **PVC의 데이터 내용은 백업하지 않는다.** +- K3s snapshot에는 cluster CA 인증서/개인키와 secrets encryption 관련 데이터가 포함될 수 있다. +- 새 호스트로 K3s snapshot을 복구할 때는 snapshot 당시 사용한 server token이 필요하다. +- Velero는 CNCF 표준 K8s 백업 도구로 `Backup` / `Schedule` / `Restore` CRD와 object storage 백엔드(S3 / MinIO / GCS / Azure Blob)를 사용한다. +- Velero file-level backup: File System Backup (FSB, kopia/restic) — 모든 CSI/비-CSI 볼륨의 파일 내용을 복제. +- Velero volume-level backup: CSI snapshot — CSI driver가 지원하는 경우 블록 수준 snapshot. +- VolumeSnapshotClass의 `deletionPolicy: Retain`이면 VolumeSnapshot 삭제 후에도 VolumeSnapshotContent(클라우드 snapshot)는 남는다. +- PostgreSQL의 기본 physical backup 도구로는 `pg_basebackup`(standalone) 외에 **pgBackRest** 또는 **WAL-G**가 사실상 표준이다. CloudNativePG operator는 내장으로 **Barman Cloud**를 사용한다. +- `pg_dump`는 logical export이며 정기 production 전체 백업의 기본 도구로는 보통 적합하지 않다. +- MinIO `mc mirror`는 현재 객체만 동기화하며 버전 이력/전체 메타데이터 보존에는 적합하지 않다. +- MinIO bucket replication은 versioning을 전제로 하고, DR 상황에서 `resync`를 지원한다. + +## RPO / RTO 선언 + +모든 백업 대상은 아래 세 줄을 runbook에 먼저 적는다. + +- **RPO (Recovery Point Objective)**: 허용 가능한 데이터 손실 시간 +- **RTO (Recovery Time Objective)**: 허용 가능한 복구 시간 +- **Retention**: 백업 보존 기간 + +이 세 값이 비어 있으면 도구/스케줄을 선택할 수 없다. + +기본 tier 예시: + +| Tier | RPO | RTO | Retention | 대표 도구 | +|---|---|---|---|---| +| gold | 5분 | 30분 | 30일 | CNPG continuous WAL + CSI snap 매일 | +| silver | 1시간 | 2시간 | 14일 | Velero hourly + CSI snap | +| bronze | 24시간 | 24시간 | 90일 | Velero daily FSB | +| archive | 24시간 | 72시간 | 7년 | Velero weekly → Glacier / cold bucket | + +## 기본 규칙 + +### 1. 백업 대상은 세 층으로 분리 +1. **선언형 원본 (Git)**: Kustomize base/overlay, Helm values, Argo CD Application, 운영 문서/runbook, 스크립트 +2. **제어 평면 (K8s API state)**: K3s etcd snapshot / Velero API object backup +3. **상태 저장 데이터 (data plane)**: PVC / VolumeSnapshot, PostgreSQL 물리 백업, Vault raft snapshot, MinIO object data + +이 셋을 하나의 방식으로 뭉뚱그리지 않는다. 특히 **K3s etcd snapshot은 (3)을 커버하지 않는다.** + +### 2. Git은 배포 원본 백업이지 런타임 상태 백업이 아니다 +Git/Kustomize는 source of truth지만 runtime DB state, Vault secret state, MinIO object data, K3s cluster membership state를 복원해 주지 않는다. Git 백업만으로 운영 복구가 된다고 판단하지 않는다. + +### 3. K3s etcd snapshot은 제어 평면 전용 백업 +K3s etcd snapshot은 API server의 선언 상태만 백업한다. PVC 안의 파일 내용은 포함하지 않는다. + +기본: +- scheduled etcd snapshot 사용 (예: 6시간마다) +- local retention + S3/off-node retention 병행 +- snapshot에는 secrets encryption key와 CA private key가 포함될 수 있으므로 민감 정보로 취급 +- 저장 위치 암호화, 접근 통제, 보존 기간 통제, chain of custody 확인 +- 새 호스트 복구용 server token을 별도 위치에 보관 (같은 곳에 두면 동시 유출 위험) + +### 4. 상태 저장 데이터 백업은 Velero가 표준 +Kubernetes 수준에서 PVC / 네임스페이스 / CRD를 함께 백업/복구하려면 **Velero**를 기본 도구로 둔다. + +기본 구성: +- `BackupStorageLocation`: off-cluster S3 또는 cluster 외부 MinIO (같은 cluster 안 MinIO에 백업하지 않는다) +- `VolumeSnapshotLocation`: CSI driver 대응 +- `Schedule` CRD로 cron 기반 정기 백업 +- selector(`labelSelector`, `includedNamespaces`)로 tier별 스케줄 분리 +- TTL로 retention 관리 + +### 5. Velero FSB(kopia/restic) vs CSI snapshot 선택 +- **CSI snapshot**: 볼륨 수준 crash-consistent, 빠름, CSI driver 지원 필요. DB처럼 큰 볼륨에 적합. 클라우드 snapshot cost 고려. +- **File System Backup (FSB, kopia/restic)**: 파일 수준, 모든 볼륨에서 동작, 암호화/중복제거, 느림. local-path / hostPath / 비-CSI 볼륨에 적합. + +운영 기본: +- CSI snapshot이 가능한 볼륨은 CSI snapshot 우선 +- 크지 않은 설정/아카이브 볼륨은 FSB 허용 +- DB 볼륨은 CSI snapshot이어도 app-consistent hook(pre/post backup) 필요 + +### 6. 오프-클러스터 백업 저장소 필수 +백업을 **같은 K8s 클러스터 안**의 MinIO/S3에 두지 않는다. cluster 장애 = 백업 동시 소실이다. + +기본: +- 별도 리전/별도 account의 S3-호환 object storage +- bucket versioning 활성화 +- object-lock / WORM (규제 필요 시) +- 접근은 IRSA / Workload Identity / 최소권한 IAM + +### 7. VolumeSnapshotClass `deletionPolicy`는 정책에 맞춘다 +운영 gold tier 데이터의 VolumeSnapshotClass는 `deletionPolicy: Retain`을 기본으로 둔다. +이렇게 하면 K8s에서 VolumeSnapshot object가 지워져도 CSI driver의 실제 snapshot(VolumeSnapshotContent)은 남아서 사고 복구 여지를 준다. + +### 8. PostgreSQL은 logical / physical / continuous를 구분 +- `pg_dump` — logical export. 선택적 export, schema 비교, 마이그레이션 준비용. 프로덕션 전체 복구 기본값으로 두지 않는다. +- `pg_basebackup` — standalone base backup. 소규모/단순 케이스에 적합하지만 WAL archiving을 직접 구성해야 한다. +- **pgBackRest / WAL-G** — 프로덕션 표준. incremental / differential backup, parallel restore, retention, PITR, S3 업로드를 내장. +- **CloudNativePG (CNPG)** — K8s-native Postgres operator. 내장 **Barman Cloud**로 object storage에 WAL + base backup을 지속 업로드. `Backup` / `ScheduledBackup` CRD 제공. + +### 9. K8s 위 Postgres 운영 기본은 CloudNativePG +2026 기준 K8s 상에서 Postgres를 운영한다면 **CloudNativePG (CNPG)**를 기본 후보로 둔다 (CNCF sandbox). + +이유: +- `Cluster` CRD로 primary + standby 자동 관리, failover, rolling upgrade +- `backup` 섹션에서 Barman Cloud 기반 continuous archiving을 선언만 하면 동작 +- `Backup` (on-demand), `ScheduledBackup` (cron), PITR restore가 `Cluster.spec.bootstrap.recovery`로 표준화 +- Prometheus `PodMonitor` 내장 + +대안: +- **Zalando postgres-operator** — 오래된 생태계, Spilo 기반 +- **Crunchy PGO** — 상용 지원 강점, pgBackRest 내장 + +manual StatefulSet + sidecar는 1000개 서비스 규모에서는 권장하지 않는다. + +### 10. Keycloak DB는 애플리케이션과 분리된 DB 전략을 따른다 +Keycloak이 외부 PostgreSQL을 사용하면 Keycloak 복구는 애플리케이션 Pod 복구보다 DB 백업 전략에 크게 의존한다. Keycloak server manifest만 백업해서는 충분하지 않다. + +### 11. Vault는 storage mode에 따라 백업 방식을 다르게 본다 +- integrated storage (raft) → `vault operator raft snapshot save` 기본 +- external storage (Consul 등) → 해당 백엔드 백업 전략 +- dev mode → 운영 대상 아님 + +Vault snapshot 복구 테스트는 격리된 네트워크/환경에서 수행한다 (live credential revoke, 원치 않는 cluster 간 통신, 데이터 일관성 훼손 방지). + +### 12. MinIO는 PVC snapshot만으로 충분하다고 보지 않는다 +object store는 단순 PV 파일 복사 관점보다 object versioning / replication / resync 포함 전략으로 본다. + +기본: +- bucket versioning enabled +- 소스/대상 cluster replication configured +- DR 시 `mc replicate resync` 절차 문서화 +- `mc mirror`는 현재 객체 동기화 용도로만 제한 (버전 이력 보존 안 됨) +- 스토리지 layer snapshot은 보조 수단 + +### 13. stateless workload는 데이터보다 재현성을 백업 +다음은 기본적으로 런타임 파일 백업 대상이 아니다. + +- auth-server, ingress-controller, stateless test-server +- 외부 DB 사용 Keycloak 서버 자체 + +복구 핵심: +- Git / Kustomize / Helm values +- Config / Secret source (Vault Secrets Operator 기준) +- 이미지 digest +- 운영 문서 + +### 14. migration-flyway는 산출물이 아닌 migration source를 백업 +Flyway Job 자체나 container 파일시스템/PVC는 backup 대상이 아니다. 중요한 것은: + +- migration script (Git) +- migration ordering + schema history table 상태 (DB 백업으로 포함) +- Flyway 실행 이력 (CI/CD 로그, Argo Rollout 기록) + +### 15. 모든 백업은 "주기 + 보존기간 + 저장 위치 + 암호화 + 무결성 검증 + 복구 테스트"를 갖춘다 +파일만 남기고 정책이 없는 것을 백업 전략으로 보지 않는다. 최소 메타데이터: + +- Schedule cron 또는 RPO +- Retention TTL +- 저장 위치 (버킷, prefix, 리전) +- 암호화 방식 (SSE-S3 / SSE-KMS / client-side) +- 무결성 검증 (checksum, Velero `backup describe`의 errors) +- 복구 테스트 cadence + 마지막 성공 일자 + +### 16. restore drill은 표준 운영 절차 +복구 가능한지 확인하지 않은 백업은 신뢰하지 않는다. + +기본 cadence: +- 제어 평면 (K3s etcd / Velero): 분기별 1회 +- DB physical restore + PITR: 월 1회 +- Vault raft restore: 분기별 1회 +- MinIO replication resync: 반기별 1회 + +기록 항목: +- 실행 일자 +- 실행자 +- 대상 snapshot/backup ID +- 실제 RTO / 확인된 RPO +- 발견된 issue +- 다음 drill 예정일 + +최근 90일 내 성공 기록이 없는 백업은 "신뢰할 수 있는 백업"으로 보지 않는다. + +### 17. 복구 단위는 컴포넌트별로 다르게 정의 +| 컴포넌트 | 복구 단위 | 기본 도구 | +|---|---|---| +| K3s control plane | cluster snapshot | k3s etcd-snapshot | +| K8s API object (namespace 단위) | Velero Backup | Velero | +| PostgreSQL cluster | DB cluster 전체 + PITR | CNPG Backup / pgBackRest | +| PostgreSQL single database | logical dump | `pg_dump` (보조) | +| Vault | raft snapshot | `vault operator raft snapshot` | +| MinIO | bucket / object / site | mc replication + resync | +| stateless apps | namespace/service redeploy | Argo CD + Git | +| PVC 일반 | VolumeSnapshot / Velero FSB | Velero + CSI | + +모든 것을 "서비스 단위" 또는 "PVC 단위" 하나로만 보지 않는다. + +### 18. 백업 구성은 Git으로 관리되고 GitOps sync된다 +Velero `Schedule`, `BackupStorageLocation`, `VolumeSnapshotClass`, CNPG `ScheduledBackup`은 Argo CD / Flux로 동기화한다. kubectl 수동 편집 금지. + +### 19. 백업과 복구는 다른 문서와 연결 +다음 문서와 항상 연결한다. + +- `storage-pvc.md` (PVC tier ↔ snapshot class) +- `db-and-migration.md` (DB 복구 전략) +- `operations-runbook-upgrade-rollback.md` (장애 시 절차) +- `config-and-secrets.md` (Vault 백업) + +## 현재 스택 기본 권장안 + +- **K3s control plane**: etcd scheduled snapshot (6h) + S3 off-node 보관, server token 별도 안전 보관 +- **PostgreSQL**: CloudNativePG + Barman Cloud (continuous WAL + daily base backup), RPO 5분 +- **Vault**: integrated storage → raft snapshot 매일, 격리 환경에서 분기 1회 drill +- **MinIO**: bucket versioning + 별도 region으로 replication, mc resync runbook +- **PVC 일반**: Velero Schedule (tier별 분리) + CSI VolumeSnapshot +- **auth-server / ingress-controller / stateless**: Git + Argo CD 재현 +- **migration-flyway**: migration source는 Git, DB 상태는 CNPG 백업에 포함 + +## 프로젝트 기준 요약 + +- 백업 대상은 선언형 원본 / 제어 평면 / 상태 저장 데이터로 분리 +- K3s etcd snapshot은 PVC 데이터를 포함하지 않음 — 별도 Velero 필수 +- Velero를 Kubernetes 백업 표준으로, off-cluster 저장소에 보관 +- PostgreSQL은 CNPG + Barman Cloud (또는 pgBackRest / WAL-G) — `pg_dump`는 보조 +- VolumeSnapshotClass `deletionPolicy`를 tier에 맞게 (운영은 Retain) +- RPO/RTO/Retention을 tier로 선언 +- restore drill은 분기/월 단위 표준 cadence + 최근 성공 일자 기록 +- 백업 구성은 GitOps로 관리 diff --git a/docs/standards/infra/config-and-secrets.md b/docs/standards/infra/config-and-secrets.md new file mode 100644 index 0000000..927f2c1 --- /dev/null +++ b/docs/standards/infra/config-and-secrets.md @@ -0,0 +1,223 @@ +# config / secrets 기준 + +## 목적 + +이 문서는 1000+ 서비스 운영 클러스터에서 +- 무엇을 ConfigMap에 두고 무엇을 Secret/Vault에 두는지 +- 민감정보를 어떤 경로로 Pod에 주입하는지 (VSO / ESO / CSI / SealedSecrets / SOPS) +- Kubernetes Secret at-rest encryption을 어떻게 구성하는지 +- Image registry credential은 어떻게 다루는지 +를 단일 ground truth로 고정한다. + +이 문서의 목표는 다음과 같다. + +- 민감정보가 manifest/Git/image/log 어디에도 새지 않는다 +- Vault를 single source of truth로 두고 K8s Secret은 **파생 산출물**로만 존재 +- 주입 방식(envFrom/volume/CSI)과 source(VSO/ESO/Vault Injector)를 표준화 +- GitOps와 비밀 관리를 구조적으로 분리 + +## 공식 의미 (근거) + +- ConfigMap은 **비기밀** 데이터 저장용 API object. 최대 1MiB. +- Secret은 민감정보용 object. **data는 base64 encoded(암호화 아님)**. stringData는 생성 시 자동 base64. +- Secret은 기본적으로 etcd에 평문 저장(base64 decode가 암호화가 아님). Kubernetes는 **at-rest encryption을 운영에서 필수**로 권장. +- Secret 타입: `Opaque`, `kubernetes.io/tls`, `kubernetes.io/dockerconfigjson`, `kubernetes.io/service-account-token`, `bootstrap.kubernetes.io/token`, `kubernetes.io/basic-auth`, `kubernetes.io/ssh-auth`. +- **Vault Secrets Operator(VSO)**: Vault의 secret(KV v2, dynamic DB, PKI, AWS 등)을 Kubernetes Secret으로 sync하는 controller. CRD: `VaultConnection`, `VaultAuth`, `VaultStaticSecret`, `VaultDynamicSecret`, `VaultPKISecret`, `HCPVaultSecretsApp`. 앱은 그냥 K8s Secret을 `envFrom`/`volumeMounts`로 소비. +- **Vault Agent Injector**: Mutating webhook이 Pod에 sidecar/init container를 주입해 tmpfs에 비밀을 렌더링. K8s Secret을 **만들지 않는다**(Vault → file). +- **External Secrets Operator(ESO)**: AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, Vault 등 **외부 provider → K8s Secret sync**. VSO와 유사하지만 멀티 provider. +- **CSI Secret Store Driver**: volume으로만 마운트(K8s Secret 미생성, optionally mirror). Azure Key Vault, AWS Secrets Manager, GCP Secret Manager, Vault provider 존재. +- **Sealed Secrets (Bitnami)**: public key로 암호화된 `SealedSecret` CRD를 Git에 커밋 → controller가 cluster private key로 복호화해 K8s Secret 생성. GitOps 친화적. +- **SOPS**: 파일 수준 암호화(age/GPG/KMS) + kustomize/Helm/Flux plugin. Git 커밋 가능. +- `EncryptionConfiguration`은 API Server `--encryption-provider-config` 플래그로 지정. providers: `identity`(평문), `aescbc`, `aesgcm`, `secretbox`, `kms` v1/v2. +- K3s는 `--secrets-encryption` 플래그로 aescbc provider 활성화. + +## 기본 규칙 + +### 1. 분류: ConfigMap vs Secret vs Vault +#### ConfigMap +- host/port/base path +- feature flag +- timeout/retry/batch size +- 공개 가능한 application config (`application.yaml` 비기밀 부분) +- log level +- probe 관련 non-secret 설정 + +#### Kubernetes Secret (하지만 **Vault 파생**이 기본) +- DB password, OAuth client secret, signing key, API token +- TLS 인증서 (cert-manager가 자동 생성) +- imagePullSecret(`kubernetes.io/dockerconfigjson`) +- VSO/ESO가 sync한 Secret + +#### Vault (source of truth) +- 모든 운영 credential의 1차 저장소 +- DB dynamic credentials, PKI, transit encryption keys +- OIDC client secret, SMTP credential +- KV v2 path로 서비스별 격리 + +**원칙:** "조금이라도 민감하면 Vault/Secret 쪽". ConfigMap에는 절대 비밀 넣지 않는다. base64는 암호화가 아니다. + +### 2. Kubernetes Secret at-rest encryption 필수 +운영 클러스터는 API Server `--encryption-provider-config`로 Secret 자원을 암호화한다. 권장 순서: **KMS v2 > KMS v1 > aescbc > identity(금지)**. + +```yaml +apiVersion: apiserver.config.k8s.io/v1 +kind: EncryptionConfiguration +resources: + - resources: ["secrets"] + providers: + - kms: + apiVersion: v2 + name: platform-kms + endpoint: unix:///var/run/kmsplugin/socket.sock + cachesize: 1000 + timeout: 3s + - aescbc: + keys: + - name: fallback-2026-q1 + secret: <32-byte base64 key> + - identity: {} +``` + +- KMS 소켓/플러그인은 노드 hardening 대상. +- K3s는 `curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --secrets-encryption" sh -` 또는 config.yaml `secrets-encryption: true`. +- 기존 Secret은 `kubectl get secrets --all-namespaces -o json | kubectl replace -f -`로 강제 재암호화. +- 키 회전은 `kube-apiserver` restart + `replace` 절차를 ADR로 고정. + +### 3. Secret delivery 경로 우선순위 +1. **VSO** — 운영 기본. Vault KV v2/dynamic credential → K8s Secret → envFrom/volume. 앱 코드 변경 0. +2. **ESO** — 멀티 클라우드 provider 필요 시. API는 VSO와 유사하지만 `SecretStore`/`ClusterSecretStore` + `ExternalSecret`. +3. **CSI Secret Store Driver** — K8s Secret object를 아예 만들고 싶지 않을 때(volume only). SA별 scope가 필요한 sensitive mount. +4. **Vault Agent Injector** — 앱이 template engine을 필요로 할 때(JSON/XML 포맷 렌더링). K8s Secret 없음. +5. **SealedSecrets / SOPS** — GitOps 전용 + 소규모 클러스터 + VSO 미도입 환경. Git에 encrypted blob 커밋. +6. **Plain Secret manifest** — 운영 금지. 로컬/부트스트랩 한정. + +선택 기준: +- "Vault가 SoT이고 K8s Secret을 앱이 envFrom으로 소비" → VSO +- "멀티 클라우드/비-Vault provider" → ESO +- "K8s Secret 자체를 만들고 싶지 않음(audit/scope)" → CSI +- "앱이 Vault template로 renderng 필요" → Vault Agent Injector +- "Vault 없음 + Git에 커밋해야 함" → SealedSecrets/SOPS + +### 4. VSO CRD 사용 표준 +VSO는 Helm으로 `vault-secrets-operator` namespace에 설치되어 있다고 가정한다. + +- `VaultConnection` (namespace or cluster) — Vault address, CA bundle, TLS skipVerify=false +- `VaultAuth` — auth method(kubernetes, jwt, approle). kubernetes auth 기본. +- `VaultStaticSecret` — KV v2 secret → K8s Secret +- `VaultDynamicSecret` — Postgres/MySQL/AWS dynamic credentials +- `VaultPKISecret` — PKI engine → `kubernetes.io/tls` Secret +- `HCPVaultSecretsApp` — HCP Vault Secrets 소비 + +모든 CRD는 같은 namespace 안에서 선언하고, 결과 Secret의 이름은 서비스명 규칙을 따른다. + +### 5. Vault path 규칙 + auth policy +- KV v2 path: `kv/data/<team>/<service>/<env>/<component>` (예: `kv/data/identity/auth-server/prod/db`) +- Vault role은 namespace + service account로 제한: + ``` + bound_service_account_names=auth-server + bound_service_account_namespaces=auth-prod + ``` +- Vault policy는 `path "kv/data/identity/auth-server/prod/*" { capabilities = ["read"] }` 수준으로 scope. +- dynamic credential TTL은 pod 수명과 맞춘다(예: Postgres role 24h, auto-renew). + +### 6. 주입 방식: envFrom vs volume +- **envFrom** — 전체 Secret의 key를 env로 투사. 간단, 12-factor 친화. 하지만 프로세스 env는 sub-process 상속, `/proc/<pid>/environ` 노출 위험. +- **volume** — 파일로 마운트(`/var/run/secrets/<name>`). 권장 in-memory(`readOnly: true`). 민감 key는 volume 우선. +- **envFrom + volume 혼합** 허용(db env는 env, signing key는 volume). +- **subPath**는 사용 금지(Secret 업데이트가 자동 반영 안 됨). + +### 7. 한 Pod 내에서도 필요한 컨테이너에만 주입 +- sidecar(metrics, proxy)에는 secret 전달 금지. +- Pod `volumes`로 선언하더라도 각 컨테이너 `volumeMounts`는 필요한 컨테이너에만. + +### 8. Secret/ConfigMap naming +- 패턴: `<service>-<purpose>` (`auth-server-db`, `auth-server-oidc-client`, `keycloak-db`). +- 금지: `common-*`, `shared-*`, `global-*` (스코프가 불분명하고 권한 팽창 원인). + +### 9. immutable Secret/ConfigMap +- 변경 빈도 낮은 `kubernetes.io/tls`, 앱 release-tied config는 `immutable: true` 검토. +- immutable이면 수정 불가 → 삭제 후 재생성 + rollout 필요. VSO가 갱신하는 Secret은 immutable 금지. + +### 10. Kustomize generator 사용 기준 +- `configMapGenerator` — 비기밀 설정에 허용. hash suffix로 rollout 트리거. +- `secretGenerator` — **운영 금지**. 로컬/테스트/부트스트랩 한정. +- 운영은 VSO/ESO/SealedSecrets 경로. + +### 11. Image pull secret +- 타입: `kubernetes.io/dockerconfigjson`. +- 구조: + ```json + { + "auths": { + "registry.example.com": { + "username": "ci-bot", + "password": "<token>", + "auth": "<base64(username:password)>" + } + } + } + ``` +- SA의 `imagePullSecrets`에 연결 → Deployment마다 반복 선언 불필요. +- Registry credential 자체도 VSO로 Vault → `kubernetes.io/dockerconfigjson` Secret sync(VSO `VaultStaticSecret.destination.type: kubernetes.io/dockerconfigjson`). + +### 12. image 지정: digest pin 기본 +- mutable tag(`latest`, `main`, `dev`)는 `imagePullPolicy: Always` + staging 환경에만. +- 운영은 `image: registry.example.com/auth-server@sha256:<digest>` 고정. `imagePullPolicy: IfNotPresent` 충분. +- digest는 CI가 release 시 생성하고 GitOps manifest(ArgoCD)에 커밋. +- Kyverno/Gatekeeper로 namespace `auth-prod`의 Pod image가 `@sha256:`를 포함하도록 enforce. + +### 13. Secret 접근 RBAC +- `secrets` 리소스의 `list`/`watch`는 controller(VSO, cert-manager, argo-cd)에만 허용. +- 일반 workload는 `get` + `resourceNames` 배열로 제한. +- 같은 namespace에서 Pod 생성 권한은 Secret 간접 접근이 될 수 있음을 전제로 RBAC 설계(namespace 분리). + +### 14. 민감정보 로깅/에러 보호 +- 앱은 비밀을 평문 로그, 예외 메시지, telemetry attribute, debug endpoint에 포함 금지. +- Exception handler는 `password`, `token`, `secret`, `authorization` 포함 필드 자동 redact. +- APM/Logging pipeline에도 scrub rule 추가. + +### 15. Secret 회전 +- dynamic credential: VSO `VaultDynamicSecret`이 TTL 전에 자동 renew/rotate + Pod rollout trigger(`rolloutRestartTargets`). +- static credential: VSO `refreshAfter` + Vault rotate cron + `rolloutRestartTargets`로 Deployment 자동 rolling. +- TLS cert: cert-manager가 `renewBefore`에 맞춰 회전. Pod는 `reloader` annotation 또는 webhook으로 rollout. + +### 16. 설정 타입과 도메인 타입 분리 +- `@ConfigurationProperties` / `application.yaml`은 설정 계약. +- 도메인 Value Object는 config에서 복사하되 config 타입을 도메인에 노출하지 않는다. +- 테스트에서는 config를 직접 주입할 수 있어야 한다(포트 바인딩, spring profile). + +### 17. 환경별 overlay +- `base/` — 공통 ConfigMap/Service/Deployment/RBAC +- `overlays/{dev,staging,prod}/` — 환경별 patch(`replicas`, `resources`, `image digest`, `ingress host`) +- Secret은 **overlay에 plain 저장 금지**. VSO CRD도 prod overlay에서 Vault mount path만 override. + +### 18. 현재 스택 기본 권장안 + +#### auth-server / test-server / keycloak +- ConfigMap: `application.yaml` 비기밀 +- Secret 경로: VSO `VaultStaticSecret`(OIDC client) + `VaultDynamicSecret`(Postgres role) +- 주입: envFrom(DB creds) + volume(signing key 파일) + +#### migration-flyway +- short-lived Job +- SA token automount false +- VSO `VaultDynamicSecret`이 migration 전용 Postgres role을 짧은 TTL로 발급 + +#### vault +- Vault server 자체의 unseal key는 cluster 밖(HSM/KMS/cloud KMS auto-unseal) +- bootstrap token은 `vault-bootstrap` namespace에 at-rest encrypted Secret으로 저장, 사용 후 삭제 + +#### registry +- `kubernetes.io/dockerconfigjson` Secret은 VSO로 Vault KV에서 sync +- namespace SA `imagePullSecrets`에 연결 + +## 프로젝트 기준 요약 + +- ConfigMap = 비기밀, Secret = 민감정보, Vault = source of truth +- Kubernetes Secret at-rest encryption(KMS 우선, aescbc 최소) 필수 +- Secret delivery 우선순위: VSO > ESO > CSI > Vault Agent Injector > SealedSecrets/SOPS +- 운영 Secret generator/plain Secret manifest 금지 +- image는 digest pin + private registry, `kubernetes.io/dockerconfigjson` Secret은 SA imagePullSecrets 연결 +- Secret 주입은 필요한 컨테이너/필요한 key만, env보다 volume 우선 +- RBAC은 namespace Role + `resourceNames` + list/watch controller 전용 +- 회전은 VSO/cert-manager + rolloutRestart 자동화 diff --git a/docs/standards/infra/db-and-migration.md b/docs/standards/infra/db-and-migration.md new file mode 100644 index 0000000..7828939 --- /dev/null +++ b/docs/standards/infra/db-and-migration.md @@ -0,0 +1,305 @@ +# db / migration 기준 + +## 목적 + +이 문서는 Kubernetes 상의 PostgreSQL과 Flyway를 기준으로 +- 데이터베이스를 어떻게 나눌지 +- 어떤 operator / 도구로 운영할지 (CNPG, Zalando, Crunchy, self-managed StatefulSet) +- migration을 어디서 어떻게 실행할지 +- migration과 배포(Helm / Argo CD)의 순서를 어떻게 보장할지 +- validate / migrate / rollback / backup / PITR을 어떤 순서로 볼지 +- zero-downtime을 위한 expand-migrate-contract를 어떻게 적용할지 +를 먼저 고정한다. + +이 문서의 목표는 다음과 같다. + +- app rollout과 schema 변경을 분리한다 +- Keycloak DB와 auth-server DB 경계를 먼저 고정한다 +- Flyway를 앱 시작 로직에 숨기지 않는다 +- PostgreSQL backup/restore 전략과 migration 전략을 함께 본다 +- 1000+ 서비스 규모에서 일관된 migration Job 표준을 만든다 + +## 공식 의미 + +- `pg_dump`는 logical export다. 정기 production 전체 백업 기본값으로는 보통 적합하지 않다. +- `pg_basebackup`은 실행 중인 PostgreSQL cluster의 base backup을 만들며 PITR/standby 시작점으로 쓴다. +- PostgreSQL PITR은 base backup + WAL archiving 결합이다. +- 운영 표준 물리 백업 도구: **pgBackRest**, **WAL-G**. 또는 operator-native (CNPG Barman Cloud, Crunchy PGO). +- PostgreSQL의 **대부분 DDL은 트랜잭션 내에서 실행 가능**하지만, `CREATE INDEX CONCURRENTLY`, `REINDEX CONCURRENTLY`, `ALTER TYPE ... ADD VALUE`, `VACUUM`은 트랜잭션 밖에서만 실행된다. +- CloudNativePG operator는 CNCF Sandbox 프로젝트로 K8s-native Postgres 운영 표준 후보다. +- Flyway `validate`는 적용된 migration과 로컬 migration 사이의 이름/타입/checksum 차이, 로컬에 없는 적용 버전, 아직 적용되지 않은 로컬 버전을 검증한다. +- Flyway `validateOnMigrate` 기본값은 `true`, `cleanDisabled` 기본값은 `true` (Flyway 9+). +- Flyway `migrate`는 schema history table을 자동 생성하고 최신 migration까지 적용한다. +- Flyway Community(OSS)는 **undo(U__) migration을 지원하지 않는다.** Undo는 Teams/Enterprise 전용이다. +- Flyway는 migration 실행 시 schema history table에 advisory lock을 걸어 동시 실행을 방지한다. + +## RPO / RTO + +모든 DB는 다음을 runbook에 먼저 적는다. + +- RPO / RTO / Retention +- 복구 목표 (cluster restore / PITR / standby seed) +- 운영 tier (gold / silver / bronze) + +이 값들이 없으면 backup 도구 선택이 되지 않는다. `backup-restore.md` 참조. + +## 기본 규칙 + +### 1. DB 경계는 애플리케이션 경계보다 먼저 고정 +다음을 명시적으로 정한다. + +- Keycloak DB와 auth-server DB를 **물리적 cluster**로 분리할지, 같은 cluster 내 **logical DB / schema**로 분리할지 +- test-server가 DB를 가지는지 +- migration 소유권이 누구에게 있는지 (보통 서비스 팀) + +기본: +- 인증 critical data (Keycloak)와 앱 data (auth-server)는 **cluster 분리 권장** +- 같은 cluster를 쓰더라도 database / role / schema ownership을 섞지 않음 +- 한 migration tool/job이 여러 서비스 schema를 동시에 소유하지 않음 + +### 2. K8s 위 Postgres 운영 기본은 operator +1000+ 서비스 규모에서 self-managed StatefulSet은 운영 부담이 너무 크다. Operator를 기본 후보로 둔다. + +우선순위 (2026 기준): +1. **CloudNativePG (CNPG)** — CNCF Sandbox, K8s-native, Barman Cloud 내장, `Cluster` / `Backup` / `ScheduledBackup` CRD +2. **Crunchy PGO** — 상용 지원, pgBackRest 내장 +3. **Zalando postgres-operator** — Spilo 기반, 레거시 환경 + +operator를 쓰면 자동으로 얻는 것: +- primary/standby 구성 + failover +- rolling minor upgrade +- WAL archiving + continuous backup +- pg_basebackup, PITR, replica re-clone +- PodMonitor 연동 + +### 3. migration은 앱 startup에 숨기지 않는다 +Flyway migration은 **독립 실행 단계**다. + +기본: +- `validate` → (필요시 `info`) → `migrate` → app rollout + +기본 금지: +- app container 시작 시 자동 migration (Spring Boot `spring.flyway.enabled=true` + `@SpringBootApplication` 부팅 시 migrate) +- readiness/liveness와 migration 실패를 섞는 구조 +- "서버가 뜨면 알아서 schema를 맞춘다" 방식 + +### 4. Flyway 실행 기본값은 Kubernetes Job +운영 환경에서 Flyway는 다음 중 하나로만 실행한다. + +- Kubernetes Job (권장) +- CI/CD 명시 단계 +- 운영자 명시 실행 절차 + +장기 실행 Deployment에 넣지 않는다. Flyway 예시는 `examples/infra/flyway.md` 참조. + +### 5. migration Job은 배포 흐름 안에서 app보다 먼저 실행 +migration을 app보다 **선행**시키는 것은 manifest 메타데이터로 선언한다. + +패턴 A — Helm hook: +```yaml +metadata: + annotations: + "helm.sh/hook": "pre-upgrade,pre-install" + "helm.sh/hook-weight": "-10" + "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" +``` + +패턴 B — Argo CD sync wave + hook: +```yaml +metadata: + annotations: + argocd.argoproj.io/sync-wave: "-1" + argocd.argoproj.io/hook: Sync + argocd.argoproj.io/hook-delete-policy: BeforeHookCreation +``` + +기본: +- migration은 sync wave가 app보다 **작은** 값 (먼저 실행) +- app Deployment는 wave `0` 또는 그 이상 +- Helm과 Argo CD를 혼용하는 경우 **한 쪽으로 통일** (둘 다 hook을 걸면 순서가 꼬인다) + +### 6. migration Job 안전 설정 +모든 migration Job은 다음을 명시한다. + +- `parallelism: 1` — 병렬 실행 금지 (Flyway advisory lock이 막아주지만, Job 수준에서도 명시) +- `completions: 1` +- `backoffLimit: 0` 또는 작은 값 (1~2) — 실패 시 무한 재시도 금지 +- `activeDeadlineSeconds` — 타임아웃 (예: 1800) +- `ttlSecondsAfterFinished` — 완료 후 자동 정리 (예: 86400) +- `restartPolicy: Never` +- 이미지는 **digest pinning** (`flyway/flyway@sha256:...`) +- `resources.requests/limits` 명시 +- `securityContext` restricted PSA 준수 + +### 7. validate를 먼저, migrate를 나중에 +운영 절차 기본 순서: +1. `flyway info` (pending migration 확인) +2. `flyway validate` +3. `flyway migrate` +4. `flyway info` (결과 확인) +5. app rollout + +`validateOnMigrate=true` 기본값이 있더라도, 운영 runbook에서는 validate 단계를 **분리 Job** 또는 **initContainer**로 분리한다. `examples/infra/flyway.md` 참조. + +### 8. migration source는 Git이 source of truth +중요한 것은 아래다. + +- versioned migration script (`V__`) +- repeatable migration script (`R__`) +- migration ordering +- schema history table 상태 + +기본 금지: +- 운영 서버에서 migration 파일 수동 수정 +- 적용된 migration 파일을 사후 편집 (checksum mismatch) +- Flyway schema history table을 사람이 직접 UPDATE/DELETE + +### 9. Flyway undo(U__)는 쓰지 않는다 +Flyway Community(OSS)는 **U__ 파일을 지원하지 않는다**. Teams/Enterprise에서만 `undo` 명령이 동작한다. + +기본: +- undo migration 파일을 만들지 않음 +- rollback은 forward-only migration + PITR로 수행 +- 운영 기본은 "다음 migration으로 앞으로 수정" + +### 10. DB backup 전략과 migration 전략을 같이 본다 +schema 변경이 production에 들어간다면, 같은 변경 계획 안에 아래가 같이 있어야 한다. + +- rollback 가능 여부 +- 변경 직전 backup 시점 (예: on-demand CNPG `Backup` 실행) +- restore 단위 (전체 cluster / logical DB) +- PITR 필요 여부 + targetTime 후보 +- migration 실패 시 중단 지점 (어느 V__에서 멈췄는지) + +### 11. PostgreSQL 운영 기본 백업은 continuous physical backup +운영 기본 복구 목표가 cluster-level restore / PITR / standby seed 중 하나면 continuous WAL archiving + base backup이 기본이다. + +도구 선택: +- K8s + CNPG → Barman Cloud (내장) +- K8s + Crunchy → pgBackRest (내장) +- 자체 운영 → pgBackRest 또는 WAL-G + +`pg_dump`는 다음 용도로 제한: +- 선택적 logical export +- 로컬/테스트 seed +- 일부 schema/table 보존 +- migration 검증용 비교 데이터 + +### 12. PITR 필요 여부를 초기에 결정 +다음 질문에 "예"면 PITR을 우선 검토한다. + +- 잘못된 migration/DDL을 특정 시점 직전으로 되돌려야 하는가 +- 운영 데이터 손실 허용 시간이 짧은가 (RPO < 1h) +- 인증 관련 데이터 정합성이 중요한가 + +### 13. schema ownership은 서비스별로 분리 +기본: +- auth-server schema는 auth-server 팀이 소유 +- keycloak schema는 keycloak이 소유 +- 공용 schema 남발 금지 +- "편해서" 하나의 migration 프로젝트로 통합 관리 금지 + +### 14. Flyway history table 전략을 먼저 고정 +초기에 결정: + +- `flyway.table` (기본 `flyway_schema_history`) +- `flyway.defaultSchema` +- `flyway.schemas` +- `flyway.createSchemas` +- 필요 시 `flyway.initSql` + +기본: +- history table을 service별 schema에 배치 (예: `auth_server.flyway_schema_history`) +- 여러 서비스의 history table을 하나의 schema에 몰지 않음 + +### 15. baseline / repair는 예외 절차 +baseline과 repair는 정상 운영 흐름이 아니다. + +허용 예: +- legacy DB를 처음 Flyway 관리로 편입 (baseline) +- 의도적 migration 수정 후 공식 절차로 checksum 회복 (repair) +- history corruption 복구 (repair) + +기본 금지: +- CI/CD에서 습관적 baseline/repair +- validate 오류를 없애기 위해 무분별하게 repair + +### 16. migration은 forward-only를 기본값으로 +운영 기본값: +- 새 migration으로 앞으로 수정 +- rollback용 SQL을 미리 기대하지 않음 +- 실패 시 restore/PITR 또는 다음 migration으로 교정 + +### 17. Keycloak DB와 auth-server DB는 따로 본다 +둘 다 PostgreSQL을 써도 운영 기준은 별도로 둔다. + +- migration 파이프라인 분리 +- backup/restore 영향도 분리 +- schema/table ownership 분리 +- 버전 업그레이드 절차 분리 +- Keycloak은 자체 migration을 내장하므로 **Flyway로 관리하지 않는다** + +### 18. test-server는 DB를 기본 전제로 두지 않는다 +test-server가 DB 연결이 없으면 migration 대상 아님, DB secret 불필요, rollout 절차도 DB 의존 없이 단순화된다. + +### 19. destructive migration은 expand → migrate → contract +Zero-downtime을 위한 3단계 릴리즈: + +1. **Expand** — 새 컬럼/테이블 추가 (NULL 허용 또는 default 값 있음). 기존 앱 호환. +2. **Migrate** — 앱을 새 스키마 기준으로 배포 + 데이터 backfill. +3. **Contract** — 기존 컬럼/테이블/제약 제거. 한 릴리즈 이상 뒤. + +각 단계는 **별도 릴리즈**로 나간다. 같은 릴리즈에서 expand와 contract를 같이 하지 않는다. + +인증/권한/토큰 관련 테이블은 특히 보수적으로. + +### 20. DB 변경은 애플리케이션 호환성 윈도우를 고려 +migration 문서는 다음을 포함한다. + +- 이전 앱 버전과 호환 여부 +- 새 앱 버전과 호환 여부 +- 중간 배포 구간에서 허용되는 상태 (N-1 ↔ N 동시 운영 가능 여부) +- 롤백 시 DB가 이미 바뀐 상태일 때의 대응 + +### 21. 대용량 / long-running DDL은 트랜잭션 밖에서 +Postgres에서 다음은 트랜잭션 밖에서 실행해야 한다. + +- `CREATE INDEX CONCURRENTLY` +- `REINDEX CONCURRENTLY` +- `ALTER TYPE ... ADD VALUE` (Postgres 12+에서는 트랜잭션 내에서도 제한적으로 가능) +- `VACUUM` + +Flyway에서는 해당 migration 파일 상단에 다음을 적는다: +```sql +-- flyway:executeInTransaction=false +CREATE INDEX CONCURRENTLY idx_users_email ON users(email); +``` + +### 22. restore 테스트 없는 backup/migration 전략 금지 +다음은 반드시 drill이 있어야 한다. + +- PostgreSQL base backup 복구 +- WAL/PITR 절차 +- Flyway 적용 후 실패 시 중단 및 복구 절차 +- Keycloak/auth-server 개별 DB restore 절차 + +## 현재 스택 기본 권장안 + +- **auth-server DB**: CNPG `Cluster` 3 instances, Barman Cloud, RPO 5분, Flyway Job으로 migration +- **keycloak DB**: CNPG `Cluster` 별도, Keycloak 자체 migration (Flyway 밖) +- **test-server**: DB 없음 +- **migration-flyway**: Kubernetes Job (Helm/Argo hook), 앱 Deployment보다 먼저 실행 +- **backup**: CNPG Barman continuous WAL + daily base backup, `pg_dump`는 보조 + +## 프로젝트 기준 요약 + +- app rollout과 migration을 분리 (app startup migration 금지) +- Postgres on K8s는 CNPG operator를 기본 후보로 +- migration Job은 Helm hook 또는 Argo CD sync wave로 app보다 먼저 실행 +- migration Job은 `parallelism: 1`, `backoffLimit: 0`, digest pinning, restricted PSA +- Flyway undo(U__) 파일 만들지 않음 (OSS 미지원) +- validate → migrate → app rollout 순서 +- CNPG Barman Cloud (또는 pgBackRest / WAL-G) 물리 백업 + PITR, `pg_dump`는 보조 +- schema ownership은 서비스별 분리 +- destructive migration은 expand → migrate → contract, 여러 릴리즈에 걸쳐 +- non-transactional DDL은 `-- flyway:executeInTransaction=false` diff --git a/docs/standards/infra/flyway.md b/docs/standards/infra/flyway.md new file mode 100644 index 0000000..410395b --- /dev/null +++ b/docs/standards/infra/flyway.md @@ -0,0 +1,304 @@ +# Flyway 기준 + +## 목적 + +이 문서는 PostgreSQL 기반 서비스에서 Flyway를 +- 어디서 실행할지 (Kubernetes Job) +- 어떤 순서로 실행할지 (validate / info / migrate / app rollout) +- 어떤 배포 흐름과 맞물릴지 (Helm hook / Argo CD sync-wave) +- config를 어떻게 공급할지 (env var + Secret via Vault Secrets Operator) +- schema history table을 어떻게 둘지 +- baseline / repair / out-of-order / undo를 어떻게 다룰지 +- non-transactional DDL을 어떻게 처리할지 +를 먼저 고정한다. + +이 문서의 목표는 다음과 같다. + +- Flyway를 앱 startup 내부 로직처럼 숨기지 않는다 +- validate / migrate / repair / baseline의 역할을 분리한다 +- schema history table을 운영 감사 추적의 일부로 본다 +- migration Job을 1000+ 서비스 규모에서 재현 가능하게 표준화한다 +- DB 변경을 애플리케이션 rollout과 분리해 운영한다 + +## 공식 의미 + +- Flyway `validate`는 적용된 migration과 로컬 migration 사이의 이름/타입/checksum 차이, 로컬에 없는 적용 버전, 아직 적용되지 않은 로컬 버전을 검증한다. +- `migrate`는 schema history table이 없으면 자동 생성하고 최신 migration까지 적용한다. +- schema history table은 migration 실행 내역, checksum, 성공/실패 상태를 기록하는 audit trail이다. +- `repair`는 schema history table을 수정하는 명령이며, 실패한 migration 엔트리 제거, checksum/description/type 재정렬, missing migration 삭제 표시를 수행한다. user object는 정리하지 않는다. +- schema history table 기본 이름은 `flyway_schema_history`다. +- schema history table 위치는 `table`, `defaultSchema`, `schemas`로 제어할 수 있다. +- `createSchemas=false`일 때 history table이 들어갈 schema가 미리 준비되지 않으면 migrate가 실패할 수 있다. +- 기존 non-empty schema에 Flyway를 도입할 때 history table이 없으면 `baseline` 또는 `baselineOnMigrate`가 필요할 수 있다. +- schema history에는 `Pending`, `Success`, `Missing`, `Out of Order`, `Outdated`, `Superseded`, `Deleted` 등 상태가 기록될 수 있다. +- Flyway는 migration 실행 중 schema history table에 **advisory lock**을 걸어 동시 실행을 직렬화한다. 다중 replica Job 수준의 race를 방지한다. +- `cleanDisabled`는 Flyway 9 이후 기본 `true`. production에서는 반드시 `true`를 명시한다. +- Flyway 8.2+ 에서 `-- flyway:executeInTransaction=false` directive로 migration 파일 단위 트랜잭션 비활성화가 가능하다. +- Flyway Community(OSS)는 **undo(U__) migration을 지원하지 않는다.** Undo는 Teams/Enterprise 상용 기능이다. +- 환경변수 config 지원: `FLYWAY_URL`, `FLYWAY_USER`, `FLYWAY_PASSWORD`, `FLYWAY_LOCATIONS`, `FLYWAY_SCHEMAS`, `FLYWAY_DEFAULT_SCHEMA`, `FLYWAY_TABLE`, `FLYWAY_BASELINE_ON_MIGRATE`, `FLYWAY_VALIDATE_ON_MIGRATE`, `FLYWAY_CLEAN_DISABLED`, `FLYWAY_OUT_OF_ORDER`, 그 외 `FLYWAY_*`. + +## 기본 규칙 + +### 1. Flyway는 앱 startup이 아니라 독립 실행 단계 +운영 환경에서 Flyway는 다음 중 하나로만 실행한다. + +- Kubernetes Job (권장) +- CI/CD 명시 단계 +- 운영자 명시 실행 절차 + +기본 금지: +- 애플리케이션 startup 시 자동 migration +- Spring Boot `spring.flyway.enabled=true`로 앱 부팅 경로에 포함 +- readiness/liveness와 migration 실패를 섞는 구조 + +### 2. 기본 순서는 info → validate → migrate → info → app rollout +운영 기본 순서: + +1. `flyway info` (pending 확인) +2. `flyway validate` +3. `flyway migrate` +4. `flyway info` (결과 확인) +5. 애플리케이션 rollout + +`validateOnMigrate=true`가 기본값이지만, 운영 절차상 validate를 **분리 initContainer** 또는 **사전 단계**로 둔다. + +### 3. 배포 흐름 안에서 app보다 먼저 실행 — 두 가지 패턴 + +**패턴 A: Helm hook** +```yaml +annotations: + "helm.sh/hook": "pre-upgrade,pre-install" + "helm.sh/hook-weight": "-10" + "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded" +``` + +**패턴 B: Argo CD sync-wave** +```yaml +annotations: + argocd.argoproj.io/sync-wave: "-1" + argocd.argoproj.io/hook: Sync + argocd.argoproj.io/hook-delete-policy: BeforeHookCreation +``` + +기본: +- 두 패턴을 혼용하지 않는다 (Argo CD가 Helm chart를 렌더링할 때 Helm hook을 일반 리소스로 취급해 순서가 꼬임) +- 배포 도구에 맞춰 한쪽만 사용 + +### 4. migration Job 안전 설정 체크리스트 +Job manifest에 반드시 다음이 있어야 한다. + +- `parallelism: 1`, `completions: 1` +- `backoffLimit: 0` 또는 작은 값 (1~2) +- `activeDeadlineSeconds` (권장 1800 = 30분, 대형 migration은 더 길게) +- `ttlSecondsAfterFinished` (권장 86400 = 1일) +- `restartPolicy: Never` +- 이미지 digest pinning (`flyway/flyway@sha256:...`) +- `imagePullPolicy: IfNotPresent` +- `resources.requests/limits` +- `securityContext`: `runAsNonRoot: true`, `readOnlyRootFilesystem: true`, `capabilities: drop: [ALL]` +- Pod-level `seccompProfile: RuntimeDefault` +- `fsGroup` 명시 (필요 시) + +### 5. config는 환경변수 + Secret +Flyway CLI는 `FLYWAY_*` 환경변수를 읽는다. Secret은 Vault Secrets Operator(VSO) 또는 External Secrets Operator를 통해 클러스터에 동기화된 `Secret`에서 주입한다. + +필수 env var: +- `FLYWAY_URL` — `jdbc:postgresql://host:5432/db` +- `FLYWAY_USER` +- `FLYWAY_PASSWORD` — Secret에서 주입 +- `FLYWAY_LOCATIONS` — `filesystem:/flyway/sql` + +운영 권장 env var: +- `FLYWAY_SCHEMAS` — 대상 schema +- `FLYWAY_DEFAULT_SCHEMA` — history table 위치 +- `FLYWAY_TABLE` — 기본 `flyway_schema_history` +- `FLYWAY_VALIDATE_ON_MIGRATE=true` +- `FLYWAY_BASELINE_ON_MIGRATE=false` (운영 기본값) +- `FLYWAY_CLEAN_DISABLED=true` (production 필수) +- `FLYWAY_OUT_OF_ORDER=false` +- `FLYWAY_MIXED=false` + +### 6. `cleanDisabled=true`는 production 필수 +`flyway clean`은 모든 object를 drop 하는 파괴적 명령이다. + +- production: `FLYWAY_CLEAN_DISABLED=true` 반드시 명시 (Flyway 9+ 기본값이지만 명시적으로 선언) +- dev/test: 필요 시 `false` 허용, 단 접근 권한 분리 + +### 7. migration SQL은 ConfigMap 또는 이미지 레이어로 +옵션: +- **ConfigMap**: 서비스 manifest와 함께 Argo CD로 관리. small/medium migration set에 적합. ConfigMap 1MiB 제한 주의. +- **이미지 레이어**: 서비스 repo에서 migration SQL을 Docker image로 빌드하고 Flyway image와 합쳐 사용. 대규모 migration set에 적합. + +기본: +- 두 방식 모두 Git이 source of truth +- 운영 서버에서 `kubectl edit configmap`으로 migration 편집 금지 + +### 8. schema history table은 운영 감사 추적의 일부 +수동 UPDATE / DELETE 금지. 위치는 명시적으로 결정. + +기본: +- service별 schema를 `FLYWAY_DEFAULT_SCHEMA`로 지정 (예: `auth_server`) +- history table 이름은 기본값 `flyway_schema_history` 유지 +- 여러 서비스의 history table을 하나의 schema에 몰지 않음 + +### 9. `createSchemas=false`면 history schema를 사전 준비 +`createSchemas=false`를 쓰면 history table이 들어갈 schema를 별도 준비해야 한다. + +기본: +- `FLYWAY_INIT_SQL`로 `CREATE SCHEMA IF NOT EXISTS` 지시 가능 +- 또는 CNPG `Cluster.bootstrap.initdb.postInitSQL`에서 schema 사전 생성 +- 생성 책임이 누구인지 문서화 + +### 10. baseline은 예외 절차 +허용 예: +- legacy DB를 처음 Flyway 관리로 편입 +- 기존 non-empty schema를 Flyway에 편입할 때 + +기본 금지: +- 새 프로젝트인데 baseline부터 쓰기 +- 운영 배포 파이프라인에서 습관적으로 baseline 사용 + +### 11. `baselineOnMigrate`는 기본값 아님 +`baselineOnMigrate=true`는 도입/전환 시 편의를 줄 수 있지만, 운영 기본값으로 두지 않는다. + +이유: +- 예상치 못한 기존 schema를 "정상 상태"처럼 받아들일 수 있다 +- 실수 탐지력이 떨어진다 + +`FLYWAY_BASELINE_ON_MIGRATE=false`로 명시. + +### 12. `repair`는 예외 절차 +허용 예: +- 의도적으로 migration 파일을 수정했고 checksum 정렬이 필요 +- missing migration을 문서화된 절차로 정리 +- failed repeatable migration 이후 history 정리 + +기본 금지: +- validate 오류가 나면 원인 분석 없이 바로 repair +- CI/CD에서 습관적으로 repair 실행 + +### 13. `repair`는 user object를 고쳐주지 않는다 +repair는 schema history table만 정리한다. 실패한 migration이 남긴 DB object 정리, 불완전한 DDL/DML 정리는 별도 절차로 수행해야 한다. + +### 14. 적용된 migration 파일은 수정 금지 +이유: +- checksum mismatch +- 재현 불가 +- 환경 간 drift + +대응: +- 새 migration으로 교정 +- 정말 예외적인 수정만 공식 repair 절차와 함께 수행 + +### 15. out-of-order는 기본 금지 +Out-of-order migration은 전체 migration history를 다시 실행할 때 다른 결과를 만들 수 있다. + +기본: +- `FLYWAY_OUT_OF_ORDER=false` +- 뒤늦게 빠진 migration을 넣는 방식을 기본값으로 두지 않음 +- 예외 허용 시 영향 범위 검토 문서 필수 + +### 16. repeatable migration(R__)은 목적 제한 +Repeatable migration은 다음 용도에 제한한다. + +- view 정의 +- function / procedure +- trigger 재생성 +- reference / static data refresh + +기본 금지: +- 순서가 중요한 핵심 schema change를 repeatable로 남발 +- versioned migration 대신 repeatable로 대체 + +### 17. Undo(U__) migration은 만들지 않는다 +Flyway Community(OSS)는 undo를 지원하지 않는다. + +- U__ 파일을 repo에 두지 않음 (오해 유발) +- rollback은 forward-only 새 migration + PITR로 대응 + +### 18. locations는 environment별로 흔들지 않는다 +`migrate`와 `repair`는 같은 `locations` 전제를 가져야 한다. + +기본: +- env마다 location 구조가 달라지지 않게 유지 +- 운영과 개발에서 전혀 다른 migration set을 쓰지 않음 +- env별 변수는 `placeholders`(`FLYWAY_PLACEHOLDERS_*`)로 분리 + +### 19. migration은 서비스 소유권 단위로 분리 +기본: +- auth-server는 auth-server migration set +- keycloak은 keycloak 고유 migration (사실 Keycloak은 내부 migration을 사용하므로 Flyway 대상이 아님) +- 공용 migration 프로젝트 금지 + +### 20. migration naming / versioning +기본: +- versioned: `V<N>__<snake_case>.sql`, N은 증가하는 정수 또는 점표기(예: `V12__`, `V1.2.3__`) +- repeatable: `R__<snake_case>.sql` +- 이름은 변경 의도를 드러나게 작성 + +예: +- `V42__add_refresh_token_audit_columns.sql` +- `R__refresh_user_views.sql` + +### 21. destructive change는 expand → migrate → contract +`db-and-migration.md` #19 참조. Flyway 입장에서 각 단계는 **별도 릴리즈**의 versioned migration으로 나간다. + +### 22. non-transactional DDL은 `executeInTransaction=false` +Postgres에서 트랜잭션 밖 실행이 필요한 DDL: + +- `CREATE INDEX CONCURRENTLY` +- `REINDEX CONCURRENTLY` +- `ALTER TYPE ... ADD VALUE` +- `VACUUM` + +migration 파일 상단: +```sql +-- flyway:executeInTransaction=false +CREATE INDEX CONCURRENTLY idx_users_email ON users(email); +``` + +기본: +- 이런 DDL은 **전용 migration 파일**로 분리 (다른 statement와 섞지 않음) +- runtime 추정치 주석 +- low-traffic window로 배포 일정 조정 + +### 23. rollback은 Flyway 명령에 기대지 않는다 +운영 기본 rollback: + +- 새 migration으로 수정 +- PostgreSQL PITR (CNPG bootstrap.recovery) +- 애플리케이션 버전 rollback + DB 호환 윈도우 유지 (expand-contract의 효과) + +rollout undo가 DB schema rollback을 대신하지 않는다. + +### 24. 현재 스택 기준 기본 권장안 + +- **auth-server** + - Flyway Job (Helm hook 또는 Argo sync-wave) + - `FLYWAY_DEFAULT_SCHEMA=auth_server` + - validate → migrate → app rollout + - digest pinning +- **keycloak** + - Keycloak 자체 migration 사용, Flyway 대상 아님 +- **test-server** + - DB가 없으면 Flyway 대상 아님 +- **운영 절차** + - repair/baseline은 예외 승인 절차 + - applied migration 수정 금지 + - CLEAN_DISABLED=true 필수 + +## 프로젝트 기준 요약 + +- Flyway는 독립 실행 단계 (Kubernetes Job) +- info → validate → migrate → info → app rollout +- 배포 흐름 내 순서는 Helm hook 또는 Argo CD sync-wave 중 하나로 통일 +- Job: `parallelism: 1`, `backoffLimit: 0`, `ttlSecondsAfterFinished`, digest pinning, restricted PSA +- config는 `FLYWAY_*` env var + Secret (VSO / ESO) +- `FLYWAY_CLEAN_DISABLED=true` 필수, `FLYWAY_BASELINE_ON_MIGRATE=false`, `FLYWAY_OUT_OF_ORDER=false` +- schema history table 위치를 `FLYWAY_DEFAULT_SCHEMA`로 명시 +- baseline / repair / out-of-order는 예외 절차 +- applied migration 수정 금지 +- Undo(U__) 파일 만들지 않음 (OSS 미지원) +- non-transactional DDL은 `-- flyway:executeInTransaction=false`로 파일 단위 분리 +- service별 migration ownership 분리 +- destructive migration은 expand → migrate → contract diff --git a/docs/standards/infra/k3s-specific.md b/docs/standards/infra/k3s-specific.md new file mode 100644 index 0000000..041f912 --- /dev/null +++ b/docs/standards/infra/k3s-specific.md @@ -0,0 +1,224 @@ +# K3s-specific 기준 + +## 목적 + +이 문서는 일반 Kubernetes 표준과 **분리**해서, K3s 운영에서만 발생하는 특수성을 고정한다. + +목표: + +- K3s packaged component (`coredns`, `traefik`, `local-storage`, `metrics-server`, `servicelb`)를 일반 manifest처럼 관리하는 실수를 막는다 +- `/var/lib/rancher/k3s/server/manifests`를 source-of-truth로 쓰는 실수를 막는다 +- 멀티 server HA 환경에서 `critical configuration value mismatch` join 실패를 예방한다 +- embedded registry mirror(Spegel)의 네트워크·버전 게이트를 정확히 이해한다 +- 1000+ 서비스 prod 스케일에서 K3s의 어떤 기능을 켜고 어떤 기능을 외부로 뺄지 기준을 박는다 + +## 공식 의미 (근거 URL 포함) + +- K3s packaged component: `coredns`, `traefik`, `local-storage`, `metrics-server` (매니페스트 파일 기반) + `servicelb`(매니페스트 없이 `--disable`만 가능). +- AddOn auto-deploy: `/var/lib/rancher/k3s/server/manifests` 하위 파일은 server 시작 시 + 파일 변경 시 자동 apply. packaged component는 K3s가 재기록하므로 직접 수정 금지. +- multi-server 유저 AddOn은 서버 간 자동 동기화되지 **않는다**. +- K3s 설정: `/etc/rancher/k3s/config.yaml` + `/etc/rancher/k3s/config.yaml.d/*.yaml` drop-in. +- critical 값 (cluster-cidr / service-cidr / cluster-dns / cluster-domain / disable 세트 / CNI / embedded-registry 활성화)이 서버 간 불일치면 `critical configuration value mismatch` join 실패. +- packaged Helm component(`traefik` 등) 커스터마이징은 `HelmChartConfig` (apiVersion `helm.cattle.io/v1`). +- K3s 기본 local storage는 Rancher Local Path Provisioner (`local-path` StorageClass, node-local, not replicated). +- **embedded registry mirror (Spegel)**: 기본 비활성. 활성화 시 노드 간 TCP 5001 (p2p gossip) + TCP 6443 (registry + supervisor)이 reachable해야 한다. 출처: `https://docs.k3s.io/installation/registry-mirror` — "all nodes must be able to reach each other via their internal IP addresses, on TCP ports 5001 and 6443". +- K3s 이미지 import: `/var/lib/rancher/k3s/agent/images/*.tar{,.zst,.gz}`. +- K3s는 기본적으로 network policy enforcer (kube-router 기반)를 포함한다. 외부 CNI(Cilium 등) 사용 시 `--disable-network-policy` + `--flannel-backend=none` 조합 필요. + +## 기본 규칙 + +### 1. K3s 전용 규칙은 별도 문서로 유지 + +일반 Kubernetes 표준 문서에 K3s 특수성을 흩뿌리지 않는다. 분리 범주: + +- packaged component +- AddOn auto-deploy +- config.yaml / config.yaml.d +- local-path provisioner +- embedded registry mirror +- critical server flags +- Helm component customization + +### 2. packaged component는 “편의 기능”, 직접 수정 절대 금지 + +관리 대상: + +- `coredns` +- `traefik` +- `local-storage` +- `metrics-server` +- `servicelb` (manifest 없음, flag로만 제어) + +금지: + +- `/var/lib/rancher/k3s/server/manifests/traefik.yaml` 직접 edit +- packaged manifest를 Git SoT로 관리 +- 재시작 후 overwrite되는 파일에 운영 커스터마이징 저장 + +### 3. packaged component 유지/비활성은 cluster bootstrap 때 박는다 + +1000-서비스 prod 스케일에서 현재 기준: + +| component | prod 기본 | 이유 | +|----------------|-----------|-------------------------------------------------------------| +| `traefik` | disable | ingress-nginx / Envoy Gateway로 교체. Traefik은 dev만. | +| `servicelb` | disable | MetalLB L2/BGP 또는 외부 LB. klipper는 노드 80/443 점유. | +| `local-storage`| disable | Longhorn / Ceph RBD / CSI. node-local은 DR 불가. | +| `metrics-server`| keep | HPA + `kubectl top` 전제. 대체 pipeline 준비되면 교체 가능. | +| `coredns` | keep | 교체는 특수 케이스. node-local dns cache는 별도로 추가. | +| network policy | 상황별 | Cilium 도입 시 disable. 기본 kube-router 유지도 가능. | + +### 4. server critical config는 Git에서 단일 파일로 관리 + +`/etc/rancher/k3s/config.yaml`이 Git의 inventory repo (Ansible / Fleet / CI)에서 push된다. +서버별 ad-hoc 수정 금지. critical 값 mismatch는 **join 실패**로 직결된다. + +일치해야 하는 값: + +- `cluster-cidr`, `service-cidr`, `cluster-dns`, `cluster-domain` +- `disable` 세트 +- `flannel-backend` / `disable-network-policy` +- `embedded-registry` 활성화 여부 +- `datastore-endpoint` (etcd / external DB) + +### 5. CLI argument보다 config file 우선 + +재현성 / diff / multi-node 동기화를 위해 server/agent 플래그는 모두 `config.yaml`로. +`/etc/rancher/k3s/config.yaml.d/*.yaml` drop-in은 역할별 파일 분리(예: `10-networking.yaml`, `20-audit.yaml`)에 사용. + +### 6. `/var/lib/rancher/k3s/server/manifests`는 apply sink, SoT 아님 + +- 운영 SoT = Git (+ Kustomize / ArgoCD / Flux) +- 이 디렉터리는 bootstrap addon에만 한정 (예: `k3s-addons-disabled.yaml` placeholder) +- 서버별로 다른 파일을 두고 "알아서 맞겠지"는 금지 +- `.skip` 파일은 **임시** 비활성화 용. 장기 disable은 `--disable` 플래그로. + +### 7. multi-server user AddOn은 Git push, 로컬 scp 금지 + +K3s는 user AddOn을 서버 간 동기화하지 않는다. 멀티 server 환경에서 AddOn을 쓰려면: + +- GitOps 컨트롤러(ArgoCD/Flux)가 apply +- 또는 Ansible/Fleet이 단일 server 노드에만 drop +- 또는 완전히 포기하고 `kubectl apply`로만 관리 (권장) + +### 8. packaged Helm component 커스터마이징은 `HelmChartConfig` + +traefik 유지가 불가피할 때: + +```yaml +apiVersion: helm.cattle.io/v1 +kind: HelmChartConfig +metadata: + name: traefik + namespace: kube-system +spec: + valuesContent: |- + <override values> +``` + +- `metadata.name` / `namespace`는 대응 `HelmChart`와 반드시 일치 +- 민감 값은 `valuesSecrets`로 Secret 참조 (valuesContent에 하드코딩 금지) +- HelmChartConfig 자체는 Git 관리 + +### 9. local-path provisioner는 dev/test 한정 + +Rancher Local Path Provisioner = node-local hostPath. 특성: + +- ReadWriteOnce only +- 노드 장애 시 데이터 접근 불가 +- 백업/DR 불가 (StorageClass 레벨 스냅샷 없음) +- binding mode = WaitForFirstConsumer (Pod가 뜰 때 PV 생성) + +기준: + +- dev/test StatefulSet의 PVC 기본값으로만 허용 +- prod의 DB / Vault / MinIO / Kafka / etcd backup target에 절대 사용 금지 +- prod storage는 **Longhorn (K3s 권장) / Ceph RBD / 외부 CSI** 중 택1 + +### 10. metrics-server는 유지 기본값 + +HPA v2 metrics, `kubectl top`, VPA, kube-state-metrics 연동 모두가 전제. disable 시 Prometheus Adapter 등 대체 pipeline을 먼저 준비한 뒤에만 꺼야 한다. + +### 11. traefik / servicelb는 포트 점유 + 노드 노출 전략을 같이 본다 + +- `servicelb` (klipper) = 모든 노드가 80/443 HostPort로 열림. prod에서는 거의 항상 disable + MetalLB 또는 외부 LB. +- `traefik` 유지 시 IngressClass / Middleware / EntryPoint 세 레이어가 전부 K3s 관리. prod에서는 disable + `ingress-nginx` DaemonSet 또는 Envoy Gateway Deployment. + +### 12. network policy controller 충돌 + +- 기본: K3s 내장 kube-router 기반 enforcer +- Cilium / Calico 도입 시: `--flannel-backend=none` + `--disable-network-policy` + `--disable=servicelb` +- 도입 계획은 클러스터 bootstrap 결정 사항 (리빌드 없이 swap 불가에 가까움) + +### 13. embedded registry mirror (Spegel): 명시적 opt-in + 네트워크 요구사항 + +- 기본 **비활성** +- 활성화 방법: `/etc/rancher/k3s/config.yaml`에 `embedded-registry: true` + `registries.yaml`에 mirror 설정 +- **네트워크 요구사항** (공식): 모든 노드가 서로 **TCP 5001 (p2p gossip) + TCP 6443 (local registry + supervisor)**에 도달 가능해야 한다. firewall / security group에서 해당 포트 오픈 필수. +- 활성화 대상: + - airgap / 반-airgap 환경 + - 이미지 pull bottleneck이 심한 대규모 배포 + - external registry 의존을 낮춰야 하는 환경 +- 클러스터 범위 기능이므로 **모든 server/agent에 동일 적용** + +### 14. 이미지 import / airgap 전략 + +- 평상시: registry pull (internal mirror 선호) +- airgap: `/var/lib/rancher/k3s/agent/images/*.tar{,.zst,.gz}` 사용, import 절차를 runbook에 명시 +- 이미지 import는 agent startup 때만 로드됨 → 런타임 교체는 re-push 필요 + +### 15. K3s version gating을 항상 확인 + +다음 기능은 버전에 따라 동작/옵션이 바뀌므로, 업그레이드 전 CHANGELOG 확인 필수: + +- embedded registry mirror (Spegel) +- image pre-import +- `HelmChartConfig` schema +- `disable-helm-controller` 동작 +- etcd snapshot / S3 backup 옵션 + +### 16. K3s-specific 예외는 component 문서보다 먼저 확정 + +이 문서에서 박고 내려가야 하는 결정: + +- traefik 유지/비활성 +- servicelb 유지/비활성 +- local-storage 유지 범위 (env별) +- metrics-server 유지 +- network policy controller 선택 +- embedded registry mirror 사용 여부 + +그 다음에 keycloak / vault / minio / ingress / storage 문서로 내려간다. + +### 17. `kubectl apply --server-side` 기본 사용 + +K3s도 SSA 지원. ArgoCD / Flux / CI 모두 `--server-side --field-manager=<id>` 기본. last-applied-configuration annotation 2MB 한계 회피 + multi-controller ownership 명시. + +### 18. etcd snapshot은 K3s 고유 메커니즘 사용 + +- embedded etcd면 `k3s etcd-snapshot` CLI 또는 `--etcd-snapshot-*` config +- S3 업로드 설정은 `/etc/rancher/k3s/config.yaml`에 선언 +- 외부 datastore(PostgreSQL/MySQL) 사용 시 backup은 해당 DB 레이어에서 따로 + +## 현재 스택 기본 권장안 (prod) + +- `traefik`: disable, ingress-nginx + cert-manager로 교체 +- `servicelb`: disable, MetalLB (L2 또는 BGP)로 교체 +- `local-storage`: disable (prod), dev/staging 만 유지. Longhorn으로 교체 +- `metrics-server`: keep (HPA 전제) +- `network policy`: 현 단계 kube-router 유지, Cilium 도입은 별 RFC +- `embedded registry mirror`: off (현재 airgap 아님), 옵션으로 남김 +- `etcd snapshot`: S3 업로드 활성, 6시간 주기, 72시간 retention +- `HelmChartConfig`: traefik 유지 경로를 쓰지 않으므로 현재 미사용 +- apply 방식: `kubectl apply --server-side --field-manager=argocd` + +## 프로젝트 기준 요약 + +- K3s 전용 규칙은 별도 문서 +- packaged component 직접 수정 금지 (HelmChartConfig / disable만) +- `manifests/`는 SoT 아님 +- critical config는 Git 단일 파일, 서버 간 동일 +- local-path는 dev/test만 +- embedded registry mirror는 TCP 5001 + 6443 reachability가 전제 +- prod에서 traefik/servicelb/local-storage 전부 disable이 기본 +- Server-Side Apply가 GitOps 기본 diff --git a/docs/standards/infra/keycloak.md b/docs/standards/infra/keycloak.md new file mode 100644 index 0000000..64b43a2 --- /dev/null +++ b/docs/standards/infra/keycloak.md @@ -0,0 +1,227 @@ +# Keycloak 기준 + +## 목적 + +이 문서는 Kubernetes 환경에서 Keycloak 26+ (Quarkus distribution)을 1000+ 서비스의 ID 브로커로 운영하기 위한 기준을 고정한다. + +- 빌드/실행 두 단계(`kc.sh build` → `kc.sh start --optimized`)를 전제한다 +- Hostname v2, proxy-headers, management port 9000, Infinispan 캐시를 명시한다 +- 단일 Deployment 수제 배포 대신 **Keycloak Operator**를 1차 권장 경로로 둔다 +- DB / 캐시 / probe / Ingress / RealmImport 를 YAML이 아닌 "설계 결정"으로 먼저 고정한다 +- auth-server(도메인 위임)와 Keycloak(IdP)의 ownership 경계를 분리한다 + +## 공식 의미 (Keycloak 26+ 기준) + +- 운영 실행 방식은 **두 단계**다. `kc.sh build`가 Quarkus augmentation을 수행해 optimized 이미지를 만들고, `kc.sh start --optimized`가 그 이미지를 기동한다. 빌드 시 configuration은 런타임에 변경 불가능하다. +- **`--proxy` 옵션은 v24에서 deprecated, v26에서 제거되었다.** 대체는 `--proxy-headers=xforwarded` 또는 `--proxy-headers=forwarded`다. +- **Hostname v2**가 기본값이며 `--hostname`은 full URL을 받는다. v24+ 이후 `hostname-url`, `hostname-path`, `hostname-port`는 제거되었다. admin 전용 주소는 `--hostname-admin`으로 지정한다. +- `--hostname-strict`의 production 기본값은 `true`다. `--hostname-backchannel-dynamic`은 기본 `false`다. +- HTTPS 종료를 Ingress/LB가 하면 Keycloak은 `KC_HTTP_ENABLED=true`로 HTTP를 수신한다. +- DB는 `KC_DB=postgres`, `KC_DB_URL`은 **JDBC URL**(`jdbc:postgresql://host:5432/db`) 형식이다. +- **Management interface는 기본 포트 `9000`**에서 제공되고, `/health`, `/health/started`, `/health/ready`, `/health/live`, `/metrics`를 호스팅한다. Pod probe와 Prometheus scrape는 모두 9000 대상이다. +- Production cache type 기본은 `ispn`(Infinispan distributed). **cache-stack 기본값이 `kubernetes`(DNS_PING)에서 v25부터 `jdbc-ping`으로 바뀌었다.** Operator가 관리하는 StatefulSet은 Raft-less 클러스터링을 jdbc-ping으로 수행한다. +- Operator가 생성하는 워크로드는 **StatefulSet**이다 (pod ordering이 Infinispan discovery와 맞물린다). 사용자 수제 YAML에서도 Operator 경로가 1차 권장이다. +- `KeycloakRealmImport` CR은 Keycloak server가 준비된 후 realm JSON을 server side로 import하는 1회성 Job을 생성한다. + +## 기본 규칙 + +### 1. 운영 실행은 `start --optimized` 두 단계 + +빌드 단계에서 feature/db/health/metrics를 굽고, 실행 단계에서 runtime config만 주입한다. + +기본: +- Dockerfile에서 `RUN /opt/keycloak/bin/kc.sh build`로 optimized 이미지 생성 +- 컨테이너 CMD는 `kc.sh start --optimized` +- runtime-only config: hostname, DB URL/credential, log level + +기본 금지: +- `start-dev` 운영 사용 +- `start` 단독 실행(build 없이 매 기동마다 augmentation) + +### 2. `--proxy-headers` 사용, `--proxy` 금지 + +Keycloak 26에서 `--proxy`는 제거되었다. + +기본: +- HTTPS 종료 proxy 뒤: `KC_PROXY_HEADERS=xforwarded` (nginx, Traefik, ingress-nginx 등) +- RFC 7239 지원 proxy: `KC_PROXY_HEADERS=forwarded` +- proxy가 Host / X-Forwarded-* 를 **덮어쓰도록** 고정 + +기본 금지: +- `KC_PROXY=edge|reencrypt|passthrough` 등 legacy 옵션 + +### 3. Hostname v2: full URL로 고정 + +기본: +- `KC_HOSTNAME=https://auth.example.com` (full URL) +- Admin Console 분리: `KC_HOSTNAME_ADMIN=https://admin-auth.example.com` +- `KC_HOSTNAME_STRICT=true` (production 기본 유지) +- `KC_HOSTNAME_BACKCHANNEL_DYNAMIC=false` (기본값; 다중 cluster federation일 때만 true 검토) + +기본 금지: +- 제거된 옵션 사용: `KC_HOSTNAME_URL`, `KC_HOSTNAME_PATH`, `KC_HOSTNAME_PORT` +- hostname 없이 요청 헤더에서 해석되도록 방치 + +### 4. HTTPS는 Ingress/LB에서 종료, Pod는 HTTP + +Pod 내부에서 TLS 재암호화가 필요 없으면 Pod는 HTTP로 수신한다. + +기본: +- `KC_HTTP_ENABLED=true`, `KC_HTTP_PORT=8080` +- Ingress가 TLS 종료 + proxy-header 주입 +- passthrough TLS가 필요한 보안 요구가 있을 때만 `KC_HTTPS_*` 경로 채택 + +### 5. DB는 외부 PostgreSQL + JDBC URL + +기본: +- `KC_DB=postgres` +- `KC_DB_URL=jdbc:postgresql://keycloak-db-rw:5432/keycloak` (CloudNativePG `-rw` RW endpoint 권장) +- `KC_DB_USERNAME`, `KC_DB_PASSWORD` → Secret `secretKeyRef` +- Keycloak schema와 auth-server schema는 **다른 DB 또는 다른 database**로 분리 + +기본 금지: +- 내장 H2 (`dev-file`, `dev-mem`) 운영 +- root/superuser credential 사용 +- Keycloak DB에 auth-server migration 수행 + +### 6. Management port 9000은 외부 비공개 + +기본: +- Pod containerPort 9000 (`KC_HTTP_MANAGEMENT_PORT=9000`) +- Service에 9000 expose하되 Ingress 대상 제외 +- probe는 9000 대상: `/health/started`, `/health/ready`, `/health/live` +- Prometheus scrape는 내부 scraper가 9000/`/metrics`에 직접 접근 + +### 7. Probe timing은 Keycloak 기동 특성에 맞춘다 + +Keycloak은 JVM + Quarkus + Infinispan + DB migration으로 cold start가 30~120초다. + +기본: +- `startupProbe`: `/health/started`, `periodSeconds: 5`, `failureThreshold: 60` → 최대 5분 유예 +- `readinessProbe`: `/health/ready`, `periodSeconds: 10`, `failureThreshold: 3` +- `livenessProbe`: `/health/live`, `periodSeconds: 30`, `failureThreshold: 3`, `initialDelaySeconds: 60` + +### 8. Cache: Infinispan + 버전별 stack 기본값 인지 + +v25+ 기본 stack은 **`jdbc-ping`**이다. DB를 discovery 매체로 쓰므로 headless service / ServiceAccount RBAC가 필요 없다. + +기본: +- Operator 관리 클러스터: `KC_CACHE=ispn`, `KC_CACHE_STACK=jdbc-ping` (명시) +- 수제 StatefulSet에서 headless service 경유 discovery를 쓰려면 `KC_CACHE_STACK=kubernetes` (DNS_PING) 선택 +- local mode 운영 금지 (`KC_CACHE=local`은 single replica 테스트 전용) + +### 9. Operator 경로를 1차 권장으로 + +1000+ 서비스 규모에서 realm import, CR 기반 롤아웃, cache stack 자동 설정, StatefulSet 관리를 Operator가 담당한다. + +기본: +- `Keycloak` CR + `KeycloakRealmImport` CR 조합 +- OLM(OperatorHub) 또는 공식 manifest 설치 +- 수제 StatefulSet 유지보수는 Operator 기능이 부족할 때만 허용 + +### 10. 공개 경로 최소화 + +Ingress에 허용하는 기본 경로: +- `/realms/` — OIDC / SAML endpoint +- `/resources/` — Keycloak theme / JS +- `/.well-known/` — OIDC discovery, JWKS +- `/js/` — Keycloak adapter JS (필요 시) + +기본 금지: +- `/admin/` 외부 공개 (별도 admin host 경유) +- `/metrics`, `/health*` 외부 공개 +- `/` 전체 wildcard 공개 + +### 11. Admin Console은 별도 host로 분리 + +Admin 접근은 일반 SSO host와 다른 경로로 둔다. + +기본: +- `KC_HOSTNAME_ADMIN=https://admin-auth.example.com` +- Admin host는 사내 IP 화이트리스트 / VPN / OIDC forward-auth로 추가 보호 +- production에서 `/admin/` 을 SSO 공용 host에 노출 금지 + +### 12. Realm은 `KeycloakRealmImport` CR로 선언적 관리 + +기본: +- realm JSON은 Git에 보관 +- `KeycloakRealmImport` CR이 Job을 생성해 server-side import +- secret이 들어가는 identity provider client secret은 Vault에서 주입 + +기본 금지: +- Admin REST / kcadm.sh를 CI/CD pipeline이 직접 호출해 상태 변경 +- realm export 파일을 Pod 내부 파일로 배포 + +### 13. High Availability: replicas ≥ 2 + PDB + topologySpread + +Operator는 `instances` 필드로 replica를 제어한다. + +기본: +- `instances: 3` (odd quorum 아님 — cache replication 안정성) +- `PodDisruptionBudget minAvailable: 2` +- `topologySpreadConstraints`로 node/zone 분산 + +### 14. Sticky session은 성능 최적화 옵션 + +Infinispan이 session을 복제하므로 필수는 아니지만, login flow 중간 redirect 지연을 줄인다. + +기본: +- Ingress controller에서 `AUTH_SESSION_ID` cookie affinity +- Service `sessionAffinity: ClientIP`는 2차 선택지 + +### 15. Security context: Restricted PSS 준수 + +기본: +- `runAsNonRoot: true`, `runAsUser: 1000` +- `readOnlyRootFilesystem: true` (Keycloak은 `/opt/keycloak/data` 만 writable 요구; emptyDir 마운트) +- `allowPrivilegeEscalation: false`, `capabilities.drop: [ALL]` +- `seccompProfile: RuntimeDefault` + +### 16. Resource 요청은 JVM 특성 반영 + +기본 단일 replica: +- requests: `cpu: 500m`, `memory: 1Gi` +- limits: `cpu: 2`, `memory: 2Gi` +- JVM: `JAVA_OPTS_APPEND=-XX:MaxRAMPercentage=70 -XX:InitialRAMPercentage=50` + +login throughput 요구가 높으면 replica 수평 확장 우선 (JVM heap 수직 확장 2차). + +### 17. Observability + +기본: +- `KC_METRICS_ENABLED=true`, `KC_HEALTH_ENABLED=true` +- `ServiceMonitor` 또는 `PodMonitor`로 9000/`/metrics` scrape +- event metric (login failure, token issuance)은 필요한 것만 활성화 (high cardinality 방지) + +### 18. DB credential / admin credential은 Vault 경유 + +기본: +- `KC_DB_PASSWORD`: VSO `VaultDynamicSecret`(postgres dynamic role) 또는 `VaultStaticSecret` → K8s Secret 동기화 +- Bootstrap admin (`KEYCLOAK_ADMIN`, `KEYCLOAK_ADMIN_PASSWORD`): 최초 기동 후 제거, 실 운영 admin은 realm-managed + +기본 금지: +- Secret을 Git에 평문 저장 +- 환경변수 default value로 credential 하드코딩 + +### 19. 현재 스택 기본 권장안 + +- 배포: Keycloak Operator + `Keycloak` CR + `KeycloakRealmImport` CR +- 워크로드: StatefulSet (Operator 생성) +- Service: ClusterIP (9000, 8080) +- Ingress: SSO host + Admin host 분리 +- DB: CloudNativePG PostgreSQL cluster + Vault dynamic secret +- Cache: `ispn` + `jdbc-ping` +- Probe: 9000 management port +- Replicas: 3 + PDB + topologySpread + +## 프로젝트 기준 요약 + +- Keycloak 26+ Quarkus distribution, `start --optimized` 두 단계 +- `--proxy-headers` 사용, `--proxy` 금지 +- Hostname v2 full URL, admin host 분리, strict=true 유지 +- DB: 외부 PostgreSQL, JDBC URL, Vault credential +- Management port 9000 내부 전용, probe / metrics 대상 +- Infinispan `ispn` + `jdbc-ping` (v25+) +- Operator 경로 1차 권장 (CR로 realm import 포함) +- Admin Console 별도 host, 공개 경로는 `/realms/`, `/resources/`, `/.well-known/` +- Replicas ≥ 2 + PDB + topologySpread + Restricted PSS diff --git a/docs/standards/infra/kustomize.md b/docs/standards/infra/kustomize.md new file mode 100644 index 0000000..cdef35c --- /dev/null +++ b/docs/standards/infra/kustomize.md @@ -0,0 +1,325 @@ +# Kustomize 기준 + +## 목적 + +Kustomize는 Kubernetes 리소스를 **template-free**로 조합하고 환경별 차이를 overlay로 표현하는 도구다. +1000+ 서비스 prod 스케일에서 기본 배포 도구로 사용하며, Helm 차트는 특정 플랫폼 컴포넌트(Prometheus Operator, cert-manager 등)에만 제한적으로 쓴다. + +목표: + +- base / overlay / component 세 축을 명확히 구분한다 +- `commonLabels`의 selector immutability 함정을 피한다 +- `kubectl apply --server-side`를 전제로 field manager ownership을 관리한다 +- GitOps (ArgoCD/Flux) 또는 CI `kubectl apply -k` 어느 쪽이든 같은 원본을 쓴다 + +## 공식 의미 (근거) + +- 공식 문서: `https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/`, `https://kubectl.docs.kubernetes.io/references/kustomize/` +- `kubectl kustomize <dir>` 렌더, `kubectl apply -k <dir>` apply, `kubectl diff -k <dir>` diff. +- **Kustomize v5+ `labels:` 필드**: label을 리소스에 추가하되 **기본적으로 selector에 주입하지 않는다** (`includeSelectors: false`). 공식 문서 인용: *"A field that allows adding labels without also automatically injecting corresponding selectors. This can be used instead of the `commonLabels` field, which always adds selectors."* +- **`commonLabels`**: 모든 리소스의 `metadata.labels` + `spec.selector.matchLabels` + Pod template labels에 주입된다. Deployment/StatefulSet의 `selector.matchLabels`는 **immutable** 이므로, 이미 apply된 리소스에 `commonLabels`로 label을 추가하면 `field is immutable` 에러로 apply 실패. +- **`components:`** (v4+): 재사용 가능한 cross-cutting overlay 단위. `kind: Component`. resource 집합 + patch 집합을 하나의 단위로 묶어 여러 overlay에서 `components:` 키로 참조. +- `configMapGenerator` / `secretGenerator`: 이름 끝에 hash suffix가 자동으로 붙어 rollout trigger. `generatorOptions.disableNameSuffixHash: true`로 비활성 가능. +- `patches:` (v5 권장): `target:` 선택 + `patch:` inline 또는 `path:` 파일. strategic merge / JSON patch 양쪽 지원. +- `images:`: image name/tag/digest 교체. +- `replicas:`: resource별 replica 수 override. +- `namespace:` / `namePrefix:` / `nameSuffix:`: overlay에서 공통 변환. +- Server-Side Apply (`kubectl apply --server-side --field-manager=<id> -k`)가 GitOps 기본. + +## 기본 규칙 + +### 1. Kustomize 디렉터리가 선언형 source of truth + +- 렌더: `kubectl kustomize <dir>` +- diff: `kubectl diff --server-side -k <dir>` +- apply: `kubectl apply --server-side --field-manager=<ci-id> -k <dir>` + +`kubectl apply -f` 단일 파일 apply는 금지 (bootstrap 예외 제외). + +### 2. base는 환경 중립 + +허용: + +- Deployment/StatefulSet/DaemonSet/Job/CronJob 기본 shape +- `app.kubernetes.io/{name,instance,component,part-of,managed-by}` (`version`은 overlay에서 image tag와 함께 주입) +- 공통 container spec (resources, probes, securityContext) +- 공통 volume mount / ConfigMap reference + +금지: + +- replicas 고정값 (overlay `replicas:`에서 결정) +- 환경별 host / domain / issuer 이름 +- 환경별 secret / ConfigMap 이름 +- 환경별 resources requests/limits +- `example.com/environment` label (overlay에서 `labels:`로 주입) + +### 3. overlay는 환경 차이만, patches는 파일로 분리 + +overlay 한 디렉터리의 `kustomization.yaml`은 짧아야 한다. diff가 몇 백 줄을 넘으면 base 설계 실패 신호. + +권장 구조: + +``` +overlays/prod/ + kustomization.yaml + patches/ + auth-replicas.yaml + auth-resources.yaml + auth-topology-spread.yaml + ingress-host.yaml + postgres-storage.yaml +``` + +### 4. 디렉터리 구조는 base / components / overlays 3축 + +``` +k8s/ + base/ + app/units/<domain>/<service>/ + managing/<job>/ + plugins/<platform>/ + components/ + <reusable-cross-cutting>/ + overlays/ + <env>/[region/] +``` + +`components/`는 "Kustomize Components"로, 여러 overlay에서 재사용. + +### 5. `commonLabels` 금지, `labels:` 사용 + +신규 코드에서는 `commonLabels` 사용을 금지한다. + +```yaml +# DO +labels: + - pairs: + example.com/environment: prod + example.com/region: kr-main + includeSelectors: false + includeTemplates: true +``` + +이유: + +- `commonLabels`는 `selector.matchLabels`에 자동 주입 → live Deployment/StatefulSet apply 시 `field is immutable` 실패 +- `labels:`는 `includeSelectors: false`가 기본 → safe +- `includeTemplates: true`로 Pod template labels에는 전파되므로 관찰성은 유지 + +기존 `commonLabels` 사용 코드는 migration plan을 세워 교체. selector에 이미 들어간 label이 있다면 해당 리소스를 **재배포** (delete + recreate) 없이는 변경 불가. + +### 6. selector에는 불변 3종만 + +overlay에서 selector를 건드리지 않는다. selector에 허용되는 label은: + +- `app.kubernetes.io/name` +- `app.kubernetes.io/instance` +- `app.kubernetes.io/component` + +이 3종은 base에서 고정. overlay가 `labels:`로 추가하는 label은 반드시 `includeSelectors: false`. + +### 7. `patches:` (v5 스타일) 사용, `patchesStrategicMerge` / `patchesJson6902` 금지 + +```yaml +patches: + - target: + kind: Deployment + name: auth + path: patches/auth-resources.yaml + - target: + kind: Ingress + name: auth-public + patch: |- + - op: replace + path: /spec/rules/0/host + value: auth.example.com +``` + +이유: + +- 단일 키로 strategic merge + JSON patch 양쪽 지원 +- `target:` selector로 여러 리소스에 적용 가능 +- 레거시 `patchesStrategicMerge` / `patchesJson6902`는 v5에서 deprecated (여전히 작동하지만 신규 사용 금지) + +### 8. `components:`로 cross-cutting 재사용 + +multiple overlay에서 공통으로 끼워야 하는 변경(예: mTLS 활성화, sidecar 주입, monitoring label 추가)은 component로. + +``` +components/ + with-istio-sidecar/ + kustomization.yaml # kind: Component + patches/ + inject-sidecar.yaml + with-service-monitor/ + kustomization.yaml + service-monitor.yaml + with-pdb-tier1/ + kustomization.yaml + pdb-patch.yaml +``` + +overlay에서: + +```yaml +components: + - ../../components/with-service-monitor + - ../../components/with-pdb-tier1 +``` + +### 9. `namePrefix` / `nameSuffix`는 꼭 필요할 때만 + +리소스 이름이 바뀌면 ConfigMap/Secret 참조 (`envFrom`, `volumes.configMap.name`)도 모두 바뀐다. namespace 격리가 기본이고, 같은 cluster 안에서 같은 이름 리소스를 여러 번 생성할 때만 prefix/suffix를 쓴다. + +### 10. generator 기준 + +- `configMapGenerator`: 비민감 설정만. 기본 hash suffix로 rollout 자동 트리거. +- `secretGenerator`: 로컬/테스트/bootstrap 에만. prod secret은 External Secrets Operator / Vault Secrets Operator / SealedSecrets로 관리. +- `generatorOptions.disableNameSuffixHash: true`는 GitOps 외부 컨슈머가 이름을 하드코딩해야 할 때만 (예외). + +### 11. `images:`로 image tag/digest 고정 + +```yaml +images: + - name: registry.example.com/auth + newTag: "1.24.3" + - name: registry.example.com/keycloak + digest: "sha256:abcd1234..." +``` + +- prod에서는 digest 권장 (tag는 mutable) +- CI가 overlay의 `images:` 섹션을 빌드 후 새 digest로 patch (kustomize edit set image) + +### 12. `replicas:`는 overlay에서 resource별 값 주입 + +```yaml +replicas: + - name: auth + count: 6 + - name: keycloak + count: 3 +``` + +HPA 주도 rollout 환경에서는 `replicas:` override가 HPA와 충돌할 수 있다. HPA 활성 리소스는 base `replicas`를 HPA `minReplicas`와 일치시키고 overlay에서는 건드리지 않는다. + +### 13. `kubectl apply --server-side --field-manager=<id>` 기본 + +- ArgoCD: field manager `argocd-controller` +- Flux: field manager `kustomize-controller` +- CI manual: field manager `ci-<pipeline-id>` + +field manager 이름을 환경별로 통일해야 `managedFields` 충돌이 예측 가능해진다. + +### 14. render 전 검증 + +CI가 아래를 순서대로 실행: + +```bash +kubectl kustomize overlays/prod > /tmp/rendered.yaml +kubeconform -strict -summary -schema-location default -schema-location 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' /tmp/rendered.yaml +kubectl diff --server-side --field-manager=ci -k overlays/prod +``` + +- kubeconform / kubeval: schema validation +- kyverno / OPA Gatekeeper: policy validation (post-render) +- conftest: opa policy bundle 실행 + +### 15. base는 overlay를 모른다 + +공식 원칙. base `kustomization.yaml`은 overlay에서만 의미 있는 설정(환경 host / issuer / region label)을 전제하지 않는다. 위반 시 base가 더 이상 재사용 가능한 unit이 아니다. + +### 16. Kustomize를 템플릿 엔진으로 남용하지 않는다 + +분기 / 조건 / 반복이 필요하면: + +1. 리소스 분리 +2. component 도입 +3. overlay 추가 +4. (마지막 수단) Helm / jsonnet / cdk8s + +Kustomize는 patch/overlay 도구다. Go template이 아니다. + +### 17. scripts는 Kustomize 보조, 대체 아님 + +`scripts/render.sh`, `scripts/diff.sh`, `scripts/apply.sh`는 Kustomize 명령의 wrapper에 그치고 overlay 구조를 우회하지 않는다. + +### 18. `resources:` vs `bases:` — v5에서는 `resources:` 통일 + +v2.1에서 `bases:`가 `resources:`로 통합됨. 신규 파일에서 `bases:` 금지. + +### 19. overlay에서 StatefulSet PVC retention 변경 주의 + +`persistentVolumeClaimRetentionPolicy`는 StatefulSet spec 필드 (GA 1.27). 환경별로 값이 다르면 overlay patch로 조정하되 prod는 기본 `{whenDeleted: Retain, whenScaled: Retain}` 유지. + +## 추천 폴더 구조 + +```text +k8s/ + base/ + app/ + kustomization.yaml + units/ + identity/ + auth/ + kustomization.yaml + deployment.yaml + service.yaml + servicemonitor.yaml + pdb.yaml + hpa.yaml + keycloak/ + kustomization.yaml + data/ + postgres-identity/ + kustomization.yaml + statefulset.yaml + service-headless.yaml + service.yaml + managing/ + flyway-migrate-identity/ + kustomization.yaml + job.yaml + backup-postgres/ + kustomization.yaml + cronjob.yaml + plugins/ + ingress-nginx/ + cert-manager/ + external-secrets/ + kube-prometheus-stack/ + fluent-bit/ + components/ + with-service-monitor/ + with-pdb-tier1/ + with-topology-spread-zone/ + with-network-policy-deny-default/ + overlays/ + dev/ + kustomization.yaml + staging/ + kustomization.yaml + prod/ + kr-main/ + kustomization.yaml + patches/ + kr-dr/ + kustomization.yaml + patches/ + scripts/ + render.sh + diff.sh + apply.sh + validate.sh +``` + +## 프로젝트 기준 요약 + +- Kustomize v5 문법 기준, `commonLabels` 금지, `labels:` 사용 +- `patches:` 단일 키, `target:` + `path:` 또는 `patch:` inline +- `components:`로 cross-cutting 재사용 +- selector에는 불변 3종만 (name / instance / component) +- generator는 configMap만 기본, secret은 External Secrets +- `kubectl apply --server-side --field-manager=<id>` 전제 +- render + schema + policy 검증을 CI에서 강제 +- base / components / overlays 3축 디렉터리 +- overlay diff는 짧아야 한다 (base 재작성 금지) diff --git a/docs/standards/infra/minio.md b/docs/standards/infra/minio.md new file mode 100644 index 0000000..22ec63c --- /dev/null +++ b/docs/standards/infra/minio.md @@ -0,0 +1,238 @@ +# MinIO 기준 + +## 목적 + +이 문서는 Kubernetes 환경에서 MinIO를 1000+ 서비스의 S3 호환 object storage로 운영하기 위한 기준을 고정한다. + +- MinIO Operator + **Tenant CRD** (`minio.min.io/v2`)를 기본 배포 모델로 둔다 +- Erasure coding 최소 요건 (`servers × volumesPerServer ≥ 4`)을 명시한다 +- KES sidecar + Vault transit backend로 SSE-KMS를 구성한다 +- STS + OIDC (Keycloak)로 서비스 인증을 수행한다 +- 버전 관리 / object lock / replication / lifecycle rule을 운영 필수 요소로 둔다 + +## 공식 의미 (MinIO Operator + Tenant CRD 기준) + +- MinIO Operator는 `minio.min.io/v2` API group의 **Tenant** CR을 watch하여 StatefulSet, Service, PVC, 인증서를 자동 생성한다. +- Tenant는 **namespace당 1개**를 권장한다 (namespace = 소유/정책/쿼터 경계). +- MinIO는 erasure coding을 사용한다. **`servers × volumesPerServer`는 최소 4이어야** 기동한다. EC:N parity (기본 EC:4 ~ EC:8)는 parity drive 수를 결정하며, 장애 허용 drive 수 = parity 수. +- MinIO pool은 불변이다(immutable). pool 내 servers / volumesPerServer는 Tenant 생성 후 변경 불가. 용량 확장은 **새 pool 추가**로 수행. +- **Health endpoints**: + - `/minio/health/live` — 프로세스 liveness (인증 없음) + - `/minio/health/cluster` — **write quorum** 기준 (rolling update 중 false 가능, readiness 비권장) + - `/minio/health/cluster/read` — **read quorum** 기준 (rolling update 허용, readiness 권장) +- **Metrics endpoints**: + - `/minio/v2/metrics/cluster` — cluster-wide (기본 Bearer token 필요) + - `/minio/v2/metrics/node` — per-node + - `/minio/v2/metrics/bucket/api/<bucket>` — bucket API metrics + - `mc admin prometheus generate` 로 scrape config + token 생성. 또는 `prometheusAuthType: public` 설정으로 unauth scrape 허용. +- **KES** (Key Encryption Service)는 별도 sidecar/Deployment로 Vault transit backend와 통신해 SSE-KMS / SSE-S3 per-object key를 발급한다. +- MinIO **service account**는 root access key의 하위 derived credential이다(IAM role 개념 아님). 앱은 service account만 사용하고 root는 bootstrap 전용. +- **Object lock**은 bucket 생성 시점에 활성화해야 하며, `GOVERNANCE` (bypass 권한자 우회 가능) vs `COMPLIANCE` (root도 우회 불가) 두 모드. +- **Site replication**은 최대 16개 MinIO 클러스터를 동기화한다 (IAM, bucket config, object 전체). **Bucket replication**은 특정 bucket만 대상. +- Console은 9090 port, API는 9000 port. + +## 기본 규칙 + +### 1. 배포는 MinIO Operator + Tenant CR + +기본: +- `kubectl apply -k "https://github.com/minio/operator?ref=v6.0.4"` 또는 Helm `minio-operator` + `tenant` chart +- Tenant CR로 pool, credential, TLS, KES, logging, monitoring 선언 +- 수제 StatefulSet 운영 금지 + +### 2. Tenant는 namespace당 1개 + +기본: +- `minio-prod` namespace에 Tenant 1개 +- 테넌트 간 격리가 필요하면 namespace를 복수 생성 +- 동일 namespace에 다른 워크로드와 공존 금지 + +### 3. Erasure coding 요건: `servers × volumesPerServer ≥ 4` + +기본 topology 후보: +| servers | volumesPerServer | 총 drive | 기본 EC parity | 장애 허용 drive | +|---------|------------------|----------|----------------|-----------------| +| 4 | 4 | 16 | EC:4 | 4 | +| 4 | 8 | 32 | EC:4 | 4 | +| 8 | 4 | 32 | EC:4 | 4 | +| 8 | 8 | 64 | EC:4 ~ EC:8 | 4 ~ 8 | + +기본: +- 최소 `4 × 4 = 16` drive 시작 (prod) +- `MINIO_STORAGE_CLASS_STANDARD=EC:4` 이상, critical data는 `EC:8` +- parity 증가 = 용량 감소 + 신뢰성 증가 + +기본 금지: +- `servers × volumesPerServer < 4` → Tenant가 기동 실패 + +### 4. Pool은 immutable — 확장은 새 pool 추가 + +기본: +- 초기 pool의 `servers`, `volumesPerServer`, `volumeClaimTemplate.size`는 평생 고정 +- 용량 부족 시 `spec.pools[]`에 `pool-1`, `pool-2` 추가 +- pool 간 데이터 rebalance는 `mc admin rebalance start` + +### 5. StorageClass 명시 (local-path 금지) + +기본: +- prod: `volumeClaimTemplate.spec.storageClassName: ceph-rbd-retain` / `ebs-gp3` / `local-volume-xfs` (명시적) +- 파일시스템은 `xfs` 권장 (MinIO는 ext4보다 xfs에 최적화) +- `reclaimPolicy: Retain` + PVC 삭제 가드 (Tenant 삭제 시 데이터 소실 방어) + +기본 금지: +- k3s local-path prod 사용 +- default StorageClass fallback + +### 6. Credential: root는 bootstrap 전용, 앱은 service account + +기본: +- `spec.configuration.name`에 root credential Secret (MINIO_ROOT_USER, MINIO_ROOT_PASSWORD) +- Vault KV에 root credential 저장, VSO로 Secret 동기화 +- 앱용 access는 `mc admin user svcacct add` 로 service account 발급 +- service account는 최소 권한 policy 바인딩 + +### 7. TLS는 기본 활성화 + +기본: +- `spec.requestAutoCert: true` → Operator가 Kubernetes CSR로 인증서 자동 발급 (MinIO 자체 CA) +- 사내 PKI 사용 시 `spec.externalCertSecret` + cert-manager Certificate +- API (9000), Console (9090), KES 전부 TLS + +### 8. KES + Vault transit으로 SSE-KMS + +기본: +- `spec.kes` 필드에 KES 사이드카 spec +- KES는 Vault transit engine을 key store로 사용 +- bucket 생성 시 `mc encrypt set sse-kms minio-backup/critical key-id=my-app-key` +- per-object DEK를 KES에서 받아 암호화 + +기본 금지: +- KES 없이 SSE-S3만 사용 (master key가 MinIO 내부에만 존재 → 분실 위험) +- KES가 local filesystem key store 사용 (prod) + +### 9. Versioning + Object Lock은 critical bucket 기본값 + +기본: +- 금융/감사 데이터: `mc version enable` + Object Lock `COMPLIANCE` 모드 +- 백업 bucket: Object Lock `GOVERNANCE` + retention 30일 +- 일반 app bucket: versioning만 (실수 복구) +- lifecycle rule로 오래된 버전 자동 정리 (`mc ilm add --expire-noncurrent-days 90`) + +### 10. Replication: site vs bucket + +기본: +- 전체 IAM/config 동기화 필요: **site replication** (`mc admin replicate add`) +- 특정 bucket만 cross-region 복제: **bucket replication** (`mc replicate add`) +- async replication 특성 인지 (RPO > 0) +- `mc mirror`는 DR 전략 아님 — 일회성 migration/sync 용도 + +### 11. STS + OIDC (Keycloak) 통합 + +기본: +- Keycloak에 `minio` client 생성 (confidential) +- MinIO 설정: + ``` + mc admin config set ALIAS identity_openid \ + config_url="https://auth.example.com/realms/platform/.well-known/openid-configuration" \ + client_id="minio" \ + client_secret="..." \ + claim_name="policy" \ + scopes="openid,profile,email" + ``` +- 앱은 `AssumeRoleWithWebIdentity`로 JWT → 임시 STS credential 교환 +- MinIO policy에 JWT `policy` claim으로 매핑 + +### 12. Health probe: read quorum을 readiness로 + +기본: +- `livenessProbe`: `/minio/health/live` (프로세스 생존) +- `readinessProbe`: `/minio/health/cluster/read` (read quorum) — rolling update 허용 +- `startupProbe`: `/minio/health/live` + `failureThreshold` 넉넉하게 + +기본 금지: +- `readinessProbe`로 `/minio/health/cluster` (write quorum) 사용 → rolling update 시 전체 pod unready + +### 13. Metrics: 내부 scrape 전용 + +기본: +- `spec.prometheus` 또는 `prometheusAuthType: public` (내부 network만) +- 또는 `mc admin prometheus generate` 로 scrape token 발급 후 `bearerTokenSecret` +- ServiceMonitor는 `/minio/v2/metrics/cluster` 대상 +- 외부 Ingress 공개 금지 + +### 14. API Ingress — Console은 내부 전용 + +기본: +- API (9000): 필요한 경우 Ingress로 공개 (S3 API host: `s3.example.com`) +- Console (9090): 내부/운영자 전용, 외부 공개 금지 (별도 host + IP whitelist + OIDC forward-auth) +- Console을 공개하면 root credential UI 로그인 표면 확장 + +### 15. Lifecycle rule로 용량 관리 + +기본: +- 로그 bucket: 30~90일 expire +- tmp / cache bucket: 7일 expire +- versioning enabled bucket: noncurrent version 90일 expire +- incomplete multipart upload: 7일 abort (`mc ilm add --expire-incomplete-upload-days 7`) + +### 16. 로깅 + +기본: +- `spec.log.audit` → bucket에 audit log 저장 또는 webhook으로 외부 전송 +- stdout으로 console log → fluent-bit / Loki 수집 +- audit log는 Object Lock bucket에 저장해 변조 방지 + +### 17. SecurityContext + Resource + +기본: +- `spec.securityContext`: `runAsNonRoot: true`, `runAsUser: 1000`, `fsGroup: 1000`, `runAsGroup: 1000` +- Restricted PSS 준수 +- 단일 pod resource (4 server cluster 기준): + - requests: `cpu: 500m`, `memory: 2Gi` + - limits: `cpu: 4`, `memory: 8Gi` + - 데이터 규모/동시 요청 수에 따라 조정 + +### 18. Anti-affinity + topologySpread + +기본: +- `podAntiAffinity`: hostname 기준 required (같은 node에 MinIO pod 복수 금지) +- `topologySpreadConstraints`: zone 분산 +- EC:4 + 4-zone = 1 zone 장애 허용 + +### 19. Console은 분리, auth는 OIDC + +기본: +- Console endpoint에 `MINIO_IDENTITY_OPENID_*` OIDC 설정 +- root credential UI 로그인은 break-glass 전용 +- 일반 운영자는 OIDC 로그인 + group → policy 매핑 + +### 20. 현재 스택 기본 권장안 + +- 배포: MinIO Operator + Tenant CR (`minio.min.io/v2`) +- Topology: 최소 `4 × 4 = 16` drive, prod는 `8 × 4 = 32` 이상 +- EC: `EC:4` 기본, critical data `EC:8` +- StorageClass: 명시적 (xfs, Retain) +- TLS: `requestAutoCert: true` +- KMS: KES sidecar + Vault transit +- 인증: root는 VSO 주입, 앱은 service account, 사용자는 Keycloak OIDC +- Health: live / cluster-read (readiness) +- Metrics: Prometheus bearer-token scrape +- Versioning + Object Lock: critical bucket 기본값 +- Replication: site (전체) / bucket (부분) 구분 +- Console: 내부 전용 + +## 프로젝트 기준 요약 + +- MinIO Operator + Tenant CR 기본 배포 +- namespace당 Tenant 1개 +- `servers × volumesPerServer ≥ 4` erasure coding 요건 +- Pool immutable — 확장은 새 pool +- StorageClass 명시 + xfs 권장 + Retain +- KES + Vault transit으로 SSE-KMS +- Root credential은 Vault → VSO → Secret 경로 +- 앱 접근은 service account, 사용자는 Keycloak OIDC STS +- Health: `/minio/health/live` + `/minio/health/cluster/read` +- Metrics: Bearer token scrape +- Console 외부 비공개, API만 필요 시 Ingress +- Versioning + Object Lock + Lifecycle rule로 데이터 보호 +- site/bucket replication으로 DR (`mc mirror`는 DR 아님) diff --git a/docs/standards/infra/network-ingress-tls.md b/docs/standards/infra/network-ingress-tls.md new file mode 100644 index 0000000..efae65d --- /dev/null +++ b/docs/standards/infra/network-ingress-tls.md @@ -0,0 +1,170 @@ +# network / ingress / TLS 기준 + +## 목적 + +이 문서는 K3s/Kubernetes(1000+ 서비스) 환경에서 +- 어떤 Service 타입을 언제 쓸지 +- 외부 공개는 Ingress/Gateway 어디로 할지 +- TLS를 어디서 종료할지 +- 인증서는 누가 발급·회전할지 +- NetworkPolicy로 L3/L4 경계를 어떻게 그을지 +를 단일 ground truth로 고정한다. + +이 문서의 목표는 다음과 같다. + +- 외부 attack surface를 최소화한다 +- `ClusterIP`/`NodePort`/`LoadBalancer`/`Ingress`의 역할을 섞지 않는다 +- 모든 Ingress는 cert-manager 발급 TLS + HTTPS redirect + HSTS + TLS 1.2+ 기본 +- K3s 기본 Traefik을 유지하되 packaged manifest는 수정하지 않는다 +- Keycloak/Vault/DB 같은 민감 컴포넌트의 노출 범위를 manifest로 증명한다 + +## 공식 의미 (근거) + +- Service 기본 타입은 `ClusterIP`. 외부 L4 노출은 `NodePort` 또는 `LoadBalancer`, 외부 L7은 Ingress 또는 Gateway API. +- Ingress v1 API는 GA이지만 spec은 frozen 상태이고, 신규 기능(L4, traffic split, header match)은 Gateway API로 이동 중이다. +- Ingress v1은 `spec.ingressClassName` 필드로 컨트롤러를 선택한다. 이전의 `kubernetes.io/ingress.class` annotation은 deprecated이며 1.22에서 공식 deprecation 고지. +- Ingress TLS Secret은 타입이 `kubernetes.io/tls`이고 data key는 `tls.crt`, `tls.key`여야 한다. `spec.tls[].hosts`와 `rules[].host`는 일치해야 한다. +- cert-manager는 `Issuer`/`ClusterIssuer`, `Certificate`, `CertificateRequest`, `Order`, `Challenge` CRD로 구성된다. `Certificate`가 참조하는 `secretName`에 자동으로 `kubernetes.io/tls` Secret이 생성·갱신된다. +- ACME HTTP-01은 public DNS + 80 reachable 필요. DNS-01은 wildcard(`*.example.com`) 발급에 필수이며 DNS provider API credential이 요구된다. +- Traefik v2/v3는 `IngressRoute`(CRD) + `Middleware`(CRD)로 L7 정책(redirect, HSTS, rate-limit, auth)을 체계적으로 구성한다. 기본 Ingress API도 annotation으로 일부 기능을 쓸 수 있다. +- K3s는 Traefik을 packaged component로 설치한다(`/var/lib/rancher/k3s/server/manifests/traefik.yaml`). packaged manifest 직접 수정은 재설치 시 덮어쓰인다. `HelmChartConfig`로 override한다. +- NetworkPolicy는 CNI가 지원해야 enforce된다. K3s 기본 flannel + kube-router policy controller는 v1 NetworkPolicy를 지원한다. + +## 기본 규칙 + +### 1. 기본 Service 타입은 `ClusterIP` +- 내부 통신: `ClusterIP` +- 외부 HTTP/HTTPS: Ingress +- 외부 TCP/UDP L4: `LoadBalancer`(ServiceLB/MetalLB/클라우드 LB 전제) +- `NodePort`는 개발/bootstrap 용도 외 운영 금지. namespace `ResourceQuota.services.nodeports: 0`으로 선제 차단. + +### 2. 모든 Service는 named port + `appProtocol` +```yaml +ports: + - name: http + port: 80 + targetPort: http + protocol: TCP + appProtocol: http +``` +- `name: http|https|grpc|metrics`로 명명. +- `appProtocol` 명시는 Ingress controller/서비스 메시가 L7 처리를 최적화할 수 있게 한다. +- container `ports[].name`과 Service `targetPort`를 이름으로 연결해 포트 번호 drift를 방지. + +### 3. Ingress는 `spec.ingressClassName: traefik` 필수 +- `kubernetes.io/ingress.class` annotation은 **deprecated**. 어떤 Ingress에도 남기지 않는다. +- 컨트롤러가 여러 개인 클러스터(예: Traefik + internal-only NGINX)는 `IngressClass` 리소스를 만들어 class를 명시한다. +- 기본 클래스는 `ingressclass.kubernetes.io/is-default-class: "true"` annotation으로 한 개만 지정. + +### 4. 외부 HTTPS는 cert-manager ClusterIssuer로 발급 +- 운영 공인 도메인: `letsencrypt-prod` ClusterIssuer(ACME HTTP-01) 기본. +- Wildcard/internal CA: DNS-01(`letsencrypt-prod-dns`) 또는 Vault PKI issuer. +- Staging 검증: `letsencrypt-staging` ClusterIssuer로 선행 테스트 후 prod 전환. +- Ingress에는 annotation으로 issuer 지정: `cert-manager.io/cluster-issuer: letsencrypt-prod`. cert-manager가 Certificate + Secret을 자동 생성·갱신한다. +- Certificate CRD를 명시적으로 선언하는 방식도 허용(공유 Secret 재사용, 세밀한 `duration`/`renewBefore` 제어 필요 시). + +### 5. HTTPS redirect + HSTS + TLS 1.2+ 기본 +- 모든 외부 Ingress는 HTTP → HTTPS 영구 리다이렉트. +- HSTS: `max-age=31536000; includeSubDomains; preload` 기본. +- TLS minVersion: `VersionTLS12`(가능하면 1.3). 취약 cipher(RC4, 3DES) disable. +- Traefik에서는 `Middleware`(redirectScheme, headers) + `TLSOption` CRD로 정책을 선언. Ingress annotation 방식 예: + - `traefik.ingress.kubernetes.io/router.entrypoints: websecure` + - `traefik.ingress.kubernetes.io/router.middlewares: default-hsts@kubernetescrd,default-https-redirect@kubernetescrd` + - `traefik.ingress.kubernetes.io/router.tls: "true"` + +### 6. Ingress host는 환경별로 분리, wildcard 남용 금지 +- dev/staging/prod별 호스트 분리(`auth.dev.example.com`, `auth.staging.example.com`, `auth.example.com`). +- Wildcard 인증서는 플랫폼 수준 Certificate로 관리하고 서비스 Ingress가 `secretName` 재사용. +- `defaultBackend`(host 없음) 금지. host가 명시된 rule만 허용. + +### 7. 외부 공개 범위 = "반드시 공개해야 하는 path"만 +- Keycloak: `/realms/`, `/resources/`, `/.well-known/`만 노출. `/admin/`, `/metrics`, `/health`는 공개 금지. +- 관리 포트(Keycloak 9000, Vault 8201, Postgres 5432, Redis 6379)는 Ingress 경유 금지. +- 내부 도구(Argo CD, Grafana, Kibana)는 VPN/zero-trust proxy(예: Pomerium, cloudflared tunnel)로만 노출. + +### 8. TLS 종료 위치와 내부 재암호화 정책 +- 기본: Ingress(Traefik)에서 TLS 종료, 내부 Pod까지는 ClusterIP 경유 평문. +- 민감 backend(Vault, Keycloak token endpoint)는 **Ingress→Pod 재암호화** 검토. Traefik `serversTransport` + `insecureSkipVerify: false`로 backend TLS 사용. +- E2E mTLS가 필요하면 서비스 메시(Linkerd/Istio) 도입을 별도 ADR로 결정. + +### 9. K3s 기본 Traefik은 유지·격리 +- packaged manifest(`traefik.yaml`) 직접 수정 금지. +- 커스터마이징은 `HelmChartConfig`(`kind: HelmChartConfig` in `helm.cattle.io/v1`)로 override. +- Traefik은 `ingress-traefik` namespace에 격리, PSA `baseline`, NetworkPolicy는 80/443/8443 inbound + 모든 app namespace outbound 허용. + +### 10. ServiceLB(klipper-lb) / MetalLB 결정 +- 단일 노드 또는 on-prem 초기: K3s ServiceLB. +- 다중 노드 + BGP/ARP 정책이 필요: MetalLB(`kubectl get deploy -n kube-system | grep servicelb`가 없어야 함, `--disable=servicelb`로 off). +- 클라우드(EKS/GKE/AKS): cloud-provider LoadBalancer가 우선. +- 이 결정이 ADR로 고정되기 전에는 `LoadBalancer` Service를 새로 만들지 않는다. + +### 11. NetworkPolicy는 namespace default-deny 기본 +모든 운영 namespace는 다음 3종 + 서비스별 allow가 기본 세트다. +1. `default-deny-all` (ingress+egress) +2. `allow-dns-egress` (to `kube-system` `k8s-app=kube-dns`, 53/UDP+TCP) +3. `allow-from-ingress-traefik` (특정 app Pod만 허용) + +### 12. NetworkPolicy `from`/`to` 엔트리 AND/OR 규칙 +- **동일 엔트리 내 `namespaceSelector`+`podSelector`** → AND(교집합). 권장 패턴. +- **별도 엔트리로 분리** → OR(합집합). 거의 항상 버그. +- `ipBlock`은 같은 엔트리 내 `namespaceSelector`/`podSelector`와 함께 쓸 수 없다. 외부 CIDR allow는 별도 엔트리. + +### 13. egress NetworkPolicy는 DNS 먼저, 서비스별 allow 나중 +- `default-deny-all`만 적용하면 DNS 해석 실패로 앱이 기동 불가. +- kube-dns 53/UDP+TCP가 첫 번째 allow. +- 외부 API(OIDC issuer, SMTP, S3)는 FQDN이 아니라 IP CIDR로 나와야 v1 NetworkPolicy로 표현 가능. FQDN 기반 egress가 필요하면 Cilium `CiliumNetworkPolicy` 또는 egress gateway 검토. + +### 14. Prometheus scrape는 ingress rule로 열기 +- `monitoring` namespace의 Prometheus Pod만 허용. +- `namespaceSelector: kubernetes.io/metadata.name=monitoring` + `podSelector: app.kubernetes.io/name=prometheus` AND. +- 포트는 `metrics`(9090/9100 등) 전용, 앱 `http` 포트 재사용 금지. + +### 15. Gateway API는 단계적 도입 +- 신규 요구사항(traffic split, header routing, gRPC filter)이 Ingress v1으로 표현 불가하면 Gateway API 검토. +- 전환은 서비스 단위로 Ingress → `HTTPRoute`로 마이그레이션. `GatewayClass`/`Gateway`는 platform-team 소유. + +### 16. health/metrics/admin endpoint 외부 공개 금지 +- `/actuator/*`, `/debug/pprof/*`, `/admin/*`, `/metrics`는 Ingress path에 포함하지 않는다. +- 별도 Service 포트(`name: metrics`)를 만들고 NetworkPolicy로 Prometheus만 허용. + +### 17. Ingress 경로 설계는 prefix + 명시 + 최소 +- `pathType: Prefix` 명시(`ImplementationSpecific` 금지). +- `/`를 바로 노출하기 전 사용자 경로만 선언 가능한지 검토(Keycloak 패턴 참조). +- Path rewrite가 필요하면 Traefik `Middleware.stripPrefix`를 사용하고 annotation으로 명시. + +### 18. ExternalName/headless Service는 용도에 맞춰 +- `ExternalName`은 클러스터 외부 CNAME alias 용도. 인증/TLS 경계와 별개 고려. +- Headless(`clusterIP: None`)는 StatefulSet DNS, client-side LB 용도. Ingress 대상 아님. + +### 19. 현재 스택 기본 권장안 + +#### auth-server / test-server +- Service: `ClusterIP` with named `http`, `metrics` +- Ingress: `ingressClassName: traefik`, cert-manager `letsencrypt-prod`, HSTS + HTTPS redirect +- NetworkPolicy: default-deny + dns + ingress-traefik + db + vault + prometheus + +#### keycloak +- Service: `ClusterIP`, named `http`(8080), `management`(9000) +- Ingress: `/realms/`, `/resources/`, `/.well-known/`만 노출. 9000 포트는 Service로도 cluster 외부 비공개. +- Certificate: 전용(`sso.example.com`), 전용 TLS Secret + +#### vault / db / migration-flyway +- Ingress 없음. ClusterIP only. 접근은 bastion + `kubectl port-forward` 또는 zero-trust proxy. + +#### minio +- API/Console Ingress 분리. Console은 내부 전용, API는 필요 시 signed URL 중심. + +#### ingress-traefik +- `ingress-traefik` namespace 격리, PSA `baseline` +- `Service type=LoadBalancer`(ServiceLB/MetalLB) 또는 `hostPort` 80/443만 + +## 프로젝트 기준 요약 + +- 기본 Service 타입은 `ClusterIP`, named port 필수 +- 모든 Ingress는 `spec.ingressClassName: traefik`, annotation `kubernetes.io/ingress.class` 금지 +- 모든 외부 HTTPS는 cert-manager ClusterIssuer 발급 + HSTS + HTTP→HTTPS redirect + TLS 1.2+ +- Keycloak/Vault/DB 노출 범위는 path/host로 증명, 관리 포트 비공개 +- K3s Traefik은 packaged manifest 직접 수정 금지, `HelmChartConfig` override +- NetworkPolicy default-deny + DNS allow + ingress-traefik allow 기본 세트 +- `namespaceSelector`+`podSelector` AND/OR 차이를 정확히 사용 +- Gateway API는 단계적 도입, 기존 Ingress 유지 diff --git a/docs/standards/infra/observability-health.md b/docs/standards/infra/observability-health.md new file mode 100644 index 0000000..ca26089 --- /dev/null +++ b/docs/standards/infra/observability-health.md @@ -0,0 +1,219 @@ +# observability / health 기준 + +## 목적 + +이 문서는 1000+ 서비스가 공통으로 따르는 observability 기준선이다. metrics 수집 경로, golden signal 정의, 로그 포맷 / 수집 stack, trace 수집(OTel), health endpoint 외부 비공개 원칙, cardinality 가드를 한 파일에 고정한다. + +## 공식 / 업계 근거 + +- **Google SRE Book (Ch.6)**: Four Golden Signals = **Latency, Traffic, Errors, Saturation**. 운영 대시보드의 기본 구성 원칙. +- **RED method (Tom Wilkie, Weaveworks)**: request-driven service에 대해 **Rate, Errors, Duration**. +- **USE method (Brendan Gregg)**: resource에 대해 **Utilization, Saturation, Errors**. +- **kube-prometheus-stack**: Prometheus Operator를 통한 `ServiceMonitor` / `PodMonitor` CRD가 primary scrape path. +- **Prometheus annotation fallback**: `prometheus.io/scrape: "true"` 등은 Operator가 없을 때만 사용. +- **OpenTelemetry**: OTLP protocol + OTel Collector (Deployment gateway + DaemonSet agent) 가 표준. +- **Log shipping canonical stacks**: Loki + Grafana Alloy (또는 Promtail) / Fluent Bit → OpenSearch. 한 플랫폼에서 둘 이상 섞지 않는다. +- `kubectl events` (1.27+ stable) — 기존 `kubectl get events`보다 sort/watch 기본 제공. +- metrics-server: HPA/VPA와 `kubectl top` 을 위한 최소 resource metric. full metrics와 분리. + +## 기본 규칙 + +### 1. Four Golden Signals를 모든 서비스 대시보드의 골격으로 + +각 traffic-facing service는 최소 4개 signal을 노출한다. + +- **Latency**: `request_duration_seconds` histogram (p50/p95/p99). +- **Traffic**: `requests_per_second` by method/status. +- **Errors**: `error_rate` (5xx / 전체). +- **Saturation**: resource utilization (CPU / memory / connection pool / queue depth). + +SLO / alert / dashboard가 이 4개에서 시작한다. + +### 2. RED는 request-driven, USE는 resource에 쓴다 + +- HTTP / gRPC 서비스 → **RED**. +- Node / disk / CPU / DB pool → **USE**. +- 두 방법론을 동시에 활용 가능 (golden signal은 양쪽 합집합). + +### 3. ServiceMonitor / PodMonitor 를 primary scrape path로 + +kube-prometheus-stack을 운영하는 플랫폼에서는 `ServiceMonitor` CRD가 표준이다. + +- `selector.matchLabels` 로 대상 Service 매칭. +- `namespaceSelector` 명시 (암묵적 전체 허용 금지). +- `endpoints[].port` 는 **named port**, 숫자 port 금지. +- `interval` (기본 30s), `scrapeTimeout` (interval < interval) 명시. +- `scheme` (http/https) 명시. +- `bearerTokenSecret` / `tlsConfig` 로 인증 scrape. +- `relabelings` 로 label 위생 (pod_template_hash drop 등). + +Pod에 직접 연결되는 경우 (Service가 없는 워크로드) `PodMonitor` 사용. + +### 4. Annotation-based scrape 는 fallback + +`prometheus.io/scrape: "true"` 계열 annotation은 Prometheus가 Operator 없이 kubernetes_sd_configs로 직접 discover하는 방식이다. ServiceMonitor 대비 label relabel / auth / tls 제어가 약하다. + +- kube-prometheus-stack이 있는 환경: **사용 금지**, ServiceMonitor 통일. +- legacy / 교체 진행 중인 플랫폼: 전환 기간 동안만 사용. + +지원 annotation: +- `prometheus.io/scrape: "true"` +- `prometheus.io/port: "8081"` +- `prometheus.io/path: "/metrics"` +- `prometheus.io/scheme: "http"` + +### 5. metrics port는 외부 비공개, NetworkPolicy로 scraper만 허용 + +- `/metrics` 는 절대 Ingress 경로에 노출하지 않는다. +- metrics port는 별도 containerPort (ex: 8081, 9000). +- NetworkPolicy로 **monitoring namespace의 prometheus pod만** 해당 port에 ingress 허용. + +### 6. Cardinality는 label 설계 단계에서 가드 + +Prometheus TSDB에서 **각 label value 조합 = 새 time series**. cardinality 폭발은 쿼리 OOM / storage 폭증의 가장 흔한 원인. + +금지 label: + +- `user_id`, `tenant_id` (높은 기수) — 대신 top-N aggregation 또는 별도 logging. +- `path` (path에 UUID / numeric ID 포함) — template된 route로 바꾼다 (`/users/:id`). +- `url` 전체, `request_id`, `trace_id`, `session_id`. +- timestamp, epoch value. + +허용 label 예: +- `method` (GET/POST/…), `status_code` (bucketed 2xx/4xx/5xx가 더 안전), `route` (template). + +규칙: **한 metric당 series 수 ≤ 10,000** 목표. 10만 넘어가면 review. + +### 7. Histogram 을 p99 표현 기본값으로 + +- summary는 aggregatable 하지 않다 (서비스 간 p99 합산 불가). +- `histogram_quantile()` 를 위한 `_bucket` + `_count` + `_sum` 를 쓴다. +- bucket boundary는 SLO에 맞춰 튜닝 (`le: 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10`). + +### 8. 로그는 JSON structured, stdout/stderr 로만 + +application log는 **JSON one-line per record**, stdout/stderr로 출력. PVC / hostPath / 컨테이너 내부 file 금지. + +필수 field: + +- `timestamp` (ISO 8601 RFC3339, UTC). +- `level` (`DEBUG`/`INFO`/`WARN`/`ERROR`). +- `service` (= `app.kubernetes.io/name`). +- `trace_id`, `span_id` (OTel에서 주입). +- `message`. +- `error` (object with `type`, `message`, `stacktrace` when level=ERROR). +- optional: `user_id` (hashed), `request_id`, `http_status`. + +### 9. 로그 수집 stack은 한 플랫폼당 하나 + +canonical choice: + +- **Loki + Grafana Alloy (권장)**: 낮은 storage cost, Grafana 통합. +- **Fluent Bit → OpenSearch/Elasticsearch**: full-text search 중심, 높은 storage cost. + +플랫폼 하나에서 둘 다 운영하지 않는다. AI agent가 매니페스트 생성할 때 플랫폼 선택을 context에서 받아 일관되게 적용한다. + +node-level: DaemonSet으로 agent 배포 → tail `/var/log/containers/*.log`. + +### 10. 민감정보는 로그 금지 + 자동 masking + +금지: + +- access/refresh token, bearer, API key. +- DB password, connection string의 password 부분. +- Vault secret value. +- full Authorization header. +- PII (email, phone, SSN 등) 원문. + +구현: + +- logging framework의 structured field 에서만 쓰고 `toString()` 흐름 차단. +- 중앙 수집 파이프라인에 redaction filter 추가. +- 의심스러운 pattern은 debug 로그에서도 masking. + +### 11. OpenTelemetry / OTLP를 trace / metrics 통로로 + +- 애플리케이션: OTel SDK로 계측, OTLP (gRPC 4317 또는 HTTP 4318) 로 export. +- 수집: **OTel Collector DaemonSet (agent)** → **OTel Collector Deployment (gateway)** → backend (Tempo / Jaeger / New Relic / Datadog). +- gateway에서 sampling / tail-based sampling / PII scrubbing 적용. +- app은 cluster 내부 agent endpoint만 알면 됨 (localhost:4317 → DaemonSet). + +### 12. health / metrics / admin endpoint 는 외부 비공개 기본값 + +외부 비공개 대상: + +- `/health`, `/health/*`, `/actuator/*`. +- `/metrics`. +- `/admin`, `/internal`, `/debug`. +- Keycloak management port 9000. +- Vault `/sys/*` endpoint. + +외부 공개는 명시적 review 필요. + +### 13. probe는 health endpoint 와 목적을 구분 + +- probe용 endpoint는 shallow, 빠른 응답. +- 운영자 점검용 deep health는 별도 endpoint (ex: `/ops/deep-health`), 인증 필요. +- Prometheus 가 `/metrics` 를 스크레이프하더라도 probe가 `/metrics` 를 쓰지 않는다 (cost 문제). + +### 14. `kubectl events` 를 기본 event 조회 수단으로 (1.27+) + +Kubernetes 1.27+ 부터 `kubectl events` 가 stable. + +- `kubectl events -A --watch` — cluster-wide live view. +- `kubectl events -n <ns> --for pod/<name>` — 특정 오브젝트. +- `kubectl events --types=Warning` — 경고만. + +`kubectl get events` 대비 sort-by-timestamp 기본, watch 안정적. + +### 15. 알림 기준: Golden Signal 에 SLO 를 먼저 정의 + +- availability SLO: 99.9% / 99.95% 등. +- latency SLO: p99 < 500ms. +- error budget: (1 - SLO) × 기간. +- alert는 **burn rate** 기준 (1h/6h fast burn + 6h/3d slow burn 이중 창). + +단순 "CPU > 80%" alert 는 actionable 하지 않다 (saturation은 dashboard용, 알림은 SLO 기반). + +### 16. 워크로드별 기본 권장안 + +#### auth-server (Spring Boot) +- metrics: micrometer + prometheus registry, `/actuator/prometheus`. +- ServiceMonitor with named port `metrics` (8081). +- tracing: OTel Java agent, OTLP to DaemonSet. +- logging: logback JSON encoder → stdout. + +#### keycloak +- metrics: management port 9000 `/metrics`. +- ServiceMonitor 대상, `/admin` 과 `9000` 외부 비공개. +- event metric cardinality는 `event_type` level 까지만, user / session ID 금지. + +#### vault +- `/sys/metrics?format=prometheus` (token 필요) → ServiceMonitor with `bearerTokenSecret`. +- `/sys/health` 는 sealed/standby 구분해서 alert 룰 따로. + +#### minio +- `/minio/v2/metrics/cluster` + `/node` + `/bucket`. +- bucket metric은 bucket 수 폭증 시 cardinality 주의. + +#### db (PostgreSQL / MySQL) +- postgres_exporter / mysqld_exporter sidecar 또는 별도 Deployment. +- USE method (connection pool saturation, lock wait). + +#### ingress-controller +- RED + upstream response time. +- path label은 반드시 template 화. + +## 프로젝트 기준 요약 + +- Four Golden Signals를 dashboard 골격으로, RED/USE를 세부 방법론으로. +- ServiceMonitor / PodMonitor 를 primary scrape, annotation은 fallback. +- metrics port는 NetworkPolicy로 monitoring namespace만 허용. +- Cardinality는 label 설계에서 가드 (user_id / raw path / timestamp 금지). +- 로그는 JSON structured stdout, trace_id/span_id 포함. +- log shipping stack은 플랫폼당 하나 (Loki+Alloy 또는 Fluent Bit→OpenSearch). +- 로그에 민감정보 금지, 중앙 파이프라인 redaction. +- OpenTelemetry DaemonSet agent + Deployment gateway. +- health / metrics / admin endpoint 외부 비공개. +- `kubectl events` 를 기본 event 조회 수단으로 (1.27+). +- alert는 SLO burn rate 기반, CPU% 같은 단순 threshold 금지. diff --git a/docs/standards/infra/operations-runbook-upgrade-rollback.md b/docs/standards/infra/operations-runbook-upgrade-rollback.md new file mode 100644 index 0000000..4878948 --- /dev/null +++ b/docs/standards/infra/operations-runbook-upgrade-rollback.md @@ -0,0 +1,301 @@ +# operations / runbook / upgrade / rollback 기준 + +## 목적 + +이 문서는 1000+ 서비스를 운영하는 플랫폼에서 모든 변경이 거쳐야 하는 **runbook 규칙**을 고정한다. GitOps 원본, rolling update 파라미터 튜닝, 진보된 배포 전략 (Argo Rollouts, canary, blue/green), K3s 자동 업그레이드, node 작업(drain/cordon), rollback 의미와 경계가 대상이다. + +## 공식 / 업계 근거 + +- Kubernetes `Deployment.spec.strategy`: `RollingUpdate` (default, maxSurge/maxUnavailable 25%/25%) 또는 `Recreate` (singleton). +- `kubectl rollout`: `status --timeout`, `history`, `undo --to-revision`, `pause`, `resume`, `restart`. +- **Argo Rollouts** (https://argoproj.github.io/argo-rollouts/): `Rollout` CRD가 Deployment의 대체제로 canary / blueGreen 지원. `AnalysisTemplate` + Prometheus metric으로 자동 승격/롤백. +- **Flagger**: Argo Rollouts의 대안, service-mesh 친화적 (Istio/Linkerd/App Mesh). +- **ArgoCD**: sync wave (`argocd.argoproj.io/sync-wave: "<int>"`), sync phase hook (`PreSync`, `Sync`, `PostSync`, `SyncFail`, `PostDelete`). +- **Flux**: `Kustomization.spec.dependsOn` 으로 순서 명시. +- `kubectl drain --ignore-daemonsets --delete-emptydir-data --grace-period=30` 가 node maintenance 표준. PDB를 존중하므로 PDB 설계가 전제. +- **K3s System Upgrade Controller** (https://docs.k3s.io/upgrades/automated): `Plan` CRD로 server-plan / agent-plan 분리, concurrency 제어, nodeSelector로 대상 제한. +- Flyway `validate`, `info`, `migrate` — application rollout 과 분리. + +## 기본 규칙 + +### 1. Source of truth = Git 의 Kustomize / Helm overlay + +운영 변경은 Git에 있는 선언형 원본에서만 시작한다. + +기본 금지: + +- 운영 노드에서 manifest 파일 직접 편집. +- `kubectl edit` 로 live object 수정 후 문서 없음. +- `/var/lib/rancher/k3s/server/manifests` 를 1차 원본처럼 사용. + +### 2. 변경 절차는 render → diff → apply → status → post-check 로 고정 + +``` +1. kubectl kustomize <overlay> # render +2. kubectl diff -k <overlay> # preview +3. kubectl apply -k <overlay> # apply +4. kubectl rollout status ... --timeout=10m +5. post-check (smoke test, SLO check) +``` + +`diff` 없는 `apply` 는 프로덕션 금지. + +### 3. `rollingUpdate.maxSurge` / `maxUnavailable` 는 워크로드별 튜닝 + +기본값 `25% / 25%` 는 **replica 수에 따라 틀릴 수 있다**. + +- **replica 2**: default는 maxUnavailable 0, maxSurge 1 추천 → 항상 최소 2 유지 + 1 추가. +- **replica 3**: `maxSurge: 1, maxUnavailable: 0` → 가용성 우선. +- **replica 10+**: `maxSurge: 25%, maxUnavailable: 10%` → 속도와 가용성 균형. +- **latency-sensitive**: `maxUnavailable: 0` 고정. +- **cost-sensitive large fleet**: `maxSurge: 10%, maxUnavailable: 10%`. + +### 4. `Recreate` 전략은 singleton / 동시성 금지 워크로드에만 + +- PVC ReadWriteOnce + 단일 pod 가 전제인 app (legacy MySQL single instance 등). +- Old/New 동시 실행 시 데이터 부정합이 나는 앱. +- 짧은 downtime이 허용되는 경우. + +일반 stateless app은 절대 Recreate 쓰지 않는다. + +### 5. `kubectl rollout` 명령 계열 + +- `kubectl rollout status deployment/<name> --timeout=10m`: 타임아웃 필수. +- `kubectl rollout history deployment/<name>`: revision 확인. +- `kubectl rollout undo deployment/<name> --to-revision=<N>`: 이전 revision으로 되돌림. +- `kubectl rollout pause deployment/<name>`: 롤아웃 중단 (부분 적용 뒤 관찰용). +- `kubectl rollout resume deployment/<name>`: 재개. +- `kubectl rollout restart deployment/<name>`: 이미지 변경 없이 Pod 재생성 (secret 갱신 후 등). + +### 6. 진보된 배포 전략: Argo Rollouts (canary / blueGreen) + +표준 `Deployment` 로는 부족한 경우 (자동화된 canary, metric-based 승격) 에는 Argo Rollouts 의 `Rollout` CRD 를 쓴다. + +- **canary**: `steps:` 로 traffic %, pause, analysis 순서 기술. +- **blueGreen**: `activeService` / `previewService` 로 서비스 두 개 전환. +- **AnalysisTemplate**: Prometheus query로 success rate / p99 latency 측정 → 자동 promote or abort. +- **대안 Flagger**: Istio / Linkerd / App Mesh + Flagger `Canary` CRD. service mesh 있는 플랫폼에서 선택. + +### 7. Argo Rollouts 기본 canary 스텝 + +``` +steps: + - setWeight: 10 + - pause: { duration: 2m } + - analysis: { templates: [{ templateName: success-rate }] } + - setWeight: 25 + - pause: { duration: 5m } + - analysis: { templates: [...] } + - setWeight: 50 + - pause: { duration: 10m } + - setWeight: 100 +``` + +각 setWeight 사이에 pause + analysis 로 자동 abort gate. + +### 8. blueGreen 은 traffic cutover 가 필요한 경우만 + +blueGreen은: +- schema 변경이 양립 불가해서 instant cutover가 필요. +- 외부 system 과 coordination 필요 (rollback도 instant). + +일반 변경은 canary 가 우선. blueGreen 은 trade-off (리소스 2배, warm-up 부담) 때문에 default 가 아니다. + +### 9. ArgoCD sync wave / hook + +배포 순서는 sync wave annotation 으로 명시한다. + +- `argocd.argoproj.io/sync-wave: "-2"` → CRD. +- `argocd.argoproj.io/sync-wave: "-1"` → namespace, secret store, operator. +- `argocd.argoproj.io/sync-wave: "0"` → 본 리소스 (기본). +- `argocd.argoproj.io/sync-wave: "1"` → Ingress, post-deploy job. + +hook: + +- `PreSync`: schema migration job. +- `Sync`: 본 리소스 (default). +- `PostSync`: smoke test Job, cache warm. +- `SyncFail`: 실패 시 알림 Job. +- `PostDelete`: 삭제 후 cleanup. + +### 10. Flux Kustomization dependsOn + +Flux 플랫폼에서는 `Kustomization.spec.dependsOn` 으로 순서를 명시한다. + +```yaml +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: auth-server + namespace: flux-system +spec: + interval: 5m + path: ./k8s/overlays/prod + prune: true + sourceRef: + kind: GitRepository + name: platform + dependsOn: + - name: cert-manager + - name: postgres-operator +``` + +### 11. node 작업 (drain / cordon) 은 PDB 존중 흐름 + +``` +1. kubectl cordon <node> +2. kubectl drain <node> \ + --ignore-daemonsets \ + --delete-emptydir-data \ + --grace-period=30 \ + --timeout=10m +3. 작업 수행 +4. kubectl uncordon <node> +``` + +옵션 의미: + +- `--ignore-daemonsets`: DaemonSet pod는 evict 대상이 아님. +- `--delete-emptydir-data`: ephemeral 데이터 수용. +- `--grace-period=30`: preStop + terminationGracePeriod 존중. +- `--timeout=10m`: PDB 로 인한 무한 대기 차단. + +**PDB 없는 critical workload** 는 drain 실패 또는 downtime 유발. PDB 설계가 선결 조건. + +### 12. K3s System Upgrade Controller + +K3s 자동 업그레이드는 `system-upgrade-controller` 의 `Plan` CRD 를 쓴다. + +구성: + +- **server-plan**: control-plane 먼저 업그레이드. `concurrency: 1`, nodeSelector: `node-role.kubernetes.io/control-plane=true`. +- **agent-plan**: agent 노드. `concurrency: 1~N` (small cluster는 1), server-plan 완료 후. +- `cordon: true`, `drain.force: true, deleteEmptydirData: true, ignoreDaemonsets: true` 표준. +- `version:` 또는 `channel:` 로 target K3s version. +- `upgrade.image: rancher/k3s-upgrade` + 버전 tag. + +### 13. blue/green via two Services (수동 패턴) + +Argo Rollouts 없이 간단 blue/green 이 필요하면: + +- Deployment A (blue), Deployment B (green) 각각. +- Service selector 의 `version` label 만 전환 (blue → green). +- rollback = selector 를 다시 blue 로. +- canary 는 이 방식으로 구현하지 않는다 (Argo Rollouts 사용). + +### 14. Rollback 은 DB rollback 이 아니다 + +**가장 자주 오해되는 규칙**. 반드시 내재화한다. + +- `kubectl rollout undo` 는 Deployment workload 만 되돌린다. +- **DB schema 변경 / migration 은 되돌아가지 않는다**. +- rollback 설계는 **schema-forward-compatible** 로 한다: + - Expand (schema 추가 → 이전 코드도 호환) → Migrate (데이터 이전) → Contract (이전 코드용 schema 제거). Expand/Contract를 별도 릴리스로 분리. +- 긴급 상황에서도 rollout undo 로 DB 를 되돌릴 수 없다. DB 는 별도 restore 절차 (PITR, snapshot). + +### 15. Flyway validate → migrate 를 application rollout 과 분리 + +``` +1. flyway validate # checksum / 순서 확인 +2. flyway info # 대기 migration 확인 +3. flyway migrate # 실제 적용 +4. kubectl apply -k ... # app rollout (별도 단계) +5. kubectl rollout status # 앱 기동 확인 +``` + +application startup 안에 migration 을 숨기지 않는다 (rollout 실패와 migration 실패 섞임). + +### 16. restore 와 rollout 구분 + +**rollout** (workload 변경 되돌리기): + +- `kubectl rollout undo` 또는 이전 Git revision apply. +- Deployment / StatefulSet / DaemonSet 대상. + +**restore** (상태 복구): + +- K3s control plane → etcd snapshot restore. +- PostgreSQL → PITR / base backup + WAL. +- Vault → raft snapshot restore. +- MinIO → replication resync 또는 DR site cutover. + +서로 다른 runbook 이다. "rollback" 이라는 한 단어로 뭉치지 않는다. + +### 17. 긴급 변경도 runbook 을 벗어나지 않음 + +장애 대응 hot-fix 라도: + +- 어떤 overlay 를 바꿨는지 commit / PR. +- 어떤 명령을 실행했는지 기록 (shell history / runbook log). +- 사후 Git 반영 (live-cluster drift 제거). +- 임시 조치의 만료 / 정리 시점 기록. + +### 18. destructive 작업은 명시 승인 + 증거 보존 + +요구 작업: + +- namespace 삭제. +- PVC 삭제. +- StatefulSet 삭제 + PVC 정리. +- K3s snapshot restore. +- Vault raft snapshot restore. +- DB restore overwrite. +- MinIO bucket purge / replication cutover. + +규칙: + +- 2-person approval. +- 작업 전 full snapshot 확보. +- dry-run / diff 선행. +- post-mortem 작성. + +## 권장 절차 템플릿 + +### 일반 app 변경 +1. PR 생성 + review +2. `kubectl kustomize <overlay>` → 렌더 검증 +3. `kubectl diff -k <overlay>` → 변경 확인 +4. `kubectl apply -k <overlay>` +5. `kubectl rollout status deployment/<name> --timeout=10m` +6. smoke test + SLO dashboard 확인 +7. 결과 PR comment + +### DB migration 포함 변경 +1. migration SQL review +2. `flyway validate` → `flyway info` → `flyway migrate` +3. app overlay apply +4. `kubectl rollout status` +5. post-check +6. 실패 시 DB runbook 과 app rollback runbook 분리 적용 + +### K3s control plane upgrade +1. 해당 버전 release notes / caveat 확인 +2. etcd snapshot 확보 +3. `Plan` CRD apply (server-plan) +4. control-plane 업그레이드 완료 확인 +5. `Plan` CRD apply (agent-plan) +6. agent 업그레이드 완료 확인 +7. packaged component 영향 확인 +8. 실패 시 etcd restore runbook + +### node maintenance +1. `kubectl cordon <node>` +2. `kubectl drain <node> --ignore-daemonsets --delete-emptydir-data --grace-period=30 --timeout=10m` +3. 작업 수행 +4. `kubectl uncordon <node>` +5. `kubectl get pods -o wide` 로 재배치 확인 + +## 프로젝트 기준 요약 + +- source of truth = Git Kustomize/Helm overlay, live-cluster 수정 금지. +- render → diff → apply → rollout status → post-check 순서 고정. +- rollingUpdate 파라미터는 워크로드별 튜닝, default 25%/25% 맹신 금지. +- Argo Rollouts 로 canary + AnalysisTemplate 자동 gate, Flagger 는 mesh 환경 대안. +- ArgoCD sync wave / hook, Flux dependsOn 으로 순서 명시. +- node 작업은 PDB 존중 drain 흐름, PDB 설계가 선결. +- K3s 업그레이드는 System Upgrade Controller `Plan` CRD (server → agent). +- blue/green 은 cutover 필요 시, canary 가 default. +- **rollback 은 DB rollback 이 아니다** — schema-forward-compatible 로 설계. +- Flyway validate/migrate 는 application rollout 과 분리. +- restore 와 rollout 은 다른 runbook. +- destructive 작업은 2-person approval + snapshot. diff --git a/docs/standards/infra/resources-probes-availability.md b/docs/standards/infra/resources-probes-availability.md new file mode 100644 index 0000000..29c2079 --- /dev/null +++ b/docs/standards/infra/resources-probes-availability.md @@ -0,0 +1,199 @@ +# resources / probes / availability 기준 + +## 목적 + +이 문서는 1000+ 서비스를 운영하는 Kubernetes 플랫폼에서 AI coding agent가 생성하는 모든 워크로드 매니페스트의 ground truth다. 모든 rule은 Google SRE / Netflix / Shopify의 실제 프로덕션 합의를 기반으로 한다. + +정하는 것: + +- resource requests/limits를 어떤 값으로, 어떤 QoS class로 줄지 +- probe (startup / readiness / liveness) 세 축을 어떻게 분리할지 +- 가용성(PDB / topologySpread / HPA)을 어떤 조합으로 구성할지 +- K3s 환경에서 metrics-server 전제를 어떻게 다룰지 + +## 공식 / 업계 근거 + +- Kubernetes QoS class는 resources 값에 의해 자동 결정된다 (`Guaranteed`, `Burstable`, `BestEffort`). +- CPU는 compressible resource로 limit 초과 시 throttle된다. memory는 incompressible로 OOM kill된다. +- Tim Hockin (Google, Kubernetes co-founder) 및 다수 SRE 컨퍼런스 토크: **CPU limit는 CFS throttling을 quota 미만에서도 유발하므로 대부분의 프로덕션 워크로드에서 제거한다**. CPU request만 설정하여 노드 capacity를 공정 공유한다. +- memory limit는 OOM kill의 유일한 제어 수단이므로 반드시 설정한다. +- `topologySpreadConstraints`는 1.19+ stable. zone과 host 두 축으로 skew를 제한하는 것이 표준이다. +- `podAntiAffinity`는 legacy 대안, 현대 가이드는 topologySpreadConstraints 우선. +- HPA v2 (`autoscaling/v2`) 는 `behavior` block으로 scale up/down stabilizationWindow와 policy를 분리 제어한다. +- PodDisruptionBudget은 `maxUnavailable` 또는 `minAvailable`. 대규모 fleet에서는 `maxUnavailable` 권장 (replica scale 변화 추종). +- startup probe는 성공 전까지 liveness/readiness를 차단한다. slow boot 서비스에 필수. +- Kubernetes 1.29+ native sidecar: init container에 `restartPolicy: Always` 명시. + +## 기본 규칙 + +### 1. QoS class는 의도적으로 선택한다 + +QoS class는 `resources` 값의 결과물이 아니라 **선택**이다. + +- **Guaranteed**: 모든 컨테이너의 request == limit. 가장 높은 eviction 우선순위 보호. + - 적용: latency-sensitive JVM (Keycloak, auth-server critical tier), stateful 단일 인스턴스 (vault active), 단일 ReplicaSet critical path. +- **Burstable**: request < limit 또는 일부만 설정. 탄력적 CPU burst 허용. + - 적용: stateless HTTP API, worker, generic service — 기본값. +- **BestEffort**: request/limit 모두 없음. 가장 먼저 evict됨. + - 적용: 일시적 debugging pod, 무영향 experiment. 프로덕션 금지. + +### 2. CPU limit anti-pattern — 기본은 CPU request only + +Google SRE 및 Tim Hockin의 공식 stance는 "대부분의 워크로드에서 CPU limit를 설정하지 말 것"이다. Linux CFS의 quota 회계가 sub-period burst에서도 throttle을 유발하기 때문이다. + +기본: + +- **CPU**: request만 설정, limit 생략. +- **Memory**: limit 반드시 설정. + - Guaranteed를 원하면: `limits.memory == requests.memory`. + - Burstable 기본값: `limits.memory = 1.1 ~ 1.5 × requests.memory`. + +예외 (CPU limit를 설정해야 하는 경우): + +- multi-tenant 노드에서 noisy neighbor가 측정 가능한 손해를 유발. +- batch/cron Job에서 예산 통제가 필요. +- billing-backed 측정으로 인한 compliance 요구. + +### 3. requests 값은 측정 기반으로 잡는다 + +- p95 cpu usage × 1.2 가 request 시작점. +- p99 memory (steady state) × 1.3 이 memory request 시작점. +- 최초 배포는 **overprovision** 으로 시작 → 1~2주 관측 후 right-sizing. +- VPA recommendation을 참고하되 자동 적용은 하지 않는다 (review 필요). + +### 4. `limit`만 있고 `request`가 없는 구성 금지 + +Kubernetes는 request 미설정 시 limit를 request로 복사한다. 이는 암묵적 Guaranteed QoS로 귀결되며 의도와 다를 수 있다. 반드시 둘 다 명시한다. + +### 5. Probe는 세 축으로 분리한다 + +- **startup probe**: "부팅이 끝났는가". 성공 전까지 readiness/liveness는 실행되지 않는다. + - 필수: Keycloak, Vault, JVM warm-up이 긴 서비스. + - 타이밍 규칙: `failureThreshold × periodSeconds ≥ 최악의 cold start (p99)`. 예: Keycloak `periodSeconds: 10, failureThreshold: 30` = 300s. +- **readiness probe**: "지금 트래픽을 받아도 되는가". 실패 시 Service endpoint에서 제외. + - 모든 traffic-facing 서비스 필수. + - 외부 의존성 전체 가용성을 묶지 않는다 (동시 탈락 방지). +- **liveness probe**: "재시작이 치료인가" (deadlock only). + - Default = 설정하지 않거나 readiness와 다른 가벼운 self-check. + - **잘못 설정하면 cascading restart 유발**. Kubernetes 공식 문서 명시. + +### 6. readiness는 shallow, liveness는 더 shallow + +readiness는 "app loop이 요청을 처리 가능한가"까지만 검사한다. DB connection pool 초기화처럼 intra-pod 조건은 OK. 외부 DB `SELECT 1` 전체 가용성 체크는 금지. + +liveness는 process deadlock 감지 전용. HTTP endpoint면 `/livez` 같은 매우 가벼운 200 응답. + +### 7. topologySpreadConstraints를 기본 가용성 primitive로 + +production multi-zone cluster에서는 **zone + host 두 축** 모두 제약한다. + +```yaml +topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: DoNotSchedule + labelSelector: + matchLabels: + app.kubernetes.io/name: auth-server + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: auth-server +``` + +- zone `DoNotSchedule`: 프로덕션에서 zone 장애 격리에 필수. +- host `ScheduleAnyway`: 노드 부족 시 배포 불가 방지. + +### 8. podAntiAffinity는 legacy로 본다 + +topologySpreadConstraints가 등장한 뒤 podAntiAffinity는 대부분의 use case에서 대체되었다. 신규 매니페스트는 topologySpreadConstraints를 우선 적용한다. + +예외: 단순 "한 노드에 두 개 이상 금지" 규칙만 필요하고 spread 회계가 불필요한 경우. + +### 9. HPA는 autoscaling/v2, behavior block 필수 + +`autoscaling/v1`은 더 이상 사용하지 않는다. `autoscaling/v2`를 기본으로 한다. + +- `metrics:` 유형: `Resource` (cpu/memory), `Pods`, `Object`, `External`, `ContainerResource`. +- `behavior.scaleUp.stabilizationWindowSeconds: 0` (트래픽 급증에 빠르게 반응). +- `behavior.scaleDown.stabilizationWindowSeconds: 300` (flapping 방지). +- `policies` 조합: `type: Percent` (현 replica의 X%)와 `type: Pods` (절대 수) 동시 지정, `selectPolicy: Max` 또는 `Min`. + +### 10. HPA 전제 조건 + +- resource requests가 먼저 잡혀 있어야 한다 (utilization target이 request 기준). +- startup probe가 안정화되어 있어야 한다 (scale-up 중 flapping 방지). +- 해당 워크로드가 **horizontal scale로 효과가 있는** 성격이어야 한다. stateful / DB / quorum 기반은 HPA 비대상. +- K3s metrics-server가 packaged로 배포되어 있음을 전제로 하되, availability를 runbook에서 점검한다. + +### 11. PDB는 fleet 규모에 맞춰 `maxUnavailable` 우선 + +- replica ≥ 3: `maxUnavailable: 1` 또는 `maxUnavailable: 25%`. +- replica 대규모 (10+): `maxUnavailable: 10%` 권장 (유연성). +- replica 2: `maxUnavailable: 1`. +- replica 1: PDB 금지 (node drain을 막는다). +- quorum 기반 (etcd, vault raft, DB cluster): `minAvailable` 로 quorum 수 명시. + +### 12. PDB zero disruption 금지 + +`maxUnavailable: 0` 또는 `minAvailable: 100%` 는 node drain / maintenance를 완전 차단한다. Kubernetes 업그레이드 자체가 불가능해진다. 명시적 예외 승인 없이 사용 금지. + +### 13. init container 와 sidecar 순서 (1.29+) + +- **init container**: main 전에 실행, 완료 후 종료. schema migration, secret preparation 용. +- **native sidecar (1.29+)**: init container에 `restartPolicy: Always` 명시. main과 병렬 실행, main 종료 후 종료. + - 사용: log forwarder, metrics exporter, service mesh proxy. +- `initContainers` 배열 순서가 실행 순서다. + +### 14. 워크로드별 기본 권장안 + +#### auth-server (stateless Spring Boot) +- QoS: **Burstable**. +- CPU: request only (`500m`). Memory: request `1Gi`, limit `1.5Gi`. +- Probes: startup `/actuator/health/started` (60s), readiness `/actuator/health/readiness`, liveness `/actuator/health/liveness`. +- HPA: CPU 70%, min 3, max 20, scale-down 300s. +- PDB: `maxUnavailable: 1`. +- topologySpread: zone `DoNotSchedule`, host `ScheduleAnyway`. + +#### keycloak (JVM, slow boot, latency-sensitive) +- QoS: **Guaranteed** (request == limit, memory 2Gi 고정). +- CPU: request `1`, limit `1` (Guaranteed 요구). +- Probes: startup 5분 budget (`periodSeconds: 10, failureThreshold: 30`), readiness `/health/ready` on 9000, liveness `/health/live` on 9000. +- HPA: 보통 **비대상**. 고정 replica (3)로 시작, 측정 후 검토. +- PDB: `maxUnavailable: 1`. + +#### vault (raft quorum) +- QoS: **Guaranteed**. +- Probes: readiness/liveness는 raft sealed/active 상태 구분. +- HPA: 비대상. +- PDB: `minAvailable: 2` (3-node raft 기준 quorum 보존). + +#### minio (erasure coded storage) +- QoS: **Guaranteed**. +- PDB: `minAvailable: N-1` (erasure set 기준). +- HPA: 비대상. + +#### migration-flyway (Job) +- probe 없음 (Job은 probe 무의미). +- requests 명시, limit는 memory만. +- activeDeadlineSeconds 설정. +- HPA/PDB 비대상. + +#### ingress-controller +- QoS: **Burstable** 또는 Guaranteed (tier에 따라). +- HPA 후보 (traffic 기반). +- PDB: `maxUnavailable: 1`. + +## 프로젝트 기준 요약 + +- QoS는 의도적으로 선택. Guaranteed는 latency-sensitive JVM, Burstable은 stateless 기본. +- CPU limit 기본 제거 (throttling 회피). Memory limit 필수. +- requests/limits 함께 명시. limit만 단독 금지. +- probe 세 축 분리. startup 타이밍은 worst-case cold start 기준. +- topologySpreadConstraints zone + host 두 축으로 기본 구성. +- HPA v2 + behavior block. resource requests / startup 안정화 후 적용. +- PDB는 `maxUnavailable` 우선, replica 전략과 함께 결정. +- 1.29+ native sidecar는 init container `restartPolicy: Always`. +- K3s metrics-server는 HPA 전제로만 신뢰, full metrics는 별도 stack. diff --git a/docs/standards/infra/scripts.md b/docs/standards/infra/scripts.md new file mode 100644 index 0000000..88fd45b --- /dev/null +++ b/docs/standards/infra/scripts.md @@ -0,0 +1,293 @@ +# infra scripts 기준 + +## 목적 + +이 문서는 1000+ 서비스 플랫폼에서 인프라 스크립트가 지켜야 할 품질 기준선이다. 스크립트는 선언형 원본 (Kustomize / Helm / ArgoCD / Flux) 을 **대체하지 않는다**. 렌더 / diff / 적용 / 백업 / 복구 / 부트스트랩을 **orchestration** 하는 얇은 레이어로 제한한다. + +## 공식 / 업계 근거 + +- **Google Shell Style Guide**: `#!/usr/bin/env bash`, `set -e`, `main "$@"`, function-first, `local`. +- **Unofficial Bash Strict Mode (Aaron Maxwell)**: `set -euo pipefail` + `IFS=$'\n\t'` 가 사실상 표준. +- **ShellCheck** (https://www.shellcheck.net/): 정적 분석. CI에서 mandatory. +- **shfmt** (mvdan/sh): 자동 포맷터. line-length / indent 규격 강제. +- **GitOps 원칙** (Weaveworks 정의): 선언형 원본 + auto-reconcile. 스크립트는 원본을 소유하지 않는다. + +## 기본 규칙 + +### 1. 모든 스크립트 맨 위에 strict mode + +```bash +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' +``` + +의미: + +- `set -e` : 명령 실패 시 즉시 종료. +- `set -u` : unset variable 참조 시 에러. +- `set -o pipefail` : pipeline 중 하나라도 실패하면 전체 실패. +- `IFS=$'\n\t'` : 기본 IFS에서 space 제거 → 파일명 공백 sane split. + +예외 금지. CI lint 에서 검사. + +### 2. 정리 작업은 `trap` 으로 보장 + +임시 파일 / 임시 kubeconfig / port-forward / background job 은 반드시 trap EXIT 에서 정리. + +```bash +TMPDIR="$(mktemp -d)" +trap 'rm -rf "${TMPDIR}"' EXIT INT TERM +``` + +- `EXIT`: 정상/비정상 종료 모두 잡음. +- `INT TERM`: signal 기반 종료 시에도 실행. +- trap은 setup 직후 즉시 설치. + +### 3. ShellCheck + shfmt 는 CI 에서 필수 + +- `shellcheck -S style scripts/**/*.sh` → CI fail 시 merge 금지. +- `shfmt -i 2 -bn -ci -d scripts/` → 자동 포맷 검증. +- suppress (`# shellcheck disable=...`) 는 **줄 단위**로만, 이유 주석 필수. +- "경고 너무 많아서 꺼둔다" 금지. + +### 4. 표준 `log()` 함수 (ISO 8601 timestamp + level, stderr) + +```bash +log() { + local level="$1"; shift + local ts + ts="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" + printf '%s [%s] %s\n' "${ts}" "${level}" "$*" >&2 +} + +info() { log INFO "$@"; } +warn() { log WARN "$@"; } +error() { log ERROR "$@"; } +fatal() { log FATAL "$@"; exit 1; } +``` + +- stdout 은 머신 판독용 결과 전용. +- stderr 로 로그 → pipeline 안전. +- UTC ISO 8601 로 tz 모호성 제거. + +### 5. 엔트리포인트 `main "$@"` 패턴 + +```bash +usage() { + cat <<'EOF' >&2 +Usage: render-diff-apply.sh [--overlay PATH] [--context NAME] [--yes] + --overlay PATH path to kustomize overlay (required) + --context NAME kube context (required) + --yes skip confirmation for apply +EOF +} + +main() { + # 인자 파싱 + # 환경 검증 + # 함수 호출 + : +} + +main "$@" +``` + +- 엔트리포인트 스크립트는 **얇게**. 비즈니스 로직은 `lib/` 또는 `tasks/`. +- `usage()` 함수 필수. + +### 6. 변수는 `local`, command substitution 은 분리 + +```bash +bad_pattern() { + local ctx="$(kubectl config current-context)" # local 이 exit status 가려버림 +} + +good_pattern() { + local ctx + ctx="$(kubectl config current-context)" # 분리 → $? 보존 +} +``` + +ShellCheck SC2155 가 이것을 잡음. + +### 7. Idempotent 를 기본값으로 + +- `create` 보다 `apply` / `ensure` 성격. +- `kubectl apply -k` 는 idempotent. +- `mkdir -p`, `kubectl create namespace X --dry-run=client -o yaml | kubectl apply -f -` 패턴. +- destroy 성격은 반드시 opt-in. + +### 8. `kubectl diff` → `kubectl apply` 필수 흐름 + +프로덕션 적용 스크립트 기본 흐름: + +``` +1. kubectl kustomize <overlay> > render.yaml # render +2. kubeconform / kubectl apply --dry-run=server # validate +3. kubectl diff -k <overlay> # preview +4. confirm gate (CONFIRM=yes 또는 --yes) +5. kubectl apply -k <overlay> # apply +6. kubectl rollout status ... --timeout=10m # watch +``` + +### 9. `--dry-run=server` 를 validation 기본값으로 + +client-side dry run 은 CRD schema / admission webhook 을 평가하지 않는다. **server-side dry run** 을 쓴다: + +```bash +kubectl apply -k "${OVERLAY}" --dry-run=server +``` + +### 10. destructive 작업은 `--yes` 또는 `CONFIRM=yes` gate + +delete / prune / restore overwrite 류는 명시적 opt-in 없이 실행 금지. + +```bash +if [[ "${CONFIRM:-no}" != "yes" ]]; then + fatal "destructive operation requires CONFIRM=yes" +fi +``` + +또는: + +```bash +if [[ "${YES:-0}" -ne 1 ]]; then + warn "re-run with --yes to confirm" + exit 2 +fi +``` + +### 11. 환경을 암묵적으로 추론하지 않는다 + +- 대상 overlay / namespace / context 는 **명시적 인자**로. +- `kubectl config current-context` 에 몰래 의존 금지. +- 필요한 env var 는 시작 시 `[[ -z "${FOO:-}" ]] && fatal "FOO required"` 로 검증. + +### 12. JSON 파싱은 `jq` / `kubectl -o jsonpath`, 절대 regex 로 하지 않는다 + +```bash +# BAD +kubectl get pod foo -o yaml | grep "image:" | awk '{print $2}' + +# GOOD +kubectl get pod foo -o jsonpath='{.spec.containers[0].image}' + +# GOOD +kubectl get pod foo -o json | jq -r '.spec.containers[0].image' +``` + +kubectl/kubernetes 출력에 regex 쓰면 field 순서 / 라벨 / 버전 변화에 깨진다. + +### 13. 비밀값은 로그 / stdout / 파일에 남기지 않는다 + +- env var / secret value 를 `set -x` 아래에서 직접 사용 금지. +- debug 모드에서는 masking: + +```bash +mask_secrets() { + sed -E \ + -e 's/(password=)[^ ]+/\1***/g' \ + -e 's/(token=)[^ ]+/\1***/g' \ + -e 's/(Authorization: Bearer )[A-Za-z0-9._-]+/\1***/g' +} + +some_command --debug | mask_secrets +``` + +- secret 을 참조해야 하면 `--from-file` 이나 stdin pipe 로 주입, argv 금지. + +### 14. 스크립트는 선언형 원본을 소유하지 않는다 + +**금지**: + +- 대규모 heredoc YAML 생성기 (스크립트 내부에 매니페스트 숨김). +- 환경별 로직이 if/else 로만 존재. +- 스크립트만 실행해야 실제 상태를 알 수 있는 구조. + +**허용**: + +- `kubectl apply -k overlays/<env>` wrapping. +- Helm chart render + apply orchestration. +- backup / restore (stateful data 만 대상). +- bootstrap (namespace, secret store 설치 같은 일회성). +- smoke test. + +### 15. 폴더 구조 + +```text +scripts/ + bin/ # 엔트리포인트 (얇게) + render + diff + apply + backup-k3s + restore-k3s + lib/ # 공통 함수 + common.sh # log, fatal, require_cmd, confirm + kubectl.sh # kubectl wrappers + kustomize.sh # kustomize render helpers + tasks/ # 도메인 작업 + keycloak.sh + vault.sh + flyway.sh + ci/ # CI 검증 전용 + lint.sh + validate.sh +``` + +- `bin/` 파일 이름은 동사. +- `lib/` 는 20개 내외, 잡동사니 함수 금지. +- 하나의 거대 `deploy.sh` 금지. + +### 16. retry 는 함수화, 무한 루프 금지 + +```bash +retry() { + local max="$1"; shift + local delay="$1"; shift + local n=0 + until "$@"; do + n=$((n + 1)) + if (( n >= max )); then + return 1 + fi + sleep "${delay}" + done +} + +retry 5 3 kubectl rollout status deployment/foo --timeout=30s +``` + +backoff 는 선형/지수 명시, 무한 retry 금지. + +### 17. quoting / array 기본값 + +- 모든 변수 전개는 `"${VAR}"`. +- 인자 list 는 array: `args=(--namespace foo --context bar)`. +- `"$@"` 유지. +- unquoted glob / word splitting 금지. + +### 18. 출력 채널 규칙 + +- stdout → 머신 판독 결과 (jsonpath 결과, 렌더된 YAML 등). +- stderr → 로그, 경고, 에러, 진행 표시. +- exit code → 0 success, 1 error, 2 usage error. + +pipeline 하류 도구가 stdout 을 parse 한다는 전제로 작성. + +## 프로젝트 기준 요약 + +- strict mode `set -euo pipefail` + `IFS=$'\n\t'` 필수. +- trap EXIT INT TERM 으로 정리 보장. +- ShellCheck + shfmt CI 필수. +- ISO 8601 UTC + LEVEL 로그 함수 (stderr). +- `main "$@"` 패턴 + usage() 함수. +- local 선언과 command substitution 분리. +- idempotent 기본, destructive 는 `--yes` / `CONFIRM=yes` gate. +- `kubectl diff` → `apply`, `--dry-run=server` validation. +- 환경 추론 금지, overlay/namespace/context 명시. +- JSON 은 jq / jsonpath, 절대 regex 금지. +- secret 은 log / argv 에 남기지 않고 masking. +- 스크립트는 선언형 원본을 소유하지 않는 orchestration 레이어. +- `bin/ lib/ tasks/ ci/` 폴더 분리, giant deploy.sh 금지. diff --git a/docs/standards/infra/security-hardening.md b/docs/standards/infra/security-hardening.md new file mode 100644 index 0000000..4cf5edb --- /dev/null +++ b/docs/standards/infra/security-hardening.md @@ -0,0 +1,183 @@ +# security hardening 기준 + +## 목적 + +이 문서는 K3s/Kubernetes 기반 인프라(1000+ 서비스 규모)에서 +- 어떤 Pod Security Standard(PSS) 수준을 강제할지 +- Pod/ServiceAccount/RBAC/NetworkPolicy/Secret/Image supply chain을 어디까지 하드닝할지 +- Platform 예외를 어떻게 선언할지 +를 단일 ground truth로 고정한다. + +이 문서의 목표는 다음과 같다. + +- root/privileged/host namespace 사용을 기본 금지하고 예외는 manifest로 증명한다 +- allow-all network/RBAC을 운영 기본값으로 두지 않는다 +- Secret의 저장·접근·전송 모든 단계에서 신뢰 경계를 명시한다 +- K3s production hardening(PSS, NetworkPolicy, audit, at-rest encryption)을 묶음으로 본다 + +## 공식 의미 (근거) + +- Kubernetes 1.25부터 `PodSecurityPolicy`(PSP)는 제거되었다. 대체는 **Pod Security Admission (PSA)** + `pod-security.kubernetes.io/*` namespace label이다. +- Pod Security Standards는 `privileged`, `baseline`, `restricted` 세 프로파일이다. `restricted`는 업계 최신 hardening best practice를 반영한다. +- PSA는 `enforce`, `audit`, `warn` 세 모드를 지원하고, 각 모드마다 버전을 `latest`/`vX.Y`로 고정할 수 있다. +- `restricted` 프로파일이 강제하는 주요 필드: `runAsNonRoot=true`, `allowPrivilegeEscalation=false`, `capabilities.drop=["ALL"]`(네트워크 capability는 `NET_BIND_SERVICE`만 추가 허용), `seccompProfile.type in {RuntimeDefault, Localhost}`, host namespace/Port/Path 금지, `privileged=false`, `procMount=Default`, ephemeral volume 화이트리스트. +- NetworkPolicy는 namespace 내 매칭되는 Pod가 하나라도 있으면 그 Pod의 해당 방향 트래픽은 **정책 합집합**만 허용된다(그 외 default deny). 매칭되는 Pod가 없으면 기본은 allow-all이다. +- NetworkPolicy `from`/`to` 원소 내에서 `namespaceSelector`와 `podSelector`를 **동일 엔트리** 안에 두면 AND(교집합), **별도 엔트리**로 두면 OR(합집합)로 계산된다. 이 차이가 cross-namespace 정책 버그의 1순위 원인이다. +- Secret은 기본적으로 etcd에 base64로만 저장되므로 운영 클러스터는 `EncryptionConfiguration`(aescbc/aesgcm/KMS)을 필수로 구성한다. K3s는 `--secrets-encryption` 플래그로 aescbc provider를 활성화한다. +- ServiceAccount token은 Pod에 기본 자동 마운트된다. 1.24부터는 time-bound projected token이 기본이다. +- RBAC는 additive-only이며 `Role`/`RoleBinding`(namespace) 우선, `ClusterRole`/`ClusterRoleBinding`은 예외적이다. + +## 기본 규칙 + +### 1. 모든 application namespace는 PSA `restricted` enforce 라벨이 기본 +namespace 생성 시 다음 라벨을 **enforce** 수준으로 붙인다(예외는 rule 3). + +```yaml +metadata: + labels: + pod-security.kubernetes.io/enforce: restricted + pod-security.kubernetes.io/enforce-version: v1.29 + pod-security.kubernetes.io/audit: restricted + pod-security.kubernetes.io/audit-version: v1.29 + pod-security.kubernetes.io/warn: restricted + pod-security.kubernetes.io/warn-version: v1.29 +``` + +- `enforce`: deny on violation (hard gate) +- `audit`: audit log 기록 +- `warn`: kubectl 사용자에 경고 +- version은 `latest` 대신 **명시 버전 pin**을 기본으로 한다. 업그레이드는 ADR로 관리한다. +- PSP는 1.25에서 제거되었으므로 어떤 manifest/차트에도 `policy/v1beta1 PodSecurityPolicy`를 남기지 않는다. + +### 2. Restricted 프로파일 전 필드 계약 +application Pod/Deployment는 아래 전부를 만족해야 한다. 하나라도 빠지면 PSA가 reject한다. + +- `spec.automountServiceAccountToken: false` (API 호출 불필요 시) +- `spec.securityContext.runAsNonRoot: true` +- `spec.securityContext.runAsUser: <non-zero numeric>` (예: `10001`) +- `spec.securityContext.runAsGroup: <non-zero numeric>` (예: `10001`) +- `spec.securityContext.fsGroup: <numeric>` (volume 쓰기 필요 시) +- `spec.securityContext.seccompProfile.type: RuntimeDefault` (Pod 또는 컨테이너 레벨) +- 컨테이너 `securityContext`: + - `allowPrivilegeEscalation: false` + - `privileged: false` + - `readOnlyRootFilesystem: true` + - `runAsNonRoot: true` + - `capabilities.drop: ["ALL"]` + - `capabilities.add`: 비어있거나 `["NET_BIND_SERVICE"]`만 허용 +- Pod spec 금지 필드: `hostNetwork`, `hostPID`, `hostIPC`, `hostUsers=false`, `hostPath` volume, `hostPort`, `ephemeralContainers`에 한해 `privileged` + +### 3. Platform 예외 namespace는 ADR 문서 + 좁은 enforce +`kube-system`, `ingress-traefik`, `vault`, `cert-manager`, `vault-secrets-operator`, `monitoring` 등은 `baseline` 또는 `privileged` 프로파일이 필요할 수 있다. 예외는 다음을 manifest에 고정한다. + +- namespace label은 **필요한 최저 수준**(`baseline` 우선, `privileged`는 CNI/CSI/Node-exporter에 한정) +- 예외 근거 ADR 링크 annotation: `platform.example.com/psa-exception: "ADR-0042"` +- 예외 받는 구체 필드(예: `hostNetwork`, `CAP_NET_ADMIN`)만 열고 나머지는 restricted + +### 4. privileged / host namespace 기본 금지 +application Pod는 `privileged: true`, `hostNetwork`, `hostPID`, `hostIPC`, `hostPath`, `hostPort`를 쓰지 않는다. 필요성이 있으면 rule 3의 platform 예외로 이관한다. + +### 5. runAsNonRoot + numeric UID 강제 +image가 `USER` 지시어로 non-numeric user만 지정해도 PSA는 runtime에 UID 확인이 불가능하면 reject할 수 있다. 항상 numeric UID를 명시한다(권장 범위: 10000–65535). UID 0은 전 영역 금지. + +### 6. seccompProfile은 RuntimeDefault 우선 +Pod 레벨 `seccompProfile.type: RuntimeDefault`를 기본으로 두어 모든 컨테이너에 상속. 특정 컨테이너가 custom profile이 필요하면 `Localhost`로 개별 선언하고 profile 파일 경로를 문서화한다. kubelet `--seccomp-default=true`를 클러스터 플래그로 검토한다. + +### 7. capabilities drop-first +`drop: ["ALL"]`이 기본이다. 추가 허용 화이트리스트는 `NET_BIND_SERVICE`뿐. `CAP_SYS_ADMIN`, `CAP_NET_ADMIN`, `CAP_SYS_PTRACE`, `CAP_NET_RAW`는 platform 예외에서만 허용한다. + +### 8. readOnlyRootFilesystem + writable emptyDir +모든 application container는 `readOnlyRootFilesystem: true`. 쓰기 경로는 `emptyDir`(가능하면 `medium: Memory`, `sizeLimit` 명시)로 분리한다. `/tmp`, `/var/run`, 앱 cache 경로는 별도 volume mount. + +### 9. ServiceAccount는 workload 1:1, 토큰 기본 비마운트 +- `default` SA 사용 금지. namespace당 Deployment별 전용 SA 생성. +- `automountServiceAccountToken: false`를 Pod spec에 기본 명시. +- Kubernetes API를 호출해야 하는 Pod만 `true` + projected token volume을 명시적으로 선언. + +### 10. RBAC는 namespace Role + RoleBinding 우선 +- `*` resource/verb 금지. +- `secrets` 리소스는 `get` + `resourceNames` 명시. `list`/`watch`는 controller/operator에만 허용. +- `ClusterRole`/`ClusterRoleBinding`은 CRD controller, metrics scraper, admission webhook 같은 cluster-wide 컴포넌트에 한정하고 subject는 platform SA로 제한. +- `system:masters` group binding 금지. + +### 11. NetworkPolicy default-deny + 명시적 allow +운영 namespace는 생성 직후 다음 3종을 배포한다. + +1. default-deny-all (ingress + egress) +2. allow-dns-egress (to `kube-system`의 `k8s-app=kube-dns`, UDP/TCP 53) +3. allow-from-ingress-controller (namespaceSelector=`ingress-traefik` + podSelector=`app.kubernetes.io/name=traefik`) + +추가 allow는 서비스별 요구(예: DB, Redis, Vault, S3, OIDC endpoint)에 맞춰 **한 엔트리 = AND, 여러 엔트리 = OR** 규칙을 지켜 작성한다. + +### 12. NetworkPolicy enforcement 전제 검증 +- K3s 기본 CNI(flannel) + kube-router policy controller가 실제로 enforce하는지 배포 후 negative test 필수. +- Calico/Cilium 전환 시 `--disable-network-policy` + `--flannel-backend=none` 조합을 ADR로 관리. +- 운영 정책 변경 후에는 synthetic probe(`netshoot` Pod)로 deny/allow 경로를 모두 검증한다. + +### 13. Secret at-rest encryption은 운영 필수 +- API Server `--encryption-provider-config` 지정: `aescbc` 또는 KMS provider(권장: AWS KMS/GCP KMS/HashiCorp Vault Transit). +- K3s는 `--secrets-encryption` 플래그 활성화(aescbc). 기존 Secret은 `kubectl get secrets -A -o json | kubectl replace -f -`로 재암호화. +- etcd 백업 자체도 별도 암호화 저장. + +### 14. 민감정보 delivery 경로 표준화 +1순위: Vault Secrets Operator(VSO)가 Vault → K8s Secret으로 sync → envFrom/volume +2순위: External Secrets Operator(ESO) + AWS/GCP Secret Manager +3순위: CSI Secret Store Driver (volume mount only, K8s Secret 미생성) +4순위: SealedSecrets / SOPS (GitOps + encrypted-at-rest in Git) +모든 경로는 config-and-secrets 문서의 선택 기준 표를 따른다. + +### 15. Image supply chain 통제 +- `imagePullPolicy: Always`는 mutable tag(`latest`, `main`)에만. 운영은 **digest pin** `image: registry.example.com/auth-server@sha256:<64hex>` 을 기본으로. +- `kubernetes.io/dockerconfigjson` 타입 `imagePullSecret`은 workload SA에 `spec.imagePullSecrets`로 연결. +- Private registry만 허용: `ImagePolicyWebhook` 또는 Kyverno/Gatekeeper로 public Docker Hub deny. +- Image signing(cosign)과 SBOM 요구를 CI에서 강제, cluster-level로는 `ClusterImagePolicy` (sigstore policy-controller) 검토. + +### 16. health/metrics/admin endpoint 내부 전용 기본 +- `/metrics`는 Service 별도 포트(`name: metrics`) + NetworkPolicy로 `monitoring` namespace Prometheus만 허용. +- `/actuator/*`, `/admin`, `/debug/pprof`는 Ingress 경로에 노출 금지. +- Keycloak `/admin/`, `/metrics`, `/health`는 외부 공개 금지 기본값(network-ingress-tls 문서와 함께 enforce). + +### 17. audit + policy together +- API Server `--audit-policy-file`로 최소한 Secret/RBAC/PodSecurity violation을 `RequestResponse` 수준으로 기록. +- PSA `audit` 라벨을 모든 namespace에 붙여 violation을 audit log로 수집. +- Kyverno 또는 Gatekeeper로 PSA 밖의 policy(resource limits, image registry, required labels)를 보완. + +### 18. Pod spec 기타 하드닝 기본 +- `resources.limits.cpu`, `resources.limits.memory` 필수. memory limit 없는 Pod는 OOM-Kill 전파 위험. +- `terminationGracePeriodSeconds` 명시(기본 30은 서비스별로 재조정). +- `readinessProbe` + `livenessProbe` 분리. `startupProbe`는 JVM/느린 기동 앱에 필수. +- `topologySpreadConstraints` 또는 `podAntiAffinity`로 node 단일 장애 블라스트 반경 축소. + +### 19. 현재 스택 기본 권장안 + +#### auth-server / test-server / keycloak / migration-flyway +- namespace PSA: `restricted` enforce pinned to `v1.29` +- SA: 서비스별 1:1, `automountServiceAccountToken: false` +- Secret: VSO로 Vault → K8s Secret sync +- NetworkPolicy: default-deny + dns + ingress + db + vault + metrics-scrape + +#### ingress-traefik +- namespace PSA: `baseline` (예외 ADR 기록) +- `hostNetwork` 금지(ServiceLB 또는 MetalLB 사용), hostPort는 80/443/8443만 +- CAP_NET_BIND_SERVICE만 add + +#### vault / vault-secrets-operator +- namespace PSA: `baseline` (Vault server IPC_LOCK 필요) +- storage PVC는 encrypted StorageClass +- unseal key는 cluster 밖(HSM/KMS auto-unseal) + +#### db (Postgres/MySQL) +- namespace PSA: `restricted` (StatefulSet, fsGroup 999) +- NetworkPolicy: application SA의 Pod만 5432 허용 +- backup은 별도 namespace의 Job에서 수행, 해당 Job에만 read-only secret 부여 + +## 프로젝트 기준 요약 + +- 모든 app namespace에 `pod-security.kubernetes.io/enforce: restricted` + pinned version 라벨 부착 +- PSP는 제거되었으므로 어디에도 남기지 않는다 +- Restricted 프로파일 전 필드 계약을 Pod/Deployment가 만족 +- default-deny NetworkPolicy + DNS allow + ingress allow + metrics-scrape allow를 namespace 기본 세트로 배포 +- `namespaceSelector`+`podSelector` AND/OR 차이를 정확히 사용 +- Secret at-rest encryption + VSO(1순위) delivery 표준화 +- 운영 이미지는 digest pin, private registry only +- audit policy + Kyverno/Gatekeeper 보완 정책과 함께 운영 diff --git a/docs/standards/infra/storage-pvc.md b/docs/standards/infra/storage-pvc.md new file mode 100644 index 0000000..c6c81b5 --- /dev/null +++ b/docs/standards/infra/storage-pvc.md @@ -0,0 +1,227 @@ +# storage / PVC 기준 + +## 목적 + +PVC는 단순히 "데이터를 남기기 위한 옵션"이 아니라, +- 어떤 워크로드가 상태를 가지는지 +- 그 상태의 수명과 복구 단위가 무엇인지 +- 어떤 storage class / access mode / reclaim policy / binding mode가 필요한지 +- snapshot / expansion 지원이 필요한지 +를 먼저 고정한 뒤에 사용한다. + +이 문서의 목표는 다음과 같다. + +- 상태 저장 워크로드와 무상태 워크로드를 저장소 기준으로 명확히 구분한다 +- separate PVC 남발을 막는다 +- K3s 기본 local-path provisioner의 운영 사용 범위를 통제한다 +- PVC lifecycle과 backup/restore 단위를 먼저 고정한다 +- StorageClass / VolumeSnapshotClass / reclaim policy / binding mode를 선언적으로 명시한다 + +## 공식 의미 (Kubernetes 기준) + +- PV는 클러스터의 저장소 리소스이며 Pod lifecycle과 독립적이다. +- PVC는 저장소에 대한 요청(size, access mode, StorageClass, volumeMode 등)이다. +- StorageClass는 동적 프로비저닝 파라미터, `reclaimPolicy`, `allowVolumeExpansion`, `volumeBindingMode`, `mountOptions`를 정의한다. +- `reclaimPolicy`는 PV 해제 시 동작을 결정한다. 동적 프로비저닝 PV의 기본값은 `Delete`다. 운영 데이터가 있으면 StorageClass에서 `Retain`을 명시한다. +- `volumeBindingMode`의 기본값은 `Immediate`이며, topology-aware / late-binding이 필요하면 `WaitForFirstConsumer`를 사용한다. +- `hostPath`는 single-node testing 전용이다. 운영 클러스터에서 사용하지 않는다. +- K3s는 Rancher Local Path Provisioner를 기본 제공해 노드 로컬 저장소를 사용할 수 있지만, RWO만 지원하고 snapshot/expansion은 지원하지 않는다. +- VolumeSnapshot / VolumeSnapshotContent / VolumeSnapshotClass는 CSI snapshot을 위한 K8s API다. `deletionPolicy: Retain` / `Delete`를 정책에 맞게 선택한다. +- StatefulSet은 `persistentVolumeClaimRetentionPolicy`로 삭제/스케일다운 시 PVC 보존 여부를 제어할 수 있다. + +## 기본 규칙 + +### 1. PVC는 상태가 있을 때만 사용 +다음 중 하나가 아니면 PVC를 붙이지 않는다. + +- 재시작 후에도 유지되어야 하는 데이터가 있음 +- Pod 교체와 무관하게 보존되어야 하는 파일/데이터가 있음 +- 복구 대상이 되는 저장 상태가 있음 +- 애플리케이션이 명시적으로 영속 저장소를 요구함 + +금지: +- "혹시 몰라서" PVC 추가 +- 로그/캐시/임시 파일을 습관적으로 PVC에 저장 +- stateless 앱에 관성적으로 PVC 부착 + +### 2. PVC 존재만으로 StatefulSet을 결정하지 않는다 +PVC가 있다고 무조건 StatefulSet은 아니다. + +먼저 묻는다. +- Pod마다 고유한 저장소가 필요한가? +- stable network identity가 필요한가? +- 순서 있는 확장/축소가 필요한가? + +아니면: +- Deployment + 단일 PVC(RWO, replicas 1) 또는 Deployment + RWX PVC +도 가능하다. + +### 3. separate PVC는 "데이터 수명과 복구 단위가 다를 때만" +하나의 워크로드가 여러 PVC를 가져도 되는 경우는 아래와 같다. + +- 데이터 종류별 수명주기가 다름 +- backup/restore 단위가 다름 +- 성능 요구(StorageClass) 또는 IOPS 특성이 다름 +- 보안/접근 제어 단위가 다름 +- 장애 시 독립적으로 보존/삭제되어야 함 + +금지: +- 디렉터리 몇 개를 기계적으로 PVC로 분리 +- mount path별로 습관적으로 PVC 추가 +- 이유 없이 "앱 데이터/설정/로그"를 모두 개별 PVC로 분리 + +### 4. 기본 원칙은 "적게, 명확하게" +기본적으로는 하나의 워크로드 / 하나의 상태 저장 목적 / 하나의 PVC를 먼저 검토한다. +분리는 정당한 이유(#3)가 있을 때만 한다. + +### 5. StorageClass는 항상 명시적으로 지정 +PVC는 `storageClassName`을 항상 명시한다. 클러스터 default annotation에 의존하지 않는다. + +기본: +- 운영 표준 StorageClass 3~5개를 미리 정의 (예: `fast-ssd-retain`, `standard-delete`, `archive-retain`, `rwx-shared`) +- 성능/복제/노드 종속성 차이가 있으면 workload별로 구분 +- 각 StorageClass는 `provisioner`, `reclaimPolicy`, `volumeBindingMode`, `allowVolumeExpansion`을 모두 선언 + +### 6. StorageClass `volumeBindingMode` 기본값은 `WaitForFirstConsumer` +운영 표준은 `WaitForFirstConsumer`다. + +이유: +- Pod가 스케줄되는 노드의 topology(zone, node-local disk, GPU affinity 등)에 맞춰 PV를 바인딩한다 +- `Immediate`는 PVC 생성 즉시 PV를 바인딩하므로, 이후 Pod가 해당 노드/zone에 스케줄되지 못하는 상황이 생긴다 +- K3s local-path provisioner는 노드 로컬이므로 반드시 `WaitForFirstConsumer`여야 한다 + +`Immediate` 허용 예외: +- 네트워크 스토리지(Ceph, NFS, S3 CSI 등)이고 topology 제약이 없는 경우 +- 사전에 PV를 warm-up 해야 하는 특수 케이스 + +### 7. StorageClass `reclaimPolicy`는 데이터 등급에 맞춘다 +동적 프로비저닝의 기본 `reclaimPolicy`는 `Delete`다. 이는 PVC 삭제 시 PV와 데이터가 사라진다는 뜻이다. + +기본: +- production stateful data (DB, object store backend, identity store 등) → `Retain` +- dev/test, ephemeral cache, rebuild-safe data → `Delete` +- `Retain`을 쓰면 PVC 삭제 후 남은 PV를 정리하는 책임이 운영자에게 생긴다. runbook에 정리 절차를 명시한다. + +### 8. `allowVolumeExpansion`은 기본 `true`로 두되 축소는 불가 +PVC 확장 요구는 자주 생긴다. StorageClass에서 `allowVolumeExpansion: true`를 기본으로 둔다. + +주의: +- PVC 용량 축소는 K8s가 지원하지 않는다 +- 파일시스템 online expansion 지원 여부는 CSI 드라이버마다 다르다 +- 확장 후 Pod 재시작이 필요한 드라이버가 있다 + +### 9. AccessMode는 실제 요구에 맞게 고른다 +기본: +- 단일 writer면 `ReadWriteOnce` (RWO) +- 동일 노드의 여러 Pod가 공유 필요시 `ReadWriteOncePod` (K8s 1.27+) 또는 RWO +- 여러 Pod/노드 동시 read/write가 진짜 필요할 때만 `ReadWriteMany` (RWX) +- 읽기 전용 공유는 `ReadOnlyMany` (ROX) + +편의상 RWX를 기본값으로 두지 않는다. RWX는 NFS/CephFS 같은 별도 스토리지 백엔드를 요구한다. + +### 10. K3s local-path provisioner는 운영에서 기본값 아님 +K3s 기본 local-path provisioner의 하드 제약: + +- RWO 전용 (RWX 불가) +- VolumeSnapshot 미지원 +- VolumeExpansion 미지원 +- 노드 로컬이므로 Pod가 특정 노드에 pin 됨 → 노드 장애 시 데이터 접근 불가 +- backup은 노드 파일시스템에 직접 접근해야 함 + +기본: +- dev/test: 허용 +- production: Longhorn, OpenEBS, Rook-Ceph, 또는 클라우드 CSI driver(EBS, PD, Azure Disk 등)로 교체 +- 불가피하게 prod에서 local-path를 쓸 경우 `backup-restore.md`와 반드시 연동하고 노드 affinity/zone 분리를 명시 + +### 11. `hostPath` 직접 사용 금지 +운영 PV/PVC에 `hostPath`를 사용하지 않는다. + +예외: +- 학습/단일 노드 로컬 테스트 +- 매우 제한된 디버깅 용도 (CSI driver 진단 등) + +운영 표준으로 채택하지 않는다. + +### 12. VolumeSnapshotClass를 StorageClass와 1:1로 매칭 +snapshot 대상 PVC가 있는 StorageClass는 대응되는 VolumeSnapshotClass를 반드시 정의한다. + +기본: +- `driver`는 StorageClass의 provisioner와 맞춤 +- `deletionPolicy`는 운영 데이터면 `Retain`, ephemeral이면 `Delete` +- snapshot class는 `labels`로 RPO/retention 정책과 연결 + +### 13. PVC lifecycle은 workload 생성 전에 문서화 +PVC를 만들기 전에 아래를 정한다. + +- 누가 생성하는가 (Helm, Kustomize, Operator, manual) +- 누가 삭제하는가 (GitOps sync, 운영자 수동) +- scale down 시 어떻게 되는가 +- workload 삭제 시 어떻게 되는가 +- backup 대상인가 (어떤 RPO/RTO) +- restore 단위인가 (PVC / VolumeSnapshot / backup tool 별) + +"삭제하면 같이 정리되겠지"를 금지한다. + +### 14. StatefulSet의 PVC retention policy를 명시적으로 검토 +StatefulSet을 쓰는 경우 `persistentVolumeClaimRetentionPolicy.whenDeleted` / `whenScaled`를 기본값에 두지 않는다. + +기본: +- 운영 데이터: 둘 다 `Retain` +- ephemeral 데이터: 둘 다 `Delete` +- 혼용시 명시적 이유를 주석에 남김 + +### 15. Pod와 PVC는 같은 namespace 소유권 +PVC는 Pod와 같은 namespace에서 사용된다. 스토리지도 workload의 namespace 소유권을 따라간다. + +금지: +- "공용 저장소 namespace"에 무분별하게 PVC 몰아넣기 +- 여러 서비스가 의미 없이 같은 PVC를 기대하는 구조 + +### 16. 워크로드별 기본 선택 + +| Workload | 기본 PVC | StorageClass | AccessMode | Snapshot | +|---|---|---|---|---| +| auth-server | 없음 | - | - | - | +| test-server | 없음 | - | - | - | +| ingress-controller | 없음 | - | - | - | +| migration-flyway (Job) | 없음 | - | - | - | +| Keycloak (external DB) | 없음 | - | - | - | +| PostgreSQL / CNPG | 필수 | fast-ssd-retain | RWO | 필수 | +| Vault (raft) | 필수 | fast-ssd-retain | RWO | 필수 | +| MinIO | 필수 | standard-retain | RWO | 보조 (replication 우선) | + +### 17. 로그와 임시 파일은 PVC 기본 금지 +다음은 기본적으로 PVC에 저장하지 않는다. + +- application log (→ stdout + 로그 수집기) +- temp file (→ `emptyDir`) +- cache (→ `emptyDir` 또는 memory-backed) +- rendered config copy +- transient upload staging + +정말 영속화가 필요하면 이유를 주석에 명시한다. + +### 18. backup/restore와 반드시 연결 +PVC를 허용한 워크로드는 반드시 아래와 연결한다. + +- `backup-restore.md` (Velero schedule, snapshot class, RPO/RTO) +- `operations-runbook-upgrade-rollback.md` (복구 절차) + +PVC가 생기면 복구 전략도 같이 생겨야 한다. 백업 없는 PVC는 merge 금지. + +### 19. 파일시스템 / 블록 모드 명시 +`volumeMode`는 기본 `Filesystem`이지만, DB raw block 같은 경우 `Block`을 쓸 수 있다. DB 운영이 요구하지 않으면 `Filesystem` 고정. + +### 20. securityContext와 fsGroup +PVC를 쓰는 Pod는 `securityContext.fsGroup` 또는 `fsGroupChangePolicy: OnRootMismatch`를 명시해서 permission 문제를 예방한다. restricted PSA 하에서는 `runAsNonRoot: true`, `runAsUser`, `fsGroup`을 모두 설정한다. + +## 프로젝트 기준 요약 + +- PVC는 상태가 있을 때만, separate PVC는 수명/복구 단위가 다를 때만 +- StorageClass는 항상 명시, `volumeBindingMode: WaitForFirstConsumer` 기본, `reclaimPolicy`는 데이터 등급에 맞춤 +- 동적 프로비저닝 기본 `reclaimPolicy=Delete`를 인지하고 운영 데이터는 `Retain` 명시 +- K3s local-path는 RWO / no snapshot / no expansion — prod 기본값 아님 +- VolumeSnapshotClass를 StorageClass와 매칭해서 정의 +- StatefulSet PVC retention policy 명시 +- 로그/임시 파일은 PVC 기본 금지 +- PVC가 생기면 backup/restore 기준도 같이 만든다 diff --git a/docs/standards/infra/vault.md b/docs/standards/infra/vault.md new file mode 100644 index 0000000..8f72f71 --- /dev/null +++ b/docs/standards/infra/vault.md @@ -0,0 +1,277 @@ +# Vault 기준 + +## 목적 + +이 문서는 Kubernetes 환경에서 HashiCorp Vault 1.17+ 를 1000+ 서비스의 secret / PKI / dynamic credential 소스로 운영하기 위한 기준을 고정한다. + +- Integrated Storage (Raft) HA + auto-unseal을 1차 권장 경로로 둔다 +- 공식 Helm chart (`hashicorp/vault`) values.yaml의 핵심 필드를 명시한다 +- Vault Secrets Operator (VSO) 0.8+ CRD 경로를 secret delivery 기본값으로 둔다 +- Vault Agent Injector는 Kubernetes Secret을 우회하고 싶은 워크로드의 2차 경로로 둔다 +- Raft snapshot / audit device / telemetry / TLS / Kubernetes auth role을 운영 필수 요소로 둔다 + +## 공식 의미 (Vault 1.17+ 기준) + +- Vault는 **sealed** 상태로 기동한다. Shamir 수동 unseal 또는 auto-unseal (`awskms`, `gcpckms`, `azurekeyvault`, `transit`)로 unseal한다. +- **Integrated Storage (Raft)**는 공식 지원 HA backend다. 기동 시 `storage "raft"` stanza, `cluster_addr`, listener의 `cluster_address`가 모두 필요하다. `ha_storage`와 동시 선언 금지. +- Vault는 두 포트를 쓴다: **`8200` (API/client), `8201` (cluster-to-cluster Raft replication)**. Service는 8201을 반드시 expose해야 peer-to-peer Raft가 성립한다. +- `/v1/sys/health` 는 단일 endpoint로 상태 코드로 응답한다: `200` active, `429` standby (`standbyok=true`면 200), `472` DR secondary, `473` performance standby, `501` uninitialized, `503` sealed. +- **Audit device는 최소 하나 활성화해야 한다.** audit device가 전부 실패하면 Vault는 요청 처리를 멈춘다(블로킹). 여러 개 운영 권장. +- Kubernetes auth method는 ServiceAccount JWT를 TokenReview API로 검증한다. Vault 1.17+는 short-lived projected SA token(`audiences`)을 권장한다. +- VSO 0.8+는 `secrets.hashicorp.com/v1beta1` API group을 사용하고 `VaultConnection`, `VaultAuth`, `VaultStaticSecret`, `VaultDynamicSecret`, `VaultPKISecret`, `HCPAuth`, `HCPVaultSecretsApp` CRD를 제공한다. +- Vault Agent Injector는 `vault.hashicorp.com/agent-inject: "true"` 같은 Pod annotation으로 sidecar/init container를 주입해 secret을 `/vault/secrets/<name>` 파일로 렌더링한다. +- DR replication / Performance replication은 **Enterprise 기능**이다. OSS에서는 Raft snapshot restore가 복구 경로다. +- Telemetry는 `telemetry { prometheus_retention_time = "24h" disable_hostname = true }` stanza로 활성화하고 `/v1/sys/metrics?format=prometheus`에서 scrape한다. + +## 기본 규칙 + +### 1. 배포는 공식 Helm chart (`hashicorp/vault`) + +기본: +- `helm repo add hashicorp https://helm.releases.hashicorp.com` +- `server.ha.enabled=true` + `server.ha.raft.enabled=true` +- `injector.enabled` 는 secret delivery 전략에 따라 결정 (VSO만 쓰면 `false`) +- values.yaml은 Git에 보관 + Helmfile / Argo CD Application로 배포 + +기본 금지: +- 수제 StatefulSet으로 처음부터 조립 +- `dev` 모드 운영 +- chart 기본 `standalone` 모드 production 사용 (single node + file storage) + +### 2. HA topology: Raft 3-node 또는 5-node + +기본: +- `server.ha.replicas: 3` (과반수 장애 허용: 1 node) +- critical path면 `5`로 확장 (2 node 장애 허용) +- `server.ha.raft.setNodeId: true` (각 pod의 hostname을 node_id로 자동 주입) +- anti-affinity: hostname 기준 required, zone 기준 preferred + +### 3. Raft config: listener 8200 + cluster 8201 + service_registration + +`server.ha.raft.config` HCL에 최소한 아래 stanza가 필요하다. + +```hcl +ui = true +listener "tcp" { + address = "[::]:8200" + cluster_address = "[::]:8201" + tls_disable = 0 + tls_cert_file = "/vault/tls/tls.crt" + tls_key_file = "/vault/tls/tls.key" +} +storage "raft" { + path = "/vault/data" + node_id = "$(HOSTNAME)" +} +cluster_addr = "https://$(HOSTNAME).vault-internal:8201" +api_addr = "https://$(HOSTNAME).vault-internal:8200" +service_registration "kubernetes" {} +telemetry { + prometheus_retention_time = "24h" + disable_hostname = true +} +``` + +`cluster_addr`는 headless service(`vault-internal`)의 pod FQDN을 쓴다. 8201 Service expose 필수. + +### 4. Auto-unseal 채택 (1차 권장) + +기본: +- AWS: `seal "awskms" { region = "..." kms_key_id = "..." }` +- GCP: `seal "gcpckms" { project = "..." region = "..." key_ring = "..." crypto_key = "..." }` +- Azure: `seal "azurekeyvault" { tenant_id = "..." vault_name = "..." key_name = "..." }` +- Vault-to-Vault: `seal "transit" { address = "..." token = "..." key_name = "autounseal" mount_path = "transit/" }` + +기본 금지: +- Shamir key를 CI/CD 환경변수나 Kubernetes Secret에 저장 +- seal backend에 lifecycle 보호 없음 (KMS key deletion protection 필수) + +### 5. Audit device는 최소 2개 + +Audit device 전부 실패 시 Vault가 요청을 block한다. redundancy 확보. + +기본: +- `auth/kubernetes/login` 경로 포함 모든 API 감사 +- `file`: `server.auditStorage.enabled: true` → `/vault/audit/audit.log` +- `syslog` 또는 `socket`: 중앙 로그 파이프라인 (Loki, Splunk, CloudWatch) +- `vault audit enable file file_path=/vault/audit/audit.log` + +기본 금지: +- audit device 0개 운영 +- audit log PVC 용량 무제한 (log rotation + sink 필수) + +### 6. TLS는 end-to-end + +기본: +- cert-manager Certificate로 `vault-tls` Secret 발급 (cluster issuer) +- listener에 `tls_cert_file`, `tls_key_file`, `tls_min_version = "tls13"` +- client (app, VSO, Injector)는 CA bundle trust +- Vault ↔ Storage ↔ seal backend 전 구간 TLS + +### 7. Vault는 기본 내부 전용 (ClusterIP) + +기본: +- Service type: ClusterIP (8200, 8201) +- Ingress 기본 금지 +- 외부 관리자 접근은 VPN / bastion / port-forward / OIDC-protected admin Ingress + +### 8. Probe: `/v1/sys/health` 상태코드 의미 반영 + +기본: +- readiness: `GET /v1/sys/health?standbyok=true&perfstandbyok=true&uninitcode=204` (uninitialized를 200으로 수용 초기 bootstrap 허용) +- liveness: `GET /v1/sys/health?standbyok=true&sealedcode=204&uninitcode=204` (sealed + uninit이어도 pod 생존) +- startup: initialDelay 10s, failureThreshold 12 (2분 유예) + +기본 금지: +- `GET /` 단순 probe +- sealed 상태에서 liveness 실패 → 무한 재시작 루프 + +### 9. Kubernetes auth method 구성 + +Vault 쪽 (1회 bootstrap): + +```bash +vault auth enable kubernetes +vault write auth/kubernetes/config \ + token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \ + kubernetes_host="https://kubernetes.default.svc.cluster.local" \ + kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt \ + disable_iss_validation=false +``` + +Role은 ServiceAccount + namespace에 바인딩: + +```bash +vault write auth/kubernetes/role/auth-server \ + bound_service_account_names=auth-server \ + bound_service_account_namespaces=auth-prod \ + policies=auth-server-read \ + ttl=1h \ + audience=vault +``` + +기본 금지: +- `bound_service_account_names=*` 또는 `bound_service_account_namespaces=*` +- TTL 무한 또는 24h 이상 + +### 10. Secret delivery: VSO가 1차 권장 + +기본: +- 클러스터 전체 1개 `VaultConnection` (namespace: `vault`) +- 앱 namespace마다 `VaultAuth` (ServiceAccount 바인딩) +- 정적 KV 동기화: `VaultStaticSecret` +- 동적 DB credential: `VaultDynamicSecret` +- TLS 인증서: `VaultPKISecret` +- `destination.create: true`로 K8s Secret 자동 생성, `rolloutRestartTargets`로 consumer 재시작 + +### 11. Vault Agent Injector: Kubernetes Secret 우회가 필요할 때 + +기본 annotation set: + +```yaml +vault.hashicorp.com/agent-inject: "true" +vault.hashicorp.com/role: "auth-server" +vault.hashicorp.com/agent-inject-secret-db-creds: "database/creds/auth-server" +vault.hashicorp.com/agent-inject-template-db-creds: | + {{ with secret "database/creds/auth-server" -}} + DATABASE_USERNAME={{ .Data.username }} + DATABASE_PASSWORD={{ .Data.password }} + {{- end }} +vault.hashicorp.com/agent-pre-populate-only: "true" # init-only (앱이 파일 1회 읽음) +vault.hashicorp.com/agent-inject-file-db-creds: "db.env" +``` + +기본: +- etcd에 민감정보를 남기고 싶지 않을 때 선택 +- 앱이 파일 기반 secret 소비 가능해야 함 +- 장기 실행 sidecar 대신 `agent-pre-populate-only: "true"`로 init container만 사용해 resource overhead 감소 + +### 12. Raft snapshot 백업은 운영 필수 + +기본: +- 하루 1회 `vault operator raft snapshot save` CronJob +- snapshot을 off-cluster object storage (S3, GCS, MinIO replicated bucket)에 저장 +- retention 30일 이상 + 주간 / 월간 snapshot 분리 +- restore 절차를 runbook으로 문서화 + +### 13. Telemetry + Prometheus scrape + +기본: +- config: `telemetry { prometheus_retention_time = "24h" disable_hostname = true }` +- 내부 Prometheus token policy: + ``` + path "sys/metrics" { capabilities = ["read"] } + ``` +- Prometheus scrape: `/v1/sys/metrics?format=prometheus` + Bearer token (unauth-endpoint 가능하지만 권장하지 않음) + +### 14. 포트 expose: 8200 + 8201 둘 다 + +기본: +- Pod containerPort: 8200 (api), 8201 (cluster) +- Service `vault`: ClusterIP, 8200 +- Service `vault-internal`: Headless, 8200 + **8201** (Raft peer discovery 필수) +- 8201 누락 시 Raft peer-to-peer 실패, leader election 불가 + +### 15. Replication 경계: OSS vs Enterprise + +DR replication, performance replication, namespace multi-tenancy는 **Vault Enterprise** 전용이다. + +OSS 기준 복구: +- Raft snapshot restore로 state 복원 +- 동일 seal backend 요구 (auto-unseal이면 KMS key 필요) + +기본 금지: +- OSS에서 DR topology를 가정한 설계 +- Enterprise 기능을 OSS manifest에 넣기 + +### 16. Security context: Restricted PSS + +기본: +- `runAsNonRoot: true`, `runAsUser: 100` (vault user) +- `readOnlyRootFilesystem: true` +- `allowPrivilegeEscalation: false`, `capabilities.drop: [ALL]`, `capabilities.add: [IPC_LOCK]` (mlockall을 위함, swap 방지) +- `seccompProfile: RuntimeDefault` + +### 17. Resource 요청 + +기본 단일 replica (Raft 3 node 클러스터 중 하나): +- requests: `cpu: 250m`, `memory: 256Mi` +- limits: `cpu: 1`, `memory: 512Mi` + +대규모 PKI / dynamic secret 발급량이 많으면 `memory: 1Gi` 이상. + +### 18. Token / root token 취급 + +기본: +- `vault operator init` 출력 root token은 1회성 bootstrap +- 초기 설정 완료 후 `vault token revoke <root-token>` +- 장기 root 필요 시 `vault operator generate-root` 절차로 ephemeral 생성 +- app token은 Kubernetes auth login 경로로만 발급 +- CLI history에 unseal key, root token 남기지 않음 (`HISTCONTROL=ignorespace`) + +### 19. 현재 스택 기본 권장안 + +- 배포: Helm chart `hashicorp/vault`, `server.ha.enabled=true` + `server.ha.raft.enabled=true` +- Replicas: 3 +- Storage: Integrated Storage (Raft) + dataStorage PVC + auditStorage PVC +- Unseal: auto-unseal (awskms / gcpckms / azurekeyvault / transit) +- TLS: end-to-end, cert-manager Certificate +- Service: ClusterIP 8200 + Headless 8200/8201 +- Ingress: 기본 금지 (관리자 경로만 OIDC-protected 예외) +- Probe: `/v1/sys/health` status-code aware +- Audit: file + syslog 중복 +- Secret delivery: VSO 1차, Injector 2차 +- Backup: daily Raft snapshot → off-cluster object storage + +## 프로젝트 기준 요약 + +- Helm chart 공식 배포, HA Raft 3-node, auto-unseal +- 8200 (client) + 8201 (cluster) Service expose 필수 +- `/v1/sys/health` status-code 기반 probe +- audit device 최소 2개, 전체 실패 시 block 특성 인지 +- Kubernetes auth role은 SA + namespace 단위, wildcard 금지 +- VSO 1차 / Injector 2차 (`agent-pre-populate-only` init-only 선호) +- Raft snapshot daily CronJob → off-cluster 보관 +- Telemetry `/v1/sys/metrics?format=prometheus` + Prometheus token policy +- DR/perf replication은 Enterprise 기능, OSS 경계 분명 +- Restricted PSS + IPC_LOCK capability (mlockall) diff --git a/docs/standards/infra/workload-selection.md b/docs/standards/infra/workload-selection.md new file mode 100644 index 0000000..922826e --- /dev/null +++ b/docs/standards/infra/workload-selection.md @@ -0,0 +1,324 @@ +# workload selection 기준 + +## 목적 + +이 문서는 각 컴포넌트를 +- Deployment +- StatefulSet +- DaemonSet +- Job +- CronJob + +중 무엇으로 배포할지 먼저 고정한다. + +목표: + +- 상태 저장 / 무상태 / 노드로컬 / 일회성 / 주기성 워크로드를 섞지 않는다 +- PVC가 필요하다는 이유만으로 StatefulSet을 선택하는 실수를 막는다 +- Ingress controller / CNI / CSI / 로그 shipper / node-exporter 같은 노드로컬 에이전트를 Deployment로 배포하는 실수를 막는다 +- migration / bootstrap / 백업을 장기 실행 앱과 분리한다 +- 1000+ 서비스 스케일에서 operator-managed 패턴이 기본인 영역(DB, Kafka, monitoring)은 operator를 기본 선택으로 문서화한다 + +## 공식 의미 (근거) + +- **Deployment**: stateless 장기 실행. `spec.replicas` 기반 수평 확장. ReplicaSet으로 rolling update. `https://kubernetes.io/docs/concepts/workloads/controllers/deployment/`. +- **StatefulSet**: stable network identity, stable persistent storage, ordered deployment/scaling. 각 Pod는 `<name>-<ordinal>` 이름을 가지고 PVC가 `volumeClaimTemplates`로 자동 생성. `persistentVolumeClaimRetentionPolicy` (GA since 1.27) 필드: 기본값 `{whenDeleted: Retain, whenScaled: Retain}`. `podManagementPolicy` (OrderedReady / Parallel). `updateStrategy` (RollingUpdate / OnDelete). +- **DaemonSet**: 선택된 모든 노드에 정확히 한 Pod를 실행. 노드 추가/제거에 따라 자동 생성/삭제. `https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/`. +- **Job**: 한 번 실행되어 완료. `restartPolicy: Never | OnFailure`. `backoffLimit` / `activeDeadlineSeconds` / `ttlSecondsAfterFinished` / `parallelism` / `completions`. +- **CronJob**: 시간 기반 스케줄 Job. `concurrencyPolicy: Allow | Forbid | Replace`, `startingDeadlineSeconds`, `successfulJobsHistoryLimit` / `failedJobsHistoryLimit`. +- **Operator pattern**: CRD + controller. 1000-서비스 스케일에서 DB/Kafka/Redis/monitoring은 사실상 Deployment/StatefulSet을 직접 쓰지 않고 operator가 소유. + +## 기본 규칙 + +### 1. 기본 선택 기준은 "상태 + 수명 + 배치 위치" + +3축으로 먼저 분류: + +1. **수명**: 장기 실행 / 일회성 / 주기성 +2. **상태**: stable identity + persistent storage 필요 / 불필요 +3. **배치**: 노드별 한 Pod 필요 / cluster-wide 자유 배치 + +매핑: + +- 장기 + 무상태 + 자유 배치 → **Deployment** +- 장기 + stateful + 자유 배치 → **StatefulSet** (또는 operator) +- 장기 + 무상태 + 노드별 한 Pod → **DaemonSet** +- 일회성 → **Job** +- 주기성 → **CronJob** + +### 2. Deployment는 stateless 장기 실행 기본값 + +조건: + +- Pod identity가 교체 가능 +- durable state가 외부 DB / 외부 storage / 외부 cache에 있음 +- 수평 확장이 자연스러움 +- Pod 이름 / 순서가 의미 없음 + +적용 후보: + +- `auth-server` +- `test-server` (장기 실행 모드) +- 외부 DB 사용하는 `keycloak` +- 대부분의 stateless API / worker + +**필수 동반 리소스 (replicas≥2인 prod 워크로드):** + +- `PodDisruptionBudget` (minAvailable ≥ 50% 또는 SLO tier에 맞춘 값) +- `HorizontalPodAutoscaler` v2 (behavior 포함) +- `topologySpreadConstraints` (zone + hostname) +- `ServiceMonitor` 또는 Prometheus scrape annotation + +### 3. StatefulSet은 "stable identity + storage" 모두 맞을 때만 + +조건 중 하나라도 강하면: + +- stable network identity (DNS name per replica) 필요 +- stable persistent storage per Pod 필요 +- ordered rollout / termination 필요 +- replica 간 peer discovery가 ordinal에 의존 + +적용 후보: + +- `postgres` (operator 없을 때 — 있으면 CloudNativePG 같은 operator 우선) +- `minio` (MinIO Operator 가능) +- `vault` (Raft storage mode) +- `etcd` (외부) +- `kafka`, `zookeeper` (Strimzi operator 우선) +- `elasticsearch` (ECK operator 우선) + +**필수 선언**: + +- `serviceName` (headless Service 참조) +- `volumeClaimTemplates` +- `podManagementPolicy: OrderedReady` 기본. Parallel은 peer discovery가 순서를 요구하지 않을 때만. +- `updateStrategy: RollingUpdate` + `partition`으로 canary rollout +- `persistentVolumeClaimRetentionPolicy` 명시 (prod 기본 `{whenDeleted: Retain, whenScaled: Retain}`) + +### 4. DaemonSet은 노드 전역 에이전트 전용 + +조건: + +- 노드별 한 개만 떠야 함 (또는 특정 노드 group에 한 개) +- 노드 추가/제거에 자동 반응 +- hostPath / hostNetwork / hostPID 필요한 경우 다수 + +적용 후보: + +- 로그 shipper: `fluent-bit`, `fluentd`, `vector` +- metric exporter: `node-exporter`, `cadvisor` +- CNI agent: `calico-node`, `cilium-agent` +- CSI node plugin: `longhorn-manager`, `ceph-csi-node` +- security agent: `falco`, `tetragon` +- service mesh node proxy: `istio-cni-node` +- ingress-nginx **DaemonSet 모드** (edge 노드가 고정되고 모든 edge 노드가 80/443 HostPort / hostNetwork로 외부 노출해야 할 때) + +**Ingress controller: DaemonSet vs Deployment 결정**: + +- **Deployment** + `Service type=LoadBalancer` (MetalLB / 외부 LB): 기본 권장. 노드와 ingress replica 수가 분리됨. HPA 적용 가능. +- **DaemonSet** + `hostNetwork: true` / HostPort 80,443: bare-metal + 외부 LB 없이 모든 노드가 ingress가 되어야 할 때. 80/443 노드 포트 점유, HPA 불가, 노드 수 = replica 수. + +**필수**: + +- `tolerations`로 노드 taint (예: `node-role.kubernetes.io/control-plane`) 대응 결정 +- `nodeSelector` 또는 `affinity`로 대상 노드 그룹 명시 (label 기반) +- `updateStrategy: RollingUpdate` + `maxUnavailable` 지정 +- `priorityClassName: system-node-critical` (필수 인프라 에이전트) + +### 5. PVC가 있다고 무조건 StatefulSet 아니다 + +체크리스트: + +- Pod마다 고유한 storage identity 필요? 아니면 단일 PVC 공유? +- Pod 이름 / 순서가 의미 있나? +- peer discovery가 stable DNS name에 의존? + +아니면: + +- **단일 replica Deployment + PVC (ReadWriteOnce)** 도 유효 +- **Deployment + ReadWriteMany PVC** (여러 replica가 동일 storage 공유) 도 유효 (shared cache 등) + +### 6. Job은 migration / bootstrap / one-off 기본값 + +적용 후보: + +- `flyway-migrate` / `liquibase-migrate` +- schema validation +- 초기 admin 사용자 bootstrap +- 데이터 리페어 / 정리 +- 이미지 빌드 trigger + +**필수**: + +- `restartPolicy: Never` (실패 원인 디버깅 가능) 또는 `OnFailure` (transient 실패 재시도) +- `backoffLimit` 명시 (기본값 6은 prod에서 너무 관대할 수 있음) +- `activeDeadlineSeconds` (무한 실행 방지) +- `ttlSecondsAfterFinished` (완료 Job 자동 정리, 1000-서비스 스케일 필수) +- ServiceAccount 최소 권한 + +### 7. CronJob은 주기 실행 전용 + +적용 후보: + +- etcd / DB 백업 +- 정기 정리 (old PVC, old Snapshot, old Job) +- 정기 검증 / 리포트 +- 비즈니스 배치 (야간 집계) + +**필수**: + +- `concurrencyPolicy: Forbid` 기본 (동시 실행 방지). 멱등하면 `Allow`. +- `startingDeadlineSeconds` (노드 장애로 miss 된 job 무한 누적 방지) +- `successfulJobsHistoryLimit: 3` / `failedJobsHistoryLimit: 5` +- schedule timezone 명시 (`spec.timeZone` v1.25+) + +금지: + +- 항상 떠 있어야 하는 서버를 CronJob으로 배포 +- 본 서비스 온라인 처리를 CronJob에 의존 + +### 8. Stateful workload는 retention / scale-down 정책을 먼저 박는다 + +StatefulSet의 `persistentVolumeClaimRetentionPolicy`: + +- `whenDeleted` (StatefulSet이 삭제될 때 PVC 처리): `Retain` (기본) / `Delete` +- `whenScaled` (replica 축소될 때 PVC 처리): `Retain` (기본) / `Delete` + +**prod 기본**: `{whenDeleted: Retain, whenScaled: Retain}` (기본값). DB/Vault/MinIO 모두 여기서 이탈하지 않는다. +**dev/staging**: `{whenDeleted: Delete, whenScaled: Delete}` 허용 (클러스터 재생성 시 자동 정리). + +### 9. 외부 DB를 쓰는 앱 서버는 stateless 우선 + +Pod에 durable state가 없으면 Deployment. Pod identity가 고정되어야 한다는 이유만으로 StatefulSet 선택 금지. + +기준: + +- `auth-server` → Deployment +- 외부 DB 사용 `keycloak` → Deployment (caching은 external Redis / Infinispan cluster) +- 외부 object store 사용 앱 → Deployment + +### 10. Keycloak은 앱 레이어와 저장소를 분리 + +Keycloak 서버 자체는 stateless로 다룬다. + +- **외부 DB (PostgreSQL)** 사용이 prod 기본 +- session / cache는 Infinispan embedded 또는 remote 모드 결정 (remote 선호, replica 간 peer discovery는 Kubernetes DNS) +- **Deployment** + externalTrafficPolicy 고려 +- HA replica ≥ 2 + PDB + +### 11. Vault는 모드별로 다르다 + +- **dev mode**: 학습 전용. prod 절대 금지. +- **standalone (file storage)**: StatefulSet + PVC. replica=1. 단일 장애점. +- **HA Raft**: StatefulSet (integrated storage). replica 3 또는 5. `podManagementPolicy: Parallel` 허용. +- **HA Consul backend**: StatefulSet (Vault) + StatefulSet (Consul). operator 권장. +- **external Vault**: 클러스터 내부 서버 없음, ExternalSecrets로 참조만. + +prod 권장: **HA Raft mode StatefulSet (replica 3)** 또는 **external Vault**. + +### 12. MinIO는 Operator 기본 (StatefulSet은 fallback) + +1000-서비스 스케일에서 MinIO는 MinIO Operator + `Tenant` CRD가 기본. tenant가 StatefulSet을 내부적으로 생성. +raw StatefulSet은 단일 node/dev 환경에서만 예외 허용. + +### 13. Flyway는 Job 기본값 + +- 앱 startup 내부 migration 금지 (앱 부팅 실패와 migration 실패가 섞임) +- Flyway Job이 선행되고 Success 후에 Deployment rollout +- ArgoCD PostSync hook 또는 Argo Workflows로 순서 제어 +- `migrate`, `validate`, `info`, `repair` 각각 독립 Job + +### 14. Ingress controller 배치 결정 + +prod 권장: + +- **ingress-nginx Deployment** + `Service type=LoadBalancer` (MetalLB L2 또는 BGP, 또는 외부 LB) +- 또는 **Envoy Gateway / Gateway API 기반 Deployment** +- HPA 가능, PDB 필수 (tier-1 로 취급) +- 복수 IngressClass (`nginx-public`, `nginx-internal`) 분리 + +DaemonSet 선택 조건: + +- edge 노드가 고정되어 있고 hostNetwork 80/443이 필요 +- 외부 LB가 없고 DNS round-robin으로 다수 노드 IP 노출 + +### 15. DB는 operator 기본, StatefulSet은 fallback + +1000-서비스 스케일의 PostgreSQL: + +- **CloudNativePG Operator** 기본 → `Cluster` CRD. operator가 StatefulSet/Service/Secret/ConfigMap/Backup 전부 관리. +- **Zalando Postgres Operator**도 대안 +- raw StatefulSet은 dev / 특수 케이스에만 + +MySQL/MariaDB: + +- **MariaDB Operator** / **mysql-operator** + +Redis: + +- **Spotahome redis-operator** / **Redis Enterprise Operator** +- cluster 모드면 StatefulSet, sentinel 모드면 Deployment(sentinel) + StatefulSet(redis) + +### 16. Batch / 대량 병렬은 Job + `parallelism` + IndexedJob + +단일 Job으로 수천 개 task 병렬 실행: + +- `completionMode: Indexed` + `parallelism: N` +- 각 Pod가 `JOB_COMPLETION_INDEX` env로 자기 작업 식별 +- 더 복잡한 DAG는 Argo Workflows / Tekton + +### 17. workload 종류만 맞는다고 품질이 보장되지 않는다 + +최종 결정 전 동반 표준 확인: + +- `storage-pvc.md` (StorageClass / volumeClaimTemplate / snapshot) +- `network-ingress-tls.md` (ingressClassName / TLS) +- `resources-probes-availability.md` (PDB / HPA / probe / resources) +- `backup-restore.md` (RPO / RTO / 절차) +- `security-podsecurity.md` (PSA / seccomp / capabilities) +- `observability.md` (ServiceMonitor / log shipping) + +### 18. priority class / preemption 전략 + +- 플랫폼 에이전트 (CNI, CSI, log shipper, node-exporter): `system-node-critical` +- 클러스터 컨트롤러 (cert-manager, external-secrets, operator): `system-cluster-critical` +- 비즈니스 tier-1: 커스텀 `tier-1-critical` (value 1000000) +- 비즈니스 tier-2: `tier-2` (value 100000) +- 비즈니스 tier-3 / batch: `tier-3` (value 10000) + +## 현재 스택 기본 권장안 (prod) + +| 컴포넌트 | workload 종류 | operator | 비고 | +|----------------------|--------------------------------|-------------------|--------------------------------| +| `auth-server` | Deployment | — | tier-1 HPA+PDB | +| `test-server` (장기) | Deployment | — | | +| `test-server` (검증) | Job | — | ttlSecondsAfterFinished | +| `keycloak` | Deployment (외부 DB) | — | HA replicas≥2 | +| `postgres-identity` | StatefulSet (via CNPG) | CloudNativePG | replica 3 | +| `vault` | StatefulSet (Raft) | Vault Operator | replica 3 | +| `minio` | StatefulSet (via Tenant) | MinIO Operator | | +| `kafka` | StatefulSet (via Strimzi) | Strimzi | | +| `redis` | StatefulSet (via operator) | redis-operator | sentinel 또는 cluster 모드 | +| `flyway-migrate` | Job | — | ArgoCD PostSync hook | +| `postgres-backup` | CronJob | CNPG ScheduledBkp | operator가 소유 | +| `ingress-nginx` | Deployment + MetalLB | — | public / internal 분리 | +| `cert-manager` | Deployment | — | system-cluster-critical | +| `external-secrets` | Deployment | — | system-cluster-critical | +| `prometheus` | StatefulSet (via Prometheus) | Prometheus Op | | +| `fluent-bit` | DaemonSet | — | system-node-critical | +| `node-exporter` | DaemonSet | — | system-node-critical | +| `cilium-agent` | DaemonSet | Cilium Op (opt) | system-node-critical | +| `longhorn-manager` | DaemonSet | Longhorn | | + +## 프로젝트 기준 요약 + +- stateless 장기 → Deployment (+PDB+HPA+topologySpread 필수) +- stateful + stable identity/storage → StatefulSet (또는 operator) +- 노드 전역 에이전트 → DaemonSet +- 일회성 → Job (ttlSecondsAfterFinished 필수) +- 주기성 → CronJob (concurrencyPolicy + startingDeadlineSeconds) +- PVC ≠ StatefulSet 신호 전부 아님 +- DB/Kafka/Redis/Prometheus는 operator 기본 +- `persistentVolumeClaimRetentionPolicy` 명시, prod는 Retain/Retain +- Flyway는 Job, 앱 startup 내부 migration 금지 +- ingress controller는 Deployment+LB 기본, DaemonSet은 edge 조건에만 diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md new file mode 100644 index 0000000..d0ca5c2 --- /dev/null +++ b/docs/troubleshooting.md @@ -0,0 +1,1168 @@ +# 운영 중 만난 함정 9건 — 사건 카탈로그 + +K3s 기반 로컬 클러스터에서 Project-Infra 를 부트스트랩 / 운영하면서 실제로 만났던 사건들의 narrative 정리. +운영자 절차서 톤은 [`guide.md`](../guide.md) 의 15장 (`15.1` ~ `15.11`) 에 있고, 이 문서는 사건 단위로 "무엇을 보고 / 왜 그랬고 / 어떻게 풀었는지" 를 짧게 쓰기 위한 자료다. + +| # | 사건 | guide.md cross-ref | +|---|---|---| +| 1 | Registry image pull 실패 (`ImagePullBackOff`) | (별건 — guide.md 15.1 은 ContainerCreating 사건) | +| 2 | `vault-0` 가 `0/1 Running` 에서 멈춤 | [15.10](../guide.md#1510-vault-0-이-01-running-에서-멈춤) | +| 3 | `helm upgrade` 가 `has no deployed releases` 로 실패 | [15.11](../guide.md#1511-helm-upgrade-가-has-no-deployed-releases-로-실패) | +| 4 | VSO 가 기존 K8s Secret 을 덮어쓰지 않음 | [15.8](../guide.md#158-기존-k8s-secret-이-남아있을-때) | +| 5 | ForwardAuth 로그인 E2E 검증 실패 | (현장 검증 사건) | +| 6 | namespace 가 `Terminating` 에 걸림 | [15.9](../guide.md#159-namespace-가-terminating-에-걸림) | +| 7 | PodSecurity 위반 경고 (admission) | [15.7](../guide.md#157-podsecurity-위반-경고) | +| 8 | VSO 가 Vault 로그인 실패 | [15.2](../guide.md#152-vso-가-vault-에-로그인-실패) | +| 9 | Registry 는 살아났지만 auth-server 새 이미지 pull 이 끝나지 않음 | (해결됨 — registries.yaml 제거 + hosts.toml 직접 작성) | + +--- + +## 1. Registry image pull 실패 (`ImagePullBackOff`) + +### 한 줄 요약 + +사설 registry 도메인(`registry.project.com`) 이 클러스터 노드의 호스트 OS DNS 에 등록되지 않아, 노드의 containerd 가 image pull 단계에서 도메인을 해석하지 못하고 모든 Pod 이 `ImagePullBackOff` 로 멈췄다. + +### 배경 + +- 클러스터 안에 사설 OCI registry (MinIO + 도메인 `registry.project.com`) 를 띄우고, 다른 앱이 그 registry 의 이미지를 pull 하도록 구성. +- 도메인은 K8s service DNS 에는 보이지만 클러스터 외부 DNS / 호스트 OS DNS 에는 없음. + +### 증상 + +``` +Failed to pull image "registry.project.com/...": rpc error: code = Unknown +desc = failed to resolve reference: failed to do request: ... no such host +``` + +`kubectl describe pod` 의 Events 에 `ErrImagePull` → `ImagePullBackOff`. Pod 자체는 스케줄링 됐지만 컨테이너가 시작되지 못함. + +### Root Cause + +K8s 의 service DNS (CoreDNS) 와 **노드의 image pull 경로는 분리되어 있다**. + +- Pod 이 런타임에 `registry.project.com` 으로 HTTP 호출 → CoreDNS 가 해석 (✅ 동작함) +- 노드의 **containerd 가 image pull** → 호스트 OS 의 `/etc/resolv.conf` 만 본다 (CoreDNS 안 봄) + +따라서 호스트 OS 에서 `registry.project.com` 을 해석하지 못하면, 클러스터 안에 service / endpoint 가 정상이어도 image pull 은 실패한다. + +### 해결 + +K3s 가 사용하는 containerd 에 mirror 또는 host 매핑을 직접 알려준다. + +**A. registries.yaml mirror (권장)** + +```yaml +# /etc/rancher/k3s/registries.yaml (각 노드) +mirrors: + registry.project.com: + endpoint: + - "https://<클러스터 내부 ingress 주소>" +configs: + registry.project.com: + tls: + insecure_skip_verify: true # 사설 인증서일 경우 +``` + +설정 후 `systemctl restart k3s`. + +**B. 임시 우회 — `/etc/hosts`** + +``` +<ingress IP> registry.project.com +``` + +### 검증 + +노드에서 직접: + +```bash +sudo crictl pull registry.project.com/<image>:<tag> +``` + +성공하면 Pod 의 `ImagePullBackOff` 도 자동으로 회복된다 (`kubelet` 의 backoff retry). + +### 교훈 + +- **K8s service DNS 가 보인다고 image pull 도 된다고 가정하지 말 것.** image pull 은 노드의 컨테이너 런타임이 직접 수행하고, 호스트 OS 의 resolver 를 따른다. +- 사설 registry 를 클러스터 안에 두면 **bootstrap 순서 의존성** 이 생긴다 (registry 가 떠야 다른 이미지 pull 가능). 이 의존성은 mirror config / hosts 매핑으로만 풀린다. + +--- + +## 9. Registry 는 살아났지만 auth-server 새 이미지 pull 이 끝나지 않음 + +### 한 줄 요약 + +`docker-registry` 자체는 MinIO S3 backend 설정 오류를 고쳐 정상화했고 `auth-server` 새 이미지는 registry 에 업로드했다. 하지만 K3s 노드의 containerd pull 경로는 아직 완전히 검증되지 않아, 새 `auth-server` Pod 는 `ImagePullBackOff` 상태로 남아 있다. + +### 배경 + +- `auth-server` 에 Keycloak 사용자 정보를 token claim 에서 받아 간단히 저장하는 변경을 적용했다. +- 로컬 빌드 태그는 `manual-20260512071751` 이고, 배포 대상 이미지는 `registry.project.com/auth-platform/auth-server:manual-20260512071751` 이다. +- 현재 dev 클러스터 namespace 는 `mnt` 이며, `auth-server` Deployment 는 기존 `0.1.0` 이미지 Pod 1개가 계속 Running 중이다. +- registry 는 `docker-registry` Deployment + MinIO bucket `docker-registry` 조합으로 동작한다. + +### 증상 1: registry Pod 가 readiness/liveness 에서 무너짐 + +`docker-registry` Pod 가 `/v2/` probe 에서 일시적으로 `200` 을 반환하다가 `503` 으로 떨어지고 `CrashLoopBackOff` 로 진입했다. + +관찰된 설정: + +```yaml +REGISTRY_STORAGE: "s3" +REGISTRY_STORAGE_S3_REGIONENDPOINT: "https://minio.mnt.svc.cluster.local" +``` + +하지만 dev MinIO Service 는 HTTP 로 노출되어 있었다. + +```text +service/minio +port: 80 +targetPort: 9000 +``` + +### Root Cause 1 + +registry 의 S3 endpoint 가 `https://...` 로 설정되어 있었지만, 실제 MinIO Service 경로는 HTTP 였다. registry 가 storage health check 와 blob 접근에서 MinIO 에 정상 접근하지 못해 `/v2/` probe 가 실패했다. + +또한 endpoint 를 `http://minio` 로 바꾸면 registry egress NetworkPolicy 도 HTTP port `80` 을 허용해야 한다. 기존 policy 는 `443`, `9000` 만 열려 있었다. + +### 해결 1 + +Git/Kustomize 원천 파일을 수정했다. + +변경 파일: + +- `k8s/base/plugins/docker-registry/configmap.yaml` +- `k8s/overlays/dev/registry/networkpolicy.yaml` + +변경 내용: + +```yaml +REGISTRY_STORAGE_S3_REGIONENDPOINT: "http://minio" +REGISTRY_STORAGE_REDIRECT_DISABLE: "true" +``` + +```yaml +ports: + - protocol: TCP + port: 80 + - protocol: TCP + port: 443 + - protocol: TCP + port: 9000 +``` + +적용: + +```bash +kubectl diff -k k8s/overlays/dev/registry +kubectl apply -k k8s/overlays/dev/registry +kubectl -n mnt rollout restart deployment/docker-registry +kubectl -n mnt rollout status deployment/docker-registry --timeout=180s +``` + +검증 결과: + +```text +deployment.apps/docker-registry 1/1 Available +GET /v2/ HTTP/1.1 200 +``` + +### 증상 2: Docker push 가 포트포워딩에서 반복 실패 + +`kubectl -n mnt port-forward svc/docker-registry 5000:5000` 후 `docker push localhost:5000/...` 를 시도했지만, Docker 의 동시 layer upload 와 `kubectl port-forward` 의 SPDY stream 이 맞물려 connection reset / timeout 이 반복됐다. + +대표 오류: + +```text +write: connection reset by peer +error creating error stream for port 5000 -> 5000: Timeout occurred +``` + +BuildKit builder 에 HTTP/insecure registry 설정을 넣어도 image exporter 가 `https://localhost:5000` 또는 `https://127.0.0.1:5000` 로 HEAD 요청을 시도해 실패했다. + +### Root Cause 2 + +문제가 두 겹이었다. + +1. registry 의 기본 S3 redirect 가 켜져 있으면 client 가 `http://minio/...` presigned URL 로 직접 접근하려고 한다. 클러스터 밖 client 는 `minio` DNS 를 해석할 수 없다. +2. Docker/BuildKit push 는 여러 blob stream 을 동시에 열고, 이 환경의 `kubectl port-forward` 가 긴 업로드 stream 을 안정적으로 유지하지 못했다. + +### 해결 2 + +registry 에 `REGISTRY_STORAGE_REDIRECT_DISABLE: "true"` 를 추가해 client 가 MinIO 로 직접 redirect 되지 않게 했다. + +그 다음 Docker daemon 설정을 바꾸지 않기 위해, 이미지를 OCI tar 로 내보낸 뒤 Registry HTTP API 로 blob 과 manifest 를 순차 업로드했다. + +진행 요약: + +```bash +docker buildx build \ + --platform linux/amd64 \ + --provenance=false \ + --sbom=false \ + -f deploy/docker/application/Dockerfile \ + --output type=oci,dest=/tmp/auth-server-manual-20260512071751.oci.tar \ + . + +# Registry HTTP API 로 auth-platform/auth-server:manual-20260512071751 업로드 +``` + +검증: + +```text +GET http://registry.project.com/v2/auth-platform/auth-server/tags/list +{"name":"auth-platform/auth-server","tags":["manual-20260512071751"]} + +GET http://registry.project.com/v2/auth-platform/auth-server/manifests/manual-20260512071751 +200 application/vnd.oci.image.manifest.v1+json +``` + +### 증상 3: 새 auth-server Pod 가 TLS 오류로 image pull 실패 + +Deployment image 를 새 태그로 변경했다. + +```bash +kubectl -n mnt set image deployment/auth-server \ + auth-server=registry.project.com/auth-platform/auth-server:manual-20260512071751 +``` + +처음에는 kubelet 이 아래 오류를 냈다. + +```text +failed to do request: +Head "https://registry.project.com/v2/auth-platform/auth-server/manifests/manual-20260512071751": +tls: failed to verify certificate: +x509: certificate is valid for ...traefik.default, not registry.project.com +``` + +### Root Cause 3 + +registry Ingress 에 TLS 가 붙어 있어서가 아니다. 현재 registry Ingress 는 HTTP `80` 으로 노출되어 있고 TLS secret 을 명시하지 않는다. + +문제는 containerd 의 기본 image pull 동작이다. `image: registry.project.com/...` 는 scheme 을 쓸 수 없고, containerd 는 기본적으로 `https://registry.project.com/v2/...` 를 먼저 호출한다. Traefik 의 `443` default/self-signed certificate 를 밟으면서 hostname mismatch 가 발생했다. + +### 해결 3 + +각 K3s 노드의 `/etc/rancher/k3s/registries.yaml` 에 dev registry 를 HTTP/insecure registry 로 등록했다. + +```yaml +mirrors: + registry.project.com: + endpoint: + - "http://registry.project.com" +configs: + registry.project.com: + tls: + insecure_skip_verify: true +``` + +적용 대상: + +- `dev-wk-1`: `systemctl restart k3s-agent` +- `dev-wk-2`: `systemctl restart k3s-agent` +- `dev-cp-1`: `systemctl restart k3s` + +검증: + +```bash +kubectl wait node/dev-wk-1 --for=condition=Ready --timeout=120s +kubectl wait node/dev-wk-2 --for=condition=Ready --timeout=120s +kubectl wait node/dev-cp-1 --for=condition=Ready --timeout=180s +``` + +이후 Pod event 에서 TLS certificate mismatch 오류는 사라졌다. + +### 증상 4: registries.yaml 을 HTTP 로 바꿨는데도 여전히 `not found` + +해결 3 으로 TLS cert mismatch 는 사라졌지만, 새 Pod 는 여전히 `ImagePullBackOff` 였다. 메시지가 바뀌었다. + +```text +Failed to pull image "registry.project.com/auth-platform/auth-server:manual-20260512071751": +rpc error: code = NotFound desc = +failed to resolve reference "...": +registry.project.com/auth-platform/auth-server:manual-20260512071751: not found +``` + +진단 절차에서 확인된 사실: + +- registry 에 자격증명 + OCI Accept 헤더로 curl 하면 manifest 200 OK. +- `imagePullSecrets` 는 `auth-server-sa` 와 Pod spec 양쪽에 정상 박힘. +- `crictl pull --creds testuser:...` 도 동일하게 `not found`. +- **`ctr images pull --plain-http --user testuser:...` 만 정상 동작.** +- registry access log 에 ImagePullBackOff Pod 시도 시 manifest 호출 자체가 안 도착. + +→ containerd 가 registry 까지 HTTP 호출을 시도조차 하지 않는 상태. ctr 의 `--plain-http` 플래그가 결정적이라는 건 **containerd 가 HTTP scheme 을 인식하지 못하고 있음** 을 의미했다. + +K3s 가 자동 생성한 hosts.toml 을 직접 확인했더니 원인이 드러났다. + +```toml +# /var/lib/rancher/k3s/agent/etc/containerd/certs.d/registry.project.com/hosts.toml +# File generated by k3s. DO NOT EDIT. +server = "https://registry.project.com/v2" # ← origin 은 HTTPS 강제 +capabilities = ["pull", "resolve", "push"] +skip_verify = true + +[host."http://registry.project.com/v2"] # ← mirror 만 HTTP + capabilities = ["pull", "resolve"] + skip_verify = true +``` + +### Root Cause 4 + +K3s 1.34 + containerd 2.x 환경에서 `registries.yaml` → `hosts.toml` 자동 변환 동작: + +1. **`mirrors.<host>.endpoint`** 는 `[host."<endpoint>"]` 블록으로 그대로 옮겨진다 (HTTP scheme 보존). +2. 그러나 **최상위 `server`** 는 `host` 이름 기준으로 `https://<host>/v2` 가 강제된다 — registry 가 default 로 HTTPS 라는 가정. +3. containerd 는 mirror 가 fail 하거나 manifest 협상 실패 시 `server` 로 fallback. 우리 registry 는 origin 도 HTTP 라서 fallback 이 cert mismatch 또는 connection 실패로 끝남. +4. 추가로 endpoint URL 에 `/v2` path 까지 박혀 있다. containerd hosts.toml 명세상 `[host."<URL>"]` 의 URL 은 scheme + host 만 허용, path 는 host matcher 를 깨뜨릴 수 있다. + +즉 **registry 가 HTTPS 인 일반 환경을 가정한 K3s 의 자동 변환 로직이, HTTP-only registry 환경과 불일치** 를 일으킨 것이다. + +### 해결 4 + +K3s 의 hosts.toml 자동 생성 자체를 끄고 직접 작성해야 한다. K3s 는 `/etc/rancher/k3s/registries.yaml` 이 존재하는 한 무조건 hosts.toml 을 재생성한다 (재시작 시 사용자 작성을 덮어씀). + +각 노드에서: + +```bash +# 1) 자동 생성을 막기 위해 registries.yaml 비활성화 +sudo mv /etc/rancher/k3s/registries.yaml /etc/rancher/k3s/registries.yaml.bak + +# 2) hosts.toml 직접 작성 +sudo mkdir -p /var/lib/rancher/k3s/agent/etc/containerd/certs.d/registry.project.com +sudo tee /var/lib/rancher/k3s/agent/etc/containerd/certs.d/registry.project.com/hosts.toml > /dev/null <<'EOF' +server = "http://registry.project.com" + +[host."http://registry.project.com"] + capabilities = ["pull", "resolve", "push"] + skip_verify = true + + [host."http://registry.project.com".auth] + username = "testuser" + password = "abcd6845" +EOF + +# 3) 적용 +sudo systemctl restart k3s-agent # 워커 노드 +sudo systemctl restart k3s # control-plane +``` + +핵심 차이: + +- `server` 도 `http://` 명시 → fallback 도 HTTP. +- endpoint URL 에서 `/v2` path 제거. +- `auth` 를 hosts.toml 에 박아 `imagePullSecrets` 와 무관하게 노드 단에서 인증 자동 첨부. + +### 검증 + +```bash +# 노드의 registry 연결 직접 검증 +sudo /usr/local/bin/k3s ctr -a /run/k3s/containerd/containerd.sock \ + images pull --plain-http --user 'testuser:abcd6845' \ + registry.project.com/auth-platform/auth-server:manual-20260512071751 + +# Pod 가 새 이미지로 정상 Running 되는지 +kubectl -n mnt get pod -l app.kubernetes.io/name=auth-server \ + -o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[0].ready,IMAGE:.spec.containers[0].image' +# → READY=true, IMAGE=...:manual-20260512071751 + +# registry pod 의 access log 에서 containerd 호출 확인 +kubectl -n mnt logs deployment/docker-registry --tail=50 | grep "containerd/v" +# → "useragent": "containerd/v2.2.2-bd1.34" 가 manifests/blobs 호출에 보이면 OK +``` + +### 이전 항목과의 관계 — 같은 증상, 다른 root cause + +이번 사건은 표면 증상이 [#1](#1-registry-image-pull-실패-imagepullbackoff) 과 비슷해 보이지만 실제 원인 layer 가 다르다. + +| 항목 | 시점의 환경 | 원인 layer | 해결 | +|---|---|---|---| +| #1 | registry 가 HTTPS (사설 인증서) | 노드 호스트 OS 가 `registry.project.com` 을 DNS 해석 못 함 | `/etc/hosts` 또는 `registries.yaml` mirror endpoint | +| #9 해결 3 | registry 를 **HTTP-only 로 변경**한 직후 | containerd 가 default HTTPS 로 시도 → cert mismatch | `registries.yaml` 의 endpoint 를 `http://...` 로 | +| #9 해결 4 (이번) | 위 변경 후에도 남아 있던 문제 | K3s 자동 생성 hosts.toml 의 `server` 가 여전히 `https://` 강제 + `/v2` path 포함 | `registries.yaml` 제거 + `hosts.toml` 직접 작성 | + +→ **#1 의 해결이 잘못됐던 것이 아니다**. #1 은 그 시점 (registry HTTPS) 의 정확한 fix 였고 한동안 정상 동작했다. registry 를 HTTP-only 로 변경하면서 새 layer 의 호환성 문제가 드러난 것이며, K3s + containerd 2.x 의 자동 변환 로직이 HTTP-only origin 을 상정하지 않은 것이 진짜 원인이다. + +### 교훈 + +- registry Pod 의 `/v2/` readiness 가 `200` 이라고 해서 push/pull 경로 전체가 정상인 것은 아니다. S3 backend, redirect, NetworkPolicy, ingress auth, containerd mirror 설정을 분리해서 봐야 한다. +- registry 를 MinIO S3 backend 로 둘 때 클러스터 밖 client 가 접근할 수 없는 내부 DNS 로 redirect 되지 않게 `REGISTRY_STORAGE_REDIRECT_DISABLE` 를 검토해야 한다. +- dev 에서 TLS 를 의도적으로 빼더라도 containerd 는 registry 를 기본 HTTPS 로 당긴다. `image:` 필드에는 `http://` scheme 을 넣을 수 없다. +- **K3s 의 `registries.yaml` 자동 변환은 registry 가 HTTPS 라는 가정을 깔고 동작한다**. HTTP-only registry 인 경우 자동 변환을 끄고 (`registries.yaml` 제거) `hosts.toml` 을 직접 작성해야 `server` URL scheme 을 통제할 수 있다. +- 진단 시 `crictl pull` 과 `ctr pull` 의 차이 (특히 `--plain-http` 동작 여부) 를 비교하면 containerd 가 HTTP scheme 을 인식하고 있는지 빠르게 분리할 수 있다. +- 같은 증상이 다시 나타날 때, 이전 사건의 해결책을 그대로 적용하기 전에 **그 시점의 환경 가정과 현재 환경이 같은지** 부터 확인해야 한다. 표면 증상이 같아도 layer 가 다른 경우가 흔하다. +- 노드 런타임 설정은 K8s resource 가 아니므로, 임시 `kubectl debug node` 변경은 반드시 후속으로 운영 source-of-truth (Ansible / Fleet / cloud-init) 에 반영해야 한다. Kustomize manifest 로는 이 파일을 관리하지 않는다. + +--- + +## 2. `vault-0` 가 `0/1 Running` 에서 멈춤 + +### 한 줄 요약 + +Vault Pod 의 readiness probe 는 `vault status` 가 `sealed: false` 여야만 통과한다. 처음 띄운 Vault 는 `sealed/uninitialized` 상태이므로 의도적으로 `0/1` 로 멈추고, 운영자가 init + unseal 을 명시적으로 해야 Ready 가 된다. + +### 배경 + +- Vault Helm chart 의 기본 readiness probe 는 `vault status` 의 health 코드 기반. +- Sealed Vault 가 트래픽을 받으면 안 되므로, **Sealed = NotReady 가 정상**. + +### 증상 + +``` +NAME READY STATUS RESTARTS AGE +vault-0 0/1 Running 0 5m +``` + +`kubectl logs vault-0` 에는 에러 없음. `kubectl exec -it vault-0 -- vault status` 하면 `Initialized: false` 또는 `Sealed: true`. + +### Root Cause + +- Vault 는 첫 기동 시 자동으로 init / unseal 되지 않는다 — unseal key 를 누가 / 어떻게 보관할지가 운영 정책 영역이기 때문. +- 따라서 첫 부트스트랩에는 반드시 운영자 / 자동화 스크립트의 init 절차가 필요하다. + +### 해결 + +```bash +REPO_ROOT="$(pwd)" ENV_NAME=dev bash k8s/scripts/tasks/vault-init.sh +``` + +이 스크립트는 idempotent — 다음을 차례로 처리한다. + +1. `vault operator init` (이미 init 됐으면 skip) +2. unseal keys 를 사용해 unseal +3. `kubernetes` auth method enable + `kubernetes_ca_cert` + `token_reviewer_jwt` 설정 +4. policy / role 등록 + +unseal 이 끝나면 readiness probe 가 통과하고 Pod 이 `1/1 Ready` 로 전환된다. + +### 검증 + +```bash +kubectl get pod -n mnt vault-0 +# vault-0 1/1 Running + +kubectl exec -n mnt vault-0 -- vault status +# Sealed: false +``` + +### 교훈 + +- Pod 이 `Running` 인데 `0/1` 일 때, 무한 대기하지 말고 readiness probe 의 의미부터 본다 — 많은 경우 **의도된 NotReady** 다. +- Vault 같이 운영자 수동 절차가 필요한 컴포넌트는, 이 절차를 스크립트로 idempotent 하게 묶어두는 게 부트스트랩 / 재부팅 / DR 복구를 단순하게 만든다. + +--- + +## 3. `helm upgrade` 가 `has no deployed releases` 로 실패 + +### 한 줄 요약 + +이전 `helm upgrade --install` 시도가 `--atomic` 으로 인해 자동 rollback 되면서 release 가 `failed` / `uninstalled` 상태로만 남았고, 다음 호출이 `upgrade` 분기로 진입하려다 deployed release 가 없어 실패했다. + +### 증상 + +``` +Error: UPGRADE FAILED: "vault-secrets-operator" has no deployed releases +``` + +`helm list -A` 로는 release 가 보이지 않거나 `STATUS=failed` / `uninstalled` 로 보임. + +### Root Cause + +- `helm upgrade --install` 은 release metadata 가 있으면 upgrade 분기로 간다. +- `--atomic` 은 설치 실패 시 자동 rollback. rollback 결과로 metadata 는 남고 실제 배포물은 없는 상태가 되면 다음 `--install` 도 "이미 release 가 있다고 판단 → upgrade → deployed release 없음 → 실패" 로 간다. +- 즉 `--atomic` + 실패 케이스가 쌓이면 멱등성이 무너진다. + +### 해결 + +`tasks/vso-install.sh` 에서 두 가지를 바꿈. + +1. **release status 선검사 + 자동 uninstall** + + ```bash + status=$(helm -n vault-secrets-operator-system status vault-secrets-operator -o json | jq -r '.info.status') + case "$status" in + failed|pending-*|uninstalling|uninstalled) + helm -n vault-secrets-operator-system uninstall vault-secrets-operator || true + ;; + esac + ``` + +2. **`--atomic` 제거** — 실패 시 자동 rollback 보다 다음 실행에서 cleanup + 재시도가 더 안전. + +### 검증 + +```bash +helm list -n vault-secrets-operator-system +# vault-secrets-operator ... STATUS=deployed +``` + +### 교훈 + +- `helm --atomic` 은 단발성 install 에는 좋지만, 부트스트랩 스크립트에서 **반복 실행으로 복구되어야 하는** 경로에는 안 어울린다. +- install/upgrade 스크립트에선 항상 **현재 상태를 먼저 검사하고, 망가진 상태면 cleanup 후 재시작** 하는 패턴이 더 견고하다. + +--- + +## 4. VSO 가 기존 K8s Secret 을 덮어쓰지 않음 + +### 한 줄 요약 + +Vault KV 에 새 값을 넣었는데 K8s Secret 은 옛날 값을 유지. `VaultStaticSecret` 의 `destination.overwrite` 기본값(`false`) 때문에, **이미 존재하는 Secret 을 보면 VSO 가 손대지 않는** 안전한 default 가 자동화와 충돌한 사건. + +### 증상 + +- Vault KV 의 값을 갱신해도 `kubectl get secret -o yaml` 의 `data` 가 안 바뀜. +- Pod 재시작해도 새 값 반영 안 됨. + +### Root Cause + +- VSO 는 소유권 경합 방지 목적으로 `destination.overwrite: false` 가 기본. +- 이 기본은 "운영자가 수동으로 만든 Secret 을 VSO 가 무단 덮어쓰지 않는다" 는 안전 장치 — 단, 처음 부트스트랩 전에 stale Secret 이 남아 있으면 그것도 덮어쓰지 않음. + +### 해결 + +bootstrap 스크립트에 명시적 opt-in 환경변수를 둠. + +```bash +RESET_STALE_SECRETS=yes bash k8s/scripts/bin/bootstrap.sh dev +``` + +이 옵션이 있을 때만 VSO-managed K8s Secret 후보들을 선제 삭제 → VSO 가 새로 생성. + +수동 우회: + +```bash +kubectl delete secret <name> -n <ns> +# VSO reconcile (수 초~수십 초) 대기 +``` + +### 검증 + +```bash +kubectl get secret <name> -n <ns> -o yaml +# data: 새 값 +# metadata.ownerReferences: VaultStaticSecret 으로 설정됨 +``` + +### 교훈 + +- 안전한 default (`overwrite: false`) 는 자동화 / 운영 흐름과 자주 충돌한다. 깨려면 **명시적 opt-in 플래그** 로 깨야지, default 를 무작정 바꾸면 운영자 수동 자산이 날아간다. +- bootstrap 스크립트의 파괴적 옵션은 환경변수 이름에 의도가 드러나야 한다 (`RESET_STALE_SECRETS=yes` 처럼). + +--- + +## 5. ForwardAuth 로그인 E2E 검증 실패 + +### 한 줄 요약 + +oauth2-proxy / Keycloak / Traefik / auth-server 사이의 설정이 각각 조금씩 어긋나 있어, "로그인 화면은 뜨는가" 와 "로그인 후 API 가 인증된 요청으로 통과하는가" 가 단계별로 실패했다. 문제는 하나가 아니라 Traefik CRD 누락, TLS Secret 부재, Keycloak client secret 불일치, oauth2-proxy Authorization header 미전달, auth-server issuer 설정 미반영이 연쇄적으로 겹친 사건이었다. + +### 배경 + +목표 흐름은 다음과 같다. + +```text +Browser + -> https://project.com/* + -> Traefik Ingress + -> oauth2-proxy ForwardAuth (/oauth2/auth) + -> Keycloak OIDC login + -> oauth2-proxy callback (/oauth2/callback) + -> auth-server +``` + +Boundary 기준으로 나누면 다음과 같다. + +| Boundary | 정상 신호 | 실패 신호 | +|---|---|---| +| Browser local DNS/TLS | Chrome 이 `project.com` 을 Traefik IP 로 열고 self-signed 인증서를 통과 | public DNS 로 빠짐, `ERR_CERT_*`, HSTS/인증서 경고에서 진행 불가 | +| Traefik routing/TLS | host rule 이 잡히고 TLS Secret 으로 handshake 성공 | Traefik `404`, `unknown TLS options`, `secret ... does not exist`, SNI 실패 | +| Traefik ForwardAuth | 미인증 요청이 oauth2-proxy `/oauth2/auth` 로 위임 | backend 로 바로 감, 또는 항상 `Unauthorized` | +| Traefik error redirect | 미인증 요청이 `302 Location: keycloak...` 로 변환 | `Location` 은 있는데 status 가 `401` 이라 브라우저가 이동하지 않음 | +| oauth2-proxy -> Keycloak authorize | Keycloak 로그인 화면 `200` | authorize URL 생성 실패, 잘못된 redirect URI | +| Keycloak -> oauth2-proxy callback/token | callback 후 oauth2-proxy session cookie 발급 | `unauthorized_client`, invalid client credentials | +| oauth2-proxy -> auth-server header | `/oauth2/auth` 가 `Authorization: Bearer ...` 반환 | auth-server 가 `anonymous` 로 처리 | +| auth-server JWT validation | issuer/JWK 검증 통과 후 application response 반환 | issuer mismatch, JWK 조회 실패, `401` | +| auth-server application route | 실제 API/화면 응답 | 인증은 통과했지만 route 없음, 예: `404 PRES-005` | + +dev 환경에서는 실제 공인 DNS / ACME 인증서가 아직 준비되지 않았다. 그래서 CLI 검증은 아래처럼 DNS 와 TLS 검증을 임시 우회했다. + +```bash +curl -k \ + --resolve project.com:443:10.208.141.123 \ + --resolve keycloak.dev.example.com:443:10.208.141.123 \ + https://project.com/oauth2/start?rd=https://project.com/api/me +``` + +브라우저는 `curl --resolve` 와 `-k` 를 쓸 수 없으므로, 직접 웹사이트로 검증하려면 로컬 `/etc/hosts` 와 self-signed 인증서 예외가 필요하다. + +```text +10.208.141.123 project.com +10.208.141.123 keycloak.dev.example.com +``` + +### 증상 1: Ingress 가 404 또는 TLS handshake 실패 + +Boundary: `Traefik routing/TLS` + +처음에는 `https://project.com/api/me` 가 Traefik 기본 `404 page not found` 를 반환했고, Keycloak discovery 도 TLS 단계에서 실패했다. + +대표 증상: + +```text +HTTP/2 404 +404 page not found + +curl: (35) OpenSSL: tlsv1 unrecognized name +``` + +### Root Cause 1 + +`auth-server`, `oauth2-proxy`, `keycloak-public` Ingress 는 모두 아래 annotation 을 참조하고 있었다. + +```text +traefik.ingress.kubernetes.io/router.tls.options: kube-system-modern-tls@kubernetescrd +traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd,... +``` + +하지만 live cluster 에는 `modern-tls`, `https-redirect`, `security-headers` 가 없었다. Traefik 로그에는 다음 오류가 반복됐다. + +```text +unknown TLS options: kube-system-modern-tls@kubernetescrd +``` + +결과적으로 Traefik 가 해당 router 를 정상 구성하지 못했고, host/path 가 맞아도 요청이 backend 로 가지 않았다. + +### 해결 1 + +Traefik packaged manifest 를 직접 수정하지 않고, Git source-of-truth 인 overlay 를 적용했다. + +```bash +kubectl apply -k k8s/overlays/dev/platform/traefik +``` + +적용된 리소스: + +- `HelmChartConfig/traefik` +- `Middleware/https-redirect` +- `Middleware/security-headers` +- `TLSOption/modern-tls` + +검증: + +```bash +kubectl -n kube-system get tlsoption,middleware +kubectl -n kube-system logs deploy/traefik --tail=200 +``` + +### 증상 2: TLS Secret 이 없어 HTTPS 라우팅이 SNI 에서 실패 + +Boundary: `Traefik routing/TLS` 와 `cert-manager -> Traefik TLS Secret` + +Traefik CRD 를 적용한 뒤에도 HTTPS 요청은 `tlsv1 unrecognized name` 으로 실패했다. Traefik 로그에는 아래 메시지가 있었다. + +```text +Error configuring TLS: secret mnt/project-com-tls does not exist +Error configuring TLS: secret mnt/keycloak-dev-example-com-tls does not exist +``` + +### Root Cause 2 + +dev `Certificate` 리소스가 `letsencrypt-staging` 을 참조하고 있었다. 하지만 현재 dev 도메인(`project.com`, `keycloak.dev.example.com`) 은 외부 공인 DNS 가 Traefik 진입점으로 향하지 않는다. ACME HTTP-01 은 public DNS 와 80/443 도달성이 필요하므로 인증서 발급이 완료될 수 없었다. + +또한 `TLSOption` 의 `sniStrict: true` 때문에 TLS Secret 이 없는 host 는 handshake 단계에서 차단됐다. 보안상 의도한 동작이지만, dev 검증에는 별도 인증서가 필요했다. + +### 해결 2 + +dev 전용 `ClusterIssuer/dev-selfsigned` 를 추가하고, dev TLS `Certificate` 들이 이를 참조하도록 바꿨다. + +변경 파일: + +- `k8s/overlays/dev/platform/cert-manager-issuers/dev-selfsigned-clusterissuer.yaml` +- `k8s/overlays/dev/platform/cert-manager-issuers/kustomization.yaml` +- `k8s/overlays/dev/tls/project-com-certificate.yaml` +- `k8s/overlays/dev/tls/keycloak-dev-certificate.yaml` +- `k8s/overlays/dev/tls/registry-project-com-certificate.yaml` + +적용: + +```bash +kubectl apply -k k8s/overlays/dev/platform/cert-manager-issuers +kubectl apply -k k8s/overlays/dev/tls +kubectl -n mnt wait --for=condition=Ready certificate/project-com --timeout=120s +kubectl -n mnt wait --for=condition=Ready certificate/keycloak-dev-example-com --timeout=120s +``` + +검증 결과 Keycloak discovery 가 HTTPS 로 `200` 을 반환했다. + +```text +GET https://keycloak.dev.example.com/realms/platform/.well-known/openid-configuration +HTTP/2 200 +issuer: https://keycloak.dev.example.com/realms/platform +``` + +### 증상 3: 로그인 화면은 뜨지만 callback 에서 500 + +Boundary: `Keycloak -> oauth2-proxy callback/token` + +`/oauth2/start` 는 Keycloak authorize URL 로 `302` 되고, Keycloak 로그인 화면까지는 열렸다. 하지만 로그인 후 `/oauth2/callback` 에서 oauth2-proxy 가 `500 Internal Server Error` 를 반환했다. + +oauth2-proxy 로그: + +```text +Error redeeming code during OAuth2 callback: +token exchange failed: oauth2: "unauthorized_client" "Invalid client or Invalid client credentials" +``` + +### Root Cause 3 + +Vault / K8s Secret 의 `auth-server-ingress` client secret 과 Keycloak live realm 의 client secret 이 달랐다. + +이유: + +- Vault seed 스크립트가 `keycloak/clients/auth-server-ingress` 와 `oauth2-proxy/forward-auth` secret 을 생성했다. +- oauth2-proxy 는 VSO 가 만든 최신 K8s Secret 을 읽었다. +- 하지만 이미 import 된 Keycloak realm/client 는 새 secret 으로 다시 동기화되지 않았다. +- `KeycloakRealmImport` 는 source 에서 secret placeholder 를 보도록 수정했지만, 기존 import 결과가 자동으로 다시 적용되지 않았다. + +비교는 값을 출력하지 않고 hash 로 했다. + +```text +k8s_client_secret_sha == oauth2_secret_sha +keycloak_client_sha != oauth2_secret_sha +``` + +### 해결 3 + +Keycloak admin API 를 내부 port-forward 로만 열고, `auth-server-ingress` client representation 의 `secret` 을 K8s Secret 값과 동기화했다. + +```bash +kubectl -n mnt port-forward svc/keycloak 18080:80 +``` + +그 뒤 admin token 으로 client 를 조회하고 `PUT /admin/realms/platform/clients/{id}` 로 secret 을 반영했다. 반영 후 hash 가 일치했다. + +```text +desired_sha == keycloak_sha +update_status=204 +``` + +주의: Keycloak public ingress 는 의도적으로 `/admin/` 을 노출하지 않는다. admin API 작업은 port-forward, VPN, 또는 내부 운영 경로로만 수행한다. + +### 증상 4: 미인증 요청이 Keycloak 으로 자동 이동하지 않음 + +Boundary: `Traefik ForwardAuth` 와 `Traefik error redirect` + +미인증 상태에서 `https://project.com/` 또는 `https://project.com/api/me` 를 열면 oauth2-proxy 의 로그인 시작 응답이 본문에는 보였지만, HTTP status 는 여전히 `401` 이었다. 이 경우 브라우저는 `Location` header 가 있어도 자동으로 따라가지 않는다. + +대표 응답: + +```text +HTTP/2 401 +location: https://keycloak.dev.example.com/realms/platform/protocol/openid-connect/auth?... + +<a href="https://keycloak.dev.example.com/...">Found</a>. +``` + +### Root Cause 4 + +Traefik `errors` middleware 는 `/oauth2/start?rd={url}` 를 내부 호출해 응답 body/header 를 가져오지만, 기본 동작만으로는 원래 오류 status 를 유지할 수 있다. 그 결과 oauth2-proxy 가 `302 Location` 을 만들었더라도 최종 클라이언트 응답이 `401` 로 남아 브라우저 redirect 가 일어나지 않았다. + +또한 errors middleware 가 forwardAuth 의 `401` 을 감싸려면 middleware 순서가 중요하다. `oauth2-proxy-errors` 가 `oauth2-proxy-auth` 앞에 있어야 forwardAuth 실패 응답을 로그인 시작 응답으로 바꿀 수 있다. + +### 해결 4 + +`oauth2-proxy-errors` 에 `statusRewrites` 를 추가하고, auth-server Ingress middleware 순서를 조정했다. + +```yaml +spec: + errors: + status: + - "401-403" + statusRewrites: + "401": 302 + "403": 302 + service: + name: oauth2-proxy + port: 4180 + query: /oauth2/start?rd={url} +``` + +auth-server Ingress 순서: + +```text +kube-system-https-redirect@kubernetescrd, +mnt-oauth2-proxy-errors@kubernetescrd, +mnt-oauth2-proxy-auth@kubernetescrd, +kube-system-security-headers@kubernetescrd +``` + +검증: + +```bash +curl -k -D - \ + --resolve project.com:443:10.208.141.123 \ + https://project.com/ +``` + +정상 응답: + +```text +HTTP/2 302 +location: https://keycloak.dev.example.com/realms/platform/protocol/openid-connect/auth?... +``` + +### 증상 5: callback 은 성공하지만 auth-server 가 계속 401 + +Boundary: `oauth2-proxy -> auth-server header` + +Keycloak client secret 을 맞춘 뒤 oauth2-proxy callback 은 성공했고, `_oauth2_proxy` 세션 쿠키도 발급됐다. oauth2-proxy 로그에도 인증 성공이 찍혔다. + +```text +[AuthSuccess] Authenticated via OAuth2: +email:dev-login-check@project.local +groups:[role:platform-user ...] +``` + +하지만 `https://project.com/api/me` 는 계속 401 이었다. auth-server 로그는 사용자를 `anonymous` 로 보고 있었다. + +```text +Authentication required. actorId=anonymous method=GET requestPath=/api/me +``` + +### Root Cause 5 + +oauth2-proxy 의 `/oauth2/auth` 는 `X-Auth-Request-Access-Token` 은 반환했지만 `Authorization: Bearer ...` 헤더를 반환하지 않았다. auth-server 는 Spring Security Resource Server 이므로 JWT 를 `Authorization` 헤더에서 읽는다. 따라서 ForwardAuth 는 통과해도 backend 는 anonymous 요청으로 처리했다. + +### 해결 5 + +oauth2-proxy config 에 아래 설정을 추가했다. + +```hcl +set_authorization_header = true +``` + +변경 파일: + +- `k8s/components/forward-auth/oauth2-proxy-config.yaml` + +반영 후 oauth2-proxy 를 재시작했다. + +```bash +kubectl -n mnt rollout restart deployment/oauth2-proxy +kubectl -n mnt rollout status deployment/oauth2-proxy --timeout=180s +``` + +검증: + +```bash +curl -k -D - \ + -b /tmp/oauth2-authenticated-cookies.txt \ + --resolve project.com:443:10.208.141.123 \ + https://project.com/oauth2/auth +``` + +응답에 `Authorization: Bearer ...` 와 `X-Auth-Request-Access-Token` 이 함께 나타나면 정상이다. + +### 증상 6: Authorization 은 생겼지만 auth-server 가 issuer mismatch 로 실패 + +Boundary: `auth-server JWT validation` + +Authorization 헤더가 생긴 뒤 auth-server 는 더 이상 단순 anonymous 만 보지 않았다. 대신 JWT decoder 초기화에서 issuer mismatch 를 냈다. + +```text +The Issuer "https://keycloak.dev.example.com/realms/platform" +provided in the configuration did not match the requested issuer +"http://keycloak/realms/platform" +``` + +### Root Cause 6 + +auth-server 의 live Pod 가 예전 issuer 설정(`http://keycloak/realms/platform`) 을 들고 있었다. Git source 와 live ConfigMap 은 이미 외부 issuer 로 맞춰져 있었지만, Deployment 가 재시작되지 않아 Pod 환경변수에는 반영되지 않았다. + +정상 설정: + +```text +SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=https://keycloak.dev.example.com/realms/platform +SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI=http://keycloak/realms/platform/protocol/openid-connect/certs +``` + +설계 의도는 issuer claim 검증은 외부 issuer 로 맞추고, JWK 조회는 클러스터 내부 Service 로 수행하는 것이다. + +### 해결 6 + +auth-server Deployment 를 재시작했다. + +```bash +kubectl -n mnt rollout restart deployment/auth-server +kubectl -n mnt rollout status deployment/auth-server --timeout=180s +``` + +### 최종 검증 결과 + +새 로그인 흐름으로 다음이 확인됐다. + +1. `/oauth2/start` → Keycloak authorize URL `302` +2. Keycloak 로그인 화면 `200` +3. 로그인 폼 제출 → authorization code 발급 +4. `/oauth2/callback` → oauth2-proxy session cookie 발급 +5. oauth2-proxy `/oauth2/auth` → `202` +6. auth response header: + - `Authorization: Bearer ...` + - `X-Auth-Request-Access-Token` + - `X-Auth-Request-Email` + - `X-Auth-Request-User` + - `X-Auth-Request-Preferred-Username` +7. 미인증 요청은 `302` 로 Keycloak 로그인 화면으로 이동 +8. `/api/me` 요청은 ForwardAuth 를 통과해 auth-server 까지 도달 + +최종 `/api/me` 응답은 auth-server 의 애플리케이션 `404 PRES-005` 였다. + +```json +{ + "success": false, + "code": "PRES-005", + "message": "요청한 리소스를 찾을 수 없습니다." +} +``` + +이는 ForwardAuth 실패가 아니라 auth-server 에 해당 route 가 없다는 의미다. 인증 계층 검증 관점에서는 `401` 이 사라지고 auth-server business response 가 나온 시점이 통과 기준이다. + +### 브라우저로 직접 검증하는 방법 + +curl 로는 DNS 와 TLS 를 아래 옵션으로 우회한다. + +```bash +curl -k \ + --resolve project.com:443:10.208.141.123 \ + --resolve keycloak.dev.example.com:443:10.208.141.123 \ + https://project.com/oauth2/start?rd=https://project.com/api/me +``` + +브라우저는 같은 우회를 옵션으로 줄 수 없으므로 로컬 머신에서 다음을 준비한다. + +1. `/etc/hosts` 에 ingress IP 매핑: + + ```text + 10.208.141.123 project.com + 10.208.141.123 keycloak.dev.example.com + ``` + +2. `https://project.com/oauth2/start?rd=https://project.com/api/me` 접속 +3. dev self-signed 인증서 경고 허용 또는 인증서 trust 등록 +4. Keycloak 로그인 +5. callback 후 `project.com` 으로 돌아오는지 확인 + +### 교훈 + +- ForwardAuth E2E 는 하나의 설정만 맞아서는 동작하지 않는다. Traefik CRD, TLS Secret, oauth2-proxy secret, Keycloak client secret, redirect status, backend issuer/JWK 설정이 모두 같은 세계관이어야 한다. +- "로그인 화면이 뜬다" 는 검증의 중간 지점일 뿐이다. 반드시 callback, token exchange, session cookie, `/oauth2/auth 202`, backend 도달까지 나눠 봐야 한다. +- dev 에서 ACME 가 안 되는 상황은 정상일 수 있다. public DNS 가 없으면 `dev-selfsigned` 로 검증하고, staging/prod 에서 ACME issuer 로 전환한다. +- Keycloak client secret 은 Vault/K8s/oauth2-proxy/Keycloak live realm 네 곳이 한 값으로 수렴해야 한다. +- Spring Resource Server 는 issuer claim 을 엄격히 검증한다. 내부 Service URL 과 외부 issuer URL 을 섞을 때는 `issuer-uri` 와 `jwk-set-uri` 의 역할을 분리해야 한다. + +--- + +## 6. namespace 가 `Terminating` 에 걸림 + +### 한 줄 요약 + +VSO controller 가 먼저 사라진 뒤 CRD finalizer / PVC protection finalizer / 일부 namespaced 리소스 finalizer 가 풀리지 못해 namespace 가 `Terminating` 에서 무한 대기. `teardown.sh` 가 finalizer 를 단계적으로 정리하고, 마지막 수단으로 `/finalize` API 를 직접 호출해 풀어준다. + +### 증상 + +``` +NAME STATUS AGE +mnt Terminating 3h +``` + +`kubectl get all,pvc,vaultstaticsecret -n mnt` 에 잔존 리소스 있음. + +### Root Cause + +namespace 삭제는 그 안의 모든 리소스 finalizer 가 풀려야 끝난다. 멈추는 패턴은 보통 셋: + +1. VSO controller 는 이미 삭제됐는데 `VaultStaticSecret` / `VaultAuth` / `VaultConnection` 의 CRD finalizer 가 남음 → 풀어줄 컨트롤러 부재 +2. PVC protection finalizer (`kubernetes.io/pvc-protection`) 가 PV 와의 정리 순서 때문에 남음 +3. 다른 namespaced 리소스 finalizer 도 컨트롤러 부재로 cleanup 안 됨 + +### 해결 + +`teardown.sh` 가 단계적으로 처리: + +| Phase | 작업 | +|:---:|---| +| 1 | VSO CRD 삭제 → 60s timeout 시 `VaultStaticSecret` / `VaultAuth` / `VaultConnection` finalizer 강제 해제 | +| 2 | PVC 보호 finalizer 제거 | +| 3 | 전체 namespaced 리소스 finalizer 일괄 제거 | +| 4 | `kubectl delete namespace` 60s 대기 → 실패 시 namespace `/finalize` API 직접 호출 | +| 5 | cluster-scoped 리소스 (`vault-tokenreview-binding` 등) 정리 | + +### 검증 + +```bash +kubectl get ns mnt +# Error from server (NotFound): namespaces "mnt" not found +``` + +### 교훈 + +- `Terminating` 무한대기는 **거의 항상 finalizer 누락**. 어떤 컨트롤러가 풀어줘야 하는지 / 그 컨트롤러가 살아있는지부터 확인. +- `/finalize` API 직접 호출은 마지막 수단 — orphan PV / PVC 바인딩이 남을 수 있어, 이후 클러스터 정리에서 별도로 챙겨야 함. +- 정상적인 teardown 순서는 "역의존 순" — 컨트롤러를 마지막에 죽이기. 자동 스크립트가 이를 강제하지 않으면 운영자 손에 버그가 옮겨붙는다. + +--- + +## 7. PodSecurity 위반 경고 (admission) + +### 한 줄 요약 + +namespace 에 `pod-security.kubernetes.io/enforce: restricted` 라벨이 붙어 있어 admission 단에서 securityContext 누락이 모두 거부됨. 모든 워크로드 매니페스트에 Restricted 필드 체크리스트를 적용해서 해결. + +### 증상 + +``` +Warning: would violate PodSecurity "restricted:latest": + allowPrivilegeEscalation != false (...) + unrestricted capabilities (...) + runAsNonRoot != true (...) + seccompProfile (...) +``` + +`kubectl apply` 또는 deploy 시점에 Pod 생성이 거부 / 경고. + +### Root Cause + +PSS Restricted 는 **default-deny** 에 가깝다. Pod / container 둘 다에서 다음 필드를 명시해야 통과한다. + +| Pod | Container | +|---|---| +| `runAsNonRoot: true` | `runAsNonRoot: true` | +| `seccompProfile.type: RuntimeDefault` | `allowPrivilegeEscalation: false` | +| | `capabilities.drop: ["ALL"]` | +| | `seccompProfile.type: RuntimeDefault` | +| `runAsUser` / `runAsGroup` non-zero | (image 가 root 로 빌드됐으면 별도 처리) | + +### 해결 + +모든 Deployment / StatefulSet / Job 매니페스트에 일관된 securityContext 블록 적용. 예시: + +```yaml +spec: + template: + spec: + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + seccompProfile: + type: RuntimeDefault + containers: + - name: app + securityContext: + allowPrivilegeEscalation: false + runAsNonRoot: true + capabilities: + drop: ["ALL"] + seccompProfile: + type: RuntimeDefault +``` + +이 패턴은 [`docs/security-hardening.md`](./security-hardening.md) 의 체크리스트에 정리되어 있고, [`k8s/scripts/ci/validate.sh`](../k8s/scripts/ci/validate.sh) 가 `kube-linter` 로 회귀를 막는다. + +### 검증 + +```bash +bash k8s/scripts/ci/validate.sh +# build=ok schema=ok lint=ok + +kubectl apply -k k8s/overlays/dev +# Warning 없음 +``` + +### 교훈 + +- PSS Restricted 는 **사후 디버깅이 비싸다** — 매니페스트 작성 시점에 체크리스트로 박는 게 가장 싸다. +- Pod-level + Container-level 양쪽 모두에서 명시해야 한다 (어느 한쪽만 있으면 다른 쪽은 default 로 평가되어 거부될 수 있음). +- 회귀 방지는 `kube-linter` / `kubeconform` / `kustomize build` 3단 검증을 CI 단계로 끌어올리는 게 최소. + +--- + +## 8. VSO 가 Vault 로그인 실패 + +### 한 줄 요약 + +VSO 가 자기 ServiceAccount JWT 로 Vault 의 kubernetes auth method 에 로그인하려는데, Vault → kube-apiserver 의 `TokenReview` 호출 권한 (`vault-tokenreview-binding` ClusterRoleBinding) 또는 Vault 쪽 config (`token_reviewer_jwt` / `kubernetes_ca_cert`) 가 빠져 인증이 거부된 사건. + +### 증상 + +VSO Pod logs: + +``` +permission denied (vault.errors.PermissionDenied) +authentication failed: invalid token (...) +``` + +K8s Secret 이 sync 되지 않고 빈 상태. + +### Root Cause + +K8s 인증의 의존 그래프는 두 단: + +1. **Vault → kube-apiserver `TokenReview` 호출 권한** + - 이건 `system:auth-delegator` ClusterRole 을 Vault 의 ServiceAccount 에 묶는 ClusterRoleBinding (`vault-tokenreview-binding`) 으로 부여. +2. **Vault 자체의 kubernetes auth config** + - `vault write auth/kubernetes/config` 에 `kubernetes_host` + `kubernetes_ca_cert` + `token_reviewer_jwt` (Vault SA 의 JWT) 설정. + +둘 중 하나만 빠져도 로그인 실패. + +### 해결 + +```bash +# 1. ClusterRoleBinding 적용 +kubectl apply -k k8s/overlays/<env>/vault/ + +# 2. vault auth/kubernetes/config 설정 (idempotent) +REPO_ROOT="$(pwd)" ENV_NAME=<env> bash k8s/scripts/tasks/vault-init.sh +``` + +`vault-init.sh` 는 다음을 자동으로 한다: + +```bash +vault write auth/kubernetes/config \ + kubernetes_host="https://kubernetes.default.svc" \ + kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt \ + token_reviewer_jwt=@/var/run/secrets/kubernetes.io/serviceaccount/token +``` + +### 검증 + +```bash +kubectl get clusterrolebinding vault-tokenreview-binding +# 존재해야 함 + +kubectl logs -n vault-secrets-operator-system -l app.kubernetes.io/name=vault-secrets-operator +# successfully authenticated to Vault + +kubectl get secret <vso-managed-secret> -o yaml +# data 필드 채워짐 +``` + +### 교훈 + +- "Vault 로그인 실패" 는 거의 항상 **두 권한 중 하나의 누락**: + 1. Vault SA 가 kube-apiserver 의 TokenReview 를 호출할 수 있나? (RBAC) + 2. Vault config 에 SA token + CA cert 가 있나? (Vault 측 설정) +- 두 단을 한 idempotent 스크립트(`vault-init.sh`) 로 묶어두면 재현 / 복구 / 환경 이전이 단순해진다. + +--- + +## 같이 보기 + +- [`guide.md` 15장](../guide.md#15-트러블슈팅) — 운영자 절차서 톤의 동일 사건 정리 +- [`docs/operations.md`](./operations.md) — bootstrap / teardown / validate 의 설계 의도 +- [`docs/security-hardening.md`](./security-hardening.md) — PSS Restricted 체크리스트, NetworkPolicy +- [`docs/vault-vso.md`](./vault-vso.md) — VSO 운영 모델, `destination.overwrite` 정책 근거 diff --git a/docs/validation-report.md b/docs/validation-report.md new file mode 100644 index 0000000..b049dfc --- /dev/null +++ b/docs/validation-report.md @@ -0,0 +1,62 @@ +# Docs validation report + +Generated: 2026-04-20T08:51:44Z +Tools: kubeconform v0.6.7, kube-linter v0.7.4, yq v4.44.3 +CRD schemas: datreeio/CRDs-catalog (remote fetch) + +## Summary + +| Metric | Count | +|---|---| +| Files scanned | 37 | +| YAML blocks extracted | 146 | +| K8s-resource blocks | 109 | +| YAML syntax errors | 0 | +| Schema invalid/errors | 0 | +| kube-linter findings | 0 | + +## Per-file + +| File | Blocks | K8s | Syntax | Schema | Lint | +|---|---|---|---|---|---| +| docs/examples/infra/architecture-environments.md | 4 | 3 | 0 | 0 | 0 | +| docs/examples/infra/backup-restore.md | 9 | 7 | 0 | 0 | 0 | +| docs/examples/infra/config-and-secrets.md | 9 | 8 | 0 | 0 | 0 | +| docs/examples/infra/db-and-migration.md | 6 | 4 | 0 | 0 | 0 | +| docs/examples/infra/flyway.md | 5 | 4 | 0 | 0 | 0 | +| docs/examples/infra/k3s-specific.md | 9 | 2 | 0 | 0 | 0 | +| docs/examples/infra/keycloak.md | 7 | 5 | 0 | 0 | 0 | +| docs/examples/infra/kustomize.md | 8 | 8 | 0 | 0 | 0 | +| docs/examples/infra/minio.md | 7 | 6 | 0 | 0 | 0 | +| docs/examples/infra/network-ingress-tls.md | 8 | 8 | 0 | 0 | 0 | +| docs/examples/infra/observability-health.md | 7 | 7 | 0 | 0 | 0 | +| docs/examples/infra/operations-runbook-upgrade-rollback.md | 5 | 5 | 0 | 0 | 0 | +| docs/examples/infra/resources-probes-availability.md | 7 | 7 | 0 | 0 | 0 | +| docs/examples/infra/scripts.md | 0 | 0 | 0 | 0 | 0 | +| docs/examples/infra/security-hardening.md | 6 | 6 | 0 | 0 | 0 | +| docs/examples/infra/storage-pvc.md | 13 | 11 | 0 | 0 | 0 | +| docs/examples/infra/vault.md | 9 | 7 | 0 | 0 | 0 | +| docs/examples/infra/workload-selection.md | 6 | 6 | 0 | 0 | 0 | +| docs/standards/infra/architecture-environments.md | 0 | 0 | 0 | 0 | 0 | +| docs/standards/infra/backup-restore.md | 0 | 0 | 0 | 0 | 0 | +| docs/standards/infra/config-and-secrets.md | 1 | 1 | 0 | 0 | 0 | +| docs/standards/infra/db-and-migration.md | 2 | 0 | 0 | 0 | 0 | +| docs/standards/infra/flyway.md | 2 | 0 | 0 | 0 | 0 | +| docs/standards/infra/k3s-specific.md | 1 | 1 | 0 | 0 | 0 | +| docs/standards/infra/keycloak.md | 0 | 0 | 0 | 0 | 0 | +| docs/standards/infra/kustomize.md | 5 | 0 | 0 | 0 | 0 | +| docs/standards/infra/minio.md | 0 | 0 | 0 | 0 | 0 | +| docs/standards/infra/network-ingress-tls.md | 1 | 0 | 0 | 0 | 0 | +| docs/standards/infra/observability-health.md | 0 | 0 | 0 | 0 | 0 | +| docs/standards/infra/operations-runbook-upgrade-rollback.md | 1 | 1 | 0 | 0 | 0 | +| docs/standards/infra/resources-probes-availability.md | 1 | 0 | 0 | 0 | 0 | +| docs/standards/infra/scripts.md | 0 | 0 | 0 | 0 | 0 | +| docs/standards/infra/security-hardening.md | 1 | 0 | 0 | 0 | 0 | +| docs/standards/infra/storage-pvc.md | 0 | 0 | 0 | 0 | 0 | +| docs/standards/infra/STYLE.md | 5 | 2 | 0 | 0 | 0 | +| docs/standards/infra/vault.md | 1 | 0 | 0 | 0 | 0 | +| docs/standards/infra/workload-selection.md | 0 | 0 | 0 | 0 | 0 | + +## Error details + +_No errors found._ diff --git a/docs/vault-vso.md b/docs/vault-vso.md new file mode 100644 index 0000000..f7e242f --- /dev/null +++ b/docs/vault-vso.md @@ -0,0 +1,98 @@ +# Vault / VSO 상세 + +README 의 Vault·VSO 핵심 섹션을 보충한다. Kubernetes auth 초기화 명령, policy/role 매핑, VaultStaticSecret 카탈로그, dockerconfigjson `.auth` 이슈를 모은다. + +## Vault 기본 정보 + +| 항목 | 값 | +|---|---| +| 이미지 | `hashicorp/vault:1.17.2` | +| 배포 | StatefulSet (replicas 1, file backend) | +| 실행 | `vault server -config=/vault/config/vault.hcl` | +| 포트 | 8200 (http) / 8201 (cluster) — 내부 ClusterIP, NodePort 없음 | +| 저장 | PVC 5Gi (dev overlay 1Gi patch) | +| UI 접근 | `kubectl -n mnt port-forward svc/vault 8200:8200` (외부 노출 금지) | + +## 설계 결정 + +- **file backend (학습 환경 전용)**: 단일 노드 + 학습 목적으로 `storage "file"`. HA 불가. prod 승격 시 `storage "raft"` + KMS 기반 auto-unseal 로 전환. +- **`disable_mlock = true`**: 컨테이너에 `IPC_LOCK` capability 를 부여하지 않고 PSS Restricted 프로필을 유지하기 위함. 대신 swap 이 꺼진 노드에서 실행해야 한다. +- **`tls_disable = 1`**: 단일 namespace 내부 통신만 발생하고 cert-manager 전에 부트스트랩이 끝나야 해서 현재는 비활성화. 클러스터 밖 노출 시 cert-manager 발급 인증서로 TLS 활성화 필수. +- **`api_addr: http://vault:8200` + `cluster_addr: http://vault:8201`**: 짧은 Service 이름. 모든 소비자가 같은 `mnt` namespace 에 있어 FQDN 불필요. + +## RBAC + +ClusterRoleBinding `vault-tokenreview-binding` ← `system:auth-delegator`. Vault 의 Kubernetes auth method 는 클라이언트(VSO 등)가 제출한 ServiceAccount JWT 를 `TokenReview` + `SubjectAccessReview` API 로 검증한다. 이 ClusterRoleBinding 이 없으면 VSO 로그인이 `permission denied` 로 실패한다. + +Vault Pod 의 ServiceAccount 는 `automountServiceAccountToken: true` (기본). Vault 는 `/var/run/secrets/kubernetes.io/serviceaccount/{token,ca.crt}` 를 읽어 `auth/kubernetes/config` 의 `token_reviewer_jwt` / `kubernetes_ca_cert` 를 채운다. + +## Kubernetes auth 초기 설정 + +`tasks/vault-init.sh` 가 수행: + +```bash +vault auth enable kubernetes # idempotent 체크 +vault write auth/kubernetes/config \ + kubernetes_host="https://kubernetes.default.svc.cluster.local:443" \ + kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt \ + token_reviewer_jwt=@/var/run/secrets/kubernetes.io/serviceaccount/token + +vault secrets enable -path=secret kv-v2 # idempotent 체크 + +# policy 2개 (역할별 least-privilege) +vault policy write vso-auth-platform - \ + # identity-postgres/* + auth-server/* + keycloak/* read +vault policy write vso-storage - \ + # minio/* read + +# role 2개 (같은 SA, 다른 policy) +vault write auth/kubernetes/role/vso-auth-platform \ + policies=vso-auth-platform bound_sa=vault-secrets-operator/mnt ttl=1h +vault write auth/kubernetes/role/vso-storage \ + policies=vso-storage bound_sa=vault-secrets-operator/mnt ttl=1h +``` + +## VaultAuth / VaultStaticSecret 매핑 + +policy 분리에 따라 VaultAuth CR 도 2 개. 각 VaultStaticSecret 은 자기 도메인의 VaultAuth 를 참조한다: + +| VaultAuth CR | Vault role | 참조 VaultStaticSecret | +|---|---|---| +| `vault-auth-auth-platform` | `vso-auth-platform` | `identity-postgres-superuser`, `keycloak-db-creds`, `auth-server-db-creds`, `keycloak-bootstrap-admin` | +| `vault-auth-storage` | `vso-storage` | `minio-tenant-env` | + +VSO Operator SA(`vault-secrets-operator`) 는 한 개이지만 Vault 쪽에서 role 별 policy 가 분리되어 있다. auth-platform 토큰이 유출돼도 MinIO secret 은 보호된다. + +## VSO 가 관리하는 Secret 카탈로그 + +Registry 는 auth 없이 운영(NetworkPolicy 로 `mnt` 내부 전용 보호)이라 base 에는 VaultStaticSecret 이 없다. dev overlay 에서 BasicAuth / pull credential 두 개를 추가한다. + +| VaultStaticSecret (dev overlay) | Vault 경로 | K8s Secret | 소비 방식 | +|---|---|---|---| +| `identity-postgres-superuser` | `secret/identity-postgres/superuser` | `identity-postgres-superuser` | file mount (`/run/secrets/superuser/`) → `POSTGRES_USER_FILE`, `POSTGRES_PASSWORD_FILE` | +| `keycloak-db-creds` | `secret/keycloak/db` | `keycloak-db` | file mount — postgres initdb + keycloak `KC_DB_PASSWORD_FILE` | +| `auth-server-db-creds` | `secret/auth-server/db` | `auth-server-db` | file mount — `SPRING_CONFIG_IMPORT=configtree:/etc/secrets/` + Flyway sh wrapper | +| `keycloak-bootstrap-admin` | `secret/keycloak/bootstrap-admin` | `keycloak-bootstrap-admin` | file mount — `KC_BOOTSTRAP_ADMIN_{USERNAME,PASSWORD}_FILE` | +| `minio-tenant-env` | `secret/minio/tenant-env` | `minio-tenant-env` | MinIO Operator `spec.configuration.name` (env file) | +| `docker-registry-basic-auth` (dev) | `secret/docker-registry/basic-auth` | `docker-registry-basic-auth` | Traefik Middleware basicAuth | +| `docker-registry-pull-credentials` (dev) | `secret/docker-registry/pull-cred` | `docker-registry-pull-credentials` | imagePullSecret (`.dockerconfigjson`) | + +모든 VaultStaticSecret 은 `destination.overwrite` 기본값(`false`) 사용. 기존 Secret 이 수동으로 존재하면 VSO 가 덮어쓰지 않는다 (소유권 경합 방지). + +> **Vault 값 교체 후 즉시 반영**: `kubectl -n mnt delete secret <name>` 으로 기존 Secret 을 지우면 VSO 가 다음 reconcile 에 새 값으로 재생성한다. + +`refreshAfter: 1h` — Vault 값 변경 시 1 시간 내 K8s Secret 에 자동 반영. + +## dockerconfigjson `.auth` 필드 + +Docker 공식 config 스키마는 `.auth = base64("<username>:<password>")` 형태다. 기존에는 password 만 base64 하던 버그가 있었고 현재는 다음으로 수정되어 있다: + +``` +{{ printf "%s:%s" username password | b64enc }} +``` + +Docker daemon 이 Registry 에 로그인할 때 이 필드를 디코드하므로 정확한 포맷이 필수. + +## VaultConnection address + +base 는 `http://vault:8200` (짧은 이름) 만 둔다. VSO Operator Pod 가 같은 `mnt` namespace 에 있으면 Kubernetes DNS 가 짧은 이름을 해결한다. 다른 namespace 에서 운영할 때는 overlay 에서 FQDN(`http://vault.mnt.svc.cluster.local:8200`) 으로 patch. diff --git a/guide.md b/guide.md new file mode 100755 index 0000000..cd4b4cb --- /dev/null +++ b/guide.md @@ -0,0 +1,901 @@ +# Project-Infra 운영 가이드 + +아키텍처 · 폴더 구조 · 설계 결정은 [README.md](README.md) 를 먼저 읽는다. 본 문서는 **실제 배포·운영 절차** 에 집중한다. 보안 정책 / 거버넌스 (etcd 암호화, Vault 토큰 관리, bash history 보호) 는 [docs/security-hardening.md](docs/security-hardening.md) 참고. + +--- + +## 목차 + +1. [사전 준비](#1-사전-준비) +2. [최초 부트스트랩 — 자동](#2-최초-부트스트랩--자동) +3. [최초 부트스트랩 — 수동 (단계별)](#3-최초-부트스트랩--수동-단계별) +4. [Traefik / Ingress 운영](#4-traefik--ingress-운영) +5. [TLS / cert-manager 적용](#5-tls--cert-manager-적용) +6. [Keycloak Operator / RealmImport 적용](#6-keycloak-operator--realmimport-적용) +7. [Vault 시크릿 관리](#7-vault-시크릿-관리) +8. [Docker Registry 사용법](#8-docker-registry-사용법) +9. [앱에서 시크릿 사용하기](#9-앱에서-시크릿-사용하기) +10. [마이그레이션 실행 (Flyway)](#10-마이그레이션-실행-flyway) +11. [Vault UI 접근](#11-vault-ui-접근) +12. [환경별 배포](#12-환경별-배포) +13. [검증 / 린트 / 스키마 체크](#13-검증--린트--스키마-체크) +14. [정리 / 롤백 (teardown)](#14-정리--롤백-teardown) +15. [트러블슈팅](#15-트러블슈팅) + +--- + +## 1. 사전 준비 + +> **예상 소요**: 첫 셋업 30 분 (CLI 설치 포함). 두 번째부터는 0. + +### 필요한 CLI + +| 도구 | 용도 | +|---|---| +| `kubectl` | 클러스터 조작 | +| `helm` | VSO Operator 설치 | +| `jq` | JSON 파싱 (scripts 내부) | +| `kustomize` | (선택) 로컬 렌더 | +| `kubeconform` | (선택) 스키마 검증 | +| `kube-linter` | (선택) 안티패턴 린트 | +| `yq` | (선택) YAML 가공 | + +> **참고**: `validate.sh` 는 `~/bin` 에 설치된 도구도 자동으로 PATH 에 추가한다. + +### 필요한 환경 변수 + +| 변수 | 의미 | +|---|---| +| `CONFIRM=yes` | (teardown 전용) 대화형 확인 자동 yes 처리 | +| `RESET_STALE_SECRETS=yes` | (bootstrap 전용) 기존 VSO-managed Secret 삭제 후 재생성 | +| `AUTO_GENERATE=yes` | (vault-seed-apps 전용) 비대화 + env 없음 시 랜덤 비밀번호 생성 | +| `POSTGRES_SUPERUSER_PASSWORD` | (bootstrap Phase 6 비대화) Postgres superuser 비밀번호 | +| `KEYCLOAK_DB_PASSWORD` | (bootstrap Phase 6 비대화) Keycloak DB 비밀번호 | +| `AUTH_SERVER_DB_PASSWORD` | (bootstrap Phase 6 비대화) auth-server DB 비밀번호 | +| `KEYCLOAK_ADMIN_PASSWORD` | (bootstrap Phase 6 비대화) Keycloak 초기 관리자 비밀번호 | +| `MINIO_ROOT_PASSWORD` | (bootstrap Phase 6 비대화) MinIO Tenant 루트 비밀번호 | + +> **주의**: env var 사용 시 [bash history 보호](docs/security-hardening.md#3-bash-history-에-비밀번호-남기지-않기) 참고. `HISTFILE=/dev/null` 접두 권장. + +### 클러스터 전제 + +- Kubernetes 1.25+ (Pod Security Admission 사용) +- `local-path` StorageClass (K3s 기본) 또는 동등한 RWO 프로비저너 +- `kubernetes.io/metadata.name` namespace 라벨이 자동으로 붙는 1.22+ 환경 +- dev 클러스터의 K3s 기본 Traefik 이 `kube-system` namespace 에 존재해야 함 + +--- + +## 2. 최초 부트스트랩 — 자동 + +> **예상 소요**: 10~15 분 (이미지 pull 시간 포함). Phase 6 의 시크릿 입력이 가장 오래 걸림. + +### 대화형 실행 (권장) + +Phase 6 에서 앱 시크릿 5 개 비밀번호를 무음 입력. bash history 에 남지 않는다. + +```bash +bash k8s/scripts/bin/bootstrap.sh dev +# Phase 6 진행 중: +# Postgres superuser 비밀번호: ******* +# Postgres superuser 비밀번호 한 번 더: ******* +# Keycloak DB 비밀번호: ******* +# ... (5 개 시크릿, 각각 확인 재입력 포함) +``` + +### 비대화 (CI) 실행 + +```bash +HISTFILE=/dev/null \ +POSTGRES_SUPERUSER_PASSWORD='...' \ +KEYCLOAK_DB_PASSWORD='...' \ +AUTH_SERVER_DB_PASSWORD='...' \ +KEYCLOAK_ADMIN_PASSWORD='...' \ +MINIO_ROOT_PASSWORD='...' \ +bash k8s/scripts/bin/bootstrap.sh dev + +# 또는 비대화 + 랜덤 생성 (운영자가 값을 몰라도 됨, Vault 에서 나중에 조회): +AUTO_GENERATE=yes bash k8s/scripts/bin/bootstrap.sh dev +``` + +### 실행 단계 + +`bin/bootstrap.sh` 가 9 단계 (Phase 0~8) 를 순서대로 실행한다: + +| Phase | 내용 | +|:---:|---| +| 0 | MinIO Operator 설치 (`tasks/minio-operator-install.sh`) — Tenant CRD 선행 등록 (별도 namespace `minio-operator`) | +| 1 | Namespace + PSS 라벨 (`kubectl apply -k k8s/base/managing/namespace`) — 먼저 적용해 의존성 안정화 | +| 2 | 기존 Secret 점검 — VSO-managed K8s Secret 5 개 중 이미 존재하는 것 탐지. `RESET_STALE_SECRETS=yes` 면 삭제 | +| 3 | 인프라 리소스 배포 (`kubectl apply -k k8s/overlays/dev/`) — vault + registry + 앱 워크로드 | +| 4 | vault-0 Running 대기 — Ready 가 아니라 **Running**. Vault readiness probe 는 초기화+unseal 후에만 통과하므로 | +| 5 | Vault 초기화 (`tasks/vault-init.sh`) — init / unseal / KV v2 / k8s auth / policy × 2 / role × 2 | +| 6 | 앱 시크릿 seed (`tasks/vault-seed-apps.sh`) — 5 개 시크릿 대화형 입력 (이미 있으면 skip) | +| 7 | VSO Helm (`tasks/vso-install.sh`) — 기존 dirty 릴리즈 자동 uninstall + `helm upgrade --install --wait` | +| 8 | VSO CRDs (`kubectl apply -k k8s/overlays/dev/vso/`) | + +> **참고**: 스크립트는 idempotent 다. 이미 진행된 단계는 자동 스킵된다. + +> **주의**: 현재 `bootstrap.sh` 는 `mnt` namespace 자원까지만 자동 배포한다. `k8s/overlays/dev/platform/traefik/` 와 `k8s/overlays/dev/tls/` 는 namespace 가 다르거나 optional dependency 가 있어 운영자가 별도로 적용한다 (§4, §5). +> +> `k8s/overlays/dev/platform/cert-manager/`, `k8s/overlays/dev/platform/keycloak-operator/`, `k8s/overlays/dev/keycloak-realm/` 은 CRD / 외부 DNS / 인증 흐름 의존성이 있어 자동 부트스트랩 전에 선행/별도 확인이 필요하다 (§5, §6). + +### 생성되는 파일 + +- `vault-init-keys.json` — **unseal keys (5 개) + root token**. 권한 0600 으로 저장. + +> **주의**: 이 파일은 **반드시 오프라인 금고 / 외부 KMS 로 이동** 하고 원본은 삭제한다. `.gitignore` 에 등록되어 있으나 실수로도 커밋하지 말 것. + +### 완료 확인 + +```bash +kubectl -n mnt get pods +kubectl -n mnt get secrets | grep -E 'identity-postgres-superuser|keycloak-db|auth-server-db|keycloak-bootstrap-admin|minio-tenant-env' +kubectl -n mnt get vaultstaticsecret +``` + +기대 상태: 모든 Pod `Running 1/1`, K8s Secret 5 개 존재, VaultStaticSecret `Status: Synced`. + +--- + +## 3. 최초 부트스트랩 — 수동 (단계별) + +> **예상 소요**: 자동과 동일하나 학습 시 +20~30 분. + +자동 스크립트가 중간에 실패했을 때, 또는 학습 목적으로 단계별 진행이 필요할 때. + +### 3-1. MinIO Operator 설치 + +```bash +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/minio-operator-install.sh +``` + +### 3-2. 인프라 배포 + +```bash +kubectl apply -k k8s/base/managing/namespace # namespace 선행 +kubectl apply -k k8s/overlays/dev/ +``` + +`mnt` namespace 와 Vault / Registry / 앱 워크로드가 선언된다. + +> **참고**: Registry 는 MinIO S3 자격증명 Secret 이 주입되기 전까지 대기할 수 있다. Postgres / Keycloak / auth-server 도 Vault secret 이 주입되기 전까지 `ContainerCreating` 으로 대기한다 (정상). + +### 3-3. Vault Pod Running 대기 + +> **참고**: Vault 는 초기화 전에는 Ready 가 될 수 없으므로 Running 까지만 기다린다 (§15.10 참고). + +```bash +kubectl -n mnt wait --for=jsonpath='{.status.phase}'=Running pod/vault-0 --timeout=120s +``` + +### 3-4. Vault 초기화 + +```bash +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/vault-init.sh +``` + +이 스크립트가 수행하는 것: +- `vault operator init -key-shares=5 -key-threshold=3` (이미 초기화되었으면 스킵) +- `vault-init-keys.json` 생성 (권한 0600) +- Sealed 상태면 자동 unseal +- root token 으로 로그인 (stdin 파이프 — stdout 에 안 찍힘) +- `secret/` 에 KV v2 활성화 (idempotent) +- `kubernetes` auth method 활성화 + `kubernetes_ca_cert` + `token_reviewer_jwt` 설정 (idempotent) +- `vso-auth-platform` / `vso-storage` policy × 2 작성 (항상 재적용) +- `vso-auth-platform` / `vso-storage` k8s auth role × 2 작성 (항상 재적용) + +### 3-5. VSO Helm 설치 + +```bash +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/vso-install.sh +``` + +`helm upgrade --install --wait --timeout 5m` 으로 실행. 시작 시 기존 릴리즈가 `failed`/`pending*`/`uninstalling` 상태면 자동 uninstall 후 재설치 (§15.11). `--values` 는 `k8s/base/plugins/vso/helm/values.yaml`. + +### 3-6. VSO CRDs 적용 + +```bash +kubectl apply -k k8s/overlays/dev/vso/ +``` + +`VaultConnection` / `VaultAuth` × 2 가 등록된다. `VaultStaticSecret` 은 dev overlay 각 서브디렉토리 (`database/`, `keycloak/`, `storage/`) 에서 이미 함께 적용됨. VSO Operator 가 Vault KV 를 읽어 K8s Secret 을 합성. + +> **주의**: 해당 Vault KV 경로에 값이 실제로 있어야 성공. 아직 없으면 VSO 가 permission denied 또는 not found 로 남음. §7 의 수동 주입 후 자동 재시도. + +--- + +## 4. Traefik / Ingress 운영 + +> **예상 소요**: 30 초~1 분 (apply 만). + +### 왜 별도 overlay 인가 + +`k8s/overlays/dev/kustomization.yaml` 은 `namespace: mnt` 를 전역으로 주입한다. 반면 K3s 기본 Traefik 은 실제로 `kube-system` 에 존재한다. 그래서 Traefik 운영 리소스는 같은 kustomization 안에 섞지 않고 `k8s/overlays/dev/platform/traefik/` 로 분리했다. + +### 적용 대상 + +| overlay | namespace | 설명 | +|---|---|---| +| `k8s/overlays/dev/platform/traefik` | `kube-system` | `HelmChartConfig` + `Middleware` + `TLSOption` | +| `k8s/overlays/dev/` | `mnt` | `auth-server`, `keycloak` 의 app Ingress 및 app NetworkPolicy | + +### Traefik 운영 overlay 적용 + +```bash +kubectl apply -k k8s/overlays/dev/platform/traefik +``` + +포함되는 것: + +- `HelmChartConfig/traefik` — `replicas=2`, `ingressClass=traefik`, HTTP→HTTPS redirect, metrics 활성화 +- `Middleware/security-headers` — HSTS, `X-Content-Type-Options`, frame deny 등 공용 헤더 +- `TLSOption/modern-tls` — TLS 1.2+, strict SNI, 허용 cipher suite + +### 앱 Ingress 현재 상태 + +| 리소스 | host | 공개 범위 | +|---|---|---| +| `auth-server` | `project.com` | `/` | +| `keycloak-public` | `keycloak.dev.example.com` | `/realms/`, `/resources/`, `/.well-known/`, `/js/` | + +app Pod 는 기본 deny 상태이므로, Traefik 에서 들어오는 8080/TCP 만 NetworkPolicy 로 별도 허용한다. + +### ForwardAuth variant 적용 + +repo 에는 component `k8s/components/forward-auth/` 가 준비되어 있고, 현재 `k8s/overlays/dev/` 가 이 component 를 직접 포함한다. 따라서 dev overlay 를 적용하면 oauth2-proxy 와 `auth-server` 보호 middleware 도 함께 렌더링된다. + +적용 전제: + +1. `k8s/overlays/dev/keycloak-realm/` 또는 동등한 방법으로 `platform` realm + `auth-server-ingress` client 준비 (§6) +2. redirect URI 를 `https://project.com/oauth2/callback` 로 등록 +3. Vault path `secret/oauth2-proxy/forward-auth` 에 아래 key 저장 (§7) + - `client-secret` + - `cookie-secret` +4. `project.com`, `keycloak.dev.example.com` 이 실제 Traefik 진입점으로 해석 + +적용: + +```bash +kubectl apply -k k8s/overlays/dev +``` + +이 overlay 가 추가하는 것: + +- `oauth2-proxy` Deployment / Service +- `project.com/oauth2/` 경로용 Ingress +- `oauth2-proxy-auth` Traefik `Middleware` +- `auth-server` Ingress patch — `project.com/` 요청은 oauth2-proxy ForwardAuth 를 먼저 통과해야 함 + +> **주의**: 현재 dev 용 oauth2-proxy 설정은 `ssl_insecure_skip_verify=false` 이다. 따라서 `keycloak.dev.example.com` 인증서 체인이 정상이어야 로그인 흐름이 끝까지 진행된다. + +> **참고**: dev 운영 완료까지 남은 항목 (DNS / ACME 인증서 / realm 적용 / negative test 등) 은 [README Limitations](README.md#limitations-honest-scope) 참고. + +--- + +## 5. TLS / cert-manager 적용 + +> **예상 소요**: 설치 3~5 분 + 외부 DNS 의존 (실제 발급은 DNS 가 Traefik 진입점을 가리켜야 가능). + +cert-manager 는 repo source of truth 로 편입되어 있다. dev 기준 설치 overlay 는 `k8s/overlays/dev/platform/cert-manager/` 이며, 공식 static install `v1.20.2` 를 적용한다. `ClusterIssuer` 는 CRD 등록 이후 `k8s/overlays/dev/platform/cert-manager-issuers/` 로 별도 적용한다. + +### 적용 + +```bash +kubectl apply -k k8s/overlays/dev/platform/cert-manager +kubectl -n cert-manager rollout status deploy/cert-manager --timeout=180s +kubectl -n cert-manager rollout status deploy/cert-manager-webhook --timeout=180s +kubectl -n cert-manager rollout status deploy/cert-manager-cainjector --timeout=180s +kubectl apply -k k8s/overlays/dev/platform/cert-manager-issuers +``` + +> **주의**: +> - `letsencrypt-prod-clusterissuer.yaml` / `letsencrypt-staging-clusterissuer.yaml` 의 `admin@project.com` 은 실제 수신 가능한 운영 메일로 교체한다. +> - HTTP-01 은 `project.com`, `keycloak.dev.example.com` 이 Traefik 외부 진입점으로 해석되고 80/443 이 도달 가능해야 성공한다. + +### 준비된 Certificate 리소스 + +| 파일 | secretName | host | +|---|---|---| +| `k8s/overlays/dev/tls/project-com-certificate.yaml` | `project-com-tls` | `project.com` | +| `k8s/overlays/dev/tls/keycloak-dev-certificate.yaml` | `keycloak-dev-example-com-tls` | `keycloak.dev.example.com` | + +### Certificate 적용 + +전제: + +- `cert-manager` CRD 설치 완료 +- `ClusterIssuer/letsencrypt-prod` 또는 동등한 issuer 준비 +- DNS 가 실제 Traefik 진입점으로 향함 + +```bash +kubectl apply -k k8s/overlays/dev/tls +``` + +### 완료 확인 + +```bash +kubectl -n mnt get certificate +kubectl -n mnt describe certificate project-com # Status.Conditions.Ready=True +``` + +> **권장**: 인증서 발급 상태를 먼저 확인한 뒤 ForwardAuth E2E 검증을 진행한다 (§4). + +--- + +## 6. Keycloak Operator / RealmImport 적용 + +> **예상 소요**: 5~10 분. + +Keycloak 은 권장 흐름에 맞춰 Operator 기반으로 전환한다. dev 제약상 실제 Keycloak 인스턴스와 realm/client 는 `mnt` 에 두며, Keycloak Operator 도 `mnt` 에 설치해 해당 namespace 를 watch 하게 한다. + +> **참고**: `mnt` 는 default-deny egress namespace 이므로, `k8s/overlays/dev/platform/keycloak-operator/networkpolicy.yaml` 이 Operator Pod 에서 Kubernetes API 로 나가는 443/6443 만 허용한다. 이 정책이 없으면 Operator informer 가 API server 에 연결하지 못해 CrashLoopBackOff 로 떨어진다. + +### 왜 필요한가 + +- `oauth2-proxy` 는 `auth-server-ingress` client 를 전제로 동작한다 +- client / redirect URI 같은 OIDC 계약은 Git 에서 관리되어야 drift 가 줄어든다 +- 표준도 Keycloak realm 을 `KeycloakRealmImport` 로 선언형 관리하라고 권장한다 + +### 적용 순서 + +**1. Keycloak Operator CRD / controller 적용** + +```bash +kubectl apply -k k8s/overlays/dev/platform/keycloak-operator +kubectl -n mnt rollout status deploy/keycloak-operator --timeout=180s +``` + +**2. 기존 수제 Keycloak 리소스 정리** + +기존 `Deployment` 기반 Keycloak 과 Operator 기반 Keycloak 이 같은 `Service/keycloak` 이름을 쓰므로, 전환 시 기존 수제 리소스를 정리한다. + +```bash +kubectl -n mnt delete deployment/keycloak service/keycloak configmap/keycloak-config serviceaccount/keycloak-sa --ignore-not-found +``` + +**3. dev overlay 적용** + +`k8s/overlays/dev/keycloak/` 는 이제 `Keycloak` CR, VSO secret 변환, Ingress, NetworkPolicy 를 포함한다. + +```bash +kubectl apply -k k8s/overlays/dev +kubectl -n mnt get keycloak keycloak +kubectl -n mnt get pods -l app.kubernetes.io/instance=keycloak +``` + +**4. RealmImport 적용** + +```bash +kubectl apply -k k8s/overlays/dev/keycloak-realm +kubectl -n mnt get keycloakrealmimport platform-realm +``` + +### client secret 처리 + +> **주의**: `auth-server-ingress` 같은 confidential client 의 secret 값 자체는 Git 에 넣지 않는다. realm/client shape 는 Git 에 두고, secret 값은 생성 후 Vault path `secret/oauth2-proxy/forward-auth` 로 넣어 oauth2-proxy 가 소비하게 한다 (§7). + +--- + +## 7. Vault 시크릿 관리 + +> **예상 소요**: 회당 1~2 분 (port-forward + put). + +### 애플리케이션 시크릿 저장 — 자동화됨 + +5 개 시크릿은 `bin/bootstrap.sh` Phase 6 에서 자동으로 seed 된다. 또는 단독 실행: + +```bash +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/vault-seed-apps.sh +``` + +동작: +- **이미 있는 경로는 skip** — 운영자가 회전한 값을 덮어쓰지 않음 +- **대화형 입력** (TTY) — `read -r -s` 로 무음 입력 + 확인 재입력. bash history 에 남지 않음 +- **비대화 + env 지정** — 해당 env var 를 사용 (`HISTFILE=/dev/null` 접두 권장) +- **비대화 + env 없음 + `AUTO_GENERATE=yes`** — `openssl rand` 로 랜덤 24 자 생성 + +> **참고**: Vault CLI 의 `vault kv put <path> -` 모드로 **JSON stdin 전달** 이라 비밀번호가 argv / process table 어디에도 노출되지 않는다. + +### 시크릿 경로 및 키 + +| 경로 | 키 | 용도 | +|---|---|---| +| `secret/identity-postgres/superuser` | `username` (기본 postgres), `password` | Postgres 슈퍼유저 (`POSTGRES_USER_FILE` / `POSTGRES_PASSWORD_FILE`) | +| `secret/keycloak/db` | `password` | Keycloak 의 DB 비밀번호 + initdb 가 생성하는 keycloak DB role | +| `secret/auth-server/db` | `SPRING_DATASOURCE_USERNAME` (기본 auth_server), `SPRING_DATASOURCE_PASSWORD` | Spring Boot configtree + Flyway | +| `secret/keycloak/bootstrap-admin` | `KEYCLOAK_ADMIN` (기본 admin), `KEYCLOAK_ADMIN_PASSWORD` | Keycloak 초기 관리자 계정 | +| `secret/minio/tenant-env` | `config.env` (env-file 포맷 단일 키) | MinIO Operator Tenant 루트 자격증명 | +| `secret/oauth2-proxy/forward-auth` | `client_secret`, `cookie_secret` | dev overlay 의 oauth2-proxy confidential client / session cookie | +| `secret/docker-registry/basic-auth` | `username`, `password`, `users` (htpasswd 한 줄) | Traefik Middleware 가 외부 push 시 검증 | + +### 값 조회 + +```bash +kubectl -n mnt port-forward svc/vault 8200:8200 & +export VAULT_ADDR=http://127.0.0.1:8200 +vault login -method=userpass username=alice # userpass admin 권장 — root token 사용 중단 + +vault kv get secret/keycloak/bootstrap-admin +# 특정 field 만: +vault kv get -field=KEYCLOAK_ADMIN_PASSWORD secret/keycloak/bootstrap-admin +``` + +> **참고**: userpass admin 셋업은 [docs/security-hardening.md §2](docs/security-hardening.md#2-vault-운영자-토큰-관리) 참고. + +### 값 변경 (비밀번호 교체) + +```bash +# 새 값으로 덮어쓰기 (vault kv put) — seed-apps.sh 의 skip 로직 우회 +vault kv put secret/keycloak/db password='<새-pw>' + +# 60s ~ 1h 내 VSO 가 자동으로 K8s Secret 갱신. 즉시 반영 원하면: +kubectl -n mnt delete secret keycloak-db +# VSO 가 Vault KV 를 읽어 재생성 +``` + +> **Tip**: 강제 즉시 반영의 다른 방법 — `kubectl -n mnt annotate vaultstaticsecret <name> refresh=$(date +%s) --overwrite`. + +> **주의 — MinIO 비밀번호에 `"` 금지**: MinIO 의 `config.env` 는 env-file 포맷 (`export KEY="value"`) 이라 값에 `"` 가 들어가면 파싱 깨짐. `vault-seed-apps.sh` 가 프롬프트에서 거부하며 재입력 요구한다. + +### root token 회전 + +운영 정책 / userpass admin 셋업 절차는 [docs/security-hardening.md §2](docs/security-hardening.md#2-vault-운영자-토큰-관리) 참고. + +--- + +## 8. Docker Registry 사용법 + +> **예상 소요**: push/pull 회당 < 1 분 (이미지 크기 의존). + +### Push + +```bash +docker login registry.project.com +# username: <DOCKER_REGISTRY_PUSH_USERNAME, 기본 registry-push> +# password: <Vault 에 저장한 값> + +docker tag my-app:0.1.0 registry.project.com/my-app:0.1.0 +docker push registry.project.com/my-app:0.1.0 +``` + +외부 push 는 `registry.project.com` Ingress 로 들어오며 Traefik BasicAuth 를 통과해야 한다. BasicAuth 의 htpasswd `users` 값은 Vault path `secret/docker-registry/basic-auth` 에 저장되고 VSO 가 `docker-registry-basic-auth` Secret 으로 동기화한다. + +> **주의**: 실제 워크로드 이미지는 `registry.project.com/...` 주소를 사용한다. image pull 은 Pod 내부가 아니라 노드의 kubelet/containerd 가 수행하므로, `docker-registry.mnt.svc.cluster.local` 같은 ClusterIP DNS 를 `image:` 에 쓰는 방식은 피한다. + +### 내부 Service 직접 접근 (debugging) + +내부 Service 는 registry Pod 자체 확인이나 클러스터 내부 HTTP 접근이 필요할 때만 사용한다. + +```bash +docker tag my-app:0.1.0 docker-registry.mnt.svc.cluster.local:5000/my-app:0.1.0 +docker push docker-registry.mnt.svc.cluster.local:5000/my-app:0.1.0 +``` + +### Pull (Pod) + +```yaml +apiVersion: apps/v1 +kind: Deployment +spec: + template: + spec: + serviceAccountName: auth-server-sa + containers: + - name: my-app + image: registry.project.com/my-app:0.1.0 +``` + +`auth-server-sa` / `test-server-*-sa` 는 dev overlay 에서 `docker-registry-pull-credentials` 를 `imagePullSecrets` 로 참조한다. + +### 완료 확인 + +```bash +curl -fsS -u <push-user>:<push-pw> https://registry.project.com/v2/my-app/tags/list +# 정상 응답: {"name":"my-app","tags":["0.1.0"]} + +kubectl -n mnt get secret docker-registry-pull-credentials -o jsonpath='{.type}{"\n"}' +# 정상 응답: kubernetes.io/dockerconfigjson +``` + +> **참고**: dev 환경에서 외부 DNS / TLS 가 아직 준비 전이면 노드의 containerd 에 이미지를 직접 import 하는 임시 우회가 필요할 수 있다. 정상 운영 (DNS + cert-manager 인증서 발급 완료) 에서는 위 push/pull 만으로 충분하다. + +--- + +## 9. 앱에서 시크릿 사용하기 + +### envFrom (권장) + +```yaml +spec: + containers: + - name: app + envFrom: + - secretRef: + name: auth-server-db # VSO 가 dev overlay 에서 합성 +``` + +### 개별 key + +```yaml +env: + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: identity-postgres-superuser + key: password +``` + +### volume mount + +```yaml +volumes: + - name: db-creds + secret: + secretName: auth-server-db +containers: + - volumeMounts: + - name: db-creds + mountPath: /etc/secrets + readOnly: true +``` + +--- + +## 10. 마이그레이션 실행 (Flyway) + +> **예상 소요**: 30 초~3 분 (마이그레이션 갯수 의존). + +base 에 정의된 `migration-flyway` Job 은 기본적으로는 배포되지 않는다. dev overlay 가 ArgoCD PreSync / sync-wave=-1 annotation 을 patch 하므로, GitOps 로 배포할 때는 ArgoCD 가 앱보다 먼저 Job 을 실행한다. + +> **주의**: `kubectl apply -k` 로 수동 배포 시에는 Job 이 **앱과 동시에** 생성되므로 race 가능. 아래 순서대로 실행한다. + +```bash +# migration 먼저 +kubectl apply -k k8s/overlays/dev/auth/ -l app.kubernetes.io/component=migration + +# 완료 대기 +kubectl -n mnt wait --for=condition=complete job/migration-flyway --timeout=300s + +# 앱 배포 +kubectl apply -k k8s/overlays/dev/ +``` + +ArgoCD 를 쓰면 이 순서가 sync-wave 로 자동화된다. + +### 재실행 + +Flyway Job 은 `backoffLimit: 0` 으로 한 번만 실행된다. 재실행하려면: + +```bash +kubectl -n mnt delete job migration-flyway +kubectl apply -k k8s/overlays/dev/auth/ +``` + +--- + +## 11. Vault UI 접근 + +> **참고**: `service-ui` NodePort 는 보안상 제거되었다. 관리자는 port-forward 로만 접근한다. + +```bash +kubectl -n mnt port-forward svc/vault 8200:8200 +# 브라우저에서 http://127.0.0.1:8200/ui +# Token 입력: $(jq -r .root_token vault-init-keys.json) +``` + +> **권장**: root token 은 최초 설정 / 비상 복구 외에는 사용하지 않는다. 평시 접근은 개인별 userpass / OIDC auth 로 분리한다 — [docs/security-hardening.md §2](docs/security-hardening.md#2-vault-운영자-토큰-관리) 참고. + +--- + +## 12. 환경별 배포 + +현재 `dev` 만 구성되어 있다. + +```bash +bash k8s/scripts/bin/bootstrap.sh dev +``` + +> **참고**: staging / prod overlay 는 비어 있으며, 추후 다음 요소를 추가한다 — Vault storage `file` → `raft` 전환, Postgres backup CronJob, cert-manager ClusterIssuer + Certificate, 환경별 hostname (Keycloak / 공개 Ingress), `persistentVolumeClaimRetentionPolicy` 를 prod 는 `Retain` 유지 (dev 는 overlay 에서 `Delete` 로 patch). + +환경별 차등표는 [docs/operations.md](docs/operations.md#환경별-배포) 참고. + +--- + +## 13. 검증 / 린트 / 스키마 체크 + +> **예상 소요**: 1~3 분 (kubeconform 원격 스키마 조회). + +```bash +bash k8s/scripts/ci/validate.sh +``` + +출력: + +``` +k8s/overlays/dev build=ok schema=ok lint=ok +k8s/overlays/dev/vso build=ok schema=ok lint=ok +모든 overlay 통과 +``` + +- **build**: `kustomize build` (환경 중립성 / patch / labels) +- **schema**: `kubeconform -strict -ignore-missing-schemas` (K8s OpenAPI + Datree CRD catalog 원격 조회) +- **lint**: `kube-linter lint --config .kube-linter.yaml` (securityContext / 리소스 요구사항 / PSS / image tag 등) + +> **참고**: `kustomization.yaml` 이 없는 overlay (`staging`, `prod`) 는 자동 스킵된다. + +CI 파이프라인에서 이 스크립트를 PR 게이트로 사용한다. 실패 시 `build=fail|schema=fail|lint=fail` 로 표기되고 상세 에러가 stderr 에 출력된다. + +--- + +## 14. 정리 / 롤백 (teardown) + +> **예상 소요**: 2~5 분 (PVC 보호 finalizer 정리 + namespace 종료). + +```bash +# 대화형 (y/N 확인) +bash k8s/scripts/bin/teardown.sh dev + +# 비대화 (CI) +CONFIRM=yes bash k8s/scripts/bin/teardown.sh dev + +# MinIO Operator 까지 제거 (기본은 유지) +TEARDOWN_MINIO_OPERATOR=yes bash k8s/scripts/bin/teardown.sh dev +``` + +체계적 7 단계: + +| 단계 | 내용 | +|:---:|---| +| 1 | Precheck — namespace 존재 여부 + phase 확인. 일부 단계는 없으면 skip | +| 2 | VSO CRD 삭제 — `kubectl delete -k overlays/<env>/vso/` 60s timeout. 타임아웃 시 `VaultStaticSecret / VaultAuth / VaultConnection` finalizer 강제 해제 | +| 3 | VSO Helm uninstall — `helm uninstall --wait 5m` (Operator 제거) | +| 4 | 인프라 overlay 삭제 — `kubectl delete -k overlays/<env>/` 120s timeout | +| 5 | namespace 잔존 리소스 finalizer 정리 — PVC 보호 finalizer + VSO CRD + 전체 namespaced 리소스 일괄 finalizer 제거 | +| 6 | namespace 삭제 + Terminating 감지 — `kubectl delete namespace` 60s 대기 → 실패 시 `/finalize` API 호출로 강제 종료 | +| 7 | Cluster-scoped 정리 — `vault-tokenreview-binding` ClusterRoleBinding 제거. `TEARDOWN_MINIO_OPERATOR=yes` 면 MinIO Operator 도 함께 | + +> **참고**: controller 없이 남은 CRD finalizer, PVC 보호 finalizer, 전체 namespaced 리소스 finalizer 를 단계별로 선제 해제해서 namespace 가 Terminating 에 걸리지 않도록 처리. 이미 Terminating 에 걸려 있어도 단계 6 에서 `/finalize` API 직접 호출로 강제 종료. + +> **주의**: teardown 후에도 `vault-init-keys.json` 은 보존된다. 완전 초기화하려면 수동으로 삭제한다. + +### 강제 종료의 부작용 + +> **주의**: 단계 6 의 `/finalize` 는 orphan 리소스 (PV / PVC 바인딩) 를 남길 수 있다. + +```bash +# teardown 후 orphan PV 검사 +kubectl get pv | grep -E 'Released|Failed' + +# 필요시 수동 삭제 +kubectl delete pv <name> +``` + +--- + +## 15. 트러블슈팅 + +> **참고**: 보안 정책 / 거버넌스 (etcd 암호화 / Vault root token / bash history) 는 [docs/security-hardening.md](docs/security-hardening.md) 참고. + +### 15.1 Registry Pod 가 계속 `ContainerCreating` + +Secret `docker-registry-minio` 또는 `docker-registry-basic-auth` 가 아직 생성되지 않은 상태일 수 있다. VSO 가 Vault KV 를 읽어서 만든다. + +```bash +kubectl -n mnt describe vaultstaticsecret docker-registry-minio +kubectl -n mnt describe vaultstaticsecret docker-registry-basic-auth +kubectl -n mnt logs -l app.kubernetes.io/name=vault-secrets-operator --tail=100 +``` + +자주 보는 에러: +- `permission denied` → Vault policy 또는 role 설정 오류. `tasks/vault-init.sh` 재실행. +- `no matching vault path` → Vault KV 에 값이 저장되지 않음. `tasks/vault-seed-apps.sh` 재실행. + +### 15.2 VSO 가 Vault 에 로그인 실패 + +```bash +kubectl -n mnt logs -l app.kubernetes.io/name=vault-secrets-operator --tail=200 | grep -i error +``` + +체크 항목: +- Vault ClusterRoleBinding `vault-tokenreview-binding` 존재? `kubectl get clusterrolebinding vault-tokenreview-binding` +- Vault ServiceAccount 에 token 자동 마운트 되어 있음? (기본값 true) +- `vault auth/kubernetes/config` 에 `kubernetes_ca_cert` + `token_reviewer_jwt` 설정됨? → 없으면 `tasks/vault-init.sh` 재실행 +- VaultConnection address 가 `http://vault:8200` 이고 같은 namespace 에 실제 `vault` Service 존재? + +### 15.3 `vault operator init` 실패 — 이미 초기화됨 + +> **참고**: 정상. `tasks/vault-init.sh` 는 idempotent 하게 이 경우를 스킵하고 unseal 만 다시 수행한다. `kubectl exec vault-0 -- vault status` 로 상태 확인. + +### 15.4 부트스트랩 중단 → 재시작 + +```bash +bash k8s/scripts/bin/bootstrap.sh dev +``` + +각 단계가 idempotent 이므로 그대로 다시 실행해도 된다. 이미 완료된 단계는 스킵된다. + +> **참고**: Phase 6 의 시크릿 입력 시, Vault KV 에 이미 있으면 스킵되므로 비밀번호는 사용되지 않음. + +### 15.5 Vault UI 가 안 열림 + +NodePort 는 제거되었다. port-forward 를 사용한다: + +```bash +kubectl -n mnt port-forward svc/vault 8200:8200 +``` + +`http://127.0.0.1:8200/ui` 로 접근. + +### 15.6 NetworkPolicy 로 트래픽 차단 의심 + +```bash +# 모든 NetworkPolicy 확인 +kubectl -n mnt get networkpolicy + +# 특정 Pod 에 적용된 정책 확인 +kubectl -n mnt describe pod <pod-name> | grep -A3 Labels +kubectl -n mnt get networkpolicy -o yaml | grep -A2 podSelector +``` + +임시 허용 (디버깅): + +```bash +kubectl -n mnt delete networkpolicy default-deny-all +``` + +> **주의**: 진단 완료 후 반드시 복구 — `kubectl apply -k k8s/overlays/dev/`. + +### 15.7 PodSecurity 위반 경고 + +`kubectl apply` 중 `Warning: would violate PodSecurity "restricted:latest": ...` 메시지가 뜨면 **어떤 Pod 의 어떤 필드** 가 위반인지 확인: + +```bash +# 최근 이벤트 +kubectl -n mnt get events --sort-by='.lastTimestamp' \ + | grep -i 'podsecurity\|FailedCreate' + +# 경고 메시지는 apply 시 stderr 로도 나옴 +kubectl apply -k k8s/overlays/dev/ 2>&1 | grep -i warning +``` + +자주 걸리는 항목 체크리스트: + +- `runAsNonRoot: true` 누락 또는 `runAsUser: 0` +- `allowPrivilegeEscalation: false` 누락 +- `capabilities.drop: [ALL]` 누락 +- `seccompProfile.type: RuntimeDefault` 누락 +- `readOnlyRootFilesystem: true` 누락 (선택이지만 권장) +- hostPath / hostNetwork / hostPID / hostIPC 사용 +- hostPorts 사용 + +> **참고**: base 의 모든 워크로드는 이미 Restricted 통과. 경고가 뜨는 건 보통 다음 두 가지 — VSO Operator Helm chart, MinIO Operator Helm chart. 둘 다 자기 namespace 에서 돌아가므로 `mnt` 의 PSS 와 무관. `mnt` 안의 Pod 에서 경고가 나면 매니페스트를 수정해야 함. + +### 15.8 기존 K8s Secret 이 남아있을 때 + +VSO 는 `destination.overwrite: false` 기본값이라 **이미 존재하는 Secret 을 덮어쓰지 않는다**. Vault KV 에 새 값을 넣어도 K8s Secret 은 옛날 값을 유지. + +확인: + +```bash +kubectl -n mnt get secret -l 'kubernetes.io/managed-by!=Helm' \ + -o custom-columns=NAME:.metadata.name,AGE:.metadata.creationTimestamp +``` + +해결 1 — 개별 삭제 후 VSO 재생성: + +```bash +kubectl -n mnt delete secret docker-registry-minio docker-registry-basic-auth +# VSO 가 1-2 분 내 Vault KV 에서 읽어 재생성 +kubectl -n mnt get vaultstaticsecret +``` + +해결 2 — bootstrap 재실행 시 자동 정리: + +```bash +RESET_STALE_SECRETS=yes bash k8s/scripts/bin/bootstrap.sh dev +# Phase 2 에서 VSO-managed Secret 7 개 전부 삭제 → Phase 7/8 에서 VSO 재생성 +``` + +> **주의**: 이 옵션은 **destructive**. 운영자가 명시적으로 지정했을 때만 동작. + +### 15.9 namespace 가 Terminating 에 걸림 + +`mnt` namespace 가 `Terminating` 에서 오래 멈추면 보통 다음 셋 중 하나다. + +- controller 가 이미 사라졌는데 CRD finalizer 가 남아 있음 +- PVC protection finalizer 가 남아 있음 +- namespaced 리소스 일부가 finalizer 때문에 삭제 완료를 못 함 + +> **참고**: 현재 `teardown.sh` 는 이 상황을 고려해 단계적으로 정리한다 — `VaultStaticSecret / VaultAuth / VaultConnection` finalizer 제거 → PVC 보호 finalizer 제거 → 남은 namespaced 리소스 finalizer 일괄 제거 → 마지막에 namespace `/finalize` 호출. + +수동 확인: + +```bash +kubectl get namespace mnt -o yaml +kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl -n mnt get --ignore-not-found +``` + +이미 teardown 을 사용 중이라면 대부분은 스크립트가 자동 처리한다. 수동 개입은 정말 스크립트가 실패했을 때만 한다. + +### 15.10 vault-0 이 `0/1 Running` 에서 멈춤 + +**현상**: + +``` +NAME READY STATUS RESTARTS AGE +vault-0 0/1 Running 0 2m +``` + +계속 `0/1 Running`. `kubectl wait --for=condition=Ready` 가 timeout 으로 실패. + +**원인 — 의도된 동작**: + +Vault 의 readiness probe 는 `/v1/sys/health?sealedcode=503&uninitcode=503` 를 사용한다. 즉: +- **uninitialized** → HTTP 503 → readiness fail +- **sealed** → HTTP 503 → readiness fail +- **initialized + unsealed** → HTTP 200 → Ready + +이건 sealed Vault 가 Service Endpoints 에서 제외되어 트래픽이 흘러가지 않도록 하는 **보안 설계**. 초기화 전에는 구조상 Ready 가 될 수 없다. + +**해결 — `vault-init.sh` 실행**: + +```bash +# Pod 이 Running 이면 exec 가능 → 초기화 실행 가능 +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/vault-init.sh +``` + +수행되는 것: +1. `vault operator init` — unseal keys + root token 생성 +2. unseal 5 shares 중 3 개로 자동 unseal +3. root login → KV v2 + k8s auth + policy × 2 + role × 2 + +`vault-init.sh` 가 끝나고 몇 초 뒤 Pod 이 자동으로 Ready 로 전환: + +```bash +kubectl -n mnt get pod vault-0 +# vault-0 1/1 Running +``` + +**bootstrap.sh 가 Phase 4 에서 Ready 대기로 실패했을 때 — 재개**: + +```bash +# Phase 4 까지는 apply + Pod Running 완료 상태 +# 남은 Phase 5~8 만 수동 실행 +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/vault-init.sh # Phase 5 +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/vault-seed-apps.sh # Phase 6 +REPO_ROOT="$(pwd)" bash k8s/scripts/tasks/vso-install.sh # Phase 7 +kubectl apply -k k8s/overlays/dev/vso/ # Phase 8 +``` + +또는 bootstrap.sh 를 그냥 다시 실행해도 된다 (idempotent). + +> **참고 — 다른 Pod 들이 `ContainerCreating` 상태**: `auth-server`, `keycloak`, `identity-postgres`, `docker-registry`, `migration-flyway` 가 `ContainerCreating` 에 머무는 건 **VSO 가 만드는 K8s Secret 이 아직 없어서** volume mount 가 대기 중인 것. Vault 초기화 + 앱 secret 주입 (§7) + VSO sync 가 끝나면 차례로 Running 으로 전환된다. 정상 동작. + +> **참고 — `test-server-*` 가 `ImagePullBackOff`**: `registry.example.com/test-platform/test-server-*:0.1.0` 은 **예시 이미지** 로, 실제 레지스트리에 존재하지 않는다. 사용자가 실제 이미지를 빌드해서 내부 Registry 에 푸시해야 한다. 무시해도 된다. + +### 15.11 `helm upgrade` 가 `has no deployed releases` 로 실패 + +**현상** — bootstrap Phase 7 (VSO Helm) 에서: + +``` +Error: UPGRADE FAILED: "vault-secrets-operator" has no deployed releases +``` + +**원인**: + +이전 `helm upgrade --install` 시도가 `--atomic` 때문에 rollback 되며 릴리즈가 `failed` 또는 `uninstalled` 상태로 남음. Helm 이 metadata 는 보존하는데 실제 배포물은 없는 상태. 이 상태에선 `upgrade --install` 이 **upgrade 로 분기하려다 "deployed release 없음" 으로 실패**. + +**해결**: + +> **참고**: `tasks/vso-install.sh` 는 이제 실행 시 릴리즈 상태를 먼저 검사해서 `failed`/`pending*`/`uninstalling`/`uninstalled` 면 자동으로 `helm uninstall` 을 먼저 수행한다. 또한 `--atomic` 플래그를 제거했다 (실패 시 재실행으로 복구가 더 안전). + +구버전 스크립트로 이미 이 상태에 빠졌다면 수동 정리: + +```bash +helm -n mnt uninstall vault-secrets-operator +# (Error: uninstall: Release not loaded: ... 이 떠도 무시) + +bash k8s/scripts/bin/bootstrap.sh dev +# Phase 7 부터 깔끔하게 재개됨 +``` diff --git a/k8s/AGENTS.md b/k8s/AGENTS.md new file mode 100644 index 0000000..6e1ffdd --- /dev/null +++ b/k8s/AGENTS.md @@ -0,0 +1,26 @@ +# k8s AGENTS + +Role: +- own Kubernetes/K3s source-of-truth manifests and Kustomize composition +- keep base resources, environment overlays, helper scripts, and Vault Secrets Operator assets separate +- make render / validate / diff / apply possible from Git without relying on live cluster state + +Scope: +- `base/`: environment-neutral bases +- `overlays/<env>/`: environment-specific composition +- `scripts/`: helper automation +- `vso/`: Vault Secrets Operator assets + +Read first: +- `/docs/standards/infra/architecture-environments.md` +- `/docs/standards/infra/kustomize.md` +- `/docs/standards/infra/k3s-specific.md` +- `/docs/standards/infra/operations-runbook-upgrade-rollback.md` + +Rules: +- prefer `kubectl kustomize`, `kubectl diff -k`, and `kubectl apply -k` +- do not use server-local manifests as source of truth +- do not place environment differences in `base/` +- do not place base resource definitions directly in overlays unless the resource is environment-only by design +- do not commit production secret values +- keep scripts as helpers; manifests remain declarative source diff --git a/k8s/README.md b/k8s/README.md new file mode 100644 index 0000000..d6bb049 --- /dev/null +++ b/k8s/README.md @@ -0,0 +1,58 @@ +# Kubernetes Packaging + +This tree is organized for many independently owned workloads. + +Entry points: +- `overlays/<env>/` renders the whole environment skeleton. +- `overlays/<env>/<domain>/` renders one namespace/domain boundary. +- `overlays/<env>/managing/vault-secrets-operator/` is applied after the VSO CRDs are installed. +- `scripts/env/` contains environment bootstrap and teardown orchestration. +- `scripts/` contains imperative bootstrap and break-glass operations only. +- `vso/` contains Vault Secrets Operator installation lifecycle files. + +Scale rules: +- Do not place hundreds of workloads directly under one package. +- Add workloads under `base/app/units/<unit>/<domain>/<workload-kind>/<workload>/`. +- Add matching environment overrides under `overlays/<env>/app/units/<unit>/<domain>/<workload-kind>/<workload>/` only when that workload has environment-specific differences. +- A workload package owns its Kubernetes object files together, such as `deployment.yaml`, `service.yaml`, `configmap.yaml`, `cronjob.yaml`, `statefulset.yaml`, or `pvc.yaml`. +- Do not create kind-based package roots such as `deployments/`, `services/`, or `configmaps/`. + +Example for a 1000-workload organization: + +```text +base/app/units/ +├── commerce/ +│ ├── checkout/ +│ │ ├── services/order-api/ +│ │ ├── services/payment-api/ +│ │ ├── workers/payment-settlement-worker/ +│ │ ├── schedulers/cart-expiry-scheduler/ +│ │ └── stateful/orders-postgres/ +│ └── catalog/ +│ ├── services/catalog-api/ +│ ├── workers/search-index-worker/ +│ └── jobs/catalog-backfill-job/ +├── identity/ +│ ├── auth/ +│ │ ├── services/auth-api/ +│ │ ├── services/token-api/ +│ │ └── schedulers/token-cleanup-scheduler/ +│ └── profile/ +│ ├── services/profile-api/ +│ └── workers/profile-event-worker/ +├── media/ +│ ├── playback/ +│ │ ├── services/playback-api/ +│ │ └── workers/session-event-worker/ +│ └── recommendation/ +│ ├── services/recommendation-api/ +│ ├── workers/model-feature-worker/ +│ └── jobs/model-refresh-job/ +└── data/ + ├── ingestion/ + │ ├── workers/event-ingest-worker/ + │ └── stateful/ingest-kafka/ + └── analytics/ + ├── schedulers/daily-report-scheduler/ + └── jobs/monthly-rollup-job/ +``` diff --git a/k8s/base/AGENTS.md b/k8s/base/AGENTS.md new file mode 100644 index 0000000..6bbff16 --- /dev/null +++ b/k8s/base/AGENTS.md @@ -0,0 +1,38 @@ +# k8s/base AGENTS + +Role: +- own environment-neutral Kustomize base resources +- define reusable workload, namespace, service, storage, policy, and platform/plugin shapes +- keep environment-specific values out of base + +Scope: +- `app/`: application-facing base units +- `managing/`: management and operational base units +- `plugins/`: platform/plugin base resources + +Allowed: +- shared labels/selectors +- common workload shape +- common probe/resource shape +- common service/storage/policy shape +- unit composition through nested `kustomization.yaml` + +Forbidden: +- environment-specific hostnames +- production-only replicas/resources +- environment-specific secret values +- direct references to a specific cluster context +- overlay-only patches masquerading as base manifests + +Read first: +- `/docs/standards/infra/kustomize.md` +- `/docs/standards/infra/architecture-environments.md` +- `/docs/standards/infra/workload-selection.md` +- `/docs/standards/infra/config-and-secrets.md` +- `/docs/standards/infra/security-hardening.md` + +Rules: +- base must be reusable by dev, staging, and prod overlays +- base may define default shape, but overlays own environment differences +- unit ownership should be visible in path names +- large fleets should stay navigable by role first, then domain/unit diff --git a/k8s/base/README.md b/k8s/base/README.md new file mode 100644 index 0000000..5b2a3c3 --- /dev/null +++ b/k8s/base/README.md @@ -0,0 +1,13 @@ +# Base Packages + +Base packages contain shared Kubernetes definitions. + +Boundaries: +- `managing/` owns infrastructure management resources in the `mnt` namespace. +- `app/` owns application namespace resources and large-scale workload package contracts. +- `plugins/` owns plugin namespace resources. + +Rules: +- Base packages must not contain environment-specific values. +- A base package can be rendered with `kubectl kustomize` through its own `kustomization.yaml`. +- Parent packages compose child packages; child packages own their internal Kubernetes object files. diff --git a/k8s/base/app/AGENTS.md b/k8s/base/app/AGENTS.md new file mode 100644 index 0000000..9cc9956 --- /dev/null +++ b/k8s/base/app/AGENTS.md @@ -0,0 +1,69 @@ +# k8s/base/app AGENTS + +Role: +- own application-facing infrastructure base units +- define environment-neutral app workload, service, config reference, secret reference, storage, network policy, probe, and resource shapes +- organize many services by domain/service path directly under `k8s/base/app/<domain>/` + +Current structure: +- domains sit directly under `k8s/base/app/` (`identity/`, `storage/`, `test/`) +- inside each domain, separate by workload role (`stateful/`, `stateless/`) +- example: `identity/auth/stateful/identity-postgres/`, `identity/auth/stateless/auth-server/` + +Allowed: +- Kustomize base edits for application units +- Deployment / StatefulSet / Job / CronJob base resources +- Service / NetworkPolicy / PDB / HPA base resources +- ConfigMap / Secret reference wiring without secret values +- probe / resource / PVC / StorageClass reference shape +- component-specific manifests aligned with standards + +Forbidden: +- environment-specific values that belong in `k8s/overlays/<env>` +- editing packaged K3s component manifests directly +- treating server-local manifests as source of truth +- embedding production secret values in Git +- generating opaque YAML via script as the primary ownership path +- merging unrelated app rollout + migration + cluster upgrade into one hidden change + +Read first: +- `/docs/standards/infra/architecture-environments.md` +- `/docs/standards/infra/kustomize.md` +- `/docs/standards/infra/config-and-secrets.md` +- `/docs/standards/infra/workload-selection.md` +- `/docs/standards/infra/storage-pvc.md` +- `/docs/standards/infra/network-ingress-tls.md` +- `/docs/standards/infra/resources-probes-availability.md` +- `/docs/standards/infra/security-hardening.md` +- `/docs/standards/infra/observability-health.md` +- `/docs/standards/infra/db-and-migration.md` + +Component-specific routing: +- paths containing `keycloak` -> `/docs/standards/infra/keycloak.md` +- paths containing `vault` -> `/docs/standards/infra/vault.md` +- paths containing `minio` -> `/docs/standards/infra/minio.md` +- paths containing `flyway` or migration jobs -> `/docs/standards/infra/flyway.md` + +Examples: +- `/docs/examples/infra/kustomize.md` +- `/docs/examples/infra/config-and-secrets.md` +- `/docs/examples/infra/workload-selection.md` +- `/docs/examples/infra/storage-pvc.md` +- `/docs/examples/infra/network-ingress-tls.md` +- `/docs/examples/infra/resources-probes-availability.md` +- `/docs/examples/infra/security-hardening.md` +- `/docs/examples/infra/observability-health.md` +- `/docs/examples/infra/db-and-migration.md` +- `/docs/examples/infra/keycloak.md` +- `/docs/examples/infra/vault.md` +- `/docs/examples/infra/minio.md` +- `/docs/examples/infra/flyway.md` + +Rules: +- base must stay environment-neutral +- app services default to `ClusterIP` +- public exposure must be explicit and added through overlays/ingress policy +- health/metrics/admin endpoints stay non-public by default +- DB migration must stay separate from app startup +- stateful workloads must have explicit storage and restore reasoning +- domain/unit nesting should make ownership clear for large service counts diff --git a/k8s/base/app/README.md b/k8s/base/app/README.md new file mode 100644 index 0000000..6e62236 --- /dev/null +++ b/k8s/base/app/README.md @@ -0,0 +1,23 @@ +# Application Base + +This package owns the `app` namespace and the contract for application workloads. + +For large scale, workloads are grouped by unit, domain, workload kind, and workload: + +```text +base/app/units/<unit>/<domain>/<workload-kind>/<workload>/ +``` + +Examples: +- `base/app/units/commerce/checkout/services/order-api/` +- `base/app/units/commerce/checkout/workers/payment-settlement-worker/` +- `base/app/units/identity/auth/schedulers/token-cleanup-scheduler/` +- `base/app/units/data/storage/stateful/orders-postgres/` + +Rules: +- The unit folder is the broad ownership boundary for a business unit, platform area, or organization. +- The domain folder is the bounded context inside a unit. +- The workload-kind folder groups similar operating models inside one domain. +- The workload folder is the smallest independently deployable package. +- Kubernetes object files stay together inside the workload package. +- Shared namespace-level objects go in `shared/`. diff --git a/k8s/base/app/identity/auth/stateful/identity-postgres/configmap-initdb.yaml b/k8s/base/app/identity/auth/stateful/identity-postgres/configmap-initdb.yaml new file mode 100644 index 0000000..bff8129 --- /dev/null +++ b/k8s/base/app/identity/auth/stateful/identity-postgres/configmap-initdb.yaml @@ -0,0 +1,30 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: identity-postgres-initdb + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +data: + 01-create-databases.sh: | + #!/usr/bin/env bash + set -euo pipefail + + KEYCLOAK_DB_PASSWORD="$(cat /run/secrets/keycloak-db/password)" + AUTH_SERVER_DB_PASSWORD="$(cat /run/secrets/auth-server-db/SPRING_DATASOURCE_PASSWORD)" + + psql --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-'SQL' + CREATE ROLE keycloak LOGIN; + CREATE DATABASE keycloak OWNER keycloak; + CREATE ROLE auth_server LOGIN; + CREATE DATABASE auth_server OWNER auth_server; + SQL + + psql --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \ + -c "ALTER ROLE keycloak PASSWORD '$(printf '%s' "$KEYCLOAK_DB_PASSWORD" | sed "s/'/''/g")';" + psql --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \ + -c "ALTER ROLE auth_server PASSWORD '$(printf '%s' "$AUTH_SERVER_DB_PASSWORD" | sed "s/'/''/g")';" diff --git a/k8s/base/app/identity/auth/stateful/identity-postgres/kustomization.yaml b/k8s/base/app/identity/auth/stateful/identity-postgres/kustomization.yaml new file mode 100644 index 0000000..e4ad18c --- /dev/null +++ b/k8s/base/app/identity/auth/stateful/identity-postgres/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - serviceaccount.yaml + - configmap-initdb.yaml + - service-headless.yaml + - service.yaml + - statefulset.yaml +labels: + - pairs: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/app/identity/auth/stateful/identity-postgres/service-headless.yaml b/k8s/base/app/identity/auth/stateful/identity-postgres/service-headless.yaml new file mode 100644 index 0000000..34a33db --- /dev/null +++ b/k8s/base/app/identity/auth/stateful/identity-postgres/service-headless.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + name: identity-postgres-headless + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + clusterIP: None + selector: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + ports: + - name: postgres + port: 5432 + targetPort: postgres + protocol: TCP + appProtocol: postgresql diff --git a/k8s/base/app/identity/auth/stateful/identity-postgres/service.yaml b/k8s/base/app/identity/auth/stateful/identity-postgres/service.yaml new file mode 100644 index 0000000..7977b70 --- /dev/null +++ b/k8s/base/app/identity/auth/stateful/identity-postgres/service.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + name: identity-postgres + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + ports: + - name: postgres + port: 5432 + targetPort: postgres + protocol: TCP + appProtocol: postgresql diff --git a/k8s/base/app/identity/auth/stateful/identity-postgres/serviceaccount.yaml b/k8s/base/app/identity/auth/stateful/identity-postgres/serviceaccount.yaml new file mode 100644 index 0000000..c26377d --- /dev/null +++ b/k8s/base/app/identity/auth/stateful/identity-postgres/serviceaccount.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: identity-postgres-sa + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +automountServiceAccountToken: false diff --git a/k8s/base/app/identity/auth/stateful/identity-postgres/statefulset.yaml b/k8s/base/app/identity/auth/stateful/identity-postgres/statefulset.yaml new file mode 100644 index 0000000..fd7c54f --- /dev/null +++ b/k8s/base/app/identity/auth/stateful/identity-postgres/statefulset.yaml @@ -0,0 +1,174 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: identity-postgres + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + replicas: 1 + serviceName: identity-postgres-headless + podManagementPolicy: OrderedReady + updateStrategy: + type: RollingUpdate + persistentVolumeClaimRetentionPolicy: + whenDeleted: Retain + whenScaled: Retain + selector: + matchLabels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + template: + metadata: + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + spec: + serviceAccountName: identity-postgres-sa + automountServiceAccountToken: false + terminationGracePeriodSeconds: 60 + securityContext: + runAsNonRoot: true + runAsUser: 999 + runAsGroup: 999 + fsGroup: 999 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containers: + - name: postgres + image: postgres:16.4 + imagePullPolicy: IfNotPresent + ports: + - name: postgres + containerPort: 5432 + protocol: TCP + env: + - name: POSTGRES_DB + value: postgres + - name: POSTGRES_USER_FILE + value: /run/secrets/superuser/username + - name: POSTGRES_PASSWORD_FILE + value: /run/secrets/superuser/password + - name: PGDATA + value: /var/lib/postgresql/data/pgdata + - name: KEYCLOAK_DB_PASSWORD_FILE + value: /run/secrets/keycloak-db/password + - name: AUTH_SERVER_DB_PASSWORD_FILE + value: /run/secrets/auth-server-db/SPRING_DATASOURCE_PASSWORD + resources: + requests: + cpu: 500m + memory: 1Gi + limits: + cpu: "1" + memory: 1Gi + startupProbe: + exec: + command: + - sh + - -c + - pg_isready -U "$(cat "$POSTGRES_USER_FILE")" + periodSeconds: 5 + failureThreshold: 60 + timeoutSeconds: 3 + readinessProbe: + exec: + command: + - sh + - -c + - pg_isready -U "$(cat "$POSTGRES_USER_FILE")" + periodSeconds: 10 + failureThreshold: 3 + timeoutSeconds: 3 + livenessProbe: + exec: + command: + - sh + - -c + - pg_isready -U "$(cat "$POSTGRES_USER_FILE")" + periodSeconds: 30 + failureThreshold: 3 + timeoutSeconds: 3 + securityContext: + runAsNonRoot: true + runAsUser: 999 + runAsGroup: 999 + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + volumeMounts: + - name: data + mountPath: /var/lib/postgresql/data + - name: initdb + mountPath: /docker-entrypoint-initdb.d + readOnly: true + - name: superuser + mountPath: /run/secrets/superuser + readOnly: true + - name: keycloak-db + mountPath: /run/secrets/keycloak-db + readOnly: true + - name: auth-server-db + mountPath: /run/secrets/auth-server-db + readOnly: true + - name: tmp + mountPath: /tmp + - name: run + mountPath: /var/run/postgresql + volumes: + - name: initdb + configMap: + name: identity-postgres-initdb + defaultMode: 0755 + - name: superuser + secret: + secretName: identity-postgres-superuser + defaultMode: 0400 + - name: keycloak-db + secret: + secretName: keycloak-db + defaultMode: 0400 + - name: auth-server-db + secret: + secretName: auth-server-db + defaultMode: 0400 + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 128Mi + - name: run + emptyDir: + medium: Memory + sizeLimit: 64Mi + volumeClaimTemplates: + - metadata: + name: data + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/version: "16.4" + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + volumeMode: Filesystem + resources: + requests: + storage: 5Gi diff --git a/k8s/base/app/identity/auth/stateless/auth-server/configmap.yaml b/k8s/base/app/identity/auth/stateless/auth-server/configmap.yaml new file mode 100644 index 0000000..3761a22 --- /dev/null +++ b/k8s/base/app/identity/auth/stateless/auth-server/configmap.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: auth-server-config + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +data: + SPRING_PROFILES_ACTIVE: dev + SPRING_DATASOURCE_URL: jdbc:postgresql://identity-postgres:5432/auth_server + APP_DATASOURCE_URL: jdbc:postgresql://identity-postgres:5432/auth_server + MANAGEMENT_SERVER_ADDRESS: 0.0.0.0 + MANAGEMENT_SERVER_PORT: "8081" + MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: health,prometheus + SERVER_PORT: "8080" diff --git a/k8s/base/app/identity/auth/stateless/auth-server/deployment.yaml b/k8s/base/app/identity/auth/stateless/auth-server/deployment.yaml new file mode 100644 index 0000000..8e1b749 --- /dev/null +++ b/k8s/base/app/identity/auth/stateless/auth-server/deployment.yaml @@ -0,0 +1,128 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: auth-server + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + replicas: 1 + revisionHistoryLimit: 5 + progressDeadlineSeconds: 600 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 0 + selector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + template: + metadata: + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + spec: + serviceAccountName: auth-server-sa + automountServiceAccountToken: false + terminationGracePeriodSeconds: 45 + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containers: + - name: auth-server + image: registry.example.com/auth-platform/auth-server:0.1.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8080 + protocol: TCP + - name: metrics + containerPort: 8081 + protocol: TCP + envFrom: + - configMapRef: + name: auth-server-config + - secretRef: + name: auth-server-db + env: + - name: JAVA_TOOL_OPTIONS + value: "-XX:MaxRAMPercentage=75 -XX:+ExitOnOutOfMemoryError" + - name: SPRING_CONFIG_IMPORT + value: "optional:configtree:/etc/secrets/" + resources: + requests: + cpu: 250m + memory: 512Mi + limits: + memory: 768Mi + startupProbe: + httpGet: + path: /actuator/health/liveness + port: metrics + periodSeconds: 5 + failureThreshold: 24 + timeoutSeconds: 3 + readinessProbe: + httpGet: + path: /actuator/health/readiness + port: metrics + periodSeconds: 5 + failureThreshold: 3 + timeoutSeconds: 2 + livenessProbe: + httpGet: + path: /actuator/health/liveness + port: metrics + periodSeconds: 15 + failureThreshold: 3 + timeoutSeconds: 3 + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + volumeMounts: + - name: db-creds + mountPath: /etc/secrets + readOnly: true + - name: tmp + mountPath: /tmp + volumes: + - name: db-creds + secret: + secretName: auth-server-db + defaultMode: 0400 + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 128Mi diff --git a/k8s/base/app/identity/auth/stateless/auth-server/kustomization.yaml b/k8s/base/app/identity/auth/stateless/auth-server/kustomization.yaml new file mode 100644 index 0000000..1e7b69a --- /dev/null +++ b/k8s/base/app/identity/auth/stateless/auth-server/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - serviceaccount.yaml + - configmap.yaml + - deployment.yaml + - service.yaml +labels: + - pairs: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/app/identity/auth/stateless/auth-server/service.yaml b/k8s/base/app/identity/auth/stateless/auth-server/service.yaml new file mode 100644 index 0000000..11114db --- /dev/null +++ b/k8s/base/app/identity/auth/stateless/auth-server/service.yaml @@ -0,0 +1,27 @@ +apiVersion: v1 +kind: Service +metadata: + name: auth-server + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + ports: + - name: http + port: 80 + targetPort: http + protocol: TCP + appProtocol: http + - name: metrics + port: 8081 + targetPort: metrics + protocol: TCP + appProtocol: http diff --git a/k8s/base/app/identity/auth/stateless/auth-server/serviceaccount.yaml b/k8s/base/app/identity/auth/stateless/auth-server/serviceaccount.yaml new file mode 100644 index 0000000..fec8724 --- /dev/null +++ b/k8s/base/app/identity/auth/stateless/auth-server/serviceaccount.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: auth-server-sa + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +automountServiceAccountToken: false diff --git a/k8s/base/app/identity/keycloak/stateless/keycloak/keycloak.yaml b/k8s/base/app/identity/keycloak/stateless/keycloak/keycloak.yaml new file mode 100644 index 0000000..ad7e405 --- /dev/null +++ b/k8s/base/app/identity/keycloak/stateless/keycloak/keycloak.yaml @@ -0,0 +1,113 @@ +apiVersion: k8s.keycloak.org/v2beta1 +kind: Keycloak +metadata: + name: keycloak + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/version: "26.6.1" + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: keycloak-operator +spec: + instances: 2 + db: + vendor: postgres + host: identity-postgres + port: 5432 + database: keycloak + usernameSecret: + name: keycloak-db-operator + key: username + passwordSecret: + name: keycloak-db-operator + key: password + poolInitialSize: 5 + poolMinSize: 5 + poolMaxSize: 20 + bootstrapAdmin: + user: + secret: keycloak-bootstrap-admin-operator # 어떤 시크릿에서 읽을지 지정하는 거 + hostname: + strict: true # 명시된 hostname을 기준으로 URL을 만든다. + backchannelDynamic: false # 백URL도 프론트 hostname과 동일하게 고정한다. + http: + httpEnabled: true + httpPort: 8080 + serviceHttpPort: 80 + serviceName: keycloak + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: keycloak-operator + proxy: + headers: xforwarded # X-Forwarded-For X-Forwarded-Proto X-Forwarded-Host X-Forwarded-Port 해당 헤더들을 사용하겠다는 의미 + ingress: + enabled: false + networkPolicy: + enabled: false + additionalOptions: + - name: cache + value: ispn # 애플리케이션의 캐시 엔진으로 ispn으로 사용 + - name: cache-stack + value: jdbc-ping # 클러스터링된 서버끼리 서로를 찾는(Discovery) 방식을 JDBC-PING으로 정한 것 + - name: health-enabled + value: "true" # 상태 확인(Health Check) 엔드포인트를 활성화 + - name: metrics-enabled + value: "true" # 메트릭(성능 지표) 수집 기능을 켬 + - name: log-console-output + value: json # 로그 형식을 JSON 구조로 변경 + env: + - name: JAVA_OPTS_APPEND + value: "-XX:MaxRAMPercentage=70 -XX:InitialRAMPercentage=50 -XX:+ExitOnOutOfMemoryError" + resources: + requests: + cpu: 500m + memory: 1Gi + limits: + cpu: "2" + memory: 2Gi + scheduling: + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + affinity: # 특정 노드에 다른 pod에 관계에 따라 배치 위치를 결정하는 규칙을 정의한다 + podAntiAffinity: # 특정 조건을 만족하는 포드와는 같은 장소에 있지 않는다. + preferredDuringSchedulingIgnoredDuringExecution: # 가급적 지켜줘 + - weight: 100 # 가중치가 100임 매우 중요하다고 알림 + podAffinityTerm: # 어떤 파드를 피해다닐지 + topologyKey: kubernetes.io/hostname # 피할 기준은 호스트 네임으로 설정 + labelSelector: + matchLabels: + app.kubernetes.io/instance: keycloak # keycloak과 피하겠다 + app.kubernetes.io/managed-by: keycloak-operator # keycloak-operator에 의해 관리되는 + unsupported: + podTemplate: + spec: + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containers: + - name: keycloak + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + seccompProfile: + type: RuntimeDefault diff --git a/k8s/base/app/identity/keycloak/stateless/keycloak/kustomization.yaml b/k8s/base/app/identity/keycloak/stateless/keycloak/kustomization.yaml new file mode 100644 index 0000000..76dc97e --- /dev/null +++ b/k8s/base/app/identity/keycloak/stateless/keycloak/kustomization.yaml @@ -0,0 +1,14 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - keycloak.yaml +labels: + - pairs: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/version: "26.6.1" + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/app/storage/minio/stateful/minio/kustomization.yaml b/k8s/base/app/storage/minio/stateful/minio/kustomization.yaml new file mode 100644 index 0000000..5a60bfa --- /dev/null +++ b/k8s/base/app/storage/minio/stateful/minio/kustomization.yaml @@ -0,0 +1,14 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - tenant.yaml +labels: + - pairs: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/version: "2025.01.20" + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/app/storage/minio/stateful/minio/tenant.yaml b/k8s/base/app/storage/minio/stateful/minio/tenant.yaml new file mode 100644 index 0000000..e4fd2fa --- /dev/null +++ b/k8s/base/app/storage/minio/stateful/minio/tenant.yaml @@ -0,0 +1,92 @@ +apiVersion: minio.min.io/v2 +kind: Tenant +metadata: + name: minio + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/version: "2025.01.20" + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize +spec: + image: minio/minio:RELEASE.2025-01-20T14-49-07Z + imagePullPolicy: IfNotPresent + mountPath: /export + configuration: + name: minio-tenant-env + requestAutoCert: true + certConfig: + commonName: minio + organizationName: + - example.com + dnsNames: + - minio + - minio-hl + pools: + - name: pool-0 + servers: 4 + volumesPerServer: 1 + volumeClaimTemplate: + metadata: + name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi + storageClassName: local-path + resources: + requests: + cpu: 250m + memory: 1Gi + limits: + cpu: "1" + memory: 2Gi + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + runAsNonRoot: true + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containerSecurityContext: + runAsUser: 1000 + runAsGroup: 1000 + runAsNonRoot: true + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + features: + bucketDNS: false + prometheusOperator: false + podManagementPolicy: Parallel + exposeServices: + minio: false + console: false + logging: + anonymous: false + json: true + quiet: false +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: minio-pdb + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/version: "2025.01.20" + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize +spec: + maxUnavailable: 1 + unhealthyPodEvictionPolicy: AlwaysAllow + selector: + matchLabels: + v1.min.io/tenant: minio diff --git a/k8s/base/managing/AGENTS.md b/k8s/base/managing/AGENTS.md new file mode 100644 index 0000000..ca48bda --- /dev/null +++ b/k8s/base/managing/AGENTS.md @@ -0,0 +1,46 @@ +# k8s/base/managing AGENTS + +Role: +- own management and operational Kubernetes base units +- model bootstrap, migration, backup, restore, maintenance, and admin workloads as declarative Kustomize bases +- keep operational workloads separate from long-running application serving workloads + +Allowed: +- Job / CronJob base resources for operational tasks +- maintenance ServiceAccount / RBAC / ConfigMap / Secret reference wiring +- backup / restore / migration helper workload shapes +- admin-only service shapes when explicitly justified + +Forbidden: +- long-running product application workloads +- environment-specific values that belong in `k8s/overlays/<env>` +- scripts becoming the primary source of YAML truth +- large heredoc-generated manifests as the default path +- embedding production secret values +- hiding environment differences in shell conditionals instead of overlays +- giant all-in-one jobs that mix unrelated concerns + +Read first: +- `/docs/standards/infra/workload-selection.md` +- `/docs/standards/infra/db-and-migration.md` +- `/docs/standards/infra/flyway.md` +- `/docs/standards/infra/backup-restore.md` +- `/docs/standards/infra/operations-runbook-upgrade-rollback.md` +- `/docs/standards/infra/config-and-secrets.md` +- `/docs/standards/infra/security-hardening.md` +- `/docs/standards/infra/kustomize.md` + +Examples: +- `/docs/examples/infra/flyway.md` +- `/docs/examples/infra/backup-restore.md` +- `/docs/examples/infra/operations-runbook-upgrade-rollback.md` +- `/docs/examples/infra/db-and-migration.md` +- `/docs/examples/infra/kustomize.md` +- `/docs/examples/infra/scripts.md` + +Rules: +- management jobs are explicit operational units, not hidden app startup hooks +- migrations must stay separate from app startup +- backup and restore paths must be documented before risky stateful changes +- destructive operations require explicit opt-in and runbook backing +- operational workloads must still follow security, resource, secret, and namespace standards diff --git a/k8s/base/managing/kustomization.yaml b/k8s/base/managing/kustomization.yaml new file mode 100755 index 0000000..7413ead --- /dev/null +++ b/k8s/base/managing/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - namespace diff --git a/k8s/base/managing/migration-flyway/configmap-sql.yaml b/k8s/base/managing/migration-flyway/configmap-sql.yaml new file mode 100644 index 0000000..4a24e5f --- /dev/null +++ b/k8s/base/managing/migration-flyway/configmap-sql.yaml @@ -0,0 +1,80 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: migration-flyway-sql + labels: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +data: + V1__create_users_table.sql: | + create schema if not exists auth; + + create or replace function auth.set_updated_at() + returns trigger as $$ + begin + new.updated_at := current_timestamp; + return new; + end; + $$ language plpgsql; + + create table auth.users ( + id uuid not null, + email text not null, + encoded_password text not null, + name text not null, + provider text not null, + created_at timestamp with time zone not null default current_timestamp, + updated_at timestamp with time zone not null default current_timestamp, + constraint pk_users primary key (id), + constraint uq_users__email unique (email), + constraint ck_users__provider check (provider in ('LOCAL', 'GOOGLE', 'GITHUB')) + ); + + create index ix_users__created_at on auth.users (created_at); + + create trigger trg_users__set_updated_at + before update on auth.users + for each row + when (old.* is distinct from new.*) + execute function auth.set_updated_at(); + V2__add_oauth_login_columns.sql: | + alter table auth.users alter column encoded_password drop not null; + + alter table auth.users add column provider_subject text; + + alter table auth.users + add constraint uq_users__provider_provider_subject unique (provider, provider_subject); + V3__add_user_provider_field_constraints.sql: | + alter table auth.users + add constraint ck_users__local_password_required + check ( + (provider = 'LOCAL' and encoded_password is not null and provider_subject is null) + or (provider <> 'LOCAL') + ); + + alter table auth.users + add constraint ck_users__social_subject_required + check ( + (provider <> 'LOCAL' and provider_subject is not null and encoded_password is null) + or (provider = 'LOCAL') + ); + V4__add_keycloak_provider.sql: | + alter table auth.users drop constraint ck_users__provider; + + alter table auth.users + add constraint ck_users__provider check (provider in ('LOCAL', 'KEYCLOAK', 'GOOGLE', 'GITHUB')); + V5__keycloak_only_provider.sql: | + alter table auth.users drop constraint if exists ck_users__local_password_required; + alter table auth.users drop constraint if exists ck_users__social_subject_required; + alter table auth.users drop constraint if exists ck_users__provider; + + alter table auth.users drop column if exists encoded_password; + + alter table auth.users alter column provider_subject set not null; + + alter table auth.users + add constraint ck_users__provider check (provider = 'KEYCLOAK'); diff --git a/k8s/base/managing/migration-flyway/job.yaml b/k8s/base/managing/migration-flyway/job.yaml new file mode 100644 index 0000000..34ba8d6 --- /dev/null +++ b/k8s/base/managing/migration-flyway/job.yaml @@ -0,0 +1,119 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: migration-flyway + labels: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + parallelism: 1 + completions: 1 + backoffLimit: 0 + activeDeadlineSeconds: 1800 + ttlSecondsAfterFinished: 86400 + template: + metadata: + labels: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + spec: + serviceAccountName: migration-flyway-sa + automountServiceAccountToken: false + restartPolicy: Never + securityContext: + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + initContainers: + - name: flyway-info + image: flyway/flyway:10.20.1 + imagePullPolicy: IfNotPresent + command: ["/bin/sh", "-c"] + args: ["FLYWAY_USER=\"$(cat /run/secrets/db/SPRING_DATASOURCE_USERNAME)\" FLYWAY_PASSWORD=\"$(cat /run/secrets/db/SPRING_DATASOURCE_PASSWORD)\" exec /flyway/flyway info"] + env: &flywayEnv + - name: FLYWAY_URL + value: jdbc:postgresql://identity-postgres:5432/auth_server + - name: FLYWAY_LOCATIONS + value: filesystem:/flyway/sql + - name: FLYWAY_SCHEMAS + value: auth + - name: FLYWAY_DEFAULT_SCHEMA + value: auth + - name: FLYWAY_TABLE + value: flyway_schema_history + - name: FLYWAY_VALIDATE_ON_MIGRATE + value: "true" + - name: FLYWAY_BASELINE_ON_MIGRATE + value: "false" + - name: FLYWAY_OUT_OF_ORDER + value: "false" + - name: FLYWAY_MIXED + value: "false" + - name: FLYWAY_CLEAN_DISABLED + value: "true" + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + memory: 256Mi + securityContext: &flywaySC + runAsNonRoot: true + runAsUser: 1000 + runAsGroup: 1000 + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + volumeMounts: &flywayVM + - name: sql + mountPath: /flyway/sql + readOnly: true + - name: db-secret + mountPath: /run/secrets/db + readOnly: true + - name: tmp + mountPath: /tmp + containers: + - name: flyway-migrate + image: flyway/flyway:10.20.1 + imagePullPolicy: IfNotPresent + command: ["/bin/sh", "-c"] + args: ["FLYWAY_USER=\"$(cat /run/secrets/db/SPRING_DATASOURCE_USERNAME)\" FLYWAY_PASSWORD=\"$(cat /run/secrets/db/SPRING_DATASOURCE_PASSWORD)\" exec /flyway/flyway migrate"] + env: *flywayEnv + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + memory: 512Mi + securityContext: *flywaySC + volumeMounts: *flywayVM + volumes: + - name: sql + configMap: + name: migration-flyway-sql + - name: db-secret + secret: + secretName: auth-server-db + defaultMode: 0400 + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 128Mi diff --git a/k8s/base/managing/migration-flyway/kustomization.yaml b/k8s/base/managing/migration-flyway/kustomization.yaml new file mode 100644 index 0000000..2ee969e --- /dev/null +++ b/k8s/base/managing/migration-flyway/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - serviceaccount.yaml + - configmap-sql.yaml + - job.yaml +labels: + - pairs: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/managing/migration-flyway/serviceaccount.yaml b/k8s/base/managing/migration-flyway/serviceaccount.yaml new file mode 100644 index 0000000..015f254 --- /dev/null +++ b/k8s/base/managing/migration-flyway/serviceaccount.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: migration-flyway-sa + labels: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +automountServiceAccountToken: false diff --git a/k8s/base/managing/namespace/kustomization.yaml b/k8s/base/managing/namespace/kustomization.yaml new file mode 100644 index 0000000..dca4a51 --- /dev/null +++ b/k8s/base/managing/namespace/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - namespace.yaml diff --git a/k8s/base/managing/namespace/namespace.yaml b/k8s/base/managing/namespace/namespace.yaml new file mode 100644 index 0000000..6d6d436 --- /dev/null +++ b/k8s/base/managing/namespace/namespace.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: mnt + labels: + app.kubernetes.io/name: mnt + app.kubernetes.io/instance: mnt + app.kubernetes.io/component: namespace + app.kubernetes.io/part-of: infra-platform + app.kubernetes.io/managed-by: kustomize + pod-security.kubernetes.io/enforce: restricted + pod-security.kubernetes.io/enforce-version: latest + pod-security.kubernetes.io/audit: restricted + pod-security.kubernetes.io/audit-version: latest + pod-security.kubernetes.io/warn: restricted + pod-security.kubernetes.io/warn-version: latest diff --git a/k8s/base/plugins/docker-registry/configmap.yaml b/k8s/base/plugins/docker-registry/configmap.yaml new file mode 100755 index 0000000..31aed24 --- /dev/null +++ b/k8s/base/plugins/docker-registry/configmap.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: docker-registry-config +data: + REGISTRY_HTTP_ADDR: "0.0.0.0:5000" + REGISTRY_LOG_FORMATTER: "json" + REGISTRY_STORAGE: "s3" + REGISTRY_STORAGE_S3_REGION: "us-east-1" + REGISTRY_STORAGE_S3_REGIONENDPOINT: "http://minio" + REGISTRY_STORAGE_S3_BUCKET: "docker-registry" + REGISTRY_STORAGE_S3_FORCEPATHSTYLE: "true" + REGISTRY_STORAGE_S3_SKIPVERIFY: "true" + REGISTRY_STORAGE_REDIRECT_DISABLE: "true" + REGISTRY_STORAGE_DELETE_ENABLED: "true" diff --git a/k8s/base/plugins/docker-registry/deployment.yaml b/k8s/base/plugins/docker-registry/deployment.yaml new file mode 100644 index 0000000..856a09f --- /dev/null +++ b/k8s/base/plugins/docker-registry/deployment.yaml @@ -0,0 +1,94 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: docker-registry +spec: + replicas: 1 + revisionHistoryLimit: 5 + progressDeadlineSeconds: 600 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 0 + selector: + matchLabels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + template: + metadata: + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + spec: + serviceAccountName: docker-registry + automountServiceAccountToken: false + terminationGracePeriodSeconds: 45 + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + fsGroup: 10001 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containers: + - name: registry + image: registry:2.8.3 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 5000 + protocol: TCP + envFrom: + - configMapRef: + name: docker-registry-config + - secretRef: + name: docker-registry-minio + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + memory: 512Mi + startupProbe: + httpGet: + path: /v2/ + port: http + periodSeconds: 5 + failureThreshold: 12 + timeoutSeconds: 3 + readinessProbe: + httpGet: + path: /v2/ + port: http + periodSeconds: 10 + failureThreshold: 3 + timeoutSeconds: 3 + livenessProbe: + httpGet: + path: /v2/ + port: http + periodSeconds: 30 + failureThreshold: 3 + timeoutSeconds: 3 + securityContext: + runAsNonRoot: true + runAsUser: 10001 + runAsGroup: 10001 + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + volumeMounts: + - name: tmp + mountPath: /tmp + volumes: + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 64Mi diff --git a/k8s/base/plugins/docker-registry/kustomization.yaml b/k8s/base/plugins/docker-registry/kustomization.yaml new file mode 100755 index 0000000..7e30b16 --- /dev/null +++ b/k8s/base/plugins/docker-registry/kustomization.yaml @@ -0,0 +1,19 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - serviceaccount.yaml + - configmap.yaml + - service.yaml + - deployment.yaml + +labels: + - pairs: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + app.kubernetes.io/version: "2.8.3" + app.kubernetes.io/component: registry + app.kubernetes.io/part-of: platform-registry + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/plugins/docker-registry/service.yaml b/k8s/base/plugins/docker-registry/service.yaml new file mode 100755 index 0000000..5644fc6 --- /dev/null +++ b/k8s/base/plugins/docker-registry/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: docker-registry +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + ports: + - name: http + port: 5000 + targetPort: http + protocol: TCP + appProtocol: http diff --git a/k8s/base/plugins/docker-registry/serviceaccount.yaml b/k8s/base/plugins/docker-registry/serviceaccount.yaml new file mode 100644 index 0000000..5c5b56a --- /dev/null +++ b/k8s/base/plugins/docker-registry/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: docker-registry +automountServiceAccountToken: false diff --git a/k8s/base/plugins/kustomization.yaml b/k8s/base/plugins/kustomization.yaml new file mode 100644 index 0000000..041fdae --- /dev/null +++ b/k8s/base/plugins/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - vault + - docker-registry diff --git a/k8s/base/plugins/oauth2-proxy/deployment.yaml b/k8s/base/plugins/oauth2-proxy/deployment.yaml new file mode 100644 index 0000000..3cbff44 --- /dev/null +++ b/k8s/base/plugins/oauth2-proxy/deployment.yaml @@ -0,0 +1,115 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: oauth2-proxy +spec: + replicas: 1 + revisionHistoryLimit: 5 + progressDeadlineSeconds: 600 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 0 + selector: + matchLabels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + template: + metadata: + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + spec: + serviceAccountName: oauth2-proxy-sa + automountServiceAccountToken: false + terminationGracePeriodSeconds: 30 + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + securityContext: + runAsNonRoot: true + runAsUser: 65532 + runAsGroup: 65532 + fsGroup: 65532 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containers: + - name: oauth2-proxy + image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.2 + imagePullPolicy: IfNotPresent + args: + - --config=/etc/oauth2-proxy/oauth2-proxy.cfg + ports: + - name: http + containerPort: 4180 + protocol: TCP + - name: metrics + containerPort: 44180 + protocol: TCP + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + memory: 256Mi + startupProbe: + httpGet: + path: /ping + port: http + periodSeconds: 5 + failureThreshold: 12 + timeoutSeconds: 3 + readinessProbe: + httpGet: + path: /ready + port: http + periodSeconds: 10 + failureThreshold: 3 + timeoutSeconds: 3 + livenessProbe: + httpGet: + path: /ping + port: http + periodSeconds: 15 + failureThreshold: 3 + timeoutSeconds: 3 + securityContext: + runAsNonRoot: true + runAsUser: 65532 + runAsGroup: 65532 + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + volumeMounts: + - name: config + mountPath: /etc/oauth2-proxy + readOnly: true + - name: secrets + mountPath: /etc/oauth2-proxy-secrets + readOnly: true + - name: tmp + mountPath: /tmp + volumes: + - name: config + configMap: + name: oauth2-proxy-config + - name: secrets + secret: + secretName: oauth2-proxy-secrets + defaultMode: 0400 + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 64Mi diff --git a/k8s/base/plugins/oauth2-proxy/kustomization.yaml b/k8s/base/plugins/oauth2-proxy/kustomization.yaml new file mode 100644 index 0000000..1a7ac2d --- /dev/null +++ b/k8s/base/plugins/oauth2-proxy/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - serviceaccount.yaml + - service.yaml + - deployment.yaml + +labels: + - pairs: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + app.kubernetes.io/version: "7.15.2" + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/plugins/oauth2-proxy/service.yaml b/k8s/base/plugins/oauth2-proxy/service.yaml new file mode 100644 index 0000000..c5e78c8 --- /dev/null +++ b/k8s/base/plugins/oauth2-proxy/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: oauth2-proxy +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + ports: + - name: http + port: 4180 + targetPort: http + protocol: TCP + appProtocol: http + - name: metrics + port: 44180 + targetPort: metrics + protocol: TCP + appProtocol: http diff --git a/k8s/base/plugins/oauth2-proxy/serviceaccount.yaml b/k8s/base/plugins/oauth2-proxy/serviceaccount.yaml new file mode 100644 index 0000000..4c069bf --- /dev/null +++ b/k8s/base/plugins/oauth2-proxy/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: oauth2-proxy-sa +automountServiceAccountToken: false diff --git a/k8s/base/plugins/vault/clusterrolebinding.yaml b/k8s/base/plugins/vault/clusterrolebinding.yaml new file mode 100644 index 0000000..615699d --- /dev/null +++ b/k8s/base/plugins/vault/clusterrolebinding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: vault-tokenreview-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:auth-delegator +subjects: + - kind: ServiceAccount + name: vault + namespace: mnt diff --git a/k8s/base/plugins/vault/configmap.yaml b/k8s/base/plugins/vault/configmap.yaml new file mode 100755 index 0000000..3aaccd9 --- /dev/null +++ b/k8s/base/plugins/vault/configmap.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: vault-config +data: + vault.hcl: | + ui = true + disable_mlock = true + + storage "file" { + path = "/vault/data" + } + + listener "tcp" { + address = "0.0.0.0:8200" + cluster_address = "0.0.0.0:8201" + tls_disable = 1 + } + + api_addr = "http://vault:8200" + cluster_addr = "http://vault:8201" diff --git a/k8s/base/plugins/vault/kustomization.yaml b/k8s/base/plugins/vault/kustomization.yaml new file mode 100755 index 0000000..6d6f056 --- /dev/null +++ b/k8s/base/plugins/vault/kustomization.yaml @@ -0,0 +1,20 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - serviceaccount.yaml + - clusterrolebinding.yaml + - configmap.yaml + - service.yaml + - statefulset.yaml + +labels: + - pairs: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault + app.kubernetes.io/version: "1.17.2" + app.kubernetes.io/component: secret-management + app.kubernetes.io/part-of: security-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/plugins/vault/service.yaml b/k8s/base/plugins/vault/service.yaml new file mode 100755 index 0000000..8bef24b --- /dev/null +++ b/k8s/base/plugins/vault/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: vault +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault + ports: + - name: http + port: 8200 + targetPort: http + protocol: TCP + appProtocol: http + - name: cluster + port: 8201 + targetPort: cluster + protocol: TCP + appProtocol: http diff --git a/k8s/base/plugins/vault/serviceaccount.yaml b/k8s/base/plugins/vault/serviceaccount.yaml new file mode 100755 index 0000000..ddac6a5 --- /dev/null +++ b/k8s/base/plugins/vault/serviceaccount.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: vault diff --git a/k8s/base/plugins/vault/statefulset.yaml b/k8s/base/plugins/vault/statefulset.yaml new file mode 100755 index 0000000..727a7af --- /dev/null +++ b/k8s/base/plugins/vault/statefulset.yaml @@ -0,0 +1,128 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: vault +spec: + replicas: 1 + serviceName: vault + podManagementPolicy: OrderedReady + updateStrategy: + type: RollingUpdate + persistentVolumeClaimRetentionPolicy: + whenDeleted: Retain + whenScaled: Retain + selector: + matchLabels: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault + template: + metadata: + labels: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault + spec: + serviceAccountName: vault + automountServiceAccountToken: true + terminationGracePeriodSeconds: 60 + securityContext: + runAsNonRoot: true + runAsUser: 100 + runAsGroup: 1000 + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + seccompProfile: + type: RuntimeDefault + containers: + - name: vault + image: hashicorp/vault:1.17.2 + imagePullPolicy: IfNotPresent + command: + - vault + - server + - -config=/vault/config/vault.hcl + ports: + - name: http + containerPort: 8200 + protocol: TCP + - name: cluster + containerPort: 8201 + protocol: TCP + env: + - name: VAULT_ADDR + value: "http://127.0.0.1:8200" + - name: VAULT_API_ADDR + value: "http://vault:8200" + - name: SKIP_SETCAP + value: "true" + resources: + requests: + cpu: 250m + memory: 256Mi + limits: + memory: 512Mi + startupProbe: + httpGet: + path: /v1/sys/health?standbyok=true&sealedcode=200&uninitcode=200 + port: http + periodSeconds: 5 + failureThreshold: 30 + timeoutSeconds: 3 + readinessProbe: + httpGet: + path: /v1/sys/health?standbyok=true&sealedcode=503&uninitcode=503 + port: http + periodSeconds: 10 + failureThreshold: 3 + timeoutSeconds: 3 + livenessProbe: + httpGet: + path: /v1/sys/health?standbyok=true&sealedcode=200&uninitcode=200 + port: http + periodSeconds: 30 + failureThreshold: 3 + timeoutSeconds: 3 + securityContext: + runAsNonRoot: true + runAsUser: 100 + runAsGroup: 1000 + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + volumeMounts: + - name: data + mountPath: /vault/data + - name: config + mountPath: /vault/config + readOnly: true + - name: tmp + mountPath: /tmp + - name: home + mountPath: /home/vault + volumes: + - name: config + configMap: + name: vault-config + - name: tmp + emptyDir: + medium: Memory + sizeLimit: 64Mi + - name: home + emptyDir: + medium: Memory + sizeLimit: 64Mi + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + volumeMode: Filesystem + resources: + requests: + storage: 5Gi diff --git a/k8s/base/plugins/vso/helm/values.yaml b/k8s/base/plugins/vso/helm/values.yaml new file mode 100755 index 0000000..0877e9c --- /dev/null +++ b/k8s/base/plugins/vso/helm/values.yaml @@ -0,0 +1,39 @@ +defaultVaultConnection: + enabled: false + +controller: + # VSO 는 mnt namespace 에 설치되고 mnt 는 PSS restricted enforce 상태이므로 + # chart 의 Operator Pod 도 Restricted 프로필을 만족해야 한다. + podSecurityContext: + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + + manager: + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 10m + memory: 64Mi + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + + kubeRbacProxy: + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + seccompProfile: + type: RuntimeDefault + +# kubeRBACProxy : metrics 접근 제어 diff --git a/k8s/base/plugins/vso/kustomization.yaml b/k8s/base/plugins/vso/kustomization.yaml new file mode 100755 index 0000000..0ba0e12 --- /dev/null +++ b/k8s/base/plugins/vso/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - serviceaccount.yaml + - vault-connection.yaml + - vault-auth.yaml + +labels: + - pairs: + app.kubernetes.io/name: vault-secrets-operator + app.kubernetes.io/instance: vso + app.kubernetes.io/version: "0.9.0" + app.kubernetes.io/component: secret-delivery + app.kubernetes.io/part-of: security-platform + app.kubernetes.io/managed-by: kustomize + includeSelectors: false + includeTemplates: true diff --git a/k8s/base/plugins/vso/serviceaccount.yaml b/k8s/base/plugins/vso/serviceaccount.yaml new file mode 100755 index 0000000..5d2ad22 --- /dev/null +++ b/k8s/base/plugins/vso/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: vault-secrets-operator +automountServiceAccountToken: true diff --git a/k8s/base/plugins/vso/vault-auth.yaml b/k8s/base/plugins/vso/vault-auth.yaml new file mode 100755 index 0000000..614bfa1 --- /dev/null +++ b/k8s/base/plugins/vso/vault-auth.yaml @@ -0,0 +1,27 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultAuth +metadata: + name: vault-auth-auth-platform +spec: + vaultConnectionRef: vault-connection + method: kubernetes + mount: kubernetes + kubernetes: + role: vso-auth-platform + serviceAccount: vault-secrets-operator + audiences: + - vault +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultAuth +metadata: + name: vault-auth-storage +spec: + vaultConnectionRef: vault-connection + method: kubernetes + mount: kubernetes + kubernetes: + role: vso-storage + serviceAccount: vault-secrets-operator + audiences: + - vault diff --git a/k8s/base/plugins/vso/vault-connection.yaml b/k8s/base/plugins/vso/vault-connection.yaml new file mode 100755 index 0000000..ce83fdc --- /dev/null +++ b/k8s/base/plugins/vso/vault-connection.yaml @@ -0,0 +1,7 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultConnection +metadata: + name: vault-connection +spec: + address: http://vault.mnt.svc.cluster.local:8200 + skipTLSVerify: false diff --git a/k8s/components/forward-auth/kustomization.yaml b/k8s/components/forward-auth/kustomization.yaml new file mode 100644 index 0000000..27afc41 --- /dev/null +++ b/k8s/components/forward-auth/kustomization.yaml @@ -0,0 +1,19 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - ../../base/plugins/oauth2-proxy + - oauth2-proxy-config.yaml + - oauth2-proxy-vault-secrets.yaml + - oauth2-proxy-ingress.yaml + - oauth2-proxy-middleware.yaml + - oauth2-proxy-networkpolicy.yaml + +patches: + - target: + kind: Ingress + name: auth-server + patch: |- + - op: replace + path: /metadata/annotations/traefik.ingress.kubernetes.io~1router.middlewares + value: mnt-oauth2-proxy-errors@kubernetescrd,mnt-oauth2-proxy-auth@kubernetescrd,kube-system-security-headers@kubernetescrd diff --git a/k8s/components/forward-auth/oauth2-proxy-config.yaml b/k8s/components/forward-auth/oauth2-proxy-config.yaml new file mode 100644 index 0000000..c253b61 --- /dev/null +++ b/k8s/components/forward-auth/oauth2-proxy-config.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: oauth2-proxy-config + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + app.kubernetes.io/version: "7.15.2" + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +data: + oauth2-proxy.cfg: | + provider = "keycloak-oidc" + http_address = "0.0.0.0:4180" + metrics_address = "0.0.0.0:44180" + redirect_url = "http://auth.local.test/oauth2/callback" + + oidc_issuer_url = "http://keycloak.local.test/realms/platform" + skip_oidc_discovery = true + login_url = "http://keycloak.local.test/realms/platform/protocol/openid-connect/auth" + redeem_url = "http://keycloak.mnt.svc.cluster.local/realms/platform/protocol/openid-connect/token" + profile_url = "http://keycloak.mnt.svc.cluster.local/realms/platform/protocol/openid-connect/userinfo" + validate_url = "http://keycloak.mnt.svc.cluster.local/realms/platform/protocol/openid-connect/userinfo" + oidc_jwks_url = "http://keycloak.mnt.svc.cluster.local/realms/platform/protocol/openid-connect/certs" + + client_id = "auth-server-ingress" + client_secret_file = "/etc/oauth2-proxy-secrets/client-secret" + cookie_secret_file = "/etc/oauth2-proxy-secrets/cookie-secret" + reverse_proxy = true + upstreams = [ "static://202" ] + email_domains = [ "*" ] + scope = "openid profile email" + insecure_oidc_allow_unverified_email = true + skip_provider_button = true + cookie_secure = false + cookie_samesite = "lax" + cookie_csrf_per_request = true + cookie_refresh = "4m" + set_xauthrequest = true + set_authorization_header = true + pass_access_token = true + pass_authorization_header = true + ssl_insecure_skip_verify = false + whitelist_domains = [ "auth.local.test" ] + trusted_proxy_ips = [ "10.42.0.0/16" ] diff --git a/k8s/components/forward-auth/oauth2-proxy-ingress.yaml b/k8s/components/forward-auth/oauth2-proxy-ingress.yaml new file mode 100644 index 0000000..80014f5 --- /dev/null +++ b/k8s/components/forward-auth/oauth2-proxy-ingress.yaml @@ -0,0 +1,27 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: oauth2-proxy + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + app.kubernetes.io/version: "7.15.2" + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web + traefik.ingress.kubernetes.io/router.middlewares: kube-system-security-headers@kubernetescrd +spec: + ingressClassName: traefik + rules: + - host: auth.local.test + http: + paths: + - path: /oauth2/ + pathType: Prefix + backend: + service: + name: oauth2-proxy + port: + name: http diff --git a/k8s/components/forward-auth/oauth2-proxy-middleware.yaml b/k8s/components/forward-auth/oauth2-proxy-middleware.yaml new file mode 100644 index 0000000..383500f --- /dev/null +++ b/k8s/components/forward-auth/oauth2-proxy-middleware.yaml @@ -0,0 +1,45 @@ +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: oauth2-proxy-auth + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + app.kubernetes.io/version: "7.15.2" + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + forwardAuth: + address: http://oauth2-proxy.mnt.svc.cluster.local:4180/oauth2/auth + trustForwardHeader: true + authResponseHeaders: + - Authorization + - X-Auth-Request-Access-Token + - X-Auth-Request-Email + - X-Auth-Request-Preferred-Username + - X-Auth-Request-User + - X-Forwarded-Email + - X-Forwarded-User +--- +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: oauth2-proxy-errors + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + app.kubernetes.io/version: "7.15.2" + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + errors: + status: + - "401" + statusRewrites: + "401": 302 + service: + name: oauth2-proxy + port: 4180 + query: /oauth2/start?rd={url} diff --git a/k8s/components/forward-auth/oauth2-proxy-networkpolicy.yaml b/k8s/components/forward-auth/oauth2-proxy-networkpolicy.yaml new file mode 100644 index 0000000..082c965 --- /dev/null +++ b/k8s/components/forward-auth/oauth2-proxy-networkpolicy.yaml @@ -0,0 +1,55 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: oauth2-proxy-ingress-traefik + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + podSelector: + matchLabels: + app.kubernetes.io/name: traefik + ports: + - protocol: TCP + port: 4180 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: oauth2-proxy-egress-keycloak + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + ports: + - protocol: TCP + port: 8080 diff --git a/k8s/components/forward-auth/oauth2-proxy-vault-secrets.yaml b/k8s/components/forward-auth/oauth2-proxy-vault-secrets.yaml new file mode 100644 index 0000000..159d749 --- /dev/null +++ b/k8s/components/forward-auth/oauth2-proxy-vault-secrets.yaml @@ -0,0 +1,24 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: oauth2-proxy-secrets +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + path: oauth2-proxy/forward-auth + refreshAfter: 60s + type: kv-v2 + destination: + name: oauth2-proxy-secrets + create: true + labels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/component: auth-proxy + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + excludeRaw: true + templates: + client-secret: + text: '{{ if index .Secrets "client_secret" }}{{ index .Secrets "client_secret" }}{{ else }}{{ index .Secrets "client-secret" }}{{ end }}' + cookie-secret: + text: '{{ if index .Secrets "cookie_secret" }}{{ index .Secrets "cookie_secret" }}{{ else }}{{ index .Secrets "cookie-secret" }}{{ end }}' diff --git a/k8s/overlays/AGENTS.md b/k8s/overlays/AGENTS.md new file mode 100644 index 0000000..0dd5b67 --- /dev/null +++ b/k8s/overlays/AGENTS.md @@ -0,0 +1,44 @@ +# k8s/overlays AGENTS + +Role: +- own environment-specific Kustomize composition +- express only the differences between environments and reusable bases +- make environment-level render, diff, apply, audit, and GitOps sync straightforward + +Scope: +- `dev/` +- `staging/` +- `prod/` + +Allowed: +- namespace selection +- replicas +- resource requests/limits overrides +- image tags or image references +- ingress host/TLS differences +- environment-specific patches +- environment-specific secret references +- storage class and retention differences + +Forbidden: +- copying full base manifests into overlays +- redefining base resources wholesale without a clear environment-only reason +- placing production secret values in Git +- changing service ownership or workload kind without updating the base and standards +- mixing multiple environments in one overlay + +Read first: +- `/docs/standards/infra/kustomize.md` +- `/docs/standards/infra/architecture-environments.md` +- `/docs/standards/infra/config-and-secrets.md` +- `/docs/standards/infra/network-ingress-tls.md` +- `/docs/standards/infra/resources-probes-availability.md` +- `/docs/standards/infra/security-hardening.md` +- `/docs/standards/infra/operations-runbook-upgrade-rollback.md` + +Rules: +- overlays are environment-first by design +- keep patches small and named by target and intent +- render and diff the target environment before apply +- prod overlays must be the most conservative environment +- if an overlay starts re-declaring most of a resource, move common shape back into `k8s/base` diff --git a/k8s/overlays/README.md b/k8s/overlays/README.md new file mode 100644 index 0000000..b54e740 --- /dev/null +++ b/k8s/overlays/README.md @@ -0,0 +1,19 @@ +# Environment Overlays + +Overlays contain environment-specific differences. + +Required shape: + +```text +overlays/<env>/ +├── kustomization.yaml +├── app/ +├── managing/ +└── plugins/ +``` + +Rules: +- Overlay packages reuse base packages. +- Overlay packages contain patches, generated config, or environment-specific resources only. +- Do not duplicate base package composition in overlays. +- A workload override belongs at `overlays/<env>/app/units/<unit>/<domain>/<workload-kind>/<workload>/`. diff --git a/k8s/overlays/dev/auth/ingress.yaml b/k8s/overlays/dev/auth/ingress.yaml new file mode 100644 index 0000000..1f98a15 --- /dev/null +++ b/k8s/overlays/dev/auth/ingress.yaml @@ -0,0 +1,27 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: auth-server + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/version: "0.1.0" + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web + traefik.ingress.kubernetes.io/router.middlewares: kube-system-security-headers@kubernetescrd +spec: + ingressClassName: traefik + rules: + - host: auth.local.test + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: auth-server + port: + name: http diff --git a/k8s/overlays/dev/auth/kustomization.yaml b/k8s/overlays/dev/auth/kustomization.yaml new file mode 100644 index 0000000..f82fe9b --- /dev/null +++ b/k8s/overlays/dev/auth/kustomization.yaml @@ -0,0 +1,50 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../../base/app/identity/auth/stateless/auth-server + - ../../../base/managing/migration-flyway + - ingress.yaml + - networkpolicy.yaml + +images: + - name: registry.example.com/auth-platform/auth-server + newName: registry.project.com/auth-platform/auth-server + newTag: manual-20260512071751 + +patches: + - target: + kind: ConfigMap + name: auth-server-config + patch: |- + - op: add + path: /data/APP_SECURITY_KEYCLOAK_ISSUER_URI + value: http://keycloak.local.test/realms/platform + - op: add + path: /data/SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI + value: http://keycloak.local.test/realms/platform + - op: add + path: /data/SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI + value: http://keycloak/realms/platform/protocol/openid-connect/certs + - op: add + path: /data/SERVER_MAX_HTTP_REQUEST_HEADER_SIZE + value: 64KB + - target: + kind: ServiceAccount + name: auth-server-sa + patch: |- + - op: add + path: /imagePullSecrets + value: + - name: docker-registry-pull-credentials + - target: + kind: Job + name: migration-flyway + patch: |- + - op: add + path: /metadata/annotations + value: + argocd.argoproj.io/sync-wave: "-1" + argocd.argoproj.io/hook: PreSync diff --git a/k8s/overlays/dev/auth/networkpolicy.yaml b/k8s/overlays/dev/auth/networkpolicy.yaml new file mode 100644 index 0000000..70e89cf --- /dev/null +++ b/k8s/overlays/dev/auth/networkpolicy.yaml @@ -0,0 +1,90 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: auth-server-ingress-traefik + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + podSelector: + matchLabels: + app.kubernetes.io/name: traefik + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: auth-server-egress + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + app.kubernetes.io/component: api + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + ports: + - protocol: TCP + port: 5432 + - to: + - podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: migration-flyway-egress + labels: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + app.kubernetes.io/component: migration + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + ports: + - protocol: TCP + port: 5432 diff --git a/k8s/overlays/dev/database/kustomization.yaml b/k8s/overlays/dev/database/kustomization.yaml new file mode 100644 index 0000000..9d7eaf6 --- /dev/null +++ b/k8s/overlays/dev/database/kustomization.yaml @@ -0,0 +1,21 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../../base/app/identity/auth/stateful/identity-postgres + - vault-secrets.yaml + - networkpolicy.yaml + +patches: + - target: + kind: StatefulSet + name: identity-postgres + patch: |- + - op: replace + path: /spec/persistentVolumeClaimRetentionPolicy/whenDeleted + value: Delete + - op: replace + path: /spec/persistentVolumeClaimRetentionPolicy/whenScaled + value: Delete diff --git a/k8s/overlays/dev/database/networkpolicy.yaml b/k8s/overlays/dev/database/networkpolicy.yaml new file mode 100644 index 0000000..74c693f --- /dev/null +++ b/k8s/overlays/dev/database/networkpolicy.yaml @@ -0,0 +1,34 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: identity-postgres-ingress-clients + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + app.kubernetes.io/component: database + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + policyTypes: + - Ingress + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + - podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + - podSelector: + matchLabels: + app.kubernetes.io/name: migration-flyway + app.kubernetes.io/instance: migration-flyway + ports: + - protocol: TCP + port: 5432 diff --git a/k8s/overlays/dev/database/vault-secrets.yaml b/k8s/overlays/dev/database/vault-secrets.yaml new file mode 100644 index 0000000..f8f032d --- /dev/null +++ b/k8s/overlays/dev/database/vault-secrets.yaml @@ -0,0 +1,63 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: identity-postgres-superuser +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + type: kv-v2 + path: identity-postgres/superuser + refreshAfter: 60s + destination: + name: identity-postgres-superuser + create: true + labels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/component: database + app.kubernetes.io/managed-by: vault-secrets-operator +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: keycloak-db-creds +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + type: kv-v2 + path: keycloak/db + refreshAfter: 60s + destination: + name: keycloak-db + create: true + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/component: database + app.kubernetes.io/managed-by: vault-secrets-operator +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: auth-server-db-creds +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + type: kv-v2 + path: auth-server/db + refreshAfter: 60s + destination: + name: auth-server-db + create: true + labels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/component: database + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + templates: + SPRING_DATASOURCE_USERNAME: + text: '{{ index .Secrets "SPRING_DATASOURCE_USERNAME" }}' + SPRING_DATASOURCE_PASSWORD: + text: '{{ index .Secrets "SPRING_DATASOURCE_PASSWORD" }}' + APP_DATASOURCE_USERNAME: + text: '{{ index .Secrets "SPRING_DATASOURCE_USERNAME" }}' + APP_DATASOURCE_PASSWORD: + text: '{{ index .Secrets "SPRING_DATASOURCE_PASSWORD" }}' diff --git a/k8s/overlays/dev/keycloak-realm/kustomization.yaml b/k8s/overlays/dev/keycloak-realm/kustomization.yaml new file mode 100644 index 0000000..2455c52 --- /dev/null +++ b/k8s/overlays/dev/keycloak-realm/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - platform-realm-import.yaml diff --git a/k8s/overlays/dev/keycloak-realm/platform-realm-import.yaml b/k8s/overlays/dev/keycloak-realm/platform-realm-import.yaml new file mode 100644 index 0000000..de2f5b3 --- /dev/null +++ b/k8s/overlays/dev/keycloak-realm/platform-realm-import.yaml @@ -0,0 +1,62 @@ +apiVersion: k8s.keycloak.org/v2beta1 +kind: KeycloakRealmImport +metadata: + name: platform-realm + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/version: "26.6.1" + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + keycloakCRName: keycloak + placeholders: + AUTH_SERVER_INGRESS_CLIENT_SECRET: + secret: + name: keycloak-client-auth-server-ingress + key: client-secret + realm: + realm: platform + enabled: true + sslRequired: external + registrationAllowed: true + loginWithEmailAllowed: true + accessTokenLifespan: 300 + defaultRoles: + - user + roles: + realm: + - name: user + clients: + - clientId: auth-server-ingress + name: auth-server-ingress + protocol: openid-connect + publicClient: false + clientAuthenticatorType: client-secret + secret: ${AUTH_SERVER_INGRESS_CLIENT_SECRET} + standardFlowEnabled: true + directAccessGrantsEnabled: false + serviceAccountsEnabled: false + defaultClientScopes: + - profile + - email + - roles + protocolMappers: + - name: realm roles in id token + protocol: openid-connect + protocolMapper: oidc-usermodel-realm-role-mapper + config: + user.attribute: foo + claim.name: realm_access.roles + jsonType.label: String + multivalued: "true" + access.token.claim: "true" + id.token.claim: "true" + introspection.token.claim: "true" + redirectUris: + - http://auth.local.test/oauth2/callback + webOrigins: + - http://auth.local.test + rootUrl: http://auth.local.test + baseUrl: http://auth.local.test diff --git a/k8s/overlays/dev/keycloak/ingress-admin.yaml b/k8s/overlays/dev/keycloak/ingress-admin.yaml new file mode 100644 index 0000000..5af8855 --- /dev/null +++ b/k8s/overlays/dev/keycloak/ingress-admin.yaml @@ -0,0 +1,27 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: keycloak-admin + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/version: "26.6.1" + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web + traefik.ingress.kubernetes.io/router.middlewares: mnt-keycloak-security-headers@kubernetescrd +spec: + ingressClassName: traefik + rules: + - host: keycloak-admin.local.test + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http diff --git a/k8s/overlays/dev/keycloak/ingress-public.yaml b/k8s/overlays/dev/keycloak/ingress-public.yaml new file mode 100644 index 0000000..6321b04 --- /dev/null +++ b/k8s/overlays/dev/keycloak/ingress-public.yaml @@ -0,0 +1,48 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: keycloak-public + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/version: "26.6.1" + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web + traefik.ingress.kubernetes.io/router.middlewares: mnt-keycloak-security-headers@kubernetescrd # frameDeny 제외 — admin 콘솔의 silent SSO iframe 허용 +spec: + ingressClassName: traefik + rules: + - host: keycloak.local.test + http: + paths: + - path: /realms/ + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http + - path: /resources/ + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http + - path: /.well-known/ + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http + - path: /js/ + pathType: Prefix + backend: + service: + name: keycloak + port: + name: http diff --git a/k8s/overlays/dev/keycloak/keycloak-hostname-patch.yaml b/k8s/overlays/dev/keycloak/keycloak-hostname-patch.yaml new file mode 100644 index 0000000..91f45b6 --- /dev/null +++ b/k8s/overlays/dev/keycloak/keycloak-hostname-patch.yaml @@ -0,0 +1,8 @@ +apiVersion: k8s.keycloak.org/v2beta1 +kind: Keycloak +metadata: + name: keycloak +spec: + hostname: + hostname: http://keycloak.local.test + admin: http://keycloak-admin.local.test diff --git a/k8s/overlays/dev/keycloak/kustomization.yaml b/k8s/overlays/dev/keycloak/kustomization.yaml new file mode 100644 index 0000000..0d6b97a --- /dev/null +++ b/k8s/overlays/dev/keycloak/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../../base/app/identity/keycloak/stateless/keycloak + - vault-secrets.yaml + - middleware.yaml + - ingress-public.yaml + - ingress-admin.yaml + - networkpolicy.yaml + +patches: + - target: + kind: Keycloak + name: keycloak + path: keycloak-hostname-patch.yaml diff --git a/k8s/overlays/dev/keycloak/middleware.yaml b/k8s/overlays/dev/keycloak/middleware.yaml new file mode 100644 index 0000000..9f46671 --- /dev/null +++ b/k8s/overlays/dev/keycloak/middleware.yaml @@ -0,0 +1,15 @@ +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: keycloak-security-headers + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + headers: + browserXssFilter: true + contentTypeNosniff: true + referrerPolicy: strict-origin-when-cross-origin diff --git a/k8s/overlays/dev/keycloak/networkpolicy.yaml b/k8s/overlays/dev/keycloak/networkpolicy.yaml new file mode 100644 index 0000000..d5dcb66 --- /dev/null +++ b/k8s/overlays/dev/keycloak/networkpolicy.yaml @@ -0,0 +1,140 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: keycloak-peer + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + policyTypes: + - Ingress + - Egress + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + egress: + - to: + - podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: keycloak-ingress-traefik + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + podSelector: + matchLabels: + app.kubernetes.io/name: traefik + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: keycloak-egress-postgres + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + app.kubernetes.io/name: identity-postgres + app.kubernetes.io/instance: identity-postgres + ports: + - protocol: TCP + port: 5432 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: keycloak-ingress-auth-server + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + policyTypes: + - Ingress + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: auth-server + app.kubernetes.io/instance: auth-server + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: keycloak-ingress-oauth2-proxy + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/instance: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/instance: keycloak + app.kubernetes.io/managed-by: keycloak-operator + policyTypes: + - Ingress + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: oauth2-proxy + app.kubernetes.io/instance: oauth2-proxy + ports: + - protocol: TCP + port: 8080 diff --git a/k8s/overlays/dev/keycloak/vault-secrets.yaml b/k8s/overlays/dev/keycloak/vault-secrets.yaml new file mode 100644 index 0000000..daa536f --- /dev/null +++ b/k8s/overlays/dev/keycloak/vault-secrets.yaml @@ -0,0 +1,90 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: keycloak-bootstrap-admin +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + type: kv-v2 + path: keycloak/bootstrap-admin + refreshAfter: 60s + destination: + name: keycloak-bootstrap-admin + create: true + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/managed-by: vault-secrets-operator +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: keycloak-bootstrap-admin-operator +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + type: kv-v2 + path: keycloak/bootstrap-admin + refreshAfter: 60s + destination: + name: keycloak-bootstrap-admin-operator + create: true + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + excludeRaw: true + templates: + username: + text: '{{ .Secrets.KEYCLOAK_ADMIN }}' + password: + text: '{{ .Secrets.KEYCLOAK_ADMIN_PASSWORD }}' +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: keycloak-db-operator +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + type: kv-v2 + path: keycloak/db + refreshAfter: 60s + destination: + name: keycloak-db-operator + create: true + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/component: database + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + excludeRaw: true + templates: + username: + text: keycloak + password: + text: '{{ .Secrets.password }}' +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: keycloak-client-auth-server-ingress +spec: + vaultAuthRef: vault-auth-auth-platform + mount: secret + type: kv-v2 + path: keycloak/clients/auth-server-ingress + refreshAfter: 60s + destination: + name: keycloak-client-auth-server-ingress + create: true + labels: + app.kubernetes.io/name: keycloak + app.kubernetes.io/component: identity-provider + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + excludeRaw: true + templates: + client-secret: + text: '{{ .Secrets.client_secret }}' diff --git a/k8s/overlays/dev/kustomization.yaml b/k8s/overlays/dev/kustomization.yaml new file mode 100644 index 0000000..d5d9192 --- /dev/null +++ b/k8s/overlays/dev/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../base/managing + - networkpolicy-baseline.yaml + - vault + - registry + - database + - auth + - keycloak + - storage + - keycloak-realm + +components: + - ../../components/forward-auth diff --git a/k8s/overlays/dev/networkpolicy-baseline.yaml b/k8s/overlays/dev/networkpolicy-baseline.yaml new file mode 100644 index 0000000..fde5bb9 --- /dev/null +++ b/k8s/overlays/dev/networkpolicy-baseline.yaml @@ -0,0 +1,43 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: default-deny-all + labels: + app.kubernetes.io/name: namespace-baseline + app.kubernetes.io/instance: mnt + app.kubernetes.io/component: network-policy + app.kubernetes.io/part-of: infra-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: {} + policyTypes: + - Ingress + - Egress +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-dns-egress + labels: + app.kubernetes.io/name: namespace-baseline + app.kubernetes.io/instance: mnt + app.kubernetes.io/component: network-policy + app.kubernetes.io/part-of: infra-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: {} + policyTypes: + - Egress + egress: + - to: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + podSelector: + matchLabels: + k8s-app: kube-dns + ports: + - protocol: UDP + port: 53 + - protocol: TCP + port: 53 diff --git a/k8s/overlays/dev/platform/cert-manager/kustomization.yaml b/k8s/overlays/dev/platform/cert-manager/kustomization.yaml new file mode 100644 index 0000000..b9138ad --- /dev/null +++ b/k8s/overlays/dev/platform/cert-manager/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - https://github.com/cert-manager/cert-manager/releases/download/v1.20.2/cert-manager.yaml diff --git a/k8s/overlays/dev/platform/keycloak-operator/kustomization.yaml b/k8s/overlays/dev/platform/keycloak-operator/kustomization.yaml new file mode 100644 index 0000000..40f3471 --- /dev/null +++ b/k8s/overlays/dev/platform/keycloak-operator/kustomization.yaml @@ -0,0 +1,39 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/26.6.1/kubernetes/keycloaks.k8s.keycloak.org-v1.yml + - https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/26.6.1/kubernetes/keycloakrealmimports.k8s.keycloak.org-v1.yml + - https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/26.6.1/kubernetes/kubernetes.yml + - networkpolicy.yaml + +patches: + - target: + kind: ClusterRoleBinding + name: keycloak-operator-clusterrole-binding + patch: |- + - op: replace + path: /subjects/0/namespace + value: mnt + - target: + kind: Deployment + name: keycloak-operator + patch: |- + - op: add + path: /spec/template/spec/securityContext + value: + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + - op: add + path: /spec/template/spec/containers/0/securityContext + value: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + - op: replace + path: /spec/template/spec/containers/0/startupProbe/failureThreshold + value: 18 diff --git a/k8s/overlays/dev/platform/keycloak-operator/networkpolicy.yaml b/k8s/overlays/dev/platform/keycloak-operator/networkpolicy.yaml new file mode 100644 index 0000000..b08c881 --- /dev/null +++ b/k8s/overlays/dev/platform/keycloak-operator/networkpolicy.yaml @@ -0,0 +1,29 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: keycloak-operator-egress-kubernetes-api + labels: + app.kubernetes.io/name: keycloak-operator + app.kubernetes.io/instance: keycloak-operator + app.kubernetes.io/component: identity-operator + app.kubernetes.io/part-of: auth-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: keycloak-operator + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 10.43.0.0/16 + ports: + - protocol: TCP + port: 443 + - to: + - ipBlock: + cidr: 10.208.141.0/24 + ports: + - protocol: TCP + port: 6443 diff --git a/k8s/overlays/dev/platform/traefik/dashboard-service.yaml b/k8s/overlays/dev/platform/traefik/dashboard-service.yaml new file mode 100644 index 0000000..b209a0e --- /dev/null +++ b/k8s/overlays/dev/platform/traefik/dashboard-service.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Service +metadata: + name: traefik-dashboard + labels: + app.kubernetes.io/name: traefik + app.kubernetes.io/instance: traefik-dev + app.kubernetes.io/component: ingress-controller + app.kubernetes.io/part-of: platform + app.kubernetes.io/managed-by: kustomize +spec: + type: ClusterIP + selector: + app.kubernetes.io/name: traefik + app.kubernetes.io/instance: traefik-kube-system + ports: + - name: admin + port: 8080 + targetPort: traefik + protocol: TCP + appProtocol: http diff --git a/k8s/overlays/dev/platform/traefik/helmchartconfig.yaml b/k8s/overlays/dev/platform/traefik/helmchartconfig.yaml new file mode 100644 index 0000000..ef20c3f --- /dev/null +++ b/k8s/overlays/dev/platform/traefik/helmchartconfig.yaml @@ -0,0 +1,44 @@ +apiVersion: helm.cattle.io/v1 +kind: HelmChartConfig +metadata: + name: traefik + labels: + app.kubernetes.io/name: traefik + app.kubernetes.io/instance: traefik-dev + app.kubernetes.io/component: ingress-controller + app.kubernetes.io/part-of: platform + app.kubernetes.io/managed-by: kustomize +spec: + valuesContent: |- + api: + dashboard: true + deployment: + replicas: 2 + ingressRoute: + dashboard: + enabled: true + entryPoints: + - traefik + service: + spec: + externalTrafficPolicy: Local + ports: + web: + tls: + enabled: false + websecure: + tls: + enabled: false + ingressClass: + enabled: true + isDefaultClass: true + additionalArguments: + - "--providers.kubernetesingress.ingressclass=traefik" + - "--metrics.prometheus=true" + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 256Mi diff --git a/k8s/overlays/dev/platform/traefik/kustomization.yaml b/k8s/overlays/dev/platform/traefik/kustomization.yaml new file mode 100644 index 0000000..c0c13e9 --- /dev/null +++ b/k8s/overlays/dev/platform/traefik/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: kube-system + +resources: + - dashboard-service.yaml + - helmchartconfig.yaml + - middleware.yaml diff --git a/k8s/overlays/dev/platform/traefik/middleware.yaml b/k8s/overlays/dev/platform/traefik/middleware.yaml new file mode 100644 index 0000000..45160de --- /dev/null +++ b/k8s/overlays/dev/platform/traefik/middleware.yaml @@ -0,0 +1,16 @@ +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: security-headers + labels: + app.kubernetes.io/name: traefik + app.kubernetes.io/instance: traefik-dev + app.kubernetes.io/component: ingress-controller + app.kubernetes.io/part-of: platform + app.kubernetes.io/managed-by: kustomize +spec: + headers: + contentTypeNosniff: true + browserXssFilter: true + referrerPolicy: strict-origin-when-cross-origin + frameDeny: true diff --git a/k8s/overlays/dev/registry/ingress-public.yaml b/k8s/overlays/dev/registry/ingress-public.yaml new file mode 100644 index 0000000..98f2736 --- /dev/null +++ b/k8s/overlays/dev/registry/ingress-public.yaml @@ -0,0 +1,27 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: docker-registry-public + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + app.kubernetes.io/version: "2.8.3" + app.kubernetes.io/component: registry + app.kubernetes.io/part-of: platform-registry + app.kubernetes.io/managed-by: kustomize + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web + traefik.ingress.kubernetes.io/router.middlewares: kube-system-security-headers@kubernetescrd,mnt-docker-registry-basic-auth@kubernetescrd +spec: + ingressClassName: traefik + rules: + - host: registry.project.com + http: + paths: + - path: /v2 + pathType: Prefix + backend: + service: + name: docker-registry + port: + name: http diff --git a/k8s/overlays/dev/registry/kustomization.yaml b/k8s/overlays/dev/registry/kustomization.yaml new file mode 100644 index 0000000..76ac1f6 --- /dev/null +++ b/k8s/overlays/dev/registry/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../../base/plugins/docker-registry + - vault-secrets.yaml + - middleware.yaml + - ingress-public.yaml + - networkpolicy.yaml diff --git a/k8s/overlays/dev/registry/middleware.yaml b/k8s/overlays/dev/registry/middleware.yaml new file mode 100644 index 0000000..dc51cc5 --- /dev/null +++ b/k8s/overlays/dev/registry/middleware.yaml @@ -0,0 +1,14 @@ +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: docker-registry-basic-auth + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + app.kubernetes.io/component: registry + app.kubernetes.io/part-of: platform-registry + app.kubernetes.io/managed-by: kustomize +spec: + basicAuth: + secret: docker-registry-basic-auth + realm: docker-registry diff --git a/k8s/overlays/dev/registry/networkpolicy.yaml b/k8s/overlays/dev/registry/networkpolicy.yaml new file mode 100644 index 0000000..708929e --- /dev/null +++ b/k8s/overlays/dev/registry/networkpolicy.yaml @@ -0,0 +1,82 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: docker-registry-ingress-intra + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + app.kubernetes.io/component: registry + app.kubernetes.io/part-of: platform-registry + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + policyTypes: + - Ingress + ingress: + - from: + - podSelector: {} + ports: + - protocol: TCP + port: 5000 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: docker-registry-ingress-traefik + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + app.kubernetes.io/component: registry + app.kubernetes.io/part-of: platform-registry + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + podSelector: + matchLabels: + app.kubernetes.io/name: traefik + ports: + - protocol: TCP + port: 5000 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: docker-registry-egress-minio + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + app.kubernetes.io/component: registry + app.kubernetes.io/part-of: platform-registry + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/instance: docker-registry + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + v1.min.io/tenant: minio + ports: + - protocol: TCP + port: 80 + - protocol: TCP + port: 443 + - protocol: TCP + port: 9000 diff --git a/k8s/overlays/dev/registry/vault-secrets.yaml b/k8s/overlays/dev/registry/vault-secrets.yaml new file mode 100644 index 0000000..52d5ab0 --- /dev/null +++ b/k8s/overlays/dev/registry/vault-secrets.yaml @@ -0,0 +1,83 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: docker-registry-minio +spec: + vaultAuthRef: vault-auth-storage + mount: secret + type: kv-v2 + path: docker-registry/minio + refreshAfter: 60s + destination: + name: docker-registry-minio + create: true + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/component: registry + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + excludeRaw: true + templates: + REGISTRY_STORAGE_S3_ACCESSKEY: + text: '{{ .Secrets.access_key }}' + REGISTRY_STORAGE_S3_SECRETKEY: + text: '{{ .Secrets.secret_key }}' +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: docker-registry-basic-auth +spec: + vaultAuthRef: vault-auth-storage + mount: secret + type: kv-v2 + path: docker-registry/basic-auth + refreshAfter: 60s + destination: + name: docker-registry-basic-auth + create: true + overwrite: true + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/component: registry + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + excludeRaw: true + excludes: + - .* + templates: + users: + text: '{{ .Secrets.users }}' +--- +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: docker-registry-pull-credentials +spec: + vaultAuthRef: vault-auth-storage + mount: secret + type: kv-v2 + path: docker-registry/basic-auth + refreshAfter: 60s + destination: + name: docker-registry-pull-credentials + create: true + type: kubernetes.io/dockerconfigjson + labels: + app.kubernetes.io/name: docker-registry + app.kubernetes.io/component: registry + app.kubernetes.io/managed-by: vault-secrets-operator + transformation: + excludeRaw: true + templates: + .dockerconfigjson: + text: | + { + "auths": { + "registry.project.com": { + "username": "{{ .Secrets.username }}", + "password": "{{ .Secrets.password }}", + "auth": "{{ printf "%s:%s" .Secrets.username .Secrets.password | b64enc }}" + } + } + } diff --git a/k8s/overlays/dev/storage/kustomization.yaml b/k8s/overlays/dev/storage/kustomization.yaml new file mode 100644 index 0000000..317200e --- /dev/null +++ b/k8s/overlays/dev/storage/kustomization.yaml @@ -0,0 +1,27 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../../base/app/storage/minio/stateful/minio + - vault-secrets.yaml + - networkpolicy.yaml + +patches: + - target: + group: minio.min.io + version: v2 + kind: Tenant + name: minio + patch: |- + - op: replace + path: /spec/certConfig/dnsNames + value: + - minio + - minio-hl + - minio.mnt.svc.cluster.local + - "*.minio-hl.mnt.svc.cluster.local" + - op: replace + path: /spec/requestAutoCert + value: false diff --git a/k8s/overlays/dev/storage/networkpolicy.yaml b/k8s/overlays/dev/storage/networkpolicy.yaml new file mode 100644 index 0000000..3e33308 --- /dev/null +++ b/k8s/overlays/dev/storage/networkpolicy.yaml @@ -0,0 +1,140 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: minio-ingress-peer + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + v1.min.io/tenant: minio + policyTypes: + - Ingress + ingress: + - from: + - podSelector: + matchLabels: + v1.min.io/tenant: minio + ports: + - protocol: TCP + port: 9000 + - protocol: TCP + port: 9001 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: minio-ingress-operator + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + v1.min.io/tenant: minio + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: minio-operator + podSelector: + matchLabels: + app.kubernetes.io/instance: minio-operator + app.kubernetes.io/name: operator + ports: + - protocol: TCP + port: 9000 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: minio-ingress-clients + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + v1.min.io/tenant: minio + policyTypes: + - Ingress + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/part-of: auth-platform + - podSelector: + matchLabels: + app.kubernetes.io/part-of: platform-registry + ports: + - protocol: TCP + port: 9000 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: minio-egress-peer + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + v1.min.io/tenant: minio + policyTypes: + - Egress + egress: + - to: + - podSelector: + matchLabels: + v1.min.io/tenant: minio + ports: + - protocol: TCP + port: 9000 + - protocol: TCP + port: 9001 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: minio-egress-kubernetes-api + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/instance: minio + app.kubernetes.io/component: object-storage + app.kubernetes.io/part-of: storage-platform + app.kubernetes.io/managed-by: kustomize +spec: + podSelector: + matchLabels: + v1.min.io/tenant: minio + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 10.43.0.0/16 + ports: + - protocol: TCP + port: 443 + - to: + - ipBlock: + cidr: 10.208.141.0/24 + ports: + - protocol: TCP + port: 6443 diff --git a/k8s/overlays/dev/storage/vault-secrets.yaml b/k8s/overlays/dev/storage/vault-secrets.yaml new file mode 100644 index 0000000..e41ed63 --- /dev/null +++ b/k8s/overlays/dev/storage/vault-secrets.yaml @@ -0,0 +1,17 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: minio-tenant-env +spec: + vaultAuthRef: vault-auth-storage + mount: secret + type: kv-v2 + path: minio/tenant-env + refreshAfter: 60s + destination: + name: minio-tenant-env + create: true + labels: + app.kubernetes.io/name: minio + app.kubernetes.io/component: object-storage + app.kubernetes.io/managed-by: vault-secrets-operator diff --git a/k8s/overlays/dev/vault/kustomization.yaml b/k8s/overlays/dev/vault/kustomization.yaml new file mode 100644 index 0000000..c0119e8 --- /dev/null +++ b/k8s/overlays/dev/vault/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../../base/plugins/vault + - networkpolicy.yaml + +patches: + - target: + kind: StatefulSet + name: vault + patch: |- + - op: replace + path: /spec/volumeClaimTemplates/0/spec/resources/requests/storage + value: 1Gi diff --git a/k8s/overlays/dev/vault/networkpolicy.yaml b/k8s/overlays/dev/vault/networkpolicy.yaml new file mode 100644 index 0000000..4be9889 --- /dev/null +++ b/k8s/overlays/dev/vault/networkpolicy.yaml @@ -0,0 +1,76 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: vault-ingress-clients + labels: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault + app.kubernetes.io/component: secret-management + app.kubernetes.io/part-of: security-platform + app.kubernetes.io/managed-by: kustomize +# ----------------------------------------------------------------------------- +# Vault 정책 — 두 방향 통제 +# +# (1) Ingress: VSO Controller Pod 에서만 8200 수신 +# VSO 가 `vault-secrets-operator-system` ns 와 `mnt` ns 양쪽에서 접근할 +# 가능성 (과거 설치 잔존 + 신규 전용 ns) 이 있어 둘 다 허용. +# +# (2) Egress: kube-apiserver 의 TokenReview 호출만 허용 +# Vault k8s auth 는 클라이언트가 보낸 SA JWT 를 검증하기 위해 +# `authentication.k8s.io/v1/tokenreviews` 를 호출한다. kube-apiserver 는 +# host network 프로세스이므로 Pod/Namespace 라벨로 selector 를 못 쓰고 +# ipBlock 이 불가피 (stock NetworkPolicy 의 한계; Cilium 이면 +# `toEntities: [kube-apiserver]` 로 해결됨). +# +# 두 CIDR 이 필요한 이유: +# - 443/TCP → `kubernetes.default.svc` (Service ClusterIP). Vault 가 +# 먼저 보내는 목적지. Service CIDR 에서 할당됨. +# - 6443/TCP → control-plane 노드의 실제 kube-apiserver 포트. k3s 의 +# kube-proxy(iptables) 가 Service → node DNAT 를 수행하는데, 기본 +# CNI (flannel + kube-router) 는 NetworkPolicy 를 veth iptables 단에서 +# 평가하면서 DNAT 전/후 시점이 엇갈려 두 쪽 모두 허용해야 안전. +# +# CIDR 값의 출처: +# - 10.43.0.0/16 → k3s `service-cidr` 기본값. `/etc/rancher/k3s/config.yaml` +# 의 값과 동기화. 커스텀 service-cidr 를 쓰면 이 값을 맞춰 변경. +# - 10.208.141.0/24 → **이 overlay 의 control-plane 노드 서브넷**. +# 노드를 추가/교체하거나 staging/prod overlay 를 만들 때 실제 값으로 +# 반드시 재지정. dev 단일 노드 기준으로 /24 여유를 둠. +# +# staging/prod overlay 는 이 파일을 그대로 복붙하지 말고 각자의 서브넷으로 +# 교체. 재사용 구조가 필요해지면 base + per-env patch 로 분리할 것. +# ----------------------------------------------------------------------------- +spec: + podSelector: + matchLabels: + app.kubernetes.io/name: vault + app.kubernetes.io/instance: vault + policyTypes: + - Ingress + - Egress + ingress: + - from: + - podSelector: + matchLabels: + app.kubernetes.io/name: vault-secrets-operator + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: vault-secrets-operator-system + podSelector: + matchLabels: + app.kubernetes.io/name: vault-secrets-operator + ports: + - protocol: TCP + port: 8200 + egress: + # Vault → kube-apiserver (TokenReview 용) + - to: + - ipBlock: + cidr: 10.43.0.0/16 # k3s service-cidr — kubernetes.default.svc 포함 + - ipBlock: + cidr: 10.208.141.0/24 # dev control-plane 노드 서브넷 (env-specific) + ports: + - protocol: TCP + port: 443 # Service ClusterIP 경유 + - protocol: TCP + port: 6443 # node DNAT 후 kube-apiserver 실포트 diff --git a/k8s/overlays/dev/vso/kustomization.yaml b/k8s/overlays/dev/vso/kustomization.yaml new file mode 100644 index 0000000..bb2f91c --- /dev/null +++ b/k8s/overlays/dev/vso/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: mnt + +resources: + - ../../../base/plugins/vso diff --git a/k8s/scripts/AGENTS.md b/k8s/scripts/AGENTS.md new file mode 100644 index 0000000..c1d8f72 --- /dev/null +++ b/k8s/scripts/AGENTS.md @@ -0,0 +1,43 @@ +# k8s/scripts AGENTS + +Role: +- own helper automation for render, diff, apply, validate, backup, restore, and CI checks +- support Kustomize and operations workflows without replacing declarative ownership + +Allowed: +- bash entrypoints +- shell libraries +- CI validation scripts +- backup / restore helper scripts +- wrapper commands around `kubectl kustomize`, `kubectl diff -k`, `kubectl apply -k` + +Forbidden: +- scripts becoming the primary source of YAML truth +- large heredoc-generated manifests as the default path +- embedding production secret values +- hiding environment differences in shell conditionals instead of overlays +- giant all-in-one deploy scripts that mix unrelated concerns + +Read first: +- `/docs/standards/infra/scripts.md` +- `/docs/standards/infra/kustomize.md` +- `/docs/standards/infra/operations-runbook-upgrade-rollback.md` +- `/docs/standards/infra/backup-restore.md` +- `/docs/standards/infra/k3s-specific.md` + +Examples: +- `/docs/examples/infra/scripts.md` +- `/docs/examples/infra/kustomize.md` +- `/docs/examples/infra/backup-restore.md` +- `/docs/examples/infra/operations-runbook-upgrade-rollback.md` +- `/docs/examples/infra/k3s-specific.md` + +Rules: +- scripts are helpers, not source of truth +- prefer bash +- non-trivial scripts use functions + `main "$@"` +- use `local` for function-local variables +- ShellCheck must pass +- prefer render -> diff -> apply flow +- destructive actions require explicit opt-in +- environment/context/namespace must be explicit, not implicit diff --git a/k8s/scripts/README.md b/k8s/scripts/README.md new file mode 100644 index 0000000..8952393 --- /dev/null +++ b/k8s/scripts/README.md @@ -0,0 +1,80 @@ +# Kubernetes Scripts + +Imperative bootstrap, teardown, and break-glass operations for the `mnt` infra +stack. 선언적 관리(Service/Job/DB rollout 등)는 Kustomize 패키지의 몫이고, +여기 스크립트는 **phase orchestration** 과 **one-shot imperative setup** +(Vault init / unseal, Helm install) 만 담당한다. + +## Layout + +``` +scripts/ +├── bin/ # 사용자가 직접 실행하는 엔트리 포인트 (main "$@") +│ ├── bootstrap.sh # 전체 스택 부트스트랩 +│ └── teardown.sh # 전체 스택 제거 +├── tasks/ # bin/ 이 호출하는 단일 책임 태스크 +│ ├── minio-operator-install.sh +│ ├── vault-init.sh # Vault init + unseal + k8s auth + policy/role +│ ├── vault-seed-apps.sh # 앱 시크릿 5 개 Vault KV 에 seed +│ ├── vault-setup-admin.sh +│ └── vso-install.sh # VSO Helm upgrade --install +├── lib/ # 공유 쉘 라이브러리 +│ ├── common.sh # log/die, retry, confirm, kube-context 가드, finalizer 헬퍼 +│ └── vault.sh # vault_exec 래퍼, 로그인/unseal 유틸 +└── ci/ + └── validate.sh # kustomize build + kubeconform + kube-linter + shellcheck + shfmt +``` + +## Entry points + +```bash +# 부트스트랩 (대화형, bash history 안전) +bash k8s/scripts/bin/bootstrap.sh <dev|staging|prod> + +# 제거 (정상 경로) +bash k8s/scripts/bin/teardown.sh <dev|staging|prod> +CONFIRM=yes bash k8s/scripts/bin/teardown.sh <dev|staging|prod> + +# 로컬/CI 품질 게이트 +bash k8s/scripts/ci/validate.sh +``` + +## 필수 환경 변수 (안전 가드) + +쉘 rc 에 한 번 선언: + +```bash +export KUBE_CONTEXT_DEV="homelab" +export KUBE_CONTEXT_STAGING="staging-cluster" +export KUBE_CONTEXT_PROD="prod-cluster" +``` + +- `bin/bootstrap.sh` 와 `bin/teardown.sh` 는 `ENV_NAME` 에 대응하는 + `KUBE_CONTEXT_<ENV>` 와 `kubectl config current-context` 가 일치하는지 + **실행 전 검증**한다. 매핑이 없으면 대화형으로 현재 context 이름 재입력을 + 요구한다. +- `env=prod` destructive 작업은 `ALLOW_PROD_DESTRUCTIVE=yes` 와 namespace + 이름 재입력 TTY 확인이 추가로 필요하다. + +## 파괴적 플래그 + +| 플래그 | 범위 | 효과 | +| --- | --- | --- | +| `CONFIRM=yes` | 두 엔트리 | 대화형 확인 프롬프트 자동 승인 (CI) | +| `SKIP_DIFF=yes` | bootstrap | Phase 3 의 `kubectl diff` preview 생략 (비권장) | +| `RESET_STALE_SECRETS=yes` | bootstrap | VSO-managed K8s Secret 을 선제 삭제 (Vault 값 재주입 유도) | +| `VAULT_KEYS_FILE=<path>` | bootstrap | Vault init key 저장 위치. **env=prod 는 repo 바깥 경로 필수** | +| `FORCE_FINALIZERS=yes` | teardown | Phase 6 활성 — finalizer 강제 제거 + `/finalize` API. Terminating 복구 외 금지 | +| `ALLOW_PROD_DESTRUCTIVE=yes` | teardown | env=prod teardown 허용 (namespace 재입력 추가 확인 필요) | +| `TEARDOWN_VSO_OPERATOR=yes` | teardown | **클러스터 공용** VSO Helm 릴리즈 + 전용 namespace + `vault-tokenreview-binding` 제거. 다른 env 의 Vault/VSO 가 함께 멈춤 | +| `TEARDOWN_VSO_CRDS=yes` | teardown | **클러스터 공용** VSO CRD + ClusterRole/CRB/Webhook 제거. 모든 env 의 VaultStaticSecret 인스턴스가 삭제됨 | +| `TEARDOWN_MINIO_OPERATOR=yes` | teardown | MinIO Operator Helm 릴리즈까지 제거 | + +## Rules + +- 서비스 단위 스크립트를 새로 만들지 않는다. +- Service / Job / Scheduler / DB rollout 은 Kustomize 패키지에서 선언. +- 스크립트는 phase orchestration 이지 Kubernetes 리소스 스펙의 출처가 아니다. +- 비트리비얼 스크립트는 `functions + main "$@"` 구조를 따른다. +- 모든 `.sh` 는 `ci/validate.sh` 의 `shellcheck -S style` + `shfmt -i 2 -bn -ci` + 를 통과해야 한다. diff --git a/k8s/scripts/bin/bootstrap.sh b/k8s/scripts/bin/bootstrap.sh new file mode 100755 index 0000000..99dc65e --- /dev/null +++ b/k8s/scripts/bin/bootstrap.sh @@ -0,0 +1,346 @@ +#!/usr/bin/env bash +# Entry point: bootstrap the full infra stack for a given environment. +# +# Phases: +# 0. MinIO Operator Helm install (tasks/minio-operator-install.sh) +# 1. Apply namespace + PSS labels (kubectl apply -k base/managing/namespace) +# 2. (optional) Reset stale K8s Secrets (RESET_STALE_SECRETS=yes 일 때만) +# 2.5 VSO CRD 선행 설치 (VaultStaticSecret CR 가 overlay 에 포함돼 있어) +# 2.6 cert-manager 선행 설치 (ClusterIssuer / Certificate CR 가 overlay 에 포함돼 있어) +# 2.7 Keycloak Operator 선행 설치 (Keycloak / KeycloakRealmImport CR 가 overlay 에 포함돼 있어) +# 2.8 Traefik HelmChartConfig + Middleware/TLSOption (kube-system 에 배치 — root overlay 의 `namespace: mnt` 와 충돌하므로 별도 apply) +# 3. Render + diff + confirm + apply overlay (--server-side --field-manager=project-infra-bootstrap) +# 4. Wait for vault-0 Running +# 5. Vault init + unseal + KV + k8s auth + policy / role (tasks/vault-init.sh) +# 6. Seed application secrets (tasks/vault-seed-apps.sh) +# 7. Helm install VSO (tasks/vso-install.sh) +# 8. Apply VSO CRs (kubectl apply -k overlays/<env>/vso/) +# 9. MinIO docker-registry bucket/user/policy 프로비저닝 (tasks/minio-provision-registry.sh) +# +# 대화형 실행 (bash history 에 비밀번호 남지 않음): +# bash k8s/scripts/bin/bootstrap.sh dev +# +# Required context (안전 가드): +# KUBE_CONTEXT_DEV / KUBE_CONTEXT_STAGING / KUBE_CONTEXT_PROD +# 또는 KUBE_CONTEXT= 로 명시. 쉘 rc 에 선언해 두면 현재 kubectl context +# 와 일치 여부를 자동 검증한다. 매핑이 없으면 대화형으로 context 이름 +# 재입력을 요구. +# +# Optional env: +# RESET_STALE_SECRETS=yes 이미 있는 VSO-managed K8s Secret 을 삭제 후 재생성 +# VAULT_KEYS_FILE=<path> env=prod 필수 — repo 바깥 경로 +# SKIP_DIFF=yes Phase 3 의 kubectl diff preview 생략 +# CONFIRM=yes 대화형 프롬프트 자동 승인 (CI) + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" + +REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)" +K8S_ROOT="$REPO_ROOT/k8s" +TASKS_DIR="$SCRIPT_DIR/../tasks" +export REPO_ROOT + +NAMESPACE="mnt" +FIELD_MANAGER="project-infra-bootstrap" + +# VSO 가 관리하는 K8s Secret 이름 목록 (기존 찌꺼기 감지용) +VSO_MANAGED_SECRETS=( + identity-postgres-superuser + keycloak-db + keycloak-db-operator + auth-server-db + keycloak-bootstrap-admin + keycloak-bootstrap-admin-operator + keycloak-client-auth-server-ingress + minio-tenant-env + docker-registry-minio +) + +usage() { + cat >&2 <<EOF +Usage: bin/bootstrap.sh <dev|staging|prod> + +Required env (권장 — 쉘 rc 에 선언): + KUBE_CONTEXT_DEV / KUBE_CONTEXT_STAGING / KUBE_CONTEXT_PROD env → kubectl context 매핑 + (또는 KUBE_CONTEXT=<name> 로 한 번만 overrides) + +Options: + RESET_STALE_SECRETS=yes 이미 존재하는 VSO-managed Secret 을 삭제 후 재생성 + VAULT_KEYS_FILE=<path> env=prod 필수 — repo 바깥 경로 + SKIP_DIFF=yes Phase 3 diff preview 생략 (비권장) + CONFIRM=yes 대화형 확인 자동 승인 (CI) +EOF + exit 1 +} + +precheck_namespace() { + if ! ns_exists "$NAMESPACE"; then + log "Precheck: namespace '$NAMESPACE' 없음 — 신규 생성 흐름" + return 0 + fi + local phase + phase="$(ns_phase "$NAMESPACE")" + if [[ "$phase" == "Terminating" ]]; then + err "namespace '$NAMESPACE' 가 Terminating 상태입니다." + err "이전 teardown 이 완료되지 않아 새 리소스 생성이 불가능합니다." + err "" + err "복구 절차:" + err " 1) 이전 teardown 을 마저 끝내기:" + err " CONFIRM=yes bash k8s/scripts/bin/teardown.sh $ENV_NAME" + err " 2) namespace 가 완전히 사라진 걸 확인한 뒤 bootstrap 재실행:" + err " kubectl get namespace $NAMESPACE" + err " bash k8s/scripts/bin/bootstrap.sh $ENV_NAME" + die "bootstrap 중단" + fi + log "Precheck: namespace '$NAMESPACE' phase=$phase — 계속 진행" +} + +phase0_minio_operator() { + log "[0/9] MinIO Operator 설치 (Tenant CRD 선행)" + bash "$TASKS_DIR/minio-operator-install.sh" +} + +phase1_namespace() { + log "[1/9] Namespace + PSS 라벨 선행 apply" + kubectl apply -k "$K8S_ROOT/base/managing/namespace" \ + --server-side --field-manager="$FIELD_MANAGER" + retry 5 1 kubectl get namespace "$NAMESPACE" >/dev/null +} + +phase2_reset_stale_secrets() { + log "[2/9] 기존 VSO-managed K8s Secret 점검" + local stale_found=0 s + for s in "${VSO_MANAGED_SECRETS[@]}"; do + if kubectl -n "$NAMESPACE" get secret "$s" >/dev/null 2>&1; then + stale_found=$((stale_found + 1)) + if [[ "${RESET_STALE_SECRETS:-}" == "yes" ]]; then + log " 삭제: $s (RESET_STALE_SECRETS=yes)" + kubectl -n "$NAMESPACE" delete secret "$s" --ignore-not-found + else + warn " $s 이미 존재 (VSO 가 덮어쓰지 않음). Vault 값 반영이 필요하면 RESET_STALE_SECRETS=yes 로 재실행하거나 수동 삭제하세요." + fi + fi + done + (( stale_found == 0 )) && log " 기존 Secret 없음" +} + +phase2_5_vso_crds() { + # overlays/<env>/{database,keycloak,storage}/vault-secrets.yaml 에 VaultStaticSecret + # CR 들이 포함돼 있어, Phase 3 overlay apply 시점에 CRD 가 없으면 "resource mapping + # not found" 로 실패. Helm 차트 install 은 Phase 7 이므로 CRD 만 선행 적용. + log "[2.5/9] VSO CRD 선행 설치" + local version="${VSO_VERSION:-0.9.0}" + helm repo add hashicorp https://helm.releases.hashicorp.com >/dev/null 2>&1 || true + helm repo update hashicorp >/dev/null + helm show crds hashicorp/vault-secrets-operator --version "$version" \ + | kubectl apply -f - --server-side --field-manager="$FIELD_MANAGER" +} + +# cert-manager 전체 (CRD + namespace + controller + webhook) 을 overlay 밖에서 +# 선행 설치. 이후 phase 3 에서 overlay 가 참조하는 ClusterIssuer / Certificate CR +# 이 등록될 수 있다. CRD established 대기를 반드시 건다 — deploy/webhook 가 +# Ready 되기 전에 Certificate CR apply 시 admission webhook 이 거부함. +phase2_6_cert_manager() { + log "[2.6/9] cert-manager 선행 설치" + kubectl apply -k "$K8S_ROOT/overlays/$ENV_NAME/platform/cert-manager" \ + --server-side --field-manager="$FIELD_MANAGER" + + log " cert-manager CRD established 대기" + retry 30 2 kubectl wait --for=condition=Established --timeout=10s \ + crd/clusterissuers.cert-manager.io \ + crd/certificates.cert-manager.io \ + crd/certificaterequests.cert-manager.io \ + crd/orders.acme.cert-manager.io \ + crd/challenges.acme.cert-manager.io + + log " cert-manager Deployment Available 대기" + retry 30 5 kubectl -n cert-manager wait --for=condition=Available --timeout=10s \ + deploy/cert-manager \ + deploy/cert-manager-webhook \ + deploy/cert-manager-cainjector +} + +# Keycloak Operator (CRDs + Operator Deployment) 선행 설치. Keycloak / +# KeycloakRealmImport CR 이 phase 3 에 포함되므로 CRD 등록이 먼저 되어야 한다. +phase2_7_keycloak_operator() { + log "[2.7/9] Keycloak Operator 선행 설치" + kubectl apply -k "$K8S_ROOT/overlays/$ENV_NAME/platform/keycloak-operator" \ + --server-side --field-manager="$FIELD_MANAGER" + + log " Keycloak Operator CRD established 대기" + retry 30 2 kubectl wait --for=condition=Established --timeout=10s \ + crd/keycloaks.k8s.keycloak.org \ + crd/keycloakrealmimports.k8s.keycloak.org + + log " Keycloak Operator Deployment Available 대기" + retry 60 5 kubectl -n "$NAMESPACE" wait --for=condition=Available --timeout=10s \ + deploy/keycloak-operator +} + +# kube-system Traefik 커스터마이징 — HelmChartConfig (K3s Helm-controller 가 +# 재수렴), Middleware (https-redirect / security-headers), TLSOption (modern-tls). +# root overlay 가 `namespace: mnt` 로 전역 주입하므로 kube-system 타깃 리소스는 +# 이 overlay 빌드에 포함시키지 않고 별도 apply 한다. +phase2_8_traefik() { + log "[2.8/9] Traefik HelmChartConfig + Middleware 적용 (kube-system)" + kubectl apply -k "$K8S_ROOT/overlays/$ENV_NAME/platform/traefik" \ + --server-side --field-manager="$FIELD_MANAGER" +} + +# render → server-side dry-run → diff → confirm → apply +# +# kubectl diff exit codes (GNU man page): +# 0 — 변경 없음 +# 1 — 변경 있음 (정상) +# >1 — 실행 오류 (RBAC / API 연결 / invalid manifest 등) +# 이전 구현은 `|| true` 로 모든 비-0 을 흡수해서 에러가 apply 까지 흘러갔다. +phase3_overlay_apply() { + log "[3/9] 인프라 overlay 배포 ($OVERLAY_DIR)" + + local tmpdir + tmpdir="$(mktemp -d -t project-infra-bootstrap.XXXXXX)" + trap_cleanup_path "$tmpdir" + + local rendered="$tmpdir/rendered.yaml" + kustomize build "$OVERLAY_DIR" > "$rendered" + log " render 완료: $(grep -c '^kind:' "$rendered") resources" + + # --- server-side dry-run: admission / RBAC / schema 를 API server 로 검증 --- + log " server-side dry-run 검증" + if ! kubectl apply -f "$rendered" --dry-run=server \ + --server-side --field-manager="$FIELD_MANAGER" \ + >"$tmpdir/dryrun.out" 2>&1; then + err " server-side dry-run 실패 — apply 중단" + sed 's/^/ /' "$tmpdir/dryrun.out" >&2 + die "dry-run 검증 실패" + fi + + # --- diff preview — 변경 있음(rc=1)은 정상, 실행 오류(rc>=2)는 die --- + if [[ "${SKIP_DIFF:-}" == "yes" ]]; then + warn " SKIP_DIFF=yes → diff preview 생략" + else + log " server-side diff preview (대용량이면 스크롤)" + local rc=0 + kubectl diff -f "$rendered" --server-side --field-manager="$FIELD_MANAGER" \ + >"$tmpdir/diff.out" 2>&1 || rc=$? + case "$rc" in + 0) log " (변경 없음)" ;; + 1) + if [[ -s "$tmpdir/diff.out" ]]; then + sed 's/^/ /' "$tmpdir/diff.out" >&2 + else + log " (diff 출력 없음)" + fi + ;; + *) + err " kubectl diff 실행 실패 (exit=$rc) — apply 중단" + sed 's/^/ /' "$tmpdir/diff.out" >&2 + die "diff 실패" + ;; + esac + fi + + confirm "위 변경사항을 env=$ENV_NAME context='$(kubectl config current-context)' 에 apply 하시겠습니까?" \ + || die "사용자 취소" + + kubectl apply -f "$rendered" --server-side --field-manager="$FIELD_MANAGER" + log " vault/registry/앱 워크로드 apply 완료" +} + +phase4_wait_vault_running() { + # Vault readiness probe 는 initialized+unsealed 일 때만 통과하므로 초기화 *전* + # 에는 Ready 가 될 수 없음 → Running 단계까지만 기다림. + log "[4/9] vault-0 Running 대기 (120s × 재시도 3회)" + retry 3 10 kubectl -n "$NAMESPACE" wait \ + --for=jsonpath='{.status.phase}'=Running pod/vault-0 --timeout=120s +} + +phase5_vault_init() { + log "[5/9] Vault 초기화 / unseal / auth / policy / role" + ENV_NAME="$ENV_NAME" bash "$TASKS_DIR/vault-init.sh" +} + +phase6_seed_apps() { + log "[6/9] 앱 시크릿 5 개 Vault KV 에 seed" + ENV_NAME="$ENV_NAME" bash "$TASKS_DIR/vault-seed-apps.sh" +} + +phase7_vso_install() { + log "[7/9] VSO Helm upgrade --install" + ENV_NAME="$ENV_NAME" bash "$TASKS_DIR/vso-install.sh" +} + +phase8_vso_crs() { + log "[8/9] VSO CR 적용 ($OVERLAY_DIR/vso/)" + kubectl apply -k "$OVERLAY_DIR/vso/" \ + --server-side --field-manager="$FIELD_MANAGER" +} + +# docker-registry 가 MinIO 를 S3 backend 로 쓰도록 bucket + 서비스 user + +# bucket-scoped policy 를 설정. MinIO Tenant 는 phase 8 에서 minio-tenant-env +# Secret 이 생긴 뒤 기동되므로 이 phase 는 반드시 phase 8 이후에 실행. +phase9_minio_provision_registry() { + log "[9/9] MinIO docker-registry bucket/user/policy 프로비저닝" + ENV_NAME="$ENV_NAME" bash "$TASKS_DIR/minio-provision-registry.sh" +} + +summary() { + log "============================================" + log " $ENV_NAME 부트스트랩 완료" + log "============================================" + log "unseal keys + root token: ${VAULT_KEYS_FILE:-$REPO_ROOT/vault-init-keys.json} (0600)" + log " → 오프라인 / 외부 KMS 로 즉시 이동하세요 (Git 반입 금지)" + log "" + log "앱 시크릿 5 개는 Phase 6 에서 입력/seed 됨." + log "조회: vault kv get -field=password secret/<path>" + log "" + log "다음 확인:" + log " kubectl -n $NAMESPACE get pods" + log " kubectl -n $NAMESPACE get secrets" + log " kubectl -n $NAMESPACE get vaultstaticsecret" +} + +main() { + ENV_NAME="${1:-}" + case "$ENV_NAME" in + dev|staging|prod) ;; + *) usage ;; + esac + + OVERLAY_DIR="$K8S_ROOT/overlays/$ENV_NAME" + [[ -d "$OVERLAY_DIR" ]] || die "overlay 디렉토리 없음: $OVERLAY_DIR" + + require_cmd kubectl helm jq kustomize + + # 안전 가드 — 실수 클러스터 apply 방지 + require_kube_context "$ENV_NAME" + + log "============================================" + log " Project-Infra 부트스트랩 ($ENV_NAME)" + log " context : $(kubectl config current-context)" + log "============================================" + + precheck_namespace + phase0_minio_operator + phase1_namespace + phase2_reset_stale_secrets + phase2_5_vso_crds + phase2_6_cert_manager + phase2_7_keycloak_operator + phase2_8_traefik + phase3_overlay_apply + phase4_wait_vault_running + phase5_vault_init + phase6_seed_apps + phase7_vso_install + phase8_vso_crs + phase9_minio_provision_registry + summary +} + +# Google shell style — 직접 실행일 때만 main 호출 (source 된 경우 함수만 노출). +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/k8s/scripts/bin/teardown.sh b/k8s/scripts/bin/teardown.sh new file mode 100755 index 0000000..9a1232f --- /dev/null +++ b/k8s/scripts/bin/teardown.sh @@ -0,0 +1,309 @@ +#!/usr/bin/env bash +# Entry point: tear down the full infra stack for a given environment. +# +# 체계적 정리 — 기본 경로는 "정상 API 삭제" 만 사용한다. finalizer 강제 제거와 +# /finalize API 호출 같은 파괴적 복구 경로는 별도 플래그 아래로 격리했다. +# +# Phases: +# 1. Precheck (namespace 존재 여부) +# 2. VSO CR 삭제 (controller 살아있을 때 정상 경로만) +# 3. VSO Helm uninstall +# 4. 인프라 overlay 삭제 (Vault / Registry / 앱) +# 5. namespace 삭제 +# 6. (opt) FORCE_FINALIZERS=yes 일 때만 — finalizer 강제 제거 + /finalize +# 7. Cluster-scoped 리소스 정리 (ClusterRoleBinding, VSO ClusterRole/Webhook/CRD) +# +# 대화형: +# bash k8s/scripts/bin/teardown.sh dev +# +# CI (비대화): +# CONFIRM=yes bash k8s/scripts/bin/teardown.sh dev +# +# Required context (bootstrap 과 동일한 안전 가드): +# KUBE_CONTEXT_<ENV_UPPER> 또는 KUBE_CONTEXT +# +# Destructive 플래그: +# FORCE_FINALIZERS=yes +# Phase 6 실행 — PVC / CRD / 모든 namespaced 리소스 finalizer 강제 제거 및 +# namespace /finalize 호출. PV 가 orphaned 되고 컨트롤러 정리 누락이 발생할 +# 수 있으므로 Terminating 복구 외 목적으로는 쓰지 말 것. +# +# ALLOW_PROD_DESTRUCTIVE=yes +# env=prod teardown 을 허용. 추가로 namespace 이름 재입력 TTY 확인이 필요. +# +# TEARDOWN_VSO_OPERATOR=yes +# Phase 3 에서 VSO Helm 릴리즈와 vault-secrets-operator-system namespace 까지 +# 제거. VSO operator 는 환경별이 아니라 **클러스터 공용** 이다. 다른 env 가 +# 같은 클러스터에 있으면 그쪽 VSO reconciliation 이 같이 멈춘다. +# Phase 7 의 vault-tokenreview-binding (cluster-scoped 이름 고정) 도 이 +# 플래그로 함께 삭제한다. VSO 를 완전히 내릴 때만 켜라. 기본은 skip. +# +# TEARDOWN_VSO_CRDS=yes +# Phase 7 에서 cluster-scoped VSO 리소스 (ClusterRole/CRB/Webhook/CRD) 를 +# 제거. CRD 는 클러스터 전체 공유라 같은 클러스터에 다른 env 가 있으면 +# 그쪽 인스턴스까지 날아간다. 단일-env-per-cluster 환경 또는 VSO 를 완전히 +# 버리려는 의도일 때만 켜라. 기본은 skip. +# +# TEARDOWN_MINIO_OPERATOR=yes +# MinIO Operator Helm 릴리즈도 제거 (기본 유지). + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" + +REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)" +K8S_ROOT="$REPO_ROOT/k8s" + +NAMESPACE="mnt" +VSO_NAMESPACE="${VSO_NAMESPACE:-vault-secrets-operator-system}" +VSO_RELEASE="${VSO_RELEASE:-vault-secrets-operator}" +VSO_CRD_KINDS=(vaultstaticsecret vaultauth vaultconnection) + +usage() { + cat >&2 <<EOF +Usage: bin/teardown.sh <dev|staging|prod> + +Required env: + KUBE_CONTEXT_DEV / KUBE_CONTEXT_STAGING / KUBE_CONTEXT_PROD + (또는 KUBE_CONTEXT=<name>) + +Options: + CONFIRM=yes 대화형 확인 자동 승인 + FORCE_FINALIZERS=yes Phase 6 (finalizer 강제 + /finalize) 활성화 + ALLOW_PROD_DESTRUCTIVE=yes env=prod teardown 허용 + namespace 재입력 필요 + TEARDOWN_VSO_OPERATOR=yes VSO Helm 릴리즈 + 전용 namespace + vault-tokenreview-binding + 모두 제거. VSO 는 클러스터 공용 플랫폼 리소스이므로 + 다른 env 의 reconciliation 이 함께 멈춤. + TEARDOWN_VSO_CRDS=yes VSO cluster-scoped 리소스 (ClusterRole/CRB/Webhook/CRD) + 제거. 클러스터 전체에 영향. + TEARDOWN_MINIO_OPERATOR=yes MinIO Operator 도 함께 제거 +EOF + exit 1 +} + +phase1_precheck() { + log "[1/7] Precheck" + if ns_exists "$NAMESPACE"; then + log " namespace $NAMESPACE phase=$(ns_phase "$NAMESPACE")" + else + log " namespace $NAMESPACE 없음 → 일부 phase 는 skip" + fi +} + +phase2_vso_cr_delete() { + log "[2/7] VSO CR 삭제" + if kubectl get -k "$OVERLAY_DIR/vso/" >/dev/null 2>&1; then + # 정상 API 삭제만 시도. 타임아웃 나도 Phase 6 (FORCE_FINALIZERS) 에 위임. + kubectl delete -k "$OVERLAY_DIR/vso/" --ignore-not-found \ + --wait=true --timeout=60s 2>&1 \ + || warn " VSO CR 삭제 타임아웃 — FORCE_FINALIZERS=yes 로 재실행하면 강제 해제" + else + log " VSO overlay 리소스 없음 → skip" + fi +} + +uninstall_vso_in_ns() { + local ns="$1" + kubectl get namespace "$ns" >/dev/null 2>&1 || return 0 + + # pre-delete hook Job 이 stuck 이면 uninstall 이 hang → 먼저 정리 + kubectl -n "$ns" get job -l app.kubernetes.io/instance="$VSO_RELEASE" -o name 2>/dev/null \ + | xargs -r kubectl -n "$ns" delete --force --grace-period=0 --ignore-not-found 2>/dev/null || true + kubectl -n "$ns" delete job pdcc-vault-secrets-operator \ + --force --grace-period=0 --ignore-not-found 2>/dev/null || true + + if helm -n "$ns" status "$VSO_RELEASE" >/dev/null 2>&1; then + log " [$ns] helm uninstall $VSO_RELEASE" + helm -n "$ns" uninstall "$VSO_RELEASE" --wait --timeout 5m 2>&1 \ + || warn " [$ns] helm uninstall 실패 — 릴리즈 Secret 잔존물 직접 제거" + else + log " [$ns] VSO 릴리즈 없음" + fi + + # uninstall 실패 / rollback 잔존 상태에서 남는 sh.helm.release.v1.* Secret 정리 + kubectl -n "$ns" get secret -o name 2>/dev/null \ + | grep "sh.helm.release.*${VSO_RELEASE}" \ + | xargs -r kubectl -n "$ns" delete --ignore-not-found 2>/dev/null || true +} + +# $NAMESPACE (mnt) 내 잔존 uninstall 은 **env-specific 레거시 cleanup** 이라 +# 항상 실행한다 — 과거 VSO 가 mnt 에 설치됐던 적이 있으면 릴리즈 메타데이터가 +# 남아 다음 install 을 막으므로. $VSO_NAMESPACE (공용 operator 공간) 에 대한 +# uninstall 은 클러스터 공유이므로 명시적 opt-in 요구. +phase3_vso_helm_uninstall() { + log "[3/7] VSO Helm uninstall" + uninstall_vso_in_ns "$NAMESPACE" + + if [[ "${TEARDOWN_VSO_OPERATOR:-}" == "yes" ]]; then + warn " TEARDOWN_VSO_OPERATOR=yes — 공용 VSO operator ($VSO_NAMESPACE) 제거" + warn " 경고: 같은 클러스터에 다른 env 의 VaultStaticSecret 이 있으면 reconciliation 이 멈춥니다." + uninstall_vso_in_ns "$VSO_NAMESPACE" + else + log " VSO operator ($VSO_NAMESPACE) 보존 (TEARDOWN_VSO_OPERATOR=yes 로 제거 가능)" + fi +} + +phase4_overlay_delete() { + log "[4/7] 인프라 리소스 삭제 (kustomize overlay)" + if ns_exists "$NAMESPACE"; then + kubectl delete -k "$OVERLAY_DIR" --ignore-not-found \ + --wait=true --timeout=120s 2>&1 \ + || warn " overlay 삭제 타임아웃 — 필요 시 FORCE_FINALIZERS=yes 로 Phase 6 사용" + else + log " namespace 없음 → overlay 삭제 skip" + fi +} + +phase5_namespace_delete() { + log "[5/7] namespace 정상 삭제" + if ns_exists "$NAMESPACE"; then + kubectl delete namespace "$NAMESPACE" --ignore-not-found --wait=false 2>/dev/null || true + log " namespace 제거 대기 (최대 60s)" + if wait_namespace_gone "$NAMESPACE" 60; then + log " namespace $NAMESPACE 제거 완료" + else + warn " namespace $NAMESPACE 가 Terminating 60s 초과." + warn " 정상 삭제로 끝나지 않은 경우:" + warn " 1) 'kubectl get all -n $NAMESPACE' 로 남은 리소스 원인 확인" + warn " 2) controller/operator 재기동 으로 finalizer 처리 시도" + warn " 3) 그래도 막히면 FORCE_FINALIZERS=yes 로 재실행 — 단 파괴적" + fi + else + log " namespace 이미 없음" + fi +} + +# FORCE_FINALIZERS=yes 일 때만 — PV orphaned / 데이터 정합성 리스크 있음. +phase6_force_finalizers() { + if [[ "${FORCE_FINALIZERS:-}" != "yes" ]]; then + log "[6/7] FORCE_FINALIZERS!=yes → skip (파괴적 경로 비활성)" + return 0 + fi + + log "[6/7] FORCE_FINALIZERS=yes — finalizer 강제 제거 + /finalize" + warn " 경고: PV orphan / controller 정리 누락이 발생할 수 있습니다." + warn " Terminating stuck 복구 외 목적으로 사용하지 마세요." + + if ! ns_exists "$NAMESPACE"; then + log " namespace 이미 없음 → skip" + return 0 + fi + + strip_finalizers_in_ns "$NAMESPACE" persistentvolumeclaim + strip_finalizers_in_ns "$NAMESPACE" "${VSO_CRD_KINDS[@]}" 2>/dev/null || true + log " namespace $NAMESPACE 전체 리소스 finalizer 일괄 제거 (최후 수단)" + strip_finalizers_all_ns_resources "$NAMESPACE" + + kubectl delete namespace "$NAMESPACE" --ignore-not-found --wait=false 2>/dev/null || true + if wait_namespace_gone "$NAMESPACE" 30; then + log " namespace $NAMESPACE 제거 완료 (FORCE_FINALIZERS)" + return 0 + fi + + warn " namespace 여전히 Terminating → /finalize API 호출" + force_finalize_namespace "$NAMESPACE" \ + || warn " /finalize 호출 실패 — 수동 확인 필요" + if wait_namespace_gone "$NAMESPACE" 30; then + log " namespace $NAMESPACE 제거 완료 (/finalize)" + else + err " namespace $NAMESPACE 여전히 존재. 'kubectl get namespace $NAMESPACE -o yaml' 로 확인 필요." + fi +} + +phase7_cluster_scoped() { + log "[7/7] Cluster-scoped 리소스 정리" + + # vault-tokenreview-binding 은 cluster-scoped 이름 고정이라 env 별 분리가 + # 불가능하다 (kustomize base 를 env-scoped 이름으로 재설계하기 전까지). + # 기본 경로에서 삭제하면 다른 env 의 Vault k8s auth TokenReview 가 부서지므로 + # TEARDOWN_VSO_OPERATOR=yes 와 함께 게이트 (플랫폼 auth 평면 전체 정리). + if [[ "${TEARDOWN_VSO_OPERATOR:-}" == "yes" ]]; then + log " vault-tokenreview-binding 제거 (TEARDOWN_VSO_OPERATOR=yes)" + kubectl delete clusterrolebinding vault-tokenreview-binding --ignore-not-found 2>&1 \ + | sed 's/^/ /' || true + if ns_exists "$VSO_NAMESPACE"; then + log " VSO namespace $VSO_NAMESPACE 삭제" + kubectl delete namespace "$VSO_NAMESPACE" --ignore-not-found --wait=true --timeout=60s 2>/dev/null \ + || warn " $VSO_NAMESPACE 삭제 타임아웃 — 수동 확인 필요" + fi + else + log " vault-tokenreview-binding 보존 (TEARDOWN_VSO_OPERATOR=yes 로 제거 가능)" + fi + + # VSO 의 ClusterRole / CRB / Webhook / CRD 는 클러스터 전체 공유다. + # 운영자가 의도적으로 VSO 전체를 버릴 때만 TEARDOWN_VSO_CRDS=yes 로 활성화. + if [[ "${TEARDOWN_VSO_CRDS:-}" == "yes" ]]; then + warn " TEARDOWN_VSO_CRDS=yes — cluster-scoped VSO 리소스 제거 (ClusterRole/CRB/Webhook/CRD)" + warn " 경고: 같은 클러스터의 다른 env 에서 VSO 를 쓰고 있으면 모두 영향받습니다." + local kind + for kind in clusterrole clusterrolebinding validatingwebhookconfiguration mutatingwebhookconfiguration; do + kubectl get "$kind" -o name 2>/dev/null \ + | grep -E 'vault-secrets-operator' \ + | xargs -r kubectl delete --ignore-not-found 2>/dev/null || true + done + kubectl get crd -o name 2>/dev/null \ + | grep 'secrets.hashicorp.com' \ + | xargs -r kubectl delete --ignore-not-found 2>/dev/null || true + else + log " cluster-scoped VSO 리소스 보존 (TEARDOWN_VSO_CRDS=yes 로 제거 가능)" + fi + + if [[ "${TEARDOWN_MINIO_OPERATOR:-}" == "yes" ]]; then + log " TEARDOWN_MINIO_OPERATOR=yes → MinIO Operator 제거" + helm -n minio-operator uninstall minio-operator --wait --timeout 5m 2>/dev/null \ + || warn " MinIO Operator Helm uninstall 실패" + kubectl delete namespace minio-operator --ignore-not-found --wait=true --timeout=60s \ + || warn " minio-operator namespace 삭제 실패" + else + log " MinIO Operator 유지 (TEARDOWN_MINIO_OPERATOR=yes 로 제거 가능)" + fi +} + +summary() { + log "============================================" + log " $ENV_NAME 삭제 완료" + log "============================================" + log "Vault unseal key 파일은 그대로 남아있습니다 (${VAULT_KEYS_FILE:-$REPO_ROOT/vault-init-keys.json})." + log "완전 초기화하려면 수동 삭제하세요." +} + +main() { + ENV_NAME="${1:-}" + case "$ENV_NAME" in + dev|staging|prod) ;; + *) usage ;; + esac + + OVERLAY_DIR="$K8S_ROOT/overlays/$ENV_NAME" + [[ -d "$OVERLAY_DIR" ]] || die "overlay 디렉토리 없음: $OVERLAY_DIR" + + require_cmd kubectl helm jq + + # 안전 가드 1 — kubectl context 가 env 와 맞는지 + require_kube_context "$ENV_NAME" + + # 안전 가드 2 — prod 는 추가 게이트 (namespace 재입력 포함) + require_production_gate "$ENV_NAME" "$NAMESPACE" + + log "============================================" + log " Project-Infra 삭제 ($ENV_NAME)" + log " context : $(kubectl config current-context)" + log "============================================" + + confirm "namespace='$NAMESPACE' 의 모든 Vault / Registry / VSO / 앱 리소스를 삭제합니다. 계속?" \ + || die "사용자 취소" + + phase1_precheck + phase2_vso_cr_delete + phase3_vso_helm_uninstall + phase4_overlay_delete + phase5_namespace_delete + phase6_force_finalizers + phase7_cluster_scoped + summary +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/k8s/scripts/ci/validate.sh b/k8s/scripts/ci/validate.sh new file mode 100755 index 0000000..c959f22 --- /dev/null +++ b/k8s/scripts/ci/validate.sh @@ -0,0 +1,167 @@ +#!/usr/bin/env bash +# Validate all kustomize overlays against schema + lint rules, +# 그리고 scripts/ 전체에 대해 shell 품질 게이트 (shellcheck + shfmt) 를 실행한다. +# +# Runs, for each environment (dev, staging, prod): +# 1. `kustomize build overlays/<env>` — structural validity +# 2. `kustomize build overlays/<env>/vso` — VSO CRD overlay (built separately +# because it requires the VSO Helm +# release to be installed first) +# 3. `kubeconform -strict -ignore-missing-schemas` — OpenAPI schema validation +# with CRD schemas fetched from the Datree catalog. +# 4. `kube-linter lint` — anti-pattern lint against +# root .kube-linter.yaml configuration. +# +# Plus (not per-overlay): +# 5. `shellcheck -S style` over k8s/scripts/**/*.sh — shell correctness + style +# 6. `shfmt -i 2 -bn -ci -d` over k8s/scripts/ — formatting diff (fail on drift) +# +# Exit codes: +# 0 — everything passed +# 1 — at least one step failed (details printed) +# +# Tools expected on $PATH: +# kustomize kubeconform kube-linter shellcheck shfmt + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" + +REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)" +K8S_ROOT="$REPO_ROOT/k8s" +KUBE_LINTER_CFG="$REPO_ROOT/.kube-linter.yaml" + +# Local-user tooling fallback: when tools aren't installed system-wide, +# allow users to drop them under ~/bin (CI typically installs to a PATH dir). +if [[ -d "$HOME/bin" ]]; then + export PATH="$HOME/bin:$PATH" +fi + +require_cmd kustomize kubeconform kube-linter shellcheck shfmt + +ENVS=(dev staging prod) +OVERLAYS_TO_BUILD=() +for env in "${ENVS[@]}"; do + root_overlay="$K8S_ROOT/overlays/$env" + vso_overlay="$K8S_ROOT/overlays/$env/vso" + if [[ -f "$root_overlay/kustomization.yaml" ]]; then + OVERLAYS_TO_BUILD+=("$root_overlay") + else + log "skip (kustomization.yaml 없음): overlays/$env" + fi + if [[ -f "$vso_overlay/kustomization.yaml" ]]; then + OVERLAYS_TO_BUILD+=("$vso_overlay") + fi +done + +# Datree CRD catalog — kubeconform fetches per-CRD JSON schema on demand. +CRD_CATALOG='https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' + +WORK_DIR="$(mktemp -d -t project-infra-validate.XXXXXX)" +trap_cleanup_path "$WORK_DIR" + +declare -A BUILD_STATUS SCHEMA_STATUS LINT_STATUS + +for overlay in "${OVERLAYS_TO_BUILD[@]}"; do + rel="${overlay#"$REPO_ROOT/"}" + rendered="$WORK_DIR/$(echo "$rel" | tr '/' '_').yaml" + + # -- 1. kustomize build ---------------------------------------------------- + if kustomize build "$overlay" > "$rendered" 2>"$rendered.err"; then + BUILD_STATUS[$rel]="ok" + log "kustomize build $rel — OK ($(grep -c '^kind:' "$rendered") resources)" + else + BUILD_STATUS[$rel]="fail" + err "kustomize build $rel — FAIL" + cat "$rendered.err" >&2 + continue + fi + + # -- 2. kubeconform -------------------------------------------------------- + if kubeconform -strict -ignore-missing-schemas \ + -schema-location default \ + -schema-location "$CRD_CATALOG" \ + -summary \ + "$rendered" >"$rendered.kconf" 2>&1; then + SCHEMA_STATUS[$rel]="ok" + log " kubeconform — OK ($(tail -1 "$rendered.kconf"))" + else + SCHEMA_STATUS[$rel]="fail" + err " kubeconform — FAIL" + cat "$rendered.kconf" >&2 + fi + + # -- 3. kube-linter -------------------------------------------------------- + if kube-linter lint --config "$KUBE_LINTER_CFG" "$rendered" \ + >"$rendered.klint" 2>&1; then + LINT_STATUS[$rel]="ok" + log " kube-linter — OK" + else + LINT_STATUS[$rel]="fail" + err " kube-linter — findings:" + sed 's/^/ /' "$rendered.klint" >&2 + fi +done + +# ----------------------------------------------------------------------------- +# 5. shellcheck — scripts/**/*.sh 전체 +# ----------------------------------------------------------------------------- +SHELL_STATUS="skip" +SCRIPTS_ROOT="$K8S_ROOT/scripts" +mapfile -t SHELL_FILES < <(find "$SCRIPTS_ROOT" -type f -name '*.sh' -print | sort) + +if (( ${#SHELL_FILES[@]} > 0 )); then + log "shellcheck — ${#SHELL_FILES[@]} files" + if shellcheck -S style -x "${SHELL_FILES[@]}" >"$WORK_DIR/shellcheck.out" 2>&1; then + SHELL_STATUS="ok" + log " shellcheck — OK" + else + SHELL_STATUS="fail" + err " shellcheck — findings:" + sed 's/^/ /' "$WORK_DIR/shellcheck.out" >&2 + fi +fi + +# ----------------------------------------------------------------------------- +# 6. shfmt — 포매팅 drift 검증 (수정 없이 diff 만 출력) +# ----------------------------------------------------------------------------- +FMT_STATUS="skip" +if (( ${#SHELL_FILES[@]} > 0 )); then + log "shfmt -i 2 -bn -ci -d" + if shfmt -i 2 -bn -ci -d "${SHELL_FILES[@]}" >"$WORK_DIR/shfmt.out" 2>&1; then + FMT_STATUS="ok" + log " shfmt — OK" + else + FMT_STATUS="fail" + err " shfmt — drift 감지 (로컬에서 'shfmt -i 2 -bn -ci -w k8s/scripts' 로 정렬하세요):" + sed 's/^/ /' "$WORK_DIR/shfmt.out" >&2 + fi +fi + +# ----------------------------------------------------------------------------- +# Summary +# ----------------------------------------------------------------------------- +echo >&2 +log "============================================" +log " Validation summary" +log "============================================" + +failed=0 +for overlay in "${OVERLAYS_TO_BUILD[@]}"; do + rel="${overlay#"$REPO_ROOT/"}" + b="${BUILD_STATUS[$rel]:-skip}" + s="${SCHEMA_STATUS[$rel]:-skip}" + l="${LINT_STATUS[$rel]:-skip}" + printf ' %-40s build=%-4s schema=%-4s lint=%s\n' "$rel" "$b" "$s" "$l" >&2 + [[ "$b" == "fail" || "$s" == "fail" || "$l" == "fail" ]] && failed=$((failed + 1)) +done +printf ' %-40s shellcheck=%-4s shfmt=%s\n' "scripts/" "$SHELL_STATUS" "$FMT_STATUS" >&2 +[[ "$SHELL_STATUS" == "fail" || "$FMT_STATUS" == "fail" ]] && failed=$((failed + 1)) + +if (( failed > 0 )); then + err "$failed check(s) 실패" + exit 1 +fi + +log "모든 check 통과" diff --git a/k8s/scripts/lib/common.sh b/k8s/scripts/lib/common.sh new file mode 100755 index 0000000..188c621 --- /dev/null +++ b/k8s/scripts/lib/common.sh @@ -0,0 +1,302 @@ +#!/usr/bin/env bash +# Common shell library for Project-Infra scripts. +# +# Source this with: . "$(dirname "$0")/../lib/common.sh" +# or from tasks/: . "$SCRIPT_DIR/../lib/common.sh" +# +# Provides: +# - strict mode + safe IFS +# - log()/warn()/err()/die() to stderr with ISO 8601 + level prefix +# - trap_cleanup_path() / trap_cleanup_fn() — EXIT 시 경로 rm -rf 또는 함수 호출 +# - require_cmd() / require_env() — preconditions +# - confirm() — interactive + CONFIRM=yes env-var gate +# - mask_secret() — masks sensitive values in logs +# - retry() — retry a command with linear backoff +# - require_kube_context() / require_production_gate() — env 타깃 검증 가드 +# - ns_exists() / ns_phase() / strip_finalizers_in_ns() / +# strip_finalizers_all_ns_resources() / force_finalize_namespace() / +# wait_namespace_gone() — namespace teardown 복구 헬퍼 +# +# All functions emit diagnostic output to stderr; stdout stays clean +# so callers can pipe subcommand output normally. + +# shellcheck shell=bash + +# ----------------------------------------------------------------------------- +# strict mode +# ----------------------------------------------------------------------------- +set -Eeuo pipefail +IFS=$'\n\t' + +# ----------------------------------------------------------------------------- +# logging +# ----------------------------------------------------------------------------- +_ts() { date -u +"%Y-%m-%dT%H:%M:%SZ"; } + +log() { printf '%s [INFO] %s\n' "$(_ts)" "$*" >&2; } +warn() { printf '%s [WARN] %s\n' "$(_ts)" "$*" >&2; } +err() { printf '%s [ERROR] %s\n' "$(_ts)" "$*" >&2; } +die() { err "$*"; exit 1; } + +# ----------------------------------------------------------------------------- +# cleanup registration +# +# eval 기반 문자열 cleanup 은 공통 라이브러리에 두기에 부적절하다 (셸 인젝션 +# 경로가 열리기 쉽고, Google shell 가이드 기준 code smell). 대신 두 가지 구체 +# 타입만 제공한다: +# - trap_cleanup_path <path> : EXIT 시 rm -rf 로 삭제할 경로 +# - trap_cleanup_fn <fname> : EXIT 시 인자 없이 호출할 함수 이름 +# 두 종류 다 LIFO 로 실행되고, 실패해도 전체 종료 코드는 보존된다. +# ----------------------------------------------------------------------------- +_CLEANUP_PATHS=() +_CLEANUP_FNS=() + +trap_cleanup_path() { + local p="$1" + [[ -n "$p" ]] || return 0 + _CLEANUP_PATHS+=("$p") +} + +trap_cleanup_fn() { + local fn="$1" + declare -F "$fn" >/dev/null 2>&1 \ + || { err "trap_cleanup_fn: 함수를 찾을 수 없음: $fn"; return 1; } + _CLEANUP_FNS+=("$fn") +} + +_run_cleanups() { + local rc=$? + local i + for ((i = ${#_CLEANUP_FNS[@]} - 1; i >= 0; i--)); do + "${_CLEANUP_FNS[$i]}" || true + done + for ((i = ${#_CLEANUP_PATHS[@]} - 1; i >= 0; i--)); do + rm -rf -- "${_CLEANUP_PATHS[$i]}" || true + done + exit "$rc" +} + +trap _run_cleanups EXIT INT TERM + +# ----------------------------------------------------------------------------- +# preconditions +# ----------------------------------------------------------------------------- +require_cmd() { + local cmd + for cmd in "$@"; do + command -v "$cmd" >/dev/null 2>&1 || die "필수 명령어가 PATH 에 없습니다: $cmd" + done +} + +require_env() { + local var + for var in "$@"; do + if [[ -z "${!var:-}" ]]; then + die "필수 환경 변수가 비어있습니다: $var" + fi + done +} + +# ----------------------------------------------------------------------------- +# destructive gate +# ----------------------------------------------------------------------------- +# Usage: confirm "namespace 'mnt' 의 모든 리소스를 삭제합니다. 계속?" +# Returns 0 if the user said yes (interactively or via CONFIRM=yes env). +confirm() { + local prompt="$1" + if [[ "${CONFIRM:-}" == "yes" ]]; then + log "CONFIRM=yes → 자동 진행: $prompt" + return 0 + fi + if [[ ! -t 0 ]]; then + die "비대화 환경에서는 CONFIRM=yes 환경 변수를 지정하세요: $prompt" + fi + local answer + read -r -p "$prompt [y/N]: " answer + [[ "$answer" == "y" || "$answer" == "Y" ]] +} + +# ----------------------------------------------------------------------------- +# secret masking (for logs) +# ----------------------------------------------------------------------------- +# Usage: log "root token = $(mask_secret "$ROOT_TOKEN")" +mask_secret() { + local s="$1" + local n=${#s} + if (( n <= 8 )); then + printf '***' + else + printf '%s***%s' "${s:0:4}" "${s: -4}" + fi +} + +# ----------------------------------------------------------------------------- +# retry helper +# ----------------------------------------------------------------------------- +# Usage: retry 5 2 kubectl wait --for=condition=Ready pod/vault-0 -n mnt --timeout=10s +# - $1: max attempts +# - $2: sleep seconds between attempts +# - $3..: command and arguments +retry() { + local attempts="$1"; shift + local delay="$1"; shift + local i=0 + until "$@"; do + i=$((i + 1)) + if (( i >= attempts )); then + err "최대 시도 횟수 ${attempts} 회 초과: $*" + return 1 + fi + warn "실패 ($i/$attempts), ${delay}s 후 재시도: $*" + sleep "$delay" + done +} + +# ----------------------------------------------------------------------------- +# kube-context / env 타깃 검증 +# ----------------------------------------------------------------------------- +# require_kube_context <env_name> +# +# env → 기대 context 매핑을 다음 우선순위로 해결한다: +# 1) $KUBE_CONTEXT (명시적으로 주입된 값 — CI 에서 사용) +# 2) $KUBE_CONTEXT_<ENV_UPPER> (env 별 매핑 — 쉘 rc 에 선언하면 편함) +# +# 매칭 실패 시 현재 context 를 출력하고 사용자에게 context 이름을 직접 +# 재입력받아 확인한다. 비대화 환경은 die. +# +# 이 함수를 통과하면 다음이 보장된다: +# - kubectl 이 가리키는 cluster 가 env 의 의도된 cluster +# - 사용자/CI 가 그 사실을 명시적으로 인지함 (실수 클러스터 apply 방지) +require_kube_context() { + local env_name="$1" + require_cmd kubectl + + local current + current="$(kubectl config current-context 2>/dev/null || true)" + [[ -n "$current" ]] || die "kubectl current-context 가 비어있습니다. kubeconfig 를 먼저 설정하세요." + + local env_upper + env_upper="$(printf '%s' "$env_name" | tr '[:lower:]' '[:upper:]')" + local mapped_var="KUBE_CONTEXT_${env_upper}" + local expected="${KUBE_CONTEXT:-${!mapped_var:-}}" + + if [[ -n "$expected" ]]; then + if [[ "$current" != "$expected" ]]; then + die "kube-context 불일치: env=$env_name 기대='$expected' 현재='$current' (KUBE_CONTEXT 또는 ${mapped_var} 와 kubectl 현재 context 가 다름)" + fi + log "kube-context OK: env=$env_name context='$current'" + return 0 + fi + + # 매핑이 없을 때: + # - 비대화(CI) → 무조건 die. CONFIRM=yes 로도 우회 불가 (context 는 + # destructive 작업의 타깃이라 명시성이 절대 원칙). + # - 대화형 TTY → 현재 context 이름 재입력으로 확인. + if [[ ! -t 0 ]]; then + die "비대화 환경에서는 KUBE_CONTEXT 또는 ${mapped_var} 가 필수입니다 (CONFIRM=yes 로 우회 불가)." + fi + warn "env=$env_name 의 기대 context 가 지정되지 않았습니다." + warn " (권장) export KUBE_CONTEXT_${env_upper}='<context-name>' 를 쉘 rc 에 선언" + warn "현재 context: $current" + local typed + read -r -p "확인을 위해 현재 context 이름을 그대로 입력하세요 ('$current'): " typed + [[ "$typed" == "$current" ]] || die "context 이름 불일치 — 중단" +} + +# require_production_gate <env_name> +# +# env=prod 에서 파괴적 작업을 실행하려면 ALLOW_PROD_DESTRUCTIVE=yes 를 요구. +# 추가로 namespace 이름 재입력을 강제해서 오타 한 번으로 prod 가 날아가는 것을 막는다. +# dev/staging 은 통과. +require_production_gate() { + local env_name="$1" + local ns="$2" + [[ "$env_name" == "prod" ]] || return 0 + + if [[ "${ALLOW_PROD_DESTRUCTIVE:-}" != "yes" ]]; then + die "env=prod 파괴적 작업은 ALLOW_PROD_DESTRUCTIVE=yes 환경 변수가 필요합니다." + fi + if [[ ! -t 0 ]]; then + die "env=prod 는 대화형 TTY 에서만 실행 가능합니다 (namespace 재입력 확인 필요)." + fi + local typed + warn "env=prod 파괴적 작업 — namespace '$ns' 를 그대로 재입력하세요." + read -r -p "namespace: " typed + [[ "$typed" == "$ns" ]] || die "namespace 재입력 불일치 — 중단" +} + +# ----------------------------------------------------------------------------- +# namespace / finalizer 정리 헬퍼 +# ----------------------------------------------------------------------------- + +# ns_phase <namespace> — namespace 의 .status.phase 를 출력. 없으면 빈 문자열. +ns_phase() { + local ns="$1" + kubectl get namespace "$ns" -o jsonpath='{.status.phase}' 2>/dev/null || true +} + +# ns_exists <namespace> — 존재하면 0, 없으면 1 +ns_exists() { + kubectl get namespace "$1" >/dev/null 2>&1 +} + +# strip_finalizers_in_ns <namespace> <kind...> +# 지정한 kind 들의 모든 인스턴스에서 metadata.finalizers 를 제거한다. +# kind 가 CRD 여도 동작 (kubectl 이 해당 API 서버에 등록되어 있기만 하면). +strip_finalizers_in_ns() { + local ns="$1"; shift + local kind obj + for kind in "$@"; do + while IFS= read -r obj; do + [[ -z "$obj" ]] && continue + kubectl -n "$ns" patch "$obj" --type=merge \ + -p '{"metadata":{"finalizers":null}}' >/dev/null 2>&1 || true + log " finalizer 제거: -n $ns $obj" + done < <(kubectl -n "$ns" get "$kind" -o name 2>/dev/null || true) + done +} + +# strip_finalizers_all_ns_resources <namespace> +# namespace 에 남아있는 모든 namespaced 리소스의 finalizer 를 일괄 제거. +# 최후 수단 — Terminating 에 걸린 리소스들을 떼어낼 때만 사용. +strip_finalizers_all_ns_resources() { + local ns="$1" + local kinds + # namespaced=true 리소스 종류만 + kinds=$(kubectl api-resources --namespaced=true --verbs=delete -o name 2>/dev/null) + local kind + for kind in $kinds; do + while IFS= read -r obj; do + [[ -z "$obj" ]] && continue + kubectl -n "$ns" patch "$obj" --type=merge \ + -p '{"metadata":{"finalizers":null}}' >/dev/null 2>&1 || true + done < <(kubectl -n "$ns" get "$kind" -o name 2>/dev/null || true) + done +} + +# force_finalize_namespace <namespace> +# namespace 자체의 spec.finalizers 를 비워서 API 서버가 강제 삭제하도록 한다. +# kubectl replace --raw 로 /finalize 엔드포인트 호출. +# 전제: kubectl + jq 존재. 주의 — orphaned PV 등이 남을 수 있음. +force_finalize_namespace() { + local ns="$1" + require_cmd jq + log " namespace $ns 강제 finalize (API /finalize)" + kubectl get namespace "$ns" -o json \ + | jq '.spec.finalizers = [] | .metadata.finalizers = []' \ + | kubectl replace --raw "/api/v1/namespaces/${ns}/finalize" -f - >/dev/null +} + +# wait_namespace_gone <namespace> <timeout_seconds> +# namespace 가 완전히 사라질 때까지 대기. timeout 초과 시 1 반환. +wait_namespace_gone() { + local ns="$1" timeout="${2:-60}" i=0 + while ns_exists "$ns"; do + i=$((i + 1)) + if (( i >= timeout )); then + return 1 + fi + sleep 1 + done + return 0 +} diff --git a/k8s/scripts/lib/vault.sh b/k8s/scripts/lib/vault.sh new file mode 100755 index 0000000..a4d1abc --- /dev/null +++ b/k8s/scripts/lib/vault.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash +# Vault helper functions. Depends on lib/common.sh being sourced first. +# +# Environment contract: +# VAULT_NAMESPACE — k8s namespace where vault-0 runs (default: mnt) +# VAULT_POD — Vault pod name (default: vault-0) +# VAULT_KEYS_FILE — path to JSON file produced by vault operator init +# (default: $REPO_ROOT/vault-init-keys.json) + +# shellcheck shell=bash +# shellcheck source=./common.sh +# (common.sh must be sourced by the caller.) + +: "${VAULT_NAMESPACE:=mnt}" +: "${VAULT_POD:=vault-0}" + +# vault_exec <args...> — exec vault CLI inside the Vault pod. +# -i 를 붙여서 호출자의 stdin 을 컨테이너로 파이프 (vault login -no-print - 등). +vault_exec() { + kubectl exec -i -n "$VAULT_NAMESPACE" "$VAULT_POD" -- vault "$@" +} + +# vault_exec_sh <script> — exec /bin/sh -c "$script" inside the Vault pod. +# Use when the vault CLI call needs shell features (heredocs, redirects, stdin). +vault_exec_sh() { + kubectl exec -i -n "$VAULT_NAMESPACE" "$VAULT_POD" -- sh -c "$1" +} + +# vault_status_json — echoes the JSON output of `vault status`, or empty on error. +vault_status_json() { + kubectl exec -n "$VAULT_NAMESPACE" "$VAULT_POD" -- \ + vault status -format=json 2>/dev/null || true +} + +vault_is_initialized() { + local json + json="$(vault_status_json)" + [[ -n "$json" ]] && echo "$json" | jq -e '.initialized == true' >/dev/null +} + +vault_is_sealed() { + local json + json="$(vault_status_json)" + [[ -n "$json" ]] && echo "$json" | jq -e '.sealed == true' >/dev/null +} + +# vault_unseal_from_keyfile <keys_file> +# +# 주의: `vault operator unseal <KEY>` 형태로 argv 에 키를 넘기면 `ps` 로 +# 노출된다 (container 내부 프로세스라도 보안 경계는 유지). vault CLI 는 +# argv 가 없으면 stdin 에서 읽으므로 stdin 으로만 전달한다. +vault_unseal_from_keyfile() { + local keys_file="$1" + [[ -f "$keys_file" ]] || die "unseal 키 파일이 없습니다: $keys_file" + + local threshold + threshold="$(jq -r '.unseal_threshold' "$keys_file")" + + local i key + for ((i = 0; i < threshold; i++)); do + key="$(jq -r ".unseal_keys_b64[$i]" "$keys_file")" + vault_exec operator unseal "$key" >/dev/null + done + unset key + log "Vault unseal 완료 (threshold=${threshold})" +} + +# vault_login_root_from_keyfile <keys_file> +# Logs the vault CLI inside the pod using the root token. stdout is suppressed +# so the token never reaches terminals or logs. +vault_login_root_from_keyfile() { + local keys_file="$1" + local token + token="$(jq -r '.root_token' "$keys_file")" + printf '%s' "$token" | vault_exec_sh 'vault login -no-print -' >/dev/null +} + +# vault_kv_exists <path> — returns 0 if the KV v2 secret exists. +vault_kv_exists() { + local path="$1" + [[ "$path" == secret/* ]] || path="secret/${path}" + vault_exec kv get -format=json "$path" >/dev/null 2>&1 +} + +# vault_auth_method_enabled <mount> — returns 0 if the auth method is enabled. +vault_auth_method_enabled() { + local mount="$1" + vault_exec auth list -format=json 2>/dev/null \ + | jq -e --arg m "${mount}/" '.[$m] // empty' >/dev/null +} + +# vault_secrets_engine_enabled <mount> — returns 0 if the secrets engine is enabled. +vault_secrets_engine_enabled() { + local mount="$1" + vault_exec secrets list -format=json 2>/dev/null \ + | jq -e --arg m "${mount}/" '.[$m] // empty' >/dev/null +} diff --git a/k8s/scripts/tasks/minio-operator-install.sh b/k8s/scripts/tasks/minio-operator-install.sh new file mode 100755 index 0000000..de0559e --- /dev/null +++ b/k8s/scripts/tasks/minio-operator-install.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# Install (or upgrade) the MinIO Operator Helm release. +# +# MinIO Tenant CR (minio.min.io/v2) 는 이 Operator 가 CRD 를 먼저 등록해야 +# apply 가능하다. bootstrap.sh 의 Phase 1 이전에 실행된다. +# +# Operator 는 자체 namespace (기본 minio-operator) 에 배포된다. 애플리케이션 +# namespace (mnt) 와 분리되므로 Tenant CR 만 mnt 에 있어도 동작한다. +# +# Optional env: +# MINIO_OPERATOR_NAMESPACE — 기본 minio-operator +# MINIO_OPERATOR_RELEASE — 기본 minio-operator +# MINIO_OPERATOR_VERSION — 기본 7.0.0 + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" + +: "${MINIO_OPERATOR_NAMESPACE:=minio-operator}" +: "${MINIO_OPERATOR_RELEASE:=minio-operator}" +: "${MINIO_OPERATOR_VERSION:=7.0.0}" + +helm_install() { + log "helm repo: minio-operator 등록 (idempotent)" + helm repo add minio-operator https://operator.min.io >/dev/null 2>&1 || true + helm repo update minio-operator >/dev/null + + log "helm upgrade --install ${MINIO_OPERATOR_RELEASE} (v=${MINIO_OPERATOR_VERSION} ns=${MINIO_OPERATOR_NAMESPACE})" + helm upgrade --install "$MINIO_OPERATOR_RELEASE" minio-operator/operator \ + --namespace "$MINIO_OPERATOR_NAMESPACE" \ + --create-namespace \ + --version "$MINIO_OPERATOR_VERSION" \ + --wait \ + --atomic \ + --timeout 5m +} + +wait_ready() { + log "MinIO Operator Pod Ready 확인" + kubectl -n "$MINIO_OPERATOR_NAMESPACE" wait --for=condition=Ready \ + pod -l "app.kubernetes.io/name=operator" \ + --timeout=120s + + log "Tenant CRD 등록 확인" + kubectl get crd tenants.minio.min.io >/dev/null \ + || die "Tenant CRD 가 여전히 없음. Operator 설치 로그 확인." +} + +main() { + require_cmd helm kubectl + helm_install + wait_ready + log "minio-operator-install 태스크 완료" +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/k8s/scripts/tasks/minio-provision-registry.sh b/k8s/scripts/tasks/minio-provision-registry.sh new file mode 100755 index 0000000..f557e1e --- /dev/null +++ b/k8s/scripts/tasks/minio-provision-registry.sh @@ -0,0 +1,189 @@ +#!/usr/bin/env bash +# MinIO Tenant 기동 후 docker-registry 용 bucket / 서비스 user / policy 를 +# 프로비저닝. +# +# 전제: +# - MinIO Tenant Pod 가 Ready (VSO 가 minio-tenant-env Secret 을 이미 동기화) +# - Vault 가 init + unseal 완료 +# - vault-seed 가 다음 경로를 seed 완료: +# secret/minio/tenant-env (root 계정, config.env 포맷) +# secret/docker-registry/minio (access_key / secret_key) +# +# 수행 순서: +# 1. Vault 에서 MinIO root 자격증명 + registry 전용 AK/SK 읽기 +# 2. kubectl port-forward 로 127.0.0.1 → MinIO Service 터널 생성 +# 3. mc alias 등록 → bucket 생성 → policy 작성 → user 생성 → policy 부착 +# +# idempotent: 이미 있는 bucket/user/policy 는 건너뜀 (회전은 별도 절차). +# +# Required env: +# REPO_ROOT +# +# Optional env: +# DOCKER_REGISTRY_BUCKET 기본 docker-registry +# DOCKER_REGISTRY_POLICY 기본 docker-registry-rw +# PF_LOCAL_PORT 기본 9900 (local port-forward) +# MINIO_SERVICE_PORT 기본 443 (Service 쪽 포트 — autoCert HTTPS) + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" +# shellcheck source=../lib/vault.sh +. "$SCRIPT_DIR/../lib/vault.sh" + +: "${DOCKER_REGISTRY_BUCKET:=docker-registry}" +: "${DOCKER_REGISTRY_POLICY:=docker-registry-rw}" +: "${PF_LOCAL_PORT:=9900}" +: "${MINIO_SERVICE_PORT:=443}" +: "${MINIO_NAMESPACE:=mnt}" +: "${MINIO_SERVICE:=minio}" + +MC_ALIAS="minio-prov" +PF_PID="" + +cleanup_port_forward() { + if [[ -n "${PF_PID:-}" ]] && kill -0 "$PF_PID" 2>/dev/null; then + kill "$PF_PID" 2>/dev/null || true + wait "$PF_PID" 2>/dev/null || true + fi +} + +wait_minio_ready() { + log "MinIO Tenant Pod Ready 대기" + retry 30 5 kubectl -n "$MINIO_NAMESPACE" wait --for=condition=Ready --timeout=10s \ + pod -l "v1.min.io/tenant=$MINIO_SERVICE" +} + +start_port_forward() { + log "port-forward 터널 생성 (127.0.0.1:${PF_LOCAL_PORT} → svc/${MINIO_SERVICE}:${MINIO_SERVICE_PORT})" + kubectl -n "$MINIO_NAMESPACE" port-forward \ + "svc/${MINIO_SERVICE}" "${PF_LOCAL_PORT}:${MINIO_SERVICE_PORT}" \ + >/dev/null 2>&1 & + PF_PID=$! + trap_cleanup_fn cleanup_port_forward + + retry 15 1 curl -ks --max-time 2 \ + "https://127.0.0.1:${PF_LOCAL_PORT}/minio/health/live" -o /dev/null + log " 터널 응답 OK" +} + +read_root_credentials() { + # secret/minio/tenant-env 는 "config.env" 필드 하나에 쉘 export 문 2 줄이 + # 들어 있다. 파싱해서 ROOT_USER / ROOT_PASSWORD 전역에 적재. + local env_blob + env_blob="$(vault_exec kv get -format=json secret/minio/tenant-env \ + | jq -r '.data.data["config.env"]')" + ROOT_USER="$(printf '%s\n' "$env_blob" \ + | sed -n 's/^export MINIO_ROOT_USER="\(.*\)"$/\1/p')" + ROOT_PASSWORD="$(printf '%s\n' "$env_blob" \ + | sed -n 's/^export MINIO_ROOT_PASSWORD="\(.*\)"$/\1/p')" + [[ -n "$ROOT_USER" && -n "$ROOT_PASSWORD" ]] \ + || die "MinIO root 자격증명 파싱 실패 — secret/minio/tenant-env 확인" +} + +read_registry_credentials() { + local json + json="$(vault_exec kv get -format=json secret/docker-registry/minio)" + REG_AK="$(printf '%s' "$json" | jq -r '.data.data.access_key')" + REG_SK="$(printf '%s' "$json" | jq -r '.data.data.secret_key')" + [[ -n "$REG_AK" && -n "$REG_SK" && "$REG_AK" != "null" && "$REG_SK" != "null" ]] \ + || die "docker-registry 자격증명 읽기 실패 — secret/docker-registry/minio 확인" +} + +configure_mc_alias() { + log "mc alias 등록 (alias=${MC_ALIAS})" + mc --insecure alias set "$MC_ALIAS" \ + "https://127.0.0.1:${PF_LOCAL_PORT}" \ + "$ROOT_USER" "$ROOT_PASSWORD" >/dev/null +} + +ensure_bucket() { + log "bucket 보장 (${DOCKER_REGISTRY_BUCKET})" + mc --insecure mb --ignore-existing "${MC_ALIAS}/${DOCKER_REGISTRY_BUCKET}" >/dev/null +} + +ensure_policy() { + log "policy 작성 (${DOCKER_REGISTRY_POLICY}) — bucket-scoped read/write" + local policy_file policy_json + policy_file="$(mktemp)" + trap_cleanup_path "$policy_file" + policy_json="$(jq -n --arg b "$DOCKER_REGISTRY_BUCKET" '{ + Version: "2012-10-17", + Statement: [ + { + Effect: "Allow", + Action: [ + "s3:ListBucket", + "s3:ListBucketMultipartUploads", + "s3:GetBucketLocation" + ], + Resource: ["arn:aws:s3:::\($b)"] + }, + { + Effect: "Allow", + Action: [ + "s3:PutObject", + "s3:GetObject", + "s3:DeleteObject", + "s3:ListMultipartUploadParts", + "s3:AbortMultipartUpload" + ], + Resource: ["arn:aws:s3:::\($b)/*"] + } + ] + }')" + printf '%s' "$policy_json" > "$policy_file" + chmod 600 "$policy_file" + # `policy create` 는 idempotent: 이미 있으면 덮어쓴다. + mc --insecure admin policy create "$MC_ALIAS" \ + "$DOCKER_REGISTRY_POLICY" "$policy_file" >/dev/null +} + +ensure_user() { + if mc --insecure admin user info "$MC_ALIAS" "$REG_AK" >/dev/null 2>&1; then + log "user '${REG_AK}' 이미 존재 — 재생성 skip (secret key 회전은 별도 절차)" + return 0 + fi + log "user '${REG_AK}' 생성" + mc --insecure admin user add "$MC_ALIAS" "$REG_AK" "$REG_SK" >/dev/null +} + +attach_policy() { + log "policy '${DOCKER_REGISTRY_POLICY}' → user '${REG_AK}' 부착" + # 이미 부착돼 있으면 mc 가 exit 1 을 반환. 우리는 idempotent 를 의도하므로 + # stderr 를 소비해서 noise 만 판별한 뒤 무시한다. + local out rc=0 + out="$(mc --insecure admin policy attach "$MC_ALIAS" \ + "$DOCKER_REGISTRY_POLICY" --user "$REG_AK" 2>&1)" || rc=$? + if (( rc != 0 )) && ! grep -qi "already" <<<"$out"; then + err " policy attach 실패: $out" + return "$rc" + fi +} + +main() { + require_cmd kubectl jq mc curl + require_env REPO_ROOT + + local keys_file="${VAULT_KEYS_FILE:-$REPO_ROOT/vault-init-keys.json}" + vault_login_root_from_keyfile "$keys_file" + + wait_minio_ready + start_port_forward + + read_root_credentials + read_registry_credentials + + configure_mc_alias + ensure_bucket + ensure_policy + ensure_user + attach_policy + + log "minio-provision-registry 태스크 완료" +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/k8s/scripts/tasks/vault-init.sh b/k8s/scripts/tasks/vault-init.sh new file mode 100755 index 0000000..fb93bf0 --- /dev/null +++ b/k8s/scripts/tasks/vault-init.sh @@ -0,0 +1,166 @@ +#!/usr/bin/env bash +# Initialize Vault (Shamir 5-of-3) and bootstrap the Kubernetes auth method, +# KV v2 secrets engine, and the vault-secrets-operator policy/role. +# +# Idempotent: 이미 초기화된 Vault 에서는 init 을 skip 하지만 unseal 과 +# post-init 구성은 매번 재적용해서 bootstrap.sh 에서 여러 번 호출되어도 안전. +# +# Required env: +# REPO_ROOT — repository root +# +# Optional env: +# VAULT_NAMESPACE / VAULT_POD / VAULT_KEYS_FILE — see lib/vault.sh +# ENV_NAME — dev|staging|prod (bootstrap.sh 가 주입). prod 일 때 기본 경로 +# (repo working tree) 사용을 차단한다 — VAULT_KEYS_FILE 를 명시 +# 해서 repo 바깥의 안전한 경로로 써야 한다. + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" +# shellcheck source=../lib/vault.sh +. "$SCRIPT_DIR/../lib/vault.sh" + +KEY_SHARES=5 +KEY_THRESHOLD=3 + +resolve_keys_file() { + DEFAULT_KEYS_FILE="$REPO_ROOT/vault-init-keys.json" + KEYS_FILE="${VAULT_KEYS_FILE:-$DEFAULT_KEYS_FILE}" + # prod 에서 repo 내부 평문 저장 차단 — root token / unseal key 가 repo + # working tree 에 남으면 accidental commit / backup / IDE 인덱싱 경로로 유출. + if [[ "${ENV_NAME:-}" == "prod" && "$KEYS_FILE" == "$DEFAULT_KEYS_FILE" ]]; then + die "env=prod 에서는 VAULT_KEYS_FILE 를 repo 바깥 경로로 반드시 지정해야 합니다. (예: VAULT_KEYS_FILE=/run/secrets/vault-keys.json 또는 sops age 로 암호화)" + fi +} + +initialize_if_needed() { + if vault_is_initialized; then + log "Vault 는 이미 초기화되어 있습니다. 초기화 단계를 건너뜁니다." + return 0 + fi + log "Vault 초기화 중 (shares=${KEY_SHARES}, threshold=${KEY_THRESHOLD})..." + local tmp_out + tmp_out="$(mktemp)" + trap_cleanup_path "$tmp_out" + + vault_exec operator init \ + -key-shares="$KEY_SHARES" \ + -key-threshold="$KEY_THRESHOLD" \ + -format=json > "$tmp_out" + + chmod 600 "$tmp_out" + mv "$tmp_out" "$KEYS_FILE" + chmod 600 "$KEYS_FILE" + log "unseal keys + root token 저장: $KEYS_FILE (권한 0600)" +} + +unseal_if_needed() { + if vault_is_sealed; then + log "Vault sealed 상태, unseal 진행" + vault_unseal_from_keyfile "$KEYS_FILE" + else + log "Vault unsealed 상태" + fi +} + +enable_kv_v2() { + if vault_secrets_engine_enabled "secret"; then + log "secrets engine 'secret/' 이미 활성화됨" + return 0 + fi + log "KV v2 secrets engine 을 secret/ 에 활성화" + vault_exec secrets enable -path=secret kv-v2 +} + +enable_k8s_auth() { + if vault_auth_method_enabled "kubernetes"; then + log "auth method 'kubernetes/' 이미 활성화됨" + else + log "Kubernetes auth method 활성화" + vault_exec auth enable kubernetes + fi + + log "Kubernetes auth method 설정 (kubernetes_host + ca + token_reviewer_jwt)" + vault_exec_sh ' + vault write auth/kubernetes/config \ + kubernetes_host="https://kubernetes.default.svc.cluster.local:443" \ + kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt \ + token_reviewer_jwt=@/var/run/secrets/kubernetes.io/serviceaccount/token + ' >/dev/null +} + +write_policies_and_roles() { + log "policy 'vso-auth-platform' 작성 (identity-postgres/*, auth-server/*, keycloak/*, oauth2-proxy/*)" + vault_exec_sh 'cat <<"EOF" | vault policy write vso-auth-platform - +path "secret/data/identity-postgres/*" { + capabilities = ["read"] +} +path "secret/data/auth-server/*" { + capabilities = ["read"] +} +path "secret/data/keycloak/*" { + capabilities = ["read"] +} +path "secret/data/oauth2-proxy/*" { + capabilities = ["read"] +} +EOF +' >/dev/null + + log "policy 'vso-storage' 작성 (minio/*, docker-registry/*)" + vault_exec_sh 'cat <<"EOF" | vault policy write vso-storage - +path "secret/data/minio/*" { + capabilities = ["read"] +} +path "secret/data/docker-registry/*" { + capabilities = ["read"] +} +EOF +' >/dev/null + + log "k8s auth role 'vso-auth-platform' 작성" + vault_exec write auth/kubernetes/role/vso-auth-platform \ + bound_service_account_names=vault-secrets-operator \ + bound_service_account_namespaces="$VAULT_NAMESPACE" \ + audience=vault \ + policies=vso-auth-platform \ + ttl=1h >/dev/null + + log "k8s auth role 'vso-storage' 작성" + vault_exec write auth/kubernetes/role/vso-storage \ + bound_service_account_names=vault-secrets-operator \ + bound_service_account_namespaces="$VAULT_NAMESPACE" \ + audience=vault \ + policies=vso-storage \ + ttl=1h >/dev/null +} + +cleanup_legacy() { + log "구 policy/role 정리 (존재하면 삭제)" + # 이전 단일 policy (세분화 전) 잔재 + vault_exec policy delete vault-secrets-operator >/dev/null 2>&1 || true + vault_exec delete auth/kubernetes/role/vault-secrets-operator >/dev/null 2>&1 || true + # Registry auth 제거로 더 이상 사용 안 하는 policy/role + vault_exec policy delete vso-registry >/dev/null 2>&1 || true + vault_exec delete auth/kubernetes/role/vso-registry >/dev/null 2>&1 || true +} + +main() { + require_cmd kubectl jq + require_env REPO_ROOT + + resolve_keys_file + initialize_if_needed + unseal_if_needed + vault_login_root_from_keyfile "$KEYS_FILE" + enable_kv_v2 + enable_k8s_auth + write_policies_and_roles + cleanup_legacy + log "vault-init 태스크 완료" +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/k8s/scripts/tasks/vault-seed-apps.sh b/k8s/scripts/tasks/vault-seed-apps.sh new file mode 100755 index 0000000..bbe18a7 --- /dev/null +++ b/k8s/scripts/tasks/vault-seed-apps.sh @@ -0,0 +1,286 @@ +#!/usr/bin/env bash +# Seed application secrets into Vault KV v2. +# +# 이미 Vault KV 에 있는 경로는 skip — 운영자가 회전한 값을 절대 덮어쓰지 않는다. +# 아직 없는 경로에 대해 다음 순으로 값을 결정: +# 1) 환경 변수에 값이 있으면 사용 +# 2) TTY 면 read -r -s 로 프롬프트 (확인 재입력 + echo 없음, bash history 안전) +# 3) 비대화 + env 비어있고 AUTO_GENERATE=yes 면 openssl rand 로 자동 생성 +# → 생성된 값은 stdout 에 절대 출력하지 않음. 필요 시 나중에: +# vault kv get -field=password secret/<path> +# +# Vault CLI 의 `vault kv put <path> -` 모드로 **JSON payload 를 stdin** 으로 전달해 +# 비밀번호가 argv / 프로세스 테이블 / 쉘 히스토리 어디에도 노출되지 않는다. +# +# Required env: +# REPO_ROOT +# +# Optional env (비면 대화형 입력 or AUTO_GENERATE): +# POSTGRES_SUPERUSER_USERNAME 기본 postgres +# POSTGRES_SUPERUSER_PASSWORD +# +# KEYCLOAK_DB_PASSWORD +# +# AUTH_SERVER_DB_USERNAME 기본 auth_server +# AUTH_SERVER_DB_PASSWORD +# +# KEYCLOAK_ADMIN_USERNAME 기본 admin +# KEYCLOAK_ADMIN_PASSWORD +# +# MINIO_ROOT_USER 기본 minioadmin +# MINIO_ROOT_PASSWORD +# +# AUTH_SERVER_INGRESS_CLIENT_SECRET Keycloak realm client 'auth-server-ingress' 의 secret. +# KeycloakRealmImport 가 ${AUTH_SERVER_INGRESS_CLIENT_SECRET} +# env 치환으로 가져간다. oauth2-proxy 도 동일 값을 받음. +# +# OAUTH2_PROXY_COOKIE_SECRET oauth2-proxy session cookie signing/encryption key. +# +# DOCKER_REGISTRY_MINIO_ACCESSKEY docker-registry 가 MinIO 에 접근할 때 쓸 AK. +# 기본값 'docker-registry'. MinIO user 이름이 됨. +# DOCKER_REGISTRY_MINIO_SECRETKEY docker-registry MinIO SK (대소문자+숫자 8자 이상). +# +# DOCKER_REGISTRY_PUSH_USERNAME 외부 Ingress push 용 BasicAuth username. +# 기본값 'registry-push'. +# DOCKER_REGISTRY_PUSH_PASSWORD 외부 Ingress push 용 BasicAuth password. +# +# Options: +# AUTO_GENERATE=yes 대화형 TTY 가 아니고 env 도 비었을 때 랜덤 값 생성 +# +# NOTE: 비밀번호에 큰따옴표 " 는 사용 금지 (MinIO env-file 포맷이 깨짐). + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" +# shellcheck source=../lib/vault.sh +. "$SCRIPT_DIR/../lib/vault.sh" + +: "${POSTGRES_SUPERUSER_USERNAME:=postgres}" +: "${AUTH_SERVER_DB_USERNAME:=auth_server}" +: "${KEYCLOAK_ADMIN_USERNAME:=admin}" +: "${MINIO_ROOT_USER:=minioadmin}" +: "${DOCKER_REGISTRY_MINIO_ACCESSKEY:=docker-registry}" +: "${DOCKER_REGISTRY_PUSH_USERNAME:=registry-push}" + +generate_random_password() { + openssl rand -base64 48 | tr -d '/+=' | head -c 24 +} + +resolve_password() { + local var_name="$1" + local prompt_label="$2" + local value="${!var_name:-}" + + if [[ -n "$value" ]]; then + printf '%s' "$value" + return 0 + fi + + if [[ -t 0 ]]; then + local input confirm + while true; do + read -r -s -p "${prompt_label}: " input + echo >&2 + if [[ -z "$input" ]]; then + err " 비밀번호가 비어있습니다. 다시 입력하세요." + continue + fi + if [[ "$input" == *'"'* ]]; then + err " 큰따옴표(\") 는 사용할 수 없습니다 (MinIO env 포맷)." + continue + fi + read -r -s -p "${prompt_label} 한 번 더: " confirm + echo >&2 + if [[ "$input" == "$confirm" ]]; then + printf '%s' "$input" + return 0 + fi + err " 일치하지 않습니다. 다시." + done + fi + + if [[ "${AUTO_GENERATE:-}" == "yes" ]]; then + local generated + generated="$(generate_random_password)" + warn " ${var_name}: 자동 생성 (vault kv get 으로 조회 가능)" + printf '%s' "$generated" + return 0 + fi + + die "${var_name} 가 비어있고 비대화 환경이며 AUTO_GENERATE=yes 도 아닙니다." +} + +seed_if_missing() { + local path="$1" + if vault_kv_exists "$path"; then + log " secret/${path}: 이미 존재 → skip (회전된 값 보호)" + return 1 + fi + return 0 +} + +kv_put_json() { + local path="$1"; shift + local jq_expr="$1"; shift + jq -n "$@" "$jq_expr" \ + | kubectl exec -i -n "$VAULT_NAMESPACE" "$VAULT_POD" -- \ + vault kv put "secret/${path}" - >/dev/null +} + +vault_kv_get_field() { + local path="$1" + local field="$2" + vault_exec kv get -format=json "secret/${path}" \ + | jq -r --arg field "$field" '.data.data[$field] // empty' +} + +seed_identity_postgres_superuser() { + seed_if_missing "identity-postgres/superuser" || return 0 + local pw + pw="$(resolve_password POSTGRES_SUPERUSER_PASSWORD "Postgres superuser 비밀번호")" + kv_put_json "identity-postgres/superuser" \ + '{username: $u, password: $p}' \ + --arg u "$POSTGRES_SUPERUSER_USERNAME" \ + --arg p "$pw" + log " secret/identity-postgres/superuser 작성" +} + +seed_keycloak_db() { + seed_if_missing "keycloak/db" || return 0 + local pw + pw="$(resolve_password KEYCLOAK_DB_PASSWORD "Keycloak DB 비밀번호")" + kv_put_json "keycloak/db" \ + '{password: $p}' \ + --arg p "$pw" + log " secret/keycloak/db 작성" +} + +seed_auth_server_db() { + seed_if_missing "auth-server/db" || return 0 + local pw + pw="$(resolve_password AUTH_SERVER_DB_PASSWORD "auth-server DB 비밀번호")" + kv_put_json "auth-server/db" \ + '{SPRING_DATASOURCE_USERNAME: $u, SPRING_DATASOURCE_PASSWORD: $p}' \ + --arg u "$AUTH_SERVER_DB_USERNAME" \ + --arg p "$pw" + log " secret/auth-server/db 작성" +} + +seed_keycloak_bootstrap_admin() { + seed_if_missing "keycloak/bootstrap-admin" || return 0 + local pw + pw="$(resolve_password KEYCLOAK_ADMIN_PASSWORD "Keycloak 관리자 비밀번호")" + kv_put_json "keycloak/bootstrap-admin" \ + '{KEYCLOAK_ADMIN: $u, KEYCLOAK_ADMIN_PASSWORD: $p}' \ + --arg u "$KEYCLOAK_ADMIN_USERNAME" \ + --arg p "$pw" + log " secret/keycloak/bootstrap-admin 작성" +} + +seed_minio_tenant_env() { + seed_if_missing "minio/tenant-env" || return 0 + local pw env_content + pw="$(resolve_password MINIO_ROOT_PASSWORD "MinIO 루트 비밀번호")" + env_content=$( + printf 'export MINIO_ROOT_USER="%s"\nexport MINIO_ROOT_PASSWORD="%s"\n' \ + "$MINIO_ROOT_USER" "$pw" + ) + kv_put_json "minio/tenant-env" \ + '{"config.env": $cfg}' \ + --arg cfg "$env_content" + log " secret/minio/tenant-env 작성" +} + +# docker-registry 가 MinIO 에 접근할 때 쓸 AK/SK. 이 값으로 bootstrap 후속 +# phase 에서 MinIO admin user 를 만들고 bucket-scoped policy 를 부착한다. +# registry Deployment 는 VSO 가 동기화한 Secret `docker-registry-minio` 에서 +# 동일 값을 REGISTRY_STORAGE_S3_ACCESSKEY / SECRETKEY 로 읽는다. +seed_docker_registry_minio() { + seed_if_missing "docker-registry/minio" || return 0 + local sk + sk="$(resolve_password DOCKER_REGISTRY_MINIO_SECRETKEY "docker-registry MinIO secret key")" + kv_put_json "docker-registry/minio" \ + '{access_key: $ak, secret_key: $sk}' \ + --arg ak "$DOCKER_REGISTRY_MINIO_ACCESSKEY" \ + --arg sk "$sk" + log " secret/docker-registry/minio 작성 (access_key=${DOCKER_REGISTRY_MINIO_ACCESSKEY})" +} + +# 외부에서 registry.project.com 으로 push 할 때 Traefik BasicAuth 가 검증할 +# htpasswd 라인을 저장한다. Registry 자체 auth 는 켜지지 않고, 외부 Ingress +# 경계에서만 인증한다. +seed_docker_registry_basic_auth() { + seed_if_missing "docker-registry/basic-auth" || return 0 + local pw hash users + pw="$(resolve_password DOCKER_REGISTRY_PUSH_PASSWORD "docker-registry 외부 push 비밀번호")" + hash="$(openssl passwd -apr1 "$pw")" + users="${DOCKER_REGISTRY_PUSH_USERNAME}:${hash}" + kv_put_json "docker-registry/basic-auth" \ + '{username: $username, password: $password, users: $users}' \ + --arg username "$DOCKER_REGISTRY_PUSH_USERNAME" \ + --arg password "$pw" \ + --arg users "$users" + log " secret/docker-registry/basic-auth 작성 (username=${DOCKER_REGISTRY_PUSH_USERNAME})" +} + +# Keycloak realm import 가 client secret 을 ${AUTH_SERVER_INGRESS_CLIENT_SECRET} +# env 치환으로 요구한다. oauth2-proxy 는 동일 값을 /etc/oauth2-proxy-secrets/ +# client-secret 파일로 읽는다. 두 쪽이 같은 값을 써야 OIDC client 인증이 맞는다. +seed_keycloak_client_auth_server_ingress() { + seed_if_missing "keycloak/clients/auth-server-ingress" || return 0 + local pw + pw="$(resolve_password AUTH_SERVER_INGRESS_CLIENT_SECRET \ + "Keycloak client 'auth-server-ingress' secret")" + AUTH_SERVER_INGRESS_CLIENT_SECRET="$pw" + kv_put_json "keycloak/clients/auth-server-ingress" \ + '{client_secret: $p}' \ + --arg p "$pw" + log " secret/keycloak/clients/auth-server-ingress 작성" +} + +seed_oauth2_proxy_forward_auth() { + seed_if_missing "oauth2-proxy/forward-auth" || return 0 + local client_secret cookie_secret + if [[ -n "${AUTH_SERVER_INGRESS_CLIENT_SECRET:-}" ]]; then + client_secret="$AUTH_SERVER_INGRESS_CLIENT_SECRET" + elif vault_kv_exists "keycloak/clients/auth-server-ingress"; then + client_secret="$(vault_kv_get_field "keycloak/clients/auth-server-ingress" "client_secret")" + else + client_secret="$(resolve_password AUTH_SERVER_INGRESS_CLIENT_SECRET \ + "Keycloak client 'auth-server-ingress' secret")" + fi + [[ -n "$client_secret" ]] || die "auth-server-ingress client secret 을 확인할 수 없습니다." + cookie_secret="$(resolve_password OAUTH2_PROXY_COOKIE_SECRET \ + "oauth2-proxy cookie secret")" + kv_put_json "oauth2-proxy/forward-auth" \ + '{client_secret: $client_secret, cookie_secret: $cookie_secret}' \ + --arg client_secret "$client_secret" \ + --arg cookie_secret "$cookie_secret" + log " secret/oauth2-proxy/forward-auth 작성" +} + +main() { + require_cmd kubectl jq openssl + require_env REPO_ROOT + + local keys_file="${VAULT_KEYS_FILE:-$REPO_ROOT/vault-init-keys.json}" + vault_login_root_from_keyfile "$keys_file" + log "앱 시크릿 5 개 seed 시작 (이미 존재하는 경로는 skip)" + + seed_identity_postgres_superuser + seed_keycloak_db + seed_auth_server_db + seed_keycloak_bootstrap_admin + seed_minio_tenant_env + seed_keycloak_client_auth_server_ingress + seed_oauth2_proxy_forward_auth + seed_docker_registry_minio + seed_docker_registry_basic_auth + + log "vault-seed-apps 태스크 완료" +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/k8s/scripts/tasks/vault-setup-admin.sh b/k8s/scripts/tasks/vault-setup-admin.sh new file mode 100755 index 0000000..1705329 --- /dev/null +++ b/k8s/scripts/tasks/vault-setup-admin.sh @@ -0,0 +1,180 @@ +#!/usr/bin/env bash +# Configure operator authentication for Vault. +# +# Adds a `userpass` auth method + `vault-admin` policy + one or more admin users. +# Operators use these credentials instead of the root token for day-to-day work. +# The root token stays offline and is only used for break-glass / rekey. +# +# Required env: +# REPO_ROOT — repo root (for vault-init-keys.json path) +# +# Interactive inputs (대화형 TTY 에서 자동 프롬프트): +# VAULT_ADMIN_USERNAME — login name (비면 프롬프트) +# VAULT_ADMIN_PASSWORD — 초기 비밀번호 (비면 무음 입력 프롬프트) +# +# Non-interactive 시 (CI 등): 위 두 개를 env var 로 전달해야 함. +# +# Optional env: +# VAULT_ADMIN_TTL — token TTL per login (default: 8h) +# VAULT_ADMIN_MAX_TTL — maximum TTL (default: 24h) +# +# 입력 검증: +# - username: 영문/숫자/._- 만 허용, 1..64 자 +# - TTL/MAX_TTL: 숫자+단위(s|m|h|d), 1..16 자 +# 이 값들은 Vault API 경로/파라미터에 쓰이는데, 과거 구현은 `sh -c` 문자열에 +# 직접 보간했다. allowlist 를 통과시키면 쉘 메타문자 주입 경로가 닫히고, +# 아래 `vault write` 호출은 `sh -c` 없이 kubectl exec 로 직접 실행한다. + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" +# shellcheck source=../lib/vault.sh +. "$SCRIPT_DIR/../lib/vault.sh" + +USERNAME_RE='^[A-Za-z0-9._-]{1,64}$' +TTL_RE='^[0-9]+[smhd]?$' + +validate_inputs() { + [[ "$VAULT_ADMIN_USERNAME" =~ $USERNAME_RE ]] \ + || die "VAULT_ADMIN_USERNAME 형식 불일치 (영문/숫자/._- 만 허용, 1..64자): '$VAULT_ADMIN_USERNAME'" + [[ "$ADMIN_TTL" =~ $TTL_RE ]] \ + || die "VAULT_ADMIN_TTL 형식 불일치 (예: 8h, 3600, 30m): '$ADMIN_TTL'" + [[ "$ADMIN_MAX_TTL" =~ $TTL_RE ]] \ + || die "VAULT_ADMIN_MAX_TTL 형식 불일치 (예: 24h, 86400): '$ADMIN_MAX_TTL'" + (( ${#ADMIN_TTL} <= 16 && ${#ADMIN_MAX_TTL} <= 16 )) \ + || die "TTL 값이 너무 깁니다." +} + +prompt_username_if_missing() { + [[ -n "${VAULT_ADMIN_USERNAME:-}" ]] && return 0 + if [[ ! -t 0 ]]; then + die "VAULT_ADMIN_USERNAME 환경 변수가 비어있습니다 (비대화 환경)." + fi + read -r -p "운영자 username (e.g. alice): " VAULT_ADMIN_USERNAME + [[ -n "$VAULT_ADMIN_USERNAME" ]] || die "username 이 비어있습니다." +} + +prompt_password_if_missing() { + [[ -n "${VAULT_ADMIN_PASSWORD:-}" ]] && return 0 + if [[ ! -t 0 ]]; then + die "VAULT_ADMIN_PASSWORD 환경 변수가 비어있습니다 (비대화 환경)." + fi + read -r -s -p "${VAULT_ADMIN_USERNAME} 초기 비밀번호: " VAULT_ADMIN_PASSWORD + echo >&2 + [[ -n "$VAULT_ADMIN_PASSWORD" ]] || die "비밀번호가 비어있습니다." + + local confirm + read -r -s -p "비밀번호 한 번 더 입력: " confirm + echo >&2 + [[ "$VAULT_ADMIN_PASSWORD" == "$confirm" ]] \ + || die "비밀번호가 일치하지 않습니다." + unset confirm +} + +enable_userpass() { + if vault_auth_method_enabled "userpass"; then + log "auth method 'userpass/' 이미 활성화됨" + else + log "userpass auth method 활성화" + vault_exec auth enable userpass + fi +} + +write_admin_policy() { + # sudo capability 는 sys/* 일부 엔드포인트 (seal/audit/generate-root) 때문에 필요. + # 권한이 강하므로 인프라 담당자에게만 부여. + log "policy 'vault-admin' 작성" + vault_exec_sh 'cat <<"EOF" | vault policy write vault-admin - +# KV v2 — 전 경로 관리 +path "secret/*" { + capabilities = ["create", "read", "update", "delete", "list"] +} +path "secret/data/*" { + capabilities = ["create", "read", "update", "delete", "list"] +} +path "secret/metadata/*" { + capabilities = ["create", "read", "update", "delete", "list"] +} + +# Auth method / identity 관리 +path "auth/*" { + capabilities = ["create", "read", "update", "delete", "list", "sudo"] +} +path "identity/*" { + capabilities = ["create", "read", "update", "delete", "list"] +} + +# policy 관리 (자기 자신 포함) +path "sys/policies/*" { + capabilities = ["create", "read", "update", "delete", "list"] +} +path "sys/policy/*" { + capabilities = ["create", "read", "update", "delete", "list"] +} + +# 상태 / 감사 장치 / mount 관리 +path "sys/health" { capabilities = ["read"] } +path "sys/seal-status" { capabilities = ["read"] } +path "sys/mounts" { capabilities = ["read", "list"] } +path "sys/mounts/*" { + capabilities = ["create", "read", "update", "delete", "list", "sudo"] +} +path "sys/audit" { capabilities = ["read", "list"] } +path "sys/audit/*" { + capabilities = ["create", "read", "update", "delete", "sudo"] +} +EOF +' >/dev/null +} + +# 사용자 생성/갱신 — `sh -c` 를 쓰지 않는다. +# +# 비밀번호는 `vault write -` 의 JSON stdin 으로 전달해 argv / 쉘 히스토리 노출이 +# 전혀 없다. 나머지 파라미터 (username / TTL) 는 allowlist 를 통과한 값만 +# kubectl exec argv 로 직접 전달된다 (쉘 해석 없음). +create_or_update_user() { + log "userpass user '${VAULT_ADMIN_USERNAME}' 생성/갱신 (ttl=${ADMIN_TTL} max_ttl=${ADMIN_MAX_TTL})" + jq -n --arg p "$VAULT_ADMIN_PASSWORD" \ + --arg ttl "$ADMIN_TTL" \ + --arg max "$ADMIN_MAX_TTL" \ + '{password:$p, token_policies:"vault-admin", token_ttl:$ttl, token_max_ttl:$max}' \ + | kubectl exec -i -n "$VAULT_NAMESPACE" "$VAULT_POD" -- \ + vault write "auth/userpass/users/${VAULT_ADMIN_USERNAME}" - >/dev/null +} + +print_next_steps() { + log "vault-setup-admin 태스크 완료" + log "" + log "다음 단계:" + log " 1) 운영자는 다음 명령으로 로그인 (root token 사용 중단)" + log " vault login -method=userpass username=${VAULT_ADMIN_USERNAME}" + log " 2) 각 운영자는 첫 로그인 후 비밀번호를 변경" + log " vault write auth/userpass/users/${VAULT_ADMIN_USERNAME}/password password='<new>'" + log " 3) root token 은 오프라인 금고로 이동 후 vault-init-keys.json 에서 삭제 검토" + log " (재발급은 \"vault operator generate-root -init\" 으로 가능)" +} + +main() { + require_cmd kubectl jq + require_env REPO_ROOT + + prompt_username_if_missing + prompt_password_if_missing + + ADMIN_TTL="${VAULT_ADMIN_TTL:-8h}" + ADMIN_MAX_TTL="${VAULT_ADMIN_MAX_TTL:-24h}" + validate_inputs + + local keys_file="${VAULT_KEYS_FILE:-$REPO_ROOT/vault-init-keys.json}" + vault_login_root_from_keyfile "$keys_file" + + enable_userpass + write_admin_policy + create_or_update_user + print_next_steps +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/k8s/scripts/tasks/vso-install.sh b/k8s/scripts/tasks/vso-install.sh new file mode 100755 index 0000000..287facc --- /dev/null +++ b/k8s/scripts/tasks/vso-install.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash +# Install (or upgrade) the vault-secrets-operator Helm release. +# +# Idempotent. 이전 실행에서 failed / pending / uninstalling 상태로 남은 릴리즈 +# 메타데이터가 있으면 먼저 uninstall 한 뒤 깨끗하게 재설치한다 (Helm 의 +# "no deployed releases" 문제 회피). +# +# `--atomic` 은 설치 실패 시 자동 rollback 을 수행하는데, rollback 결과 +# "no deployed releases" 상태가 돼서 다음 helm upgrade --install 이 실패하는 +# 연쇄 문제를 낳는다. 이 스크립트는 대신 실패 상태를 명시적으로 감지해 +# uninstall 로 cleanup 하므로 --atomic 없이 실행한다. +# +# VSO 는 전용 namespace 에 설치된다 (mnt 에 직접 두면 PSS Restricted 라벨과 +# 차트 Pod spec 의 불일치로 Pod 생성이 막힘). Controller 는 cluster-scoped RBAC +# 를 갖고 있어 mnt 의 VaultAuth/VaultStaticSecret 도 정상 watch 한다. +# +# Optional env: +# VSO_NAMESPACE — target namespace (default: vault-secrets-operator-system) +# VSO_RELEASE — helm release name (default: vault-secrets-operator) +# VSO_VERSION — chart version pin (default: 0.9.0) +# VSO_VALUES_FILE — values file path (default: $REPO_ROOT/k8s/base/plugins/vso/helm/values.yaml) + +set -Eeuo pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +# shellcheck source=../lib/common.sh +. "$SCRIPT_DIR/../lib/common.sh" + +: "${VSO_NAMESPACE:=vault-secrets-operator-system}" +: "${VSO_RELEASE:=vault-secrets-operator}" +: "${VSO_VERSION:=0.9.0}" + +resolve_values_file() { + : "${VSO_VALUES_FILE:=$REPO_ROOT/k8s/base/plugins/vso/helm/values.yaml}" + [[ -f "$VSO_VALUES_FILE" ]] || die "values.yaml 없음: $VSO_VALUES_FILE" +} + +register_repo() { + log "helm repo: hashicorp 등록 (idempotent)" + helm repo add hashicorp https://helm.releases.hashicorp.com >/dev/null 2>&1 || true + helm repo update hashicorp >/dev/null +} + +# 기존 릴리즈가 dirty 상태 (failed/pending-*/uninstalling/uninstalled) 면 선제 +# uninstall 해야 다음 upgrade --install 이 성공한다. +cleanup_dirty_release() { + local status="" + if helm -n "$VSO_NAMESPACE" status "$VSO_RELEASE" -o json >/dev/null 2>&1; then + status="$(helm -n "$VSO_NAMESPACE" status "$VSO_RELEASE" -o json \ + | jq -r '.info.status // "unknown"')" + fi + + case "$status" in + "") + log "기존 Helm 릴리즈 없음 → 신규 install" + ;; + "deployed") + log "기존 릴리즈 상태=deployed → upgrade 진행" + ;; + "failed"|"pending-install"|"pending-upgrade"|"pending-rollback"|"uninstalling"|"uninstalled") + warn "기존 릴리즈 상태=$status (dirty) → helm uninstall 먼저" + helm -n "$VSO_NAMESPACE" uninstall "$VSO_RELEASE" --wait --timeout 5m 2>/dev/null \ + || warn " uninstall 중 오류 무시 (이미 부분 정리됐을 수 있음)" + ;; + *) + warn "기존 릴리즈 상태=$status (예상 외) — 일단 upgrade 시도" + ;; + esac +} + +install_or_upgrade() { + log "helm upgrade --install $VSO_RELEASE (v=$VSO_VERSION ns=$VSO_NAMESPACE)" + helm upgrade --install "$VSO_RELEASE" hashicorp/vault-secrets-operator \ + --namespace "$VSO_NAMESPACE" \ + --create-namespace \ + --version "$VSO_VERSION" \ + --values "$VSO_VALUES_FILE" \ + --wait \ + --timeout 5m +} + +wait_ready() { + log "VSO Pod Ready 확인" + kubectl -n "$VSO_NAMESPACE" wait --for=condition=Ready \ + pod -l "app.kubernetes.io/name=vault-secrets-operator" \ + --timeout=120s +} + +main() { + require_cmd helm kubectl jq + require_env REPO_ROOT + + resolve_values_file + register_repo + cleanup_dirty_release + install_or_upgrade + wait_ready + log "vso-install 태스크 완료" +} + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi diff --git a/presentation/.venv/bin/Activate.ps1 b/presentation/.venv/bin/Activate.ps1 new file mode 100644 index 0000000..b49d77b --- /dev/null +++ b/presentation/.venv/bin/Activate.ps1 @@ -0,0 +1,247 @@ +<# +.Synopsis +Activate a Python virtual environment for the current PowerShell session. + +.Description +Pushes the python executable for a virtual environment to the front of the +$Env:PATH environment variable and sets the prompt to signify that you are +in a Python virtual environment. Makes use of the command line switches as +well as the `pyvenv.cfg` file values present in the virtual environment. + +.Parameter VenvDir +Path to the directory that contains the virtual environment to activate. The +default value for this is the parent of the directory that the Activate.ps1 +script is located within. + +.Parameter Prompt +The prompt prefix to display when this virtual environment is activated. By +default, this prompt is the name of the virtual environment folder (VenvDir) +surrounded by parentheses and followed by a single space (ie. '(.venv) '). + +.Example +Activate.ps1 +Activates the Python virtual environment that contains the Activate.ps1 script. + +.Example +Activate.ps1 -Verbose +Activates the Python virtual environment that contains the Activate.ps1 script, +and shows extra information about the activation as it executes. + +.Example +Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv +Activates the Python virtual environment located in the specified location. + +.Example +Activate.ps1 -Prompt "MyPython" +Activates the Python virtual environment that contains the Activate.ps1 script, +and prefixes the current prompt with the specified string (surrounded in +parentheses) while the virtual environment is active. + +.Notes +On Windows, it may be required to enable this Activate.ps1 script by setting the +execution policy for the user. You can do this by issuing the following PowerShell +command: + +PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser + +For more information on Execution Policies: +https://go.microsoft.com/fwlink/?LinkID=135170 + +#> +Param( + [Parameter(Mandatory = $false)] + [String] + $VenvDir, + [Parameter(Mandatory = $false)] + [String] + $Prompt +) + +<# Function declarations --------------------------------------------------- #> + +<# +.Synopsis +Remove all shell session elements added by the Activate script, including the +addition of the virtual environment's Python executable from the beginning of +the PATH variable. + +.Parameter NonDestructive +If present, do not remove this function from the global namespace for the +session. + +#> +function global:deactivate ([switch]$NonDestructive) { + # Revert to original values + + # The prior prompt: + if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { + Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt + Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT + } + + # The prior PYTHONHOME: + if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { + Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME + Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME + } + + # The prior PATH: + if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { + Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH + Remove-Item -Path Env:_OLD_VIRTUAL_PATH + } + + # Just remove the VIRTUAL_ENV altogether: + if (Test-Path -Path Env:VIRTUAL_ENV) { + Remove-Item -Path env:VIRTUAL_ENV + } + + # Just remove VIRTUAL_ENV_PROMPT altogether. + if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) { + Remove-Item -Path env:VIRTUAL_ENV_PROMPT + } + + # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: + if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { + Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force + } + + # Leave deactivate function in the global namespace if requested: + if (-not $NonDestructive) { + Remove-Item -Path function:deactivate + } +} + +<# +.Description +Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the +given folder, and returns them in a map. + +For each line in the pyvenv.cfg file, if that line can be parsed into exactly +two strings separated by `=` (with any amount of whitespace surrounding the =) +then it is considered a `key = value` line. The left hand string is the key, +the right hand is the value. + +If the value starts with a `'` or a `"` then the first and last character is +stripped from the value before being captured. + +.Parameter ConfigDir +Path to the directory that contains the `pyvenv.cfg` file. +#> +function Get-PyVenvConfig( + [String] + $ConfigDir +) { + Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" + + # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). + $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue + + # An empty map will be returned if no config file is found. + $pyvenvConfig = @{ } + + if ($pyvenvConfigPath) { + + Write-Verbose "File exists, parse `key = value` lines" + $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath + + $pyvenvConfigContent | ForEach-Object { + $keyval = $PSItem -split "\s*=\s*", 2 + if ($keyval[0] -and $keyval[1]) { + $val = $keyval[1] + + # Remove extraneous quotations around a string value. + if ("'""".Contains($val.Substring(0, 1))) { + $val = $val.Substring(1, $val.Length - 2) + } + + $pyvenvConfig[$keyval[0]] = $val + Write-Verbose "Adding Key: '$($keyval[0])'='$val'" + } + } + } + return $pyvenvConfig +} + + +<# Begin Activate script --------------------------------------------------- #> + +# Determine the containing directory of this script +$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition +$VenvExecDir = Get-Item -Path $VenvExecPath + +Write-Verbose "Activation script is located in path: '$VenvExecPath'" +Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" +Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" + +# Set values required in priority: CmdLine, ConfigFile, Default +# First, get the location of the virtual environment, it might not be +# VenvExecDir if specified on the command line. +if ($VenvDir) { + Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" +} +else { + Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." + $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") + Write-Verbose "VenvDir=$VenvDir" +} + +# Next, read the `pyvenv.cfg` file to determine any required value such +# as `prompt`. +$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir + +# Next, set the prompt from the command line, or the config file, or +# just use the name of the virtual environment folder. +if ($Prompt) { + Write-Verbose "Prompt specified as argument, using '$Prompt'" +} +else { + Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" + if ($pyvenvCfg -and $pyvenvCfg['prompt']) { + Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" + $Prompt = $pyvenvCfg['prompt']; + } + else { + Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)" + Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" + $Prompt = Split-Path -Path $venvDir -Leaf + } +} + +Write-Verbose "Prompt = '$Prompt'" +Write-Verbose "VenvDir='$VenvDir'" + +# Deactivate any currently active virtual environment, but leave the +# deactivate function in place. +deactivate -nondestructive + +# Now set the environment variable VIRTUAL_ENV, used by many tools to determine +# that there is an activated venv. +$env:VIRTUAL_ENV = $VenvDir + +if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { + + Write-Verbose "Setting prompt to '$Prompt'" + + # Set the prompt to include the env name + # Make sure _OLD_VIRTUAL_PROMPT is global + function global:_OLD_VIRTUAL_PROMPT { "" } + Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT + New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt + + function global:prompt { + Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " + _OLD_VIRTUAL_PROMPT + } + $env:VIRTUAL_ENV_PROMPT = $Prompt +} + +# Clear PYTHONHOME +if (Test-Path -Path Env:PYTHONHOME) { + Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME + Remove-Item -Path Env:PYTHONHOME +} + +# Add the venv to the PATH +Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH +$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/presentation/.venv/bin/__pycache__/vba_extract.cpython-312.pyc b/presentation/.venv/bin/__pycache__/vba_extract.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..14b1f3ac0eea413406b46f011e2ffcc89582c6e1 GIT binary patch literal 2393 zcmcIlO>7fK6rTO_uGgE`At5DAC6?dd61*goAGvX>LV^e&+6p1SJwzMtB;K&zwPu&t z>xRlvX`xc3niH-fq#UWZ^w?v|!uan-Pwf_f=Exr9TNUOHp%)&x+CDs|+Yd9&}m z?|tuQ<?lN>M1a?CXB+z4VE}$1mtYCLu=*<vz;&PjjWR%*oU}pZ=ro;U(hLPO<}ygL z8k^=cE*+u)<RO@e1t9J77S)oq(1lR|Q0&E4TBr}3rNd?)MiMnX@S*^|gPGnoULf7_ z1qy_T4FkiPa0@dgD=pzSER-M@ylLWyS{QN*;0E1B*F+d9VGk(H^fz7CZ9$A#fHwMw zq2~}o>k(bbrM3asxgDUvbQF7uS_JPg7!9JXx5v7F$?rVwKsx$C)TLTyfr4Ea{m@II zi<$((3qb3*!2}Fmrm8Q9O8-+-t<#Uft&1XRf9L%lqi*;=D_H<V<~%4+@z^8M`BQP) z6A!CeTF)QV4e0T{knsnrIUOwC8T_n%inr@v4$Sx?-qiY=M$J)Vu!3S-q8;MXTyvC0 z2V-=JnPX<SK+`_wo*GhY!M8Pm6bvT?To7kYtuaMI@#w;2ob^})Rn23qJTyJ7fOH3X zT*k0$h;>5IuyYe7J?{xqI7L&<L66l`NA*~8w@G#~UTZleYvrJ#S>|-sg_fyka8`K_ zSu-%>>=`$wkgDVnw4v#!j*iudS!m8GhCZp}T_<aq`w~OLij8CM$*Y+Q>NK>KM8f|~ z>ZUR~sZPM6gVc<Z$h)58%M*kJ>cT9@V;{m>89az|f06nuRo%F_X{j&19C^Jw`XmIT zSVgFAUyf`pkFK!7mE-fruR3+M$Cp1jxr%*3sS^kCX(w>p(kt!zX?@yMor?$(#Us*1 zbr;^nGmdWPjw?Hs?6Z<px$Q=*W&Ehfm8X!ElT}k5D`ub}5AWT3aJNh<Ea%h=vSgBs zJY^wSH*JVWov?&qvBx>XE}kX5K~1ZKI6fsiS=e&4WfehL)2DSuH4Im_F;l1w26V96 zurbP0q}Ju)BZ{XXOv+iu$=gXq!L*9aVL%BoA2^m~W$c7*DFq8%(9P+Ig6?D|n#Aoy z*2x*7c*e$!OOh}_uUgO~MbV>BDKge-A=HvG3XytCM@h~QAqyqt((dLhr@FFfIr1cI z*Xo%nCFOxNYM{j6vlM?>r$oHlV{F&<cs$Ug)`)y$h|F+vggl8bCyM5r_mUeaWwYt+ z_YBs1tcs>*y)dEG)OcJT;a+(xEb0!DFr+6C6hpTij~{<`jAZCh5EF2aC!Bz8>rI%9 zLY}nxD}Xi-CgfjnO&G~p+C>Atg?8dAnKk=!yf+w%qE=r8RODwc@HoU%U5#E4lgrXd z-*64|{vHA>U$(Cl=ZhbwDnmaoJu9*9>%ujm+I1~5KmL#nH)uW_f5L>hP@@NM9pxie zj?Evte7wQRRP<rAx8g2tTaNB5AHzsoS7lRmq|WZT&xWs_s7jTOYU0j1JMe&)YSA4_ z{EnNOeu^iT;>qRs$PzztU+Afvt8Lz27Y^JPIx3OcYs0nveYMUveiZgMI3T3{Xox_F zJ_a-uC5R`#?5@7Q&|4L1;+8tQb%m8$WXOm4=K~%avY68IhS;|z9sDNz^@rbXsfnX? zcI;W#uIF7BnZ@zNH*cynac`X+A`s&KI(y(*&)8$YyfEl`!v>G7*6bAS%6HxGgbw$E v+x^_w5OZ7JdW2{0@B)_aL=&SlbC)LaT`@75V(zAhe2?2YHptu?B=&y+JR?>u literal 0 HcmV?d00001 diff --git a/presentation/.venv/bin/activate b/presentation/.venv/bin/activate new file mode 100644 index 0000000..b75ce97 --- /dev/null +++ b/presentation/.venv/bin/activate @@ -0,0 +1,70 @@ +# This file must be used with "source bin/activate" *from bash* +# You cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then + PATH="${_OLD_VIRTUAL_PATH:-}" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then + PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # Call hash to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + hash -r 2> /dev/null + + if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then + PS1="${_OLD_VIRTUAL_PS1:-}" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + unset VIRTUAL_ENV_PROMPT + if [ ! "${1:-}" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +# on Windows, a path can contain colons and backslashes and has to be converted: +if [ "${OSTYPE:-}" = "cygwin" ] || [ "${OSTYPE:-}" = "msys" ] ; then + # transform D:\path\to\venv to /d/path/to/venv on MSYS + # and to /cygdrive/d/path/to/venv on Cygwin + export VIRTUAL_ENV=$(cygpath /home/donghyeon/dev/Project-Infra/presentation/.venv) +else + # use the path as-is + export VIRTUAL_ENV=/home/donghyeon/dev/Project-Infra/presentation/.venv +fi + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/"bin":$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "${PYTHONHOME:-}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1:-}" + PS1='(.venv) '"${PS1:-}" + export PS1 + VIRTUAL_ENV_PROMPT='(.venv) ' + export VIRTUAL_ENV_PROMPT +fi + +# Call hash to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +hash -r 2> /dev/null diff --git a/presentation/.venv/bin/activate.csh b/presentation/.venv/bin/activate.csh new file mode 100644 index 0000000..5109e73 --- /dev/null +++ b/presentation/.venv/bin/activate.csh @@ -0,0 +1,27 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. + +# Created by Davide Di Blasi <davidedb@gmail.com>. +# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com> + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV /home/donghyeon/dev/Project-Infra/presentation/.venv + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/"bin":$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + set prompt = '(.venv) '"$prompt" + setenv VIRTUAL_ENV_PROMPT '(.venv) ' +endif + +alias pydoc python -m pydoc + +rehash diff --git a/presentation/.venv/bin/activate.fish b/presentation/.venv/bin/activate.fish new file mode 100644 index 0000000..adf5580 --- /dev/null +++ b/presentation/.venv/bin/activate.fish @@ -0,0 +1,69 @@ +# This file must be used with "source <venv>/bin/activate.fish" *from fish* +# (https://fishshell.com/). You cannot run it directly. + +function deactivate -d "Exit virtual environment and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + set -e _OLD_FISH_PROMPT_OVERRIDE + # prevents error when using nested fish instances (Issue #93858) + if functions -q _old_fish_prompt + functions -e fish_prompt + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + end + + set -e VIRTUAL_ENV + set -e VIRTUAL_ENV_PROMPT + if test "$argv[1]" != "nondestructive" + # Self-destruct! + functions -e deactivate + end +end + +# Unset irrelevant variables. +deactivate nondestructive + +set -gx VIRTUAL_ENV /home/donghyeon/dev/Project-Infra/presentation/.venv + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/"bin $PATH + +# Unset PYTHONHOME if set. +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # Save the current fish_prompt function as the function _old_fish_prompt. + functions -c fish_prompt _old_fish_prompt + + # With the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command. + set -l old_status $status + + # Output the venv prompt; color taken from the blue of the Python logo. + printf "%s%s%s" (set_color 4B8BBE) '(.venv) ' (set_color normal) + + # Restore the return status of the previous command. + echo "exit $old_status" | . + # Output the original/"old" prompt. + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" + set -gx VIRTUAL_ENV_PROMPT '(.venv) ' +end diff --git a/presentation/.venv/bin/pip b/presentation/.venv/bin/pip new file mode 100755 index 0000000..13b6b66 --- /dev/null +++ b/presentation/.venv/bin/pip @@ -0,0 +1,8 @@ +#!/home/donghyeon/dev/Project-Infra/presentation/.venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/presentation/.venv/bin/pip3 b/presentation/.venv/bin/pip3 new file mode 100755 index 0000000..13b6b66 --- /dev/null +++ b/presentation/.venv/bin/pip3 @@ -0,0 +1,8 @@ +#!/home/donghyeon/dev/Project-Infra/presentation/.venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/presentation/.venv/bin/pip3.12 b/presentation/.venv/bin/pip3.12 new file mode 100755 index 0000000..13b6b66 --- /dev/null +++ b/presentation/.venv/bin/pip3.12 @@ -0,0 +1,8 @@ +#!/home/donghyeon/dev/Project-Infra/presentation/.venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/presentation/.venv/bin/python b/presentation/.venv/bin/python new file mode 120000 index 0000000..b8a0adb --- /dev/null +++ b/presentation/.venv/bin/python @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/presentation/.venv/bin/python3 b/presentation/.venv/bin/python3 new file mode 120000 index 0000000..ae65fda --- /dev/null +++ b/presentation/.venv/bin/python3 @@ -0,0 +1 @@ +/usr/bin/python3 \ No newline at end of file diff --git a/presentation/.venv/bin/python3.12 b/presentation/.venv/bin/python3.12 new file mode 120000 index 0000000..b8a0adb --- /dev/null +++ b/presentation/.venv/bin/python3.12 @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/presentation/.venv/bin/vba_extract.py b/presentation/.venv/bin/vba_extract.py new file mode 100755 index 0000000..44c53d4 --- /dev/null +++ b/presentation/.venv/bin/vba_extract.py @@ -0,0 +1,79 @@ +#!/home/donghyeon/dev/Project-Infra/presentation/.venv/bin/python3 + +############################################################################## +# +# vba_extract - A simple utility to extract a vbaProject.bin binary from an +# Excel 2007+ xlsm file for insertion into an XlsxWriter file. +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2013-2025, John McNamara, jmcnamara@cpan.org +# + +import sys +from zipfile import BadZipFile, ZipFile + + +def extract_file(xlsm_zip, filename): + # Extract a single file from an Excel xlsm macro file. + data = xlsm_zip.read("xl/" + filename) + + # Write the data to a local file. + file = open(filename, "wb") + file.write(data) + file.close() + + +# The VBA project file and project signature file we want to extract. +vba_filename = "vbaProject.bin" +vba_signature_filename = "vbaProjectSignature.bin" + +# Get the xlsm file name from the commandline. +if len(sys.argv) > 1: + xlsm_file = sys.argv[1] +else: + print( + "\nUtility to extract a vbaProject.bin binary from an Excel 2007+ " + "xlsm macro file for insertion into an XlsxWriter file.\n" + "If the macros are digitally signed, extracts also a vbaProjectSignature.bin " + "file.\n" + "\n" + "See: https://xlsxwriter.readthedocs.io/working_with_macros.html\n" + "\n" + "Usage: vba_extract file.xlsm\n" + ) + sys.exit() + +try: + # Open the Excel xlsm file as a zip file. + xlsm_zip = ZipFile(xlsm_file, "r") + + # Read the xl/vbaProject.bin file. + extract_file(xlsm_zip, vba_filename) + print(f"Extracted: {vba_filename}") + + if "xl/" + vba_signature_filename in xlsm_zip.namelist(): + extract_file(xlsm_zip, vba_signature_filename) + print(f"Extracted: {vba_signature_filename}") + + +except IOError as e: + print(f"File error: {str(e)}") + sys.exit() + +except KeyError as e: + # Usually when there isn't a xl/vbaProject.bin member in the file. + print(f"File error: {str(e)}") + print(f"File may not be an Excel xlsm macro file: '{xlsm_file}'") + sys.exit() + +except BadZipFile as e: + # Usually if the file is an xls file and not an xlsm file. + print(f"File error: {str(e)}: '{xlsm_file}'") + print("File may not be an Excel xlsm macro file.") + sys.exit() + +except Exception as e: + # Catch any other exceptions. + print(f"File error: {str(e)}") + sys.exit() diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/AvifImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/AvifImagePlugin.py new file mode 100644 index 0000000..43c39a9 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/AvifImagePlugin.py @@ -0,0 +1,293 @@ +from __future__ import annotations + +import os +from io import BytesIO +from typing import IO + +from . import ExifTags, Image, ImageFile + +try: + from . import _avif + + SUPPORTED = True +except ImportError: + SUPPORTED = False + +# Decoder options as module globals, until there is a way to pass parameters +# to Image.open (see https://github.com/python-pillow/Pillow/issues/569) +DECODE_CODEC_CHOICE = "auto" +DEFAULT_MAX_THREADS = 0 + + +def get_codec_version(codec_name: str) -> str | None: + versions = _avif.codec_versions() + for version in versions.split(", "): + if version.split(" [")[0] == codec_name: + return version.split(":")[-1].split(" ")[0] + return None + + +def _accept(prefix: bytes) -> bool | str: + if prefix[4:8] != b"ftyp": + return False + major_brand = prefix[8:12] + if major_brand in ( + # coding brands + b"avif", + b"avis", + # We accept files with AVIF container brands; we can't yet know if + # the ftyp box has the correct compatible brands, but if it doesn't + # then the plugin will raise a SyntaxError which Pillow will catch + # before moving on to the next plugin that accepts the file. + # + # Also, because this file might not actually be an AVIF file, we + # don't raise an error if AVIF support isn't properly compiled. + b"mif1", + b"msf1", + ): + if not SUPPORTED: + return ( + "image file could not be identified because AVIF support not installed" + ) + return True + return False + + +def _get_default_max_threads() -> int: + if DEFAULT_MAX_THREADS: + return DEFAULT_MAX_THREADS + if hasattr(os, "sched_getaffinity"): + return len(os.sched_getaffinity(0)) + else: + return os.cpu_count() or 1 + + +class AvifImageFile(ImageFile.ImageFile): + format = "AVIF" + format_description = "AVIF image" + __frame = -1 + + def _open(self) -> None: + if not SUPPORTED: + msg = "image file could not be opened because AVIF support not installed" + raise SyntaxError(msg) + + if DECODE_CODEC_CHOICE != "auto" and not _avif.decoder_codec_available( + DECODE_CODEC_CHOICE + ): + msg = "Invalid opening codec" + raise ValueError(msg) + + assert self.fp is not None + self._decoder = _avif.AvifDecoder( + self.fp.read(), + DECODE_CODEC_CHOICE, + _get_default_max_threads(), + ) + + # Get info from decoder + self._size, self.n_frames, self._mode, icc, exif, exif_orientation, xmp = ( + self._decoder.get_info() + ) + self.is_animated = self.n_frames > 1 + + if icc: + self.info["icc_profile"] = icc + if xmp: + self.info["xmp"] = xmp + + if exif_orientation != 1 or exif: + exif_data = Image.Exif() + if exif: + exif_data.load(exif) + original_orientation = exif_data.get(ExifTags.Base.Orientation, 1) + else: + original_orientation = 1 + if exif_orientation != original_orientation: + exif_data[ExifTags.Base.Orientation] = exif_orientation + exif = exif_data.tobytes() + if exif: + self.info["exif"] = exif + self.seek(0) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + + # Set tile + self.__frame = frame + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 0, self.mode)] + + def load(self) -> Image.core.PixelAccess | None: + if self.tile: + # We need to load the image data for this frame + data, timescale, pts_in_timescales, duration_in_timescales = ( + self._decoder.get_frame(self.__frame) + ) + self.info["timestamp"] = round(1000 * (pts_in_timescales / timescale)) + self.info["duration"] = round(1000 * (duration_in_timescales / timescale)) + + if self.fp and self._exclusive_fp: + self.fp.close() + self.fp = BytesIO(data) + + return super().load() + + def load_seek(self, pos: int) -> None: + pass + + def tell(self) -> int: + return self.__frame + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, save_all: bool = False +) -> None: + info = im.encoderinfo.copy() + if save_all: + append_images = list(info.get("append_images", [])) + else: + append_images = [] + + total = 0 + for ims in [im] + append_images: + total += getattr(ims, "n_frames", 1) + + quality = info.get("quality", 75) + if not isinstance(quality, int) or quality < 0 or quality > 100: + msg = "Invalid quality setting" + raise ValueError(msg) + + duration = info.get("duration", 0) + subsampling = info.get("subsampling", "4:2:0") + speed = info.get("speed", 6) + max_threads = info.get("max_threads", _get_default_max_threads()) + codec = info.get("codec", "auto") + if codec != "auto" and not _avif.encoder_codec_available(codec): + msg = "Invalid saving codec" + raise ValueError(msg) + range_ = info.get("range", "full") + tile_rows_log2 = info.get("tile_rows", 0) + tile_cols_log2 = info.get("tile_cols", 0) + alpha_premultiplied = bool(info.get("alpha_premultiplied", False)) + autotiling = bool(info.get("autotiling", tile_rows_log2 == tile_cols_log2 == 0)) + + icc_profile = info.get("icc_profile", im.info.get("icc_profile")) + exif_orientation = 1 + if exif := info.get("exif"): + if isinstance(exif, Image.Exif): + exif_data = exif + else: + exif_data = Image.Exif() + exif_data.load(exif) + if ExifTags.Base.Orientation in exif_data: + exif_orientation = exif_data.pop(ExifTags.Base.Orientation) + exif = exif_data.tobytes() if exif_data else b"" + elif isinstance(exif, Image.Exif): + exif = exif_data.tobytes() + + xmp = info.get("xmp") + + if isinstance(xmp, str): + xmp = xmp.encode("utf-8") + + advanced = info.get("advanced") + if advanced is not None: + if isinstance(advanced, dict): + advanced = advanced.items() + try: + advanced = tuple(advanced) + except TypeError: + invalid = True + else: + invalid = any(not isinstance(v, tuple) or len(v) != 2 for v in advanced) + if invalid: + msg = ( + "advanced codec options must be a dict of key-value string " + "pairs or a series of key-value two-tuples" + ) + raise ValueError(msg) + + # Setup the AVIF encoder + enc = _avif.AvifEncoder( + im.size, + subsampling, + quality, + speed, + max_threads, + codec, + range_, + tile_rows_log2, + tile_cols_log2, + alpha_premultiplied, + autotiling, + icc_profile or b"", + exif or b"", + exif_orientation, + xmp or b"", + advanced, + ) + + # Add each frame + frame_idx = 0 + frame_duration = 0 + cur_idx = im.tell() + is_single_frame = total == 1 + try: + for ims in [im] + append_images: + # Get number of frames in this image + nfr = getattr(ims, "n_frames", 1) + + for idx in range(nfr): + ims.seek(idx) + + # Make sure image mode is supported + frame = ims + rawmode = ims.mode + if ims.mode not in {"RGB", "RGBA"}: + rawmode = "RGBA" if ims.has_transparency_data else "RGB" + frame = ims.convert(rawmode) + + # Update frame duration + if isinstance(duration, (list, tuple)): + frame_duration = duration[frame_idx] + else: + frame_duration = duration + + # Append the frame to the animation encoder + enc.add( + frame.tobytes("raw", rawmode), + frame_duration, + frame.size, + rawmode, + is_single_frame, + ) + + # Update frame index + frame_idx += 1 + + if not save_all: + break + + finally: + im.seek(cur_idx) + + # Get the final output from the encoder + data = enc.finish() + if data is None: + msg = "cannot write file as AVIF (encoder returned None)" + raise OSError(msg) + + fp.write(data) + + +Image.register_open(AvifImageFile.format, AvifImageFile, _accept) +if SUPPORTED: + Image.register_save(AvifImageFile.format, _save) + Image.register_save_all(AvifImageFile.format, _save_all) + Image.register_extensions(AvifImageFile.format, [".avif", ".avifs"]) + Image.register_mime(AvifImageFile.format, "image/avif") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/BdfFontFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/BdfFontFile.py new file mode 100644 index 0000000..1c8c28f --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/BdfFontFile.py @@ -0,0 +1,123 @@ +# +# The Python Imaging Library +# $Id$ +# +# bitmap distribution font (bdf) file parser +# +# history: +# 1996-05-16 fl created (as bdf2pil) +# 1997-08-25 fl converted to FontFile driver +# 2001-05-25 fl removed bogus __init__ call +# 2002-11-20 fl robustification (from Kevin Cazabon, Dmitry Vasiliev) +# 2003-04-22 fl more robustification (from Graham Dumpleton) +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1997-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +""" +Parse X Bitmap Distribution Format (BDF) +""" + +from __future__ import annotations + +from typing import BinaryIO + +from . import FontFile, Image + + +def bdf_char( + f: BinaryIO, +) -> ( + tuple[ + str, + int, + tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], + Image.Image, + ] + | None +): + # skip to STARTCHAR + while True: + s = f.readline() + if not s: + return None + if s.startswith(b"STARTCHAR"): + break + id = s[9:].strip().decode("ascii") + + # load symbol properties + props = {} + while True: + s = f.readline() + if not s or s.startswith(b"BITMAP"): + break + i = s.find(b" ") + props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") + + # load bitmap + bitmap = bytearray() + while True: + s = f.readline() + if not s or s.startswith(b"ENDCHAR"): + break + bitmap += s[:-1] + + # The word BBX + # followed by the width in x (BBw), height in y (BBh), + # and x and y displacement (BBxoff0, BByoff0) + # of the lower left corner from the origin of the character. + width, height, x_disp, y_disp = (int(p) for p in props["BBX"].split()) + + # The word DWIDTH + # followed by the width in x and y of the character in device pixels. + dwx, dwy = (int(p) for p in props["DWIDTH"].split()) + + bbox = ( + (dwx, dwy), + (x_disp, -y_disp - height, width + x_disp, -y_disp), + (0, 0, width, height), + ) + + try: + im = Image.frombytes("1", (width, height), bitmap, "hex", "1") + except ValueError: + # deal with zero-width characters + im = Image.new("1", (width, height)) + + return id, int(props["ENCODING"]), bbox, im + + +class BdfFontFile(FontFile.FontFile): + """Font file plugin for the X11 BDF format.""" + + def __init__(self, fp: BinaryIO) -> None: + super().__init__() + + s = fp.readline() + if not s.startswith(b"STARTFONT 2.1"): + msg = "not a valid BDF file" + raise SyntaxError(msg) + + props = {} + comments = [] + + while True: + s = fp.readline() + if not s or s.startswith(b"ENDPROPERTIES"): + break + i = s.find(b" ") + props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") + if s[:i] in [b"COMMENT", b"COPYRIGHT"]: + if s.find(b"LogicalFontDescription") < 0: + comments.append(s[i + 1 : -1].decode("ascii")) + + while True: + c = bdf_char(fp) + if not c: + break + id, ch, (xy, dst, src), im = c + if 0 <= ch < len(self.glyph): + self.glyph[ch] = xy, dst, src, im diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/BlpImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/BlpImagePlugin.py new file mode 100644 index 0000000..6bb92ed --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/BlpImagePlugin.py @@ -0,0 +1,498 @@ +""" +Blizzard Mipmap Format (.blp) +Jerome Leclanche <jerome@leclan.ch> + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: + https://creativecommons.org/publicdomain/zero/1.0/ + +BLP1 files, used mostly in Warcraft III, are not fully supported. +All types of BLP2 files used in World of Warcraft are supported. + +The BLP file structure consists of a header, up to 16 mipmaps of the +texture + +Texture sizes must be powers of two, though the two dimensions do +not have to be equal; 512x256 is valid, but 512x200 is not. +The first mipmap (mipmap #0) is the full size image; each subsequent +mipmap halves both dimensions. The final mipmap should be 1x1. + +BLP files come in many different flavours: +* JPEG-compressed (type == 0) - only supported for BLP1. +* RAW images (type == 1, encoding == 1). Each mipmap is stored as an + array of 8-bit values, one per pixel, left to right, top to bottom. + Each value is an index to the palette. +* DXT-compressed (type == 1, encoding == 2): +- DXT1 compression is used if alpha_encoding == 0. + - An additional alpha bit is used if alpha_depth == 1. + - DXT3 compression is used if alpha_encoding == 1. + - DXT5 compression is used if alpha_encoding == 7. +""" + +from __future__ import annotations + +import abc +import os +import struct +from enum import IntEnum +from io import BytesIO +from typing import IO + +from . import Image, ImageFile + + +class Format(IntEnum): + JPEG = 0 + + +class Encoding(IntEnum): + UNCOMPRESSED = 1 + DXT = 2 + UNCOMPRESSED_RAW_BGRA = 3 + + +class AlphaEncoding(IntEnum): + DXT1 = 0 + DXT3 = 1 + DXT5 = 7 + + +def unpack_565(i: int) -> tuple[int, int, int]: + return ((i >> 11) & 0x1F) << 3, ((i >> 5) & 0x3F) << 2, (i & 0x1F) << 3 + + +def decode_dxt1( + data: bytes, alpha: bool = False +) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4*width pixels) + """ + + blocks = len(data) // 8 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + # Decode next 8-byte block. + idx = block_index * 8 + color0, color1, bits = struct.unpack_from("<HHI", data, idx) + + r0, g0, b0 = unpack_565(color0) + r1, g1, b1 = unpack_565(color1) + + # Decode this block into 4x4 pixels + # Accumulate the results onto our 4 row accumulators + for j in range(4): + for i in range(4): + # get next control op and generate a pixel + + control = bits & 3 + bits = bits >> 2 + + a = 0xFF + if control == 0: + r, g, b = r0, g0, b0 + elif control == 1: + r, g, b = r1, g1, b1 + elif control == 2: + if color0 > color1: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + else: + r = (r0 + r1) // 2 + g = (g0 + g1) // 2 + b = (b0 + b1) // 2 + elif control == 3: + if color0 > color1: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + else: + r, g, b, a = 0, 0, 0, 0 + + if alpha: + ret[j].extend([r, g, b, a]) + else: + ret[j].extend([r, g, b]) + + return ret + + +def decode_dxt3(data: bytes) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4*width pixels) + """ + + blocks = len(data) // 16 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + idx = block_index * 16 + block = data[idx : idx + 16] + # Decode next 16-byte block. + bits = struct.unpack_from("<8B", block) + color0, color1 = struct.unpack_from("<HH", block, 8) + + (code,) = struct.unpack_from("<I", block, 12) + + r0, g0, b0 = unpack_565(color0) + r1, g1, b1 = unpack_565(color1) + + for j in range(4): + high = False # Do we want the higher bits? + for i in range(4): + alphacode_index = (4 * j + i) // 2 + a = bits[alphacode_index] + if high: + high = False + a >>= 4 + else: + high = True + a &= 0xF + a *= 17 # We get a value between 0 and 15 + + color_code = (code >> 2 * (4 * j + i)) & 0x03 + + if color_code == 0: + r, g, b = r0, g0, b0 + elif color_code == 1: + r, g, b = r1, g1, b1 + elif color_code == 2: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + elif color_code == 3: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + + ret[j].extend([r, g, b, a]) + + return ret + + +def decode_dxt5(data: bytes) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4 * width pixels) + """ + + blocks = len(data) // 16 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + idx = block_index * 16 + block = data[idx : idx + 16] + # Decode next 16-byte block. + a0, a1 = struct.unpack_from("<BB", block) + + bits = struct.unpack_from("<6B", block, 2) + alphacode1 = bits[2] | (bits[3] << 8) | (bits[4] << 16) | (bits[5] << 24) + alphacode2 = bits[0] | (bits[1] << 8) + + color0, color1 = struct.unpack_from("<HH", block, 8) + + (code,) = struct.unpack_from("<I", block, 12) + + r0, g0, b0 = unpack_565(color0) + r1, g1, b1 = unpack_565(color1) + + for j in range(4): + for i in range(4): + # get next control op and generate a pixel + alphacode_index = 3 * (4 * j + i) + + if alphacode_index <= 12: + alphacode = (alphacode2 >> alphacode_index) & 0x07 + elif alphacode_index == 15: + alphacode = (alphacode2 >> 15) | ((alphacode1 << 1) & 0x06) + else: # alphacode_index >= 18 and alphacode_index <= 45 + alphacode = (alphacode1 >> (alphacode_index - 16)) & 0x07 + + if alphacode == 0: + a = a0 + elif alphacode == 1: + a = a1 + elif a0 > a1: + a = ((8 - alphacode) * a0 + (alphacode - 1) * a1) // 7 + elif alphacode == 6: + a = 0 + elif alphacode == 7: + a = 255 + else: + a = ((6 - alphacode) * a0 + (alphacode - 1) * a1) // 5 + + color_code = (code >> 2 * (4 * j + i)) & 0x03 + + if color_code == 0: + r, g, b = r0, g0, b0 + elif color_code == 1: + r, g, b = r1, g1, b1 + elif color_code == 2: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + elif color_code == 3: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + + ret[j].extend([r, g, b, a]) + + return ret + + +class BLPFormatError(NotImplementedError): + pass + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith((b"BLP1", b"BLP2")) + + +class BlpImageFile(ImageFile.ImageFile): + """ + Blizzard Mipmap Format + """ + + format = "BLP" + format_description = "Blizzard Mipmap Format" + + def _open(self) -> None: + assert self.fp is not None + self.magic = self.fp.read(4) + if not _accept(self.magic): + msg = f"Bad BLP magic {repr(self.magic)}" + raise BLPFormatError(msg) + + compression = struct.unpack("<i", self.fp.read(4))[0] + if self.magic == b"BLP1": + alpha = struct.unpack("<I", self.fp.read(4))[0] != 0 + else: + encoding = struct.unpack("<b", self.fp.read(1))[0] + alpha = struct.unpack("<b", self.fp.read(1))[0] != 0 + alpha_encoding = struct.unpack("<b", self.fp.read(1))[0] + self.fp.seek(1, os.SEEK_CUR) # mips + + self._size = struct.unpack("<II", self.fp.read(8)) + + args: tuple[int, int, bool] | tuple[int, int, bool, int] + if self.magic == b"BLP1": + encoding = struct.unpack("<i", self.fp.read(4))[0] + self.fp.seek(4, os.SEEK_CUR) # subtype + + args = (compression, encoding, alpha) + offset = 28 + else: + args = (compression, encoding, alpha, alpha_encoding) + offset = 20 + + decoder = self.magic.decode() + + self._mode = "RGBA" if alpha else "RGB" + self.tile = [ImageFile._Tile(decoder, (0, 0) + self.size, offset, args)] + + +class _BLPBaseDecoder(abc.ABC, ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + try: + self._read_header() + self._load() + except struct.error as e: + msg = "Truncated BLP file" + raise OSError(msg) from e + return -1, 0 + + @abc.abstractmethod + def _load(self) -> None: + pass + + def _read_header(self) -> None: + self._offsets = struct.unpack("<16I", self._safe_read(16 * 4)) + self._lengths = struct.unpack("<16I", self._safe_read(16 * 4)) + + def _safe_read(self, length: int) -> bytes: + assert self.fd is not None + return ImageFile._safe_read(self.fd, length) + + def _read_palette(self) -> list[tuple[int, int, int, int]]: + ret = [] + for i in range(256): + try: + b, g, r, a = struct.unpack("<4B", self._safe_read(4)) + except struct.error: + break + ret.append((b, g, r, a)) + return ret + + def _read_bgra( + self, palette: list[tuple[int, int, int, int]], alpha: bool + ) -> bytearray: + data = bytearray() + _data = BytesIO(self._safe_read(self._lengths[0])) + while True: + try: + (offset,) = struct.unpack("<B", _data.read(1)) + except struct.error: + break + b, g, r, a = palette[offset] + d: tuple[int, ...] = (r, g, b) + if alpha: + d += (a,) + data.extend(d) + return data + + +class BLP1Decoder(_BLPBaseDecoder): + def _load(self) -> None: + self._compression, self._encoding, alpha = self.args + + if self._compression == Format.JPEG: + self._decode_jpeg_stream() + + elif self._compression == 1: + if self._encoding in (4, 5): + palette = self._read_palette() + data = self._read_bgra(palette, alpha) + self.set_as_raw(data) + else: + msg = f"Unsupported BLP encoding {repr(self._encoding)}" + raise BLPFormatError(msg) + else: + msg = f"Unsupported BLP compression {repr(self._encoding)}" + raise BLPFormatError(msg) + + def _decode_jpeg_stream(self) -> None: + from .JpegImagePlugin import JpegImageFile + + (jpeg_header_size,) = struct.unpack("<I", self._safe_read(4)) + jpeg_header = self._safe_read(jpeg_header_size) + assert self.fd is not None + self._safe_read(self._offsets[0] - self.fd.tell()) # What IS this? + data = self._safe_read(self._lengths[0]) + data = jpeg_header + data + image = JpegImageFile(BytesIO(data)) + Image._decompression_bomb_check(image.size) + if image.mode == "CMYK": + args = image.tile[0].args + assert isinstance(args, tuple) + image.tile = [image.tile[0]._replace(args=(args[0], "CMYK"))] + self.set_as_raw(image.convert("RGB").tobytes(), "BGR") + + +class BLP2Decoder(_BLPBaseDecoder): + def _load(self) -> None: + self._compression, self._encoding, alpha, self._alpha_encoding = self.args + + palette = self._read_palette() + + assert self.fd is not None + self.fd.seek(self._offsets[0]) + + if self._compression == 1: + # Uncompressed or DirectX compression + + if self._encoding == Encoding.UNCOMPRESSED: + data = self._read_bgra(palette, alpha) + + elif self._encoding == Encoding.DXT: + data = bytearray() + if self._alpha_encoding == AlphaEncoding.DXT1: + linesize = (self.state.xsize + 3) // 4 * 8 + for yb in range((self.state.ysize + 3) // 4): + for d in decode_dxt1(self._safe_read(linesize), alpha): + data += d + + elif self._alpha_encoding == AlphaEncoding.DXT3: + linesize = (self.state.xsize + 3) // 4 * 16 + for yb in range((self.state.ysize + 3) // 4): + for d in decode_dxt3(self._safe_read(linesize)): + data += d + + elif self._alpha_encoding == AlphaEncoding.DXT5: + linesize = (self.state.xsize + 3) // 4 * 16 + for yb in range((self.state.ysize + 3) // 4): + for d in decode_dxt5(self._safe_read(linesize)): + data += d + else: + msg = f"Unsupported alpha encoding {repr(self._alpha_encoding)}" + raise BLPFormatError(msg) + else: + msg = f"Unknown BLP encoding {repr(self._encoding)}" + raise BLPFormatError(msg) + + else: + msg = f"Unknown BLP compression {repr(self._compression)}" + raise BLPFormatError(msg) + + self.set_as_raw(data) + + +class BLPEncoder(ImageFile.PyEncoder): + _pushes_fd = True + + def _write_palette(self) -> bytes: + data = b"" + assert self.im is not None + palette = self.im.getpalette("RGBA", "RGBA") + for i in range(len(palette) // 4): + r, g, b, a = palette[i * 4 : (i + 1) * 4] + data += struct.pack("<4B", b, g, r, a) + while len(data) < 256 * 4: + data += b"\x00" * 4 + return data + + def encode(self, bufsize: int) -> tuple[int, int, bytes]: + palette_data = self._write_palette() + + offset = 20 + 16 * 4 * 2 + len(palette_data) + data = struct.pack("<16I", offset, *((0,) * 15)) + + assert self.im is not None + w, h = self.im.size + data += struct.pack("<16I", w * h, *((0,) * 15)) + + data += palette_data + + for y in range(h): + for x in range(w): + data += struct.pack("<B", self.im.getpixel((x, y))) + + return len(data), 0, data + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "P": + msg = "Unsupported BLP image mode" + raise ValueError(msg) + + magic = b"BLP1" if im.encoderinfo.get("blp_version") == "BLP1" else b"BLP2" + fp.write(magic) + + assert im.palette is not None + fp.write(struct.pack("<i", 1)) # Uncompressed or DirectX compression + + alpha_depth = 1 if im.palette.mode == "RGBA" else 0 + if magic == b"BLP1": + fp.write(struct.pack("<L", alpha_depth)) + else: + fp.write(struct.pack("<b", Encoding.UNCOMPRESSED)) + fp.write(struct.pack("<b", alpha_depth)) + fp.write(struct.pack("<b", 0)) # alpha encoding + fp.write(struct.pack("<b", 0)) # mips + fp.write(struct.pack("<II", *im.size)) + if magic == b"BLP1": + fp.write(struct.pack("<i", 5)) + fp.write(struct.pack("<i", 0)) + + ImageFile._save(im, fp, [ImageFile._Tile("BLP", (0, 0) + im.size, 0, im.mode)]) + + +Image.register_open(BlpImageFile.format, BlpImageFile, _accept) +Image.register_extension(BlpImageFile.format, ".blp") +Image.register_decoder("BLP1", BLP1Decoder) +Image.register_decoder("BLP2", BLP2Decoder) + +Image.register_save(BlpImageFile.format, _save) +Image.register_encoder("BLP", BLPEncoder) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/BmpImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/BmpImagePlugin.py new file mode 100644 index 0000000..a6724ca --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/BmpImagePlugin.py @@ -0,0 +1,514 @@ +# +# The Python Imaging Library. +# $Id$ +# +# BMP file handler +# +# Windows (and OS/2) native bitmap storage format. +# +# history: +# 1995-09-01 fl Created +# 1996-04-30 fl Added save +# 1997-08-27 fl Fixed save of 1-bit images +# 1998-03-06 fl Load P images as L where possible +# 1998-07-03 fl Load P images as 1 where possible +# 1998-12-29 fl Handle small palettes +# 2002-12-30 fl Fixed load of 1-bit palette images +# 2003-04-21 fl Fixed load of 1-bit monochrome images +# 2003-04-23 fl Added limited support for BI_BITFIELDS compression +# +# Copyright (c) 1997-2003 by Secret Labs AB +# Copyright (c) 1995-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import IO, Any + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o16le as o16 +from ._binary import o32le as o32 + +# +# -------------------------------------------------------------------- +# Read BMP file + +BIT2MODE = { + # bits => mode, rawmode + 1: ("P", "P;1"), + 4: ("P", "P;4"), + 8: ("P", "P"), + 16: ("RGB", "BGR;15"), + 24: ("RGB", "BGR"), + 32: ("RGB", "BGRX"), +} + +USE_RAW_ALPHA = False + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"BM") + + +def _dib_accept(prefix: bytes) -> bool: + return i32(prefix) in [12, 40, 52, 56, 64, 108, 124] + + +# ============================================================================= +# Image plugin for the Windows BMP format. +# ============================================================================= +class BmpImageFile(ImageFile.ImageFile): + """Image plugin for the Windows Bitmap format (BMP)""" + + # ------------------------------------------------------------- Description + format_description = "Windows Bitmap" + format = "BMP" + + # -------------------------------------------------- BMP Compression values + COMPRESSIONS = {"RAW": 0, "RLE8": 1, "RLE4": 2, "BITFIELDS": 3, "JPEG": 4, "PNG": 5} + for k, v in COMPRESSIONS.items(): + vars()[k] = v + + def _bitmap(self, header: int = 0, offset: int = 0) -> None: + """Read relevant info about the BMP""" + assert self.fp is not None + read, seek = self.fp.read, self.fp.seek + if header: + seek(header) + # read bmp header size @offset 14 (this is part of the header size) + file_info: dict[str, bool | int | tuple[int, ...]] = { + "header_size": i32(read(4)), + "direction": -1, + } + + # -------------------- If requested, read header at a specific position + # read the rest of the bmp header, without its size + assert isinstance(file_info["header_size"], int) + header_data = ImageFile._safe_read(self.fp, file_info["header_size"] - 4) + + # ------------------------------- Windows Bitmap v2, IBM OS/2 Bitmap v1 + # ----- This format has different offsets because of width/height types + # 12: BITMAPCOREHEADER/OS21XBITMAPHEADER + if file_info["header_size"] == 12: + file_info["width"] = i16(header_data, 0) + file_info["height"] = i16(header_data, 2) + file_info["planes"] = i16(header_data, 4) + file_info["bits"] = i16(header_data, 6) + file_info["compression"] = self.COMPRESSIONS["RAW"] + file_info["palette_padding"] = 3 + + # --------------------------------------------- Windows Bitmap v3 to v5 + # 40: BITMAPINFOHEADER + # 52: BITMAPV2HEADER + # 56: BITMAPV3HEADER + # 64: BITMAPCOREHEADER2/OS22XBITMAPHEADER + # 108: BITMAPV4HEADER + # 124: BITMAPV5HEADER + elif file_info["header_size"] in (40, 52, 56, 64, 108, 124): + file_info["y_flip"] = header_data[7] == 0xFF + file_info["direction"] = 1 if file_info["y_flip"] else -1 + file_info["width"] = i32(header_data, 0) + file_info["height"] = ( + i32(header_data, 4) + if not file_info["y_flip"] + else 2**32 - i32(header_data, 4) + ) + file_info["planes"] = i16(header_data, 8) + file_info["bits"] = i16(header_data, 10) + file_info["compression"] = i32(header_data, 12) + # byte size of pixel data + file_info["data_size"] = i32(header_data, 16) + file_info["pixels_per_meter"] = ( + i32(header_data, 20), + i32(header_data, 24), + ) + file_info["colors"] = i32(header_data, 28) + file_info["palette_padding"] = 4 + assert isinstance(file_info["pixels_per_meter"], tuple) + self.info["dpi"] = tuple(x / 39.3701 for x in file_info["pixels_per_meter"]) + if file_info["compression"] == self.COMPRESSIONS["BITFIELDS"]: + masks = ["r_mask", "g_mask", "b_mask"] + if len(header_data) >= 48: + if len(header_data) >= 52: + masks.append("a_mask") + else: + file_info["a_mask"] = 0x0 + for idx, mask in enumerate(masks): + file_info[mask] = i32(header_data, 36 + idx * 4) + else: + # 40 byte headers only have the three components in the + # bitfields masks, ref: + # https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx + # See also + # https://github.com/python-pillow/Pillow/issues/1293 + # There is a 4th component in the RGBQuad, in the alpha + # location, but it is listed as a reserved component, + # and it is not generally an alpha channel + file_info["a_mask"] = 0x0 + for mask in masks: + file_info[mask] = i32(read(4)) + assert isinstance(file_info["r_mask"], int) + assert isinstance(file_info["g_mask"], int) + assert isinstance(file_info["b_mask"], int) + assert isinstance(file_info["a_mask"], int) + file_info["rgb_mask"] = ( + file_info["r_mask"], + file_info["g_mask"], + file_info["b_mask"], + ) + file_info["rgba_mask"] = ( + file_info["r_mask"], + file_info["g_mask"], + file_info["b_mask"], + file_info["a_mask"], + ) + else: + msg = f"Unsupported BMP header type ({file_info['header_size']})" + raise OSError(msg) + + # ------------------ Special case : header is reported 40, which + # ---------------------- is shorter than real size for bpp >= 16 + assert isinstance(file_info["width"], int) + assert isinstance(file_info["height"], int) + self._size = file_info["width"], file_info["height"] + + # ------- If color count was not found in the header, compute from bits + assert isinstance(file_info["bits"], int) + if not file_info.get("colors", 0): + file_info["colors"] = 1 << file_info["bits"] + assert isinstance(file_info["palette_padding"], int) + assert isinstance(file_info["colors"], int) + if offset == 14 + file_info["header_size"] and file_info["bits"] <= 8: + offset += file_info["palette_padding"] * file_info["colors"] + + # ---------------------- Check bit depth for unusual unsupported values + self._mode, raw_mode = BIT2MODE.get(file_info["bits"], ("", "")) + if not self.mode: + msg = f"Unsupported BMP pixel depth ({file_info['bits']})" + raise OSError(msg) + + # ---------------- Process BMP with Bitfields compression (not palette) + decoder_name = "raw" + if file_info["compression"] == self.COMPRESSIONS["BITFIELDS"]: + SUPPORTED: dict[int, list[tuple[int, ...]]] = { + 32: [ + (0xFF0000, 0xFF00, 0xFF, 0x0), + (0xFF000000, 0xFF0000, 0xFF00, 0x0), + (0xFF000000, 0xFF00, 0xFF, 0x0), + (0xFF000000, 0xFF0000, 0xFF00, 0xFF), + (0xFF, 0xFF00, 0xFF0000, 0xFF000000), + (0xFF0000, 0xFF00, 0xFF, 0xFF000000), + (0xFF000000, 0xFF00, 0xFF, 0xFF0000), + (0x0, 0x0, 0x0, 0x0), + ], + 24: [(0xFF0000, 0xFF00, 0xFF)], + 16: [(0xF800, 0x7E0, 0x1F), (0x7C00, 0x3E0, 0x1F)], + } + MASK_MODES = { + (32, (0xFF0000, 0xFF00, 0xFF, 0x0)): "BGRX", + (32, (0xFF000000, 0xFF0000, 0xFF00, 0x0)): "XBGR", + (32, (0xFF000000, 0xFF00, 0xFF, 0x0)): "BGXR", + (32, (0xFF000000, 0xFF0000, 0xFF00, 0xFF)): "ABGR", + (32, (0xFF, 0xFF00, 0xFF0000, 0xFF000000)): "RGBA", + (32, (0xFF0000, 0xFF00, 0xFF, 0xFF000000)): "BGRA", + (32, (0xFF000000, 0xFF00, 0xFF, 0xFF0000)): "BGAR", + (32, (0x0, 0x0, 0x0, 0x0)): "BGRA", + (24, (0xFF0000, 0xFF00, 0xFF)): "BGR", + (16, (0xF800, 0x7E0, 0x1F)): "BGR;16", + (16, (0x7C00, 0x3E0, 0x1F)): "BGR;15", + } + if file_info["bits"] in SUPPORTED: + if ( + file_info["bits"] == 32 + and file_info["rgba_mask"] in SUPPORTED[file_info["bits"]] + ): + assert isinstance(file_info["rgba_mask"], tuple) + raw_mode = MASK_MODES[(file_info["bits"], file_info["rgba_mask"])] + self._mode = "RGBA" if "A" in raw_mode else self.mode + elif ( + file_info["bits"] in (24, 16) + and file_info["rgb_mask"] in SUPPORTED[file_info["bits"]] + ): + assert isinstance(file_info["rgb_mask"], tuple) + raw_mode = MASK_MODES[(file_info["bits"], file_info["rgb_mask"])] + else: + msg = "Unsupported BMP bitfields layout" + raise OSError(msg) + else: + msg = "Unsupported BMP bitfields layout" + raise OSError(msg) + elif file_info["compression"] == self.COMPRESSIONS["RAW"]: + if file_info["bits"] == 32 and ( + header == 22 or USE_RAW_ALPHA # 32-bit .cur offset + ): + raw_mode, self._mode = "BGRA", "RGBA" + elif file_info["compression"] in ( + self.COMPRESSIONS["RLE8"], + self.COMPRESSIONS["RLE4"], + ): + decoder_name = "bmp_rle" + else: + msg = f"Unsupported BMP compression ({file_info['compression']})" + raise OSError(msg) + + # --------------- Once the header is processed, process the palette/LUT + if self.mode == "P": # Paletted for 1, 4 and 8 bit images + # ---------------------------------------------------- 1-bit images + if not (0 < file_info["colors"] <= 65536): + msg = f"Unsupported BMP Palette size ({file_info['colors']})" + raise OSError(msg) + else: + padding = file_info["palette_padding"] + palette = read(padding * file_info["colors"]) + grayscale = True + indices = ( + (0, 255) + if file_info["colors"] == 2 + else list(range(file_info["colors"])) + ) + + # ----------------- Check if grayscale and ignore palette if so + for ind, val in enumerate(indices): + rgb = palette[ind * padding : ind * padding + 3] + if rgb != o8(val) * 3: + grayscale = False + + # ------- If all colors are gray, white or black, ditch palette + if grayscale: + self._mode = "1" if file_info["colors"] == 2 else "L" + raw_mode = self.mode + else: + self._mode = "P" + self.palette = ImagePalette.raw( + "BGRX" if padding == 4 else "BGR", palette + ) + + # ---------------------------- Finally set the tile data for the plugin + self.info["compression"] = file_info["compression"] + args: list[Any] = [raw_mode] + if decoder_name == "bmp_rle": + args.append(file_info["compression"] == self.COMPRESSIONS["RLE4"]) + else: + assert isinstance(file_info["width"], int) + args.append(((file_info["width"] * file_info["bits"] + 31) >> 3) & (~3)) + args.append(file_info["direction"]) + self.tile = [ + ImageFile._Tile( + decoder_name, + (0, 0, file_info["width"], file_info["height"]), + offset or self.fp.tell(), + tuple(args), + ) + ] + + def _open(self) -> None: + """Open file, check magic number and read header""" + # read 14 bytes: magic number, filesize, reserved, header final offset + assert self.fp is not None + head_data = self.fp.read(14) + # choke if the file does not have the required magic bytes + if not _accept(head_data): + msg = "Not a BMP file" + raise SyntaxError(msg) + # read the start position of the BMP image data (u32) + offset = i32(head_data, 10) + # load bitmap information (offset=raster info) + self._bitmap(offset=offset) + + +class BmpRleDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + rle4 = self.args[1] + data = bytearray() + x = 0 + dest_length = self.state.xsize * self.state.ysize + while len(data) < dest_length: + pixels = self.fd.read(1) + byte = self.fd.read(1) + if not pixels or not byte: + break + num_pixels = pixels[0] + if num_pixels: + # encoded mode + if x + num_pixels > self.state.xsize: + # Too much data for row + num_pixels = max(0, self.state.xsize - x) + if rle4: + first_pixel = o8(byte[0] >> 4) + second_pixel = o8(byte[0] & 0x0F) + for index in range(num_pixels): + if index % 2 == 0: + data += first_pixel + else: + data += second_pixel + else: + data += byte * num_pixels + x += num_pixels + else: + if byte[0] == 0: + # end of line + while len(data) % self.state.xsize != 0: + data += b"\x00" + x = 0 + elif byte[0] == 1: + # end of bitmap + break + elif byte[0] == 2: + # delta + bytes_read = self.fd.read(2) + if len(bytes_read) < 2: + break + right, up = bytes_read + data += b"\x00" * (right + up * self.state.xsize) + x = len(data) % self.state.xsize + else: + # absolute mode + if rle4: + # 2 pixels per byte + byte_count = byte[0] // 2 + bytes_read = self.fd.read(byte_count) + for byte_read in bytes_read: + data += o8(byte_read >> 4) + data += o8(byte_read & 0x0F) + else: + byte_count = byte[0] + bytes_read = self.fd.read(byte_count) + data += bytes_read + if len(bytes_read) < byte_count: + break + x += byte[0] + + # align to 16-bit word boundary + if self.fd.tell() % 2 != 0: + self.fd.seek(1, os.SEEK_CUR) + rawmode = "L" if self.mode == "L" else "P" + self.set_as_raw(bytes(data), rawmode, (0, self.args[-1])) + return -1, 0 + + +# ============================================================================= +# Image plugin for the DIB format (BMP alias) +# ============================================================================= +class DibImageFile(BmpImageFile): + format = "DIB" + format_description = "Windows Bitmap" + + def _open(self) -> None: + self._bitmap() + + +# +# -------------------------------------------------------------------- +# Write BMP file + + +SAVE = { + "1": ("1", 1, 2), + "L": ("L", 8, 256), + "P": ("P", 8, 256), + "RGB": ("BGR", 24, 0), + "RGBA": ("BGRA", 32, 0), +} + + +def _dib_save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, False) + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, bitmap_header: bool = True +) -> None: + try: + rawmode, bits, colors = SAVE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as BMP" + raise OSError(msg) from e + + info = im.encoderinfo + + dpi = info.get("dpi", (96, 96)) + + # 1 meter == 39.3701 inches + ppm = tuple(int(x * 39.3701 + 0.5) for x in dpi) + + stride = ((im.size[0] * bits + 7) // 8 + 3) & (~3) + header = 40 # or 64 for OS/2 version 2 + image = stride * im.size[1] + + if im.mode == "1": + palette = b"".join(o8(i) * 3 + b"\x00" for i in (0, 255)) + elif im.mode == "L": + palette = b"".join(o8(i) * 3 + b"\x00" for i in range(256)) + elif im.mode == "P": + palette = im.im.getpalette("RGB", "BGRX") + colors = len(palette) // 4 + else: + palette = None + + # bitmap header + if bitmap_header: + offset = 14 + header + colors * 4 + file_size = offset + image + if file_size > 2**32 - 1: + msg = "File size is too large for the BMP format" + raise ValueError(msg) + fp.write( + b"BM" # file type (magic) + + o32(file_size) # file size + + o32(0) # reserved + + o32(offset) # image data offset + ) + + # bitmap info header + fp.write( + o32(header) # info header size + + o32(im.size[0]) # width + + o32(im.size[1]) # height + + o16(1) # planes + + o16(bits) # depth + + o32(0) # compression (0=uncompressed) + + o32(image) # size of bitmap + + o32(ppm[0]) # resolution + + o32(ppm[1]) # resolution + + o32(colors) # colors used + + o32(colors) # colors important + ) + + fp.write(b"\0" * (header - 40)) # padding (for OS/2 format) + + if palette: + fp.write(palette) + + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, stride, -1))] + ) + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(BmpImageFile.format, BmpImageFile, _accept) +Image.register_save(BmpImageFile.format, _save) + +Image.register_extension(BmpImageFile.format, ".bmp") + +Image.register_mime(BmpImageFile.format, "image/bmp") + +Image.register_decoder("bmp_rle", BmpRleDecoder) + +Image.register_open(DibImageFile.format, DibImageFile, _dib_accept) +Image.register_save(DibImageFile.format, _dib_save) + +Image.register_extension(DibImageFile.format, ".dib") + +Image.register_mime(DibImageFile.format, "image/bmp") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/BufrStubImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/BufrStubImagePlugin.py new file mode 100644 index 0000000..d82c4c7 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/BufrStubImagePlugin.py @@ -0,0 +1,72 @@ +# +# The Python Imaging Library +# $Id$ +# +# BUFR stub adapter +# +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific BUFR image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith((b"BUFR", b"ZCZC")) + + +class BufrStubImageFile(ImageFile.StubImageFile): + format = "BUFR" + format_description = "BUFR" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(4)): + msg = "Not a BUFR file" + raise SyntaxError(msg) + + self.fp.seek(-4, os.SEEK_CUR) + + # make something up + self._mode = "F" + self._size = 1, 1 + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "BUFR save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept) +Image.register_save(BufrStubImageFile.format, _save) + +Image.register_extension(BufrStubImageFile.format, ".bufr") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ContainerIO.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ContainerIO.py new file mode 100644 index 0000000..ec9e66c --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ContainerIO.py @@ -0,0 +1,173 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a class to read from a container file +# +# History: +# 1995-06-18 fl Created +# 1995-09-07 fl Added readline(), readlines() +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1995 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from collections.abc import Iterable +from typing import IO, AnyStr, NoReturn + + +class ContainerIO(IO[AnyStr]): + """ + A file object that provides read access to a part of an existing + file (for example a TAR file). + """ + + def __init__(self, file: IO[AnyStr], offset: int, length: int) -> None: + """ + Create file object. + + :param file: Existing file. + :param offset: Start of region, in bytes. + :param length: Size of region, in bytes. + """ + self.fh: IO[AnyStr] = file + self.pos = 0 + self.offset = offset + self.length = length + self.fh.seek(offset) + + ## + # Always false. + + def isatty(self) -> bool: + return False + + def seekable(self) -> bool: + return True + + def seek(self, offset: int, mode: int = io.SEEK_SET) -> int: + """ + Move file pointer. + + :param offset: Offset in bytes. + :param mode: Starting position. Use 0 for beginning of region, 1 + for current offset, and 2 for end of region. You cannot move + the pointer outside the defined region. + :returns: Offset from start of region, in bytes. + """ + if mode == 1: + self.pos = self.pos + offset + elif mode == 2: + self.pos = self.length + offset + else: + self.pos = offset + # clamp + self.pos = max(0, min(self.pos, self.length)) + self.fh.seek(self.offset + self.pos) + return self.pos + + def tell(self) -> int: + """ + Get current file pointer. + + :returns: Offset from start of region, in bytes. + """ + return self.pos + + def readable(self) -> bool: + return True + + def read(self, n: int = -1) -> AnyStr: + """ + Read data. + + :param n: Number of bytes to read. If omitted, zero or negative, + read until end of region. + :returns: An 8-bit string. + """ + if n > 0: + n = min(n, self.length - self.pos) + else: + n = self.length - self.pos + if n <= 0: # EOF + return b"" if "b" in self.fh.mode else "" # type: ignore[return-value] + self.pos = self.pos + n + return self.fh.read(n) + + def readline(self, n: int = -1) -> AnyStr: + """ + Read a line of text. + + :param n: Number of bytes to read. If omitted, zero or negative, + read until end of line. + :returns: An 8-bit string. + """ + s: AnyStr = b"" if "b" in self.fh.mode else "" # type: ignore[assignment] + newline_character = b"\n" if "b" in self.fh.mode else "\n" + while True: + c = self.read(1) + if not c: + break + s = s + c + if c == newline_character or len(s) == n: + break + return s + + def readlines(self, n: int | None = -1) -> list[AnyStr]: + """ + Read multiple lines of text. + + :param n: Number of lines to read. If omitted, zero, negative or None, + read until end of region. + :returns: A list of 8-bit strings. + """ + lines = [] + while True: + s = self.readline() + if not s: + break + lines.append(s) + if len(lines) == n: + break + return lines + + def writable(self) -> bool: + return False + + def write(self, b: AnyStr) -> NoReturn: + raise NotImplementedError() + + def writelines(self, lines: Iterable[AnyStr]) -> NoReturn: + raise NotImplementedError() + + def truncate(self, size: int | None = None) -> int: + raise NotImplementedError() + + def __enter__(self) -> ContainerIO[AnyStr]: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def __iter__(self) -> ContainerIO[AnyStr]: + return self + + def __next__(self) -> AnyStr: + line = self.readline() + if not line: + msg = "end of region" + raise StopIteration(msg) + return line + + def fileno(self) -> int: + return self.fh.fileno() + + def flush(self) -> None: + self.fh.flush() + + def close(self) -> None: + self.fh.close() diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/CurImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/CurImagePlugin.py new file mode 100644 index 0000000..9c188e0 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/CurImagePlugin.py @@ -0,0 +1,75 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Windows Cursor support for PIL +# +# notes: +# uses BmpImagePlugin.py to read the bitmap data. +# +# history: +# 96-05-27 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import BmpImagePlugin, Image +from ._binary import i16le as i16 +from ._binary import i32le as i32 + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"\0\0\2\0") + + +## +# Image plugin for Windows Cursor files. + + +class CurImageFile(BmpImagePlugin.BmpImageFile): + format = "CUR" + format_description = "Windows Cursor" + + def _open(self) -> None: + assert self.fp is not None + offset = self.fp.tell() + + # check magic + s = self.fp.read(6) + if not _accept(s): + msg = "not a CUR file" + raise SyntaxError(msg) + + # pick the largest cursor in the file + m = b"" + for i in range(i16(s, 4)): + s = self.fp.read(16) + if not m: + m = s + elif s[0] > m[0] and s[1] > m[1]: + m = s + if not m: + msg = "No cursors were found" + raise TypeError(msg) + + # load as bitmap + self._bitmap(i32(m, 12) + offset) + + # patch up the bitmap height + self._size = self.size[0], self.size[1] // 2 + self.tile = [self.tile[0]._replace(extents=(0, 0) + self.size)] + + +# +# -------------------------------------------------------------------- + +Image.register_open(CurImageFile.format, CurImageFile, _accept) + +Image.register_extension(CurImageFile.format, ".cur") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/DcxImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/DcxImagePlugin.py new file mode 100644 index 0000000..d3f456d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/DcxImagePlugin.py @@ -0,0 +1,84 @@ +# +# The Python Imaging Library. +# $Id$ +# +# DCX file handling +# +# DCX is a container file format defined by Intel, commonly used +# for fax applications. Each DCX file consists of a directory +# (a list of file offsets) followed by a set of (usually 1-bit) +# PCX files. +# +# History: +# 1995-09-09 fl Created +# 1996-03-20 fl Properly derived from PcxImageFile. +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 2002-07-30 fl Fixed file handling +# +# Copyright (c) 1997-98 by Secret Labs AB. +# Copyright (c) 1995-96 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image +from ._binary import i32le as i32 +from ._util import DeferredError +from .PcxImagePlugin import PcxImageFile + +MAGIC = 0x3ADE68B1 # QUIZ: what's this value, then? + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 4 and i32(prefix) == MAGIC + + +## +# Image plugin for the Intel DCX format. + + +class DcxImageFile(PcxImageFile): + format = "DCX" + format_description = "Intel DCX" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # Header + assert self.fp is not None + s = self.fp.read(4) + if not _accept(s): + msg = "not a DCX file" + raise SyntaxError(msg) + + # Component directory + self._offset = [] + for i in range(1024): + offset = i32(self.fp.read(4)) + if not offset: + break + self._offset.append(offset) + + self._fp = self.fp + self.frame = -1 + self.n_frames = len(self._offset) + self.is_animated = self.n_frames > 1 + self.seek(0) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if isinstance(self._fp, DeferredError): + raise self._fp.ex + self.frame = frame + self.fp = self._fp + self.fp.seek(self._offset[frame]) + PcxImageFile._open(self) + + def tell(self) -> int: + return self.frame + + +Image.register_open(DcxImageFile.format, DcxImageFile, _accept) + +Image.register_extension(DcxImageFile.format, ".dcx") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/DdsImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/DdsImagePlugin.py new file mode 100644 index 0000000..312f602 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/DdsImagePlugin.py @@ -0,0 +1,625 @@ +""" +A Pillow plugin for .dds files (S3TC-compressed aka DXTC) +Jerome Leclanche <jerome@leclan.ch> + +Documentation: +https://web.archive.org/web/20170802060935/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: +https://creativecommons.org/publicdomain/zero/1.0/ +""" + +from __future__ import annotations + +import struct +import sys +from enum import IntEnum, IntFlag +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o32le as o32 + +# Magic ("DDS ") +DDS_MAGIC = 0x20534444 + + +# DDS flags +class DDSD(IntFlag): + CAPS = 0x1 + HEIGHT = 0x2 + WIDTH = 0x4 + PITCH = 0x8 + PIXELFORMAT = 0x1000 + MIPMAPCOUNT = 0x20000 + LINEARSIZE = 0x80000 + DEPTH = 0x800000 + + +# DDS caps +class DDSCAPS(IntFlag): + COMPLEX = 0x8 + TEXTURE = 0x1000 + MIPMAP = 0x400000 + + +class DDSCAPS2(IntFlag): + CUBEMAP = 0x200 + CUBEMAP_POSITIVEX = 0x400 + CUBEMAP_NEGATIVEX = 0x800 + CUBEMAP_POSITIVEY = 0x1000 + CUBEMAP_NEGATIVEY = 0x2000 + CUBEMAP_POSITIVEZ = 0x4000 + CUBEMAP_NEGATIVEZ = 0x8000 + VOLUME = 0x200000 + + +# Pixel Format +class DDPF(IntFlag): + ALPHAPIXELS = 0x1 + ALPHA = 0x2 + FOURCC = 0x4 + PALETTEINDEXED8 = 0x20 + RGB = 0x40 + LUMINANCE = 0x20000 + + +# dxgiformat.h +class DXGI_FORMAT(IntEnum): + UNKNOWN = 0 + R32G32B32A32_TYPELESS = 1 + R32G32B32A32_FLOAT = 2 + R32G32B32A32_UINT = 3 + R32G32B32A32_SINT = 4 + R32G32B32_TYPELESS = 5 + R32G32B32_FLOAT = 6 + R32G32B32_UINT = 7 + R32G32B32_SINT = 8 + R16G16B16A16_TYPELESS = 9 + R16G16B16A16_FLOAT = 10 + R16G16B16A16_UNORM = 11 + R16G16B16A16_UINT = 12 + R16G16B16A16_SNORM = 13 + R16G16B16A16_SINT = 14 + R32G32_TYPELESS = 15 + R32G32_FLOAT = 16 + R32G32_UINT = 17 + R32G32_SINT = 18 + R32G8X24_TYPELESS = 19 + D32_FLOAT_S8X24_UINT = 20 + R32_FLOAT_X8X24_TYPELESS = 21 + X32_TYPELESS_G8X24_UINT = 22 + R10G10B10A2_TYPELESS = 23 + R10G10B10A2_UNORM = 24 + R10G10B10A2_UINT = 25 + R11G11B10_FLOAT = 26 + R8G8B8A8_TYPELESS = 27 + R8G8B8A8_UNORM = 28 + R8G8B8A8_UNORM_SRGB = 29 + R8G8B8A8_UINT = 30 + R8G8B8A8_SNORM = 31 + R8G8B8A8_SINT = 32 + R16G16_TYPELESS = 33 + R16G16_FLOAT = 34 + R16G16_UNORM = 35 + R16G16_UINT = 36 + R16G16_SNORM = 37 + R16G16_SINT = 38 + R32_TYPELESS = 39 + D32_FLOAT = 40 + R32_FLOAT = 41 + R32_UINT = 42 + R32_SINT = 43 + R24G8_TYPELESS = 44 + D24_UNORM_S8_UINT = 45 + R24_UNORM_X8_TYPELESS = 46 + X24_TYPELESS_G8_UINT = 47 + R8G8_TYPELESS = 48 + R8G8_UNORM = 49 + R8G8_UINT = 50 + R8G8_SNORM = 51 + R8G8_SINT = 52 + R16_TYPELESS = 53 + R16_FLOAT = 54 + D16_UNORM = 55 + R16_UNORM = 56 + R16_UINT = 57 + R16_SNORM = 58 + R16_SINT = 59 + R8_TYPELESS = 60 + R8_UNORM = 61 + R8_UINT = 62 + R8_SNORM = 63 + R8_SINT = 64 + A8_UNORM = 65 + R1_UNORM = 66 + R9G9B9E5_SHAREDEXP = 67 + R8G8_B8G8_UNORM = 68 + G8R8_G8B8_UNORM = 69 + BC1_TYPELESS = 70 + BC1_UNORM = 71 + BC1_UNORM_SRGB = 72 + BC2_TYPELESS = 73 + BC2_UNORM = 74 + BC2_UNORM_SRGB = 75 + BC3_TYPELESS = 76 + BC3_UNORM = 77 + BC3_UNORM_SRGB = 78 + BC4_TYPELESS = 79 + BC4_UNORM = 80 + BC4_SNORM = 81 + BC5_TYPELESS = 82 + BC5_UNORM = 83 + BC5_SNORM = 84 + B5G6R5_UNORM = 85 + B5G5R5A1_UNORM = 86 + B8G8R8A8_UNORM = 87 + B8G8R8X8_UNORM = 88 + R10G10B10_XR_BIAS_A2_UNORM = 89 + B8G8R8A8_TYPELESS = 90 + B8G8R8A8_UNORM_SRGB = 91 + B8G8R8X8_TYPELESS = 92 + B8G8R8X8_UNORM_SRGB = 93 + BC6H_TYPELESS = 94 + BC6H_UF16 = 95 + BC6H_SF16 = 96 + BC7_TYPELESS = 97 + BC7_UNORM = 98 + BC7_UNORM_SRGB = 99 + AYUV = 100 + Y410 = 101 + Y416 = 102 + NV12 = 103 + P010 = 104 + P016 = 105 + OPAQUE_420 = 106 + YUY2 = 107 + Y210 = 108 + Y216 = 109 + NV11 = 110 + AI44 = 111 + IA44 = 112 + P8 = 113 + A8P8 = 114 + B4G4R4A4_UNORM = 115 + P208 = 130 + V208 = 131 + V408 = 132 + SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189 + SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190 + + +class D3DFMT(IntEnum): + UNKNOWN = 0 + R8G8B8 = 20 + A8R8G8B8 = 21 + X8R8G8B8 = 22 + R5G6B5 = 23 + X1R5G5B5 = 24 + A1R5G5B5 = 25 + A4R4G4B4 = 26 + R3G3B2 = 27 + A8 = 28 + A8R3G3B2 = 29 + X4R4G4B4 = 30 + A2B10G10R10 = 31 + A8B8G8R8 = 32 + X8B8G8R8 = 33 + G16R16 = 34 + A2R10G10B10 = 35 + A16B16G16R16 = 36 + A8P8 = 40 + P8 = 41 + L8 = 50 + A8L8 = 51 + A4L4 = 52 + V8U8 = 60 + L6V5U5 = 61 + X8L8V8U8 = 62 + Q8W8V8U8 = 63 + V16U16 = 64 + A2W10V10U10 = 67 + D16_LOCKABLE = 70 + D32 = 71 + D15S1 = 73 + D24S8 = 75 + D24X8 = 77 + D24X4S4 = 79 + D16 = 80 + D32F_LOCKABLE = 82 + D24FS8 = 83 + D32_LOCKABLE = 84 + S8_LOCKABLE = 85 + L16 = 81 + VERTEXDATA = 100 + INDEX16 = 101 + INDEX32 = 102 + Q16W16V16U16 = 110 + R16F = 111 + G16R16F = 112 + A16B16G16R16F = 113 + R32F = 114 + G32R32F = 115 + A32B32G32R32F = 116 + CxV8U8 = 117 + A1 = 118 + A2B10G10R10_XR_BIAS = 119 + BINARYBUFFER = 199 + + UYVY = i32(b"UYVY") + R8G8_B8G8 = i32(b"RGBG") + YUY2 = i32(b"YUY2") + G8R8_G8B8 = i32(b"GRGB") + DXT1 = i32(b"DXT1") + DXT2 = i32(b"DXT2") + DXT3 = i32(b"DXT3") + DXT4 = i32(b"DXT4") + DXT5 = i32(b"DXT5") + DX10 = i32(b"DX10") + BC4S = i32(b"BC4S") + BC4U = i32(b"BC4U") + BC5S = i32(b"BC5S") + BC5U = i32(b"BC5U") + ATI1 = i32(b"ATI1") + ATI2 = i32(b"ATI2") + MULTI2_ARGB8 = i32(b"MET1") + + +# Backward compatibility layer +module = sys.modules[__name__] +for item in DDSD: + assert item.name is not None + setattr(module, f"DDSD_{item.name}", item.value) +for item1 in DDSCAPS: + assert item1.name is not None + setattr(module, f"DDSCAPS_{item1.name}", item1.value) +for item2 in DDSCAPS2: + assert item2.name is not None + setattr(module, f"DDSCAPS2_{item2.name}", item2.value) +for item3 in DDPF: + assert item3.name is not None + setattr(module, f"DDPF_{item3.name}", item3.value) + +DDS_FOURCC = DDPF.FOURCC +DDS_RGB = DDPF.RGB +DDS_RGBA = DDPF.RGB | DDPF.ALPHAPIXELS +DDS_LUMINANCE = DDPF.LUMINANCE +DDS_LUMINANCEA = DDPF.LUMINANCE | DDPF.ALPHAPIXELS +DDS_ALPHA = DDPF.ALPHA +DDS_PAL8 = DDPF.PALETTEINDEXED8 + +DDS_HEADER_FLAGS_TEXTURE = DDSD.CAPS | DDSD.HEIGHT | DDSD.WIDTH | DDSD.PIXELFORMAT +DDS_HEADER_FLAGS_MIPMAP = DDSD.MIPMAPCOUNT +DDS_HEADER_FLAGS_VOLUME = DDSD.DEPTH +DDS_HEADER_FLAGS_PITCH = DDSD.PITCH +DDS_HEADER_FLAGS_LINEARSIZE = DDSD.LINEARSIZE + +DDS_HEIGHT = DDSD.HEIGHT +DDS_WIDTH = DDSD.WIDTH + +DDS_SURFACE_FLAGS_TEXTURE = DDSCAPS.TEXTURE +DDS_SURFACE_FLAGS_MIPMAP = DDSCAPS.COMPLEX | DDSCAPS.MIPMAP +DDS_SURFACE_FLAGS_CUBEMAP = DDSCAPS.COMPLEX + +DDS_CUBEMAP_POSITIVEX = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEX +DDS_CUBEMAP_NEGATIVEX = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEX +DDS_CUBEMAP_POSITIVEY = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEY +DDS_CUBEMAP_NEGATIVEY = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEY +DDS_CUBEMAP_POSITIVEZ = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEZ +DDS_CUBEMAP_NEGATIVEZ = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEZ + +DXT1_FOURCC = D3DFMT.DXT1 +DXT3_FOURCC = D3DFMT.DXT3 +DXT5_FOURCC = D3DFMT.DXT5 + +DXGI_FORMAT_R8G8B8A8_TYPELESS = DXGI_FORMAT.R8G8B8A8_TYPELESS +DXGI_FORMAT_R8G8B8A8_UNORM = DXGI_FORMAT.R8G8B8A8_UNORM +DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = DXGI_FORMAT.R8G8B8A8_UNORM_SRGB +DXGI_FORMAT_BC5_TYPELESS = DXGI_FORMAT.BC5_TYPELESS +DXGI_FORMAT_BC5_UNORM = DXGI_FORMAT.BC5_UNORM +DXGI_FORMAT_BC5_SNORM = DXGI_FORMAT.BC5_SNORM +DXGI_FORMAT_BC6H_UF16 = DXGI_FORMAT.BC6H_UF16 +DXGI_FORMAT_BC6H_SF16 = DXGI_FORMAT.BC6H_SF16 +DXGI_FORMAT_BC7_TYPELESS = DXGI_FORMAT.BC7_TYPELESS +DXGI_FORMAT_BC7_UNORM = DXGI_FORMAT.BC7_UNORM +DXGI_FORMAT_BC7_UNORM_SRGB = DXGI_FORMAT.BC7_UNORM_SRGB + + +class DdsImageFile(ImageFile.ImageFile): + format = "DDS" + format_description = "DirectDraw Surface" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(4)): + msg = "not a DDS file" + raise SyntaxError(msg) + (header_size,) = struct.unpack("<I", self.fp.read(4)) + if header_size != 124: + msg = f"Unsupported header size {repr(header_size)}" + raise OSError(msg) + header = self.fp.read(header_size - 4) + if len(header) != 120: + msg = f"Incomplete header: {len(header)} bytes" + raise OSError(msg) + + flags, height, width = struct.unpack("<3I", header[:12]) + self._size = (width, height) + extents = (0, 0) + self.size + + pitch, depth, mipmaps = struct.unpack("<3I", header[12:24]) + struct.unpack("<11I", header[24:68]) # reserved + + # pixel format + pfsize, pfflags, fourcc, bitcount = struct.unpack("<4I", header[68:84]) + n = 0 + rawmode = None + if pfflags & DDPF.RGB: + # Texture contains uncompressed RGB data + if pfflags & DDPF.ALPHAPIXELS: + self._mode = "RGBA" + mask_count = 4 + else: + self._mode = "RGB" + mask_count = 3 + + masks = struct.unpack(f"<{mask_count}I", header[84 : 84 + mask_count * 4]) + self.tile = [ImageFile._Tile("dds_rgb", extents, 0, (bitcount, masks))] + return + elif pfflags & DDPF.LUMINANCE: + if bitcount == 8: + self._mode = "L" + elif bitcount == 16 and pfflags & DDPF.ALPHAPIXELS: + self._mode = "LA" + else: + msg = f"Unsupported bitcount {bitcount} for {pfflags}" + raise OSError(msg) + elif pfflags & DDPF.PALETTEINDEXED8: + self._mode = "P" + self.palette = ImagePalette.raw("RGBA", self.fp.read(1024)) + self.palette.mode = "RGBA" + elif pfflags & DDPF.FOURCC: + offset = header_size + 4 + if fourcc == D3DFMT.DXT1: + self._mode = "RGBA" + self.pixel_format = "DXT1" + n = 1 + elif fourcc == D3DFMT.DXT3: + self._mode = "RGBA" + self.pixel_format = "DXT3" + n = 2 + elif fourcc == D3DFMT.DXT5: + self._mode = "RGBA" + self.pixel_format = "DXT5" + n = 3 + elif fourcc in (D3DFMT.BC4U, D3DFMT.ATI1): + self._mode = "L" + self.pixel_format = "BC4" + n = 4 + elif fourcc == D3DFMT.BC5S: + self._mode = "RGB" + self.pixel_format = "BC5S" + n = 5 + elif fourcc in (D3DFMT.BC5U, D3DFMT.ATI2): + self._mode = "RGB" + self.pixel_format = "BC5" + n = 5 + elif fourcc == D3DFMT.DX10: + offset += 20 + # ignoring flags which pertain to volume textures and cubemaps + (dxgi_format,) = struct.unpack("<I", self.fp.read(4)) + self.fp.read(16) + if dxgi_format in ( + DXGI_FORMAT.BC1_UNORM, + DXGI_FORMAT.BC1_TYPELESS, + ): + self._mode = "RGBA" + self.pixel_format = "BC1" + n = 1 + elif dxgi_format in (DXGI_FORMAT.BC2_TYPELESS, DXGI_FORMAT.BC2_UNORM): + self._mode = "RGBA" + self.pixel_format = "BC2" + n = 2 + elif dxgi_format in (DXGI_FORMAT.BC3_TYPELESS, DXGI_FORMAT.BC3_UNORM): + self._mode = "RGBA" + self.pixel_format = "BC3" + n = 3 + elif dxgi_format in (DXGI_FORMAT.BC4_TYPELESS, DXGI_FORMAT.BC4_UNORM): + self._mode = "L" + self.pixel_format = "BC4" + n = 4 + elif dxgi_format in (DXGI_FORMAT.BC5_TYPELESS, DXGI_FORMAT.BC5_UNORM): + self._mode = "RGB" + self.pixel_format = "BC5" + n = 5 + elif dxgi_format == DXGI_FORMAT.BC5_SNORM: + self._mode = "RGB" + self.pixel_format = "BC5S" + n = 5 + elif dxgi_format == DXGI_FORMAT.BC6H_UF16: + self._mode = "RGB" + self.pixel_format = "BC6H" + n = 6 + elif dxgi_format == DXGI_FORMAT.BC6H_SF16: + self._mode = "RGB" + self.pixel_format = "BC6HS" + n = 6 + elif dxgi_format in ( + DXGI_FORMAT.BC7_TYPELESS, + DXGI_FORMAT.BC7_UNORM, + DXGI_FORMAT.BC7_UNORM_SRGB, + ): + self._mode = "RGBA" + self.pixel_format = "BC7" + n = 7 + if dxgi_format == DXGI_FORMAT.BC7_UNORM_SRGB: + self.info["gamma"] = 1 / 2.2 + elif dxgi_format in ( + DXGI_FORMAT.R8G8B8A8_TYPELESS, + DXGI_FORMAT.R8G8B8A8_UNORM, + DXGI_FORMAT.R8G8B8A8_UNORM_SRGB, + ): + self._mode = "RGBA" + if dxgi_format == DXGI_FORMAT.R8G8B8A8_UNORM_SRGB: + self.info["gamma"] = 1 / 2.2 + else: + msg = f"Unimplemented DXGI format {dxgi_format}" + raise NotImplementedError(msg) + else: + msg = f"Unimplemented pixel format {repr(fourcc)}" + raise NotImplementedError(msg) + else: + msg = f"Unknown pixel format flags {pfflags}" + raise NotImplementedError(msg) + + if n: + self.tile = [ + ImageFile._Tile("bcn", extents, offset, (n, self.pixel_format)) + ] + else: + self.tile = [ImageFile._Tile("raw", extents, 0, rawmode or self.mode)] + + def load_seek(self, pos: int) -> None: + pass + + +class DdsRgbDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + bitcount, masks = self.args + + # Some masks will be padded with zeros, e.g. R 0b11 G 0b1100 + # Calculate how many zeros each mask is padded with + mask_offsets = [] + # And the maximum value of each channel without the padding + mask_totals = [] + for mask in masks: + offset = 0 + if mask != 0: + while mask >> (offset + 1) << (offset + 1) == mask: + offset += 1 + mask_offsets.append(offset) + mask_totals.append(mask >> offset) + + data = bytearray() + bytecount = bitcount // 8 + dest_length = self.state.xsize * self.state.ysize * len(masks) + while len(data) < dest_length: + value = int.from_bytes(self.fd.read(bytecount), "little") + for i, mask in enumerate(masks): + masked_value = value & mask + # Remove the zero padding, and scale it to 8 bits + data += o8( + int(((masked_value >> mask_offsets[i]) / mask_totals[i]) * 255) + if mask_totals[i] + else 0 + ) + self.set_as_raw(data) + return -1, 0 + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode not in ("RGB", "RGBA", "L", "LA"): + msg = f"cannot write mode {im.mode} as DDS" + raise OSError(msg) + + flags = DDSD.CAPS | DDSD.HEIGHT | DDSD.WIDTH | DDSD.PIXELFORMAT + bitcount = len(im.getbands()) * 8 + pixel_format = im.encoderinfo.get("pixel_format") + args: tuple[int] | str + if pixel_format: + codec_name = "bcn" + flags |= DDSD.LINEARSIZE + pitch = (im.width + 3) * 4 + rgba_mask = [0, 0, 0, 0] + pixel_flags = DDPF.FOURCC + if pixel_format == "DXT1": + fourcc = D3DFMT.DXT1 + args = (1,) + elif pixel_format == "DXT3": + fourcc = D3DFMT.DXT3 + args = (2,) + elif pixel_format == "DXT5": + fourcc = D3DFMT.DXT5 + args = (3,) + else: + fourcc = D3DFMT.DX10 + if pixel_format == "BC2": + args = (2,) + dxgi_format = DXGI_FORMAT.BC2_TYPELESS + elif pixel_format == "BC3": + args = (3,) + dxgi_format = DXGI_FORMAT.BC3_TYPELESS + elif pixel_format == "BC5": + args = (5,) + dxgi_format = DXGI_FORMAT.BC5_TYPELESS + if im.mode != "RGB": + msg = "only RGB mode can be written as BC5" + raise OSError(msg) + else: + msg = f"cannot write pixel format {pixel_format}" + raise OSError(msg) + else: + codec_name = "raw" + flags |= DDSD.PITCH + pitch = (im.width * bitcount + 7) // 8 + + alpha = im.mode[-1] == "A" + if im.mode[0] == "L": + pixel_flags = DDPF.LUMINANCE + args = im.mode + if alpha: + rgba_mask = [0x000000FF, 0x000000FF, 0x000000FF] + else: + rgba_mask = [0xFF000000, 0xFF000000, 0xFF000000] + else: + pixel_flags = DDPF.RGB + args = im.mode[::-1] + rgba_mask = [0x00FF0000, 0x0000FF00, 0x000000FF] + + if alpha: + r, g, b, a = im.split() + im = Image.merge("RGBA", (a, r, g, b)) + if alpha: + pixel_flags |= DDPF.ALPHAPIXELS + rgba_mask.append(0xFF000000 if alpha else 0) + + fourcc = D3DFMT.UNKNOWN + fp.write( + o32(DDS_MAGIC) + + struct.pack( + "<7I", + 124, # header size + flags, # flags + im.height, + im.width, + pitch, + 0, # depth + 0, # mipmaps + ) + + struct.pack("11I", *((0,) * 11)) # reserved + # pfsize, pfflags, fourcc, bitcount + + struct.pack("<4I", 32, pixel_flags, fourcc, bitcount) + + struct.pack("<4I", *rgba_mask) # dwRGBABitMask + + struct.pack("<5I", DDSCAPS.TEXTURE, 0, 0, 0, 0) + ) + if fourcc == D3DFMT.DX10: + fp.write( + # dxgi_format, 2D resource, misc, array size, straight alpha + struct.pack("<5I", dxgi_format, 3, 0, 0, 1) + ) + ImageFile._save(im, fp, [ImageFile._Tile(codec_name, (0, 0) + im.size, 0, args)]) + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"DDS ") + + +Image.register_open(DdsImageFile.format, DdsImageFile, _accept) +Image.register_decoder("dds_rgb", DdsRgbDecoder) +Image.register_save(DdsImageFile.format, _save) +Image.register_extension(DdsImageFile.format, ".dds") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/EpsImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/EpsImagePlugin.py new file mode 100644 index 0000000..aeb7b0c --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/EpsImagePlugin.py @@ -0,0 +1,481 @@ +# +# The Python Imaging Library. +# $Id$ +# +# EPS file handling +# +# History: +# 1995-09-01 fl Created (0.1) +# 1996-05-18 fl Don't choke on "atend" fields, Ghostscript interface (0.2) +# 1996-08-22 fl Don't choke on floating point BoundingBox values +# 1996-08-23 fl Handle files from Macintosh (0.3) +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.4) +# 2003-09-07 fl Check gs.close status (from Federico Di Gregorio) (0.5) +# 2014-05-07 e Handling of EPS with binary preview and fixed resolution +# resizing +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import re +import subprocess +import sys +import tempfile +from typing import IO + +from . import Image, ImageFile +from ._binary import i32le as i32 + +# -------------------------------------------------------------------- + + +split = re.compile(r"^%%([^:]*):[ \t]*(.*)[ \t]*$") +field = re.compile(r"^%[%!\w]([^:]*)[ \t]*$") + +gs_binary: str | bool | None = None +gs_windows_binary = None + + +def has_ghostscript() -> bool: + global gs_binary, gs_windows_binary + if gs_binary is None: + if sys.platform.startswith("win"): + if gs_windows_binary is None: + import shutil + + for binary in ("gswin32c", "gswin64c", "gs"): + if shutil.which(binary) is not None: + gs_windows_binary = binary + break + else: + gs_windows_binary = False + gs_binary = gs_windows_binary + else: + try: + subprocess.check_call(["gs", "--version"], stdout=subprocess.DEVNULL) + gs_binary = "gs" + except OSError: + gs_binary = False + return gs_binary is not False + + +def Ghostscript( + tile: list[ImageFile._Tile], + size: tuple[int, int], + fp: IO[bytes], + scale: int = 1, + transparency: bool = False, +) -> Image.core.ImagingCore: + """Render an image using Ghostscript""" + global gs_binary + if not has_ghostscript(): + msg = "Unable to locate Ghostscript on paths" + raise OSError(msg) + assert isinstance(gs_binary, str) + + # Unpack decoder tile + args = tile[0].args + assert isinstance(args, tuple) + length, bbox = args + + # Hack to support hi-res rendering + scale = int(scale) or 1 + width = size[0] * scale + height = size[1] * scale + # resolution is dependent on bbox and size + res_x = 72.0 * width / (bbox[2] - bbox[0]) + res_y = 72.0 * height / (bbox[3] - bbox[1]) + + out_fd, outfile = tempfile.mkstemp() + os.close(out_fd) + + infile_temp = None + if hasattr(fp, "name") and os.path.exists(fp.name): + infile = fp.name + else: + in_fd, infile_temp = tempfile.mkstemp() + os.close(in_fd) + infile = infile_temp + + # Ignore length and offset! + # Ghostscript can read it + # Copy whole file to read in Ghostscript + with open(infile_temp, "wb") as f: + # fetch length of fp + fp.seek(0, io.SEEK_END) + fsize = fp.tell() + # ensure start position + # go back + fp.seek(0) + lengthfile = fsize + while lengthfile > 0: + s = fp.read(min(lengthfile, 100 * 1024)) + if not s: + break + lengthfile -= len(s) + f.write(s) + + if transparency: + # "RGBA" + device = "pngalpha" + else: + # "pnmraw" automatically chooses between + # PBM ("1"), PGM ("L"), and PPM ("RGB"). + device = "pnmraw" + + # Build Ghostscript command + command = [ + gs_binary, + "-q", # quiet mode + f"-g{width:d}x{height:d}", # set output geometry (pixels) + f"-r{res_x:f}x{res_y:f}", # set input DPI (dots per inch) + "-dBATCH", # exit after processing + "-dNOPAUSE", # don't pause between pages + "-dSAFER", # safe mode + f"-sDEVICE={device}", + f"-sOutputFile={outfile}", # output file + # adjust for image origin + "-c", + f"{-bbox[0]} {-bbox[1]} translate", + "-f", + infile, # input file + # showpage (see https://bugs.ghostscript.com/show_bug.cgi?id=698272) + "-c", + "showpage", + ] + + # push data through Ghostscript + try: + startupinfo = None + if sys.platform.startswith("win"): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + subprocess.check_call(command, startupinfo=startupinfo) + with Image.open(outfile) as out_im: + out_im.load() + return out_im.im.copy() + finally: + try: + os.unlink(outfile) + if infile_temp: + os.unlink(infile_temp) + except OSError: + pass + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"%!PS") or ( + len(prefix) >= 4 and i32(prefix) == 0xC6D3D0C5 + ) + + +## +# Image plugin for Encapsulated PostScript. This plugin supports only +# a few variants of this format. + + +class EpsImageFile(ImageFile.ImageFile): + """EPS File Parser for the Python Imaging Library""" + + format = "EPS" + format_description = "Encapsulated Postscript" + + mode_map = {1: "L", 2: "LAB", 3: "RGB", 4: "CMYK"} + + def _open(self) -> None: + assert self.fp is not None + length, offset = self._find_offset(self.fp) + + # go to offset - start of "%!PS" + self.fp.seek(offset) + + self._mode = "RGB" + + # When reading header comments, the first comment is used. + # When reading trailer comments, the last comment is used. + bounding_box: list[int] | None = None + imagedata_size: tuple[int, int] | None = None + + byte_arr = bytearray(255) + bytes_mv = memoryview(byte_arr) + bytes_read = 0 + reading_header_comments = True + reading_trailer_comments = False + trailer_reached = False + + def check_required_header_comments() -> None: + """ + The EPS specification requires that some headers exist. + This should be checked when the header comments formally end, + when image data starts, or when the file ends, whichever comes first. + """ + if "PS-Adobe" not in self.info: + msg = 'EPS header missing "%!PS-Adobe" comment' + raise SyntaxError(msg) + if "BoundingBox" not in self.info: + msg = 'EPS header missing "%%BoundingBox" comment' + raise SyntaxError(msg) + + def read_comment(s: str) -> bool: + nonlocal bounding_box, reading_trailer_comments + try: + m = split.match(s) + except re.error as e: + msg = "not an EPS file" + raise SyntaxError(msg) from e + + if not m: + return False + + k, v = m.group(1, 2) + self.info[k] = v + if k == "BoundingBox": + if v == "(atend)": + reading_trailer_comments = True + elif not bounding_box or (trailer_reached and reading_trailer_comments): + try: + # Note: The DSC spec says that BoundingBox + # fields should be integers, but some drivers + # put floating point values there anyway. + bounding_box = [int(float(i)) for i in v.split()] + except Exception: + pass + return True + + while True: + byte = self.fp.read(1) + if byte == b"": + # if we didn't read a byte we must be at the end of the file + if bytes_read == 0: + if reading_header_comments: + check_required_header_comments() + break + elif byte in b"\r\n": + # if we read a line ending character, ignore it and parse what + # we have already read. if we haven't read any other characters, + # continue reading + if bytes_read == 0: + continue + else: + # ASCII/hexadecimal lines in an EPS file must not exceed + # 255 characters, not including line ending characters + if bytes_read >= 255: + # only enforce this for lines starting with a "%", + # otherwise assume it's binary data + if byte_arr[0] == ord("%"): + msg = "not an EPS file" + raise SyntaxError(msg) + else: + if reading_header_comments: + check_required_header_comments() + reading_header_comments = False + # reset bytes_read so we can keep reading + # data until the end of the line + bytes_read = 0 + byte_arr[bytes_read] = byte[0] + bytes_read += 1 + continue + + if reading_header_comments: + # Load EPS header + + # if this line doesn't start with a "%", + # or does start with "%%EndComments", + # then we've reached the end of the header/comments + if byte_arr[0] != ord("%") or bytes_mv[:13] == b"%%EndComments": + check_required_header_comments() + reading_header_comments = False + continue + + s = str(bytes_mv[:bytes_read], "latin-1") + if not read_comment(s): + m = field.match(s) + if m: + k = m.group(1) + if k.startswith("PS-Adobe"): + self.info["PS-Adobe"] = k[9:] + else: + self.info[k] = "" + elif s[0] == "%": + # handle non-DSC PostScript comments that some + # tools mistakenly put in the Comments section + pass + else: + msg = "bad EPS header" + raise OSError(msg) + elif bytes_mv[:11] == b"%ImageData:": + # Check for an "ImageData" descriptor + # https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577413_pgfId-1035096 + + # If we've already read an "ImageData" descriptor, + # don't read another one. + if imagedata_size: + bytes_read = 0 + continue + + # Values: + # columns + # rows + # bit depth (1 or 8) + # mode (1: L, 2: LAB, 3: RGB, 4: CMYK) + # number of padding channels + # block size (number of bytes per row per channel) + # binary/ascii (1: binary, 2: ascii) + # data start identifier (the image data follows after a single line + # consisting only of this quoted value) + image_data_values = byte_arr[11:bytes_read].split(None, 7) + columns, rows, bit_depth, mode_id = ( + int(value) for value in image_data_values[:4] + ) + + if bit_depth == 1: + self._mode = "1" + elif bit_depth == 8: + try: + self._mode = self.mode_map[mode_id] + except ValueError: + break + else: + break + + # Parse the columns and rows after checking the bit depth and mode + # in case the bit depth and/or mode are invalid. + imagedata_size = columns, rows + elif bytes_mv[:5] == b"%%EOF": + break + elif trailer_reached and reading_trailer_comments: + # Load EPS trailer + s = str(bytes_mv[:bytes_read], "latin-1") + read_comment(s) + elif bytes_mv[:9] == b"%%Trailer": + trailer_reached = True + elif bytes_mv[:14] == b"%%BeginBinary:": + bytecount = int(byte_arr[14:bytes_read]) + self.fp.seek(bytecount, os.SEEK_CUR) + bytes_read = 0 + + # A "BoundingBox" is always required, + # even if an "ImageData" descriptor size exists. + if not bounding_box: + msg = "cannot determine EPS bounding box" + raise OSError(msg) + + # An "ImageData" size takes precedence over the "BoundingBox". + self._size = imagedata_size or ( + bounding_box[2] - bounding_box[0], + bounding_box[3] - bounding_box[1], + ) + + self.tile = [ + ImageFile._Tile("eps", (0, 0) + self.size, offset, (length, bounding_box)) + ] + + def _find_offset(self, fp: IO[bytes]) -> tuple[int, int]: + s = fp.read(4) + + if s == b"%!PS": + # for HEAD without binary preview + fp.seek(0, io.SEEK_END) + length = fp.tell() + offset = 0 + elif i32(s) == 0xC6D3D0C5: + # FIX for: Some EPS file not handled correctly / issue #302 + # EPS can contain binary data + # or start directly with latin coding + # more info see: + # https://web.archive.org/web/20160528181353/http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf + s = fp.read(8) + offset = i32(s) + length = i32(s, 4) + else: + msg = "not an EPS file" + raise SyntaxError(msg) + + return length, offset + + def load( + self, scale: int = 1, transparency: bool = False + ) -> Image.core.PixelAccess | None: + # Load EPS via Ghostscript + if self.tile: + assert self.fp is not None + self.im = Ghostscript(self.tile, self.size, self.fp, scale, transparency) + self._mode = self.im.mode + self._size = self.im.size + self.tile = [] + return Image.Image.load(self) + + def load_seek(self, pos: int) -> None: + # we can't incrementally load, so force ImageFile.parser to + # use our custom load method by defining this method. + pass + + +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes, eps: int = 1) -> None: + """EPS Writer for the Python Imaging Library.""" + + # make sure image data is available + im.load() + + # determine PostScript image mode + if im.mode == "L": + operator = (8, 1, b"image") + elif im.mode == "RGB": + operator = (8, 3, b"false 3 colorimage") + elif im.mode == "CMYK": + operator = (8, 4, b"false 4 colorimage") + else: + msg = "image mode is not supported" + raise ValueError(msg) + + if eps: + # write EPS header + fp.write(b"%!PS-Adobe-3.0 EPSF-3.0\n") + fp.write(b"%%Creator: PIL 0.1 EpsEncode\n") + # fp.write("%%CreationDate: %s"...) + fp.write(b"%%%%BoundingBox: 0 0 %d %d\n" % im.size) + fp.write(b"%%Pages: 1\n") + fp.write(b"%%EndComments\n") + fp.write(b"%%Page: 1 1\n") + fp.write(b"%%ImageData: %d %d " % im.size) + fp.write(b'%d %d 0 1 1 "%s"\n' % operator) + + # image header + fp.write(b"gsave\n") + fp.write(b"10 dict begin\n") + fp.write(b"/buf %d string def\n" % (im.size[0] * operator[1])) + fp.write(b"%d %d scale\n" % im.size) + fp.write(b"%d %d 8\n" % im.size) # <= bits + fp.write(b"[%d 0 0 -%d 0 %d]\n" % (im.size[0], im.size[1], im.size[1])) + fp.write(b"{ currentfile buf readhexstring pop } bind\n") + fp.write(operator[2] + b"\n") + if hasattr(fp, "flush"): + fp.flush() + + ImageFile._save(im, fp, [ImageFile._Tile("eps", (0, 0) + im.size)]) + + fp.write(b"\n%%%%EndBinary\n") + fp.write(b"grestore end\n") + if hasattr(fp, "flush"): + fp.flush() + + +# -------------------------------------------------------------------- + + +Image.register_open(EpsImageFile.format, EpsImageFile, _accept) + +Image.register_save(EpsImageFile.format, _save) + +Image.register_extensions(EpsImageFile.format, [".ps", ".eps"]) + +Image.register_mime(EpsImageFile.format, "application/postscript") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ExifTags.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ExifTags.py new file mode 100644 index 0000000..a9522e7 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ExifTags.py @@ -0,0 +1,384 @@ +# +# The Python Imaging Library. +# $Id$ +# +# EXIF tags +# +# Copyright (c) 2003 by Secret Labs AB +# +# See the README file for information on usage and redistribution. +# + +""" +This module provides constants and clear-text names for various +well-known EXIF tags. +""" + +from __future__ import annotations + +from enum import IntEnum + + +class Base(IntEnum): + # possibly incomplete + InteropIndex = 0x0001 + ProcessingSoftware = 0x000B + NewSubfileType = 0x00FE + SubfileType = 0x00FF + ImageWidth = 0x0100 + ImageLength = 0x0101 + BitsPerSample = 0x0102 + Compression = 0x0103 + PhotometricInterpretation = 0x0106 + Thresholding = 0x0107 + CellWidth = 0x0108 + CellLength = 0x0109 + FillOrder = 0x010A + DocumentName = 0x010D + ImageDescription = 0x010E + Make = 0x010F + Model = 0x0110 + StripOffsets = 0x0111 + Orientation = 0x0112 + SamplesPerPixel = 0x0115 + RowsPerStrip = 0x0116 + StripByteCounts = 0x0117 + MinSampleValue = 0x0118 + MaxSampleValue = 0x0119 + XResolution = 0x011A + YResolution = 0x011B + PlanarConfiguration = 0x011C + PageName = 0x011D + FreeOffsets = 0x0120 + FreeByteCounts = 0x0121 + GrayResponseUnit = 0x0122 + GrayResponseCurve = 0x0123 + T4Options = 0x0124 + T6Options = 0x0125 + ResolutionUnit = 0x0128 + PageNumber = 0x0129 + TransferFunction = 0x012D + Software = 0x0131 + DateTime = 0x0132 + Artist = 0x013B + HostComputer = 0x013C + Predictor = 0x013D + WhitePoint = 0x013E + PrimaryChromaticities = 0x013F + ColorMap = 0x0140 + HalftoneHints = 0x0141 + TileWidth = 0x0142 + TileLength = 0x0143 + TileOffsets = 0x0144 + TileByteCounts = 0x0145 + SubIFDs = 0x014A + InkSet = 0x014C + InkNames = 0x014D + NumberOfInks = 0x014E + DotRange = 0x0150 + TargetPrinter = 0x0151 + ExtraSamples = 0x0152 + SampleFormat = 0x0153 + SMinSampleValue = 0x0154 + SMaxSampleValue = 0x0155 + TransferRange = 0x0156 + ClipPath = 0x0157 + XClipPathUnits = 0x0158 + YClipPathUnits = 0x0159 + Indexed = 0x015A + JPEGTables = 0x015B + OPIProxy = 0x015F + JPEGProc = 0x0200 + JpegIFOffset = 0x0201 + JpegIFByteCount = 0x0202 + JpegRestartInterval = 0x0203 + JpegLosslessPredictors = 0x0205 + JpegPointTransforms = 0x0206 + JpegQTables = 0x0207 + JpegDCTables = 0x0208 + JpegACTables = 0x0209 + YCbCrCoefficients = 0x0211 + YCbCrSubSampling = 0x0212 + YCbCrPositioning = 0x0213 + ReferenceBlackWhite = 0x0214 + XMLPacket = 0x02BC + RelatedImageFileFormat = 0x1000 + RelatedImageWidth = 0x1001 + RelatedImageLength = 0x1002 + Rating = 0x4746 + RatingPercent = 0x4749 + ImageID = 0x800D + CFARepeatPatternDim = 0x828D + BatteryLevel = 0x828F + Copyright = 0x8298 + ExposureTime = 0x829A + FNumber = 0x829D + IPTCNAA = 0x83BB + ImageResources = 0x8649 + ExifOffset = 0x8769 + InterColorProfile = 0x8773 + ExposureProgram = 0x8822 + SpectralSensitivity = 0x8824 + GPSInfo = 0x8825 + ISOSpeedRatings = 0x8827 + OECF = 0x8828 + Interlace = 0x8829 + TimeZoneOffset = 0x882A + SelfTimerMode = 0x882B + SensitivityType = 0x8830 + StandardOutputSensitivity = 0x8831 + RecommendedExposureIndex = 0x8832 + ISOSpeed = 0x8833 + ISOSpeedLatitudeyyy = 0x8834 + ISOSpeedLatitudezzz = 0x8835 + ExifVersion = 0x9000 + DateTimeOriginal = 0x9003 + DateTimeDigitized = 0x9004 + OffsetTime = 0x9010 + OffsetTimeOriginal = 0x9011 + OffsetTimeDigitized = 0x9012 + ComponentsConfiguration = 0x9101 + CompressedBitsPerPixel = 0x9102 + ShutterSpeedValue = 0x9201 + ApertureValue = 0x9202 + BrightnessValue = 0x9203 + ExposureBiasValue = 0x9204 + MaxApertureValue = 0x9205 + SubjectDistance = 0x9206 + MeteringMode = 0x9207 + LightSource = 0x9208 + Flash = 0x9209 + FocalLength = 0x920A + Noise = 0x920D + ImageNumber = 0x9211 + SecurityClassification = 0x9212 + ImageHistory = 0x9213 + TIFFEPStandardID = 0x9216 + MakerNote = 0x927C + UserComment = 0x9286 + SubsecTime = 0x9290 + SubsecTimeOriginal = 0x9291 + SubsecTimeDigitized = 0x9292 + AmbientTemperature = 0x9400 + Humidity = 0x9401 + Pressure = 0x9402 + WaterDepth = 0x9403 + Acceleration = 0x9404 + CameraElevationAngle = 0x9405 + XPTitle = 0x9C9B + XPComment = 0x9C9C + XPAuthor = 0x9C9D + XPKeywords = 0x9C9E + XPSubject = 0x9C9F + FlashPixVersion = 0xA000 + ColorSpace = 0xA001 + ExifImageWidth = 0xA002 + ExifImageHeight = 0xA003 + RelatedSoundFile = 0xA004 + ExifInteroperabilityOffset = 0xA005 + FlashEnergy = 0xA20B + SpatialFrequencyResponse = 0xA20C + FocalPlaneXResolution = 0xA20E + FocalPlaneYResolution = 0xA20F + FocalPlaneResolutionUnit = 0xA210 + SubjectLocation = 0xA214 + ExposureIndex = 0xA215 + SensingMethod = 0xA217 + FileSource = 0xA300 + SceneType = 0xA301 + CFAPattern = 0xA302 + CustomRendered = 0xA401 + ExposureMode = 0xA402 + WhiteBalance = 0xA403 + DigitalZoomRatio = 0xA404 + FocalLengthIn35mmFilm = 0xA405 + SceneCaptureType = 0xA406 + GainControl = 0xA407 + Contrast = 0xA408 + Saturation = 0xA409 + Sharpness = 0xA40A + DeviceSettingDescription = 0xA40B + SubjectDistanceRange = 0xA40C + ImageUniqueID = 0xA420 + CameraOwnerName = 0xA430 + BodySerialNumber = 0xA431 + LensSpecification = 0xA432 + LensMake = 0xA433 + LensModel = 0xA434 + LensSerialNumber = 0xA435 + CompositeImage = 0xA460 + CompositeImageCount = 0xA461 + CompositeImageExposureTimes = 0xA462 + Gamma = 0xA500 + PrintImageMatching = 0xC4A5 + DNGVersion = 0xC612 + DNGBackwardVersion = 0xC613 + UniqueCameraModel = 0xC614 + LocalizedCameraModel = 0xC615 + CFAPlaneColor = 0xC616 + CFALayout = 0xC617 + LinearizationTable = 0xC618 + BlackLevelRepeatDim = 0xC619 + BlackLevel = 0xC61A + BlackLevelDeltaH = 0xC61B + BlackLevelDeltaV = 0xC61C + WhiteLevel = 0xC61D + DefaultScale = 0xC61E + DefaultCropOrigin = 0xC61F + DefaultCropSize = 0xC620 + ColorMatrix1 = 0xC621 + ColorMatrix2 = 0xC622 + CameraCalibration1 = 0xC623 + CameraCalibration2 = 0xC624 + ReductionMatrix1 = 0xC625 + ReductionMatrix2 = 0xC626 + AnalogBalance = 0xC627 + AsShotNeutral = 0xC628 + AsShotWhiteXY = 0xC629 + BaselineExposure = 0xC62A + BaselineNoise = 0xC62B + BaselineSharpness = 0xC62C + BayerGreenSplit = 0xC62D + LinearResponseLimit = 0xC62E + CameraSerialNumber = 0xC62F + LensInfo = 0xC630 + ChromaBlurRadius = 0xC631 + AntiAliasStrength = 0xC632 + ShadowScale = 0xC633 + DNGPrivateData = 0xC634 + MakerNoteSafety = 0xC635 + CalibrationIlluminant1 = 0xC65A + CalibrationIlluminant2 = 0xC65B + BestQualityScale = 0xC65C + RawDataUniqueID = 0xC65D + OriginalRawFileName = 0xC68B + OriginalRawFileData = 0xC68C + ActiveArea = 0xC68D + MaskedAreas = 0xC68E + AsShotICCProfile = 0xC68F + AsShotPreProfileMatrix = 0xC690 + CurrentICCProfile = 0xC691 + CurrentPreProfileMatrix = 0xC692 + ColorimetricReference = 0xC6BF + CameraCalibrationSignature = 0xC6F3 + ProfileCalibrationSignature = 0xC6F4 + AsShotProfileName = 0xC6F6 + NoiseReductionApplied = 0xC6F7 + ProfileName = 0xC6F8 + ProfileHueSatMapDims = 0xC6F9 + ProfileHueSatMapData1 = 0xC6FA + ProfileHueSatMapData2 = 0xC6FB + ProfileToneCurve = 0xC6FC + ProfileEmbedPolicy = 0xC6FD + ProfileCopyright = 0xC6FE + ForwardMatrix1 = 0xC714 + ForwardMatrix2 = 0xC715 + PreviewApplicationName = 0xC716 + PreviewApplicationVersion = 0xC717 + PreviewSettingsName = 0xC718 + PreviewSettingsDigest = 0xC719 + PreviewColorSpace = 0xC71A + PreviewDateTime = 0xC71B + RawImageDigest = 0xC71C + OriginalRawFileDigest = 0xC71D + SubTileBlockSize = 0xC71E + RowInterleaveFactor = 0xC71F + ProfileLookTableDims = 0xC725 + ProfileLookTableData = 0xC726 + OpcodeList1 = 0xC740 + OpcodeList2 = 0xC741 + OpcodeList3 = 0xC74E + NoiseProfile = 0xC761 + FrameRate = 0xC764 + + +"""Maps EXIF tags to tag names.""" +TAGS = { + **{i.value: i.name for i in Base}, + 0x920C: "SpatialFrequencyResponse", + 0x9214: "SubjectLocation", + 0x9215: "ExposureIndex", + 0x828E: "CFAPattern", + 0x920B: "FlashEnergy", + 0x9216: "TIFF/EPStandardID", +} + + +class GPS(IntEnum): + GPSVersionID = 0x00 + GPSLatitudeRef = 0x01 + GPSLatitude = 0x02 + GPSLongitudeRef = 0x03 + GPSLongitude = 0x04 + GPSAltitudeRef = 0x05 + GPSAltitude = 0x06 + GPSTimeStamp = 0x07 + GPSSatellites = 0x08 + GPSStatus = 0x09 + GPSMeasureMode = 0x0A + GPSDOP = 0x0B + GPSSpeedRef = 0x0C + GPSSpeed = 0x0D + GPSTrackRef = 0x0E + GPSTrack = 0x0F + GPSImgDirectionRef = 0x10 + GPSImgDirection = 0x11 + GPSMapDatum = 0x12 + GPSDestLatitudeRef = 0x13 + GPSDestLatitude = 0x14 + GPSDestLongitudeRef = 0x15 + GPSDestLongitude = 0x16 + GPSDestBearingRef = 0x17 + GPSDestBearing = 0x18 + GPSDestDistanceRef = 0x19 + GPSDestDistance = 0x1A + GPSProcessingMethod = 0x1B + GPSAreaInformation = 0x1C + GPSDateStamp = 0x1D + GPSDifferential = 0x1E + GPSHPositioningError = 0x1F + + +"""Maps EXIF GPS tags to tag names.""" +GPSTAGS = {i.value: i.name for i in GPS} + + +class Interop(IntEnum): + InteropIndex = 0x0001 + InteropVersion = 0x0002 + RelatedImageFileFormat = 0x1000 + RelatedImageWidth = 0x1001 + RelatedImageHeight = 0x1002 + + +class IFD(IntEnum): + Exif = 0x8769 + GPSInfo = 0x8825 + MakerNote = 0x927C + Makernote = 0x927C # Deprecated + Interop = 0xA005 + IFD1 = -1 + + +class LightSource(IntEnum): + Unknown = 0x00 + Daylight = 0x01 + Fluorescent = 0x02 + Tungsten = 0x03 + Flash = 0x04 + Fine = 0x09 + Cloudy = 0x0A + Shade = 0x0B + DaylightFluorescent = 0x0C + DayWhiteFluorescent = 0x0D + CoolWhiteFluorescent = 0x0E + WhiteFluorescent = 0x0F + StandardLightA = 0x11 + StandardLightB = 0x12 + StandardLightC = 0x13 + D55 = 0x14 + D65 = 0x15 + D75 = 0x16 + D50 = 0x17 + ISO = 0x18 + Other = 0xFF diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/FitsImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/FitsImagePlugin.py new file mode 100644 index 0000000..e918407 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/FitsImagePlugin.py @@ -0,0 +1,153 @@ +# +# The Python Imaging Library +# $Id$ +# +# FITS file handling +# +# Copyright (c) 1998-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import gzip +import math + +from . import Image, ImageFile + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"SIMPLE") + + +class FitsImageFile(ImageFile.ImageFile): + format = "FITS" + format_description = "FITS" + + def _open(self) -> None: + assert self.fp is not None + + headers: dict[bytes, bytes] = {} + header_in_progress = False + decoder_name = "" + while True: + header = self.fp.read(80) + if not header: + msg = "Truncated FITS file" + raise OSError(msg) + keyword = header[:8].strip() + if keyword in (b"SIMPLE", b"XTENSION"): + header_in_progress = True + elif headers and not header_in_progress: + # This is now a data unit + break + elif keyword == b"END": + # Seek to the end of the header unit + self.fp.seek(math.ceil(self.fp.tell() / 2880) * 2880) + if not decoder_name: + decoder_name, offset, args = self._parse_headers(headers) + + header_in_progress = False + continue + + if decoder_name: + # Keep going to read past the headers + continue + + value = header[8:].split(b"/")[0].strip() + if value.startswith(b"="): + value = value[1:].strip() + if not headers and (not _accept(keyword) or value != b"T"): + msg = "Not a FITS file" + raise SyntaxError(msg) + headers[keyword] = value + + if not decoder_name: + msg = "No image data" + raise ValueError(msg) + + offset += self.fp.tell() - 80 + self.tile = [ImageFile._Tile(decoder_name, (0, 0) + self.size, offset, args)] + + def _get_size( + self, headers: dict[bytes, bytes], prefix: bytes + ) -> tuple[int, int] | None: + naxis = int(headers[prefix + b"NAXIS"]) + if naxis == 0: + return None + + if naxis == 1: + return 1, int(headers[prefix + b"NAXIS1"]) + else: + return int(headers[prefix + b"NAXIS1"]), int(headers[prefix + b"NAXIS2"]) + + def _parse_headers( + self, headers: dict[bytes, bytes] + ) -> tuple[str, int, tuple[str | int, ...]]: + prefix = b"" + decoder_name = "raw" + offset = 0 + if ( + headers.get(b"XTENSION") == b"'BINTABLE'" + and headers.get(b"ZIMAGE") == b"T" + and headers[b"ZCMPTYPE"] == b"'GZIP_1 '" + ): + no_prefix_size = self._get_size(headers, prefix) or (0, 0) + number_of_bits = int(headers[b"BITPIX"]) + offset = no_prefix_size[0] * no_prefix_size[1] * (number_of_bits // 8) + + prefix = b"Z" + decoder_name = "fits_gzip" + + size = self._get_size(headers, prefix) + if not size: + return "", 0, () + + self._size = size + + number_of_bits = int(headers[prefix + b"BITPIX"]) + if number_of_bits == 8: + self._mode = "L" + elif number_of_bits == 16: + self._mode = "I;16" + elif number_of_bits == 32: + self._mode = "I" + elif number_of_bits in (-32, -64): + self._mode = "F" + + args: tuple[str | int, ...] + if decoder_name == "raw": + args = (self.mode, 0, -1) + else: + args = (number_of_bits,) + return decoder_name, offset, args + + +class FitsGzipDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + with gzip.open(self.fd) as fp: + value = fp.read(self.state.xsize * self.state.ysize * 4) + + rows = [] + offset = 0 + number_of_bits = min(self.args[0] // 8, 4) + for y in range(self.state.ysize): + row = bytearray() + for x in range(self.state.xsize): + row += value[offset + (4 - number_of_bits) : offset + 4] + offset += 4 + rows.append(row) + self.set_as_raw(bytes([pixel for row in rows[::-1] for pixel in row])) + return -1, 0 + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(FitsImageFile.format, FitsImageFile, _accept) +Image.register_decoder("fits_gzip", FitsGzipDecoder) + +Image.register_extensions(FitsImageFile.format, [".fit", ".fits"]) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/FliImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/FliImagePlugin.py new file mode 100644 index 0000000..da1e8e9 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/FliImagePlugin.py @@ -0,0 +1,184 @@ +# +# The Python Imaging Library. +# $Id$ +# +# FLI/FLC file handling. +# +# History: +# 95-09-01 fl Created +# 97-01-03 fl Fixed parser, setup decoder tile +# 98-07-15 fl Renamed offset attribute to avoid name clash +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1995-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 +from ._util import DeferredError + +# +# decoder + + +def _accept(prefix: bytes) -> bool: + return ( + len(prefix) >= 16 + and i16(prefix, 4) in [0xAF11, 0xAF12] + and i16(prefix, 14) in [0, 3] # flags + ) + + +## +# Image plugin for the FLI/FLC animation format. Use the <b>seek</b> +# method to load individual frames. + + +class FliImageFile(ImageFile.ImageFile): + format = "FLI" + format_description = "Autodesk FLI/FLC Animation" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # HEAD + assert self.fp is not None + s = self.fp.read(128) + if not ( + _accept(s) + and s[20:22] == b"\x00" * 2 + and s[42:80] == b"\x00" * 38 + and s[88:] == b"\x00" * 40 + ): + msg = "not an FLI/FLC file" + raise SyntaxError(msg) + + # frames + self.n_frames = i16(s, 6) + self.is_animated = self.n_frames > 1 + + # image characteristics + self._mode = "P" + self._size = i16(s, 8), i16(s, 10) + + # animation speed + duration = i32(s, 16) + magic = i16(s, 4) + if magic == 0xAF11: + duration = (duration * 1000) // 70 + self.info["duration"] = duration + + # look for palette + palette = [(a, a, a) for a in range(256)] + + s = self.fp.read(16) + + self.__offset = 128 + + if i16(s, 4) == 0xF100: + # prefix chunk; ignore it + self.fp.seek(self.__offset + i32(s)) + s = self.fp.read(16) + + if i16(s, 4) == 0xF1FA: + # look for palette chunk + number_of_subchunks = i16(s, 6) + chunk_size: int | None = None + for _ in range(number_of_subchunks): + if chunk_size is not None: + self.fp.seek(chunk_size - 6, os.SEEK_CUR) + s = self.fp.read(6) + chunk_type = i16(s, 4) + if chunk_type in (4, 11): + self._palette(palette, 2 if chunk_type == 11 else 0) + break + chunk_size = i32(s) + if not chunk_size: + break + + self.palette = ImagePalette.raw( + "RGB", b"".join(o8(r) + o8(g) + o8(b) for (r, g, b) in palette) + ) + + # set things up to decode first frame + self.__frame = -1 + self._fp = self.fp + self.__rewind = self.fp.tell() + self.seek(0) + + def _palette(self, palette: list[tuple[int, int, int]], shift: int) -> None: + # load palette + + i = 0 + assert self.fp is not None + for e in range(i16(self.fp.read(2))): + s = self.fp.read(2) + i = i + s[0] + n = s[1] + if n == 0: + n = 256 + s = self.fp.read(n * 3) + for n in range(0, len(s), 3): + r = s[n] << shift + g = s[n + 1] << shift + b = s[n + 2] << shift + palette[i] = (r, g, b) + i += 1 + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._seek(0) + + for f in range(self.__frame + 1, frame + 1): + self._seek(f) + + def _seek(self, frame: int) -> None: + if isinstance(self._fp, DeferredError): + raise self._fp.ex + if frame == 0: + self.__frame = -1 + self._fp.seek(self.__rewind) + self.__offset = 128 + else: + # ensure that the previous frame was loaded + self.load() + + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + self.__frame = frame + + # move to next frame + self.fp = self._fp + self.fp.seek(self.__offset) + + s = self.fp.read(4) + if not s: + msg = "missing frame size" + raise EOFError(msg) + + framesize = i32(s) + + self.decodermaxblock = framesize + self.tile = [ImageFile._Tile("fli", (0, 0) + self.size, self.__offset)] + + self.__offset += framesize + + def tell(self) -> int: + return self.__frame + + +# +# registry + +Image.register_open(FliImageFile.format, FliImageFile, _accept) + +Image.register_extensions(FliImageFile.format, [".fli", ".flc"]) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/FontFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/FontFile.py new file mode 100644 index 0000000..341431d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/FontFile.py @@ -0,0 +1,159 @@ +# +# The Python Imaging Library +# $Id$ +# +# base class for raster font file parsers +# +# history: +# 1997-06-05 fl created +# 1997-08-19 fl restrict image width +# +# Copyright (c) 1997-1998 by Secret Labs AB +# Copyright (c) 1997-1998 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import BinaryIO + +from . import Image, ImageFont, _binary + +WIDTH = 800 + + +def puti16( + fp: BinaryIO, values: tuple[int, int, int, int, int, int, int, int, int, int] +) -> None: + """Write network order (big-endian) 16-bit sequence""" + for v in values: + if v < 0: + v += 65536 + fp.write(_binary.o16be(v)) + + +class FontFile: + """Base class for raster font file handlers.""" + + bitmap: Image.Image | None = None + + def __init__(self) -> None: + self.info: dict[bytes, bytes | int] = {} + self.glyph: list[ + tuple[ + tuple[int, int], + tuple[int, int, int, int], + tuple[int, int, int, int], + Image.Image, + ] + | None + ] = [None] * 256 + + def __getitem__(self, ix: int) -> ( + tuple[ + tuple[int, int], + tuple[int, int, int, int], + tuple[int, int, int, int], + Image.Image, + ] + | None + ): + return self.glyph[ix] + + def compile(self) -> None: + """Create metrics and bitmap""" + + if self.bitmap: + return + + # create bitmap large enough to hold all data + h = w = maxwidth = 0 + lines = 1 + for glyph in self.glyph: + if glyph: + d, dst, src, im = glyph + h = max(h, src[3] - src[1]) + w = w + (src[2] - src[0]) + if w > WIDTH: + lines += 1 + w = src[2] - src[0] + maxwidth = max(maxwidth, w) + + xsize = maxwidth + ysize = lines * h + + if xsize == 0 and ysize == 0: + return + + self.ysize = h + + # paste glyphs into bitmap + self.bitmap = Image.new("1", (xsize, ysize)) + self.metrics: list[ + tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]] + | None + ] = [None] * 256 + x = y = 0 + for i in range(256): + glyph = self[i] + if glyph: + d, dst, src, im = glyph + xx = src[2] - src[0] + x0, y0 = x, y + x = x + xx + if x > WIDTH: + x, y = 0, y + h + x0, y0 = x, y + x = xx + s = src[0] + x0, src[1] + y0, src[2] + x0, src[3] + y0 + self.bitmap.paste(im.crop(src), s) + self.metrics[i] = d, dst, s + + def _encode_metrics(self) -> bytes: + values: list[int] = [] + for i in range(256): + m = self.metrics[i] + if m: + values.extend(m[0] + m[1] + m[2]) + else: + values.extend((0,) * 10) + + data = bytearray() + for v in values: + if v < 0: + v += 65536 + data += _binary.o16be(v) + return bytes(data) + + def save(self, filename: str) -> None: + """Save font""" + + self.compile() + + # font data + if not self.bitmap: + msg = "No bitmap created" + raise ValueError(msg) + self.bitmap.save(os.path.splitext(filename)[0] + ".pbm", "PNG") + + # font metrics + with open(os.path.splitext(filename)[0] + ".pil", "wb") as fp: + fp.write(b"PILfont\n") + fp.write(f";;;;;;{self.ysize};\n".encode("ascii")) # HACK!!! + fp.write(b"DATA\n") + fp.write(self._encode_metrics()) + + def to_imagefont(self) -> ImageFont.ImageFont: + """Convert to ImageFont""" + + self.compile() + + # font data + if not self.bitmap: + msg = "No bitmap created" + raise ValueError(msg) + + imagefont = ImageFont.ImageFont() + imagefont._load(self.bitmap, self._encode_metrics()) + return imagefont diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/FpxImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/FpxImagePlugin.py new file mode 100644 index 0000000..0b06aac --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/FpxImagePlugin.py @@ -0,0 +1,258 @@ +# +# THIS IS WORK IN PROGRESS +# +# The Python Imaging Library. +# $Id$ +# +# FlashPix support for PIL +# +# History: +# 97-01-25 fl Created (reads uncompressed RGB images only) +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import olefile + +from . import Image, ImageFile +from ._binary import i32le as i32 + +# we map from colour field tuples to (mode, rawmode) descriptors +MODES = { + # opacity + (0x00007FFE,): ("A", "L"), + # monochrome + (0x00010000,): ("L", "L"), + (0x00018000, 0x00017FFE): ("RGBA", "LA"), + # photo YCC + (0x00020000, 0x00020001, 0x00020002): ("RGB", "YCC;P"), + (0x00028000, 0x00028001, 0x00028002, 0x00027FFE): ("RGBA", "YCCA;P"), + # standard RGB (NIFRGB) + (0x00030000, 0x00030001, 0x00030002): ("RGB", "RGB"), + (0x00038000, 0x00038001, 0x00038002, 0x00037FFE): ("RGBA", "RGBA"), +} + + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(olefile.MAGIC) + + +## +# Image plugin for the FlashPix images. + + +class FpxImageFile(ImageFile.ImageFile): + format = "FPX" + format_description = "FlashPix" + + def _open(self) -> None: + # + # read the OLE directory and see if this is a likely + # to be a FlashPix file + + assert self.fp is not None + try: + self.ole = olefile.OleFileIO(self.fp) + except OSError as e: + msg = "not an FPX file; invalid OLE file" + raise SyntaxError(msg) from e + + root = self.ole.root + if not root or root.clsid != "56616700-C154-11CE-8553-00AA00A1F95B": + msg = "not an FPX file; bad root CLSID" + raise SyntaxError(msg) + + self._open_index(1) + + def _open_index(self, index: int = 1) -> None: + # + # get the Image Contents Property Set + + prop = self.ole.getproperties( + [f"Data Object Store {index:06d}", "\005Image Contents"] + ) + + # size (highest resolution) + + assert isinstance(prop[0x1000002], int) + assert isinstance(prop[0x1000003], int) + self._size = prop[0x1000002], prop[0x1000003] + + size = max(self.size) + i = 1 + while size > 64: + size = size // 2 + i += 1 + self.maxid = i - 1 + + # mode. instead of using a single field for this, flashpix + # requires you to specify the mode for each channel in each + # resolution subimage, and leaves it to the decoder to make + # sure that they all match. for now, we'll cheat and assume + # that this is always the case. + + id = self.maxid << 16 + + s = prop[0x2000002 | id] + + if not isinstance(s, bytes) or (bands := i32(s, 4)) > 4: + msg = "Invalid number of bands" + raise OSError(msg) + + # note: for now, we ignore the "uncalibrated" flag + colors = tuple(i32(s, 8 + i * 4) & 0x7FFFFFFF for i in range(bands)) + + self._mode, self.rawmode = MODES[colors] + + # load JPEG tables, if any + self.jpeg = {} + for i in range(256): + id = 0x3000001 | (i << 16) + if id in prop: + self.jpeg[i] = prop[id] + + self._open_subimage(1, self.maxid) + + def _open_subimage(self, index: int = 1, subimage: int = 0) -> None: + # + # setup tile descriptors for a given subimage + + stream = [ + f"Data Object Store {index:06d}", + f"Resolution {subimage:04d}", + "Subimage 0000 Header", + ] + + fp = self.ole.openstream(stream) + + # skip prefix + fp.read(28) + + # header stream + s = fp.read(36) + + size = i32(s, 4), i32(s, 8) + # tilecount = i32(s, 12) + xtile, ytile = i32(s, 16), i32(s, 20) + # channels = i32(s, 24) + offset = i32(s, 28) + length = i32(s, 32) + + if size != self.size: + msg = "subimage mismatch" + raise OSError(msg) + + # get tile descriptors + fp.seek(28 + offset) + s = fp.read(i32(s, 12) * length) + + x = y = 0 + xsize, ysize = size + self.tile = [] + + for i in range(0, len(s), length): + x1 = min(xsize, x + xtile) + y1 = min(ysize, y + ytile) + + compression = i32(s, i + 8) + + if compression == 0: + self.tile.append( + ImageFile._Tile( + "raw", + (x, y, x1, y1), + i32(s, i) + 28, + self.rawmode, + ) + ) + + elif compression == 1: + # FIXME: the fill decoder is not implemented + self.tile.append( + ImageFile._Tile( + "fill", + (x, y, x1, y1), + i32(s, i) + 28, + (self.rawmode, s[12:16]), + ) + ) + + elif compression == 2: + internal_color_conversion = s[14] + jpeg_tables = s[15] + rawmode = self.rawmode + + if internal_color_conversion: + # The image is stored as usual (usually YCbCr). + if rawmode == "RGBA": + # For "RGBA", data is stored as YCbCrA based on + # negative RGB. The following trick works around + # this problem : + jpegmode, rawmode = "YCbCrK", "CMYK" + else: + jpegmode = None # let the decoder decide + + else: + # The image is stored as defined by rawmode + jpegmode = rawmode + + self.tile.append( + ImageFile._Tile( + "jpeg", + (x, y, x1, y1), + i32(s, i) + 28, + (rawmode, jpegmode), + ) + ) + + # FIXME: jpeg tables are tile dependent; the prefix + # data must be placed in the tile descriptor itself! + + if jpeg_tables: + self.tile_prefix = self.jpeg[jpeg_tables] + + else: + msg = "unknown/invalid compression" + raise OSError(msg) + + x += xtile + if x >= xsize: + x, y = 0, y + ytile + if y >= ysize: + break # isn't really required + + assert self.fp is not None + self.stream = stream + self._fp = self.fp + self.fp = None + + def load(self) -> Image.core.PixelAccess | None: + if not self.fp: + self.fp = self.ole.openstream(self.stream[:2] + ["Subimage 0000 Data"]) + + return ImageFile.ImageFile.load(self) + + def close(self) -> None: + self.ole.close() + super().close() + + def __exit__(self, *args: object) -> None: + self.ole.close() + super().__exit__() + + +# +# -------------------------------------------------------------------- + + +Image.register_open(FpxImageFile.format, FpxImageFile, _accept) + +Image.register_extension(FpxImageFile.format, ".fpx") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/FtexImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/FtexImagePlugin.py new file mode 100644 index 0000000..e4d836c --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/FtexImagePlugin.py @@ -0,0 +1,115 @@ +""" +A Pillow loader for .ftc and .ftu files (FTEX) +Jerome Leclanche <jerome@leclan.ch> + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: + https://creativecommons.org/publicdomain/zero/1.0/ + +Independence War 2: Edge Of Chaos - Texture File Format - 16 October 2001 + +The textures used for 3D objects in Independence War 2: Edge Of Chaos are in a +packed custom format called FTEX. This file format uses file extensions FTC +and FTU. +* FTC files are compressed textures (using standard texture compression). +* FTU files are not compressed. +Texture File Format +The FTC and FTU texture files both use the same format. This +has the following structure: +{header} +{format_directory} +{data} +Where: +{header} = { + u32:magic, + u32:version, + u32:width, + u32:height, + u32:mipmap_count, + u32:format_count +} + +* The "magic" number is "FTEX". +* "width" and "height" are the dimensions of the texture. +* "mipmap_count" is the number of mipmaps in the texture. +* "format_count" is the number of texture formats (different versions of the +same texture) in this file. + +{format_directory} = format_count * { u32:format, u32:where } + +The format value is 0 for DXT1 compressed textures and 1 for 24-bit RGB +uncompressed textures. +The texture data for a format starts at the position "where" in the file. + +Each set of texture data in the file has the following structure: +{data} = format_count * { u32:mipmap_size, mipmap_size * { u8 } } +* "mipmap_size" is the number of bytes in that mip level. For compressed +textures this is the size of the texture data compressed with DXT1. For 24 bit +uncompressed textures, this is 3 * width * height. Following this are the image +bytes for that mipmap level. + +Note: All data is stored in little-Endian (Intel) byte order. +""" + +from __future__ import annotations + +import struct +from enum import IntEnum +from io import BytesIO + +from . import Image, ImageFile + +MAGIC = b"FTEX" + + +class Format(IntEnum): + DXT1 = 0 + UNCOMPRESSED = 1 + + +class FtexImageFile(ImageFile.ImageFile): + format = "FTEX" + format_description = "Texture File Format (IW2:EOC)" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(4)): + msg = "not an FTEX file" + raise SyntaxError(msg) + struct.unpack("<i", self.fp.read(4)) # version + self._size = struct.unpack("<2i", self.fp.read(8)) + mipmap_count, format_count = struct.unpack("<2i", self.fp.read(8)) + + # Only support single-format files. + # I don't know of any multi-format file. + assert format_count == 1 + + format, where = struct.unpack("<2i", self.fp.read(8)) + self.fp.seek(where) + (mipmap_size,) = struct.unpack("<i", self.fp.read(4)) + + data = self.fp.read(mipmap_size) + + if format == Format.DXT1: + self._mode = "RGBA" + self.tile = [ImageFile._Tile("bcn", (0, 0) + self.size, 0, (1,))] + elif format == Format.UNCOMPRESSED: + self._mode = "RGB" + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 0, "RGB")] + else: + msg = f"Invalid texture compression format: {repr(format)}" + raise ValueError(msg) + + self.fp.close() + self.fp = BytesIO(data) + + def load_seek(self, pos: int) -> None: + pass + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(MAGIC) + + +Image.register_open(FtexImageFile.format, FtexImageFile, _accept) +Image.register_extensions(FtexImageFile.format, [".ftc", ".ftu"]) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/GbrImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/GbrImagePlugin.py new file mode 100644 index 0000000..ec666c8 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/GbrImagePlugin.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library +# +# load a GIMP brush file +# +# History: +# 96-03-14 fl Created +# 16-01-08 es Version 2 +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# Copyright (c) Eric Soroos 2016. +# +# See the README file for information on usage and redistribution. +# +# +# See https://github.com/GNOME/gimp/blob/mainline/devel-docs/gbr.txt for +# format documentation. +# +# This code Interprets version 1 and 2 .gbr files. +# Version 1 files are obsolete, and should not be used for new +# brushes. +# Version 2 files are saved by GIMP v2.8 (at least) +# Version 3 files have a format specifier of 18 for 16bit floats in +# the color depth field. This is currently unsupported by Pillow. +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 8 and i32(prefix, 0) >= 20 and i32(prefix, 4) in (1, 2) + + +## +# Image plugin for the GIMP brush format. + + +class GbrImageFile(ImageFile.ImageFile): + format = "GBR" + format_description = "GIMP brush file" + + def _open(self) -> None: + assert self.fp is not None + header_size = i32(self.fp.read(4)) + if header_size < 20: + msg = "not a GIMP brush" + raise SyntaxError(msg) + version = i32(self.fp.read(4)) + if version not in (1, 2): + msg = f"Unsupported GIMP brush version: {version}" + raise SyntaxError(msg) + + width = i32(self.fp.read(4)) + height = i32(self.fp.read(4)) + color_depth = i32(self.fp.read(4)) + if width == 0 or height == 0: + msg = "not a GIMP brush" + raise SyntaxError(msg) + if color_depth not in (1, 4): + msg = f"Unsupported GIMP brush color depth: {color_depth}" + raise SyntaxError(msg) + + if version == 1: + comment_length = header_size - 20 + else: + comment_length = header_size - 28 + magic_number = self.fp.read(4) + if magic_number != b"GIMP": + msg = "not a GIMP brush, bad magic number" + raise SyntaxError(msg) + self.info["spacing"] = i32(self.fp.read(4)) + + self.info["comment"] = self.fp.read(comment_length)[:-1] + + if color_depth == 1: + self._mode = "L" + else: + self._mode = "RGBA" + + self._size = width, height + + # Image might not be small + Image._decompression_bomb_check(self.size) + + # Data is an uncompressed block of w * h * bytes/pixel + self._data_size = width * height * color_depth + + def load(self) -> Image.core.PixelAccess | None: + if self._im is None: + assert self.fp is not None + self.im = Image.core.new(self.mode, self.size) + self.frombytes(self.fp.read(self._data_size)) + return Image.Image.load(self) + + +# +# registry + + +Image.register_open(GbrImageFile.format, GbrImageFile, _accept) +Image.register_extension(GbrImageFile.format, ".gbr") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/GdImageFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/GdImageFile.py new file mode 100644 index 0000000..d73bc19 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/GdImageFile.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library. +# $Id$ +# +# GD file handling +# +# History: +# 1996-04-12 fl Created +# +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + + +""" +.. note:: + This format cannot be automatically recognized, so the + class is not registered for use with :py:func:`PIL.Image.open()`. To open a + gd file, use the :py:func:`PIL.GdImageFile.open()` function instead. + +.. warning:: + THE GD FORMAT IS NOT DESIGNED FOR DATA INTERCHANGE. This + implementation is provided for convenience and demonstrational + purposes only. +""" + +from __future__ import annotations + +from typing import IO + +from . import ImageFile, ImagePalette, UnidentifiedImageError +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._typing import StrOrBytesPath + + +class GdImageFile(ImageFile.ImageFile): + """ + Image plugin for the GD uncompressed format. Note that this format + is not supported by the standard :py:func:`PIL.Image.open()` function. To use + this plugin, you have to import the :py:mod:`PIL.GdImageFile` module and + use the :py:func:`PIL.GdImageFile.open()` function. + """ + + format = "GD" + format_description = "GD uncompressed images" + + def _open(self) -> None: + # Header + assert self.fp is not None + + s = self.fp.read(1037) + + if i16(s) not in [65534, 65535]: + msg = "Not a valid GD 2.x .gd file" + raise SyntaxError(msg) + + self._mode = "P" + self._size = i16(s, 2), i16(s, 4) + + true_color = s[6] + true_color_offset = 2 if true_color else 0 + + # transparency index + tindex = i32(s, 7 + true_color_offset) + if tindex < 256: + self.info["transparency"] = tindex + + self.palette = ImagePalette.raw( + "RGBX", s[7 + true_color_offset + 6 : 7 + true_color_offset + 6 + 256 * 4] + ) + + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + 7 + true_color_offset + 6 + 256 * 4, + "L", + ) + ] + + +def open(fp: StrOrBytesPath | IO[bytes], mode: str = "r") -> GdImageFile: + """ + Load texture from a GD image file. + + :param fp: GD file name, or an opened file handle. + :param mode: Optional mode. In this version, if the mode argument + is given, it must be "r". + :returns: An image instance. + :raises OSError: If the image could not be read. + """ + if mode != "r": + msg = "bad mode" + raise ValueError(msg) + + try: + return GdImageFile(fp) + except SyntaxError as e: + msg = "cannot identify this image file" + raise UnidentifiedImageError(msg) from e diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/GifImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/GifImagePlugin.py new file mode 100644 index 0000000..b8db5d8 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/GifImagePlugin.py @@ -0,0 +1,1223 @@ +# +# The Python Imaging Library. +# $Id$ +# +# GIF file handling +# +# History: +# 1995-09-01 fl Created +# 1996-12-14 fl Added interlace support +# 1996-12-30 fl Added animation support +# 1997-01-05 fl Added write support, fixed local colour map bug +# 1997-02-23 fl Make sure to load raster data in getdata() +# 1997-07-05 fl Support external decoder (0.4) +# 1998-07-09 fl Handle all modes when saving (0.5) +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 2001-04-16 fl Added rewind support (seek to frame 0) (0.6) +# 2001-04-17 fl Added palette optimization (0.7) +# 2002-06-06 fl Added transparency support for save (0.8) +# 2004-02-24 fl Disable interlacing for small images +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1995-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import math +import os +import subprocess +from enum import IntEnum +from functools import cached_property +from typing import Any, NamedTuple, cast + +from . import ( + Image, + ImageChops, + ImageFile, + ImageMath, + ImageOps, + ImagePalette, + ImageSequence, +) +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 +from ._util import DeferredError + +TYPE_CHECKING = False +if TYPE_CHECKING: + from typing import IO, Literal + + from . import _imaging + from ._typing import Buffer + + +class LoadingStrategy(IntEnum): + """.. versionadded:: 9.1.0""" + + RGB_AFTER_FIRST = 0 + RGB_AFTER_DIFFERENT_PALETTE_ONLY = 1 + RGB_ALWAYS = 2 + + +#: .. versionadded:: 9.1.0 +LOADING_STRATEGY = LoadingStrategy.RGB_AFTER_FIRST + +# -------------------------------------------------------------------- +# Identify/read GIF files + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith((b"GIF87a", b"GIF89a")) + + +## +# Image plugin for GIF images. This plugin supports both GIF87 and +# GIF89 images. + + +class GifImageFile(ImageFile.ImageFile): + format = "GIF" + format_description = "Compuserve GIF" + _close_exclusive_fp_after_loading = False + + global_palette = None + + def data(self) -> bytes | None: + assert self.fp is not None + s = self.fp.read(1) + if s and s[0]: + return self.fp.read(s[0]) + return None + + def _is_palette_needed(self, p: bytes) -> bool: + for i in range(0, len(p), 3): + if not (i // 3 == p[i] == p[i + 1] == p[i + 2]): + return True + return False + + def _open(self) -> None: + # Screen + assert self.fp is not None + s = self.fp.read(13) + if not _accept(s): + msg = "not a GIF file" + raise SyntaxError(msg) + + self.info["version"] = s[:6] + self._size = i16(s, 6), i16(s, 8) + flags = s[10] + bits = (flags & 7) + 1 + + if flags & 128: + # get global palette + self.info["background"] = s[11] + # check if palette contains colour indices + p = self.fp.read(3 << bits) + if self._is_palette_needed(p): + palette = ImagePalette.raw("RGB", p) + self.global_palette = self.palette = palette + + self._fp = self.fp # FIXME: hack + self.__rewind = self.fp.tell() + self._n_frames: int | None = None + self._seek(0) # get ready to read first frame + + @property + def n_frames(self) -> int: + if self._n_frames is None: + current = self.tell() + try: + while True: + self._seek(self.tell() + 1, False) + except EOFError: + self._n_frames = self.tell() + 1 + self.seek(current) + return self._n_frames + + @cached_property + def is_animated(self) -> bool: + if self._n_frames is not None: + return self._n_frames != 1 + + current = self.tell() + if current: + return True + + try: + self._seek(1, False) + is_animated = True + except EOFError: + is_animated = False + + self.seek(current) + return is_animated + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._im = None + self._seek(0) + + last_frame = self.__frame + try: + for f in range(self.__frame + 1, frame + 1): + self._seek(f) + except EOFError as e: + self.seek(last_frame) + msg = "no more images in GIF file" + raise EOFError(msg) from e + + def _seek(self, frame: int, update_image: bool = True) -> None: + if isinstance(self._fp, DeferredError): + raise self._fp.ex + if frame == 0: + # rewind + self.__offset = 0 + self.dispose: _imaging.ImagingCore | None = None + self.__frame = -1 + self._fp.seek(self.__rewind) + self.disposal_method = 0 + if "comment" in self.info: + del self.info["comment"] + else: + # ensure that the previous frame was loaded + if self.tile and update_image: + self.load() + + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + + self.fp = self._fp + if self.__offset: + # backup to last frame + self.fp.seek(self.__offset) + while self.data(): + pass + self.__offset = 0 + + s = self.fp.read(1) + if not s or s == b";": + msg = "no more images in GIF file" + raise EOFError(msg) + + palette: ImagePalette.ImagePalette | Literal[False] | None = None + + info: dict[str, Any] = {} + frame_transparency = None + interlace = None + frame_dispose_extent = None + while True: + if not s: + s = self.fp.read(1) + if not s or s == b";": + break + + elif s == b"!": + # + # extensions + # + s = self.fp.read(1) + block = self.data() + if s[0] == 249 and block is not None: + # + # graphic control extension + # + flags = block[0] + if flags & 1: + frame_transparency = block[3] + info["duration"] = i16(block, 1) * 10 + + # disposal method - find the value of bits 4 - 6 + dispose_bits = 0b00011100 & flags + dispose_bits = dispose_bits >> 2 + if dispose_bits: + # only set the dispose if it is not + # unspecified. I'm not sure if this is + # correct, but it seems to prevent the last + # frame from looking odd for some animations + self.disposal_method = dispose_bits + elif s[0] == 254: + # + # comment extension + # + comment = b"" + + # Read this comment block + while block: + comment += block + block = self.data() + + if "comment" in info: + # If multiple comment blocks in frame, separate with \n + info["comment"] += b"\n" + comment + else: + info["comment"] = comment + s = b"" + continue + elif s[0] == 255 and frame == 0 and block is not None: + # + # application extension + # + info["extension"] = block, self.fp.tell() + if block.startswith(b"NETSCAPE2.0"): + block = self.data() + if block and len(block) >= 3 and block[0] == 1: + self.info["loop"] = i16(block, 1) + while self.data(): + pass + + elif s == b",": + # + # local image + # + s = self.fp.read(9) + + # extent + x0, y0 = i16(s, 0), i16(s, 2) + x1, y1 = x0 + i16(s, 4), y0 + i16(s, 6) + if (x1 > self.size[0] or y1 > self.size[1]) and update_image: + self._size = max(x1, self.size[0]), max(y1, self.size[1]) + Image._decompression_bomb_check(self._size) + frame_dispose_extent = x0, y0, x1, y1 + flags = s[8] + + interlace = (flags & 64) != 0 + + if flags & 128: + bits = (flags & 7) + 1 + p = self.fp.read(3 << bits) + if self._is_palette_needed(p): + palette = ImagePalette.raw("RGB", p) + else: + palette = False + + # image data + bits = self.fp.read(1)[0] + self.__offset = self.fp.tell() + break + s = b"" + + if interlace is None: + msg = "image not found in GIF frame" + raise EOFError(msg) + + self.__frame = frame + if not update_image: + return + + self.tile = [] + + if self.dispose: + self.im.paste(self.dispose, self.dispose_extent) + + self._frame_palette = palette if palette is not None else self.global_palette + self._frame_transparency = frame_transparency + if frame == 0: + if self._frame_palette: + if LOADING_STRATEGY == LoadingStrategy.RGB_ALWAYS: + self._mode = "RGBA" if frame_transparency is not None else "RGB" + else: + self._mode = "P" + else: + self._mode = "L" + + if palette: + self.palette = palette + elif self.global_palette: + from copy import copy + + self.palette = copy(self.global_palette) + else: + self.palette = None + else: + if self.mode == "P": + if ( + LOADING_STRATEGY != LoadingStrategy.RGB_AFTER_DIFFERENT_PALETTE_ONLY + or palette + ): + if "transparency" in self.info: + self.im.putpalettealpha(self.info["transparency"], 0) + self.im = self.im.convert("RGBA", Image.Dither.FLOYDSTEINBERG) + self._mode = "RGBA" + del self.info["transparency"] + else: + self._mode = "RGB" + self.im = self.im.convert("RGB", Image.Dither.FLOYDSTEINBERG) + + def _rgb(color: int) -> tuple[int, int, int]: + if self._frame_palette: + if color * 3 + 3 > len(self._frame_palette.palette): + color = 0 + return cast( + tuple[int, int, int], + tuple(self._frame_palette.palette[color * 3 : color * 3 + 3]), + ) + else: + return (color, color, color) + + self.dispose = None + self.dispose_extent: tuple[int, int, int, int] | None = frame_dispose_extent + if self.dispose_extent and self.disposal_method >= 2: + try: + if self.disposal_method == 2: + # replace with background colour + + # only dispose the extent in this frame + x0, y0, x1, y1 = self.dispose_extent + dispose_size = (x1 - x0, y1 - y0) + + Image._decompression_bomb_check(dispose_size) + + # by convention, attempt to use transparency first + dispose_mode = "P" + color = self.info.get("transparency", frame_transparency) + if color is not None: + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGBA" + color = _rgb(color) + (0,) + else: + color = self.info.get("background", 0) + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGB" + color = _rgb(color) + self.dispose = Image.core.fill(dispose_mode, dispose_size, color) + else: + # replace with previous contents + if self._im is not None: + # only dispose the extent in this frame + self.dispose = self._crop(self.im, self.dispose_extent) + elif frame_transparency is not None: + x0, y0, x1, y1 = self.dispose_extent + dispose_size = (x1 - x0, y1 - y0) + + Image._decompression_bomb_check(dispose_size) + dispose_mode = "P" + color = frame_transparency + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGBA" + color = _rgb(frame_transparency) + (0,) + self.dispose = Image.core.fill( + dispose_mode, dispose_size, color + ) + except AttributeError: + pass + + if interlace is not None: + transparency = -1 + if frame_transparency is not None: + if frame == 0: + if LOADING_STRATEGY != LoadingStrategy.RGB_ALWAYS: + self.info["transparency"] = frame_transparency + elif self.mode not in ("RGB", "RGBA"): + transparency = frame_transparency + self.tile = [ + ImageFile._Tile( + "gif", + (x0, y0, x1, y1), + self.__offset, + (bits, interlace, transparency), + ) + ] + + if info.get("comment"): + self.info["comment"] = info["comment"] + for k in ["duration", "extension"]: + if k in info: + self.info[k] = info[k] + elif k in self.info: + del self.info[k] + + def load_prepare(self) -> None: + temp_mode = "P" if self._frame_palette else "L" + self._prev_im = None + if self.__frame == 0: + if self._frame_transparency is not None: + self.im = Image.core.fill( + temp_mode, self.size, self._frame_transparency + ) + elif self.mode in ("RGB", "RGBA"): + self._prev_im = self.im + if self._frame_palette: + self.im = Image.core.fill("P", self.size, self._frame_transparency or 0) + self.im.putpalette("RGB", *self._frame_palette.getdata()) + else: + self._im = None + if not self._prev_im and self._im is not None and self.size != self.im.size: + expanded_im = Image.core.fill(self.im.mode, self.size) + if self._frame_palette: + expanded_im.putpalette("RGB", *self._frame_palette.getdata()) + expanded_im.paste(self.im, (0, 0) + self.im.size) + + self.im = expanded_im + self._mode = temp_mode + self._frame_palette = None + + super().load_prepare() + + def load_end(self) -> None: + if self.__frame == 0: + if self.mode == "P" and LOADING_STRATEGY == LoadingStrategy.RGB_ALWAYS: + if self._frame_transparency is not None: + self.im.putpalettealpha(self._frame_transparency, 0) + self._mode = "RGBA" + else: + self._mode = "RGB" + self.im = self.im.convert(self.mode, Image.Dither.FLOYDSTEINBERG) + return + if not self._prev_im: + return + if self.size != self._prev_im.size: + if self._frame_transparency is not None: + expanded_im = Image.core.fill("RGBA", self.size) + else: + expanded_im = Image.core.fill("P", self.size) + expanded_im.putpalette("RGB", "RGB", self.im.getpalette()) + expanded_im = expanded_im.convert("RGB") + expanded_im.paste(self._prev_im, (0, 0) + self._prev_im.size) + + self._prev_im = expanded_im + assert self._prev_im is not None + if self._frame_transparency is not None: + if self.mode == "L": + frame_im = self.im.convert_transparent("LA", self._frame_transparency) + else: + self.im.putpalettealpha(self._frame_transparency, 0) + frame_im = self.im.convert("RGBA") + else: + frame_im = self.im.convert("RGB") + + assert self.dispose_extent is not None + frame_im = self._crop(frame_im, self.dispose_extent) + + self.im = self._prev_im + self._mode = self.im.mode + if frame_im.mode in ("LA", "RGBA"): + self.im.paste(frame_im, self.dispose_extent, frame_im) + else: + self.im.paste(frame_im, self.dispose_extent) + + def tell(self) -> int: + return self.__frame + + +# -------------------------------------------------------------------- +# Write GIF files + + +RAWMODE = {"1": "L", "L": "L", "P": "P"} + + +def _normalize_mode(im: Image.Image) -> Image.Image: + """ + Takes an image (or frame), returns an image in a mode that is appropriate + for saving in a Gif. + + It may return the original image, or it may return an image converted to + palette or 'L' mode. + + :param im: Image object + :returns: Image object + """ + if im.mode in RAWMODE: + im.load() + return im + if Image.getmodebase(im.mode) == "RGB": + im = im.convert("P", palette=Image.Palette.ADAPTIVE) + assert im.palette is not None + if im.palette.mode == "RGBA": + for rgba in im.palette.colors: + if rgba[3] == 0: + im.info["transparency"] = im.palette.colors[rgba] + break + return im + return im.convert("L") + + +_Palette = bytes | bytearray | list[int] | ImagePalette.ImagePalette + + +def _normalize_palette( + im: Image.Image, palette: _Palette | None, info: dict[str, Any] +) -> Image.Image: + """ + Normalizes the palette for image. + - Sets the palette to the incoming palette, if provided. + - Ensures that there's a palette for L mode images + - Optimizes the palette if necessary/desired. + + :param im: Image object + :param palette: bytes object containing the source palette, or .... + :param info: encoderinfo + :returns: Image object + """ + source_palette = None + if palette: + # a bytes palette + if isinstance(palette, (bytes, bytearray, list)): + source_palette = bytearray(palette[:768]) + if isinstance(palette, ImagePalette.ImagePalette): + source_palette = bytearray(palette.palette) + + if im.mode == "P": + if not source_palette: + im_palette = im.getpalette(None) + assert im_palette is not None + source_palette = bytearray(im_palette) + else: # L-mode + if not source_palette: + source_palette = bytearray(i // 3 for i in range(768)) + im.palette = ImagePalette.ImagePalette("RGB", palette=source_palette) + assert source_palette is not None + + if palette: + used_palette_colors: list[int | None] = [] + assert im.palette is not None + for i in range(0, len(source_palette), 3): + source_color = tuple(source_palette[i : i + 3]) + index = im.palette.colors.get(source_color) + if index in used_palette_colors: + index = None + used_palette_colors.append(index) + for i, index in enumerate(used_palette_colors): + if index is None: + for j in range(len(used_palette_colors)): + if j not in used_palette_colors: + used_palette_colors[i] = j + break + dest_map: list[int] = [] + for index in used_palette_colors: + assert index is not None + dest_map.append(index) + im = im.remap_palette(dest_map) + else: + optimized_palette_colors = _get_optimize(im, info) + if optimized_palette_colors is not None: + im = im.remap_palette(optimized_palette_colors, source_palette) + if "transparency" in info: + try: + info["transparency"] = optimized_palette_colors.index( + info["transparency"] + ) + except ValueError: + del info["transparency"] + return im + + assert im.palette is not None + im.palette.palette = source_palette + return im + + +def _write_single_frame( + im: Image.Image, + fp: IO[bytes], + palette: _Palette | None, +) -> None: + im_out = _normalize_mode(im) + for k, v in im_out.info.items(): + if isinstance(k, str): + im.encoderinfo.setdefault(k, v) + im_out = _normalize_palette(im_out, palette, im.encoderinfo) + + for s in _get_global_header(im_out, im.encoderinfo): + fp.write(s) + + # local image header + flags = 0 + if get_interlace(im): + flags = flags | 64 + _write_local_header(fp, im, (0, 0), flags) + + im_out.encoderconfig = (8, get_interlace(im)) + ImageFile._save( + im_out, fp, [ImageFile._Tile("gif", (0, 0) + im.size, 0, RAWMODE[im_out.mode])] + ) + + fp.write(b"\0") # end of image data + + +def _getbbox( + base_im: Image.Image, im_frame: Image.Image +) -> tuple[Image.Image, tuple[int, int, int, int] | None]: + palette_bytes = [ + bytes(im.palette.palette) if im.palette else b"" for im in (base_im, im_frame) + ] + if palette_bytes[0] != palette_bytes[1]: + im_frame = im_frame.convert("RGBA") + base_im = base_im.convert("RGBA") + delta = ImageChops.subtract_modulo(im_frame, base_im) + return delta, delta.getbbox(alpha_only=False) + + +class _Frame(NamedTuple): + im: Image.Image + bbox: tuple[int, int, int, int] | None + encoderinfo: dict[str, Any] + + +def _write_multiple_frames( + im: Image.Image, fp: IO[bytes], palette: _Palette | None +) -> bool: + duration = im.encoderinfo.get("duration") + disposal = im.encoderinfo.get("disposal", im.info.get("disposal")) + + im_frames: list[_Frame] = [] + previous_im: Image.Image | None = None + frame_count = 0 + background_im = None + for imSequence in itertools.chain([im], im.encoderinfo.get("append_images", [])): + for im_frame in ImageSequence.Iterator(imSequence): + # a copy is required here since seek can still mutate the image + im_frame = _normalize_mode(im_frame.copy()) + if frame_count == 0: + for k, v in im_frame.info.items(): + if k == "transparency": + continue + if isinstance(k, str): + im.encoderinfo.setdefault(k, v) + + encoderinfo = im.encoderinfo.copy() + if "transparency" in im_frame.info: + encoderinfo.setdefault("transparency", im_frame.info["transparency"]) + im_frame = _normalize_palette(im_frame, palette, encoderinfo) + if isinstance(duration, (list, tuple)): + encoderinfo["duration"] = duration[frame_count] + elif duration is None and "duration" in im_frame.info: + encoderinfo["duration"] = im_frame.info["duration"] + if isinstance(disposal, (list, tuple)): + encoderinfo["disposal"] = disposal[frame_count] + frame_count += 1 + + diff_frame = None + if im_frames and previous_im: + # delta frame + delta, bbox = _getbbox(previous_im, im_frame) + if not bbox: + # This frame is identical to the previous frame + if encoderinfo.get("duration"): + im_frames[-1].encoderinfo["duration"] += encoderinfo["duration"] + continue + if im_frames[-1].encoderinfo.get("disposal") == 2: + # To appear correctly in viewers using a convention, + # only consider transparency, and not background color + color = im.encoderinfo.get( + "transparency", im.info.get("transparency") + ) + if color is not None: + if background_im is None: + background = _get_background(im_frame, color) + background_im = Image.new("P", im_frame.size, background) + first_palette = im_frames[0].im.palette + assert first_palette is not None + background_im.putpalette(first_palette, first_palette.mode) + bbox = _getbbox(background_im, im_frame)[1] + else: + bbox = (0, 0) + im_frame.size + elif encoderinfo.get("optimize") and im_frame.mode != "1": + if "transparency" not in encoderinfo: + assert im_frame.palette is not None + try: + encoderinfo["transparency"] = ( + im_frame.palette._new_color_index(im_frame) + ) + except ValueError: + pass + if "transparency" in encoderinfo: + # When the delta is zero, fill the image with transparency + diff_frame = im_frame.copy() + fill = Image.new("P", delta.size, encoderinfo["transparency"]) + if delta.mode == "RGBA": + r, g, b, a = delta.split() + mask = ImageMath.lambda_eval( + lambda args: args["convert"]( + args["max"]( + args["max"]( + args["max"](args["r"], args["g"]), args["b"] + ), + args["a"], + ) + * 255, + "1", + ), + r=r, + g=g, + b=b, + a=a, + ) + else: + if delta.mode == "P": + # Convert to L without considering palette + delta_l = Image.new("L", delta.size) + delta_l.putdata(delta.get_flattened_data()) + delta = delta_l + mask = ImageMath.lambda_eval( + lambda args: args["convert"](args["im"] * 255, "1"), + im=delta, + ) + diff_frame.paste(fill, mask=ImageOps.invert(mask)) + else: + bbox = None + previous_im = im_frame + im_frames.append(_Frame(diff_frame or im_frame, bbox, encoderinfo)) + + if len(im_frames) == 1: + if "duration" in im.encoderinfo: + # Since multiple frames will not be written, use the combined duration + im.encoderinfo["duration"] = im_frames[0].encoderinfo["duration"] + return False + + for frame_data in im_frames: + im_frame = frame_data.im + if not frame_data.bbox: + # global header + for s in _get_global_header(im_frame, frame_data.encoderinfo): + fp.write(s) + offset = (0, 0) + else: + # compress difference + if not palette: + frame_data.encoderinfo["include_color_table"] = True + + if frame_data.bbox != (0, 0) + im_frame.size: + im_frame = im_frame.crop(frame_data.bbox) + offset = frame_data.bbox[:2] + _write_frame_data(fp, im_frame, offset, frame_data.encoderinfo) + return True + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, save_all: bool = False +) -> None: + # header + if "palette" in im.encoderinfo or "palette" in im.info: + palette = im.encoderinfo.get("palette", im.info.get("palette")) + else: + palette = None + im.encoderinfo.setdefault("optimize", True) + + if not save_all or not _write_multiple_frames(im, fp, palette): + _write_single_frame(im, fp, palette) + + fp.write(b";") # end of file + + if hasattr(fp, "flush"): + fp.flush() + + +def get_interlace(im: Image.Image) -> int: + interlace = im.encoderinfo.get("interlace", 1) + + # workaround for @PIL153 + if min(im.size) < 16: + interlace = 0 + + return interlace + + +def _write_local_header( + fp: IO[bytes], im: Image.Image, offset: tuple[int, int], flags: int +) -> None: + try: + transparency = im.encoderinfo["transparency"] + except KeyError: + transparency = None + + if "duration" in im.encoderinfo: + duration = int(im.encoderinfo["duration"] / 10) + else: + duration = 0 + + disposal = int(im.encoderinfo.get("disposal", 0)) + + if transparency is not None or duration != 0 or disposal: + packed_flag = 1 if transparency is not None else 0 + packed_flag |= disposal << 2 + + fp.write( + b"!" + + o8(249) # extension intro + + o8(4) # length + + o8(packed_flag) # packed fields + + o16(duration) # duration + + o8(transparency or 0) # transparency index + + o8(0) + ) + + include_color_table = im.encoderinfo.get("include_color_table") + if include_color_table: + palette_bytes = _get_palette_bytes(im) + color_table_size = _get_color_table_size(palette_bytes) + if color_table_size: + flags = flags | 128 # local color table flag + flags = flags | color_table_size + + fp.write( + b"," + + o16(offset[0]) # offset + + o16(offset[1]) + + o16(im.size[0]) # size + + o16(im.size[1]) + + o8(flags) # flags + ) + if include_color_table and color_table_size: + fp.write(_get_header_palette(palette_bytes)) + fp.write(o8(8)) # bits + + +def _save_netpbm(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # Unused by default. + # To use, uncomment the register_save call at the end of the file. + # + # If you need real GIF compression and/or RGB quantization, you + # can use the external NETPBM/PBMPLUS utilities. See comments + # below for information on how to enable this. + tempfile = im._dump() + + try: + with open(filename, "wb") as f: + if im.mode != "RGB": + subprocess.check_call( + ["ppmtogif", tempfile], stdout=f, stderr=subprocess.DEVNULL + ) + else: + # Pipe ppmquant output into ppmtogif + # "ppmquant 256 %s | ppmtogif > %s" % (tempfile, filename) + quant_cmd = ["ppmquant", "256", tempfile] + togif_cmd = ["ppmtogif"] + quant_proc = subprocess.Popen( + quant_cmd, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL + ) + togif_proc = subprocess.Popen( + togif_cmd, + stdin=quant_proc.stdout, + stdout=f, + stderr=subprocess.DEVNULL, + ) + + # Allow ppmquant to receive SIGPIPE if ppmtogif exits + assert quant_proc.stdout is not None + quant_proc.stdout.close() + + retcode = quant_proc.wait() + if retcode: + raise subprocess.CalledProcessError(retcode, quant_cmd) + + retcode = togif_proc.wait() + if retcode: + raise subprocess.CalledProcessError(retcode, togif_cmd) + finally: + try: + os.unlink(tempfile) + except OSError: + pass + + +# Force optimization so that we can test performance against +# cases where it took lots of memory and time previously. +_FORCE_OPTIMIZE = False + + +def _get_optimize(im: Image.Image, info: dict[str, Any]) -> list[int] | None: + """ + Palette optimization is a potentially expensive operation. + + This function determines if the palette should be optimized using + some heuristics, then returns the list of palette entries in use. + + :param im: Image object + :param info: encoderinfo + :returns: list of indexes of palette entries in use, or None + """ + if ( + im.mode in ("P", "L") + and info + and info.get("optimize") + and im.width != 0 + and im.height != 0 + ): + # Potentially expensive operation. + + # The palette saves 3 bytes per color not used, but palette + # lengths are restricted to 3*(2**N) bytes. Max saving would + # be 768 -> 6 bytes if we went all the way down to 2 colors. + # * If we're over 128 colors, we can't save any space. + # * If there aren't any holes, it's not worth collapsing. + # * If we have a 'large' image, the palette is in the noise. + + # create the new palette if not every color is used + optimise = _FORCE_OPTIMIZE or im.mode == "L" + if optimise or im.width * im.height < 512 * 512: + # check which colors are used + used_palette_colors = [] + for i, count in enumerate(im.histogram()): + if count: + used_palette_colors.append(i) + + if optimise or max(used_palette_colors) >= len(used_palette_colors): + return used_palette_colors + + assert im.palette is not None + num_palette_colors = len(im.palette.palette) // Image.getmodebands( + im.palette.mode + ) + current_palette_size = 1 << (num_palette_colors - 1).bit_length() + if ( + # check that the palette would become smaller when saved + len(used_palette_colors) <= current_palette_size // 2 + # check that the palette is not already the smallest possible size + and current_palette_size > 2 + ): + return used_palette_colors + return None + + +def _get_color_table_size(palette_bytes: bytes) -> int: + # calculate the palette size for the header + if not palette_bytes: + return 0 + elif len(palette_bytes) < 9: + return 1 + else: + return math.ceil(math.log(len(palette_bytes) // 3, 2)) - 1 + + +def _get_header_palette(palette_bytes: bytes) -> bytes: + """ + Returns the palette, null padded to the next power of 2 (*3) bytes + suitable for direct inclusion in the GIF header + + :param palette_bytes: Unpadded palette bytes, in RGBRGB form + :returns: Null padded palette + """ + color_table_size = _get_color_table_size(palette_bytes) + + # add the missing amount of bytes + # the palette has to be 2<<n in size + actual_target_size_diff = (2 << color_table_size) - len(palette_bytes) // 3 + if actual_target_size_diff > 0: + palette_bytes += o8(0) * 3 * actual_target_size_diff + return palette_bytes + + +def _get_palette_bytes(im: Image.Image) -> bytes: + """ + Gets the palette for inclusion in the gif header + + :param im: Image object + :returns: Bytes, len<=768 suitable for inclusion in gif header + """ + if not im.palette: + return b"" + + palette = bytes(im.palette.palette) + if im.palette.mode == "RGBA": + palette = b"".join(palette[i * 4 : i * 4 + 3] for i in range(len(palette) // 3)) + return palette + + +def _get_background( + im: Image.Image, + info_background: int | tuple[int, int, int] | tuple[int, int, int, int] | None, +) -> int: + background = 0 + if info_background: + if isinstance(info_background, tuple): + # WebPImagePlugin stores an RGBA value in info["background"] + # So it must be converted to the same format as GifImagePlugin's + # info["background"] - a global color table index + assert im.palette is not None + try: + background = im.palette.getcolor(info_background, im) + except ValueError as e: + if str(e) not in ( + # If all 256 colors are in use, + # then there is no need for the background color + "cannot allocate more than 256 colors", + # Ignore non-opaque WebP background + "cannot add non-opaque RGBA color to RGB palette", + ): + raise + else: + background = info_background + return background + + +def _get_global_header(im: Image.Image, info: dict[str, Any]) -> list[bytes]: + """Return a list of strings representing a GIF header""" + + # Header Block + # https://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp + + version = b"87a" + if im.info.get("version") == b"89a" or ( + info + and ( + "transparency" in info + or info.get("loop") is not None + or info.get("duration") + or info.get("comment") + ) + ): + version = b"89a" + + background = _get_background(im, info.get("background")) + + palette_bytes = _get_palette_bytes(im) + color_table_size = _get_color_table_size(palette_bytes) + + header = [ + b"GIF" # signature + + version # version + + o16(im.size[0]) # canvas width + + o16(im.size[1]), # canvas height + # Logical Screen Descriptor + # size of global color table + global color table flag + o8(color_table_size + 128), # packed fields + # background + reserved/aspect + o8(background) + o8(0), + # Global Color Table + _get_header_palette(palette_bytes), + ] + if info.get("loop") is not None: + header.append( + b"!" + + o8(255) # extension intro + + o8(11) + + b"NETSCAPE2.0" + + o8(3) + + o8(1) + + o16(info["loop"]) # number of loops + + o8(0) + ) + if info.get("comment"): + comment_block = b"!" + o8(254) # extension intro + + comment = info["comment"] + if isinstance(comment, str): + comment = comment.encode() + for i in range(0, len(comment), 255): + subblock = comment[i : i + 255] + comment_block += o8(len(subblock)) + subblock + + comment_block += o8(0) + header.append(comment_block) + return header + + +def _write_frame_data( + fp: IO[bytes], + im_frame: Image.Image, + offset: tuple[int, int], + params: dict[str, Any], +) -> None: + try: + im_frame.encoderinfo = params + + # local image header + _write_local_header(fp, im_frame, offset, 0) + + ImageFile._save( + im_frame, + fp, + [ImageFile._Tile("gif", (0, 0) + im_frame.size, 0, RAWMODE[im_frame.mode])], + ) + + fp.write(b"\0") # end of image data + finally: + del im_frame.encoderinfo + + +# -------------------------------------------------------------------- +# Legacy GIF utilities + + +def getheader( + im: Image.Image, palette: _Palette | None = None, info: dict[str, Any] | None = None +) -> tuple[list[bytes], list[int] | None]: + """ + Legacy Method to get Gif data from image. + + Warning:: May modify image data. + + :param im: Image object + :param palette: bytes object containing the source palette, or .... + :param info: encoderinfo + :returns: tuple of(list of header items, optimized palette) + + """ + if info is None: + info = {} + + used_palette_colors = _get_optimize(im, info) + + if "background" not in info and "background" in im.info: + info["background"] = im.info["background"] + + im_mod = _normalize_palette(im, palette, info) + im.palette = im_mod.palette + im.im = im_mod.im + header = _get_global_header(im, info) + + return header, used_palette_colors + + +def getdata( + im: Image.Image, offset: tuple[int, int] = (0, 0), **params: Any +) -> list[bytes]: + """ + Legacy Method + + Return a list of strings representing this image. + The first string is a local image header, the rest contains + encoded image data. + + To specify duration, add the time in milliseconds, + e.g. ``getdata(im_frame, duration=1000)`` + + :param im: Image object + :param offset: Tuple of (x, y) pixels. Defaults to (0, 0) + :param \\**params: e.g. duration or other encoder info parameters + :returns: List of bytes containing GIF encoded frame data + + """ + from io import BytesIO + + class Collector(BytesIO): + data = [] + + def write(self, data: Buffer) -> int: + self.data.append(data) + return len(data) + + im.load() # make sure raster data is available + + fp = Collector() + + _write_frame_data(fp, im, offset, params) + + return fp.data + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(GifImageFile.format, GifImageFile, _accept) +Image.register_save(GifImageFile.format, _save) +Image.register_save_all(GifImageFile.format, _save_all) +Image.register_extension(GifImageFile.format, ".gif") +Image.register_mime(GifImageFile.format, "image/gif") + +# +# Uncomment the following line if you wish to use NETPBM/PBMPLUS +# instead of the built-in "uncompressed" GIF encoder + +# Image.register_save(GifImageFile.format, _save_netpbm) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/GimpGradientFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/GimpGradientFile.py new file mode 100644 index 0000000..fb95872 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/GimpGradientFile.py @@ -0,0 +1,154 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read (and render) GIMP gradient files +# +# History: +# 97-08-23 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# + +""" +Stuff to translate curve segments to palette values (derived from +the corresponding code in GIMP, written by Federico Mena Quintero. +See the GIMP distribution for more information.) +""" + +from __future__ import annotations + +from math import log, pi, sin, sqrt + +from ._binary import o8 + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from typing import IO + +EPSILON = 1e-10 +"""""" # Enable auto-doc for data member + + +def linear(middle: float, pos: float) -> float: + if pos <= middle: + if middle < EPSILON: + return 0.0 + else: + return 0.5 * pos / middle + else: + pos = pos - middle + middle = 1.0 - middle + if middle < EPSILON: + return 1.0 + else: + return 0.5 + 0.5 * pos / middle + + +def curved(middle: float, pos: float) -> float: + return pos ** (log(0.5) / log(max(middle, EPSILON))) + + +def sine(middle: float, pos: float) -> float: + return (sin((-pi / 2.0) + pi * linear(middle, pos)) + 1.0) / 2.0 + + +def sphere_increasing(middle: float, pos: float) -> float: + return sqrt(1.0 - (linear(middle, pos) - 1.0) ** 2) + + +def sphere_decreasing(middle: float, pos: float) -> float: + return 1.0 - sqrt(1.0 - linear(middle, pos) ** 2) + + +SEGMENTS = [linear, curved, sine, sphere_increasing, sphere_decreasing] +"""""" # Enable auto-doc for data member + + +class GradientFile: + gradient: ( + list[ + tuple[ + float, + float, + float, + list[float], + list[float], + Callable[[float, float], float], + ] + ] + | None + ) = None + + def getpalette(self, entries: int = 256) -> tuple[bytes, str]: + assert self.gradient is not None + palette = [] + + ix = 0 + x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] + + for i in range(entries): + x = i / (entries - 1) + + while x1 < x: + ix += 1 + x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] + + w = x1 - x0 + + if w < EPSILON: + scale = segment(0.5, 0.5) + else: + scale = segment((xm - x0) / w, (x - x0) / w) + + # expand to RGBA + r = o8(int(255 * ((rgb1[0] - rgb0[0]) * scale + rgb0[0]) + 0.5)) + g = o8(int(255 * ((rgb1[1] - rgb0[1]) * scale + rgb0[1]) + 0.5)) + b = o8(int(255 * ((rgb1[2] - rgb0[2]) * scale + rgb0[2]) + 0.5)) + a = o8(int(255 * ((rgb1[3] - rgb0[3]) * scale + rgb0[3]) + 0.5)) + + # add to palette + palette.append(r + g + b + a) + + return b"".join(palette), "RGBA" + + +class GimpGradientFile(GradientFile): + """File handler for GIMP's gradient format.""" + + def __init__(self, fp: IO[bytes]) -> None: + if not fp.readline().startswith(b"GIMP Gradient"): + msg = "not a GIMP gradient file" + raise SyntaxError(msg) + + line = fp.readline() + + # GIMP 1.2 gradient files don't contain a name, but GIMP 1.3 files do + if line.startswith(b"Name: "): + line = fp.readline().strip() + + count = int(line) + + self.gradient = [] + + for i in range(count): + s = fp.readline().split() + w = [float(x) for x in s[:11]] + + x0, x1 = w[0], w[2] + xm = w[1] + rgb0 = w[3:7] + rgb1 = w[7:11] + + segment = SEGMENTS[int(s[11])] + cspace = int(s[12]) + + if cspace != 0: + msg = "cannot handle HSV colour space" + raise OSError(msg) + + self.gradient.append((x0, x1, xm, rgb0, rgb1, segment)) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/GimpPaletteFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/GimpPaletteFile.py new file mode 100644 index 0000000..016257d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/GimpPaletteFile.py @@ -0,0 +1,75 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read GIMP palette files +# +# History: +# 1997-08-23 fl Created +# 2004-09-07 fl Support GIMP 2.0 palette files. +# +# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. +# Copyright (c) Fredrik Lundh 1997-2004. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from io import BytesIO + +TYPE_CHECKING = False +if TYPE_CHECKING: + from typing import IO + + +class GimpPaletteFile: + """File handler for GIMP's palette format.""" + + rawmode = "RGB" + + def _read(self, fp: IO[bytes], limit: bool = True) -> None: + if not fp.readline().startswith(b"GIMP Palette"): + msg = "not a GIMP palette file" + raise SyntaxError(msg) + + palette: list[int] = [] + i = 0 + while True: + if limit and i == 256 + 3: + break + + i += 1 + s = fp.readline() + if not s: + break + + # skip fields and comment lines + if re.match(rb"\w+:|#", s): + continue + if limit and len(s) > 100: + msg = "bad palette file" + raise SyntaxError(msg) + + v = s.split(maxsplit=3) + if len(v) < 3: + msg = "bad palette entry" + raise ValueError(msg) + + palette += (int(v[i]) for i in range(3)) + if limit and len(palette) == 768: + break + + self.palette = bytes(palette) + + def __init__(self, fp: IO[bytes]) -> None: + self._read(fp) + + @classmethod + def frombytes(cls, data: bytes) -> GimpPaletteFile: + self = cls.__new__(cls) + self._read(BytesIO(data), False) + return self + + def getpalette(self) -> tuple[bytes, str]: + return self.palette, self.rawmode diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/GribStubImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/GribStubImagePlugin.py new file mode 100644 index 0000000..3784ef2 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/GribStubImagePlugin.py @@ -0,0 +1,72 @@ +# +# The Python Imaging Library +# $Id$ +# +# GRIB stub adapter +# +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific GRIB image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 8 and prefix.startswith(b"GRIB") and prefix[7] == 1 + + +class GribStubImageFile(ImageFile.StubImageFile): + format = "GRIB" + format_description = "GRIB" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(8)): + msg = "Not a GRIB file" + raise SyntaxError(msg) + + self.fp.seek(-8, os.SEEK_CUR) + + # make something up + self._mode = "F" + self._size = 1, 1 + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "GRIB save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(GribStubImageFile.format, GribStubImageFile, _accept) +Image.register_save(GribStubImageFile.format, _save) + +Image.register_extension(GribStubImageFile.format, ".grib") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/Hdf5StubImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/Hdf5StubImagePlugin.py new file mode 100644 index 0000000..1a56660 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/Hdf5StubImagePlugin.py @@ -0,0 +1,72 @@ +# +# The Python Imaging Library +# $Id$ +# +# HDF5 stub adapter +# +# Copyright (c) 2000-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific HDF5 image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"\x89HDF\r\n\x1a\n") + + +class HDF5StubImageFile(ImageFile.StubImageFile): + format = "HDF5" + format_description = "HDF5" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(8)): + msg = "Not an HDF file" + raise SyntaxError(msg) + + self.fp.seek(-8, os.SEEK_CUR) + + # make something up + self._mode = "F" + self._size = 1, 1 + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "HDF5 save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(HDF5StubImageFile.format, HDF5StubImageFile, _accept) +Image.register_save(HDF5StubImageFile.format, _save) + +Image.register_extensions(HDF5StubImageFile.format, [".h5", ".hdf"]) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/IcnsImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/IcnsImagePlugin.py new file mode 100644 index 0000000..cb7a74c --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/IcnsImagePlugin.py @@ -0,0 +1,401 @@ +# +# The Python Imaging Library. +# $Id$ +# +# macOS icns file decoder, based on icns.py by Bob Ippolito. +# +# history: +# 2004-10-09 fl Turned into a PIL plugin; removed 2.3 dependencies. +# 2020-04-04 Allow saving on all operating systems. +# +# Copyright (c) 2004 by Bob Ippolito. +# Copyright (c) 2004 by Secret Labs. +# Copyright (c) 2004 by Fredrik Lundh. +# Copyright (c) 2014 by Alastair Houghton. +# Copyright (c) 2020 by Pan Jing. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import struct +import sys +from typing import IO + +from . import Image, ImageFile, PngImagePlugin, features + +enable_jpeg2k = features.check_codec("jpg_2000") +if enable_jpeg2k: + from . import Jpeg2KImagePlugin + +MAGIC = b"icns" +HEADERSIZE = 8 + + +def nextheader(fobj: IO[bytes]) -> tuple[bytes, int]: + return struct.unpack(">4sI", fobj.read(HEADERSIZE)) + + +def read_32t( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + # The 128x128 icon seems to have an extra header for some reason. + start, length = start_length + fobj.seek(start) + sig = fobj.read(4) + if sig != b"\x00\x00\x00\x00": + msg = "Unknown signature, expecting 0x00000000" + raise SyntaxError(msg) + return read_32(fobj, (start + 4, length - 4), size) + + +def read_32( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + """ + Read a 32bit RGB icon resource. Seems to be either uncompressed or + an RLE packbits-like scheme. + """ + start, length = start_length + fobj.seek(start) + pixel_size = (size[0] * size[2], size[1] * size[2]) + sizesq = pixel_size[0] * pixel_size[1] + if length == sizesq * 3: + # uncompressed ("RGBRGBGB") + indata = fobj.read(length) + im = Image.frombuffer("RGB", pixel_size, indata, "raw", "RGB", 0, 1) + else: + # decode image + im = Image.new("RGB", pixel_size, None) + for band_ix in range(3): + data = [] + bytesleft = sizesq + while bytesleft > 0: + byte = fobj.read(1) + if not byte: + break + byte_int = byte[0] + if byte_int & 0x80: + blocksize = byte_int - 125 + byte = fobj.read(1) + data.extend([byte] * blocksize) + else: + blocksize = byte_int + 1 + data.append(fobj.read(blocksize)) + bytesleft -= blocksize + if bytesleft <= 0: + break + if bytesleft != 0: + msg = f"Error reading channel [{repr(bytesleft)} left]" + raise SyntaxError(msg) + band = Image.frombuffer("L", pixel_size, b"".join(data), "raw", "L", 0, 1) + im.im.putband(band.im, band_ix) + return {"RGB": im} + + +def read_mk( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + # Alpha masks seem to be uncompressed + start = start_length[0] + fobj.seek(start) + pixel_size = (size[0] * size[2], size[1] * size[2]) + sizesq = pixel_size[0] * pixel_size[1] + band = Image.frombuffer("L", pixel_size, fobj.read(sizesq), "raw", "L", 0, 1) + return {"A": band} + + +def read_png_or_jpeg2000( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + start, length = start_length + fobj.seek(start) + sig = fobj.read(12) + + im: Image.Image + if sig.startswith(b"\x89PNG\x0d\x0a\x1a\x0a"): + fobj.seek(start) + im = PngImagePlugin.PngImageFile(fobj) + Image._decompression_bomb_check(im.size) + return {"RGBA": im} + elif ( + sig.startswith((b"\xff\x4f\xff\x51", b"\x0d\x0a\x87\x0a")) + or sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a" + ): + if not enable_jpeg2k: + msg = ( + "Unsupported icon subimage format (rebuild PIL " + "with JPEG 2000 support to fix this)" + ) + raise ValueError(msg) + # j2k, jpc or j2c + fobj.seek(start) + jp2kstream = fobj.read(length) + f = io.BytesIO(jp2kstream) + im = Jpeg2KImagePlugin.Jpeg2KImageFile(f) + Image._decompression_bomb_check(im.size) + if im.mode != "RGBA": + im = im.convert("RGBA") + return {"RGBA": im} + else: + msg = "Unsupported icon subimage format" + raise ValueError(msg) + + +class IcnsFile: + SIZES = { + (512, 512, 2): [(b"ic10", read_png_or_jpeg2000)], + (512, 512, 1): [(b"ic09", read_png_or_jpeg2000)], + (256, 256, 2): [(b"ic14", read_png_or_jpeg2000)], + (256, 256, 1): [(b"ic08", read_png_or_jpeg2000)], + (128, 128, 2): [(b"ic13", read_png_or_jpeg2000)], + (128, 128, 1): [ + (b"ic07", read_png_or_jpeg2000), + (b"it32", read_32t), + (b"t8mk", read_mk), + ], + (64, 64, 1): [(b"icp6", read_png_or_jpeg2000)], + (32, 32, 2): [(b"ic12", read_png_or_jpeg2000)], + (48, 48, 1): [(b"ih32", read_32), (b"h8mk", read_mk)], + (32, 32, 1): [ + (b"icp5", read_png_or_jpeg2000), + (b"il32", read_32), + (b"l8mk", read_mk), + ], + (16, 16, 2): [(b"ic11", read_png_or_jpeg2000)], + (16, 16, 1): [ + (b"icp4", read_png_or_jpeg2000), + (b"is32", read_32), + (b"s8mk", read_mk), + ], + } + + def __init__(self, fobj: IO[bytes]) -> None: + """ + fobj is a file-like object as an icns resource + """ + # signature : (start, length) + self.dct = {} + self.fobj = fobj + sig, filesize = nextheader(fobj) + if not _accept(sig): + msg = "not an icns file" + raise SyntaxError(msg) + i = HEADERSIZE + while i < filesize: + sig, blocksize = nextheader(fobj) + if blocksize <= 0: + msg = "invalid block header" + raise SyntaxError(msg) + i += HEADERSIZE + blocksize -= HEADERSIZE + self.dct[sig] = (i, blocksize) + fobj.seek(blocksize, io.SEEK_CUR) + i += blocksize + + def itersizes(self) -> list[tuple[int, int, int]]: + sizes = [] + for size, fmts in self.SIZES.items(): + for fmt, reader in fmts: + if fmt in self.dct: + sizes.append(size) + break + return sizes + + def bestsize(self) -> tuple[int, int, int]: + sizes = self.itersizes() + if not sizes: + msg = "No 32bit icon resources found" + raise SyntaxError(msg) + return max(sizes) + + def dataforsize(self, size: tuple[int, int, int]) -> dict[str, Image.Image]: + """ + Get an icon resource as {channel: array}. Note that + the arrays are bottom-up like windows bitmaps and will likely + need to be flipped or transposed in some way. + """ + dct = {} + for code, reader in self.SIZES[size]: + desc = self.dct.get(code) + if desc is not None: + dct.update(reader(self.fobj, desc, size)) + return dct + + def getimage( + self, size: tuple[int, int] | tuple[int, int, int] | None = None + ) -> Image.Image: + if size is None: + size = self.bestsize() + elif len(size) == 2: + size = (size[0], size[1], 1) + channels = self.dataforsize(size) + + im = channels.get("RGBA") + if im: + return im + + im = channels["RGB"].copy() + try: + im.putalpha(channels["A"]) + except KeyError: + pass + return im + + +## +# Image plugin for Mac OS icons. + + +class IcnsImageFile(ImageFile.ImageFile): + """ + PIL image support for Mac OS .icns files. + Chooses the best resolution, but will possibly load + a different size image if you mutate the size attribute + before calling 'load'. + + The info dictionary has a key 'sizes' that is a list + of sizes that the icns file has. + """ + + format = "ICNS" + format_description = "Mac OS icns resource" + + def _open(self) -> None: + assert self.fp is not None + self.icns = IcnsFile(self.fp) + self._mode = "RGBA" + self.info["sizes"] = self.icns.itersizes() + self.best_size = self.icns.bestsize() + self.size = ( + self.best_size[0] * self.best_size[2], + self.best_size[1] * self.best_size[2], + ) + + @property + def size(self) -> tuple[int, int]: + return self._size + + @size.setter + def size(self, value: tuple[int, int]) -> None: + # Check that a matching size exists, + # or that there is a scale that would create a size that matches + for size in self.info["sizes"]: + simple_size = size[0] * size[2], size[1] * size[2] + scale = simple_size[0] // value[0] + if simple_size[1] / value[1] == scale: + self._size = value + return + msg = "This is not one of the allowed sizes of this image" + raise ValueError(msg) + + def load(self, scale: int | None = None) -> Image.core.PixelAccess | None: + if scale is not None: + width, height = self.size[:2] + self.size = width * scale, height * scale + self.best_size = width, height, scale + + px = Image.Image.load(self) + if self._im is not None and self.im.size == self.size: + # Already loaded + return px + self.load_prepare() + # This is likely NOT the best way to do it, but whatever. + im = self.icns.getimage(self.best_size) + + # If this is a PNG or JPEG 2000, it won't be loaded yet + px = im.load() + + self.im = im.im + self._mode = im.mode + self.size = im.size + + return px + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + """ + Saves the image as a series of PNG files, + that are then combined into a .icns file. + """ + if hasattr(fp, "flush"): + fp.flush() + + sizes = { + b"ic07": 128, + b"ic08": 256, + b"ic09": 512, + b"ic10": 1024, + b"ic11": 32, + b"ic12": 64, + b"ic13": 256, + b"ic14": 512, + } + provided_images = {im.width: im for im in im.encoderinfo.get("append_images", [])} + size_streams = {} + for size in set(sizes.values()): + image = ( + provided_images[size] + if size in provided_images + else im.resize((size, size)) + ) + + temp = io.BytesIO() + image.save(temp, "png") + size_streams[size] = temp.getvalue() + + entries = [] + for type, size in sizes.items(): + stream = size_streams[size] + entries.append((type, HEADERSIZE + len(stream), stream)) + + # Header + fp.write(MAGIC) + file_length = HEADERSIZE # Header + file_length += HEADERSIZE + 8 * len(entries) # TOC + file_length += sum(entry[1] for entry in entries) + fp.write(struct.pack(">i", file_length)) + + # TOC + fp.write(b"TOC ") + fp.write(struct.pack(">i", HEADERSIZE + len(entries) * HEADERSIZE)) + for entry in entries: + fp.write(entry[0]) + fp.write(struct.pack(">i", entry[1])) + + # Data + for entry in entries: + fp.write(entry[0]) + fp.write(struct.pack(">i", entry[1])) + fp.write(entry[2]) + + if hasattr(fp, "flush"): + fp.flush() + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(MAGIC) + + +Image.register_open(IcnsImageFile.format, IcnsImageFile, _accept) +Image.register_extension(IcnsImageFile.format, ".icns") + +Image.register_save(IcnsImageFile.format, _save) +Image.register_mime(IcnsImageFile.format, "image/icns") + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 IcnsImagePlugin.py [file]") + sys.exit() + + with open(sys.argv[1], "rb") as fp: + imf = IcnsImageFile(fp) + for size in imf.info["sizes"]: + width, height, scale = imf.size = size + imf.save(f"out-{width}-{height}-{scale}.png") + with Image.open(sys.argv[1]) as im: + im.save("out.png") + if sys.platform == "windows": + os.startfile("out.png") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/IcoImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/IcoImagePlugin.py new file mode 100644 index 0000000..8dd57ff --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/IcoImagePlugin.py @@ -0,0 +1,396 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Windows Icon support for PIL +# +# History: +# 96-05-27 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# + +# This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis +# <casadebender@gmail.com>. +# https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki +# +# Copyright 2008 Bryan Davis +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Icon format references: +# * https://en.wikipedia.org/wiki/ICO_(file_format) +# * https://msdn.microsoft.com/en-us/library/ms997538.aspx +from __future__ import annotations + +import warnings +from io import BytesIO +from math import ceil, log +from typing import IO, NamedTuple + +from . import BmpImagePlugin, Image, ImageFile, PngImagePlugin +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o16le as o16 +from ._binary import o32le as o32 + +# +# -------------------------------------------------------------------- + +_MAGIC = b"\0\0\1\0" + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + fp.write(_MAGIC) # (2+2) + bmp = im.encoderinfo.get("bitmap_format") == "bmp" + sizes = im.encoderinfo.get( + "sizes", + [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)], + ) + frames = [] + provided_ims = [im] + im.encoderinfo.get("append_images", []) + width, height = im.size + for size in sorted(set(sizes)): + if size[0] > width or size[1] > height or size[0] > 256 or size[1] > 256: + continue + + for provided_im in provided_ims: + if provided_im.size != size: + continue + frames.append(provided_im) + if bmp: + bits = BmpImagePlugin.SAVE[provided_im.mode][1] + bits_used = [bits] + for other_im in provided_ims: + if other_im.size != size: + continue + bits = BmpImagePlugin.SAVE[other_im.mode][1] + if bits not in bits_used: + # Another image has been supplied for this size + # with a different bit depth + frames.append(other_im) + bits_used.append(bits) + break + else: + # TODO: invent a more convenient method for proportional scalings + frame = provided_im.copy() + frame.thumbnail(size, Image.Resampling.LANCZOS, reducing_gap=None) + frames.append(frame) + fp.write(o16(len(frames))) # idCount(2) + offset = fp.tell() + len(frames) * 16 + for frame in frames: + width, height = frame.size + # 0 means 256 + fp.write(o8(width if width < 256 else 0)) # bWidth(1) + fp.write(o8(height if height < 256 else 0)) # bHeight(1) + + bits, colors = BmpImagePlugin.SAVE[frame.mode][1:] if bmp else (32, 0) + fp.write(o8(colors)) # bColorCount(1) + fp.write(b"\0") # bReserved(1) + fp.write(b"\0\0") # wPlanes(2) + fp.write(o16(bits)) # wBitCount(2) + + image_io = BytesIO() + if bmp: + frame.save(image_io, "dib") + + if bits != 32: + and_mask = Image.new("1", size) + ImageFile._save( + and_mask, + image_io, + [ImageFile._Tile("raw", (0, 0) + size, 0, ("1", 0, -1))], + ) + else: + frame.save(image_io, "png") + image_io.seek(0) + image_bytes = image_io.read() + if bmp: + image_bytes = image_bytes[:8] + o32(height * 2) + image_bytes[12:] + bytes_len = len(image_bytes) + fp.write(o32(bytes_len)) # dwBytesInRes(4) + fp.write(o32(offset)) # dwImageOffset(4) + current = fp.tell() + fp.seek(offset) + fp.write(image_bytes) + offset = offset + bytes_len + fp.seek(current) + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(_MAGIC) + + +class IconHeader(NamedTuple): + width: int + height: int + nb_color: int + reserved: int + planes: int + bpp: int + size: int + offset: int + dim: tuple[int, int] + square: int + color_depth: int + + +class IcoFile: + def __init__(self, buf: IO[bytes]) -> None: + """ + Parse image from file-like object containing ico file data + """ + + # check magic + s = buf.read(6) + if not _accept(s): + msg = "not an ICO file" + raise SyntaxError(msg) + + self.buf = buf + self.entry = [] + + # Number of items in file + self.nb_items = i16(s, 4) + + # Get headers for each item + for i in range(self.nb_items): + s = buf.read(16) + + # See Wikipedia + width = s[0] or 256 + height = s[1] or 256 + + # No. of colors in image (0 if >=8bpp) + nb_color = s[2] + bpp = i16(s, 6) + icon_header = IconHeader( + width=width, + height=height, + nb_color=nb_color, + reserved=s[3], + planes=i16(s, 4), + bpp=i16(s, 6), + size=i32(s, 8), + offset=i32(s, 12), + dim=(width, height), + square=width * height, + # See Wikipedia notes about color depth. + # We need this just to differ images with equal sizes + color_depth=bpp or (nb_color != 0 and ceil(log(nb_color, 2))) or 256, + ) + + self.entry.append(icon_header) + + self.entry = sorted(self.entry, key=lambda x: x.color_depth) + # ICO images are usually squares + self.entry = sorted(self.entry, key=lambda x: x.square, reverse=True) + + def sizes(self) -> set[tuple[int, int]]: + """ + Get a set of all available icon sizes and color depths. + """ + return {(h.width, h.height) for h in self.entry} + + def getentryindex(self, size: tuple[int, int], bpp: int | bool = False) -> int: + for i, h in enumerate(self.entry): + if size == h.dim and (bpp is False or bpp == h.color_depth): + return i + return 0 + + def getimage(self, size: tuple[int, int], bpp: int | bool = False) -> Image.Image: + """ + Get an image from the icon + """ + return self.frame(self.getentryindex(size, bpp)) + + def frame(self, idx: int) -> Image.Image: + """ + Get an image from frame idx + """ + + header = self.entry[idx] + + self.buf.seek(header.offset) + data = self.buf.read(8) + self.buf.seek(header.offset) + + im: Image.Image + if data[:8] == PngImagePlugin._MAGIC: + # png frame + im = PngImagePlugin.PngImageFile(self.buf) + Image._decompression_bomb_check(im.size) + else: + # XOR + AND mask bmp frame + im = BmpImagePlugin.DibImageFile(self.buf) + Image._decompression_bomb_check(im.size) + + # change tile dimension to only encompass XOR image + im._size = (im.size[0], int(im.size[1] / 2)) + d, e, o, a = im.tile[0] + im.tile[0] = ImageFile._Tile(d, (0, 0) + im.size, o, a) + + # figure out where AND mask image starts + if header.bpp == 32: + # 32-bit color depth icon image allows semitransparent areas + # PIL's DIB format ignores transparency bits, recover them. + # The DIB is packed in BGRX byte order where X is the alpha + # channel. + + # Back up to start of bmp data + self.buf.seek(o) + # extract every 4th byte (eg. 3,7,11,15,...) + alpha_bytes = self.buf.read(im.size[0] * im.size[1] * 4)[3::4] + + # convert to an 8bpp grayscale image + try: + mask = Image.frombuffer( + "L", # 8bpp + im.size, # (w, h) + alpha_bytes, # source chars + "raw", # raw decoder + ("L", 0, -1), # 8bpp inverted, unpadded, reversed + ) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + mask = None + else: + raise + else: + # get AND image from end of bitmap + w = im.size[0] + if (w % 32) > 0: + # bitmap row data is aligned to word boundaries + w += 32 - (im.size[0] % 32) + + # the total mask data is + # padded row size * height / bits per char + + total_bytes = int((w * im.size[1]) / 8) + and_mask_offset = header.offset + header.size - total_bytes + + self.buf.seek(and_mask_offset) + mask_data = self.buf.read(total_bytes) + + # convert raw data to image + try: + mask = Image.frombuffer( + "1", # 1 bpp + im.size, # (w, h) + mask_data, # source chars + "raw", # raw decoder + ("1;I", int(w / 8), -1), # 1bpp inverted, padded, reversed + ) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + mask = None + else: + raise + + # now we have two images, im is XOR image and mask is AND image + + # apply mask image as alpha channel + if mask: + im = im.convert("RGBA") + im.putalpha(mask) + + return im + + +## +# Image plugin for Windows Icon files. + + +class IcoImageFile(ImageFile.ImageFile): + """ + PIL read-only image support for Microsoft Windows .ico files. + + By default the largest resolution image in the file will be loaded. This + can be changed by altering the 'size' attribute before calling 'load'. + + The info dictionary has a key 'sizes' that is a list of the sizes available + in the icon file. + + Handles classic, XP and Vista icon formats. + + When saving, PNG compression is used. Support for this was only added in + Windows Vista. If you are unable to view the icon in Windows, convert the + image to "RGBA" mode before saving. + + This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis + <casadebender@gmail.com>. + https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki + """ + + format = "ICO" + format_description = "Windows Icon" + + def _open(self) -> None: + assert self.fp is not None + self.ico = IcoFile(self.fp) + self.info["sizes"] = self.ico.sizes() + self.size = self.ico.entry[0].dim + self.load() + + @property + def size(self) -> tuple[int, int]: + return self._size + + @size.setter + def size(self, value: tuple[int, int]) -> None: + if value not in self.info["sizes"]: + msg = "This is not one of the allowed sizes of this image" + raise ValueError(msg) + self._size = value + + def load(self) -> Image.core.PixelAccess | None: + if self._im is not None and self.im.size == self.size: + # Already loaded + return Image.Image.load(self) + im = self.ico.getimage(self.size) + # if tile is PNG, it won't really be loaded yet + im.load() + self.im = im.im + self._mode = im.mode + if im.palette: + self.palette = im.palette + if im.size != self.size: + warnings.warn("Image was not the expected size") + + index = self.ico.getentryindex(self.size) + sizes = list(self.info["sizes"]) + sizes[index] = im.size + self.info["sizes"] = set(sizes) + + self.size = im.size + return Image.Image.load(self) + + def load_seek(self, pos: int) -> None: + # Flag the ImageFile.Parser so that it + # just does all the decode at the end. + pass + + +# +# -------------------------------------------------------------------- + + +Image.register_open(IcoImageFile.format, IcoImageFile, _accept) +Image.register_save(IcoImageFile.format, _save) +Image.register_extension(IcoImageFile.format, ".ico") + +Image.register_mime(IcoImageFile.format, "image/x-icon") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImImagePlugin.py new file mode 100644 index 0000000..ef54f16 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImImagePlugin.py @@ -0,0 +1,390 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IFUNC IM file handling for PIL +# +# history: +# 1995-09-01 fl Created. +# 1997-01-03 fl Save palette images +# 1997-01-08 fl Added sequence support +# 1997-01-23 fl Added P and RGB save support +# 1997-05-31 fl Read floating point images +# 1997-06-22 fl Save floating point images +# 1997-08-27 fl Read and save 1-bit images +# 1998-06-25 fl Added support for RGB+LUT images +# 1998-07-02 fl Added support for YCC images +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 1998-12-29 fl Added I;16 support +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) +# 2003-09-26 fl Added LA/PA support +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2001 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import re +from typing import IO, Any + +from . import Image, ImageFile, ImagePalette +from ._util import DeferredError + +# -------------------------------------------------------------------- +# Standard tags + +COMMENT = "Comment" +DATE = "Date" +EQUIPMENT = "Digitalization equipment" +FRAMES = "File size (no of images)" +LUT = "Lut" +NAME = "Name" +SCALE = "Scale (x,y)" +SIZE = "Image size (x*y)" +MODE = "Image type" + +TAGS = { + COMMENT: 0, + DATE: 0, + EQUIPMENT: 0, + FRAMES: 0, + LUT: 0, + NAME: 0, + SCALE: 0, + SIZE: 0, + MODE: 0, +} + +OPEN = { + # ifunc93/p3cfunc formats + "0 1 image": ("1", "1"), + "L 1 image": ("1", "1"), + "Greyscale image": ("L", "L"), + "Grayscale image": ("L", "L"), + "RGB image": ("RGB", "RGB;L"), + "RLB image": ("RGB", "RLB"), + "RYB image": ("RGB", "RLB"), + "B1 image": ("1", "1"), + "B2 image": ("P", "P;2"), + "B4 image": ("P", "P;4"), + "X 24 image": ("RGB", "RGB"), + "L 32 S image": ("I", "I;32"), + "L 32 F image": ("F", "F;32"), + # old p3cfunc formats + "RGB3 image": ("RGB", "RGB;T"), + "RYB3 image": ("RGB", "RYB;T"), + # extensions + "LA image": ("LA", "LA;L"), + "PA image": ("LA", "PA;L"), + "RGBA image": ("RGBA", "RGBA;L"), + "RGBX image": ("RGB", "RGBX;L"), + "CMYK image": ("CMYK", "CMYK;L"), + "YCC image": ("YCbCr", "YCbCr;L"), +} + +# ifunc95 extensions +for i in ["8", "8S", "16", "16S", "32", "32F"]: + OPEN[f"L {i} image"] = ("F", f"F;{i}") + OPEN[f"L*{i} image"] = ("F", f"F;{i}") +for i in ["16", "16L", "16B"]: + OPEN[f"L {i} image"] = (f"I;{i}", f"I;{i}") + OPEN[f"L*{i} image"] = (f"I;{i}", f"I;{i}") +for i in ["32S"]: + OPEN[f"L {i} image"] = ("I", f"I;{i}") + OPEN[f"L*{i} image"] = ("I", f"I;{i}") +for j in range(2, 33): + OPEN[f"L*{j} image"] = ("F", f"F;{j}") + + +# -------------------------------------------------------------------- +# Read IM directory + +split = re.compile(rb"^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$") + + +def number(s: Any) -> float: + try: + return int(s) + except ValueError: + return float(s) + + +## +# Image plugin for the IFUNC IM file format. + + +class ImImageFile(ImageFile.ImageFile): + format = "IM" + format_description = "IFUNC Image Memory" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # Quick rejection: if there's not an LF among the first + # 100 bytes, this is (probably) not a text header. + + assert self.fp is not None + if b"\n" not in self.fp.read(100): + msg = "not an IM file" + raise SyntaxError(msg) + self.fp.seek(0) + + n = 0 + + # Default values + self.info[MODE] = "L" + self.info[SIZE] = (512, 512) + self.info[FRAMES] = 1 + + self.rawmode = "L" + + while True: + s = self.fp.read(1) + + # Some versions of IFUNC uses \n\r instead of \r\n... + if s == b"\r": + continue + + if not s or s == b"\0" or s == b"\x1a": + break + + # FIXME: this may read whole file if not a text file + s = s + self.fp.readline() + + if len(s) > 100: + msg = "not an IM file" + raise SyntaxError(msg) + + if s.endswith(b"\r\n"): + s = s[:-2] + elif s.endswith(b"\n"): + s = s[:-1] + + try: + m = split.match(s) + except re.error as e: + msg = "not an IM file" + raise SyntaxError(msg) from e + + if m: + k, v = m.group(1, 2) + + # Don't know if this is the correct encoding, + # but a decent guess (I guess) + k = k.decode("latin-1", "replace") + v = v.decode("latin-1", "replace") + + # Convert value as appropriate + if k in [FRAMES, SCALE, SIZE]: + v = v.replace("*", ",") + v = tuple(map(number, v.split(","))) + if len(v) == 1: + v = v[0] + elif k == MODE and v in OPEN: + v, self.rawmode = OPEN[v] + + # Add to dictionary. Note that COMMENT tags are + # combined into a list of strings. + if k == COMMENT: + if k in self.info: + self.info[k].append(v) + else: + self.info[k] = [v] + else: + self.info[k] = v + + if k in TAGS: + n += 1 + + else: + msg = f"Syntax error in IM header: {s.decode('ascii', 'replace')}" + raise SyntaxError(msg) + + if not n: + msg = "Not an IM file" + raise SyntaxError(msg) + + # Basic attributes + self._size = self.info[SIZE] + self._mode = self.info[MODE] + + # Skip forward to start of image data + while s and not s.startswith(b"\x1a"): + s = self.fp.read(1) + if not s: + msg = "File truncated" + raise SyntaxError(msg) + + if LUT in self.info: + # convert lookup table to palette or lut attribute + palette = self.fp.read(768) + greyscale = 1 # greyscale palette + linear = 1 # linear greyscale palette + for i in range(256): + if palette[i] == palette[i + 256] == palette[i + 512]: + if palette[i] != i: + linear = 0 + else: + greyscale = 0 + if self.mode in ["L", "LA", "P", "PA"]: + if greyscale: + if not linear: + self.lut = list(palette[:256]) + else: + if self.mode in ["L", "P"]: + self._mode = self.rawmode = "P" + elif self.mode in ["LA", "PA"]: + self._mode = "PA" + self.rawmode = "PA;L" + self.palette = ImagePalette.raw("RGB;L", palette) + elif self.mode == "RGB": + if not greyscale or not linear: + self.lut = list(palette) + + self.frame = 0 + + self.__offset = offs = self.fp.tell() + + self._fp = self.fp # FIXME: hack + + if self.rawmode.startswith("F;"): + # ifunc95 formats + try: + # use bit decoder (if necessary) + bits = int(self.rawmode[2:]) + if bits not in [8, 16, 32]: + self.tile = [ + ImageFile._Tile( + "bit", (0, 0) + self.size, offs, (bits, 8, 3, 0, -1) + ) + ] + return + except ValueError: + pass + + if self.rawmode in ["RGB;T", "RYB;T"]: + # Old LabEye/3PC files. Would be very surprised if anyone + # ever stumbled upon such a file ;-) + size = self.size[0] * self.size[1] + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, ("G", 0, -1)), + ImageFile._Tile("raw", (0, 0) + self.size, offs + size, ("R", 0, -1)), + ImageFile._Tile( + "raw", (0, 0) + self.size, offs + 2 * size, ("B", 0, -1) + ), + ] + else: + # LabEye/IFUNC files + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1)) + ] + + @property + def n_frames(self) -> int: + return self.info[FRAMES] + + @property + def is_animated(self) -> bool: + return self.info[FRAMES] > 1 + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if isinstance(self._fp, DeferredError): + raise self._fp.ex + + self.frame = frame + + if self.mode == "1": + bits = 1 + else: + bits = 8 * len(self.mode) + + size = ((self.size[0] * bits + 7) // 8) * self.size[1] + offs = self.__offset + frame * size + + self.fp = self._fp + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1)) + ] + + def tell(self) -> int: + return self.frame + + +# +# -------------------------------------------------------------------- +# Save IM files + + +SAVE = { + # mode: (im type, raw mode) + "1": ("0 1", "1"), + "L": ("Greyscale", "L"), + "LA": ("LA", "LA;L"), + "P": ("Greyscale", "P"), + "PA": ("LA", "PA;L"), + "I": ("L 32S", "I;32S"), + "I;16": ("L 16", "I;16"), + "I;16L": ("L 16L", "I;16L"), + "I;16B": ("L 16B", "I;16B"), + "F": ("L 32F", "F;32F"), + "RGB": ("RGB", "RGB;L"), + "RGBA": ("RGBA", "RGBA;L"), + "RGBX": ("RGBX", "RGBX;L"), + "CMYK": ("CMYK", "CMYK;L"), + "YCbCr": ("YCC", "YCbCr;L"), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + image_type, rawmode = SAVE[im.mode] + except KeyError as e: + msg = f"Cannot save {im.mode} images as IM" + raise ValueError(msg) from e + + frames = im.encoderinfo.get("frames", 1) + + fp.write(f"Image type: {image_type} image\r\n".encode("ascii")) + if filename: + # Each line must be 100 characters or less, + # or: SyntaxError("not an IM file") + # 8 characters are used for "Name: " and "\r\n" + # Keep just the filename, ditch the potentially overlong path + if isinstance(filename, bytes): + filename = filename.decode("ascii") + name, ext = os.path.splitext(os.path.basename(filename)) + name = "".join([name[: 92 - len(ext)], ext]) + + fp.write(f"Name: {name}\r\n".encode("ascii")) + fp.write(f"Image size (x*y): {im.size[0]}*{im.size[1]}\r\n".encode("ascii")) + fp.write(f"File size (no of images): {frames}\r\n".encode("ascii")) + if im.mode in ["P", "PA"]: + fp.write(b"Lut: 1\r\n") + fp.write(b"\000" * (511 - fp.tell()) + b"\032") + if im.mode in ["P", "PA"]: + im_palette = im.im.getpalette("RGB", "RGB;L") + colors = len(im_palette) // 3 + palette = b"" + for i in range(3): + palette += im_palette[colors * i : colors * (i + 1)] + palette += b"\x00" * (256 - colors) + fp.write(palette) # 768 bytes + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, -1))] + ) + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(ImImageFile.format, ImImageFile) +Image.register_save(ImImageFile.format, _save) + +Image.register_extension(ImImageFile.format, ".im") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/Image.py b/presentation/.venv/lib/python3.12/site-packages/PIL/Image.py new file mode 100644 index 0000000..5749807 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/Image.py @@ -0,0 +1,4381 @@ +# +# The Python Imaging Library. +# $Id$ +# +# the Image class wrapper +# +# partial release history: +# 1995-09-09 fl Created +# 1996-03-11 fl PIL release 0.0 (proof of concept) +# 1996-04-30 fl PIL release 0.1b1 +# 1999-07-28 fl PIL release 1.0 final +# 2000-06-07 fl PIL release 1.1 +# 2000-10-20 fl PIL release 1.1.1 +# 2001-05-07 fl PIL release 1.1.2 +# 2002-03-15 fl PIL release 1.1.3 +# 2003-05-10 fl PIL release 1.1.4 +# 2005-03-28 fl PIL release 1.1.5 +# 2006-12-02 fl PIL release 1.1.6 +# 2009-11-15 fl PIL release 1.1.7 +# +# Copyright (c) 1997-2009 by Secret Labs AB. All rights reserved. +# Copyright (c) 1995-2009 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +import abc +import atexit +import builtins +import io +import logging +import math +import os +import re +import struct +import sys +import tempfile +import warnings +from collections.abc import MutableMapping +from enum import IntEnum +from typing import IO, Protocol, cast + +# VERSION was removed in Pillow 6.0.0. +# PILLOW_VERSION was removed in Pillow 9.0.0. +# Use __version__ instead. +from . import ( + ExifTags, + ImageMode, + TiffTags, + UnidentifiedImageError, + __version__, + _plugins, +) +from ._binary import i32le, o32be, o32le +from ._deprecate import deprecate +from ._util import DeferredError, is_path + +ElementTree: ModuleType | None +try: + from defusedxml import ElementTree +except ImportError: + ElementTree = None + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable, Iterator, Sequence + from types import ModuleType + from typing import Any, Literal + +logger = logging.getLogger(__name__) + + +class DecompressionBombWarning(RuntimeWarning): + pass + + +class DecompressionBombError(Exception): + pass + + +WARN_POSSIBLE_FORMATS: bool = False + +# Limit to around a quarter gigabyte for a 24-bit (3 bpp) image +MAX_IMAGE_PIXELS: int | None = int(1024 * 1024 * 1024 // 4 // 3) + + +try: + # If the _imaging C module is not present, Pillow will not load. + # Note that other modules should not refer to _imaging directly; + # import Image and use the Image.core variable instead. + # Also note that Image.core is not a publicly documented interface, + # and should be considered private and subject to change. + from . import _imaging as core + + if __version__ != getattr(core, "PILLOW_VERSION", None): + msg = ( + "The _imaging extension was built for another version of Pillow or PIL:\n" + f"Core version: {getattr(core, 'PILLOW_VERSION', None)}\n" + f"Pillow version: {__version__}" + ) + raise ImportError(msg) + +except ImportError as v: + # Explanations for ways that we know we might have an import error + if str(v).startswith("Module use of python"): + # The _imaging C module is present, but not compiled for + # the right version (windows only). Print a warning, if + # possible. + warnings.warn( + "The _imaging extension was built for another version of Python.", + RuntimeWarning, + ) + elif str(v).startswith("The _imaging extension"): + warnings.warn(str(v), RuntimeWarning) + # Fail here anyway. Don't let people run with a mostly broken Pillow. + # see docs/porting.rst + raise + + +# +# Constants + + +# transpose +class Transpose(IntEnum): + FLIP_LEFT_RIGHT = 0 + FLIP_TOP_BOTTOM = 1 + ROTATE_90 = 2 + ROTATE_180 = 3 + ROTATE_270 = 4 + TRANSPOSE = 5 + TRANSVERSE = 6 + + +# transforms (also defined in Imaging.h) +class Transform(IntEnum): + AFFINE = 0 + EXTENT = 1 + PERSPECTIVE = 2 + QUAD = 3 + MESH = 4 + + +# resampling filters (also defined in Imaging.h) +class Resampling(IntEnum): + NEAREST = 0 + BOX = 4 + BILINEAR = 2 + HAMMING = 5 + BICUBIC = 3 + LANCZOS = 1 + + +_filters_support = { + Resampling.BOX: 0.5, + Resampling.BILINEAR: 1.0, + Resampling.HAMMING: 1.0, + Resampling.BICUBIC: 2.0, + Resampling.LANCZOS: 3.0, +} + + +# dithers +class Dither(IntEnum): + NONE = 0 + ORDERED = 1 # Not yet implemented + RASTERIZE = 2 # Not yet implemented + FLOYDSTEINBERG = 3 # default + + +# palettes/quantizers +class Palette(IntEnum): + WEB = 0 + ADAPTIVE = 1 + + +class Quantize(IntEnum): + MEDIANCUT = 0 + MAXCOVERAGE = 1 + FASTOCTREE = 2 + LIBIMAGEQUANT = 3 + + +module = sys.modules[__name__] +for enum in (Transpose, Transform, Resampling, Dither, Palette, Quantize): + for item in enum: + setattr(module, item.name, item.value) + + +if hasattr(core, "DEFAULT_STRATEGY"): + DEFAULT_STRATEGY = core.DEFAULT_STRATEGY + FILTERED = core.FILTERED + HUFFMAN_ONLY = core.HUFFMAN_ONLY + RLE = core.RLE + FIXED = core.FIXED + + +# -------------------------------------------------------------------- +# Registries + +TYPE_CHECKING = False +if TYPE_CHECKING: + import mmap + from xml.etree.ElementTree import Element + + from IPython.lib.pretty import PrettyPrinter + + from . import ImageFile, ImageFilter, ImagePalette, ImageQt, TiffImagePlugin + from ._typing import CapsuleType, NumpyArray, StrOrBytesPath +ID: list[str] = [] +OPEN: dict[ + str, + tuple[ + Callable[[IO[bytes], str | bytes], ImageFile.ImageFile], + Callable[[bytes], bool | str] | None, + ], +] = {} +MIME: dict[str, str] = {} +SAVE: dict[str, Callable[[Image, IO[bytes], str | bytes], None]] = {} +SAVE_ALL: dict[str, Callable[[Image, IO[bytes], str | bytes], None]] = {} +EXTENSION: dict[str, str] = {} +DECODERS: dict[str, type[ImageFile.PyDecoder]] = {} +ENCODERS: dict[str, type[ImageFile.PyEncoder]] = {} + +# -------------------------------------------------------------------- +# Modes + +_ENDIAN = "<" if sys.byteorder == "little" else ">" + + +def _conv_type_shape(im: Image) -> tuple[tuple[int, ...], str]: + m = ImageMode.getmode(im.mode) + shape: tuple[int, ...] = (im.height, im.width) + extra = len(m.bands) + if extra != 1: + shape += (extra,) + return shape, m.typestr + + +MODES = [ + "1", + "CMYK", + "F", + "HSV", + "I", + "I;16", + "I;16B", + "I;16L", + "I;16N", + "L", + "LA", + "La", + "LAB", + "P", + "PA", + "RGB", + "RGBA", + "RGBa", + "RGBX", + "YCbCr", +] + +# raw modes that may be memory mapped. NOTE: if you change this, you +# may have to modify the stride calculation in map.c too! +_MAPMODES = ("L", "P", "RGBX", "RGBA", "CMYK", "I;16", "I;16L", "I;16B") + + +def getmodebase(mode: str) -> str: + """ + Gets the "base" mode for given mode. This function returns "L" for + images that contain grayscale data, and "RGB" for images that + contain color data. + + :param mode: Input mode. + :returns: "L" or "RGB". + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).basemode + + +def getmodetype(mode: str) -> str: + """ + Gets the storage type mode. Given a mode, this function returns a + single-layer mode suitable for storing individual bands. + + :param mode: Input mode. + :returns: "L", "I", or "F". + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).basetype + + +def getmodebandnames(mode: str) -> tuple[str, ...]: + """ + Gets a list of individual band names. Given a mode, this function returns + a tuple containing the names of individual bands (use + :py:method:`~PIL.Image.getmodetype` to get the mode used to store each + individual band. + + :param mode: Input mode. + :returns: A tuple containing band names. The length of the tuple + gives the number of bands in an image of the given mode. + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).bands + + +def getmodebands(mode: str) -> int: + """ + Gets the number of individual bands for this mode. + + :param mode: Input mode. + :returns: The number of bands in this mode. + :exception KeyError: If the input mode was not a standard mode. + """ + return len(ImageMode.getmode(mode).bands) + + +# -------------------------------------------------------------------- +# Helpers + +_initialized = 0 + +# Mapping from file extension to plugin module name for lazy importing +_EXTENSION_PLUGIN: dict[str, str] = { + # Common formats (preinit) + ".bmp": "BmpImagePlugin", + ".dib": "BmpImagePlugin", + ".gif": "GifImagePlugin", + ".jfif": "JpegImagePlugin", + ".jpe": "JpegImagePlugin", + ".jpg": "JpegImagePlugin", + ".jpeg": "JpegImagePlugin", + ".pbm": "PpmImagePlugin", + ".pgm": "PpmImagePlugin", + ".pnm": "PpmImagePlugin", + ".ppm": "PpmImagePlugin", + ".pfm": "PpmImagePlugin", + ".png": "PngImagePlugin", + ".apng": "PngImagePlugin", + # Less common formats (init) + ".avif": "AvifImagePlugin", + ".avifs": "AvifImagePlugin", + ".blp": "BlpImagePlugin", + ".bufr": "BufrStubImagePlugin", + ".cur": "CurImagePlugin", + ".dcx": "DcxImagePlugin", + ".dds": "DdsImagePlugin", + ".ps": "EpsImagePlugin", + ".eps": "EpsImagePlugin", + ".fit": "FitsImagePlugin", + ".fits": "FitsImagePlugin", + ".fli": "FliImagePlugin", + ".flc": "FliImagePlugin", + ".fpx": "FpxImagePlugin", + ".ftc": "FtexImagePlugin", + ".ftu": "FtexImagePlugin", + ".gbr": "GbrImagePlugin", + ".grib": "GribStubImagePlugin", + ".h5": "Hdf5StubImagePlugin", + ".hdf": "Hdf5StubImagePlugin", + ".icns": "IcnsImagePlugin", + ".ico": "IcoImagePlugin", + ".im": "ImImagePlugin", + ".iim": "IptcImagePlugin", + ".jp2": "Jpeg2KImagePlugin", + ".j2k": "Jpeg2KImagePlugin", + ".jpc": "Jpeg2KImagePlugin", + ".jpf": "Jpeg2KImagePlugin", + ".jpx": "Jpeg2KImagePlugin", + ".j2c": "Jpeg2KImagePlugin", + ".mic": "MicImagePlugin", + ".mpg": "MpegImagePlugin", + ".mpeg": "MpegImagePlugin", + ".mpo": "MpoImagePlugin", + ".msp": "MspImagePlugin", + ".palm": "PalmImagePlugin", + ".pcd": "PcdImagePlugin", + ".pcx": "PcxImagePlugin", + ".pdf": "PdfImagePlugin", + ".pxr": "PixarImagePlugin", + ".psd": "PsdImagePlugin", + ".qoi": "QoiImagePlugin", + ".bw": "SgiImagePlugin", + ".rgb": "SgiImagePlugin", + ".rgba": "SgiImagePlugin", + ".sgi": "SgiImagePlugin", + ".ras": "SunImagePlugin", + ".tga": "TgaImagePlugin", + ".icb": "TgaImagePlugin", + ".vda": "TgaImagePlugin", + ".vst": "TgaImagePlugin", + ".tif": "TiffImagePlugin", + ".tiff": "TiffImagePlugin", + ".webp": "WebPImagePlugin", + ".wmf": "WmfImagePlugin", + ".emf": "WmfImagePlugin", + ".xbm": "XbmImagePlugin", + ".xpm": "XpmImagePlugin", +} + + +def _import_plugin_for_extension(ext: str | bytes) -> bool: + """Import only the plugin needed for a specific file extension.""" + if not ext: + return False + + if isinstance(ext, bytes): + ext = ext.decode() + ext = ext.lower() + if ext in EXTENSION: + return True + + plugin = _EXTENSION_PLUGIN.get(ext) + if plugin is None: + return False + + try: + logger.debug("Importing %s", plugin) + __import__(f"{__spec__.parent}.{plugin}", globals(), locals(), []) + return True + except ImportError as e: + logger.debug("Image: failed to import %s: %s", plugin, e) + return False + + +def preinit() -> None: + """ + Explicitly loads BMP, GIF, JPEG, PPM and PNG file format drivers. + + It is called when opening or saving images. + """ + + global _initialized + if _initialized >= 1: + return + + try: + from . import BmpImagePlugin + + assert BmpImagePlugin + except ImportError: + pass + try: + from . import GifImagePlugin + + assert GifImagePlugin + except ImportError: + pass + try: + from . import JpegImagePlugin + + assert JpegImagePlugin + except ImportError: + pass + try: + from . import PpmImagePlugin + + assert PpmImagePlugin + except ImportError: + pass + try: + from . import PngImagePlugin + + assert PngImagePlugin + except ImportError: + pass + + _initialized = 1 + + +def init() -> bool: + """ + Explicitly initializes the Python Imaging Library. This function + loads all available file format drivers. + + It is called when opening or saving images if :py:meth:`~preinit()` is + insufficient, and by :py:meth:`~PIL.features.pilinfo`. + """ + + global _initialized + if _initialized >= 2: + return False + + for plugin in _plugins: + try: + logger.debug("Importing %s", plugin) + __import__(f"{__spec__.parent}.{plugin}", globals(), locals(), []) + except ImportError as e: # noqa: PERF203 + logger.debug("Image: failed to import %s: %s", plugin, e) + + if OPEN or SAVE: + _initialized = 2 + return True + return False + + +# -------------------------------------------------------------------- +# Codec factories (used by tobytes/frombytes and ImageFile.load) + + +def _getdecoder( + mode: str, decoder_name: str, args: Any, extra: tuple[Any, ...] = () +) -> core.ImagingDecoder | ImageFile.PyDecoder: + # tweak arguments + if args is None: + args = () + elif not isinstance(args, tuple): + args = (args,) + + try: + decoder = DECODERS[decoder_name] + except KeyError: + pass + else: + return decoder(mode, *args + extra) + + try: + # get decoder + decoder = getattr(core, f"{decoder_name}_decoder") + except AttributeError as e: + msg = f"decoder {decoder_name} not available" + raise OSError(msg) from e + return decoder(mode, *args + extra) + + +def _getencoder( + mode: str, encoder_name: str, args: Any, extra: tuple[Any, ...] = () +) -> core.ImagingEncoder | ImageFile.PyEncoder: + # tweak arguments + if args is None: + args = () + elif not isinstance(args, tuple): + args = (args,) + + try: + encoder = ENCODERS[encoder_name] + except KeyError: + pass + else: + return encoder(mode, *args + extra) + + try: + # get encoder + encoder = getattr(core, f"{encoder_name}_encoder") + except AttributeError as e: + msg = f"encoder {encoder_name} not available" + raise OSError(msg) from e + return encoder(mode, *args + extra) + + +# -------------------------------------------------------------------- +# Simple expression analyzer + + +class ImagePointTransform: + """ + Used with :py:meth:`~PIL.Image.Image.point` for single band images with more than + 8 bits, this represents an affine transformation, where the value is multiplied by + ``scale`` and ``offset`` is added. + """ + + def __init__(self, scale: float, offset: float) -> None: + self.scale = scale + self.offset = offset + + def __neg__(self) -> ImagePointTransform: + return ImagePointTransform(-self.scale, -self.offset) + + def __add__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return ImagePointTransform( + self.scale + other.scale, self.offset + other.offset + ) + return ImagePointTransform(self.scale, self.offset + other) + + __radd__ = __add__ + + def __sub__(self, other: ImagePointTransform | float) -> ImagePointTransform: + return self + -other + + def __rsub__(self, other: ImagePointTransform | float) -> ImagePointTransform: + return other + -self + + def __mul__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return NotImplemented + return ImagePointTransform(self.scale * other, self.offset * other) + + __rmul__ = __mul__ + + def __truediv__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return NotImplemented + return ImagePointTransform(self.scale / other, self.offset / other) + + +def _getscaleoffset( + expr: Callable[[ImagePointTransform], ImagePointTransform | float], +) -> tuple[float, float]: + a = expr(ImagePointTransform(1, 0)) + return (a.scale, a.offset) if isinstance(a, ImagePointTransform) else (0, a) + + +# -------------------------------------------------------------------- +# Implementation wrapper + + +class SupportsGetData(Protocol): + def getdata( + self, + ) -> tuple[Transform, Sequence[int]]: ... + + +class Image: + """ + This class represents an image object. To create + :py:class:`~PIL.Image.Image` objects, use the appropriate factory + functions. There's hardly ever any reason to call the Image constructor + directly. + + * :py:func:`~PIL.Image.open` + * :py:func:`~PIL.Image.new` + * :py:func:`~PIL.Image.frombytes` + """ + + format: str | None = None + format_description: str | None = None + _close_exclusive_fp_after_loading = True + + def __init__(self) -> None: + # FIXME: take "new" parameters / other image? + self._im: core.ImagingCore | DeferredError | None = None + self._mode = "" + self._size = (0, 0) + self.palette: ImagePalette.ImagePalette | None = None + self.info: dict[str | tuple[int, int], Any] = {} + self.readonly = 0 + self._exif: Exif | None = None + + @property + def im(self) -> core.ImagingCore: + if isinstance(self._im, DeferredError): + raise self._im.ex + assert self._im is not None + return self._im + + @im.setter + def im(self, im: core.ImagingCore) -> None: + self._im = im + + @property + def width(self) -> int: + return self.size[0] + + @property + def height(self) -> int: + return self.size[1] + + @property + def size(self) -> tuple[int, int]: + return self._size + + @property + def mode(self) -> str: + return self._mode + + @property + def readonly(self) -> int: + return (self._im and self._im.readonly) or self._readonly + + @readonly.setter + def readonly(self, readonly: int) -> None: + self._readonly = readonly + + def _new(self, im: core.ImagingCore) -> Image: + new = Image() + new.im = im + new._mode = im.mode + new._size = im.size + if im.mode in ("P", "PA"): + if self.palette: + new.palette = self.palette.copy() + else: + from . import ImagePalette + + new.palette = ImagePalette.ImagePalette() + new.info = self.info.copy() + return new + + # Context manager support + def __enter__(self) -> Image: + return self + + def __exit__(self, *args: object) -> None: + pass + + def close(self) -> None: + """ + This operation will destroy the image core and release its memory. + The image data will be unusable afterward. + + This function is required to close images that have multiple frames or + have not had their file read and closed by the + :py:meth:`~PIL.Image.Image.load` method. See :ref:`file-handling` for + more information. + """ + if getattr(self, "map", None): + if sys.platform == "win32" and hasattr(sys, "pypy_version_info"): + self.map.close() + self.map: mmap.mmap | None = None + + # Instead of simply setting to None, we're setting up a + # deferred error that will better explain that the core image + # object is gone. + self._im = DeferredError(ValueError("Operation on closed image")) + + def _copy(self) -> None: + self.load() + self.im = self.im.copy() + self.readonly = 0 + + def _ensure_mutable(self) -> None: + if self.readonly: + self._copy() + else: + self.load() + + def _dump( + self, file: str | None = None, format: str | None = None, **options: Any + ) -> str: + suffix = "" + if format: + suffix = f".{format}" + + if not file: + f, filename = tempfile.mkstemp(suffix) + os.close(f) + else: + filename = file + if not filename.endswith(suffix): + filename = filename + suffix + + self.load() + + if not format or format == "PPM": + self.im.save_ppm(filename) + else: + self.save(filename, format, **options) + + return filename + + def __eq__(self, other: object) -> bool: + if self.__class__ is not other.__class__: + return False + assert isinstance(other, Image) + return ( + self.mode == other.mode + and self.size == other.size + and self.info == other.info + and self.getpalette() == other.getpalette() + and self.tobytes() == other.tobytes() + ) + + def __repr__(self) -> str: + return ( + f"<{self.__class__.__module__}.{self.__class__.__name__} " + f"image mode={self.mode} size={self.size[0]}x{self.size[1]} " + f"at 0x{id(self):X}>" + ) + + def _repr_pretty_(self, p: PrettyPrinter, cycle: bool) -> None: + """IPython plain text display support""" + + # Same as __repr__ but without unpredictable id(self), + # to keep Jupyter notebook `text/plain` output stable. + p.text( + f"<{self.__class__.__module__}.{self.__class__.__name__} " + f"image mode={self.mode} size={self.size[0]}x{self.size[1]}>" + ) + + def _repr_image(self, image_format: str, **kwargs: Any) -> bytes | None: + """Helper function for iPython display hook. + + :param image_format: Image format. + :returns: image as bytes, saved into the given format. + """ + b = io.BytesIO() + try: + self.save(b, image_format, **kwargs) + except Exception: + return None + return b.getvalue() + + def _repr_png_(self) -> bytes | None: + """iPython display hook support for PNG format. + + :returns: PNG version of the image as bytes + """ + return self._repr_image("PNG", compress_level=1) + + def _repr_jpeg_(self) -> bytes | None: + """iPython display hook support for JPEG format. + + :returns: JPEG version of the image as bytes + """ + return self._repr_image("JPEG") + + @property + def __array_interface__(self) -> dict[str, str | bytes | int | tuple[int, ...]]: + # numpy array interface support + new: dict[str, str | bytes | int | tuple[int, ...]] = {"version": 3} + if self.mode == "1": + # Binary images need to be extended from bits to bytes + # See: https://github.com/python-pillow/Pillow/issues/350 + new["data"] = self.tobytes("raw", "L") + else: + new["data"] = self.tobytes() + new["shape"], new["typestr"] = _conv_type_shape(self) + return new + + def __arrow_c_schema__(self) -> object: + self.load() + return self.im.__arrow_c_schema__() + + def __arrow_c_array__( + self, requested_schema: object | None = None + ) -> tuple[object, object]: + self.load() + return (self.im.__arrow_c_schema__(), self.im.__arrow_c_array__()) + + def __getstate__(self) -> list[Any]: + im_data = self.tobytes() # load image first + return [self.info, self.mode, self.size, self.getpalette(), im_data] + + def __setstate__(self, state: list[Any]) -> None: + Image.__init__(self) + info, mode, size, palette, data = state[:5] + self.info = info + self._mode = mode + self._size = size + self.im = core.new(mode, size) + if mode in ("L", "LA", "P", "PA") and palette: + self.putpalette(palette) + self.frombytes(data) + + def tobytes(self, encoder_name: str = "raw", *args: Any) -> bytes: + """ + Return image as a bytes object. + + .. warning:: + + This method returns raw image data derived from Pillow's internal + storage. For compressed image data (e.g. PNG, JPEG) use + :meth:`~.save`, with a BytesIO parameter for in-memory data. + + :param encoder_name: What encoder to use. + + The default is to use the standard "raw" encoder. + To see how this packs pixel data into the returned + bytes, see :file:`libImaging/Pack.c`. + + A list of C encoders can be seen under codecs + section of the function array in + :file:`_imaging.c`. Python encoders are registered + within the relevant plugins. + :param args: Extra arguments to the encoder. + :returns: A :py:class:`bytes` object. + """ + + encoder_args: Any = args + if len(encoder_args) == 1 and isinstance(encoder_args[0], tuple): + # may pass tuple instead of argument list + encoder_args = encoder_args[0] + + if encoder_name == "raw" and encoder_args == (): + encoder_args = self.mode + + self.load() + + if self.width == 0 or self.height == 0: + return b"" + + # unpack data + e = _getencoder(self.mode, encoder_name, encoder_args) + e.setimage(self.im, (0, 0) + self.size) + + from . import ImageFile + + bufsize = max(ImageFile.MAXBLOCK, self.size[0] * 4) # see RawEncode.c + + output = [] + while True: + bytes_consumed, errcode, data = e.encode(bufsize) + output.append(data) + if errcode: + break + if errcode < 0: + msg = f"encoder error {errcode} in tobytes" + raise RuntimeError(msg) + + return b"".join(output) + + def tobitmap(self, name: str = "image") -> bytes: + """ + Returns the image converted to an X11 bitmap. + + .. note:: This method only works for mode "1" images. + + :param name: The name prefix to use for the bitmap variables. + :returns: A string containing an X11 bitmap. + :raises ValueError: If the mode is not "1" + """ + + self.load() + if self.mode != "1": + msg = "not a bitmap" + raise ValueError(msg) + data = self.tobytes("xbm") + return b"".join( + [ + f"#define {name}_width {self.size[0]}\n".encode("ascii"), + f"#define {name}_height {self.size[1]}\n".encode("ascii"), + f"static char {name}_bits[] = {{\n".encode("ascii"), + data, + b"};", + ] + ) + + def frombytes( + self, + data: bytes | bytearray | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, + ) -> None: + """ + Loads this image with pixel data from a bytes object. + + This method is similar to the :py:func:`~PIL.Image.frombytes` function, + but loads data into this image instead of creating a new image object. + """ + + if self.width == 0 or self.height == 0: + return + + decoder_args: Any = args + if len(decoder_args) == 1 and isinstance(decoder_args[0], tuple): + # may pass tuple instead of argument list + decoder_args = decoder_args[0] + + # default format + if decoder_name == "raw" and decoder_args == (): + decoder_args = self.mode + + # unpack data + d = _getdecoder(self.mode, decoder_name, decoder_args) + d.setimage(self.im, (0, 0) + self.size) + s = d.decode(data) + + if s[0] >= 0: + msg = "not enough image data" + raise ValueError(msg) + if s[1] != 0: + msg = "cannot decode image data" + raise ValueError(msg) + + def load(self) -> core.PixelAccess | None: + """ + Allocates storage for the image and loads the pixel data. In + normal cases, you don't need to call this method, since the + Image class automatically loads an opened image when it is + accessed for the first time. + + If the file associated with the image was opened by Pillow, then this + method will close it. The exception to this is if the image has + multiple frames, in which case the file will be left open for seek + operations. See :ref:`file-handling` for more information. + + :returns: An image access object. + :rtype: :py:class:`.PixelAccess` + """ + if self._im is not None and self.palette and self.palette.dirty: + # realize palette + mode, arr = self.palette.getdata() + self.im.putpalette(self.palette.mode, mode, arr) + self.palette.dirty = 0 + self.palette.rawmode = None + if "transparency" in self.info and mode in ("LA", "PA"): + if isinstance(self.info["transparency"], int): + self.im.putpalettealpha(self.info["transparency"], 0) + else: + self.im.putpalettealphas(self.info["transparency"]) + self.palette.mode = "RGBA" + elif self.palette.mode != mode: + # If the palette rawmode is different to the mode, + # then update the Python palette data + self.palette.palette = self.im.getpalette( + self.palette.mode, self.palette.mode + ) + + if self._im is not None: + return self.im.pixel_access(self.readonly) + return None + + def verify(self) -> None: + """ + Verifies the contents of a file. For data read from a file, this + method attempts to determine if the file is broken, without + actually decoding the image data. If this method finds any + problems, it raises suitable exceptions. If you need to load + the image after using this method, you must reopen the image + file. + """ + pass + + def convert( + self, + mode: str | None = None, + matrix: tuple[float, ...] | None = None, + dither: Dither | None = None, + palette: Palette = Palette.WEB, + colors: int = 256, + ) -> Image: + """ + Returns a converted copy of this image. For the "P" mode, this + method translates pixels through the palette. If mode is + omitted, a mode is chosen so that all information in the image + and the palette can be represented without a palette. + + This supports all possible conversions between "L", "RGB" and "CMYK". The + ``matrix`` argument only supports "L" and "RGB". + + When translating a color image to grayscale (mode "L"), + the library uses the ITU-R 601-2 luma transform:: + + L = R * 299/1000 + G * 587/1000 + B * 114/1000 + + The default method of converting a grayscale ("L") or "RGB" + image into a bilevel (mode "1") image uses Floyd-Steinberg + dither to approximate the original image luminosity levels. If + dither is ``None``, all values larger than 127 are set to 255 (white), + all other values to 0 (black). To use other thresholds, use the + :py:meth:`~PIL.Image.Image.point` method. + + When converting from "RGBA" to "P" without a ``matrix`` argument, + this passes the operation to :py:meth:`~PIL.Image.Image.quantize`, + and ``dither`` and ``palette`` are ignored. + + When converting from "PA", if an "RGBA" palette is present, the alpha + channel from the image will be used instead of the values from the palette. + + :param mode: The requested mode. See: :ref:`concept-modes`. + :param matrix: An optional conversion matrix. If given, this + should be 4- or 12-tuple containing floating point values. + :param dither: Dithering method, used when converting from + mode "RGB" to "P" or from "RGB" or "L" to "1". + Available methods are :data:`Dither.NONE` or :data:`Dither.FLOYDSTEINBERG` + (default). Note that this is not used when ``matrix`` is supplied. + :param palette: Palette to use when converting from mode "RGB" + to "P". Available palettes are :data:`Palette.WEB` or + :data:`Palette.ADAPTIVE`. + :param colors: Number of colors to use for the :data:`Palette.ADAPTIVE` + palette. Defaults to 256. + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + self.load() + + has_transparency = "transparency" in self.info + if not mode and self.mode == "P": + # determine default mode + if self.palette: + mode = self.palette.mode + else: + mode = "RGB" + if mode == "RGB" and has_transparency: + mode = "RGBA" + if not mode or (mode == self.mode and not matrix): + return self.copy() + + if matrix: + # matrix conversion + if mode not in ("L", "RGB"): + msg = "illegal conversion" + raise ValueError(msg) + im = self.im.convert_matrix(mode, matrix) + new_im = self._new(im) + if has_transparency and self.im.bands == 3: + transparency = new_im.info["transparency"] + + def convert_transparency( + m: tuple[float, ...], v: tuple[int, int, int] + ) -> int: + value = m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * 0.5 + return max(0, min(255, int(value))) + + if mode == "L": + transparency = convert_transparency(matrix, transparency) + elif len(mode) == 3: + transparency = tuple( + convert_transparency(matrix[i * 4 : i * 4 + 4], transparency) + for i in range(len(transparency)) + ) + new_im.info["transparency"] = transparency + return new_im + + if self.mode == "RGBA": + if mode == "P": + return self.quantize(colors) + elif mode == "PA": + r, g, b, a = self.split() + rgb = merge("RGB", (r, g, b)) + p = rgb.quantize(colors) + return merge("PA", (p, a)) + + trns = None + delete_trns = False + # transparency handling + if has_transparency: + if (self.mode in ("1", "L", "I", "I;16") and mode in ("LA", "RGBA")) or ( + self.mode == "RGB" and mode in ("La", "LA", "RGBa", "RGBA") + ): + # Use transparent conversion to promote from transparent + # color to an alpha channel. + new_im = self._new( + self.im.convert_transparent(mode, self.info["transparency"]) + ) + del new_im.info["transparency"] + return new_im + elif self.mode in ("L", "RGB", "P") and mode in ("L", "RGB", "P"): + t = self.info["transparency"] + if isinstance(t, bytes): + # Dragons. This can't be represented by a single color + warnings.warn( + "Palette images with Transparency expressed in bytes should be " + "converted to RGBA images" + ) + delete_trns = True + else: + # get the new transparency color. + # use existing conversions + trns_im = new(self.mode, (1, 1)) + if self.mode == "P": + assert self.palette is not None + trns_im.putpalette(self.palette, self.palette.mode) + if isinstance(t, tuple): + err = "Couldn't allocate a palette color for transparency" + assert trns_im.palette is not None + try: + t = trns_im.palette.getcolor(t, self) + except ValueError as e: + if str(e) == "cannot allocate more than 256 colors": + # If all 256 colors are in use, + # then there is no need for transparency + t = None + else: + raise ValueError(err) from e + if t is None: + trns = None + else: + trns_im.putpixel((0, 0), t) + + if mode in ("L", "RGB"): + trns_im = trns_im.convert(mode) + else: + # can't just retrieve the palette number, got to do it + # after quantization. + trns_im = trns_im.convert("RGB") + trns = trns_im.getpixel((0, 0)) + + elif self.mode == "P" and mode in ("LA", "PA", "RGBA"): + t = self.info["transparency"] + delete_trns = True + + if isinstance(t, bytes): + self.im.putpalettealphas(t) + elif isinstance(t, int): + self.im.putpalettealpha(t, 0) + else: + msg = "Transparency for P mode should be bytes or int" + raise ValueError(msg) + + if mode == "P" and palette == Palette.ADAPTIVE: + im = self.im.quantize(colors) + new_im = self._new(im) + from . import ImagePalette + + new_im.palette = ImagePalette.ImagePalette( + "RGB", new_im.im.getpalette("RGB") + ) + if delete_trns: + # This could possibly happen if we requantize to fewer colors. + # The transparency would be totally off in that case. + del new_im.info["transparency"] + if trns is not None: + try: + new_im.info["transparency"] = new_im.palette.getcolor( + cast(tuple[int, ...], trns), # trns was converted to RGB + new_im, + ) + except Exception: + # if we can't make a transparent color, don't leave the old + # transparency hanging around to mess us up. + del new_im.info["transparency"] + warnings.warn("Couldn't allocate palette entry for transparency") + return new_im + + if "LAB" in (self.mode, mode): + im = self + if mode == "LAB": + if im.mode not in ("RGB", "RGBA", "RGBX"): + im = im.convert("RGBA") + other_mode = im.mode + else: + other_mode = mode + if other_mode in ("RGB", "RGBA", "RGBX"): + from . import ImageCms + + srgb = ImageCms.createProfile("sRGB") + lab = ImageCms.createProfile("LAB") + profiles = [lab, srgb] if im.mode == "LAB" else [srgb, lab] + transform = ImageCms.buildTransform( + profiles[0], profiles[1], im.mode, mode + ) + return transform.apply(im) + + # colorspace conversion + if dither is None: + dither = Dither.FLOYDSTEINBERG + + try: + im = self.im.convert(mode, dither) + except ValueError: + try: + # normalize source image and try again + modebase = getmodebase(self.mode) + if modebase == self.mode: + raise + im = self.im.convert(modebase) + im = im.convert(mode, dither) + except KeyError as e: + msg = "illegal conversion" + raise ValueError(msg) from e + + new_im = self._new(im) + if mode in ("P", "PA") and palette != Palette.ADAPTIVE: + from . import ImagePalette + + new_im.palette = ImagePalette.ImagePalette("RGB", im.getpalette("RGB")) + if delete_trns: + # crash fail if we leave a bytes transparency in an rgb/l mode. + del new_im.info["transparency"] + if trns is not None: + if new_im.mode == "P" and new_im.palette: + try: + new_im.info["transparency"] = new_im.palette.getcolor( + cast(tuple[int, ...], trns), new_im # trns was converted to RGB + ) + except ValueError as e: + del new_im.info["transparency"] + if str(e) != "cannot allocate more than 256 colors": + # If all 256 colors are in use, + # then there is no need for transparency + warnings.warn( + "Couldn't allocate palette entry for transparency" + ) + else: + new_im.info["transparency"] = trns + return new_im + + def quantize( + self, + colors: int = 256, + method: int | None = None, + kmeans: int = 0, + palette: Image | None = None, + dither: Dither = Dither.FLOYDSTEINBERG, + ) -> Image: + """ + Convert the image to 'P' mode with the specified number + of colors. + + :param colors: The desired number of colors, <= 256 + :param method: :data:`Quantize.MEDIANCUT` (median cut), + :data:`Quantize.MAXCOVERAGE` (maximum coverage), + :data:`Quantize.FASTOCTREE` (fast octree), + :data:`Quantize.LIBIMAGEQUANT` (libimagequant; check support + using :py:func:`PIL.features.check_feature` with + ``feature="libimagequant"``). + + By default, :data:`Quantize.MEDIANCUT` will be used. + + The exception to this is RGBA images. :data:`Quantize.MEDIANCUT` + and :data:`Quantize.MAXCOVERAGE` do not support RGBA images, so + :data:`Quantize.FASTOCTREE` is used by default instead. + :param kmeans: Integer greater than or equal to zero. + :param palette: Quantize to the palette of given + :py:class:`PIL.Image.Image`. + :param dither: Dithering method, used when converting from + mode "RGB" to "P" or from "RGB" or "L" to "1". + Available methods are :data:`Dither.NONE` or :data:`Dither.FLOYDSTEINBERG` + (default). + :returns: A new image + """ + + self.load() + + if method is None: + # defaults: + method = Quantize.MEDIANCUT + if self.mode == "RGBA": + method = Quantize.FASTOCTREE + + if self.mode == "RGBA" and method not in ( + Quantize.FASTOCTREE, + Quantize.LIBIMAGEQUANT, + ): + # Caller specified an invalid mode. + msg = ( + "Fast Octree (method == 2) and libimagequant (method == 3) " + "are the only valid methods for quantizing RGBA images" + ) + raise ValueError(msg) + + if palette: + # use palette from reference image + palette.load() + if palette.mode != "P": + msg = "bad mode for palette image" + raise ValueError(msg) + if self.mode not in {"RGB", "L"}: + msg = "only RGB or L mode images can be quantized to a palette" + raise ValueError(msg) + im = self.im.convert("P", dither, palette.im) + new_im = self._new(im) + assert palette.palette is not None + new_im.palette = palette.palette.copy() + return new_im + + if kmeans < 0: + msg = "kmeans must not be negative" + raise ValueError(msg) + + im = self._new(self.im.quantize(colors, method, kmeans)) + + from . import ImagePalette + + mode = im.im.getpalettemode() + palette_data = im.im.getpalette(mode, mode)[: colors * len(mode)] + im.palette = ImagePalette.ImagePalette(mode, palette_data) + + return im + + def copy(self) -> Image: + """ + Copies this image. Use this method if you wish to paste things + into an image, but still retain the original. + + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + self.load() + return self._new(self.im.copy()) + + __copy__ = copy + + def crop(self, box: tuple[float, float, float, float] | None = None) -> Image: + """ + Returns a rectangular region from this image. The box is a + 4-tuple defining the left, upper, right, and lower pixel + coordinate. See :ref:`coordinate-system`. + + Note: Prior to Pillow 3.4.0, this was a lazy operation. + + :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if box is None: + return self.copy() + + if box[2] < box[0]: + msg = "Coordinate 'right' is less than 'left'" + raise ValueError(msg) + elif box[3] < box[1]: + msg = "Coordinate 'lower' is less than 'upper'" + raise ValueError(msg) + + self.load() + return self._new(self._crop(self.im, box)) + + def _crop( + self, im: core.ImagingCore, box: tuple[float, float, float, float] + ) -> core.ImagingCore: + """ + Returns a rectangular region from the core image object im. + + This is equivalent to calling im.crop((x0, y0, x1, y1)), but + includes additional sanity checks. + + :param im: a core image object + :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. + :returns: A core image object. + """ + + x0, y0, x1, y1 = map(int, map(round, box)) + + absolute_values = (abs(x1 - x0), abs(y1 - y0)) + + _decompression_bomb_check(absolute_values) + + return im.crop((x0, y0, x1, y1)) + + def draft( + self, mode: str | None, size: tuple[int, int] | None + ) -> tuple[str, tuple[int, int, float, float]] | None: + """ + Configures the image file loader so it returns a version of the + image that as closely as possible matches the given mode and + size. For example, you can use this method to convert a color + JPEG to grayscale while loading it. + + If any changes are made, returns a tuple with the chosen ``mode`` and + ``box`` with coordinates of the original image within the altered one. + + Note that this method modifies the :py:class:`~PIL.Image.Image` object + in place. If the image has already been loaded, this method has no + effect. + + Note: This method is not implemented for most images. It is + currently implemented only for JPEG and MPO images. + + :param mode: The requested mode. + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + """ + pass + + def filter(self, filter: ImageFilter.Filter | type[ImageFilter.Filter]) -> Image: + """ + Filters this image using the given filter. For a list of + available filters, see the :py:mod:`~PIL.ImageFilter` module. + + :param filter: Filter kernel. + :returns: An :py:class:`~PIL.Image.Image` object.""" + + from . import ImageFilter + + self.load() + + if callable(filter): + filter = filter() + if not hasattr(filter, "filter"): + msg = "filter argument should be ImageFilter.Filter instance or class" + raise TypeError(msg) + + multiband = isinstance(filter, ImageFilter.MultibandFilter) + if self.im.bands == 1 or multiband: + return self._new(filter.filter(self.im)) + + ims = [ + self._new(filter.filter(self.im.getband(c))) for c in range(self.im.bands) + ] + return merge(self.mode, ims) + + def getbands(self) -> tuple[str, ...]: + """ + Returns a tuple containing the name of each band in this image. + For example, ``getbands`` on an RGB image returns ("R", "G", "B"). + + :returns: A tuple containing band names. + :rtype: tuple + """ + return ImageMode.getmode(self.mode).bands + + def getbbox(self, *, alpha_only: bool = True) -> tuple[int, int, int, int] | None: + """ + Calculates the bounding box of the non-zero regions in the + image. + + :param alpha_only: Optional flag, defaulting to ``True``. + If ``True`` and the image has an alpha channel, trim transparent pixels. + Otherwise, trim pixels when all channels are zero. + Keyword-only argument. + :returns: The bounding box is returned as a 4-tuple defining the + left, upper, right, and lower pixel coordinate. See + :ref:`coordinate-system`. If the image is completely empty, this + method returns None. + + """ + + self.load() + return self.im.getbbox(alpha_only) + + def getcolors( + self, maxcolors: int = 256 + ) -> list[tuple[int, tuple[int, ...]]] | list[tuple[int, float]] | None: + """ + Returns a list of colors used in this image. + + The colors will be in the image's mode. For example, an RGB image will + return a tuple of (red, green, blue) color values, and a P image will + return the index of the color in the palette. + + :param maxcolors: Maximum number of colors. If this number is + exceeded, this method returns None. The default limit is + 256 colors. + :returns: An unsorted list of (count, pixel) values. + """ + + self.load() + if self.mode in ("1", "L", "P"): + h = self.im.histogram() + out: list[tuple[int, float]] = [(h[i], i) for i in range(256) if h[i]] + if len(out) > maxcolors: + return None + return out + return self.im.getcolors(maxcolors) + + def getdata(self, band: int | None = None) -> core.ImagingCore: + """ + Returns the contents of this image as a sequence object + containing pixel values. The sequence object is flattened, so + that values for line one follow directly after the values of + line zero, and so on. + + Note that the sequence object returned by this method is an + internal PIL data type, which only supports certain sequence + operations. To convert it to an ordinary sequence (e.g. for + printing), use ``list(im.getdata())``. + + :param band: What band to return. The default is to return + all bands. To return a single band, pass in the index + value (e.g. 0 to get the "R" band from an "RGB" image). + :returns: A sequence-like object. + """ + deprecate("Image.Image.getdata", 14, "get_flattened_data") + + self.load() + if band is not None: + return self.im.getband(band) + return self.im # could be abused + + def get_flattened_data( + self, band: int | None = None + ) -> tuple[tuple[int, ...], ...] | tuple[float, ...]: + """ + Returns the contents of this image as a tuple containing pixel values. + The sequence object is flattened, so that values for line one follow + directly after the values of line zero, and so on. + + :param band: What band to return. The default is to return + all bands. To return a single band, pass in the index + value (e.g. 0 to get the "R" band from an "RGB" image). + :returns: A tuple containing pixel values. + """ + self.load() + if band is not None: + return tuple(self.im.getband(band)) + return tuple(self.im) + + def getextrema(self) -> tuple[float, float] | tuple[tuple[int, int], ...]: + """ + Gets the minimum and maximum pixel values for each band in + the image. + + :returns: For a single-band image, a 2-tuple containing the + minimum and maximum pixel value. For a multi-band image, + a tuple containing one 2-tuple for each band. + """ + + self.load() + if self.im.bands > 1: + return tuple(self.im.getband(i).getextrema() for i in range(self.im.bands)) + return self.im.getextrema() + + def getxmp(self) -> dict[str, Any]: + """ + Returns a dictionary containing the XMP tags. + Requires defusedxml to be installed. + + :returns: XMP tags in a dictionary. + """ + + def get_name(tag: str) -> str: + return re.sub("^{[^}]+}", "", tag) + + def get_value(element: Element) -> str | dict[str, Any] | None: + value: dict[str, Any] = {get_name(k): v for k, v in element.attrib.items()} + children = list(element) + if children: + for child in children: + name = get_name(child.tag) + child_value = get_value(child) + if name in value: + if not isinstance(value[name], list): + value[name] = [value[name]] + value[name].append(child_value) + else: + value[name] = child_value + elif value: + if element.text: + value["text"] = element.text + else: + return element.text + return value + + if ElementTree is None: + warnings.warn("XMP data cannot be read without defusedxml dependency") + return {} + if "xmp" not in self.info: + return {} + root = ElementTree.fromstring(self.info["xmp"].rstrip(b"\x00 ")) + return {get_name(root.tag): get_value(root)} + + def getexif(self) -> Exif: + """ + Gets EXIF data from the image. + + :returns: an :py:class:`~PIL.Image.Exif` object. + """ + if self._exif is None: + self._exif = Exif() + elif self._exif._loaded: + return self._exif + self._exif._loaded = True + + exif_info = self.info.get("exif") + if exif_info is None: + if "Raw profile type exif" in self.info: + exif_info = bytes.fromhex( + "".join(self.info["Raw profile type exif"].split("\n")[3:]) + ) + elif hasattr(self, "tag_v2"): + from . import TiffImagePlugin + + assert isinstance(self, TiffImagePlugin.TiffImageFile) + self._exif.bigtiff = self.tag_v2._bigtiff + self._exif.endian = self.tag_v2._endian + + assert self.fp is not None + self._exif.load_from_fp(self.fp, self.tag_v2._offset) + if exif_info is not None: + self._exif.load(exif_info) + + # XMP tags + if ExifTags.Base.Orientation not in self._exif: + xmp_tags = self.info.get("XML:com.adobe.xmp") + pattern: str | bytes = r'tiff:Orientation(="|>)([0-9])' + if not xmp_tags and (xmp_tags := self.info.get("xmp")): + pattern = rb'tiff:Orientation(="|>)([0-9])' + if xmp_tags: + match = re.search(pattern, xmp_tags) + if match: + self._exif[ExifTags.Base.Orientation] = int(match[2]) + + return self._exif + + def _reload_exif(self) -> None: + if self._exif is None or not self._exif._loaded: + return + self._exif._loaded = False + self.getexif() + + def get_child_images(self) -> list[ImageFile.ImageFile]: + from . import ImageFile + + deprecate("Image.Image.get_child_images", 13) + return ImageFile.ImageFile.get_child_images(self) # type: ignore[arg-type] + + def getim(self) -> CapsuleType: + """ + Returns a capsule that points to the internal image memory. + + :returns: A capsule object. + """ + + self.load() + return self.im.ptr + + def getpalette(self, rawmode: str | None = "RGB") -> list[int] | None: + """ + Returns the image palette as a list. + + :param rawmode: The mode in which to return the palette. ``None`` will + return the palette in its current mode. + + .. versionadded:: 9.1.0 + + :returns: A list of color values [r, g, b, ...], or None if the + image has no palette. + """ + + self.load() + try: + mode = self.im.getpalettemode() + except ValueError: + return None # no palette + if rawmode is None: + rawmode = mode + return list(self.im.getpalette(mode, rawmode)) + + @property + def has_transparency_data(self) -> bool: + """ + Determine if an image has transparency data, whether in the form of an + alpha channel, a palette with an alpha channel, or a "transparency" key + in the info dictionary. + + Note the image might still appear solid, if all of the values shown + within are opaque. + + :returns: A boolean. + """ + if ( + self.mode in ("LA", "La", "PA", "RGBA", "RGBa") + or "transparency" in self.info + ): + return True + if self.mode == "P": + assert self.palette is not None + return self.palette.mode.endswith("A") + return False + + def apply_transparency(self) -> None: + """ + If a P mode image has a "transparency" key in the info dictionary, + remove the key and instead apply the transparency to the palette. + Otherwise, the image is unchanged. + """ + if self.mode != "P" or "transparency" not in self.info: + return + + from . import ImagePalette + + palette = self.getpalette("RGBA") + assert palette is not None + transparency = self.info["transparency"] + if isinstance(transparency, bytes): + for i, alpha in enumerate(transparency): + palette[i * 4 + 3] = alpha + else: + palette[transparency * 4 + 3] = 0 + self.palette = ImagePalette.ImagePalette("RGBA", bytes(palette)) + self.palette.dirty = 1 + + del self.info["transparency"] + + def getpixel( + self, xy: tuple[int, int] | list[int] + ) -> float | tuple[int, ...] | None: + """ + Returns the pixel value at a given position. + + :param xy: The coordinate, given as (x, y). See + :ref:`coordinate-system`. + :returns: The pixel value. If the image is a multi-layer image, + this method returns a tuple. + """ + + self.load() + return self.im.getpixel(tuple(xy)) + + def getprojection(self) -> tuple[list[int], list[int]]: + """ + Get projection to x and y axes + + :returns: Two sequences, indicating where there are non-zero + pixels along the X-axis and the Y-axis, respectively. + """ + + self.load() + x, y = self.im.getprojection() + return list(x), list(y) + + def histogram( + self, mask: Image | None = None, extrema: tuple[float, float] | None = None + ) -> list[int]: + """ + Returns a histogram for the image. The histogram is returned as a + list of pixel counts, one for each pixel value in the source + image. Counts are grouped into 256 bins for each band, even if + the image has more than 8 bits per band. If the image has more + than one band, the histograms for all bands are concatenated (for + example, the histogram for an "RGB" image contains 768 values). + + A bilevel image (mode "1") is treated as a grayscale ("L") image + by this method. + + If a mask is provided, the method returns a histogram for those + parts of the image where the mask image is non-zero. The mask + image must have the same size as the image, and be either a + bi-level image (mode "1") or a grayscale image ("L"). + + :param mask: An optional mask. + :param extrema: An optional tuple of manually-specified extrema. + :returns: A list containing pixel counts. + """ + self.load() + if mask: + mask.load() + return self.im.histogram((0, 0), mask.im) + if self.mode in ("I", "F"): + return self.im.histogram( + extrema if extrema is not None else self.getextrema() + ) + return self.im.histogram() + + def entropy( + self, mask: Image | None = None, extrema: tuple[float, float] | None = None + ) -> float: + """ + Calculates and returns the entropy for the image. + + A bilevel image (mode "1") is treated as a grayscale ("L") + image by this method. + + If a mask is provided, the method employs the histogram for + those parts of the image where the mask image is non-zero. + The mask image must have the same size as the image, and be + either a bi-level image (mode "1") or a grayscale image ("L"). + + :param mask: An optional mask. + :param extrema: An optional tuple of manually-specified extrema. + :returns: A float value representing the image entropy + """ + self.load() + if mask: + mask.load() + return self.im.entropy((0, 0), mask.im) + if self.mode in ("I", "F"): + return self.im.entropy( + extrema if extrema is not None else self.getextrema() + ) + return self.im.entropy() + + def paste( + self, + im: Image | str | float | tuple[float, ...], + box: Image | tuple[int, int, int, int] | tuple[int, int] | None = None, + mask: Image | None = None, + ) -> None: + """ + Pastes another image into this image. The box argument is either + a 2-tuple giving the upper left corner, a 4-tuple defining the + left, upper, right, and lower pixel coordinate, or None (same as + (0, 0)). See :ref:`coordinate-system`. If a 4-tuple is given, the size + of the pasted image must match the size of the region. + + If the modes don't match, the pasted image is converted to the mode of + this image (see the :py:meth:`~PIL.Image.Image.convert` method for + details). + + Instead of an image, the source can be a integer or tuple + containing pixel values. The method then fills the region + with the given color. When creating RGB images, you can + also use color strings as supported by the ImageColor module. See + :ref:`colors` for more information. + + If a mask is given, this method updates only the regions + indicated by the mask. You can use either "1", "L", "LA", "RGBA" + or "RGBa" images (if present, the alpha band is used as mask). + Where the mask is 255, the given image is copied as is. Where + the mask is 0, the current value is preserved. Intermediate + values will mix the two images together, including their alpha + channels if they have them. + + See :py:meth:`~PIL.Image.Image.alpha_composite` if you want to + combine images with respect to their alpha channels. + + :param im: Source image or pixel value (integer, float or tuple). + :param box: An optional 4-tuple giving the region to paste into. + If a 2-tuple is used instead, it's treated as the upper left + corner. If omitted or None, the source is pasted into the + upper left corner. + + If an image is given as the second argument and there is no + third, the box defaults to (0, 0), and the second argument + is interpreted as a mask image. + :param mask: An optional mask image. + """ + + if isinstance(box, Image): + if mask is not None: + msg = "If using second argument as mask, third argument must be None" + raise ValueError(msg) + # abbreviated paste(im, mask) syntax + mask = box + box = None + + if box is None: + box = (0, 0) + + if len(box) == 2: + # upper left corner given; get size from image or mask + if isinstance(im, Image): + size = im.size + elif isinstance(mask, Image): + size = mask.size + else: + # FIXME: use self.size here? + msg = "cannot determine region size; use 4-item box" + raise ValueError(msg) + box += (box[0] + size[0], box[1] + size[1]) + + source: core.ImagingCore | str | float | tuple[float, ...] + if isinstance(im, str): + from . import ImageColor + + source = ImageColor.getcolor(im, self.mode) + elif isinstance(im, Image): + im.load() + if self.mode != im.mode: + if self.mode != "RGB" or im.mode not in ("LA", "RGBA", "RGBa"): + # should use an adapter for this! + im = im.convert(self.mode) + source = im.im + else: + source = im + + self._ensure_mutable() + + if mask: + mask.load() + self.im.paste(source, box, mask.im) + else: + self.im.paste(source, box) + + def alpha_composite( + self, im: Image, dest: Sequence[int] = (0, 0), source: Sequence[int] = (0, 0) + ) -> None: + """'In-place' analog of Image.alpha_composite. Composites an image + onto this image. + + :param im: image to composite over this one + :param dest: Optional 2 tuple (left, top) specifying the upper + left corner in this (destination) image. + :param source: Optional 2 (left, top) tuple for the upper left + corner in the overlay source image, or 4 tuple (left, top, right, + bottom) for the bounds of the source rectangle + + Performance Note: Not currently implemented in-place in the core layer. + """ + + if not isinstance(source, (list, tuple)): + msg = "Source must be a list or tuple" + raise ValueError(msg) + if not isinstance(dest, (list, tuple)): + msg = "Destination must be a list or tuple" + raise ValueError(msg) + + if len(source) == 4: + overlay_crop_box = tuple(source) + elif len(source) == 2: + overlay_crop_box = tuple(source) + im.size + else: + msg = "Source must be a sequence of length 2 or 4" + raise ValueError(msg) + + if not len(dest) == 2: + msg = "Destination must be a sequence of length 2" + raise ValueError(msg) + if min(source) < 0: + msg = "Source must be non-negative" + raise ValueError(msg) + + # over image, crop if it's not the whole image. + if overlay_crop_box == (0, 0) + im.size: + overlay = im + else: + overlay = im.crop(overlay_crop_box) + + # target for the paste + box = tuple(dest) + (dest[0] + overlay.width, dest[1] + overlay.height) + + # destination image. don't copy if we're using the whole image. + if box == (0, 0) + self.size: + background = self + else: + background = self.crop(box) + + result = alpha_composite(background, overlay) + self.paste(result, box) + + def point( + self, + lut: ( + Sequence[float] + | NumpyArray + | Callable[[int], float] + | Callable[[ImagePointTransform], ImagePointTransform | float] + | ImagePointHandler + ), + mode: str | None = None, + ) -> Image: + """ + Maps this image through a lookup table or function. + + :param lut: A lookup table, containing 256 (or 65536 if + self.mode=="I" and mode == "L") values per band in the + image. A function can be used instead, it should take a + single argument. The function is called once for each + possible pixel value, and the resulting table is applied to + all bands of the image. + + It may also be an :py:class:`~PIL.Image.ImagePointHandler` + object:: + + class Example(Image.ImagePointHandler): + def point(self, im: Image) -> Image: + # Return result + :param mode: Output mode (default is same as input). This can only be used if + the source image has mode "L" or "P", and the output has mode "1" or the + source image mode is "I" and the output mode is "L". + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + self.load() + + if isinstance(lut, ImagePointHandler): + return lut.point(self) + + if callable(lut): + # if it isn't a list, it should be a function + if self.mode in ("I", "I;16", "F"): + # check if the function can be used with point_transform + # UNDONE wiredfool -- I think this prevents us from ever doing + # a gamma function point transform on > 8bit images. + scale, offset = _getscaleoffset(lut) # type: ignore[arg-type] + return self._new(self.im.point_transform(scale, offset)) + # for other modes, convert the function to a table + flatLut = [lut(i) for i in range(256)] * self.im.bands # type: ignore[arg-type] + else: + flatLut = lut + + if self.mode == "F": + # FIXME: _imaging returns a confusing error message for this case + msg = "point operation not supported for this mode" + raise ValueError(msg) + + if mode != "F": + flatLut = [round(i) for i in flatLut] + return self._new(self.im.point(flatLut, mode)) + + def putalpha(self, alpha: Image | int) -> None: + """ + Adds or replaces the alpha layer in this image. If the image + does not have an alpha layer, it's converted to "LA" or "RGBA". + The new layer must be either "L" or "1". + + :param alpha: The new alpha layer. This can either be an "L" or "1" + image having the same size as this image, or an integer. + """ + + self._ensure_mutable() + + if self.mode not in ("LA", "PA", "RGBA"): + # attempt to promote self to a matching alpha mode + try: + mode = getmodebase(self.mode) + "A" + try: + self.im.setmode(mode) + except (AttributeError, ValueError) as e: + # do things the hard way + im = self.im.convert(mode) + if im.mode not in ("LA", "PA", "RGBA"): + msg = "alpha channel could not be added" + raise ValueError(msg) from e # sanity check + self.im = im + self._mode = self.im.mode + except KeyError as e: + msg = "illegal image mode" + raise ValueError(msg) from e + + if self.mode in ("LA", "PA"): + band = 1 + else: + band = 3 + + if isinstance(alpha, Image): + # alpha layer + if alpha.mode not in ("1", "L"): + msg = "illegal image mode" + raise ValueError(msg) + alpha.load() + if alpha.mode == "1": + alpha = alpha.convert("L") + else: + # constant alpha + try: + self.im.fillband(band, alpha) + except (AttributeError, ValueError): + # do things the hard way + alpha = new("L", self.size, alpha) + else: + return + + self.im.putband(alpha.im, band) + + def putdata( + self, + data: Sequence[float] | Sequence[Sequence[int]] | core.ImagingCore | NumpyArray, + scale: float = 1.0, + offset: float = 0.0, + ) -> None: + """ + Copies pixel data from a flattened sequence object into the image. The + values should start at the upper left corner (0, 0), continue to the + end of the line, followed directly by the first value of the second + line, and so on. Data will be read until either the image or the + sequence ends. The scale and offset values are used to adjust the + sequence values: **pixel = value*scale + offset**. + + :param data: A flattened sequence object. See :ref:`colors` for more + information about values. + :param scale: An optional scale value. The default is 1.0. + :param offset: An optional offset value. The default is 0.0. + """ + + self._ensure_mutable() + + self.im.putdata(data, scale, offset) + + def putpalette( + self, + data: ImagePalette.ImagePalette | bytes | Sequence[int], + rawmode: str = "RGB", + ) -> None: + """ + Attaches a palette to this image. The image must be a "P", "PA", "L" + or "LA" image. + + The palette sequence must contain at most 256 colors, made up of one + integer value for each channel in the raw mode. + For example, if the raw mode is "RGB", then it can contain at most 768 + values, made up of red, green and blue values for the corresponding pixel + index in the 256 colors. + If the raw mode is "RGBA", then it can contain at most 1024 values, + containing red, green, blue and alpha values. + + Alternatively, an 8-bit string may be used instead of an integer sequence. + + :param data: A palette sequence (either a list or a string). + :param rawmode: The raw mode of the palette. Either "RGB", "RGBA", "CMYK", or a + mode that can be transformed to one of those modes (e.g. "R", "RGBA;L"). + """ + from . import ImagePalette + + if self.mode not in ("L", "LA", "P", "PA"): + msg = "illegal image mode" + raise ValueError(msg) + if isinstance(data, ImagePalette.ImagePalette): + if data.rawmode is not None: + palette = ImagePalette.raw(data.rawmode, data.palette) + else: + palette = ImagePalette.ImagePalette(palette=data.palette) + palette.dirty = 1 + else: + if not isinstance(data, bytes): + data = bytes(data) + palette = ImagePalette.raw(rawmode, data) + self._mode = "PA" if "A" in self.mode else "P" + self.palette = palette + if rawmode.startswith("CMYK"): + self.palette.mode = "CMYK" + elif "A" in rawmode: + self.palette.mode = "RGBA" + else: + self.palette.mode = "RGB" + self.load() # install new palette + + def putpixel( + self, xy: tuple[int, int], value: float | tuple[int, ...] | list[int] + ) -> None: + """ + Modifies the pixel at the given position. The color is given as + a single numerical value for single-band images, and a tuple for + multi-band images. In addition to this, RGB and RGBA tuples are + accepted for P and PA images. See :ref:`colors` for more information. + + Note that this method is relatively slow. For more extensive changes, + use :py:meth:`~PIL.Image.Image.paste` or the :py:mod:`~PIL.ImageDraw` + module instead. + + See: + + * :py:meth:`~PIL.Image.Image.paste` + * :py:meth:`~PIL.Image.Image.putdata` + * :py:mod:`~PIL.ImageDraw` + + :param xy: The pixel coordinate, given as (x, y). See + :ref:`coordinate-system`. + :param value: The pixel value. + """ + + self._ensure_mutable() + + if ( + self.mode in ("P", "PA") + and isinstance(value, (list, tuple)) + and len(value) in [3, 4] + ): + # RGB or RGBA value for a P or PA image + if self.mode == "PA": + alpha = value[3] if len(value) == 4 else 255 + value = value[:3] + assert self.palette is not None + palette_index = self.palette.getcolor(tuple(value), self) + value = (palette_index, alpha) if self.mode == "PA" else palette_index + return self.im.putpixel(xy, value) + + def remap_palette( + self, dest_map: list[int], source_palette: bytes | bytearray | None = None + ) -> Image: + """ + Rewrites the image to reorder the palette. + + :param dest_map: A list of indexes into the original palette. + e.g. ``[1,0]`` would swap a two item palette, and ``list(range(256))`` + is the identity transform. + :param source_palette: Bytes or None. + :returns: An :py:class:`~PIL.Image.Image` object. + + """ + from . import ImagePalette + + if self.mode not in ("L", "P"): + msg = "illegal image mode" + raise ValueError(msg) + + bands = 3 + palette_mode = "RGB" + if source_palette is None: + if self.mode == "P": + self.load() + palette_mode = self.im.getpalettemode() + if palette_mode == "RGBA": + bands = 4 + source_palette = self.im.getpalette(palette_mode, palette_mode) + else: # L-mode + source_palette = bytearray(i // 3 for i in range(768)) + elif len(source_palette) > 768: + bands = 4 + palette_mode = "RGBA" + + palette_bytes = b"" + new_positions = [0] * 256 + + # pick only the used colors from the palette + for i, oldPosition in enumerate(dest_map): + palette_bytes += source_palette[ + oldPosition * bands : oldPosition * bands + bands + ] + new_positions[oldPosition] = i + + # replace the palette color id of all pixel with the new id + + # Palette images are [0..255], mapped through a 1 or 3 + # byte/color map. We need to remap the whole image + # from palette 1 to palette 2. New_positions is + # an array of indexes into palette 1. Palette 2 is + # palette 1 with any holes removed. + + # We're going to leverage the convert mechanism to use the + # C code to remap the image from palette 1 to palette 2, + # by forcing the source image into 'L' mode and adding a + # mapping 'L' mode palette, then converting back to 'L' + # sans palette thus converting the image bytes, then + # assigning the optimized RGB palette. + + # perf reference, 9500x4000 gif, w/~135 colors + # 14 sec prepatch, 1 sec postpatch with optimization forced. + + mapping_palette = bytearray(new_positions) + + m_im = self.copy() + m_im._mode = "P" + + m_im.palette = ImagePalette.ImagePalette( + palette_mode, palette=mapping_palette * bands + ) + # possibly set palette dirty, then + # m_im.putpalette(mapping_palette, 'L') # converts to 'P' + # or just force it. + # UNDONE -- this is part of the general issue with palettes + m_im.im.putpalette(palette_mode, palette_mode + ";L", m_im.palette.tobytes()) + + m_im = m_im.convert("L") + + m_im.putpalette(palette_bytes, palette_mode) + m_im.palette = ImagePalette.ImagePalette(palette_mode, palette=palette_bytes) + + if "transparency" in self.info: + try: + m_im.info["transparency"] = dest_map.index(self.info["transparency"]) + except ValueError: + if "transparency" in m_im.info: + del m_im.info["transparency"] + + return m_im + + def _get_safe_box( + self, + size: tuple[int, int], + resample: Resampling, + box: tuple[float, float, float, float], + ) -> tuple[int, int, int, int]: + """Expands the box so it includes adjacent pixels + that may be used by resampling with the given resampling filter. + """ + filter_support = _filters_support[resample] - 0.5 + scale_x = (box[2] - box[0]) / size[0] + scale_y = (box[3] - box[1]) / size[1] + support_x = filter_support * scale_x + support_y = filter_support * scale_y + + return ( + max(0, int(box[0] - support_x)), + max(0, int(box[1] - support_y)), + min(self.size[0], math.ceil(box[2] + support_x)), + min(self.size[1], math.ceil(box[3] + support_y)), + ) + + def resize( + self, + size: tuple[int, int] | list[int] | NumpyArray, + resample: int | None = None, + box: tuple[float, float, float, float] | None = None, + reducing_gap: float | None = None, + ) -> Image: + """ + Returns a resized copy of this image. + + :param size: The requested size in pixels, as a tuple or array: + (width, height). + :param resample: An optional resampling filter. This can be + one of :py:data:`Resampling.NEAREST`, :py:data:`Resampling.BOX`, + :py:data:`Resampling.BILINEAR`, :py:data:`Resampling.HAMMING`, + :py:data:`Resampling.BICUBIC` or :py:data:`Resampling.LANCZOS`. + If the image has mode "1" or "P", it is always set to + :py:data:`Resampling.NEAREST`. Otherwise, the default filter is + :py:data:`Resampling.BICUBIC`. See: :ref:`concept-filters`. + :param box: An optional 4-tuple of floats providing + the source image region to be scaled. + The values must be within (0, 0, width, height) rectangle. + If omitted or None, the entire source is used. + :param reducing_gap: Apply optimization by resizing the image + in two steps. First, reducing the image by integer times + using :py:meth:`~PIL.Image.Image.reduce`. + Second, resizing using regular resampling. The last step + changes size no less than by ``reducing_gap`` times. + ``reducing_gap`` may be None (no first step is performed) + or should be greater than 1.0. The bigger ``reducing_gap``, + the closer the result to the fair resampling. + The smaller ``reducing_gap``, the faster resizing. + With ``reducing_gap`` greater or equal to 3.0, the result is + indistinguishable from fair resampling in most cases. + The default value is None (no optimization). + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if resample is None: + resample = Resampling.BICUBIC + elif resample not in ( + Resampling.NEAREST, + Resampling.BILINEAR, + Resampling.BICUBIC, + Resampling.LANCZOS, + Resampling.BOX, + Resampling.HAMMING, + ): + msg = f"Unknown resampling filter ({resample})." + + filters = [ + f"{filter[1]} ({filter[0]})" + for filter in ( + (Resampling.NEAREST, "Image.Resampling.NEAREST"), + (Resampling.LANCZOS, "Image.Resampling.LANCZOS"), + (Resampling.BILINEAR, "Image.Resampling.BILINEAR"), + (Resampling.BICUBIC, "Image.Resampling.BICUBIC"), + (Resampling.BOX, "Image.Resampling.BOX"), + (Resampling.HAMMING, "Image.Resampling.HAMMING"), + ) + ] + msg += f" Use {', '.join(filters[:-1])} or {filters[-1]}" + raise ValueError(msg) + + if reducing_gap is not None and reducing_gap < 1.0: + msg = "reducing_gap must be 1.0 or greater" + raise ValueError(msg) + + if box is None: + box = (0, 0) + self.size + + size = tuple(size) + if self.size == size and box == (0, 0) + self.size: + return self.copy() + + if self.mode in ("1", "P"): + resample = Resampling.NEAREST + + if self.mode in ["LA", "RGBA"] and resample != Resampling.NEAREST: + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + im = im.resize(size, resample, box) + return im.convert(self.mode) + + self.load() + + if reducing_gap is not None and resample != Resampling.NEAREST: + factor_x = int((box[2] - box[0]) / size[0] / reducing_gap) or 1 + factor_y = int((box[3] - box[1]) / size[1] / reducing_gap) or 1 + if factor_x > 1 or factor_y > 1: + reduce_box = self._get_safe_box(size, cast(Resampling, resample), box) + factor = (factor_x, factor_y) + self = ( + self.reduce(factor, box=reduce_box) + if callable(self.reduce) + else Image.reduce(self, factor, box=reduce_box) + ) + box = ( + (box[0] - reduce_box[0]) / factor_x, + (box[1] - reduce_box[1]) / factor_y, + (box[2] - reduce_box[0]) / factor_x, + (box[3] - reduce_box[1]) / factor_y, + ) + + if self.size[1] > self.size[0] * 100 and size[1] < self.size[1]: + im = self.im.resize( + (self.size[0], size[1]), resample, (0, box[1], self.size[0], box[3]) + ) + im = im.resize(size, resample, (box[0], 0, box[2], size[1])) + else: + im = self.im.resize(size, resample, box) + return self._new(im) + + def reduce( + self, + factor: int | tuple[int, int], + box: tuple[int, int, int, int] | None = None, + ) -> Image: + """ + Returns a copy of the image reduced ``factor`` times. + If the size of the image is not dividable by ``factor``, + the resulting size will be rounded up. + + :param factor: A greater than 0 integer or tuple of two integers + for width and height separately. + :param box: An optional 4-tuple of ints providing + the source image region to be reduced. + The values must be within ``(0, 0, width, height)`` rectangle. + If omitted or ``None``, the entire source is used. + """ + if not isinstance(factor, (list, tuple)): + factor = (factor, factor) + + if box is None: + box = (0, 0) + self.size + + if factor == (1, 1) and box == (0, 0) + self.size: + return self.copy() + + if self.mode in ["LA", "RGBA"]: + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + im = im.reduce(factor, box) + return im.convert(self.mode) + + self.load() + + return self._new(self.im.reduce(factor, box)) + + def rotate( + self, + angle: float, + resample: Resampling = Resampling.NEAREST, + expand: int | bool = False, + center: tuple[float, float] | None = None, + translate: tuple[int, int] | None = None, + fillcolor: float | tuple[float, ...] | str | None = None, + ) -> Image: + """ + Returns a rotated copy of this image. This method returns a + copy of this image, rotated the given number of degrees counter + clockwise around its centre. + + :param angle: In degrees counter clockwise. + :param resample: An optional resampling filter. This can be + one of :py:data:`Resampling.NEAREST` (use nearest neighbour), + :py:data:`Resampling.BILINEAR` (linear interpolation in a 2x2 + environment), or :py:data:`Resampling.BICUBIC` (cubic spline + interpolation in a 4x4 environment). If omitted, or if the image has + mode "1" or "P", it is set to :py:data:`Resampling.NEAREST`. + See :ref:`concept-filters`. + :param expand: Optional expansion flag. If true, expands the output + image to make it large enough to hold the entire rotated image. + If false or omitted, make the output image the same size as the + input image. Note that the expand flag assumes rotation around + the center and no translation. + :param center: Optional center of rotation (a 2-tuple). Origin is + the upper left corner. Default is the center of the image. + :param translate: An optional post-rotate translation (a 2-tuple). + :param fillcolor: An optional color for area outside the rotated image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + angle = angle % 360.0 + + # Fast paths regardless of filter, as long as we're not + # translating or changing the center. + if not (center or translate): + if angle == 0: + return self.copy() + if angle == 180: + return self.transpose(Transpose.ROTATE_180) + if angle in (90, 270) and (expand or self.width == self.height): + return self.transpose( + Transpose.ROTATE_90 if angle == 90 else Transpose.ROTATE_270 + ) + + # Calculate the affine matrix. Note that this is the reverse + # transformation (from destination image to source) because we + # want to interpolate the (discrete) destination pixel from + # the local area around the (floating) source pixel. + + # The matrix we actually want (note that it operates from the right): + # (1, 0, tx) (1, 0, cx) ( cos a, sin a, 0) (1, 0, -cx) + # (0, 1, ty) * (0, 1, cy) * (-sin a, cos a, 0) * (0, 1, -cy) + # (0, 0, 1) (0, 0, 1) ( 0, 0, 1) (0, 0, 1) + + # The reverse matrix is thus: + # (1, 0, cx) ( cos -a, sin -a, 0) (1, 0, -cx) (1, 0, -tx) + # (0, 1, cy) * (-sin -a, cos -a, 0) * (0, 1, -cy) * (0, 1, -ty) + # (0, 0, 1) ( 0, 0, 1) (0, 0, 1) (0, 0, 1) + + # In any case, the final translation may be updated at the end to + # compensate for the expand flag. + + w, h = self.size + + if translate is None: + post_trans = (0, 0) + else: + post_trans = translate + if center is None: + center = (w / 2, h / 2) + + angle = -math.radians(angle) + matrix = [ + round(math.cos(angle), 15), + round(math.sin(angle), 15), + 0.0, + round(-math.sin(angle), 15), + round(math.cos(angle), 15), + 0.0, + ] + + def transform(x: float, y: float, matrix: list[float]) -> tuple[float, float]: + a, b, c, d, e, f = matrix + return a * x + b * y + c, d * x + e * y + f + + matrix[2], matrix[5] = transform( + -center[0] - post_trans[0], -center[1] - post_trans[1], matrix + ) + matrix[2] += center[0] + matrix[5] += center[1] + + if expand: + # calculate output size + xx = [] + yy = [] + for x, y in ((0, 0), (w, 0), (w, h), (0, h)): + transformed_x, transformed_y = transform(x, y, matrix) + xx.append(transformed_x) + yy.append(transformed_y) + nw = math.ceil(max(xx)) - math.floor(min(xx)) + nh = math.ceil(max(yy)) - math.floor(min(yy)) + + # We multiply a translation matrix from the right. Because of its + # special form, this is the same as taking the image of the + # translation vector as new translation vector. + matrix[2], matrix[5] = transform(-(nw - w) / 2.0, -(nh - h) / 2.0, matrix) + w, h = nw, nh + + return self.transform( + (w, h), Transform.AFFINE, matrix, resample, fillcolor=fillcolor + ) + + def save( + self, fp: StrOrBytesPath | IO[bytes], format: str | None = None, **params: Any + ) -> None: + """ + Saves this image under the given filename. If no format is + specified, the format to use is determined from the filename + extension, if possible. + + Keyword options can be used to provide additional instructions + to the writer. If a writer doesn't recognise an option, it is + silently ignored. The available options are described in the + :doc:`image format documentation + <../handbook/image-file-formats>` for each writer. + + You can use a file object instead of a filename. In this case, + you must always specify the format. The file object must + implement the ``seek``, ``tell``, and ``write`` + methods, and be opened in binary mode. + + :param fp: A filename (string), os.PathLike object or file object. + :param format: Optional format override. If omitted, the + format to use is determined from the filename extension. + If a file object was used instead of a filename, this + parameter should always be used. + :param params: Extra parameters to the image writer. These can also be + set on the image itself through ``encoderinfo``. This is useful when + saving multiple images:: + + # Saving XMP data to a single image + from PIL import Image + red = Image.new("RGB", (1, 1), "#f00") + red.save("out.mpo", xmp=b"test") + + # Saving XMP data to the second frame of an image + from PIL import Image + black = Image.new("RGB", (1, 1)) + red = Image.new("RGB", (1, 1), "#f00") + red.encoderinfo = {"xmp": b"test"} + black.save("out.mpo", save_all=True, append_images=[red]) + :returns: None + :exception ValueError: If the output format could not be determined + from the file name. Use the format option to solve this. + :exception OSError: If the file could not be written. The file + may have been created, and may contain partial data. + """ + + filename: str | bytes = "" + open_fp = False + if is_path(fp): + filename = os.fspath(fp) + open_fp = True + elif fp == sys.stdout: + try: + fp = sys.stdout.buffer + except AttributeError: + pass + if not filename and hasattr(fp, "name") and is_path(fp.name): + # only set the name for metadata purposes + filename = os.fspath(fp.name) + + if format: + preinit() + else: + filename_ext = os.path.splitext(filename)[1].lower() + ext = ( + filename_ext.decode() + if isinstance(filename_ext, bytes) + else filename_ext + ) + + # Try importing only the plugin for this extension first + if not _import_plugin_for_extension(ext): + preinit() + + if ext not in EXTENSION: + init() + try: + format = EXTENSION[ext] + except KeyError as e: + msg = f"unknown file extension: {ext}" + raise ValueError(msg) from e + + from . import ImageFile + + # may mutate self! + if isinstance(self, ImageFile.ImageFile) and os.path.abspath( + filename + ) == os.path.abspath(self.filename): + self._ensure_mutable() + else: + self.load() + + save_all = params.pop("save_all", None) + self._default_encoderinfo = params + encoderinfo = getattr(self, "encoderinfo", {}) + self._attach_default_encoderinfo(self) + self.encoderconfig: tuple[Any, ...] = () + + if format.upper() not in SAVE: + init() + if save_all or ( + save_all is None + and params.get("append_images") + and format.upper() in SAVE_ALL + ): + save_handler = SAVE_ALL[format.upper()] + else: + save_handler = SAVE[format.upper()] + + created = False + if open_fp: + created = not os.path.exists(filename) + if params.get("append", False): + # Open also for reading ("+"), because TIFF save_all + # writer needs to go back and edit the written data. + fp = builtins.open(filename, "r+b") + else: + fp = builtins.open(filename, "w+b") + else: + fp = cast(IO[bytes], fp) + + try: + save_handler(self, fp, filename) + except Exception: + if open_fp: + fp.close() + if created: + try: + os.remove(filename) + except PermissionError: + pass + raise + finally: + self.encoderinfo = encoderinfo + if open_fp: + fp.close() + + def _attach_default_encoderinfo(self, im: Image) -> dict[str, Any]: + encoderinfo = getattr(self, "encoderinfo", {}) + self.encoderinfo = {**im._default_encoderinfo, **encoderinfo} + return encoderinfo + + def seek(self, frame: int) -> None: + """ + Seeks to the given frame in this sequence file. If you seek + beyond the end of the sequence, the method raises an + ``EOFError`` exception. When a sequence file is opened, the + library automatically seeks to frame 0. + + See :py:meth:`~PIL.Image.Image.tell`. + + If defined, :attr:`~PIL.Image.Image.n_frames` refers to the + number of available frames. + + :param frame: Frame number, starting at 0. + :exception EOFError: If the call attempts to seek beyond the end + of the sequence. + """ + + # overridden by file handlers + if frame != 0: + msg = "no more images in file" + raise EOFError(msg) + + def show(self, title: str | None = None) -> None: + """ + Displays this image. This method is mainly intended for debugging purposes. + + This method calls :py:func:`PIL.ImageShow.show` internally. You can use + :py:func:`PIL.ImageShow.register` to override its default behaviour. + + The image is first saved to a temporary file. By default, it will be in + PNG format. + + On Unix, the image is then opened using the **xdg-open**, **display**, + **gm**, **eog** or **xv** utility, depending on which one can be found. + + On macOS, the image is opened with the native Preview application. + + On Windows, the image is opened with the standard PNG display utility. + + :param title: Optional title to use for the image window, where possible. + """ + + from . import ImageShow + + ImageShow.show(self, title) + + def split(self) -> tuple[Image, ...]: + """ + Split this image into individual bands. This method returns a + tuple of individual image bands from an image. For example, + splitting an "RGB" image creates three new images each + containing a copy of one of the original bands (red, green, + blue). + + If you need only one band, :py:meth:`~PIL.Image.Image.getchannel` + method can be more convenient and faster. + + :returns: A tuple containing bands. + """ + + self.load() + if self.im.bands == 1: + return (self.copy(),) + return tuple(map(self._new, self.im.split())) + + def getchannel(self, channel: int | str) -> Image: + """ + Returns an image containing a single channel of the source image. + + :param channel: What channel to return. Could be index + (0 for "R" channel of "RGB") or channel name + ("A" for alpha channel of "RGBA"). + :returns: An image in "L" mode. + + .. versionadded:: 4.3.0 + """ + self.load() + + if isinstance(channel, str): + try: + channel = self.getbands().index(channel) + except ValueError as e: + msg = f'The image has no channel "{channel}"' + raise ValueError(msg) from e + + return self._new(self.im.getband(channel)) + + def tell(self) -> int: + """ + Returns the current frame number. See :py:meth:`~PIL.Image.Image.seek`. + + If defined, :attr:`~PIL.Image.Image.n_frames` refers to the + number of available frames. + + :returns: Frame number, starting with 0. + """ + return 0 + + def thumbnail( + self, + size: tuple[float, float], + resample: Resampling = Resampling.BICUBIC, + reducing_gap: float | None = 2.0, + ) -> None: + """ + Make this image into a thumbnail. This method modifies the + image to contain a thumbnail version of itself, no larger than + the given size. This method calculates an appropriate thumbnail + size to preserve the aspect of the image, calls the + :py:meth:`~PIL.Image.Image.draft` method to configure the file reader + (where applicable), and finally resizes the image. + + Note that this function modifies the :py:class:`~PIL.Image.Image` + object in place. If you need to use the full resolution image as well, + apply this method to a :py:meth:`~PIL.Image.Image.copy` of the original + image. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param resample: Optional resampling filter. This can be one + of :py:data:`Resampling.NEAREST`, :py:data:`Resampling.BOX`, + :py:data:`Resampling.BILINEAR`, :py:data:`Resampling.HAMMING`, + :py:data:`Resampling.BICUBIC` or :py:data:`Resampling.LANCZOS`. + If omitted, it defaults to :py:data:`Resampling.BICUBIC`. + (was :py:data:`Resampling.NEAREST` prior to version 2.5.0). + See: :ref:`concept-filters`. + :param reducing_gap: Apply optimization by resizing the image + in two steps. First, reducing the image by integer times + using :py:meth:`~PIL.Image.Image.reduce` or + :py:meth:`~PIL.Image.Image.draft` for JPEG images. + Second, resizing using regular resampling. The last step + changes size no less than by ``reducing_gap`` times. + ``reducing_gap`` may be None (no first step is performed) + or should be greater than 1.0. The bigger ``reducing_gap``, + the closer the result to the fair resampling. + The smaller ``reducing_gap``, the faster resizing. + With ``reducing_gap`` greater or equal to 3.0, the result is + indistinguishable from fair resampling in most cases. + The default value is 2.0 (very close to fair resampling + while still being faster in many cases). + :returns: None + """ + + provided_size = tuple(map(math.floor, size)) + + def preserve_aspect_ratio() -> tuple[int, int] | None: + def round_aspect(number: float, key: Callable[[int], float]) -> int: + return max(min(math.floor(number), math.ceil(number), key=key), 1) + + x, y = provided_size + if x >= self.width and y >= self.height: + return None + + aspect = self.width / self.height + if x / y >= aspect: + x = round_aspect(y * aspect, key=lambda n: abs(aspect - n / y)) + else: + y = round_aspect( + x / aspect, key=lambda n: 0 if n == 0 else abs(aspect - x / n) + ) + return x, y + + preserved_size = preserve_aspect_ratio() + if preserved_size is None: + return + final_size = preserved_size + + box = None + if reducing_gap is not None: + res = self.draft( + None, (int(size[0] * reducing_gap), int(size[1] * reducing_gap)) + ) + if res is not None: + box = res[1] + + if self.size != final_size: + im = self.resize(final_size, resample, box=box, reducing_gap=reducing_gap) + + self.im = im.im + self._size = final_size + self._mode = self.im.mode + + self.readonly = 0 + + # FIXME: the different transform methods need further explanation + # instead of bloating the method docs, add a separate chapter. + def transform( + self, + size: tuple[int, int], + method: Transform | ImageTransformHandler | SupportsGetData, + data: Sequence[Any] | None = None, + resample: int = Resampling.NEAREST, + fill: int = 1, + fillcolor: float | tuple[float, ...] | str | None = None, + ) -> Image: + """ + Transforms this image. This method creates a new image with the + given size, and the same mode as the original, and copies data + to the new image using the given transform. + + :param size: The output size in pixels, as a 2-tuple: + (width, height). + :param method: The transformation method. This is one of + :py:data:`Transform.EXTENT` (cut out a rectangular subregion), + :py:data:`Transform.AFFINE` (affine transform), + :py:data:`Transform.PERSPECTIVE` (perspective transform), + :py:data:`Transform.QUAD` (map a quadrilateral to a rectangle), or + :py:data:`Transform.MESH` (map a number of source quadrilaterals + in one operation). + + It may also be an :py:class:`~PIL.Image.ImageTransformHandler` + object:: + + class Example(Image.ImageTransformHandler): + def transform(self, size, data, resample, fill=1): + # Return result + + Implementations of :py:class:`~PIL.Image.ImageTransformHandler` + for some of the :py:class:`Transform` methods are provided + in :py:mod:`~PIL.ImageTransform`. + + It may also be an object with a ``method.getdata`` method + that returns a tuple supplying new ``method`` and ``data`` values:: + + class Example: + def getdata(self): + method = Image.Transform.EXTENT + data = (0, 0, 100, 100) + return method, data + :param data: Extra data to the transformation method. + :param resample: Optional resampling filter. It can be one of + :py:data:`Resampling.NEAREST` (use nearest neighbour), + :py:data:`Resampling.BILINEAR` (linear interpolation in a 2x2 + environment), or :py:data:`Resampling.BICUBIC` (cubic spline + interpolation in a 4x4 environment). If omitted, or if the image + has mode "1" or "P", it is set to :py:data:`Resampling.NEAREST`. + See: :ref:`concept-filters`. + :param fill: If ``method`` is an + :py:class:`~PIL.Image.ImageTransformHandler` object, this is one of + the arguments passed to it. Otherwise, it is unused. + :param fillcolor: Optional fill color for the area outside the + transform in the output image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if self.mode in ("LA", "RGBA") and resample != Resampling.NEAREST: + return ( + self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + .transform(size, method, data, resample, fill, fillcolor) + .convert(self.mode) + ) + + if isinstance(method, ImageTransformHandler): + return method.transform(size, self, resample=resample, fill=fill) + + if hasattr(method, "getdata"): + # compatibility w. old-style transform objects + method, data = method.getdata() + + if data is None: + msg = "missing method data" + raise ValueError(msg) + + im = new(self.mode, size, fillcolor) + if self.mode == "P" and self.palette: + im.palette = self.palette.copy() + im.info = self.info.copy() + if method == Transform.MESH: + # list of quads + for box, quad in data: + im.__transformer( + box, self, Transform.QUAD, quad, resample, fillcolor is None + ) + else: + im.__transformer( + (0, 0) + size, self, method, data, resample, fillcolor is None + ) + + return im + + def __transformer( + self, + box: tuple[int, int, int, int], + image: Image, + method: Transform, + data: Sequence[float], + resample: int = Resampling.NEAREST, + fill: bool = True, + ) -> None: + w = box[2] - box[0] + h = box[3] - box[1] + + if method == Transform.AFFINE: + data = data[:6] + + elif method == Transform.EXTENT: + # convert extent to an affine transform + x0, y0, x1, y1 = data + xs = (x1 - x0) / w + ys = (y1 - y0) / h + method = Transform.AFFINE + data = (xs, 0, x0, 0, ys, y0) + + elif method == Transform.PERSPECTIVE: + data = data[:8] + + elif method == Transform.QUAD: + # quadrilateral warp. data specifies the four corners + # given as NW, SW, SE, and NE. + nw = data[:2] + sw = data[2:4] + se = data[4:6] + ne = data[6:8] + x0, y0 = nw + As = 1.0 / w + At = 1.0 / h + data = ( + x0, + (ne[0] - x0) * As, + (sw[0] - x0) * At, + (se[0] - sw[0] - ne[0] + x0) * As * At, + y0, + (ne[1] - y0) * As, + (sw[1] - y0) * At, + (se[1] - sw[1] - ne[1] + y0) * As * At, + ) + + else: + msg = "unknown transformation method" + raise ValueError(msg) + + if resample not in ( + Resampling.NEAREST, + Resampling.BILINEAR, + Resampling.BICUBIC, + ): + if resample in (Resampling.BOX, Resampling.HAMMING, Resampling.LANCZOS): + unusable: dict[int, str] = { + Resampling.BOX: "Image.Resampling.BOX", + Resampling.HAMMING: "Image.Resampling.HAMMING", + Resampling.LANCZOS: "Image.Resampling.LANCZOS", + } + msg = unusable[resample] + f" ({resample}) cannot be used." + else: + msg = f"Unknown resampling filter ({resample})." + + filters = [ + f"{filter[1]} ({filter[0]})" + for filter in ( + (Resampling.NEAREST, "Image.Resampling.NEAREST"), + (Resampling.BILINEAR, "Image.Resampling.BILINEAR"), + (Resampling.BICUBIC, "Image.Resampling.BICUBIC"), + ) + ] + msg += f" Use {', '.join(filters[:-1])} or {filters[-1]}" + raise ValueError(msg) + + image.load() + + self.load() + + if image.mode in ("1", "P"): + resample = Resampling.NEAREST + + self.im.transform(box, image.im, method, data, resample, fill) + + def transpose(self, method: Transpose) -> Image: + """ + Transpose image (flip or rotate in 90 degree steps) + + :param method: One of :py:data:`Transpose.FLIP_LEFT_RIGHT`, + :py:data:`Transpose.FLIP_TOP_BOTTOM`, :py:data:`Transpose.ROTATE_90`, + :py:data:`Transpose.ROTATE_180`, :py:data:`Transpose.ROTATE_270`, + :py:data:`Transpose.TRANSPOSE` or :py:data:`Transpose.TRANSVERSE`. + :returns: Returns a flipped or rotated copy of this image. + """ + + self.load() + return self._new(self.im.transpose(method)) + + def effect_spread(self, distance: int) -> Image: + """ + Randomly spread pixels in an image. + + :param distance: Distance to spread pixels. + """ + self.load() + return self._new(self.im.effect_spread(distance)) + + def toqimage(self) -> ImageQt.ImageQt: + """Returns a QImage copy of this image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.toqimage(self) + + def toqpixmap(self) -> ImageQt.QPixmap: + """Returns a QPixmap copy of this image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.toqpixmap(self) + + +# -------------------------------------------------------------------- +# Abstract handlers. + + +class ImagePointHandler(abc.ABC): + """ + Used as a mixin by point transforms + (for use with :py:meth:`~PIL.Image.Image.point`) + """ + + @abc.abstractmethod + def point(self, im: Image) -> Image: + pass + + +class ImageTransformHandler(abc.ABC): + """ + Used as a mixin by geometry transforms + (for use with :py:meth:`~PIL.Image.Image.transform`) + """ + + @abc.abstractmethod + def transform( + self, + size: tuple[int, int], + image: Image, + **options: Any, + ) -> Image: + pass + + +# -------------------------------------------------------------------- +# Factories + + +def _check_size(size: Any) -> None: + """ + Common check to enforce type and sanity check on size tuples + + :param size: Should be a 2 tuple of (width, height) + :returns: None, or raises a ValueError + """ + + if not isinstance(size, (list, tuple)): + msg = "Size must be a list or tuple" + raise ValueError(msg) + if len(size) != 2: + msg = "Size must be a sequence of length 2" + raise ValueError(msg) + if size[0] < 0 or size[1] < 0: + msg = "Width and height must be >= 0" + raise ValueError(msg) + + +def new( + mode: str, + size: tuple[int, int] | list[int], + color: float | tuple[float, ...] | str | None = 0, +) -> Image: + """ + Creates a new image with the given mode and size. + + :param mode: The mode to use for the new image. See: + :ref:`concept-modes`. + :param size: A 2-tuple, containing (width, height) in pixels. + :param color: What color to use for the image. Default is black. If given, + this should be a single integer or floating point value for single-band + modes, and a tuple for multi-band modes (one value per band). When + creating RGB or HSV images, you can also use color strings as supported + by the ImageColor module. See :ref:`colors` for more information. If the + color is None, the image is not initialised. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + _check_size(size) + + if color is None: + # don't initialize + return Image()._new(core.new(mode, size)) + + if isinstance(color, str): + # css3-style specifier + + from . import ImageColor + + color = ImageColor.getcolor(color, mode) + + im = Image() + if ( + mode == "P" + and isinstance(color, (list, tuple)) + and all(isinstance(i, int) for i in color) + ): + color_ints: tuple[int, ...] = cast(tuple[int, ...], tuple(color)) + if len(color_ints) == 3 or len(color_ints) == 4: + # RGB or RGBA value for a P image + from . import ImagePalette + + im.palette = ImagePalette.ImagePalette() + color = im.palette.getcolor(color_ints) + return im._new(core.fill(mode, size, color)) + + +def frombytes( + mode: str, + size: tuple[int, int], + data: bytes | bytearray | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, +) -> Image: + """ + Creates a copy of an image memory from pixel data in a buffer. + + In its simplest form, this function takes three arguments + (mode, size, and unpacked pixel data). + + You can also use any pixel decoder supported by PIL. For more + information on available decoders, see the section + :ref:`Writing Your Own File Codec <file-codecs>`. + + Note that this function decodes pixel data only, not entire images. + If you have an entire image in a string, wrap it in a + :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load + it. + + :param mode: The image mode. See: :ref:`concept-modes`. + :param size: The image size. + :param data: A byte buffer containing raw data for the given mode. + :param decoder_name: What decoder to use. + :param args: Additional parameters for the given decoder. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + _check_size(size) + + im = new(mode, size) + if im.width != 0 and im.height != 0: + decoder_args: Any = args + if len(decoder_args) == 1 and isinstance(decoder_args[0], tuple): + # may pass tuple instead of argument list + decoder_args = decoder_args[0] + + if decoder_name == "raw" and decoder_args == (): + decoder_args = mode + + im.frombytes(data, decoder_name, decoder_args) + return im + + +def frombuffer( + mode: str, + size: tuple[int, int], + data: bytes | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, +) -> Image: + """ + Creates an image memory referencing pixel data in a byte buffer. + + This function is similar to :py:func:`~PIL.Image.frombytes`, but uses data + in the byte buffer, where possible. This means that changes to the + original buffer object are reflected in this image). Not all modes can + share memory; supported modes include "L", "RGBX", "RGBA", and "CMYK". + + Note that this function decodes pixel data only, not entire images. + If you have an entire image file in a string, wrap it in a + :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load it. + + The default parameters used for the "raw" decoder differs from that used for + :py:func:`~PIL.Image.frombytes`. This is a bug, and will probably be fixed in a + future release. The current release issues a warning if you do this; to disable + the warning, you should provide the full set of parameters. See below for details. + + :param mode: The image mode. See: :ref:`concept-modes`. + :param size: The image size. + :param data: A bytes or other buffer object containing raw + data for the given mode. + :param decoder_name: What decoder to use. + :param args: Additional parameters for the given decoder. For the + default encoder ("raw"), it's recommended that you provide the + full set of parameters:: + + frombuffer(mode, size, data, "raw", mode, 0, 1) + + :returns: An :py:class:`~PIL.Image.Image` object. + + .. versionadded:: 1.1.4 + """ + + _check_size(size) + + # may pass tuple instead of argument list + if len(args) == 1 and isinstance(args[0], tuple): + args = args[0] + + if decoder_name == "raw": + if args == (): + args = mode, 0, 1 + if args[0] in _MAPMODES: + im = new(mode, (0, 0)) + im = im._new(core.map_buffer(data, size, decoder_name, 0, args)) + if mode == "P": + from . import ImagePalette + + im.palette = ImagePalette.ImagePalette("RGB", im.im.getpalette("RGB")) + im.readonly = 1 + return im + + return frombytes(mode, size, data, decoder_name, args) + + +class SupportsArrayInterface(Protocol): + """ + An object that has an ``__array_interface__`` dictionary. + """ + + @property + def __array_interface__(self) -> dict[str, Any]: + raise NotImplementedError() + + +class SupportsArrowArrayInterface(Protocol): + """ + An object that has an ``__arrow_c_array__`` method corresponding to the arrow c + data interface. + """ + + def __arrow_c_array__( + self, requested_schema: "PyCapsule" = None # type: ignore[name-defined] # noqa: F821, UP037 + ) -> tuple["PyCapsule", "PyCapsule"]: # type: ignore[name-defined] # noqa: F821, UP037 + raise NotImplementedError() + + +def fromarray(obj: SupportsArrayInterface, mode: str | None = None) -> Image: + """ + Creates an image memory from an object exporting the array interface + (using the buffer protocol):: + + from PIL import Image + import numpy as np + a = np.zeros((5, 5)) + im = Image.fromarray(a) + + If ``obj`` is not contiguous, then the ``tobytes`` method is called + and :py:func:`~PIL.Image.frombuffer` is used. + + In the case of NumPy, be aware that Pillow modes do not always correspond + to NumPy dtypes. Pillow modes only offer 1-bit pixels, 8-bit pixels, + 32-bit signed integer pixels, and 32-bit floating point pixels. + + Pillow images can also be converted to arrays:: + + from PIL import Image + import numpy as np + im = Image.open("hopper.jpg") + a = np.asarray(im) + + When converting Pillow images to arrays however, only pixel values are + transferred. This means that P and PA mode images will lose their palette. + + :param obj: Object with array interface + :param mode: Optional mode to use when reading ``obj``. Since pixel values do not + contain information about palettes or color spaces, this can be used to place + grayscale L mode data within a P mode image, or read RGB data as YCbCr for + example. + + See: :ref:`concept-modes` for general information about modes. + :returns: An image object. + + .. versionadded:: 1.1.6 + """ + arr = obj.__array_interface__ + shape = arr["shape"] + ndim = len(shape) + strides = arr.get("strides", None) + try: + typekey = (1, 1) + shape[2:], arr["typestr"] + except KeyError as e: + if mode is not None: + typekey = None + color_modes: list[str] = [] + else: + msg = "Cannot handle this data type" + raise TypeError(msg) from e + if typekey is not None: + try: + typemode, rawmode, color_modes = _fromarray_typemap[typekey] + except KeyError as e: + typekey_shape, typestr = typekey + msg = f"Cannot handle this data type: {typekey_shape}, {typestr}" + raise TypeError(msg) from e + if mode is not None: + if mode != typemode and mode not in color_modes: + deprecate("'mode' parameter for changing data types", 13) + rawmode = mode + else: + mode = typemode + if mode in ["1", "L", "I", "P", "F"]: + ndmax = 2 + elif mode == "RGB": + ndmax = 3 + else: + ndmax = 4 + if ndim > ndmax: + msg = f"Too many dimensions: {ndim} > {ndmax}." + raise ValueError(msg) + + size = 1 if ndim == 1 else shape[1], shape[0] + if strides is not None: + if hasattr(obj, "tobytes"): + obj = obj.tobytes() + elif hasattr(obj, "tostring"): + obj = obj.tostring() + else: + msg = "'strides' requires either tobytes() or tostring()" + raise ValueError(msg) + + return frombuffer(mode, size, obj, "raw", rawmode, 0, 1) + + +def fromarrow( + obj: SupportsArrowArrayInterface, mode: str, size: tuple[int, int] +) -> Image: + """Creates an image with zero-copy shared memory from an object exporting + the arrow_c_array interface protocol:: + + from PIL import Image + import pyarrow as pa + arr = pa.array([0]*(5*5*4), type=pa.uint8()) + im = Image.fromarrow(arr, 'RGBA', (5, 5)) + + If the data representation of the ``obj`` is not compatible with + Pillow internal storage, a ValueError is raised. + + Pillow images can also be converted to Arrow objects:: + + from PIL import Image + import pyarrow as pa + im = Image.open('hopper.jpg') + arr = pa.array(im) + + As with array support, when converting Pillow images to arrays, + only pixel values are transferred. This means that P and PA mode + images will lose their palette. + + :param obj: Object with an arrow_c_array interface + :param mode: Image mode. + :param size: Image size. This must match the storage of the arrow object. + :returns: An Image object + + Note that according to the Arrow spec, both the producer and the + consumer should consider the exported array to be immutable, as + unsynchronized updates will potentially cause inconsistent data. + + See: :ref:`arrow-support` for more detailed information + + .. versionadded:: 11.2.1 + + """ + if not hasattr(obj, "__arrow_c_array__"): + msg = "arrow_c_array interface not found" + raise ValueError(msg) + + schema_capsule, array_capsule = obj.__arrow_c_array__() + _im = core.new_arrow(mode, size, schema_capsule, array_capsule) + if _im: + return Image()._new(_im) + + msg = "new_arrow returned None without an exception" + raise ValueError(msg) + + +def fromqimage(im: ImageQt.QImage) -> ImageFile.ImageFile: + """Creates an image instance from a QImage image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.fromqimage(im) + + +def fromqpixmap(im: ImageQt.QPixmap) -> ImageFile.ImageFile: + """Creates an image instance from a QPixmap image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.fromqpixmap(im) + + +_fromarray_typemap = { + # (shape, typestr) => mode, rawmode, color modes + # first two members of shape are set to one + ((1, 1), "|b1"): ("1", "1;8", []), + ((1, 1), "|u1"): ("L", "L", ["P"]), + ((1, 1), "|i1"): ("I", "I;8", []), + ((1, 1), "<u2"): ("I", "I;16", []), + ((1, 1), ">u2"): ("I", "I;16B", []), + ((1, 1), "<i2"): ("I", "I;16S", []), + ((1, 1), ">i2"): ("I", "I;16BS", []), + ((1, 1), "<u4"): ("I", "I;32", []), + ((1, 1), ">u4"): ("I", "I;32B", []), + ((1, 1), "<i4"): ("I", "I;32S", []), + ((1, 1), ">i4"): ("I", "I;32BS", []), + ((1, 1), "<f4"): ("F", "F;32F", []), + ((1, 1), ">f4"): ("F", "F;32BF", []), + ((1, 1), "<f8"): ("F", "F;64F", []), + ((1, 1), ">f8"): ("F", "F;64BF", []), + ((1, 1, 2), "|u1"): ("LA", "LA", ["La", "PA"]), + ((1, 1, 3), "|u1"): ("RGB", "RGB", ["YCbCr", "LAB", "HSV"]), + ((1, 1, 4), "|u1"): ("RGBA", "RGBA", ["RGBa", "RGBX", "CMYK"]), + # shortcuts: + ((1, 1), f"{_ENDIAN}i4"): ("I", "I", []), + ((1, 1), f"{_ENDIAN}f4"): ("F", "F", []), +} + + +def _decompression_bomb_check(size: tuple[int, int]) -> None: + if MAX_IMAGE_PIXELS is None: + return + + pixels = max(1, size[0]) * max(1, size[1]) + + if pixels > 2 * MAX_IMAGE_PIXELS: + msg = ( + f"Image size ({pixels} pixels) exceeds limit of {2 * MAX_IMAGE_PIXELS} " + "pixels, could be decompression bomb DOS attack." + ) + raise DecompressionBombError(msg) + + if pixels > MAX_IMAGE_PIXELS: + warnings.warn( + f"Image size ({pixels} pixels) exceeds limit of {MAX_IMAGE_PIXELS} pixels, " + "could be decompression bomb DOS attack.", + DecompressionBombWarning, + ) + + +def open( + fp: StrOrBytesPath | IO[bytes], + mode: Literal["r"] = "r", + formats: list[str] | tuple[str, ...] | None = None, +) -> ImageFile.ImageFile: + """ + Opens and identifies the given image file. + + This is a lazy operation; this function identifies the file, but + the file remains open and the actual image data is not read from + the file until you try to process the data (or call the + :py:meth:`~PIL.Image.Image.load` method). See + :py:func:`~PIL.Image.new`. See :ref:`file-handling`. + + :param fp: A filename (string), os.PathLike object or a file object. + The file object must implement ``file.read``, + ``file.seek``, and ``file.tell`` methods, + and be opened in binary mode. The file object will also seek to zero + before reading. + :param mode: The mode. If given, this argument must be "r". + :param formats: A list or tuple of formats to attempt to load the file in. + This can be used to restrict the set of formats checked. + Pass ``None`` to try all supported formats. You can print the set of + available formats by running ``python3 -m PIL`` or using + the :py:func:`PIL.features.pilinfo` function. + :returns: An :py:class:`~PIL.Image.Image` object. + :exception FileNotFoundError: If the file cannot be found. + :exception PIL.UnidentifiedImageError: If the image cannot be opened and + identified. + :exception ValueError: If the ``mode`` is not "r", or if a ``StringIO`` + instance is used for ``fp``. + :exception TypeError: If ``formats`` is not ``None``, a list or a tuple. + """ + + if mode != "r": + msg = f"bad mode {repr(mode)}" # type: ignore[unreachable] + raise ValueError(msg) + elif isinstance(fp, io.StringIO): + msg = ( # type: ignore[unreachable] + "StringIO cannot be used to open an image. " + "Binary data must be used instead." + ) + raise ValueError(msg) + + if formats is None: + formats = ID + elif not isinstance(formats, (list, tuple)): + msg = "formats must be a list or tuple" # type: ignore[unreachable] + raise TypeError(msg) + + exclusive_fp = False + filename: str | bytes = "" + if is_path(fp): + filename = os.fspath(fp) + fp = builtins.open(filename, "rb") + exclusive_fp = True + else: + fp = cast(IO[bytes], fp) + + try: + fp.seek(0) + except (AttributeError, io.UnsupportedOperation): + fp = io.BytesIO(fp.read()) + exclusive_fp = True + + prefix = fp.read(16) + + # Try to import just the plugin needed for this file extension + # before falling back to preinit() which imports common plugins + ext = os.path.splitext(filename)[1] if filename else "" + if not _import_plugin_for_extension(ext): + preinit() + + warning_messages: list[str] = [] + + def _open_core( + fp: IO[bytes], + filename: str | bytes, + prefix: bytes, + formats: list[str] | tuple[str, ...], + ) -> ImageFile.ImageFile | None: + for i in formats: + i = i.upper() + if i not in OPEN: + init() + try: + factory, accept = OPEN[i] + result = not accept or accept(prefix) + if isinstance(result, str): + warning_messages.append(result) + elif result: + fp.seek(0) + im = factory(fp, filename) + _decompression_bomb_check(im.size) + return im + except (SyntaxError, IndexError, TypeError, struct.error) as e: + if WARN_POSSIBLE_FORMATS: + warning_messages.append(i + " opening failed. " + str(e)) + except BaseException: + if exclusive_fp: + fp.close() + raise + return None + + im = _open_core(fp, filename, prefix, formats) + + if im is None and formats is ID: + # Try preinit (few common plugins) then init (all plugins) + for loader in (preinit, init): + checked_formats = ID.copy() + loader() + if formats != checked_formats: + im = _open_core( + fp, + filename, + prefix, + tuple(f for f in formats if f not in checked_formats), + ) + if im is not None: + break + + if im: + im._exclusive_fp = exclusive_fp + return im + + if exclusive_fp: + fp.close() + for message in warning_messages: + warnings.warn(message) + msg = "cannot identify image file %r" % (filename if filename else fp) + raise UnidentifiedImageError(msg) + + +# +# Image processing. + + +def alpha_composite(im1: Image, im2: Image) -> Image: + """ + Alpha composite im2 over im1. + + :param im1: The first image. Must have mode RGBA or LA. + :param im2: The second image. Must have the same mode and size as the first image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + im1.load() + im2.load() + return im1._new(core.alpha_composite(im1.im, im2.im)) + + +def blend(im1: Image, im2: Image, alpha: float) -> Image: + """ + Creates a new image by interpolating between two input images, using + a constant alpha:: + + out = image1 * (1.0 - alpha) + image2 * alpha + + :param im1: The first image. + :param im2: The second image. Must have the same mode and size as + the first image. + :param alpha: The interpolation alpha factor. If alpha is 0.0, a + copy of the first image is returned. If alpha is 1.0, a copy of + the second image is returned. There are no restrictions on the + alpha value. If necessary, the result is clipped to fit into + the allowed output range. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + im1.load() + im2.load() + return im1._new(core.blend(im1.im, im2.im, alpha)) + + +def composite(image1: Image, image2: Image, mask: Image) -> Image: + """ + Create composite image by blending images using a transparency mask. + + :param image1: The first image. + :param image2: The second image. Must have the same mode and + size as the first image. + :param mask: A mask image. This image can have mode + "1", "L", or "RGBA", and must have the same size as the + other two images. + """ + + image = image2.copy() + image.paste(image1, None, mask) + return image + + +def eval(image: Image, *args: Callable[[int], float]) -> Image: + """ + Applies the function (which should take one argument) to each pixel + in the given image. If the image has more than one band, the same + function is applied to each band. Note that the function is + evaluated once for each possible pixel value, so you cannot use + random components or other generators. + + :param image: The input image. + :param function: A function object, taking one integer argument. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + return image.point(args[0]) + + +def merge(mode: str, bands: Sequence[Image]) -> Image: + """ + Merge a set of single band images into a new multiband image. + + :param mode: The mode to use for the output image. See: + :ref:`concept-modes`. + :param bands: A sequence containing one single-band image for + each band in the output image. All bands must have the + same size. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if getmodebands(mode) != len(bands) or "*" in mode: + msg = "wrong number of bands" + raise ValueError(msg) + for band in bands[1:]: + if band.mode != getmodetype(mode): + msg = "mode mismatch" + raise ValueError(msg) + if band.size != bands[0].size: + msg = "size mismatch" + raise ValueError(msg) + for band in bands: + band.load() + return bands[0]._new(core.merge(mode, *[b.im for b in bands])) + + +# -------------------------------------------------------------------- +# Plugin registry + + +def register_open( + id: str, + factory: ( + Callable[[IO[bytes], str | bytes], ImageFile.ImageFile] + | type[ImageFile.ImageFile] + ), + accept: Callable[[bytes], bool | str] | None = None, +) -> None: + """ + Register an image file plugin. This function should not be used + in application code. + + :param id: An image format identifier. + :param factory: An image file factory method. + :param accept: An optional function that can be used to quickly + reject images having another format. + """ + id = id.upper() + if id not in ID: + ID.append(id) + OPEN[id] = factory, accept + + +def register_mime(id: str, mimetype: str) -> None: + """ + Registers an image MIME type by populating ``Image.MIME``. This function + should not be used in application code. + + ``Image.MIME`` provides a mapping from image format identifiers to mime + formats, but :py:meth:`~PIL.ImageFile.ImageFile.get_format_mimetype` can + provide a different result for specific images. + + :param id: An image format identifier. + :param mimetype: The image MIME type for this format. + """ + MIME[id.upper()] = mimetype + + +def register_save( + id: str, driver: Callable[[Image, IO[bytes], str | bytes], None] +) -> None: + """ + Registers an image save function. This function should not be + used in application code. + + :param id: An image format identifier. + :param driver: A function to save images in this format. + """ + SAVE[id.upper()] = driver + + +def register_save_all( + id: str, driver: Callable[[Image, IO[bytes], str | bytes], None] +) -> None: + """ + Registers an image function to save all the frames + of a multiframe format. This function should not be + used in application code. + + :param id: An image format identifier. + :param driver: A function to save images in this format. + """ + SAVE_ALL[id.upper()] = driver + + +def register_extension(id: str, extension: str) -> None: + """ + Registers an image extension. This function should not be + used in application code. + + :param id: An image format identifier. + :param extension: An extension used for this format. + """ + EXTENSION[extension.lower()] = id.upper() + + +def register_extensions(id: str, extensions: list[str]) -> None: + """ + Registers image extensions. This function should not be + used in application code. + + :param id: An image format identifier. + :param extensions: A list of extensions used for this format. + """ + for extension in extensions: + register_extension(id, extension) + + +def registered_extensions() -> dict[str, str]: + """ + Returns a dictionary containing all file extensions belonging + to registered plugins + """ + init() + return EXTENSION + + +def register_decoder(name: str, decoder: type[ImageFile.PyDecoder]) -> None: + """ + Registers an image decoder. This function should not be + used in application code. + + :param name: The name of the decoder + :param decoder: An ImageFile.PyDecoder object + + .. versionadded:: 4.1.0 + """ + DECODERS[name] = decoder + + +def register_encoder(name: str, encoder: type[ImageFile.PyEncoder]) -> None: + """ + Registers an image encoder. This function should not be + used in application code. + + :param name: The name of the encoder + :param encoder: An ImageFile.PyEncoder object + + .. versionadded:: 4.1.0 + """ + ENCODERS[name] = encoder + + +# -------------------------------------------------------------------- +# Simple display support. + + +def _show(image: Image, **options: Any) -> None: + from . import ImageShow + + deprecate("Image._show", 13, "ImageShow.show") + ImageShow.show(image, **options) + + +# -------------------------------------------------------------------- +# Effects + + +def effect_mandelbrot( + size: tuple[int, int], extent: tuple[float, float, float, float], quality: int +) -> Image: + """ + Generate a Mandelbrot set covering the given extent. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param extent: The extent to cover, as a 4-tuple: + (x0, y0, x1, y1). + :param quality: Quality. + """ + return Image()._new(core.effect_mandelbrot(size, extent, quality)) + + +def effect_noise(size: tuple[int, int], sigma: float) -> Image: + """ + Generate Gaussian noise centered around 128. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param sigma: Standard deviation of noise. + """ + return Image()._new(core.effect_noise(size, sigma)) + + +def linear_gradient(mode: str) -> Image: + """ + Generate 256x256 linear gradient from black to white, top to bottom. + + :param mode: Input mode. + """ + return Image()._new(core.linear_gradient(mode)) + + +def radial_gradient(mode: str) -> Image: + """ + Generate 256x256 radial gradient from black to white, centre to edge. + + :param mode: Input mode. + """ + return Image()._new(core.radial_gradient(mode)) + + +# -------------------------------------------------------------------- +# Resources + + +def _apply_env_variables(env: dict[str, str] | None = None) -> None: + env_dict = env if env is not None else os.environ + + for var_name, setter in [ + ("PILLOW_ALIGNMENT", core.set_alignment), + ("PILLOW_BLOCK_SIZE", core.set_block_size), + ("PILLOW_BLOCKS_MAX", core.set_blocks_max), + ]: + if var_name not in env_dict: + continue + + var = env_dict[var_name].lower() + + units = 1 + for postfix, mul in [("k", 1024), ("m", 1024 * 1024)]: + if var.endswith(postfix): + units = mul + var = var[: -len(postfix)] + + try: + var_int = int(var) * units + except ValueError: + warnings.warn(f"{var_name} is not int") + continue + + try: + setter(var_int) + except ValueError as e: + warnings.warn(f"{var_name}: {e}") + + +_apply_env_variables() +atexit.register(core.clear_cache) + + +if TYPE_CHECKING: + _ExifBase = MutableMapping[int, Any] +else: + _ExifBase = MutableMapping + + +class Exif(_ExifBase): + """ + This class provides read and write access to EXIF image data:: + + from PIL import Image + im = Image.open("exif.png") + exif = im.getexif() # Returns an instance of this class + + Information can be read and written, iterated over or deleted:: + + print(exif[274]) # 1 + exif[274] = 2 + for k, v in exif.items(): + print("Tag", k, "Value", v) # Tag 274 Value 2 + del exif[274] + + To access information beyond IFD0, :py:meth:`~PIL.Image.Exif.get_ifd` + returns a dictionary:: + + from PIL import ExifTags + im = Image.open("exif_gps.jpg") + exif = im.getexif() + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + print(gps_ifd) + + Other IFDs include ``ExifTags.IFD.Exif``, ``ExifTags.IFD.MakerNote``, + ``ExifTags.IFD.Interop`` and ``ExifTags.IFD.IFD1``. + + :py:mod:`~PIL.ExifTags` also has enum classes to provide names for data:: + + print(exif[ExifTags.Base.Software]) # PIL + print(gps_ifd[ExifTags.GPS.GPSDateStamp]) # 1999:99:99 99:99:99 + """ + + endian: str | None = None + bigtiff = False + _loaded = False + + def __init__(self) -> None: + self._data: dict[int, Any] = {} + self._hidden_data: dict[int, Any] = {} + self._ifds: dict[int, dict[int, Any]] = {} + self._info: TiffImagePlugin.ImageFileDirectory_v2 | None = None + self._loaded_exif: bytes | None = None + + def _fixup(self, value: Any) -> Any: + try: + if len(value) == 1 and isinstance(value, tuple): + return value[0] + except Exception: + pass + return value + + def _fixup_dict(self, src_dict: dict[int, Any]) -> dict[int, Any]: + # Helper function + # returns a dict with any single item tuples/lists as individual values + return {k: self._fixup(v) for k, v in src_dict.items()} + + def _get_ifd_dict( + self, offset: int, group: int | None = None + ) -> dict[int, Any] | None: + try: + # an offset pointer to the location of the nested embedded IFD. + # It should be a long, but may be corrupted. + self.fp.seek(offset) + except (KeyError, TypeError): + return None + else: + from . import TiffImagePlugin + + info = TiffImagePlugin.ImageFileDirectory_v2(self.head, group=group) + info.load(self.fp) + return self._fixup_dict(dict(info)) + + def _get_head(self) -> bytes: + version = b"\x2b" if self.bigtiff else b"\x2a" + if self.endian == "<": + head = b"II" + version + b"\x00" + o32le(8) + else: + head = b"MM\x00" + version + o32be(8) + if self.bigtiff: + head += o32le(8) if self.endian == "<" else o32be(8) + head += b"\x00\x00\x00\x00" + return head + + def load(self, data: bytes) -> None: + # Extract EXIF information. This is highly experimental, + # and is likely to be replaced with something better in a future + # version. + + # The EXIF record consists of a TIFF file embedded in a JPEG + # application marker (!). + if data == self._loaded_exif: + return + self._loaded_exif = data + self._data.clear() + self._hidden_data.clear() + self._ifds.clear() + while data and data.startswith(b"Exif\x00\x00"): + data = data[6:] + if not data: + self._info = None + return + + self.fp: IO[bytes] = io.BytesIO(data) + self.head = self.fp.read(8) + # process dictionary + from . import TiffImagePlugin + + self._info = TiffImagePlugin.ImageFileDirectory_v2(self.head) + self.endian = self._info._endian + self.fp.seek(self._info.next) + self._info.load(self.fp) + + def load_from_fp(self, fp: IO[bytes], offset: int | None = None) -> None: + self._loaded_exif = None + self._data.clear() + self._hidden_data.clear() + self._ifds.clear() + + # process dictionary + from . import TiffImagePlugin + + self.fp = fp + if offset is not None: + self.head = self._get_head() + else: + self.head = self.fp.read(8) + self._info = TiffImagePlugin.ImageFileDirectory_v2(self.head) + if self.endian is None: + self.endian = self._info._endian + if offset is None: + offset = self._info.next + self.fp.tell() + self.fp.seek(offset) + self._info.load(self.fp) + + def _get_merged_dict(self) -> dict[int, Any]: + merged_dict = dict(self) + + # get EXIF extension + if ExifTags.IFD.Exif in self: + ifd = self._get_ifd_dict(self[ExifTags.IFD.Exif], ExifTags.IFD.Exif) + if ifd: + merged_dict.update(ifd) + + # GPS + if ExifTags.IFD.GPSInfo in self: + merged_dict[ExifTags.IFD.GPSInfo] = self._get_ifd_dict( + self[ExifTags.IFD.GPSInfo], ExifTags.IFD.GPSInfo + ) + + return merged_dict + + def tobytes(self, offset: int = 8) -> bytes: + from . import TiffImagePlugin + + head = self._get_head() + ifd = TiffImagePlugin.ImageFileDirectory_v2(ifh=head) + for tag, ifd_dict in self._ifds.items(): + if tag not in self: + ifd[tag] = ifd_dict + for tag, value in self.items(): + if tag in [ + ExifTags.IFD.Exif, + ExifTags.IFD.GPSInfo, + ] and not isinstance(value, dict): + value = self.get_ifd(tag) + if ( + tag == ExifTags.IFD.Exif + and ExifTags.IFD.Interop in value + and not isinstance(value[ExifTags.IFD.Interop], dict) + ): + value = value.copy() + value[ExifTags.IFD.Interop] = self.get_ifd(ExifTags.IFD.Interop) + ifd[tag] = value + return b"Exif\x00\x00" + head + ifd.tobytes(offset) + + def get_ifd(self, tag: int) -> dict[int, Any]: + if tag not in self._ifds: + if tag == ExifTags.IFD.IFD1: + if self._info is not None and self._info.next != 0: + ifd = self._get_ifd_dict(self._info.next) + if ifd is not None: + self._ifds[tag] = ifd + elif tag in [ExifTags.IFD.Exif, ExifTags.IFD.GPSInfo]: + offset = self._hidden_data.get(tag, self.get(tag)) + if offset is not None: + ifd = self._get_ifd_dict(offset, tag) + if ifd is not None: + self._ifds[tag] = ifd + elif tag in [ExifTags.IFD.Interop, ExifTags.IFD.MakerNote]: + if ExifTags.IFD.Exif not in self._ifds: + self.get_ifd(ExifTags.IFD.Exif) + tag_data = self._ifds[ExifTags.IFD.Exif][tag] + if tag == ExifTags.IFD.MakerNote: + from .TiffImagePlugin import ImageFileDirectory_v2 + + try: + if tag_data.startswith(b"FUJIFILM"): + ifd_offset = i32le(tag_data, 8) + ifd_data = tag_data[ifd_offset:] + + makernote = {} + for i in range(struct.unpack("<H", ifd_data[:2])[0]): + ifd_tag, typ, count, data = struct.unpack( + "<HHL4s", ifd_data[i * 12 + 2 : (i + 1) * 12 + 2] + ) + try: + ( + unit_size, + handler, + ) = ImageFileDirectory_v2._load_dispatch[typ] + except KeyError: + continue + size = count * unit_size + if size > 4: + (offset,) = struct.unpack("<L", data) + data = ifd_data[offset - 12 : offset + size - 12] + else: + data = data[:size] + + if len(data) != size: + warnings.warn( + "Possibly corrupt EXIF MakerNote data. " + f"Expecting to read {size} bytes but only got " + f"{len(data)}. Skipping tag {ifd_tag}" + ) + continue + + if not data: + continue + + makernote[ifd_tag] = handler( + ImageFileDirectory_v2(), data, False + ) + self._ifds[tag] = dict(self._fixup_dict(makernote)) + elif self.get(0x010F) == "Nintendo": + makernote = {} + for i in range(struct.unpack(">H", tag_data[:2])[0]): + ifd_tag, typ, count, data = struct.unpack( + ">HHL4s", tag_data[i * 12 + 2 : (i + 1) * 12 + 2] + ) + if ifd_tag == 0x1101: + # CameraInfo + (offset,) = struct.unpack(">L", data) + self.fp.seek(offset) + + camerainfo: dict[str, int | bytes] = { + "ModelID": self.fp.read(4) + } + + self.fp.read(4) + # Seconds since 2000 + camerainfo["TimeStamp"] = i32le(self.fp.read(12)) + + self.fp.read(4) + camerainfo["InternalSerialNumber"] = self.fp.read(4) + + self.fp.read(12) + parallax = self.fp.read(4) + handler = ImageFileDirectory_v2._load_dispatch[ + TiffTags.FLOAT + ][1] + camerainfo["Parallax"] = handler( + ImageFileDirectory_v2(), parallax, False + )[0] + + self.fp.read(4) + camerainfo["Category"] = self.fp.read(2) + + makernote = {0x1101: camerainfo} + self._ifds[tag] = makernote + except struct.error: + pass + else: + # Interop + ifd = self._get_ifd_dict(tag_data, tag) + if ifd is not None: + self._ifds[tag] = ifd + ifd = self._ifds.setdefault(tag, {}) + if tag == ExifTags.IFD.Exif and self._hidden_data: + ifd = { + k: v + for (k, v) in ifd.items() + if k not in (ExifTags.IFD.Interop, ExifTags.IFD.MakerNote) + } + return ifd + + def hide_offsets(self) -> None: + for tag in (ExifTags.IFD.Exif, ExifTags.IFD.GPSInfo): + if tag in self: + self._hidden_data[tag] = self[tag] + del self[tag] + + def __str__(self) -> str: + if self._info is not None: + # Load all keys into self._data + for tag in self._info: + self[tag] + + return str(self._data) + + def __len__(self) -> int: + keys = set(self._data) + if self._info is not None: + keys.update(self._info) + return len(keys) + + def __getitem__(self, tag: int) -> Any: + if self._info is not None and tag not in self._data and tag in self._info: + self._data[tag] = self._fixup(self._info[tag]) + del self._info[tag] + return self._data[tag] + + def __contains__(self, tag: object) -> bool: + return tag in self._data or (self._info is not None and tag in self._info) + + def __setitem__(self, tag: int, value: Any) -> None: + if self._info is not None and tag in self._info: + del self._info[tag] + self._data[tag] = value + + def __delitem__(self, tag: int) -> None: + if self._info is not None and tag in self._info: + del self._info[tag] + else: + del self._data[tag] + if tag in self._ifds: + del self._ifds[tag] + + def __iter__(self) -> Iterator[int]: + keys = set(self._data) + if self._info is not None: + keys.update(self._info) + return iter(keys) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageChops.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageChops.py new file mode 100644 index 0000000..29a5c99 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageChops.py @@ -0,0 +1,311 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard channel operations +# +# History: +# 1996-03-24 fl Created +# 1996-08-13 fl Added logical operations (for "1" images) +# 2000-10-12 fl Added offset method (from Image.py) +# +# Copyright (c) 1997-2000 by Secret Labs AB +# Copyright (c) 1996-2000 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +from . import Image + + +def constant(image: Image.Image, value: int) -> Image.Image: + """Fill a channel with a given gray level. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.new("L", image.size, value) + + +def duplicate(image: Image.Image) -> Image.Image: + """Copy a channel. Alias for :py:meth:`PIL.Image.Image.copy`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return image.copy() + + +def invert(image: Image.Image) -> Image.Image: + """ + Invert an image (channel). :: + + out = MAX - image + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image.load() + return image._new(image.im.chop_invert()) + + +def lighter(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Compares the two images, pixel by pixel, and returns a new image containing + the lighter values. :: + + out = max(image1, image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_lighter(image2.im)) + + +def darker(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Compares the two images, pixel by pixel, and returns a new image containing + the darker values. :: + + out = min(image1, image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_darker(image2.im)) + + +def difference(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Returns the absolute value of the pixel-by-pixel difference between the two + images. :: + + out = abs(image1 - image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_difference(image2.im)) + + +def multiply(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other. + + If you multiply an image with a solid black image, the result is black. If + you multiply with a solid white image, the image is unaffected. :: + + out = image1 * image2 / MAX + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_multiply(image2.im)) + + +def screen(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two inverted images on top of each other. :: + + out = MAX - ((MAX - image1) * (MAX - image2) / MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_screen(image2.im)) + + +def soft_light(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Soft Light algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_soft_light(image2.im)) + + +def hard_light(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Hard Light algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_hard_light(image2.im)) + + +def overlay(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Overlay algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_overlay(image2.im)) + + +def add( + image1: Image.Image, image2: Image.Image, scale: float = 1.0, offset: float = 0 +) -> Image.Image: + """ + Adds two images, dividing the result by scale and adding the + offset. If omitted, scale defaults to 1.0, and offset to 0.0. :: + + out = ((image1 + image2) / scale + offset) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_add(image2.im, scale, offset)) + + +def subtract( + image1: Image.Image, image2: Image.Image, scale: float = 1.0, offset: float = 0 +) -> Image.Image: + """ + Subtracts two images, dividing the result by scale and adding the offset. + If omitted, scale defaults to 1.0, and offset to 0.0. :: + + out = ((image1 - image2) / scale + offset) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_subtract(image2.im, scale, offset)) + + +def add_modulo(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Add two images, without clipping the result. :: + + out = ((image1 + image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_add_modulo(image2.im)) + + +def subtract_modulo(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Subtract two images, without clipping the result. :: + + out = ((image1 - image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_subtract_modulo(image2.im)) + + +def logical_and(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical AND between two images. + + Both of the images must have mode "1". If you would like to perform a + logical AND on an image with a mode other than "1", try + :py:meth:`~PIL.ImageChops.multiply` instead, using a black-and-white mask + as the second image. :: + + out = ((image1 and image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_and(image2.im)) + + +def logical_or(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical OR between two images. + + Both of the images must have mode "1". :: + + out = ((image1 or image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_or(image2.im)) + + +def logical_xor(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical XOR between two images. + + Both of the images must have mode "1". :: + + out = ((bool(image1) != bool(image2)) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_xor(image2.im)) + + +def blend(image1: Image.Image, image2: Image.Image, alpha: float) -> Image.Image: + """Blend images using constant transparency weight. Alias for + :py:func:`PIL.Image.blend`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.blend(image1, image2, alpha) + + +def composite( + image1: Image.Image, image2: Image.Image, mask: Image.Image +) -> Image.Image: + """Create composite using transparency mask. Alias for + :py:func:`PIL.Image.composite`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.composite(image1, image2, mask) + + +def offset(image: Image.Image, xoffset: int, yoffset: int | None = None) -> Image.Image: + """Returns a copy of the image where data has been offset by the given + distances. Data wraps around the edges. If ``yoffset`` is omitted, it + is assumed to be equal to ``xoffset``. + + :param image: Input image. + :param xoffset: The horizontal distance. + :param yoffset: The vertical distance. If omitted, both + distances are set to the same value. + :rtype: :py:class:`~PIL.Image.Image` + """ + + if yoffset is None: + yoffset = xoffset + image.load() + return image._new(image.im.offset(xoffset, yoffset)) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageCms.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageCms.py new file mode 100644 index 0000000..513e28a --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageCms.py @@ -0,0 +1,1076 @@ +# The Python Imaging Library. +# $Id$ + +# Optional color management support, based on Kevin Cazabon's PyCMS +# library. + +# Originally released under LGPL. Graciously donated to PIL in +# March 2009, for distribution under the standard PIL license + +# History: + +# 2009-03-08 fl Added to PIL. + +# Copyright (C) 2002-2003 Kevin Cazabon +# Copyright (c) 2009 by Fredrik Lundh +# Copyright (c) 2013 by Eric Soroos + +# See the README file for information on usage and redistribution. See +# below for the original description. +from __future__ import annotations + +import operator +import sys +from enum import IntEnum, IntFlag +from functools import reduce +from typing import Any, Literal, SupportsFloat, SupportsInt, Union + +from . import Image +from ._deprecate import deprecate +from ._typing import SupportsRead + +try: + from . import _imagingcms as core + + _CmsProfileCompatible = Union[ + str, SupportsRead[bytes], core.CmsProfile, "ImageCmsProfile" + ] +except ImportError as ex: + # Allow error import for doc purposes, but error out when accessing + # anything in core. + from ._util import DeferredError + + core = DeferredError.new(ex) + +_DESCRIPTION = """ +pyCMS + + a Python / PIL interface to the littleCMS ICC Color Management System + Copyright (C) 2002-2003 Kevin Cazabon + kevin@cazabon.com + https://www.cazabon.com + + pyCMS home page: https://www.cazabon.com/pyCMS + littleCMS home page: https://www.littlecms.com + (littleCMS is Copyright (C) 1998-2001 Marti Maria) + + Originally released under LGPL. Graciously donated to PIL in + March 2009, for distribution under the standard PIL license + + The pyCMS.py module provides a "clean" interface between Python/PIL and + pyCMSdll, taking care of some of the more complex handling of the direct + pyCMSdll functions, as well as error-checking and making sure that all + relevant data is kept together. + + While it is possible to call pyCMSdll functions directly, it's not highly + recommended. + + Version History: + + 1.0.0 pil Oct 2013 Port to LCMS 2. + + 0.1.0 pil mod March 10, 2009 + + Renamed display profile to proof profile. The proof + profile is the profile of the device that is being + simulated, not the profile of the device which is + actually used to display/print the final simulation + (that'd be the output profile) - also see LCMSAPI.txt + input colorspace -> using 'renderingIntent' -> proof + colorspace -> using 'proofRenderingIntent' -> output + colorspace + + Added LCMS FLAGS support. + Added FLAGS["SOFTPROOFING"] as default flag for + buildProofTransform (otherwise the proof profile/intent + would be ignored). + + 0.1.0 pil March 2009 - added to PIL, as PIL.ImageCms + + 0.0.2 alpha Jan 6, 2002 + + Added try/except statements around type() checks of + potential CObjects... Python won't let you use type() + on them, and raises a TypeError (stupid, if you ask + me!) + + Added buildProofTransformFromOpenProfiles() function. + Additional fixes in DLL, see DLL code for details. + + 0.0.1 alpha first public release, Dec. 26, 2002 + + Known to-do list with current version (of Python interface, not pyCMSdll): + + none + +""" + +_VERSION = "1.0.0 pil" + + +# --------------------------------------------------------------------. + + +# +# intent/direction values + + +class Intent(IntEnum): + PERCEPTUAL = 0 + RELATIVE_COLORIMETRIC = 1 + SATURATION = 2 + ABSOLUTE_COLORIMETRIC = 3 + + +class Direction(IntEnum): + INPUT = 0 + OUTPUT = 1 + PROOF = 2 + + +# +# flags + + +class Flags(IntFlag): + """Flags and documentation are taken from ``lcms2.h``.""" + + NONE = 0 + NOCACHE = 0x0040 + """Inhibit 1-pixel cache""" + NOOPTIMIZE = 0x0100 + """Inhibit optimizations""" + NULLTRANSFORM = 0x0200 + """Don't transform anyway""" + GAMUTCHECK = 0x1000 + """Out of Gamut alarm""" + SOFTPROOFING = 0x4000 + """Do softproofing""" + BLACKPOINTCOMPENSATION = 0x2000 + NOWHITEONWHITEFIXUP = 0x0004 + """Don't fix scum dot""" + HIGHRESPRECALC = 0x0400 + """Use more memory to give better accuracy""" + LOWRESPRECALC = 0x0800 + """Use less memory to minimize resources""" + # this should be 8BITS_DEVICELINK, but that is not a valid name in Python: + USE_8BITS_DEVICELINK = 0x0008 + """Create 8 bits devicelinks""" + GUESSDEVICECLASS = 0x0020 + """Guess device class (for ``transform2devicelink``)""" + KEEP_SEQUENCE = 0x0080 + """Keep profile sequence for devicelink creation""" + FORCE_CLUT = 0x0002 + """Force CLUT optimization""" + CLUT_POST_LINEARIZATION = 0x0001 + """create postlinearization tables if possible""" + CLUT_PRE_LINEARIZATION = 0x0010 + """create prelinearization tables if possible""" + NONEGATIVES = 0x8000 + """Prevent negative numbers in floating point transforms""" + COPY_ALPHA = 0x04000000 + """Alpha channels are copied on ``cmsDoTransform()``""" + NODEFAULTRESOURCEDEF = 0x01000000 + + _GRIDPOINTS_1 = 1 << 16 + _GRIDPOINTS_2 = 2 << 16 + _GRIDPOINTS_4 = 4 << 16 + _GRIDPOINTS_8 = 8 << 16 + _GRIDPOINTS_16 = 16 << 16 + _GRIDPOINTS_32 = 32 << 16 + _GRIDPOINTS_64 = 64 << 16 + _GRIDPOINTS_128 = 128 << 16 + + @staticmethod + def GRIDPOINTS(n: int) -> Flags: + """ + Fine-tune control over number of gridpoints + + :param n: :py:class:`int` in range ``0 <= n <= 255`` + """ + return Flags.NONE | ((n & 0xFF) << 16) + + +_MAX_FLAG = reduce(operator.or_, Flags) + + +_FLAGS = { + "MATRIXINPUT": 1, + "MATRIXOUTPUT": 2, + "MATRIXONLY": (1 | 2), + "NOWHITEONWHITEFIXUP": 4, # Don't hot fix scum dot + # Don't create prelinearization tables on precalculated transforms + # (internal use): + "NOPRELINEARIZATION": 16, + "GUESSDEVICECLASS": 32, # Guess device class (for transform2devicelink) + "NOTCACHE": 64, # Inhibit 1-pixel cache + "NOTPRECALC": 256, + "NULLTRANSFORM": 512, # Don't transform anyway + "HIGHRESPRECALC": 1024, # Use more memory to give better accuracy + "LOWRESPRECALC": 2048, # Use less memory to minimize resources + "WHITEBLACKCOMPENSATION": 8192, + "BLACKPOINTCOMPENSATION": 8192, + "GAMUTCHECK": 4096, # Out of Gamut alarm + "SOFTPROOFING": 16384, # Do softproofing + "PRESERVEBLACK": 32768, # Black preservation + "NODEFAULTRESOURCEDEF": 16777216, # CRD special + "GRIDPOINTS": lambda n: (n & 0xFF) << 16, # Gridpoints +} + + +# --------------------------------------------------------------------. +# Experimental PIL-level API +# --------------------------------------------------------------------. + +## +# Profile. + + +class ImageCmsProfile: + def __init__(self, profile: str | SupportsRead[bytes] | core.CmsProfile) -> None: + """ + :param profile: Either a string representing a filename, + a file like object containing a profile or a + low-level profile object + + """ + self.filename: str | None = None + + if isinstance(profile, str): + if sys.platform == "win32": + profile_bytes_path = profile.encode() + try: + profile_bytes_path.decode("ascii") + except UnicodeDecodeError: + with open(profile, "rb") as f: + self.profile = core.profile_frombytes(f.read()) + return + self.filename = profile + self.profile = core.profile_open(profile) + elif hasattr(profile, "read"): + self.profile = core.profile_frombytes(profile.read()) + elif isinstance(profile, core.CmsProfile): + self.profile = profile + else: + msg = "Invalid type for Profile" # type: ignore[unreachable] + raise TypeError(msg) + + def __getattr__(self, name: str) -> Any: + if name in ("product_name", "product_info"): + deprecate(f"ImageCms.ImageCmsProfile.{name}", 13) + return None + msg = f"'{self.__class__.__name__}' object has no attribute '{name}'" + raise AttributeError(msg) + + def tobytes(self) -> bytes: + """ + Returns the profile in a format suitable for embedding in + saved images. + + :returns: a bytes object containing the ICC profile. + """ + + return core.profile_tobytes(self.profile) + + +class ImageCmsTransform(Image.ImagePointHandler): + """ + Transform. This can be used with the procedural API, or with the standard + :py:func:`~PIL.Image.Image.point` method. + + Will return the output profile in the ``output.info['icc_profile']``. + """ + + def __init__( + self, + input: ImageCmsProfile, + output: ImageCmsProfile, + input_mode: str, + output_mode: str, + intent: Intent = Intent.PERCEPTUAL, + proof: ImageCmsProfile | None = None, + proof_intent: Intent = Intent.ABSOLUTE_COLORIMETRIC, + flags: Flags = Flags.NONE, + ): + if proof is None: + self.transform = core.buildTransform( + input.profile, output.profile, input_mode, output_mode, intent, flags + ) + else: + self.transform = core.buildProofTransform( + input.profile, + output.profile, + proof.profile, + input_mode, + output_mode, + intent, + proof_intent, + flags, + ) + # Note: inputMode and outputMode are for pyCMS compatibility only + self.input_mode = self.inputMode = input_mode + self.output_mode = self.outputMode = output_mode + + self.output_profile = output + + def point(self, im: Image.Image) -> Image.Image: + return self.apply(im) + + def apply(self, im: Image.Image, imOut: Image.Image | None = None) -> Image.Image: + if imOut is None: + imOut = Image.new(self.output_mode, im.size, None) + self.transform.apply(im.getim(), imOut.getim()) + imOut.info["icc_profile"] = self.output_profile.tobytes() + return imOut + + def apply_in_place(self, im: Image.Image) -> Image.Image: + if im.mode != self.output_mode: + msg = "mode mismatch" + raise ValueError(msg) # wrong output mode + self.transform.apply(im.getim(), im.getim()) + im.info["icc_profile"] = self.output_profile.tobytes() + return im + + +def get_display_profile(handle: SupportsInt | None = None) -> ImageCmsProfile | None: + """ + (experimental) Fetches the profile for the current display device. + + :returns: ``None`` if the profile is not known. + """ + + if sys.platform != "win32": + return None + + from . import ImageWin # type: ignore[unused-ignore, unreachable] + + if isinstance(handle, ImageWin.HDC): + profile = core.get_display_profile_win32(int(handle), 1) + else: + profile = core.get_display_profile_win32(int(handle or 0)) + if profile is None: + return None + return ImageCmsProfile(profile) + + +# --------------------------------------------------------------------. +# pyCMS compatible layer +# --------------------------------------------------------------------. + + +class PyCMSError(Exception): + """(pyCMS) Exception class. + This is used for all errors in the pyCMS API.""" + + pass + + +def profileToProfile( + im: Image.Image, + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + renderingIntent: Intent = Intent.PERCEPTUAL, + outputMode: str | None = None, + inPlace: bool = False, + flags: Flags = Flags.NONE, +) -> Image.Image | None: + """ + (pyCMS) Applies an ICC transformation to a given image, mapping from + ``inputProfile`` to ``outputProfile``. + + If the input or output profiles specified are not valid filenames, a + :exc:`PyCMSError` will be raised. If ``inPlace`` is ``True`` and + ``outputMode != im.mode``, a :exc:`PyCMSError` will be raised. + If an error occurs during application of the profiles, + a :exc:`PyCMSError` will be raised. + If ``outputMode`` is not a mode supported by the ``outputProfile`` (or by pyCMS), + a :exc:`PyCMSError` will be raised. + + This function applies an ICC transformation to im from ``inputProfile``'s + color space to ``outputProfile``'s color space using the specified rendering + intent to decide how to handle out-of-gamut colors. + + ``outputMode`` can be used to specify that a color mode conversion is to + be done using these profiles, but the specified profiles must be able + to handle that mode. I.e., if converting im from RGB to CMYK using + profiles, the input profile must handle RGB data, and the output + profile must handle CMYK data. + + :param im: An open :py:class:`~PIL.Image.Image` object (i.e. Image.new(...) + or Image.open(...), etc.) + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this image, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + profile you wish to use for this image, or a profile object + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param outputMode: A valid PIL mode for the output image (i.e. "RGB", + "CMYK", etc.). Note: if rendering the image "inPlace", outputMode + MUST be the same mode as the input, or omitted completely. If + omitted, the outputMode will be the same as the mode of the input + image (im.mode) + :param inPlace: Boolean. If ``True``, the original image is modified in-place, + and ``None`` is returned. If ``False`` (default), a new + :py:class:`~PIL.Image.Image` object is returned with the transform applied. + :param flags: Integer (0-...) specifying additional flags + :returns: Either None or a new :py:class:`~PIL.Image.Image` object, depending on + the value of ``inPlace`` + :exception PyCMSError: + """ + + if outputMode is None: + outputMode = im.mode + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + transform = ImageCmsTransform( + inputProfile, + outputProfile, + im.mode, + outputMode, + renderingIntent, + flags=flags, + ) + if inPlace: + transform.apply_in_place(im) + imOut = None + else: + imOut = transform.apply(im) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + return imOut + + +def getOpenProfile( + profileFilename: str | SupportsRead[bytes] | core.CmsProfile, +) -> ImageCmsProfile: + """ + (pyCMS) Opens an ICC profile file. + + The PyCMSProfile object can be passed back into pyCMS for use in creating + transforms and such (as in ImageCms.buildTransformFromOpenProfiles()). + + If ``profileFilename`` is not a valid filename for an ICC profile, + a :exc:`PyCMSError` will be raised. + + :param profileFilename: String, as a valid filename path to the ICC profile + you wish to open, or a file-like object. + :returns: A CmsProfile class object. + :exception PyCMSError: + """ + + try: + return ImageCmsProfile(profileFilename) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def buildTransform( + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + inMode: str, + outMode: str, + renderingIntent: Intent = Intent.PERCEPTUAL, + flags: Flags = Flags.NONE, +) -> ImageCmsTransform: + """ + (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the + ``outputProfile``. Use applyTransform to apply the transform to a given + image. + + If the input or output profiles specified are not valid filenames, a + :exc:`PyCMSError` will be raised. If an error occurs during creation + of the transform, a :exc:`PyCMSError` will be raised. + + If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` + (or by pyCMS), a :exc:`PyCMSError` will be raised. + + This function builds and returns an ICC transform from the ``inputProfile`` + to the ``outputProfile`` using the ``renderingIntent`` to determine what to do + with out-of-gamut colors. It will ONLY work for converting images that + are in ``inMode`` to images that are in ``outMode`` color format (PIL mode, + i.e. "RGB", "RGBA", "CMYK", etc.). + + Building the transform is a fair part of the overhead in + ImageCms.profileToProfile(), so if you're planning on converting multiple + images using the same input/output settings, this can save you time. + Once you have a transform object, it can be used with + ImageCms.applyProfile() to convert images without the need to re-compute + the lookup table for the transform. + + The reason pyCMS returns a class object rather than a handle directly + to the transform is that it needs to keep track of the PIL input/output + modes that the transform is meant for. These attributes are stored in + the ``inMode`` and ``outMode`` attributes of the object (which can be + manually overridden if you really want to, but I don't know of any + time that would be of use, or would even work). + + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this transform, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + profile you wish to use for this transform, or a profile object + :param inMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param outMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param flags: Integer (0-...) specifying additional flags + :returns: A CmsTransform class object. + :exception PyCMSError: + """ + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + return ImageCmsTransform( + inputProfile, outputProfile, inMode, outMode, renderingIntent, flags=flags + ) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def buildProofTransform( + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + proofProfile: _CmsProfileCompatible, + inMode: str, + outMode: str, + renderingIntent: Intent = Intent.PERCEPTUAL, + proofRenderingIntent: Intent = Intent.ABSOLUTE_COLORIMETRIC, + flags: Flags = Flags.SOFTPROOFING, +) -> ImageCmsTransform: + """ + (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the + ``outputProfile``, but tries to simulate the result that would be + obtained on the ``proofProfile`` device. + + If the input, output, or proof profiles specified are not valid + filenames, a :exc:`PyCMSError` will be raised. + + If an error occurs during creation of the transform, + a :exc:`PyCMSError` will be raised. + + If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` + (or by pyCMS), a :exc:`PyCMSError` will be raised. + + This function builds and returns an ICC transform from the ``inputProfile`` + to the ``outputProfile``, but tries to simulate the result that would be + obtained on the ``proofProfile`` device using ``renderingIntent`` and + ``proofRenderingIntent`` to determine what to do with out-of-gamut + colors. This is known as "soft-proofing". It will ONLY work for + converting images that are in ``inMode`` to images that are in outMode + color format (PIL mode, i.e. "RGB", "RGBA", "CMYK", etc.). + + Usage of the resulting transform object is exactly the same as with + ImageCms.buildTransform(). + + Proof profiling is generally used when using an output device to get a + good idea of what the final printed/displayed image would look like on + the ``proofProfile`` device when it's quicker and easier to use the + output device for judging color. Generally, this means that the + output device is a monitor, or a dye-sub printer (etc.), and the simulated + device is something more expensive, complicated, or time consuming + (making it difficult to make a real print for color judgement purposes). + + Soft-proofing basically functions by adjusting the colors on the + output device to match the colors of the device being simulated. However, + when the simulated device has a much wider gamut than the output + device, you may obtain marginal results. + + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this transform, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + (monitor, usually) profile you wish to use for this transform, or a + profile object + :param proofProfile: String, as a valid filename path to the ICC proof + profile you wish to use for this transform, or a profile object + :param inMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param outMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the input->proof (simulated) transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param proofRenderingIntent: Integer (0-3) specifying the rendering intent + you wish to use for proof->output transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param flags: Integer (0-...) specifying additional flags + :returns: A CmsTransform class object. + :exception PyCMSError: + """ + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + if not isinstance(proofProfile, ImageCmsProfile): + proofProfile = ImageCmsProfile(proofProfile) + return ImageCmsTransform( + inputProfile, + outputProfile, + inMode, + outMode, + renderingIntent, + proofProfile, + proofRenderingIntent, + flags, + ) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +buildTransformFromOpenProfiles = buildTransform +buildProofTransformFromOpenProfiles = buildProofTransform + + +def applyTransform( + im: Image.Image, transform: ImageCmsTransform, inPlace: bool = False +) -> Image.Image | None: + """ + (pyCMS) Applies a transform to a given image. + + If ``im.mode != transform.input_mode``, a :exc:`PyCMSError` is raised. + + If ``inPlace`` is ``True`` and ``transform.input_mode != transform.output_mode``, a + :exc:`PyCMSError` is raised. + + If ``im.mode``, ``transform.input_mode`` or ``transform.output_mode`` is not + supported by pyCMSdll or the profiles you used for the transform, a + :exc:`PyCMSError` is raised. + + If an error occurs while the transform is being applied, + a :exc:`PyCMSError` is raised. + + This function applies a pre-calculated transform (from + ImageCms.buildTransform() or ImageCms.buildTransformFromOpenProfiles()) + to an image. The transform can be used for multiple images, saving + considerable calculation time if doing the same conversion multiple times. + + If you want to modify im in-place instead of receiving a new image as + the return value, set ``inPlace`` to ``True``. This can only be done if + ``transform.input_mode`` and ``transform.output_mode`` are the same, because we + can't change the mode in-place (the buffer sizes for some modes are + different). The default behavior is to return a new :py:class:`~PIL.Image.Image` + object of the same dimensions in mode ``transform.output_mode``. + + :param im: An :py:class:`~PIL.Image.Image` object, and ``im.mode`` must be the same + as the ``input_mode`` supported by the transform. + :param transform: A valid CmsTransform class object + :param inPlace: Bool. If ``True``, ``im`` is modified in place and ``None`` is + returned, if ``False``, a new :py:class:`~PIL.Image.Image` object with the + transform applied is returned (and ``im`` is not changed). The default is + ``False``. + :returns: Either ``None``, or a new :py:class:`~PIL.Image.Image` object, + depending on the value of ``inPlace``. The profile will be returned in + the image's ``info['icc_profile']``. + :exception PyCMSError: + """ + + try: + if inPlace: + transform.apply_in_place(im) + imOut = None + else: + imOut = transform.apply(im) + except (TypeError, ValueError) as v: + raise PyCMSError(v) from v + + return imOut + + +def createProfile( + colorSpace: Literal["LAB", "XYZ", "sRGB"], colorTemp: SupportsFloat = 0 +) -> core.CmsProfile: + """ + (pyCMS) Creates a profile. + + If colorSpace not in ``["LAB", "XYZ", "sRGB"]``, + a :exc:`PyCMSError` is raised. + + If using LAB and ``colorTemp`` is not a positive integer, + a :exc:`PyCMSError` is raised. + + If an error occurs while creating the profile, + a :exc:`PyCMSError` is raised. + + Use this function to create common profiles on-the-fly instead of + having to supply a profile on disk and knowing the path to it. It + returns a normal CmsProfile object that can be passed to + ImageCms.buildTransformFromOpenProfiles() to create a transform to apply + to images. + + :param colorSpace: String, the color space of the profile you wish to + create. + Currently only "LAB", "XYZ", and "sRGB" are supported. + :param colorTemp: Positive number for the white point for the profile, in + degrees Kelvin (i.e. 5000, 6500, 9600, etc.). The default is for D50 + illuminant if omitted (5000k). colorTemp is ONLY applied to LAB + profiles, and is ignored for XYZ and sRGB. + :returns: A CmsProfile class object + :exception PyCMSError: + """ + + if colorSpace not in ["LAB", "XYZ", "sRGB"]: + msg = ( + f"Color space not supported for on-the-fly profile creation ({colorSpace})" + ) + raise PyCMSError(msg) + + if colorSpace == "LAB": + try: + colorTemp = float(colorTemp) + except (TypeError, ValueError) as e: + msg = f'Color temperature must be numeric, "{colorTemp}" not valid' + raise PyCMSError(msg) from e + + try: + return core.createProfile(colorSpace, colorTemp) + except (TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileName(profile: _CmsProfileCompatible) -> str: + """ + + (pyCMS) Gets the internal product name for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, + a :exc:`PyCMSError` is raised If an error occurs while trying + to obtain the name tag, a :exc:`PyCMSError` is raised. + + Use this function to obtain the INTERNAL name of the profile (stored + in an ICC tag in the profile itself), usually the one used when the + profile was originally created. Sometimes this tag also contains + additional information supplied by the creator. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal name of the profile as stored + in an ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # do it in python, not c. + # // name was "%s - %s" (model, manufacturer) || Description , + # // but if the Model and Manufacturer were the same or the model + # // was long, Just the model, in 1.x + model = profile.profile.model + manufacturer = profile.profile.manufacturer + + if not (model or manufacturer): + return (profile.profile.profile_description or "") + "\n" + if not manufacturer or (model and len(model) > 30): + return f"{model}\n" + return f"{model} - {manufacturer}\n" + + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileInfo(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the internal product information for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, + a :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the info tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + info tag. This often contains details about the profile, and how it + was created, as supplied by the creator. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # add an extra newline to preserve pyCMS compatibility + # Python, not C. the white point bits weren't working well, + # so skipping. + # info was description \r\n\r\n copyright \r\n\r\n K007 tag \r\n\r\n whitepoint + description = profile.profile.profile_description + cpright = profile.profile.copyright + elements = [element for element in (description, cpright) if element] + return "\r\n\r\n".join(elements) + "\r\n\r\n" + + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileCopyright(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the copyright for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the copyright tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + copyright tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.copyright or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileManufacturer(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the manufacturer for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the manufacturer tag, a + :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + manufacturer tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.manufacturer or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileModel(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the model for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the model tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + model tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.model or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileDescription(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the description for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the description tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + description tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in an + ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.profile_description or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getDefaultIntent(profile: _CmsProfileCompatible) -> int: + """ + (pyCMS) Gets the default intent name for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the default intent, a + :exc:`PyCMSError` is raised. + + Use this function to determine the default (and usually best optimized) + rendering intent for this profile. Most profiles support multiple + rendering intents, but are intended mostly for one type of conversion. + If you wish to use a different intent than returned, use + ImageCms.isIntentSupported() to verify it will work first. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: Integer 0-3 specifying the default rendering intent for this + profile. + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return profile.profile.rendering_intent + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def isIntentSupported( + profile: _CmsProfileCompatible, intent: Intent, direction: Direction +) -> Literal[-1, 1]: + """ + (pyCMS) Checks if a given intent is supported. + + Use this function to verify that you can use your desired + ``intent`` with ``profile``, and that ``profile`` can be used for the + input/output/proof profile as you desire. + + Some profiles are created specifically for one "direction", can cannot + be used for others. Some profiles can only be used for certain + rendering intents, so it's best to either verify this before trying + to create a transform with them (using this function), or catch the + potential :exc:`PyCMSError` that will occur if they don't + support the modes you select. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :param intent: Integer (0-3) specifying the rendering intent you wish to + use with this profile + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param direction: Integer specifying if the profile is to be used for + input, output, or proof + + INPUT = 0 (or use ImageCms.Direction.INPUT) + OUTPUT = 1 (or use ImageCms.Direction.OUTPUT) + PROOF = 2 (or use ImageCms.Direction.PROOF) + + :returns: 1 if the intent/direction are supported, -1 if they are not. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # FIXME: I get different results for the same data w. different + # compilers. Bug in LittleCMS or in the binding? + if profile.profile.is_intent_supported(intent, direction): + return 1 + else: + return -1 + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageColor.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageColor.py new file mode 100644 index 0000000..9a15a8e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageColor.py @@ -0,0 +1,320 @@ +# +# The Python Imaging Library +# $Id$ +# +# map CSS3-style colour description strings to RGB +# +# History: +# 2002-10-24 fl Added support for CSS-style color strings +# 2002-12-15 fl Added RGBA support +# 2004-03-27 fl Fixed remaining int() problems for Python 1.5.2 +# 2004-07-19 fl Fixed gray/grey spelling issues +# 2009-03-05 fl Fixed rounding error in grayscale calculation +# +# Copyright (c) 2002-2004 by Secret Labs AB +# Copyright (c) 2002-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from functools import lru_cache + +from . import Image + + +@lru_cache +def getrgb(color: str) -> tuple[int, int, int] | tuple[int, int, int, int]: + """ + Convert a color string to an RGB or RGBA tuple. If the string cannot be + parsed, this function raises a :py:exc:`ValueError` exception. + + .. versionadded:: 1.1.4 + + :param color: A color string + :return: ``(red, green, blue[, alpha])`` + """ + if len(color) > 100: + msg = "color specifier is too long" + raise ValueError(msg) + color = color.lower() + + rgb = colormap.get(color, None) + if rgb: + if isinstance(rgb, tuple): + return rgb + rgb_tuple = getrgb(rgb) + assert len(rgb_tuple) == 3 + colormap[color] = rgb_tuple + return rgb_tuple + + # check for known string formats + if re.match("#[a-f0-9]{3}$", color): + return int(color[1] * 2, 16), int(color[2] * 2, 16), int(color[3] * 2, 16) + + if re.match("#[a-f0-9]{4}$", color): + return ( + int(color[1] * 2, 16), + int(color[2] * 2, 16), + int(color[3] * 2, 16), + int(color[4] * 2, 16), + ) + + if re.match("#[a-f0-9]{6}$", color): + return int(color[1:3], 16), int(color[3:5], 16), int(color[5:7], 16) + + if re.match("#[a-f0-9]{8}$", color): + return ( + int(color[1:3], 16), + int(color[3:5], 16), + int(color[5:7], 16), + int(color[7:9], 16), + ) + + m = re.match(r"rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) + if m: + return int(m.group(1)), int(m.group(2)), int(m.group(3)) + + m = re.match(r"rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)$", color) + if m: + return ( + int((int(m.group(1)) * 255) / 100.0 + 0.5), + int((int(m.group(2)) * 255) / 100.0 + 0.5), + int((int(m.group(3)) * 255) / 100.0 + 0.5), + ) + + m = re.match( + r"hsl\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color + ) + if m: + from colorsys import hls_to_rgb + + rgb_floats = hls_to_rgb( + float(m.group(1)) / 360.0, + float(m.group(3)) / 100.0, + float(m.group(2)) / 100.0, + ) + return ( + int(rgb_floats[0] * 255 + 0.5), + int(rgb_floats[1] * 255 + 0.5), + int(rgb_floats[2] * 255 + 0.5), + ) + + m = re.match( + r"hs[bv]\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color + ) + if m: + from colorsys import hsv_to_rgb + + rgb_floats = hsv_to_rgb( + float(m.group(1)) / 360.0, + float(m.group(2)) / 100.0, + float(m.group(3)) / 100.0, + ) + return ( + int(rgb_floats[0] * 255 + 0.5), + int(rgb_floats[1] * 255 + 0.5), + int(rgb_floats[2] * 255 + 0.5), + ) + + m = re.match(r"rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) + if m: + return int(m.group(1)), int(m.group(2)), int(m.group(3)), int(m.group(4)) + msg = f"unknown color specifier: {repr(color)}" + raise ValueError(msg) + + +@lru_cache +def getcolor(color: str, mode: str) -> int | tuple[int, ...]: + """ + Same as :py:func:`~PIL.ImageColor.getrgb` for most modes. However, if + ``mode`` is HSV, converts the RGB value to a HSV value, or if ``mode`` is + not color or a palette image, converts the RGB value to a grayscale value. + If the string cannot be parsed, this function raises a :py:exc:`ValueError` + exception. + + .. versionadded:: 1.1.4 + + :param color: A color string + :param mode: Convert result to this mode + :return: ``graylevel, (graylevel, alpha) or (red, green, blue[, alpha])`` + """ + # same as getrgb, but converts the result to the given mode + rgb, alpha = getrgb(color), 255 + if len(rgb) == 4: + alpha = rgb[3] + rgb = rgb[:3] + + if mode == "HSV": + from colorsys import rgb_to_hsv + + r, g, b = rgb + h, s, v = rgb_to_hsv(r / 255, g / 255, b / 255) + return int(h * 255), int(s * 255), int(v * 255) + elif Image.getmodebase(mode) == "L": + r, g, b = rgb + # ITU-R Recommendation 601-2 for nonlinear RGB + # scaled to 24 bits to match the convert's implementation. + graylevel = (r * 19595 + g * 38470 + b * 7471 + 0x8000) >> 16 + if mode[-1] == "A": + return graylevel, alpha + return graylevel + elif mode[-1] == "A": + return rgb + (alpha,) + return rgb + + +colormap: dict[str, str | tuple[int, int, int]] = { + # X11 colour table from https://drafts.csswg.org/css-color-4/, with + # gray/grey spelling issues fixed. This is a superset of HTML 4.0 + # colour names used in CSS 1. + "aliceblue": "#f0f8ff", + "antiquewhite": "#faebd7", + "aqua": "#00ffff", + "aquamarine": "#7fffd4", + "azure": "#f0ffff", + "beige": "#f5f5dc", + "bisque": "#ffe4c4", + "black": "#000000", + "blanchedalmond": "#ffebcd", + "blue": "#0000ff", + "blueviolet": "#8a2be2", + "brown": "#a52a2a", + "burlywood": "#deb887", + "cadetblue": "#5f9ea0", + "chartreuse": "#7fff00", + "chocolate": "#d2691e", + "coral": "#ff7f50", + "cornflowerblue": "#6495ed", + "cornsilk": "#fff8dc", + "crimson": "#dc143c", + "cyan": "#00ffff", + "darkblue": "#00008b", + "darkcyan": "#008b8b", + "darkgoldenrod": "#b8860b", + "darkgray": "#a9a9a9", + "darkgrey": "#a9a9a9", + "darkgreen": "#006400", + "darkkhaki": "#bdb76b", + "darkmagenta": "#8b008b", + "darkolivegreen": "#556b2f", + "darkorange": "#ff8c00", + "darkorchid": "#9932cc", + "darkred": "#8b0000", + "darksalmon": "#e9967a", + "darkseagreen": "#8fbc8f", + "darkslateblue": "#483d8b", + "darkslategray": "#2f4f4f", + "darkslategrey": "#2f4f4f", + "darkturquoise": "#00ced1", + "darkviolet": "#9400d3", + "deeppink": "#ff1493", + "deepskyblue": "#00bfff", + "dimgray": "#696969", + "dimgrey": "#696969", + "dodgerblue": "#1e90ff", + "firebrick": "#b22222", + "floralwhite": "#fffaf0", + "forestgreen": "#228b22", + "fuchsia": "#ff00ff", + "gainsboro": "#dcdcdc", + "ghostwhite": "#f8f8ff", + "gold": "#ffd700", + "goldenrod": "#daa520", + "gray": "#808080", + "grey": "#808080", + "green": "#008000", + "greenyellow": "#adff2f", + "honeydew": "#f0fff0", + "hotpink": "#ff69b4", + "indianred": "#cd5c5c", + "indigo": "#4b0082", + "ivory": "#fffff0", + "khaki": "#f0e68c", + "lavender": "#e6e6fa", + "lavenderblush": "#fff0f5", + "lawngreen": "#7cfc00", + "lemonchiffon": "#fffacd", + "lightblue": "#add8e6", + "lightcoral": "#f08080", + "lightcyan": "#e0ffff", + "lightgoldenrodyellow": "#fafad2", + "lightgreen": "#90ee90", + "lightgray": "#d3d3d3", + "lightgrey": "#d3d3d3", + "lightpink": "#ffb6c1", + "lightsalmon": "#ffa07a", + "lightseagreen": "#20b2aa", + "lightskyblue": "#87cefa", + "lightslategray": "#778899", + "lightslategrey": "#778899", + "lightsteelblue": "#b0c4de", + "lightyellow": "#ffffe0", + "lime": "#00ff00", + "limegreen": "#32cd32", + "linen": "#faf0e6", + "magenta": "#ff00ff", + "maroon": "#800000", + "mediumaquamarine": "#66cdaa", + "mediumblue": "#0000cd", + "mediumorchid": "#ba55d3", + "mediumpurple": "#9370db", + "mediumseagreen": "#3cb371", + "mediumslateblue": "#7b68ee", + "mediumspringgreen": "#00fa9a", + "mediumturquoise": "#48d1cc", + "mediumvioletred": "#c71585", + "midnightblue": "#191970", + "mintcream": "#f5fffa", + "mistyrose": "#ffe4e1", + "moccasin": "#ffe4b5", + "navajowhite": "#ffdead", + "navy": "#000080", + "oldlace": "#fdf5e6", + "olive": "#808000", + "olivedrab": "#6b8e23", + "orange": "#ffa500", + "orangered": "#ff4500", + "orchid": "#da70d6", + "palegoldenrod": "#eee8aa", + "palegreen": "#98fb98", + "paleturquoise": "#afeeee", + "palevioletred": "#db7093", + "papayawhip": "#ffefd5", + "peachpuff": "#ffdab9", + "peru": "#cd853f", + "pink": "#ffc0cb", + "plum": "#dda0dd", + "powderblue": "#b0e0e6", + "purple": "#800080", + "rebeccapurple": "#663399", + "red": "#ff0000", + "rosybrown": "#bc8f8f", + "royalblue": "#4169e1", + "saddlebrown": "#8b4513", + "salmon": "#fa8072", + "sandybrown": "#f4a460", + "seagreen": "#2e8b57", + "seashell": "#fff5ee", + "sienna": "#a0522d", + "silver": "#c0c0c0", + "skyblue": "#87ceeb", + "slateblue": "#6a5acd", + "slategray": "#708090", + "slategrey": "#708090", + "snow": "#fffafa", + "springgreen": "#00ff7f", + "steelblue": "#4682b4", + "tan": "#d2b48c", + "teal": "#008080", + "thistle": "#d8bfd8", + "tomato": "#ff6347", + "turquoise": "#40e0d0", + "violet": "#ee82ee", + "wheat": "#f5deb3", + "white": "#ffffff", + "whitesmoke": "#f5f5f5", + "yellow": "#ffff00", + "yellowgreen": "#9acd32", +} diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw.py new file mode 100644 index 0000000..9b0864d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw.py @@ -0,0 +1,1035 @@ +# +# The Python Imaging Library +# $Id$ +# +# drawing interface operations +# +# History: +# 1996-04-13 fl Created (experimental) +# 1996-08-07 fl Filled polygons, ellipses. +# 1996-08-13 fl Added text support +# 1998-06-28 fl Handle I and F images +# 1998-12-29 fl Added arc; use arc primitive to draw ellipses +# 1999-01-10 fl Added shape stuff (experimental) +# 1999-02-06 fl Added bitmap support +# 1999-02-11 fl Changed all primitives to take options +# 1999-02-20 fl Fixed backwards compatibility +# 2000-10-12 fl Copy on write, when necessary +# 2001-02-18 fl Use default ink for bitmap/text also in fill mode +# 2002-10-24 fl Added support for CSS-style color strings +# 2002-12-10 fl Added experimental support for RGBA-on-RGB drawing +# 2002-12-11 fl Refactored low-level drawing API (work in progress) +# 2004-08-26 fl Made Draw() a factory function, added getdraw() support +# 2004-09-04 fl Added width support to line primitive +# 2004-09-10 fl Added font mode handling +# 2006-06-19 fl Added font bearing support (getmask2) +# +# Copyright (c) 1997-2006 by Secret Labs AB +# Copyright (c) 1996-2006 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +import struct +from collections.abc import Sequence +from typing import cast + +from . import Image, ImageColor, ImageText + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from types import ModuleType + from typing import Any, AnyStr + + from . import ImageDraw2, ImageFont + from ._typing import Coords, _Ink + +# experimental access to the outline API +Outline: Callable[[], Image.core._Outline] = Image.core.outline + +""" +A simple 2D drawing interface for PIL images. +<p> +Application code should use the <b>Draw</b> factory, instead of +directly. +""" + + +class ImageDraw: + font: ( + ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont | None + ) = None + + def __init__(self, im: Image.Image, mode: str | None = None) -> None: + """ + Create a drawing instance. + + :param im: The image to draw in. + :param mode: Optional mode to use for color values. For RGB + images, this argument can be RGB or RGBA (to blend the + drawing into the image). For all other modes, this argument + must be the same as the image mode. If omitted, the mode + defaults to the mode of the image. + """ + im._ensure_mutable() + blend = 0 + if mode is None: + mode = im.mode + if mode != im.mode: + if mode == "RGBA" and im.mode == "RGB": + blend = 1 + else: + msg = "mode mismatch" + raise ValueError(msg) + if mode == "P": + self.palette = im.palette + else: + self.palette = None + self._image = im + self.im = im.im + self.draw = Image.core.draw(self.im, blend) + self.mode = mode + if mode in ("I", "F"): + self.ink = self.draw.draw_ink(1) + else: + self.ink = self.draw.draw_ink(-1) + if mode in ("1", "P", "I", "F"): + # FIXME: fix Fill2 to properly support matte for I+F images + self.fontmode = "1" + else: + self.fontmode = "L" # aliasing is okay for other modes + self.fill = False + + def getfont( + self, + ) -> ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont: + """ + Get the current default font. + + To set the default font for this ImageDraw instance:: + + from PIL import ImageDraw, ImageFont + draw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf") + + To set the default font for all future ImageDraw instances:: + + from PIL import ImageDraw, ImageFont + ImageDraw.ImageDraw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf") + + If the current default font is ``None``, + it is initialized with ``ImageFont.load_default()``. + + :returns: An image font.""" + if not self.font: + # FIXME: should add a font repository + from . import ImageFont + + self.font = ImageFont.load_default() + return self.font + + def _getfont( + self, font_size: float | None + ) -> ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont: + if font_size is not None: + from . import ImageFont + + return ImageFont.load_default(font_size) + else: + return self.getfont() + + def _getink( + self, ink: _Ink | None, fill: _Ink | None = None + ) -> tuple[int | None, int | None]: + result_ink = None + result_fill = None + if ink is None and fill is None: + if self.fill: + result_fill = self.ink + else: + result_ink = self.ink + else: + if ink is not None: + if isinstance(ink, str): + ink = ImageColor.getcolor(ink, self.mode) + if self.palette and isinstance(ink, tuple): + ink = self.palette.getcolor(ink, self._image) + result_ink = self.draw.draw_ink(ink) + if fill is not None: + if isinstance(fill, str): + fill = ImageColor.getcolor(fill, self.mode) + if self.palette and isinstance(fill, tuple): + fill = self.palette.getcolor(fill, self._image) + result_fill = self.draw.draw_ink(fill) + return result_ink, result_fill + + def arc( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw an arc.""" + ink, fill = self._getink(fill) + if ink is not None: + self.draw.draw_arc(xy, start, end, ink, width) + + def bitmap( + self, xy: Sequence[int], bitmap: Image.Image, fill: _Ink | None = None + ) -> None: + """Draw a bitmap.""" + bitmap.load() + ink, fill = self._getink(fill) + if ink is None: + ink = fill + if ink is not None: + self.draw.draw_bitmap(xy, bitmap.im, ink) + + def chord( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a chord.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_chord(xy, start, end, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_chord(xy, start, end, ink, 0, width) + + def ellipse( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw an ellipse.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_ellipse(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_ellipse(xy, ink, 0, width) + + def circle( + self, + xy: Sequence[float], + radius: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a circle given center coordinates and a radius.""" + ellipse_xy = (xy[0] - radius, xy[1] - radius, xy[0] + radius, xy[1] + radius) + self.ellipse(ellipse_xy, fill, outline, width) + + def line( + self, + xy: Coords, + fill: _Ink | None = None, + width: int = 0, + joint: str | None = None, + ) -> None: + """Draw a line, or a connected sequence of line segments.""" + ink = self._getink(fill)[0] + if ink is not None: + self.draw.draw_lines(xy, ink, width) + if joint == "curve" and width > 4: + points: Sequence[Sequence[float]] + if isinstance(xy[0], (list, tuple)): + points = cast(Sequence[Sequence[float]], xy) + else: + points = [ + cast(Sequence[float], tuple(xy[i : i + 2])) + for i in range(0, len(xy), 2) + ] + for i in range(1, len(points) - 1): + point = points[i] + angles = [ + math.degrees(math.atan2(end[0] - start[0], start[1] - end[1])) + % 360 + for start, end in ( + (points[i - 1], point), + (point, points[i + 1]), + ) + ] + if angles[0] == angles[1]: + # This is a straight line, so no joint is required + continue + + def coord_at_angle( + coord: Sequence[float], angle: float + ) -> tuple[float, ...]: + x, y = coord + angle -= 90 + distance = width / 2 - 1 + return tuple( + p + (math.floor(p_d) if p_d > 0 else math.ceil(p_d)) + for p, p_d in ( + (x, distance * math.cos(math.radians(angle))), + (y, distance * math.sin(math.radians(angle))), + ) + ) + + flipped = ( + angles[1] > angles[0] and angles[1] - 180 > angles[0] + ) or (angles[1] < angles[0] and angles[1] + 180 > angles[0]) + coords = [ + (point[0] - width / 2 + 1, point[1] - width / 2 + 1), + (point[0] + width / 2 - 1, point[1] + width / 2 - 1), + ] + if flipped: + start, end = (angles[1] + 90, angles[0] + 90) + else: + start, end = (angles[0] - 90, angles[1] - 90) + self.pieslice(coords, start - 90, end - 90, fill) + + if width > 8: + # Cover potential gaps between the line and the joint + if flipped: + gap_coords = [ + coord_at_angle(point, angles[0] + 90), + point, + coord_at_angle(point, angles[1] + 90), + ] + else: + gap_coords = [ + coord_at_angle(point, angles[0] - 90), + point, + coord_at_angle(point, angles[1] - 90), + ] + self.line(gap_coords, fill, width=3) + + def shape( + self, + shape: Image.core._Outline, + fill: _Ink | None = None, + outline: _Ink | None = None, + ) -> None: + """(Experimental) Draw a shape.""" + shape.close() + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_outline(shape, fill_ink, 1) + if ink is not None and ink != fill_ink: + self.draw.draw_outline(shape, ink, 0) + + def pieslice( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a pieslice.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_pieslice(xy, start, end, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_pieslice(xy, start, end, ink, 0, width) + + def point(self, xy: Coords, fill: _Ink | None = None) -> None: + """Draw one or more individual pixels.""" + ink, fill = self._getink(fill) + if ink is not None: + self.draw.draw_points(xy, ink) + + def polygon( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a polygon.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_polygon(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + if width == 1: + self.draw.draw_polygon(xy, ink, 0, width) + elif self.im is not None: + # To avoid expanding the polygon outwards, + # use the fill as a mask + mask = Image.new("1", self.im.size) + mask_ink = self._getink(1)[0] + draw = Draw(mask) + draw.draw.draw_polygon(xy, mask_ink, 1) + + self.draw.draw_polygon(xy, ink, 0, width * 2 - 1, mask.im) + + def regular_polygon( + self, + bounding_circle: Sequence[Sequence[float] | float], + n_sides: int, + rotation: float = 0, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a regular polygon.""" + xy = _compute_regular_polygon_vertices(bounding_circle, n_sides, rotation) + self.polygon(xy, fill, outline, width) + + def rectangle( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a rectangle.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_rectangle(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_rectangle(xy, ink, 0, width) + + def rounded_rectangle( + self, + xy: Coords, + radius: float = 0, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + *, + corners: tuple[bool, bool, bool, bool] | None = None, + ) -> None: + """Draw a rounded rectangle.""" + if isinstance(xy[0], (list, tuple)): + (x0, y0), (x1, y1) = cast(Sequence[Sequence[float]], xy) + else: + x0, y0, x1, y1 = cast(Sequence[float], xy) + if x1 < x0: + msg = "x1 must be greater than or equal to x0" + raise ValueError(msg) + if y1 < y0: + msg = "y1 must be greater than or equal to y0" + raise ValueError(msg) + if corners is None: + corners = (True, True, True, True) + + d = radius * 2 + + x0 = round(x0) + y0 = round(y0) + x1 = round(x1) + y1 = round(y1) + full_x, full_y = False, False + if all(corners): + full_x = d >= x1 - x0 - 1 + if full_x: + # The two left and two right corners are joined + d = x1 - x0 + full_y = d >= y1 - y0 - 1 + if full_y: + # The two top and two bottom corners are joined + d = y1 - y0 + if full_x and full_y: + # If all corners are joined, that is a circle + return self.ellipse(xy, fill, outline, width) + + if d == 0 or not any(corners): + # If the corners have no curve, + # or there are no corners, + # that is a rectangle + return self.rectangle(xy, fill, outline, width) + + r = int(d // 2) + ink, fill_ink = self._getink(outline, fill) + + def draw_corners(pieslice: bool) -> None: + parts: tuple[tuple[tuple[float, float, float, float], int, int], ...] + if full_x: + # Draw top and bottom halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 180, 360), + ((x0, y1 - d, x0 + d, y1), 0, 180), + ) + elif full_y: + # Draw left and right halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 90, 270), + ((x1 - d, y0, x1, y0 + d), 270, 90), + ) + else: + # Draw four separate corners + parts = tuple( + part + for i, part in enumerate( + ( + ((x0, y0, x0 + d, y0 + d), 180, 270), + ((x1 - d, y0, x1, y0 + d), 270, 360), + ((x1 - d, y1 - d, x1, y1), 0, 90), + ((x0, y1 - d, x0 + d, y1), 90, 180), + ) + ) + if corners[i] + ) + for part in parts: + if pieslice: + self.draw.draw_pieslice(*(part + (fill_ink, 1))) + else: + self.draw.draw_arc(*(part + (ink, width))) + + if fill_ink is not None: + draw_corners(True) + + if full_x: + self.draw.draw_rectangle((x0, y0 + r + 1, x1, y1 - r - 1), fill_ink, 1) + elif x1 - r - 1 >= x0 + r + 1: + self.draw.draw_rectangle((x0 + r + 1, y0, x1 - r - 1, y1), fill_ink, 1) + if not full_x and not full_y: + left = [x0, y0, x0 + r, y1] + if corners[0]: + left[1] += r + 1 + if corners[3]: + left[3] -= r + 1 + self.draw.draw_rectangle(left, fill_ink, 1) + + right = [x1 - r, y0, x1, y1] + if corners[1]: + right[1] += r + 1 + if corners[2]: + right[3] -= r + 1 + self.draw.draw_rectangle(right, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + draw_corners(False) + + if not full_x: + top = [x0, y0, x1, y0 + width - 1] + if corners[0]: + top[0] += r + 1 + if corners[1]: + top[2] -= r + 1 + self.draw.draw_rectangle(top, ink, 1) + + bottom = [x0, y1 - width + 1, x1, y1] + if corners[3]: + bottom[0] += r + 1 + if corners[2]: + bottom[2] -= r + 1 + self.draw.draw_rectangle(bottom, ink, 1) + if not full_y: + left = [x0, y0, x0 + width - 1, y1] + if corners[0]: + left[1] += r + 1 + if corners[3]: + left[3] -= r + 1 + self.draw.draw_rectangle(left, ink, 1) + + right = [x1 - width + 1, y0, x1, y1] + if corners[1]: + right[1] += r + 1 + if corners[2]: + right[3] -= r + 1 + self.draw.draw_rectangle(right, ink, 1) + + def text( + self, + xy: tuple[float, float], + text: AnyStr | ImageText.Text[AnyStr], + fill: _Ink | None = None, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + stroke_fill: _Ink | None = None, + embedded_color: bool = False, + *args: Any, + **kwargs: Any, + ) -> None: + """Draw text.""" + if isinstance(text, ImageText.Text): + image_text = text + else: + if font is None: + font = self._getfont(kwargs.get("font_size")) + image_text = ImageText.Text( + text, font, self.mode, spacing, direction, features, language + ) + if embedded_color: + image_text.embed_color() + if stroke_width: + image_text.stroke(stroke_width, stroke_fill) + + def getink(fill: _Ink | None) -> int: + ink, fill_ink = self._getink(fill) + if ink is None: + assert fill_ink is not None + return fill_ink + return ink + + ink = getink(fill) + if ink is None: + return + + stroke_ink = None + if image_text.stroke_width: + stroke_ink = ( + getink(image_text.stroke_fill) + if image_text.stroke_fill is not None + else ink + ) + + for line in image_text._split(xy, anchor, align): + + def draw_text(ink: int, stroke_width: float = 0) -> None: + mode = self.fontmode + if stroke_width == 0 and embedded_color: + mode = "RGBA" + x = int(line.x) + y = int(line.y) + start = (math.modf(line.x)[0], math.modf(line.y)[0]) + try: + mask, offset = image_text.font.getmask2( # type: ignore[union-attr,misc] + line.text, + mode, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + stroke_filled=True, + anchor=line.anchor, + ink=ink, + start=start, + *args, + **kwargs, + ) + x += offset[0] + y += offset[1] + except AttributeError: + try: + mask = image_text.font.getmask( # type: ignore[misc] + line.text, + mode, + direction, + features, + language, + stroke_width, + line.anchor, + ink, + start=start, + *args, + **kwargs, + ) + except TypeError: + mask = image_text.font.getmask(line.text) + if mode == "RGBA": + # image_text.font.getmask2(mode="RGBA") + # returns color in RGB bands and mask in A + # extract mask and set text alpha + color, mask = mask, mask.getband(3) + ink_alpha = struct.pack("i", ink)[3] + color.fillband(3, ink_alpha) + if self.im is not None: + self.im.paste( + color, (x, y, x + mask.size[0], y + mask.size[1]), mask + ) + else: + self.draw.draw_bitmap((x, y), mask, ink) + + if stroke_ink is not None: + # Draw stroked text + draw_text(stroke_ink, image_text.stroke_width) + + # Draw normal text + if ink != stroke_ink: + draw_text(ink) + else: + # Only draw normal text + draw_text(ink) + + def multiline_text( + self, + xy: tuple[float, float], + text: AnyStr, + fill: _Ink | None = None, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + stroke_fill: _Ink | None = None, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> None: + return self.text( + xy, + text, + fill, + font, + anchor, + spacing, + align, + direction, + features, + language, + stroke_width, + stroke_fill, + embedded_color, + font_size=font_size, + ) + + def textlength( + self, + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> float: + """Get the length of a given string, in pixels with 1/64 precision.""" + if font is None: + font = self._getfont(font_size) + image_text = ImageText.Text( + text, + font, + self.mode, + direction=direction, + features=features, + language=language, + ) + if embedded_color: + image_text.embed_color() + return image_text.get_length() + + def textbbox( + self, + xy: tuple[float, float], + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> tuple[float, float, float, float]: + """Get the bounding box of a given string, in pixels.""" + if font is None: + font = self._getfont(font_size) + image_text = ImageText.Text( + text, font, self.mode, spacing, direction, features, language + ) + if embedded_color: + image_text.embed_color() + if stroke_width: + image_text.stroke(stroke_width) + return image_text.get_bbox(xy, anchor, align) + + def multiline_textbbox( + self, + xy: tuple[float, float], + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> tuple[float, float, float, float]: + return self.textbbox( + xy, + text, + font, + anchor, + spacing, + align, + direction, + features, + language, + stroke_width, + embedded_color, + font_size=font_size, + ) + + +def Draw(im: Image.Image, mode: str | None = None) -> ImageDraw: + """ + A simple 2D drawing interface for PIL images. + + :param im: The image to draw in. + :param mode: Optional mode to use for color values. For RGB + images, this argument can be RGB or RGBA (to blend the + drawing into the image). For all other modes, this argument + must be the same as the image mode. If omitted, the mode + defaults to the mode of the image. + """ + try: + return getattr(im, "getdraw")(mode) + except AttributeError: + return ImageDraw(im, mode) + + +def getdraw(im: Image.Image | None = None) -> tuple[ImageDraw2.Draw | None, ModuleType]: + """ + :param im: The image to draw in. + :returns: A (drawing context, drawing resource factory) tuple. + """ + from . import ImageDraw2 + + draw = ImageDraw2.Draw(im) if im is not None else None + return draw, ImageDraw2 + + +def floodfill( + image: Image.Image, + xy: tuple[int, int], + value: float | tuple[int, ...], + border: float | tuple[int, ...] | None = None, + thresh: float = 0, +) -> None: + """ + .. warning:: This method is experimental. + + Fills a bounded region with a given color. + + :param image: Target image. + :param xy: Seed position (a 2-item coordinate tuple). See + :ref:`coordinate-system`. + :param value: Fill color. + :param border: Optional border value. If given, the region consists of + pixels with a color different from the border color. If not given, + the region consists of pixels having the same color as the seed + pixel. + :param thresh: Optional threshold value which specifies a maximum + tolerable difference of a pixel value from the 'background' in + order for it to be replaced. Useful for filling regions of + non-homogeneous, but similar, colors. + """ + # based on an implementation by Eric S. Raymond + # amended by yo1995 @20180806 + pixel = image.load() + assert pixel is not None + x, y = xy + try: + background = pixel[x, y] + if _color_diff(value, background) <= thresh: + return # seed point already has fill color + pixel[x, y] = value + except (ValueError, IndexError): + return # seed point outside image + edge = {(x, y)} + # use a set to keep record of current and previous edge pixels + # to reduce memory consumption + full_edge = set() + while edge: + new_edge = set() + for x, y in edge: # 4 adjacent method + for s, t in ((x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1)): + # If already processed, or if a coordinate is negative, skip + if (s, t) in full_edge or s < 0 or t < 0: + continue + try: + p = pixel[s, t] + except (ValueError, IndexError): + pass + else: + full_edge.add((s, t)) + if border is None: + fill = _color_diff(p, background) <= thresh + else: + fill = p not in (value, border) + if fill: + pixel[s, t] = value + new_edge.add((s, t)) + full_edge = edge # discard pixels processed + edge = new_edge + + +def _compute_regular_polygon_vertices( + bounding_circle: Sequence[Sequence[float] | float], n_sides: int, rotation: float +) -> list[tuple[float, float]]: + """ + Generate a list of vertices for a 2D regular polygon. + + :param bounding_circle: The bounding circle is a sequence defined + by a point and radius. The polygon is inscribed in this circle. + (e.g. ``bounding_circle=(x, y, r)`` or ``((x, y), r)``) + :param n_sides: Number of sides + (e.g. ``n_sides=3`` for a triangle, ``6`` for a hexagon) + :param rotation: Apply an arbitrary rotation to the polygon + (e.g. ``rotation=90``, applies a 90 degree rotation) + :return: List of regular polygon vertices + (e.g. ``[(25, 50), (50, 50), (50, 25), (25, 25)]``) + + How are the vertices computed? + 1. Compute the following variables + - theta: Angle between the apothem & the nearest polygon vertex + - side_length: Length of each polygon edge + - centroid: Center of bounding circle (1st, 2nd elements of bounding_circle) + - polygon_radius: Polygon radius (last element of bounding_circle) + - angles: Location of each polygon vertex in polar grid + (e.g. A square with 0 degree rotation => [225.0, 315.0, 45.0, 135.0]) + + 2. For each angle in angles, get the polygon vertex at that angle + The vertex is computed using the equation below. + X= xcos(φ) + ysin(φ) + Y= −xsin(φ) + ycos(φ) + + Note: + φ = angle in degrees + x = 0 + y = polygon_radius + + The formula above assumes rotation around the origin. + In our case, we are rotating around the centroid. + To account for this, we use the formula below + X = xcos(φ) + ysin(φ) + centroid_x + Y = −xsin(φ) + ycos(φ) + centroid_y + """ + # 1. Error Handling + # 1.1 Check `n_sides` has an appropriate value + if not isinstance(n_sides, int): + msg = "n_sides should be an int" # type: ignore[unreachable] + raise TypeError(msg) + if n_sides < 3: + msg = "n_sides should be an int > 2" + raise ValueError(msg) + + # 1.2 Check `bounding_circle` has an appropriate value + if not isinstance(bounding_circle, (list, tuple)): + msg = "bounding_circle should be a sequence" + raise TypeError(msg) + + if len(bounding_circle) == 3: + if not all(isinstance(i, (int, float)) for i in bounding_circle): + msg = "bounding_circle should only contain numeric data" + raise ValueError(msg) + + *centroid, polygon_radius = cast(list[float], list(bounding_circle)) + elif len(bounding_circle) == 2 and isinstance(bounding_circle[0], (list, tuple)): + if not all( + isinstance(i, (int, float)) for i in bounding_circle[0] + ) or not isinstance(bounding_circle[1], (int, float)): + msg = "bounding_circle should only contain numeric data" + raise ValueError(msg) + + if len(bounding_circle[0]) != 2: + msg = "bounding_circle centre should contain 2D coordinates (e.g. (x, y))" + raise ValueError(msg) + + centroid = cast(list[float], list(bounding_circle[0])) + polygon_radius = cast(float, bounding_circle[1]) + else: + msg = ( + "bounding_circle should contain 2D coordinates " + "and a radius (e.g. (x, y, r) or ((x, y), r) )" + ) + raise ValueError(msg) + + if polygon_radius <= 0: + msg = "bounding_circle radius should be > 0" + raise ValueError(msg) + + # 1.3 Check `rotation` has an appropriate value + if not isinstance(rotation, (int, float)): + msg = "rotation should be an int or float" # type: ignore[unreachable] + raise ValueError(msg) + + # 2. Define Helper Functions + def _apply_rotation(point: list[float], degrees: float) -> tuple[float, float]: + return ( + round( + point[0] * math.cos(math.radians(360 - degrees)) + - point[1] * math.sin(math.radians(360 - degrees)) + + centroid[0], + 2, + ), + round( + point[1] * math.cos(math.radians(360 - degrees)) + + point[0] * math.sin(math.radians(360 - degrees)) + + centroid[1], + 2, + ), + ) + + def _compute_polygon_vertex(angle: float) -> tuple[float, float]: + start_point = [polygon_radius, 0] + return _apply_rotation(start_point, angle) + + def _get_angles(n_sides: int, rotation: float) -> list[float]: + angles = [] + degrees = 360 / n_sides + # Start with the bottom left polygon vertex + current_angle = (270 - 0.5 * degrees) + rotation + for _ in range(n_sides): + angles.append(current_angle) + current_angle += degrees + if current_angle > 360: + current_angle -= 360 + return angles + + # 3. Variable Declarations + angles = _get_angles(n_sides, rotation) + + # 4. Compute Vertices + return [_compute_polygon_vertex(angle) for angle in angles] + + +def _color_diff( + color1: float | tuple[int, ...], color2: float | tuple[int, ...] +) -> float: + """ + Uses 1-norm distance to calculate difference between two values. + """ + first = color1 if isinstance(color1, tuple) else (color1,) + second = color2 if isinstance(color2, tuple) else (color2,) + + return sum(abs(first[i] - second[i]) for i in range(len(second))) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw2.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw2.py new file mode 100644 index 0000000..2c9e39b --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageDraw2.py @@ -0,0 +1,244 @@ +# +# The Python Imaging Library +# $Id$ +# +# WCK-style drawing interface operations +# +# History: +# 2003-12-07 fl created +# 2005-05-15 fl updated; added to PIL as ImageDraw2 +# 2005-05-15 fl added text support +# 2005-05-20 fl added arc/chord/pieslice support +# +# Copyright (c) 2003-2005 by Secret Labs AB +# Copyright (c) 2003-2005 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + + +""" +(Experimental) WCK-style drawing interface operations + +.. seealso:: :py:mod:`PIL.ImageDraw` +""" + +from __future__ import annotations + +from typing import Any, AnyStr, BinaryIO + +from . import Image, ImageColor, ImageDraw, ImageFont, ImagePath +from ._typing import Coords, StrOrBytesPath + + +class Pen: + """Stores an outline color and width.""" + + def __init__(self, color: str, width: int = 1, opacity: int = 255) -> None: + self.color = ImageColor.getrgb(color) + self.width = width + + +class Brush: + """Stores a fill color""" + + def __init__(self, color: str, opacity: int = 255) -> None: + self.color = ImageColor.getrgb(color) + + +class Font: + """Stores a TrueType font and color""" + + def __init__( + self, color: str, file: StrOrBytesPath | BinaryIO, size: float = 12 + ) -> None: + # FIXME: add support for bitmap fonts + self.color = ImageColor.getrgb(color) + self.font = ImageFont.truetype(file, size) + + +class Draw: + """ + (Experimental) WCK-style drawing interface + """ + + def __init__( + self, + image: Image.Image | str, + size: tuple[int, int] | list[int] | None = None, + color: float | tuple[float, ...] | str | None = None, + ) -> None: + if isinstance(image, str): + if size is None: + msg = "If image argument is mode string, size must be a list or tuple" + raise ValueError(msg) + image = Image.new(image, size, color) + self.draw = ImageDraw.Draw(image) + self.image = image + self.transform: tuple[float, float, float, float, float, float] | None = None + + def flush(self) -> Image.Image: + return self.image + + def render( + self, + op: str, + xy: Coords, + pen: Pen | Brush | None, + brush: Brush | Pen | None = None, + **kwargs: Any, + ) -> None: + # handle color arguments + outline = fill = None + width = 1 + if isinstance(pen, Pen): + outline = pen.color + width = pen.width + elif isinstance(brush, Pen): + outline = brush.color + width = brush.width + if isinstance(brush, Brush): + fill = brush.color + elif isinstance(pen, Brush): + fill = pen.color + # handle transformation + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + # render the item + if op in ("arc", "line"): + kwargs.setdefault("fill", outline) + else: + kwargs.setdefault("fill", fill) + kwargs.setdefault("outline", outline) + if op == "line": + kwargs.setdefault("width", width) + getattr(self.draw, op)(xy, **kwargs) + + def settransform(self, offset: tuple[float, float]) -> None: + """Sets a transformation offset.""" + xoffset, yoffset = offset + self.transform = (1, 0, xoffset, 0, 1, yoffset) + + def arc( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Draws an arc (a portion of a circle outline) between the start and end + angles, inside the given bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.arc` + """ + self.render("arc", xy, pen, *options, start=start, end=end) + + def chord( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Same as :py:meth:`~PIL.ImageDraw2.Draw.arc`, but connects the end points + with a straight line. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.chord` + """ + self.render("chord", xy, pen, *options, start=start, end=end) + + def ellipse(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws an ellipse inside the given bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.ellipse` + """ + self.render("ellipse", xy, pen, *options) + + def line(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a line between the coordinates in the ``xy`` list. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.line` + """ + self.render("line", xy, pen, *options) + + def pieslice( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Same as arc, but also draws straight lines between the end points and the + center of the bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.pieslice` + """ + self.render("pieslice", xy, pen, *options, start=start, end=end) + + def polygon(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a polygon. + + The polygon outline consists of straight lines between the given + coordinates, plus a straight line between the last and the first + coordinate. + + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.polygon` + """ + self.render("polygon", xy, pen, *options) + + def rectangle(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a rectangle. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.rectangle` + """ + self.render("rectangle", xy, pen, *options) + + def text(self, xy: tuple[float, float], text: AnyStr, font: Font) -> None: + """ + Draws the string at the given position. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.text` + """ + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + self.draw.text(xy, text, font=font.font, fill=font.color) + + def textbbox( + self, xy: tuple[float, float], text: AnyStr, font: Font + ) -> tuple[float, float, float, float]: + """ + Returns bounding box (in pixels) of given text. + + :return: ``(left, top, right, bottom)`` bounding box + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.textbbox` + """ + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + return self.draw.textbbox(xy, text, font=font.font) + + def textlength(self, text: AnyStr, font: Font) -> float: + """ + Returns length (in pixels) of given text. + This is the amount by which following text should be offset. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.textlength` + """ + return self.draw.textlength(text, font=font.font) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageEnhance.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageEnhance.py new file mode 100644 index 0000000..0e7e6dd --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageEnhance.py @@ -0,0 +1,113 @@ +# +# The Python Imaging Library. +# $Id$ +# +# image enhancement classes +# +# For a background, see "Image Processing By Interpolation and +# Extrapolation", Paul Haeberli and Douglas Voorhies. Available +# at http://www.graficaobscura.com/interp/index.html +# +# History: +# 1996-03-23 fl Created +# 2009-06-16 fl Fixed mean calculation +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFilter, ImageStat + + +class _Enhance: + image: Image.Image + degenerate: Image.Image + + def enhance(self, factor: float) -> Image.Image: + """ + Returns an enhanced image. + + :param factor: A floating point value controlling the enhancement. + Factor 1.0 always returns a copy of the original image, + lower factors mean less color (brightness, contrast, + etc), and higher values more. There are no restrictions + on this value. + :rtype: :py:class:`~PIL.Image.Image` + """ + return Image.blend(self.degenerate, self.image, factor) + + +class Color(_Enhance): + """Adjust image color balance. + + This class can be used to adjust the colour balance of an image, in + a manner similar to the controls on a colour TV set. An enhancement + factor of 0.0 gives a black and white image. A factor of 1.0 gives + the original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.intermediate_mode = "L" + if "A" in image.getbands(): + self.intermediate_mode = "LA" + + if self.intermediate_mode != image.mode: + image = image.convert(self.intermediate_mode).convert(image.mode) + self.degenerate = image + + +class Contrast(_Enhance): + """Adjust image contrast. + + This class can be used to control the contrast of an image, similar + to the contrast control on a TV set. An enhancement factor of 0.0 + gives a solid gray image. A factor of 1.0 gives the original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + if image.mode != "L": + image = image.convert("L") + mean = int(ImageStat.Stat(image).mean[0] + 0.5) + self.degenerate = Image.new("L", image.size, mean) + if self.degenerate.mode != self.image.mode: + self.degenerate = self.degenerate.convert(self.image.mode) + + if "A" in self.image.getbands(): + self.degenerate.putalpha(self.image.getchannel("A")) + + +class Brightness(_Enhance): + """Adjust image brightness. + + This class can be used to control the brightness of an image. An + enhancement factor of 0.0 gives a black image. A factor of 1.0 gives the + original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.degenerate = Image.new(image.mode, image.size, 0) + + if "A" in image.getbands(): + self.degenerate.putalpha(image.getchannel("A")) + + +class Sharpness(_Enhance): + """Adjust image sharpness. + + This class can be used to adjust the sharpness of an image. An + enhancement factor of 0.0 gives a blurred image, a factor of 1.0 gives the + original image, and a factor of 2.0 gives a sharpened image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.degenerate = image.filter(ImageFilter.SMOOTH) + + if "A" in image.getbands(): + self.degenerate.putalpha(image.getchannel("A")) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFile.py new file mode 100644 index 0000000..c70d93f --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFile.py @@ -0,0 +1,935 @@ +# +# The Python Imaging Library. +# $Id$ +# +# base class for image file handlers +# +# history: +# 1995-09-09 fl Created +# 1996-03-11 fl Fixed load mechanism. +# 1996-04-15 fl Added pcx/xbm decoders. +# 1996-04-30 fl Added encoders. +# 1996-12-14 fl Added load helpers +# 1997-01-11 fl Use encode_to_file where possible +# 1997-08-27 fl Flush output in _save +# 1998-03-05 fl Use memory mapping for some modes +# 1999-02-04 fl Use memory mapping also for "I;16" and "I;16B" +# 1999-05-31 fl Added image parser +# 2000-10-12 fl Set readonly flag on memory-mapped images +# 2002-03-20 fl Use better messages for common decoder errors +# 2003-04-21 fl Fall back on mmap/map_buffer if map is not available +# 2003-10-30 fl Added StubImageFile class +# 2004-02-25 fl Made incremental parser more robust +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1995-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import io +import itertools +import logging +import os +import struct +from typing import IO, Any, NamedTuple, cast + +from . import ExifTags, Image +from ._util import DeferredError, is_path + +TYPE_CHECKING = False +if TYPE_CHECKING: + from ._typing import StrOrBytesPath + +logger = logging.getLogger(__name__) + +MAXBLOCK = 65536 +""" +By default, Pillow processes image data in blocks. This helps to prevent excessive use +of resources. Codecs may disable this behaviour with ``_pulls_fd`` or ``_pushes_fd``. + +When reading an image, this is the number of bytes to read at once. + +When writing an image, this is the number of bytes to write at once. +If the image width times 4 is greater, then that will be used instead. +Plugins may also set a greater number. + +User code may set this to another number. +""" + +SAFEBLOCK = 1024 * 1024 + +LOAD_TRUNCATED_IMAGES = False +"""Whether or not to load truncated image files. User code may change this.""" + +ERRORS = { + -1: "image buffer overrun error", + -2: "decoding error", + -3: "unknown error", + -8: "bad configuration", + -9: "out of memory error", +} +""" +Dict of known error codes returned from :meth:`.PyDecoder.decode`, +:meth:`.PyEncoder.encode` :meth:`.PyEncoder.encode_to_pyfd` and +:meth:`.PyEncoder.encode_to_file`. +""" + + +# +# -------------------------------------------------------------------- +# Helpers + + +def _get_oserror(error: int, *, encoder: bool) -> OSError: + try: + msg = Image.core.getcodecstatus(error) + except AttributeError: + msg = ERRORS.get(error) + if not msg: + msg = f"{'encoder' if encoder else 'decoder'} error {error}" + msg += f" when {'writing' if encoder else 'reading'} image file" + return OSError(msg) + + +def _tilesort(t: _Tile) -> int: + # sort on offset + return t[2] + + +class _Tile(NamedTuple): + codec_name: str + extents: tuple[int, int, int, int] | None + offset: int = 0 + args: tuple[Any, ...] | str | None = None + + +# +# -------------------------------------------------------------------- +# ImageFile base class + + +class ImageFile(Image.Image): + """Base class for image file format handlers.""" + + def __init__( + self, fp: StrOrBytesPath | IO[bytes], filename: str | bytes | None = None + ) -> None: + super().__init__() + + self._min_frame = 0 + + self.custom_mimetype: str | None = None + + self.tile: list[_Tile] = [] + """ A list of tile descriptors """ + + self.readonly = 1 # until we know better + + self.decoderconfig: tuple[Any, ...] = () + self.decodermaxblock = MAXBLOCK + + self.fp: IO[bytes] | None + self._fp: IO[bytes] | DeferredError + if is_path(fp): + # filename + self.fp = open(fp, "rb") + self.filename = os.fspath(fp) + self._exclusive_fp = True + else: + # stream + self.fp = cast(IO[bytes], fp) + self.filename = filename if filename is not None else "" + # can be overridden + self._exclusive_fp = False + + try: + try: + self._open() + + if isinstance(self, StubImageFile): + if loader := self._load(): + loader.open(self) + except ( + IndexError, # end of data + TypeError, # end of data (ord) + KeyError, # unsupported mode + EOFError, # got header but not the first frame + struct.error, + ) as v: + raise SyntaxError(v) from v + + if not self.mode or self.size[0] <= 0 or self.size[1] <= 0: + msg = "not identified by this driver" + raise SyntaxError(msg) + except BaseException: + # close the file only if we have opened it this constructor + if self._exclusive_fp: + self.fp.close() + raise + + def _open(self) -> None: + pass + + # Context manager support + def __enter__(self) -> ImageFile: + return self + + def _close_fp(self) -> None: + if getattr(self, "_fp", False) and not isinstance(self._fp, DeferredError): + if self._fp != self.fp: + self._fp.close() + self._fp = DeferredError(ValueError("Operation on closed image")) + if self.fp: + self.fp.close() + + def __exit__(self, *args: object) -> None: + if getattr(self, "_exclusive_fp", False): + self._close_fp() + self.fp = None + + def close(self) -> None: + """ + Closes the file pointer, if possible. + + This operation will destroy the image core and release its memory. + The image data will be unusable afterward. + + This function is required to close images that have multiple frames or + have not had their file read and closed by the + :py:meth:`~PIL.Image.Image.load` method. See :ref:`file-handling` for + more information. + """ + try: + self._close_fp() + self.fp = None + except Exception as msg: + logger.debug("Error closing: %s", msg) + + super().close() + + def get_child_images(self) -> list[ImageFile]: + child_images = [] + exif = self.getexif() + ifds = [] + if ExifTags.Base.SubIFDs in exif: + subifd_offsets = exif[ExifTags.Base.SubIFDs] + if subifd_offsets: + if not isinstance(subifd_offsets, tuple): + subifd_offsets = (subifd_offsets,) + ifds = [ + (exif._get_ifd_dict(subifd_offset), subifd_offset) + for subifd_offset in subifd_offsets + ] + ifd1 = exif.get_ifd(ExifTags.IFD.IFD1) + if ifd1 and ifd1.get(ExifTags.Base.JpegIFOffset): + assert exif._info is not None + ifds.append((ifd1, exif._info.next)) + + offset = None + for ifd, ifd_offset in ifds: + assert self.fp is not None + current_offset = self.fp.tell() + if offset is None: + offset = current_offset + + fp = self.fp + if ifd is not None: + thumbnail_offset = ifd.get(ExifTags.Base.JpegIFOffset) + if thumbnail_offset is not None: + thumbnail_offset += getattr(self, "_exif_offset", 0) + self.fp.seek(thumbnail_offset) + + length = ifd.get(ExifTags.Base.JpegIFByteCount) + assert isinstance(length, int) + data = self.fp.read(length) + fp = io.BytesIO(data) + + with Image.open(fp) as im: + from . import TiffImagePlugin + + if thumbnail_offset is None and isinstance( + im, TiffImagePlugin.TiffImageFile + ): + im._frame_pos = [ifd_offset] + im._seek(0) + im.load() + child_images.append(im) + + if offset is not None: + assert self.fp is not None + self.fp.seek(offset) + return child_images + + def get_format_mimetype(self) -> str | None: + if self.custom_mimetype: + return self.custom_mimetype + if self.format is not None: + return Image.MIME.get(self.format.upper()) + return None + + def __getstate__(self) -> list[Any]: + return super().__getstate__() + [self.filename] + + def __setstate__(self, state: list[Any]) -> None: + self.tile = [] + if len(state) > 5: + self.filename = state[5] + super().__setstate__(state) + + def verify(self) -> None: + """Check file integrity""" + + # raise exception if something's wrong. must be called + # directly after open, and closes file when finished. + if self._exclusive_fp and self.fp: + self.fp.close() + self.fp = None + + def load(self) -> Image.core.PixelAccess | None: + """Load image data based on tile list""" + + if not self.tile and self._im is None: + msg = "cannot load this image" + raise OSError(msg) + + pixel = Image.Image.load(self) + if not self.tile: + return pixel + + self.map: mmap.mmap | None = None + use_mmap = self.filename and len(self.tile) == 1 + + assert self.fp is not None + readonly = 0 + + # look for read/seek overrides + if hasattr(self, "load_read"): + read = self.load_read + # don't use mmap if there are custom read/seek functions + use_mmap = False + else: + read = self.fp.read + + if hasattr(self, "load_seek"): + seek = self.load_seek + use_mmap = False + else: + seek = self.fp.seek + + if use_mmap: + # try memory mapping + decoder_name, extents, offset, args = self.tile[0] + if isinstance(args, str): + args = (args, 0, 1) + if ( + decoder_name == "raw" + and isinstance(args, tuple) + and len(args) >= 3 + and args[0] == self.mode + and args[0] in Image._MAPMODES + ): + if offset < 0: + msg = "Tile offset cannot be negative" + raise ValueError(msg) + try: + # use mmap, if possible + import mmap + + with open(self.filename) as fp: + self.map = mmap.mmap(fp.fileno(), 0, access=mmap.ACCESS_READ) + if offset + self.size[1] * args[1] > self.map.size(): + msg = "buffer is not large enough" + raise OSError(msg) + self.im = Image.core.map_buffer( + self.map, self.size, decoder_name, offset, args + ) + readonly = 1 + # After trashing self.im, + # we might need to reload the palette data. + if self.palette: + self.palette.dirty = 1 + except (AttributeError, OSError, ImportError): + self.map = None + + self.load_prepare() + err_code = -3 # initialize to unknown error + if not self.map: + # sort tiles in file order + self.tile.sort(key=_tilesort) + + # FIXME: This is a hack to handle TIFF's JpegTables tag. + prefix = getattr(self, "tile_prefix", b"") + + # Remove consecutive duplicates that only differ by their offset + self.tile = [ + list(tiles)[-1] + for _, tiles in itertools.groupby( + self.tile, lambda tile: (tile[0], tile[1], tile[3]) + ) + ] + for i, (decoder_name, extents, offset, args) in enumerate(self.tile): + seek(offset) + decoder = Image._getdecoder( + self.mode, decoder_name, args, self.decoderconfig + ) + try: + decoder.setimage(self.im, extents) + if decoder.pulls_fd: + decoder.setfd(self.fp) + err_code = decoder.decode(b"")[1] + else: + b = prefix + while True: + read_bytes = self.decodermaxblock + if i + 1 < len(self.tile): + next_offset = self.tile[i + 1].offset + if next_offset > offset: + read_bytes = next_offset - offset + try: + s = read(read_bytes) + except (IndexError, struct.error) as e: + # truncated png/gif + if LOAD_TRUNCATED_IMAGES: + break + else: + msg = "image file is truncated" + raise OSError(msg) from e + + if not s: # truncated jpeg + if LOAD_TRUNCATED_IMAGES: + break + else: + msg = ( + "image file is truncated " + f"({len(b)} bytes not processed)" + ) + raise OSError(msg) + + b = b + s + n, err_code = decoder.decode(b) + if n < 0: + break + b = b[n:] + finally: + # Need to cleanup here to prevent leaks + decoder.cleanup() + + self.tile = [] + self.readonly = readonly + + self.load_end() + + if self._exclusive_fp and self._close_exclusive_fp_after_loading: + self.fp.close() + self.fp = None + + if not self.map and not LOAD_TRUNCATED_IMAGES and err_code < 0: + # still raised if decoder fails to return anything + raise _get_oserror(err_code, encoder=False) + + return Image.Image.load(self) + + def load_prepare(self) -> None: + # create image memory if necessary + if self._im is None: + self.im = Image.core.new(self.mode, self.size) + # create palette (optional) + if self.mode == "P": + Image.Image.load(self) + + def load_end(self) -> None: + # may be overridden + pass + + # may be defined for contained formats + # def load_seek(self, pos: int) -> None: + # pass + + # may be defined for blocked formats (e.g. PNG) + # def load_read(self, read_bytes: int) -> bytes: + # pass + + def _seek_check(self, frame: int) -> bool: + if ( + frame < self._min_frame + # Only check upper limit on frames if additional seek operations + # are not required to do so + or ( + not (hasattr(self, "_n_frames") and self._n_frames is None) + and frame >= getattr(self, "n_frames") + self._min_frame + ) + ): + msg = "attempt to seek outside sequence" + raise EOFError(msg) + + return self.tell() != frame + + +class StubHandler(abc.ABC): + def open(self, im: StubImageFile) -> None: + pass + + @abc.abstractmethod + def load(self, im: StubImageFile) -> Image.Image: + pass + + +class StubImageFile(ImageFile, metaclass=abc.ABCMeta): + """ + Base class for stub image loaders. + + A stub loader is an image loader that can identify files of a + certain format, but relies on external code to load the file. + """ + + @abc.abstractmethod + def _open(self) -> None: + pass + + def load(self) -> Image.core.PixelAccess | None: + loader = self._load() + if loader is None: + msg = f"cannot find loader for this {self.format} file" + raise OSError(msg) + image = loader.load(self) + assert image is not None + # become the other object (!) + self.__class__ = image.__class__ # type: ignore[assignment] + self.__dict__ = image.__dict__ + return image.load() + + @abc.abstractmethod + def _load(self) -> StubHandler | None: + """(Hook) Find actual image loader.""" + pass + + +class Parser: + """ + Incremental image parser. This class implements the standard + feed/close consumer interface. + """ + + incremental = None + image: Image.Image | None = None + data: bytes | None = None + decoder: Image.core.ImagingDecoder | PyDecoder | None = None + offset = 0 + finished = 0 + + def reset(self) -> None: + """ + (Consumer) Reset the parser. Note that you can only call this + method immediately after you've created a parser; parser + instances cannot be reused. + """ + assert self.data is None, "cannot reuse parsers" + + def feed(self, data: bytes) -> None: + """ + (Consumer) Feed data to the parser. + + :param data: A string buffer. + :exception OSError: If the parser failed to parse the image file. + """ + # collect data + + if self.finished: + return + + if self.data is None: + self.data = data + else: + self.data = self.data + data + + # parse what we have + if self.decoder: + if self.offset > 0: + # skip header + skip = min(len(self.data), self.offset) + self.data = self.data[skip:] + self.offset = self.offset - skip + if self.offset > 0 or not self.data: + return + + n, e = self.decoder.decode(self.data) + + if n < 0: + # end of stream + self.data = None + self.finished = 1 + if e < 0: + # decoding error + self.image = None + raise _get_oserror(e, encoder=False) + else: + # end of image + return + self.data = self.data[n:] + + elif self.image: + # if we end up here with no decoder, this file cannot + # be incrementally parsed. wait until we've gotten all + # available data + pass + + else: + # attempt to open this file + try: + with io.BytesIO(self.data) as fp: + im = Image.open(fp) + except OSError: + pass # not enough data + else: + flag = hasattr(im, "load_seek") or hasattr(im, "load_read") + if not flag and len(im.tile) == 1: + # initialize decoder + im.load_prepare() + d, e, o, a = im.tile[0] + im.tile = [] + self.decoder = Image._getdecoder(im.mode, d, a, im.decoderconfig) + self.decoder.setimage(im.im, e) + + # calculate decoder offset + self.offset = o + if self.offset <= len(self.data): + self.data = self.data[self.offset :] + self.offset = 0 + + self.image = im + + def __enter__(self) -> Parser: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def close(self) -> Image.Image: + """ + (Consumer) Close the stream. + + :returns: An image object. + :exception OSError: If the parser failed to parse the image file either + because it cannot be identified or cannot be + decoded. + """ + # finish decoding + if self.decoder: + # get rid of what's left in the buffers + self.feed(b"") + self.data = self.decoder = None + if not self.finished: + msg = "image was incomplete" + raise OSError(msg) + if not self.image: + msg = "cannot parse this image" + raise OSError(msg) + if self.data: + # incremental parsing not possible; reopen the file + # not that we have all data + with io.BytesIO(self.data) as fp: + try: + self.image = Image.open(fp) + finally: + self.image.load() + return self.image + + +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], tile: list[_Tile], bufsize: int = 0) -> None: + """Helper to save image based on tile list + + :param im: Image object. + :param fp: File object. + :param tile: Tile list. + :param bufsize: Optional buffer size + """ + + im.load() + if not hasattr(im, "encoderconfig"): + im.encoderconfig = () + tile.sort(key=_tilesort) + # FIXME: make MAXBLOCK a configuration parameter + # It would be great if we could have the encoder specify what it needs + # But, it would need at least the image size in most cases. RawEncode is + # a tricky case. + bufsize = max(MAXBLOCK, bufsize, im.size[0] * 4) # see RawEncode.c + try: + fh = fp.fileno() + fp.flush() + _encode_tile(im, fp, tile, bufsize, fh) + except (AttributeError, io.UnsupportedOperation) as exc: + _encode_tile(im, fp, tile, bufsize, None, exc) + if hasattr(fp, "flush"): + fp.flush() + + +def _encode_tile( + im: Image.Image, + fp: IO[bytes], + tile: list[_Tile], + bufsize: int, + fh: int | None, + exc: BaseException | None = None, +) -> None: + for encoder_name, extents, offset, args in tile: + if offset > 0: + fp.seek(offset) + encoder = Image._getencoder(im.mode, encoder_name, args, im.encoderconfig) + try: + encoder.setimage(im.im, extents) + if encoder.pushes_fd: + encoder.setfd(fp) + errcode = encoder.encode_to_pyfd()[1] + else: + if exc: + # compress to Python file-compatible object + while True: + errcode, data = encoder.encode(bufsize)[1:] + fp.write(data) + if errcode: + break + else: + # slight speedup: compress to real file object + assert fh is not None + errcode = encoder.encode_to_file(fh, bufsize) + if errcode < 0: + raise _get_oserror(errcode, encoder=True) from exc + finally: + encoder.cleanup() + + +def _safe_read(fp: IO[bytes], size: int) -> bytes: + """ + Reads large blocks in a safe way. Unlike fp.read(n), this function + doesn't trust the user. If the requested size is larger than + SAFEBLOCK, the file is read block by block. + + :param fp: File handle. Must implement a <b>read</b> method. + :param size: Number of bytes to read. + :returns: A string containing <i>size</i> bytes of data. + + Raises an OSError if the file is truncated and the read cannot be completed + + """ + if size <= 0: + return b"" + if size <= SAFEBLOCK: + data = fp.read(size) + if len(data) < size: + msg = "Truncated File Read" + raise OSError(msg) + return data + blocks: list[bytes] = [] + remaining_size = size + while remaining_size > 0: + block = fp.read(min(remaining_size, SAFEBLOCK)) + if not block: + break + blocks.append(block) + remaining_size -= len(block) + if sum(len(block) for block in blocks) < size: + msg = "Truncated File Read" + raise OSError(msg) + return b"".join(blocks) + + +class PyCodecState: + def __init__(self) -> None: + self.xsize = 0 + self.ysize = 0 + self.xoff = 0 + self.yoff = 0 + + def extents(self) -> tuple[int, int, int, int]: + return self.xoff, self.yoff, self.xoff + self.xsize, self.yoff + self.ysize + + +class PyCodec: + fd: IO[bytes] | None + + def __init__(self, mode: str, *args: Any) -> None: + self.im: Image.core.ImagingCore | None = None + self.state = PyCodecState() + self.fd = None + self.mode = mode + self.init(args) + + def init(self, args: tuple[Any, ...]) -> None: + """ + Override to perform codec specific initialization + + :param args: Tuple of arg items from the tile entry + :returns: None + """ + self.args = args + + def cleanup(self) -> None: + """ + Override to perform codec specific cleanup + + :returns: None + """ + pass + + def setfd(self, fd: IO[bytes]) -> None: + """ + Called from ImageFile to set the Python file-like object + + :param fd: A Python file-like object + :returns: None + """ + self.fd = fd + + def setimage( + self, + im: Image.core.ImagingCore, + extents: tuple[int, int, int, int] | None = None, + ) -> None: + """ + Called from ImageFile to set the core output image for the codec + + :param im: A core image object + :param extents: a 4 tuple of (x0, y0, x1, y1) defining the rectangle + for this tile + :returns: None + """ + + # following c code + self.im = im + + if extents: + x0, y0, x1, y1 = extents + + if x0 < 0 or y0 < 0 or x1 > self.im.size[0] or y1 > self.im.size[1]: + msg = "Tile cannot extend outside image" + raise ValueError(msg) + + self.state.xoff = x0 + self.state.yoff = y0 + self.state.xsize = x1 - x0 + self.state.ysize = y1 - y0 + else: + self.state.xsize, self.state.ysize = self.im.size + + if self.state.xsize <= 0 or self.state.ysize <= 0: + msg = "Size must be positive" + raise ValueError(msg) + + +class PyDecoder(PyCodec): + """ + Python implementation of a format decoder. Override this class and + add the decoding logic in the :meth:`decode` method. + + See :ref:`Writing Your Own File Codec in Python<file-codecs-py>` + """ + + _pulls_fd = False + + @property + def pulls_fd(self) -> bool: + return self._pulls_fd + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + """ + Override to perform the decoding process. + + :param buffer: A bytes object with the data to be decoded. + :returns: A tuple of ``(bytes consumed, errcode)``. + If finished with decoding return -1 for the bytes consumed. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + msg = "unavailable in base decoder" + raise NotImplementedError(msg) + + def set_as_raw( + self, data: bytes, rawmode: str | None = None, extra: tuple[Any, ...] = () + ) -> None: + """ + Convenience method to set the internal image from a stream of raw data + + :param data: Bytes to be set + :param rawmode: The rawmode to be used for the decoder. + If not specified, it will default to the mode of the image + :param extra: Extra arguments for the decoder. + :returns: None + """ + + if not rawmode: + rawmode = self.mode + d = Image._getdecoder(self.mode, "raw", rawmode, extra) + assert self.im is not None + d.setimage(self.im, self.state.extents()) + s = d.decode(data) + + if s[0] >= 0: + msg = "not enough image data" + raise ValueError(msg) + if s[1] != 0: + msg = "cannot decode image data" + raise ValueError(msg) + + +class PyEncoder(PyCodec): + """ + Python implementation of a format encoder. Override this class and + add the decoding logic in the :meth:`encode` method. + + See :ref:`Writing Your Own File Codec in Python<file-codecs-py>` + """ + + _pushes_fd = False + + @property + def pushes_fd(self) -> bool: + return self._pushes_fd + + def encode(self, bufsize: int) -> tuple[int, int, bytes]: + """ + Override to perform the encoding process. + + :param bufsize: Buffer size. + :returns: A tuple of ``(bytes encoded, errcode, bytes)``. + If finished with encoding return 1 for the error code. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + msg = "unavailable in base encoder" + raise NotImplementedError(msg) + + def encode_to_pyfd(self) -> tuple[int, int]: + """ + If ``pushes_fd`` is ``True``, then this method will be used, + and ``encode()`` will only be called once. + + :returns: A tuple of ``(bytes consumed, errcode)``. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + if not self.pushes_fd: + return 0, -8 # bad configuration + bytes_consumed, errcode, data = self.encode(0) + if data: + assert self.fd is not None + self.fd.write(data) + return bytes_consumed, errcode + + def encode_to_file(self, fh: int, bufsize: int) -> int: + """ + :param fh: File handle. + :param bufsize: Buffer size. + + :returns: If finished successfully, return 0. + Otherwise, return an error code. Err codes are from + :data:`.ImageFile.ERRORS`. + """ + errcode = 0 + while errcode == 0: + status, errcode, buf = self.encode(bufsize) + if status > 0: + os.write(fh, buf[status:]) + return errcode diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFilter.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFilter.py new file mode 100644 index 0000000..9326eee --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFilter.py @@ -0,0 +1,607 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard filters +# +# History: +# 1995-11-27 fl Created +# 2002-06-08 fl Added rank and mode filters +# 2003-09-15 fl Fixed rank calculation in rank filter; added expand call +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2002 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import functools +from collections.abc import Sequence +from typing import cast + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from types import ModuleType + from typing import Any + + from . import _imaging + from ._typing import NumpyArray + + +class Filter(abc.ABC): + @abc.abstractmethod + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + pass + + +class MultibandFilter(Filter): + pass + + +class BuiltinFilter(MultibandFilter): + filterargs: tuple[Any, ...] + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + if image.mode == "P": + msg = "cannot filter palette images" + raise ValueError(msg) + return image.filter(*self.filterargs) + + +class Kernel(BuiltinFilter): + """ + Create a convolution kernel. This only supports 3x3 and 5x5 integer and floating + point kernels. + + Kernels can only be applied to "L" and "RGB" images. + + :param size: Kernel size, given as (width, height). This must be (3,3) or (5,5). + :param kernel: A sequence containing kernel weights. The kernel will be flipped + vertically before being applied to the image. + :param scale: Scale factor. If given, the result for each pixel is divided by this + value. The default is the sum of the kernel weights. + :param offset: Offset. If given, this value is added to the result, after it has + been divided by the scale factor. + """ + + name = "Kernel" + + def __init__( + self, + size: tuple[int, int], + kernel: Sequence[float], + scale: float | None = None, + offset: float = 0, + ) -> None: + if scale is None: + # default scale is sum of kernel + scale = functools.reduce(lambda a, b: a + b, kernel) + if size[0] * size[1] != len(kernel): + msg = "not enough coefficients in kernel" + raise ValueError(msg) + self.filterargs = size, scale, offset, kernel + + +class RankFilter(Filter): + """ + Create a rank filter. The rank filter sorts all pixels in + a window of the given size, and returns the ``rank``'th value. + + :param size: The kernel size, in pixels. + :param rank: What pixel value to pick. Use 0 for a min filter, + ``size * size / 2`` for a median filter, ``size * size - 1`` + for a max filter, etc. + """ + + name = "Rank" + + def __init__(self, size: int, rank: int) -> None: + self.size = size + self.rank = rank + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + if image.mode == "P": + msg = "cannot filter palette images" + raise ValueError(msg) + image = image.expand(self.size // 2, self.size // 2) + return image.rankfilter(self.size, self.rank) + + +class MedianFilter(RankFilter): + """ + Create a median filter. Picks the median pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Median" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = size * size // 2 + + +class MinFilter(RankFilter): + """ + Create a min filter. Picks the lowest pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Min" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = 0 + + +class MaxFilter(RankFilter): + """ + Create a max filter. Picks the largest pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Max" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = size * size - 1 + + +class ModeFilter(Filter): + """ + Create a mode filter. Picks the most frequent pixel value in a box with the + given size. Pixel values that occur only once or twice are ignored; if no + pixel value occurs more than twice, the original pixel value is preserved. + + :param size: The kernel size, in pixels. + """ + + name = "Mode" + + def __init__(self, size: int = 3) -> None: + self.size = size + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + return image.modefilter(self.size) + + +class GaussianBlur(MultibandFilter): + """Blurs the image with a sequence of extended box filters, which + approximates a Gaussian kernel. For details on accuracy see + <https://www.mia.uni-saarland.de/Publications/gwosdek-ssvm11.pdf> + + :param radius: Standard deviation of the Gaussian kernel. Either a sequence of two + numbers for x and y, or a single number for both. + """ + + name = "GaussianBlur" + + def __init__(self, radius: float | Sequence[float] = 2) -> None: + self.radius = radius + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + xy = self.radius + if isinstance(xy, (int, float)): + xy = (xy, xy) + if xy == (0, 0): + return image.copy() + return image.gaussian_blur(xy) + + +class BoxBlur(MultibandFilter): + """Blurs the image by setting each pixel to the average value of the pixels + in a square box extending radius pixels in each direction. + Supports float radius of arbitrary size. Uses an optimized implementation + which runs in linear time relative to the size of the image + for any radius value. + + :param radius: Size of the box in a direction. Either a sequence of two numbers for + x and y, or a single number for both. + + Radius 0 does not blur, returns an identical image. + Radius 1 takes 1 pixel in each direction, i.e. 9 pixels in total. + """ + + name = "BoxBlur" + + def __init__(self, radius: float | Sequence[float]) -> None: + xy = radius if isinstance(radius, (tuple, list)) else (radius, radius) + if xy[0] < 0 or xy[1] < 0: + msg = "radius must be >= 0" + raise ValueError(msg) + self.radius = radius + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + xy = self.radius + if isinstance(xy, (int, float)): + xy = (xy, xy) + if xy == (0, 0): + return image.copy() + return image.box_blur(xy) + + +class UnsharpMask(MultibandFilter): + """Unsharp mask filter. + + See Wikipedia's entry on `digital unsharp masking`_ for an explanation of + the parameters. + + :param radius: Blur Radius + :param percent: Unsharp strength, in percent + :param threshold: Threshold controls the minimum brightness change that + will be sharpened + + .. _digital unsharp masking: https://en.wikipedia.org/wiki/Unsharp_masking#Digital_unsharp_masking + + """ + + name = "UnsharpMask" + + def __init__( + self, radius: float = 2, percent: int = 150, threshold: int = 3 + ) -> None: + self.radius = radius + self.percent = percent + self.threshold = threshold + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + return image.unsharp_mask(self.radius, self.percent, self.threshold) + + +class BLUR(BuiltinFilter): + name = "Blur" + # fmt: off + filterargs = (5, 5), 16, 0, ( + 1, 1, 1, 1, 1, + 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, + 1, 1, 1, 1, 1, + ) + # fmt: on + + +class CONTOUR(BuiltinFilter): + name = "Contour" + # fmt: off + filterargs = (3, 3), 1, 255, ( + -1, -1, -1, + -1, 8, -1, + -1, -1, -1, + ) + # fmt: on + + +class DETAIL(BuiltinFilter): + name = "Detail" + # fmt: off + filterargs = (3, 3), 6, 0, ( + 0, -1, 0, + -1, 10, -1, + 0, -1, 0, + ) + # fmt: on + + +class EDGE_ENHANCE(BuiltinFilter): + name = "Edge-enhance" + # fmt: off + filterargs = (3, 3), 2, 0, ( + -1, -1, -1, + -1, 10, -1, + -1, -1, -1, + ) + # fmt: on + + +class EDGE_ENHANCE_MORE(BuiltinFilter): + name = "Edge-enhance More" + # fmt: off + filterargs = (3, 3), 1, 0, ( + -1, -1, -1, + -1, 9, -1, + -1, -1, -1, + ) + # fmt: on + + +class EMBOSS(BuiltinFilter): + name = "Emboss" + # fmt: off + filterargs = (3, 3), 1, 128, ( + -1, 0, 0, + 0, 1, 0, + 0, 0, 0, + ) + # fmt: on + + +class FIND_EDGES(BuiltinFilter): + name = "Find Edges" + # fmt: off + filterargs = (3, 3), 1, 0, ( + -1, -1, -1, + -1, 8, -1, + -1, -1, -1, + ) + # fmt: on + + +class SHARPEN(BuiltinFilter): + name = "Sharpen" + # fmt: off + filterargs = (3, 3), 16, 0, ( + -2, -2, -2, + -2, 32, -2, + -2, -2, -2, + ) + # fmt: on + + +class SMOOTH(BuiltinFilter): + name = "Smooth" + # fmt: off + filterargs = (3, 3), 13, 0, ( + 1, 1, 1, + 1, 5, 1, + 1, 1, 1, + ) + # fmt: on + + +class SMOOTH_MORE(BuiltinFilter): + name = "Smooth More" + # fmt: off + filterargs = (5, 5), 100, 0, ( + 1, 1, 1, 1, 1, + 1, 5, 5, 5, 1, + 1, 5, 44, 5, 1, + 1, 5, 5, 5, 1, + 1, 1, 1, 1, 1, + ) + # fmt: on + + +class Color3DLUT(MultibandFilter): + """Three-dimensional color lookup table. + + Transforms 3-channel pixels using the values of the channels as coordinates + in the 3D lookup table and interpolating the nearest elements. + + This method allows you to apply almost any color transformation + in constant time by using pre-calculated decimated tables. + + .. versionadded:: 5.2.0 + + :param size: Size of the table. One int or tuple of (int, int, int). + Minimal size in any dimension is 2, maximum is 65. + :param table: Flat lookup table. A list of ``channels * size**3`` + float elements or a list of ``size**3`` channels-sized + tuples with floats. Channels are changed first, + then first dimension, then second, then third. + Value 0.0 corresponds lowest value of output, 1.0 highest. + :param channels: Number of channels in the table. Could be 3 or 4. + Default is 3. + :param target_mode: A mode for the result image. Should have not less + than ``channels`` channels. Default is ``None``, + which means that mode wouldn't be changed. + """ + + name = "Color 3D LUT" + + def __init__( + self, + size: int | tuple[int, int, int], + table: Sequence[float] | Sequence[Sequence[int]] | NumpyArray, + channels: int = 3, + target_mode: str | None = None, + **kwargs: bool, + ) -> None: + if channels not in (3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + self.size = size = self._check_size(size) + self.channels = channels + self.mode = target_mode + + # Hidden flag `_copy_table=False` could be used to avoid extra copying + # of the table if the table is specially made for the constructor. + copy_table = kwargs.get("_copy_table", True) + items = size[0] * size[1] * size[2] + wrong_size = False + + numpy: ModuleType | None = None + if hasattr(table, "shape"): + try: + import numpy + except ImportError: + pass + + if numpy and isinstance(table, numpy.ndarray): + numpy_table: NumpyArray = table + if copy_table: + numpy_table = numpy_table.copy() + + if numpy_table.shape in [ + (items * channels,), + (items, channels), + (size[2], size[1], size[0], channels), + ]: + table = numpy_table.reshape(items * channels) + else: + wrong_size = True + + else: + if copy_table: + table = list(table) + + # Convert to a flat list + if table and isinstance(table[0], (list, tuple)): + raw_table = cast(Sequence[Sequence[int]], table) + flat_table: list[int] = [] + for pixel in raw_table: + if len(pixel) != channels: + msg = ( + "The elements of the table should " + f"have a length of {channels}." + ) + raise ValueError(msg) + flat_table.extend(pixel) + table = flat_table + + if wrong_size or len(table) != items * channels: + msg = ( + "The table should have either channels * size**3 float items " + "or size**3 items of channels-sized tuples with floats. " + f"Table should be: {channels}x{size[0]}x{size[1]}x{size[2]}. " + f"Actual length: {len(table)}" + ) + raise ValueError(msg) + self.table = table + + @staticmethod + def _check_size(size: Any) -> tuple[int, int, int]: + try: + _, _, _ = size + except ValueError as e: + msg = "Size should be either an integer or a tuple of three integers." + raise ValueError(msg) from e + except TypeError: + size = (size, size, size) + size = tuple(int(x) for x in size) + for size_1d in size: + if not 2 <= size_1d <= 65: + msg = "Size should be in [2, 65] range." + raise ValueError(msg) + return size + + @classmethod + def generate( + cls, + size: int | tuple[int, int, int], + callback: Callable[[float, float, float], tuple[float, ...]], + channels: int = 3, + target_mode: str | None = None, + ) -> Color3DLUT: + """Generates new LUT using provided callback. + + :param size: Size of the table. Passed to the constructor. + :param callback: Function with three parameters which correspond + three color channels. Will be called ``size**3`` + times with values from 0.0 to 1.0 and should return + a tuple with ``channels`` elements. + :param channels: The number of channels which should return callback. + :param target_mode: Passed to the constructor of the resulting + lookup table. + """ + size_1d, size_2d, size_3d = cls._check_size(size) + if channels not in (3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + + table: list[float] = [0] * (size_1d * size_2d * size_3d * channels) + idx_out = 0 + for b in range(size_3d): + for g in range(size_2d): + for r in range(size_1d): + table[idx_out : idx_out + channels] = callback( + r / (size_1d - 1), g / (size_2d - 1), b / (size_3d - 1) + ) + idx_out += channels + + return cls( + (size_1d, size_2d, size_3d), + table, + channels=channels, + target_mode=target_mode, + _copy_table=False, + ) + + def transform( + self, + callback: Callable[..., tuple[float, ...]], + with_normals: bool = False, + channels: int | None = None, + target_mode: str | None = None, + ) -> Color3DLUT: + """Transforms the table values using provided callback and returns + a new LUT with altered values. + + :param callback: A function which takes old lookup table values + and returns a new set of values. The number + of arguments which function should take is + ``self.channels`` or ``3 + self.channels`` + if ``with_normals`` flag is set. + Should return a tuple of ``self.channels`` or + ``channels`` elements if it is set. + :param with_normals: If true, ``callback`` will be called with + coordinates in the color cube as the first + three arguments. Otherwise, ``callback`` + will be called only with actual color values. + :param channels: The number of channels in the resulting lookup table. + :param target_mode: Passed to the constructor of the resulting + lookup table. + """ + if channels not in (None, 3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + ch_in = self.channels + ch_out = channels or ch_in + size_1d, size_2d, size_3d = self.size + + table: list[float] = [0] * (size_1d * size_2d * size_3d * ch_out) + idx_in = 0 + idx_out = 0 + for b in range(size_3d): + for g in range(size_2d): + for r in range(size_1d): + values = self.table[idx_in : idx_in + ch_in] + if with_normals: + values = callback( + r / (size_1d - 1), + g / (size_2d - 1), + b / (size_3d - 1), + *values, + ) + else: + values = callback(*values) + table[idx_out : idx_out + ch_out] = values + idx_in += ch_in + idx_out += ch_out + + return type(self)( + self.size, + table, + channels=ch_out, + target_mode=target_mode or self.mode, + _copy_table=False, + ) + + def __repr__(self) -> str: + r = [ + f"{self.__class__.__name__} from {self.table.__class__.__name__}", + "size={:d}x{:d}x{:d}".format(*self.size), + f"channels={self.channels:d}", + ] + if self.mode: + r.append(f"target_mode={self.mode}") + return "<{}>".format(" ".join(r)) + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + from . import Image + + return image.color_lut_3d( + self.mode or image.mode, + Image.Resampling.BILINEAR, + self.channels, + self.size, + self.table, + ) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFont.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFont.py new file mode 100644 index 0000000..06ea035 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageFont.py @@ -0,0 +1,1309 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PIL raster font management +# +# History: +# 1996-08-07 fl created (experimental) +# 1997-08-25 fl minor adjustments to handle fonts from pilfont 0.3 +# 1999-02-06 fl rewrote most font management stuff in C +# 1999-03-17 fl take pth files into account in load_path (from Richard Jones) +# 2001-02-17 fl added freetype support +# 2001-05-09 fl added TransposedFont wrapper class +# 2002-03-04 fl make sure we have a "L" or "1" font +# 2002-12-04 fl skip non-directory entries in the system path +# 2003-04-29 fl add embedded default font +# 2003-09-27 fl added support for truetype charmap encodings +# +# Todo: +# Adapt to PILFONT2 format (16-bit fonts, compressed, single file) +# +# Copyright (c) 1997-2003 by Secret Labs AB +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +import base64 +import os +import sys +import warnings +from enum import IntEnum +from io import BytesIO +from types import ModuleType +from typing import IO, Any, BinaryIO, TypedDict, cast + +from . import Image +from ._typing import StrOrBytesPath +from ._util import DeferredError, is_path + +TYPE_CHECKING = False +if TYPE_CHECKING: + from . import ImageFile + from ._imaging import ImagingFont + from ._imagingft import Font + + +class Axis(TypedDict): + minimum: int | None + default: int | None + maximum: int | None + name: bytes | None + + +class Layout(IntEnum): + BASIC = 0 + RAQM = 1 + + +MAX_STRING_LENGTH = 1_000_000 + + +core: ModuleType | DeferredError +try: + from . import _imagingft as core +except ImportError as ex: + core = DeferredError.new(ex) + + +def _string_length_check(text: str | bytes | bytearray) -> None: + if MAX_STRING_LENGTH is not None and len(text) > MAX_STRING_LENGTH: + msg = "too many characters in string" + raise ValueError(msg) + + +# FIXME: add support for pilfont2 format (see FontFile.py) + +# -------------------------------------------------------------------- +# Font metrics format: +# "PILfont" LF +# fontdescriptor LF +# (optional) key=value... LF +# "DATA" LF +# binary data: 256*10*2 bytes (dx, dy, dstbox, srcbox) +# +# To place a character, cut out srcbox and paste at dstbox, +# relative to the character position. Then move the character +# position according to dx, dy. +# -------------------------------------------------------------------- + + +class ImageFont: + """PIL font wrapper""" + + font: ImagingFont + + def _load_pilfont(self, filename: str) -> None: + with open(filename, "rb") as fp: + image: ImageFile.ImageFile | None = None + root = os.path.splitext(filename)[0] + + for ext in (".png", ".gif", ".pbm"): + if image: + image.close() + try: + fullname = root + ext + image = Image.open(fullname) + except Exception: + pass + else: + if image.mode in ("1", "L"): + break + else: + if image: + image.close() + + msg = f"cannot find glyph data file {root}.{{gif|pbm|png}}" + raise OSError(msg) + + self.file = fullname + + self._load_pilfont_data(fp, image) + image.close() + + def _load_pilfont_data(self, file: IO[bytes], image: Image.Image) -> None: + # check image + if image.mode not in ("1", "L"): + image.close() + + msg = "invalid font image mode" + raise TypeError(msg) + + # read PILfont header + if file.read(8) != b"PILfont\n": + image.close() + + msg = "Not a PILfont file" + raise SyntaxError(msg) + file.readline() + self.info = [] # FIXME: should be a dictionary + while True: + s = file.readline() + if not s or s == b"DATA\n": + break + self.info.append(s) + + # read PILfont metrics + data = file.read(256 * 20) + + self._load(image, data) + + def _load(self, image: Image.Image, data: bytes) -> None: + image.load() + + self.font = Image.core.font(image.im, data) + + def getmask( + self, text: str | bytes, mode: str = "", *args: Any, **kwargs: Any + ) -> Image.core.ImagingCore: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :return: An internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module. + """ + _string_length_check(text) + Image._decompression_bomb_check(self.font.getsize(text)) + return self.font.getmask(text, mode) + + def getbbox( + self, text: str | bytes | bytearray, *args: Any, **kwargs: Any + ) -> tuple[int, int, int, int]: + """ + Returns bounding box (in pixels) of given text. + + .. versionadded:: 9.2.0 + + :param text: Text to render. + + :return: ``(left, top, right, bottom)`` bounding box + """ + _string_length_check(text) + width, height = self.font.getsize(text) + return 0, 0, width, height + + def getlength( + self, text: str | bytes | bytearray, *args: Any, **kwargs: Any + ) -> int: + """ + Returns length (in pixels) of given text. + This is the amount by which following text should be offset. + + .. versionadded:: 9.2.0 + """ + _string_length_check(text) + width, height = self.font.getsize(text) + return width + + +## +# Wrapper for FreeType fonts. Application code should use the +# <b>truetype</b> factory function to create font objects. + + +class FreeTypeFont: + """FreeType font wrapper (requires _imagingft service)""" + + font: Font + font_bytes: bytes + + def __init__( + self, + font: StrOrBytesPath | BinaryIO, + size: float = 10, + index: int = 0, + encoding: str = "", + layout_engine: Layout | None = None, + ) -> None: + # FIXME: use service provider instead + + if isinstance(core, DeferredError): + raise core.ex + + if size <= 0: + msg = f"font size must be greater than 0, not {size}" + raise ValueError(msg) + + self.path = font + self.size = size + self.index = index + self.encoding = encoding + + if layout_engine not in (Layout.BASIC, Layout.RAQM): + layout_engine = Layout.BASIC + if core.HAVE_RAQM: + layout_engine = Layout.RAQM + elif layout_engine == Layout.RAQM and not core.HAVE_RAQM: + warnings.warn( + "Raqm layout was requested, but Raqm is not available. " + "Falling back to basic layout." + ) + layout_engine = Layout.BASIC + + self.layout_engine = layout_engine + + def load_from_bytes(f: IO[bytes]) -> None: + self.font_bytes = f.read() + self.font = core.getfont( + "", size, index, encoding, self.font_bytes, layout_engine + ) + + if is_path(font): + font = os.fspath(font) + if sys.platform == "win32": + font_bytes_path = font if isinstance(font, bytes) else font.encode() + try: + font_bytes_path.decode("ascii") + except UnicodeDecodeError: + # FreeType cannot load fonts with non-ASCII characters on Windows + # So load it into memory first + with open(font, "rb") as f: + load_from_bytes(f) + return + self.font = core.getfont( + font, size, index, encoding, layout_engine=layout_engine + ) + else: + load_from_bytes(cast(IO[bytes], font)) + + def __getstate__(self) -> list[Any]: + return [self.path, self.size, self.index, self.encoding, self.layout_engine] + + def __setstate__(self, state: list[Any]) -> None: + path, size, index, encoding, layout_engine = state + FreeTypeFont.__init__(self, path, size, index, encoding, layout_engine) + + def getname(self) -> tuple[str | None, str | None]: + """ + :return: A tuple of the font family (e.g. Helvetica) and the font style + (e.g. Bold) + """ + return self.font.family, self.font.style + + def getmetrics(self) -> tuple[int, int]: + """ + :return: A tuple of the font ascent (the distance from the baseline to + the highest outline point) and descent (the distance from the + baseline to the lowest outline point, a negative value) + """ + return self.font.ascent, self.font.descent + + def getlength( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + ) -> float: + """ + Returns length (in pixels with 1/64 precision) of given text when rendered + in font with provided direction, features, and language. + + This is the amount by which following text should be offset. + Text bounding box may extend past the length in some fonts, + e.g. when using italics or accents. + + The result is returned as a float; it is a whole number if using basic layout. + + Note that the sum of two lengths may not equal the length of a concatenated + string due to kerning. If you need to adjust for kerning, include the following + character and subtract its length. + + For example, instead of :: + + hello = font.getlength("Hello") + world = font.getlength("World") + hello_world = hello + world # not adjusted for kerning + assert hello_world == font.getlength("HelloWorld") # may fail + + use :: + + hello = font.getlength("HelloW") - font.getlength("W") # adjusted for kerning + world = font.getlength("World") + hello_world = hello + world # adjusted for kerning + assert hello_world == font.getlength("HelloWorld") # True + + or disable kerning with (requires libraqm) :: + + hello = draw.textlength("Hello", font, features=["-kern"]) + world = draw.textlength("World", font, features=["-kern"]) + hello_world = hello + world # kerning is disabled, no need to adjust + assert hello_world == draw.textlength("HelloWorld", font, features=["-kern"]) + + .. versionadded:: 8.0.0 + + :param text: Text to measure. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + <https://www.w3.org/International/articles/language-tags/>`_ + Requires libraqm. + + :return: Either width for horizontal text, or height for vertical text. + """ + _string_length_check(text) + return self.font.getlength(text, mode, direction, features, language) / 64 + + def getbbox( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ) -> tuple[float, float, float, float]: + """ + Returns bounding box (in pixels) of given text relative to given anchor + when rendered in font with provided direction, features, and language. + + Use :py:meth:`getlength()` to get the offset of following text with + 1/64 pixel precision. The bounding box includes extra margins for + some fonts, e.g. italics or accents. + + .. versionadded:: 8.0.0 + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + <https://www.w3.org/International/articles/language-tags/>`_ + Requires libraqm. + + :param stroke_width: The width of the text stroke. + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + :return: ``(left, top, right, bottom)`` bounding box + """ + _string_length_check(text) + size, offset = self.font.getsize( + text, mode, direction, features, language, anchor + ) + left, top = offset[0] - stroke_width, offset[1] - stroke_width + width, height = size[0] + 2 * stroke_width, size[1] + 2 * stroke_width + return left, top, left + width, top + height + + def getmask( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ink: int = 0, + start: tuple[float, float] | None = None, + ) -> Image.core.ImagingCore: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. If the font has embedded color data, the bitmap + should have mode ``RGBA``. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + <https://www.w3.org/International/articles/language-tags/>`_ + Requires libraqm. + + .. versionadded:: 6.0.0 + + :param stroke_width: The width of the text stroke. + + .. versionadded:: 6.2.0 + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + .. versionadded:: 8.0.0 + + :param ink: Foreground ink for rendering in RGBA mode. + + .. versionadded:: 8.0.0 + + :param start: Tuple of horizontal and vertical offset, as text may render + differently when starting at fractional coordinates. + + .. versionadded:: 9.4.0 + + :return: An internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module. + """ + return self.getmask2( + text, + mode, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + anchor=anchor, + ink=ink, + start=start, + )[0] + + def getmask2( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ink: int = 0, + start: tuple[float, float] | None = None, + *args: Any, + **kwargs: Any, + ) -> tuple[Image.core.ImagingCore, tuple[int, int]]: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. If the font has embedded color data, the bitmap + should have mode ``RGBA``. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + <https://www.w3.org/International/articles/language-tags/>`_ + Requires libraqm. + + .. versionadded:: 6.0.0 + + :param stroke_width: The width of the text stroke. + + .. versionadded:: 6.2.0 + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + .. versionadded:: 8.0.0 + + :param ink: Foreground ink for rendering in RGBA mode. + + .. versionadded:: 8.0.0 + + :param start: Tuple of horizontal and vertical offset, as text may render + differently when starting at fractional coordinates. + + .. versionadded:: 9.4.0 + + :return: A tuple of an internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module, and the text offset, the + gap between the starting coordinate and the first marking + """ + _string_length_check(text) + if start is None: + start = (0, 0) + + def fill(width: int, height: int) -> Image.core.ImagingCore: + size = (width, height) + Image._decompression_bomb_check(size) + return Image.core.fill("RGBA" if mode == "RGBA" else "L", size) + + return self.font.render( + text, + fill, + mode, + direction, + features, + language, + stroke_width, + kwargs.get("stroke_filled", False), + anchor, + ink, + start, + ) + + def font_variant( + self, + font: StrOrBytesPath | BinaryIO | None = None, + size: float | None = None, + index: int | None = None, + encoding: str | None = None, + layout_engine: Layout | None = None, + ) -> FreeTypeFont: + """ + Create a copy of this FreeTypeFont object, + using any specified arguments to override the settings. + + Parameters are identical to the parameters used to initialize this + object. + + :return: A FreeTypeFont object. + """ + if font is None: + try: + font = BytesIO(self.font_bytes) + except AttributeError: + font = self.path + return FreeTypeFont( + font=font, + size=self.size if size is None else size, + index=self.index if index is None else index, + encoding=self.encoding if encoding is None else encoding, + layout_engine=layout_engine or self.layout_engine, + ) + + def get_variation_names(self) -> list[bytes]: + """ + :returns: A list of the named styles in a variation font. + :exception OSError: If the font is not a variation font. + """ + names = [] + for name in self.font.getvarnames(): + name = name.replace(b"\x00", b"") + if name not in names: + names.append(name) + return names + + def set_variation_by_name(self, name: str | bytes) -> None: + """ + :param name: The name of the style. + :exception OSError: If the font is not a variation font. + """ + names = self.get_variation_names() + if not isinstance(name, bytes): + name = name.encode() + index = names.index(name) + 1 + + if index == getattr(self, "_last_variation_index", None): + # When the same name is set twice in a row, + # there is an 'unknown freetype error' + # https://savannah.nongnu.org/bugs/?56186 + return + self._last_variation_index = index + + self.font.setvarname(index) + + def get_variation_axes(self) -> list[Axis]: + """ + :returns: A list of the axes in a variation font. + :exception OSError: If the font is not a variation font. + """ + axes = self.font.getvaraxes() + for axis in axes: + if axis["name"]: + axis["name"] = axis["name"].replace(b"\x00", b"") + return axes + + def set_variation_by_axes(self, axes: list[float]) -> None: + """ + :param axes: A list of values for each axis. + :exception OSError: If the font is not a variation font. + """ + self.font.setvaraxes(axes) + + +class TransposedFont: + """Wrapper for writing rotated or mirrored text""" + + def __init__( + self, font: ImageFont | FreeTypeFont, orientation: Image.Transpose | None = None + ): + """ + Wrapper that creates a transposed font from any existing font + object. + + :param font: A font object. + :param orientation: An optional orientation. If given, this should + be one of Image.Transpose.FLIP_LEFT_RIGHT, Image.Transpose.FLIP_TOP_BOTTOM, + Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_180, or + Image.Transpose.ROTATE_270. + """ + self.font = font + self.orientation = orientation # any 'transpose' argument, or None + + def getmask( + self, text: str | bytes, mode: str = "", *args: Any, **kwargs: Any + ) -> Image.core.ImagingCore: + im = self.font.getmask(text, mode, *args, **kwargs) + if self.orientation is not None: + return im.transpose(self.orientation) + return im + + def getbbox( + self, text: str | bytes, *args: Any, **kwargs: Any + ) -> tuple[int, int, float, float]: + # TransposedFont doesn't support getmask2, move top-left point to (0, 0) + # this has no effect on ImageFont and simulates anchor="lt" for FreeTypeFont + left, top, right, bottom = self.font.getbbox(text, *args, **kwargs) + width = right - left + height = bottom - top + if self.orientation in (Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_270): + return 0, 0, height, width + return 0, 0, width, height + + def getlength(self, text: str | bytes, *args: Any, **kwargs: Any) -> float: + if self.orientation in (Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_270): + msg = "text length is undefined for text rotated by 90 or 270 degrees" + raise ValueError(msg) + return self.font.getlength(text, *args, **kwargs) + + +def load(filename: str) -> ImageFont: + """ + Load a font file. This function loads a font object from the given + bitmap font file, and returns the corresponding font object. For loading TrueType + or OpenType fonts instead, see :py:func:`~PIL.ImageFont.truetype`. + + :param filename: Name of font file. + :return: A font object. + :exception OSError: If the file could not be read. + """ + f = ImageFont() + f._load_pilfont(filename) + return f + + +def truetype( + font: StrOrBytesPath | BinaryIO, + size: float = 10, + index: int = 0, + encoding: str = "", + layout_engine: Layout | None = None, +) -> FreeTypeFont: + """ + Load a TrueType or OpenType font from a file or file-like object, + and create a font object. This function loads a font object from the given + file or file-like object, and creates a font object for a font of the given + size. For loading bitmap fonts instead, see :py:func:`~PIL.ImageFont.load` + and :py:func:`~PIL.ImageFont.load_path`. + + Pillow uses FreeType to open font files. On Windows, be aware that FreeType + will keep the file open as long as the FreeTypeFont object exists. Windows + limits the number of files that can be open in C at once to 512, so if many + fonts are opened simultaneously and that limit is approached, an + ``OSError`` may be thrown, reporting that FreeType "cannot open resource". + A workaround would be to copy the file(s) into memory, and open that instead. + + This function requires the _imagingft service. + + :param font: A filename or file-like object containing a TrueType font. + If the file is not found in this filename, the loader may also + search in other directories, such as: + + * The :file:`fonts/` directory on Windows, + * :file:`/Library/Fonts/`, :file:`/System/Library/Fonts/` + and :file:`~/Library/Fonts/` on macOS. + * :file:`~/.local/share/fonts`, :file:`/usr/local/share/fonts`, + and :file:`/usr/share/fonts` on Linux; or those specified by + the ``XDG_DATA_HOME`` and ``XDG_DATA_DIRS`` environment variables + for user-installed and system-wide fonts, respectively. + + :param size: The requested size, in pixels. + :param index: Which font face to load (default is first available face). + :param encoding: Which font encoding to use (default is Unicode). Possible + encodings include (see the FreeType documentation for more + information): + + * "unic" (Unicode) + * "symb" (Microsoft Symbol) + * "ADOB" (Adobe Standard) + * "ADBE" (Adobe Expert) + * "ADBC" (Adobe Custom) + * "armn" (Apple Roman) + * "sjis" (Shift JIS) + * "gb " (PRC) + * "big5" + * "wans" (Extended Wansung) + * "joha" (Johab) + * "lat1" (Latin-1) + + This specifies the character set to use. It does not alter the + encoding of any text provided in subsequent operations. + :param layout_engine: Which layout engine to use, if available: + :attr:`.ImageFont.Layout.BASIC` or :attr:`.ImageFont.Layout.RAQM`. + If it is available, Raqm layout will be used by default. + Otherwise, basic layout will be used. + + Raqm layout is recommended for all non-English text. If Raqm layout + is not required, basic layout will have better performance. + + You can check support for Raqm layout using + :py:func:`PIL.features.check_feature` with ``feature="raqm"``. + + .. versionadded:: 4.2.0 + :return: A font object. + :exception OSError: If the file could not be read. + :exception ValueError: If the font size is not greater than zero. + """ + + def freetype(font: StrOrBytesPath | BinaryIO) -> FreeTypeFont: + return FreeTypeFont(font, size, index, encoding, layout_engine) + + try: + return freetype(font) + except OSError: + if not is_path(font): + raise + ttf_filename = os.path.basename(font) + + dirs = [] + if sys.platform == "win32": + # check the windows font repository + # NOTE: must use uppercase WINDIR, to work around bugs in + # 1.5.2's os.environ.get() + windir = os.environ.get("WINDIR") + if windir: + dirs.append(os.path.join(windir, "fonts")) + elif sys.platform in ("linux", "linux2"): + data_home = os.environ.get("XDG_DATA_HOME") + if not data_home: + # The freedesktop spec defines the following default directory for + # when XDG_DATA_HOME is unset or empty. This user-level directory + # takes precedence over system-level directories. + data_home = os.path.expanduser("~/.local/share") + xdg_dirs = [data_home] + + data_dirs = os.environ.get("XDG_DATA_DIRS") + if not data_dirs: + # Similarly, defaults are defined for the system-level directories + data_dirs = "/usr/local/share:/usr/share" + xdg_dirs += data_dirs.split(":") + + dirs += [os.path.join(xdg_dir, "fonts") for xdg_dir in xdg_dirs] + elif sys.platform == "darwin": + dirs += [ + "/Library/Fonts", + "/System/Library/Fonts", + os.path.expanduser("~/Library/Fonts"), + ] + + ext = os.path.splitext(ttf_filename)[1] + first_font_with_a_different_extension = None + for directory in dirs: + for walkroot, walkdir, walkfilenames in os.walk(directory): + for walkfilename in walkfilenames: + if ext and walkfilename == ttf_filename: + return freetype(os.path.join(walkroot, walkfilename)) + elif not ext and os.path.splitext(walkfilename)[0] == ttf_filename: + fontpath = os.path.join(walkroot, walkfilename) + if os.path.splitext(fontpath)[1] == ".ttf": + return freetype(fontpath) + if not ext and first_font_with_a_different_extension is None: + first_font_with_a_different_extension = fontpath + if first_font_with_a_different_extension: + return freetype(first_font_with_a_different_extension) + raise + + +def load_path(filename: str | bytes) -> ImageFont: + """ + Load font file. Same as :py:func:`~PIL.ImageFont.load`, but searches for a + bitmap font along the Python path. + + :param filename: Name of font file. + :return: A font object. + :exception OSError: If the file could not be read. + """ + if not isinstance(filename, str): + filename = filename.decode("utf-8") + for directory in sys.path: + try: + return load(os.path.join(directory, filename)) + except OSError: # noqa: PERF203 + pass + msg = f'cannot find font file "{filename}" in sys.path' + if os.path.exists(filename): + msg += f', did you mean ImageFont.load("{filename}") instead?' + + raise OSError(msg) + + +def load_default_imagefont() -> ImageFont: + f = ImageFont() + f._load_pilfont_data( + # courB08 + BytesIO(base64.b64decode(b""" +UElMZm9udAo7Ozs7OzsxMDsKREFUQQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAA//8AAQAAAAAAAAABAAEA +BgAAAAH/+gADAAAAAQAAAAMABgAGAAAAAf/6AAT//QADAAAABgADAAYAAAAA//kABQABAAYAAAAL +AAgABgAAAAD/+AAFAAEACwAAABAACQAGAAAAAP/5AAUAAAAQAAAAFQAHAAYAAP////oABQAAABUA +AAAbAAYABgAAAAH/+QAE//wAGwAAAB4AAwAGAAAAAf/5AAQAAQAeAAAAIQAIAAYAAAAB//kABAAB +ACEAAAAkAAgABgAAAAD/+QAE//0AJAAAACgABAAGAAAAAP/6AAX//wAoAAAALQAFAAYAAAAB//8A +BAACAC0AAAAwAAMABgAAAAD//AAF//0AMAAAADUAAQAGAAAAAf//AAMAAAA1AAAANwABAAYAAAAB +//kABQABADcAAAA7AAgABgAAAAD/+QAFAAAAOwAAAEAABwAGAAAAAP/5AAYAAABAAAAARgAHAAYA +AAAA//kABQAAAEYAAABLAAcABgAAAAD/+QAFAAAASwAAAFAABwAGAAAAAP/5AAYAAABQAAAAVgAH +AAYAAAAA//kABQAAAFYAAABbAAcABgAAAAD/+QAFAAAAWwAAAGAABwAGAAAAAP/5AAUAAABgAAAA +ZQAHAAYAAAAA//kABQAAAGUAAABqAAcABgAAAAD/+QAFAAAAagAAAG8ABwAGAAAAAf/8AAMAAABv +AAAAcQAEAAYAAAAA//wAAwACAHEAAAB0AAYABgAAAAD/+gAE//8AdAAAAHgABQAGAAAAAP/7AAT/ +/gB4AAAAfAADAAYAAAAB//oABf//AHwAAACAAAUABgAAAAD/+gAFAAAAgAAAAIUABgAGAAAAAP/5 +AAYAAQCFAAAAiwAIAAYAAP////oABgAAAIsAAACSAAYABgAA////+gAFAAAAkgAAAJgABgAGAAAA +AP/6AAUAAACYAAAAnQAGAAYAAP////oABQAAAJ0AAACjAAYABgAA////+gAFAAAAowAAAKkABgAG +AAD////6AAUAAACpAAAArwAGAAYAAAAA//oABQAAAK8AAAC0AAYABgAA////+gAGAAAAtAAAALsA +BgAGAAAAAP/6AAQAAAC7AAAAvwAGAAYAAP////oABQAAAL8AAADFAAYABgAA////+gAGAAAAxQAA +AMwABgAGAAD////6AAUAAADMAAAA0gAGAAYAAP////oABQAAANIAAADYAAYABgAA////+gAGAAAA +2AAAAN8ABgAGAAAAAP/6AAUAAADfAAAA5AAGAAYAAP////oABQAAAOQAAADqAAYABgAAAAD/+gAF +AAEA6gAAAO8ABwAGAAD////6AAYAAADvAAAA9gAGAAYAAAAA//oABQAAAPYAAAD7AAYABgAA//// ++gAFAAAA+wAAAQEABgAGAAD////6AAYAAAEBAAABCAAGAAYAAP////oABgAAAQgAAAEPAAYABgAA +////+gAGAAABDwAAARYABgAGAAAAAP/6AAYAAAEWAAABHAAGAAYAAP////oABgAAARwAAAEjAAYA +BgAAAAD/+gAFAAABIwAAASgABgAGAAAAAf/5AAQAAQEoAAABKwAIAAYAAAAA//kABAABASsAAAEv +AAgABgAAAAH/+QAEAAEBLwAAATIACAAGAAAAAP/5AAX//AEyAAABNwADAAYAAAAAAAEABgACATcA +AAE9AAEABgAAAAH/+QAE//wBPQAAAUAAAwAGAAAAAP/7AAYAAAFAAAABRgAFAAYAAP////kABQAA +AUYAAAFMAAcABgAAAAD/+wAFAAABTAAAAVEABQAGAAAAAP/5AAYAAAFRAAABVwAHAAYAAAAA//sA +BQAAAVcAAAFcAAUABgAAAAD/+QAFAAABXAAAAWEABwAGAAAAAP/7AAYAAgFhAAABZwAHAAYAAP// +//kABQAAAWcAAAFtAAcABgAAAAD/+QAGAAABbQAAAXMABwAGAAAAAP/5AAQAAgFzAAABdwAJAAYA +AP////kABgAAAXcAAAF+AAcABgAAAAD/+QAGAAABfgAAAYQABwAGAAD////7AAUAAAGEAAABigAF +AAYAAP////sABQAAAYoAAAGQAAUABgAAAAD/+wAFAAABkAAAAZUABQAGAAD////7AAUAAgGVAAAB +mwAHAAYAAAAA//sABgACAZsAAAGhAAcABgAAAAD/+wAGAAABoQAAAacABQAGAAAAAP/7AAYAAAGn +AAABrQAFAAYAAAAA//kABgAAAa0AAAGzAAcABgAA////+wAGAAABswAAAboABQAGAAD////7AAUA +AAG6AAABwAAFAAYAAP////sABgAAAcAAAAHHAAUABgAAAAD/+wAGAAABxwAAAc0ABQAGAAD////7 +AAYAAgHNAAAB1AAHAAYAAAAA//sABQAAAdQAAAHZAAUABgAAAAH/+QAFAAEB2QAAAd0ACAAGAAAA +Av/6AAMAAQHdAAAB3gAHAAYAAAAA//kABAABAd4AAAHiAAgABgAAAAD/+wAF//0B4gAAAecAAgAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAB +//sAAwACAecAAAHpAAcABgAAAAD/+QAFAAEB6QAAAe4ACAAGAAAAAP/5AAYAAAHuAAAB9AAHAAYA +AAAA//oABf//AfQAAAH5AAUABgAAAAD/+QAGAAAB+QAAAf8ABwAGAAAAAv/5AAMAAgH/AAACAAAJ +AAYAAAAA//kABQABAgAAAAIFAAgABgAAAAH/+gAE//sCBQAAAggAAQAGAAAAAP/5AAYAAAIIAAAC +DgAHAAYAAAAB//kABf/+Ag4AAAISAAUABgAA////+wAGAAACEgAAAhkABQAGAAAAAP/7AAX//gIZ +AAACHgADAAYAAAAA//wABf/9Ah4AAAIjAAEABgAAAAD/+QAHAAACIwAAAioABwAGAAAAAP/6AAT/ ++wIqAAACLgABAAYAAAAA//kABP/8Ai4AAAIyAAMABgAAAAD/+gAFAAACMgAAAjcABgAGAAAAAf/5 +AAT//QI3AAACOgAEAAYAAAAB//kABP/9AjoAAAI9AAQABgAAAAL/+QAE//sCPQAAAj8AAgAGAAD/ +///7AAYAAgI/AAACRgAHAAYAAAAA//kABgABAkYAAAJMAAgABgAAAAH//AAD//0CTAAAAk4AAQAG +AAAAAf//AAQAAgJOAAACUQADAAYAAAAB//kABP/9AlEAAAJUAAQABgAAAAH/+QAF//4CVAAAAlgA +BQAGAAD////7AAYAAAJYAAACXwAFAAYAAP////kABgAAAl8AAAJmAAcABgAA////+QAGAAACZgAA +Am0ABwAGAAD////5AAYAAAJtAAACdAAHAAYAAAAA//sABQACAnQAAAJ5AAcABgAA////9wAGAAAC +eQAAAoAACQAGAAD////3AAYAAAKAAAAChwAJAAYAAP////cABgAAAocAAAKOAAkABgAA////9wAG +AAACjgAAApUACQAGAAD////4AAYAAAKVAAACnAAIAAYAAP////cABgAAApwAAAKjAAkABgAA//// ++gAGAAACowAAAqoABgAGAAAAAP/6AAUAAgKqAAACrwAIAAYAAP////cABQAAAq8AAAK1AAkABgAA +////9wAFAAACtQAAArsACQAGAAD////3AAUAAAK7AAACwQAJAAYAAP////gABQAAAsEAAALHAAgA +BgAAAAD/9wAEAAACxwAAAssACQAGAAAAAP/3AAQAAALLAAACzwAJAAYAAAAA//cABAAAAs8AAALT +AAkABgAAAAD/+AAEAAAC0wAAAtcACAAGAAD////6AAUAAALXAAAC3QAGAAYAAP////cABgAAAt0A +AALkAAkABgAAAAD/9wAFAAAC5AAAAukACQAGAAAAAP/3AAUAAALpAAAC7gAJAAYAAAAA//cABQAA +Au4AAALzAAkABgAAAAD/9wAFAAAC8wAAAvgACQAGAAAAAP/4AAUAAAL4AAAC/QAIAAYAAAAA//oA +Bf//Av0AAAMCAAUABgAA////+gAGAAADAgAAAwkABgAGAAD////3AAYAAAMJAAADEAAJAAYAAP// +//cABgAAAxAAAAMXAAkABgAA////9wAGAAADFwAAAx4ACQAGAAD////4AAYAAAAAAAoABwASAAYA +AP////cABgAAAAcACgAOABMABgAA////+gAFAAAADgAKABQAEAAGAAD////6AAYAAAAUAAoAGwAQ +AAYAAAAA//gABgAAABsACgAhABIABgAAAAD/+AAGAAAAIQAKACcAEgAGAAAAAP/4AAYAAAAnAAoA +LQASAAYAAAAA//gABgAAAC0ACgAzABIABgAAAAD/+QAGAAAAMwAKADkAEQAGAAAAAP/3AAYAAAA5 +AAoAPwATAAYAAP////sABQAAAD8ACgBFAA8ABgAAAAD/+wAFAAIARQAKAEoAEQAGAAAAAP/4AAUA +AABKAAoATwASAAYAAAAA//gABQAAAE8ACgBUABIABgAAAAD/+AAFAAAAVAAKAFkAEgAGAAAAAP/5 +AAUAAABZAAoAXgARAAYAAAAA//gABgAAAF4ACgBkABIABgAAAAD/+AAGAAAAZAAKAGoAEgAGAAAA +AP/4AAYAAABqAAoAcAASAAYAAAAA//kABgAAAHAACgB2ABEABgAAAAD/+AAFAAAAdgAKAHsAEgAG +AAD////4AAYAAAB7AAoAggASAAYAAAAA//gABQAAAIIACgCHABIABgAAAAD/+AAFAAAAhwAKAIwA +EgAGAAAAAP/4AAUAAACMAAoAkQASAAYAAAAA//gABQAAAJEACgCWABIABgAAAAD/+QAFAAAAlgAK +AJsAEQAGAAAAAP/6AAX//wCbAAoAoAAPAAYAAAAA//oABQABAKAACgClABEABgAA////+AAGAAAA +pQAKAKwAEgAGAAD////4AAYAAACsAAoAswASAAYAAP////gABgAAALMACgC6ABIABgAA////+QAG +AAAAugAKAMEAEQAGAAD////4AAYAAgDBAAoAyAAUAAYAAP////kABQACAMgACgDOABMABgAA//// ++QAGAAIAzgAKANUAEw== +""")), + Image.open(BytesIO(base64.b64decode(b""" +iVBORw0KGgoAAAANSUhEUgAAAx4AAAAUAQAAAAArMtZoAAAEwElEQVR4nABlAJr/AHVE4czCI/4u +Mc4b7vuds/xzjz5/3/7u/n9vMe7vnfH/9++vPn/xyf5zhxzjt8GHw8+2d83u8x27199/nxuQ6Od9 +M43/5z2I+9n9ZtmDBwMQECDRQw/eQIQohJXxpBCNVE6QCCAAAAD//wBlAJr/AgALyj1t/wINwq0g +LeNZUworuN1cjTPIzrTX6ofHWeo3v336qPzfEwRmBnHTtf95/fglZK5N0PDgfRTslpGBvz7LFc4F +IUXBWQGjQ5MGCx34EDFPwXiY4YbYxavpnhHFrk14CDAAAAD//wBlAJr/AgKqRooH2gAgPeggvUAA +Bu2WfgPoAwzRAABAAAAAAACQgLz/3Uv4Gv+gX7BJgDeeGP6AAAD1NMDzKHD7ANWr3loYbxsAD791 +NAADfcoIDyP44K/jv4Y63/Z+t98Ovt+ub4T48LAAAAD//wBlAJr/AuplMlADJAAAAGuAphWpqhMx +in0A/fRvAYBABPgBwBUgABBQ/sYAyv9g0bCHgOLoGAAAAAAAREAAwI7nr0ArYpow7aX8//9LaP/9 +SjdavWA8ePHeBIKB//81/83ndznOaXx379wAAAD//wBlAJr/AqDxW+D3AABAAbUh/QMnbQag/gAY +AYDAAACgtgD/gOqAAAB5IA/8AAAk+n9w0AAA8AAAmFRJuPo27ciC0cD5oeW4E7KA/wD3ECMAn2tt +y8PgwH8AfAxFzC0JzeAMtratAsC/ffwAAAD//wBlAJr/BGKAyCAA4AAAAvgeYTAwHd1kmQF5chkG +ABoMIHcL5xVpTfQbUqzlAAAErwAQBgAAEOClA5D9il08AEh/tUzdCBsXkbgACED+woQg8Si9VeqY +lODCn7lmF6NhnAEYgAAA/NMIAAAAAAD//2JgjLZgVGBg5Pv/Tvpc8hwGBjYGJADjHDrAwPzAjv/H +/Wf3PzCwtzcwHmBgYGcwbZz8wHaCAQMDOwMDQ8MCBgYOC3W7mp+f0w+wHOYxO3OG+e376hsMZjk3 +AAAAAP//YmCMY2A4wMAIN5e5gQETPD6AZisDAwMDgzSDAAPjByiHcQMDAwMDg1nOze1lByRu5/47 +c4859311AYNZzg0AAAAA//9iYGDBYihOIIMuwIjGL39/fwffA8b//xv/P2BPtzzHwCBjUQAAAAD/ +/yLFBrIBAAAA//9i1HhcwdhizX7u8NZNzyLbvT97bfrMf/QHI8evOwcSqGUJAAAA//9iYBB81iSw +pEE170Qrg5MIYydHqwdDQRMrAwcVrQAAAAD//2J4x7j9AAMDn8Q/BgYLBoaiAwwMjPdvMDBYM1Tv +oJodAAAAAP//Yqo/83+dxePWlxl3npsel9lvLfPcqlE9725C+acfVLMEAAAA//9i+s9gwCoaaGMR +evta/58PTEWzr21hufPjA8N+qlnBwAAAAAD//2JiWLci5v1+HmFXDqcnULE/MxgYGBj+f6CaJQAA +AAD//2Ji2FrkY3iYpYC5qDeGgeEMAwPDvwQBBoYvcTwOVLMEAAAA//9isDBgkP///0EOg9z35v// +Gc/eeW7BwPj5+QGZhANUswMAAAD//2JgqGBgYGBgqEMXlvhMPUsAAAAA//8iYDd1AAAAAP//AwDR +w7IkEbzhVQAAAABJRU5ErkJggg== +"""))), + ) + return f + + +def load_default(size: float | None = None) -> FreeTypeFont | ImageFont: + """If FreeType support is available, load a version of Aileron Regular, + https://dotcolon.net/fonts/aileron, with a more limited character set. + + Otherwise, load a "better than nothing" font. + + .. versionadded:: 1.1.4 + + :param size: The font size of Aileron Regular. + + .. versionadded:: 10.1.0 + + :return: A font object. + """ + if isinstance(core, ModuleType) or size is not None: + return truetype( + BytesIO(base64.b64decode(b""" +AAEAAAAPAIAAAwBwRkZUTYwDlUAAADFoAAAAHEdERUYAqADnAAAo8AAAACRHUE9ThhmITwAAKfgAA +AduR1NVQnHxefoAACkUAAAA4k9TLzJovoHLAAABeAAAAGBjbWFw5lFQMQAAA6gAAAGqZ2FzcP//AA +MAACjoAAAACGdseWYmRXoPAAAGQAAAHfhoZWFkE18ayQAAAPwAAAA2aGhlYQboArEAAAE0AAAAJGh +tdHjjERZ8AAAB2AAAAdBsb2NhuOexrgAABVQAAADqbWF4cAC7AEYAAAFYAAAAIG5hbWUr+h5lAAAk +OAAAA6Jwb3N0D3oPTQAAJ9wAAAEKAAEAAAABGhxJDqIhXw889QALA+gAAAAA0Bqf2QAAAADhCh2h/ +2r/LgOxAyAAAAAIAAIAAAAAAAAAAQAAA8r/GgAAA7j/av9qA7EAAQAAAAAAAAAAAAAAAAAAAHQAAQ +AAAHQAQwAFAAAAAAACAAAAAQABAAAAQAAAAAAAAAADAfoBkAAFAAgCigJYAAAASwKKAlgAAAFeADI +BPgAAAAAFAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABVS1dOAEAAIPsCAwL/GgDIA8oA5iAAAJMAAAAA +AhICsgAAACAAAwH0AAAAAAAAAU0AAADYAAAA8gA5AVMAVgJEAEYCRAA1AuQAKQKOAEAAsAArATsAZ +AE7AB4CMABVAkQAUADc/+EBEgAgANwAJQEv//sCRAApAkQAggJEADwCRAAtAkQAIQJEADkCRAArAk +QAMgJEACwCRAAxANwAJQDc/+ECRABnAkQAUAJEAEQB8wAjA1QANgJ/AB0CcwBkArsALwLFAGQCSwB +kAjcAZALGAC8C2gBkAQgAZAIgADcCYQBkAj8AZANiAGQCzgBkAuEALwJWAGQC3QAvAmsAZAJJADQC +ZAAiAqoAXgJuACADuAAaAnEAGQJFABMCTwAuATMAYgEv//sBJwAiAkQAUAH0ADIBLAApAhMAJAJjA +EoCEQAeAmcAHgIlAB4BIgAVAmcAHgJRAEoA7gA+AOn/8wIKAEoA9wBGA1cASgJRAEoCSgAeAmMASg +JnAB4BSgBKAcsAGAE5ABQCUABCAgIAAQMRAAEB4v/6AgEAAQHOABQBLwBAAPoAYAEvACECRABNA0Y +AJAItAHgBKgAcAkQAUAEsAHQAygAgAi0AOQD3ADYA9wAWAaEANgGhABYCbAAlAYMAeAGDADkA6/9q +AhsAFAIKABUB/QAVAAAAAwAAAAMAAAAcAAEAAAAAAKQAAwABAAAAHAAEAIgAAAAeABAAAwAOAH4Aq +QCrALEAtAC3ALsgGSAdICYgOiBEISL7Av//AAAAIACpAKsAsAC0ALcAuyAYIBwgJiA5IEQhIvsB// +//4/+5/7j/tP+y/7D/reBR4E/gR+A14CzfTwVxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMEBQYHCAkKCwwNDg8QERIT +FBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMT +U5PUFFSU1RVVldYWVpbXF1eX2BhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAA +AAAAAAYnFmAAAAAABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAY2htAAAAAAAAAABrbGlqAAAAAHAAbm9 +ycwBnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmACYAJgAmAD4AUgCCAMoBCgFO +AVwBcgGIAaYBvAHKAdYB6AH2AgwCIAJKAogCpgLWAw4DIgNkA5wDugPUA+gD/AQQBEYEogS8BPoFJ +gVSBWoFgAWwBcoF1gX6BhQGJAZMBmgGiga0BuIHGgdUB2YHkAeiB8AH3AfyCAoIHAgqCDoITghcCG +oIogjSCPoJKglYCXwJwgnqCgIKKApACl4Klgq8CtwLDAs8C1YLjAuyC9oL7gwMDCYMSAxgDKAMrAz +qDQoNTA1mDYQNoA2uDcAN2g3oDfYODA4iDkoOXA5sDnoOnA7EDvwAAAAFAAAAAAH0ArwAAwAGAAkA +DAAPAAAxESERAxMhExcRASELARETAfT6qv6syKr+jgFUqsiqArz9RAGLAP/+1P8B/v3VAP8BLP4CA +P8AAgA5//IAuQKyAAMACwAANyMDMwIyFhQGIiY0oE4MZk84JCQ4JLQB/v3AJDgkJDgAAgBWAeUBPA +LfAAMABwAAEyMnMxcjJzOmRgpagkYKWgHl+vr6AAAAAAIARgAAAf4CsgAbAB8AAAEHMxUjByM3Iwc +jNyM1MzcjNTM3MwczNzMHMxUrAQczAZgdZXEvOi9bLzovWmYdZXEvOi9bLzovWp9bHlsBn4w429vb +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 +EQQ/BCQvEjQCFQZWFSEWQv40AcxCDiUblhP9uSEAAAAAAAAWAQ4AAQAAAAAAAAATACgAAQAAAAAAA +QAHAEwAAQAAAAAAAgAHAGQAAQAAAAAAAwAaAKIAAQAAAAAABAAHAM0AAQAAAAAABQA8AU8AAQAAAA +AABgAPAawAAQAAAAAACAALAdQAAQAAAAAACQALAfgAAQAAAAAACwAXAjQAAQAAAAAADAAXAnwAAwA +BBAkAAAAmAAAAAwABBAkAAQAOADwAAwABBAkAAgAOAFQAAwABBAkAAwA0AGwAAwABBAkABAAOAL0A +AwABBAkABQB4ANUAAwABBAkABgAeAYwAAwABBAkACAAWAbwAAwABBAkACQAWAeAAAwABBAkACwAuA +gQAAwABBAkADAAuAkwATgBvACAAUgBpAGcAaAB0AHMAIABSAGUAcwBlAHIAdgBlAGQALgAATm8gUm +lnaHRzIFJlc2VydmVkLgAAQQBpAGwAZQByAG8AbgAAQWlsZXJvbgAAUgBlAGcAdQBsAGEAcgAAUmV +ndWxhcgAAMQAuADEAMAAyADsAVQBLAFcATgA7AEEAaQBsAGUAcgBvAG4ALQBSAGUAZwB1AGwAYQBy +AAAxLjEwMjtVS1dOO0FpbGVyb24tUmVndWxhcgAAQQBpAGwAZQByAG8AbgAAQWlsZXJvbgAAVgBlA +HIAcwBpAG8AbgAgADEALgAxADAAMgA7AFAAUwAgADAAMAAxAC4AMQAwADIAOwBoAG8AdABjAG8Abg +B2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADk +AAFZlcnNpb24gMS4xMDI7UFMgMDAxLjEwMjtob3Rjb252IDEuMC43MDttYWtlb3RmLmxpYjIuNS41 +ODMyOQAAQQBpAGwAZQByAG8AbgAtAFIAZQBnAHUAbABhAHIAAEFpbGVyb24tUmVndWxhcgAAUwBvA +HIAYQAgAFMAYQBnAGEAbgBvAABTb3JhIFNhZ2FubwAAUwBvAHIAYQAgAFMAYQBnAGEAbgBvAABTb3 +JhIFNhZ2FubwAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGQAbwB0AGMAbwBsAG8AbgAuAG4AZQB0AAB +odHRwOi8vd3d3LmRvdGNvbG9uLm5ldAAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGQAbwB0AGMAbwBs +AG8AbgAuAG4AZQB0AABodHRwOi8vd3d3LmRvdGNvbG9uLm5ldAAAAAACAAAAAAAA/4MAMgAAAAAAA +AAAAAAAAAAAAAAAAAAAAHQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATAB +QAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAA +xADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0A +TgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAIsAqQCDAJMAjQDDAKoAtgC3A +LQAtQCrAL4AvwC8AIwAwADBAAAAAAAB//8AAgABAAAADAAAABwAAAACAAIAAwBxAAEAcgBzAAIABA +AAAAIAAAABAAAACgBMAGYAAkRGTFQADmxhdG4AGgAEAAAAAP//AAEAAAAWAANDQVQgAB5NT0wgABZ +ST00gABYAAP//AAEAAAAA//8AAgAAAAEAAmxpZ2EADmxvY2wAFAAAAAEAAQAAAAEAAAACAAYAEAAG +AAAAAgASADQABAAAAAEATAADAAAAAgAQABYAAQAcAAAAAQABAE8AAQABAGcAAQABAE8AAwAAAAIAE +AAWAAEAHAAAAAEAAQAvAAEAAQBnAAEAAQAvAAEAGgABAAgAAgAGAAwAcwACAE8AcgACAEwAAQABAE +kAAAABAAAACgBGAGAAAkRGTFQADmxhdG4AHAAEAAAAAP//AAIAAAABABYAA0NBVCAAFk1PTCAAFlJ +PTSAAFgAA//8AAgAAAAEAAmNwc3AADmtlcm4AFAAAAAEAAAAAAAEAAQACAAYADgABAAAAAQASAAIA +AAACAB4ANgABAAoABQAFAAoAAgABACQAPQAAAAEAEgAEAAAAAQAMAAEAOP/nAAEAAQAkAAIGigAEA +AAFJAXKABoAGQAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAD/sv+4/+z/7v/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9T/6AAAAAD/8QAA +ABD/vQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAA//MAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAP/5AAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/gAAD/4AAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//L/9AAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAA/+gAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAAAAAAAAAAAAD +/4gAA//AAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAP/OAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zv/qAAAAAP/0AAAACAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ZAAD/egAA/1kAAAAA/5D/rgAAAAAAAAAAAA +AAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAD/8AAA/7b/8P+wAAD/8P/E/98AAAAA/8P/+P/0//oAAAAAAAAAAAAA//gA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/w//C/9MAAP/SAAD/9wAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yAAA/+kAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9wAAAAD//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAP/cAAAAAAAAAAAAAAAA/7YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAkAFAAEAAAAAQACwAAABcA +BgAAAAAAAAAIAA4AAAAAAAsAEgAAAAAAAAATABkAAwANAAAAAQAJAAAAAAAAAAAAAAAAAAAAGAAAA +AAABwAAAAAAAAAAAAAAFQAFAAAAAAAYABgAAAAUAAAACgAAAAwAAgAPABEAFgAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAEAEQBdAAYAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAABwAAAAAACAAAAAAAAAAAAAcAAAAHAAAAEwAJ +ABUADgAPAAAACwAQAAAAAAAAAAAAAAAAAAUAGAACAAIAAgAAAAIAGAAXAAAAGAAAABYAFgACABYAA +gAWAAAAEQADAAoAFAAMAA0ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEgAGAAEAHgAkAC +YAJwApACoALQAuAC8AMgAzADcAOAA5ADoAPAA9AEUASABOAE8AUgBTAFUAVwBZAFoAWwBcAF0AcwA +AAAAAAQAAAADa3tfFAAAAANAan9kAAAAA4QodoQ== +""")), + 10 if size is None else size, + layout_engine=Layout.BASIC, + ) + return load_default_imagefont() diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageGrab.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageGrab.py new file mode 100644 index 0000000..66ee6dd --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageGrab.py @@ -0,0 +1,231 @@ +# +# The Python Imaging Library +# $Id$ +# +# screen grabber +# +# History: +# 2001-04-26 fl created +# 2001-09-17 fl use builtin driver, if present +# 2002-11-19 fl added grabclipboard support +# +# Copyright (c) 2001-2002 by Secret Labs AB +# Copyright (c) 2001-2002 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import shutil +import subprocess +import sys +import tempfile + +from . import Image + +TYPE_CHECKING = False +if TYPE_CHECKING: + from . import ImageWin + + +def grab( + bbox: tuple[int, int, int, int] | None = None, + include_layered_windows: bool = False, + all_screens: bool = False, + xdisplay: str | None = None, + window: int | ImageWin.HWND | None = None, +) -> Image.Image: + im: Image.Image + if xdisplay is None: + if sys.platform == "darwin": + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + args = ["screencapture"] + if window is not None: + args += ["-l", str(window)] + elif bbox: + left, top, right, bottom = bbox + args += ["-R", f"{left},{top},{right-left},{bottom-top}"] + args += ["-x", filepath] + retcode = subprocess.call(args) + if retcode: + raise subprocess.CalledProcessError(retcode, args) + im = Image.open(filepath) + im.load() + os.unlink(filepath) + if bbox: + if window is not None: + # Determine if the window was in Retina mode or not + # by capturing it without the shadow, + # and checking how different the width is + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + args = ["screencapture", "-l", str(window), "-o", "-x", filepath] + retcode = subprocess.call(args) + if retcode: + raise subprocess.CalledProcessError(retcode, args) + with Image.open(filepath) as im_no_shadow: + retina = im.width - im_no_shadow.width > 100 + os.unlink(filepath) + + # Since screencapture's -R does not work with -l, + # crop the image manually + if retina: + left, top, right, bottom = bbox + im_cropped = im.resize( + (right - left, bottom - top), + box=tuple(coord * 2 for coord in bbox), + ) + else: + im_cropped = im.crop(bbox) + im.close() + return im_cropped + else: + im_resized = im.resize((right - left, bottom - top)) + im.close() + return im_resized + return im + elif sys.platform == "win32": + if window is not None: + all_screens = -1 + offset, size, data = Image.core.grabscreen_win32( + include_layered_windows, + all_screens, + int(window) if window is not None else 0, + ) + im = Image.frombytes( + "RGB", + size, + data, + # RGB, 32-bit line padding, origin lower left corner + "raw", + "BGR", + (size[0] * 3 + 3) & -4, + -1, + ) + if bbox: + x0, y0 = offset + left, top, right, bottom = bbox + im = im.crop((left - x0, top - y0, right - x0, bottom - y0)) + return im + # Cast to Optional[str] needed for Windows and macOS. + display_name: str | None = xdisplay + try: + if not Image.core.HAVE_XCB: + msg = "Pillow was built without XCB support" + raise OSError(msg) + size, data = Image.core.grabscreen_x11(display_name) + except OSError: + if display_name is None and sys.platform not in ("darwin", "win32"): + if shutil.which("gnome-screenshot"): + args = ["gnome-screenshot", "-f"] + elif shutil.which("grim"): + args = ["grim"] + elif shutil.which("spectacle"): + args = ["spectacle", "-n", "-b", "-f", "-o"] + else: + raise + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + args.append(filepath) + retcode = subprocess.call(args) + if retcode: + raise subprocess.CalledProcessError(retcode, args) + im = Image.open(filepath) + im.load() + os.unlink(filepath) + if bbox: + im_cropped = im.crop(bbox) + im.close() + return im_cropped + return im + else: + raise + else: + im = Image.frombytes("RGB", size, data, "raw", "BGRX", size[0] * 4, 1) + if bbox: + im = im.crop(bbox) + return im + + +def grabclipboard() -> Image.Image | list[str] | None: + if sys.platform == "darwin": + p = subprocess.run( + ["osascript", "-e", "get the clipboard as «class PNGf»"], + capture_output=True, + ) + if p.returncode != 0: + return None + + import binascii + + data = io.BytesIO(binascii.unhexlify(p.stdout[11:-3])) + return Image.open(data) + elif sys.platform == "win32": + fmt, data = Image.core.grabclipboard_win32() + if fmt == "file": # CF_HDROP + import struct + + o = struct.unpack_from("I", data)[0] + if data[16] == 0: + files = data[o:].decode("mbcs").split("\0") + else: + files = data[o:].decode("utf-16le").split("\0") + return files[: files.index("")] + if isinstance(data, bytes): + data = io.BytesIO(data) + if fmt == "png": + from . import PngImagePlugin + + return PngImagePlugin.PngImageFile(data) + elif fmt == "DIB": + from . import BmpImagePlugin + + return BmpImagePlugin.DibImageFile(data) + return None + else: + if os.getenv("WAYLAND_DISPLAY"): + session_type = "wayland" + elif os.getenv("DISPLAY"): + session_type = "x11" + else: # Session type check failed + session_type = None + + if shutil.which("wl-paste") and session_type in ("wayland", None): + args = ["wl-paste", "-t", "image"] + elif shutil.which("xclip") and session_type in ("x11", None): + args = ["xclip", "-selection", "clipboard", "-t", "image/png", "-o"] + else: + msg = "wl-paste or xclip is required for ImageGrab.grabclipboard() on Linux" + raise NotImplementedError(msg) + + p = subprocess.run(args, capture_output=True) + if p.returncode != 0: + err = p.stderr + for silent_error in [ + # wl-paste, when the clipboard is empty + b"Nothing is copied", + # Ubuntu/Debian wl-paste, when the clipboard is empty + b"No selection", + # Ubuntu/Debian wl-paste, when an image isn't available + b"No suitable type of content copied", + # wl-paste or Ubuntu/Debian xclip, when an image isn't available + b" not available", + # xclip, when an image isn't available + b"cannot convert ", + # xclip, when the clipboard isn't initialized + b"xclip: Error: There is no owner for the ", + ]: + if silent_error in err: + return None + msg = f"{args[0]} error" + if err: + msg += f": {err.strip().decode()}" + raise ChildProcessError(msg) + + data = io.BytesIO(p.stdout) + im = Image.open(data) + im.load() + return im diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMath.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMath.py new file mode 100644 index 0000000..dfdc50c --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMath.py @@ -0,0 +1,314 @@ +# +# The Python Imaging Library +# $Id$ +# +# a simple math add-on for the Python Imaging Library +# +# History: +# 1999-02-15 fl Original PIL Plus release +# 2005-05-05 fl Simplified and cleaned up for PIL 1.1.6 +# 2005-09-12 fl Fixed int() and float() for Python 2.4.1 +# +# Copyright (c) 1999-2005 by Secret Labs AB +# Copyright (c) 2005 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import builtins + +from . import Image, _imagingmath + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from types import CodeType + from typing import Any + + +class _Operand: + """Wraps an image operand, providing standard operators""" + + def __init__(self, im: Image.Image): + self.im = im + + def __fixup(self, im1: _Operand | float) -> Image.Image: + # convert image to suitable mode + if isinstance(im1, _Operand): + # argument was an image. + if im1.im.mode in ("1", "L"): + return im1.im.convert("I") + elif im1.im.mode in ("I", "F"): + return im1.im + else: + msg = f"unsupported mode: {im1.im.mode}" + raise ValueError(msg) + else: + # argument was a constant + if isinstance(im1, (int, float)) and self.im.mode in ("1", "L", "I"): + return Image.new("I", self.im.size, im1) + else: + return Image.new("F", self.im.size, im1) + + def apply( + self, + op: str, + im1: _Operand | float, + im2: _Operand | float | None = None, + mode: str | None = None, + ) -> _Operand: + im_1 = self.__fixup(im1) + if im2 is None: + # unary operation + out = Image.new(mode or im_1.mode, im_1.size, None) + try: + op = getattr(_imagingmath, f"{op}_{im_1.mode}") + except AttributeError as e: + msg = f"bad operand type for '{op}'" + raise TypeError(msg) from e + _imagingmath.unop(op, out.getim(), im_1.getim()) + else: + # binary operation + im_2 = self.__fixup(im2) + if im_1.mode != im_2.mode: + # convert both arguments to floating point + if im_1.mode != "F": + im_1 = im_1.convert("F") + if im_2.mode != "F": + im_2 = im_2.convert("F") + if im_1.size != im_2.size: + # crop both arguments to a common size + size = ( + min(im_1.size[0], im_2.size[0]), + min(im_1.size[1], im_2.size[1]), + ) + if im_1.size != size: + im_1 = im_1.crop((0, 0) + size) + if im_2.size != size: + im_2 = im_2.crop((0, 0) + size) + out = Image.new(mode or im_1.mode, im_1.size, None) + try: + op = getattr(_imagingmath, f"{op}_{im_1.mode}") + except AttributeError as e: + msg = f"bad operand type for '{op}'" + raise TypeError(msg) from e + _imagingmath.binop(op, out.getim(), im_1.getim(), im_2.getim()) + return _Operand(out) + + # unary operators + def __bool__(self) -> bool: + # an image is "true" if it contains at least one non-zero pixel + return self.im.getbbox() is not None + + def __abs__(self) -> _Operand: + return self.apply("abs", self) + + def __pos__(self) -> _Operand: + return self + + def __neg__(self) -> _Operand: + return self.apply("neg", self) + + # binary operators + def __add__(self, other: _Operand | float) -> _Operand: + return self.apply("add", self, other) + + def __radd__(self, other: _Operand | float) -> _Operand: + return self.apply("add", other, self) + + def __sub__(self, other: _Operand | float) -> _Operand: + return self.apply("sub", self, other) + + def __rsub__(self, other: _Operand | float) -> _Operand: + return self.apply("sub", other, self) + + def __mul__(self, other: _Operand | float) -> _Operand: + return self.apply("mul", self, other) + + def __rmul__(self, other: _Operand | float) -> _Operand: + return self.apply("mul", other, self) + + def __truediv__(self, other: _Operand | float) -> _Operand: + return self.apply("div", self, other) + + def __rtruediv__(self, other: _Operand | float) -> _Operand: + return self.apply("div", other, self) + + def __mod__(self, other: _Operand | float) -> _Operand: + return self.apply("mod", self, other) + + def __rmod__(self, other: _Operand | float) -> _Operand: + return self.apply("mod", other, self) + + def __pow__(self, other: _Operand | float) -> _Operand: + return self.apply("pow", self, other) + + def __rpow__(self, other: _Operand | float) -> _Operand: + return self.apply("pow", other, self) + + # bitwise + def __invert__(self) -> _Operand: + return self.apply("invert", self) + + def __and__(self, other: _Operand | float) -> _Operand: + return self.apply("and", self, other) + + def __rand__(self, other: _Operand | float) -> _Operand: + return self.apply("and", other, self) + + def __or__(self, other: _Operand | float) -> _Operand: + return self.apply("or", self, other) + + def __ror__(self, other: _Operand | float) -> _Operand: + return self.apply("or", other, self) + + def __xor__(self, other: _Operand | float) -> _Operand: + return self.apply("xor", self, other) + + def __rxor__(self, other: _Operand | float) -> _Operand: + return self.apply("xor", other, self) + + def __lshift__(self, other: _Operand | float) -> _Operand: + return self.apply("lshift", self, other) + + def __rshift__(self, other: _Operand | float) -> _Operand: + return self.apply("rshift", self, other) + + # logical + def __eq__(self, other: _Operand | float) -> _Operand: # type: ignore[override] + return self.apply("eq", self, other) + + def __ne__(self, other: _Operand | float) -> _Operand: # type: ignore[override] + return self.apply("ne", self, other) + + def __lt__(self, other: _Operand | float) -> _Operand: + return self.apply("lt", self, other) + + def __le__(self, other: _Operand | float) -> _Operand: + return self.apply("le", self, other) + + def __gt__(self, other: _Operand | float) -> _Operand: + return self.apply("gt", self, other) + + def __ge__(self, other: _Operand | float) -> _Operand: + return self.apply("ge", self, other) + + +# conversions +def imagemath_int(self: _Operand) -> _Operand: + return _Operand(self.im.convert("I")) + + +def imagemath_float(self: _Operand) -> _Operand: + return _Operand(self.im.convert("F")) + + +# logical +def imagemath_equal(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("eq", self, other, mode="I") + + +def imagemath_notequal(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("ne", self, other, mode="I") + + +def imagemath_min(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("min", self, other) + + +def imagemath_max(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("max", self, other) + + +def imagemath_convert(self: _Operand, mode: str) -> _Operand: + return _Operand(self.im.convert(mode)) + + +ops = { + "int": imagemath_int, + "float": imagemath_float, + "equal": imagemath_equal, + "notequal": imagemath_notequal, + "min": imagemath_min, + "max": imagemath_max, + "convert": imagemath_convert, +} + + +def lambda_eval(expression: Callable[[dict[str, Any]], Any], **kw: Any) -> Any: + """ + Returns the result of an image function. + + :py:mod:`~PIL.ImageMath` only supports single-layer images. To process multi-band + images, use the :py:meth:`~PIL.Image.Image.split` method or + :py:func:`~PIL.Image.merge` function. + + :param expression: A function that receives a dictionary. + :param **kw: Values to add to the function's dictionary. + :return: The expression result. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + """ + + args: dict[str, Any] = ops.copy() + args.update(kw) + for k, v in args.items(): + if isinstance(v, Image.Image): + args[k] = _Operand(v) + + out = expression(args) + try: + return out.im + except AttributeError: + return out + + +def unsafe_eval(expression: str, **kw: Any) -> Any: + """ + Evaluates an image expression. This uses Python's ``eval()`` function to process + the expression string, and carries the security risks of doing so. It is not + recommended to process expressions without considering this. + :py:meth:`~lambda_eval` is a more secure alternative. + + :py:mod:`~PIL.ImageMath` only supports single-layer images. To process multi-band + images, use the :py:meth:`~PIL.Image.Image.split` method or + :py:func:`~PIL.Image.merge` function. + + :param expression: A string containing a Python-style expression. + :param **kw: Values to add to the evaluation context. + :return: The evaluated expression. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + """ + + # build execution namespace + args: dict[str, Any] = ops.copy() + for k in kw: + if "__" in k or hasattr(builtins, k): + msg = f"'{k}' not allowed" + raise ValueError(msg) + + args.update(kw) + for k, v in args.items(): + if isinstance(v, Image.Image): + args[k] = _Operand(v) + + compiled_code = compile(expression, "<string>", "eval") + + def scan(code: CodeType) -> None: + for const in code.co_consts: + if type(const) is type(compiled_code): + scan(const) + + for name in code.co_names: + if name not in args and name != "abs": + msg = f"'{name}' not allowed" + raise ValueError(msg) + + scan(compiled_code) + out = builtins.eval(expression, {"__builtins": {"abs": abs}}, args) + try: + return out.im + except AttributeError: + return out diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMode.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMode.py new file mode 100644 index 0000000..b7c6c86 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMode.py @@ -0,0 +1,85 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard mode descriptors +# +# History: +# 2006-03-20 fl Added +# +# Copyright (c) 2006 by Secret Labs AB. +# Copyright (c) 2006 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from functools import lru_cache +from typing import NamedTuple + + +class ModeDescriptor(NamedTuple): + """Wrapper for mode strings.""" + + mode: str + bands: tuple[str, ...] + basemode: str + basetype: str + typestr: str + + def __str__(self) -> str: + return self.mode + + +@lru_cache +def getmode(mode: str) -> ModeDescriptor: + """Gets a mode descriptor for the given mode.""" + endian = "<" if sys.byteorder == "little" else ">" + + modes = { + # core modes + # Bits need to be extended to bytes + "1": ("L", "L", ("1",), "|b1"), + "L": ("L", "L", ("L",), "|u1"), + "I": ("L", "I", ("I",), f"{endian}i4"), + "F": ("L", "F", ("F",), f"{endian}f4"), + "P": ("P", "L", ("P",), "|u1"), + "RGB": ("RGB", "L", ("R", "G", "B"), "|u1"), + "RGBX": ("RGB", "L", ("R", "G", "B", "X"), "|u1"), + "RGBA": ("RGB", "L", ("R", "G", "B", "A"), "|u1"), + "CMYK": ("RGB", "L", ("C", "M", "Y", "K"), "|u1"), + "YCbCr": ("RGB", "L", ("Y", "Cb", "Cr"), "|u1"), + # UNDONE - unsigned |u1i1i1 + "LAB": ("RGB", "L", ("L", "A", "B"), "|u1"), + "HSV": ("RGB", "L", ("H", "S", "V"), "|u1"), + # extra experimental modes + "RGBa": ("RGB", "L", ("R", "G", "B", "a"), "|u1"), + "LA": ("L", "L", ("L", "A"), "|u1"), + "La": ("L", "L", ("L", "a"), "|u1"), + "PA": ("RGB", "L", ("P", "A"), "|u1"), + } + if mode in modes: + base_mode, base_type, bands, type_str = modes[mode] + return ModeDescriptor(mode, bands, base_mode, base_type, type_str) + + mapping_modes = { + # I;16 == I;16L, and I;32 == I;32L + "I;16": "<u2", + "I;16S": "<i2", + "I;16L": "<u2", + "I;16LS": "<i2", + "I;16B": ">u2", + "I;16BS": ">i2", + "I;16N": f"{endian}u2", + "I;16NS": f"{endian}i2", + "I;32": "<u4", + "I;32B": ">u4", + "I;32L": "<u4", + "I;32S": "<i4", + "I;32BS": ">i4", + "I;32LS": "<i4", + } + + type_str = mapping_modes[mode] + return ModeDescriptor(mode, ("I",), "L", "L", type_str) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMorph.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMorph.py new file mode 100644 index 0000000..9fcd8d7 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageMorph.py @@ -0,0 +1,317 @@ +# A binary morphology add-on for the Python Imaging Library +# +# History: +# 2014-06-04 Initial version. +# +# Copyright (c) 2014 Dov Grobgeld <dov.grobgeld@gmail.com> +from __future__ import annotations + +import re + +from . import Image, _imagingmorph + +LUT_SIZE = 1 << 9 + +# fmt: off +ROTATION_MATRIX = [ + 6, 3, 0, + 7, 4, 1, + 8, 5, 2, +] +MIRROR_MATRIX = [ + 2, 1, 0, + 5, 4, 3, + 8, 7, 6, +] +# fmt: on + + +class LutBuilder: + """A class for building a MorphLut from a descriptive language + + The input patterns is a list of a strings sequences like these:: + + 4:(... + .1. + 111)->1 + + (whitespaces including linebreaks are ignored). The option 4 + describes a series of symmetry operations (in this case a + 4-rotation), the pattern is described by: + + - . or X - Ignore + - 1 - Pixel is on + - 0 - Pixel is off + + The result of the operation is described after "->" string. + + The default is to return the current pixel value, which is + returned if no other match is found. + + Operations: + + - 4 - 4 way rotation + - N - Negate + - 1 - Dummy op for no other operation (an op must always be given) + - M - Mirroring + + Example:: + + lb = LutBuilder(patterns = ["4:(... .1. 111)->1"]) + lut = lb.build_lut() + + """ + + def __init__( + self, patterns: list[str] | None = None, op_name: str | None = None + ) -> None: + """ + :param patterns: A list of input patterns, or None. + :param op_name: The name of a known pattern. One of "corner", "dilation4", + "dilation8", "erosion4", "erosion8" or "edge". + :exception Exception: If the op_name is not recognized. + """ + self.lut: bytearray | None = None + if op_name is not None: + known_patterns = { + "corner": ["1:(... ... ...)->0", "4:(00. 01. ...)->1"], + "dilation4": ["4:(... .0. .1.)->1"], + "dilation8": ["4:(... .0. .1.)->1", "4:(... .0. ..1)->1"], + "erosion4": ["4:(... .1. .0.)->0"], + "erosion8": ["4:(... .1. .0.)->0", "4:(... .1. ..0)->0"], + "edge": [ + "1:(... ... ...)->0", + "4:(.0. .1. ...)->1", + "4:(01. .1. ...)->1", + ], + } + if op_name not in known_patterns: + msg = f"Unknown pattern {op_name}!" + raise Exception(msg) + + self.patterns = known_patterns[op_name] + elif patterns is not None: + self.patterns = patterns + else: + self.patterns = [] + + def add_patterns(self, patterns: list[str]) -> None: + """ + Append to list of patterns. + + :param patterns: Additional patterns. + """ + self.patterns += patterns + + def build_default_lut(self) -> bytearray: + """ + Set the current LUT, and return it. + + This is the default LUT that patterns will be applied against when building. + """ + symbols = [0, 1] + m = 1 << 4 # pos of current pixel + self.lut = bytearray(symbols[(i & m) > 0] for i in range(LUT_SIZE)) + return self.lut + + def get_lut(self) -> bytearray | None: + """ + Returns the current LUT + """ + return self.lut + + def _string_permute(self, pattern: str, permutation: list[int]) -> str: + """Takes a pattern and a permutation and returns the + string permuted according to the permutation list. + """ + assert len(permutation) == 9 + return "".join(pattern[p] for p in permutation) + + def _pattern_permute( + self, basic_pattern: str, options: str, basic_result: int + ) -> list[tuple[str, int]]: + """Takes a basic pattern and its result and clones + the pattern according to the modifications described in the $options + parameter. It returns a list of all cloned patterns.""" + patterns = [(basic_pattern, basic_result)] + + # rotations + if "4" in options: + res = patterns[-1][1] + for i in range(4): + patterns.append( + (self._string_permute(patterns[-1][0], ROTATION_MATRIX), res) + ) + # mirror + if "M" in options: + n = len(patterns) + for pattern, res in patterns[:n]: + patterns.append((self._string_permute(pattern, MIRROR_MATRIX), res)) + + # negate + if "N" in options: + n = len(patterns) + for pattern, res in patterns[:n]: + # Swap 0 and 1 + pattern = pattern.replace("0", "Z").replace("1", "0").replace("Z", "1") + res = 1 - int(res) + patterns.append((pattern, res)) + + return patterns + + def build_lut(self) -> bytearray: + """Compile all patterns into a morphology LUT, and return it. + + This is the data to be passed into MorphOp.""" + self.build_default_lut() + assert self.lut is not None + patterns = [] + + # Parse and create symmetries of the patterns strings + for p in self.patterns: + m = re.search(r"(\w):?\s*\((.+?)\)\s*->\s*(\d)", p.replace("\n", "")) + if not m: + msg = 'Syntax error in pattern "' + p + '"' + raise Exception(msg) + options = m.group(1) + pattern = m.group(2) + result = int(m.group(3)) + + # Get rid of spaces + pattern = pattern.replace(" ", "").replace("\n", "") + + patterns += self._pattern_permute(pattern, options, result) + + # Compile the patterns into regular expressions for speed + compiled_patterns = [] + for pattern in patterns: + p = pattern[0].replace(".", "X").replace("X", "[01]") + compiled_patterns.append((re.compile(p), pattern[1])) + + # Step through table and find patterns that match. + # Note that all the patterns are searched. The last one found takes priority + for i in range(LUT_SIZE): + # Build the bit pattern + bitpattern = bin(i)[2:] + bitpattern = ("0" * (9 - len(bitpattern)) + bitpattern)[::-1] + + for pattern, r in compiled_patterns: + if pattern.match(bitpattern): + self.lut[i] = [0, 1][r] + + return self.lut + + +class MorphOp: + """A class for binary morphological operators""" + + def __init__( + self, + lut: bytearray | None = None, + op_name: str | None = None, + patterns: list[str] | None = None, + ) -> None: + """Create a binary morphological operator. + + If the LUT is not provided, then it is built using LutBuilder from the op_name + or the patterns. + + :param lut: The LUT data. + :param patterns: A list of input patterns, or None. + :param op_name: The name of a known pattern. One of "corner", "dilation4", + "dilation8", "erosion4", "erosion8", "edge". + :exception Exception: If the op_name is not recognized. + """ + if patterns is None and op_name is None: + self.lut = lut + else: + self.lut = LutBuilder(patterns, op_name).build_lut() + + def apply(self, image: Image.Image) -> tuple[int, Image.Image]: + """Run a single morphological operation on an image. + + Returns a tuple of the number of changed pixels and the + morphed image. + + :param image: A 1-mode or L-mode image. + :exception Exception: If the current operator is None. + :exception ValueError: If the image is not 1 or L mode.""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + + if image.mode not in ("1", "L"): + msg = "Image mode must be 1 or L" + raise ValueError(msg) + outimage = Image.new(image.mode, image.size) + count = _imagingmorph.apply(bytes(self.lut), image.getim(), outimage.getim()) + return count, outimage + + def match(self, image: Image.Image) -> list[tuple[int, int]]: + """Get a list of coordinates matching the morphological operation on + an image. + + Returns a list of tuples of (x,y) coordinates of all matching pixels. See + :ref:`coordinate-system`. + + :param image: A 1-mode or L-mode image. + :exception Exception: If the current operator is None. + :exception ValueError: If the image is not 1 or L mode.""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + + if image.mode not in ("1", "L"): + msg = "Image mode must be 1 or L" + raise ValueError(msg) + return _imagingmorph.match(bytes(self.lut), image.getim()) + + def get_on_pixels(self, image: Image.Image) -> list[tuple[int, int]]: + """Get a list of all turned on pixels in a 1 or L mode image. + + Returns a list of tuples of (x,y) coordinates of all non-empty pixels. See + :ref:`coordinate-system`. + + :param image: A 1-mode or L-mode image. + :exception ValueError: If the image is not 1 or L mode.""" + + if image.mode not in ("1", "L"): + msg = "Image mode must be 1 or L" + raise ValueError(msg) + return _imagingmorph.get_on_pixels(image.getim()) + + def load_lut(self, filename: str) -> None: + """ + Load an operator from an mrl file + + :param filename: The file to read from. + :exception Exception: If the length of the file data is not 512. + """ + with open(filename, "rb") as f: + self.lut = bytearray(f.read()) + + if len(self.lut) != LUT_SIZE: + self.lut = None + msg = "Wrong size operator file!" + raise Exception(msg) + + def save_lut(self, filename: str) -> None: + """ + Save an operator to an mrl file. + + :param filename: The destination file. + :exception Exception: If the current operator is None. + """ + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + with open(filename, "wb") as f: + f.write(self.lut) + + def set_lut(self, lut: bytearray | None) -> None: + """ + Set the LUT from an external source + + :param lut: A new LUT. + """ + self.lut = lut diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageOps.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageOps.py new file mode 100644 index 0000000..42b10bd --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageOps.py @@ -0,0 +1,746 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard image operations +# +# History: +# 2001-10-20 fl Created +# 2001-10-23 fl Added autocontrast operator +# 2001-12-18 fl Added Kevin's fit operator +# 2004-03-14 fl Fixed potential division by zero in equalize +# 2005-05-05 fl Fixed equalize for low number of values +# +# Copyright (c) 2001-2004 by Secret Labs AB +# Copyright (c) 2001-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import functools +import operator +import re +from collections.abc import Sequence +from typing import Literal, Protocol, cast, overload + +from . import ExifTags, Image, ImagePalette + +# +# helpers + + +def _border(border: int | tuple[int, ...]) -> tuple[int, int, int, int]: + if isinstance(border, tuple): + if len(border) == 2: + left, top = right, bottom = border + elif len(border) == 4: + left, top, right, bottom = border + else: + left = top = right = bottom = border + return left, top, right, bottom + + +def _color(color: str | int | tuple[int, ...], mode: str) -> int | tuple[int, ...]: + if isinstance(color, str): + from . import ImageColor + + color = ImageColor.getcolor(color, mode) + return color + + +def _lut(image: Image.Image, lut: list[int]) -> Image.Image: + if image.mode == "P": + # FIXME: apply to lookup table, not image data + msg = "mode P support coming soon" + raise NotImplementedError(msg) + elif image.mode in ("L", "RGB"): + if image.mode == "RGB" and len(lut) == 256: + lut = lut + lut + lut + return image.point(lut) + else: + msg = f"not supported for mode {image.mode}" + raise OSError(msg) + + +# +# actions + + +def autocontrast( + image: Image.Image, + cutoff: float | tuple[float, float] = 0, + ignore: int | Sequence[int] | None = None, + mask: Image.Image | None = None, + preserve_tone: bool = False, +) -> Image.Image: + """ + Maximize (normalize) image contrast. This function calculates a + histogram of the input image (or mask region), removes ``cutoff`` percent of the + lightest and darkest pixels from the histogram, and remaps the image + so that the darkest pixel becomes black (0), and the lightest + becomes white (255). + + :param image: The image to process. + :param cutoff: The percent to cut off from the histogram on the low and + high ends. Either a tuple of (low, high), or a single + number for both. + :param ignore: The background pixel value (use None for no background). + :param mask: Histogram used in contrast operation is computed using pixels + within the mask. If no mask is given the entire image is used + for histogram computation. + :param preserve_tone: Preserve image tone in Photoshop-like style autocontrast. + + .. versionadded:: 8.2.0 + + :return: An image. + """ + if preserve_tone: + histogram = image.convert("L").histogram(mask) + else: + histogram = image.histogram(mask) + + lut = [] + for layer in range(0, len(histogram), 256): + h = histogram[layer : layer + 256] + if ignore is not None: + # get rid of outliers + if isinstance(ignore, int): + h[ignore] = 0 + else: + for ix in ignore: + h[ix] = 0 + if cutoff: + # cut off pixels from both ends of the histogram + if not isinstance(cutoff, tuple): + cutoff = (cutoff, cutoff) + # get number of pixels + n = 0 + for ix in range(256): + n = n + h[ix] + # remove cutoff% pixels from the low end + cut = int(n * cutoff[0] // 100) + for lo in range(256): + if cut > h[lo]: + cut = cut - h[lo] + h[lo] = 0 + else: + h[lo] -= cut + cut = 0 + if cut <= 0: + break + # remove cutoff% samples from the high end + cut = int(n * cutoff[1] // 100) + for hi in range(255, -1, -1): + if cut > h[hi]: + cut = cut - h[hi] + h[hi] = 0 + else: + h[hi] -= cut + cut = 0 + if cut <= 0: + break + # find lowest/highest samples after preprocessing + for lo in range(256): + if h[lo]: + break + for hi in range(255, -1, -1): + if h[hi]: + break + if hi <= lo: + # don't bother + lut.extend(list(range(256))) + else: + scale = 255.0 / (hi - lo) + offset = -lo * scale + for ix in range(256): + ix = int(ix * scale + offset) + if ix < 0: + ix = 0 + elif ix > 255: + ix = 255 + lut.append(ix) + return _lut(image, lut) + + +def colorize( + image: Image.Image, + black: str | tuple[int, ...], + white: str | tuple[int, ...], + mid: str | int | tuple[int, ...] | None = None, + blackpoint: int = 0, + whitepoint: int = 255, + midpoint: int = 127, +) -> Image.Image: + """ + Colorize grayscale image. + This function calculates a color wedge which maps all black pixels in + the source image to the first color and all white pixels to the + second color. If ``mid`` is specified, it uses three-color mapping. + The ``black`` and ``white`` arguments should be RGB tuples or color names; + optionally you can use three-color mapping by also specifying ``mid``. + Mapping positions for any of the colors can be specified + (e.g. ``blackpoint``), where these parameters are the integer + value corresponding to where the corresponding color should be mapped. + These parameters must have logical order, such that + ``blackpoint <= midpoint <= whitepoint`` (if ``mid`` is specified). + + :param image: The image to colorize. + :param black: The color to use for black input pixels. + :param white: The color to use for white input pixels. + :param mid: The color to use for midtone input pixels. + :param blackpoint: an int value [0, 255] for the black mapping. + :param whitepoint: an int value [0, 255] for the white mapping. + :param midpoint: an int value [0, 255] for the midtone mapping. + :return: An image. + """ + + # Initial asserts + assert image.mode == "L" + if mid is None: + assert 0 <= blackpoint <= whitepoint <= 255 + else: + assert 0 <= blackpoint <= midpoint <= whitepoint <= 255 + + # Define colors from arguments + rgb_black = cast(Sequence[int], _color(black, "RGB")) + rgb_white = cast(Sequence[int], _color(white, "RGB")) + rgb_mid = cast(Sequence[int], _color(mid, "RGB")) if mid is not None else None + + # Empty lists for the mapping + red = [] + green = [] + blue = [] + + # Create the low-end values + for i in range(blackpoint): + red.append(rgb_black[0]) + green.append(rgb_black[1]) + blue.append(rgb_black[2]) + + # Create the mapping (2-color) + if rgb_mid is None: + range_map = range(whitepoint - blackpoint) + + for i in range_map: + red.append( + rgb_black[0] + i * (rgb_white[0] - rgb_black[0]) // len(range_map) + ) + green.append( + rgb_black[1] + i * (rgb_white[1] - rgb_black[1]) // len(range_map) + ) + blue.append( + rgb_black[2] + i * (rgb_white[2] - rgb_black[2]) // len(range_map) + ) + + # Create the mapping (3-color) + else: + range_map1 = range(midpoint - blackpoint) + range_map2 = range(whitepoint - midpoint) + + for i in range_map1: + red.append( + rgb_black[0] + i * (rgb_mid[0] - rgb_black[0]) // len(range_map1) + ) + green.append( + rgb_black[1] + i * (rgb_mid[1] - rgb_black[1]) // len(range_map1) + ) + blue.append( + rgb_black[2] + i * (rgb_mid[2] - rgb_black[2]) // len(range_map1) + ) + for i in range_map2: + red.append(rgb_mid[0] + i * (rgb_white[0] - rgb_mid[0]) // len(range_map2)) + green.append( + rgb_mid[1] + i * (rgb_white[1] - rgb_mid[1]) // len(range_map2) + ) + blue.append(rgb_mid[2] + i * (rgb_white[2] - rgb_mid[2]) // len(range_map2)) + + # Create the high-end values + for i in range(256 - whitepoint): + red.append(rgb_white[0]) + green.append(rgb_white[1]) + blue.append(rgb_white[2]) + + # Return converted image + image = image.convert("RGB") + return _lut(image, red + green + blue) + + +def contain( + image: Image.Image, size: tuple[int, int], method: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a resized version of the image, set to the maximum width and height + within the requested size, while maintaining the original aspect ratio. + + :param image: The image to resize. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :return: An image. + """ + + im_ratio = image.width / image.height + dest_ratio = size[0] / size[1] + + if im_ratio != dest_ratio: + if im_ratio > dest_ratio: + new_height = round(image.height / image.width * size[0]) + if new_height != size[1]: + size = (size[0], new_height) + else: + new_width = round(image.width / image.height * size[1]) + if new_width != size[0]: + size = (new_width, size[1]) + return image.resize(size, resample=method) + + +def cover( + image: Image.Image, size: tuple[int, int], method: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a resized version of the image, so that the requested size is + covered, while maintaining the original aspect ratio. + + :param image: The image to resize. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :return: An image. + """ + + im_ratio = image.width / image.height + dest_ratio = size[0] / size[1] + + if im_ratio != dest_ratio: + if im_ratio < dest_ratio: + new_height = round(image.height / image.width * size[0]) + if new_height != size[1]: + size = (size[0], new_height) + else: + new_width = round(image.width / image.height * size[1]) + if new_width != size[0]: + size = (new_width, size[1]) + return image.resize(size, resample=method) + + +def pad( + image: Image.Image, + size: tuple[int, int], + method: int = Image.Resampling.BICUBIC, + color: str | int | tuple[int, ...] | None = None, + centering: tuple[float, float] = (0.5, 0.5), +) -> Image.Image: + """ + Returns a resized and padded version of the image, expanded to fill the + requested aspect ratio and size. + + :param image: The image to resize and crop. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :param color: The background color of the padded image. + :param centering: Control the position of the original image within the + padded version. + + (0.5, 0.5) will keep the image centered + (0, 0) will keep the image aligned to the top left + (1, 1) will keep the image aligned to the bottom + right + :return: An image. + """ + + resized = contain(image, size, method) + if resized.size == size: + out = resized + else: + out = Image.new(image.mode, size, color) + if resized.palette: + palette = resized.getpalette() + if palette is not None: + out.putpalette(palette) + if resized.width != size[0]: + x = round((size[0] - resized.width) * max(0, min(centering[0], 1))) + out.paste(resized, (x, 0)) + else: + y = round((size[1] - resized.height) * max(0, min(centering[1], 1))) + out.paste(resized, (0, y)) + return out + + +def crop(image: Image.Image, border: int = 0) -> Image.Image: + """ + Remove border from image. The same amount of pixels are removed + from all four sides. This function works on all image modes. + + .. seealso:: :py:meth:`~PIL.Image.Image.crop` + + :param image: The image to crop. + :param border: The number of pixels to remove. + :return: An image. + """ + left, top, right, bottom = _border(border) + return image.crop((left, top, image.size[0] - right, image.size[1] - bottom)) + + +def scale( + image: Image.Image, factor: float, resample: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a rescaled image by a specific factor given in parameter. + A factor greater than 1 expands the image, between 0 and 1 contracts the + image. + + :param image: The image to rescale. + :param factor: The expansion factor, as a float. + :param resample: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + if factor == 1: + return image.copy() + elif factor <= 0: + msg = "the factor must be greater than 0" + raise ValueError(msg) + else: + size = (round(factor * image.width), round(factor * image.height)) + return image.resize(size, resample) + + +class SupportsGetMesh(Protocol): + """ + An object that supports the ``getmesh`` method, taking an image as an + argument, and returning a list of tuples. Each tuple contains two tuples, + the source box as a tuple of 4 integers, and a tuple of 8 integers for the + final quadrilateral, in order of top left, bottom left, bottom right, top + right. + """ + + def getmesh( + self, image: Image.Image + ) -> list[ + tuple[tuple[int, int, int, int], tuple[int, int, int, int, int, int, int, int]] + ]: ... + + +def deform( + image: Image.Image, + deformer: SupportsGetMesh, + resample: int = Image.Resampling.BILINEAR, +) -> Image.Image: + """ + Deform the image. + + :param image: The image to deform. + :param deformer: A deformer object. Any object that implements a + ``getmesh`` method can be used. + :param resample: An optional resampling filter. Same values possible as + in the PIL.Image.transform function. + :return: An image. + """ + return image.transform( + image.size, Image.Transform.MESH, deformer.getmesh(image), resample + ) + + +def equalize(image: Image.Image, mask: Image.Image | None = None) -> Image.Image: + """ + Equalize the image histogram. This function applies a non-linear + mapping to the input image, in order to create a uniform + distribution of grayscale values in the output image. + + :param image: The image to equalize. + :param mask: An optional mask. If given, only the pixels selected by + the mask are included in the analysis. + :return: An image. + """ + if image.mode == "P": + image = image.convert("RGB") + h = image.histogram(mask) + lut = [] + for b in range(0, len(h), 256): + histo = [_f for _f in h[b : b + 256] if _f] + if len(histo) <= 1: + lut.extend(list(range(256))) + else: + step = (functools.reduce(operator.add, histo) - histo[-1]) // 255 + if not step: + lut.extend(list(range(256))) + else: + n = step // 2 + for i in range(256): + lut.append(n // step) + n = n + h[i + b] + return _lut(image, lut) + + +def expand( + image: Image.Image, + border: int | tuple[int, ...] = 0, + fill: str | int | tuple[int, ...] = 0, +) -> Image.Image: + """ + Add border to the image + + :param image: The image to expand. + :param border: Border width, in pixels. + :param fill: Pixel fill value (a color value). Default is 0 (black). + :return: An image. + """ + left, top, right, bottom = _border(border) + width = left + image.size[0] + right + height = top + image.size[1] + bottom + color = _color(fill, image.mode) + if image.palette: + mode = image.palette.mode + palette = ImagePalette.ImagePalette(mode, image.getpalette(mode)) + if isinstance(color, tuple) and (len(color) == 3 or len(color) == 4): + color = palette.getcolor(color) + else: + palette = None + out = Image.new(image.mode, (width, height), color) + if palette: + out.putpalette(palette.palette, mode) + out.paste(image, (left, top)) + return out + + +def fit( + image: Image.Image, + size: tuple[int, int], + method: int = Image.Resampling.BICUBIC, + bleed: float = 0.0, + centering: tuple[float, float] = (0.5, 0.5), +) -> Image.Image: + """ + Returns a resized and cropped version of the image, cropped to the + requested aspect ratio and size. + + This function was contributed by Kevin Cazabon. + + :param image: The image to resize and crop. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :param bleed: Remove a border around the outside of the image from all + four edges. The value is a decimal percentage (use 0.01 for + one percent). The default value is 0 (no border). + Cannot be greater than or equal to 0.5. + :param centering: Control the cropping position. Use (0.5, 0.5) for + center cropping (e.g. if cropping the width, take 50% off + of the left side, and therefore 50% off the right side). + (0.0, 0.0) will crop from the top left corner (i.e. if + cropping the width, take all of the crop off of the right + side, and if cropping the height, take all of it off the + bottom). (1.0, 0.0) will crop from the bottom left + corner, etc. (i.e. if cropping the width, take all of the + crop off the left side, and if cropping the height take + none from the top, and therefore all off the bottom). + :return: An image. + """ + + # by Kevin Cazabon, Feb 17/2000 + # kevin@cazabon.com + # https://www.cazabon.com + + centering_x, centering_y = centering + + if not 0.0 <= centering_x <= 1.0: + centering_x = 0.5 + if not 0.0 <= centering_y <= 1.0: + centering_y = 0.5 + + if not 0.0 <= bleed < 0.5: + bleed = 0.0 + + # calculate the area to use for resizing and cropping, subtracting + # the 'bleed' around the edges + + # number of pixels to trim off on Top and Bottom, Left and Right + bleed_pixels = (bleed * image.size[0], bleed * image.size[1]) + + live_size = ( + image.size[0] - bleed_pixels[0] * 2, + image.size[1] - bleed_pixels[1] * 2, + ) + + # calculate the aspect ratio of the live_size + live_size_ratio = live_size[0] / live_size[1] + + # calculate the aspect ratio of the output image + output_ratio = size[0] / size[1] + + # figure out if the sides or top/bottom will be cropped off + if live_size_ratio == output_ratio: + # live_size is already the needed ratio + crop_width = live_size[0] + crop_height = live_size[1] + elif live_size_ratio >= output_ratio: + # live_size is wider than what's needed, crop the sides + crop_width = output_ratio * live_size[1] + crop_height = live_size[1] + else: + # live_size is taller than what's needed, crop the top and bottom + crop_width = live_size[0] + crop_height = live_size[0] / output_ratio + + # make the crop + crop_left = bleed_pixels[0] + (live_size[0] - crop_width) * centering_x + crop_top = bleed_pixels[1] + (live_size[1] - crop_height) * centering_y + + crop = (crop_left, crop_top, crop_left + crop_width, crop_top + crop_height) + + # resize the image and return it + return image.resize(size, method, box=crop) + + +def flip(image: Image.Image) -> Image.Image: + """ + Flip the image vertically (top to bottom). + + :param image: The image to flip. + :return: An image. + """ + return image.transpose(Image.Transpose.FLIP_TOP_BOTTOM) + + +def grayscale(image: Image.Image) -> Image.Image: + """ + Convert the image to grayscale. + + :param image: The image to convert. + :return: An image. + """ + return image.convert("L") + + +def invert(image: Image.Image) -> Image.Image: + """ + Invert (negate) the image. + + :param image: The image to invert. + :return: An image. + """ + lut = list(range(255, -1, -1)) + return image.point(lut) if image.mode == "1" else _lut(image, lut) + + +def mirror(image: Image.Image) -> Image.Image: + """ + Flip image horizontally (left to right). + + :param image: The image to mirror. + :return: An image. + """ + return image.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + + +def posterize(image: Image.Image, bits: int) -> Image.Image: + """ + Reduce the number of bits for each color channel. + + :param image: The image to posterize. + :param bits: The number of bits to keep for each channel (1-8). + :return: An image. + """ + mask = ~(2 ** (8 - bits) - 1) + lut = [i & mask for i in range(256)] + return _lut(image, lut) + + +def solarize(image: Image.Image, threshold: int = 128) -> Image.Image: + """ + Invert all pixel values above a threshold. + + :param image: The image to solarize. + :param threshold: All pixels above this grayscale level are inverted. + :return: An image. + """ + lut = [] + for i in range(256): + if i < threshold: + lut.append(i) + else: + lut.append(255 - i) + return _lut(image, lut) + + +@overload +def exif_transpose(image: Image.Image, *, in_place: Literal[True]) -> None: ... + + +@overload +def exif_transpose( + image: Image.Image, *, in_place: Literal[False] = False +) -> Image.Image: ... + + +def exif_transpose(image: Image.Image, *, in_place: bool = False) -> Image.Image | None: + """ + If an image has an EXIF Orientation tag, other than 1, transpose the image + accordingly, and remove the orientation data. + + :param image: The image to transpose. + :param in_place: Boolean. Keyword-only argument. + If ``True``, the original image is modified in-place, and ``None`` is returned. + If ``False`` (default), a new :py:class:`~PIL.Image.Image` object is returned + with the transposition applied. If there is no transposition, a copy of the + image will be returned. + """ + image.load() + image_exif = image.getexif() + orientation = image_exif.get(ExifTags.Base.Orientation, 1) + method = { + 2: Image.Transpose.FLIP_LEFT_RIGHT, + 3: Image.Transpose.ROTATE_180, + 4: Image.Transpose.FLIP_TOP_BOTTOM, + 5: Image.Transpose.TRANSPOSE, + 6: Image.Transpose.ROTATE_270, + 7: Image.Transpose.TRANSVERSE, + 8: Image.Transpose.ROTATE_90, + }.get(orientation) + if method is not None: + if in_place: + image.im = image.im.transpose(method) + image._size = image.im.size + else: + transposed_image = image.transpose(method) + exif_image = image if in_place else transposed_image + + exif = exif_image.getexif() + if ExifTags.Base.Orientation in exif: + del exif[ExifTags.Base.Orientation] + if "exif" in exif_image.info: + exif_image.info["exif"] = exif.tobytes() + elif "Raw profile type exif" in exif_image.info: + exif_image.info["Raw profile type exif"] = exif.tobytes().hex() + for key in ("XML:com.adobe.xmp", "xmp"): + if key in exif_image.info: + for pattern in ( + r'tiff:Orientation="([0-9])"', + r"<tiff:Orientation>([0-9])</tiff:Orientation>", + ): + value = exif_image.info[key] + if isinstance(value, str): + value = re.sub(pattern, "", value) + elif isinstance(value, tuple): + value = tuple( + re.sub(pattern.encode(), b"", v) for v in value + ) + else: + value = re.sub(pattern.encode(), b"", value) + exif_image.info[key] = value + if not in_place: + return transposed_image + elif not in_place: + return image.copy() + return None diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImagePalette.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImagePalette.py new file mode 100644 index 0000000..2abbd46 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImagePalette.py @@ -0,0 +1,290 @@ +# +# The Python Imaging Library. +# $Id$ +# +# image palette object +# +# History: +# 1996-03-11 fl Rewritten. +# 1997-01-03 fl Up and running. +# 1997-08-23 fl Added load hack +# 2001-04-16 fl Fixed randint shadow bug in random() +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import array +from collections.abc import Sequence +from typing import IO + +from . import GimpGradientFile, GimpPaletteFile, ImageColor, PaletteFile + +TYPE_CHECKING = False +if TYPE_CHECKING: + from . import Image + + +class ImagePalette: + """ + Color palette for palette mapped images + + :param mode: The mode to use for the palette. See: + :ref:`concept-modes`. Defaults to "RGB" + :param palette: An optional palette. If given, it must be a bytearray, + an array or a list of ints between 0-255. The list must consist of + all channels for one color followed by the next color (e.g. RGBRGBRGB). + Defaults to an empty palette. + """ + + def __init__( + self, + mode: str = "RGB", + palette: Sequence[int] | bytes | bytearray | None = None, + ) -> None: + self.mode = mode + self.rawmode: str | None = None # if set, palette contains raw data + self.palette = palette or bytearray() + self.dirty: int | None = None + + @property + def palette(self) -> Sequence[int] | bytes | bytearray: + return self._palette + + @palette.setter + def palette(self, palette: Sequence[int] | bytes | bytearray) -> None: + self._colors: dict[tuple[int, ...], int] | None = None + self._palette = palette + + @property + def colors(self) -> dict[tuple[int, ...], int]: + if self._colors is None: + mode_len = len(self.mode) + self._colors = {} + for i in range(0, len(self.palette), mode_len): + color = tuple(self.palette[i : i + mode_len]) + if color in self._colors: + continue + self._colors[color] = i // mode_len + return self._colors + + @colors.setter + def colors(self, colors: dict[tuple[int, ...], int]) -> None: + self._colors = colors + + def copy(self) -> ImagePalette: + new = ImagePalette() + + new.mode = self.mode + new.rawmode = self.rawmode + if self.palette is not None: + new.palette = self.palette[:] + new.dirty = self.dirty + + return new + + def getdata(self) -> tuple[str, Sequence[int] | bytes | bytearray]: + """ + Get palette contents in format suitable for the low-level + ``im.putpalette`` primitive. + + .. warning:: This method is experimental. + """ + if self.rawmode: + return self.rawmode, self.palette + return self.mode, self.tobytes() + + def tobytes(self) -> bytes: + """Convert palette to bytes. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(self.palette, bytes): + return self.palette + arr = array.array("B", self.palette) + return arr.tobytes() + + # Declare tostring as an alias for tobytes + tostring = tobytes + + def _new_color_index( + self, image: Image.Image | None = None, e: Exception | None = None + ) -> int: + if not isinstance(self.palette, bytearray): + self._palette = bytearray(self.palette) + index = len(self.palette) // len(self.mode) + special_colors: tuple[int | tuple[int, ...] | None, ...] = () + if image: + special_colors = ( + image.info.get("background"), + image.info.get("transparency"), + ) + while index in special_colors: + index += 1 + if index >= 256: + if image: + # Search for an unused index + for i, count in reversed(list(enumerate(image.histogram()))): + if count == 0 and i not in special_colors: + index = i + break + if index >= 256: + msg = "cannot allocate more than 256 colors" + raise ValueError(msg) from e + return index + + def getcolor( + self, + color: tuple[int, ...], + image: Image.Image | None = None, + ) -> int: + """Given an rgb tuple, allocate palette entry. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(color, tuple): + if self.mode == "RGB": + if len(color) == 4: + if color[3] != 255: + msg = "cannot add non-opaque RGBA color to RGB palette" + raise ValueError(msg) + color = color[:3] + elif self.mode == "RGBA": + if len(color) == 3: + color += (255,) + try: + return self.colors[color] + except KeyError as e: + # allocate new color slot + index = self._new_color_index(image, e) + assert isinstance(self._palette, bytearray) + self.colors[color] = index + mode_len = len(self.mode) + if index * mode_len < len(self.palette): + self._palette = ( + self._palette[: index * mode_len] + + bytes(color) + + self._palette[index * mode_len + mode_len :] + ) + else: + self._palette += bytes(color) + self.dirty = 1 + return index + else: + msg = f"unknown color specifier: {repr(color)}" # type: ignore[unreachable] + raise ValueError(msg) + + def save(self, fp: str | IO[str]) -> None: + """Save palette to text file. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + open_fp = False + if isinstance(fp, str): + fp = open(fp, "w") + open_fp = True + try: + fp.write("# Palette\n") + fp.write(f"# Mode: {self.mode}\n") + palette_len = len(self.palette) + for i in range(256): + fp.write(f"{i}") + for j in range(i * len(self.mode), (i + 1) * len(self.mode)): + fp.write(f" {self.palette[j] if j < palette_len else 0}") + fp.write("\n") + finally: + if open_fp: + fp.close() + + +# -------------------------------------------------------------------- +# Internal + + +def raw(rawmode: str, data: Sequence[int] | bytes | bytearray) -> ImagePalette: + palette = ImagePalette() + palette.rawmode = rawmode + palette.palette = data + palette.dirty = 1 + return palette + + +# -------------------------------------------------------------------- +# Factories + + +def make_linear_lut(black: int, white: float) -> list[int]: + if black == 0: + return [int(white * i // 255) for i in range(256)] + + msg = "unavailable when black is non-zero" + raise NotImplementedError(msg) # FIXME + + +def make_gamma_lut(exp: float) -> list[int]: + return [int(((i / 255.0) ** exp) * 255.0 + 0.5) for i in range(256)] + + +def negative(mode: str = "RGB") -> ImagePalette: + palette = list(range(256 * len(mode))) + palette.reverse() + return ImagePalette(mode, [i // len(mode) for i in palette]) + + +def random(mode: str = "RGB") -> ImagePalette: + from random import randint + + palette = [randint(0, 255) for _ in range(256 * len(mode))] + return ImagePalette(mode, palette) + + +def sepia(white: str = "#fff0c0") -> ImagePalette: + bands = [make_linear_lut(0, band) for band in ImageColor.getrgb(white)] + return ImagePalette("RGB", [bands[i % 3][i // 3] for i in range(256 * 3)]) + + +def wedge(mode: str = "RGB") -> ImagePalette: + palette = list(range(256 * len(mode))) + return ImagePalette(mode, [i // len(mode) for i in palette]) + + +def load(filename: str) -> tuple[bytes, str]: + # FIXME: supports GIMP gradients only + + with open(filename, "rb") as fp: + paletteHandlers: list[ + type[ + GimpPaletteFile.GimpPaletteFile + | GimpGradientFile.GimpGradientFile + | PaletteFile.PaletteFile + ] + ] = [ + GimpPaletteFile.GimpPaletteFile, + GimpGradientFile.GimpGradientFile, + PaletteFile.PaletteFile, + ] + for paletteHandler in paletteHandlers: + try: + fp.seek(0) + lut = paletteHandler(fp).getpalette() + if lut: + break + except (SyntaxError, ValueError): + pass + else: + msg = "cannot load palette" + raise OSError(msg) + + return lut # data, rawmode diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImagePath.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImagePath.py new file mode 100644 index 0000000..77e8a60 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImagePath.py @@ -0,0 +1,20 @@ +# +# The Python Imaging Library +# $Id$ +# +# path interface +# +# History: +# 1996-11-04 fl Created +# 2002-04-14 fl Added documentation stub class +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image + +Path = Image.core.path diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageQt.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageQt.py new file mode 100644 index 0000000..af4d074 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageQt.py @@ -0,0 +1,219 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a simple Qt image interface. +# +# history: +# 2006-06-03 fl: created +# 2006-06-04 fl: inherit from QImage instead of wrapping it +# 2006-06-05 fl: removed toimage helper; move string support to ImageQt +# 2013-11-13 fl: add support for Qt5 (aurelien.ballier@cyclonit.com) +# +# Copyright (c) 2006 by Secret Labs AB +# Copyright (c) 2006 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from io import BytesIO + +from . import Image +from ._util import is_path + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from typing import Any + + from . import ImageFile + + QBuffer: type + +qt_version: str | None +qt_versions = [ + ["6", "PyQt6"], + ["side6", "PySide6"], +] + +# If a version has already been imported, attempt it first +qt_versions.sort(key=lambda version: version[1] in sys.modules, reverse=True) +for version, qt_module in qt_versions: + try: + qRgba: Callable[[int, int, int, int], int] + if qt_module == "PyQt6": + from PyQt6.QtCore import QBuffer, QByteArray, QIODevice + from PyQt6.QtGui import QImage, QPixmap, qRgba + elif qt_module == "PySide6": + from PySide6.QtCore import ( # type: ignore[assignment] + QBuffer, + QByteArray, + QIODevice, + ) + from PySide6.QtGui import QImage, QPixmap, qRgba # type: ignore[assignment] + except (ImportError, RuntimeError): + continue + qt_is_installed = True + qt_version = version + break +else: + qt_is_installed = False + qt_version = None + + +def rgb(r: int, g: int, b: int, a: int = 255) -> int: + """(Internal) Turns an RGB color into a Qt compatible color integer.""" + # use qRgb to pack the colors, and then turn the resulting long + # into a negative integer with the same bitpattern. + return qRgba(r, g, b, a) & 0xFFFFFFFF + + +def fromqimage(im: QImage | QPixmap) -> ImageFile.ImageFile: + """ + :param im: QImage or PIL ImageQt object + """ + buffer = QBuffer() + qt_openmode: object + if qt_version == "6": + try: + qt_openmode = getattr(QIODevice, "OpenModeFlag") + except AttributeError: + qt_openmode = getattr(QIODevice, "OpenMode") + else: + qt_openmode = QIODevice + buffer.open(getattr(qt_openmode, "ReadWrite")) + # preserve alpha channel with png + # otherwise ppm is more friendly with Image.open + if im.hasAlphaChannel(): + im.save(buffer, "png") + else: + im.save(buffer, "ppm") + + b = BytesIO() + b.write(buffer.data()) + buffer.close() + b.seek(0) + + return Image.open(b) + + +def fromqpixmap(im: QPixmap) -> ImageFile.ImageFile: + return fromqimage(im) + + +def align8to32(bytes: bytes, width: int, mode: str) -> bytes: + """ + converts each scanline of data from 8 bit to 32 bit aligned + """ + + bits_per_pixel = {"1": 1, "L": 8, "P": 8, "I;16": 16}[mode] + + # calculate bytes per line and the extra padding if needed + bits_per_line = bits_per_pixel * width + full_bytes_per_line, remaining_bits_per_line = divmod(bits_per_line, 8) + bytes_per_line = full_bytes_per_line + (1 if remaining_bits_per_line else 0) + + extra_padding = -bytes_per_line % 4 + + # already 32 bit aligned by luck + if not extra_padding: + return bytes + + new_data = [ + bytes[i * bytes_per_line : (i + 1) * bytes_per_line] + b"\x00" * extra_padding + for i in range(len(bytes) // bytes_per_line) + ] + + return b"".join(new_data) + + +def _toqclass_helper(im: Image.Image | str | QByteArray) -> dict[str, Any]: + data = None + colortable = None + exclusive_fp = False + + # handle filename, if given instead of image name + if hasattr(im, "toUtf8"): + # FIXME - is this really the best way to do this? + im = str(im.toUtf8(), "utf-8") + if is_path(im): + im = Image.open(im) + exclusive_fp = True + assert isinstance(im, Image.Image) + + qt_format = getattr(QImage, "Format") if qt_version == "6" else QImage + if im.mode == "1": + format = getattr(qt_format, "Format_Mono") + elif im.mode == "L": + format = getattr(qt_format, "Format_Indexed8") + colortable = [rgb(i, i, i) for i in range(256)] + elif im.mode == "P": + format = getattr(qt_format, "Format_Indexed8") + palette = im.getpalette() + assert palette is not None + colortable = [rgb(*palette[i : i + 3]) for i in range(0, len(palette), 3)] + elif im.mode == "RGB": + # Populate the 4th channel with 255 + im = im.convert("RGBA") + + data = im.tobytes("raw", "BGRA") + format = getattr(qt_format, "Format_RGB32") + elif im.mode == "RGBA": + data = im.tobytes("raw", "BGRA") + format = getattr(qt_format, "Format_ARGB32") + elif im.mode == "I;16": + im = im.point(lambda i: i * 256) + + format = getattr(qt_format, "Format_Grayscale16") + else: + if exclusive_fp: + im.close() + msg = f"unsupported image mode {repr(im.mode)}" + raise ValueError(msg) + + size = im.size + __data = data or align8to32(im.tobytes(), size[0], im.mode) + if exclusive_fp: + im.close() + return {"data": __data, "size": size, "format": format, "colortable": colortable} + + +if qt_is_installed: + + class ImageQt(QImage): + def __init__(self, im: Image.Image | str | QByteArray) -> None: + """ + An PIL image wrapper for Qt. This is a subclass of PyQt's QImage + class. + + :param im: A PIL Image object, or a file name (given either as + Python string or a PyQt string object). + """ + im_data = _toqclass_helper(im) + # must keep a reference, or Qt will crash! + # All QImage constructors that take data operate on an existing + # buffer, so this buffer has to hang on for the life of the image. + # Fixes https://github.com/python-pillow/Pillow/issues/1370 + self.__data = im_data["data"] + super().__init__( + self.__data, + im_data["size"][0], + im_data["size"][1], + im_data["format"], + ) + if im_data["colortable"]: + self.setColorTable(im_data["colortable"]) + + +def toqimage(im: Image.Image | str | QByteArray) -> ImageQt: + return ImageQt(im) + + +def toqpixmap(im: Image.Image | str | QByteArray) -> QPixmap: + qimage = toqimage(im) + pixmap = getattr(QPixmap, "fromImage")(qimage) + if qt_version == "6": + pixmap.detach() + return pixmap diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageSequence.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageSequence.py new file mode 100644 index 0000000..361be48 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageSequence.py @@ -0,0 +1,88 @@ +# +# The Python Imaging Library. +# $Id$ +# +# sequence support classes +# +# history: +# 1997-02-20 fl Created +# +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1997 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +## +from __future__ import annotations + +from . import Image + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + + +class Iterator: + """ + This class implements an iterator object that can be used to loop + over an image sequence. + + You can use the ``[]`` operator to access elements by index. This operator + will raise an :py:exc:`IndexError` if you try to access a nonexistent + frame. + + :param im: An image object. + """ + + def __init__(self, im: Image.Image) -> None: + if not hasattr(im, "seek"): + msg = "im must have seek method" + raise AttributeError(msg) + self.im = im + self.position = getattr(self.im, "_min_frame", 0) + + def __getitem__(self, ix: int) -> Image.Image: + try: + self.im.seek(ix) + return self.im + except EOFError as e: + msg = "end of sequence" + raise IndexError(msg) from e + + def __iter__(self) -> Iterator: + return self + + def __next__(self) -> Image.Image: + try: + self.im.seek(self.position) + self.position += 1 + return self.im + except EOFError as e: + msg = "end of sequence" + raise StopIteration(msg) from e + + +def all_frames( + im: Image.Image | list[Image.Image], + func: Callable[[Image.Image], Image.Image] | None = None, +) -> list[Image.Image]: + """ + Applies a given function to all frames in an image or a list of images. + The frames are returned as a list of separate images. + + :param im: An image, or a list of images. + :param func: The function to apply to all of the image frames. + :returns: A list of images. + """ + if not isinstance(im, list): + im = [im] + + ims = [] + for imSequence in im: + current = imSequence.tell() + + ims += [im_frame.copy() for im_frame in Iterator(imSequence)] + + imSequence.seek(current) + return [func(im) for im in ims] if func else ims diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageShow.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageShow.py new file mode 100644 index 0000000..7705608 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageShow.py @@ -0,0 +1,362 @@ +# +# The Python Imaging Library. +# $Id$ +# +# im.show() drivers +# +# History: +# 2008-04-06 fl Created +# +# Copyright (c) Secret Labs AB 2008. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import os +import shutil +import subprocess +import sys +from shlex import quote +from typing import Any + +from . import Image + +_viewers = [] + + +def register(viewer: type[Viewer] | Viewer, order: int = 1) -> None: + """ + The :py:func:`register` function is used to register additional viewers:: + + from PIL import ImageShow + ImageShow.register(MyViewer()) # MyViewer will be used as a last resort + ImageShow.register(MySecondViewer(), 0) # MySecondViewer will be prioritised + ImageShow.register(ImageShow.XVViewer(), 0) # XVViewer will be prioritised + + :param viewer: The viewer to be registered. + :param order: + Zero or a negative integer to prepend this viewer to the list, + a positive integer to append it. + """ + if isinstance(viewer, type) and issubclass(viewer, Viewer): + viewer = viewer() + if order > 0: + _viewers.append(viewer) + else: + _viewers.insert(0, viewer) + + +def show(image: Image.Image, title: str | None = None, **options: Any) -> bool: + r""" + Display a given image. + + :param image: An image object. + :param title: Optional title. Not all viewers can display the title. + :param \**options: Additional viewer options. + :returns: ``True`` if a suitable viewer was found, ``False`` otherwise. + """ + for viewer in _viewers: + if viewer.show(image, title=title, **options): + return True + return False + + +class Viewer: + """Base class for viewers.""" + + # main api + + def show(self, image: Image.Image, **options: Any) -> int: + """ + The main function for displaying an image. + Converts the given image to the target format and displays it. + """ + + if not ( + image.mode in ("1", "RGBA") + or (self.format == "PNG" and image.mode in ("I;16", "LA")) + ): + base = Image.getmodebase(image.mode) + if image.mode != base: + image = image.convert(base) + + return self.show_image(image, **options) + + # hook methods + + format: str | None = None + """The format to convert the image into.""" + options: dict[str, Any] = {} + """Additional options used to convert the image.""" + + def get_format(self, image: Image.Image) -> str | None: + """Return format name, or ``None`` to save as PGM/PPM.""" + return self.format + + def get_command(self, file: str, **options: Any) -> str: + """ + Returns the command used to display the file. + Not implemented in the base class. + """ + msg = "unavailable in base viewer" + raise NotImplementedError(msg) + + def save_image(self, image: Image.Image) -> str: + """Save to temporary file and return filename.""" + return image._dump(format=self.get_format(image), **self.options) + + def show_image(self, image: Image.Image, **options: Any) -> int: + """Display the given image.""" + return self.show_file(self.save_image(image), **options) + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + os.system(self.get_command(path, **options)) # nosec + return 1 + + +# -------------------------------------------------------------------- + + +class WindowsViewer(Viewer): + """The default viewer on Windows is the default system application for PNG files.""" + + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + def get_command(self, file: str, **options: Any) -> str: + return ( + f'start "Pillow" /WAIT "{file}" ' + "&& ping -n 4 127.0.0.1 >NUL " + f'&& del /f "{file}"' + ) + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen( + self.get_command(path, **options), + shell=True, + creationflags=getattr(subprocess, "CREATE_NO_WINDOW"), + ) # nosec + return 1 + + +if sys.platform == "win32": + register(WindowsViewer) + + +class MacViewer(Viewer): + """The default viewer on macOS using ``Preview.app``.""" + + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + def get_command(self, file: str, **options: Any) -> str: + # on darwin open returns immediately resulting in the temp + # file removal while app is opening + command = "open -a Preview.app" + command = f"({command} {quote(file)}; sleep 20; rm -f {quote(file)})&" + return command + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.call(["open", "-a", "Preview.app", path]) + + pyinstaller = getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS") + executable = (not pyinstaller and sys.executable) or shutil.which("python3") + if executable: + subprocess.Popen( + [ + executable, + "-c", + "import os, sys, time; time.sleep(20); os.remove(sys.argv[1])", + path, + ] + ) + return 1 + + +if sys.platform == "darwin": + register(MacViewer) + + +class UnixViewer(abc.ABC, Viewer): + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + @abc.abstractmethod + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + pass + + def get_command(self, file: str, **options: Any) -> str: + command = self.get_command_ex(file, **options)[0] + return f"{command} {quote(file)}" + + +class XDGViewer(UnixViewer): + """ + The freedesktop.org ``xdg-open`` command. + """ + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + command = executable = "xdg-open" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["xdg-open", path]) + return 1 + + +class DisplayViewer(UnixViewer): + """ + The ImageMagick ``display`` command. + This viewer supports the ``title`` parameter. + """ + + def get_command_ex( + self, file: str, title: str | None = None, **options: Any + ) -> tuple[str, str]: + command = executable = "display" + if title: + command += f" -title {quote(title)}" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + args = ["display"] + title = options.get("title") + if title: + args += ["-title", title] + args.append(path) + + subprocess.Popen(args) + return 1 + + +class GmDisplayViewer(UnixViewer): + """The GraphicsMagick ``gm display`` command.""" + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + executable = "gm" + command = "gm display" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["gm", "display", path]) + return 1 + + +class EogViewer(UnixViewer): + """The GNOME Image Viewer ``eog`` command.""" + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + executable = "eog" + command = "eog -n" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["eog", "-n", path]) + return 1 + + +class XVViewer(UnixViewer): + """ + The X Viewer ``xv`` command. + This viewer supports the ``title`` parameter. + """ + + def get_command_ex( + self, file: str, title: str | None = None, **options: Any + ) -> tuple[str, str]: + # note: xv is pretty outdated. most modern systems have + # imagemagick's display command instead. + command = executable = "xv" + if title: + command += f" -name {quote(title)}" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + args = ["xv"] + title = options.get("title") + if title: + args += ["-name", title] + args.append(path) + + subprocess.Popen(args) + return 1 + + +if sys.platform not in ("win32", "darwin"): # unixoids + if shutil.which("xdg-open"): + register(XDGViewer) + if shutil.which("display"): + register(DisplayViewer) + if shutil.which("gm"): + register(GmDisplayViewer) + if shutil.which("eog"): + register(EogViewer) + if shutil.which("xv"): + register(XVViewer) + + +class IPythonViewer(Viewer): + """The viewer for IPython frontends.""" + + def show_image(self, image: Image.Image, **options: Any) -> int: + ipython_display(image) + return 1 + + +try: + from IPython.display import display as ipython_display +except ImportError: + pass +else: + register(IPythonViewer) + + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 ImageShow.py imagefile [title]") + sys.exit() + + with Image.open(sys.argv[1]) as im: + print(show(im, *sys.argv[2:])) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageStat.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageStat.py new file mode 100644 index 0000000..3a1044b --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageStat.py @@ -0,0 +1,167 @@ +# +# The Python Imaging Library. +# $Id$ +# +# global image statistics +# +# History: +# 1996-04-05 fl Created +# 1997-05-21 fl Added mask; added rms, var, stddev attributes +# 1997-08-05 fl Added median +# 1998-07-05 hk Fixed integer overflow error +# +# Notes: +# This class shows how to implement delayed evaluation of attributes. +# To get a certain value, simply access the corresponding attribute. +# The __getattr__ dispatcher takes care of the rest. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +from functools import cached_property + +from . import Image + + +class Stat: + def __init__( + self, image_or_list: Image.Image | list[int], mask: Image.Image | None = None + ) -> None: + """ + Calculate statistics for the given image. If a mask is included, + only the regions covered by that mask are included in the + statistics. You can also pass in a previously calculated histogram. + + :param image: A PIL image, or a precalculated histogram. + + .. note:: + + For a PIL image, calculations rely on the + :py:meth:`~PIL.Image.Image.histogram` method. The pixel counts are + grouped into 256 bins, even if the image has more than 8 bits per + channel. So ``I`` and ``F`` mode images have a maximum ``mean``, + ``median`` and ``rms`` of 255, and cannot have an ``extrema`` maximum + of more than 255. + + :param mask: An optional mask. + """ + if isinstance(image_or_list, Image.Image): + self.h = image_or_list.histogram(mask) + elif isinstance(image_or_list, list): + self.h = image_or_list + else: + msg = "first argument must be image or list" # type: ignore[unreachable] + raise TypeError(msg) + self.bands = list(range(len(self.h) // 256)) + + @cached_property + def extrema(self) -> list[tuple[int, int]]: + """ + Min/max values for each band in the image. + + .. note:: + This relies on the :py:meth:`~PIL.Image.Image.histogram` method, and + simply returns the low and high bins used. This is correct for + images with 8 bits per channel, but fails for other modes such as + ``I`` or ``F``. Instead, use :py:meth:`~PIL.Image.Image.getextrema` to + return per-band extrema for the image. This is more correct and + efficient because, for non-8-bit modes, the histogram method uses + :py:meth:`~PIL.Image.Image.getextrema` to determine the bins used. + """ + + def minmax(histogram: list[int]) -> tuple[int, int]: + res_min, res_max = 255, 0 + for i in range(256): + if histogram[i]: + res_min = i + break + for i in range(255, -1, -1): + if histogram[i]: + res_max = i + break + return res_min, res_max + + return [minmax(self.h[i:]) for i in range(0, len(self.h), 256)] + + @cached_property + def count(self) -> list[int]: + """Total number of pixels for each band in the image.""" + return [sum(self.h[i : i + 256]) for i in range(0, len(self.h), 256)] + + @cached_property + def sum(self) -> list[float]: + """Sum of all pixels for each band in the image.""" + + v = [] + for i in range(0, len(self.h), 256): + layer_sum = 0.0 + for j in range(256): + layer_sum += j * self.h[i + j] + v.append(layer_sum) + return v + + @cached_property + def sum2(self) -> list[float]: + """Squared sum of all pixels for each band in the image.""" + + v = [] + for i in range(0, len(self.h), 256): + sum2 = 0.0 + for j in range(256): + sum2 += (j**2) * float(self.h[i + j]) + v.append(sum2) + return v + + @cached_property + def mean(self) -> list[float]: + """Average (arithmetic mean) pixel level for each band in the image.""" + return [self.sum[i] / self.count[i] if self.count[i] else 0 for i in self.bands] + + @cached_property + def median(self) -> list[int]: + """Median pixel level for each band in the image.""" + + v = [] + for i in self.bands: + s = 0 + half = self.count[i] // 2 + b = i * 256 + for j in range(256): + s = s + self.h[b + j] + if s > half: + break + v.append(j) + return v + + @cached_property + def rms(self) -> list[float]: + """RMS (root-mean-square) for each band in the image.""" + return [ + math.sqrt(self.sum2[i] / self.count[i]) if self.count[i] else 0 + for i in self.bands + ] + + @cached_property + def var(self) -> list[float]: + """Variance for each band in the image.""" + return [ + ( + (self.sum2[i] - (self.sum[i] ** 2.0) / self.count[i]) / self.count[i] + if self.count[i] + else 0 + ) + for i in self.bands + ] + + @cached_property + def stddev(self) -> list[float]: + """Standard deviation for each band in the image.""" + return [math.sqrt(self.var[i]) for i in self.bands] + + +Global = Stat # compatibility diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageText.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageText.py new file mode 100644 index 0000000..008d20d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageText.py @@ -0,0 +1,508 @@ +from __future__ import annotations + +import math +import re +from typing import AnyStr, Generic, NamedTuple + +from . import ImageFont +from ._typing import _Ink + +Font = ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont + + +class _Line(NamedTuple): + x: float + y: float + anchor: str + text: str | bytes + + +class _Wrap(Generic[AnyStr]): + lines: list[AnyStr] = [] + position = 0 + offset = 0 + + def __init__( + self, + text: Text[AnyStr], + width: int, + height: int | None = None, + font: Font | None = None, + ) -> None: + self.text: Text[AnyStr] = text + self.width = width + self.height = height + self.font = font + + input_text = self.text.text + emptystring = "" if isinstance(input_text, str) else b"" + line = emptystring + + for word in re.findall( + r"\s*\S+" if isinstance(input_text, str) else rb"\s*\S+", input_text + ): + newlines = re.findall( + r"[^\S\n]*\n" if isinstance(input_text, str) else rb"[^\S\n]*\n", word + ) + if newlines: + if not self.add_line(line): + break + for i, line in enumerate(newlines): + if i != 0 and not self.add_line(emptystring): + break + self.position += len(line) + word = word[len(line) :] + line = emptystring + + new_line = line + word + if self.text._get_bbox(new_line, self.font)[2] <= width: + # This word fits on the line + line = new_line + continue + + # This word does not fit on the line + if line and not self.add_line(line): + break + + original_length = len(word) + word = word.lstrip() + self.offset = original_length - len(word) + + if self.text._get_bbox(word, self.font)[2] > width: + if font is None: + msg = "Word does not fit within line" + raise ValueError(msg) + break + line = word + else: + if line: + self.add_line(line) + self.remaining_text: AnyStr = input_text[self.position :] + + def add_line(self, line: AnyStr) -> bool: + lines = self.lines + [line] + if self.height is not None: + last_line_y = self.text._split(lines=lines)[-1].y + last_line_height = self.text._get_bbox(line, self.font)[3] + if last_line_y + last_line_height > self.height: + return False + + self.lines = lines + self.position += len(line) + self.offset + self.offset = 0 + return True + + +class Text(Generic[AnyStr]): + def __init__( + self, + text: AnyStr, + font: Font | None = None, + mode: str = "RGB", + spacing: float = 4, + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + ) -> None: + """ + :param text: String to be drawn. + :param font: Either an :py:class:`~PIL.ImageFont.ImageFont` instance, + :py:class:`~PIL.ImageFont.FreeTypeFont` instance, + :py:class:`~PIL.ImageFont.TransposedFont` instance or ``None``. If + ``None``, the default font from :py:meth:`.ImageFont.load_default` + will be used. + :param mode: The image mode this will be used with. + :param spacing: The number of pixels between lines. + :param direction: Direction of the text. It can be ``"rtl"`` (right to left), + ``"ltr"`` (left to right) or ``"ttb"`` (top to bottom). + Requires libraqm. + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional font features + that are not enabled by default, for example ``"dlig"`` or + ``"ss01"``, but can be also used to turn off default font + features, for example ``"-liga"`` to disable ligatures or + ``"-kern"`` to disable kerning. To get all supported + features, see `OpenType docs`_. + Requires libraqm. + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code`_. + Requires libraqm. + """ + self.text: AnyStr = text + self.font = font or ImageFont.load_default() + + self.mode = mode + self.spacing = spacing + self.direction = direction + self.features = features + self.language = language + + self.embedded_color = False + + self.stroke_width: float = 0 + self.stroke_fill: _Ink | None = None + + def embed_color(self) -> None: + """ + Use embedded color glyphs (COLR, CBDT, SBIX). + """ + if self.mode not in ("RGB", "RGBA"): + msg = "Embedded color supported only in RGB and RGBA modes" + raise ValueError(msg) + self.embedded_color = True + + def stroke(self, width: float = 0, fill: _Ink | None = None) -> None: + """ + :param width: The width of the text stroke. + :param fill: Color to use for the text stroke when drawing. If not given, will + default to the ``fill`` parameter from + :py:meth:`.ImageDraw.ImageDraw.text`. + """ + self.stroke_width = width + self.stroke_fill = fill + + def _get_fontmode(self) -> str: + if self.mode in ("1", "P", "I", "F"): + return "1" + elif self.embedded_color: + return "RGBA" + else: + return "L" + + def wrap( + self, + width: int, + height: int | None = None, + scaling: str | tuple[str, int] | None = None, + ) -> Text[AnyStr] | None: + """ + Wrap text to fit within a given width. + + :param width: The width to fit within. + :param height: An optional height limit. Any text that does not fit within this + will be returned as a new :py:class:`.Text` object. + :param scaling: An optional directive to scale the text, either "grow" as much + as possible within the given dimensions, or "shrink" until it + fits. It can also be a tuple of (direction, limit), with an + integer limit to stop scaling at. + + :returns: An :py:class:`.Text` object, or None. + """ + if isinstance(self.font, ImageFont.TransposedFont): + msg = "TransposedFont not supported" + raise ValueError(msg) + if self.direction not in (None, "ltr"): + msg = "Only ltr direction supported" + raise ValueError(msg) + + if scaling is None: + wrap = _Wrap(self, width, height) + else: + if not isinstance(self.font, ImageFont.FreeTypeFont): + msg = "'scaling' only supports FreeTypeFont" + raise ValueError(msg) + if height is None: + msg = "'scaling' requires 'height'" + raise ValueError(msg) + + if isinstance(scaling, str): + limit = 1 + else: + scaling, limit = scaling + + font = self.font + wrap = _Wrap(self, width, height, font) + if scaling == "shrink": + if not wrap.remaining_text: + return None + + size = math.ceil(font.size) + while wrap.remaining_text: + if size == max(limit, 1): + msg = "Text could not be scaled" + raise ValueError(msg) + size -= 1 + font = self.font.font_variant(size=size) + wrap = _Wrap(self, width, height, font) + self.font = font + else: + if wrap.remaining_text: + msg = "Text could not be scaled" + raise ValueError(msg) + + size = math.floor(font.size) + while not wrap.remaining_text: + if size == limit: + msg = "Text could not be scaled" + raise ValueError(msg) + size += 1 + font = self.font.font_variant(size=size) + last_wrap = wrap + wrap = _Wrap(self, width, height, font) + size -= 1 + if size != self.font.size: + self.font = self.font.font_variant(size=size) + wrap = last_wrap + + if wrap.remaining_text: + text = Text( + text=wrap.remaining_text, + font=self.font, + mode=self.mode, + spacing=self.spacing, + direction=self.direction, + features=self.features, + language=self.language, + ) + text.embedded_color = self.embedded_color + text.stroke_width = self.stroke_width + text.stroke_fill = self.stroke_fill + else: + text = None + + newline = "\n" if isinstance(self.text, str) else b"\n" + self.text = newline.join(wrap.lines) + return text + + def get_length(self) -> float: + """ + Returns length (in pixels with 1/64 precision) of text. + + This is the amount by which following text should be offset. + Text bounding box may extend past the length in some fonts, + e.g. when using italics or accents. + + The result is returned as a float; it is a whole number if using basic layout. + + Note that the sum of two lengths may not equal the length of a concatenated + string due to kerning. If you need to adjust for kerning, include the following + character and subtract its length. + + For example, instead of:: + + hello = ImageText.Text("Hello", font).get_length() + world = ImageText.Text("World", font).get_length() + helloworld = ImageText.Text("HelloWorld", font).get_length() + assert hello + world == helloworld + + use:: + + hello = ( + ImageText.Text("HelloW", font).get_length() - + ImageText.Text("W", font).get_length() + ) # adjusted for kerning + world = ImageText.Text("World", font).get_length() + helloworld = ImageText.Text("HelloWorld", font).get_length() + assert hello + world == helloworld + + or disable kerning with (requires libraqm):: + + hello = ImageText.Text("Hello", font, features=["-kern"]).get_length() + world = ImageText.Text("World", font, features=["-kern"]).get_length() + helloworld = ImageText.Text( + "HelloWorld", font, features=["-kern"] + ).get_length() + assert hello + world == helloworld + + :return: Either width for horizontal text, or height for vertical text. + """ + if isinstance(self.text, str): + multiline = "\n" in self.text + else: + multiline = b"\n" in self.text + if multiline: + msg = "can't measure length of multiline text" + raise ValueError(msg) + return self.font.getlength( + self.text, + self._get_fontmode(), + self.direction, + self.features, + self.language, + ) + + def _split( + self, + xy: tuple[float, float] = (0, 0), + anchor: str | None = None, + align: str = "left", + lines: list[str] | list[bytes] | None = None, + ) -> list[_Line]: + if anchor is None: + anchor = "lt" if self.direction == "ttb" else "la" + elif len(anchor) != 2: + msg = "anchor must be a 2 character string" + raise ValueError(msg) + + if lines is None: + lines = ( + self.text.split("\n") + if isinstance(self.text, str) + else self.text.split(b"\n") + ) + if len(lines) == 1: + return [_Line(xy[0], xy[1], anchor, lines[0])] + + if anchor[1] in "tb" and self.direction != "ttb": + msg = "anchor not supported for multiline text" + raise ValueError(msg) + + fontmode = self._get_fontmode() + line_spacing = ( + self.font.getbbox( + "A", + fontmode, + None, + self.features, + self.language, + self.stroke_width, + )[3] + + self.stroke_width + + self.spacing + ) + + top = xy[1] + parts = [] + if self.direction == "ttb": + left = xy[0] + for line in lines: + parts.append(_Line(left, top, anchor, line)) + left += line_spacing + else: + widths = [] + max_width: float = 0 + for line in lines: + line_width = self.font.getlength( + line, fontmode, self.direction, self.features, self.language + ) + widths.append(line_width) + max_width = max(max_width, line_width) + + if anchor[1] == "m": + top -= (len(lines) - 1) * line_spacing / 2.0 + elif anchor[1] == "d": + top -= (len(lines) - 1) * line_spacing + + idx = -1 + for line in lines: + left = xy[0] + idx += 1 + width_difference = max_width - widths[idx] + + # align by align parameter + if align in ("left", "justify"): + pass + elif align == "center": + left += width_difference / 2.0 + elif align == "right": + left += width_difference + else: + msg = 'align must be "left", "center", "right" or "justify"' + raise ValueError(msg) + + if ( + align == "justify" + and width_difference != 0 + and idx != len(lines) - 1 + ): + words = ( + line.split(" ") if isinstance(line, str) else line.split(b" ") + ) + if len(words) > 1: + # align left by anchor + if anchor[0] == "m": + left -= max_width / 2.0 + elif anchor[0] == "r": + left -= max_width + + word_widths = [ + self.font.getlength( + word, + fontmode, + self.direction, + self.features, + self.language, + ) + for word in words + ] + word_anchor = "l" + anchor[1] + width_difference = max_width - sum(word_widths) + i = 0 + for word in words: + parts.append(_Line(left, top, word_anchor, word)) + left += word_widths[i] + width_difference / (len(words) - 1) + i += 1 + top += line_spacing + continue + + # align left by anchor + if anchor[0] == "m": + left -= width_difference / 2.0 + elif anchor[0] == "r": + left -= width_difference + parts.append(_Line(left, top, anchor, line)) + top += line_spacing + + return parts + + def _get_bbox( + self, text: str | bytes, font: Font | None = None, anchor: str | None = None + ) -> tuple[float, float, float, float]: + return (font or self.font).getbbox( + text, + self._get_fontmode(), + self.direction, + self.features, + self.language, + self.stroke_width, + anchor, + ) + + def get_bbox( + self, + xy: tuple[float, float] = (0, 0), + anchor: str | None = None, + align: str = "left", + ) -> tuple[float, float, float, float]: + """ + Returns bounding box (in pixels) of text. + + Use :py:meth:`get_length` to get the offset of following text with 1/64 pixel + precision. The bounding box includes extra margins for some fonts, e.g. italics + or accents. + + :param xy: The anchor coordinates of the text. + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + :param align: For multiline text, ``"left"``, ``"center"``, ``"right"`` or + ``"justify"`` determines the relative alignment of lines. Use the + ``anchor`` parameter to specify the alignment to ``xy``. + + :return: ``(left, top, right, bottom)`` bounding box + """ + bbox: tuple[float, float, float, float] | None = None + for x, y, anchor, text in self._split(xy, anchor, align): + bbox_line = self._get_bbox(text, anchor=anchor) + bbox_line = ( + bbox_line[0] + x, + bbox_line[1] + y, + bbox_line[2] + x, + bbox_line[3] + y, + ) + if bbox is None: + bbox = bbox_line + else: + bbox = ( + min(bbox[0], bbox_line[0]), + min(bbox[1], bbox_line[1]), + max(bbox[2], bbox_line[2]), + max(bbox[3], bbox_line[3]), + ) + + assert bbox is not None + return bbox diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageTk.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageTk.py new file mode 100644 index 0000000..3a4cb81 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageTk.py @@ -0,0 +1,266 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a Tk display interface +# +# History: +# 96-04-08 fl Created +# 96-09-06 fl Added getimage method +# 96-11-01 fl Rewritten, removed image attribute and crop method +# 97-05-09 fl Use PyImagingPaste method instead of image type +# 97-05-12 fl Minor tweaks to match the IFUNC95 interface +# 97-05-17 fl Support the "pilbitmap" booster patch +# 97-06-05 fl Added file= and data= argument to image constructors +# 98-03-09 fl Added width and height methods to Image classes +# 98-07-02 fl Use default mode for "P" images without palette attribute +# 98-07-02 fl Explicitly destroy Tkinter image objects +# 99-07-24 fl Support multiple Tk interpreters (from Greg Couch) +# 99-07-26 fl Automatically hook into Tkinter (if possible) +# 99-08-15 fl Hook uses _imagingtk instead of _imaging +# +# Copyright (c) 1997-1999 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import tkinter +from io import BytesIO +from typing import Any + +from . import Image, ImageFile + +TYPE_CHECKING = False +if TYPE_CHECKING: + from ._typing import CapsuleType + +# -------------------------------------------------------------------- +# Check for Tkinter interface hooks + + +def _get_image_from_kw(kw: dict[str, Any]) -> ImageFile.ImageFile | None: + source = None + if "file" in kw: + source = kw.pop("file") + elif "data" in kw: + source = BytesIO(kw.pop("data")) + if not source: + return None + return Image.open(source) + + +def _pyimagingtkcall( + command: str, photo: PhotoImage | tkinter.PhotoImage, ptr: CapsuleType +) -> None: + tk = photo.tk + try: + tk.call(command, photo, repr(ptr)) + except tkinter.TclError: + # activate Tkinter hook + # may raise an error if it cannot attach to Tkinter + from . import _imagingtk + + _imagingtk.tkinit(tk.interpaddr()) + tk.call(command, photo, repr(ptr)) + + +# -------------------------------------------------------------------- +# PhotoImage + + +class PhotoImage: + """ + A Tkinter-compatible photo image. This can be used + everywhere Tkinter expects an image object. If the image is an RGBA + image, pixels having alpha 0 are treated as transparent. + + The constructor takes either a PIL image, or a mode and a size. + Alternatively, you can use the ``file`` or ``data`` options to initialize + the photo image object. + + :param image: Either a PIL image, or a mode string. If a mode string is + used, a size must also be given. + :param size: If the first argument is a mode string, this defines the size + of the image. + :keyword file: A filename to load the image from (using + ``Image.open(file)``). + :keyword data: An 8-bit string containing image data (as loaded from an + image file). + """ + + def __init__( + self, + image: Image.Image | str | None = None, + size: tuple[int, int] | None = None, + **kw: Any, + ) -> None: + # Tk compatibility: file or data + if image is None: + image = _get_image_from_kw(kw) + + if image is None: + msg = "Image is required" + raise ValueError(msg) + elif isinstance(image, str): + mode = image + image = None + + if size is None: + msg = "If first argument is mode, size is required" + raise ValueError(msg) + else: + # got an image instead of a mode + mode = image.mode + if mode == "P": + # palette mapped data + image.apply_transparency() + image.load() + mode = image.palette.mode if image.palette else "RGB" + size = image.size + kw["width"], kw["height"] = size + + if mode not in ["1", "L", "RGB", "RGBA"]: + mode = Image.getmodebase(mode) + + self.__mode = mode + self.__size = size + self.__photo = tkinter.PhotoImage(**kw) + self.tk = self.__photo.tk + if image: + self.paste(image) + + def __del__(self) -> None: + try: + name = self.__photo.name + except AttributeError: + return + self.__photo.name = None + try: + self.__photo.tk.call("image", "delete", name) + except Exception: + pass # ignore internal errors + + def __str__(self) -> str: + """ + Get the Tkinter photo image identifier. This method is automatically + called by Tkinter whenever a PhotoImage object is passed to a Tkinter + method. + + :return: A Tkinter photo image identifier (a string). + """ + return str(self.__photo) + + def width(self) -> int: + """ + Get the width of the image. + + :return: The width, in pixels. + """ + return self.__size[0] + + def height(self) -> int: + """ + Get the height of the image. + + :return: The height, in pixels. + """ + return self.__size[1] + + def paste(self, im: Image.Image) -> None: + """ + Paste a PIL image into the photo image. Note that this can + be very slow if the photo image is displayed. + + :param im: A PIL image. The size must match the target region. If the + mode does not match, the image is converted to the mode of + the bitmap image. + """ + # convert to blittable + ptr = im.getim() + image = im.im + if not image.isblock() or im.mode != self.__mode: + block = Image.core.new_block(self.__mode, im.size) + image.convert2(block, image) # convert directly between buffers + ptr = block.ptr + + _pyimagingtkcall("PyImagingPhoto", self.__photo, ptr) + + +# -------------------------------------------------------------------- +# BitmapImage + + +class BitmapImage: + """ + A Tkinter-compatible bitmap image. This can be used everywhere Tkinter + expects an image object. + + The given image must have mode "1". Pixels having value 0 are treated as + transparent. Options, if any, are passed on to Tkinter. The most commonly + used option is ``foreground``, which is used to specify the color for the + non-transparent parts. See the Tkinter documentation for information on + how to specify colours. + + :param image: A PIL image. + """ + + def __init__(self, image: Image.Image | None = None, **kw: Any) -> None: + # Tk compatibility: file or data + if image is None: + image = _get_image_from_kw(kw) + + if image is None: + msg = "Image is required" + raise ValueError(msg) + self.__mode = image.mode + self.__size = image.size + + self.__photo = tkinter.BitmapImage(data=image.tobitmap(), **kw) + + def __del__(self) -> None: + try: + name = self.__photo.name + except AttributeError: + return + self.__photo.name = None + try: + self.__photo.tk.call("image", "delete", name) + except Exception: + pass # ignore internal errors + + def width(self) -> int: + """ + Get the width of the image. + + :return: The width, in pixels. + """ + return self.__size[0] + + def height(self) -> int: + """ + Get the height of the image. + + :return: The height, in pixels. + """ + return self.__size[1] + + def __str__(self) -> str: + """ + Get the Tkinter bitmap image identifier. This method is automatically + called by Tkinter whenever a BitmapImage object is passed to a Tkinter + method. + + :return: A Tkinter bitmap image identifier (a string). + """ + return str(self.__photo) + + +def getimage(photo: PhotoImage) -> Image.Image: + """Copies the contents of a PhotoImage to a PIL image memory.""" + im = Image.new("RGBA", (photo.width(), photo.height())) + + _pyimagingtkcall("PyImagingPhotoGet", photo, im.getim()) + + return im diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageTransform.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageTransform.py new file mode 100644 index 0000000..fb144ff --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageTransform.py @@ -0,0 +1,136 @@ +# +# The Python Imaging Library. +# $Id$ +# +# transform wrappers +# +# History: +# 2002-04-08 fl Created +# +# Copyright (c) 2002 by Secret Labs AB +# Copyright (c) 2002 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from collections.abc import Sequence +from typing import Any + +from . import Image + + +class Transform(Image.ImageTransformHandler): + """Base class for other transforms defined in :py:mod:`~PIL.ImageTransform`.""" + + method: Image.Transform + + def __init__(self, data: Sequence[Any]) -> None: + self.data = data + + def getdata(self) -> tuple[Image.Transform, Sequence[int]]: + return self.method, self.data + + def transform( + self, + size: tuple[int, int], + image: Image.Image, + **options: Any, + ) -> Image.Image: + """Perform the transform. Called from :py:meth:`.Image.transform`.""" + # can be overridden + method, data = self.getdata() + return image.transform(size, method, data, **options) + + +class AffineTransform(Transform): + """ + Define an affine image transform. + + This function takes a 6-tuple (a, b, c, d, e, f) which contain the first + two rows from the inverse of an affine transform matrix. For each pixel + (x, y) in the output image, the new value is taken from a position (a x + + b y + c, d x + e y + f) in the input image, rounded to nearest pixel. + + This function can be used to scale, translate, rotate, and shear the + original image. + + See :py:meth:`.Image.transform` + + :param matrix: A 6-tuple (a, b, c, d, e, f) containing the first two rows + from the inverse of an affine transform matrix. + """ + + method = Image.Transform.AFFINE + + +class PerspectiveTransform(Transform): + """ + Define a perspective image transform. + + This function takes an 8-tuple (a, b, c, d, e, f, g, h). For each pixel + (x, y) in the output image, the new value is taken from a position + ((a x + b y + c) / (g x + h y + 1), (d x + e y + f) / (g x + h y + 1)) in + the input image, rounded to nearest pixel. + + This function can be used to scale, translate, rotate, and shear the + original image. + + See :py:meth:`.Image.transform` + + :param matrix: An 8-tuple (a, b, c, d, e, f, g, h). + """ + + method = Image.Transform.PERSPECTIVE + + +class ExtentTransform(Transform): + """ + Define a transform to extract a subregion from an image. + + Maps a rectangle (defined by two corners) from the image to a rectangle of + the given size. The resulting image will contain data sampled from between + the corners, such that (x0, y0) in the input image will end up at (0,0) in + the output image, and (x1, y1) at size. + + This method can be used to crop, stretch, shrink, or mirror an arbitrary + rectangle in the current image. It is slightly slower than crop, but about + as fast as a corresponding resize operation. + + See :py:meth:`.Image.transform` + + :param bbox: A 4-tuple (x0, y0, x1, y1) which specifies two points in the + input image's coordinate system. See :ref:`coordinate-system`. + """ + + method = Image.Transform.EXTENT + + +class QuadTransform(Transform): + """ + Define a quad image transform. + + Maps a quadrilateral (a region defined by four corners) from the image to a + rectangle of the given size. + + See :py:meth:`.Image.transform` + + :param xy: An 8-tuple (x0, y0, x1, y1, x2, y2, x3, y3) which contain the + upper left, lower left, lower right, and upper right corner of the + source quadrilateral. + """ + + method = Image.Transform.QUAD + + +class MeshTransform(Transform): + """ + Define a mesh image transform. A mesh transform consists of one or more + individual quad transforms. + + See :py:meth:`.Image.transform` + + :param data: A list of (bbox, quad) tuples. + """ + + method = Image.Transform.MESH diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImageWin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageWin.py new file mode 100644 index 0000000..98c28f2 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImageWin.py @@ -0,0 +1,247 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a Windows DIB display interface +# +# History: +# 1996-05-20 fl Created +# 1996-09-20 fl Fixed subregion exposure +# 1997-09-21 fl Added draw primitive (for tzPrint) +# 2003-05-21 fl Added experimental Window/ImageWindow classes +# 2003-09-05 fl Added fromstring/tostring methods +# +# Copyright (c) Secret Labs AB 1997-2003. +# Copyright (c) Fredrik Lundh 1996-2003. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image + + +class HDC: + """ + Wraps an HDC integer. The resulting object can be passed to the + :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` + methods. + """ + + def __init__(self, dc: int) -> None: + self.dc = dc + + def __int__(self) -> int: + return self.dc + + +class HWND: + """ + Wraps an HWND integer. The resulting object can be passed to the + :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` + methods, instead of a DC. + """ + + def __init__(self, wnd: int) -> None: + self.wnd = wnd + + def __int__(self) -> int: + return self.wnd + + +class Dib: + """ + A Windows bitmap with the given mode and size. The mode can be one of "1", + "L", "P", or "RGB". + + If the display requires a palette, this constructor creates a suitable + palette and associates it with the image. For an "L" image, 128 graylevels + are allocated. For an "RGB" image, a 6x6x6 colour cube is used, together + with 20 graylevels. + + To make sure that palettes work properly under Windows, you must call the + ``palette`` method upon certain events from Windows. + + :param image: Either a PIL image, or a mode string. If a mode string is + used, a size must also be given. The mode can be one of "1", + "L", "P", or "RGB". + :param size: If the first argument is a mode string, this + defines the size of the image. + """ + + def __init__( + self, image: Image.Image | str, size: tuple[int, int] | None = None + ) -> None: + if isinstance(image, str): + mode = image + image = "" + if size is None: + msg = "If first argument is mode, size is required" + raise ValueError(msg) + else: + mode = image.mode + size = image.size + if mode not in ["1", "L", "P", "RGB"]: + mode = Image.getmodebase(mode) + self.image = Image.core.display(mode, size) + self.mode = mode + self.size = size + if image: + assert not isinstance(image, str) + self.paste(image) + + def expose(self, handle: int | HDC | HWND) -> None: + """ + Copy the bitmap contents to a device context. + + :param handle: Device context (HDC), cast to a Python integer, or an + HDC or HWND instance. In PythonWin, you can use + ``CDC.GetHandleAttrib()`` to get a suitable handle. + """ + handle_int = int(handle) + if isinstance(handle, HWND): + dc = self.image.getdc(handle_int) + try: + self.image.expose(dc) + finally: + self.image.releasedc(handle_int, dc) + else: + self.image.expose(handle_int) + + def draw( + self, + handle: int | HDC | HWND, + dst: tuple[int, int, int, int], + src: tuple[int, int, int, int] | None = None, + ) -> None: + """ + Same as expose, but allows you to specify where to draw the image, and + what part of it to draw. + + The destination and source areas are given as 4-tuple rectangles. If + the source is omitted, the entire image is copied. If the source and + the destination have different sizes, the image is resized as + necessary. + """ + if src is None: + src = (0, 0) + self.size + handle_int = int(handle) + if isinstance(handle, HWND): + dc = self.image.getdc(handle_int) + try: + self.image.draw(dc, dst, src) + finally: + self.image.releasedc(handle_int, dc) + else: + self.image.draw(handle_int, dst, src) + + def query_palette(self, handle: int | HDC | HWND) -> int: + """ + Installs the palette associated with the image in the given device + context. + + This method should be called upon **QUERYNEWPALETTE** and + **PALETTECHANGED** events from Windows. If this method returns a + non-zero value, one or more display palette entries were changed, and + the image should be redrawn. + + :param handle: Device context (HDC), cast to a Python integer, or an + HDC or HWND instance. + :return: The number of entries that were changed (if one or more entries, + this indicates that the image should be redrawn). + """ + handle_int = int(handle) + if isinstance(handle, HWND): + handle = self.image.getdc(handle_int) + try: + result = self.image.query_palette(handle) + finally: + self.image.releasedc(handle, handle) + else: + result = self.image.query_palette(handle_int) + return result + + def paste( + self, im: Image.Image, box: tuple[int, int, int, int] | None = None + ) -> None: + """ + Paste a PIL image into the bitmap image. + + :param im: A PIL image. The size must match the target region. + If the mode does not match, the image is converted to the + mode of the bitmap image. + :param box: A 4-tuple defining the left, upper, right, and + lower pixel coordinate. See :ref:`coordinate-system`. If + None is given instead of a tuple, all of the image is + assumed. + """ + im.load() + if self.mode != im.mode: + im = im.convert(self.mode) + if box: + self.image.paste(im.im, box) + else: + self.image.paste(im.im) + + def frombytes(self, buffer: bytes) -> None: + """ + Load display memory contents from byte data. + + :param buffer: A buffer containing display data (usually + data returned from :py:func:`~PIL.ImageWin.Dib.tobytes`) + """ + self.image.frombytes(buffer) + + def tobytes(self) -> bytes: + """ + Copy display memory contents to bytes object. + + :return: A bytes object containing display data. + """ + return self.image.tobytes() + + +class Window: + """Create a Window with the given title size.""" + + def __init__( + self, title: str = "PIL", width: int | None = None, height: int | None = None + ) -> None: + self.hwnd = Image.core.createwindow( + title, self.__dispatcher, width or 0, height or 0 + ) + + def __dispatcher(self, action: str, *args: int) -> None: + getattr(self, f"ui_handle_{action}")(*args) + + def ui_handle_clear(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_damage(self, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_destroy(self) -> None: + pass + + def ui_handle_repair(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_resize(self, width: int, height: int) -> None: + pass + + def mainloop(self) -> None: + Image.core.eventloop() + + +class ImageWindow(Window): + """Create an image window which displays the given image.""" + + def __init__(self, image: Image.Image | Dib, title: str = "PIL") -> None: + if not isinstance(image, Dib): + image = Dib(image) + self.image = image + width, height = image.size + super().__init__(title, width=width, height=height) + + def ui_handle_repair(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + self.image.draw(dc, (x0, y0, x1, y1)) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/ImtImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/ImtImagePlugin.py new file mode 100644 index 0000000..c4eccee --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/ImtImagePlugin.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IM Tools support for PIL +# +# history: +# 1996-05-27 fl Created (read 8-bit images only) +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.2) +# +# Copyright (c) Secret Labs AB 1997-2001. +# Copyright (c) Fredrik Lundh 1996-2001. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re + +from . import Image, ImageFile + +# +# -------------------------------------------------------------------- + +field = re.compile(rb"([a-z]*) ([^ \r\n]*)") + + +## +# Image plugin for IM Tools images. + + +class ImtImageFile(ImageFile.ImageFile): + format = "IMT" + format_description = "IM Tools" + + def _open(self) -> None: + # Quick rejection: if there's not a LF among the first + # 100 bytes, this is (probably) not a text header. + + assert self.fp is not None + + buffer = self.fp.read(100) + if b"\n" not in buffer: + msg = "not an IM file" + raise SyntaxError(msg) + + xsize = ysize = 0 + + while True: + if buffer: + s = buffer[:1] + buffer = buffer[1:] + else: + s = self.fp.read(1) + if not s: + break + + if s == b"\x0c": + # image data begins + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + self.fp.tell() - len(buffer), + self.mode, + ) + ] + + break + + else: + # read key/value pair + if b"\n" not in buffer: + buffer += self.fp.read(100) + lines = buffer.split(b"\n") + s += lines.pop(0) + buffer = b"\n".join(lines) + if len(s) == 1 or len(s) > 100: + break + if s[0] == ord(b"*"): + continue # comment + + m = field.match(s) + if not m: + break + k, v = m.group(1, 2) + if k == b"width": + xsize = int(v) + self._size = xsize, ysize + elif k == b"height": + ysize = int(v) + self._size = xsize, ysize + elif k == b"pixel" and v == b"n8": + self._mode = "L" + + +# +# -------------------------------------------------------------------- + +Image.register_open(ImtImageFile.format, ImtImageFile) + +# +# no extension registered (".im" is simply too common) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/IptcImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/IptcImagePlugin.py new file mode 100644 index 0000000..9c8be8b --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/IptcImagePlugin.py @@ -0,0 +1,226 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IPTC/NAA file handling +# +# history: +# 1995-10-01 fl Created +# 1998-03-09 fl Cleaned up and added to PIL +# 2002-06-18 fl Added getiptcinfo helper +# +# Copyright (c) Secret Labs AB 1997-2002. +# Copyright (c) Fredrik Lundh 1995. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from io import BytesIO +from typing import cast + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import i32be as i32 + +COMPRESSION = {1: "raw", 5: "jpeg"} + + +# +# Helpers + + +def _i(c: bytes) -> int: + return i32((b"\0\0\0\0" + c)[-4:]) + + +## +# Image plugin for IPTC/NAA datastreams. To read IPTC/NAA fields +# from TIFF and JPEG files, use the <b>getiptcinfo</b> function. + + +class IptcImageFile(ImageFile.ImageFile): + format = "IPTC" + format_description = "IPTC/NAA" + + def getint(self, key: tuple[int, int]) -> int: + return _i(self.info[key]) + + def field(self) -> tuple[tuple[int, int] | None, int]: + # + # get a IPTC field header + assert self.fp is not None + s = self.fp.read(5) + if not s.strip(b"\x00"): + return None, 0 + + tag = s[1], s[2] + + # syntax + if s[0] != 0x1C or tag[0] not in [1, 2, 3, 4, 5, 6, 7, 8, 9, 240]: + msg = "invalid IPTC/NAA file" + raise SyntaxError(msg) + + # field size + size = s[3] + if size > 132: + msg = "illegal field length in IPTC/NAA file" + raise OSError(msg) + elif size == 128: + size = 0 + elif size > 128: + size = _i(self.fp.read(size - 128)) + else: + size = i16(s, 3) + + return tag, size + + def _open(self) -> None: + # load descriptive fields + assert self.fp is not None + while True: + offset = self.fp.tell() + tag, size = self.field() + if not tag or tag == (8, 10): + break + if size: + tagdata = self.fp.read(size) + else: + tagdata = None + if tag in self.info: + if isinstance(self.info[tag], list): + self.info[tag].append(tagdata) + else: + self.info[tag] = [self.info[tag], tagdata] + else: + self.info[tag] = tagdata + + # mode + layers = self.info[(3, 60)][0] + component = self.info[(3, 60)][1] + if layers == 1 and not component: + self._mode = "L" + band = None + else: + if layers == 3 and component: + self._mode = "RGB" + elif layers == 4 and component: + self._mode = "CMYK" + if (3, 65) in self.info: + band = self.info[(3, 65)][0] - 1 + else: + band = 0 + + # size + self._size = self.getint((3, 20)), self.getint((3, 30)) + + # compression + try: + compression = COMPRESSION[self.getint((3, 120))] + except KeyError as e: + msg = "Unknown IPTC image compression" + raise OSError(msg) from e + + # tile + if tag == (8, 10): + self.tile = [ + ImageFile._Tile("iptc", (0, 0) + self.size, offset, (compression, band)) + ] + + def load(self) -> Image.core.PixelAccess | None: + if self.tile: + args = self.tile[0].args + assert isinstance(args, tuple) + compression, band = args + + assert self.fp is not None + self.fp.seek(self.tile[0].offset) + + # Copy image data to temporary file + o = BytesIO() + if compression == "raw": + # To simplify access to the extracted file, + # prepend a PPM header + o.write(b"P5\n%d %d\n255\n" % self.size) + while True: + type, size = self.field() + if type != (8, 10): + break + while size > 0: + s = self.fp.read(min(size, 8192)) + if not s: + break + o.write(s) + size -= len(s) + + with Image.open(o) as _im: + if band is not None: + bands = [Image.new("L", _im.size)] * Image.getmodebands(self.mode) + bands[band] = _im + im = Image.merge(self.mode, bands) + else: + im = _im + im.load() + self.im = im.im + self.tile = [] + return ImageFile.ImageFile.load(self) + + +Image.register_open(IptcImageFile.format, IptcImageFile) + +Image.register_extension(IptcImageFile.format, ".iim") + + +def getiptcinfo( + im: ImageFile.ImageFile, +) -> dict[tuple[int, int], bytes | list[bytes]] | None: + """ + Get IPTC information from TIFF, JPEG, or IPTC file. + + :param im: An image containing IPTC data. + :returns: A dictionary containing IPTC information, or None if + no IPTC information block was found. + """ + from . import JpegImagePlugin, TiffImagePlugin + + data = None + + if isinstance(im, IptcImageFile): + # return info dictionary right away + return {k: v for k, v in im.info.items() if isinstance(k, tuple)} + + elif isinstance(im, JpegImagePlugin.JpegImageFile): + # extract the IPTC/NAA resource + photoshop = im.info.get("photoshop") + if photoshop: + data = photoshop.get(0x0404) + + elif isinstance(im, TiffImagePlugin.TiffImageFile): + # get raw data from the IPTC/NAA tag (PhotoShop tags the data + # as 4-byte integers, so we cannot use the get method...) + try: + data = im.tag_v2._tagdata[TiffImagePlugin.IPTC_NAA_CHUNK] + except KeyError: + pass + + if data is None: + return None # no properties + + # create an IptcImagePlugin object without initializing it + class FakeImage: + pass + + fake_im = FakeImage() + fake_im.__class__ = IptcImageFile # type: ignore[assignment] + iptc_im = cast(IptcImageFile, fake_im) + + # parse the IPTC information chunk + iptc_im.info = {} + iptc_im.fp = BytesIO(data) + + try: + iptc_im._open() + except (IndexError, KeyError): + pass # expected failure + + return {k: v for k, v in iptc_im.info.items() if isinstance(k, tuple)} diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/Jpeg2KImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/Jpeg2KImagePlugin.py new file mode 100644 index 0000000..cb37735 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/Jpeg2KImagePlugin.py @@ -0,0 +1,460 @@ +# +# The Python Imaging Library +# $Id$ +# +# JPEG2000 file handling +# +# History: +# 2014-03-12 ajh Created +# 2021-06-30 rogermb Extract dpi information from the 'resc' header box +# +# Copyright (c) 2014 Coriolis Systems Limited +# Copyright (c) 2014 Alastair Houghton +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import struct +from typing import cast + +from . import Image, ImageFile, ImagePalette, _binary + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from typing import IO + + +class BoxReader: + """ + A small helper class to read fields stored in JPEG2000 header boxes + and to easily step into and read sub-boxes. + """ + + def __init__(self, fp: IO[bytes], length: int = -1) -> None: + self.fp = fp + self.has_length = length >= 0 + self.length = length + self.remaining_in_box = -1 + + def _can_read(self, num_bytes: int) -> bool: + if self.has_length and self.fp.tell() + num_bytes > self.length: + # Outside box: ensure we don't read past the known file length + return False + if self.remaining_in_box >= 0: + # Inside box contents: ensure read does not go past box boundaries + return num_bytes <= self.remaining_in_box + else: + return True # No length known, just read + + def _read_bytes(self, num_bytes: int) -> bytes: + if not self._can_read(num_bytes): + msg = "Not enough data in header" + raise SyntaxError(msg) + + data = self.fp.read(num_bytes) + if len(data) < num_bytes: + msg = f"Expected to read {num_bytes} bytes but only got {len(data)}." + raise OSError(msg) + + if self.remaining_in_box > 0: + self.remaining_in_box -= num_bytes + return data + + def read_fields(self, field_format: str) -> tuple[int | bytes, ...]: + size = struct.calcsize(field_format) + data = self._read_bytes(size) + return struct.unpack(field_format, data) + + def read_boxes(self) -> BoxReader: + size = self.remaining_in_box + data = self._read_bytes(size) + return BoxReader(io.BytesIO(data), size) + + def has_next_box(self) -> bool: + if self.has_length: + return self.fp.tell() + self.remaining_in_box < self.length + else: + return True + + def next_box_type(self) -> bytes: + # Skip the rest of the box if it has not been read + if self.remaining_in_box > 0: + self.fp.seek(self.remaining_in_box, os.SEEK_CUR) + self.remaining_in_box = -1 + + # Read the length and type of the next box + lbox, tbox = cast(tuple[int, bytes], self.read_fields(">I4s")) + if lbox == 1: + lbox = cast(int, self.read_fields(">Q")[0]) + hlen = 16 + else: + hlen = 8 + + if lbox < hlen or not self._can_read(lbox - hlen): + msg = "Invalid header length" + raise SyntaxError(msg) + + self.remaining_in_box = lbox - hlen + return tbox + + +def _parse_codestream(fp: IO[bytes]) -> tuple[tuple[int, int], str]: + """Parse the JPEG 2000 codestream to extract the size and component + count from the SIZ marker segment, returning a PIL (size, mode) tuple.""" + + hdr = fp.read(2) + lsiz = _binary.i16be(hdr) + siz = hdr + fp.read(lsiz - 2) + lsiz, rsiz, xsiz, ysiz, xosiz, yosiz, _, _, _, _, csiz = struct.unpack_from( + ">HHIIIIIIIIH", siz + ) + + size = (xsiz - xosiz, ysiz - yosiz) + if csiz == 1: + ssiz = struct.unpack_from(">B", siz, 38) + if (ssiz[0] & 0x7F) + 1 > 8: + mode = "I;16" + else: + mode = "L" + elif csiz == 2: + mode = "LA" + elif csiz == 3: + mode = "RGB" + elif csiz == 4: + mode = "RGBA" + else: + msg = "unable to determine J2K image mode" + raise SyntaxError(msg) + + return size, mode + + +def _res_to_dpi(num: int, denom: int, exp: int) -> float | None: + """Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution, + calculated as (num / denom) * 10^exp and stored in dots per meter, + to floating-point dots per inch.""" + if denom == 0: + return None + return (254 * num * (10**exp)) / (10000 * denom) + + +def _parse_jp2_header( + fp: IO[bytes], +) -> tuple[ + tuple[int, int], + str, + str | None, + tuple[float, float] | None, + ImagePalette.ImagePalette | None, +]: + """Parse the JP2 header box to extract size, component count, + color space information, and optionally DPI information, + returning a (size, mode, mimetype, dpi) tuple.""" + + # Find the JP2 header box + reader = BoxReader(fp) + header = None + mimetype = None + while reader.has_next_box(): + tbox = reader.next_box_type() + + if tbox == b"jp2h": + header = reader.read_boxes() + break + elif tbox == b"ftyp": + if reader.read_fields(">4s")[0] == b"jpx ": + mimetype = "image/jpx" + assert header is not None + + size = None + mode = None + bpc = None + nc = None + dpi = None # 2-tuple of DPI info, or None + palette = None + colr = None + + while header.has_next_box(): + tbox = header.next_box_type() + + if tbox == b"ihdr": + height, width, nc, bpc = header.read_fields(">IIHB") + assert isinstance(height, int) + assert isinstance(width, int) + assert isinstance(bpc, int) + size = (width, height) + if nc == 1 and (bpc & 0x7F) > 8: + mode = "I;16" + elif nc == 1: + mode = "L" + elif nc == 2: + mode = "LA" + elif nc == 3: + mode = "RGB" + elif nc == 4: + mode = "RGBA" + elif tbox == b"colr": + meth, _, _, enumcs = header.read_fields(">BBBI") + if meth == 1: + if enumcs in (0, 15): + colr = "1" + elif enumcs == 12: + colr = "CMYK" + if nc == 4: + mode = "CMYK" + elif enumcs == 17: + colr = "L" + elif tbox == b"pclr" and mode in ("L", "LA") and colr not in ("1", "L"): + ne, npc = header.read_fields(">HB") + assert isinstance(ne, int) + assert isinstance(npc, int) + max_bitdepth = 0 + for bitdepth in header.read_fields(">" + ("B" * npc)): + assert isinstance(bitdepth, int) + if bitdepth > max_bitdepth: + max_bitdepth = bitdepth + if max_bitdepth <= 8: + if npc == 4: + palette_mode = "CMYK" if colr == "CMYK" else "RGBA" + else: + palette_mode = "RGB" + palette = ImagePalette.ImagePalette(palette_mode) + for i in range(ne): + color: list[int] = [] + for value in header.read_fields(">" + ("B" * npc)): + assert isinstance(value, int) + color.append(value) + palette.getcolor(tuple(color)) + mode = "P" if mode == "L" else "PA" + elif tbox == b"res ": + res = header.read_boxes() + while res.has_next_box(): + tres = res.next_box_type() + if tres == b"resc": + vrcn, vrcd, hrcn, hrcd, vrce, hrce = res.read_fields(">HHHHBB") + assert isinstance(vrcn, int) + assert isinstance(vrcd, int) + assert isinstance(hrcn, int) + assert isinstance(hrcd, int) + assert isinstance(vrce, int) + assert isinstance(hrce, int) + hres = _res_to_dpi(hrcn, hrcd, hrce) + vres = _res_to_dpi(vrcn, vrcd, vrce) + if hres is not None and vres is not None: + dpi = (hres, vres) + break + + if size is None or mode is None: + msg = "Malformed JP2 header" + raise SyntaxError(msg) + + return size, mode, mimetype, dpi, palette + + +## +# Image plugin for JPEG2000 images. + + +class Jpeg2KImageFile(ImageFile.ImageFile): + format = "JPEG2000" + format_description = "JPEG 2000 (ISO 15444)" + + def _open(self) -> None: + assert self.fp is not None + sig = self.fp.read(4) + if sig == b"\xff\x4f\xff\x51": + self.codec = "j2k" + self._size, self._mode = _parse_codestream(self.fp) + self._parse_comment() + else: + sig = sig + self.fp.read(8) + + if sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a": + self.codec = "jp2" + header = _parse_jp2_header(self.fp) + self._size, self._mode, self.custom_mimetype, dpi, self.palette = header + if dpi is not None: + self.info["dpi"] = dpi + if self.fp.read(12).endswith(b"jp2c\xff\x4f\xff\x51"): + hdr = self.fp.read(2) + length = _binary.i16be(hdr) + self.fp.seek(length - 2, os.SEEK_CUR) + self._parse_comment() + else: + msg = "not a JPEG 2000 file" + raise SyntaxError(msg) + + self._reduce = 0 + self.layers = 0 + + fd = -1 + length = -1 + + try: + fd = self.fp.fileno() + length = os.fstat(fd).st_size + except Exception: + fd = -1 + try: + pos = self.fp.tell() + self.fp.seek(0, io.SEEK_END) + length = self.fp.tell() + self.fp.seek(pos) + except Exception: + length = -1 + + self.tile = [ + ImageFile._Tile( + "jpeg2k", + (0, 0) + self.size, + 0, + (self.codec, self._reduce, self.layers, fd, length), + ) + ] + + def _parse_comment(self) -> None: + assert self.fp is not None + while True: + marker = self.fp.read(2) + if not marker: + break + typ = marker[1] + if typ in (0x90, 0xD9): + # Start of tile or end of codestream + break + hdr = self.fp.read(2) + length = _binary.i16be(hdr) + if typ == 0x64: + # Comment + self.info["comment"] = self.fp.read(length - 2)[2:] + break + else: + self.fp.seek(length - 2, os.SEEK_CUR) + + @property # type: ignore[override] + def reduce( + self, + ) -> ( + Callable[[int | tuple[int, int], tuple[int, int, int, int] | None], Image.Image] + | int + ): + # https://github.com/python-pillow/Pillow/issues/4343 found that the + # new Image 'reduce' method was shadowed by this plugin's 'reduce' + # property. This attempts to allow for both scenarios + return self._reduce or super().reduce + + @reduce.setter + def reduce(self, value: int) -> None: + self._reduce = value + + def load(self) -> Image.core.PixelAccess | None: + if self.tile and self._reduce: + power = 1 << self._reduce + adjust = power >> 1 + self._size = ( + int((self.size[0] + adjust) / power), + int((self.size[1] + adjust) / power), + ) + + # Update the reduce and layers settings + t = self.tile[0] + assert isinstance(t[3], tuple) + t3 = (t[3][0], self._reduce, self.layers, t[3][3], t[3][4]) + self.tile = [ImageFile._Tile(t[0], (0, 0) + self.size, t[2], t3)] + + return ImageFile.ImageFile.load(self) + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith( + (b"\xff\x4f\xff\x51", b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a") + ) + + +# ------------------------------------------------------------ +# Save support + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # Get the keyword arguments + info = im.encoderinfo + + if isinstance(filename, str): + filename = filename.encode() + if filename.endswith(b".j2k") or info.get("no_jp2", False): + kind = "j2k" + else: + kind = "jp2" + + offset = info.get("offset", None) + tile_offset = info.get("tile_offset", None) + tile_size = info.get("tile_size", None) + quality_mode = info.get("quality_mode", "rates") + quality_layers = info.get("quality_layers", None) + if quality_layers is not None and not ( + isinstance(quality_layers, (list, tuple)) + and all( + isinstance(quality_layer, (int, float)) for quality_layer in quality_layers + ) + ): + msg = "quality_layers must be a sequence of numbers" + raise ValueError(msg) + + num_resolutions = info.get("num_resolutions", 0) + cblk_size = info.get("codeblock_size", None) + precinct_size = info.get("precinct_size", None) + irreversible = info.get("irreversible", False) + progression = info.get("progression", "LRCP") + cinema_mode = info.get("cinema_mode", "no") + mct = info.get("mct", 0) + signed = info.get("signed", False) + comment = info.get("comment") + if isinstance(comment, str): + comment = comment.encode() + plt = info.get("plt", False) + + fd = -1 + if hasattr(fp, "fileno"): + try: + fd = fp.fileno() + except Exception: + fd = -1 + + im.encoderconfig = ( + offset, + tile_offset, + tile_size, + quality_mode, + quality_layers, + num_resolutions, + cblk_size, + precinct_size, + irreversible, + progression, + cinema_mode, + mct, + signed, + fd, + comment, + plt, + ) + + ImageFile._save(im, fp, [ImageFile._Tile("jpeg2k", (0, 0) + im.size, 0, kind)]) + + +# ------------------------------------------------------------ +# Registry stuff + + +Image.register_open(Jpeg2KImageFile.format, Jpeg2KImageFile, _accept) +Image.register_save(Jpeg2KImageFile.format, _save) + +Image.register_extensions( + Jpeg2KImageFile.format, [".jp2", ".j2k", ".jpc", ".jpf", ".jpx", ".j2c"] +) + +Image.register_mime(Jpeg2KImageFile.format, "image/jp2") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/JpegImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/JpegImagePlugin.py new file mode 100644 index 0000000..46320eb --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/JpegImagePlugin.py @@ -0,0 +1,889 @@ +# +# The Python Imaging Library. +# $Id$ +# +# JPEG (JFIF) file handling +# +# See "Digital Compression and Coding of Continuous-Tone Still Images, +# Part 1, Requirements and Guidelines" (CCITT T.81 / ISO 10918-1) +# +# History: +# 1995-09-09 fl Created +# 1995-09-13 fl Added full parser +# 1996-03-25 fl Added hack to use the IJG command line utilities +# 1996-05-05 fl Workaround Photoshop 2.5 CMYK polarity bug +# 1996-05-28 fl Added draft support, JFIF version (0.1) +# 1996-12-30 fl Added encoder options, added progression property (0.2) +# 1997-08-27 fl Save mode 1 images as BW (0.3) +# 1998-07-12 fl Added YCbCr to draft and save methods (0.4) +# 1998-10-19 fl Don't hang on files using 16-bit DQT's (0.4.1) +# 2001-04-16 fl Extract DPI settings from JFIF files (0.4.2) +# 2002-07-01 fl Skip pad bytes before markers; identify Exif files (0.4.3) +# 2003-04-25 fl Added experimental EXIF decoder (0.5) +# 2003-06-06 fl Added experimental EXIF GPSinfo decoder +# 2003-09-13 fl Extract COM markers +# 2009-09-06 fl Added icc_profile support (from Florian Hoech) +# 2009-03-06 fl Changed CMYK handling; always use Adobe polarity (0.6) +# 2009-03-08 fl Added subsampling support (from Justin Huff). +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import array +import io +import math +import os +import struct +import subprocess +import sys +import tempfile +import warnings + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._binary import o16be as o16 +from .JpegPresets import presets + +TYPE_CHECKING = False +if TYPE_CHECKING: + from typing import IO, Any + + from .MpoImagePlugin import MpoImageFile + +# +# Parser + + +def Skip(self: JpegImageFile, marker: int) -> None: + assert self.fp is not None + n = i16(self.fp.read(2)) - 2 + ImageFile._safe_read(self.fp, n) + + +def APP(self: JpegImageFile, marker: int) -> None: + # + # Application marker. Store these in the APP dictionary. + # Also look for well-known application markers. + + assert self.fp is not None + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + + app = f"APP{marker & 15}" + + self.app[app] = s # compatibility + self.applist.append((app, s)) + + if marker == 0xFFE0 and s.startswith(b"JFIF"): + # extract JFIF information + self.info["jfif"] = version = i16(s, 5) # version + self.info["jfif_version"] = divmod(version, 256) + # extract JFIF properties + try: + jfif_unit = s[7] + jfif_density = i16(s, 8), i16(s, 10) + except Exception: + pass + else: + if jfif_unit == 1: + self.info["dpi"] = jfif_density + elif jfif_unit == 2: # cm + # 1 dpcm = 2.54 dpi + self.info["dpi"] = tuple(d * 2.54 for d in jfif_density) + self.info["jfif_unit"] = jfif_unit + self.info["jfif_density"] = jfif_density + elif marker == 0xFFE1 and s.startswith(b"Exif\0\0"): + # extract EXIF information + if "exif" in self.info: + self.info["exif"] += s[6:] + else: + self.info["exif"] = s + self._exif_offset = self.fp.tell() - n + 6 + elif marker == 0xFFE1 and s.startswith(b"http://ns.adobe.com/xap/1.0/\x00"): + self.info["xmp"] = s.split(b"\x00", 1)[1] + elif marker == 0xFFE2 and s.startswith(b"FPXR\0"): + # extract FlashPix information (incomplete) + self.info["flashpix"] = s # FIXME: value will change + elif marker == 0xFFE2 and s.startswith(b"ICC_PROFILE\0"): + # Since an ICC profile can be larger than the maximum size of + # a JPEG marker (64K), we need provisions to split it into + # multiple markers. The format defined by the ICC specifies + # one or more APP2 markers containing the following data: + # Identifying string ASCII "ICC_PROFILE\0" (12 bytes) + # Marker sequence number 1, 2, etc (1 byte) + # Number of markers Total of APP2's used (1 byte) + # Profile data (remainder of APP2 data) + # Decoders should use the marker sequence numbers to + # reassemble the profile, rather than assuming that the APP2 + # markers appear in the correct sequence. + self.icclist.append(s) + elif marker == 0xFFED and s.startswith(b"Photoshop 3.0\x00"): + # parse the image resource block + offset = 14 + photoshop = self.info.setdefault("photoshop", {}) + try: + while s[offset : offset + 4] == b"8BIM": + offset += 4 + # resource code + code = i16(s, offset) + offset += 2 + # resource name (usually empty) + name_len = s[offset] + # name = s[offset+1:offset+1+name_len] + offset += 1 + name_len + offset += offset & 1 # align + # resource data block + size = i32(s, offset) + offset += 4 + data = s[offset : offset + size] + if code == 0x03ED: # ResolutionInfo + photoshop[code] = { + "XResolution": i32(data, 0) / 65536, + "DisplayedUnitsX": i16(data, 4), + "YResolution": i32(data, 8) / 65536, + "DisplayedUnitsY": i16(data, 12), + } + else: + photoshop[code] = data + offset += size + offset += offset & 1 # align + except struct.error: + pass # insufficient data + + elif marker == 0xFFEE and s.startswith(b"Adobe"): + self.info["adobe"] = i16(s, 5) + # extract Adobe custom properties + try: + adobe_transform = s[11] + except IndexError: + pass + else: + self.info["adobe_transform"] = adobe_transform + elif marker == 0xFFE2 and s.startswith(b"MPF\0"): + # extract MPO information + self.info["mp"] = s[4:] + # offset is current location minus buffer size + # plus constant header size + self.info["mpoffset"] = self.fp.tell() - n + 4 + + +def COM(self: JpegImageFile, marker: int) -> None: + # + # Comment marker. Store these in the APP dictionary. + assert self.fp is not None + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + + self.info["comment"] = s + self.app["COM"] = s # compatibility + self.applist.append(("COM", s)) + + +def SOF(self: JpegImageFile, marker: int) -> None: + # + # Start of frame marker. Defines the size and mode of the + # image. JPEG is colour blind, so we use some simple + # heuristics to map the number of layers to an appropriate + # mode. Note that this could be made a bit brighter, by + # looking for JFIF and Adobe APP markers. + + assert self.fp is not None + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + self._size = i16(s, 3), i16(s, 1) + if self._im is not None and self.size != self.im.size: + self._im = None + + self.bits = s[0] + if self.bits != 8: + msg = f"cannot handle {self.bits}-bit layers" + raise SyntaxError(msg) + + self.layers = s[5] + if self.layers == 1: + self._mode = "L" + elif self.layers == 3: + self._mode = "RGB" + elif self.layers == 4: + self._mode = "CMYK" + else: + msg = f"cannot handle {self.layers}-layer images" + raise SyntaxError(msg) + + if marker in [0xFFC2, 0xFFC6, 0xFFCA, 0xFFCE]: + self.info["progressive"] = self.info["progression"] = 1 + + if self.icclist: + # fixup icc profile + self.icclist.sort() # sort by sequence number + if self.icclist[0][13] == len(self.icclist): + profile = [p[14:] for p in self.icclist] + icc_profile = b"".join(profile) + else: + icc_profile = None # wrong number of fragments + self.info["icc_profile"] = icc_profile + self.icclist = [] + + for i in range(6, len(s), 3): + t = s[i : i + 3] + # 4-tuples: id, vsamp, hsamp, qtable + self.layer.append((t[0], t[1] // 16, t[1] & 15, t[2])) + + +def DQT(self: JpegImageFile, marker: int) -> None: + # + # Define quantization table. Note that there might be more + # than one table in each marker. + + # FIXME: The quantization tables can be used to estimate the + # compression quality. + + assert self.fp is not None + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + while len(s): + v = s[0] + precision = 1 if (v // 16 == 0) else 2 # in bytes + qt_length = 1 + precision * 64 + if len(s) < qt_length: + msg = "bad quantization table marker" + raise SyntaxError(msg) + data = array.array("B" if precision == 1 else "H", s[1:qt_length]) + if sys.byteorder == "little" and precision > 1: + data.byteswap() # the values are always big-endian + self.quantization[v & 15] = [data[i] for i in zigzag_index] + s = s[qt_length:] + + +# +# JPEG marker table + +MARKER = { + 0xFFC0: ("SOF0", "Baseline DCT", SOF), + 0xFFC1: ("SOF1", "Extended Sequential DCT", SOF), + 0xFFC2: ("SOF2", "Progressive DCT", SOF), + 0xFFC3: ("SOF3", "Spatial lossless", SOF), + 0xFFC4: ("DHT", "Define Huffman table", Skip), + 0xFFC5: ("SOF5", "Differential sequential DCT", SOF), + 0xFFC6: ("SOF6", "Differential progressive DCT", SOF), + 0xFFC7: ("SOF7", "Differential spatial", SOF), + 0xFFC8: ("JPG", "Extension", None), + 0xFFC9: ("SOF9", "Extended sequential DCT (AC)", SOF), + 0xFFCA: ("SOF10", "Progressive DCT (AC)", SOF), + 0xFFCB: ("SOF11", "Spatial lossless DCT (AC)", SOF), + 0xFFCC: ("DAC", "Define arithmetic coding conditioning", Skip), + 0xFFCD: ("SOF13", "Differential sequential DCT (AC)", SOF), + 0xFFCE: ("SOF14", "Differential progressive DCT (AC)", SOF), + 0xFFCF: ("SOF15", "Differential spatial (AC)", SOF), + 0xFFD0: ("RST0", "Restart 0", None), + 0xFFD1: ("RST1", "Restart 1", None), + 0xFFD2: ("RST2", "Restart 2", None), + 0xFFD3: ("RST3", "Restart 3", None), + 0xFFD4: ("RST4", "Restart 4", None), + 0xFFD5: ("RST5", "Restart 5", None), + 0xFFD6: ("RST6", "Restart 6", None), + 0xFFD7: ("RST7", "Restart 7", None), + 0xFFD8: ("SOI", "Start of image", None), + 0xFFD9: ("EOI", "End of image", None), + 0xFFDA: ("SOS", "Start of scan", Skip), + 0xFFDB: ("DQT", "Define quantization table", DQT), + 0xFFDC: ("DNL", "Define number of lines", Skip), + 0xFFDD: ("DRI", "Define restart interval", Skip), + 0xFFDE: ("DHP", "Define hierarchical progression", SOF), + 0xFFDF: ("EXP", "Expand reference component", Skip), + 0xFFE0: ("APP0", "Application segment 0", APP), + 0xFFE1: ("APP1", "Application segment 1", APP), + 0xFFE2: ("APP2", "Application segment 2", APP), + 0xFFE3: ("APP3", "Application segment 3", APP), + 0xFFE4: ("APP4", "Application segment 4", APP), + 0xFFE5: ("APP5", "Application segment 5", APP), + 0xFFE6: ("APP6", "Application segment 6", APP), + 0xFFE7: ("APP7", "Application segment 7", APP), + 0xFFE8: ("APP8", "Application segment 8", APP), + 0xFFE9: ("APP9", "Application segment 9", APP), + 0xFFEA: ("APP10", "Application segment 10", APP), + 0xFFEB: ("APP11", "Application segment 11", APP), + 0xFFEC: ("APP12", "Application segment 12", APP), + 0xFFED: ("APP13", "Application segment 13", APP), + 0xFFEE: ("APP14", "Application segment 14", APP), + 0xFFEF: ("APP15", "Application segment 15", APP), + 0xFFF0: ("JPG0", "Extension 0", None), + 0xFFF1: ("JPG1", "Extension 1", None), + 0xFFF2: ("JPG2", "Extension 2", None), + 0xFFF3: ("JPG3", "Extension 3", None), + 0xFFF4: ("JPG4", "Extension 4", None), + 0xFFF5: ("JPG5", "Extension 5", None), + 0xFFF6: ("JPG6", "Extension 6", None), + 0xFFF7: ("JPG7", "Extension 7", None), + 0xFFF8: ("JPG8", "Extension 8", None), + 0xFFF9: ("JPG9", "Extension 9", None), + 0xFFFA: ("JPG10", "Extension 10", None), + 0xFFFB: ("JPG11", "Extension 11", None), + 0xFFFC: ("JPG12", "Extension 12", None), + 0xFFFD: ("JPG13", "Extension 13", None), + 0xFFFE: ("COM", "Comment", COM), +} + + +def _accept(prefix: bytes) -> bool: + # Magic number was taken from https://en.wikipedia.org/wiki/JPEG + return prefix.startswith(b"\xff\xd8\xff") + + +## +# Image plugin for JPEG and JFIF images. + + +class JpegImageFile(ImageFile.ImageFile): + format = "JPEG" + format_description = "JPEG (ISO 10918)" + + def _open(self) -> None: + assert self.fp is not None + s = self.fp.read(3) + + if not _accept(s): + msg = "not a JPEG file" + raise SyntaxError(msg) + s = b"\xff" + + # Create attributes + self.bits = self.layers = 0 + self._exif_offset = 0 + + # JPEG specifics (internal) + self.layer: list[tuple[int, int, int, int]] = [] + self._huffman_dc: dict[Any, Any] = {} + self._huffman_ac: dict[Any, Any] = {} + self.quantization: dict[int, list[int]] = {} + self.app: dict[str, bytes] = {} # compatibility + self.applist: list[tuple[str, bytes]] = [] + self.icclist: list[bytes] = [] + + while True: + i = s[0] + if i == 0xFF: + s = s + self.fp.read(1) + i = i16(s) + else: + # Skip non-0xFF junk + s = self.fp.read(1) + continue + + if i in MARKER: + name, description, handler = MARKER[i] + if handler is not None: + handler(self, i) + if i == 0xFFDA: # start of scan + rawmode = self.mode + if self.mode == "CMYK": + rawmode = "CMYK;I" # assume adobe conventions + self.tile = [ + ImageFile._Tile("jpeg", (0, 0) + self.size, 0, (rawmode, "")) + ] + # self.__offset = self.fp.tell() + break + s = self.fp.read(1) + elif i in {0, 0xFFFF}: + # padded marker or junk; move on + s = b"\xff" + elif i == 0xFF00: # Skip extraneous data (escaped 0xFF) + s = self.fp.read(1) + else: + msg = "no marker found" + raise SyntaxError(msg) + + self._read_dpi_from_exif() + + def __getstate__(self) -> list[Any]: + return super().__getstate__() + [self.layers, self.layer] + + def __setstate__(self, state: list[Any]) -> None: + self.layers, self.layer = state[6:] + super().__setstate__(state) + + def load_read(self, read_bytes: int) -> bytes: + """ + internal: read more image data + For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker + so libjpeg can finish decoding + """ + assert self.fp is not None + s = self.fp.read(read_bytes) + + if not s and ImageFile.LOAD_TRUNCATED_IMAGES and not hasattr(self, "_ended"): + # Premature EOF. + # Pretend file is finished adding EOI marker + self._ended = True + return b"\xff\xd9" + + return s + + def draft( + self, mode: str | None, size: tuple[int, int] | None + ) -> tuple[str, tuple[int, int, float, float]] | None: + if len(self.tile) != 1: + return None + + # Protect from second call + if self.decoderconfig: + return None + + d, e, o, a = self.tile[0] + scale = 1 + original_size = self.size + + assert isinstance(a, tuple) + if a[0] == "RGB" and mode in ["L", "YCbCr"]: + self._mode = mode + a = mode, "" + + if size: + scale = min(self.size[0] // size[0], self.size[1] // size[1]) + for s in [8, 4, 2, 1]: + if scale >= s: + break + assert e is not None + e = ( + e[0], + e[1], + (e[2] - e[0] + s - 1) // s + e[0], + (e[3] - e[1] + s - 1) // s + e[1], + ) + self._size = ((self.size[0] + s - 1) // s, (self.size[1] + s - 1) // s) + scale = s + + self.tile = [ImageFile._Tile(d, e, o, a)] + self.decoderconfig = (scale, 0) + + box = (0, 0, original_size[0] / scale, original_size[1] / scale) + return self.mode, box + + def load_djpeg(self) -> None: + # ALTERNATIVE: handle JPEGs via the IJG command line utilities + + f, path = tempfile.mkstemp() + os.close(f) + if os.path.exists(self.filename): + subprocess.check_call(["djpeg", "-outfile", path, self.filename]) + else: + try: + os.unlink(path) + except OSError: + pass + + msg = "Invalid Filename" + raise ValueError(msg) + + try: + with Image.open(path) as _im: + _im.load() + self.im = _im.im + finally: + try: + os.unlink(path) + except OSError: + pass + + self._mode = self.im.mode + self._size = self.im.size + + self.tile = [] + + def _getexif(self) -> dict[int, Any] | None: + return _getexif(self) + + def _read_dpi_from_exif(self) -> None: + # If DPI isn't in JPEG header, fetch from EXIF + if "dpi" in self.info or "exif" not in self.info: + return + try: + exif = self.getexif() + resolution_unit = exif[0x0128] + x_resolution = exif[0x011A] + try: + dpi = float(x_resolution[0]) / x_resolution[1] + except TypeError: + dpi = x_resolution + if math.isnan(dpi): + msg = "DPI is not a number" + raise ValueError(msg) + if resolution_unit == 3: # cm + # 1 dpcm = 2.54 dpi + dpi *= 2.54 + self.info["dpi"] = dpi, dpi + except ( + struct.error, # truncated EXIF + KeyError, # dpi not included + SyntaxError, # invalid/unreadable EXIF + TypeError, # dpi is an invalid float + ValueError, # dpi is an invalid float + ZeroDivisionError, # invalid dpi rational value + ): + self.info["dpi"] = 72, 72 + + def _getmp(self) -> dict[int, Any] | None: + return _getmp(self) + + +def _getexif(self: JpegImageFile) -> dict[int, Any] | None: + if "exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + +def _getmp(self: JpegImageFile) -> dict[int, Any] | None: + # Extract MP information. This method was inspired by the "highly + # experimental" _getexif version that's been in use for years now, + # itself based on the ImageFileDirectory class in the TIFF plugin. + + # The MP record essentially consists of a TIFF file embedded in a JPEG + # application marker. + try: + data = self.info["mp"] + except KeyError: + return None + file_contents = io.BytesIO(data) + head = file_contents.read(8) + endianness = ">" if head.startswith(b"\x4d\x4d\x00\x2a") else "<" + # process dictionary + from . import TiffImagePlugin + + try: + info = TiffImagePlugin.ImageFileDirectory_v2(head) + file_contents.seek(info.next) + info.load(file_contents) + mp = dict(info) + except Exception as e: + msg = "malformed MP Index (unreadable directory)" + raise SyntaxError(msg) from e + # it's an error not to have a number of images + try: + quant = mp[0xB001] + except KeyError as e: + msg = "malformed MP Index (no number of images)" + raise SyntaxError(msg) from e + # get MP entries + mpentries = [] + try: + rawmpentries = mp[0xB002] + for entrynum in range(quant): + unpackedentry = struct.unpack_from( + f"{endianness}LLLHH", rawmpentries, entrynum * 16 + ) + labels = ("Attribute", "Size", "DataOffset", "EntryNo1", "EntryNo2") + mpentry = dict(zip(labels, unpackedentry)) + mpentryattr = { + "DependentParentImageFlag": bool(mpentry["Attribute"] & (1 << 31)), + "DependentChildImageFlag": bool(mpentry["Attribute"] & (1 << 30)), + "RepresentativeImageFlag": bool(mpentry["Attribute"] & (1 << 29)), + "Reserved": (mpentry["Attribute"] & (3 << 27)) >> 27, + "ImageDataFormat": (mpentry["Attribute"] & (7 << 24)) >> 24, + "MPType": mpentry["Attribute"] & 0x00FFFFFF, + } + if mpentryattr["ImageDataFormat"] == 0: + mpentryattr["ImageDataFormat"] = "JPEG" + else: + msg = "unsupported picture format in MPO" + raise SyntaxError(msg) + mptypemap = { + 0x000000: "Undefined", + 0x010001: "Large Thumbnail (VGA Equivalent)", + 0x010002: "Large Thumbnail (Full HD Equivalent)", + 0x020001: "Multi-Frame Image (Panorama)", + 0x020002: "Multi-Frame Image: (Disparity)", + 0x020003: "Multi-Frame Image: (Multi-Angle)", + 0x030000: "Baseline MP Primary Image", + } + mpentryattr["MPType"] = mptypemap.get(mpentryattr["MPType"], "Unknown") + mpentry["Attribute"] = mpentryattr + mpentries.append(mpentry) + mp[0xB002] = mpentries + except KeyError as e: + msg = "malformed MP Index (bad MP Entry)" + raise SyntaxError(msg) from e + # Next we should try and parse the individual image unique ID list; + # we don't because I've never seen this actually used in a real MPO + # file and so can't test it. + return mp + + +# -------------------------------------------------------------------- +# stuff to save JPEG files + +RAWMODE = { + "1": "L", + "L": "L", + "RGB": "RGB", + "RGBX": "RGB", + "CMYK": "CMYK;I", # assume adobe conventions + "YCbCr": "YCbCr", +} + +# fmt: off +zigzag_index = ( + 0, 1, 5, 6, 14, 15, 27, 28, + 2, 4, 7, 13, 16, 26, 29, 42, + 3, 8, 12, 17, 25, 30, 41, 43, + 9, 11, 18, 24, 31, 40, 44, 53, + 10, 19, 23, 32, 39, 45, 52, 54, + 20, 22, 33, 38, 46, 51, 55, 60, + 21, 34, 37, 47, 50, 56, 59, 61, + 35, 36, 48, 49, 57, 58, 62, 63, +) + +samplings = { + (1, 1, 1, 1, 1, 1): 0, + (2, 1, 1, 1, 1, 1): 1, + (2, 2, 1, 1, 1, 1): 2, +} +# fmt: on + + +def get_sampling(im: Image.Image) -> int: + # There's no subsampling when images have only 1 layer + # (grayscale images) or when they are CMYK (4 layers), + # so set subsampling to the default value. + # + # NOTE: currently Pillow can't encode JPEG to YCCK format. + # If YCCK support is added in the future, subsampling code will have + # to be updated (here and in JpegEncode.c) to deal with 4 layers. + if not isinstance(im, JpegImageFile) or im.layers in (1, 4): + return -1 + sampling = im.layer[0][1:3] + im.layer[1][1:3] + im.layer[2][1:3] + return samplings.get(sampling, -1) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + rawmode = RAWMODE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as JPEG" + raise OSError(msg) from e + + info = im.encoderinfo + + dpi = [round(x) for x in info.get("dpi", (0, 0))] + + quality = info.get("quality", -1) + subsampling = info.get("subsampling", -1) + qtables = info.get("qtables") + + if quality == "keep": + quality = -1 + subsampling = "keep" + qtables = "keep" + elif quality in presets: + preset = presets[quality] + quality = -1 + subsampling = preset.get("subsampling", -1) + qtables = preset.get("quantization") + elif not isinstance(quality, int): + msg = "Invalid quality setting" + raise ValueError(msg) + else: + if subsampling in presets: + subsampling = presets[subsampling].get("subsampling", -1) + if isinstance(qtables, str) and qtables in presets: + qtables = presets[qtables].get("quantization") + + if subsampling == "4:4:4": + subsampling = 0 + elif subsampling == "4:2:2": + subsampling = 1 + elif subsampling == "4:2:0": + subsampling = 2 + elif subsampling == "4:1:1": + # For compatibility. Before Pillow 4.3, 4:1:1 actually meant 4:2:0. + # Set 4:2:0 if someone is still using that value. + subsampling = 2 + elif subsampling == "keep": + if im.format != "JPEG": + msg = "Cannot use 'keep' when original image is not a JPEG" + raise ValueError(msg) + subsampling = get_sampling(im) + + def validate_qtables( + qtables: ( + str | tuple[list[int], ...] | list[list[int]] | dict[int, list[int]] | None + ), + ) -> list[list[int]] | None: + if qtables is None: + return qtables + if isinstance(qtables, str): + try: + lines = [ + int(num) + for line in qtables.splitlines() + for num in line.split("#", 1)[0].split() + ] + except ValueError as e: + msg = "Invalid quantization table" + raise ValueError(msg) from e + else: + qtables = [lines[s : s + 64] for s in range(0, len(lines), 64)] + if isinstance(qtables, (tuple, list, dict)): + if isinstance(qtables, dict): + qtables = [ + qtables[key] for key in range(len(qtables)) if key in qtables + ] + elif isinstance(qtables, tuple): + qtables = list(qtables) + if not (0 < len(qtables) < 5): + msg = "None or too many quantization tables" + raise ValueError(msg) + try: + for idx, table in enumerate(qtables): + if len(table) != 64: + msg = "Invalid quantization table" + raise TypeError(msg) + qtables[idx] = list(array.array("H", table)) + except TypeError as e: + msg = "Invalid quantization table" + raise ValueError(msg) from e + return qtables + + if qtables == "keep": + if im.format != "JPEG": + msg = "Cannot use 'keep' when original image is not a JPEG" + raise ValueError(msg) + qtables = getattr(im, "quantization", None) + qtables = validate_qtables(qtables) + + extra = info.get("extra", b"") + + MAX_BYTES_IN_MARKER = 65533 + if xmp := info.get("xmp"): + overhead_len = 29 # b"http://ns.adobe.com/xap/1.0/\x00" + max_data_bytes_in_marker = MAX_BYTES_IN_MARKER - overhead_len + if len(xmp) > max_data_bytes_in_marker: + msg = "XMP data is too long" + raise ValueError(msg) + size = o16(2 + overhead_len + len(xmp)) + extra += b"\xff\xe1" + size + b"http://ns.adobe.com/xap/1.0/\x00" + xmp + + if icc_profile := info.get("icc_profile"): + overhead_len = 14 # b"ICC_PROFILE\0" + o8(i) + o8(len(markers)) + max_data_bytes_in_marker = MAX_BYTES_IN_MARKER - overhead_len + markers = [] + while icc_profile: + markers.append(icc_profile[:max_data_bytes_in_marker]) + icc_profile = icc_profile[max_data_bytes_in_marker:] + i = 1 + for marker in markers: + size = o16(2 + overhead_len + len(marker)) + extra += ( + b"\xff\xe2" + + size + + b"ICC_PROFILE\0" + + o8(i) + + o8(len(markers)) + + marker + ) + i += 1 + + comment = info.get("comment", im.info.get("comment")) + + # "progressive" is the official name, but older documentation + # says "progression" + # FIXME: issue a warning if the wrong form is used (post-1.1.7) + progressive = info.get("progressive", False) or info.get("progression", False) + + optimize = info.get("optimize", False) + + exif = info.get("exif", b"") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + if len(exif) > MAX_BYTES_IN_MARKER: + msg = "EXIF data is too long" + raise ValueError(msg) + + # get keyword arguments + im.encoderconfig = ( + quality, + progressive, + info.get("smooth", 0), + optimize, + info.get("keep_rgb", False), + info.get("streamtype", 0), + dpi, + subsampling, + info.get("restart_marker_blocks", 0), + info.get("restart_marker_rows", 0), + qtables, + comment, + extra, + exif, + ) + + # if we optimize, libjpeg needs a buffer big enough to hold the whole image + # in a shot. Guessing on the size, at im.size bytes. (raw pixel size is + # channels*size, this is a value that's been used in a django patch. + # https://github.com/matthewwithanm/django-imagekit/issues/50 + if optimize or progressive: + # CMYK can be bigger + if im.mode == "CMYK": + bufsize = 4 * im.size[0] * im.size[1] + # keep sets quality to -1, but the actual value may be high. + elif quality >= 95 or quality == -1: + bufsize = 2 * im.size[0] * im.size[1] + else: + bufsize = im.size[0] * im.size[1] + if exif: + bufsize += len(exif) + 5 + if extra: + bufsize += len(extra) + 1 + else: + # The EXIF info needs to be written as one block, + APP1, + one spare byte. + # Ensure that our buffer is big enough. Same with the icc_profile block. + bufsize = max(len(exif) + 5, len(extra) + 1) + + ImageFile._save( + im, fp, [ImageFile._Tile("jpeg", (0, 0) + im.size, 0, rawmode)], bufsize + ) + + +## +# Factory for making JPEG and MPO instances +def jpeg_factory( + fp: IO[bytes], filename: str | bytes | None = None +) -> JpegImageFile | MpoImageFile: + im = JpegImageFile(fp, filename) + try: + mpheader = im._getmp() + if mpheader is not None and mpheader[45057] > 1: + for segment, content in im.applist: + if segment == "APP1" and b' hdrgm:Version="' in content: + # Ultra HDR images are not yet supported + return im + # It's actually an MPO + from .MpoImagePlugin import MpoImageFile + + # Don't reload everything, just convert it. + im = MpoImageFile.adopt(im, mpheader) + except (TypeError, IndexError): + # It is really a JPEG + pass + except SyntaxError: + warnings.warn( + "Image appears to be a malformed MPO file, it will be " + "interpreted as a base JPEG file" + ) + return im + + +# --------------------------------------------------------------------- +# Registry stuff + +Image.register_open(JpegImageFile.format, jpeg_factory, _accept) +Image.register_save(JpegImageFile.format, _save) + +Image.register_extensions(JpegImageFile.format, [".jfif", ".jpe", ".jpg", ".jpeg"]) + +Image.register_mime(JpegImageFile.format, "image/jpeg") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/JpegPresets.py b/presentation/.venv/lib/python3.12/site-packages/PIL/JpegPresets.py new file mode 100644 index 0000000..d0e64a3 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/JpegPresets.py @@ -0,0 +1,242 @@ +""" +JPEG quality settings equivalent to the Photoshop settings. +Can be used when saving JPEG files. + +The following presets are available by default: +``web_low``, ``web_medium``, ``web_high``, ``web_very_high``, ``web_maximum``, +``low``, ``medium``, ``high``, ``maximum``. +More presets can be added to the :py:data:`presets` dict if needed. + +To apply the preset, specify:: + + quality="preset_name" + +To apply only the quantization table:: + + qtables="preset_name" + +To apply only the subsampling setting:: + + subsampling="preset_name" + +Example:: + + im.save("image_name.jpg", quality="web_high") + +Subsampling +----------- + +Subsampling is the practice of encoding images by implementing less resolution +for chroma information than for luma information. +(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling) + +Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and +4:2:0. + +You can get the subsampling of a JPEG with the +:func:`.JpegImagePlugin.get_sampling` function. + +In JPEG compressed data a JPEG marker is used instead of an EXIF tag. +(ref.: https://exiv2.org/tags.html) + + +Quantization tables +------------------- + +They are values use by the DCT (Discrete cosine transform) to remove +*unnecessary* information from the image (the lossy part of the compression). +(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices, +https://en.wikipedia.org/wiki/JPEG#Quantization) + +You can get the quantization tables of a JPEG with:: + + im.quantization + +This will return a dict with a number of lists. You can pass this dict +directly as the qtables argument when saving a JPEG. + +The quantization table format in presets is a list with sublists. These formats +are interchangeable. + +Libjpeg ref.: +https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html + +""" + +from __future__ import annotations + +# fmt: off +presets = { + 'web_low': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [20, 16, 25, 39, 50, 46, 62, 68, + 16, 18, 23, 38, 38, 53, 65, 68, + 25, 23, 31, 38, 53, 65, 68, 68, + 39, 38, 38, 53, 65, 68, 68, 68, + 50, 38, 53, 65, 68, 68, 68, 68, + 46, 53, 65, 68, 68, 68, 68, 68, + 62, 65, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68], + [21, 25, 32, 38, 54, 68, 68, 68, + 25, 28, 24, 38, 54, 68, 68, 68, + 32, 24, 32, 43, 66, 68, 68, 68, + 38, 38, 43, 53, 68, 68, 68, 68, + 54, 54, 66, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68] + ]}, + 'web_medium': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [16, 11, 11, 16, 23, 27, 31, 30, + 11, 12, 12, 15, 20, 23, 23, 30, + 11, 12, 13, 16, 23, 26, 35, 47, + 16, 15, 16, 23, 26, 37, 47, 64, + 23, 20, 23, 26, 39, 51, 64, 64, + 27, 23, 26, 37, 51, 64, 64, 64, + 31, 23, 35, 47, 64, 64, 64, 64, + 30, 30, 47, 64, 64, 64, 64, 64], + [17, 15, 17, 21, 20, 26, 38, 48, + 15, 19, 18, 17, 20, 26, 35, 43, + 17, 18, 20, 22, 26, 30, 46, 53, + 21, 17, 22, 28, 30, 39, 53, 64, + 20, 20, 26, 30, 39, 48, 64, 64, + 26, 26, 30, 39, 48, 63, 64, 64, + 38, 35, 46, 53, 64, 64, 64, 64, + 48, 43, 53, 64, 64, 64, 64, 64] + ]}, + 'web_high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [6, 4, 4, 6, 9, 11, 12, 16, + 4, 5, 5, 6, 8, 10, 12, 12, + 4, 5, 5, 6, 10, 12, 14, 19, + 6, 6, 6, 11, 12, 15, 19, 28, + 9, 8, 10, 12, 16, 20, 27, 31, + 11, 10, 12, 15, 20, 27, 31, 31, + 12, 12, 14, 19, 27, 31, 31, 31, + 16, 12, 19, 28, 31, 31, 31, 31], + [7, 7, 13, 24, 26, 31, 31, 31, + 7, 12, 16, 21, 31, 31, 31, 31, + 13, 16, 17, 31, 31, 31, 31, 31, + 24, 21, 31, 31, 31, 31, 31, 31, + 26, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31] + ]}, + 'web_very_high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 4, 5, 7, 9, + 2, 2, 2, 4, 5, 7, 9, 12, + 3, 3, 4, 5, 8, 10, 12, 12, + 4, 4, 5, 7, 10, 12, 12, 12, + 5, 5, 7, 9, 12, 12, 12, 12, + 6, 6, 9, 12, 12, 12, 12, 12], + [3, 3, 5, 9, 13, 15, 15, 15, + 3, 4, 6, 11, 14, 12, 12, 12, + 5, 6, 9, 14, 12, 12, 12, 12, + 9, 11, 14, 12, 12, 12, 12, 12, + 13, 14, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'web_maximum': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 2, 2, + 1, 1, 1, 1, 1, 2, 2, 3, + 1, 1, 1, 1, 2, 2, 3, 3, + 1, 1, 1, 2, 2, 3, 3, 3, + 1, 1, 2, 2, 3, 3, 3, 3], + [1, 1, 1, 2, 2, 3, 3, 3, + 1, 1, 1, 2, 3, 3, 3, 3, + 1, 1, 1, 3, 3, 3, 3, 3, + 2, 2, 3, 3, 3, 3, 3, 3, + 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3] + ]}, + 'low': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [18, 14, 14, 21, 30, 35, 34, 17, + 14, 16, 16, 19, 26, 23, 12, 12, + 14, 16, 17, 21, 23, 12, 12, 12, + 21, 19, 21, 23, 12, 12, 12, 12, + 30, 26, 23, 12, 12, 12, 12, 12, + 35, 23, 12, 12, 12, 12, 12, 12, + 34, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12], + [20, 19, 22, 27, 20, 20, 17, 17, + 19, 25, 23, 14, 14, 12, 12, 12, + 22, 23, 14, 14, 12, 12, 12, 12, + 27, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'medium': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [12, 8, 8, 12, 17, 21, 24, 17, + 8, 9, 9, 11, 15, 19, 12, 12, + 8, 9, 10, 12, 19, 12, 12, 12, + 12, 11, 12, 21, 12, 12, 12, 12, + 17, 15, 19, 12, 12, 12, 12, 12, + 21, 19, 12, 12, 12, 12, 12, 12, + 24, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12], + [13, 11, 13, 16, 20, 20, 17, 17, + 11, 14, 14, 14, 14, 12, 12, 12, + 13, 14, 14, 14, 12, 12, 12, 12, + 16, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [6, 4, 4, 6, 9, 11, 12, 16, + 4, 5, 5, 6, 8, 10, 12, 12, + 4, 5, 5, 6, 10, 12, 12, 12, + 6, 6, 6, 11, 12, 12, 12, 12, + 9, 8, 10, 12, 12, 12, 12, 12, + 11, 10, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 16, 12, 12, 12, 12, 12, 12, 12], + [7, 7, 13, 24, 20, 20, 17, 17, + 7, 12, 16, 14, 14, 12, 12, 12, + 13, 16, 14, 14, 12, 12, 12, 12, + 24, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'maximum': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 4, 5, 7, 9, + 2, 2, 2, 4, 5, 7, 9, 12, + 3, 3, 4, 5, 8, 10, 12, 12, + 4, 4, 5, 7, 10, 12, 12, 12, + 5, 5, 7, 9, 12, 12, 12, 12, + 6, 6, 9, 12, 12, 12, 12, 12], + [3, 3, 5, 9, 13, 15, 15, 15, + 3, 4, 6, 10, 14, 12, 12, 12, + 5, 6, 9, 14, 12, 12, 12, 12, + 9, 10, 14, 12, 12, 12, 12, 12, + 13, 14, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12] + ]}, +} +# fmt: on diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/McIdasImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/McIdasImagePlugin.py new file mode 100644 index 0000000..9a47933 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/McIdasImagePlugin.py @@ -0,0 +1,78 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Basic McIdas support for PIL +# +# History: +# 1997-05-05 fl Created (8-bit images only) +# 2009-03-08 fl Added 16/32-bit support. +# +# Thanks to Richard Jones and Craig Swank for specs and samples. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import struct + +from . import Image, ImageFile + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"\x00\x00\x00\x00\x00\x00\x00\x04") + + +## +# Image plugin for McIdas area images. + + +class McIdasImageFile(ImageFile.ImageFile): + format = "MCIDAS" + format_description = "McIdas area file" + + def _open(self) -> None: + # parse area file directory + assert self.fp is not None + + s = self.fp.read(256) + if not _accept(s) or len(s) != 256: + msg = "not an McIdas area file" + raise SyntaxError(msg) + + self.area_descriptor_raw = s + self.area_descriptor = w = [0, *struct.unpack("!64i", s)] + + # get mode + if w[11] == 1: + mode = rawmode = "L" + elif w[11] == 2: + mode = rawmode = "I;16B" + elif w[11] == 4: + # FIXME: add memory map support + mode = "I" + rawmode = "I;32B" + else: + msg = "unsupported McIdas format" + raise SyntaxError(msg) + + self._mode = mode + self._size = w[10], w[9] + + offset = w[34] + w[15] + stride = w[15] + w[10] * w[11] * w[14] + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (rawmode, stride, 1)) + ] + + +# -------------------------------------------------------------------- +# registry + +Image.register_open(McIdasImageFile.format, McIdasImageFile, _accept) + +# no default extension diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/MicImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/MicImagePlugin.py new file mode 100644 index 0000000..99a07ba --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/MicImagePlugin.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Microsoft Image Composer support for PIL +# +# Notes: +# uses TiffImagePlugin.py to read the actual image streams +# +# History: +# 97-01-20 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import olefile + +from . import Image, TiffImagePlugin + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(olefile.MAGIC) + + +## +# Image plugin for Microsoft's Image Composer file format. + + +class MicImageFile(TiffImagePlugin.TiffImageFile): + format = "MIC" + format_description = "Microsoft Image Composer" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # read the OLE directory and see if this is a likely + # to be a Microsoft Image Composer file + + try: + self.ole = olefile.OleFileIO(self.fp) + except OSError as e: + msg = "not an MIC file; invalid OLE file" + raise SyntaxError(msg) from e + + # find ACI subfiles with Image members (maybe not the + # best way to identify MIC files, but what the... ;-) + + self.images = [ + path + for path in self.ole.listdir() + if path[1:] and path[0].endswith(".ACI") and path[1] == "Image" + ] + + # if we didn't find any images, this is probably not + # an MIC file. + if not self.images: + msg = "not an MIC file; no image entries" + raise SyntaxError(msg) + + self.frame = -1 + self._n_frames = len(self.images) + self.is_animated = self._n_frames > 1 + + assert self.fp is not None + self.__fp = self.fp + self.seek(0) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + filename = self.images[frame] + self.fp = self.ole.openstream(filename) + + TiffImagePlugin.TiffImageFile._open(self) + + self.frame = frame + + def tell(self) -> int: + return self.frame + + def close(self) -> None: + self.__fp.close() + self.ole.close() + super().close() + + def __exit__(self, *args: object) -> None: + self.__fp.close() + self.ole.close() + super().__exit__() + + +# +# -------------------------------------------------------------------- + +Image.register_open(MicImageFile.format, MicImageFile, _accept) + +Image.register_extension(MicImageFile.format, ".mic") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/MpegImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/MpegImagePlugin.py new file mode 100644 index 0000000..47ebe9d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/MpegImagePlugin.py @@ -0,0 +1,84 @@ +# +# The Python Imaging Library. +# $Id$ +# +# MPEG file handling +# +# History: +# 95-09-09 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i8 +from ._typing import SupportsRead + +# +# Bitstream parser + + +class BitStream: + def __init__(self, fp: SupportsRead[bytes]) -> None: + self.fp = fp + self.bits = 0 + self.bitbuffer = 0 + + def next(self) -> int: + return i8(self.fp.read(1)) + + def peek(self, bits: int) -> int: + while self.bits < bits: + self.bitbuffer = (self.bitbuffer << 8) + self.next() + self.bits += 8 + return self.bitbuffer >> (self.bits - bits) & (1 << bits) - 1 + + def skip(self, bits: int) -> None: + while self.bits < bits: + self.bitbuffer = (self.bitbuffer << 8) + i8(self.fp.read(1)) + self.bits += 8 + self.bits = self.bits - bits + + def read(self, bits: int) -> int: + v = self.peek(bits) + self.bits = self.bits - bits + return v + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"\x00\x00\x01\xb3") + + +## +# Image plugin for MPEG streams. This plugin can identify a stream, +# but it cannot read it. + + +class MpegImageFile(ImageFile.ImageFile): + format = "MPEG" + format_description = "MPEG" + + def _open(self) -> None: + assert self.fp is not None + + s = BitStream(self.fp) + if s.read(32) != 0x1B3: + msg = "not an MPEG file" + raise SyntaxError(msg) + + self._mode = "RGB" + self._size = s.read(12), s.read(12) + + +# -------------------------------------------------------------------- +# Registry stuff + +Image.register_open(MpegImageFile.format, MpegImageFile, _accept) + +Image.register_extensions(MpegImageFile.format, [".mpg", ".mpeg"]) + +Image.register_mime(MpegImageFile.format, "video/mpeg") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/MpoImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/MpoImagePlugin.py new file mode 100644 index 0000000..bee0a56 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/MpoImagePlugin.py @@ -0,0 +1,203 @@ +# +# The Python Imaging Library. +# $Id$ +# +# MPO file handling +# +# See "Multi-Picture Format" (CIPA DC-007-Translation 2009, Standard of the +# Camera & Imaging Products Association) +# +# The multi-picture object combines multiple JPEG images (with a modified EXIF +# data format) into a single file. While it can theoretically be used much like +# a GIF animation, it is commonly used to represent 3D photographs and is (as +# of this writing) the most commonly used format by 3D cameras. +# +# History: +# 2014-03-13 Feneric Created +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import struct +from typing import IO, Any, cast + +from . import ( + Image, + ImageFile, + ImageSequence, + JpegImagePlugin, + TiffImagePlugin, +) +from ._binary import o32le +from ._util import DeferredError + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + JpegImagePlugin._save(im, fp, filename) + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + append_images = im.encoderinfo.get("append_images", []) + if not append_images and not getattr(im, "is_animated", False): + _save(im, fp, filename) + return + + mpf_offset = 28 + offsets: list[int] = [] + im_sequences = [im, *append_images] + total = sum(getattr(seq, "n_frames", 1) for seq in im_sequences) + for im_sequence in im_sequences: + for im_frame in ImageSequence.Iterator(im_sequence): + if not offsets: + # APP2 marker + ifd_length = 66 + 16 * total + im_frame.encoderinfo["extra"] = ( + b"\xff\xe2" + + struct.pack(">H", 6 + ifd_length) + + b"MPF\0" + + b" " * ifd_length + ) + if exif := im_frame.encoderinfo.get("exif"): + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + im_frame.encoderinfo["exif"] = exif + mpf_offset += 4 + len(exif) + + JpegImagePlugin._save(im_frame, fp, filename) + offsets.append(fp.tell()) + else: + encoderinfo = im_frame._attach_default_encoderinfo(im) + im_frame.save(fp, "JPEG") + im_frame.encoderinfo = encoderinfo + offsets.append(fp.tell() - offsets[-1]) + + ifd = TiffImagePlugin.ImageFileDirectory_v2() + ifd[0xB000] = b"0100" + ifd[0xB001] = len(offsets) + + mpentries = b"" + data_offset = 0 + for i, size in enumerate(offsets): + if i == 0: + mptype = 0x030000 # Baseline MP Primary Image + else: + mptype = 0x000000 # Undefined + mpentries += struct.pack("<LLLHH", mptype, size, data_offset, 0, 0) + if i == 0: + data_offset -= mpf_offset + data_offset += size + ifd[0xB002] = mpentries + + fp.seek(mpf_offset) + fp.write(b"II\x2a\x00" + o32le(8) + ifd.tobytes(8)) + fp.seek(0, os.SEEK_END) + + +## +# Image plugin for MPO images. + + +class MpoImageFile(JpegImagePlugin.JpegImageFile): + format = "MPO" + format_description = "MPO (CIPA DC-007)" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + assert self.fp is not None + self.fp.seek(0) # prep the fp in order to pass the JPEG test + JpegImagePlugin.JpegImageFile._open(self) + self._after_jpeg_open() + + def _after_jpeg_open(self, mpheader: dict[int, Any] | None = None) -> None: + self.mpinfo = mpheader if mpheader is not None else self._getmp() + if self.mpinfo is None: + msg = "Image appears to be a malformed MPO file" + raise ValueError(msg) + self.n_frames = self.mpinfo[0xB001] + self.__mpoffsets = [ + mpent["DataOffset"] + self.info["mpoffset"] for mpent in self.mpinfo[0xB002] + ] + self.__mpoffsets[0] = 0 + # Note that the following assertion will only be invalid if something + # gets broken within JpegImagePlugin. + assert self.n_frames == len(self.__mpoffsets) + del self.info["mpoffset"] # no longer needed + self.is_animated = self.n_frames > 1 + assert self.fp is not None + self._fp = self.fp # FIXME: hack + self._fp.seek(self.__mpoffsets[0]) # get ready to read first frame + self.__frame = 0 + self.offset = 0 + # for now we can only handle reading and individual frame extraction + self.readonly = 1 + + def load_seek(self, pos: int) -> None: + if isinstance(self._fp, DeferredError): + raise self._fp.ex + self._fp.seek(pos) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if isinstance(self._fp, DeferredError): + raise self._fp.ex + self.fp = self._fp + self.offset = self.__mpoffsets[frame] + + original_exif = self.info.get("exif") + if "exif" in self.info: + del self.info["exif"] + + self.fp.seek(self.offset + 2) # skip SOI marker + if not self.fp.read(2): + msg = "No data found for frame" + raise ValueError(msg) + self.fp.seek(self.offset) + JpegImagePlugin.JpegImageFile._open(self) + if self.info.get("exif") != original_exif: + self._reload_exif() + + self.tile = [ + ImageFile._Tile("jpeg", (0, 0) + self.size, self.offset, self.tile[0][-1]) + ] + self.__frame = frame + + def tell(self) -> int: + return self.__frame + + @staticmethod + def adopt( + jpeg_instance: JpegImagePlugin.JpegImageFile, + mpheader: dict[int, Any] | None = None, + ) -> MpoImageFile: + """ + Transform the instance of JpegImageFile into + an instance of MpoImageFile. + After the call, the JpegImageFile is extended + to be an MpoImageFile. + + This is essentially useful when opening a JPEG + file that reveals itself as an MPO, to avoid + double call to _open. + """ + jpeg_instance.__class__ = MpoImageFile + mpo_instance = cast(MpoImageFile, jpeg_instance) + mpo_instance._after_jpeg_open(mpheader) + return mpo_instance + + +# --------------------------------------------------------------------- +# Registry stuff + +# Note that since MPO shares a factory with JPEG, we do not need to do a +# separate registration for it here. +# Image.register_open(MpoImageFile.format, +# JpegImagePlugin.jpeg_factory, _accept) +Image.register_save(MpoImageFile.format, _save) +Image.register_save_all(MpoImageFile.format, _save_all) + +Image.register_extension(MpoImageFile.format, ".mpo") + +Image.register_mime(MpoImageFile.format, "image/mpo") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/MspImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/MspImagePlugin.py new file mode 100644 index 0000000..fa0f52f --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/MspImagePlugin.py @@ -0,0 +1,200 @@ +# +# The Python Imaging Library. +# +# MSP file handling +# +# This is the format used by the Paint program in Windows 1 and 2. +# +# History: +# 95-09-05 fl Created +# 97-01-03 fl Read/write MSP images +# 17-02-21 es Fixed RLE interpretation +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995-97. +# Copyright (c) Eric Soroos 2017. +# +# See the README file for information on usage and redistribution. +# +# More info on this format: https://archive.org/details/gg243631 +# Page 313: +# Figure 205. Windows Paint Version 1: "DanM" Format +# Figure 206. Windows Paint Version 2: "LinS" Format. Used in Windows V2.03 +# +# See also: https://www.fileformat.info/format/mspaint/egff.htm +from __future__ import annotations + +import io +import struct +from typing import IO + +from . import Image, ImageFile +from ._binary import i16le as i16 +from ._binary import o16le as o16 + +# +# read MSP files + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith((b"DanM", b"LinS")) + + +## +# Image plugin for Windows MSP images. This plugin supports both +# uncompressed (Windows 1.0). + + +class MspImageFile(ImageFile.ImageFile): + format = "MSP" + format_description = "Windows Paint" + + def _open(self) -> None: + # Header + assert self.fp is not None + + s = self.fp.read(32) + if not _accept(s): + msg = "not an MSP file" + raise SyntaxError(msg) + + # Header checksum + checksum = 0 + for i in range(0, 32, 2): + checksum = checksum ^ i16(s, i) + if checksum != 0: + msg = "bad MSP checksum" + raise SyntaxError(msg) + + self._mode = "1" + self._size = i16(s, 4), i16(s, 6) + + if s.startswith(b"DanM"): + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 32, "1")] + else: + self.tile = [ImageFile._Tile("MSP", (0, 0) + self.size, 32)] + + +class MspDecoder(ImageFile.PyDecoder): + # The algo for the MSP decoder is from + # https://www.fileformat.info/format/mspaint/egff.htm + # cc-by-attribution -- That page references is taken from the + # Encyclopedia of Graphics File Formats and is licensed by + # O'Reilly under the Creative Common/Attribution license + # + # For RLE encoded files, the 32byte header is followed by a scan + # line map, encoded as one 16bit word of encoded byte length per + # line. + # + # NOTE: the encoded length of the line can be 0. This was not + # handled in the previous version of this encoder, and there's no + # mention of how to handle it in the documentation. From the few + # examples I've seen, I've assumed that it is a fill of the + # background color, in this case, white. + # + # + # Pseudocode of the decoder: + # Read a BYTE value as the RunType + # If the RunType value is zero + # Read next byte as the RunCount + # Read the next byte as the RunValue + # Write the RunValue byte RunCount times + # If the RunType value is non-zero + # Use this value as the RunCount + # Read and write the next RunCount bytes literally + # + # e.g.: + # 0x00 03 ff 05 00 01 02 03 04 + # would yield the bytes: + # 0xff ff ff 00 01 02 03 04 + # + # which are then interpreted as a bit packed mode '1' image + + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + img = io.BytesIO() + blank_line = bytearray((0xFF,) * ((self.state.xsize + 7) // 8)) + try: + self.fd.seek(32) + rowmap = struct.unpack_from( + f"<{self.state.ysize}H", self.fd.read(self.state.ysize * 2) + ) + except struct.error as e: + msg = "Truncated MSP file in row map" + raise OSError(msg) from e + + for x, rowlen in enumerate(rowmap): + try: + if rowlen == 0: + img.write(blank_line) + continue + row = self.fd.read(rowlen) + if len(row) != rowlen: + msg = f"Truncated MSP file, expected {rowlen} bytes on row {x}" + raise OSError(msg) + idx = 0 + while idx < rowlen: + runtype = row[idx] + idx += 1 + if runtype == 0: + runcount, runval = struct.unpack_from("Bc", row, idx) + img.write(runval * runcount) + idx += 2 + else: + runcount = runtype + img.write(row[idx : idx + runcount]) + idx += runcount + + except struct.error as e: + msg = f"Corrupted MSP file in row {x}" + raise OSError(msg) from e + + self.set_as_raw(img.getvalue(), "1") + + return -1, 0 + + +Image.register_decoder("MSP", MspDecoder) + + +# +# write MSP files (uncompressed only) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "1": + msg = f"cannot write mode {im.mode} as MSP" + raise OSError(msg) + + # create MSP header + header = [0] * 16 + + header[0], header[1] = i16(b"Da"), i16(b"nM") # version 1 + header[2], header[3] = im.size + header[4], header[5] = 1, 1 + header[6], header[7] = 1, 1 + header[8], header[9] = im.size + + checksum = 0 + for h in header: + checksum = checksum ^ h + header[12] = checksum # FIXME: is this the right field? + + # header + for h in header: + fp.write(o16(h)) + + # image body + ImageFile._save(im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 32, "1")]) + + +# +# registry + +Image.register_open(MspImageFile.format, MspImageFile, _accept) +Image.register_save(MspImageFile.format, _save) + +Image.register_extension(MspImageFile.format, ".msp") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PSDraw.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PSDraw.py new file mode 100644 index 0000000..e6b74a9 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PSDraw.py @@ -0,0 +1,238 @@ +# +# The Python Imaging Library +# $Id$ +# +# Simple PostScript graphics interface +# +# History: +# 1996-04-20 fl Created +# 1999-01-10 fl Added gsave/grestore to image method +# 2005-05-04 fl Fixed floating point issue in image (from Eric Etheridge) +# +# Copyright (c) 1997-2005 by Secret Labs AB. All rights reserved. +# Copyright (c) 1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from typing import IO + +from . import EpsImagePlugin + +TYPE_CHECKING = False + + +## +# Simple PostScript graphics interface. + + +class PSDraw: + """ + Sets up printing to the given file. If ``fp`` is omitted, + ``sys.stdout.buffer`` is assumed. + """ + + def __init__(self, fp: IO[bytes] | None = None) -> None: + if not fp: + fp = sys.stdout.buffer + self.fp = fp + + def begin_document(self, id: str | None = None) -> None: + """Set up printing of a document. (Write PostScript DSC header.)""" + # FIXME: incomplete + self.fp.write( + b"%!PS-Adobe-3.0\n" + b"save\n" + b"/showpage { } def\n" + b"%%EndComments\n" + b"%%BeginDocument\n" + ) + # self.fp.write(ERROR_PS) # debugging! + self.fp.write(EDROFF_PS) + self.fp.write(VDI_PS) + self.fp.write(b"%%EndProlog\n") + self.isofont: dict[bytes, int] = {} + + def end_document(self) -> None: + """Ends printing. (Write PostScript DSC footer.)""" + self.fp.write(b"%%EndDocument\nrestore showpage\n%%End\n") + if hasattr(self.fp, "flush"): + self.fp.flush() + + def setfont(self, font: str, size: int) -> None: + """ + Selects which font to use. + + :param font: A PostScript font name + :param size: Size in points. + """ + font_bytes = bytes(font, "UTF-8") + if font_bytes not in self.isofont: + # reencode font + self.fp.write( + b"/PSDraw-%s ISOLatin1Encoding /%s E\n" % (font_bytes, font_bytes) + ) + self.isofont[font_bytes] = 1 + # rough + self.fp.write(b"/F0 %d /PSDraw-%s F\n" % (size, font_bytes)) + + def line(self, xy0: tuple[int, int], xy1: tuple[int, int]) -> None: + """ + Draws a line between the two points. Coordinates are given in + PostScript point coordinates (72 points per inch, (0, 0) is the lower + left corner of the page). + """ + self.fp.write(b"%d %d %d %d Vl\n" % (*xy0, *xy1)) + + def rectangle(self, box: tuple[int, int, int, int]) -> None: + """ + Draws a rectangle. + + :param box: A tuple of four integers, specifying left, bottom, width and + height. + """ + self.fp.write(b"%d %d M 0 %d %d Vr\n" % box) + + def text(self, xy: tuple[int, int], text: str) -> None: + """ + Draws text at the given position. You must use + :py:meth:`~PIL.PSDraw.PSDraw.setfont` before calling this method. + """ + # The font is loaded as ISOLatin1Encoding, so use latin-1 here. + text_bytes = bytes(text, "latin-1") + text_bytes = b"\\(".join(text_bytes.split(b"(")) + text_bytes = b"\\)".join(text_bytes.split(b")")) + self.fp.write(b"%d %d M (%s) S\n" % (xy + (text_bytes,))) + + if TYPE_CHECKING: + from . import Image + + def image( + self, box: tuple[int, int, int, int], im: Image.Image, dpi: int | None = None + ) -> None: + """Draw a PIL image, centered in the given box.""" + # default resolution depends on mode + if not dpi: + if im.mode == "1": + dpi = 200 # fax + else: + dpi = 100 # grayscale + # image size (on paper) + x = im.size[0] * 72 / dpi + y = im.size[1] * 72 / dpi + # max allowed size + xmax = float(box[2] - box[0]) + ymax = float(box[3] - box[1]) + if x > xmax: + y = y * xmax / x + x = xmax + if y > ymax: + x = x * ymax / y + y = ymax + dx = (xmax - x) / 2 + box[0] + dy = (ymax - y) / 2 + box[1] + self.fp.write(b"gsave\n%f %f translate\n" % (dx, dy)) + if (x, y) != im.size: + # EpsImagePlugin._save prints the image at (0,0,xsize,ysize) + sx = x / im.size[0] + sy = y / im.size[1] + self.fp.write(b"%f %f scale\n" % (sx, sy)) + EpsImagePlugin._save(im, self.fp, "", 0) + self.fp.write(b"\ngrestore\n") + + +# -------------------------------------------------------------------- +# PostScript driver + +# +# EDROFF.PS -- PostScript driver for Edroff 2 +# +# History: +# 94-01-25 fl: created (edroff 2.04) +# +# Copyright (c) Fredrik Lundh 1994. +# + + +EDROFF_PS = b"""\ +/S { show } bind def +/P { moveto show } bind def +/M { moveto } bind def +/X { 0 rmoveto } bind def +/Y { 0 exch rmoveto } bind def +/E { findfont + dup maxlength dict begin + { + 1 index /FID ne { def } { pop pop } ifelse + } forall + /Encoding exch def + dup /FontName exch def + currentdict end definefont pop +} bind def +/F { findfont exch scalefont dup setfont + [ exch /setfont cvx ] cvx bind def +} bind def +""" + +# +# VDI.PS -- PostScript driver for VDI meta commands +# +# History: +# 94-01-25 fl: created (edroff 2.04) +# +# Copyright (c) Fredrik Lundh 1994. +# + +VDI_PS = b"""\ +/Vm { moveto } bind def +/Va { newpath arcn stroke } bind def +/Vl { moveto lineto stroke } bind def +/Vc { newpath 0 360 arc closepath } bind def +/Vr { exch dup 0 rlineto + exch dup 0 exch rlineto + exch neg 0 rlineto + 0 exch neg rlineto + setgray fill } bind def +/Tm matrix def +/Ve { Tm currentmatrix pop + translate scale newpath 0 0 .5 0 360 arc closepath + Tm setmatrix +} bind def +/Vf { currentgray exch setgray fill setgray } bind def +""" + +# +# ERROR.PS -- Error handler +# +# History: +# 89-11-21 fl: created (pslist 1.10) +# + +ERROR_PS = b"""\ +/landscape false def +/errorBUF 200 string def +/errorNL { currentpoint 10 sub exch pop 72 exch moveto } def +errordict begin /handleerror { + initmatrix /Courier findfont 10 scalefont setfont + newpath 72 720 moveto $error begin /newerror false def + (PostScript Error) show errorNL errorNL + (Error: ) show + /errorname load errorBUF cvs show errorNL errorNL + (Command: ) show + /command load dup type /stringtype ne { errorBUF cvs } if show + errorNL errorNL + (VMstatus: ) show + vmstatus errorBUF cvs show ( bytes available, ) show + errorBUF cvs show ( bytes used at level ) show + errorBUF cvs show errorNL errorNL + (Operand stargck: ) show errorNL /ostargck load { + dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL + } forall errorNL + (Execution stargck: ) show errorNL /estargck load { + dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL + } forall + end showpage +} def end +""" diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PaletteFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PaletteFile.py new file mode 100644 index 0000000..2a26e5d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PaletteFile.py @@ -0,0 +1,54 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read simple, teragon-style palette files +# +# History: +# 97-08-23 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from ._binary import o8 + + +class PaletteFile: + """File handler for Teragon-style palette files.""" + + rawmode = "RGB" + + def __init__(self, fp: IO[bytes]) -> None: + palette = [o8(i) * 3 for i in range(256)] + + while True: + s = fp.readline() + + if not s: + break + if s.startswith(b"#"): + continue + if len(s) > 100: + msg = "bad palette file" + raise SyntaxError(msg) + + v = [int(x) for x in s.split()] + try: + [i, r, g, b] = v + except ValueError: + [i, r] = v + g = b = r + + if 0 <= i <= 255: + palette[i] = o8(r) + o8(g) + o8(b) + + self.palette = b"".join(palette) + + def getpalette(self) -> tuple[bytes, str]: + return self.palette, self.rawmode diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PalmImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PalmImagePlugin.py new file mode 100644 index 0000000..232adf3 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PalmImagePlugin.py @@ -0,0 +1,217 @@ +# +# The Python Imaging Library. +# $Id$ +# + +## +# Image plugin for Palm pixmap images (output only). +## +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import o8 +from ._binary import o16be as o16b + +# fmt: off +_Palm8BitColormapValues = ( + (255, 255, 255), (255, 204, 255), (255, 153, 255), (255, 102, 255), + (255, 51, 255), (255, 0, 255), (255, 255, 204), (255, 204, 204), + (255, 153, 204), (255, 102, 204), (255, 51, 204), (255, 0, 204), + (255, 255, 153), (255, 204, 153), (255, 153, 153), (255, 102, 153), + (255, 51, 153), (255, 0, 153), (204, 255, 255), (204, 204, 255), + (204, 153, 255), (204, 102, 255), (204, 51, 255), (204, 0, 255), + (204, 255, 204), (204, 204, 204), (204, 153, 204), (204, 102, 204), + (204, 51, 204), (204, 0, 204), (204, 255, 153), (204, 204, 153), + (204, 153, 153), (204, 102, 153), (204, 51, 153), (204, 0, 153), + (153, 255, 255), (153, 204, 255), (153, 153, 255), (153, 102, 255), + (153, 51, 255), (153, 0, 255), (153, 255, 204), (153, 204, 204), + (153, 153, 204), (153, 102, 204), (153, 51, 204), (153, 0, 204), + (153, 255, 153), (153, 204, 153), (153, 153, 153), (153, 102, 153), + (153, 51, 153), (153, 0, 153), (102, 255, 255), (102, 204, 255), + (102, 153, 255), (102, 102, 255), (102, 51, 255), (102, 0, 255), + (102, 255, 204), (102, 204, 204), (102, 153, 204), (102, 102, 204), + (102, 51, 204), (102, 0, 204), (102, 255, 153), (102, 204, 153), + (102, 153, 153), (102, 102, 153), (102, 51, 153), (102, 0, 153), + (51, 255, 255), (51, 204, 255), (51, 153, 255), (51, 102, 255), + (51, 51, 255), (51, 0, 255), (51, 255, 204), (51, 204, 204), + (51, 153, 204), (51, 102, 204), (51, 51, 204), (51, 0, 204), + (51, 255, 153), (51, 204, 153), (51, 153, 153), (51, 102, 153), + (51, 51, 153), (51, 0, 153), (0, 255, 255), (0, 204, 255), + (0, 153, 255), (0, 102, 255), (0, 51, 255), (0, 0, 255), + (0, 255, 204), (0, 204, 204), (0, 153, 204), (0, 102, 204), + (0, 51, 204), (0, 0, 204), (0, 255, 153), (0, 204, 153), + (0, 153, 153), (0, 102, 153), (0, 51, 153), (0, 0, 153), + (255, 255, 102), (255, 204, 102), (255, 153, 102), (255, 102, 102), + (255, 51, 102), (255, 0, 102), (255, 255, 51), (255, 204, 51), + (255, 153, 51), (255, 102, 51), (255, 51, 51), (255, 0, 51), + (255, 255, 0), (255, 204, 0), (255, 153, 0), (255, 102, 0), + (255, 51, 0), (255, 0, 0), (204, 255, 102), (204, 204, 102), + (204, 153, 102), (204, 102, 102), (204, 51, 102), (204, 0, 102), + (204, 255, 51), (204, 204, 51), (204, 153, 51), (204, 102, 51), + (204, 51, 51), (204, 0, 51), (204, 255, 0), (204, 204, 0), + (204, 153, 0), (204, 102, 0), (204, 51, 0), (204, 0, 0), + (153, 255, 102), (153, 204, 102), (153, 153, 102), (153, 102, 102), + (153, 51, 102), (153, 0, 102), (153, 255, 51), (153, 204, 51), + (153, 153, 51), (153, 102, 51), (153, 51, 51), (153, 0, 51), + (153, 255, 0), (153, 204, 0), (153, 153, 0), (153, 102, 0), + (153, 51, 0), (153, 0, 0), (102, 255, 102), (102, 204, 102), + (102, 153, 102), (102, 102, 102), (102, 51, 102), (102, 0, 102), + (102, 255, 51), (102, 204, 51), (102, 153, 51), (102, 102, 51), + (102, 51, 51), (102, 0, 51), (102, 255, 0), (102, 204, 0), + (102, 153, 0), (102, 102, 0), (102, 51, 0), (102, 0, 0), + (51, 255, 102), (51, 204, 102), (51, 153, 102), (51, 102, 102), + (51, 51, 102), (51, 0, 102), (51, 255, 51), (51, 204, 51), + (51, 153, 51), (51, 102, 51), (51, 51, 51), (51, 0, 51), + (51, 255, 0), (51, 204, 0), (51, 153, 0), (51, 102, 0), + (51, 51, 0), (51, 0, 0), (0, 255, 102), (0, 204, 102), + (0, 153, 102), (0, 102, 102), (0, 51, 102), (0, 0, 102), + (0, 255, 51), (0, 204, 51), (0, 153, 51), (0, 102, 51), + (0, 51, 51), (0, 0, 51), (0, 255, 0), (0, 204, 0), + (0, 153, 0), (0, 102, 0), (0, 51, 0), (17, 17, 17), + (34, 34, 34), (68, 68, 68), (85, 85, 85), (119, 119, 119), + (136, 136, 136), (170, 170, 170), (187, 187, 187), (221, 221, 221), + (238, 238, 238), (192, 192, 192), (128, 0, 0), (128, 0, 128), + (0, 128, 0), (0, 128, 128), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)) +# fmt: on + + +# so build a prototype image to be used for palette resampling +def build_prototype_image() -> Image.Image: + image = Image.new("L", (1, len(_Palm8BitColormapValues))) + image.putdata(list(range(len(_Palm8BitColormapValues)))) + palettedata: tuple[int, ...] = () + for colormapValue in _Palm8BitColormapValues: + palettedata += colormapValue + palettedata += (0, 0, 0) * (256 - len(_Palm8BitColormapValues)) + image.putpalette(palettedata) + return image + + +Palm8BitColormapImage = build_prototype_image() + +# OK, we now have in Palm8BitColormapImage, +# a "P"-mode image with the right palette +# +# -------------------------------------------------------------------- + +_FLAGS = {"custom-colormap": 0x4000, "is-compressed": 0x8000, "has-transparent": 0x2000} + +_COMPRESSION_TYPES = {"none": 0xFF, "rle": 0x01, "scanline": 0x00} + + +# +# -------------------------------------------------------------------- + +## +# (Internal) Image save plugin for the Palm format. + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode == "P": + rawmode = "P" + bpp = 8 + version = 1 + + elif im.mode == "L": + if im.encoderinfo.get("bpp") in (1, 2, 4): + # this is 8-bit grayscale, so we shift it to get the high-order bits, + # and invert it because + # Palm does grayscale from white (0) to black (1) + bpp = im.encoderinfo["bpp"] + maxval = (1 << bpp) - 1 + shift = 8 - bpp + im = im.point(lambda x: maxval - (x >> shift)) + elif im.info.get("bpp") in (1, 2, 4): + # here we assume that even though the inherent mode is 8-bit grayscale, + # only the lower bpp bits are significant. + # We invert them to match the Palm. + bpp = im.info["bpp"] + maxval = (1 << bpp) - 1 + im = im.point(lambda x: maxval - (x & maxval)) + else: + msg = f"cannot write mode {im.mode} as Palm" + raise OSError(msg) + + # we ignore the palette here + im._mode = "P" + rawmode = f"P;{bpp}" + version = 1 + + elif im.mode == "1": + # monochrome -- write it inverted, as is the Palm standard + rawmode = "1;I" + bpp = 1 + version = 0 + + else: + msg = f"cannot write mode {im.mode} as Palm" + raise OSError(msg) + + # + # make sure image data is available + im.load() + + # write header + + cols = im.size[0] + rows = im.size[1] + + rowbytes = int((cols + (16 // bpp - 1)) / (16 // bpp)) * 2 + transparent_index = 0 + compression_type = _COMPRESSION_TYPES["none"] + + flags = 0 + if im.mode == "P": + flags |= _FLAGS["custom-colormap"] + colormap = im.im.getpalette() + colors = len(colormap) // 3 + colormapsize = 4 * colors + 2 + else: + colormapsize = 0 + + if "offset" in im.info: + offset = (rowbytes * rows + 16 + 3 + colormapsize) // 4 + else: + offset = 0 + + fp.write(o16b(cols) + o16b(rows) + o16b(rowbytes) + o16b(flags)) + fp.write(o8(bpp)) + fp.write(o8(version)) + fp.write(o16b(offset)) + fp.write(o8(transparent_index)) + fp.write(o8(compression_type)) + fp.write(o16b(0)) # reserved by Palm + + # now write colormap if necessary + + if colormapsize: + fp.write(o16b(colors)) + for i in range(colors): + fp.write(o8(i)) + fp.write(colormap[3 * i : 3 * i + 3]) + + # now convert data to raw form + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, rowbytes, 1))] + ) + + if hasattr(fp, "flush"): + fp.flush() + + +# +# -------------------------------------------------------------------- + +Image.register_save("PALM", _save) + +Image.register_extension("PALM", ".palm") + +Image.register_mime("PALM", "image/palm") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PcdImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PcdImagePlugin.py new file mode 100644 index 0000000..296f377 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PcdImagePlugin.py @@ -0,0 +1,68 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PCD file handling +# +# History: +# 96-05-10 fl Created +# 96-05-27 fl Added draft mode (128x192, 256x384) +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile + +## +# Image plugin for PhotoCD images. This plugin only reads the 768x512 +# image from the file; higher resolutions are encoded in a proprietary +# encoding. + + +class PcdImageFile(ImageFile.ImageFile): + format = "PCD" + format_description = "Kodak PhotoCD" + + def _open(self) -> None: + # rough + assert self.fp is not None + + self.fp.seek(2048) + s = self.fp.read(1539) + + if not s.startswith(b"PCD_"): + msg = "not a PCD file" + raise SyntaxError(msg) + + orientation = s[1538] & 3 + self.tile_post_rotate = None + if orientation == 1: + self.tile_post_rotate = 90 + elif orientation == 3: + self.tile_post_rotate = 270 + + self._mode = "RGB" + self._size = (512, 768) if orientation in (1, 3) else (768, 512) + self.tile = [ImageFile._Tile("pcd", (0, 0, 768, 512), 96 * 2048)] + + def load_prepare(self) -> None: + if self._im is None and self.tile_post_rotate: + self.im = Image.core.new(self.mode, (768, 512)) + ImageFile.ImageFile.load_prepare(self) + + def load_end(self) -> None: + if self.tile_post_rotate: + # Handle rotated PCDs + self.im = self.rotate(self.tile_post_rotate, expand=True).im + + +# +# registry + +Image.register_open(PcdImageFile.format, PcdImageFile) + +Image.register_extension(PcdImageFile.format, ".pcd") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PcfFontFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PcfFontFile.py new file mode 100644 index 0000000..b923293 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PcfFontFile.py @@ -0,0 +1,258 @@ +# +# THIS IS WORK IN PROGRESS +# +# The Python Imaging Library +# $Id$ +# +# portable compiled font file parser +# +# history: +# 1997-08-19 fl created +# 2003-09-13 fl fixed loading of unicode fonts +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1997-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io + +from . import FontFile, Image +from ._binary import i8 +from ._binary import i16be as b16 +from ._binary import i16le as l16 +from ._binary import i32be as b32 +from ._binary import i32le as l32 + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from typing import BinaryIO + +# -------------------------------------------------------------------- +# declarations + +PCF_MAGIC = 0x70636601 # "\x01fcp" + +PCF_PROPERTIES = 1 << 0 +PCF_ACCELERATORS = 1 << 1 +PCF_METRICS = 1 << 2 +PCF_BITMAPS = 1 << 3 +PCF_INK_METRICS = 1 << 4 +PCF_BDF_ENCODINGS = 1 << 5 +PCF_SWIDTHS = 1 << 6 +PCF_GLYPH_NAMES = 1 << 7 +PCF_BDF_ACCELERATORS = 1 << 8 + +BYTES_PER_ROW: list[Callable[[int], int]] = [ + lambda bits: ((bits + 7) >> 3), + lambda bits: ((bits + 15) >> 3) & ~1, + lambda bits: ((bits + 31) >> 3) & ~3, + lambda bits: ((bits + 63) >> 3) & ~7, +] + + +def sz(s: bytes, o: int) -> bytes: + return s[o : s.index(b"\0", o)] + + +class PcfFontFile(FontFile.FontFile): + """Font file plugin for the X11 PCF format.""" + + name = "name" + + def __init__(self, fp: BinaryIO, charset_encoding: str = "iso8859-1"): + self.charset_encoding = charset_encoding + + magic = l32(fp.read(4)) + if magic != PCF_MAGIC: + msg = "not a PCF file" + raise SyntaxError(msg) + + super().__init__() + + count = l32(fp.read(4)) + self.toc = {} + for i in range(count): + type = l32(fp.read(4)) + self.toc[type] = l32(fp.read(4)), l32(fp.read(4)), l32(fp.read(4)) + + self.fp = fp + + self.info = self._load_properties() + + metrics = self._load_metrics() + bitmaps = self._load_bitmaps(metrics) + encoding = self._load_encoding() + + # + # create glyph structure + + for ch, ix in enumerate(encoding): + if ix is not None: + ( + xsize, + ysize, + left, + right, + width, + ascent, + descent, + attributes, + ) = metrics[ix] + self.glyph[ch] = ( + (width, 0), + (left, descent - ysize, xsize + left, descent), + (0, 0, xsize, ysize), + bitmaps[ix], + ) + + def _getformat( + self, tag: int + ) -> tuple[BinaryIO, int, Callable[[bytes], int], Callable[[bytes], int]]: + format, size, offset = self.toc[tag] + + fp = self.fp + fp.seek(offset) + + format = l32(fp.read(4)) + + if format & 4: + i16, i32 = b16, b32 + else: + i16, i32 = l16, l32 + + return fp, format, i16, i32 + + def _load_properties(self) -> dict[bytes, bytes | int]: + # + # font properties + + properties = {} + + fp, format, i16, i32 = self._getformat(PCF_PROPERTIES) + + nprops = i32(fp.read(4)) + + # read property description + p = [(i32(fp.read(4)), i8(fp.read(1)), i32(fp.read(4))) for _ in range(nprops)] + + if nprops & 3: + fp.seek(4 - (nprops & 3), io.SEEK_CUR) # pad + + data = fp.read(i32(fp.read(4))) + + for k, s, v in p: + property_value: bytes | int = sz(data, v) if s else v + properties[sz(data, k)] = property_value + + return properties + + def _load_metrics(self) -> list[tuple[int, int, int, int, int, int, int, int]]: + # + # font metrics + + metrics: list[tuple[int, int, int, int, int, int, int, int]] = [] + + fp, format, i16, i32 = self._getformat(PCF_METRICS) + + append = metrics.append + + if (format & 0xFF00) == 0x100: + # "compressed" metrics + for i in range(i16(fp.read(2))): + left = i8(fp.read(1)) - 128 + right = i8(fp.read(1)) - 128 + width = i8(fp.read(1)) - 128 + ascent = i8(fp.read(1)) - 128 + descent = i8(fp.read(1)) - 128 + xsize = right - left + ysize = ascent + descent + append((xsize, ysize, left, right, width, ascent, descent, 0)) + + else: + # "jumbo" metrics + for i in range(i32(fp.read(4))): + left = i16(fp.read(2)) + right = i16(fp.read(2)) + width = i16(fp.read(2)) + ascent = i16(fp.read(2)) + descent = i16(fp.read(2)) + attributes = i16(fp.read(2)) + xsize = right - left + ysize = ascent + descent + append((xsize, ysize, left, right, width, ascent, descent, attributes)) + + return metrics + + def _load_bitmaps( + self, metrics: list[tuple[int, int, int, int, int, int, int, int]] + ) -> list[Image.Image]: + # + # bitmap data + + fp, format, i16, i32 = self._getformat(PCF_BITMAPS) + + nbitmaps = i32(fp.read(4)) + + if nbitmaps != len(metrics): + msg = "Wrong number of bitmaps" + raise OSError(msg) + + offsets = [i32(fp.read(4)) for _ in range(nbitmaps)] + + bitmap_sizes = [i32(fp.read(4)) for _ in range(4)] + + # byteorder = format & 4 # non-zero => MSB + bitorder = format & 8 # non-zero => MSB + padindex = format & 3 + + bitmapsize = bitmap_sizes[padindex] + offsets.append(bitmapsize) + + data = fp.read(bitmapsize) + + pad = BYTES_PER_ROW[padindex] + mode = "1;R" + if bitorder: + mode = "1" + + bitmaps = [] + for i in range(nbitmaps): + xsize, ysize = metrics[i][:2] + b, e = offsets[i : i + 2] + bitmaps.append( + Image.frombytes("1", (xsize, ysize), data[b:e], "raw", mode, pad(xsize)) + ) + + return bitmaps + + def _load_encoding(self) -> list[int | None]: + fp, format, i16, i32 = self._getformat(PCF_BDF_ENCODINGS) + + first_col, last_col = i16(fp.read(2)), i16(fp.read(2)) + first_row, last_row = i16(fp.read(2)), i16(fp.read(2)) + + i16(fp.read(2)) # default + + nencoding = (last_col - first_col + 1) * (last_row - first_row + 1) + + # map character code to bitmap index + encoding: list[int | None] = [None] * min(256, nencoding) + + encoding_offsets = [i16(fp.read(2)) for _ in range(nencoding)] + + for i in range(first_col, len(encoding)): + try: + encoding_offset = encoding_offsets[ + ord(bytearray([i]).decode(self.charset_encoding)) + ] + if encoding_offset != 0xFFFF: + encoding[i] = encoding_offset + except UnicodeDecodeError: # noqa: PERF203 + # character is not supported in selected encoding + pass + + return encoding diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PcxImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PcxImagePlugin.py new file mode 100644 index 0000000..3e34e3c --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PcxImagePlugin.py @@ -0,0 +1,232 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PCX file handling +# +# This format was originally used by ZSoft's popular PaintBrush +# program for the IBM PC. It is also supported by many MS-DOS and +# Windows applications, including the Windows PaintBrush program in +# Windows 3. +# +# history: +# 1995-09-01 fl Created +# 1996-05-20 fl Fixed RGB support +# 1997-01-03 fl Fixed 2-bit and 4-bit support +# 1999-02-03 fl Fixed 8-bit support (broken in 1.0b1) +# 1999-02-07 fl Added write support +# 2002-06-09 fl Made 2-bit and 4-bit support a bit more robust +# 2002-07-30 fl Seek from to current position, not beginning of file +# 2003-06-03 fl Extract DPI settings (info["dpi"]) +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import logging +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 + +logger = logging.getLogger(__name__) + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 2 and prefix[0] == 10 and prefix[1] in [0, 2, 3, 5] + + +## +# Image plugin for Paintbrush images. + + +class PcxImageFile(ImageFile.ImageFile): + format = "PCX" + format_description = "Paintbrush" + + def _open(self) -> None: + # header + assert self.fp is not None + + s = self.fp.read(68) + if not _accept(s): + msg = "not a PCX file" + raise SyntaxError(msg) + + # image + bbox = i16(s, 4), i16(s, 6), i16(s, 8) + 1, i16(s, 10) + 1 + if bbox[2] <= bbox[0] or bbox[3] <= bbox[1]: + msg = "bad PCX image size" + raise SyntaxError(msg) + logger.debug("BBox: %s %s %s %s", *bbox) + + offset = self.fp.tell() + 60 + + # format + version = s[1] + bits = s[3] + planes = s[65] + provided_stride = i16(s, 66) + logger.debug( + "PCX version %s, bits %s, planes %s, stride %s", + version, + bits, + planes, + provided_stride, + ) + + self.info["dpi"] = i16(s, 12), i16(s, 14) + + if bits == 1 and planes == 1: + mode = rawmode = "1" + + elif bits == 1 and planes in (2, 4): + mode = "P" + rawmode = f"P;{planes}L" + self.palette = ImagePalette.raw("RGB", s[16:64]) + + elif version == 5 and bits == 8 and planes == 1: + mode = rawmode = "L" + # FIXME: hey, this doesn't work with the incremental loader !!! + self.fp.seek(-769, io.SEEK_END) + s = self.fp.read(769) + if len(s) == 769 and s[0] == 12: + # check if the palette is linear grayscale + for i in range(256): + if s[i * 3 + 1 : i * 3 + 4] != o8(i) * 3: + mode = rawmode = "P" + break + if mode == "P": + self.palette = ImagePalette.raw("RGB", s[1:]) + + elif version == 5 and bits == 8 and planes == 3: + mode = "RGB" + rawmode = "RGB;L" + + else: + msg = "unknown PCX mode" + raise OSError(msg) + + self._mode = mode + self._size = bbox[2] - bbox[0], bbox[3] - bbox[1] + + # Don't trust the passed in stride. + # Calculate the approximate position for ourselves. + # CVE-2020-35653 + stride = (self._size[0] * bits + 7) // 8 + + # While the specification states that this must be even, + # not all images follow this + if provided_stride != stride: + stride += stride % 2 + + bbox = (0, 0) + self.size + logger.debug("size: %sx%s", *self.size) + + self.tile = [ImageFile._Tile("pcx", bbox, offset, (rawmode, planes * stride))] + + +# -------------------------------------------------------------------- +# save PCX files + + +SAVE = { + # mode: (version, bits, planes, raw mode) + "1": (2, 1, 1, "1"), + "L": (5, 8, 1, "L"), + "P": (5, 8, 1, "P"), + "RGB": (5, 8, 3, "RGB;L"), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.width == 0 or im.height == 0: + msg = "Cannot write empty image as PCX" + raise ValueError(msg) + + try: + version, bits, planes, rawmode = SAVE[im.mode] + except KeyError as e: + msg = f"Cannot save {im.mode} images as PCX" + raise ValueError(msg) from e + + # bytes per plane + stride = (im.size[0] * bits + 7) // 8 + # stride should be even + stride += stride % 2 + # Stride needs to be kept in sync with the PcxEncode.c version. + # Ideally it should be passed in in the state, but the bytes value + # gets overwritten. + + logger.debug( + "PcxImagePlugin._save: xwidth: %d, bits: %d, stride: %d", + im.size[0], + bits, + stride, + ) + + # under windows, we could determine the current screen size with + # "Image.core.display_mode()[1]", but I think that's overkill... + + screen = im.size + + dpi = 100, 100 + + # PCX header + fp.write( + o8(10) + + o8(version) + + o8(1) + + o8(bits) + + o16(0) + + o16(0) + + o16(im.size[0] - 1) + + o16(im.size[1] - 1) + + o16(dpi[0]) + + o16(dpi[1]) + + b"\0" * 24 + + b"\xff" * 24 + + b"\0" + + o8(planes) + + o16(stride) + + o16(1) + + o16(screen[0]) + + o16(screen[1]) + + b"\0" * 54 + ) + + assert fp.tell() == 128 + + ImageFile._save( + im, fp, [ImageFile._Tile("pcx", (0, 0) + im.size, 0, (rawmode, bits * planes))] + ) + + if im.mode == "P": + # colour palette + fp.write(o8(12)) + palette = im.im.getpalette("RGB", "RGB") + palette += b"\x00" * (768 - len(palette)) + fp.write(palette) # 768 bytes + elif im.mode == "L": + # grayscale palette + fp.write(o8(12)) + for i in range(256): + fp.write(o8(i) * 3) + + +# -------------------------------------------------------------------- +# registry + + +Image.register_open(PcxImageFile.format, PcxImageFile, _accept) +Image.register_save(PcxImageFile.format, _save) + +Image.register_extension(PcxImageFile.format, ".pcx") + +Image.register_mime(PcxImageFile.format, "image/x-pcx") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PdfImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PdfImagePlugin.py new file mode 100644 index 0000000..5594c7e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PdfImagePlugin.py @@ -0,0 +1,311 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PDF (Acrobat) file handling +# +# History: +# 1996-07-16 fl Created +# 1997-01-18 fl Fixed header +# 2004-02-21 fl Fixes for 1/L/CMYK images, etc. +# 2004-02-24 fl Fixes for 1 and P images. +# +# Copyright (c) 1997-2004 by Secret Labs AB. All rights reserved. +# Copyright (c) 1996-1997 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +## +# Image plugin for PDF images (output only). +## +from __future__ import annotations + +import io +import math +import os +import time +from typing import IO, Any + +from . import Image, ImageFile, ImageSequence, PdfParser, features + +# +# -------------------------------------------------------------------- + +# object ids: +# 1. catalogue +# 2. pages +# 3. image +# 4. page +# 5. page contents + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +## +# (Internal) Image save plugin for the PDF format. + + +def _write_image( + im: Image.Image, + filename: str | bytes, + existing_pdf: PdfParser.PdfParser, + image_refs: list[PdfParser.IndirectReference], +) -> tuple[PdfParser.IndirectReference, str]: + # FIXME: Should replace ASCIIHexDecode with RunLengthDecode + # (packbits) or LZWDecode (tiff/lzw compression). Note that + # PDF 1.2 also supports Flatedecode (zip compression). + + params = None + decode = None + + # + # Get image characteristics + + width, height = im.size + + dict_obj: dict[str, Any] = {"BitsPerComponent": 8} + if im.mode == "1": + if features.check("libtiff"): + decode_filter = "CCITTFaxDecode" + dict_obj["BitsPerComponent"] = 1 + params = PdfParser.PdfArray( + [ + PdfParser.PdfDict( + { + "K": -1, + "BlackIs1": True, + "Columns": width, + "Rows": height, + } + ) + ] + ) + else: + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceGray") + procset = "ImageB" # grayscale + elif im.mode == "L": + decode_filter = "DCTDecode" + # params = f"<< /Predictor 15 /Columns {width-2} >>" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceGray") + procset = "ImageB" # grayscale + elif im.mode == "LA": + decode_filter = "JPXDecode" + # params = f"<< /Predictor 15 /Columns {width-2} >>" + procset = "ImageB" # grayscale + dict_obj["SMaskInData"] = 1 + elif im.mode == "P": + decode_filter = "ASCIIHexDecode" + palette = im.getpalette() + assert palette is not None + dict_obj["ColorSpace"] = [ + PdfParser.PdfName("Indexed"), + PdfParser.PdfName("DeviceRGB"), + len(palette) // 3 - 1, + PdfParser.PdfBinary(palette), + ] + procset = "ImageI" # indexed color + + if "transparency" in im.info: + smask = im.convert("LA").getchannel("A") + smask.encoderinfo = {} + + image_ref = _write_image(smask, filename, existing_pdf, image_refs)[0] + dict_obj["SMask"] = image_ref + elif im.mode == "RGB": + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceRGB") + procset = "ImageC" # color images + elif im.mode == "RGBA": + decode_filter = "JPXDecode" + procset = "ImageC" # color images + dict_obj["SMaskInData"] = 1 + elif im.mode == "CMYK": + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceCMYK") + procset = "ImageC" # color images + decode = [1, 0, 1, 0, 1, 0, 1, 0] + else: + msg = f"cannot save mode {im.mode}" + raise ValueError(msg) + + # + # image + + op = io.BytesIO() + + if decode_filter == "ASCIIHexDecode": + ImageFile._save(im, op, [ImageFile._Tile("hex", (0, 0) + im.size, 0, im.mode)]) + elif decode_filter == "CCITTFaxDecode": + im.save( + op, + "TIFF", + compression="group4", + # use a single strip + strip_size=math.ceil(width / 8) * height, + ) + elif decode_filter == "DCTDecode": + Image.SAVE["JPEG"](im, op, filename) + elif decode_filter == "JPXDecode": + del dict_obj["BitsPerComponent"] + Image.SAVE["JPEG2000"](im, op, filename) + else: + msg = f"unsupported PDF filter ({decode_filter})" + raise ValueError(msg) + + stream = op.getvalue() + filter: PdfParser.PdfArray | PdfParser.PdfName + if decode_filter == "CCITTFaxDecode": + stream = stream[8:] + filter = PdfParser.PdfArray([PdfParser.PdfName(decode_filter)]) + else: + filter = PdfParser.PdfName(decode_filter) + + image_ref = image_refs.pop(0) + existing_pdf.write_obj( + image_ref, + stream=stream, + Type=PdfParser.PdfName("XObject"), + Subtype=PdfParser.PdfName("Image"), + Width=width, # * 72.0 / x_resolution, + Height=height, # * 72.0 / y_resolution, + Filter=filter, + Decode=decode, + DecodeParms=params, + **dict_obj, + ) + + return image_ref, procset + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, save_all: bool = False +) -> None: + is_appending = im.encoderinfo.get("append", False) + filename_str = filename.decode() if isinstance(filename, bytes) else filename + if is_appending: + existing_pdf = PdfParser.PdfParser(f=fp, filename=filename_str, mode="r+b") + else: + existing_pdf = PdfParser.PdfParser(f=fp, filename=filename_str, mode="w+b") + + dpi = im.encoderinfo.get("dpi") + if dpi: + x_resolution = dpi[0] + y_resolution = dpi[1] + else: + x_resolution = y_resolution = im.encoderinfo.get("resolution", 72.0) + + info = { + "title": ( + None if is_appending else os.path.splitext(os.path.basename(filename))[0] + ), + "author": None, + "subject": None, + "keywords": None, + "creator": None, + "producer": None, + "creationDate": None if is_appending else time.gmtime(), + "modDate": None if is_appending else time.gmtime(), + } + for k, default in info.items(): + v = im.encoderinfo.get(k) if k in im.encoderinfo else default + if v: + existing_pdf.info[k[0].upper() + k[1:]] = v + + # + # make sure image data is available + im.load() + + existing_pdf.start_writing() + existing_pdf.write_header() + existing_pdf.write_comment("created by Pillow PDF driver") + + # + # pages + ims = [im] + if save_all: + append_images = im.encoderinfo.get("append_images", []) + for append_im in append_images: + append_im.encoderinfo = im.encoderinfo.copy() + ims.append(append_im) + number_of_pages = 0 + image_refs = [] + page_refs = [] + contents_refs = [] + for im in ims: + im_number_of_pages = 1 + if save_all: + im_number_of_pages = getattr(im, "n_frames", 1) + number_of_pages += im_number_of_pages + for i in range(im_number_of_pages): + image_refs.append(existing_pdf.next_object_id(0)) + if im.mode == "P" and "transparency" in im.info: + image_refs.append(existing_pdf.next_object_id(0)) + + page_refs.append(existing_pdf.next_object_id(0)) + contents_refs.append(existing_pdf.next_object_id(0)) + existing_pdf.pages.append(page_refs[-1]) + + # + # catalog and list of pages + existing_pdf.write_catalog() + + page_number = 0 + for im_sequence in ims: + im_pages: ImageSequence.Iterator | list[Image.Image] = ( + ImageSequence.Iterator(im_sequence) if save_all else [im_sequence] + ) + for im in im_pages: + image_ref, procset = _write_image(im, filename, existing_pdf, image_refs) + + # + # page + + existing_pdf.write_page( + page_refs[page_number], + Resources=PdfParser.PdfDict( + ProcSet=[PdfParser.PdfName("PDF"), PdfParser.PdfName(procset)], + XObject=PdfParser.PdfDict(image=image_ref), + ), + MediaBox=[ + 0, + 0, + im.width * 72.0 / x_resolution, + im.height * 72.0 / y_resolution, + ], + Contents=contents_refs[page_number], + ) + + # + # page contents + + page_contents = b"q %f 0 0 %f 0 0 cm /image Do Q\n" % ( + im.width * 72.0 / x_resolution, + im.height * 72.0 / y_resolution, + ) + + existing_pdf.write_obj(contents_refs[page_number], stream=page_contents) + + page_number += 1 + + # + # trailer + existing_pdf.write_xref_and_trailer() + if hasattr(fp, "flush"): + fp.flush() + existing_pdf.close() + + +# +# -------------------------------------------------------------------- + + +Image.register_save("PDF", _save) +Image.register_save_all("PDF", _save_all) + +Image.register_extension("PDF", ".pdf") + +Image.register_mime("PDF", "application/pdf") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PdfParser.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PdfParser.py new file mode 100644 index 0000000..f7f3a46 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PdfParser.py @@ -0,0 +1,1081 @@ +from __future__ import annotations + +import calendar +import codecs +import collections +import mmap +import os +import re +import time +import zlib +from typing import Any, NamedTuple + +TYPE_CHECKING = False +if TYPE_CHECKING: + from typing import IO + + _DictBase = collections.UserDict[str | bytes, Any] +else: + _DictBase = collections.UserDict + + +# see 7.9.2.2 Text String Type on page 86 and D.3 PDFDocEncoding Character Set +# on page 656 +def encode_text(s: str) -> bytes: + return codecs.BOM_UTF16_BE + s.encode("utf_16_be") + + +PDFDocEncoding = { + 0x16: "\u0017", + 0x18: "\u02d8", + 0x19: "\u02c7", + 0x1A: "\u02c6", + 0x1B: "\u02d9", + 0x1C: "\u02dd", + 0x1D: "\u02db", + 0x1E: "\u02da", + 0x1F: "\u02dc", + 0x80: "\u2022", + 0x81: "\u2020", + 0x82: "\u2021", + 0x83: "\u2026", + 0x84: "\u2014", + 0x85: "\u2013", + 0x86: "\u0192", + 0x87: "\u2044", + 0x88: "\u2039", + 0x89: "\u203a", + 0x8A: "\u2212", + 0x8B: "\u2030", + 0x8C: "\u201e", + 0x8D: "\u201c", + 0x8E: "\u201d", + 0x8F: "\u2018", + 0x90: "\u2019", + 0x91: "\u201a", + 0x92: "\u2122", + 0x93: "\ufb01", + 0x94: "\ufb02", + 0x95: "\u0141", + 0x96: "\u0152", + 0x97: "\u0160", + 0x98: "\u0178", + 0x99: "\u017d", + 0x9A: "\u0131", + 0x9B: "\u0142", + 0x9C: "\u0153", + 0x9D: "\u0161", + 0x9E: "\u017e", + 0xA0: "\u20ac", +} + + +def decode_text(b: bytes) -> str: + if b[: len(codecs.BOM_UTF16_BE)] == codecs.BOM_UTF16_BE: + return b[len(codecs.BOM_UTF16_BE) :].decode("utf_16_be") + else: + return "".join(PDFDocEncoding.get(byte, chr(byte)) for byte in b) + + +class PdfFormatError(RuntimeError): + """An error that probably indicates a syntactic or semantic error in the + PDF file structure""" + + pass + + +def check_format_condition(condition: bool, error_message: str) -> None: + if not condition: + raise PdfFormatError(error_message) + + +class IndirectReferenceTuple(NamedTuple): + object_id: int + generation: int + + +class IndirectReference(IndirectReferenceTuple): + def __str__(self) -> str: + return f"{self.object_id} {self.generation} R" + + def __bytes__(self) -> bytes: + return self.__str__().encode("us-ascii") + + def __eq__(self, other: object) -> bool: + if self.__class__ is not other.__class__: + return False + assert isinstance(other, IndirectReference) + return other.object_id == self.object_id and other.generation == self.generation + + def __ne__(self, other: object) -> bool: + return not (self == other) + + def __hash__(self) -> int: + return hash((self.object_id, self.generation)) + + +class IndirectObjectDef(IndirectReference): + def __str__(self) -> str: + return f"{self.object_id} {self.generation} obj" + + +class XrefTable: + def __init__(self) -> None: + self.existing_entries: dict[int, tuple[int, int]] = ( + {} + ) # object ID => (offset, generation) + self.new_entries: dict[int, tuple[int, int]] = ( + {} + ) # object ID => (offset, generation) + self.deleted_entries = {0: 65536} # object ID => generation + self.reading_finished = False + + def __setitem__(self, key: int, value: tuple[int, int]) -> None: + if self.reading_finished: + self.new_entries[key] = value + else: + self.existing_entries[key] = value + if key in self.deleted_entries: + del self.deleted_entries[key] + + def __getitem__(self, key: int) -> tuple[int, int]: + try: + return self.new_entries[key] + except KeyError: + return self.existing_entries[key] + + def __delitem__(self, key: int) -> None: + if key in self.new_entries: + generation = self.new_entries[key][1] + 1 + del self.new_entries[key] + self.deleted_entries[key] = generation + elif key in self.existing_entries: + generation = self.existing_entries[key][1] + 1 + self.deleted_entries[key] = generation + elif key in self.deleted_entries: + generation = self.deleted_entries[key] + else: + msg = f"object ID {key} cannot be deleted because it doesn't exist" + raise IndexError(msg) + + def __contains__(self, key: int) -> bool: + return key in self.existing_entries or key in self.new_entries + + def __len__(self) -> int: + return len( + set(self.existing_entries.keys()) + | set(self.new_entries.keys()) + | set(self.deleted_entries.keys()) + ) + + def keys(self) -> set[int]: + return ( + set(self.existing_entries.keys()) - set(self.deleted_entries.keys()) + ) | set(self.new_entries.keys()) + + def write(self, f: IO[bytes]) -> int: + keys = sorted(set(self.new_entries.keys()) | set(self.deleted_entries.keys())) + deleted_keys = sorted(set(self.deleted_entries.keys())) + startxref = f.tell() + f.write(b"xref\n") + while keys: + # find a contiguous sequence of object IDs + prev: int | None = None + for index, key in enumerate(keys): + if prev is None or prev + 1 == key: + prev = key + else: + contiguous_keys = keys[:index] + keys = keys[index:] + break + else: + contiguous_keys = keys + keys = [] + f.write(b"%d %d\n" % (contiguous_keys[0], len(contiguous_keys))) + for object_id in contiguous_keys: + if object_id in self.new_entries: + f.write(b"%010d %05d n \n" % self.new_entries[object_id]) + else: + this_deleted_object_id = deleted_keys.pop(0) + check_format_condition( + object_id == this_deleted_object_id, + f"expected the next deleted object ID to be {object_id}, " + f"instead found {this_deleted_object_id}", + ) + try: + next_in_linked_list = deleted_keys[0] + except IndexError: + next_in_linked_list = 0 + f.write( + b"%010d %05d f \n" + % (next_in_linked_list, self.deleted_entries[object_id]) + ) + return startxref + + +class PdfName: + name: bytes + + def __init__(self, name: PdfName | bytes | str) -> None: + if isinstance(name, PdfName): + self.name = name.name + elif isinstance(name, bytes): + self.name = name + else: + self.name = name.encode("us-ascii") + + def name_as_str(self) -> str: + return self.name.decode("us-ascii") + + def __eq__(self, other: object) -> bool: + return ( + isinstance(other, PdfName) and other.name == self.name + ) or other == self.name + + def __hash__(self) -> int: + return hash(self.name) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}({repr(self.name)})" + + @classmethod + def from_pdf_stream(cls, data: bytes) -> PdfName: + return cls(PdfParser.interpret_name(data)) + + allowed_chars = set(range(33, 127)) - {ord(c) for c in "#%/()<>[]{}"} + + def __bytes__(self) -> bytes: + result = bytearray(b"/") + for b in self.name: + if b in self.allowed_chars: + result.append(b) + else: + result.extend(b"#%02X" % b) + return bytes(result) + + +class PdfArray(list[Any]): + def __bytes__(self) -> bytes: + return b"[ " + b" ".join(pdf_repr(x) for x in self) + b" ]" + + +class PdfDict(_DictBase): + def __setattr__(self, key: str, value: Any) -> None: + if key == "data": + collections.UserDict.__setattr__(self, key, value) + else: + self[key.encode("us-ascii")] = value + + def __getattr__(self, key: str) -> str | time.struct_time: + try: + value = self[key.encode("us-ascii")] + except KeyError as e: + raise AttributeError(key) from e + if isinstance(value, bytes): + value = decode_text(value) + if key.endswith("Date"): + if value.startswith("D:"): + value = value[2:] + + relationship = "Z" + if len(value) > 17: + relationship = value[14] + offset = int(value[15:17]) * 60 + if len(value) > 20: + offset += int(value[18:20]) + + format = "%Y%m%d%H%M%S"[: len(value) - 2] + value = time.strptime(value[: len(format) + 2], format) + if relationship in ["+", "-"]: + offset *= 60 + if relationship == "+": + offset *= -1 + value = time.gmtime(calendar.timegm(value) + offset) + return value + + def __bytes__(self) -> bytes: + out = bytearray(b"<<") + for key, value in self.items(): + if value is None: + continue + value = pdf_repr(value) + out.extend(b"\n") + out.extend(bytes(PdfName(key))) + out.extend(b" ") + out.extend(value) + out.extend(b"\n>>") + return bytes(out) + + +class PdfBinary: + def __init__(self, data: list[int] | bytes) -> None: + self.data = data + + def __bytes__(self) -> bytes: + return b"<%s>" % b"".join(b"%02X" % b for b in self.data) + + +class PdfStream: + def __init__(self, dictionary: PdfDict, buf: bytes) -> None: + self.dictionary = dictionary + self.buf = buf + + def decode(self) -> bytes: + try: + filter = self.dictionary[b"Filter"] + except KeyError: + return self.buf + if filter == b"FlateDecode": + try: + expected_length = self.dictionary[b"DL"] + except KeyError: + expected_length = self.dictionary[b"Length"] + return zlib.decompress(self.buf, bufsize=int(expected_length)) + else: + msg = f"stream filter {repr(filter)} unknown/unsupported" + raise NotImplementedError(msg) + + +def pdf_repr(x: Any) -> bytes: + if x is True: + return b"true" + elif x is False: + return b"false" + elif x is None: + return b"null" + elif isinstance(x, (PdfName, PdfDict, PdfArray, PdfBinary)): + return bytes(x) + elif isinstance(x, (int, float)): + return str(x).encode("us-ascii") + elif isinstance(x, time.struct_time): + return b"(D:" + time.strftime("%Y%m%d%H%M%SZ", x).encode("us-ascii") + b")" + elif isinstance(x, dict): + return bytes(PdfDict(x)) + elif isinstance(x, list): + return bytes(PdfArray(x)) + elif isinstance(x, str): + return pdf_repr(encode_text(x)) + elif isinstance(x, bytes): + # XXX escape more chars? handle binary garbage + x = x.replace(b"\\", b"\\\\") + x = x.replace(b"(", b"\\(") + x = x.replace(b")", b"\\)") + return b"(" + x + b")" + else: + return bytes(x) + + +class PdfParser: + """Based on + https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf + Supports PDF up to 1.4 + """ + + def __init__( + self, + filename: str | None = None, + f: IO[bytes] | None = None, + buf: bytes | bytearray | None = None, + start_offset: int = 0, + mode: str = "rb", + ) -> None: + if buf and f: + msg = "specify buf or f or filename, but not both buf and f" + raise RuntimeError(msg) + self.filename = filename + self.buf: bytes | bytearray | mmap.mmap | None = buf + self.f = f + self.start_offset = start_offset + self.should_close_buf = False + self.should_close_file = False + if filename is not None and f is None: + self.f = f = open(filename, mode) + self.should_close_file = True + if f is not None: + self.buf = self.get_buf_from_file(f) + self.should_close_buf = True + if not filename and hasattr(f, "name"): + self.filename = f.name + self.cached_objects: dict[IndirectReference, Any] = {} + self.root_ref: IndirectReference | None + self.info_ref: IndirectReference | None + self.pages_ref: IndirectReference | None + self.last_xref_section_offset: int | None + if self.buf: + self.read_pdf_info() + else: + self.file_size_total = self.file_size_this = 0 + self.root = PdfDict() + self.root_ref = None + self.info = PdfDict() + self.info_ref = None + self.page_tree_root = PdfDict() + self.pages: list[IndirectReference] = [] + self.orig_pages: list[IndirectReference] = [] + self.pages_ref = None + self.last_xref_section_offset = None + self.trailer_dict: dict[bytes, Any] = {} + self.xref_table = XrefTable() + self.xref_table.reading_finished = True + if f: + self.seek_end() + + def __enter__(self) -> PdfParser: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def start_writing(self) -> None: + self.close_buf() + self.seek_end() + + def close_buf(self) -> None: + if isinstance(self.buf, mmap.mmap): + self.buf.close() + self.buf = None + + def close(self) -> None: + if self.should_close_buf: + self.close_buf() + if self.f is not None and self.should_close_file: + self.f.close() + self.f = None + + def seek_end(self) -> None: + assert self.f is not None + self.f.seek(0, os.SEEK_END) + + def write_header(self) -> None: + assert self.f is not None + self.f.write(b"%PDF-1.4\n") + + def write_comment(self, s: str) -> None: + assert self.f is not None + self.f.write(f"% {s}\n".encode()) + + def write_catalog(self) -> IndirectReference: + assert self.f is not None + self.del_root() + self.root_ref = self.next_object_id(self.f.tell()) + self.pages_ref = self.next_object_id(0) + self.rewrite_pages() + self.write_obj(self.root_ref, Type=PdfName(b"Catalog"), Pages=self.pages_ref) + self.write_obj( + self.pages_ref, + Type=PdfName(b"Pages"), + Count=len(self.pages), + Kids=self.pages, + ) + return self.root_ref + + def rewrite_pages(self) -> None: + pages_tree_nodes_to_delete = [] + for i, page_ref in enumerate(self.orig_pages): + page_info = self.cached_objects[page_ref] + del self.xref_table[page_ref.object_id] + pages_tree_nodes_to_delete.append(page_info[PdfName(b"Parent")]) + if page_ref not in self.pages: + # the page has been deleted + continue + # make dict keys into strings for passing to write_page + stringified_page_info = {} + for key, value in page_info.items(): + # key should be a PdfName + stringified_page_info[key.name_as_str()] = value + stringified_page_info["Parent"] = self.pages_ref + new_page_ref = self.write_page(None, **stringified_page_info) + for j, cur_page_ref in enumerate(self.pages): + if cur_page_ref == page_ref: + # replace the page reference with the new one + self.pages[j] = new_page_ref + # delete redundant Pages tree nodes from xref table + for pages_tree_node_ref in pages_tree_nodes_to_delete: + while pages_tree_node_ref: + pages_tree_node = self.cached_objects[pages_tree_node_ref] + if pages_tree_node_ref.object_id in self.xref_table: + del self.xref_table[pages_tree_node_ref.object_id] + pages_tree_node_ref = pages_tree_node.get(b"Parent", None) + self.orig_pages = [] + + def write_xref_and_trailer( + self, new_root_ref: IndirectReference | None = None + ) -> None: + assert self.f is not None + if new_root_ref: + self.del_root() + self.root_ref = new_root_ref + if self.info: + self.info_ref = self.write_obj(None, self.info) + start_xref = self.xref_table.write(self.f) + num_entries = len(self.xref_table) + trailer_dict: dict[str | bytes, Any] = { + b"Root": self.root_ref, + b"Size": num_entries, + } + if self.last_xref_section_offset is not None: + trailer_dict[b"Prev"] = self.last_xref_section_offset + if self.info: + trailer_dict[b"Info"] = self.info_ref + self.last_xref_section_offset = start_xref + self.f.write( + b"trailer\n" + + bytes(PdfDict(trailer_dict)) + + b"\nstartxref\n%d\n%%%%EOF" % start_xref + ) + + def write_page( + self, ref: int | IndirectReference | None, *objs: Any, **dict_obj: Any + ) -> IndirectReference: + obj_ref = self.pages[ref] if isinstance(ref, int) else ref + if "Type" not in dict_obj: + dict_obj["Type"] = PdfName(b"Page") + if "Parent" not in dict_obj: + dict_obj["Parent"] = self.pages_ref + return self.write_obj(obj_ref, *objs, **dict_obj) + + def write_obj( + self, ref: IndirectReference | None, *objs: Any, **dict_obj: Any + ) -> IndirectReference: + assert self.f is not None + f = self.f + if ref is None: + ref = self.next_object_id(f.tell()) + else: + self.xref_table[ref.object_id] = (f.tell(), ref.generation) + f.write(bytes(IndirectObjectDef(*ref))) + stream = dict_obj.pop("stream", None) + if stream is not None: + dict_obj["Length"] = len(stream) + if dict_obj: + f.write(pdf_repr(dict_obj)) + for obj in objs: + f.write(pdf_repr(obj)) + if stream is not None: + f.write(b"stream\n") + f.write(stream) + f.write(b"\nendstream\n") + f.write(b"endobj\n") + return ref + + def del_root(self) -> None: + if self.root_ref is None: + return + del self.xref_table[self.root_ref.object_id] + del self.xref_table[self.root[b"Pages"].object_id] + + @staticmethod + def get_buf_from_file(f: IO[bytes]) -> bytes | mmap.mmap: + if hasattr(f, "getbuffer"): + return f.getbuffer() + elif hasattr(f, "getvalue"): + return f.getvalue() + else: + try: + return mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) + except ValueError: # cannot mmap an empty file + return b"" + + def read_pdf_info(self) -> None: + assert self.buf is not None + self.file_size_total = len(self.buf) + self.file_size_this = self.file_size_total - self.start_offset + self.read_trailer() + check_format_condition( + self.trailer_dict.get(b"Root") is not None, "Root is missing" + ) + self.root_ref = self.trailer_dict[b"Root"] + assert self.root_ref is not None + self.info_ref = self.trailer_dict.get(b"Info", None) + self.root = PdfDict(self.read_indirect(self.root_ref)) + if self.info_ref is None: + self.info = PdfDict() + else: + self.info = PdfDict(self.read_indirect(self.info_ref)) + check_format_condition(b"Type" in self.root, "/Type missing in Root") + check_format_condition( + self.root[b"Type"] == b"Catalog", "/Type in Root is not /Catalog" + ) + check_format_condition( + self.root.get(b"Pages") is not None, "/Pages missing in Root" + ) + check_format_condition( + isinstance(self.root[b"Pages"], IndirectReference), + "/Pages in Root is not an indirect reference", + ) + self.pages_ref = self.root[b"Pages"] + assert self.pages_ref is not None + self.page_tree_root = self.read_indirect(self.pages_ref) + self.pages = self.linearize_page_tree(self.page_tree_root) + # save the original list of page references + # in case the user modifies, adds or deletes some pages + # and we need to rewrite the pages and their list + self.orig_pages = self.pages[:] + + def next_object_id(self, offset: int | None = None) -> IndirectReference: + try: + # TODO: support reuse of deleted objects + reference = IndirectReference(max(self.xref_table.keys()) + 1, 0) + except ValueError: + reference = IndirectReference(1, 0) + if offset is not None: + self.xref_table[reference.object_id] = (offset, 0) + return reference + + delimiter = rb"[][()<>{}/%]" + delimiter_or_ws = rb"[][()<>{}/%\000\011\012\014\015\040]" + whitespace = rb"[\000\011\012\014\015\040]" + whitespace_or_hex = rb"[\000\011\012\014\015\0400-9a-fA-F]" + whitespace_optional = whitespace + b"*" + whitespace_mandatory = whitespace + b"+" + # No "\012" aka "\n" or "\015" aka "\r": + whitespace_optional_no_nl = rb"[\000\011\014\040]*" + newline_only = rb"[\r\n]+" + newline = whitespace_optional_no_nl + newline_only + whitespace_optional_no_nl + re_trailer_end = re.compile( + whitespace_mandatory + + rb"trailer" + + whitespace_optional + + rb"<<(.*>>)" + + newline + + rb"startxref" + + newline + + rb"([0-9]+)" + + newline + + rb"%%EOF" + + whitespace_optional + + rb"$", + re.DOTALL, + ) + re_trailer_prev = re.compile( + whitespace_optional + + rb"trailer" + + whitespace_optional + + rb"<<(.*?>>)" + + newline + + rb"startxref" + + newline + + rb"([0-9]+)" + + newline + + rb"%%EOF" + + whitespace_optional, + re.DOTALL, + ) + + def read_trailer(self) -> None: + assert self.buf is not None + search_start_offset = len(self.buf) - 16384 + if search_start_offset < self.start_offset: + search_start_offset = self.start_offset + m = self.re_trailer_end.search(self.buf, search_start_offset) + check_format_condition(m is not None, "trailer end not found") + # make sure we found the LAST trailer + last_match = m + while m: + last_match = m + m = self.re_trailer_end.search(self.buf, m.start() + 16) + if not m: + m = last_match + assert m is not None + trailer_data = m.group(1) + self.last_xref_section_offset = int(m.group(2)) + self.trailer_dict = self.interpret_trailer(trailer_data) + self.xref_table = XrefTable() + self.read_xref_table(xref_section_offset=self.last_xref_section_offset) + if b"Prev" in self.trailer_dict: + self.read_prev_trailer(self.trailer_dict[b"Prev"]) + + def read_prev_trailer( + self, xref_section_offset: int, processed_offsets: list[int] = [] + ) -> None: + assert self.buf is not None + trailer_offset = self.read_xref_table(xref_section_offset=xref_section_offset) + m = self.re_trailer_prev.search( + self.buf[trailer_offset : trailer_offset + 16384] + ) + check_format_condition(m is not None, "previous trailer not found") + assert m is not None + trailer_data = m.group(1) + check_format_condition( + int(m.group(2)) == xref_section_offset, + "xref section offset in previous trailer doesn't match what was expected", + ) + trailer_dict = self.interpret_trailer(trailer_data) + if b"Prev" in trailer_dict: + processed_offsets.append(xref_section_offset) + check_format_condition( + trailer_dict[b"Prev"] not in processed_offsets, "trailer loop found" + ) + self.read_prev_trailer(trailer_dict[b"Prev"], processed_offsets) + + re_whitespace_optional = re.compile(whitespace_optional) + re_name = re.compile( + whitespace_optional + + rb"/([!-$&'*-.0-;=?-Z\\^-z|~]+)(?=" + + delimiter_or_ws + + rb")" + ) + re_dict_start = re.compile(whitespace_optional + rb"<<") + re_dict_end = re.compile(whitespace_optional + rb">>" + whitespace_optional) + + @classmethod + def interpret_trailer(cls, trailer_data: bytes) -> dict[bytes, Any]: + trailer = {} + offset = 0 + while True: + m = cls.re_name.match(trailer_data, offset) + if not m: + m = cls.re_dict_end.match(trailer_data, offset) + check_format_condition( + m is not None and m.end() == len(trailer_data), + "name not found in trailer, remaining data: " + + repr(trailer_data[offset:]), + ) + break + key = cls.interpret_name(m.group(1)) + assert isinstance(key, bytes) + value, value_offset = cls.get_value(trailer_data, m.end()) + trailer[key] = value + if value_offset is None: + break + offset = value_offset + check_format_condition( + b"Size" in trailer and isinstance(trailer[b"Size"], int), + "/Size not in trailer or not an integer", + ) + check_format_condition( + b"Root" in trailer and isinstance(trailer[b"Root"], IndirectReference), + "/Root not in trailer or not an indirect reference", + ) + return trailer + + re_hashes_in_name = re.compile(rb"([^#]*)(#([0-9a-fA-F]{2}))?") + + @classmethod + def interpret_name(cls, raw: bytes, as_text: bool = False) -> str | bytes: + name = b"" + for m in cls.re_hashes_in_name.finditer(raw): + if m.group(3): + name += m.group(1) + bytearray.fromhex(m.group(3).decode("us-ascii")) + else: + name += m.group(1) + if as_text: + return name.decode("utf-8") + else: + return bytes(name) + + re_null = re.compile(whitespace_optional + rb"null(?=" + delimiter_or_ws + rb")") + re_true = re.compile(whitespace_optional + rb"true(?=" + delimiter_or_ws + rb")") + re_false = re.compile(whitespace_optional + rb"false(?=" + delimiter_or_ws + rb")") + re_int = re.compile( + whitespace_optional + rb"([-+]?[0-9]+)(?=" + delimiter_or_ws + rb")" + ) + re_real = re.compile( + whitespace_optional + + rb"([-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+))(?=" + + delimiter_or_ws + + rb")" + ) + re_array_start = re.compile(whitespace_optional + rb"\[") + re_array_end = re.compile(whitespace_optional + rb"]") + re_string_hex = re.compile( + whitespace_optional + rb"<(" + whitespace_or_hex + rb"*)>" + ) + re_string_lit = re.compile(whitespace_optional + rb"\(") + re_indirect_reference = re.compile( + whitespace_optional + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"R(?=" + + delimiter_or_ws + + rb")" + ) + re_indirect_def_start = re.compile( + whitespace_optional + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"obj(?=" + + delimiter_or_ws + + rb")" + ) + re_indirect_def_end = re.compile( + whitespace_optional + rb"endobj(?=" + delimiter_or_ws + rb")" + ) + re_comment = re.compile( + rb"(" + whitespace_optional + rb"%[^\r\n]*" + newline + rb")*" + ) + re_stream_start = re.compile(whitespace_optional + rb"stream\r?\n") + re_stream_end = re.compile( + whitespace_optional + rb"endstream(?=" + delimiter_or_ws + rb")" + ) + + @classmethod + def get_value( + cls, + data: bytes | bytearray | mmap.mmap, + offset: int, + expect_indirect: IndirectReference | None = None, + max_nesting: int = -1, + ) -> tuple[Any, int | None]: + if max_nesting == 0: + return None, None + m = cls.re_comment.match(data, offset) + if m: + offset = m.end() + m = cls.re_indirect_def_start.match(data, offset) + if m: + check_format_condition( + int(m.group(1)) > 0, + "indirect object definition: object ID must be greater than 0", + ) + check_format_condition( + int(m.group(2)) >= 0, + "indirect object definition: generation must be non-negative", + ) + check_format_condition( + expect_indirect is None + or expect_indirect + == IndirectReference(int(m.group(1)), int(m.group(2))), + "indirect object definition different than expected", + ) + object, object_offset = cls.get_value( + data, m.end(), max_nesting=max_nesting - 1 + ) + if object_offset is None: + return object, None + m = cls.re_indirect_def_end.match(data, object_offset) + check_format_condition( + m is not None, "indirect object definition end not found" + ) + assert m is not None + return object, m.end() + check_format_condition( + not expect_indirect, "indirect object definition not found" + ) + m = cls.re_indirect_reference.match(data, offset) + if m: + check_format_condition( + int(m.group(1)) > 0, + "indirect object reference: object ID must be greater than 0", + ) + check_format_condition( + int(m.group(2)) >= 0, + "indirect object reference: generation must be non-negative", + ) + return IndirectReference(int(m.group(1)), int(m.group(2))), m.end() + m = cls.re_dict_start.match(data, offset) + if m: + offset = m.end() + result: dict[Any, Any] = {} + m = cls.re_dict_end.match(data, offset) + current_offset: int | None = offset + while not m: + assert current_offset is not None + key, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + if current_offset is None: + return result, None + value, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + result[key] = value + if current_offset is None: + return result, None + m = cls.re_dict_end.match(data, current_offset) + current_offset = m.end() + m = cls.re_stream_start.match(data, current_offset) + if m: + stream_len = result.get(b"Length") + if stream_len is None or not isinstance(stream_len, int): + msg = f"bad or missing Length in stream dict ({stream_len})" + raise PdfFormatError(msg) + stream_data = data[m.end() : m.end() + stream_len] + m = cls.re_stream_end.match(data, m.end() + stream_len) + check_format_condition(m is not None, "stream end not found") + assert m is not None + current_offset = m.end() + return PdfStream(PdfDict(result), stream_data), current_offset + return PdfDict(result), current_offset + m = cls.re_array_start.match(data, offset) + if m: + offset = m.end() + results = [] + m = cls.re_array_end.match(data, offset) + current_offset = offset + while not m: + assert current_offset is not None + value, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + results.append(value) + if current_offset is None: + return results, None + m = cls.re_array_end.match(data, current_offset) + return results, m.end() + m = cls.re_null.match(data, offset) + if m: + return None, m.end() + m = cls.re_true.match(data, offset) + if m: + return True, m.end() + m = cls.re_false.match(data, offset) + if m: + return False, m.end() + m = cls.re_name.match(data, offset) + if m: + return PdfName(cls.interpret_name(m.group(1))), m.end() + m = cls.re_int.match(data, offset) + if m: + return int(m.group(1)), m.end() + m = cls.re_real.match(data, offset) + if m: + # XXX Decimal instead of float??? + return float(m.group(1)), m.end() + m = cls.re_string_hex.match(data, offset) + if m: + # filter out whitespace + hex_string = bytearray( + b for b in m.group(1) if b in b"0123456789abcdefABCDEF" + ) + if len(hex_string) % 2 == 1: + # append a 0 if the length is not even - yes, at the end + hex_string.append(ord(b"0")) + return bytearray.fromhex(hex_string.decode("us-ascii")), m.end() + m = cls.re_string_lit.match(data, offset) + if m: + return cls.get_literal_string(data, m.end()) + # return None, offset # fallback (only for debugging) + msg = f"unrecognized object: {repr(data[offset : offset + 32])}" + raise PdfFormatError(msg) + + re_lit_str_token = re.compile( + rb"(\\[nrtbf()\\])|(\\[0-9]{1,3})|(\\(\r\n|\r|\n))|(\r\n|\r|\n)|(\()|(\))" + ) + escaped_chars = { + b"n": b"\n", + b"r": b"\r", + b"t": b"\t", + b"b": b"\b", + b"f": b"\f", + b"(": b"(", + b")": b")", + b"\\": b"\\", + ord(b"n"): b"\n", + ord(b"r"): b"\r", + ord(b"t"): b"\t", + ord(b"b"): b"\b", + ord(b"f"): b"\f", + ord(b"("): b"(", + ord(b")"): b")", + ord(b"\\"): b"\\", + } + + @classmethod + def get_literal_string( + cls, data: bytes | bytearray | mmap.mmap, offset: int + ) -> tuple[bytes, int]: + nesting_depth = 0 + result = bytearray() + for m in cls.re_lit_str_token.finditer(data, offset): + result.extend(data[offset : m.start()]) + if m.group(1): + result.extend(cls.escaped_chars[m.group(1)[1]]) + elif m.group(2): + result.append(int(m.group(2)[1:], 8)) + elif m.group(3): + pass + elif m.group(5): + result.extend(b"\n") + elif m.group(6): + result.extend(b"(") + nesting_depth += 1 + elif m.group(7): + if nesting_depth == 0: + return bytes(result), m.end() + result.extend(b")") + nesting_depth -= 1 + offset = m.end() + msg = "unfinished literal string" + raise PdfFormatError(msg) + + re_xref_section_start = re.compile(whitespace_optional + rb"xref" + newline) + re_xref_subsection_start = re.compile( + whitespace_optional + + rb"([0-9]+)" + + whitespace_mandatory + + rb"([0-9]+)" + + whitespace_optional + + newline_only + ) + re_xref_entry = re.compile(rb"([0-9]{10}) ([0-9]{5}) ([fn])( \r| \n|\r\n)") + + def read_xref_table(self, xref_section_offset: int) -> int: + assert self.buf is not None + subsection_found = False + m = self.re_xref_section_start.match( + self.buf, xref_section_offset + self.start_offset + ) + check_format_condition(m is not None, "xref section start not found") + assert m is not None + offset = m.end() + while True: + m = self.re_xref_subsection_start.match(self.buf, offset) + if not m: + check_format_condition( + subsection_found, "xref subsection start not found" + ) + break + subsection_found = True + offset = m.end() + first_object = int(m.group(1)) + num_objects = int(m.group(2)) + for i in range(first_object, first_object + num_objects): + m = self.re_xref_entry.match(self.buf, offset) + check_format_condition(m is not None, "xref entry not found") + assert m is not None + offset = m.end() + is_free = m.group(3) == b"f" + if not is_free: + generation = int(m.group(2)) + new_entry = (int(m.group(1)), generation) + if i not in self.xref_table: + self.xref_table[i] = new_entry + return offset + + def read_indirect(self, ref: IndirectReference, max_nesting: int = -1) -> Any: + offset, generation = self.xref_table[ref[0]] + check_format_condition( + generation == ref[1], + f"expected to find generation {ref[1]} for object ID {ref[0]} in xref " + f"table, instead found generation {generation} at offset {offset}", + ) + assert self.buf is not None + value = self.get_value( + self.buf, + offset + self.start_offset, + expect_indirect=IndirectReference(*ref), + max_nesting=max_nesting, + )[0] + self.cached_objects[ref] = value + return value + + def linearize_page_tree( + self, node: PdfDict | None = None + ) -> list[IndirectReference]: + page_node = node if node is not None else self.page_tree_root + check_format_condition( + page_node[b"Type"] == b"Pages", "/Type of page tree node is not /Pages" + ) + pages = [] + for kid in page_node[b"Kids"]: + kid_object = self.read_indirect(kid) + if kid_object[b"Type"] == b"Page": + pages.append(kid) + else: + pages.extend(self.linearize_page_tree(node=kid_object)) + return pages diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PixarImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PixarImagePlugin.py new file mode 100644 index 0000000..d2b6d0a --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PixarImagePlugin.py @@ -0,0 +1,72 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PIXAR raster support for PIL +# +# history: +# 97-01-29 fl Created +# +# notes: +# This is incomplete; it is based on a few samples created with +# Photoshop 2.5 and 3.0, and a summary description provided by +# Greg Coats <gcoats@labiris.er.usgs.gov>. Hopefully, "L" and +# "RGBA" support will be added in future versions. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i16le as i16 + +# +# helpers + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"\200\350\000\000") + + +## +# Image plugin for PIXAR raster images. + + +class PixarImageFile(ImageFile.ImageFile): + format = "PIXAR" + format_description = "PIXAR raster image" + + def _open(self) -> None: + # assuming a 4-byte magic label + assert self.fp is not None + + s = self.fp.read(4) + if not _accept(s): + msg = "not a PIXAR file" + raise SyntaxError(msg) + + # read rest of header + s = s + self.fp.read(508) + + self._size = i16(s, 418), i16(s, 416) + + # get channel/depth descriptions + mode = i16(s, 424), i16(s, 426) + + if mode == (14, 2): + self._mode = "RGB" + # FIXME: to be continued... + + # create tile descriptor (assuming "dumped") + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 1024, self.mode)] + + +# +# -------------------------------------------------------------------- + +Image.register_open(PixarImageFile.format, PixarImageFile, _accept) + +Image.register_extension(PixarImageFile.format, ".pxr") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PngImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PngImagePlugin.py new file mode 100644 index 0000000..76a15bd --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PngImagePlugin.py @@ -0,0 +1,1563 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PNG support code +# +# See "PNG (Portable Network Graphics) Specification, version 1.0; +# W3C Recommendation", 1996-10-01, Thomas Boutell (ed.). +# +# history: +# 1996-05-06 fl Created (couldn't resist it) +# 1996-12-14 fl Upgraded, added read and verify support (0.2) +# 1996-12-15 fl Separate PNG stream parser +# 1996-12-29 fl Added write support, added getchunks +# 1996-12-30 fl Eliminated circular references in decoder (0.3) +# 1998-07-12 fl Read/write 16-bit images as mode I (0.4) +# 2001-02-08 fl Added transparency support (from Zircon) (0.5) +# 2001-04-16 fl Don't close data source in "open" method (0.6) +# 2004-02-24 fl Don't even pretend to support interlaced files (0.7) +# 2004-08-31 fl Do basic sanity check on chunk identifiers (0.8) +# 2004-09-20 fl Added PngInfo chunk container +# 2004-12-18 fl Added DPI read support (based on code by Niki Spahiev) +# 2008-08-13 fl Added tRNS support for RGB images +# 2009-03-06 fl Support for preserving ICC profiles (by Florian Hoech) +# 2009-03-08 fl Added zTXT support (from Lowell Alleman) +# 2009-03-29 fl Read interlaced PNG files (from Conrado Porto Lopes Gouvua) +# +# Copyright (c) 1997-2009 by Secret Labs AB +# Copyright (c) 1996 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import logging +import re +import struct +import warnings +import zlib +from enum import IntEnum +from fractions import Fraction +from typing import IO, NamedTuple, cast + +from . import Image, ImageChops, ImageFile, ImagePalette, ImageSequence +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._binary import o16be as o16 +from ._binary import o32be as o32 +from ._deprecate import deprecate +from ._util import DeferredError + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Callable + from typing import Any, NoReturn + + from . import _imaging + +logger = logging.getLogger(__name__) + +is_cid = re.compile(rb"\w\w\w\w").match + + +_MAGIC = b"\211PNG\r\n\032\n" + + +_MODES = { + # supported bits/color combinations, and corresponding modes/rawmodes + # Grayscale + (1, 0): ("1", "1"), + (2, 0): ("L", "L;2"), + (4, 0): ("L", "L;4"), + (8, 0): ("L", "L"), + (16, 0): ("I;16", "I;16B"), + # Truecolour + (8, 2): ("RGB", "RGB"), + (16, 2): ("RGB", "RGB;16B"), + # Indexed-colour + (1, 3): ("P", "P;1"), + (2, 3): ("P", "P;2"), + (4, 3): ("P", "P;4"), + (8, 3): ("P", "P"), + # Grayscale with alpha + (8, 4): ("LA", "LA"), + (16, 4): ("RGBA", "LA;16B"), # LA;16B->LA not yet available + # Truecolour with alpha + (8, 6): ("RGBA", "RGBA"), + (16, 6): ("RGBA", "RGBA;16B"), +} + + +_simple_palette = re.compile(b"^\xff*\x00\xff*$") + +MAX_TEXT_CHUNK = ImageFile.SAFEBLOCK +""" +Maximum decompressed size for a iTXt or zTXt chunk. +Eliminates decompression bombs where compressed chunks can expand 1000x. +See :ref:`Text in PNG File Format<png-text>`. +""" +MAX_TEXT_MEMORY = 64 * MAX_TEXT_CHUNK +""" +Set the maximum total text chunk size. +See :ref:`Text in PNG File Format<png-text>`. +""" + + +# APNG frame disposal modes +class Disposal(IntEnum): + OP_NONE = 0 + """ + No disposal is done on this frame before rendering the next frame. + See :ref:`Saving APNG sequences<apng-saving>`. + """ + OP_BACKGROUND = 1 + """ + This frame’s modified region is cleared to fully transparent black before rendering + the next frame. + See :ref:`Saving APNG sequences<apng-saving>`. + """ + OP_PREVIOUS = 2 + """ + This frame’s modified region is reverted to the previous frame’s contents before + rendering the next frame. + See :ref:`Saving APNG sequences<apng-saving>`. + """ + + +# APNG frame blend modes +class Blend(IntEnum): + OP_SOURCE = 0 + """ + All color components of this frame, including alpha, overwrite the previous output + image contents. + See :ref:`Saving APNG sequences<apng-saving>`. + """ + OP_OVER = 1 + """ + This frame should be alpha composited with the previous output image contents. + See :ref:`Saving APNG sequences<apng-saving>`. + """ + + +def _safe_zlib_decompress(s: bytes) -> bytes: + dobj = zlib.decompressobj() + plaintext = dobj.decompress(s, MAX_TEXT_CHUNK) + if dobj.unconsumed_tail: + msg = "Decompressed data too large for PngImagePlugin.MAX_TEXT_CHUNK" + raise ValueError(msg) + return plaintext + + +def _crc32(data: bytes, seed: int = 0) -> int: + return zlib.crc32(data, seed) & 0xFFFFFFFF + + +# -------------------------------------------------------------------- +# Support classes. Suitable for PNG and related formats like MNG etc. + + +class ChunkStream: + def __init__(self, fp: IO[bytes]) -> None: + self.fp: IO[bytes] | None = fp + self.queue: list[tuple[bytes, int, int]] | None = [] + + def read(self) -> tuple[bytes, int, int]: + """Fetch a new chunk. Returns header information.""" + cid = None + + assert self.fp is not None + if self.queue: + cid, pos, length = self.queue.pop() + self.fp.seek(pos) + else: + s = self.fp.read(8) + cid = s[4:] + pos = self.fp.tell() + length = i32(s) + + if not is_cid(cid): + if not ImageFile.LOAD_TRUNCATED_IMAGES: + msg = f"broken PNG file (chunk {repr(cid)})" + raise SyntaxError(msg) + + return cid, pos, length + + def __enter__(self) -> ChunkStream: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def close(self) -> None: + self.queue = self.fp = None + + def push(self, cid: bytes, pos: int, length: int) -> None: + assert self.queue is not None + self.queue.append((cid, pos, length)) + + def call(self, cid: bytes, pos: int, length: int) -> bytes: + """Call the appropriate chunk handler""" + + logger.debug("STREAM %r %s %s", cid, pos, length) + return getattr(self, f"chunk_{cid.decode('ascii')}")(pos, length) + + def crc(self, cid: bytes, data: bytes) -> None: + """Read and verify checksum""" + + # Skip CRC checks for ancillary chunks if allowed to load truncated + # images + # 5th byte of first char is 1 [specs, section 5.4] + if ImageFile.LOAD_TRUNCATED_IMAGES and (cid[0] >> 5 & 1): + self.crc_skip(cid, data) + return + + assert self.fp is not None + try: + crc1 = _crc32(data, _crc32(cid)) + crc2 = i32(self.fp.read(4)) + if crc1 != crc2: + msg = f"broken PNG file (bad header checksum in {repr(cid)})" + raise SyntaxError(msg) + except struct.error as e: + msg = f"broken PNG file (incomplete checksum in {repr(cid)})" + raise SyntaxError(msg) from e + + def crc_skip(self, cid: bytes, data: bytes) -> None: + """Read checksum""" + + assert self.fp is not None + self.fp.read(4) + + def verify(self, endchunk: bytes = b"IEND") -> list[bytes]: + # Simple approach; just calculate checksum for all remaining + # blocks. Must be called directly after open. + + cids = [] + + assert self.fp is not None + while True: + try: + cid, pos, length = self.read() + except struct.error as e: + msg = "truncated PNG file" + raise OSError(msg) from e + + if cid == endchunk: + break + self.crc(cid, ImageFile._safe_read(self.fp, length)) + cids.append(cid) + + return cids + + +class iTXt(str): + """ + Subclass of string to allow iTXt chunks to look like strings while + keeping their extra information + + """ + + lang: str | bytes | None + tkey: str | bytes | None + + @staticmethod + def __new__( + cls, text: str, lang: str | None = None, tkey: str | None = None + ) -> iTXt: + """ + :param cls: the class to use when creating the instance + :param text: value for this key + :param lang: language code + :param tkey: UTF-8 version of the key name + """ + + self = str.__new__(cls, text) + self.lang = lang + self.tkey = tkey + return self + + +class PngInfo: + """ + PNG chunk container (for use with save(pnginfo=)) + + """ + + def __init__(self) -> None: + self.chunks: list[tuple[bytes, bytes, bool]] = [] + + def add(self, cid: bytes, data: bytes, after_idat: bool = False) -> None: + """Appends an arbitrary chunk. Use with caution. + + :param cid: a byte string, 4 bytes long. + :param data: a byte string of the encoded data + :param after_idat: for use with private chunks. Whether the chunk + should be written after IDAT + + """ + + self.chunks.append((cid, data, after_idat)) + + def add_itxt( + self, + key: str | bytes, + value: str | bytes, + lang: str | bytes = "", + tkey: str | bytes = "", + zip: bool = False, + ) -> None: + """Appends an iTXt chunk. + + :param key: latin-1 encodable text key name + :param value: value for this key + :param lang: language code + :param tkey: UTF-8 version of the key name + :param zip: compression flag + + """ + + if not isinstance(key, bytes): + key = key.encode("latin-1", "strict") + if not isinstance(value, bytes): + value = value.encode("utf-8", "strict") + if not isinstance(lang, bytes): + lang = lang.encode("utf-8", "strict") + if not isinstance(tkey, bytes): + tkey = tkey.encode("utf-8", "strict") + + if zip: + self.add( + b"iTXt", + key + b"\0\x01\0" + lang + b"\0" + tkey + b"\0" + zlib.compress(value), + ) + else: + self.add(b"iTXt", key + b"\0\0\0" + lang + b"\0" + tkey + b"\0" + value) + + def add_text( + self, key: str | bytes, value: str | bytes | iTXt, zip: bool = False + ) -> None: + """Appends a text chunk. + + :param key: latin-1 encodable text key name + :param value: value for this key, text or an + :py:class:`PIL.PngImagePlugin.iTXt` instance + :param zip: compression flag + + """ + if isinstance(value, iTXt): + return self.add_itxt( + key, + value, + value.lang if value.lang is not None else b"", + value.tkey if value.tkey is not None else b"", + zip=zip, + ) + + # The tEXt chunk stores latin-1 text + if not isinstance(value, bytes): + try: + value = value.encode("latin-1", "strict") + except UnicodeError: + return self.add_itxt(key, value, zip=zip) + + if not isinstance(key, bytes): + key = key.encode("latin-1", "strict") + + if zip: + self.add(b"zTXt", key + b"\0\0" + zlib.compress(value)) + else: + self.add(b"tEXt", key + b"\0" + value) + + +# -------------------------------------------------------------------- +# PNG image stream (IHDR/IEND) + + +class _RewindState(NamedTuple): + info: dict[str | tuple[int, int], Any] + tile: list[ImageFile._Tile] + seq_num: int | None + + +class PngStream(ChunkStream): + def __init__(self, fp: IO[bytes]) -> None: + super().__init__(fp) + + # local copies of Image attributes + self.im_info: dict[str | tuple[int, int], Any] = {} + self.im_text: dict[str, str | iTXt] = {} + self.im_size = (0, 0) + self.im_mode = "" + self.im_tile: list[ImageFile._Tile] = [] + self.im_palette: tuple[str, bytes] | None = None + self.im_custom_mimetype: str | None = None + self.im_n_frames: int | None = None + self._seq_num: int | None = None + self.rewind_state = _RewindState({}, [], None) + + self.text_memory = 0 + + def check_text_memory(self, chunklen: int) -> None: + self.text_memory += chunklen + if self.text_memory > MAX_TEXT_MEMORY: + msg = ( + "Too much memory used in text chunks: " + f"{self.text_memory}>MAX_TEXT_MEMORY" + ) + raise ValueError(msg) + + def save_rewind(self) -> None: + self.rewind_state = _RewindState( + self.im_info.copy(), + self.im_tile, + self._seq_num, + ) + + def rewind(self) -> None: + self.im_info = self.rewind_state.info.copy() + self.im_tile = self.rewind_state.tile + self._seq_num = self.rewind_state.seq_num + + def chunk_iCCP(self, pos: int, length: int) -> bytes: + # ICC profile + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + # according to PNG spec, the iCCP chunk contains: + # Profile name 1-79 bytes (character string) + # Null separator 1 byte (null character) + # Compression method 1 byte (0) + # Compressed profile n bytes (zlib with deflate compression) + i = s.find(b"\0") + logger.debug("iCCP profile name %r", s[:i]) + comp_method = s[i + 1] + logger.debug("Compression method %s", comp_method) + if comp_method != 0: + msg = f"Unknown compression method {comp_method} in iCCP chunk" + raise SyntaxError(msg) + try: + icc_profile = _safe_zlib_decompress(s[i + 2 :]) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + icc_profile = None + else: + raise + except zlib.error: + icc_profile = None # FIXME + self.im_info["icc_profile"] = icc_profile + return s + + def chunk_IHDR(self, pos: int, length: int) -> bytes: + # image header + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 13: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated IHDR chunk" + raise ValueError(msg) + self.im_size = i32(s, 0), i32(s, 4) + try: + self.im_mode, self.im_rawmode = _MODES[(s[8], s[9])] + except Exception: + pass + if s[12]: + self.im_info["interlace"] = 1 + if s[11]: + msg = "unknown filter category" + raise SyntaxError(msg) + return s + + def chunk_IDAT(self, pos: int, length: int) -> NoReturn: + # image data + if "bbox" in self.im_info: + tile = [ImageFile._Tile("zip", self.im_info["bbox"], pos, self.im_rawmode)] + else: + if self.im_n_frames is not None: + self.im_info["default_image"] = True + tile = [ImageFile._Tile("zip", (0, 0) + self.im_size, pos, self.im_rawmode)] + self.im_tile = tile + self.im_idat = length + msg = "image data found" + raise EOFError(msg) + + def chunk_IEND(self, pos: int, length: int) -> NoReturn: + msg = "end of PNG image" + raise EOFError(msg) + + def chunk_PLTE(self, pos: int, length: int) -> bytes: + # palette + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if self.im_mode == "P": + self.im_palette = "RGB", s + return s + + def chunk_tRNS(self, pos: int, length: int) -> bytes: + # transparency + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if self.im_mode == "P": + if _simple_palette.match(s): + # tRNS contains only one full-transparent entry, + # other entries are full opaque + i = s.find(b"\0") + if i >= 0: + self.im_info["transparency"] = i + else: + # otherwise, we have a byte string with one alpha value + # for each palette entry + self.im_info["transparency"] = s + elif self.im_mode == "1": + self.im_info["transparency"] = 255 if i16(s) else 0 + elif self.im_mode in ("L", "I;16"): + self.im_info["transparency"] = i16(s) + elif self.im_mode == "RGB": + self.im_info["transparency"] = i16(s), i16(s, 2), i16(s, 4) + return s + + def chunk_gAMA(self, pos: int, length: int) -> bytes: + # gamma setting + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + self.im_info["gamma"] = i32(s) / 100000.0 + return s + + def chunk_cHRM(self, pos: int, length: int) -> bytes: + # chromaticity, 8 unsigned ints, actual value is scaled by 100,000 + # WP x,y, Red x,y, Green x,y Blue x,y + + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + raw_vals = struct.unpack(f">{len(s) // 4}I", s) + self.im_info["chromaticity"] = tuple(elt / 100000.0 for elt in raw_vals) + return s + + def chunk_sRGB(self, pos: int, length: int) -> bytes: + # srgb rendering intent, 1 byte + # 0 perceptual + # 1 relative colorimetric + # 2 saturation + # 3 absolute colorimetric + + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 1: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated sRGB chunk" + raise ValueError(msg) + self.im_info["srgb"] = s[0] + return s + + def chunk_pHYs(self, pos: int, length: int) -> bytes: + # pixels per unit + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 9: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated pHYs chunk" + raise ValueError(msg) + px, py = i32(s, 0), i32(s, 4) + unit = s[8] + if unit == 1: # meter + dpi = px * 0.0254, py * 0.0254 + self.im_info["dpi"] = dpi + elif unit == 0: + self.im_info["aspect"] = px, py + return s + + def chunk_tEXt(self, pos: int, length: int) -> bytes: + # text + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + try: + k, v = s.split(b"\0", 1) + except ValueError: + # fallback for broken tEXt tags + k = s + v = b"" + if k: + k_str = k.decode("latin-1", "strict") + v_str = v.decode("latin-1", "replace") + + self.im_info[k_str] = v if k == b"exif" else v_str + self.im_text[k_str] = v_str + self.check_text_memory(len(v_str)) + + return s + + def chunk_zTXt(self, pos: int, length: int) -> bytes: + # compressed text + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + try: + k, v = s.split(b"\0", 1) + except ValueError: + k = s + v = b"" + if v: + comp_method = v[0] + else: + comp_method = 0 + if comp_method != 0: + msg = f"Unknown compression method {comp_method} in zTXt chunk" + raise SyntaxError(msg) + try: + v = _safe_zlib_decompress(v[1:]) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + v = b"" + else: + raise + except zlib.error: + v = b"" + + if k: + k_str = k.decode("latin-1", "strict") + v_str = v.decode("latin-1", "replace") + + self.im_info[k_str] = self.im_text[k_str] = v_str + self.check_text_memory(len(v_str)) + + return s + + def chunk_iTXt(self, pos: int, length: int) -> bytes: + # international text + assert self.fp is not None + r = s = ImageFile._safe_read(self.fp, length) + try: + k, r = r.split(b"\0", 1) + except ValueError: + return s + if len(r) < 2: + return s + cf, cm, r = r[0], r[1], r[2:] + try: + lang, tk, v = r.split(b"\0", 2) + except ValueError: + return s + if cf != 0: + if cm == 0: + try: + v = _safe_zlib_decompress(v) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + else: + raise + except zlib.error: + return s + else: + return s + if k == b"XML:com.adobe.xmp": + self.im_info["xmp"] = v + try: + k_str = k.decode("latin-1", "strict") + lang_str = lang.decode("utf-8", "strict") + tk_str = tk.decode("utf-8", "strict") + v_str = v.decode("utf-8", "strict") + except UnicodeError: + return s + + self.im_info[k_str] = self.im_text[k_str] = iTXt(v_str, lang_str, tk_str) + self.check_text_memory(len(v_str)) + + return s + + def chunk_eXIf(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + self.im_info["exif"] = b"Exif\x00\x00" + s + return s + + # APNG chunks + def chunk_acTL(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 8: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "APNG contains truncated acTL chunk" + raise ValueError(msg) + if self.im_n_frames is not None: + self.im_n_frames = None + warnings.warn("Invalid APNG, will use default PNG image if possible") + return s + n_frames = i32(s) + if n_frames == 0 or n_frames > 0x80000000: + warnings.warn("Invalid APNG, will use default PNG image if possible") + return s + self.im_n_frames = n_frames + self.im_info["loop"] = i32(s, 4) + self.im_custom_mimetype = "image/apng" + return s + + def chunk_fcTL(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 26: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "APNG contains truncated fcTL chunk" + raise ValueError(msg) + seq = i32(s) + if (self._seq_num is None and seq != 0) or ( + self._seq_num is not None and self._seq_num != seq - 1 + ): + msg = "APNG contains frame sequence errors" + raise SyntaxError(msg) + self._seq_num = seq + width, height = i32(s, 4), i32(s, 8) + px, py = i32(s, 12), i32(s, 16) + im_w, im_h = self.im_size + if px + width > im_w or py + height > im_h: + msg = "APNG contains invalid frames" + raise SyntaxError(msg) + self.im_info["bbox"] = (px, py, px + width, py + height) + delay_num, delay_den = i16(s, 20), i16(s, 22) + if delay_den == 0: + delay_den = 100 + self.im_info["duration"] = float(delay_num) / float(delay_den) * 1000 + self.im_info["disposal"] = s[24] + self.im_info["blend"] = s[25] + return s + + def chunk_fdAT(self, pos: int, length: int) -> bytes: + assert self.fp is not None + if length < 4: + if ImageFile.LOAD_TRUNCATED_IMAGES: + s = ImageFile._safe_read(self.fp, length) + return s + msg = "APNG contains truncated fDAT chunk" + raise ValueError(msg) + s = ImageFile._safe_read(self.fp, 4) + seq = i32(s) + if self._seq_num != seq - 1: + msg = "APNG contains frame sequence errors" + raise SyntaxError(msg) + self._seq_num = seq + return self.chunk_IDAT(pos + 4, length - 4) + + +# -------------------------------------------------------------------- +# PNG reader + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(_MAGIC) + + +## +# Image plugin for PNG images. + + +class PngImageFile(ImageFile.ImageFile): + format = "PNG" + format_description = "Portable network graphics" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(8)): + msg = "not a PNG file" + raise SyntaxError(msg) + self._fp = self.fp + self.__frame = 0 + + # + # Parse headers up to the first IDAT or fDAT chunk + + self.private_chunks: list[tuple[bytes, bytes] | tuple[bytes, bytes, bool]] = [] + self.png: PngStream | None = PngStream(self.fp) + + while True: + # + # get next chunk + + cid, pos, length = self.png.read() + + try: + s = self.png.call(cid, pos, length) + except EOFError: + break + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + s = ImageFile._safe_read(self.fp, length) + if cid[1:2].islower(): + self.private_chunks.append((cid, s)) + + self.png.crc(cid, s) + + # + # Copy relevant attributes from the PngStream. An alternative + # would be to let the PngStream class modify these attributes + # directly, but that introduces circular references which are + # difficult to break if things go wrong in the decoder... + # (believe me, I've tried ;-) + + self._mode = self.png.im_mode + self._size = self.png.im_size + self.info = self.png.im_info + self._text: dict[str, str | iTXt] | None = None + self.tile = self.png.im_tile + self.custom_mimetype = self.png.im_custom_mimetype + self.n_frames = self.png.im_n_frames or 1 + self.default_image = self.info.get("default_image", False) + + if self.png.im_palette: + rawmode, data = self.png.im_palette + self.palette = ImagePalette.raw(rawmode, data) + + if cid == b"fdAT": + self.__prepare_idat = length - 4 + else: + self.__prepare_idat = length # used by load_prepare() + + if self.png.im_n_frames is not None: + self._close_exclusive_fp_after_loading = False + self.png.save_rewind() + self.__rewind_idat = self.__prepare_idat + self.__rewind = self._fp.tell() + if self.default_image: + # IDAT chunk contains default image and not first animation frame + self.n_frames += 1 + self._seek(0) + self.is_animated = self.n_frames > 1 + + @property + def text(self) -> dict[str, str | iTXt]: + # experimental + if self._text is None: + # iTxt, tEXt and zTXt chunks may appear at the end of the file + # So load the file to ensure that they are read + if self.is_animated: + frame = self.__frame + # for APNG, seek to the final frame before loading + self.seek(self.n_frames - 1) + self.load() + if self.is_animated: + self.seek(frame) + assert self._text is not None + return self._text + + def verify(self) -> None: + """Verify PNG file""" + + if self.fp is None: + msg = "verify must be called directly after open" + raise RuntimeError(msg) + + # back up to beginning of IDAT block + self.fp.seek(self.tile[0][2] - 8) + + assert self.png is not None + self.png.verify() + self.png.close() + + super().verify() + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._seek(0, True) + + last_frame = self.__frame + try: + for f in range(self.__frame + 1, frame + 1): + self._seek(f) + except EOFError as e: + self.seek(last_frame) + msg = "no more images in APNG file" + raise EOFError(msg) from e + + def _seek(self, frame: int, rewind: bool = False) -> None: + assert self.png is not None + if isinstance(self._fp, DeferredError): + raise self._fp.ex + + self.dispose: _imaging.ImagingCore | None + dispose_extent = None + if frame == 0: + if rewind: + self._fp.seek(self.__rewind) + self.png.rewind() + self.__prepare_idat = self.__rewind_idat + self._im = None + self.info = self.png.im_info + self.tile = self.png.im_tile + self.fp = self._fp + self._prev_im = None + self.dispose = None + self.default_image = self.info.get("default_image", False) + self.dispose_op = self.info.get("disposal") + self.blend_op = self.info.get("blend") + dispose_extent = self.info.get("bbox") + self.__frame = 0 + else: + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + + # ensure previous frame was loaded + self.load() + + if self.dispose: + self.im.paste(self.dispose, self.dispose_extent) + self._prev_im = self.im.copy() + + self.fp = self._fp + + # advance to the next frame + if self.__prepare_idat: + ImageFile._safe_read(self.fp, self.__prepare_idat) + self.__prepare_idat = 0 + frame_start = False + while True: + self.fp.read(4) # CRC + + try: + cid, pos, length = self.png.read() + except (struct.error, SyntaxError): + break + + if cid == b"IEND": + msg = "No more images in APNG file" + raise EOFError(msg) + if cid == b"fcTL": + if frame_start: + # there must be at least one fdAT chunk between fcTL chunks + msg = "APNG missing frame data" + raise SyntaxError(msg) + frame_start = True + + try: + self.png.call(cid, pos, length) + except UnicodeDecodeError: + break + except EOFError: + if cid == b"fdAT": + length -= 4 + if frame_start: + self.__prepare_idat = length + break + ImageFile._safe_read(self.fp, length) + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + ImageFile._safe_read(self.fp, length) + + self.__frame = frame + self.tile = self.png.im_tile + self.dispose_op = self.info.get("disposal") + self.blend_op = self.info.get("blend") + dispose_extent = self.info.get("bbox") + + if not self.tile: + msg = "image not found in APNG frame" + raise EOFError(msg) + if dispose_extent: + self.dispose_extent: tuple[float, float, float, float] = dispose_extent + + # setup frame disposal (actual disposal done when needed in the next _seek()) + if self._prev_im is None and self.dispose_op == Disposal.OP_PREVIOUS: + self.dispose_op = Disposal.OP_BACKGROUND + + self.dispose = None + if self.dispose_op == Disposal.OP_PREVIOUS: + if self._prev_im: + self.dispose = self._prev_im.copy() + self.dispose = self._crop(self.dispose, self.dispose_extent) + elif self.dispose_op == Disposal.OP_BACKGROUND: + self.dispose = Image.core.fill(self.mode, self.size) + self.dispose = self._crop(self.dispose, self.dispose_extent) + + def tell(self) -> int: + return self.__frame + + def load_prepare(self) -> None: + """internal: prepare to read PNG file""" + + if self.info.get("interlace"): + self.decoderconfig = self.decoderconfig + (1,) + + self.__idat = self.__prepare_idat # used by load_read() + ImageFile.ImageFile.load_prepare(self) + + def load_read(self, read_bytes: int) -> bytes: + """internal: read more image data""" + + assert self.png is not None + assert self.fp is not None + while self.__idat == 0: + # end of chunk, skip forward to next one + + self.fp.read(4) # CRC + + cid, pos, length = self.png.read() + + if cid not in [b"IDAT", b"DDAT", b"fdAT"]: + self.png.push(cid, pos, length) + return b"" + + if cid == b"fdAT": + try: + self.png.call(cid, pos, length) + except EOFError: + pass + self.__idat = length - 4 # sequence_num has already been read + else: + self.__idat = length # empty chunks are allowed + + # read more data from this chunk + if read_bytes <= 0: + read_bytes = self.__idat + else: + read_bytes = min(read_bytes, self.__idat) + + self.__idat = self.__idat - read_bytes + + return self.fp.read(read_bytes) + + def load_end(self) -> None: + """internal: finished reading image data""" + assert self.png is not None + assert self.fp is not None + if self.__idat != 0: + self.fp.read(self.__idat) + while True: + self.fp.read(4) # CRC + + try: + cid, pos, length = self.png.read() + except (struct.error, SyntaxError): + break + + if cid == b"IEND": + break + elif cid == b"fcTL" and self.is_animated: + # start of the next frame, stop reading + self.__prepare_idat = 0 + self.png.push(cid, pos, length) + break + + try: + self.png.call(cid, pos, length) + except UnicodeDecodeError: + break + except EOFError: + if cid == b"fdAT": + length -= 4 + try: + ImageFile._safe_read(self.fp, length) + except OSError as e: + if ImageFile.LOAD_TRUNCATED_IMAGES: + break + else: + raise e + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + s = ImageFile._safe_read(self.fp, length) + if cid[1:2].islower(): + self.private_chunks.append((cid, s, True)) + self._text = self.png.im_text + if not self.is_animated: + self.png.close() + self.png = None + else: + if self._prev_im and self.blend_op == Blend.OP_OVER: + updated = self._crop(self.im, self.dispose_extent) + if self.im.mode == "RGB" and "transparency" in self.info: + mask = updated.convert_transparent( + "RGBA", self.info["transparency"] + ) + else: + if self.im.mode == "P" and "transparency" in self.info: + t = self.info["transparency"] + if isinstance(t, bytes): + updated.putpalettealphas(t) + elif isinstance(t, int): + updated.putpalettealpha(t) + mask = updated.convert("RGBA") + self._prev_im.paste(updated, self.dispose_extent, mask) + self.im = self._prev_im + + def _getexif(self) -> dict[int, Any] | None: + if "exif" not in self.info: + self.load() + if "exif" not in self.info and "Raw profile type exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + def getexif(self) -> Image.Exif: + if "exif" not in self.info: + self.load() + + return super().getexif() + + +# -------------------------------------------------------------------- +# PNG writer + +_OUTMODES = { + # supported PIL modes, and corresponding rawmode, bit depth and color type + "1": ("1", b"\x01", b"\x00"), + "L;1": ("L;1", b"\x01", b"\x00"), + "L;2": ("L;2", b"\x02", b"\x00"), + "L;4": ("L;4", b"\x04", b"\x00"), + "L": ("L", b"\x08", b"\x00"), + "LA": ("LA", b"\x08", b"\x04"), + "I": ("I;16B", b"\x10", b"\x00"), + "I;16": ("I;16B", b"\x10", b"\x00"), + "I;16B": ("I;16B", b"\x10", b"\x00"), + "P;1": ("P;1", b"\x01", b"\x03"), + "P;2": ("P;2", b"\x02", b"\x03"), + "P;4": ("P;4", b"\x04", b"\x03"), + "P": ("P", b"\x08", b"\x03"), + "RGB": ("RGB", b"\x08", b"\x02"), + "RGBA": ("RGBA", b"\x08", b"\x06"), +} + + +def putchunk(fp: IO[bytes], cid: bytes, *data: bytes) -> None: + """Write a PNG chunk (including CRC field)""" + + byte_data = b"".join(data) + + fp.write(o32(len(byte_data)) + cid) + fp.write(byte_data) + crc = _crc32(byte_data, _crc32(cid)) + fp.write(o32(crc)) + + +class _idat: + # wrap output from the encoder in IDAT chunks + + def __init__(self, fp: IO[bytes], chunk: Callable[..., None]) -> None: + self.fp = fp + self.chunk = chunk + + def write(self, data: bytes) -> None: + self.chunk(self.fp, b"IDAT", data) + + +class _fdat: + # wrap encoder output in fdAT chunks + + def __init__(self, fp: IO[bytes], chunk: Callable[..., None], seq_num: int) -> None: + self.fp = fp + self.chunk = chunk + self.seq_num = seq_num + + def write(self, data: bytes) -> None: + self.chunk(self.fp, b"fdAT", o32(self.seq_num), data) + self.seq_num += 1 + + +def _apply_encoderinfo(im: Image.Image, encoderinfo: dict[str, Any]) -> None: + im.encoderconfig = ( + encoderinfo.get("optimize", False), + encoderinfo.get("compress_level", -1), + encoderinfo.get("compress_type", -1), + encoderinfo.get("dictionary", b""), + ) + + +class _Frame(NamedTuple): + im: Image.Image + bbox: tuple[int, int, int, int] | None + encoderinfo: dict[str, Any] + + +def _write_multiple_frames( + im: Image.Image, + fp: IO[bytes], + chunk: Callable[..., None], + mode: str, + rawmode: str, + default_image: Image.Image | None, + append_images: list[Image.Image], +) -> Image.Image | None: + duration = im.encoderinfo.get("duration") + loop = im.encoderinfo.get("loop", im.info.get("loop", 0)) + disposal = im.encoderinfo.get("disposal", im.info.get("disposal", Disposal.OP_NONE)) + blend = im.encoderinfo.get("blend", im.info.get("blend", Blend.OP_SOURCE)) + + if default_image: + chain = itertools.chain(append_images) + else: + chain = itertools.chain([im], append_images) + + im_frames: list[_Frame] = [] + frame_count = 0 + for im_seq in chain: + for im_frame in ImageSequence.Iterator(im_seq): + if im_frame.mode == mode: + im_frame = im_frame.copy() + else: + im_frame = im_frame.convert(mode) + encoderinfo = im.encoderinfo.copy() + if isinstance(duration, (list, tuple)): + encoderinfo["duration"] = duration[frame_count] + elif duration is None and "duration" in im_frame.info: + encoderinfo["duration"] = im_frame.info["duration"] + if isinstance(disposal, (list, tuple)): + encoderinfo["disposal"] = disposal[frame_count] + if isinstance(blend, (list, tuple)): + encoderinfo["blend"] = blend[frame_count] + frame_count += 1 + + if im_frames: + previous = im_frames[-1] + prev_disposal = previous.encoderinfo.get("disposal") + prev_blend = previous.encoderinfo.get("blend") + if prev_disposal == Disposal.OP_PREVIOUS and len(im_frames) < 2: + prev_disposal = Disposal.OP_BACKGROUND + + if prev_disposal == Disposal.OP_BACKGROUND: + base_im = previous.im.copy() + dispose = Image.core.fill("RGBA", im.size, (0, 0, 0, 0)) + bbox = previous.bbox + if bbox: + dispose = dispose.crop(bbox) + else: + bbox = (0, 0) + im.size + base_im.paste(dispose, bbox) + elif prev_disposal == Disposal.OP_PREVIOUS: + base_im = im_frames[-2].im + else: + base_im = previous.im + delta = ImageChops.subtract_modulo( + im_frame.convert("RGBA"), base_im.convert("RGBA") + ) + bbox = delta.getbbox(alpha_only=False) + if ( + not bbox + and prev_disposal == encoderinfo.get("disposal") + and prev_blend == encoderinfo.get("blend") + and "duration" in encoderinfo + ): + previous.encoderinfo["duration"] += encoderinfo["duration"] + continue + else: + bbox = None + im_frames.append(_Frame(im_frame, bbox, encoderinfo)) + + if len(im_frames) == 1 and not default_image: + return im_frames[0].im + + # animation control + chunk( + fp, + b"acTL", + o32(len(im_frames)), # 0: num_frames + o32(loop), # 4: num_plays + ) + + # default image IDAT (if it exists) + if default_image: + default_im = im if im.mode == mode else im.convert(mode) + _apply_encoderinfo(default_im, im.encoderinfo) + ImageFile._save( + default_im, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + im.size, 0, rawmode)], + ) + + seq_num = 0 + for frame, frame_data in enumerate(im_frames): + im_frame = frame_data.im + if not frame_data.bbox: + bbox = (0, 0) + im_frame.size + else: + bbox = frame_data.bbox + im_frame = im_frame.crop(bbox) + size = im_frame.size + encoderinfo = frame_data.encoderinfo + frame_duration = encoderinfo.get("duration", 0) + delay = Fraction(frame_duration / 1000).limit_denominator(65535) + if delay.numerator > 65535: + msg = "cannot write duration" + raise ValueError(msg) + frame_disposal = encoderinfo.get("disposal", disposal) + frame_blend = encoderinfo.get("blend", blend) + # frame control + chunk( + fp, + b"fcTL", + o32(seq_num), # sequence_number + o32(size[0]), # width + o32(size[1]), # height + o32(bbox[0]), # x_offset + o32(bbox[1]), # y_offset + o16(delay.numerator), # delay_numerator + o16(delay.denominator), # delay_denominator + o8(frame_disposal), # dispose_op + o8(frame_blend), # blend_op + ) + seq_num += 1 + # frame data + _apply_encoderinfo(im_frame, im.encoderinfo) + if frame == 0 and not default_image: + # first frame must be in IDAT chunks for backwards compatibility + ImageFile._save( + im_frame, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + im_frame.size, 0, rawmode)], + ) + else: + fdat_chunks = _fdat(fp, chunk, seq_num) + ImageFile._save( + im_frame, + cast(IO[bytes], fdat_chunks), + [ImageFile._Tile("zip", (0, 0) + im_frame.size, 0, rawmode)], + ) + seq_num = fdat_chunks.seq_num + return None + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +def _save( + im: Image.Image, + fp: IO[bytes], + filename: str | bytes, + chunk: Callable[..., None] = putchunk, + save_all: bool = False, +) -> None: + # save an image to disk (called by the save method) + + if save_all: + default_image = im.encoderinfo.get( + "default_image", im.info.get("default_image") + ) + modes = set() + sizes = set() + append_images = im.encoderinfo.get("append_images", []) + for im_seq in itertools.chain([im], append_images): + for im_frame in ImageSequence.Iterator(im_seq): + modes.add(im_frame.mode) + sizes.add(im_frame.size) + for mode in ("RGBA", "RGB", "P"): + if mode in modes: + break + else: + mode = modes.pop() + size = tuple(max(frame_size[i] for frame_size in sizes) for i in range(2)) + else: + size = im.size + mode = im.mode + + outmode = mode + palette = [] + if im.palette: + palette = im.getpalette() or [] + if mode == "P": + # + # attempt to minimize storage requirements for palette images + if "bits" in im.encoderinfo: + # number of bits specified by user + colors = min(1 << im.encoderinfo["bits"], 256) + else: + # check palette contents + if im.palette: + colors = max(min(len(palette) // 3, 256), 1) + else: + colors = 256 + + if colors <= 16: + if colors <= 2: + bits = 1 + elif colors <= 4: + bits = 2 + else: + bits = 4 + outmode += f";{bits}" + + # get the corresponding PNG mode + try: + rawmode, bit_depth, color_type = _OUTMODES[outmode] + except KeyError as e: + msg = f"cannot write mode {mode} as PNG" + raise OSError(msg) from e + if outmode == "I": + deprecate("Saving I mode images as PNG", 13, stacklevel=4) + + # + # write minimal PNG file + + fp.write(_MAGIC) + + chunk( + fp, + b"IHDR", + o32(size[0]), # 0: size + o32(size[1]), + bit_depth, + color_type, + b"\0", # 10: compression + b"\0", # 11: filter category + b"\0", # 12: interlace flag + ) + + chunks = [b"cHRM", b"cICP", b"gAMA", b"sBIT", b"sRGB", b"tIME"] + + if icc := im.encoderinfo.get("icc_profile", im.info.get("icc_profile")): + # ICC profile + # according to PNG spec, the iCCP chunk contains: + # Profile name 1-79 bytes (character string) + # Null separator 1 byte (null character) + # Compression method 1 byte (0) + # Compressed profile n bytes (zlib with deflate compression) + name = b"ICC Profile" + data = name + b"\0\0" + zlib.compress(icc) + chunk(fp, b"iCCP", data) + + # You must either have sRGB or iCCP. + # Disallow sRGB chunks when an iCCP-chunk has been emitted. + chunks.remove(b"sRGB") + + if info := im.encoderinfo.get("pnginfo"): + chunks_multiple_allowed = [b"sPLT", b"iTXt", b"tEXt", b"zTXt"] + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid in chunks: + chunks.remove(cid) + chunk(fp, cid, data) + elif cid in chunks_multiple_allowed: + chunk(fp, cid, data) + elif cid[1:2].islower(): + # Private chunk + after_idat = len(info_chunk) == 3 and info_chunk[2] + if not after_idat: + chunk(fp, cid, data) + + if im.mode == "P": + palette_byte_number = colors * 3 + palette_bytes = bytes(palette[:palette_byte_number]) + while len(palette_bytes) < palette_byte_number: + palette_bytes += b"\0" + chunk(fp, b"PLTE", palette_bytes) + + transparency = im.encoderinfo.get("transparency", im.info.get("transparency", None)) + + if transparency or transparency == 0: + if im.mode == "P": + # limit to actual palette size + alpha_bytes = colors + if isinstance(transparency, bytes): + chunk(fp, b"tRNS", transparency[:alpha_bytes]) + else: + transparency = max(0, min(255, transparency)) + alpha = b"\xff" * transparency + b"\0" + chunk(fp, b"tRNS", alpha[:alpha_bytes]) + elif im.mode in ("1", "L", "I", "I;16"): + transparency = max(0, min(65535, transparency)) + chunk(fp, b"tRNS", o16(transparency)) + elif im.mode == "RGB": + red, green, blue = transparency + chunk(fp, b"tRNS", o16(red) + o16(green) + o16(blue)) + else: + if "transparency" in im.encoderinfo: + # don't bother with transparency if it's an RGBA + # and it's in the info dict. It's probably just stale. + msg = "cannot use transparency for this mode" + raise OSError(msg) + else: + if im.mode == "P" and im.im.getpalettemode() == "RGBA": + alpha = im.im.getpalette("RGBA", "A") + alpha_bytes = colors + chunk(fp, b"tRNS", alpha[:alpha_bytes]) + + if dpi := im.encoderinfo.get("dpi"): + chunk( + fp, + b"pHYs", + o32(int(dpi[0] / 0.0254 + 0.5)), + o32(int(dpi[1] / 0.0254 + 0.5)), + b"\x01", + ) + + if info: + chunks = [b"bKGD", b"hIST"] + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid in chunks: + chunks.remove(cid) + chunk(fp, cid, data) + + if exif := im.encoderinfo.get("exif"): + if isinstance(exif, Image.Exif): + exif = exif.tobytes(8) + if exif.startswith(b"Exif\x00\x00"): + exif = exif[6:] + chunk(fp, b"eXIf", exif) + + single_im: Image.Image | None = im + if save_all: + single_im = _write_multiple_frames( + im, fp, chunk, mode, rawmode, default_image, append_images + ) + if single_im: + _apply_encoderinfo(single_im, im.encoderinfo) + ImageFile._save( + single_im, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + single_im.size, 0, rawmode)], + ) + + if info: + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid[1:2].islower(): + # Private chunk + after_idat = len(info_chunk) == 3 and info_chunk[2] + if after_idat: + chunk(fp, cid, data) + + chunk(fp, b"IEND", b"") + + if hasattr(fp, "flush"): + fp.flush() + + +# -------------------------------------------------------------------- +# PNG chunk converter + + +def getchunks(im: Image.Image, **params: Any) -> list[tuple[bytes, bytes, bytes]]: + """Return a list of PNG chunks representing this image.""" + from io import BytesIO + + chunks = [] + + def append(fp: IO[bytes], cid: bytes, *data: bytes) -> None: + byte_data = b"".join(data) + crc = o32(_crc32(byte_data, _crc32(cid))) + chunks.append((cid, byte_data, crc)) + + fp = BytesIO() + + try: + im.encoderinfo = params + _save(im, fp, "", append) + finally: + del im.encoderinfo + + return chunks + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(PngImageFile.format, PngImageFile, _accept) +Image.register_save(PngImageFile.format, _save) +Image.register_save_all(PngImageFile.format, _save_all) + +Image.register_extensions(PngImageFile.format, [".png", ".apng"]) + +Image.register_mime(PngImageFile.format, "image/png") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PpmImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PpmImagePlugin.py new file mode 100644 index 0000000..307bc97 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PpmImagePlugin.py @@ -0,0 +1,375 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PPM support for PIL +# +# History: +# 96-03-24 fl Created +# 98-03-06 fl Write RGBA images (as RGB, that is) +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +from typing import IO + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import o8 +from ._binary import o32le as o32 + +# +# -------------------------------------------------------------------- + +b_whitespace = b"\x20\x09\x0a\x0b\x0c\x0d" + +MODES = { + # standard + b"P1": "1", + b"P2": "L", + b"P3": "RGB", + b"P4": "1", + b"P5": "L", + b"P6": "RGB", + # extensions + b"P0CMYK": "CMYK", + b"Pf": "F", + # PIL extensions (for test purposes only) + b"PyP": "P", + b"PyRGBA": "RGBA", + b"PyCMYK": "CMYK", +} + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 2 and prefix.startswith(b"P") and prefix[1] in b"0123456fy" + + +## +# Image plugin for PBM, PGM, and PPM images. + + +class PpmImageFile(ImageFile.ImageFile): + format = "PPM" + format_description = "Pbmplus image" + + def _read_magic(self) -> bytes: + assert self.fp is not None + + magic = b"" + # read until whitespace or longest available magic number + for _ in range(6): + c = self.fp.read(1) + if not c or c in b_whitespace: + break + magic += c + return magic + + def _read_token(self) -> bytes: + assert self.fp is not None + + token = b"" + while len(token) <= 10: # read until next whitespace or limit of 10 characters + c = self.fp.read(1) + if not c: + break + elif c in b_whitespace: # token ended + if not token: + # skip whitespace at start + continue + break + elif c == b"#": + # ignores rest of the line; stops at CR, LF or EOF + while self.fp.read(1) not in b"\r\n": + pass + continue + token += c + if not token: + # Token was not even 1 byte + msg = "Reached EOF while reading header" + raise ValueError(msg) + elif len(token) > 10: + msg_too_long = b"Token too long in file header: %s" % token + raise ValueError(msg_too_long) + return token + + def _open(self) -> None: + assert self.fp is not None + + magic_number = self._read_magic() + try: + mode = MODES[magic_number] + except KeyError: + msg = "not a PPM file" + raise SyntaxError(msg) + self._mode = mode + + if magic_number in (b"P1", b"P4"): + self.custom_mimetype = "image/x-portable-bitmap" + elif magic_number in (b"P2", b"P5"): + self.custom_mimetype = "image/x-portable-graymap" + elif magic_number in (b"P3", b"P6"): + self.custom_mimetype = "image/x-portable-pixmap" + + self._size = int(self._read_token()), int(self._read_token()) + + decoder_name = "raw" + if magic_number in (b"P1", b"P2", b"P3"): + decoder_name = "ppm_plain" + + args: str | tuple[str | int, ...] + if mode == "1": + args = "1;I" + elif mode == "F": + scale = float(self._read_token()) + if scale == 0.0 or not math.isfinite(scale): + msg = "scale must be finite and non-zero" + raise ValueError(msg) + self.info["scale"] = abs(scale) + + rawmode = "F;32F" if scale < 0 else "F;32BF" + args = (rawmode, 0, -1) + else: + maxval = int(self._read_token()) + if not 0 < maxval < 65536: + msg = "maxval must be greater than 0 and less than 65536" + raise ValueError(msg) + if maxval > 255 and mode == "L": + self._mode = "I" + + rawmode = mode + if decoder_name != "ppm_plain": + # If maxval matches a bit depth, use the raw decoder directly + if maxval == 65535 and mode == "L": + rawmode = "I;16B" + elif maxval != 255: + decoder_name = "ppm" + + args = rawmode if decoder_name == "raw" else (rawmode, maxval) + self.tile = [ + ImageFile._Tile(decoder_name, (0, 0) + self.size, self.fp.tell(), args) + ] + + +# +# -------------------------------------------------------------------- + + +class PpmPlainDecoder(ImageFile.PyDecoder): + _pulls_fd = True + _comment_spans: bool + + def _read_block(self) -> bytes: + assert self.fd is not None + + return self.fd.read(ImageFile.SAFEBLOCK) + + def _find_comment_end(self, block: bytes, start: int = 0) -> int: + a = block.find(b"\n", start) + b = block.find(b"\r", start) + return min(a, b) if a * b > 0 else max(a, b) # lowest nonnegative index (or -1) + + def _ignore_comments(self, block: bytes) -> bytes: + if self._comment_spans: + # Finish current comment + while block: + comment_end = self._find_comment_end(block) + if comment_end != -1: + # Comment ends in this block + # Delete tail of comment + block = block[comment_end + 1 :] + break + else: + # Comment spans whole block + # So read the next block, looking for the end + block = self._read_block() + + # Search for any further comments + self._comment_spans = False + while True: + comment_start = block.find(b"#") + if comment_start == -1: + # No comment found + break + comment_end = self._find_comment_end(block, comment_start) + if comment_end != -1: + # Comment ends in this block + # Delete comment + block = block[:comment_start] + block[comment_end + 1 :] + else: + # Comment continues to next block(s) + block = block[:comment_start] + self._comment_spans = True + break + return block + + def _decode_bitonal(self) -> bytearray: + """ + This is a separate method because in the plain PBM format, all data tokens are + exactly one byte, so the inter-token whitespace is optional. + """ + data = bytearray() + total_bytes = self.state.xsize * self.state.ysize + + while len(data) != total_bytes: + block = self._read_block() # read next block + if not block: + # eof + break + + block = self._ignore_comments(block) + + tokens = b"".join(block.split()) + for token in tokens: + if token not in (48, 49): + msg = b"Invalid token for this mode: %s" % bytes([token]) + raise ValueError(msg) + data = (data + tokens)[:total_bytes] + invert = bytes.maketrans(b"01", b"\xff\x00") + return data.translate(invert) + + def _decode_blocks(self, maxval: int) -> bytearray: + data = bytearray() + max_len = 10 + out_byte_count = 4 if self.mode == "I" else 1 + out_max = 65535 if self.mode == "I" else 255 + bands = Image.getmodebands(self.mode) + total_bytes = self.state.xsize * self.state.ysize * bands * out_byte_count + + half_token = b"" + while len(data) != total_bytes: + block = self._read_block() # read next block + if not block: + if half_token: + block = bytearray(b" ") # flush half_token + else: + # eof + break + + block = self._ignore_comments(block) + + if half_token: + block = half_token + block # stitch half_token to new block + half_token = b"" + + tokens = block.split() + + if block and not block[-1:].isspace(): # block might split token + half_token = tokens.pop() # save half token for later + if len(half_token) > max_len: # prevent buildup of half_token + msg = ( + b"Token too long found in data: %s" % half_token[: max_len + 1] + ) + raise ValueError(msg) + + for token in tokens: + if len(token) > max_len: + msg = b"Token too long found in data: %s" % token[: max_len + 1] + raise ValueError(msg) + value = int(token) + if value < 0: + msg_str = f"Channel value is negative: {value}" + raise ValueError(msg_str) + if value > maxval: + msg_str = f"Channel value too large for this mode: {value}" + raise ValueError(msg_str) + value = round(value / maxval * out_max) + data += o32(value) if self.mode == "I" else o8(value) + if len(data) == total_bytes: # finished! + break + return data + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + self._comment_spans = False + if self.mode == "1": + data = self._decode_bitonal() + rawmode = "1;8" + else: + maxval = self.args[-1] + data = self._decode_blocks(maxval) + rawmode = "I;32" if self.mode == "I" else self.mode + self.set_as_raw(bytes(data), rawmode) + return -1, 0 + + +class PpmDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + data = bytearray() + maxval = self.args[-1] + in_byte_count = 1 if maxval < 256 else 2 + out_byte_count = 4 if self.mode == "I" else 1 + out_max = 65535 if self.mode == "I" else 255 + bands = Image.getmodebands(self.mode) + dest_length = self.state.xsize * self.state.ysize * bands * out_byte_count + while len(data) < dest_length: + pixels = self.fd.read(in_byte_count * bands) + if len(pixels) < in_byte_count * bands: + # eof + break + for b in range(bands): + value = ( + pixels[b] if in_byte_count == 1 else i16(pixels, b * in_byte_count) + ) + value = min(out_max, round(value / maxval * out_max)) + data += o32(value) if self.mode == "I" else o8(value) + rawmode = "I;32" if self.mode == "I" else self.mode + self.set_as_raw(bytes(data), rawmode) + return -1, 0 + + +# +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode == "1": + rawmode, head = "1;I", b"P4" + elif im.mode == "L": + rawmode, head = "L", b"P5" + elif im.mode in ("I", "I;16"): + rawmode, head = "I;16B", b"P5" + elif im.mode in ("RGB", "RGBA"): + rawmode, head = "RGB", b"P6" + elif im.mode == "F": + rawmode, head = "F;32F", b"Pf" + else: + msg = f"cannot write mode {im.mode} as PPM" + raise OSError(msg) + fp.write(head + b"\n%d %d\n" % im.size) + if head == b"P6": + fp.write(b"255\n") + elif head == b"P5": + if rawmode == "L": + fp.write(b"255\n") + else: + fp.write(b"65535\n") + elif head == b"Pf": + fp.write(b"-1.0\n") + row_order = -1 if im.mode == "F" else 1 + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, row_order))] + ) + + +# +# -------------------------------------------------------------------- + + +Image.register_open(PpmImageFile.format, PpmImageFile, _accept) +Image.register_save(PpmImageFile.format, _save) + +Image.register_decoder("ppm", PpmDecoder) +Image.register_decoder("ppm_plain", PpmPlainDecoder) + +Image.register_extensions(PpmImageFile.format, [".pbm", ".pgm", ".ppm", ".pnm", ".pfm"]) + +Image.register_mime(PpmImageFile.format, "image/x-portable-anymap") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/PsdImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/PsdImagePlugin.py new file mode 100644 index 0000000..dd3d5ab --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/PsdImagePlugin.py @@ -0,0 +1,337 @@ +# +# The Python Imaging Library +# $Id$ +# +# Adobe PSD 2.5/3.0 file handling +# +# History: +# 1995-09-01 fl Created +# 1997-01-03 fl Read most PSD images +# 1997-01-18 fl Fixed P and CMYK support +# 2001-10-21 fl Added seek/tell support (for layers) +# +# Copyright (c) 1997-2001 by Secret Labs AB. +# Copyright (c) 1995-2001 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from functools import cached_property +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i8 +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import si16be as si16 +from ._binary import si32be as si32 +from ._util import DeferredError + +MODES = { + # (photoshop mode, bits) -> (pil mode, required channels) + (0, 1): ("1", 1), + (0, 8): ("L", 1), + (1, 8): ("L", 1), + (2, 8): ("P", 1), + (3, 8): ("RGB", 3), + (4, 8): ("CMYK", 4), + (7, 8): ("L", 1), # FIXME: multilayer + (8, 8): ("L", 1), # duotone + (9, 8): ("LAB", 3), +} + + +# --------------------------------------------------------------------. +# read PSD images + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"8BPS") + + +## +# Image plugin for Photoshop images. + + +class PsdImageFile(ImageFile.ImageFile): + format = "PSD" + format_description = "Adobe Photoshop" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + assert self.fp is not None + read = self.fp.read + + # + # header + + s = read(26) + if not _accept(s) or i16(s, 4) != 1: + msg = "not a PSD file" + raise SyntaxError(msg) + + psd_bits = i16(s, 22) + psd_channels = i16(s, 12) + psd_mode = i16(s, 24) + + mode, channels = MODES[(psd_mode, psd_bits)] + + if channels > psd_channels: + msg = "not enough channels" + raise OSError(msg) + if mode == "RGB" and psd_channels == 4: + mode = "RGBA" + channels = 4 + + self._mode = mode + self._size = i32(s, 18), i32(s, 14) + + # + # color mode data + + size = i32(read(4)) + if size: + data = read(size) + if mode == "P" and size == 768: + self.palette = ImagePalette.raw("RGB;L", data) + + # + # image resources + + self.resources = [] + + size = i32(read(4)) + if size: + # load resources + end = self.fp.tell() + size + while self.fp.tell() < end: + read(4) # signature + id = i16(read(2)) + name = read(i8(read(1))) + if not (len(name) & 1): + read(1) # padding + data = read(i32(read(4))) + if len(data) & 1: + read(1) # padding + self.resources.append((id, name, data)) + if id == 1039: # ICC profile + self.info["icc_profile"] = data + + # + # layer and mask information + + self._layers_position = None + + size = i32(read(4)) + if size: + end = self.fp.tell() + size + size = i32(read(4)) + if size: + self._layers_position = self.fp.tell() + self._layers_size = size + self.fp.seek(end) + self._n_frames: int | None = None + + # + # image descriptor + + self.tile = _maketile(self.fp, mode, (0, 0) + self.size, channels) + + # keep the file open + self._fp = self.fp + self.frame = 1 + self._min_frame = 1 + + @cached_property + def layers( + self, + ) -> list[tuple[str, str, tuple[int, int, int, int], list[ImageFile._Tile]]]: + layers = [] + if self._layers_position is not None: + if isinstance(self._fp, DeferredError): + raise self._fp.ex + self._fp.seek(self._layers_position) + _layer_data = io.BytesIO(ImageFile._safe_read(self._fp, self._layers_size)) + layers = _layerinfo(_layer_data, self._layers_size) + self._n_frames = len(layers) + return layers + + @property + def n_frames(self) -> int: + if self._n_frames is None: + self._n_frames = len(self.layers) + return self._n_frames + + @property + def is_animated(self) -> bool: + return len(self.layers) > 1 + + def seek(self, layer: int) -> None: + if not self._seek_check(layer): + return + if isinstance(self._fp, DeferredError): + raise self._fp.ex + + # seek to given layer (1..max) + if layer > len(self.layers): + msg = "no more images in PSD file" + raise EOFError(msg) + _, mode, _, tile = self.layers[layer - 1] + self._mode = mode + self.tile = tile + self.frame = layer + self.fp = self._fp + + def tell(self) -> int: + # return layer number (0=image, 1..max=layers) + return self.frame + + +def _layerinfo( + fp: IO[bytes], ct_bytes: int +) -> list[tuple[str, str, tuple[int, int, int, int], list[ImageFile._Tile]]]: + # read layerinfo block + layers = [] + + def read(size: int) -> bytes: + return ImageFile._safe_read(fp, size) + + ct = si16(read(2)) + + # sanity check + if ct_bytes < (abs(ct) * 20): + msg = "Layer block too short for number of layers requested" + raise SyntaxError(msg) + + for _ in range(abs(ct)): + # bounding box + y0 = si32(read(4)) + x0 = si32(read(4)) + y1 = si32(read(4)) + x1 = si32(read(4)) + + # image info + bands = [] + ct_types = i16(read(2)) + if ct_types > 4: + fp.seek(ct_types * 6 + 12, io.SEEK_CUR) + size = i32(read(4)) + fp.seek(size, io.SEEK_CUR) + continue + + for _ in range(ct_types): + type = i16(read(2)) + + if type == 65535: + b = "A" + else: + b = "RGBA"[type] + + bands.append(b) + read(4) # size + + # figure out the image mode + bands.sort() + if bands == ["R"]: + mode = "L" + elif bands == ["B", "G", "R"]: + mode = "RGB" + elif bands == ["A", "B", "G", "R"]: + mode = "RGBA" + else: + mode = "" # unknown + + # skip over blend flags and extra information + read(12) # filler + name = "" + size = i32(read(4)) # length of the extra data field + if size: + data_end = fp.tell() + size + + length = i32(read(4)) + if length: + fp.seek(length - 16, io.SEEK_CUR) + + length = i32(read(4)) + if length: + fp.seek(length, io.SEEK_CUR) + + length = i8(read(1)) + if length: + # Don't know the proper encoding, + # Latin-1 should be a good guess + name = read(length).decode("latin-1", "replace") + + fp.seek(data_end) + layers.append((name, mode, (x0, y0, x1, y1))) + + # get tiles + layerinfo = [] + for i, (name, mode, bbox) in enumerate(layers): + tile = [] + for m in mode: + t = _maketile(fp, m, bbox, 1) + if t: + tile.extend(t) + layerinfo.append((name, mode, bbox, tile)) + + return layerinfo + + +def _maketile( + file: IO[bytes], mode: str, bbox: tuple[int, int, int, int], channels: int +) -> list[ImageFile._Tile]: + tiles = [] + read = file.read + + compression = i16(read(2)) + + xsize = bbox[2] - bbox[0] + ysize = bbox[3] - bbox[1] + + offset = file.tell() + + if compression == 0: + # + # raw compression + for channel in range(channels): + layer = mode[channel] + if mode == "CMYK": + layer += ";I" + tiles.append(ImageFile._Tile("raw", bbox, offset, layer)) + offset = offset + xsize * ysize + + elif compression == 1: + # + # packbits compression + i = 0 + bytecount = read(channels * ysize * 2) + offset = file.tell() + for channel in range(channels): + layer = mode[channel] + if mode == "CMYK": + layer += ";I" + tiles.append(ImageFile._Tile("packbits", bbox, offset, layer)) + for y in range(ysize): + offset = offset + i16(bytecount, i) + i += 2 + + file.seek(offset) + + if offset & 1: + read(1) # padding + + return tiles + + +# -------------------------------------------------------------------- +# registry + + +Image.register_open(PsdImageFile.format, PsdImageFile, _accept) + +Image.register_extension(PsdImageFile.format, ".psd") + +Image.register_mime(PsdImageFile.format, "image/vnd.adobe.photoshop") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/QoiImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/QoiImagePlugin.py new file mode 100644 index 0000000..d0709b1 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/QoiImagePlugin.py @@ -0,0 +1,235 @@ +# +# The Python Imaging Library. +# +# QOI support for PIL +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import IO + +from . import Image, ImageFile +from ._binary import i32be as i32 +from ._binary import o8 +from ._binary import o32be as o32 + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"qoif") + + +class QoiImageFile(ImageFile.ImageFile): + format = "QOI" + format_description = "Quite OK Image" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(4)): + msg = "not a QOI file" + raise SyntaxError(msg) + + self._size = i32(self.fp.read(4)), i32(self.fp.read(4)) + + channels = self.fp.read(1)[0] + self._mode = "RGB" if channels == 3 else "RGBA" + + self.fp.seek(1, os.SEEK_CUR) # colorspace + self.tile = [ImageFile._Tile("qoi", (0, 0) + self._size, self.fp.tell())] + + +class QoiDecoder(ImageFile.PyDecoder): + _pulls_fd = True + _previous_pixel: bytes | bytearray | None = None + _previously_seen_pixels: dict[int, bytes | bytearray] = {} + + def _add_to_previous_pixels(self, value: bytes | bytearray) -> None: + self._previous_pixel = value + + r, g, b, a = value + hash_value = (r * 3 + g * 5 + b * 7 + a * 11) % 64 + self._previously_seen_pixels[hash_value] = value + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + self._previously_seen_pixels = {} + self._previous_pixel = bytearray((0, 0, 0, 255)) + + data = bytearray() + bands = Image.getmodebands(self.mode) + dest_length = self.state.xsize * self.state.ysize * bands + while len(data) < dest_length: + byte = self.fd.read(1)[0] + value: bytes | bytearray + if byte == 0b11111110 and self._previous_pixel: # QOI_OP_RGB + value = bytearray(self.fd.read(3)) + self._previous_pixel[3:] + elif byte == 0b11111111: # QOI_OP_RGBA + value = self.fd.read(4) + else: + op = byte >> 6 + if op == 0: # QOI_OP_INDEX + op_index = byte & 0b00111111 + value = self._previously_seen_pixels.get( + op_index, bytearray((0, 0, 0, 0)) + ) + elif op == 1 and self._previous_pixel: # QOI_OP_DIFF + value = bytearray( + ( + (self._previous_pixel[0] + ((byte & 0b00110000) >> 4) - 2) + % 256, + (self._previous_pixel[1] + ((byte & 0b00001100) >> 2) - 2) + % 256, + (self._previous_pixel[2] + (byte & 0b00000011) - 2) % 256, + self._previous_pixel[3], + ) + ) + elif op == 2 and self._previous_pixel: # QOI_OP_LUMA + second_byte = self.fd.read(1)[0] + diff_green = (byte & 0b00111111) - 32 + diff_red = ((second_byte & 0b11110000) >> 4) - 8 + diff_blue = (second_byte & 0b00001111) - 8 + + value = bytearray( + tuple( + (self._previous_pixel[i] + diff_green + diff) % 256 + for i, diff in enumerate((diff_red, 0, diff_blue)) + ) + ) + value += self._previous_pixel[3:] + elif op == 3 and self._previous_pixel: # QOI_OP_RUN + run_length = (byte & 0b00111111) + 1 + value = self._previous_pixel + if bands == 3: + value = value[:3] + data += value * run_length + continue + self._add_to_previous_pixels(value) + + if bands == 3: + value = value[:3] + data += value + self.set_as_raw(data) + return -1, 0 + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode == "RGB": + channels = 3 + elif im.mode == "RGBA": + channels = 4 + else: + msg = "Unsupported QOI image mode" + raise ValueError(msg) + + colorspace = 0 if im.encoderinfo.get("colorspace") == "sRGB" else 1 + + fp.write(b"qoif") + fp.write(o32(im.size[0])) + fp.write(o32(im.size[1])) + fp.write(o8(channels)) + fp.write(o8(colorspace)) + + ImageFile._save(im, fp, [ImageFile._Tile("qoi", (0, 0) + im.size)]) + + +class QoiEncoder(ImageFile.PyEncoder): + _pushes_fd = True + _previous_pixel: tuple[int, int, int, int] | None = None + _previously_seen_pixels: dict[int, tuple[int, int, int, int]] = {} + _run = 0 + + def _write_run(self) -> bytes: + data = o8(0b11000000 | (self._run - 1)) # QOI_OP_RUN + self._run = 0 + return data + + def _delta(self, left: int, right: int) -> int: + result = (left - right) & 255 + if result >= 128: + result -= 256 + return result + + def encode(self, bufsize: int) -> tuple[int, int, bytes]: + assert self.im is not None + + self._previously_seen_pixels = {0: (0, 0, 0, 0)} + self._previous_pixel = (0, 0, 0, 255) + + data = bytearray() + w, h = self.im.size + bands = Image.getmodebands(self.mode) + + for y in range(h): + for x in range(w): + pixel = self.im.getpixel((x, y)) + if bands == 3: + pixel = (*pixel, 255) + + if pixel == self._previous_pixel: + self._run += 1 + if self._run == 62: + data += self._write_run() + else: + if self._run: + data += self._write_run() + + r, g, b, a = pixel + hash_value = (r * 3 + g * 5 + b * 7 + a * 11) % 64 + if self._previously_seen_pixels.get(hash_value) == pixel: + data += o8(hash_value) # QOI_OP_INDEX + elif self._previous_pixel: + self._previously_seen_pixels[hash_value] = pixel + + prev_r, prev_g, prev_b, prev_a = self._previous_pixel + if prev_a == a: + delta_r = self._delta(r, prev_r) + delta_g = self._delta(g, prev_g) + delta_b = self._delta(b, prev_b) + + if ( + -2 <= delta_r < 2 + and -2 <= delta_g < 2 + and -2 <= delta_b < 2 + ): + data += o8( + 0b01000000 + | (delta_r + 2) << 4 + | (delta_g + 2) << 2 + | (delta_b + 2) + ) # QOI_OP_DIFF + else: + delta_gr = self._delta(delta_r, delta_g) + delta_gb = self._delta(delta_b, delta_g) + if ( + -8 <= delta_gr < 8 + and -32 <= delta_g < 32 + and -8 <= delta_gb < 8 + ): + data += o8( + 0b10000000 | (delta_g + 32) + ) # QOI_OP_LUMA + data += o8((delta_gr + 8) << 4 | (delta_gb + 8)) + else: + data += o8(0b11111110) # QOI_OP_RGB + data += bytes(pixel[:3]) + else: + data += o8(0b11111111) # QOI_OP_RGBA + data += bytes(pixel) + + self._previous_pixel = pixel + + if self._run: + data += self._write_run() + data += bytes((0, 0, 0, 0, 0, 0, 0, 1)) # padding + + return len(data), 0, data + + +Image.register_open(QoiImageFile.format, QoiImageFile, _accept) +Image.register_decoder("qoi", QoiDecoder) +Image.register_extension(QoiImageFile.format, ".qoi") + +Image.register_save(QoiImageFile.format, _save) +Image.register_encoder("qoi", QoiEncoder) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/SgiImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/SgiImagePlugin.py new file mode 100644 index 0000000..8530221 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/SgiImagePlugin.py @@ -0,0 +1,231 @@ +# +# The Python Imaging Library. +# $Id$ +# +# SGI image file handling +# +# See "The SGI Image File Format (Draft version 0.97)", Paul Haeberli. +# <ftp://ftp.sgi.com/graphics/SGIIMAGESPEC> +# +# +# History: +# 2017-22-07 mb Add RLE decompression +# 2016-16-10 mb Add save method without compression +# 1995-09-10 fl Created +# +# Copyright (c) 2016 by Mickael Bonfill. +# Copyright (c) 2008 by Karsten Hiddemann. +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1995 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import struct +from typing import IO + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import o8 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 2 and i16(prefix) == 474 + + +MODES = { + (1, 1, 1): "L", + (1, 2, 1): "L", + (2, 1, 1): "L;16B", + (2, 2, 1): "L;16B", + (1, 3, 3): "RGB", + (2, 3, 3): "RGB;16B", + (1, 3, 4): "RGBA", + (2, 3, 4): "RGBA;16B", +} + + +## +# Image plugin for SGI images. +class SgiImageFile(ImageFile.ImageFile): + format = "SGI" + format_description = "SGI Image File Format" + + def _open(self) -> None: + # HEAD + assert self.fp is not None + + headlen = 512 + s = self.fp.read(headlen) + + if not _accept(s): + msg = "Not an SGI image file" + raise ValueError(msg) + + # compression : verbatim or RLE + compression = s[2] + + # bpc : 1 or 2 bytes (8bits or 16bits) + bpc = s[3] + + # dimension : 1, 2 or 3 (depending on xsize, ysize and zsize) + dimension = i16(s, 4) + + # xsize : width + xsize = i16(s, 6) + + # ysize : height + ysize = i16(s, 8) + + # zsize : channels count + zsize = i16(s, 10) + + # determine mode from bits/zsize + try: + rawmode = MODES[(bpc, dimension, zsize)] + except KeyError: + msg = "Unsupported SGI image mode" + raise ValueError(msg) + + self._size = xsize, ysize + self._mode = rawmode.split(";")[0] + if self.mode == "RGB": + self.custom_mimetype = "image/rgb" + + # orientation -1 : scanlines begins at the bottom-left corner + orientation = -1 + + # decoder info + if compression == 0: + pagesize = xsize * ysize * bpc + if bpc == 2: + self.tile = [ + ImageFile._Tile( + "SGI16", + (0, 0) + self.size, + headlen, + (self.mode, 0, orientation), + ) + ] + else: + self.tile = [] + offset = headlen + for layer in self.mode: + self.tile.append( + ImageFile._Tile( + "raw", (0, 0) + self.size, offset, (layer, 0, orientation) + ) + ) + offset += pagesize + elif compression == 1: + self.tile = [ + ImageFile._Tile( + "sgi_rle", (0, 0) + self.size, headlen, (rawmode, orientation, bpc) + ) + ] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode not in {"RGB", "RGBA", "L"}: + msg = "Unsupported SGI image mode" + raise ValueError(msg) + + # Get the keyword arguments + info = im.encoderinfo + + # Byte-per-pixel precision, 1 = 8bits per pixel + bpc = info.get("bpc", 1) + + if bpc not in (1, 2): + msg = "Unsupported number of bytes per pixel" + raise ValueError(msg) + + # Flip the image, since the origin of SGI file is the bottom-left corner + orientation = -1 + # Define the file as SGI File Format + magic_number = 474 + # Run-Length Encoding Compression - Unsupported at this time + rle = 0 + + # X Dimension = width / Y Dimension = height + x, y = im.size + # Z Dimension: Number of channels + z = len(im.mode) + # Number of dimensions (x,y,z) + if im.mode == "L": + dimension = 1 if y == 1 else 2 + else: + dimension = 3 + + # Minimum Byte value + pinmin = 0 + # Maximum Byte value (255 = 8bits per pixel) + pinmax = 255 + # Image name (79 characters max, truncated below in write) + img_name = os.path.splitext(os.path.basename(filename))[0] + if isinstance(img_name, str): + img_name = img_name.encode("ascii", "ignore") + # Standard representation of pixel in the file + colormap = 0 + fp.write(struct.pack(">h", magic_number)) + fp.write(o8(rle)) + fp.write(o8(bpc)) + fp.write(struct.pack(">H", dimension)) + fp.write(struct.pack(">H", x)) + fp.write(struct.pack(">H", y)) + fp.write(struct.pack(">H", z)) + fp.write(struct.pack(">l", pinmin)) + fp.write(struct.pack(">l", pinmax)) + fp.write(struct.pack("4s", b"")) # dummy + fp.write(struct.pack("79s", img_name)) # truncates to 79 chars + fp.write(struct.pack("s", b"")) # force null byte after img_name + fp.write(struct.pack(">l", colormap)) + fp.write(struct.pack("404s", b"")) # dummy + + rawmode = "L" + if bpc == 2: + rawmode = "L;16B" + + for channel in im.split(): + fp.write(channel.tobytes("raw", rawmode, 0, orientation)) + + if hasattr(fp, "flush"): + fp.flush() + + +class SGI16Decoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + assert self.im is not None + + rawmode, stride, orientation = self.args + pagesize = self.state.xsize * self.state.ysize + zsize = len(self.mode) + self.fd.seek(512) + + for band in range(zsize): + channel = Image.new("L", (self.state.xsize, self.state.ysize)) + channel.frombytes( + self.fd.read(2 * pagesize), "raw", "L;16B", stride, orientation + ) + self.im.putband(channel.im, band) + + return -1, 0 + + +# +# registry + + +Image.register_decoder("SGI16", SGI16Decoder) +Image.register_open(SgiImageFile.format, SgiImageFile, _accept) +Image.register_save(SgiImageFile.format, _save) +Image.register_mime(SgiImageFile.format, "image/sgi") + +Image.register_extensions(SgiImageFile.format, [".bw", ".rgb", ".rgba", ".sgi"]) + +# End of file diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/SpiderImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/SpiderImagePlugin.py new file mode 100644 index 0000000..11d9069 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/SpiderImagePlugin.py @@ -0,0 +1,332 @@ +# +# The Python Imaging Library. +# +# SPIDER image file handling +# +# History: +# 2004-08-02 Created BB +# 2006-03-02 added save method +# 2006-03-13 added support for stack images +# +# Copyright (c) 2004 by Health Research Inc. (HRI) RENSSELAER, NY 12144. +# Copyright (c) 2004 by William Baxter. +# Copyright (c) 2004 by Secret Labs AB. +# Copyright (c) 2004 by Fredrik Lundh. +# + +## +# Image plugin for the Spider image format. This format is used +# by the SPIDER software, in processing image data from electron +# microscopy and tomography. +## + +# +# SpiderImagePlugin.py +# +# The Spider image format is used by SPIDER software, in processing +# image data from electron microscopy and tomography. +# +# Spider home page: +# https://spider.wadsworth.org/spider_doc/spider/docs/spider.html +# +# Details about the Spider image format: +# https://spider.wadsworth.org/spider_doc/spider/docs/image_doc.html +# +from __future__ import annotations + +import os +import struct +import sys +from typing import IO, Any, cast + +from . import Image, ImageFile +from ._util import DeferredError + +TYPE_CHECKING = False + + +def isInt(f: Any) -> int: + try: + i = int(f) + if f - i == 0: + return 1 + else: + return 0 + except (ValueError, OverflowError): + return 0 + + +iforms = [1, 3, -11, -12, -21, -22] + + +# There is no magic number to identify Spider files, so just check a +# series of header locations to see if they have reasonable values. +# Returns no. of bytes in the header, if it is a valid Spider header, +# otherwise returns 0 + + +def isSpiderHeader(t: tuple[float, ...]) -> int: + h = (99,) + t # add 1 value so can use spider header index start=1 + # header values 1,2,5,12,13,22,23 should be integers + for i in [1, 2, 5, 12, 13, 22, 23]: + if not isInt(h[i]): + return 0 + # check iform + iform = int(h[5]) + if iform not in iforms: + return 0 + # check other header values + labrec = int(h[13]) # no. records in file header + labbyt = int(h[22]) # total no. of bytes in header + lenbyt = int(h[23]) # record length in bytes + if labbyt != (labrec * lenbyt): + return 0 + # looks like a valid header + return labbyt + + +def isSpiderImage(filename: str) -> int: + with open(filename, "rb") as fp: + f = fp.read(92) # read 23 * 4 bytes + t = struct.unpack(">23f", f) # try big-endian first + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + t = struct.unpack("<23f", f) # little-endian + hdrlen = isSpiderHeader(t) + return hdrlen + + +class SpiderImageFile(ImageFile.ImageFile): + format = "SPIDER" + format_description = "Spider 2D image" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # check header + n = 27 * 4 # read 27 float values + assert self.fp is not None + f = self.fp.read(n) + + try: + self.bigendian = 1 + t = struct.unpack(">27f", f) # try big-endian first + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + self.bigendian = 0 + t = struct.unpack("<27f", f) # little-endian + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + msg = "not a valid Spider file" + raise SyntaxError(msg) + except struct.error as e: + msg = "not a valid Spider file" + raise SyntaxError(msg) from e + + h = (99,) + t # add 1 value : spider header index starts at 1 + iform = int(h[5]) + if iform != 1: + msg = "not a Spider 2D image" + raise SyntaxError(msg) + + self._size = int(h[12]), int(h[2]) # size in pixels (width, height) + self.istack = int(h[24]) + self.imgnumber = int(h[27]) + + if self.istack == 0 and self.imgnumber == 0: + # stk=0, img=0: a regular 2D image + offset = hdrlen + self._nimages = 1 + elif self.istack > 0 and self.imgnumber == 0: + # stk>0, img=0: Opening the stack for the first time + self.imgbytes = int(h[12]) * int(h[2]) * 4 + self.hdrlen = hdrlen + self._nimages = int(h[26]) + # Point to the first image in the stack + offset = hdrlen * 2 + self.imgnumber = 1 + elif self.istack == 0 and self.imgnumber > 0: + # stk=0, img>0: an image within the stack + offset = hdrlen + self.stkoffset + self.istack = 2 # So Image knows it's still a stack + else: + msg = "inconsistent stack header values" + raise SyntaxError(msg) + + if self.bigendian: + self.rawmode = "F;32BF" + else: + self.rawmode = "F;32F" + self._mode = "F" + + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, offset, self.rawmode)] + self._fp = self.fp # FIXME: hack + + @property + def n_frames(self) -> int: + return self._nimages + + @property + def is_animated(self) -> bool: + return self._nimages > 1 + + # 1st image index is zero (although SPIDER imgnumber starts at 1) + def tell(self) -> int: + if self.imgnumber < 1: + return 0 + else: + return self.imgnumber - 1 + + def seek(self, frame: int) -> None: + if self.istack == 0: + msg = "attempt to seek in a non-stack file" + raise EOFError(msg) + if not self._seek_check(frame): + return + if isinstance(self._fp, DeferredError): + raise self._fp.ex + self.stkoffset = self.hdrlen + frame * (self.hdrlen + self.imgbytes) + self.fp = self._fp + self.fp.seek(self.stkoffset) + self._open() + + # returns a byte image after rescaling to 0..255 + def convert2byte(self, depth: int = 255) -> Image.Image: + extrema = self.getextrema() + assert isinstance(extrema[0], float) + minimum, maximum = cast(tuple[float, float], extrema) + m: float = 1 + if maximum != minimum: + m = depth / (maximum - minimum) + b = -m * minimum + return self.point(lambda i: i * m + b).convert("L") + + if TYPE_CHECKING: + from . import ImageTk + + # returns a ImageTk.PhotoImage object, after rescaling to 0..255 + def tkPhotoImage(self) -> ImageTk.PhotoImage: + from . import ImageTk + + return ImageTk.PhotoImage(self.convert2byte(), palette=256) + + +# -------------------------------------------------------------------- +# Image series + + +# given a list of filenames, return a list of images +def loadImageSeries(filelist: list[str] | None = None) -> list[Image.Image] | None: + """create a list of :py:class:`~PIL.Image.Image` objects for use in a montage""" + if filelist is None or len(filelist) < 1: + return None + + byte_imgs = [] + for img in filelist: + if not os.path.exists(img): + print(f"unable to find {img}") + continue + try: + with Image.open(img) as im: + assert isinstance(im, SpiderImageFile) + byte_im = im.convert2byte() + except Exception: + if not isSpiderImage(img): + print(f"{img} is not a Spider image file") + continue + byte_im.info["filename"] = img + byte_imgs.append(byte_im) + return byte_imgs + + +# -------------------------------------------------------------------- +# For saving images in Spider format + + +def makeSpiderHeader(im: Image.Image) -> list[bytes]: + nsam, nrow = im.size + lenbyt = max(1, nsam) * 4 # There are labrec records in the header + labrec = int(1024 / lenbyt) + if 1024 % lenbyt != 0: + labrec += 1 + labbyt = labrec * lenbyt + nvalues = int(labbyt / 4) + if nvalues < 23: + return [] + + hdr = [0.0] * nvalues + + # NB these are Fortran indices + hdr[1] = 1.0 # nslice (=1 for an image) + hdr[2] = float(nrow) # number of rows per slice + hdr[3] = float(nrow) # number of records in the image + hdr[5] = 1.0 # iform for 2D image + hdr[12] = float(nsam) # number of pixels per line + hdr[13] = float(labrec) # number of records in file header + hdr[22] = float(labbyt) # total number of bytes in header + hdr[23] = float(lenbyt) # record length in bytes + + # adjust for Fortran indexing + hdr = hdr[1:] + hdr.append(0.0) + # pack binary data into a string + return [struct.pack("f", v) for v in hdr] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "F": + im = im.convert("F") + + hdr = makeSpiderHeader(im) + if len(hdr) < 256: + msg = "Error creating Spider header" + raise OSError(msg) + + # write the SPIDER header + fp.writelines(hdr) + + rawmode = "F;32NF" # 32-bit native floating point + ImageFile._save(im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, rawmode)]) + + +def _save_spider(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # get the filename extension and register it with Image + if filename_ext := os.path.splitext(filename)[1]: + ext = filename_ext.decode() if isinstance(filename_ext, bytes) else filename_ext + Image.register_extension(SpiderImageFile.format, ext) + _save(im, fp, filename) + + +# -------------------------------------------------------------------- + + +Image.register_open(SpiderImageFile.format, SpiderImageFile) +Image.register_save(SpiderImageFile.format, _save_spider) + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 SpiderImagePlugin.py [infile] [outfile]") + sys.exit() + + filename = sys.argv[1] + if not isSpiderImage(filename): + print("input image must be in Spider format") + sys.exit() + + with Image.open(filename) as im: + print(f"image: {im}") + print(f"format: {im.format}") + print(f"size: {im.size}") + print(f"mode: {im.mode}") + print("max, min: ", end=" ") + print(im.getextrema()) + + if len(sys.argv) > 2: + outfile = sys.argv[2] + + # perform some image operation + transposed_im = im.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + print( + f"saving a flipped version of {os.path.basename(filename)} " + f"as {outfile} " + ) + transposed_im.save(outfile, SpiderImageFile.format) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/SunImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/SunImagePlugin.py new file mode 100644 index 0000000..8912379 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/SunImagePlugin.py @@ -0,0 +1,145 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Sun image file handling +# +# History: +# 1995-09-10 fl Created +# 1996-05-28 fl Fixed 32-bit alignment +# 1998-12-29 fl Import ImagePalette module +# 2001-12-18 fl Fixed palette loading (from Jean-Claude Rimbault) +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1995-1996 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile, ImagePalette +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 4 and i32(prefix) == 0x59A66A95 + + +## +# Image plugin for Sun raster files. + + +class SunImageFile(ImageFile.ImageFile): + format = "SUN" + format_description = "Sun Raster File" + + def _open(self) -> None: + # The Sun Raster file header is 32 bytes in length + # and has the following format: + + # typedef struct _SunRaster + # { + # DWORD MagicNumber; /* Magic (identification) number */ + # DWORD Width; /* Width of image in pixels */ + # DWORD Height; /* Height of image in pixels */ + # DWORD Depth; /* Number of bits per pixel */ + # DWORD Length; /* Size of image data in bytes */ + # DWORD Type; /* Type of raster file */ + # DWORD ColorMapType; /* Type of color map */ + # DWORD ColorMapLength; /* Size of the color map in bytes */ + # } SUNRASTER; + + assert self.fp is not None + + # HEAD + s = self.fp.read(32) + if not _accept(s): + msg = "not an SUN raster file" + raise SyntaxError(msg) + + offset = 32 + + self._size = i32(s, 4), i32(s, 8) + + depth = i32(s, 12) + # data_length = i32(s, 16) # unreliable, ignore. + file_type = i32(s, 20) + palette_type = i32(s, 24) # 0: None, 1: RGB, 2: Raw/arbitrary + palette_length = i32(s, 28) + + if depth == 1: + self._mode, rawmode = "1", "1;I" + elif depth == 4: + self._mode, rawmode = "L", "L;4" + elif depth == 8: + self._mode = rawmode = "L" + elif depth == 24: + if file_type == 3: + self._mode, rawmode = "RGB", "RGB" + else: + self._mode, rawmode = "RGB", "BGR" + elif depth == 32: + if file_type == 3: + self._mode, rawmode = "RGB", "RGBX" + else: + self._mode, rawmode = "RGB", "BGRX" + else: + msg = "Unsupported Mode/Bit Depth" + raise SyntaxError(msg) + + if palette_length: + if palette_length > 1024: + msg = "Unsupported Color Palette Length" + raise SyntaxError(msg) + + if palette_type != 1: + msg = "Unsupported Palette Type" + raise SyntaxError(msg) + + offset = offset + palette_length + self.palette = ImagePalette.raw("RGB;L", self.fp.read(palette_length)) + if self.mode == "L": + self._mode = "P" + rawmode = rawmode.replace("L", "P") + + # 16 bit boundaries on stride + stride = ((self.size[0] * depth + 15) // 16) * 2 + + # file type: Type is the version (or flavor) of the bitmap + # file. The following values are typically found in the Type + # field: + # 0000h Old + # 0001h Standard + # 0002h Byte-encoded + # 0003h RGB format + # 0004h TIFF format + # 0005h IFF format + # FFFFh Experimental + + # Old and standard are the same, except for the length tag. + # byte-encoded is run-length-encoded + # RGB looks similar to standard, but RGB byte order + # TIFF and IFF mean that they were converted from T/IFF + # Experimental means that it's something else. + # (https://www.fileformat.info/format/sunraster/egff.htm) + + if file_type in (0, 1, 3, 4, 5): + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (rawmode, stride)) + ] + elif file_type == 2: + self.tile = [ + ImageFile._Tile("sun_rle", (0, 0) + self.size, offset, rawmode) + ] + else: + msg = "Unsupported Sun Raster file type" + raise SyntaxError(msg) + + +# +# registry + + +Image.register_open(SunImageFile.format, SunImageFile, _accept) + +Image.register_extension(SunImageFile.format, ".ras") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/TarIO.py b/presentation/.venv/lib/python3.12/site-packages/PIL/TarIO.py new file mode 100644 index 0000000..86490a4 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/TarIO.py @@ -0,0 +1,61 @@ +# +# The Python Imaging Library. +# $Id$ +# +# read files from within a tar file +# +# History: +# 95-06-18 fl Created +# 96-05-28 fl Open files in binary mode +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995-96. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io + +from . import ContainerIO + + +class TarIO(ContainerIO.ContainerIO[bytes]): + """A file object that provides read access to a given member of a TAR file.""" + + def __init__(self, tarfile: str, file: str) -> None: + """ + Create file object. + + :param tarfile: Name of TAR file. + :param file: Name of member file. + """ + self.fh = open(tarfile, "rb") + + while True: + s = self.fh.read(512) + if len(s) != 512: + self.fh.close() + + msg = "unexpected end of tar file" + raise OSError(msg) + + name = s[:100].decode("utf-8") + i = name.find("\0") + if i == 0: + self.fh.close() + + msg = "cannot find subfile" + raise OSError(msg) + if i > 0: + name = name[:i] + + size = int(s[124:135], 8) + + if file == name: + break + + self.fh.seek((size + 511) & (~511), io.SEEK_CUR) + + # Open region + super().__init__(self.fh, self.fh.tell(), size) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/TgaImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/TgaImagePlugin.py new file mode 100644 index 0000000..b2989a4 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/TgaImagePlugin.py @@ -0,0 +1,280 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TGA file handling +# +# History: +# 95-09-01 fl created (reads 24-bit files only) +# 97-01-04 fl support more TGA versions, including compressed images +# 98-07-04 fl fixed orientation and alpha layer bugs +# 98-09-11 fl fixed orientation for runlength decoder +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1995-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import warnings +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o16le as o16 + +# +# -------------------------------------------------------------------- +# Read RGA file + + +MODES = { + # map imagetype/depth to rawmode + (1, 8): "P", + (3, 1): "1", + (3, 8): "L", + (3, 16): "LA", + (2, 16): "BGRA;15Z", + (2, 24): "BGR", + (2, 32): "BGRA", +} + + +## +# Image plugin for Targa files. + + +class TgaImageFile(ImageFile.ImageFile): + format = "TGA" + format_description = "Targa" + + def _open(self) -> None: + # process header + assert self.fp is not None + + s = self.fp.read(18) + + id_len = s[0] + + colormaptype = s[1] + imagetype = s[2] + + depth = s[16] + + flags = s[17] + + self._size = i16(s, 12), i16(s, 14) + + # validate header fields + if ( + colormaptype not in (0, 1) + or self.size[0] <= 0 + or self.size[1] <= 0 + or depth not in (1, 8, 16, 24, 32) + ): + msg = "not a TGA file" + raise SyntaxError(msg) + + # image mode + if imagetype in (3, 11): + self._mode = "L" + if depth == 1: + self._mode = "1" # ??? + elif depth == 16: + self._mode = "LA" + elif imagetype in (1, 9): + self._mode = "P" if colormaptype else "L" + elif imagetype in (2, 10): + self._mode = "RGB" if depth == 24 else "RGBA" + else: + msg = "unknown TGA mode" + raise SyntaxError(msg) + + # orientation + orientation = flags & 0x30 + self._flip_horizontally = orientation in [0x10, 0x30] + if orientation in [0x20, 0x30]: + orientation = 1 + elif orientation in [0, 0x10]: + orientation = -1 + else: + msg = "unknown TGA orientation" + raise SyntaxError(msg) + + self.info["orientation"] = orientation + + if imagetype & 8: + self.info["compression"] = "tga_rle" + + if id_len: + self.info["id_section"] = self.fp.read(id_len) + + if colormaptype: + # read palette + start, size, mapdepth = i16(s, 3), i16(s, 5), s[7] + if mapdepth == 16: + self.palette = ImagePalette.raw( + "BGRA;15Z", bytes(2 * start) + self.fp.read(2 * size) + ) + self.palette.mode = "RGBA" + elif mapdepth == 24: + self.palette = ImagePalette.raw( + "BGR", bytes(3 * start) + self.fp.read(3 * size) + ) + elif mapdepth == 32: + self.palette = ImagePalette.raw( + "BGRA", bytes(4 * start) + self.fp.read(4 * size) + ) + else: + msg = "unknown TGA map depth" + raise SyntaxError(msg) + + # setup tile descriptor + try: + rawmode = MODES[(imagetype & 7, depth)] + if imagetype & 8: + # compressed + self.tile = [ + ImageFile._Tile( + "tga_rle", + (0, 0) + self.size, + self.fp.tell(), + (rawmode, orientation, depth), + ) + ] + else: + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + self.fp.tell(), + (rawmode, 0, orientation), + ) + ] + except KeyError: + pass # cannot decode + + def load_end(self) -> None: + if self.mode == "RGBA": + assert self.fp is not None + self.fp.seek(-26, os.SEEK_END) + footer = self.fp.read(26) + if footer.endswith(b"TRUEVISION-XFILE.\x00"): + # version 2 + extension_offset = i32(footer) + if extension_offset: + self.fp.seek(extension_offset + 494) + attributes_type = self.fp.read(1) + if attributes_type == b"\x00": + # No alpha + self.im.fillband(3, 255) + + if self._flip_horizontally: + self.im = self.im.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + + +# +# -------------------------------------------------------------------- +# Write TGA file + + +SAVE = { + "1": ("1", 1, 0, 3), + "L": ("L", 8, 0, 3), + "LA": ("LA", 16, 0, 3), + "P": ("P", 8, 1, 1), + "RGB": ("BGR", 24, 0, 2), + "RGBA": ("BGRA", 32, 0, 2), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + rawmode, bits, colormaptype, imagetype = SAVE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as TGA" + raise OSError(msg) from e + + if "rle" in im.encoderinfo: + rle = im.encoderinfo["rle"] + else: + compression = im.encoderinfo.get("compression", im.info.get("compression")) + rle = compression == "tga_rle" + if rle: + imagetype += 8 + + id_section = im.encoderinfo.get("id_section", im.info.get("id_section", "")) + id_len = len(id_section) + if id_len > 255: + id_len = 255 + id_section = id_section[:255] + warnings.warn("id_section has been trimmed to 255 characters") + + if colormaptype: + palette = im.im.getpalette("RGB", "BGR") + colormaplength, colormapentry = len(palette) // 3, 24 + else: + colormaplength, colormapentry = 0, 0 + + if im.mode in ("LA", "RGBA"): + flags = 8 + else: + flags = 0 + + orientation = im.encoderinfo.get("orientation", im.info.get("orientation", -1)) + if orientation > 0: + flags = flags | 0x20 + + fp.write( + o8(id_len) + + o8(colormaptype) + + o8(imagetype) + + o16(0) # colormapfirst + + o16(colormaplength) + + o8(colormapentry) + + o16(0) + + o16(0) + + o16(im.size[0]) + + o16(im.size[1]) + + o8(bits) + + o8(flags) + ) + + if id_section: + fp.write(id_section) + + if colormaptype: + fp.write(palette) + + if rle: + ImageFile._save( + im, + fp, + [ImageFile._Tile("tga_rle", (0, 0) + im.size, 0, (rawmode, orientation))], + ) + else: + ImageFile._save( + im, + fp, + [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, orientation))], + ) + + # write targa version 2 footer + fp.write(b"\000" * 8 + b"TRUEVISION-XFILE." + b"\000") + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(TgaImageFile.format, TgaImageFile) +Image.register_save(TgaImageFile.format, _save) + +Image.register_extensions(TgaImageFile.format, [".tga", ".icb", ".vda", ".vst"]) + +Image.register_mime(TgaImageFile.format, "image/x-tga") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/TiffImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/TiffImagePlugin.py new file mode 100644 index 0000000..5094faa --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/TiffImagePlugin.py @@ -0,0 +1,2353 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TIFF file handling +# +# TIFF is a flexible, if somewhat aged, image file format originally +# defined by Aldus. Although TIFF supports a wide variety of pixel +# layouts and compression methods, the name doesn't really stand for +# "thousands of incompatible file formats," it just feels that way. +# +# To read TIFF data from a stream, the stream must be seekable. For +# progressive decoding, make sure to use TIFF files where the tag +# directory is placed first in the file. +# +# History: +# 1995-09-01 fl Created +# 1996-05-04 fl Handle JPEGTABLES tag +# 1996-05-18 fl Fixed COLORMAP support +# 1997-01-05 fl Fixed PREDICTOR support +# 1997-08-27 fl Added support for rational tags (from Perry Stoll) +# 1998-01-10 fl Fixed seek/tell (from Jan Blom) +# 1998-07-15 fl Use private names for internal variables +# 1999-06-13 fl Rewritten for PIL 1.0 (1.0) +# 2000-10-11 fl Additional fixes for Python 2.0 (1.1) +# 2001-04-17 fl Fixed rewind support (seek to frame 0) (1.2) +# 2001-05-12 fl Added write support for more tags (from Greg Couch) (1.3) +# 2001-12-18 fl Added workaround for broken Matrox library +# 2002-01-18 fl Don't mess up if photometric tag is missing (D. Alan Stewart) +# 2003-05-19 fl Check FILLORDER tag +# 2003-09-26 fl Added RGBa support +# 2004-02-24 fl Added DPI support; fixed rational write support +# 2005-02-07 fl Added workaround for broken Corel Draw 10 files +# 2006-01-09 fl Added support for float/double tags (from Russell Nelson) +# +# Copyright (c) 1997-2006 by Secret Labs AB. All rights reserved. +# Copyright (c) 1995-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import itertools +import logging +import math +import os +import struct +import warnings +from collections.abc import Callable, MutableMapping +from fractions import Fraction +from numbers import Number, Rational +from typing import IO, Any, cast + +from . import ExifTags, Image, ImageFile, ImageOps, ImagePalette, TiffTags +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._util import DeferredError, is_path +from .TiffTags import TYPES + +TYPE_CHECKING = False +if TYPE_CHECKING: + from collections.abc import Iterator + from typing import NoReturn + + from ._typing import Buffer, IntegralLike, StrOrBytesPath + +logger = logging.getLogger(__name__) + +# Set these to true to force use of libtiff for reading or writing. +READ_LIBTIFF = False +WRITE_LIBTIFF = False +STRIP_SIZE = 65536 + +II = b"II" # little-endian (Intel style) +MM = b"MM" # big-endian (Motorola style) + +# +# -------------------------------------------------------------------- +# Read TIFF files + +# a few tag names, just to make the code below a bit more readable +OSUBFILETYPE = 255 +IMAGEWIDTH = 256 +IMAGELENGTH = 257 +BITSPERSAMPLE = 258 +COMPRESSION = 259 +PHOTOMETRIC_INTERPRETATION = 262 +FILLORDER = 266 +IMAGEDESCRIPTION = 270 +STRIPOFFSETS = 273 +SAMPLESPERPIXEL = 277 +ROWSPERSTRIP = 278 +STRIPBYTECOUNTS = 279 +X_RESOLUTION = 282 +Y_RESOLUTION = 283 +PLANAR_CONFIGURATION = 284 +RESOLUTION_UNIT = 296 +TRANSFERFUNCTION = 301 +SOFTWARE = 305 +DATE_TIME = 306 +ARTIST = 315 +PREDICTOR = 317 +COLORMAP = 320 +TILEWIDTH = 322 +TILELENGTH = 323 +TILEOFFSETS = 324 +TILEBYTECOUNTS = 325 +SUBIFD = 330 +EXTRASAMPLES = 338 +SAMPLEFORMAT = 339 +JPEGTABLES = 347 +YCBCRSUBSAMPLING = 530 +REFERENCEBLACKWHITE = 532 +COPYRIGHT = 33432 +IPTC_NAA_CHUNK = 33723 # newsphoto properties +PHOTOSHOP_CHUNK = 34377 # photoshop properties +ICCPROFILE = 34675 +EXIFIFD = 34665 +XMP = 700 +JPEGQUALITY = 65537 # pseudo-tag by libtiff + +# https://github.com/imagej/ImageJA/blob/master/src/main/java/ij/io/TiffDecoder.java +IMAGEJ_META_DATA_BYTE_COUNTS = 50838 +IMAGEJ_META_DATA = 50839 + +COMPRESSION_INFO = { + # Compression => pil compression name + 1: "raw", + 2: "tiff_ccitt", + 3: "group3", + 4: "group4", + 5: "tiff_lzw", + 6: "tiff_jpeg", # obsolete + 7: "jpeg", + 8: "tiff_adobe_deflate", + 32771: "tiff_raw_16", # 16-bit padding + 32773: "packbits", + 32809: "tiff_thunderscan", + 32946: "tiff_deflate", + 34676: "tiff_sgilog", + 34677: "tiff_sgilog24", + 34925: "lzma", + 50000: "zstd", + 50001: "webp", +} + +COMPRESSION_INFO_REV = {v: k for k, v in COMPRESSION_INFO.items()} + +OPEN_INFO = { + # (ByteOrder, PhotoInterpretation, SampleFormat, FillOrder, BitsPerSample, + # ExtraSamples) => mode, rawmode + (II, 0, (1,), 1, (1,), ()): ("1", "1;I"), + (MM, 0, (1,), 1, (1,), ()): ("1", "1;I"), + (II, 0, (1,), 2, (1,), ()): ("1", "1;IR"), + (MM, 0, (1,), 2, (1,), ()): ("1", "1;IR"), + (II, 1, (1,), 1, (1,), ()): ("1", "1"), + (MM, 1, (1,), 1, (1,), ()): ("1", "1"), + (II, 1, (1,), 2, (1,), ()): ("1", "1;R"), + (MM, 1, (1,), 2, (1,), ()): ("1", "1;R"), + (II, 0, (1,), 1, (2,), ()): ("L", "L;2I"), + (MM, 0, (1,), 1, (2,), ()): ("L", "L;2I"), + (II, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), + (MM, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), + (II, 1, (1,), 1, (2,), ()): ("L", "L;2"), + (MM, 1, (1,), 1, (2,), ()): ("L", "L;2"), + (II, 1, (1,), 2, (2,), ()): ("L", "L;2R"), + (MM, 1, (1,), 2, (2,), ()): ("L", "L;2R"), + (II, 0, (1,), 1, (4,), ()): ("L", "L;4I"), + (MM, 0, (1,), 1, (4,), ()): ("L", "L;4I"), + (II, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), + (MM, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), + (II, 1, (1,), 1, (4,), ()): ("L", "L;4"), + (MM, 1, (1,), 1, (4,), ()): ("L", "L;4"), + (II, 1, (1,), 2, (4,), ()): ("L", "L;4R"), + (MM, 1, (1,), 2, (4,), ()): ("L", "L;4R"), + (II, 0, (1,), 1, (8,), ()): ("L", "L;I"), + (MM, 0, (1,), 1, (8,), ()): ("L", "L;I"), + (II, 0, (1,), 2, (8,), ()): ("L", "L;IR"), + (MM, 0, (1,), 2, (8,), ()): ("L", "L;IR"), + (II, 1, (1,), 1, (8,), ()): ("L", "L"), + (MM, 1, (1,), 1, (8,), ()): ("L", "L"), + (II, 1, (2,), 1, (8,), ()): ("L", "L"), + (MM, 1, (2,), 1, (8,), ()): ("L", "L"), + (II, 1, (1,), 2, (8,), ()): ("L", "L;R"), + (MM, 1, (1,), 2, (8,), ()): ("L", "L;R"), + (II, 1, (1,), 1, (12,), ()): ("I;16", "I;12"), + (II, 0, (1,), 1, (16,), ()): ("I;16", "I;16"), + (II, 1, (1,), 1, (16,), ()): ("I;16", "I;16"), + (MM, 1, (1,), 1, (16,), ()): ("I;16B", "I;16B"), + (II, 1, (1,), 2, (16,), ()): ("I;16", "I;16R"), + (II, 1, (2,), 1, (16,), ()): ("I", "I;16S"), + (MM, 1, (2,), 1, (16,), ()): ("I", "I;16BS"), + (II, 0, (3,), 1, (32,), ()): ("F", "F;32F"), + (MM, 0, (3,), 1, (32,), ()): ("F", "F;32BF"), + (II, 1, (1,), 1, (32,), ()): ("I", "I;32N"), + (II, 1, (2,), 1, (32,), ()): ("I", "I;32S"), + (MM, 1, (2,), 1, (32,), ()): ("I", "I;32BS"), + (II, 1, (3,), 1, (32,), ()): ("F", "F;32F"), + (MM, 1, (3,), 1, (32,), ()): ("F", "F;32BF"), + (II, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), + (MM, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), + (II, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (MM, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (II, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), + (MM, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), + (II, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples + (MM, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples + (II, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 + (MM, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 + (II, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16L"), + (MM, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGB", "RGBX;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGB", "RGBX;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16B"), + (II, 3, (1,), 1, (1,), ()): ("P", "P;1"), + (MM, 3, (1,), 1, (1,), ()): ("P", "P;1"), + (II, 3, (1,), 2, (1,), ()): ("P", "P;1R"), + (MM, 3, (1,), 2, (1,), ()): ("P", "P;1R"), + (II, 3, (1,), 1, (2,), ()): ("P", "P;2"), + (MM, 3, (1,), 1, (2,), ()): ("P", "P;2"), + (II, 3, (1,), 2, (2,), ()): ("P", "P;2R"), + (MM, 3, (1,), 2, (2,), ()): ("P", "P;2R"), + (II, 3, (1,), 1, (4,), ()): ("P", "P;4"), + (MM, 3, (1,), 1, (4,), ()): ("P", "P;4"), + (II, 3, (1,), 2, (4,), ()): ("P", "P;4R"), + (MM, 3, (1,), 2, (4,), ()): ("P", "P;4R"), + (II, 3, (1,), 1, (8,), ()): ("P", "P"), + (MM, 3, (1,), 1, (8,), ()): ("P", "P"), + (II, 3, (1,), 1, (8, 8), (0,)): ("P", "PX"), + (MM, 3, (1,), 1, (8, 8), (0,)): ("P", "PX"), + (II, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), + (MM, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), + (II, 3, (1,), 2, (8,), ()): ("P", "P;R"), + (MM, 3, (1,), 2, (8,), ()): ("P", "P;R"), + (II, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), + (MM, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), + (II, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), + (MM, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), + (II, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), + (MM, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), + (II, 5, (1,), 1, (16, 16, 16, 16), ()): ("CMYK", "CMYK;16L"), + (MM, 5, (1,), 1, (16, 16, 16, 16), ()): ("CMYK", "CMYK;16B"), + (II, 6, (1,), 1, (8,), ()): ("L", "L"), + (MM, 6, (1,), 1, (8,), ()): ("L", "L"), + # JPEG compressed images handled by LibTiff and auto-converted to RGBX + # Minimal Baseline TIFF requires YCbCr images to have 3 SamplesPerPixel + (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), + (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), + (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), + (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), +} + +MAX_SAMPLESPERPIXEL = max(len(key_tp[4]) for key_tp in OPEN_INFO) + +PREFIXES = [ + b"MM\x00\x2a", # Valid TIFF header with big-endian byte order + b"II\x2a\x00", # Valid TIFF header with little-endian byte order + b"MM\x2a\x00", # Invalid TIFF header, assume big-endian + b"II\x00\x2a", # Invalid TIFF header, assume little-endian + b"MM\x00\x2b", # BigTIFF with big-endian byte order + b"II\x2b\x00", # BigTIFF with little-endian byte order +] + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(tuple(PREFIXES)) + + +def _limit_rational( + val: float | Fraction | IFDRational, max_val: int +) -> tuple[IntegralLike, IntegralLike]: + inv = abs(val) > 1 + n_d = IFDRational(1 / val if inv else val).limit_rational(max_val) + return n_d[::-1] if inv else n_d + + +def _limit_signed_rational( + val: IFDRational, max_val: int, min_val: int +) -> tuple[IntegralLike, IntegralLike]: + frac = Fraction(val) + n_d: tuple[IntegralLike, IntegralLike] = frac.numerator, frac.denominator + + if min(float(i) for i in n_d) < min_val: + n_d = _limit_rational(val, abs(min_val)) + + n_d_float = tuple(float(i) for i in n_d) + if max(n_d_float) > max_val: + n_d = _limit_rational(n_d_float[0] / n_d_float[1], max_val) + + return n_d + + +## +# Wrapper for TIFF IFDs. + +_load_dispatch = {} +_write_dispatch = {} + + +def _delegate(op: str) -> Any: + def delegate( + self: IFDRational, *args: tuple[float, ...] + ) -> bool | float | Fraction: + return getattr(self._val, op)(*args) + + return delegate + + +class IFDRational(Rational): + """Implements a rational class where 0/0 is a legal value to match + the in the wild use of exif rationals. + + e.g., DigitalZoomRatio - 0.00/0.00 indicates that no digital zoom was used + """ + + """ If the denominator is 0, store this as a float('nan'), otherwise store + as a fractions.Fraction(). Delegate as appropriate + + """ + + __slots__ = ("_numerator", "_denominator", "_val") + + def __init__( + self, value: float | Fraction | IFDRational, denominator: int = 1 + ) -> None: + """ + :param value: either an integer numerator, a + float/rational/other number, or an IFDRational + :param denominator: Optional integer denominator + """ + self._val: Fraction | float + if isinstance(value, IFDRational): + self._numerator = value.numerator + self._denominator = value.denominator + self._val = value._val + return + + if isinstance(value, Fraction): + self._numerator = value.numerator + self._denominator = value.denominator + else: + if TYPE_CHECKING: + self._numerator = cast(IntegralLike, value) + else: + self._numerator = value + self._denominator = denominator + + if denominator == 0: + self._val = float("nan") + elif denominator == 1: + self._val = Fraction(value) + elif int(value) == value: + self._val = Fraction(int(value), denominator) + else: + self._val = Fraction(value / denominator) + + @property + def numerator(self) -> IntegralLike: + return self._numerator + + @property + def denominator(self) -> int: + return self._denominator + + def limit_rational(self, max_denominator: int) -> tuple[IntegralLike, int]: + """ + + :param max_denominator: Integer, the maximum denominator value + :returns: Tuple of (numerator, denominator) + """ + + if self.denominator == 0: + return self.numerator, self.denominator + + assert isinstance(self._val, Fraction) + f = self._val.limit_denominator(max_denominator) + return f.numerator, f.denominator + + def __repr__(self) -> str: + return str(float(self._val)) + + def __hash__(self) -> int: # type: ignore[override] + return self._val.__hash__() + + def __eq__(self, other: object) -> bool: + val = self._val + if isinstance(other, IFDRational): + other = other._val + if isinstance(other, float): + val = float(val) + return val == other + + def __getstate__(self) -> list[float | Fraction | IntegralLike]: + return [self._val, self._numerator, self._denominator] + + def __setstate__(self, state: list[float | Fraction | IntegralLike]) -> None: + IFDRational.__init__(self, 0) + _val, _numerator, _denominator = state + assert isinstance(_val, (float, Fraction)) + self._val = _val + if TYPE_CHECKING: + self._numerator = cast(IntegralLike, _numerator) + else: + self._numerator = _numerator + assert isinstance(_denominator, int) + self._denominator = _denominator + + """ a = ['add','radd', 'sub', 'rsub', 'mul', 'rmul', + 'truediv', 'rtruediv', 'floordiv', 'rfloordiv', + 'mod','rmod', 'pow','rpow', 'pos', 'neg', + 'abs', 'trunc', 'lt', 'gt', 'le', 'ge', 'bool', + 'ceil', 'floor', 'round'] + print("\n".join("__%s__ = _delegate('__%s__')" % (s,s) for s in a)) + """ + + __add__ = _delegate("__add__") + __radd__ = _delegate("__radd__") + __sub__ = _delegate("__sub__") + __rsub__ = _delegate("__rsub__") + __mul__ = _delegate("__mul__") + __rmul__ = _delegate("__rmul__") + __truediv__ = _delegate("__truediv__") + __rtruediv__ = _delegate("__rtruediv__") + __floordiv__ = _delegate("__floordiv__") + __rfloordiv__ = _delegate("__rfloordiv__") + __mod__ = _delegate("__mod__") + __rmod__ = _delegate("__rmod__") + __pow__ = _delegate("__pow__") + __rpow__ = _delegate("__rpow__") + __pos__ = _delegate("__pos__") + __neg__ = _delegate("__neg__") + __abs__ = _delegate("__abs__") + __trunc__ = _delegate("__trunc__") + __lt__ = _delegate("__lt__") + __gt__ = _delegate("__gt__") + __le__ = _delegate("__le__") + __ge__ = _delegate("__ge__") + __bool__ = _delegate("__bool__") + __ceil__ = _delegate("__ceil__") + __floor__ = _delegate("__floor__") + __round__ = _delegate("__round__") + # Python >= 3.11 + if hasattr(Fraction, "__int__"): + __int__ = _delegate("__int__") + + +_LoaderFunc = Callable[["ImageFileDirectory_v2", bytes, bool], Any] + + +def _register_loader(idx: int, size: int) -> Callable[[_LoaderFunc], _LoaderFunc]: + def decorator(func: _LoaderFunc) -> _LoaderFunc: + from .TiffTags import TYPES + + if func.__name__.startswith("load_"): + TYPES[idx] = func.__name__[5:].replace("_", " ") + _load_dispatch[idx] = size, func # noqa: F821 + return func + + return decorator + + +def _register_writer(idx: int) -> Callable[[Callable[..., Any]], Callable[..., Any]]: + def decorator(func: Callable[..., Any]) -> Callable[..., Any]: + _write_dispatch[idx] = func # noqa: F821 + return func + + return decorator + + +def _register_basic(idx_fmt_name: tuple[int, str, str]) -> None: + from .TiffTags import TYPES + + idx, fmt, name = idx_fmt_name + TYPES[idx] = name + size = struct.calcsize(f"={fmt}") + + def basic_handler( + self: ImageFileDirectory_v2, data: bytes, legacy_api: bool = True + ) -> tuple[Any, ...]: + return self._unpack(f"{len(data) // size}{fmt}", data) + + _load_dispatch[idx] = size, basic_handler # noqa: F821 + _write_dispatch[idx] = lambda self, *values: ( # noqa: F821 + b"".join(self._pack(fmt, value) for value in values) + ) + + +if TYPE_CHECKING: + _IFDv2Base = MutableMapping[int, Any] +else: + _IFDv2Base = MutableMapping + + +class ImageFileDirectory_v2(_IFDv2Base): + """This class represents a TIFF tag directory. To speed things up, we + don't decode tags unless they're asked for. + + Exposes a dictionary interface of the tags in the directory:: + + ifd = ImageFileDirectory_v2() + ifd[key] = 'Some Data' + ifd.tagtype[key] = TiffTags.ASCII + print(ifd[key]) + 'Some Data' + + Individual values are returned as the strings or numbers, sequences are + returned as tuples of the values. + + The tiff metadata type of each item is stored in a dictionary of + tag types in + :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v2.tagtype`. The types + are read from a tiff file, guessed from the type added, or added + manually. + + Data Structures: + + * ``self.tagtype = {}`` + + * Key: numerical TIFF tag number + * Value: integer corresponding to the data type from + :py:data:`.TiffTags.TYPES` + + .. versionadded:: 3.0.0 + + 'Internal' data structures: + + * ``self._tags_v2 = {}`` + + * Key: numerical TIFF tag number + * Value: decoded data, as tuple for multiple values + + * ``self._tagdata = {}`` + + * Key: numerical TIFF tag number + * Value: undecoded byte string from file + + * ``self._tags_v1 = {}`` + + * Key: numerical TIFF tag number + * Value: decoded data in the v1 format + + Tags will be found in the private attributes ``self._tagdata``, and in + ``self._tags_v2`` once decoded. + + ``self.legacy_api`` is a value for internal use, and shouldn't be changed + from outside code. In cooperation with + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`, if ``legacy_api`` + is true, then decoded tags will be populated into both ``_tags_v1`` and + ``_tags_v2``. ``_tags_v2`` will be used if this IFD is used in the TIFF + save routine. Tags should be read from ``_tags_v1`` if + ``legacy_api == true``. + + """ + + _load_dispatch: dict[int, tuple[int, _LoaderFunc]] = {} + _write_dispatch: dict[int, Callable[..., Any]] = {} + + def __init__( + self, + ifh: bytes = b"II\x2a\x00\x00\x00\x00\x00", + prefix: bytes | None = None, + group: int | None = None, + ) -> None: + """Initialize an ImageFileDirectory. + + To construct an ImageFileDirectory from a real file, pass the 8-byte + magic header to the constructor. To only set the endianness, pass it + as the 'prefix' keyword argument. + + :param ifh: One of the accepted magic headers (cf. PREFIXES); also sets + endianness. + :param prefix: Override the endianness of the file. + """ + if not _accept(ifh): + msg = f"not a TIFF file (header {repr(ifh)} not valid)" + raise SyntaxError(msg) + self._prefix = prefix if prefix is not None else ifh[:2] + if self._prefix == MM: + self._endian = ">" + elif self._prefix == II: + self._endian = "<" + else: + msg = "not a TIFF IFD" + raise SyntaxError(msg) + self._bigtiff = ifh[2] == 43 + self.group = group + self.tagtype: dict[int, int] = {} + """ Dictionary of tag types """ + self.reset() + self.next = ( + self._unpack("Q", ifh[8:])[0] + if self._bigtiff + else self._unpack("L", ifh[4:])[0] + ) + self._legacy_api = False + + prefix = property(lambda self: self._prefix) + offset = property(lambda self: self._offset) + + @property + def legacy_api(self) -> bool: + return self._legacy_api + + @legacy_api.setter + def legacy_api(self, value: bool) -> NoReturn: + msg = "Not allowing setting of legacy api" + raise Exception(msg) + + def reset(self) -> None: + self._tags_v1: dict[int, Any] = {} # will remain empty if legacy_api is false + self._tags_v2: dict[int, Any] = {} # main tag storage + self._tagdata: dict[int, bytes] = {} + self.tagtype = {} # added 2008-06-05 by Florian Hoech + self._next = None + self._offset: int | None = None + + def __str__(self) -> str: + return str(dict(self)) + + def named(self) -> dict[str, Any]: + """ + :returns: dict of name|key: value + + Returns the complete tag dictionary, with named tags where possible. + """ + return { + TiffTags.lookup(code, self.group).name: value + for code, value in self.items() + } + + def __len__(self) -> int: + return len(set(self._tagdata) | set(self._tags_v2)) + + def __getitem__(self, tag: int) -> Any: + if tag not in self._tags_v2: # unpack on the fly + data = self._tagdata[tag] + typ = self.tagtype[tag] + size, handler = self._load_dispatch[typ] + self[tag] = handler(self, data, self.legacy_api) # check type + val = self._tags_v2[tag] + if self.legacy_api and not isinstance(val, (tuple, bytes)): + val = (val,) + return val + + def __contains__(self, tag: object) -> bool: + return tag in self._tags_v2 or tag in self._tagdata + + def __setitem__(self, tag: int, value: Any) -> None: + self._setitem(tag, value, self.legacy_api) + + def _setitem(self, tag: int, value: Any, legacy_api: bool) -> None: + basetypes = (Number, bytes, str) + + info = TiffTags.lookup(tag, self.group) + values = [value] if isinstance(value, basetypes) else value + + if tag not in self.tagtype: + if info.type: + self.tagtype[tag] = info.type + else: + self.tagtype[tag] = TiffTags.UNDEFINED + if all(isinstance(v, IFDRational) for v in values): + for v in values: + assert isinstance(v, IFDRational) + if v < 0: + self.tagtype[tag] = TiffTags.SIGNED_RATIONAL + break + else: + self.tagtype[tag] = TiffTags.RATIONAL + elif all(isinstance(v, int) for v in values): + short = True + signed_short = True + long = True + for v in values: + assert isinstance(v, int) + if short and not (0 <= v < 2**16): + short = False + if signed_short and not (-(2**15) < v < 2**15): + signed_short = False + if long and v < 0: + long = False + if short: + self.tagtype[tag] = TiffTags.SHORT + elif signed_short: + self.tagtype[tag] = TiffTags.SIGNED_SHORT + elif long: + self.tagtype[tag] = TiffTags.LONG + else: + self.tagtype[tag] = TiffTags.SIGNED_LONG + elif all(isinstance(v, float) for v in values): + self.tagtype[tag] = TiffTags.DOUBLE + elif all(isinstance(v, str) for v in values): + self.tagtype[tag] = TiffTags.ASCII + elif all(isinstance(v, bytes) for v in values): + self.tagtype[tag] = TiffTags.BYTE + + if self.tagtype[tag] == TiffTags.UNDEFINED: + values = [ + v.encode("ascii", "replace") if isinstance(v, str) else v + for v in values + ] + elif self.tagtype[tag] == TiffTags.RATIONAL: + values = [float(v) if isinstance(v, int) else v for v in values] + + is_ifd = self.tagtype[tag] == TiffTags.LONG and isinstance(values, dict) + if not is_ifd: + values = tuple( + info.cvt_enum(value) if isinstance(value, str) else value + for value in values + ) + + dest = self._tags_v1 if legacy_api else self._tags_v2 + + # Three branches: + # Spec'd length == 1, Actual length 1, store as element + # Spec'd length == 1, Actual > 1, Warn and truncate. Formerly barfed. + # No Spec, Actual length 1, Formerly (<4.2) returned a 1 element tuple. + # Don't mess with the legacy api, since it's frozen. + if not is_ifd and ( + (info.length == 1) + or self.tagtype[tag] == TiffTags.BYTE + or (info.length is None and len(values) == 1 and not legacy_api) + ): + # Don't mess with the legacy api, since it's frozen. + if legacy_api and self.tagtype[tag] in [ + TiffTags.RATIONAL, + TiffTags.SIGNED_RATIONAL, + ]: # rationals + values = (values,) + try: + (dest[tag],) = values + except ValueError: + # We've got a builtin tag with 1 expected entry + warnings.warn( + f"Metadata Warning, tag {tag} had too many entries: " + f"{len(values)}, expected 1" + ) + dest[tag] = values[0] + + else: + # Spec'd length > 1 or undefined + # Unspec'd, and length > 1 + dest[tag] = values + + def __delitem__(self, tag: int) -> None: + self._tags_v2.pop(tag, None) + self._tags_v1.pop(tag, None) + self._tagdata.pop(tag, None) + + def __iter__(self) -> Iterator[int]: + return iter(set(self._tagdata) | set(self._tags_v2)) + + def _unpack(self, fmt: str, data: bytes) -> tuple[Any, ...]: + return struct.unpack(self._endian + fmt, data) + + def _pack(self, fmt: str, *values: Any) -> bytes: + return struct.pack(self._endian + fmt, *values) + + list( + map( + _register_basic, + [ + (TiffTags.SHORT, "H", "short"), + (TiffTags.LONG, "L", "long"), + (TiffTags.SIGNED_BYTE, "b", "signed byte"), + (TiffTags.SIGNED_SHORT, "h", "signed short"), + (TiffTags.SIGNED_LONG, "l", "signed long"), + (TiffTags.FLOAT, "f", "float"), + (TiffTags.DOUBLE, "d", "double"), + (TiffTags.IFD, "L", "long"), + (TiffTags.LONG8, "Q", "long8"), + ], + ) + ) + + @_register_loader(1, 1) # Basic type, except for the legacy API. + def load_byte(self, data: bytes, legacy_api: bool = True) -> bytes: + return data + + @_register_writer(1) # Basic type, except for the legacy API. + def write_byte(self, data: bytes | int | IFDRational) -> bytes: + if isinstance(data, IFDRational): + data = int(data) + if isinstance(data, int): + data = bytes((data,)) + return data + + @_register_loader(2, 1) + def load_string(self, data: bytes, legacy_api: bool = True) -> str: + if data.endswith(b"\0"): + data = data[:-1] + return data.decode("latin-1", "replace") + + @_register_writer(2) + def write_string(self, value: str | bytes | int) -> bytes: + # remerge of https://github.com/python-pillow/Pillow/pull/1416 + if isinstance(value, int): + value = str(value) + if not isinstance(value, bytes): + value = value.encode("ascii", "replace") + return value + b"\0" + + @_register_loader(5, 8) + def load_rational( + self, data: bytes, legacy_api: bool = True + ) -> tuple[tuple[int, int] | IFDRational, ...]: + vals = self._unpack(f"{len(data) // 4}L", data) + + def combine(a: int, b: int) -> tuple[int, int] | IFDRational: + return (a, b) if legacy_api else IFDRational(a, b) + + return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) + + @_register_writer(5) + def write_rational(self, *values: IFDRational) -> bytes: + return b"".join( + self._pack("2L", *_limit_rational(frac, 2**32 - 1)) for frac in values + ) + + @_register_loader(7, 1) + def load_undefined(self, data: bytes, legacy_api: bool = True) -> bytes: + return data + + @_register_writer(7) + def write_undefined(self, value: bytes | int | IFDRational) -> bytes: + if isinstance(value, IFDRational): + value = int(value) + if isinstance(value, int): + value = str(value).encode("ascii", "replace") + return value + + @_register_loader(10, 8) + def load_signed_rational( + self, data: bytes, legacy_api: bool = True + ) -> tuple[tuple[int, int] | IFDRational, ...]: + vals = self._unpack(f"{len(data) // 4}l", data) + + def combine(a: int, b: int) -> tuple[int, int] | IFDRational: + return (a, b) if legacy_api else IFDRational(a, b) + + return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) + + @_register_writer(10) + def write_signed_rational(self, *values: IFDRational) -> bytes: + return b"".join( + self._pack("2l", *_limit_signed_rational(frac, 2**31 - 1, -(2**31))) + for frac in values + ) + + def _ensure_read(self, fp: IO[bytes], size: int) -> bytes: + ret = fp.read(size) + if len(ret) != size: + msg = ( + "Corrupt EXIF data. " + f"Expecting to read {size} bytes but only got {len(ret)}. " + ) + raise OSError(msg) + return ret + + def load(self, fp: IO[bytes]) -> None: + self.reset() + self._offset = fp.tell() + + try: + tag_count = ( + self._unpack("Q", self._ensure_read(fp, 8)) + if self._bigtiff + else self._unpack("H", self._ensure_read(fp, 2)) + )[0] + for i in range(tag_count): + tag, typ, count, data = ( + self._unpack("HHQ8s", self._ensure_read(fp, 20)) + if self._bigtiff + else self._unpack("HHL4s", self._ensure_read(fp, 12)) + ) + + tagname = TiffTags.lookup(tag, self.group).name + typname = TYPES.get(typ, "unknown") + msg = f"tag: {tagname} ({tag}) - type: {typname} ({typ})" + + try: + unit_size, handler = self._load_dispatch[typ] + except KeyError: + logger.debug("%s - unsupported type %s", msg, typ) + continue # ignore unsupported type + size = count * unit_size + if size > (8 if self._bigtiff else 4): + here = fp.tell() + (offset,) = self._unpack("Q" if self._bigtiff else "L", data) + msg += f" Tag Location: {here} - Data Location: {offset}" + fp.seek(offset) + data = ImageFile._safe_read(fp, size) + fp.seek(here) + else: + data = data[:size] + + if len(data) != size: + warnings.warn( + "Possibly corrupt EXIF data. " + f"Expecting to read {size} bytes but only got {len(data)}." + f" Skipping tag {tag}" + ) + logger.debug(msg) + continue + + if not data: + logger.debug(msg) + continue + + self._tagdata[tag] = data + self.tagtype[tag] = typ + + msg += " - value: " + msg += f"<table: {size} bytes>" if size > 32 else repr(data) + + logger.debug(msg) + + (self.next,) = ( + self._unpack("Q", self._ensure_read(fp, 8)) + if self._bigtiff + else self._unpack("L", self._ensure_read(fp, 4)) + ) + except OSError as msg: + warnings.warn(str(msg)) + return + + def _get_ifh(self) -> bytes: + ifh = self._prefix + self._pack("H", 43 if self._bigtiff else 42) + if self._bigtiff: + ifh += self._pack("HH", 8, 0) + ifh += self._pack("Q", 16) if self._bigtiff else self._pack("L", 8) + + return ifh + + def tobytes(self, offset: int = 0) -> bytes: + # FIXME What about tagdata? + result = self._pack("Q" if self._bigtiff else "H", len(self._tags_v2)) + + entries: list[tuple[int, int, int, bytes, bytes]] = [] + + fmt = "Q" if self._bigtiff else "L" + fmt_size = 8 if self._bigtiff else 4 + offset += ( + len(result) + len(self._tags_v2) * (20 if self._bigtiff else 12) + fmt_size + ) + stripoffsets = None + + # pass 1: convert tags to binary format + # always write tags in ascending order + for tag, value in sorted(self._tags_v2.items()): + if tag == STRIPOFFSETS: + stripoffsets = len(entries) + typ = self.tagtype[tag] + logger.debug("Tag %s, Type: %s, Value: %s", tag, typ, repr(value)) + is_ifd = typ == TiffTags.LONG and isinstance(value, dict) + if is_ifd: + ifd = ImageFileDirectory_v2(self._get_ifh(), group=tag) + values = self._tags_v2[tag] + for ifd_tag, ifd_value in values.items(): + ifd[ifd_tag] = ifd_value + data = ifd.tobytes(offset) + else: + values = value if isinstance(value, tuple) else (value,) + data = self._write_dispatch[typ](self, *values) + + tagname = TiffTags.lookup(tag, self.group).name + typname = "ifd" if is_ifd else TYPES.get(typ, "unknown") + msg = f"save: {tagname} ({tag}) - type: {typname} ({typ}) - value: " + msg += f"<table: {len(data)} bytes>" if len(data) >= 16 else str(values) + logger.debug(msg) + + # count is sum of lengths for string and arbitrary data + if is_ifd: + count = 1 + elif typ in [TiffTags.BYTE, TiffTags.ASCII, TiffTags.UNDEFINED]: + count = len(data) + else: + count = len(values) + # figure out if data fits into the entry + if len(data) <= fmt_size: + entries.append((tag, typ, count, data.ljust(fmt_size, b"\0"), b"")) + else: + entries.append((tag, typ, count, self._pack(fmt, offset), data)) + offset += (len(data) + 1) // 2 * 2 # pad to word + + # update strip offset data to point beyond auxiliary data + if stripoffsets is not None: + tag, typ, count, value, data = entries[stripoffsets] + if data: + size, handler = self._load_dispatch[typ] + values = [val + offset for val in handler(self, data, self.legacy_api)] + data = self._write_dispatch[typ](self, *values) + else: + value = self._pack(fmt, self._unpack(fmt, value)[0] + offset) + entries[stripoffsets] = tag, typ, count, value, data + + # pass 2: write entries to file + for tag, typ, count, value, data in entries: + logger.debug("%s %s %s %s %s", tag, typ, count, repr(value), repr(data)) + result += self._pack( + "HHQ8s" if self._bigtiff else "HHL4s", tag, typ, count, value + ) + + # -- overwrite here for multi-page -- + result += self._pack(fmt, 0) # end of entries + + # pass 3: write auxiliary data to file + for tag, typ, count, value, data in entries: + result += data + if len(data) & 1: + result += b"\0" + + return result + + def save(self, fp: IO[bytes]) -> int: + if fp.tell() == 0: # skip TIFF header on subsequent pages + fp.write(self._get_ifh()) + + offset = fp.tell() + result = self.tobytes(offset) + fp.write(result) + return offset + len(result) + + +ImageFileDirectory_v2._load_dispatch = _load_dispatch +ImageFileDirectory_v2._write_dispatch = _write_dispatch +for idx, name in TYPES.items(): + name = name.replace(" ", "_") + setattr(ImageFileDirectory_v2, f"load_{name}", _load_dispatch[idx][1]) + setattr(ImageFileDirectory_v2, f"write_{name}", _write_dispatch[idx]) +del _load_dispatch, _write_dispatch, idx, name + + +# Legacy ImageFileDirectory support. +class ImageFileDirectory_v1(ImageFileDirectory_v2): + """This class represents the **legacy** interface to a TIFF tag directory. + + Exposes a dictionary interface of the tags in the directory:: + + ifd = ImageFileDirectory_v1() + ifd[key] = 'Some Data' + ifd.tagtype[key] = TiffTags.ASCII + print(ifd[key]) + ('Some Data',) + + Also contains a dictionary of tag types as read from the tiff image file, + :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v1.tagtype`. + + Values are returned as a tuple. + + .. deprecated:: 3.0.0 + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + self._legacy_api = True + + tags = property(lambda self: self._tags_v1) + tagdata = property(lambda self: self._tagdata) + + # defined in ImageFileDirectory_v2 + tagtype: dict[int, int] + """Dictionary of tag types""" + + @classmethod + def from_v2(cls, original: ImageFileDirectory_v2) -> ImageFileDirectory_v1: + """Returns an + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + instance with the same data as is contained in the original + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + instance. + + :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + + """ + + ifd = cls(prefix=original.prefix) + ifd._tagdata = original._tagdata + ifd.tagtype = original.tagtype + ifd.next = original.next # an indicator for multipage tiffs + return ifd + + def to_v2(self) -> ImageFileDirectory_v2: + """Returns an + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + instance with the same data as is contained in the original + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + instance. + + :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + + """ + + ifd = ImageFileDirectory_v2(prefix=self.prefix) + ifd._tagdata = dict(self._tagdata) + ifd.tagtype = dict(self.tagtype) + ifd._tags_v2 = dict(self._tags_v2) + return ifd + + def __contains__(self, tag: object) -> bool: + return tag in self._tags_v1 or tag in self._tagdata + + def __len__(self) -> int: + return len(set(self._tagdata) | set(self._tags_v1)) + + def __iter__(self) -> Iterator[int]: + return iter(set(self._tagdata) | set(self._tags_v1)) + + def __setitem__(self, tag: int, value: Any) -> None: + for legacy_api in (False, True): + self._setitem(tag, value, legacy_api) + + def __getitem__(self, tag: int) -> Any: + if tag not in self._tags_v1: # unpack on the fly + data = self._tagdata[tag] + typ = self.tagtype[tag] + size, handler = self._load_dispatch[typ] + for legacy in (False, True): + self._setitem(tag, handler(self, data, legacy), legacy) + val = self._tags_v1[tag] + if not isinstance(val, (tuple, bytes)): + val = (val,) + return val + + +# undone -- switch this pointer +ImageFileDirectory = ImageFileDirectory_v1 + + +## +# Image plugin for TIFF files. + + +class TiffImageFile(ImageFile.ImageFile): + format = "TIFF" + format_description = "Adobe TIFF" + _close_exclusive_fp_after_loading = False + + def __init__( + self, + fp: StrOrBytesPath | IO[bytes], + filename: str | bytes | None = None, + ) -> None: + self.tag_v2: ImageFileDirectory_v2 + """ Image file directory (tag dictionary) """ + + self.tag: ImageFileDirectory_v1 + """ Legacy tag entries """ + + super().__init__(fp, filename) + + def _open(self) -> None: + """Open the first image in a TIFF file""" + + # Header + assert self.fp is not None + ifh = self.fp.read(8) + if ifh[2] == 43: + ifh += self.fp.read(8) + + self.tag_v2 = ImageFileDirectory_v2(ifh) + + # setup frame pointers + self.__first = self.__next = self.tag_v2.next + self.__frame = -1 + self._fp = self.fp + self._frame_pos: list[int] = [] + self._n_frames: int | None = None + + logger.debug("*** TiffImageFile._open ***") + logger.debug("- __first: %s", self.__first) + logger.debug("- ifh: %s", repr(ifh)) # Use repr to avoid str(bytes) + + # and load the first frame + self._seek(0) + + @property + def n_frames(self) -> int: + current_n_frames = self._n_frames + if current_n_frames is None: + current = self.tell() + self._seek(len(self._frame_pos)) + while self._n_frames is None: + self._seek(self.tell() + 1) + self.seek(current) + assert self._n_frames is not None + return self._n_frames + + def seek(self, frame: int) -> None: + """Select a given frame as current image""" + if not self._seek_check(frame): + return + self._seek(frame) + if self._im is not None and ( + self.im.size != self._tile_size + or self.im.mode != self.mode + or self.readonly + ): + self._im = None + + def _seek(self, frame: int) -> None: + if isinstance(self._fp, DeferredError): + raise self._fp.ex + self.fp = self._fp + + while len(self._frame_pos) <= frame: + if not self.__next: + msg = "no more images in TIFF file" + raise EOFError(msg) + logger.debug( + "Seeking to frame %s, on frame %s, __next %s, location: %s", + frame, + self.__frame, + self.__next, + self.fp.tell(), + ) + if self.__next >= 2**63: + msg = "Unable to seek to frame" + raise ValueError(msg) + self.fp.seek(self.__next) + self._frame_pos.append(self.__next) + logger.debug("Loading tags, location: %s", self.fp.tell()) + self.tag_v2.load(self.fp) + if self.tag_v2.next in self._frame_pos: + # This IFD has already been processed + # Declare this to be the end of the image + self.__next = 0 + else: + self.__next = self.tag_v2.next + if self.__next == 0: + self._n_frames = frame + 1 + if len(self._frame_pos) == 1: + self.is_animated = self.__next != 0 + self.__frame += 1 + self.fp.seek(self._frame_pos[frame]) + self.tag_v2.load(self.fp) + if XMP in self.tag_v2: + xmp = self.tag_v2[XMP] + if isinstance(xmp, tuple) and len(xmp) == 1: + xmp = xmp[0] + self.info["xmp"] = xmp + elif "xmp" in self.info: + del self.info["xmp"] + self._reload_exif() + # fill the legacy tag/ifd entries + self.tag = self.ifd = ImageFileDirectory_v1.from_v2(self.tag_v2) + self.__frame = frame + self._setup() + + def tell(self) -> int: + """Return the current frame number""" + return self.__frame + + def get_photoshop_blocks(self) -> dict[int, dict[str, bytes]]: + """ + Returns a dictionary of Photoshop "Image Resource Blocks". + The keys are the image resource ID. For more information, see + https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_pgfId-1037727 + + :returns: Photoshop "Image Resource Blocks" in a dictionary. + """ + blocks = {} + val = self.tag_v2.get(ExifTags.Base.ImageResources) + if val: + while val.startswith(b"8BIM") and len(val) >= 12: + id = i16(val[4:6]) + n = math.ceil((val[6] + 1) / 2) * 2 + try: + size = i32(val[6 + n : 10 + n]) + except struct.error: + break + data = val[10 + n : 10 + n + size] + blocks[id] = {"data": data} + + val = val[math.ceil((10 + n + size) / 2) * 2 :] + return blocks + + def load(self) -> Image.core.PixelAccess | None: + if self.tile and self.use_load_libtiff: + return self._load_libtiff() + return super().load() + + def load_prepare(self) -> None: + if self._im is None: + Image._decompression_bomb_check(self._tile_size) + self.im = Image.core.new(self.mode, self._tile_size) + ImageFile.ImageFile.load_prepare(self) + + def load_end(self) -> None: + # allow closing if we're on the first frame, there's no next + # This is the ImageFile.load path only, libtiff specific below. + if not self.is_animated: + self._close_exclusive_fp_after_loading = True + + # load IFD data from fp before it is closed + exif = self.getexif() + for key in TiffTags.TAGS_V2_GROUPS: + if key not in exif: + continue + exif.get_ifd(key) + + ImageOps.exif_transpose(self, in_place=True) + if ExifTags.Base.Orientation in self.tag_v2: + del self.tag_v2[ExifTags.Base.Orientation] + + def _load_libtiff(self) -> Image.core.PixelAccess | None: + """Overload method triggered when we detect a compressed tiff + Calls out to libtiff""" + + Image.Image.load(self) + + self.load_prepare() + + if not len(self.tile) == 1: + msg = "Not exactly one tile" + raise OSError(msg) + + # (self._compression, (extents tuple), + # 0, (rawmode, self._compression, fp)) + extents = self.tile[0][1] + args = self.tile[0][3] + + # To be nice on memory footprint, if there's a + # file descriptor, use that instead of reading + # into a string in python. + assert self.fp is not None + try: + fp = hasattr(self.fp, "fileno") and self.fp.fileno() + # flush the file descriptor, prevents error on pypy 2.4+ + # should also eliminate the need for fp.tell + # in _seek + if hasattr(self.fp, "flush"): + self.fp.flush() + except OSError: + # io.BytesIO have a fileno, but returns an OSError if + # it doesn't use a file descriptor. + fp = False + + if fp: + assert isinstance(args, tuple) + args_list = list(args) + args_list[2] = fp + args = tuple(args_list) + + decoder = Image._getdecoder(self.mode, "libtiff", args, self.decoderconfig) + try: + decoder.setimage(self.im, extents) + except ValueError as e: + msg = "Couldn't set the image" + raise OSError(msg) from e + + close_self_fp = self._exclusive_fp and not self.is_animated + if hasattr(self.fp, "getvalue"): + # We've got a stringio like thing passed in. Yay for all in memory. + # The decoder needs the entire file in one shot, so there's not + # a lot we can do here other than give it the entire file. + # unless we could do something like get the address of the + # underlying string for stringio. + # + # Rearranging for supporting byteio items, since they have a fileno + # that returns an OSError if there's no underlying fp. Easier to + # deal with here by reordering. + logger.debug("have getvalue. just sending in a string from getvalue") + n, err = decoder.decode(self.fp.getvalue()) + elif fp: + # we've got a actual file on disk, pass in the fp. + logger.debug("have fileno, calling fileno version of the decoder.") + if not close_self_fp: + self.fp.seek(0) + # Save and restore the file position, because libtiff will move it + # outside of the Python runtime, and that will confuse + # io.BufferedReader and possible others. + # NOTE: This must use os.lseek(), and not fp.tell()/fp.seek(), + # because the buffer read head already may not equal the actual + # file position, and fp.seek() may just adjust it's internal + # pointer and not actually seek the OS file handle. + pos = os.lseek(fp, 0, os.SEEK_CUR) + # 4 bytes, otherwise the trace might error out + n, err = decoder.decode(b"fpfp") + os.lseek(fp, pos, os.SEEK_SET) + else: + # we have something else. + logger.debug("don't have fileno or getvalue. just reading") + self.fp.seek(0) + # UNDONE -- so much for that buffer size thing. + n, err = decoder.decode(self.fp.read()) + + self.tile = [] + self.readonly = 0 + + self.load_end() + + if close_self_fp: + self.fp.close() + self.fp = None # might be shared + + if err < 0: + msg = f"decoder error {err}" + raise OSError(msg) + + return Image.Image.load(self) + + def _setup(self) -> None: + """Setup this image object based on current tags""" + + if 0xBC01 in self.tag_v2: + msg = "Windows Media Photo files not yet supported" + raise OSError(msg) + + # extract relevant tags + self._compression = COMPRESSION_INFO[self.tag_v2.get(COMPRESSION, 1)] + self._planar_configuration = self.tag_v2.get(PLANAR_CONFIGURATION, 1) + + # photometric is a required tag, but not everyone is reading + # the specification + photo = self.tag_v2.get(PHOTOMETRIC_INTERPRETATION, 0) + + # old style jpeg compression images most certainly are YCbCr + if self._compression == "tiff_jpeg": + photo = 6 + + fillorder = self.tag_v2.get(FILLORDER, 1) + + logger.debug("*** Summary ***") + logger.debug("- compression: %s", self._compression) + logger.debug("- photometric_interpretation: %s", photo) + logger.debug("- planar_configuration: %s", self._planar_configuration) + logger.debug("- fill_order: %s", fillorder) + logger.debug("- YCbCr subsampling: %s", self.tag_v2.get(YCBCRSUBSAMPLING)) + + # size + try: + xsize = self.tag_v2[IMAGEWIDTH] + ysize = self.tag_v2[IMAGELENGTH] + except KeyError as e: + msg = "Missing dimensions" + raise TypeError(msg) from e + if not isinstance(xsize, int) or not isinstance(ysize, int): + msg = "Invalid dimensions" + raise ValueError(msg) + self._tile_size = xsize, ysize + orientation = self.tag_v2.get(ExifTags.Base.Orientation) + if orientation in (5, 6, 7, 8): + self._size = ysize, xsize + else: + self._size = xsize, ysize + + logger.debug("- size: %s", self.size) + + sample_format = self.tag_v2.get(SAMPLEFORMAT, (1,)) + if len(sample_format) > 1 and max(sample_format) == min(sample_format): + # SAMPLEFORMAT is properly per band, so an RGB image will + # be (1,1,1). But, we don't support per band pixel types, + # and anything more than one band is a uint8. So, just + # take the first element. Revisit this if adding support + # for more exotic images. + sample_format = (sample_format[0],) + + bps_tuple = self.tag_v2.get(BITSPERSAMPLE, (1,)) + extra_tuple = self.tag_v2.get(EXTRASAMPLES, ()) + samples_per_pixel = self.tag_v2.get( + SAMPLESPERPIXEL, + 3 if self._compression == "tiff_jpeg" and photo in (2, 6) else 1, + ) + if photo in (2, 6, 8): # RGB, YCbCr, LAB + bps_count = 3 + elif photo == 5: # CMYK + bps_count = 4 + else: + bps_count = 1 + if self._planar_configuration == 2 and extra_tuple and max(extra_tuple) == 0: + # If components are stored separately, + # then unspecified extra components at the end can be ignored + bps_tuple = bps_tuple[: -len(extra_tuple)] + samples_per_pixel -= len(extra_tuple) + extra_tuple = () + bps_count += len(extra_tuple) + bps_actual_count = len(bps_tuple) + + if samples_per_pixel > MAX_SAMPLESPERPIXEL: + # DOS check, samples_per_pixel can be a Long, and we extend the tuple below + logger.error( + "More samples per pixel than can be decoded: %s", samples_per_pixel + ) + msg = "Invalid value for samples per pixel" + raise SyntaxError(msg) + + if samples_per_pixel < bps_actual_count: + # If a file has more values in bps_tuple than expected, + # remove the excess. + bps_tuple = bps_tuple[:samples_per_pixel] + elif samples_per_pixel > bps_actual_count and bps_actual_count == 1: + # If a file has only one value in bps_tuple, when it should have more, + # presume it is the same number of bits for all of the samples. + bps_tuple = bps_tuple * samples_per_pixel + + if len(bps_tuple) != samples_per_pixel: + msg = "unknown data organization" + raise SyntaxError(msg) + + # mode: check photometric interpretation and bits per pixel + key = ( + self.tag_v2.prefix, + photo, + sample_format, + fillorder, + bps_tuple, + extra_tuple, + ) + logger.debug("format key: %s", key) + try: + self._mode, rawmode = OPEN_INFO[key] + except KeyError as e: + logger.debug("- unsupported format") + msg = "unknown pixel mode" + raise SyntaxError(msg) from e + + logger.debug("- raw mode: %s", rawmode) + logger.debug("- pil mode: %s", self.mode) + + self.info["compression"] = self._compression + + xres = self.tag_v2.get(X_RESOLUTION, 1) + yres = self.tag_v2.get(Y_RESOLUTION, 1) + + if xres and yres: + resunit = self.tag_v2.get(RESOLUTION_UNIT) + if resunit == 2: # dots per inch + self.info["dpi"] = (xres, yres) + elif resunit == 3: # dots per centimeter. convert to dpi + self.info["dpi"] = (xres * 2.54, yres * 2.54) + elif resunit is None: # used to default to 1, but now 2) + self.info["dpi"] = (xres, yres) + # For backward compatibility, + # we also preserve the old behavior + self.info["resolution"] = xres, yres + else: # No absolute unit of measurement + self.info["resolution"] = xres, yres + + # build tile descriptors + x = y = layer = 0 + self.tile = [] + self.use_load_libtiff = READ_LIBTIFF or self._compression != "raw" + if self.use_load_libtiff: + # Decoder expects entire file as one tile. + # There's a buffer size limit in load (64k) + # so large g4 images will fail if we use that + # function. + # + # Setup the one tile for the whole image, then + # use the _load_libtiff function. + + # libtiff handles the fillmode for us, so 1;IR should + # actually be 1;I. Including the R double reverses the + # bits, so stripes of the image are reversed. See + # https://github.com/python-pillow/Pillow/issues/279 + if fillorder == 2: + # Replace fillorder with fillorder=1 + key = key[:3] + (1,) + key[4:] + logger.debug("format key: %s", key) + # this should always work, since all the + # fillorder==2 modes have a corresponding + # fillorder=1 mode + self._mode, rawmode = OPEN_INFO[key] + # YCbCr images with new jpeg compression with pixels in one plane + # unpacked straight into RGB values + if ( + photo == 6 + and self._compression == "jpeg" + and self._planar_configuration == 1 + ): + rawmode = "RGB" + # libtiff always returns the bytes in native order. + # we're expecting image byte order. So, if the rawmode + # contains I;16, we need to convert from native to image + # byte order. + elif rawmode == "I;16": + rawmode = "I;16N" + elif rawmode.endswith((";16B", ";16L")): + rawmode = rawmode[:-1] + "N" + + # Offset in the tile tuple is 0, we go from 0,0 to + # w,h, and we only do this once -- eds + a = (rawmode, self._compression, False, self.tag_v2.offset) + self.tile.append(ImageFile._Tile("libtiff", (0, 0, xsize, ysize), 0, a)) + + elif STRIPOFFSETS in self.tag_v2 or TILEOFFSETS in self.tag_v2: + # striped image + if STRIPOFFSETS in self.tag_v2: + offsets = self.tag_v2[STRIPOFFSETS] + h = self.tag_v2.get(ROWSPERSTRIP, ysize) + w = xsize + else: + # tiled image + offsets = self.tag_v2[TILEOFFSETS] + tilewidth = self.tag_v2.get(TILEWIDTH) + h = self.tag_v2.get(TILELENGTH) + if not isinstance(tilewidth, int) or not isinstance(h, int): + msg = "Invalid tile dimensions" + raise ValueError(msg) + w = tilewidth + + if w == xsize and h == ysize and self._planar_configuration != 2: + # Every tile covers the image. Only use the last offset + offsets = offsets[-1:] + + for offset in offsets: + if x + w > xsize: + stride = w * sum(bps_tuple) / 8 # bytes per line + else: + stride = 0 + + tile_rawmode = rawmode + if self._planar_configuration == 2: + # each band on it's own layer + tile_rawmode = rawmode[layer] + # adjust stride width accordingly + stride /= bps_count + + args = (tile_rawmode, int(stride), 1) + self.tile.append( + ImageFile._Tile( + self._compression, + (x, y, min(x + w, xsize), min(y + h, ysize)), + offset, + args, + ) + ) + x += w + if x >= xsize: + x, y = 0, y + h + if y >= ysize: + y = 0 + layer += 1 + else: + logger.debug("- unsupported data organization") + msg = "unknown data organization" + raise SyntaxError(msg) + + # Fix up info. + if ICCPROFILE in self.tag_v2: + self.info["icc_profile"] = self.tag_v2[ICCPROFILE] + + # fixup palette descriptor + + if self.mode in ["P", "PA"]: + palette = [o8(b // 256) for b in self.tag_v2[COLORMAP]] + self.palette = ImagePalette.raw("RGB;L", b"".join(palette)) + + +# +# -------------------------------------------------------------------- +# Write TIFF files + +# little endian is default except for image modes with +# explicit big endian byte-order + +SAVE_INFO = { + # mode => rawmode, byteorder, photometrics, + # sampleformat, bitspersample, extra + "1": ("1", II, 1, 1, (1,), None), + "L": ("L", II, 1, 1, (8,), None), + "LA": ("LA", II, 1, 1, (8, 8), 2), + "P": ("P", II, 3, 1, (8,), None), + "PA": ("PA", II, 3, 1, (8, 8), 2), + "I": ("I;32S", II, 1, 2, (32,), None), + "I;16": ("I;16", II, 1, 1, (16,), None), + "I;16L": ("I;16L", II, 1, 1, (16,), None), + "F": ("F;32F", II, 1, 3, (32,), None), + "RGB": ("RGB", II, 2, 1, (8, 8, 8), None), + "RGBX": ("RGBX", II, 2, 1, (8, 8, 8, 8), 0), + "RGBA": ("RGBA", II, 2, 1, (8, 8, 8, 8), 2), + "CMYK": ("CMYK", II, 5, 1, (8, 8, 8, 8), None), + "YCbCr": ("YCbCr", II, 6, 1, (8, 8, 8), None), + "LAB": ("LAB", II, 8, 1, (8, 8, 8), None), + "I;16B": ("I;16B", MM, 1, 1, (16,), None), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + rawmode, prefix, photo, format, bits, extra = SAVE_INFO[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as TIFF" + raise OSError(msg) from e + + encoderinfo = im.encoderinfo + encoderconfig = im.encoderconfig + + ifd = ImageFileDirectory_v2(prefix=prefix) + if encoderinfo.get("big_tiff"): + ifd._bigtiff = True + + try: + compression = encoderinfo["compression"] + except KeyError: + compression = im.info.get("compression") + if isinstance(compression, int): + # compression value may be from BMP. Ignore it + compression = None + if compression is None: + compression = "raw" + elif compression == "tiff_jpeg": + # OJPEG is obsolete, so use new-style JPEG compression instead + compression = "jpeg" + elif compression == "tiff_deflate": + compression = "tiff_adobe_deflate" + + libtiff = WRITE_LIBTIFF or compression != "raw" + + # required for color libtiff images + ifd[PLANAR_CONFIGURATION] = 1 + + ifd[IMAGEWIDTH] = im.size[0] + ifd[IMAGELENGTH] = im.size[1] + + # write any arbitrary tags passed in as an ImageFileDirectory + if "tiffinfo" in encoderinfo: + info = encoderinfo["tiffinfo"] + elif "exif" in encoderinfo: + info = encoderinfo["exif"] + if isinstance(info, bytes): + exif = Image.Exif() + exif.load(info) + info = exif + else: + info = {} + logger.debug("Tiffinfo Keys: %s", list(info)) + if isinstance(info, ImageFileDirectory_v1): + info = info.to_v2() + for key in info: + if isinstance(info, Image.Exif) and key in TiffTags.TAGS_V2_GROUPS: + ifd[key] = info.get_ifd(key) + else: + ifd[key] = info.get(key) + try: + ifd.tagtype[key] = info.tagtype[key] + except Exception: + pass # might not be an IFD. Might not have populated type + + legacy_ifd = {} + if hasattr(im, "tag"): + legacy_ifd = im.tag.to_v2() + + supplied_tags = {**legacy_ifd, **getattr(im, "tag_v2", {})} + if supplied_tags.get(PLANAR_CONFIGURATION) == 2 and EXTRASAMPLES in supplied_tags: + # If the image used separate component planes, + # then EXTRASAMPLES should be ignored when saving contiguously + if SAMPLESPERPIXEL in supplied_tags: + supplied_tags[SAMPLESPERPIXEL] -= len(supplied_tags[EXTRASAMPLES]) + del supplied_tags[EXTRASAMPLES] + for tag in ( + # IFD offset that may not be correct in the saved image + EXIFIFD, + # Determined by the image format and should not be copied from legacy_ifd. + SAMPLEFORMAT, + ): + if tag in supplied_tags: + del supplied_tags[tag] + + # additions written by Greg Couch, gregc@cgl.ucsf.edu + # inspired by image-sig posting from Kevin Cazabon, kcazabon@home.com + if hasattr(im, "tag_v2"): + # preserve tags from original TIFF image file + for key in ( + RESOLUTION_UNIT, + X_RESOLUTION, + Y_RESOLUTION, + IPTC_NAA_CHUNK, + PHOTOSHOP_CHUNK, + XMP, + ): + if key in im.tag_v2: + if key == IPTC_NAA_CHUNK and im.tag_v2.tagtype[key] not in ( + TiffTags.BYTE, + TiffTags.UNDEFINED, + ): + del supplied_tags[key] + else: + ifd[key] = im.tag_v2[key] + ifd.tagtype[key] = im.tag_v2.tagtype[key] + + # preserve ICC profile (should also work when saving other formats + # which support profiles as TIFF) -- 2008-06-06 Florian Hoech + icc = encoderinfo.get("icc_profile", im.info.get("icc_profile")) + if icc: + ifd[ICCPROFILE] = icc + + for key, name in [ + (IMAGEDESCRIPTION, "description"), + (X_RESOLUTION, "resolution"), + (Y_RESOLUTION, "resolution"), + (X_RESOLUTION, "x_resolution"), + (Y_RESOLUTION, "y_resolution"), + (RESOLUTION_UNIT, "resolution_unit"), + (SOFTWARE, "software"), + (DATE_TIME, "date_time"), + (ARTIST, "artist"), + (COPYRIGHT, "copyright"), + ]: + if name in encoderinfo: + ifd[key] = encoderinfo[name] + + dpi = encoderinfo.get("dpi") + if dpi: + ifd[RESOLUTION_UNIT] = 2 + ifd[X_RESOLUTION] = dpi[0] + ifd[Y_RESOLUTION] = dpi[1] + + if bits != (1,): + ifd[BITSPERSAMPLE] = bits + if len(bits) != 1: + ifd[SAMPLESPERPIXEL] = len(bits) + if extra is not None: + ifd[EXTRASAMPLES] = extra + if format != 1: + ifd[SAMPLEFORMAT] = format + + if PHOTOMETRIC_INTERPRETATION not in ifd: + ifd[PHOTOMETRIC_INTERPRETATION] = photo + elif im.mode in ("1", "L") and ifd[PHOTOMETRIC_INTERPRETATION] == 0: + if im.mode == "1": + inverted_im = im.copy() + px = inverted_im.load() + if px is not None: + for y in range(inverted_im.height): + for x in range(inverted_im.width): + px[x, y] = 0 if px[x, y] == 255 else 255 + im = inverted_im + else: + im = ImageOps.invert(im) + + if im.mode in ["P", "PA"]: + lut = im.im.getpalette("RGB", "RGB;L") + colormap = [] + colors = len(lut) // 3 + for i in range(3): + colormap += [v * 256 for v in lut[colors * i : colors * (i + 1)]] + colormap += [0] * (256 - colors) + ifd[COLORMAP] = colormap + # data orientation + w, h = ifd[IMAGEWIDTH], ifd[IMAGELENGTH] + stride = len(bits) * ((w * bits[0] + 7) // 8) + if ROWSPERSTRIP not in ifd: + # aim for given strip size (64 KB by default) when using libtiff writer + if libtiff: + im_strip_size = encoderinfo.get("strip_size", STRIP_SIZE) + rows_per_strip = 1 if stride == 0 else min(im_strip_size // stride, h) + # JPEG encoder expects multiple of 8 rows + if compression == "jpeg": + rows_per_strip = min(((rows_per_strip + 7) // 8) * 8, h) + else: + rows_per_strip = h + if rows_per_strip == 0: + rows_per_strip = 1 + ifd[ROWSPERSTRIP] = rows_per_strip + strip_byte_counts = 1 if stride == 0 else stride * ifd[ROWSPERSTRIP] + strips_per_image = (h + ifd[ROWSPERSTRIP] - 1) // ifd[ROWSPERSTRIP] + if strip_byte_counts >= 2**16: + ifd.tagtype[STRIPBYTECOUNTS] = TiffTags.LONG + ifd[STRIPBYTECOUNTS] = (strip_byte_counts,) * (strips_per_image - 1) + ( + stride * h - strip_byte_counts * (strips_per_image - 1), + ) + ifd[STRIPOFFSETS] = tuple( + range(0, strip_byte_counts * strips_per_image, strip_byte_counts) + ) # this is adjusted by IFD writer + # no compression by default: + ifd[COMPRESSION] = COMPRESSION_INFO_REV.get(compression, 1) + + if im.mode == "YCbCr": + for tag, default_value in { + YCBCRSUBSAMPLING: (1, 1), + REFERENCEBLACKWHITE: (0, 255, 128, 255, 128, 255), + }.items(): + ifd.setdefault(tag, default_value) + + blocklist = [TILEWIDTH, TILELENGTH, TILEOFFSETS, TILEBYTECOUNTS] + if libtiff: + if "quality" in encoderinfo: + quality = encoderinfo["quality"] + if not isinstance(quality, int) or quality < 0 or quality > 100: + msg = "Invalid quality setting" + raise ValueError(msg) + if compression != "jpeg": + msg = "quality setting only supported for 'jpeg' compression" + raise ValueError(msg) + ifd[JPEGQUALITY] = quality + + logger.debug("Saving using libtiff encoder") + logger.debug("Items: %s", sorted(ifd.items())) + _fp = 0 + if hasattr(fp, "fileno"): + try: + fp.seek(0) + _fp = fp.fileno() + except io.UnsupportedOperation: + pass + + # optional types for non core tags + types = {} + # STRIPOFFSETS and STRIPBYTECOUNTS are added by the library + # based on the data in the strip. + # OSUBFILETYPE is deprecated. + # The other tags expect arrays with a certain length (fixed or depending on + # BITSPERSAMPLE, etc), passing arrays with a different length will result in + # segfaults. Block these tags until we add extra validation. + # SUBIFD may also cause a segfault. + blocklist += [ + OSUBFILETYPE, + REFERENCEBLACKWHITE, + STRIPBYTECOUNTS, + STRIPOFFSETS, + TRANSFERFUNCTION, + SUBIFD, + ] + + # bits per sample is a single short in the tiff directory, not a list. + atts: dict[int, Any] = {BITSPERSAMPLE: bits[0]} + # Merge the ones that we have with (optional) more bits from + # the original file, e.g x,y resolution so that we can + # save(load('')) == original file. + for tag, value in itertools.chain(ifd.items(), supplied_tags.items()): + # Libtiff can only process certain core items without adding + # them to the custom dictionary. + # Custom items are supported for int, float, unicode, string and byte + # values. Other types and tuples require a tagtype. + if tag not in TiffTags.LIBTIFF_CORE: + if tag in TiffTags.TAGS_V2_GROUPS: + types[tag] = TiffTags.LONG8 + elif tag in ifd.tagtype: + types[tag] = ifd.tagtype[tag] + elif isinstance(value, (int, float, str, bytes)) or ( + isinstance(value, tuple) + and all(isinstance(v, (int, float, IFDRational)) for v in value) + ): + type = TiffTags.lookup(tag).type + if type: + types[tag] = type + if tag not in atts and tag not in blocklist: + if isinstance(value, str): + atts[tag] = value.encode("ascii", "replace") + b"\0" + elif isinstance(value, IFDRational): + atts[tag] = float(value) + else: + atts[tag] = value + + if SAMPLEFORMAT in atts and len(atts[SAMPLEFORMAT]) == 1: + atts[SAMPLEFORMAT] = atts[SAMPLEFORMAT][0] + + logger.debug("Converted items: %s", sorted(atts.items())) + + # libtiff always expects the bytes in native order. + # we're storing image byte order. So, if the rawmode + # contains I;16, we need to convert from native to image + # byte order. + if im.mode in ("I;16", "I;16B", "I;16L"): + rawmode = "I;16N" + + # Pass tags as sorted list so that the tags are set in a fixed order. + # This is required by libtiff for some tags. For example, the JPEGQUALITY + # pseudo tag requires that the COMPRESS tag was already set. + tags = list(atts.items()) + tags.sort() + a = (rawmode, compression, _fp, filename, tags, types) + encoder = Image._getencoder(im.mode, "libtiff", a, encoderconfig) + encoder.setimage(im.im, (0, 0) + im.size) + while True: + errcode, data = encoder.encode(ImageFile.MAXBLOCK)[1:] + if not _fp: + fp.write(data) + if errcode: + break + if errcode < 0: + msg = f"encoder error {errcode} when writing image file" + raise OSError(msg) + + else: + for tag in blocklist: + del ifd[tag] + offset = ifd.save(fp) + + ImageFile._save( + im, + fp, + [ImageFile._Tile("raw", (0, 0) + im.size, offset, (rawmode, stride, 1))], + ) + + # -- helper for multi-page save -- + if "_debug_multipage" in encoderinfo: + # just to access o32 and o16 (using correct byte order) + setattr(im, "_debug_multipage", ifd) + + +class AppendingTiffWriter(io.BytesIO): + fieldSizes = [ + 0, # None + 1, # byte + 1, # ascii + 2, # short + 4, # long + 8, # rational + 1, # sbyte + 1, # undefined + 2, # sshort + 4, # slong + 8, # srational + 4, # float + 8, # double + 4, # ifd + 2, # unicode + 4, # complex + 8, # long8 + ] + + Tags = { + 273, # StripOffsets + 288, # FreeOffsets + 324, # TileOffsets + 519, # JPEGQTables + 520, # JPEGDCTables + 521, # JPEGACTables + } + + def __init__(self, fn: StrOrBytesPath | IO[bytes], new: bool = False) -> None: + self.f: IO[bytes] + if is_path(fn): + self.name = fn + self.close_fp = True + try: + self.f = open(fn, "w+b" if new else "r+b") + except OSError: + self.f = open(fn, "w+b") + else: + self.f = cast(IO[bytes], fn) + self.close_fp = False + self.beginning = self.f.tell() + self.setup() + + def setup(self) -> None: + # Reset everything. + self.f.seek(self.beginning, os.SEEK_SET) + + self.whereToWriteNewIFDOffset: int | None = None + self.offsetOfNewPage = 0 + + self.IIMM = iimm = self.f.read(4) + self._bigtiff = b"\x2b" in iimm + if not iimm: + # empty file - first page + self.isFirst = True + return + + self.isFirst = False + if iimm not in PREFIXES: + msg = "Invalid TIFF file header" + raise RuntimeError(msg) + + self.setEndian("<" if iimm.startswith(II) else ">") + + if self._bigtiff: + self.f.seek(4, os.SEEK_CUR) + self.skipIFDs() + self.goToEnd() + + def finalize(self) -> None: + if self.isFirst: + return + + # fix offsets + self.f.seek(self.offsetOfNewPage) + + iimm = self.f.read(4) + if not iimm: + # Make it easy to finish a frame without committing to a new one. + return + + if iimm != self.IIMM: + msg = "IIMM of new page doesn't match IIMM of first page" + raise RuntimeError(msg) + + if self._bigtiff: + self.f.seek(4, os.SEEK_CUR) + ifd_offset = self._read(8 if self._bigtiff else 4) + ifd_offset += self.offsetOfNewPage + assert self.whereToWriteNewIFDOffset is not None + self.f.seek(self.whereToWriteNewIFDOffset) + self._write(ifd_offset, 8 if self._bigtiff else 4) + self.f.seek(ifd_offset) + self.fixIFD() + + def newFrame(self) -> None: + # Call this to finish a frame. + self.finalize() + self.setup() + + def __enter__(self) -> AppendingTiffWriter: + return self + + def __exit__(self, *args: object) -> None: + if self.close_fp: + self.close() + + def tell(self) -> int: + return self.f.tell() - self.offsetOfNewPage + + def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: + """ + :param offset: Distance to seek. + :param whence: Whether the distance is relative to the start, + end or current position. + :returns: The resulting position, relative to the start. + """ + if whence == os.SEEK_SET: + offset += self.offsetOfNewPage + + self.f.seek(offset, whence) + return self.tell() + + def goToEnd(self) -> None: + self.f.seek(0, os.SEEK_END) + pos = self.f.tell() + + # pad to 16 byte boundary + pad_bytes = 16 - pos % 16 + if 0 < pad_bytes < 16: + self.f.write(bytes(pad_bytes)) + self.offsetOfNewPage = self.f.tell() + + def setEndian(self, endian: str) -> None: + self.endian = endian + self.longFmt = f"{self.endian}L" + self.shortFmt = f"{self.endian}H" + self.tagFormat = f"{self.endian}HH" + ("Q" if self._bigtiff else "L") + + def skipIFDs(self) -> None: + while True: + ifd_offset = self._read(8 if self._bigtiff else 4) + if ifd_offset == 0: + self.whereToWriteNewIFDOffset = self.f.tell() - ( + 8 if self._bigtiff else 4 + ) + break + + self.f.seek(ifd_offset) + num_tags = self._read(8 if self._bigtiff else 2) + self.f.seek(num_tags * (20 if self._bigtiff else 12), os.SEEK_CUR) + + def write(self, data: Buffer, /) -> int: + return self.f.write(data) + + def _fmt(self, field_size: int) -> str: + try: + return {2: "H", 4: "L", 8: "Q"}[field_size] + except KeyError: + msg = "offset is not supported" + raise RuntimeError(msg) + + def _read(self, field_size: int) -> int: + (value,) = struct.unpack( + self.endian + self._fmt(field_size), self.f.read(field_size) + ) + return value + + def readShort(self) -> int: + return self._read(2) + + def readLong(self) -> int: + return self._read(4) + + @staticmethod + def _verify_bytes_written(bytes_written: int | None, expected: int) -> None: + if bytes_written is not None and bytes_written != expected: + msg = f"wrote only {bytes_written} bytes but wanted {expected}" + raise RuntimeError(msg) + + def _rewriteLast( + self, value: int, field_size: int, new_field_size: int = 0 + ) -> None: + self.f.seek(-field_size, os.SEEK_CUR) + if not new_field_size: + new_field_size = field_size + bytes_written = self.f.write( + struct.pack(self.endian + self._fmt(new_field_size), value) + ) + self._verify_bytes_written(bytes_written, new_field_size) + + def rewriteLastShortToLong(self, value: int) -> None: + self._rewriteLast(value, 2, 4) + + def rewriteLastShort(self, value: int) -> None: + return self._rewriteLast(value, 2) + + def rewriteLastLong(self, value: int) -> None: + return self._rewriteLast(value, 4) + + def _write(self, value: int, field_size: int) -> None: + bytes_written = self.f.write( + struct.pack(self.endian + self._fmt(field_size), value) + ) + self._verify_bytes_written(bytes_written, field_size) + + def writeShort(self, value: int) -> None: + self._write(value, 2) + + def writeLong(self, value: int) -> None: + self._write(value, 4) + + def close(self) -> None: + self.finalize() + if self.close_fp: + self.f.close() + + def fixIFD(self) -> None: + num_tags = self._read(8 if self._bigtiff else 2) + + for i in range(num_tags): + tag, field_type, count = struct.unpack( + self.tagFormat, self.f.read(12 if self._bigtiff else 8) + ) + + field_size = self.fieldSizes[field_type] + total_size = field_size * count + fmt_size = 8 if self._bigtiff else 4 + is_local = total_size <= fmt_size + if not is_local: + offset = self._read(fmt_size) + self.offsetOfNewPage + self._rewriteLast(offset, fmt_size) + + if tag in self.Tags: + cur_pos = self.f.tell() + + logger.debug( + "fixIFD: %s (%d) - type: %s (%d) - type size: %d - count: %d", + TiffTags.lookup(tag).name, + tag, + TYPES.get(field_type, "unknown"), + field_type, + field_size, + count, + ) + + if is_local: + self._fixOffsets(count, field_size) + self.f.seek(cur_pos + fmt_size) + else: + self.f.seek(offset) + self._fixOffsets(count, field_size) + self.f.seek(cur_pos) + + elif is_local: + # skip the locally stored value that is not an offset + self.f.seek(fmt_size, os.SEEK_CUR) + + def _fixOffsets(self, count: int, field_size: int) -> None: + for i in range(count): + offset = self._read(field_size) + offset += self.offsetOfNewPage + + new_field_size = 0 + if self._bigtiff and field_size in (2, 4) and offset >= 2**32: + # offset is now too large - we must convert long to long8 + new_field_size = 8 + elif field_size == 2 and offset >= 2**16: + # offset is now too large - we must convert short to long + new_field_size = 4 + if new_field_size: + if count != 1: + msg = "not implemented" + raise RuntimeError(msg) # XXX TODO + + # simple case - the offset is just one and therefore it is + # local (not referenced with another offset) + self._rewriteLast(offset, field_size, new_field_size) + # Move back past the new offset, past 'count', and before 'field_type' + rewind = -new_field_size - 4 - 2 + self.f.seek(rewind, os.SEEK_CUR) + self.writeShort(new_field_size) # rewrite the type + self.f.seek(2 - rewind, os.SEEK_CUR) + else: + self._rewriteLast(offset, field_size) + + def fixOffsets( + self, count: int, isShort: bool = False, isLong: bool = False + ) -> None: + if isShort: + field_size = 2 + elif isLong: + field_size = 4 + else: + field_size = 0 + return self._fixOffsets(count, field_size) + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + append_images = list(im.encoderinfo.get("append_images", [])) + if not hasattr(im, "n_frames") and not append_images: + return _save(im, fp, filename) + + cur_idx = im.tell() + try: + with AppendingTiffWriter(fp) as tf: + for ims in [im] + append_images: + encoderinfo = ims._attach_default_encoderinfo(im) + if not hasattr(ims, "encoderconfig"): + ims.encoderconfig = () + nfr = getattr(ims, "n_frames", 1) + + for idx in range(nfr): + ims.seek(idx) + ims.load() + _save(ims, tf, filename) + tf.newFrame() + ims.encoderinfo = encoderinfo + finally: + im.seek(cur_idx) + + +# +# -------------------------------------------------------------------- +# Register + +Image.register_open(TiffImageFile.format, TiffImageFile, _accept) +Image.register_save(TiffImageFile.format, _save) +Image.register_save_all(TiffImageFile.format, _save_all) + +Image.register_extensions(TiffImageFile.format, [".tif", ".tiff"]) + +Image.register_mime(TiffImageFile.format, "image/tiff") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/TiffTags.py b/presentation/.venv/lib/python3.12/site-packages/PIL/TiffTags.py new file mode 100644 index 0000000..613a3b7 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/TiffTags.py @@ -0,0 +1,566 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TIFF tags +# +# This module provides clear-text names for various well-known +# TIFF tags. the TIFF codec works just fine without it. +# +# Copyright (c) Secret Labs AB 1999. +# +# See the README file for information on usage and redistribution. +# + +## +# This module provides constants and clear-text names for various +# well-known TIFF tags. +## +from __future__ import annotations + +from typing import NamedTuple + + +class _TagInfo(NamedTuple): + value: int | None + name: str + type: int | None + length: int | None + enum: dict[str, int] + + +class TagInfo(_TagInfo): + __slots__: list[str] = [] + + def __new__( + cls, + value: int | None = None, + name: str = "unknown", + type: int | None = None, + length: int | None = None, + enum: dict[str, int] | None = None, + ) -> TagInfo: + return super().__new__(cls, value, name, type, length, enum or {}) + + def cvt_enum(self, value: str) -> int | str: + # Using get will call hash(value), which can be expensive + # for some types (e.g. Fraction). Since self.enum is rarely + # used, it's usually better to test it first. + return self.enum.get(value, value) if self.enum else value + + +def lookup(tag: int, group: int | None = None) -> TagInfo: + """ + :param tag: Integer tag number + :param group: Which :py:data:`~PIL.TiffTags.TAGS_V2_GROUPS` to look in + + .. versionadded:: 8.3.0 + + :returns: Taginfo namedtuple, From the ``TAGS_V2`` info if possible, + otherwise just populating the value and name from ``TAGS``. + If the tag is not recognized, "unknown" is returned for the name + + """ + + if group is not None: + info = TAGS_V2_GROUPS[group].get(tag) if group in TAGS_V2_GROUPS else None + else: + info = TAGS_V2.get(tag) + return info or TagInfo(tag, TAGS.get(tag, "unknown")) + + +## +# Map tag numbers to tag info. +# +# id: (Name, Type, Length[, enum_values]) +# +# The length here differs from the length in the tiff spec. For +# numbers, the tiff spec is for the number of fields returned. We +# agree here. For string-like types, the tiff spec uses the length of +# field in bytes. In Pillow, we are using the number of expected +# fields, in general 1 for string-like types. + + +BYTE = 1 +ASCII = 2 +SHORT = 3 +LONG = 4 +RATIONAL = 5 +SIGNED_BYTE = 6 +UNDEFINED = 7 +SIGNED_SHORT = 8 +SIGNED_LONG = 9 +SIGNED_RATIONAL = 10 +FLOAT = 11 +DOUBLE = 12 +IFD = 13 +LONG8 = 16 + +_tags_v2: dict[int, tuple[str, int, int] | tuple[str, int, int, dict[str, int]]] = { + 254: ("NewSubfileType", LONG, 1), + 255: ("SubfileType", SHORT, 1), + 256: ("ImageWidth", LONG, 1), + 257: ("ImageLength", LONG, 1), + 258: ("BitsPerSample", SHORT, 0), + 259: ( + "Compression", + SHORT, + 1, + { + "Uncompressed": 1, + "CCITT 1d": 2, + "Group 3 Fax": 3, + "Group 4 Fax": 4, + "LZW": 5, + "JPEG": 6, + "PackBits": 32773, + }, + ), + 262: ( + "PhotometricInterpretation", + SHORT, + 1, + { + "WhiteIsZero": 0, + "BlackIsZero": 1, + "RGB": 2, + "RGB Palette": 3, + "Transparency Mask": 4, + "CMYK": 5, + "YCbCr": 6, + "CieLAB": 8, + "CFA": 32803, # TIFF/EP, Adobe DNG + "LinearRaw": 32892, # Adobe DNG + }, + ), + 263: ("Threshholding", SHORT, 1), + 264: ("CellWidth", SHORT, 1), + 265: ("CellLength", SHORT, 1), + 266: ("FillOrder", SHORT, 1), + 269: ("DocumentName", ASCII, 1), + 270: ("ImageDescription", ASCII, 1), + 271: ("Make", ASCII, 1), + 272: ("Model", ASCII, 1), + 273: ("StripOffsets", LONG, 0), + 274: ("Orientation", SHORT, 1), + 277: ("SamplesPerPixel", SHORT, 1), + 278: ("RowsPerStrip", LONG, 1), + 279: ("StripByteCounts", LONG, 0), + 280: ("MinSampleValue", SHORT, 0), + 281: ("MaxSampleValue", SHORT, 0), + 282: ("XResolution", RATIONAL, 1), + 283: ("YResolution", RATIONAL, 1), + 284: ("PlanarConfiguration", SHORT, 1, {"Contiguous": 1, "Separate": 2}), + 285: ("PageName", ASCII, 1), + 286: ("XPosition", RATIONAL, 1), + 287: ("YPosition", RATIONAL, 1), + 288: ("FreeOffsets", LONG, 1), + 289: ("FreeByteCounts", LONG, 1), + 290: ("GrayResponseUnit", SHORT, 1), + 291: ("GrayResponseCurve", SHORT, 0), + 292: ("T4Options", LONG, 1), + 293: ("T6Options", LONG, 1), + 296: ("ResolutionUnit", SHORT, 1, {"none": 1, "inch": 2, "cm": 3}), + 297: ("PageNumber", SHORT, 2), + 301: ("TransferFunction", SHORT, 0), + 305: ("Software", ASCII, 1), + 306: ("DateTime", ASCII, 1), + 315: ("Artist", ASCII, 1), + 316: ("HostComputer", ASCII, 1), + 317: ("Predictor", SHORT, 1, {"none": 1, "Horizontal Differencing": 2}), + 318: ("WhitePoint", RATIONAL, 2), + 319: ("PrimaryChromaticities", RATIONAL, 6), + 320: ("ColorMap", SHORT, 0), + 321: ("HalftoneHints", SHORT, 2), + 322: ("TileWidth", LONG, 1), + 323: ("TileLength", LONG, 1), + 324: ("TileOffsets", LONG, 0), + 325: ("TileByteCounts", LONG, 0), + 330: ("SubIFDs", LONG, 0), + 332: ("InkSet", SHORT, 1), + 333: ("InkNames", ASCII, 1), + 334: ("NumberOfInks", SHORT, 1), + 336: ("DotRange", SHORT, 0), + 337: ("TargetPrinter", ASCII, 1), + 338: ("ExtraSamples", SHORT, 0), + 339: ("SampleFormat", SHORT, 0), + 340: ("SMinSampleValue", DOUBLE, 0), + 341: ("SMaxSampleValue", DOUBLE, 0), + 342: ("TransferRange", SHORT, 6), + 347: ("JPEGTables", UNDEFINED, 1), + # obsolete JPEG tags + 512: ("JPEGProc", SHORT, 1), + 513: ("JPEGInterchangeFormat", LONG, 1), + 514: ("JPEGInterchangeFormatLength", LONG, 1), + 515: ("JPEGRestartInterval", SHORT, 1), + 517: ("JPEGLosslessPredictors", SHORT, 0), + 518: ("JPEGPointTransforms", SHORT, 0), + 519: ("JPEGQTables", LONG, 0), + 520: ("JPEGDCTables", LONG, 0), + 521: ("JPEGACTables", LONG, 0), + 529: ("YCbCrCoefficients", RATIONAL, 3), + 530: ("YCbCrSubSampling", SHORT, 2), + 531: ("YCbCrPositioning", SHORT, 1), + 532: ("ReferenceBlackWhite", RATIONAL, 6), + 700: ("XMP", BYTE, 0), + # Four private SGI tags + 32995: ("Matteing", SHORT, 1), + 32996: ("DataType", SHORT, 0), + 32997: ("ImageDepth", LONG, 1), + 32998: ("TileDepth", LONG, 1), + 33432: ("Copyright", ASCII, 1), + 33723: ("IptcNaaInfo", UNDEFINED, 1), + 34377: ("PhotoshopInfo", BYTE, 0), + # FIXME add more tags here + 34665: ("ExifIFD", LONG, 1), + 34675: ("ICCProfile", UNDEFINED, 1), + 34853: ("GPSInfoIFD", LONG, 1), + 36864: ("ExifVersion", UNDEFINED, 1), + 37724: ("ImageSourceData", UNDEFINED, 1), + 40965: ("InteroperabilityIFD", LONG, 1), + 41730: ("CFAPattern", UNDEFINED, 1), + # MPInfo + 45056: ("MPFVersion", UNDEFINED, 1), + 45057: ("NumberOfImages", LONG, 1), + 45058: ("MPEntry", UNDEFINED, 1), + 45059: ("ImageUIDList", UNDEFINED, 0), # UNDONE, check + 45060: ("TotalFrames", LONG, 1), + 45313: ("MPIndividualNum", LONG, 1), + 45569: ("PanOrientation", LONG, 1), + 45570: ("PanOverlap_H", RATIONAL, 1), + 45571: ("PanOverlap_V", RATIONAL, 1), + 45572: ("BaseViewpointNum", LONG, 1), + 45573: ("ConvergenceAngle", SIGNED_RATIONAL, 1), + 45574: ("BaselineLength", RATIONAL, 1), + 45575: ("VerticalDivergence", SIGNED_RATIONAL, 1), + 45576: ("AxisDistance_X", SIGNED_RATIONAL, 1), + 45577: ("AxisDistance_Y", SIGNED_RATIONAL, 1), + 45578: ("AxisDistance_Z", SIGNED_RATIONAL, 1), + 45579: ("YawAngle", SIGNED_RATIONAL, 1), + 45580: ("PitchAngle", SIGNED_RATIONAL, 1), + 45581: ("RollAngle", SIGNED_RATIONAL, 1), + 40960: ("FlashPixVersion", UNDEFINED, 1), + 50741: ("MakerNoteSafety", SHORT, 1, {"Unsafe": 0, "Safe": 1}), + 50780: ("BestQualityScale", RATIONAL, 1), + 50838: ("ImageJMetaDataByteCounts", LONG, 0), # Can be more than one + 50839: ("ImageJMetaData", UNDEFINED, 1), # see Issue #2006 +} +_tags_v2_groups = { + # ExifIFD + 34665: { + 36864: ("ExifVersion", UNDEFINED, 1), + 40960: ("FlashPixVersion", UNDEFINED, 1), + 40965: ("InteroperabilityIFD", LONG, 1), + 41730: ("CFAPattern", UNDEFINED, 1), + }, + # GPSInfoIFD + 34853: { + 0: ("GPSVersionID", BYTE, 4), + 1: ("GPSLatitudeRef", ASCII, 2), + 2: ("GPSLatitude", RATIONAL, 3), + 3: ("GPSLongitudeRef", ASCII, 2), + 4: ("GPSLongitude", RATIONAL, 3), + 5: ("GPSAltitudeRef", BYTE, 1), + 6: ("GPSAltitude", RATIONAL, 1), + 7: ("GPSTimeStamp", RATIONAL, 3), + 8: ("GPSSatellites", ASCII, 0), + 9: ("GPSStatus", ASCII, 2), + 10: ("GPSMeasureMode", ASCII, 2), + 11: ("GPSDOP", RATIONAL, 1), + 12: ("GPSSpeedRef", ASCII, 2), + 13: ("GPSSpeed", RATIONAL, 1), + 14: ("GPSTrackRef", ASCII, 2), + 15: ("GPSTrack", RATIONAL, 1), + 16: ("GPSImgDirectionRef", ASCII, 2), + 17: ("GPSImgDirection", RATIONAL, 1), + 18: ("GPSMapDatum", ASCII, 0), + 19: ("GPSDestLatitudeRef", ASCII, 2), + 20: ("GPSDestLatitude", RATIONAL, 3), + 21: ("GPSDestLongitudeRef", ASCII, 2), + 22: ("GPSDestLongitude", RATIONAL, 3), + 23: ("GPSDestBearingRef", ASCII, 2), + 24: ("GPSDestBearing", RATIONAL, 1), + 25: ("GPSDestDistanceRef", ASCII, 2), + 26: ("GPSDestDistance", RATIONAL, 1), + 27: ("GPSProcessingMethod", UNDEFINED, 0), + 28: ("GPSAreaInformation", UNDEFINED, 0), + 29: ("GPSDateStamp", ASCII, 11), + 30: ("GPSDifferential", SHORT, 1), + }, + # InteroperabilityIFD + 40965: {1: ("InteropIndex", ASCII, 1), 2: ("InteropVersion", UNDEFINED, 1)}, +} + +# Legacy Tags structure +# these tags aren't included above, but were in the previous versions +TAGS: dict[int | tuple[int, int], str] = { + 347: "JPEGTables", + 700: "XMP", + # Additional Exif Info + 32932: "Wang Annotation", + 33434: "ExposureTime", + 33437: "FNumber", + 33445: "MD FileTag", + 33446: "MD ScalePixel", + 33447: "MD ColorTable", + 33448: "MD LabName", + 33449: "MD SampleInfo", + 33450: "MD PrepDate", + 33451: "MD PrepTime", + 33452: "MD FileUnits", + 33550: "ModelPixelScaleTag", + 33723: "IptcNaaInfo", + 33918: "INGR Packet Data Tag", + 33919: "INGR Flag Registers", + 33920: "IrasB Transformation Matrix", + 33922: "ModelTiepointTag", + 34264: "ModelTransformationTag", + 34377: "PhotoshopInfo", + 34735: "GeoKeyDirectoryTag", + 34736: "GeoDoubleParamsTag", + 34737: "GeoAsciiParamsTag", + 34850: "ExposureProgram", + 34852: "SpectralSensitivity", + 34855: "ISOSpeedRatings", + 34856: "OECF", + 34864: "SensitivityType", + 34865: "StandardOutputSensitivity", + 34866: "RecommendedExposureIndex", + 34867: "ISOSpeed", + 34868: "ISOSpeedLatitudeyyy", + 34869: "ISOSpeedLatitudezzz", + 34908: "HylaFAX FaxRecvParams", + 34909: "HylaFAX FaxSubAddress", + 34910: "HylaFAX FaxRecvTime", + 36864: "ExifVersion", + 36867: "DateTimeOriginal", + 36868: "DateTimeDigitized", + 37121: "ComponentsConfiguration", + 37122: "CompressedBitsPerPixel", + 37724: "ImageSourceData", + 37377: "ShutterSpeedValue", + 37378: "ApertureValue", + 37379: "BrightnessValue", + 37380: "ExposureBiasValue", + 37381: "MaxApertureValue", + 37382: "SubjectDistance", + 37383: "MeteringMode", + 37384: "LightSource", + 37385: "Flash", + 37386: "FocalLength", + 37396: "SubjectArea", + 37500: "MakerNote", + 37510: "UserComment", + 37520: "SubSec", + 37521: "SubSecTimeOriginal", + 37522: "SubsecTimeDigitized", + 40960: "FlashPixVersion", + 40961: "ColorSpace", + 40962: "PixelXDimension", + 40963: "PixelYDimension", + 40964: "RelatedSoundFile", + 40965: "InteroperabilityIFD", + 41483: "FlashEnergy", + 41484: "SpatialFrequencyResponse", + 41486: "FocalPlaneXResolution", + 41487: "FocalPlaneYResolution", + 41488: "FocalPlaneResolutionUnit", + 41492: "SubjectLocation", + 41493: "ExposureIndex", + 41495: "SensingMethod", + 41728: "FileSource", + 41729: "SceneType", + 41730: "CFAPattern", + 41985: "CustomRendered", + 41986: "ExposureMode", + 41987: "WhiteBalance", + 41988: "DigitalZoomRatio", + 41989: "FocalLengthIn35mmFilm", + 41990: "SceneCaptureType", + 41991: "GainControl", + 41992: "Contrast", + 41993: "Saturation", + 41994: "Sharpness", + 41995: "DeviceSettingDescription", + 41996: "SubjectDistanceRange", + 42016: "ImageUniqueID", + 42032: "CameraOwnerName", + 42033: "BodySerialNumber", + 42034: "LensSpecification", + 42035: "LensMake", + 42036: "LensModel", + 42037: "LensSerialNumber", + 42112: "GDAL_METADATA", + 42113: "GDAL_NODATA", + 42240: "Gamma", + 50215: "Oce Scanjob Description", + 50216: "Oce Application Selector", + 50217: "Oce Identification Number", + 50218: "Oce ImageLogic Characteristics", + # Adobe DNG + 50706: "DNGVersion", + 50707: "DNGBackwardVersion", + 50708: "UniqueCameraModel", + 50709: "LocalizedCameraModel", + 50710: "CFAPlaneColor", + 50711: "CFALayout", + 50712: "LinearizationTable", + 50713: "BlackLevelRepeatDim", + 50714: "BlackLevel", + 50715: "BlackLevelDeltaH", + 50716: "BlackLevelDeltaV", + 50717: "WhiteLevel", + 50718: "DefaultScale", + 50719: "DefaultCropOrigin", + 50720: "DefaultCropSize", + 50721: "ColorMatrix1", + 50722: "ColorMatrix2", + 50723: "CameraCalibration1", + 50724: "CameraCalibration2", + 50725: "ReductionMatrix1", + 50726: "ReductionMatrix2", + 50727: "AnalogBalance", + 50728: "AsShotNeutral", + 50729: "AsShotWhiteXY", + 50730: "BaselineExposure", + 50731: "BaselineNoise", + 50732: "BaselineSharpness", + 50733: "BayerGreenSplit", + 50734: "LinearResponseLimit", + 50735: "CameraSerialNumber", + 50736: "LensInfo", + 50737: "ChromaBlurRadius", + 50738: "AntiAliasStrength", + 50740: "DNGPrivateData", + 50778: "CalibrationIlluminant1", + 50779: "CalibrationIlluminant2", + 50784: "Alias Layer Metadata", +} + +TAGS_V2: dict[int, TagInfo] = {} +TAGS_V2_GROUPS: dict[int, dict[int, TagInfo]] = {} + + +def _populate() -> None: + for k, v in _tags_v2.items(): + # Populate legacy structure. + TAGS[k] = v[0] + if len(v) == 4: + for sk, sv in v[3].items(): + TAGS[(k, sv)] = sk + + TAGS_V2[k] = TagInfo(k, *v) + + for group, tags in _tags_v2_groups.items(): + TAGS_V2_GROUPS[group] = {k: TagInfo(k, *v) for k, v in tags.items()} + + +_populate() +## +# Map type numbers to type names -- defined in ImageFileDirectory. + +TYPES: dict[int, str] = {} + +# +# These tags are handled by default in libtiff, without +# adding to the custom dictionary. From tif_dir.c, searching for +# case TIFFTAG in the _TIFFVSetField function: +# Line: item. +# 148: case TIFFTAG_SUBFILETYPE: +# 151: case TIFFTAG_IMAGEWIDTH: +# 154: case TIFFTAG_IMAGELENGTH: +# 157: case TIFFTAG_BITSPERSAMPLE: +# 181: case TIFFTAG_COMPRESSION: +# 202: case TIFFTAG_PHOTOMETRIC: +# 205: case TIFFTAG_THRESHHOLDING: +# 208: case TIFFTAG_FILLORDER: +# 214: case TIFFTAG_ORIENTATION: +# 221: case TIFFTAG_SAMPLESPERPIXEL: +# 228: case TIFFTAG_ROWSPERSTRIP: +# 238: case TIFFTAG_MINSAMPLEVALUE: +# 241: case TIFFTAG_MAXSAMPLEVALUE: +# 244: case TIFFTAG_SMINSAMPLEVALUE: +# 247: case TIFFTAG_SMAXSAMPLEVALUE: +# 250: case TIFFTAG_XRESOLUTION: +# 256: case TIFFTAG_YRESOLUTION: +# 262: case TIFFTAG_PLANARCONFIG: +# 268: case TIFFTAG_XPOSITION: +# 271: case TIFFTAG_YPOSITION: +# 274: case TIFFTAG_RESOLUTIONUNIT: +# 280: case TIFFTAG_PAGENUMBER: +# 284: case TIFFTAG_HALFTONEHINTS: +# 288: case TIFFTAG_COLORMAP: +# 294: case TIFFTAG_EXTRASAMPLES: +# 298: case TIFFTAG_MATTEING: +# 305: case TIFFTAG_TILEWIDTH: +# 316: case TIFFTAG_TILELENGTH: +# 327: case TIFFTAG_TILEDEPTH: +# 333: case TIFFTAG_DATATYPE: +# 344: case TIFFTAG_SAMPLEFORMAT: +# 361: case TIFFTAG_IMAGEDEPTH: +# 364: case TIFFTAG_SUBIFD: +# 376: case TIFFTAG_YCBCRPOSITIONING: +# 379: case TIFFTAG_YCBCRSUBSAMPLING: +# 383: case TIFFTAG_TRANSFERFUNCTION: +# 389: case TIFFTAG_REFERENCEBLACKWHITE: +# 393: case TIFFTAG_INKNAMES: + +# Following pseudo-tags are also handled by default in libtiff: +# TIFFTAG_JPEGQUALITY 65537 + +# some of these are not in our TAGS_V2 dict and were included from tiff.h + +# This list also exists in encode.c +LIBTIFF_CORE = { + 255, + 256, + 257, + 258, + 259, + 262, + 263, + 266, + 274, + 277, + 278, + 280, + 281, + 340, + 341, + 282, + 283, + 284, + 286, + 287, + 296, + 297, + 321, + 320, + 338, + 32995, + 322, + 323, + 32998, + 32996, + 339, + 32997, + 330, + 531, + 530, + 301, + 532, + 333, + # as above + 269, # this has been in our tests forever, and works + 65537, +} + +LIBTIFF_CORE.remove(255) # We don't have support for subfiletypes +LIBTIFF_CORE.remove(322) # We don't have support for writing tiled images with libtiff +LIBTIFF_CORE.remove(323) # Tiled images + +# Note to advanced users: There may be combinations of these +# parameters and values that when added properly, will work and +# produce valid tiff images that may work in your application. +# It is safe to add and remove tags from this set from Pillow's point +# of view so long as you test against libtiff. diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/WalImageFile.py b/presentation/.venv/lib/python3.12/site-packages/PIL/WalImageFile.py new file mode 100644 index 0000000..07bbf74 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/WalImageFile.py @@ -0,0 +1,129 @@ +# +# The Python Imaging Library. +# $Id$ +# +# WAL file handling +# +# History: +# 2003-04-23 fl created +# +# Copyright (c) 2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +""" +This reader is based on the specification available from: +https://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml +and has been tested with a few sample files found using google. + +.. note:: + This format cannot be automatically recognized, so the reader + is not registered for use with :py:func:`PIL.Image.open()`. + To open a WAL file, use the :py:func:`PIL.WalImageFile.open()` function instead. +""" + +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import i32le as i32 +from ._typing import StrOrBytesPath + + +class WalImageFile(ImageFile.ImageFile): + format = "WAL" + format_description = "Quake2 Texture" + + def _open(self) -> None: + self._mode = "P" + + # read header fields + assert self.fp is not None + header = self.fp.read(32 + 24 + 32 + 12) + self._size = i32(header, 32), i32(header, 36) + Image._decompression_bomb_check(self.size) + + # load pixel data + offset = i32(header, 40) + self.fp.seek(offset) + + # strings are null-terminated + self.info["name"] = header[:32].split(b"\0", 1)[0] + if next_name := header[56 : 56 + 32].split(b"\0", 1)[0]: + self.info["next_name"] = next_name + + def load(self) -> Image.core.PixelAccess | None: + if self._im is None: + assert self.fp is not None + self.im = Image.core.new(self.mode, self.size) + self.frombytes(self.fp.read(self.size[0] * self.size[1])) + self.putpalette(quake2palette) + return Image.Image.load(self) + + +def open(filename: StrOrBytesPath | IO[bytes]) -> WalImageFile: + """ + Load texture from a Quake2 WAL texture file. + + By default, a Quake2 standard palette is attached to the texture. + To override the palette, use the :py:func:`PIL.Image.Image.putpalette()` method. + + :param filename: WAL file name, or an opened file handle. + :returns: An image instance. + """ + return WalImageFile(filename) + + +quake2palette = ( + # default palette taken from piffo 0.93 by Hans Häggström + b"\x01\x01\x01\x0b\x0b\x0b\x12\x12\x12\x17\x17\x17\x1b\x1b\x1b\x1e" + b"\x1e\x1e\x22\x22\x22\x26\x26\x26\x29\x29\x29\x2c\x2c\x2c\x2f\x2f" + b"\x2f\x32\x32\x32\x35\x35\x35\x37\x37\x37\x3a\x3a\x3a\x3c\x3c\x3c" + b"\x24\x1e\x13\x22\x1c\x12\x20\x1b\x12\x1f\x1a\x10\x1d\x19\x10\x1b" + b"\x17\x0f\x1a\x16\x0f\x18\x14\x0d\x17\x13\x0d\x16\x12\x0d\x14\x10" + b"\x0b\x13\x0f\x0b\x10\x0d\x0a\x0f\x0b\x0a\x0d\x0b\x07\x0b\x0a\x07" + b"\x23\x23\x26\x22\x22\x25\x22\x20\x23\x21\x1f\x22\x20\x1e\x20\x1f" + b"\x1d\x1e\x1d\x1b\x1c\x1b\x1a\x1a\x1a\x19\x19\x18\x17\x17\x17\x16" + b"\x16\x14\x14\x14\x13\x13\x13\x10\x10\x10\x0f\x0f\x0f\x0d\x0d\x0d" + b"\x2d\x28\x20\x29\x24\x1c\x27\x22\x1a\x25\x1f\x17\x38\x2e\x1e\x31" + b"\x29\x1a\x2c\x25\x17\x26\x20\x14\x3c\x30\x14\x37\x2c\x13\x33\x28" + b"\x12\x2d\x24\x10\x28\x1f\x0f\x22\x1a\x0b\x1b\x14\x0a\x13\x0f\x07" + b"\x31\x1a\x16\x30\x17\x13\x2e\x16\x10\x2c\x14\x0d\x2a\x12\x0b\x27" + b"\x0f\x0a\x25\x0f\x07\x21\x0d\x01\x1e\x0b\x01\x1c\x0b\x01\x1a\x0b" + b"\x01\x18\x0a\x01\x16\x0a\x01\x13\x0a\x01\x10\x07\x01\x0d\x07\x01" + b"\x29\x23\x1e\x27\x21\x1c\x26\x20\x1b\x25\x1f\x1a\x23\x1d\x19\x21" + b"\x1c\x18\x20\x1b\x17\x1e\x19\x16\x1c\x18\x14\x1b\x17\x13\x19\x14" + b"\x10\x17\x13\x0f\x14\x10\x0d\x12\x0f\x0b\x0f\x0b\x0a\x0b\x0a\x07" + b"\x26\x1a\x0f\x23\x19\x0f\x20\x17\x0f\x1c\x16\x0f\x19\x13\x0d\x14" + b"\x10\x0b\x10\x0d\x0a\x0b\x0a\x07\x33\x22\x1f\x35\x29\x26\x37\x2f" + b"\x2d\x39\x35\x34\x37\x39\x3a\x33\x37\x39\x30\x34\x36\x2b\x31\x34" + b"\x27\x2e\x31\x22\x2b\x2f\x1d\x28\x2c\x17\x25\x2a\x0f\x20\x26\x0d" + b"\x1e\x25\x0b\x1c\x22\x0a\x1b\x20\x07\x19\x1e\x07\x17\x1b\x07\x14" + b"\x18\x01\x12\x16\x01\x0f\x12\x01\x0b\x0d\x01\x07\x0a\x01\x01\x01" + b"\x2c\x21\x21\x2a\x1f\x1f\x29\x1d\x1d\x27\x1c\x1c\x26\x1a\x1a\x24" + b"\x18\x18\x22\x17\x17\x21\x16\x16\x1e\x13\x13\x1b\x12\x12\x18\x10" + b"\x10\x16\x0d\x0d\x12\x0b\x0b\x0d\x0a\x0a\x0a\x07\x07\x01\x01\x01" + b"\x2e\x30\x29\x2d\x2e\x27\x2b\x2c\x26\x2a\x2a\x24\x28\x29\x23\x27" + b"\x27\x21\x26\x26\x1f\x24\x24\x1d\x22\x22\x1c\x1f\x1f\x1a\x1c\x1c" + b"\x18\x19\x19\x16\x17\x17\x13\x13\x13\x10\x0f\x0f\x0d\x0b\x0b\x0a" + b"\x30\x1e\x1b\x2d\x1c\x19\x2c\x1a\x17\x2a\x19\x14\x28\x17\x13\x26" + b"\x16\x10\x24\x13\x0f\x21\x12\x0d\x1f\x10\x0b\x1c\x0f\x0a\x19\x0d" + b"\x0a\x16\x0b\x07\x12\x0a\x07\x0f\x07\x01\x0a\x01\x01\x01\x01\x01" + b"\x28\x29\x38\x26\x27\x36\x25\x26\x34\x24\x24\x31\x22\x22\x2f\x20" + b"\x21\x2d\x1e\x1f\x2a\x1d\x1d\x27\x1b\x1b\x25\x19\x19\x21\x17\x17" + b"\x1e\x14\x14\x1b\x13\x12\x17\x10\x0f\x13\x0d\x0b\x0f\x0a\x07\x07" + b"\x2f\x32\x29\x2d\x30\x26\x2b\x2e\x24\x29\x2c\x21\x27\x2a\x1e\x25" + b"\x28\x1c\x23\x26\x1a\x21\x25\x18\x1e\x22\x14\x1b\x1f\x10\x19\x1c" + b"\x0d\x17\x1a\x0a\x13\x17\x07\x10\x13\x01\x0d\x0f\x01\x0a\x0b\x01" + b"\x01\x3f\x01\x13\x3c\x0b\x1b\x39\x10\x20\x35\x14\x23\x31\x17\x23" + b"\x2d\x18\x23\x29\x18\x3f\x3f\x3f\x3f\x3f\x39\x3f\x3f\x31\x3f\x3f" + b"\x2a\x3f\x3f\x20\x3f\x3f\x14\x3f\x3c\x12\x3f\x39\x0f\x3f\x35\x0b" + b"\x3f\x32\x07\x3f\x2d\x01\x3d\x2a\x01\x3b\x26\x01\x39\x21\x01\x37" + b"\x1d\x01\x34\x1a\x01\x32\x16\x01\x2f\x12\x01\x2d\x0f\x01\x2a\x0b" + b"\x01\x27\x07\x01\x23\x01\x01\x1d\x01\x01\x17\x01\x01\x10\x01\x01" + b"\x3d\x01\x01\x19\x19\x3f\x3f\x01\x01\x01\x01\x3f\x16\x16\x13\x10" + b"\x10\x0f\x0d\x0d\x0b\x3c\x2e\x2a\x36\x27\x20\x30\x21\x18\x29\x1b" + b"\x10\x3c\x39\x37\x37\x32\x2f\x31\x2c\x28\x2b\x26\x21\x30\x22\x20" +) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/WebPImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/WebPImagePlugin.py new file mode 100644 index 0000000..e20e40d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/WebPImagePlugin.py @@ -0,0 +1,317 @@ +from __future__ import annotations + +from io import BytesIO + +from . import Image, ImageFile + +try: + from . import _webp + + SUPPORTED = True +except ImportError: + SUPPORTED = False + +TYPE_CHECKING = False +if TYPE_CHECKING: + from typing import IO, Any + +_VP8_MODES_BY_IDENTIFIER = { + b"VP8 ": "RGB", + b"VP8X": "RGBA", + b"VP8L": "RGBA", # lossless +} + + +def _accept(prefix: bytes) -> bool | str: + is_riff_file_format = prefix.startswith(b"RIFF") + is_webp_file = prefix[8:12] == b"WEBP" + is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER + + if is_riff_file_format and is_webp_file and is_valid_vp8_mode: + if not SUPPORTED: + return ( + "image file could not be identified because WEBP support not installed" + ) + return True + return False + + +class WebPImageFile(ImageFile.ImageFile): + format = "WEBP" + format_description = "WebP image" + __loaded = 0 + __logical_frame = 0 + + def _open(self) -> None: + # Use the newer AnimDecoder API to parse the (possibly) animated file, + # and access muxed chunks like ICC/EXIF/XMP. + assert self.fp is not None + self._decoder = _webp.WebPAnimDecoder(self.fp.read()) + + # Get info from decoder + self._size, self.info["loop"], bgcolor, self.n_frames, self.rawmode = ( + self._decoder.get_info() + ) + self.info["background"] = ( + (bgcolor >> 16) & 0xFF, # R + (bgcolor >> 8) & 0xFF, # G + bgcolor & 0xFF, # B + (bgcolor >> 24) & 0xFF, # A + ) + self.is_animated = self.n_frames > 1 + self._mode = "RGB" if self.rawmode == "RGBX" else self.rawmode + + # Attempt to read ICC / EXIF / XMP chunks from file + for key, chunk_name in { + "icc_profile": "ICCP", + "exif": "EXIF", + "xmp": "XMP ", + }.items(): + if value := self._decoder.get_chunk(chunk_name): + self.info[key] = value + + # Initialize seek state + self._reset(reset=False) + + def _getexif(self) -> dict[int, Any] | None: + if "exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + + # Set logical frame to requested position + self.__logical_frame = frame + + def _reset(self, reset: bool = True) -> None: + if reset: + self._decoder.reset() + self.__physical_frame = 0 + self.__loaded = -1 + self.__timestamp = 0 + + def _get_next(self) -> tuple[bytes, int, int]: + # Get next frame + ret = self._decoder.get_next() + self.__physical_frame += 1 + + # Check if an error occurred + if ret is None: + self._reset() # Reset just to be safe + self.seek(0) + msg = "failed to decode next frame in WebP file" + raise EOFError(msg) + + # Compute duration + data, timestamp = ret + duration = timestamp - self.__timestamp + self.__timestamp = timestamp + + # libwebp gives frame end, adjust to start of frame + timestamp -= duration + return data, timestamp, duration + + def _seek(self, frame: int) -> None: + if self.__physical_frame == frame: + return # Nothing to do + if frame < self.__physical_frame: + self._reset() # Rewind to beginning + while self.__physical_frame < frame: + self._get_next() # Advance to the requested frame + + def load(self) -> Image.core.PixelAccess | None: + if self.__loaded != self.__logical_frame: + self._seek(self.__logical_frame) + + # We need to load the image data for this frame + data, self.info["timestamp"], self.info["duration"] = self._get_next() + self.__loaded = self.__logical_frame + + # Set tile + if self.fp and self._exclusive_fp: + self.fp.close() + self.fp = BytesIO(data) + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 0, self.rawmode)] + + return super().load() + + def load_seek(self, pos: int) -> None: + pass + + def tell(self) -> int: + return self.__logical_frame + + +def _convert_frame(im: Image.Image) -> Image.Image: + # Make sure image mode is supported + if im.mode not in ("RGBX", "RGBA", "RGB"): + im = im.convert("RGBA" if im.has_transparency_data else "RGB") + return im + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + encoderinfo = im.encoderinfo.copy() + append_images = list(encoderinfo.get("append_images", [])) + + # If total frame count is 1, then save using the legacy API, which + # will preserve non-alpha modes + total = 0 + for ims in [im] + append_images: + total += getattr(ims, "n_frames", 1) + if total == 1: + _save(im, fp, filename) + return + + background: int | tuple[int, ...] = (0, 0, 0, 0) + if "background" in encoderinfo: + background = encoderinfo["background"] + elif "background" in im.info: + background = im.info["background"] + if isinstance(background, int): + # GifImagePlugin stores a global color table index in + # info["background"]. So it must be converted to an RGBA value + palette = im.getpalette() + if palette: + r, g, b = palette[background * 3 : (background + 1) * 3] + background = (r, g, b, 255) + else: + background = (background, background, background, 255) + + duration = im.encoderinfo.get("duration", im.info.get("duration", 0)) + loop = im.encoderinfo.get("loop", 0) + minimize_size = im.encoderinfo.get("minimize_size", False) + kmin = im.encoderinfo.get("kmin", None) + kmax = im.encoderinfo.get("kmax", None) + allow_mixed = im.encoderinfo.get("allow_mixed", False) + verbose = False + lossless = im.encoderinfo.get("lossless", False) + quality = im.encoderinfo.get("quality", 80) + alpha_quality = im.encoderinfo.get("alpha_quality", 100) + method = im.encoderinfo.get("method", 0) + icc_profile = im.encoderinfo.get("icc_profile") or "" + exif = im.encoderinfo.get("exif", "") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + xmp = im.encoderinfo.get("xmp", "") + if allow_mixed: + lossless = False + + # Sensible keyframe defaults are from gif2webp.c script + if kmin is None: + kmin = 9 if lossless else 3 + if kmax is None: + kmax = 17 if lossless else 5 + + # Validate background color + if ( + not isinstance(background, (list, tuple)) + or len(background) != 4 + or not all(0 <= v < 256 for v in background) + ): + msg = f"Background color is not an RGBA tuple clamped to (0-255): {background}" + raise OSError(msg) + + # Convert to packed uint + bg_r, bg_g, bg_b, bg_a = background + background = (bg_a << 24) | (bg_r << 16) | (bg_g << 8) | (bg_b << 0) + + # Setup the WebP animation encoder + enc = _webp.WebPAnimEncoder( + im.size, + background, + loop, + minimize_size, + kmin, + kmax, + allow_mixed, + verbose, + ) + + # Add each frame + frame_idx = 0 + timestamp = 0 + cur_idx = im.tell() + try: + for ims in [im] + append_images: + # Get number of frames in this image + nfr = getattr(ims, "n_frames", 1) + + for idx in range(nfr): + ims.seek(idx) + + frame = _convert_frame(ims) + + # Append the frame to the animation encoder + enc.add( + frame.getim(), + round(timestamp), + lossless, + quality, + alpha_quality, + method, + ) + + # Update timestamp and frame index + if isinstance(duration, (list, tuple)): + timestamp += duration[frame_idx] + else: + timestamp += duration + frame_idx += 1 + + finally: + im.seek(cur_idx) + + # Force encoder to flush frames + enc.add(None, round(timestamp), lossless, quality, alpha_quality, 0) + + # Get the final output from the encoder + data = enc.assemble(icc_profile, exif, xmp) + if data is None: + msg = "cannot write file as WebP (encoder returned None)" + raise OSError(msg) + + fp.write(data) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + lossless = im.encoderinfo.get("lossless", False) + quality = im.encoderinfo.get("quality", 80) + alpha_quality = im.encoderinfo.get("alpha_quality", 100) + icc_profile = im.encoderinfo.get("icc_profile") or "" + exif = im.encoderinfo.get("exif", b"") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + if exif.startswith(b"Exif\x00\x00"): + exif = exif[6:] + xmp = im.encoderinfo.get("xmp", "") + method = im.encoderinfo.get("method", 4) + exact = 1 if im.encoderinfo.get("exact") else 0 + + im = _convert_frame(im) + + data = _webp.WebPEncode( + im.getim(), + lossless, + float(quality), + float(alpha_quality), + icc_profile, + method, + exact, + exif, + xmp, + ) + if data is None: + msg = "cannot write file as WebP (encoder returned None)" + raise OSError(msg) + + fp.write(data) + + +Image.register_open(WebPImageFile.format, WebPImageFile, _accept) +if SUPPORTED: + Image.register_save(WebPImageFile.format, _save) + Image.register_save_all(WebPImageFile.format, _save_all) + Image.register_extension(WebPImageFile.format, ".webp") + Image.register_mime(WebPImageFile.format, "image/webp") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/WmfImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/WmfImagePlugin.py new file mode 100644 index 0000000..f5e2447 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/WmfImagePlugin.py @@ -0,0 +1,183 @@ +# +# The Python Imaging Library +# $Id$ +# +# WMF stub codec +# +# history: +# 1996-12-14 fl Created +# 2004-02-22 fl Turned into a stub driver +# 2004-02-23 fl Added EMF support +# +# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +# WMF/EMF reference documentation: +# https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/[MS-WMF].pdf +# http://wvware.sourceforge.net/caolan/index.html +# http://wvware.sourceforge.net/caolan/ora-wmf.html +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import i16le as word +from ._binary import si16le as short +from ._binary import si32le as _long + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific WMF image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +if hasattr(Image.core, "drawwmf"): + # install default handler (windows only) + + class WmfHandler(ImageFile.StubHandler): + def open(self, im: ImageFile.StubImageFile) -> None: + self.bbox = im.info["wmf_bbox"] + + def load(self, im: ImageFile.StubImageFile) -> Image.Image: + assert im.fp is not None + im.fp.seek(0) # rewind + return Image.frombytes( + "RGB", + im.size, + Image.core.drawwmf(im.fp.read(), im.size, self.bbox), + "raw", + "BGR", + (im.size[0] * 3 + 3) & -4, + -1, + ) + + register_handler(WmfHandler()) + +# +# -------------------------------------------------------------------- +# Read WMF file + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith((b"\xd7\xcd\xc6\x9a\x00\x00", b"\x01\x00\x00\x00")) + + +## +# Image plugin for Windows metafiles. + + +class WmfStubImageFile(ImageFile.StubImageFile): + format = "WMF" + format_description = "Windows Metafile" + + def _open(self) -> None: + # check placeable header + assert self.fp is not None + s = self.fp.read(44) + + if s.startswith(b"\xd7\xcd\xc6\x9a\x00\x00"): + # placeable windows metafile + + # get units per inch + inch = word(s, 14) + if inch == 0: + msg = "Invalid inch" + raise ValueError(msg) + self._inch: tuple[float, float] = inch, inch + + # get bounding box + x0 = short(s, 6) + y0 = short(s, 8) + x1 = short(s, 10) + y1 = short(s, 12) + + # normalize size to 72 dots per inch + self.info["dpi"] = 72 + size = ( + (x1 - x0) * self.info["dpi"] // inch, + (y1 - y0) * self.info["dpi"] // inch, + ) + + self.info["wmf_bbox"] = x0, y0, x1, y1 + + # sanity check (standard metafile header) + if s[22:26] != b"\x01\x00\t\x00": + msg = "Unsupported WMF file format" + raise SyntaxError(msg) + + elif s.startswith(b"\x01\x00\x00\x00") and s[40:44] == b" EMF": + # enhanced metafile + + # get bounding box + x0 = _long(s, 8) + y0 = _long(s, 12) + x1 = _long(s, 16) + y1 = _long(s, 20) + + # get frame (in 0.01 millimeter units) + frame = _long(s, 24), _long(s, 28), _long(s, 32), _long(s, 36) + + size = x1 - x0, y1 - y0 + + # calculate dots per inch from bbox and frame + xdpi = 2540.0 * (x1 - x0) / (frame[2] - frame[0]) + ydpi = 2540.0 * (y1 - y0) / (frame[3] - frame[1]) + + self.info["wmf_bbox"] = x0, y0, x1, y1 + + if xdpi == ydpi: + self.info["dpi"] = xdpi + else: + self.info["dpi"] = xdpi, ydpi + self._inch = xdpi, ydpi + + else: + msg = "Unsupported file format" + raise SyntaxError(msg) + + self._mode = "RGB" + self._size = size + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + def load( + self, dpi: float | tuple[float, float] | None = None + ) -> Image.core.PixelAccess | None: + if dpi is not None: + self.info["dpi"] = dpi + x0, y0, x1, y1 = self.info["wmf_bbox"] + if not isinstance(dpi, tuple): + dpi = dpi, dpi + self._size = ( + int((x1 - x0) * dpi[0] / self._inch[0]), + int((y1 - y0) * dpi[1] / self._inch[1]), + ) + return super().load() + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "WMF save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# +# -------------------------------------------------------------------- +# Registry stuff + + +Image.register_open(WmfStubImageFile.format, WmfStubImageFile, _accept) +Image.register_save(WmfStubImageFile.format, _save) + +Image.register_extensions(WmfStubImageFile.format, [".wmf", ".emf"]) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/XVThumbImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/XVThumbImagePlugin.py new file mode 100644 index 0000000..192c041 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/XVThumbImagePlugin.py @@ -0,0 +1,83 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XV Thumbnail file handler by Charles E. "Gene" Cash +# (gcash@magicnet.net) +# +# see xvcolor.c and xvbrowse.c in the sources to John Bradley's XV, +# available from ftp://ftp.cis.upenn.edu/pub/xv/ +# +# history: +# 98-08-15 cec created (b/w only) +# 98-12-09 cec added color palette +# 98-12-28 fl added to PIL (with only a few very minor modifications) +# +# To do: +# FIXME: make save work (this requires quantization support) +# +from __future__ import annotations + +from . import Image, ImageFile, ImagePalette +from ._binary import o8 + +_MAGIC = b"P7 332" + +# standard color palette for thumbnails (RGB332) +PALETTE = b"" +for r in range(8): + for g in range(8): + for b in range(4): + PALETTE = PALETTE + ( + o8((r * 255) // 7) + o8((g * 255) // 7) + o8((b * 255) // 3) + ) + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(_MAGIC) + + +## +# Image plugin for XV thumbnail images. + + +class XVThumbImageFile(ImageFile.ImageFile): + format = "XVThumb" + format_description = "XV thumbnail image" + + def _open(self) -> None: + # check magic + assert self.fp is not None + + if not _accept(self.fp.read(6)): + msg = "not an XV thumbnail file" + raise SyntaxError(msg) + + # Skip to beginning of next line + self.fp.readline() + + # skip info comments + while True: + s = self.fp.readline() + if not s: + msg = "Unexpected EOF reading XV thumbnail file" + raise SyntaxError(msg) + if s[0] != 35: # ie. when not a comment: '#' + break + + # parse header line (already read) + w, h = s.strip().split(maxsplit=2)[:2] + + self._mode = "P" + self._size = int(w), int(h) + + self.palette = ImagePalette.raw("RGB", PALETTE) + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, self.fp.tell(), self.mode) + ] + + +# -------------------------------------------------------------------- + +Image.register_open(XVThumbImageFile.format, XVThumbImageFile, _accept) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/XbmImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/XbmImagePlugin.py new file mode 100644 index 0000000..1e57aa1 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/XbmImagePlugin.py @@ -0,0 +1,98 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XBM File handling +# +# History: +# 1995-09-08 fl Created +# 1996-11-01 fl Added save support +# 1997-07-07 fl Made header parser more tolerant +# 1997-07-22 fl Fixed yet another parser bug +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.4) +# 2001-05-13 fl Added hotspot handling (based on code from Bernhard Herzog) +# 2004-02-24 fl Allow some whitespace before first #define +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from typing import IO + +from . import Image, ImageFile + +# XBM header +xbm_head = re.compile( + rb"\s*#define[ \t]+.*_width[ \t]+(?P<width>[0-9]+)[\r\n]+" + b"#define[ \t]+.*_height[ \t]+(?P<height>[0-9]+)[\r\n]+" + b"(?P<hotspot>" + b"#define[ \t]+[^_]*_x_hot[ \t]+(?P<xhot>[0-9]+)[\r\n]+" + b"#define[ \t]+[^_]*_y_hot[ \t]+(?P<yhot>[0-9]+)[\r\n]+" + b")?" + rb"[\000-\377]*_bits\[]" +) + + +def _accept(prefix: bytes) -> bool: + return prefix.lstrip().startswith(b"#define") + + +## +# Image plugin for X11 bitmaps. + + +class XbmImageFile(ImageFile.ImageFile): + format = "XBM" + format_description = "X11 Bitmap" + + def _open(self) -> None: + assert self.fp is not None + + m = xbm_head.match(self.fp.read(512)) + + if not m: + msg = "not a XBM file" + raise SyntaxError(msg) + + xsize = int(m.group("width")) + ysize = int(m.group("height")) + + if m.group("hotspot"): + self.info["hotspot"] = (int(m.group("xhot")), int(m.group("yhot"))) + + self._mode = "1" + self._size = xsize, ysize + + self.tile = [ImageFile._Tile("xbm", (0, 0) + self.size, m.end())] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "1": + msg = f"cannot write mode {im.mode} as XBM" + raise OSError(msg) + + fp.write(f"#define im_width {im.size[0]}\n".encode("ascii")) + fp.write(f"#define im_height {im.size[1]}\n".encode("ascii")) + + hotspot = im.encoderinfo.get("hotspot") + if hotspot: + fp.write(f"#define im_x_hot {hotspot[0]}\n".encode("ascii")) + fp.write(f"#define im_y_hot {hotspot[1]}\n".encode("ascii")) + + fp.write(b"static char im_bits[] = {\n") + + ImageFile._save(im, fp, [ImageFile._Tile("xbm", (0, 0) + im.size)]) + + fp.write(b"};\n") + + +Image.register_open(XbmImageFile.format, XbmImageFile, _accept) +Image.register_save(XbmImageFile.format, _save) + +Image.register_extension(XbmImageFile.format, ".xbm") + +Image.register_mime(XbmImageFile.format, "image/xbm") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/XpmImagePlugin.py b/presentation/.venv/lib/python3.12/site-packages/PIL/XpmImagePlugin.py new file mode 100644 index 0000000..3be240f --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/XpmImagePlugin.py @@ -0,0 +1,157 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XPM File handling +# +# History: +# 1996-12-29 fl Created +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) +# +# Copyright (c) Secret Labs AB 1997-2001. +# Copyright (c) Fredrik Lundh 1996-2001. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re + +from . import Image, ImageFile, ImagePalette +from ._binary import o8 + +# XPM header +xpm_head = re.compile(b'"([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)') + + +def _accept(prefix: bytes) -> bool: + return prefix.startswith(b"/* XPM */") + + +## +# Image plugin for X11 pixel maps. + + +class XpmImageFile(ImageFile.ImageFile): + format = "XPM" + format_description = "X11 Pixel Map" + + def _open(self) -> None: + assert self.fp is not None + if not _accept(self.fp.read(9)): + msg = "not an XPM file" + raise SyntaxError(msg) + + # skip forward to next string + while True: + line = self.fp.readline() + if not line: + msg = "broken XPM file" + raise SyntaxError(msg) + m = xpm_head.match(line) + if m: + break + + self._size = int(m.group(1)), int(m.group(2)) + + palette_length = int(m.group(3)) + bpp = int(m.group(4)) + + # + # load palette description + + palette = {} + + for _ in range(palette_length): + line = self.fp.readline().rstrip() + + c = line[1 : bpp + 1] + s = line[bpp + 1 : -2].split() + + for i in range(0, len(s), 2): + if s[i] == b"c": + # process colour key + rgb = s[i + 1] + if rgb == b"None": + self.info["transparency"] = c + elif rgb.startswith(b"#"): + rgb_int = int(rgb[1:], 16) + palette[c] = ( + o8((rgb_int >> 16) & 255) + + o8((rgb_int >> 8) & 255) + + o8(rgb_int & 255) + ) + else: + # unknown colour + msg = "cannot read this XPM file" + raise ValueError(msg) + break + + else: + # missing colour key + msg = "cannot read this XPM file" + raise ValueError(msg) + + args: tuple[int, dict[bytes, bytes] | tuple[bytes, ...]] + if palette_length > 256: + self._mode = "RGB" + args = (bpp, palette) + else: + self._mode = "P" + self.palette = ImagePalette.raw("RGB", b"".join(palette.values())) + args = (bpp, tuple(palette.keys())) + + self.tile = [ImageFile._Tile("xpm", (0, 0) + self.size, self.fp.tell(), args)] + + def load_read(self, read_bytes: int) -> bytes: + # + # load all image data in one chunk + + xsize, ysize = self.size + + assert self.fp is not None + s = [self.fp.readline()[1 : xsize + 1].ljust(xsize) for i in range(ysize)] + + return b"".join(s) + + +class XpmDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + data = bytearray() + bpp, palette = self.args + dest_length = self.state.xsize * self.state.ysize + if self.mode == "RGB": + dest_length *= 3 + pixel_header = False + while len(data) < dest_length: + line = self.fd.readline() + if not line: + break + if line.rstrip() == b"/* pixels */" and not pixel_header: + pixel_header = True + continue + line = b'"'.join(line.split(b'"')[1:-1]) + for i in range(0, len(line), bpp): + key = line[i : i + bpp] + if self.mode == "RGB": + data += palette[key] + else: + data += o8(palette.index(key)) + self.set_as_raw(bytes(data)) + return -1, 0 + + +# +# Registry + + +Image.register_open(XpmImageFile.format, XpmImageFile, _accept) +Image.register_decoder("xpm", XpmDecoder) + +Image.register_extension(XpmImageFile.format, ".xpm") + +Image.register_mime(XpmImageFile.format, "image/xpm") diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__init__.py b/presentation/.venv/lib/python3.12/site-packages/PIL/__init__.py new file mode 100644 index 0000000..faf3e76 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/__init__.py @@ -0,0 +1,87 @@ +"""Pillow (Fork of the Python Imaging Library) + +Pillow is the friendly PIL fork by Jeffrey 'Alex' Clark and contributors. + https://github.com/python-pillow/Pillow/ + +Pillow is forked from PIL 1.1.7. + +PIL is the Python Imaging Library by Fredrik Lundh and contributors. +Copyright (c) 1999 by Secret Labs AB. + +Use PIL.__version__ for this Pillow version. + +;-) +""" + +from __future__ import annotations + +from . import _version + +# VERSION was removed in Pillow 6.0.0. +# PILLOW_VERSION was removed in Pillow 9.0.0. +# Use __version__ instead. +__version__ = _version.__version__ +del _version + + +_plugins = [ + "AvifImagePlugin", + "BlpImagePlugin", + "BmpImagePlugin", + "BufrStubImagePlugin", + "CurImagePlugin", + "DcxImagePlugin", + "DdsImagePlugin", + "EpsImagePlugin", + "FitsImagePlugin", + "FliImagePlugin", + "FpxImagePlugin", + "FtexImagePlugin", + "GbrImagePlugin", + "GifImagePlugin", + "GribStubImagePlugin", + "Hdf5StubImagePlugin", + "IcnsImagePlugin", + "IcoImagePlugin", + "ImImagePlugin", + "ImtImagePlugin", + "IptcImagePlugin", + "JpegImagePlugin", + "Jpeg2KImagePlugin", + "McIdasImagePlugin", + "MicImagePlugin", + "MpegImagePlugin", + "MpoImagePlugin", + "MspImagePlugin", + "PalmImagePlugin", + "PcdImagePlugin", + "PcxImagePlugin", + "PdfImagePlugin", + "PixarImagePlugin", + "PngImagePlugin", + "PpmImagePlugin", + "PsdImagePlugin", + "QoiImagePlugin", + "SgiImagePlugin", + "SpiderImagePlugin", + "SunImagePlugin", + "TgaImagePlugin", + "TiffImagePlugin", + "WebPImagePlugin", + "WmfImagePlugin", + "XbmImagePlugin", + "XpmImagePlugin", + "XVThumbImagePlugin", +] + + +class UnidentifiedImageError(OSError): + """ + Raised in :py:meth:`PIL.Image.open` if an image cannot be opened and identified. + + If a PNG image raises this error, setting :data:`.ImageFile.LOAD_TRUNCATED_IMAGES` + to true may allow the image to be opened after all. The setting will ignore missing + data and checksum failures. + """ + + pass diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__main__.py b/presentation/.venv/lib/python3.12/site-packages/PIL/__main__.py new file mode 100644 index 0000000..043156e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/__main__.py @@ -0,0 +1,7 @@ +from __future__ import annotations + +import sys + +from .features import pilinfo + +pilinfo(supported_formats="--report" not in sys.argv) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/AvifImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/AvifImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ef99f1481569a81942f187e5be64b2970af199bc GIT binary patch literal 11594 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 ZM*`+0e`q{?jQaU8Lm#94J1q_M{{ff;)Xo3^ literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BdfFontFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BdfFontFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8121dbfb3baa35c354d8a46e3837b629432c81c0 GIT binary patch literal 4230 zcmb_fTWlN06`fr!mv2!b<=C;JWEIJ>Xv<=xM6w&ZPDDLy`60=YoWx8Fmf|j@RmdeX zyRt-KiK>BtQnd?FNLw*zfiP%+$}kG3fBsB?wm<z5L$zWS{s_<(t<fL4O3=hV?VTl; ze!z(vv?FL9ckawRb9d(6!#}uOb_C@gub0I?IT89Z85qS}=}^0K&{;=33L>83=@=EK zgEU3@rkE+t1R3Zvyg6o$vq3g)30f#*tN!tJp1sNhtu#7?c*|A9TLpFw>^xd-nktf@ zEoJjLmJZp+!&nx$H@JYP#KTE$P?QxcPR}c1LgI!KI38BGj=<os&wht2^ii54EJ+C^ zOcZ1oS_7gK#;K99I~19xHS2IfQijEtpqWSF;Ta)9<VLYT2M|!Z&qBQp*i|(5;Cxl@ zX0=UIDkW1Xq*8NL+{Q+v<*A$1wV0Bq>+LG|j7R&?T-Bcs>KZ%F5d@DE-el~PrbU!C z{Wqv^!&hKpjJ*KUNzk!9Vho17+0aQdDy1?!yF{cGK>oGpR1=&Ksmzn~PQY&0rxk}` z**JUJ{6C${YM_Rb*;F&ZLNG765K5b`AK`6Rk!s@YPlMSxkUd%q6obg<y~V&vHf>2; z(>C6ruXcWe)ikWOryZ(Ybwp{^s@fb#wJgCaQ(4tYJW3={hIjEUkXWKj)RcDGkm5Fw z&D9&d`z>Fm>(Z*3ck^{Ot2Zg_QfXzcp#`U`CpZm%s7}=tWhPN8QapxE8^TT0gSHxt znft9_>n5Cpl(g#-y575h7EPDX0_AHMmC5Cqoa&#L8aUlQafggFb6AduqRc`+Ffw(% ze|(p`0S*(Scm54UCU<CPbdW50=<R{G(Tn8m^+4w=qTv0h=rVXCO)0fEsMg-pPpEZ@ zLf0D@ltRBUEl@Y8(HoRz5+&sZt<haCXjD=rz&Y+7@1IS?1wWsVW@b}DLh|#%75_L+ z%n1?Y$cPlhVSf?}vLIE$hQI5IAYJjt#A$yrrOYOz7rVN9{IaMBN0Q;l+YmEk|M<u` ze}In~v7{@Rx@S8vBS^wx5}#aZn&zXS$ZQyQoronO;h21~t2TKWFv-N*e@9;|qmSFp zY*N3N+-UgaYlXHmU+xkoyt`*F93&8U<NxU%Tn9U2a<^~;R8`kt0tD}Y>T5BdBP;G> zb|1@i|Hzc>UuO&MV_)K@U{+%XUmqEqI*p0THL6=P%?gW}b!c>8Y;a`sl+USIu@L5C zq9kZ`SqWoBUJ#X8%}m01Qe$}`lHdi6iHZ`h*``y95XLy1g85`jR4}<Snk|YGaWW-q z_SeF(d0`0S1lCNFuz<-^@zrTmRHI~#7J1E_#EGP=QKH69>#0LCFNi!?WM>6&W>(SI z#SkybU^-Q4P5i>5231O9rl%8&ut{7dKI0xLy2CW9@qKYGXgml1@^9dZE~D~3<Zzdq zuGKRuXRe*gP@lN#OWwUDhjaDB%88tF+i{@eY$!WGsq92{N2WW|li9P{w9<5~dB@gV zur=pqinjLUK$%4@_wrE5Uia{3;PZ29=kiZ)Hy(zK$lUPCaP}o)s&uepqhaI1jXj&5 ze0t~L@xsC5w@wug4ra`maF)(CWQ5h&N-TG@Sl3#xw&@r?t4DQvuf4fE{8e`LZ#Q-l zJJz~vOLibTk!>$n_hs0!4GwU(5gj;7ZC<?9`|G!MdQTO4PZfJdw%g7Wn3m<COkcJy z*LT;7>c5pY=Vw23?{K{ZuD8e?-F6@Q-s$Cmj2Dh*cV!|Od&%a`wrBU|`U(v#`QDAb z4^M6mZyw#U9xvJKnf}atHo9ePE?XEUyF6HSGUg+<U7pp@N+>r8+U<G&X5X#ek6Mea z;S622BWK-pIoq4tU+}gS-3Ri@#>AGxzs2~!_{@f!PyG|o<|BWB^_NyIW#!z({BUlp z=<56dT{gqSJ(<ME-yUxo>OjBiXc=~ze(#{5j)1gQs)?T3Z3EHwAxH@*2&pDW^Hk8p zn=&X0Y5uA+$YjtW6*NyGAEP-Q2o*~mBxrC^U?5yFHa{auTr`0>WfoXYcQ*%IhKzyN zbVaIhS2s=KCzu8f2GSo>>qw~~TB%df4`JTOTNL3V)yz;+f{rntrd9f}nY<QTWfxDU zO-hX$s5J)iE(HvPnSqQ7x%!D#fQ3BXQf)uT)!zjj$AdU4eZIz2(yU6WEN|9X2n+1u zG1;59)Uq9;0?SgLs7F|cp~+jXApG)I;IJ7x^Y*vF_qbg(&((7Decay!qp>68ub)H4 zCjnV6_p@8tqFQujY0+5-Fp#(4>k~eacBWmtUA0B%Mf&aifM=iLt*u9MBuYP03~M_2 zrzBwPl9#ZO3NHYL`<OMVO=oGNKF6p`+^uK%;jz&vuBWSesSy}97v`>nV<KO<v2dGp zJxJ{16Jz5;6H_BYlbC!~J@aEi^)dN{;iGi|Ffexh{Ltu>&L9TH#xG5boH{)vlT30h zF(X3CB#&fJkRy;C2$k3Kiq8T0U_L2e%^C`clBk42xS4GHEL56fG6e~IQBMlEg@`#K zX2Z#(An|&n)=V)$(#$ilRC3nm))-lcMKwB_#2rM_6qjf4A=0x(67e|D0T~}ALn?xO zq@^RX8oii;EFmkJNyZWU5)s=%p-3z&%b}1=?!`m-f?KYn*q32qsquj@&}E$9J1`@^ z4A}$Nz-_B*#R4IA+q(Z#XWi=Am9y8*Lu7Z?uc|BR)-#>k?jt2nM`qx*r#TlXdY<2M zKL2UGCu1&o_hhV})_F?xo^{8X<2_fV{}XRxj{3m)zH{q9@AkgFQvIG%eZxAt#%7iG zoSFX8;m(Z<n+-QEZcc1`d*|>gg~P9WWGNm#of(2iAIM(F9$4>O>&z__JqHWU4nUCg zWLq-xTl;zn?w*pjalLP?Z)^XHMej?S?|ke%R%(1^eQa$k-=7a}w0tOROy|$<v>hw7 z9lN!+*w(+@7$`R&x3}B~)$RIyIS+vV2nj0Rp@OqL6UfqQquGg^Hy6nVh`GSFyW?lx z+|&ob_k%xu?vL({QcG)oa-($vZ?$x1nRWY`J=e2VS9ZacyWm0yv-nkLFkw&{iv?vK zOByqpkOUt~?u!(T3!#u^4~60hem+L}&QR!``EaZ{V+n=$L<FuB`Bs{%`cWf7EEWp+ zD6I1~!b4xJe9@!C7^yD9zfAbY7gy0IOwYfVCUehS1Qi}JR7L^ZK{6oV@ENF<-cjb0 zG2u<1Kb;(K)=sW6uGG2!s>_Dh5L9)aFa^u>pSE3keVJ1^-3@j;29}8jqVwP#@Bk*s zOk<T)Qj}&Yo<o>Wcb#zQPewoD4OBS`2^9CNCn^p+i7&#Cctm~$s<MfqsJk6B#e8l> xRO??+)89~YnLSRuP_nqoCTPnnYj*5fp!b<dJxlduJ9a#+1yAee2nM=={{XDe!F&J! literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e4947a901540964995ccc6ec62888bef4c61a691 GIT binary patch literal 24148 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a5bc5b4fe42c272cde592f3c57088c65cd26bfa GIT binary patch literal 18083 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a5764388482507f4c153bd1d6f6afe366759cd46 GIT binary patch literal 2598 zcmZ`*TW=Fb6rNeH?{-X_n**V&5-6AwFKKD1pz4K)l(fYlB2>w3Wo^9UWX*clo!wj< zxoSX2P1IHdRaK~j)IRi~h!=iB-}~Z-phT-wLgJx{`V!Uj1y!PFX0vv}Wu!fGX3m+} z+3%e1%>EINM-a5XKi$%P3?TG~4ZP-e72G(A5n4tnQn8N8IEOLQ1zpGq(ED^>S<Hzr zC#rtkUk>B~<zOxdV?hb2F*R^q%!Sps8iYO~pbwE6x{lN^36{FO7q$AkK3C7h)HXE& zE8+qofl^<~!_!Et^opmqdJ-cMZx4+4TB&9Aw3n=n-xXYs?UntWf2)7-N;TSASryWW zO|~G7ov30MrmfhTX;@hp3!@h{0ZNn>9RFxpnIKM>cO#lk3e4a&rUMeV5dviy)sTX! zI4#WOBNDVx!?G1!my}9H*9v_5L90RvT2U)VXD*Lik~FrtG^rS>PG}~=SDmUTR4IFt zr=)YPRWip*q+n;bPxcOWLiz1=aNyv!YOw=JPjq?GEE8EZjfu%BF%4NI)AB`XvJD1D zjUrX#3MCdX+;5gM)5MsTb!}X(RP9OAcq23Px@>7S8LTLUD{w?hzBu}cd}gXh$Ly(b zj>ScNYC<zIm8!Fck_pYS3H1&{<8X>Dc&sppd9>Ar_Vipm*MI@q1s_Wy4&Omg7<{Fj z;4*h;D!#itI|c#CrUgrcSq2|ha>Kb{Kp+B8Q`?%+>`52};PZ;wtP2N?fxi>XD}@57 z*fa^F0eGxV5c6m~+P)U;TZ#77_sjRA$Lr#8+6IOKJk92%Tf;pkK{>1<AQjH}-~l?R z0#LxO22>yPfvT7eI_<mAVwvNJ?9jUaV9ezJ`~wOHp!v?0GB13Du3;Pe+y*dt>W;p& zT?KYb?SRgM(2A?VSJ)1EUbQB;*YHdBWifoFsXm)mBQ{-P=swe0EK|iA$~WJp`eDSV z!dn%k1KCX$%(+C?v?aymL=m9c{O{@0rw$%T3zU5p7wNDg6e~P@j!223I?=HzWbo`+ zN=@pB79m$0!L*#v*x9om=Z7y}a{T$SsS@ZcZH@q$!ACDTzOpr8v5-oVn;QPSSs}(; z&vOyWaKmfhYJCm@k|oh`V`g!tp6IWK`ay0ax|i(bnVU1qwVSnHKKSA5)x_cT<iNu4 zMsokH!u@1_J=Xs)6uS{z4Bm(>#+EMKPX4^_r+urTLt6pV-Mb)u7g_Iu?)!+FbUV|Z z={z@BIxZs{q}zZ7I7?Yr(wMT^w=>QCdEHdh7k&#foMi4S9`k4;(X)`?uLVvy0ZQyC zYB*xnGyp1k7<``eHLG5R@!qRMHHkX~p#<d(rA+d9Cz5ASPw7mL<?~-oDf+f0P&8>- zv7Myb=T%}As8(UMmNGigS3%rC{2)9Wl<|@ab_S~l#C5bD@0cH1?>$f#yBlJ}zxQzp z`%~^3=3Z!$0|re}&B9<Oa98)VNYsK8>dQ92IXQfGlSnn6M;o9Y?B%vnGo8H|1eL3X zYeMTngVgqAA>EW|GIxMidZv0cU4qL-(%j2|sA-WhGO-$NDYi|W;Ds@s(sT%>)1o72 zWxAJngcvm#taJc|y!x?g#!F)M3i=jUPBZIq5D?^Gq8{wIJ@f1Az3$ZmZ?Ct>3%-rE zuBF1adOfsvLyUcM{_6Rq{-yC-M;?d+9MCy`W*iDV94iW2&@>Y)67&cNm~Ds7@sC$+ zV)1!L95+op9ik_|Fc;-1li`w|dM-SA;WO_21$~oyST>bvQfmWu<0Q+W;uIty<Pc@? zr0l=J3E0(&W=v3#4G@KYA4FLMIB5K)aZ5tHc{8zE>n0Hc!-+SqC&qF*xO<L)<|Lag zWY#8z#d1?-?_kv9@IDE><L39f^nI9P+_V-!Z22(8|8^rh@Cb$fL|uQOR~|+a^Pxr{ zh<h4+7!N%Twd2&S@LEb<Ny(293>rs7d~mB1;m&#g8tPa<9reybYn{hdI*-*e@BQAh oibmH_$8)yd$SOMV5T%$QwSrRh-lJ>1Lo2;Q_f9@Qr}<I;2NAeF%>V!Z literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ContainerIO.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ContainerIO.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6fe560a010989236d614e5558e8b7271207eb9dd GIT binary patch literal 7027 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 SyH@tDoL_zNYYy8?#Qy-6F4$uL literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/CurImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/CurImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..52272797ed8eb158ff01bbb18b65282ab9c60a62 GIT binary patch literal 2361 zcmZ`4O-~y~bY{K&z+MA3Hi1A>15p#B#1<co6g5qikc1E+nkKEHxUH<kJ2p$~U1xR) zv1KF_<p3%bSVXdWBkG|<^pInF>JR9}7O8MosT8S)3iU!udda1Iv-W~3k&!*`&HI@5 z-n@_f+3R&9SbyHxlmB%f^gBCP%U(zD{wqLANJ0`$qYRE=j3iF7rMZkPX3Ov~-aPYZ zd&UuSnz$WsSF8nakK}mF$J`tmN0Rd~l3c_#+i4j%gj=>c9uqi3_}Sx!91A1DY_EkM zLLv~irHhfNd*YC5VMpsqEn8e&0;8NeEbOvF7#ki@QB+;jWmVC3F{5!t>*Y*#A|s~A z&GcMKRt&p&0Aag4bS_OyWMnu^5=`D&EGGEl{gZ%{Pyx+0a~o0;-fB>9gP|#nH|ZR6 z#I5Nf)wOw9pMjGjOG#3Gs4?l#n^bg0&5)?1Dyf+qQI)7f9z<_ab(SRbvlB{^icyf) zh*A$E8hJpJ2hp@V9nI$S8C4mH3=Ky$Stn<+V&WbIrbTZ~Oh(7%Xj7PxY|e1T#YBQ+ zb?ODXECX5xY>TMo@$GnetDfHS=i8oeg%9ro870_eE$emnnOX@E6vGmVaT1Q%Bre8F zcF6{{VbAelhap&&ugPg**v3A)m2bTxE0Q{|g@C20^nXtarCNX5EEqAL)-u`z7r7hg z5r$`PqFLx{qu{JFgIkTm!rOEj4biM~n7##0cUqhRXC+nhO5B1?Z#m%DEY2e=*%o-+ zV{vr$z~(A&5^t5JC4B{bc>$pX`&*(p$}_vAyTBEA%~s$R_>}>;+tCeH3Va>jy8;=- zD^Z|38*~#k=pUF`7kQ9}NL&y}Tf<3IXo>{9@>%plsIy8j7g#%JwgS!r&GHSiwg@!D znn1(Lqj{!>k~<H%PjUqmKX^m9tE=gf23o&sw&w_r=V<H9!|w&l#}w2<T(GorDD0iu zWd)dTg*g!tLr|=tB$O>}1>!Di;N5oED64<Uj``q}8cLW|tcB(YC84A`r%1c(&Rr%I z=IX*GjtwVys6*#!;Z}o7W({5^>9oO9B1&c#8lKxZ=<A19DOIUqr=pUAmVrTJw0xS& zk~-NLpO*EEm<7hju)%9`o*4GH33#3Lm@7_6HZ3LybRVygbkcCB$)rYf18asYqooX- zF|e$$NJHkL%wM=f%@QT=Z*JI#NjnW}tq<lCOoz6P)%oT5N?U)$)en2k7c3ns9xL@0 zd)H4aIrbdL>suXP9$%eYo-F&m`gjSyZ0lURzml){`<KRE`rj!hw*CDTp`S^%1J~F2 zL@N)K#r52_ukUYUZ|PjRRBI2EoJD6zC<^6U+wGyHOTTsmYJp%8*L?o9p<<wn%YEPQ z>pdI3jiIN3O}yFnjQ_UBl-TpY6@Lk+-B<I6nZ=&+*m|TQguq~ncU4#xp4=|`%9qz; z8}C(vr(d|j!00?)x?8+kzF+)eWAwZ8PtR|D^7O*<q3XbBB{;gouefW$ZcAV%I9Lr1 zK0o)vm7gYloT!dmtpo?RgV!p7@g@H27PC^O;Jf0WM4zLI!B43QON1*PSHuj7#|?Kp zo>8T_G{c2>{QjJnZg3n)m1acU@Yi8nB3gpVS@yl6XCMX7ka@kCEov4b+fK6Nu!ek$ zYF_{1wOTg}?atSHkNrBX%QLAwAAvfZ3iFiplwqIF=|rPv8O~3uYC7D`981oD)8H6o zL)1W&O&`kY1ilv2vLezPWuuU?Pce0|t&eSNz!`$|C1r!&bkFcol9Dx@P_v5YFcb41 z(9B-YSa75464qm8Xm4B>>JN00eh4)7S=2<>_G}pAe@-Gi@CO?B4fVlqU%+_qb^E*c zI$pcD(-En5L|!9y+Pi@f4lLStP)8MYtWE9&PE`Y^HhZ7Xzd#?oLS2m0RYhIp-kt6< P)$TK!$zRa>rVIZ8WHJLq literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b8d238b306c881799c7143cf8319f8ce8b5d5e44 GIT binary patch literal 2946 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 QORd36PfE|xb^i+g1A5<C<NyEw literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d4bec9ac77de0fb70d68040cfece8cefa1e2cbae GIT binary patch literal 24300 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 C_nBJ& literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3cb8d2b55b09191ff695bd7e579e11bb52ebad50 GIT binary patch literal 16051 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 S3$x!Z&y)3ZeoA$bVg3KC(Vx@+ literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ExifTags.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ExifTags.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ad4eabe71896af7fd6d35ae656fecd20da3ebc83 GIT binary patch literal 11597 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FitsImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FitsImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2724cd47e2ea809e272b565b4eb646da1ab28ef9 GIT binary patch literal 6260 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FliImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FliImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9d28a151adf3bca555a03758923ea2006d33c882 GIT binary patch literal 7186 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 Ia*WgT|2P?^0ssI2 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FontFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FontFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f0dc0e7914265bb9249d8ddd1e9bb3d0339eb2d8 GIT binary patch literal 5581 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 Ua`qJt+F$#xVch;0(Olo<KU-+CLI3~& literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..95088ad91a73c9d53432fcf2bd8cd5b83e6f3392 GIT binary patch literal 7790 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e5f1858036a860f9c3c30d4a8bb3548851b8fe36 GIT binary patch literal 5363 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6368cfad56a942bbcf25550f1cc7a78f74365f7 GIT binary patch literal 3783 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 X@e(?o@7QYVFSYfrNB@kzud)9xxRD~i literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GdImageFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GdImageFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7517ab39eaab085866a921b098da530253e97c7a GIT binary patch literal 3428 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GifImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GifImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8df75e712c40f536b3fa44a369a1fb0002637cd0 GIT binary patch literal 45730 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 Ipifl)0I9KK+W-In literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GimpGradientFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GimpGradientFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..afbe29f19d7b43e3c557e5e1400e0e23efdf5c28 GIT binary patch literal 5549 zcmd5=TWlN06`fr!-=z4`({bdL<cBC*lI4eFH*p<XloThi{GgMdbOe^-u4u}9X?7(` z@)9rt7obxErYaYvQGYN%KIA$;ov*kk3K;z=&>yl)V|nYKYMVCDpHd|#nxFR0EJ;25 zDEij{_Rigzxp(Kz+_~q@{?2Z<ASg{2_2V}j2>q43REl0>nAL~C+(H5hAb}Cs7!zj$ zEJJu*Oc&<@TwEW}#|;5P+!!!IJ16L4rnos^2Hp^`h!$*vvBsD+ZVT9`oGE6H*92;S zHwPSMB-9F)t6abdwH0a?)HbNyP}`yQKwSfMt>_e8qFeNcwGn-w&Wu<zgapS`BslM} z+FS$mw9N%=Zn6HJuH4!%<MGzberoZ{lVfANoaAL3N=UJgEb`$=JSFmy7>SDsSt5O@ zP)wAeXDSq%6eYf05OH)$6!<Zmj9cUjAd<vblv2rr5KTnjO%VBLf*(3@^7J155{`mw zf*+mX2Sp+oPVy(kM2J5#8BNF{PIg)RqR109M1U8fl8mFHlX5hf;K!1fk0&uv2W&h< z8oRufWnzVwQLUjwA}P~W$;+v_STdrrsi>-xq6w9gCa}EBXd~I=p+OKZ^@n1y&}d8q zo;`6Y@~dAzdi*Elk4M7g)uO9I)(9SEH37^mq%aD)xCJ5XR**~w5ONVDFf#+YuQ0RV z7YdrSBIKu|XTgKg;0w@3IOuyyPA9M%C1*jWA9=aqNaYh>Y0T2mGP80NCT$!z?LYC> zso}e<YKTV#AttK2R8o@2{CWPnX!nI=T<jK-iO7W+F`4KV#HsGnI5{qc<<1j{F¥ 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 YC*%DZ0r}>KOe^DKvdXuJ)O4Z$11k;k#Q*>R literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1225c0bab804ab35ceb7e259f75e8cc8840f60c6 GIT binary patch literal 2757 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..293fe896594d24bb3f09f756fc065ff7e1d6218f GIT binary patch literal 2686 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..558f2e01bcdcb562eee81a08d17b28a3db8ce084 GIT binary patch literal 2604 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..da2e813026f2f9e5d3ba0360b5a6dd6eb9113134 GIT binary patch literal 16854 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6b71db713904f076a1149f4dd4b6955cd2cef319 GIT binary patch literal 15353 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 PdRhd(?w8aF!oU9)J$W!y literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..700f9e10a7dc2a52d92d4f4a7af6c980a5dc6147 GIT binary patch literal 13153 zcmb_CTWnj$mG|;qzDZFODT#X6qMjD5S0wpur-^Jywh~#EEjx;thrnpAWGWOTUs9IE zrCK$cMX1z;$vO*Bt+S@vw4sp#b%4dj{n^a|3v9akLsm+~+|^=LG{C~xk5yt92wY&Z z=L~sCS)q~^?SPy)Gjrz5nKQ3*&fI@D8g&eW{~6wNpKD>5-(f}$MQMP2;N%!)i6IPO zJ<KHQWLbn29)(juQ_jgj%6a%nrBgYna;l)7CrXccQsdN2YMt6iol{54R381L!D#?k z?KBdNvw&!wCZcl|61~$*49+5AbXrJ((@IRvV!=olp#c6S_!q+84F4kdTi|bne=%X) zT4#xyA%(<zgC#{Ywh$}8#WXG<r2yMV8N}r@uAn%TWEYg|CRGsINj1bZq!!{jQV($h z*#mJSaX`G6G(p@<S|DyEZR82kPC9P#KV_Yzq_dlOX*a_-ZDb$WFW7#>ysa2h2&Loz z!sOuF+%XW~wz@-G>#o^(h8zYeb(G4HG!2qT^U%tN@i@f>pm;RP*Rijm^?2RmRDdr9 zBb1RR$+zB9q*npZECepg>3GVsV?87QERXeC5pBm!9FUh#E+tRB$EI`6N-{{Eew}yj zQZOeO()Bt+jtkm}%xcTEV3_w{-C=O<CMQTYX(BzOh4hk><P_;6&yZ4>k!N8>`pM~= zCTA5nO9p_d9XQua98b608VkE8y0_-ju&`SmA&X<yO!Vf%$=lMtt>vjdwk0`}YdNQI zoV$+=9jv5xdA(D9m)||*^$j=_lA`a7#C3V+?xW-!oTTiVbd3v=mL|P!k02Q+IOy^S ze!l<|jNQVRAc_L%5ydG{QlFTboD{r%iSKs#g@CQwJ?{3qJnjJP!!BH&aZh7?z=qW9 zK6gN{H+rY+Q)6~FcI9(OT>lI-A8<_y0sYV@bYyS5+C1k76w;nEO|I^R5?#8)KQ}D| zv`^UE(<ERRY`bWJ0R*)Da$&%9QWWNVlpO5{vHC?=U<_8dwpInS=T08a(&8ZVND0x= zeyHfrR)}V3D{)W)#TPTh0nPCY7XWo+X|RI<Zt!Ral<kwtL@Ra;rTYT9=j|Q2awJP> z2Mqo8&JO#K+(Kge0({@m&W=n)Z?2*@!1rQ>4%qCJiz$&b=jWm3;#X@f9zS|Mpy}_D zTS$ujt^nWP1tZlAW=q8~;OG%Q2*n^Y9=hlXs4&KSx)aPkpRPV}`r@+z6~;8Lym;c3 z6XGK^O`wFQJZ5N9`1y420Ufr<z}kx^PGp!;N$ep>acD?Vv>%YT_5%QPc1T=jN3U3d zd?|X51{D4FfGX2e(ZAQhi8WA#*!>tC4=DPM!cv7sLt-)1+{Y8<el<isM0~mNg{~H- zt0nN#3ojpeX|LnR3-%ZNFYRq?-Rnq0b)%Vs1dthqhd&$>?1KRSmKZJL&(;PR`N$b! zY8gLvLqi=S7O;$8Dd%%|ql$~n5HrhM<t{R_>>YLhHXY}N{iA!%<(U!En@Tz6nR5AI z1gy`8ec2z4wOyK;6xzs?cl^?vFy(C{!j-l`acV*s^|$nS$3$1#v?%ysqtSiW)_O(o zUTO2VUum13^Iw|scDA;6wE5hAp=H`N`YP_bw!yysw!TTaqXs=Q<8E*3^qi#f&P=`n z+q)Bb^}yfP2+;zwso<2hbyHEe{d-qJ#xK_O#h)`QmRQ4QzjyUb(<TSGM?M1}zos)X z-?!FrKVj>*QOIXQ=A>mGoQI+%Mqr#QVc>pe;cizrdBQoBL`QfyUsZyd=!x=m{=H0N zrv^$4M75<vON>MfxH`bpK&qe9ItnCxW<d1hQuLh;6!rC97&u{1pBtxz$tiKJ_p!-E z-Gol=KkAXIATyC=I0q~!o?%{N37fxmA~UiaKHSL)d0|{(MI+(n*)5BKmFr&HiK2Qd ztu#z{xfSX;^9rH_ZZu!T^HXgL%c*Xl+5roviUx|M-T|xNF)ZkDB-^8Q2U+EnhFa!* zo(pnB^D3+=k-b(E<U}3hwV3xQ0n*VLMVR$|802=4wngSCm&)rT07dhhAGbUWK~C<M zC|-q|`D<r_n<$mr<x--TDTpfIk0FL~=)qeO%#WR&SrJFW5F=v4fnk#=PE^QHF3oW{ z&j<N1E82tn1Rhq~0#TC!`Br}sj+%MZygI0wsNIGJSz;oEGUmK0sQyMApySWZwZBfL z=+CZ_G42W@4gjS+a$PPZW>S>xP3?EcHU6e7)GR|l0dJRW0orGdRGE&PpI2|0&Fm^7 zYPwDugKEMfxp}p>21bxw`LwnysP?zY9Rc^|TrQ}_R#b+t@^fn%XgndepftV}++qI! zy{i0sCa6N%6L^4b3&AY^EaSBY)#JGPv->HB98}?+^qPV@?8<aK@VZZK1KczO6+|5{ zf-DqXJF&p}%(pJAxpjg1^-iZ!n7#JDL50sqig&`u&v|aWpbS8=+10)Ses;z(_?7aA z;AD6j#&A^5=Tf4R*M_eRsOBoN&^MnzV$nC!X0NpcIgmifP7?6rB+-z6Y%nKZ{0aP( z%A=as5cRwk{yP6tau38N*Mf}%HuStcs0r$+%pfH;Johj+s<^74>z3A&GP#_VnY;>E zcZO_B{i_Gz)Mc+Z;5N}+Ylc{Rt&PW1{b{-1TuRDeJd;7KSQ6CvuK7>MH9-xWa<=lU z8U%BW8Ws)St2@xD09qzec@@_GNN&cr>_czm4lQ><%L1}{YdZq_Ft>yKC*|HJPRUR% zCHA03K4G9$y<Fq1-J!o~Dmg2RTLI%P+&XS~Mu1Ls#Ds@jgG?1@%HWoC;>?yz29)nF zDiOE~(_!9_p91ueJ!1g_O`2^X@4l&#ITp{rjdVe7lAi(ruSjlI=Z!%lsRd1@-9Ie1 zn|NM^aw&Q@fSxl~B15<mg9e}io)7Tc7{`?Fp;`?APr;GwIXwsJ^$r|0!rb4?Pd$AL z>`+I~`T(fn^9A3)z2ob-Cwpa{|2#Uu0+a@6`pZxw1wao*M`<?8G{-@E+A7sQljFRr zjLsvM?Qz>Yf;p7k+Y{i!+8)3}vdk-Y(u{-3*TC~Pul%-hmX(bqp!l*(1zPhgbCH3Y z$|l!4S_U4V8lk&SAPy9Oqr>j<+WSu1$H4U<qH#v;e~02e_+c3F2o|UyqOFWHPQ&Fs zL^kT~|KFEiet94MUy6I7AfWbub>(eom(-##?Qx9?61(>i+Z?DEnghe@svQicDbenx zeO?k=L=cbIC8f(Z>UIYT1|DN4P(b}5esRV-3XT)vMl0k#1N>9I96V)}n&Q-RASnjB z!1~6`PV+Q^0zCG`o@`W(5c;{Ooi5^8<lye3l5roK-nT;}aj&@jcNA%XP^q9p>OS<( z06|oOMbuX%PIS$Jb;_PhW8!Uu*>jI)k8jC7At}bDC0>M~OZv1-(grQ>6NFbK-t8Tm zlK9hSx_cyksL$CWsd~?Ko$eU|dAepNr-&eFu&u}K6(r6hcqNVCCB9j=|B|HiO?%va zNjd5Ak6w}#q97@$v?b-ZI5jgZsfaL&1e8N3y83&>r*QyE|I9Rau((OrG&N`?{>)&{ z0JyBqoIc$%a9&cmrl+9;i9g?Ua!68+pmPcm%81VAcZvRV-(3HN^O90@dBHQr(^}r+ z_W6Ou8NaB7p2U9aPCcD=l1WN1$0q^RFL*qXb!3Z8Ix;dfHs%wc>B!i$h^L;2a|4~8 zM_(IHIpF=cT-%`BVS*yTGX_KOjZ3UoY)52vQet7{y(+O+#LHNq9hY5Qk_u(#5+&9x z@z|Bb!(98sSwQolhs^$X5IeBFa%2kR5HN3Hw3QYGvDr&-xPS*h!xUPt&o0g;Of?Bj z4a6yZVU)k6URK{SEE{4&D>g?`??@HZgifp%?TU`B6xAdQH7SkZx_VK4-LPl~pS@<< zFc?GZri!W99pbNR7qxHIEt*p0bz3r(yE2)Eq^4}6v^>OLGi($Tr3$S}>WF&D5HUp0 z-Y|u_fJmV^-1BB2RcQOI#TsR!7k;RVx#9<Z?D?dy7;4Q$;qIlAk&|oIx}>#k#oCZ8 zYzTFIn)YEtxi^EUl7=w1UQ!*aT`6fu6gF&_3a<wi1JOOJFg9y(cr+}Adn0VhT(ndk zDUbH7nsdcrc9Z9gt?SmZrDr40#@HJJVfJ$!aFi;wEzL$|qnBgVH|8T?%!S)Qa>XS} zry{4K7vtI$Ye$#`>W}4tTWj&nl6Q)K&L?awNlQ!0R(4Cftc}&id@Hu5aM!wR*Uiy) z8sgQz*mGyk-P-q>S9Tv<u^obn((-8gjVm$p5B@4uxhv{g?p|h7#U(fEesD3?{&W8J z;q`{S@%G!}ku%}0u>Y+f@B%%le{c-=jCSAZTkeZ|J7ue+omDRz)@)5lTT{I2V_WM+ zqa)^n`9(IWe`wgKtpjoPMf#$yNdJb#dXtYFhG9g_k=_W-McKZ)T_2o!|J1$V58W&K z1{0lU6D8*!6YpnpEMu~K7GzOM+g1q>C@EjM7`b@U9~pre*QJWfwq`$5F{Z*OOBdSk zs;%WKtKl<l3&O{?mfxBRxA*a>z93w;<cPp3t=NFx#v|iPo`@&bxl*zxbP^;U>I2Dz zde@7~qn$ULpEF8h4NR2<1ROaMD~+4uLw8D()$Oa6p1Z^M&VFe5<#2L;&&QUYRO#;M z<wziQ_QrQo)iuki4SRK@Z&MG=Hx0OF<`(A?l^sb_$0wG`Pb#X{Yxl&}clo=PxN)WS zK$L%5vr$^HG#8nRJ(DbLP3=3FupNx@H+8Y|KYcM(w(C~ea#_riEbB<sJFqylrv(zj zdTrZUZD+E!^X|!e!z;Bt;qJffPnnCC$|7Y^;n(KcPfG1~RO?l>v6DZV4|l(HY6FG_ za^0w^y*0Z$dn>pc{L!})nieQCM)?g(>C(Z-LC9z}^rq{_7LTpzYm)k!*uGVL<0h{+ z7JmxsY~QV8%g5quT#=|~S}AP~^C?Sd^skbZy`S2uZ<&@&smkiufq3^X`tI~4Yxm#v z-y<J(eR%n!>W|JPo*aC@Day(>Ilj6Cxar%}F~t>|M#kE-X=MzB*khuiC8=-0onTu! z962048#xxMd)IN>5%0R)oV2utx<4%}TQWsVF=gz^UH${@``YB5!}s=mSh-R-u%5rF z?w3bDGOQF{$W*7SWzhq%?sxlc_a!S@;{Lm?dv)($y7Qe64ZxkbXj82!D+qOezwe=y zF_-7-s_tK#|G7Cacs4O~A<^~RO5yM(jEXk-;^8RASWA`;MGk$=D2%O-oh|XML}AMx zHkDBRhlj@jZ#Otkjm1)-72KxA;zvI8ll)6_@pBDKa(|a$*u?y%!7^;%esj2BSk0}e zl>o1qw8NF$S_KR7WByCLzv1R)AE4Q=lm9a3m_~JBh!MetWIzKzPppU<{T)`EgCy;2 zPG1Td?+Crdd;#m$dqFO(1Wm<<PZtZ!hRK49{ANkgWKU@951^3A&m&%Ve;kj5MStB8 zC?o?^MHAnEreX-9tvu@8z7dxfo_9cj3Y2bTb4!ICImM@g$2pC)Crxz;O`Z5ARE?q- z<$yOb73n6lr0hbvJp{9^J|8>B_)&SH0gMn{hI6SO)l3>>^Ail|yqNhMLf|Gw<r?nc zbbyvw$DCXS1_euvRdA+*3&=(|Ki>B=<j0rIL24Q)04I+jnK7&sh(nar#NYxTs~xZv zxV$Jmbl&E9ZiR7hvatfr&b$(Uk?JyxGk(-YX_&~mP~{TfNJY>^mWOZTG>G(3AKn(g zY|)H8ZnhN2D07TMJ3yZj)2j{@W2)cYM~^&J^TcNmqROyI(vP5GJ2HAn7=2aJxqWUg zsEyuHL7YJ(9EPM2u8Jb&ycjt#LTya+V>E~nt~c=tMrcxtS0QpJ>3&Q%d>u<^o4*Fg zhs%I!ade-GLy*O%Qu@S!HbpD4RELW`0aXi3%4AtHRV7VTG3BbMA!R6n*PAd|x)ize zj&W7rnkp(;YK$~4HAR{dhFu%QsB!7=8aTXoILiH6Uy-s{7rWugf6E6~z~SY?H@=;; z)Q7q^GPg~8q%y`Q&2_QMNpoZTY_hQRZrult_Z|1T-fvEtz7^u3|LgOM^U;}@e>s>m zHHG+%beGVP`k{(3mRvuxcqZDj?eh31&o4b6b$uizo;<f=7=n|wSQp~IuT5{)ts4?y zx?ORucRF1%XP$#ii*(yTBKp1}MAY4npb&AVQ6Zvon9!6_2Jq=zB?|r-(F-rvQ(gfK zryGDsRr(AJs`u2C2Mjqn`&8GbC~pCt!ysu!M!aApjEqRS5i~hwJO~>`MlR2|JeeBR z*pvu|n^creM~L7X72VVLdM{OvjC!Vg!iaEn)HCCAUlG8f7;%mH1#tu(4~g45F8&Sl zBx$Ba(C$V5oVbV#Uc(623?1_wh7KpalJ;XMM!42|XwtmSq>Sc;-c(sjf-gxmLR|lV ze_5d{*nC>as0uz;u*&KO96*~0!R4JUtIw9zKTuhfx`)lIvOL`pl6NQq96a9BZ3c4G zW*_P^*17n1fRwRs14?`o9||b(9efB{^6<ic;1N8Fw;zBU)WVzZBdCQ$&co|H=8vcI z@NgVZ;$wMl<}v$u5&aU7;o#9(tU}n7-tu^m<Sg#ARb7l_w=jxfbQ>eQOw#r>`nSa& zW3&q+baQ|rkPEnY=-S*3yOus3XY1f_+Is0^%JBfD?-Cq69`R_{7AExD3Lr~3cpc18 zgEt{|0^R|(2Y4^!;5!=C+uTI<V#wi;?AwHVEwD^bA^yydS3C_tg+F_s%YBLFpke|g zv@PVQ%`5yUEgJG2;rZUfzM%z5dRqu)Ut4AFsSGvXN7qc?3~vk6YpwNH%f&&h+%5oT zb~zK&j%O*(Yj%*QE~o){>i-0J=ARez^47?l<Wge9wE#U7>`+f%z9<LEKYB*<a{w<* zf8t2;u3b_H9$NDb(lW~uhIN&niz0ZnVkhcz5|AO;JC1Wh6%lIys<zPEnHx9A4t-$T z!bH}8o~wZG`AXz<4R0^GwUK>qBBiMM%)@)jydn3tNwP0D>2Kn|S8fREg8HBldBv3Q z$S>x~8TvwJ2pZr^!m^-V9#Og!ztzhxo1h^#T0iRUG)&-~vMmIG!WN7twpBwGzEZ5n zzoL*!Vhn<Jo>XpCklxFjXe={_AGu`JTkyeFg9jH>(|jixtSH6X+`P(<niCB{l{|`k z-d)G8fq>xz{XEU?b6pYa0b}|LAD`Xj11GMeN}D58F$<)>O0(maU`Ol$O&Zgv6Hh=- z5_A7WNCGPSqzq~mMjd<yf*+f0`IhX6J?*#bLd<gNi_P<G+7UZk=2k$Vmw^wDWB6F@ zh`k-UItCf{mn_shi3oU5raiCEBJ?Ik-5B9Tx<zR$1J`HQb3IfYlr+x@bJRmh-F=c? z@S+n_q<&Iv9Q=gJSrI<kkyM$AFwl~eugv)cpXfqZF$FHZX%{$1HPk^WT=h$uS6uKR z5cNP#Ou4;VbWT)rB!zoY(gE#^w^E!${%~aI0R_QRRn$=+{ymltVz~zW=airhY^`x& z1jU|KR_7537moN-#N;U!hg<;ai0lwmjZS%{L?885imw5p4>fM8#Ac(k4)PC33Zr2V ztZxYR8-9GmE9=*H*Tg#BJ$U=z@?=s|5z>WEf)k;j@cPS(FRvM^lE$i-CSJW_Y+mTy z;8ky&`tGSvF#1gNSS*k*cB~l>Cyj^i?O8D%U*%7HqBcF$F@}=xrFWF8`i4|#)zWt& z--*qxl(vOVt%DJtbsD~N?%m<r!)x{XllA-WURtStYQ_5WqBg{bMpGs;`a+|8bR;Ui zb0W_D<ka#!`0nDqL}}-WX&>mg8r^lxq9%MGS{E&e`V;25HFHza+!Q~#V&1o^*`G>t znJ`tyYTn&*dr!Rj_TE@!{A^tO#q6EgyO-|-;+}hT3FA|1#@?i{_ruv0<C#@{Fx$)# zZ;0FOS`)?tYsM#&#wYKMuNZq*`I9NN_Kn%^&W4+k>RqV}54%=1RhfpN;V2h<<<|J} z_>bJnrlhekelTh5Smiq(Ygb&lbRlwKt++l}TpttS!z;!6L%MadHSD}m73)fx>qDwk zQE^DUZY~L5zF`BGhxUn3SIS@s2VxE2Z`>Qda?gD4>@SOxZBHdipH3Q{1`iw5&c<rv zDsbnNwj~X1izmS)qJ09iMy;NTs&rLTw$2;hIP={zz<KESTV+dCk*Zj6Ty?kTgVOg) zlZ}V&Ro@#2pHfZY$<r(5fkfe%-*XD3>Wha@F$ODep{!38Rz}a=8eSfb_QhUG6m*8T z^#WVe^1Z28JJ|Z@gi+Q%@|D5@d#$9ehWS;E_89~BtES3l)ZD+Rl>i60R`(<*?d`Y_ z;mBsvdOaSb4h`KC0r<!aHbE<m=>`dC`_8;TH|0y>2Y?vR`~2_`k3GFlb4q_bs`_Iy zU^RfMFXE{x{sJR>)sj@OsZeRh<2Bv!&k&+^C+<%A&;VO>23`lKWhstfGrqg)e2=8< zIeVdR5Fa(DJ4f`;ssVUg5nsW!&tY@{qe~bG7~wvon_prlB=zXj<TO4z;K@lJOQ<Cv z#xaZgQ8J3cI6QiQd4Z1w;_~BVcyLHXSrj+`1g{Uw6!C2&Ko7$XfF5a%rA?i0i6220 z_Bi7^2!a4d7|Z_t0K?Y)j?w-Hqx~<Y{J)vzB-8w#j2-s5-nyVpsf`PK%FwW&O=)Wv zR4J8yflHTZiWihAbs5yEEekxXC#4~DHpOc~)hXT>x}4&5ur_&h$ebzDhT1a_pln)n z8U?hnm1z_kyeVA1sRRg#6auV9Si>kw!huaK!n!o9N7w*333K(P5i<qYVE3j8;lea* zM!1Mkn!>tG3&K`}4V%RXm!#oRgl&w{9B$n#L%5t#TEeF{D-f<s!@Cf+15To-X0sYI zHJMB;W*U%E!R8)>8`H1@;k}HdK2=nkDymDF>pyRYA{gc&M%M-#g>72sN>x_HI%2Na zP|Oy6YN0#S5psow!m7~jByZcX?$^8x_7K|y0@8sSQ^7s~gm&9w<`@?}6<5UD<F&C% ziHf%E^u7TlLlzGMo%t`pAG{doOrgu+n(tMDv-N9-i+#iLYl11%T0)BJx<y^Wa(G2^ zWI_2r#k01DCEXlb9(Jr1)hCPUA2OKRd=coEq_h<&oh=s|DpSTP{6RVRO$@s;KV#Kr z)n*j`gT^{mwfQ{Du+|0T8e>T^mhiJ{@HAy@i0fCGeJRHBm2%}O)4IXfu-ukpY|)Cf RvZiENQ~bimOeft~{||64`_KRY literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Image.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Image.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..420e92795c5ea3167e19f7bc7149b9715dd21339 GIT binary patch literal 180769 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%0AqQ#Au+{2Iz;#|s((`YQ6 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 z%0AP%b)F6=j%nIOptu`BV+9>otBt-QE&~*9lTLU^XDt%4&`Q%pIZN*kwkx%0xkULI zJzr@p*%UtyS+e~)gq<cSEE`B8AR<^5E|jTy)qDwcg!*7;<}_%7fJDP9<!_`8APeJ@ zAjW9|S&1$HIN<d0VAFvk!M6T>$adC&#a4?dgtuKt!5XChjv12vm|lzUCuWf4o-+iU zFwG%o1J*Cm>n~{^zkxjPlxxeIuq}?;z2tBsE7An}**h<_Uhf;L9}A7wzj5OA7h;~e z3p-|Po``WOP!Y?lxMQoB@fJqcMyn>uHs3xp)p#iO(4mRVhi47OBgQRwd$!D)4G#CG z(5YQAc4X39Jz=j#{;AC19b53OJ@blZ#1mIbn0jd6#OD3TcEGrnGOzu}UGZa^#o<ID zcKOi7YEvKLt?=qQX)zdHcD?L=*&}>uFi)i*WYWvRzlFh}2bB2*5kB48(NXzNr9tbI z*@vdvf`}Q^n{3*888Y>h>&n-83g}nG#55%#prsZdd|9H+#EVhd|DrKueZ>v^I!nLG zb<s5Uq&m%4WI91MEhX~PhU6!m??&*1Y)UVO3?cg~?w-7U)z*JMEi-=lgL1&YJR^07 z4?!yx2z0sfRr?L8oEGr445yZ9UzAYDsq_{Cd={xpQ>Z#c>ptZ<MTCNs2cmWIe1}}r zt{x*sETf+`CO?qrmcREo`|0@OM?uDoh7*QYJbJBKB^>e%yN5k+*6n`DJ%s%;XoI9X zc_B5a2tIs@T=)_^TB@AC0fTg;pAKYx`d2HVP80lDHsP#uXlYMDB0lv|TJ?$x^*NNk zFm|R97p?R@<K+siB^rls*wqQ{;7j&F)T885dY#l-<7HTc=rNK9Ovy3ghF{NOr48iS za>OlVVxBfBaoVp^s?jjwL0|HSx7q)Y^8M5nC8Yfhsxu2MlmZJpZD4*OxY>gnA`F5J z)_kLqTEFJOb*oU~HU8VFrAnOk+i3!?4@RbR=R2K{DNp)!r}Re|C9&?GG(?P-A3bY0 zXMWOf)>xg{_H~6<cK|F9lH&mDCPb)GCwbi@!h(>wVz7&R3@W;1%&7pape@+l7KT+^ z5IUJ20l~FoVa?>ys00?tbQ1NG%4b1B3HS#9XDSAGuRsig&{H2EiaSvr1nC3y5hsi7 zO%rgJT*v^L-ObYRtN;%7fz%7ug6Ia5PO2b#M$9)A@4SyvKMA@kOgj?W1Y*e5rRCNE z**d1z!J<wrXHq>#4T=hYjI(#1fn+#$o5awARe}@_Qc-VT9oa0~+w}|>dxCR=_QGU2 ziCT&Xfste6T9lEK6P_ldp0zGOfbR!2h%(jDKpoR8wac;4YIp{*JkD}de@A!sF{QVC zs#+b*1aNJd6-IZ-nluD?1gT+O8yM4OeGICB@N^>C@t~o_$2)*5lTak{l9C7&L`v5b z6fxEycM1JIv6vJs5mmRiOoFH@Eg)q`nae~H_iXb{RcR)WM4;#_w+oP?<MbKWdFTz& z>}t!et4BAmSY*U_M86d_6kr!{W!jMuqb|!=D#fy{vZ5V_79E6hIt)Ld>ljefL~D_j zoJ>c+ILcY;NO^>-Is=Ujec{TGX(}m7ZBS&926|Xt^w_a8=lf6g_N)pnKTX;#s12)y z8RbfTYOc0iNtvS)dZZ9d?W;S})lHl%P&Ed6SUyW0&o89Auu&yOuo?^~LOY0#!6I7h zC{W$!7+BiC7+a=v$dzi@sf~~Js3%aUnf88iIpR3b3X&Hmma5WiE&IIkA8YF#NGT6a z46*z$dh+3dwZ;5H$m6zQB9E{-4fJG=sl}54bwcowfmaA7hc?`qV~T>T)}Izof3@Z# zkyxl&ZOTd^BCMi~FRPr2#!LSLmwVW89Lts384T}HT0~1n9!zDS%EzZTGV6j{#ct)J zj}HiCO%sg*`>-y&SXo%gXRQ@154D5!7854vcnkCI{)%{4j2*NCPE{X*DgnV6=g3an zFPQ+jnsJ8$0V9<OGHaLmD7O=R*EBmJHRRObN+pdE(3h5GkZm<E!@^1o2)E&!u@7Q^ zfEqG1#c_Bamt|)FZ`%4*s8@jkrR)*cDOYN%DD7KvYXL>98MH~OaJvGnNPWO`QPZJj zsAlMN1nnB!0w3HoVkwW7chF8goQ@bSUnMP8KnB@LQVmYjDb1@sztTauofbd~D*=J2 z5RVjGpqEf%AsMf95<?WPwGXmGfa#uhT>cC3d)BBy%cv~?XvxVCRjJZ$?N^(>7Y!=J zVcyT{D4fNY3en*^A&gF<57k-H|HA5#x>17kSM-{s*N-sH5^4Vk^L~u%F+%7%avm&@ zbG*9}&gPy_hX@NUa0X87f%g7{wF6{SNvc6n3C~uD%xqWarfhw&+RbJ|r7l#E$N-WG zN&bXQ-W1XV#oA!v9E_6li44%UL2{K|pjKX_w*3i}>c(zYjYK9gWf}d}(*Qh(W76kF zBHRn|bK!#E^g3H<ufp!4)Dh07pr(<mec1(Us*gC^P)LTAtn7kM3;{>(a3lDuS8b!V zR~-oYGOt@khVEttUdxy@WqNY&mMtB7_KnI>Fo>hM@sjdr;hlmtZ#*~N`D@QdGVc0I zqMdKHPx)axs$x2@EEZTczT=01RUhUQ!Qa!>oufOWjj!$gupkIuN>5A{)J5QXX!-c@ zcTU_qF%?)FFDm(3^G{}r(1zI>n4$a0r#?eY@Xf-vpZre7cir#0C;Zz#F_=92jeq2? z(#mg~Sh+1$yY2h!AC$h|8LQnp71;L=Ke_7<lE=#25B-a&;$5S=UfUffqf&^w*GJ3z z-!?AaT4MTMNqLjY`o3Z5wq@4$mjw}S$DF8-86jXi#yLWze#xk6k7H*O)n&x=oDmoW z<P&9GaZi%2xKxf@pfCIZij+>$T>IqPyj5NSGQm*Hnb023OP(xMef(LPD{A;pg#LIz z^O*6L@%G|7D|cNljTJQiO&=XXUvUJCU$q5{;S%}qmhY<bGL*}p-VzBmefMFN-E(Nh zYiWhvb757(SSw4ENxy>LOH(LRdL5x~5nKC3f~S!}2(#i3VSrYMxEAtlx`O~iH6)vU ztu9Sih_5JwBzWUJPXl5<B42;fGgOhPwa%MNB7sM#jYjVy+7q+%`j}qSRf%}kqJ3<b z^JDy(2s{ct5Bm`42pv#R2I&Q=3iZP^{9jP^zogfnQue=~7as<@D2*q{BCD{Us*#K6 zoUZnY4b3)JX<V3K#QR$e*bJ38MjtLBl*k}JutQ4N<ozoBDt-Dl^typpAJH?Ey^G&R z9(hC%kGY%l`a2>ztw!J;_9$>qyL-6r#V^M*3$9m0`(Lk#7EgGW>KPz+9sbDH>!us7 zYpy9r#jM5XS*g;M3S=`jGdAyq7w%>UMr?OIc~RS&6>nR|N~Sz3;@%ZhR9@74sb|7o zJmb&5us2@3=)$hMHt(?X(wFc0b65fX@T(6E+wXdEt~@>Rbaee#%cQ3Uj%M?UM%*8H zvR*5D?a|Td=;29EaM(0!u~>`a(8Yv@EntRZ(9fHB<?)fnBZn`2>B5eW?S|Ubm&>kH zj#N%N3uDg0==w=##n_=c&dS@_V8*yA$IamJ+_n2IJ7&r%CM<zjOA%}ex^rgD_?^jy zttkAGO}gA!8-?r!n0j<j2)3ds{@R7m#~Te`>THeL$Ci#)PC6Q3Nx<f~5RRO9Gkf&( zM|q3hv_yJ8F}NIs!#nOS3f?$z?ZoR{!v{WeXJ6hG_vJ=cO!}%n%%Ni>9w?3n3hxFA zCb9V*pDJjc3^dO<thw0{6Hd=S?&y{e0|m2rDCy%ugWVY~svI^=+4JMRtYOEGY<?OB z`-uIrGwv_{#9*{89=6G3y~v3l+F|<?Q8Ui!ck^#P@tzcO?j~kbaLhmHTmq}FKlyZz z$>1rvzID2IRjhc`gljd9LTm9|kMGLSk)u)54cj%_>yAkeeD`7^F1cr|_<FC8uKV|$ zSvyx4{^N=*yXws!tTf`CBm=IBetZjQSq2<CA@$MjT6hw=|M#>W&NQeio&5s9Kq>^K z)tugEkpf{UFa*>=jp2`-w1*nI&zx)nT^O>seO+K0cb#qs_Ch)mfqI$yD&upA5cptc zm&AB2ZqmBoKEiQX@tq-Il9M2mXK$kn<_oSjN)>sbv=8M4aj@z$GZIIbH<v;vF4MIk z&>_$itwwJ3=U1enzCwCV^BYDCSz+jy&YWsf!i)~mt076>flVRP>lf%Q*@&b#QnC$J z`^&p7?s{o=++vdhF7K7~BkNylnhsRO0#)PwcXDs$-tvDt_nWzsf%TKF4HFjGV--#? z^-=j7zlErO{p%>LNhD+2B@7Qwi^?$63>cA_2bLQ@)7uSN6kyBa9sOrJKvC*H+lwz} zAb-l(Bcx3=JegJ`V{{}TjRmSn0|m*yI|O?;Pkpc^SXE!QGPqnMs}3#`9~$t1GYTgE z{Z_D8PxoD>x<$U=I^|-p#?miWQM~91lW259LS`;_6AGACP+CL`klB@W&>vJ}nlLJm zw33C3blZ^SgE~M&07Zzc38~pJIE2N@`Sgv{@5JQ%EzkocnG=|y>IG>C0E^HT10|59 z+?7&9B`j*pmG*QHVGpDzGA=?yC1~<sazVL~-TQ&?(#ggz`c(oHB?KV`64~(nH_%V3 z0ixG9Sj4n^A<D<RZJw|~B&8?Bzy(0dUnfA~-_eV_XvpBC%zwT`(e!#vx7{o5v)#$; zO|<XEbJw05>-)xYfawP&18XK-YbPvg1s5M>sSoJ7f}yk*0b(WH?^=M9b8~vfmtc3Q zw#h)IH{&=rwUN<D9yGBDla6$v)nXs=D9{!Z8&2%EASfFo?T#f1#aWOM+xnhKJ@}D7 z&Dk%eNZC0^llF|i-{w(P(*4hRQ3JJ$Xo>VII)I%b2;NMK2JEigLrTGA^`INEem?Fb zQqgb3-*me$X@##XT7i9Z^XM9(WEU#Yd{D8ZomiFo!EGnVmu=-&TM`-KERug4gj<@W znD;&+$I!(i3lgihtn@8>eT!BYF&%KB<QqKxD|<%vT-tYGd)(r9dC$c?k&LJ%8k(|{ z$6c8h_Rg0Gp|Wv(80QF$Ug+w8`j%jQ%issElpiT8rSZ&}ZiS<ukQ`wq?qnCF&}5k} zvI~T5PshOt$b$9sR}=ZPqYWvT_sb(Cn{LoCB@~lpVxllFP@o_}GxT7fVT9tyu$wq0 zXzaNZwFNja+PGz`R>E~r@;WloAWOB;r0LRg{th~cAYF!oge842<D#9tU~-eprA{>h zR)l&LQ*T7B1FeqBz(#=oOtE)*&|95iywEiO(IG`ipC?}cH@e#_3Hni5$}9$%v@7!t zFa~YU(3Ye@p-X}EbCj|E#~gx8(Sb`UGGL7LO3RTg&**`hgoVaT`Yn9>4lPFT*Jv>o z8r)e|HjQkG^hX;<&rZ4)PgoX<^@p<5honW25yoP%oRX!V-;!6GCWHY(oE*mtMGFaR zK*^9~qZbsY2$@5cLIX&a2Z?Qmvyg!9lt)J_Qwe0uocBO|aiNmU>FiTur?3KLx^FTQ zbUPIK7AO;}O(R+g%z;~)hB&Dq1D6AoTCUBP(jok*G38IGghwsapy33FC{2bdaH)I( zim6Xy;+UWt(9$TOQPbs23pt~={HpQSGk#GWp(BW6C-oLMskgVCR?dTc9TF~zHiera zY%uaxRc;KdP$+sabjNlVX<y2RaT26OP`ua^49_DIb{O$k7&4GAdfqw08WnFoIw^%A zF93fFS-7McnWv=Mz(r!k#3gMa(Q083l53!9)$-NT1e+~QTYwIAbBA$WsfY~@8#TXr zQ~YE0X2Mt#&N&O2*b_l0KOV=92S~>qV=Dgsu!l$ObXOls1PkJ<hwmpPuG%I28m3v8 zonk3dCa&C|IJV%Mg6Q1E91HlzDkM!`pp<`2uS)D{=_P#cBk+VKL577m550bm4u?O$ zN63-p8|;Bd)1<B7`jN4m*N@(@RgSN^RdI7u+`B|iQ32gB(gv6F4pQhSgG!3acV)xK zhU>1erpf&3J1)4$DAj9)$ls&ZXxlaW4bL^tqzgJENl9isC<(^5vvP?L5I~u5LhcxG zeAPu%fWV9kLPaC%uRJvJ5NtXWUMn1HnkZ<zz2py<J#y>Nc;h=wZ#CUn_Q;)r#!1)K z3Cq^M!5{3O{Ck`H+w#5bILg$A!uV&L>qlUrt5w<1Ly$4iI3eJc<Y<4TQ}56uWJv3J z(9~(t<P8Q5n^EI=BfvQ_ufePCaK{M}h$hi&`8H*G<eBaPD2OQ_kaEK)*S3xY#f6YI z9$l&JLOp?u@T9<aAzV&s1<VlBWDca{+f0z&_34QhE>q-XO9e?e1dX0E^s;y~1PIg? zvuZ2>Zwem_hXs_*+Mnq@uk1Rh;}py`DQ6I%Ho7p|&_^;@BdEfnKC-^g{EBBVjDkVY zjSyh|=V<+3$D~SM$14fuPk1DGh?&SQ{WcQ(f3)K3kQLWqnZfD4l0TAvsgO;sy_S7( z@GhuQSb34M%O0Y3WemUYQqyqui@WCEk_4skQffeeAbwg>;sF5%Us4}sS*Z)*H&Pb@ z353WiVPEsU?ZTQlp!+kuX9i>x``EE&f>-P4I~bq>OjbsmM^y&zbnAo;#0Az!a&d~$ z91=5u9^V<73>K?aPg|T?y2Zm>{?pJw<ceh?K8u?$ADk>(=-oFYlfvsxbo9%F|5hr4 zG<S{>la&jDEXi{q)}tZ9pcF}2$Y>|sHKgPKnVEKZ<$U24uT(5Ud5msoLr*mc@fzMX z%1SgzJ(ycwj)1>t{Uz*5K}kTEw*2U`^#5Q{m;e^^(S^>aL4J@{mso;#EP;Q5MHc=8 z9!}+`(XFt)w&yfR`~Ig57r{*Lg;$b7i23ZNO-O>LHz^5n#sR_2;`Ig_Zgi0YXGlH> zOj55h{5R#{&k$uTF!)rY^t%}REZyJ-4Ec-x$p`;$7aDwJ#}dlLJ(i`Uu-$+(2?ZNK z4%mhuv~+Q#G72(ktd@|p-~YAE)EQ-_r0-(<ljbK&J)3C&S}_39`$)4$H%GaK;<A@^ z4IjSp#K;quj^454-)DpDM@<j9(6#Fu^cez)Ql8WkI{Y6On!k>7P-G$j>wk%jqgKxM zuKE`N;)+$id7H*8ZqH}YW9bj^QVuSMnmuW9ven5^zf1oCvr|j6Lxz@cd}SIcmVRUX z8|!~<<4euMT~~TXdMCY$?^uHKCrKra$pj5TsBjGf<-*x19!PYU6kZ18JAvE~tQ7wJ zlnD?Qk=iEM&q%%jlcA)4n%$t)PG^^pBI<-}zPuuIQc7tKFF4}HFv?&{!l~twen1-p z{|HVOR3-oXN$8XQ6Oyc>Ss;OGo`qcS_Knt>VaHv2VYDH7{)hJJj{!E<h<T95mwyP! zM|Q>5l{Wgy!iVguN(f+1k|0kXW&$)p1)6m+P*POnj1DgbUA682=IaI)1PFpB0mq!u z8LUwO;fhlZ3y~SlyfVwtKyJ1efE+CkIMK@ZO8*6Y*hWKue;9&Kod&Dpr5$%&0Wd`8 zFFqs|oz6ud6;4xNvG9i}3rz*Y6kEeTtA!?PA-90a#p0+k#b2(48zJAMaun}zhWQwL zI(WVbd^WJqWh#@v&F3pZu7(-Gm0a9@kcuR99RvL>0+oM^aME7SR7SZ~u2TB17_+?? z+&Q9lV2uR~xg|J<TVCA%Gap{rqT|nOAEzH)xfcEK%2D%%cRLhSKkxAN>4x|379L)? zN@)Va`y_@}`h5h%h^prxa?@$)qFoB=7#1u$n=za=4uP<v@r{Xu2II%Hxbd(&o+%v} zZP3tZ>;iJ~rtuezq;FK6A!{4`12($sX1orTGoV*WR!G8LUTR11cO69n>-uw)FVPMX zW<87u;rL>zBQYlUQ}VfG73JMQ%2TvWm!O0ThCi|tePr<rpN<}$D6OBeG{i007n)z* ze{p|gP0Uge-8pFyX4#VPb(M?yb0|Ykid0UlbcmKVO6f;r0S7R~HjJad%y+W&8IYvg zg8M*~>gYZW+XYNKYbOpm;YCEJ7G!ZgnG}P$^5!Lqj=(9%&I%Z9IQ5vy1CUl|R)JYT z2deDOMfC%d;>ty!9CD$eB2lae6Zpt2l1p2?oF$R8($0ZLcpm@G)#JAw#{6-)C{o<d zLfRibvNi?}iGcWs89z%iu9*wX>VQG2_Wst>>PTSzi4v8_5Uohq<f4+6fi#8r=hpx& zf(l*)ATqhLF0H$=d1Ui-%XEHSEWZxsIUl?I_+<X}N!N}E%Z~Xcj4F}w)X#JcDA2}R z^4{b7?ss^A)al;|-SxgM+yy<o@W~Qv2NntjDrv@(z;&>`VSO^@`A;(KF!6P|4L-^s z1s!UWLa?;_T$dpB;PT*xEi`j(dFD6~&VQaXE0?Fg0i-z16un-enJN=A1=nA?nW~QE zSC3cRvQFl&opi06u&hgeZlMh0+|i%mJSnrI{PHYyC(lyDnziTf51?322aJ@%a#g5{ z=mku=U>8QTPr&@@hb~Ni?-}|F_7VDfPbbfwAZ<6Z-~xpg8djgEs8y**dL13sn??O^ zG@kUjg7KUSit%(Ojc08vzjnN3GQVNcwQ9n$>R)m+g<6lg=9ST;Q3N$l>16uRq#Z%b zKQInM#M<YHk&mm-Je;DYg@^OM({R!&is6**(qD9%B#EY~7ezL1F~S2cng$I$K8+?v z-sDoBA@EQ&r-$h-3#jXvbSct^Wg&%GmqJzD)9UIpb&_~~$Y5YGdZ>_+*8z}|jh9_? z6_Ju*I-z&viW`DwgduCliZZI?GBRK~(n5D@>Z4OmG+xdhw2=~INXK{5zPk*C;4WRR zv5>gGUnxgZejK#2GPT`7qW<PV)nfsWvrbufp2%4IKs3DwzzH!K`8lNu&MPqx^*6B^ zw5nKbG(2gzd`S^hhbX?jv<isTKe#m8paUwos(LGxD2va3TM?gE%CENXPh>*dW$%H< zTO0Q_@7%v{`~H?hmK?Kn?}2T5T8}gz-JTqE1SYhfV8#tp=}po)ETJxgg+b{T(X%dt zArmkZ$-xk{6&$p%X=AY3!!o)FTSw1xUEl<<d#Z#7dQ6~kz*-}*+7n*-^LTe}`!no! zQTKNr?%8vUqD#jKym}rLN#CUq^MX|I+iGXRj2aSlyjlq@OW2=lli1aYbQD`8VaA^c z>j2zf_9bi(0qiGPdo$=s2^%FuYgwSak5()}1>zBiSD=;X#phe8Y$Wa?!!Lc(|3<O@ z7u^tx(VPngIC78lj`Y3V@Xp4Y8!zmF)Ty)hddqalide~t3H!>pqxgDgdQp9B5xiP8 zB>y#Qvy^0fVkofI#q9aR_Q+C*r@8~t^)Xj@+znsbxsh`*Z*bbXH0E78>8%<z3+raZ z50N#nWg~lscSerHec9weE4uTCz6yBtj#$y2=nC+z@?L)`x^E)4X4Fj9z?RKAEsmVK z_*VYv$+4VR?$Y6%vre<44ic@AbzeR3@d~u!C!barG7BL>ij?lam3<@oqEAG3k3BO{ z2sc`*K6JywH9r0HQ#YqFI_mVPj*n-Jn<olur`^kA?&UuP%gRxAua8I_-^=%IZ7_YW z(!Q<0^u31CZMoL>bBy#Za5QCD-!Cg{GFrcHv?AP&)arv_rpGw<pYhfVh(8Kc;3#~R z9JPeZ9oCSAaMzIaXa@e-LiwSLmn=u^p@NVNzm8C0$c|qp%nTPP3djf-ha50t?FyBI zocQVvEeg5t>j@Qw7DFxBdejT(!h;xJs5Dd-@**ZPR37pnCJQxW;x{`~5z4}^KeQy2 zjo(0MX~>V?oKR&bfZyCuRVW9)d7<i1E`IYvHK9EG7Ql4&GHE+@P#f(az9(43r@fmr z_+)ZF+46_x6#yOhQzDsF;xCa#X>V}*6U{qh-UumJX<~zX%VQ(sV;VcOkSAn}hCM1( zm35r!>a07{qgfoK2$ne{b_D$a1Bk)$pi1!oKSt3%V^ke`om(t!x@MihO_|Y^)B%tz zYT=`RbaeqWvhXcf3cx2&S4isuD<oD??O$qGxB6*rK|K#q5OgIu7OiZM<A^WuOl|Nv zB9PPfI#hAGuc}&w`!Sx_-&JKTZ6_cVg`{PyiHGoWTsY!`s7cr%Q;S8rwCY3$TObo4 zra*6q^LWR367_A~(FD{YtxoTDY85efx;jJ0xYe?}Ur<j&(ncV45-C3#DM&<QPdLpy zww^fCmt;Mbh9YGy<pD!VY6(8_aLEm;QfjF~PwI9aJVMi{m^%|AC})(-&>mp6BoY&A zLU@Qdb}Xq7`h#?RQ=<1l)=JtB87D<MIOTgY;T64Spr=SnKlS5|rh3wK<i7A|_l9J) zno>9Nbwlilgt0mxcOaH1DU`EPHZ#(QFe3bDC2t?y+EYraBgL({BfXvdWZ_sWM{F>8 zERzQ2OKKhr9}Qs>Ryr`1(`V#WykWzJjr@O532-s{NzdLO?ZtVpBMFW}grL^#=Cco^ z3qvbH;^DuLPxlw4=O;ud<&zWVBK?JPMm*<*BY1dPu(nd~6YkcNT_I@7i@&V2Hu~_5 z);PYgj!Fm=M=)OOs7?>sXW;L!hk6Zb`0&2k-`WbbEJI%<YQmMcq;l8-jfUE~Vat@g zAilDJ|J=5de`*l>L%VEAOKmtZQbW;n;~eo7uM$9}c2X0sl3i@&=tZwIz*E6y;ja+R zi3y}U0;<nEOXd~=k|<sQjHDo{0?yB11}h@{Pvn&@P^?L~SpPkQ_2^<EqZOdUz?ra1 z3<Ll1QyPROWCgj<WN~EO^<_uaTna}Iz4F4F8^=4o_2^Xjrg&a)^w8+Jh>x9_54(Tz zsnw7PB|D=dEAGyW`vSwz)4(71Sc&h&vP#1@9IMU0X<VJGp+P`6j}`&<M9{sTs4c{) zOjpe9<}MPb0!XO?!P7G7HOmpNn#jsTJ8ZNJnPjml4xg15lSx{QIh1~areOTY8GXXu zC$%#y#-O6~UufWHZV9v!fR#%O9VZHB>c)>_%$dlrQVe2-Va2+4dT#bi)@_;gJ^V&! ztZh6iVvMZ5x@mM%^x0Rp#4<}KeGgCAAO0Ksa4oMDug*v!o~dk?Tr`B173307c<Pgm zgr+S!qaZ+<PNVZoW;CZ&PBEmDt{XJHt+_lP)#NnNbLrdk7FtXXn|Vot=V+328pfjJ z;YF{?*J*eKoA*E;o&*_GS^m`)nH<`LxvVxOtS3O(IRg<a(gzeOuuT8#L|YO$DjB{B zmXldawe`7%gyke@(y>(5Pq7#h7J|k#3(1gKr^O**>!Cy>kf<=J0e|+<4AJ6{SBIxn zzL~`O$QJ8EA7`f(LhByeEW_nkiJj!hy0UX*=as!9d!xBi?%<E@22ah5e|_ZPY5)3| zfBo&icMIMv_+ZJD{~$c(xHGRbk2FU@S5J(dm~t<IGo5LFdCXt_X481!*LK5+>x6p+ z>6vB~T(6$+RnXqd|InXDFm3+5zARMyVo~E-!|$&3ZMB=fXEWlRbbQll=e-GHHSNu` z3r>Rn3|Q4ML1)yE4lS3xtmcp<Ez*w;S?R4&bwe4-R8u^xBV~o)pMld58GxVEGz+w3 zIZ*NYwZWCH)*h#(?XIf_i<^Ce*u!!Nv?|B`IShnh8NX|!0fhM|ZEofmgR}&r#bncc z`@~s6t;cz?o7Nv)j}on9iAEk&S6)b0Xd(TBl22Vc4qiO87Q<d`;n3gtv}j0(5EoQQ z>5Zp;<*Cui@w3A=lFWlJaJ2l6t0eBvkFFbic<k|*zxM5cTZi5{7xS+hX`1mDN6*Im zOW%f(=(qA?{(APhbY=4^o3WI}EZ=aw;TrF|6Kr^Gd$jbmUEi_ZZu=d3%>4+jv<bKj zc2^?k^AEcO#RmORA9O%0l>}nx7*9V%>|Dfnp1*65K>A6$A5Wi85+Wt1JP*v1hUW8t zJVvPoml9YwsgGvHKq{bXIz%)W$oxv#4@_^oj2wM-hHKPbz)+rgHl{Otpq=7?hDfTL zAB>%PIx2CXK#_KF$^(Zrw0iL%zuF&SJaxNIdx#+g+K}l~u}GtTqYh%XraZdR)IK1k zJ0%(ZJhf<k9NK_|ES?4WP_BH}eitaeLQA29l-BV|N!KQV@lu}j?a)eMhT9x<mbN7J z?HUAm(+it_eC-6Jzs6>eKEVtA#^J<JlIAGlQ+h?{4EQmHNJE@;x5ec&PH}V$2o4<z zH%Na^f9|0id~}c^c)|jI>-~H^DF?_X6-4Qi`89Ndg&ll!5CmLKrv@%yx@x=zcV=Yu zw7(+euejr?h`Y1N87+gjkkoaKIH&FTpyW*13n95XZ7+z~3#RRhWA?>U_EM7N)u;H- zn;q%D`oic7V=qkQts{4C#;7T>ez@slvjLvj<WE1$TlXWMKVDEW+;n+2>iei<@r|R` zj*eR<OO^wew#5VaWIy5R-qF2dS+5>Il;h9rOJ;I5Mp~zHHpX%`-d_FP4exH4%-PPM zcW&X;Q=_M*bE{&xRfup=qo9K=eBxd`I(qbK>uBqgeTm%IE4~q5)Iv(cKePwM(S?y! z9}452aqewCx_DEnAF(75oBBN9$S|ZMK0h$e=RTU4mux+qL7*HRxUK4aIcU0=i<Z+p zlkzBJX#Ek=6GU1_@T5KuJVew(h=|JRj)?njD6~P{m`GWeT0a(R5#rO3pVJ>wn$ula zT%`V|%bDgV!abk9|E2R=q>LXQE9u6pe10CyvJU4;*D7MFr#$J~lyn&B!CgLvs{PvG zBRK%R>5iU1NBII+WoS5qzVd;?M-QJhd@%7@!>5juk~pw61n5jBii{hHGmBwhK6#MP zpaQ<qe(acVmU{HCOOe*jGmp>_^k+y3z~u{{H$ToWIF`<2L#qI%hAV3VuugvQ4evGY zWPa6f(^s2k@E11v4fi$o*rC^bIB%Nc3mqc@V483(iWe@rQFE<ky0A7@Sc@!sQ1bAW zcus+GmJILE9Wj@^x<4Y1P1#`sf)B+s=M08SeQ1#QocUYC>ZKnvO@kq$Cb4yj(x*J> z&J|YBdIGCO-Hlo%y~e|5Esv-TpT89f#e!gFc!Em{FzNTf18Pvu1$|$jh<5A?_A^a+ zpP`>=aw+|Uf`EE2q#fBbd5OeN)EePT(Iy!%!;%w`2{WjWOiq`Kh)ZM$^ZN;#Ld6ug zLc#^H^AjB*#wTF`0c0+$C)#*|9FfU5gDy=tM?)QS(T~$c{1$S;)NgKKboHyJhFza# zfMr919Mi7i7#z}DVgL-XbEmT_$oWmn+g0z>-mIOj*%ZV7OE!P!<afK@?VjFpAhzYe zWcI<~Z6Erw<C#U%nPsuevawZDnU%Wo7Q><I*y@<8GQM*4^vbQVm0RO5xb(!;r$(Qe z&Z&;!|IC`VcfGUs=HBVrM`E>)%$ZH~-r+sh?X-!f^NF_(P7I8nWEM@>3+JOADq&<T zMk86m3af>_raa0SK4fNqHzVaU{v0%e)FJO(DD9=S;E@g`P)Y`K7ofaqXAKt4*p`wD zR@Pu6me#@LEDPb&uK9IqWkifm<4%-Iu?<@L)iss&wpPJut;`4HNP{?Zny|}0)NBXC z{+kN=D{H^+KcVHceNrAcw^7FI3$>P!!`C0s<}^^kpbc$)A*s#xAE`8D@M$o=r!9lF zQ>v|Ft-Hz`fpMR9BtCy1l##=Df9|&PxdIUav9e%^s08+O;k`4A27^quSZlWu(ojiC z1ImUqnQ(@)<)mcCQB<9&!$%loU_gO!nbkM|`S_ANbdV7@Q1VfT3D0!6C2TUaD`As) zB0?X(7t5sDt|O!o5FvmOYzx@oLs1Dk&Nn{kBqmuCbW9)yJ$&4;BeJlYPdM4#*-1Ls zwxV#zCjx!&`L8@b^8BQ4F;oz}tA=~0y{ls0Rktlu-iL<GL^}ZrGF`GfR<eAuWCgK{ zD@NdfDgv8E+0lwuUWgZ!N6e9JU$YatxB|4fqQwLyyk0wJ@Hk3Fb|YyHlHSeCzv>=! zPiK~bh^ziVR?%mz<~;Am26Lttr(s^{SkBv)sodoRuMl){1p1W`>r5c;`uZE2uWg<# zs*M%Z-U-y+%@1k^-z{q_f6d+ErDFqcKk?2}H=mkb-WbFGm0Q2xG*#R@Q(Ssu_qE-x z?~QDaH>~}3?Kf+`bMCu??+#8sd?fbpk;#UZ$oA`1H)^ldP8Zh2@PA+hi1ui<`O>c0 zBJ^Rl*pRt+ED-Z888^S<y6L*LW3p;f%(rR6zG?n3OW*~AFF`EOg(*DG86#Gy{(;wH znnRbjKV9%?5TS_mB5k!aU(!*k!CYBqFhnfU|3sejRO-)IlCmuctch4I{(uRL7>Lwo z&`6swV(IzT1ACqZX?OrAk>+6MW4Z;sOLK&$L)(}hmxd;!9R$kZPI~d^>A?j?&Ws!~ z;3JR8rU#A*=w}b;p?dIY<NAOcX^<!ylZaWGdqB=K<Bz^-6{{i0bXDUE>BpozpT7oW z9Wer!QX2jF`Aeh=Yfw0@24VdH`O}OR?KX_o26ANG?LF-q0yP>uCCjPO`OOQdM)V^_ zsj|OZNdajztGXHpw8>x^sI3cbmHSncwqK>RokE?dPbg#17BYlvg{s4VWJ@RjrQQcA z-tmA^>@dLZ2suc~Eo9@1&mqjT>f^LJp29W5?ziEr8NIfis!44ZMwcB1F!<#i@(sEN zy(~kQIhYx8vI~;R2eipG=ut-JDO^g}SvI)Rc7y@)Lk2ICS}Fbl-PqG(9rS?olu6<K z6-sMR0&>zbn924ssx;RHry9f;{X66y%!FiK+7b}&9dts*PGz`2`tO}V4~%^N1^{6n z{#g~k25s>v>Ij4OK_`Q(Kd>13iQ>r*b_UMa)JKynRNI|)Z^`GSvF9f!C(XGO%2e`) zvUsH$r9b^#t16o$CGWSY09@bv4C~5|Rs99m)u1yJptfUt*F9jR<jh+shEwZP#};(- zP4nY47B_giMD$9RPj$th<=0$mbQy=pb^GVe2N_ZAB>3$4Ri_`y3=d|7@)(5u>}BYj zM|_c%qsIKtS)<x&KEXftSPf;TKV$m0C^K^E5hbMk(itzrKZa;`ChyQ}ZHI~z6TK?< zoW1&D<EWbXMvaA3V<<3~g;it+>hU(vT07=M>x3E-d%mX}U(>;4xW$yyk|2wVzWc)! z>FYSPU9C<H3_@i}SMr1I$~5o+?P93|HKu{Kq$j~M+o@Kj29%Q&A}jtY0a;`Pv(5L3 ze<(2Mf54snvx13?l6lZS7=QrGBNni<hp29dz(7X3R%t9GzFCwgV!r%sMV12Jmnz>+ zZB;_rFY>VT#pNF;IoMW_c_=XChqa<2VX9n+TN{~`#WtLGJi5DiNAuo&Os)=_Ht%9D z-QkSQyLRne-S=07`%0_u!l%9A4F`ouFu0wB8S()*pJ2IBRsK%6o(u-JpMwDjwpj@g zITqOr2ZWvH;Bgo#WPhY5Ak!W8!HUr{UBVPbKcpsibop?-ChYqmUkSs5y<yXqUEz!^ z+?FmQ*e8hCo3QPJ`bc+kQ^L^#!w)PEmk2OI3rDa=pg`8vy`RkkCF}>`9lX1{?OejX z4We@=VEMedLU8_Y>BEi|A;lID`|1S~kSXj$^3!3@%q*Oy)VY+}q4rkFp@fVoGZN0c zM8XZE577zfDv&c!4twAc{+WcA#omBE!(1SIl?wTl=P9i!axTb^B;%qJk6~T_O+v!D zWAA~+7AZ=lIw9X4>ga5P^#T@?s?HI(JK^aPW9-BVfM@cy6D)(r)17b<0^i%&iOe!G zPr`bR(<D6!3HuJ&LOi8H#)KIrL%=YFDptQlJk5lIq}_!;y-hf7mxRufvmMfpaI;JD zeReWBNF%Nj(js_*=>(}SK{udbl<5XCdEx@m4cY-Zf-~XrLY@ZP#XGJbko(t8UhN+3 zp3bd|<yPMDRf4~Hb>ry9n7?{F^v<c9r{3wk+52ABWZhP95Cr#NyycyvH;=y4db4%1 z@S(`IcwXV?3-OxeU_UyqImcGL?u%yyuIJw<zE(V4P!lUiB79EdH^#CW!6g-+rVHv~ z1$E<nx0=4a>zli7ANkFFlLcEN8F7C>%)dmd@UdG*CJQ$_psMAug5__YduQ<G;Pi^^ zu@&1V@^{?H+Hu!kbanISX2A&_Z+d6<&D}BoT4Kh65&LHTH;UgVo-S>Ol{QQTR>eX6 z*m!N@n<u}~{YLln(seQXU$p+VKUVZm#2)wODujlWvBH&;{*`|e*fDF_Ys@JD6=k}p zE>=`G{^cJQZMs`sH-7GR)@1dj=<aysid)WGu8GRc(OolDHPPm~OKRR;`_4l*AG#g5 zeeMI(2U)iVCztL0;81MYfypHYKQSyWDH}81-Msa?``+Cbuc#eA39sZ0-+b;p<2S?a z9r_^acOU)W`0wtWIMNbpYMH2e6lCOw%3{F{W43Ysc*m`l*^G=*q9RvsnXdZ(o4fXy zxUMsQ&&<8^VjesP7?|NPJO%>;82kc^!Mr>+Ha5lv$9AaSas5g!B#ue4!R>YzH!B&d zm4e$!9+IfWTWLeK)yCajsYI()5>=bdc$_lE@fxe?Mk}q<OPGlxr@Pwk`_3I0@Yrp& z|13h^IluF|XTI~@bIv`F@9PSBx<1?;^z53~Yl}<5o|>?y3ZguflNW-e>-}QbT{>Ct z=K4>o*S=?Y*K+gdbX%y}H{tW|4VTwWb=>TEciVKyhjs5)26}pfn|lN0dnVfE%B!ZN zsr1PPf7@s7693R!8>Ylt?z&HlDz0yz*sf?;*~ak3mYW@c&3ivBhij5Q-7r}`H89;b z?Sti|vThd9ip6+wqPX%wX*vA52WuMdkfGO`z0+&px2!Gn8z)QQaE{Ude26qNp{jPO zZl<<1Slc@73)SujdArBka5>07_@i!I-Ri&E?>`P3>{E`AvmyM)8N49mJKNd+iNius z`Q-7CyY92c8CT@F-Z{~Ey=$Ut%6_|OJuIh{t)8lTZ{54=-fMifahm;XlcLpZWhMTt z&=AFCi-}X-?*6Q)b-L|?&i6Y%=z{j$wL8?-8*19)-#Ynnu&7}!u3$(T_HF-l=0};o z&iyDiu($75dH$^d5cr~w_++WKi|WEvweOt2aUS1@n=L<m&A%n=ZJqJ<1id|<daB>C z-muPVHB}{ZC8hI{rmD=}Ij<9%+Swh?#*k;zbk>L1B28*^QyElcI9OEwSjC~if7$no zzF!{r#eokC{%Jr>HdnLmrXx_@_NGs1VaRd?mMp8*#~SZy_g5eWIeBV-(mypAax~EE zJr>`ST(yO*sh7Wb>6<fFchKtgw@#*ptQD}XnPmNe=Z%Uh6*H;sU@9C2b5Dvho(;D= z8-V3`h1X7AJ^7<k4<#|p`XJpgwriY))6#$3f9=5412fK=ptI)Z>#;p%YJI_4UmzFy zgRP1rq@<43ToDy5<Qi?A7r=okCZ~;>zKZP82%c&<Sy)gxTT}rj3kxd0j=aP`)eA0a zLU@MrPF602XE^_`kO~<GJD_*|prWO|uSWQ&G_|il^U;Pj7l4nmIwWv@lii~2H|b^y zjD22dW|bC#W-1x_z2vV+>(^_;ItDcHS;fDF^5ZR#COp3ZL%_;EJcr5u66Q#-U`clS za^WKq4t?P+ELqD?7iD0wXo!`!<nk#n+Pm2({EZ7Q-toOaDd9Rg&IE3#$F^~(U3P5S z3}@btsl)4_y4xNf^m`oBy5P~U$(Nps9r{dqaWK93?U$~<GV#hxX+yBIA&>?wq&2!m zTVbdhJNmts!)29|M{Z<~iF`HN?+zxHz;H00cEtxhrP0M#g<)`B{DUg;RpIBs^Q0r9 zbQonZ%aRAycHqbg9vtN>S+E`fhZf?F#0!bGR%73dv5izMpG!S}YSF1Hc{Q}|GG6Hi z20%IXz<@gHt0;;bS_`$oQQvmC{!)D)sbDTM=Z)bj!yvd8$Cws2D#vzz-w5JsaljgW zavGf2hVlRP*T5X~Q+P2(yofvYpYRY-?03+?*#rW4F$cEM7mxHTaScQ(LF!m(@KwHe z5MXI_H^wVzRtwWH&L%qTVTGdTx_~NZv*M{^7Y0{y543W}agWe{BlmEo4)O)Uqw<9- zkmRhy<H?{ZnNNLgo86S`^$P*R(-c3=5$h6v++FOYWo&i%d5Iwc?5@fk6c-<;`eAQy zJ(LHtyOn>5pTb2k#!g6+;CZq4IPquhM%>v=m<vDXV@;uoEuIskYX^^uZPEa4=;LiL zV7_|2U@1fkpC^O+pul+X^&go^f6wu*BUsWft(_kFVEFyvVDql9tMJ;XtEVQ5-dS~H z)zt1ARUudXXxrtjm$r@#Ug`!Rf5UXeG+sMqgTuX-hc69}yDu$Cc>E7RKh&2kJPV$u z>;a)!F&C|r#OH=Q_;*xzfxX0JE5zd|;RGpOTx60aPE;Rzt<3{q0*cfY4FZGsfur~! zBXXz`o(LSm{tc(~0bBkpTaUl@`ZE*HObrE!8*UZvig7B?yenYn;qNu}Yq7sSt&fAZ zHL*Z}09q2q;4tu{BkNqmVgrPR_i-pJv2&mF@kLvsSU>pG;fFv#Xy6TBAvB92W@HJj zE-x1v{?!6g`gmDzz`iM-^&G4Hp6&7Nz(rB`36%E4jz9M)OtC(hDR4kMp<ochkj-MO zZI)bMGnSYj26LfpZa&t=zjw5c{g_+<3*mcz1q&BLQjmqdKY@i;Y;*B%mMVZjTRwhZ zku`!V-C(^aSv6>#a8&(&Jd()kfYouYCypeuB5+NX*MoQ25MqGabr1n>>EdNOg4xK+ zKXVXC8*6)gIG|p<lN<4k5b213j5~E?tc!dQ`UoN)S@8nTepukC0L8f%4)O#YSa-bD z0v6Qi7$e=ur~5qRu~LRJmgkIF`_k|tZbLeF1|7dfzxrfeCLOVS3m(r)Un~<fE8tZ; z2RJfT0@Qior4cA-sTvfi7Ef<ERc<kh+>GTm@mwq7kp)l|g|=Wa%2kG;Ivz@8VYd;_ zF07QAYw1~WRUNkYpuG-(Qhj9P!7_)OkH5G8Ng<M4ERar)_Tf{vLhm4VAi*1!e0Zak zCR*#Fb0l=b3Qvm4sn`~HB!n+;)goMjq#j8lk|re0NH!yBN8-lk79lA{LdQ>#d<-YA z2CqWUcZGRPo@BtUD~D^OV{~gsbcU^IBb`JRL`kYzu<E3Yg=DSN%)rQ1b)BNMO4Xow zfV+k8Jp*{o=vt7#UC1{|=?nH8sUT9HAr&lmZBkC8&@MGDRG(o|+QPG1QF1MqbyD6! zvM6OQm__iJnY5cN=(JM)f=MS8MIeSBVWSEI(=TG>&m+O68qVRy=Qt&y^?JPr!3+YJ zri0WkV?vtgQp2L}@lYQZjTLFJVIl1tmhkp6(V&+|-j2B#u@x-nEoEL<d}IWDC}Hwn z0(oTPm4ufn-cDW_T4f{?d7xJ-rrquper<ob&bwt#`NI>QB6nh26Kj^098>JJyks>L zer5qOv#}MI20`1!{{3{>Z|6DSXfGO3K^?Tf)dZpNmLG=;6GLi8@oykeP#o%7TKU2- z()SMMn3i}&$#x)fPax@CWHU8z8*<pZGWjM<M7>Bm`Vz65+8T>^O73A788(FK@8&iF z2U}$M&;=jfMF*AN$DUqrtS=nKDx5<?KZ>q(FFoBLQ#^j4CHxgjDY;y$`sa2Hd3O<~ zsU07sk$<`RXkhV0lz_chG!?T2+C9d2ViAR^ebRqHbL;@lQ#ZROR-IvU7mhNAPVX<3 zOAm6xj)hM#?5K9=anI9nn?uxEWO!)t#iUmho=7%{R>Y%qA~_o+WQhR=`R}n>l=5eb zzUMLJiZXRv`yPeT8<x4q0}O+Hdr7{~7{IV?H!7h6!wX!fRY9e+2ChGyItWyvKD;~b z4d~ua62dzZ`0X*2pgG72CTQ^HPgvem2T3#gaM4o9v4RetJ9iq&#ja`@YpKz6aaH?g z{Dn)s*kke2SoNx<2T%>+ZGF-&KzrdT8y+j`U;oInKE!zZj^mA|3K%uy8P0yvvq`m$ zBKxyZwRs$47Ik<oufb9-)FGK5m)ch?&qazDNfbyMBXzb*f^Xpc5WNncV7<2>`3;h# zVOtd%>WV1k9gJTgo{x<rluML9hqUUv2bz%&JCC>J-_4o^29Cdg#?S`_WXK}O&jJM_ zzo>L&h}$y73vRRe)8|g0+F1E5l>9^Zj(E|Bn^p2|gab%$Qwr?Io;!US_wm4@ocGY- zBQo>=Fr!2j7&3mn&+35lSQakD$+$4WO{M+^`e=JC34OGMh#Sl@?&Qia8-QvI942et zGAvr~>$h|f7k<W3u-keJtSuZPeVCv%;)S7;r{#1^hTBLoPG@FKu=$1Rm|r?`TE=Zz z`96?YOYgp&?E|e_+FQ5zc67>_7?Fhpzw&1#6q7;OfdSNvuuuqlTJS;N1uTI{az4g{ zG0@rrdtR`!*mp=q<Mgr%V@8lKu<tC8`DNa|6$tTzmb6gGzenGfNPdNhNkqqxyY~@R zV+3qC!_)`~Zc)oykl?qAycNkdByVDlo#@+(<QX7f(DmHW7eGnWtd4tVUVmm*58si8 zhK6LWdX^@Ud+<?slXunt+q%8&J?(9?<}G_VI<~j$80g;7wQpA2)71{UiN1b_5zl}j zg4qn<qZd}8jve#1pFV~fw0glWe*;TN_3gYc^c-m7K7I1A7n){h=z@F*BILtJjvzUT z<QS6UK%i|^u{eQ2&mlR9<P?(ANX{ZThva!A-$EiI83ZzG#O~{yOm=Js+IO`1T6W0a z#RzG8cU${z`4o!kk1_c*Boj#9Lh?H#A0zoKlFyO+Cz6Lq{s)PG+;Jl*MuIQdthQxy zt9%ieUVtT|jtAL?vDc8CK}Z8Ijj|UJ{uPo@B(Ed6fP_qWlO0_$d`af;evT3UfaFsw z>L1aERtiX4KB;3Tb=9PFn$#|nYG6`eE8oI&w~>(g$h+wKcO<ALY}OD{Dm<G+H(Cdd zfMKy?v&I2DeU18M`1IS2zqtrWF_1@wMlL-~GJcgqm4v|;;q8RgRK~tsD=_zO1=C%@ za#yh36^wTU>s=v<Jm7~wh=Oq2Jz>>7A?v<S92ANln)FQbP(YF_u(F`wxhE9d7s}== zu8`nTG+LH<Pb`6Lm=ybn<&HM_zStNP8}Etv_eJ*{n83}PF*<@qw8LvG8qq~`j2XxO zA|ikjF`$1R`5}K^Q9#HT8wv?-*!RhI2i%)NdCdVKd2CfkXjXJCW{R2x$vvk}y>epw zXrQQW>S)N`a7*8SCW)PQoN!|%P~LE}H{{$L$Zb^w*2eO}d8@|Hz+RuF5<dEk=6RD~ zbBwz~Ru`-#D;B}f7-`hAv@v}IeqUO|E-?%G!HJ~mSn^nAL;werH%m5Bv)dXLtuta~ zP|O@pBd<Lu+Q+qty-JcUT?6%xq>C(bv@arn6G_&vl+hCr0i1|QWcJbX7;cB_!6wV) zoJ%=l{XwH^L>IQ$$Bq8_$rq>2Pa6Ve9~_itRU>V%QUr_SQq`z<$6!Mnc-M?qjsCjp z^%M1<7`&*myb3n-SQY$EF=@0ekmA0rEduMkGno~^%nH!$jcbjsUV3$83#qNZyU1XV z*<`)!x#SsX#kFHto*Ze1&oZ?!?~1m2V&(6|>d(cUpNKo}i_Jl?Ih>q2q8agpgjA@u zqz67SNfC5<%>r;s4`Er35pm>fNXQPiwvUJbU2{li4|n=T3;|PHNbsQnXya%TNKd$? z76ZK@p*GG7+gzy`Z#b_w{hnJXt1h{xv?Kb6PRDY;NX;;6MkHmmVDYgLV?<|S6%mIK zNS2wEMO+5v#nbgEBW6XnjTLL=L{q?=t4QdFjW{U@k)Du2MMgrP{@fg}xRfM9AZ3u! zsaOcXPb6d`l&q#qAq1vwsmwG&ASQ$|2-#JXNhnK2*@PS_$|01iA}1jiJ;ABu5h_%l z=OzTUHZ1{bo>EMxgy)+tCFG%$g-RKrRce{#gep{2Nyw|BDniwQWC|qZC^dvut8ul2 z>IgZNHH6lxby-Jfy_#|Zp?VcH5NcG>MnX+$DVqp2GZnTl!mv`n+1AQ&8(?URLZzMK z4!}^se5I4)Ej)d}7e0<b%QA1gZ5(&;_*`W>$2&0p=q9C`!<{_ZsqEsohvPhDH^;p( zyockxG2F*-e+=*A_?Z~q&+&m6KFIO29Oo(n9Djpjr*eqn!+=Tlj&OW5mi`#WFeT;e zIl=LBvGgZ72F*<r|HUbePsh@q;rMI}pX2y>j$O*PIF@7agB-&K8h_pk9KQ&d<l{WY zu+7ZlFK|2z80zm-Ugr3fSp2IT!;F-te~sg2jfz_|y!m6em19unz|*&L3=3KucXGUi zW2fTd7*@U1=I0pJ!wAoB=NMMIEY7ewm;ZmUhe88F%2?Bau#GWI<bWoFWkjl10eOaH zvJ|CB=wv=NueCEz*kn=2b>?%|Q_kJGR&wVgZ$yH0O5LBI=V5&*>tgc)Ql*!PY!?fg zI$*mWJabZ3L_$x*u4Ue_=OO|)56$~ZS?RohG}7G749qgFy{7*m3|Qce*e!rtuXX;g zGa`UD;z?#Mr9xP<c3$sgHS|lsoii0H61dPEnpZ0r10%04DPlw)$Wpdz-dN78lpNeS zQ???33(1q#D0=i6gfzQ?X`q`n+ms~qnXw29`apcKhz8a`MSx31fQv<xDSGtrBGAW+ zKp!sxe34g}o)wMv<B(hwNjI`0zb7Jq^JP{qV;hyTni}Q^!`(0~x)m_sp}P(^2kx9? zib&u_o`XUPBk6kPR?@TV)cdE89T{KaFAQW9D|!rqApnDF{b_zFkWr!-F%U+AxO7Pv z1j7Lat@W?QR2B?^F#&_t`8NkLN);Oh!N3p~l!8GpI$+Rxe@`I8qoiRF3=wf<Wnd7D z6LA?cF$e~WxS(tdf)OLGtQ-u2VIwY;6N6yvh)b1+LHWy46<|=|vQ%yif`KJ-Jbip< z;^>Vw|A9c(YNZ&0=V64&yqYl~g-V+OS(}tn41;kd^QwKq9x7`IWNm&RC5`DvFI?4( zJ{u5o#|QC9%=p<m2}9?rAb&tejjl~)CdDf_oN$3|UcXtxO2URhMT?#}lU<R}1L9(> zRwxo$N|zlqVraBSOk(xX+;p}s>b0_zXrYDWNAt5-D^p+~s9Qg8NrzdV0jwT^tLPZW zi5`7s!BV4O9JHOz6t#gb>NT@`#bshHN{?<vo1z7GPBKO%a1}=qE2KztF%n#g1UH%s z(~YRz$W}$ObSxv9YGTf)14*ICiWR$=b;1h`tJ>soLuT@H_iztLYE;6IC`?<{N9{UR z7lk=z-9tw%^UgQH8J^pMJuKKpbboF8wha%5<ljopzbzEN<XB7zC%cf><1Yo1Jr{j* z$*vLKm%46=IYu``1$4hs2B0T4q``ENWx}2E?`*>_fXuI<r=d_QGd<9oMr*$F;*35k zsLu*ySKZcE1E-DlQNv}+B}>@6J#2PFB(2eevTd3-!VGnE*XwpZoe$*H-Zs{S4H-Q3 zl_TQ?-#<Qn_O_uC8cs5OtvKNcj|OoM=KV%pUz6}JIpzIkVWvsnZ`6hj45?Y#w^|!c OY02GJsl8K);C}(0*x?EQ literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageChops.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageChops.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ff644bb186bfab4f8a15192e1f6c9c54dd627231 GIT binary patch literal 11247 zcmd^FO>7&-72c&t{gAR`D~>2Rjx%<gR&*pvaxBN9?K+MeBXS%&jgvGnP)IB8Qe1n< zWoMU?DX5K87)gy5O>(kZpr}uQ6a#hA9+E=~^jM%52}BWtr=mp<xfBAJTypC7W_GF7 zpJi1FP^e3A-t5lI+u8Ttym|B9`|FM!Q3Y4$)yS3T6N>Ury78|%Sy8JYRZ(s!x}vL= zl2b3Ms-lPVIxCc`yIhC*9zA>`d^xN?rbhrHfc1d&`d+;OumP|Uuo18cun8~<7zK<0 z#sHfEn*nzK?f`57Y-v*T$D5SpKYgFxdLweVb<NhDXx#}MyMSXCU>jf?;3I&K0PY6d z4frVFqxutiJ7D{Yw=g}9=W%_%en9U8#*R`);>j<GAPKb+)AD)S)m+ogJ70n}^ei%* z)5eW-NYYG{5tN{zT0MixEybmt;<^&-<vr8YY2`}Ty9t14^{&T<OG+X%^~PD#vY5uw zS<Jz(*re%ZaXW5K7<o3%wGy+83ByW8qYPJyyQPAWVyQwYm9{j;Nsa#GmErSAF;`iR zijEcae4>uige!G<W3m!<%qb%gszglss!C)+vx<g8(`M|ObZ^$q8NIrlAJ3KyJKw7t z6TPo+`-+ivdxrBFuJsnU;TU;IqTVFtHqmRDW4(ovo3-=LB>NBdI;Ly%6twhJ;CFg4 zsa`Rup{!kSl7&*GF%9CnTHfV5@YXo~&SNO9D_=D$&AZ+oygB&6rQ1*a_Ry~m-7(6s z?zwPx70pVzMr7R3d<6pzpmIwAfrG7hM%P^l6p&Y)GKcI!X_351cG@yEhh=OoXqYqH zY-)5F1(Ruv8QmzwAu?eaIID76fey`#@n)2jCcRj&%(Uhjyp5jX@9aczU0D#{p1PU( z`H8u3oVVcNk`E^N5g+WLvfc-)L=f~|eyuKtR~nZ0TO{3GkF0`(mJq1n{Di?>rsbKC zAlBsxY$C~0DJh&Jpmxz^C)vxV-()?q;|Aq65w3(SThlAy5fa;wnXAOo5TOxMyr1vF zq=Tfb_nvp)d4k%g0A1UZNc6pP@0`1F{(fxd`ylWK#;xp!*)Q4;&9@&aw|AFgJ#*n6 zN$}v}tu677f#)Fzu0BWtH_wo1bu|^@v&V;mO@9(>8nSZ*4QrLTS%bNgwq%0S%?jo< zXqT~)taO8sI^%|0<ar0n1GM(|idE`rX5P$?3w(seGRLzJT_$zLYW&V=*SdsQ^mj`% zhZ7s-JKqh8^GB&@M^R}OZ1>(h8>-aH7kKcnr@Q0=Yw)`9eHeKZf9Dtqh{0|p5_|8Z zcV4>j^8IkstHgG_fBfe04<>GvJ}i9^@0pMH%w+DFvt~JdtQ;Gh3lDB5srci!CKbBI zuRd5P%>0%Mh13P|)tt7EC1OzTHS9;j3mcMx?)iB4%p3RKntiJrf3_SuHWxm&ouuIR zLJD5>mOHI!ZOpN)qHD-S&FqX&7(z+(jFoz%w$RN?#^6RiZLl%Joit#Pcxpx96ARK= zO&<We$9jJo*aC&nDip%voL2Hb8fZKS{=c>%8R(mj_kGg-S?8yn<@oV(3>)%^Z6pKQ z<Ji*$+b$Ig1~+pB+o5fuwnZ=-+_eiN3Wk=>G8?Sso)I*hVI{lBaz)EE3l{7t-wN=o zRmhU5voQ<SpVa@|LQt>|VFWWB*_33%88L$;xR#)p%)*KcqL9W0Fck9|gfZ<J`f36v z_Xc*z+kIFsnIN0qf_4ar^S^qfyfxOEz6(i92c)fI-F+uHA5YFq+$+tN%JIQ+EHxKS zZ6j%$`gjdd6IPs|OFlWP%iNj<Wmi|gu<TEO-N6Tk6O!$lH$CJo<D@w>-b$|5dku%c zZ!*h$TLUKNI=03(-(}ujgXeVOT%Fad=)lkvy5f?ZaoKsYG?`|N+Z@N>+@=?>+%g=X z9uXGeN@hj_jXhxIPw}sM#$(I64Bg&a#?+=5`l815Z;7E<pk9-qfyRC?^OyMZBo*Rt zy*<u))0<go7jclc;8)tZWhRemw#2(~jWzf!N5F<(<L_(C^%vNhr!#Vl_!l`cgp=fV zsQj;<*{4I(b-v^8ZqU8*rQqdhT@M;#-Ap$pOx;(Go*{+PyOY)|SnoKzYr5Yo5ZIZF zW4L5uF*|3vu#>vI&bpD&V1@y`&H9sl^5`$S)1$s*-)a_Bmv6v7?b%ecyUMpe4I7bO zw)u^=Q5abGlG!ld3+D01QB)%0HI;h#7Kd0(t|fWYuS0L1!lRGycTS+dF@Jq?D={BW z%zWowVm9%~>z|)3$A`+XGjriHQYma7VfweH7{*+#rHSP=^L|4T<uN!Zux+_Sd7eRG zuWhwNNt4|vN&@g_Nl2CoP-Cs}BpN^4kQ6N%?VmsO=k{{^#d2(TE<C)QwwCvxiI#{B zozKXto3_kCVW~oTNWJkC9mY1VETl1q<v)_M^`d33+-RbK#^=D;zYudhV{YgFyD|5R zOWvZ`67DXp;Vt6sZm|{kYjaH&w=VB71RnowLwp{Xj}Ls3`ON$j9^dE6vD0(m)7xkP zYZQ<;Z;vC~WU<p1&MbQFYFmNl)Oj8r9^dgNU3qZuI4;X-69&T)GuVOt1Hzynf6b&_ zv~+|5t|F{pGkA~?Ld!8t>=0Jqb?_oB_YMhM!kvVZ9vXob{vloxV=0m;qi~CX%pnmo z^qniC%tYYO&|uKW<Dw?rNj<QFdZfcBr#V*zHiY)bL+Ka@V|Y%62P!Etq{O#lGuk3S z_H3HGzEVHMJVK4&wfroE_8$Sk-LtNOTC`!x@gwEfz+8A>8wu{zN50fve09@8yD}tM zvu6?c-C~Y62-Ritl?;#i3`gTIc>Ps?-|L5_y5{3uGwt^}XW@{3rW`vm7e2C``27c; z-*0|P3?H*?%R9v+*#47j@&0gPi<kSg)wo|<?$ml7tVeE5%^q2w{cA3FoONqgEneM+ zN9(1eOe@psbjUx2im36;=Pkq6fpD@5cbuQ70UfR79SSGs(<L@(kaI4OKv7fQnPNU2 zOrjVglpD{V2+4Gnh!~FKmB4{evkF<wq3`z3f&2n)MA1e>rF0TxlC)4Ji3slAp14yC z#`w3AX73Jh1GyY5jaa))X)nGTGe|Dlk{*UwH6;Hv!J29)mJlsWGgwNq?-R|a*c+f( z8`134%~Q9J-Z?shZKZE6+$Yq`g>;Z;^%#bGwR#;DI9Wp1L(}SyLk~{D*@^@R2(0I{ zyNg-VMS`pS1~+~{6WLRg<>Li0g?49?h+Y{?*IW$-4FXUUy!4zNaHEisAX2P^5bGu- zCZ!F;GSAR}Nv;);6~XNymIie-ba=3ZDKt7-l2}GzmcXg)yIM?FV8SCLWfgOXaKK6$ z!^j^MVTYkUI(p3?=w}vTWobFN8Ku~8zJNoPn7cf7r)0A?D#c#IJhJeMPf>z~1^<wo z^ODZq++=6U*AZ4=tt(sN9U6m4CMHeJ6~7OCHrY=u%~_aITFwg+dvAK!475aeSw;sR z1n(fClpR%R@V=|k;LUldq*7PWzl$Vw0C&R6)7X0b?fY$=KWn%jZdxU~=a&7UeP?`T zvfLhw;V0_FE5C^iQy@Yn$?+IXqRz~_m3o;4!{5LY%$a5<>ikW=1_VMEQ4isvTHYQS zM+>fnQ=CLK5nZ)E9YiaU46>VC@oD@mJP5p{an(^5snbLCe3g2NIWEpzy^v@Od=dr3 z`46ag9mP}>-_NGm1v_s9=FwS+j*MiANDVSZMmXt!iXv3ANZb<{Y`lYTP_hl*PsKqh zC<e+YD8?y}!pZs0$>S@$b)1|n{5dLys37ZCm_%Y@l-gXVC*u69bk+-p-#3jX#BtyF z9{(YlNCh}5%7r>rRlh!{s89Y&d8Arjul7{i>eY^FTU1R}_cW`i>b_=mkcyMleJ$$o z>VX(;_cr0S!z)q?dz4G+YwAK>i~53kzd7zz_IG=gfs|J{cTraU9@$xqQ0Ik%wUOui zk*LU#sK}A1$dTt%Z{#_(dLW7^?1`$+tJOWN>e1@KW_5t3d9=E(K}{~~Zc_WjR0tA2 Tf=5mXD3IX(>yB1cW-0v#_pMs` literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageCms.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageCms.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9096567f4c6c20c0b23e418d6619f4d13dd19a43 GIT binary patch literal 42627 zcmeHw3v?9Od1h5V)Gev?ej^?wA&?sM;0>c0h7pngd4wcOVwh=XEE-h_8l-Nyx&<Re zjLDoy!W=t0OzZ?rJdW|kyJmuu;3RuOHeScfc-P+SW{))BrQIPXIJP&-*|TSR3_14V zoXvj!f9utv#UmcSj;BDkZdcvMfA9V8|GNLZ^<N4K@+4gU>tH(ao!^zDZ_^L+@`{Lj z`=8vBbWTzwRUVfn<d7^=+%@hBx%lo5xp8-odnUXg??g^0hu?d~eG~qWpX1)~+=;wU z-b8*Ve<BbHOcaC)CJIA^c$cI4#)~G3L&Y5TkC#l8hDte}J6<+X9x9imTuPOPR2890 zS<(u%Dy>|rt^sgb<*`jBu=ZWeAM?=L&@#0kq^O0VI+wIpQj1=e)MCwh5pAI>RL@UK z@U+zNbTvOM!_#st$4cAak~F{OI`#pP*BNRJ7hU3aXl+DNE7Y7%$ZDlpg|J$!LAXq< zMYvpDfpDd|3ZbIbA*@$dBWzIDAY7|9B5YEF2-m6W5jJz!qP8O5rfxvEQQd@av$_T0 zR(0FUQbhhYa;TBv-41y3EjXI^*$zB=Oe;P%=!90pt#++bd)57F`^(<Ydd~AW@;sq6 zTkl)6`eVOzZ+_LK?$jENefZutW1d`$*V6ygKJ`h|w!uuH_N%*I_JlTOuV;xmTxRZj z@9Kd16w2SUM0xec#_oj~wH&?o>6rW8(icBbKd5$~wyoNx&^B#rXge@<Ff)xhr0zzF z9e6WrzfljUop}0~`i$Cz*0<x{jr-%c@4@{E-1p+X6Zd_%KZ$z}?z_~3>IZOt$}UO7 z)MwSF@w{W&wOZ0@8zg;oXgTIgV0^{I%Fs$#0`{&v_T;^7)RteA#nVvbbC}Vg<sVvp zR{r=KB6d<fDZSu+PC6+EpSwlLf^sT99F4{j;Y1`BjrRpzDPK=C(H)(d;K-iw@DZfR z(KU5yR111j?vChm%GVo7XnJ@&RWLL)IT_Ov@jc_Qa3Ym&{zMTe?|~?ayhYHU1aHqo z_=tu`uBuJy+GsdIKLTckK`pG}cm7BO$s*AsqZ9E|5ohU~h!5zovB)^3FX+<7G#$Wn z>v~KN&*n-}-sE)W{-L})1y@)Zm`)sxMU^&Xpr==fL;>YkcvMpoF(q+SQ^q5S#JGm! zN>68}(it0%>B|0a6o5@=(S$NI9ZzTzTvBIja$1iZIhs(KI)lol4I4JKAlR%tt(}NO zmCo=?_;4)BDUZ{Wr$)t-*3p>Ae>9PpjJLP7ojiH6)%lLIFvQBy*o3A`qV9G@St5Cx zXd5-n27Re~A_Y3m0;0*z6p5p`&L(Yq?6Doxq>bnRJrSWW5)O)P>_^KZ(eU{Aw4!U{ zS~#w$%2ZU<bftIiKyRy}?A61gk=Rrm3Dj5=L#a{^i!SFDqO{SY)NPM7D`V(nH4;zg zk;7AjWJXam9`Qsts)luyvyMkbwP;)uAPnOzH@<apTA7HcQ{(up$4*34EskNX9|c&^ zddCPK))FT*EovY@8^MCI?e12`$D5Tz_&9J&84c^25*t(EGy=F2C=)R}!{|+pYcD8A zk#(F>8ZXrdFgB4<m@+mM9pyRGtc2srNo{<b?m*6%-ZFYr8|9i%jxr%CjZdM1#L;j< zLC11Y)VC+Xz&kaZ2rC$&<Jx2b9eG3pKzgg_h=WIg`AQ@~?<ZsNc;qmCqO(U)is&J< z%mxNMO`wiXHzQADT*1s%jslOzr;RGnMBuursYdzFXnLFmWgkW;rcbwvS_$Jewr*(M zpiD-_=?AX<(F8_x<7Q<56P`fmrHQo3D2GyPXhj~*ff2)Rfdv~kG&3gHB~x1GHK;|y z6Tl&0$>ex=ng*KYJJo?G#=v;csxVs6BW{he3^Q)#MR(D#nm^5f#AGFMK*N9(hcyiH zl10TM6I0`a+|AsLOBZ+YXav|Ei7#1Fcr-D^(`kyP5}IYSv~5xcjbcE@Xu>H*l^BpE z%W5Lv8&$y0`C?Ov$*F|d&Y;o)^oqxnxTf*=bPV*gCSDMzYj%<I9*I)!QKE$LNurc3 zPbyP!Lj6Xa&;;-u0Wk-4Y@}B_97}?hwHVHV5x%D^0r^7|wlv~&s6b?ahkJTE_6{j= z!H!y&ELG&-#2>03>fbXwFxcO}r>Adk{qr<^Rc$OhHJ(t$!1jo6Em_XtsmQoGK$tkJ zhof;Molu%$G;dEv;$mdD;pV`!5ig1^Jq{;hQ{z0Qkt0!1A~l$GT8WXfi7SmZcL7ie z6ptwp?yV-{w0jOyxpfmzWAbR23;94es%+zVxyerCL=1|H&PwRhZQ2W?M4Ldb!64BN z&|p0VmY^i2C$*-a!UQi4a=B!OO~$DG5#V@d|KVdGQSsK+R+C+yj71w0%D9$LrejmU zKXf3MyJTq~Sm^5sG#D`GVRSihg<)i3!9Zz>C#EJNn7ENKE;1ZHzGPVwTAji77PsH- zgDk_nM~_YPPij#h0THV>dckA~_eH-5F%5LXSmXr&4Pm0I7XwH06%outRTCUjON1li z@eDKoeRT}sSVWIw;!hn0<23nnv(lxFwkn%4hW6=b>?Hat)}qEBMj+40NaCn6It4ij z#OH*;0GdD|4e7~}n*`xwJ`64sbTEf#EDBCNlWQ@FQ6Y4S(2zjo+spC$oTN!1S(Tt! z%FrrZA&=?~c~ws+XWARgN#zLgqLap@2N2w%*ey4LzMwDV9~mL$Ffx+L8yOLT0OEm> zk&l3)nr{ZW2Rpk5h7WY~rYZ)zdpm}Ep6MRx?C<R#?AhNvJlNBj${Xq!J}`(E{e7v5 zj@?83y$6Ofle{V2MwQata2p9&ZIEk@9G%u;(Kb~((S|`LoNeiej_F}gZ7q(jW0AS7 z^@J8Z(Ka4A3}KCA&&{nHH?_qfAGd&>9*1}rCt;+`oRW}d^m5e0!3jj-)d*gek|m|5 zKagC$V%}3@Mi)Fa`YJPN_Wq^3+530e17SV4i=_b|oZY>81@iO-bMz`InhMZKvxb1) zH*jD$mD7J<nC@OCjQUD?&p;>?t2cvFh{Q_}0P;Y=>F#7f;pshy{Ytk;O$jqVrt!oj z-~K~{*+GUv1*Aae4fzn}g!~A7p<IOiP@b9_%110O6hN3CDnJ+r6(TGM6(KAP6(cMP zl^`q*l_D$&l_4w*l_M+*RUj-6RjL)CDz!3HtyYC<)M}U$YC^T@GN@Lyp%v=#&`NEU zx=LN~vgaa03zLE}y)vkzyrc)kXEyVViH;f@ogzxeNC0XGk`+D<`Ev|pK{<429CG-k z)}x0GwQ|qjdJ5&;k}xlBL32Y;OaUI=k`x3Uev9yy<VS!%=@y<#w@xGA0TVL=xsU`8 zBZzoNfs+xF>8FbV4+VY-iYZVic#4A4(x@>fkw=nfFz_ee-h#+EDM8QpItJhtU$d|g z%^<hxnn9i!pCk=QLHEorTLg7aB&xL}rlKT2M-zH%T#13GC{Q5};|8*FM31PGF;JDb z&1>2x!+Ll^iMA{4lhf^^<KcL`{ScBIB9aJ}dPGAnZcv`ssYEH*v~}yDLspHq{uw~( z1bon?H{zD^^!4|3zbU8WXq+0V=n6f}+dJ6PHPGMFH#{^`%wyMTKe>z)aUxKsr8|XE zamA}MuguJa&o{h&^unfv6)g)zt@Hj?#^%1DM}M5ka|1xqg%eYHl<N)FEuKcckrANA z$cX+JW$^X&cXo8{>rUnM_4f}9_w4Tpb*BpY4)pd84|eno?dc!f4<I}C9~efW&ZnUd zJ4BLH<?h~&&Zimv&i?%a-F+ZpM8L}W`Va2w8Sd`y<J+E|XAcad3itKw-8a}hG%(oR z+0omXD(LM$==fQFV5oa!$L^ltp^>icXL>rjdwcqxP8IJx&^<IH9(4A03=O3Up6>1* z7#ZsR;DPSGPQVQiJ3%NxE>l$$jtuk<4UZsmcgJ8)NWfDmUJQ0GdY(^%vX`mxP%5vp zf8e>1j^2TN9jWrZ{;uvl9S6`0-9!BcPy>FZ3P$X~8QGZmb5rKeEtx-eqzW_gZp-|= zc~j=^ZCg@B8R<9eNCil?iHuG__ll|d6BxY3w2$zN2mRL(iGKsZ%hESJJ8$L(PIn~> z%TMo3dR8S%szAkYFJE?gf6}8Ezn3S=YEJhiLE2ZWp7$(EE>q?`RY}kCWJT@izNBZP zk-Y6@ZQZ=5I_X)RtO6q_PkJ6V-fTAts!OhHnD^8sJzI^EJX?~b)u*3MdUhpCYN_hS zleKG5#?A6t0I(>iSb^H?pmNpe{+r&C@40fkZMWT0PU*W86ZD%WRsQ}CFwbWNV+e>J zf;})zO63`k`g)(!E2($(P|%7XRod4NM9e@Fp07HYTXnMVru=>V!#p|kCi;mP0%4qS zR}WI6-4v{&U@rx26zrp51A<f~qdrd%=iJa+C`C5~ofNF6po@ZL1gQelFw{NxOgCrL zx6+FbQm~Bz8ubi1Nz{<(WGN!&q)bXkRIpFqK^ch>33O>k%t3+f`kxpNPaIamPwFb( ze3RZ5Avi6~eeitw>(5@OUs&FJT5#A=Jhv``4$HS2@W{a~y{ZhWpc|Gz7w#U_r@C?X zg4_FbV#lLS0`9{D2LD++g|T0rl}4-@5_lu7Svlb`<EFt`KbXidpB?j?G5fB%j$_pH z`dRr{zWvmUncVXf%(}C#V+H1O`>wh#8VpI6W;5X`GgBQ~X2$IMtZe2(TS!{uYg$gM zFyphb>a|)COxUHBn<?x&peHG4(PcuvL`}|qBfQ}27zs*?E(;1jx6lEtnsdsNs56t# zdd!+$l2=QKLi0I{zWZe<LBq-yTIMm!+$x=NKcH>yM{S!b(?7EYS$a;I20R;q&nI2< zOU6HXCJe}yA=x+cW}c}z8C)HzFX=?>N;fnO$N*tzj$}!InqtV#^dk%%Xq-(y%~k<a zka!MN<v6T!tSho$5spMfE~9h>cExZ;#_`z67MRpD7{&|>lE`jL9epY9$w(CZz#EQ_ zMj|PfemLdPVSApb?uniVk4J<?%NiJDeu6JplJc8yrt%`NjgZxHR7<(hCIr**lpj{B z1epL*Ia-u7xKxg+@x2r_aEd@HL&&;m$`gaunDUH5%}<pWfR2#Zcz8OY#r0zt>y*!U zo(h-=IFs*aI37-*+C1ATp31e<UP%0&xHdkflU|W3HM4TLBa`98(Ud%va!<sM#Az9j z$4tmcP_oduiIEX>1DWaV(p$|p{{uPVX#}UGbfL5+c*gVbg74&4oIUbJ{969%8%3qB z&b~4`ck-R0waGQjpa1Y@KYVq~*7@T4w98vkn=D^@y}V_iyye1?YvtS0dD4o8GhH9w zf1`HQ_1flz+U5%fuhwoo)Abv@Hwwzn9-JGyR<MTOZCt3`c&YKvn!nimC#_d&J4A}A zIp62XKfmg;tF9GnOxD)Z!<(heXF6|`*3NZ)qIEu?{NPTFRK4zdlDnk#M$L-3Bj*!W zYns!NT(M8SB;ROUf4y<%LgUWM;lCXF^Rd4;dbM%yoac?e_ucgVTjk5X?=>QK(>|1N zH%`pxOC_CU(%WSfT|xKTO~I~O?^jFwh<~-#+qEY5tBRZAYdi=u=r8p$sD*rc1`)6i z%&rrXUYsx}ABohn@~5OvyFd+1f-g-&3!0U(3F5~rDvjcd>r>E{s0`KfY40glf+#*; zvo4#a1aoLvhcF3iI0;s#?O&1TSZt=o9CgcbG$4?_^%l|YyK>`9ZKF9CfrGGzDujn* z(btqlh{r^<Qn@1|EXYIpC9;|->@d?X<_F#SFVkZWsqOlUh{n-7gogqP^G8Nt`lfP$ zh_xn2CM1rRphi;sX=FVuCG(5s%Qi3MZ@v+zn6KV=so_%PeC3YI_16MBlVw%O;*zrs z=UQKDy<QqzC=Je+teaog{T1~q&wPF3eBu5x?i+>6=Z3Bp*3J9tSnSDQ{sbG3-cyJ` zNwP*Q+t^^lvW$*71`rkGna^0XYLFF(OanEv9?(6|5Ll+;Q;|fN?ELtxXwafml_+1t zHVVhXCt&!D&|Gzzh}wl}5^qOYJnPLdBgM?1pJc|S)h~lO*tRMR4=IAFBIC_SA|@yj zQInv|W9JZUQa<DTOx5C{GG64;Fp+Hm3RbaHTz<W1^+M6=^If0s{cP{mqK)(Zjh1#r zRoq<<f~w3a&LzPQF$B-!DUr)on=a|J^a-sGW+-6auj7Y4K><D1X%;{+<Ro4$;U05` z{!vPJhJue#u#y7X&Otnv<*Dx?V%RxuyOw$DZtw7V>+cl$y_*EW;I(xb2q547Z9H<w zY_NK1o@04dIxC{O@Z1s$tjCh(J4TxRqU(X{@FWX*L%FJ7^*|<s!9>kdy?Bz3CpmZ$ zn05v8QzhnTS%&MGzh=y|eq(`e_$XFKMqwkyDg&=su*r~62gosswO}m%Dp*@+CMImX zGnezYI8y7$AliQDMav{D$V)5R0uCuc*D@@e2P0U<66l*{U4x7QRQsVrV%4CP$kvA% zBcr1u2DUan4_gaY+&7x*=sD_kp2b^$jiA9fr?)&{Cd=7oGNjln^Ly4k>zVb=`Y#%? zGGtQJC9dc$M?G02Xvm(~O3YqQPS&)db|30D%6Ha3>wbacYT`kBA#O?ZvmSnDa|>z2 zf^gP_lvWQ;OK-}3!8}133fT;9;fWA4auenPNUAK0nH(Y$EisYlR!ik_d_P6=#XySZ zdEy7ZC^TLe;~LBrOvB4rQ#s<TPE$;uLy*dWO$K(jlouIdW6aoMV-RP=Lt4m*$Ei6i z?ohzYhUfpxvU}!&CGRXJ;&m4JAn#O4fs!*jZ>*@hzGB0|iVex)igN|870jLZ%!{wT zcwy%9<6qC2A2@K^?OIs~X{7ItUs_pzeZ|&=6<dvz$>Pd$g|8J_zm_G7Yw;{uyc~~i zm*i5ukN2UP=56!-t&psW<{I8;O}6Zq_wP94x#q8)+w#V)n=2d6c)sDU6?Dg`<`K#< ziZ>uaTIw;2RpEhg*^1MUr2i%!!kfYyo}3(?2Bl=S?21gpsaTU8dwH7L)ZH3)F@K++ z4k9uICR|j;#<Tj5y*Te*Apo@I0a93U5d2mMK-cN@j=AA%3KG+mott9DSQsqQQK(9$ zYtt!UZZ=&tn}&+AvS_8I=9gV(HQ(B@8tSvOH5;O1md0j3GxMTkOJ}s-sxp}#W?hgI zTz#p02U)|^BREs;sCH7|yC)u*(ezK^q5iMwjTbUgWJ3QPdO)l!<ssT=$XfdEagxYH z|5PGF*y6m|#+FfH7mclktR!F+1NF;m&h@<3GpAl(*}AZ@^^)t)d|&ikF27p-<eBcI zKk#bdD}~qn%NP91=LSFX?CZ~dDs-XZk80nny}06<e|xf_>3YNVg@*0d8+I);?7G^} zamM><-Ya=$cP{wrl11fb0{3FHg)nd-B!rPkDO!A?^RuAN@$Kk`0#$}EY?D5RFpOMT zkm#62@a$SpYrg%<j9CMD-?tekl7+(`BO}nF%TaO`?ytHSMP#-*%@hzhRVE^Fh>N2~ z^?!?^g1IRVJr!7z_e^+vN+_H*uIO(fosB8_?^8A*lry4ak;w}gA3#n=pyQ5eGs?Xb zGc&~=C+ZZuy8V^yXVvSKYZoflzLUQ;Sz1Sm8iejow9N<VvZGGvA636ueR0_}|CVIk zn(K927V5TKuX|#l?un~)Po8nT>U+g^wqU`(GFen|CYMnsSge1F8pcA~8&-^21Pg`4 zCxm$TX^N2{NdH{~cPq`-3>fx;S%oA@{WDgw^Au}D04bB^(%pQ{A_N&BZGMrGFh$J~ zy~qz}H1C!=5<`aNvROi<B*B73YX|x+Dv6;Z%a=|jEv}o_5`@J1IeJF(UjHKs7KyFI zuXGB^X%tAheOY?f<@Ng0%cNz>^_q1HHS3a1&B;}3uCIE0Vb$Zws^#ZqUYkjmt@N(B zS+p|k#XX%Pl_+T+#r#r5bvl<~c~WIfI-g<zsiZ1hKryVDtW6hDtXQgAkuITFDb`VL zQ)#!Kl4bA8J2_r&#ht<&Zz&HHgO;IV(NtvCMJnBc7NS&{C$~HeeOdL4yC&SHWZ1{7 zsXI%AB8!-9PDWixSTsKy-F8^oq>F%uE?YA{<%-rneEt{YIGO}Yq*0D}2aj@{Mhk4) zovo>3YUj-S3d^uf+6$BLz2ODM@u0Ft!z_olfFXdBIf`{d`faY`o6b{Mu7-<~AywN7 z;h{r>eTT5TCj8wD@rt~l$Vcor`3MO4SwDhy_wj-wWCTB>@WF^!K?XaD;;kM-kdpL2 zrT93--TS&ag^*YSel%hLV+!XZY;@CiQgWK5L3b*Lee5(*1gU=+>?u{2r4;?ok*uFE zdkhg?we#oy`s}aFo;~@F5A>kyyPjp=@s*riJJ<A?=GU9A`5JGOR$edNuu!_;Ps=Vn z^Cz{J!&gh6dd2r0=hHv_(B+R@-Pm!pboUuw(pPx;qbTP_{<694SM#w{vs&;bRA*hr zfXcUtNM~w!(68L7yaDn@WrN4e2b$P-BB*q;{|x!rv4KQ%G%H!?e^#(a)hCxejT{Ks zFN6o1$|6OpmDV6LSL_A3SVRH-0zl~$M5v#L^AH7)y<0J@y@Fiw>pi2E@Q*Yk{PQ$i z3yunY>p2|&pTxt(7tGd3C$3p{mSuwin6zL7d%<-aBuw|JZo0>dqL`?v=akQ3pz@hh z;w9NpW=@teOHgKxRc3C&QdPL@N-o=LKP7|OQZ?mDj=JQ8MJ!Ab5zkLpJl~d>PdOoU zJs_7QYd`|A$PE?%NH{gS&T)qV>7LE`LXN3Ip7PIn^@>@4HVI+YB1`B^`Bd&~?vR9( zG@}+>cFI$5pP+PDSg-`o1o0TY5|w6b%#G!Sl2dt(5y~@1Xg2R9`0kv_doj=9Kkf_v z2D(pBD+9|rpiV@{6D!IVCQC6CJ`(Uz3oAz=aF-E=t7dq{PEL|xi;Uk~(4j-D<r&-< z#0q&#mEU@3khUH{$2bF7A%tRRnziCed{P^Yj74B3Bj*gFal*cD+VbOY9^*>e;oR1K z$ey)_V9>xsgyn-B%T$;{P#1wVKq3&4&^Ue$>r)gros3N|NrzSHcA|-`B#j+9gld!r zR>6Rv7W5nw03|jGx(<KDDPA@q5i0_hc_JW&C#ylf<6`OL5vp(kD%wJQ6DB8XIAja| zNp#xb=?sI5)%);r)aj)d@`taTTgVj8^paD!Rrf=e$b{)mlZh6M!qb-BO)<`fgTL7@ z3sks2JCg{vR-&plYFIw544yC=uzxOa2i<Wrc9MPxRz(=r5*uqd5}vSJW({04tERz6 zpE?a^$S$g*{v_vb119cnm}O1(JK$6z#!vw9;Cx1QH<}xO7w(YOXe+R|^T60`FyAQ? zQ}FFWZZaKnNjB(QHC0K-+^V&*W2C4(!KP)Srw8}$rUrNJf9`2fKbK?H00(;Xo|tjQ zGf}D0L6n<(*@assr4^IXSx80(u7`4%;)-wzicGXC9l&&~lR3SE7TXaInbz&52%01` zlUC@-P4FxYa-FdD5NQxnI2FgQniYssMhauW(urT~$`CJBq7~#+nn^XVVFSLC=pt$z znbA3?Rhii<<i-j|U`|Qyti;_DWK)fh$)2sIVRKN8R&W^xIHKDIgi`Wo@Hl#$TK^sa zWX+QvwyU)(bU%WX-KGsKn}a5X8~6${uHo&C-XSv_x!_t|bZ@u7b<Q*)+AFmLJdYb} z{;i_cR@=>!-kR4=WrNaWxD(mKPHz|I&*~bg>{K>dz-7y2dybkl(j6{o_sx~n#}v6X z+f5{&UqT}$rI_<hheARaRk#2vAo`1Ylz6PFoCHC!fIvyK8%Kzi8F)lg2@}e|WEkTG ztrs|H&QXDxikM3En923_qI^Bg(|TjtfP(bFm%E)52^%bG2jjL<Z}3T^7r02(TTt#l zFf?p#U5H~DP=JDo#s!e2m?uYU0z0+9g~W!Ogf>3ST-YkccrOT&U5&-LsWdL$D4D6P z!8tQ$tN^;nVAleFETX^+zg^iKi_vx?QxFiG->BQzDrGbtGaOY3u_F>~VVjBFk2Ge7 zEIll4EO%fljv-;}!PX7pA5F$KgdoWdAZS*z9j=l~5<`F>mQm1s*2;`E!3?I0-9LoH zMnl<1o-wD1f;wk4b{SZH>ts<ExvkYk!_9*<O!mqkpdW^EHv`8(m3ej3vE_wE4`g== zg=Gj{qE@jNfkYu&W^3nHeZtF`WZJu%EZh{t!{&|<KMmq#?it&_vuX3)M(&6Qr+ib^ z&!diDK>q{WSOFHgEh%1D1>fKC><Dc!5f&*n%CNPD>^3Q1zfcbK8Or;I2!i>-OdD`= zp;SQz6G#;;YLEUp7iLU0hKJ2}!rDjHr<8mmPRa}ov~h`b_F{u6495%(qkj#_CP`r| zK!61gxcmA`=Y2KFimG!5Upsgvk32nMpM$5z`b!;`S6$n(|LYwHl7+iz4ZV7<>|-$) z{wb06#?ZC=x(js|rmn5)_);!{WbyVd<zD*b`NB?T+O((43$Kxyx#lkvT`Ssgqjuee zC$84+IMYkdTE4LATG3-Smao6C|LXGgGy89puSo`~lYyFKpzzhbuk1|*DwBcQWNFo% z0$)YmncR1ar9fFSP;oubun=fCKX@(Blq|14(+y))pyYIKI#;S#d9MGp{`0%9mN&lA z4Z9XS{=preR8aoO=RTJ=pTGWlk_>pzl#-84oG+R8*Z(l>#*@2oS`)s~*0Hv8z4Uff z35Dy+yNca!?+SF~yT6+6MSRpS2_U6ot%H=kbJ#X*uXNZ-8LMMZwZ&ztytdDsp^nK8 z>z3{LCbK#wzbHG@F<1DX00vJ3)9BETsbwi+rXWD-k0EUhW18_4GSI*jrws9R5-!=K z2w)cj%^2*(V`Bud4H9XvB0CDtDH0#KR*S?4-V~q0mbfO6U!=46aOV2qo_luCn7f`> z-!dTHWB7<Ub(KXj8G&TzoJOWc)JqIHxTwZQ6TFPf+!r+6oFX8Jo`%pz{omqnZ8He5 zMM^sq+sQ!~i;Q7065faU1-*jcTmf3y)P>DG@c%L0I?Vpm{}YmBEcg||=0-R(AmmQ{ zuaICKNEIhHSx|)rH%-}<b0580)Hd&L`@xMs*@I>e*~nhXE0BJpe3SdLffn~4csIF6 z$>?idmgVU@Dsnp6%z6^m1Tn2Mw5~Jju`EGeIHB6sCHJWu$BIwRMU+PutV>1=3vAvj zWtN~!uT^HQJp~=sC6E1-txHSPlsVaLi<AjJtV<4KwF%)VCy9_Bkjo+huu0jLDsrKP z-Hn_PzTh=2Nlav{wI|!HG(m&HmqBEFj()SOa<e`VnVeI;7kv&Q;|se`DWkYaWOma= zNQ=r?L?FYq!@^xQ+YT5#7iQ|u2Ij$&LpcBvLk5EBVN*9Ct&5*<adu7gSlE@gEEec~ z@;0KSjW>cy8sd#1gIdr(oOOsB#zZj^C2<<G5G0R#&G>2BxE|V$BL)$r*tQ&W<AV)V zoG;Uk!&F^ReS?gd)YxjKu;Y+iw-^n$JPe_Dmm%|@m6i<z`4$O4c#CY%ku-e*8<1ET z;wQq2!lEyVyT@V!S(|o1!ot^&eGAITn0}nq^9*YU`PBg=L%pKT1sfyKjqXOxjAtSd zTNpV3Dl}3E%M&;gIrKG|N|)eEY_1SGmO{4<=t`M7mQWITZkbB8-ItK?;VKx8=rBfL zC%%DFwCC!m7KT?~RG^FD$lGc#CQI6Df?9zc;!xkfqOi+bftC_w*J@gxV2c#ngs}NN z5y5c?T$<5ZdpuaXVu7_y3>vnuCMX~5s%+^XDT3S-nGwQ60a6FC#eTR>^P{8mE^Mp* z2AhLr3j5KK*Xend*&rqY2C2ZVTa1MPwK*m<_5g};Dyl(-K@weSA!QQ&s$3YM+juN? zd}<Q=_DokxdT4dCLr8*{6Gz_&`Nu->4DJkDF>;fU2cU;di=lZKgQ!v<xm5v~k=ZVX z1{0L{6~hq_8X&^)8pq9XCDd{DGnX|1B4Fgs0Gi62fU1fe>@gi`<uF?hEmvJ24#t}f zdO)WbctZIdm@RZv8;>1%O+*te`Ay=~12I$rsBl!AazLnvEq^Lm`o;ch^dOxka*`lR z#G2WP*+XVdZ2P9AM`~<1D$b}NToD~(ZHmWRh@31ziDz)~kMh(tB}PkS#|Rs!@o3^( zrd7b0GZ{i$h8@ouMMJDJGZ-5V2-6La#O(MN!6dSB-%^2Q9Zt#eUkH>SWLbO2BvoPv z2s<#}^cYU6z}|lo1`8%}*o1KiP=@s=J7wdHcFz#8{3%1Rh^=IpLEblQ65d(rn_-6i znJ{hs$Tllhw1zF=lGo)QR@JiYO!|L-B&~m$g1<!2_h#-QbCCWOdPhsN?ERu&p_py@ z@#}BVgSQcoCo9c|l+U2P`d8`Ic?w>nfE6}Um}pSw5}vG|pm!AfPbfNZDhaL;FUnG& z^1U|M<UWGQrbvOwX0GKz<)y02ZSx;|=8oG{oR^kdxp_ahlk*UE7uq*)rLH4qca!v1 zQ+a2B`>iJeoqqS*elOyqmJ0w<VHH|9FC@|a3>7k)x<@Lct?n&WA^i?j$bZpL95Yl% z-x4aM?-5nVC2IN!tB^(u$@laDil@`9Aye@bUg&VqnDv={=nt)W<~sU2*X-}vT&SMj zQ@JnZI#kb`@bAFYmf6RTSM?Oa3043}z{29KaR?OHAshm<IGql}QkyB9Fi5e(w7mvG z6~sg#P=RH}#tg0xRVBkK3z{4yVvzE1i;as+2GdF+xd3|u4Gk!T+kxiLJf+J<@| zon~_|Fm+T@=(NQfuIy22aLAIs5IX9Q6JHGdH=FKj`<*b-44O->f=4f{9E&v};GCrx z^9YNhyI5m@3W5LZ5J)TF_3_wPqJ=Agc2`epRoV1sqZIOIFgyw@9oklpAD}-Qe9s1m zw3tl&S$SC9`9K`?o9Ha&Eo;&i!#8#oqp8{pIG+vL3C&4!(U4R~hQktmGHusQrs9Dq z4($Zpg9%9$pu8g*T!`)C-cBBct|Am?%sw&O4SGNX21ZxI5$Q+_r{=-!Burq_+Ac#h z#s|akL2(+6jTJ}ak@`mZJ#-*CH;gn{W52Xe{_jJBP%`OdbU5HgrXr)qX?r%-C86R* zNPmryrbQKV>ocJxJNvOImColBUMxU{y=G$#wV$+4TQkj42s((2RM>7D(+%ZGoz`07 zQ-{%uv@!>$0`|`UVFO$|DCR+YT$~`K)X{W)BWw+ThEH!KpV?>}4ra|_-IzS4=<q&3 z%{nEl1o0`@io|+FlW{I1v~Mifjzvb9vd8GSMzTwg#wq|ZtV48GC^cRj6*@Vk<1|Js zZlb}EbCO`qB#z2S<29X~aMs{7&T2ab7af9^S|z5O!7;LQ6o!Jm`!f;?&S7)`A75y3 zC@drIi=BjKtP3j>k8?)%nOH|VcrgaFLUR)MrYpjwiES5@L5#Yivzu8Fp1{$Jg3$pm zolgigIHI`+^%p@4Z?bTAD$eGPpvkZw+FHOpO9H$g8|ZL0sqkZ?3z^=6wh)`osvw*E z{~m`V&UsG_@7oNFzP5ViN3mS|m~93u7`8mgBZ;F7P3i|zr^&r+Cn7>4i$@s>`ul!T zv{{}!&p_uM#!rfSdXWhAh=w2wud>ZFF2ChTgPXoTibFpZZ?~U0lTe@jUtycTo*CQ5 zL#J?9dZGT;c&-083dq!xD$j<8iw!_z?x0C8E@1-tEh>V7$FXJ}{}v)J0UdSy7)(H= zk75GK=G{YPA@<}cO_I+}E&s&B66}K}15qv+h{_+{Kvdu9k>2){cj91{>Og0M`|SoV z;-hZ#fq8il!EgEYc|^!1XV!%s7IM~I(wRFf+_P@%u#k^AOEXHfoq0~VQ6kb|hXvKd zm+dbw=Hh)79>>bRb==dehaGu5FM1q?4p;aJw&pN7F%2CZ=DrG>0g#}cv75qP@rD8} z_8!nS1dG<-!~}C2{!)7qAW<7T9t3-Vxqy`UC3ZdFUADqAD-{%vH~Dj|+^l;SnX}hy z@1V$D6_i}IFxX&ZR7V;Dwl;8;8T%S|9gj{;C&d8bE@mA`Q*oBxp#7*U@zWctWauIf z5Bg#o3l_@gFmq>l1e=iFX)zO<RF-yFTHH68YwsdEiSsyEs|7j-)ELrwY|xb^YkQ3) zCoI-wsVA0rnZ-$qdxG%K*vKP}Ww-h&WA&C)Msp$ASf0h|a~PjY5Ly`NWTb-d8mtLE z`F66#hSftA=Y|S>iB)s4(#t2-Tg6gRQv(6cG6NP1jlvms8Wlqx5Z<_m;3E%MCWnrV zlk&9)fr9QMk5!>khlO`5jh9&K6~3r+Msp%#LZA!GZ9t~sgjPdiQRsc<CXR?W5qn7l zCh^4iG82PowU*$Zro+yJuV#>Pep2Y>s0*v7qgZf;9e`5NqOjdgoD;8MoplV~%YceF z1N5e`;7=Zi)ngRSBT3q?28lKi<W^w!iE#+}VGV2a5o7`iqOC?}h_1SyCo-36m{-ut zW&@yRV?Qem9Xkawv`aSKAZMmRDK>=MuTsl>K=i0V0zo3oT`?vY3>`5~!!?{poJ|?; z-2r9cwc&s#wy0Q7ZO3}}?G2mqd4_KQ*J!pxkW=APPPR0nv8F>gQEott?ndXBPUPgC z0hbBUEOQU9Kv8Oi7!@*eV6q%KWVn!%QTQQ!uq`KXt7ELTvAY%Rpd%W@XI3HJWOlHC zls1nE9K@OR<Zoc1kK=m?7F<Rjio$SAmEkyk$Z(1`>_HC+xuBWU2~IC^#<y(V;{rN^ z*b5IJ%u=gej?=XWRhSmQMn>qd<WWP!$#5<{(JOYO?WWDUhA%q2F)gQWd%;h5V|v9w z0iT4dp#Mh-E>ghjdvs_8HOV*=O`N}A;gx<BuP>31H-ZR!GM|xs-qqjChcNXo@qVuS z<jj12{gS@V)u`j8iWcehk{0O?iaHA1UkY^i-B<ixL^BS$vm~r?UV@`@QcuV_?c0@b zG@bj?ZtR71EHzy;;xFNVBGtnOiQ-Ui=gwR+#VHxjEuYD3oBL_gzv*9jUm2|Gl-oEe zFJ~!uX5Em-e5c$mx@~!E_5GzfyH%M|o$pkpROb&5qLX-vnNnRRc~65ZTN}Y_5spoR zL%gw(<`=t`eW<>-1DkS``e&aD(JfAUba3d^!%GgJHNp&yf(&}X6%A_>llEi=I58Yw z4>Kz2<xO6XR6};*$Mh8E$!Sc%hcEU3TckmROlvB!BQBCZ*#m=|EyKm4EttM7W8lFy zr{{hrW=5g}*7V@7g7;R(lMNPz_2b+rwD4hy9Oh=fNP<YU5G4)TMFf@>C-6NB>jPB= z4?-hhyBCg8Fwe0Uy|K6Rp@l3*3!Of40G=d1!%@m~Ld;~AHuBhpL!xN>9GiNGn;2}_ zB!&)~1$PzEAJM;pVAJnT@x2K28w)s@*hoA<V5IOcGq(|E@JtKY+VKe?1I3I(;z=|i z7$GW?lM$U2ZwcWhx?nsl;8g91u3_#xt&L+)4ZowU8#drmL)&m`Rvz0%A+IAWl4=Nz zP+Qm54OVGz2BmcYk{Q87&An$$RNiqCiY&m15wh2)A+^&eVKP|-8KBadEII^<jjy?I zjhMImm?rLGKDeaUKNo!;HiH8v+<+kEM(H^G6-CcH-pSuJ69Y};!&ZK%;f@Jn4!@Y4 zm;_CC<)HozQ2m((Q3$^Ff^$g1IPV_frLnyjLx!VCMnQsR^6Tx5_4G*z-v8tsqi?}E zSY84JrV0c;4G3KeC)MV0uQHKK<yt+=o-Qd_%f<}#6bj<tABY3e)+unnr+BYYP1}O6 z?Pg)m*Vlc0`TT)r<^u=QZYehaR}<_f65Eq*;%JZq@A#IbU7p<Fjp`M1k*n2BXL{0k zyse?^dQsg%QQi4<7a~`S=-{;<+{u?pmc7wFU$pjna9ar`%XeI^xt#x%$LCA?twW5? ze`G$;^ux3l?|*nFAQe1-p*92LH}ap9E>v_hN?$JOXmDRCDD7C~zOu?o@y4RvKKGSv zf!!|mTP`o+qZWHXM%p&vCNsu3o-W>5bgx$mHX9(dxE#icCC*mMb|}^<u;*;&4rV)J z4d>d(@l~^~_=+X+klAX{Wt@>C<HHho14D~TFP@e4GUu@w7mXgkK_Xokd~w#T>(e+X zO`Li=>w<vc`m~2xKO98FWp8oFcId^JhfOl>M3tF-);f)xMF4N62oTH(2hf$mC}MK& zy&8<mEGW{FC4JBbvx&~vRmdyDB3|OW3uB_$4F1p|;}P>+(&NmH=J#?F%vo!(hv>h_ z>mGuCl6sMyA>*S?U~)`dP^Ph}N6lgA6X7GIK|I({la(_&O2d~ox(E9@dPT8|xDGzj zM2^S|1c*2Qr499{n*<($#poj}R@150a9cN4-1wz9A^{4Cxz5Sum|0FjyNlVMF%-my zHrfu+nlTv+PzVS#)y6A9Ff5P@k5H@}+g(ZeCm#fo@mX#leaJW*gG+^<wZIH}<xVWx zb@vSK>mFQsV4IbGdW%DEN!$>9!)+jLYmGRb8y#aI5xut$cIq%oFj`>BE+o7$Uh;@8 z>U#8!qw}f2i~%s%)6&|F{_ik#?#g+$==h--H@-vGhuyH__#s>!=|HEHmsI@mRA2&r z;rI$CF%dmgW;A024(y|Pgq5e18@^2XuTkzR6j<(&LR<3iL8JP&=+)m-z={&-90WL9 zz*Dq$Z9wprKFmM;yLh|I4K6`DbipOo!EpT@u!6?V?YdU9`9|fM^GB{$ww~FGlg&!1 z&lSB^biH`ZLh+h2-elFvb02-}qt~l8FH~(l6Zlqf#p}!Q9Szz(dcA!6LizT0%6DGg z^p*03vhMjn_cx1bKkNO%>I>S%b(i$tZ%bCz;{5X6XP=l4titxxvsH8Mx!$=aFO<#~ zHP8E-fAF2avN!gA?zun3j?>4N)Vdk~@k<?zyK|*0>nahxCHpAMt=YZV{Z@TocdPrY zRxje&nFF1__p`_xW?f^hF6mY1jYsg2isxbCJ_YM~T>f~@tot?B$8$Z>DGxNXtfwm4 zA4tHLh|oJjC_%>GDfdaTy5Dz?o6P_WvhPh)pa{NZt>f8dz0mwzr@SwEZOt#}4u2hT z22aTcQ++3$Fs0d_F7day&HY#aiLefWP0b*p_z=v+DE~n$z}Yd@&J!njH%{|0Yi4mB zlo<{+@KZ9$GE6-DJv<z40~4t;yO6c%q@IXS(1`RK^d9d(=t$f9xue=9Bg@)-7Mrkn z<^xIgjHe*4Ag>RH4P=sO{o9xeB!L@W2Tpm8LH$~q8s~^(pYxsc+cyf=Eqp9F<-;d! z>CnQI--yHou_oD-h;<fn-9rraf8%`@k?Y?^gvfP)SZB;au0fw;uf?ucKDJQ#*qQuf zY0bH|*V?X^u3so!j}!cww_mQBU*GZH%l4o5y>;+6_s*B?KjTM`EUJ0+qpy5)?uDyG zO&8i1inijQ<^TIVw^ZIIvp;(6gX!`Hfc8>HLB}@fN|CQ)qvuMMhr-$lda}_=;kKIH ziu<ji!0uZ2TeV)qv(so=@%>5A=*0pyXr<*iZ=Yh9jeZ)mQg$4PY3)3orQ-*1^k&BK z1D^1~C26IFT0aq~_&r#uW7&8SVYD0ZQ=yI-)&GnOobNg5Vrf(VJItCs90$LMeEkC+ zFG;Q5bP3s!B}O2qWD+1cU(}EnJ59=`r;#8+R49Z9sL<M+>_TI*xJrnO!G+@BJH>4m z1}|+{DB3>n-;Og89xUPACIRH7?d{UPuOY3!EMQpxeu2ovp(V+MQ(gFZrWhIRAfoZm zl<B<^sTM=<KHadjQ=v&NrE}{42U9fTaFj}$VC;A3v-)i${MARH8O;mD&F>U%y5zc~ zE)=!T``aIiX6Wyto?jsH@buE;fs6`2*K~m!@Kcc@*dRmd-TRclK?&Hf^zf9R$UzBc zDD{8D)cmZ21T;NJY#>Y1JH_iSlwL?I6m6dOZ+@QyWKk%dUy=kkRL`GhLf~x1PlX&T z0^sMFD8NW=8AXg$ga=wg?yFXO8<ToTwc=j!pu#2!UAAFc|2|6j@}rQ3%?rhw-zk3V zl74x3p{Qft-|?f8hOYpEpM<S}7vSD2>w>(<y5I``o@Xgbtm&;NHhlc#R^J|4nt#9= z+#)+eW^;Z-oxwgGi<Z;OqS=GbTuM8v;n46HmSHB~BdUt?Z>{Z3SQX;)n}tCeMp;9( zhmCfB4Ec<o!p0iISyZM^F3-iq#lS6sPA?ayX`x&dD`^ub1}-I30WIhyrYG4s#dh-* zvlxBo@KNC{s$t%?$&RZgn7o0}bm*hiLgC<QIo(9!J=~rl(>+C;9)%r~kukUn8QYr0 ziC_^up7`k!M1qx$*v1Ll&ZBspBe}ST4Q}Z0yfg>w{S9OIuq>_N5~i7J3HZ6V2eWJ# zBdaw!-Ep|~((9u4+NV;*Ru#ra2_J#06oadD32$tHx%yp@^S>d6GJpt7R8M-d8_JVK zm1OU}UevZ=9@hC_!&ICNQyVr*e^S%2!hIzW=%{vIsrDj1iYl#(jQRL2-=0V0J?AZ0 z8C-nP>6WICr!G(9^GT0v$#y#|*_qBB?nTZXo^SvS%vkm7JgSWzhcg$J;>{132)YQ0 zXgOCI#3HNh#-K3l7f5uBd;>w9h^7%X#v`U11bG`1#XUqHA;E_R9DX8Vor{ZbJT=`6 zQJS@Fg<)r>cH?NiHc$aL02s7@*2D-1QLh0uxkZ=>FbCl7Wh|i?q{rOOZqVs^ak3pI z6kJiMHTX04+L#CTF-^zB(c`V`bzv7z8O&W07T}{eI06nBOK}c5v5?LzV19))OHF)P z-s)Kl#bFIqf`??dwuok6;B2pU?pXjfp){H286vmoTM9Q5G!jP#V0SzcF+7tv@IIP| zz{%%cmlz%qK2MUr*+N)iPz$*AaBc%dc+rwHaMAs6Y0*Z1IxNQc$_8WFBW`nbvSDr< zQAa{$qf>1e;eC$t9&#KpV%DUy2hI4l3_1M>#4~3Zd7omMI3}YtTud5(<%`Z8S~OsN z0|$obGZ*-{2Id0|u_Z@!fnJRgH*M{qRGA;$=sz$_Iq_AE`(+fVGII_L_V@4MFKgT{ zC#MP;E?3q@l8t8b1^vW1DF%p{{>aTri<uJs-yjwsS`XF}$-(5-KjX^6-pe9!gRhTR ztYAqFk8ik<XOvE#p-kmkFlKXTD!E5k)&Ci}T+oB!&m#ifKOpC2Xa4xsTcGUKU9arA zp5MBV-+JN1rRi(=9m%rtn`IRbrB4b$VEg0JU(|H0abGD9bSUmCiWhP5p-Yc`86eD* z8iF*5)fu0+yo9&-D(COvrhk!ww-BT%Mr`NCPMpOGfea_F^4WK~1h*w|-W`3Lj6ZHL zlPA6h&tJ`?T{0=pVSI=~?1yfoR8Lay#|Y4`|C!<+x1Q30d%;4n@tVtin_h8@H(gKA zPg;i;-v#|D#kl746thb|i=V;LtmTmO^DreYP`V|{miGkxj*j{yC8kQnz95;p#crm| z2M@y0`fre8W<@WY<#Eu^hZ^Al-q@@(!Uvpg<OSaNyncg9p}jL)z)aC7m}9Fw0wykU zpKuk_C-*+3k2V5C##>HH$Sd0O|0q^Z0p*`5G~sF4*sN@PKDaxTH!?CdMSg!HBf1+& zQhuC-4|npI&YzJ?c{Dha>p*FE_R{NIX2KZcxK2W5DhK)?NSjVFp-#pH(H`<8*69#B zVZkXt3{_zh80I{-)ac{~obrtrnTsf4F$D<<c;x>T#il8sCZ+IE*GZ_aynQR>(q2e; zN2U^yah<-Hr+*$nDlpR3J=8haGcerK-<R@_JkvcmgqY|D?gGM@lsl%6=wG2&4u1h; zh|SEY5+<Dkw5?$ub_M|H#Te5EEmOJO<|Z<Bchr~Rq4?tK*C_T^6nuh$6%=$)@LLE{ zD>HZTF5ak{TFvhVNc6Mzk1bBb`^kh~J$X#B9}X{r^STyWw%LZodIuArMW39#>wf|w z&D6N|q)vOk@L!7mJ%$=z&yeMRY?9>F-<FF0M#}p;sqSy3<$ovb{)V*syHeTT($BiI zCtt4nThE%C%ke4T{4>8aw`QS0Ip6U4w$HZBZ|<7+cfIR&t;m`8)TGOI7UP?gX*$)i z>a_n(xkp}k=HML(w>yPyx$vy-j)dEt@*Q&9nZ0);+}=GQO9f?Tcbt3TwI|M3Tn#jy z&Q0f3<hhcblCvArZp3bSO3!wry@=7bF-y*FP2*!CE_@usyKHV_I+x;wlDB5AK3zod zV#!-I=Sr7Qyj1cQopq(lC|*u^SEnl|UMYFY&km)lC|)gjE6%Fv8j3HY=fmk*iZ7SE zE9TVn3W~23@l_O8sGNp$9mVS<Z`s-I^lFMXP~HRSH56Yfd28qPr5h>Ug!Bug&F=>B z<8;pVpOTy9P47ww?tEC@A(zg1uUEG%RJT!Ql-@ZZm&y%yws_>+vo+Lhxd0U(0bbd* zu(B<=qApoplPs$~*Zx|2y6AaXE=l^!(r${}ENx7CDS|F452k$_^-Gn@)43dl_iSxC zpQ8b(uryu3(L#J*MHGZy%c;Iy!cU)aSIDcA6;Gk_<<&R6<+r`Kr`v5f3<wGaWTZpI zZi?J2Yf5`50tgC<(>{*+rNWYQE=TcY;^palj?&j&(wrLums54Sh@XOFS}k22yuNzZ z!s=aU?DeuW3uSB4CHQ)%sEi_98AVVT>h*EdPxa<<G>_`d=V*ZHE#PROR9ly(Pn@ns za{&UE2^;|kW&HH8TdLnMFRe_jeQaJ@4Gim&d*rlxi_y_^SAdgre*)cu`%Q1vZ7=R= ze3j>Exfh8y0L<bRac|$tckV+xzda^5A{>_M5q?0fLAZm1Wr($N&;Z!_<V`4}pg!%U zd-Eo7-?fkLH@#(dym<bD^z=%}U-mu8E7$!arp20@`ODAjyq>>&As-)iznZW7TGtQL i`FMFZPP-?*ynJt&^tCeY-pAcvtFGR=&Hc4)6#xIFCNEV0 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageColor.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageColor.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..408d64eab201c8d1077ee35bc6703d8e26a996c7 GIT binary patch literal 12496 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageDraw.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageDraw.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..48461a139e9c43b6ff7699d561838b1618322b15 GIT binary patch literal 38700 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%0A`9pMe-J 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageDraw2.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageDraw2.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..51b6dc4cb40f3189ab2a4513a90bd8b3b9207bd5 GIT binary patch literal 9804 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 D|LRRg literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageEnhance.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageEnhance.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bb88cf95911321338acd014c30e846046768267c GIT binary patch literal 5409 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 b8ywafqg(i6H{aUepxThI9sCa4%=!NS_#uF8 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b30d9e01f2f6fe345538f8eb8d8d7775f1a182c7 GIT binary patch literal 35951 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 B@{a%j literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFilter.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFilter.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f56f4b13e62a62635837a058a77067d280a5ae2 GIT binary patch literal 23178 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 Z<%2?ITD7vyTSd>z`d?y;jK~Mv{{t;iI{*Lx literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFont.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageFont.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e29421e11f00c571cedfffd41c354ac69dd1c687 GIT binary patch literal 68337 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 Yi=Tb>+Y<laXK%eJ{n3M;{Skft{{cpVBLDyZ literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageGrab.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageGrab.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3a642f754d0cd867f83425a0a6f21010f529c5b GIT binary patch literal 8396 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 EAEtR}tN;K2 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMath.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMath.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c222c7742844da2c6bda8e0fdf80183cb5202c7d GIT binary patch literal 14466 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 G*8UHKM~^N5 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMode.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMode.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a7bb7ed8c0b646ed6b86ea4a3ddade112ea69db4 GIT binary patch literal 2591 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 W0;<tTq~KrD03F_t0lh_JC;bOv@OE4P literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMorph.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageMorph.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e90749cb579fbd8a49c9b4907bf3ca6acf0fc6b4 GIT binary patch literal 13060 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 bf}e%cHn#o~2J_Eec8;-Z-F*ggitK*@>{%wY literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageOps.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageOps.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6a36d911e5d45a1d90aa1d5aab55d66cba90232c GIT binary patch literal 30403 zcmeHwYjjjce&@aYeo3vjKp?n!VF?L|rvU-RJOmbR1D*#q5smJZXwmAHZ?^zxT0x$8 zGt$^Ov}T;p+VQSM;?0QhWQW<EO>mMuLw06&y_x->rt#43kQ3!(&dK`2o+AT!jK9qO z{#Ezhe$YbpOwQ)ZT#o8i->Ujo)xTc<XYrGwBA0+?`9<r%-}DN?-_Z~KvGR!csNF0G z*9BRS#egs<o)JZgn*ydYCiXU;F|)Vjj0JCVz&dC<V`F(N0sElijAPJw#yRLZ;~I3I zapSvHwgo(cMQ4fzi_a7fde3<Atx>kWZaGsTH^~mXOXW4P6Ynyo!2ik5=&{_l+$_6a zx1K52zsfCotngc2D|?W?LMa|tt9LW=9%#$N^;n;n3rTL3ivXeeSAtLs2+KY@1lc5e z`^>rR(0|EoatWX<m)FVdaw%dppB?TKee00R0AYnmI4H>FuM2X8;(QNdPtTc^i@@#V z>Dl2EaM#O~fV)cGAa9hb5L->HmpAEs;BR@eT#Ynok$MV@jlAqBc-bN^2edl*S-A!? zsUGhYcsJm^67NR5Yw>Q9x5}&VUL$Xlx67+h;u*y)cgoW1miM$SooU7wmt6OD)=ZFh z$n~$=GC6p<yi;y?-FBvV#MH9uV=CPurro|^Fck4c{Gnj@7=AlWDX$JI!Cs}slC~f5 zM-<f;NIOobp-8AV6i8coec?#j5xS(PfsjxBSR^Rsw4>{azwflKKb*F95BmC*w1>S; z_yS5KqV!TO{jnf|F%uuXjmUK&Vx&cdh)K`%o)%L(BHAh!gsAYImRA-pHVcC4jtW=A zSCDf|95b=EdCU@ARj`DKl_-e{ub_U)KSp^S1Yu0Xp9z2Xa#g%)x@x{^>9d?dw~l>G z&G?vFj6S;jVSg|j@c}n!Yh-vRprp+KCD>w3+s=nnSy9uLfYKL9n<Js2v{m)@Ux-jj zBoZ17Qzs;PKJ|562n{M7awyn;VMGZ9J7ncj2hcm9^hVZo2m4fC$B?Rol^`FJj`mAR z@KQ&>f4*aAByu4X+|<5dV@DX{vTn%Ndl9G(cbw=x(!tPud??&LG?KRW@b;+7QEMIk z!u<%wg$MT1*qXPS?%AaW?&66{Z|sQI-F2@>HMh@s+9$gw_Qx8gi{jSlOAm@lVpVUv z9N%-ds5bS?x`d~Z(qhBYee-MD<{WJk77D@$VlTzNkaBxt<uN7xg*kV_oTcFrsuFsQ zfy57Ez`uYWOAh!lS){Fd&^%@mg{W!3N$_%?s1OzP2{MLh!G=nujF`VJhKYTlKuB$| zswMcCHisi>T2NO~+|jQ@FprUFPFq<dZ5a$<@F+D*dkF?fT}D}LJuF?V#}8WE;WY?2 z7MtEKzh|%gYlk#nQggqgAyLvW(>1#}S+ah@nsS$nA5m+NH3ta<na%otMC3XeJ%D%q zqs{9g*)(Q~Pzm-#P5Qk5s<=ow^Cdxjc9Ap-oB35)t3uS_$yS!;h>B5h6m{`%jB2rK zm1n(xbZz~e5@cK9+P)?HJ8HWzXxVLVu^&r|Cq`=s-O>puJUlcMQX^7tXwV<*m%^b? zu*H-XkEG2f5AIb7*B=Y0Z?qcQlb%_TrM{3VF$fr4n%n8}W1&d*AXeib){G)|scJ}7 z%P7S<6!HfnY5Vb0>?4i1pKVU&z%Z8SV7Nbbz%4!auC}A-X8eUOAs81@cF)&FUmJ~` zx@%uHU%Yn0{GhmQrXg9pX3nuD<t)BdGg%XhCY%iz_iLS#o$<=M?p5z@nhF2Gw%PFS z?@pCf#?4bL@!qM9iG3+=#kH?YekHys>0LeNSUq3z%&hf$uA8oz=v?t;0$dsEeIqdE zsA1FRK(Dd$p&<_ZvH4Ss<%IcTQR^@Q+IS$%cw}Rg28<bGBnnZpK89n~U@0Ihk*8l6 zvt?$EY>F83B5Ktk$!7fw-Y>+&v){q~YL8l@_NZMp)2yly#vD=8YxUW)BEqOTYL~u{ zRhw*zBHvDY3wola{lZz)HRfbro%Hohrv)=qoy&qFMmz+A9vx2DLbJKgG=^<t%$3!4 zqvwE(+Q*zx7wU7;9!aenbG_-Y2oX2Iq6evfz)~>|vSk!on%?6v_abmHcg8$XH{g1x z<i-6srHV7ZN2y*n>yd}`(@Qz8n69vTqVCaZ>>B1?h6A+T9Yx-Y*h<3Uo9&_y6rX6H z^)s~3Cfj9uW`xdC8;e+*it^gXerL6@$Y^8H=W3%dZ!t5p848?ZPXKN-%%De3tw)*M z`7NaqMJU1Al__zx=&FaXqBccs170>*IYFdU|5<31^cLxF5p(v<S7g)@^-$kOF$2bm zqaL>qEgnVN#=M1~pg)_C=FFNePM$yNrP-uI$1KAPzKFS_nlYlzpdG($Y+jgT8&Yip z<$7x~@2FERFA8sNu}};D2xDKV=fDAI)8{)5Kd0{_EMpfAF6pT6ihs~Qsz}YjkUHoK zAlf3aO%MBQFrtEZYnM)6@Q0<o;b1QjeNwM4&^sLPMU=4QV=#~!3H7VKK`GQHMJ_0k zKR7fT(V#Tb_Uj8@lvJf3rCZt%83Z*Lmd>5)9gc+h`p%t`h7`3Io3U1&0Syp2q=X}q zFDOg0PrXR-A^#O6fTpOSK~|Aba~sPB$iAU4ZvySx3{W_P555Tdngd5Vuiz*_L(T_4 z7)j0R(Kf1#dZ5?NAn5rnUjP*)HE-OqrKR1)QaXox)NO{ZPM`^0r+TGGNE%W@y-GOT zo}G{PmuJ+wjI8*Kp7#~#mIQRO=7cU&(-<rowXEj?@FXcgIovLF`H@$Zd=jHI37O4- z(B(FXvY>Am2%iLsv_HTRlLdsL!QsL4C{4#DXwVBe4fpqBb|}2z=Ygz#H8c!NvEh&| z`2xd0%Wzncj)j5>gAfc!nS8(&RiGh@CPSz6f-z@MPR5KerkfN3Y8ZPVVb)=UFqe>H zm|Ct)fG6>A8C?eq!WF@9m%95Tw1G`LK<W2`C}ydcWqws3CZtg9Pl6*P7;{T&18Y)F zPZ-&)UQ&7@=ys=cf~au(H0A(sfi|7E08S`;AvClu;J>Iy;mAlpk$jl>#`@xOiBR<9 z)7~zDa|&bS_+(j;J3FOq?Hk+IYtv6vBExF1Q`!^cmGb7PO<4CTQPk=)2tJl6Mikb^ zzhJ>He({TbL<C_z^n8muZAU{;M<neux(sf_7wlIURiu%`AdFPnC(}0NN(A!_ybFdf zZSxHc;TI!<T1wPbmV?jpw2e<2(90N-bWskvRHB$vqLS0rfNuo6ka!_&@?S}d!L%9W z)22WuZMxu3Tf^9Il(Y>CB&<ZjM4#tliBsR6Y@DhGk?#Qh!k2-Eap99~f}=83vHbec zsiPpqD%RYuSf8j^f2$%{@$95?9tp>%j?e5*R<ukw=UtxheGf{jVz0j45chwpeYPQ4 z+WtuBw5|rR?x_UlqRjM8U!3!-oe)#*(m8kS&%DdyYu;_R=UtOpSsN2$Yrf%}uaO=K zV(F^bUi!2rcK#b(3ugTOTX*Tt%4_3&?<)7o+fp^s%$m97Eiv1CN$JF%2URQL`@T7V zaz(3Rrc^~`T#VOGTc^6GM3gOB_1GqqSH*nsH8Z8tEmMOt;Y8KiWLfLPKBJ(cs0Ibg ztKy~cjnkFi*paHKoe^j1Z&;^WWBZJT%vV&#&VREjeroE-H@i|bE0BaDb>H0fQN{9w zQowjz@wAF&%4SX`tC}AQ|AMtGi<`f>_Mu>MR!!_pc}rqtZw!A_Qn_Ho2kJGF<0ogz zl4XsB^DNi|PjRg5>)Yl%-fM>@54{z6yKAQ5TZfX>&-~QWjNwJ;`sptwDw-y`QdP@h zr{Y_tUY<B$;LTRFI%axMxh!55SEg%b`V!0Al9lTSl^BC>JeyixGqpEWSsicq#+Opd zS7J;{%CEboT=9*+Tl}yHg%|uHrpMz;qTnfsS!3a(d&Qh(1!w9&lp2pgl>f19DW)!L zIwXL7Gmlrv=BT9?Bp)MTJW;C=x5*Yp?A1|DQJ^p<Z&}o4<SkUrnkkoI9wT5E_!B`J z`9ox1HW4jbbz(w)kJ&#L1XBSBj;Q&yy3Ym0{3Mhh5%EqiAujy6@#o1RxGe8wh|A{~ zspuLg()*Zs6B|N3)^kIu;9ex3Eia#Ek$m>td~ZGv#>6@PZdTi@Q40~1dYvFBi$OA8 zTe_7XLmj-mdb=4>3PLnukh;-g9WF5?+2rO@ePhsBF9DssKPU93VuV3wxB+zb{(R8i zoFY;;xIYVzwmdv~v(l_lTMmv(qTbJpW9O1M_WlYu28mBI<S96Q8uX=b?Buw83XY!w zop2m2SprWwb~1BO`%+*$OFlQAbnFmxjwkKQ=Y(DuPdau8I-iT$m(K^C@RXTrU=OX? za}D@=+K!{GU>!4yu1c-{S@{b0N$W`_AKP(+0fW)a>~`2gwOw&ch#0IT7)BSw3p6J^ zY`-9C5)We@zl9^hMMM}AniBH}=5K`2Y1w4x;#?yrY6w)N%ZdzM30zh01yJf>+<bw6 z#*Ar<o<GRyA+kOk8U~MO(AJEY@AIo*3OO+1+^9Tf(zNnmu27c22!q)}7M7W@2j|WW z`epE*U;@HJO0U1qugGnZKSC@4@sO&btmB~3wjnSdoVY%Xwwyc1SVk14TF;$hb<!`j zf0%@dfOsJ^9FW0bN{~%*ek@E37zY^if$iMEniU!%o*E4wkw!wp;H`sHf1&E7^CRdW zxLMxX5n_k5KJb<u<;|3aLXh?YDEMU5=nIbMY&okOEEVcN!;DU|b~G#P{q1_km>Bfj zIq-~^!BA3bz}ZNQ*Hxh3!9ekkU~eJ{*aQZFvw^*kr7GbepqknT{2LI^_v|E&i42|y z$%<^?IJdsRVT|(yA9$-ksNWBU0Jww*z71kt%pGFySrfEzVa=Cz?vgOTMx2e2)-kEs z->2g)XZ$|{U(ec&InP_F@w99@aQ2w@3mvCnWXv>^E^v_upO!gAS-Tb~%IET;MbW)Q z3L=GgQcVz3pjOskhK)|l5E@5~jemK4n*;&JS=Mw~cU(A<vjntGXE3@H4Bn4IF!T{x z3WDCDTo_Mbe~)qgcLVk;rW#=UuUbq$i6?GxF<pR4#JNfoulg(n^%QKOU^@k*6i^|y z6F7TY%Gp~hLrL1odIhb3UrxI+_)NPpcu70-{-vF2|M?zXkVSc6JAEYpW>t~X)_&|c z!L;Q(<SA*<k21uB_n^;dml55N72g=94V`x4oQLzn4t=JoUq+@s#9w$8QonIwVK3N} zQl@(-zw2H(XIVMtUYWAH#=k<G*P(mfO*3l|+%n(wZkls!O0aOwyJ?=M?w)DB=iNO! zfZ+DNyWZV%j@=0s&Utr(S1YZ2>q~F<PMv-C!0eV=P07Y>$&&5k-49AC3Vlv(-+6oW zoAO)R-rhI0>)kc8<+Dn%e)GNJEg#6^2f@_2i^lh*JjLT(Da7^zdU1KIGg-9ip<uSw zgZp;4uel~&vF-5}r*__RNGV6rHP56c_T~7iQ?J}})TbPtYwk&RtUK<TI`W~TZo!UX z3m(DY9l!bjOySy@(L~LLWW`1>{iQVz1*fxkVo!>*kg1a8@wzEb{MDK6S>KH#x3=GY z@%uXyjk^=8pa1c`51c<bmRNl<QF8LJ*;G`FmKK#=J2H9X^A;+-c6jpeXDsv&RMSH* z+W5FefTUpC%s^tr`efyX3D<+lnt11|L;pEnx?-`u9Gu;A<It_;w>Nx$WukFcV)b)B zZn!h>qmIPt7ZW8fF4mXNRw%D8Pc6jyvOs-Vs1V9lJ`}9ZFN+51W0x_0qceMEm*3iO zbLDOO9r1lvqGfNQao>-_A9VicYNGKAiRv%h^L#OdY0R)*9T&lkzc|x^?zP>jzFqqL znneAMMD5NWo9`U@kvCC$JW+Do=pJin+&&{tyJlXTZMn7QX4~!RJEiZ}B-ZXrH0}T2 z<_`}2#G7dPVq)1BKlFTQ!A*^OTtahiQ@kco-jFPU7~)r&fS4^uCy&OPk{)Ti>jCuP zkQu~Zn)=Gj=|pu)(!F-hvX%=Euwadc^d9&vJ~|JAZ8427G;|uNW|TvO=_t(5Pl=4p z(DhWLxv)ebUbwgwdt8LY_9M0}qroT)4_~vvYjLVYuY)up@9Bi471}+mPFB-yJy+C9 zdbi-#ocantF5C*OK11hb)Mty@^cq-wcJ`a)qxt|XTPUN|2Q8rKyJlUW0YcZ}`@iS_ zBP>obIV<QMC@;b|{AFDztCLnt><@B8fu4cUoFHhSSQ#FaF5@V^!05ya3aK<0yex6G zO4c)Bl5i7XqPYB!4-fiqB;$_}Q8<M|unzHqOq6^?wnZc+AYWPu!CRX{Z%{3qYRJ?a z8jg^{hLT8P&FO_UO=|Ab)jT<8Of%~jbPKFgEu6&7sc2Av^$7@+lS<eJZ9DaZe<BQl zIBJ*nD}BD<02D=GhLjxmq%Iig^hF|S=egg6y-IsGDOTDuz}okA?|TV<=Xj-gg-<Dp z)Tt_co##OH_bNk?b$$K-k*->Hq!pB$)7oLA!c7=90ejSP<)#IPJq=^p#=8sgIO#vq zHjdw$c1{>r2!UxE?`7KIAM9bnly=D&U_BmGF863qoD^q(!!#eYF7VTvgz_{2R6kOR zFb^O75D^^Sl2B5~i~?SI=auPK65f{a7gD8_G2c{md^2{mt%=h5@k8@=Z>;mKy*A}8 zj}6>)OAnT>iVwdNosP~b-@AD8Vq*37+xxNM9Zam=mt4Mo;!p|#?9(%K(_g&nZA>j& z8GmuwK2tMS-8N<U*|OTW^3KKSi?dzdJ96_#V%4_Wo3S5nO|06RT()nbJLO##-w%28 z!Momu)Uvvn&9mZ-t#j3_F$>u@?3~;gx6E9c*qL;<&sp04we~cO>aX`S#=Kj6AAasV zElYoz*)sTE!53~X8TS$M{Oi3-Tf_gldzbn$?P6ysIFI1T%>{OB7%??~#5PO^l@4>Z zHd{=8k0_q`-RdA-ITl3_PjmWXBi2){SstC8y2Z#CPWwVMNR-=PTB6o5oX@9(%$Yx6 zC>p40{@{!zWl7$HdJNkkK(P)`oAMsD0pAOV_21L-!PdzBT4`ZRkf>d!As~XY4v?}j z@5!Mn4rd9>blR$5DG~){tTALU0=pglL@k^qlTAA1p}%t|C<oe0q+8wty2>HLc1bUT zRug73VmyuNLSJg~isI)}Tg9lQC0a$+C<R+3i&1BOt6I!H((WumPmv&Ph^e?2A+3}v zL&yU%3Dg75@&E~?7_7{mlua8kii<X>&q^e*0=;TzD2Iq42*0M5G=UEjC~$0Kj5{=u zre^u04Iv|ka}Y`9J&Fn<uoF^am=c8802;DNosKr>Ty95`p_2<yh}dj%r;Ik%+9sU$ zYF^*IrA<Q60-7B2=c1wv(InDD%DjPvj6n=I&5(_)FI*aiQ~g0cISC{Tx+OC0UZm9o zv3WzAwBa)W;}+ph0mUrGS^AP>ZA&pDDAispe--Q+Y@I=ba=Tdj5I4S0yI}Hc#K9P7 zarHN-&^cBJ+zm;-f-sqdg_xrD;45Tmt(1eomMJD7NIQ+8Pun@Y3~?7Y4t0o9MOb`{ zglQW$(5zWgn=!WPSCDWRM^xC3U|e{-P4HI10ORz`v&rJM;|Ejr;;%(ti^d{%?JH8n zl@sQL8o}coKlHd-fa$D%(jT|J;{unzf3_)Eyne!*a+h7({q^0cs@nTi&55e!WYyY< zgDG#-oVT7-`o&Yl@yqv0o}p~JCU<Fst-IktNo6b&-!pZ2ruy5pH)<2r?LTO^<@@vU z+h4x(>ie&JupznqXmaDRMAflm$#E{l=$`D3_0Nbi8{(JldDbjAc&n@etV(o1t8T1H zRCoMf)2&zkyy3S01M&U92YZs8$C8_lC#sGoOHLF5lyVo3AL3LraVq*l+yk~&@zI-z z<ebcgZ7=g;U_J~up9@>@n!x`H0~Q@<=B-H$n1Xtd9NZq2sl56OH9MKv`#Li8CYk-g zwu~hA+}4e66B09=1FHqIs6p^m%nVRd;E<w$+Y53lEoS*gYMwr*gTSzYvudaEP~sT& ziI+p_MJQW>OdZ7c5wib=DIQxRu&4?v3TaYcOhtqm@oPCuW;bIs=`1+6q?z9nCkF2y z-z7DZI_!;FcW`#`-e`N{Qe0?@nYm=Zi3W{f3#-M(7a1M#Y6S&k<f&FsKtx5DXeqvw z7$d2UQ3?ekw2WRr1k0#Oke->j^sTE2%gXWn6Acr?u|CZl9n<sFOw+g5-dH>P;*E8; zniBO}Z&&`X=KY#Gd)}}8penKb_*~VAr2EA=%ZpFp=I)^yNT@&)F@FJg(G;>g*D117 zl#`pc6v^f>bH)fHV}1TrF+(qc3KR;_jM)@ZUhV?4WOi;yg)D$c8)DuQwScnK)*6!u z{cUDGlLSGN36YH&tQeW`C+X>Q?OLzY=j)9?4aY4INw`85qohUSQ(%vgK~-Q<tCBJ+ zC~c59xszqf+6J9n<TCUF(t1X!Y{0=w_PM>#HtM7hUr$TUS?t2p-kkH9H<M3WRyUa( zYHfpAEOoOF{#%ipLb`zDmlyK<ieer~`iz2}Ftd@Q)!rNMg~LxS_j6L{Jb6^{{&8&) z4f|*vo#)yhGBqSrr_j@6#%g_w4eK)mH!9Z`$P$+Olbl0YeqhqksQM7V|AfxRw2ebk zU!jC`6wry8@%ZBFwu=%dn4on_$0>wAs{}`Jtn{l;)Kpv>og955I_FrCa(ZJMzK-K> z19^lji<iF<nse0t3`bTUWIkV+{t8(Mmb8BNrCZP5?)u@8_m3nty^vhjJ?A|%VIert z$tVuG=A^fE&e6)(G%7P5ZSISYBz(FqD8d<07T_l<o-zD4Ws7Wr$Dw7!4A(aADek5d zKBz>FD&Y&hE`7o532Hc|Ic|99@F{-o9B2+G#V<gM&gExqQp9(WgodP^Wb2A1VUTU% zx}IIP`lf}*vchf~iejQg$=i-hqJ5+vrXOs%K%j>DE<>Wh(%Tp`8eq-3;C$!`pX-JN z^=4hi9p;r~8CP#Jl5}M$1J}pow66|>dhwH$Jlr8+R)D^<bC24l5r<gO%-4@mipCE{ z%%St4AqI{8<dZVTJ&eYO9r<)#Ul&G%o8qyX0{o#YVI|PVCR&(=PWMf-Yxo_l&KsY0 zE#W&f&4`e|G;;_JH=7B^S}Y9Ir*3{GvXI1{gz?dr2-`0+RB0iE*3{Rm;4HdAxPCe3 zYhI?z&$DOGVh%ZaddNhgrzh>|>A~4O9H6+Trw3RKXesud9y!$8)1ywH&FXJcKrAj_ zJikRT3T{xZRw44b@QKN0bu5%vtnO5$v|z@2!D4dR9$OLPMX5k9kZL@6bXDO~3}3Z1 zVw6K9V@6r%q$(`iD0u!DS`?f^G}d@<4vD@a`m%x)9iAH*PG)I_S7s%0c5?nnQL#-* zdR*TTC774PhJ<a8eChgi@414i0Z<=LE@$291cHCf$U|c)GiM0x51KU$sabTT0T<l2 zOQ(oHWJV@oVjIK$^JGUKW~&5MVujH{&Zr7-HU`5CH9BRe^|&z6g<aff6v^U`oTqg- zY0J^BQ!lXj2D*%G<qjQJY%|Yw4z%$!^(~Cp_h}kJ$Hw<?Xf1b7?j~h5l-F-{k?HyU zisnQ`^KA3|wVjEzowv6n*Y3Hq?UC8!u`LKDtBr5V+0%>&8cbCv1Mzh+WuQiWE#kHZ z;SQQb5BbCnka{ui$vAM1nP5w6&N%bQ<}7<)1CDIbg@CYkOETr62?Ue{&TxQSBkUKh z!FstLj;_pA4}wBCX+exPWg=I-G256m3#v_T9h^?Fvem|@xzGZM7^1$c))_2_4nu## zJ?d!2F1C<>FG5Bi>=_{PI`7H2QAKSTdsx{{cC{o}4F5~Dat79#4hGdxs9(Tu9cpv} zCx$37(^R;?u@+@|jW4FC6SlF)L=roCk2&6Kun2E{2)ji?hzGmBEEQ-kJgR$5W7f;$ zGWNQ@;dIe1OsYa!Z~SOB97pnf#bDGG@WY(W2XCAp9AJWqk6VjrhCC$AV_-5KV_AnK z5_=h`h4RBeKP_e#mbxV4+)@4KhnYJXPSlL~p|(G0n}Md+WNln}TZAH(^($v%<laiz zTNC#$A_pTz)5EVS2;)8KgvR9I00tomcHsO7Yb~|dcqkw9N+QnIAM6bblT1@<uMZmD zk+5HP8Y{d}sf`#rZqq~?0yAgg^y)_X$t<48&Z(t{n>cNvubU}ghE2?-iMAqj8-lcx zZH}Q(AWX-)Jlw0`t_J3S6;jh?2xPe>6nsDp`3^aGs=Fy*?mOc7w5g{rZDn%+<VQpq zQuk2mO9%=|b{smU)qjsH{~hxxyc_`tk1F_-7|zqFlFI8vQ$=wlS<(p48*G=}NpIYe zbkvUTNiiRtqO#bAw|e2Z(iiVd7S%r#Jk};y1+7{=Bf@&beB)p|_|uY2anpY?eWPry zWYdHd0o`OU{6=TI6k?z!oJBtLH2<uk_I^cUqN4HLFMa!!8?W5jlC0Q%yX#K<``w9( zt`8a#<wqy>e^g$rd4RmV`CaQw?;p65D_TD+X`8QD1}RZ@OeB44_*<|jGL<&P_M|GR zuOFH^1XH5@(<ApPT2jlF$M?j2(6=hnFHC!;_IzSRzJ*G(9;Q9n9wa}1xLhdR9QFWB ze^G7U-)8%Z)fR*~L<%wd>?HUNb`oS=kC7|<!DSU=q<SGC4^5oBhYNXVUx4K@LhNS5 z5*NzJ4K66Bjqf8_%(e+-3aE2*78*NNLB)<bQuuozSa8xd81+I5AXqL7g%m(hm%bkw zt#N10f~YfMsC)Eub$ym9#c;8e%_P(a7Z*(9mnT%fV}#@~c~8bo7mmH~fq`4Nv3n2D z6%u(*VO+vd-qDBMTt92cfm~e~^$e`YD~_LNM*-2tRhQmFD2zM<wFS!I9Ee(SR5%`x zowm`RvMp_ojNOehH2MZkEZUNi2QJmf*<f{f*<KD#Gb_P{$amA6yrlPmpCvf~a~%-3 zId1l8N(lC|1p>kShGhw)CC$w2Qg=dKWK(5ZDf5xUS`t)pojKOxWzsiJ4A#@<ItoZ` zt<sWIU!{O%4fBlT=Ax_VC(TbaM1e}dFam7HL^7%*xJz58Cxyg!St0|8a%U>Mf}dfc zb&R8gBHUO6E}5hpQ-2@HKcnqbVB0A+lPAS|*j~0=@0{v{N#w4CN1EA^@HE4|5;wSH zJ{L(d&nAjm#t%I3l*Km3E8nS^u1R_tkqviSjD2;C#0F!NWB0vv32)tm<w4o1`(>?( zvew!Cx0>#6+?&|A_s-_z#ut)h-4pf)Zg@<-{n9;m!*|PPUwW_R)~nxH{pb7cSpV$M z2X%jXJXNuR@3u29B`aDdyXMQPP{ifE)-u@=>!MwArgGLc<GodxbZs5q_mRDrY(9%8 zi({9sU!A%-Yq{rGm$KNu*8N)dgc6hE`(iKOv(#n8<eEA=Pm@igF55C!Vc6+z40aa~ zHb>|!GwyX(?JfmNP{e&+<}oW$GY)n6sZ<s>F=%djR%{Z09p+_mQxMyBQEmPsTNpWp z7A=~?xU&ILN;|fMd=U7}p@3v$&}19QHc7j?NNxrZx!F6D8}J>_Co>p$^LjCrv1yCi zS263W3k0Q$wnE&iq?N)A6k544Pf%j%kaFQh3*4Ncl|;*Oa*^8&tC4->b-S3oqDSwK zo&ydk)F&(J9eRzs9<)B_(D{uFIF_jYl%p6fX7tBhS#V1OeeJW1d4U;P=y?y>F+{!J zHEzGamgn%*;5=iy-pMDd07+|2qIq~OETXp7Q~5T@z<f4^b)HTG!Y?N8C90Q^meOJ6 z5_ZXbzER)#P;hDL792Iv?0SoH_SIi&xoIyod^r^O*~4s+sjGbYIp^b79uWNwwt_TI zy3U%jK)Pm%4KabsJWN+bzD^KGo<@0oYC&b?gRG?&#RK{U7<6|8yGUVu`}z$eRV)CF z{5rJDBXHCaJO~<?9i;&mXC7U^z)n={+{?6vV*A(~ZsY}&Bg%%Jf|2ILl|fOSGe-<9 zZmt5K&2N&u>Rv}UeP4p-OP031a5tzK9422u1cN&v!8gZ%O6b-|0*HeZY0LU1puMjE zS_mEqS5bg8?@TwyMYi|^OHkZjp_gWvm|&IVDu^Khhdz+Tzg^e)Q>!wUbm(GStV=Zr z#Z9xn9X750#oD%Lmq?qbHJnvIH-TusGm3p`PVPf9koPYiU);Ks$<MLgIdr(S5nP~R z5!7)}G|^7Y8=ltdERpphkT^QpBwU-;ZXjjx5zTaeF?fV^t?~IoTe$0_IasWp5JNzn zqu(EcG0dMMyghs(=}2KMTg<lN4{(O`^K)c@Tg`FTBO)f5!x8S7Gefb^V&a6P58t($ zGWZ7>AJT9t!nUK*6=G?(vDSL7Wd9gRdswa>P8z430bFa+Lz{QnYeY3WV-J^o=vK!x zv$&}-08(5xL1sVLErbph1xA>*_$e1{nEU(@_4{b3nJAn$7^%5%LKLJHQYRmdt(bQg z$6D{X8)wQ9q^g!rxIvKReW5%}_uRGd1_WTHC#>+xfg4NLJBOwZ&Ad8&G*Qt42cj*1 z()s<)+rIDbO0+&dSH5Tb2wZJ&hZ;HkY?v&HduCpo_RiKNmbE4vt(rjf$%F-~xzsk^ zjS8xz8F4Bw^X1uBZ@iMI+Aw|`;J~wsQ(L+DbE3SFRpF?Px81d`nXg<$o<tL_R24)D zQ-Mi$%DF6l<gT-MzOs({1tluiXC(t%)#{ugGgQxn8wsVg@KW;5Y=>Tb=dHDghMjlZ ziTcBdlEdRLqFxc-GkH~WUs;i;r?k4m3Gd<Y7v^!}$d#Gpvu6@@TW>GBbC@*n?i1tt z0TFU!W?&ufn{6Z$>y9}~2bUCMOpJ%f9Q=uoP9wr3#o4J^w#-GEg$zInapCW2P)Hdu z`YKx?2Lk?Viz>QPhI}<49c!k|5{HVhp!kYf{Pv_ifYOei!VDWO8|C79oI47)Wa5%~ z`knS3IMRKh=k)OtJ$sLzK7IV?O_4EQVQRC+Gg+t#^-u7D<R*`Z2ZjKun2-wL{M%dJ z**(4c{)*1Tiq52a$DC!yQxMyTvWp=$bGsf8Wg7Lfj>7_uki*U)PCWoOh7faUS`L&T zm47ON*d;(MB6nZ>W3({4^G>5O^-qy>ffh0`raA`5_^CYUuAQ^gKG|<WD@IDUY-^*8 z-3DFB3H1U^Jv{nUVV*Y@{w+J?0u`0i6a+i($tWRU*-D!#dmyMbuJi<EEu*~*v)vrA z%|WFfs#mzBfE@UY;$Qz~z$p{1l9)9uZh$(UB&b}fT1T-K3YetS#Cd&^kLGA$ZM+io zzfw*@`YuFZk5eqTy>AZVTAKR!`J}fl>8gj{<LbtDMyE$-Pu*R;eqzhD9g{n>du0y% zK)$`@PDAq919O%GPY%!j=k?C#?*$lcj*`a;TkVVh!<1(9%V+SZ9`w^4oKKz3P(=S{ zLK>5-`~Wd+jUVYcaJuJY_rVuVtND}M#=)w0kb4ZsR&Nu48U#6-bg+tie<V>2E(OQb z#kHnjG)Eyh!-bTHc~L$iSA~{K+xwu;0?TjcvxvzzjUr9cXIXMgnILA+rEaIt0;X9p zL$hKX{R=jAPcrE{o3R<YvGabI_kebl6f$JszU95J5DF@RrMC%eg)lz=d5}ZM6Ucn? zG*%4;jM>Cys^b-bB3!p^3Go>z96lyVBiBScgBa)?rf^^jLNk4_P(><JAdq%|DG>4u zU(!ya+3Jsx=WDb~4j_WP2|k#xb%{l$woUfLUriKAbMCtF{SRvEXEuH7%uij-adBe9 zMC6TabFSv`eF!wqN`4#D&mWovcT1S|pMUGwj2o2@(H~<DyoE2<LC)ojw;@M|)(!SL zOqe5*ct<V6eZ$%&r-Pz*#%vAx#+t%;Fw5B7(&rL#c0dzHEnyEfxNO5S^XLz=H#nkF z85O8 NLaV4x%aBl@JRR}=I&hl$aEnB60)Qtlt918fJm>ouWSOVyEfKg@8am604 z(lf652q>2zhvj-KI*ts*e&G|FE2?M*h4!4yjO~c?{gPXm;6&G3&t?YKAklyk>%&Ez z4!zat|HSvVXmT7ygiQ|e7JmSp(55%eJQOTeiLPh!OpJVem!{~6z4|*xwF|=FZu{cY z<qtip7o5oW*p;Jo$=y@6wa)hlY7AN1sQ(5LW_5Ct@AYu^3-%1*ss|-!!!K5F&3O;A zD`14mPf+YXP@`#_aaZt><E%2A(|?H%y?R~x8*@v1^kkjt|3c>MdQ^hTf|~@KPElZl zu8VuJFSJS--2aF+e9g5O;qo4`(E|-ZK~b5WK4!xFHfAj^Lt*CjutFM$LV6pJN@zSi z*f&YO&Yl6<TJoNPdi$rBD9ZzZpG(wH@wrQo5pLeIL>&cmK1-CK<16o3qQuI)?D#30 z-nJJSv&_B)b687EeC-FgK6xj`pDd{Io`Jf&5BP}_PMf(=p(k_uSmE;Z1<DIO#yGLd zrk`2|4B15$`o^GmmARA^+KG)>YXAK6F>1er+r`v%(O;tME{Npe9JS`jKH}o_RZ;r@ z(TaJG-qyn9WD6ae!R<0`F<S&~>(k*5wB}WapG(wfr8;FB&b?WzN+<^ws~dJaWwIUl zz99%-cNNYRb&#q9S0LjI<qveOL>;h4U;FB^2%Qn^8Q7@DGVe(j?$*laKApisIq){? zISqJ~5jt$xGvVqJ@!znZ{C=b7`izA}wrQ!F2gq(B@6j<RLmi?sJW!aBYg~cRk2(mW zZ@vY)oA1!&<YCiQ>nULbS2KjkNS;o_yhn#mxmw&l2ewFduy^-mEMqS)(^#qNOWg;g z<EkI7R{Z|lh_4^!DJ1^{UEqURIfQ~_%|=I2hBac~e7%s{(Vb0!5iSwqehMrXXnO;s z?2Gu8CM}Fwawt#zgzS{|!r(;l1>2#-7=gQnypGw>=w`jV5S{tx<hgUF)nVn_IW!%- zT%Laz=n<HQva7pbL$i*Zzr6Y9&e2`OuqH+pPLJs1i2?Tjd_X8ivnD^M>z^ffLouh2 zCCtRL!7}_2RPt71t<<~EuHlln4V26-9iy=TM;fNfiF0yM-DE_riGB^3oLXZJYmnCG z_Jq;eEp~pZ(G2DdQ(J#bhw;ZY3WyF+{~Lm1X$uh|qm?Ipm+59|sGl(bMursl8Tk7k zmni+x(IcI>Yq{Mght4bQR|bdDW&}v7iTL~aI<scguKMPe*RR`twxxcwZD)Ssb6VQY zjwe!7Iz$W#2XTSg2<s&A(FH_)S3C?_gQ$_S*c->h48K*#24%7!&7rRqnS=wNap?Iy z@wy1wy43;)m_IUK7QvR#8F~!=xr0f?f5;LZK94JngT3$&qEGGX)8eHxT;cG)(7?Nc zfJo9fqdh-$?(A2BP_?Vijn?JTb?rL?AxOHy&$Sy_=CM%2Yf=24|Bvv`;{r^9)~-r* z9eCIDZQBjo%;j(Y=8fM>KC|_9`EB2Q>G@C0Nc}nEO@6CmqsVE(T3oS=|1l>`rrT6q z+Kh+_b`<sldwq~{xwA$k!x*bSq#Ul3$4~D$-PN;U+j{lC&<E$~lY5SxI)VS%!bsb= zb$!~!K7XO>B)&VfGTYbVCgwrTZ}(DJD;F|b{K39Z+8zm=AHmJ+Y4Zi;3b%eB;hB1m zf)6PurQoL&Tt(30=E4vnaPeQ_kex^m>yA5XUr}XBEzy^RBKNS2X&1vYi>nFBV!o)1 zq^(TTrGA7DVK)M-J?(j(+kgKA9~n9PJsO1$1Q>#aWrEf9wL`BRdi_YMwCZ~8RP8rc zj~_~vt-Rho)&A}>^6a}`*O{p6yuBw`_T2d4pWy-vhyw4s*CyO+ALu`t67DABM@~v( z!rf@3<YdeFLD@d>I*M)oR3g}2uk}u}CT&#<r2_2H%i!LTurL3}U7o65dHu@NmHX8# zxDaS|O|p8!MAw@yq-s{b(>&e$&bsM!6J5V^cpeg>tJ7C!FC|w$JLg&X(W*65FU_^> zoNmvh^Uq_+X)8SZlOX1wpFnrAI{-EAqljqCc^sk8Sh+Y^=Tb0r-qZ)LpZoz>H; z6W-?3+V=0Y-E4cWJ?6UZg~Zx+7aozN&9jHTcl_q@MCp#yj@>`p`Tov7d+z>@qlq0y zlRJ*{jC0b~M9H>P^`?h{w`fbuOqWWpeWzo(<8FD&g2~)i^-w6P+!D9Ly`Zl3+uj@A zTjqqcIc|NhqG?9??x}k#Hauut^X&sS4$N-7wfD9)+4$Ua*Mr(;X06{HzE`{DL1W7! zwuTPTMNVs1;YZV|>8{5Pq3Ic3=zGuId@k9#<MydLxOVJ?cvq@pbKLcg7YYLN-DPc` ztU%=pR<!IBT%ocoRo*b?X&@nb$tPB!xGKk^#_i=R(88>BKCOiBf)vg6V`y)0KdXKn zlWcVPV%`mB;i)Gf$EPb`tBTTvVGx0<vgJe2)CB~(hu<W9APM3q^gQsh003U6N-2<s zVO9&rjvZ+6@b$&=cT)Zp%u~x~G5giV-M7xFJ19pDZ;k#xcQM$=Pe&$`&U{+dP3x3j zx}ztMtP+>g;pk>v*P4-a(cZ^wx${flS*qHNBA-@r1Y{wKq3;mV)PJDhFy*R$3Yzp5 z9HHFLQb0UEj~z2&41)|ejx3DO2KK2pt8#`%+HQFHOsQ-<QYrPHD9GfL=;uFDa0$Vu z<s4=%b~DhxnjlxsV3LGAztZfczJ~O)l>y|=VXUheklA^^Nw9v4f>)k|%A^xHRTI^z zKBOQ6&cyYUteM%MSu<%Ssy8V3B)8O3So%ZC{&NZlOX@%8mga&UJ~=Wi(R^Cj4E_-n z$m_WH@i@Nbbm)H+$d(P}FOfc4r2ThvFB1vL7f;$klRO6$%UY~wWmIAILd%D$KBB5w z;|ZZHE##!sHw=#`I4P-SO8h+v;uO%KnD#<$OD5rTCu_U!d@s9jGHnC>1$tX0a!n;t zh+js@gs4O+v6G%3>m=IXrik?vBc6%<2M6qCM;zydvrO8q-HOG%`~#GcT<EzMa2LgB z&ZHfCyN`4q>)LaYd8aTlY-T*j)VfS5#`Hp5PjQEe{g?t0xp7g`Z&QruC{7tUc5*MR z=TykGLB`?G-2hDBe=QKje^?`k4Sy$;{FUJSE5Z5KLgU{Eo0G!kzZY5)LhB=sLu`Ch zWfe;wmAJ(f3(Z1nTdHMUYIOt7x&`-HQCyjFS1p(+GVgh2!AcSA+C|SS*jdyexN8@j zEb4+PmluJi*H-$dh<$y*EOcy2RaHX|4Lj@wuPlnK3?xP7-O>Wg`ovZ`2yi_li#h~X z+k%rtT|#Naf}2G>6fI)WV!>O+0YM^-ib~nn6K3JLed7IHM-#h_-rx07V%JLx=9OXx ztBc;N*74t4JK1~QTJp$>?+ee1zg)TfBK}{5`(^csvikdFYZGN_Q|mXUnmQKTt)iDz ziub&0`GOU1!dS_Ionp9(pnbtfF_%!%z;bKo!nen-h#v8zxF8AJcHQ54FtPRE{jJ9n zTaPc8tHd@2l-^Pk|Gi-|d$XS4`{Rv8qC0lsF|I3fFRXzwpIdg`uUMC;Shrv=6>SUx z-t)z^3s$_*EMSsS&@3R*iP+=jl^Ef@qR_M^)!edRU#ay5?|BRnP)5CRuVE=#G5Yo- zI?AgUI=&=|>siGVVF;m!h7lG8N=g@;EXr}hqI?cf^wA}gUEKMo!Y;0QRN)X0ijS(; zZ<o08aZNE=TQ8VgY2o-IGu|nIj0#My`Db^4su!zR)%0%Kv_QXst%p{;S>^>3Vi<^> Od&GYfc8DcxN&P>c0qMj5 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImagePalette.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImagePalette.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..748304ce83ee7a631e3245d938828c8e7a28063f GIT binary patch literal 12386 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImagePath.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImagePath.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..20b1a2fa6196596cddb915e4678495491957f494 GIT binary patch literal 357 zcmYLDF>1p=5Ztq**f@5Ybg2TVRM<z7Hl&Uq1a$#7LiVjKDbk%dodj}YT=@xkL*9}f zs0xG>CXK<Qag{q8<1Kb(ci5fz?DxB%>-TjN7X;wj499962-!Yq@(v6bNg*R6LV&fH zm9{c#WD!6s=^Rf^nC$<aX2V8jwe31<LtWCGhnx!)s#x%1t-a08@v?A+FK)Z(2Envc zrNkhRmKGb3jsbfjBsO*)s;IGj-9KQf_plq&NMuNv;IpVk!70Ov`cfn~Q3H=pWk_?0 z1@eO>9ahLIn#N<A*D4bHet3IFi&)_x4<~OrML~V<neGD_pJ86_IuDs(Wr~mTLR*^5 g#g%RwixBd64dmtrF2CBn)qFW$EtZR=Eqhx22LzQ{RsaA1 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageQt.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageQt.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f179edd91ae34637f3134d85ea311feafa5954e2 GIT binary patch literal 8034 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 IZDb(-U#^uW&j0`b literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageSequence.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageSequence.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0e5642fa9ecad739fdadf7a48c7ca5f60b79f0f4 GIT binary patch literal 3424 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageShow.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageShow.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..296b5325150f6f67a88eb0da031b8851d9d8e89f GIT binary patch literal 13885 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageStat.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageStat.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2718a63a97d72850300a9015b10e50e578fdf417 GIT binary patch literal 7574 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 QXjytgB%y78;%A2b4|9aBX8-^I literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageText.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageText.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9f1b8a6a0cf0664fcfa27390719a9a908f7ed6ca GIT binary patch literal 20255 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 In&IL90!gz!b^rhX literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageTk.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageTk.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..091b858daec97a4504788cb3f10a7f153ebeb2b5 GIT binary patch literal 9385 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageTransform.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageTransform.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6794c613143584c0384d84bcb9f5f90bca8a6ace GIT binary patch literal 5390 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 XdWA{tz^!tRq3RtNrS_K$l~Uoq52kK` literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageWin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImageWin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96ea6ff60782144a7601e12d9a3823602d60f40e GIT binary patch literal 11870 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec4e2023d59f2070015bdb3d79e9d914c1f32ff6 GIT binary patch literal 2556 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c093ba173c9a8ab586587de03681ef495fdae59 GIT binary patch literal 8292 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 Xj}ZezL0_{$VqlFv{*1<etXuvUG+W5Q literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..91ab79bd8b26ad1834ac260722d316843f8d275d GIT binary patch literal 18557 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 TM#XEuqe`@Q;&bi=HWL32Riuy| literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8efe7786bbfaecda46d052cec2267fa8e90d210d GIT binary patch literal 33555 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 S{2q5=Aw`DuA97n5b^bqlMXmn; literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/JpegPresets.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/JpegPresets.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b5a9159287f9baa73ccfee9d47830f140ffd1629 GIT binary patch literal 8136 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..faf114366f3c97489689a7cbb5c929c74bf6b504 GIT binary patch literal 2234 zcmZ`)O-vg{6rR~X8~?=EV5da5a)79DqF{wINtIS@NFm4-fi&bta#dLy&l>F5yUy$y zumuvTaxhUU%%ySK9%xUXR7#FH_E@PGBU)jtazM(VvU)*+UUKT2^$!HKBkjC5-<x^w z&HLH;-R*WD7=Pc}P2I5}^oA{3Lu@d3?>k_gB7z9cpe&AI%y=%t#W=zfA;V{dn2;4? zBH(r+J`!RQhsF?*9wA~=#I$9hrL;kx^9>raaYzx;o$pH7O0lJV|Ai`2>nuhEF5FRP zo5I+1%BrdvvXRnMeWH#T$eCg^D^DwChefWZGD?C8T7&rjAKn`P<|$f0>BG|IE`pyo z(J9b4q1#)h5fZ?xLpNk<=yNG!23AszD#_Hm&Q65hrXw?2R*4Wzot`Nuni?U>Y~&`@ z(n`WO7gdu~j=+9hQ5$YY24@v@Hj+u*kK_u*jHX@~JU<lCQ-*RbCnp}jMfAwc=y>Et zB1&Z4y3)-|embQN<_e}QE+-O7&Y(^(-2<QA4bu{;IlbG?-c4t3HF$N)Ib0Qn_W(x; zHnj%VVDMfqFi(+!VwfPvEspVoiwQ&|Jmgd?2w}<e9J0;=YDzagkB$sa6+0V(kW3Xh zlsp=07PUsG!I%~5mhnS$iTeV5gCPxvuojzU$vQF)QnQGSX0al)&`uaVW<W_d#sNz3 zgUbj}H{ljJqoXb7T4@Fkz=wESAK|C5;co3qA8T<3ln9``8N{FQJUiX4l0|-jCn8G- zksh1|yCSj8<3(XnR6l4->`h5WQ*xp$aWo~)MS-~BjGMUs*J}an9^8i~$Cy>n<Y6?) zfwbL-fOa;eUPg=XElPk|E1<2jmghx?1z<jFC-By8n{gZtStI>ki#wpCi*!RKPaGgE zj-6hR7Q_V`k&^s#p@C1csI_BTKw<wx9YGrvk3(07WHofOyeJEJQ8;<&!&IHsJY|YZ zJYKhOG5YcOOV{cRELw!+g`sQ3p1i8(b2*I~3TY`!YBVbwbrzaBi(b8tO&&HecTAqj zb79W1W=&y_$t8290A)_BW;6MWqMFXB0<`h`D5V-TyI2#%iJ~WHDraak4mwOpH)uX# zm{MM4?QD9EY%;}oRwD`!Jylew#Egsa+pNa~hM0l@eAo^vC6hF<Zt_`u+Qf6FV4bsp z5sQ(uWKvha5Ex8>6RZ|P%|Y2cL9Lck)S~}LFArMqDcGT3fzU6Z9Z%QF-11!2(^s|k z!Mx+@Tp3#)TNz&-uXJs>f+hUg6DU7?Qv7jh&HKaMHU0aqYreCk&tLn3mBf~>uj=aC z=^rQwf7nB{fm7A~;a{W|?hW_L<STjW^i^0_?ZZskTY0!EA(y*!Yx!b%`0<rmFjRGg zN+YY6Ywlwux_qZBKaSOc169|+5pbs~P#UQPg3Dt&zH{#y_V<*8CytswP^PPQD#I1| z*+}^-2JLu#<)Kx7#akJA=3fn#q}pL%&AT@AlmA(8-Mc=t;os~T-1H8Xq<smw11pou zla<l6OY0*qq8ri8{);bXf3^J<sD62?`q|W$>-H|s`5h(U+Yai27*4?ZBT>c3Q`HnE zG*yAWr#&85<*X8qn~pfkc0R*+S3LeOFK3z(sZo)puR+^o1P>b>0=*l^Qg3CFvJ$nX zlPqiO!F+^jZvWEtTF=?45ZD(^ijKy1wlgeHR^q03zhEdjy})?kzNTfu4(3oY56*%^ zl>KWd>jM-1SBz)HXcfC<%XCv^I;9&5wF-uQ#H3f)#O`f5_SXJM<9eUctAMfhP#=Y9 zm&X|YGk|da8|3~Ay}u`6d=2k+p2CiDYC90#421U)EOzf=gu9o-ZPc}iy2_K=-Dftt P&#X_ry7wm<waokrTuu-A literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MicImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MicImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c0a3e56185cd4d4ec7bebd44ff50e942e0b2ec8a GIT binary patch literal 3719 zcmc&$OKcm*8J^h(wS0*ZNtx8cF)d4#D9NH7#eKl36I+TErGB9@YLuz5pt(zFspT#^ zyLv`01j9h3z=GsMAPFd7A7%K^9Ftp%^wx_QDIl@%K|l%=MlY)6w1!)t{b$M5D@@Q^ z2iTc^{+a*Z`M>`$^Jl-`gP{HG){fEv)Yo+4G`>vW-3=gCkc1?xq8v_QOld}Cl8nSk zoXY07B$wlpJn-ETf1gXb7&M3^*L@__$b7ceQMf-oWy^F@V35pZgZnEEB@5ZGL+_8W zAiEq{jBMFs`>PIBT~-pFGUXi@O*3)Nb2^D*%bU_P-AtK^t{K;!W6ESKekhk3k*&Z@ zC6lqq8|wIoqNVAw)2I#b;oWzESV6NWdvLX~%dGqpp)6Nn9T=WgB!<xwd@ase9>Yu# z)0kAuQL9E*<&2`r7Jv2P;7~uD)RiZ|nKGzQ?Da@uRL{u?N!Lb3r)6DBNb*GD2GO%} z+B`j^Wk@Ok`wdwu+m`5^khO_~s@zHBr_E7a>+3!HX2MWR`E)*&9s_HQ#EqdViK|Nb zfWf`_X{$y|rPFfWB-D{D@EH;4=1|F7U-Y&Vye+@G_2~B6?M-j@2G_j{ODIh{r&U~y zcW(gaw*Zukl2}3zJUGcpOp=q>BoBeZ(ZG>Bb^z5#UI-s9DM;>ll)+NXeP7Zo`D|JM z+B1))aMC-B;(p8LocJ;Yi@iG3KNAHO(G5Lg#%x<+{dz918#1|k$bl|6knO-;aMB8L zBXiGz**&*8W+3X|?{VQQ5-XP4JE`s?E$ctRfa%i;YXB{=X=VhancM9M-DPJ183{EZ z@&-_BBkalszAY_rP5==Pm7x11eykHA!pyP{nFk#lXasFY6dY-=qRyfBN5e0<?lPv= z;mk6Q=6irX$h(~tv%#UNYjWg3W?vi1R!LKd85^KjiM|6Gs~|kbe1PuZ>ga>?9;&e8 zxT9%*lvw9PkoM>lGWU>ZLnL$;OSrn-v-lo(;4c0Rp2U-Aiv1;;#AycGcuu0YaBb!! zl#N(Qi$TQ2Xri8vDcVFzRixPUEAQDHLaiY*lxDczi~U1{meeY8njTYVy@^4x5=Azi z{|8z;Kxl2Y+}Bl^hW5~Pi^=3I7RrKEbA9+dLUdwzho>RGr^=HWRWVFSA(kL(Qn`q@ zY`uoXLpjJncBryuxkXL1r-tQK3^Ap_9#fXAdhuW;i6Z=rGh}%z&e2iLSQr%Kj1h~= zr_51<+7^RGr~@os)bp}76FjJ**XG4x*?0}z9NG~$ch|GX8^uUxA=0@X{(a<0WHWMh ze&E6TJ7Ls#{E@IG6r-JmXy<0M>mNK9@od+HOM%ex#pO#2Q>z1y>(>U0Ej@*np7mdB zwY>FN__NgKkv|N6`IDc$;E})n1q%}M+yn1U9jXg2ef051rQo^w{%67CtLe>P>xQp& zyCDMWo@b3Mt2ZBgxc1>@V;ttSrREclF05TxzgTEKJ<n|k(d|HJX>wt5Bhb1bv_fAB zM^^?P4#Hk{N$@SX7u?Gy7k#f@_My7S3&gm)4*h5yZ}{T>+Tnr!?-#XjCWFT1y|(^7 z^hc&^Ajo~u=N<^KU%XvA;9>vd;ek#ctT(id*mdbkAinEjnZ-_A8+e-5rh^(lj<#7$ zE5co-dhTRv>`jNd{k(_F+RH`Lek9P1*}Yud7pqp8W|4C`45t8Hds#P)2&Ln0%PZ38 z64Rq{dW_I}h0uG&^3XssOd_XpgjNkgOR44GyNPKokPf;)QH`_YltWtrO+yU=-JlRU zu}NBCGE;vjGU=Z`0JiaS=-?^~go=R^g}{l&{8r!xC10=<imaS}cz$)f5Ne+nO2K0* zoew*U!S+J1{qg8#FaeQJ^A{mf6xs_ydr{~v2;J)gTf*7xhNgLL(L-plK6Ka6o5l8N z6A-pfVLaM~E7;(&Y1lTceBGC`j5B3bJz@%F-2_brb&YMx(#*olhS2!!Lr_%gLwpRx zC-}RLk)`{NH0PoMcUHXyzhB1OyABs17#5)n?(1^`f+Hv4pBA51=}m2i0&k4xWfEs> z9H4HAX*FdSqG-@qkImVbkTXCZsXMlcTfjFup?d|Ol#_NTun^c18tF_}5SD5eY9ZI3 z3I2te1^;58I$n?@c=!K^7bNdueKovz8!y{@8!d7cY_$YYl&2I^6f22gaVaulkT)q9 z)U7cGwzpt1({Ly$9MNCV&0Wy_FUS>y=vP9MjUBw3T|_p=iDq%vbWM(Pb{t!*0@vCP zK_B@Mbl^^#{xPLFat;Q|rQe~?)&rY-)DoJ?qG)+UF{ex8Dy4m*`0MeMT3K;rbOM)` z6)caUBpYd><mp@9ItkGNkpyt0)p0|akl{iTQyEhxqN=APMH?ws5n3HcFYRa~5sHiD zuY_6}atoluW&CIkzgrGE@CYKbYlF||gYMORRPqPsE|(hnHn?M@&eI!Q`!08aZ`i$r z1-^MVjQOT-Tr3~`r-$X6|Bj%uL9?~M^B||B0S%hN7Jp~jlnomUi@T%iYTQRL$czKD zfB~U?EWZtq{i3idr2RT4-E@hb%kmR>1fBz6Ev={Ir<51m<H=Jd6j^}j2`Zn0UgEEX zx63$RAn(JJnrqNl*kLio-?Slo>T6W{SJbxa!?@>V-Fe)+{7x}+rVu*w62WBW5`%Df wjxVB60fm;Y6vG{baL0Pfr;}Ugooy7QE71aquC^2#dkT#`>zS|6Is5Pb1!A)J&j0`b literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8eb4e5b8e15ba9e83dbe00280a0e2d5d7f7d60ef GIT binary patch literal 3636 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..36bb191c93463ca7e62a332fc31b98403b32573f GIT binary patch literal 8885 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 AR{#J2 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MspImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/MspImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ad119d66b36f8cbf350ba3568ee739ed72531c1b GIT binary patch literal 6004 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PSDraw.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PSDraw.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f670d5c4dc1c819e157ed639d8182ef8ecea67a9 GIT binary patch literal 7957 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 HG1~tFIiP}J literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PaletteFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PaletteFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b9f1601efc21ce57bfeb4ca791c8990803914961 GIT binary patch literal 1939 zcmZ8h-ESL35Z}Eof5o+9=ex9ZNE_<3iAiWhk*cDQLKO+6r5{K&jZPQe*|BrJbN4QZ zZJnhG^&vn?9a<DuJP;Hlioyeb0?<cZf{H40%0m(AL*AmK2wDljtnF(|M!Mhb{$_S( zW@q+(_WQjEq<e<X{J<gf2VFP<Ybto>G~hClk&IQ8#c_=3oKcx98)sq8%ACq&`8bae zgU%tDzlmgFjj3%$aiQRfx;N<}ifx~yX}T$yX<aj5$&8=h#B~j$pGwqs)UmN0?;M8p zGEz_+%P7vsIL^vUoRbBay~)LS*(Gx@3I#suwtW{QRWVKFowTYH2PsCTB~4Zp5=rVL za#<l#O4kMrvjCc0-8Pa0Gh@hRFP?iV(QsOeKmcTE_8hRw$fR-BM8<24`B`+ENiZpt zU?zhIl^7H3>tZpEjm#8zgqE1a5Qj=^iSZx{XMou&YYn2rS)75jvc+Xwdu<ThwR0}P zi~Xj@v9LIYm${j<2ob-`mw40nLeD$;4>6qVclh1W@eer(jhw)$B$xrm#uA(}Ae#VW z<0=V|jq4ipNr@@BOP-Qf7A&}tJTub+F+g!@V^m`>()ycj$L*Zd#CaU92o9TgZ!>SP z7DKynaaDF_!cJtnqxIr`EF{)Co9YTsAq-!MnRjNwJnBOxRIM(D5oy6R7pOJO#d7B{ z&F3mw%*>-adlk*&sApmmLFG4Tm3L?h^li$3#o&}A|F4}0?W4_qsTq7I>a%$wX(@%! zp0eFUkz_TkDYn-zC1M)$X>;0URYkLXmkOFG<=-YmCpK^7)U;`{Y0b2~?@Q{eQs=ph zp4MzvqkrLW&QR2(%_MU+P7}CzWMji-vqs9sc^l8!nAjNRQwD8^$gVt>W7B$8iOIT_ znl3217L%2^*af0zl!Q4rt|f^S%Mry;ASU`^V?%R_HWyRVQ?XpZoYuA1hK5ICM%q*c zb5dePN-0L{!uY$frdK$WE7)#POlxUV6pL-m8i(BvK^gx5+&~-s$L^1<W*&uxS6c6m zl%+c-E5mo*SPu;^xBwpS3sr-mW#5wTj(=hF_i$S^*j^0;Z(AQ(m9xJFdaJ>%jX<b8 z{K;H}{n)B@94)gO9la}k4?FtTgZ+<tU;d`^tIpN#N5Ny2(YxXDd!Ki#2ahd`0&Fpy zzo&XAveZ&;EsvJ3S9-U+C<xQVQYCz=v~l3j3jX5C*B9^O)hqWVzq|N7Uc2(kfswMS zf|tBoub@D9YXEiaU(PS(S6mM}k1lYxTAppkP<Z6ob`NSj{`XS>wH@3>40!48SrVw1 zYFBsJQ^uc-Zt*}rHx9rJeA+%1;eI?78au-M<adn?pa%n?u{YTVXE0#m#SaK9X@k{% zP9rc`Mi$DzxL1Isc6%hrT!KIGM3kwwii=3|SzT75nA9pky+p_nK--&A%tn_LJDN+k z%bx^0qaEM|ss_TfQe6J>+P!P*f#|wBO6dEVh;rm57>l0q^B+tVOvRYA1)`X<M6<aG zT~i>E0jh5`XLG7jH#r_LOfngD(dN;ltRjlGR}>-6S(VOPMDhBpq&74zQIz$BD3YUa z4C$v31^5=#{MT|JZpu>VfX`?HxQTw_UVpqVeB;~>*TqMlp1}M-eFHU{0N>y-ISX-u zM?&AcEtrK|T1yf5;UU{4PNg-86l#yUe*UY#@A`c1K3xy^3^@S`da(w5om(u%_|Jm~ V_dP-FPf+JyLIe+NBY@i8{{TF$$>{(9 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..14e89425167c6a0a210d9d5165ada79d5e712392 GIT binary patch literal 9174 zcmc&)U2GfImA*p`|3p$0|3ulYZOM|I(6yz?iR0gRZOeA7t!*imQm0D00<9TIRQV$e zN0voUsoVxI6?<U{_QDF10t#B7a{ZEhS_ADv(bwGv5>gRj-~a;Jq7W8XsC5?D^~>(L zhrGihR!W1u^cuc%=DX*f@7!<h+_^K<zk9t649b7r*oYt6$Jp=qi70Z#kX~$n@t7%0 zkrFH^4M`HWEeT7~I%Eags>lgBX&bU7?L&4vw<R1&=a3U^JJ_zF2CyANZY88RKaht! z7N&ZhR(XcJic4uw+=}ND>rkWOg?LP91ly;C6(4vvfwye}va2sjliKvuQb8q#ULEy5 zj44fuzs~ExmR^CH*Gw?lyw07XlHrb}QfWP=$J40{oLYMO)+OFzF>Jlb*qCa#@Ng-f zP<eCuIMlXu_Zv6WR~a})t?T~>?i$w_tEd$Z>;F*?d{hsN)&sBA0U94X4O(Gw16pO# zxQ&$nJoSLL9%!rwkc9@tvG715D6&uhStx)k6hIaVAWId%cvLZS7-F<0<0b%Ect1!C zJ&=V0RIwThw?r32DZq0Q5@I7&3<0Vb0#q>ssA33UMMsM)6rhTsH&qM)su*^siXnh* z)!~~2LNNrWVhB*h5TJ@7fGj*RD24#CP{2fm2UQFksbUCF#Soy1nemWM1Vxlr0-%av zBUKCms+c))p@*5|CII_YB}5OiAJC#r6+?h3W_pVmgaB0x0c5F4h=A#~iG_Ml#n787 zW_A~fA%HBr5<yK=08}w-q>7mX6#^lEW2p*ccHiWIfvATW2x!r!ikXc<F$Ab$2vEfk zK$faN2$=mgu}}}HnCUGPLx3uV096bD(`^$=Rb+EqLJ#wzZ32*`DiC^5#SlOi>S0C( zTGJMaAwU&FfGUOnRSW@SsS1PuRurI$nT<j*1gK&NP{k0SiXmY3gRvk1R=l48a4Zx+ z778E>1(1aTW-=luvT!#6APWVMg#ySz0dC_I7BS2b3IJI+Dgb1m0J2a3Stx)k6yP>q zb_j~`sA33URUJOsR57y=7cdb6S!fqzp#W8^#!}Uz#zFxc3k8sc0?0xEs#uMsI{X?7 z1(1aT$U*^b3&l_hsu%(oxjI?|sA8rq6hi=6XcuIm096dTAWL<$2$+H3GN6rPp&rOW z0c4>7RjkHR9e$040?0xEWT61Jg<|MU6+?h3hJcwrj0FL+5&*JrQ~=0A0jd~wr-~tf zEY;y7fE5Lhg#ySz0jgMyr8@i?3k49R0J2bk+d?sHq>3Rx6+?h3h5)kg3IsyHL<N8> z)PpL9-c&IJsA6V3v1}n=R-0HjDgde&dLv79_y`~i1*l>s!6t#IVrWyv5TJ@7KovuP zDuw`3RRu!8bc3;=O%+3cDuw`6%<L`{L%<x62x_7Npo(E5RSW^D7y?u=GhS7(bw8h8 zK2gDY<vwmVi3)%V+(tKE0q_n70-^$7n%hB90g&f*NK^p)g4<zH0q{$1H;W2@FSs2M z6#)Om?G{l1@M~`G5ETG(+{OX%3Iy6|0^Aacndl~fqfe?=&Wxe$;t~E%)d+B##RZm? zG3mttc-w!>bpCMw%LGrht|*dX(QN|M?ZSFm?KNr<A0cL0j!p2`bw%g12#d~VOU3$% zh$3?Rk$;?-m1-GWVBdEzHfzaAIZGBI&r0`QGRsMdtk}LP<19?`Ebv$QK+b%I)|H$j z*d-X%0E^nM8PXMvXZ@sd5!dlkiBsc(7}k_JZCDd(%7_g2#}dio=i_=$I+50rvB~em z5>sl%a7<3=N=%O#aw4A54VxBA!Izi@Kqq4fRoB(1)v(3!^NhQSpu2ZuQyjQ%thKfE z<#^Y4I;nOk>D1WxjG9h$DeA4Rel0zrj_8MbQ=?j}Yf@7)YO3-bsH^jqn!44Mh~Mm* zoYBYAsn<HYk91|?x_WprHu3}bD3s~y@4eE+lgE!k{fViuc&c-9#t7e>iYJueNiD6X z^_fX^7?ae#35nc*|CtY<nq$vB{s+DDy@ip*bDv~Z+fT0SJyqOwdd2hR+{Lo&x_kA` z)khtVral>1Z9BfQ`@~A*<VxVws(iZKzJKo9&v$(5&rGuI&wI<xU}3i8?3j0NSOHj* zeT5TC)}M{69z3^l;C!j|d@0ydl6&U94KY8LLnS#>cyCp1E4!QKuDpOeSe%{Z)f}%{ z`EB~rH!_vc)5*g^#;iA<fs-UxC!;D^-*_x@Scj{TnT%;5SM@c=kW=ZDYFM>|YB)0^ zu~Z_SQb)M@qVS~<@1mD51?~p!1|ReJFIve_k$&(h-1$yLnzbsHSs7-rtstc=+jz_9 z{TpcA;%=NU@0%KdViR*!vEO3ak*#|wHom-Z_MDuBycH|I4?YYi7C7ft5c<LWRA2Ie zd~npFI6iO+mRXikz}H#t$=KJ(?$Fjfx65w3oJJ-1EK4)mrMSTNFH>S4Go|4t)>(UP z70TJgNPZ+KQjQIqYntND$se<ySl~LrHA;1F9Z~V%6>=zE^pllF@ckS4fnkf)=V^5u zeC?UwkITBEG~%^%Y}0DRR;SLNnpkoU#Rpdz=2PXWX8{#R7FK7WhtkB?#aS1Os6pqC zSS*Sk<GBI#Y@<kJhQFEf==`x;=@sC;vJeG(@rP|)nc&aDx*|qC>(zIQrkvNzFUZF* z+o*(cjXYDx7o28&DGTHVAKxLnEoLR$6M>v7=foa99D9)0xr!aam`xa?DJM<r6}+{h z-X`pvL*zm*a~|@j1a}GFI^08XVZ*iFn!DZPmW8i4evLln+VEHV)W+B(e8ur=@H7Zt zar_#6+`?BJx9wx*rZfs)afCiTEw+tzX1^b9(NEuRDr>gFp5g?|DE~I`YS+Rq_{DL% z+<)j*f;m6VJ@d%t!%p+Ali2-JGSgoX*-XIGqQ2x{b`Xz)_3dykG%Jy<*8|R`H0G>1 zmtq~YK9wtd$E2t56yQZ-`r(QN_k^Uhi2a<#Rp=5ewWGL4B{l>9qB~$`)W6Q}JKP>= z{Ju4;Hzy}yOU$2E>-;gc&RIt!s6^r9us}&K_&W11md9)!mg0F!7B-OlaWuf5NY}JI z&<6V=>9%1{#%|w=B@A0;JU*&tc<<J^IgJbP(s?=&OWsssXR?vuOzf80c{-6Ei6t^; zz^F9*7~C>^A^o2@wsdJZ_Sw-V6Qzz5b4)t~;8)}&Rr8Xvkb5OB?KpI)WM<J|vM}u= zR2e?X)=EO!X|T7=<wNdGb2&hB$p&Dr0l(h0PHV6^YfYvVwKeN(jb&Q-)+}r3KV?YW zS!?&HUVJ-Q$Cs(25K`;p6~B<{TpaBUs0@30bTp&tu#JgLM=iDY8N)W3n97VtTMU^q z7;ZH+0!J;L8ciG4G3a5NOvh8YAtU1G8@Q-xY0a<=qr03)#}q@(#IvwN;%<TAp1!O7 z*DnqX^!8mF9{g_q#R0=UeCf)$w+0MLJZUsQ$m*t6<M*Ut!{He+|J6~$xx;Tpjqg8z zgkMBB48jkTh6DCzF<sZR9%ze(w0`bl8J#qoqtKj+CBX$o$Me!&=WUK#s+NJDJ`HO! zGiJ!J@5>mnmY&WSPN;9r=&%|0lMUZ+Jf*0&jV7@tgs#JUpUX9hjX^K5b2RK|Wekr% zxB%KYPAbK57HFs7B*SMk?9uDW*|RuXwLxgbYKr?Fg^TsSbFA!e-JQNOU1<N&`{h75 z?<hC=^44-7_@QIX<$e&Ej}&@7+*5XYADo##^SOI>$-R3~U2%6TyGriv4JQkRA9pTv zE`>{hSMojO=E&k}3*$>|3;&eAR1Sp~tqX7EFP8nm$1Mvjt2<Au_)pHCFME9tZp`0! z@ZS7;i{TaT-lY>I@1aVhR~BAb+`rISAE?rQrP_ZjbYMyQ`ShpLOY!B~#lZ1=&-1{J z#rB7Xik>|ib{2}{E%%+}P;((uPzwiPK!M;q9m`rEQXA#G1G@OzmyZ1W*r&&qqRYpN zjj!je&l|&qk$Z`vb0_3wbKHIF&RZY!g6U~|aBTiqp?m)1+yyR)dGdQ-pm1UF{8IZz zz01-^S4*LT%i3oHPi9KN6Dz)x&)zQi&dgmdx9lj&;pdU)@_|yMyC{d&JYIN5A^JPL zkD7}u(USjQ$$2nuD}%U47mj`&Y%c}dSAzTV&gcG6;oXP3m)c7H_Po6uX<2+@A-i;L z;r)5fTBIfKS#$UbM;;$rI977(EC+Tj4lZ;poi7CrEc;7=gUjD51x`GRmHhuOZ(s8V z^7b{^e)sa7%l8Kh9ruPl=~&c1K3MX0{7hfI{L}YK-lM;gpS|--cgfqcDqkp9U9T6c z_in7p;o7<59=r$b5a)x11NXkSD(@8M*NaVUE8cypayvm<SG;Yj@;-qK7TPf8pPbAY zDmxn<IOm;@LWR+X-&l3-dG2p6+<LhC&&=XFl0R35D{y)K@}ujE(!+P|_f<~|?=Hrc z+CEa3V#{rxs>`uY<Hhi|e(UMputBFU8<?%}Zr`0gh@3zFXvgEd3wxKs%l6L#{}%bz zNa@w%&)S}i{rYzC?d!!i2Uh%p#in<@v|4QTFCiOWUMn11b?mAp_0J6(R_6Q$uH1&) zf9}fFtgRCkmt?j9-%Pu>eGUHD!LF(Ll$Ltw#uwU7tfNj`K(ujw6Y|&BtgE;0JzNyN zuf5C9-5FhL&9x$=jR9iF*WgVs8ZsJ&hexL%qB=aR@g>%<!!i+1jcNSZW-$B`P+7qo z!#Crpm^M>c+4v_BZGcz%c=b*09p<Y!{Yrq@X?@(`8n5^&VR$ul3_cd9T4hBHn5XJ( zT}|O4S93|mlPW%zP#N)LgmrN$p`Ot+h{qqlnfp+|%e5r^cYsOle_-K1vOQn0$QNwi zhW)Ix>#|g2kr)4HaZ3I_HM1R^D=l3`7T#!NdpbTFExvuD<a&3`zP4xI^6SqAOX2fH z7I+bYzpn{yoV7A3G-vyq1xqYgxU_h2mF-(&EgWenv6jW=rN}CauCXBTx$;{U#ccl{ D1HkQ4 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..17568aa76ce1d3f26dc506230ed874bfb7f624a9 GIT binary patch literal 2480 zcmZ`5OH3O_bY^#LFW3fRz~Pfb#z6#E#O^OYC92efhL9qJTB<6(tX$7v)}LK>c7fO; z5~^}AQX=34M|x_a^pHajIaR&)Vgr$_6$hjqDpaXLBE96)H*3~*S~3#vy?MWR`+nwk zzrP*9`Rm&w^=~&qfAEWQTy+8;{|dw=B8cED%HcT1hzLZ?3OO+@=A^iUk$@%;ksc%B zqEcFR95nF@u};Tb0-|Et*OWLEb)`ETx{0alg;2loH^8#1DRZdPEs48nS@1;UL#`gd zmN%hkx|uLlT{8|b=Lwc;GM7kEtIbAt)htaqzBzURI39z`CZZ^g35p8@$3-H<CE_9C zV=3+eECF@{b^-Pj+!5LG%_K>~t0m6d887<3)JY-}nwi&4{myujhu|EZa7YwBE&_KG zEu*v}X~8SPee?r9U6wvcbBj6@?ZwF(_&pxeCxw2;N^q<m;bolmw94u<5giS~PozhJ z+2-ghH*6tJOkDjSAa4Fmk3<47D2?})MdHbfBE)1OxAHX~NZhu>L)uy;q#bV1sPzL{ z-bKU&;?pqkgQO9sdB)L62OO%2NeAg9T~1S`Ae)Lk23(_nB4?&m1Wl}p@Q@(^59+2A zJD_hui4f4CIp`5p0O=u5IO8gZaR6!ue556QHE}y4*j(lXZbUfbO?1d>`&?k1+=TbK zCFYYPA~D`zb<hy0yb&T^OPI@Bl0j+4k{C@8tKBdY%rur%bKdfPUC_+L!!H=qnbl=N zNJ?HeOoj3Grj|>|>4YOgEmFo)2J|dwSrXTcNZfID&ccQz=8Tl()tO4cp*<P=i$ZYT zregDYj>d?trRED%*J6Y&#%7qFrb+Yiq&CMAu{@)OV;GArQf)DoRlken3+BA8eG>iX z<CvkE^m0Ct%)pcxv6;!Km@^hL*@cv<Me_xSP0v%U7;q$f45K#h0>onc0$>Flbat;T ztuB>2!(}-P@Idyhc~(7ZzE$7)?4CSO^L4FFtWK;=txj$A?D{U0@IhzS+Vbl1*2G@t za4irn-PsSE-%9QV!ew9hAb565+DL8VjZDc~3k{c~J^6gi8{8V&@ebC8M@r+beM2>W z-`3|l{`0lrOQrEW-_SwtKuLPiUb`55Ia0ZJeIx!V&F}lY7dDj*W&4}**sWLUZtuNv z&tyq@+I9?aqj!d!rxqFkAD4l6?~vbw0Y6zh+=Fvi%;fg=NjJv8;UJW53}KT8o*K>F z<ic7w@!vX7W@87RwvE$`p=$bBM$Q_*d~}3q##eNt%@P$g$Ib%H__$kAQfJf>HM(R; zc4G=4w!6}o)e}U4F3KkueU8~VP&fF>3b7DC76DM~f2S{6Ej|UYaT~x2s(CxtuCHD% zdk43rYUs*N=*oU@a5KG;-qbd<?b)9m{P^Hy`)=@NY5d8=zI>)C4_4&CsyteeN1ye) zmZK~TZcZ=OB1qm>EOr@E%oo9b&gnav;GYF2_31`2o2F2XM&S!QrQ-A~{BF7F!+b&` z5z)@6<*rXTgXM|X2LM_!X32Jbs78vt|4$pRZ*ct&0oW<4dP6(j&_QruGqaJ|9<GM3 zRl?VPlh!l4!7r-8dzIk5()iPfBNy@w*$JA4UraZn<^t0!X<FAP{LaaWq9t-vQLJ`_ z@0|r$MvCQAl<yZ3*%OI-PG`A<X$9(7A=F4RHP81A8{(hA3(cYco+JCAdinW(6O4la z_%rx2c#LZPz{=fP|7ckX9!ov0`}lZFbj9AZi>^srH{}LJDVk4`Y3M}=YHk4nhM*WP zlvQs^yZ>z8mY>m-YM7MSD~Iu>vH}ereP~k6;DKHRK{L3w@~!&Ee#UNsfH$o%3*bn^ z82=MO_~M`F!kexzp2X`ns@)@%?vXc$-;QQ5!aXalD(bGF?)9l^&!tMwrDx~%(A5Lf Z$N7B~)VFo6+CNt5AA2_U8eOqp{TGkr27Lek literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcfFontFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcfFontFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eca15b45c1af4d06abb3c54b17ca8ef068c93346 GIT binary patch literal 10020 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01369e3a7a6c2a8f7299fba7ea1214f2166590d0 GIT binary patch literal 7586 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 DU9&ly literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..088bbde6db6895da4ea286a5d9d154accf364b99 GIT binary patch literal 9753 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 Su}j!1qqZ7)9uU1)3;zeYV{%*o literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PdfParser.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PdfParser.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d7fce5b9947b398167a1ad61a204771b6a412125 GIT binary patch literal 53092 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..36fae831eb9eb1b4a67761075137151aa6445daf GIT binary patch literal 1974 zcmb7FO>7%Q6rS0g^-pX!spCXR)uw40pe~I~T0}3X`~(`MR3RiqP$RM0c*e=P_O3g- zX=0N~5$eIAL3PC;k>C&khd?A$PQb04IB>C*qC~5LB7p=Emq-bhiUV)f*|?E<VI;r# z=6i4E&AgxW&yh$Ig7Nn|+xl-lgnkzbZzy$ucOC#(L=;h+LwTIS7*UDJIVmrv<UC0c zcTI9i-k0(NZlcO9k_t#@5K-SPME#6p1Ky#Hc~!3CR8T@p&c+%V53yjj-NTKU1zEt` zi;=sxqoMWCllRiVs#LeYs2Gfgw!|Wiosec2rmfk!X;@oWaFU}8<+Tas1l{SPo?~FA z=>0F`SXx+kL%afhc&8V@BAP|n$F+M_6tC{FV{r7aMS!3C%XQsk*&4U4Y2BU#2fhMl z8GXhQ*4>Zv<fNHrNopDslSO74Ny=^{N4S|~X}fR8$Z#zQ_7*ehS5GExFylrtr;jHK zMSIdT&L#TKCN14&eFZIj4PIj<M}{sZNAwwuyU!ZQO-<-VqEK}Fs+LZ(g3ZI=xeI=l zNXQ)82pwJz9j%3qR*yZm7V58({vF^^S_p4=A>BC&%pzhag(*r&6sKe=r3h813<aSS zN!;fgYB(1$b(E2zcV8JTMct{JYnIJ;w=N=oAj(ji^(cP>k#VE!Ie%=PlP;kTF=XH| z&V$*#YV+1&Ze-;qw)d(Xq1pXhSrIDTlx)AZXIApE2wwh=AKBYif}_A!aQ{S1iC2*a zSjA&A(kxQ<?{>h(=h+-!{T`c<ZpyPV4O}~g5cks{oFk&>4!hYy*%l8qX6WD$L^0Z6 zJS6T<!=QUYx2}q!hA{z=QA2f%P!Yu=!&^dCYJnE(*1GGN&Oq|@e<7Lr=RzzCu_DCR zAmY;2A=t4c3d@m42VZq$u1&`!E(llX2#$=09Vt_A2xl5~>(&X46`>bqUgzB8jttG} zD5|BGpv=^~Nf{Rb0DMJM9&r^!@D8y>e-q$XF5_U!k@MCBKMvMzt9HZS;z_XAEHI-K zJ6OdDmpv`ae*iIuHk(`TOwUhOn|rE(9*~>imOF#<gLf{^UtT(V`^_?b*xX*ZzEIkT z_Lc`8MvpC}*P=buaL=|6MGjTSqW`XcF?=_?G`7}qq82_;#(%VREFE4N_~gAWPcCaK ztzSG_ZR;zOg{EB}YH6+XSJJmX_-tSqFQ5DLjcW5VWwIG+uAKkqrH#(6@@os1b_1yW z_@a7OU4DDz;=L>1UH$fI?aYPy<UajL|50CS8>z<LDwB_cJOZ~LhHsybGkb~~4jDEL z23;FaRYS`&Rdt$F5y`2Xz+qLrKBeXMG`@_<^P25M>$6IkmF9Xud{cQZock4Wk9Xt9 zMg6(rX#iF$h+AkQ5}UiY(b-oe?YpF18O3#bVOk=I!VDjd6E6O)9A&&{GmAeZFc~+^ zTs$H!mYIS}!^ODhbq8_LHuaSI)p6a>c#(@<=0}7O-#PaNPK2`wU3_=kEOL=XC%VtE z8JiiFc*Gg8Lqy1Z!lS^8^*~(U&jSZli>&uSY|9wqe@-KO@=w(DD>|_g#`x@R%Mm<^ zD_7UsPSx5@?IN+-ei<Vin^V?NYYnwlhSy{9S}eYD;rsIs(7-0@5Soq}>R9Sp?@ZJ> N6Zd?-p!2T({{T7luay7* literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PngImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PngImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca53dc713ebd0cdaf39fe432d25a90b271afcfd9 GIT binary patch literal 63108 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 UwQQK+HqPY9taOrF$<Fit1MzJBg8%>k literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ebb052a5e57bfe301e1121da8ffc518428842607 GIT binary patch literal 14204 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 ZayHI4oqj~UzVsx~r2D|<)Iq|&{{!4k?t=gT literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f601df59df3ee9db205eef8dc589e82d13324e07 GIT binary patch literal 11257 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 NOiSqZ)KMa*{{=i#30VLD literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/QoiImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/QoiImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5bce0c59a0bbee37118c5739bfad1ea893cf2c58 GIT binary patch literal 11372 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 Hl0)>rOALNk literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..695aca5d1330cf3505bda27415121144a03b3971 GIT binary patch literal 8037 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..91725dbe4c8f951d9c682fab6186fda214433a05 GIT binary patch literal 12592 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SunImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/SunImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec117920f2bf5ad37e94302907713ca483d826fa GIT binary patch literal 3428 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TarIO.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TarIO.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..02b1bb64ecbcbe42170947162408aee692024c8c GIT binary patch literal 2050 zcmbVN-)|H}9G}^rckNy8<Z265;%W=^5bjdcKnNjLXple((i)R{aI@W+Yxlahd(7@t zdf6t#kZ`RSu0hk|$)XQv`l5-6e}peK)mSGyG(jI4Um%4@co1jqZhJ`J#d(<Te1FX6 z``zz%zTf>R9`68b{q^Bp>nj<6JDdrZ(mcSeadub&2q0*KBFsU^&w?%F1SBHK7K>6& zf<OQ#0g^8Rq+qEK2|?Nv%exq}A~q#CWmZV5o195Q+G#kB>l?o1I^O6eYzdFMj&E2F zCa2Dt&0EdA1p&7P7=ML@hCvP@z`}t!5s6ihhe)^_%Slym5$5DEkd~-CZZMe2d&64Z zva#k)6tL-Q{*>WsCF0Il2zwgA2GR`E#Ga@5u4ZVH)(m#EA}&r~qPck{86Q610LYlF zAQ};|%mK#3Eg}H$1zZ9?|AfX0Ac8AQ%2xpNZF!V&g_gXjZSDn*_0&SbO6%U7=&PYJ z5JM>vrVjx?2A_i%4R5sRO6$lfDb7iLXQ&CJ5c3llu-YQI4;12|woQ=|+Re#<Tu8Jv z;R&hR7D}L?$n@*~JHqI5BjmUz7%qzeNrBP_=4AhcFaj2T2kPttC>G{_P7Q=WZbSl| zq32{P72a>tKt=HiV^LRy)xqx$HHDt=)TW^?2(I4qcZTx$NB};2o4<f()%@Ag!tU^P zn}&4@)Ub~rn3d9rN~J?<t>f$!`}oOMp6S?D9w`~bC~Cezco!VeMvWrtg?#&2KW+J6 zvsNc?VP@Ns3S`1!-47~#Wd~m@vA)7c!w%xW%u^$j(M`m@q9T|5{DH%dAmEJxDk-zk z_soJ>d*ulZycsaf<`us2A!0pdDYw8sj~}NKRB}t$p+bI&O1xL8XfsweZP&w8Jv%l+ zh)bw~u<0U9C5}o(%kin?VLVL*%cYUAk&)B-@ej^Z*(;YYp%GoT9Lv{rD*4#9(@}10 z=c(Gt5r?rcg&q})-XxVAmN5z~W@S|{jq18-8=j}@9`CZS2A3Xvl$~;mIE!3oa%vX4 zP8Q*r>^b7{sdM0zlP5;DM6ie1fa60in_+`yCTm+0+0v{(<vMR>h7M*u%f|;whB<9a zVlR8{)R}B!h-FH%<Ynfq($!?cFX&@3PhshLcnRF^0;%5G$IH^%jy+ZBs=Cp&V?Eiu zq%NvUvBg+@Y%Td}b@+B-M{VfSnR;qrE>y-B<DVxsdJfja+daGM=5_n$<ZBzL?%H_G ztQ}f9ws>rLa4og3dV<?W7o+uo>xt^{dLmgHUYL0b<BcaVxXI8$dA;|g`n&b_YZq(M zAE}<&g?g$!R;w%zt)=!<Pi!PoHGd&kPrkSjOI|xUfAZRy`7`x_<<yOR-*m6;%KRYw z*!g|uFR`O{vmlYW{}zaL&8w@Co%QZ7dvEkE58N8OIe2UT&HZ0zz8m;8a%hXC1Edx5 z3L{kXd_pvKB5BSl1p8&;P-)b4a9ZK7fESj%f(~6Tx~OdPb4=GSlnuM3QFR@;rmi<~ zPvfo1o9xl(dK!|w4A<jh`W-UJ{qQ;6*m}7l$+m}=!SB-fzomZp@IAmb!bW1#B&~A4 z`7(=%`6c|<Lio>;veCwgJTdEIuYvY0XkOz!9z~8eV?9RLYysT4$K`iL2;l<_!2UZR f`X|_RU)c)}S5N;I>tBuaFORIo_B{Yh(g6Awcgxr@ literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..be3d3d226ca5c0330c5fa56c61ce304995fd96d6 GIT binary patch literal 8921 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..220e97c694479d9e1efe8f3d120e464c66557a93 GIT binary patch literal 102392 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 Su`ODqm)tl1aQI$EU4H;%Ne3kW literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TiffTags.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/TiffTags.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..74f1db1dd121ce904680ea4c5492052fd75ba60f GIT binary patch literal 18922 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WalImageFile.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WalImageFile.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d45d7d852645c7f1e8ed60e14e9490d80e6b1c48 GIT binary patch literal 4190 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 Ef2w(T=Kufz literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..677a30f9e5060947eaf9bcb5381072e31c0fc451 GIT binary patch literal 12985 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..35770d16a6598018db9dfa83897280fc14a6b496 GIT binary patch literal 6322 zcma)AYit|G5#BrA@lA;mNj+%Ep=j9&ZJDa=I1krp5><Z4h-KGqYeaF%QoN%~nJ@31 zEQz2Br7#*QO&|(JE4l~}1ql!t{!tYzP!}!G{OX^g09iXQaa8~TZBY>Yqd+cN7zNUq zJ(3a?In7F(+nt@A-JPBNc6R^ha99bXe_mRTU2+rhS1i<$sAss1UvY#i5{XD$oFupr zj>9}3=M#nz1LO^o5El~Sh?p>r7+G12n-b;`3(FfJZym9*yb1F55eMYW;U>u?S#Ag; z%{-BvvN-Oqb-VeMtao_5MEyKDMI_q|BH3l*c<-i6EqBMD=SEzh4|TfkRIBd5=rKXB zZpi^Xx|yyf(A5mO_UpA<X<b*F<dK}vq8;>!<6qk<qvz$e@xwcDWp_;nM_AjZcaqw% zZF_Cb)t1kE)s|9=)H=p*ww^Wz+A7#Mz-hK{GMQ4tYAlshpvVuMtDsc^ye1AM!eg># zVV{$+xD3@|?9ekTV^p@}jvS85!;z{n*`P2FX6H7{kXa;I5+>7JfX{r->Vq_tRMc=h z?hB{W@mPfQeNaiukytbq@m)H5(ig*?eOJOsDK68Xl{Gq+4%2X=#ysXbt=IZeqvLW! z4KkVG+ni<&RolUEP1US|<MBNj>%Wpp$o*0(Id)}QP9^&#`Fj6(nnDE!hmuhm?oU%$ zk(0VT`h(Zy<n{h|Y_vZ;tzJnbj|2}L?pI=}d@vo3T!kSj{pW{X>A#eSG8>(bPmINq z!SuA|r1DryQDs^i3w6Q(df=y6fXtHhCgN;=<Maj;h-Q*#cyclkjbN#ks_xBgbOC3P z$Yg|*$Otb95(jQ)kVJ`xuP|*07&R-5plXgtwH;G~dA16DOh=X*XY58Iah<@(l2Cp9 zreXDmH8YGTG&-7^0#^`X$!JOwuyh+riX4w>d@P}02R<KdhL0ws(sDA>yg8I0GWwxP zX$3M%${pVKOt(x+)>6lT+~7Myv<27=<3-!B@qQo10$#J@cxU-D<cHkOb>q-_dy=@# zZLU^<i;!{Sb~ysT1zOQzw<T4mF~%7r)=K(!+|gLZ(ql%4cG{L|P_%Q;Su&1}vn|yC z1mSh(cKVu1Vg}|56xvJ14A@jM-7)FPE|P$GnBw|rh6|?#Gy}MxW*9hip@Jr?{P*+E zKd->=^MFO;qiI}n`6@-5X_hEWB}S)JSpjY=BWpq=MP-U>tO-;OOSA*B6rHNkKjNvd z)Zib;K#Wv=1O)uU<ykzsaJ1;^E!um5mhDaRC+1GfpP4(8zxMXoRaeL2iwiH7ou0C@ zb<wn7T6KCBtqax%PJhYiUpoBJ(f5yjbnN|O9~@t4{dM~<+VA%MKJc5sJ?9{6;VHMc z7TXuv3oQ%YLU>{KQctO6&k`*;1E6iA+3apwCuT<z^U2|WKzG5A9<|q@FL+U%7_FBy zBbC(&n$(2hR8p==(*w|i;!b;HW0FBe10o<&C>c)3p^#<`g%T-gB93``D0FQi9M@|o z?sAF;&TYcR!1fe{bC)m@gp6Vba)WH}oTcxf(Pq&H%c>i&7Z;H2qF%@#_Kw$gHZZDb zb60>T@WTOq0~hzfpZ@SOLN?Ifu?--o6_A>$%4AHv0wp8BV>C9U!>PXQO`&ikBBxdQ z95gryKLrO3t7&U_VCyQ`x{BTB?%B>4h4cD;hst`wejsrh13=&0igFwv96usRM#%su zCrTzsfUnU4;emzVpJd6AC?|<G93!S2nc_ywFb}Kd1o&xODg&G+8Rw-~Qc6uKzO%9# zj>1vaU@+Vg%wPfxh#3q=wJlX)hwKEQUk*Dn2v&9A*;Fg>HDIE@SF76+p+hp%PU;yx z3xI$1DR2UZB+eLA1W1;$hFV*ILXe8`0O0jL)H)=AHe+3z(7-p<`C<d#T<04b_?9}~ zBw4|!nrdU&{7SatP{<myLI!~HaWaSu2uxW%1Nf6QWyP;99pz`tSs^PzAEv1Am>%qG z6rALcn!FInU4532JV%X^6D){l4oeLd+<ARkYBr{S0Xw!z9B6Z~)wrj+>UuZ;Rm4$9 zGeQG@(_&%+-(8nCHt;=lzNvxVR^vBt>(O8Xw_``y&Kfr=%vkE{Q?)$WRPxriY-KFc zE*2D6B!R6KtY*dr^Rt3nwN+KFt18#sAZPoEYh=yZm_41@FZHNo3)I`t$G^nusuG*K zAnA~HKW@dPCt$z8tn`#MLkZ@mCkTIh!xaQ_im`bG9i5$&8T(N3dN>}Fe6eKYN(BM4 zg5g316;%+OE2n{I1}Pn*ZCGT)3pquHR13-M`c6`rNT*X&l_eJIA{_amDVhkY^e8rh z?XJuFPMkei!Sla@kXpfGwSwnF#fPL9$Qb+xDSz-%1wD}VAVCz!v~TTYYY)4jHejdN zm<EvGB|;M>Q&iHd-wnqn<P(&ps3wMRj+&@kfsxX76tZ2MhQN5LRv(8b8pPl{li`Dr z0O-ZJY8*rcthFJbjA{JT*ED__ep83wdx$=XA|k}v2?!mgz*L$r4V0a3csZyg{df^W zEUawXj_X0jzW}<F7hvwQWUbjXKRGv9Z1xw;exPN$bN<xasrgstUMaNRvv=jVHJg3@ z_}uYg$C3NCryrV$yQ9Dr4&VHGZm`_!%3phHy4=>AH>|e#mRvVeMd#jf@bJpu@_26W z?K2OJq_sVNt<ZCGS8ianrL8gRzu8sevh2E%`24xS`JuU?yj-$(t+lxFqY!!wzBhDh zXh|-0^_84`D?-WnGz2A&saY2d?xx(}x|QsGa+zNqSmBq3t18D!_8#cM*^+O~59Fqb zyZY`m_m$g@;MjYX_S|dRS9I=Mb2QCgp1WN19=z`et{hsqaF<_s?(XEDkDP>=Z=cKd z3FtFqT$s7XTj(iVxcSP5dzZQ8!yokhN?ZxwZT+SFck;(Ce@uTHFS^g<POP~+1%Bb# z!oX7Nty4wU9vHfjxV?o7Oa5DzO0K=jp5<$|J62BI?fJ#&Qs8*W^#YjP)%m6MYrXq+ zm^v(UUVSTD-t%N$ShOry3VZ+T^sViAa@oCfti~xhedW&Xf?DvxMdJ*N#MPJk=4xwq zA#$(PU$pzzJl>q}wzcf(%n9#U^}u9nkc4>_5#ZimBq~rnT_m@;VTxNlz%ggv8VZRa z7UJ&UtH}Q;G*a-GpCzl!?YU;X*Xqf^v?HLfUi+Z`pKy2qdgDfx1Jq;HjYQ(uDYtVS zk7#^Z0L12J3^T%vsDfTSWx37kOzl)q;2M$T;2hw##32Hl&j4%~k1%Y<6PxUGJ*w6N ze%8**En38^p{hkcNgl67uiv6&TTFvSXKBuuCGT`YZ`Cpce&R44gc1W?2GtA&17;n# ztT82qFAm8FAeB0ij?0=MmQ?Atu*r9U0L)FKWy<33fQhZEu5Sb-UPE#j$?GU<356o@ zu%d)QY&CVbn$_d={UDI>d;zO)`ENm$@-C47!0q2i?9I6s%TH`YiE?+(d#~PlbtzNo zK0G&^8_4tdfdaqk0;m1(=zUk9+}2q*lE0ES{LSggUnuw&E-e|BUVh(La_?Jq|J-}q zyYlkw?vneNd(LN9|E~nVix=Ppkj+e-p1H}n?2ms?G<P$f4Djq0Ll44WtNBM=^}7$d z3Dw?SvOc^3(FjTk%w!pV6lSaXvOZ?$*I22~$3CwEm&xPVn(5XrNqBh-o{vq*@t5Hq zp(s_EfQ91I0mYX!dI*SS)Xzw*RsV)0S&7hC8XvA`7^Ng6xB{A^x<nB<9uI|Jr{V@; zJM|@fosOX>l3}cP9>{-gkg}t7_GG#9Kv8Jh5C%BWyK$Q5#Ex|{dH#iUgI(NRb{%Ek zHOsz#i%|ZI0AVI$x+3*G2Kw+6W_x)GGFuVk4d>=w+{6{Qj#ZIBaY(RdHy<jt#;Kd~ z<MsOjsIR6h?A0t^dmP{h#4(0pxTA-!%bDHys)o7R`<V|O{UD5C?{KmNi-%VRd@obN zs!BD}xr^+ar)gl<F1WoYV#a6!FRk=dD6+T)w?OT*#y%*Ha~W%K^#JZn%|%oDyOSSI zt+d^L;<<8DFlSh8^5i2wju*||Rl)w|**DJS{rS<tQ=bTXm_ai_a551EDkq}QJqy9E zg0d~1DNu;(Ve7J|2*!s8s#GctyB;s^G>8O;oUsg@dyPrGP8BTM6qSOTZ8p?hy$i4B z(FwTN!}XlvVroWpIvq=nQ2`5ty?;=&yk-iG#*$$=P0diE=aAstjAB4S0W}HzHWD-{ zd-|i-Fo%&Hgi-L6P~AZK1s`wDnxo;`${dQ>QFGMa5-}2@aVA{np}jR%y(mwqa#F#! zT#7F%x^v>Q(<Ae7{pH~sbQX$uz$t$KvToow?qB-}x99J~^AEE7Q{w-W^uqs|t$EhG zVKi~=pSg)(%N?CRHg_yPec#aY(AX?C<zIc^*<bSPe@LM4nV*QBg^`<=?+gBoCXV|S z_t1HX<96q#AG8Nc?ZJlxOB*ULaJ}mtgmce|4~VNoTt#>91NVWF`#|yF3wI~)lT&5l q`a<3EckYuTYorq^I!mOp=-vOod#L0+v~u$9$>Nc3enJM>JpTvDCs+jl literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fe9a5b75a756174e9971a7c41e72836026a187e8 GIT binary patch literal 2670 zcmaJCOKcm*b!I>O|0R)1V5f}a*rj8Ov4uoM+Za(3Syk)EitQ){(S}%QN7B;dlAc|e zCPCLiU=&pCz!ZFtf##szWGFxr^pN<Lo?4(ikYEZ?0|zjW0D+K;9J!ZVnm0?Xq{wj} zuy5YJ-@JM6&6|Ju{T>AH%{yD#xC@~#`Hv0mHi5U#VT6{Eid39MIh?{6se&qIg`AiY zb5csm$tl_5Nm)nEnQ{Uxr(CKd<rWa}sLnO8=kNyl{cjOUd7t2(0<O>Ey7uUv0Ir{K zA5P*`-DMde)l(J_vUMzp@5dx%*v*pqJ5ujnJ1*s4%6)54LbqOn?@bA*A=P(7N(BTo zid6p%qy~tTft>7zHL=Y}1z`s<6W=dKhy*izKgJ~i+ZLlzFcIG5N(s!oimvBP#nke; zvB`6l5ScudQ)UTsTgz!JOPJ3hCzLEPO#)Uz{%3{*lqZJbgM%lxxvxzg?xw`i|2T4T z#KWELQ~*eXI0HVseGG_YR6&`&Qmz4DLY~`TXZt*aI-U@i$1oLY8b!^VV~+Hj!=q!b zLo|*8B{SMpgS(1<cPTlS&yl2>*JtNSB(En`awR!I^BFR29v{<ZsFDPIgXry3CkL(& z{Yo;cO(hE@b1ttB4xBidG&GYOFDTQOAQ47#V(d)v;^c+7`P@`H5!v}!O&=(fm@}<R zPm_X4yJ7D`@EKiz7EsF@UiThocn^Fq+4LT&ONS`$=xO+NpmRvPeE?X?h@cc!QA$v8 zN>qiEq{^xYEg_ergoB0l?rv4Y+2NEU7boK;k4#szY+U1&`$5KenXHWe5jM0kz7xSN zu^{{gy@yR+9Sfi?Ho0fbz%AGhDz<B6uZCY0u3?kc--61H#(VfFeml3_w&3ep=LaJ< z?~=Wu4xRZwR@a1z0C9*<jYCkSXTXmtUm8M)VjbTatOyzJliS#FWc*LcRL6%q^93f9 z<5~1O$niDtnxwiaD7}*bGi=*dL_14+c#_SV5x{EaRA!HDm5JKa?y9=YUi)vY(@J2y z6Qz03mS&!_sohoes9wlwe3xTWd^SBL-~G1E?rLWTEO_(pgEc-40A``?X?`y(D4~RJ ze3Q3jxfe!HT+!n{XyF+cIOU(dt&^(-xUocykDNUnr$kXTefCLB%Fn*ZL)+vOOaoU= zxoQ-$n#u446VHwQiiuPyCIm~<LWyoB%oMCE%OviZdC!+%99$itG*6j}v$C2_m~5C- zE5Ks8lhe7pN|>nWCX>^KRwk5}nEnJ1b50DO8M$y_ggFcCDM|SWLGJ>epAy$*l1Z{z zCRtu26Zi=kBqTe-#GEn9u)%PV;W>j}vp5IJlLkKW1)`Uu`)9y_#eWG@3=fRH1@ti3 zb-TD&tOxt*u0FtD1*0`{xwuqZt}InnhVNYeJb0uPIaYoBLFC}w>1L#_?(5rfAh-Xv zbJ4l(>TS4sKX*L~oM2Zg)V=Ina;}HsjZnN9>Z=ZKbal6)uhql{(dSqCo6*Dd(BW1v zR0}VfHTtJ=E7Y^)2fM8Z3Wa$PH%qs#FJ528)$7gR(bbcy!}Z|6qEyAz6AycOtI{pc zgPz{I;X9KboL>q5d9wB{XMGjxUymJW#Ez`W9~PUjA>jEQJCHwm`|RS`yCW;FtiJKr zv3p~U{+B;8KPi4({G{@6<!^uZ%=|~`@1>^itu0aL@l>Vv-PWw-&xL~$bDru<8qezl z#;7Zu)|DJdr<o_si#ea=v@e~$Jg;Os630xQ<`k1f+G|=R#xyhme<110kn4NMa&MJ} z@{4I9{+t;RKsQj!A6+=zdggdtiawT}lRa&9t~s8NDA!@~RLLX;eTCD~R6d_gM0i9q z^AIgWMEM+Mi1I$L+Q{lNcx$FKU7;n)Us}p%3QcfDnJPLw*O)R4O*CcowG|ZeQ!=X= zCZSfR&|h$qS2^NC#yY`wu3xtEaEksKc>D!5{takL#2EkgFv9&`qhk$p><bio=#DHn zpgFvO1?Pr4P`!M!_gf_6z{2o`KT<n!^WwKik^@z|5sua_-vOBjO2e(_!HrO)HhfoH z8ePFlr=XYqa&9%edj4MQqqpt_nlB7BLPPiaK2<*Jzd!rW=kLGU{P~$i=*%Nghy@l$ zABo`PkqCabMA&LOgz*cHLw(p&E3L<lHeyE~Bly`G#|U>X$m^)9fx7D5ht|7aY;?a^ PKmO{c#s8pD>$Kkk!&^+i literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ca444dbe9f3e1234178c86eb1689b96a7f477ff GIT binary patch literal 4117 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 Q`e3b&{Pu6r2m06i5A3FFJOBUy literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..44fdc0c7ba8521f16b1440479a41102c53894d81 GIT binary patch literal 6167 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 I9Z(MLzY0ATdH?_b literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/__init__.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..570f75ef68a88d60ef19e91d4550b063389dad1e GIT binary patch literal 2057 zcmZuy&2t+y6xaGAahznGl9@7G7)?2}X2>on15Dh)jPqf$#YwldLo()|$SbX_WWUgA z)A-gy|A%ts#_*?b;soO>!=bm7&`VE9YX_`M_pqz?^xpgZ^d$ZE*VWZ3kk1Ea<<qN0 z0RB|Q^;4b>jH_cgcnJvT17eUuV1$K!!2qO4N<lF!^-BhzrPI95b?WrnFMnSe0#g3T z=r0sN8<2$;fGpC*Uy8H&%D7Tr!qfo3WkC=>gZEl7KZCIk#fU<8EJkqzoe&RMG=v>C z;Fyo=)#@ymrFodo8I4FVhOX0rzRDkr;Unt%oQ~n$W<W3Q!kqw1KaL3W;z)2d$VALj zs|w{a5+X?(wmoEGlnpE|4(%jI-biv%_7u*Z$5k+tK%d894!db>T3=c+LQ<H~dN+H; zt;H$f><o6Yh>YGrY9~&{oDD|;-t+2kb8Bl$Wp$~?sem0kNMUnZVjZTkMNY>;=$!JD z#Subk`LZXH!K_8I85#Xxqh5Wb+Fmy%%Q%W+frZRTU&-bxU*)<=-JaB%=ge1ar*4qR z-cQW!Akpnmv)8vXpLazz(1La{uGzcZg>I8nv-c9suC<uZ9A+zET0$$)3f5YJY7VnK z&>6J#Wv#d6Nw`US{Tt$ce$!cVyh!Kbc=0@!RVSP`O(zudcFjqIr#T)abU5$0r5yLa z)m;0YL$D6J&-60;H_Dj%iN?#^Pqm$@xj4|7x*nMaHQgJ#<Pz;Dthww0>s@stZ6&6g z+(1ZmgeS4SjoqPU-|8leP#vP1MH<Q85YOAS9`iMpwIe!k=OfIcPzx}R2Rg}Po%DOh z-}OdWIDeqMsc22#>ek4|xLT9%mw<x4A@#99jDB%ks23-<4<osVNHCw#>FW15k2(HW zCg!U16th$+2#a7N88<>IMvW77n{(1uoY3e5GGD3#Wa=V9FTb;JK%ttGnM%z5hmbd1 zX_+H4pnK4sC2<9!R8lGeRrsI4lnSBLv_Y`Ijgu)}iv`r`JZ|oy-qXW_on~)u7diXQ z_FnfSFDqgwct&A}#}Ma2t@L?HOwP@b@&)B8#DYB;aSirN3Mpj6DCV*TOH)Z8ud6sr z1#m>Yvos5#k6Dm$I+NyudPxcsif~8~np6=AW0D1Gyn@gV84hMMiwKd}L+EF4rFP{l zwnuSDZ4yVr(U``OP3XDp^7xc`V#A4ij_pK($o<Jh(6-KLbZ!T1FjM}|tj+s&$^_j= zuy-cgpW1S7Y=l_E1VWb7=Px8q{yLC@bVa^ifY*hEa^-Rjl$ZF!|EB9pyde$6-p_<w z8$w+D|0aN|AM9j#PQT@1lU#Ar$>QT~eqyFT4^+9l=2vp`w(@Y=h_CsMG}T#56`#wZ zVHmFqt48U~hrsygFL3*^3Tp5FZr=ILyz_kdkJ8HD3!knOo>%_yjU{90$D=nue)78i E0>r4U1ONa4 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/__main__.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/__main__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..46416b2aae807c7b1b0f88ba08a9869e6fe09161 GIT binary patch literal 401 zcmXw!ze@u#6vvaht1Z<Eu7U_|6|TWwo4B~NAf=noCB!DzUcE~~k~=te{|5aNEDHW1 zE=~>y4pJP7OQBmQ6Kmh_-sgRJ@0+~0MxzdF{9MoDdt0ZjSx2w}xaeAV02EM|fE4y2 zbnGQw-=jVa5<d<40R$dk0j)4^{O7nfS=AiAY&^q%KTvqh>dZAwSZ)%|g&`&uTz6+~ z#EMlJCozx2T`de1lR_CQ?&wT9WE4k2rNrpwMp?%=%1ovh#>%(LrLPNJ)*?ons8z*j z0a3$z0v49RlAw`D8KQy@M+FlcQI?~g5@R+nVTVVGAZa%lUwsO-a>jF%#5YJ5W+eDY z>*yHi*sxHN!7Ujwje4CcgmFq@j&VyC%i4J=XqK=GwQXN?H|c$w=01e*6C6xI{Tu9k Xf$HPo)8%V>(th7P{Qzfb%g+1)T_tV~ literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_binary.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_binary.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..36d1f3de99bd0a40d99369478428e60978150178 GIT binary patch literal 3444 zcmd5;&rc*p6z=Nj8DNH=3k%Bz*IpFXF)%Fyk_}-w=s`Ccvc$y0cxapHnxS`RswdSw zBttlG*n`H)c*5fzObl}L&+vlTi|KeX#_UZqBqm(+d)0s-0kUBfJE`}+uCA(A@2mH^ z-uFE{X${ZlljP$+x-{))dO3O$F<`B)0k$<)D`+lr^$M%%1)UL2R1#IAU{sTZB;E&I z<Ec?dxkGLey2HKc4!fzR$wH?>9Y9?QbpoXo>H^9rlm_ZnC<D}^P&ZJoLOnozShpAJ z_CxnU4?y=r-+&%~9&Fsmj%-Z4;|WJLOi$G6q2<>@C^M+nYQ79jiFZ%%Aoqei%d#lr z2;qlL==mbZ>XA`%icg|UU68g*(yta-%z=_RBsgKMZh&oV6AX+3eWYdeWl0}*XiZiO zXp(vGskP=;x#jwzyw>2puw1@wJ(B)oUJR!nijs7!n&bf&@dm8iIv49!#ap#%jd0Bu zv$>hP6?h?^rtLUo9$1eaerVaN%EMf(5$WE2Nyj&g7Gxl{v>!9wpRIg8xAj2_uiB~Y z8|YBmHvzV_@YpqSWCL#{wtLv8Tzc^*#=)WFY9r*q4m|T>&m;mxi**0K900hD77Rjc zX+LH9n|GVVFYh&PKhKQq8Do+*RU~STo+N<U#5lmoO}K1R+hn_kG3V-s%qBLzO`CY$ z^~E}uVPHCDep+qFd}C(bT=l{rYX+h8MA-~|(-CG}1YTKi7a<VxGMBluT415(NT+HR z7mh|3eGu;nni#K#>F6UXCnxv|re7)rJcK$k5H=2%Q&SG~#rNYtV3Hi&(Pbx8#QcCb zFwK~`q&G8P;c^6BucEbXL2POJy;}E3GyH1h8GD`?e>U?&W@68nXa|GeycC1xwb8es zFRm&2<PaE<Hz7{(mI`9xDB`j-f{1GeLEl}4peY1l+2q3Y9PuB<+J?S#Ia#Y*j)9}u zc9L}_ALowpaW?<|%g2Wo1ys_T%_9*h2_LkRqB9A1Aw}1kaNb4yAmJ22cR|j3?Ih?- z!o3VZ*OzdYlZAwP4MeT9k*wtdeJQ?G&iO6UbppGSu=xpEi>d*-i--S>%Y=4wX-;7` zZ(<WRn!HCsl>x`~26~Qb5&D<^vkcfhEEwX#ib{(eCTWK3gE(1(Bz<+0PNUmJYxP2q z>wQh5>3s2E&$x9Z(|53(oFZ}7uu6=#@NJF0=SW<|%L!WG98>Ce^B7QRiz#(=o?~h@ zkF%SDnc68+%UMHJGLi_6Qj&*tDWU`_EPUvvq4Ol(CP728O#N1}slR7Q3d<A2XhL=< z>acCsFWPpLw(U|K%W~V6R0KvTRCV=Y7#}=UQ>xTeC8sK#B!!N;-qa6V(oaeypUMOk zfRX}3(jiHrPdO$#2+>igV(g%EvFf|^3SW{7=%W}7K8E-$!5I7fj>e{b(Z+w(UT>us j>u+^3_R4;`gH7%aohul=V%%ga&Dbc-hz0eHD!YFH{<!BX literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_deprecate.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_deprecate.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c5e60837b71b1c548313ed85f1fd1f1bfef0c1f9 GIT binary patch literal 2584 zcmcIm&1)M+6yMcKt1nBoEX%RoIGHMGY$di7C;b3Xnua)qK;x#RZmCTW8_n2Sdq2eN zN=9N0ZYeZwdvG8SL2Ag+CH(_(=pn~IFG_u=x}@Ne_TZb+ltO*#n_bD0P3SGNu=C!V z_ujnsdv9j<r${8k!5CilE&b)^xTlP151&i$&p!s@4u?6+E1b&D@jRnFif7J)1?*J> z)jQ|qxgdvw*n@po#QyJuAn-4Ka0my!^w0S!o>X|3ZIR;bu%v0aDVega88f?lOPI@* z2{k~L%e}WNFri?JQl4qqVo@nkNwGtQDdm?HQYK2Csj$K3fIIWgzXfl1ILk{tnAdph zSrsjQ4Z>daYdMQI*<Q{t+t%EYw=L_;*mu9BiN#?Mx4GpJj-zplyUSs}CBi$f>0J$& z0Hr&uKwI+*-r{j^c^vcw9D>~u@ZlEU1N;z<SUh-$nk;r_0N1<e1ApPR<bXd9?X?6N z!F~Uu;m0w{1Ah89g;hZt0sTQ7w}hog+hb?$<OupcN8f`7Rt2-St+UkEraE(1?g`6( zm$QVs+@@&uw>2!^4}<qx*z#OONF9;Vz=jZvX;P#l@0J}Eh*Bgp9dcH(MTtr(!Yu`Y zvuH+A3DOskS&+3wWa{V!=~_>Bo2?XxmPOZOMbTG~DlO?0wK}O~M~SMJ2}ZJZz>bol zBISunG_$i`m+*kH+lX0oMKeqyVHR4lOE)=z7UeQQ63UkhQ&&-5QWUnmYv+W^Fd*s0 zG)m4E7pa5^Ti3{nn`838c5c6Ck<1Y2&b$SPY#>)<0z44RFiJ|4Bq7I6e6j&fovmk$ z62wz+0VQZbr)t(+VL>J5JIG&0;JU*iNyBIbpk?@XaBQPJ&#=Fa#w#!;Rdo{Ml$!=~ zJ8KX$--Qvlc7sbN-Mv54OMsJx6e0n1ddYNh?Xo}y)P`tz^0I<$1@Zxf9L)kGs{`8f zQ1M>Y<{hNw-7dKfz%bx!0ZM6mWMih<C!vLsS)!!f(tCWGdf>F}@u-?STqvWUmlWJp zs`M^9`PISJ;g~v)#?PHS_vYl(*~zIlQoGRui?2J2Z?zVy!?W75rmtvj*(IeNK^9em zX*65Jl1b1Wf1!Gs6<XI=duh&@9qTILnA1UHZh~V~5iCKw8r<)Nswa(Xu6p8dE-z@h z6i<T?aVlgBvSw2D#j<@yQISo%=cAHl$||``sZQ-cE~ml$k;~bkPb8((l8V$Ysa&)J zD-zY<#2B`hQFedV#q_DWlnUCR&LIFjXmdN<l@?`pK4n+86A}bu<ZOTIfY^d+EE+6S zR!wK@<ue6cB^j)1i-ii&wG1ZZ%r&Ynk-Ry1MO&a!25v{z@6H98NtcOM&M5MYOtE4X zbnSe4>RiT<O)^=8FQBwYjLfww?`LxRQKpL(JGjr$6R<lA&-fQ!YuvMGo*Nihf30S& zUE1-7*Q`eW$#s7t7`Yw4J^xGM)Z@gdd&YL+%+|%niS%|X^K&rMh`qAWQ@dEp*JkU< z>3a0?P2ov&q;`Hgdb}Pu4yGIZUyn5UPdje*>7BmR*2%5Gt;&x>4?+)Ltw*Ps*-$P1 zjb0Co{_gL;Rc=JHhh&ZTaP3TO^qyRgon04y4fZzTiH(Ij>Mix&rR~A-dLp$ItH;i) zi#xISP4N$J&sSGJzuE{VZcc1SHDRMvKYHPz|3T%^;G;l2@ZpodNFzS_kKgMPpF{HS z$1#(N(xX7x0(1Z!1*#f?4nh{1ftIDmK(GhD7PKvJihByAPK9mn4P959I@37wB2ofJ zQnS6xIwjhnT+ThDxg2HRKFa<XDElTlJ?hlrdybxDf+W250&lB2E-B<4Isq*E)i4Zr zH3gpMf8&x*x!ymy;bsqa{6y3LF3*e25I1tH5g%#{9(mTw1dYCUQ((kSXrSqHR79@- k=)QL3NHgq6d$>rf8F9!c7aM3g*3CXn4E-HrQYWbY0FtrQfdBvi literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_tkinter_finder.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_tkinter_finder.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2d74b768e1d96dedf2ed7dcf91488c7e6034249b GIT binary patch literal 768 zcmZuuOKTHR6u$FFCY?MqS`rB^#<ZJi+QGVUAwq=;p`{cFmd@rfojFM+GnpCg+@u{> z>Z*c^cGZQyK>91X7Q|AacHAh%g}8}!BVBpY7%1pjoco<~@AsX@eV5Ox1ntM#z^RCY zoDPGr$s-_~y+^P|Y+?{wutiVkiiRi*vE)gHbaBdtED}h8Y|HzoGc+STK`^I)WT(bC zR)%!v>gfKm?_9eajj*BmIeh)!8`RB#+^PJ_+86$^3$ZjsAUjQ13VW3db)CGvxk<L9 zb+ReUq@T?{c6?j2f^O(|U~ApL?s=ejj_*2tOXGpousluI8ZPEGn8_T7z7M5mgd}VF ze!xxc1b(!VWGF`p2bN5RaTwDk>QdMOtH;d^4`!|;3Z-^nQJScfHha9sfKn!*Rw6}l zlqh4q(gIZFED^bzC~Y&k2vqK32h?gd9jt}&9@3L+W2wH<SbRd4>yMJc0<xTq9*0H7 z0*10EGSP6K0*kQ81SM#Hgx`|0;S}d>y&ZHxw*$Y`jv?@M8~XYx3p!x&*}C6krXDhg zz#q-2&-KCY>)41M#=IT)_vY@->yg7@HZ(2QY(b>2)|d71E-tnJY%Yw?GY>|)eaOmK zc=$b0fNmfOf^b6ae<RgXqJAcYuc_Sj+D_*vb?dn}kTXL0L@8`XA0}^qRPKB#-Pr5y zc8^Q7!&2>4_6vsYuDhN6nInbbPWiZ4JuFs_@>4I=--9g4lztIOC=b%)dimwjKtX&S V6|v@<+CqgKRFs8j>0nAg{|DLn)C2$k literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_typing.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_typing.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4ce93503814d64e1caf5937ad98c30a75390a0ad GIT binary patch literal 1632 zcmZ`(T}&KR6ux)<ci90Jx&@>HQd-?K-H9#QCK^qll#(`-2pT&z8Hb&_urNQ{JG0=l z4{j44+Qf$?F#(^feX7<NebV<n`n1Nx^cs|;PrPAiqUn?8?y&ty^gf(>=A7@IpYNVK zKkIrL!RlL<mo`L%9`cXYQW6F4eTNa+Kn`-Si#%*%%yq#POrg1prU<*}N}g=WO`qf{ zo@%O|W@=u_Oo2@{(<Ds~0Zwt-yo{-1luDwsdy3hC5$RYOY9)TQ6SWUM%q$U?jy|)t zG)G<j2qCIMRLwo$<;)yLzCaF|x&OhZp5oI`ZI9X0#H(fx=_P&SC8w<<@O;-)gh)S^ z<{=`JUT%YZUuz-Emjy&pPR7x{ZNDcZHJJkfnnX^=8ge>`Mg}<c9`MSSIY|1+P&2l$ zG?v(&m!!WHnf$kZsO2|@7m$;^gU!RSa2S!U5ky6dE~C#rUqzpYm(eQDckS@ddCb~u z-wz@?DhGZz4d2=<xmqQDk>o`tp7CR*&CnnUih;}2xwt|;u<1E~>DH7Vkp*hI7t6~e zFYNFpcJ%$2<8~#ix`gBN0!?vOCUGfa)l!Mj0+X#ds~F5ds8lgnv1!@%qat9Qu6<VU z-a#;JAc9QnAebo8ksQ1xn_?{FWtN$(Rw@CF!uN>n6gkWLOgG~|47?{b&&Sa0^w%ga zFexN%i777e7ox?G!-s~Rd~7TR9x<H2Us#Mu;2REEF`)A$QjCsI`6X%_6-q+lCsY}Q z72>ZLZh79Q#L;5lpDet7!U)R|IbN}g%k}~ZjhU&7h84w?vcFKM#7v@4;kE4Z^%l74 zRVbiY#SOH_i-t=m<RzK|m5F6PVhSZumHM<DEP07(mgU<Xu`HIhEH7|?XV5d2b+u}{ ziHG(8ly-B`%LQkUW?O<klu!n-hPI?P69jicQht9d^Zd=S_SuMDqGNGH!WlbSY=+5? z@Z6;;lm)pdzbPgJArr$mWF0UnF0jT2s$kC-Dd(Rl2@#a%rToW1;q@S<&t0CGu*T0% zj9-|Vo@A<D_2vl;sm2il9FYN2B`ze#ndny{rcR$dL#Z9J^fdP+dfSx8=U{@;fU?XA z1c3sqvR?|A42MZb+jux7nCDlTbSjtJz>dIQt+<5p*8?p?lu0n$%S;&$0_ucK-kWVR zd7je%F9L|*V^0V95!JG6*99J4B>ai?c5*xK&{F_|UnC0u2C*w*jJMG6LzMa*rMJ+? zpD5oz`R&eJO@APEZb@(KO0ukPX~WyO-i<5kS8jJVaz}2acQqubzlq%qvAe$di#YIy z^vZTuZ|%aisJvi3x~+HC&h08l({EPmvzv$OAKv=3p$<S8b)+V3r?T}Uw+1&)-#&l$ z{jV-H`bQh7(VFs?f>NDz_4eqm+G{oWv4Zib`svMy^>-g5P$73$u3la5-=tq&|Kj@H zlZ`>6ku|;_{_)rk$9^J>6K5OQv$gg|3Tm6gH`IT2-$I$5M+nRM11$p$%lea$kJvZ4 R@eI13k;e~+_q#F3e*r0)p5Oog literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_util.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_util.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d2456909547cfc272064661aae07adccde076c2b GIT binary patch literal 1588 zcmZ8h&1)n@6tC*9`O55Ovzyh3iyc9w(VfPPryznGV+@8EHhXdW=;=(=%ycr--B#5k z=@2AH4l5#hiw7^lf`s^=c!}&qn-zt{!`{{%LD-Y;b<d2<KB!l(-m6#jdmmLlSF2?L zG`C}J|D+M}02d=Na)Ay$2H}J-!f2QDXq{4&wXRmzm|oYpE~a5^bd8=_H+xpy>J{n* z*kdxQTkMtUC6LRkaBS4e8d)K%cuZL73~ocJR}#&sJVeo<X~hr2Nck#=Lb?8~qo?}Y zVUiZtqg!0{MVOXuCox~?`+_~BxyOY~B|Z>06UF6*uR2XskH`W+Cxi~xKsX_4Y&#@s zcs(I%7$!)#Kcns9Ncw+n=_AOS<dm*EW?Bwp5K85TO`e)th#=La5~&u+w1{BVf*lS) z(U!!U?I)kQov6oM7KQCj!lTe-eAnF&(Kc_Y>#Jc)_--t?<YArxx3<f}UAG%-xpAU8 zQMgch{e~+8#jnSHbH{IU>29p9xn5rd-CCTag+O{S+$(0_x+xg)IbcWRer5Js|NEEj zUcS5a<IWE|=W{piRTj>Tg#lPe6WNF$TS#<J1Aam{sZ&Ov%qF8yKAl-igW2FFD=_`o zILmfJ5v{~<ifQ#7-r_=Vwk$*>n&TA1E|jxUAhZ*5NDqlObS5Mr0=w{(rW)UOwA7Hi z+Y--$N}``_i%T%2Mb8VuKzZK5)rpI0BR%etC16M7*O@DKjIRsgGOQ+mU?nmjm>K{= zwqbsnzMvT(@eCLoP0YcR>b$Ea;8Z-X&7o3C0HV345sgh(z*$y+0jLWz-?YDM->K%X z#_b43One3lqn>Qlv*Er?cpwK~mF*!d3GPG7*?wq8Ti8Li>iEhQejq`sI^5n9ejIaV z^Zh1|@k!Z@2H$Tq?7a>T?Y`vfwee|w$n2&sm9zsmD6$vhWD$;CY<#YgI0)M{c!v!e zWL_KlI8@96+AK?Xhv#+DL%w%#X)+<8!eq*ez>dg2Q)K$ucen0cw9kunmW*{sGlrg4 zZ~Brij}SYCcpk5)qRA53Cm>8%fC0A)8`(TE1DI35CJFr>_q??1dA*4ByC_e2-e-Nk zn_C2yUR(o~PQmk4L9@r<c`@+<s7^_SCyOKx4`ZB$A#GsCWS~)Vc3@HS>LZI-GmkaX zoFC{Q{f$!Yj4pr>y)s-G!h^Z-=k?L#r}c?5g=kxS_~QVrz-AB^fTh*jA8ssrOYbc& zy}!D?l3IB&@-s0F0>7-Z;0^WoZDo%?NB%M{@daejJSo1J=i@E$D(JAQBnppoO6l+9 m#RsJH=k)AR^*4R`55xV%aQ`x1fjH?K{}!us{xJcT9rhplb8evk literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_version.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/_version.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..308d36bf3c5454915673e241b6ab34ad5f72cc33 GIT binary patch literal 273 zcmXwy&q~8U5XN^B|2D*v2wuJA(2R{&@m>(=P3UD=yVE9ZvKw|cfq3&Nd<LJzH^@m4 z58i~{dU8YQ2Q%}{@Eg9*I36*t>&@}{+0XA`IVjj0*j{?`&LopivI^z^Oa}9y3zMVY z0ZE{bgi_iGS7>ElPbOKKrMFK>*pE10Hm)(mxd}bmN1V50tmioYVB6t+CotC)q10-X zccc|cYH?=tnig(6RZAnVHe^Zd12An#wOAG}Sa&Yh>MosRXbVT<S}ZnVMHXk%M?3_j jb+<daue5ARdNAic5q#O$x4#eoe%Q^|#noG6PW|N{lsQX} literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/features.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/features.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e0763376b93485f6e1e8dd247a8db3a2cb28e1ad GIT binary patch literal 13522 zcmc&bZE#fAb?@!I{a)=`X?G<dka!aMTA?q53<(BefdmL6@gV`W5-e7FPh!PtSG@Nm z(0Y}KjFX6j8H<D#IdNKf>eQm9W17h{c-l_zpN?nxqq|6$&5PPHF`bF0GaYO>GYRdq zJ?Fmn_DeE0wVU3Vz4yL*&;2_0+;h)4_v}C9<=H6+|90|Wu&9or-p3C;*whTY@}H2o zMjfYkil;-=DBVZXm^XwBeFl;m`-~)I`WTX$`b>}-L*`LSpGAYU_E~v`H-&7Y_C7n5 znRyFu<!!v3cks?v&3z8Oj?a6E>2va%c^9O4d_B)X>f+seK3~9lc<-xB9}7@ED0Kr= zA*A^LRRn1PU(B!LOZfHt2ELRp<2Ul$tJXdbUoLq0ik&cjzJcEaa6V{P327m;tAex$ z%BvwQhVmLn*FkwLq$PYK-^BZ0GWD&WH29l8Kvei?#SsXHBXU3vM#54zd>c9se?Y5M zrq0p8u;4d5avteC)Yu<{uV8psalzN2!zcSsbR6sHJlyR!L_MTlJ{t_ng4jP44D*7h z*yXeR6M`r~$It~fN_8<LEBQmBAjp$rLQ5Jb%4Px$j!H^?C@9Mz0kRoTHUf2C7#LGL z81uql1O{9M5ts-LDQqY>fSFXSSuu_ULyAS4tzt_}M6stvYf%`|KZ8vN5gmFkL&iu^ z^vZq6T%%%?tk+NzwCLvP81*CS$A&3d1}HVe=r^?<zDcK{W7ImR{+fZJrVLX?8zq}k z@CF^8rX~%WC>h5jp^_4fH1#|+X_T!QWwld`?9jhQoO&*u%B-G`F?!#6iv97-6!Udv z(x|5A>GRYD<MY&c+HZ>f+Rj1Pdqx;MD{;XgF2IdO`0<dy1tl&p5eS9?10kW&PM~&- z1;oH8HzWk)aZ%X8^_~%QXgR_SVjtX4L~K-nMFF6~(hlzQ>0WVMIDMLQuXkAw#rpyw z3Ckn$89_WBlwcg3%nmUCd5Jp_2#pIJq8Jf(aGgUO0O_N_+<>MzUI0=QcrF-*N+{E) zk&6s*M}nbH<h<Hnlsz6k8;+b0>&<)jb^EP~MO~<**wX_k_I@}9V-ZpA?^irs1QXp6 zd0%8a%#)cYj!sgoept^3#4sEg3CIa@icyk9ze%xZ7*dR*(y(Gy$5D(hJ;fkgkdP2? zo!p~9)0xPq(8Nc=!)GRiNVtg?CYp|jkr81~Zs-gTiGijuQILeNdVZT4Cxq}s6Ht89 z*ra?W65iUlrKL#<%0k0fVDK!QWvL0yPLnpg)HpV&ILWs3t8)-5Vdx_GNnwblsfTXL z%3d8#SW1)bjq{ed$+*iuV_bF>&w0KViCaq_6s()8NfcCEe0F-@%-)BL#pGMI7R+v2 zvX&%S&+nEUWgk(r$@fdvyX+|Zh%#Wc`{le#c~=MLDt<7$WG!1}z5nsh1Qm~@5*YH& z9WB&PZEX$4zq3O0j;XAz*7#1X3G!<n!U1S=jgnIbG)BFt<t2KOmf>)zA>**oQ-<_W zlPxI-I%XKAZy4Ux+Qd@19?EZw{^oNKIBAOeiRU2{3GhIYIw^+7M+XFv3&3IGfH;6w z>bZyrwBH>GYe!;SBTgtrqRu#U*yk607`m_1igiegjD~`e>}Lo?h=qV9#WE}anaQG9 z3}1euSO$s6VN?#0gzOIHBW{9JacS$*>B<j<O$fCWqG{@57v(ITvn)9{Ad_q&df+Iy zx?^tWrg33>$@A1rY0>d?oOyZ$no)xo=^@334?zi#fL>0uQ!i74hGF=faszLrGWc)? zaa?9&)D^?!0tVows2+%Ek~<GqVzgCbGdhE6;}99hHUgm#CykFG1AtA`7=+42{04$1 zf-t}#JtQF|YWVO0?)p;=HLOTtBS7qipM<ysv{<R)jqf>HX3Jl%UpV)Zrth}hakRvl zmfu6Nf(-wXyPWwUQ_lDe3Ntb$3@a9l;k-kE8M7^Cv8d&&T4am{#}p>2epn!pgF{2& zHt5LDD8`YoVZ{nje@k<7v-lL0lB%qO#y}}-EWPq=$b50PUCi(!khOlCc@R@~+(_zX zgCVt`AL<F%DL9P(LiQ)~PC@}-@Uvb?D)1lZMoP`>NiHOpej%x?6>Gl`#w=bQW>O}J z$fgw|9~4DIox%)8L;=n#Ih7l+#6$oUBka3``v`|qqeh3y^GUt<3{-W&PwIq7XZb@3 z%Z8-8Z0`JAFz%|&V)^++bCxR`FCLuknAv*Y<(WA-dm!#8ecki=@i+Qj>-)2faYu8U zX%<29rm{#0Z#6<ne-D|@#j_tvDmrQDe0<6n1F`*VEl_uL%s7$~lVB2B;8P+IZ$go5 zO&GIIg1iM`dZ?HYNYNVb!68?<#Tv2?K`{3iLL)74U+`vlf-7N-djNYOCj$6VK;{M` zqafu9oE#h#Q09Ug1&;dZ)AgJ<9&R9|pIxd_*YRXRRW}f=wj#n-9?^CYuhyvbgsKy8 zB2t9kObAeX8uB7+5=E$4+yyzsB#nVUuG2K~N%1RKZqfS9q3S%XxL>8~eE|9b{3ISC z;H_@TSu}fo$*~cyoJ=Bq;PPD+u8mw7neUnJSSXHHv@E)|PVc{Oan1VgSk@=m!k4Em zP0jT#vK8}N5^U8yc5{N=yl`-l-F}Nsush<`9rqmt)7>h`!(gd^gi1*M|KN_=s#0A_ zi2kHIiXcNuT~P$j&%nIIdWbTwC~x)^rM43fAQb-6H&oesj%K)_)-N3WNg3Wyc--NJ zY8LT=2e|;XZ^d???L<fav9_aKic<`n8`Wt+uXmFAeaAZYbhdXY?2s572=c*Ps5}C7 zpzYYcJ;(d{6!)2cI5aRGjb^~10H@>=xI>+L4j$>)-+TPnp2La{*dE@9{h(wFL~<Lb z!*?C-!v^9Jb>gHe2kEL0`s&`Vuy}X&hlg{U7wF@4cD3#AIC{LTyH_bd^;kGJ9tg|1 z;8p_u+}=H?RxpSTPyy5xD^`6?N?z8CQT>Rjcf2+U0+1d=F<uxPh*tB#LHVm7Io5OX z_*h6#v*a5hF2<o8dFm91bgEJ&W%1+`f&Ld@;0w6kf!I-*ono@pSso>8V~Qi2GNf)( zELGk^fvTIj{8OqfBNKBDOpt=I+9|V~hj|PmE;Y@J<$V1smg3nu@77dZ^ViLj45+%0 zW~sXWO^#HiSfL^9vkDeE_+vOe@ZnEUc0tD;52u8DRD)Nk0-ve|>l1l0mK}BLVu#*d zF@m}%Rs%-6{Wh^5QX+N`4M64Aco~YQxrysB+JI3hM1D(J5+O>0!VHB1!$eh3SXG4< zcwIfHfEE%SKfJ{ts7gehDyC?Y5s{C78v!puqzfu%5|*;0o0~71x5Zs`S%OM2lqQP( z3C0J?Y5VLZR8PIjC6)6hZjRp^UMkr=!!EOhv)@=?7TJclwLw=`y}x8Vn!4&;t*&~A zy6Sx-;VR!)*G5zC(6+Xn#&?`njJ;)T+l}vRH$i^wlQsg)o<RD+69pP8NHNA~)M!&i zqKq>{$BbE;YsQHJVL7f|6l;hl`Yu0?TtB~H@)!kGpTLumX*VHA5DSnXRH7t;15ryg z0hq(80gQ-l%0MnnSFA25=#(`C)qes%X*Wb5DmW?Uy1AkyM>&cLxny+TVxN8yE7nw0 z|FA;9Q=d@?&=#5&1ISS(_{$Xo3bVxky`^{tQ1cez2z3ipRps7uw1Ob8>t_DlO<PeC zXpJ+iAPKY*Ng#{-Q^NlZXq|J>P@-ck9UVk$O2&;NVFIDj#+sBSPoPql27yY6_-SKM z5B2y<L$%t1Mr!1ZHyHh*0_&^EZ;t+S%>&e?Y5(;gYJ=`ctTsA5hXbQ2Q>A7@AblVS zX7c~E#d57);8diqfsFPkt0)Tf+TD;N%SZEbIeAUgP}BGU3gBSkw@WgZ14F`u5ZdRr zrp*?r6#fhVsmF>CNQ$ptrwL2Xlo?HgLyM!(;;-Q+JqMA_nQIc3b<6Dfx&4c5W!zes zw79NTCoILwY{}gAMRrr%x(SPF6PA)?cEjAsMYbw#ty*TB-|4#8757%n56?fpFc2@; zaw~9`c_!&_uhuAmH>%?G1Z4g{h-#9Cw~rfZkw<E~kbkOXqP4d8F`PH62aREIpW9m4 z4f+-u^F%brsoT8|bA%rt8x%tjWo)t7frS{oixtm61RLx^v#`3srE|lJY<1jPo!;Qo zZl*UFED4KjP25_Obg-*gB%X4jCw(0<nU~|6@Qq;#c)<v6cTPxOhdSh&Xmo=>e^QGS z4_T`PsPuI7pt_--s#$5)zk2<>L#pQjVP0hiI;UlbiBB;L7i1yK6DCSjDma8j7$5`D zN?sP@6-8J?5`NMah=AYPDF?S`FQ49<WGvq~c=6y8TLl<hVro<0o8Sm7G1W<jYx<yy zV?6G9K(0t|JYrK1%d|UfGabo<)LMY$G$m||nDuVbsg6IIlA%X6@P-(b7WA`fGQ{|` zUa0WRET^sB>6&8xNJ`94fl>O5z`&oLktt^2&BUzZNki&6y~XO$p_PTFOTe0ZiUayH zX7p$UGtv|Fb-9B1Y&f!I?1)#NV>-P+OJJqu?W<>-(GE{{PROW587U{6-3|x5EMt9+ z4EQyATVwPzww)Pm*BI-uZFBcO-D{qV8U_g?sA1%U5fn*sLRxYd;c}|rQ|A(oosa8t zjaspK)c^HNaxlZQK$ZWly&W@CCb>!<EB(4F{v%IMnPUv^CZ^9yxkiWK^YztFSz?xp zMY2CtQ=r#~2EHIn^B(BI%zI;&D1byk?Z)qE$6Bw+Sab1PFrIIMnzBM#sExZh)qBxP zRLnfmpns=RzE~f(J#~il5`NuT;7!n@73Nd|b6P)TgWflg-U~BURjRj`vd8Qf8)4pM zF?)L6;VNjgk+kA?4)6zJ&6FeEKITZZcgCF4^yPf$p*-e*cM5OJ33S4!>%Ux@b(Sk) zCVo@Q7BdsxrEy7`x*X3qPY6><>hYd~0QL7X>Z_o>I;Z|&)+jmqAERe!@s5n<HWEgf z^;|lYTl9QtU3nR2qE)X=rz5}za)Ztv0bjsEiLZidijC#PSi(`ioC{A;F_%6bta3f9 z0u7ENWQ>l^D>*@L)lSXQrvk7yY>fR8HRX=68SPL#%LyRy7suSVOOJ<BXAJvjoN}je zA9H8lIWbrp^te3@!Pktm<qQd*eEG=U)urjR>KM{jm78XdI!sOFXRWh+b>A?n{8;|T z8W`tm_1;0|$;1{4b~)iOz4$+&mjgLnz~^Insr!Up4n9#Yn?IqKLr>I8eY%&7{cQN` z`x#4dO1-D-eaq-I=Y-DEmwASo1cQygG2jFSW=GZU2t4o0;6xLK_n1-QaK!}%BIB~^ zoDvL!Ru&4W<vAWIz39C%G#(yAFD-5`5atF1NJ1fa>^UEl&wwJRIec&pqa4`mPM=n7 zgq`pb1km6|6Zy0zjiP|h+NZ(Y1{KTf{<ww)y_zfq6qhrB34yCfziF$Bk}5b!fE7ic z3r$f4)p!)VxWKi6xah3;lukM&wry?*pRKgcvi*txRXYeEA`=xWC>R6ufuUOfw<8#H z3^5FuMy_2L3XF#U+hiuvq|_+MJix>9z`&~O&6*)qwT-P>N_sHxF4FaO5b{648({VH zVQ;`+0Je(EOW@Vvx})t4UqApAf<atGEvhdQ2N~k@!;yD3^12qaAgUlleOjGxK^PpD z(Ps;d+KNSUE{RrkgeQVxBs>bfM4SeTy-T{o3c7@FQLblFk_8|!b)+>QDzqwXQks&K z-Al!uU^pO7YED?X8$}k3KM(vVSUB%dE08m{_wca}C~!l8V(ERhv%9zB7<{7=pxE{u z>*(lx{zyj)loViz{ZMCb@1c&pT|HQYvbw^Y?AUVzKD^|k?L_B3_`n-aVeknEKE4DW zQP1Hc9o<;K)nbgE5q_vc=ZL5aABDKuBi;L(`Z|wb@iuI4fzsa2ec0bg1Y3uXUR>=S zc+L{RO$!ceAjI{80*Eb6A;czVk$yPhYLDWZQ822W{80fMw|Ino0b$+nYQ)t(2NV>M zBZHBUpG;cpgF5l62%x_jHIR3%M>Gd55pOCSq9e-?ha$*Ubm&0&;8_qw&~9=H8i2#1 zraHqVo^n|HWBM8m7kNG~GwLsm;1Ecoi>MJ!8F-u+8k-gRf`q!GX0m@|+c_+Rg$rZi z?q~_TKO?Ja+!=}htCDs%rs`^8BnfxoH`MQ@sXKKCZU$~_T{!pFwnW{5-;-C}Z~BVp zM|2~s1?}Y@pwb?7YH!*+atFn%I#Q{AD__I<BDAoOS8oEr;j>u-Fdecj(9?4OBtDOj zhI%e)gd-SrXlI^_oUM=A(;rb|U0q$&rx)OJyT+acKI-Z~WggvH!FTb+DTRrQ31Nki zfFCMWjQfExD`wRz6;yxXxe;~l(;nckjlTw50VgHJtTH9dgCiIY%8H5b3K2vgN^$h- zFNyvA#0CSFJA4ucyb2OLkAuJ1m|{;KX~hiQfJ4Cxien%k3H{oKAp-7)V*&Y$VgZsw z+ax^AgOhGZfL`&To!IY0V*TN9SQB|k6j2IM96)p6e@ncB6$dy}B3H#XM}<K~uGl)B z>+R@9H(<pCeum((YYvP7K6qFgagqXm;&z4U>g?)J%qmw0*QH1h5QaxhVS3=5Sg~T< z-*)JbVr}o(d$=7Oixq1}x0>@8C`RDiO8zPat+>Y~Qy5Z_Vo#SS46c>fEERf!Jo2Xf z(%`O@gM$h!i#><|)Jhb?L<?e5-(1BAd4&$*O2gn@3?LGoCt#;JL4B^WXaq0*9Dv?O z=qfmEU@hA~Ssl|aF1zwy9=S9!V|>8a(17#OA;`?s&Ux-KrOS}pe|7J*!&eT+J(Y2L z)xzGpO!IP4$+Z`+ym+suAyL$@Skx3}yaX`rt(-ra@YdY(HYB_ai{7TVr#Wula?5y^ z*_kY?o<BD)#tZAv^YTkG_GN3{tYyxAuedf*T)S9Y7cbfzch%qA`kr<BLnA<BO(O0r ze|^&%jjuJ{sn~V1GhV(sZvV>d!Mn`CWsChg(TmZmJ=glL^xv^mLa%Z6Q$HL0`N&_5 z-27VHwdY;WU27N2F7B+q(eqaS_5OJMuDE^o?Vh_#Cr&!G&ZNEm#<90fUO$OIe|!8F zFTDN2V#A?$eOKJtoy>Fp)?_r9!4J-4&jsvzyYJqvBZ*x{78{Pn>yO2)Jz3z|2oD)o ziTNXHv#Eo=lsCi741ZikIrC?|m!D2<;AYz3-DY<DyHm@x+i$UpwFlzvs-&kj?rB}F zYPtF4rK(-8*lvGiwk_%P&3WP*TNCSA6W&(%X5BNB%ii^K?LX+6rSWSjSzfhJ7BAmE z>q>fx=62rk)I6xF1NL=m%P+RSz5VvqzuCD|cVMyVz`NTLRYzyLe_7pnrTbPbGzREx z-`~Al{nX9iV)Zk#hm%Fs@uHSw@w#~Fwp$w$r3Vtl2VS9*zIAgazW+k9wDlv(=xdsz zmrLsxjxLrq%^8yGOJCWY+)z5-G9Q@lS)dmx7QFMNi4Bdfv^}%{EFdqxa8{T*IX`;y z=q>uT@jZ9@1GkTqgl>7>bMJZp2&tMYidTFYDxK{QPtu64kDsFf>lzw=4TgFjch6U! z@YUbwUG%j8Ar-E_7P%6+SGYM*xOuU#0qDzCeF@xtXY-TJ!r60|y6!o-gp-^1+;vs~ zY1yhjHd6(~ubTeU`igZizkG!%wpGIp6c)|)%(Md%uXbEJc;(=wZzM~~<_hP|z3zLX z<h7E8w%1DM*?3X&EVB&Lteoq)>ny*|x@Q4!+3ibuEAM$XC%l^%+TZHD-ubhkTYc}+ zZ=YJ+_UvN)p+#?3y!Yg9jfVV!hu}$BGIJnv6nF78_6j?1UUJtwwz&IBcY>`*YT))I z_huD5yWG0u_J2}2;<xc$0XRn2EHH1`uG?<bF4jK1Sg`Z<*1OLAxUAZF&pl_=hg$$6 z4;_?s9WmGHj!yWnte92vv%(BS;L_J#HL*s#1rgj;Dd!Hj*+`KM`7yeGoLUX;z+N<G z5Wk_j7hVDW0=sc_9wsfcDiQU4@ojw+g~8V){|0n=9~wuOez-8ehD?b+#ORMO`W{C3 zM5LJE&m17*i@@_J_4?9$xyXA%C6=P4i5SE)9-2@~B_?sgU=_B%KjZ%>FdmQf<Zi+j zNcE~BZxSMYBCEYl5%duz{K&dfl{j~cx1kCp8VRuj^hneHOjW#375s{_{fe^xiemqX z^1V;l|CRDQG*iyTB-@(I|5CDGN7C7xbk={EXK@&&Eh}Ch?OSPf(mPkm7<w!C!#g)7 zfoV9wEv)K8o5^mNHm|r{^p=&10@|}u$Ix2<CU0kwZBM%QCw)Ch7KpGd={uTqG<=wE yYc)(;<M!qi%0?SjihZ<qrP&32S1|NbD=wDKU#ZNa-7B1xW`A2K({wdi+5Z5woXO<? literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/report.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/PIL/__pycache__/report.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fdc853fddc26b7b185db51b65c3489ce3d625b9b GIT binary patch literal 335 zcmXv~u}T9$5S_hCybw(x)`AEYSL7D86-yx?l1@l-tl7ET>D}(KyLWJ3qQ4;eC-xQx z79tkGCXg<byF_2{=DlHtdCc2rGz5pA+f~6`{qp7?;Z~4!;>06x;G~3#%m@J<@URT3 za265>07Kq;?Z1$}d1!ayXz5K%x?LuOw9FP#n5Ca^y+{>hAu@U8^uDQ;lG-9qGpQ?P z%}w0vhH0ABw$_-Y+Q;Yy88YvU?mPPoYsaujX)Y_IT#7~Bq7;;4L#JBa<J^uXBGZg2 zw}WCEfF=!!hL*)0RjtjXI8RQ`s3|Ot6`Mb>1sXb?TvLrcQKH(-;G&YeF7Z<DxqCjo ZIdHTJ2_YYF{0)bn5Ivo|!;$uX`~``uT~z=8 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_avif.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_avif.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..6718d4792bb26b7abf9551a9661a0a21ae7bcc37 GIT binary patch literal 91985 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 WRegO|Emjv68vFW?nD!;{^?w1c#%MbL literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_avif.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_avif.pyi new file mode 100644 index 0000000..e27843e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_avif.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_binary.py b/presentation/.venv/lib/python3.12/site-packages/PIL/_binary.py new file mode 100644 index 0000000..d3236c1 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_binary.py @@ -0,0 +1,113 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Binary input/output support routines. +# +# Copyright (c) 1997-2003 by Secret Labs AB +# Copyright (c) 1995-2003 by Fredrik Lundh +# Copyright (c) 2012 by Brian Crowell +# +# See the README file for information on usage and redistribution. +# + + +"""Binary input/output support routines.""" + +from __future__ import annotations + +from struct import pack, unpack_from + + +def i8(c: bytes) -> int: + return c[0] + + +def o8(i: int) -> bytes: + return bytes((i & 255,)) + + +# Input, le = little endian, be = big endian +def i16le(c: bytes, o: int = 0) -> int: + """ + Converts a 2-bytes (16 bits) string to an unsigned integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from("<H", c, o)[0] + + +def si16le(c: bytes, o: int = 0) -> int: + """ + Converts a 2-bytes (16 bits) string to a signed integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from("<h", c, o)[0] + + +def si16be(c: bytes, o: int = 0) -> int: + """ + Converts a 2-bytes (16 bits) string to a signed integer, big endian. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(">h", c, o)[0] + + +def i32le(c: bytes, o: int = 0) -> int: + """ + Converts a 4-bytes (32 bits) string to an unsigned integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from("<I", c, o)[0] + + +def si32le(c: bytes, o: int = 0) -> int: + """ + Converts a 4-bytes (32 bits) string to a signed integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from("<i", c, o)[0] + + +def si32be(c: bytes, o: int = 0) -> int: + """ + Converts a 4-bytes (32 bits) string to a signed integer, big endian. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(">i", c, o)[0] + + +def i16be(c: bytes, o: int = 0) -> int: + return unpack_from(">H", c, o)[0] + + +def i32be(c: bytes, o: int = 0) -> int: + return unpack_from(">I", c, o)[0] + + +# Output, le = little endian, be = big endian +def o16le(i: int) -> bytes: + return pack("<H", i) + + +def o32le(i: int) -> bytes: + return pack("<I", i) + + +def o16be(i: int) -> bytes: + return pack(">H", i) + + +def o32be(i: int) -> bytes: + return pack(">I", i) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_deprecate.py b/presentation/.venv/lib/python3.12/site-packages/PIL/_deprecate.py new file mode 100644 index 0000000..711c62a --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_deprecate.py @@ -0,0 +1,72 @@ +from __future__ import annotations + +import warnings + +from . import __version__ + + +def deprecate( + deprecated: str, + when: int | None, + replacement: str | None = None, + *, + action: str | None = None, + plural: bool = False, + stacklevel: int = 3, +) -> None: + """ + Deprecations helper. + + :param deprecated: Name of thing to be deprecated. + :param when: Pillow major version to be removed in. + :param replacement: Name of replacement. + :param action: Instead of "replacement", give a custom call to action + e.g. "Upgrade to new thing". + :param plural: if the deprecated thing is plural, needing "are" instead of "is". + + Usually of the form: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd). + Use [replacement] instead." + + You can leave out the replacement sentence: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd)" + + Or with another call to action: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd). + [action]." + """ + + is_ = "are" if plural else "is" + + if when is None: + removed = "a future version" + elif when <= int(__version__.split(".")[0]): + msg = f"{deprecated} {is_} deprecated and should be removed." + raise RuntimeError(msg) + elif when == 13: + removed = "Pillow 13 (2026-10-15)" + elif when == 14: + removed = "Pillow 14 (2027-10-15)" + else: + msg = f"Unknown removal version: {when}. Update {__name__}?" + raise ValueError(msg) + + if replacement and action: + msg = "Use only one of 'replacement' and 'action'" + raise ValueError(msg) + + if replacement: + action = f". Use {replacement} instead." + elif action: + action = f". {action.rstrip('.')}." + else: + action = "" + + warnings.warn( + f"{deprecated} {is_} deprecated and will be removed in {removed}{action}", + DeprecationWarning, + stacklevel=stacklevel, + ) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imaging.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_imaging.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..49f1901dbdd8b6b324ece00c8205f0f5b9678c30 GIT binary patch literal 3365761 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­mWnG zq+wqn5riHwZD?o%h)&g3eY0XR{xFObEiLl4LnZL=svNMx75UowHEmN1N11Zm<gyWz z71<cB5GGLG2=Epj^+1fzd;h+9S~&<zhw_qT)uFA)8Y0+#!ilYG9VqbZU?%@JD<HBF zo9%wSP*sy!QY4A0oX5ZL=c^cxO>XkCyqMU~-BWrnG=;S?@9KS|Ia~n-a-nqvJJkA{ z)HZXC+4>RbW>sM_Q$MF^Q!>IRUZYWLr3J=+Eq|f+d6&=-I~c${Va$_9FqRs|#MFYs zTt*Mu@`moBs`k78GqsJ<s8M=ECEoo{rrqjY&sMGDjJ)yzpVIsW{M#lX@SKRi@yIpc zpLYlpbfe9)!tv&X)wNBVmd9$F8!KcgQ!9i##zSnu|EUl^c9WyeWf3<|EiVZFGl?I; zzyG5D@_%-IJauAn@tB5|kxs0;^>{(gW`K2G)o^)5$ocM9S*Q2hF`03{+i6@?BpkkD zO81YC^ba;qot#`ugrR+|x4-+MBG{d`-}R<WaT(?AF-kX=Rm8l;3Iqn!02>jZSj#Fw zO}mVT$i~JBaY6kziFm|&x<}?oJ+Z$f#$+#5b}R`Kj1aD{V%|@c!4%);n&P_OA2l#Y zNr{iBq~@QSUN;RoO$}Tp;1i1G|1^0f-lgMf!PyD5hzE@dXw4y7#rU}Q%?e1Bnu~c< zr1|@%C2;{-y5KI@EVs=f8iuUr;aU)3XxnK+sJpTwLPmABd$gY@%<I&OOQ<yi;H`^% z@|ucj_V5pU+Pnx?sMAxZ9lE>Xs^+;9lQm<AN^S8R+^p)pyXq%GlOPccV9Oe}dF~WE z>D&cJfQDB)YcKy?b>8Klsp_uZ6>0uIw)==LFH%SxI#b?!$M`4<8X8<MwF2UDhZ}3Y za-#bXBw9G3p11{&>IH*t!R4)%T1S~Oiib{nQ%jw{UKgC97~R)YVo?N9ehs{6-0C!S z@>flZ;N3bw(;xG`Z@`c=H#tqRypKbaCPXo}Z`j}lm#wwy_mN9AnZcz7r|Cg<k3DCO zU^LRJM3t=iT-dp<u28}yrXr*N!K3a4;d_{%!5z(@@luP%eXS=78U{u>t97kltoeS^ z9)g^PI(qVEgc=4MXZ4%Bc|t7cB*UGlH?{s^poqa_*dJ>@-wm~P?8zGoU4U6bl<#^? z!qgt;fjYYEZL91Llq|VgY%w*2;8uLWM&KJZGLPY+X`(5_#@I5D7ami!r~ZY&gf@Pf z@+5aH__<lfQB7j9@KX97Z4N)-dPj)CL0`Xt^x3q}S^Z*I^5&(#Na#rJnu^ky-tO8- z2y&NH#G66+S`YP@=whV#E;qJdt;RgIV57TWZYel|$8{S5-oy-Ibo^9E33kL5JlVmM z3n>MAqXiYJI*7!P(8fsB{yYCZ3iYJccbk`8Ks!H1J7{LX)KVJvH|whU3}Uqu;raY9 zlPnC4C%<qvP~K*mO3TmUx%bO!wEmKXe@H?UXVT&3aDq>v<PQ`~E&q#1|DDM^k*;WR z-bn9h(W2SVqOILezYk?vc0tuL(6=ShaBL)%7Iip{7fLDF`~!7?agTWR>FCH64|>Z= zW6j^y)Y9n4#_y&m5+tj8<GcNkF{nTc^c0Bx>z*HixPi<@Lde2s##M9hO#<eo=2{-J zc{QPi<1CtM$j`;P6n@$DjadDEOhw?78`_M#KPGP!OZ<(Va=sNF4TtCNg2_QVPht51 z@=bl<kIGNM#Jm<+Yq=qVyHwD2*A4;;h9Xtn&I3Ot;Jl`#)>|K`M1Sh<cjEef!J(P{ za*8czM}oNgGyIelv!yGU6!8X8^m;GVRz6?rJs0&(^uNY#tH0KJKC~^;|N6A#<#$KD z!T#6D93*UI#Op_X9$UrltifpIW(B$Ie>v*7n`^6{zpI#huRG$z+oEz$qG=85LkTu0 zPdm6q(Le}QPa!Q$w~u9!jEre$g`|pcOCi_eJn-gGZHhKwapA1JEmWO1d6a~+XUY9Z z&g!@0KRkWy`Aa@X=?RjBTM#Zl)IZ^mL2ZMM|CY!4X@$zKE N$vZ2)sP$J-JLxbC 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%0Dk-p5n70PDtT28bhZ@Uk10a#9p^vFtXV-svrx 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 xDz*UY8mz) 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%0D*5K4i9!Gu^erBy;LQZ!<$6{|*w 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�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μ`EK^H2#y2Z!&~d!O`We~;FVc1Jk7doYEcQ7 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�V@hb@X!rpuI!d#gEPr@G?>^;0 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�kt8x;~TsT>pv0H}KctCr%E@x^x!A}PEceP>b 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 A9zKypBjM<S0qnJ0sP-XkPE4dF<uxuhX<%5($>b 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%0D4ZTi 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imaging.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_imaging.pyi new file mode 100644 index 0000000..81028a5 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_imaging.pyi @@ -0,0 +1,31 @@ +from typing import Any + +class ImagingCore: + def __getitem__(self, index: int) -> float | tuple[int, ...] | None: ... + def __getattr__(self, name: str) -> Any: ... + +class ImagingFont: + def __getattr__(self, name: str) -> Any: ... + +class ImagingDraw: + def __getattr__(self, name: str) -> Any: ... + +class PixelAccess: + def __getitem__(self, xy: tuple[int, int]) -> float | tuple[int, ...]: ... + def __setitem__( + self, xy: tuple[int, int], color: float | tuple[int, ...] + ) -> None: ... + +class ImagingDecoder: + def __getattr__(self, name: str) -> Any: ... + +class ImagingEncoder: + def __getattr__(self, name: str) -> Any: ... + +class _Outline: + def close(self) -> None: ... + def __getattr__(self, name: str) -> Any: ... + +def font(image: ImagingCore, glyphdata: bytes) -> ImagingFont: ... +def outline() -> _Outline: ... +def __getattr__(name: str) -> Any: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingcms.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingcms.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..ea34a8772df9951e84e398714b300f32a2c709f4 GIT binary patch literal 157841 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingcms.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingcms.pyi new file mode 100644 index 0000000..4fc0d60 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingcms.pyi @@ -0,0 +1,143 @@ +import datetime +import sys +from typing import Literal, SupportsFloat, TypeAlias, TypedDict + +from ._typing import CapsuleType + +littlecms_version: str | None + +_Tuple3f: TypeAlias = tuple[float, float, float] +_Tuple2x3f: TypeAlias = tuple[_Tuple3f, _Tuple3f] +_Tuple3x3f: TypeAlias = tuple[_Tuple3f, _Tuple3f, _Tuple3f] + +class _IccMeasurementCondition(TypedDict): + observer: int + backing: _Tuple3f + geo: str + flare: float + illuminant_type: str + +class _IccViewingCondition(TypedDict): + illuminant: _Tuple3f + surround: _Tuple3f + illuminant_type: str + +class CmsProfile: + @property + def rendering_intent(self) -> int: ... + @property + def creation_date(self) -> datetime.datetime | None: ... + @property + def copyright(self) -> str | None: ... + @property + def target(self) -> str | None: ... + @property + def manufacturer(self) -> str | None: ... + @property + def model(self) -> str | None: ... + @property + def profile_description(self) -> str | None: ... + @property + def screening_description(self) -> str | None: ... + @property + def viewing_condition(self) -> str | None: ... + @property + def version(self) -> float: ... + @property + def icc_version(self) -> int: ... + @property + def attributes(self) -> int: ... + @property + def header_flags(self) -> int: ... + @property + def header_manufacturer(self) -> str: ... + @property + def header_model(self) -> str: ... + @property + def device_class(self) -> str: ... + @property + def connection_space(self) -> str: ... + @property + def xcolor_space(self) -> str: ... + @property + def profile_id(self) -> bytes: ... + @property + def is_matrix_shaper(self) -> bool: ... + @property + def technology(self) -> str | None: ... + @property + def colorimetric_intent(self) -> str | None: ... + @property + def perceptual_rendering_intent_gamut(self) -> str | None: ... + @property + def saturation_rendering_intent_gamut(self) -> str | None: ... + @property + def red_colorant(self) -> _Tuple2x3f | None: ... + @property + def green_colorant(self) -> _Tuple2x3f | None: ... + @property + def blue_colorant(self) -> _Tuple2x3f | None: ... + @property + def red_primary(self) -> _Tuple2x3f | None: ... + @property + def green_primary(self) -> _Tuple2x3f | None: ... + @property + def blue_primary(self) -> _Tuple2x3f | None: ... + @property + def media_white_point_temperature(self) -> float | None: ... + @property + def media_white_point(self) -> _Tuple2x3f | None: ... + @property + def media_black_point(self) -> _Tuple2x3f | None: ... + @property + def luminance(self) -> _Tuple2x3f | None: ... + @property + def chromatic_adaptation(self) -> tuple[_Tuple3x3f, _Tuple3x3f] | None: ... + @property + def chromaticity(self) -> _Tuple3x3f | None: ... + @property + def colorant_table(self) -> list[str] | None: ... + @property + def colorant_table_out(self) -> list[str] | None: ... + @property + def intent_supported(self) -> dict[int, tuple[bool, bool, bool]] | None: ... + @property + def clut(self) -> dict[int, tuple[bool, bool, bool]] | None: ... + @property + def icc_measurement_condition(self) -> _IccMeasurementCondition | None: ... + @property + def icc_viewing_condition(self) -> _IccViewingCondition | None: ... + def is_intent_supported(self, intent: int, direction: int, /) -> int: ... + +class CmsTransform: + def apply(self, id_in: CapsuleType, id_out: CapsuleType) -> int: ... + +def profile_open(profile: str, /) -> CmsProfile: ... +def profile_frombytes(profile: bytes, /) -> CmsProfile: ... +def profile_tobytes(profile: CmsProfile, /) -> bytes: ... +def buildTransform( + input_profile: CmsProfile, + output_profile: CmsProfile, + in_mode: str, + out_mode: str, + rendering_intent: int = 0, + cms_flags: int = 0, + /, +) -> CmsTransform: ... +def buildProofTransform( + input_profile: CmsProfile, + output_profile: CmsProfile, + proof_profile: CmsProfile, + in_mode: str, + out_mode: str, + rendering_intent: int = 0, + proof_intent: int = 0, + cms_flags: int = 0, + /, +) -> CmsTransform: ... +def createProfile( + color_space: Literal["LAB", "XYZ", "sRGB"], color_temp: SupportsFloat = 0.0, / +) -> CmsProfile: ... + +if sys.platform == "win32": + def get_display_profile_win32(handle: int = 0, is_dc: int = 0, /) -> str | None: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingft.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingft.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..7e8d46e98c34f88d1f29ca58763b293db3f7a974 GIT binary patch literal 331169 zcmeFa3v?7k_CG$82M#ZLU{Rx@jykT1q9!Vu5pZY71bbwnQ9+}EMxrskAi_kVq6TK7 zX~)s53yQB@blqKc*9Ysm$cnNv;gJ9;A&LZ0iHOq8@Ccv~B9PzbR#zvLlG(4{-}#^O zKfiMfhjiah-MUqE@2y*puI@Zm7#x#kx7)0rblc^&9?E9(@`SnTGb|Qh`L_P}?Y5o9 zczaU1S-NkU$C|g+)#fzmYrYNL-lv=Ef4<?_Sb3SmUd;1I*Ohf9Ze6YNs7<V%Z9JcJ z?Ks24t*e!<81<xl>i1^4eEote%eq>+Aeh?M-p6EUKfd=hH_Mb)&#zW_*YfgG<#YBm z^I2D3JZl>(yPek{m#6Tn+sp==nLnJ1>66(ZMZN_COn&QX)iVvSX+LHSI0`S%x)KBZ z@T<e5ddjmMJ>R^6CZlz=$}9PQ^oKY5Czm}yET0w=%b>5pBEawcz>miNDU5J5esa5` z@!tluAB}$r<Q$Fv<YSJ`e;5Wmnw<0$^(Wb`qqOTR)aPjBPJx3SP5zrH>e;8?(fOZ4 znMad<ObWgIBSn2mQs{F@3cJisA?H!F>uB}SP|u^acTfs_ewIScv*|~dUy#D?Z>Ny| zL5lYN2KdqH*@(DwG(0PXeuAjy(fB`3p$Bh@_O4Fh4--<f>(Uf<pPQmxFQoAEM^eaX zPk}#`0>36j|C*eF|A!Ryd^Lri$5Y@HDfItf3VvS-`+k$6KGRb0pPQn+e@~(3uTY<( z`N_#B_h|j-%@p#trfBc$Df-J>Dddk&(XLBU_}g14;!;V9`V3AXAJwtB@L&G9Ek%33 zPto5mOi}KwDg143ihlRk6!m;OMckX0A`TpvLjSEP_}8TH6HkhE*;CX<Nui(5q3EOe zTTLo|fI*JthgB)cElQ#1Yf`jpSql5^O`)F$Q}8cGxksz#MA-Le?fp1~{C85+b8ZTM zn3JMD?i6;vJ%v8MP9eWMg`O`=fe%jM&p9dD+mu31PKx@BN#Q@y6!O1JA^-Li{`PhX z{R{){!hiYagcSbvPzwETMSYIu567pd=hZ3NH3k(qL#_<yA5!S;A;>vexqm_Y9CQ>p zMhZWinL>VA3cLS@#SMqe^?S3Bdr%MhaWeT1Tg@9LeG2&KXA$c!4qNeiCVih`UW++i z|Ds7h2>a2`Ke>D-$L}*?+sSNPaM;>DGJ#)ld>fbJT5kfs<M^|j-^TG1IQ}Wqk7A1t zH4B{2@f$dQDNU&Ga~}F3{WMtRayc)Vu<cxAA8d2j+CMh|G@t#9V*S@)bG~fSUvqo_ z$7^`I_%hM9kjsyA`7X}CkMrkpee!Jq+hopP|Cz~n5!e3)j@PuBcs7?)!|js$o(Wib zOL9F|zSbMRo%6T7YvNaM`7NBkp7Z~j+gIo1F5u-_?Ha*x8`tM`ygr}vcG>=F0_Sr% zFR^}y!k;y9OU|p@zLoP$Ji_JFa{0|%|5m%s;r#JGnT&tt^<QS;D@^=Ult(|m<GAe= zll~R=!<oFE_47=86UQ&&`k6<81wW(E&*`Tb^%-PSY^5idj4H=J0yzkt;>zIyc)9<N zF3*3d_AeUvMFYQR;1>=2qJdvD@QVh1(ZDYn`2SA>n0MQ||D|=`^<eUy$Rpm{@z_n~ z{V8qnSl8aU(vK>khu4z#Q^ZR7Z&x$d|6Sfxa%tT{ZE*MR+3TA9+vl)CNw=NPv8t2q z!VW>2%>$Z#tmm>=2C<(7CFZq*Kd-g$N{-w3ddR{p+9lyD4O33Ggnz>ETnYb_<M|Ta z%5krRf64Ju2|vQ|3JE`ThgqLW3Gd?k)e?SD(&Vp^@Qm#yUMJz(IDfr_pUumiE8z|< zXP$)j=lFaHS2(^v!Y|lq)@PA~59a)F2`}MzlY}3~@n#7>iQ}yjej3NyB;3t$UBb`d zc)NsO!0`?VAI@=GmbuQh{A~os9TM*2xKqLlIi4lq0gk&Q{3?!TOL!K?b0z#*j^|7G z4IKAM_*L8=R0+R<<HZtQ%JC8jKaKlasf179<yJ`ebsVph@Y^_EE#c)HuaWS{9Iun` z=^U?@@EVTKm2i#Y^CbLfj?b6y*&JUW;V*G~k%Yg-@wkNlh2u>UzL@K|S;Cicyj8+i zbG%K$-{A6f34e>@?GpYj$2%l^F~@Bu_V)i}9Ct|g#~gP`_~#tYlJGA%?vn7W9M6_; zo#VL@em2MRB|OP-uY~X6xGLfMIbJN`hd5p$;pvwDOL$+7S4g;%<CPMAJjbgg{A7;T zNcia-uaod>j@L{01stC%;lnvTPr^rVe7=N_=J)~$4{&^ugkR0^xP)KN@g@nM!0~1Y zFXMQtgx|^WHVMC%<GO@T=6Jh=hdACL;SX`#c2aNuui>~u!e?>ZDdA6WJWIl#=D173 z=Wsk*!e8Qeu7tnJ@q7vYGsnFW{wBv&3I8X@izWPhj+aPyoa3buzKr7)5}wBUQKf`$ z;CQu!ujF!SB)pm9brQag<Mk50k>hhEyp7}YBz!B!=S#T3@dXmTo8yZl{CkeaCA@>< zO%i^X<INJDZpD8IcUbXX!Uu3%m+&*&%z0Y7ggZHZhlCH|xQz~a;K!Q(oXBy9gb(Go zQ^H*w&ysLA$6XSh!|`khKab<N5`H1a^Cf&Q*QZy)FX8;EgpcHSv4j_JyhOssa=cW+ z$8o$u!Y6XPQo_qQUM=C1IbI{-RUEIA@EIJhm+)B}pDW=S$LC4-vmBo<;V*G~frP)# z@kJ8;caFy;{2h)rN%+4x-Ynq>j<-tqN{+Wl_*#zZ65h)3b_xHA;~f&dmE$)4T-Wmd z?HqSV_#TcsCA^d4SrVSk*G(=7AHeZ!2_MYyTnW$Oc)o-eS^h8KeR#Z8CHyj8&teHb zmCG-Y@H07HD&g52uaNL_I9@5?c^t2n@Jl&fBjJ~GyiURkIbJW}MI4_i;n#3{o`he| z@wkLr>-r`Mx7PK|5^k;QTP56D*SATywXWAC+*;SSOSrYJ?~rh7U2i+3cigtt^$rQQ z*7Z&ax7PJp5^k;QT@r4s>$4@?TG!`FxV5g&mvC!c@0D<CU9U>GwXQFgaBE#(BH`A$ zzEr}kb$#2Jz4bPBi#cxU5?-*?#M>qO>u*fFL&C>#IW~81`4c(rknjqQs}lYI$4ezV z&glvXpU3I>65e*BSx+mU72jrZ`Ari4f_qJV+gZKquUYk%@HW0*mo4G-oIh8><D9=( z!k^>(B@$lG>t8M5uW<ev39sb*^CbLFoPWNA7jyn534eq0H%oXf=Wmzre{%i~33qb- ztY7!m=lh)BCE+&CUnAlDIDeglS3YXmYo3I^{<VqEmvGyI+#e+T1J2(h;qx9c`P(Es z!Rw<-xa|&;-*$HI_I}Ly9TMJlr^)Y<@K(;BE#d7GOn$F~f5Z7z33tsf`R7XbF3!I| z!WVG;S7i6Dzh#eV3Ag%5Hb19h^{;(ge!hesvg#?}gLphCk?^xPULoOm9Iuw}D>+^# z;kR>qu7p={e7=N7Ilf53=W@JB!kc%QdTy2Qe{z0Z!W%f=A>p5L+;L8C{cq!VmV~$S za<e7ex!bHyzJwp)a#RUFmdE)L3I8?6D<ph4$Ezh=<#?ThPvrPq37^LC`4avl#}`TX zJdQU>_`4i$mGCBx>k__&;~f%ykmC+IsE8lSpO636)Mu82594^YgpcBQzJy=HaaF=^ z<#>sNPvLllgwNu5wS+&%@j40r8^`BL_!5rKm+<u*UnJqXIo>4U>ED_9X_fHfIj&3i zxg771@R1yM4C}4`T<*_V5+3CI*%E#y$MYrp0gkH@UdQng34fmB6%zg@j#o?gI~=c* z@TDA|E8*)nK3~F%d3zU0xX$^TB>a1hw@Uai+f2LY5`G59J0!fCm+LsMxBk7HKTE>r zasF%xZ{m2qgqLtRs)XyDzeK{F?PmQeBs`zv)e?RWmtQC0C7ge*gg?&t=S%nt9A6~i z?{K_H!fUwvRtcZaab3cjINl-QE4h5f`MveOh2vQgeuU%M5<XZr^_DN;=W<+?@C!L! zBH>qYyh6e&I9@H`vp8NS;m>n?u7r1RJ<ONzH#q+y32)$dlZ1c4@m2}{f#bS__vO!{ zJ0v`dUYNy?<AUD$_j0`CG!yRwp8kx}{8cL80|dN6z#{@)Dc~mxc(s6^B;Yjy?h^1i z0Y6i~>jj)2(PpW01$?ByKTp6%3HW>gFA(qr0zOW_7YX<j0gnrKm4G)1c(s5x3pjse z!c29U`acGgd1t~70Z$X;I0Zaiz_SEAL%>}Eo+;qj0#3HKesTqz>SX=o3%J7qarFv# zUjbJIyq|y<3-~|*FA?x#1-w+i6#=ghaHoJ*3b^?GOSOQD@5|H(_!EMhIsv!dDWK$f z0Usjp&lT|F1bm)=A1~nZ1>AZkg_0Ktc$UDwNWg0ZJTBlT3wV=&4;Aoc0Y62+TLt`7 z0dEuV(*#@>@ZSn}yMWIX@D2e#UBGRp_xS%A0`3rSw}3kZ{44>_67XLOxJ$s#7VvBV z&ld1p0nZWed;vd4z`X*_m+mZ874UNf{$c?iCg3Fkex87r3i$Z~ULoKY2zaG{=L&eW zfaeK#jeuV$;B^9ik$~3=_{9P~SHK?=@Oc70T)^iG_$30qK)^2*@I?ZiFW_+j_Xv2C zfL|uy%>q6`z*`0Uash7>@ZSiyF5q4PZx`?v1iVAQeFAPfqsRY83%EnT{Q~Y3@InF4 z67Vqs?h<gmb;44!1$>skpDW;32zb7Ls{-y7aQ;dgOH~CtAn+Fp_>}@)BH&{Myi~x0 z0$w5DMFL(a;8zKFwSZqO;57nXEZ}tlevN?F3;4AHK3Bl4cibp>o`8=R_~#4w^#Z;? zz;6)nMFL(T;Bf)xTU{)*Nx*Ls_?rd%W&v*%@CgFmCg2kVTo>?L1iW3qZx!$k0WTGB z8{coIxyEe*?hx=v0`3&>G6ByL@Y@C4CE#}mc(#C-3wW-8-znhv0$w5DUID*Lz*Pai zTfmD2{2l=>5pZkEo{~!i{62xdLck{rc%^_>3V5}EKPTWd0)D@M*9rJD0$wlRQw4mk zfKL<fc>*31@c9BR&Yu?u_yYp}A_1Q+;Bf(eP{5l6{2>8v7Vw7!{FmEbH1LZCe$l|s z)xbXG)J`?L!=XkqUs!|B+||ZIX<f}~c$s4<6VWw%72vM3KEiM1G%xOmW+R8u)`g$5 z8i=OJpV7?d_lZs;I?m{Kh^8gJv4GKkBbt`>#ym#9Ml>zyje17ENHi_wjT%NjOEe9u zMkS-4B-%lADWhi*O-pv8n9&arO-psd%jl^@)0U8t%jmm_rmY~u#pp>y(-PirGWsT> zY3Xj*7=10#3eoLH0GxFt(X>=I+88~W=s`p`Gx{>3X=!f68GRwqwDdL>F!~&#X~}KO zWAqtB(^A{0XY@%#A5U}*qX!dBOKYQ&(fx>~CACq?=rp2FB)XW<ou7a{iD)mQ_YzG@ zY9p7?+li*7wBcg(7NThhZ8#adk!V^v8#YF_5KT*Fqx~?oe-+U#qT3kVK=kQEH#7Qu zqR${Y&ggfDK9lGLjQ$(Zv=lbxG5R&4X$fr9Gx|lMY3Xa!F#1`d&nCK((N7YcO>`-v zXAzx4bTOkJBAS-AhL_P(iKeBik;~}2iKZp1;bQb8qG_pWI2nBt(dQFwWAwE|UqE#G zA!dJ~X-R6dF?ux7v=lX(8GRYiv;;NcjJ}X)T6!7_7<~@WwB$7AG5QRmX-R3+Gx{W= zFCn^y(SwPmC8SZw=zc`g($OeobQ;kfqKg^b`7!9ri1spiFVVC_G;$feo#>H7yBNKN z=ut#F8NHEcS~?mwMz;`6OGcypM`nMby+pS$x`AjP(ans0pXkv<#~J+&(FH^=VD#UJ zrlp`UkI}CYO-n$dp3yH7O-nzchSARweFf2#jDC`6mFQAN&muZNbTOkJBKk_Ay^Nkp zG%dx9Tt?qbG%djl7o#T;T|~5#(Kiu&711_EUrY4WM7MV``x8w|ETfIlqlu=amC?-T z%ZR2Wl@Vw3g+$X*%2>eYbBG>C^gKqNK{PF?jCw|&MD+DU*D!i8(X@mzDjD66Xj(cM zrHoD^nwCsPF{3*_0!>RL!^`NsMAH(<$Yu0)qG@SlxEQ^KXj&2(PDXDenwCO_jnOSc z(-O#NKgjG)bScqojBX&BmOMr?qu(c*mO4h9(eDslM)U$k|BYx`+8FZ~{Tk7<q%rCl z{UXt{lrd@;{VdV6gfS`^{Up&e02!r>o<;OsL>DvqA)@al+RNyvMBhVnE~D=z`d*@4 zjGjdFeMCDMeG}1>iMBENTB4^A-QL0MPc$t_j5bD(CYqKUMl+)?Bbt^JMx4<X5=~19 zV*#VjA)1yD#ym!!K{PELjCw|&L^LfKj2cD{CYqKCMkS;B5nWAmDWlVfrX_<>%;?V5 zplPXKctPX(Uw_ots1w&?+>d1rri-T|bR4Dvmp7VIfxcaB%4szuU@5<X-}s#Phi{=v z&Jk5>R};H_qb54iRr?Bc?UB$B2$;wPIJ(-(mDAAMt^73Ks2TMq<h50uJ6;Wsx(u8) zRr@wH0HP-^vDtJ3!;XGCRJ|he5%Ae3B5$w!#&jfF^@(2LRHN0oYHe3le-!-13RafQ zC`0f@KGjUmw$eYa(hGW}yNom8?A`n|^H3?}z3P*U0f5WP&sR>10KvAoDbGsJGIqd6 zQlz6=UNzk4QWIT$jAh`X`IC?z>G@W=dSJ8hDp*AMtXWq62+x0=s{N=&A9JETp-g?r zfvzq!`f!#><r1ZBzS%gNG1pLqedESohxwgT{}tK`4L^lwp=wL@Az-PED|KIBrUv+w zbx^zu{(|}6fV?>7f6kjH`X($zeMZ@lrpAJ97-*c^p~gb)4E+vdj{=GU$%{t;LCAty z2-)-lRbn|Nl1k(+m=>y91DxgeNJ7>0!;~5=wAIF|k5$9EUDXP0N@NQ7^w%z>Vlw~u z87|>`n=&WvRpvA*3vpT4rDcYJ>qk&SNSkCzqhhoM{jaRV?ZC(JQl9TduI5PXQOl(> zR?*BHNT%9m!mIS5`>Fbkx*M_IY6g8m*=)wKT-+r`6-P&~&;sLAn{5eANP<yUP}`<I z2$4(r5v^^5Nc}D<qIPF!Fio}xs<B7XR8ONas}me*^th9kk&xm4fWMK#KKdS&I)PQD zQGW)`XjUrpm|3A0IoqGWX6jX`8-@PUt=rlQh|+fJ*P+VB86eF5NRXGH2q5P7$Gy6g zmAo%(mV7Nl8s#k2PsncFN&Fvm^WSgspTMhd2Jt6YuOj~Fao3pX8@aqRO8-)n7bj#j zmzUF_YAf`K-7QoiyOCnH@^voaKl^%Gxs6gS531e3cz5gfkw~+Os1|+}!KhuvFjUKI z_jPb?^dRj3bUc`>iM~O8JwU(K^#04ypPX>$0s1v)Zf(436r#%G4aA8)u@uBzM8t;Y zQl+B#`jaTKCqVGNgOFvG4?Qsc=v0SVyT9s`<PsrTFuhOBQo{}C&-+7v9FbPF8wEJ1 z07%Y-<h*$DEg?s}?*`xXzVW_s0quKq?3p|2(8eP2-rx4I*#g>OpSHfXMXCLkxuV}) zqG}<xH*aS^`?%5Xrdhvju?xQf+7ZySim>5Is~MY$8wb15{O;T!e&zeMpnI6{B|s?8 zY)>G%WG*p7L%F(wfaBBRD86=RI)O7#Ae32(%-Ka{TbBStJV!HB1dB?wY@9nwEkk)h z``4;xt+qx*0hP*Cox$|m-K8pmNp--p%&&bH)Icjm?ZoWTW*`@dMpK+>S;#$9wKu35 zm{reSRokO|9w=L{T(w6{_q!`pPqT{BEBs2Z1N=h+;pJKSF;s&vnrBy|_^o=VZMe%; zB8L$Fe9^)Ti10<L&_xgUW2LS@S>XU*;!q#e-im>(4@o4<soIyTv578KGht5ysyxiE zT-~9E_ON&w`GOoVdR$eU)M48EJYzGgAsA7(MSShHzY=*5e4ezbBzz!)3CP!n?d|GX z1lXp|Tt>F0sO+2QyTx}aT#Wizj2l@k%-gSOACncCIhmP3xR8l#%xsS<vw1ID=aa3y zWb0gGBbb@oK=eb)&iVS;=n34;7n5U&b{^JkXFKbies^V{>~k`cD`;<ndALO?nR%fr zX4EWZab{*%90Av_wJAl7rkPPmGJH0fnJf%TYmhk3Jyf=`Qq%w=yHpq%Z5XPb3T=_0 zoy^cqGPIWrJxq!G6D^At4hWXrkrC8(!_+WcZaD4=*uQ{<128ruWUFO`4%JRR0*7@3 z%2uec8(jfya{yy_(9=<<1P|!iZqw8hbJ&{M9M?0i!Q=&TA?q>HP`*C39mziMn0AV0 z-iCBPhOB5M3k8Fdt6BfAME{So{=e9hUA5cjqFB{E;Rr@=cdN)%RJ&D)`~l8NBg%Tz zKn-`KRh{lr7G}6d-ls&;VV99pmB<HR8F{Y~q3>1ldcE)=<=TR(J^v`HT3%eAgC1eL zj*>{eH=ymZiWtU=2w6oeF^hoc7s)rCxr!I?PrBY$^#^D-3%YXJn|xY>FR}eJpS{7i zw$rbzLq@;bPL(Sr-jEVGo34|T+B*@Gk<SS~8mcCK?1NyEr5(&!k)vy0`g0EEAd0~i zBJMa!)N<*riSA&Oh`Skgel4GFTM5k0i?fAz^j>#X@+mbs0k)&=ssDyL@7fM17c;Pq zKB&zEw>@^<A8I;(r9AO1b<^0uo1R3I7PhEmLw>8;S9NVcZfcCnukEM0<$RU1H0PjC z+iXmx8Y2#YfhEEhwGBB(4s6P4%vtNxy0kBiv0w>A=gdQ;NQ^1M<;VTdeae*4xg<;@ zVdct{CV$R`a%I{EN4fG@qFhxTZ3t*BfyDOT1nez=wVi=*gDa5e>;om{95(i%u7X7P zEvr}{T1#a?Z>YfLV6-^DcecfpZHC)rWu+<~WGz~o(}^6~I%Dq7l$_gJ@@>dwjR#P> zGZ;H-HilB8Kk&Rbs9`feMM2T1HW-7ge%4OYW0l%_;B<LA3-h}2R_5(DjtA4oX-cFS zDBHjBYaPZl08wivTx2M7jl_XgR6GgS(3X=m+Q40;?PV?m^^)R<ugJbv+W_^EBY~GH z4M(yR`K9q!WTW~Tlc)}H!@#9yJUzrF$|{>&V~(4puieG^dF_iV<iXAT(FzA*hhMwb z?a+UfM2q-5Hvo<+V?*DBIWSS$te=1|6o3oUxco1qQ7oxliMgJ(k%Dxi{`n5_l^JfQ z{=xRHE(D$d#EPjoi|4MqO{$jR=5ZKYYIKNO`$}&&$C%pZNF*lSi1@WFRlhc9ToA?- z@wPq?USTit{1CdcAe!+WW;2*yU=R+{qOC1MO&^`5yf@DMYfrJGY8?ec8rQQim4Eyp zn+;*&EyOUIf?=Y1RZv6Kck6$LRtg$3XsEJr;Z=X^iC5vJcFzR&0HwA7-65!T=`W#y zBo#yWsQ1u~^(&#c<av}-!;;uypr19B3!P;#KS|7|fH`j`re3P5>B87YHJOR*$+Z}4 z9sj1VW)8MPlNa=Azc9Xrj^p#I`HNT>)SF4bs~BvbCm=Tb7ObKvaxWrW`{^<T!2;=K zQ+8n4sy_xsy&rzT5sVwm2E&*R{m%w9x{z53OP!w9-C*T^1NkwqIrI^fJ(}rfbz&of z61j__4HA=s>oHnb<AV~p2KWePRnoW=H>83`QI0{}MBER8<$6ib0Qom2do*Qa{#{}D zcfP&{x}~Yxb~bgxlqe8=)EUjzb9A`mQcZ`W(!?iQ&jw(6ff6}61CFsW7@Oht*6vgy z^AOQ#66a)7B${2pS;x8a)mVm?dl-OXM=)CI3`Q%mq7~URo@ePH3JBoD(lt(b9ZKZy zRFB#gHTFJjTc}E)6Dwz@{v^{c`JfVcj*3IS!76n4ci0o5oLTz(ZI-NP8nivo^rbW< z(g=18oPpQ}ZW0+#0*9E$OCd6#En_0j>=wxus&gS#zX1XR(G0h>N)1qNjNHYf?F_^| z<iZX!VcVg0OV~p63bTGp*mWeV-%*7PfUv^6owb{)&Nk@PEGwQW@A=(hJh~ED3TN|$ zm)rfGq&d2ib%GiO)?NBGC=Xro(;)Qi@S!14q$?1mRW)mTK(i^4^{g(v6~dMU@L&v| zqt025%6-UGm$~9!RBv-$a;i}*)TfvKU5W(%2v^m1IBXfqlCMW0A+H5Jv_jRIg&xZH zXHc_Z@_7|OCGP<iRBlA@vm)mXR!K4_Q`m>3unpgmIpsY9DqE%KO^wA&03(|URSad` zq0@9N8$&%d6vzcVO-k()M0chbDxMnbSw;>+eXj94Gs$82(RcX#?6_CowTu@V{z4Th zQjCfiH()R_*T*x3^!q72m(sVR7&HAgAw59pPD-C)rDx_*dTe+{h>FSAuSF${1|}Wz zc$(HNApUJ8Khg7uev;?c*6Z~|(^57_J(C*pC=jj>7+TSO1#!m7_@#pVHex@P5xezq zM0`L*^te{cg{^p*YfOR)gn%L3n)63teL`UeF*Io$LM6Cv$-(;a9v3>^()Gs;Xn!e{ zNn<tD=F_bRs%^|;Sx(bkSx&fXsIN+W_rZn954#)pDsr&KCBNwzUsxEMxx-1lHazMM z6vGy--7DBE01R<iH~Dm<MCilrYHWhL6f0*{TSvpRjpAAiOC+{2v#S^r!jBgc*Kw~+ zqYD-fz<U4AXUN6HLCinfAeiPmLAO`Gon(cV<w7n6s-5swy`DN3_E+D>{W402BO*{P zWpU?6^5;gcS#k7Z7rAu4R^XyJQ(tW8DNox-$ZCWaRV$!4sYGbolvDzD#`>FP5-&4X zo|YAi6`*GXX_#fnqsAtX`Et}iTTX#`6U#|+3AS;V`3+Ua+&CPlAJ_t_vB1<_G~Eg# zs+O)q7E?W=$G!d!y6`d9xE>(iM-tbszX3er9JYS-GyZ)2UKAv_R6V9PGnX;zX{~IB zv3nmEb^FjuwM5fvZ-%EC_v05eC#$<|v9W06sLD8+RtCYWX|-p8ZJ*-I%n93U`;;3o znW8;PFV?ywjyXdKyTQiJK2;eO$Ao)wyj;0At_<?KRsBS`DI{Se+{F6Fy@(`idk$mj zeWaOiM}`u?(g_MM6{tk0C+P97QOWaghyJhsk(~Wh5SCsteG8ByHvCF+(WOs<DC00n zFyl?_ert#8fIgiBZ9!6bJtAvgGhcHh6_~G|L;02?5o=c3n^Hc}?_}0PU1<JE`@ok# z02_|MX1Ga^HJ*^4myq~;ps1%gANbrip7x5ci}ca>p!P8~mG@yIOpOja<v-X9T^Z^Z ze$-`GBAdDTT%^9>h_fDh8$GG^RS-pe+m+h6xKX187}%?wfhZQv(VF>y{)+!jrS@5V zi;?{RCJnSNgqbC63qY^`Vs1+dZj56i)c41mKbfkhK?zq<S8Xgrev+TL_ASaid=uBl zNoY+^JYf56>QBcV<omao@7YI4O1{3O4FRYb^+Xp$!O2=?haiS_+6{40VfxeH31Z+! ztuTLAB7-t9Ye35wSFhI59|fd_qIDYe5Hu{8HIZ7k9=>4qP_pu4lnysWTU(UK{h(;_ zyANiiqWsE2y^w5o6UxF)Ug#t?mgThswH3s7GpZCp*Pq3bA#N&eppLuoND8}EdVk2F z&~P==@$efs{5^RD;L}WQKZm~r%y#9--P5sUNJZqMx>Uqrh=7$}z&b{W1Wb7f%eYN{ z9XtVT1&cz^D;nf=1ftiYJ2IQ2Wlwiu{^pO}jgW_(q{6(dsy4tKNPL@~oCv=QM8{-Z z86D}u^AE@Vn!iJWQ;BS)GNKo|_5I|~T>24!&=z(eyY$JM&6?3)>nZYlt3+Nx84%?N zgqMl#mR9wLvC$d7&PvXM-T(0hQ_zw7NO-=!{VQ`JG8KxX2`YArmWd9-`)h0@Cal}i z^_ywb!BYv=(nm3PMQ6KfP+i1(T4yD;3`(>O>Dxe(vS|z^zNf3f7f9^xQ<&F+MH$wx zSl@=*>~((k2{eEpQe&QK`~mr|QkH;3Hx6pw`L!W#{btxtjgCiEA9iXh#>O%p&@QHJ zMMp4p@p5Fa=_h{K)#Z;4!E98i9mRYJwId1k_F(i6)Cr@`M*90`*yr;Opi5zGOQ?U% z4EG7PPzF|r(*n`4#lCQ(-LI7n@o6o5)F~=EpsCOz8WQlVP-6eY<9<^?RMK?_W!N(* za%oN4s<@sO-<}z6J0`rv9_~P7n1fQV0i{GTP@zamRV8{!{+OtH0XtL!d(%LlmABHb zeIC??y7fE0Aa5V)#w?F!b}dyG_+mHkK2nA$|B!3d*nnm=cD>7-L16R4ehp^%pxG@o zHtIAk>W;60*!b)~tS~?PwO3UN8`xPPny*B#`Awe^Wc5)NVoUQG3WweMX&A~j{EZxg z@69G36-FoFwmW|IjBlaq`1-Me3CP#$(J13#Jexs#soX_SidpV^?n>hXDwpE<>BJrz zJ{ixT$scc`T!k!`pODNG&Gfdr&GgGC{VXe;!b#I6T8@lI+)B{2kHyUU5KJh1gl<Q_ zL01XF!!U`?aO)f4?`m`;3oQC6$jati##|=RChM&gwIsdCcs?|}1bVa?8<A1f*61x8 zQ7_X+GRGkFp-Hv8%1@vaW9}iUWgko)2GMjdp!KOj+&rLfL_Re-4G!O>zr}-DGXxWT zKH5r==N58nb8P6+AB4YKvm_4<1wEq!oXW+9h%(C1Geo?FaR>ET#OreaMPgupN?e8= z)q;JX=ii!4U3Y;Oc3|!K292XX;b=4Vby77m?=_izz*2>n-lRq^0TcGB)|wnwnjCAm zm?&|)Ogf5Yo@OR>@XVEzG!sdtTKLke4`M6T9?yA9_Bfa1Blc@8cBSqL5^8Evsl5yY zY4fQKU^>rYvX*<0nP$p-<1b7T<9QW!68jOe;xo;pGOPWR^o^PHfSI%gs}^eYdz92f zNmf)WL?BivDxw1;Iz;N=HZ)FQwz^V@yh5yruQO@mHFj}-p&R|rx5{KSqg<I>>|`6Y z;f5>_UK|>jT(YBFnY0T3mtv}xPzH_GqpGf5*%4L0*RDLIdR9~|HQXqewDLeJD*QLp ziHN(1*uyHA`O2S}I%+G-hJA%3ELPEpT!wy-`lt0Y?U4CMPy-{|Cn<(~>M3*gBNL2j zE*jxg@+&We_5ALM1Kni9ix_*Zb(2pwY`u_QY_1cEgOp9*wyCS@mRm`WnapZ4+}S?X z*=RO*92|MhowPf!Uq62%jp9CK&I-2R&D*Je1O!7zxMQHU)T_*1o)-`QXjf*($74l8 z)q+h>b+!b+6Ej+yWa|z*a1P+X^8)0(=|-|&Z45O_d^-dYE6oN0Y%fwN#Ip(Pq8Dkp zU)$?Lut8;qsG7l=ki~uvWxri0BIGX7r_it+Ugn}D&CU?Q&u;yV&r#z|Rk`%kWe6(c zL_ds;8jbd#QUj37q2Gv3k6gvpqzw<Uy!3PxI_ieH=da^c?XYQ@V<3Z$GGOhKx&L)i zb%vX18g0Z#L2;4JvBDBg26r0{H!g<2ZkU0B;?~F|Yq<0qp%&8`Yrw|l__XMug-GaE zFovTX%e+ncYw#VYZVny+W4}T#Kp!Dj+67Z6vm0nsoE^Uw#}$|%vdIv+WC$0r=aV6v z`eXDQ5{5V%d6^-qN-0u9c}fI}7aJ6JD`rpkA(q|X#1`7B@YnXxz;jOmnT@a)a+cSF z2sh-Ody@{jYOh+h$y@*oUq_NR>l4>A-R9ps5xs^z9}F+cC%r<+H7J23Ls|a&&>|Gj zP@hinvPjqu$$ubD=50#8DRf#qZ_bOe9YoUzzq<pwQr2E#7HQp~pNQ6wFK;06q??{O z9wrDQph|rObca~N<}=tUV>CRHg%aAQ%G-%;x<|{++}PDw0h5?RK<Lq^4cj`QG%X!- z9*7?Px7SdN=Rl~hzJL`Rnz1*i413tAN()z7e+0D->_R#NntvxeY`Hz)*-`bPxskRV zkD2wiKBL~W8|Ps{pOW7ywFrc0MCKe6k{n3$82EGv(%{D7Wm%SgvZt>#U<Gdh{C=}J zrL|Y(>ixMk5Ze(gH|zb;bgE#7aWjV0dV-oD&$tZ~<m+Q$v2ta194pgv;`<omg)AvT z;;AlQzluw2_(``Dm9L+KIve+a1xd$}F8IFP8OeJD!}ZKxy7!MmV@G7M^9A!sAS5+Y zJ<ep3XwA=eaneJVQ=`jTSP8eAh5xI}%<>9lX*Xl*ZDvyTBr|CiC9R_*H1S*HPA<}S z;bJTW*4>}Y=Pg)#n*KB$a`~1{tDWRzp3I~^<t`yIHrq{`k!oWE4;Yy~pwoz3WoZ%j z_oN`C(S(nFaI2elbi0G!5(j^4mvQqiC9!)t+Cx9YlP}zRdnC4-93+v-qaOsph`YnO zAsGyzDzlpb)(usfA#^~V-PF(x4F*rSD{&iyAWG9eqYfNi=B19*nu!WUKX6k;5qLJh z;A-?;)&{K+LClSy--Vq{Y;xegintT*8i;i$mUDN*VRs<{aUDgu9<hd@7Lm|WR_aqs zxW0>?@<L*kJ{yJHcncdFZbb1IfA{6Z-v_TvIsaXzRprGvCfc!~tP^Xk1KH3q!|k>! zg-apAMZ!rHERz*GKPpArD&QG;EfhO3`+tgAixfyphd}fZOluJ;nQ|OJj-o(6VyTyg zH$>HUSp)PR%rV3Tp|vk$(7uoJI3EsS;(Fd$=GF8C08hEegi7|7eM(6j|C^NT4a&HU z%K1s<iGi%GyEpAqZd!>X)5Lp~b6#fV-K&&rP_mnpajTT`jlIgSO`3@-PrQOM(QA?C zrZ^tz#gXMH_aPKRS}<LA_&aDjBs3wTp&8m6EL~5op~2XE_OKbNS@i6uz({*}^(@I; zV~^|4lB#&p599-6D0wOwK}FOso=n@6hzohp-Vd0$SWHpQiMVZ0>ON)ANcTQvLZiL| zg7(oK7=;{4CMzH%!wu;{^etl7SAeT_C-DKT1WH`+GepSQ4UT4|wu)+wVjU><F5IKo zVQ!MCoUbcSo{fqqwWs4Zj0VS;K>Gn*n9v0A=oF8c9&r}tt;AY6+?1he6L7ExrlqqW z#f93TUNOvTixy;H5Jl=ZJP*FeuMKefV)q{7iWUq=9PU#XyVvg04}Of5Dky(+fIA3g zXKh?-P--XjMHNv#<_pyr9G;j9>-f{>FT(}T<7<d4^kC0x0VY8<9PIcueSREwN=}6J zOyZ#!?(^&-DG2iKy6d3@oM8C@PnPY(R|8rNFU|6&Kiuw5AKMYY?$xX-5m5cw9#TdS zEyoG0k?sQ<f|yz57i!zkj(q4n5k$M4z5|=-{6#TyQi@z~!31+d@>uL;W{#f>YviN< z2rS%qKINQ7Sf-9~PC&K^ruR~|Qz@Gr*`N-zA5#oWf-1lXp~K=q?R9o`LJfalhE;90 z`y-^W$16cNY7Gd8ehL@rbxI+u2phRT;9!LllN?Yb(ZY=A%dC8a7sgv<i%m#(;gk)| zbogVpr@2tPi_TH$<3FMkL~N7wfdNz!ln3eEHNbWfY_y1sqC`s4C@{W@<61O=@7L!y zvk6A+DsrgVEUr@^px{bp-KhVwphJ`Y85nUWDEuD0WP-f?{{|bx;K1K(7CXpr6a@8a z(A|i28d#}9R2;1C#k5T=7Tmz=Rkf#>?b%5U%kTl5NumwC58(d(^wMGJCE2hqOll+{ zsAv40frE0-t!6`@pPm<B|GO0o!c+onBJ~HOrdg;>FS9zC=FuyVySKbCKoArwq2C}@ z1DIjoJb`5EhoP$EE0|aCKE6`PZiVZdb=<wE()eb0Uei9MVM8Bf+!ye()ynm&l<b6Y zA=Z<8eu#Vt=xvjdy$AV5eR&V%`x^NmrePoQ9YDUXl<U7xvR4}oo!$9J_wB1N+D~D! zY&f*LLe=(CU&jQj?)$`cXI(SK3|kjYc|MO?-fhQ7h2iSw4pjy0IS36^2KxK0z7jT8 zy@|O+9)j8ABp<8Z5XP!RTRKW~+Q@Z{i3izy3kGJ9K#kHvf3deeLA_l?SD;=_mX7yW z+KkC6{L-KP7m6V1e~9C^X>Vm=#Qh}l#EQFWI@6WMeelPT8Oq};F}936MyXBUicsku zsMIdR?Fzqpx?O9<I1xgo1Ff~2u<?nWl@%LsnokM*fS#Z=<ZSdLpqWZ=C|9kgpn-Fp zaqRL^IYVAS*)|{MwwV5x9Z}0xsrDazIqijXZsaL9b)wjSe-TeW+o@vAs;Ar7(0n8| z;a0_o%4))!LHMyfM~9T$exOdDcA!@Pwy9-UxL}Q6N9X4#l4p6w4pE-|6DVcjY}RgH z_(#k>3Q#l5&|Qc&Yic^vl-gBLgWrR-&!Z1h^Qy7YJ<dHnujRuo<Xwy)*;N!9(1$u6 zRZq1yvh@m`HXGzq-fqB7c&@VW;uExlH?lu;hGyg>l(+YUchzWn5{AQ0zhW0V?1`C2 zXv9(qR@V(U0ZSQ7@tdpOw^VnUEu7)Dt7Ws@)nLN@BRd-yuz&7Zs?0haRR}^sRuqg* zboirpIB`q|wxM94uUXmEWj8~d-~Kv_adf({0;dZnU_=Nn$I~{Ds;5;6Uy6OE?y!at z$M_PRqr9F)AKJ`6pzmoy_b6rE1LN962bUb3=)@hx&*W?6^-v+=&%4ZsYWl@c<uOX+ z38<3k^Z|-Bq*LW-bKVZU(x4qjZa)k<kFLtX+uhRxu^~*irinjrlXC|#ge|}ob1-s) zKx|kaR9~ftPklkf;GC^2T!!vaOh@;;IPz)iL;|hP3zdZz`k3howZ_<uc3;kNzw$PD zAW~KqDsTUw#)e%)B1(hWIwUpuV>hN1m2J8r_QB;fRGNKXA<m&Bb~y^|NBr8px<}wH z;6`=FL;Bn6u87U<M~sEqS|5yCXkY6`cq{R1tHFvw`a@`QQ2P?RAA@(0z*`U-ItWY< zbplE9g}2xANFiZkVnZB0dtwoJoo{9*d5m8vX!6%7WI${jG}yz53|eAett?D~`z?d} zZH+yc9xOvGXiKH6D`4NN+7HzH1~VHvnGO#q!9Yl@PqaDuw&It+Zxj0+_i1U#Kbz}s zKZeM8Xq6v6#cTlEk`01UQ|T1{;-I<58bLfsAbr!R#Mr=olc<{w8B~X!Gcs+uW27D7 z1Rex#He$qHch5sxC^7`$BX~AC?vJ=&?4-!SN4_ok^YCLD>25{%!Rf;Y%cNr1iGvI4 z8j^*(?r6w(763^V4vmq_jr~+)ruI8(4yG~IN_434d*tQ&590ZyCjis=C1i3V6Rkmm z%V~R*j@l@7&%wLtC<$#I(}5f6v)#Qj<TCd&c;D3U=p=UqG=b+L7%vABE0UbJ>iNs4 zE7G`oD((!eLs);Bcpu<asdpo}yUf}Npy=#{n{r+a!rC{9X5Nn-1wK?`(%wF<XT(NB zs6I8wgZh|)&G%c(hP(~kb~i++&4(8nWAF>(G)(sDt4M{(SlthyO=POSW30gdoH_1x zHW4%zGy3^3WMN)BZzUV;=wWtycdG|Olg3lulT@-x><w<^Q9hE7O_f)vN$cUdY`-m< z`RZ?pZ8*KFNS0_=isbuQGV((Q)TC1YqDjW(thT`6&J;T^QTNBjrt?_zJVKox6WU@L zL(u<GG<Ya5k;@ya@ynXOETZVIyln(yBQHWo2qHr^`cQsO6S}vdyuFs9N@47S3u?gU z*A6FkI!4DPjDmxKF{mv!W5F@tiWkJ*$R;kIruz~)`nMj`4*RvGCQEuy+eBQ2v53=@ z)sWck@Y@^eE<%_<C_#|Wnvu`WekE{hc@Y}fHS-{k4$c0$6A&Eoec@$xAEJZLvrLJ^ zQC^_zAV#SHm;1C;cvSvHVeCd6QADIGKu<jtBHJ7}&7P*I$MT`>z#bgu8l(GSHy*)( zF9b|v7WoF{wU~kRz#hLx_k(pzEQ7{ZTTxk@WcJ}Q^IA-)2ll*AO7t`<W110>0`_(m zlwO1Bv?jz2sB<T#Uppx*QEmKvb-LAkn$0*DEu_)D*bjY{QV^O4Q51y8QdSUZ<elIT z4RDFSpsV*dZ{#^P&hY{AEn<i;<hWVSkRO?k)lM>A=5Y)N&M!95`F4zB0NMGWA4z6( z;MK@t&3dh#6}=yiRQFd6N#^qYen0Xj*!lQVN7&i^mHsrACqvxiv;z~Sf7Y=&WPXAa zxb&Q>yBT)GO@=$cz)qECZUoOy3N??uot9kOYxYC^s3(4fe(xWVU$x742s%W!-Hurp zbz2I+dLimzj78_e^Th|L0PS0=3`-|xBq#L}9)ZG{#w`7WM)T*34r&D&my5ddV3JD_ zigkK3qD-XrS`!zg_B(VyV-R7n;d8ITOyb`?iIIa$+1z4>Ak)~!qIV4|ALo-0*No4W zm~jD%8f{fjOLU!e8QND~zqD7Ky$EAF9Ok2n*r@f_qn?eKJ6|S2P=XgSR4wys&}?US zJ~V?0oqj7W*xtAeu>^W+pyb%_m6Tb_{K#Ua14{bk#G+-sZGjXykmVUO%K~K4Pd25@ zFrh`Jls{V;J|rm}@JdM0Ebv`ZO2EuAkEE<4mguNU2+}fdusHutoOn;-7O=cyO1a2N zd(D)RZc4eIq&!0`H2A*2(#%%J=w8eG<|Ve+!#M@^d_ylI-dN_#=%q+qhg49%H>v-C zGKRpd%IozJX0aa;Lv+*}#y5P&c$9WJr9?-~B1p^pBTt!#lw-_1b!ML1%#<~hXD9p; zd9DJaUjy?j!mvU%^8lb9Y&n|svurwua!vn$RWgeN(O`5bs%bIUh~avZ;Q(F<VGMMP z-(na{H5zU*d~PxPfS$hy?qC+!^Ekeq9wzwkE}M3kp6xjFj}{|}?Si||1FNnNX<WhE zV6;QO7ex5Sq0{kvY+yOc&^C6zwt;ap+%Z&ng3h1e^xg-Q8du9QW~ugOdV?ALI5x*= zL;g;O^7v=qnu&Ssv9_6qyA+H@k2e5W>_F`xh2$T%OO}9n2|a1cP-Z7iU)8rc+-@h$ znQM4vUtbJc)Ko%;LwPRlo4JGJ`(_?u1w4m6v#L+>T9O~u$L6fVo@=<%{=m~S59d2= zw$S6TIlpJnWy%vrr~&`phDvQY+jfkq{Bf=FY(q__{lrb-Z;phQI@mJ=)*dR4Ny2ld z=TY7vlBLW^<h8h(l*qO4CE{R$J0SQzS#U!6T|9!_i)?Ue&Bpn-Fu8dxOc8iH;#lU7 zGk1Qs$8HNBK8dPuh^jy*26_zWt@-w`yiGF?Uvw-Lzce=C<UYnia9HDg`0&6`|GZ7% z!~Kwomjl8b1E!CFhHbqy-1B@uY*#~fyW%eF=$(Tak=mIfaox|{Ilu+G9kxGk-eU6Y z<nPUSCw405#C_pID7Jx_s&6xUbIy7Wwit6wn=ydeV(N3|4r(ZJoTxn4faWW#5jJ1V z*2ho_*1XyAycXjCJQ@B53sb@1w<}NFiHha5uxc6Wc{<wh3eHT?b3taG+fHKkA?wg9 zw~+ZT&V5wfjG{t<zG8D&u1>r1_}!2+^DxU7xrN<R4j32ru{mw}5ppBtae9$`F}D8U z&6Sj1dno|pJp3XLU~E<$So)mA=}m^6Re?2`*}JFRC-96%ajphebLb?~Jz9)ch)+@u zOEcDC9Qq%-gHpQ~Y{}KV^mrO-#U0R8=9A#*H2@*pbSaVN(OUDtJv|=A>BZG*^lBH5 zB82W!J*$hfWpM7GC!su>a5RMmijS4+)$n7vw$QGiXX!MbPx}E!m&U7j?3zVK7vP?F zT9~P(7v}o4ilITzH`7j0ar!TM@!aT)xrcQ6zDOiq^%*fDaq2fWvs&^uGT~W>GkJ0I z3ZY6Z1zGHRlZ?^PP;SQP=*V2XACnTg-b9Dw&g{JHS1{Y`_{`2f;4MBxn7&OjJ5TG& zZ?&~GUq2Q;=mPF&s_H*;yUmXN*l9<cqSxGds>|0~s2g6($w2*-@C52GtniC-M@MJm z9@1l&C`96+4Mqi$aKh{r)X<jP)YG3S2>+)Vpne7-F@k$&d?Q;M(q<~oE9X-NT)q6N z(zVfB$;m8!&E?lpeyyOZGRW(|e;582^MMB=SqD8UN)I1nXK|F-m%aypr-EeL@C8`% z-ayeSdUY;Y_)0Z;15Di#^3iUWse$N7I|=!<{?<Zj@OT$9rRP&JUl9)9iCk41dE(TB z8hyl}Km0GsGO^ffUm>q}A!~>-s1Ow{L~)y{#&Z2eCt~LjwtWf>f`C%}GA7^=ubzjS zn{fsL{$QMid*%=N2uj8i(O=<;huonhLG2rC@?-_0WspmUcMrZtHNXRGe8QrcSoL=q zYt=f`iwdhcGdahKr+N~J#I)38QX<pIlCsP{2{Jz-_Su$9;|lQi*qg#A6yN=Q4W|F~ zXq(xy=tRZOQT%Xf<^MwQ6N{-`7vTt(3uW0F3rEt$98;Me=;_qXD2~H77GPvU8eH*A zIup?Sxr;%}*p}Xi74Nrw34g~U7ZB0HVu&whd9}il<nNe0elnk>cybK+8zv&=OZC)d zTCF5ljUIEsM}Jgm+5RWq8-VA{2*!rB;5{k_PPe87J@;fQvuM4BQ;ct#rQPEqZ(<ws z87C-%a57&j$kq3tzWPV3(qmEAm7$B(=ykd5+?0K-O7AL>1{z$Aqw%f)8F_Sj<LC}T z8%G~viJrAp>*WCu`f%tA-!Zqr(M3@b{%4_7xGvOy@zM%_WM^!;>rLbwc!dNS#dD~8 zvcd1*D}0JyLcqm-B<bf?)Xh35MV}oY?a;Z7V04NL$|=J6m0J3HA@p7aJrb#>`&b5a zbTu7gofY&<hmL;BICPu?`D?dPDSm0#@wDTGmWQ*ja?NlT(t*GOqzmm6ytbU2V2;lk zCOK{GfPFJN+Hk>hN65n#C19cf#~Dmp@wB1mW5Kz|zFh00A|PUOFfHKOsf6iV2rEOQ zT*?v>Kw5?X5??h3oTJkdZG#~s<1CwPC<ghq-}w8+{mPQjhkc2*0mxu$Pq%Rhdzx*1 z0L3wD1LRwj0V&BRm|af&M=HBu-0wARs5zggi6dzN?FU!{O5G0c(f@-!pufmEg6T1r z2_D1a(a-XmRaNVIk5$MVK{ZLqYv>W%zgUz?z$KK(XckbWnQk$b%}u<tw>mlvZHH3Q zmG>~S>Q>25+RtWI=4VCBe0C@Z`O?mc9|JX;Iely;VoYS>dySj$w>4y0eC7h$V24A< z-!LA+-|mEJ;BQ-%+Jmg}roWYv$>DE794?2yjV`k9H(l-)O3?H`Y~=jzcSw3%&ZoRr zh~$Tz<<#tD5E#@Nf|`-Mr6)f6V^7=MSP1)O9_&h=UV>9`<q5sd%<t&1JN6|qe2K67 zh1*W^&HUPiK8lk{c-rOf`$^vw%6oS0LUyz?VE>+631^R{-H4Jx<NUEYTQ)rSz5CNl zxevUcr9oJl^4<!zib{UOyr=E0pXEI@sJJbd(}0uG@So3uTA2$6v(95({SgEPy#&A1 zsOdp?8r&Uo*goLT@*l*V6#j#^wa9;}{z<1A;>>@%qW?U~{ikPM)D`NlP0weYb7^_K z9B(KH)0@~7cFtnfI}nJ5aEJhVLcd~}*of8Rzp-Kc0@$I)1nyJBRJ>n~Ohr-l65uW$ zW`OMDD9y~a*f+(Y1Dv+2$}`?TNTc?b&up;aP@oF^$1}?DXdpvX3KH~yAE&K@ISF;` zLDgeSb13h@OIk2Kdp^dq9%K&Cn+_gU1ctKE{XxwXpByj7&mKoQI$Hm;%HJTCzdDGP zhBx61+&)Zm{g~nQH-iZqHv@Rmn2X@}IrP4Sh7tWTvOZoS4KD!{h|){miElI2#5b9$ zeVuCm6tPCl*%;p9!eK`ZLsfVwj#%TJ(`Uer_-{g9T-yOx?KY+p-gBN_TgA?D!1Oz- z@(uc{MLb?7eBrO#eKiN$LL<U$Z2@g<UdzZhj*na!8`lpT{A&Z~EP<Sr0ciIe#AeJ& z&qVJ+rVeCkuUbNVCW+y$Aw9Xar@SEPpAP8-Vikh^@x~phg{>?021Y!2i51`IqZHvS zs7Gg8sDRa@rKcW)QI8h09;*VLjnghP>v67`3H9jgu7@R$)n}zxpHG9Bl!*3FYVSo| zjHyh2K@U#nFDFMd#={!*K@VPtz^5@lFUJZBx?{6Rin*5Q&PT@ZCtdo?1(4DgOysAG z5f3`%fKIOKDc?Mw$&X~>!$#p9S?D_<bcX}9mA6IT^rrcCTh(zGrRT&k9}rJ5;(23% zieQ7UqzuDjVD=raN;_>1<5}qKc#|&iU4}mQZBi}!3c%t*bj;dD=pQS_u26L_T7WNI zd`F$EHV?K3?WC8OZl&&k)@`MJTaYY1y7yx~Qa&?5{jZw$zk{s*H3qQfju}cYr%_!C zD<2^Lca+zzr2cor7ybe>?*g^lr%YZ$zdoa1%jwrwbYxuBu7kVc6vHIgC2ptF<CtV+ zD1$Qk!HZSndoqk=PqP6>SOeN9N|+5$B12&j-Ux9CDl~-oxmmAJcB*zX_G-sev;LcH z#)qf`*%e!@-Fo_saTW?S$91hSysh0^gWaphUr{Z1E=KCSmDGc9E<5Of*fpdjQjzC? z65dMk7TRg<MBk;M>>bG7UbT=$spQ)3_L}8&B`=Z635`!tMq_sw6xewg!*SbF#`{(o zUK$hA*@t<p=VqXj?+O0OzFsx{x?ps=s|atp;)4iRV8Z$%O-9Qw|IXW){59!C|7Jc7 zS_QdRY4qG@8=c<OcfSFf;A0kNPy)_2VE&yMwCmU_htF4i6x3YF&v?1rLj`>-X=zXS z_@0&_*wCEc{so@fJ>M|LA5@QA*D1-V$5ZZpnAUa=H*|)BeNur91&D$ex3<7wSl7~M zgWkQfs=!!?0YfNNyiGCwBxw9ma}NHO@#iic|4=B#AFIIskH()~<;&yGYBAo$vA@@I zaNitYXc5o|H^hiBb-1yJ`MNpZ)cgO1Mj^Ztca=6Q7dyMO8rP5iJL6TtF|aZb0qv_m z;=9Z%V;L86^DYl+*~w43=Mfa@5n@Qc9%DGHVEQvH2*PcM_Z?QeZ|;frX^8jD_~atS zou+_C7veo-LcH(z8S#F(IsT}zDT4lm@n>aTSMpL+#%!-Sq?zNOIsVAwpjjV`gByhU z{A3)o<o$H~Sxvo17=I9nh4BaR65A*kZ{pVYgGJTHj5fy~@*bsD7=LPM$ic2;4op#A z4<*x*u9mj@l3!vzz;|CRVf_}J_7XL*B@-|2IcWwlNW+7)Fh02CX$lQt@zDglS|wgs zXsX&{PWuq|yX{CF<~=rYT#bORvg%li#nfLgdPCNDA3j%OUwd5<RpfV!_f}`Xvr>6> zX%Q+P*-LR-YsJuy=c^EL-GA$EJ)wZruYBeTTXry3%*UT2wv2#M(7@gm&>D(zHqzIa zJgaE@$t_1bXbyVTD&e!yoz+-Tmstne5}0b0pS)h|+&zV*Kr#RO8RfT#<>Q@`?P_?V zE$CT=`JbbezSk+d-w~aji@+7ysiM}`vCRdtkA07d<11Q|n$tYr6*|YSjfR~XV5e1~ z^N(IN9!EK+7gtztRn=}D5HZ=Tf!e$67}P$`+e8P@p#MvaA>I8^TN?hRz2?WZ(B*7+ z*_XF}WZbLF#&^|1ry|7d3(#I_&ZpS6o#s{+_Q5Rh6w1<3^J9AzhVK;_$&JiTxJ^&4 zf&Y0nC}G<F4aCOw=wFHKg11r~@MWn@=ziVvQ*C+pTa2TJ+d`vQ1%41Ja6T%4v%FM+ zb*g9Gv@^{L45d66JP)^5C0GqMz+YMU%~U>C=Ga2)(Z5nV17#aw`~qK*XG2ii0M9h; zps~Cj(_6ejMf5uAR?rW8_&Ox9jcBEo4lo)cSYA_~CdZr9-M*l5see45f$@od_z`O( zKFtebYYN|Iz(UkVpJrMYjQRU@(NdWv;eMRr!diIL$U7<dbG#=opeQy4BkAEH?EJ8& z=a1Ny;5?8`*ZxE!?ZaO7AsNgDW0lwj$F%QN!f9o^l<d5}5Ta{8hUe3<?=IiJ(FRm) z2GWAjn=uK*?j{1s_oz-VdYzL_O*znEL$?Gqyb}%Az);v#m7lyya5uD%&6|R;(dd5- zSbt&uhyK?b2qzG#KP}4nG_dx^fagc@|9))#7xZlQg*Q;JH{%1AvnpnFnDDKI1XTR% z4AtJ`*IfLKXv81CrVhZIP(`P91hE5DYe&s#t~)@*q_+qg(9yA&G-K_kKymb{Dmsu7 z`2sD&$BprsGB(Iu-mB)_<sW_hMlqd@-+PWSeyicl5R4aKm~6~Et0pC<3R?N!+@@GR z_9`DwLP&q+`ZeHbqVfZ1HC6&}O?;;g`@?xH=JPcAu%s~;A7|*+ueJ)GYTHl4EcDFo z*<6{lpZuV_UYMu83W)Ww^?by|F2rR}1J-aW>}t*$)w5d(zX27qRhANY6}LTeNX%2Q z-do!(FI4#7WCiiX+;DM^tioQhFdrpZG>^nxda|)69uUnQe(?AOU(LdM18iuiW4=7r z36)?ZQX=%p<RDv8k^)v%jWFy$1oJTeZKUzT^4~7gf2qY-S{CK3>KQ*SE2sT^j342z zY{nuy*y3?*Syrz(CVRDv)&=M_%=K1Q{l?JfIT+)|P}n`c85{l%>uStzyfsJo%9>_4 z=m?GWqMWrfI)(8Z8v4EvXK0m38}7~g=2YjOOiiEgdO%Ouj|q6-7+=9Z+Ko+UEaDv; zbrnJA1{$I#v;N~0wH8ylHI5_bv86Zb<sRb>t9?GLxx2mv;Vr0dQ{Kv&PFluX84KD` z-Br}tX{7aZPRmmk4vMsd&M|YDwfvARF4l8<(fT5}s>hx|&w7dn#`k!t#@17wmD&-~ z@bwHZ<LBA%4#ZoRjcK~7zpx$%VlE$yW%MJ1*V1zUOgOND#r&1}e^6_N6%f9tmyS#Z zd)dAQ3|9QI_K(c?h5aKuh0_vbgtZ5Y%>HMtUyD3VMOteh+}a}>Lqb()vQm)!Ki_tb zZ#;hfxAFs?wbcL3@-b`R;};?(J5Xf&bqjMYGoJR?lbQ{aQp@v`Q>}R5)0X-$qWfq_ zH|Mjf`KlD=JQ0mvO?ziWIjf8CgcbWKSdoUXpF){nP7LbU*TH%e=H&64>?!Q06nR>U zG{k?>53d2~=Mtlch8sM0|GDJ{@c8flqWqv|Bf1`q@7?;*z83U@L5%h<E6rKzPxmj` zczr4DbN3prXYN=8XHm^nr4pH!LBtK1slm~11c7%LdVE^A#r_*@USz7_k^L~(pHKO) zr$KMOe~aCf<e50!^N;B?-0z~@0R7Duu`VyfvGjXfwBLLM+wH|Gs$-(V<^{Dj_PjVY zEKR>-E}g8Qb2h4$SqTC9?~oIRGpgQdEX=ByeAi7(1Vlp2)PFB=q4xhl@384Nzl0SU ze}C-{G}y<6v8P`2&gkx!F=N2QgI>7Bjx5a`&c(S9O8Sf^IVcGOERxPfQULEIIUp7R zXP6s@$Fpj8K01R|_x{);_(CWip5tsJeuA-629Kb^)U4z%>gS`Vj!Nxt)W8?UF`me| zxGU81)R+&?zY}Qvn$Sg1o-b<GR*ib_!3S@u`iL>sUPxJ%5aPq<l6%;z*m$AoVLh#S z9A*Kz*zsaZn{mfyC5Kx6I`bgq3>}Z-cxrgNE8Ni)Iy>5L=0U1X)s~oQ=Lu@rO0rut zcx;w-C9zd)prgl5z5nwx+rkt|x8shE8XtU)rX%;@py^?JZ;L*EgNMjVaG|5w^|*NP zU;pL>(yfWpE7YHInv8-E^XN+%ZGI<Mr+7yy-i#aUvS2fJ0Miq`+;Wk5hc~l7?+>n6 z=1o<&;2|QOwP8+_)#U_semAx!I?aU?hPr@8uLHSFjp2nTRxr-o?(cHq<Ta5R4$jQ% z8iYcz(+D@!3P#cyqZ_F@=JN-fQwQPGntafcQrC_u__cVUmI!aN2VxgTRP5$p$2KRC zJkcEQymglq;&?}RJJh`^!)O1r+EIRBjNMsZ^{ro9fwu~CRtViixaH%8ve4<vUyrYW zchU(;ZLhuI!5w%agpi+;xBq=|Eg_F^YuQ^{4+-A<PA~oz0rfl_tnE_mM*^OB)mA*o ze8BwpB|aQPuj4xOov?zk5brC{hk#b%3>!TZ!Bp6(LbrGjt92$%6H38)g7xME>_S>w zI4;wM!a|0x4(}}D5FBDD_NTLgIcthERS#&@?euNK@K7*o>oLM4*OCXlH=Fr}{x+`k zrpaG$?OvbZeKU$ZJ@Y&EoWQ58@Zk%<A6w%zy`ShPir$AcIA+KzaGr=oxMac_cM(LE zIC2pMPKPk;3cOEOe{@J)@@BC?M~z}fXJGS=Sap}r)1f@$Lq&YCA^CJ9`!stqzS}(4 z7ri*#P5L~0r+(`9e6ECP1Hd2i+LL%;$ZH!L%eXd(rwB3sa>N-&9lj%ij~W$5@cFzx zcmb46cgWKYBFYfIUu#SrC)5Y8Rdp$K+tC)atdTxRgb$Y%=FeE}obheA6Je#9rQlCk zWO!K_$&-c5v_1>#S&Z=;FluYzr~dqE=OcQ~8blVgY>hgX?6i{QUu!TCp%_jI1jfb& z1TaBvhAR$f5@h~wZc#qoXX}UmG%Da6@%Aibq1vGgQuSc;N-Xy1esoqHZt+&sXK1N* zJUrf4vm1wM=(Ez)m6_jGJ!^W<eYlbb-GM7SfqAWYj>&k3=Dzi@tMT5R{vYJ+LWo1l z0&5Lp7${Q0QxD^K5pCZ&=A(cO7zHUJd)6tDJCH!a@OTLxjrZBGD!ceOCSJ>U&KQGa zv%h2h(O57NA=>tzEd0`6MsT#g6p@P>sPyase_sPmfG}C%SmAZzI1=9BA+$)_O~<X! zA}_sZtOm3%1N^*B<d1M^3@oky&VmHOj}#*pm11iwKtM!NV}XmV_zoKwX=gekpxxps zik|HYKa!u0Gy7BM8+SMub~}BmHiq)O`<El0_9yn}bVp->gI3c8vEapBT7NcX+nb_l z7JZ!ouZN5sfLb~A7@EV>fOlc{S3A(f^(W`hP>ju)dz|ndrS3@x#9|&VM&uS@RL7^i z?cbuS(nGssH9fCE6ULPI!jI;s`?days8Fl&jRo|cwyi325oBPEJh=&vXYm}Qsa*Md ztV4IA@WR@y)i^nZ@9lrbMryr3il>*L&~FMbZr=*&SYhu(xZUY8M^+Dt@I@7Tb}g5J z7;9Q=B)-ny6pS9@kKXAhj0J~dI|}Npbm9oA-&5*9*;i!YyEP5|zH3#_bSH&Ruj63V zz;fl$gh$O%B4Z&n5WS^@Z9o1R4)h-~A^jBs3^1q;7%_*?Uq&dyVVbS9pMX;}lY!Bf z08rbd%AiswdzeH0dI@jw3cvQXUptfQ9~nw88Ok@mBJ_EI1J+=6$V98j4j4HtJEWl` zO)tWcl|W)^W>A~v#24If3IjXQm}%kZFwJS$x=_d1O!mpgf~ZK_7DSz$#w^sH;sJLt z)DhpJF?}kit>KpO+dG&$Y3a;D^kOxA?+Es>Y;-SbA=${K-}yV!MlRDvx4=eUF`ETw zpCP;)vmJb_5U=yVPM4FH;!Ad!h%2yBM^Ut2VRRBUKH!Fx%nr;xcvv=?47AkWcXPlq z)yZt-SkDZ!!cz$YO+xpudJp@?CNmH<7IuJba&;T31>3YRv*ZTJLd-11&YtgF(tA7k z^wMNDUYbO|M2%q(kb%ZAE>swgvD=kd*CYA|wImHfD$N$Zi_w&*pfVV}r`VV1I1Nik zhc6sYr@<*wb`aW#;kyKWSOjbD*ZEXrGdVPlKKR`e=q`(mFL(hN6Hx^6rD>#{B3og! zFvEvU>;U?#{uZ>2Kl?F&xb#<1DE<@(eUl=KCdz?yJeh*dbjNQQ7ru80u7}ZRG$fl5 zN1maS>6NwnAMMM4SUmw(tAXeZUJR0fXcfNL@Q72-1kP@PD3KK5qHhN^>M@GD^j0n9 zR`HGZVJM5=)0cvZo~H2E0EJDU`P|KTF$WPY5WCVr0nWibXj?>QhQ^UEV?O_J@&?v! zf9$F*^8{3($Dr@>!bb~Zh4!ms88xFl{+SLKJZ`lz>K%%m{JwN5s`g|=5d6^;OgmN# zfol!%d45pBUmYMzPl3*1@0E10P1{UwN7JN_y)0OR8v^Fxy3eOP+NWG8C$CN@IevGk z{vBFHRxdTP_K5P~a2D_ipEf4rzX}|KkRnQ)%_UY)G$=)OZ04cM6>4J~(C&n2wF8z6 zcV(L699z2JE1UGk&7cS$78jVj{m0|~w}VaWxV4!c@EuHyZeGkFBJ`x#XYb>;$5DX8 zpg$TB?&=fj4~!jyr}b#gm<;|0he!uDHg89VSYb@V21I#1j8mi?p<a+{`~WWxXcLQ# zSKz^XUgZmq$*>z2AjKU2SSQo}48MY=@$xpJT!qsZiwtJEzKI-!mUvnt`xbP!oGUWy zg_^?t=pSD<&<lmeN#6^@{L@du4(MNx<4VK)qquet^O5EskV?C}e}|hHA*xe7B8@Q$ zcU&aR?TyBL#D|IfQ+vs*7!$&6N0R3A9-67M@m+~bMye;{xhi~P0|DC~y|~`E84%{| z#zSVM^dp*CpZ&NR^!Jv`KZ>voB+Y9#6MPxfiY=X*Iow3>nSe?E!ZES%4lJl)HuL*A zw-(bTD?J}-!cfDubU(rkV!1HI!g%^{mQLlV(VJabJYdI{SvFM}LC+l(%B=gqU!>iE zJ)t{_>Cjo^k4(T$K>$@aOaC(ju)DndcvEFAw8|-3ncaxELd$rnN(?T7`4c99F9mTl z8H*?CgGI57=Wy!0RFL~W-g3J~kH=mkIx3#Ig%d-x;<o7Z-)qI+N3qJm;x!N*GDxf5 z8hx-`tJb3rey>&Uh(6e%YQ-H`N#JNoRlEqNJn%PgzGP?WE}&Um_>nA(Vuhv9BSI#N zxDB{jOz!<Yy(f$hP6jl5UTpHx#eiz)Av}mJ<$h)IzH+59Zd+`_WE*!|ZRLeZ<$fHV zQ#w}^#r&BF5hzW`$-t*#CPM;vSsDci4ES_@K6=#<+Ik&@5@XlED33V8_?W=s8!;Fy z?!tsp!xsUkKnNapQ-R6E_B3>qP59r!-v2<WGpN*^O!9Z-L1pr$#k7`I?VUt?%3k~c zN9QggS1*P`Q#J41MC4MsYoT8&=~ukG9&_tllsEu2p0W(sly7izFKUb1gHXGZ8n7R+ z=@b0lh5su6l>Y#x!{y4R6}avN2zt_ya^>z_NSv|{72mWCcbhxG@&j&?hX764LeO^H zmA92ENywVg4rJ2z_;oicx{WeI%;p1trW{1(4iL-1XdnY7dQ&=)kUW3_kvM5L3S2{3 zz6BR6xgA;XVVccN#D>o+CQ<3nkoU7M@#?!$>xB6sWGU%*TB{?x<q(ou=~Ec3`xDrj z_%l@H)7FlO4td7M-YxfqJ0E-Cbl<;WEF7QhB>Oxt80%iT?*gPekDbs&dJqp}VprOI zo|V(e|JRvuZWQ_PF!S8#fak*pA5$J*29v!{MdC;%m8j&k;11;}&*Q;u1O5zUvzE}V zLZ?`PiBY>!J0I%?JfFn_k6ddNj7N))IBlUFaPQDIxUt<vZj6`;M}iI}Cr#ImVLfj8 z`ab4ea9KDOJ|F&#={L-~$&~=X2k+gA|C_|FTOXZ1g!W&4M0GJD2k|mS_#piG8ni*% zgY!k?xCtW-^VN)?J;D6VM$XVkzdm9PhRy?vE(cH!_9<jM%ogDkapGBqUz=9aFC=bW zjsHu@x-01ykk2p*e}*Y|qUuk`+d$tXBGZ0NrfnwEHhcH4NDoc$X)AqfJGfxx$U4%; z1ATl<$^KZt9<(?6JbR{HYNeT+76%Tlf&u9#_;_BnI(s0KoqkpA?b-@$I;_!%$Ia{U z=SDD!8u#Isx%+$-?r@N!#dwWb={tI-0*@av^)o0aV_Gs;)e13hxTC_jA6`WUa|9X- zp-=Q_SX4NBLNCU%PXtr=G6q60_E%`X_W!W=Cg4#OS>JfwzTKTpZqnUJXT1reA*2a= z5(2Url8_Zbh+#1z4up`9NH(*uiGZLeA_$HmDhi{BxQv5}h|4H$fcuW9sJM)Sq7JTu zj$^*xsXDh4mU-uWpXdFa|MP#o=_hqhovKr(PMtb+PTe(YipF%iUwzX2Q2l5;%TP{T zW!A1=gLASMibuZE>e9>cL5PE`ZhV@^kIIg}$m=HfUnY1F@Jl<q(tO-U2;Tp|MYE~^ z+?V~NH)d<s?<fBv_#s;gPG90gCHLHt)t$k}g=co<Cr8up_%im!PI-srZnOg~AEv`6 z+Mmw&iEcyg?KtaL(Mj_2b7!qx_fPTs>Opn??_g;^`iHEzSlo606x(gM&SG3&$0kCQ zj4txG_Wa^GbjI-nXAg8O0Wn<Fwqa+AFGiwdP1cGvOIG}PbUeOLfQ$MEOV%_)Y1oe+ zBT;cW<SoTDTufj5(HmA!JiR1dM#HOCS_r+;S-Oh0FMDM$+>D0BYw*NBzA!Lx?ZhOx zODo0MTGvIS^#yCvbJvu7RiGU#Se=C@6feLQ?>l^P#_qX{o;O^3?r+8T7M|xadg1_E zk}Jaj@r)04xg~4cFBivBx-sjXwXW}BVR*1*!6(IWeK8srF*?4+1-8qc!=&M)sx1`P zkv%x^fS_xO=u%uX99neo$bWb)`;ZI}o3QEdn(`?=x=FYfH|uUE!?XCWekb@G-$mep zJ7DrTK6MAodXSH97s?0u_P3>~J77JjoqB*z-v1&BdQ_jD_S@h3KK@THZXb7_MbC;U z=oSkC{}0V_a=4YaeocX0FTlS(hLAG87LWX>?O5sRSBh~Z(!l-+Z^>P5$guykwuWAm zz~J6%{o;$i6E|EAq#3@vFA&<odP{M`ykzCFc;UJ1EqLG(oKI1-?u7umHWz!I1upt1 z_^RH(r30l%Lc7@G@K5lm%b_wAuz#Y0f2fUujMg%4(+)y9V?@`MPK0d4PV6$s%Toz< z5{TP~tGsV`j?f>i?SyjB!Fb<|Dj4?FKEn$3U9ta-S}XQ**zYnx#DAQjQ~XEB-A{*u zbod9lZvNPc{~y3VV>?s(CK5bw?F`z@Af9{P2iA;-QfuEsJjTx9!Z)cgBE|c^BJ&YZ zpyt?LLG>FI;8dDI_c1VPeiuzXk|7*TXtVP^7<_b?7<`O&NFUK&=rxeP1o$~BjvYq( zBWU*)+C2**Y%o5OT^<60^bwwlJ@yU~q<!mYBs|lDuldEPz>l2-Vgr>@U^psc{%x4D z)h}Qxu=<_+HTEau63tzCV%hxUCsouxA!Bf42Ht4JSp%+$d2Yak^8JXyC)O_3M!wos z{Xc7mc#ozk-fxug{sk=Qe;4oflD{JBKlNTZ-7o&)Mx4L|?H8{V!GAb9LJ9_?lTVTM zT(Y_YZ_d*H)&Yu*!7j_R3(3iJGi`e2pv$yz4v#$*8?CZzwR<4lNRyUU+kL};57EM` z)qVjR2i`N#C0tDL|9aSejl+KT9i0mMa(17^!e0H3x=wKEm?tRiFPMaBE7kUr-@60V zT&!pi^5uIwa#OY!51_4FAxSn;OSvVS?~uDeTpavjE~;=jSG72H7al1*7bPm{7t1<C z{X3v?8U8z@hr)RpVkA9Z7mSg3OIQ7)68b<uJT_BTrehB9{BSwlmdD=84HVz>jX&yN zLg!seDeOFV)OU%6(8VCv(KnaDp;5Sc15<-11)o0_L)Q&qAGm_{G`!x+cn%R&YqGqn zKhnO(zuj8;DO@al=!@=19ADG!bG?3ouHP+nA^1EC(%g~HdDaa;@2ihfkfbkjbPtrh zo|LZ(Pbfi%%Uu(jt53s*;<eV8V<YLjb<H$;t{yAfjC`#vaB7tO><P@w)6|q$;+cq7 z6#LVk7E$L-6W7egts9)X(`EhKmCMFx?NKFbiu}j0|D*FNS@KN@e>3~oZYw^~7_J@z z-50Mt2e*~KY@3MKiT{0vr?(KDE=@WX=pHq@{G!#K_Sc>0lCJBofhH+9e%bm372^eU zTnj72Fr8n}zr~eu&`BL$ef;a?Z!G*&#c4b{y7HL+%)QjECq`S)m|}D;V)Pd>Mt^ba zR^G3`z`8eGzaOyz`z>b}9c_rX;^cbl(_V~{|04b}A{6s}np5BD?F;)osQq^7Z^zIA z-*13>w4P5Od%OaKxl>Em4%&&P{9-a5<-?1jrE5}q7vo8&o<VxNU%3!=h}~p9J=$En z@*gqn{Y%!2ISkA0_!wWlssKIy5hPy3l=W-ydG4e0(Sj&DuyZ^4eNDpEe@e=wZ+O%5 zmM4vOWoOI+AGmHVf*I1?s}rEYe4}VJitu4}$bXF`|K|y(%YPNfj`iv;|DKDb{H0R9 zOaDRdAG8m$hJXvtj%(25)FC{GM#YM_1MerDGzyaE^l?ZzFYP4u3$X8XXkA0-vNM!_ zQP^$1R{kxLzJ9FJBz^DciMzUZTNk{a0hj;${-c5aXy88@_>Ttuqk;cu;J>GV)H#FY zpQvrEscB!-Qj<AzeobpzeRGp2&Ye~;vm*DLi7HoEQIc1ZU!suW+={}ysne&6)~bsd zgDq-X>u1-`sSo0HRjswNI~Fev7IZYtYieH5<hMHW*R-}aw~B@;F}rGxzpAOauDR9U z)>2blUt3=@XOus+O)N?gjrC3SjUA0*PEBo9M?<@4tXe4Xn)ccyO>K)(nv@jPtu<Bc zHEI3)wN>>EHFE}wnuXxhUNgtv*4|p*G}jN_vlq43v?=non)aFPH4EE=4Z4aOs+#6@ zRL$+;C0g4XL_>S4Xm6k0#kR`dR&!BDO;dHvNoBG##jK%fQFBLE4}(?dT=YD*VNpw6 zTd?oJqI}WBn#P%BH4B1eV$zbuizh8!JPPz}^^0pnT77*#N?bwZ4K+=3+v~(6QPn!P zqp_x`-QU>J*6yEO<FE2J)VH+@I;gVh=BD<l`X+x<N8@bFu$ZLS*S0J!O{=Z#H>$O! zX--Y6sIM0-7-)HYLqqcde@SE2T&PZz$$mSU+B#ZVnp;Vyv+LU%t6Kam^$Tkn{Ef|X zYD6ux-c;2HWi(Yc&!JYe=yIk~xzfZ;h+E%OBWBhszP0TFgCH_dTh&<Kut>DEFKVa} zRc+N63npB_x|;gAb?su|%$Am#MzKf%r9o;xzp9n`ZR32^LS!+!T+CTnT1Y)LHM7}O zS2Z;?xBHu0YMT75HEqout(eK6iDESV+UC~As&+BEwRs+BXn>-=X?|5h{TzQG*2@&E z7r(V!po0!HVbovW=5KFq_CtxmCe|FGkNU=zh8mhLXtEY&+tFHM_0nE78{Kf1&9$`{ ziGM+TdmW}uRW;VPwUIfi4zW5E+R}=Fw6-q_b|)3&ug9z|43<@6NmgM^wE8hcU4wy< zHqg9SgR5?CY-w(*Z?Ex7CW1!NSk<)14=LK)f@Es)rEOX*Cr>N#&uOlfwiu*qo_!$} zqQ9=HX-+o{Hq_5<t!f3&lZ#o8r<B%KRo9$KNgbbBrUu>CfO$QI0}Y)l_SE94>be>l z9M*g5sg-aXHC2sPX;2GF#I`QAz>U;2k<)AwP^G`Q*56pu*xb4ZGffK+ldM!Ax|^J0 z9#j(d)mBq8@3gXc^)08CL9jWemXQHewUh6*rlYnM3xh12%bRMXG^)6&y1J&VYc^G( z<l9;WvQ|Irw5h(m9`?StW)6IpEUa#BZS82mn5=?kn0zhSc~C#CHFIgytr&MTskf_- z<`!vpL|I$2z;CSxtk?Fc>UsVkE28ScWN=^yC+5`8uP0T*m-`pjv^EFF+FDbKF3B6$ zHg`15@z1H5-2tbsdgOuU7ZgqoHjtgP!q=1kuBq-I&0$?&Q7&xf#S14E993;cQ?(>P z9FlsW>7HCzHU(}1j#n;DKd(kX4(XI4Yfcd3>KCI$75rumf<<+gddR=|;a@tsmLinf zUSHjfwz|2aVUC|17o>oKmApYWz<wFtf}-BM8bK?vuDN+$8_alqjcho(2Hp&QMJVO? z+ZI8Zh3plrIYE1x5@?dAw|;I@Gu#y1=hUWpsXMjU<WQx`g(@J8&90wI-cvdZ3I($! zPsy#AQaGt>N?*ubgArJonsvs)$tBYZPNN)$ZO7!(N+oBiI<2OlY}};$lCq-HD)RCw z&s@f$BW%v*&CKAo=996(>D}=;i$IFaliK(o7|n!JtDZ-D3j~L@U=5ZMscdF@^GtF? zq<pIp<5a~|!79m*c2p-b;}|ouzNxlZqz}$WA3Ri4H`LFCU~{WP9p&cG0cO)KCel(W z$@ix&?x3JVh9eCaJESl%ZsK_pMDgTlqBIwOd7`vRl;?_yqC9!1q+FFaZ`|y0t+-d1 zF<c%><uOkl%S6WL5lAJJDsZR}xp_r6prObs%B{emB3B+pXAHC8bj}PXnu=U7E~QK* z9Y#wkCZ;Y?R)s@lg%~HrtyD(^K#(VK$%96NOqnVvQJ_?egLva+L*Aj8d7_Yb(m`eO zCQGDD9Th^yp_%ePL}*p0fT~akwHTUN#)zt+<M1p=Jv@tQhG$8F5y+01EQ&;t?3a$E zGG8W&NsXCGqmz|N6{wI1<spg`UFFLpQl=0(j-WIdvnP22l;WQ_V~ljbgpSUnR3Z-* zbfiNTB`V9pq~S;hLMy~Xz;fbIUMb2)XCP%#0**#Vl&O#gB8?-rQURJTvKrYZXG*P- zGL^~7Q?Nt<S*@B^GO$`#BBQF2k*zBs5!iA!C{-8+C`%Q!MLb&d#7(5MRmzlAKUE-< z4Jjk}QU?8~a#bixDq(!05?zS%unNZIjxHx4k602D)XJz-0NtGj<yBFWDrzF`nBUpC z0_n2$&dv!8DgUq1cen>~rn*;A{s7${(WXYKa~nh_e^+Sk+Kcj*s@tjGocdO5y(q9* zCk8dxOCq-S#VJkSf&RWYtLaN;MtyN=(^sey6nLkZEmf^EgN?h+N#yxn)tosq<=&pR zu3gn#?X6S1nY42Y5)8IPLl^C|iIuT7*v~+}b?QYT$*{^@v{}BZ>kNc8#kAX!gTAOy zajt4@ty<)-!pTdu+zI*RCXw8F0|Fau@4FbNXho+Y!JWRfK~pC~e(bv2)E1b68J!9= z)yxH7#8Gul;$Kil=Lu?Sq)vHg>rqgaU&uQT%#*)scfor;Tu_HZaz|a?gtCs)Hx{g@ zZkvTV?D#NoX?4i-J7sSntns$_(<pmdeb>gH_P}Y?IG#pBU3Tk_Hz(+@v3=pG#O2Lx z?USop>s#9WX*gAAKegW4?3}S*)+P04(fuoa7U{pC6Kcy>i2WT|PKkta=STX-MAynw ze+t3Ws}OS6kvC~-8SM}9CY`n&pfg3xvDA2Q$4jiO(=EA)X%mu88d4j!V!Sgx1Kp60 zw$>puGYvyvuavC)#pyc;T6#4&NuNU}(K8!r=GQc|&BRF@{j5y`?F`ODCy8*Vs9J!t zlz$!g@!%#rl$ZcG)@nl#US?T$JZD>H=T@Wxw{>>zK(Zj^{U|3$sr>e?WR?9-px{0Z zfL9XoU*Y2u&mb)UUkg(HE-s_|rN~=}@c(I=%Y6|49cZ79esgGCNEW1gJjw}D+Sx5x zW&aaM<IDjMN;A-B)_)^KgT_kqU;*wp3%avOzci$NNMn$)k<LfD0O?|+OOWV48qo6! z@qQr^kdlykAdN&Cg+#CPg(8I^8A#zs5lC(%50V!t5-A!f1}PRP4k;cf0m(#4MA8!V z(T5?}C?Uk5^E*3FAir=9bOwPp0cHX20i^$-b^ve&;8DO9Kvxao9$*^aCct7q`aWYF z;9kH@fQJEh;G@-E47{$svy)yC+tbq7c{SjsHq=x3!p_ctcF^Hg<Z{40m*Mk=fR%XW ztQ}8oAG)Hm^I5<&JfH2wV|aUR>Fj(Q@BrXzfQJA-13U_N0&v7u$R7f}+aMp{fjdwS zIAVKe=dXapfL<5M@ky(4z&-e6*=2x-?&|D31XzsEm1W^2#58=zb3I@&;5NX8_jh(4 zq4Hgj7dNW+05$*~eYmspEx-|bAU9y;W9T1m$ZpyT`vg4tG~@+zJp*|G7rxQiIRbC5 zZ93H1c^%*$z#V|`?}84n_z3hAA;guRpdN4s;10k&fR6(n0;K=RxA0T+gO{;40cHV? z_zdF!tOMKxNWW+WgtoXsXbZhsVt9yaJ?6L%%9D@|ork%CPK4WA=#C%nF&4O%i?QbD z{zLoprlww`e5CT(ot-_X06!|LM4E9*Sp&-IPzKTDkLZ>o%|V$Z2bEoi)N)GM4wNlH z8OcOHqI(?aN|Ys20e)2W8q#&$=;DEYhO`xB{QyO-+q=?M?Zz~Ubiy&#U8oC#oryfR z_i9_NJARd(>-Mj-=eyHe!`yxppi!RNm4~@W16dZ@tcUH={~uBOCcFI?hPl1DZda~R zt1=~qC`I)w(q%2|h;#`4*Vyvh@$2+Fw|}iY&z*L)1D&jL=DJ6$3@LK&)%35lF!zXD zcY3Zn4K$!d8+2WWt|h;n#ILcl^KGn~f5R`|y<F2b5kK^C3cp;7p8%g-&7Gb5>?iRn z2+9XpSiXGsR!yI7J0rhh;#W=y{IakYKKl&%EOPI(+s<+Cu}^XDwHLY%Aiaik2<eEu z5|w&CNbAqH^i53Xfaf;w^e^b_bYpFG8?%(LAgIH9rNiZ#?U6I8u-MR(N%+&1TZDeD z1nY3fd|+8;=MB&?^|OxVYAwyx)%G%X+A0T{u5^-GZ6)q2wL<rLtpYHY3d&?=y*8H% z+L)lwy$OU{wK5RR50mo%+X~KWfq}Uh=T7ThCg*t*WI4PX{*7dT`K>|^@hkOwclibG z%3AlV3U_6$yWCdjuFQAOnyZi*VN!Fj!XhId`Ek-Bi;ZHiI0}B@D>^%if_4KnuhS=; zah}U<-=0xXn2;Udl?7Yz!UwO$|2OD1AJV2L(R_5-Op$xN-L}KM$zI~#inIf1C(<6I zy+{X;UbCN1M7bb>h1nMZ=2F4Mr?es}{ZacF1<N&Te+PL1x6cD9L?eH21eqW3ek|Ok z{88BtC_9cac7c+PUh@44Wu$KU^+8HP*-?}gkk0bmUVRA6(^X*DZdRZHUSt+kfzEql zXD2-#OZr$#c5^l6%D>8vxm`(X+;(4>oMku@wW13Qy#egf3Z;WlWw}P3q8evW$#pdY zY<HlK!<#!hr;&gYPPR>~?N!vrO6P3VJZN6y444gd5iBWuX5ULMzfw%Zs~lI`*XrwR zG6uL17Y`#oHiA8k)mG<rk*@qG&$_ise`8RVg|c*%En->NXJWi7?Y5m^&$#3B_rYtu z<aUiWY=5v;b3S@jKDQn1Tefs|eoTFhC)<WCl5P8K%|R1}nk(I|XZC@F{K^ir8Hl*; z<379V7~@wu-g25gt5Gtpn}+j^S;X|EmnlB|3Z5sxa~{p_DLTy$u6MnFrU^{CbZFQ} z(cRUGfnKQ?zoKGaCH#Fj_IK}}JYVoxSHrw5U!wa?<z0Lx-k1wHZ4i^@WEXg^$KHjO zAN@uk9YEP;lm)QP$p)_`opKywzko0@-q4-skvs#i0{A`h4R#m!VXw3OWZ%#gqq?u> z@~ShgK#GlI8?;~g0sExOkS961`_Qg&+YlsA@_7@`T>AR;XrF&~XXjuVN7tN4y>-pW zq*I!YGxT`UWOp|TpTKi{in&W2o<Kk0f5i10k`uoyq;SNSVwCluzH7)Xi^wkZM6jmV zj=7nuGSBQQrkYhYLF3FvyY!uid03+)^Jy{uB>n066opEkK`hvZApa5!>t!tWS1={7 zx?K|ueGa-CQFvO&#)8<vcJOMkyL@HHD(BUXwf1%TH8gEx7cW5$`X3|G$8#C&NBdy^ zY1zsgl>b2TqO1}B+2G&EJKlX<)0dpt>B56;vRM+117UZO<o=KLy!$#kdt#k+vxQUE z0OFVKM-Q|`IeGr{=b?#Hqa$`MG}b-f{VV=kwlyv}ew4Xh>g=41dipIvI)bt(C>uok zuXAZ`3WEEuuDyfYe~}=CG&kc;(|w+yAE%nrXC>FrmuX!}nAKeeQ_$rs7`FY*&d#Ci zWB$wj%XQnC=f23Wov=DlbG-+Azk2JG@uTbn%3#{^M>;uzvL8?u$7Qr9{Q+g-?at2M zQyJ`aEw(d=S5W>cgkbnm4AV9h%jsm#iK>$d$R)|S$VYH32R}dY!;ku?MA;0K-Ao1l zs*m$e>7x+4p?}c_o&Vemerd!HKN=gI3mrfiz<+-K(ZGK+@c*y|c2dB>uZ5wAqm9?U z{yqPNs(Xdun+y*z{D9%V;_w^S_xwsxbTU5ln8NK}D)?8%`!b!2%MFGehC{wq^ihmg zGK^tpGE8RJhhcw)Ll_QYIGSND!vcmS49ghCGpt~Eu2s+Sp386+!(<-M45pjRu!><V z!zP9c7%peHn&CQz*D<`A;cX1>WcV2O`wYVu8Q#nF_c7dM(KCFO;mZsUGW>wyXAF-r z?91>N!*3b>#PC;!I*&h;p_gGS!$gL?7^X2C!f+VF(G2q#mN1;ea2mrI467N=W!S*5 ziD5g##SE7-T*2@PhU*w!&+ul3e_*(s;U5`3$na5ydl^2<(8hXsm*MkV{u;x#8NSEx z2*b}9e!=i>41ZvFg5f_I>OAi*hT#lTj;M9xWjvZ;0>dPReujM*_G37RVJ5@xxWD0y zk6}2D;RJ?L7+%1zmSGda4u(q@u3)&D;k68JX1I;vJq#aU_z1(N7(UPNb%uu+e#r1M zhF>!Lmf<f9b@nsimcL;b&u}7--^ueiire+%`V@v~4Er<8V0ae8Y=#94Co(*T;WUP7 z_D(<k|HZ%J5r_Z${vXo7>6ZHcZAo2^Gw*YTmn*pn8BSwZ%Wyu!RSY*W+|F<}!+i`7 zGW?w3PYj*ssD5G@1{e-!Sjcc1!&-*(8Lncuk>PfRyBY3dc#z@e41Z$itl<6`1{e-! zSjcc1!&-*(8Lncuk>PfRyBY3dc#z@e41Z$i<ckfl3<C^@GsI)5@;8lPEyMW?S25hk za67}@4EHfS$nbN9KQVODMF#w083q^*XIRK^8pB$K^BJyUxRK#@hPxT=V|b9^=L~;h z=)}K`m;EygFdWXXkl{3jwG8JoT*YuB!|e=rGu+4UAj8iY{>0EZjr(U9U^tv%A;W15 zYZ=aGxQgLMhT9qLX1I^xL580*{E4CST<)J?fZ=e4g$$=LtYtW#;VOn38E$8|o8dl& z2N|l~a7pD8l^ge&f**gX;1n*ufMFd&tDObU>@}>~E;#>RwBOrDaoEbRtHpmWXJfJ> z=bf4UQto$WgQ}-Xvj3CcYHokTIv@NOjn^~X-hV^4k?Gd|3wbT}w=iAHzoEN>>B|2N z-Mvhg{%`0WWIFG^p?j3+@ZjVB)n6F*)3Q``bE>^<`<T05bmscUxqj>7GuJ<5jiW}@ z+nJpOUgr8EbI)9Vi0hBj%{BZ^mG4uo_tQn>Gt{fne|<capGEl%^R=#HTID<cFVBb7 z&;K@D9yn#Bsi)xo+a3Nd^ZTCX!;<<}#%<hBB>Pp%|D-Z**;@wVbnAzH;~A%09`u{T zINg4rUkBsXHTpG-hpK8ktD`bujKB7c${374$o1ijKh3z8@i!TdWc;s;M=^e!`S}?4 z{!L|~8UKyxV;FaHe2HZ|z<3<v!x)ceyqIx6;}<aAi}5zbdoz9&<0*`9WxNmLyBJSp z`~c$t#y?@aFXKNmZmqA_zo?3It{=#F2IFTlp2PS#jOQ{wlX2c|ie|=n`zKZ~&f77u zk#XK0iMtu+?TUDUao#?NcNn+A``;M1!jb;D5@Z(36U%rN;{zC<&G;C`s~Jz{`E6mm zl<Su>K9})J8K2Mi3dXNwd?n*IFn$^1cQAfA;}0;tit%R{zk>0%8NZV8a+Ys3<43vv zD#m|cd=29ve^r^Q8Sl;bTE-VLzjch~aQ!umZ{_;+j2~cp1LKuUe=Xxjx&HTzdylKk zb&QW-{CdXcar=#oS91LgjIZMQO^n~j_>GJ|!1zs!FX#61J{rn)Fus}V4={cU<Ii*Z zTN(d^@vV&i#`qr?k2<O{w=q6|@!J{CWPBUrWsL7+ypHkv8DGKp1B~Cm_=Aj}V0m{j zelOQQ#Q4*U?`Hfk;}0|bBjbA*59RCbk1!tpt;*nww(^(5IHN&OG;Z7|e_B!5)PDYq ztihRsGyIw9nZwdEGSdBN6?ng~xT>8i24$r8!+mA6^ipe0h@#v++R&;D^`Hlp@nStA zO*s+Z{EXq5XdXYLXr5(wCK{`cNB)bxEIt-I6CbP2f@h+!WKH}pWVU2|o@E}0A=u<F zh@%jDSx)@>fHVFS{bnpvMepSWSEHDm)<)4+W0@)X<-7oI$UBWx7AX1`{%O(s-%)h* zZOSwKHbD}*tZ-=;y74SXKRi`>WyF~WVzb+iMB!QOJpmz{2jg<k&gKf)HW(~k>5ZZi zEuQ?p!|uRq)u?iKB!z>5y3H2yemrPgD}aQwP>JSzJ`wqgW!|+Hd7C}tE^tH5)4=o| zi2fm|aaVvqZ%IHtVAA@r*&J8(K~W=Q3F(_uPt{3%kxz@J?)9I0BHu3-BNHx{{t$!> zc{1^QU``kHr9X@kSA*|k%C~}TXo7DC<$HohsOj5}JchLef;e3U^yYN+$1&9DqHDK$ zGK30?_mLygn;}71LiA&l{|9;vGo#-`KBNTnx;_Apps!5$o+>ZGKEl`#JsssXm;EAW zT&E|i!^4v<M^PB%>mp{mT(AN|K%|K3=-Xn@(D*ZCikRaeeWe+3=q{p0BI!m)1&~@d zu^eGsI0(pG@5gQ-a*TSkjHrvb51`oCGz>_+w?`<RRWRx>ArTiE;pnc?_#K{Gj+hr- zf|^-Ee=i#1MD&V=1Ywl-MvQljA#v84Ae#_MniYl}))7%^e1yCULxynS?j(8!K8*5y z_i)!$)aG0q+-F6R)EJK+$cV@ih~qLI2Lt!WNaE%-re^{fEy?1c*i>-yByA*aluz>* zuD=ks%}|IZJW_HC$BQDu6A}IvaSNx{PCf4MBS5_2cuik;Jd!Nl7=mGYyi!oV&{Keg zdy~E;)|5~4^mFCt7VG|swb5@B+6<5*bs7C@fDH7KdcDSrX9F1|YvNTugJm1AuIL5U zQSqhV7B(Kf(QDi8Y6KE7B!mWEh8eLv;j01yg*^(}36D-%gnIWr3~{UGz19_Qf^HVp zi1+u7HL_6?bm_g0M^cB$@?I|m@f(}boA>&jBvqQx1~%Rsy>l^v=|&{Y*-escgz+|d z_1+wLIcjo@DOk<k&5@4)DK-W}m)=`qo&iC*u>{`2yT$z-YATHxaX@a5eI7NljQhMm zw#B~+q|R_*0=;*{5z`jqek@||UG7e_S!hfp26smufz->54N$E29?9)Wqc9!Fy;1jq zY`syAqxX+de*xHJTn<z9?u>pP+_oBHsOCXm4pg<nxPylMkR0|-V|0HYk3^B(?lHa_ z4CL_$vfI7JJ{rQ_$X?Lc0b?-9_KY0%YlZ`+>fIMP5jBU59IDwLH66$iV<ari`$810 zkD~@XYv+A2>aReK8{fc_cwdV88psLHHVnl3ikvN>c^uU1tDYw@KQ7Jl(-2^<Ma>02 zujZ*IHM}0x4lG{tL=FY^hMFVI^8jYq`=<L+)TL>j5O^~0Tb@UOrE8w4VCH>0VjZv% zn&%UuJm{t+n4@|2!-II=k)tfuJVU76A=!Jm=DCl=d{<(Xn&%cWwD%-7OY>Zi1?+uk z>vfuEiv!qUS=XX@&hHKE18E}*HP1ycz>Y+%gSwY%o|(k+6Ipj9D5>t#=#L@Udd;K3 zVR=9IT>;8Xn(&rKMu(Cf!e@8XipUt*mk7s4AVg%W?8+66kEMvnIH?1#u?2P-884A| zJlqS!l&i;YoP$my6D88em`_NOL4GyO*qslgN8}6WCf(?PF-7*2$Oz+J)JG;uB*$=I ze35=BK`~r2E#nXp&FP|5q5GiH$X+@vD*XrsADQAgDr>*NQTm+_OmY;ph>|&SMQBVf z%;-MMcw`@M0w|oWWE_38io1wKw9B^3aSqC22Ex{C5BaFim~YUJ?cr!D7qR5~X}QPc z0Mo#Syn#2~_G~CEZn@BH&$&r#VN}4TZ2OeXgifCsx9!*Gg3SI37LzSqizSP6y6(m? zl0<$487YpiU)3KJ8CvW<N%4|JL2FS7O!UJ3OgP9gwb-vE+4mM1Eu}6pW;qRuz&2F# zB%l)G$5AS5uth8E6JeCLEG>4lq{t--(f~dE$~<}?M%jjGF&9XRYN8-P7FZNfL@(@Z zDIhybb5rDVx~?KJnuyy^B4d`H^abrm&An67?zU)O4bsZVRKxvqFVK$GJclLiCl>8b zC(#P~0W4qJ7|o+&<vCrUILhwH+bFG2gcJ6P0U$eD^YoWw=@uESS4AfID%!b-Y_=TD zJ5AEgz|lvZIZD+QAZyFjyzR1fG1ZcH<`GWCYP02OG1to4O*l%Wk@r;n&<YXub<rRj zr^V2e+cWJz@-@#s*@m8hl|vvW+tr5oH>H8LK=Y6W?O#!6g<1@mmVFx`MOsWa)~M4J zMJu%y6GYCH+t$L@;1k9%gC#{4QIM+1$*O*&_T?(F=flm~N|^N%Fmc;>M!tyzGC_+W zGqhid=z?$TD{)@HnzK!0WO)EcnHF=i?CcL#XXHGiXi;_bDD2-tCALXg%zjDxvPDY{ zOwlS!y8&L+R-wgwBguZS$fDpU6gQd60y8yWr|UTkFa8taK3<Qdg__{7)A($4x|`ma zF$>@-MdBMUj%DV&{<O;N^zROB4Z5C+`Xs;R9UXcW!md#OzTO-!En94!u)Msv5^))8 z$l2#f#B1zFEAKdo#2XW#DsR3-{Ki!jX9{G5O*8JM5LD>70o>A!8f@RZMG_fd3?kOW z63H>DDA<*#IATop02wc9$_+3R-U*U*rSWG9(WMfZWn2sSy%Qx;XAHsO^p;7a#mK<? zdnZX`q45lD63QjF<p#Yw={-k!;wz00u<pGTvSz)}Nc(~*vdt#reiC%5M7A2cG27m0 z64_zU1G(OFC9>0)K&&g}NcR{a6ywj6HG7TEiS=}e958;RPS2OfYsSZzDenx495QCm z#^M5r95L2la=bGoa@2U3xXqHtapPrDNR>oRcpRkO*%Cp(w_(b>bL1FYn&%P{wN}=7 zHP2_Xx0oxjcunZHkc#T`DKvs|?}eeS(rgd*0h<>={!$oou;#oCvVqIEiNa}P6!}T7 z@iI+glSJZ; <cD$#E&rx@H4L(VeIIDz2ky-3!i8^cMoRxkOy5yr*DtzELtG3Xz~ zdOIYyVxd1oW;I_QN96I|g`wdv4C7ijMeib(YoraxVwNkrACQZE<aWJ6Ur35xqQ8&E zdO8`=()d1TkMkcKBgyo~A=9-6qX<Pcc>u59yFBy?;KnDUg-fLtg)xl=u|lcTSc=8x zT`3W-aS<Vxx#Q6UoBxLf0lQo;0p|63uLymZI6X*Ppev&fgS{{`qF5at0prI`x`<S8 zmHvB>IbGDP(?tu;>7t2nx@g!=7cp_lvlyp5lR%)s;B|r68dV!5Pts0cfkw@ZIveJ% zAE$g>B>f)-uU((xxCoZgV>$ZMo8-x)-PTj|_%nQ$e!0T+MA2h4w(<H^3fD~0V-xz< z*D;<Tdc2DGtFLFAtSwE?3jGr}%bkE;<xo3;Eif;AHt(KxfljaXkRy&a&P@YyT}T|7 z_;FH++19VuNi^>W{ie{bh|_GSQoq?pT!nEHaoQ|7r5O+80=ZRgu+oM8kssI={V~w> zbm`k1nHWnlK7%IoJ3JJoVlJS*wntHU%$JyM{m!Tnl>Zy$cSL0)4}}_N?{v{?WKP%j zIC^vR+d}J5rv$k@iG&iyCDmwjSI7w<BZPkO5MX!f`5^P}OTwPbz79nCQRj^)F+Ug# zFKUj2u5ISm0fY!xfzKaG$~H(fz7#niVcZTA_4V;kg$vz31L$-W5vQ4$T3@P8?A)m^ z!JV4#3h$U`Fo;D+^j#^poWghk^}eelVmAgrDBl{1xQtpNyILaQ#$D9UT8Vg#(L}aR zBGJZJLay=UpwD>YBbcFYy{z#Y17V@Q4HD^NY=PnXu9Zld@jGbA_j`#9G=@=|>m-tH zJc6nAT`!R=BOc@TZIs9eV=)ZNcY~Wom}9&SC+yoKYl@8-aA&?7WlgzJMs04ANTt!A zkeekk%kUyH`8LZob;c5yq3@R1=fSPTh^3laC9>Q&0iWaBB9ZmRQyw5&C9>7{j7Itg z$zZ4PG3o6#iR>~8NrKxYvd5SQSLoX&k;jb_q{KTUve(GQ7R9$+BF`E+b$X{n4j4r+ zW8V&mykztysqd1=YsPh?ox3ISmazi!=(|TEhl~T5OW(Z`Ic&^;Pw@RwB1ep8N%8l| zVIMW@SPZ^DN#wXu2fOk;D3KGM<0Qc@*#^#j0Cn_`#O#{q1FG9CF}Qvwso@ccg=?ON z`vQAZGC?3XMq)fBF`W60MAY&<E-^pO#Hih$C6=anV*SAON-pV|=T<ld-&0bxIP;_b zi|2b<QWk5TQX0TB5-Zm{MT9*oF`Vnw^aA#r#Aa!p*Wsgl`y^JUd1g`Feu=f<434k^ z62rOP+cZZn%HEf2o*%F~^}QtPuGBp3aIC(UCAJ=8NC)<c#5QT3uMw_&Z^?FBHP6jd z_m0H2X&yJ(<a-j^fgniB%=f<jHcTUyVn8KS6GsaJ8%Pfdqkk7q#l2pKg+$L$`2oF= zuT}X&n5yV{l~2)-Z&!KR(M2y-c@4Xv7`LfTq8yIU*U*P_oen3v&V!f&M@V=p7$Anl zp)ZF^zZYa)f2<=^z`P}Wtdp;<JOS?$8|Enn1p?0rEX`O$KTPy#agNZlE&90b^l>gP z#kzRoJ*=a+80n1sxMVdHSgan7Ho60Ow@>cP!!i+1(;^0XZ?Kp}4APaKFN1a?vOJqn z;WaLXaw0~`OL+0deVFx#><ChrU-Ty6bWwYqm_>}$ry}o^R|uW1N0FDi@K=yg@mQW_ zI9(LH^h*%cJ+7Et)H)4Q?FsdKC0l<-?WSOQ3>bg6I4&F8y!Hkx*c9cN<L&M(ATs|3 zvlZsgFl^0y5qkognTna!&1<1WyEz_thj|{3PV-#MRET*P8xWVd8Tn9?VnUc111mAi ztKq@I&ErsCgc%Q>ZZi)@kNH6sG-1XKfM8}kd}fq+g#3v)0QqR4_kp8`Ptv0xN(jlL zPlRF;M)!Rjd8g}X9K+rmh^rY1<*sjF2SzbfSA-L(kQek4CQEa*8^__z5~fJRWqbp- zn=n-(;YJyvTf#Jnc#WrF2npv(B-*$d`bwA{O`PM6U(ip&1raOI)NlMT0OWTOR{}{h z&Ozu&s0yclosn+r#6S~f%aA+5SPMB4suR|MEXTM7Y!YfD>tZ7t<4dTONU3ocAugdl zd<)3RjoENT2@SHQ()bwbHlZ=>4%Eyr=24rbu*ZPZ8Jl5A2`!SW!8jY?D&Zn^(Z^Ux zI%tzM3ytk0PP;^w;L1H!<)r-rNt`a2Kc-<g#%52r$yEVNsc$o@Zz^eQi)?CFs@Q70 z2r8F{-Xcx7E&MPccF*^Osc7J(z@0E5bUtdr>ASlLrBV~Zkjy4ZX4t;{9`y-jI`!#v zkr6vxJ)u3PiyHb!4^ca53Z1U&kdM6>SsHa*4l=qt+EgjYBXLc{lI@d7eTb@4N8?T+ zPfv#dZ%ZVz*WW;>G4DuRNBLSD5_5Vx;U}?S#4+p<_#J=ZT}BxY<9BG5cu%Zc8iofp zoOo|6Rk#e>c|iUc+YZEQ+zfk3yf1bm5O|Z`)aYEtbYM=`EF2@LJyAye0?DGz2PW_j z1VPo{ST3nn;pn60ibD3MH(;G4u65idDR$r}`OuZmE<Tc(y1by%<%Yz4z2A`Zhj2`N z50}Zx6ALt78*D33jgci5Y3AENM1bZZu~;*6fVleNb5|m<L}A{*QM5~(pqV#<GCq(M z09L9ne_$%;6DMls9jHqS+<g|XGR=G+Sb888>o~DoGijJ30+CqTiRY;Pasmcn6$&dB zX-Sw_SK^yd)I|*4QAm6{oD>tIAvPo)3|A`nfQEF)LE`KA)bZaP_al#8J&ut%D51eb zNu3ZDB~i+O<_a9`<6xJGhUPdbn|*_$?`Nxt(7%IcNg5eX9f!Sv<>O77;OmzNvt1~X zCPomU2wx<U%48NMdl@D=sodcJNeIz}HDcxXlji%D05N7_h)D}oGvgZQB59%Q%w;rV z97&60jn`<!YD`)rYhW#_BY|D)7zGCYEO-~?d6RZUzK#-e8LUK@{UI98E8taaW+Ot3 zZeEI`-CSrV&%3l2Mr+bXheFH*XwM~5(=gR(Nj}Y24i6o86)qzwMvEbf7lA0kVijf& zEI@;#I4x!hs$79JgMh_rF{DOsAR6qG6113l)Wrv`z)+J+Er!%;26Es;k`fh`7$6^+ zl%&Pbtoem~K9Tm+95jRw5+QXv6rGkdQ}aDX0(}VAlT@X}5@Qi~I}O-uh1mk{5H?4P zB|=x=L()!-7OMn0LhWj`*cVY3AD|mDNp)H*iSEaI(}Xx(#M7P!`I9cx9J4{_bPYpA zzdIlz>-JY$<N!EMa|aYB`bS~REsf39{dZ$Uw6)jI?*BDHTtj<DbN@-h=%aQGE&WG; zkH2WzWMTgSMM+NG@tNd&0gn3fnCTwPCh0}*M8`dDk@=AE=)>unhNJ!)tgy#}u@rIi z2qJkR@?s)i4p-6R`Gj4RznN&>N+kL9RZv2YkK$-#`gnxJ9$zL%cl8xqSC1d1z1qVx z<Y5*$AhJIS&GhK4shR?G*<-NgrRMf1V!K=O(Iv@LOt$d$IH>ueVM_rzIqPvqOO$IZ zP>xaecvnk2jMgq;e-M-3<9*HX1yK74xV|0{wmyT=%<0O)F?B8!5#M8w&DTh*7WM<d z5L;9)AR@2==GP-#VJ_88hD~}YuSlIPWhk`yHc`Xs!5}TR8g7K4_bB0p!X7~)O|Utr z3*M6Sd`ADlkGZ=M<}S<!Fd)r52cp`{77vtVzKCMGxdATAVdg_>r@0uOFvJ`HXX-NB z;MhXVKVb(OW};(kNzTGB!p+{$x7U2OFKs~n0h5a|ABNU_=61|av^gIW9Ao~7l30^2 z_QaWAK;7}?h3Lg^ehMq<Wp0Fx^)`D#suVK>-1?a3pvP2m1NsV>_h4c7HHSmOG;=<B zNjH5MQid4{wdI%}f^)8U0Medg&P2Y#ya#elHgCiXPceUq7GkP775t}}%i$=`HS@u< z(mWfz&oaFzuQIox?QC-f6jN>Xf=#xV@4^=?H}|9naj7{560R^GK*>t;5XO6%ndQZQ zmNZKt!zyzU6mf<5GZyHTW&?U$ZT7&FUu7Nx&o$;!<gYf}SnX@gWQ<~+`5a`p#{30S zyxx2ZzGQ>h6Qj7+oIF&B-<vj!?mE-!7UFvIdX#K5_hBqInCD<-H<^);`9||bOzTbN z?=Y^L&6_da&F1egqFc<Rkl|J{3*}qQLP-7x^G(QkoB1|Ibh|kge72d}v3hozb}ZHV z&9kBB2h0_ikq1o|#<k159c>>nugel*x0wQif7rYiD`t;*94_|}b0+vaYOVv%$3*JO zP*zUz<A{yWj&zF2PiV?_2d;&H$xkZG75F=ZOMXgW-hdrLNPb#j@qrg$2+7YV%pdrG zD4$bUTHs5<_9-kqPytg)-mkC`!u|zxnf$!wAY)Fw4nq2qf6;tzlPt3LUp3DnsGcSJ zr^0M9YA54=gHmX61)c>#vSyQ*H}Eiqmuyp5ys*Cw9VOdsj^*HKUkha<53;5F4T#hA zBaQ<?KyH5#2Ae$5);k0X$?1x~aR7Z?%N~iTNWRqOPnPB6H&TCq^E#3IvfcMNrY3L@ zMai$)<L;6|?uKP2zosx(U<2$S`3;461M7(LO@+k=wu4LZ+Y0jsUW@_ujy>*UC^aoG z5A&9MNMY%LP-^#{J#GVf7!jav-z2|pkNYbqa{`aSHj_V4b;W@v3H#6<M;DFC1Er*f zBlb9Qag~872t~<%vByz>t_$=dIsa;pyBs{P43v<Dj@si$(N_ghF|6b-6n3?mgfA7g zF5rZnCx4}|^?_An9$zc$+Q4QS?cWr3U0|CN*l~qz3{;c=`_3MhgZ7)$<b7|CBL!{^ z+>8~G{DVF27MRJ7z;crFggx#TOwCTYkxKp<7__w~(BMGbFZMXv=Ijj|#|lgS)gDLg z^FZJaC`<lLjrLIB1j*8Ak0XzMG(dMrlQl=&^U%w2-1ET_N#0@ee~<2+uAgyC4aLYS zliv^Vk${1_vO(}cNL&;&FO(iX43T<t1)j#LN&YA#?ke;iuQ(qGiTj>3F6^smC{No` zCxVO9H5tc&i?OcLwd6xCAB`{Y6`V%$d#<=oFg)()eV6RWC8I_1VV6{rH?S21$sf4l zZh>g=EQCu6;a5T&amCS+O%IHtCG@c??rBiA1op$dC4Zu@g@KE);FCXf#nGN%d4O&) zC;!D2M^S%$;8B{szq;aRW3nmmSvatxE@@_a1FNwTlfO{dvw<II%^q{by$;F)foVFh zua#uS1Jeon#uax16mnwFu~1;gT~hHv8#EltGx=Lr-1!)cOB?hiTx|09t~gq?UTx3< z(&Y~djn@W6Q0-5utzR1?XYGV5?oVKxhPz7d&>A^rOSv0*bh>upn7YyiKFMF{K5|WJ z+P=}F)U?edgZP^s^*E-+6}Xv3cU+GmgAWh%CmnsOFt_N}6ZWsRM9Ew9NNQk?LGTm( zmtefJ8yB_pH=yF``lgQlL!8(f)nC}w{}~L_@1H%l|5KRrVRNxt>I?td)>O5i|0mE^ zRbBIi{hx#qCC#7EyKF_*S!4;F+R0YyFgn>P6g0Bc1AcrcXHtG{|0K{9<RSAUBpOGV zC+rB8_}>EkN5PCTDRTq?rm3;DO4$3s(31bGJ4hAw(O477QTBcZ(bDNUjN^d57!mHj zWBg7RxmTx)4AOotij(t0`U%M4bUASx@EmAT+XunhB<~LKk)bOGyC=j;>J!SrKB6#N z;7(HQV<BELKUd(l5MYlh%&R=h6Cqxj@Ob4}o>Z7$d6vBjOA9O@Lw!nN>B8PZ>*Sdb zhk@ShI6KEm59zZF2=4#mIN$`dZr@F9T&{kP%krnGJOQ)b?-N)G&*$w%WGBka-VO+E zeu6-(nGqPh%{+j-Zl=QK?B?U>z=7Qz7D@6S4aa`8NbLz-`;*@>d{v090eT!N`CTKC zm~kw6&qySv?@|MKUt!)rB}snRNL1@~Ben<0A1Evd^8y=5{>X5IgQtBSY$^FmBkf`! zIO)c*Un%CEC4bo+N!LZqhhXEv91FLonSJ|{<bTyj@>Ni~-8>5_aF}<YPp7c2#~_mr zxgD2ERtO@@YMv+ZJ7TpHHY-dwsBqc}!E8cbh>7tRr0DRMAw)Caf`MRO0R{Tc?G=qu zr_01K>=Jm6G=Gb41`vasn7=hi`Y@w{khUbMaLH#_{Ow8PUvNbaviUob$o0g7&u?I_ zCt?Kt1rFk=kAR8!SN2_uywkND$FTD-vP%D*zNdj0E=-gEuBh3_3*#6@>%TjSVqjW$ zdvlBM-y@NM26-|6y;0=E(!qyLHu`;tF4frm`?bhlz`^_wy$drQ#KL?Q1)BK)6l60W zBs0L%YM57huQJ~l$Y*rID0-E<iIp(k2?cVFM6_`H*AvmJLLxTf0?bLT$r90p?#BA- zHPu0#>2F|V^*%pk3Yg(Z92^G>2QU8%v6fi9S4FNzu^9;!33CcM*Gv;ix0yr3=r}8c zq|)buruRC>OaT9JSc@7{?>i!&qQ*B-crx9Q)ObH?F`bVMLxX!9n^7J15T-0W<y#*) z2Km@v%J-49zrZa}OnS<Xk#fO?<Nrm7l%FKxHDVxU%HJgtAKqRySET$L`4EY2(8tkI zeu*TjP80eXc+8Yv9WSGw)C!Ejn-Z(}n$S_;ZsHKHc?l5#*(yQvQZrXz2zpO36&4Q7 zkN|dy!YN6bV;CBw(o*oJ<Y~Txk{6a>O1@@NYY}(=fhMIuVfMh!nD3NAg}DOv5hX6^ zP&02}15}cNOFD;vk>!yFoUV2p?M09{WxVFN6iC?9&`^AzdA<p-d4nQEpGM{33<?l^ znj~T~M!~1_X_koH_z^wzX_1K2ST+VotC!5xWlVuYecI$u>Gm-^eV-1;-_VbKJ8Du# z#8#u50b@yzY93PywQEph)?@E1%o<FJX3~=+HggB25z~JTsds{22cobWpmBfdbgvzY z#uz&R73a%G*MzYM`cIv~S0;ae;iO)mt}Gh!FpAXQNhI8O1JNXPrbN6(^F$!C+;rDB z+Sov3RS^_6aUF&_N}a9Wj81!no&~+vC$>PoUVCA@fo6GSL!XKX>3fH~X*_r|2BhVL zPXSG+o<0N|@$<%O1);ZDqH2Y*TOkF~3f1|zlv^t_si8|srxm6W5^m5Sw89~TC{eW{ zIaXW(FT#{*#rk-#_IkDP+8flz15mOyf%|v`YhNps4^Fy7EZs=>1Su{D%w~!qPr(6b z6Lo49s{8vXX$O--)27HxS*V_7jUi1tFSHb{K;ALYrt=*Z+8k=r6G>aRKu(MA{Aju= z6K~v1T+~GPh5jPURl7iUgTdham?CXv4BfX0)tC2Gy~ffL#Y<5wWeXAM#h4-O3rBPl z%0R|1)y2{?z;{?=E|GpQV!JlUnRvY<6a227<o1$9rh$w`TJ4N}T#{L@>c-Mj)!%m` zn->GJKRFXVm1NeNycxHHEE!)reHAkufJMknmE22-41><~qQYfeUa*cHs}dRSfj)V7 zn5=80Itmg|=c6==f~7i81r{W!Fw+C~nl`}w5lVhf^puIB_lcu&kP{jEVTZ|X#qg0J zL$b(jyfSkkeZQ6RCfTb*M2|;_q1R*m_&$pIm`dn?KItBK=4Oc6KS|#Eq0garyZ0mc z(yfauF?6vXtv`rLCJNbl*lW<dZMH2c(`qD!{)ko4uQn>5N=S5(kpwG99&1PqoKMAa zJ38!pMBUzZ+4LqVDu!UV>fwPuI9rpHS5dLl73Cl(#k0)cprHXTNrH!h1S3d~lAfZW z7<wnMnW*n40@*m@PE3&hTAOV5H5JPP?Ixl=1ly==YKPlra9bH+2x7foRJ74BQ$<Sx zDzc2fVX5@~K@p5Poj_3y`v*Ao9<J&1MvNR@6gl@Oic?V(=_D#L=z)aZ5o*Yn5UCt8 z<sc7rnqeS6u)n6!9n71Ef-)krZ!aMR^@=7HKSZT;OHe&hpW)2HtlXf<$)`sHy47VK zg0~*LPgZ?>QdO47{BtCF+9EsBu~t+^8OzZ_ufa;fWGbfVi=u6T$jpXbqjyVg_|G}r zI?56m3x>gtFV#E{MpRH`3o>F@0k#+ZJ8XIl6_LWlu%G-W>SNPaSVd73-=YYG66pLq z<02IJFH%BmBQiQIl`|tU4#J5f@Ak;aeU<8@fRaVmfi4=0j4#n&@)osFkDpBX34D#n z_z*ftuJ!8FFdUL9UKH@f(0Aa|Qs-$sshAFs?Od$I%z?<K?$X8rP?B{~G)xdsaKdF# z<TJN`HuZk33Kf(T3!7$p5w)2&z=x);la(v2O0`ZhA1y)EYFTxAu!?jUH3bKeF$L== z>J81Lq9=(!S^_;MEi$NV@Lz0lg5D3-$%)9k!v(&}B;TKcd@1~j%;lKY)RnR-5z?s< z$u4OmQFIWQf5bvhoiB+f;+;YyGABXTLxxMAaz52dvB;A|N!c>rGSL1a+5X~Sdzq8` zovx{%&77Bx2Diu3vqd*pT*UCN;dfGN<Wvk_4^I~zDTkQphbhFTXmo$~Iij8~C0z{- zrLC3$`3RNDk<dX5y%r-)KP&1xDwf_V)8#`+mRwhK<&XzE2aGfPaxiIBDhESPkjk9M zoQ*ZnKUE4bmg<Q+R@AxBai52zWzMAHF3ThomO&e>;e|E~G)6Yg@F1UZoig;b)I|CN z%7OY5g!Rn6;F*ymsqZ2J`5bFzWEgt7TH5WCR4RRJMj#s8mML!UTg6e712<xt@hSCJ zs!I|78KfZd7a1?ZAJ`Uaa?}a%it4#p8A&p)Kz|v@Qi?393MxcoBtoYt->XiiQeD@m z<sLZmx)@wF9}rD`Y@XFtWNgQr4t`Aawjx-Zc|i)MDMsGS+!QPwMmJfrhT0<Tp&~hP z!*9S8Mc<{gn1N-Nm1vVe^c5n>!FWUl{*jg#JVc8pmHj2iY-o5aT1G_uYLzHYl}Qg; z_fM3gk3Y*AB2VmlFz%sV+1X&KJD>Ou-vg&OY^p{ynQuabs1<Rfm#IWSg*;aYkTmTR z_tz+C306%3CNgQyAGKPxT4hy<;p@R9^)<!!Far5-WobLQdhQvHUCBj0Vv_kC9A@Sy zDfe4MA*V)mPdSnK3z_ZDQubq3A6a793lKiJGFp!qfof@WG8a6+Vko?3Ovk<<c}S?V znEpgd2QtoHs9XvYvaME=SVWb|TINDs5plB13#e2Hk^`Y5(qw5HmC^x>=mY9!txm@- zY>!iul-HshKak6xw)s_1rr!w%qCMh_CwgpM`I9Rn!kL;n8mUd~su5xo-KEm%oEqur z2uz56@_$?aYMX1v3NgBo2&7Dil=3%bj?n6z^680jC^#Ew%zU9;sEQr{dNoq|#}GrC z=aidn+lDFWc9;`zxwp4%s7xP#&;nfEy0dMVakc>cdn3WCN@zDZ6KH~lVKELt8Z%pH zH>;u*K$jwA&y^;ojA;j&VQ97`I8L!4h-NS7R{LD{T5XgV`}-N-jo&EDHZ_|MemSd` z;4<5ERRKxx)0Q|L7mdOVryEf91Zegk<vrPr&MtC5XX~kl=Dv(#`p*z9q;YdD>Eh)K za<%kld)yX!KJo1USw86Vki=Lq14sO5J1M0iB!{{?78Hw=qOEf}KBeZ=<vcW<YjtVS z>A@D=yL`p!@^;YwL3WvbhAyQdMzQ)dv6Xtf-Wj@hG%MmIwA_az6=BiY<$qKOD#Ap+ zu}D%87L8L_x$aWUA-<%D3Y3;p&DiB<kV?(ZwxC$)WL&p7Lwk&2u@<3e2U0#M?0)88 z59VlZPrsmu4}f+jk`&RRcLwQEBY!kkA=C$n_zp_nrkb&Dat9~R6`9bBK@n$>h<7<d z_fm5*q2JK-7bGd7MQ0DTfPYk7TIO^X!t^jCDWXO14APSz^dk}Pranl-8K9qzB*uQt zf}A8`_Sd|~$rrtgMldw}du^)7{*^1zQE@_5be)KbY%iOj57lvJ%XVGo!6JJ!SCju7 zEvu(s$&b{|!9pLYRbY9G?5RvcK6tvtLL8wX;FoQ!y<MojTvglJXg!DOp+_VMkaKMF zam9Nbb0U9V@Bky%0?FRb2r+r#WG0CxGs%9p8|jZHlct_RYOO2c>c_^ERws*=c`|81 zG;5uLRY4LX6x6aU<0mFHCo{=8nMt-~=0tkc$)ppRR21CB%qiR!+~2(?%T%cOt0y<V z;FO+v&JglPq(7WYYAIc0mvtjbKuG8|e2bsRZt6yqeKL_XJTcZ<XVhIcF4mxUe#NLJ ziewWw*s)<oC`l2Po&x*AbFo}N(u<IlF!*Iih4dOT3I}}z+Px@v9H}UR8PJ{u(Uh*& zjJi7sgn6n1>swgZ8p@xxxiQD;AWwDhPw@FU*g>A^U=%hF!;y-wMOe_rspywaZ7q&? zx{vz~@-A??bC-c+0UEX;<z5YB7cx7Miu!aHRg}=%Z`#>PO6?{Pj+di8+ZmuykC&r8 z+nGtD6{8-;LCaFa>8EzPIVaZ|QkELhx9IO{B&D+~HKf7VOVLB|YDmL)NYvKiXb<Ls zLplpXssPD6G^Cd?b7unCfegJdSCoJ9kOrhe${{?YMi8nY4e36lA=Z$l#)CMZh|8G| zCQkme&AvQqNC7pZzo5U5k<^d^YDm3tcF+?^4XG~=iP~Bm?ZI4-cRvg%6(lp!@O-3P z{O4e?8JSH;MGYqp=_)v4trrg|2ZU-!y}A#nmo=m~6U6a~xP|#72Z!`IS}V(rclM?^ zei!|{jiiPY?;K2XO)qFfA*mrH@Q|pj#nB$j1$if8NGCut84V{P<vPaU4lgoSBNbh9 z@{m@hKuRAE$p=C;B%iZym*M%GLrEAh>Oe0LhbiLqr_ItMXsw16re^77^!GfH8d8{= zrLZt8O(ZoWgNH<IEspkJE;vgO7}AR%DMG_>NV$iAT!zeYq@sII9@19{kkY|J`W%F6 zNRIBa<gjKb&=<u2bjZ!N^@)-m!CA`9w}$jjho2Pk6#Dx!k{Z%K9Ro=*zoCF0{VDpO zQnjQgAVzKL57s{_)<?Lei}mIp>mMD`wbAXsvyc?)A05)QEkr>(Qqe!Vvz~B=AFMxc zXghi2{Zzm3n4-Xv_ydPY5<i00_ahZN&9roRvfwpF=%T=gcNw8enbs~rjGBjyl=hYq z-}>mC^^at<%}o=me%^BQpnm)~MTti$yq!GrTaH0=`f@o6mLZi&$N9EHo=Lokg4dDq zh{wPsEV`J5BJCZAJ9jyXe*^LpQtnzHa}W@wBTXcdvYSxy8L-1hlkNnfZ`iY}Y!@>5 zZtS9w%ANv3ufAPO$V)(?JviAxDti~m24q$e@;Q)!UYtE5jl1;{JXaPJrYon!)9!MF z^(llre*zgjs?dQX#!W&4i&PKh;3edb8nscQDv)hPgPV|Yn}E=RBYTm`E(Y=?GDnd_ z&TWhFL>Wrxr-{9!kX;UMc@bLeLRB;_N<<;$?ger-G9!^D5?R^HC|Lxo4Qbpqu(&12 z#>zn#@@MbiaEv0B4}fGJ=;^*i{(C@f3%0RxSiJIQi^h4+QL2u@f7t<j*$+U*02z){ zra>udk+}j1`_Y@24_!E+vovhvAe9G1_i&9Pm`k8K{Io|M5n3^%>IJeR;PW9;`5++U zMt5r%5^QKG*>;H*{yhz+6l4xu!P1e+&joT0O{vvmXfPLS_)EB)&HkWIL&B=q%i_`1 zATe&_#X>yGCAMIW2<fLi=7<?i0*?pTB($GMJmg8-3*1N(^j3$q&k?$V2<aqlK8RY8 z<VN43(?wTK@|GL@-%}gf=-&tWdx`njg}~@%ZS>oamxi0e6`HVek`4#$aYytA#EA^| zO>lXgI7!2`NO5Y*%`MeXqk$!8M233;4SqtBhT9W+fg~hpxP{2%BZ-Q|Fh4)mqxQ1H z`!E`ouR*~?Dk-}GIlBMZgfyAxMl7{tvvP@Cpw(zQs8?znh`~iYq$$*XY#FzqD_8P7 zq3MXlq(F45;|XwZkxi77P)|7``i%!)nt+MmS%M@dz@oDYE2lGCI@5}#HZ%d3gMKBF z7<)c5?mhw8MLgYf5p5dUC>M%TBAn0c`&co=ewW;oD7cV`>C#;GVn!YYa*1kbUm}L~ z5!p7L5xT&5v#gmSFL|6p71`ljOIHOSRPAJWTDS5SyOmGna=PUBDVMi_PYsvTrOJPF zl^0yj<#a7Fdp9Gb`@Zm)a$E;^Tq3&%tAu2sThX-HM~m#C-KOPtR<k2kvx3=NO;<7T zE4da>yH!OS?FZ1Spna=DZjQ#wpmM7tlY&Zdp$6J54tcq$7<+Z0{Xs>R;-``%BHy{2 zT93;H4*5b_@%A1lzs(^(N>WTuC1|%hJak32cn2J>w$0(DJ5*xS@DyOzD=DlG!R{jY z@Y6QeO|)X(^(yAkdt^J1RLr|x#k{;&ct#`@^EN8U)}vq@QXcX6d4}SMEf0-k6Jp+C z6#p6Z4<hAW0pzSWTn|H<NF-&~p=1lN8<8gc0f=owgIsjSiNQLDcOc5tqN5VI=)ME( zQ6#zO(l4;Ov~qqfz@qDc#&XeZ#V-6-B(>-Yxy_jt-PUe(m~1zrv;-=_t@{#)`b704 zFA+3|f@G%sc$h3NITXMUF5{X16B?_TzpVSrU)Fu*FXx#bn1zN{C`62^g66c*ijDP+ zU->_5(TldZYMM25qt(>W>ru}jl}ck8qqq!5H0qBu2BveiBjT1GLL30Phl(zwBKbha zY7?6pq|&?LFHz_tI=t~N=)tzqSTe!09X+V<G88UGN_UZ!Wjnld-$CE7X;~>fqoR#< zMAFkJ4z&25sOWQET8<-<?u_Ugwk|6r1!=j;g3`dxL@M1yQ=aQcq^0ly3ZAFJYA7Cs zeW~!do_LlU>1_HJ+MiBEEj{C-RXTiBJ0=<T2av|lvp(7kRk$4mn~_Rmz)YK^3RC^K zSAiri6CS7|VNfY%fh!(>2)%t0tcEUjz3ms`Wh8l-(4w=8t)L5DgQKVIha*Y1YtcA` zm2(km{K)ODA-?2x*MNRCk{G*lo~*Uvo_)iKr5K44ETLZ2Y2q~!?01gPQROVyZZzJB zBn7kRaHbC32L-eDMsp-7m__5nJBNxZNac?N>qC4=urZ(?MeW9JJy|fgX#AwUYJ+0s z&{WTMguZTxRfDE8k)&7_on0*NF4lvn{}YlF%c5}#E7x7D$1Jgqf&L35F?RhK#iGll zF9gM+E27$5M`Zdr7!^gvs1&^Ph?GN@v@JSa94E0b`rbrGqaP2NVkDeVbn8a#d_H9M zHsOa~*6JLQ*I4W?LX$>|y+wx;a?la`OD*>IfaXrg{-cxF)7C-1kn{`2VmYzD&=KFK z0#ea_;ZrpE7-=HaNdM>UgA+|8>Hq4OmnN*7UvdJM8Z8D)r1MmMZz<EB$?p}g1XKrA zkxFj}3bm7jn(v6*NJ5cH_oDm9k>o5|bb7Fbokfu2r#7Ts`nbtYNMh_)-NsK*b-vZ( z*ap>56Gy1WDUOKGtR8!$;>|v!Jeov{P8VJ*7wSd!kcavlB$j_QbF+yYP-z!AVkS*y z`R9VF21&|q(b<KS)0G&CGqoZ4uLk{9#J!-A8PjG-scKPB@a5E1izDVftE&gmgkC|C z)@RY_VlNB6)nb1PG+#*eTe`C^Si=6P1|BwhJ0o-*@JqCW_7ccvq;z)b1SzEt!gJ)Y zzMO!_w!9Est4x?8$?Y4CE_KSC&bA|Jln7tS?_~enjeCwFk6Z%IOT-e<jjQECh->4i zT<`7TN=_rYkQWX~d>!+=1UxShmvrZ8t$*VA)Tumoox<}G=1F(uKa#{#urs4DybQBr zt)+`dVGG!X=?1?sRcatq{{!<A*_P>2w<A<_mx3mJ5>ybGX!f(r%LQJuEaK(MNSmma zYJ_e@wx7+Lm|kJgSz5QoBC>P3k==JHnWaXNJ*ykp+ozIQb0`XCvC+_|#WeCM-*Uqe zH435SJG{PW>=2|Qi4VXrB8lwIxr&G$GZ+XO42hz-D2QW|pr;bD(-`?Zkjav2s(r(i z%bcR%XI72uebgoJ)!Hw1b)UCJai;f-=%;P|`*dr^@{7GEU0`_$B0P(vb}av}%kA%3 zeet{(675)iwaXpL^FZn2sI+7G)h>4|Gt$tE($7g?{i|K>SUml3?-)t#Sbnwlp&bi7 zU|or%b}aw22X`!LbMl+LYjg4f7;2q%c}eF}G<lbJT{ch_Cecn~T7R4wB9(?=XQ4$n z!e~evQE)ZVxiviE7&TyV=ecSW(T=!vC<+;XjS<q=#Z0#trQ`*dk=C_zGUGPTNf*4l zRx!~;IrOIuaKt23vI`pm9s`i13$y5SVdc8JU^}%T7d994HArIYlg!vU--CTCt9gnm z$hFZ=(;eOtw3lH-TFrG}a1}AhAuGFlt|X(#MG_`Eq7Pcs6RAWt84u;<Ajybj;}&q- zoQqd1C}Qom8movE&lG2hSfX1U*i*zZxyUAVk}w`eXz_WhF8Y+iPe@W-7M(rVqPx0= zQX5iN<{;P$k{J6mGw!Y~+2eGsK*XXRdpIH<wR$`cEvF*M9xXauSh?;!-eL8)0rc0% z9$!5}kJ-s=GPF$JL>p_FW}nR!v@(y$3U#h}9+!WYg*^t0l<W+~Rd5-X%VoWj5pt*L zl4y#&HHfeP?<TT)vq_K-ours__o2hMn%rU|_d)J(iVbJN+1QKAA6<{VoNLKT&*yUK zr7fc+qPx2h-QJC;AeS{lEeZ-5p|k94OQqEOi*C&=+mv3(>6!vTMy<j1QSDpho2>uX zvf8I))HVmup}Nxltv!K!(_5H~T}bLg_*;8FTK_|b;4w`kb*2A1<tg&0?Giru$MyRN z^z(z=ojU@>TR^-FDYpQ~Z&+F<kR}pISp`bydyDiT;j#;W(6igOBbC(w>4g!+AeFTP zxgVL^2_bcrLJNgRWov<KMP?%*Hvvh3N_<FVcLIq<4Eh|%q+LL;MYyDl7WiLA2=PAB zq*r9=k)@N~mznj;%8nvaITFqQY0{6fbotUUTB+Bd<YFrI0MR#GxwI?^nbo7<R*=g2 z0{L~c5Z@t{WdT_*Mu>}$%5s4G6`6MkDFyP-*%%B`StXEPkok&`IY72#<4t0uvWtN9 zg8pNW%9a9o5Scp(Sp%dr2QC$<Y!eWBF7!#rHXvJptVb%lAIO?Ks2yq26F~G0hc21) zqRbq=WYQs-S--UGFUS;+!{t7tN#DuRO-m<HJj99W(n;Y6dHRMOOD84B%+95g0y48_ z>7=1D^MCky5BMmH?eY7WeKy(MkhaN&O+pKVrW8X<LJJ8slq6IsHbN01B{761D5%&Q z*b6EuDtfPqy({*1RqP$nYrQrs*IxeLb7nRP*Wdd-pU>HyQ|8Q>GiS;(Puq1|O}QqX zKCY%p6MK)XnWKr1j;&dwiO-I$Y0|`($JQLLiG9b`oUMr;j;+3o#3o8V0jS;qayyCZ z1-TPs+-UAb0A@W3GVLrIs5<oQJl-Pgr%S9o?I#U7+zocmli?Xahn|F-@3o|CPFXk? zNFEvNlEzR|z#B37WXnzrcE^Fv{*&VOQO-}uSN{caAhJDy>XbTmq)Ai>5(l}G#3{h+ zxgfjPoj;E}(-(rwY2;^a268J%JTsP^3INFyKr=Jh5f<$yf^;0mb}Zn{=?Yd3tNH*E z;~-T4bBaM4gjz!4d?=fN>d_!Cka$**DInoW;scN}p2O&!Wa)hb%-tX(VUz*Y?}4l% zu@)G!*419_mi7+$0@k~mRDoA$|GXv?)a--dZ`pm^h`$_H?o5~A^*9;&bQ%{nH;x#3 zwr*)<Mro$+{Is9QZ@09Bq7&pzlza`K6XegXl?iK?DsUw;L4KCVY$wQcSyFKPUlZh} zGh29Wf=rNnuUw4zD42BETo*I7<M9!o=P3!fBySsX5+{`+Cvox^G7kdYh(cF(B2Lyr z93|86udZOzoazfp4)dHJd1tOGF?|BJn*kc7i9CLDo}lKir9UZor1SyE_XE5U?VWF0 zm#*vHahq+%0WQCJ%TH@l+j<2v7X=545?#S;cJcvlulS@(FnS%*dhVS*5etDT;b=n* z1?vZBL%r*Aa>tZQbxxGI&|H)#vMMtxvGMqk6Z=0}%Nz4pE2dkFed$OPsE5f4roEof ztM+^g>r-KCgq2g0nGnq5UPBjQLQ%o%CvoWvI8+vGFK%%Py#~p#&}eOER8cRWN{AX> zW41X#yDLC<Idg-}Df^+vQ3?^yy;t^<z^@-z9xGUX%Pt9hf6LSS&Eiyozu7XNdSkA4 z8g5}GD+_G2S?;H4Z&Y>mOb*#okxg}Mnf1yRJ49{*f8EMP{DWMXUfKPQowtk{%@@n2 z2DfZm&)L~5PH)%oKRap5=Jn?Xy|R_Z+fwB@iry;91&!#3mT1@Ca>Lgu3f=5P<#CKD zD(ddgjQBB^!7KZR6Ot!6RyiRZ1|oiLLTJnnPUs|h&6xZXY+-_wJ>?L2&fy=LeM-`n zi^bA0J5Fqo8}oiEq-=>Bb|ll@L?&Ck9gcM>te=%-mtwCv`u9c5s|#92t0|_RS9a7% zwj^0Y9b}p6K5TFtdCaHmzE)xfw-zgV#c^bnc$Vcv{2s3QvKo{dTdCLsR1EJXZP}}B zag!TvB?A7b+4hToyB%91U`*%Jtc~*INm;!^<Z+(QY<W8NPLZ)!2HmpH&#>Z~F+6pl z)R&Xmy+q;^wMAsc>~ceus2uaAL$szJIz${&uDLncC7!&p#84%iIs0)YyD>?+%UWAv z#P5>`fwJ=*yB3qrO&GM1IKRy?G#p-Vh&+b0OQmQasS@>?Ws1DAZ=8TUWc8+1qp{j~ zv#qZ@M72-p601C1@965biCe6YWNv$;bINAU^nY*+k>VJCZXf#5cwbNA&3Sc+s~6*a zJ!iMqt;YL(Wj#D&4Wo{)r|mP=N>U%on9%@vq9ZpzpXjGeM{{NA0cf6N8I@-cE+BeG zb>)-8L8=@_uU}L<Wa@Z0HGX=Syp^ZqgG~1Id7(;qGMWJ=LmnloJih>BszX+?tT)sA z*mBA9M-XJXpDB-DRW?RJW;oUV7UW<*Q|c&})@J&tG^|(I4uv2Yg3MS$U1r$~GuBd< zS+*`S))aXRY_{ra`bpZ>@zm~Qp5yBSos~~@0Xf9i2Pi8q6sr#P^*ald@)|)NpVX~} z8Fk#Iez>0|Z^5fvn*!qqXW`y3$Xtiqm<Lkpx1o8w%7q<4<~h!PdxFgOv*ros7AkEP zI0G({JPUn&Ty(~Qx<=0&X_3m44~DbIAs2TAS?rLbrh?R2(<<c=U~`m1BHciiIOJ@u z@0g{|96t`S%pvmTF|*v+cCNJ2a@WlA#4bp#MuR-D3(`fA4Wg~y<&hUVnp6C&e~3ed zF`b)7Y@vsh8<2ko&Ec{<tCX9|%sIY3zBZ$7`4Z1;_Os+^W$$oVwN}bqHl|~+-2o`~ zj+g=esG#hIdX?{XhO;EtRi12}(X_0AngqMZs^)N6x>nAn8=KX^1BG%#<?CYG`d~NB z`AP)jIEVb!7i6PF$SaFkYsa==Z&7`O)pT{RuV`w<A5P%h(J4<657~sxrrdTpZ>@@Y z7g1F?%+|ot#JOp?uQx!QP{j=hfIT-Y_Yai5_y>fa0DF<P!a8hXH60olDLQz?ojZ27 zLGLI(y&?vA75wEuMQ4!rNW2DAiAYUfC``y3YKCg!%ndb_n%KOdW`-ut-%ve|#JC#P zWk7X3$WtU918UZ*$i*9~Wp~|7#zYah5M(e&2~d3v$UG8<3L@XZeSyT|K+S_7a>cOb zSxxNNQ1gZ+c5bNoNE7#LsQH#eU`u(;pZZ@}-DVl%@)VX(KpCA?4_UDES)!9(^MYmT z2bL!@!j?*gSSd-@D?9j`jZUxZYL{PD9g{RaYlY@j$Cx`DTURrmIYj2NHC9$<8dfv1 zm%7ifbv0ALGE5FxuKY`7r|9%0%MMJ?{p{JDR(Ropt`lmy9uWR3e{|RK;a!zbKB;S8 z-Q)MlraLt<7ky-_Cv(Aw)s8N+F>ADl|4&y}DRX?C^u`|pc5D|5?3L*s1D#~g!;bAg z1`d*Vs?=`$Q^4MnpxyYVfE}&18~+q&)s24&*lw)j_|Gnnj^n>LL<ien13K8+5%#x$ z9d5Pj|L(+e`1`{lI{f|V5FN_?3bY!^yw*dRX+4w$S`THu8?baJ3pzxHn7AEcydj6m z&^$VzPZI4sOgzOhI%NON*7T$4YWiIKn1H@U;11$zGcZ=i&9T;|iPKm=0b{j3<E+&u zGG?p>#%lE|ZT0hKu=@^-)rn@jb;I)zt`(xXaDvUggB|3Jz+7#Mi2>bj4s7w}YI96V z;NiL2B2@`IbFPl9)d@Uz(seSxOb(<RLY+>W&FL*L>BN2zr&!{AINg9@GIvk4rT65V zTy_bD$s9g4p!3^y@J+xZoy(^=!MXH9U{aGz5Yudwd|1mW2AK4YQKCL7)xfHBEHFuD z|7n4a_{JN{lBEEcbiE9_)2+_$j^u_pVA8$}CF;{~dlu1W0DHk;hLy}>)RpU9MY>ct zIG{@f>3Bu*QZO?!kR}fuOAnVz3bS0)F=TWEYR{L+YG1(Y#Z)=;Omg}W7OAj*%msn8 z8TGBtB-59(zW}%!#bh==HjwsaLZ+$!ik^Nwj?jI8o;OyyLg-yCRgfrQp?M~e*`DAZ z?j-(?Q^qmdoqhJ~tgM0tkwez~-=T%|Zg9&!xgxd5apd{z%m(F{0gQU$4R6fnjw>s_ zvPn*-oL7{osNK?F<^JVya`JS*TrEUPnPqjk%ZD|NBc-hRTPZI)u9i~bY9*y?ccthR zyd(^kQtovE@&x(=PJp#+*>8?653PS-%ZT`=?zJY_mAzNiURFRHlKGdG%p;a8Xraqi z4GO&>XZ57fhT5?(@d@rGV+GCDuNw(WePUr~puG%^t8i=sU?<(7f!;DmJ`Lefz)rfu z0=k}SOUW@{r0BTbjmP*umGa60=@s4zCR?!%s7M3(2Z?KdDiNv9hmv<R4^sj)JwW^| zJ2zAhB(WXJ6+ra}kRM6x6J!#|7)lxeRL=%Em&DnE90~FkiPwOd6(DlMUd=`lGHaft z|CKeD>i^`L>-B$D^&R|o1lj{-`o%_kBC}{CYFeN6-}!-cmd>K`q?D+aDQru*PNI{& zvcBuAh)kkeH2Z#&=y1o@N%Uxk$RzrpmDMScNpvT{y4JDvgz!0s$m}=b6^F=`W@%mQ z<{00UhQA|ju6q=so$De2y*J&?b&)_no$KVg6DGxuCzU!@x3OcjoEN0JAw!4j)PSBB zRO%?7=5pw)mF^IowK5!{vsPy7Su1K0y8zE}h_1P_ZTQ$Vcg!I=Q56JqE$od?iecwI zW2iQ#TTRqSXSHwn$N<r3EBKv>O1#d~<^K0ZC(H?2zz<GL*Z%)?9Ifq-CaT)BB0m|O z^CxIUezu66vVS!?WwUIRbEffQyI{oy&YDRp6V_bV+M0`6TXS)1Yc6SR&84laxvaG{ zTU%RmxwA%>7FRk%XUr?@dvK+_t~BkZ<Dbei`e5ERqc0_&F@G`lRGM^o`Gc*?)yCdP zsk6p4#-3Bk7Xi$6lP0easq}HFxz^|<=p!oM=nM9i(N_)fw!CK<Da>!SA<ksswLlx< zcWs9SI&S=-&9G3L;ZJRa1=<RK*|yR~@LE^f*lJ4^eCudysc*8Sy(_zxQKWA=3NoYd zXwL*qn!LKA@<ut6N;28<!ivg6r-CG#w(|0a!@iSK*|UtPl-GcpbXVoK+JIzO?;YL~ z<14>m<zb@6e)Z+>p+ZvcwdWfVl*Y*um)@(5E&*o9*Z)9tEjVMvLJX-fdL!Nu_HNaK zjXv^j%RJ0JpkMj)cuF|j<T1?2apa1Q;7z&^m36-y!+ra2wjRZxxoEqX+@y-f(|ap` zMS9b0Q&$Q0d%^z!EMBr2v4KKbN{5&Z)T#ehtN+&$mi0iLhRhm`?BBsZ1NsgxqKIQO zK-eH!*H^u?PS3FYE$^;7s!=MpKDU;c!e<MyPM2ZFrpc>*UcyH&0)6EUVRM|ulE3A% zb$u`E1ir!H`_}c97d4uVx&^>xxOIK?ol3_$eB=7Q7iGXd!O5SxzV9_b@DsDd1rdL5 zp`DQWW)?y{D_!32!*IBMxU5cpTurq;#%boG9C@qbkC^iVFy>xnBso&>ptnRe=A*Jy z;o$y#3F>bni`L*#xuI($O3DD;i%*F8%^6&i=#_w}l1KL9k3oJ7;Enjqm6X_vr#-wS zveDel707LKSZcn@{GQDA+J_MA&NM162Xtw)*=b^B?NaT;U=DVvKT2e_OQY+Y#Q(K4 zTHp$HOCyhS968cx={B5(x%r`NlB0im5Tll(+XwLVhMtK3z+TNqhN&&hpnKVS*Ku!- z%PwzYn%7G0Qb(6pIUR55tsX=kbFE{`RrxWGJ7n|Ow7`cBkrz(gt{G<qR%Ci(esgr0 z=*C1`-2^Fn&>`|#sgE_sRLM~ms<(#AYpwoNI-8%H*L!7!jv<SqwltBrLZYSI(Y1&w zhe*ZBmODgzS))0ay?1_P^?PGZYn}1gR*2VDWF!pY<s_25`NL(VSZGf><&mHTxAhW2 z`gGV!8Sm`JF}(5LWU{Qzx3@g|?;tp@zCj2bbb6Dn2GU#J_@P5hu)V#L*qi?zm5O)H z7mgofJ+P2`@y<FbER%Z^;$5<Z%*-W2{QTK;m$q%K_y8x~w(TG(W!XcVE47Wsgp9Z+ z;!8VonKYxVyyL__*oh})=&k$S_#pA@Pcd=%JeI#1?u3R?rKq|IVl?dWYP5b)Y?>W; zz43RU+s`xBj9bVlwS_QP?C{2a!B(IjvTxh>Ur4Y+Mz>zQ`EuRS|I5Cy?q_F||JM-7 zTdCjU@{E2^&YNGAkL1r*GKW4d&hdXP(Ng9Q7PH@Ne>Nrh{S(Z0hgzmDWxQsY@?@Ci ze9hVS1Zo2h`+C;w%j*Ls956&FoojK)1R3#R4=P7<<#WS99`UmU@s|Iy2Ut5l=F4+k zQfUyq!NOa969Zi!3QLA9WknM#nI8i81iJb1WS6q;30PB>|HA23paGUVlBKK$%c}f1 z1J3b*sJsiXa#0lI1dDj%2jzmTH+p9257mtGgis`Pw{=->MoL}0`PcM8_7^L<0MUi@ zi2l-3Bo}C{e;Hy0SB4S%rmF<Df4mA(yKjbDch1M1flq9EUy;!AiJnP#^E(jxfp<EH z8ei7HTEsgCY0i3CzwUEgEIlGlr2lM{JIE?tg|(UiavD(a0Z7s@p7#wszv63<LL%e8 z5GsBHIRLfXfaz6)o49m&9P4bLA_rvc1|lD5=mNqHL&HJ(AFdw8zrT^ffbz*8og1WV z2;N34H6{=>C!u5>tRWkD$_c2b2Z<lghznG#2f2g9RzXe!dHe(jK*fb18&6~|0V=Km z`If}Tg6srYzloDBpyEN07f3t}R7s)L&q67n)O?`&4Un}Y>IC@+r2J%_2LNim0g*G^ z>fcGc2;~W(hF1!8$A;=05~ELHoCB)6fLuc296=5OnSCnr8=z04RW?^TkrEfkVRo9x z5*(*bqb)y;;S8`(qa{RxULw^-v)D}cNhWz3?L0DU0rY9Kdr904=+kH)ka!=k>JD$V zA(3+0Jae1LjBIr3l22!l1XNvb5(fgRZaRsnfHz7;seR4r5~-lmXKppoGEsLmVr$8; zS~ATZhEsNj2oYE{!$IV{Y{U{=D~G(tEpe?X$mUBj?I1&C2gf(ulR?FwH(7T|122ZP z9kpA5ij^SYGf)CliCFasP@2FN1LZO@?sjT;{tdo=h{=4OaGLxGta2IB68xYi-@Wz2 zCi3$}_}yW7qh#!Sv)PVBDp6g(jY%CMvH3n?KU3h3K=pq>I-JR^=YTg_OxQ=2<zNlv zQj8yZ$RJ%Iri?_m92hO*aYBj*4*pj@Vlpctn6?Png}@XUcoR}d%_*ne^M8p{j6&i} zL{A6gP_K+`_KFvw*0m<}QTmm7MJrv|T<Jurb)^rIJ}8yG6`i*LTIttGyefrgrSEYX zcx1?>{#NPV5dH<wN++ZOf0s{Gy5KDK7XYnvLO$3mueIYRQRy*=jsoNuDeX|{yczI{ zq|%3*%$5pIZf>JQs&$16B=V%fN1<;qpcOuc#92~+RyfR(NDkvAQZY-=saRY24us{x ztyVZ8<^NqiQQ^0ceFM-6C*+fw<(>NG3jc}d?|?n@_Kvw!)Vyrc$~Pqz(L&KhbT6iW z&VVkWH@fOGth!WzQ^Vq`ADQ)bkGBwi1F(zf3!UWuwU{n%#bcaY=Z1`-137_1o2(#Z z^Nt0kTs~n}amNOpu5?nO@FbOD)p*(m&XBUNTd}t%*lWIa>@hh^Q*wMq8D%FqMBeWB zjFpwWyE56Tl0$Y8KT<lol&5ZB|8T^rRwiRv#D90MiptMO*`o-uXC{Zy7f6^tOtj)K z$eHKhb(~UB2l5xlS3t!|kUg7us2r#`9^|JjY(D}OXMucwF8AO76_<jXaURtLsy0j0 zTo2`4uvdYa+dy<4dYHt>^Vv}cs{aLYDT%WMc@w1Q0yf=%>W@J(E+h{y>pPH78m-MW zzk%r7C1JD;_Jx4XP+eTLd@qr*S*U2HiKH>{=?oRU2-Sd{QWB!c&6zS>F3EJLWRe-G zm<$5}ol*`ZF$d5oWfO@L0IP0TvuhKnW*gd>%zq@*-9U!x0af=RiRS@T_Y;Z#0^aPN z)NePA{GCiSeL!TgDVyyIkO2G?POAXi*&Ki)j&)M)kP-<dT5q=OX?Q6-lq`cgZ+!E5 zUd;Lds2&IME{V4VnGO=Uga`mpzm_`J8!wS+uG4fr*vV=^{dx>})&O3)ERz$WJPbyW z+!dH{vj~bWuR-W?Kr6qG#MeNTh^Ys1FXiL|;6j9){tR=a2VJ3}>IYO!{u1W&pZGai z7McGm7B5Vld@gkAT}y>FqW!(oDPbN+1=@!KHT59k)#~*mHbXfb&^k9X*Ex}L#d9^q zWXZxv>--M#ZvnRP6QaDn<$sMP(+<fb_4h90w3JL*|L!1N0j+v9iAjKU;iFDTlDAh} zc(CdC0V*bo3eCC($yGp=u&2vQC!Fz#i~%o^5|$jIB>gm$$cqE)a{~)kD~G`#vkd~X zOmrgxx-oJ!%C7))V<aKxdo3xOQ*M!5B6(zE<Za~N1iTT?uCeUI#t7?ddyC}x%_SyM z-K?Z%=9=iAiPHZ<%O8o-6Oz8ylCqhk^v@HeciqZ!pMW>w4p&I)()HHidmV!(<D|X| z*nT7~w7wI`IS$bJCgg%%BIP?PrNl!dkJR@><d4@9-}pc3TXwo@LwVEf>EzMtQu<`U z)sAx_oU4_i-L&i+XP?X+kJua$e_Uej81e5`Y#rQ-67z<2ZZ(lChw&1rTubmworxSm z*Vn4<z~t)^RZU3x&3Rf^b*$u(sy>hWb6V9ST_LTVJEFI%ki4^3#vI*CiueN(rhBt< z$ku?<3s@>u=Y#x+wtYaktj2F)V3&h;7D~fpnao{MvaG;IT}}e<%62%R;~CiAgl&gE zuk3Y4KLolgVC|sS;_ZJszU=U1Q9OM6gvXe^t}epy#$>sHQ{K&6cCAC?b;1*DCVf(g z+w8ouCmd6*>(o1@yYaC{qRM6Owh}sjf1zH@Lf^L%x_5t}=9?|b!p^($*5j9&ZSl$y z^P+^yKBc#w@XO@-n;fZR3$voKe(}o2yIM=O9!e+MlY3Q`nm0Q3VzP~BmF)yap9p<s zEBZx_-WB?)W;*VdIo~UL%dw@j3lgQZtcU(=#g>(&#`S-jjVWvu@~<S=nTfD38`FyY zU4ot3?A^Jo*ilwDs(f;D?mt_xixTYF&AIbjrxwd=670QSIX{i*<=C=R8}VH$SuLeL zp$75BQ9URdDDfIE?#+@1Aej+ivjQmLhM{CuX5Od#hRspwG}(?)u4kvQE<4v2w=iJ; zrz0E)hqm|S&xCii<1Y|;Czroq=msSwKdQu})4MXi1(WKQH+jKdIwEjD+mYx9gp*{E zlN3&t$P0yKWDc0*XUL@K;BUzK`LV;H2j#U_!OSd1A}@TQ5GG<)Fq$?~2-gdtoe;8f zgc-hvpGYVur3CX$*s$Q(i2^TW5JD!!8%#+lA4Bm|Jjs@_hTo)=&HN^(?8V6;FZiu6 zx|(N1$9gIKz?|`tK26d^){+7=2QLxA03`$mp*dJ%WREKpuHm<h*tU#Bs#uY#DIxK} zQ;tyhYJSs7Y_8!*MEr(>_~Qs3A_h$5vYyCY#;@wSmxR@&Db@A3<Oqe?cJY#h8d4Xf z$*X!%a2k||zc``xUt;bI^QFpt$8UOw7PXe$j)qi0Q6Y6pd%+6tRTXm+Dqax9vy8k` zHx!n)>$Zs@Fiq6xkE)q1=n?!N(;Ie3Ka(8_i)h+ztDz8f#GjSWyA#g`4>PAg4TaC* zSM|z+gjTPn{-*qKib%W7W?iQWCnpr<iDT!PH&x*te$#&zW!eg=N6i%)1>Pfi+Swfc zf)w#9ot`xLK1r~yo%lB5mnW$5rIKKMjzn+7FLl%md7Ws|u+*7Q<pXA^I;>_KCDd}c zfyp~ss4GaMK8!vuqc6TlDpl5*!qRq?>|SQaRKm4Ok|0H{`;8G}In35wNnB3Si)n=s zk!WCQIueM6D9d!s68@Lq9|2jDU3Mw_S0G#NNQ-~2sz9c5Cw5l7lM%D?Sm;9L&W>-b zjF)w8D|TsuJ=Ur4vhHlfo|$0JZDzmOioGhqUf0b2trh!%1pC5fcE|Iq6=K>Q3HHur z(<)lAUrDfUO5~0$YsHRT&<e@Ar4^EjzqHCN#Xi%D-7CRvDfZv3*b@@$mSVqg>~f6G z$~)iIKpJ43%F+PcoQbXhhP0BoG9fc)Kbf3ETFGc5E_Pn9I*4P5pSI&A2J+JioLeQ( z<S<)1FtW#2@R4xSE?4@2nGx5^$nD$RF8t}a?@P`O?WJd!DY-Hwn2veUMa)z$ucM&p zInsv{^8s^&9%gI)+rrJztTk77-b5h32OY{}c9O1pCitm9J1sD(1wIG<gvh;42R2zb zGHP_V5)*;^z4Q!|oh^gNGVnT}eMeU#>MpMwrq=vT$!5>vdowkgTVK96v#^J|44B4F z4>K9qX)JrFoyImg|6MfFn*AmA1@7t2&+G9rNPZuFf_7dD+6gVm&Rxmjg~FdEd^=6~ zhih6VKmRC6yQ%Nr2P4=u=QJy-(_jZylYY0jNCg`5NO#ZQA?$!okAY=bkb1NqBkcA) zNcW6QlC;d1{sC=QiKv|~L*eAGlpFY%LV~$j$4a^pjlsNZSr!L6l0BH8eZQnTQEF0d zHk&41pq?U<@?y7;_OocffXuH+`LU;jAeXlTGRY=qW=Yx~C<K{glcQ;3i9bdNGRY=q z=Lpk3SO_vRCLgFZ4am%xTx7Ga5T?wG$pb856NKb&xsYWBN}ge^SISNNh9Bi8A`@L? ziu?$Qu;@sU83<vS|B}P<b?)S_Rket8KxT~O!;DO0$>E>*Z6oA%1We>r5)n<Q&bI}X zc?`jM{H4f@LDo-52V|Z|o@WM=FF8Dd->}4CD~nW_(BMnGQ)HeXM;}PEOA3r&W^gG( zPvC>$OeROD&jKT8qR?V>K){S3y)ODIqJg|Aq)$+KY7_Fo(58$(P?ffFKz}cEQmV8- zTAid%ZX+4eR`QL7&?%`ZQzz+D+oUm&q^&IVLZ`LqAjvwCr>FEG>7`5a3O}O^%y{Wv z^Cv<HJQ==7D(-vfAHtW5dJYe)lscT@-ypRM2IZBBff*ejU8^Q%hJvfe5c(?pH1b4` zp8*oBACGJ_M8>3O<w%?pJ!1kgUO>L568hdh6w$2t;)CJlz^g%$!#DAp{R3=&2PvmD z{H=-L&e*03E_tk7J12H7zFNGzZcgmmD!G(>3<+5CY8xwJ*N){9<}wmfhp>geeBsF0 z=t{2pG_D;LI}p#;u39)cwwpv_{lamvw#Y15*f=hB>^LY#tsECispegqjU*1Mk?ggV zu}3huP7)t8hBVGwSQ$&DDz%Mum9ZH8zIMU#iLo`v)Gn``7~70YeSPhuScD>$H<9=r zA1qtDv?`Waj?CJ|npn<c>{(VjJ(fukE0->u9{UxW>uMKIk6k{ID=YKrrpI=ZtG=Or zWb9*%ud8hw8T*wY_*Unr*mk0<ap7XBLqparZW<H20S`7VTRbtg7r!l9USAdK#hB5! zY;9HS6B5g67uCcz!fIT;a%${L48wKPVz*G%{KmD@Vgo3mR!Tpgy4Tg!&5muQtfs~l zqhr+~+*Cg<whQ5<wN2w=mDFOv;*}#~uSiYBEqid?qNR(b$F9TXd5fsm4fv<2v0+rq zLuTHxx=FD;(mKmYY{%iX%U0CH3edB<cJZ`WfH8RCQgU^}EseE{X2j%~;krc>Q6hR8 z>PN-eNfEV6$HhLAn$}X&1=38CYap8I7dFg_eM?BxFQq!C5)zA+A2~fX2Ak`a){cz* zND*sRu9y|OABFYxOR8fdXNtnblVdlMShJi&XWF8!5%=bxa9J(xZKQF@J~7rG*8GNr zlVbD5;q%u{imj%Ix&<U=kbTMgr8O}RA1+#c)YRA)1bgGk+G(+^P!=p-IW6`lKCG*& zJvjFLD5|q!RYhz9MXX$gVGmQUhP8{v#A-yL1nncz1WU2!EeVOH#>uhW^rYHVwG(2` z;2)ZMV(cdZVC4#&xePsZ3!AE9h2r@}3OybR7cU{k7SMu?%b*01Au=b$9vDsOtMJ%P zM(!m|l->{H7fWa@z>EdUYpY_14WsT$aKaNr%lyWLRk2cRu9w7jXkO5`baHGenin+E zaB<vQ+gLv>R))=uOVE5bWvy6&<~2m!yv2(uVt>$HOB+^>j(vgWYv(N;6Z5IX@>+V_ z5xC{3dYbYIf@FaN<a25&_4<ek9<>;I<iU5kURCT5vM*SU89s*9Eg-^k#IX9ts@NV3 zYpR`B9eb7P;DqYfxY^XAapC0H85FT-`LfE`1Nd;+(%Q+fFNwPOD@lx^rVZlfB;2xK z0i{Q9!s14{-e!uZZLFOcdz}_sR=>C+wv)u_l}jsQyD_7&iI_hZ3!9d%tcqQL&5M?= ztc*1hW2=`hnie}6*0QAwDq<H>=!zwaN5*a>F~5;oynyEyE+Y7gG(_>(9w@b|7gonM zNm<M3XxE}=<>D39v5hhUti`=Y5ZLpU*UpKZL*Hp!R6jZvq6z5c<6@&^j9OejHMWaH z?GlRUPX&)$fTK>3P+vs$Ni@L%Nqmb81JRh+W9Xr|t7Dze(;)uok2mTU&z~9Fg<&fi z3I5w@rX{s?qhkjX&nuehCdOt-Z#rh-?AXy1v3wc5dov;0xM*cfY%Y}A70ai`j)zj; zR6jj-GnyAS)g2rwMbF}<WpiRTNpD(BZ#tDKFIz<E$ubl)){cvvO%p6$!jStCZOT|T zG4>1!>uZ<S#NH<RO6f#-G-cxgG%u!g7B#J$9{UHT9@)t7?nwYh3%(<{*5cJcn6YAM z{q*Q;oZ!X6Q@LXB*IyfAi-{0Pcv%yX2!CaK`K)JhxP1y(4}KzVBk$$R#E#4mx1cVE z)>ghm8oI_rCnM{{gPoYIwwtKT#=*GU^clL=L|4HIw_Uh=ffu^YVyRx1s0m$fe9`QS zs;mcaLMR-_KMN#V5I4U?4mC5{Fkg1XH(vBMqTWO^=@x-#S6a`HP9i9R(I?4}6#a=v zNsboFVj+4ru@;Wbgc6B%oXrX(x&WuPiB2VNYIGd(X;FD)MSAot=o!(QF*h?h5`Rad zSL4yF=o7Sjc62lm8jCI`KyspA;_|l9&+u71T8TZm(bs7Cyl7_}pC5g30xPNLb(G#d z`W4&`UZ5|=Mb`P}N(F~wdZe={TuyDW1xXIql1!EhV*JXbj@%b1K9*9JDIX=v+e0}i zBeG5kz|WKWn^P*XE(Zzb$yY*CM(Nrjoc99;ri{&!<w$B?NRV-gWO@Nnms07Ugtpwy zG;1v7;mm_lMO!}@yRx>ZYWb>X$|H&d^W=G)lt&c_=gGr3DUT_Vn!l>H(Mx$Up<2|X zJmv32bzr8Xe{DYr&Hhk+vW3vjE_zbVH0hT^i{@do7cIm)CYnpf2}FDG8;qV>F75Oq z{>Y5Z<F_Ds2K4f1F=Nig=yiDZFE8r|8Z+f$<4-|Ta#+gXjN{6_f;<S)KJYSiXmf2l zab@60ep1W3ysonE@|$}v&MQd0p-o3Bmv?v(?0>Y?aL&uf2Ki@OVTAMKYhI~0wH*zT znRi(X<mR?Vg5-LEE|O_x(t%*f;Ua$9NPdxwJWC0YSHQf$BmzHmY0_ksI+)+EWVaGp zUSKK0sb?iMs>B+8RnLXZQldwd+3prNG=lt-U9ML79sK6Joy2vZ)G;P|R61cepPHre zecfw8ytv#2oXYog31zxmL;VUbb-cwg<DZc)b)w0yLozo$ushf!ixtEP8ZWiV<gbL+ zGk#+UShdOj2Ut<O+d#0%CSR&q8joT^>J(dEdAyBaQ!Q5MrM7QNv8k_QNf8}nFi3qZ zRVviMbRqqEs&&D8Ql&SO#QXs9>81XZbUf+g@G1PZ5!0nI5%q~+5k)11%u)PijS7>i zjY+ykvpvLb_?bi&FYp~5A#HH36rB5V7EPHpG5Z(T`D?tisx%Sw^4EH4)tU@@flV}Y z+T^6yVB{_<CQ#B=Wsl1sP>!H>X=`kbymN3v+L~<19?q+$3TbPVlbP2@UrJl690KLE zDA>9r*{RLxN#pcP%Qo3BgT-I$3Ma?N)f6zfAv>+D#e(tGI4CV{awfqF$K?k0v|N)T z70-;vf?#<jhrU6>oq~mF`6fpkksmKl25V=rcJVWFz}lM}@pA!R9Td@yCTW`3avfgj znRbN99+^q$d*ZNaO<U3F#b4_QHqT;#_#1*PFl|LJ9N#1LS!mi?TlPx6BTd^%c)9WC z=%{InO<S?LfW{FoCx=C6*2sKVN13GeDZAsf*kwn9wBG~KtH~SP(HW^&78Pw+RzE*> z*Fidy&WnB3pG8sA%KBK%AZD)mr46yt_9!2B@H8*$2S{nje$pW*2&7R!`a{vfQ4`o$ zMEaS$9g@C`*hqi1ofr`~nVO`(9~bii6MB*UPo6kG@Fjyq`hPV-vhJfs>0OLP#&iJb zYceHA&MF46g7nk4%Mur~<!So#Gfc)$lnt_0kZeK1ZP&s%({eJ~^6V~%a&o<_z)19+ zZIYsB@I_5lmY8>!$!<$%<k09|X8P+U`wCcbx$`ysP18<$NqjPnNPo+;I}%pd%etK) zNPov9tq>)p*&u0wuJ?c>haciMXA!>1P45%P{s}C;<^Ti^;?WxrFMa}Lr59N&Y>Vj^ z$dY0*y_`8}!`MJ}7rIJ(eqTf@6B#drls?{N^s>^#q=|tfDI(|j0tV@f2Tb<Ol24*J z;~``FO8i^|Gaj~BIQ~;NutzMG84oh>WISrI-1xJ2KjSfr6~x~Y$tNt<GyWgJp0rp| zd@606@s!0%y{ylBgFa)D4x;p&^J&k5j9*Q5CXTVC|86qwm!`6o{b8|y4v-mtnGEg5 z@y8L!FagCf<98Ei83BvYcCQhV8SFOQPYGFP(cv@t1PbN*1dRXuW`_{ZdM*IHD$r%5 z(kq4j8l<c!y)EPTK*1cP&*eAg2j<eBGoBA-ccwSQU#IOeUJS;+P$Tc6mt^d=SUA3g z*2{R=Vwv%?Me-Gk<;Jf=OU7#!D~Labs*E>+@%B)A#+NWeWxQ#zqIg8|y&a6dLJ6hu zY-Xm6cY^UQNS4R%$DoY&EUz;DuwZ+F@t*J|$0vy!_6Fk;le6OTAZo_P!MF^Fi{l4~ zou3BdPoeYF_;~TqXTi8Q`t*3WLa@&*cBXBF|5)toxV-u|<4cQej-M>y@s-8Sjc=9O zeq*uo<J%d~GWJ>Q!uZtjVBZDf>!|0&w(-6X#>Ii#;+N4b89xN$Z?@&V@9~Xd=g-0T zAnLMH=d6rhf^nI%?ujo=g7<4ME;Gum_`V)szvBt=KOMg+5A07{+c)Dsi!FZz<I*=i zizi7wlN1l)mwjH=mxDle1Pc06Jm1pgHz&e)F)QPpP_`Htmj|sg-V4R6u)(u_+!Ini zhU1Uoqm1`M@h8xgYc=l;#rulK`Ov0R<<UU5Q&scX{B}Bq;i|}Fycy1x`o-lt=oxQ^ z;~iAB7W7V73kqxZ&UiPhPRfjLlbC)l9DknzbDa@kHKM>8u{Ru-E?X2IC0*zP`X`bN z@uzT3#)lSL6JOU4?BC(IjOZKVtEBlp4##EW-W<QLKiH??xJ+sn$3Mcw8J~qU%yz|3 zqbFv3Zn4MXKNNv|5sp`r@9DT)ipcoNTDC7fN3gHaf(w2w_#y(fFRYIDOhIuz=(nh$ zGGSBj3ZqiS_u;to+Duch8g&^zSTxrZqzU&&o43FeXsi7kj{gV6J&l+32JX!GB2f4- zeoPL3!EerqbkWR=Fa7NP3_rHnzV@?hv&lnG8Q=I>KfwyeFO%Bs^Rp!2Q{%Gw%lOt} z>0ZZ<#J`=^GOqNak|8=w2He<sy3o93YgfeD;Ntmp%U8w@BCJ=`9kn9%7!@rjn71hQ z2yHNEQQf>)4_46ZU9FCNSj0Ks;`*av56f^SGPh8==Bi|gqLfusN^_k}6l<;sGMekQ z0`AbO8C?;R!C=ft5)U)fj*`SfLC@>gRJ$}bgfQwaiM@D|jlfzjOI~`P@t~h1uE-kN z5hN>kKok|p;W)q9J*ZJ~_!jD)9G2lVIV=I0^-stdqeBM_RmlpGe1gu9)5MHknsHYs zTLRq<u=j*A#eJR~VDGh9Ab!2L_Wn?&PNMNYC2$_FSf(9W9tvejgXh|j<zb5z*pX$I z#d^k9OQ1etu_C^1EB)lLP|{dR&*BjndU~kq`)cFIV&l(vJ?k#X!$;PCQu-f4&!g1? z*U)U4rESwm=Z;`3U1J^$%lE7D9zw)Ctk)O3JbmEsk=W99#7Ev`3{d9LSR+Vg-d#Ax zJQjPGy5{EnIvV8h81C>2@?Ne1c|wt%c^gK6JQZ6*o}#=rib0-<WfSnFc}+7wo>gR6 zo<4E;uh?;jmFLZ^fb+a6sLcCX3VksqA2gVp_rOq)-HOc0)5j@aj-3u?Zr%q|;Jl)F z7Uxw;p4YSr4T&@B%&|twjn>ihUUVTz6Rl#c5Qy#=#CpXGOgWHhP4vYFxfc=a1(|a) zPem+Go(#%7Bx@D<?73v-p^-_XgL!f;nR%EZVLg}3JY11fJ(tWpLXk{8fz6zoE*k~0 zye)LA%-S^Re=MM-pv-xGC&~$2RgF!z<jN(A&IRVS$QM$$h?_g2+FkSJj|I6iDusvh zPCgjquIL2}Etz>YKr?qoWp6w;uc8X%9u;d(Lr(^~*WV^Zlusaif4+P&BKL!lGGx3N zmbT58vnTVmo@0CYdI9boMS^+yoa%d7vX>vW#q7zFVp8)uNz=ZcwSg|3nJ24wvp4HT z;ygD`)?nttENQa>`jAvSIV@Kl7?Lm}IV^i1$>E<gEk5p&YxX8Zo<LsD<IIOiDd+=J zQ~qtSaC{<N+kBMN_I$ErdRZq;1N}J3-%P$P1!jIIl0#6(Ka)^c7|K))I**zoEf$Xd zcO1M$p-d6XjH}lchce}f@mvfN$0moRc3D|WZ>BEfzl`p}!cibgLm8qmU9RL$B!gZJ z>C7Gg>8?`;Be5(L7e>V2^}QJ1yenX$Ddr{^(eE+Xi|(6=Z1jD)Od#5wUq5;po(x7G znkBnBTc=_}^wgoUtFsA7mctb=OuH0+5jwg(3@zn^fRS)~NlKF+tR9EwyMI3nyP`4w z8)1xO9EwN^Zf%sT#}HsCrvyxtu}dH#trb~I`yruUhMzDUi8BIb09=9nBxEn8`|(sX zV^g|+uy7?RBbt)3P$H}T9z7@~y2=Q%QKTe5ydEFp!>s;hEwj<q1l6inRH_rX8U|X{ zX>`mc-F+Ovo01zayCjR6s~be!&qG_vWyZYOOqXpJulpYSmNM9wea&<UT(A2=(KF7N zFk`;eBmKtfejW}>DL1B|nJ%sGb#IykeSW}<Yo==osuxjHC55RH3_Ul{J}G|~G4FtT zY0BsZ(;)ez;yMI)JuVmnd4&<m$->h9-0e=R&F&CLe;Zv_3%N}6%a7OX3QCAH2J~{* zL&94j+O+oF)>E6v)PQakzP&&1z#Y^m($g3b?~zNfp*MIH8?n|2y2PKgs9P5LGkUb~ zgEU#5@T^Hih=gu5+D<Zowq%LO;LHQV=nvsB@!!Gw33vx~Vn_+qSY9{TQp)aTE4M)e zrIxmGJ>-tESTC*jmCdZX@t@^)KZY)x;u~|DFvYK4_YU-noVuWSLP#1?-6vDKlr(~% zS*lxmk{Kgxt-cYm)~dVgb!GGA`al6BvBT@ukItOU*Xjk!6SBI!*DE9FYfq(^Rgk<l z0FJo*<Ms%l_Wpo2N2II7!HrjPiz?7tKRo`lC4LIw-$0+U@RfPS63rCu3kW>NOxt%e z>mze}ijmgX_qtWi?5&5{dQcOVm~AO$w`0+d9P9G}lxp$YQaVV#H8c8X!B;tSx-If* zhfeW|hKsUuY<*0)GfSiSykX&-lmj)AimsQrdW;>OOhtk{#<KgLL!6nhDT8H8y0H5Y zkjj*pjAY(`^)!d+V)Z6&n&`stEQi@DFVySp%Y4=)rJs~kxs9m+=v^;USfM5MxSA)D zuHu=6v!tAEDV?R9gSOKyz`#$$wC<KT^ID#>1qQxOV3;1(h(95G2^3z-APTWSEE~9s zxHdgg;u8N)Ugvoa0E49BH=i%I!SuGVE;7ASGE1?tI3L!G>yZJ9yMsKogD0(k5)msM z0A=$Hyh{~uik^0gf?felWBR0I9-mOO=|&#i160u^|Ky=TphUz}(GOrB0^DSIzEdLI zcgR%^k$(P9bPd%9c82nfC1Pw?!f@fXaMq)x*DP7+?2Kr%Zhlo1(=-A5Pb+lgy1l%B zVrQhYq@TQr6GUJ*?~b}P(qR&EOK;|Vc))O89d(-}rQgD21oW15kGVb4`FXN#fp8)) za8^0QJ0l^<JYXjS9x$*(Ca60jy5PDS!nHujTn4wY#+AH-;>n1v*w)?3B^;n+r*L#; ze>##%H}sx``ZzG~^C*g*iL{m3soiY^0x(ctiuG(HUnZpEAsh>g*o%&{FszKH(qD{3 zMav`5?*>XT>2?E0OhwhJk#y;@CAVWNFrpmJ(c~&TstWF&NKBR{1MiSPecvK$5vvEv zBd+(s(_^9(#@jVMh~!COUnBDwz#D>`;AAVOLLXUQjJSiA2KYVVHOrPhHh60*1a!A+ zx%-IUA@4clzaY0#CQ-nh+{3<d<Ty^SB=jYR19|c*2K5Rt#+hk07Un*0OY6e|RSvWD z{GKirrrB87j#;Mzww0&bR(|779yJCeKxRZb$|5OvH)GUYHb4%xq>muI35+a~#ngon z(|@-uWkhBvw{dk(H2ZSf?5pp=qd>`AxVG6FY_q=w^%cN2`_Z=954@Mf9AKNh(Kh?( z5Kab0>_o>jDS>8RZJYgH(02hPa^LPiZP>MuOljD|?&Ah<z&7wPmUst*>wxloFIua6 z+dr?jsHK57L~_KRQ|@QT0lbQbU$7F>ouCM9ipc!w-HE_0B19|Bc4FF!M><4WaW#rv zD>gZD>sA~jO>>@WFivGkaOx3})b%|WMy`XE@&MX_;@dz@B(WA4C7HH0XG)~zs3|BI z6ftEe7%d7k<IiOJ0T{Cj%C#=zjD+~mNb2a9VT|6xPw5x@lsw2#42=CzDCPjqy9De4 zfX7ePfyy1zW-$5A0vUY?KP7u1l}c}Y8?oJz`Bsq92l%OZ2yX%$gLZ>gxRBwbj#e`l zN74=D6n_Zoa>OnHioXVVhr}yDiHMc{COIF**Fa_XKz3_{8X@ryC|3gG+k$j`Nekj< zmni=*oKf5p^59*}et;Z<a!}R&6^jrILy)^Pk}iAb#XVqMwu{OF#REXTB=HeYB4VZG zP^LUWQ9xxC$VQ=7leinoEy6hj<P@ho;O!FSZ6g`Q%OK}H$}$F!V{owx2N@K+q6MRn zqv0g_d}*eBGIkG&beFNazmCSmk?z9viu%gf+`-Bk`JRr-c8C<V$aahri0lMT><S{; zBEzerOlO-c)Hi8$iP+Pu<ZwrW(j_BNni(<DcZ}3Qm1ee98jW-juFalpvrn8rXUvJ{ zg>bZVA*xKWGfg6e6$kf|CP(^6POqp=O#eKr)ilp0O8Gq8rN#9BgquzOGMp<iV)|D$ zY0LgPoG|@pQJN}+z8kitOAM&#@3vO@UbvO%@7wHZ`Ul~J>GzC9%L~r5V$q_ezYy+i zP2V{h{_$a*Zq4pQDaVJ~is^-yRlz+moFiu<6DR1*cWPK?zKMksC&0Tb9F-HKLY?Kd zhI3_>o1kajmxtTS>^4Cs#Vf)wrhQc4*6m@vh%>RUM<ohw2<voK_@vBjcZc)jWLl3& z8zpv@hmFbTh1Cq-%fp>y`0mHNUT>5A)rN*}C$-_^VPt3wr^%kDS5#dM#^&Ry0{(9m z6%u-0xIin`M~dTN4jJ(Z<KhF~A-Bx}35GKwDRAagfFy;pB!5*SKT?5ESkIchs%sn} zH=HVZsxAO8)YI|y;Wk2{!VIhv!+Jf+Rez=xmN~97wJEBX!oLXVNs;*y4gFRM-d&cM zU3KO6Rj8w$DEVvT)J%?|eKJkG8ZuId8Q7alvIKrL)LA47e-M?ghiv6`i<jT9$ixZD z>K1tBosd0Y@`^5&?(t~II%zq2`fH6J4Rw(k_t(vY$3pZe5Utqbp)OjnqF*FB?{a3J z-JJ8TP-n^M6-A}k9ZvJj&HNn+eqR|u&J1bGn0Mg!TUJXOpBd7nh;{tgA$7br=|^dk z6GO)Q)U4=4Yob@wa4@_(lWi5AW_ZwczB4&j+gZ2T?oQ4YMqwWbkb9CdWD}?G)uABw zCTo|QP|pjR@8d>}0v?dNQY<?(WHeZRNY=J?vHxRoRPt6`iZ*H4HX&`<i8lPxLK?jj z3!l+JClnW14h@3dp=>gFPPFfSqWzjhkw^~9o>9?7GqGY*vJu10l)kQ7o02=|kfO$K zN<Ki=v4z)2Fr1v6C3guIYK2d671lf3PfL!;?Zt)vVVz-4PmYVS!tT>R&PcW)!a4)b zC&%S>Ut9fuaKCJFSoWlf{wdn~I71d6L?EcvKFPi17U6!{z56D2VOH|`>t^Ud$p>zR z(_hQ$mt4445H)x}atAe7_q+xrXUeu<;l(U6O|e7NtP+P5l))*rEmYV+y7OR%XeEcZ zO6t22hgwcmTMU#wTA8d}(yQv>2vZV-Qb(9+Th^<Z2%+%wDX5>HtV?$q3=J!i(<f=; z$&F8Db#j_u9Fsl}OA3;WxrvPZbWAKr?y8Ze&L~JO7H6oEt}c8E4<A9M?#VG}TaKc; zB*<P(GP0FpK2b%CPOm1#wRzP+uO{`C2AH64@q0Z<w=2C~IT9Cl^2R+_-t(%=qb>C? zTdRv$m&iDGXOd2_oJ{K^dsk97i9R#EBFW_;2=uV0GxsOypkDVV_n!eQy~oM`$tR?x zoW1|Dvf1{JrMFzL*K)2%I#4V&GrV5C2k>8<WMuPt*OOMXW3v4>TgSoG6Sv}|e93Vs z#heNB)>*qGDPJOE%wsHLfPvbkgY6!v|2VHZfLQK5WtGL98F~E@%kq)d{JW971sEK0 zlCo~~%FlM@cX9dVkZ<6S(O5e!N$=jtd4kh2VAvH-a(*XW-UiougSxUppF5CyAo?c? zn`sLxCqpSvvKg*D2bi6t@v{x;R=}PE%t_KyzdaCM7owi}9g?J{er3362vB~MGx$Ph z;>S`og0MD8PXkvW(*$^fC$y^BkXa6q6?p{v+=_gWBe!0WkJyEkcSs%3daTvD6^)ky z<7M@F-qWsVS^&=+m(*#rtXy@)`ZPk)q9wx86>DFL=nm+LwOpvOV!as3nSfofK9f+m zSrjH#tlcT6W1_5*f?{jY>DHo?VVnSrm!<6d=MoC$B4y6NB3Z`j^7V0q9s){)rOVeC z#iawfeBCBgS-viUas;5u*Ue6$@%D<s#PanS_)h@#=yhdpc*#jRpG>~n5|?Gzf3x+l zQ7(*=lXQhN>RI;EfbvtEC~nr{dg5Jt9Zk{+<PXaJP0F7vQ`p=dlo3w~?<?m#BSOzC z5lX3?q!kl_1wd&RkO6eo&OqrwAit8>C&)06#uvEe3rwj5IhTGU$7ES4?H1inCx?G1 zL3d{eB|<6fL+Uy*TnLm70a^Sa8GzDpAR9S%Sq_v=2bu5^T>+R{3v$1!*AiQV_Z}52 zJrc&JNPGZ{zZ>L7CxyzM6dw+EDt-oX@yiVTK#5R?yyAppTliko5U#w##T)#aqszY0 zu(W$@L3U?I1t1KP6-0N(3V55PkXX1)JKC{$7pz7KSt<nyr}TL!kAd9}jFPp*IRvj9 zra6^m37qSPl9myl#d1GN=U2FJ4-CG<$;)=@u&Y`jvRAd9tg7|8X03@-v)0Q)NxKtT z$D(mGFl1*dMfbx+S&+{YC40l}X~jttF=UXdu57M<WyMWD@maXQ8!{!~ivljN;03#h z<_%lgitcFaF38GtH=dbVf_GMfY`~s6pz;I|Ir}R;g+$$}+`<hEl4a<~2b_z%ZSYO| zaISp!u=r0{S0QsHP$Hbt6g>Ad*yBKH9K?T(TRuT5yMpW$k!~bLKphHjjFJ`Wyoap* zKy#|EC3vQ5xXpKzHF_*!#nbp%OTLvr@m!GGNbD3vqh#4Rxw#P%sYpUi-*8$FDqOq` zu{X%@nq->39BhHh6lhMRCo=U9_ZYnq5ss;{zR$eZat^V7-db_tb{K)z>5{5ZB5a8h z3pA%>>XE}N4*MEi3&=1J7_!pIN_0Jjy5=|-vY{2{y#(iCiI7uTaS{<iL%l%nzreAK zSHKu--c3$zJB(WIg>@dqodOhp3DWruPSb%B5u5P~6nRNNX)<nq3GyRAX*S4NZxSCs zX#q&_TWnncrF}r;ma`yGIz;l2cnp{_4&*ClHaP~(1X+5YMc8E)gKkJpIb;Z$>R>gz z!+q^Q@hXrnNW3q|i6HCVrHO&!%^<r;JSoWKAmiU7cz_boR(d0pcfei(O78|acn@nb zp!9K&7fC!L$V(sv?{gIxDBS~6PhyE6Ux3_A;(9@T7S3L7zyPKtu?*Ww8HWyrBQLOx zeZZUoc++HASwN$&7FIiuTF6HzOBR@uVaZbyrM*E;hP+8xveeuN>n33h2iXbvMrFyO zb2qFJc&2m`NY;mh6RgUaARZA_I*UZ?-&g>QmxcF=2jOrS{jRM!COJ~P3UV#{BY@%) zK`tP%1*qH%QZ8z?ka!Wwb3)w;BHf|%auOLIacK+CW7xF&Z6Z*h5gF$DX~_dR4q*M` z4Y}!F%afsK4HioTuHtt(FQFdtU@PVY|I2*774x?JnEkwiv+uKNUsT5QB))lhesCz? zg;-Cs9^jatD^qAg`4Yr&aK<`L=1^;iaO7)a@Fk*$@*4P682yZ^kaV-2&7$6rms-)w z9bM$#YDJ&r=oB}k%|q5o(bM4Q7&s)m6<w}vTc>zK+O?u@Yo+Hq*GELpJ+1Wo+KRrr zm7YMWN#V0rdQNCX_l6~0;0-&y72VlF<W8ZV@215cE2q_`f?Q6Ep954L22uo+9?s94 zkD2L!LH!re30w`BXknQjlj9dsPVs11XMMuwSAi1Ylum~74A^79uuEM%TmS{aOgP>k zIZ5jMu=OCCMV}vP`@ZOV7*_75gg#LG9LORPwLpo8mA(n(9<ZGNir$;X5~W#DIUUzT zLfJEiGf#X2tN1s5@;^f(P#m7l1V*9^C=uDx94N<u9Rmzr;q=HQ?O`W7WHv~1U?(v# z^G-J$xCC1o(C~5@S{gteLc<+E<vNhvqI*4wiqF|x2Bw_`l8NcpiTvpxC;o?PJb=3P z*j-W?W)H6%8Iu_*_?8-|Yi~s6I-o>2>e^4h_5#DU@6t@(-(CBvGoDwXioV=Xr~Z_y zuI={)76GHhwI#w<m(GGT9gu+)mwnN!V3#P!59PPGa|>eU0P4=WNZbLGh@86fJ+QZc z!TVafGs)TN+^H)Z>7R5NDf69046sgw*I7!L>7n%EuOP?2WP$=l{|v&RP5z^kW&Guw z(;OJeo-m?ylUI{r5}-D&BGCwxh^*Rp8`#aj;NP4cZSwR-L_e=6b4@N|2g8qR@=Dp> znJgMEBk?u4KLaYS1KB3j>q$)biUct24v@@#47}wK?gTmWYpy~88u@EnK>@D;88bN4 z=_Rb!=D8J_TL9ZU!q(<_6Vj`Ii<gdWX&>-*i-LZkg3c7A@sj-wLpV?(9F3P6u<^jK z@<grz8`9bpwYkr62JzOh{^%Rpy16eU>&1Y&@?jDW0wp4+uKWb-LtyavPKUbkhW%X` z+_Lky<o{{zKbp%dmog7>&D~`mXM#YYxfxQoKO_~WcNB2JrCe<{m5eN|Ix=!f4?R|7 z#>-}Qg5!G)qB=h*TwDqHB-9=YlnAwSI+QQKJ^(6fL3Rpt9*HI2GT;Ey>Os5#g!4$2 zMhzf7pCK<jmc%Ep_W-4*gG~C43qZh(i&W&x<ECvVQAEa#WGuZF<Z{>-0F^sI=E5nx zl|;(-p7%S{(uY9q1-Ts<v>RmF<5C$pHY04V3rF%%RlEmQ<_}E%K=J1wgGdYjX8r&o z(_G1J<Y$;(g6%tQ*ilZ;8||%+R!B(OPB&i4+1^}E!9dEnJ{-|94n^f0K+8Ch#PL8& z86w+K#smM~We^rkkJ)-0+JTll(IJCD{z-)}#)XEw#B0d;jxAdhk6U(N1%Z2wqsxwl z*bmJc9B@Rrp=of2L&Adebcoy<HCQ%|<dFNPhKzKG++@{rlqyTwa*qt@gQq#x4v|~p z5V@;slFG^FE(hP~=CUeEk)zj$@i^_XpzaD3-EE24_K)qbE6AzaVV?!{YL%H$vq(1D zKM!`Agpir;^?I#}|3|HYy?5B0;{x{IZ0$JKZ7Vz)>?XToJ86X-K<`7!$o5!JpPkJA zFLNc(TffHfc(5y@jdv!5^}ul5dwjwYNB&6FfC;*H`BYFhx%HxK_)c3STM6CK{9-T? zA4BWQHPszt*beBm)lW$50raA5PIIP2YN692*Y;i+O&@N)C_D8h_K*R+DBICxJTxKx z_lvR@B6~K_a#8kYupa<)$fdU2yKLqY5<2#~K&#hgOMYgi16r=lUIca?z&I{fm5X{% z*WJN3-&0pLb+lY~*18?zOf+61wJ}i;b-N{zL7nn48eagkZhsU1d)=~s;dwZqrEV+1 zjs{%aE_HQlF7oeny94QeijL;%&aqz^8UUVL2)X<nCo;qkLad#6t<mfrcMF%%6|yCH zy*7|GXWRJOc8lc?PqP1fXAZ9J&Ym6YA@O$@`X>T5{>}+@moV=08+Wh(HvTpT^}22P z@9h3SwDGsa61)AuRbik^<L^8he~&}h35+P}f-d?~*F8~e+7`@`(j$IB+^9Jv!j~QR ztAe`uS+Wtl?8t?+p1CF%liO^s{gbQNz@R@4W`x}7D&g%$&TJ2c;^;2Um`PLr#gGCN zw*$GE#5SNr#7cWYIg>M~69DZP6Pwi(6{2RWpK)NN>lnru?+@fO28M!^02(~ATqc^r zrDj=U^rH8d<63u&6=XUZ(BPTp#H$nHe-EB3ki8IS2_7$Cyx*a?yA>M5&iw+WWE&*y z5hD;S0a~KwO0dfS4y|wKc3ZUZc8i|Tel#p@lYaazVy^>Q-(J4)x&fLg<}%Tv2omZ1 z&*G$(&c6!5CSaUg>Ypnj`_-#NNO~*ARR~=Iv{cRy8t*SC9C|OtX34#O?RHCU**+hQ z>=2-(cK3qa4sZ<a<a{fe__Tk>p`S98Go_e8Le<&?Z<VC1#WTB6*bTup9VR#zq$L^8 z2h;^8lUNVfvCw5=sp?V-trm61`}nZM9Y2xjzknSJo%sLHSlETDZuvlqSGWM^Z3Gfd z5j*#HipManPI(Hk`z3SpKrtm`yzu~sj)Dy`;@=pId`~U^cNBESF$%iWM#;t@jeKV! zgSulUDsKktDEPnP`!%?>^*hME0<_d>IBy0V47gft6ub7Xm5{Vn8xd;)T56RNF<t=R zn4No@{3QlDeLa?pcSVc}?>e&H(jN2%bS6+ug&qHPUaYx1d9RTiW@{4Tn~r}K!S*u# zHBrD~z>a?-gY9JeOG+``FG4(6CgoAVcB=|J?|g`-19ngx9c(9)a=SLhivYuQ{2OD5 zUqE;tDA~)xK`sqU3+knT^{K{d07^1rTprS!B4z|rM0Y&Rcxk}kqDxT9QPG+BUey}; zz7>K%uase!*2h+J<3BZ%z6VKCX6vJjH@Z&g6YL|^G&6e3BfzF_u#Z%5D`lMv*t#4P z>?3vQkZ!y-fF0nAEb&ta?*n##?{5eAstn={(9ZP_S2zm|`k@&Tj5M(V((&aqWKIM$ zn)Z-*Ig#n!=1h|d$VBML%S2i_RAZ*`mI4}jPdnk27%9j8V~vL1bI3jdw1nQssPTpY zZUU~nS+jc0I`#`gjlc_$J`-q(z&1SgktC0Pc!O5e@QKZvtd4-Uu>dQE2U9+knw|>l zFr;Px#pi=OLgHRQt^(=C^PC-k;+sKECvgHW=YEj4oVvtJQu+YI&*6RwaM~m5nc>Yv zdYz@>!8YpH%$V^~0d?#I5@P{vjZrQGktP{%?1_Xzi(^kla3i1t_cqnp`u4e!-H_Cy z?;`Xv(Bjc)ImW93ICS9lWES4fjU_@-U+zHe3ZTW89oiZ%4#?5#4vED!Hh7C%>#{V^ zgB#WHg9dLKyGG&Kwgzu%u*W1s%=GCZF|av=5~;BX4e7xYZIz=aZ!w^)at?{J1d&#` zgT!ruNUQ82@g|_HQsdMXIAvp{RXB=n7n}d>>xqGR2BO}6@^8PV^soME;75K>F|fZb z+duYu_5taqBf}>av3HvIIvU`H?`azIqE+eLAf<4Fy>I``)|;lfq3T6nmuf>;HuVI0 z-yoyXZofwr!%Lf7<NYQ?E%PP6hm`pe#CrkTlV7&PH}j15FTnQXSA9KISd?$P`GCgG zP-lYi<Ydac>qp9_xSo7HGM57ya9!FNuPvaNDqSX)s?56*aKBD&9dLIcxD(KxJj)3; z&!m5!L^9gb=YW>DI~i;v;Ck{sH(CdsWdHsr1U35JMtZmCXr3W!Ixu1Z^yJg0amwU$ zusJ72zwf8KEH&K<>nfx!0g88kBynruAA;NoQU_8C6h8{`0*NPqIWK}7?$ps>dX(;l z*sqiEdI5u1I<7qFG3@k2$sjE|9MaVvbiU!9OR?!a-*)wls8|oE=kFtN7oeVhyt%oG zWZ=c~%Q2v(tN)1LKESTgL}Wj2mu!ZlU42r4@kRnIE`JQ{L4ZTM`Yy@6e^(chIy<*B zZ{Y)4oP8G9DS#ZkE|Or~X=A)$htj-F_K$f=8pGb@@9SOud&%}DU}OANzq7>nxGu&U z0gM;v^-c%dC=#T%`zhLNH^aXU&}PdiWI6@3+18L~5=5Hq4iY;7ZMMx$Ri!gWn{6N5 z{{Vw8cU)~Yd8R@Rc@RmOZM|Ye7fR($a$|yQvg(*{l5cMZ)qZ-i-$m+R$AnXSx!CW< zgi|e|W5R`rF`+191S;3~`m~iPobFVv@jK}-qbk?>omAyQ20U|&uR9Ng`at7)KV6?L z>UH0ESVvmJc3rE+de;T)zu78hQ|k32{jQ>RR9E8-1$sX%*%tX-sfo7(!qtEsL>BwH zGw~~gAAmBskM1ZxO`eFW?ndJShv=Ex5?|jpB_DklCFOLw&XvlZw@n?Hu%ppWdJ73X zgZn26ZUpoU?h6tx0wwZrq@KZT?ZKy101f=HP7(L2z?U<)FK4)Ms%uZ<bp*7xtRS%r z(B=HJ=1hsyVb&b&IX9!ArRO|ErUw8!X1R=sX?p)&q#fvUWIq5}I?%)e=y!nYKbh^Z zbN~KR4oUmZnTVYLwDccyAY-~_w)G8N?=1BiL=R_h&x+gR3~mad69KL7HWHTt>ZDk6 zrrnZ>(cw%owbbzo1V0CKbl?S8|2sMeNh=rYMgIm`Dpw131dym*k>uXLc5@}SoWY%m z+$PE0JQRNk_L<E+xTo{2JA?b!MXEf~M=#@jx6?V1lb7JK*q4Z68opOTwAgjIVovV0 z%N5%xvY&=viQhvu4+@WDI5dNO`^;Rgjd8FXn{o5i)}!5<C)>|vyDpJqJ8xg!>)i$D ztxqbq^}9%ycoxE4Le$ANZu{>8eT=squ>B<05+Cksyt{#cr%9>#zCP((c#!erzFj*5 zx3e?w1PEh+5p#*<@2QWRF!Zs*!6xV%0o$Vgaz-<P<)O6DkGw}rY8X6%(EWghLE9qZ zr2rZRZ@WxbpHC*j;1V*mgu#snZU;2f|Ko(Eu5$bzq3-wN)Cl>OXgCH+6X2%j^6i?{ zJJ$aFPhe<FynyuMKub)F>W}{bSJUCw*vx!=ON{R7x4EC@(VA{S>MTHO`W%U;0Ilh0 zmx;|ESJPw3)Kb&X0OJ`z1Ae!N>^~iPGS<k`BZnb04QQ$2t6(nx96B8q$*{A3zzaz$ zcfdg7bpl!{cLmtR0LPF|oRRW$>MNKhTi=ntykS?m$QQb!dA+U;Q_QzKEnUEcN!K(? zC3={x2h4G+<ZlD+&deIUf%Ln;fpROSY(<|dedRu@VDmPc@f|e;`qq($xsbmvp!3yF z*!VfnTi=^-f1sN@c5(F}&J+O~-46sh%ltLB*m#qHL5DBmvanOk%?i1weI^io`4Aeb z0an`*h7O>3J;-_zje?v8@-2xk1i27oR4Mv_5>Zfk4U~((&H<+F1lbHVAC;xIg8UBk zXJFVw=MWh>#AC-{*L1PxqN{90O>+tfJs4Mwnlf;(@%jU5%4`xd1rbyDz>{~ZAY%Tt zB(4F*ib-?Cl!Wet#<613^j)nu{@-NGP!lSC0g-1>^)xVeo3l`^a_KQ>&|KD<j_P~6 z#E<_9WZiNoejEquTXKB`6i)}~HN<#5fZ|$^g(PZ$63J7#9LhCdmjk8iK)xsOl^~~r zj30`dfyxU&Jcf|c3rV~J<waopwIEH+zAJ}s)(1Kl-wioBj9m_(_;HXGB<g|6mq0d( znwLr33grf%^gWQHhcod4dW<@7F;5gXD^8@wS}u>Q1pID9VsQy#50dGApmZe2ha~m_ zQ>#Hfa|$Y4wm4ZzYhZ-RI9~v~!3hz0u-hA!DCZDlBtDMicM30e?#Ftk*G+Ay-FdcS z6kK6dE(zFwvsGF{mq+IXbWu7O^}PVwG0qQkmhtf;2(JRRV_aZ6#?>R}Er526*-kOG z$s}-fApFJQu4Bw9rvm{RjSrEyLlEg011gNy2heCdiNpq=L=<Spcnj<$Ks!b`)B&i} zj!`y}tx{lEn{Bopf9n{tue1!~B~pp_Ywj4UP|yUZDVLGBL=fp1kC1p+5a}47lK2>C z=@|d3v87`qIR4*DO>~UZQA}9C;Car%mX7hCx!j53{K!YY#E;hovbG<AAAg56h+GE& z#gSTW#UgQ>AZ<ZjA@Mv=B6&&+p&T%pff*<*0=bIBC4vkG$r@w4KS3%dfb10ci6p*+ z`WY~O4#;24ZMjcus1CF*UJ7~OSXK!@@mi4INc<O&LxcV*R~_ReQkBX?!Sw+@f36Gq zvEz(48qlC$LZS}PpqGd9<rroEywthaCPBX$iL(K3a6-feeWIL1(8~=|Q{)~gujsWg z6x$TAPp(N{@2|srQ=m|vz|)J0O#!)0$m`!ws<I>G?J9+<#(}H~=ypNjrqLj)18K^U z4}q990ew7gVqssbWW>l3b(HslEWTz1^!Yv`&Dc-B%rGm^TLk()ITZHnKzC6zal$N~ z8V%@UuM=i^X0A=5<StP%))_7BV2%EN#Jvf8T}O5J|DMKk{j^J#WZ6#QC{Ao=vt&DV zV#ksldDm*kTO=psMV6jy#oD6xWLt(LASZ;BO-@4Cg2PtI;?U3nrB0wwpg5sWXu$~- zD2t)c1*oC46x#m2=gi!v`((#4Y5V`@6F=QMca}3}KWAp{-IzC5M9>{c*_e0DB+wi4 zZkz;qa}?+%5A-Jqsp8FfrP4vm<>L+9wda+~9pgR1-}u#e`f`K#1B~Z@zB+HARB%9F zlQ&<6h+QKu9f_AYB@%mwwC8YvBR|&lv)x{al;!C`v_FSjALXA@BIS8C@=lI{&GFdF z_~(?!j66L#cuiA0b`k$ni7fXWlg|^Kb!lE=F&(QEevdle;GZgyP0jSeKb734x%jx; zh~$PhH%JGnL`qsX9mhXaB445O&>o(MDZ7=@TliQ1?|#@&iQLWH)VhAgKR_e+t4np_ zf;VqnAEtw&{8Laq!NterMnK8lh!Xh@rQhP;q!O9h<D?P^pX8lAYN$j^EAActRzB<D z$|@0+#UWpc?ebS^L%6TVGw&0eiUGQk9v1LVWwDKm7XGO$W_+^--|Q_kQCS?J#xVcb z7vZZoSq#U?kwpy9QVdYt>Kj4Wx8m`#$6R;c3xRp;{vOXa--^$b*!-Pz{V4z3@txCg zJ=0d%#_Q7fw|p8fU*h`!1Ywcy#m$}caeX<DR#E2${@o_^Zjz_Jjjxvnn=keSD=y(; zlqz@eZ)J<`N^&0jxAGnSUS4Ig^3VK@y!0ei_ni2cpNq#Q-lkP!V_D9Bu-DJvb8$W7 z^a*-C&OZhA1HL*qV-Y0&Ox#qbJg|-JurU7=*eB&_6j&)xU|&v^gZx|h*S;$c>~e9# ze(THfVn3G-o{gI}>0aEgkJ9Fkq@8`cgIF14`E(x5_a%9;nkrg-F>d}wT2=Ar?`ZKH z|2EI#<_?~&xSWeMTS%DjZ)M826a?Kk5b5|yI*>$B8pJ)|%jNAa^>2w(@)fXS0>v`_ z1obXZ{AJv9f=PwqUd9^bpF;7K5Q;OD{8XU$m~W|2d@?e?^>h$I@wdKQq4=jrr7RRH zH%3ZVZi(D<-Ws`~J|X!|G~jKW!1<AQT=?{r9`i*GxoE(r7+ll%ABoSF8gg{(pHX`8 zao3{Ew;0H_5G<@7;ZWOs@j_{F^;R<8{HvcElC{RoCvk{PJU?inuWr`tWhd)WJt^27 zpDRZ({UOf1aXrL|UcaJ|sx9%jJd8__ph*K>u`Hvw)6Q*9vSN#Wz|2IK9bl}u@RZiQ z+SPR?=bHE&H91d6x7Wt!NY$l}u_O>*<Zdoci{V-vSEJc-xgJ4V5!WMV0RB~UNPI4U z%N9xPeXhe$Z1G)dc$Du47olCkW{CXw)pA&R$sWG%<}PC|`^ZgHWRHM2*S8DGeycH@ zCKEYGE#MK!{wIqn@t?-yqJy;7Pc@C0yk{5XKi8y0%N^t!{>3-wD$OSl;UB8vyZqr> z$0fYQ%YA0(KX>yg(c)OF<~i*=_L!IW%2$vVoj&aZrFqjz<d69o)new?rHo>}xRi1; zzl;L&(8cs=nz^>7li$GHQjQC6z6Dz(%wt^hH8;u&OjQMI8|HOOcvqYGIXqQtX3=Mf zS<7#!k+Vr<rurH}6Eh1E&M@D-9OG-Q;kq*BKUHL}FpPY$Sp+P>XZYcr^>g!o!bRdS z!j`;CtAEBdLneO1Zy*o+$B%+va&5nX2<O$9zm|tF<{Hj%VaZI(WXfRgnCW|&%(0Q{ zJo6o{jj8UEIab~-b8P1~Fz*KY(@hFuCk)vg<~TxmfqCt%GRLp+w8)&MRk2x$Auchu z@mp%1pnjR@1&DI<+uLN0f6H%$nZYQP=4%k6%2d$9O!E|Nt4%QmX_k3EPiLDS^K_2+ z@*T0*Mdm@SFE)?!dx`lNzjMtA>Rf78^IKzH&hKUBElCc4n5Ti{a#O^JSD5$nJKtQ% zycU>6^s~^s3Sqy}Jjp0mnJ@5rwb?`YHRdzayw?0HC5z1R9$CO@;kVBGB|R@TuLI^K z<`{4;HIFju>&$=iyUfgD#O3BS%=CKmIKMZTFHm!ZSwi_rv!34@&41AID$@we^=1LB z8caJlS#AE1>ow*wM!d=VgzHALo&MJvQPJy63s9{$Z{&A_SwYE0^8}D@GXF@O%_fgg zn#>sG&F1IKx5ezEyw!98bDKFqt9COEKDU^k1OHaDpSCxfH}kvAOow*cO&%leFgF6* zPO}LZc9}D@y2Wg#euudRXgf^}J?}Ot#=6z)0*AMmO3GhmUdi?C=CjN<Y2MA#J4`*j zb(w1zagX^VFm#*m@wCURp(JHyQ>WM5%<o=v3FZ6DXMw!WY~uP((@$^vO(CuN&Fw%k zU~U0#gXa5`51A5b4x2mZ|1Q%&4<qI(;7^<9nQz8?lbWOEr~Do;g+P1I<S~mw=D(Tg zn0X)9hs}Mo<%<Z+^cChaw7T0Ir2HPUoci|~(J8Mq8Gc`7zE7QTGr}B?m|p?gedbEA zale^K{a2eea{Yk$2JpPboZ<IDvxWM<XLc~h*P8wOzRo-f%&#}k^7{t!D}LW-zQc?r z%pqoX)VzV;hs>L4`>?r-{vR>#rQ}WKoBTd%e!=gX%|al2i|J=ZZ#4~Ezs<avp5Jah z!0%(`^UUQP<_Vr2Gd0wI+&o9gJI%|1<XvW*@^_nYMtqNXE5GkGe@@Boo9DsC`%Hon z|G>PSnZ7?}{|Mmno-^ffBwO?VO642*tGRGW<(poq*j03s_qS#tPXc*t<wI=dRQ0V~ z=YE5&z<q<QFflEzpIbu-$!FF4=hOVB(d-+U{Io}BKOkM*3?Zkz`69W_Pl&E6T9RTr ztX-10ZaRQG+d!S`ruXqUmXPF$y*~ea+$0hoXD0Rry(vr7!4!6d-poq;07}`FdQ+2l znmO7V_2$aNE~si(>CNIq4<p-py;+g?1=z6-dUI1EA2i#W^k#G771DL1-fT_W12ODc zz3E7NQF>cHvlTe+NPJ9S+gQ1cn|+BtlQx?b>fywX<w=v?WD@h4oNX?A15-GZxI`dm zo3V$RS0;WfgSMBBaWkIytbns6(LrxV5?_PH_U6)k+`J}nm2}Wq{5GmhBt9YF+*+OH z$y*W!p_09A_C4IZGtncky-dM*f8s0B_3in?w0Sb|ZMjJnY~kh;iA@1FcPMP1PTVTs z>`B~52cL`C<qQ-|pM9Kq#a|L|t|=+`7v`0p*hGc=gght}f(cw@!U|HlhMSU)0akuu zP%bk7m7f^nQtQe))3t5|r9$BHf1>N@uPu=W;TPK6H#SO(;=mEsuZ#sB<$A^jXdBNj zlX70~c`;S^uT;M3__MI;`(wf1N!7Jd^|}fv&o_5eyQ&orQZ?~lkucQ!1lH##wAY_l z)t@lC=^NwvY^^*Kp!C_ySoL$TTl~M`((cLUWl%WP{lPsPqxP)L;4=PSv%W;>%{Y2( z{EJnuVE*x6@xmBL?3-PgZ6>9&Wy|%iYUa@|PGx>Vrc(W3m^OYoE;9LD@1eXs+iGz> zgNfCTpT112{+k%+LH^D8Zap><59r6`LfnNnvss6K7tiwJ7BE^RZ7(5%cmUhk=F0^Q zQg%1LH|M4ArOWD5DZ0Nleh1Y*?E$FC0wARd_O)|lvI@2k>(Uy--JJMmC=4B|hqJ95 z$aCfj$nOQNxA1SyD?P|_73Ax;kyGH`#T|Z30r?9NkblpYp9ADrygWX?q@vK2TvSpX zpE13x8l81Ttgvu3MQE#;F;jA5;i|%wg-y6))BLS<x7Jr=xS*6aQf2yrnEXk|Jsh+E zunQ{UrlhdYbra`dVR59_6;vytAQ28D1;xemA{Qmv)=su9&1nn4$|~Z~zRRoP3uia+ z84p<5Dkv3FBKMWm*_sc=wWKQA8Gcke?pjt~M$0;epS8?EsuNx_yB_wLJuSYvQ059u z6idf*uB6t*RKG|sit)ApDgyK+(Qyh3iwlbiWpZ;T0g`SmjbZ^_m<HOiLqP$lbD0N7 z3E}{nR~3^P<G4j2^VP4=iGU^cpm`d2m=}1EbY=p~LO*)8fQ?4EWV<Q{Am7i`I%Q<| znhKC02)Z^)GGAp;&QJhT8=XYnEL_EC!J64pv^a`+DOge)Uo%^ok#1$e^-98}*<z+V zS$th?v8%g`Zeq)`PqZKR<oeo}?>yTJ4ry-9rV0^|n`XUvtq#26L4w%w_?y<wUIOk{ z{@yrSRc9St%Mdr#f;h(=0#Ht?Rn~DjV>eagRsYFa<gK2m3in6L8VdPztq^>*8)k`e z^qTMnzxR^(l8SBdPpq{&t2+ui?Jde4jW)I<>~`&0HSmqIWdhY?yY=TN$9rbDSUKb1 zLIby-Qx@(`?y<+f<|x7Nuyc`6qu`;XCwsy3j@HRRQ){#{kES+33C{Vl$tiBpYf!#b z=8XZFI*r0x;OuQu8pYD~b5s*t?~v|r>ZA0)yO-Lz=mObNAZ<DdXj6_F?<~|&q-?jl z#Pyepu;y*qQ56;i?PUd7gb)@K#-(+#klyZyVoKP*YqF+{hVwJYGsFxYlb(AWwtIXZ z6pDIC`6m9hH@8U+`u9d#di3v$Huq(Ho=n=MFT2xY&y@lB{<G#Sv+R#nBXEiK6pIZ; zIm69nsMg~$D}gv>FgqjM6`_!#bwtFue)eFAavLo0VrFjAkcB4BV~I~gi5&}WP*XBJ zv~me&<?_$gxCNmtD4aAzMa~cvN9X9YTuEq~O0&9#fhW~i+0^13GL=U=^yr@vst7@H zMMNuAP6~5XSO=3A<$|2ft8?fLmS^QK1qHLCZ6kUPgP2p*X}ODX`g3I$J3!DNFF>MP z_ro}>Pn+~l&gp?Tk|jda<~!^cM3LnzXOu)!jU67yq)UPy61oPZp=(ffHtowp+Rw=K zlPW^fSQ#42s;TC9=2Yujontg%!CBcRaEK6hwy&X_Di(ZB6l5v5C;}qJMH*c!4q1*n zf*W!!yMF0ZD_)ZW5LW!MT*qskzx4xM?$NDAjdW7<R%CX5mb0lb$?ywui=A~|m@Ui^ zjw{b)w6Dso>pHkPTQfTt4okMCFU(>8Yds4q{9d*e<&-gr+Nu3!yTGT(?LPZNsIWMy z-kK_$f?MJRL`Ni979EVNS#Fb@?v~{s*NN8hT&?T<gX<&y!41xyu87#vm6JN+#!yEH zysIL5q&|E=HZBUW$I)tFnd;1}37wgnChcaUyCi9sYuH}ULva><LqydxCma)Jvo}e3 zXyeK9g%+3{-&5Qq(tc48@j}GjwnowG=z+f>b8nx7kDOr6jNyQ-(Q&2v&7nWAEo%F> zJ9wnRjx0n%L+662&*5y@E{9&Jc}r;DI$W7LTJoSXa__wj=?i}&Ix~?n^*JK$MpR?F zS>Envq*?^$!?TjVy~B6tZ@VtYu12&D?F3*GD#obl&eiRK)9ur9l}ci&j>``%aKWU> zE_4dNXsUuNo*Y2}NjxnHPf9~gUKVQd95d=H!;B~zoT;wJ$}^LiR9KbHx>RMKW;KjV zd?qxARcD|1mN~+kYgV1`&W;jA=s3s8>P1m<c!Bda)CCBaL<Dv2q@Z5<f)D`S)*B#D z>^swNlH$K9DdsnhK*abLPmgrR>V}3hb;-WLOloAXtG}*$cr3GTXmHVWwM&-re_h{T zcmHTls?HTl>F?em?36Dych_b1^^Nolca3DmTt_4O>h^YbFUkxJ^`}#rMN5{|jSLNC z>PFKeb^U#N<XPRJ71t-PU$$r@)w8cFv#6hMcpa*vo(C<abwfD!^kveyCF!xW4oq)N zd||$CaIbsbKh({9!*+b3Ih7e3PA#nquj;yo27CK1u=13t)s1xBH88cTccgDmUr*nn z^uE4<bAiAo&U^Qa9zL7{J|f%apzh7ob_>;p_S~83&eZOU<&obX?CT!tNo9-3G&w?b zcMbO?yN3pbyQC(x@9iJz%0%m>Gd(@2ULIoVW#VZr3G>5Cv<)?2i$(k!bkBUj=w!+8 z*znMZhlPRZhCZbyU>g|f8SS40O-fR*R!<fPN_tZ1?vZFg_F8AMXSBCBHR8IPI#pWt z4fbUmk*J~#QX?ZnBYync8B;woIvjzA`u%<B9F(+yN_ryQ<r&4@h-~aljVuaLL*}hF z16O5I15{uedT&NZBu(`utfx0wh~&=mSXgmy|Jd-p@TPmHe@LdPt=LF4v_IS7Kz1Cy zGB==<qL#22^|6tjvA7}kx^K@S=sqwcG$T_*PjEcfWcxsF-@tG`H$se|p7iMOB>8$X zh|WOQFi+`xpewTv@#yzlF+2uCr6H$l+qH*oyFw=1GnPrEvxKAT;jsZl4VO76=Dw$| zdlKdHd}wfQv?(lxoH}rs$$`{Jx-Xo{9#llMZvCFozJB4))u=Nv@ylcRd7tjk>zMg1 zpCq;wwj$t_-{UrZo6QeCV9SDdhrK?a-gm=#2hLk9*6F+ZT1@K|1@Up;Ls|I9^>9Un z3>P<twB7=SUEXYqGR?mB;@_$E*7McAIN%#&Ma>iT2ARn4`Kn%`RmaEOoF~p#HQQ^A z^!j92^%k8@O;BEAiyJIy_ys|y&9AUmc3N9$iv_#Qpq9JcHXbxsdufNgND&<NKo$+m zR8&+_UTpIpxb-e;gEh3FDZ2?Ehz(vnd3(Z^wSdMIwNh?cIuh^HXEsPYMeS+91g~0W z-K^3)K1RQl0?T~!wtKmr$!>r@egzj*7BV%v-p#XylAx`^jnI5-n%o**liq2|0U`g} zw%m*{g>~+)4F=qJ%<>)7Y&ep*Ob48AJ}9L9T?YB9=}b|^2%b|^$!y2DyDxVluYSoB z$q&qPj8R-=A#`HztDr}NT=KV5c-`{R`)R!RnGg9*i#N;91Uo;#Vs(({R3!dd=2RKP z!3v!{Fg<<_Ks!Q=pV7(}i1GVFjMMSsL83N@2WJHLGQ2r4Jsv{f$QT@x@!xx|R?;ee zKUu|%8wlwXdh>5|<|hy$kG98jfbzh63!GF1@%rQRIa4~DWEwZ$mo|lF#xFCxF~MF3 zsP~)^d3REOT~KNZOuEKiXNqg<kpnYS&(q2ZTM)!EQW}@%o+XdLR_!V}Hh4xE#I|Sb z++dC>kf5R?Fwc(GSZfO6K_>Vis3|jVEr=r&GZ2b$Cd2?=8l7;|h00oVT*@={O8(>p zr(Bt5fUt^kfRk1P1PEH_{|Jm?j?ujd%wLSjq{9DZqdlcleKZtzH@sS;9!a?<(Q8Xg z&oM49uC=wMM+z@KY3It-%yC<EL@L2;LE?nSSz-p44I-Cl0KlsVV2@S7<Eo#lJ8!cU z+gI<RN~b(oecP^{-K)*v4hmW;0#n4;W>oKNH4Q6n;lUB@qk5ICXt32wY{kmeyKmgR zQCrM(pa!Om(ad$til{tpI}|y+{xKc?!WM&NI|H!hY_a8yc7{2SX|ZKZf}Bdq%j|-u z?aXFw8|*A<>E)<GQGS!Hmhsx19szWjohQ$kmye%=JjXnFK%UlnA^IG33amJ&_#s_Z zn%Bd5ar2uP)HkoWm)4+JQD1M1Osd}2e%&q@7qpj*3mFvcT)imT*MrxC9k$x!*K;*i ze<RZo3e5Jn_t+N9D`BidcfKhEhap9<upO(zmK92iokEKhN{f&bH^<FlVZAm-jC0eX z0*qIzVhR<_P-5`dDqGfIXRH!ps5&bSTCqPug$~L(?Hrh4)~YB`P$I>d9D*P#KYKas zC*qXo4A6$E6tUAzU>w2fbE&10BHR+M^(2G8oh)eUkkGjjm8ccd^2D?bgc|t|9%jDY z$c=M*CoErq5j0nc?3oS>ocU@jaXj(3kXy~&d++U_B@*@`jXP{r;!SoTz0W;%tR7|8 z;28NLN{V~APrRZ6wQllJge|tlj5fnX1<i6(xyW9$*p}DXs%vfeYJ1Tl#=22i*CLK$ z(B*Hb{(Zv#RR9@bcZROb%X)1Mj~V2sEuJI8)aT9DfhwD9RfFZ15vmxcPCzqTI~0~h z(JCo>QERq}xw$qlV;$OSrCG)xqrluU0nE$rCMNr83d|NrSre4NBRAl9RKZ8V9oqdu zx*xTbuaf#TW>+oGuFBYpWcIs6IbCytl3g9a4iw5Y2o<1G9XPc6^2LIQ@&@W`2bf_8 z^2(e(*Gr$Pe4p#3&j#speFx$=`=l)s<zm`|CGt)<*0I5#I{hBpDy#ryrM%<qpmOOc zLCqa#OhqMF3(RK_aG?;O>93!8r(*FgK*9|JC&k>$v_^!e#m!t{S*l2WNLj6`;F@w@ zZ!a?J1F1203BYAi@h$<l9|<zMChQe~`R25Y*ZP%mi#Jl7nBA;wAl{33XIRq?JEO%` zt>U&*^`%7vyT@;mIbb+oLMf<`IR=kXc;qC7RlfFfP7}mowUZ#@2`{9-P}Zx~HV^9W z8G8+X^MXXiYO%^`AS&4TG{wLpN?_R;TZTfUR6L$?;YJ)8E^dE9pSxbn$aroy^R#nw z@U(*mQ8O1GJCdkSI3P*7_6VNQeDnI3GxZDd_IkxH3CuI>?Wz!C3IgM1dF^q!q4>d< zXM%BR(Dgs^N41D~`ao^2!pX7TCoe$P2tF!)s53^x9Y*tb{Z=c3KAs=fNqpdfC!x+& zV7}rffuCAz3Oj;~xQX-4+h44othXn~C^p}L1I~1UhQH9@sPdc>(m9{@`nBeqRkHe3 zE#id3=<{@bQeD=|&3{ZIxC>ntd-=J!w*<DB(P>MXV8=Sojt7MQL|^|xnN}U0;1Qdj zIAV!}Y)L|lUShRyzAfssRj=aKS@`^5zq;GKlr+Fhc$e~<m=QRa`ZI#77miED&mEUc zI3{|`#_eo|WbDUX-$9~*X;+$0p1<4kggfxVJLy)Wgl>=KcKfF<xmzc*=DpSlXua69 ze6+J*48dH$IQU!#z4*beNA*#0@I$fX%&Ew{?qIWs1}^)*COVYSzIym9sq<QMY9J>F zqv89l<Mglmt_?q6MO^W!Mj4Ud^jzj$IW%<IaHyCP-tf6S0Oe3oQZhaB4J>cmG}N9J z7zgk<KuSbKJ*q^VZ~pvjsLxNxry!&#*gUfXH_*H1I30C~Q+&aEw<<9gBXyk)5~IpF zj>M{j+@nt;K>nHIs>rjaC!aY+)@P`glLBh!L(wl>^;MB_iR<_`-Vuxk9UYD+e{f+$ z$q&9H?T}_^CdduUAHa_}2+pBFV&VdbfSNE5#wDbMBfsw%>-5=}jxd&tEf%jT3|eI( zXzV{yCP5*%34i%;2hmuO`N%7zcb@-O;+V3nA}7~aM0%&=Z2rM_{1K0#FT5yNsF`X( zEd#Cy%pa>OTLr&zL)(O@IBp9~TKvnS1a9gka~b}fESc%7^+52Uil81<Mr7(VQC=&t znJEeR4vztTDjzqM9m-9`Purqh6glH=gE#xGkEouSFPPhHXG@LMI>HPo5#{+7Ritym z+ZM;0IK{;k_UgoC@<&v~wL#(^#n3um!jwva1jt;>Vey+P5FB){Isl#OE|Eb|tbajL zI~Rm?uU-F$>`>hN;+_kX_zQ{B;IWn;1|+S_T<QCtV;TdDDEtz(b`cC1a$<-}2T^%Y zY3J<1JvkE2>q?R<_F6MTXCgR|$aW@w%fDr3Y_}KRZ_6LDrRFdZ4+aQwR^S8X2M=)t zS|n&#qNo$^6Qg}8fAWsmi`|_K-a}oF&7)SZX+CoAxbvfc=+5K8Dd7c46>+-=-sY+} zI2w>K4a|q{#WD0EuQT{1NziiWoF9N189g7piK}gymV=!<;H`4$<mKxI=@Yd4p=3+w zsZzSl2-_AVPI&z#QQ>>2^N8f|s8eAJ0m88}d@lW7E7LhCKlQe{n`fqIoDnWDA5v0M zgKmF-YP6NrzV(OIK@fjC&-@sjQWSic7I6)wspV2$rTX|Ec#K1e_Nup~FQa#f-vol& zltD$wPSem%h?Wp+5t`D~H)6FNH3GeP_q}{?a7OSlkI1FdjGbeCtgzve#3gYgL&eRT zS$X5HMwS_A`IoU~dit-s8Ey`w_4BTD(ut6!0V9;W{S_5D=@x29)!aEZi~c$gnYHMo zqQDf29~u`kE!c_9`){bgyemW&>8_~5<q0QjmBPrgH>rQA60H%948fPK6wF8Tub1`` zX^|jj6+BR(<@u-}?NlC|1~2z%S8A{(Z>xXkOxP_nMCDBCBvEG%_>P{b2tA_9yb5_l z(eQxq%Q^61=b85~vqJN2JBbodEe^d4D8x_9KjCg9|G{f^>g`;C)Eqhq*b)F-V(vS; z|4Nvv3}U)a@94`#Cw;j>NIbz+gOa}(FH-VJDv&3fKn9ah2wfKj=3k~wjA!Tw12yq- z5td8L{pT1?sVRWvnK!&#I43WoKf*a%$YvlfKaRzZ2wFOz@xSptFh@M|@q1l-GfhIU z7EiJ_Ra9|Rdho6_4(&+lP9C>~egx2zP7uMG>v}PA1dPR|l&JB*X@T=Dro^=7$wJC; z%iC>TphpDOV&^qk$+O~5Yw#yB(I5)Kl{VROBq!@Ve+u=6>ZeJIEnUTfQG2~KMu%K} zt=@u9{VU4oa(Q%uTd`1AP$14hp6PCe%$E@WH`yyl0ZJv)m0<zkl6vZ{MmxHCNuRc) z!{?ZVa(Qv^Falcb2wcg3%2ro%pJCd+MT5(AJsI2I#>5yl*sB9`1o9-ze`>+Q9-j|0 z4f8&wn=_^KFX*fi6(>Q7GBo%XF1<=&{5CHp7>DrX=GW-b;^6Dfx+$}OO444-9p}iJ zM0s$t+B-6sb35#H$6Ic(<j~3i=sG%FJWi%{rd_ax$>53{yN9s4lCjCul9;~O+~&oj z%v=#4KO-3Y9z#}{;|}19%?_=oDG5!9*x>$igT6>Xe=Zj9I4z*d9pZ#~JKIqU6VQnZ ziD8+)%Rr-*#+d~m{sRBH%6wodPR|S2Hvvq9iRQp4ir85+fc(R|Nw#BC0?DJ3`lHIb z7=Z|j;ShTv#cXp>8J3bcvsI%|s0vNi@<P6?{1%tTRf**vwW{`-C}{~2H4gs+)IAUS zp-}PpYMfxuYICEiggwWOV1s})t$>^F#9VOnS9wtEg8Ur;TOD`w>W45cS!eGA4En(2 zt<$p-ABTakC3AyY=C#KJ<=*N^Mi5yw@4t5(#Z!$5RuC(WaaS6cy>d64=rn6OC@42~ zI*`A6!65s1?yYyD*KS86&Nt7$SlevUfuV6(#ML0$de7aWQ0JSky;$?CPwt2QeHq#z zzDSg7v1#u}-0Bo+U{-dhn(+!%O(dRJqQNPj;8B$dk`ehq-nFuVLb9&ZJ$r|(5&f5V z#MXhsD?~vx*hO5<b6IB=UJjFgmk!jZ=L_nf{zvmj1|M_bQDFY$Ze<3|$coNfZ2rPX z-p(&UEe=X2#3T4Pic9k$5ZRQlAhg)5!22-kdT~(?(m=xm(M*yYE`6&lcp22f2ujc( zD*GIND`rk|3|TpNs`!}ts4Iclbo4r1+hOIF5mocnyF2N3pW1JN)7jVB;@j+u8|~~H zDXx=jzl_()xTUqWxUVL0irWU}j;@uyr1g{HP*h=yUTqUQZ1GJt@qS8g5@jx~bx{KA zWHMsuO;N2XW_bUIWMG`1(k|MajwjdG#_^@gOshCv%W9kLQnC+sGjNE>r2+X;Fxjq% z6hsv>sio#}K_f}~GIL09a72k*z^YxjIV5nOjXsw|?~G!vmx}L=;I89bxT~GS9Y|9g zJ&q?Vt5L;^1%Kr!uw~0HvBhiXFK?cYS{=%ik%BR>h({?!=8)*O1op2=^_S8oxY~1^ z)Cgq7sP5d)B~YQE>$SvIwmXP}6(PssV-^dcZU~W&TcRuQ;}M*b9yhxM;|ppffZjI& z;`4)f5(G-p)`4_w6r@uESgkCzesFq(I&P`;W*(S2Rzsmvv(Ty1Qv*uzKvr9CKIV8x zR$E^!{3~7-5&Z#R&Gi~Xug(PvKQO{eUsB$jL#q2#+%>S$q|E4CafgeC)osvg$+>n; zo5u8hBu;;&5Lg^9m$~~Tj;Ciwu_p7)x1<usi%}BrC=13C#9hf1UBJd~VOD-Yo_L`e zxGT(`AEXJvpZTqeDlRcyT7c?qwwEcD#jsr=S0}U}PZv8S^uT%hR3c8-GtJl3G11-~ zYkY`ZGN_uuUR9ZAWGBJ}85kc>KLG7y&B-U#`%gFuf<aR)OLTPiLt8A126dfI9$%eZ z=|(Kwd_R8=IUwK!4(1C>=#umh#797x4e{0<NwZvH9@lI#y+U>$?uEp=*!&xWlS$>V zY8X7EY^8G)IF4i^x%jxC$ZOc~!@as^01W+>_(&4JKK9X;6IxZ^8aRnP5ck(RKc8eZ z`aI50?fJ7*E{_~>egs5ws=(Q;f4g8Jh{2=bco07Vcp^vO<z0Z54cfsP&`X|<{C;45 z&Lo*d2ZqRe`kshX)p_gj{42cm5OLx^(S9|^RGs-xtZAwF_g5T8v<fpw^BuC{^Hhb{ z{tA(|!f^`sh(qy|Ypd;DDE|adzzQt-IE_y;XKJ2$p}#VA*w+88sGhV!dAH2KZ>tb* z=9p^8%G>Phd$`*x9kK?t#+JXH+lESscw}f(Bq3V7H*s17lg&MpPTClyEnAF!2o~AL z6(p8T>S*?Rse1DEO~yPRU1_Izt#qT;e`dvvsySmzCTz_KOSDo*(ttnnTWsMQg_9<1 zDVK8fM%ucy)uLXDwJ9b!#+Cz8$nx|DwwRDku4HX?)Q=Uewml-c=rj+)w7{E0ok@XP zs`<I(5-wPVLCk|t)=lBl_EM%$hOt!lx5HlA;;s^xD!>~50aqStDIs`2^s>*2sub0` zTd@a;M(tK5DKJ$y4#h$BX<L%Fv_#B!e(*X9X4;Z#nve&H0~-{B#kbm`o!qseUfGQF zAuj7w)5^Mws^Lm89is$;m9}ie7TssdSie4C=eOCiE?e|(P6f#hoHFO5-lx`xHlgV< z`<bO7qo}Z%%s9z{D(MvRfB<KV%$@$Zh>V#tVXH+?W5=jbeae;{wbie(3r^Z4*iP0s zI_-3s{~K*}OL!%;tETo<&32hqT4kO@_KM7@d&XTIb9ll^p)BP74TY=B6L5)kWWI8b zZUZ<V94Qv*VFzs-8W~a_%~XC*UcDxfp2H@<e2){V+me;=(j+#^SrXXH%*4kM4Xe2V z{yw1Uf?Yb5Z{+R?MQ}0FBN^FZ*2GlTQF|fca8=qaJmTV4Rt1A+vkyh{&u+07!5-z* z#ZwVQ2353^2ZUPOyUb5<kRXwhKbvt4wyeVBpR`3}^UT-;+ik?>Gq1ZhQTsTJO<OOT z{}*|9b0(!prHp6Le@(Qwtq7&&n|BjpmgKD{Z+1HFfqU|n>E^M(e3@e%6%sf@(ndRX z1ARB>-U8ty;c&6S>|l_HWikG~g$tcL=dH}~q-^jh?q>p0v8_yeL==d54M|qfw8cT* zLPp6Km#WxSd`TzsdRvy>%cK2j6scVd4XezIGrD((`+_s#?|>mZ;b2tSmf1`8*~*R^ z?Io?YvcWD9Cc4vB4)gqBP%pP}yOEaT8M|b)-Pkk1f<9(&qbaCQ)a0$10qP}A4ZSG* zj;i2!QJ+^z+hDexWyZ##&3nkS%bLY~qz0}QF7jzr6#Rs}307Tix-ksqGBJ?BE_>51 zdszVZH&Kx-4woSul75-b-?~5qC$Fh?_pxJA`9^+<j@#>`Fj(obwQ)BU7U=F}%_cDa z6gy^b(h8dBy^MlpSHS(a-6)Uhf%Tu*1F<%&S05rE-~23gTouAaZ%}dy>xsNdil`W} z76zXm4F&h(NRrb!J~El`x3XK{k#T#KDL8(b*5;}B1b8B)S3fFNgk7X$mFSS9ZdLFp zP2J&%;TD*yCn5-Y*scP=X;AkJNXwjYw?rZ}?zYDK{O;qv@UcAEdvW^ilZfkkHG4PB z9O|$Q=HQ7ht~_{Gn_cyK+pwn19L~JPUZrth10$|F#!a8)GSTrayJ}~6XIG8ehWZnB z)p1JJ$n)m$Q*I<#DW4{!OUQy5baT`og%Hx?GL}1)nDsftyq@tIkPq|Ech}qN%|m%W z*I?^b*(<?*U}k`#3cD&O%_Pv1%AV%Qdo_!lw_*mkH@lg4)u)uh*%EZ8E_HJ8gfDru zx>c2C7E8kyn|;R-TW-dk`(%zBItjRV7|yYp;#KMLf4Kg7;j1xfntzSUt7!o7zH{wi zxYXsg2H#)de9t$rWSD3E@gCGpxJ&r=c_OAU{}-fw?0sGf-T#bJLU7Qx?>_aoj`GiE zTivOnz;W~@W`^ys_4Hh29yReG?{c;#So6Ag{e^*>&05Hg4a|2I#=xApTQ(L7ylfiq zHuC|JmzA~}<md0oTQCDHo5$LY`RxG-<o()?IM?~=CH6`>EACZ?`55bKHGxa%L86tW zEN^N2{x)=gBrH}2RXh9O-1-xLXm8j_VIM{81G<3?Y5vCE&}>)2uQyCkvP2$F9J4nF zr`F0(y>RMj`Kjk~?V>!)-f-}^D{1zyu!r**yN;>VlQSVtDI3r(!>Y|!RTL-ha#`?P z_HKeZxP6V9n)&EXI*)_;%Ytv%YiPN0wY}m-YMTn>?i+&Aj^<_%;@EqOBnVA1ZvmNg zYaYi=C=UcbwDwuYr{<L;OwRWILrx_}D+5l+k51Xk;@WFPL4k-sAp4>r&Szzx^$ToC z&|bnUD+=v=1Nk_kB{+tiXWEvJ-v#CXydac6LekYsq1y{7x||~I5~}CSPlwIf5P9YT z#@2-EFB9Zs{r*bxS`g<3Kx>>mLO3xz=L?vb-OBc5@?(Y}en;VvM0P}Y=;M_K0aEb7 zW^wbYgcp2A^x5Vs2EV^zwg^>T5hv&#;pmEqO>j8mTxaScXWTeVHuca~c;f7=lWLO( zdGwrDc#MdlrX0MYWb()lC&GIAd%NYh4@a6}Y{$vZD|^TvTOl+fZ4eL2$ubl*;8)4f zjGFK%Tc1nfcGkaA2X>pK+bVI3OU)sPaz3iML>Df_NgDO)&s;JQ{7_is>+%!miWJOs z14*RN&PE>uZwV42+*7L8zCd;B9{4utXisRe>=3#fnH_tXJg8C!hq$9o0bM3dC+uSR zBc8h{o=}HWqBrpx;&p&*?g)Ft8D#UvA|7yBLss+vB+)iyMz&VasW2rpIe?hpOZg%X zlU+th1epAar|=;CuJtEG0%ai}FzZ=pWf<*FL=w21o^ku6UcB6tJHMDvByO(g$g}X` z6>Ehrx4|GU#+Q0PQO|z<UmU>9J?N>YA?s>u&mj!ChcI(bK;}LR56`{S1DerOqW<ul ziW#!y&Ow5-P~;FKFLM5<<77d2_>q!H8Jw1T?2Z$aoL%E&W8bhGS53<SNmu3%F=p?x z2ON1k^_U@tF(bzeIgdGc%usJaVC81=U?F$@U?7SCC^$754xZlEH7p1C7%O|sj<b&0 z6M|ezgP}p+Wa{}k(JZfg#A}xKRB|pvb3AeM#=;-lvfXy!E>4lGmiVtT#Z{eL@mDs2 z&gP=3vcfbZCg6J6G9i|3mMg{UXg+4A2WF<O&DnxpJLjk^ND-I!ouC7=y5k&;PBo7= zvxg;KSyd&;afyPK_uAlk8^2XMW7mx&&*wasu?6oiv&s510;{8Pj)M^jO;_Hcc*hwj zz0{S~p0WkUj^)jpA!BZi+kl!y_gh~0dLlzy9*~aIE(=XdulBYWr$W*`g=TAWtyCyv zhng(56$QJ+o*yO`MOQbRYtE;drNP`&3XhH~j#(#dWoI{Um||gt3Pm*`z~#4gkT)P$ z4RE?8<+eZ;{RfzxsnDz1dd#LN9`86V4HtV{X1Mu{LdgLD%6DMr6a^W(+RVjsV(b;1 z5j%ndw7T4`=(V#FEq1kNxf8aDKY2KnhOCxen-R?`qp-9FYEmkml8$FkC<rgeC~oeI z%uJDox)NL!G#?X?WW{ijJW{|mNe37Gz#;#h1|U<RL?EwXf^RBjgXUYghR$@Q4g`kn zt>EF>+8ROiZO8P9Zh#67TKlxyk20OjIr);Pypm@6P|nR<X)a<@flM(lsS~a|Zl~X7 zH&Kg>kPV(zo$RX|ZuV7V%9xzExlE{aOAS|7b<}XV<Ag#Y=BBGR9Qn^=VOYXC_Uda| z?-Vg-o2G^q9C`TYXFsy3k2va9F<-EgABz-~f(bZ@nUnB5FYxF>-v<vvM}ygpv(AX6 zGMw5FoEUnN7{CPkWKa8SGF`0y7<^_YjLsD_<N+i%Wr72eizVe=@}R9IJ7h-3DQuOX z&(&|0UdkzJ)3G=`QAQ2*DI^CO9tRM)j|V(0>4*?bvz?<fei*#`F=;B}wl=Yyf0iQg zRyRu^(R+LkaWxhzXYeY`>F5qeN@8H8lWz!Z9ttbD2fHGt97*cH3eVty$IaJt)T2Q5 z0q!OFhI`(^b55u!0wg6?%6+@cm>n3je4n;_3o1(BjT8J)`1kCdU<VgD0#`U8g>1h$ ziuuL7n@erH0Tx^&to-=BEIaLH7ajTY(Kz6gn#b;SZpe>f>~NFRX2E7=+N%5|)8zcD zxFv9a4Q`FJJbPq2-Q<(+o$Q{(@=NR<7K)pHWYdJ?GNQ89PWjs%y?FR{;G@92>z)q# z{|VuKz;Lp5YDn<lq8c-kRaZ|dUF8^6%{bJ-8a?Mr$~S?s`xTL;<|sfSeLn)(9-UK> zdpnI3&(l>$BVe$Ccw(G8W}E+X*{+ij1vEE`lHi#~fM?u`*dtj{i<{R9nr5kPs@c{I zp0Gm#d7=`F=j+LWxh(#dfy!~+Ju=O_2SzmJJ7g*A%scO?ccrbiZnLzmV4i{bTQZqq zJf9`I0Mkj(E7p|YM5V>62ui*1*x;9%ei3Kg$yceJhZD=KB+O(d*d_W`vgd9~66|$2 z<GWLd6if1PmIR8-0kJ{_9W^x^h&lp*(^;~lq+4J)s#?PqafYlFn5N1QB2X=<Gnh+- zZcw_K!J03mIeL#AP>a_Kox(MY+dW*YHw0LnBJ*{Xz!{AEv)HK!XOgPU7eZt_Vn5~o zihg;GU}=^f!xuYKvy~I7sB9!VLWSiz$qGqu$tIp@t-Lh=ZT>1--bBq7Td&XELf<qL zEXP2F65jzMaq}+K2oft@g3V_PH9#c2UvEogDrVm?jWG&Ydu9n)^50zA;IA~T+$_85 z%1G6kJEUV%QOk1)Oh{KFSC^1S&i1MCHn9l{nQ__41t&>w*d(SdrG4BjBxq@{3!7|T zhwW;%H`LokE{@xq>+P+20fHsS2mb#6H!q2PKUG#36caat7_!QI@Luve5P<Q^1Xt#( z=ta;(WMjU-{^|?hQ)wovhx@YJ_&;IRKP5{AvkHVTt8Tx31N%8(F?_U17JD?xVzLHk zehH6liK1~!z1<X|aT5tY!CvrVyF6NFd52vjY|NuG4Er553c{xqy%)%)-xDOkrsxMk zbLG@_Te1-x9*FR%q?lz(WF5ObxSZCaX<jl?<xW3nl3YZr(0q)<x$?64;@x8ST7_Zx zVl4=Hf0kkAYRZ=S@G2*!nSScDvJ_6%^x!_seJyJd^BU}$CR^BNYd6_Bt+w_?JLiC% zTW^=&Xs=k!P_t{<V!0Pp5QsK|hf6y6t30gg7Q6^6&kc$de0lUvz;Fyai>j>C1)FJZ zW{j&!q9b8?ynkSR`lT}Io0J7SlX8ZVP3}{e^jXKG&j8Fje>Wy={a<0y@8&S6>cPK% z1*b>P&!k1>zg6!Df6dGCmw0&29Ike;#yvL9HknIBPpXerVuM2v=abG~X2nr#$czqB z&t~|Tc~cRQ5TyIZv>5+~I9%_{lz5dpZKB$z<;*{^bWms>DauHq^iI}L2=fYWvIW=L z`Kv{#aefzq=6A}H|0AlosK>5VaVt3=KEK|jQ#-7l5mAj-fCHiYa#V>fQ2Z;S#LZC$ zg-ZyUpGsL^-pJ5^GoKKT!FRa9MWpi<&3s8?7X}r*>fikv17za|S!`qjQ<2#(Dx?Y} z2UzS9a?bQ8RYJwN#_EP1dGL@Z5W*C(s^YL4nA$y5zL%#QC_d|<Yy)!cY?+*YK1a(A zX@6QU{#kbBNJdUjPOf@&2h@DG?p)%4djYyrHZkQl2tM8o&T%uLR-vTc<+QgD;VcRW z%|zd*$nPZwh3_#PK=p!2vnPHkd48V_L+2t7qddztkXbC^D}ce5|1Ut(SHCF504+<s zKLDml>IuTm$WO2QXbv0Z6YwTDmcy(*o{5KUSV&CvQiQ~mMiR=gvI`G}>=rklXT2*T zPl=@x7U@wN92ZG#IQD2$8H;xc89rb)=qo2?G>zL0of9}xy8b}g!<~UPM3b)7t^V&r z`d4<XkPkcq!As2>*vd$|pFv6QJ;sC23tZwFFs(b;h8ht>aRw6iy(DRHD%!jSY>MgO z%?oy3GrK?1+_I&g;VMRDXTJ%aQrcozbh4IA%P9f)mjGODUgrS*mvaJKVR|Q=+<I-m z+kCt_uz24ura+(`Dnm2Sfq68eChUx0;dn$iL?4N8Jn1-4F5jt_7bG04ObH7}hWI`w z9Fn|n!a+Vl4s)y0s}Ei?+5hh#eCO+5q8JVeBZeoqlB6&K3GqKU3gfy6yWofv5LTFK z$HWD<Ly)`Nb?N;yx!+oM0-i0YP8sE~71M6<i3E<2$^4iF_?GZ(CJy9m4kyZtcZ+Qk zcRRx(7ke|sk-8;OTT2jgrK;c>u_=|xrSaD@@L_?5!!-qmr7N*3x0CnE-(kL0!1*J{ z_1;l2D<(O<@$t+7vM=r{K0i^FdUH@bcM4CGp}+u|($cB39+YXv4U9-htt*%JYtY zG_?DD_$QS0|6SAaq>e0yLZFx<la8<2NvzBl)ML!A1#jT%kL8>Rq$fq-48y}5LBD*G zq({$B(uW{oha)M=%~_JlI1Pe<{93{D1li7rDOntmmj7K-lB2Junv(CFk0wC*U8wc{ zi#_@7`A9a^v<UObYPNvu?90z`nmdvgna{;euz!`nv0&1PiJPB{YED5Y&a<79VvSE% z<rsnYx`{s}`q%jftD>HTJnTHjLkT4u1C`r(?9>5F6XdiMo;VbLy=<yoz}V_eI?0yo zobsTTXxzmA$VYI^uW=;c(R|snpaB1db8^Tv&410L*@srZ-l1Fp|0oX%&0oTC;3y*C zxG;;wYs_1~AsKr6pZbljV-HjuI91Vj3IF)0S_oO?G+%(5rb_sY;&<oO{tunUH|WSO zAmN}eE8$MQkA=8(<hfNCNZ%NNu9rhMlZ0-XO6bH>=XiQfO6N2cN`FqY%<WtpJSK#A ziY<zv1~`Yk+#Ru(PyVjXq}WT{Pb<#k0cXS<*G$y_PoIxwKsg@K0M`cpaBh41lHkia zySt<CWj)GIosXpF(g5RvRKRta;V<PhR}H{M9GLKP5hjeApB@n5k66<$OC79fuoYHG zRH+YOFv@~A-A(%%iV|mZ1Jw-kc9I$wn;){FY&v-}A~&LC^({BZ2GJSfs5yU9<T(h$ zyoCNGdtsb|DaManw^LGC#}Z?j<5)_#A&%wqFG*5!{K{XdU&;H_#HW;;F1d%&COZ$` zT6XA245JAPyHGWj`8x6L91#(hu3&Y_aEv8xUgrc|^bn3m7INnj=eQAz)g^W>Zuwo6 z3=EOMe+gzqR7W=GUECqLrMwj{O@Fzrk&FKnX2I7kXtMDqYHYz91^J(2S6oCs7fV(p zdOty4nT0<=7oqC^nuCj@2PD~E|Ciia_;a6%*`!x1+eyq{;rqF;;oNMfvFkZZ#!F+v z+^E3?hcMDlG@sco`RGcP?7;nJ+3z0WTCCK0yrWN@UpGd4{fEvGXgl5LOse?f@ESQC z*4DTr(imWCTOmu7%^bBhrKBN%jYHQ3q~+!>o{-$}``9?m$CTBl`z#tJ0`>XQ1HZGz zl#F0jV?H#gF;7@8+b6v%ErP1cV4slKRV|zO3#g1*8#j~6&M72<i%uKdV&lu1^!tSq zev)84jl;K8{}Jn6Q`OQ`;SSYOV%|&AOJJGo&$)zKI(EW+{Yw^Zx<<I)1BGy<c>kru z$Pn;-Xs`<;)Bh}sljC~3sXG3dI{K@fy#F6M{%&-z@i!hDk_ln!$l^coTSsKqhg;W| zRHj>oZV<fLqI+$e^O&5kh%QF{CGAUW!68xo5ofjZVKI;FXQv@vwp#}NV7L~>xujoN zO>_>6M7w>Z#+2cYnPD=Z>NCoUmh6)kUs=~6&RSBN&dMyq%655D)^KV!i^04yK$Pb6 zm)VLN+(t!78jb-D=1Igr(|F++mEjm^@1pzra1C77dI;md7(2t_=HGSQ)t!IBN?xY^ zfXtgQ{jN)?j4&~r;k>qBP|vNM%qbRgYdDrFp!!vTf59!(npN)Y7hyvVD?Lr}=}z{r zkn%UXd&zCGbS+EX4Jy{iqWm>O$SH5SkS?#KfPE7^zDH-UPukh5L73Yzt1D|6&U#$O z_WHeH1I}wI2;Rca05-D*XWhj+-tc$W!o@a$@VK}5y;36@$<p{$f7xtvpIrhNT46=_ zd`Y`qUT-fA+xc=glww$yFx|@b<B#)RCBtH~te2c-Rls`}mSqijzl&QuK|9akWu%A1 z6L~_8naYVn)n$dRqDc2ycV@3-jMYk**@CZx>`4)CjQNq3l7=RD7mH`la9~g9Q<nIY zEghzCDN%fd_-sG+WYsgP!f^M=j)OU}(@MtnH0MY*2ve2o_9L==_-S5WBZH2}Prdv| zR&t+ib6CTz;XR*PLC}#Gh+oTI@Qb7(Q}pWl5HF0BlJ)W<4o|{ufte?@gU8%MhfmUD z+IE((N)KlOuafc1<@hqCxSvJ5F;|}7Ws779`ha_HS#c<51;HK6*6o(M+!V6&%4}&~ zWfqDgt+vR_oHZ;dy@NI5>A@G(n$8I}>v(e5`ekI-dGQMC#nhGK-<QklP4!%Pi@uPB zI{MlTjvHm-!6{9)d@&Y3a^yatc5R$2SdsY<M3<C5Ec%B5uWXv#P=BmL7ldJK-o>Ct zXq<RXQ2joVfh=83@cv?1%bISUx_9Ch^t<^BiM9gs3Edk4k;>xCe|nHtuLp}bh=%%_ zi8r24(r3;nprw@8<jlBi`7FTampuv7x#utI#Gvu_aPNg7FK@N^oR}BXHt3Rq{FVKw z(Fyt^z$`A?#6z-YLf!*K(vNI^_$I!SVcGQig!9(e87tX}#Sm-&Qi^+d?6oUsJB>L; zN>94NS}ilYa2N-#76(K|VMUk}pgG0Co$y{(noh;)Q3G*(KZ+<!*i|39VRYA+Zp)X9 zM&6C`4i=6^HF=$=E6bdUYn55b%A&-|`d%#F@xq`6ghqM`=V<;4Lb$05WNg=P>Z8oz z#|@1%nN_{PcxT88DpR;4kKK!MlQsFdep)I+ywQQVD1F~YvMy&Tu4bV9>Ylq_v&<*9 zh8J|9cICy@<W|vTWNC$Dg=kJta!j&=vW-u)fxIY{W#C)5JSvCQ`0KLovPFx&IQC@z zlps<06u$UlQ&Rym3H?X?nyY(>_;kjU9Zl0I$N15t{B~|yy#C+nsWa2<tx5bT`u_Ww zdR+;B7w%i!d>zk?)q7_)S`<9lY2eHU?@E#VZ00>wEi&I?Qo41_Rd#1o0a(E@Zz+ru zLFsj${*?ql_^yZ9vVqZjmBU7L=0hAdLT<h)%hs?6t5{Fsp3iO43SvX{smh$r>YI^` zKXc6od9I=HM&^IOPOsEW-(`}6sMBOgMMmD?`wP@qg?Zg{S*hj?9W-T_pUFNrm;6EC zs$?DAscPXdBd|*l8aKbkAq+iza3ifbhU&{5_sEgO{o|NNVEkqV<3=+K7}()IaAtl3 zqgR_xF|$JRd1hH`#yRugaKoFQ{-`is%}cUrRS2Epy5=o&7iK7|quy=$$UMzNU0SQ0 z`J4uH=de7+oC={z+<Zs&8M*0%Ndt0&0d9A&n?9T@zLmKYG6_k!6*5ieh4eB_6x^Vn z7}EMYuM=eXXO$d-U1o@m7B$&rEq3-Q&htuHVE!T9v6kI5YdCiOUxlJJWKH=utfQJL z{*#Fxj&EIgf5%CNF~3oMdg^R`Dtr{You&%Mo;x`pEpG-uBuazwle$IpZ)i9VNXk|z z;UqVv)Ydmon_qKs&fPwslr;+_@>kk^nRjxWpSFeO8=U!YUd&%}wp1zn%8<gEoD&q8 z52JUh&0}nOtuWV1MD}5bsE^HG>j6F@9`NyASs%<L{(LwB_>0Z^ut!;fGo@<KZ$1yX zs?E~?K0i(SchT#7^LN4~@+K5^+etbHM!<XSr1h;zF!SvQ8x(T%Hf}z7A!L_xL}!uR zJ8Y0$r^5hR60STz)Mq^#2<<01fFyRhS%}{T@gL`WNIubF+<fzF;*+}ugO4FGar3qp zp#CwcIO_i(OZ-#nIQ*PXiG{C?{V*z0Ik?xAa7ftvH5O)pW8DvPWHh4x^(=;JYmqeb zlUQ7>{8JqLi<`e^qJr2e0_n;vwrT@a{!Gk~T6gql-ctSOh1+`haH91YjyqD^93)zv zc@}8#-NXrL5$AJy;*hvuq9=lhjQo-JCyMbdA)Qs6R<>2EJ00Z$BE)a<J}q0t&6d+A zk7oo)YnbaiV*hGN<;ZZS?q*%qAxGwT`F1{DqwJ2(4?gVRbVlZ+z1ksQ|CF9N@h1wh zM9xl|Hqmy6NNbpx=%f<ey_>k)<rU2?Tk<D1*a8w7MCr(zU&I|!DcU6Ywn&>L(x&1T zUVUMfh!SWQ^tLEiY%iAy%yHX`=iOwBRxquHM75RM5<$sXGeSvDofFj(v()POFPDgN zd#!qVW#SZt&&=3ysdeT|eZ6k&|8pES*#ZM1KN~wEa>$-{0DKsx6M~gKZVTmY&rY|T zhAQUcoOBW`sO~a*gqlSSnMaX2k>WzY1%a}c#r%r+OSVZEQ+Z~po1jd`IfYZq^Osut zop36(&&W&SWFOK^!E<cGF9v#+Cp40q<$4PqqE9OE;x}a<P9WgM7FSYFUNvYcXNg&u z@ax^?wRdYZ2|LUW#Bl{Yp%iD-KB23%yl~7^RuIDo%y^vK@<Lkn@``J~XClP;>XkZ= zSGYR5Ba=G3CXh$(IZW61s*(^6{@$rW#8*Ib`$6;Y&EFth74XsqI+bY7ywSb+!N13% z))f*wds#B!&IZ}=DukGi?Ey*=H{nmMMmU`x$SW|ukqxFExA`)#yzSDx?4gXai|*Z* zkXf_?Tb*(;!%pPwmD@Nf2z3wVU57ej1Wg`aYcGFVC9zgOa8AH7F4x~=7v7@}<ZhvR za2=NmCNHmOunU^B&hl!NUL$9yBROf+Re0Kh53Fb}%wy*8>d?vi5E-15Q@g%`H>rb1 zR@1Z_yahSFVE%^ar|>pQF0Ak`ZLrZ6z7ug{o71oKw-s4rV#kR&B>4dCzr&{?Ncamb z9XPxk=?MlOK6&5`y!D7}`CKPv>`Qzw?`ri=08;!jnqtxM?9|7&?F}~gKCab6N}mMu zfliy<!2}NYK0(wV?_4y&tHM!i-c=QHcGvPU$ZTKYt`o+Hizb(aa`}*4CiE4MlF4x0 zta9Dpz`Ka|LV9pb)qNJWAl^}kd{^+dTT76x#3R><`QdHhEkJUgKyq5zo&|^#KHT&w z<VE<y`BiTN&*7?RgxF`0lo|0}d9j#$p+Z>N(U5(NNE`2rZO+?1LkM+bl2G?!<Z}tN z3_=m+%;R8-85Ws@Fua`&rWhebpoc<CNnU-3vk2<viErSV+^9`Bp;2#xZd>$t?-Vq( zoP{Rw(Og?0ebN2eu5N0(bD?)?yPdYEuH$#X=Pz(m&Vf&vt@#2XO-@b_P`+4}Ys`<R zEy{WFErhqLeizRiGpHWdpyW^_yzzWwz8aG}>yrfCar2cJ;b?)m56nxKXt}?m%Y>=) z^pf~;rf_dL={xb$MO*TwnIQf_8(+fi-E78Dil=BR>rRZ4AgB`*@JSN+6H5Fpr`2!~ z-c5g;hnFSxDgkZ3?1ibS?d2Ui(`7eVn7!HS$KR)a<F5sj1dCjHf-RqeLo{6|nQHlP z$+?r_Ih()~h0iMfUc!P`FH1{G*u{d9Rs~6vK9nl|n6>-tYH+n4mF?eWAbaYzo`s>r zJPCh9Jc^DwU7muNle%2)^!>O~bU95-6|TP-A_Xb007jAq*vL}A#wcFvBZo0Gpq7<o zF+v5K<?YkIFUOW8pwu)%Af8{II!JjqJ%zkdLFB94&SI?*+oYAm-S>4Q(s1vRnoe9U z;reBQfDZpABeS1_!cyQgg{FTJ-npEQ`NpP)IdzuOb-C!9>O-8hGWR<#ykxhYfvs(d zO$NklNVqs(){5kGl}oQXntc~j9uh5X@QsShO(G7Tj<LT;%&Zxx)noxzY&`*M-ZoY7 zx=eR19@h~ovy`Q%SuOr@k*_I;AQ$9~8>c6=1Le*uW$EXrXP76HJn-!2<XFpDR*Goz zBsOYB2G$zH0cM{U@0bZK-XoiB@Ih?hW4kx!?LMdJDwM1NwvlFuYt_^UubpMR<lxo| zS})y?<1C?CFEJF}dda1;UNdCEXBiC=&yyxcZRvS>n4*@?rCvj`{8Fu#04XU=-fX1= zG9P8)@h!Tj+{ykur0Ds3<lRtlRyvBzTX~v~w}HBY+DDaC@(Qg$j|XDc<W)LmmXb0| zx=4CSBo31P>MW9qJ;QdLBw0`*Bpu1*ZBV+wVWH``PzyKz92Tw?OEux~h$o?wJR6Vf zjf|SNgBNPv&TjW&=1q`zQr%`Gi|c>7r)JzK3DY6@u;EP9pcR;<V%Y?BkMq)D-IXsE zC;mD}mY6N&I17Aek`y5^5q4pU!69iKN}4H`Bs{PCe=+Uq-cKldI;S|ww%logrM%n- zX2~<{-X>zPo>d1?a%6MJSQp59EO*OE5K^(%^Ho2|x7<NaRF1S=&b$}FJ%1>tSwlvW zE$)pR43e+4sk)ibtY=k=n@O(=XYz45tc8SX*P_NG@_ip}y7V{W6+DuosmSzF23*0} z&n8>>4HsbCD~)9{6$Tu>E@Gpk=(R7!Iz+E|ZS)CV*zMGj3W2Ufe;O(Yt}TauWmuT= zqxYUbyv1|qQ;x>u%*49!VlOw1N5C!bA>|Vc5^-OveW}(D^c|!baFn;8!nX53ROH1i z{&JD4>&%2?K4xq8^0rAm`4t>6>0=eF)Rej4XR-DiHCCF4tEK<MkKhHmmR#j3_s)ul z!BVGbr%2Y<W1Iwe6UVLbVZ?A5GBMG=@x81ex~DoAZAJrA31+lD`wimH<i&Y6#P9L4 z0~7mC7G%%)o`~qDvgPyO{}-=_h`x`ZPTqx5r!O>^^6_i^B(uJ!!GD~Yw;H_Q8yiMO zyEDm+O|2Vv$pNoqn7opgIShqwKJec|<}C;@TvT3%@|<6no(;RWL)%xp(H1Y~sM8qB zYKQC<R};_U5y`vP{i!$J!v%r~|2SZ%&H~)OPhBwbW0L!Dk3VmV+x+F*qfUjKIU!Y8 zCSPvD+SJzYb=`ntJXpEPjVyt4&og-+KyfXJk8gx<aWq(%mTcH#Hhz$|^O--6^VJ0h z^g;!Cp$B^5xqx1G7SIprQkDnWJyxLIWe(7?CG;$y-}VAPUxBcBxGY|l1N!>{^juO~ zJmJlPxW`A78|4)l$*x1Gw0;h{M!pGM!`m=ogL{(wd@Q{;6Wh2WxhXZ68tLm!%Jqhk zkz`w6I?b1@lkf%KrIym|nUPf2K(c9Q<LF>_jO!jLZKd;VDc7zoH83<X7TY?uJ$2V; zYOp(%+}M@Y-nVx3r!tvTa(fC68X8IM9T^%O>`AVZk8;QKJKf2?!JgEiSbB8NP;W0^ zs!zw{O&Q6(sZ3WUGm<=%93D;$gupco9_Z@t>q+i%->;4(w~i&-hXzxC2#?12u=Y@Q zuR!U*=3Cz*GPK<8Y-Reft^-|t{at(dQ^|DSVGy%*Y{Q}M<PJWt&fEb>rZCvEEyXvv zGaf$u(zx`nk+*>)6$jj`)sK2_k}r*iSP<;Br}%t%PjdZ+joYQk)~1dPt;x16>o+9Z zx3q5%%y$hc`lNC=8;{^^f>}?qJ^^i4*T@$AD19uGI+RKFca05=W|I1bnX%+R-ymNT zzY~}lXWNGM^&7Uifm+wCr|nMn1$%%V8UXQpcU<bN2Up3qwj@2vZ4`)&U65@v&_VQp z;Ux5MFIu6m^?Y2MnH`Mj=h$Nd{Ym*;IuCB?>k-t$F2W5{CcJjjwniyh$J=Mxx`q`? zBMz~C=q>x@`Sw(QivFb<pGlXJ=xo}zY-?+5mD2SieSEfj@+w5TuvR<p^nlNFrVH)^ zvSd^Hx@{Xaa@DwfT~m`sBfZEp<<%_R`$l5Du%4*DruDJ(UGU*>zu;gbHJk!l^s#<} z_Hl5e4-S^Ev3FBBHaI#U*iq&cD#_G^$(s0XeJnGa>`5sb3ZR1DP@cB$+LYWpG_+rN zPB>-AOAYn5jAr`#pp5q2lS=pP9Zbg<bYu{^JAOtcCMU6pDYx(x#K#b~p&k*~OxIo+ zbL&t#92%zB2vU+84k4$G$#jIhBVA)!X*)8I+$J*XWf}Pssna1bP<;b^hr2R-C_dSr zI*{rQ``tOXe{ksFU~*$0a^#syl}pdiD59lMOftUkV~$AgOZDyDmr3>w4EM+O9~6dH zsJafp^i04jBps}M-In!D?VFN~>$j}kkZf(-(bS$?B2w>gkz5C=MIseOnaz%vux7Ha zM`$eKudn|Z8SGNvTQ+QKm+p49Z*1DJW5aqGV|&x?4RGAeJ2!0Kk=)U_RV1~oson9M z5Kv`2xnpPuncoY&L&<7P@7%F*MdM(Pj4Q*TBo*k0WN%TGru;VGSR3tvP7<yYUOAZR z+OG%zkf<;^VkNil@6%S%M_ac#b?B<75Wq3|P9&!bc%XVuWIfi89`+j64<Qq2>l#Et zkQULJLf-YMUdJ^d!nZd!ZI2Cm<vk$KHVt&`6@CNiK~#Zz!xBQLK7b-J!c4INKj<D5 z^8R$P8?B$w7bqo>;j|3N;L;t|AT^@QpV`;fy?-#3PKQHz+o65$*tP}YC0m=?H>_*i zn%sW#&c<!3PD80ZlsoxW#A#jEa56%#Z5tZbC)aIm+!pH@MZt~8lmTYXP&ySG9_#Mv z-j_-aQ`&bZ(rD@0&K(<)Elut4Fx;LVL%k0qQ(`Ne1VsRA-U4^FHSGY-jj;cE&w8nz z7;YG<EtwfoYC6-ARN)hJ?&$&oPo1@U4rN(Qib8s9TD$bRB}=8&&Zfc4bxQ$p?a)xa zs&_SPJkh^n$*!IQsszW9>23(9=o{UmTrAh2z2De}P(U)Vd8)!h!EYUNW*>e?uJvF! zMoX^i2T`H*69u%r7c(u2*UzD^J1v4BCb=oyG=N8tLFytsO1**9z#bStC$fDXRUA{G zcap<hBgvk=5o`hMp-`VCnQe_7sFJJ~(XC#@!LD=?^_}kTL$mKsrG}GAOX*<;DlwVd zGuqdm=^K=>yNAbOFymlv-(DEBPfeBxSE!@~{TusI{XGI}Z-3X`bPVBAF@e7*^9piE z;d3J2lRA)82|3i(btqTUjj8kEG@THrZ_h{<eiA5Z9NC-P+BK3+?HC<Ki8|Fql~6<B zKs4@b-66wdd0^|dbunH5m)wgV;t-?&tVjA|%n7mYPxf?Wx*XqifyV=)mvGS|44Xqa z{4kMA2Jt+p(>f<h$F?=z+?HJ5v~9z>9Zg%>ldU_p#fJ7c-W8W{Xs~}QhL@N|!Qq#r z_sdO}*sqYk7+FmuGKb@s9_k+r2^~&)XZ!Ybjjc{CJL9P8&G~4%y81`6PMSDv+W@_9 zAX^lw<@Jp_)a?+mwhncx`AUZb1{T<%w->HYCgqiLE0T@}LOHvov3>i__Dzb1h&}_3 z*db+aAxK2QZ|ysj>R0mRQr>$9zIMo78==x3ae&c$dxk<*gL&|@@f&)D!;~$zj)_a^ z4L(leNNS)<{N#~IaS@kLxfE`QjdrJ(%Fi<KFhi9%*(l0IZQGO0TQ)bYB_`<VN&0u~ zDW65AwL@IwsO(}bCZ#3oxAqTZLYI*t@L$FMb}sVJ2qM-sviE>=9d+n%2a>yDxLO$` z88gunJ2a`Nvb+wIYJ$WELS)n-!MV%yq0;)%aWYUBo_45O`%^?SO>K>v#JsD&y=~Ll zMu!avFZyw1GO_N_ku-8VwO+@h6D5wrU7{f};2TRcrN^#_4u~CU!v&Xl^5;;}MK4({ z=uZvq&FpicUpG85bSHX^Hx2fR``MN5?(2(rvZqsBIHPF4%syv=A;UThZgLBP(%V0D z5ZDK)vkS3l^s3#nRY->|!|Isk0K2ojrG3jS?ScWE)yxR$U@DO}1N-4*TM9$moz~D~ zk4mKwK9r`W?a6gp+O{^X+ab~}nFO@UU88+yG5k05cT!|9wyAw*&AKHw)GS$6yR>#m z&C<n7moHwjWO2=v+fqF>o4Ydp!J;LLuc}!zkQp6JHSBe9C$}>HhC?f^Uv&MlnninS z7Hzq%W>N3p&?4~=x-*N0JRT_A+O$pxu-AF1I-gK*8@Fz4#gE(4*4PgCs#U%C2xh&? zKiH){v*OunJoS=BVeWKt7{_cw+f*!h^XDTY6)(|X%E9Dwuvj=d-ThE#YRjm5tPb#q zI)9EuB%Hu*iN%DP9vBreVG-{=3B2Nl55bBN!G<e_#8w_4{1ToPU#1&9j$90OV^nk5 zc8REC<OsBg+T5}o{Y4!#p?JHwbvK4{Sg)NY*N!E3r$&ZyD>dcbw&vb$jg6%Dpv?L) zMCzDgGF5y%(~6Pg611w9Dqcr7(@~2nmfU9$V*Al|u>sGVeK4kqd&v2F2XO;p4vC(s z%t-whZ)dilPPdM2M9XC~zSlt`rcK<)ZCiHY*wLp3zc^N+ZTi*d$Uq@)g`qnbM`&}W z+lrD&9SkY3$2oeioA3zUv6#j&8DZ_(p+g#*^rSOm=++!zZS7L%#NdQL#JW>`{Sj7S zE@BdJt+pf1B8S9#>1+z6cgP_d(TE~D)DSL)@uAv4vS+9}MwaI=OuIL%9!XWSZE4>U z>w-%TqQQw3aj1q#h-97Auvbw@S^eSc>5}U)sQ7$c!^7A(bj!Y>9u+r*U^@l_xS3eD zkM;?22MBc~aPRL&9QK0$<UY+pI4?0vgtbkZmJ614p-AC=kq6{}Ks_QDBiXDLNYW9# z1A#X|&?8187x7yg0d}4GgQEAH(w0$#liDTh5k80*M*OzXffTY9n(?IAap3i$mkte* zIsmcJG&&{CB)w-VSu)QY5u-={+f+m+b-pASJdP%<Lf7CR26xMFYA}rE#m73>HEEe8 z(pR@ig9r@>BB>+Mod*<sVnsuX#S9UdDOsWIV_3jLGIdmi;2@L*4D)0x62%O82Lw(1 z2I@<2ps@khj$$#dwTG19kPD@Tbj|cb2WfkzYa}D{_FnjyDoCfjM@Lf0ZXa$&qKc$4 z)$kacHYln-nHp4|BMO_>;b3k={Xv=0_J}TsL~gqpw>34cZQVd5;qoh6J2!1;$Aj6i zb6dN#Q?|;*BnBW2XQy4M3vVSG14nhG(@Ej+FqY1$q{j66Y_deV^of*c#JXt%jJTnF z(~ixt-mZZ@{2obe2oRDiL&kI-5jRy8T{3nkv>DL*U>EqrPeS>F=k2KsxRAJ8Fpv!& zlCgAGFVQdPgFW#*dQy8v_mXKG+^ad#wdyi&9T~z;@MKgfhH0GxT_c)i#-{A+O7BAj zF!j(4g?hMZF_#I5;X9Cz<*`q*Nqxr=U3W?JfI}g<&e2ToiWni7d&|3rRt<(k_RT|t zbKry|t=AQ#rH5VGDw`XUbS)+k&4RUNx<1e4oOPK#W040X_aSNrp9>>IOpIBM?HdBk z4r5+tMwHC(&_RqTsKr_#ri8OoW1}#5lT58nsUJj+cI{P<8cn2-4NK$@+JDCZJ0!&< znF0ZKBhP!Ba?1eFNMGpu;fM8-1&<A?n>vI`E7fz@omAucp>C(BB9IfuiXu|CL7Idz z?XqhdI<{`uwu5Q=+?tr1b^B7?`<)fS6ss-|X|CCMm&y}lsHvC9DllQsXbaWb0O8Q) zvq&zwTZ=y4?=q5-M_2g~eu$;_VR~?CeBS6lA1V|dx*KwOH=7zGnVQi-AssFzkz8yK zT3Asb#$5IOfD2C}7?@o45Ur6lwp!a!v@1Qv@<B*22~Whmkl;+X4dvpptvT7Cuq+AB zXVe0Eg5X7y<V=adz!%s^S{WrKj(^HYa@S~PXrI8IR&OYIu&)OR1l}m6fD1nu7j}RQ z2?0Gh!DJe;<0ba?ji7WTKFG!$N)`ePhIGLP%~3$A#J%X}P*CV5_6)A_UL^9WsRWFn z(9-9oC20``1wJB3YN$OWFR*QgChHwTuOs~!`Y56yV=P+q4U7)NM7$%`_AC>iAi6}1 z_j@*Xr9=FwSOGUsjzz6MYaAnehmr%(sc)EU1i-Jw%T`g18XIqG*A0z~j1Ef-3D*jS zz?7uol!vxY)v7Vj5xPoIS=%@w`Q}N>GBQe{$t|6U&>ogZlC%s_0%2~bilQC3WsNY5 z-qS15jZaZz*;_0kzHmA%Iz&=HBS6jc9G1nk)Qqy&4qdB3wKZXMJiV#tGf&Frnjm)x zS)K?e*_7})NrLM9H??+d-JIMgi!W%(U7Jw*x=bjXiun-Qsi4z3i$^RNOs6n8l@!qe z+dJFVZkZA(Y~H@hr85YOrKPtlNtZPfj#SGz$#*Rh5_p)~hms*XIxMKS(Ti^>S`+U{ zrs;g`EJ2-8V4Xo&(DxJivJ!G{6MH8QK%Cebt?%mL1xZR9Pir62*~MxL_wsoFVZh-b z^phmpsJjWPq5y>hWRbfuT&K`vy95SFO`55zC&niy#)}5+%8X%P5CTQugzqiuu5L{W z=$sSn;&MV$fgs}5vmDoX7El`wWl|_n2{4g@Q4+M-W#62bC~O#_i|8svIP2EZz!j>f zUoa01g_c=@I?>XZW#w|x1yzCCI@YdM6sJav&Ez6-7(IvvODFesYifDDcN}x$C(>D} z6}mwy67OP>>y|<#EafQ6AhJd$9FYzI1vk1FDzg-kszY1q0tX*<(B<Q-b==ar-mg3@ zjdk~T9X_nqIFi8>HV9RNk_x~zrQ%p8ToZPhqOrSMmN@)cE=eL$-c*dH$Ry3pBCE?k z`%X4%vSu?}Bg;o_jb2Tjn-(*4xn<Emn2G_6q4XhE+xsf`6%v!3EAOOs8#IT@QQpXU z)1gUR0daEeD!W_2>(chrUL5NKEFkOJ9z<N{lI)Vv*s8v{D+t3QjEswr9j8RsOhc{V zypruZ8r#=5Zqq2;3A)FwD7$rH6T35B5%_!$kh+Q@it8lo9vQ;)P<-}M-`cfXI;0;L z--_^V#kKV2QdA=WN%#KAuq<?rz<fHDOv$=xcFD-48XC7J*KgS=0R#g^q|c>2S$Fa= zro-(()&Y#_Tg^8N?YWcx)$7U8j?T6dMUNnBQ^nHj`OumS`^kukVO>jB>#%F84<n!n zySdzu(<jUubw}?hy@&*m$zGziJz&IneElksYgu0D(d@im#u)A+<j86OVgnUCEC+dy zNv4j*Uy_SiyK~2ma60QEk*)}uI6JX}8W*~?;$EayLlI{w6-!wUCYc`YcOkJ)tHFAj zvV-YZ_+hR}D$g#?0g}`@np{>972D`74|oWZ<Aj}(geUJHOJx#XCmYimWuttDCBv&( z73c<a&L*ArwVYoTs=ZLl5j%DGO$%^NXqGpk<-?pqxLc(qC9xck=IFqt<dW;x3a}E> zh%xMec_q^{KpgMa1igcKR=X*NS-NW1w6n6ON>kGyDJB*!26SCVJxW-Z9Td8V=(9!Q zf+r=d?{=GLL$z1VT^CPx4`$D2DT&5=5uYJUhv+4`8z9x_XVA!Q0M#;KCLxI!A9Q{N zaw!vZ*@mn#q&++f;qcgXMNndIw<;*cDJDk5r3rLJP(otleS0c{J<f7#WY3W!lcz;! z_nZ>nh8hm}B1~QQ$PNFK1ZQ@IS<DSNTBoPNCShkjiVvmL57nqCH*p(UMaE;Ab%&*d zy{O`S6Ir^>tR;a5>N=t~oob%4Ps9oJH(Be?s$YK(8&EO?nYtMZjmKiraGGdGasVQ) zA*^1(qhitIeM)S>oLjb(1cfNouyQ!DFj<~DsCLn3Mb#r0#%`4e+HWw+ZspRwMJ#M5 zlPW`)Zox;cF<7^A`;IMbQzbN%r_di<Ho0c+Q97BM%5sawYU&~6Xjhk<%~>-Rj-nsk zvgSB)YUXI|hFu$4g@2=n%lduJ!9U9*4p$m!)<a|~;_vqxArkD+aUSec%nHk3@j#zA ztoX=cBtm7Q%AIhK4K*alG+r0p_DBecvt2?PPoXJ~oZW0f$7zmUXce-zwsH{}ZYDk! z`S`xUC6dWOtxAFiJc;zU{2m><ZDxuweAldmdHZ+P8hGPi4~p%e_`%+euyl=Aqp{PZ z|3=zFt(xM~MJZy$+0x_Jj!{41F2laT{mFjW_2;KaD4X2U>%Hc%a2<KHDVhWsmd$mN z;X#8$Ho{3bnMUQizzT>3D}rmcf{Qwl@GFK(a6s&*_z@v@32n$&Nzks_3MTixxaff` z54n*4Kla`{&aSFT8$P!x6GH?9m9`PXAcBe}fCws@N>WLcsif{qRjA5k76c@a1Q0?c zZL6RyykJ0a;?jdO+77fM4z%<u+R!#O;uMEgY-!~aY~zfI&HJpq*R%Gyd+%EWyTAAQ z=fj_M)?R1rHSe{DbIwhH)wn-$FIl;&KDq+0E<vQ5eB|XmH~qlCF?pQp0$5-$b5V~Y z137|r=Xn_0XxKwpR%dZU&+1c7|B;n=W{4W&Uro_h2K~;P?`U9%%8`M4g}|SZt{t9m zbGX(hY&-o~9aeqz6xWu9%iS|G`o|Ssf66IaERkG#OGxbV3*1mIuw#^|Z6jV1Jsr<r zar}zYcI?T{zZB==ej6h*X1SdB*G`k^&!qwnal&>}yz3(^1oGZZL7%v}9Y`4=Hm=-p zDvlM;aIZBw_sS`gn*g!4z^WlUwbQ;hDMWt>8{W6!3x;}67eTt}_L22&9<JBN>&)NQ zt7ULtwjZ}CLbS5-GlE&SxA?Tyj^edCE86bNp5t7&`ga<T(|93K&X!KOP&OYtene)- z(*q%NI^o4287Ad}m{U%7PxItRHtf7gFXFg&fY0<hHop;~G4!Q7h$s~)+3dQVTF?36 zDBt%qU372YUsOG=z-h{bc)Jv9bv;oL!tzR6PO`=ucx6i>dm3J{;5m_>&AroYt-pDb zd%UsnjC0Q{o9oU7&I^yaT&Yw|Ix>>598vi$+x=r;&RQKjVs{T>@xbSNyq<)2gX9R( zmv8LK{rfw!Whd*9dBG3AWhkZoRO@spO6PAn3#}e^FpJZDk*lQ*S>F4sa&P~Fzhu@5 z_iSK%gPVZPl9dn+jj%~_C;xbnZlix23K<_C$oUiX@ze0gS`M(JH2as*?Vw9mi0H^i z2X<s2iw~#mx%O;1jMF7yzL(^5Wkn9jPL-X%D$QwZr5rT*X-w{@TRX0F;K9+^7oPuW z_jpfAi8E;98PL@2xx|^+W4J<&zOu7*C;4(tUS5*ulaORnD(iAt)%v`DrJQ)9f=V*E z!Sia}Lc4)g&e3I~%{4<+_e4b=Btf)pYux1H9xnPLA3Oox;CK77(YR1n!^kGCijZdR zRcP@qUc)})!i!)Sm<>tF+iUG8a#(}OA%ZMi-FgN-1t&MPyLBcDfjrxk`sx;dK@MJv zUEVlmxui0<H?aN`Eu6QI@_NLA#kjanUTPAmav9}$v#9AG=ax>Mu`}*De3rgkBKo(Q z&iAiUm$L|)66_r?;W~xl#hZTz0LxzNSs@dH8BELbVPnP0qJveIuD_%06}BaEIDg&- zx6;Lf?@P)Xu0l6n(Mtn(H%aP(e@{_Ltbh5$JtA{TmLE<OE@xeq`T8X1$iAdw!QmbS zA{k3dw&+0CpBV|;F-#PgjRY*MDH^S1?l7Q%TzvKE&J5_rdWO);X3wFy+rwEXj<m68 zg}+Y4Tc|yY9ADQu(!syDQr>^+^CAgbY33{~&-HPe-!b5QDZaVbGiNVfGr1Z$CFXR> zTacd8KHh4|+rpq*zEX7&pGz&&<1NoYr%kuCfw3JoF!4$PQuU1LCYKHFpwQ0+s`<!y zoA92l`;LTXakx`DQ<1~gqr}k>?ij(9ZRZ|P4aeP5Xf!TBrX_m$@R)njlHS3K&SQ8} zbB#Nzm(7~iaAeC67U;U9!MX{r4{gL_1^4ZaJ3W>!cd#SG>i;aP{rs0Eh_TG)&_TaA z&_@mMC6>lG5Zx$`O#I<adH-WmIrhGCK8|Ox^1hs!&w6YX*lKdg{ARticKHw{XLORc zo&Bks9=P>n#N_f*m%Czw+Oq@}cW^yQujX>f6qj$*NkH~V@(5S<NvGirXL&vssaU=6 ze4JEla^<Wi!>VKB_=vzQ#3U8vbrFBqvFSp2JfaV-<gDN|cyKAl0^&2I)OlfTjjh|p z`0;VG>CSQdERNkW>H`ia@uoaqgj5BWVZqO{AyL}R2e`US<#!p_$@r4yv7Tx4hP|z$ zELF&=TnEQSSB*4_Q}MowdjxgLxf{+prI3#{Y}@M|M7d!3r`V_aFLvCMZoepS>mO_s zakeJYq^}k7{)~HVZ4;mO%Y@_J2bb8K?!InuAE0c+k!!KRt;ghvT4!Z_blK>NQTJAV zr!m}Ybk?@kbgE;mMn}H3a_>oP46hN`uHtMt%+hxYW|Ji+>6jUMNO8=5+Br~9-ocU& z8yvyu=Wcurre++qoPGM)l3#?!{C6|qhO6UBSUu%J*F61PNj;qO#P;A*6ub!FUQ+Az z&8ZOMH7JrkqmA+7j(g$pon!moI*#fs^Twza$a4(P$fq6o%7yeuA3xOubxxDfB>p(R zv)O-hma<r0U2@b5@%C2C+To9Nk6-Zh$Azb3gSzQ8J^z|H8+axYME1)LYAFF|$f->t zPu}^%1L|H@JrOP4Q**>JH4-~$Y<^GoP1&aUWxe0hV=*_ftkYOtAFX0lwPI|@y-JFr z+iBuOnvK}qpI0JSgSY#K){d4i%SVRgBbQ-8=@t#M+uGqes<~9bRpa%^PII(5hA&_m z_!w%~6`vq-&CtluD|%UujW${(39E+W5n$-Csy;ltx_G6&*Xzo?tSzvX$19EcKuuQD za>9cX1*|zj-(`3&X=u#p-&a{I&Bn01k~gx4>Z?ngSB%TIf%s<Nj1qFZfp>Q&hYGI; zoGU{-2waQjK=>>RHq0(`ya_)_9ax6a9J)7$M&YtJ)nwLxf&4*!K_VmW9(Logy}V-n zN_oQSLfhBQMhhGARWeZpd5zIkYfr3?;)AtSzP`ia>d5e#&dAW(Rjsj3V{&ZFy=NA> ztZg+$T7_(`v9!Vx9E(Dk^su5u0I;@~hdFL(?vGqT`pNKvv#>ywFJ}V7<*l{Dqw);j z$5P1TS*27ioQq-ha7R)8H81z2Sg9|LCzp?mmk`y)(3pJMR2>=_8*29^?$GKrL*hSs zZ3d?>c=O4<Du6wMys(K^KTgBxey`H{g=xw2vTVe&UNOkOaU&Y^b^J>CPOnqNDxulJ zw}InpW%BW_8}<&m@ZE|Gf3RHETDelb(;6FE)fpad#;9t2xG`LB56g$V@*PeG(HyT! zyc#8!tR5M~815i%#}H6A@QV(N!R&@*6iT9toqLrn5?QT}uV^hFmQ%~2mBXFpINq|C zrH&?lpGfIliJ^N-&UsV50xMUZ#!#z1)EH@EfQ3wGjIJ1N;^q1B827n^@s15zpd4<F zjE>8D_MQ~)+2IYlS8m3;xvx3beK=jn5iK6EopPEyv<V%@CYO)m-Fvr=*3-MvU3rL( zHz-#d;~o>`TvUkr1{&VMhksa2mqHyxuN_*3kA8+BJ>b@i4vmX{c)AK7d5ioj0um-! zjLa&vS|4p=RCij9o{>GiYK2&e&G?3%q&Eq&Ccw+8?!l>BYPff#SODt7tB|S4TYOYF zikRalFQ~nGWDUxeD2K5sXBFb7Fjjlq+c{;EoNbk(w;G=}jwARZ<?*?qg_Y`Lk9WrF zqo}k&Y-0pNx`$%Tu%!Oziu!2TtIJv=_*mM#+~2vR)E~oORin&s`6N=jgYRg^J=gMh zs}HXk&krphAw8oi`7bCsK8BSYzRe97DeRLyg=(nPS&lC;M~2FCpO7_2Feite_!e}H zCWWiH9n{>?ZAn?Y5!vYV%d(+0E!kPgL+~^G3w;~i+fae;n&IK*@F?cINzASRje`rk zSYJYjfDwFbCT|?$LmeD6`PW`Umt{kZ#!#m{G*ap%o7$mzr|fJ+Eh|xBreB7!hH|*Z zy%krwH8NVqEV{P0U`G{KS24@St5P+fP$;0XI|&+&u5Du#utMFqSstii9f)@z{WdZX zim?qHIpr#}VKd(M3}liwqrM)i4r^DB%NG{Cu^AaceOs$idv6Vo!D~?}<Hr&34e#oq z)vfZlSW_S8f=>2pGS8w`FFCfP4hG{m=J4g6kx@Wy_t$Wv(?{Nl3SSF#*24+jdT%F2 zG7gt@0f>>UYerW9-J>8_-?#AjRbINBS&bm#m}+QLwApypDVWjE+>BHC;K`vjK4|ap z115nLlJf4Ga1rmd>?uxofP-HRaG$i`U_jXQRc!@knVy2|&E*<O=XUif4i$rHt6JFD zuj;JEa%iZ)Ipu|?Y&Z)q$!a*AH6>~px$V*6rda9@XQ20)=fm|qierYr$=(<amEGIf z@(#HKH3-Gxaug$8W(hEoSNO_{loA~(C6=o~L{t2t#J&2b!Nb9cd;1jK%9X7>TpwLo zUSTgEYGJXC;oTWRTCSCG4!*4IIu+p|ntzw>^jZDwU&iD}lh=$f(t7+lzDf&RS*I1_ zZWlSa77H4@^Cm|Y_zZruz8tGz^Jr<744!C?kBuWtjnUOU%iM1a!0+g#ZotlXlT1$j zktX&DZs*II(<ynsIo>SSXsHIR$yFn*^4vF6Uo-4n<P*uQa>L5k)kgO#9OZ2Y%yR24 zKciNM>X`a^k{&g`Jm#CD^^q1n5Dr$Z!V++NOa?iQG3AgriYb?BT&Srdn?ubLhw;=u zFhYW@7y=h8nR+vCRqGWf$IY@D%UbwQ6-!KcB<sJb^fq63hI?ouGf~;f;Z>6;#K@v@ z848k{sOMwjs|r2JI9pbqa)=iw>ciL>g21iL{1$HmevCldC<W<y4vv#aBJfx~Ssxu6 z^V31!qR^^h%Ivp4ZNLp{I;+O9?kVxb_tq<hoHK$fNJjR>7H`H+0bN+?IW&ToK|-fx zD2HRnYGC^6hfjk?SE81u+h;#PwVERxH+Le5yt7=LlrIqEM}u7b@i)SdIX}2NOq23` zd{C`1J~@sTpaV;O<kB<SAdV;!CvppnV^_Zh)OALQ-?H)Q_?q#R;~GJ?BZzVao06eP z{J-p>RjswJ04fQ=+R4$O)!5LZoDVG@X$^Nquu@s&wFO&@dH*P{qybip^`RBz{AdiJ zY|4hHM70|0^3|F~!8gnBreE;Q3fXF*ya!Bsv^lc6RVyb6cFjW2H?Fb-!U-S>K(wG< z4(YO7*A4gR^700*fju2oC2Oj%Jt?dqs=5+chLui~r<23$aQ?`y_%Q)jlC`JhkNXKM zd<W?FOc-?Xnt3p{Il64P*KG|9wIR3eQqhu}aP8xbKD?|y0z=)a_I_-;$82FEg7u)i zx$PgQ&*oIlsk718fKstxa**`Jda7rJ!ud^Sjf{63;((G9tgaP;OJqN{8YkXo%fW|x zmQ*f><Bg$J<sI4DVT_sClx*Mw_9#7irbzv<jUZq4Gp%O9h@En#yvh@9k0N6bp)n~H zYozAO6Ky<s-t4}!4s>IaZl@R!O%xyaV5BsM`nfZZ;Mi((s54w&S+)>IG1$~&Pg|-= z<$ZXPQ~dlNXIL^P2liNdt!d%l!W|^}X##=ZibS>n0_%QUvk$RAynI68(ee4`;@OZ7 zSve|*LdTu5wcNr&mk7c!tlG--lVs@*v)%bV3XQyMp7CTn&-*hds^s2Na@#i>b9T_> z-nmMK-0)ayRe5{3+;75ypT>r(SS^+uhYEz?;gj(Z9O?CJp8bj5tO@83CCjH5-0ool z@K!iS=}NeBD!yYlrzCt0swiep|2uH_8XJc%oA65}@;Vw8&^)Frbr>F-bcq=Z!tuje z%;_bX=Fpna@&cwMJ5k;5Y2>A#lycQ?8hR(gFyP%$1;2DGjqdm~)o(ytz}5Cppn|?D zMzMkEV9Qo7$7%Ht=7#dbfYn3mM0f@r`%VtysP8>H6(}b^QG;|tw{j&|=C_{xIl05- z<mi1JCYfbJ>#!}?AEpXUkykDJNt^sIPB3qDEsm-2;?as(HJAC!og0<rwsXUV$qg(# zgwlj4vB&Z9cyqLaS|cMjh{e19I8PY!L)0BGaVz6@g?^3i>%ysL$Qy}%6(HFuYgHZo zr<cx~u{rPXBt)Jj`!{5KQp>r@#W>gC77worV2Lfifz-2kllp9r34G7ZoJ@-g<x^rj zuM5M(?b5@}U{((<$JsodLrij746eYs1WSV<ENw2qf?a;z4pCD>;=N(tgupAico037 z*`Q<bHPXQY60f$aadJ@6W5sd3M(ChhJ#?a*9bI@_iuM&hHhyC7a=XW^%gakpnW)7= zdr;uBzb|WFvXWUn)N?L?%Qd~(8f)Ph6}BTX!v|kuzwb8=Y9dA~W>{=P{jR7y1aa($ zRhImCT6`L2hcSq01J$9#UzV$GzaSRcQwaI^7FOao9<P<VnSlpX$LSKyV>3HVY_Hun z3$y0d=vwF>J%A_=5a}FNy*w%lURj2{>FP!c+v|YC8X6A*%WLTB(Ab(u<Z#*ER}8iN zmdP97k1wT)im~{CL_ZC>M|tw2bAi443B^*oIlf|~CsHeh!P!4$gDdU1lTQ|n-YVoq zPdHbPjK2a_c(HiZ13w#i22P3nC({y+l0-Z|8ai=AcNkEtZvx7*!{MH?9n4rYJYHWV zt0DIqzx;?-xQ7RhBgnrJri~*2pH7%<ooghE!$80<#KaqB>?KFml;ctz8CuoA!><xs zoJB7mk;9Q(eZ{fKDoNv>0qMq+y2(`p`YLE&9T~?Vh<lU*|Cbg~I8(q6O7)0efs-8^ zc-V%uN7mTN67AUNnq_Vp?d$E<TAVd|mEG%^c=T|IYHG!M_F9B@^Ey3+Jm{~VWd<w9 z@Ng!yR*$q+44sH=njTHMNvPLzcp!&K+)b96gjjX8){d9ij0`WU51-hR{IUx45qANW z{Ta)a$nWco9y@}fvJJz^e+`n~rIDT7*{4|bp%dM&kF9cFWAPm&V)2u>ofl?l!xvbj zUD-MMDCD=RLP&$6Gdhk3L3lPFe&>v&lbumKk-+<@cqIl@pvLbMgjWtpR_z><iWwC# zjYKE;1T4j_1lEc0KZz?s+!JLKJ^$HBY_R+Y8<dODLs{<#HdRot@B@A&3}0l2Uu2_E zOFGA;?BQqkq#vJ;jQUqjUm&lu;~{^n$&!qA^{jS+U7PfmC}ohx9)ovA5sHoS8eKLP zLrE`rt8rq&b(6At+C^!g#hoCDji{z5mpv;JN{3G4I_4}Eg|Y8A-T!JvEM!f_Q)8Xf zcuA;bcy(M75f91mNx8hQm1yFuO|YY#;~K@88}L!vCS<&O1v&iq7(>21qly3eQH1(L z$#Bjkm;cf+HWhBpczGGNM_INhc1c1f8JQE4O|>*PmL;8+Czv$as}h=#1d|R<8RV(F z)k)8EsIEz9stG1_gJeQhq$rY(xHQ)%6Cu(w&2kl#>a90YS<6pNSmQO*IF4hTV^XW6 zT%?jFmoM+6K5@U49&??@rHp&ewUhF#;#aX_2Gz{q#1xRwxol6p3h@(|gWYtN`cewX zvNYq+>6DxR6!CQ4b39VkcttN^u`*ZXp?GOB%2pXSzI`!rr8r9@ze5r`Z*``|NR><o zp+wF$hfb+sM{012N%g@zRS$EmTMuAAetPOu2*&e+i`<t={IR6ixKnbeg<7800&q(+ z1C(imK$(sFDVa*@##<`Pp~qZE-87V&H!(pJXK$3rd^8gbJlaUdhIk}{UXo2SRGfx< zx>-NvViB@Jeoi@dpPOsaprH&%j4%b^XPodmTe+@o{HCSUp;JdAOu5{0=rp%rXXlu- za3ei4<y@3a44VLp1S$PfrwTT$mn%ER9<w&B3ZhxcLa_Nf%4_TwjcyH`C<$JtWcAb= zsj6_I6s2|ev<Kh9>lYysJo(pc68;GJQ3(>fCo*<PdL*<c{6m?_4;J|GjX1%)Zkebp zTQyOa?ChJG!Y`KuZc&!V;X{Hx^3#yX2u--S9Ylgff+aYiOvep$b^*uNMW^eqlNX9) z9JzmZV*|dJh&A+mQU&o+T_4&s1I9Ah=cc5DgJ9FFcI%|n9K6+=Wq?^o(k!!mgE6P1 zN#H+ei4B)3ogFk2{nB4<q{d@$ka|zzlj!bJN=k@C#MR|K0g>^U^3?9B2B+XoA`Hhi z^1uq;3B`u%cunxa#lOd#sxIXyvq+J>Id+ut!^!v;1U8?S3ajQO4E#v1i{P=xAclB! ziSHjz$GIZBA{%bEvXFo9Y7zb=E&1<xdaV>Kg3rM}o+bayDSlCDbv+#aeUWy1iFL0M zJjqavj)LS^DH<^&ZR4NY#D4<=h5Wl*>3=sUqYoSJD#6DL)h0L(|Gb&}S1GCl#|_mc z*iqC#vA9e4HAYq?c#Waj1iw`3`GCT|Ea3?6K4^Ln95z&&;IyHt1UDP1P4Fs1RS9l4 zRGZ)j3{@rgc|)}ceqB*wIpOaaS=B2Y|NXEU_;J0$xdiEtN|A^FDrO|@Pbibnvr6T@ z*k2Kebfx%+2K??2_@lHBT?(n|6?K|k#nxC8$@5*~7WbTI{XP-2h>7IRbJfrx^IDr4 zF|rvK4O+h!gnlV|5pbyzFgL;NgKF|eN~RO0moq}e8yRl9&~u*ko0&!3!Ailw!m9-3 zXR77?T6MCT?E=xff<(Vkju}q)#}A7=^fr?QWLGPS!ziCDnT~Nx<{9_B`YR!wmTJ!t zy`uaQT%)M|<(HkutTVnA@&A=OH<N@H8V>J{_JCx9rz@(zWOhEyIyVWHJExK*xa>@E zyDYifnc^zNE=m?nH>kQ>^$N)ZU#F=4Hna1eTjwUha_79w>`ZaHELm)3XNrT(1ZS5l znqH&ocJ&I$1mCZy{x-Ao-&yA-!E)!k&FoBZyDV93W@n0n%>-wcESlb`>V8(QkWBDj z71iHncK(ueZW1ha&fCn+6t~Ng#b$P<IM_^ZcFCgYy{hi_^a{xYA68U<o7wpx>)a$* z?wq%oohfdYC5z4MOmVQ8;OvrBQ+HWlYPSeJLs9*0CW8a4bCY1Xb855DFVaqj>lHQ= zJV8<YCA0HOt#gxLxpQ8!^x3H$A29|kg8SJzq(N|hL$wJ0iK6=JD4b6|#PdH_uP~C} zMTh!Zm0~@?*C@*KWb1FAWrQAx|5C_C6VfF321B(7lAQ?2`R626V%qep#sb+syT5hh z0_(`=RmO1rE}JHj=rG!Z{3b}7;8ubZ?9Gd1du%MepDVnbt5omRrhk<ng<&`Ld%Zhs z(P~_x;P!x`=Xk|G&Ruy(y~rz=QSGyoX>JweSZES{L0R0RSD`0-w5i>W*<!s$SL_H> zw1Db^iWa=vEXnRguq4EPA5$ehsaI@o2nK&mrMgU|x=hilOxj8@Mc4IQ)el8+d*lfS zrz3*!=~Vc1Dtwy4gVoan|I!>$B^Xqk?orJeyQ_;sKsxVJ)a~Z|&Q}x+0qGbA0t45n zmAoSVd5_nD`Mk;NK(U#nokT@SHK$lQd}!AQ6quKAn+I<54!Ok~&mNV6{{E&aIapkK z+g9G@wK7mtNEi~|GL!+zY&^gLeg93FKcH8{nP6aN<0!C8YMB_YYs{!RuhR41cS#NQ z;C0Xeao+)~Qfb4Ff>{J<)<Ch5eC#?W%WyszUN`5EN;l>@SZt_tW4`d9@l#-KL7{Uj zL6c*r`9}0pQ#v8qZC8i}=1>f;nNu$DI!DrhL8}ib7)DZ}!=UwB82ZH~R|Z)Kc+KcA zxPUi#MNpEll~Q4Btw_h#{Dj*)aLbJ?DC<x63YMmYT8E_I6JDgay%7GvMMwA%dcZNy z>hi|nO0Z8vfK1`7Bg-U<0}qh!)^YvBBrdIRCb?R>WLzqz9h`Vtfh?VPlCaLPej}k@ ztV6lIc#dx!uU8aLg6A8mL2!ejWR1}3vh}t=NbrUpLbe_Vgk>E9Ol_7LVUyq*L$wH! zUB4B}tF#OC%na%v`dB5V^(9A;4<bcYv=b<TG}8NqE$WzwGG$XDEya?KAT5P51gVTS zn)*;oKUavXj#@|#a0k0zY|gDx@f`t0MN3y5c_jX@63fUVe23!pDlX_9dAxC#66_NZ zU|8|iJ!O*Kk;hx#>nEn9tph7X#@d*O?L~We=!JSk00_QyAAbvrd4g|Oln*^yKit;{ z$u@U=xr!JwQPsQl_Jm*4D<bt<1s9t1D#42kHTA0}`;Ld2=&2<NUTUahW^;Wsq5^MH zO|H_bM3pdwVI8w`hL+Azu@1?`A%?uD(p|2N_ZSl0Kc@|<=(<zS|E2mm<a@M1mpY_3 zHTU;3>MZ(E3?NJcD#bL_|A{$pnhvB&p!!fG8>pO2kE=(n!;&rIxhuC)bjcrAZq4}P z%B}QA$@D9e1!PcYQWZE!uSgw&!SY5d9@Qxp4pc09mKqim_=F1nv|bk$+ZWWfFPPfC zV0!z4?RyhFs3F=5x37I<CJ^w(OO;^vV*B3gOx$Pn-uz<w{*Eit>-CyZc7q7|IT1&* z|0C{61T&(n2OaYUO^t+Wa7PY0M_t3rK#T}7Mo92&mL!LSL9=ZuO{GPSl2$Nn9g<p> zM$)#enUS<@mUIg0->pjjhhCvH!Ds3Cfz$`BCX|$Za3-VlgEsvC5X^gUhLx*i$%8Yr z<hAN=$R@}TIN2PkcPpJk-lvUkm65@&82XeN^K~l<Rf3^Tv|}|f&MEveK}mufyZH^A z)8PM6x6aqphKU3ZQWUItWajnitgc=q3<@$+9bIfzXmb!v1W5$nXsD?(l<C$WhagqJ z@x#~jE>-AvA`zq)l<^*uRV6srTt3AD#Vi72=1?bSM3BmY>T`ORngNx@YKpN6fk{qM z<dL5Iw?OsmiNZ}P<vn_p35GuSsp(fEIBR75`Xwvok7YT}wBB2_&*p?TaZ*Xnw}4D- zQxjfaGLH_WPMJ`PB^hqJ&~u*kn+{qy_m}>7b#GPz&hgOWWL5KwlDe5ZD6w*&sGH%o z3q9vqzxU0iF81b{(Fa;)PcRoMRwgE5#jrP5dM@!QMM5-ygCDXz%GlTDE87E&eJy4` zr<h|s4@!IP-oIz1Sg!P(r}9~#Ye^DMXeSvZgilsnvM=Y2vy>pSFXycb$|SwJ1Ky&Z ziI~_aGT6VN{ARE7anC{P_igQ;Df5+LtGbmFR;8$=oJhpkEkiU=aCYOwmLZyBME^2d zG>hVsdYe3vXk`0c>zU-<p!MSnmq}1qr+L7+e5G=fJRp3s;*wn=Z=9tBnO!1pT~H>8 z@<4BK1(Aq}W5D*(Jw4RYD>i@xcP{j|koyFGqbR=tWa}xmR7z$SijiwaMVxD*syh{2 zV4|v(C;2{0^ooi9Y6agOPz3K#6zcw!Tj#4D)W;#q8VKxXJCD6f#eZ9`5-`H=HkBH; zDR^H%(R6ByEd#auooU&K70PccBztUE`bgvvQHkDJWb)S&JXBGG#Z0Bk#^r&I;GdQ0 z*my&rOHEv#nz%mprFZ5fs`3wv-E`V_dY!t3!I^b?$-sO~StAJuG6)Fno43Yt95N1s zL&l+S$iyB?k8LXWhM)k!U}ifOkAg@u-)LFTrar;)>~pj;)P0-Gja5eFvjLS+SyAs& zRX-V2CP<%EicYF>hbpf(m8%4U%AHj3dsNV;^eU+uQ^{z%L$wcDnByKZ!xEPaTE9E{ z6M?&q91g^N)d*3B@FK+}MUgiSSAtCK<*g&jB)zqlw^*?fF|kvyAXBYBuUx;USJ9gA z{fbMbbl!N-RO&tQ$GIYJ{j5yVt2J-2TqR;+t>v(usj@-&BH`Je11z&Bm}C8zR~aJ7 zly@lGI|6&M4Vjq96!yC@^ozBBy!Ng77~wPaIH5)G%SZUms8|F)`W%l!6}e>#8#g@9 zBmLya*83ET-UOd=WSNkyBcE?#2wrw{nUJlIDb@*R<JrfQN!dC@u@Fx1_8vmE_I;rV zCwRq+${gAHlw!e=;PJ<o2|XPDrF%bT?rjqM;$fZ`D-VKYj=8s0V(z`|PyYX*6o()} z|F49S!-Da{V;q8v-ya)FTLp>!T^)8Db5a{0R@@tP{9!_y`&=O|iUakEr2;_?K@5~f zw%n=X@Ik#gBnR5s#h!^nvT>Focf+%HFt~2c!QIy>>Z4_PHvYFF_wdvgEs!2Wa_~9{ zY;f?x3=Yrt>hN@Q=jf<BQwN<x#>37bz528K#it?Rzu8<n&s;l6@TySlc3yU}`uX(W zZ-OO%KbrIRqg&|jdhp+)TiDp3$lZ!9#kG(2^Y^1$=<k0C{ub(s_7;B=Nf*OAk8WXu z{swaAWf_k@x+UZBN4I1={^*wA%@q2BrfJQ5*?zma>nfWL8g$0xR`?q?s!5;LD>e+V z?wC5M&&9`i(fMsfNv%Cpj~ALg(>JR=Z!&$RsL#cw&lL6flIb&*>SGhZ-8MH&Jx^78 znW@-kYdBjfUS=t_K9!noMqset+|9;wwYgyG0tG)GPy{J?PO-IkW|zX>tP^kMFeo_N zt8nqNJ?2e%MTiKVr&b{eui3)J1!iiMAXf{Hj@9dWT{<}Apa$x2z3x|ByW{d-&pGm! zN4m4t=P!8d=|>;h<z0ps1(G1=S;sAy@W(*ES3{TU>%5S%zxwqM^KX^lj|^2KNS8yG zTef^q-SH2>Ed(Dl)HK0;Er+Z7DfqI0dbxt*0X3>#Z0fb-l0UcPpJwuZ(2~FUAq822 z(2-ymBGX4`o}6R(Qe_HV5l{qKlyJQDRW1HMvt?VA>#lokY*jh7j<vB>B^WBg^fh{S zN1)nE7i#<K725X?_474EXIrSM1R1iyV)G4^`!pUuvbeOEUcr~G)Jw^`i$%c*aURL& z=SNqs)<4tr9y3T53S_}SB)E8?Ex3gm55{MpSYpHdA-yMb@q$`#@!DB%$LNgR(5v7$ zd$Vi{j?v)=6uG@tX$woDoX!63Y=w@KccoZIur!Zv+rkEe2|5;|vLgx8p%|V!Y;ON{ z7*YgF%c~tW-Cv}`#&zZz>iRIO2r>$ejt!0vAh&JFOxingllBgqv^gXkPd45Z1_ePz z!qH_z;gGAe&aJk>UM0v}1BXX0%M|QKF8jIGn_q{zL$D<Nk;`K7J_pWIZ*vK;0PE5X zhs&bpL@ioeNyv(I^Bonr#ev5aMd?;7MV_?CDv|j{d0ZmMy6l-7o_F1x156;73cJg# z&38iL0o{jGnfeR704#0^9ux9l+m;t;V_6wVby-czjEVc|QJ%3&2rk$r!xDL0vNo$= z6n#R~x<jur3JD)%s?PGtiwI>0+K7z~!QUxglyQQC#<oRpPeV-*EZKj{mW++JSbmpm zyd|+QM2;HK>tZS4LxZz-UKU3Hi<FG~otI^Nyfc%dJ}UAz)&P;(IYSkmp(^0LvQ&Zf zRN(X_o*k$Nmg0WX<*`nn3-VLwZ5kbBfz;a{YaVe9K;#Ir_CWC;ZK2ywwkfzqkfq(x z#Wmd_Q&oB~x9NK6U&FeIAUD2PZW3fQ2J1Vv{Fzn}t_eX$y-PLojxF)r1-f|Z0*VU_ z&Qd`2YTDb{srvpR=uNORRa|LP1t(u<er2M$LvqzXbsduRzEmEsOj3WhUe$_)dZIK> zYqSgi!cS4$ykbLv^>LT&A;m-L{g<)9ijE!qb=YApIYN5GmA&UCWAQGH4aKni*NR_Q zY%UfoI&|sSp^hifG_!|iWL>d)>6m0TQ(veisjOFwds#$B#+@*masDQaqqY%aq9Y@G z-`EH#SBwcYf$wj%gdrD)jC&Wwht#;=={56kxZLSini9XU!^SE>`UAC`U`e6tOd(ni zg|6Ge25m-Xf+fYTOH#G0(^qup{5T9Df*;fa1XQ(jl&|Lq;otyOI-u9513IaYGShP) z&zV(ZS#N;{tsh5ywgBIv%V3t!K1Jnzof25#aio~m_hzhvw7FI(-}|}Fv5(nY+a$QV z3fix@2;={N&3GgG;Oi<F)dwE3t<rtJ&N=tl+|wcWeM7DLF9rA3=>rSr{S|ypKoMN3 zs3&2-J4u%pPS(GvXMUnrtda(g^;YbySDf?^e5#`Mf!>bGhT_1>i-Se!BlOk@)@y>` zdPCL9{s}N=)}u`C>V$&Z0*c@birNESb4qL}4$N#?zNu~x^L#Z(EJI9=QB$){aLiEa zW)wWyX5V_531Kq3&HUMZulD>?>)9rC`O2POvYyjl)t*nYp4oLFdw$t^)*jQI`&!S8 z>np`AIt_e4uh{7lyiHL9MRjLcO@Rjs)*Vik^NOD@%<6`r;l~CKt=>`E%@V#zamlkk z-nc~xGA}3b*58*&dLJ?J7FQ#QnAASed9b)sdET#Al#T6rB*OD?pt#3osQ~JJ-Pirz z_IJr5W-j>8H3@g665eKqFUIbH{_HBni<Lf9<3#455xp!hkBvuLL&nPeE=?j?zYxAj zamhnw-nc~xGS9Mk>+j1XQONWbSAmI`SnGj;CsRMuu9;Jtxn>%Pzpcb#8sYmDw^wmt z?}s$J@t_jy6A{P*Z@u-CGD)v#yhS||F|lbOAj2B}s$NBF!Y3;(Np9XaO9?V#h_}uw zlk{rMTRgc)#PrwtuaxTt^eS2tzC&?Ie0k$8Q>pi>Ci!SdZ{1TS>D8LIzT8httaYV$ zLWh$}7kLI_dd2dK;Aao=w@?iT-l-`6V4kh}0wKX~^bmSJ@!zE?vY}V3RS4c@s20I8 z$J~?bPpCvHl^Hx#U{tx&(2~vM0-MQ*CILmTtc(4Y4Y}Ku>}k~O_EEC9w%MidvZU1N zipqM4+CHUM$xp(kC=UK0xXn<L1g}ukBAj<&H>EqA6^AZ8;ZTRb_UieESBj_Zn^~q5 z1$%Ed##MqetIw0Q=W34^gq{RL&&;&^poZ{s)-PF-54t(vY$beDui_emwev#R!G<m5 zfTC&DLhlpqFxBUFaZiX`i?Rx3AhHPWrnq@ncgo(E?Pn_<d!a{W*mzk)%yy&^_o1dr z35ab(_+z{JgrvkI3+_~dUx~R${=?`Yc-=gr))V}_qI|_*t1+L1ErPFGK-4tBuPe&; zW$OSvq`+Gl1eYqx6S6g8gzE|JwYwMM3E8@24--xB8bx_Rwr&iB1aCG}i{QOIec9S! zgwq6%-?OX@TYQfg_W9e<-%8ZhW*U}e92Vr*wyg}z1Es(;yJ=vWabVE<%B{K3G`kGV z&op3;l#MwShABp-sVJuq8?Ov>aTFX~90VtXVR)Z;w@L7GhDuhEWe=u)tI=<CiX=fT z<Dwc}L@hiaTT}!GDg+r@PgqtXhEuibIkoB;wdy&w>fKbWdQPo+w!+8i<=Uyr6I7W= zhnPJw!$#S?6B#=uXa|$dr2!kvIdSELWgshpBV~hW=SkW6W=O(EX4u%RR3Ik0Y_U){ z_1R#OI#FyeNgX8{^t_{FgTBXi5CoaAUQf1IKpaapSVA02HdsL%B^yjRN0|%TuHe$p zPG&;;a5l7)nb1yVLc4P&7uv~OXm`%!LOa>bg!bWVXeV=_eRw7l+MP3*&^|nq3GL3A zG_;es&`x$Up?!EJ6WX0Knb1BwlL_t4nK+DE{bF>|jzcSp7RGjk&FAe`D|mrkWgWAj zIJnC;2Q`k`IIbCE;YfHQ%n*0YOl#vJy;h1kL8bz-_O2NYbq3ub8SB+HZL|q;FykOK z9>G9mf_zsJWYA?oe3ylo5fs}9Gl1wzkl}M0v%&Czj$mn!-jzf$3E2}u#Ic-<)$Fl{ zb+>37|H49CCCE@JB|~?lMX7U+f{YT5T;mu4#Rz>~Bc%M;WR&I>GmD^594Vz{w9eGR z488=<QPggdBl8XsCPZBks0m)3QWN!&Kuz#RDK$|GY+cbIc%Y(6nh^EkKuvHcr6%gs zKuwV4r^K5mW~jP~O_m|JDo#zMjMEd8OwRA921?21Zw>8&#pWDc!74SIiw*6l*<`jW zHJeO+XpzZmx7=kCf6?|FQ|mQxxsJv5oSAyN?JlNPYo;<iL6yqrv!Yf)%4RXdSiXOT z(qE-oIOG-D-~e(+D#hUg<byNgs#e3sRFxpdl%u2CrONl<4967*kP{ORABW`NVZu0` zY%pCMB^%5gM;T|2ql|OMQ8IfNQb)-K<LfA6?`vMg=%_v0B(+m>0_^XdVdGbpC{2Q; zsN6d<+Z^=`O&>7aF~i1pET^gjOOe`<o1=E*B6aUfCQ|q2RvtT&Ny%B5iPVl=nwDJe zO!Ri-78&>E78yH|sp;{fH(TU>6e71{hK+|UaxH?T$nBUla*POO)_CLql^HiXa?#k4 zL<5~Oqh?343IrVo5XVk#f#4D=js*H<M$wKW4xoz$N8zH-^I1Yn!S-y?IKWl{9fFGt zRU^n)pjgi~h8AjJgQ?${VPl_A?FcerjxLUwL&i~q;CKW9m8o>!NyZQ8GNb1^yEJ;x zH;$N7k1_kD4h7J0ay(dPL7?Ip5U5Ob{LUXSz9h1<MU`=L%Cd2|#kEP0admXFMRsn8 z?EN!rFq}BzCRmE>{kiIRf37-yCpR9ylZ;0wd4CdJr+Fs6_wQ1CUGGeU@6T1o?<Awr zX~a>+t9#irT3kG)?&GPL)Q3}bfy@&y!M#&)yyD#mE}Xxvx9~HUcopJ+F56rWU<-Bx zSG1OuRW3+R3aGCr$Q(vi9;P|_T)pBS)PR%&x@<F%A%j-(D%SefYYFYDt)EnbXn^hr zxR~cMUEFe)8pg%=Zg_*@s6TaUf1+sUp2g)iRpuRXoZlG`%ayi^HybSO+GVlt!f{NS zcPnNni#G4lHOhe5`*5|n&8ETX>lC~>pa_=Mqz}%#Sx5EPY;;$-_&h7DUd~nU>VP6x zTB1HYbFn5W$1xrt{I#M!q*tH_e%eqI1X<0IDg;Z**oSTSU$4<eL>`=B;|4{}MgA>0 ztjp#fHyYyk0+PZUe}!fgkPpu=)&8xFWaHlzDPuy$9otMi7)o$I9a)Yk8-Jom_Gg=^ ziT(t+RdoHCrLQhCWn*K+lx?Oom=a`d1k-zyrHhlqMGNa7kPqh0r5>Jn0(FAJhZCL? z&qir)@NhEwX$_ivz_`1!&44e^;Q+aJ%^af*4jiN~!O{$P*Q~3|{WaH}A<xhT#|{`0 z<j8S!90HHnK&cWejf#71RGg#(0Q?BDJUT-%Iek}dp1jxQ$+u{xfFr>hLq^@ZtFz=? zxrDekH%s1?n<ei}qKp8#C$&Yv2)tK=Bn6-F9g0g|v(OuN={57V4sU(AOw#+B1#hu- zCSo#4s9JwmBYL}DMQg%$C@y)|gg5R|g3K!|yme2Rq*rU+Vsa&7GFk(5|3M!ABfa7Y zF2Ro;>~EoL5NzttlFL(xelI(a<9`~*Cc%})u|=@VF@33_DE3u}Pq!aL@AKYcQ9SU3 zOd(@$3fY&{>1SY3&_lEfOI?Dr3w|V6melO#B;^bb;krY;_5;02QW5@7^JrtIg8vmz zN2t?Yu2<=~RN*z|&;~&oFJwV{8Oo`W6SC_ZnOV1))>VS^8}g4bs3A~gwF10R+5CsG zYq0N2QiJOO6<Byk-WVBBCYS3~{6hF@#YOLn#BAnZEB*x7^nZ&ZmW#?A%VK-yz8-qX ze*TJ7B>0x6dX!Ikw%)5)5E4A{X=OqW_xnqEFE@Ejf`9WA-w8*p1piS{qC&IF7F7Wu z!JAF1Cc%%C)Ngj#qORHV+`Q7M$~CHdsHxm0NF_z(nyGwWAS8Hy$+lXTt;Yf(!Pl1z zsdd?+<;ZS=A227>2-0k?4O?F_!Ztzr#S`WoA=r;<-2U0(S0%`x;q@Rofyx3!*>{=j zDnZK5yjL`s(S-4!$7Q4uKGxh<r4ID$V6k9n;%4bfKOYk`Be=>?ZGxv7s(PM+^r0~O zt>SjmF@d2+@M(r>r&b-W{Z{HVJ7j;UHy_dKVf+?h<j{*M?t6fxhaPm%fP;<$H0Yp% zlKNbM{F-{|4D(on3eFl2_G^ZIu{GFk>Jo>{FI8gk5aDf#OIA$0aitPu7G}J4ZJDHZ ziNjle-A_!cb<$QF%J{_^!jD@hTLkyq-xK2PD}wtdO2$;H%hnM_*dn;tP}2l!hH4S~ zyrHHE?)`Kx)JtINFvUU@g3Edc*}Cxn)0yDk8>&U{z-Jg0!6Oyr<+3#u2nn9qL&(<E zfso+K7L_gWaPl{b2&3^4i$;^+eDhU<ApI{oH!T`;5NZ!WddCy8^)1u6LGW1z2A!K- zw$?w>W5JQ&z@joCTL&l>gapf8n0=k+7)Ji^Lim^7`Jj2HM)22$T2HX-otk;)NONP2 zAQKdi69_Uv@xB_t^Z&%F0V;ybPH}6k%NCsuLW1<TCuHk7OX~FmnX{gdt&dp-*9d;v zQ0obPTT#9*Tg+r=Ly(#53E5)Wf{-BN?+Mv@ljaBr2`<+J@q}zKS3pRxoDH=u<C?k7 zk_XI!hK0ONkfFy?h+sJj>XrrXv|vsVWcb8}dM21txnS124CbvC%qfBlpXbOH!v!4) zGFG0DErtt(1Q{z&$QHu|LV}EyCuED^0wF=h$`i81aDk9uIdYHpUL+%QsYPgl;7fG) ziM)v}TO4C}0g&LUln^I8+qSZ?Q7e}3%@&Pzq->P+otQ1t3Tpc)({_^J0xK46g5`Xg zw0t_=qTeRS#1LI4ElsFab_aK~a$(oZib>Wv@qeeN;?x@Z7=oO)|A(e<#tRatBhwlZ z2y&JM6+z}SsN!4(DmJKWB#q-Vh_eQQoCY!55G+S0%!onl2GtG<HByBdvnf=*N98yR zVY(p5`h(&}u&mq@osfbFHJZRV0}==_0+MsJE?b;4pdG<aKi>2aJH>M>+b(c9P|~J9 zXff&s!Lsq84hOTQXcns{`Vyoeq6A*vR^5XQeF|yLhO~6i2I_vPm4QA*i;6OZM5~Ez zPFPxZD6H%(j@3%>#OqG*UprO{6(-gxQ*^vSw4Lk*iffCQpWtGKf{Xv_%W*-5<AMxF zJ>!k}{z!}CZ>-c-57SJz#Im`{r1+<RiWya+*F#QKhP=v-j_^jkHy?&xH)rV3E)kcQ z7Bzx@7Sj^JG{*QN$Q;I$b>&v-%!G2t*f9>7m?DTd{v)JVnwUXxNB*hriKp5GhZHqf zY~9*rgKB{;R!X|+?8|irP_aUxeTRDEPIFX~;J9fsb-jW=4=4up^%lWoc%w7~L1k#J zvU!%VJBbqB7f=K#)U6xJYy=LUvb{<R0;ioli%omaJ7n*93zj~8@$<XHaun}bY%JYn z)#Fy9_bzuE$Llhq_b!9Mn%#Rh)>j{h$7r;vKP#~$2K5R9ez7f4m^9@CV(9Sd1ws1Q zd5<Bbw?RknW_7%yqstj&&=F+39UU9=0q6)aF-1MXrIE93YnrC(Vy{#NuhgLOinU5i zG+5!y?Mj^cXOB}V{L`!>=|9a{RLF(b-0E)bjVg-QoXAQ-1(B;#k#iEdoXCP%c#JJ} z6IXEBn$}oeV}ofrjp%e5yeG2gi)BchV<Cczr3fw#z2M@omfPp69d9;!suWdN`Kj)y z-~j<e;nxKeWgn+i624xcU^Sr1(gm&z?4NL-j){r^ism&F$iil4ip{L72X}>N?tI$9 zYlc&0;L5~#8O7;YUbBkR=X7*N+(5AlM04hmh}R6K%D^@1@esU>;=IXgR&jbd%!mo6 z!D1JP=FTS(uNlQ9Tl_#|$y}y}NSYHqS#il3G;f@x1er5v-a4;L(t8HYTU+~yiF3D7 zut?9gB=fy`4t-W=IjV)SM3862a1z12b(tZH@mA*a#*U4-$M%GrICu&Sjs%(eo{$md zd9TN^#X|>lC&-PyCrrH3W2)Sxxjbbmo!*vJZg#0M^#dW5<0&ps1bOr$YW&|g(AAlu zuXzmN|Ioo|*)_F{Yu3{>3=1~P1k0|e*;zLa#z07rr()v6T9+*zjDe6~Ip*o<rgKeS z$M6^uYg>ZloSyYWvh0O=#tT!a7ydsxDdbY3obx>1b4x!q%0^8jMoBCty0nWYfgZ~i z1MS$dQI1i+{W-@XRlvSE9d&IAC&$e0dQhz;Lk?~!*fB@Jk>z#I^aVq3e6~U{g7bId zziYHoa-aQpQXZe9moTM#&$LQhB^W%^iS5DekmfKTKoPw38J;($Rf1F}v#lH`XN{Uo zYj@SBtcc<j!aomM5M)(A4JF9oEj<lhMEx5K&;g1PGQx)#S(RWgbJk<VpQy8!>XQoL zN_dq$y=c<KoQZ^Nxjvv-qgTP5rSSPBTwKY7&RdoH%b9k&2~Va<On<RHK+%mXr$EJ$ zfr>>A&OKE<z-xwRZiP25P~w5&^5py|rRujuBNtvXi@wU-Eh>uFoXC`_-xiHrc+H3$ zw1uBI=?eA#drFBx_{WNyi(k$@`dM8zf3N8I4vin%B4R*SO}KH%(a*vSA~^LZqxWdm z9R5rnCPl}Yujn|Gl|*OE{xMN#^Xcjq)fyflNVQ6{_{}zi*T-6dD%KFFAjm_N!An#S zulW!l2qd671I2~~gc%leCdlhRF_YxvpfMvA5@a~t!xt6a=QX39H{@0|<8Jd?iyrx; z#t)|)^vK*rYJPg~;cwidY`$;os$W$$-!OJng1<0S({~SlD}&UG*W6*t0^Z~`ck(fq zP~}JR{Df{^v3bF~LvBgtkvY3D<$2A=K{}@1wEWs@k+(OKUxU`~7W2{i;2rj(Z-3jL zXs{p=y`B*_0EXnTP=_nXs30e%OwT#i@6rA`R0=MnN&_#pX3&VP4WlzA^6j7MKJqC> zSS82}j$6KQemgJF#SANhWX5Y|#(;Y&^8cb(r2U(k6Egb|o;KW)F5zv4Tihl56~is* z{!-yHBm(#^H=Cl8yZ;vHb&2&~+$DU1;xNvsP7t$rm&7P{cUh<nj5&f&Qk1Ng`@iHZ zL~07$)g)N%{CMy4@Jt%zo*;DqM}lRJ>8?q2)eGw=ejbG&*+2-vGRO3RUzsC&;Kc)i z<<98_K{{_+=2^T^uW&8Fw<)T>YuWkFt#gxLx%1<>wroTm*0-P$yB5LAl@dD@f^SsR z+~T5b+m7q9`BO!EJJ>qfQnO9)FBIho*}6Fp68yNLAn1obnBQgd&Ok|UM-NN3b_PO% zO9#A`UN&1R6$>K?u2vLezxj@$%jN|={n>hLFEN`7bnJRzY)vT^!U$g0L&(;_`aCJK zNmN%q!3$%Gfkg2A$^u6S1n*RoXpLXe)YiWRLV^r2mT-~>Y%VruP7$P^JxjJ;9S8~1 zp`MVf{}l)czS}&$MN)&!zX_BCKc*<plC94MLV{llEG6P>zShDuMeuq>!Eh1I=065X zg5M|ww%KLt;Xp``&kog>Y|gh7m?Frm0Hvs@VcDh25lVHW#j;9}gBV*_#u2|)>iz?Y zWAtqSb)$lR7f>9ZUkE6U#2*C|qhGZMG#Ka01B!!XwYjRnVR1!3(eob<sM{61FQDl5 z{mq#TbwHoX^A*n}7pB$I6m^qcfuf&S)_|f@2F#Eu&8-I%&1IQDN1Drm0F(-{i~lE) zq^X>W5xqy<28!dlS1XQ#8NuTSroKQ?<#iz}46&I2W-OW<#^^~i&Ng!zG=l>MR16h! zRWwt@G8bLW6^ry9j3@XxLrv3+mz(5i`gTJ=(YKVGS<cB?4*zK%6;Nt1`gAYKFFni| z5GaBiIMHOtI7roLS!tx-(Vu?iTn7|Ej-&s<X^)Zg>d<eT>mZvT=ecOwW7vIvI+>AI z;xvid>Rr32@2y=Fska;SHeHK^V(yk|5*_$|uK<;_cHkUInx15ejgh>kHOz?eC?&3B zAyY)iXd<I0IKsT5E5pek30WK>!Nu_rTw)Vv9^BA!8Iwe94inmml?2TSMQDnnmum-5 z5oBz2>Z1d;SZ$h$YZE%t{7{<uEH>yAt}xJ-AbsRl225tIFhEF<s|%g)+2jfXlmxlF z@GRNl3Il`$SuAxHXOkfUC8q)|I)Ea`X;1ZGlZy^e66Dn9^<j&P4iFM#ur&y5a?t@w zf~>5nd6W(4DF0(plx9#S#ZB4+Rh~f{(CV9+_2w7)I~#T-Yv!9|F?loL1jmeHdI>Jh zEy2afB{(X^ktH}L60=5d%o&DFaEu%MB)Hf~z3si1`t~ZlV)sRGXvp8f^9_Q_6y-}X zTc-v>g0D7Ii{SCgj2*${hDzSx@wEJ#YT2ZgCzzyZg4D|=9$Qomvob-dhCK;Ess<{8 zLCfT*kopxxs$q>9Qktk!>#{|GI0hg{fu4}9AbyrJXi+3pp-vTEVosVOxJ*$Z3}1z4 zi`rq#5u|oF!XQZ1Kt(WUSr1O}kPfhnhH~VzWvQpSR<DS~bqanUpkigDXDm8*faPTO zJj0H?B)#Y+>VkQV;5O5tMeqhgH3)voP%V10WiD^zl)pr8(+G?^f^=ohp2Ge2QWf_c zld+y+rvfS!vEFx&|4t<A+GH23Xs7Iw6&4wvr3}y2D{3o2s*FR@+qTA195R;UkmOvx zo~PWqK}yUpQ`AE?vOhyD{wDlS#<Na+-f5n#6Z|Vh4Hg${?LMT9dCR<#7%v_Of02ll zcPr=5=vAar1h4%gFT5!AE>o!bB?Z41P(M_VYQYr?RI|fP!|L-DWbS1g28q!7DrNUC zCZR@<!krh`_(q@;oumK2@E1z(TvMh-kV=7JrOQUp@NvpuS=9Z<`PTD}_g9QEg7+G# zL+}eP_EgBYTeq_DMMa`3!Syd8w+_LMqNJL(x@>(|v5p}dC%?@1_M~i`tyoO91g}+; z>&?dZUS96a*1szjN)lYSv`pyXUHMCwJ;(ghBuGDDZX`%ALC2fSW%roNngrLG%ccp^ zN#ciQ&Sf`k&AF`EO<gvfaoJ5<b1rLkQ<pV!F59*9Y&z?3b5@NYJ%c%t;5W=KHG&i7 zmnni}ztqexla?P-1nCEHV9mTj`yiJf?ZZ-oAhQEhvn2)XJKF546Qofhz20T(ZZok? zkXm>`wx|fIBth!r3Hzz_52^|!;{1RfJJEd9W<pRLsA4fd<z;+7k<g$7CL|UJl)x+l zD$lMceyR+AVP32f3|361GAykxG{dHIGJd0c=a}=W1ot!4MBH=0)pd_02a?MKMEJeR zVzAh}wadmo8s8Q{nle~y*lKC}E~|j(9J|bMjMeh(XDfd)MVin*WC>KvFgNA)@F&|- zO#M2+*BPq%CIvqbP!xW-jn_KCD-Bh>TEU=VHB~WlxC$LHBW}>%WQ<}?@XaQpMv$`H ztjk6aoSP&eW0{(Cg_%|(NUPnf%f|LV*W<{Z#=e?=oLWn>?4_3S9fp##XlX)SYUXuV z)abX&%XL9E1z%)Rsst$*FFO^K{8AHBB}mCamWob7C88IpFiOIbiC|f1(6SeLmUchd zbe<r%#!xkaZABp{Te@se4C;9=Z{La~$Y7?3&~=s_H~n>=1%HCzZwyr@IAC6F5u{f! z9#f|#t75M;g>q&TtqBKy&6HodDMw}dM^$R2RnE@OxN=(R1?DpgeM9d9t#_Ru8A`&C z<L{NT;0Vt#DT%!h(Ie&hmwJW7;`g55VTwU=#ZrKZg-B1|FZ}ffs1=8xH_DQ}r;;Al zD~2P%{nTt%37)2n=b0~R)aci?>a6XGM%3*?D)E~pdE!S3?qfnG=<wx+s#7k7Wy-ym z@h<HXX8#Un{~w#q9fpYOj(kEmj%0YR^{x}73<-WJq@D`N<wK8<`6@)B`dWo41;I~+ zRAV9ee5l~RqM#{dDQ{OPpE2`V1ixjd+O9~EpO5}a?ecNGF2pbH?)e!0d-_p_ZYmDG zQ_<hB+ZU8?GfTqtjk<~Zm|o$7a5D$-UmM?al)sDACV0WIM70TCq9|E*wz_OBHeqdo zFEmt(;FzL(U$)j8VV@OdP&!q$NmV~)+D{XFQb}C1%NF&+wu~V4!(kf1QB!J~V5^56 zTS5Ejpr?nVa=Fr_H)8E2@2LKJO#LZ>G(*S;f8l7)3(C{=S6PgvQxm6R6NOo<dM^Ln zJ9Lmm{jM_o8gEgMI$<fF3U0(gvJ3tL)uq%jo2%Z1?^UU<HxEo*so+NQz!aTAg|J~u z(=5A(`-<}apz&{z*&B_2LnE17{#|?jP_HnA;5pWNJsAe=)>AvWEA!%}2>Y?}{dM3^ zaG@z&kJTEmek96=n*Vb9?#Flzc`DQ@{I{>tJm1W!6P!@gK(T4R-@nMSnyV2O9N}Po zMq@wOQ_77cjc$FRXW2H%)mRGL9t+9YQl9K{k{(h?ztbyzx`W`MD%?%>&(_9EO`{q$ zDy)9gc10s^Sy6mKB|c!1*Zoq#gG|UeI=o@1I^|MWcCyEhL1>S!=vBPK)MF*fc?|j? z`ajTK-_qcsUK0GFqVQVxerZl8i%uzxf!~v?^WyH63O`^nsxiNuf^)DXl=+$}mRa7S ztnN0JlLUj5`mRWk`T7IO<#T#nSiHt2<V%W!?@{#k?e>M`+YIy{bG`Rq-)re1{)&m3 z;Hl3hszGp*qWomb)}IGLg6}X?hu~lK^kr-J=a>+J`x>f6@MJ?Z2p;iVcAO@-;(0`^ zC-~&&6E#inBtta_-o2Pq9fIFA)HJ~#8frbk=PY5zX@WzB>JV%hYCXXl4b>oci=n0o zo?w+ZGf6Dch%sE5c}`MGmkX}W%AbK^QUk%Or2aeg-M|m(6>EWKtIt=M@2dnE15gp9 zcX0~6V}^~Vo2#ekSGvj3#SU`F*Qy`r7YHFpzc{+x)j50VH8+AQZk~64e4q-Nz^nA4 z4R@QRmOrlzDfJ)vuH-^9szH$UVxpy;Od6neYTo=d<j?MEBfSBtYa+9A=7<g6q@hd< z-w?$RUb<n1BPiIrq<dZ@$`Srfk+Zq8sL)bIcA!|&RnOXG&>#=&d8of0qu0S=x5v6{ zoUBMh`3wcO1{A?J8>+^lGh-EInziJmhkHTbb+`J0H3g{K)WDzX6{twj!fD>Ky!Jnz zFslV?R5#4tTf1yj4SC_#E*rttdTgufJd3rgtB#KL{)4)}A=#i41`9~08~$D0;gD<u z-_&E@IJ%s7Tp6(&v0o%-8CZG(sh!%tp7w9Cz^+fNU(Z-yX0cvR+i9i@xg^%>Y0pnA z*6U4a1^hUY#sFUAqb2j7<!@t+PvLYuP^s{#RQMEyheVq?NNW_Y;;7>k$0FZnz+(Zz z3cuFo=qZA2MGY2PwszULEzqg4Jr}ZT7}@ki3ce+vdb*&2@2T+$^36&>f8hxZ3kGci z>M%8pCgz{>IEK{qUXxrU7-USPGNw`)$rh|qWctN+Rf=8UG$_5~N7H0EX#Y_`rhGpA zYa9t223STDoDOB8(&d=oK)~5D!8aQn9>=GNSz}_d2%sy$Fi`4gt|kLNyTmVwv}cuB zezy&=syW7h|E&WzD6!7&DIk+G$?jBgaU|gvTT!2gyGm5zuK0cXgRE~5+lu>2n<AcU zBC3Zg7<wjFiNY+Q4{7Ncz<Ql<D62`$8L*ClDB)kJ+^a7ArnxprZI_TpMkdDfmLM0+ zblLc-BC#?g_(P-HQ0cPq%Rm>qX`pyWZ<Z=!Oawh-Sh&^YQ?!6`afu@u`jTr*pt#Ir zUIE3GF_(Wpak<A-1Bx}3i$9>Ah&J<zpTGQWbcj_VKGuu)SUKWj4T+D{BtE07_nUg} z@W^{I5U4AccY-4vTsj@AE@V`j3qHXS4t}=n2K_8#u?2#QwMV-Y`Qudgm)aCsB^Z)n ziq-_pr((@9(NgiC<W%fxP{ld|)mKHj853Dm6?{WblweS_ohsT+6>U?|Gi<0<2?pKU zsqR(k&Sf{INCS2D#IUU>7}C8RTR5i&!36qOwN1iC_{)mht=Ld3IPTB|#~s!s>M4hL zF7od|>aEx^;S}3ZP84ciVnGyV;m6OR5mj+4goa=U&H6Mn>(kKKRy)LDeXKtgkBmd` za8k8{gCAD4hHO1*`OFcC987hYVoq@Im6DfE$|tYMrs(@LQkbX-QX6dJZknNQsE<R& z8aZUFlS9%SL94o{&;wAPJxre#LFy$8x26oUQ?chwrnCryBDM#p*czZ>TYyRhCqpL~ z6boj(j-?YHt3Z6L2l25o#0L#LB>(o6|F5kJkxjb7z>`semnaG+uUorpFy5exl>;i) zEAyPytti|aPG`JUL+keIH)-QN7VjFt_ZzD92?dz~Sck@@J8p^H4ne`om5bDilNH`% zLOL<WTv?ghW63W{443HGeYuU{q!#BG&Vz>3ugq>&l$jryOFs9P)FS*-v$IN&;_!n5 z1j7KCj#CuJ8fgMdrwK5<E1ECp(VTiSF~m>IixBZ9K`Mzla6_&x-7pg?>L_DX9dcKc z^)unGv_?OwS9g@b#?#Ha6ER14x5rr5c!|<8BeO(I&9YlkR)YC~vSS#<frRNT%=!%J zim)$<`MEM7#iD0JS`-_!%Vz63LGZPPYQ0IpcLo%}4;!jR@D4-O3Erb9=Ug`KGrAhV z`wdkm_>gtQJBn=l%8=OKGAlk}bq*(4Y=j*{E%u4un$wVPndlZ7e%fkjiy+x$54`Y( zyfUGFPbw}LSg`2O1&a<FIq>r0;ABNCDzMKVOo948s9;LV?6T+Lt2y?Zr{t0zao1dJ zq9aDM-<V!^$3k!Wf(;9{<A208!@aX`Z-d+;ZbI+jA86Ej_3f4I^ND_?-kx7<-`m}w zTwdi!%?Cj+JaOh#H0MeCLwc5uv3=W2MGw?@wu}+LQ*@q>JG#u%g4<?t$L5*G1-H#m zNnW977&`&d+t=u$fEU<PrUt>c7^*|?dPNNsTNe?o*pq_>K|Yki>`U;TKt=Fa^$ixM z1dmq~eidvH;lDDn2ElI|YCS<dp};<wU~scNtl;AaP{mFLDt2dP&n-W;$k@_#n25-i zVay!4`-C}N-5vTi*!LjYSv3d-cFEz1f71VcW%qe|pfgQ}*UaJeNGd$4NgfFFW7kgE zwVAVlU9#XDsQ6RoSigbdm@akYb)a}*H<luFu^7QIr^EF>)$*U~6+b%{ZU(3l)8Xkm zyUf$1#@M?l89iW8`JM8fYXhQ6kbSWZ55hde1#VF+)P8%LAUr@}gQE>ANP_eRvWPzZ z!D7!8s5EiYXvVq}WPO~f@U&uL`+}+MbGFZ!Sv>Ee;^0H}-oD@zX_A1W8#U0;?RSUv zyi>1pg~Rs!+5C>8pJa?TgXQ)G#6P6>_vyLsMDo@lnz4O#BLV%hj|9xCx97FD%!vAQ z&Key|IbL-kBmsB-3#r$h?sn|JO0h-_pkp${K^|Gs(IiK4`-AqR+CatZeQ`+pT19<{ zjphcyz%D5cl}b}(o}|}|OzeXaG8tp+!YgK}Slvo-j`BU<_$RyFN`*vkGNRnERk1;D zzs|_21lcn?G%E#@iyq#W>i`6}iAjHdiFB-dQCy_Xyi~9KYDP?ln!zqtYuBt|kXYgK z^s6jzRf6oBiHWZn@6tY;C}lxGm=EVMwem4LCy>luH?^I7cBqV}6_Z*BF7GV_B;Yh` zh2V6Ze9zMBT;Z^Ne>N{y^plM7rLGVV|7N|vPtSc<2zcwWO43(15^(ZIA-L5F!5yv; z&^dFh5TtfCB|S($FD|5Bd%D}P2P?$`>Nz?lQwRnsk0{ZAnvz)%ATbj%8Gr1;Yi9gO zp<y7Y4kX;D!swQaP+w@$zP7Zw&lGMD4D2$6U@xWL*ZO4&0g0Y(MA<^HpWZ&)$f^X{ z6XWgHWR8}lIMeHT?VBwHyh%sxSE?5qkfr?!hCedm^KriCh4IF>L->9ba)BV1FQDQw zj+0Y%pw87yi>1Kg+h!=|`MQG`D30zDra)}j2~xJ}8%uY{IIX4aix1^rrN>4fzhUND zZ3NS&DSqV(JTD|0!IJnJW@7QVq*QG(qHmfxO!+^@<WvbZ47HA6NpyBC2T2ENuY;|3 zm0-<KZGvQ+FV^l9lNyp#$~EEZjpH=Iw<~I}xV+MRpEjs>&O1)XpzhqrnAftf%as}a z5w5M+ykB16&k<c>DIa;#(ADIbdKD&wU$3|Y_{IeN7a!3j=2pFfHzx@OwKHc*64fhJ zB?_NgY(Jp7ea<z?>TmU`=$NgdH9hQ7Dd@I6Or>N=l@bjWGjoz1#6X2S=oFAG*fp{} z6EdoJ@*)qt;UIs7%LrbfDF0?DTQ?tUgarRqQJ&D>PXDHonmI|$ZYrsnlho{M6J=B4 zMP^%#;H4$oYF)No8wd$fMVt>&ueX{9Y6Ra=@<6T2)?Woef;1#^+!Sm5!9^YeQi9Y# z99=g*z0<U=6D&t0|I@iwD)--+l-73T^K?@?nIOGJ7%bZB*VcQ2AQ{fbb4zG>aF=YK zYHTM6Qj*b<fBAa-6OdKzSB7s?9&{xBAv%Kh=q)T>2!35r_-1=cmkrvLTjW4gEI|qt zMTD*=fin9aopiIsa+2WZ4OJ)juZB8_AYIufvB>`x?J4RJ4qcNsfkano&!L0uKS7Qg z$;b3JpZ!`SFj!z(uOqm|P*s9$MLFlQK|vYkixjH3d&xS&p=)2~(*cKDhE5V3HdLM9 zxS>uW_zpv5AI*~gkxC}cCmgzFo!^@*i~iKNU!zwPYl3fjhQEb%9l^I5szvYyMfpn2 z*6z==z6AF(REywe4b>p{IYYGwPA@WE9+>TKYEP5)yzT(s5sSLdY-Qs$2YRHa-|VvW zd&N3ZHmEgr!UV5YZ5<sOG{v)Ii`JkwK^o?I&t_ElUTR=1W8kf3;P2FGKcE<&_m`qp z>;8kb_AWW2);&{Obc*M|7QF)HZ{5lU{el5akX~_gUG>+8^y*orE~;f*bnDi#8)7(h zOPy|^aw4qWWsCZux)G!vo{%l70z!feoF|M`$+fG=Fq@!y%tUOA2y$#;waS3e?LZNv zCFn>C=xm?}zC&G&jszKn-KECLgu3K_E^)LP<gvBcof{toU9ASbMX$RRSm`eA;*enh zQRiqT?pEOJ)!&LuDcy=qD&2||E8U8H&qqE~k2;{H#j=5lWdaq;0xFT=5fy)-BwC$u z#7E3W<_Mx*q(0h{K62+U#8Uf(rMr{c=fswj{1IDJx)obix)oc9wp!O!)!V8kW>11t zZm`&RM-i(8x>yyUVihuTv8eJz6-qah!ZNl<2t>UkEP_sZ+N=_KW|pKo5{Vfi5rCJ3 zl{EarqU#7QG$+*vK2=fpm}5(qjbK;uv^yt3=6Z?<T_>G3nLl*$*R2qoMDSOJsuL_0 zc@`M|1cRrtOA+$_wlWj-2(L13ebl=`=a^8-a)Xc>OdGpwwDC`1CG4!YvmT<1r|dF@ zU6-=*o=N}Sq@*9#D?a)qc#olK1i!8*mjY}A`?Dz!OAsGZ#IH?6@~v!8m4okD7V&ii zhYeLDSTocF!Qj4H>b|VbMM0s@DP;!Xz^|3^O9tD3S;8rj%Nh)PPLW*G02ME2fQnZ$ zKyl9FY6K{gqrhx}+o|AoD!82rZl{8i2dG7Hy_Sk#X@<zF$$tU;{Z??A1n)6amEhME z<@chAlxpk)X~z;I0V(1)CL)PjnN{koI=%G`+g8*Fe&0|nf?S<qahdwGMxWknx!Wfz ziz3!UjG-z)NHZ1Eq>%TSkj$84!1&KsN-2&0vwf_(Zk}1&B)G;<Rf26r`F*T5f|Mk1 zZXc@>7AU#cO88<EF>ByBuIM88pI$n|YEO;ek%np!q$AOh!=8==ilgtd=F`4`i!~8r zs7eshq>#56$7U=<dPXtnX)e|$r&sC~+hT%u8mdk3i;9x{Kv14h^)xJ4gy;Ef4_ zZ!pxXK}Z#9QlZ;T&NM-)APO}z3N=%Orc;G7xlJdf>eQ%CS#~WWyB5n9C2QSOeBU&n z5=B8ZR+|gz1kW^7gW#(b<+p8YQEya#f@KrxX2MsDW1S#PL0^Kj!wX?6L^+vaf;GV& zDuU8MkfFsF1O&@!PMDfh1bqoo3-l!z6iSMdtfpnTFLU3;YBRNfq3=}GO?sV&@YV4z zgnm@p)Q<R!ud15!r|6ZWsd9<8L^1h)QT%zN+T3Defd@9XMrvSB5o@578&x``f|4M; zqm)iw{?Gm%y-u$<-68nNKk>H^2ZCQTRFmLtx_tl@!Dkq1mH}wmsNiFbb&cSQ73Iel zTPp(LsDft(6gB<$)2V!o;HMPj*|GK8KuC~wNR1^NZ0bL%)sp9$E9(TQl^;`Vea_Ub z6QmeVXg(?dw=4J01t}+}3Cqot%yvLnP#yBXq(H&s0n|Op=0A<ytc5*gYSsj%bu#_B zF|8B)uA=74IJ^L_D--d<KueH18EwfkCGdE4PB66o-)AcPN0c$gNToQ5;8hloD#5oZ z%B^?U2s%}%6RqlVe2|Kj%%t4FubuMiyW%biM*eG-h3g3Z+)zz|e=t;oV2Ey$(WL^Y zBBf}QKnneqvJ*oH2Yx4|{7xz{aiA1;`Nzgs7FL>qEtUn2GvqW!I~fBNk9MGTUB*Nz zV<MF?k;<5OJQ=f>w^T+gmXTW-#?A^t>NMn3^Its`Qr{IJMKP&7O7%E3cc5U#h7#6d z>_Z951S8k8miFvZpec>B3s&v~nL~bN*oBhM?ayFAuJ_sKKZ)Q%^JtaeQx)Y30vnW$ z(VvRW?uk;d5_HN9{Ms?UTyBI2(fMtwyXy#UG*pw|jG@{DnK&5!ENM)fz7-)BDk@TH z;CE8YFK@|5pXROkonA9zx+qejOtFfI^72F)DZgMcYXpC#DEu<qBEmtnK6x7AQ54(u z^R1io3VR5?*HBXgKd2~4<5rigyNs|!@QY9JY_Xgsc(0;-U$z!M)d&eLHB^h>2hH-S zvhq2Y2EEgiY7+cALroK;38GZf47$g(pC(9sJt13E8Lwp#JleEx5)9f;=QPgYXa!?| zQbJXKY*y3=e%$nJ5d2ih+qEuR{}c#m!h-=t6JBB_)CjJ$05k}`LQ&$8T9>WA2!sT0 zRFot*;oy>4b2N2BogSe(M10*Mcbhq<PLNi4LbezioOKhVPM$Cql@rugE6iu@+tpWh zn$OyCPrnxv?59;bjuH$uf@F;WLw%V1pdv_Vpjxk9-D(a`hDHz^L<c!-$_Y%{WO}AC zZ4*3SQS-5fln0_+A}$KF1gVqJ#xC*g)b{p&pQ*6kp?>E0fCmXKw9r)vK2=eE%G5^i zQ<XZ=s=jOJSga&G<pzF}DZk0Qe+0`Q4O@QI37%o78o~1oH9;^$x5nsF0Th+IU<!SO zvJ*oH2Y#)TUn}OvWno%?rdWVDB9YT9B4i8{i^$t8%aSzjFJn5DF`deoPGux@y1$GD zWt0kODx(q0$j$csg|sOoIIEosY43^<L<mp(zpH6J*Ak{daCb%FA@$ZS8$oVz+$38h zW_KuzQ_Pc47&C#(^=za)6PZ5ED2;O-PTmMI-~8lsqb3h4d?xX^-X18(wV^IT@gR7W zp{fMmswlq!*9N7dQlz4@>+MvmBnagOev>i3Tpoo%NaugU!dxf#D?`-?K4z#%f=n`a zjOC9>mT{sN919f{DK+qG#r$ToWaqw~^?o+Jw+Pk@)gXALq9pjOE?b)dVQ^3{l!|Gl zVy1Fpni(<8Ugn|o=o7MLI%~~^k8e#XW;SceVuCe6Ox7BTU}uRT{mriZ;u`nG7Zh>V z%tsaQBFYz|@;viGo8S^f4Hg$|?Xtm;Wj@1YSeEYNp_BBAVNY<gp&A6YD$1uATR+sm zq7ad7@0CKPjboGG>4s_%Bs&q(@4b6+JlVR}2$Bsp#ste8(^rS7>noMlImWX}aD$=R zH2QUhsuHA_jJqoZ`vsyt&Z0WK*Eg%UYxO#}n8q7)d$RcsMK2KadU>~wn6BR0L+^Ct z>pmhssW<lwH}T>bvG-^168oYjdksr{@k$!8?@8~1GqI0GchM1diCv)iM3vo5BF{>0 zqBD_~=*^N&;7jbkM0dSZV!xSVOeCX5#=dKBh<aOpr_Q4@F)0$fSgprYLhvR-RSD82 zP!YUTRRk}BRIKl`^aa&}fx#f9pUD=e*a>}ya>}lmvTLU7GIjJTs@Y<*JwxQ3x<g5S zq*pu>Be>9dR|!5<QGREmjUXjiiHM9?f|PHH2wju4T!=Znu+U;OLGT5JsuMikP%VNX z8uiqD^&qGWQRtJEooG!s@S95c^)ciMbr$&|4akN(fQko2-(*SIHB)xYlwBqdu2ao+ z>b38&=N(G$H6yGN{H~&0Ua%1uX7Yl}0#T>z{xZw~x!odLC-`ndwFm}p)>HHAWxj;T zKlJRRJ^N}WT=ssF=XHo)G1U`1)=*OfU!*8M)w8vFFV6#8RDxrQ@`P+1Ya_K!s(C*A zOWh7PMVbVUG*pWqwec$iwuVi&7C~y`3E4U$5EA@&$%tl`tpm-77QsUm<vFqytZmVv z$Gg&E+Jpj5L$;X3HG;>Q$_;`qE~#AWvPH`=CTZ@L(3ggN&QLXiU)bAgjE)5VSy5tZ zt;^OP=9C6Ox<Seh;oy>5KUbtKsM8yCg@~?q*%~#+)Cp3ICrl-ssg~06KBri>E9W~+ zLi+@@euX)v9kZ7+017C1`I+h=x+1p~@Q0LRDvshYtf(l(1NB|i;4#xA8B^sm&y;C9 zW!fgw9~#p(!JjJ1&M}Gjb)Y3kos2g2k#Da{3~m4SnF{MyDPs;4tPBWVWwERhe5<1T zu|=X&l{(R?KG~9rl@L>I2<Ez!-@3ei1j`_O$p&Yg;7<%yBlsIbO%e<#Q)6_gK;Pvd zg?>fZi6MjozloGz=6O3FBdbfpFq$HhFpQGqm0^_jY@|IKdFN5uvF4IKMUn%OMI+-C zIgFJ51`Bfiilxy6!G$KMO7N+Q@@r0QuqY#qQqff}DEt-CsaO{fRUz<O7xT;2n82FO zpRfU3C%D;AHG*3WwT>W*KRm{<!Q!8Bq8A(s6%{Ep@SBMF^|8c$85awgJ-vWa^@@cI z!DAQtTbRWN4k=1zh*p=a_XR?NpXecE>w!Q>@F7Dz?rfi`+N7#4GcMBvshp_VG*v$u z2nkX-Psr96jIc?ND&t8l!JvI+nce%3OQzb_s6D-lvkrn~?Q5p}t)^6)AoUgPYhAYf z*$8U{sWOBR4B98l3e17>Pl^<y{nO+1mNAW|sW@tnjG-o!1ymS9%quS=C&hddq_k5h zZAzh$7(WDq;AE+R)4!5wlptdz79lvwAj904>c??OhU1b9$0f;Y@_3lgqveEpd!GEN z{GkVS*{1e5=ZuvHD%L%J8d|XDGc9eZUs8}(XJ+q#0rm@VPkfyc<@}eUN_|pf1SVNE zXx0R+GDJm%o}&>M)*N+p^F#6!PvVmHY^OaFPvm+I6dM=BT?H2p75@%3<-S#OK|Dz~ zSTPkd#Hu&uH_stbej690{A%R4+PspK3;(O!e&HN*g<r|^4l5aTf<I6cel&PX_lMe8 zXp-s#X&>ljtR99qCEI+_g}i?m#L|{odZHuV%&!!)DE-~C(v-q0UI(E-Dh*T|fwF|q zvzGQue9i62hg6A=>vezp(%A0!SE*losQldoc<|{09n>YoXN>YSeJDx6=sdkBQ(ic5 z-9X?<nmd(iL_1TajjfmES*-sa(Er$HjXRx9WisCbirCGVTctQn6Xv~^ILVMNin9`; z%(9V0Ta-9gtsuX&g1Tupug_2QiWL;WM|StOF!>Q2+{2^%3W}{)DHenTFYX~^YfzmH zLV|l3>Ty?4sj5w?`d_B%6hSKI7e;JdXsS*Tq;j5+tv489lOR<_MIsoqf7}&Rs(p>x z)4N#Q5Tw3-VZ_!3Q>smn`g%gP-eiO|f>aqo2nOwQ!<S#W(w>$3pXY<C_Xnd&HNT z{Ecan<TOfwlaZ5Rz6ny=sgyRQ&`7MH2nNB)T!tTqESW|L@()<XA_PYnWSIMhF8gs@ zoZ+}Q!!iBP5c6%1mj9uF;0lUuYLB&1tUOS$?tNBJ?D>5QY4vK28?DZ+px7_OJ@NIx zKunbLUydsENs;hEqWOXp{tgzgzzh+-|3dcBckCboTg`s5rR@|wz)_P~ko05MPT93n zc8SmO>||vX^AlXmFt-Ae6%#TF|Iy|{G}JOf5I)VqKYfOR!8OydY^;o8(LgyNr9b=^ zPg1!X7f@~x(xi|*%>T_)NK$M4ic>%8Q{k~dgpKmnnVmI)Co9VR1FAH>8|Vm9RrkXT zR5m0_jmm!1^sf>8j-t@@@-7<>2ReexGtkW>8!K5pQN67}y^JQM7<dqiLRq%qKZWQH z@<Z_?OPUK5!7m37ZRxT>cYtmd%fDQ<oDG_bt^^+mbTeIR*a9J$q`Wz)8BLlI)Z3LT zsuTyQ0%u!PlJZg%hb2Urg&2umti*j5ViFBqjBV3x)9rf2LX6-`Y;D#cIHV|<_HmS@ zt&;;G!Si|u*}5ta65MX6$6bg~)i0W=O@c2oE>i@loL^tD^{PNfkji;Nwl*4JlOR>b zkR}+kPl|*182{OtH`TsI?O$rL+61YuUth6B?_x1UkotN;wk|e~HG)(beF+BblN`r@ z9hB9|$NHzok1Y(1RKEr_p{&eoNEty29fHA0Fi2^qQreV4Bhisy5S&bOl^)Y5LB>if zLU5EphS@RYIR2x0gdF8?L<7Na0TuJh%wCc>>^W+otX`%dHOVZFDg*2nB&PN!L|K~> zs!R+AOwS-MDPEQ0r|Ov{W=uj<6u(S}G8K+Q3zSn<bMc@1?;2ePd|a=nZUpzW^lcN| zPf;?KT3xoz34{bMFjS^!{Z?iDm&r_QmFe)^{Z;#w^-Mx1R{dSnQ(Qo+Lf1s7bBO-g z+n;3>C+HP^A^258wF!R9P%VPrR+M)YTNeez3BJ)#iL1m5M<^dkFDbIcq-MQvRMb<v zKrW$c;)Q{NH{a8rznrwle<XRIkv3@RuM9Os@DGM+5PXJNpPVMjMk{63AhUz4XJUfa zP5ypVCEgw+v)|#NKfzH$O%bdaszH!}%j`Eq<&;^2%tFtM$~WpSTKqw;nc5{5T_Z_> z|F-KD`9SbpiW)37?~^Q0eJ}s_4sATBSMVVCGGp5&xLi>_li8{ULV~RxLbgsa!X&?) zc(?SW_(P1iLGXEosu4U=QSL(!Hcl|Q26Y?{D7AFf%i+Nt1TQgEo8aY&^6p^k%0Ni) zsvbhNwj1Fr?x6USjkrPZY(v!uzDiNf9c)}|bPeiwML;QJmyf8Y?$+yZep6bE=yknb z&(f=PRN(RY$MnzD0y3mm^1Y-F|4Wtb8oho{>F(M^`r96do_xQg{K@z0efU41biDpd z=@#|wb<ONO^gjK1wYG2Q!+(kLIa;sB>vgGKSLpRsdflMcx9F9>@53JvGDQ?1{WTH& z{o0P{zozx`0li+iz*F3>*O>keJ?FkpufNgj|7q`Pprfj;^(CSp3PkY-EowkSsxk&p z8|q&|0tCxXB!R+GdzsAKNk(Qe<IDsT>Q5evD%RRkwNJ#K7kr}l7Hag_QY){GzYE{9 zmP%XoX>Dw+TCEnfT7PPJd!O^|J9kdzbb>$aT5sj9HTmw@XYYOX*=L_~Z|<CZXE)H~ zpNj1hvI*%?ls^QT{KA(u_=aIyhsnPId_6$nJJ`a173kkMKx^s-4#ob|df?PCx?Z+^ z%3g1?{o&=BG9D;9$TvgJtH5`GrQ}QTFGD*iU>EeR1wI25J!X5Rd@26h(9SmCa_Dab zZa3OB+cV`$@qdhVMqpe7We=$MaTvzOY|kb?68cPj(K`+GqIaT2zwnPY_(xdyYr!Y+ zw%PETY0uN(e*-9XNIaVS5}%i%eZk8t_SpDWTlhuKcTm3xcsKBI;8Q@;KH<9`^@66H zZGPG0w^`ad`(SN>2dqFI<`kf5pYZj7f5#!3<8`3PFZ2&k|2N^Y=nsQlhF7VK1=a!U z@xqb5ak{0-BQ%~1G~3?@{vP0Zyq4@$pviw8=)(6t%9UtuEwFol?MERW1IB>~U<#N4 zmP7A2Lw~)cf1gypv}5*v4ea<9Q2KA<7k^v}d&N%Mc$j|dg`AA1X^)Ki^b+HKMujP< z%a<c=<aI+2qWmb(lsXSD=P5^f--h3B18%~LK_?%jCCe%_jsxma{%;5LT?Fg`UJlH2 z>a%M=Uk|(i_!{sXpxC#k_K18L`e&kPkLbT2{g(cYt}r=u`2+Bcgnxw3<{ugNqv78e zFbgzWc@^>UN8q0fH2LRMXi6h+8F1@(O@9LTBv4cHe_sLpP2fAgF-L2jiNHy~8NeoB zUXwm+20aQ)0JFf0f#*!r{L6vo1G|8?A7g6P<)1?Sb)d)#no=X6??_+|uor0Ze+2q0 zwBG@|#$u1~EjIXWvhZ&M{bAsfz<W>7mOKKSF~hV>mv`Ym#-U%-<+W2Zt_PY@M;)&z z#{y3Ro(7x+Tn5YmzYcsSq~-TNQR8Ufa^Tm2hg9nN9l$fE>T)fx0r*v5^E6%G0_+B+ zPuBG5U(#s){j~j&pJlrjcE9~8?fty%D}%pE`Li1SI~!>8uW9cl_`&qcNchF%@4@(d z?G#;;1=_~T<X;W`UjUykA)hqjQsVr6#Cs{fn0_$((=}aF9syRNe@lTTzwqq<|5Ly| z;58>{i93LzN8-A#O4ok`wCUe&=(`U3ME)g<{Eskib{Keqg?~TL#~EnjUk5(1V>H&O zv6l7f=X=PH<;JOpV_JdV2JQk@4bdmvz+J#<Jg->_>;SF>mhYwI&ILl954Lu<fMYw* zwBsVQFHdbvyDAO4#J=-Dj{@Vs6+oNa6NdUG7o5nepymC}&wx+fm0Z9~1$jU7mEijh z(0qTiyf<3(nJ<U7>6dRc<g13a@mxtB?$5?!cX@Jd+9%&_d{TLl`v%&*0w~{SnC%I@ z2Yh`%({A}X!;}~PHy|hd9E*OM{O0!-@}-68moAHZCFrLceoR>S<-0b)TfisZmW76E z3#S52d*vIqf%40@<~yP9Y2b6f7l86bvH6{C8eeX%1Df{S4|&<CQHo!-Q_AKf*`OjD z=(_gPEo=sw?fn{dya+7CZ?-cWdS%Cwv@;x=Y|Qp1W7AI@Xl|?-sJv{iia?KSIoeZw zlF)Mz?EM#@?An(t>ykVn&xc<fY4%K)=R^K%U@87m?bf3m*`RN>+KqOe1wIda4QOtl zAE^BA1}HDP*3I@MCBSU2Zj`1-BC()67Z0OeayENMYko=CH1&y`peb+ii(Wy=#FX?$ zX-7~J4JE12%qX0EfNnw3KF#(_{r_zKQvEUQmlSjv2gyH|ewh4S@Q1twNYM8D^C#ec z7%1<6sXP#x$7oCgcL4i<X8X?P%rD<Ztbu*<8WMSn$6p3$x6L2syGTrZW`A!&d$#sX zew!a{_UtLY`3kc1LD~X&b(v|;eW;iBxC+XPOn-)Yc^zWaAzFjH(a_W<a)PG3jo;*x zR~E{90v|nCOPX(u6g%V%eeyOw^HqG;;W@e4zVu7bY*+LPmTIRP?Z|r>&Gt<F|7`wJ z{W0yY7^^80f$~EZf+v73KPGV|%JMvUJD$hN8|Y2_A}46d+xSgBdBwcE*Ii!T-+=b- zG3<~xs>|Ec%~z+F<N3bXzVu7bY*+dzIM8<FH%-j;O#NclKa0Oqe@y$A!jJNceqDI} z?cn+MSl~L~cHnsxrY2n$eeye`pH|=Hu<uHs{IKh1rT-D=mG5<=f7R&U9AE=b_cH(Y z^X3=-?ZUXo?@ZdpN9+__3cGFNB|orf)1U9DK9k?T94NmTKVp|)Df>RHyu`Kq9AG!T zmysW_>qS|9z%C6xi{HBu@Ba>zA2yWV9^3-D{Ip#^fBipiPy8xBfLO|}vX1PjUwh$a z)4yF6nz9DC7Wg4>{diq}_ympSU*TJ2@NKa0pDN!=9ji5U0M`OH1Iv%o^<#jC<H4tV ze^NPB*VhA2pJrO7%hKL3e2-*nuX?iPfBcIYrTrg5|J%UPXlFcd642IuHTruNZ~?Fp zxDt3Z(Co!+pzl9X*Vx*xvh-i%<oms2p=TZN)B3}-SM*mw|9oHrP{wzl{w}5e9>mL! zfe!&ie<^tf<GvSgf1pkNV8qcfqn#TNH$6a!qs54u)xga_Gp<Hh#_x}4uf}Na5=(m$ zryrsnv;Xfx->H*y%^AQNU@3W<Tn_SPdqV#@>brs4Ec`n`e;W8Z-~{x45^$>Fk0ls4 zv;8#aIg7tc{;R;h4tN7FF+lm>g8voZ>%cdG?*K*Le?spAz#ju8eoXtSQC|;i0JZ>4 z{yMCm4Zud=fhE>ciQ9EX+?x7D-|z8#;|IVY1JvI=K>f>Mw_rQUtAOi(<<KYB2h-kL zz;`=vi-F%q`B7l~30lM1K)L?(S-$^$339Ih-vsW1?`chYguXB8M*_zJD}iE%w7U!K z%k@vj%hWIO--Djp4Sjnm|FI!&Yp)7?vVUSe%BAE*?sV{18+w{hJ_l&F?}FY8Tmk&1 zh5vETp9Ve;6gy4*5yU|ZxDxnnpvf=v^{BrQcnfe7Q09+=_?0-e>04*fw;A-ifjfXR zFfSJZ|55GTY_?}~Nc=O<{=9|$ya#+AScY~C^^Wxa8Sp(1d<j^}KH+->{G-uM$kJXb z=obPn21+}oeRAKs0oSuq_qnCykHoq=0T?Q=4%_ry1$$mM<V*2S!hRW9Cr$ntsQ;d^ zucj3LQt<Zx{{-9(+|RNeOM9mLPRI!kRG-N=5$&D@TnKEm*s}@udG`W)f#02OdP<k2 zUiRU91AJ>O{QnC224FXE1@;krgncigs*1OF2l&gepJohj>8F%mV#x1}_J;unYR~bo zrxw@*>;~QnycGMBwgO)Q{uwwP_Jn|q7W+&uU25>ngZ+ywXv(jFd>`<4z?U&DroMs7 zzXbUOh8?Bk%ONK?0p+g&*BW>w${T@q0v`tc6!;?0Y=8e5no<rN16&1s?8~~o`c#d} z&(IhL>Qesi=gt2k!>;A9>kgpUwHo$a4!qK0?+%N;8$Y4GzkJ5}9QgkZp!D~X+V>#( zRS$o>cBUS?q1E{@44&EeKZ4xHCFGw)dwsxHfZeC*R&E7$oUY4v1D^%H0z3fr9to@k zzJ>P1o}le~ek1sP1HRt^&3=!pHYIhrl>9!Bv&r9w_8$N~1RMrCOgs$q#lY1Du0i=4 z;6~sNfR6y52AcgfdszkhPXnF-Jg!D_)&my<yMWa*b-np_jv-%)Ke>neH|-(+zk&Z& z;2pp_fmf91&wh?R4g?+s`~pyJE7B-;8Mp@J%YY{Q4+u{Ip9MY#+yy*kh(4(|a30DF zfM6dWu+UKFt=%U3{zNEqhC9yE!kST_R~q#3pr;KwUv!4hmW_%NwRvJ>t)h=|-akYr zM4;n*`f$5FhMtu~AL5L3b{YKNBYH9WZ-Jg(=sAMQe0-litiR8oKMuOHjJfEYXBwPe z6Ec4}=m&xR7U-1*eQ)Xx^EZG#4*Z9Ko(BCW&_kfFGx%qM-UGTkOyc(jDEmPlv6ohK zF42cL2RdEH(g_{1n>VKDW1PwGKaHq5+CZ-aeJJQ1L}&fG&eeqbKwk@b&v}~AFihh{ z&>c^ge_5vSUeNnmbontf@Q~<9X!_}}|G$aO_V?l43RSw=*$Mt#DNPu)ug2Fwr?;f4 z<2owy@jmF?t8_UB`Y^JK`&Ds~rq6+$hk~BIMANSrqw#2>4{=5~Ti(!R@lQz64|FOf zYQ?R(+Bp^UUeK#SpAC99=oO&P1Kl|WdSK_dpm$9I0l>Sgi^X}C=-jXJtF>aDpM2a5 zdIjiE<NU;;=P~eiU906~xAx1R_pI0SB~bJ}(T6yror*&>0S{4~-HJZO=`iALG>tR+ zv-cgXXRQWj9Oylu^SZ;wu|zM{Uv8}!J*4#P@BFz;daBf@KgIY@Q~YC`<%XS&L@#sp zb+$c|m*=x(;IB9Mv!GWQ^otdJwBx`(qV1dDPaFK3KyNVUkAq%q&|gsW2~O(~h5da6 z{H+FmnF`?jocceDB^nPVI?p><pQU!Zq95SAdQ_qQFDd#MXQ`ooDbYC&D-mzAC=U4W z6n!7ZY0zc)yMpNDQV3ud(GLui<@7p5AMWh<m8M{tI=5Q%+-=eGgoXb_3;){|{tqnt z`|i#54|lq@XgiOf@!;bGMc3!Szcm*6LZVj$8F9XX=*9fjVbOEBg@3(;|4s}44;4RM zJ?_wk@O<Ormli$0x9FKd>-Pb)ZuE}RakW{iasCSZyD+}gk~;WhSH=1}&O$%lLa(>b z&m(%VcspOwDV{NoUx7WBgYF>CWxcxIqGt=yi`oAZ3;pNNU%o*%m_)n3w&?%JLLWib zXO6>lzt9S%V?J`W2GjeV&~%wcHAF9FC%;*$n17-c`X$i6?iQ_o65?c?MgK<d_iobs zx53V>7X1%f=)bV&e+l|~u%63!y=mcp&!T@{3dmx9ILbml*+QRVp)aw}Gm1|4lUuca zl5|Po;}Q%1Rp57is`(l<ICoh1IUA)|zqVWGzao0EIC)9&4|kTM-6`ZpK0dPW^D6+0 zwR<?xi|IcO>&9|iPwQ#D;A6T)&m0SVnWEFY!2IgO<t=96&spe~S?JeW=v#<htY6zK z{5vi5mo0kUwb1t(QQXhtE%XyD^jbw9?({yU{eC2^JA5=+_#+njDxy~?$-+NZSok+u z==WLZk10A`e=*-DqnTfVUVft{ya@UqK(Dx26C{iAuR?!X)2{*lFnSzNEN%}Wda?06 zM)A`mxJfG*gLs>6(Q~#%k87c~S?CvA=+_awnEm%y=#N<RJZ0hky@md^Mb8LYkc;{4 zFbn-SqVx63!MGfXaXC}bQ3$}<7JAe|UrF?0_FQk_zf;jE-msofQ62odB5Y?b?5qHN zJJE~je^T*-DFA&I{@0<u`)<vAI@ZH|M;0I7Ns3PEUbp6d4srNp3qSw#jk-^O{Wrj- zWfuMmh+eE;ms;r8TJ&tT@Nc!yw_E6a7Wx|&dKvxWTx?z(ZlRw*^kV(3vC!)+^r(g2 zPV@@+JP6+*I*&``R!x=rx6O(k<kaWe!Jpo&%WJ^$8=@Dp|1ZLi`!~@)itam#`R7QY z7t=GvLgy^J3H{A<7F+alcAAPqJcyF#HmfcC*AV@HBKmJrboxK{iwJyNzj`cs9<k7$ zBYLs^I+08+n`@87LJ=qGWxSSnHs@vBT+)psQf*$=aouRjZAqk>!wEN<OJ%ZdxV^)P zq>|}`m-C{b%HkYuEZ!D(!<kID)AibNnNBB`2`4=_+MY~yl1QNB5@)V})r}{^E%CON zSdOfUrP^|Ci<b-Mav3+9>r8lsq*yo^PmuZ`TT7xd-I^_=b-L-amn@`p6rr_x@s`$H zAz#$XMyMBs#BhKX^}>lnD&l0lTzlG0rlRd+=4>{psWa_4iFk7+Og?B0uk_qZ_yU+g z+$+PGHu8(poN8~2QkUK4REHaGi_$03O5XOH1Y-dq+(83GuHn8rD=tjX*wJ|8ypEik z2zRF1$$hD|Y%ZNirHL*c%EnjaU6}CNT5_$rPMf2YD&CCOMj_$UHh#6Kwmvj%#&kz_ z%#C`n&{W5bwYNobacaTICQ`Y)Wu%8<2<4=gYfVL|kcl_Pqj4Tkea2(zro$Q6OE!B^ z)%S$A(o1Arufyf|3X{JBtmMJS3KGeYL$kubz9f~(r!Eh{g<jNc$%NCb9tE3nD*Ij6 zlU;5$9gdKjom{vjOMPf>i$_vXPjw|rK1zq<8PX7G4U_%o_|&OWo%zJX?YOfS)y$ve z&RS6Cx`ozJ-?VAu7YgXY%An~^nu1^Xf@e-P<+jprb5NtNVp1-p&F~7{VDXqQzLGpo zV?vWEmU7&>WeaNN&#m=qRma$gDHrXK5pxzSc4yV2YxQ-Dh}1N{7M*nG%v(6KW}drn z_Uy)4O>R@o%z3j4yI#y9Cy@$A^Zn!*?lg2RhPP*DQpwq=Op-=;c9T1Y>}ibAR9V0a zL@iB(oWtYlqAMggk0RS$;9cmnHjCYQ$W#zfIELF3+(2DCLb|-%+?<ze%w>3>V;Rq@ zo-=Rm%vyI^Xj<rGCz?p5y*AdQf}EyyE|coiEpmjg0LPfCyO5wjq3~&I@mQppR!UkP zRU}0+@wDo|JnripUUD3FZqt049<q*-8+jFN3OCaLH+0S>l~@tb@2_~7Hny^%lOl}P zj5;so&Shui+u~`0SxQ`9(w$8P7BM##j_}&ThLUpXeQE_+T1U;3_Jz&od*m8&bqy_} za81z3w6ZF9xec9e9Tu~O&RLm^yC6l4rg#$hYHDew&Bo++8)-Rdq9$Z;YqE=L8&9fD zr90UUZr`0vrWLU`?_d(=Uc32)-ywUb*99X-_H;ztMHC<Lq(`QuG9<?&ZJ?&8PDL_a zIH&zU-djS8Or4jFx3p1or82bCP-WJ)ZvK4c(DtQM**Gt0JVD~L`gLfsEL9mVn@X&t z1tLnzgj)O90&)_?9GpsaM_Mxlb{CGNx;Cllna%qoLF3jQrlHdvS`tpQqlc<L;V4Ze zzM90SU+o#yGnx+CvE*gtJdO)>wb45GRJ$ae<>hPc)Ke(->8hUfoTQhe5H2v11Cm1+ zku#J0L~B1s5_ynkW|UgV=IFAdCW5R|S$`JHjOUW!v<^7xu`slFZC-}%9U|oO77ioT zA$@sb^$=4*ud3MBzI$DoFM1sEPNYGgHIXetjFW}_VCre;M{0hqC@nm!GQ{L+c9FZt z3rAI`HhKx3Bek^lQ%9(JUW%^AyjJmvv#92)^B305Y79(Gvcrw>0>RB|@6il%YiFhq zH?p{p@!8feH5O}6BmxSgKBDd(%<-6~?;6}CdPygXW~Ne!yhWrH@j#1KDk)Q#BQTjR zP^Kf|D;~$HKWi2?>Qdgb+@E;c%6K+T>lNMf@ruShBQhpQEKRFKE>@u2A2lVQe6h&8 zpq<uLwKfF0%liFDciomGO*9Ir3{8CIlB$A5-S=!$3bDe`8%cNiHcUN<?|~MDFXSk% z3+KW*#3Big<~`j2<><~WFxAxUQF|^{<<NCHs%A!AFq-%>qbK#kNTfYOw*&cU%Cdp} zaHy(I`$3hJu&K$apuwe!B9t#lR9Ty9i^W^qS~f0U<mhkcq#LC+UC(XAD7JXYE2pWe zsYDvje7)r91;CGXUW%P$(OBX!R1wO{cul6oZJ;|Guc@8x;<1AB%D;eCYnoN<5x$t} zt5r?5F4fMLFEz|^cM;A}2eN9~VFHukRH?i}_f`b~Nkh2Eqsyj8YlpVDpA9u_QHstB zY0=5T99qHoj@ln(zH}=SGNOt{-5>I3BHNjiVC5-Hs}(QbxF_I2Rnp3v>i$%21@jko z@wmQvxPC)M0Js!9w3cFGG|?qD8>5>U6;6o4xpf8c9Gso`tEdh%xoq+}L$2qW0n)sL zR-#nK%`0!{T+mMU$r)OnyvPdbmRh^!W*gg^bF_*PK@`#Tw`q12IaEc1j%3_yQTT<^ zS-Q>ODcz8wnM_N3;q>=cUZ%@v(~81&afHllk0+w)@+9NL|G2~g?dLm^w}FNUt@0h3 zzDp{4kK~V0k!7eMO#gA_C|oI&sY6~%hMT5KdV-cTU(mmO<NF~pYi1{1>)o2H_N|!Y zv-8bszR&(*L)>)xMB?hsle~rLOViGsuL6^9k|P~qzSj>YXxbITY2Kx{5%HVj2sZ)` zapd0t)141pc?<6#C^Ct}{|@F=^F0AY;`C`ulhCCpq0V*R8+jSllaA)96QU`S3pW$y zG8$XutSy!ELM?6Wp=KW6De<VIO0D5+s}qWLw(;arn9JxIghoNZrMirl2s0zj(sWxM zit`O^NUfbA^}kUllZx^>9r9Xfq2Rmz)+otJNlWM_0*;c9bC%*JNP#kk{`HTL2`N%f ze?qD?t+_dyb?Cp}WRm}F&-X0EPZ8qH?R@_iih9lMEu@<7nf;>rze%c^n={@@VNAs7 zRvI<rH#y~h`$2`KB9C$Qm{dg)^yr!PCg@{1zK;}qm7aI;aWsAS$q+qRR>xRiJ>l-% zyHg@BZ=V*FU!uWNCBGfvUrh3U3&`&{QY#j$L_22tAUjbyp{)kKUPm^L0qe(WPHEq? zzYX#;HJejktxp8kvUBKQd46tY%6Fg+kIVA=I2x#e4%r2%OWIaBXUx)vb&Grj<OF;1 zJt6b*A<xzXd0SRc-rtY7RIxkTx-`n)YB>S&^Uk2W?CTMv$H4^$`#N}hlL{;^<LUIF z7Fd4}%7BW(qS_`9l$ZTCg3ohh;4s_orn;c~<o7hQ;12p8Ab8053GF}VghL!*@9&@7 zwU2Jt<d?GG4@j0CdHV9QU-SI|%0EQ1+>*5K?}r+u+i#V?ARay{)ZhG{XXrF2zZCnC zmX6l)U3pe@CUy(*{>`Ag>}Prv^1FP)v?7rceA$qf{fT|}BCi_rM@#p&|BqC`x}+J| zXH|iIEEhqbv@2xZXUg_h3IQncCmM9^6)nS6AJQi{#kv-1js~<}Ap+22#$P$r8!U=5 z4Z&W>37EXxj7ekO%JG_d7vjJsf4oKhg~@tGmdQc^1!h|_Eb@I-TK*R7`?R$`3-YG_ zS8vtw7sN$UqqHx`KR_nuLC$w7bVS^~sIa!M<T(5jWhRaFY{=@7sy;oawLdS*YD)|G z`g*kd@`E*<FH5uOBk?yD?6j@Gk6n-yRAWQ$>%2Gw4%1e?rbz4u*qq~krQ44i0!C3? zUpRjKK2(BZmzJLxR7&TXnkR<n^u56KcQWKBLtdOK?MnYe!_Vl1mngpv)xwD{Tw&PJ z5D<9@%WBB__VdPWKFYNGO~(2m@|tPz@1O?;Juv8jK@SXiV9*1D9vJk%pa%v$FzA6n z4-9%>&;y^P2l%-GKg#9*^JyQKbLGy~MWdhn(d4`SE4FdR$nhh#U;pS`+#WyA;1pu! z=l|8e|6tjuq36sz?y&jJX8JB*$U)BVp<~O_!-td|^n`Oj*E*ydI~Nmg7kyUKXAONW zqtE5^xspELrO&nWxsE>T>B9%o6ja*4@vR#_{@<-jS6qGS)k$~l+r5)d-L~utb&V%> zY})kNAKbT&I`_F7M@BZTIe4#&Q|DB6KAztGRBq>*lb<-;8!>+IsAWC7Z^^YxAGIYu zxpm?LFV6h!F)eq#^z4u8oQlVOu;HZrAH3*-n_t-d&RwT$e`5L04G*3DKv~CeFC0|y z@>!!UoHumB2V0*@JbBNMy}xzHKHq(D%@^K0>&>Nu$DjuWJuv8jK@SXiV9*1D9vJk% zpa%v$@DKKY{vToR@1O?;J@DChK(;Yl7T6ERnr9j1s8K%1C{IM$-<H*&?UQ|GvhVCL zm@V(KlYMmZ{r};pm;F}bP?q|4|F%2DB-zh^-3X3@{RO;dfsf_bxG+K&9ocUHGacFI zA^RI-f0XQ3ko|$O%}w?a9SVK2k5K5cKT+(I{fWGfgb!(t_e648_CfL<OD@aqid`tn zKFbeKZWIP){wxn8jpFYmpsBi|+pY`uGOLZ=1*rhCw>-bMo3}<6q{q-U=6tSKAW_Xv zPEe^hlIO-7(A8FOGYO|KlZlk}Pl5>=<8N#)lKE$*%cxD*#+G*4$4l8-mc8!zJh)(! zjcPNzY$WfO$$)L~WI69sHxj3G9*!j5=)L*Grd2xmUEbIet`j!6pfa<_XF9itD9YD< zeINsodPI41G(4Ob7sw+kNCbd>B=umIyUs@l>~N<%8%mduL<fI^I#M*D!zUL{4=@s7 z#B#r7N<qqJ7zUCx{7jjCsWJULPD5ejj`+el&89Hrf_g>SL)<Gfj|L=_tw`quNlaAk zmmgL<wLp8G+(^l8I>Aa){Ol_ghh}0xJ}b%36_9i&PKBg|u6&9^Va`HBXW=$~TPBFo z+b@w&+m_E2R9uplMx9nMmrthwC7-q`Gb51o>32Zw`1ebNi5ZHFEI@V6nF}o(=A1&+ zFV8cOsztRFGk$KCzrF;LpZe!*1Tt^?rOv3KwPuO3*`&|NzA<v6uoxogD<5w~6J?9$ z;ucNKQ3)<FH30*unfY=)C64<L%=o49-%Xd{aSW);XL}miTmikjJOqlgY;iG|^_eg7 zq$Q`R#XOMHE33bs<&0cxoxCN<sg%yr9!$$GNCym57SAm8v$j-P3@6Y@H0M)igrWk^ z$P>(S={!>^%S0?N1o>(CSt&D^Qp18W!Q3yR7faYAzZv;)#U~9i)%sTk5~=@Qr75q{ zsVJFUzY-yz2WRH*`8tbaFZp$5!WQ*aMiDu}I>|Mdt<*o!jy+U7?~!Vdd|#0G)IT9V z&qx<9f9$x~0B=6!tB|g<c?)SpdRCasD;Dz-#^;=TMPtfKXFh>1uhU=Y0$HQQYB>{0 zWz+Uc2F!EgGLk2-a=a}-4Gow1dQl{E-LLnZk<YePb^TMO6<HFfjU0K&2va<An<aUo zI;YJ+`fx$!CNJ&zv`Ih9nhX!7^yYKe>0K&vDG6m$^s5_0pbJ#2xqa0tCR8#Zool5D z8uiN&%_{GKpp;=b<-F2>$|=!l(JxI6M`tL3(6q|J2BvtiQ%;UVs=`Wh=#;6`r%k06 cCoWtxch1}eCx${NrsMn;k`Srn6e7p@KdPR$ssI20 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingft.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingft.pyi new file mode 100644 index 0000000..2136810 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingft.pyi @@ -0,0 +1,70 @@ +from collections.abc import Callable +from typing import Any + +from . import ImageFont, _imaging + +class Font: + @property + def family(self) -> str | None: ... + @property + def style(self) -> str | None: ... + @property + def ascent(self) -> int: ... + @property + def descent(self) -> int: ... + @property + def height(self) -> int: ... + @property + def x_ppem(self) -> int: ... + @property + def y_ppem(self) -> int: ... + @property + def glyphs(self) -> int: ... + def render( + self, + string: str | bytes, + fill: Callable[[int, int], _imaging.ImagingCore], + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + stroke_width: float, + stroke_filled: bool, + anchor: str | None, + foreground_ink_long: int, + start: tuple[float, float], + /, + ) -> tuple[_imaging.ImagingCore, tuple[int, int]]: ... + def getsize( + self, + string: str | bytes | bytearray, + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + anchor: str | None, + /, + ) -> tuple[tuple[int, int], tuple[int, int]]: ... + def getlength( + self, + string: str | bytes, + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + /, + ) -> float: ... + def getvarnames(self) -> list[bytes]: ... + def getvaraxes(self) -> list[ImageFont.Axis]: ... + def setvarname(self, instance_index: int, /) -> None: ... + def setvaraxes(self, axes: list[float], /) -> None: ... + +def getfont( + filename: str | bytes, + size: float, + index: int, + encoding: str, + font_bytes: bytes, + layout_engine: int, +) -> Font: ... +def __getattr__(name: str) -> Any: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmath.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmath.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..5224936e2ab13abce9bdd8ee84a70786331ab543 GIT binary patch literal 167696 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 Bo8bTe literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmath.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmath.pyi new file mode 100644 index 0000000..e27843e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmath.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmorph.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmorph.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..d7c523670f777ba97d5485b1a86ebc7ced19f1a6 GIT binary patch literal 38448 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 A*#H0l literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmorph.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmorph.pyi new file mode 100644 index 0000000..e27843e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingmorph.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingtk.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingtk.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..16e18d2649277caea71a53ac26a4dd3529f7df13 GIT binary patch literal 47000 zcmeIbd0<r4**|{oOm3KaXEHNcNdR?#pb;etBBFv$5|#u4#1Iff96~Z#G@F?Ti*=!* z7D}<$+Pah$wA#0ewzk$*?PAo{rS@&9-Ds<CdAr!qMQLlT)xPHY`J83u&XBaWzwht& zd;jpl+<Tt&Jm)#*JonstpWJ)hlBT5|(=_zvH7+pHkYPj>;r7pJ4&oLVHumMlOu?Iz zCY?}vz%NnyXoMxqIxH3yoPB)6k$n27>68=oMI_zGI!2T+`skL+g~&5=q}(%$GLJ{R z687oFD7!pBQ|_peJF4XL@vw51KKi5@VIx&7pn`FZ<q{1a%1u|>{Oe=~%OlezKKpp7 z;@3wlcM;@h=iA-1+gnt96Zs|Ee$`yjz9Ljcw=G+>*0^r(6Z>Brtf~9^yzBSg`P|C+ zE1QPyrY)pT#gB5duQnVub{oC`iUNNUj(1=CzR^kHYp?ym9pCu<++Y6ZV{bnD?aic* zx8*~Tw%tu%3!uP_P-XH)#=(Do0zKzVfWKh^{CA*xJbV6o0(|EL_^T(-f7b-~izdKt zg8uRRP&xtst_kb`yAi=Jdn=zn&le`Z@1Foa0>$I`?U@PiS4^O1>jeBCngD+$@Dcp7 zx1~VL$VLKw3%>%xZycR0iQCkC{-eT275+9!HXhOZB@%Iw!hc%f4=Mb43ja9TMg51S zNQ9UeEXHD8eFOcmM6zut8H*XQ#@3awj`&c#t0$3+54EnW?;Yrmx3+ERjZ512lvw-r zwpeFRe_L<QRdFMc9O`fH8{{!LFx=Z~H1Ally*<{tV=%sCXlP)F@X%0f>A+B5TM|Hh z+hAh2Hy&$Dtb>9M7iL*J**wtG4@->JD;oRSx_bJ%VvYShNh8+LIo#iFbo9oB#*W^^ zjy_dS%W!|Pr!S+bHSy${<Pe077{y|}18r!e!9y&0g{VLf5>PlW81GjW*7wHSXl-NP z-~iks4=V>cU@Wk!w_F}?PsU(lZ8ABe^f&KV+uzeZ&=HR<>E~hTn#J+Xw&7m3vu;N+ zo`}^Z6l+Isd+$I3er?_nTO4oe?Hy<bQ|(Y!thsF{5pNwH6xB2hpv|?3bpt&e&B-Cb zy$XE-CByC1N_WI!J<>VJD}a#}qF(8$-kvRk$?l<eTSsMLpt9Nk+|JT`V_8#UU43kB z<=o1%F%(S0gWrk&#>bM+O_Ae@*jHV1Xn0DGZGi7B;JE4Yp+0{#s~~b%o$oY0tnf#& z@ERVC3U!9&zj?ZZjoM6nRKxnH*mf#7MOXMcrprP@7XM~7ZyvZ%(s_<ir*eUK*oB`Y zS;T(Cg@+?j+cPe_J3bwD;ob4|hznnq(t`DZ3$IKR)ZNN{6A;gfsVyo?w2?Hu`J%E! zyb3)65q9DA8i0gS7hbHdh{P6&ii1Ht^pV~wqOwH1?lWSlqud*U-;qVJUl5f5`FZZv zTQn+5#H%HrKs31Usn`ZevkRXmIOT4=3m<ghH@om57rxtt&v)SmUHC#5e!C0L^^4wi zMrDci7i%PryQ2~y{$yDc`~6V~5U)bIK-})aPm?TSf5?SbrwoDrqzhjvFmm^R3qQq$ zf2a742j20(J0AGI<$*tkPJW|d*YAA|d#y*R45Q)3k)&traKo-|_?{G1jGg^0pvPu? z8~e~HQIrUGlXmRr7`9nY5aucC*kJ)bO4vhqM8IDl%v18Q2L$|S!aQXiJ0#${3G-BS zY`=i-B+OIPv7G|`0AYsNV}k;IFJYdlj%^n3^@Mo}Kh`YZs|Y)UqXHfx%u~{_Y5`wP zn5Uv+5dm)@%u~>@uz)Wi%u~-XL%=PBLxhjN1;ni7gt;_0c2vN1gn8;Yc38mY5iTG+ zBH+1%c?vrAfPiNc=Bek{Apy@I%u~*>{Q{msn5UFuI{`QBTl6;|8unR#;^Exalf~$& z*Kjw2U1g6Q4V|(RyvCF22>xdU|JhIQaQa&fdyY3e{_=$lkH7A1FrRAp-do8cD0opR z@Qoeq44tw#Ezj|=bJ2~EHHObv+pufVqu?|e_WU{-fa*`2VHl$u;Dyl+?4GhVfzRB8 zx>NO2{@6AUl|5_MH0*hk18nDo3zL^TI*ZEooqZGhJ^J|njE&tmGQ5C;tzqB0W<5%$ z*1WcH)3I~VaNVB0RvB&G^IM305@HQ|7u1Z5K1A0*u4ZH-tB*qIb*9!{LGA5Q`%j_y z)SB0X?$MtE*RXF+3)Sp-xna-K4SSv({jFe3epr}6?9X9ATv!0V)V8i|*z*@O;yE;; zde<A?<eY}R`Acd>8usN?2|cgCuyawW85t|?uY~4Z->80=^I_wr+Do5o*n6d~Vb3dL z#VbH+-180eTIhyGkQ?^CD?IvNY{s4^1#%^kdtPeV^P92a5-{&=Ef3uIeCTH0@z}e# zJX`~pL?O1KV$WL*djo%iqMMJQn#CX%)jWUfS(H2X6DkdT?y07|f%01O@M3dhW&23O z?X{sV<(PH5b4<Zab+x-*H$yk?gAllhokkJxL&`inv5@E5OO-(6?Fo3VJwpkUzYT%K z<`d^WaZPv$TK9g=R{>xBH#(zX*VE>?Z-n0eH`({q?0a~)=6Q6$2qrk(%s%)nF7c0T z1CJm)mL`0Ugv&ta?5qr(asyg!82d&4{wMnP&nNcp`-JSzp?(8O)O|BljMu+EA1l5B zB;CKCgXV_4*Mvvk`aAlUJ^rG=G%RSi@!8M~qX71XcfDbTZnzi4U2o)uZa9F#zM)rl zz2yzPhxA=<<aLGyth@mF=hi1eUwS^2k8a*q)Uv0wy!_9hYop=4(WZtyf%1kuzi8U? z5=Je?WX-dC(6gPP!DoKmSsS|c@y^hX7MJ@jHyieKl)v5?x;9WgR{Y=@hOzz<j9&~> z;XgV5g|j|~unA3U={;aOmY<%-G-eQ9czSVpIm|PJImZ%UaLKnw`LW_oN`D`&-Y@hf z(|Vgoc?1+SzXiQ3O+S<LJJNK957DxQeZ|c{qciHjJyz@oqi!{5t@QN1v(E-?<Jhd1 zXJamixTa>W2tlJ&Z*aQ(9CLqko+xtWA+Rw3?Ky%-(z$=sF9=T|M&41uUR*G`;ct*i zv!n+P=i?ew`aI4)Fmtq-jC-srQ91P{L3&n@em;7(B&|}U4In+HNK+(frXpPc(nE?g z_PS6QR-~D<ec##lfI9jskT#+g)c4<~bBv6HzBB^+W#oAhjh6$w_TrkcuQM9euB%;( z!M=vEcyzu{jPUo((T%8{Bh(9~(eDtyZ_ygo@C%gnfc_2?pyt)WuBS&&6Qpm7kzFXl z*3+X2fqP2ePE)v7s18w<`k#dgVaVtsf2CrH{U{ahd3yAR;B4A6hH(5QsF=y4e<s)7 zobnq-wg($_jhc;na>_$D6hm|4-X%sFyTl0H5EIy3AoC?_?y#?E&tFI1PhIFa_HFH@ zwVP@$tBuh$i0iCkKgeIf2p;?0PgDK^9!6{h<#*qd@z%QKRMGf1uqNSfSWcyTUJ-($ zD*;F=LwnXi)3F$KLJs<?Q^f7J>n04}i~v9S+H25%gXZ(4_(Hqyp+i)2lb6V*hIUi6 z#G<)3HUMgZ{s*At*!iMDgIW&())If<ToHPf7|FRSZ+tCu<4=J)Mm*~Uzih!3DWM(T zJ@zuF(m&MS4ASquk%ptJ?^dBebwX(OR{`pJLN|UE(6KgHl=kPY-<LM*`6~v`$ymej zwAotj8~rde?RlbR<i_WdWet0;2BsVs4ut!7+-seUg#vo6^hu1yGWh@4J%1S+ORZJW zrE+x&XT7t%<AHZP@Qw%G@xZ_3fp+<bCo&+OnM7tZ_uz5IwupM9Gb7TLj8t!j=K8k& z{()pfK81;>M>CN=@yI38*~14S8Is15?Sps-6Yq$eHY;&jq+V8IL=r>o&D{gZfk;O@ zkz_4#V>p5Rc@ZNqFg(;Aj|>WO-*6%siEqclE@MkuN2I^4FK!4KDGfDJm}>BNE7>#9 zKfYu~PhzmQZAYXp-ZwC`!>EHYSk1>os*OTn7KlejMr(U-tR4?%lJWY1zP`5p4uPp1 z#8aq_mN=e^f#r&rkOsT728g9S{T))JrZx{J>+lE(4}cn*D$`H3z{jU&D;ig|E@_G3 zfse7;a6K)ei}5%OE1QfhM?u8%CW|@Mdp>gk9Q-!FJT}I@I&^$&>=5BUj*T6~G5Y7R zF+R6F`s&zN62}P6rF<^C6UT25#yR&_I3B_xtQty>a@j`Z*z`Se^QsoZ+#WWk1}6C^ zTMioUZy)``*w{|MMlifISh_sq-{#wCTsY<Y*=Lo{0M=NDAC_Cj>#ty~MMP~de3Pd( zSh~x*EEu`W36?em!?i(QlRt)Xy(lm7d!TEXC`Tc31Ag1lrXR4Lx?uQyl)uTlI2hTL zvn<%$?F1v>hvK@Ruh#F~XaZ56Mi@;Hdj`LvKaGvu@wRk$?hUSA65QMrTwfb(UJ7-n zQ0iai$1@h_;`8(l`1L%L*`{5dM9_y~HGcCz+YOp{_AA=EShe?3v~jU$SG|9uE($;L z4%!zXBc3A*eV(hGpl^+TY0%dIox4GwhyD}KpW%b|dm4kKH+$=Xk$pLJ!HV};wZZC} za%+PNc1>CwjCzhc!3Fif>e^rhIO>9>kbrYwJo}S=>_(qQQ8wVkcfoSrd-*-^`+>(b z=R4aw9(czC?|9%H54_`ncRcWp2j20(|8fuLe68&KEG+57#`Qfn4Zo@iskI&#fY|UL zOKkV4q!XRfr1Qgc&Jx$U+;nb=&J*J`0XI$m%Ufdugg2|}2|noMcDpL@K`*!46`j{H z+#CgCxh*!Xxw+}wu2Gd=rPz!LRnXTfd|=E?=i2PXt!r)??^6b9JH<5&=!#9O@yU-H zn!^53C5U^Q0@i-SWr=|AR&?A=7qHe#9se6Pov)s4%Y4=EOVx3mI(Dk#R&~5d9Y3s& zpHRmyspC`X_#<_ENgZEP$6S@1Riciks^ffhT&j-i)Ui_?x2oe!>iA)G)a}sypy7#* zsXW9i2AyZ9^A5Af{}j}Di8>GQ?b@Ri>+!4M?BlZf`tu?c$gn>>QZo<vpf!=X)pO6T zuBoYxRJ7pkN&{}tNWz?&>eJ=C6E24#%WBKbv)XEmL&|6R$g!Etqm!{qRDX@fqhrDs z)ubPfN7u1|84%dU<I#Hb@!#dqwod&AHfviSQ8u3mo21WKE8>!}^RGHE2yA*M`JEX$ zqUnBaO0#5?a=|I@(fG_q5KIC$BhXDkjpJ41`4YmN_eYb@g$l24(jy3NIXM=xo&i~Z zL1@I`I1iplLkP^4uOE!Lyxrq9b6-JdoYW=CzL!w;=1lrJ6o4`c$n!O*&Y3ki0S3>- zXk5;zQx1{YWA(x;&#z!sPDN3a<iEoeIj5Igg|g3=`xsFVQu?u}%TTs_ti<yWFjjBj zQ!H<QzTC3HTUmYyigKqE{s+ov!WUtI<vR|*@;#4zu8nc%c?`0XN(*<B|1DHDX-d(9 zEboG>Z&%q7mM_B2cT3Tk;P>X_EMS9tIW0j@+8}KQr(Fh$&2q$<?>hv*c`q8`oKrx5 z7|wF|*jbQY1PPyW7^gMo-25mAVTVtpo%01-so`k{&JInxkJ?zS@cVslQrm7Q@CWjR zHh&jx0Q&O+QEKxi2m}L70K)!`fp)_m5^SZ;2B`Lj{d8FbPJ_{Qcp7`#X1T(Dx^ErL z5~^oQ)ee(b{Abuv$iPqnXNKA8u=9Ob?VlqkrLvw%Ap_N`;BmX4bPHAQ#`p?*KH=L1 zAh3idQ0HE#@qE2-8vvi->4IDBqG|63J+BL>LuTLuzJ)+Km!NwBAGGcgLVt&3;8xX= z4s=W4L&A`V6BfY9w5r1S7}@R!UjtmV^8_ji+$q==IIq%xkK}&@l&JGzcqecm|GNMh zoWHQ1j~0I$+|5oOoD?`1^r5%bJ2R-@<0a4Iu-S>A!GU{9j{xX)o?<=sPW~?dgATM9 zflmdCA+z1N9{a$j^IwD2JDq1K^BJLSw{w*B+*j}f*!Mfz;G@9(1#bel-T5w@6nLQM zSI~CI2~)v?g`8%ebdHhjA<^syoc&~bq~I*bJnXzd)nCn<0frIhK~hHY&w=PO&X?HI zCq=UlJH4#*sr+_OjyMk4o-P;!aMU?Y)!!=kEh-&#rVx0p;5dNe&O`8i;M)bS0eC(5 z8B)F@ddo0_%jur)hJMJoU<TQgz~O>xpf79&&jWwpdj%ZmrDkvg?R#GKkr`Z%-U)m^ zcpGRHX7F6v@q^G|K-Ffjm2yAKW2V3YGxz}<0zV4IpgL*>bE)OWqLmG1u$HwS5w$m) z!P9BxPXx5y3_iz({!~DlQ9Efr6Jx#G406f@UJ$fFGk6U~d*DSeMz)*5E7^vl1&k*< z&EQfFj9&=aZZmil?fhlYUt!XIGq|08eW{Q^>UPrzHRl!C^n-uPaHo-1Eb21+cr;<; zm58c*{$BhINZw@OgRoPGit<VYQ0jaJ*5*wSvnS%*3H^Cf1yJt%niFA~pYf=|xgQ4P zos@qR)l@rkfyz5s01KR7z%hBJ2q5ab40>KfSkQo2#%Vl>rddAD3QsY{V%~HwCza=Z zI6H4<=q*9b0U;cP+LKVor$oLe5d~pJOHUh3C=XYG!}6VteF0~2n%OAydA?|I<`x}9 zJ3J2+vd*GgS@D;Ph&PHO065)CIH*nNVKfMpdcI+Ea*K)X`DT!28%`OOJSBZ*cs>WG zd7k!O1GdROLf?3*&5}m}SiTYL!!-H3C<t?m$vm}sYRr-s1jjEl2j`+RnEb}%FTi)6 zxn_wML)-G%*b7CRN@+Hw@+d1k%M4Ws-m}RYg^tCV*O=VTmd-OvE)pC(dkNz^(;UxI z$Ju6aLU8OL2MyV$Ir8Z-W3m_H(sPa(yi>3pA{(oEB!f+vHI05b*9<--c)zWAf1TnL zohh3;ogO{k4E;&)zOH!#P?2t~G1&pZv(OBc0dM(E!Cq9)Xd~Hp;xHyh>AXc|C@R>N zYBtVS$tLtl-VXukiJIYF!8?R~0V8w1q#i(jduq+_dj)krsf^C5g_We%nZ=(J)X!os zoW_tN>v>+7^9Pz!Zx*x5C*OyiXR#T2LCE}qGEs0b$fjkKeqQ)^mY5-WaPrd#ES{xi zF^AS<6C>WU%q*S(zgfNt?86JtK@6@+){9BxX)ucy3y$UFpsN{VWj(_CtlF47%Fb_8 zs$YR6p5+SIMTf62i#ZG@*CQZ!nv^-eC$Lfh)Z$rX7Jpt;_GMiegJ(V`Rk}uF@`F^l z+AMxi@cvTsGJr{5Inu`H+ZMAp2hFy84)((S3KXO^QJRB_WrHo>&(OS5D<?`@y1l_> zaF*q8)K0kqRbE&2Dtu-dlld^o)9dwCf<8532F|xRT%4~k!biiLsfP14I3!Rj0H5;% zM(sKQgq>Qb3e*dr)Y*X=1B(R^aTY-`utc0xE1VhvOGEeLQ0=Tm#ero4Sl}c`X%Ilv z*}!@l<*CEj3c~`+1*O^9NOM*Q)$5%$R@x+h&5j5C6IdyLZl{CiiB$p^bdof5wE(s| zi%Dq~+IBiy;oQJQBKYoh&L*WrQ1(0XDAOurZg<Wk+gbq}a^}*ubprULvx{sO3*Z6g zW3*tsXz9bwtJJnZP)3}!Y}_RRc*glS+#1*@fWywG;MTyU0yyG~(IJ}zaMZbx+F}A2 zbygABEP&(A3uJ2(!0W-c=#VV}z&U;eYwZwi@R`A%QhBGKh0WmS>BlYsmEte=zD?F{ z?<RD2s5x-CeT2Qeh3&Z_k0H`<?xxkfLcr%d$Y%EyFf@jp-(wI4`UOzxRI|4SgcBpq z9Z(k-EM|PHa2C+&D+Q(6xsjBiFvHve=M<_=3e{2PMmAwsXlpP$SJ1Al-X@q6Dh+J6 zi$QgM0;#|bWfzxzfvc2Vzo6Q86*AI>4bQiz_iFF2Anch;KVMrq2lAHhEbPM^`b{XL zr(HflkU8l?k-$!SKVWAsJ@szkMZ>v{DzBF=btZ8n>=HoO3DQ|N1gAp;>-|5_**AKb z^BoEY-eZqY(=zM=yNmt=^@hU)>%gAUnNWzu^KB%(*Lwg5%g1UhA19pUV@Fs%HXCP3 zv2TH(B`zK;aX~WecGMi~DW%oZ{)|QilcMZ-3#y$$5l}7Pspv5g8_q*PHdzF3%U1+_ zo*5AK`-&qVdTQWNza3hSvgNysa#0w(EhQ&nq7Xi5QVy3}p`2h&2yx_VaJy0V8|X93 zo?&DvYr)=IHXWilWj!ccW&5ztE&CKaH>vCZhOVz{7$)0g{{g&Hb`v=LWwmro*^klM zys{)P!Lqxs50#aGKV0^0Q1i={LPJ5>bTqxNYy-+ghUavUL({x8)N>1zhR;838qBhM zGqAVM0A^>n*|!R73+FZH2)6`iwIMEz!fWg($~jIEhfb>ie9j0^;k5z?IDA$fUMGOC zbAcbg#R4dDt|r?hMbupCJWmCi@_qpz;yg^sWqG3jDx6=E(iY&gX|;116>Jf!!v)T4 zcs$%*_A=O_&I_c(h3W>UnoaH$K$8=~SP1t7#=zF>T!p5Gdj(~^vy-;<ITmiYT<ZK3 zt_=4(Qvq~4H&ff7VC!}6LNAA}l*?!5393#A%66xfY)JuJZFmmQ(rCpcsL1kd#y)Q= zsxHk5-|71TAnCpX%6-$|{qR8{nj>9t$bSav_647$y>|x|637XDozTYxUpNP|BD})p zZ9D%U{)#!=Bs^g_LfJ~egjq3*cC7NUPRqxEYx$TkZ22fyKtJS%*@c$xRg{anP-Lsc z>eMUt9*LzrYRy{A@lKOY<{Ea)3*ld(;NhQD<gc8%3Y1e=_VAu_{_2xsKv=#w(ah@i z%!GIIn?oG`p8c>dza{T_5XBtfZK(Xqxf7)*HGBdf6x88h`FNS{IgF8*zc%<VFa=MN znG%NQRkSaE!{qM@#vfuIUW481_(^S)%@?4k;VlrLk#{OB-+kD7xLC?>3-eyQ<txFy zU<P(VIAVATVSN6eu-m>J<%;~F@Owdbeu93<PZY6iIC&T$`EnfioHyCLVbK`@hhZmw zs{q1IGX`J&HUSigy9xQ*?fp<tikf*@RUF0c5D>B}3=eC}-{GwU%2S7dmw$EWVU#W3 z*Rc<i`#1`+p~7kb5-)D2WbGhF<(@8@{+=nGLTd71AExXy6w)p;JYn|Oo=}D0sw5Zn z){!e!l`(w=EHuxW#tyN)&(wkg+w{M}ALhKNIZ$hRM>O_c^q_h6<ktlDVU7JBdFM}M z^|to`jcr4>n&(WtPw;+HVP`A?uV;&=;7MA+fNIRFLSqVM7d?;iPg2<O8vqvOdMA_T zcp7~k(4N~&5$FSW`XD1ZhlnwA9~2c;3epUc1a_8<vq7++VCH5M-Lo(d1!t605y)qL z1!JdpL6E>kEt5|k<J3mf9Ly^i%BtlDpcO}j#6FT92b{l!5~qCzt}Jc|vL!Q*VJekO zFQVcvW@(6n6#SB~^Kb?!V$6IP)|Q+uEcjgp&6xRLXu#zEJmv4u=*J(hi8}K`KuUXO zZUmw9eWHP9kS^wp*m1%e<(tsd(s!GoIRNT3gHaKJHRfkbGYa%k_54P^cEddINSR@r zK7>1R=I2c@?BQdv&Hg1UHNRkrb<F{wK8)Y&Vs`o$%qeX4AMpD%k>_C?nh%;H(yf5K z{Clj~ZA5<26fv1^W8p>U?4MER7tIJeo$;m+zu7kI2C|08Ujp%6{LV-MFn?m2XFhj| zVSH3Qt}=I`I`e0y^$7l;Z_ZCZ`3C0em+-56$;FlvMqQqhz4n|}f$hYsyac~9%}82P zE|cy&U-j4tYAOKbI9NvUGpeqFOSnByh`%cWx!PRoxf=MxF8s&S_!?_UnqTpvHroB5 zvfFbMwV5xN)|K$TuzNk4*My(2TeDf4(ejktytnZJe!_0eGHHY?u=@;ZqTMmLlnZa8 zYQ$w<J;=1>8sH-?`!=TWHPtS>;#GDVN|POdYt0u;D<2IJb{|1a-@$J#{r#+No-Qaj z-G&tiw2k<kWx`U;m7@z#E;hF3P2HYBu=nF<)cm(n$9|xF*OIyF4KQ-!9G?RYP|WIT zv(>CIsw^eJLA^xMJX?|ISD^5W8dWDNfYIej$z*$br%SCy)wznynDk*uM(?8n+q*Nx zv{ErKo_$s^(ba7V&*=A*!o%#UZ3<7LUle#@?_Pzby?;^c*Ma>*3O^g{d7!cN#OrxL z{49k>`>J$*5x>ZVpMo+s;@7(H^A(;EF)8q9T}4FjLS4N}?0qh=%`W^sX?)FY7oMiV zB;)LRION|i!;bkAaLmX1ScnlJ(>S}Fr<$ux^D!`+GcXj-IgO>OO%Zv|;r%xNr!u}R zco^fs+$BTNxeM;+32nDoOp;-ow;RLJe9p{%6Oeh}2`D{3fhlc1H;v1dk3h=@@mu&c zOkQs90|V_%$nO1HL|_42WP9~nE2_;F4zKlQwXx`@N)9sKKbvdCnDD7FA%r66c5W^q z<AND<#K+7i@S6SuptzX_J~|CHmT;CG40H9v%lkKAqqO^A1?^4($L9&>H!@HjoEL@U zY^+Ur_vieb0=JBdu>*kLhu?)geTI2g9v6^n;pCP0MWeu*cNcM4z*oS19>3{ashb}! z<$}X|%LCV4xZN=C5vPDM5Q_1;a0f8re6tQvGci{I6QTj11#~xlwVzOJHdUK`jpgNq z1H(9>d_ByS?E;)o=HpifAtTBMH0I;Q)X)RuM*PqrElNizydejW@a?V$sluJMcOW9l zptCO)_9>AwQzFK^>lN-2yjf)7oeF4G3}OzmoyNi+Vc2uKDkUqb+Zz#B_CIQ<e?@V* z4ElHmhjGDU2+!svqHFbd5ed=IV;-OtvTHYru659K4}P+1H;S&^4!D;%(X|^z*ZSZz z13%fd8%5V{2YfkxqH8yauAPeREyPcD?Pa2CuLHadKiRdhRM#$?%Rh+6w&SFX5uf4U z`yzrxJ9woM*_RSA=50|p;o!e0;F~E1cu|DPi|A(899TF_O`PAkS+VR))kudgyhL&3 z!*Q-@nd$U}NyT+eCfAD@y6SILTrNGwGdPS3R$}a#=b4-)n=u8reMKJ7c|3cc&*zNh zd1aRZ`wF;zhF|o4cKP{YRdWQFW{2^ME@cE-Xh*@v>#uqEO<%x}wMeYd9Ip`p3ERP{ z>r_o#;JuOA0?mZs=kd)l7T=**xlB9-=AbDSqRz}&a5F>FMHqKgUr|h4f-V+Jh~yh0 zqBag>#^S0MU6l?<O`e1)#(Y+#Rey9<dW&W~)m>w*npa%eeok|ss#aFDWU8Xx0jj8A zxw6GDmfi+8d8T@cyj(lX9~dNXy0}DGdIKVf=V8w*uL*WRdf0QWAT29|!#%H*M-4=& zlR<5u;46y+v61JMqpGVf0tYwqfPXrc2EPO8ZuG<f{N}t4fLE9=<F}mawFKJPhu>M$ z5LQcyR6)Z$Km9VIl<|V@tN00JFQM=&{8ms|Qvr5biI!bn2xK1IVdFQiSfP1EG4C`5 z@bnAtkE#Kr)%;xnyedfzUU5cU$yGvBiQYy@Z03PE&jGy>b=2c`CVB2xJVrAaa0=c| ze~|4dusnfZ%~ur*Tc4`M_HG2D+^U*g93KVR#Wh89RbAm?dLonQ%oNj2E~ejPGA+_f zHFvp~Tve^o3|JpwrsWv>a5`6+Ap0>LMJ5RR%&kctj9nZ{%mnfL3z;B25LQVbxm!ee zoFovP?7;*N@98DO;G5(VxgB1e+d)~8+mX{-csupT91fADVNEG|FUd^P$lX=;X_ha- zF87wAXUUqGrtut`7nt@YC_a|EeOr9jnix(U0DSF5Pw+HhFCfqnVu-4+=MsnupxT}Z zfB8Ct)V#nxMoL%sV#q}8*#x?azXPDb&L>+>_=9Ltv;AjMF85!L*tOm+BXC9FF;F%e z9s_)n@}|ER7Kp!Y3Hz4&_>xL{FWFXz;Ahy22{idXOrs5vX)-A|jen-@6PYIVd|)BN z2k^GaG_jd!VlT+=fjK^#nI^W%G_jd!VrOKUObSg4fZf;5_BwvwM#?fwJ1Wz}VWx?b z7kHW49A=t0!N3~;!VWV{9F=KeGt<Ng3qvC^(_~V3S{GG|OcUpHA9EC>YL#hXGt<O5 zL$nlz5;!wV_l9j|nm8)cMAnm$X)>vx^a-jKnI`^E_;``)zZcQau<wN$|JMtD3;?cS zrpctDX|I4DNM)KF0Mb^OCMJ5uu>X#o&NQ)ArU?y+*ecV6K!yD=vfUAW5gk}<t4tG8 z7T7A&gijr#w#qcAvN;@7rpdYRShKA%O}ar@Z>vm`3qjdzN6=tonk)g(Z9m0&?wz~> zz#y;XnQ1Z%neDd9G+76$ciJk`gxYr7N4;RXuYgO~{kF<9*$CivTV<MD1Z{_GcczK$ z&NQ)ArU}RG!?wya;kX^KRi?>p(Dsb2GEJU^RflbrY4Ri}M{Jd8!iSVcZIx-l`7vs% zOp{Fjj@u8x`^YqD2k?5H$~0kb8D^f!G-1Yp&&=avUu2r_xn|hRQ<)~e1ypM0sZ5h+ zAr>+7RHg|Zc~+QtD$}GI1G3u8Q<)}w?76_qQ<)~5f>AS1Wty;+4Q8IoG-2({X5Q&E z^Cuxf>&-lsX+mf-YA5YyVyt(Yc`DO{v_UgZWtwn|Y&Y{%rU?VvPBTwsnvk~J%u|^r z7sImsW}eD4=?5n=O@hocp+-k#nlJzuj><G4!RM$<6Z#-*t4tFDrM5fM#CB(z*ecWH z9<Wu|D$^tiZPoT%ppa=oV1cbNO$bD7m1#l?m}$ZRkV^|JA8XT@CY)3{)8sNi<?Eh9 zQLr$RBTR{~C=mr=uJLrH$@@{Zd>_I-pR+j4Y!vwXU$mYEu8^4~{)Y-#XW^{~fc`HR z5pNWI4Lc5?;&V}8rU|1#u+;wzo0D5ibpJPlG#d|(sN^XbWMrm^|7q`w5H4Y+i65CJ z9IKWug1zW_=70!u43W&~N2bX_!BM9<I2WbCY@$)ZOcOscP1*%pk7nZ_OS37JM_DN{ zP2MkfKSbUrbljtPjS}AE^CQ#b^Md2c<e&$b!Ju?7)5MQVlkW=-KJXNV|3Pzz#u_Ee zH1Q+TgxA8B53x~J#mo<B7S$@1%rx;M)8tefkx!&~m!x<_XUgU>)5MQVlNQ0dUh^{j zL+X`m%rx;M(`1KWyH2w)+DJArz)Scf(~nG(LxSxSnvL^SvI)JCmzgI1s2TpY;C&wZ ze9o+}q%zaQk4%%_3hHrE8J$%NnQ7ujril;MTfQLn!fA}2vL4P5qlB3zeq@@k%S)JP z;zy>*LLpN}nJAbTWYaQA{{RSnWSY=}CCoJOBh!RKtAv>*eq@?3l3Tvr)bc|xGq@^Q zW}5hsX~N_<%lBz=(1#4NvL4}mR&A6p)5MQV6QP=!CVpg^2!NR;eq@?(7?v>8#E(o9 zVGc7*{KzyB0JZp$X_5~cE#GA9MP&@0VNR-ajYbJGP5j6-StNMtH7^60<b77y#7q-E zGEF)J+vS>VH`#>gqBIA*vcZ<`d{i`fEmk`I<=zrbRF!t(N7@O~gvUucDVfKKfwYs4 zfG*Qc?nh_YD(!^R*05FD2?3w2(oV#LwpH2*fl^zgoe+rFD(!@`y24gzCwTy>ZIyOH zV1cdDP6$M8m3AV|BeqIAA*I<?X(v>@-d1TR1UB0$?Sw$Lt<p{i4B9H~gur%NrJYdQ zPFtm&aDeZ&RoV$D`)!qWLYdobm3Bhlkgd{A2z=63X(t38uvOX#Tl%p5D#8QOPDmNC z*P=g=c0%A8Tcw>4IBb6kRU_?$z!6)eoe(%`tF#jWqqa&rA#mJQX(t3;&r@k91Pn88 z1#9gHu?;>m@26DWDU^rJJe77rPFLE=x6s`|rkyOoEU{JE3FD<<tF#je_-vJSBI2a2 z(oP7J+A8gYPK?+p?c@)jRM;x*gp_JqrJXS5EwEME2~|h!8&NaTPN=ORm3Hz7249eA zC)d+1m3AWSQfVjBE|qp7!fq<<<RZxEw39ngwtR=M4{_)}f<k%@h6#eqX%vhg?c{#| z+bZpZUNmf#b|PGAtF#jWVOyo0+zgR)+R0;pf=oM^gGgelw38O7H*A%5vI_uK(kku5 z2Akz$wU&<)&hoJ%EFYU~`KZJaS232jlE8@uvst8<*o7jB`mVw>ukf82{xa+1BHTB} zE6>f-c;PfJ^i>eT_LIEsIXB3NQfgm8;DS81I$})Y!SYewLuI}Ty~CnfUdvg&pQ0>6 z7%y0)=fnv?<gGZq;vZ0sc`J?`%7wV)3t%6LqM}(SxO^?e_<%pSa%v4|C$Vh#$X3KF zwI&qQqT}QU%H|nG3vsZ$`fqlMXws02>r8Uhlx-1Q`Y(D;5%=3m%sYV%&&SS)_^=PP z6w!hQh-H(F$XzT>&5xq|ZH*1{LUp<^Lp+l#HA#zn0YqO#DTQ7pA9t|(73^pJ7-ig} zBkhp7%ttSZ%{<V69yob9InFO7H*P3KC9PclDa;X2XPIl$6g>823(cuQ=Vql-iQ#U_ zX%`A=A#3#F7R(s#mYnvcz|ADC4!DK*Rfy*b)AH$n{eW-A@AS5zF2g)obf@Q*?%7u< z?exiuuoZ^ju|exBK1zDubZO}<+@ias+c<-dBDm43XWXiQ-2h-~zBwyc==TPv2J_8= zNxaYGDKWgk^Ze)g&-FLLKySI>_g?@G+#yj#j2J5fEXld&7(7fmRUFV+e#9}m(DVlV zeyPL+8Mmj?I{Eh^ejt3h5+VY5P{2Z-khRjX!3<d}twV*TTX(qFJguy;kk#Z{!ioZ7 z2p3LHaqck%rpT=fL)J8<WXW_$R-yXIs`Zv^eQAz)fuAjfJwQ=uSq0iM4Xjf{0rOxg z400JfZJw*K7nUu=ZLpJEYT#F@Ia$<*=A2Rpb}~iyU~alw*aOUrO7p@p;XKrT8njV( zW(o;yY`sL6r_h2|qi0nbN`>HNU8klv6^dF<%jBat24jj->Et+xmflt;3^^U<vL8Wf zEc8tNavcWHY}Eue4tZp{4Y-kbl37#OVm@5wUpslde}i?gaL63XsL?7aPvF3v<~`S& z7_K#<r>oz4J@PM0Z>fWaYBT{)j#F~9QtHNi*m1CI?>q<^)QBgF*{zHSo90`t=HV$K zKu!(OGMo(E4K)n(E1npp6bZ*>IO}{R4ob>d3#IWiXOS#^s19Dgpb|4k&H;9BhMEhN z&)sUG$`m)Q)(>|TOrq*KzquAYQ!i`4-TYKl(w$3OFm9%+%0-7uM=Z;<M<N@PcSNOl z7GDWhW>~s>Ub;(Hu#6LhUoqjnat8nZm0%>J&?Fg!eA!XRc29oB8iu8eD1@*iqfj6_ z3gu<UV%i2XqfjUvg~Bol<?AR^a6%L+bSuLdR7as=9fe9VqtImcK$8*W-wI5{1_u+u zkq$X0XAB$6rBgD8uM8`ZOr#Dg(;2U3j2AOb2u~TKqC8`;&2r6TM5S>@JwnqsQ>P-s zco}<iJd*PO2F{k1$zgs505#!_>(KvRBZf7ZX}*bbjERk75dZPQvZ~fAjH-dbWK~Rj z*9PC@scIkGk?bDmpL14a4gR!uZdFfzd+%^Zyh@^pl@deURbB1vbCLrCy|_g@r)FN& z(7-^lYB(`eg(L;is<tnfADcgK&QQFgyDd4Vx2J!2dlmSUMnmvw^;>$9iA+pl2N3_N zZQ6W8Hm<6&lGdo#s%7X$PJsSOP-Q#)AzwFF+0FH9BH7Uq??f4^)g(Selt2+z@w$k4 z0S>rq4u1WTrVztv%-{}w2}ml0_n-zksR<SI#o^=*ca?Z+T>Fq4kt$=!G`Isd1v}$I zTABEeky3>(_{4$7f?qXL0(h%iA70l60BzgCuL-3TqW)p|;UPDwM|`+Q*3i-0+0J%h z2{gE)UA`z!QqW8|RFV?nGfA>+Sf?1aM?VDio@-iGVPRpBbxLj?Zu41I?q<t2JUM2r z$t#2$kFNl@RhF6S4VczcQoPCKmgx=L7tvtEvU4Bz9RyDaO5UDlEUV1Q%k}OsrK*cE zGzlHh?!2z#uL6JW1tpfFsx;RFUJY%9R&k?cc15h>Q`TGFT$rtMO1$4Pq}?#wo9n#_ zw!VO>H{>q-*urG)jkNY;(+YdH(9)CFS3;q;b0KUpmoMxDu*mYEGAsAPtaQH%@u9C; zg>0jVN1f6M0$gsLOz;LP{83cXX@wze=dQ3OOWqlRcb65u*vilSK%q4+cfD1!&{~?b zCS$+Qs;RW5uU~Fefz6v6md!RTDP>C47fb94C^!gtH2r)OH&`{OY3XvMXL9AguC42T zpSBA4!IO(d(QONL!v*&J3Mm}Qhu7c;TjfeXbq#vg|ELwf*r<v`Dmmo3Be_4y?NZ%x zS*nboanE%ez+!}ZIl_OIHB9Dnm@MZonZG^~;W$|(#!2#oVFKDMYS`Rr1vplh19h9_ zXR#6(-%RVY+#)M<9;&z%HCiVDDm%wI={;6i8*rBbQOFwXq*V+d3*DO!Owl6CYO?ab zZ&@p?{5yc|E-dnuiz>_&>tzF*lc`3bx%rP4T4lNU*6LkW*}K{P;XnDNtJe3p8S%%N z+Arm~-bIhX6IOX{KH9k`*S81L#22$H?~X_(#u=uU&MxqN%H;gFa`zO0;N6Cz*Io{D z*=#HK$HEQfretNVcW|L)Gcuf%i)m};F3L?_4~`<v-s>YU@-LQEiUX(Uyi=_*?^Q`_ zUY&Ik`*pnt3uY4hms)e7c^a|5a%0Z|R`6zEX9J7dBraZzh<-#3Z?S2e1&^A)v06z# zNeVBNP?D%l%PdBZ4=hBF=dX`gQ*!Tuh3Ktf6un8)D)I&@ttsAQlBGv2dxKSUJ}g{> z#>t2%!qa;;S|Pwz?yuF5_#ok52}T)OZnc8BCVin}%?GW?*@(hi^J6ZKTg6ziZm|64 z0b6~^t{e}H81bN<BFiqcW_j<t4&@T7-233wC=|0lmP>zmzvTrccV(fpbNR<|2zn1( zYYHWg{d-C{w*CvDcHEj5j$bomHsoH9>P_#*t`#2mxw|2`CeAJ1$F6bPC2=DP_jO?_ zaaO?l_%(>M-i?3CUB5vMaBo>>ZZh}R=rzV*@5Kwz@29WN-S96ui-W;eAiV@T-6sC4 zzJ?iHqQ!9dM=~6q+sVd$?V5i_{f)XSq2u4~%9Ik=cu?D@2ZeI<^>pJs*O{7}*@U<0 zj8sL++K(zf$T~Pld|W259=hcCH4Ae*-u<5S>t*BqjXLezV}H^nkJF;JHC<9xdqP-n zpNaLB*LZ<T?s1mj|C?9S|Bu(-NUiVDADfh`?9|E{PSMNh%tdzALK?)>LK^GtjD<8{ z`MT%SI+mEsr8O{_OKTw9?5T3*G8<g!6*Sh?__S$Pij}ntbR>oc)dC-|VV%zPue$5# zor1YlSX5}8o*P_lInm^!GN|#?zRH>=Li}@=;A}R`lUP2^F@<G}x}E^WNPm2r_+Dvp zFxK6c=r*?CWzs`C1WLRBTD|%i%W%;9@l{iPJhcan#2cemkN=%fp(vIlqxjlt^A5Zp z8Xr2vcRvkWy|v++qywUY!M5IbGRap_PxNV0Sk<9EK-#|rmyLLnb$dLv9bal?Psh)i zi<e{fcO(q(wIyPGZG(gSl&bvZDg^Kq*P)*6u|B-3x@WL=2P&#f?C5V_DLPF^iT7$Z zZ&<cuRjg%6>)Mu8#+J_5P#m9EO~mC@&^T|#Zr-sb{SNHLm9@(nS1pUJT)lWntYul9 zG1!xA@1{lK{nh$gs@oI%04;JVM9W2Ew#J9}a_|0*7_CScZGEw}ZEZbCj2M`JYocTf zukHq%@o89>AF`X5VM=4HW<I+>e&{xXRKo!kr-|F*ZCCX29phDlLj#xNedQ;-(i{C) z-`f-KPcCjtwi!s)V)w}rqdrfIp&`83*Bj$(FfyuIY7F9%k)Nf_KsSoY+u*2phe2(^ z1(`feoJ!(bvgqy%>1Ma-1D&1B8p~j)U%6q0(T4BuZi@;3cFGU>Ca#S2B;$RQRt+(> zqRj(C?fAy6XcM|1fvz>$MUy+&<P61hYMtTgg0_whIpbl2&@kAuJ>I*9eT`n+f>C6k zR&;w8Ji{@;F9t&%O=1@h;ETX+bwlyKHu+w3`DNmaF9!2NxdZ(e#taV;u^aAB^mO&( zHE6gIK=tiy@F*3ghJ3oM0|o~q`njE)m@aLc3kGMs>`!T3e|&qEH#gL8sUI@Xjq%3C z_(pGkTnuIE5MKt)e$6{Z3=9|?Nc1Fow#Ly+*JKj4!`ArFAdN_S--yY0M{IJa4O0W2 z%W!>DZJm+mZW|QicBrSlyM3T<ux%)AY~j1*6EW#a*)lbAUH#PAJ1{U5>*(2v&}GQ^ zzG}((R=4lbCEI#B&`td8abu#f5AVxQw)Jw%v(uotZ)m{S2FIaC6TLm{*&j&er=t<( z*2wQUgFi96rM<T;kr2VM6}Mz$z%=k$f8isTgNcX$6HCyg44L9CS(W={ksQX@x9vdp zitka=7Ffk$pZOMlylEdV)Q>ectZrQ$TehS%Mh`B*r?lbnv*tp-a6N9k8LjnAvD)V5 zC94)A?yXtd)Cx_sUw>FSrd-G=qoQv6Kz}>FiVdgs$Gh;s0rait=WTFKN6!!@5;|Q} z;P&cJqPwRPA&jSA)y0r%+maaQ9Y*M9%oB4W>nqyu$@;}h>RXm9<@`}qqrs`@Gv3F! zSIYRW!~3A>2~MdPMqbxYTc2z0z*IE4ekr04zn)-h?ZJo@1GFQK&r*vHkN0iCNYwYb zR*Fw3$Zr|M)#n}9R`;w`T`XK)GhfaH<pVkFmbA32ZlQA3ngJO<(4S%!ij!_%M>D6X zy2aM4PLq%k0YywZ!JIKc)~;HyYW2md<e71S(Ko2WjyP4aMkdtaAlEDjqdVTy)h#-d zA9olO9|0$wF;Yx%^cVi)A*t|+oM$|Pb2_MbfYGhy0@&K=3`Fd>o@fZ)%p#PA_q6M{ z!PyOu$C7Pbh|*nKDV8xoJBQ+N(LfON@EaW9Kx^Kyu5C#9SbY(l4dd-hP6@Uevkp+t zp!|Y``+F6f0I;1APH2zCcmq{T430w)`Jk<{x2-F|@a=Mf@PNx2RDv*t^W`AF){z;h zc#>#35w!~83lT+xYG@jYC*ng}ar#4zJpULte~R-cEkOH?{to<ESZXPdsjsQlz$-B$ z^)=_bows5}=JX|p`{Rqc;{9<%PJnGg?cIxT$9&HGd679?kvXf+ip=TkADDv<>uFEU z89)!AL$(3g+*q$aX|IN(oCS^jiDX+pVj#@rs1&QI4hXXy9BBN6{4l~ZzWOefTU`Bt zcPKuXbvAEmQ&T*Nd77GQ#Bp$OFfyhsZA7RNfeqnIhfCRk3(&7r>z+T0an?!3#Vo>* z5Ti6TEaa(`@fZ;gQD10t4Rn1%Ymn<*hDrpY+SVnp`qe8})~;Ht#w&v14lzW;xDXSG z=kD$D92pyo55>fsAv>3>TsB@g9Ea0%gn~ah;=LfmRIKAEJ|@ob+6X#5E<+9$-@;yc zlyQk3b*<53(6efo1g&1IMTCW^bwYc0n^=G7S=B4UGYsiT#4v%yl51cGW_f>y@Fyrd z<0->Yg$NU|+JrvMsgt#sAZmp06EN&+4hOY7LvvCehCz2JMitpoV~J-oUggB(L9HBJ z(~g0PGgx1uToI4!MGxx3=;i2>^H(&!85m4eX+%OVU***Y1lqAQ!9t9SiM~P6+};6n zfcm<RSa$1ci+<r*;qS)O`bEYao`-SOfbgSEn$V2PDt5bauROOdRjW`D1yVi2(~#>d zi-C+!?$FQT84O3Th($bq(tcTm4o6&mqPFxpDmLD77*{2=&{!{553yzOWb=t9YIoe$ z4#3hrGww93S;uDS(c@lacH+XZm+Rh+f#EG!?}Kd%9@nMUBh71DV|7id>sMr|gmLRL zG0nAXlR7<SlE5sYh4K>WNCjdsi*Ys)-8h^YAwB(94)@@@M{pfue>z6EzifmN*}S6( zt7?qvbpt&e95#J23R8f~g9H$X-T^!}>=WUwPX_BmytmWX+SWT9S2qVRp*zJ2a@9b8 z9CKut5mBDE`>>7~+`%h-ab<{UEUt_&jbnA<LILW<3NYg~2Ci9$x?;_3SP-`k5Ar)x zF1bd2BB>Ak!LZ{ZpiB~0A^L_0xb%4+c8GBgXYndNZN(ZI(3f6+Q?bx5VhHY`q_&;B z34yH|_c6G64SVdM2IeWGX*BC1-|xuHG}e4T72`}N#3n><RlpbA$R8@;uWqCi%HAJR z_S~b6s9G2Iq^e%0tJVrlV_mi)1$(9_so5#%W?f9TCH7TC6@MrIQB<poKS~M4POO73 z$>dg&VrrI%^j<YYA+*0AS7?t>eNdN=q}!~E?@sBxRJZwH3e~KO|B*sns*Aco)UV5F zZ!s4zV^cNbslVK`nS2WdH>%O)->1#g#k855w3&yLO_cmcM!lM{eUmOuQ^SO!x}3Is zle8$kSLUP<C~5nTyX@CxBUNLwF7~8QmudU8)7%c!2AalYx~K;~*>w48Wk1-mrvurZ zP-HzTz^043m1N6k4*=6J@uDjJ<HqcBZfjDOU#dN>k5s}p$#B!=n#QGk<j;-C|J;D8 zP{j+<DBTvm6GU<8w%nUWNm_cJgLDV}<2H_k{~ueEi|*w=ZAop~SK5-_q*2;0IqBwU zznqyyrQ0e?o*WB*35zGl_^10qA5CME?hAcnpJ>PHp-r6jygouydtM)b(w^5xpt9|; z4EfKK8X4)ay-91|oN7<1mYdQjt^IHsl|4Sksdy6n$A3AgiZ4$2HdS$5TBUAQGL6y| ze=3dA6~B;1Ww#g!wSM#f{^^#cqtRvB@A^nz>(<AWPU3X)^%%#T)Xmo>0F_<!xK(B| z<)rNDO*!NQO<E`_=Z<lyI-15>T}-A>Yjkl(3bj@j`L}}Hatyq%;Di_=X@)VP3cplG zRHKV3zGww9+8C465sbQct6E0<<C?N-{B5enR$csK3bj@j|0ji7r;Bd8S`Vh6lwGaj zjkAzr(i%6c33PFb%hc9`8qy7zc=3?((~qP|=)6c5Qx?F{7p3e8r0ls!7j-rC6Btk2 z^y^y$Wkk`Bs-tPN=;EJJs5QFiHlk%5BU-c(vr=}g(M9bB+SQVB%DYnDTceBa2B4A& zHm&yDR87sgc-e_M_oPtGx~Qwc%5s7#@YlVPGCf^~F7lmc+;BG24I50MnsqT<#|bMS zs=P$$<=;|rV`R|f6)A0eaX`ifZuH@KN~p;tyiS$V!mYY^vC`)?lIDp{^{5T?Xao4# zG;TCXm%o|9)g07izK2xu%{{2gr>V+3##sk-ncqj1eDe;Tqsq%txD(eOY4>Q;F*c=& z^j_7i5GR^`OT%Xr%R}mD8tZjYx4>iE(!}T9++Iqv>7s5F*qZZ{!IRYy+H_I36Kt(g z*NOW>O6<v$_*z{&s!%e#Y3Mg;MqT7zk#qa!aZuOxt(1~hU3?*hTBD1)O6qMrsG*PH z!8SL{5?#Dop(LY*v|0aPI%#{vUsVa67wMv|jyf+&Rn9+;<AyM(i@F-gD9ID;b$uf# zH7&aMVhXiR7u_bbjAKHJHsN5(CF^uiJAqcU9Mq7u^&bR$kJ7a%rL*~QRs35Tg*Uv4 zEtoq0HkYYlWg0b+8;<L?rWKm1cvlK_sWzIgSmcH)Qe8~9<Af+Cc?EmMX@z*a^GIws zhwI{5DbyNWT%b^1V|e314V<fx^yk`x8sb|qx#bc&(>&NAK|>!g^mMUTk-SF2Jg9-I z6%q#N;$3b&4d{16>3S4T`k-P&wq2-StGG8+RkJQWltQi1#Ya=9wQ1$DBzi&BLk#}l zOKgnBx~%K>7&RyOh<w@^x;?}xHCcz9ITFEFZE%B!bn##cwMG}er%<wYq{Mjp6ScN# zt@o$2uG7WOy0o?))X?EHqb|Cu$I5KnO`H0~lz6i)@~tD>&|A8wHDb(5T6%99+LEVT z_MN!WJ&|vMS^uz7^H|D^W?g(Lg_`gLVi-pi(<>?FwYs=T-F!gHbg^HdWLIfuYno9P zw`DM<+n+A2R2*8htCqfhDy-G0OCSy~U5qN)KO0SC(<9$BT6M8Zi9@3<Miq)0#~UD3 zimpS@INd&|rk-B-d|bhL$)I2BsMiLTim`eTplV1RwDT^_a-#NJicuBxEd+gOudgTd zQQuE^U0vegLRf72T3_Eu&{yEyimtDMZ&xs1l*#RoI_gVeiB0db?fL(!etk<t*RSuV z==STIDZ2goPD;8ZvZVd0FX6Rc^-=pVqWq%$xLLv4kNP@Z`%PcOA5nbz2HQWY|Nkxh z`ksi^uWyKG`}N%rZNI)1qV3oBL9*@Fe$%%;wBPhm`$>;G?I%6%vi+2;{~y4di8;m} z$Ff=Y*Ww<-pZaE_rZZ3we>h)b<Z-&fhYK?C=K#dlV~j(!60c^yQ7`cMhW=iwmbx4T z>Tk}{vsLhi4gLLB&Ho`3#<Tw}rAPm9l0IwSukiY>e{|@140zf(qU^*UL5b~q3a{Vk zuJJ!tc>Pv)jpwyJ?azL#DerGkzkc7l=AW$a&t%m*8~E|sbq?^<uai!rsE^x)LQjb? z5*47)Ee{5-XHBETh}KGkA{*-zey74m6hF}8)_bYo4;j<S6{G7go}HJ2-(v&}{XzlF z&QpPD6c|SqX^cExBk+Yr_V;0L0-k58k?EQIcL@HH)VR{rdj-DO(BI|N_^$x(;a7F> zJ^}akIPh60L4F4KtRX1yyt0kB6{zy-6X>yVDjQFKWCA?%#>eBoa02}53GlpmHlCg? z;0rK*j^a<Ixorc??JA8gk+8l^^6m-rd|(3neL|1a;od(!0sntafd4u05w`+Wet81^ z94zt2Yj5EM`0@$xXHI~h3q1Xn{kH7d3HVzSe^mMTHf4Wo0{-3!@b3nGJU@H{_!;B) zhgX@xPL-6d-}+&+4<!>x<T4;5zau^r??SdQ5@V8l2#qJ?31sth48*#62ez~!ZwR@# z$V(mGZZNr%89W`8)#G!-kZ;fvlWCF2PR0}dPNerC^K7`U56{@~@ID2Jr`Q>+?)*x3 z&PrxBCGsT3$&<{?MH(mDGE+%LN@h9*Vw|L+^s{=nN+$^*KNQK+Oe%mQ(zysS6CoB` z+ETl6NsL*XF=UCuBXm|`K&R@*7H?QpyOJ4PF{F#dmNY1VhQ%#FwXUq!qRX0A*VQ(~ zRxe$;23e!6wRKHPpin&hS6Oz*tzj~MbXiklU43jWzQlaC5o>H+3Db0^LLa-dwT<Z? z?!1CVW)V#A=K@T&U93|4$H{q?nKNrrS+&`@TROddoV=ZwOkg@8v18)DHb5IiwtPk- zr3E@KR_D+(Ce|U_r2}5<>O&?Ya^aA*#0;$Q5}4RVS31ZE867&YOa9%$37N228CMy9 z4Ir&knMLEK_=rv#w~J!2_U&yPH6m{(tI_N;clwA?nb^^nY}<k(yd;j@y3{|Aj8}H` z4_9s(?&<BA1GflB{5?r!$BuqT8sdnw8bMJBpcz06G~|l6kx`Wfdy__`7=)EcW~En( z5neeoAQJN{<K1eOcXvQmLsCLccPXLElwuW7Ak1m&>uHAx$a&$eQq(3jZ%HJKN`#<3 zL>6hJXjvt*k9)QtZyDqc{C!9lRJZkarNN&5PU@DVEn9}-TQ$VId0mFzbP>7hx~Mdb z6I=fs)Km!Z>IJ7Qu`N&qeav1?srwL$8{auW>9w)30WH5-74%Wx<3rdNn_gEc&>)?8 zAzJ=+RnSMi?0_5V#S(^p{4cgrb&TRjmXy4@<i1@U9ZgXD)ZyM50F1fpzgu0(>0?we zYx}i2edMjYw_Nh0N?so$N<Q0ug%)=+Nz?j#s)72rQyHx5&u)J|WGP>#6!J}u-1M<R zDW-fee%bQdfnyc=&O&ODq82M0AMTBHxwixWw|qp&>7%w^%jh+bK3<z8&+lSz)5m~n zkHnt1hPnX+cl~-jua9^|RK}KV|9h3Z_P-HP?CLl|<*rTJtx+F9fh<~HUkB)8_C56M z`VVEvM`i$lO&?Q=B|6oA3N${A0<U@X_|Vs%&&-h=y1zBQhV}7FAn<KuT3%o89)6qh zPe7LK*Yf(h>Bv8khltp|i#^Alme<!;N0t0x<$vurZMW`+Ban61|G<Spt?_`m?Z^1y z-n6_vz6hdQUSF4uD*3~1VU)F;KE9MCKN6J!Bh~VFR31|MNU9_YzsG^Pbo=#vh(k4! zuGC0C@umP2{)iv#&*szesu?K}<xU|(<Qw>@kR^Byw~2#sSk)iV0un7^jVg*m81yU_ zfj>T1a&4A})IOW{lnLaU)$LlZzHO^CWXqp1f&7|IDey)rut_*uo>>IhIC8G+ll%|n z$)nz9^Da^H+5R`)B_(EuwWK_1d3|hF@|j$CchX*oc@Xa(bZ=Tt<2Ftp|KdT(u~QE$ zC6FyoSjR4{lgG^;SCH}_!_sv8^tjjOUxw$bDum$XPl<!^OcpV_eun!j79m)1zm)IE J637CL{{u*TgvkH^ literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingtk.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingtk.pyi new file mode 100644 index 0000000..e27843e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_imagingtk.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_tkinter_finder.py b/presentation/.venv/lib/python3.12/site-packages/PIL/_tkinter_finder.py new file mode 100644 index 0000000..9c01430 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_tkinter_finder.py @@ -0,0 +1,20 @@ +"""Find compiled module linking to Tcl / Tk libraries""" + +from __future__ import annotations + +import sys +import tkinter + +tk = getattr(tkinter, "_tkinter") + +try: + if hasattr(sys, "pypy_find_executable"): + TKINTER_LIB = tk.tklib_cffi.__file__ + else: + TKINTER_LIB = tk.__file__ +except AttributeError: + # _tkinter may be compiled directly into Python, in which case __file__ is + # not available. load_tkinter_funcs will check the binary first in any case. + TKINTER_LIB = None + +tk_version = str(tkinter.TkVersion) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_typing.py b/presentation/.venv/lib/python3.12/site-packages/PIL/_typing.py new file mode 100644 index 0000000..a941f89 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_typing.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +import os +import sys +from collections.abc import Sequence +from typing import Any, Protocol, TypeVar + +TYPE_CHECKING = False +if TYPE_CHECKING: + from numbers import _IntegralLike as IntegralLike + + try: + import numpy.typing as npt + + NumpyArray = npt.NDArray[Any] + except ImportError: + pass + +if sys.version_info >= (3, 13): + from types import CapsuleType +else: + CapsuleType = object + +if sys.version_info >= (3, 12): + from collections.abc import Buffer +else: + Buffer = Any + + +_Ink = float | tuple[int, ...] | str + +Coords = Sequence[float] | Sequence[Sequence[float]] + + +_T_co = TypeVar("_T_co", covariant=True) + + +class SupportsRead(Protocol[_T_co]): + def read(self, length: int = ..., /) -> _T_co: ... + + +StrOrBytesPath = str | bytes | os.PathLike[str] | os.PathLike[bytes] + + +__all__ = ["Buffer", "IntegralLike", "StrOrBytesPath", "SupportsRead"] diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_util.py b/presentation/.venv/lib/python3.12/site-packages/PIL/_util.py new file mode 100644 index 0000000..b1fa6a0 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_util.py @@ -0,0 +1,29 @@ +from __future__ import annotations + +import os + +TYPE_CHECKING = False +if TYPE_CHECKING: + from typing import Any, NoReturn, TypeGuard + + from ._typing import StrOrBytesPath + + +def is_path(f: Any) -> TypeGuard[StrOrBytesPath]: + return isinstance(f, (bytes, str, os.PathLike)) + + +class DeferredError: + def __init__(self, ex: BaseException): + self.ex = ex + + def __getattr__(self, elt: str) -> NoReturn: + raise self.ex + + @staticmethod + def new(ex: BaseException) -> Any: + """ + Creates an object that raises the wrapped exception ``ex`` when used, + and casts it to :py:obj:`~typing.Any` type. + """ + return DeferredError(ex) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_version.py b/presentation/.venv/lib/python3.12/site-packages/PIL/_version.py new file mode 100644 index 0000000..72d11ae --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_version.py @@ -0,0 +1,4 @@ +# Master version for Pillow +from __future__ import annotations + +__version__ = "12.2.0" diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_webp.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/PIL/_webp.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..0afd77c90bfcfcb2e6951e4d291b73963dc4f2fd GIT binary patch literal 108849 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�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 Ic-s8`0#tjZRR910 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/_webp.pyi b/presentation/.venv/lib/python3.12/site-packages/PIL/_webp.pyi new file mode 100644 index 0000000..e27843e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/_webp.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/features.py b/presentation/.venv/lib/python3.12/site-packages/PIL/features.py new file mode 100644 index 0000000..ff32c25 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/features.py @@ -0,0 +1,343 @@ +from __future__ import annotations + +import collections +import os +import sys +import warnings +from typing import IO + +import PIL + +from . import Image + +modules = { + "pil": ("PIL._imaging", "PILLOW_VERSION"), + "tkinter": ("PIL._tkinter_finder", "tk_version"), + "freetype2": ("PIL._imagingft", "freetype2_version"), + "littlecms2": ("PIL._imagingcms", "littlecms_version"), + "webp": ("PIL._webp", "webpdecoder_version"), + "avif": ("PIL._avif", "libavif_version"), +} + + +def check_module(feature: str) -> bool: + """ + Checks if a module is available. + + :param feature: The module to check for. + :returns: ``True`` if available, ``False`` otherwise. + :raises ValueError: If the module is not defined in this version of Pillow. + """ + if feature not in modules: + msg = f"Unknown module {feature}" + raise ValueError(msg) + + module, ver = modules[feature] + + try: + __import__(module) + return True + except ModuleNotFoundError: + return False + except ImportError as ex: + warnings.warn(str(ex)) + return False + + +def version_module(feature: str) -> str | None: + """ + :param feature: The module to check for. + :returns: + The loaded version number as a string, or ``None`` if unknown or not available. + :raises ValueError: If the module is not defined in this version of Pillow. + """ + if not check_module(feature): + return None + + module, ver = modules[feature] + + return getattr(__import__(module, fromlist=[ver]), ver) + + +def get_supported_modules() -> list[str]: + """ + :returns: A list of all supported modules. + """ + return [f for f in modules if check_module(f)] + + +codecs = { + "jpg": ("jpeg", "jpeglib"), + "jpg_2000": ("jpeg2k", "jp2klib"), + "zlib": ("zip", "zlib"), + "libtiff": ("libtiff", "libtiff"), +} + + +def check_codec(feature: str) -> bool: + """ + Checks if a codec is available. + + :param feature: The codec to check for. + :returns: ``True`` if available, ``False`` otherwise. + :raises ValueError: If the codec is not defined in this version of Pillow. + """ + if feature not in codecs: + msg = f"Unknown codec {feature}" + raise ValueError(msg) + + codec, lib = codecs[feature] + + return f"{codec}_encoder" in dir(Image.core) + + +def version_codec(feature: str) -> str | None: + """ + :param feature: The codec to check for. + :returns: + The version number as a string, or ``None`` if not available. + Checked at compile time for ``jpg``, run-time otherwise. + :raises ValueError: If the codec is not defined in this version of Pillow. + """ + if not check_codec(feature): + return None + + codec, lib = codecs[feature] + + version = getattr(Image.core, f"{lib}_version") + + if feature == "libtiff": + return version.split("\n")[0].split("Version ")[1] + + return version + + +def get_supported_codecs() -> list[str]: + """ + :returns: A list of all supported codecs. + """ + return [f for f in codecs if check_codec(f)] + + +features: dict[str, tuple[str, str, str | None]] = { + "raqm": ("PIL._imagingft", "HAVE_RAQM", "raqm_version"), + "fribidi": ("PIL._imagingft", "HAVE_FRIBIDI", "fribidi_version"), + "harfbuzz": ("PIL._imagingft", "HAVE_HARFBUZZ", "harfbuzz_version"), + "libjpeg_turbo": ("PIL._imaging", "HAVE_LIBJPEGTURBO", "libjpeg_turbo_version"), + "mozjpeg": ("PIL._imaging", "HAVE_MOZJPEG", "libjpeg_turbo_version"), + "zlib_ng": ("PIL._imaging", "HAVE_ZLIBNG", "zlib_ng_version"), + "libimagequant": ("PIL._imaging", "HAVE_LIBIMAGEQUANT", "imagequant_version"), + "xcb": ("PIL._imaging", "HAVE_XCB", None), +} + + +def check_feature(feature: str) -> bool | None: + """ + Checks if a feature is available. + + :param feature: The feature to check for. + :returns: ``True`` if available, ``False`` if unavailable, ``None`` if unknown. + :raises ValueError: If the feature is not defined in this version of Pillow. + """ + if feature not in features: + msg = f"Unknown feature {feature}" + raise ValueError(msg) + + module, flag, ver = features[feature] + + try: + imported_module = __import__(module, fromlist=["PIL"]) + return getattr(imported_module, flag) + except ModuleNotFoundError: + return None + except ImportError as ex: + warnings.warn(str(ex)) + return None + + +def version_feature(feature: str) -> str | None: + """ + :param feature: The feature to check for. + :returns: The version number as a string, or ``None`` if not available. + :raises ValueError: If the feature is not defined in this version of Pillow. + """ + if not check_feature(feature): + return None + + module, flag, ver = features[feature] + + if ver is None: + return None + + return getattr(__import__(module, fromlist=[ver]), ver) + + +def get_supported_features() -> list[str]: + """ + :returns: A list of all supported features. + """ + return [f for f in features if check_feature(f)] + + +def check(feature: str) -> bool | None: + """ + :param feature: A module, codec, or feature name. + :returns: + ``True`` if the module, codec, or feature is available, + ``False`` or ``None`` otherwise. + """ + + if feature in modules: + return check_module(feature) + if feature in codecs: + return check_codec(feature) + if feature in features: + return check_feature(feature) + warnings.warn(f"Unknown feature '{feature}'.", stacklevel=2) + return False + + +def version(feature: str) -> str | None: + """ + :param feature: + The module, codec, or feature to check for. + :returns: + The version number as a string, or ``None`` if unknown or not available. + """ + if feature in modules: + return version_module(feature) + if feature in codecs: + return version_codec(feature) + if feature in features: + return version_feature(feature) + return None + + +def get_supported() -> list[str]: + """ + :returns: A list of all supported modules, features, and codecs. + """ + + ret = get_supported_modules() + ret.extend(get_supported_features()) + ret.extend(get_supported_codecs()) + return ret + + +def pilinfo(out: IO[str] | None = None, supported_formats: bool = True) -> None: + """ + Prints information about this installation of Pillow. + This function can be called with ``python3 -m PIL``. + It can also be called with ``python3 -m PIL.report`` or ``python3 -m PIL --report`` + to have "supported_formats" set to ``False``, omitting the list of all supported + image file formats. + + :param out: + The output stream to print to. Defaults to ``sys.stdout`` if ``None``. + :param supported_formats: + If ``True``, a list of all supported image file formats will be printed. + """ + + if out is None: + out = sys.stdout + + Image.init() + + print("-" * 68, file=out) + print(f"Pillow {PIL.__version__}", file=out) + py_version_lines = sys.version.splitlines() + print(f"Python {py_version_lines[0].strip()}", file=out) + for py_version in py_version_lines[1:]: + print(f" {py_version.strip()}", file=out) + print("-" * 68, file=out) + print(f"Python executable is {sys.executable or 'unknown'}", file=out) + if sys.prefix != sys.base_prefix: + print(f"Environment Python files loaded from {sys.prefix}", file=out) + print(f"System Python files loaded from {sys.base_prefix}", file=out) + print("-" * 68, file=out) + print( + f"Python Pillow modules loaded from {os.path.dirname(Image.__file__)}", + file=out, + ) + print( + f"Binary Pillow modules loaded from {os.path.dirname(Image.core.__file__)}", + file=out, + ) + print("-" * 68, file=out) + + for name, feature in [ + ("pil", "PIL CORE"), + ("tkinter", "TKINTER"), + ("freetype2", "FREETYPE2"), + ("littlecms2", "LITTLECMS2"), + ("webp", "WEBP"), + ("avif", "AVIF"), + ("jpg", "JPEG"), + ("jpg_2000", "OPENJPEG (JPEG2000)"), + ("zlib", "ZLIB (PNG/ZIP)"), + ("libtiff", "LIBTIFF"), + ("raqm", "RAQM (Bidirectional Text)"), + ("libimagequant", "LIBIMAGEQUANT (Quantization method)"), + ("xcb", "XCB (X protocol)"), + ]: + if check(name): + v: str | None = None + if name == "jpg": + libjpeg_turbo_version = version_feature("libjpeg_turbo") + if libjpeg_turbo_version is not None: + v = "mozjpeg" if check_feature("mozjpeg") else "libjpeg-turbo" + v += " " + libjpeg_turbo_version + if v is None: + v = version(name) + if v is not None: + version_static = name in ("pil", "jpg") + if name == "littlecms2": + # this check is also in src/_imagingcms.c:setup_module() + version_static = tuple(int(x) for x in v.split(".")) < (2, 7) + t = "compiled for" if version_static else "loaded" + if name == "zlib": + zlib_ng_version = version_feature("zlib_ng") + if zlib_ng_version is not None: + v += ", compiled for zlib-ng " + zlib_ng_version + elif name == "raqm": + for f in ("fribidi", "harfbuzz"): + v2 = version_feature(f) + if v2 is not None: + v += f", {f} {v2}" + print("---", feature, "support ok,", t, v, file=out) + else: + print("---", feature, "support ok", file=out) + else: + print("***", feature, "support not installed", file=out) + print("-" * 68, file=out) + + if supported_formats: + extensions = collections.defaultdict(list) + for ext, i in Image.EXTENSION.items(): + extensions[i].append(ext) + + for i in sorted(Image.ID): + line = f"{i}" + if i in Image.MIME: + line = f"{line} {Image.MIME[i]}" + print(line, file=out) + + if i in extensions: + print( + "Extensions: {}".format(", ".join(sorted(extensions[i]))), file=out + ) + + features = [] + if i in Image.OPEN: + features.append("open") + if i in Image.SAVE: + features.append("save") + if i in Image.SAVE_ALL: + features.append("save_all") + if i in Image.DECODERS: + features.append("decode") + if i in Image.ENCODERS: + features.append("encode") + + print("Features: {}".format(", ".join(features)), file=out) + print("-" * 68, file=out) diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/py.typed b/presentation/.venv/lib/python3.12/site-packages/PIL/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/presentation/.venv/lib/python3.12/site-packages/PIL/report.py b/presentation/.venv/lib/python3.12/site-packages/PIL/report.py new file mode 100644 index 0000000..d2815e8 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/PIL/report.py @@ -0,0 +1,5 @@ +from __future__ import annotations + +from .features import pilinfo + +pilinfo(supported_formats=False) diff --git a/presentation/.venv/lib/python3.12/site-packages/__pycache__/typing_extensions.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/__pycache__/typing_extensions.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b8af5f6cf9f7e2533692b4a408bb489f85d2c63a GIT binary patch literal 163766 zcmdqK30z#)bw55E!wd|}zzmC62Z7jx(7x{i$<~Hs32)<NH1Hl02+hcE2FVa`WLt^B zR$>%86>8)dJ8CV}N`f0VQQEYTois_Cw4D(+jHft1xmEjXx?-U=j`M5#`=0yO86IBp zOFy6g=l>+`ym$BI+;h)8=iGCDoRyVf!1GV{PIrD)Fd6=qKIA7ydYQRiW-y#Ha0brU zZSaY|MxT*=n|vnrYnFa3J`4L!^QEz0tIx`Q(|zge*XFaaU%SuFelvU->^IYw$$lNa zEcTo2%Vxh$pOeq*^2$|Ge>v092Mq>6EG@^EbJ)O{UpD%3Ig8KDdwh9wq)MYyzI@Kg zXLmKKxyf%`OXN58_k_VW&t$m6z@?uyaJE-XVu-KEWZ;Wlm7@8I=P1uE)iUF>!B-MA zbD8vuve&8k%Wu9?<e1&HLH<^MImfF;@yk~}XPhi0j(5&D*-D&>Ipa7v%N3W>%K3A~ z%R#(cC0^wm?RT^G)7X2uvyWBzs*HwU0qe~?^kzQqdDSenYytBvfNvqc;L1G3zY2Y_ zN9_yw%~#Fh7a@KzVzkKq>M!b7@~TDr_SLf3rHEaI*!$I3@>^2uI>c#}L)2ei{fD+P z3#sl=W6N*8g&6m8jQc|LWdonhdF5UcD1}dsr~djDAw>mJEaK+FZJeXjO4hfO$HQt` z`OUXDxSXp(>LuI)xJz04tI_@%#OLH#>Tgo}m$TTlh+W6mC55a&8&+`jR~9Oev>5qy zsrkrnzLipI8<f^AK+JAAT>bT}f`3r`mfw7<;eTBIQh$AGf~%0XsY_7(<Tv<RyCU+J z`l}zCUoY29Y0U<15qfJC*9dntw;1jk)S^$#Nq+Nfgnz&MrT+Rh!T&M!TYmFxhW{z~ zOa1k2f&UZgxBTYY3jfpcm-_452LI2h-}0NU3I2ofm-_2#hX2#*xBTYY4*xUqm-_45 z0sqgd-}0O94)_ntU+S;#&N-lyVOoK(`4Y_hoxYvNcKLQ4+wI$ZY>#gbu)wR_QuOX# z25HLxY0HuS1vOv!EeZNsFuoqnsEpP=e79h1<;a@ft`W_L^vbQ^_woBWOjlMa*k#X$ z<nX*s4y%yfs7b$zrMGmA>c!;<f?u8;!XKCiPvo;k!B4xTe13O!Y;F~|_G9O>6YJo* zmyO(dZo^>{xACx%+jPO~YenvNBabVybC>(_h=JSu6=PpIR>ym}Ef|^mhK-z^+j`pQ zyMK-m-lpK6*JtPJ^98pfhYYR>IXu8MBgY51?QkDrBfbM8eg|shL9KLB%e7L*>0#c_ z-Fe!etha|)E<2ISF68j$?DF}Cv4+Ul-}jL%`2Or1d~LwOyHVpdzRlM@M-F>fA5h=^ zNGAsl{(r9H&%^&GI{qE-|4SYJ!|;#l_#c7)bshgs_)qBgcLh)IZLH_^qUTz8pWMGn zzj9LeK7{Yr3FoEoyAXarC%i)nKZx*Fo$$j__}vJ<M<@J<6n-zl@8f;^e3~h<YS}5p zx*xH8bH?fdd^PYk?g1Ig3q;M3&x4B3Jl@vzQ=OhV3jer{e|NB2D*GXn{lJ`MAC+P~ zj93pMR;6w`x><d)Ilo*Vhv89UIKya={12)AzGM6`A(M?=0C~1)D5qd*E{v}DnNICP zK@ZEJ9XW7(P(x)MM;^x&C<r}3-$bh@HDG!EjZU7ANO|(evm+@_>?e3Z$@7s11hl~T zK#)7^3-e)tsDXdb$u9!`f7J2sf&V}2_@4-dxg#hkz3X3Rha%1NY+o6>blsXA25P^L z>%^@86zeH0!Q4?zU-$5yu3yeh#rJUC+_6rBf^i18Ao6&O<q<+2$NAc%mF&~}r@2Qo z_-u|=^F19V-ziQ&UMHjx3Cl1cWb@g>MgaM&$M-leR|IJum(uj4q>=EVHlgo{U?Fz` zX`Teu&g4!4Yd?Y1NvkdQD8f%8+`;uC{4;alL~+jpsvNa*Xv+}aeV=6^**YOl1+82k z%J?kzDY#EbweL@<y-O$MV9*9ibwJajgWO}tV~G1S+^5+%oWeLfF6ZTYhWR}Kzb7^0 zdxp;!Xt#12G)tMU40MWv#rq86eU?9?nK5Nj?Vgfz6vP%6>D2CXti>fdA)gOow}!pt zAo3rQbMigQ{GNv2Q~a|s_Vay?`91^RGaBE|OEvx+YCP;4MvX-*m(6`%&QHi<DW65k z&nLBESZduc3pvX_qrmU5)Vi~B9^r+O&leOQJ0Ky8JIp<I!N@&-+U)y65PK1fd6iB( zzrbqnMU?Yf{8^<%&jnYo6xBK@o|^-@+(!ZNLLtlV9LtZ&)X5=fzCFj{k0Abex&FTA zx!(qCe38|lVRj9;FKM9Z+?=&}5Va9!;*!~U_(m99UeM$;BK6}7ay_Kf%XCtoXQ{ue zNqt^Q{bEY$6*{SZo24Grr2cIw^-C$KSLvkwQZSG8*~{p&ucYh(FYp(*i<*4DB<1@% zDf#MgIbJ}mYPsLlq<%q4{Ypye4LY^@GE03)llse2>dPsqH|eB)k){4UP3jk=)UPV3 z#aX;XC-o?Ulx;d8F9lubp(~nvNAdkt&G$=EIjNYqStqxb*|>d8llo=u>%Ond0f8a~ zn#1aLr%rAcxiLWb?*tdK(R>Y~`THrO`MWIS8whzF>m@fkkEEIO3je#@A86`!k^3g) z&wUH-B?%W@1unYmy9``Jd?unJzOD4Hh>QLZrF}aI7hMi!vU>ax3wcJt5tpSLzN6$I z&bHRs_4NH-(8m2SU(WprU*2KizI)o@`#mZ3wUpF)e41B-ChiR%BC;C4nUdl@o${`r zyzlWZqP!PT-uF@7l@A>yvF3UlpRWc#!&!h!>EAK#PcNi#Kj05=Kg8dU@b_o<`*SwJ zz&5E5^Vi`3VJvm{7Vy=95~5C7K8I3sHyF4d>!;~3Q7X~pek}d|L_aQih_JLy?tJ-S zBSuTiE1Ua^(^lVCr4jhclo4o~T{qurj2EQOHT|o(%KY#aU5U!&`hFjy`}?T-?_+dh z7~R+A7~Sh^7nsdE(Z&v)T7Dx~f;Q>ba$KfHeXle4p8)*7rPSaXbChU5N~@rS`zdDK zAAs7Mq+hAul(`nR^2HrSE)H7ln~3u^;(U|O52y3r<g@+Xl<SH19q2G|3AFE9Jk7SN zG+)7GkvOwQOulbRasC={{!l7qO0J`j#pr-{P|6?ie}tU>NX|Lv;C_ZOzr)J>4nn>o zhs@C`k)t5a5*^s}{c&&?%F5>c7s?VLN{`ca4K=(Q{EQo4Q8`6#u)cj4efu{WYVXZC zsQEX!zfGd%zsKD~JHF3)^Y2jhAM@Ym|JeVha%)(R=yIXBjY=;S>hq}pF=ym_)L-8Z zg5XSnF8q7ccq4B>EFGSlJVL%7@IOF|vub+zjsG(lx{QW7<NW!@i1TAL4r^@|_rH~v zW%GalJ${?-CxE(tK+pYTj`0?y1LAo9wp?fR*Y_8}4Au)jM=$)NT%PYQ=EzNy2#L8} zP;-&re193-KSxS&4YhFpgu4C}>ip02J4ak`=Fz%FF!nDR7>lyH{wwPGZ<y;JwT{ME z>}kY)Pifg-vcApcZpl8<p5mh12KCo>onbc}exYwXSjNp@=SK6|!rjK4y)Jzd4!)%3 zA;0l&F-&gZ{vC10r8@kFQU|d|ugJ00U*Auq@%aT>p~Uz76ggbwv$*$F9O9egCr=gG zMcHB87iTfz+%GjT-saza+zx*a|F#TkzDc`*pM2cIPx}6v&qdw8t(Gmnaqr8q0pTAe zDYSD2?t|`}WAFIhIrcN(&p?~hvk~|e>i&QDH01s#a-Qn1GQ-~CjQDq$e+Tidsp0Y) z_n#Lm+<%=m`F<w#-hZd`-kWkv_1E`qu$1MBoPpI07c6j%$m4HhU(Sf!?v^<y2sK@> z!Zjn#yHt0)TTYXkCYR>>Tm3#j9ILcO<)8&WQfnc<`ECZOe8@O`HxE;uHb_(d4(0#7 zT7K7G$+6X6{_mO%&l=iIo%nkw-(VP!cvt-fxlUo@nXG>D#k!*UK4&^pXhE6*gJ%46 zIk~<7W>ceDqWtD7U^76EFZvI?#!3U9sKN?qG~AEYoT)l#c+`Bq;iR$MWMrkDG}JmF zRQ);S)^geOb6V_vPCSXalL_<IU~j_K)Ex+i?+FNr%%)JVJrLo8_)Dbi=nMwB6IpvY zBfJpkJ{S=?gNGCL{Q)6x?BH>}J&~onZWRuP6HeuG_sIZxSPt^t9SKWo?{PknPA(PU zkX~AQj(773>)pZQf%c;b`__|z&PbpQURhhiy}|aKRAwY3Xg?{`-V_o-J(12JpU7qr z@8E+{OgH;R3nKiZk-dRn;4m*FtlN4zI`C_2Iuhs%?hPDIWT(VPZwmDwiI7NZ<{#<d z6Pe9?N1&%W(%jh|No2GHj`5sW*UWta#|u2i0_@Zb@ip^c&++3SArju&7EWZzAKQ8( zJo-fbYziGidmmN9cXWpW5%qItkVB}F)y|+M>;NjrC9DVd0Lo8T?-gi3&}G43D1w3F z5)KR>FGT!7{saOtrLPF}yR*HU4+#Dc0#G0qPPn;1B+yO+?vDt8V7MbB97|+y{BeP& zk>?UwTxYl|)ESKU+X7)eVQvn!Cp`R#Kz9#<{fLgi<@^HQk;ppCM>IL7buf6b?m&)c znv+5UVjVj}!EnOHJP0r{SVE!maAz=)tG)-iS&`v{hy0EUp-8Ab)a?g5xQ!RWiEQ$v zM){ARcHx8-oy35)Gps~TIPgJnIF5!dU4q?2dJBJ&Ml4~IdqR8@Iyw05mx@Z*4)Q^Q zt?opofWAb9SSO|nfRN5(d?H7B@wXr0+mAAEwX_1-5)2%+c6SB<0aOlq6$>Pnx<rg~ zM-O^0VI|L<6!-r9+x<;<Zg1MXv*nJ2JpylZ?QsBO3mZ#YOXvU}=@Ehn8x8-yU^k}g z0l;Y|05Or-5{f7v_Lh(Yxd}&0X#1lWT}+~5;Y23j5+Ci6gM1`m#e~O9PT00#u!P>7 z`!F*C-QBDy8BL+?ZoWN&(V}@4j9|t9o-E=_KpSY}4`AT!JA_alAEf;3>ikP*ubu4) z+ns^%5tgF~`P*47?&;)DCTwh0(=-;}Xnxyv^SxmfYT45n#*kr-9w$VTDZQ|;w7r2y z`;kQU-X4Y|<Ty_0`ykESU^}14P&^_D+rHz}6riy5{ecLkOfZpgfO<9D$*Q0vGE+m+ z4tDmTORY4VsCAk+=hN;EQg3A31MugiYPJVZ&8%QZghd7kiGrk0KgYL+82W0hvj`T# zw^?u?B`_EgmNq^TNO=6pR070`^U>dqaOIKoU<@<4@H%JU4Wx$z-6JE`EpxA_&YZCO zWpHhmBg?4?$Ino~=M25ZI#Wwu#)hy2+M6yLE*le;FmQ92l6gPqSbQXOj9<)!f`^av z@}b~jjz6&&bD|5duxMwnLkKJecA)eD>d?iFC-~rr#oe84i;wq4j)a2C8<#Fy90pQa zM7SJiH@p~tj4|}1FZo~?X~K=i0l0n!+kSsvu2S<x*^h{|a2lLbhPbnM1}|8wER-e) z6zumWGW`ByA+D#J-W`7bBRzp`F+_L@afK(z86@Yk<UB4ruizyNS+C)=Va8-kD-q*R z@MV)YG#PkL>Od<zSO-S%a?TJ@I=9~tp&?{X7xiw+6QPvs>9Wah>aQl0icEPr%rX^m z5aZKQXH8^uhC74dNPytlDt2fh%P&nb5!YB542BbqBwsrNT0$`xXk$biW!5c;a)0<p zsHdCr1F_On_jd@PWB%i`r1O{|Vc|Tg^&0-di{P9xOgZPp9a+y?CtX!BSJlOi$?CPS z>b2ilHMxFwZ2j)2bI**~<jR;fnCuy>W0U%kMw9g;v7ml){n%krdrBBa)^%wDZ3u-g zkn<cl&y({-a?ZigbO37~bBHMr_QGL}9I3d_F<G`OR<`W*9g{2Wh^@FIT6*WWb7$1H zleH^hY)zPU<L{nU5H#q$I%C4#9y$>aIs;g$ZR8aMl7)Ac_$CF(K$eM;>Wl&bNIU+N zM~0`FT6jIBndgJhn!sGQ`ONIigg46|WTw8fg9glfn;(dLFEB~FoC9S^z0G?3PP}~4 zc+LQbC4ctx7=+9Sg|bK0EqTHiQDAw<)NlA4a8<v;Pe5rvAFF0hXq4}5XY0GSjraD1 zdCq&XGjhbMLTzmwuphNpT>7>P0`PrWxaT+)l^nlc25yEy{r)<$@EMA04z+awwaGX! zOf~j;Pl?m|GCul><hBEOq-64Agomr)yiaJv{d{=nQ&ainQSW`@`S(X%_fNSC&#sQS z8!jCjcQ1`Pmd=J*r3Xn!q0@uLUZaWwhK%SfJEZoAOOM!BdAfat=22G&m&hTERcB)D zWn$wn4Wise3hc|#w2=q`zn`f8a4{UUY4L(asYR9J?gdfD0@j{7tMD|U3D1y292bFl zjg<-fA@*xK-`(x^Up9)R6N1|!cJS{|RC4|te_>jB-al=)Z8F=J{UXC`ubwu*VWqH0 z?Fd&M84zdY!%GXwoKYW$S%(B3LFu%e=nQmw(Q~}FGYHxZD^2jQHxTsp1Tmk8egQ4Q zu?USBUg=rnB_Qk!d)q->BL$Xq5e8|M@70YAy0-@uy*Co_9toV_y`X)(Kz&C-TsSFT zcoWIXhrOB<fO8q%!ro8^m98cNEyjBzM*<O+XXFU-ZUeFD1qKHhhQ$+E35X%|@Ls~Y zh|7DA6QNC6odA7=U!`f3s<U0}5H>-8oEyDcBVLIDZD36ok+~Q9fRs5Xts6>qEDKEw zXW?ll#%yLk937aS3u_R5XU~us^S}YDVK{8;H@<BAs<qS5Z@OswyiuGHMaj5A?88VW zZ8szgA<#0-=0+kND?Wb`z-dXC+q<!gWP3^LQMRWP;g!%8KtRF?v|RON(pX3-e+G~6 zVmNH3<UZd%)W?v(hVlH3QP)N`WzKFMT^@C>x#YR-UNe>-bFYay*67b3st^}y2c1F% z3121WYgB?}*07mP&RY~9&6@X2>2}92TxR=Pnl)?1SwoR%?EuV)yD<GJbR5yNG@sAR znLzhhz!5P(-yFOUXq%_OP3Np|ZH${?=WKY-;OuZSxeT}triD#<vt`II<>4F}*_Nv} zt1cUKl{6D+!-7>NjS*i0t(91Du>S&)cPweep-E3Tb4Fa_`+*VtN;&<yIva=~qYA7u zUDP8f4`NWB?CCX#YrI7uX1j>l{*d0NQW6eLq)Sy3@u*j%bwE0H20J4lH}ka3Vv7cO z|1&ZOSHQtiQCL1`Ig=I7E1Aq&5X)PDkBoRh*||@j{q&&aa}G9iNzJC}v1YHq3zk_d z)h7&squ<bl@6_j@L0xv$h4l%d%QsO^h>apljrLI6z}kp_+tSt(;n|`oH`7AhpVY=o zKaC1@H&`J03R9Y?guI75C0Zw*>5RG;$1)ek-38~?on04ol-|rP8EGBQo*%W%pWRTJ zYOJ9IKw27(!$^P0^nyv|X|d+?xtc_ZAl%c&_B38BF*LO=i;G<%jd%*-q$W5)*9##( z5Tww_htZ6Zlx8G_{(_p42M1(Zc0shL{?dv|wb8=m<Jl{swiROiX=2Kc0-s*^;A97C ztv5tpGQ3~{-3>}7clPRyHZX`gjV!dZBwMIcVM|=BKcJ{?IDoC3%F*UmcD=M~bVJm+ zBx+kSyOLC4*2zV9A)-yMiU-AsAke}LEvclc(B=pXfu443j`|8x`cDq{Po$XvmZmy6 z-Ou(7^+j#-W>?077;H88cq8tXMqGo`y~6jA$7PY86JE!A!gBN^7nVplb$YgA_0^f4 zqPGFPq8;f)m$*y!MGIGrXRnUhR?mi1WlA=nKtL*7@##{qjqF1!RliY`#7f-?0Q~}j zg-78iz#765EhGV})$b3{RCA~FF?pIb6?W!5+dtGl(mc9gWOvM28@1K`zg8H4n^a+8 zoT@tkC#iy1tUzU>hMtrfGGFWLDsCTLF?SUS7IbGn=04_9>g=!h$PIxA84~6DdnuJ? zbZTE&O2uW0OWG#b(S#WV0gS8|sg8QLMhmx%XE#M{O|yIXH`D|fq1D#0Ce%qy_(n<- zXkQ~ol`1@|K`G%5G)VYs<ntkQuSPJ#3y7Qg5Gbc^h>dKql;Jo--QOp{inw^tngV#y zSv<rLk{w8>>;}-rz|g=*>*%_1XJgdX$g12@my@#LpzT|@I}`yn7ybnG72YK0hvX2> z6n;WZjGUj6L)ypU9_1Z+qj`uNBFFvh0ra8pE_psl&LBCTC5Oag%ps{p_-;6-4RP0! zQ#)^2%xN{ZGAwD8w;aZ_mA9<Mw58+}k+X)JI>l)=(rdGE+G?;mCe!j_X?gE~MYMRv zY_R6DH?c%23^ZFBW>zTDjt}LLhhuIYUA`ZjScwOwp{<hW?~l1g^`Tf`t3Sh!?jpeY zwy#{jK!wj%NW+<fJZKfD9OYi=dZ{a>u1hV#5aplJ-G5Jh<P=cqbi9b%G;ssXLXujf zOuB7|dd>i8Xfj=hc2sJ3X)6Dr!z4?x`VmK#WYw7h@1v7ik6^2(uvQ7zD7zkP=cH{T zc37e0Z4=v+DLWzBbxC<(8z^r5G-!*&0}u*8WxN5qPfin+(KAXmD(6F<&OF!X1=;N7 z9}SSGXI+L8mv*ZnHM9-X&$=Xk3fsa2C$qdczQYTiEMH5k+B)x|P2LuK%}!2PG&ZUm zQTi5(JJ{1!OGVbrPBcg6UT>wBk(^%8F_3AYi`vAEw3neXUYJ!)z2bFRB-UsTALy7} z8U5Ptqt&;TQq-;cHR?r~DwS<TR@l6Uu~n9L&|-s#%Yf}SiV9;lE`-3FihvAl^df~k z_#w5?VIJFfMD`v!1O`6IyZrt`hrC39Gjg4P@6e%E?D63n3bLpww1Kk)o~u$R#03Eq zI;qqMyZ|8-1}}uz?COBFGG4!2oNx_uiV@YoNk)l>FJi@&6hh7dnx^z}$}rtvwdcf( z$_BTd**)zrxN-(<@88Ze<dk2uN1gSz3>JINw9Sx}6L-1>ZPS_f{D2XOPo!rWo^h6$ zUoe)Lg{8<UX@V;#%YzV+tk!J%7$YpOVfK_g77&ht4I+VOfL>*3qnCCDnh|R{(%H?4 z5y6DP5T!(w=WJ&XL)#e<St^WROU{ypi+C~uuk<^yORywj$Dz%iMs=>r%ssES$Vr&! zQYk{6gUymOb?G{k84jx;Nl`v_>ScPV#VI8hu)J1&TiW22UzcI(P_Z<BT8X(P&0;UG z9Kc$suQm+qG~&BqJ{%2(PImLq1)=`uq=vA8La&A}Jt6>AaOeac3pEM+z=-42eird3 z#0tm2yYrqr!ec(16p^!729w1Gj%!B!AkTaEZ{P1-vt&tQE8rXClw2<BV8*j#L>Dc+ z;!c7=Cv)yp*S6_eL&btY^MtK5?#vz35l)zqp8jT}?E>Y;9{ugYt5UeMT>$;ZwhJyK zxeRF<Nusn{!;SD4$T_4|X(}`4*-b;6Mykd$%cGWZMq7X@Olze;DsMlhB9dkqG1yog zFXH8#;jm!<%V@LVq0LY}F=@n7CY2>EQ-VSXSSt#H4#}mb-=xQIky~dpoLP)?b~(2C z+plc&5ofE#5FvpEdsL1Fn0>~+U0Z`#ib>iEe(n*z8wl0gfn`yW#CzKTEQH?Hc{{pE zDjSqTfDDd70!cGd5=McMeHKMPRw^Y<l5$y@aFHVkA#n&H6|_Qf%tKQmEke2_=-L~U z+R8EvCyd9F_n!rRsRI6P5V}xs5yfC(;a5o2NyD}iFQ*JQa@>Q~cup~)%8J3Qkcf>` zOq4F2a4w6x^3P?R%^C^3*mb_^Emz$Q`TH%GciN8Fw=)c`yy1JE8Hn0Mx#O(Stwa$s z#6#MR?JiOH7+nx&7-yqqd=+6#hv~PB=ZqKux5dzF_^SD&QDlw*0*Q4FsQe}J5*YV^ zP_$RtYkT~RnGJOePLx_xi-rF}3<BCP)#4u*w=}2VmceK*9o!nvbwA%aQt{lq!}a5i zlK0H;{AHLx^@+kFV>^D8hoF|8nL;>Po+bE?64$cV3^wm=1Sj#(6zCpf3AOE=4bNe# zN+g1xMkFYEA_}a6Ymy=Rs=qR1%fFa6dTEUxE3LWT)NeitNu7)ZL;z(?OJqX;u#+f1 z;`Kw5zzkY}b+Pats17>dGx!nSf|JN)<c0{g9N0EcS4rfuwJXVw^*1dOB0m$n2mTT4 z)Qa_{1L%7Sd{l+oDR=1zKe1r#gnQjo!Gfr3!Bj;RKCf1NchR>OjW4)!ykck6Q6_mV z_-^C38^;&y9Iw~~&p3ohb?am9^-;%qhNhC>mimujB@!2CS%NB;GooM~jEWV}QXY9U zQh()swInP@phJ?dLr?-mlcb)U#rpyRpvdT%(m8rY4E{9rO$llO)}g!Lf_-BCs<Fto z23{K&pTB*)aL2g&j;P}f*4!3Il%GaKjR-9bi3Q?4q;8D}tQi2Dr0hw}<Fw(HDb2oN zCfjJg(<tsB8SEoSd1!LdGb1wDROJrd3<Y%)lv5>Ef3Kx34QzP{0TNq2VTLp!X(G{J zumK^}!CAzZ@lo1)p>pD*<-YflY**NV03gdh#81LPq7E%<T_E;^mTSN^^x&v#YNT+~ zpQN}2$On7NdGiOG&+LlV)JGllc-uK*c|nJduHXOxNwu&9{3rL3s$OXZ)6O_x)IgVl z8R4rtuTvpxz+~61UCOF9V2;q(v8UfGr_%T-F^{5N!kt))E&V27Ymg5EY5i&a<`clB zXKekJE@GahJpE~$aUT5Se2s>Fa~EyGQ=a}bHO84n3t|cByWq+KW{B!(pxM)Jk>d^+ z(WX4bKZzfNZFa64f~~cgltj-I$Qx@gyqQu`U8bl(@jjxm^)F%RhBB6jzMw`5seCsd z6o~nru;Oqt5pJ(gTmoz?(+suUpwMhAG~yC-JkSZHy(|g8VR5C;Y!dCMD}2Jjya_`P zo|7;g<M@Cfl?-B%h{x}LilFR=NJ8_tbfoLbf(iGMcv<bpL&F(2=Pem48lSgeaM#V! z3Yy@3<MX$Tmo^QyOq;T^R!?~=M_b0d%ZIaWI}DzJ;Q@%vub3~jjMuKe?p_~XP&3>T z_cq=#nDbVTSmMRyqZ_XmFNv4bPnIl=l`I{r8hhlmnu(Hi@shg9k|nW{C1akqN>)v$ zBl>$bgLhHXv;NYtanJf_al=$a_2^^c6|2tfy6LXDWVzHe?p_;ptbPA>sliiv%V5gN zd)MWePQ&j9j2rWM=C*pnoAvf>tITh%G{S`jPznyhiV_h-e%iZeeJUc#M7Id!JVE_K zvWL@#X_LvmaMU~l{hWm}wgUS)5gk#iz|(+Z*5~@pR*{LqHcuay(~_Z|74u~o(H;w$ zaZn~Z9)gq~)E=WtAd080p!hCPW8J-8QgehKmeUW-7&{7Ni@o~^D06Zu{rF+*7@dkj zVP~C8i$1X8A@4@-3Uz;^6TcOO649k>si33_X#w=LIBCyWgDh)^>5$YUQgaA>XoHZk z*cB@n3koa?abL?kHJc@!N=Z}Z0Wd!vl6T0^TF~;SQ14V$$cNR2Z5Y`|VVm92OK-|h zDifI+2?bNA<YCyPf&8#ciKh>BR&iTTo!AK7D8>k10k}<~Hk1|O8bXp*2*y;Dk1Y@m z)T-xU7emx)%0oC<U*s%>*isVUQ;#y-0RIT7(6fgzGad35u&j-+tTtT6w_s#m0RnH9 z)kE3Ni0y)*n+@3QfVK;5j>3x-ofM@TcLve3;Yd%Lx1+P0Z}1-P4zvRTv7yH9>R1S4 z$^yaIBdIrK!g8m%5ypl}$ww{&yEJ4dgibbiY5OiSyHE?J#<fMRR-<<gwx$w8$(opo zJ&}$zwG2|%F@B}WxJ+VFestnCQlMw4+1t8Lm>jq=HL+4p)|J6faFNoT-rCMazLENa zKitzD5WLV=W&K>&03IwuFw}`&h~$-AI-o)c<{fxXti!-F>6FQTw!=lo5spaq^hzo_ z^<YBPD_LQRs$9bVzjnWju9Bf7g*RQ9+Fyr5VE+-yQjszBstlbXkO!2R!+2NdP63;* zPN;!#;LR%h)gCC+68cgn1BeRs1Ve3|l8wrICH?|U87L^)n4SsodK0-yD#+ar6RFgz zZWbsBF~Y!-$ZijTZ;Mr-8!WJ3NVo<pk#MSsxt?Rkdh1LH3l$;!BSMpC?QQT7$oUSf z>4))h%5ZywA<Hw|JW@Z(jXM?&8mCQQ@Ir)@lXpAKkX1hN$cz2w`(uuVOLu+!;mZ%l z92?@UoO2mxGbUYiF<0GtW>Z!+h#yyZ)K>QX?R0~y4Ah7{=Z3>I<t&5WbUMC7n&jEl zTOEcs9QLiH<~K@=aP<*0$?!f5F$3X()JT2Q?feO&U^<K~wd$jvf>88;NgsXpo0MEs zhQJ(gDW5KdeWlh*CbC~eU(-XnYkjN4;}=Y)kD*pTR5I+<)6msJO_0#DbPl0WC_*Nn z;EM4h0!9hFok6xj4&D-0h9bk*cX=s*Mm}MKemmHm?U5u#l|V}(b8aGL_z=DT1lD9A zh-W&U-7vIaqI_vAb7|b2H@I`ky<jx(O7~0MG57L88-;`SI9eFXtP_Ks?%_K}?t1az z^AE>74U?YbG0*aG&&qM<s;F(1xaUVf%0mNa#-GeBRRX%mH|3E#(#Xyp^i?&{5hT`w zYR_Tup_NIVJdG{jT~QY$(%6BeRN|I)wgNf-Mtwjl?<vDgThXM=8?$-evWbdI;IR-7 zN}wI6K$@~b08SFnQf*l~cHw0%iMpy9{iu;f3p@;+R;sa>l4HUI3}H%SfB?i%Fv8&p z8<>&o4UB9Hp$!d(7#ce`_rWomQCNsZWuS}0<*1dYo%89TPme^#omJPJ8!maiUV6E7 zEHYlVA!^$&du%L7M9<6tILUgqoQX4YmJ6Z^dD`g=Fyu&G(88zbnJeOOBvKwbUpiAZ zx1nt|FkmIowUz<f+QJ42vMCFZbHaNlJz>Kfp~G|GcDcvsm-ct8*Vo~N6ig%d6`vt1 zR7XMML2(egwSLPL<Ev78(C=xpm=%DMMsyY{40DGmQ<H`P^abRS>(WI%a%)IDV3v*( zhTtfN)r7)g%7R+TMA_oHbV?MVQD)#H>9kkjayV(Eyod+&(kVyI&>b;H$;dsU_l~W& z%0(R|6ON{M>4L%L&$Wm{C3gf87!+cbG#SnraH`t)6(d*=sE_!l%=EAYT>_?pP^dCO zbQ$`r>tr$*Q%=Ji1>ouswA9tw_@stNeGUZ&Hjs=FWb@12wiJ~EKa5~BVHG8q322Uh zCr2QSH7;FxB_%Ym&oL7uc4s}MG6UBovY4oo=lpCUB(pY!HHg;douk*4lHAns#4JB$ zNR-?$xR+S*RTIwg(G{0A#wyoLx$-An^JA|0`1V{1zvWtf(^W8HdC_^^DSe9rLbyzR zGVsD6^PBK}%96B<eFz7NGd^umIWdD49M!-9jecXZGJoVngd{e4I}zcy%CAxfU4OtB z$LT)3_!>XmQsi3np_y~!{UD}7{b2yn%X8FJQ-;EA)6c69y~!Dh45R?A<;SV*!}5&- zCVD`5bT#TRgfJPK$s>ecp_+q&xn3$w-E>nb?MKZ>#dE+M%+pA&bn}$c49rnxI9tON zBsDmTRt-)K<I?7AYctwp;;ca&LPvTVQ>L@`oA92|Z$>?Bavh$aG122EDkA~>oY~S> zzh4oWkzn>Por&%gPY;B>$9lr-cmVCQ!;MMHA>pIt_?w~S@QX%S2=!1AiJ(-hq({H? z8;6v0SdvhxBuOZBSrm~1S5U#?iP_8MgsE`}lTRhg$HIptLPx~CAJ{ig#UDK`Z0cJ+ z2QE;UfQ=ivL(mfqZ)#K$!C<%{O#JlsnJnvi(T=MX7gkLcFNzf}x)d05PZqC?747)t z3_;kF-b&*Kc5DqmnxJ<+C=hi+peLYo9+R$rU}+77ya~&(0M5yqJNT0yIH5{#7)MCx zJO{}&Kd`TtSRdXGGO?9@l+-ssB-Yt9ELFmxLM}P0$RQmp#y_PqWXF5`L@fZteg+j| z0=z_q$V~Br_XR3K%2H@TGIm6gR;(@Jdi5^S%!xUb-hu^pLwGHcW68P+o@vKLe!|@l zFY=De8@9%CHw`vT<rR&i!%j>T?HJG7F}UM~%X2RK3)xeif)VR;yGN^DS@hDP>z>8Z z_eD}13%(Q_pT9EZS$Wm--O_KDUia*{G4HOCRnd8OLEpLMrIy#1kDd6&`fHvamcCIM zTiy~~zAsv}KQ`~KVe8a9ESO&^9^7>U7`*kxht5BA-C0ix>6^Z=DP94U?yqmWyzx8B zuSUN6*tZ`WU*8g2*b=SZ7cJj^_RgE-K<}??d}-r&`O@J#;|0a%2EH&bRa7||8SRKR zG)1eL$BVW{J=<~MBc5M0>Km*2)}q%IU0<;I{HkkrM~imH^B0VAqxVc3j1A@S^16}k zOAE)2jQPNc&D(06F<T09rwx{z-02L1r|{gSvztb%$K7>NM;%)_>g*{jS&<t{tCy$_ z@V7LAG$i`RL>5s*a<XYWh@8dYs`!dES0g`a`w#5Gs&CoS>?@|T4H>RU`@EQa-g~Bb z_IjuzW)$6~H&zLj0n-`)&x|OUpCdDo-UW3;RG3KL5Gf44{sZJe++d-D9NI$)Br6cw z$>|~IA#$(|7zBYF+8-tI<wN6i4jhtp*`7kN?5|^Nfu*c7_c^7*rNo13479Z;GU!Mo zGQpAIL=Lb4cHx?%!HoD2eom!k<17Fj^p++1xqjtjzeqQL+$h5-pHL9Gq2j4^F@kI) z02^=gi1H|e=YPRVySU3_E?b_d|56?flvxo8;}5Ytr%7*F;!L2<jAwE+ix9|dSVkp+ z0?&XM%c@Cl*}_tb8yvoBMg9N+2$C#%`%z92@Sv2ueoI7QF`h6&)KrF@u-?+3q=K5j z5{uzX8^lO-4lAwY=l_jIJaN*7`UzNuh#8?Z(t!R=^JB=s>=2mT2m0i6{=zQ;K5b`- zyFr^&_|?*<)4%<`ragBzZ*TT*ZEZbpFkudG9IzQ_=_Jw^wTCnBQ0{_Z3e_5fK$M|^ z%p?i7n+~(2jJUud;sZ2aP9sC2xSh{zKeavXa-YjQn>o@nav<vR-ZEIzyn_}TZh3a& z(8g%V@>u5bxWhA*Upm4?t5%K)<N50bGvl6R!`!)JXOBfa%SMmJJj;ml;T>#_W2)~v zyKnT4w>%AFp6~dtFWnP&<(;#iwU1PN(fM8)B2C*-04Am*=hU9rR3xn^H0U$`2#3^N zKVs<wa1li&uktX2jJ~Epg0znEVvj7X3tD9EaZ<hn+9^+eO1^rarweFcl*oER$#qac zjw$AviLc$Os^ywngj=WsgN?d$$ftT?UxdaGCIeu#gPqnV%_x!WWmiHV*Y_Xp4z*$Z zPM8s0vai4tPqBwigEbOtpVQ?X9nDW!2_l_Md?>F30Tzb|EFMKD)ErIbw5%y-?xeFi z=Bys=x%9|Oz2nZM*glWli(T{kQ<?Li*^-v^w#_kZ#_tEyP!y*GOribm(YwyyKklrV zbS{lKmrgoY#+)n1x~|oXJ9kBGyWXF26kXUA&8%TL#BC11*>oCZ5-vsIPZXCKzHF~I zUpCg8zqWL%*YJkdxpkTOjipAopn_;bg#kE8sEOc(!AuEWw5SP&gU~d3=u8>$7W)2f ztH^1VPIWS=kf{8}q%$HRLVBZghBh4GfM+2QAX^EVBcH@I#mr`jnG7Hl>IQKrMq}F3 z;dY@Ds(Lt<2`LWYR}e+==?m~iA=t_g_sU)b$RZ^KNP4a(kA$EBxc9(5QLF<6LP6B8 zY=G`xCnOBV0?1Z0D?;KrX5B?o!A;a1EkGYwG3-hWvB=R-;|x|eezY8v5<lBgf&trp z6fKplXoy`R&=l+?`0yZCFwCHeRWRK1%wy4t^-<^gs7*()h013qpPKQaKO}mTFizDI z9nBt<DfEPqX;<`l_scES$m7Ibl}^B#h5tlaD0yh?*ocSbG$*KpKR}!$z98^0jE<13 zM<A`AQ`A;3A^}BaI)^RKteec7e?4>lRBmy!WYc)==BQ)ywAtXO6wwz_C=UTB1I2ZC zNp82wdyo-Cc&^sMB1zy^$o4>>6RM-Fp!wN+_I7r74}oMpq)^zTA4p=-cBWQ(h;|2u zRKN;)4{3l42^+i{WMJ7;cSs}tgcRpk2*i6k)|PMs*ohEA;y+XqIy*W+flG?(;M>Ts z%0R>KSDE`wWX6YN0ubT^4&#V9lv#s(JAes>9WV(_lC2Ccj<TGD6zC)>t_6D$&>EDg zheH5#2y#Nf8t51E0(J*<$QxB+F_ASvDMbmig+tvq+=&v{A@oQ{)2toXRFLtAP)}IY z(uG7jas&-L5;{re+SLM)(@9vLpdBA{q<SC$WRlr>Dzjcn3$@fREV59?K=OnpATlvt zX?7|#hiWbo3w$@sJOv{SUYM?d59LN8LXlvDKx`31F&)@g0{@cGQOsNI&c69c9fZO2 zE>*Ul0TCIrfNggcaK?aM1al+iJTy27Bqc(iM6+kaw2;S-$U^^8p&v0%6S#})(%Xdw zSJ6o2g~)`n>Lx+^mhs%JQODNlG=odDh|rFll?MsgGqVam`ud7`r>uD!6tmKym}T#^ z)!AW4L7vxp=_EHzA^D+|ITL>~mrzgem~l4vXe}D-RH*`0n--UQp+bT&ctM?NDh;5A zZjNX)7}b3GP?pfgG?GBmlSWcRVf|_H10N*y`Pk)J7`eNoUzc~RO1t&-n!0jR%f<4o zXm+ujAJXVBDSA*KeLEw>&}R?$KxxT`j-iQ6`xW+dfo+lcbkXvf^3aJn;x>0!V5Yz# znJKWeFnU<H3mw_FQXX7MPaS5rfV40tk`EflcnOp9FwPXzImJCbEg#~3kVt4@H92kM z_cWY@%fJ7?zSe#It$X(DyLZpdgRMdrMR<lHY$As#Ry_j0MEcfkO$1)d@&GIXS&qRV zg1E)|0cB-pYUePz#Ixl=XhWhffuFcciyVU2@C|)ExkZ#8P$Dz20E6O&@V61pWDdi9 z*PRs?+b=EnO4r!ZmxFPaXDYYo!j2dBo!=MDX}A&|Tls3=^_;cwl8Rdfdrr}C^Nqri zi}_dbzg~8^>^p_uU-iSyZ)}cw4_+@k2+gS%H=f@((Xe5%VN0xG3wQwKZ<I$5w2n92 zeZBbZsp9I<$Xmq?H_K|KO~&%dcxBCKEvT~6h8eTDya?73<`qq6p@`caC~2Kre|G(( zyE^7ZqD!q~E3ekY+%4Bmz==8}7CV})JhT+EMf|gP(Jp3sb4hPoH`|DXF^Q!Pla&hl zT*%StAHOQq15yixAm|0XTn9S&1j2SeAV}jXJWkG^pnjr!kajr2y>Kp@*{+ElnV!Ai zi<+1DsUs=cIQSY3<pyNQc1X|e9@;(W@Wve8QFqj_YBX})vFg$ZI8)C2;qXYyrR`8( zpQ_t%_278j)?xEou4<45uI00LHUvzJG<Xx$BYBxBxq&&Md=+=hC7O`Q2CdFE?Nc;; z_(io3<!yQR8O^2|*Bz>{!}%Kit-=Mx2r1f|>b9A2Pf1po@(2%ttLjSe#Ag?=Nm3pd z97W6Ni4Y;l9<+S@9JNp|6-v-4S<VYu=xTkfDh5;WIhW4aiio>xe?iekh4!a{;q>s@ zM~^{Wh6ITa>4Dmmtr^OA?1Mc!Wy*}s?j&t7NCz-Pco51Js<Ednau$rlVMl=E%)-EQ z3gvYq6gmn8?E^9v0vSZMqDTiv)N}$d!K^$=<P(fU(ecA1f~%4AiBh7k^NKrA9|q|I zV<RvyL%u{%3-6G_1n{)*GO9tut@qLA!{iX=1%sMZ*-v#$Si|hpqsXFFCM#$bVrPij z`z~TXiM5u5Su{g{az%Vg#o`pM+)@eO$|MZyC%^w2G+ieVlQ3`Y^GAk0JylRVS+FQp zu;^0z*vj#OwNckv5?`4|9=>$<glqX!;fjgERW}RDM#9mmbyv4f6l|OFEE&t2@T>;+ z6KHhaY9P<zd?3%fe4O*kE1dMKy6#yOFD!o1ao#amSQ{&>g;M``;fC*L#tL`eloQvW zz{$q_vBv%5HFrflRZ?zCrj{&^u4o=#vi(}%N2chK-O<H+ezX-xdfq;;N#%lW+Y|)7 zB<5Z+<{sn6-5a6~NlJ}IDi2{qhDpAOKL4M=Bv89lXdXSSy^o$Bb7Gx5b-pS%Dl?+6 z-?TXA|E&&!u@_QrJ?tdunv?#zf~UF^oTT(KqitlY3mKOAapRd%CW#`3aLU6Ni471M zn;^PL1NSLkjsWhHg}6NwCi9=_tP=JRNCjIMgwtA=rI~S;ky@N_%FJQ=aB<qv3YSR7 z-j5_C%$h3`AY&^COIN}*N=q{nqGOtC37fo2WUNAAJ%UoC##G$wnI<QbX4+rSOe4M= zctlo%%bhyc){GZyh`KgRxr;`Yk7kdhO}H`3iq3uN?58FRR>TTcj2*mMJ6_Nfbu~ff zCa+|qDO$1mDyH3LOuq@wvYYwkkR?=XG0qr_1zU}H&)I53OqcuFPYr!)(%BGm!rI(e z?SykZgcUamizf>kV}(#Lw`Y|MTfnu-DVi#(m@HZnD_SyEcy+~i(U##R9LV()oLvt& zc6f5}U9rV?U9Y?=?wLp4^QH@sayr*gSn~euEJI;6cv3k<Z^J*E0(0>30W(1LW_f;7 zrs;c`_NKzL?-dx~CY>3vphwtrJcSpKNpQtSmrPQ~89A0{K}7~L&WI%umhnIy5W&En z9@r`*au^3W)Jds?%CQWF9>(HoX$8kv1sZnRhGFtAASQTd3ieG>kE3WXbdrK<=^WI* z(5Q>50>Dx7U{u7M6{D4-J>$+rV;->hFd}hx{)O7%&DY(VM|)nke#`lqGg?Ee5=IKq zSqCz{tIxQ@$&cioqy9{JRA!!hw8<oHeA!W=e?@G~wwIkR>YGL2iKmyy00KKH00Iw^ zvW;gqj=D8Q|61xYQe{&__={8~TM60Zq#jF{>72RVS*FJjDv)!I3R{TuILnlsZQp0S z<u%*48E<72+Be=>QD&caYm3op-(sB3H`=R54&FB4hxHgsodjs<$b|tKEy7IW3LdGC zzJ3*`KGcJr<kNq^k2-(^{P+|T))@8p-UtnmNQU-(U1Fw5E_R^B`XT)$+F+i_P<PRy zVRa(_7a|rdC1_3(|5(&D1Hv1H8q~w>db?w#?Zz_?qt@7cL+I14*&{2|FZ@HO$tmoG zX<D;~>Uhuqtd8?zGS+?oBhU(wphEfxMjCL!%fdtCFk*?AGl@)%2v3}s)M;#gDv5R& zEhM65+I9*wM^fZD!ZQ>=&aVibzKR@hoE9v1m`0j(mdBvELkQQoYRX*^byVE&6ij;R zV;&eK$gx*LEK^weV%GVrTLxEF^|0lJyI^Dm?J8sLS|;{AJ22WBE2xhaESoA{G*P$+ zI1qTZyn2+2Hf+2qjF)X2&b;X<8~N0g-Cy5#dEaD1Q>>xsEf2CS8O^+2xNxela&-G! zh4t?OZI+^l+g@PP>#haUl_-6>%HZ;d+acDSk|TkmXzfm`YR8-PfKHDHf%QHkZ1<U9 zxzFsgG25;d*mkuub-N6b(}@e}lPI!vM-t{ywzligrA&<uzv9CzFk<lgjk4uMrnabn zgB%Z=9GZ|R58IB(Q>{YXju9UWlPx19IzDGBI$_hROiIpzR61otM>kWQ2uPu<42Z8t zH`UUFI{51_j?}G~UMSWghf2tx6uX=wZN{-3mnTG0=Ms)ujz6a1swl#sQtT|YoCB6C zN!cYkN!bNbie|*YO0^ARk}$R<ty9hL>sur*Q?eqVyd?lbT1S}$^<kn5QJ1B9&()mK zN3Ps?aUfQ`M>>d|>oE#L$hpoT8qS2R1jY+c^Hpa$IIK`$fmtRJ#FAMi;zx+{ld=$( z32Fh8B?!NdH<{QvC2niJOl>HdyA4HD;nPU>K5-zJR^)=w2$&Cy?*P&ZoSY43H%z)K zV{RP68{1Cjk}IpxoU85MJ@)Nm6V-dhEB6eWCvbKi<kS31?yr|zF2N!_RkMtIs~GhL zv~eA1qv@4BFYS5#&dC+qWB6aSeX6`>*!)FE_6!Sl7^6<fwnAp=ib%wSIJ>?{Z+}A$ z>j*~AQVaF<Hdx1y<Do{<x=(r=xrOHzpItneTNlf%8%&RT@(1leOoNVic@@t4|H6`G zubno)5f?^Eo&<0N`vi0|V<=b4sL~!|(wjx{!XRWNZC5lb6{x5wFi)y;$t+WvohpM$ zvq))<EXier-4TURqBqw#@$U1x)n!TE9-)j(w2nQP#X6f0EXk{BdSOFD%G&JFwg`-K ztE@|*GEVwUU<sEZM`f!brv+{+Ro~?|RrwH0<XY%LU|GaQr%VpVMkfy%xN3i;_Zz=t z;%qA0rQiGnl=TM8kHOr6vK6uih)~`Odp6#HBFvOHChRDH#28V+G!mYJJrIT-m&Af3 z6-?%-qzYY=nIIWpG_XfU&IbDz-6Z*fj3>Z&D{3Kh;fE@yVV1O*^pu@iU`Lb|LG(*! z(4flQgQI*fh#|?XAam;Vh9McIb5WY3i!eq7YsQ`JM`6V{2%AaZkVCvH-yp#>e{k>+ zO+|m~Bnulb5Toe@l5@$nvQms?&E_g8t)`}ne5t1HP?)l;m2pzaNg|2~4Fbdtg(VwW z;u*4}ywEMM_=GN&w~e(h0TryRSsbP-5$L2{4UT}xW!0&NknRl#K}ZhQi4wk(osgD` zVm`(sBN3Z;XF@xZa?-aTUE3ksn^pyRWRM6kI?=rlhN7<zLkJIfUbsT3tH?m^+cLXr zWB_92Y9Jta>`6jOG78v|5^p`A<(3IMTKXDx1kg?fHe}LAG1tR{fJ!zZgU;LMMrQ%M zlGt{2F1oEiUU)>=M;jHuC`u;KU?`Re{%C_CbiheC09tfA1lBDGOF^-U8~{d<CTy~X zmvD&U+P6R24z&=(mKX$#_Dp2b?HPb%f`o*TmlrLG7k4Msft*HQ+VH>N1)2cWqPXzH zi;tauY{J?2`r)hX*EU5D-Z!!8ehAC4gD<a&SJjNJ79|n}qk9qjvKHN_tRZ_s-rKnb zNB(g8g^d%Lbyp5fF4`DdwDDTe^+mg(Vz6xGH}VFXCLE1myU82<jI8ZO+UeVKwi~DB z*I!vZw*0E)DmT8cX?%Y3@a|jLhLRc<eO;_@-DKgWSmCCtk+%w)r}HS~G=!V(!HoBB zyA6eqyI68c!Jvy5?YI`Xb_CVhXQax_TO_jNtcH?OI*nfXt7$W0eh?<C`^M({ZL3Xh zuC_PjrG3xfYI3E0&y|LESu^Ej^lm%iDG$1eJu@VY(h5k)oXebNN6dUW1f-VJ7I^{i z*?Q9;@Tfs1eYIPIUdXaUrZ3?QNWj^ZG%^?w=>m<iM)BOw^He4LB|TKF84Da-X(E}z zeG*@@%z;2-jpfznmhWEL8H_NR3k94&E;B?&V<X~lv6Z=HwpOP~9S}<*kuBF&gn8k& z;3-@ohgD#ZYVlcesIAO-1jU5w@O9eou5A?~4Q|*SllJ16y%@Y&d(Ox~va^#zs+}dU zG-=Nfi3G}^9e>J$eAx4w8H)wTtFQi}$D)Joruxl{21rgRx4r^-JlNG&7!fJp(`cmd zRq9Ua$&VZk;cGM|X)Lkun$9RtD+Sh6WIQ8}!Wz9%=+PYoO8Y-J3RN@;4Ie!Ubg2QZ z4ExQD15WHH`SlgcBhe%lfw52m2Y;Q>NSBfe#N1Dv71UmVoF|dBGAq{UjK?UmJ~eAr zP}={&@u;Nn_!zT-9Yg=kj0SDQ=y*FsV#=)8MjjXmDd6m{GY)AivG9jFqd=_`$T>q9 ze}iH$#6@21_){JPvu8%s22)KF`OLgUj~Bq1cq>r9S%do1iR~m*BcI;@LPuv2Wr~TQ zcGgbvU`U+>oToNvP>3yc=f}2sjK56SL&V^JqSH&P%H(_zIkJmnP8)8}&MpOghjkGL zCDiZB-^fxrAKCZ$6_W6yF$mTzzn|2&h`<GHF5O8)gnB2AuZYZTMsuoLgWte_VFhL- zt1Ix<HiB&Cc`;?EW*w<WUVIt07rso8^oGuOQI`nhyg=i%2rs7%?^#TC2e<`!1+#{& zRd?7ZebTU5;X%(#Gn|i20fC{%r*jr4idk?qN18$h*?X<frmsa-eSuFfc(~>g*7|;} z;Y*~$xXxh=vA`%P6SYP2psVyKsXED~`S;MzTJ{yOjikz`6Oi3Wi7}M|zMed)(AK3w zXUin?2A7djY=r+*XN0NWSm#}$5nh3>IYyX~QKJVz4%>6aJh}tT@*;vjsE6}EKIBwV zA1`lD*=aFsqp_xYcP`$C*+<uTVlF}e3SC(2&K2Nb+jC{(#Wr?f>5frv8_vBkl~v@C zGHY?EAMP+z$6Pz^+A+t)BYiI)Ap1LX7pQs}QD^XYPlWdWeBc;U6PFM~XGBvs+E(xE z@YYjN^@LU=rBI%O!R&~rkt+w%Z6)4Xwk9oxfmphO5*xlcYy+@cZd0vrP@dEsYJ12> zI$th9<&RRK(n2ZvGN~QB&`2L|ppi4w=*MMJ5*i`1#9|)~f`6_9f(&BFxvB+0GmuP1 zGLm@@cK=)>073j*;%?E8MB(F&Ew@Q9mxe6qnb`*CW1|@@l2JEXgk;hgSkDb{C)vfZ zzgdVQ2>N&sx0Bsl>#e60^|Bf=uJYA~IbxUudq^dSP7}afDIkgJ4}-Cd$$;?}seqBj z+S%t|<q3`K>pDhG_%V$w5j{G>Qaz{`MO2Yg_$wW#AQZwn{Lcs~NY+e<Ne3!u!}p+Z zgtqJWz0^*q=|L#bNL#-LB^#0VP=5EqNrDj+%$~V#7|1#ZHdHqs2?a^js2!D29$Lrf zdxmPKWii7XKQTG!EVdR&ND09%Rt}NjS|4*uUnZE8#H7Med~aW=#@soL&9P(RrK}?J z3Ty?&?|B-T$!b${)+>=FT0Eip&~*PSe#LYD^O72XHAOk_{|+LDX*Y&btGUJTT%6__ zxi7k4+qLCC-0;SR=r$bvI*1D>-PyQ+GAmmeT1zVJ$Bt({NyX9Fiv`DMK*^b+BGTbc z7aCaXVkRu49iGag3<HsPv#088g>jmWi7e$xUOEoZSJeujW*k0r8v(cy43?iXh9U<f ziTQyVilf-Z$|gCw_{bE7zV!T6DIQLj<v~BvBB#<50BY3~$R;GgBJN*Hmkw!(8p=$M znJE>d>Mf9GU!Kw$YAlA4sTlt=^=}2jNo}F%xwTAjp?KWA=(@Z4_55#@y;gS3JifF! z>Sz}6qtZC3y3}}?>%%UxEk*~Tvoz;N8<m1Z+VwP&XtgSy!gpW35=p9^cu&*6QS}H9 zLl4ibb2Ae{#J;EQqq}s4IBKY0&QB1fuW)ub;<Ze-v?Y~^uzGpcK1D@CtfQ&w0_7`~ zsKW10sTSn?Z_1XmLQfmswk=~@m0K30eLG!kVqZD~M-+y!$nA)yJaSLZd?Ju`X|I;1 zuI#Is4b`~vM7n(X|7(Cv_*HnDI!_mdF?wp<wP0+(_|F34vT^s4>+U;V-|?-M*IKSE zAIGJ!k^$kQ`Aa>HQA!5mGCeR>%hrc52Fdeu>L>!UnJOs*v!u)|k1|z)o}`Kh?@~`Z z3GY-cDg(N{V%?%dc(!T_s}SK?ct^=k1=asWe&qZLWh<b%QUTRF8K|xxP!-KMvB*0T zR`F<JQdd&#EAcl&wiHAmz4lP7ipH4GURm0p5#UkJ=xJiX9Eo7<$DP`w;xk|fKG;k8 zYP4*!2kG+FFH!KXm(PQ!4N`B^>bkMCHaVw{Ok0k$ik<~at9*TATAVaI^CU9{??Oeu zb6<;Mg@xqM!Y{Ovb2m8$;lN;%Q$2{y4q7F0G#--KByAizofW3Omly8DJa$qWFwAr8 zEI8f9O{eZ~gY?f)hiU?j&mn<mRX#g+%3FVF^SBoV#c>~l_u|f&a}i`A@S4AV*!i}5 ze!P0+SRhut=Ip*3o_X<{`4^AGavG=d%V2?`a^a<Y<CPm?F7H_<g&d9LES<`)xbCW$ z6{Mf&hAVG+fx+qiB|94P#J03;>B$!CQCarP5J{(9+`-v`O4kK5#2QTSA>X;lr$e}5 z!hxJ@KOqUO8OPy?_-bu|fs?dIC<1#&Rwj4k5}B}jAO!r3f>n-*QD4&d((g>S9j1p& zPZc~>_|&|oik>PyXBaX;Hog=vm98%K{ps?8t{%GRAv*wh{pp&;U4dQXEIlk%twzGF zD2_d0ggiX$@q&J<2KJ0NsD>Jek9gn;CT_Hc5VDlew9~AvG9e<@P{{r88o`LSEl4tT z8&vKTC2BcW9DGh!RsRO;8r{?!HIDqI_6BEzy#?FLM%Cc;S=d;B@oZ^)pDu>Ynqt2) zuZD{CbO<;bJFEvS0L0ByN+ATno}psSu4qT3519~4>5opsKn7=ey0G8=xVhi{^t|As z5#{)q?hULNM<2wjY*!C}M7&Zl1};-B1vsce_U)Q4zp1~fx$>tAgE{C?qL@=2&LNM@ z(}hEYkJo5&q~$;587hp_%3fVGDN>%H;wxFQW(HcB)@guiBA3g4x*$RdGVBqy56$aZ zEPtuLGQ2b!p3QvL(QfX<#Sjmn#0P<~2Qmj7{hBkzT}#w-@>{=Sr~sq4O#W7XuQ=s; zJ!d*oZ!xr+2OI;LPZtH(e1e)_%sxp?<Z(iYWon6$m2$1*)(&Lp_+{((Id%M8{nmjT zh8KQ7c%eVNYn7b8`a6*Ok?;mmQK;z8=%OVe<>}AWg`9L)G?7+P8HS)+nDq&Aa6yk} zb`IH}Acq{?9GssZhg{tpT%RBZw_Xlsenc2l;6Ae7(SG4B&NEa5MdQ6gMY>qeBlqus zTZMqgdU=@o-Ez46JK%|IP(nS(Ia7nV^W<1KHb&wH_VlO5%2#9cy9aXgA!DdWj%75U z?jJg%ANsB|d-8tmR^$S@w#qeDfBTgd84bbBDQ(K_&;H0X3;Hd>$H_bAqw|Vvlk3HL zw6fpTwO#g6f3-F4cYaj;&U_iUd_=pE%SV)R<_)NUf1Fh(chEFgFjzP^Z?I^vxWmd7 zoVE?*_vd3hBMO^6!SwzNd{@cek=^oJf0hgp2v=4RO?b8@yhcu?33qD3m9<6_?$U%4 z>y<tI7L=x}NBwE|TBwBO;7eI~hKdhjO)*ON|76m8U14A+Xw)XKj3Zz&@+TQj2F!3! zaguJCXy!77>&>|GlG+oA)1Y+(r73o;nL-6JhPZV1H8|oKAefa0`fjr$i|l{V5(r&7 zh>TALdXv(rnJYp76b%NFz(ZH8Hy8;#O0oqoNI9NNxU`{Gl7tVJxqzJyc1bd4{h(Y! zD01PPry_zNR;yZ?#Qhgd(Xrlv@)ZnIXpPEH<NEHDxPwV2<lAs(fj6MZE&@uK6(_1D zs^ySMve@q}efdoyqY?T9ZFFgzNJMY!bFq|KQW_(uJhbO!y4(BlqUdgyVWHF*F~kN- zT7;k|DwF(57O=)7g-ZI}-emo5v+xy^sL^b@fKRQIOkhghb;%n7nG2?);Jp`B2$SBc zsNkKuW$do!*Np@&=D$+*QrV<?Ni27Zq~~2#Z4~$Dbbf=WFO!`#+NLSm+_aBKRFLs3 zX(Pw`adXl!Khu=-D^>zvV@8eO$GvrFun58neVdiRsI6&%y{4K5@25JJK(%p6gSP`0 z7e;WSAa0Zxs9P^y6#y}hWK)t^2jL;^yNSBdZGEzmqyH%1OLwxtE5x++a4n4LMba7) zYsp?XDJ(IOWgnO&(~LGm|0@ql_KlE>Hzg2<hM|7S7}V0a;RBMcW#5`ll&mEbky9q| z9ca(s#^21t0Fp0S&ly1J8;5Mzr8NP_z(r8^DA>Cj&p2TBO#wEflO8&bdCGXESmhz; z9b|$TWY~>^A!Hg=Jg^U^e<h#7q=#nnc8g&s<MGgk=RB0rZy3tb<cy=H>dsH^1O_w9 z`T|UT=<L#Dx)xNt_1W|kD&7hj)f!RuYh600IQr9v>_b_4M_8{Y1{OprejsfC`33L) z$l78h!ETAr0ekfJcSD)-$}*4^T#}R{X-lR&n%+^4-m6hM$O52w$bp<PBZ}_1%3p#3 z0{xLwj0%Wm-=vi)eZYE>8H@OLn&`iPgY)cdC{DOdvnxww(vTs=d|H6i>C6mf0YN9M zJ;xzp;|1CuB&-Kp5A1BYBaz1V4<h>7Lb*Rfp?PYKVSgm#7uSkJ#*Tdl?%jHz`M~xa ziL`sR?zww=!i|}+Q@-7T=R`|w*$FGHJAnwy{6RbvX7)!CS%lA(dL=THPuO|`x=9#= z2~*^_fNhLHXrgvG;H$=WYQE5%aH4=bm})f{k5(-RCem?3IIY>t9K5{Bo??$E<e^^c zYxpRPtVN06Af!AW$=-)NprmYgd)&L=mcf>{l-&k(arODl@sg@|ZNp^k+F0${k*s)e zZImvEs+wA`Y;wWQ*n*w78tT%jtDf6tWA)~dj2k$@hST?>zPAdOOy?jUI=EXEEm%BN zws5j+TdZtbyrlM0_0@F5FW+h$G2bYzxOmSi554rz_2OkvVQF0Y_4_a1|LOz3NHbTK zy<1f`x^+~*A(x8z7gtSIu8dW#9BaE;dF}Azj{9Oe?whE*KjyuE+Ki|pO}N9VvJ3}? zi@X<Ck-60C^OmqOx5mo0URyj~cHq1@KCk@Zj>)Q(v8t7?pZHe)YyHv6=GeUEc-hMH z=9^_p$EwH6)<z50;^6VQJ!kifx+gpf;>F(KJ-?hOK;Dd*_NHS|bDgzrk$9%{p9rwn z85;()uh0lHhWm>&%;w{v<IIpv!a}1aO6krJ7^dTdD;)(FZczrL87^ET=fB9AA%|JW z`EPn7s1_{1t+2q<x^?&VgZ{nyn(yATT`<8<P(WK$CV!Yx7$|_4k{UkfA^Id{D2xnt zhT8)I$EKLTR#+PazE93C$@zesU%??g7{=SfvIbM<B58sZ@BbjIu0%Yd{2o=0Ks#Xy zhJ}Bjr2k6Jzmd}hC*hEcGqbfD_o0QgFwIU;3J$7q7HebDa+=6WT1pdHNy})$p<O}~ zF75J3v{%B;W+LnRzo(jHs7za^I4cv2R$#F=Xm$!@s#YMA_kxR@960O}MX&deJm<8( zTj&v|-)rawoMu*N3*wN<1kpyCXiviVPaMn7HO#{$B<8Fg(38j6<`K(t>n=Wg-3>MQ z@9+3w%Ns4%*Bl_L6b9ph?R3n(cn2M`&x4yrX#nJ|{3s4~AN@{AteOn}M(3}&ntwHe z<ip;B<N2*oSL;n@E(oft3np^6OgOhpd8=Q^eknUzzT~XqMtQ}s<3?%ui}#$rhfIY= z#!EL0w&2h>Obd6P?Y_8aY+ZD7>$MU%KZ(RPw?^-|Z#@70!8_vRm4kOoI7;Hq{7GkJ z%vm`K^GQqNH4BH+aaipp%n7WHR;`$DuZ-6<l2`SOqLRVgu#7agC+;kbI_u)|mz;G@ z<#;A@Dq=YmqxW9VX@G?E!p3O*-U)ZhROOP%$^)^=1JQ$bk5}Gvb`P*YRrM>YURrgj zalCTv@SeE4JnCLJRlR(&dRMG^SG=(5V#j3l>R9#at0!-pO*Q#v_n~KM>cCN-Up4HE z=N=qvddFFUZ00YWtXLJRST$a;26$y*?z@GhBgT<sz$<zA&!3nqsEZZUU7CNX{c6qR zx;?RVdnO9@#yop*!eC);%vA$B10Oeo@q%SAvdR)hT{Y;^Qty|x!)$*^x%Q{H>`N=r zC*`;(vIO`N=r(IN03lxDeR1#ky~FmK?tJOc;K}Rm#<-_^(o-GtRFC$)GVszsbmfj8 znZ|2&Pk3OmwRF-|6?0XM-cJZLx|~85?4EG_njs~VuF9CJa&+e_dtcfcUDkZ9ZM<sd zTdrNe<EY?!MTVS$3(F^q7siSgUOIfecxAk}A-d#_Sn(b4`D-WVZ;Z{~7~QmQeE$An z=Txb8qGH|E&Eplj$4mDNXH2<^NBUy!I?2>ZrFeLQ47Z?<JmsVHF?WL$R;`9%G^>`w z*6j^P!K9-s<|vDnubObIjxXOexqN?Y`Tp_c2k5Bux|nP6aQ5h|LT^fi#yu62o&_<_ zg3;hxo|RL1-qBsLJantp_wBr*WRDwa@B|VmS$QWtwJ}farLqYR^y{@*-0&c*D(0yg zeR#sNf`!$^Jav~E-}0=Tu0S>E7>-*y1-|;av;G&RqMVBN3~;8`7;0Axr@!T@x>3K9 zrcTXN?b5MD<F#98!Y%lakD4W8CF3=lC|VU(Zu%{aSJcpNS-g4`{Z_`^MT0HBoY_a< z{L7gPxM2qn)t_!&bfDh)LrcYhCDtVS1w@3?-waWQ$vQMLAqgEBQ%m0p1<}pkj>tP~ zwu{x8RT93BT!rU=Xp{Dm%!ZJ67V4A_SV^W$-XSDPb_JMvOtj>{c<#Zd;~<m8&OX$_ zR${`*f}0R|jNVkk5Kq$QAUU5Uhb`sgtfw-F!2><$<*Tn*;@*ba<_AqU#?o(riS$9+ zEoj@e5)v+LjM?UiS+LX<ln-Ugx)Vi`4BcSEUnc%${sWnlaYXITDGWozr?_N4!OR&! z`$Ji201CG3ssx;0h4NC`3u%xa(FF?D7fk)OK4i+JlM9Iv4H$d$Hv0W`Ri?|?uGr;$ z7HDw`m(gPsvhbUUUwgmh@$`O6zm;<ko0X%Tn8vIkVr1fq8Y`DYp%H2sdtiJK*Ixv) z`mNx{Qd`->DI78E3ar99)wHsnp)k(LBtzQt3P((P39MfGxSYA#$K|R!GWA?+r*R-d zH7Nv%xQTP)Y6{yGl^>nipZR!Ne`bFMm&e+gC$|cw-17TzX$5*I?MlI`R?&YzbN;@= z*zfSu3}a8f0~QVnTRvDuM-IW4B0a$4ID_exZ~w%Gf~iK;K$zUkg=-KhT?hX`?S4e0 zG>2dZj6X!jN=b=IC#LaGUl#7~R3>C?pA{U9fx1I|7l=Uz^U|;xj6D)AhXead(nbY` zD~uf#jI1*D+5X<h5g0aJ-neun_;Mlf-g+>w)LbQAAv0vQ1eXO;ePJ4nwF>o;H)Ldz znK9{bWg}~8(90h?9_dv%YQ4BNqVaH}S9lt8f}P0(Ylbe8BD=;X`0gF8DiPVYMQN2c z5;zLB2M<GP(2@*@{7ZBn=(m$00d14-sc4{U3mJQam~sMag&3fVCJU~mY;eoytb~29 zkZ#Y>lO+FNMARcr2P^zWO-JCEt#apNa{q!4sdgl|NOE6`cL=9+^m1qrV?4-AH1TrC z(42UsYA7UH^F7ijaEkyC=)4GV6UAMj5N>3I`_Bo#usgQc?pEZP{WBU{mz7Azy#m5f zUP#!`7&^BbPFUzIk=rZ*1NNHIkzR4n!gep}UWDOHGDIz+#tJHmwkycnMs*<`8@9s? z2of&%pbRpx*BPXn|5A4Xe}Lo(mkNje$PvU(q)X?a6HYk@wesVh6k#5rY{p|VML2fL zxR&S^wJE`CYiB%drqjXnGKAGg_jiQC??+uhYUdjqxzFDl%PbkSj%LT5c^3*|PVWuR zo$r|qSa?BUv>1uRD4aJ^J5n^dajbC6arMq<{`SE;Zn!I>xm8fKT(A%1w<!lM?i?(9 z&u%F%M8e`SdMg{;cRRz7mG|u4p}ixECl+q}QN>%1JvW?rBX`G~^G8pNwZ>}JUhRl( z+8?j18@3KV3ayU#ywYLo4QJ6sn96F5*Di<mKn%Clm(>qv#`B7YcD$YC7SH9vKB#gU z_ub4K(DWMmf#`nkj`93EqOLop93H9xZa>ahe;c)|j2D;ud!{ujd)j4y_K9b-<0~c6 ztj0mpR8C>6YQ_0Su2xLsY#6l0GjpPurD&J8dT`qyE>SGGnN>V;=V;rd`D5F!Rikp) zr)RGmG~Fz%9@#T!ny}4_J97r@Y}IRL2u^Zj7F3FI9d37rHDIWf;C6SWR$_)Z7${Nr ztW2FGPhIgPw&f1+S8&l9K{3<pH6wreQ<hO$nzd93S+>PtEL<=_D48=|!15(oxHY%z zxNH%Y5hNvVOkuo);6%DOO;|!Pmd=hQS|m+JffDRVs<iOvE7Pqxc6*FT<*!12u(KOD zew}XsAHh`^cjZr~**w{_A*qSy7sm@q<0UokWsz65!9DLiC%s`aAgbgh(PZciktQSC z6lgtM@#(-F3c@hnapPWwS|#C6;gv*S{SY2~3)C2z?nb5Q#tU5VL!u79e=XIW7{JhA z^^^^7j5@p`g_WMFXxu=3#>gy2Tu~V!5>n}^wG@S%O3JkYF>pyYi2mZ~bhkYlb{pLV zxCaNDx!XDTo~bw5Mb$c%CaDhy0tgaj+TbKZfGX#ZWg2rCZCA~0Ko{HyJFEDo5;9jT z@`6rgi2{#c=(my~2s*(+IFIuxl7&X^)`(X&c>yEISOwJEyG45x$GgeCI<X%#a<x`v z6%tVw5dsticrO5}6I6<5LxLS*6QvC@+7}lS@pdG-T{1&Pi88ef`XD44SPyt%A~{0k zlLkAaTv+O05J9wi&Tc=32P&;(frUDR+Z2dIVC%a~o**gm0$UPSz5+s61tqbaSP^#f zuaXVAfmSk!d#SmKR?`J{lYRDeDHbrqJ;MGFPO>j+u2p(T$Hc{>>ma|2C?(2$(5vqa zI|+REIy&Q{o;IQ+fpuP~Fwjk(s(G|#ofoThO)q|z;g==Dd(B}i#We$7Z>4wN?xZr? zk~8Q-WGv@u!nOcQCsz*{5Cw=4q7i2OlTsnkE{EI$k8VVDdN-mjtSTEp^x;z7nmX^s zjSOCD=Zc`_s;DWGu?g8|MxdRH{bQ6*bON|Q>_`Oy38)+~Iz&l8$;cC>)yc7w7<GtG zgp8V365kG?5YF|%WIrF#+GJ6tf-2^P`F*V8Y&LXjCls;WQ$a=@KLuQBYa~w+=&?Zs zs7S*qzR3d%fEdsiH`xa2RJ_O&ZHBCwri&u;6YZK{j??7;N?DDt@j}!7cnCx~jB%*_ zgbT`H=R@e^fHg?Ije8lwB+HX7lP7J-&PZ=+bLN-<xaWZqY}|pnWB5-z9h6E*vitxp zNtZB-+<i)e7>Kaz8DKh#a0U%H>xj@XI)}so=P~eAGL^_t>IHUYPrkT~(2z8y=rJ@F zws5)u|7Zc--QFtnU|%6_X4n}S6sF`!g|Zea<UG&~B|sq*rVbOMoM}Tq1127rVstrx z8zY6dN}giZwuLxm%vpw94N7W7#<CogK{BL2$~PN3)SqBbG>?ylgcK7-Xe*K0N?|y< z-Fc#ugMP5sd1z=GPkSV}T<QWslJfV*1cW)qo{$su%=|~^Q;8zj2D+hDK_yF8c_Q9g zr9sI(S*O%o##KP2n)W|{iSv+BMz2@~6d)*X2{2Tga}XLD`?v4+u3EX09sfKQ!aW<X zvBOXwc9%*W2wi9jQPnm2)+zw`07UQ)$@j<8=7{i?v^t6BhZvSp0HrT?gSh)pC+VhE zVLgZsoXtNAszGD~y+Ut9|1r`<J_P(ae3K|9qE&?d%ig;{#d)S@f>lu5OMtlF1O*5v z5THA{%f_IqEp$V^NUZ>(Kt@I&{{@ysqqh5!7~Jk|6uTpoc4E}6#3)wMc;Y1Trjw}m z^vpW5$)-x+P)*3JdXIK<GIP$ZY-!Tnp2_Y$&-?wiDhe!jcaq7R`H%GT*MIrG_q)B{ zdw+S_PRiv`T!5B?MgyrgR$g<>q*Z`M52ZhDxnn_=nO+)ldqVE?(2CMfMh*y@c@Q?s z64I0JITDhR71c~y&N#rRD4M1W7hyDwV<Algn#9?`c&1HE;=(jD7z7JxbAi~<lVaAb zkpW?Ci#}xxHUFyBvAd`D?2`NLK+iyLm)c3~U-S9`(p{_VH*79}8yp~x=T_on`PH08 zJ9f%?Ui{5teISNT^n&21<-UE=_)74H`5DHILyDN|t<N0V)!e+Vsa39y!Zw4dB)db@ zBY08c=^}@cnt371F_L97#r4x^s{@Ivl^~A}^``g^*A9+WEdJl8q=(U5WfbT%+o(2d zFV;U-A6se=YSp*{*I?dO_>Bls;nUMSFLVJp;bj~8dFol-izoysZaU!+PX}U*E7=O7 zRnTc5?4)14h||?$5kg%+(s&cX7RgnE=@C{xF^&#{+KeP_8sLaTKfs}$)3CG}@RHb- z0k8Jd?Zj&B>)L8|zcB^u@bG;ZG8wUc3nec8GH{E$Z0|kQ0Bh#j2yNL;m6?{>4TLH( z5dg#|@Vf3h4KzXg0@+WOb{@%@OsEaB844dPlp{O~=F>Ke>Rc>93Bv=N5*kn6;N+pB z0K^If5~NDa8LCyojAzVMJ%pLF*s6{u$TYYYE!*N#;IV27T2YaHyu*2k16d|afh)62 zm?dnC{+%U+wZf8G0S~)X`fad1>OdJ$%vgLe^bN2<pu@rt*%sD{X69l-x6_{C<|_=j z8l|3vAy?_-6#ZRsVSsn<QI=)8E*R}#m{=RUW{+9fB@oXZID?0F+UA1du-=H4f5QCc zfUP}{ZbXOiXKRlYDl!@bs42?quxB^4=7-f5%dlH}Zjsi)mN4=#TYK2n+Js+lYfFt< z&u~kOI0jZ4H_lKD6mi&FEqFR{Xva~=G|u@wjY`?ikPVAbASx;ZvLRatT4UH@iR-ao zd5iJoIsjlAU&3B2-1yR%aJqTr@-XvC$h((`_0c(H_2-8d`D3VU&e;)$e8k4m6ZU2l z)5_lgX1Y%mg)*%y-81$4wYn+iY}vYC=^mB;`AgZkPVJj`<rm%*Z8uhqwwGHjmyqG< z{&0|g7m#cFS-|5w{n~$X0KOLnV0D(FBYzceA`h%Ntr~lKI{exmHbLf07Oz_IlI4Y{ z{R4l#&eKnLYT?{^gI63CX}P9x1|S4K9Zu&G5tkEr>H0NTk!fw%p2qRs+%ix^J?B7F zNygx?9+&EQ`VKcL_CM65DcNHkZ|2PAuMXy~o=I6VpXr%c{&vyTqUp@~fV+M^C1Y&u zSno_q`K0r^?(1%3wc0jw=;^@bXM)~m)Vl>&3nm+{u9(hT9dNInH;StZ=GV=n)Xx`{ zVusyp{ImV<@1H5%GhMW2<UlB`Xu|n+^3`PMxI?*lV~L^6ET*&?zX&JzfV&QLzR@tg zb0($c#?Z~u?>#xY<4|zNp_$c(AF8nV%zQmJ*7I)<Umc!0Ii1-Qa5t$!x6Pzf-Pk|% z{P!wnx9$&a-9J<N_(K+2q%1D3?PZ*0sNORl4Y(h@la@Y`sEBrM>BeCSBJbjkeS42) z0jpB4`JAxu)XTW&TH0687yBG%k1e7x%78^IQYGmnKyMqXAwWJhyQq1T-_aq3ood`S z;&nUK<+_&&EK8x&H9h!-;|)9o%hOC3{RiSN#vL{M2XGAwO;^VVrqmHh4WS5K5KwwL zco3WmoCieMAT%#zhC+t=K^l_f$E%T&CZ(){2o;o@4+$fa4QdhmHZ)c~@X6iC*2suK zLJ~7%FG}J%08_0C7a-e&;K=VesGDA&0Lw}S$t+A48|d^nM73bgK~9sXCF4XXDM?1C zNe2<36*|ZZxP}Cmwc16kRpy#M(JD6LCn0L8GB%YHttYF<-dEXJTe&A(YgKEN36ED# zj#<^y*V#Mh>(aM@9Tas`Roi%jR<H$zVpBAQV1yBjR<hXED&DPD4=P&AstqkHg|v9n zv~sihwF4}<qM=n!+6B<{9`cF85i)?T?Q_Uf1W@#bzu#<z?g4><^mJBs$iZBQ-7Gs; zW0F(|W)xRqHV992#zYr&3*$uTf}S_mtjPw7h$R8r0=2SKB(qdi1r@LDGjyZH3FtCC z8@P|{f(h_0PhFi%*i&7Qg!P~=z%!|!AdsAKh9DYMM=!1cxz3(pDGWkn`GQrrF}N4{ z2U)47y92SLdk{=orU9~&dXRUtS7jImQ{L5yOK7m4tFHHO)XX;f!B-=kG<4h0ccVh7 z8_AC;3Wi*eT%#Va#MX{FMyo>0$#t7E2e1PUs^cYW732mG=s_vZQqLlu6xRa8D=gEj z-D4E4NFyv=j~5++S1^6ZL$b~KOsw)-FIy9++U^g;&cnB;grJBBO$0i+AW*dp9RTQA zg+eNpWf1~Bqc?280b&tW>OH_o5p_balF07ist@ZQ_Jh$oN}D6F0R?%)uSc(hGr$Id z4ztCoO5YEhU$XPjI8z>Mc3QM@k(So%=H3eyyNZa`bBV^BoJ-Ir<XmbvCegl)T>u(R zk}4W)SS&kZP%fRlT^)U<ql&U6Ch33=euwY2atk`f(~~&Oxrp!QoX-gjBGH3%B&{@} zQan$8Ov<Ad7m%+!3Q-v>MOOyXR)*YZ<KD?Vx0+$6nVvl2f~3ryHk(oyOeq{ceLJOM z-d#A}G?6v&;#BU8d&>_~@*z2c>FAmbf0X=g^6$H6({@~UO*$vnjyd1hF|m9a85PpY zr_*)>5_kL*f5b5R`x!ZnwebsxTM^xK10ef89mb~Wdn#Tr4};P1ONOUt9xI9kwiJi3 zjKaGYVyj(4ly+ii_&rLD1rcVg>@p`Yzp&=CzTMh!kY-H(BqB*6B{SOO?LA$voapIP z)FkOeSYUI9Y6T|MF5|aNs5MuJ5VlCx+;*x9HWw5MfhIK6F4{?q+TU?7R^cm<fob{U zrEfktyP_euqG2X&Qz$d<PKx^*TSvE!of_SFEkBr2gIl4r%q6Iue?XD6U(?dVSVr7c zhtX^335U%ig>tiq!}1q_eVGfrOollM8w<NK=NXe(w+gZ7n=$9fdY!I;zl@ElF=I!- zrY#<+gq;33&`|M|3?MyR5v|yG4STx8m*Xu_$i+lk+Y&9oh}pK+hGSlCx4q-AVlONy z@K}Zx=2$H-t}e#(Z5XEgo++{zPO=Gc@`sb6rTAU+edlZWHm{r{A0iYOwtn#0ihVg@ zIObw(p9@#;;6e@vrjwRq*xv4kY?Iq@Bi85_^cyCdI?i~EE9>uYBGXWruq4BRE`gp_ z{(V-<t)8@mF^Kl@v8}h0t#{6pS*06S1~mSdG3RTkw(k-i?mLa&)c`iwD-xUG*IIJz z$e)9pnQiAa?m>u9${+fM(AEaS3x?!3C>mkpsx#Eu{znud2pG&heHC>g)UVtw#DRkg zRb%i4m4K5B;au_oq3&eWi${mBlWlydkX&P%ywpY-LIlC8&J@Aib8$kN+YtC_GL@++ z$PGSFk3S-0GvQA}R6Q5h=f~DNmtlUuY6fW-;O9~_h;#f^xc@1F#nVSbH?$vn+3^uH zA=z&xPprS;LY}ISJ43j(s$gc-WbAZi?MUJe({gb)lwUNPUmMJ?9Z7|s&0E{9Z2Q)Z z`wnl?+R?{Hn#U^cX01lDEM)YAhs2BcHUul|=1V&RnRRzyO|xRvWOH!E+L4w!bS|iv zFRd9%C7P?hQH~r3csGz)KA(&1ch_E+t=b%{+B}oHB~)Jd_V%mWuO!~_l#j>VEv}g8 znmjpEye+h{TDb*{?|Kl+j9R$;Vez)R<u#KVr|NEHOqVy0Cx&v1$6gAR)m%vkWfzUL zg^DZ3_S`L970N1`Us*rte{Z)+&NIDoH_Wmg#Ko3njHP0uEA!5lLJYHRYUi!ZA3QZ( zdMw~Bh6zx5*~Bq0$jEs5X8c6Thv~I2wF#80eXn75eN%9K(_d#b&*zm*Y`jr9TeCG- zv-Pj@w%sXSGZr`Idp+f&!%p;(!qn()^Pt#P_Pa#f{aN-qE#9)Dg<#n%J8Zv<f~Rdh zgQnf936(9!j)hOVEpe+my0Daj+@*!dgK*GU`i-LqUsoN|(SXUh2mBqW%E3OEl+$PY z94%e+Y#gNV75ibM6NQI04HI-9CSiWT7d3$;WCD&_PwOCzgKE`gU+Z~7sk&=DyL<XN zdYMKA6!()hvXw+|qalo}_vkFOaG|6%37+Hu25`_r!13I(>%|V*ANeEIG{h%rje7N3 zPi$BRT^R^j{kM%!1u1X6E;<*y##$G9#{gWEzf!1iXR$AI+C|>guRrBgFvbt_wxXlJ zYy)off!tZF@F$=*JRze(2EFy<NxccMo1sc^vCj_G1A`+{FZ$(>`A!RR2bx5h)<R6T z3KJW4r;oulIE-4eBzar{8s#fW6nKhPjri0?yQz3(Tkxa~<dMGv7a*96nP%nGo0Tdz z>P*Vo`OG4?2vO#C>dl7P!u7$z_3u47yK!%D<KFo~?~T>S*HX9*sVLps?__2(&Lk}L zLMhAM$hlm6sW_NY0<3#^ClIE))THdpHH|8{V++2Zo8HfaFAA`BqtJJ!sicX5C%%p7 zREy#j8XQI(ma;0E$3VB4EK@s-`e+#$aX=oQY231CPFpU$C=^+=yj{RF#V{6>n0b~G z1vG!AjoN~dt1q^|REyELkVIW~43$>EM92@&@$b;lf{C!SZLGO6X@Gv0xCv_ZLE1lo zAMMhB6V8TluawRVQa=tP1pD-!PGz2mNOYZIh(~*T;0{<E$s!TUJxOnc??eJ%m1*qc zHUwkb;$I>RE(vcl<OnAqZ8H`i7LwQa8E!jbej*r#?=A9NEor=^BTlYVu5P98w-&5d zUO{D_UXHoqS<Xqq3tT}EqzLuYfcoSj#Ti)r#0fysYC{}e-atXtccK+)5l&8NkJBO% z1@!<7KY{ou9gF}CzgZFfTZlpw0z?AZINnuBM^E7AT;i_YUTCd){MvFnfaG6XV`Cu= z2$T13=BGUEA`<xqF2t%K0*N5&$mIi<4g@kcOg#4X!K(*@nHvJ`4JJ}q9V}e^Ue4^= z<{)Cy7VMfy*&WKry1eSrs*$F7P*Y`J{lc}vw@a>;%$9Bm;$PYp<c=zRzxyxt26wh1 zgFD#v*olnsy{~^^!auq0>iIy<>akd)7#`UVJ8`8R-w(jT40&C+A$W&6#&Em?-zMj8 z#Jq!6^PrnqM<sq7)gxgjmj;XkWH*@Z5dSJ$Hi)xegLk^`EG<<1&yp=RaX7@K5bE}y z?nC%?5gbeQI;<@v$nK!#hDK$&KL?i%cV6>*-Np@ei{>pZLfvs8a#ubC<qctj-2};Z z;pAapYR)VX2b}8f?>%W1w{HN_vz|VX**$u69VHj*yP%uvN**xEyp>s-Q8#i*!OqZ< z3w@H!-HYN>lg1&9qCD>Ycl2l2?BTFzJTZ%@KNlC6J$a6_yzvd=l>yJjKwiUi>ZU;A zCPips12Yd^%K&<D@rv`ZW5h`-|F0w>1)}-VC^msMeIOlVqGDP)&4;*PA;ix2vv6W= z*HN2U`=Djku0k_AwX-Now$PV_@AxEfdvC|tQ@)O!FvW-T-r%il+EM*^KikJm`6n+s zCZ2k4U!Y>g%gXbwI%X~fp7_S6Wb1Se4QyS^Tr%fDo48}C+6l6!U8={*wpFTKz@t9a z!xo{Qzge;4<^40Rg3yYUFYo`*Rj`m)Xa7kbHsHd(2t-w+_ZznksDr>LYl*acu=gi= z)YT%sQ_2JA7`_3j5RaX&qD(f94S1nL>+N~23x5Ay-EB}C*e3y6%vLC6f_4#&pe)T_ zhR-20O3fZ`oJlQyc~2-IHIPwpJE0;}>K#e>FtHe((}^nmb=Z&^qpf?6+7s!hJZkXz zfQSstaI><tJ<#)FPv209{1J0Ot{ITaPXJ)U&=bB+Uj{rakW9Xczsl3;HD3K8PyYu` z?0%Kem9Hwa^DDf1i4S-hV!Ig91yQ42)pyb}Ufvf<EBxYK^)BBCYY9;lkNZV9*#o2^ zJSu!yknaS^e~!m-Q>Ou%1vOp%=L#b4FrSY~dSPV_kn(Xdu^|LmVG}`2T>x0*VMsX) z#}C~OE*J3?I-fh&FLFTJz++DQK8n!3gre+YuU*I8p|VI&p`9~e70lPx_GNY*jSJuo zf*qk|qI0&gF<99+o%UED@iFPZ7KGr97#w^Au`w~7R21nJ@<l+S@$@B@o`;v=782u( zYjRGmN2~+<o!S7(7Jt<U@l|;3kjM)gC|1Mcelt$?fm$qg6EjiM=>v&tVtuYR>5LR} zJQ49%<1wH~a7s#)N`_K7sL&Q_J;b5)ExR$&ai^G}MtciYX;*n7PNLi$`pGtV6-r8T zt0Q?$BA9IX{Zzd9N|Jq@Tdb>1;J4ya9C@7}trJK_Q=CSDCjFhh?tC?=Z~bTclHOSS z4vx8L!?AEfcENSmwEKbpPG8G(-5pJ8GuDI6+H5pwIL?@gh_-Jklt+_{Z=H^jB<u@u z2(t$<D@rlTA5DT4WqgbFIJyQNTCZ?2SiL%epVwm}?hdU5Ug%-o7@Dbblf%Yt88Qk9 z9X=5C=18CxS!S}`{2G49b`!%GE0M=L`VDOpSPH-qd7LrDoYs?3lVGuW(6ToZ%d~U^ z*NutB5_LO=&~u7KP<~u-+6$<c0nbcFV1^ZolZ;?m24L3C;|1t|;)Hh5-UB2E4Wv-L z9<*BRk#m`C1DKX=&~>7$t~OyWhH7<mg_SM|3#=V8%G=-O^5ojWrgkT*a5k$dm{m2C zRgF~jvw5|_yxQ5kb-}!KQ=6vqwtdfkYr`L3xShB6PFCLdQ?o191XrvH6fq*kSTpiO zkEO^`#sU*@rs$=(p0(%DrnwB_9s4>0y)0;*yV6`90?{ZB)3CN+n@+Zcp^2DBT%8&x z(_9K2m=Kg2B)ng{gge?8PU7QcvOJF}apt>#XeceBi^kXs-&VZ<_saC#H(nTjX(ny; z-2%^B^;haAv)~_ExYs$A@{#<#wK24Q`v(U?n|FU4$NQHOAO|cgHC}ZVo{(4hSAX?m zaPlXdV+lXXEWLW+-2?LlD+3izPZvBB$a*GJw~ZkoYVNx8#&ajCX52ON?%eT&8Mo(w zD}GrK96Z-FIT`4oRsuapABU;IOg5j?njHiAZ1Dj>c*od7ULyy}C-Iz9o~j{lz1|&F z27L)lEB%Ph4G=ey4^`&R+BADSGS9$o;^t7k)uRz9+kcmRtH@6n)Q@*xdwODjp#I4~ z(NohIPY2vjOM|Y*$i}%?8XIdaeT9SjBxe-|Qe)kbTaU~+p1#VOt8l?g5=D2)yl>ZE ztq&xYAnZe^xO{43sHkG9>p@&$QsING&ZKAbok%_>IT^MOp&mKzd+;ZGA0p{vPnW_Z zvGCR0XJnBXTCeCI=(BakhH7}2kLwz6#m@*`50uy0e-4J*QIe(*f>`{w8LA6HQO*Af zp4bFXbBRoVdF}$j3}#x803)cIe~g~FPi)O3A<)FCNrkR8k0omZ$??m0bIt{ukbXPO zL4MfR)pbs<IybCp>%pI*dhJb)<OqsclJff&-+GIuFXL5tU#;USyvNfYag@npaFiP* z2PgA|<T3q1p89~VMIX&Fd>1*Ia9&<8o*E}a$6@qJD~)a-HW6~R!*hti9LT;dG?LmQ zhNcT&@f@o4C}|{@8<v_uk5No*me+_nY%FQmeZ4Nf;R<RRP+_UUaRd_$qHyHiHb1iY zVyc=k6O?Qju6rU8HF;kViwk1F{j)G47?75lp0IEt?&r2l5ti7?fWe|Qifq-ex#B0n zxLY<vpo|9~$dW=WZrec2VY@g6N=@<%85rS-aHS4CNizIDD0>0Q;3U-6;o3e2g-;mD zG21R3$<3z+34s5S6JMG5hl*E@G=J@&n);mX#$m#+0e9#Ta>jUK`x}jRP{IvRK8T$Y zC*o$nDCVL<J4Y;0?G+Ta5Kfi&B*00{_>5SfIR%&dFZIvn)CY6w1KF!52LqWK1MZCq zZ~|)_E?fwPXvc+pBd`aGHAp&tyk(^*M)jyM@_=?e%3TsX25;h0QZcR$&52G_&7Hx| zupyyS(@<9AkaRuY);7(C5=S$e(u(n}YbR$i*U#rx1kx*jnJzza>5+-9*~*3>{$(}< z+zry|mg~`Z#Xlt&>{g8xMq&&BlBe&p&Kz7Iy;)3hlKbNvXHo^T3pL!2k4@6$A$V*a z#_YKN(CC8HatCAY5nZToBR?;~&`VhYWjqdR%IHW#J^A_2hN}NxGvd&`jn$%k2dA*f z$yqa$XHHJN7Y&SY7n4Q1#t*qyg%Mu3sn*-igD4W}RmW<-%{rpuh$yfrEb(`o$ctc! z^MTAw0e2MP-oG4{5S`hlVF?Ryn*%{S@gF1cL>mGTekz{OCfTVGl!Ji5Q)n?fu-U=` zqUeKQA_ecuDU6Ol0djn1>4ZwG8&x{Nn)K-iLo?0bfhiB~N2bW#*W)5MXJLUvRAFwV zWC=*#$!>5L7q2AR_k*aSiNa44Fz6zQI9R%~d>pSP!uXqY$Pvxq4I8)!GGIx>d57cG zL`1nyY%{;I@;i(s!d9JY3I_xZ><2kU6Kw*AL<k&Q5I7)T2ud;f-!YnqZ8uH{9JE(C z=wHRj><^Yhm_<OqIOh})MBmsM`#M_s!BJCW!kE{VHB^Kkz%%MP!=8^gOtC{cGWs~b z?ZjJ&5wGCqB_{+0(aZiEnv`nw3ButxzU8oMQfv^J;tF4k2q#ur!kcJ%Rzs6%^s?VQ z4EY(q^vCRnj%FCbe<i@M$66Z}?WbjTWsICw%oh6K!BF5p<|4`!<-kmkFN|6)(bW&a zR*7=w;Jd$z7<1I5LhSuXPHTU^ryGe3u%iu9>!avx?PHWBsyQg`zs6zyI!_`rp;SdA zCn{SfSw;w1V7YaUBs$FR&uNNSq0UWQbYP+R4Sw_<3;ikIclOLB$?K$MCGi}oR9)DT zr%K|Z2#L#jbMuHIb1};c|0or+#6OQpA$SSp7tiL?<7O;AlvN<HiSwtkR*gB~S@UM> zc=NZCes$+W&urzkVCA-%${nG?E#s|$!Yvb9X3IAR%Qxc^0vPL6MA{5gZohf#=AOXH z=IMf6fvjB!IXd>j>)R$uZ)cX@*gad@7_4o)wer^U->;gf-H%vO6V6|67&|cDfEcCY zo5q?Ez$dS0EagF*BgZr0nmBwl;YQXBVrmxd8gHE_n^=pSrG>k$4NkUBm0o}9J72($ zo35LOZ!LfS*v%(zx`Tzg!URGIHi3}f(O+e+o5COMb^JthN0DNS-CBg4haw)qZ`vQo zaN#6wx*QuGcFE521w-*)iRFh?M~BIFippk-YJ)|!ldU(iLz^BAZQC2#zW+f&?20Fx zmy!_lYejkF^9OM;EA~6bl3?DoX6IPaOnNPaHu)12&QNHRG~+IN;7Wzi#^YGG-#M~x z#tlO?+ITD^9*B+vJ!74P5$m5Kwb6bJ%^#|%H{1Dh2yF_@LNIS5#5Sdzp9{n`PX~&g zna(&Ka37ZzX_o=aA_=Lv0M)kn5HcH?7Cil!qg8_oa`Tmt+0e(aY#pUG-dZKKDfdoQ zKZq+&TJd1N)0uQaiETRZiFp{?!hIr_aQ42-btc(-&%8Ju4|PGzR~!bKKAuSRf$eva z&*g(E!57z+?2E^?odBgmiZ2nO0=F*-=ViWRoKt-%IH&pCIHyB*v`pIHQH8FQo?f`0 zTM7tET^ucZ(jn-W&A~ztoGM#rn@=kmUR5u`FbZ)(dZ1tLf#VY`(P%7p3g+nD@P>fg zLGkFO6d;^e7pIjAVqYSfYX}%ng!pc;m~%!zOJ&l=;_Q}ZaHkPlI?5$FAlPSYN8=ux zI`Fxe%|r5a_N+vi>82Kjy6|UvPV;4Pk1;_r{GTW~L5drw{>6zBmUMKjQBX=Tk@|KN z*xugM-$(6zAO5$uTiz?^kf`wn05ZPO8_?d4kU;kEk86|wM4+_FLIV{P;sRsY`=NgH zo>nKe2ryO9&CAdZgo;5Nh@P`HT|eWjh?kb}nhcsmTVb>(<|v>52LDbgp90nQ=!C{T zv#WF)2E}>mj$*K>fIpbgYZ2xRt(a!IAlD0LHp?6aSazu?h{tFZJ@ndo`%j;S{Kwn9 z)iR2Jz>B7Uh%sSw<q5g9AlgJ#Rh5cBROj#LriNG_T$wsP`esSt^3!sJ!&hdLxgX#l zG(CNAw(!=FCq^hQk;l|}YHAd_#XIUs;A&j}3QN(et7ngUyQ@Cm&FvkIj%{rhk<-XX zm=xYk{Emlm!1Ht~0IZ6``qcKKKx-iZJbBdCo%Z$_Jq<S`FJh&2_x5+d&I&Po<Vu<& zR|}fN-bE+UeMu#v$CU4fO&8W!eUv`bTkxW1mFI#5*r#I~V}6UuuCrh1O$WsB5lh)@ z3H|@Hj<Bb63xo*Vz%dy9UfQ&oWzhXG>@%~l$VC850G$PbC56Y06%;0TK{=(O=@66Z z`Jnt=XCdwE=?r(Iyg<WZ2?hml5b+B^vOH!Gq_yj0ZRzokBE_{!pnDZ&3T=hPN|&dy zWCqQ($!akP4w+Mq#%^{8Q~jZ+tRcn4(@1+?erxufdL=x>j$TAqm)hSmySJqudBv2@ z0y&Os2w$YWhHav`nd$acz;VEN%8|n3hfY9LyJn$i{ka|n1cvt>Adw?XzC!Yd{}%)* zw`@HPIiynr^b5o%r0j=M&5cuVz;O~bWdC6S184cH>CDQ2TQ_zw1buiaH9vIiB2)MZ zzOw0HB)aHOx>dWvH@{@BzieW|bf!1p_A0sNZteF#P?>BiX+*Nk0tWs4!NlXII-)VD za3pt}He<vv6%TBRP@+0)+G{iUEuQO)xx-<5ZZf-gPAKHCJvY<+;JHC<A;ptcG+?Gx zie|9O#MB0(h%YIKm!mHM45RJ0&4ib2k2uguyP$wXsvHLOM&SThUu9L5fO0AHmE!{K z)M8tPvL6!?BRuC<y(T7B%fu*CSsRJm{+H2#Fln+cB_;ujST&k3HA3`0ijiV!6@6(c zBPGjjD^ck!mgaPZQK_FI0)1h4l-5gRl^NEQGNhEJIH_L4>zLH;bO~0x68@I)Gwv#| zbR*5L9hfhznCSUV$w)IY2h3MgPu5LWZ03)$`O2Efozs<D`J?=YX<757RkNk*gQe@I zb_KQ_nJzs#=K5ypozjXi*Bhzx?)+JIS<sDXI|)zDwcw|6i(l_S?vS*cKtbK@w7O7P zHQrBy0a<$eLZ*jPQ6}>jaIu&KM&jc;`#jMNH1HG_*T@PSHRT<i#^Py=&qY}R-Z3X9 zD%1}$1tKk)b9~}l^@+3Y6XzGIU26RP7!YdT<B3CW=sDwIl+fMtVwlwU6+9mb8wn+o z<s$Jviicq9(~u6L@^)HfD8KMhd}w+0?DF#42;H1tr2neAy}U|(-N`Qk>z|oF-pmXk zNTd;PS1;^6_MG%yEiOJC6}+QkGaW}l7qtm@v?QLsf)ebgiZ{bs1GV0>ZEY{1HTRcG zYv^o1b&MThnV1T1h{30TM+S?7JM0`Z6h%q~JA(&dohW)C8-_#{Jji;##7enl(S>jg z+h|274%;5sJgJWo@Wm#R(Rin_UyE$_U*J=lVhS6k3eM8j_RC>F=*|}l#{}Oyi1O~c zaJmfiV$;c=2ZUis<|Rc%csG*~YHJ&1WyG^+u{&LAsa_swaVO@Gf?&i%f!J;?@tnpe zG6NTs5bF<cPgzG;sxTRE(TB0IDoe(fc{Re*ukb|1TTWiU;qSsPYQ}1l-1p#}m|b|e z<x<N?(w(H`AH_J6s_w@+k~3h+msABYNOA`6Rh##!ac|Y?n-w1nhE`TjZFvxzo>cSk z$|RhiW2>f)tyE6;6P-!A`8bgr&?`Ak;#9b74Z!6x6aCVEzD?IEw~^!Vo3o80&)$;J z58;BN|8k1u(1u-x@8Ezt3g40g4rd%CIgDLMd%|*wizbrAK7#3GPkUh}K0f8!SowCD zCAQ_7Kn!Z4K^%aMJue5JAVp%F;X+H5ERa<E(2m`T=w-i9uP&}+AV}F?Uj9IkKr+HG zf5Kx@^o;O9-uy^ccYRBBtj0F~J-6DwCo<G;Xtx2x-($G-w0tot7Jnk-rNVZ?;8UDi zFY%2$bfy(uK-^PN%;$OcE>8iJ6+Y4biYSz)*Eyp)Q3%Y-(lSOqPnUw`*M|b>rL;9I zf73scRz7d$L%MJ~bIp8V#YE?~9tmXCM7cjzIa9bLkhMh|KPS5bj~toFJsL<qDjo@H zb)qiw0045__u<bgm?nnFa#w7$!9E^0;!uX}v?7HNM}$DI9(Cb538J4kn@A`H7Nr#b zAVAvjWh0IkoySu#V2LngYqDevb{Dcvb0Pv5Ui1I`M{%My!XoTOkrU=?nBIs7q)*~V zLJm3=howQ$aSpbyNtC4s7qL3{2mHj{U*=s}Nhlmayy54Z0A-;h+sb01bTPPr6qWJB zZ*we*@g+po^X}!Ndyr0GycHybm{PoUP$-SB9axAYIq#&g<G7$dfz{Y(b`-BVV;uA@ zh^A07x`ehCzL;pL7V%YxrLRJ?Azm1x4<)&N!zBd4C(aX}#31I5-t7QZ(ckOw_dd<H zzv(o?!C`;8NH`H?-hfFD1eY2X2u^lBtQH1;lO+SwFu`>s7xYD=4}(Nh+pxqiC<?=} z=iE-V7kZ7IzsHfGs^uqofVjt}I<MAD9({Xtu=H`2boa{{+0IX#C!zC@E#z;xK*fd0 zbp|onC3u-m?r40bw&_RJ{_qM)9$IRCD8Sw!6uSup=0|?XY<^8Jzh-3r58<S}^6k}E zS0j5`AZL9j2l?>cO1hGS<Y6~k|Lo-ZCufjFEbs9^?h_w0!s9WU**Kib4(W2;$gz-l z)Qn0ni_B*jYh$V7iE%`qL2xV7zcZM}SS^8rW3HL#)X`GySH#j3+fQPIwk)~hS#OnG zDVbdP-MZ^_fxOMrnOg$xEeqEMf&GjG#8Qwbdg47mqWvX@n4A29`7C|76;JGa2>%}J zInnxY;hMo}fwzy@{V0h`T$afxT$qcbDl%rGrFo9FxUKEf^8G}Fh?T=meQ8yPEiK?S z*`6$#h}$V<v8*+T5zJX(1Tv82wRMT*b<U7u!yY@zB72|1ix#OMj2}B<@>4^(`8Uqo z%=ljSpY^@p_ZK~Z9Z!E)|I8aPAI0L?PlbK^QpIZLWWs7Vx~Zsu#K{Zh7d4qfRSyZ- z9}x@>ilO`>4+hBqV@2s(C$F4D@SXhB`;Hi98HtIOWyGYJ=yPWudnjy`^DFyH4ueL~ z@{~H)=cJ0(crV)EDFtrd<F-|4l*-8=hZRuA8enZ%v>KEvu~DBdW)M41l#)$djsY+7 zf>0JChtHI9K#A=*V@f8B=Zt3?RZ3yXD2~E=K{<iee{ujaMdWIrBE^^|B(`juy)BZt z-Re_BoV23`A=jlle%3?ZDRXxgJ+2~0nrdl9j=v2kHSX1dm%zNqHcl;d7zf2DlW_8} zL18C3>ctS3g4jRhta%e(12=*2s+`EUQZrMzb0+PPQ2vhbhKcftb>rIt`8y_aredxa z%vNs?;$QxbOY!r|3&(d)th=)RM%InN$z?Ok8$!A3#&g6gv@npnZsLW>Q&)$AK<(-4 zknv{x)TN<`qrqG+!Zf~c^VGXTKiD!;djP47fYVF2BHK~!He4;=b_d3Na9vj$!&Jj` z=GK6FtHM_190ar+U%^%zFo#}oFUI9rXvL!NC6#rmC9_&+GJ(-2^AU0QZQn?8zL+pG z3yWfRTJG!S?2A>#5|$K<TEt<eg+aegUy!Kv((nZ7*Z&JpW~|N7A{LrQE65MRDSa_H zhT$Sns!{7j1U#~F60r-7GJr(uVAf(9V^~c_&>kI)BN$Vh75CSoYM%3A4pxOh6gNPJ zE;$T-#kw;HFD_-|G8`K%xRDsSM6c;{sL9s*zW4=3E~c!{B946t0--%H5>ox;13IH+ zek3*YCGsu1LCb4@XzMfQa2&rFAayH;(YNTie;?&NkN%p&cu#Y__8)Y^mpCzeF|iQ% zIw{+LMhst|K^{U8KGX2!wSROuqV@j8c-vi*a$zd^VF|FL729SwLt!O62jU0`50jDb zFa@+N!mr?r)Qvc&GP&e$nC4VSyI5|tW1zygiatB7*=DrkRrhIz*K$OQ)ZC2FN+&BZ zlap+Hmo$J8P>0!T8N-QZRvCA#zr!{kv)3xa%BVHoGRx>6bq^<T^df2_!7j&{HO7_o z*ZewVfMkmtR;~U`0~?LI0}aNNFU|bwx5HpE-#D|`c-Q)Ce)F1b4JG-~eanrtqrGH} z;cybhDPs|gle9Ec{`7$*+uT>O^mD7F(b{3#v8xcaEDGklh_GK;zP103xWP<kf)h)& z@SibzE~X484X3D4`}8@0KwTjHFxR$O{c2oU^$nXd+o%O}YF5ioMU!$UG`;2#oRW#g zFVvZLpsLdL01<}Kv@TR3H0?TEm^3ZOh|drQ9HyfbgJAy_qVyA#6t;g0QMzf-{Tp$} zx)3m=>ugkt^fotjB6XeXYqW(0Z~Uo>xcxc_3_28Q@AC99-WCHoZ7-Uu?c-@bPmlBT z1WyNe`X=6^H_u?-Ik=QCDBA9!V#7U5Syn&+PDa)=(F^N4Zraj!T=O=z8FHwLaFrYu za#N@3Q^KfvJHtHZd~q&Lyc(l$%0FwbrDN*andPeHsl$_TlO4aC7_4g6ndP($XLYgS z2v4!cfKwgHu28HFg>?G~?xBlR4@oE$6}^oVg3T`RN&b`p_%|E?A@hXl%f!#Q*rA?t zivAOE+mHFOh<Amld7V`x(}+>kq73QY;7c4Ji7^f<BOwjn<Bgy4gE%2j=Mr>RO6~Vq zk*lM(t8dPQNK<`tiS!GlU4#-yB%z1p6aQQSF6F`hjc-ItYUrQ%R~HBT2$c-2e3&`= z=bWJb1w}z30By)OUK)Mr+NK+O17#b7X&dh{ul=46T(@2bcv_}&4hGT>Lfntw-?uX> zK`>5in5YbR9|?FKoz7_tq&MD$dx-Dau9?i55Ns3AkGbYEOM<11H=Acl8v~h-jWma{ z^JlZY!EEoy?ofWo$Bw*Zu+@v3FDRX;2vj%SYMn0FKb8O=%0Oo24-2Wm%9<{$ztns; zyJRBn+Jz6Z*M{<n-*R7ZPaK=hTQ$~*l%a1PoyhvuGryiXUsOJ^YjVf;s;7&Z|6*UT z=-8c-EfZM*oCa0sIb4pr5DWdyrU}=#_WkM?=8LNWHILrPx)mSr?wKy$8_3&xH@9HC z;q}i?bllFZdN1|nz^%sj&(Eyc6DsjcH2(Sv<IBch2zgeHpTFX|i?DDTCY@I|-Dv(W zj~cepRg)X0oYyzaY<S{B&w)E7`=Ho6HSzpJUZ7;(jg3=TQyuT-zOxfQZZ_Xqe(Uh} zvv1|xd?Hw~?~3c*TK2(%4UVkbv4PjOj5I@{N;6RORa)lQz^lXPX1Etkv`#jE`^1%o zsjfi5_L~PkX#Su9H2M)|NvNcJynEvDDc9r+6wGY89~+ySanBLEJOk#D+4*l~j<+f= z;Hj0<`J1M*HjnJOlbb)X7tX+!FJ8KM-;uwpVl0+^J)PG!%w&2)Sw)u*UOG6@G?T?^ z^<dLX=BiLZ$wcgxnz5$4`Q;N$H*#jHcLb|<%;fL<!PXBtfAGlNqVj9ICtGHUw#|EL zCfC0gKf9(WxTa~w(>(7%#KFm5x_NBI(}b=n@lLLvtO%?=5b(B47at7d9pvc7-YqP< z)-btqrf}<nSm-m5;{A4(_bx87tAp9qHyUPF?F_Ek8OVC%L4qqM<6g3(bmgpPUC^^` zY~K%aJ@aK%(^btkt7od3r^}kh6GFwM6IEAw$77N6^K#myw29ciPG5O%J=%H?J)K9k z=32#M;&)b0XRZsl*9lWooffIhG1s?Z@*?y#K`!S14GTwEIg`uNxa_pw<>~iu678M7 zAO)T9bd~Fkxauc}wh*tHifr~HNe^7H(7YtaCLMBqoa{{6`Z4t{y8b2>X*rcn2Uj1v z6O*?6L(YC@(s}`0W3inm(LC^5j{Bs<>@szq^SD#w=P_SNJRU1o5W^mKiEJDZ=OL~U zK-qFrmBXS;vBXX^Q)J=zs}4f|5S_s@NvkD92vLLvrZ^%R5o4AaUGQNF91I8@y5)Lb zg#qiL!U~9t)nU{DVTCD_unQ}!IEt1;EE=rP6I6w#zR~_q3=a%)WrMOL3NqQG^F{t7 zJJj2NMQIE;yC9)91q?DH!#CWA6*G9axBeDNrU)48zI)=xl`}Usyq7&$H<P(JRM;^7 z<V4fNk?|9O!iLF)sj}-^gM|%&tOn~{#KYVdtl2k{xj(d`ar}je&IxV&^MMtOlTS`P zcK!Hl-J?PLThVxFcc{QaA;x5EuwWGuO;p~>c)#WcJu|Bh!TcTQt70dF4TX>3D*KVU zxkZePygj&L`%Pak_rM3;)49h2>Bknz8#pyY-tg<VSVS#j%KI<I*qtt{p)!V7tFfG0 zM7j$8{vDLd!=O;LJd5_XcnT_?C=D>){<`@-^nx*1O0nV6*Iy8&`Vl9OPN`B=^NXWY zYdJ5nP^6+%*B`#s@!tNM&;QYZ;QGUgPz|FViDQI%^x(pzyfHYm>d>ji#3)pw4!axQ z|Keb;BkZKf6zr=Tr#jwq23I#KQt?afR40_BlX$K$v`HIkZ(&_&{}20ASHcO2Hp9Cd z*a#)uk8tbZsHz$QBv>AcEN{h?gkT<G<xc0V1+^nSw8yZez88zG{b1wF`olA84$l{Q zt`z~~n;U0VHwH={n=Wh$WHp6yi^kk)ds-0Q=V5o8BEmvx5O$n9`K2TKAGi{iJ?Z>$ zmTTFHdk&n`8p8|bf%eNGCLWebmZ4nXuw#VAYaTp%_5#({ui|A}P^d5S=Lk=~!qfkU z?v>Lz0>XLo%lczJ3EO7OwLJz1AW77v(?r)==>Wb|M>GwHk+Q`uskS7Im&A4HQ%Z0> zN9k69wc07cv*h7ch+X75kGm274wp0z1Q2(Je`8=5$O{emy8f=i0ofa*h_EX#rB75( zL-LoZO0%CW>|)@e;TS7|&!@B|@j3Q;WL@xtKwVra5l7UzFktEsjFzm+*)ig5j@Tzi z^fTke*LjzZT4kP)^@L<ybg6#C=u!*}eX|%6#~+4HOlEWgJ~z<`;3PV+S}MKggxt)b zqnHe!80YWCp2y6rZ$a1rnQZ?NEnkRSYTH!0Z<??e4hC%!zbA?&sfly760itH`52P% zCTGZ74Wqd#?~N}6D|cL7erx@7>F$r@iH>J-@|@b&@J;lVt+BTZqrISINHC<gDm@%= zy3jk?FQ8F-*{D)mqpF&nlZQjAYTs)Ku6hiFx3?PY!A-qASvgK9K^RY5yT+4ruFxo) zKuQTh7F%)0WV<mF#Ejt%?n=lXqoZ|N#Um(TE`QOX&=Szr2EzH*C;}{L!t$}QFMeS> zGni0xEpxVXZLoCh)V|xLJMLs}8XKZcWbCCt_NE)D!R$>V$@2-xvkAGugxvA12$eUV zQ$P8_)X@CqM}CkW*z|a4%MN&l<vuc+f>1!YtNCa;=dqC#y^1$~DVVS-lvWT(EVx_f zQR5n_+dNy>7_4i25X%Vwa;2!r`SRm4uDrWuO;xuOO7F;L^QD!l`=(aSu6rW5?g>Os zLucZvvS#_J_)bbrz?Gx$Eqcp5O!9gjw_b@+nD03+``99meWq*~QemzaIj}lR++yGz zzpmo|_7R6ppG$Oewr|w^h4c`}T@183e5M8Qmz=)%S7S~)Mq(f>On|fy>yLqUEu0~G zN2yE4w5Hv#T?+!LD6vI^M?;mmz;B=fVFo+GRCMr7La-7d55yfj4shzV{|lWpwA!XY zI{^uZO8vCe)763eJos(q3fJR^hpj^Pu#hYJabXj76>uF|ZH~6HFm9O9v-<ih3SXa( zaB(!^6i$(g;IJwT-RPpiC<y0i&UvxiQ8Y~E-l?^3?4Hf43}#hMJU>}Jn^hmo-1}2) z7pj4Uh_D709V6@lmkt)7FbQ|iOs&ZRNwJ}GS<#@;lJQ{+>;Edg0$Xqgi|)wngxvYm z+(6!=)2WSt#70J|J#(#MCdC`d@r<1uNe&^%tv1>+-Whb4UOPUOd~@BqsXs`Xso0ON zK+@+^lbA+LV$!xd$=hCTf<0o!%IVC#H<NFzzxCM7w3*Dkc$l#=lvO;gU26F#7S}KD zzniiWvW~6ODGdRaiX;+7AaJU48sEpbg{#MH$~H_hr^Kv1Ch4vukJTBZr4@H9ad~NP zKSTxbQS3$S?P8l}cOj$BnC3F@PeEuMD}R~Y*UfZo@|=IRhw~4a&zLOeEW*Je#TuOV zG~{^~n@CF;Eg6Wd@@NPmkqs@^9a<7b4{K|>W!YB&TvHIJNCif=MYE0W{35;{gh+)c zNH)ZVkbiRmXbZyAVn!h7DNdc78_RJa;c3%XPBc%}Os8!OB&rBE+5x^36`!5L6T1~d z^z|kBF9sdf%K+DgnX8Uyb_~ENz(mH|819&kB!I}_>|sth2~$V6pR=Z;lBgHpQ7BH8 zy4#e9#(`}*!kqrhev!wg2buoPaA<^MQG0tUFw-91#?%onMiqw*PJ##o-gg>S1o9;? zlDNfNo-<Yw<yx~urvB0(ya!we8-slDhJ}I-V+V3y^)peF&2uRngpQuGVp3{&iq=T& zeI3X^eIDS{Fq;}MVpr$0eLc?)>aJUeu)LHzDOUh<C~0SVkfn>M?%?Bv1<{EFa;kOg zHstz(Wg8-5)6J3V3a&)f?1tI%X{<5CRqpIZax?h5ok#Z_^CRmY{FB0gq}IX*Ls>?C z?m*Ut3qye190<^BJ|uVR#{;V@S+z(8(|ZB0%BY%6CiLhxB;|UJj;^d8HN!R}YKgWs zz{^f$BJ4-RaQJ#6Wghb$!rokp<Or7u;4&-9Y(sL?`~tqZ=NbH(UUC2&nZ|pFMF0|f z=1@SGf2lsU=4>zlgyKf+VjiiA4sC<PGUl7cG-08(`EUZktxpoAAyD;z<t1mI@a!B! zq(+45C^5eXr_4lP7J$ugCKhr!#_7!!058#2+aef%$qc3-Y;U3ziTiM##aaaLlGoR4 zqp_%L-gIkK#zY-l=&&$f8BNJr1P0Pt2R~nxq%QJh^ak=b!gE+4lHtN6ki6{riZmfW z(S%ywL4-HB4%+(?zQk7B7e~y>k=4)qz+OPSRZlu5f$qi0^JMh`H&0Kwr>qCPiT*+~ z)iMQvjI;@x(a;{iZobJ1RCf1;Me>7k85d6a_IA9AiGU`mb)n{PdpqE2Z(mRgKgQHq zaKEe9A0^?us%jUWp_4HYmaI_vfPKlYA`jMSJ~#^dc;riz60OC|79iAY7hS45(F&k5 zHQ^sa^ZL4QM~_6?VYE~;OO!1@dZQI!HsS*>)+c>fyRb01L_2`EnAwqURtrv%>3<f8 z7+9C<-Ykr8)ge0!-JXH<273o|hjyTFU_Pj;{lJ5qQ(R#{cQWgV6=Czw_}^wpR^!^+ zC0B|HGs%UEZ}oc^DBci22M|yH^s_Qqd&L!B#<hRIED>AJ;3;D$IH%d3F64{A)am4` zW;G}c&@swAqxcReoXDn}Lul5XQ%H|FZ~;SU7J6O-)+KUf!=>3$gUnNugGP0A3ua@5 z#A~*(wBaOFD{l78u8A!U`-B=|0Ru*N?8V){50Rep0KUuWvqQTMc^Wos@_3KYLBE;F z0x<NgoPB$^8T*m2)tFtM6v1Jbu~9*A(HS;uW3Im*tL&@k11R|*aKoaRzYnq_j9C@x zMo#BR22nl%GU#cQS+O*jRyt7w1z&ui;YgtV=yY1^h-*GAdp4~+m{txtX~SgIbQ)q~ zC>@j5g0KIDDW&revi(y~N;;acXTQ}K>OMcFz`r1+B=!FfGU<PiNyHZW{Qs;plFYq- z?F15uLCvoRl*M)$ooG_a41R8WY;ZqS77+?o0oj}f{Xodi_4S`eTsjPgZOh;u5S{lm zNUV<Y9X%57S`k`m*Hpnl)W|j(FPv!XyKwU4LLx~g7U2wnZB*zrWDaj@lY-mY>>+!& zmoSV+x1FdHe%q=9KToQlDY#l#nUHR(Y_j<*C<-aaikK5x8xTRcBJslOSP+l|M(T^v zWebV|Xtqd1YF}1Eg(TvV^7`l7ls9cy=kc}}?4}H=UZ7fTwtZP!7K<%6m8UeE!nav& zjj})9ux+!jc4GqL&$`V%!EF}*&BG8U+|R%*OQA)T@9|h<oQQ>cE5XGaJj?&GM;j6i zehhHUu--;u9OW@RhbLjmh9GVX<%AW-C?6mR+uHsE+Ga-eMusL41-C%?7@<OA8LIdZ zUi}JB8SFQn{)Qa{GZMG}GlF)m(zWr)zc6X>A$qLQ3^U!0egt)?%h3!j9g6@=oiK$u z5v@|26KUvaPQi7Wq#Uq~&Int4I+;XJpQ@y;KJxd9k+X+gVo;}EglT7d6O?ThNTg$v zTPV+5Fa;){Hl7gWB2DEf6vB*D<YObgwqdWQm<b+4uvEAJWJFieXBUu)Dpce}h+IQ_ zN|>a(6iP!>abg7?`yhbSN!gC5;-y+$0BHrvK))b~)dEOWd4>RslN`w(L6}+aa0rl# zh!A12E`-V$HGM=)82O!4*D8WfG=_bM-eP1Rl@&~q6o9vBwe^?^qGqvw1dtfF6AnB8 z&5I&c1}`1fS~cQZ5kBjJ9uZ1-Ruc{ufIX&5Ps!_LK`QrL*^6b>)nt!>46O<cG3h3- z73lp142U%fOCl~J8;z$Qaa~f$0REuzXTn=FT?$*nro5Y)0lOg86q)LnP4cu+;c&!Q zaF|~Z$7!c}Ac@w%&8oDh5Yf;H-8KxnRC3esFk{_X|5=VHUPV|=h=M5N1J8Gs$&EaE za#Ql_5YyTEpTh?kqjtgTe;$&Mu=ixh!0$)ylVKtNkN$bt(OpmMYHIb=cy=E-c)%l@ zewmD5|8utbR9)Q>Z-2h0@7&;kxB8;`g5m*uWqxK1d&8!UGVBXOLut<gk!e3bmur8A zt1#@&A<}sIM~*g~T`<~Zi{)(7py&NLMs(<7aJwRWM3e<CNn@p9iI(}hdb`Vr-Xt0T z*l4SXpEjn(KpsUA)>j@qoZXSGfkCa$&xetN#Q}yI-{0kB?X@0eRon{fIM9W>tq==F z`-aOhnrz7oz{a91D3<Dc_NH`c7W9io=NB*9`G<e5&hNN^v2R6>pXwhNP|E@GE*-TC ze$(?RAjQTh(8sp^m;H%iCP<iMPXOve*C}DTA@@``(nu`=yrtoFbC!}`=<?MPquQjt zQf;5St4P@eIf<8Exh?$E>T3=Shg3>bB+A(?FKG9z9(hy7lo2c<=Ya>a!0%sJ5b!Iq zR){QAO2Kc>FmcWjB`v62*12pbdMXMJWbn4IbcC7*6j@61yAV1)2KtxaZQezQZoY$n zn|%Y`GD-i4;lhuyg~Ya57~1jBg|X2~mDLs<Xx0_IL;9b?<b#$Ql#f9&$QW6Ju++-o zQqXv+wym5si>{p3$dzMSD7=6t_Kj#Ujb1dp9sH&i)AB(m6?sI_^8H6_aE&H`srDyo zS<u&mlpObqHVq2~VFiVZ!L5Og-W?KCPe?EyQ|X$E3~Cas>-oVRXn5*H25Io0R;S9~ zGljV4K>rIpUEWrZH&O^h-&WaCrWkyJdXa+kh+e*=!!;{rsXQ)pb!c0|sS@5kiy)t> zx&>cIu{)}WmkxAb1AeipmV^zLOW11hfcs=GaJroBLHJfH9V=_#!OC~6-Lhqi6&RJb zZQLSiQ5rEAWEkmXq!vZZlf*MS(5Ov?YGepP4IPGPjAj#%O4Z1uGtdJiGz3!o91?Bp zab~|pP+iv%_6svZ6KU=L#H-hNTF5_g%4$6A<qSt;Ikhp{*~dRBc(-869oYVKp#GWZ zwBt)jYQw0o|28In`)8i~W}kuzH%H+d0!2czhwbHp=WGv@x1a_;>)c;_x??4pHE}ZW zP?H=1D$TV3JZm#o;5+}qGoB#uP=tO#Y}6Tcj5Ca<&)H^JQ5d2BuX~2k8v0?-D^@Z5 z9TkGL&oM0K4qqK5{We+%+?y%ZdkD0;_|!Ur!VjYC&xA=y-JBhSrn?I%c8R~wZdI6d z34-M8i84;vvXj8VK#%K)U$I>J&)aaBnl6~PC&~mP%gbdJRxXQ*l&$tJiCM{viW<@g z9T$NUwM8cAQBF{vp0`a<&(AtRJLbWCa(I#Lo*t$ihOz4y=%<>G4IPN`2%Oq;x-h2m z*&bLy@FgUMAUo-YjRZIA0ccA>>+(r$vR}*^{GRrKLHIo~?Yv4r4}}p4-*(pjWQQin z<Dt@L7`3W%gSx!|rr_W}m0+)A`_5f1_)O|Eq7JJ--R-;k``bx);qQrK(y9{?6`wrG zk=q5L0CE)Fa)WQ1kZ}xK{Z<ri0S%$J{Ssul+#|ZR?jA!1(*9V7CVE!`5*o?a8FLlq z*`Vn}^i%Hff`jN2>y`FaznF7??_dwfqKp1HGZ$jRg?$YmEQg>+@4I#wrYR$}0gPI^ zYPNtRJ;`mD-RSXw4C)-fu7IXWdOE!rJzB|$lkN4Sja5&gRbJzP-jS_-2*bDPtR9}T z%cL`(q(BN^>i5(D6U0VJphaAjoV=S;<j@6Zy8Arq>({OYc|{=~nJCd7gOd^qp+Rm~ z!U(t5V3O!lQnw-DK-EMJC~A%dbq(Ov!IkN36ctvbFmD~b{isqD*ZPbU0#KCohFw{5 zyAie=JqwU+hB`f`5z2m0gAEc<p<(nP5Uak7AS`tZ$SCGp$wdhKVT2;gJlHoTBMH$c zMh-$ZgbiO9P`l1k!?J3ODduTMp_o&B9FuZS4U4ut#Hfj}1~F%Mf4|pg7Y$p822KdL zX4hd`*TuP*U5Z!~Rj;hR1vDc$7lLkdc0Gb64kVK)#mE~2YkVa*mj-ed#8N}Vph^}S z#m<QAH~TlL6@f=t4>Sn=kn1h$>XSRM-I)ird?n;xi3>Y}V+E76JRHrSsc^;Gg7-D5 z72tjFJNRRd*-CFMji>jBkeB1BitSVW)t9bS2GYENL={!K6Hm+ough_tGC#ZbrWyGV zo|}ke=%V2xlJ=@$(N+5B0;Rmr3z0UlZTGk06yYw17=;qW&~%qWPAA}eb$m+vLgcMK z)^ez^>G8JagH4hL-Y`A>6MP@VKauXULxl^WHDedP&px6+jgE;%?82vJ+!gbMl}H2m zgs3@S`ur-(r=_y?8c!@Yy3ef#?bdj@$&%@B0}rSl$HX8kssksbHsSM5JTecn`v-8# z-u=-7Qu>_Fagg0zacA6S8Ro_Dgswz-3euU32SQXPhGi{DmO(|jtm7#%sBR2u96}bT zL2c~q>F{gc#)n~Z)#OLYFoQom;1Z1gB}<ge6*6kn<#+V;fF^m-Ve$<EdPHH(KZiGA zHji#q2b>Tn5|txbHw;j4r=CV}J+g%@sYX6a<5k;VD_jyBfKsfCRd$z%=$SB&s&L{G zRAZ<{$6$~~o;1A$1jXyfU2U<XOpv@vf(>$EtK?PUmV1dmg&!3z^bP)$Fc0DeL!*3P z1TiLJ=vBMmc&^yYpFL;<?2zgt$^()Bud<Ih76qUHLbRfL*kAsiIiV?ufvvtu!FjDa zm{}We*9J0c89`ux&i&Jw6_d+vXVwJVH35WVz>7OB?HFwyX_C0E*WzbA8-kt<?{&{M z><c#R3zY1iNqZboTIn5sBRiN`&m>hV4^0;w4rCn;<rZ8XzBC+2FGo4Da>8aLu?7~B z<34>-|7mBWZPrDdo4y!^tg+^!%}hMD#R{$hhtNd_n20(u0^nS^IV5JR55!#IT!A5* z8l1MFHPHug@h|?8BiV@hKEp`TgVgud*(+x!8-vC5@42TlcLdx!)SwvH3nj{c$e`@R z52Ai7X5NoD;3Ei)wzat-^o!$b0LzLmW<}xjqCCry*1-7hp~NT{|3|nzlo!z>X0V)T zw!9Rt0NqO%_D#3bHc5{9`OLgan}V5@69dySrxoH~7K!*Rzcg8p;*v%@tAa9A5>f$| zU_{>_R`MO5{)DjXCoEragi=yxQwoDAh2y7hr&QcQz>(A|sU!O&wss<NR;xG+xVo1m zv9)89cIx+V^<%_us6+UTq&l^`u<+=jq*JKPPG<aEa#R`v$gxmn+9DziSQtnrSyD7< z`$8$2!gnYu#4cHl3&gObJ)>cQ5k<m*aM6ea13Sl>Kw`}jxS<TC*_(`D-{y3+R;fg1 z2No4nD^M1r6Qfd9e@hq{o<XOo-W;Azs|_U9Dj0CzJh+FklkR^Vr^^n6MMH=`g!0>g zeaz-;!sHh|E0iCyNPe+!7_n!W1(8_A7mK|#13L{Miae|^eNG2L`8m&UmyS5Bka&3K z5roT9xfC^-tm5j1B~|Feto+aTQe&tgj2xHOTmk|DLHw`c0ck%$$N7nL$=fLN5PGqT zEBlYwD^KAW)>Ufy%Sil?`LQD|&NC7_pMiMZfs#jVWld-79!UtLWCT)*ujfuZb@Rx( zCvG(bH|`0!Gr!RSr>;#Oy36nA*XuuYm)uK10r%Vvcjn72YB@SJ!IC_6;=g$qBP#T! z-O}cG>{5x{-h`_n61M4ayf4H7J+tVcEHbg+5n-{+_?&`g>ov|Bb6KIg9PA2?$^92` zdc|d*WziRwLF>HgvZ$g_7sf}2AC$1UsI0uAPREF=8!p|*Zi=}v>ar5Ej0!d0Vgdy) z92f_c&h!onT^#=|n$9%M01}lUMXS#_gaR3l5EIvfiE9IW*cHW>)A?GKwORUr)x*<~ zy6my-O%~u{oE783nywe)hhrt8VeAkHJwSr<#Y7+C`Qd-E<;!mE8G!LHB&BHi#gvO~ ztCNS_7BOgaHX<|T+9L0{eX+JhxNLYCB0N^vpju}1i_ay5s`Ism;blIF;OL9T0(HK& zb2#aXDYmvJ7+)aDY|6zXye-iuFDAcs6pJwFizNe@=vq036A)uip9B{ZZ1<5AcR0yv zz4=aJUkScR<k$?yNo2=dTg^#gsF6Gz2i;f7aJ=d{j6=K)q6Czj$dbk5w{kS?Otub; z?T^7hXgOB2NxYe7dquxAO1_xd2TxtVrk7sexR|QPzf6!w!O5qQ-gP*EH4gz<!G|{$ zkuP~SUcsZD4co?Ce-H68)f+~1OmHo3MO+Pe571c*ifX35>k_?=A;5#u7#?Aga|<#O zh4l^-+X?C$Y6$<*Ad@X4mO2RJPSbrrBw@gY;$Wv@<-LnBli+wmS+%t9f<Oea0%)k< z#({vq2*D;{;UpRDCG?a+U!>TDyq`<zf*_9a%`TNyfmnDh7XELVWUUqKdLDIDr$=U_ z%?P6bA%*LDQTv$CJmBd+<22`@r^H;GhBSl&b7{b4ZHi!&m**0?d*BGFoz|Y=2a>aa z_<b$~Hfg;bon1_>I~P0f!hnQ0A;z~IFDsAw!f;9yCR*t0t~LqGH?)OF)EES?7K|-t z3!lBjr~j3ENh*LLk!DMQTe0fx&t3i8RQYs8Lm<5@v;vGm!_DQvm0JTVw*^*g|JdPL zUNE+cDIh9t6n&W6fM{!>;@!6fZ=DVlwcL-5DJcL8o?mb;4(~m1JMs$0H@toU@#0hj zwlM^1LyjT@kqeZp4d$(#Y7FLW9E%H;RgR^F3W~=PP~4>JTm2t9l9#W&w0o>^%r7Y^ zZfy9laLs&K^<;Tq^})d5W7B0%jwj3^vY3Bz(|3lao}aGTeDkSWN8Ug2LDTIW2SX+G zfs(EBm8;>IT(R4U$Z1t&Al*vKkXm>3n(>37%DTypt7oq4xtEP<?&UbL$^&4E3X8`F zCfcS8H;y&W7a=a)#K2^KuxiIGXRxYqy6CY>yAb4VeAlJVO*G%m_F8#<;p^P&Tpe1y z9w{+4?EN4saOm)#=Y5cjplubcPR2nx#+drq$DCm3#y3n<T-km*vud*Gy9ciyoT=S0 zUsgZq|L#lIUz#p^<kI7J%0L?<v+u6!p9_?29eezqD?TrS)mDse7&~z<7QgP~7LWA= z$~WG01<SVwb9UT|!%fB;^W00|6|x7HjP)RjUB%VyQ!9hz4S_9>2g@J-pd(m*Fqm`b zUJ_qQcH|U{ubjxfQafH3$o77e!kdox<r#_u(DM{<pN>ow9A`@ve3mPGD|TmX3r=Rr zX62Ety^F8aE+08Tf6TeZXrh>V^BH-w85O~diV5Fz#wu{INa~w8etO1T$)vuqGwz}X zu2su2?g5e1?s1MZ&A7d`d?Ta~jDu7HNyY^k>#T${w54nL#E4LUC8Wf(Fu}6B7t75q zzcLg1E0h>+&itFGbf`FD;YB3ytp(=wQ#8T`76yu%r!#g1+`FWATb9b%D_#B&IeX<j zo<3$@dT_y<y=9WKcVn;&9^55&YSuq+tWV0le+HR)cSp(8i^VU;{ipHg;RrgFn1zxq zkaaGQbxBOiavXViaZX{p8zg06X5M9znK$)9GQ=$ev*X`_P-mY-Qhb);EL!T_MfEYs z2BO?2M!+6Fb{}!FR_3Yj9E3N#Zs`iFtY}P#r#m2bhkU#ayA*YC_z6)=uVtJyKoCvU zRXauIR8A?Cm|2k0MAXm(V?lxXGZVmw5?dp*VRl#4DE(vRsuW=spl)y1l{4)$@WoWc z#zqTHOOe<_pFes&QYqBkPxU6{?}i%9=9J4mR4brS(>gAgY9G4-#pq}11>s^qhc9W7 z*%xZd77f9vu4g+KB!MoGcv+sDXobS3bsg-HEn5_ri-3?oX=_m$6@R!~$4inI_BjFv z!dB&8jkXvL>PF3$;e!zj*Cay3kgC01TE+1@-=&0tHHz}6k**1=NvAwS2W1T%+KlOf zB*=y`3Xr06n2VVG;WrdORKS?kv2fZ4N?({|(Qmt(fIJJ|Q$NgYp^l>)CQLT)X|z$$ zJ5Fh`>~6N0@>I5Jq<)~!GiQXYt3A&`rw!dpt?g;e(Pul(b<r?fsb5Uc2BBZ-w<tJ? z1c25ln3Vjq&r@R>9M|XxY)!3`)$KOpfKQ#v9eo$nJb-tvTCA7_ikbn4&<<KNT6AJ? zckLadKY)Tuj4ma10F<EUTv%Je@u=ezqIAgb^R%kPeM6OIw$>apno;{KbfoM1xR$~# zrk7eH7WOjM36*O`&L-WI*3W*2!Mm({wYE%XjL-O&*0S|&3*Lr8TJA-!3sN`riBu-G z4^~CdEfIBBDO+{nMN4g{)w{QgWUY6@<~7K3_Ee8=;8}0OhBejUc9h71EbHuqdRu>y z78VMrNNM4pT)@MQQ-1G@Vh_5n&xpjpr4N)Et+=ob8^ZU@jQk=x4eD@pK=jXxhxz`+ zdaKt21b%3JukcoQbF3cfw9_2iLd)_0KGZ5^aI-VGjyzO&p$iTMG*fagr}m%l^#WmZ zA|?+w6{roe_0=H5NnM)UZX;zuS)K$F3T5QXW|Rjr%BS7sdT6io4CfM3lwZM@3_=AR zpb4TStBWexLP!>aCAP~>47Qc>66lp+mPctC%B93c4ogx$?4XPd&rFRIQo+WwsGP3} zO8om0dqY%yeIzTtiVsBjD%}KGndn|V;$0y-B}Xf(;@BxUndl)G^jcrf0J6cd*C;Fp zv!kbEeYk9@Z=~JzfF!@_9%=s2t;bWePXJ!W;=dlYD7qY8m$GaBKFWY=ui)ziV+|$` zQ{XJ1*8W$1G=i7HCLZgQdTVh3p%~8Uh$_IeMKDz<GXHHfNF)zwWdEt`TIUGKzcV4h zg?aE=Ai*n~T9{m>5?wjE&ESDuVWvsu(aebH&E%tgR`Y>b%`dj2{{mnP<wn$MWE_2A z>8=*OqD&fyR5md$P*-U}XV+Cqiev3A-qg0ESAHHI;sQYO7osH0*|eN-Uofo<A;SZn zz0*1S0_pn@urR$`XDAi~xc)-|AbJ5ydGZM1d6Exgm2uvwe6&`6QnEIY&WR?cv4-$$ z$5+fxT8;dqh?HRDC;iyvOj-#hw65WSBPpql2}dQ@s6Fdwd`!}Q#f50QS@-Yo^ag5_ ziEZ>IF@#K~XK`Vd_WJCh@yrPw)fgQ~gDj!xnM4#6aon(BG)eUt+wpe*;0Q=2G7TVp z;Bcsi2jZp#@~*?A6l_F}xCVBRMnvj*MY@`%+VEZ+6z^($N|z5ss@c8Rs_ir}92L() zSmfz~Nq2Mz2$mrki=<Gn34>L^wzxKIqqNudqRsmI$Y5U|d4lMmd%NmS*OPKQd*R%L z_V#K>`v4I(R-J_~s}O);$><yGL>~<fz&DGeZ4a0dwzf+3C*7R%oxSYTU{5d1!~OMu zwyet5la27xM0X)H6V1cGw-`~~#E(OHZW`7@QkvKsS$vz(F+$Vn4m7Z3g@I!y<dvtH z=H3K*C>`x*RVG}>dFz6xt_ublaZ;g@6uydSqfr?-7w;bcN2O_z3M-k&JbjUiqXrl7 z8S^-jQUmFpYgrSW-^o|$yaS$wK<cLNb^h6z_s@KoxG#iktjV%==T@{e9zDA2NNZcm zt|xaLX*;s((2=$SjZe2dv8!cI>)yZj5d`9RksgMv6c_HwN;!uM`%1CwnqbMnH{`Gc z_yhb>4iRd*5%kd(YO=uLi=oIH-<o<7AHq(Cs~D<X9czK78^yhygUvycfiV_<&WQKY zH41|zp~5hS2K!)2j4^@E$2KIpqPZ$64<^i%&+K^g->d%+oK+Z2K-`Gv%w=2B`%HIg zV*uck<}=)NO$-!PLN%ymb5)qbQp<H?;UY-;#YxLHTH%WogF5gmLehy_YS)X5&I2Y2 zhN<9em9Lxa)0R(SL1+)v>@wu|GA}TH=uc-&jatts;F8n*16w`St~nRUA!VzxAM<%G zRZTn8vWxCxP$`ROeFiHvjLwjC!_#kabv}v<tWK|EdG^@R*ONx#=2KEf2EV#>CU4{I zl#QXR{6N9xnZnITaC~!DFspH7*L*6Z)cZcD_#ij1;_!6pkwD@RS+l?r$)Hxi>2)Af z)ZDUu4Y<MlnfBcIHrh#=H&S6EJ=E1_{!WJpaj#Eh*T$vh*AAgk+F_oK@N|@?R-Ed! zKLE^~_%8?5&fFeT@c(`#POl)J?<+B{#J=KsCGN6g1S-st*pZl#IAr04J_@SL_~Ceo zq4-<a1Dm@#`^Cr`qXp#&gA-DEWguE)-lZ>;xFtf7)1kO*Fwn}`2fKwiQ|KBhkLyIx zBa)6DF&-x^&cj&F7S82eu@wi7Kv_{-kIhos%mAC=pSQJQe`{3|0&iJcD}3-wkXU>< zLJ(rF!PM)ZWK3_Y(Y~-(AB|F(H=IW$AFoH1K8r8}z244V|5m|pC)!$7Xb_@1{#eLm zV~U5>NAPs68^wf!{iwZ`u&>k*G!6RUquQk%AQTI$>hUQrGge_gEF<HvGVPsoif)ur zN!Tk7(K!k-f#@+5qD;fX3W)+c)Q4yR-;d%6@^du9oULI1e705`z>H^D0)VzK@<2pu zy=H|wq(%I8@z27B?-$htyBHW*Q9vNm!m4P8?2HQ;f-(`2VMRb{Y$x9oZbzIRv%i$A z(jeU+m;^q?8Zwr-z7BlKP@Wrod%M-Wa8Ebiw8bAZS74Y6nj-Gl(H>))lAXqXp%3Ny zdxk*bQXXnZ&};>w*PrdTlX0y!dRQcw(nzyjiV$U2(f#Z@WgW2wdC$OF){0{EK?|*; zAL(|%DCY=z^DHXYCF*<$4^5$`C;|L_sF=l_-{$BIZxY0-q`QmqQf1Vj0lu!gZK~KK z=m~HK46$b{Ujh=grz`=BycYqES&#<;P#a)B2RIRX+7bZiZ~oJR6uzr20g-y~p8=qV zZ5=g=Vo^MXOirs8;TpMg8N~(>H!x}R<!T!>%ot<a(g`>tl#54b2kg=|HmkkeTz^=L z@`4wvrH$xXK(ASg1dc(NLeNdX$;9BH@GCsB4%eeuhqXPowV{cOw$%e-4f9-S;`Fk) z6Q4Q*TMZi=W_*s#YZr;n(P@YQK;4L0AFX%puf*w_@s}N=&e8Z$*J$i$%xIj?`6e>d zT0%@=<6~N2UA7oCCBzgsz1&3_Q=KrEgx#6UMt7eog+!Pl$AmB=H70bL#Ax!oEQhkv zNHV*0s4_}dSz+PL_u@guNk(%h!S57%L#6eh@^zuIHKCOokX`AcWeICxn>ypJyO-|B zS`ly;3F#@qnd*e4+o(MQum!|+Idt*pYC_M`pO6~P!Notm?D+AKn53i?A3<od0#>i- z`GLedRZ$b3&&9OuMhx*+!05@q7=vSSo{!<B%dm!Hdgt(=D7RUFTKr~r%u1vYaXOxX znDD6MyyL~#XB<rM(Xkg0@6*w(qE8W;S`a?*C0M{N7~cqfg?>lVpx*RYFOcA~Xc^ml zix!7SZRSF?*jAiEy`=e6t(Gz+dW;Odzc5aQD!Ym9k={k<oJS4#f6mH*KDrRHqFx8r zMhc5eDq<@{A2OgegJ#LruD)7iGd3X;|2^z~YCy1c8L*RY&__oFeZ@{J3V0HoiU7Bd zhq14<Qik+wSMND86%e&SV0CH`5p;Ea1aTcYI|ntzINC>)Q$UyEn6R;4NSsJ5Fbsq4 z(W%~2ZB$;WG9<Ps0ir><vPFw~peQO3#kzMcTs@Vd*Icw_{fMSTz)1?VwHf^qfe_Kv zP-#lY>cx<wSssT)A`2TrF3fqYpZiBdsBRO7ZrQvD4sAuuJ0y>_fYNSZnX0@JLu8S; zjCGvQ#3wxE5gRq&;$_FZ4e?3Kk$sZ3Hbt-uPR|@k{>g(B$MTYENrAK)Sb!mWVWMN% za*<-)OTo`iwEu)pVc|^7pk3sNSHK^wo%m}Ww43E|pZbbOixXcAtV&{huC6#=TvvRw ztVy^V#mT5k@=uEqcYIf}FTt1Coe1lbc-W&Pce#BDUG8p|FXbz)<I652R=c$|sJf#7 zd~_tfk*Q+E?<d{HKJ4v>!X7iw$M9Pu2kkWILo7BJOUgdDaJ89(FC?&d5p%VH^6u$4 z-PiA@Oc|T%pugj^h|oCQEGQOkuhG!mqt*xBGVsTq$AC@!18}&H2w|geSEEG^8>@C9 znp;pNLf1qsllZhdT3nqdWg1;=b_(kcs|hQ@pqj$RBcdg&^|V(>#6=&D4-MyKqfsb2 zYK7*vaHI|Y)`SZf1cpYM$j=S>PQnP*aB`gP*Dlm34hs@33iEYiRefEX#mK<Quv#Oe z4=Ioi{asBGkTVAo8(0yXL%23h333enZDv`tWRmggqWmT-5(|FO%7NcNz$bz^AwHGm z8$*j3T>=3jCz!1jnDp)K-2Z4o1AJ+;8uu4A%qoZ-R0EYr=X1S4^1U^fv(Q{K--Iwy zVnS>Q?iUs+@&6U0)ZV@pB&JtQe37=n5P`q+uT0>>L6Y~y=UwNm3|@IbS8t<HPLCBf z2<50;Fd_uCmD)Y1p;XN?cuwk<=2=ZX8btwQFqoXH3{=<A-K{K_CE}#Lqs>-uq{4d6 zq{zc}F!ZRxMU=B5nS~$-t|_&@tL`!cV5r^?t1Mj%V0F9@^(Ib>*t$@ztrUE0(DJs~ zVy7s8<aAW2#%JM%X-2W^#$=GfAw)1f!XTSp$gal9EzZIgs=w<+;hz+E#^<#2QQ|c~ zitcT1r+tU<)E~hO89V5vHR~4HLB*Hwddys+v7)sakic^ZdRJ@hvDn~vOVpRjH3YvL z{7(Tb9y{)j;S{Eoaawj3hCPM9)N-GI4#w2CSh|{M+RJZ2zxj?%i^J`Kw72Pz1a}gf zm4(=2n5Bx%#n3ua^bXod4XZ2<%4C4`q)V#wmLdWbr*3tk^4ZEmrHYP_eCe;Eg<1#u z!t4;kP9yxTpTq!Xj?GRZ)0o59PYr3$SrQ@p@h-&l;ChP3PhayRn<f)wXYHNOEgawT z`o-DYx?pZyAZHDeVz0B3VuK<nDj#Wn?TJv)O8hwxD)z#){GeiHs2&gp9*z(XbCg~M z_z<Eey^{P&$}8?ymM!K=`D!vuJB+VY8FGFVZXnTg(625VO?o+LG<nq7#@QgpD4j74 z5(vz!WglbA2Q5f1wchxP^j3@MO*jj0Bq!cHLxZ1)<5eVDMZ(9dh}-x%>NaM_h;t-q zBzeR=vaCA}URa6m=r6;;i0=4u47-fC0jmwVXbvc^+FWl&Q{We;_lUN2H04ZzQKI$t z)s#hHOfhN|2vY!|3kJm&gmD8ajB<wKjCTQ{+qm1e@-vkkXD@p=&R)`J@{3OUI1RgO zV+IEw+b@n_i2=c==~|_IQ^qa*BGfMC_&Iu)UrbmOM)O;JjM)Bo8;ps=@n=>VHCcbp zR9V-?l?{%@0k3iQOpS46{q-eCBGgPkm2ifNv4~?h(dg-miG78OKu{m?5q=IQwwd#3 zL2o8n{WqM5{#$E&?@JtYhU2p8q!#h{fs`isfUy76_k_tFxN<oH_y1p<z6rJ0uwxXy zn_8h|j}vX3j>bW7l;9IbJ6M0{YZ7ZK-jYs4i-$1i)UeJ*A!>s2l=It2Hrs<$cg^{A z%ml3bD7GcG@}fKiq(#F{Ka#g1`83d-I#7~1uZ?>SIQ98r?U-J{VT=$IdoJDUogF-s z?XA{hG=Wqz2?xlE>aa+)dY(2Bf4_?glm*b+ydn|@e*b-5zsHjZxkR5TSiK3~%(?sF z;M9XGU34&#ozKs<0i#<YFy-&DG7PPgP7U)%QVvRABc6W&1yJ+_$DqzjL-To_x0YR5 zHqkk?_k)7KlTZD5@rQX&hjPnrG<<jG^_{`oEk7(-HQ5v>X`EVlyQJ}EWw4|%kk@!8 zzv!)^D@8YQzFTs=B$&VXec$)H=|QyqyW6jCpR5mTJ`nJ>Ocx&v<Q@DGzn?By6UbX5 zdqO9wHxF}Car61+r#hJ$5=fd!*e4SP$TjT11aYbfa@`0^zyZ1*V~xc1cw1jv-JD}~ zbC^4c>TtrS`djUy;)YWHDcv1bPFvembiA0VqT}yI>+v6!Y@8Yhl<dCwLa=0aAaD0S zTUTk%qKmX1p3dOp|3$R+chFj`mqm`C?>h0{JU;7yQ|JtlbCdxGy=4u!)e6X=7h6qH zhjT9Byhi>`8(Mk=>2JNy734*8IFMOImk(SzFi}30c<XrJ$kFfr(uY~CKP)Vsa0Loi zPsRreR|m3ID>~>p7W2?EHm=%6c8eshufMO393S{5#mkz(RP5BgVm2ut;R2^Ak4`7% zN05U^DGsv-LvGU6rpQPk9yQ{XIBEj@nvY{dyfhcb_W9@B%A!um7&Wm<Ea3Yo!sY6> ze~WiAI-ol2?CGxuy90S3nM~~)e2{G2n9J<(o4*XMTI{+c`SDyfZ6OxCfV>e1?qS{* zy0<#j3IU_B1s3Q6<y?Xej=-Sxvt8!$)}G_fZl1_Hh<li)9XOQ7qde5Y4x%H5!pUQW zN58;9|5MZoxjk$x5%s0^Qtb#b$rmyv%*ftQ{))Fsu9S@I52fV>(n>-V-m%yj_;BVH zj3v)6FC1^WmNm1y@^8{Tf16%=r=;wy&tLicnETFh&shHDl1n8MMbpdce;kvvd@X`r zWWaS2R}XR=K%1MUi`S3EzL9dLx^}jDXRvx_AieTIJm~X4@rJ20GntK{x~AE>CxUfP z1hQ)GWUm~1=5pJmwm`+U>Fn+Q5EGNV2OgM?oE`V%5*eE7HU~EEo37nI*7RXkHR$%7 ziY33m8+AL!nr5=9@9b<0q&G^VCZ3w9*cMt3AJx*C^fh`D5d-0k6@QanjVAt0da>2A z%<1J70A%?ZwyY9xEMJ2{vkGT3D}tF7vzc3hnOkm_&t&ern_DoOTNTW$n%s0d7s{AN zCaPx39toB`aw}oFZ10tXJ8L%0u6ZoD=CRo|hk|PkjVH|H)hz%jw|Fe|ZcYh&PqWvA z)~ugAPflgC#i__r#7yGOYm0XEhy1yk+qAG*V!TVsK8?1=a|ur=k(2gooONQrdy+GW zlO@t(ml949b2f3p`0$GsyIxrABD&Kfhn=C~l8=|AB~{<a&bt?fzwidlU2(bpQvXEv z+s|EnZmKF+xiy%x?OqC>xgGgM_xSd`R7YyY{WM;c9dIUPOvK!C@b6^V1No~k4C@wp z4S(ez_X$89_gioxwdQjUBF35D1789(MIH8dAr}2)+3*gSlvKCN;5m+BM{TJ`)UZn^ zL;DF&%h@+*vqO_q=8?kgf5Xn@>95!?)p(DV)fr=*BSRlMV$ze}JRWkVy;1RI)|(e* zY90$LZ-P5>aWW%{DO=63b`c_JS1&GX?OOe_waelKqtTSzaaOCfi>Mac%c9MenX_oy zXV`W)YuMYKq__QUdiH#J)_i*Ye7biY;g!=@2h&&IONn2WdOt3SJ&|Pe1Y2$#q+F#Z zp1|2I@rXu;TehiMyCwU;_;W{=BU<~7)@!>zjb=8eV-@L4s~_O%ks~^dt;du~H{LR9 zT0ZR5(riH@z>ibKV3hB7UO?y$f2tL+Ou|99?DYC@%mB5la)9pNHoyYpz$!3DRC7m% zZ0WKewjU4!hYLd0YVw@)*%^)zpPm0@I0n*y=#c&YyuAr{TUT}_h@Aid5C8!JAPJJ- zzHbsmiCRsGq;_f{CEM~sQv_vEmPq-Lv@DvmDZ3I=W!H#`oiS8amEkJqGab7-ti+S3 zGSw3%Rh_sdnJ)kd7hsx`$QjLi*?Pjw<+3wh_x$I+6(HoQq?3N1boub!eRsd-o_p>& z|GAdBWNoS&`aU>~@6$Ynb_1*k87c5NNIP`^f7r(LH#M(j>Yz!CIMQw&yIe5HvV(cC zMM+sPpkW%xCMw;yfdOYciaASdP35KeyH(zQL-M7if(Oz@{CxiCA7Nz5Pq2f-_lo>s zo}4oOG~}5!hJ7rgFQ#z~={uukio}#t?ZyM?Y(K3Dm<QDX%Y;!L4FM}FaT`jk31r}{ z4ZAt}xDla)jg-uBE$*G;I^>fsw!w=iX`e=omYvXFQB}IWdTrnNe&F+h3n2to{DtB= zlh8@(N6gd}4tV>4ygSeb&TJT-P|5Cqd@9pnYd;4+UFkfRLB5h94<>KDbcQ=P(1$Y$ zQlXWk$k6;?-W702z-I;^ai&cz3%g~cwN7q7QCx!GNT7`*jogg?YdaAfR;d|%d<>E* z=#<MeKZQJ$w~~9+ty3v2<pjhi2NL7{9(g6`_>yOwvBDmvP1Yl{f~;+^lb*np^==)g z6oa5-W^?n!-E*z)9GZFh!<tyho=9=`muott{$h?#%@GtxLT!jLvD(n)P^t~ad}3_^ z3XKP86e2DD8dVE*%R}ANWCe)*AZ68wzq!<krxEdAT|FnNw^of5SoKy_>dIs4`0hRH zT2)o!tYh}*Pg)i#k1jQ|tZUU(+gI3Yp~{8DYOaIzBEDWUNrD6JE|up1y*Wt1Ap~Ek z{bPDI{1_e!cNEVmojkvt1|FOA4!Q4BY_<lSr4%yhCj)3<3l<S0wg&TZ<QlX9=c0hH zR2Q|-R#UWwgacP;;sq2`rbS&pz+xB#3)HZg8hH<n|GBT|ofS|oJtNQXAS}a+8T1op zdZed~$BPE&MZjn8Fo`+E8Nmysu~SJHLflOdlE0(1^3PEL$fGk<R@aSV*N+8pD(-*h z%&hjq(|_>z4<3(}wk_G6)B9qsvWTl}!CpSoIB&06vgZUh$8u{Uxd0l8<TiX*8MW{H z#GbR{Dhh1}^vJHLs}UT$)%lst34Dm)aIimIyglsOv5>hlY}pw%+g{&#eb15;sf7Iv zQD@^FXRPJ$e9K{o!b6)wrQ!13VgH^5_XA=30|W{=9P?C0Je3R1s;Rama5URrd0|S2 zRHmE0xf8pBsY6RPL<;+AqPE&Naq&AMl{<cxcOumKlkFe%{^woa?uCZ?bUK11e=(-R zM>)~r?gfAMv^DN347JX?N@v<;+wSa&G#!|)IS_Z{5c}*6mi)#Ju=CmeQ2Gq;CL3mJ zf0Di6J-k#<v7%LHSE7R11@}rT_~91ccNBvU!xD%nWyjRhop=pglg@~%YP#)iam`Hk zOh>qI^YkI?EJ`b4B~6i%raNi#C3|i@GWY0I2encFz$k6M{m9$RclyIcZF8-2=jI-Y z=NE_eg|^I?W=m$>v(L?KpQ{18op+qFah@RH6)VCPmBstzszH^1Qaw!U%8$3$I|_9_ zG3XHX2`dI3t5oUuPrujBqu0UJ(F%_{{$g~S+?)tcUQB6SqgY$N#nx8&YzCG!5`WQ) zwN>JI#2lcdpS-q85_wq)p1igy)<(rzFRYE)5vnk|B&sAmVQZsK=8*`@Bjws?VCylz zHsW4b8>N;BkmWDGc54Dgtac`>Z8$MOh*JWD7Pihw(q*i3I>kC?<tEYS@?ydh#{UsS znEM80{A(2aYgd*Qv?llKl)}ptFj|^OHo3!SC<Vnd^0bdpMn?M>c_ad;pnb0(F$iy& zT=p)yk9(C;U#CdlqB|mY+zs6Ex`;eA;{^yrx)}W`MA3#R;-qRNT?Nj5BdPiCqZa>; zWZ>S036Htlt}cm}l>gG{Uay$$G$a0#eQ&+)k27=#`|wk`Xw64ksn%-HL8Qkh&-GM$ z7a2!rf@J^nb<%Y~I%}0*$kxFDE#tT`_VKl}qm^T({959uforKaF-&z{!1mQXHD<63 z#K)dtq$PYyz(h$GnQTL6Q`!f~xXesvQ%gFVS9OxcrlFH#@NP_oL5qC{w+U?sWFxj_ z6ZPZ<D7b)N(Ri-s;t*t5!wSBj4IgoH6g)*AY8Lh92tke|qh#<Fi+W&!E^>CHoD1c= zk)gh!i#>SE3(UDU(2M(NuumaD2*)%w{Ud6u%Wqh3T7$g{cK?)qIa6hE+}Lw{Pt2Sj zG3N)z7R*&M=jYAMai=%#aKDj%Ge71ijyQ@#2NoQ)QwA(gcK2=fTlu&0!?yBy+nJf> z4<8Cw@50@j`!AaRa?elqgj>&qjc0zbo~5$p-aZsImxJ%pXMJLGVFl7>eZ^4WU(DL8 zR{e?Ew%4islT0<j1ga(t!0)2m%B{1!O_r4g7_n9>H_hTgq%_r(RR^9`b0rW)$P0+H z{lhk^LIoiV=fZo%k`Z9rDKS-f;dlmv1BXo=GUpG<)IxoiNx?P>evK#-BWWbwU3B(z zKYYCXbnD6PQ^$|Avmafs)B7(Jiv;5dU7SslRuL310ke+#HhT6k>e(as2w+-ij_Jae zCT@2`(u(3X*OJ*e-TKOo$+mk&%T)I(=@8?X8ka1#Y27OagO2N+t6KcNXR%Marh9LC zUO5`gYY1B!meX{40~1#PV;=+QBDPj6SMZVCa01Y$B;_HvOYj5gN&5&2!e6Oq#Dp3M zv>LgS-WTFd03%~UhyQwpPWyB09t;Y74+%7q10L;!e(;i_+YIPZ<W3jt_vG$0$TB1G z{qP9@JQ6y=QDEC{SAcgK0$Q0SNPK`q2S(L^08QiU<9gs4&_0V@0ZB99MMys;bc2p@ z9b_W%d;PfKO-;b?9j!QIppBxr;1s`?|Bg%b!+^^YpUY3VdVD9HAdByDu53u9g#aGO zAjluk8YDNMIs+UOXXcPNn02&&R^<5VorG4)5!07iP5tUm#|?lrtwd@@SyC`=d{UY+ zcnd&I0E|L1Amo+0rY5m1fCHSPQ@vV^|G&_w6fzQtf9ygz*<Rm(y?)x*AMWFaA}Ip% zrqmdYJaC!lTZdQTqB9dR(O|Ye(A`NFw=(AjI2f1EF%nS02K)N`6&Il|)i?Ac4pq(% zK$(;bRVxz=vXX%WHqM8NitZZtdxhuTE&zEw25-B&01bp^U9!PsM>k{HzS=~`^$OD{ z9y|(%Ol${+og=9@4~s^e4A|x?ThcdQZDV$3Ou2i*mm^=7ex*$Tc|l78qaM7Vw1j@j z`)qdf{RIXBcZ-70DPUX}lOw;0$XLpr#-BwiWr>bp1Y#H`RzxEfz5Rnwy6o$hHkYhv zvA0~r!41FNB=^+}0HQyzm_vyWbrH}(74Ntp<;{>ti8#Upg&zg|0Rlsjcd3Hz6cvr5 zfEa+`E-al`?ttE$9X9)yd_`|{-s+q>8n<Uo>9I2_=}<2e?++XO*d>LHxmeQ5s>1*Y zbhuYlxu&M6)+JlTj3a8Rj@LFu>{a)$Yi$f(irQ;FJTs^M$<FAO<8fD3@YK!D&!B__ z@Xf-R$9{Bhp{V082Es)TP9OfnQ}jvhmZhR<aAvh_wBssnryW;byZUb3rii!tlk6Hg zjjz8`cqa?barA(&@&v^!I7#=}2n{N%zLuMo;EC65OSZb1r=zyUxIK#=%{XF}Es@HW zpXD71wca@~*Z+r)f4g@+@5smYqja9tdVBO^M=27>$z4@x9Zl1%OQl=yIPPc{N`X_V z$!ZFk;<+U=?en>fabMwEM{XUN$^O{4c}0&`D_VT8+=y0K-=?x>O`m#Y94++asza53 zRM;b?nc6DTf9%j9OjxvO*M<&It!1(`fe^=KzEPt0(BR@}KBM=43)-PqU@_?BQx1^| zVOQr$h#~C`r5N?&dVxwAloV|Pl>#jvR|`~1eL-5_QD)&9mtd0>RH{p{Ug#A&)l+~3 z=2HtmYh|arTO5Z@nanXttBS-!VpTC>#juVWv8qU`f^t>C8*M;8p~cFgRZ80f2EZz7 z0%-{=OX`|P{4r|sp<->3o<shsha6Wv2hay#9w3%hpzE}Te0_^4*At@ae-D~2ar-jU z1x6`->~HQ%$su)xj;|!V6%7P&+D^E0MARXGlQ9_-L>`uZzY=kmMZKg$ejm_BQWb`` zZ;9AT1sZ15exGov|H$z~iho=|@fYoq*9-<ljKh5rXL8@c)ad5EOJwRT3K&&=3F8hx zpo}InF(6X`AX*DXQRKknLNIuIUM!eIvWXppFpxM%UO@Rh%H#VKyh8yari{t_E&54h zHHEN`o1vE!+$JhYK5sxp?JBo-D*fxoX4a~z$W%*YGdoy#yE|$tx{FOUPl=)mO4LG> zXd9@WbD?w>QKA-}5*?b)ZI1iOV!qmluXbkOW8XHSMJ+^&T97X={2gImUDQz@ce;Xy z=AC7qc<S%@ibJiTi4O-Bd=LDEDeOA|+^6i46==IQ{}4nu1?^oisC?z|P0bNs{U><< zO|G69y3>2-6v*v9HG?9qJ;iACX-2CNLJ(IFbCpJ1rJ>%BT^0A7H8Uro&iZ)cmawaC z3F19RxTI<J>_T=6>f)%KZjF1qq4arARoq(?^HxT@SQ$R{)}Stq+T~U?nrIyY5D?Wf z3pPJiAI56;(OyTqh$Nx)RcqjX7+VdNPKQG!Ejv`gv|{M;Ixx#RFmxsyAsHs<7mkhi zcms6!<X6U%NpLE*9HdH3BB+1{Bn5+luGciL79r&{N?B&uQwimOX$F-1am@$X_k~)3 zu%$h#hT5Z4t8wE6TCbBX<$HnM(@uaKUEx_j;U0UdF#|K)^^fI%LO|!5H`S1o<{3YT zlLDMBtGIgzZ~)9?><`d`AcDnoGQJBi>_YAldin#D1#@Kue;6ynzT;DXN~17W2*ih@ z<!#Y02+8^7iz%iHG+{2m`C|`uB?Mu~{Red2U79$rA!!_;`%7bvvRk^KI@tIdg<(h8 zlp*3MyIWlGg;wpU`XsjiOhqq7tvCC2SuCd}l7rzjTSn`2c*m)5!|8>b2P2*bF+4q0 zQ)UQ@JyrJ{zL=vt;s6x*%(-}D%Ul^m$C-!JQ--^HkA{s$rwmbJe#rf9{@eM{!aZ?Y z)|B<jHLEJK{7VcdPZeXFe%;c##qjOY)*Xi3G}08>7SuR>cqCo;&8{`t%_^<ZfMcw^ zs)0G3t*4V3moco+OYKcPn6V_#CSFJlyBEzf*ykQn(XI&V47S`8I=FL?-jC9r1(H#D zi=RrS#9|f5YmF?0dQpuvNZJn)G&AKRav<V91gDueJ$**SVF>dZeC#hX13LDMbjY;< z9XmypR!qFt41iw&XM=SZB|nOi6Hh^@WMWVD%Q%YcaRX}RQ<T{-o`%Vnrr<E7^)$e{ zR#3=|1Lh0TYArPurl43ONS~#9)&|m!6eq&^RQpe{O=y>Q!zk<>L1r+Gwd2fT1W#tL zZ^V;;h1%l-t2EiM=NmT>@FstKeScA}bA7UYy&OA`A(9@hKt6Go->1@`7we4trQP~q zlj0kR0Ewl;*1#v<i+30D#XI>g+<Q<(*)=YmK`V0_*M41VVq{<*iH<<V%_DvxF%?=M zW29L86|jw)$M8d}3+97)q(pqn_|(#I^SJ3knfOfp3t5JJ1p9LS!tNXA3FBrew#dP$ zNp4#$#gJ?tQt7u(SWPg}8MlsGC?z?CSNk!Ogk=Hkm!eHsui8;Yf~`-w#L)#Qt4Z3^ z8?TT&wN8u*yZ7#ijDS65NgKpi@?UVjj&U<W_#}dkykWvNvPpb<p-H@x{|1~)6Crav z<HA<?sdzUoIh;|eUQ~^=Y<xbR@uDUGHzLnxTv3ZsUX;H`jEV9y8StxLiEk@ionxB` zV}&^d9T<dl9E|oD##66fCYQV<gSg)Pyoy4?UW!QbX8cc~DFBJJn7IntGX}YT1|bQ* zkEQ^8SISv4r7#E`A%RtKXAvlcjvP}Qs8U2H!oJakhNMBTMk^l8EM9{kyKAmH)bzm) zI9T{j>7BNPoChM=U0-r9qDK7kyH2^TBK}w&G-_)_8Hl_}^H?7KF&{K8Xvr7EBeKkc z@I)5X!`vUy8hxD-{*>-sL7Loe<L9DV5{t8=cl?6K>i$b(qJsmnfFq3Yer12iW_4rv z3_gu1@j`R~*lJj{_fP?QddOmQES=f)GD*^yjy5M8DG*oYbH7W4Vf@EgDh!jRFv$rM zsW2(<UsF+uQ{Xgo7oyg1(H-q^xeuxMj-H-`a$^g@w0!eO#D9L^ED9cA#o@V{9v=II zn?sh1IXr$EStLkoj}T!oO^n$>nKE%S?BV6QEm{ejp<P6(<5>eq*I?1u8$h;je!FN9 za3WbVF$G`vi1|ILaRb%lPw6h3?r3lc;v!M}L&X|iOlM_gWh6Ti754#E+?r7BMJ+u0 zayyX3qERd)H$y4zLy*cdj35gl25-!BpAr0DXt>TGO9;)K`5`E}mWM6nVP|>Vn+Iu$ z6-V$oIDEYQ9Nb9GjQptik9PlX_k8_9xHXA;kFIIexyNXGkcCiBk+D6=%E1W#=u|Yj zYr)ku)gHI`Lwh5(vbZ-VoLdv|*51^|9R;CH5eHoBRRuM{-4SoqOydH*xa-Y<lNVn; zL{s_2tEx2XKJ|2Z+?f~3j5v#-Vi0pxL|hd!IUl>47PE?&Yn6R-hvs&o1jp5T)%WTe zXKNSg9++#KuWNgI_@kn5+0l<q#LKJSz54dm*}R4FJ>jwkmeaJQd$F<6=I%quwOI&F zlo2cm-NkXcH(2^s^{whRq5shQv+S**)?iWa#G9q_+3-x59jt-Q?|PcfoiWt`ZCHQl zR0psRmTXx!p1=NlC=0cOF2?QVaPf|)bLUe1_8&FJc03f>@z6s3!_yrfyK3&0RK45z zc4w@lEmG1JD>)h|IXZn5@$T$es6RN}5p~tv_2s{H;MRdR53Q<v);%|k)7t4S_%Vs* zz#Zb&rJRaz<%w|jgOSPy7jhm7yB>;Xd87XA^I6-W*&Hf+x9;t_h^Jx6TM#nLXlG8& zYTtVhsD;ZKch;Vz;_?~o_giAcEs^4upmEvg$lmjbuO!qpQ#M=tv9EbK8~Ls8#9@|H zmpG|*Rz&O-Q9FExW=|dca`i#ADreg-)*Dp*+EtY;d(YjX2Y%w3>-%wbthFoB+7*7_ zG`iwJbxpjcer79FEuNjdh(oTzHZ}PAJpZ~&<u8sE)JF>HXSdE5Y>)d3-%WozeP;7J zHf#>=m2H~cyim6F&WW&p_dhQeAo+h@H>-SAI4;Y|`^4)*N?Cbd4L4#q|JZ3cptk(! zj;w=anm==-A24V>GMEk)>p!x!+79OHf10nykDr#A4sO!_v{8+)6BeiJ5Ry^FS7}Dl zv`AKo{v9GZ6#OGi3p&;L1~#8<YEurcw#?p>Sy{sBgxSMyQ;Atg;OxQS2%dK-4!h35 zB24sfNGUNQ3G^JI5(>x-zz-=X)+KJJ2RJAkkVd#4qj+23%Xrv}FEDE%WH<%PX9#S= zKz_F8PCXws3JBzsshBZ|3C;Mw_B^Ns9Z@ALo4F9#Vebo3Bpu+i1+=)s@iUll97M6h z8~ubH>Kl4u&;rcY8R9kIpsNsHnq`3`L}o~zE*u7>|4OM?lTwgOKFMfVSxT70sV8@R z{T}=U-34i@!<U1?7r?B8Q5V`mJ`f9Jd|;E=I~*>NkLaXJWZNLVm9`s%UM?SSi7`H~ zi)rD|jy8$xItOoR@}__xZ8~~~P!u}QfMW?Ddy;)VG%4i{S7>6Uba%rR27f!egA85m z@2}{TcAY686Dd{Mjl6gUM1Msv#dPr@)B1$srvfTxWGMOQN6Zx{n}SG=WRi7q;Va6; zD6k8Eq?}&hrhFh!{+I%PsQY|BjPZw|aYsA_Um={}L#zR5B%nRPX2=qbVQ?A}LsCPE zsq|5=RB!<B5gInbD+O#2FC(FhdB8t3G{7=&8ihQS@5qr1)D4Efvq(u1q=3K}D6_nR zgR%33(E#xy17@Rma-IFH#}C%YV$W6xXfHD5+7al`D%(@ED}vT7ff@EbOKGw)^a}3n zzoxxArG8Fq;|j5n367-3UqNjRWQxI&O0>AxxnrC6F=!7ooScq`2LkjMYEf_)S8zln z+l7uj{Tx+tA`wZ2Nv9ba%~?Rr3=BgK3_mjL)baRL04@#spX2&3fvudVBd}El<G^~j zmhhf{5+S3ODB6L?hN<JqFgLgg1Y;Q(V{%z5#taxwk5xV~_V#~op}L0zuu6Zz9)ur- z>@>20A1DB#W(`BVy`k%BFc^mU5qs(K$W{0=8Xke`L7<}hxo?6Bjy<}M=h#^^9wLP> zC@8UVo=YuP2>EIA!$txR7jreS1RJ`BE2kzp*baoNevai$G=xu<T3Gl%@(cxL`56GB zF=#KjQF)8JvqK~2$8?+P8n<8{v;wllIZ=LIcc+rN;|u(RWS;5aGB&=Jo-%7;*sco( zNsNPMygYNw!B)3b`Y?@WgqaZWf1%Vj(>GfvXhN{4864TDp2j|>poJE@Qltandxgr9 z`TBzqv+omIR=oHjz^5<k)L94AD_WJq50<RtAvK=GeR;w2!84)fXV1?*I_D1O9GFg9 z)@ifIoGZ(>V%8V?5VxR+?uu^Oa4?$TntB{bLT{Grv6wGF4?Nvz9pnSAr1M{q=n5qY zO*$|{d9ZAQn&|=Jl&uHUcg+q~g^(eXv1D=GIC>o?u>~=ES;SrzuGu+v8g_FF_9II$ z$;<V9o~E;ApbT!`8;{<6^tH#K;%dzaZVR3MaR2Wej9Pb3X_oTJgGZ+{QDb)8=9n_^ zQgpWR2mxA-U2AmWrj%RqQcI4cB)#u~tDx<UK#3JlK|Eb0PgKkgB^$kGM}bnq5&jud zu~IBo-5A?RZ!xIZalSwrcq|b{n4y+Ege-ggcn{Z}Kmn4d)g{mm?y8s+vs5?-PndQ7 zz5OU#zh6iULw1vh!9#mvq&GYOLsKao0H%Fy(P_JSc~nl2aK;(9H382lQ(<b~62fb* z&`wg?{H#u@IUtJUG!!Lf^iu>7B5FV&JN&l{V28I{72Ay#hGF@z4>h7slCt6@DncH7 zC5WCNrc?>I594(P*m~W2wy$n4>&7RZ@VD;WC+5cLNo#=!W-C-xO6HeTSw2_<krknF zB|t73SE)*mUVt(RkOw)DAsUwbz$FNcpqdZYPkZ-)(DIZIpZ5BPM@G+r_Q63kG5{MO zz-Y;7;4xg|v5Ip2Pl8bM{_qI5k55kkFbBr~Tm-%YfRc3<P;U56syxb$v4SrUiEr#$ zzI$lUiJy@lE;x)Kh#}ZC*U}gjx=Tujtu(}x9Arqp$l~1SMZ_L}jqw1Gm8qS0<7OTJ z830_;w<-2A%qa9F%wv9=^6PX*)0zd7L_Z<L#$IMs<1ktHINR}n?P5goKruiBRBQhc z0cp8H`xJM{7n$8BUxe$KN*XFM+)QVbHX!VRjIda#a2Qb9o=MW*RGO<w6p(=SMU5n5 z)b;vMtdspCqZ|+U#M-xf*k2?<B@{8}PePOg1U(@?UK$DvoFm+3V!jCs3VxL2T^6RH zqQwQA`V9`>6iD?%Wq{Kw>MYfWVoa&mhz(Q3Pl0T&T$I_~pbcED-0hS=0<=9L+tWkw z;<=ZOp&`jZBh;`qBHHoM_V#iWi24X9>tg^j1bX4f*TfyGAl~K?%$igwwm%7U&IC@a zh#nPzTdOGQ#UJ8C!Il=C#XYg83a*q2-*vh7626z}Tv0?%5cfHJ&0y<m{P>n_VkQ(@ z2>Mn~QD8t`BKQa~nZrO<1vDS&pe0u`q0zqX`!W7|sp>U}?S21GsrLN0iaz~SKc>11 z%5$_qq(Sg2XG{&v>MUSM%6W3ch>aDsi~cmQ%_1;HCbR|HNQ!4XE7%Ec?Qz6qD%rd| zb`H~)7v3^`3?@hUfALHquHcBAu;9ByZ63rgaBEe1lNZvfH+J6K8FLmxhDQnleSdK2 z2bUI{ZDC8>FP3a1WHfofC&e?HKJ30z{Cf|_w(O5=*&l8?6t*9RWwkQ{{*agT8mo6% zi<n=rgXb4ZD^xQztuAdJGLkN^lI&VLgFlIk4s%GW1Gbgwj2`$=sxt=WkT#91OwSnm zO{ws)1Qa9yg(8lbIjXf>O=qrZTaiKU5#-m|e}#svu$usc9$OvZqGaG{K)O?_0?ZKW z6js+uK<f05^>ahg_!BW)N&bEwP@8prA-Re{?74uDcbPn|V3*B1YQ>6zg>LjLrAn;+ z$Ym)d&@W-NU@zGk4!J^|zg1oeQzR}pK$4OHr0D3SOIMkspWr&MRAVh=b-F4b=Rx^M z0Rc|iJD`qY%Sv-mys+it4hD!K@U2r(&OZ_MqzQ2$2WQ*pp0ihb1_BjW2s!-SPTNML z!LT(!F%r|Ke3D&f@bN3kDS`4zu_WZ}qoa2K#;$U^BxFwwEo9xa>0kAkkTJf-=f(bG zhZEBuCCVnm*-{B-l#Q%x#jHSyE;$mA=V(=?m3EDmO%m6M&H-P-Z*CDm!YNe*560|5 zd*gJ9M*{gv%tg+HWcW=1r6*o=Pyg3Q7E0+Wk-4#+t8q5#8ds-Y?cb-;;o@!G$>IcG zi?a{f1^6Z9C2JmtVlw6llDBc8b9DtO;Z@l45?U2)p1Cs=oI(H{7AoXoI!Ce>=F64I za-nYm_x3PcroP3YkmL_iL>FWmSu4uL-Omf8qQw{lQqMe5uVcuK^i=>57`5aP^h4nK za|ECA!p#>#!wa73nY|HDJ<dgV7m@Ko018Ge`AhD+*9NBc!wFwFr*<9|ltpl1|C=_5 zzU_5<2S`nX40QO<I)EtW%UX0nN_Oj;T8(PIYD#+!&bPi{l+`UK01ZZ><VtO49}<u* zF^e^l4*#ZFrh-!{J_&x)_f?rZRub4A*(SP;NI`;}n*^(*pSji{q@B9R5R^*2Pa}!c zspxb%06>1+>%JptmBP=uzH@B9ASIFftS7BaVoCkSK_&tF<G(sI3J=NP!!HgEJw;m; zaLe2MPmGxrB!``Wj%g~NfIx#SSR}Oo@-!XGEt*+Y!%V`yXk}xF5dDc53{%nl{z(OR z);6&KNgQHQQ;G1DVl{et{)PtAHl+6pjHaT}cWd6RnLdnDD<I3{`tJJ5gS%$TvxjH* z%oWW&Hg_!CbqdQ|_Jcsd(dD|ARk|!U8#O7|eL_0Ik-<F5%GO}Mw2OMyW!zul@n@7Z zonQRo8>-JW1_z%Mw}4m7y{I@v{uEL8rz|lVl%P)!@U{Ol{2KGzr}j&fLm}mWh2Egb zD}3wdt)o*%ztE*w-D^0ybHkD<D`$G!6pyW$Fp#K?>Hiuv&izI{h6-&f!~u<%;swPX zEk-^Z!xEuD2fu<hj7B88$>qJKDrPx(2<z$jM=Cpsme4Qm9D=k7XO)F|XLPZOmPkcQ zxO{uqxg%`Z!OvRcAzgION}hw8`;}Zg;8CY8(_i4zu}ryHMc<<TM5Q9_9hA!Hi8)Im z&XTaDgcXAO7M>@V97%0h!%8BblcZ`fI<Gj#fJww<WC34sQ3MIg$j|U#EJH3D%;<W) zpkig=1<sm)|1*AbJk&N*8aj-V#;{!g$y0XHzpP;B;$Nj;aVnTiE*P*VdV0RvShDt+ zri7ApR$7zK{n%ca)=M59i3T|vCLHyP4EM!RTX2+b@*!a>J)_`{DgQmVA>1Uh$+DWG zHhESJMpM<QE5qbl^{Y)gR}E@YDa4KzTg;prG3N%a%$v(rjcRM-ngPMGO=T(Pdzey8 zm?boQ*;soWH#F7+NThw(JkvO2S87P4RNASsDM2cuQu$0Q)y7-4@l!$!y{8%5zK<YB zhA$5>AA%70kbxd{)WkgkXcDp+_EUg`?xP3$c)3X(Z8UD84!jRdsw4NC6#UN=Fr|^h zbeH5xlZRWA^57QHLIzBl;k}3qm`JBPSTen1Rb_D5-l>}DVmL)O#x9Q7iy2grKVtW@ zo05pVWXYZf*rLrDYbryrZCPco+BVL3Ni6aVGEnqF)4y*oC;_avPf$q_%86~kl3FWO zL$Q`&frFZdbh#AGqyO6G$y+w*sa5pUDte(+c3Y@Beon!gnD6}7ka#+7J4Pcvd)}fK z|A2saGl8!4KZ{$Y-p{658S2u9ucS*H%J)~Rb@z0G!)v`b&^s(Bhq3zva;QUkNLjT; zGAneG;@}vZtXtL!yN~a3$#xRRv()A6!tz6tFzJ%*EJZ@EU-b91c6XmVxc5|ddrw>Y zk@o$q-3O0#_Ow5=@5rex+;#Dws(*r{c=Ix9Gpt;{Mh~iRpFoBw+8A6Hrm8jA3<x{u zFcgTX)U)-7%vOwO?v99a$5L*gfG84}ZCl7~fuG7HPkwOZtru>+FsobeYzf=9uu-0Z zuVBS{iHbBu!LL*BS7=oh)KX^DG^7%twKnr{=ye|+N*C={=vupn;AM10zv_%SpgIFX zr!&wlfbR}9e0S*1!Q2MEH?SG+2cU7kf%)SwFecUX4a=D{_B^fM2)N^P_~bAtev^+5 z`0rq8Sa5Idx1>^u4OpMTK;(1*PaxwP>N6Pu8@BPbfE}Sd;6UgIWFpKAI1xJUlZK0_ zOQr|15XTj8Bg~qDMf4eW7yM}Qe=EHl&A;CN4=uq?ScP+8IvpfabsPi3n;b;(v~BOD zK}_xxq+KGDKMQAbI7@_>vhOJ-Nu(V<<otvESNu=Vw{R1NZs*TnKt>hE3ESn=XmiOj zIs$p!F|MnB<dN>jz!ozZ7VgIVP#wb~`3ndb5|8`kSCrV-N*tw3kb^W>>87GcdId3F za^{e1AWjc!p5a}v5v^1R^}4CfXf|d`%4$G*kJJ>hn?7DmfVCx)lv6vgT0^sx>&M9y zoh~J`G5=o3Qaav-pnhodB3!Et;Uu2U5y+xeOiSuLIs@(xNF9cF6bD#Bknjkd#4=~) zVO}ZdJzqL@QUDLNyiO}Bj?)GyB@sl4ggk<;KSiOtHad%de2FhG)1?($!|^p|*+JL@ z{|Ioajp4@5t);A}Q(9^4(G5xgu?}x#OLf7y2se7Me^@b&YH=<?x)RKmjC&GZ3jrv` z9BfeERLXF#B+sQS*hOeza=jO2_%A+%#C#=*qiC=)a0%uT0~pmf@_;yX;K@OnDCAXA zv}u-V;1}Ck@*q`5qFu>$4H_m7Z5)OV3)1IuYU6=H=Bi3Q6e964y(oXE#{clfj~@~~ zhIN~=`6`N}RF#lvj7<b0xp_n$-0Up94}^hTw9-lJ1Zg=WKsltqIU6?1%1%mq4h8$C zl@Sre)0Tv<Br9^VE`h9t)=73HN?xGwrGp)Zeq0M}{WoCoU{K^?kl8;O9YD6|JSUk- zDeX69I}GUfOV~zGDgzck0yYwDE%*{aCMzQ$imFud6NWyZ;~e8@!!|{Vu*rmMA<+gj z4c44SSaXWJ1*}5kl8fyG8x{QpIwecG<dVZy^ku}6a0} |=elstoEAA{D$lF45( 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/INSTALLER b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/METADATA b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/METADATA new file mode 100644 index 0000000..805cbb8 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/METADATA @@ -0,0 +1,104 @@ +Metadata-Version: 2.4 +Name: lxml +Version: 6.1.0 +Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. +Home-page: https://lxml.de/ +Author: lxml dev team +Author-email: lxml@lxml.de +Maintainer: lxml dev team +Maintainer-email: lxml@lxml.de +License: BSD-3-Clause +Project-URL: Source, https://github.com/lxml/lxml +Project-URL: Bug Tracker, https://bugs.launchpad.net/lxml +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Information Technology +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 +Classifier: Programming Language :: C +Classifier: Operating System :: OS Independent +Classifier: Topic :: Text Processing :: Markup :: HTML +Classifier: Topic :: Text Processing :: Markup :: XML +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >=3.8 +License-File: LICENSE.txt +License-File: LICENSES.txt +Provides-Extra: source +Provides-Extra: cssselect +Requires-Dist: cssselect>=0.7; extra == "cssselect" +Provides-Extra: html5 +Requires-Dist: html5lib; extra == "html5" +Provides-Extra: htmlsoup +Requires-Dist: BeautifulSoup4; extra == "htmlsoup" +Provides-Extra: html-clean +Requires-Dist: lxml_html_clean; extra == "html-clean" +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: home-page +Dynamic: license +Dynamic: license-file +Dynamic: maintainer +Dynamic: maintainer-email +Dynamic: project-url +Dynamic: provides-extra +Dynamic: requires-python +Dynamic: summary + +lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. +It provides safe and convenient access to these libraries using the +ElementTree API. + +It extends the ElementTree API significantly to offer support for XPath, +RelaxNG, XML Schema, XSLT, C14N and much more. + +To contact the project, go to the `project home page <https://lxml.de/>`_ +or see our bug tracker at https://launchpad.net/lxml + +In case you want to use the current in-development version of lxml, +you can get it from the github repository at +https://github.com/lxml/lxml . Note that this requires Cython to +build the sources, see the build instructions on the project home page. + + +After an official release of a new stable series, bug fixes may become available at +https://github.com/lxml/lxml/tree/lxml-6.1 . +Running ``pip install https://github.com/lxml/lxml/archive/refs/heads/lxml-6.1.tar.gz`` +will install the unreleased branch state as soon as a maintenance branch has been established. +Note that this requires Cython to be installed at an appropriate version for the build. + +6.1.0 (2026-04-17) +================== + +This release fixes a possible external entity injection (XXE) vulnerability in +``iterparse()`` and the ``ETCompatXMLParser``. + +Features added +-------------- + +* GH#486: The HTML ARIA accessibility attributes were added to the set of safe attributes + in ``lxml.html.defs``. This allows ``lxml_html_clean`` to pass them through. + Patch by oomsveta. + +* The default chunk size for reading from file-likes in ``iterparse()`` is now configurable + with a new ``chunk_size`` argument. + +Bugs fixed +---------- + +* LP#2146291: The ``resolve_entities`` option was still set to ``True`` for + ``iterparse`` and ``ETCompatXMLParser``, allowing for external entity injection (XXE) + when using these parsers without setting this option explicitly. + The default was now changed to ``'internal'`` only (as for the normal XML and HTML parsers + since lxml 5.0). + Issue found by Sihao Qiu as CVE-2026-41066. + + diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/RECORD b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/RECORD new file mode 100644 index 0000000..65bdcb2 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/RECORD @@ -0,0 +1,204 @@ +lxml-6.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +lxml-6.1.0.dist-info/METADATA,sha256=C22o5J3b-pRFqvsDJ8BZIZgShZshbyM4dD_WThX15FU,3953 +lxml-6.1.0.dist-info/RECORD,, +lxml-6.1.0.dist-info/WHEEL,sha256=rSHxYvtox9WA2CLg-qPNRHTwscksbjj7CEInt0-zzg4,152 +lxml-6.1.0.dist-info/licenses/LICENSE.txt,sha256=j8K1aBM1FuRoRdIUeRet7uFkjnCumrXtbFQXr-9M6FU,1507 +lxml-6.1.0.dist-info/licenses/LICENSES.txt,sha256=QdSd1AaqDhVIptXyGjDWv2OLPNlutyid00jYPtLkA5I,1514 +lxml-6.1.0.dist-info/top_level.txt,sha256=NjD988wqaKq512nshNdLt-uDxsjkp4Bh51m6N-dhUrk,5 +lxml/ElementInclude.py,sha256=PSLeZFvCa76WHJulPLxcZXJtCI2-4dK2CtqPRiYOAQg,8560 +lxml/__init__.py,sha256=nNZhK4w0_VI-AvQ3n1b4cWN1fFhYFdteghBR1mR7j1M,574 +lxml/__pycache__/ElementInclude.cpython-312.pyc,, +lxml/__pycache__/__init__.cpython-312.pyc,, +lxml/__pycache__/_elementpath.cpython-312.pyc,, +lxml/__pycache__/builder.cpython-312.pyc,, +lxml/__pycache__/cssselect.cpython-312.pyc,, +lxml/__pycache__/doctestcompare.cpython-312.pyc,, +lxml/__pycache__/pyclasslookup.cpython-312.pyc,, +lxml/__pycache__/sax.cpython-312.pyc,, +lxml/__pycache__/usedoctest.cpython-312.pyc,, +lxml/_elementpath.cpython-312-x86_64-linux-gnu.so,sha256=Gngj3IsCTtH8jsFJTJKW0x4oAbFMPSQIFgVbMUZ-PvU,209096 +lxml/_elementpath.py,sha256=b80hM3ndAkTtRX6v54za3LkkAqCcd0700BbMPZHnTBU,10959 +lxml/apihelpers.pxi,sha256=CugqfQgyn6aFtwp7eH144RUpV2v1ItxoalhJcFbORTQ,64604 +lxml/builder.cpython-312-x86_64-linux-gnu.so,sha256=MSiyw-7TTv91-yEn-dq2qc5QIFmTW2knqs64u7GoUvs,120880 +lxml/builder.py,sha256=KI1HxHTd4wJqqVfmTRtSbXBQdl2T-P36ih4hT-J3MNw,8485 +lxml/classlookup.pxi,sha256=Tax8Vhbm5C6UCjgmRFsYjW0pFHxIuTthH1MOgASDLgc,22435 +lxml/cleanup.pxi,sha256=ZNEpbv7qx_ICPzsxhCaMUHCOfiznOoZ_u3jlYXHAuh4,8454 +lxml/cssselect.py,sha256=_wZdX-B9p5MeIYABmENIYRWEkwXwX-7jO8Dkf-1rUZU,3306 +lxml/debug.pxi,sha256=KTcpR8-slUYvmIPbE35GoHDNTb-gjTEvD7bw6LltM4c,1125 +lxml/docloader.pxi,sha256=fcoVd_mwTFZhjItCv_TfwXpgVek7JlvFObSfRxmVqs0,5790 +lxml/doctestcompare.py,sha256=40EDnkwpcvW86qNa86990OXF42xdHaosSZoiBsEjkzU,17731 +lxml/dtd.pxi,sha256=IAKkmA4ZoC68sqAWcTqoS8jEGYcPQrVMCZgn4iLBYko,15281 +lxml/etree.cpython-312-x86_64-linux-gnu.so,sha256=2TuGzdSHoOS0lBiobIcVea95xwGLxrKj0y8AIXHJ-Yo,5272432 +lxml/etree.h,sha256=hWgHumv7DeTpH0nHhbsCIe693cIcimtLabExxwBxR-c,9792 +lxml/etree.pyx,sha256=zgobCeGw6lw902OA0FWuwlOpqA_0eZeLM2baWi1pzio,138216 +lxml/etree_api.h,sha256=UG16a1ThLt259FSG3vUy6ka6OIat-6LLJyVBLz6d3OM,17710 +lxml/extensions.pxi,sha256=saxxc1mZyA8WdwIIL90B4lQb351j8-G7ttLPI5k-8Hw,32248 +lxml/html/ElementSoup.py,sha256=s_dLobLMuKn2DhexR-iDXdZrMFg1RjLy1feHsIeZMpw,320 +lxml/html/__init__.py,sha256=CC5WdsvSptZhr9MZya1qsL6JKVbviYdrHOhXrGhmORg,64425 +lxml/html/__pycache__/ElementSoup.cpython-312.pyc,, +lxml/html/__pycache__/__init__.cpython-312.pyc,, +lxml/html/__pycache__/_diffcommand.cpython-312.pyc,, +lxml/html/__pycache__/_difflib.cpython-312.pyc,, +lxml/html/__pycache__/_html5builder.cpython-312.pyc,, +lxml/html/__pycache__/_setmixin.cpython-312.pyc,, +lxml/html/__pycache__/builder.cpython-312.pyc,, +lxml/html/__pycache__/clean.cpython-312.pyc,, +lxml/html/__pycache__/defs.cpython-312.pyc,, +lxml/html/__pycache__/diff.cpython-312.pyc,, +lxml/html/__pycache__/formfill.cpython-312.pyc,, +lxml/html/__pycache__/html5parser.cpython-312.pyc,, +lxml/html/__pycache__/soupparser.cpython-312.pyc,, +lxml/html/__pycache__/usedoctest.cpython-312.pyc,, +lxml/html/_diffcommand.py,sha256=kz_7EP9PmYWuczlZcGiw74_rG0eTKvQ2lrO0rkiwlYE,2081 +lxml/html/_difflib.cpython-312-x86_64-linux-gnu.so,sha256=0Za0L59Q9ZDfTG86x9enqvkdutV0Z29YDEjG4nftBLQ,533400 +lxml/html/_difflib.py,sha256=GgH_jVrZQC8tI8WV_lFZQsXFJ3mOTAPup1zjBJNvkPo,84954 +lxml/html/_html5builder.py,sha256=NLaT-Ev-aBgJpeQl-6ZbJChLZK5GV-znDkHOJD5VQC4,3230 +lxml/html/_setmixin.py,sha256=8IFIOLmVz0G-XzsD2tCEkSFWO-dgPBHgvHufC8ni67s,1188 +lxml/html/builder.py,sha256=Uz3r5uiuCdoN0UPa7ngoLMwAadVIhslzGvlRPGigY_M,6187 +lxml/html/clean.py,sha256=WU0KfXAyjDFn2ojE7T1dfk4cl_FduBu5ZbFSTc9Up_o,503 +lxml/html/defs.py,sha256=IHIW70bC-m8RdCtGOyYak58hFiBqyhegTC83QlsO5As,5322 +lxml/html/diff.cpython-312-x86_64-linux-gnu.so,sha256=EoLnmB8DWTm1fvtjq5IQR6j-bXa-h3nnNRt4E_F-LzA,361400 +lxml/html/diff.py,sha256=Za0By-yeYlQEjUu7m7xKB288kKiy8VBS5gT0RPOaFY0,32989 +lxml/html/formfill.py,sha256=umgk0BbkAI1W6q9musFbL-cDnI_aap2NsLBJqk0UmVI,9681 +lxml/html/html5parser.py,sha256=dnyC4cqHxywjZSzk0mu2L7THTZjxhg4yF4pncjusa_w,8634 +lxml/html/soupparser.py,sha256=xo8VvNeOEb-SChuXLKCRECh8J7HBiJLE9sAbEskoUUQ,10197 +lxml/html/usedoctest.py,sha256=tPlmVz4KK1GRKV5DJLrdVECeqsT9PlDzSqqTodVi5s0,249 +lxml/includes/__init__.pxd,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +lxml/includes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +lxml/includes/__pycache__/__init__.cpython-312.pyc,, +lxml/includes/c14n.pxd,sha256=DBQcOJ0c_YS245ohMb8fmuEC1kFyv1LrNY_8Mf-syZg,1110 +lxml/includes/config.pxd,sha256=H6Mrl8It21hzRI2hzMId9W48QqkYYkoLT4dniLNmdTw,96 +lxml/includes/dtdvalid.pxd,sha256=Nv0OykjYehv2lO-Zj--q6jS3TAC_dvQVPSgPMuse1NM,689 +lxml/includes/etree_defs.h,sha256=h_UjJTmNUqPyKNNrWB9hxmt6v4CF7_83XVY8dOfxqW0,14524 +lxml/includes/etreepublic.pxd,sha256=Bn4d3JkWPqXputXqI-eJ0xmPrwNFPTfDCa7axgjB7FM,10184 +lxml/includes/extlibs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +lxml/includes/extlibs/__pycache__/__init__.cpython-312.pyc,, +lxml/includes/extlibs/libcharset.h,sha256=GA0FumrbNI4VDGlzq3lf5CLaCwXgn4unw2l0btGQFwI,1510 +lxml/includes/extlibs/localcharset.h,sha256=Z_AagaQeq0aDE7NPsVOqEf4nO4KcUp46ggo4d0ONIOQ,6338 +lxml/includes/extlibs/zconf.h,sha256=BxihG-sylbNF-ymmO0S2VLKC2CxM0FE_YiVYfyspuLs,16921 +lxml/includes/extlibs/zlib.h,sha256=gYZn1qtqN_50acsGp_DLLCyy8slIoD5azPGkp0vzAgo,103848 +lxml/includes/htmlparser.pxd,sha256=9uASkP5dU7OE2lCOLT-z2e01qSbFlp4ehgwdostF_qk,2802 +lxml/includes/libexslt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +lxml/includes/libexslt/__pycache__/__init__.cpython-312.pyc,, +lxml/includes/libexslt/exslt.h,sha256=eSW5tMJAewSUANLqk7AGEiU8b2BbCNRyauHnez7nKSU,3114 +lxml/includes/libexslt/exsltconfig.h,sha256=QHxzEbRlv_h0USBvpr0Zrl0Muzlc71VCrvgR6lqnLEY,1172 +lxml/includes/libexslt/exsltexports.h,sha256=1Jm9KTXm2FUUJIZ6V6-Uw55yG0BMULX3_goyxDd2LL8,1077 +lxml/includes/libxml/HTMLparser.h,sha256=sU4xGqj-vBtEvzlxA3hBPWJboifvkc4F1hynKXmsl3k,9569 +lxml/includes/libxml/HTMLtree.h,sha256=Q7UBKFbQ8fx4d_dMnmR6ay8JmfOhopFkDp2B63YkLDU,3517 +lxml/includes/libxml/SAX.h,sha256=SFnG27EFrYGUB9HDL_xSIGBwEns5pl07rApXWThFZFM,386 +lxml/includes/libxml/SAX2.h,sha256=RfFP5o3le-Rg8bnA2GW7L7L9_pfXCs3TieODcv1DTWY,4240 +lxml/includes/libxml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +lxml/includes/libxml/__pycache__/__init__.cpython-312.pyc,, +lxml/includes/libxml/c14n.h,sha256=BSBXw6nIZutC8mWvbRrLLmoWjw3wRt-nM93vjXGMCm8,2742 +lxml/includes/libxml/catalog.h,sha256=H9ssTCaBjtDqc-AZqCk1R7h8F2iD9szqLjJyHpaczXg,4633 +lxml/includes/libxml/chvalid.h,sha256=TZcceNp6Cw0QlYwIqK9GxyYqL5UiAjpQyjt_yrZGTQE,5087 +lxml/includes/libxml/debugXML.h,sha256=XXRNI39gJW7bGRC4SzE4ad-SJ906BsUGz3AwOtkKuS4,1667 +lxml/includes/libxml/dict.h,sha256=SweaPGMtTTf4je6dNTIoEzcfEvpsAT9_PhR7FC0K-rQ,1770 +lxml/includes/libxml/encoding.h,sha256=haL7ratww2wkIERGmtwUqU2BbTVe52FZFU7MmrOpsPk,9623 +lxml/includes/libxml/entities.h,sha256=LEOCA826-0f8dhRJzC_2hvUVsSH7lKQjrea9hSTdBbo,4419 +lxml/includes/libxml/globals.h,sha256=NH8zyRI5cXJJGp5k2aLxOm-reJEGOFX6LYP82GBXRlY,583 +lxml/includes/libxml/hash.h,sha256=KIIpAYKBfGUU3ydWhGehUyfuauZz_Ps0gyambzQo_rc,7017 +lxml/includes/libxml/list.h,sha256=oh7iJNQajRA_cHsNk9CcFPYkaW2smf4J_MpedPPjC4k,3128 +lxml/includes/libxml/nanoftp.h,sha256=22PBtWhJueYLFvwukt4oFooRct_xJA83hbluHRBNXUM,302 +lxml/includes/libxml/nanohttp.h,sha256=bLbzYjAyAKmP3ComMOPH6XaUImu6bNAESF1HrVtRve0,2124 +lxml/includes/libxml/parser.h,sha256=Uq7-ce55UUAsvo4n6CiBlNQpmowewvWhOsQtgGM1UQ8,48498 +lxml/includes/libxml/parserInternals.h,sha256=8_Wr6UgRzm8BRn1RPLxyBkw6BagAdDvVqMA_e181_EI,14539 +lxml/includes/libxml/relaxng.h,sha256=VXZ74r5Yja06KqypdBHc8neDwPxQ2aMrsWHSdRt5oi4,5991 +lxml/includes/libxml/schemasInternals.h,sha256=V8M4In3zf24EX55Yt4dcfxwp7NpHGYViKnLKwtyrPJ4,26233 +lxml/includes/libxml/schematron.h,sha256=8EhPDhvtlMxl9e0C5rSbEruOvzJS5BC_OOFbq9RXZnY,4255 +lxml/includes/libxml/threads.h,sha256=mT3CgK4lXK7-NDnUOFXqYuCK6fyY70S3BsHF-TnT45k,1619 +lxml/includes/libxml/tree.h,sha256=zTRLt6h5x6ApyeXgs90CKQZSAl2hKm7b5NxtPKUQFAE,36106 +lxml/includes/libxml/uri.h,sha256=J9teJHme5z883c4twF5oImEYY-E3xSvhdSGpyRVtvIg,2855 +lxml/includes/libxml/valid.h,sha256=By61IbPvk_eLux7a8x0mOaly7oclFaSGaFE8b2xZcUE,13226 +lxml/includes/libxml/xinclude.h,sha256=K3I5jhw2zAMj26LuRNZc15Bwv2JE2hWxwVn4TCqv2b4,3258 +lxml/includes/libxml/xlink.h,sha256=TVLOkISrcKDelo9n_XIUyPiStDYa8NxuF2dz70aBFCI,5062 +lxml/includes/libxml/xmlIO.h,sha256=FvbuMYTy1-S5PScabE03wz0oWKf626pmXvOPZNuLm-w,11948 +lxml/includes/libxml/xmlautomata.h,sha256=7Sc3YgPz1ZIBKCHPSxs5oAwJEZWQ1RT2kyUw85pUtmU,4004 +lxml/includes/libxml/xmlerror.h,sha256=mMfltMxUza6kiSBfP2QfnY3UlMP_rEXKfX0wruBLl4A,37561 +lxml/includes/libxml/xmlexports.h,sha256=IyV3AMeQVbOl0wkjlnNX4B8WUZ-5GNKQmxZc6-maWUU,2025 +lxml/includes/libxml/xmlmemory.h,sha256=m7wGvVMxNzZiuOAo3vkjxaVWstc8aQLzb6obbjPsebE,4658 +lxml/includes/libxml/xmlmodule.h,sha256=ERUHUmDdZRmh6NjLYWUpse51rLWR8qNjPHOtdgmlLF0,1198 +lxml/includes/libxml/xmlreader.h,sha256=BAHinlSOTXX3DEax9BniaIIPAXJyLGfzym9R-27LCcU,12387 +lxml/includes/libxml/xmlregexp.h,sha256=_q6C1XRy8DS3kSmLbEKpvkKQciTgjTJgGc_zUQ6m22M,2632 +lxml/includes/libxml/xmlsave.h,sha256=zcEQr9sO5CsFrnoOLshhdsqMEr8k4AeFhbkYyNfO9Fs,2934 +lxml/includes/libxml/xmlschemas.h,sha256=5AfLnYUcfmxHRzg0dVpdHig--4ui1-XDwDgpKGDKCiU,7067 +lxml/includes/libxml/xmlschemastypes.h,sha256=MYwlGmoKAo3lHRaaKgnCXiLmPT9KRjdxyCJ7TEyZ6jM,4583 +lxml/includes/libxml/xmlstring.h,sha256=d5PpqxP1I1sfmCUHvVJtjoC9h7hLHcAAQ5ok_Rtf50I,5271 +lxml/includes/libxml/xmlunicode.h,sha256=8sq3wEW2AiyTCuc3ZceOEkce7lfrI7VnkRfwEQgc6pU,278 +lxml/includes/libxml/xmlversion.h,sha256=oVpaE_xbttaeZNFKSuSfcLOceWz7LQgKP71Z1msXZNo,5112 +lxml/includes/libxml/xmlwriter.h,sha256=BEUwYNKx3xymDE9vepksEK7yVq9SXYm1d2pQnzlPy90,20688 +lxml/includes/libxml/xpath.h,sha256=CQv6X_pRhuXoCVpqoDXYB7FfusLK7AuPxCNigwhNYAA,16156 +lxml/includes/libxml/xpathInternals.h,sha256=mc9B5tdpfssyz_NPUzww6dKuWCtBybBiBRJkTe4AE4U,18504 +lxml/includes/libxml/xpointer.h,sha256=DAxMsfPp2SSZgXFrPbxBA84RwTMRf35Qg_LBbUzPQhA,1026 +lxml/includes/libxslt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +lxml/includes/libxslt/__pycache__/__init__.cpython-312.pyc,, +lxml/includes/libxslt/attributes.h,sha256=qKwzfGf7r89esLC65s96iYJWRA-s-Ezss2_V6Mmo1hk,957 +lxml/includes/libxslt/documents.h,sha256=kBihgH5pqRvFalhm_fOFHtJTFhTpBcm681yT5dxgwfw,2704 +lxml/includes/libxslt/extensions.h,sha256=W5UMyJqUP_1zt6sXZ0mgc0gAIwDJrZ8gjByhyrWqvd8,6899 +lxml/includes/libxslt/extra.h,sha256=6X3Wu3NdPtrlqz-Koo7dB-rccnnszi6j3zg599gTByg,1640 +lxml/includes/libxslt/functions.h,sha256=fc4CZj-9KeBHzO9-WWU_bNqmaEZAz3n7NNwClIBXk14,1972 +lxml/includes/libxslt/imports.h,sha256=18kIjoGqdFXR63Ce3ZtzxsTiYV3XGKpchYakMUPDuUI,1840 +lxml/includes/libxslt/keys.h,sha256=16v25VEluS7jYhgg6gYFwVxgGMn-1ctnlhhWWT4RcBY,1155 +lxml/includes/libxslt/namespaces.h,sha256=VofSn2Kkn-a5JyRKCmY3jPp7amQy3n09vzy0KUQt4q0,1666 +lxml/includes/libxslt/numbersInternals.h,sha256=Eg5gYZ5p3h0_e5wyI61S-0E6_ArVJzv0yr63j6BU2fc,2019 +lxml/includes/libxslt/pattern.h,sha256=tJ-BPfs9UYgiZMMoQZbhij3g7xVppYq7TrrOu25eR7Q,2110 +lxml/includes/libxslt/preproc.h,sha256=D_LjEdHhsdyBnEAvflnwFgoR4hGUb72kgEhXkkmPRsw,896 +lxml/includes/libxslt/security.h,sha256=fUD1cy_WxFCTvTNAF0WOQIU4p5CNWn1LHFyZJd-Fx5U,2652 +lxml/includes/libxslt/templates.h,sha256=bnt6Jqui6KU5pNUdMNPbQZkZ5d-VTWqC0TMGkOlVoIo,2268 +lxml/includes/libxslt/transform.h,sha256=ICT7meUV0OTAx27WaKVrKj-aUmR9LSpTNaOAJd2UStg,6311 +lxml/includes/libxslt/variables.h,sha256=cQAgPe4QCcK2uKbWg7Iz-9peM9xWGm7m3M6jQm0sjIA,3143 +lxml/includes/libxslt/xslt.h,sha256=wmFx2Q31Pd8Iq2phAQpY9J3QQatb8lWg3gABtqKFgEw,1964 +lxml/includes/libxslt/xsltInternals.h,sha256=2EbEKYmnYZq0HjGnUMAlpqnqZJurRXzjlgk5Js1WYaY,57949 +lxml/includes/libxslt/xsltconfig.h,sha256=cV5scdRK6xmOHeOg3OCw6hBfcQ_nrtNs_tKefX67304,2910 +lxml/includes/libxslt/xsltexports.h,sha256=1-luH-0bCIgBAlKAXhV-dqHBfwOAQNDamiYbxIlTf0k,1124 +lxml/includes/libxslt/xsltlocale.h,sha256=ppxGEmJfZIJgwRQzCM0_77p9WNekEWq1NrdYZrQl4IE,942 +lxml/includes/libxslt/xsltutils.h,sha256=1eguYgR9-jeNOVlBUktHboaq-VLX6JXraO80TfbARKM,9085 +lxml/includes/lxml-version.h,sha256=7Jwmesey8JmjKayzDkLgkjKNi77OGhOzjJ_JC41Oj_I,71 +lxml/includes/relaxng.pxd,sha256=HzHlQ6mCcf_tj_JZ9NAVJTVAv8ScCkE8Ifq15y3bS0c,2615 +lxml/includes/schematron.pxd,sha256=Hob7xh-K-MKqp7WiG8thMagf5EkQzmgfi4ds0EF91JA,1604 +lxml/includes/tree.pxd,sha256=XApzMRy_LSqCtQ-OTS-vNSW7CT_OWstybfIT2H84LsA,20179 +lxml/includes/uri.pxd,sha256=3vOXw6AbSPxAM9uo71T1qnfx-wd9ezXLDQtWsb2zX0I,145 +lxml/includes/xinclude.pxd,sha256=CuO_XZNB6E2JK1qXXWn11APrjFQV5kA6SMyb77WZn0A,804 +lxml/includes/xmlerror.pxd,sha256=OQqayytkV0NigAPbsQCCcvmy7luRe0XhVzpTdzJjP3g,58837 +lxml/includes/xmlparser.pxd,sha256=eDGyU5kZyNVksK0dUhMIi7rnE-LSevXsqyl72v99Ess,13730 +lxml/includes/xmlschema.pxd,sha256=OLZPd2WDJyopiXJJyo-dAyyYHaeSYFiMAI4tqIiv-Ik,1702 +lxml/includes/xpath.pxd,sha256=e8-ZYUbRG7N1mHETAlknJ_QqAteOosrYLRgpH-OsTkg,5603 +lxml/includes/xslt.pxd,sha256=4yl3pOu7pAvsx5Tc-W4IWCoB8wgtSSR62HI1jqu6jko,8241 +lxml/isoschematron/__init__.py,sha256=uauerYeKTlWFCJSqieIHhF5l6rYV2myeEJ0Imd1LzRc,13274 +lxml/isoschematron/__pycache__/__init__.cpython-312.pyc,, +lxml/isoschematron/resources/rng/iso-schematron.rng,sha256=VsWxPyi3iViJDDbjJJw0wWkEHkLrz9zoCA8zJLor9N4,18337 +lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl,sha256=ObebsB8Wt-d3uIA_U5NU85TpnQ3PxPX38TdOAqosMac,3172 +lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl,sha256=QweRrIIM-zFcgg98GXA2CaWfIbgVE0XKEeYSfvv67A0,4563 +lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl,sha256=xSZ_Ekq_I-62ZpiE5AqYYHwFW_qh855zt9V4_s7rbkY,11703 +lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl,sha256=x42QJ-dxQ1waPzydsCoQnp2Xj15y53nW43O7BuoDRHk,39957 +lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl,sha256=Tr9BnO6pzjVWwhqJfm10UlvAy95EgfSCz2iMlrVGT6Q,2015 +lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl,sha256=ue8q_88X4e_jsJizo31GRNBxNhdxkEE9fY20oq0Iqwk,71764 +lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl,sha256=BBAdsVSi5zAzeGepuN6gS1saQINDqITXKplmmj4dTWg,20382 +lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt,sha256=OGLiFswuLJEW5EPYKOeoauuCJFEtVa6jyzBE1OcJI98,3310 +lxml/iterparse.pxi,sha256=rERnJ9D0Cvn87YDMSq8V880DKV2WthXs5BXSSY2Baj4,16845 +lxml/lxml.etree.h,sha256=hWgHumv7DeTpH0nHhbsCIe693cIcimtLabExxwBxR-c,9792 +lxml/lxml.etree_api.h,sha256=O_s_RIicKl7_h5U0aKu9dKSzJCTYSDJI6jlX7b-2v0Q,17715 +lxml/nsclasses.pxi,sha256=5pzNBhBtlqObPdThL9QIGRs1Dxj1qnr0PyXuTCURqTg,9129 +lxml/objectify.cpython-312-x86_64-linux-gnu.so,sha256=iTDWB90lJBk_EVv0x5DwNpvB4cbOEqPDMKg-511TN5w,2916760 +lxml/objectify.pyx,sha256=8lIjgklL3LJ3PYAcWZ5hPLuLFa7oLqEspco4bSz4EI4,75850 +lxml/objectpath.pxi,sha256=s5TNG2-EbaWWKLFAiX303B95zK_Ui8ausB__3QvFFGw,11450 +lxml/parser.pxi,sha256=lw230Za_GcJe-CFfznB1As9MSEi0d6gsMKidQxUR-7E,85817 +lxml/parsertarget.pxi,sha256=v1PidxRaG5giwXcTDkpBI7PDFmsZuOcK0y9LdkQaY8M,6326 +lxml/proxy.pxi,sha256=LnqqSZVUsJ5MnuVrhYrLwMbAKWuv1eOn-XYslut6CLM,24015 +lxml/public-api.pxi,sha256=yVPuZV2LwN5Ki73mD85V9hnUXxOs5VMeFMLtQMNf0Qk,6756 +lxml/pyclasslookup.py,sha256=gLD1HM2HtITYYiGzjEOewSwbB7XkVx_NZv_quCt79Oc,92 +lxml/readonlytree.pxi,sha256=n2MRjz81EADWBXJx0miosN8PJ4i5y3guQJT_RZF6qKg,19008 +lxml/relaxng.pxi,sha256=3OQ-fZMzP-KF5vM6HTozT_9ee3J0DJnpj9RcHC8LoMw,6339 +lxml/sax.cpython-312-x86_64-linux-gnu.so,sha256=_is26aCl78oYdPU_iyAE_CxAfev44Uir8RK03edgTVk,182096 +lxml/sax.py,sha256=yrNvKD6rlon48jrR-1qpFXER8j4psYC2R5yt0u6TWLs,9706 +lxml/saxparser.pxi,sha256=yV67FWD60DfmFi7hbV_eLyJIMu7X2MOfV2g4X99iUR4,33538 +lxml/schematron.pxi,sha256=F2OHKZUl57-byBk_wWtPTnHZ1fwlj0FtwG3VuGtG-UY,6064 +lxml/serializer.pxi,sha256=iIXfechFHfvFs2sTk7wMIy3sDJxmaMPbNO33mkLLBUE,68063 +lxml/usedoctest.py,sha256=qRgZKQVcAZcl-zN0AIXVJnOsETUXz2nPXkxuzs1lGgk,230 +lxml/xinclude.pxi,sha256=7eBrI_OK47mmrHQ0ixbixRI8pKqQ1nwkMV-OmKUVlD4,2456 +lxml/xmlerror.pxi,sha256=MAQv92NXFoaMOzT8WeeM0L3YyksFoo48tpz3KZHTqcY,50234 +lxml/xmlid.pxi,sha256=5zf9oR6bsCtavGiOmilNyHqYwgG_bnrIabSd2SURtm0,6073 +lxml/xmlschema.pxi,sha256=mumNoHni5S3BQPtcmOHRd61KRaVWu4eOie2wQeB0e6E,8490 +lxml/xpath.pxi,sha256=aqW24V817dUxps4Gnc8h7Tm3QVlITKvxU5_9WgJUIFg,19132 +lxml/xslt.pxi,sha256=lLVwvlhMKL970rVqThP6Jnn79L3MK9UG0DGnXnNy7YI,36356 +lxml/xsltext.pxi,sha256=TImDiAPlAezC07P7RY1N9YChA7AuKFH-G53hXdel9yc,11088 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/WHEEL b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/WHEEL new file mode 100644 index 0000000..43257e7 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: setuptools (82.0.1) +Root-Is-Purelib: false +Tag: cp312-cp312-manylinux_2_26_x86_64 +Tag: cp312-cp312-manylinux_2_28_x86_64 + diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSE.txt b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSE.txt new file mode 100644 index 0000000..0bdf039 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSE.txt @@ -0,0 +1,31 @@ +BSD 3-Clause License + +Copyright (c) 2004 Infrae. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. Neither the name of Infrae nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INFRAE OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSES.txt b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSES.txt new file mode 100644 index 0000000..9f97c18 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/licenses/LICENSES.txt @@ -0,0 +1,29 @@ +lxml is copyright Infrae and distributed under the BSD license (see +doc/licenses/BSD.txt), with the following exceptions: + +Some code, such a selftest.py, selftest2.py and +src/lxml/_elementpath.py are derived from ElementTree and +cElementTree. See doc/licenses/elementtree.txt for the license text. + +lxml.cssselect and lxml.html are copyright Ian Bicking and distributed +under the BSD license (see doc/licenses/BSD.txt). + +test.py, the test-runner script, is GPL and copyright Shuttleworth +Foundation. See doc/licenses/GPL.txt. It is believed the unchanged +inclusion of test.py to run the unit test suite falls under the +"aggregation" clause of the GPL and thus does not affect the license +of the rest of the package. + +The isoschematron implementation uses several XSL and RelaxNG resources: + * The (XML syntax) RelaxNG schema for schematron, copyright International + Organization for Standardization (see + src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license + text) + * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation + xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing + Center, Taiwan (see the xsl files here for the license text: + src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/) + * The xsd/rng schema schematron extraction xsl transformations are unlicensed + and copyright the respective authors as noted (see + src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and + src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl) diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/top_level.txt b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/top_level.txt new file mode 100644 index 0000000..ab90481 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml-6.1.0.dist-info/top_level.txt @@ -0,0 +1 @@ +lxml diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/ElementInclude.py b/presentation/.venv/lib/python3.12/site-packages/lxml/ElementInclude.py new file mode 100644 index 0000000..2188433 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/ElementInclude.py @@ -0,0 +1,244 @@ +# +# ElementTree +# $Id: ElementInclude.py 1862 2004-06-18 07:31:02Z Fredrik $ +# +# limited xinclude support for element trees +# +# history: +# 2003-08-15 fl created +# 2003-11-14 fl fixed default loader +# +# Copyright (c) 2003-2004 by Fredrik Lundh. All rights reserved. +# +# fredrik@pythonware.com +# http://www.pythonware.com +# +# -------------------------------------------------------------------- +# The ElementTree toolkit is +# +# Copyright (c) 1999-2004 by Fredrik Lundh +# +# By obtaining, using, and/or copying this software and/or its +# associated documentation, you agree that you have read, understood, +# and will comply with the following terms and conditions: +# +# Permission to use, copy, modify, and distribute this software and +# its associated documentation for any purpose and without fee is +# hereby granted, provided that the above copyright notice appears in +# all copies, and that both that copyright notice and this permission +# notice appear in supporting documentation, and that the name of +# Secret Labs AB or the author not be used in advertising or publicity +# pertaining to distribution of the software without specific, written +# prior permission. +# +# SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD +# TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- +# ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR +# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. +# -------------------------------------------------------------------- + +""" +Limited XInclude support for the ElementTree package. + +While lxml.etree has full support for XInclude (see +`etree.ElementTree.xinclude()`), this module provides a simpler, pure +Python, ElementTree compatible implementation that supports a simple +form of custom URL resolvers. +""" + +from lxml import etree +try: + from urlparse import urljoin + from urllib2 import urlopen +except ImportError: + # Python 3 + from urllib.parse import urljoin + from urllib.request import urlopen + +XINCLUDE = "{http://www.w3.org/2001/XInclude}" + +XINCLUDE_INCLUDE = XINCLUDE + "include" +XINCLUDE_FALLBACK = XINCLUDE + "fallback" +XINCLUDE_ITER_TAG = XINCLUDE + "*" + +# For security reasons, the inclusion depth is limited to this read-only value by default. +DEFAULT_MAX_INCLUSION_DEPTH = 6 + + +## +# Fatal include error. + +class FatalIncludeError(etree.LxmlSyntaxError): + pass + + +class LimitedRecursiveIncludeError(FatalIncludeError): + pass + + +## +# ET compatible default loader. +# This loader reads an included resource from disk. +# +# @param href Resource reference. +# @param parse Parse mode. Either "xml" or "text". +# @param encoding Optional text encoding. +# @return The expanded resource. If the parse mode is "xml", this +# is an ElementTree instance. If the parse mode is "text", this +# is a Unicode string. If the loader fails, it can return None +# or raise an IOError exception. +# @throws IOError If the loader fails to load the resource. + +def default_loader(href, parse, encoding=None): + file = open(href, 'rb') + if parse == "xml": + data = etree.parse(file).getroot() + else: + data = file.read() + if not encoding: + encoding = 'utf-8' + data = data.decode(encoding) + file.close() + return data + + +## +# Default loader used by lxml.etree - handles custom resolvers properly +# + +def _lxml_default_loader(href, parse, encoding=None, parser=None): + if parse == "xml": + data = etree.parse(href, parser).getroot() + else: + if "://" in href: + f = urlopen(href) + else: + f = open(href, 'rb') + data = f.read() + f.close() + if not encoding: + encoding = 'utf-8' + data = data.decode(encoding) + return data + + +## +# Wrapper for ET compatibility - drops the parser + +def _wrap_et_loader(loader): + def load(href, parse, encoding=None, parser=None): + return loader(href, parse, encoding) + return load + + +## +# Expand XInclude directives. +# +# @param elem Root element. +# @param loader Optional resource loader. If omitted, it defaults +# to {@link default_loader}. If given, it should be a callable +# that implements the same interface as <b>default_loader</b>. +# @param base_url The base URL of the original file, to resolve +# relative include file references. +# @param max_depth The maximum number of recursive inclusions. +# Limited to reduce the risk of malicious content explosion. +# Pass None to disable the limitation. +# @throws LimitedRecursiveIncludeError If the {@link max_depth} was exceeded. +# @throws FatalIncludeError If the function fails to include a given +# resource, or if the tree contains malformed XInclude elements. +# @throws IOError If the function fails to load a given resource. +# @returns the node or its replacement if it was an XInclude node + +def include(elem, loader=None, base_url=None, + max_depth=DEFAULT_MAX_INCLUSION_DEPTH): + if max_depth is None: + max_depth = -1 + elif max_depth < 0: + raise ValueError("expected non-negative depth or None for 'max_depth', got %r" % max_depth) + + if base_url is None: + if hasattr(elem, 'getroot'): + tree = elem + elem = elem.getroot() + else: + tree = elem.getroottree() + if hasattr(tree, 'docinfo'): + base_url = tree.docinfo.URL + elif hasattr(elem, 'getroot'): + elem = elem.getroot() + _include(elem, loader, base_url, max_depth) + + +def _include(elem, loader=None, base_url=None, + max_depth=DEFAULT_MAX_INCLUSION_DEPTH, _parent_hrefs=None): + if loader is not None: + load_include = _wrap_et_loader(loader) + else: + load_include = _lxml_default_loader + + if _parent_hrefs is None: + _parent_hrefs = set() + + parser = elem.getroottree().parser + + include_elements = list( + elem.iter(XINCLUDE_ITER_TAG)) + + for e in include_elements: + if e.tag == XINCLUDE_INCLUDE: + # process xinclude directive + href = urljoin(base_url, e.get("href")) + parse = e.get("parse", "xml") + parent = e.getparent() + if parse == "xml": + if href in _parent_hrefs: + raise FatalIncludeError( + "recursive include of %r detected" % href + ) + if max_depth == 0: + raise LimitedRecursiveIncludeError( + "maximum xinclude depth reached when including file %s" % href) + node = load_include(href, parse, parser=parser) + if node is None: + raise FatalIncludeError( + "cannot load %r as %r" % (href, parse) + ) + node = _include(node, loader, href, max_depth - 1, {href} | _parent_hrefs) + if e.tail: + node.tail = (node.tail or "") + e.tail + if parent is None: + return node # replaced the root node! + parent.replace(e, node) + elif parse == "text": + text = load_include(href, parse, encoding=e.get("encoding")) + if text is None: + raise FatalIncludeError( + "cannot load %r as %r" % (href, parse) + ) + predecessor = e.getprevious() + if predecessor is not None: + predecessor.tail = (predecessor.tail or "") + text + elif parent is None: + return text # replaced the root node! + else: + parent.text = (parent.text or "") + text + (e.tail or "") + parent.remove(e) + else: + raise FatalIncludeError( + "unknown parse type in xi:include tag (%r)" % parse + ) + elif e.tag == XINCLUDE_FALLBACK: + parent = e.getparent() + if parent is not None and parent.tag != XINCLUDE_INCLUDE: + raise FatalIncludeError( + "xi:fallback tag must be child of xi:include (%r)" % e.tag + ) + else: + raise FatalIncludeError( + "Invalid element found in XInclude namespace (%r)" % e.tag + ) + return elem diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__init__.py b/presentation/.venv/lib/python3.12/site-packages/lxml/__init__.py new file mode 100644 index 0000000..873696e --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/__init__.py @@ -0,0 +1,22 @@ +# this is a package + +__version__ = "6.1.0" + + +def get_include(): + """ + Returns a list of header include paths (for lxml itself, libxml2 + and libxslt) needed to compile C code against lxml if it was built + with statically linked libraries. + """ + import os + lxml_path = __path__[0] + include_path = os.path.join(lxml_path, 'includes') + includes = [include_path, lxml_path] + + for name in os.listdir(include_path): + path = os.path.join(include_path, name) + if os.path.isdir(path): + includes.append(path) + + return includes diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/ElementInclude.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/ElementInclude.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..18b79df4d27e7b4bb8444b624b5a611813406b43 GIT binary patch literal 6092 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 b?Ev0T$QQj=JRMEw<EE;P!|ca*GtmDJ%tLBI literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/__init__.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6883e7999d85640f5b21f1f49a5f1417b2e360e0 GIT binary patch literal 1027 zcmb7D&ubGw6rTN+wE5AbHi`u)qj+e*W^IKAH0{M6EY?=^R*+?zog|xXcEijjF=Yce zcrZ{1JtaqvmHq+#5nhB+2#W{7leb`QJ^5yvH75@a%)IyZz3=<p+nxQIOvVtb<zuC~ zEh6-j2jLQ?&SU|c0W#1bGK3H4P-u%;=|tJgt>+#W!(wg~*b?l?3P1rM7@~zb$OYn? zWeCgQbOaAo<?z|eR--dN^gO|kE~fa7=!u?C7CRE)=fjGb^~8&5%RA`ZOVE-3Lr3)F zzdFi4aPgT|=y^)0$%NBqo>WbSnVFr{2<Y^cj6CTr%E~8SVi?vN;x?$wu#PR0x!5V; z3egQhv1u2rhCy&$cPk99mK=($_caTfE+bay5tJW6xDk-(wh_e4a<kYb#2^NC9b9y3 zb<-mFIe5UNmvz$yjT@R0FyWTY@KM9G+<>NKx)sb^-8GB4Wwn9QJ_aUGqB=DR%LP@x z_+<P3+_XWKjryX){5ehIt!kPtbL-1h$F%(@pUN<)ub7ORh+eM~+sH;JzbyVd?<K(b zi78(YQGPvq+16`>@>{_oaPZfK@%52facV?09J^d;6USB!(o|nlr%H<M+OA!qx>~1% z5t|PJ>0Fc8O%;Yv>utB<*iUln8!9thvR2oN$9kDCm3N_PnrWM^rse8wKVBv-guxe} zY0&2StOG|EO%h01_@2HyTs(_+cSlRN2l=!7pm0|BG=Ki|a%r=>H%i|dn%`2Z-4{R7 zw+6AZ*syS!Uj2<E<-tdJlv?b!dab_K^M-rp4=+<HJc}p$`Ch)i)!Q0ouHq}BM5cex zI~eX<CGL--02{|pBGWyXKm%w$EBbLwYZA&}JWUJw`;6!!<Y)?x>$yVBF&Y-xrWpwN YKf!o%ED3@zj-b??ZhR6+3z-1&2O(|t0{{R3 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/_elementpath.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/_elementpath.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a52c29ea9935dc782557509c89b0e3f46c0a4759 GIT binary patch literal 10510 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 TS$A^Kbt3fmgAxu^5vKevI)Nf> literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/builder.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/builder.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c6602f8f408b2ffc14bd1390e8e1599c79339009 GIT binary patch literal 8103 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/cssselect.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/cssselect.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6530e7060f2a5b7d03c9da09c9135a06becc12f9 GIT binary patch literal 4583 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 E56xR_SO5S3 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/doctestcompare.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/doctestcompare.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8f6493d5b6dcefcd5a9272101548e3dbf789b7c2 GIT binary patch literal 24311 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 AzW@LL literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/pyclasslookup.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/pyclasslookup.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6825ae9da525b444c875bb472a8ac131ca3c6006 GIT binary patch literal 264 zcmXv}y-EW?5Z<|i5CQ>9U*U?}_|uAwSO_BN1hH9f$GbE8$L{9vp2TPHS$u=ER)R$! zV3Eq%pdSn~AK%P;GavK$OfbIhxBVmM&rJSN{1v++F5ZL^3bZir03gPqD!;N^!RB~5 zrq0=GO@?f`(lW+d=T>WfR~4I?el@zL6o^8}{qJIz$M!9D&JZeR+ioOhQPF_Q;9jUn ziyQkKB>F&+7s}MLTn}Ui)cq6sgWGw1dWNx2wD7W7$(AB!Csvz$fIb{h`*A<LFix#C WU4|+90!PdrZ%Y99nFu%u6Q;l5c}x-j literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/sax.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/sax.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67503e150ceb1cd76df3ab9877d73575766f873a GIT binary patch literal 12941 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∾`+_M7Ea_E+gXVJ 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/usedoctest.cpython-312.pyc b/presentation/.venv/lib/python3.12/site-packages/lxml/__pycache__/usedoctest.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3ee13282e4c011f96c7aa6c09ff5879a42c23e23 GIT binary patch literal 497 zcmY*Wze@u#6i%+EmP0$abui%6p%;H_MLM|%DuRg8B|R@sd-X0klC<`m`~%!wT}A&B zCl`gA1VIoS6mfAf=e3A$$ouiVeDBN4-Q1jqtiA2OM=#bt7s<pb<KVMpgG<Cw2XV}u z7$;80!N@`2^rt7ye;(Z1$_*}aj54<|b#}2XLj&57MDjrl<VY%Vu(e4-nWTY=v=qMQ z?djkcS}o5bgtXgj5+$irhQy;J_6HhxNijheiIAs+OOnY!Nj7fK#P==RE&%EN-W}J= zS<v-f3uz6U*Zu>x;&F&sDRH|omCrC{TNumTf=3nW$Y%{CDT{<QK^*5*#zc?+W7p`j zVEyK_CljDtisN1eQcw;<x}#(tLetz3M=GGH0u90hCbF<U1Tmy>bV$?8^rTqzmshBc z3^daqJhA)Gw3to*-tVW`cXh24*;cc5Xt8R&V2}3-#`wdjV)ttvVe*9P=e0*vzen|} L(F0mi#ZUhL!|0I; literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/_elementpath.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/lxml/_elementpath.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..3e602bbb4ba5169e22b403ebf83a672cbaab1d11 GIT binary patch literal 209096 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≪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 Q|!|+a`UE5kryr$N<<6Em^N+dG%2x@2m=Sw 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 Tk$2%o7(JN#iiCKe&MEyr`JNC3 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/_elementpath.py b/presentation/.venv/lib/python3.12/site-packages/lxml/_elementpath.py new file mode 100644 index 0000000..760a1e0 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/_elementpath.py @@ -0,0 +1,343 @@ +# cython: language_level=3 + +# +# ElementTree +# $Id: ElementPath.py 3375 2008-02-13 08:05:08Z fredrik $ +# +# limited xpath support for element trees +# +# history: +# 2003-05-23 fl created +# 2003-05-28 fl added support for // etc +# 2003-08-27 fl fixed parsing of periods in element names +# 2007-09-10 fl new selection engine +# 2007-09-12 fl fixed parent selector +# 2007-09-13 fl added iterfind; changed findall to return a list +# 2007-11-30 fl added namespaces support +# 2009-10-30 fl added child element value filter +# +# Copyright (c) 2003-2009 by Fredrik Lundh. All rights reserved. +# +# fredrik@pythonware.com +# http://www.pythonware.com +# +# -------------------------------------------------------------------- +# The ElementTree toolkit is +# +# Copyright (c) 1999-2009 by Fredrik Lundh +# +# By obtaining, using, and/or copying this software and/or its +# associated documentation, you agree that you have read, understood, +# and will comply with the following terms and conditions: +# +# Permission to use, copy, modify, and distribute this software and +# its associated documentation for any purpose and without fee is +# hereby granted, provided that the above copyright notice appears in +# all copies, and that both that copyright notice and this permission +# notice appear in supporting documentation, and that the name of +# Secret Labs AB or the author not be used in advertising or publicity +# pertaining to distribution of the software without specific, written +# prior permission. +# +# SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD +# TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- +# ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR +# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. +# -------------------------------------------------------------------- + +## +# Implementation module for XPath support. There's usually no reason +# to import this module directly; the <b>ElementTree</b> does this for +# you, if needed. +## + + +import re + +xpath_tokenizer_re = re.compile( + "(" + "'[^']*'|\"[^\"]*\"|" + "::|" + "//?|" + r"\.\.|" + r"\(\)|" + r"[/.*:\[\]\(\)@=])|" + r"((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|" + r"\s+" + ) + +def xpath_tokenizer(pattern, namespaces=None, with_prefixes=True): + # ElementTree uses '', lxml used None originally. + default_namespace = (namespaces.get(None) or namespaces.get('')) if namespaces else None + parsing_attribute = False + for token in xpath_tokenizer_re.findall(pattern): + ttype, tag = token + if tag and tag[0] != "{": + if ":" in tag and with_prefixes: + prefix, uri = tag.split(":", 1) + try: + if not namespaces: + raise KeyError + yield ttype, "{%s}%s" % (namespaces[prefix], uri) + except KeyError: + raise SyntaxError("prefix %r not found in prefix map" % prefix) + elif tag.isdecimal(): + yield token # index + elif default_namespace and not parsing_attribute: + yield ttype, "{%s}%s" % (default_namespace, tag) + else: + yield token + parsing_attribute = False + else: + yield token + parsing_attribute = ttype == '@' + + +def prepare_child(next, token): + tag = token[1] + def select(result): + for elem in result: + yield from elem.iterchildren(tag) + return select + +def prepare_star(next, token): + def select(result): + for elem in result: + yield from elem.iterchildren('*') + return select + +def prepare_self(next, token): + def select(result): + return result + return select + +def prepare_descendant(next, token): + token = next() + if token[0] == "*": + tag = "*" + elif not token[0]: + tag = token[1] + else: + raise SyntaxError("invalid descendant") + def select(result): + for elem in result: + yield from elem.iterdescendants(tag) + return select + +def prepare_parent(next, token): + def select(result): + for elem in result: + parent = elem.getparent() + if parent is not None: + yield parent + return select + +def prepare_predicate(next, token): + # FIXME: replace with real parser!!! refs: + # http://effbot.org/zone/simple-iterator-parser.htm + # http://javascript.crockford.com/tdop/tdop.html + signature = '' + predicate = [] + while 1: + token = next() + if token[0] == "]": + break + if token == ('', ''): + # ignore whitespace + continue + if token[0] and token[0][:1] in "'\"": + token = "'", token[0][1:-1] + signature += token[0] or "-" + predicate.append(token[1]) + + # use signature to determine predicate type + if signature == "@-": + # [@attribute] predicate + key = predicate[1] + def select(result): + for elem in result: + if elem.get(key) is not None: + yield elem + return select + if signature == "@-='": + # [@attribute='value'] + key = predicate[1] + value = predicate[-1] + def select(result): + for elem in result: + if elem.get(key) == value: + yield elem + return select + if signature == "-" and not re.match(r"-?\d+$", predicate[0]): + # [tag] + tag = predicate[0] + def select(result): + for elem in result: + for _ in elem.iterchildren(tag): + yield elem + break + return select + if signature == ".='" or (signature == "-='" and not re.match(r"-?\d+$", predicate[0])): + # [.='value'] or [tag='value'] + tag = predicate[0] + value = predicate[-1] + if tag: + def select(result): + for elem in result: + for e in elem.iterchildren(tag): + if "".join(e.itertext()) == value: + yield elem + break + else: + def select(result): + for elem in result: + if "".join(elem.itertext()) == value: + yield elem + return select + if signature == "-" or signature == "-()" or signature == "-()-": + # [index] or [last()] or [last()-index] + if signature == "-": + # [index] + index = int(predicate[0]) - 1 + if index < 0: + if index == -1: + raise SyntaxError( + "indices in path predicates are 1-based, not 0-based") + else: + raise SyntaxError("path index >= 1 expected") + else: + if predicate[0] != "last": + raise SyntaxError("unsupported function") + if signature == "-()-": + try: + index = int(predicate[2]) - 1 + except ValueError: + raise SyntaxError("unsupported expression") + else: + index = -1 + def select(result): + for elem in result: + parent = elem.getparent() + if parent is None: + continue + try: + # FIXME: what if the selector is "*" ? + elems = list(parent.iterchildren(elem.tag)) + if elems[index] is elem: + yield elem + except IndexError: + pass + return select + raise SyntaxError("invalid predicate") + +ops = { + "": prepare_child, + "*": prepare_star, + ".": prepare_self, + "..": prepare_parent, + "//": prepare_descendant, + "[": prepare_predicate, +} + + +# -------------------------------------------------------------------- + +_cache = {} + + +def _build_path_iterator(path, namespaces, with_prefixes=True): + """compile selector pattern""" + if path[-1:] == "/": + path += "*" # implicit all (FIXME: keep this?) + + cache_key = (path,) + if namespaces: + # lxml originally used None for the default namespace but ElementTree uses the + # more convenient (all-strings-dict) empty string, so we support both here, + # preferring the more convenient '', as long as they aren't ambiguous. + if None in namespaces: + if '' in namespaces and namespaces[None] != namespaces['']: + raise ValueError("Ambiguous default namespace provided: %r versus %r" % ( + namespaces[None], namespaces[''])) + cache_key += (namespaces[None],) + tuple(sorted( + item for item in namespaces.items() if item[0] is not None)) + else: + cache_key += tuple(sorted(namespaces.items())) + + try: + return _cache[cache_key] + except KeyError: + pass + if len(_cache) > 100: + _cache.clear() + + if path[:1] == "/": + raise SyntaxError("cannot use absolute path on element") + stream = iter(xpath_tokenizer(path, namespaces, with_prefixes=with_prefixes)) + try: + _next = stream.next + except AttributeError: + # Python 3 + _next = stream.__next__ + try: + token = _next() + except StopIteration: + raise SyntaxError("empty path expression") + selector = [] + while 1: + try: + selector.append(ops[token[0]](_next, token)) + except StopIteration: + raise SyntaxError("invalid path") + try: + token = _next() + if token[0] == "/": + token = _next() + except StopIteration: + break + _cache[cache_key] = selector + return selector + + +## +# Iterate over the matching nodes + +def iterfind(elem, path, namespaces=None, with_prefixes=True): + selector = _build_path_iterator(path, namespaces, with_prefixes=with_prefixes) + result = iter((elem,)) + for select in selector: + result = select(result) + return result + + +## +# Find first matching object. + +def find(elem, path, namespaces=None, with_prefixes=True): + it = iterfind(elem, path, namespaces, with_prefixes=with_prefixes) + try: + return next(it) + except StopIteration: + return None + + +## +# Find all matching objects. + +def findall(elem, path, namespaces=None, with_prefixes=True): + return list(iterfind(elem, path, namespaces)) + + +## +# Find text for first matching object. + +def findtext(elem, path, default=None, namespaces=None, with_prefixes=True): + el = find(elem, path, namespaces, with_prefixes=with_prefixes) + if el is None: + return default + else: + return el.text or '' diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/apihelpers.pxi b/presentation/.venv/lib/python3.12/site-packages/lxml/apihelpers.pxi new file mode 100644 index 0000000..87a27d9 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/apihelpers.pxi @@ -0,0 +1,1819 @@ +# Private/public helper functions for API functions + +from lxml.includes cimport uri + + +cdef void displayNode(xmlNode* c_node, indent) noexcept: + # to help with debugging + cdef xmlNode* c_child + try: + print(indent * ' ', <long>c_node) + c_child = c_node.children + while c_child is not NULL: + displayNode(c_child, indent + 1) + c_child = c_child.next + finally: + return # swallow any exceptions + +cdef inline bint _isHtmlDocument(_Element element) except -1: + cdef xmlNode* c_node = element._c_node + return ( + c_node is not NULL and c_node.doc is not NULL and + c_node.doc.properties & tree.XML_DOC_HTML != 0 + ) + +cdef inline int _assertValidNode(_Element element) except -1: + assert element._c_node is not NULL, "invalid Element proxy at %s" % id(element) + +cdef inline int _assertValidDoc(_Document doc) except -1: + assert doc._c_doc is not NULL, "invalid Document proxy at %s" % id(doc) + +cdef _Document _documentOrRaise(object input): + """Call this to get the document of a _Document, _ElementTree or _Element + object, or to raise an exception if it can't be determined. + + Should be used in all API functions for consistency. + """ + cdef _Document doc + if isinstance(input, _ElementTree): + if (<_ElementTree>input)._context_node is not None: + doc = (<_ElementTree>input)._context_node._doc + else: + doc = None + elif isinstance(input, _Element): + doc = (<_Element>input)._doc + elif isinstance(input, _Document): + doc = <_Document>input + else: + raise TypeError, f"Invalid input object: {python._fqtypename(input).decode('utf8')}" + if doc is None: + raise ValueError, f"Input object has no document: {python._fqtypename(input).decode('utf8')}" + _assertValidDoc(doc) + return doc + +cdef _Element _rootNodeOrRaise(object input): + """Call this to get the root node of a _Document, _ElementTree or + _Element object, or to raise an exception if it can't be determined. + + Should be used in all API functions for consistency. + """ + cdef _Element node + if isinstance(input, _ElementTree): + node = (<_ElementTree>input)._context_node + elif isinstance(input, _Element): + node = <_Element>input + elif isinstance(input, _Document): + node = (<_Document>input).getroot() + else: + raise TypeError, f"Invalid input object: {python._fqtypename(input).decode('utf8')}" + if (node is None or not node._c_node or + node._c_node.type != tree.XML_ELEMENT_NODE): + raise ValueError, f"Input object is not an XML element: {python._fqtypename(input).decode('utf8')}" + _assertValidNode(node) + return node + +cdef bint _isAncestorOrSame(xmlNode* c_ancestor, xmlNode* c_node) noexcept: + while c_node: + if c_node is c_ancestor: + return True + c_node = c_node.parent + return False + +cdef _Element _makeElement(tag, xmlDoc* c_doc, _Document doc, + _BaseParser parser, text, tail, attrib, nsmap, + dict extra_attrs): + """Create a new element and initialize text content, namespaces and + attributes. + + This helper function will reuse as much of the existing document as + possible: + + If 'parser' is None, the parser will be inherited from 'doc' or the + default parser will be used. + + If 'doc' is None, 'c_doc' is used to create a new _Document and the new + element is made its root node. + + If 'c_doc' is also NULL, a new xmlDoc will be created. + """ + cdef xmlNode* c_node + if doc is not None: + c_doc = doc._c_doc + ns_utf, name_utf = _getNsTag(tag) + if parser is not None and parser._for_html: + _htmlTagValidOrRaise(name_utf) + if c_doc is NULL: + c_doc = _newHTMLDoc() + else: + _tagValidOrRaise(name_utf) + if c_doc is NULL: + c_doc = _newXMLDoc() + c_node = _createElement(c_doc, name_utf) + if c_node is NULL: + if doc is None and c_doc is not NULL: + tree.xmlFreeDoc(c_doc) + raise MemoryError() + try: + if doc is None: + tree.xmlDocSetRootElement(c_doc, c_node) + doc = _documentFactory(c_doc, parser) + if text is not None: + _setNodeText(c_node, text) + if tail is not None: + _setTailText(c_node, tail) + # add namespaces to node if necessary + _setNodeNamespaces(c_node, doc, ns_utf, nsmap) + _initNodeAttributes(c_node, doc, attrib, extra_attrs) + return _elementFactory(doc, c_node) + except: + # free allocated c_node/c_doc unless Python does it for us + if c_node.doc is not c_doc: + # node not yet in document => will not be freed by document + if tail is not None: + _removeText(c_node.next) # tail + tree.xmlFreeNode(c_node) + if doc is None: + # c_doc will not be freed by doc + tree.xmlFreeDoc(c_doc) + raise + +cdef int _initNewElement(_Element element, bint is_html, name_utf, ns_utf, + _BaseParser parser, attrib, nsmap, dict extra_attrs) except -1: + """Initialise a new Element object. + + This is used when users instantiate a Python Element subclass + directly, without it being mapped to an existing XML node. + """ + cdef xmlDoc* c_doc + cdef xmlNode* c_node + cdef _Document doc + if is_html: + _htmlTagValidOrRaise(name_utf) + c_doc = _newHTMLDoc() + else: + _tagValidOrRaise(name_utf) + c_doc = _newXMLDoc() + c_node = _createElement(c_doc, name_utf) + if c_node is NULL: + if c_doc is not NULL: + tree.xmlFreeDoc(c_doc) + raise MemoryError() + tree.xmlDocSetRootElement(c_doc, c_node) + doc = _documentFactory(c_doc, parser) + # add namespaces to node if necessary + _setNodeNamespaces(c_node, doc, ns_utf, nsmap) + _initNodeAttributes(c_node, doc, attrib, extra_attrs) + _registerProxy(element, doc, c_node) + element._init() + return 0 + +cdef _Element _makeSubElement(_Element parent, tag, text, tail, + attrib, nsmap, dict extra_attrs): + """Create a new child element and initialize text content, namespaces and + attributes. + """ + cdef xmlNode* c_node + cdef xmlDoc* c_doc + if parent is None or parent._doc is None: + return None + _assertValidNode(parent) + ns_utf, name_utf = _getNsTag(tag) + c_doc = parent._doc._c_doc + + if parent._doc._parser is not None and parent._doc._parser._for_html: + _htmlTagValidOrRaise(name_utf) + else: + _tagValidOrRaise(name_utf) + + c_node = _createElement(c_doc, name_utf) + if c_node is NULL: + raise MemoryError() + tree.xmlAddChild(parent._c_node, c_node) + + try: + if text is not None: + _setNodeText(c_node, text) + if tail is not None: + _setTailText(c_node, tail) + + # add namespaces to node if necessary + _setNodeNamespaces(c_node, parent._doc, ns_utf, nsmap) + _initNodeAttributes(c_node, parent._doc, attrib, extra_attrs) + return _elementFactory(parent._doc, c_node) + except: + # make sure we clean up in case of an error + _removeNode(parent._doc, c_node) + raise + + +cdef int _setNodeNamespaces(xmlNode* c_node, _Document doc, + object node_ns_utf, object nsmap) except -1: + """Lookup current namespace prefixes, then set namespace structure for + node (if 'node_ns_utf' was provided) and register new ns-prefix mappings. + + 'node_ns_utf' should only be passed for a newly created node. + """ + cdef xmlNs* c_ns + cdef list nsdefs + + if nsmap: + for prefix, href in _iter_nsmap(nsmap): + href_utf = _utf8(href) + _uriValidOrRaise(href_utf) + c_href = _xcstr(href_utf) + if prefix is not None: + prefix_utf = _utf8(prefix) + _prefixValidOrRaise(prefix_utf) + c_prefix = _xcstr(prefix_utf) + else: + c_prefix = <const_xmlChar*>NULL + # add namespace with prefix if it is not already known + c_ns = tree.xmlSearchNs(doc._c_doc, c_node, c_prefix) + if c_ns is NULL or \ + c_ns.href is NULL or \ + tree.xmlStrcmp(c_ns.href, c_href) != 0: + c_ns = tree.xmlNewNs(c_node, c_href, c_prefix) + if c_ns is NULL: + # libxml2 has two error conditions: "out of memory" and "prefix exists already". + # We ignore the latter for compatibility reasons. It currently only appears + # during namespace cleanup. + c_ns = c_node.nsDef + while c_ns is not NULL: + if c_prefix is NULL: + if c_ns.prefix is NULL: + break + elif tree.xmlStrcmp(c_ns.prefix, c_prefix) == 0: + break + c_ns = c_ns.next + else: + raise MemoryError() + if href_utf == node_ns_utf: + tree.xmlSetNs(c_node, c_ns) + node_ns_utf = None + + if node_ns_utf is not None: + _uriValidOrRaise(node_ns_utf) + doc._setNodeNs(c_node, _xcstr(node_ns_utf)) + return 0 + + +cdef dict _build_nsmap(xmlNode* c_node): + """ + Namespace prefix->URI mapping known in the context of this Element. + This includes all namespace declarations of the parents. + """ + cdef xmlNs* c_ns + nsmap = {} + while c_node is not NULL and c_node.type == tree.XML_ELEMENT_NODE: + c_ns = c_node.nsDef + while c_ns is not NULL: + if c_ns.prefix or c_ns.href: + prefix = funicodeOrNone(c_ns.prefix) + if prefix not in nsmap: + nsmap[prefix] = funicodeOrNone(c_ns.href) + c_ns = c_ns.next + c_node = c_node.parent + return nsmap + + +cdef _iter_nsmap(nsmap): + """ + Create a reproducibly ordered iterable from an nsmap mapping. + Tries to preserve an existing order and sorts if it assumes no order. + + The difference to _iter_attrib() is that None doesn't sort with strings + in Py3.x. + """ + if isinstance(nsmap, dict): + # dicts are insertion-ordered in Py3.6+ => keep the user provided order. + return nsmap.items() + if len(nsmap) <= 1: + return nsmap.items() + if isinstance(nsmap, OrderedDict): + return nsmap.items() # keep existing order + if None not in nsmap: + return sorted(nsmap.items()) + + # Move the default namespace to the end. This makes sure libxml2 + # prefers a prefix if the ns is defined redundantly on the same + # element. That way, users can work around a problem themselves + # where default namespace attributes on non-default namespaced + # elements serialise without prefix (i.e. into the non-default + # namespace). + default_ns = nsmap[None] + nsdefs = [(k, v) for k, v in nsmap.items() if k is not None] + nsdefs.sort() + nsdefs.append((None, default_ns)) + return nsdefs + + +cdef _iter_attrib(attrib): + """ + Create a reproducibly ordered iterable from an attrib mapping. + Tries to preserve an existing order and sorts if it assumes no order. + """ + # dicts are insertion-ordered in Py3.6+ => keep the user provided order. + if isinstance(attrib, (dict, _Attrib, OrderedDict)): + return attrib.items() + # assume it's an unordered mapping of some kind + return sorted(attrib.items()) + + +cdef _initNodeAttributes(xmlNode* c_node, _Document doc, attrib, dict extra): + """Initialise the attributes of an element node. + """ + cdef bint is_html + cdef xmlNs* c_ns + if attrib is not None and not hasattr(attrib, 'items'): + raise TypeError, f"Invalid attribute dictionary: {python._fqtypename(attrib).decode('utf8')}" + if not attrib and not extra: + return # nothing to do + is_html = doc._parser._for_html + seen = set() + if extra: + for name, value in extra.items(): + _addAttributeToNode(c_node, doc, is_html, name, value, seen) + if attrib: + for name, value in _iter_attrib(attrib): + _addAttributeToNode(c_node, doc, is_html, name, value, seen) + + +cdef int _addAttributeToNode(xmlNode* c_node, _Document doc, bint is_html, + name, value, set seen_tags) except -1: + ns_utf, name_utf = tag = _getNsTag(name) + if tag in seen_tags: + return 0 + seen_tags.add(tag) + if not is_html: + _attributeValidOrRaise(name_utf) + value_utf = _utf8(value) + if ns_utf is None: + new_attr = tree.xmlNewProp(c_node, _xcstr(name_utf), _xcstr(value_utf)) + else: + _uriValidOrRaise(ns_utf) + c_ns = doc._findOrBuildNodeNs(c_node, _xcstr(ns_utf), NULL, 1) + new_attr = tree.xmlNewNsProp(c_node, c_ns, _xcstr(name_utf), _xcstr(value_utf)) + if new_attr is NULL: + raise MemoryError() + return 0 + + +ctypedef struct _ns_node_ref: + xmlNs* ns + xmlNode* node + + +cdef int _collectNsDefs(xmlNode* c_element, _ns_node_ref **_c_ns_list, + size_t *_c_ns_list_len, size_t *_c_ns_list_size) except -1: + c_ns_list = _c_ns_list[0] + cdef size_t c_ns_list_len = _c_ns_list_len[0] + cdef size_t c_ns_list_size = _c_ns_list_size[0] + + c_nsdef = c_element.nsDef + while c_nsdef is not NULL: + if c_ns_list_len >= c_ns_list_size: + if c_ns_list is NULL: + c_ns_list_size = 20 + else: + c_ns_list_size *= 2 + c_nsref_ptr = <_ns_node_ref*> python.lxml_realloc( + c_ns_list, c_ns_list_size, sizeof(_ns_node_ref)) + if c_nsref_ptr is NULL: + if c_ns_list is not NULL: + python.lxml_free(c_ns_list) + _c_ns_list[0] = NULL + raise MemoryError() + c_ns_list = c_nsref_ptr + + c_ns_list[c_ns_list_len] = _ns_node_ref(c_nsdef, c_element) + c_ns_list_len += 1 + c_nsdef = c_nsdef.next + + _c_ns_list_size[0] = c_ns_list_size + _c_ns_list_len[0] = c_ns_list_len + _c_ns_list[0] = c_ns_list + + +cdef int _removeUnusedNamespaceDeclarations(xmlNode* c_element, set prefixes_to_keep) except -1: + """Remove any namespace declarations from a subtree that are not used by + any of its elements (or attributes). + + If a 'prefixes_to_keep' is provided, it must be a set of prefixes. + Any corresponding namespace mappings will not be removed as part of the cleanup. + """ + cdef xmlNode* c_node + cdef _ns_node_ref* c_ns_list = NULL + cdef size_t c_ns_list_size = 0 + cdef size_t c_ns_list_len = 0 + cdef size_t i + + if c_element.parent and c_element.parent.type == tree.XML_DOCUMENT_NODE: + # include declarations on the document node + _collectNsDefs(c_element.parent, &c_ns_list, &c_ns_list_len, &c_ns_list_size) + + tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_element, c_element, 1) + # collect all new namespace declarations into the ns list + if c_element.nsDef: + _collectNsDefs(c_element, &c_ns_list, &c_ns_list_len, &c_ns_list_size) + + # remove all namespace declarations from the list that are referenced + if c_ns_list_len and c_element.type == tree.XML_ELEMENT_NODE: + c_node = c_element + while c_node and c_ns_list_len: + if c_node.ns: + for i in range(c_ns_list_len): + if c_node.ns is c_ns_list[i].ns: + c_ns_list_len -= 1 + c_ns_list[i] = c_ns_list[c_ns_list_len] + #c_ns_list[c_ns_list_len] = _ns_node_ref(NULL, NULL) + break + if c_node is c_element: + # continue with attributes + c_node = <xmlNode*>c_element.properties + else: + c_node = c_node.next + tree.END_FOR_EACH_ELEMENT_FROM(c_element) + + if c_ns_list is NULL: + return 0 + + # free all namespace declarations that remained in the list, + # except for those we should keep explicitly + cdef xmlNs* c_nsdef + for i in range(c_ns_list_len): + if prefixes_to_keep is not None: + if c_ns_list[i].ns.prefix and c_ns_list[i].ns.prefix in prefixes_to_keep: + continue + c_node = c_ns_list[i].node + c_nsdef = c_node.nsDef + if c_nsdef is c_ns_list[i].ns: + c_node.nsDef = c_node.nsDef.next + else: + while c_nsdef.next is not c_ns_list[i].ns: + c_nsdef = c_nsdef.next + c_nsdef.next = c_nsdef.next.next + tree.xmlFreeNs(c_ns_list[i].ns) + + if c_ns_list is not NULL: + python.lxml_free(c_ns_list) + return 0 + +cdef xmlNs* _searchNsByHref(xmlNode* c_node, const_xmlChar* c_href, bint is_attribute) noexcept: + """Search a namespace declaration that covers a node (element or + attribute). + + For attributes, try to find a prefixed namespace declaration + instead of the default namespaces. This helps in supporting + round-trips for attributes on elements with a different namespace. + """ + cdef xmlNs* c_ns + cdef xmlNs* c_default_ns = NULL + cdef xmlNode* c_element + if c_href is NULL or c_node is NULL or c_node.type == tree.XML_ENTITY_REF_NODE: + return NULL + if tree.xmlStrcmp(c_href, tree.XML_XML_NAMESPACE) == 0: + # no special cases here, let libxml2 handle this + return tree.xmlSearchNsByHref(c_node.doc, c_node, c_href) + if c_node.type == tree.XML_ATTRIBUTE_NODE: + is_attribute = 1 + while c_node is not NULL and c_node.type != tree.XML_ELEMENT_NODE: + c_node = c_node.parent + c_element = c_node + while c_node is not NULL: + if c_node.type == tree.XML_ELEMENT_NODE: + c_ns = c_node.nsDef + while c_ns is not NULL: + if c_ns.href is not NULL and tree.xmlStrcmp(c_href, c_ns.href) == 0: + if c_ns.prefix is NULL and is_attribute: + # for attributes, continue searching a named + # prefix, but keep the first default namespace + # declaration that we found + if c_default_ns is NULL: + c_default_ns = c_ns + elif tree.xmlSearchNs( + c_element.doc, c_element, c_ns.prefix) is c_ns: + # start node is in namespace scope => found! + return c_ns + c_ns = c_ns.next + if c_node is not c_element and c_node.ns is not NULL: + # optimise: the node may have the namespace itself + c_ns = c_node.ns + if c_ns.href is not NULL and tree.xmlStrcmp(c_href, c_ns.href) == 0: + if c_ns.prefix is NULL and is_attribute: + # for attributes, continue searching a named + # prefix, but keep the first default namespace + # declaration that we found + if c_default_ns is NULL: + c_default_ns = c_ns + elif tree.xmlSearchNs( + c_element.doc, c_element, c_ns.prefix) is c_ns: + # start node is in namespace scope => found! + return c_ns + c_node = c_node.parent + # nothing found => use a matching default namespace or fail + if c_default_ns is not NULL: + if tree.xmlSearchNs(c_element.doc, c_element, NULL) is c_default_ns: + return c_default_ns + return NULL + +cdef int _replaceNodeByChildren(_Document doc, xmlNode* c_node) except -1: + # NOTE: this does not deallocate the node, just unlink it! + cdef xmlNode* c_parent + cdef xmlNode* c_child + if c_node.children is NULL: + tree.xmlUnlinkNode(c_node) + return 0 + + c_parent = c_node.parent + # fix parent links of children + c_child = c_node.children + while c_child is not NULL: + c_child.parent = c_parent + c_child = c_child.next + + # fix namespace references of children if their parent's namespace + # declarations get lost + if c_node.nsDef is not NULL: + c_child = c_node.children + while c_child is not NULL: + moveNodeToDocument(doc, doc._c_doc, c_child) + c_child = c_child.next + + # fix sibling links to/from child slice + if c_node.prev is NULL: + c_parent.children = c_node.children + else: + c_node.prev.next = c_node.children + c_node.children.prev = c_node.prev + if c_node.next is NULL: + c_parent.last = c_node.last + else: + c_node.next.prev = c_node.last + c_node.last.next = c_node.next + + # unlink c_node + c_node.children = c_node.last = NULL + c_node.parent = c_node.next = c_node.prev = NULL + return 0 + +cdef unicode _attributeValue(xmlNode* c_element, xmlAttr* c_attrib_node): + c_href = _getNs(<xmlNode*>c_attrib_node) + value = tree.xmlGetNsProp(c_element, c_attrib_node.name, c_href) + try: + result = funicode(value) + finally: + tree.xmlFree(value) + return result + +cdef unicode _attributeValueFromNsName(xmlNode* c_element, + const_xmlChar* c_href, const_xmlChar* c_name): + c_result = tree.xmlGetNsProp(c_element, c_name, c_href) + if c_result is NULL: + return None + try: + result = funicode(c_result) + finally: + tree.xmlFree(c_result) + return result + +cdef object _getNodeAttributeValue(xmlNode* c_node, key, default): + ns, tag = _getNsTag(key) + c_href = <const_xmlChar*>NULL if ns is None else _xcstr(ns) + c_result = tree.xmlGetNsProp(c_node, _xcstr(tag), c_href) + if c_result is NULL: + # XXX free namespace that is not in use..? + return default + try: + result = funicode(c_result) + finally: + tree.xmlFree(c_result) + return result + +cdef inline object _getAttributeValue(_Element element, key, default): + return _getNodeAttributeValue(element._c_node, key, default) + +cdef int _setAttributeValue(_Element element, key, value) except -1: + cdef const_xmlChar* c_value + cdef xmlNs* c_ns + ns, tag = _getNsTag(key) + is_html = element._doc._parser._for_html + if not is_html: + _attributeValidOrRaise(tag) + c_tag = _xcstr(tag) + if value is None and is_html: + c_value = NULL + else: + if isinstance(value, QName): + value = _resolveQNameText(element, value) + else: + value = _utf8(value) + c_value = _xcstr(value) + if ns is None: + c_ns = NULL + else: + c_ns = element._doc._findOrBuildNodeNs(element._c_node, _xcstr(ns), NULL, 1) + tree.xmlSetNsProp(element._c_node, c_ns, c_tag, c_value) + return 0 + +cdef int _delAttribute(_Element element, key) except -1: + ns, tag = _getNsTag(key) + c_href = <const_xmlChar*>NULL if ns is None else _xcstr(ns) + if _delAttributeFromNsName(element._c_node, c_href, _xcstr(tag)): + raise KeyError, key + return 0 + +cdef int _delAttributeFromNsName(xmlNode* c_node, const_xmlChar* c_href, const_xmlChar* c_name) noexcept: + c_attr = tree.xmlHasNsProp(c_node, c_name, c_href) + if c_attr is NULL: + # XXX free namespace that is not in use..? + return -1 + tree.xmlRemoveProp(c_attr) + return 0 + +cdef list _collectAttributes(xmlNode* c_node, int collecttype): + """Collect all attributes of a node in a list. Depending on collecttype, + it collects either the name (1), the value (2) or the name-value tuples. + """ + cdef Py_ssize_t count + c_attr = c_node.properties + count = 0 + while c_attr is not NULL: + if c_attr.type == tree.XML_ATTRIBUTE_NODE: + count += 1 + c_attr = c_attr.next + + if not count: + return [] + + attributes = [None] * count + c_attr = c_node.properties + count = 0 + while c_attr is not NULL: + if c_attr.type == tree.XML_ATTRIBUTE_NODE: + if collecttype == 1: + item = _namespacedName(<xmlNode*>c_attr) + elif collecttype == 2: + item = _attributeValue(c_node, c_attr) + else: + item = (_namespacedName(<xmlNode*>c_attr), + _attributeValue(c_node, c_attr)) + attributes[count] = item + count += 1 + c_attr = c_attr.next + return attributes + +cdef object __RE_XML_ENCODING = re.compile( + r'^(<\?xml[^>]+)\s+encoding\s*=\s*["\'][^"\']*["\'](\s*\?>|)', re.U) + +cdef object __REPLACE_XML_ENCODING = __RE_XML_ENCODING.sub +cdef object __HAS_XML_ENCODING = __RE_XML_ENCODING.match + +cdef object _stripEncodingDeclaration(object xml_string): + # this is a hack to remove the XML encoding declaration from unicode + return __REPLACE_XML_ENCODING(r'\g<1>\g<2>', xml_string) + +cdef bint _hasEncodingDeclaration(object xml_string) except -1: + # check if a (unicode) string has an XML encoding declaration + return __HAS_XML_ENCODING(xml_string) is not None + +cdef inline bint _hasText(xmlNode* c_node) noexcept: + return c_node is not NULL and _textNodeOrSkip(c_node.children) is not NULL + +cdef inline bint _hasTail(xmlNode* c_node) noexcept: + return c_node is not NULL and _textNodeOrSkip(c_node.next) is not NULL + +cdef inline bint _hasNonWhitespaceTail(xmlNode* c_node) except -1: + return _hasNonWhitespaceText(c_node, tail=True) + +cdef bint _hasNonWhitespaceText(xmlNode* c_node, bint tail=False) except -1: + c_text_node = c_node and _textNodeOrSkip(c_node.next if tail else c_node.children) + if c_text_node is NULL: + return False + while c_text_node is not NULL: + if c_text_node.content[0] != c'\0' and not _collectText(c_text_node).isspace(): + return True + c_text_node = _textNodeOrSkip(c_text_node.next) + return False + +cdef unicode _collectText(xmlNode* c_node): + """Collect all text nodes and return them as a unicode string. + + Start collecting at c_node. + + If there was no text to collect, return None + """ + cdef Py_ssize_t scount + cdef xmlChar* c_text + cdef xmlNode* c_node_cur + # check for multiple text nodes + scount = 0 + c_text = NULL + c_node_cur = c_node = _textNodeOrSkip(c_node) + while c_node_cur is not NULL: + if c_node_cur.content[0] != c'\0': + c_text = c_node_cur.content + scount += 1 + c_node_cur = _textNodeOrSkip(c_node_cur.next) + + # handle two most common cases first + if c_text is NULL: + return '' if scount > 0 else None + if scount == 1: + return funicode(c_text) + + # the rest is not performance critical anymore + result = b'' + while c_node is not NULL: + result += <unsigned char*>c_node.content + c_node = _textNodeOrSkip(c_node.next) + return funicode(<const_xmlChar*><unsigned char*>result) + +cdef void _removeText(xmlNode* c_node) noexcept: + """Remove all text nodes. + + Start removing at c_node. + """ + cdef xmlNode* c_next + c_node = _textNodeOrSkip(c_node) + while c_node is not NULL: + c_next = _textNodeOrSkip(c_node.next) + tree.xmlUnlinkNode(c_node) + tree.xmlFreeNode(c_node) + c_node = c_next + +cdef xmlNode* _createTextNode(xmlDoc* doc, value) except NULL: + cdef xmlNode* c_text_node + if isinstance(value, CDATA): + c_text_node = tree.xmlNewCDataBlock( + doc, _xcstr((<CDATA>value)._utf8_data), + python.PyBytes_GET_SIZE((<CDATA>value)._utf8_data)) + else: + text = _utf8(value) + c_text_node = tree.xmlNewDocText(doc, _xcstr(text)) + if not c_text_node: + raise MemoryError() + return c_text_node + +cdef int _setNodeText(xmlNode* c_node, value) except -1: + # remove all text nodes at the start first + _removeText(c_node.children) + if value is None: + return 0 + # now add new text node with value at start + c_text_node = _createTextNode(c_node.doc, value) + if c_node.children is NULL: + tree.xmlAddChild(c_node, c_text_node) + else: + tree.xmlAddPrevSibling(c_node.children, c_text_node) + return 0 + +cdef int _setTailText(xmlNode* c_node, value) except -1: + # remove all text nodes at the start first + _removeText(c_node.next) + if value is None: + return 0 + # now append new text node with value + c_text_node = _createTextNode(c_node.doc, value) + tree.xmlAddNextSibling(c_node, c_text_node) + return 0 + +cdef bytes _resolveQNameText(_Element element, value): + cdef xmlNs* c_ns + ns, tag = _getNsTag(value) + if ns is None: + return tag + else: + c_ns = element._doc._findOrBuildNodeNs( + element._c_node, _xcstr(ns), NULL, 0) + return python.PyBytes_FromFormat('%s:%s', c_ns.prefix, _cstr(tag)) + +cdef inline bint _hasChild(xmlNode* c_node) noexcept: + return c_node is not NULL and _findChildForwards(c_node, 0) is not NULL + +cdef inline Py_ssize_t _countElements(xmlNode* c_node) noexcept: + "Counts the elements within the following siblings and the node itself." + cdef Py_ssize_t count + count = 0 + while c_node is not NULL: + if _isElement(c_node): + count += 1 + c_node = c_node.next + return count + + +cdef int _findChildSlice( + slice sliceobject, xmlNode* c_parent, + xmlNode** c_start_node, Py_ssize_t* c_step, Py_ssize_t* c_length) except -1: + """Resolve a children slice. + + Returns the start node, step size and the slice length in the + pointer arguments. + """ + cdef Py_ssize_t start = 0, stop = 0, childcount + childcount = _countElements(c_parent.children) + if childcount == 0: + c_start_node[0] = NULL + c_length[0] = 0 + if sliceobject.step is None: + c_step[0] = 1 + else: + python._PyEval_SliceIndex(sliceobject.step, c_step) + return 0 + + python.PySlice_GetIndicesEx( + sliceobject, childcount, &start, &stop, c_step, c_length) + + if start > childcount // 2: + c_start_node[0] = _findChildBackwards(c_parent, childcount - start - 1) + else: + c_start_node[0] = _findChild(c_parent, start) + return 0 + + +cdef bint _isFullSlice(slice sliceobject) except -1: + """Conservative guess if this slice is a full slice as in ``s[:]``. + """ + cdef Py_ssize_t step = 0 + if sliceobject is None: + return 0 + if sliceobject.start is None and \ + sliceobject.stop is None: + if sliceobject.step is None: + return 1 + python._PyEval_SliceIndex(sliceobject.step, &step) + if step == 1: + return 1 + return 0 + return 0 + +cdef _collectChildren(_Element element): + cdef xmlNode* c_node + cdef list result = [] + c_node = element._c_node.children + if c_node is not NULL: + if not _isElement(c_node): + c_node = _nextElement(c_node) + while c_node is not NULL: + result.append(_elementFactory(element._doc, c_node)) + c_node = _nextElement(c_node) + return result + +cdef inline xmlNode* _findChild(xmlNode* c_node, Py_ssize_t index) noexcept: + if index < 0: + return _findChildBackwards(c_node, -index - 1) + else: + return _findChildForwards(c_node, index) + +cdef inline xmlNode* _findChildForwards(xmlNode* c_node, Py_ssize_t index) noexcept: + """Return child element of c_node with index, or return NULL if not found. + """ + cdef xmlNode* c_child + cdef Py_ssize_t c + c_child = c_node.children + c = 0 + while c_child is not NULL: + if _isElement(c_child): + if c == index: + return c_child + c += 1 + c_child = c_child.next + return NULL + +cdef inline xmlNode* _findChildBackwards(xmlNode* c_node, Py_ssize_t index) noexcept: + """Return child element of c_node with index, or return NULL if not found. + Search from the end. + """ + cdef xmlNode* c_child + cdef Py_ssize_t c + c_child = c_node.last + c = 0 + while c_child is not NULL: + if _isElement(c_child): + if c == index: + return c_child + c += 1 + c_child = c_child.prev + return NULL + +cdef inline xmlNode* _textNodeOrSkip(xmlNode* c_node) noexcept nogil: + """Return the node if it's a text node. Skip over ignorable nodes in a + series of text nodes. Return NULL if a non-ignorable node is found. + + This is used to skip over XInclude nodes when collecting adjacent text + nodes. + """ + while c_node is not NULL: + if c_node.type == tree.XML_TEXT_NODE or \ + c_node.type == tree.XML_CDATA_SECTION_NODE: + return c_node + elif c_node.type == tree.XML_XINCLUDE_START or \ + c_node.type == tree.XML_XINCLUDE_END: + c_node = c_node.next + else: + return NULL + return NULL + +cdef inline xmlNode* _nextElement(xmlNode* c_node) noexcept: + """Given a node, find the next sibling that is an element. + """ + if c_node is NULL: + return NULL + c_node = c_node.next + while c_node is not NULL: + if _isElement(c_node): + return c_node + c_node = c_node.next + return NULL + +cdef inline xmlNode* _previousElement(xmlNode* c_node) noexcept: + """Given a node, find the next sibling that is an element. + """ + if c_node is NULL: + return NULL + c_node = c_node.prev + while c_node is not NULL: + if _isElement(c_node): + return c_node + c_node = c_node.prev + return NULL + +cdef inline xmlNode* _parentElement(xmlNode* c_node) noexcept: + "Given a node, find the parent element." + if c_node is NULL or not _isElement(c_node): + return NULL + c_node = c_node.parent + if c_node is NULL or not _isElement(c_node): + return NULL + return c_node + +cdef inline bint _tagMatches(xmlNode* c_node, const_xmlChar* c_href, const_xmlChar* c_name) noexcept: + """Tests if the node matches namespace URI and tag name. + + A node matches if it matches both c_href and c_name. + + A node matches c_href if any of the following is true: + * c_href is NULL + * its namespace is NULL and c_href is the empty string + * its namespace string equals the c_href string + + A node matches c_name if any of the following is true: + * c_name is NULL + * its name string equals the c_name string + """ + if c_node is NULL: + return 0 + if c_node.type != tree.XML_ELEMENT_NODE: + # not an element, only succeed if we match everything + return c_name is NULL and c_href is NULL + if c_name is NULL: + if c_href is NULL: + # always match + return 1 + else: + c_node_href = _getNs(c_node) + if c_node_href is NULL: + return c_href[0] == c'\0' + else: + return tree.xmlStrcmp(c_node_href, c_href) == 0 + elif c_href is NULL: + if _getNs(c_node) is not NULL: + return 0 + return c_node.name == c_name or tree.xmlStrcmp(c_node.name, c_name) == 0 + elif c_node.name == c_name or tree.xmlStrcmp(c_node.name, c_name) == 0: + c_node_href = _getNs(c_node) + if c_node_href is NULL: + return c_href[0] == c'\0' + else: + return tree.xmlStrcmp(c_node_href, c_href) == 0 + else: + return 0 + +cdef inline bint _tagMatchesExactly(xmlNode* c_node, qname* c_qname) noexcept: + """Tests if the node matches namespace URI and tag name. + + This differs from _tagMatches() in that it does not consider a + NULL value in qname.href a wildcard, and that it expects the c_name + to be taken from the doc dict, i.e. it only compares the names by + address. + + A node matches if it matches both href and c_name of the qname. + + A node matches c_href if any of the following is true: + * its namespace is NULL and c_href is the empty string + * its namespace string equals the c_href string + + A node matches c_name if any of the following is true: + * c_name is NULL + * its name string points to the same address (!) as c_name + """ + return _nsTagMatchesExactly(_getNs(c_node), c_node.name, c_qname) + +cdef inline bint _nsTagMatchesExactly(const_xmlChar* c_node_href, + const_xmlChar* c_node_name, + qname* c_qname) noexcept: + """Tests if name and namespace URI match those of c_qname. + + This differs from _tagMatches() in that it does not consider a + NULL value in qname.href a wildcard, and that it expects the c_name + to be taken from the doc dict, i.e. it only compares the names by + address. + + A node matches if it matches both href and c_name of the qname. + + A node matches c_href if any of the following is true: + * its namespace is NULL and c_href is the empty string + * its namespace string equals the c_href string + + A node matches c_name if any of the following is true: + * c_name is NULL + * its name string points to the same address (!) as c_name + """ + cdef char* c_href + if c_qname.c_name is not NULL and c_qname.c_name is not c_node_name: + return 0 + if c_qname.href is NULL: + return 1 + c_href = python.__cstr(c_qname.href) + if c_href[0] == b'\0': + return c_node_href is NULL or c_node_href[0] == b'\0' + elif c_node_href is NULL: + return 0 + else: + return tree.xmlStrcmp(<const_xmlChar*>c_href, c_node_href) == 0 + +cdef Py_ssize_t _mapTagsToQnameMatchArray(xmlDoc* c_doc, list ns_tags, + qname* c_ns_tags, bint force_into_dict) except -1: + """Map a sequence of (name, namespace) pairs to a qname array for efficient + matching with _tagMatchesExactly() above. + + Note that each qname struct in the array owns its href byte string object + if it is not NULL. + """ + cdef Py_ssize_t count = 0, i, c_tag_len + cdef bytes ns, tag + cdef const_xmlChar* c_tag + + for ns, tag in ns_tags: + if tag is None: + c_tag = <const_xmlChar*> NULL + else: + c_tag_len = len(tag) + if c_tag_len > limits.INT_MAX: + # too long, not in the dict => not in the document + continue + elif force_into_dict: + c_tag = tree.xmlDictLookup(c_doc.dict, _xcstr(tag), <int> c_tag_len) + if c_tag is NULL: + # clean up before raising the error + for i in xrange(count): + cpython.ref.Py_XDECREF(c_ns_tags[i].href) + raise MemoryError() + else: + c_tag = tree.xmlDictExists(c_doc.dict, _xcstr(tag), <int> c_tag_len) + if c_tag is NULL: + # not in the dict => not in the document + continue + + c_ns_tags[count].c_name = c_tag + if ns is None: + c_ns_tags[count].href = NULL + else: + cpython.ref.Py_INCREF(ns) # keep an owned reference! + c_ns_tags[count].href = <python.PyObject*>ns + count += 1 + return count + +cdef int _removeNode(_Document doc, xmlNode* c_node) except -1: + """Unlink and free a node and subnodes if possible. Otherwise, make sure + it's self-contained. + """ + cdef xmlNode* c_next + c_next = c_node.next + tree.xmlUnlinkNode(c_node) + _moveTail(c_next, c_node) + if not attemptDeallocation(c_node): + # make namespaces absolute + moveNodeToDocument(doc, c_node.doc, c_node) + return 0 + +cdef int _removeSiblings(xmlNode* c_element, tree.xmlElementType node_type, bint with_tail) except -1: + cdef xmlNode* c_node + cdef xmlNode* c_next + c_node = c_element.next + while c_node is not NULL: + c_next = _nextElement(c_node) + if c_node.type == node_type: + if with_tail: + _removeText(c_node.next) + tree.xmlUnlinkNode(c_node) + attemptDeallocation(c_node) + c_node = c_next + c_node = c_element.prev + while c_node is not NULL: + c_next = _previousElement(c_node) + if c_node.type == node_type: + if with_tail: + _removeText(c_node.next) + tree.xmlUnlinkNode(c_node) + attemptDeallocation(c_node) + c_node = c_next + return 0 + +cdef void _moveTail(xmlNode* c_tail, xmlNode* c_target) noexcept: + cdef xmlNode* c_next + # tail support: look for any text nodes trailing this node and + # move them too + c_tail = _textNodeOrSkip(c_tail) + while c_tail is not NULL: + c_next = _textNodeOrSkip(c_tail.next) + c_target = tree.xmlAddNextSibling(c_target, c_tail) + c_tail = c_next + +cdef int _copyTail(xmlNode* c_tail, xmlNode* c_target) except -1: + cdef xmlNode* c_new_tail + # tail copying support: look for any text nodes trailing this node and + # copy it to the target node + c_tail = _textNodeOrSkip(c_tail) + while c_tail is not NULL: + if c_target.doc is not c_tail.doc: + c_new_tail = tree.xmlDocCopyNode(c_tail, c_target.doc, 0) + else: + c_new_tail = tree.xmlCopyNode(c_tail, 0) + if c_new_tail is NULL: + raise MemoryError() + c_target = tree.xmlAddNextSibling(c_target, c_new_tail) + c_tail = _textNodeOrSkip(c_tail.next) + return 0 + +cdef int _copyNonElementSiblings(xmlNode* c_node, xmlNode* c_target) except -1: + cdef xmlNode* c_copy + cdef xmlNode* c_sibling = c_node + while c_sibling.prev != NULL and \ + (c_sibling.prev.type == tree.XML_PI_NODE or + c_sibling.prev.type == tree.XML_COMMENT_NODE or + c_sibling.prev.type == tree.XML_DTD_NODE): + c_sibling = c_sibling.prev + while c_sibling != c_node: + if c_sibling.type == tree.XML_DTD_NODE: + c_copy = <xmlNode*>_copyDtd(<tree.xmlDtd*>c_sibling) + if c_sibling == <xmlNode*>c_node.doc.intSubset: + c_target.doc.intSubset = <tree.xmlDtd*>c_copy + else: # c_sibling == c_node.doc.extSubset + c_target.doc.extSubset = <tree.xmlDtd*>c_copy + else: + c_copy = tree.xmlDocCopyNode(c_sibling, c_target.doc, 1) + if c_copy is NULL: + raise MemoryError() + tree.xmlAddPrevSibling(c_target, c_copy) + c_sibling = c_sibling.next + while c_sibling.next != NULL and \ + (c_sibling.next.type == tree.XML_PI_NODE or + c_sibling.next.type == tree.XML_COMMENT_NODE): + c_sibling = c_sibling.next + c_copy = tree.xmlDocCopyNode(c_sibling, c_target.doc, 1) + if c_copy is NULL: + raise MemoryError() + tree.xmlAddNextSibling(c_target, c_copy) + +cdef int _deleteSlice(_Document doc, xmlNode* c_node, + Py_ssize_t count, Py_ssize_t step) except -1: + """Delete slice, ``count`` items starting with ``c_node`` with a step + width of ``step``. + """ + cdef xmlNode* c_next + cdef Py_ssize_t c, i + cdef _node_to_node_function next_element + if c_node is NULL: + return 0 + if step > 0: + next_element = _nextElement + else: + step = -step if step != python.PY_SSIZE_T_MIN else python.PY_SSIZE_T_MAX + next_element = _previousElement + # now start deleting nodes + c = 0 + c_next = c_node + while c_node is not NULL and c < count: + for i in range(step): + c_next = next_element(c_next) + if c_next is NULL: + break + _removeNode(doc, c_node) + c += 1 + c_node = c_next + return 0 + +cdef int _replaceSlice(_Element parent, xmlNode* c_node, + Py_ssize_t slicelength, Py_ssize_t step, + bint left_to_right, elements) except -1: + """Replace the slice of ``count`` elements starting at ``c_node`` with + positive step width ``step`` by the Elements in ``elements``. The + direction is given by the boolean argument ``left_to_right``. + + ``c_node`` may be NULL to indicate the end of the children list. + """ + cdef xmlNode* c_orig_neighbour + cdef xmlNode* c_next + cdef xmlDoc* c_source_doc + cdef _Element element + cdef Py_ssize_t seqlength, i, c + cdef _node_to_node_function next_element + assert step > 0, step + if left_to_right: + next_element = _nextElement + else: + next_element = _previousElement + + if not isinstance(elements, (list, tuple)): + elements = list(elements) + + if step != 1 or not left_to_right: + # *replacing* children stepwise with list => check size! + seqlength = len(elements) + if seqlength != slicelength: + raise ValueError, f"attempt to assign sequence of size {seqlength} " \ + f"to extended slice of size {slicelength}" + + if c_node is NULL: + # no children yet => add all elements straight away + if left_to_right: + for element in elements: + assert element is not None, "Node must not be None" + _appendChild(parent, element) + else: + for element in elements: + assert element is not None, "Node must not be None" + _prependChild(parent, element) + return 0 + + # remove the elements first as some might be re-added + if left_to_right: + # L->R, remember left neighbour + c_orig_neighbour = _previousElement(c_node) + else: + # R->L, remember right neighbour + c_orig_neighbour = _nextElement(c_node) + + # We remove the original slice elements one by one. Since we hold + # a Python reference to all elements that we will insert, it is + # safe to let _removeNode() try (and fail) to free them even if + # the element itself or one of its descendents will be reinserted. + c = 0 + c_next = c_node + while c_node is not NULL and c < slicelength: + for i in range(step): + c_next = next_element(c_next) + if c_next is NULL: + break + _removeNode(parent._doc, c_node) + c += 1 + c_node = c_next + + # make sure each element is inserted only once + elements = iter(elements) + + # find the first node right of the new insertion point + if left_to_right: + if c_orig_neighbour is not NULL: + c_node = next_element(c_orig_neighbour) + else: + # before the first element + c_node = _findChildForwards(parent._c_node, 0) + elif c_orig_neighbour is NULL: + # at the end, but reversed stepping + # append one element and go to the next insertion point + for element in elements: + assert element is not None, "Node must not be None" + _appendChild(parent, element) + c_node = element._c_node + if slicelength > 0: + slicelength -= 1 + for i in range(1, step): + c_node = next_element(c_node) + if c_node is NULL: + break + break + else: + c_node = c_orig_neighbour + + if left_to_right: + # adjust step size after removing slice as we are not stepping + # over the newly inserted elements + step -= 1 + + # now insert elements where we removed them + if c_node is not NULL: + for element in elements: + assert element is not None, "Node must not be None" + _assertValidNode(element) + # move element and tail over + c_source_doc = element._c_node.doc + c_next = element._c_node.next + tree.xmlAddPrevSibling(c_node, element._c_node) + _moveTail(c_next, element._c_node) + + # integrate element into new document + moveNodeToDocument(parent._doc, c_source_doc, element._c_node) + + # stop at the end of the slice + if slicelength > 0: + slicelength -= 1 + for i in range(step): + c_node = next_element(c_node) + if c_node is NULL: + break + if c_node is NULL: + break + else: + # everything inserted + return 0 + + # append the remaining elements at the respective end + if left_to_right: + for element in elements: + assert element is not None, "Node must not be None" + _assertValidNode(element) + _appendChild(parent, element) + else: + for element in elements: + assert element is not None, "Node must not be None" + _assertValidNode(element) + _prependChild(parent, element) + + return 0 + + +cdef int _linkChild(xmlNode* c_parent, xmlNode* c_node) except -1: + """Adaptation of 'xmlAddChild()' that deep-fix the document links iteratively. + """ + assert _isElement(c_node) + c_node.parent = c_parent + if c_parent.children is NULL: + c_parent.children = c_parent.last = c_node + else: + c_node.prev = c_parent.last + c_parent.last.next = c_node + c_parent.last = c_node + + _setTreeDoc(c_node, c_parent.doc) + return 0 + + +cdef int _appendChild(_Element parent, _Element child) except -1: + """Append a new child to a parent element. + """ + c_node = child._c_node + c_source_doc = c_node.doc + # prevent cycles + if _isAncestorOrSame(c_node, parent._c_node): + raise ValueError("cannot append parent to itself") + # store possible text node + c_next = c_node.next + # move node itself + tree.xmlUnlinkNode(c_node) + # do not call xmlAddChild() here since it would deep-traverse the tree + _linkChild(parent._c_node, c_node) + _moveTail(c_next, c_node) + # uh oh, elements may be pointing to different doc when + # parent element has moved; change them too.. + moveNodeToDocument(parent._doc, c_source_doc, c_node) + return 0 + +cdef int _prependChild(_Element parent, _Element child) except -1: + """Prepend a new child to a parent element. + """ + c_node = child._c_node + c_source_doc = c_node.doc + # prevent cycles + if _isAncestorOrSame(c_node, parent._c_node): + raise ValueError("cannot append parent to itself") + # store possible text node + c_next = c_node.next + # move node itself + c_child = _findChildForwards(parent._c_node, 0) + if c_child is NULL: + tree.xmlUnlinkNode(c_node) + # do not call xmlAddChild() here since it would deep-traverse the tree + _linkChild(parent._c_node, c_node) + else: + tree.xmlAddPrevSibling(c_child, c_node) + _moveTail(c_next, c_node) + # uh oh, elements may be pointing to different doc when + # parent element has moved; change them too.. + moveNodeToDocument(parent._doc, c_source_doc, c_node) + return 0 + +cdef int _appendSibling(_Element element, _Element sibling) except -1: + """Add a new sibling behind an element. + """ + return _addSibling(element, sibling, as_next=True) + +cdef int _prependSibling(_Element element, _Element sibling) except -1: + """Add a new sibling before an element. + """ + return _addSibling(element, sibling, as_next=False) + +cdef int _addSibling(_Element element, _Element sibling, bint as_next) except -1: + c_node = sibling._c_node + c_source_doc = c_node.doc + # prevent cycles + if _isAncestorOrSame(c_node, element._c_node): + if element._c_node is c_node: + return 0 # nothing to do + raise ValueError("cannot add ancestor as sibling, please break cycle first") + # store possible text node + c_next = c_node.next + # move node itself + if as_next: + # must insert after any tail text + c_next_node = _nextElement(element._c_node) + if c_next_node is NULL: + c_next_node = element._c_node + while c_next_node.next: + c_next_node = c_next_node.next + tree.xmlAddNextSibling(c_next_node, c_node) + else: + tree.xmlAddPrevSibling(c_next_node, c_node) + else: + tree.xmlAddPrevSibling(element._c_node, c_node) + _moveTail(c_next, c_node) + # uh oh, elements may be pointing to different doc when + # parent element has moved; change them too.. + moveNodeToDocument(element._doc, c_source_doc, c_node) + return 0 + +cdef inline bint isutf8(const_xmlChar* s) noexcept: + cdef xmlChar c = s[0] + while c != c'\0': + if c & 0x80: + return True + s += 1 + c = s[0] + return False + +cdef bint isutf8l(const_xmlChar* s, size_t length) noexcept: + """ + Search for non-ASCII characters in the string, knowing its length in advance. + """ + cdef unsigned int i + cdef unsigned long non_ascii_mask + cdef const unsigned long *lptr = <const unsigned long*> s + + cdef const unsigned long *end = lptr + length // sizeof(unsigned long) + if length >= sizeof(non_ascii_mask): + # Build constant 0x80808080... mask (and let the C compiler fold it). + non_ascii_mask = 0 + for i in range(sizeof(non_ascii_mask) // 2): + non_ascii_mask = (non_ascii_mask << 16) | 0x8080 + + # Advance to long-aligned character before we start reading longs. + while (<size_t>s) % sizeof(unsigned long) and s < <const_xmlChar *>end: + if s[0] & 0x80: + return True + s += 1 + + # Read one long at a time + lptr = <const unsigned long*> s + while lptr < end: + if lptr[0] & non_ascii_mask: + return True + lptr += 1 + s = <const_xmlChar *>lptr + + while s < (<const_xmlChar *>end + length % sizeof(unsigned long)): + if s[0] & 0x80: + return True + s += 1 + + return False + +cdef int _is_valid_xml_ascii(bytes pystring) except -1: + """Check if a string is XML ascii content.""" + cdef signed char ch + # When ch is a *signed* char, non-ascii characters are negative integers + # and xmlIsChar_ch does not accept them. + for ch in pystring: + if not tree.xmlIsChar_ch(ch): + return 0 + return 1 + +cdef bint _is_valid_xml_utf8(bytes pystring) except -1: + """Check if a string is like valid UTF-8 XML content.""" + cdef const_xmlChar* s = _xcstr(pystring) + cdef const_xmlChar* c_end = s + len(pystring) + cdef unsigned long next3 = 0 + if s < c_end - 2: + next3 = (s[0] << 8) | (s[1]) + + while s < c_end - 2: + next3 = 0x00ffffff & ((next3 << 8) | s[2]) + if s[0] & 0x80: + # 0xefbfbe and 0xefbfbf are utf-8 encodings of + # forbidden characters \ufffe and \uffff + if next3 == 0x00efbfbe or next3 == 0x00efbfbf: + return 0 + # 0xeda080 and 0xedbfbf are utf-8 encodings of + # \ud800 and \udfff. Anything between them (inclusive) + # is forbidden, because they are surrogate blocks in utf-16. + if 0x00eda080 <= next3 <= 0x00edbfbf: + return 0 + elif not tree.xmlIsChar_ch(s[0]): + return 0 # invalid ascii char + s += 1 + + while s < c_end: + if not s[0] & 0x80 and not tree.xmlIsChar_ch(s[0]): + return 0 # invalid ascii char + s += 1 + + return 1 + +cdef inline unicode funicodeOrNone(const_xmlChar* s): + return funicode(s) if s is not NULL else None + +cdef inline unicode funicodeOrEmpty(const_xmlChar* s): + return funicode(s) if s is not NULL else '' + +cdef unicode funicode(const_xmlChar* s): + return s.decode('UTF-8') + +cdef bytes _utf8(object s): + """Test if a string is valid user input and encode it to UTF-8. + Reject all bytes/unicode input that contains non-XML characters. + Reject all bytes input that contains non-ASCII characters. + """ + cdef int valid + cdef bytes utf8_string + if isinstance(s, unicode): + utf8_string = (<unicode>s).encode('utf8') + valid = _is_valid_xml_utf8(utf8_string) + elif isinstance(s, (bytes, bytearray)): + utf8_string = s if type(s) is bytes else bytes(s) + valid = _is_valid_xml_ascii(utf8_string) + else: + raise TypeError("Argument must be bytes or unicode, got '%.200s'" % type(s).__name__) + if not valid: + raise ValueError( + "All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters") + return utf8_string + + +cdef bytes _utf8orNone(object s): + return _utf8(s) if s is not None else None + + +cdef enum: + NO_FILE_PATH = 0 + ABS_UNIX_FILE_PATH = 1 + ABS_WIN_FILE_PATH = 2 + REL_FILE_PATH = 3 + + +cdef bint _isFilePath(const_xmlChar* c_path) noexcept: + "simple heuristic to see if a path is a filename" + cdef xmlChar c + # test if it looks like an absolute Unix path or a Windows network path + if c_path[0] == c'/': + return ABS_UNIX_FILE_PATH + + # test if it looks like an absolute Windows path or URL + if c'a' <= c_path[0] <= c'z' or c'A' <= c_path[0] <= c'Z': + c_path += 1 + if c_path[0] == c':' and c_path[1] in b'\0\\': + return ABS_WIN_FILE_PATH # C: or C:\... + + # test if it looks like a URL with scheme:// + while c'a' <= c_path[0] <= c'z' or c'A' <= c_path[0] <= c'Z': + c_path += 1 + if c_path[0] == c':' and c_path[1] == c'/' and c_path[2] == c'/': + return NO_FILE_PATH + + # assume it's a relative path + return REL_FILE_PATH + + +cdef object _getFSPathOrObject(object obj): + """ + Get the __fspath__ attribute of an object if it exists. + Otherwise, the original object is returned. + """ + if _isString(obj): + return obj + try: + return python.PyOS_FSPath(obj) + except TypeError: + return obj + + +cdef object _encodeFilename(object filename): + """Make sure a filename is 8-bit encoded (or None). + """ + if filename is None: + return None + elif isinstance(filename, bytes): + return filename + elif isinstance(filename, unicode): + filename8 = (<unicode>filename).encode('utf8') + if _isFilePath(<unsigned char*>filename8): + try: + return python.PyUnicode_AsEncodedString( + filename, _C_FILENAME_ENCODING, NULL) + except UnicodeEncodeError: + pass + return filename8 + else: + raise TypeError("Argument must be string or unicode.") + +cdef object _decodeFilename(const_xmlChar* c_path): + """Make the filename a unicode string if we are in Py3. + """ + return _decodeFilenameWithLength(c_path, tree.xmlStrlen(c_path)) + +cdef object _decodeFilenameWithLength(const_xmlChar* c_path, size_t c_len): + """Make the filename a unicode string if we are in Py3. + """ + if _isFilePath(c_path): + try: + return python.PyUnicode_Decode( + <const_char*>c_path, c_len, _C_FILENAME_ENCODING, NULL) + except UnicodeDecodeError: + pass + try: + return (<unsigned char*>c_path)[:c_len].decode('UTF-8') + except UnicodeDecodeError: + # this is a stupid fallback, but it might still work... + return (<unsigned char*>c_path)[:c_len].decode('latin-1', 'replace') + +cdef object _encodeFilenameUTF8(object filename): + """Recode filename as UTF-8. Tries ASCII, local filesystem encoding and + UTF-8 as source encoding. + """ + cdef char* c_filename + if filename is None: + return None + elif isinstance(filename, bytes): + if not isutf8l(<bytes>filename, len(<bytes>filename)): + # plain ASCII! + return filename + c_filename = _cstr(<bytes>filename) + try: + # try to decode with default encoding + filename = python.PyUnicode_Decode( + c_filename, len(<bytes>filename), + _C_FILENAME_ENCODING, NULL) + except UnicodeDecodeError as decode_exc: + try: + # try if it's proper UTF-8 + (<bytes>filename).decode('utf8') + return filename + except UnicodeDecodeError: + raise decode_exc # otherwise re-raise original exception + if isinstance(filename, unicode): + return (<unicode>filename).encode('utf8') + else: + raise TypeError("Argument must be string or unicode.") + +cdef tuple _getNsTag(tag): + """Given a tag, find namespace URI and tag name. + Return None for NS uri if no namespace URI provided. + """ + return __getNsTag(tag, 0) + +cdef tuple _getNsTagWithEmptyNs(tag): + """Given a tag, find namespace URI and tag name. Return None for NS uri + if no namespace URI provided, or the empty string if namespace + part is '{}'. + """ + return __getNsTag(tag, 1) + +cdef tuple __getNsTag(tag, bint empty_ns): + cdef char* c_tag + cdef char* c_ns_end + cdef Py_ssize_t taglen + cdef Py_ssize_t nslen + cdef bytes ns = None + # _isString() is much faster than isinstance() + if not _isString(tag) and isinstance(tag, QName): + tag = (<QName>tag).text + tag = _utf8(tag) + c_tag = _cstr(tag) + if c_tag[0] == c'{': + c_tag += 1 + c_ns_end = cstring_h.strchr(c_tag, c'}') + if c_ns_end is NULL: + raise ValueError, "Invalid tag name" + nslen = c_ns_end - c_tag + taglen = python.PyBytes_GET_SIZE(tag) - nslen - 2 + if taglen == 0: + raise ValueError, "Empty tag name" + if nslen > 0: + ns = <bytes>c_tag[:nslen] + elif empty_ns: + ns = b'' + tag = <bytes>c_ns_end[1:taglen+1] + elif python.PyBytes_GET_SIZE(tag) == 0: + raise ValueError, "Empty tag name" + return ns, tag + +cdef inline int _pyXmlNameIsValid(name_utf8): + return _xmlNameIsValid(_xcstr(name_utf8)) and b':' not in name_utf8 + +cdef inline int _pyHtmlNameIsValid(name_utf8): + return _htmlNameIsValid(_xcstr(name_utf8)) + +cdef inline int _xmlNameIsValid(const_xmlChar* c_name) noexcept: + return tree.xmlValidateNameValue(c_name) + +cdef int _htmlNameIsValid(const_xmlChar* c_name) noexcept: + if c_name is NULL or c_name[0] == c'\0': + return 0 + while c_name[0] != c'\0': + if c_name[0] in b'&<>/"\'\t\n\x0B\x0C\r ': + return 0 + c_name += 1 + return 1 + +cdef bint _characterReferenceIsValid(const_xmlChar* c_name) noexcept: + cdef bint is_hex + if c_name[0] == c'x': + c_name += 1 + is_hex = 1 + else: + is_hex = 0 + if c_name[0] == c'\0': + return 0 + while c_name[0] != c'\0': + if c_name[0] < c'0' or c_name[0] > c'9': + if not is_hex: + return 0 + if not (c'a' <= c_name[0] <= c'f'): + if not (c'A' <= c_name[0] <= c'F'): + return 0 + c_name += 1 + return 1 + +cdef int _tagValidOrRaise(tag_utf) except -1: + if not _pyXmlNameIsValid(tag_utf): + raise ValueError(f"Invalid tag name {(<bytes>tag_utf).decode('utf8')!r}") + return 0 + +cdef int _htmlTagValidOrRaise(tag_utf) except -1: + if not _pyHtmlNameIsValid(tag_utf): + raise ValueError(f"Invalid HTML tag name {(<bytes>tag_utf).decode('utf8')!r}") + return 0 + +cdef int _attributeValidOrRaise(name_utf) except -1: + if not _pyXmlNameIsValid(name_utf): + raise ValueError(f"Invalid attribute name {(<bytes>name_utf).decode('utf8')!r}") + return 0 + +cdef int _prefixValidOrRaise(tag_utf) except -1: + if not _pyXmlNameIsValid(tag_utf): + raise ValueError(f"Invalid namespace prefix {(<bytes>tag_utf).decode('utf8')!r}") + return 0 + +cdef int _uriValidOrRaise(uri_utf) except -1: + cdef uri.xmlURI* c_uri = uri.xmlParseURI(_cstr(uri_utf)) + if c_uri is NULL: + raise ValueError(f"Invalid namespace URI {(<bytes>uri_utf).decode('utf8')!r}") + uri.xmlFreeURI(c_uri) + return 0 + +cdef inline unicode _namespacedName(xmlNode* c_node): + return _namespacedNameFromNsName(_getNs(c_node), c_node.name) + + +cdef unicode _namespacedNameFromNsName(const_xmlChar* c_href, const_xmlChar* c_name): + name = funicode(c_name) + if c_href is NULL: + return name + href = funicode(c_href) + return f"{{{href}}}{name}" + + +cdef _getFilenameForFile(source): + """Given a Python File or Gzip object, give filename back. + + Returns None if not a file object. + """ + # urllib2 provides a geturl() method + try: + return source.geturl() + except: + pass + # file instances have a name attribute + try: + filename = source.name + if _isString(filename): + return os_path_abspath(filename) + except: + pass + # gzip file instances have a filename attribute (before Py3k) + try: + filename = source.filename + if _isString(filename): + return os_path_abspath(filename) + except: + pass + # can't determine filename + return None diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/builder.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/lxml/builder.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..9dd5bf7031534005291fc62a381c70dc4682aae0 GIT binary patch literal 120880 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 literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/builder.py b/presentation/.venv/lib/python3.12/site-packages/lxml/builder.py new file mode 100644 index 0000000..f5831fb --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/builder.py @@ -0,0 +1,243 @@ +# cython: language_level=2 + +# +# Element generator factory by Fredrik Lundh. +# +# Source: +# http://online.effbot.org/2006_11_01_archive.htm#et-builder +# http://effbot.python-hosting.com/file/stuff/sandbox/elementlib/builder.py +# +# -------------------------------------------------------------------- +# The ElementTree toolkit is +# +# Copyright (c) 1999-2004 by Fredrik Lundh +# +# By obtaining, using, and/or copying this software and/or its +# associated documentation, you agree that you have read, understood, +# and will comply with the following terms and conditions: +# +# Permission to use, copy, modify, and distribute this software and +# its associated documentation for any purpose and without fee is +# hereby granted, provided that the above copyright notice appears in +# all copies, and that both that copyright notice and this permission +# notice appear in supporting documentation, and that the name of +# Secret Labs AB or the author not be used in advertising or publicity +# pertaining to distribution of the software without specific, written +# prior permission. +# +# SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD +# TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- +# ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR +# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. +# -------------------------------------------------------------------- + +""" +The ``E`` Element factory for generating XML documents. +""" + + +import lxml.etree as ET +_QName = ET.QName + +from functools import partial + +try: + from types import GenericAlias as _GenericAlias +except ImportError: + # Python 3.8 - we only need this as return value from "__class_getitem__" + def _GenericAlias(cls, item): + return f"{cls.__name__}[{item.__name__}]" + +try: + basestring +except NameError: + basestring = str + +try: + unicode +except NameError: + unicode = str + + +class ElementMaker: + """Element generator factory. + + Unlike the ordinary Element factory, the E factory allows you to pass in + more than just a tag and some optional attributes; you can also pass in + text and other elements. The text is added as either text or tail + attributes, and elements are inserted at the right spot. Some small + examples:: + + >>> from lxml import etree as ET + >>> from lxml.builder import E + + >>> ET.tostring(E("tag")) + '<tag/>' + >>> ET.tostring(E("tag", "text")) + '<tag>text</tag>' + >>> ET.tostring(E("tag", "text", key="value")) + '<tag key="value">text</tag>' + >>> ET.tostring(E("tag", E("subtag", "text"), "tail")) + '<tag><subtag>text</subtag>tail</tag>' + + For simple tags, the factory also allows you to write ``E.tag(...)`` instead + of ``E('tag', ...)``:: + + >>> ET.tostring(E.tag()) + '<tag/>' + >>> ET.tostring(E.tag("text")) + '<tag>text</tag>' + >>> ET.tostring(E.tag(E.subtag("text"), "tail")) + '<tag><subtag>text</subtag>tail</tag>' + + Here's a somewhat larger example; this shows how to generate HTML + documents, using a mix of prepared factory functions for inline elements, + nested ``E.tag`` calls, and embedded XHTML fragments:: + + # some common inline elements + A = E.a + I = E.i + B = E.b + + def CLASS(v): + # helper function, 'class' is a reserved word + return {'class': v} + + page = ( + E.html( + E.head( + E.title("This is a sample document") + ), + E.body( + E.h1("Hello!", CLASS("title")), + E.p("This is a paragraph with ", B("bold"), " text in it!"), + E.p("This is another paragraph, with a ", + A("link", href="http://www.python.org"), "."), + E.p("Here are some reserved characters: <spam&egg>."), + ET.XML("<p>And finally, here is an embedded XHTML fragment.</p>"), + ) + ) + ) + + print ET.tostring(page) + + Here's a prettyprinted version of the output from the above script:: + + <html> + <head> + <title>This is a sample document + + +

Hello!

+

This is a paragraph with bold text in it!

+
+

Here are some reserved characters: <spam&egg>.

+

And finally, here is an embedded XHTML fragment.

+ + + + For namespace support, you can pass a namespace map (``nsmap``) + and/or a specific target ``namespace`` to the ElementMaker class:: + + >>> E = ElementMaker(namespace="http://my.ns/") + >>> print(ET.tostring( E.test )) + + + >>> E = ElementMaker(namespace="http://my.ns/", nsmap={'p':'http://my.ns/'}) + >>> print(ET.tostring( E.test )) + + """ + + def __init__(self, typemap=None, + namespace=None, nsmap=None, makeelement=None): + self._namespace = '{' + namespace + '}' if namespace is not None else None + self._nsmap = dict(nsmap) if nsmap else None + + assert makeelement is None or callable(makeelement) + self._makeelement = makeelement if makeelement is not None else ET.Element + + # initialize the default type map functions for this element factory + typemap = dict(typemap) if typemap else {} + + def add_text(elem, item): + try: + last_child = elem[-1] + except IndexError: + elem.text = (elem.text or "") + item + else: + last_child.tail = (last_child.tail or "") + item + + def add_cdata(elem, cdata): + if elem.text: + raise ValueError("Can't add a CDATA section. Element already has some text: %r" % elem.text) + elem.text = cdata + + if str not in typemap: + typemap[str] = add_text + if unicode not in typemap: + typemap[unicode] = add_text + if ET.CDATA not in typemap: + typemap[ET.CDATA] = add_cdata + + def add_dict(elem, item): + attrib = elem.attrib + for k, v in item.items(): + if isinstance(v, basestring): + attrib[k] = v + else: + attrib[k] = typemap[type(v)](None, v) + + if dict not in typemap: + typemap[dict] = add_dict + + self._typemap = typemap + + def __call__(self, tag, *children, **attrib): + typemap = self._typemap + + # We'll usually get a 'str', and the compiled type check is very fast. + if not isinstance(tag, str) and isinstance(tag, _QName): + # A QName is explicitly qualified, do not look at self._namespace. + tag = tag.text + elif self._namespace is not None and tag[0] != '{': + tag = self._namespace + tag + elem = self._makeelement(tag, nsmap=self._nsmap) + if attrib: + typemap[dict](elem, attrib) + + for item in children: + if callable(item): + item = item() + t = typemap.get(type(item)) + if t is None: + if ET.iselement(item): + elem.append(item) + continue + for basetype in type(item).__mro__: + # See if the typemap knows of any of this type's bases. + t = typemap.get(basetype) + if t is not None: + break + else: + raise TypeError("bad argument type: %s(%r)" % + (type(item).__name__, item)) + v = t(elem, item) + if v: + typemap.get(type(v))(elem, v) + + return elem + + def __getattr__(self, tag): + return partial(self, tag) + + # Allow subscripting ElementMaker in type annotions (PEP 560) + def __class_getitem__(cls, item): + return _GenericAlias(cls, item) + + +# create factory object +E = ElementMaker() diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/classlookup.pxi b/presentation/.venv/lib/python3.12/site-packages/lxml/classlookup.pxi new file mode 100644 index 0000000..92d1d47 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/classlookup.pxi @@ -0,0 +1,580 @@ +# Configurable Element class lookup + +################################################################################ +# Custom Element classes + +cdef public class ElementBase(_Element) [ type LxmlElementBaseType, + object LxmlElementBase ]: + """ElementBase(*children, attrib=None, nsmap=None, **_extra) + + The public Element class. All custom Element classes must inherit + from this one. To create an Element, use the `Element()` factory. + + BIG FAT WARNING: Subclasses *must not* override __init__ or + __new__ as it is absolutely undefined when these objects will be + created or destroyed. All persistent state of Elements must be + stored in the underlying XML. If you really need to initialize + the object after creation, you can implement an ``_init(self)`` + method that will be called directly after object creation. + + Subclasses of this class can be instantiated to create a new + Element. By default, the tag name will be the class name and the + namespace will be empty. You can modify this with the following + class attributes: + + * TAG - the tag name, possibly containing a namespace in Clark + notation + + * NAMESPACE - the default namespace URI, unless provided as part + of the TAG attribute. + + * HTML - flag if the class is an HTML tag, as opposed to an XML + tag. This only applies to un-namespaced tags and defaults to + false (i.e. XML). + + * PARSER - the parser that provides the configuration for the + newly created document. Providing an HTML parser here will + default to creating an HTML element. + + In user code, the latter three are commonly inherited in class + hierarchies that implement a common namespace. + """ + def __init__(self, *children, attrib=None, nsmap=None, **_extra): + """ElementBase(*children, attrib=None, nsmap=None, **_extra) + """ + cdef bint is_html = 0 + cdef _BaseParser parser + cdef _Element last_child + # don't use normal attribute access as it might be overridden + _getattr = object.__getattribute__ + try: + namespace = _utf8(_getattr(self, 'NAMESPACE')) + except AttributeError: + namespace = None + try: + ns, tag = _getNsTag(_getattr(self, 'TAG')) + if ns is not None: + namespace = ns + except AttributeError: + tag = _utf8(_getattr(_getattr(self, '__class__'), '__name__')) + if b'.' in tag: + tag = tag.split(b'.')[-1] + try: + parser = _getattr(self, 'PARSER') + except AttributeError: + parser = None + for child in children: + if isinstance(child, _Element): + parser = (<_Element>child)._doc._parser + break + if isinstance(parser, HTMLParser): + is_html = 1 + if namespace is None: + try: + is_html = _getattr(self, 'HTML') + except AttributeError: + pass + _initNewElement(self, is_html, tag, namespace, parser, + attrib, nsmap, _extra) + last_child = None + for child in children: + if _isString(child): + if last_child is None: + _setNodeText(self._c_node, + (_collectText(self._c_node.children) or '') + child) + else: + _setTailText(last_child._c_node, + (_collectText(last_child._c_node.next) or '') + child) + elif isinstance(child, _Element): + last_child = child + _appendChild(self, last_child) + elif isinstance(child, type) and issubclass(child, ElementBase): + last_child = child() + _appendChild(self, last_child) + else: + raise TypeError, f"Invalid child type: {type(child)!r}" + +cdef class CommentBase(_Comment): + """All custom Comment classes must inherit from this one. + + To create an XML Comment instance, use the ``Comment()`` factory. + + Subclasses *must not* override __init__ or __new__ as it is + absolutely undefined when these objects will be created or + destroyed. All persistent state of Comments must be stored in the + underlying XML. If you really need to initialize the object after + creation, you can implement an ``_init(self)`` method that will be + called after object creation. + """ + def __init__(self, text): + # copied from Comment() factory + cdef _Document doc + cdef xmlDoc* c_doc + if text is None: + text = b'' + else: + text = _utf8(text) + c_doc = _newXMLDoc() + doc = _documentFactory(c_doc, None) + self._c_node = _createComment(c_doc, _xcstr(text)) + if self._c_node is NULL: + raise MemoryError() + tree.xmlAddChild(c_doc, self._c_node) + _registerProxy(self, doc, self._c_node) + self._init() + +cdef class PIBase(_ProcessingInstruction): + """All custom Processing Instruction classes must inherit from this one. + + To create an XML ProcessingInstruction instance, use the ``PI()`` + factory. + + Subclasses *must not* override __init__ or __new__ as it is + absolutely undefined when these objects will be created or + destroyed. All persistent state of PIs must be stored in the + underlying XML. If you really need to initialize the object after + creation, you can implement an ``_init(self)`` method that will be + called after object creation. + """ + def __init__(self, target, text=None): + # copied from PI() factory + cdef _Document doc + cdef xmlDoc* c_doc + target = _utf8(target) + if text is None: + text = b'' + else: + text = _utf8(text) + c_doc = _newXMLDoc() + doc = _documentFactory(c_doc, None) + self._c_node = _createPI(c_doc, _xcstr(target), _xcstr(text)) + if self._c_node is NULL: + raise MemoryError() + tree.xmlAddChild(c_doc, self._c_node) + _registerProxy(self, doc, self._c_node) + self._init() + +cdef class EntityBase(_Entity): + """All custom Entity classes must inherit from this one. + + To create an XML Entity instance, use the ``Entity()`` factory. + + Subclasses *must not* override __init__ or __new__ as it is + absolutely undefined when these objects will be created or + destroyed. All persistent state of Entities must be stored in the + underlying XML. If you really need to initialize the object after + creation, you can implement an ``_init(self)`` method that will be + called after object creation. + """ + def __init__(self, name): + cdef _Document doc + cdef xmlDoc* c_doc + name_utf = _utf8(name) + c_name = _xcstr(name_utf) + if c_name[0] == c'#': + if not _characterReferenceIsValid(c_name + 1): + raise ValueError, f"Invalid character reference: '{name}'" + elif not _xmlNameIsValid(c_name): + raise ValueError, f"Invalid entity reference: '{name}'" + c_doc = _newXMLDoc() + doc = _documentFactory(c_doc, None) + self._c_node = _createEntity(c_doc, c_name) + if self._c_node is NULL: + raise MemoryError() + tree.xmlAddChild(c_doc, self._c_node) + _registerProxy(self, doc, self._c_node) + self._init() + + +cdef int _validateNodeClass(xmlNode* c_node, cls) except -1: + if c_node.type == tree.XML_ELEMENT_NODE: + expected = ElementBase + elif c_node.type == tree.XML_COMMENT_NODE: + expected = CommentBase + elif c_node.type == tree.XML_ENTITY_REF_NODE: + expected = EntityBase + elif c_node.type == tree.XML_PI_NODE: + expected = PIBase + else: + assert False, f"Unknown node type: {c_node.type}" + + if not (isinstance(cls, type) and issubclass(cls, expected)): + raise TypeError( + f"result of class lookup must be subclass of {type(expected)}, got {type(cls)}") + return 0 + + +################################################################################ +# Element class lookup + +ctypedef public object (*_element_class_lookup_function)(object, _Document, xmlNode*) + +# class to store element class lookup functions +cdef public class ElementClassLookup [ type LxmlElementClassLookupType, + object LxmlElementClassLookup ]: + """ElementClassLookup(self) + Superclass of Element class lookups. + """ + cdef _element_class_lookup_function _lookup_function + + +cdef public class FallbackElementClassLookup(ElementClassLookup) \ + [ type LxmlFallbackElementClassLookupType, + object LxmlFallbackElementClassLookup ]: + """FallbackElementClassLookup(self, fallback=None) + + Superclass of Element class lookups with additional fallback. + """ + cdef readonly ElementClassLookup fallback + cdef _element_class_lookup_function _fallback_function + def __cinit__(self): + # fall back to default lookup + self._fallback_function = _lookupDefaultElementClass + + def __init__(self, ElementClassLookup fallback=None): + if fallback is not None: + self._setFallback(fallback) + else: + self._fallback_function = _lookupDefaultElementClass + + cdef void _setFallback(self, ElementClassLookup lookup): + """Sets the fallback scheme for this lookup method. + """ + self.fallback = lookup + self._fallback_function = lookup._lookup_function + if self._fallback_function is NULL: + self._fallback_function = _lookupDefaultElementClass + + def set_fallback(self, ElementClassLookup lookup not None): + """set_fallback(self, lookup) + + Sets the fallback scheme for this lookup method. + """ + self._setFallback(lookup) + +cdef inline object _callLookupFallback(FallbackElementClassLookup lookup, + _Document doc, xmlNode* c_node): + return lookup._fallback_function(lookup.fallback, doc, c_node) + + +################################################################################ +# default lookup scheme + +cdef class ElementDefaultClassLookup(ElementClassLookup): + """ElementDefaultClassLookup(self, element=None, comment=None, pi=None, entity=None) + Element class lookup scheme that always returns the default Element + class. + + The keyword arguments ``element``, ``comment``, ``pi`` and ``entity`` + accept the respective Element classes. + """ + cdef readonly object element_class + cdef readonly object comment_class + cdef readonly object pi_class + cdef readonly object entity_class + def __cinit__(self): + self._lookup_function = _lookupDefaultElementClass + + def __init__(self, element=None, comment=None, pi=None, entity=None): + if element is None: + self.element_class = _Element + elif issubclass(element, ElementBase): + self.element_class = element + else: + raise TypeError, "element class must be subclass of ElementBase" + + if comment is None: + self.comment_class = _Comment + elif issubclass(comment, CommentBase): + self.comment_class = comment + else: + raise TypeError, "comment class must be subclass of CommentBase" + + if entity is None: + self.entity_class = _Entity + elif issubclass(entity, EntityBase): + self.entity_class = entity + else: + raise TypeError, "Entity class must be subclass of EntityBase" + + if pi is None: + self.pi_class = None # special case, see below + elif issubclass(pi, PIBase): + self.pi_class = pi + else: + raise TypeError, "PI class must be subclass of PIBase" + +cdef object _lookupDefaultElementClass(state, _Document _doc, xmlNode* c_node): + "Trivial class lookup function that always returns the default class." + if c_node.type == tree.XML_ELEMENT_NODE: + if state is not None: + return (state).element_class + else: + return _Element + elif c_node.type == tree.XML_COMMENT_NODE: + if state is not None: + return (state).comment_class + else: + return _Comment + elif c_node.type == tree.XML_ENTITY_REF_NODE: + if state is not None: + return (state).entity_class + else: + return _Entity + elif c_node.type == tree.XML_PI_NODE: + if state is None or (state).pi_class is None: + # special case XSLT-PI + if c_node.name is not NULL and c_node.content is not NULL: + if tree.xmlStrcmp(c_node.name, "xml-stylesheet") == 0: + if tree.xmlStrstr(c_node.content, "text/xsl") is not NULL or \ + tree.xmlStrstr(c_node.content, "text/xml") is not NULL: + return _XSLTProcessingInstruction + return _ProcessingInstruction + else: + return (state).pi_class + else: + assert False, f"Unknown node type: {c_node.type}" + + +################################################################################ +# attribute based lookup scheme + +cdef class AttributeBasedElementClassLookup(FallbackElementClassLookup): + """AttributeBasedElementClassLookup(self, attribute_name, class_mapping, fallback=None) + Checks an attribute of an Element and looks up the value in a + class dictionary. + + Arguments: + - attribute name - '{ns}name' style string + - class mapping - Python dict mapping attribute values to Element classes + - fallback - optional fallback lookup mechanism + + A None key in the class mapping will be checked if the attribute is + missing. + """ + cdef object _class_mapping + cdef tuple _pytag + cdef const_xmlChar* _c_ns + cdef const_xmlChar* _c_name + def __cinit__(self): + self._lookup_function = _attribute_class_lookup + + def __init__(self, attribute_name, class_mapping, + ElementClassLookup fallback=None): + self._pytag = _getNsTag(attribute_name) + ns, name = self._pytag + if ns is None: + self._c_ns = NULL + else: + self._c_ns = _xcstr(ns) + self._c_name = _xcstr(name) + self._class_mapping = dict(class_mapping) + + FallbackElementClassLookup.__init__(self, fallback) + +cdef object _attribute_class_lookup(state, _Document doc, xmlNode* c_node): + cdef AttributeBasedElementClassLookup lookup + cdef python.PyObject* dict_result + + lookup = state + if c_node.type == tree.XML_ELEMENT_NODE: + value = _attributeValueFromNsName( + c_node, lookup._c_ns, lookup._c_name) + dict_result = python.PyDict_GetItem(lookup._class_mapping, value) + if dict_result is not NULL: + cls = dict_result + _validateNodeClass(c_node, cls) + return cls + return _callLookupFallback(lookup, doc, c_node) + + +################################################################################ +# per-parser lookup scheme + +cdef class ParserBasedElementClassLookup(FallbackElementClassLookup): + """ParserBasedElementClassLookup(self, fallback=None) + Element class lookup based on the XML parser. + """ + def __cinit__(self): + self._lookup_function = _parser_class_lookup + +cdef object _parser_class_lookup(state, _Document doc, xmlNode* c_node): + if doc._parser._class_lookup is not None: + return doc._parser._class_lookup._lookup_function( + doc._parser._class_lookup, doc, c_node) + return _callLookupFallback(state, doc, c_node) + + +################################################################################ +# custom class lookup based on node type, namespace, name + +cdef class CustomElementClassLookup(FallbackElementClassLookup): + """CustomElementClassLookup(self, fallback=None) + Element class lookup based on a subclass method. + + You can inherit from this class and override the method:: + + lookup(self, type, doc, namespace, name) + + to lookup the element class for a node. Arguments of the method: + * type: one of 'element', 'comment', 'PI', 'entity' + * doc: document that the node is in + * namespace: namespace URI of the node (or None for comments/PIs/entities) + * name: name of the element/entity, None for comments, target for PIs + + If you return None from this method, the fallback will be called. + """ + def __cinit__(self): + self._lookup_function = _custom_class_lookup + + def lookup(self, type, doc, namespace, name): + "lookup(self, type, doc, namespace, name)" + return None + +cdef object _custom_class_lookup(state, _Document doc, xmlNode* c_node): + cdef CustomElementClassLookup lookup + + lookup = state + + if c_node.type == tree.XML_ELEMENT_NODE: + element_type = "element" + elif c_node.type == tree.XML_COMMENT_NODE: + element_type = "comment" + elif c_node.type == tree.XML_PI_NODE: + element_type = "PI" + elif c_node.type == tree.XML_ENTITY_REF_NODE: + element_type = "entity" + else: + element_type = "element" + if c_node.name is NULL: + name = None + else: + name = funicode(c_node.name) + c_str = tree._getNs(c_node) + ns = funicode(c_str) if c_str is not NULL else None + + cls = lookup.lookup(element_type, doc, ns, name) + if cls is not None: + _validateNodeClass(c_node, cls) + return cls + return _callLookupFallback(lookup, doc, c_node) + + +################################################################################ +# read-only tree based class lookup + +cdef class PythonElementClassLookup(FallbackElementClassLookup): + """PythonElementClassLookup(self, fallback=None) + Element class lookup based on a subclass method. + + This class lookup scheme allows access to the entire XML tree in + read-only mode. To use it, re-implement the ``lookup(self, doc, + root)`` method in a subclass:: + + from lxml import etree, pyclasslookup + + class MyElementClass(etree.ElementBase): + honkey = True + + class MyLookup(pyclasslookup.PythonElementClassLookup): + def lookup(self, doc, root): + if root.tag == "sometag": + return MyElementClass + else: + for child in root: + if child.tag == "someothertag": + return MyElementClass + # delegate to default + return None + + If you return None from this method, the fallback will be called. + + The first argument is the opaque document instance that contains + the Element. The second argument is a lightweight Element proxy + implementation that is only valid during the lookup. Do not try + to keep a reference to it. Once the lookup is done, the proxy + will be invalid. + + Also, you cannot wrap such a read-only Element in an ElementTree, + and you must take care not to keep a reference to them outside of + the `lookup()` method. + + Note that the API of the Element objects is not complete. It is + purely read-only and does not support all features of the normal + `lxml.etree` API (such as XPath, extended slicing or some + iteration methods). + + See https://lxml.de/element_classes.html + """ + def __cinit__(self): + self._lookup_function = _python_class_lookup + + def lookup(self, doc, element): + """lookup(self, doc, element) + + Override this method to implement your own lookup scheme. + """ + return None + +cdef object _python_class_lookup(state, _Document doc, tree.xmlNode* c_node): + cdef PythonElementClassLookup lookup + cdef _ReadOnlyProxy proxy + lookup = state + + proxy = _newReadOnlyProxy(None, c_node) + cls = lookup.lookup(doc, proxy) + _freeReadOnlyProxies(proxy) + + if cls is not None: + _validateNodeClass(c_node, cls) + return cls + return _callLookupFallback(lookup, doc, c_node) + +################################################################################ +# Global setup + +cdef _element_class_lookup_function LOOKUP_ELEMENT_CLASS +cdef object ELEMENT_CLASS_LOOKUP_STATE + +cdef void _setElementClassLookupFunction( + _element_class_lookup_function function, object state): + global LOOKUP_ELEMENT_CLASS, ELEMENT_CLASS_LOOKUP_STATE + if function is NULL: + state = DEFAULT_ELEMENT_CLASS_LOOKUP + function = DEFAULT_ELEMENT_CLASS_LOOKUP._lookup_function + + ELEMENT_CLASS_LOOKUP_STATE = state + LOOKUP_ELEMENT_CLASS = function + +def set_element_class_lookup(ElementClassLookup lookup = None): + """set_element_class_lookup(lookup = None) + + Set the global element class lookup method. + + This defines the main entry point for looking up element implementations. + The standard implementation uses the :class:`ParserBasedElementClassLookup` + to delegate to different lookup schemes for each parser. + + .. warning:: + + This should only be changed by applications, not by library packages. + In most cases, parser specific lookups should be preferred, + which can be configured via + :meth:`~lxml.etree.XMLParser.set_element_class_lookup` + (and the same for HTML parsers). + + Globally replacing the element class lookup by something other than a + :class:`ParserBasedElementClassLookup` will prevent parser specific lookup + schemes from working. Several tools rely on parser specific lookups, + including :mod:`lxml.html` and :mod:`lxml.objectify`. + """ + if lookup is None or lookup._lookup_function is NULL: + _setElementClassLookupFunction(NULL, None) + else: + _setElementClassLookupFunction(lookup._lookup_function, lookup) + +# default setup: parser delegation +cdef ParserBasedElementClassLookup DEFAULT_ELEMENT_CLASS_LOOKUP +DEFAULT_ELEMENT_CLASS_LOOKUP = ParserBasedElementClassLookup() + +set_element_class_lookup(DEFAULT_ELEMENT_CLASS_LOOKUP) diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/cleanup.pxi b/presentation/.venv/lib/python3.12/site-packages/lxml/cleanup.pxi new file mode 100644 index 0000000..8e266b3 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/cleanup.pxi @@ -0,0 +1,215 @@ +# functions for tree cleanup and removing elements from subtrees + +def cleanup_namespaces(tree_or_element, top_nsmap=None, keep_ns_prefixes=None): + """cleanup_namespaces(tree_or_element, top_nsmap=None, keep_ns_prefixes=None) + + Remove all namespace declarations from a subtree that are not used + by any of the elements or attributes in that tree. + + If a 'top_nsmap' is provided, it must be a mapping from prefixes + to namespace URIs. These namespaces will be declared on the top + element of the subtree before running the cleanup, which allows + moving namespace declarations to the top of the tree. + + If a 'keep_ns_prefixes' is provided, it must be a list of prefixes. + These prefixes will not be removed as part of the cleanup. + """ + element = _rootNodeOrRaise(tree_or_element) + c_element = element._c_node + + if top_nsmap: + doc = element._doc + # declare namespaces from nsmap, then apply them to the subtree + _setNodeNamespaces(c_element, doc, None, top_nsmap) + moveNodeToDocument(doc, c_element.doc, c_element) + + keep_ns_prefixes = ( + set([_utf8(prefix) for prefix in keep_ns_prefixes]) + if keep_ns_prefixes else None) + + _removeUnusedNamespaceDeclarations(c_element, keep_ns_prefixes) + + +def strip_attributes(tree_or_element, *attribute_names): + """strip_attributes(tree_or_element, *attribute_names) + + Delete all attributes with the provided attribute names from an + Element (or ElementTree) and its descendants. + + Attribute names can contain wildcards as in `_Element.iter`. + + Example usage:: + + strip_attributes(root_element, + 'simpleattr', + '{http://some/ns}attrname', + '{http://other/ns}*') + """ + cdef _MultiTagMatcher matcher + element = _rootNodeOrRaise(tree_or_element) + if not attribute_names: + return + + matcher = _MultiTagMatcher.__new__(_MultiTagMatcher, attribute_names) + matcher.cacheTags(element._doc) + if matcher.rejectsAllAttributes(): + return + _strip_attributes(element._c_node, matcher) + + +cdef _strip_attributes(xmlNode* c_node, _MultiTagMatcher matcher): + cdef xmlAttr* c_attr + cdef xmlAttr* c_next_attr + tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_node, c_node, 1) + if c_node.type == tree.XML_ELEMENT_NODE: + c_attr = c_node.properties + while c_attr is not NULL: + c_next_attr = c_attr.next + if matcher.matchesAttribute(c_attr): + tree.xmlRemoveProp(c_attr) + c_attr = c_next_attr + tree.END_FOR_EACH_ELEMENT_FROM(c_node) + + +def strip_elements(tree_or_element, *tag_names, bint with_tail=True): + """strip_elements(tree_or_element, *tag_names, with_tail=True) + + Delete all elements with the provided tag names from a tree or + subtree. This will remove the elements and their entire subtree, + including all their attributes, text content and descendants. It + will also remove the tail text of the element unless you + explicitly set the ``with_tail`` keyword argument option to False. + + Tag names can contain wildcards as in `_Element.iter`. + + Note that this will not delete the element (or ElementTree root + element) that you passed even if it matches. It will only treat + its descendants. If you want to include the root element, check + its tag name directly before even calling this function. + + Example usage:: + + strip_elements(some_element, + 'simpletagname', # non-namespaced tag + '{http://some/ns}tagname', # namespaced tag + '{http://some/other/ns}*' # any tag from a namespace + lxml.etree.Comment # comments + ) + """ + cdef _MultiTagMatcher matcher + doc = _documentOrRaise(tree_or_element) + element = _rootNodeOrRaise(tree_or_element) + if not tag_names: + return + + matcher = _MultiTagMatcher.__new__(_MultiTagMatcher, tag_names) + matcher.cacheTags(doc) + if matcher.rejectsAll(): + return + + if isinstance(tree_or_element, _ElementTree): + # include PIs and comments next to the root node + if matcher.matchesType(tree.XML_COMMENT_NODE): + _removeSiblings(element._c_node, tree.XML_COMMENT_NODE, with_tail) + if matcher.matchesType(tree.XML_PI_NODE): + _removeSiblings(element._c_node, tree.XML_PI_NODE, with_tail) + _strip_elements(doc, element._c_node, matcher, with_tail) + +cdef _strip_elements(_Document doc, xmlNode* c_node, _MultiTagMatcher matcher, + bint with_tail): + cdef xmlNode* c_child + cdef xmlNode* c_next + + tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_node, c_node, 1) + if c_node.type == tree.XML_ELEMENT_NODE: + # we run through the children here to prevent any problems + # with the tree iteration which would occur if we unlinked the + # c_node itself + c_child = _findChildForwards(c_node, 0) + while c_child is not NULL: + c_next = _nextElement(c_child) + if matcher.matches(c_child): + if c_child.type == tree.XML_ELEMENT_NODE: + if not with_tail: + tree.xmlUnlinkNode(c_child) + _removeNode(doc, c_child) + else: + if with_tail: + _removeText(c_child.next) + tree.xmlUnlinkNode(c_child) + attemptDeallocation(c_child) + c_child = c_next + tree.END_FOR_EACH_ELEMENT_FROM(c_node) + + +def strip_tags(tree_or_element, *tag_names): + """strip_tags(tree_or_element, *tag_names) + + Delete all elements with the provided tag names from a tree or + subtree. This will remove the elements and their attributes, but + *not* their text/tail content or descendants. Instead, it will + merge the text content and children of the element into its + parent. + + Tag names can contain wildcards as in `_Element.iter`. + + Note that this will not delete the element (or ElementTree root + element) that you passed even if it matches. It will only treat + its descendants. + + Example usage:: + + strip_tags(some_element, + 'simpletagname', # non-namespaced tag + '{http://some/ns}tagname', # namespaced tag + '{http://some/other/ns}*' # any tag from a namespace + Comment # comments (including their text!) + ) + """ + cdef _MultiTagMatcher matcher + doc = _documentOrRaise(tree_or_element) + element = _rootNodeOrRaise(tree_or_element) + if not tag_names: + return + + matcher = _MultiTagMatcher.__new__(_MultiTagMatcher, tag_names) + matcher.cacheTags(doc) + if matcher.rejectsAll(): + return + + if isinstance(tree_or_element, _ElementTree): + # include PIs and comments next to the root node + if matcher.matchesType(tree.XML_COMMENT_NODE): + _removeSiblings(element._c_node, tree.XML_COMMENT_NODE, 0) + if matcher.matchesType(tree.XML_PI_NODE): + _removeSiblings(element._c_node, tree.XML_PI_NODE, 0) + _strip_tags(doc, element._c_node, matcher) + +cdef _strip_tags(_Document doc, xmlNode* c_node, _MultiTagMatcher matcher): + cdef xmlNode* c_child + cdef xmlNode* c_next + + tree.BEGIN_FOR_EACH_ELEMENT_FROM(c_node, c_node, 1) + if c_node.type == tree.XML_ELEMENT_NODE: + # we run through the children here to prevent any problems + # with the tree iteration which would occur if we unlinked the + # c_node itself + c_child = _findChildForwards(c_node, 0) + while c_child is not NULL: + if not matcher.matches(c_child): + c_child = _nextElement(c_child) + continue + if c_child.type == tree.XML_ELEMENT_NODE: + c_next = _findChildForwards(c_child, 0) or _nextElement(c_child) + _replaceNodeByChildren(doc, c_child) + if not attemptDeallocation(c_child): + if c_child.nsDef is not NULL: + # make namespaces absolute + moveNodeToDocument(doc, doc._c_doc, c_child) + c_child = c_next + else: + c_next = _nextElement(c_child) + tree.xmlUnlinkNode(c_child) + attemptDeallocation(c_child) + c_child = c_next + tree.END_FOR_EACH_ELEMENT_FROM(c_node) diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/cssselect.py b/presentation/.venv/lib/python3.12/site-packages/lxml/cssselect.py new file mode 100644 index 0000000..54cd75a --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/cssselect.py @@ -0,0 +1,101 @@ +"""CSS Selectors based on XPath. + +This module supports selecting XML/HTML tags based on CSS selectors. +See the `CSSSelector` class for details. + +This is a thin wrapper around cssselect 0.7 or later. +""" + + +from . import etree +try: + import cssselect as external_cssselect +except ImportError: + raise ImportError( + 'cssselect does not seem to be installed. ' + 'See https://pypi.org/project/cssselect/') + + +SelectorSyntaxError = external_cssselect.SelectorSyntaxError +ExpressionError = external_cssselect.ExpressionError +SelectorError = external_cssselect.SelectorError + + +__all__ = ['SelectorSyntaxError', 'ExpressionError', 'SelectorError', + 'CSSSelector'] + + +class LxmlTranslator(external_cssselect.GenericTranslator): + """ + A custom CSS selector to XPath translator with lxml-specific extensions. + """ + def xpath_contains_function(self, xpath, function): + # Defined there, removed in later drafts: + # http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#content-selectors + if function.argument_types() not in (['STRING'], ['IDENT']): + raise ExpressionError( + "Expected a single string or ident for :contains(), got %r" + % function.arguments) + value = function.arguments[0].value + return xpath.add_condition( + 'contains(__lxml_internal_css:lower-case(string(.)), %s)' + % self.xpath_literal(value.lower())) + + +class LxmlHTMLTranslator(LxmlTranslator, external_cssselect.HTMLTranslator): + """ + lxml extensions + HTML support. + """ + + +def _make_lower_case(context, s): + return s.lower() + +ns = etree.FunctionNamespace('http://codespeak.net/lxml/css/') +ns.prefix = '__lxml_internal_css' +ns['lower-case'] = _make_lower_case + + +class CSSSelector(etree.XPath): + """A CSS selector. + + Usage:: + + >>> from lxml import etree, cssselect + >>> select = cssselect.CSSSelector("a tag > child") + + >>> root = etree.XML("TEXT") + >>> [ el.tag for el in select(root) ] + ['child'] + + To use CSS namespaces, you need to pass a prefix-to-namespace + mapping as ``namespaces`` keyword argument:: + + >>> rdfns = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' + >>> select_ns = cssselect.CSSSelector('root > rdf|Description', + ... namespaces={'rdf': rdfns}) + + >>> rdf = etree.XML(( + ... '' + ... 'blah' + ... '') % rdfns) + >>> [(el.tag, el.text) for el in select_ns(rdf)] + [('{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description', 'blah')] + + """ + def __init__(self, css, namespaces=None, translator='xml'): + if translator == 'xml': + translator = LxmlTranslator() + elif translator == 'html': + translator = LxmlHTMLTranslator() + elif translator == 'xhtml': + translator = LxmlHTMLTranslator(xhtml=True) + path = translator.css_to_xpath(css) + super().__init__(path, namespaces=namespaces) + self.css = css + + def __repr__(self): + return '<%s %x for %r>' % ( + self.__class__.__name__, + abs(id(self)), + self.css) diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/debug.pxi b/presentation/.venv/lib/python3.12/site-packages/lxml/debug.pxi new file mode 100644 index 0000000..d728e84 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/debug.pxi @@ -0,0 +1,36 @@ +@cython.final +@cython.internal +cdef class _MemDebug: + """Debugging support for the memory allocation in libxml2. + """ + def bytes_used(self): + """bytes_used(self) + + Returns the total amount of memory (in bytes) currently used by libxml2. + Note that libxml2 constrains this value to a C int, which limits + the accuracy on 64 bit systems. + """ + return tree.xmlMemUsed() + + def blocks_used(self): + """blocks_used(self) + + Returns the total number of memory blocks currently allocated by libxml2. + Note that libxml2 constrains this value to a C int, which limits + the accuracy on 64 bit systems. + """ + return tree.xmlMemBlocks() + + def dict_size(self): + """dict_size(self) + + Returns the current size of the global name dictionary used by libxml2 + for the current thread. Each thread has its own dictionary. + """ + c_dict = __GLOBAL_PARSER_CONTEXT._getThreadDict(NULL) + if c_dict is NULL: + raise MemoryError() + return tree.xmlDictSize(c_dict) + + +memory_debugger = _MemDebug() diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/docloader.pxi b/presentation/.venv/lib/python3.12/site-packages/lxml/docloader.pxi new file mode 100644 index 0000000..07e0cd7 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/docloader.pxi @@ -0,0 +1,179 @@ +# Custom resolver API + +ctypedef enum _InputDocumentDataType: + PARSER_DATA_INVALID + PARSER_DATA_EMPTY + PARSER_DATA_STRING + PARSER_DATA_FILENAME + PARSER_DATA_FILE + +@cython.final +@cython.internal +cdef class _InputDocument: + cdef _InputDocumentDataType _type + cdef bytes _data_bytes + cdef object _filename + cdef object _file + cdef bint _close_file + + def __cinit__(self): + self._type = PARSER_DATA_INVALID + + +cdef class Resolver: + "This is the base class of all resolvers." + def resolve(self, system_url, public_id, context): + """resolve(self, system_url, public_id, context) + + Override this method to resolve an external source by + ``system_url`` and ``public_id``. The third argument is an + opaque context object. + + Return the result of one of the ``resolve_*()`` methods. + """ + return None + + def resolve_empty(self, context): + """resolve_empty(self, context) + + Return an empty input document. + + Pass context as parameter. + """ + cdef _InputDocument doc_ref + doc_ref = _InputDocument() + doc_ref._type = PARSER_DATA_EMPTY + return doc_ref + + def resolve_string(self, string, context, *, base_url=None): + """resolve_string(self, string, context, base_url=None) + + Return a parsable string as input document. + + Pass data string and context as parameters. You can pass the + source URL or filename through the ``base_url`` keyword + argument. + """ + cdef _InputDocument doc_ref + if isinstance(string, unicode): + string = (string).encode('utf8') + elif not isinstance(string, bytes): + raise TypeError, "argument must be a byte string or unicode string" + doc_ref = _InputDocument() + doc_ref._type = PARSER_DATA_STRING + doc_ref._data_bytes = string + if base_url is not None: + doc_ref._filename = _encodeFilename(base_url) + return doc_ref + + def resolve_filename(self, filename, context): + """resolve_filename(self, filename, context) + + Return the name of a parsable file as input document. + + Pass filename and context as parameters. You can also pass a + URL with an HTTP, FTP or file target. + """ + cdef _InputDocument doc_ref + doc_ref = _InputDocument() + doc_ref._type = PARSER_DATA_FILENAME + doc_ref._filename = _encodeFilename(filename) + return doc_ref + + def resolve_file(self, f, context, *, base_url=None, bint close=True): + """resolve_file(self, f, context, base_url=None, close=True) + + Return an open file-like object as input document. + + Pass open file and context as parameters. You can pass the + base URL or filename of the file through the ``base_url`` + keyword argument. If the ``close`` flag is True (the + default), the file will be closed after reading. + + Note that using ``.resolve_filename()`` is more efficient, + especially in threaded environments. + """ + cdef _InputDocument doc_ref + try: + f.read + except AttributeError: + raise TypeError, "Argument is not a file-like object" + doc_ref = _InputDocument() + doc_ref._type = PARSER_DATA_FILE + if base_url is not None: + doc_ref._filename = _encodeFilename(base_url) + else: + doc_ref._filename = _getFilenameForFile(f) + doc_ref._close_file = close + doc_ref._file = f + return doc_ref + +@cython.final +@cython.internal +cdef class _ResolverRegistry: + cdef object _resolvers + cdef Resolver _default_resolver + def __cinit__(self, Resolver default_resolver=None): + self._resolvers = set() + self._default_resolver = default_resolver + + def add(self, Resolver resolver not None): + """add(self, resolver) + + Register a resolver. + + For each requested entity, the 'resolve' method of the resolver will + be called and the result will be passed to the parser. If this method + returns None, the request will be delegated to other resolvers or the + default resolver. The resolvers will be tested in an arbitrary order + until the first match is found. + """ + self._resolvers.add(resolver) + + def remove(self, resolver): + "remove(self, resolver)" + self._resolvers.discard(resolver) + + cdef _ResolverRegistry _copy(self): + cdef _ResolverRegistry registry + registry = _ResolverRegistry(self._default_resolver) + registry._resolvers = self._resolvers.copy() + return registry + + def copy(self): + "copy(self)" + return self._copy() + + def resolve(self, system_url, public_id, context): + "resolve(self, system_url, public_id, context)" + for resolver in self._resolvers: + result = resolver.resolve(system_url, public_id, context) + if result is not None: + return result + if self._default_resolver is None: + return None + return self._default_resolver.resolve(system_url, public_id, context) + + def __repr__(self): + return repr(self._resolvers) + + +@cython.internal +cdef class _ResolverContext(_ExceptionContext): + cdef _ResolverRegistry _resolvers + cdef _TempStore _storage + + @cython.final + cdef int clear(self) except -1: + _ExceptionContext.clear(self) + self._storage.clear() + return 0 + + +cdef _initResolverContext(_ResolverContext context, + _ResolverRegistry resolvers): + if resolvers is None: + context._resolvers = _ResolverRegistry() + else: + context._resolvers = resolvers + context._storage = _TempStore() diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/doctestcompare.py b/presentation/.venv/lib/python3.12/site-packages/lxml/doctestcompare.py new file mode 100644 index 0000000..8099771 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/doctestcompare.py @@ -0,0 +1,488 @@ +""" +lxml-based doctest output comparison. + +Note: normally, you should just import the `lxml.usedoctest` and +`lxml.html.usedoctest` modules from within a doctest, instead of this +one:: + + >>> import lxml.usedoctest # for XML output + + >>> import lxml.html.usedoctest # for HTML output + +To use this module directly, you must call ``lxmldoctest.install()``, +which will cause doctest to use this in all subsequent calls. + +This changes the way output is checked and comparisons are made for +XML or HTML-like content. + +XML or HTML content is noticed because the example starts with ``<`` +(it's HTML if it starts with ```` or include an ``any`` +attribute in the tag. An ``any`` tag matches any tag, while the +attribute matches any and all attributes. + +When a match fails, the reformatted example and gotten text is +displayed (indented), and a rough diff-like output is given. Anything +marked with ``+`` is in the output but wasn't supposed to be, and +similarly ``-`` means its in the example but wasn't in the output. + +You can disable parsing on one line with ``# doctest:+NOPARSE_MARKUP`` +""" + +from lxml import etree +import sys +import re +import doctest +try: + from html import escape as html_escape +except ImportError: + from cgi import escape as html_escape + +__all__ = ['PARSE_HTML', 'PARSE_XML', 'NOPARSE_MARKUP', 'LXMLOutputChecker', + 'LHTMLOutputChecker', 'install', 'temp_install'] + +PARSE_HTML = doctest.register_optionflag('PARSE_HTML') +PARSE_XML = doctest.register_optionflag('PARSE_XML') +NOPARSE_MARKUP = doctest.register_optionflag('NOPARSE_MARKUP') + +OutputChecker = doctest.OutputChecker + +def strip(v): + if v is None: + return None + else: + return v.strip() + +def norm_whitespace(v): + return _norm_whitespace_re.sub(' ', v) + +_html_parser = etree.HTMLParser(recover=False, remove_blank_text=True) + +def html_fromstring(html): + return etree.fromstring(html, _html_parser) + +# We use this to distinguish repr()s from elements: +_repr_re = re.compile(r'^<[^>]+ (at|object) ') +_norm_whitespace_re = re.compile(r'[ \t\n][ \t\n]+') + +class LXMLOutputChecker(OutputChecker): + + empty_tags = ( + 'param', 'img', 'area', 'br', 'basefont', 'input', + 'base', 'meta', 'link', 'col') + + def get_default_parser(self): + return etree.XML + + def check_output(self, want, got, optionflags): + alt_self = getattr(self, '_temp_override_self', None) + if alt_self is not None: + super_method = self._temp_call_super_check_output + self = alt_self + else: + super_method = OutputChecker.check_output + parser = self.get_parser(want, got, optionflags) + if not parser: + return super_method( + self, want, got, optionflags) + try: + want_doc = parser(want) + except etree.XMLSyntaxError: + return False + try: + got_doc = parser(got) + except etree.XMLSyntaxError: + return False + return self.compare_docs(want_doc, got_doc) + + def get_parser(self, want, got, optionflags): + parser = None + if NOPARSE_MARKUP & optionflags: + return None + if PARSE_HTML & optionflags: + parser = html_fromstring + elif PARSE_XML & optionflags: + parser = etree.XML + elif (want.strip().lower().startswith('' % el.tag + return '<%s %s>' % (el.tag, ' '.join(attrs)) + + def format_end_tag(self, el): + if isinstance(el, etree.CommentBase): + # FIXME: probably PIs should be handled specially too? + return '-->' + return '' % el.tag + + def collect_diff(self, want, got, html, indent): + parts = [] + if not len(want) and not len(got): + parts.append(' '*indent) + parts.append(self.collect_diff_tag(want, got)) + if not self.html_empty_tag(got, html): + parts.append(self.collect_diff_text(want.text, got.text)) + parts.append(self.collect_diff_end_tag(want, got)) + parts.append(self.collect_diff_text(want.tail, got.tail)) + parts.append('\n') + return ''.join(parts) + parts.append(' '*indent) + parts.append(self.collect_diff_tag(want, got)) + parts.append('\n') + if strip(want.text) or strip(got.text): + parts.append(' '*indent) + parts.append(self.collect_diff_text(want.text, got.text)) + parts.append('\n') + want_children = list(want) + got_children = list(got) + while want_children or got_children: + if not want_children: + parts.append(self.format_doc(got_children.pop(0), html, indent+2, '+')) + continue + if not got_children: + parts.append(self.format_doc(want_children.pop(0), html, indent+2, '-')) + continue + parts.append(self.collect_diff( + want_children.pop(0), got_children.pop(0), html, indent+2)) + parts.append(' '*indent) + parts.append(self.collect_diff_end_tag(want, got)) + parts.append('\n') + if strip(want.tail) or strip(got.tail): + parts.append(' '*indent) + parts.append(self.collect_diff_text(want.tail, got.tail)) + parts.append('\n') + return ''.join(parts) + + def collect_diff_tag(self, want, got): + if not self.tag_compare(want.tag, got.tag): + tag = '%s (got: %s)' % (want.tag, got.tag) + else: + tag = got.tag + attrs = [] + any = want.tag == 'any' or 'any' in want.attrib + for name, value in sorted(got.attrib.items()): + if name not in want.attrib and not any: + attrs.append('+%s="%s"' % (name, self.format_text(value, False))) + else: + if name in want.attrib: + text = self.collect_diff_text(want.attrib[name], value, False) + else: + text = self.format_text(value, False) + attrs.append('%s="%s"' % (name, text)) + if not any: + for name, value in sorted(want.attrib.items()): + if name in got.attrib: + continue + attrs.append('-%s="%s"' % (name, self.format_text(value, False))) + if attrs: + tag = '<%s %s>' % (tag, ' '.join(attrs)) + else: + tag = '<%s>' % tag + return tag + + def collect_diff_end_tag(self, want, got): + if want.tag != got.tag: + tag = '%s (got: %s)' % (want.tag, got.tag) + else: + tag = got.tag + return '' % tag + + def collect_diff_text(self, want, got, strip=True): + if self.text_compare(want, got, strip): + if not got: + return '' + return self.format_text(got, strip) + text = '%s (got: %s)' % (want, got) + return self.format_text(text, strip) + +class LHTMLOutputChecker(LXMLOutputChecker): + def get_default_parser(self): + return html_fromstring + +def install(html=False): + """ + Install doctestcompare for all future doctests. + + If html is true, then by default the HTML parser will be used; + otherwise the XML parser is used. + """ + if html: + doctest.OutputChecker = LHTMLOutputChecker + else: + doctest.OutputChecker = LXMLOutputChecker + +def temp_install(html=False, del_module=None): + """ + Use this *inside* a doctest to enable this checker for this + doctest only. + + If html is true, then by default the HTML parser will be used; + otherwise the XML parser is used. + """ + if html: + Checker = LHTMLOutputChecker + else: + Checker = LXMLOutputChecker + frame = _find_doctest_frame() + dt_self = frame.f_locals['self'] + checker = Checker() + old_checker = dt_self._checker + dt_self._checker = checker + # The unfortunate thing is that there is a local variable 'check' + # in the function that runs the doctests, that is a bound method + # into the output checker. We have to update that. We can't + # modify the frame, so we have to modify the object in place. The + # only way to do this is to actually change the func_code + # attribute of the method. We change it, and then wait for + # __record_outcome to be run, which signals the end of the __run + # method, at which point we restore the previous check_output + # implementation. + check_func = frame.f_locals['check'].__func__ + checker_check_func = checker.check_output.__func__ + # Because we can't patch up func_globals, this is the only global + # in check_output that we care about: + doctest.etree = etree + _RestoreChecker(dt_self, old_checker, checker, + check_func, checker_check_func, + del_module) + +class _RestoreChecker: + def __init__(self, dt_self, old_checker, new_checker, check_func, clone_func, + del_module): + self.dt_self = dt_self + self.checker = old_checker + self.checker._temp_call_super_check_output = self.call_super + self.checker._temp_override_self = new_checker + self.check_func = check_func + self.clone_func = clone_func + self.del_module = del_module + self.install_clone() + self.install_dt_self() + def install_clone(self): + self.func_code = self.check_func.__code__ + self.func_globals = self.check_func.__globals__ + self.check_func.__code__ = self.clone_func.__code__ + def uninstall_clone(self): + self.check_func.__code__ = self.func_code + def install_dt_self(self): + self.prev_func = self.dt_self._DocTestRunner__record_outcome + self.dt_self._DocTestRunner__record_outcome = self + def uninstall_dt_self(self): + self.dt_self._DocTestRunner__record_outcome = self.prev_func + def uninstall_module(self): + if self.del_module: + import sys + del sys.modules[self.del_module] + if '.' in self.del_module: + package, module = self.del_module.rsplit('.', 1) + package_mod = sys.modules[package] + delattr(package_mod, module) + def __call__(self, *args, **kw): + self.uninstall_clone() + self.uninstall_dt_self() + del self.checker._temp_override_self + del self.checker._temp_call_super_check_output + result = self.prev_func(*args, **kw) + self.uninstall_module() + return result + def call_super(self, *args, **kw): + self.uninstall_clone() + try: + return self.check_func(*args, **kw) + finally: + self.install_clone() + +def _find_doctest_frame(): + import sys + frame = sys._getframe(1) + while frame: + l = frame.f_locals + if 'BOOM' in l: + # Sign of doctest + return frame + frame = frame.f_back + raise LookupError( + "Could not find doctest (only use this function *inside* a doctest)") + +__test__ = { + 'basic': ''' + >>> temp_install() + >>> print """stuff""" + ... + >>> print """""" + + + + >>> print """blahblahblah""" # doctest: +NOPARSE_MARKUP, +ELLIPSIS + ...foo /> + '''} + +if __name__ == '__main__': + import doctest + doctest.testmod() + + diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/dtd.pxi b/presentation/.venv/lib/python3.12/site-packages/lxml/dtd.pxi new file mode 100644 index 0000000..ee1b3d4 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/dtd.pxi @@ -0,0 +1,479 @@ +# support for DTD validation +from lxml.includes cimport dtdvalid + +cdef class DTDError(LxmlError): + """Base class for DTD errors. + """ + +cdef class DTDParseError(DTDError): + """Error while parsing a DTD. + """ + +cdef class DTDValidateError(DTDError): + """Error while validating an XML document with a DTD. + """ + + +cdef inline int _assertValidDTDNode(node, void *c_node) except -1: + assert c_node is not NULL, "invalid DTD proxy at %s" % id(node) + + +@cython.final +@cython.internal +@cython.freelist(8) +cdef class _DTDElementContentDecl: + cdef DTD _dtd + cdef tree.xmlElementContent* _c_node + + def __repr__(self): + return "<%s.%s object name=%r type=%r occur=%r at 0x%x>" % (self.__class__.__module__, self.__class__.__name__, self.name, self.type, self.occur, id(self)) + + @property + def name(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.name) + + @property + def type(self): + _assertValidDTDNode(self, self._c_node) + cdef int type = self._c_node.type + if type == tree.XML_ELEMENT_CONTENT_PCDATA: + return "pcdata" + elif type == tree.XML_ELEMENT_CONTENT_ELEMENT: + return "element" + elif type == tree.XML_ELEMENT_CONTENT_SEQ: + return "seq" + elif type == tree.XML_ELEMENT_CONTENT_OR: + return "or" + else: + return None + + @property + def occur(self): + _assertValidDTDNode(self, self._c_node) + cdef int occur = self._c_node.ocur + if occur == tree.XML_ELEMENT_CONTENT_ONCE: + return "once" + elif occur == tree.XML_ELEMENT_CONTENT_OPT: + return "opt" + elif occur == tree.XML_ELEMENT_CONTENT_MULT: + return "mult" + elif occur == tree.XML_ELEMENT_CONTENT_PLUS: + return "plus" + else: + return None + + @property + def left(self): + _assertValidDTDNode(self, self._c_node) + c1 = self._c_node.c1 + if c1: + node = <_DTDElementContentDecl>_DTDElementContentDecl.__new__(_DTDElementContentDecl) + node._dtd = self._dtd + node._c_node = c1 + return node + else: + return None + + @property + def right(self): + _assertValidDTDNode(self, self._c_node) + c2 = self._c_node.c2 + if c2: + node = <_DTDElementContentDecl>_DTDElementContentDecl.__new__(_DTDElementContentDecl) + node._dtd = self._dtd + node._c_node = c2 + return node + else: + return None + + +@cython.final +@cython.internal +@cython.freelist(8) +cdef class _DTDAttributeDecl: + cdef DTD _dtd + cdef tree.xmlAttribute* _c_node + + def __repr__(self): + return "<%s.%s object name=%r elemname=%r prefix=%r type=%r default=%r default_value=%r at 0x%x>" % (self.__class__.__module__, self.__class__.__name__, self.name, self.elemname, self.prefix, self.type, self.default, self.default_value, id(self)) + + @property + def name(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.name) + + @property + def elemname(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.elem) + + @property + def prefix(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.prefix) + + @property + def type(self): + _assertValidDTDNode(self, self._c_node) + cdef int type = self._c_node.atype + if type == tree.XML_ATTRIBUTE_CDATA: + return "cdata" + elif type == tree.XML_ATTRIBUTE_ID: + return "id" + elif type == tree.XML_ATTRIBUTE_IDREF: + return "idref" + elif type == tree.XML_ATTRIBUTE_IDREFS: + return "idrefs" + elif type == tree.XML_ATTRIBUTE_ENTITY: + return "entity" + elif type == tree.XML_ATTRIBUTE_ENTITIES: + return "entities" + elif type == tree.XML_ATTRIBUTE_NMTOKEN: + return "nmtoken" + elif type == tree.XML_ATTRIBUTE_NMTOKENS: + return "nmtokens" + elif type == tree.XML_ATTRIBUTE_ENUMERATION: + return "enumeration" + elif type == tree.XML_ATTRIBUTE_NOTATION: + return "notation" + else: + return None + + @property + def default(self): + _assertValidDTDNode(self, self._c_node) + cdef int default = self._c_node.def_ + if default == tree.XML_ATTRIBUTE_NONE: + return "none" + elif default == tree.XML_ATTRIBUTE_REQUIRED: + return "required" + elif default == tree.XML_ATTRIBUTE_IMPLIED: + return "implied" + elif default == tree.XML_ATTRIBUTE_FIXED: + return "fixed" + else: + return None + + @property + def default_value(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.defaultValue) + + def itervalues(self): + _assertValidDTDNode(self, self._c_node) + cdef tree.xmlEnumeration *c_node = self._c_node.tree + while c_node is not NULL: + yield funicode(c_node.name) + c_node = c_node.next + + def values(self): + return list(self.itervalues()) + + +@cython.final +@cython.internal +@cython.freelist(8) +cdef class _DTDElementDecl: + cdef DTD _dtd + cdef tree.xmlElement* _c_node + + def __repr__(self): + return "<%s.%s object name=%r prefix=%r type=%r at 0x%x>" % (self.__class__.__module__, self.__class__.__name__, self.name, self.prefix, self.type, id(self)) + + @property + def name(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.name) + + @property + def prefix(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.prefix) + + @property + def type(self): + _assertValidDTDNode(self, self._c_node) + cdef int type = self._c_node.etype + if type == tree.XML_ELEMENT_TYPE_UNDEFINED: + return "undefined" + elif type == tree.XML_ELEMENT_TYPE_EMPTY: + return "empty" + elif type == tree.XML_ELEMENT_TYPE_ANY: + return "any" + elif type == tree.XML_ELEMENT_TYPE_MIXED: + return "mixed" + elif type == tree.XML_ELEMENT_TYPE_ELEMENT: + return "element" + else: + return None + + @property + def content(self): + _assertValidDTDNode(self, self._c_node) + cdef tree.xmlElementContent *content = self._c_node.content + if content: + node = <_DTDElementContentDecl>_DTDElementContentDecl.__new__(_DTDElementContentDecl) + node._dtd = self._dtd + node._c_node = content + return node + else: + return None + + def iterattributes(self): + _assertValidDTDNode(self, self._c_node) + cdef tree.xmlAttribute *c_node = self._c_node.attributes + while c_node: + node = <_DTDAttributeDecl>_DTDAttributeDecl.__new__(_DTDAttributeDecl) + node._dtd = self._dtd + node._c_node = c_node + yield node + c_node = c_node.nexth + + def attributes(self): + return list(self.iterattributes()) + + +@cython.final +@cython.internal +@cython.freelist(8) +cdef class _DTDEntityDecl: + cdef DTD _dtd + cdef tree.xmlEntity* _c_node + def __repr__(self): + return "<%s.%s object name=%r at 0x%x>" % (self.__class__.__module__, self.__class__.__name__, self.name, id(self)) + + @property + def name(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.name) + + @property + def orig(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.orig) + + @property + def content(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.content) + + @property + def system_url(self): + _assertValidDTDNode(self, self._c_node) + return funicodeOrNone(self._c_node.SystemID) + + +################################################################################ +# DTD + +cdef class DTD(_Validator): + """DTD(self, file=None, external_id=None) + A DTD validator. + + Can load from filesystem directly given a filename or file-like object. + Alternatively, pass the keyword parameter ``external_id`` to load from a + catalog. + """ + cdef tree.xmlDtd* _c_dtd + def __init__(self, file=None, *, external_id=None): + _Validator.__init__(self) + if file is not None: + file = _getFSPathOrObject(file) + if _isString(file): + file = _encodeFilename(file) + with self._error_log: + orig_loader = _register_document_loader() + self._c_dtd = xmlparser.xmlParseDTD(NULL, _xcstr(file)) + _reset_document_loader(orig_loader) + elif hasattr(file, 'read'): + orig_loader = _register_document_loader() + self._c_dtd = _parseDtdFromFilelike(file) + _reset_document_loader(orig_loader) + else: + raise DTDParseError, "file must be a filename, file-like or path-like object" + elif external_id is not None: + external_id_utf = _utf8(external_id) + with self._error_log: + orig_loader = _register_document_loader() + self._c_dtd = xmlparser.xmlParseDTD(external_id_utf, NULL) + _reset_document_loader(orig_loader) + else: + raise DTDParseError, "either filename or external ID required" + + if self._c_dtd is NULL: + raise DTDParseError( + self._error_log._buildExceptionMessage("error parsing DTD"), + self._error_log) + + @property + def name(self): + if self._c_dtd is NULL: + return None + return funicodeOrNone(self._c_dtd.name) + + @property + def external_id(self): + if self._c_dtd is NULL: + return None + return funicodeOrNone(self._c_dtd.ExternalID) + + @property + def system_url(self): + if self._c_dtd is NULL: + return None + return funicodeOrNone(self._c_dtd.SystemID) + + def iterelements(self): + cdef tree.xmlNode *c_node = self._c_dtd.children if self._c_dtd is not NULL else NULL + while c_node is not NULL: + if c_node.type == tree.XML_ELEMENT_DECL: + node = _DTDElementDecl() + node._dtd = self + node._c_node = c_node + yield node + c_node = c_node.next + + def elements(self): + return list(self.iterelements()) + + def iterentities(self): + cdef tree.xmlNode *c_node = self._c_dtd.children if self._c_dtd is not NULL else NULL + while c_node is not NULL: + if c_node.type == tree.XML_ENTITY_DECL: + node = _DTDEntityDecl() + node._dtd = self + node._c_node = c_node + yield node + c_node = c_node.next + + def entities(self): + return list(self.iterentities()) + + def __dealloc__(self): + tree.xmlFreeDtd(self._c_dtd) + + def __call__(self, etree): + """__call__(self, etree) + + Validate doc using the DTD. + + Returns true if the document is valid, false if not. + """ + cdef _Document doc + cdef _Element root_node + cdef xmlDoc* c_doc + cdef dtdvalid.xmlValidCtxt* valid_ctxt + cdef int ret = -1 + + assert self._c_dtd is not NULL, "DTD not initialised" + doc = _documentOrRaise(etree) + root_node = _rootNodeOrRaise(etree) + + valid_ctxt = dtdvalid.xmlNewValidCtxt() + if valid_ctxt is NULL: + raise DTDError("Failed to create validation context") + + # work around error reporting bug in libxml2 <= 2.9.1 (and later?) + # https://bugzilla.gnome.org/show_bug.cgi?id=724903 + valid_ctxt.error = _nullGenericErrorFunc + valid_ctxt.userData = NULL + + try: + with self._error_log: + c_doc = _fakeRootDoc(doc._c_doc, root_node._c_node) + ret = dtdvalid.xmlValidateDtd(valid_ctxt, c_doc, self._c_dtd) + _destroyFakeDoc(doc._c_doc, c_doc) + finally: + dtdvalid.xmlFreeValidCtxt(valid_ctxt) + + if ret == -1: + raise DTDValidateError("Internal error in DTD validation", + self._error_log) + return ret == 1 + + +cdef tree.xmlDtd* _parseDtdFromFilelike(file) except NULL: + cdef _ExceptionContext exc_context + cdef _FileReaderContext dtd_parser + cdef _ErrorLog error_log + cdef tree.xmlDtd* c_dtd = NULL + exc_context = _ExceptionContext() + dtd_parser = _FileReaderContext(file, exc_context, None) + error_log = _ErrorLog() + + with error_log: + c_dtd = dtd_parser._readDtd() + + exc_context._raise_if_stored() + if c_dtd is NULL: + raise DTDParseError("error parsing DTD", error_log) + return c_dtd + +cdef DTD _dtdFactory(tree.xmlDtd* c_dtd): + # do not run through DTD.__init__()! + cdef DTD dtd + if c_dtd is NULL: + return None + dtd = DTD.__new__(DTD) + dtd._c_dtd = _copyDtd(c_dtd) + _Validator.__init__(dtd) + return dtd + + +cdef tree.xmlDtd* _copyDtd(tree.xmlDtd* c_orig_dtd) except NULL: + """ + Copy a DTD. libxml2 (currently) fails to set up the element->attributes + links when copying DTDs, so we have to rebuild them here. + """ + c_dtd = tree.xmlCopyDtd(c_orig_dtd) + if not c_dtd: + raise MemoryError + cdef tree.xmlNode* c_node = c_dtd.children + while c_node: + if c_node.type == tree.XML_ATTRIBUTE_DECL: + _linkDtdAttribute(c_dtd, c_node) + c_node = c_node.next + return c_dtd + + +cdef void _linkDtdAttribute(tree.xmlDtd* c_dtd, tree.xmlAttribute* c_attr) noexcept: + """ + Create the link to the DTD attribute declaration from the corresponding + element declaration. + """ + c_elem = dtdvalid.xmlGetDtdElementDesc(c_dtd, c_attr.elem) + if not c_elem: + # no such element? something is wrong with the DTD ... + return + c_pos = c_elem.attributes + if not c_pos: + c_elem.attributes = c_attr + c_attr.nexth = NULL + return + # libxml2 keeps namespace declarations first, and we need to make + # sure we don't re-insert attributes that are already there + if _isDtdNsDecl(c_attr): + if not _isDtdNsDecl(c_pos): + c_elem.attributes = c_attr + c_attr.nexth = c_pos + return + while c_pos != c_attr and c_pos.nexth and _isDtdNsDecl(c_pos.nexth): + c_pos = c_pos.nexth + else: + # append at end + while c_pos != c_attr and c_pos.nexth: + c_pos = c_pos.nexth + if c_pos == c_attr: + return + c_attr.nexth = c_pos.nexth + c_pos.nexth = c_attr + + +cdef bint _isDtdNsDecl(tree.xmlAttribute* c_attr) noexcept: + if cstring_h.strcmp(c_attr.name, "xmlns") == 0: + return True + if (c_attr.prefix is not NULL and + cstring_h.strcmp(c_attr.prefix, "xmlns") == 0): + return True + return False diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/etree.cpython-312-x86_64-linux-gnu.so b/presentation/.venv/lib/python3.12/site-packages/lxml/etree.cpython-312-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..71293b07d255c6fa3bb461ecbb7544adab5cc078 GIT binary patch literal 5272432 zcma(430zEn^goW@nWju>nG#yil#mh?D*Lob$h2Cc2wBU%#EPkZl3Q;yfP|MNUOcqYvuhE)Ft(ddIFszR(JjvX@tv%^!T2_}8`Sa;9>~YQa0PgX>?fm5&&1hQ9dBJcV>*xQ! zLes#6P=Ei%L-Tm{Vzj7fHMzm|YYxx>^bQJVj9chDDb<-crC~0!F($`#$GxTBRqzzk z02Jr4CjpFELZXm*i)AS?LkllOK!7PN zj^i)6qzK2!ZKXbpgHDP<$( zGnq`1#xQ<@l77J{G2Ur9g~e)SsJtJeuV9!!L!m5*5sJlPnJ%MXEWp!6&?+R- z5N`=1l{4&I3ZodQNLNxJEMN*G zj4+mQFf`p6;u0y8d8H^8i}Xq^`IZPpNy-BcM0(1JB1WVqXA@c?7M@`|Mc}%GiDDRo z0DGmBbx$f>-b5m1mo$ijFekPF6MWWEppYpWDj0!WA>1go76~nq{G%A5MVQz=t+CWB zplwJ8MJLA5G)y9zdnD0C5GGYH1{MsX6dDQ?Q4+b5VPd59x*}##rO08K$j#f^K-N?s z(-AUl#AzzFC$?*$2r|e}B-Ry*6^!muAGz2Laz!GPFs?EQBQ}G4Q3%-o1%;`Mi-VF8 z$`~_|jFCwc6*5Q;TXSK<05Fu!*a-~bOuVMH||p;V9qDP*M-=LzghTwJ^* zqI#ieQi)WzRKbWti_lvK}Ap^zAlW2EMWc6UmIj0l_;PTQ!Z!-Rd7IFtyMn?dHmoox!w38evlY=-+Dwf&{MY@(zu)>s#qy!r8 ztBRb&T%8&f!z2Z?H4r!`6rb$lrw0T)lO!=|LLG5bfxehAR7jN--rh+PSs0{*OqS>k z2`Piq6)Gts?W)+6wnBDB!AJ_yWD16n30g{wd>KJYuO%`@ys<>a7%5#tLS&6vF-#j# ziU9*B!l_b5QYsNhM1rJdmhf081D^ycT}A}Y%Pqa7ix|e4Q3_N{l(=lDmmsZ`AjiS5 zL{FqrtY8!+W(ui7C}J9pw-pyn6GBMZ!$_rKh22O4#!^qgBr&ZmV45V1nM6k{@RBfz zjU>imnE$2H=+aWDNL|XV8+(yd$_UaD8Ai(J+soccB{ExZz+51dLcYo5kZDp+iK|$q zNR%>(dbZLOiKNJyVG`RWo0bTbUa(Z8lADaFTpU#)6Em{LEu>){Sw7Owgt#@;+h zu$^H>xh9Ge1v+_tB{GpPHAz=0u}@(HevCcLyF!?#5UU-$9PDfKqZEt`rT{`NvyclU ziTaEH5En~w785OtV+e*dlRA5!eNG%wJf+TrFObH z{h;_5*y@|v>j;|6mJ18`Y4(S7zcr#!b0Ju5>FR2mBNZ-m?DM1wylB@ zhz>CYj93Vpn1GSUpkp&prX<=3DXt=mS+47P(%cR49ES zgwdKylv0sM7wYyC7lV=_1;bpBGilI>!JN$B-a-OXf!71`z}xwN1i(T-A|M5@7?2KF z2FL`kvI5$bbi4}MHGp-1O@IQxR=^IxPCy}GH-MFW(C!Bu1RMbz2b=_)1)K+z0a&>V z?G->d;5wiJa0hT7Pz87dcmj9|cm{Y5cmb#ZXygqXzXQAnd;)w0u<{GqKXeS?S_L2xkOW8uqyf?a8GxmLOu%wLE+7xE z7Qo5|Xg2~j1GWNo0(JpdDTH=69q)y<7;pe^2yhH=9H5cYaD3)}JT9f<3;%<=1jl87 zD}bxSmqUA_McnGKlr~#}zgZ2gBC7_15H`LZqTMzAfzz2H# z5!%mm%-Z+?$G-r-0e=Ak9jF!nJ%B!d6$5A+0*nAA0I1vlPa46oIluy74QLKv#Rgg_ zz!qQ!XboV+0ot|zM}QNcJ-`Lf5x`0(XgkxfC$!xF-RW@;XuSa50AGMVpbsDr&==4T z5Co6|f&r|AQX2v7Aiz+1JQCW`fLMCW>Q02?I6ypL8u2rroe7u)m;;y#m=9nj0a^th z5s(B}3}7V<+9iOcfJ}fAupF=gpphInUIkb~Tt2kx0P6uNKmlMopb)SJz{*}|_tP=^ z_y8Oq0vrXL0-OP`at_)HfXjfZfO0?u;3j~T+t5}4ssWDyYQR$fE6<>P4yXat5?2Rp zJ>VnY6W}x8E8rX8JK!haH-MGDY|Cyr|3d`u7_QJ59ROV0GkO5H&R`k>i~+1jplw9Q zjiGHy$Cl7G12hLniDUKc;J78g9^e3Q0yqQO12p17$F9_NgtimF9pC|gS2dh;fwn6h zvqX0|?gj7y_yGI>8VP{oKtNwW5Fi-93S15|5rCn9NaBV=I|2|57zv00i~+;~#sMY( z;Dr`52@nsM3YZ3%31DRov~vLofCYd=04s2b!AUB$i>X}#?NUG{KnYj@SOv%ftO4W$ zSXl?{CctKTyan3rbi5PVLOL#jwis{_aE!R))Sia+9N+@rBH%LMDu9)1&{oj#O=v6W zn0@Xp96ta&1XL0K2wF8AKY{i+;02%t@Cxt-Pz$IBya#*$d;w_WD;mtTcnR1;7R%1+)aT0no1<(V~6QB_p9eYFT3-AN<2J`{25=d=-YJ;Ga z1Hu6jfI)yEfT4ilfDwRbz(~L-z-Yi&z<9t!z!U&0Q=y#>m<5;(m`+0&<971#KQ6pB}Ti>)?1jU;|(?@deOsq2q1TvbsCrxDc=#um`Xgupe*` za0qY|a13w)a1w9^a1L-0PzJaRxB|EeVC5RL*Xj5Mw6_4a>2W2rcL5Io4*^vGHQ)*0 zDd0Z-2Dk$}09^nY z=?2F=0lfg;|AY5|V}E)a0Bv7DKY$z%0T={eWf-)PfZ>2Bz(~L-z!*R*U_4*~U?N~L zARaIUFat0XFbgmjFb|*rBmt5Esem*H!}Bp8%|Uf%YrlJKz`KFF?=$Y8F5jpa&2G^Z^Edh5#dgF~9^M z0hj_B0h$1s0xSSlfM$T^04cy0&=SB(D`?vS+5y@FTmh_fg4UgmJ)rdjbOm$+bO*2^ zgVqb+1Mmg-0r~*?0r~@i03m=-Ko}qbFc>fdFcc68U?rMb_IM;5kD|w;p&diVT zz-qu+04wXE-2f<{$6KM@2G|bR3D^VJ3t*)f+5>>YfMbAD0F9iXheNz)DYOWdLu051_5V-*a_a8w8)+Ta#YZ zdBe#Dt#W(&8vJ$LSlF?%G&H^S%(8rG$JPz>+}^YgJ~3g#_rvS_-@oYD`?T(I*JgSj zr-kR&m1}hL4hY4_Wx}%bG3z4JJC*%@6w_yEbHWNGG4O-P82L zdQKSh^!>Z~_OHfw+xz)t&q>imBjeMz8}~1oX51!aZNY1gAuX!=1X@n>Ey>My?6~dF zw}9s(t~}gQQ=aLWkuq;)j~|ZZ$1e@)+@+K0)V*0Bn~yh+Xnb}>=!4;lXB3JD`_}z; zZ+@dsx0~!5{`<`-L3Lr`U>ED?b&DLP<+NSZciXBjgDkEXOcpMT>wG_9{NmiadphGX zmW71v`Z7{SAgJm(etP1SC&h41dDRWK1uZNaI1j1#(0bw>iQ_Ko_sb789KL4Osn(g{ zac*PGl7GA2uX;18+*FTX%5c!1CR~51OR?LIe${_l%c>G&c_xA#^$C&dg+$_=@7Fc)qMDoK!=b1ZAWa9p6}FS?A3%Q^`AF` z%*X7xVK&p)Lw9dsp=Vjpj2B^J7tQKWn7F{ddj9flv#xzuGuU91jp@pviW{T;$R}s6 zZ8*&A?%|5vJ~ojrcCMTvwQE!~KwgX&hwpeCD98^9MDzcG+O+Q>bw6 zmz@?R7&$EIbI(&cWy#CC<>Se)@Ig5hFELWA^_kDQU&!apfciyH}Gm^Gs-3c;Vwx{)o_bv@HMl|XB zV^gcNRg)q=^ksT(Ny#2`@AWrf`-@ivvLSC~mR)Q1C)+OLXMW@I$kaIv-Wvy*U$5CR zU(i@?7QPEH-yq}`mm66@K$R~kzaR`_Kp zI^-Rh<#}`6y;m!*X3cli6Q0<4?An=bjr49UKatZ*=Y4Y6*Re+BJ2Tg~4cRkrgUPOn z%=QZ!%ssv8?zMx1w!UccveUQ7W#dg(1h4scWmAUX!G1Zx&f-TG7~e}*=X|6sxe+z+=IL&B@q=&l`q1gq$drq3>ZQAF?>2Sn7QVsUzrZ;oKI3yl z{qCw(>pE}CcO06!?EbOb-z~#}XKY_(8duq=)+1!yKKt^v#~VjadB*&%{oq)t)APr7 z)7r0JYpTZ&=x=zsx?Sa*=#;;`g?h2O+hu!}#Z4O1)@5e6S!B@5a}IU+cUS!!Ij*91 z)yQ|{epa!?zy4^OZZV|Fa=yOLFXr1#xUBow@9VCBdndxO`mWE(C@(Rvd-!xW4T)tiF4ZRexQ2RIX!z=MqK%f6Q3*|eXi6CuRWYn zCf6CgtnqW(mPa<9J)dmcVBb>VHG}03tsL3*X|exd3+S^t(qsF$b=7OEE{B$mT-vga zd6;F-Hj@@ds`f38tP~Hry?%7pR+D4=rW^Hkvq)QeV}IY>;R9-nwv8HSalht%XlTuk zW_o#jzqfhYs@H{wZby<#1(!z6>mjfCBJaLzOWjVD>&y0Mh>e> zZN$TjtIL%iZWV4m6rR(#f3s`f{qsI9cdtp&@8ng#w`$Gc^*-A?hkKuTp*UaIdi>VP zc|Y8m+<0O?H`~~IxzURu-XGJ_o78@Pwrts`uaC^`WZViVpW5fs`TcT(K-Krns>~I& zBMiqkFKAj7KCQ~mlf_TynS)>sg-wgHs*A-d0sps|NLR27}xSX zy*nsEnzerT_i}AA=;=B&>i0n@@4YK2+&4A9$6FbxGaDBTahE zXxZ9P*QQduYwV%NEfT&>aY>4|X_q`hnfT%Fsywqhl_(k==3Wg-93 ztp6DHKG|vgnoom&+f7yvNJ{SHRlDkpQPG>Ht$KHyzr$|p+p4m`LElTP!hgGOIQjlX z%lD>pW28%)N4}n8d=L8ZzA~;Rvgxv!2cB6^Z~Uw8d(o1!RdbhR&ndIIGk(pe5s$uX z>XrV(wM+M)3{&?5o{1xtj$0i0Rd@F=^PL}mwLbFZ<={*2UN?bbmxQ&Ijr%>Hv}Q$@ zaCOx{|KaC;Ex%&r)@9~3-}CD`mP~4{9vVN%`{u3##(tMSE&5^HH@$6C;rku!&pKYc#X(y?@=-M2eGI^CH$Eg<9JZl5z3o>>-;@9{bG!i-67nYX(>9M{Q!`Qo{< zkyYl|K~L(}UbKHYAvkx?bbZmPzel2-ztyhFzBOxj#_3O63q5W3ZC+n%F~r&4uifmo zOBQZ()fpbr&fvm=j?=yb8{L{+I%wI@?a}Joxp$0<8}A8HcU|*#K=|_$`g;m;HjMZN z`A}kX!`DYIe~r7t$PJHrWPI;5rP{w&$2H2p9X{(8{wj3@b;+gAsy|K3_;@bw-hu5c?*5#Sd7>(D>5$IdoUWeO z6Id0c_>j`h>-j=sW3~Nj{qLb0H$IA6b@*FZkHJ~>k7td%+-}ocMc+9sGG4cvv-n(% zqs(D$$A>3Bm^FC%;CbQEZ01Ywu`^c>yb-5g>GRxKx2yU6*#De=j%q)#>(GWpPr8|U z9*bG|XE;+QD(iGVBDTjA3-OIs3nypwHQ6?~{8#7F#D>Af&3Y}k_9f`u*7-`$F-g-a$Y-97%KPLN{2@duAEB$OxZdV*LhWYH|Syx@za#WYQrHc&wO1%w!_@o~D z+WB#te5TmcTCwP~_g;hW?yvgzbbUGaLwdmT%icL1=C1tS@O|R>CI|kmwN09}f30QC zvCrETpi&9P`hCiG!^KI)lx;?H}-tse&e?7BCViaW@?HKLw?Ma9H&284K+cmG> z-FpI$s)auzYCbM+)BZ-}u(SVlxVbU)`o*)Ql8O7?He2+xLnrswm-Y*{7a5*cTc!;JZxOt6YQyK_vlK1tqAK}J1n9LD|kqDx$tv;STCe)GZ8vAV{qmmLgm z)H1tSUZ>-88ZSMtuiwV14OcEa&D-p;xbXSZYiY-dulKt9Fwy_ksZ(D{4@`AlJmtt9 z$QPY}z&6*sf=^G+>@MD&w8qZ$f^d(X{8i@0qwY-XafPGplgzFXQOmCDXs04fOr} zwxMpzOIh6?d`k-5{Kk9EgfG|JXRiJ=HzV$C{`r-jy>A!y9%0lfHRnYu&Q#S!I3q!NYcUSnXbUd~Tst;Z4Wt&0l`mO{@I9J7BkNoPU}@9b&>qnbV;ql=TEmyTg_9`*WEYadZSViXF%QJ$`(4`)f>5 zlY70E{oM96c0x19pI_RyE(?;mS4_~GbGdD|k_`(!HmrT;hYG`kQg%};mvbL?r)u6s)@66|*LG?{+&vR{?u(T#IXj~MEpZR*UtLmc3gc~I*H+;BLGB3`= z>)Pn|?b<|~?)mpa=v-rg&V!}mRzp|4&As&3qW_nz(mbQ$RXuDL2UdT$*=pbXXLhp_ zeb-+bSDn9WU1A&2oL#%RTzPi0RgsOY{PefW_Bw6$elU3a`Z*?F^CMU3$>HZO0oy6aSjhXdk<*iR4h(Rnj^ zbgK=Y7arf%=Sz*L=t1W%A97Wtg?opU3_9HB^WvBe7aly`XV_mM3Hy6^W!LP_h0dY= z&YKha>`7gk8rl2#zyXoVdP<5{9d%w}Se83-@t=yOEltNK$sXlb>zll7b;rDE2lEl$ z4i0x)zj$O=`FvtUbIbO9@87bR+cjRcw%L{Lfq7jw^cb~leMiShajWCIAMAW9bo~s6 zu*|_jzsHOc$E0>17VEKbRgWIibH$T=7oI6>?!)AduUq%I)seo3_SR16rZcGSp{Kab zG2?{gO&ggkeHYZ|x*5L9-1|6?I>SLEV z^RBgR<8EheJ{tS1#P#Udf`lE5@=P2j4l>PZmXQ?pVrc46%c3S_&nyjAY^*!?(J8-o z!N68Ozl`3{AZ)_e#YeAZJ#BF2@!5WBeq}W{|NQx%N#j4ix%^}FFQ^asYmycpu6*)- zNk+&@Bd2RVrxZ)Qa@M)OFnT##-EX63nSKBK=+CJ`_jOr#qc9@zVas*WPG8gm+=mwE zjTvD${pz8>z^N}!zWLbwWWU?tQ;S<}c{syumt=2w^1(5Y!+UHw6Lp8hRzADr?(Viny~f^8nBbb8@NS!F!P^t>TN)I{-3iReIyme4=yt`1{V&}peR=%) z{rN|ZXOHuEC-^yWeIu8N9y1e{o(-RVD0B3#<-=BPXtcF^+Re^pF_qRAd+rRZdm$bF zbjY-Q^Gzz3`xm~b+7)vyV3z;ngXaQ`&o2HFoN;>Ff|TFCjwjElo$VVjOd9cbj{f{( z$*ZKFPxMoZ?W^*I(Qg~vNq(B+GfTQlui(AO`evfIZmP5W10Ht{j=5%B8t-X7E6jT8 z_FL`7)l9zGY2bU+of$&&sH<_YXMb+_*nj-x%w|)3-B)jO(ckAgRqUP-VbUUHwNCXX z&qX!iGV#Owm!tkVMKsSUTG#u>+2T$me_V~5Y-#Y)=22Dia}ygkY23)s@Q8_}&Db(W zyS0h6@45&0KUtVtshd=OqObM(vNy|mGoa_$#%D!Ol8+Yu zJ>Ma2oAQ_0iM;j)!w0+V$-6Q|nU-`rChmdL(YWxhAr~L~eByPg=j#mPWxRY?>Yj)%|j&=5n_Sa@X)fkDD#( zwsn1tfq&xW9=qRKlvj4NzELpS#@}KI2+QF%=iyRrJ1)czPGupKeXA&tR?Tw>fh&`&Afd7 z#mM|p-`_<>7w<%V7$GooFSGeo^L5dgi)jN7y;y4Q>XbF0ZS?7RZ4|#dc8=ZB^m_Q) z)zR5EFB)9wFgPZ@O~L;8+kH>eo}V??sU~tmneIoAiiBn_CsxZ!gTCG}$b**A|`Ilv?xHeP0Mzo$jW^S~|xqN0u-Uo-D-<}S&oqp>^_{jDNH|<_mx!hFk zPqKNFFEE)NvFLt<$;6xYi>@UV>E)V79c!d=RzEhq*EMEdwQi*Gw=T zML+Mm#!l*X!A+8|+}_>R@=?~CM+Uc?cCH>#ls-P<*Vo5gKS%s`;8c9XhwB-Gy6aY` zD;qs=k67xM;*@tFBJAdsK~{~AZxNRo)XA@Q+W7mI<_VVs>c*VSnVKiR9NR{nF8Q|pVDU)StsuLmtN zx3^20DG-=l+Hd#X`IscH>5YQpz1`zF-K#IIyQXhln;x6d-#&QBUpMte17jVVt}}`Z z^#?W!+M2gLX?nu}BRXZjp7dq%fO!dTqL^*K-F_H5L6IdkI6S9EY4@t&z^A7h3{>rT zzG3ylm7i{>4ia9UWK~%IY>nLa@Y@k@HWk<`NNwJD>#VTdC#OC2x64|1{qTu#*718r z`E3?Bl@{C|(EOCKv3EE3A=ih^{9##;_hCgg__}G%!hkKCD{nr!@x;sKO8W+vPi{AE z|18ZsC^vZWxv+!wMnS8?|Yr-t~MyE8P=g)s|H(tB@D1pKAv}_Zq1zm z1(0*ef4eQ>S+ywz>oSIoWJZ9$N<&~3wf!_aL_uC=M( zbo+^HWVmzH)qt5-x=+2)@BGw2zjGmWgX$fVU#BLRe4Hm8c42eK<5WG7bjGy+om|pkS!SzKP1E~3kFje#x6u*fSN6v1`aCdP{$Hq*n^lPA9NXIaKgP~^ zmpR|x^KZC~`*bT`?^pW-4Xheo=(%_KfUFM2pAVk$c8srrJt_wE#Fqo#LHAA0-j zXz`!9Er-9FVpx}dq2F1-E*p=?=hKRIL4I{#aHqEU{)Cqk^Xqpks2UK_VC>^o8#d4A zn=j4~d)DOl*>Em)2xC{bRnW8e!Sk~t3g+8)F1$G=m*Dv`}u>*6E+OZ*3X+caiH zrPJ`bfxmAID(wCvcG{m#;sE!!=MJi&{=@U=h=R)JT*Uc#@wk@<0qLJ_St(T zvg3L|pZ_kV=6{&^qW<7_BcFQ%D<7}*OKm@I(SXTK#1H&}7aZ#|ws!6(Yu9Bt;TIN9 z?bz^uk-?n_ElnI7rW}&Cn{AY{Q@`=U78AeRZ+|BF$&?{AAJTW^p0>V}>eT;y1GCF%=dUIH*DTa?{cg{ZH-d7f`Nc;Ky!7N_ zzW!dv4|(Tx=N)a*;N8>)iQCV8G%V45HuLrE!fikPwriSUTDQJO<$4Qfb-oWBzbE;k zs?pc*;bYJ28NP9H)`cb8zuF(1V0fkF%wDety=@nJ(M%F6h{@puFSi0W#iCwr;t^bM!2S1MYGI%l8ZCtE8aLsb}^OYI5 z-{vu71&H0sMOUfrU^;ISR=h5YCTIqV1W$l>bdlyt&in`pqlE*}??6BxaU7A_+RQO!P zQW|A8F5ymLRblIgfqND>e7E0Vm(k{`Rp(>v-`s8ed&Hhfp`i8K1q-g6%i1z+u#er3 z^1)lvgYwTiP5RyO-p$y4J@T5aKcusA_1OTSpfWLgpJDvxeJK_nYklXvRovb5)$VSu z{MykS9)|c{SjH?ZACldFhlj_IEB&W9!+X!pjb!(~M$4uxQvWc^2xvZoGIy_vLe)V#+a>%P3Kzwt!+De;m8|{oI0Ixo8vS_ zzS4Eb^9|qqbfWgQeHV}(aW((ol8v{Y_zW`FvkuCC^-|xm(B(kD+rMx0CkKtRRt99O zN|1fd+x2;js_l#jTipXS6}2x1SqJ|5t8 zP++8&^iKVA^1bi}r@BPd-s;`4F7f5QvEQeSP#>trPtUafuh$4ZKi2ZpuUNPrMhnm0 zTcAxp4V1OA$=C-8MIZM+lQfUS-1Z=jv` zP-yQr8t&cIW@io0crS9_$oap4W%WEjK(+PT z*-$$luGDVdp2vP89{xEGpU*QdU30Ye3*WEO>i-G|v9@tF=gEgjJbY?%?fvSQYPWv~ zK1EqKHBDS0OW%`7?;8ZkWNngWCL=vRr$7*n2dz>1VIjuHTI( zK4CH1^?$>Fw9R`vp7;dt)bsm1^Yxx*UVie}&xgTk8}Bxr`ZI&apWeCJ$MqJ*tId87 z$P;aGVDG=v#(VIrUtxfDefB#g+WJl9S*PcD?C0>*0ruWHZT1K8)V*mu`s{a6wAq=@ zv#u>5INJ2ZJo=k>#>L*tsLjq{9)1$fI<4nfFE4ra*$F&+bDnk7UZH({O?mRL4bOhJ zh-Y37@zfLe&Z*Y;{NY&_?EQt>;#tfSHzkihCwcPo9oW&fE~#@mF)P8Ls|v$myxe}%m#P+PwqJaumpkNv>O+T$kXv7f+mJy6NBjvRRE ztuK#1&8)Qhvl;dmZQ~uwlh1>A_{Ti!$ktDLzgKwXs}Ax|{e^o-8Kg)U6bwi$U`SRG=%roBpJa)`^{OrtgU1Y+uuBSlW!X?W85eJ3# z_|)=@m%X1_TYQ2yXtz@iJ!;cG#8b!m^W=Xu55Jb@dfNuRf3B_H6FhlU!V_oqJ0jZb z^x@gp8t~X}>#jXMy?E**`<+p3{j&E=YvUL2>|eW~XlT>-g893 zFX73<<~(`+8JyAP&j_A%l*#jYc?r*aRr18MHxGZ5CvP{(w2yZYPyPJNlP5kr>x;ej zURxXzdHP+;Ghg3%;?I76Pn-R09)3U1e6ing)Mn=@kNymvab@%9t9a})JiI+mU1GnZ zq0LVlo_%dKPn~JPXNPAUwd7gXkvw(ViD#V-<;kB{Feq)~G6nnE_(KqXZPyRSc=qdz z-rDv3bG7q;L4*&)q!pXw5S(0-o!% z!94Yo{jQp}`O4+Vw{V{8t{R@}qMbZ-sg5V#!g=c69-e;p@yrYR9a(MT@`QM5%R}}% zkJ|Ki@~qP|p8eX6C;u1n)Z18|d~@cht8;kj75ja0ZT^4e@&7)L{vMwF$e3py+21$N z)^8k7{2TJjV+2opTzKl+9-g?l^IYc$c&^8EdGe1Zb(-B?yZ;_MdH9HDonGO|^ID$$Vi*r!#glLBcWJf7ll?6p zZ9M*xA0)*;k_3;n>EGk=XC}OVrS0|L6`s6ee~(3*eP^CJJd5XbK^aeew&RJvG0*F} zV4i$9&{_Mu`}4eC_lw8>IU}^&X`#^0cjvM5)lIwpV4k|VfXB~1JoDnnQ@5A%#6g$G zPZORvv)^^sHt)4O`5eQu@4V%yKP`FU$^IsdwtibiX^*EhPhGmh69-eC_}}MQkFB6? z!xa1oy_BpCr>?TtI+Phms~r~{=R{>d3nvVul2Rm zUS~S;#CaGG@0zXMpR{D{{4pLst$6kqAD%k@m}g!}c=Gd4H0uwXG|Y+16=TRtR?MT=$C{kHNBYuhs2@Of zT5$1c$fzD6KbJcTeiwzy6L2C43KU3B;(gkZ{R?&+(~|hzsmMpAbl@0rhhg1d$E&`K z`VdA=?xYjH8}(s1a54(^Ushk{1~>MA#Bu+_?>=z#7VH>c+|CfcHH!LmLjDQyim}Km zuOfev_~na`X9i-wuuM2{n~l6G&zXDdPki$pq(9i6W2&G&veG`6?5ARUG;xRwLEa@7 z=W!dVGXuH2YRJ?NZN)Kq#D{QowINfH)sbU#iFa&+cHk!;Ifnh630B5~+iZL)hGLIN zNHcLR$g4*pe}MQ4YuWYHl#xDy1qA616_OecO5jZ0mDzUm+QzK}57yf4AHg$U75Tk>BOjDFrFJ8j6mOBUL<)It5!??dci>0e&cm;9!GJ{!f&xqUP&)wUL_KLDgyOg#-bf1@vo)GN3FNz zn6AVxbw|EpKKf7HGWQ@*+`I%~zxMRRXc|}j3LF>CCj7=8^; zaQ3C>{~8-SVel&CC66%=?~)y>c;ri_;z3 zFDifo5GXI4{GfU(S%m&;;xEe}JEt*!p!{<3Y6*V4$F-bCttE}gLWVd zI7#nLcHD5L!ijIZg6u?Mp8JuXkzJ5i-^0j{B>h%iWdAkVVedO(}$MLeism4lkScaT_AI!skq+hiT*QxrSb-K78>Z`A#{|;z|d7eUc zY;avv5g(s`yi|?-YSu+4Ob6R<3GJJPq%WX+mIb3exyiV}1rn>TI)uDtT}UF4uZV>O z0)nd;e*XyE;Knro^YA0t-wz9o>-UN)$LQ+d6EigSkD`5n5c$^dyW*_AOLtq2=tS|E z2NTWm(jyq>FR0EOr@Evz!g;JCetanDAI3Q66R%J6sHXi$pZKc5s9)iZ5jH1&F4Zgf z6dWo0xf(0qss76wqW{52Gt(!coszcb&t>AfLprhk%lF~9H2YE5SmdM1a9o=CdhU+A z%L0sNbF$+ZL;BgMZ$SKje#lF!F;BdRH>7yRyJNqw+&I|~i~5o~Xh$>eoqUillAxWL zq<@&!ql-1Ji{D~=!iVyzi1JD^E(5YtVS;uhlbs$AC^ili194u`h(As96<>zD#*RHC z9;>g+$2i0AIXN{7dDRN^AIbtJ z0p?o`@v4br-x2L}pnkJSUq;ulYe;_rBmirl`HAE0M*1(tko|KQH;gL$P8!8IUWH6k z(tkY!_0>xpILpywUuPcKzkvF-w0`qpJ7D`&dtn?j>+Wg_^2!!iuRf3+(E#L&959}G z#1G6yUUmQ@V?_L-VaTg4;uV5so$in#uUKo#X+l^y>CqW^b2F zZ79#xO^`PszC?-ovOegKW*&WDyWz&`hyAW5eM?j1Rb6rAz97DTKjfqCV}7!~W6a78 zPvqr?(9f45Wp z+Hn@bXj}=I$SXeJx?q2=ofYFS9C{(m1VCU}JN5MXU6Y4?RIjA})GIS7^_z$B z=}LBb2T;EX^uM=e;ZeR-ETQp|pTX0}&TpKr08VU%@ zEAL`n4MX!x_)6sKkGpcrDOz7kpDvDLBURii?=fnsv92 z<}04TxNW9>n?pL8!WpW9AdXQJ{}UDzYezi-=S$P?x-8^n=2-VOl73_a@)aX6&pT1x zPN#WPf5bZQj25H=)xCJSj_pErw$T0Qd3?vCjL}9`MC?{o&BB$E0Z_i zxD=alToy<(`n0~}Z%`jc2fwvS^-X;b^I4N`zo?E?(Ccf>ve=P?{YrGu&LO&RjECvq z<|Pp=RFXeKeMsL7d(^CVc^vYJQP{8M`eELDlLjNN`h{_Z?TnMA6OdQi zp`F{rkDY|Pq$l!|Xw>|zj5Bk%l@fLC;gF^j-vRG9UqEA#chnke&V;wP`~INuCG>P z|49znNydC*zcd@*za}X|MVq)Xr1~I zKautYSql2oi1@EmuhcWp4*n0nOHBK|G63gMQ~#y;Y}}eM>c^Nlo@8fU3ic}(;`-98 z_qPyUHV&$Pt`DmmkS{uqan|@_3>~rhvM<=LT!0-69F2T@G0vkVpBF$OV)fPcaa@}B z0V=v9FZYE&foSSU{V?RChB$Kk6w1RPsmNC-(EnoYS@^tS0P&8kIc6a7cAEWnD$Z91 z@ee3I(tqMp01mKzme^y2^+^96#hH=gcs1Ag?Pwm=7tsDu(tiQ#m$jn|!2H=lyj6ST zok50+R^yG){E@?#`qYLzDGRyIRooVV~Wo^OXOwk(f>1~-v|~U>yP{p z+6T8eF{C_~1fidoh~JZo`cXGAxa6YIb%YbT!GZ`54p3?7Vp(KoE0W5^$8vabw9 z`%B5b38V*Wr~WGDRWk8ArjVU%99J;)dzVc=sLxEt{rV{BuM9z6zNJnXT!$C#!Wq!))Db$8OYbubsDZ3 z_Vh;KvdUA`9QWk1bh-+5@Kq73aocbqIWMqbhx z3M@z@#V13-+HV4X8W9#Ih?x5yKKENhezxksF`9fBCq-Vp8siUXz=<5vl^w54jXe81 z?5yO&i7a1Hg?1()&Gd;NemLggN8%5)MP7Ot$JK~3PT#QTy8t+!RJ}G*J^WIVi zPw=2TshEZSXyO*L812YX(H|eOFCl%GnW(Q6;1iW}JhTS#`m?f4_5#0eJ~XApY2y2gZ^hyoXyF8QHCAY z;}YUiyii~E3-vYElkzdhs}5uR2_`>Z(f%kGVP55s9fs^H7NdPf5uWg!=C`CB&hK!F zPYTslIlW(MN%mdhuwNz$_1%fTPkj71YvXsKYJiwv=Z~ghdRg@MZ6N@6Ha#e+aNE?wdEK{V@_g0ft?r0H>{tq z3^^&FI#xn;EQa`La5}5+^3Q(c0O95GYAf2utb@PLu@3V=`cFRWh4f(cOTw^UD6^a_ zrhZk_FSyOgO{#|_<(PpNX}$(@M>|Sq%#+g;hdq;!mwDm5>?S+?Xk94d(8C#|-*5)% z7t#CPn)v^>0qd%K0_L-r>|6wgx$(}!_-po;scFbdvvEC+C;j12_E~*tQ}ok<_)p=; zmkh)Dsi^}i(~)O(q8-h8+}xY=CqkhHf$8RC4vkkK!|`h7>!T0q%Uhs6dJBJx!XNpl z8034Boz5djpYGG>L;Nj2`)`QPfd$Lz%W2<)?Ut{|W)db0hgP3DS)9Uq!Ef)nxyE zU*wr`v;*nKNgCB3^-Qckb1C62LV02BFyRtFYSQ-YwD8!K;)SvSg#8)0Ox)REHH*hc$6q zK=CiSg#Lh8PJ(E?C>~+_Q;EM#<5dQrK6J;))C}ym=se~L43iT#D46WL6fJ=S0KsU$ z-yO9^Uha+SC6{{^Zo?aZJmZ3K&L{pk)ms(4Z{L9UaLP~S2==Rq|6iKNBKn-V3F#lB zdL)-5c!I8$ip;o@}26i zqzvn@G4(rw;;-(3@z>Ph*NJ4m9QPykZ+fxv9X1+vTov?rL?fgbAB{h;*so?Exj^+q zUV`xn)WH)nhNGRRADEvuG_Ho;$g72DXEND;4i^Aizf@OAozeF~Ua7`;*{qKzEEtb` zkr>DOflf%8M*JV-HTnDu5}vg$r|Vldos+xdzv>+N-tSo@AaN~Mq$34D5b`F{#U-F-rG!KZhb;^auT)s_~!ZvEmlaqvrFPUyD&+l8L-#UV6fEX6;M<`CPT@ zI=pUI{d3)3O6yDNW6OD>na7t@=auw%Vk7d$bpqNiX^HuBj{IjY8`$?lq;0z)L;CY5 zuUtl9UTN+lng+vU{dC!Zaby2hGb?2<9M1nJ%o8J|nJ5?_`+kV{eh|lqiJuK=!|E#z zp#O7p@QIc%t=#*!Wv~&0X!Jc`;j{V`xw!BDL3Q~1?Z`*b`^=4quLC=rpULQt=DwH3 zamX`cFb=Cp|2xG;?tpv);!9~?P|&^rmtma1A7|(6t7oA;d*44R{!7W9hd95}kYch(|G&hd?gV7 z*&F#N6Rg8yh#vxBWc{pvZpSfy$sZqZoAciVc}?9A_eQ>g-ZzGF!O1nM8!COQKc9(j z7mNDJ3XDI_8r+``YOMVd364uh@lSxjvV1)4`qmsMlF!FIq&AkAYu z%_CgKa56|i_M3rYAbQmCwW-9vM*pF_aI!2J`3id9MpNGwtf6|SmUDXGHYYWd5At}- zs|mypqP$fM#&LPk{MyrXk%I2q(ZoU8ANy6)=kl6-a~+I)ePtWYGAvI{d?+94KVv>f z$k4z<)Q?(?8jW{f3+i`;EvKo8XH!~_QM4Y>Tlm|_E6IKdT&RF()^BsF!wkJ2;>A4+ z?}zuLe(C!cu>En8O|O3?&v4#Nh#!`L`bxSFyi|lwqz)uM>Gf1H>Cf(tyo&CxwjsU% z0?5W$Lf?PcM|PTPUXP^Xy8cM|Q&LesJ{jXo;bD3PBCj|K69=M8^OfmC{We1W67icT zo>5CMo^g~9ZK1$&^Inbh=c)iZZlqa{|6zpjEcjcdRA^I&J`wcNcUVR7a*iQ0in=kT; zUKoG&cPm(V2x-asFONq%HApjqX}q%k(9cK2&xA6?>Z|4GXKV65Fdcc>X4KbwK4Jp_ zWc3xTF#=&^$DI68(ffx-iGR5W^(E8L&PuX>j`Bxljs9!ihwnxCT>KCyeOn^8OKOct4`d{A(^G);q@aJUYD{8SGjwOAo!NlLj zx~jQeeNS;y{PR9c-89s9q5BD8IdHOr>O<5&*J;n`Iww9B?GL1W9jMM!?8iD2O?Hwc zXkYpi^8v~NC)T#etLgoJoPGGaqj2QwzhXXU z_O(fxanb8Xc*scsOdo4UCPDj}evdCeKB^Aq1-2DVUW6jAszCdi*Ohy-kyjjq1qfos z{STi@!UAON%Vk)%$CLjph9fU|=g4Vx5#b5$A;>G~{YGEXe?a~y$)EXTKas9OTx95Z zA?crmaj~D%)q4hUniiz*1n#l^R79hG74acb>X$wz^(Q`^>Xqb)8^^fn;1m65oigLl zjyvV~nBHh7emt%VhWzP3l*C*#F zKbau3vw`BEXM*}JS1`{tb*3l|dFfbi0OTR{+mhlSS&4CAf8U&yRS7z7 ze4=Ct@+HTx9+pwRnVVs21CUp<3k^iGF3u^CkLr*9Yx2!%B=YgYaevX& z)n9O7z~#d#Th0!+$H@xKywm4F{fPHmO!|w^Pgu5`#N?9wa?EE9zn0>_(C7H(q<@j( zTu;}@$BAd(4r2YOn27T}facwU_K_kR9It}nb3&634>2Fslbyo3E1URxSRY(<@rgq{keAHBeOW^KH`9n;g?TcR z_|xDzTR%%S2XTy=_?NU_D`>x-Onm1lXeTNS*L4id<6K&I{~vo_9v@j%w0&V%hE0Q@ zf{2Di7||Cq!+?W|B$Lb%n5CIyVA$;RB%Mi^q`T=(W&y>pgKS|D22hB&fa@D~TnTQB zh#FiF5jE8t@HD`BA`17j`AD?G({=wkrolv0Yt>@SmK4!Q(p3$fH)T*Y~VmpP~Ki%<*&Xegu46 ze_*|4Y0tAotM4ZA*_Z9u%>I;a9Zl2Ur=Ml@dXn@XU1IXg$bn>B_Yr@^fy6ma`8)CR z<`ds&?c(FE6;;D4-!cBXl71!QWYeJWzn%Dx-LEIjk37zt0Yer2%*?fx+K=}CdYHHB z?cqa}1Hz78g^h+!@jYc!U$2jDGrZ@3WAwR=?Q$N+6}h`j{s&3_v2{j2@d?xO<1F{( z7aHEO?P#Sumh?@Gdp*Cl`a%r7ZlK<#=UF>;6Mxk4mm5CBc6^|0{3`=ly?v|K@Yx&8 zub)Rg|3iCg;{L4H_p?xo=w~8`&;3xZ;A8VmZ|6`C0|y&EUNm`bCI2HJhVtQh!uN=8 z*kE|&L6heP#6J(S7y2HKlMf<(7X77iy0!1QtndDCH=%ENkCod^{HfK3kG;z1-%dXJ zb3L&6M>$2%e0tqMeYU*R_;|UuznSv9-g=zplK*=uhR?jg^gN&Kdzp{xf^!jTjyL*g zzDNITmU|`4QuV|24UdzjFEo7W8nY|c&+m!1GLBtOK8Ld1r}@6TMWHAfM1U3kP3z4L z52pOL(4M2`nmzYY{v#1Ugns%;qbGT^VX5J{g83cHMz6!r&_X|xGd}MjpO3N~TiK5L zk^b&|WgPOnXzB@c+_-#wdq4WoB+nI~IrJJIH~!7RdyZ?^e^t1jcme4zpqx$XO-_iR z*L`ptk+bKIW)J%i{~v^Lt?zS8&mD}DZ=&AD`b-bL-t`T(W9|u~{|EW(M*E!N`a>J> zL($N}zw)rf=hqOgz0UBdr%b{dsp!?4DJQ?@;O(2I9X9d3Z|8FtvF={BLVE zJ~Ou;qR7p}o2iEuo*RMKdhNtvW{7mBglqX`Ge=qR|ZZP_>3*dmbzB9)X{&s@l6Bn8X`MUaZp+J#yoZktt*2MV{ z>Sz26v$ww(o9F|Sv*`wt^E%>HmOFE`m0RA`626UU3jgLFqrZjp`I_OAe9sY&dbNy@ zp5NP9O#Bz88J@ew?3QYd_9y)~*TKBs=|0Qo$FH);|1kN~=tqrkaUoBp+wdT8x6J^1;A2WbxzjKhAOe6-d0w0zszWf{vo zzuoW(*S$@9QS=!YlI#ml$N?=}EH?UCpV2pQT^eSo*ZbBQKE@M4uP46SHRR8I5U5wL z2k4LE7cS7}bBNDHMrp^HZopTI-J>&EAKaBtG zq`w5!7yi+`#z(%NF4rz68J_#7+2P*}j(z~Ot2{wJ{w~JPrcawbT@PETM&I;Zizj=N z&rjK2GyT?H2T-At5KsAYJ%`O6z3d|LdEDZ|-b}a&fm-Oterx*qA^CTqI)cx>-Rgzm zv|hcmhn^rlJbF3#%rSYo=tujqUQ@SOy}rV7kDz{L_+HPOskdX{AX+Z>uV27&zYT{K zyyaNqe;4r&vVF&R-rnaaFLimiK7(e}>qpm8&c9k5Tg~?ULdEdrG1K#U>a&81OS!Gj zG5I^m=f7~H^1Rd9_W=7>+i}%O;y*AxyOLhaUiehF?)?>ZNZ0ll-Z~E*0j_;nuS02vvricRBWVxQ z>x_Qv(?=@3zeoInw^%%x3BI@X`zuI)yS48-G*=W|js_BWCJ#4zruflbw;0~@Jva`o zHKhM7+jsUORpDxytYvp6ft0 z^?GnQ@wZvI7f}yKZZmv#*2?wx)Ak0#$N2vHLF97@IuxmI6VDA==~47a`fr8t+Pd}GPll=$~wWAv2{!~aD5)m6irxh~O8e09n2+^MDkKfm{n z6^74z$K-qi^?A-IhR>d19nf_kcii+cUA?Yu? zise3NacPQn^)bY0(NATe(O*gW4*Gl3@66x7PyCmx@6@lXUcJP>d4utZ-eCG1p*+9x z`15At-$wdBQl6H_OrAZ7zvMdOGyPA)e@8ywr`=Y#&$5B^UuSzw^8B;4P83}^Xne+g z0tMn)M*2I^KvLh_^G*Lx%&~;s`wVa9dlUPT{_>TEH_aHm)jEpqFB(3<_0`vs{_C`> zrjMH*iVT$hjfRkNo7b2gT+UyRPwpco=da19pZcHXcPiX3&V?AlC;GkdsZu`+;JBQ zUtMhYB)^}qpRtLqW;<5)wQ_wus^wIpZ{~ZZ-j95m_A~x{qeu1iddp2lAIS@qxIV@V ziy)rpVeEg*FMg$|QFPK}hR>X5_A|?R9nSV`4cd1f+H><)tiEoCHQG-z?dL4=|Hpdc z-*b_**BtUcaf9K_+YMjDc6mSjdb-E_^f%;_r#(+!h6cse$$AwpH9q4{rayt1;3*~u{Ri(yDYKYf7N+x5inC;b@DX`fDf1u_bK z^9d#o)f_##((uVWO`iqQKeU?kiwys7>i@bk3?J(^y*)(w-8nvK;rYEz;`_5*#>LTa z{gn7uTa8cddnW(c#1Ex^&Ais^b~obhJ;CT_D@Ola%5%mshEIIn^!Y*3{|v>+_-!&c z&(PXo^eu;&Jl>By34a&;M4vT2`;z~EFC#tQzkr+T^{JZ;Z~CUS6ox%|-43yZ&m_nH z7>4P!H|fWM@1XvsmHhc$Lp$le$o6eH-0FKS@#j3-=*NR|0?%f-Q#_~9MEc`6PMGF6 z;fOhwP+4PqX81klTS@;J`tS5F%udXzVb8SN=9Q+OtEivXA7y-Ixew*>>T8TM(_fpf zoR6iQ|A_H$miv#E8bv>+9af%g_VzdOKM56AJAaeOLP5BGL;RjM8eaLk z;b*hHx6+R)$6CF5N&gP|MRcdhe>}^bzSH`h*FOaUT)U9|i$@y&ri-jzZA`f3cA2&}Cg8CQd*Yk*f=_JF)InKoJSg$)TH+<|$<3C1xw43;MO`piF z*YlPcp4(vh+)VsjRA1}$u0s^@xOyMupSaohZzTO*cbGmWg732anf#}Cp1F(kKf^#p z_)pwwe(L&p>;}W9&a*h?`)->C3?KWJdDbxbd>1#ur)8Ph`Ag`hL&q6D8O#d~Vt?BD z1LHHF_VdUFqn}}aWZa_YA;yPU#-%*zkGz`vIc|I}+` zDCg0w{I32tNk0#PUFy}u?@oLB?sbmg&AS+%-AVu0!G^b1t-b8uD0<~VhFAFhn)~B} z*BIXNQ)@?5U$0$z44>rrLxfYkR*`>8k8$3E_}$~=!+nswi2wFV!y}%@ejD*4U|>?O zv5U;#z1^46&U3VLm*;`&#IBwfEf2m!ve%Kur*)nA>71Rdfah-^&hP%MWx1CZ4WH)s zTiS`geX-${VB9!+is89&^B1r0aWG)Dw~rcr75Pjs9!}hE9_sD&2>Y*=N6dp<|JPH_ z7Jjc|?M}w%doMEnGdG!@SCD^sE9K;O49q*C=*Bl0J{GJSTy>P;O_9N?x4EQ0v4`|8Fn@U-@p&w_>4RoJ2n%|B_%zZ7-+w*@0bKPqZhVd* z{RM2t=CaB8DdKn3jDGr`X6H8&|2_RE3ckPn9RyzCKhF0K_96X#Ff+j?erNo>+`AcP zS~r;{FJQm0I!}6@&u=B4AFif6$6LFC7kxy<-Xju^5(>3^}#@Tt$jfN}ZvNcTm9 ziafI)GCTPQ>6aqA;1#~Vu!ZC{bIh3|{qMgBXL44+zU z?fyo#*RMAi-t=|z_cxIKJ3WR^yxj1&5dSCJG2(fi=MeASX7sbc`p;?vc9AFIxvwVD ze{sO@sYi|f3yHVGY*f#|JaN|o`Oi1{rzroA$Y+Lp{!F_qf}!vkP&lrGXwTgj8J-KymHqQIhR>`vdp?+k zbus0cdXL%RHI%1tHR<_YXD{)+Uu^gk*T>*)dVP4c;bX5fK5mEC)88j)v}3|2zBTu|Pl1g5ilhjQ_wa4b7p~ z4_vbmOul&g5hui8kg#nEE3(pC-{tKOkPjQ^)e)=rdtL4>JuWmZV zJuoog({#PH?_0_LqHgl}rO}@~*AnJ>ecyG60>_a4p=CzjS~7oG!TR2KC&z~yApkD2 ziHa{U`rHEJ(?ve}j2S+*o7u^+#N}r@M9!9PKmc5SC;q_`4WHzGw8ybm*9?#TYWDBz z!*`r+c!l5lf*I?z@g&2Wr%e9)h=2B3hWGIII2IEB$fbr)pK11R@N+HU*egkYr{P~B z{SV-1B7g1|<}aPJt8vQN%5l_Xq<`G&#dEg16Mtfh@oBx??8mr8(F+&{rh@N_E;-rg zCmyhRO_R^3dnga%JgTpke702NoLps`A0d7+CK_rd{GOG|b1LVFt=Cw5^M3aHRYpH` zsM*gF^69=^>;dO1f_eS;OO1Z|%htZ8J)Dnqeeyhyp9?wyjx6#_9cAU3HlnCy(D1Pz znmzmZ^B-Sfc!lTNzd-x^$y&oFgYR)gY?l_Et8_gd1qYOJBd*^b$a;Oa)9{venV#Xc zc0n+qAOByg*Iq35qMHq$`uYN;L${*WT`wm8U_a}$4#TGpH~wECePN#AEqBu|$p3Sc zbCUCAOU3YsacP?0W!jZ|-bK9W&!%~pjb682Wc(-DuR%P$UcvZ0@wyg${^`z!&qtV& z`c5w~zji(Bd5pFDZ1BB>r|6Hf^v6}?^BpK$_)Nar_&~jSmE4cMYb|my@x8VheT9B; z5b+luX?X4o)4(TovxGmvEQSAUx8c4&_+KlD2k&M7vfc0|z8491&}&XcUT1QAKFjgBw@dXx zD|h04EB6}Ge`TZL({i8}m-pA-I?C`dp7X@8R*00iXr$a}e)pAXi+;^`IK}gI|HpEF!v1lL z=R(~c28j1?9S_42y(e+mupNWU9eXHcN?J~n>FE+fN_&*@F$l1ej{#@dH zn@GRR^l&Hf-%_8gou=V^*e>%Ze^c;%`!jDaK4X36cWc;QFKRcuwaNUtME=v9M@;bh zx9=c+4FaRcIm`9rD~Nx9c9`SuD{;C8j+{+1+&9jiOcj#@abO}{v6i#ls3};#r*3M7W}O>hK~pKf8%1q zd$`WIH~HU>iJtIp{gC<5u8hyWy2;Yz@ z*ApigKDNo^JP=vsx-Ca~p4WW|>-C~@3~%B3M%l=tO-0gk{kE0((J)AnXY3J^=gq{Q zc%9*sdzhZ>-zb_-d1iV|p8H9^FYR;YV6#u}N1k9mGQobt?O|k@@vm$&ds|LEf26%d zRnzB3h<|h;>ECYncjs8b9mg3y!+nbVNPow(4R7MQ;)%q6dZgh!mzh1hi0$&(=NSHy z?bd+azL#82{`_vI``trtFueJvR^OH6zqH%%+_x>>-c31w$oP=s`Y_x_uSY;8`k%;| zJlC)t_qy8fR_>1sk^U1$lmBwl1IYCHE&Xf!I}7yrhvah`+r63RTRhI(e1q|6zR}{q zI?_KM2BY!>@0)C-UG?nta^>&iz`vbl^kdgTvA8;^&oekanH@7ZU#zJZmZKtS|NIW# z3gQo*YWNg?H}-ABpSaD&rOm;2ek#|I&t4|~^sbiSxo~{pKf~|&zl`!+bBf{9XIi_! z{Pfz|Vff@ivqQJrPrkzNro74jC(_^gM#G!`kL}L(?O;FE%ylP^Z(W;=zQVYT?0S6y z0|}9{h3^|$DfkXB=Z{Un{PEy|(YNwFQ*X!ryM+9kAuz7T_1`G^Q=8$yAc1=@rGCCSiCxc zc7FGr*1wDd{mW+%=%n1{M-NrT6KvmI7zd`fPdAtHj5Qm5&uxb&f^etT1mj){_m6yD z`47hbX8ISxtX@a0Ha^qA`oNj%3~&07`InC~Pq@SUq9@odUdwhFf0NOBJiH3k(R%TH z0fbY%Wcga~8Lp4LmUt@yn&1)7V}F(SPZ(!fxgXa-J?BQqhwrWQlK#D;hEG1r{AF+A zC$<{i!tal@5nsZ7t!btC=~?9eKKjM@ZN>-1>2?1B#%G%6v3rQWkaph0_tzdEzV$?- zkKS(f;O}v?-D3C*$8X54*A+_*Z{>Su3^UQ&*guZVwVv@ur2oqzqo24RipBLO%6}&H zFvj)64WwU4`)@k^5Jl$hW(hB+UyuC`0Uy@`yBNNmaV)yV^yBh;rjPQ!-{dJ6c{D!X z@Mf+9UrqdLXB%GmrCF?h$DoPvxrgI+_s4TF5s-DEb@!uzaJl^#=@(7xA15?5iZ-Dj zv7g-I7MGmQ_-5k#&WYoHYc+g~=aIZ#-=LnyISz4q-i3ObJ=OH~c9#2h#(^Bq)xcc! zx|4d#@%$dd&}%*Q-1K+T^XG_9tfGEiVtW1yXQdI$SBe+#hqkGkv7t zpCF&EH&ULbjKAB%v6m4awf5>^1AORA^8dWW)%TN6GyQ1%Eyn-H#DDQZqn~EGJfFA> z8&q#RPk!MXOE_)N@Yx@m-I~`#(W`n5@43$KhsfuYa}1y4`1bmpETMhC@TqB|e*@_c zy2$Y9$E_&s;V^CtdI(4)lP4a1Z6n&rOI#l-hGi~KLM{@3HicG^i3zXRs+ zbKA3wzH%HYi0f|h`N0yyr}8HM?!+(I$Z`*d!Qir5N6}$d8Qy%KwU=346x|B56gkHx z%^x{@k4m(k3eQWNK>jzPLDgTrYIgDg;vadH;Vt_a=PRkuPaaR4?*;p~rJsJ(^cVA^ zcJldM59wcF{6EY1Aj>#XZe_c*FU(1=)oTo&x#0+XK6#GeKN=(6Wp>+RaP)m-*LHb_ z@p+v1>5C0-3FfB{G2S-cVsdUJ{T{TRS?ZtFjgErYs?V>QKD$Ui57`Bu;W>~GF~i?r z#)3ET_xND0dc9z+;j^-ki_7EE#Ff+Y| zR~SC|b+ezti2oA?Bl1iI^T+R3$>*15S65U1Pv2?dz%9Wz@FAG1@M&3lh;nv2|2^YX z6XTED?f0)Y`pRna>zmo`_g-sw57+HaXZucXGrW1;G0Ok?{jCDOJ0sWs6o#bj!gF5;k9ysFs^OExBlY<_;=8sQK6byA zdlK>U5q5-6#C@m-iLZe}$$IR-;j0yyOI&`ITIh4%uy$-=yL_DfJN-}di}#WK^cNZZ zIN!VZ2kGTAKEkJIvDNp^T`fZwuSpFQ8=z!N(e zAKC5{`qs7PUod06T5mFZ>LUm&xQ?X5pMS35UkCnmui;I6KgIoM^Gd_iQm_Agv(ZmqVwSUr_j7VTTQ2lfAlty6X)=Q z^|5oBjDCjul~Au<3yv~;ocjyjzB^O@O?L9+{N_0J+@Fv42cuv^g zXFrhbSYbQDo%OnOozb^^)cVusv)osoN}TWO-9Y*eFiy@cHobwZUf*UMXyW$+`-y+% zb;hT{`MAfW2N~yQgYQM0f2q-rooM#pd?sK3qR$-HRc<8zUAl<#{O1Jmi|9uayP+X) zEt+EqA0IUOR(|*Xa)YCL;rPOTlIIqlOZ*p044)3hz0Y};`TGRlU*3iEFJEi)(Vve{ zEpBQdoknx49|mE6vF$Dh(99#RGY=s z9`fJ$aLV%@<8M|SMGvzbTR4Ao`>( z>u(!~^E~Poh#z=~;nTBb|L-E7*DyXz_8EUGJ&JyXN2%91=Ry0CPY>nH@qI(bA0mC_ zi&o$Nr9FQSZl(H>524`t3Hcnycv9i{2j{cl_Gk5?(B_b+?A z+4xL;1Az|LcKtVs&RWTGxgL8f@iW;!=3ZfXzK8tJy_ocjw?88N&aXDShx_0z|49oC zpW0^i`Y!43eiQld{Rn^maUlY))OV8Kzw&+OW#fiNCt7^_2|I@AZo?})kFgK=-+!aw z6Z{_addmOxG4kiS3c54BKC;p9R-RXZczP`?ke>S^XjZ+x!}u`G_yDui>)^#kpPOU; z2=~$J657vrFy207*yyK@H;=oGat^%I@TLc>-FG9O*E0@GE;vLH-;c;|G5Uz_t-#Io zx*Y>2(dWd~rhosQ+kP+u)idYUyOaK#=Ndly7L#Xx%JVh0%QU~=TO@uV_1wets9nkD z^>5|);rls777^bA9fZnrmbK$u#9Ll$cyzPX%jw?@_g6WWnfxeDuR)l%;yhdW}UwkGH>igW(nKw|c#S5*%YnMxQ zu?!dAWPB#?w>YzGXTvYO%ydxrm> z^^(^u1+ScKdiVnQpLwm}O;3UV*OSE0g<%W*H1+23s(Zlj)`v|Gr|)DL7QhUIzO}{5 zb^rSN1%}W5(c1ka^8X4NTKc0a_?-u*zxmZhUpWvJ$Mr$d{}G0*_2T=UZl7}*XPRDN z`niMjC!pgN`k5mQ?;?Kn6^2jWWcB?7@!woW`rx}*7xfuld5_ii64D<%YWUdRR?tHyI@G7hnC=X@ph&?&u|>OKjnFHob}~8*vZ7pl(Y3j)8`EF`_4D|S^D+oi9b>@ ze46KczC^r<`ftA0^zZ$`lfy>ex(WdV*9Ekz1KWuI()4fu`TUZ4p5i)y+s^>)WcoUz zKYWg5`09zqC-)h{*OSj_FbvU8&&OcExIRpL9{D%19TBGV>ZV^z+-mLkIPot%%lJ$L z=kPysr`h>g&xK**+J*Gby`1uJ-3HC7*SpqGo)4HjH&G8K+-!K$^%$7p`d|Gwie9tC z@bNQ^gWLIs=%>w(nBD%8^n+I#edQk0|I5gKO{?K!+>hRk^oM!5msz>!cJ=xu_1t>1 z>9dP^UU7=?=~-v;d;31jaY8HSYp#bmml%EPZ;w{Kem?)V9fpseZ1q~h44)zYsenYUuO6;-|u@L@rTK0vfuc;iTpowi_y>g-1O;j{-o0lpZpmDJFbUGe>W((qP(_iT6KMUUHWG0k|r7QB&sxbF$I=(Y4l!>4btaZZf^>+Kg?JelC{ zQ+RuQnR=K!-Q@h+&c^4POO4M&pS9Ow%D*?`*!W8iS3yyn!-yE!Go=!e9+}Gj3xhx^nQk^blNjlT6gE3aZpuH!^AG6$^!gSEL=U;IAED2_ulnEA^DNgNjw1c@jxl{c5xfU+ zJ@wyonDJT5c5gyK>Muu_JgAOd=Te>~_M2|!pQZhb(SFS8@Vnl`r#L@4iu(Uk#rRKM zYVGw&=Z|nIf0O<=^@RE3<>Y_Ci1C@>d>rnn z*XIh9=M-!AuMj`DN_oC*ay~}%J!jhsn}guKUB1| z#wq#UEroplV5u-PcpeCITl1@st!tz@+B>3;9mT@XP`NkCZC$dZH@|qazrR>rQmvM& zf>f*duHp!&2TL1BacW^`wCDtDOM|`TzGA+6Yo!X2Knt0-e> zxjI}BzLMCr6%8>QCj(i%saWkFDsPT4WLY-2saOJeu`)7PF0Cw#^bQnj!U1XRL&bvX z8F@QPeZ?)FaRu7gCF>roprRBiRzz0~?U~P3u@mBe^QzI|^~I_&^cuI-k_=Mv>fYYb zYPHx$K^n+MWpviMM%VWap*ctjd$1%tn`oKZ9mpHJwJ7S4+m*2cqG48*0hOy;k+!UJg~`99 zR2zj4rI0m6SWeAct|GK?1B$<<%UZm3q*zneF)wZ_^|2+w6mVf>6E9j>92qG0MYWOY z5WdR;FHvr^Me1D?jJC9%!;nL{7Z+*h1g%S=D2cnXk@T5v{j;GEjGWkrS;{}Qs0U)LX}mgU+iHxwggz? z$wi3~8i!dMl+P$;vYOmdFNt2U2|#=?t2J?8Py2$oK&&43LUl6w7*(KZUt8&e2Z=(4 zD`muE`?Ip#H=1rZFcrb#enPXFbiCanj^}RDQIt+&ZTHee0F@xotkh=BXlZ0{ICf1c zlr3u}>FuPsJBmYWm)NqTfxw*gO!Y((^N~PnSzD?NZYUMe5ZbL+JBk-~lt-mwO=NB_ zmwGkwlVxYEvxKf0RxI2kTz5e~5_y(vDh%bdfz*hQtU`jpNMW!fVbt}|Rudh>S`+7L zt5yqJy>ikJc@4lLW|h>$n&L1x^=UYAUa_~V?#eIi$`wW=GJ0ZLZAnQ~j(C{r$(d?N zZfc&z+6X+PK?oYwm~sVTVQIcZirxWn;v~9IvMs|yjCpY*rBng~$On%WS0o|R!DRap zR0xH&FC8uQN-TEGc`Z&V4@%ey96;J5+EN=DVP|7C3IP$PsCFwVSUNg_7<^ixTC$-K z%^(StD2C1BV-jt4xQ5#13e32t2Ng-Q(} z2G)=9=AguPN1)IgTGcw^6zI(*7O108PlM73a@?K0jm zoonqJUurwlSjRr=BhdPS=1%&^uwsp%3rM@BfD~urS?M*BBLhrew zgVkalV{jSB60KSX@2E7p$>R#LQNpQ%#m(BeTl*ou`5lIP>gh>uFB~k7aX_0V@uoOj z8QF@N27^OvDhPxpBhY|LM`5G@?lhCm(qJmOE^E)rh(n~8QaV?=jN-f0l^9FhoyGwG zZK;7$a$@WQdWpTbEtLVe7^%2`7vW?Tx|i;9oMWI+>y}E% zUzx(;Z~MUDP+x?pXkT!L4q|hm+E+``7Q>nhDv7$S5)q=_ror-P&7TJ$WdZfVXuMif z71oMQobq7r8zPw&niILZM}sir?!pG0l|@4uWF;olDj2M@808f8Q5CDJYYKyiu+?%I z0kN;>&(c$@?vK#J58=-S8xQFO1J;QNt;xzcM=k0t4-H|e8qY#%5k!xlEK6T;C`O`! z4s%U$sr&A-E2FY?)aK&R=t%z}kzf@xzahTSfwQ>zs#;X?D)wmr%sz?-uBvH*wAJeB z;!(7l)OA%YS1tArZh?)_^5OYwOYZv#)>&K11qTV-#AQa{a8-v`@%U7He`ygDV^GUI zdx(@R+sH%h96Gl4!YtZajA1s@UQnl6q}U+t#Rk?O2E{7Z%0j8Iq1dO@h9)WUsaPvQpPVEmB}!Rw3)w;$+S-RZ zF(8cuVN7U@Q+um6Wb)R^m37z;TSso~d-~F27qJDjMuP+yaX=~VvJi(OCo>`mF?rN_ zuzyhPfEB_FL^_>RqabXXaG;CXBpn#-#FNiK9(Z5{*Sf z8SKqigy|S%YP_{1$e4Pf9l0CP6+n|6TLZxI!H6wGqkEKW(#z(`wbiAet<;q*4I~ZU zUappXPz;^KjV(Gga}mR7FO2FmPAJgs?O>1M%t!^$?m0GL0G1Th7#%T`FUc$j?ug*u zHGr78Q679v2xH;lGQJdI={j{PVM?sjOR$_~cWWU7?qFZmgS1&kgkao-1yxL)kchH( zoM{$oZF@`c4aW@9qjm4x(WE7KdODbo?%c|wgNovO^v``!AE022h zL;#uD$MprUqFCC1F?C!7XU%vPBM|>DVfM|()teFEdGD1FGE`y3;4loAY0%8t8e)b& z!|-dElt?NJ8Ei2D*R>Z}Pyote9BLaH#8gx1!6}2nHF`(He@Dur7#CK>MT7%-(<~h@ zbZqEG`Y3*JsEz>4(~_uVi8Lmi_{k{d>%*xTECo&HVya5JhC5UZ(nUz&n5ub-uZ_)j zkQj)W%Ek&hfD z$=~iWVc}vHhUP0^tQtSdLRI`gA{xY~4)Tpfe6cDvv^FI%<8;T>fO0gG#U$rH98t6PW@px%Q%1+o}3h02l zrzBb%ddexuqv@qVK|;G4Yxp}z($PdZP3SR?z$7wppL%OpJvySzjH>JICNiOG8(=Kw zo~Lw2!Vc~Z57V`FgbMUJ(WZU|(!zRK)ddZWe%VlYJ@zdH5q?&`W3rFgrv?7l)mwmx zVt0&rcb5OI16Ye41#EJYNSZ6v9TY=^BVls1eaK4FY6 z(8w07t5rHn6^oQz8wV?khYF>QqGwD`N8n7VELl4=T_KnCSn;FSl50q2+Xzc;bfp{Run-yN)Fw!fd>+h$$Br`QY=eD+BUrkG_=uWpO`FPT7O>@@uvVXVGL|Z|N)6H^ zPS^@gqeP5?muwm780o8Lnk)7duv^hE$g`y&fJ+~tXcyK~SCzF7#Pm{T8qgGn<)+O#M7ul8gF%QsDoyK=(1g#)%xdZ2 z5K8SY3v~de_*hEZdiLnU@i?cqS3u{m(_6iCffn}Jm#PISj#b+jObLLB1c_P~W#t`^ zECAFuNJo5xqH(&_Mg1T>d=b5rFrH2sn>E&siJ%9yR2vnqki9-xs^XA9!bdVP0u4mn zLG#3kjjD`NEdAg3M@+XPABhR-%rQ=>Gs!q5G|M<)2Tm8K@5u2Ig2v7lr~eBFjA{Oj z6UKB6EJyr+`fX%5N%Ft38yaFlzhmo3ktRms9l9Xi;mSP*25~>h7^Xr1!owFi5$jbc%-}$r!Jf)ngD%YTn?=yySWtC zSodqw*jZCVbe6}&H>N|S zWSb#*?&!hV9KXCjFT*xi-CWa7(eTk@|h@+9sxrvSzTA zg(|j#GmxxqX8>2a#J-eb>m9_@MiY2-$6jboKzZKW!kCo#Z^#m}siJc~P{-|aIWSE`bcbowPA-^W-zugM1Dxp!9#jFULkRT|8VBoE{mr3YhbXhUPcUB?-%TW=e*MrUnBaU`>opaj0E zXL$l;8Vk6K9CAX}nle!-cy&-j*XBX&H9B#+Dyn=LX=q)PO!GQz0%PNqg(X-Ti4{{9 z6q(KKLbbPU<%-O6+G3M_US<$nv548HDFu}H1x$qU$E1-RF?-gM5n=SN4DckAKC};v z+H$cso9<=wML4fr+<4r=H1nkvEm^Wmk|Y)RESd$HH|`+L1~$neF{~a<3$V7T5hV@9 z<&{_MI9N(_(SoZ|e<@3XKo$X045YG{P0qv`8sVL*vnZcCx^*?hnekCc)A#i?Rg%R8 zthn@Ih#(DM?S`|nSno+9N&^z9k{2i%kxd96|D|!E(_&n0Jruxrem{}EWM?yU9+MQED~pNm)%&!HBBBtfRJdR(<^Lcn9z0X zV(O$)Mi2L@BUXTZM_uqKn-V*x_^FE__emj|qFyC;=Bi@22(8{3qb>{3uVE~XBg>r@ zcnz{)dhT~!_Gv-mipiL2NEcW!*>csG8F`47%EZIrG$^~=*!z}Pip=R0 z9V@$DoU4MVL9*~g+hlBZfzMXb+%jW$$wek<8X1Q0c&CMj1*u7z=E0%9)WC>^!(6e* zh5k1y1*U6(pt)+fw^*y8x0Q3yvP>suG`uJYKZ~*atDBBm8V9+7vB(sHjBzfBxs$>Y zOoDjQ6Q(-&I#4K`libTlw2r9p@l4N(;I&frp@og~753nkXou9qXvQpid>^~UM8QMUL7P=rX^FwtEP>K*E|@BeIFLXovq$C6k zYi7}O`c5X%LI9V5t0snHWnxXrX8}Uga1~GzlJMsX?^@`NR^=tJZpl(}$eB#7gRW1Z zy-ZfzFw)x{&OB`JwGbeB=nOn<-0Dw8ntBp%^Gzwcr!M)wEwS(rBn2dvQ2oEBPPT?@iT-EMFXh-6vb|55JwX)lnwxrcLc@Rl# z8etu6rqz|s2DYY4)E|~1HsFS0cmP`UgpBG--J;>v6gH;-X%RbP8LL`SmlW*4g@GYL z2~e&HpyebWN=R_21tO=OB@ksNw{o~L#_b_nEQECm=i(K&{Xb8IAhO&M*F$d@WZUu9 zkqv=mbKF5an2XBkDoJXsP-=psV(CM-U4s~N*m(t+?2@EmY7lK2;zh8h1#Fm!O4y(wkaY#b-+JBpW4=%_;~LU^&p9@QRzf zr07+^3>lKiQ+skIMIJ374a%_zIY13PsF~XPNO)?vp(SJ@wD58>@n=ax_*8bDCM;JL zu>>oLviK#{voTr-corGwmU;(qOa(DOdjwWRUp_)Ed8`Sw?@7df6oRu;7{b!#sb(`| zS56FCImK8cEsUvca$wzabk^1_?_Rk=*zaH~M<^jiO0iN|7sKzpisrbYn^ol^50`+P zZK-MkKUW!pm)fKqh<83t>CY(=$;_(g3*BB7`J0#(gT1$!WD){-HoNiOAOi}S^plW3 z<)J{tsk2Dx3BsY^z)dmUPemw{0wu~A7!e+)+bIq(IaH8(?2?1@a@w?5wbN$QzwErY zRiq%vsYc=rqDGPwENSKB5kfg3Qv4ReCnQv3S}deD6brbBB{JaFxoH=;c1>rdPqzLE zs1S==@z#mGYW^%_evke@9^> zMr?a8C6j$D0(k|CXRsO6r<)nDvm^5eSBRfeRmfoV+=a4^yByC9mJb=IJO*qX#G{{3o(h#y!gyJ@zgLck3I`3?wndXZb0X7$n9r_af`;&0Ud5}ejOvjtuh1`_6fqLt^qsNj0C*NCpIJroTnM+l(Gk- z_j&@a4TpE_q$j8#mZU7hk@#VBaz>|5OhLa>;$dOj@-DXT)3Ene-dyt-Ewk2C20kX) zc>*0IOU@m&Wd?04l$FE5RjiT~&`ucCVrNXm0^un!r7%ty^rB}@p71Ju`cYo%wCpuI zm5RJ*c*pGAA~4BSi=Xs;e#<7e2=vUrUJV)aL|lKgDSqq7$WJAXCw+mR$1~+#bU-;Z zDHa5E_H-#m%~Jq*Af>#LlX~=aU}~kTQGribOiGcm+U^KJM0I#|DGBi{RG zG%9x92rhddPZP^1GX0#&=mT`!B9fN_<^5}|qNi}xuAacpsb+G~73!&-ogKK!?m0)wS&ae&T4(nf%SeI6t)w) zJIF7()D8=R{~Hq8><%U9McZAE2NdN%re51OjbXxa0_7DH>>fk6y9EuC}hlRCM5p4xrn!2 z@T!6kGfIi`jMidQ28pCpDxK#mi9W`4k@IQ7rLz`8eFVCCtAmx~rF%t9@YGu?rYuzy zcLq~xO~ah2wo&6Gwk=x85+pQ$Z11)~LckisZ6T5a6Vg|7jp7Y3mg=|{CeN~%nRF+- z1rKZdlw>}p^vpI*5EjhTS&Lu26ML~2jp})`>PdA-Qm2wEo+^lxtT)MAJU+rR>Pi5X zC|vYIT2~7n)2>8iGNrD{?C4Xnv6ohBfpMjL!&VAbl{-c{G}WHdsB>V{&<5SQTEHX8tU<=zYBw^5`6_+9@s$q&PW*^GsmqLryfk^dM5C7#0w*j{uTKS-8~*tQHG80dZ_k zPveQ0*bu?z%eNuebsK$^6UF3D?TDtnSw=)LMT zDA6bVbg2lKV6sgm)ZUm>2@nj$9ZVC*y#xa*5#^Y(*E)S2g9q9u*VN! zsN8g~FBqgV$e=^Ncv6=V=Rxd9zs8u(4H_BkWKZ!^T6Z!&g4Cw%vIrXR(1d?c41{c) z7mZ}nC%uuX0XSmPj*^sDkVAC4BYMQYhDi#h8boUBF^RR-qTr$ugX6{B25CM-(RiR$ zh;wFErkGWvZBz@-Brjv{m?guyeg&fdRpIMtwyEWuXkv)YS|!btoJkg*=? zZ8?LEcQq-;0l<6zVL@c*0s@wn;_3vxm3wOE+-a%Q#PHdBkG?qY0rRS`I1bQSZbRHk5Q<6_o}lb zrW{x}IE@zhjplTNjLHE58Q&&sloV(i&LR84P+Y9ixA|~4$pm#8wdT&?t5$cnb$6~_ zRiC2g(*l^yh26jYp|X7z!U~5(tezfa8I(_>N=4!+8FuH#oQ-L5W6;7$j2Qz^W_CZy3 z9nreZQt!|xzV0X8HO?@ln}Jw<)?f0eP`3AAyu1{4s% z&f4V&L{RYz9LOn6D|VX*=SZVyC245nf049% zDrN|C#tS+-NQ`r43X{o?zAUUL-3{%Uc`4O323OTiGIhi~l~g}gOeM;kKz%@k?Zh`c zSH*J3=gRw|qI`SJ6~=Z!f$jL5ks6U^R0EXH&N(4|(V$p`?xpWY__xa`hCUlRn|AO7 zX8IX)&ngta#0>0+V4AYSj^3o9WC2c5&1WoPY4m_*fTigCh@IxgEC(}#VpYBkk}T?G zl1?pPR*IKWf@C;~e#AE}768{;Vn`%Ox+>)=PGNCS%qW7LRx&0c!j6X=h_B$5~N% z7fM=7`DbAj}G+61v3q>(^>EI;vX8Z)7$JDi@x&&PkszW=9*te8=7HQ5N3a@^^I{!|QIe>ba6;Kp6Abt?_i>Oqq`gqfiWcQqGLC=}I^4RjJnp8f4J1e8I!kNtqJT!rKS-^`lC5 zE1^ifon%j)eZ}$yjKK!@ZOi0)MUt+y(S2{xfD09;#A?CDb6uk7My9f=fH(^V+2RwJ z?+b)6eKOm%qXb4dQk8Bp=)F2M9A#poHA7w5$O*OA!A8w#Y#3&xG#Q>X$c1-qYw~t~ zeUiKtDN8Sli~aaXg&n82^>a|2kv={qT9*+6kWvjN^y^u&zp2Xs2d=}q@ymd9Ab!fh zzUZ0}Mc((QBQ?{mgW+FR>$()o0LnUd$nb72>UgYx!KeM{<+@7&56 zV{Fif3^JBY<`KFaqpuu#8h<~@-br*2@3-SvravWXnUdY+tNNv3Coss*aVJCwgH9qN z5Di$8idisUsFkPqgpEAlvnw`l(iHnFx7_*(Jh?}|l_A5k{CbKPCEF(1bN~rKX`|?r z<5FQq4S4p`3PUj~CZ!=C<4ewX{vZz>cCuV@WfjAb=@{DFuVN#~7q<3%MEmp08ldB007AzcrIBsGX% zcZk_KK?aca63#J*9RuebV-112oZh4vb{+P09A%|jKWQpaA=}Eir6A$MR7NI$v4v=F zvUe^oY{~&3`8`Vh2B>6D;Fb8KPIoz8m$TQC!({d9n5Gc}U9?Cq?u9H;yDdpl%u**j zS-w1C*Dzmfl?f{>xy0Nwz-5w7^_Q6vR5r%-H_5Wa>UYF_w3SeMhaP`qFG<3f&nDUa zo@9~)2mH55`cim2+-{IJ{6I}Y!f$`M6($K7dd07qCMd~aXxS>u@+jYM_VN@+-Uy@ByI!pLrQKq1yPZEVm21sw5CS-O14YU#g5;!XYbc@cG zzk~_egbpdOUxd!hd9ycumZjK47Kx_|Ss2D9zl4=3H8v=|Nt?*iz!TFVX4#}uYyzGz z65Yl%YrqwwevBbfU#3g4YEmPyHDSlHYce_(ObfDdYQj3aM#SG|%IYFDEed3)*RgWi zfuiM=>^gmFh8?FgPz>bscfbR28m4$GVc(LicyRi}hbReO5+Fv}wpKPfj~VPJ1X>nU zLAMO+neTvWHe0sDK;Ud5#ZhhA+tx`%P}Yv)od}ZMPfqPwWq8!@T8SMOt1^_dnR|xZ z#*RjU1CD;!zyJh~I$#HU8hs`<=9-+ij3M?BaXBFgiq4RTY#Mdr9O*}-+S$iA6^}*v zc`b}zhRY>i9x)69w0Ob95U3X~8r%MrA^s#Y3Cwfwv)t!mUQ(#xt<^#=-VVet9(VX> zLBexg1&qarJafXlJ}LDJxHd%d6^rDjaut_fgBZcjC=bc|Bl1hl`D(Obm^Z=%TPV8L zj@x)a2lo(Mj@aO+Gv;X~h|G;+(IjhzMy+3U21|>{6u_iK4o70Z3JWr1YoJr)sjp+4 zc?U`Om~E><^`hkV*N;p{*Z8e62F0jY|@2wjcgq%)&`1lN(>Mz zDL{0@lwf`kS7`l*wq)4bHBzjg>j#YTqPy*Ob{ZBoBFu}Dgr2(8?muax_ zBfr3E3m=-&QIDI& zSR00Sg8OnWQJqVwl6h_bxSZFucq*3K7{wcN9dfChqY`b9x^{5~?`xXxiK!|lM*SfL`Jehlg zjgs*4jag!l#eR_xzcnax7L*Vq?*O)55#;(}SR8NUdu{-srHqs|t~MjZEOLOB>NIJo zJ<4_uSJs@`t=t?^A9fH?y;zcU#ncBOt-+lBMl3jyr3eHL<}lhuBC?x#+V&+L z%LEx?G-(cHDzhC^8z1exLOoulA;zr*Ax89LM?#bqhy6v4?%LUn|S29$wv6RtsmOBkD7+-6oSjFG(l^%_YK89hMz2@p?S+vGPBQ{hb5 zinZ$LJ9ub14Q2u*t0;&xsavqN&)q|ZV$@QcC#RmRcpb7KKQh@eIx?j!BxU(KCc;kb zDBfGspN7k3w-l8T1vs4@s7M(aBO$u$m?~|WA(+aEBvNKUD~d@8`$k0F<%<4nZYnLM z01uH`2iG1-rS=9!@zb1}OPLn!A{bNQ=YKiSk87grQpIFd(>OJ)63>c&1)kM{iDQ!+ zi3gsZN=!jknpa#)YanB$>J8G<@-#@!uounw59_7nlTnIEqf+o_OPW&aq&p1WJzHJT zGs}0blPO2qPn22KtBk*V!^>CB;@GNR_HtC|VC&p^i>V#Y0#c|)*YubJ4Dj39gQYBW zJhJg9p-h7ylNttuDR$6ZGhrJKKhc{C4Tb`cYBdr`3eS`q$1M6sDj*~tqin@&@rym_ z(Oxz%C-pFVhY_?+V*Jk1D1IV)t4y2m{UVsIBUpdHk2fiVF^J8!qEc})<~5jiDK0f& zLO*U(DTtMRusGf@0B+$blX=emYC-1g6IiE9&1BQXB`k5Ik1>JXKFR@Y;;SSh z*@9>$ZJThQS@z*G?EIl|s&~GyRwu0CQ+=foEJ6;hAMAxX;+s5{Ztw*^$9q#WL$bep zZcSXj)q|BRvO9=;mpvW{PL;i%*&^+vQPMpiji`p<>m1Uz4F0QtRmsFZ3rGk zJxjacJk4c)@ExrU=ivjzV6)-8^`ml-95>Y>UM}gw4S!C@Zty%(92(Lra)ak`e?MeX z#BPBV%l+~%%j%VrBzOR1wcc>v1`KoYSQVq&a9%(E0`0}4{K@0*C=TB#0GE+p>gy}^ z%W~B+glhbVGv@H}GXMk;)#O|TL?@8LfjgN`^AYCX=l58x!fF{4x<~P=ZoFSChokc6 zWgh(jzxUv`8a>bmA`C_-GA=JxqBM|sSl~}GK3b4ZKgACw5?M%5R29~&31(}ZfUGrv zuB})oP2K0pumuOwa<7%+hjq z3Se|z9&J5b+YlA{Fnv8{0TjwR=ZD5hwV;#r>hZ~<6X*FXmQ@_V&#d&yuQ_5+fIDTX zf4xnzEZLq(!4!scL-Jmo#f|LPD&4Anm7DLyb#k@>h_YRmb}xZ8}uO;M=)MnC$w z;XM5|@rLs@Rj>{?A|AmTHV|vVdSV$@K51vQOJMO&dyDnyL>^{@u5{?%XIU^` zM>{M{hEO=0UasaL=+k7dKpFVhDB)34m$2G~ zC!J=>QC5qnX+S>{nA<9yYaY`JJ5-Ay8h&Y{DmigpKQD(m<+E7$mDU<28S?6ZMDWzl zGN)c9FjV)BSJ;mvc~|Y2{tZE$iE*6ngeb|$BzcJpI*X3v?i@GF3;8u9c6TFQe6AxjRno_~TLX+#=7tma=R`=i>JKf}`gzjQn=NvGMII&r53 zCYf^z^E&QSyEf2eI!_~QrKPZY=W02#c_htiY_0UK@=ID{-AYPgAy)frNzPYFG>Po4 zUQ|z4{u3B_Ke$1cnY>N<+r^5nN@iWp85NX2A6v*#Mt-hw*tT zz+2yEc=Xb&o*#XS;d2B0fVUgo6yQyF8-755JOAbYcX{Roxbtrb@a2?qQGide+|~f! zPJDTQ_e_|axd6`*Ul-uxEVn1Xw~>Azz#palD*-<516J;q0PlIP;bQ@Q&sz<@BEaWT z|KkDv6!~lmaM#a7fVYtTo&b0H$pCkK-W%Yq^vg7w`V;I6mn0H1un)%Vc=cRQI0 z@ErB?M1UV~yYZO~@GEE!PX)Nk6CIVc{{go9+yK9VcvFCHr#=q|@VWHg<^Xp-^8$Q3 z`L_i4Jn~r-;BIfN0X~m$W_f_Sz2yRYk=uWOd%N@mxXUvT;w-lk;BIeQ0^H-nSb%%G zUlHKw;M?vnySg{P=h5D#0^IFzdw{!LO$Yb^ zEcej>Uqm@)0(^@0_C$c+!*-kv@GZoj3h;H5KYCf#{@uUk2DtZwO#!}+{&+xuj}dPU z@a3%6ya1nId$k035BuLmA^vV_m(~CuV7bc!yh1za3GnIJMcVIg4{)cS4)7V;!=nMd zjqNxS;8Vn(2yn00Y=Gxjucrch9r5Vp+4h>DJ0q%O+65!LM z9}DnS>i>!WpQgW$2ly<<$=d?l`Ah`3^SLL$E3}iz0H5pqb$~asADIepFL!%@_fY=n z0CzuqG{7Gv{Y-%SIQfYHpCSEhfcrT7sQ^E~a7ys z+i5>r0(^$^=&=Czb$}}ZJjZ@{JiuMfZ2|7~GZEku^sjpY+}nLJz$X~z?+x%p^p~js z_x@sgfDce_(*Zuoc6>Czw{Sc;6X0`+KM~;0XEwl{&r<>3!uE<@k+uJbb~rc0ssE+` zU&Qs6<^UgBc)X4S=LPuP&ojIwz#o3X#*K>t{IT7PzBRySh%XQD|0bVYfd8EI>jHei zF2;W#z;nd!4e$q!G5VmAMd|rTmnS5FT zd~Dk27X^6k8;17;_&3OBTYx`Cd^*5?Onl4ytelVUZS|TA@L!Pr-T;ptGm_n*Yq1^AwnXFR~4OMH8PHxrMJ$?|_0@kIfC9Pvtkw-LW5z*i8T3Gj8q z4_KHjcRlf3fDaO17vQ-svwe4fUlHK%r{2Z`-0g5%fVa@DrULxrUzz_-2l(s-heUEc z72s9M-*RlWz84T52=F%%p9t`qi9Z_PcM)$oF3bM|#CrmKh$xewUC+${?s{$saMyEdfV-Y^ z0q*|W6X5Q@l>m4D9Sd;x-|+x<|D6bM_ut6?cmJIVaQENo0RJ7^WhTJ?L3}pA_uR+g zVYDc#e~*(*0sd?9X%6uH$)_d24?7615T5Ayzqz$hFQZbyICxy9;i+ao}Os=KHTdJ;69!d?&BH4BaJhI|E6!-JAr?44_&X}Q~3;ja%lM+ zK2v@UuRquF1^lbZFW}#hm+)`Pm++_D-|Da6KURJXzfvANyt;mVC9lDk@(})po_%f| z{>`J!Blve8W!`|_r20+xy*id}!T+Ru41Y=6@@@Fv_cQOn-!AXMpLv4i6ZozA+#dWk zc_03F`2c>0JcS3^k3;xL53uo!;9Ds_hJU=Y<2{3Kr~CxIy?hG4r+fy#{slIk9KPS~ z=5zQis#C!4cNfbq;8#7!yoB$iI!ky%zJedA`fK<;$_Iy4*Z%?X8vI~+2!FV|4nImB z!E67r{nCJ6Kd|j>!rQ9Tg72<*j^W2DpTPY%>cf3JDcr|1f?uTLI)fjt&z-_gl;`kg z$P4%>@)F*Wui$>(3l6XD$IZXH;is!k6J9&$VH?-G7{0IaZTOk;F8n-s0)Ml-5C4v|z7~WC+3H(LMPvNQZIsCuxYvZ58&r+QQ{B80QzEJ%Y{GH0L;o-qHKeb0x z*TaR%hwzT_5&XT%H{c(Tx8Prt$MBKrci_45UHDx29{gL%_u=6ow!JBQAFZDuysP{e z{$172;Dvk&zd=5O4^@8-zghVLK2yGgAFuH*;cMmB@V}~laAbAAHy&p56T)v-z79{6 zZ@>eMrwJb^AH%m%z71b0--X{@`2^l<+4%eLdn!MG_mv;QcTs)>pDCZg@2~s>zE*w) ze~|JyymP3HzkoNDU%-dTFX4wMzk=t=2XS@3AEA5=zE-{tf28sey!mh&e-qwTz6BpD z--aKjdXzEpkz zKTG)%9vyDmyMn(;`8B+&eC?>}dN^145I#~qg8#en4ftI77W^&B$MCiC9r*dmcj3(= zY0+Z)4wpnMzNQ@#uTvGNH#Q@#(sQuzUV zq5Kejt@0yyEw=Gz@ZTywfyc_v;5RCt!$-;&@LQB$z;or7@V_a)g0Gbi9#!4%!QQss zYVgKUw!L-u*2+ilMENHCuFALIGv(Xxdnn(5ua!^Wb>(~T<|A$V1NiRBr|?Ai5&Qwl zkKrTbC-D80pTg(L=kSLpKZgg8vhgqAE#*siQ~4GANafe?METmItLx!t*cS3ZY_kG1VB;8!TW zfVY%i!mm+&1@9{#Jf^zef2({Ao+)34-=KU1Unt*%KSbA~7QEiJ?QO#!rhEr}vpzS0 zZ>Q(>J$Og;2k=n&6h2UX1izQ^V|b?g1ip*%Q+T0#4&OuhIXpPV=4Szakn$zGq5KN| zVCC2Fj`Fp~R@cLU%7^fQ@)5kHd;>mFz6C!*`50a(-+@0$`7V5|d=LIO<@@l)<7_@t z_!E>L!rRJ^;T`2Ocu)B${K?AC;3MVd@MkDrz-P*r@MkK&gqO;%;m=k+Xjk`p?O2 zeh=ka@UHT0_$QR_z*FTD_*D5GUHJk0^UA02h4Lf#mv6Q23&!x;aW+2__@$~pg}0Q? z;iu~R@i{zEegV&Kw(*qkq4F#ES2UhAe5!oyan<$k`CF`h2wx~4!7o$&20S?4=BEY! zuJSRwp?n8^x$<3jSNR_N3g!Foq4FvGD&>dpsq$m^ua(c>rSenw^~%rSwT{it9R3I8 z3wTrc5`MGtOL$lLHT*Bi2gg?T`%w81{!iuW@R{-r_?;hU&l8&PrSdVnrhFTIcX=1S zw>*LGBk#i>DIdU(kq_ag%17|p6K#KG@SgG$cuV;i{7mI@c%pm(?<>E650ziSU#9#D zezrV#e09ISQ(l9=TV98MN*=+d8c!4cIptgMQu#Lg66HJa@JTlR2|QQ62X84qfM2G3 z3hyaDf`4E6F?_821pZ^?r|>J~Is9h%9R64N0=`qjj;|7)YdkA>UHLV9rF`uP)%CEu z@*%wOWSjp8{s840@V4?T_fu9--Ul%`2_wy@;>~h@&PUwyf zJcPGYKY~A4`3C%8c?&+*`7nm}RKEj%qUvC|GvBq zzd|0tuah_6H_DsvTjeeI?eZ9YXFXqS!|&$rE5Ud2_m$xHlPB=KLteu(O4aIZgs`+FZ#xaVhZe{Us+dwvf0_gM(mJD`7!)xU;l8=PvHKZ)D-Ud8QkBW%Hf`$ z!~OlN0`B<*+~4ym;XV(`E%<5+zJ~k!1W&21f3IJI`}~A(&)4BTKM~yX4YmHAHscmM{qw+j^TcO%izc9xR}7b z&J^zX8QjmeIo$JexR0lRdwv0byT)0we`Ev#LajxNBKX__&{d>L!_w#uO_wA~~ zeLf?&=NoYU+$P-Ln{L53&;M}Gx8Z(1@4!9Zh5PwDf&0Amw%~oZzsEg*`~67@_xup< zpF4tkehl~hmBBqff&2An3itdB?)OVM+}}^1!+m=TxaSve-`*1L`6b-9cLn$S8t&U0 zbgS#%^EJ3{ZwUAI?(1;h-U#mb2Hdx|3HN*p?%Nx~J>Q1=_IBW&@4|h16S(&i=)rw^ z`*6<>;J&>n-19@YZ|?~1`7zwLH-meA0{88m!o5$z4DQ>T!#zKT`}P)a&oAJN})z7F^8jo_Ydz2kzP&Nr^KH0qZwK!0 z^>^X^cU%JZd=KvZTl#R%58&R{C53x_2=~96MsUxM;r@3@2KW2~?tNgUaL>=+{&!6d z_xv30ePar^=NEAAt5Cu{zl2|;=f*3z=htw*e+ZslUH_i1!8iNQz&&4wdtaIe?)e7X z@0Xfz&$r;-uO^0jz70Q4_mdsC=euz4*O9+tl*ws!~MD+JYx&% zAMV%95bpKsaKG+EaL+g3e%@}vJ>P;qN$WX=d%g|#{zVKZl>F=T`;X^9#6N z-%GgXmvHaPw1Rtn4flRc!AV|BDm)p@B`FmrV00a3x2TjG2HWQ zxc7V?tQTexaSw}({y~5a6j)Y;eI_@!Tr3qhHu{goLpW1p0C0Ecnsm5ufzR$ zO9c0P1MbgTnsD#`)`I)>J%;;vvb_cGz|Y>%&U;&-dVdeec8lJUoE={ay<9 z{1EQ=+zTR@U=jU+WF9qE53%DQeCEW8%xF3%zxL>E% zaG(F+nbr00`5N5kKZJX}4)^(w;GS>5eLkCT&$r;dy)oRcvu(K7@4%m@^Gp~1VtE4h zd~XZhhx>VB0QbLVQ@H1caR2*p1o!+H?#FKi_xuFz-$PB|o}a<}{F%c&KZpDGI0fAE z3%Gv|Qo=pIg!_74!9Bl*AE*5rJgd6?Jzs2lo9iF$`7Yeg=Ly{NJ-Gk9)`xq30QbMwQn=@baQ}O41o!+H?tiakaL-TR{`cAx z?)e$q|6a@Co}a`0KBs_tegXIUoD%N&CETwsE4b&^aKDZO$rjc>+|R=y-0RojejbkC zo^Ncyn_KV}-2dK*;ai~?)ff!^ZQ@8=X-F!-|NFYKY;u9#VOqLL%81`j^Lgj z!ylmMEg9VN6S#lBJcWCH2KVc44)^>V?)UQr-1p-G?&tFo?)fF$&$lbM=htvQ-v*~t z*T3g$a6jLMaL?D_e!h+1o^QbY_-(>H--7#kj^Unf!+n2s;Qn`g7w-Epf&ZXse=qdl zyXf!bKHUGVAHcnS3irS3hj2f>MsUxM;eNbiaDNUkf%|x-@ZUVxws!{i`>P!8`8nLL zrv=>4Gm9;FxdmUs{d}^5`@F5;{<*=ktLxwMwJmtK1+T+>JQ3XMH{ia%nsCpz;C{Y} z;r_X8xNmOZzk+*y4fpW}r&ia$=WAQ=5bn>}>To}wL~wu3 z)_{Ay3HN*p?&~dvd%g|#b=86Ub)gIQzfTjm=X-F!-u2<0AHe;7GKG772>0vS2=4b4 zW4PZxWN^<<;C}xwg?oMm_xpz&?)f>~?;i@d=NE9F&l2wWCEV{HR&dX+;eP)RJg2(; zJzszq!ox=itg7RUnI!^!hcOv-d z%6H-Z9IOX_nerLjpMy=|souv~!u@v?YxwI`zj;P={Qf(N82(n}2XKGRHiUmf`5f-g z*$Vi@%GaJ(9gm+^>+o+W-+}wTHIQg>UbF7r_0xFo*B1d~jxUJpQ|m5dL}noz;f_@BlkbyYQy!kKlgY$>7H* zzkvJiK$h^6m5*Lf9lu|vn(&t@--EyXxiO!_QNG4fp4ewHH>$IaWS~ z`*X++-19@YKZhK{Jzv26Ib;duV{yYPv=5ADJ4 zrsFPy`@i!wh3~BV65f!n;Z1q-CDrl!?_^^5T<5C+-2WZ1A^g#*pTqt8qpa>+my`@4)^0;spK*<;QUU9nJ*)PUTCu{~fV{Pn2)GtUCTZ^jx$B|E%(T`1j>0 z-0weU@XddJ4ZhU=3eKvIXBRy;3*n8E_5M5D|Gl;@eDnMd_vi2#{586dUBLZ&&n5h) znuqA+)$#lHp-uR8%J<;@ckTfG7v-n$hn#BHiyR*4`nZPQTV8ubb)3GxVz~cZ*?~u@ zGlcu^rpEAtlrP}^e6@rht9*S>9jE_pssZn5JtS~{9@~dMSM?|G19ZPMgAbHn!TtGd z@XG2q-=usCez4Ya8$QzbQ@B5m9l_tL`g8bEs=t7LO8M~Y>Nx#*Yy|&`@?E(9j;ja% zuJRe&f5$b2|5W)U-2d)g!+m`={zpKHbNU#b28?$3pW@SBv+;djUj_%=E})LvB` zk3To7!*^A_1NY}n34CAwI~wlK8z=B1lrQ1_{BQ+7R{6%OtK;|QdoB1gl<&j+`Cba2 zX+6*2{`_qYKTY+6*Hp*j&s9SBtCVlU{daU-c&YJ>;Ql-(gZp|b;cwOFF5y3YsGbkN ze<@$XeWda}FX5NDb3-dmF^ct%_fVcFyDLlDypN-EQ!h@fikKm){n2+Jh+&(vh z=kfxco_)y1=Puyq>ffmh(&~En(i3f6)!?~2gkLVN!+$G};Hz)j_#5!slyAcC`Xn1q z3%;8?h94+z!;hDD;HSyE@K?wa_<8ak{KN7-d?p{je=JYoe~=I1f0K{k+dkRmXAIv} zp1}{5PvFPMr||mR_SX!aD4)Y$DxbsuU0%RHBwxTUm6!0{USQiByso-#ce|T;2!Gpw z=5_c9dhQXy2lv$+$MBWB122AKsz!Uilp2`b&CNJT+d<`$QCTJc@Ce-3wSAC!sE5oU&H(I@Qu}ZE9DV9{F~Kj!Ta(yJd-Ez z`0rMy5AVx|@RfWFk8Za*Q+O)R;Zykn9{$7XEa9;{`1k7kr1B6xl{etw9hx_IEbqXB ze_B3)H{}EPR6c~4@(kYpm*x#VlF#9BVCRhmJdv;9;lEiv7*^-4DX+szc>^Ba$?C-L zsk{R(-e7cS0m++B%1uwR>eC&$=C4kzLpQ)Qk}O_9>Ig1E#HC{@-{r!#qtS!D(}Nf`4C>*&+3ff!LH_0cqY%` zg?s^zce6T6cwZj8wK_k|-7O!&6L|w3MV4>DJMs>EB~Red9#&@npUQ{u;Qp4+;Dvk& zkM^|u9KMn-;L%=|U%{vH;BD1;TgmJ2{@zxn0ng+yJbr-XJMg}|2cOCZ@bH0FX9Q2> z8GI_A!B_G*JZf0|5}wId@KRoTdv)HL$61{a?&s|~Jb94ioABno<}ti4@4`!Y4<7Gl zbyE0LK7z;lTYdtM4ltj=!=`xwPaa}k!ZZ0A9v*1<+B>TAnaLw~@=(h+;ZeuD4PPB> z-i2p}nD^oFiRLLhc&hmrK5Cgy;N{cJb9nf0^8&s)*?bAlpJTp;Pfs%sM%8&69c~`N zvop*ic>hfE20T}t7Ch=(z6}pvVcvnSR40LlueE$1o}6bsfJaA|58)m87#_XD@>BRq z`5Yd+)A9@WC^lchI~SM-@2t*$=X&!HKDy1k0Z(o=Z^6rdns?ywHV1Aze@Nh~ZOwb| z^e0wl08b9L{19H=-FyU}s!j%9?PU2WJh_+o3|^|v9G)F*`2{?`kNFB7{?xWBI3M%B zv*qjXQuzjabU(|-@bn6+--i47yaUgVu{vFN{0pnogZJfqxYr-hkG1+Ke0sIjAHlOH zSbhxm`Wbw6g5@XhQuSx>;E9&c;a-0Z51(rJf_{ySzl6u~6+GC}>eSv<-S5q7txg>t z?rr%dy!e&nWB96J`7V64k9iNC?`PhJhrhA<1-yKg<(Kei*Ml~W>ovUG*1UE>b$i|G zTkr;ay1mtDZNb}H@a`78w*?<;!H4i*^4N{-&FDWcpTN@}o9A@p=k%XgzJ&jwXWw%z z;kV0IaR0r*8otdL`hM-g>V7%sbn_bgW_=G5!gp7`4v*y#{2uz;2HeNlgr`5Vd5Ga> z==;GoJbn2CH}*>h{tD&0@R9Nf{9VfT;F=t2|QGO3co`2XYfe*9Dbehb9htv0)B(?3wW%2312I}gm;u*!T;@rw!Le3 zqI~cl)pfq3@-=v0`4GOV@^yHsd<5TL`35{wz6n1_`4)Vtd<;KU`8K>zz5_o=`7V5= zd;))o@;!Jku=Uo5hb{a5dH|1;G2OufbQ!hw!_+$d0c% zJb0z8hX@`i-++h8H{ng?TkuHv7#=I%hBuY(z@Mmm7al90z@M&s51uIBhrdAi0lcq# z3O`HvAv{%nL|1+cA1R-~-=zEmK2?4S|Df_Sc%gg_zf}1-e5HH=|EBT_czCw0pAvqB z@=JK6{0e@(@@sfg`CwdK|10Hd@L2f}ew*@jct`mNeuwf6cwhM@{H}dFzFP2+@-cj8 z<=gP7@*Vh|%6H+p@(FxD<$Lf#`9A!y$`9ZxZ||B>Q27D8seB6GRrw)2R(=HEL-{ehqkINGNcjmoQGN=4l=3rpU-=yVWaa1Zk@5xn z`N}WgQ{_wetCe5EbLCg?*DJq<7s?0kt*-wIl&`@{Ca@4^%16L@&2-Ou;nedYV`pJ+S-c&dB~Un)O@XUdP@ z+q}fCk7IbQdWw`~}K4;3MUm@Z0?S56_g3;b*CS8$MOO z15cIj!dJ>C@OLQRgNLuR_0Wf3sQdsPDWAgsQ~4phsr(53QRT<*SosY81?4C3j`CCZ z50#(66XkRG70S=yedP=IpOjy~Q{_weHZQf~eF+~azk;`PzFNaG<%9QE*Z(f6UxVk$ zhwwv{uft2_BluI5Z@`08=YRM!m2bgA@*Vh#l<&fu$|vxbDc^&~%J<=C zD?fmDluzMrQ+^0flpn$0rTiG)S3ZNkSNRD%RelQpkn%J5NckN8G3Dp*O!)%-DdiXN zT=^27Xgx3Ch4L%-7gT=@Unw8_XLbF5SNR$|c%7}!5PrS#b$FzF1pl-04R}-eCj6hu zx8NP++wlCNwms*EkK{dg@+r&r;emWepIUwbPvmoWaIxhJc&7Xko_xmgD|oItwGUMH zSN1u}hwxP1fajmLe4GBi<~?}%1@j?1nwgK_p?m_*S}wIXw7@ zc>zx@H($cDE6i8$L|)6P^BF8G-+;&RCcG(c!?P=`P6s}ccj295Y8%IU0x$P9@4@58 zn)l(;gSXqLGk}NR+;+oLc=<5P58?SWmLI{B!t!Hy{2cQP-v6oj1U~(q`4rxKnfVMJ zA9~k~@#pYdK8FWaSe*jid6d;zz_a-78}&LSI%^UFI2Rm%kX~L&Z2{*h2Z$8~ThG)+;Z^Mhz%{%bX z^US;O@D%d|-apg42hTof-iJrOHXp!?x0t8!_!9FWJp8ix2p+x1d<^f8%rkiWe)9>u zc$fJUUT$@djrpI!qpi(zc=9^)IXr&9c>y1N%X|S(zGhy+SIRHpg?t5%U3T2q-WojqrR78T=%bde!<(NskKm&Zn>XP7?RK*D4^Qu5-hvlfnaA+aGtJxZ zX5G94A6;PHg?GMWp1`BG+;d}`J$QEYy*9iL@Bi6+K;Pru8~GHzy4>~9zJ`ZyHV-~hUH|zt<~8_eX!8@ovm4Co@cbR-5j-B5H{hcWnm6I; z`8#jSe~bPu^BA6=waZ4nP2c5y8{UC8KVja5Pak)ejeG)c-dFcO@Niqp_u=JB%m?sP zK7=Rh_QvOq;9dCy-jin^t?tJc-1pFpI#c*r@*MtZc>#aDyoA45zJi~m->n57tB&Vg z%7^gAzBbMX{vPF<@cDf#AHzSOdW8V7ki&Q6tUn(ELFFx7o zXYiA6ZrOf;e@}IC`1RXbodSNj@+JIQ`3n9AdGPV-e))?$gm1I6eQpH5x4a48Ssuf8 zm)EYWer|f@gE!_Og8#z%Lc_zi?7ER}!qY#Sx8T>PP8**8(&oPd?|;$iB=Cv){Pf{_ z9$@n`fJbk&Iw?GOoB0slI>-75jp27WOX~+dQvC`2%T|91pQ?Ti-}UiUe-1C+VRaVp zNMaB)oH=K-*^nqG|o1> z`46k#f#S)2bH{=3_)&KzF++UhLmpRqb6{EPpvI!pNU z5%%}y8a`8<;Hv6=d7^&jT!ZIJ8&4fxUTouu;7|Ouji&)mZ?rlsy6VL6GgYSz&u_Lm zU3fIL@g(rKt4`ng1PYVc8Fb?Wf+lQy0Re$a2U ze&FR!R;LB;s7?$&O?BGv{w`Lh3(r1b<4NFW{@%vZgJ=6%odG;nofQ6F)fvLe1FX&% zp8mIuCxhRhIum&G5UVqTmlLa#!|$(kIEN<(TAc+vR-F>Qo#uH7&$hKXYk2T+8&7a` zb^TnS^J)#AU1P^r9iD#7>O}Crs7?c(lvbw&k5ngy-=R8fczB)F>B94m+ISLptoiA| z(|g(c4Co)RIw}0GsxyRV2U(pl{liu#gKzaaoqym(&+5$J$%m{?4&O<2=J4bNR%ZbZ zGOJUYu2!8ld=O1|aW~$QI1$;|4s;N?4PJPADeot|YWJ}z-0O_t!O-$Ec>j9) z+(ucQpI}GL!>_9TXw82Up1jfOcj4()Rwsd%8b=TA+tY{pd`;=EwfpuNJUz+Avw)X@ zjb{n>`~EfD|Bh{4SDlCcv#fpwKmD&d-@>O~vius}`Ge)dUsvnrpSAo5ex~wcczUwN z0}nLL8NB}}`#va#myb7}!+ksJzp0KhJk>rog}?PC+pZyey8Uh&fA5#@q4G<3_z?U4 zXbq1qvE!)q+v<1*BU=w0`0Bp)xdl8^egO}+(Kz9yy!N~5=lb^4;XW^Ic)Y)DR~Mcf zZJ)baWR1hU+-+}mnFRXsOBH;>pxvqKljVGYQMwt zf4A=!7VyQt*?wHXgD2X$>i@o4e_3d|;GG}Z^WGGm{M>v3&%a^YyN0iRZ~4Iu)z5v; zoot*VcyXSMGyFp}@5gB!p6ED@;Q2GH&KN#@ws~-4wf+}0o*F!#TD}hNUSadrfPZOa z`>P4ho?~@l_*ivP_{;r%1KvFSZX4@r43F>f@D0!4cj$ULfd{wPd3y#gx3M}o{P1gR zyXNrxuU2OPPgSRcZ$58c;_`X4-tGfzyE}X54L;@9{tnSVGMtj z>a^k68?8CwpMJpV)Zyiy ztWE^?`{4#W`Lxw(!PAx1iQ#@f+=hqWwmMySd6U&i;5YmFfj56-bq4V0Myr#;Kdw4M zc$izAF+9D&>SXXwtIh;I`i9k+!ONx9$>F!E&K#ayVRaVp^m?mP!XK*VIZJrwmsV#D z&wp)oS~pkM&sTN+@4y3Hj~4Jk_roP!*Q461THnv_b$FojU>6?hI<s&6`???N z|Ec=9)2r<|wT2g4+kMgS&(-`FFT1l{U*Hd!n=j#)-r44J1&?>I>qu}*wSIY--6z!G zss8^69zQPH7*Bp{wa(Y{xpR2jvwZZIYW`E(**F{U^edKc!5cT)yv6YE>vP-i_zbJl zg%4FHf&b_hyPo#o@i(l_0KQh86#iq4X9!Q9VRbTisr&@)`4avI<(KgMX;yy)FP>$- zhTp0>wZB&P%XVAaehJ|#)vv>g#Og=z=1sQ0n(+Imehc1zfz@flBjvmBhshK8v~6{A z_#>4s;m69C@H6D$ZPoelb)LX|J@??{#WtP+yrcO^;l7@S@Lb2y7(P{<4DRcB0`Gjm z#xsNadd}g#p6Bq*^$GX&yo7r`TL1s&vkl*G8(W8c_)+p4?w>n{C&$?K27jx5t{+D= zxF1I$+>fI=`~;1s0r%sm3HRfu1^449hDU$2fIY zexdTg->dT(Yn(Oshm~)_{WwbDejE+qejJVAeSK~Q_v2^+_v2^=FH|Ro`*Adf`*E~@ z$2Z&lD&c+{E#ZD#1h-e`)7Nti?)f&{ug5)jq3hrPp6a+5!UJ93$MEu}b{tLMk*+H< zcsjTI9G+cjzJNzxGq3%lIuG$#=5=`ba`Of}lege~)oH_%msp)H+|MsPxSziU@N)O# zga7+)2%o;t>SyqQ*2xSWYhH4Aru+h)C||-qq2q21FYj;T4DP7TbFTVzc%c73f`480 zTkv#Gs~^KJ({r#kJbHpXhv~wDH`)Da0>4CcdhqD+R%ZauRVRhNUv-A?=vb>WhG%cK z@nrD3{L}6mC-7t+d(Jk4r*E-3IsBh@Se-e%->^C*{JY98;mKZ>5B^!*zfXClT~BN9 z^Z}NS;Ga_c20XsMU8OXh(pwOvbie{b8aHM~@vAh7djZDZ6y z@DFWQ4IYM8rw-5FXXAhZkXUV^5UufBfCf+e>)!fA71IU&G7H z>IeT;-M?3>P7R)2V0G&7_#;*)g5PwNji&+6M^>i=PgN&|`|p?9@Xl6NCxQF#<$Cb& z5X-0VJ^VQdJlnVEX! zJ=WmqORRnbA8Gszc=KbHkKz9N%r-p!pyd3wZiDt5d>1q2Hw};n|C=&Ke&4uhj|e zT;0F^`?MN7+uG{X;n5eYP6WSDzxQas!#i1>7Ccj(7(V=qj#K#R^m}id#}fGSl<&cd z=UP66AE*2fo*ruX4E_-1C-CAZ%ja;fKZmd0W%&~B^_TF@`IZm1uI?|NpBg+n)$$SC z=cfTrPqBOqzsctxo}O&^1b&g;PwBy%Z?b#}zd-%Zhw$kkme1h+efk6*buFL6uhsbH z@bm=Bm+&7bzl5j9Sw7gNI{)YBdy^VGdA#K#xIa&8z*n*5W4Lc`8y>YSpTK=QJ@|BN z`2jqc+3}mg{d0%#>3glt7+$JQ2KV(afoC7G_l0Nh@{2Z}9PaC64xb)lbr$ga601|f zeLXDU$@{F%8lGNib%MK8_q(r?8hrIOt5b&uU$Qz8+>hS|e08wZiQ#_yw&BG=mQUb* z{^`M2`&&MR`}t=GpFYU)8QjJr@~l-_&-L7I36I}xeG-CgtNX?GV-22Mralbt z@+&%C;J$tu@Zd{Urv*>HYIS0`uah>s{{ySjg-5y7N#MSIdhl>+bq4T6byB#mlOa5~ z!0L?Qx$0!_&EpYX&aKW2o_@`?D~J33ox_vM)ZYVsvVLc{ghvllzmDyy>)}}CYw&0f z%SZ63@(pU80;>LhUA-X1*P%j%?X-`*iS-PQ6Ld~-j- zi+5Xo22a1K{Rn^GpX~m54qtuA>MY>#Wmczz``-mic=)lO}C(zc1kNe^{LsJW-t(?(g-t;j5#qP6GFQ4?caOa^gg>csGeX+GQVe%-dK3y*$a^OL|IpgKKx|DIN70FQoT zbyE0!RA&e;?rwF)@Tjml8GKt`C-CsDR%Zr}FSj~5d~^N4%WG|(7w}wlO89MBhf8?z zFRQbLmp``g1b07vV_o=j{%cgH2JhTzb?Wf)r&cF|pRYO%c=}7L6T|&I?lye%Gs`D% ze=gU9uYPR#6za5|>RocJXA79zOUZ(~x_qIB9c&0iL+}|f^!2Nxq7Tn(_is9Y|pbekyXyfU^ zON}Rid!K|Jyct@Z0X+Vt%})yV@eJYRU98R+o~lj;_wh{N$<|h91}{}7hx@vn!^6wA z-`KAUcyzVa58R)7FX6$rtj-#qsZOxN@s;(n`TQBa`i9l1!=r0#JQ3WVGdJL?uUefJ zJXf6t9}v>*qp^rv^`dVdJU8^S@i22>uDxX~6qeTb&j>y4~u;@TKas;qi91U0wP= ztWE;IQgwRp&R=aj19vZ2#t@1P01dAQ|s`0Mp|${fDh*77CX|E^iWn>X0|alt*S^Y8D|)!_a< zT^;W4(?xK9zpnxJ_xoCKf4?t=`}>A%xW8}Mh5P%43Eba*?7{v0#{t~me@x;2KIRba z?_-YP{yt^~_xD35aDP8^2KV{r%bCUe)#E z@AKB+{yuLV?(g$PaDTtJ0r&TdTX28BIEMTC&TY8A@7#s^`_2j6-@op`{r&3!+~2=W z;r>4O5bp1TkKz74cn0_P(xW6x7!u>qCg!_B?!M&^N z#Lts8xc32w;NE|r0r&m`Ex7j|h~eH3p$+$b2wk}MLrCEMcSH~F{TT*u@6V9J{dzQn z2f6h_7{g25S7dO%&Q9R*cdX6~KCjvRNe=h>fjK;$Tb%`bp*khpuggn#{B5hVhA&ko zxKDMR`25u1&DU9-Iy~4`_iu3T_t=2vueLfZc%(Wp+@JHb;qf_Er%P9z1n$50?!k*! zSe*epQJoa-{j!E|@0T@(d%vs3?)?nsaPMchfO|i~67J8zmT>Q{ zxQ2Uw#o)fx_2c~>YjE%PSciMR#|ZBICmV3@KiQ&x*nYl*I;U4xyg>&LIlHMsYit;4EoHr)Gxcj4X- zJb`3yN$`AmJG z>3;tV|BAnd0-t`y>I~rdUG49J6#hHa8N#EFS)DOFxVzQK;Qo7_34GMCIx~2=z5f1! z`*zLY)AOxP3HSUG9-d?QVAtw;@O%y499TYr`*tGA9;HB#1@Lg1A4iBGXbr$d>w0SGx ze=O~L#wEObjMZ7gbJYoUtM2zwb!za=;Z~;(kMCjQiQu19od!JG!|Jr)rRv1+_p44D zp5EK)bm=?VcoMj;&mKIuV%v@Hxd!x|tWFB|<6;Q!TxoSOxPR^h9{kMmIea&5?;M_9 zZ21K|(Kt)Ezi+#Q=kK#$bgkj(J#Bjf^$YReeSJpXBh=ul11%B3_fx(BpEfNY!*|f{ z3ES{&f6FKE$12~0r-xfUg&(H;5Z-TDK7${i`~==S*z!62c)iy=hnMGBzJ$Nn`+C7U zy=Y?{uHe}*=C!DLoSyA{z~Ek|4);1u__?anf)_8e&yC?7^=<3Iy>C?l_c}ee*Gb{t zpK1s%+BTjMyrVvE6Zl)TT?PC<S6Ri_U3IuYFKwBY|z zofsZH!#=kSFEyS7zP4 z9q#@98gTD3*n)fC#xA_C@$}%ur?tIsAO9Hc&o!SGc z^>2B;)d{!YefYkrGl3tVf1h!>1rHxs{oK#1P8)vp@iv~$7JLf-llmAh;a8~6Y75?M zRL9f&#e+BIzYR~HW8+ESFInjKhw#q+_V1{s@HZ$wghvNkK8Ig+ntkpZo*xixjB^S1 ze>ZRipMG`sjePi^>h`{GE303JCl9syE%>uvX89PN9%A_f{ygP-@azc758-DiKZ18+ z%TM8FD?fvGRDS_~z49eIQ~h9{>im37@9EdzvIn8Tx|Ig?(2C8kN2^Buy1vKd_C9T`GJ;?;my04ci^GC3lA2S zPvH3jZT?fZ*BQf$JuF|sH@6o)eYm!Fzb$MpJbtXU7yf3gw>G@5<1vGuulxi)-O=jj za3B91-h80tOStc^B|K?bKH9&!y(|4Y(M@=u{ndguBh3RmzQ2waxYrrL6YZ}Y?)@9* zaPQx^fP4SO67KyZmvHYVxrTc`$>71&`SJdiHMsY;ti!#(WeoRzl5M#6lkCF1pJWR6 zeUwZ3wZbw%SQ)P=V!B@Bz&`gA+zs(%(^Erq2ziZpOgnvTwxq`30XZf&MouBR=y8goZKd^iY?(-kR zS3k6T2KVt#;Qen~eh&A4XSsl{=9XW8|g zW^nIEI)QsX(h~0TvxN7*X5*g$$o!hJql@cuU~--Y{pCh+1?%@2I9 zU2Xjg;mt2wegdEQ@eW^o%ksfN)$R4)nb+XnPc?%3_v{V0_iIhyKL0)VO4r9B+~;Qm zkH2W+pTaNG_RiqxC6-^nzps1=PkyTTd1!Th9(j_@e+}OJx#bi1!TNX7d+_W$%Mak| zL+$=8hkGB_Io$iWF6ipxTEe}r>=N#MW!G@;D;peKorldnxA4tAw{Y)s8^gViYa8x; zT)S}ZD#}kN4aq_`m<= z@cipLZ+Hp!<7){|HU2expz+5KtIm)2k8Q)fe{2`-{bLij_p|N6y`Sv>?)_|2xW898 zgnNJ8G2Hv>W^n&K!vyYqeRKHc?ad&ksGg z_bX1}etsCjy&rN8_kOu^xcAE~;ofI;3HN@y!K175~A8r=Ke z*5Tg&HiB=?KivEAw&326H->NS7x-p>V0e_PuMXVjzX$hz#RItaD^B6Q--mGTpFD

PEJ$Mpj-CH;QmHHMHLW^(fR`@OiV?&rp0n zUMX_%qZeAtAU2HW;8;#@;gOv*jh3U6e^Ym6FaBSoy$5(y)z<${i^dWM#ZgqysGy+2 z1vN^H(L^Z|8C1lAy>abV@scPuL^C59#{pFAioN&iRZ*^y-fV~sMFAD%93x<(iOB!+ zUHhCV0q^_%-oMXdm~-|%yR5bL+N7LJ**?mJ_`KUHl6iF z8%^g2^a`<#>Bdy;K43(Ebmvp1SGVv6ysgMaiVz?NT3O)Jw= zDi=(1+gp1!Jhc0^fD}NoguOQ&fyo4IK45K@bvG!_^v?Lw1yZtZ4Y=P^96}{#0_491 zm2}Zt`0I2G@?-t^O0M1h7_9lXWaR%R7Mo$wRETQLe;k(e#Xb~~ z6Yz0*kCzXHsK%)7ChRRoF4clzJLx!i3T^z`+Hi!~Ms3)~uiM8({T4dv_)gUEqo`vU zZ$urP`8S{rmM5g4bF}Ymf;@Uc+mMIhlY48JR~}AJ32`cI-Eg{|jyIx@FkT#L`-bv> z+6t(nQ`pkbu%%bRmTII%paSKnqsVJ)FzT@7cpqN`bkOjHFdwkINb+5tv{$ty&drz5 z#lFGu7{3o2gWj(}d+;Ad!q$EwY+WbPn8!M|*dAvNtvrqe1xI@Y%viv9mYJOfGh5k` zw}a3KymikTBh#*Rk`%Vaa~v%+yu-hWw-O_k>US*T`J5u7k-qJlRBgF7v0Ecm(ClhTZf|ROg|{Cy{LhSdM{2sMU;M|xb9O&ayB{#c?3alx=_TYF+CO?O zv-ySoge(_14np+bqvc={(XffStu(_|i2MQHw%q+i)D6~SCOW$k{GZ5Jpugw>gV7bJ zvi_|)y!8isTQc?%2HAKPmHbEf*89$}bN?EsqB$yF0TrP6NB(ge19w{J2pJmRaqwl= z%42+}S=o~o#Q_q&Gtome81=(o8VIUm;rdT8m}%4pR(H|po6VN|k?M#Uez+LWUTZXC ze(=e}6Tu@L?D8eG?`hsR=jn#iAAKe02+?-F#*t-$FHqHn6JQ{vgpK}E>v5r!{L|

yh7{<`s5`o}W&p0Ws4L~H&yoP~eC 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:bhF? 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

#gQZ+HOY@~`m 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Ⓢ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�%d|u0eC%u=p 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

M=3+zMtYFAmel!8jMa3lg3uz>fV){6k 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

15m7Mt7t-12X6s2&qZ+! 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/*Idm=4=kR}2x`)^Abl+(r>DF24{UGPx${%c; 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%0Ai?uc39{l$3K_BhbI!d8%=yw`&ZnoN9c#F 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 L%?%qE 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±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

$zC}vK#z#_MD7EbhCv9U@F6;Bid_z%Z z6^7B0Tli!nvF){7n>UrXbX4Ug3O+oO9!B>e820*gDL-C?qvdn7rZQKf^P5WE5BhdE zhF{-SANlbzO^0F!pEFzsCFq`w!nb5+z1 zkJx(7m)}%X%YT&xzj4Y6&7wGXxk*GwFC(0SkF&2-|0uhc{PCRqK^MS zN+`edgnugZV%h`#Z&~=SHO)+M(pN{#u(!i_z{7Y_bghiNYd{z72xh7+c}&8c$RRR& z`)=hRW3@A8pml}HrN%mc8FkJ%+pyOo)wEYobgLF?r`#Q7s~cB9HITxCOKk*pyg+Mt z62NsRQaL|^HvY-3CkB2s@CD0B6#emik-q;PehU$#O^L>EXV3JOD8033dOAv<+%sKQ zrUn;h^h}=|rB{(2_BkO+E9*|XI7%DXopwo-7VA#CG)ntG`>h?r#3=2h?zE{<+VbwS z<|yrf?z9~@=oncW7!#yX{^_Wpq0*ZsVSCSZY;I8`Ru}sFN)asuYO&vspBSC` z%a5jJCaFz3LRF_ zs;y;v1$>MYT7!3wDI}cW%<$Sg)dt62$KoyYry%ZOYEalRe0K8G?v3V#eb9yt3i(Ah zerrh%_nzRzx6Be`ohH0%EWh^X&hl&dgMc@pJc0UivWW|o7A_z zZYI6D<;$egDm@&(u4vvR{@Cv1hdr5iL$&Uk1WIt%tGlfCa zgaZ+$vvsr??8QH(iL=-T+Sm#%i#>wcDds;!{U3_*;^Ts~Fg?~q_F>~cHiRIvwOnSw z%0N)gdshn!^J(W4jRy(=7T7Fm!z7o&JKx|E_3z2CY zh4Xe~xDnueeODKJ#hHH=Y4lTI_{NL^_>viC=JZ``$}WujMO$W93;*f6X0Be7+QF#h zlqz%elGF}HeYyF4mwwM*#P8JmjQXlVISWK$6dZ-|%oJNsUK{za70{@1tNKf3Q7$mPC_V zZJWAFO*N~jdyE@zhOi{Hz2KU?PR`WRdL^||?;ji7Zb~QaQr1Dry2q%Ig@x6|dz)~% zI=G)=-F*0WMTWEcu{Uy4k2t<47VN=(+FfuK1%qwu8aet%`D-$#nGyn4LCm$Ws`HYE zw6-;m?cO@ZQP2PN>nv;>cFB!dwc%Qu4QHQZE1mD$vb1U_K6G23by`OF@KCmfKTUfMX6OimA_B#48r#*y4bE=0j%IlezMYyKPeLJWG)TZha3(m~L~>?3Zqfqp7+C zB(3K}pLizzQq`H)%;X(zVoG$Hu?~*okBG}6M(N?ULB~S*2ek7e>mu!@?mC8UhAZ77 ztzH)MJ;>(l3qqf=x$q3w(~fs^1keA$n6vUg=IDLG{3D|LTgZ<;Vm5^&%O(DZ;qZEq zk)wl;s2PCHD)g=#$nm`Dg66>;$AJ-*`GJd=LaXf(qk-|zpQu~BD*9HC% zW6omUKH~UhSKLkbXE)3IzS~LCZWQrq&&xFKz)8%sQ_+AW>$rkQ4&e@jdv^;ZD*N6dF99=rkBcJn{--@%4H3*-l!2ZF1q8PZF=H@ori!>G*dtG`a&NsN6% z37MhJ?zF7+0NC~Jm$)Rrlfj?p4%8q1)_|D*OIpJ~c~{u!Ue>=<)nUo1Fy{JsT#3mY zZq>J&gSyJC3J&|3o{uwx2|AT9Ws)T`hLrr<}}f! zVP$4?vExpw&W!CsZkzT>D%f@2_7+-m<}c-6rv35B=573sd-`uTBX}Z*K5!N7c8H^% z2vJN}gk?DGI@jMQz)n}&&h^qbxtram-K8D3q29&a;pO=FchXbLU>He5*uPWsYetl-xmnuQK zr+TFor+P!S#W8Nj^F0$bs({J&YV$LRFEw4)%h^EYv@aCs@A`B2UAgUQ$6e}fbDybq zg9i5>_in*Y!|p2iN9z@WZS)$GLu? z5;x7MXiM$LcYf9u%;USFZQc$kqMcjYf~&&s>%#9JneWt&*~&a4{FtGSQQ^l``ZzB9 zxLhAY!;ee#QNl;K+^^q@->DsY5;IUgHeD?!1__GKKkqKIk>9Bu{hHTRv;}XO^qa&h zu7AO#@6MF-gS>YBxKB3B{~%DXuT<%?qZe8 zr(DO2^Ez7@W>l|ZWvX+oKKd&2kyPi*Y|eeD&Z+v?MLBn+Iv*CAe6+t0aC1_Y2(VZ0K7)%k_tAoj>C z=#bPPvsw@Lc06go1jxC0DZcFBG!;v4s4v~qT@^pRxu3J}CfbJb@b~3(;3}gAlchac zW|it?_$0^!iZtJNXiJ}~@0EF~H}^2ZC1fPjPq9S`aUF(l5UvUR-yKI}Kfcm!GyV_0 z6I9TFX;)EOQu(FaRrf1Jre1g%6TuR!SR1^~QAOk1HThj`8j_P!+xC#x$o|Rc#N2Sw zZwdd~9H(^&xCvh1%e0s3!rq|We6`r|YH8({VnWq?fVOJIa%93q&zei=PlMa_L7wP2 zkZ*=m7oo6tB&kMXZ{&&O+m9(W0TMv~p&>v+!za1s~I`fb6T5+JepC zCTH8l4Gg!O1M8*2G@_T@%_uZWf`^<&3`x%MMol49eWGbB_LyI8%-jG3&se)4TWM)w@rh_|p!1S9F{D$}gLL)6pV5kwHW#!9mBk-)sym z@p-~i&j<<`3Fot6%ZTIV{{oE14_O&{D*Nx{FSq48ejMEoCp<_QcoR%?>j&f-`Eb4Y z0SoyLKfK2L0kUNo(i`hz%RkU-t>6WFnFC(Y{^8h{GM_we!G5qw7)xR&&>P| z(>@d|hwf4Pfo(sDCrjFXRYlacHyvY3P34^lbzeI(tYBOdC=;Wk^V;5@vD} zI$rL%zsNC>d0#AlV%8B|a<5z|%$}Q+QxT zWPUGMjE6#h_xHD>k)K@3n?)Q|8g$Mkvw?Sp3}g}>qc$cNs`-*wl2?f5sSJ-QX8?Ca z+m;dKeVd1K>MHTZ^dlf)(wQd};M{AZ>MBXNYdk$JIi+}>FgW)bihP(PYbq^&ICvGJ zawsd&b-up{gf)0)7R9&JmNRX?V%mu4W*AYbc*SQ~3~5YDG}ToiN~%#SJY zrqcXJKw$e)H$d=_x>pSC%I#!zMZn4Z`1Zu$C$W8YuHyj2Ozn-=CXVyPEA#uXCP$P! z$_VG0$iSnPxg)T6$$CN1cVTc1wH7Jl+(=n43+4IfZ0p?hdWuhYthGi(70UMplVG_x zFe+*HeWGn6HN9TdpLo1o!BE<&XcHEKZ_}+_zg@_)u19tLlI6WFRE%EZ}76yrC7Qw(oV#VC3^( zHxXfJRgP1}7WxJe)ZxXPkDoBfs|}T%PHP7l_0R`XDa+>jw_iyE827Pb8@Z_lc>Es*h8WX&F zH2BUU1b$V`5Zv0~b`bfAv8en`J}ax)*66!8>!7_kS%KZKk#gd-5`5(Notr_hYBI%wNt^ z#6TP;q^BpWI}g9UlYLC~c3Iy?=a>)U9O$8G@(FZ4LMaY{ZlB6Wx{(jz;P1Tq3y$h; z4|jHrdc)Jt9+sW-0gxVuyGc_Z%NkWWNkDvtXd#TgIY4O!>Hc@fkS87$I)|3Yzu|2v zLYJoEE~>bcipKd7xgRMvoLPGi@Hg;qFlu8T+Au|v_8BBK?mJY@Xx{VxVT(2Dcc&(j ziQwoTHRj(zelV77e{8u`eUnv?T{ei>X97y@RQuR=;m`*YZbEL#4y%F|ABBQ-0-m+Y0eOWshva za^R!?vjH(v=#8^FLAyuQ%bo~>fMX5XN1>{>p0M^SL@WN;XYx> zICXMb`vY;kcX2|F9?f*!2)zQ>=GRaq9SZ1x-ELl;lX%N_Q0?t$5=B&H`0POC%8!oU z8X`-0i*$%K2AZ!M2;TG89Sku%iKJQYUBs(oI6|3mPXT^wwuZ~Yf1f9b^2)d;b5dPb zIZ^})HCX~p?+4Xsvdq4G3i>G?i_6v2YiJ3GC3Mcf?rFmRgZ~Q}qxC|y9x+arw6KX@ z?nUosUMXEt+}((Ot|@Jo@;IpKbUitmO*3yi zJw#CGk`X5Ev|jN)wwMP&8=K$KR0q#!d2uqg6a*i9+$2z|4YA zo6ay3f|#-?um&-tGBFQ5%WO5^_3MWiq&00w` zizUIU^e6jw1f6n$R8#HTf(iB(O&z)$D2b8QBYGyPTmOS9MWiC;{T==ACKeg0-Om!x zzt}8MBY}(I{;OjQWe;ai2Lr$#KET0AnAMiea$0|&sRc+bM+a@d(U5VNX&QJEIY9lF z0~C@LwnKcd{E1674q6e>iQ3C?M(94JU3s_&t+=BGv9$SUn!AB98wMcF<}6yvIt#qt zQp@Xa*~DfrheU{)eRU%%I@)oC23nAR4pv`j;K|pT9cp)r%ST zntHdR9-uh)VSDg$#{m3-qqodV%F{iZ>`%Ba%Hww9y_V0oK$0OxB2#OWL`gF)p>J@AeY_1h<_XD?9V1h%^_O%Vvz5NsxyPm=BhB_?*3i8 zYc$k>2f1+9yGNV9_$aPaIRfs&orpVPnAtO)3BJVOx@C4B!k2f6aE*TL%)G!zMD8lo zi*f~6`IL?`2y}TeUd;^3FuB?ebsOXlH9aEli9L)LrDg_A)a*z5VLu84?ev46%q`0i zfM#%sxn+5N^S)}-zkCq1QJ7v0Ch6gPbHNF)%Jas|0_OV62xOs|l7&uN=G>oZp;zP~ z6pVkx1A?jrhpU#Qrq;i~Z1uZD`%k%({*Asv>iR`=IpSX<=LxK$GU`K?y_eKDaqMp- zucKeep`O9CmL;$AM6{VfKh9lqg%s!}ug!4DZz8YDekt;**eK7kL|EF_jDRqcnWNw4 z;>7n(vqaJcBEl$G)`*E~kCgwTD#w}sJFnLu4_%}yHK0{i=CJ*t(6=ueKncDDW^9N>S%e4v5TZaQ>EI8CkcvG=- z&JO4f8q@L*b}^YpPcc__`19s9J(I#d~Par@-0Ka$U2#$8w~Y!`d^kBFmAY)>djAxvrHuSWRnZm z@n@5-)Dj-?dj&td>~JC~W3P)Al?q*JIu>P5^!~4Jm)(3QioPvi!`|;XMSbM<{tVni zD4%P3pZ<^L_NeDoCPzK@?a}i)mxetj>*)2itooq4`$OqIkftOO4Zmk4%k&iJCgeRA z^V9el4z6Xl=~@#WnkK`}gBB*o6f*^!)+v+-WW@?Te)Mk`)rQe_#`M@VsG}n?4t-Yx zLCW!$+uU@yGAx5WdYr1=8)odAld%N4@^1>;(^Y~o2BN(+?~pMg%=oi1)?2ahW6{j` zFhjK||E2x}?9hYq>HnXM z>|k|2f=b=`_^duX$DV?a?cCX3S>~U#AAF*=&|Q|=@VTr2({d_l0>w4BpE#|uf~)an zmYa||O?{=Buo!E-@9*9l|jLPk$TE4k0^=6-vWpVdKPHB>ZxvQcBbmH6| zw63<0A-^otuce*&@zi^0sV|q1p1c*?gtZ*OYq`Ep%iJzUy^B5#cd-D$qA)&(chD*b zN%?#0QgXiZdXWp_7fq<%MOZYU$LsWK;-ZP!#s2XOhC{4EO(YMEZ{eJP>U)dE>kVCZ zvAip=VZ`xV1kLDAj*nDxo+dDJu^=#)A>5B`X-90*<5i(Kt^4gjM~p~6PFGWM-*Zl#INc3dv2QpoLpWwD^pSPn5L{5hly|rc$IQ5(e{PDvN|`Rz?VTB}hQhSE}}--#?F0uTNPYxpXj){q_HDg7Kpf|1#BkfBab z#Uz+zu+Crmo-XXL5xI^Lgx50L;k~w9x^{r@@d0ECyd-T0lMRwuNJ8CU+LN&^LP$N+ z8t55@?0HtgeIG9h>s6`VuGTg!zOG{)rc76`7yv@}zGvY}zN-HF ze+s^CW&!>Up5J2`h;g9nkv{v&P@i3fK3lqMX?Y3-biFr6QWfC^@jH$}c`s-Foh0kM zG;p2YU<^*IJzc`fFGby(+=D1~(gyZN8_0X(M$PrbYZw4sYKcH3NRR%R@DyJ38HJ|H zr1Bf}=$7PnRh_$u{jGL%Uu+1olGh=&j?qk>DYD57y6~Cqmi;{PS-%Djr*&Vg?aa{M z?tMN^Cv3vkdLb94+G(T&e(i?6uZ3X>Zx>pW7 zKS7Gg`gi5dT3U9F2s|~e9TsBY_cTVemvgkS{y9{OWP+Z0_7>4&jykB^l(ed%i^vOc zW8TYU1}(|Ufu(?=^_A?d;XAKr204TcWN3hd!kyuz4`JB4*6gisk9(m4T`wA>K;PT1 z*p=PGD9|f~D+b7=`z)y@>N00maX)yf!oL`ex}Qd-3Z!ROwz>H{M;#IWWIza|e<4LI zmTQYv5aS=D(|<~G?@MM;qxXEzzx+RZui`r-K&SN|d>~r>`&?Li$6sN&%Urk)Gzk1V5x$~kDL?xG=*DoX3%OnWmHxP|4^M>ks4+PmS3x^MwGpV6xSDZ6%r*1;k?!&cI($;(pc zV|*~OTd>PD==R&F6jA71WU?k^;n*f~dDY;TRLh(!A^CKRXhBzue#TTeldwm%!}6Z1 zd}7uM!Nuys;5PkRNHJIdq;#|Uj+|K?Yrq>Rt#dDx@hs+>(i?LZcUjJ0&NK9K!FcKU z(#GV;y8w;;tI2PL`;e3fo&JiOHSs2bRPzVIJ!2Ve_UKxu06W>_<>u=Cua;J)ewhQ@ zBS;n@om@+{#mMwsIa-UeF?aCL;@|_$Cm||{8*Ee;{*||?*Zl#f`R$-d3?Mva-{~a^ zGp7^lw9hpk;PBI&u66BD*l}HSe~UMJ?d5tYqX(EqN392{R-e+*U;4k-(V?LKOCIAq zI7Yg^4s?G>-YJhTdcVurV#q-6_e96DEiQkDa)uu`h8otHU3;}))g0=u3EP#y)W=Xg_{tLiY z&~)%qQ#Nd@F5B4J7>$+ddR@Uz{)f>YqQ-Wktk}{S5`P`QG-Rv;2$-KDrE|ojKB^H5 z__{S#OkGO5xhrzHDQyLkZJ;^aYroJ+&kWLqTb3pNoT9M0<44*`9tH_M~oJ zA@hIeW_*us46|HJ&1@gX**@~KeH_(uG~fE)y4ilRaL{`+uY=HRPh&0KZjbZ>{t8n^ zBAm0JGDO-pGX9%;bYjM$YlTHd_E`csMvfIe)(ZzCbss{i5wG1Z&8|1V678M3O3`B! zk@X2Q%hMAh7hfeJNzI(dCN2M2U_b8(ib^t9(YPx@8g2i|MWmAzo z_^XZ{AjuuKhx=h_<`hOPyCe#&UK%1W z`+i4Si_FnuuR~^7>ae^9QCH)Lk_4{N;WC{d3NL?|D~CuO-{G(U)TVo2i{?NjY~9l_b-3sgBa`iCJV z-GtV;&)|s?^>rAs23x4&kRNsVbw?TPSo%^C3EGHa|E#@Xea7`JwnR#m)9yzwFp@S# z>cNi__v$7yA#L~YTIqJg=zM3#Ys?z?@yAQ~jxQgT~&0 zhbZn!-qO$72XnE7-Sn#v@A6ak_pa9%t?Ul!<6B0S@7i2j=beauCSsz$m)sApT*dy6 zzN4Ye!8H~x*b9C-#*WkwLFjcY9Op=L7?<}oq>_tcA&uJcSV9SQH)LDG9G+6ZwtB+l zlkpy~{!@ko8WA$b`FroL*(<33Zcm4RuQ6rTyQPed{ipPa`+&5nMos~ZNnI$XRlI86 zlxFb>3hIur{s8Y39*r~W;N8Qr@k`uQc(i#j`%QkZimzxsOne+!V9xtsu@D|js#z9B zALLD&fsR?$O=| z7s93*YFGPLybqh9w_8~+5aD9#L_`?sJ^gz>3!61m_IN~Ptu)Kn6QZ)7@jDqna2(TX z`PswbGP(Yg*9Mi<2HBP#49iH<2s)ieB|PtgMI?xcHC42kF(<+i!$x%eF7pQg6^Wwv z&sYe40Rz;x)TYZGE}^=&S9(yMbKf>#8{b*!EzRfnXKpv}_nxdHHI_Hwir8;%ix)0;(%8nvyiw({F?K(_n|A_Z=s~JCqSkt2*_hW7h4$LQ z{!Z&?GVZQU&Z+k%u_I3{^G}E9c-~hn_I68~LfPEBtaVv(Hn){iv~{G*sG(;X!B@Z^&b@9i{kZYoIn^mm;4xMtY z(R9{txxnBJHII{?WFAd?o$dVKREHZ(dxNlA)L`C(a2hd2d0YL06Lf{}cJkgxAOH8k zz$|_Iy>O^VAOEdTAK$8X^Ju0|J2i~1_6=(Iv4&G(fA&0Q^SbQ1y1RsEmvF#9w#w3z zx=+hLt+|_@I81%Z6yiT*+I2_}L!q*Ptl%iqq@@@5TlXkVsv`Gj^^tu)!2_?PJ0KQh zOgGhn`sWQfw+KO%g)fvRf_v0scXj;vHn`8k$07~nL^hJ|dyEg}eQ+Ci@asg+GGX~O zUq;fD#_-{b_$ONYl}|XQK9O+Wa+mQIc&(FI1I<7SV^N-?>)%$<7V^U~oYM_6(LN9o znkV_2%#QM2FP6B9#pgdK>T^4_#NtlPCfH%Q|ID{Q9J|ke?4>}%apKi;>q4FN72+ZD zmJ95NPjW+K_TyC8RnKL2K3%~k?Xtu7GlYam{yP6mXtd-1_?G--kV7ai1r7NGF8D(9 z#M3`g0*3QnlcdgqONX#N1tN*j|gNTBc^u7NtFvRAWIZpuQ|ANB2VK0fZ*|38fSA<16+kZ6}qKfc*pl_W^ z7$(9Y*71$;N$ik5CSkx03aC&f|rlzhQNeLvk-*zum0Or!uCJwYx_TDr~Qj7zF-!9 zjk}VyPw<*&Z0MT5{>g(|F zd&3BX4^=0yjt!DR14iCakWZrzAjW`o!Ok6EGt8-iMew=53bJ@qq|KR4*Pi|L8fZ!^ zSzsQG!Bi2${J&je&sg_jeQqRm)(40sypj z+9caFd%k`mXLHed|3-P-9z}IN<#0}f50l>Qja`CT+OYDJE@sYeU6EYnwWS6;N zJtd)NwoW5o+Lhq6zO3X7@yfH}c&9m^UW7TWgi~!jils= zQWuuO-RBLeRr_zgVO52@Z2=`;6~-;S`}>FO_S|Pa{U}Eq|0U}!;az|bh0c8djD$hq zwU{BfQdj3-aKa-0UvOEs7O6Q<$uPcS3&d^v<1kctP>#IrKFbr!!%2zGSF8EnxBEM* zPk@w{Ol0h$pXtoGS8JG?6g9=#%rZ6(7TZEQrAV-`e8%fHGKpgOOti6lj7|8N9IE`rBSx6@FIR&-231@#ZfN zgtAL2G9n5274)|4XhUx|%;W6rjTj#M2*hXmW2t20<{Skjcqg2GK6~i$cePHmhvM&@ zwda4#bslIPhOJ-jKKj@pBx@ht$N!6dvcxV`)o35(JbZy@AlqLPPvN|RjU!l*OW*60 zb>Z8(KZkf8>(ycsv1JZ;om#|CiOf|iV~^58S8~@HcWoT^EbhR0a;;K1qHyk;i6(L3 zf?ujRU0T#2kQLEz->#w>Bm~a4Br=GEc1fqTMc3xG%A~MLiK-NbuuxhPq|)4MK0s-2 zOfiBuXJs`fFAob|B2{%TgHdS-ayb;PDIV?RZ#FZVo>Rc#WO^ZH$4P$4($_3@UdPJ6 z{{g`cDAV%wIPd&%Fi==qi3z}aB%_OENSplqOEq~(m=`dObgLdviOdR>;8}J}<<#Q2 zo?t7Bqe8>#2bh4qN)ZZytTuC5UPIHydgp$>Zr+!Q+T_gthmhbETy`>I_0o5^4x)-d z0_?-04U}3$)VWN*M|r)1A61D|;!E<@j|XHr zhbHtjUf}>+r_rD=O6p{;rPG}S zud_<4PW290PuRrI;@;kMP3`W$RNR|d%qelfYSB2RmQvpp^Zwa=-B?l^q3YEd=l(Sv zLkypHccDT9+suGEZ`azq=Np>d<}z;FDQ^CovO}-jwI3mm z28SAXG&oyIdzu50JPpwBw^%34_W6&Qy7p=tvgvnI`s?D7rO15h)hKQ9INVuyBj+j2 z>f{>URZOgNUsAM78dIa}^+jR)KC^94fTlI$OTl@)WJ)Gg_D?54Sne~L-je$HpK4Ca zbfd^CjnYo--$zJ+$vW#w=F1{XU**{^Hb5mpOzO_eg+F(N9:E+muf_3o#FjyD%- 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 z⁣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∨)b}3??Aqr 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≠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 z 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%0DTSl~i2YYn-K)px0bB`&LFp@Ih1 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

ioF#YUk&j*E+xG{Ic__&Tl$zbbj0U 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 z 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

M80O>N)BK>O}P-^)hv` zdaZi1db@g;dawF``mp+#`lR}d`n>v*`l|Y-`mXw+`lp zjmDs{XzUuN#;XZv(rD6avS@N@@@VpF3TcXJN@&VzDrhQes%dI!>S*d~8fltpT58&9 zI%>LTx@&rA`f3Jf25W|EMr+1vCTpf?W@_eW=4%o(iJC>4rJ5C*WX*cb7R?ULUda`}wF<3LtI_JUCaqQL(7LoFKe%BZ)@*s zA8Vg$Uu)lKKWe{dQ?z1Tj836b=~7aP$xFyf$;-&g$t%b!$*ah#$!o}K$?M4L$s5QU z$(zWV$y>-<$=k@=$ven9$-BtA$$Q9q$@|Fr$p^>>$%n{?$w$aX$;ZgY$tTDs$*0Jt z$!ExC$>+%D$rs2I z{HXl6{G|M}{H*-E{G$A_{HpxA{HFZ2{I2}I{Gt4@{Hgr8{H6T0{Ehsb{Js36{FD5P z{F^)_MM%Q`)SsBN6)lgE%YJH8K~x+GDiSm#=t%fi{|x^|8EzXUQr<#>?WcMiKPji& z{X=`@0gR`Srz5cpBxE8X3klgs_*egO{2OJsZR8^5^N^75r+NzfqzcK45Y4}St|6@@ zts|``Z6IwVZ6a+ZZ6R$XZ6j?b?I7(W?IP_a?IGhj9U&bh9U~nl zogkegog$qkogtkiogCgVMv&qtfHjlhV`Dv(od@i_*)|tJ3Szo6_6TyVCp8htkK=r_$%rm(thLH_~^~ z_tKBjPtq^aZ_*U0P$rf|%VK0QnL-vPQ^_Y$g;_D$a2Z@$nwbw$O_4d$co8I$V$n|$jZqo$STRI$g0U|$ZE;z$m+=&$QsF- z$ePJo$XdzT$lA#|$U4co$hygT$a=~8$ok0!$Og%V$cD*A$VSP=$i~Sg$R^3A$fn6= z$Y#mr$mYow$P#1`S(0p#Y>8}{Y=vx)$wXpVekf}Fnb}g)b4YWgGLJN$w1BjbRF|quQmfP{hBE)wfy%)#~ND%!3iZz69a?;>fL z`#k-Sryuk5Q`A?ZZbvSNTmC~>qbS{bd2Hb*<6J<-AF^wC+Ob43@3E*4!T zx>9tF=z7sjqFY6`kM0`XJ9I36d$2 z8In1Y1(Jwlkz|=pya6Jq~xsRqU5UNrsS^Vq2#ILrR0s|z2uYR zn?x8B9V3g0i_ydwVk|L^7B;u z(;}u#Oox~*F+F1X#0-cT5;G!ZOw5FsDKRr*=EN+BiNq|5Sr)S@W^K&In5{88WA?@z zj5!)}GUhCAuG!f*9`#pd^zm$)y>tbr&_|*U5sKls+B)0f>$}jyV+w!PY#I`nS z11Dt*C%%mn|0{m~QJx)G&+e#wKWaP}b>v69vADUowYaUAd{QdzBJM%hOWar7Up!De zSUglbTs%@dT0B-fp4cafCzJmvDbvI=#IwY6#Pd>BO3DIpgv1t-u$YA9Xk95z7OxSn z6K@c2B9<-UZQ>o`UE)3Bec}T|9}*uEpAerCpAnzK{3$6H#FxZZ#Mi_(epvp|r(5C& z;%DMt#2>_8#iA%_lrl;mWsP!01)|bMrH{%Kl`Se~RPLyJQH7$4N0o{y6IDK{a#Yo* z>QObLYDd+LY7o^Vs(Dn)s5Vg@qPj-)i0T#9H)>$i;HaTd!+(s!Kic{^HZp2V)VQdL zQIr2P=g;N-Q))VCcNPhAvHj|)qf<*Tt-};m%`0eDK+h>=mpoqlr5rdKj|H!T|a4V4cz!1(Z0Wwk6VTxKOj2v zm+LqpI`&U_Pl!(alkJS?+&|g)?NWU~bXjywbW?OkbpJ1xdGv=l*O8QszmvM`cWl&y ze~&9gt9fZQG?J7XEgFlZ z$Mb4wC~7QfDrzoj$+M@Vv?i9eqV}SWqRu4N^`FwYK6DrLOiiyTsx7K3s{bP|JeeR$ zAQ7ab$OLf$l|U=d3(Nwmz#(u8yu=z5q!nZ&-xkeIz6qL}eCsqn`380o@}z^3g7Si@ zg4*Pn5Df&41X61)-oD)=b)B={ouE)WW%gfT+7FixlzYK3~CQD_!gg?6D+=n?vbAz@l!dSOOk zW?@!gc41CoZedw3*&`h zVWM!6aH(*)aHTL=xQ66ONm(!4DBLXED%>vICEP1KAUrHQCOj!TEj%kcFT5zcBD^lV zCA=%VFMKF`EPN__E_^9`Eqo(qzyFHIr)3nbQO9Ff%i|UC=`ZZ{DpyCvN5}V!#GDg*qms1D{3f-YYvM)er7KNL zxg;YAE~dwl4qNYebLExg+jp_c=HJS9J?UX~C7Frc$Fzw!NxaNmH;JwHZde>~^~`wl z*z!dm1kldZT#a+9wien~wtnUM`C652wY2rAC)wh&#y>f`t#HN-!qk!`I-!sM3WmTMoKJN>b-tckpd;qGsnYP*jw+k9gvbLZ|rW(X79-G}_|nlZS0 zey4=jeaPq2!QEX*+LoNF4!66JVc$6Be9~AF;#N;0pH%PI2%lH)$kFQ3L}pUF!}<16 z@%ZbDhorBSp=-Ww+vmj3jwhdB$Im5UOpdWR%66*!ntY}muiCqdX&Ld9@E$B#qH2i- zB^n-F9ls`iMf}Qm`?BR%^IcuHczgV|_z1}p6*;x~q-&|?V&WC%VEAHq;`Q6%73BV? zTsx*^ieFtXfpN|b&vcqISXO;zWZ{GH$6Rm8+p;g?yRWX~?$x4qi$MXu937s*xSZ?5 zXPDWpny1Qy9VGrR;X=aZuppc+JTpANbt_!TdF|Np#H{2KZYGi?_5b9A17`{+nc-A<{+-C68)6AeuzdoxQUXhT6e2UJv*DqTYJ{lgo`eOca zdql3D$)i`-4sTBLY*~xV{+8KWc5XTJQJIZ763)g~uD1B%orI6fr|_nPhv6QsGIzR% z&xWNDL!@DXC}MUOSo!F1QbOUCxene>_;TWFyfC7_oqwO#Ic-hb$h~9Xgml+lCG1Ub zlaF!oMVxqu60XMYV_;P+ zO*j;s6;U(cm3Cj~!ISZ_Wd2F08D4Zu^PFNa#mJp0A3oi;kNg($QM$(@65b0QW)}He2 zDv@%YW1i@hWl5}hehwiMFd1vNxJGbn-6^VCmi^d5cai*Ckfk zc-B*6v@+LaBWOH=$VlzoTO5;Q!miwZ!^3QIPZ{QO!gpsTpz7s#i}lWy!p7 z&C2!Js8o}6 z<#S)$S}9f4_9icS8@hj^24R7@P1?LqK6&_Tl$E)VvL02E1 ztyjC@mG`U6Y4WcVCJ*pVIMgrcONOrNbDeIU`RI-AN!^HLw0Dj7PI8`gzhr!uypY_7 zzc}ZioZa*F+J524(4=)q!QlC&tCHp<`HxI|ZCn-h?oECex}LE>lQVZGB+XdzE;*7k zgV++1_9bsf8tFZ>=}7XmAv;$usBPsteN>iymW-h)Z|@c;hQII$&_d0g`Gr=-^Fio{=i^oqIeovHTxIQ(O5W<;XF1ATXmsg_R}!eWJ@evaz7Gq#mS6OG zg}?aXg%9lmwR8l?0(V=!s}FdQhp}sUU5Zy4LAN>9-Pgsj@Uu>8Deb-gb&s#wy3T ztX&%l8B4A?b@~?dUa_Sa$}OM_i#~-eDOrzxQqm7Zy1Dn1^9uPuumkLN>0XC%yc?N^ zUnc{LrD)7Xw->+7lbts>cSQ_fXQ1bzKb7X9-CY(zd(hX=8`0#_B%A;9C4tHe=L^pH zE@Ia!#C}e=l9ZB%DQ}^5B`9&eYadYcUdP|fc8O;EhRXukh^Z4`+PU_&MD(hyva_rB_~`av#l*aDsd`(==aEP zEz`A>S?ZcU&}k`pO@1OOshIA(53SA91o%x8a<=|${#h(WOG=Q^RVDjM4-i*E1D(oC6VYp(*Olg>r=la!_D&AU9nO!?_s~yE zI!m@f>JnMWN_0B(zEn{{aHf~0C8Z~=*146eCfq9hw`4+zs^l(uip|$ebQ*exbE>U1 zto6R&Y<*7gbzF2ax~^nx$)l2SCDr-$rOtL$#ZG{?z4S$Cu?rJ@x^Q*LF6VWkBDAP; zcc&k)@d&i%JC_eGqc9qmmoDGEe|mpNch>39_w(idhhA$@pp7n5UElBxw)EqI5n+?+ zZx+5q%Uv}8)tcZq-t~d(lkH4bKi83%__iK&x6Sr1m&vYEFx@WifS;k5-v3G<)LxfQ z-~^ae+KPR*Vef6yee_S4k(hCq3l7#^$4B&-KT<%$X6*y|g2NC{G7K{i^UCFc%u0>M zym$HKGR2lo#u!|T=&+#iOb3iTCO9Irb#2F0lmxquyo}z%TI0%ft*TI91KjptPlTKd zIUQ11>tj0aIoq_;mFuQ)^Dtp5Jxy0JzBakf4%U8vu3|8j=tgyGb5pr3kB<`>uuRwI z*etjErYg5`(-XI0?E|m_u}so6Y6H@yI^-Ub_3M^qRVy4>7$}hqcVH+`8tPZQh z?!~OeEOL`$Gh2_E9v2V6`nb7zdf}g7{sl6JF!k77m`mj&+}3tn!Rj$IEDsxxos3-% zyq&@9;H)+Ix~>7y_dWf5mn%dGrW3OYo8uupy# zwg>y!VV!FUcB15HD;bl3U5S-r?qko?VX#Go+oW5u8!!r2AvW985qbP|CN|hL06P_* zgWCUkoSOhUI%4v2B`2b}9J2}I3oNg}=3|*|kDB*t(XhC|AsF*G1U* zm`t`0%OeD6~?IZRzfIS^wv1?IA6*Huk z`P!`)``PUq_7i{~*ta16j6FF!z2ghEpZo9fpKia)N8n5jiCwX#zFt4;nH+Tm8i2$3 z3{AeEn1CCDThz4^6-u6gn~o#p&%)W`Q10kzM*!0b_BdGk*`nf8OwW0-HE(LYEK=r0 zWf*P?Za(M%%t39&t;BV5-_Up9G_M!qE-rT0<+*Qjk7Erdq_l2wr&MeNu-3-0N-x3% zh3ff6Qktk&c0q&SEj&yaUU$h<09J6v#QH3{3-ib)?G%J z-LL#MF2nu+&^u?}gIhQ|yli|K7uSxyd_5vPPLz)<4=VremfmsE zJ-4g_=U-M^Hn6z9Wy=7%l*q8%4e6C;a=mWmE&-C{g$!=fc=2k z-^%uumAezlD$0hGd6n%i8(Q|Zj5qtdyt8cT>?P&%%3Wql%MQ3#;r7k8`syfiDnC%x zNt!y_v3%cbU%(kwwz_;(`POn{=^>BJbI;GcF!vJmWO;IV?tiJ{<;QHYk>y*;1s*bw zZV#1**~6#xL1D(?{cGF04s)@X)7;A)PaU3=KXv%0TD)2Cs=L7gyPWO0T z9)~BBD$C2uucg-Ni=Gt%4!a!f&{ht4yeyZbNmXt7l0qin)Rre~T4iSB#%_w+6u*hG zee#Z+*Vw|-|Hp4#}W@*m|BJSTdFHIM(3P5}6R>~#Dz{Bpa#d88>W|G3z-3Y%tm9$jC#_2{-I zFYW(}p*)>DQA9_)BS>BF&iKc!K5kxk54<}*{Dl>F#lLg-&lv5Uga4n=niUJMjobRL zKrn)f#aGx*bzid-u3GFm+Z3$2STUvI1Ab-2C(o;1*Su=Ha&w>N5=@s0S9z`W;(K*@ zb$jJ=7!`FD7b`p~coo|6RSd0&L-k4qR{U_aeqY}yet;L-O{);wO|3xib@;Ph=PE?J$9SCQYTys& zxeBBY>`r@H=fggFTJ7Einxlc{>52(qW%YY2c2=yf@B)ALJt_EqJwJK=FLo<+^}jVq zsTfcJSM$DlSKv?LtMC#pX@#}4x}pI@1lpj& zgm0~At-yKm0d7sZD%2HFMKZ=%VW_xiepAs~v7>mc{Aa~M)Sjwu6@pC`^Gp<1y9<@= zom08Iz`4?+a++XC<($gN1y|+E1!4T#ymW6lb#SGRcVK0B<*-V&beVUG_tr`mK(F#S z6mp5Zt#T}&d@7SF*HxY^bge9NI4c@c>1~sW_e{mR2}3JG0KE)o{S9m>sQrPj{@&R( zUP`53J=qrmKc{fy^K@p2@RTg-&fTgpQ zJ(bTZ|EWBWIt^kt4^Bv*_I^{@qqX+BUb^)4)t1A9gv=nn+mVGbr2N_>Pz2v#d55K$_2b zpACf6KWUl`2RuRsA>9Wp%_VFk>>*GEGSg4HYt%e~A^*1>-pANeLrAs%&~w)3rIzSJ z@u3n<5pMasPoJbinhzFiDHvUnZaQb9g?9M_vEws>(C!Y%?-9`L_Ose$8=sAGzo7VS zcYW4D!josG2`$g)KKp#Dh^K+2(>@eJm5n+|Xd$o&G*VOk2fuHmYswSEyWZ`j0-`hV z3~30;I%1~~gG$3l9e$rl(WI@UO41e*l^8%;TyTr{4{0sY(bEZUBxDeWpq~4b5RJb3 z=7?fn#4ZqONqo{OVn1>uvBjZ|IFmS=IMeAW@i3}g71A+{blw+DY$H|q(0!_iI^v62 zi(IU8f9WI(X&&i25$F4s_>QO`Aij%9$|fE2#SxDa9py)fBNX?2?<JB}1bN-6$DNV1&tMTk?X>CFDbS)@?E>48(* z_WAuHS%|NEQ%J9TlSzks&y#wI<-|e60mS>Hgsuu=0_j5Kalh&0V*vb_uN*!&+#)%U z%!G6jj`V`~H_^&DNpc~5n!S|0-R}YEKIw_Gb@cYc`5{PO6P>^;518#Kx=11r2NKK5 z*@RpST(lQFQ59h!QA+CP`M$?oLC zj=G{TKx(SL3weyc4|$${5IN8W^T_9l!^k^PQ*j~W7;-fEu246}TR;xrP@2hZm?JEiRDWE*6 z(otSl-2^fts>V|$Xzi;ys|E+u1k9$Ag7&YtCD=d~R~?r8O}RuFMQNZwRZ{|tlu?~q z$U1)|RRgNp^kT}0;#XBIlmyBhGG=PG{3irw*;Q$C z{*g+^4=HZcBC;&tZz{HCX~0bCVgQ4v-vYKNzRj6T>7_VPDOI&q11No;(vOtsRnN!; zWJc9@2QFnYbwia))h)_Dlv!0?6b{+3NMO{?CB~neyG?EXAR!kWyOJN)86G==^t7eWy58;mO%m zp42eAX>*2mYRStfW^#WDy=t?+-hWWlW(qxEyCRaJp;S{wPK^Mp+!NlroGuc_XsZ9B^T#rK@eZAU4)EH_z zbr+SrnX@@!%kG}_%v2zuU|J= z7>cU^yGPBRThe`pD&Oe5)n)7KtzIwg0yB4`|=0tAR{8ZA<(!Z6a+gZ69szqIFG2 z1K+1iOKaPB&Gd!3gBHbwa_laeUSN?=p--ldra98>>2~xPbaRKldu+|#A|JZb_uvuClhvM>+qpxx~qE_e^o!M z?y9zGoU-+71oIzcuZCCG6jZ-K5rY5j=`J1NDo( z9M?bSNYD<(;OgJ>4u1+ApoS!ZENT0??4>DIn49)!a z3~e=fo`q2stYr)enZlgUI63ECwZvg5X+)8T&ZI91j_1keqZpSIGhN3sPu8qP$!b^m(ftuJwKWe%y`0hU(=s4hp}@Wi#?F>eqMjz ze@H_leO&Mq{@a?p^Tjo%BhRq=Rb%Lx^a}ca>eEekbVuPL=iCxhGCozqHGj`9V%RYU z5_mzR;Ktz79PXbyum(#nrjM*1!59{lUi~-sh=IZ7>-iIs0D4Xeng0dy&YoZtr z^*Pmw8n>0VjpyiP^z%V`Ycl9x=kH>yM#WTb42ovV3qmp4Y6=+4;FH1;)m02LqoI0M zP5+v6)p^y9HPV{R)hq3e*Bq|Srz6!8#_6Cb{3gb+nxWN2^m#$@nkDl_Ft-K^8O6a_ zooPYe8C$An*cnjP9SZ^TZZgJI=TmR9> z)*uW?aQ3P#of-y?@sqKF{*xXsFNiUZpI!YhcuLm;#-{46HOiXCpucN;7^fMdgS3oV z@a~c5+#p_%we__%IyzKirAUAp&-hxcqQ5Wn?U)_Bl`%H>Fk@i#IOe6A;nnsv$AESj zV>d%r^H+5#{bJ3C>dQ5D%(Ngs##zRgpefADHP-0o1vkr<%yVZr)yNn#UBjx+)r<)m z#B9p&-Rk$EIp`ZBI6hSL({FW1X2|BApY|GGM`b#5CG!L+jG4ql!*iK`ff?f=Xji6V zNT#h9^N17zzHQG?Pg9)$Z#6S7WHWQ44f2?=MI*ybEj-<@YUjyb>)39c*Is5{zK3c3 z&N*mH_c49FSNU9GA7LJ5l0wML1+IN_mkV4^*yb?3a8~Rjn9VFem z0`nsCG4l?yka-Mf9Sb2b+0136aQb_qSf*RpFQV%b_D1FVz;-k_*4rJ+1Gn)#;GiwLe2k8kRIpZ%;25 z)Uz6PHmDjbVQ&|HY$$Fxv+&%)35|Cfmee&DvK-c7kJbOG9bUhw{`~5EX-}xK4sIA7 zHl*=l!>2k_!^sAh`l|YA_5Avrh6fA#wfi^Np7_GHhCvOjh3$o;hU4|`TU!cyLLb%r zRp02av<_XnZ8lVYwBF=mopaBx8(bez_n`JmT|j-@0&T~a>P57q9 zrH!Y6^}&t58eTNyG^Q=EwqjBvx}hv|5MNV2r9KA*RxKNkhOVkxS*NT&6{fGBSWl=s zR(-Mla(!ZBN$rZ-f;#K|q0{+QO{40UHel<<)<@P|xA-;0G|ps=bV>z~zG+iPUl>4v`iRKunP)@QhB!5NS)t9x4aq<(W9 zrmm_X2lY8@Kx0@VDs6+I z{>g&T_1|kRg-))Iud~K+uA#HxOKoZGvWCcpeGQ*O)%D_qo{i##ZjH(YXF~KsV#AY$ z;#yt(ZhKj6M1wYLP2>8;@pam;xW)+$&+FqGPt=?0we_v_D;yp)a+*eLnz3oQnH9z1 z{tC}gp9t@2JPyFrw5`edNk!F;UF@E<1s0&7;+u^(8do^%Xk69wpvfzcAK2H2@n3Gg z!n^%#<9w0kb+Da(^NK~D*-^&&rcuq^i)Ji#YW~o;ttlq|c=(CNS53)Ho0~!xbv89E zn$rBCNzwG9iPS`BWHlBw9RJDXCCwc%DjJDQ#}Y8-~yc6r>V-KS|Ay%vGv&Q1Kll5lGe%hY%(oZFbtbYju@ zrhPUz(PWiR1iM1MH*J#8!tNTM+AILiO+Oo7HQumzG%%WKn(7)Y;ZvF?F7j>K**G0U zV2A&_9L+a}hc-=L#BX}@syWD&8M5!;EI}aB?Cfp zn~wnA6_7q_u4u+LcN8B{9ZkEcYHU8pTEq%u(VCY#ogx2hKB01F?O^Rc?LRh1gTvxqn<}^=bT_@@9t;%KXX4N#mYj#_*v%9+aZS(79z0tY`u?_c7mH#@KmBc#kaERs4dfD9D zJaEZr))AJvS<^h1MVE|TV$Y&CA9u)RZD)D2Cb9liIk2{}LX)1T9^q1pi(9BIt6H|S zh?eYYc_E5!A-4Qt?P*!oQr9wkX~xo`79mT(!h*8k7Ew#U()lgc*=aDZUhah{Z@IBl z+On|aE{Di^$=un(TVjfQy{gU}D`XvD^9V~9kJ608|lJ%HH z;P93V2hwAgj%zsp~D2+4Q`EVUEi7m7`Yxv6zy>z3BM)(~KI0AXoFa;py2w@cz8;B9SPO*r2g zi`Aj_+ICJHiMY^uzI7jvvF@d~@+ZICdNX2}<_3Tq_F}dxJBdAtjqljR_Gde=N3w~L zIp$xj8`-Ut+z_;*dgpG?8?>%_Vd<))^zr6_7HYOYY2O4WH5UNdpr9<>!;aw zNlt7_>xoBs9*fM)e2_`ftDcEbN7&bc&Hy;gzNWJFybdw{Veds9FXpMP zvLCZM9d5A;+4<~}zzUi@jTDh%X0WRxYuFQd$si?1R{<|Kjp5oL-J+`@-ceD|Tl=S*dUZrZ$g zRC8_=mvOo{mEqQ3jM?pe?H=vF!PT^V@}t|+IDT{-Cx`QsBjyZhU&L9)J+Ig~_$wd_LREG1^u@R##xni5yo> zKTdK>-5d|iA)xs;X9uvfV>yGbZ5>S?+FD+( z<6!DiIGb~i+R>-?YSr0%i0gM?`)52U(#Mk2yZ{%9@?JOez1LE zyTQb2rxiD}591zLRShn)`nE1i(yU{8C!xl=oaM^*99@_UM3 zSQ6V~xqeYwxL({WZU#3jYGG7U;(OU>?uMxCTz0#3MHPQAml0DT3yxaBeOrC1J%;mL`Lb1#(p znXZ&`xmDa&E|p7&B68yvCoZ=BzFG4-AaCK~xD0L^_bE5D&R3)Jpm7fZy<0%?RuqAI zg?odm^QhpK{*iycJrK^}KH**mQk7gZpjh0q+-10)s5q5J!S$WDdtL0nPWQ@BQD3;) zg4&c3sxDBX0hA`{6Ss#4^J1fkyuA+Ol1Sbr-gTb!#>{1N`)15m7qmnVlo;Bg7hmPQ ziq7C~=9767c~Zqlpy3;|gmHw|&RaIu)i%2}gnx$jp7)$LpMTTFTMK5~Ch>H<82(D0 zl(!&eZA=bd$8+E(^GrPJKIW0nf_e75^}Oko$^3IgRx7|KuU|}{jK@pk@8H|0K?v z2Gx30s9sp+MLu^!kL0@ASV%G0<81LSA;zR*Eo|<8b^_9gesv@SRSj4ZHOBy z@{uTnox(2RnOLoGrrj4lB-|1w2U>|hD^R#SZoJ$e6bpBQQoT?ov(%=zQtlkkJ^tMHeQEKCqBiTf;+q56q7 z6Ho%0@SE_p@TV{}?v3z;@T2gZu)oMv&@0pnLVPmO#m##GJ}If&dvE`aulwLXUup^NBXY~AxoB4<&E@4$eJ05G#JcrNS^RKq$-Zp+&8|-JVz7}=MnEO3J?i}k7CV2Cy}2Bs>u<`1jQCl(Zjg8qP4L&;p15A z6Yvp4**xBkn1ktfqg#84=1-*j51ycnR1(O6*1SG*I!AyZmoS(2-Fhej+FjC+km@Akp7%P|{ zus#cA>{wB-z&|!#;3xPXSSpw!@D;2PE*6XxMhZd&;ez>s!@`)@JA#FR(}Fy~O2K-; zhPVT|U4l5l{@5+TTtSv#uOL%kedi7cHVAgdo)KISoE01vT#k*6%M@M{+!Un7x`MhN z6J8R8f%l+GP%n5Kdrim?@C0=Nsh~wLC~mW`LeLPa65v7mF9C00k$@nm5flra2$%w* z;90C#KoPVF6oPJnT<}uxMEF(kPM{Y2h@B+N5}E}00*&C)pSm;%-wH+wp9^$?c|wao zFEGaT7Y-NB5ZVi83O$5Vgm%K4akqtD!V$u8!sEjE!nxp$@Q-^cyd(4$MhYY1b_p*D zQ-q1aRl*%{P39BAUBaEhy`cRc3Pa*o#_xv@67j>2$nfbH`#}F9z6-1@yj-=#GD5&I35xajD~C z$MteT$DxEf;<@6-Vr55hE1~DcN@fSWSQ3JlPk&D6h!bxW&le9)7@9CrJkS1CArnkS zeXYWDsEbmPM!j&QuN5oBGZOl16yj&%Aqm0arj;Yb1Fd<-aPcre4HnmnB?;Pu&K`l- zy63(@tP_Wn>`fS{d9kv;W@zc_0za{bcq(cfC@bv96t|0CM>KW}Oc)|wCm#KblOPwL z)z^1eI>N;F#Kq!3o8%mEL&t&MXv=h9<=M(RVx0J_*tdt%^N;wr_>5R2ezx+EI7wX6 z@u?$SEPHuW9Q(Xwi=>AVPm5=-tP`_WGR33B6U01mV&pD%6z~uvZWNCd-%616j7iXn zqY^mcR~NEvw$$x;PUrm2kX2hdb32neo9I!U?w#I%3heaj^kEzh-qMNc^zA$x zoDH}kV5hIhWmo5cRR>qCPFthe```S4jXvCYsIzUwe|n>hyesinMb|p7cCIMCCfgz# z(nanhf$}4uw@L^7)zyh=*{Gsk>0-NKMY+;XGK^%Xv{q{F*$;+Ip=*v@=#VJNs|4P21w&%mt>RHFl0TEn-hJy1_f2t9Fz*{?>FCWS|k(78l_&c zRkBsm9O=$A_(Vh&sajVxR(5|uzVw`TlH^NuzmFFJ8M2j>m_xPBZUnsn}!Lu%W$%x`6m;9B#!M`FQG_$B`LD6 zl264{uqWu1bh{+HO)QyTb4S({$&>Dov~^yQrDFqXc1oOOIpFd>HZM|^B}2*VWPej? zSAURJNi=@lpXCb{nZ1@~5RR1zgmLrEoPq}QZZrMso$BwHo5vJe?o3O2r? zL^5=AKmJ{rUDr36zwB$`7AQ}0Q5u~%peqW%28nfV+BQjbXSF0%5-Pnc&6GUpbd{cx z4eI)kIHJoa^;=`D^)6YuWXl?@^g*Wzmm!@ed*w17lPsZur@K<(CM710>e{&)kxk*Q ziRqDjmX!ng>#C7m8LKBrePq^=$-=1jvc6T9;Y|Bk#Xe3QYUyT)8)~j>`kyujqbBKs zwUJ#({GF@uvNbW4fApGU`#>C=PH^NA#2zg3TXPb`GhG^$7%kf)Lw8!=PtmFgUHcM0 z$iA*31K&j1#x12iR=FQC>%7YYhD0`BHb%0muqQH8qLXS9BfDlwC*rh;3%U~R)_0|K z?H~A|gOsj#P#V|uxj46LW7p06BWvGv@9Z*mZ|lnIKI_rewY6(^ zcb6%*dx$)-`+IkOcYk@|x~A^=-9FtB>jIO4<(ImpT@&SuuIn#{01VxA)?Afo!?l#Ple-7@hR8A9E#2R`db`hckCngen$-O?ZKm2wj_*3t{k==tb*MXf zoxS{8*VV4L7x&g$EuUOBSkCEw+3f)MqvWT$JXw?EC%SfbEo2?-n$pee9w%Q0BpSL$ zcE9hs-*uz=I*89TX}t=T^@5Xk!$w$j~ zbgk%q2kIv3a*&UapI-a0`)t>;btk(|b_v&_q0MC(U%T@9~<4#4syr-Bd zU#sBFp6S7rPgRVs+>*@M1e;Vfk@6U#^yCDE?BMm(%6?B)(oJ z-zaaDE94@8&rz&bP?G!=%M|02mneqPJrp11ALM~Wqi{cn9Qhcs%UyQf*Agp}`(0focDf$ywiWbG=WJYqk;%;)Q;tqh(%h-xG#XmM4Pa#kU z6?MrR#o;z`K35@9&=nnu#^h#2t%8^=R$QO^Px51+OH*Kg3|~%@+SqA{6S$>d{Gz`-GI`7v{zwL{7n9> z_-ccnivB6jpnd>~pkk;HB0v}j3!xzrQ~{MiS~QB; z2+<)X)Bx!V>Y-|AXQ~)#hh93dATDI7U6I-ZZBsTwo1A#i7N^@K+e@er2kL}GPz%%n zwLwCt6%s&Kp_?VoAp>NDWRSMJ8!|%+QnZjB(m`@)N2(e^AQPm56i^o=g&;@*1>ufE zgP?9g3G^QN1ZklAz5_`8oZmvPp;wR+dI7zJdZ9PaN9Y}dPx%0q0XUWV9r7#fulfZI zRsDpXM~zTT2N&iHQVmfJQ~icMLoZUss9@+T^aC2KVn72_{Zyk=cB+}GA1RYn(^H*Q z7U+8FMAZz{SXCOt2eSV;=alZOKqjfCs;Zy|fzwofsp?X(mM_qBl@92AgGQ>xt0t(f zDEZK6RSffQm8)u;%0cC%a#871oKw5oQgKj#s)XDFi6f2d%Sta`xgzB|BORz@lZLmQMy$~DTh$~h@Jp;gKY%5%zGIG<#uJ3GFvH7?osYlZdDqTnaV>@p|V(+uY9b`_bpMDD*HJU6)C46v9d-gp3r9p8}KC}$x z7pnG3&ftCRY_~j^yP|ryzIIX88z0PjS6O?1*1n&u7pO{6C8;i|F6GZ=9Z>C1k((*a zcUA4pF1rGK7tG(2z z>NNGbxz6eZ>Lhi#IztVm0c*3YHwR>@v(%AlLzZ5iDzQqb>P+iWnN+V- zFVa4z#q~~BYg8)LM72VtSLsw{)rYiD%SY8<^>@`b)lbzgl{L~S>a(ejQ=zmG>Y?gk z>QU-3>KW>z;lCQUskf+it9Pj%sqd-nJ!g6LowLwt&!|tUv1+vXfO^0Bminsth=#TP zx`wPKsV{4SGz5UhXl`r1YQL%7HDfhrG)FXvn#USMeN_{Vf3b3g_(sId)&R})guUV` znvd!n%?AKP&K=Dy4W2tf!&Jv>4sR&Zw5XSA3N_i9FY2$_RT{Sqvo%*X+|xvZ68!ql z>Qc=o^*PO1O*OV!{nv(Fpyd1dN)ur{OI@b%(P-43nq3>NXv#ES)o4uu&^oL+sd=Kg zx#5wfO0%G&QM1~<@8%1#hNQu32pa47^I*qnd!p?=j9l#|ZJzeu!Y$g(+O670^Q=4A zc4}9oZ_}oy@6sOB9@4s}U()UdB@igtr`@kTqTQoCpq-R{RC`RDrah}Yqdl!Xr9G}a zp`DR_K^v%@mVQpVpo(vQUi)*yQSEp@{RQ~J={K~OwO6&*wd=H3v=_B+HeAx~&|U++ zZfS37$7t_p{{|BOXm4vDXoqx?HmNqfG&eKvr(ZSR(>~N1Hf+;A(w@{l);ehWX^k6p zY42(eYxioo8lHx)>C}idQjKB53R{$)G_$qZ4PHPhUHeY+U6Z5zqWP-%p@B6oG+Ekj znx7jcX@6;kYe#6~w8OMRwS%<-L6p<96G5Cav@RerckN8Av(`@QskH}D1#9PML$p5H zP;HPlQyZaOstwadYGbu)wE5{J=@r_iw$y-}4csE??_)hf@H9Oi@bioM`(U;GeJ}tD z0k_h|FVU9UXq@&*Ax%rwGSV++T+!9o(qp>$8EbS0bu4YO7S_h;PU~i(`c+2j&grJ< z{B;?+L>)?Za(zU`9vxddOm|WDrScSEpzfT{EuTrczB3Ni6RFNR{rYsx61yLjn{~Zf zM0-e=rdy?(kg-8G9)MN)y;h;s{Pz?DI2WP)N4EwS6c(k+D}l82>1%+mo4PH}cIve0 zdvs{~{m+8Je03e#HtlGgwbz&~uTP(^Q)`dtHtI$Is}ppp^k5yKK3O+Fw+QG&=w!ks z?Qq>XU7ePrm201CYtk9%)>?wv>Oyobx|t?deXzb9$&4+`$ zMu)fYfP~(xyQ359s!`00V$&BLL)W2;)IZfN(_2rGK$Xk%^Yo#ai}fZQD*vwjvc7w(S@ zum(!f*Vc@)TlZpp=6(Hcpb>&wufzA?8$d@1?EL?wZ}bGX9DWE_z@>0% zRxA7%eg;2Yl$u^tShE_vlDVw-SMZXY7jRvc3AT=RlH_&p-6A0 z1k5i@S@jLB0@k|VA;z-yQrH=pgxDia$jNL! z2t9rl#!vNEv+vh;BKuWaIc=ER0A8&r$jz<*m2RIw~3g;r3$QYym-inOLmcplVvXDGm zJ6p1>@6TvZwiNihmc0wviERH<;s8o^Af8!57=m{rkF#FD@3X$Z8OCkM8c_4S+17W) znkRs~jJ^kPMULk%|NC4a!|=`N&-WoM@Lt5NXd`kt+}+S8y$arhXbq+Ce&hfW7{5{! zg=|JpND9!cH2f}{31W*z#F?FX@cGM}XO!yIdbz$^uh7f%pY`ALW<9JQZ+NaZ>LZO` z^(n@W`hf4Pl0* z)^`$4Fa#Jfz~?H}kYaFij5hchRv4CLEjPp(ytDEQ^9`O^LGS?s-tf$D#PHlOCVM(u zW_WE78H|R3@O48leBRJxAQ{jGj4{c0-*C&oH{cBa8a^8D7;wguhR0b;;G>3zhUvy~ z!y!Ydq3;=Mjb{xbVXWblq1f;~YbiY5_L=B0C=5Zyw+4=JLw2{3Zn$rJV?YcJD`7*l zvDaWR)MO#qKaI5pwV~6{YWQSufv4oSg3r+_1Jl4VXbmRAc;gV`5#wf~kI~II!{}fP zH}*G9GP)Z*jNZm$@YL+b#<4~hVtd#7=z(cU=AxZn82FvmE}xY4-WxXdUw z9x$#k<`}mbPh=Ossm3y6hH;nioH5pT#t0h=jc)KoBi~q&U1|K+_|SL|J_A>0d%#u3 z1|vFq065}##Yi+#jWMvns4}XJ0^=K_#;7-njVxoEvBNkKo|$tR9t(dqZiFYm+u>R8 zVfd?Y8XN`BfdgTG_*%9%ybxXkXTuxd-S8gRY!~lfy$Q{l9|U=XU1WYAeh9H3&ygPF z1#)@gE950|5v2VHpOE*+vyE?%+Z*2@w*Y)VJ|bU`uNz%o+yvYKro9f<`=|PwhL!X) zwUm5Aej)=+LrlLA^2Wg?5&+i5@um@`T*u+2(WWt`QKn(0zf2UsJ4t^)dy9NpIMFo8 zG|n{CG{rR4^c$IMnr7-n_Bs>+n-Avx=S<4~M&B=$*0OG7x@m%Gtf@dd!}J3=g`7do zA{UTLAmYnNd}$YQbK^6F1ERf++(7Oicadudjrb6G1Y*V_8#)jKhg2XEq!cMe3XyWe z`vqwu8Nnk0q#nt2tU+jq`wOro7hxi`h#ui1l#MJz2O{MnJVc6gAf1Q|(QNd10V6X_ zw=(`VT`^s=@4KCCPVRA2kZBoegK4qrd3?Okb&J-2iYi+;Y=KQzYPR2E4nj)37eNbAXLBlds!7Y@f_7lg8BvYj1i$ zb8!naVNEG^w!8n9=b1KO3QQ6I$9^ub{|J=-1MUX2_E>!NH*J=Wn9^OVuvazziv*l5 zw#hv+J?vR#qUTndXf~jm+CBd73HY93p2=u>v2EC^x3j*ytTU-ikZJKem1(Pw-_l*L zj(72kXS^2WQeQ2eCpHO8H@CNJcX&;%xRLq~#B8rO&8WSVzt}v*yvRI#ldE}dt2JF< z{_uK#xOIPQeeEaHx7=U3uIByWBLMAab}(D%>E@;8iwf&#dSzOaxxe|d>AlIz+*WLr znqg)a_mza0+dUY$|2wO1rDFeka=(v?`*V(;WZTK29 zJ0|&DYG&D_G__ zbB&p|0s{bTF5tAA7p1GrYV%cdf%&$1pLs`|ujrO}N%4~;*i0~+%x3d%FN^uPxd+IR zzzBtGeqnx+#4+=%-Zt?;slY5TE6f_3o!919=C|fvbNtSP-tXp*WS{_^0*~kEQ_^D(l9eKG|Zfav0-LT8fIwHFf%iA+Au>K7CX#| z-m|08c;)2#{QmFubI(2J+&i=D)RI=KwIA?ba8Zb{O;)E$gStUZO&)<(Bx24{@ds-JN9%u-SKS4D~_v< zmn(8EzvkG?YsYoRCC5$24aY6V$&R-jClH%E?&)|2op&6k2|wNOt|KrP|6QKJdGS4V zj{S~Jj?IoOj@^#Ej)RT^j-wcV5~I#K9y-2Uy64zx!_Pdpdu2_I3_(4saSf4RJPW+p<%C=U~(N znjS}AXEWzO=V0d}$55xe(@5uV=P2heXJf+%=g!MxoTHsRoRc0!W6W6RD4V=f0d%PA zjB}p9c;;dUXJdGF=S1gtX9wq0=Z%YcIxhG?)u%;!_~`G@SirF z`?z|$w!v%KdAMs(fxzEa4k~b({GH`s*HG6$S6|mK*9g}DS3lRoPD5M|5dB?$82i>7 z<(l9ckI|!D<6JpA*LF>HO><3lO>xa~&2-IhO?M@CZrJ$`SE0@eT}gy3a?NusaMf`w zam{zV>r}h*pRQq72D#*@FLhONEpt7;zSuR_^_Ocoj)VV8&z`QLuCcB;u92=4=+BA% zEUqz_D;cw%-+HRkaMyO{O4pH2eOzl?k_M|>t6k;;lUx&B8=ae++d7?e?sV>O24%)Msg3Kp^Pclx=N;!&XF=Cx=YviUomZSUoToZ9b=`K>AV1e5=SydOS5?<5 zr`P$|*~Qh_6;Afr&=ukO==3|KE{RL*igs0Zm33)c+uP@GS@Ba8a;3P+kbj3?T!mfb zTqRxQT{T@Tab)dW?OknMo5>ZQ(=D#M{_^atea&^rHR8%m*A3Sxm-Ncs+9zH7^&ng) za$Tx@(RIPqv*Xx~O5YvVZI@r)f6FIVx+|iK*?q<0bCq;lvAA5%Tulwbw>))~Tkh)|#GhE*4{Z*1iL)m@@t6?gF4N(yb1=@&n$KW$g?m6Hd z;qm)MdIofz;IVo}d4_w&c*c6hdG2-Dyd~nb9Eb`32x2o{pu)=@8$}G=%&l>oDdfK~hyVrRB@`QC==UM5w&}FUX zynCbPfM<(mljqMa{XB==6S0q-o^768p6#9;p1q#Uo~@qUp8cMpm|;(sqn>H*4W9F! zGhNns&U)r~j(f6nJ>)s#5qCZ15g`tH`gc9)Iqf;&$=UUo=c?z5=YnUIr?&lArh&tuOK&qB{{?*DMSx4JCxBw>HOx=ipaqd)KFE{i=)+)dqW z-2L4h-96lW+=JXB-J{)8-MzXD@Jx2ka?f;6a&Krb!`;#|#Xa4<$-U6M!@b_U#J$=b z;aTi%<>}_x;12xT;i{=;znlMeY2-QF`Ivi~tCmBcGAOBur zkK7aQ3HOxs_}xZNUi_Qn@MOWyn$=_Q=sfv6B|R%^SN2rt8kb(oQ@~TfQ{2U-n{kn0!TitBF z+`a<7d_GtKe&nDDSJ{tM04mtL6LEcjI|gUp!{6>s#5ahHpc+UwpNFb$k!o^XFUD ze2sneeGPpLe8ap=ea(E0z2i~0V_(_5Eq%c=p_(1|Z#261yp^xDuaWOJUlaV-#@E7^ z&-<|bG|Y0zd(L~-+uV2B+rih)C&5op$k)+V(AU{l&)3O!<5(Bp+isP7ZxCI5zx#@J z>*mYvOYrsZ`Mo`T`>*x#;dQ)ocER3uc5CbF<7@A`+rGCi&0E%2(pNqEGmq25@9m`b zz2~jxwMWwJmN&jzKkr6wtT)DM!EtZ!Dt%eJdN1dddkx++Z>sm3SLuD`z2nX0&FwAg z&F?MeE#=kwig{~!>w43CwY{yp&AYYm*73gS_SW0X+uGa9JImYIJIvd|+tu6MJJCDI z+u!T<&i5|!F7zJo&h;MYcGSDdyUu&wd)&L-yU)Add(3;#oAIxNZ+`OK^lE+Aym!6n z-sj%e-jCkT-dNu!ugE9$rTWzPcF+E6`&Zspd5CYXb?T#GzW!%-+;Sy*LB}W-JQ(c<$GP>O@;h7`0vLVoAZz_kPrG!`aV}a;k)QN=bL}=s_%;L zj_yuK#OKKNeyp8D?jT)y}hk98FRBGTj2W$BXiWl#20Ja~HJvJo97zA&X5(?{JelAb^P)GGda2__Y&l|H$^ z)LkE%)p+o_L+$i{S2g{0hnndCMvHr*}n1 zuk`-u_p8qAu^@f=iY1%xSDga3Fnv)ve~0?)^f~Dx^hQQpm~&em@pm$La@W zc-Am3EDKgZ$R3s>EEib?f$uATl@N-N5q^Jh(zJxK5n@Nn1>!jFa>M?Qg-9r*egtnP3g>;h32ftRq- z!&R*HfEBce$9LVqx(|Hz`|o4@hX8xXs{a!91o#x|LOf@FpwI7j5XS}dgn7f#!(RT- z5$p`+cY=-&VIQ%&#MiKISYZMS$%RLTW67uRc&z7uMN-2>SZzW=)^?DF%ScWps0de) ztOceL#?P&zEDc%DTtm2#alhZhxH;U;cowj1;W>ag5xIz;515}Ye(nN{@v0zIg^`Pf zRQPIOD~9zi{Qi=HYANt?i1Grjf`A9c@oQyNfm;nxJ-i0i%%~M!8|!A&#mX7=;WZ2y z(I~vJKsTYhDOT4A9!GP+S^!%jS~1`6Z!O@#?%%@OhPT6-938MKhu_~Ryfd&%c-Qc5 zSfRu3?-AaUjOmS)I)WpDxnDTHZU?W10f%G#4!?g)_*mdLtm82eD|zs>DdAJYr(rb@ zp7Yxb#sYd~_$=zo37-cxpVb#K7U*0=^kRa4hA&0_3$YBboOpq*72zwPRtX%eITfP( z{&iSIWJ4w|FnS|%H-T+tDp1`Tz75Wf@SRw9WMB9}@I&E8!jER^3iR@L3~Q1E)G5|; z8jN43i z8+tG4IfNCqPGIG$3s4s${>FM$*T8OKEh_%!xEpaF`C-JrSe5D#*pmoc5RZ64YEGb= zu#7dlyb&+40$Jc+;5AkvdyBQm0t&x%jD3mt8sU$KzzSekhA=WNQiPSr_$~=SIWU

BNk@m{SeL9uB)|SxE!JNftX^b&VDrcpku8ziB03_1TPMmpM|LBuJFrLO@4%jsy|7N6 z-#;pHY~*<4X;>34I4Y3&74jCtTN1fcQ27gdMdV6>vnFzFkz1&@O;FnozJutU zk-L!hMD7Ld!&-Vrh|BNk7-gp-&tg?Q{Qr#n8!PMi{a47^dN;ssB5omWN8SP6LkPF~ zkq;vOgZG5^PYFI}Jue7zVD&vuq?fucSyebsfWJcRP2^kP`^b;LPm!Nl_ZO_*_bt*- zby!q*R0LMFi;9ZIihjYF62U}KVy2~pB@vWG$&phKDuf0r0H$FLK%56enWL;x_Nc7j zzaVl%<;0qRff@54=SAd;Dhe!4-4Z01iYgsdmauYB6-cfaRT--X;`JI)ojCj~zk<~! z>j^fAY8urHs(Dn)s8(22(C=?Ux_$$;C9Hi^=cq1GT?xmUic#I8evj&jRR?>+>5J%x z)dvGdHV~^24#p~k_#KKG9W^#;T-5le2~iWF|A?AGdIGBs&WxHJH7{ym)Spp*MJNx;^52*+Djz=*3o3wU|(fiJMuu$#IbnuDXgRQsaSS>+YhC4L+Ij_UWw zAEH09>LgG zet!~SGN3$0LAWYL&8iwOEmQm)sZ8kzON-G{#}s3x%))x?VA&BlVsZj=#pDL&K?JwF zl;^_=%mu&;v07oqio_I+DMnNYf+b^0#gqXnOH?^vc|--G@c56Z7E>F%4$*aE8pkvN zYl_vJ`F-*$I`g?5uzgHdV2_wSSlhWDR(Bo}GdyMloUx>19B^{Xbl@za=M!8Ivly#B z^D`^~u83KU)t~Xmh}nQOpm}#|%#N7dgz;)G*nY%;n1eBgse1%#MDsPj|9H#^!cI~h zaCtlvbC!7L3H}4T^g~aun_p@ACaU;@Cem{c_%P<*nEzs)$GpJW)9x5A@zY~oBEO1x z9rK20e*C+b_c0%1J`?=~_?58lJQ5b%2VQfqo^*I@L~LYi6kS<5I%I|EnAkY1Yn>3A zNL^8^G&YHK$YSM`C&wzV@^uQ78lgdG5vj2{U>YK0(=%mc4CguEW`srH`Tbn%FR|H~ zlOr}~Y;LGLh8Kvw?GC7XcR&{U^aC1OvTG313EVdF)E8e7-t% z4b(c~tS88KZj9X=y9H`1Vpr^**u7X8{Q&qutdAa;>1gb6%1&Ut^fR$%v1a-OIDf}p z!piCR6WZ7tvA1IH#NH)c_kj-)|HeK7K1Mu`bpZW-C(uKf-;WOfC`(6v75h5&4bg97 z-yy$`{RsR_9GvBm{5{rBH6CAa5pj`mcqf2}j*E$lMdr6SlH=n9wf>>fChoVmwsGy^+W%0&BTV3RB)l_qy0S_) zu%1lud+P<&JFahBzqkQl14C-TqZu4GG;YLCE5VMD|FatG8b!KB3wp=Kje{Cbor!Ui z;-A<>MV>~1h)8xdSJFC%>N5) z8DcqcRxn?<*C1c{)9Nbfu8vzn*}Aw5lx>RJOxRYc{r+un+rf9l?PN}H_F&#cE4yjl z8@CVafS~^%;fDzx1)gBFlX0gQ_xn#Xeul7fOyeqtfd3u$k3d}#a9oEKs4JA;jJqXp zgU21nw`t`;+{3tk;~qmjiF3xei0cLV5a~p{B>0M8=p4Ly6ZbCeQ{0!hZ*kuE8|s!>*Eb12S(e#IYf5i<&7^G zUpT%bc&Yf(z_P@}mCyJJVAT*c;%ibbFupca{rCpNYXWQ*-yGN?z7=uW5NsRYA--dL zr}!>VT@l^ldl296|2@8Ud_T$u#t(`g96tnVMEvOZG4T_@rpC{RpBXAe)ZGZYwEs1ejEQT{(bxhu#fSd1l^zGzfkox{#$%l zLdKkae=JjR3GoRDL?tGONEQR72}!IYFfKVkk)TXaWpZ(*`-6is--OhkxWfJaZ=Oa+ z>yZr!W~yunS;4X+awOy?ULIQc`E2=UHUIzUDu7zSghHgFFzqXvP$tue%0ySmwc zPBrFMPpH8-uFOzgGoe;OUCQexG)ia*jz72(bn-{vCZR2JIwW*t9OtzOT@$)NcTea^ z-9E^D3GWB&pD=*>{5%5%d{Dw*riOqGC2Cm0aO9DQQ3+!b#vxBcOhVvYA;CWg;uFAx zsR`2(rV}-T;7s5w#B8GY5y5S4!n}k9)Ln?YC}DBJ(u8FRE5TP0e>JV*ic7+}g!M#i z0B%g!Oev@pQlL+PpGBNYxRh`?;Yz|a zTDzWb1MD{9Zo>V9hY63V|Ac0KCj1E#)boTF%yTm4N^mpI_u@R6YF{Rwucarvq3+v+ zPYItBzCe9Nd`s}-h6}!f-y#^p>qlZ#VvIlsI&j{c7!Oy35GP6#Wr^}cg`g`XQ3a)@ zj)r6%s~ZV3CE63S5|%45cVeN$!ihy#M=`>RC*mus!Ad8VODvCEfz^XY5y%ypUn#K) zmcA4vC!- zyCil`?3vgnv47$KIDu_Y;$ZM0i9>=8( zg*+QEhv>P$d5DFG#l#8jjn7Nq{FS&IxFT^CtF9(&ZQ=%!HzsaE-ki8CaR>4)#9rbH z=fNvr;(oXXGF1*H9?Ik#fj&ySV}i^Na=eeF4tJM0`zM;^o9E ziB}V^{m>EY^!u-)c0*9VnRrW}ZiC-t`W|Ea`1>I$Fyp_8Pl@|1r1qSt7mV@!jzlNX z?hrRHlPA$j-1Nj(tooWUzUK|pyTtd2pAtWVeNXh`=B98_geXcBEs7Dvi30QB9u~$# zA{n@x>SSaE;Y#WRN2o+<;%If^Bkx66~*+d+aoj87f7SS)F?4lf01;*zLQNcO+ zoI6t`Zzdh=Edales4%b?qBx?YsFbKQav4!sQ8`fsQAO}dqAI|^R+X}9qUy}UBU8X@ z3V2{l?MzNx=z601)NLSYNLV9aV^I_82KN`t%|y*fr3J7hVXZ}NM8ApJ65bBjfv}DQ zaWx0Iv#1ME-KiIt>vvI4QE%q-rL4bb0Q2w)C>jJcSTuxrLq)^Dhck_{SJ5cZ7|~cb z6GRhyXzIzEQM^R9&R`Z&tlT*k#cbTRSRq!5 zQ!qj$R)>t!geZQb_6H|8UmB_C2^t6*X|G9aCd?|fi8--doQ3-M6jGc`{EIldIEOfw zIIlP#{QTkq;)3Er;v%dkIRF2hi;>>qz!HK{r3C!Pv1P>N#TCRA#g)XB#Z|;r#nr^s z#Wlpgiff8%{m*f=QLQWJs3)#3ZUEhoc}*DO_u3q)MTmpv4yIdywHCJl{w8iKZpZu% zgmom?iMm~oyHOtc^K_@~@8VuRt%r8wdKS9+Ao>cr`%&Is;Ne~%ff^_tBpyuk5b;pt zVdCN95#o`=871h;ytjZJEgqApXRLS}bH+24dGrMF#GlqCi6;|(3UI1;ns~Z+hIl6U zEb-is{&`Hz2U~zxC|=CGKN$<%?^5Rf#n>{+meag~=2bMWMqVpkFWw;DB;EqPmHL61 zw}q(S-nJ8Whj`}?)ja}dFXj74-p?ur7z@mIP<)s=M?xw`#aMI%&I#t81UtplX|OYh zvxsxz3*w8ka*5`^?3cw?p|2sXi*JZ;itmW;lKMUIedGs(KP33C_!06G@iX9a;^0$P zk{x0v)wn;4GB2`EoDO`6c!hY42yE{NdoTVV{wV$g{#pDD_?@_6l5k0cBvKM3!S#3q zzr{#mC2`>Khy?24o(sZ6Kruo>loXgGkx7z~mBdMrs3jW0@GOU%D$z>}R0n3qXIm1p z#3Hd~a)Z@iwn?%|vXh=1lAMyGP8y-e|A_DS|j4oVJ54pa9C$wz_5B`2tNlIByA)0E+n$rv7? z0*8&P#Pk)(RmS;!^V>D*T$kLG+@t)ypz8tnL&PHqzHWo~&w(!p3(Sy# z&L3PiaXdh;&@$MJN*G%5`pblnqg-N5Oc!VQxMkGy;CQ3!% z5~&oJgpf&-Ne%CFXy!YA+?3K3)Kv&I>C;HHB&QPO`*n<^Nexn?)C6rIo>j_8?X;SO zb>Z_k@L!}kiIZEJ2RW~x%FkIKljgmQt)R3JsbdLAX;H9Z(&B>t64FxA(gK|^j%Q`0 zm86xWHAwx}pLW$EZtaj-eWDrx8xz(<+Em&Mthuy>w57C_w6(Oov=ek^QpMFflDktC zID+2=s;7X59v?nK6V!Tx_hEVW`L=k&Xi&FP$KrB%Lh% z1ALlvhIAJ4Z0Q{7Jn4MtLg^x?Kc!27%MgKWxpXDtytA6BHOyVh7#-qY7vgM?ZW8Ft zly4Py!ExJ|w?n#MNUG13HJV&)ucls=t~9HQJt2g7gP*MMygCn zW-trFnq&iV)aU27gJ%_JJntm^0-b|-Ig@fFX6h?;B;cVGhy7A3oqkD!l7=J=C2AOOIQ2)+jAtpZ(Me;N&iFZg#>SDp@jrA=B+g{u)TC*d zs?&*{#oXCobBLNta2~7RFPf4TQniTW#Ys!3UYhh5*fOG)C#|F|e~hb=R#UY$X&u-G z#1>ZHO4v50w3x*#M?S#ZLrF)Hjxu#D={Wd_q?1Xfn1{0+@Uuzhfaehx z1QlH6W$JIRf08Z%uP~24>Z?iDslJhPhgI%@;R{2l{x|7AR>8eONzb5OAe>3wq?e@f zN>Jx#4Q#K8`$kZE3;r(Yy}$|f2J;8hJ|aGoo-YKy0mEc`M>sGN5rv2*4$f>yj+Z5p zECxzsGQyK(Dp@LFdYMUPmD#{KL>5_gS#DV#QVHz00ObV*9e)?eTZkPVa#k_~|~jJP8OwZQB_9F59&R-M3Du+Ha+vdJO-6r!euc*1_3PnXSL z^_j9+ve`^!?wli=_d{(ybr#4LW~wcMUMyQCTOnI1TP0g9TO(U5TPIsjyEc-%Nw%5f zE!54}<5uEq`@zrX5VGxpzMbH^WV;0pJ{2WuFK{3856BKOj!#Kthh;~hkI9b9PRLHn z&XU?WK}W{^&I{ZN0-n+F|Ak!)8Tq$B{X_XBk}u1y$gaw+$*#+8$ZpE8SODBRvb(bT zvWK#NW&g<@$sWs|2u9^xwQu*;HJ*4gxbomH>34DckP1GBLp`+gt?>+FN z?33(^?5pgX?7Pe_3zLV-Bjk8Sl1Is7eO{o-rHla{oVkVGqx%{Loi5lT$5|4$e?r zUPJz?yr#UCypFt{yuQ2v`Whk{AsUl0O$g!{mS#N9%3CpxvnBa&0u`J$klV^Tl3FKu zXWG-1rz4 z`6T&dB&uBFBBk(Q|YDtK*G(_PuaQQOo zET?&ud^PJ?BVWrn?g0~UTn&QSK%9;8P4dn1Ews87c^l>1N!~>jp69^!%J(xJILd>W zbih3%KTQ22Bp=PxbxeL-ep-GW?%#;Z@++C@{47_Aca7k6f;Z$h<#!0XE5A?j1NlSb z{|J9XkRSON?1}s-@EP-XKXiMJ+6!8D{G`t*cf<9_y`+{7d?|k|e@oOmg8Y0R7~|DP zras9(gMZ_-JR+H|;j9Tc8WBTvEXfJUi6o1G5?V>3S%$12TuB|gn*&oNtC_}qV9DBK z9o2f0jmaitv!Ew%1Oc=%-cUi4#`yWVG1Y^z-I{EG)$wPneh9{4JH-`CR85@^8A$cOyB*bLq^7Bk#YAR#AKaHsA1ZRd+ z`0A`5oH^8)o2jxOc_DEYB`;0>3v5}YI_`}o&Pw1a#5$tZ12+=J@6GSuB;WxD@5(~F zZA9$|@%9k47r2kG1HglX1?S-N(H|UP^;q)pKNToEA0WkY75*t;PnI=&x48viiV0tipFr8 zD4LR5GlI<(Em&tu%32|}A^bN*TUHJ1ubra3qLZR?Cbx^CYbJ;9?nb;Gz~2!)6}^Cc z6n%mH6#W$gka1TKaIj(saF}AaVg&L?#3;pR;26X>#CSyJZ9*n*qGFO_awach%pZ!W ztTs(CT`@y36M7c&_|DlODr0O0n}d$|iUo>=ip7dQ{~z5;Nc}HC*Gd6jrC6<4%k(dY7N0=L!@hH{DLj2<) z>O_b-Nz@s|IqIHQTu@wO9e*qS0l$Q}jJT?}rnt^(!k^&=b#EcxW*v7J6ZU52_Y@Bl z|B=o|tp71%PZ)bj*fXY|gE^QA&gxXS6&|==Qt=T?2fidM(Dhot1I}CKykiW1m#6q3 zP&g}8d=Alpv0s??jWOIQz;l7doyp2bWne@QqoLyv@ybL}5ofC7lL3K~0N9Qub2zR`!A4m(=?I(82FH^EN;^P&w#_&cW0fLh^_o>cUw@Dn}_tE60$Yv9xoX za)NR)8})~B3guI2o<{O4ol+*e)uupe0jxl=qYmn0iRqBj97@Q{Xe@ zb5;wEe?c85$u6qgBzvg}_WG1Bm9LohM)_9xUilIF6Z1ZUeWB``@_T?OBT^z$a1N9b zof3;2*y2+XQ$#6Zq9s5nVM#z)N;2UJf=YtHQUBkwij30`)TZcC(ta|JLEsrvOaf(2 zu`p##u@TNOCvX&5LUdNB>?t`?a)!9VkjPk!>Hfk^ki-?#_$QCfb(Br|e|zF2?Y^p#mP9Z%@izxcdoDO*sB=_M z;m04#q>rbZfOC?#rwE>=9cPfwA}&zPkN%tTe*_-RrUdG8$~A$yPWhdbyD9g;?-Tv6 zpo5m@{u~9kUyt^_|a%Fct5It0GjfU~#H= zl|&^Yo}3`=rcfzWDJqppO?6%=Pj_|8yWsnd<-?#MkT=X-EAM^sN$ zFOqu$`_lSAn(>#Es$q-=Mh#buAkIkDDCE(qF{*K@393oN`vW*dHI;B&g;&j>EHD!H zAE@T3=BpN{7O57avLsV=Db;_`yc~IjYL#j&)$3^v%(g+bDMSbNf$LrHw+U)H7~jcQ zpnI1&Uqk{cTjaalN0R3{R*m6w00W#EaH4f?*-LGrvC=}2XR?-RdtQI z*THV9?x^mn?y2sp9;hC&N^mcae{gUGK9l!U^$gB)#0!;6DNh&M#P zRlTErU_b9e6z_c?&KK1;)pwO&6{ZeXN2mk6k;u`M2b@rhp|x1#c)}BaiPRM%OAu0Z z5^-eIm(z^r1+|j!6rhSQwK|n#om#IpfEm>$wV61fdk!dz+D2-2VAhbXY*hWC&HRiG9A$SM+ENnHiG zDx#XYhWc0JTIxE$y6SpBob{+1kc{U7n(>UFZVKK^-CW(0daaP#usS~u%gBZ3c2u>e zxnoF`9}(C(sXLQO7j-vv_mG|*>fhD9)V+z`-Q9YVwoY|-+ zf=^OUW=?Rwf54f_+-Zc(QqM-7!(6;;Q_mNuz}N+F79kcR{zNQMFITTruTrlA-=N;4 z-h#Xpu}!^Qy+gfIy-U3tY7b&B0_PnB_p1-652_ET537%;kEu_nPpVI;Pm>BB$;jsr z=MfjEhdYkI{!w36UsvBy-&Eg%x=m|$)OW$|5p`ev0QsT%U-f_LN9xDmPl^9b{ao!( zJJl|=n`r(>JnD4HU#ee$y-~j-`n~!C@<;Vo^*7}2#N+$vrVi6YXreTD6l!8M37SNW z7+knXG*XR>cyeH}Mgdf6Qi!7hsu5bEa1SDKn#KS$BP<9jg41LH3b(A99GaZ)a%pmF z@@VpE@@Wca3PBgv6wwsb6w?$3FQF-=Db2=}A*?LHa+>nU6%Z9QRW;Q#HNa|WYH4a~ z>T2p~>T4Q6H_tsmDVk}7O$W}<%p`o4 zW)AXv%>vCr&0?@WiHqMv%?iR+0#_l{Xx0JOBQ|I@1Ggap+YYdunq8XR#M!Iar`b=~ z0fGlLhmnsUjuL%Lb3$_p?5yU3=5NhE#JfT;FxyqauW4>*Zfb53ep_>g*6(WWY3^$t zLj9+~VuYF(#CK}k8V{Hk@sc=rbYer*A5L2V&z5p7XzF>MKLNo^@@X>A#8d2I!4C2eJG6>U{* z4ehVmn%dghy4rf$`r3wCJR@qGXq#%AX`5?XXj^JqYujksYTIc$Xgg^;YrAN>YP)H> zYkO#WYI|vWYx`*XYWr#XYX@itY6octYlmuwX@_e^Xh&*CX~${DYbR(YYA0zYYyZ$r z(N5D&*Ur$+)Xvh**3Qw+)y~&0&@R+2(k|Bisa>L7rd_UGp`##9rug?LtiHd^OW?O<6_vr-*AIzDG3-Y>M0opt0$ z%?X~1=-jD!sGkoxKcWED!I=sYT`0A1Y7xSU0!yTp%+ysXwRCE^5U)H`#SjPg38hwn zQ;oU5g4Ir~n_4fmAy}i-CaFzRTY|Mo{Vla^YWvgsIjTzQpcxGAbc`#ilAqj zfM?$Cbkt_B`b@^~$x`YZsJW^0fC~hEV1|W1IKi10q4HSiF`K@i-Ux}D_UXgoU$^e*t-0=)-(FXBMzLExd(!>LDU^*GJJc}`G$68SXZ zOs4wT)N`rlL%a)67n$=nW0%3Mq+VtE8e=yIy9KZi_nfhed0sHjL6{5ZOMRL8D)lwdZ&>|Z>Id+Th);;m)c;B|&Tmq~ zbm2NY;~*k+QMwr9SOl&b5R50t>jc6QsTMIGf6FQ0d}nZz>XLLaom{6R^%R{NSwpy% zV5&~9GZ7XX5zJIKJ#<{baCn)8QhE?sV2Uby*aCBLp9 z>nW@&0$z;hQo3@wO1jFrDy$mV@2>(~lknQQIs%XHs!Mb|=GJE{KNTvIO8(8!Vy9~K{t_fP7?G_)=eR5D)px6 zX6R<>X6a_@=IG|?=IQ3^7NYW}ZmI4s-7?*B-3r}G-74K`-5T9m-8$WRI%*Tm{N6T$ zZxQI=5o~4NcE*CWop5&Pc4zYUP`#J=`xpz3#8q3}0o_5}A>Co!5#3SUaoq{sNpzjj zoztEFNq5G$AiIFBi@Lvm+I#7zF0PwU|BCLq?grsES?3+bf_uowcS-FY@V@RrroM+v z|3}y(;A7nj>N<2Tok!=@`KV5(8E4Fdz0tiT`5pD&vwCpvAE@(D_bF5DE7RX}-+9h7 z&cM=e28M`4L?QSs8aW0Ln-&L*r!HSf5O7`xw!}0M^~J~%gfuOQIx>>wX$q?G-jFd3 zV}W^6p>>(O;64I5jaBuO8JL4BHH@1W!+Dy33um*z=hEz?ngy6OEn7(EFKIc`a>2<> z+&qF>KEewN9Dd#+X~i-*yjwi21aV8ImHwexhB;-y%B7WOnjcvKsv>bJrBzO=l2$dX zdfKnhHPdRP)lRF!dh0P(pRxvNjRH@})&kg)c&&h~3FG$>*xH2X-_qI=-Hu>; zUEZNTK7y&59r?!y_nw{tWR2BqWh%{U_L*~zz{Wvs3E|iX~WY-rj1G) zlQtG=d`K5QpMsvuyg$;WGtSRBo2q$f^V1ekz9^)F@4^)wc*~f-B5ft(s~HP);_vX& zHp1JSwgtE~Z98xW?b(gI2eA*aKkWcu-9pCfN!byj%Hk~P5TJ`DeZIGm$a{G-_pLP`B{yhD@-4ukJJZd&A=#qEW9}8 z$1@h}NnlQ*Uc`8yDi&yofCtA0vXoS01m${#K81Cv7}GKqI`&7Es@Lh$^m@HPZ`7Lv zqs)2>l$ALgWp?IdVJu_Ttom&FUw-0e|A`kImGdXHT-3{*sg?&izrLWp5OQHsD;m;K zEJOwNP#j(f=9dI3#T4IB8mdf)Q@aMsuMEYNu zTZ^#T`Z~z<2ydWo$f_A*eq@bkS7YQRgf|5?(>K?*pcQ^hOMNS%S_`}%=i;3nhzPrAM!0)N=rSGlpqwlNl2X~-;kf6qoY7W^F3ndigxbNvNWFCzX%{6jh~5e)6ULcFW`Yb0OS-_YOE-`3yJ z-_zfR^N@}Bmoa|)fBHuu8s~1AG~e}vcu#@P5YP25h<4~*B=a3^!aP7P^LRgW^M%yX z^)L0WsPmfSHz9RAM^pWt`5*Kj!9OvL_rm%w0)_8RCF&dXz6)#MVTN!6-X$Y&ZU~Gb zj90-e#(*mmxP%c@6nUE&wcIC<-iYC}AjNC~YWfC}${dsA#BcsA8yQ_|;I;P|Hx; zP{&Z$P|r}GjA=lyAwfUc8XKB0)s(PihUUy6E&divw*qU8_|4FkdhL-r8af-g8oC>L zP!H!mU_BAN5WNw75Pc2(fc*^v34Z&|S3^NV0408-b_~+7$0Jg}m82Be*31X??FT*m!a>EL6 zT%RJi%COq7#<13~&aj^74Tg=#n-H4~TMXL_+rf4ib{cjY_JHk0WNiD0+E0*o4;T&_ z4jB$ZA2A#S9y1&V^4kf+Nduox8BQagMVv?Q+XVw2uZF*Y{}?VAE*q|ZT}50&+%Vh% z-Z9(--b3))eFKjV2tEYps_er&P8IKmQ)iAFJ)1R+Jp5OQO(QGu*9rT_z* z3QUdAAhgs?Mb;V9fO@0BXhJrVip6LnIXKo1mBpCV_=_<+@pBT)CFsdbcphLr!tx7h z{452DE(|PUENUz!s1^q=X)I+dZ7gFfNBjzcYVZi~uESUvepO>NV+~_XV=ZHCsJf)H zp0Pe1(ZJZq*ciO2u{p3MqBX7H)zsM5*v{C&*a=QoM0aBkU{7N&+R+=iFQOl!zj2^( zka4hah;gWKm~psqgmI*Cv~i4atZ}??f^nj8l5w)}591W$RO2+`bmI);Oyex$9OGQ$ zJmY-hLgOOiV&k92rN+OE%Z$s7D~v0RtBk9SYm94+>x}D-8;l!`n~a-{TaDX{+l@Pn zJB_=HyN!E{dyV^y`;7;Thm41fM~p{}$Bf5~CyXbJr;MkKXN+f!=Zxo#7mOE;e;fZX zUN&AaUNc@d-Z0)W-ZtJb-ZkDc-Zwrl{%ict_{jL!_{8|s_{{j+_`>KgI*l%)+vqWR zjp@dh##hGI#y7@y#`ne##*fBN#xKUN#_vYIG0YTUiZn%;qD?WTSW}!S-jrZUG>J_T zQ<6z$lADrE3R8+nZPJ*uCY>qGq&FE%Mw7{8Hd#zo6aRmSBgiwmDI4SX`xx+?h+Ndm zhg^X0BBm15D}!8?a(;&3RxZRVZ>j)YF~q}t;Z#>PRWVfsuSRus)>i}US42%yEmLh% zUFz2})i*VuydlYrOpQ%VP0dX$Os!3AOl@fmD{qv^}nmU;}o4S~~n|hjhq1M~f z$J8HrfN7v<5b|Kt5Ytf8FtFjK5vGx*QKr$RF{ZK5<4ogC6HJp#lfnNmO$Fj^A=3=g zOw(-BT+=+F=bILo7Md1=|A|;)T54KuT4`DhzSgvkbgVaRGHo_(A$%)Ae41+70k)H< z-KIUJy{3Jp{X`ugc*t}Z`H1N#@R;cY@HFC#=`8S^>4NER#Q^sniW>51v7>6z(;$zgJuTqd{4WAd7OrdOsnrnjbdruU`~rjMpirq8A? zrmv=Nrtc;{7LgA(N0=kcQRY~4oH^c{U`{lP%wn_DoMe`n6=tP5#jG-`%^I`ToNCsY z^=5$lTc6#N3p1H)D+7Ukj*K=GNxlsM|KA`u{p2JOa$^%^l1g z&7H`&&gL$3d{>&g{U7sn5Al1LdlKCX*xTHP@V+4(fg|Zhz5eC_KdJIPgMRRbn1?ZM z1Ysl1qs*fT8v`6`9%r72JQ*Jwc{^1*%sat$Q56`wo2q>z?>8Sb9}cM> zVd^N@ajH%rpEjQ{pEaK|pEqAH{|)^Qsa*nIMqDvpHD5Dd2fIQ1TLf>L@0#zK9}te~ zFvyS0Pt4EE&&@Bu9n^Q4U4*&KUSyv+9r%*gUXlD7_y+OT{NDTl`J?$0@U!_F@Vhz8 z5^mvtx(I?eW4A<8#=9|u$1*35uy|miMFbQhBo?V9$s)7JEy)&zCB>q#Xe~O6-eRyA zEhdZEVzF2)HVbF5Te4WPS$?r(x8$(owB)knw&bzowdA)HuoSWswiLA#vlO?Ku#~iv zvXrruwUo1zw^XoHv{bTGwp6iHwN$fIC;P5psb#5asb^_GRAXQ>OLI$0OKY&Uh<28a zmQJMBm0&kZcanQpdXe1M(vRc;mVuT*gblU~u?z(pMil>3JREg)NI1=V!$4s$~gtmRkO@ETd{U%_}Ucz}8T; zp60;V0B(S{(XyRXc7)V-T6SCZggARG`z;472bp(>vcohVwH&vcB>WV0PFv1c&RZ@* z{f+pCxR-#J5mznOiNjSwS2euEn(JhYos+} zzZopb8WZBjTH~zoAx=gwKKrmHT1D2R|Fe$w1EeOmrex~TLZ@1FR%0e#ID3Gb1RZ9= zEkF)oM`W>PC0;h*FV^gY^W$<+mfM=gn$MaassO76_fe2Jg(xe`oT8K!vz8>RG_VY- zmSZe9S0GogRsaeq8&a#5&YE+&a=a#yZwI&N{(5(K^XG z8U7UOR3P3{TW288w9W?3vCaj~BR*flU3b<6Of3Ujj#yz`Xwd6<)M*SkGF|Svii5>rKLMS#MkKSnm>!_sG`&tdFdZtxv2^;XFgUpcMzrPGlG1ZmWl6A21#9 z67dG{4)GqrZy&9nDEl19z(^ZjRS?m(7$CpJ+TsX{2PRN2P{Hd8)gojuLSmBxlMxDA zicO82iqIi&Pbg4tGXRY?lg(_i*sM02%}#1rY*}sD2*Xt&crOjsd;g_+Cms|Zw4L@7jRS}AKQZ>wOd2vx~e-S#VSYuoDD>e=es8bCE9PGevb z!tlPAX1r<<)*RT<*2>nJ`TV}x*xEw3BVK!g9c&$Koo!ucS65p%TX$Ozs(K>#vh@b` zvGoNGuni=YLAD_z548=m4JVAB8?SBPBWunos8wm^S zeKYu0#CF?G+b-nYwmpLCUfX`#0iqAu4kI729R(h<9k-oCK20iTfM*Fi2Ru(0KlcT& zi-^Ce^N;NkWtVMN2)k;#hJ2m6H*7a4yJfp=yJNcx_0aYo@R98?sXV3i;J@25rk{ho zKsc!5WEHo~%Xna%kLh%IlgablnZkwksG;!q~%6kG~(RbXnSG+Y{I;>?_dIaZG2eu2t?$VuE>Ty8E8tLFvF z&lLt1;fiv_xZ(2GydUCzE-drE9AJ?B7 zzzyUEaf7)b+)!>fH-a0o5#)P7IKTY zKe;8`Qf?WyoLkAQ;?{6$xpmxnZUeWG+stj@wsPCJ?c5G-C%22+&F$g#a{IXb+yU+& zcZfU89pR30$GGF%3GO6!nmfat<<4>ExeMGy?lO0UyUJbTu5&lITik8#9(SL6z&+&t zY**No_7uCyuC{CJT6?NpXHT>1?FPHi zZnB&0R=ds4+3of$_N?}7_FwGT?K$i@?YZo^?Ro9_?D_2l>;>(G?M3WG?ZxdS>?Q4` z?4|8^O}Ce|m$R3*SFl&KSF%^OSFu;MSF=~Q*Ra>L*Rt2P*Rj{N*R$8RH?TLfH?lXj zH?cRhH?y~}x3ssix3;&j|7LG%?`ZFenSxt)doQTo_CCbxYwu?tU>^uR*gga})IJP2 z!amAA#y*yG;0ld>JY|77CfX<4|FBQ9Pq)v2Khr+TJ{x(CeXe~T?VE332(}opgg8rq z%k0bTE9@)ntB8Z=Ad=VG*V)&DZLn{$Z?=KIMHB^+oSYK` zRH{f3kQxz0v7&$=qG0a@1!C{LD;6vSd+(wmg0WyPfMUnQe$`8oZ%zpW4BmU6=Xsz1 z@Be*o{LPlxJ-d5$XJ=+-_8^Jd2jPCs0nS0rAl&Q(qc#Md~b zB)*Juog?Ag;N0Zg;*@jlaPD&Ma~^OWaUOG?aGr81IF+0#&T~#R=LP2_=N0EQ=MCpA z=N+ep^PVH+eBgZKeBylOeC2%O{K5Io`N8?g`IA%2k#m$B2A9dz=CZgtT!gF3)#n;; z4Y?o}0aQN|t~ul^xmH|jZgXx+vcwj`RseR~He3g;BcwPao=b+rlRPe;PUBnw*O}X% z>q6&U>*`QFxN$oH#+}A`aJ{(R+|G2)7h*rIKZM=5p)`(qDuT>)r*YBT9*~OR#zEK{ zpbtPl?f?h}1E_vUkWK~|!cFB4t;45tN08|Z2r~gj0!-jeBym&7ka&JNq-Jnuk@*~M zF2oDCiy>SBu#~%;yAtBn+)WT}=5B!yq!AesDe!C1=^YU71jq;2MdS8x#bm0GyN|n{ zdyspWdxU$OdjfE$xTonlR4eM?87Mi+Jx7+G=UyP=i`+|Oe3=Z3$*}&JtK588 zbuumC-crNe;ohyw-K$H%&04i|ed~`%>|+Qk>GCS>Ge|uLs0Mh!ea(GCmb~YF;rNE`8t>o9CyGoCfCIpkaLT9Q~>2<_-{dop&QbE;O9N=Fjo^b4K~ z7?j87VG!d00-p0PbyTgiZ&2dGbK`YvfawG|cb+GS^P)?<>DY(YnN0aY=trjfAq?Pk zg)oR0%nKoLR8OI5=`b=K&Wqv+)v(P=3V8L@UHPnd1buoJPGdx?-uViubg+6caQgg_mKC9_n7yD_mo%3 ztKvQ5y@Xa?@!s&>^4{@kc<*^q-Ur@C-Y4E?-dEl?-XFa0ydS)uygzxh^a$Xjf$E_8 zD4Z(*3;}>WliLUC|&k7;+)xlikozGz<+#Bhe^Sh(@C^fQTGCG~kWz}J4LTVP8jpm>tbT*{tpmWiA=zMemx)5Ci`NaTB0G0xPK94R(SD-7= zRp@GT4T)Kct|McjbUmatkhzTzZbCPc={$5Bx)aSuccXjI0#u9^qWjSO=mGQ~dKf)| z9z~C#$I%n$N%RzY8a<1iL(iiZ(2M9L^fGz{Ek;YwQnU=cj!MuQ=uPw%T8`d9@1pn6 z`{)DoA^He?j6Ol1q7`T**%vVi>Q{w6L!URosmg$tp)b&vWa%sP4f+;+S68!!PQ8a% z3h;rrI+nR4rmN}52W21UhZ%#CpL&jVPd3+Q? zoW>Ki1bk<{3*=pCoEyX)_#OG3`0jiUz9-~5lO?_ocH#R$=noLU4$3U%_9=U(H{`U&~*|U(esb-^ky@-@@NYj)0mGBFt0EZ&OQCHS*OkyZC#^ z++H#);ETz)kPP?n_wx_(kMfW6Pw-Fk&ycwKK8Vy={(1fd8h??0iA-JL7xPQ%>Rzi$ zmDQz)C$B?JLSt?FYojF~jRnqq7+Zw8@xU5N#xEXkY| zW{ug9spe$Zf(%uCwuGFm8m1N28fyc2d#o+i4s*a9F(-_pRt|g_ay$&h@CI0*Z_Js* zxL~djyI~#b%00=H7v@dIoiSfB?gF77=1-=n(F8!cD;9)>sNq1TgN zb6xosY%7*mmm}KQhV8_50cH=j7u$~=zz$-Eu*299>?q)lVaKr(*h%aZb_P3(ox{#! z7qBAi5_TE8f)!&|u@dYWR*IEj*D(op1G|ac!tP=Bv4_|r>@_6PPI`+@z${={lAIi|pr7z5YBnK%na za9vyv*T)TTL)-{A!A)^CZibuV7PuvDg*U@(@D_MW+!lv36>f*O#_jR8cstwycf_3l z#{u90@BuJf0HNyVjJL;KAnyv`riNFQtKtrLN4yj6QCGu@PWg~==Q=$2%pu(c_s0Wh zTvsv+09I*2#m8|%uc5m4bKd~+Rs3!U1E=Rs;4z8&95V|L-Y@jYa^ z075a1Rkc${=J!FkAK(CfP_6tBeiU+N0M6p)@C*1wya>O9U%`v3H}tXz$@`8{2Bfnuf|{CFY#CSYy1uV7JrA=;O}uMF2g_I zAMwxl7yKLk2mT%Zf&aw+#A|UmuE3QzL!c#K3bX|*fsOzX=nC`%1_DEYk-%7BA}|%O z1!e+sfrX%jpryc8&`Mw@Xf0?Xuotuyz_&932Z5u&Nx%_s1w6>Z?hptB?FB9ZS3yUC zJBcB%9s*B+7v#L_Fa#FvXEw@rZjkSymh%$?2m;A`S3$5KT+m(619CBSHF^p9lIaA& zV8IZu()dM!#eyYddYNE3jawmDC0GmTb%OPR4T6m%c9USUU<;)3 z0Jf1BYHp}-hhS$NF263NUV}>Ssw>-FmugsRPaS@*U>})2AUGsAA~+#9B{(BED>x6h z3jh}dMG#&hYg`sw5flqb1f^uIOmH3In}S;qmXjFp3JdNE?$PP{f(LX;)$>EaW5E-_ zQ$dBGQt(XhTu?1|A$TcxC3r1(BX}!#54EKLGJsEl&-Alj1m6UI2)+w`3giMMiPLf> z+GCNSs^$N`#9B;kmJXt;r*B|rWNc!}HnXs_YG!TIyhTgfRt)%&rBsxg6z#^mLZX+q<~B zQT4RtI*43OPY|Fi)gD(e8qc5-x>C&{K?PI=@Pd$&3|0Vgnn6>AT6M+hD_~CkNpzZk zerdk0bz;=in5hvHqfpMOAL*P!5#ZlPh}nw~#&_{h;?$4{I*b^6TNbLTHy zEV^|0O7Yc_Yo%r7ckbT1|KQ=H$4{PCR8~EEUj0J#JV6@u?`7M{j-0jn{;x}J+`M&L z)ARMD)%bZXukpyeynQ<=6fN&eZ#>KdsO{jh|RQVip?DfBpMYdsEZ%)RXn|*ZBSS7KjTqzkgHX zuV4TA{u|ChL;6vlg@*K_{yf1#G>uUX~8_usaC$4<@fU%&HJBUklb z{o>`T-@U(P{z0^&nST)P-;i>C;05`!^JDs#bpOUqyc^{-aJm zs`VpQK{NmOU;f$D`u#8eY$)Ek}6Y#F^ZJ}+q7l5OL+C+-N{xngHle#)-M-D`H|>>0KApT&`p(TgLA5J_HdUVCntYaz1BTuY3k#lm`sp!)iPR}`$akl3<|MLsZkG>Fp zF{o%s(fCXCef@i>N`(PKDY0S5q>c=s+=Wr2^kq~?!Wj#Nu?)FlFheOD$&e{$Fu-HT zs8OtEe39idq_V>dWz7YKqPz_7PXOLC(trNJSbkN(NE7O6)z+A6DT-{hWC~PEDfiR@ zJGz!q(o0J!9IREV$k0+&Ow*Dn7icLJ>!EBfl%0UGOIlxRZ)z!I6;LLHGP#yiVZf|a z+AzWP&y?46U@9K_F=a|2Q(4;|aKo8O*%XN9GnI;U5buGq6U+?x6-eJ>DkU$NQprc= z#JxY6ifnCdiPThESldEdtZ>qPs_dW*7JqGJO|-V6s4tYIXba_|wWZ1|ZJBJ5wnDj4 zTVAtUTTy;kTPD4rt(4z{`c>LW*#~W@@K0^ILZ1bH@{}c!INilr}I>{4{+ynoDirF=75(*<73un5$pe_LFIBG9SITzjO9vj- zSEirW|5<)bU#5Jhuav)m@*hy9XCTe6G=NWN3>0?-1~RF)fl%4a0DSfaO34rdsc@u$ zyk@Gw({ho4M7qpCSi8|cp)4?{P@aN1r3T8H2L?aOpF^3C*BWBAI!5L1O^u|ImPYa#j*+6=)yP!y_HS$+sk0*dJ^ec( zGD_Gzx<^cG&$wQ_E$iy8V5c z`|Fke=lieeolLC%uQN~VzyH?yYo7mxTtIy+s&n11^WU`nPBZ0c?)mR>!N&bJ%}JZ) zp_*r2vqh<~MY(bRO=vIVO+`LFx0p8u-PJYmHYK$h_TQ8hziCNI$k1PBo{)e4t@YPD|C*#QMFkE08tU)=SLf&d+5Ok_ zN;a*-Xr6g>&7(2p|0nlfLrqG3ERFS_`ceER`)};aX?g}#y5O(g4b}QLMfpyg-`kJ> zy3eMi*5A=To7QCOby)S8C$ymd*7|Fn|Hk@HJr~xb1yl2{+5V#PpEbq#HSheUbw^DS zjOd^8glbwz72W*0hLrZwc;=a#2`PYO2dziCTq(>BzmEHD3^^PhiKS=PFliL>6! zI+~r66Owy7cZ+D~Y}xG7bLP#BocCbf&iNS&zAm`9aLJ;W#TAPSmW*Bc=hCaoRxOWT z@nXfnm07C-S4&oJSd+Z=-P+^pMC(I0+}V(~aoDDho6c@lnXA*k>oXYVjTlm)HKVqs zEkkk78GKMa;7f`CUs4<+yQ&|Qr7&t!GZ~7aNsRZ>T*g4nWsp383tK6nlu1$M^r!Ajg)$iYOtH+j!U4>WwL_T-$vCD&naxznmocS^&CJKLz2J*F#Z=Z@ zWlmduiz$;;g6~SotWo@A*2oZTsl;4csjvs%l8d%vx3_l4lORa<)K*Fo!Ot{8Tb?>W z`#Woz_9f|T@Les_u2F0P-&FzBIjya%zN-DH=%)4+>0>B+1!bSLOQmw~T^X^IHO*N+ z%iFP@O9kMk>J0v+NS0F8j|KAyWn);1J2P04m-D~}wF-PzJHU5!21 z$ZA*;`43jjcWs^J?~HV$gm0>bqw}-eMQ0x3t`m~!3x1|Bog!H*_?(ge#sFmNEOMH! zBRsqk%Cl?5Na_FLpQ*KOtr7Kj=q>3eakChuCE!I<}pU_i$xeUIm z+u)1QLg6}E?%0@%kH1I*qH4v^@27akLDBBOdt5XJY?6Sf4<<|`^N$(p7zdtjm zRmi}1rGPpn;Gb$~_;a~~;T5T~p|IA=utpJV7$S={gl{zj>S7WKNhp|kS0JuzJMa>jrMeQ78nPL^>cN(XE z-)CI@=D4v;S!}FO+y&fAV~O;Wu~M#OB2}1}+?6ypkqRA5;9E$5t|k((&_wt#-lXPd zl1b5(bSN8dQd>LAM5$N`=nGpcRIs1a=$k1jtj%On2eS-?i1us*MX9Cv z6=`d8NiE+TzThygP=-O=$6Q&HV*ayqq`6Ew4e|>CHUfyv70T1*%Ji$|KOdKyOB7Y+ zO2r4jDa~avV+*OIxrI`}g$vjo77}S!3yD11LZM8skjX{>ZkmNsIv?Wo0DCQz@{<-d zlP+1*%5GUmWfd06ni>m5`5zXN*-DF$^}3cd3Jc33iLK=bp_65Qsf(pT-o;Xq9b##k z9|dK7EXx-qS_({uS=vg+SSqTgTS^wru?+sY6v{Tjb2}{+8HX(8HRmi9<<~4F(tDOd z`E$#f@9!|$B8*hdEoMDwMnQbK%F0-oLyTMBFbhnjEdKB)TU$LtBdCO|KqpoCnc*0HQ zy6fEC!YE}De7WGt)!@m^965T-c+!VEBPSOW7r3`c8xPE=yZd%+?CBflI9zt`*a;L? zuu-Y5Ylf;EWIf}0$M+kMFeo{N^be051;+6Sq-!{97TK^ieDMH-CNJWHI@rvbIt#XK z2cH1YchX%uP&znVM~B<=^kw>pD3t=$r*HoOgbz9`o%BABBZjS}YEdo!s^`N82Bfje z#TD%Rw7TuDx~mVf1I=r2bTeR%sfl2lQ*Hj{0yQz`#E`oNbqfREc{DlKq|-bJto-T2 ziAf$yyUH2V%~;AhSNGAv-#Z)z!RH0^gvU}Qxr9M=UU_1~^x9FMl+a(4z^R|05H64W z#zOPGU1&CvcKP@2L%6vpS0m-=C+C>@T1CSL2^96g48v)bHs;q6VADpxgv6vFDfEXd zhQ_3Wiq_KAj1<&>-3Y3nouq+X=_cWV0(jNvLv8)#1p01*8dcC=*qB>1vu@s!*ez|H zxYS_lKHd1$0SimmBZj{GFd%_47Y`dgV)PhjSjW)VjGzemNM}!e!Ghufm{{7MM3`{Z zz6NRHG?z?J20_SUiQNZO0W(Yw){<(Q+}Sksws+~!5x!EWn_1Q7sJp2_Ztj8PC5=>| zxDgo?#i?zOx|#TOix3~-5PJk}b;IW@^w$u6DpPO-K^m&dAjBRgCL|RWkG^4RN`Jqk z!MH%%F9Jr_kmB4-wFNNF0q|chQhYX95rU#go!ZXdVZ|F_cX8zdSf?W&njl|3xgx) znEC|G*aUVTO%knIQ{OjfFcQ;#3DqY~>O-e)2mx8Ze5)GPrx`u9QRv|ka-^OYQ+wK< z=JVA`XEwDfY-s z;Y)1^4c9_6+>p}Tu-YbRKzrmzWDPlyhHgmvIW(-9Dt;rO$Q?+EZEALi>Hg)0SK|@0 ze`B_xxIMkGLETUZRFyuU;uoaKK{l+bXJDw>(De3e1Kuc@1yVdax2M0PgGp$xuZ1-4 zq4qQ-?uNm(8&7O$`cp_lYI9iIs7)_HY`+nCG}mY#N65y9rGsaRo(dHilkA?RVn>RE z>-jw}WnlQK2~bxk`cn*f2&n{6{w~!V*M0l>%N*0%7O=VcE;`c!1?*C=aw>%=9uy)% z_9YV?G#ar6CQt8bno-bPzJcXmeeC^IgD3O~LO2m$l&Ex}270H!#Z?3K)|=4ORnH`1 zs04o-Ihx>Z+K8T^QA3VQiXuvGsJE&TMor(y8UpN?V)hJe9b&kq1pU%lMQch;QP)!7 zlRt7+HHZ(@oySD*Rg%Iqb2O>GsZWK5Q;ac+5aN_>#h4BoZ*&c-6c&Gxskd>y?lcIRha&kw1J4K)3bi7 zzK}wSY*^P2WL`6C;={srj$})u4yfV^q?`+nP`^y7;RMpi4@^=8oD>LY3R;^D$<&Bb z0=4a&U8&X^9uY__0#;1}8zuxaaZ;E{O@*F8o#tJyACpp#Bs@|FQZ1Z{9n(vvt_RgS zGE)dmNVR$meD1^~lbe}OC|2~@hTv_g*`;Z@$?IVZEp@GsWE2#&QHQ>|0n>^ndF)e- zRejQbxxq_Qg+4JC6q9e>lAs6TlzPtQUD2&i?AsP9^N9)A}f)VFXwOaN}Q&=+uFaudWvobVdoNu<&}tst++K zz>ld5FVvlR;1#qiC8ZO^f?BIgIKNr8kZxh&)Sm7|nsE|H*+d=C!GbdZMyzgMQJGg7 zUU;N-o{AIwW_OUBlrk+4Oo%w>QLFdMY|z@uZxk){#Z=P@6Nm#Osa4d8rFyAEsm2s1 zBG3PgDY%|>g6LB}J(8M`W`0a6oedAwH0RW?;b?0}gYO^I$xZ#V_qR4QwVz4*4XJt8 zpGXpu2nj+Trt5hoNIsCO^nEQ-gn(Rf_wXSa3IR2{J8Az=y*qWH$;gDe6r^En%JeMw z9)tK(BK39!)iDpYHW>9tdD_w4v!U3abW4K71`_)j_&aS#pf2cSlOK4@UqEU?Kog)4 z5*k(meUMTxNn?eI=K%Fm2fQY9!8+^M3|g3yhC-6qTF|Nrd32-?>Ydyv(M%c%>zEmB z4jMox-Sn3#BZ&EcuT)6!Pg8{vCGtp{0;vQ!a#70aL6bqfMS(PX5DYSb(5Zl}jV8Z% znL>W+GJ6hO(uF(nB(I=8w}!K$HGQ-p7;)VJul@w7(%=Y@MDYr8OZ4eSa|%L*r4*uZ z#FnmGJ{9AHnI<&1dYSZ#>4H3pg^-idy$5U#N>ia&GjKP8douSf*lSs^q~K@4B=Jje zufns1?e}em|Ndy>e%%8Z2Rc^?3*OAhNW~)3xJ14sTwaq%Y(TXsjla1oe z#5lDG0YILms3V$&tpkDjHc5qbZrBk;bDW`Bj58Y9RC}L8QT@LbOQ>7}YG*o7-s- zLy<|{EU61PTX<=r7B%lA#dqjP&QhaBRoj!^bHqrY*}692P)8|Ljh3C>?#}HSo_H*2 zBYVTQCbt~Du|J4cq83tRX(8SS7Ky0&+ld!A6RSxa za#Zi5i78O7GIEx5^r$8^kY?Sh6WoTDPz^_*c6OqVPU>a|l|_bB*Hv zx&_oEJ%9AO6C^2)(-LGG9AW#tKs@_Reg4W}q#YTLNpe9vKirttraPO#-NJrq_Kq1uf{Dm7q)usl4 zM4wJnvr4TdS&vN-NCS~TSOIDEMAarWPMSo4F;d)~+@UmMB5O8av}7fsKuI929K+O8lZy+fYdWVWIpLOhpmhS{th7rb~e`FWa=PXUz7&JR_zZ25Kh*B)54Xl!J_40sRO=3D}F=N$CUCIzN zO6_4n&ZxgTZDdg=5yyHOQRlRE){Q!Ch494?nlI22p{dr{{Rxu)l{b;*3aAXdt1qVN z4Af{P2@Qwj4Ah#F!d*2*6yE?fsm_!MZPKKqlCkyIU$z(DFJ@o$y*l#h_Nz~?+LnZr zOfJbUc~W9{&Fk9mYiq7uy7u{+V`)n1@={5uqO?QVpt7Z9m&?AwACm5WeeLzq>r9Ea zWVmFbq*S7m2yP_ZSaGBDhR#jbnigLl7q&pk#l-xn?cD_6Q?w-5P?poc8y0_q-T&Wu28PO!sR?#%k1JPyC zbUk^h<_1S z?(l3A;HT=x6%zjd*lrA_x$0RWcF_oWbyeC!>Mwv*S6M@X2e`k6a|}MzqhLmZKa|1+ zd?O(H;{cw98IWW+QK01raYOI}Ow&IHDEbSS(e%>{Mms3{8_=eyHi&}X1DjzFb(#h? zqb-#Gdr-gL&{Tt8bIAR3&|idQdIJmw7y^(2 zkOq(mFdASCz(jya0Fwc-0dfFx0cHct16T~O6ks{PDu7J@ghp!sGt~;f0l)>o6`&(P zCjftd-T?gp5&%X3Oa_<(Pyo=xPu}*w|8J~TjKfBrJzk^zl>e1k+iaEnAk?`1Tc^40 z25=0JY@3z#&aK<)TeMhd9M;Ch?uM0XvjkI~*@l)8mY1w&vax1DgWyATSyvCEcM z><=0_>qi*6=q%*f7>{a}?7YZUtT$VbrLzVTTc2_)wm z(&fC#2=i-%$c6a>Ae2->$yKdy0HnhKA^@TQgaF+Eq5)z6)YrKWWG08}(F4$|WRCIF~tV+y3F0!#y#3DB5M76NV&z!Ct0 zUX}q6^s*XY4S(ouVF1wpaRB`Q2znX@FdQHQ zU?hMDfS{|n01E)t0IUbt0_8?$L(hcwuP(+UglWibdi(J`;M;S?{Z&^?{+`#yvJSA zejvZHlfCO+_v78Wc#dRk)oH<&dl3IpI}WoMr_Ot3WrZD26!!TOUFy0s$_ro4+QC}I+RWO^%44l%?P6_U zEoE(Etzd0r?PhIZt!C|Htz#`?ZD*}yZDQ?VZDp-t<+IkamarDH3Rq&+K2{;?edd+1 zj}ixt)7c);>#&t9=xe(<`WFhSE4n7NoGp!=z11fy+p~4Yg9W=Q5=MV6zLfRO9$(z8 z?a-3!JB&>(g)xienZ9GHUHr!Aj(Ox)F-D&0-|mENRJ-({vkaQWIfz5XZf^Hw{qA;W zC;2ScK00%;$+&~-E{ZPT^4@Oa;oC(1cPQ&Q z%^Tl*(k0wsh{F_zuMVpm${l_<=r~$M1@vm;Sk^11Sf2T`at`N#-??qeCt%x0JIXV+ zPBQE=B&V;}ouIj{yUmP@xH(S(w^|p#|E11r&vfthmFJ4IByl z57s+cMCNRmdWda2kKFB;LGqo9LqDUMU%Gouo=7Sv&Wd}O|x=&FLsE1=LO8rw)1vUmEJ)9OD}DMc)w}cN!T*Zt!$lM`k2X- z^H5dk6nFnUeueEYIv_a2HDsw!o`OmoLs?M~g-o ze9ykvp6z%9FLpnLo7`bp^lw=-%1W@=ZOrWXCmhGQ37+6LS_cV=X2%Gw2gM3r%t*gW zx%(n{=Ke)_E~it)*ABS&C3UKNfC^b{r_~WjvviN2jQnKDqMD zx&ED2TMjMVzTud?yQBN$M7I;}EZ;NHwXUz{htFP{sW<(WG@w|W}yEU32jdSgAocDe2Dw8>55_{fg>**7}DQ!WHkM`y#K5nKT zJ@q>Gdl6~czjNXQJGZf&4|OhEdf4yLma$`2i)I)Ma%!>F-q&ZFt?zi>Yl}t}EGb^= z>lAz3*C+3ib?3b59rFuj6wKM`XzJ3IE#NF6+BY@niWb z3odOxaLujPp;BE3f*%Xw?5pINg?TZ-7q*p#3;k|l*VcUZk2Kiezc25nU$0qHxA(O9 zkkr+`pMMm4jDPzV-t0~O**k9g-`u`p$HeXJw}06-eMf7Dl{;4Ln6cx@x$uB#0XqY- z0!jn!1l$d%2w+*hW*-V%8F+LjKQJh;7z+!OXFe8e&ld&`PSVQ90@v=^Dc&kR5%{|5 zbbv|MfMlz#(fq(D#oc5v z9)>qBU%$Mi+xBipyOnmUC>K%%$FAPnpNUhMy`4TG6 z>@;(!*uc9m>`K_}u=@PwoH!a9WS51W7UdjhKuzv|*y+a;i%t`>-lDv!^^762@Q?$|E+XQU=3moW+k$cSjns*tQ1x%Yba|BYb?cTNXbe!P0 z%ki6I82=pJvi(7wv+d=Xi(R(3jB%G|E`>Gunjp{QGA?VKM$RDpkpT$t-j{SP>s-+} zg`CVhohfH&AxuOYVIevQg6JZ8h(2O~7$Qc9F=B$4B5cGAF-I&AOT-FkhFBvuNOPnG z(h{*nS|N5wYorZgkF-VFAr6Qm;)HMzF2X}lgpXhdjtCHEq&?z-xFT*y2c#p?32{d} z5KqJl@kV@*&WJD41@S}tkpLtR>52p)!AJddiA16hA<`X*MtUGI$RK1e zl87WB$;c2S1xZDQB5BAlBpn%!j6gDwOk^Z73K@-zLB=BEknzX_WFj&NnT$+9rXtgj z>BtNu3z><`Lb8z@Bo`4OvynN-Tx1?HA6bAbL>3{7ktN7dWErv?S%IuXRw1jAHON|I z9kL$TfNVrIA)Apc$W|l|*@kRKb|5>Ed}J508`*>GMG6oxQi$wB_9F+7gUBJ|FmeQ8 zGtHRhObezZ(~7CZY{s-^+Ay0lTQFNPZJDi@cFfkyHcWeFTV^|^1JjY|#N;r!OdbA5kGt-yZh3UuiX9h3>nO&Jd z%wQ&LEM_P(j2X_1U`8^dm_p_&?PJ=EV%{i}XVnI^g!v(bdt@G0-v6G1jrtvDIm%YL3J=4flenKA01zv zV4X0X2%ShBp-!AmFP#B8i8|ECW@&ZT>Z=v2HCF339BQsH=4z!8hxJCkfA=k>InQ=p z>0HYe8df|1a859sU^uhAynV9EMVD?yu}0I478qH(O?7j0zH0P`+YdL>4&RN^JKX5t z*s*s<595#AK;yQZygP+-TH9%!F~hy5^B`{P%zMU{-Q~tzJeGO5n%wdjY!c@=)1=zd z&ug{GT(2Up119@TPMU;z&+_iqb(?pE_a*OIlV(1xOt+v&v(}HMSTzZzV*Fk8qg)U%aAVTyU0wdyL{|owsncqV{WyWj2 zH+~NO9sGmYS=+Mw&-kaY$Fh$GJ`l`hV*yLp-2-9+G6JRt%n5ig`g}7N{nb;gw<&lQ zrM`h}jxW@I=KZGX5FQ$_<#_zdm50sikp0A>A?R{Hd-{v!a*< zJEBf|9NT?0>Ppnhs4-EWqrOJTGgG>^vdO;IU)Zd4LGT>m9%0A8gF<=cs_jG1RtqiI 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⪙H;!nwT$HC|GWfg#hN_jB^$aSlFS^f?A2^6Bb%5 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%0A{vc@wFh5ER} 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ž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⁣W-c-^!sm-t)RUFrjk*ZN%L99zS}^UBBz@xa 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≥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�VLjBQmB6}zy;Eg|Huw!h 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

MtS>{BG8JawR_&TxU); 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 S9V?}`VEM9gs{zz59r}Ne4npYw literal 0 HcmV?d00001 diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/etree.h b/presentation/.venv/lib/python3.12/site-packages/lxml/etree.h new file mode 100644 index 0000000..10a6039 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/etree.h @@ -0,0 +1,244 @@ +/* Generated by Cython 3.2.4 */ + +#ifndef __PYX_HAVE__lxml__etree +#define __PYX_HAVE__lxml__etree + +#include "Python.h" +struct LxmlDocument; +struct LxmlElement; +struct LxmlElementTree; +struct LxmlElementTagMatcher; +struct LxmlElementIterator; +struct LxmlElementBase; +struct LxmlElementClassLookup; +struct LxmlFallbackElementClassLookup; + +/* "lxml/etree.pyx":456 + * + * # type of a function that steps from node to node + * ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) # <<<<<<<<<<<<<< + * + * +*/ +typedef xmlNode *(*_node_to_node_function)(xmlNode *); + +/* "lxml/etree.pyx":470 + * # Public Python API + * + * @cython.final # <<<<<<<<<<<<<< + * @cython.freelist(8) + * cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]: +*/ +struct LxmlDocument { + PyObject_HEAD + struct __pyx_vtabstruct_4lxml_5etree__Document *__pyx_vtab; + int _ns_counter; + PyObject *_prefix_tail; + xmlDoc *_c_doc; + struct __pyx_obj_4lxml_5etree__BaseParser *_parser; +}; + +/* "lxml/etree.pyx":822 + * + * + * @cython.no_gc_clear # <<<<<<<<<<<<<< + * cdef public class _Element [ type LxmlElementType, object LxmlElement ]: + * """Element class. +*/ +struct LxmlElement { + PyObject_HEAD + struct LxmlDocument *_doc; + xmlNode *_c_node; + PyObject *_tag; +}; + +/* "lxml/etree.pyx":1996 + * + * + * cdef public class _ElementTree [ type LxmlElementTreeType, # <<<<<<<<<<<<<< + * object LxmlElementTree ]: + * cdef _Document _doc +*/ +struct LxmlElementTree { + PyObject_HEAD + struct __pyx_vtabstruct_4lxml_5etree__ElementTree *__pyx_vtab; + struct LxmlDocument *_doc; + struct LxmlElement *_context_node; +}; + +/* "lxml/etree.pyx":2770 + * + * + * cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, # <<<<<<<<<<<<<< + * type LxmlElementTagMatcherType ]: + * """ +*/ +struct LxmlElementTagMatcher { + PyObject_HEAD + struct __pyx_vtabstruct_4lxml_5etree__ElementTagMatcher *__pyx_vtab; + PyObject *_pystrings; + int _node_type; + char *_href; + char *_name; +}; + +/* "lxml/etree.pyx":2801 + * self._name = NULL + * + * cdef public class _ElementIterator(_ElementTagMatcher) [ # <<<<<<<<<<<<<< + * object LxmlElementIterator, type LxmlElementIteratorType ]: + * """ +*/ +struct LxmlElementIterator { + struct LxmlElementTagMatcher __pyx_base; + struct LxmlElement *_node; + _node_to_node_function _next_element; +}; + +/* "src/lxml/classlookup.pxi":6 + * # Custom Element classes + * + * cdef public class ElementBase(_Element) [ type LxmlElementBaseType, # <<<<<<<<<<<<<< + * object LxmlElementBase ]: + * """ElementBase(*children, attrib=None, nsmap=None, **_extra) +*/ +struct LxmlElementBase { + struct LxmlElement __pyx_base; +}; + +/* "src/lxml/classlookup.pxi":210 + * # Element class lookup + * + * ctypedef public object (*_element_class_lookup_function)(object, _Document, xmlNode*) # <<<<<<<<<<<<<< + * + * # class to store element class lookup functions +*/ +typedef PyObject *(*_element_class_lookup_function)(PyObject *, struct LxmlDocument *, xmlNode *); + +/* "src/lxml/classlookup.pxi":213 + * + * # class to store element class lookup functions + * cdef public class ElementClassLookup [ type LxmlElementClassLookupType, # <<<<<<<<<<<<<< + * object LxmlElementClassLookup ]: + * """ElementClassLookup(self) +*/ +struct LxmlElementClassLookup { + PyObject_HEAD + _element_class_lookup_function _lookup_function; +}; + +/* "src/lxml/classlookup.pxi":221 + * + * + * cdef public class FallbackElementClassLookup(ElementClassLookup) \ # <<<<<<<<<<<<<< + * [ type LxmlFallbackElementClassLookupType, + * object LxmlFallbackElementClassLookup ]: +*/ +struct LxmlFallbackElementClassLookup { + struct LxmlElementClassLookup __pyx_base; + struct __pyx_vtabstruct_4lxml_5etree_FallbackElementClassLookup *__pyx_vtab; + struct LxmlElementClassLookup *fallback; + _element_class_lookup_function _fallback_function; +}; + +#ifndef __PYX_HAVE_API__lxml__etree + +#ifdef CYTHON_EXTERN_C + #undef __PYX_EXTERN_C + #define __PYX_EXTERN_C CYTHON_EXTERN_C +#elif defined(__PYX_EXTERN_C) + #ifdef _MSC_VER + #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") + #else + #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. + #endif +#else + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#ifndef DL_IMPORT + #define DL_IMPORT(_T) _T +#endif + +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlDocumentType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTreeType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTagMatcherType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementIteratorType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementBaseType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementClassLookupType; +__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlFallbackElementClassLookupType; + +__PYX_EXTERN_C struct LxmlElement *deepcopyNodeToDocument(struct LxmlDocument *, xmlNode *); +__PYX_EXTERN_C struct LxmlElementTree *elementTreeFactory(struct LxmlElement *); +__PYX_EXTERN_C struct LxmlElementTree *newElementTree(struct LxmlElement *, PyObject *); +__PYX_EXTERN_C struct LxmlElementTree *adoptExternalDocument(xmlDoc *, PyObject *, int); +__PYX_EXTERN_C struct LxmlElement *elementFactory(struct LxmlDocument *, xmlNode *); +__PYX_EXTERN_C struct LxmlElement *makeElement(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); +__PYX_EXTERN_C struct LxmlElement *makeSubElement(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); +__PYX_EXTERN_C void setElementClassLookupFunction(_element_class_lookup_function, PyObject *); +__PYX_EXTERN_C PyObject *lookupDefaultElementClass(PyObject *, PyObject *, xmlNode *); +__PYX_EXTERN_C PyObject *lookupNamespaceElementClass(PyObject *, PyObject *, xmlNode *); +__PYX_EXTERN_C PyObject *callLookupFallback(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *); +__PYX_EXTERN_C int tagMatches(xmlNode *, const xmlChar *, const xmlChar *); +__PYX_EXTERN_C struct LxmlDocument *documentOrRaise(PyObject *); +__PYX_EXTERN_C struct LxmlElement *rootNodeOrRaise(PyObject *); +__PYX_EXTERN_C int hasText(xmlNode *); +__PYX_EXTERN_C int hasTail(xmlNode *); +__PYX_EXTERN_C PyObject *textOf(xmlNode *); +__PYX_EXTERN_C PyObject *tailOf(xmlNode *); +__PYX_EXTERN_C int setNodeText(xmlNode *, PyObject *); +__PYX_EXTERN_C int setTailText(xmlNode *, PyObject *); +__PYX_EXTERN_C PyObject *attributeValue(xmlNode *, xmlAttr *); +__PYX_EXTERN_C PyObject *attributeValueFromNsName(xmlNode *, const xmlChar *, const xmlChar *); +__PYX_EXTERN_C PyObject *getAttributeValue(struct LxmlElement *, PyObject *, PyObject *); +__PYX_EXTERN_C PyObject *iterattributes(struct LxmlElement *, int); +__PYX_EXTERN_C PyObject *collectAttributes(xmlNode *, int); +__PYX_EXTERN_C int setAttributeValue(struct LxmlElement *, PyObject *, PyObject *); +__PYX_EXTERN_C int delAttribute(struct LxmlElement *, PyObject *); +__PYX_EXTERN_C int delAttributeFromNsName(xmlNode *, const xmlChar *, const xmlChar *); +__PYX_EXTERN_C int hasChild(xmlNode *); +__PYX_EXTERN_C xmlNode *findChild(xmlNode *, Py_ssize_t); +__PYX_EXTERN_C xmlNode *findChildForwards(xmlNode *, Py_ssize_t); +__PYX_EXTERN_C xmlNode *findChildBackwards(xmlNode *, Py_ssize_t); +__PYX_EXTERN_C xmlNode *nextElement(xmlNode *); +__PYX_EXTERN_C xmlNode *previousElement(xmlNode *); +__PYX_EXTERN_C void appendChild(struct LxmlElement *, struct LxmlElement *); +__PYX_EXTERN_C int appendChildToElement(struct LxmlElement *, struct LxmlElement *); +__PYX_EXTERN_C PyObject *pyunicode(const xmlChar *); +__PYX_EXTERN_C PyObject *utf8(PyObject *); +__PYX_EXTERN_C PyObject *getNsTag(PyObject *); +__PYX_EXTERN_C PyObject *getNsTagWithEmptyNs(PyObject *); +__PYX_EXTERN_C PyObject *namespacedName(xmlNode *); +__PYX_EXTERN_C PyObject *namespacedNameFromNsName(const xmlChar *, const xmlChar *); +__PYX_EXTERN_C void iteratorStoreNext(struct LxmlElementIterator *, struct LxmlElement *); +__PYX_EXTERN_C void initTagMatch(struct LxmlElementTagMatcher *, PyObject *); +__PYX_EXTERN_C xmlNs *findOrBuildNodeNsPrefix(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *); + +#endif /* !__PYX_HAVE_API__lxml__etree */ + +/* WARNING: the interface of the module init function changed in CPython 3.5. */ +/* It now returns a PyModuleDef instance instead of a PyModule instance. */ + +/* WARNING: Use PyImport_AppendInittab("etree", PyInit_etree) instead of calling PyInit_etree directly from Python 3.5 */ +PyMODINIT_FUNC PyInit_etree(void); + +#if PY_VERSION_HEX >= 0x03050000 && (defined(__GNUC__) || defined(__clang__) || defined(_MSC_VER) || (defined(__cplusplus) && __cplusplus >= 201402L)) +#if defined(__cplusplus) && __cplusplus >= 201402L +[[deprecated("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly.")]] inline +#elif defined(__GNUC__) || defined(__clang__) +__attribute__ ((__deprecated__("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly."), __unused__)) __inline__ +#elif defined(_MSC_VER) +__declspec(deprecated("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly.")) __inline +#endif +static PyObject* __PYX_WARN_IF_PyInit_etree_INIT_CALLED(PyObject* res) { + return res; +} +#define PyInit_etree() __PYX_WARN_IF_PyInit_etree_INIT_CALLED(PyInit_etree()) +#endif + +#endif /* !__PYX_HAVE__lxml__etree */ diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/etree.pyx b/presentation/.venv/lib/python3.12/site-packages/lxml/etree.pyx new file mode 100644 index 0000000..149a414 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/etree.pyx @@ -0,0 +1,3858 @@ +# cython: binding=True +# cython: auto_pickle=False +# cython: language_level=3 + +""" +The ``lxml.etree`` module implements the extended ElementTree API for XML. +""" + +__docformat__ = "restructuredtext en" + +__all__ = [ + 'AttributeBasedElementClassLookup', 'C14NError', 'C14NWriterTarget', 'CDATA', + 'Comment', 'CommentBase', 'CustomElementClassLookup', 'DEBUG', + 'DTD', 'DTDError', 'DTDParseError', 'DTDValidateError', + 'DocumentInvalid', 'ETCompatXMLParser', 'ETXPath', 'Element', + 'ElementBase', 'ElementClassLookup', 'ElementDefaultClassLookup', + 'ElementNamespaceClassLookup', 'ElementTree', 'Entity', 'EntityBase', + 'Error', 'ErrorDomains', 'ErrorLevels', 'ErrorTypes', 'Extension', + 'FallbackElementClassLookup', 'FunctionNamespace', 'HTML', 'HTMLParser', + 'ICONV_COMPILED_VERSION', + 'LIBXML_COMPILED_VERSION', 'LIBXML_VERSION', + 'LIBXML_FEATURES', + 'LIBXSLT_COMPILED_VERSION', 'LIBXSLT_VERSION', + 'LXML_VERSION', + 'LxmlError', 'LxmlRegistryError', 'LxmlSyntaxError', + 'NamespaceRegistryError', 'PI', 'PIBase', 'ParseError', + 'ParserBasedElementClassLookup', 'ParserError', 'ProcessingInstruction', + 'PyErrorLog', 'PythonElementClassLookup', 'QName', 'RelaxNG', + 'RelaxNGError', 'RelaxNGErrorTypes', 'RelaxNGParseError', + 'RelaxNGValidateError', 'Resolver', 'Schematron', 'SchematronError', + 'SchematronParseError', 'SchematronValidateError', 'SerialisationError', + 'SubElement', 'TreeBuilder', 'XInclude', 'XIncludeError', 'XML', + 'XMLDTDID', 'XMLID', 'XMLParser', 'XMLSchema', 'XMLSchemaError', + 'XMLSchemaParseError', 'XMLSchemaValidateError', 'XMLSyntaxError', + 'XMLTreeBuilder', 'XPath', 'XPathDocumentEvaluator', 'XPathError', + 'XPathEvalError', 'XPathEvaluator', 'XPathFunctionError', 'XPathResultError', + 'XPathSyntaxError', 'XSLT', 'XSLTAccessControl', 'XSLTApplyError', + 'XSLTError', 'XSLTExtension', 'XSLTExtensionError', 'XSLTParseError', + 'XSLTSaveError', 'canonicalize', + 'cleanup_namespaces', 'clear_error_log', 'dump', + 'fromstring', 'fromstringlist', 'get_default_parser', 'iselement', + 'iterparse', 'iterwalk', 'parse', 'parseid', 'register_namespace', + 'set_default_parser', 'set_element_class_lookup', 'strip_attributes', + 'strip_elements', 'strip_tags', 'tostring', 'tostringlist', 'tounicode', + 'use_global_python_log' + ] + +cimport cython + +from lxml cimport python +from lxml.includes cimport tree, config +from lxml.includes.tree cimport xmlDoc, xmlNode, xmlAttr, xmlNs, _isElement, _getNs +from lxml.includes.tree cimport const_xmlChar, xmlChar, _xcstr +from lxml.python cimport _cstr, _isString +from lxml.includes cimport xpath +from lxml.includes cimport c14n + +# Cython's standard declarations +cimport cpython.mem +cimport cpython.ref +from libc cimport limits, stdio, stdlib +from libc cimport string as cstring_h # not to be confused with stdlib 'string' +from libc.string cimport const_char + +cdef object os_path_abspath +from os.path import abspath as os_path_abspath + +cdef object BytesIO, StringIO +from io import BytesIO, StringIO + +cdef object OrderedDict +from collections import OrderedDict + +cdef object _elementpath +from lxml import _elementpath + +cdef object sys +import sys + +cdef object re +import re + +cdef object partial +from functools import partial + +cdef object islice +from itertools import islice + +cdef object ITER_EMPTY = iter(()) + +cdef object MutableMapping +from collections.abc import MutableMapping + +class _ImmutableMapping(MutableMapping): + def __getitem__(self, key): + raise KeyError, key + + def __setitem__(self, key, value): + raise KeyError, key + + def __delitem__(self, key): + raise KeyError, key + + def __contains__(self, key): + return False + + def __len__(self): + return 0 + + def __iter__(self): + return ITER_EMPTY + iterkeys = itervalues = iteritems = __iter__ + +cdef object IMMUTABLE_EMPTY_MAPPING = _ImmutableMapping() +del _ImmutableMapping + + +# the rules +# --------- +# any libxml C argument/variable is prefixed with c_ +# any non-public function/class is prefixed with an underscore +# instance creation is always through factories + +# what to do with libxml2/libxslt error messages? +# 0 : drop +# 1 : use log +DEF __DEBUG = 1 + +# maximum number of lines in the libxml2/xslt log if __DEBUG == 1 +DEF __MAX_LOG_SIZE = 100 + +# make the compiled-in debug state publicly available +DEBUG = __DEBUG + +# A struct to store a cached qualified tag name+href pair. +# While we can borrow the c_name from the document dict, +# PyPy requires us to store a Python reference for the +# namespace in order to keep the byte buffer alive. +cdef struct qname: + const_xmlChar* c_name + python.PyObject* href + +# initialize parser (and threading) +xmlparser.xmlInitParser() + +# global per-thread setup +tree.xmlThrDefIndentTreeOutput(1) +tree.xmlThrDefLineNumbersDefaultValue(1) + +_initThreadLogging() + +# filename encoding +cdef bytes _FILENAME_ENCODING = (sys.getfilesystemencoding() or sys.getdefaultencoding() or 'ascii').encode("UTF-8") +cdef char* _C_FILENAME_ENCODING = _cstr(_FILENAME_ENCODING) + +# set up some default namespace prefixes +cdef dict _DEFAULT_NAMESPACE_PREFIXES = { + b"http://www.w3.org/XML/1998/namespace": b'xml', + b"http://www.w3.org/1999/xhtml": b"html", + b"http://www.w3.org/1999/XSL/Transform": b"xsl", + b"http://www.w3.org/1999/02/22-rdf-syntax-ns#": b"rdf", + b"http://schemas.xmlsoap.org/wsdl/": b"wsdl", + # xml schema + b"http://www.w3.org/2001/XMLSchema": b"xs", + b"http://www.w3.org/2001/XMLSchema-instance": b"xsi", + # dublin core + b"http://purl.org/dc/elements/1.1/": b"dc", + # objectify + b"http://codespeak.net/lxml/objectify/pytype" : b"py", +} + +# To avoid runtime encoding overhead, we keep a Unicode copy +# of the uri-prefix mapping as (str, str) items view. +cdef object _DEFAULT_NAMESPACE_PREFIXES_ITEMS = [] + +cdef _update_default_namespace_prefixes_items(): + cdef bytes ns, prefix + global _DEFAULT_NAMESPACE_PREFIXES_ITEMS + _DEFAULT_NAMESPACE_PREFIXES_ITEMS = { + ns.decode('utf-8') : prefix.decode('utf-8') + for ns, prefix in _DEFAULT_NAMESPACE_PREFIXES.items() + }.items() + +_update_default_namespace_prefixes_items() + +cdef object _check_internal_prefix = re.compile(br"ns\d+$").match + +def register_namespace(prefix, uri): + """Registers a namespace prefix that newly created Elements in that + namespace will use. The registry is global, and any existing + mapping for either the given prefix or the namespace URI will be + removed. + """ + prefix_utf, uri_utf = _utf8(prefix), _utf8(uri) + if _check_internal_prefix(prefix_utf): + raise ValueError("Prefix format reserved for internal use") + _tagValidOrRaise(prefix_utf) + _uriValidOrRaise(uri_utf) + if (uri_utf == b"http://www.w3.org/XML/1998/namespace" and prefix_utf != b'xml' + or prefix_utf == b'xml' and uri_utf != b"http://www.w3.org/XML/1998/namespace"): + raise ValueError("Cannot change the 'xml' prefix of the XML namespace") + for k, v in list(_DEFAULT_NAMESPACE_PREFIXES.items()): + if k == uri_utf or v == prefix_utf: + del _DEFAULT_NAMESPACE_PREFIXES[k] + _DEFAULT_NAMESPACE_PREFIXES[uri_utf] = prefix_utf + _update_default_namespace_prefixes_items() + + +# Error superclass for ElementTree compatibility +cdef class Error(Exception): + pass + +# module level superclass for all exceptions +cdef class LxmlError(Error): + """Main exception base class for lxml. All other exceptions inherit from + this one. + """ + def __init__(self, message, error_log=None): + super(_Error, self).__init__(message) + if error_log is None: + self.error_log = __copyGlobalErrorLog() + else: + self.error_log = error_log.copy() + +cdef object _Error = Error + + +# superclass for all syntax errors +class LxmlSyntaxError(LxmlError, SyntaxError): + """Base class for all syntax errors. + """ + +cdef class C14NError(LxmlError): + """Error during C14N serialisation. + """ + +# version information +cdef tuple __unpackDottedVersion(version): + version_list = [] + l = (version.decode("ascii").replace('-', '.').split('.') + [0]*4)[:4] + for item in l: + try: + item = int(item) + except ValueError: + if item.startswith('dev'): + count = item[3:] + item = -300 + elif item.startswith('alpha'): + count = item[5:] + item = -200 + elif item.startswith('beta'): + count = item[4:] + item = -100 + else: + count = 0 + if count: + item += int(count) + version_list.append(item) + return tuple(version_list) + +cdef tuple __unpackIntVersion(int c_version, int base=100): + return ( + ((c_version // (base*base)) % base), + ((c_version // base) % base), + (c_version % base) + ) + +cdef int _LIBXML_VERSION_INT +try: + _LIBXML_VERSION_INT = int( + re.match('[0-9]+', (tree.xmlParserVersion).decode("ascii")).group(0)) +except Exception: + print("Unknown libxml2 version: " + (tree.xmlParserVersion).decode("latin1")) + _LIBXML_VERSION_INT = 0 + +LIBXML_VERSION = __unpackIntVersion(_LIBXML_VERSION_INT) +LIBXML_COMPILED_VERSION = __unpackIntVersion(tree.LIBXML_VERSION) +LXML_VERSION = __unpackDottedVersion(tree.LXML_VERSION_STRING) + +__version__ = tree.LXML_VERSION_STRING.decode("ascii") + +cdef extern from *: + """ + #ifdef ZLIB_VERNUM + #define __lxml_zlib_version (ZLIB_VERNUM >> 4) + #else + #define __lxml_zlib_version 0 + #endif + #ifdef _LIBICONV_VERSION + #define __lxml_iconv_version (_LIBICONV_VERSION << 8) + #else + #define __lxml_iconv_version 0 + #endif + """ + # zlib isn't included automatically by libxml2's headers + #long ZLIB_HEX_VERSION "__lxml_zlib_version" + long LIBICONV_HEX_VERSION "__lxml_iconv_version" + +#ZLIB_COMPILED_VERSION = __unpackIntVersion(ZLIB_HEX_VERSION, base=0x10) +ICONV_COMPILED_VERSION = __unpackIntVersion(LIBICONV_HEX_VERSION, base=0x100)[:2] + + +cdef extern from "libxml/xmlversion.h": + """ + static const char* const _lxml_lib_features[] = { +#ifdef LIBXML_HTML_ENABLED + "html", +#endif +#ifdef LIBXML_FTP_ENABLED + "ftp", +#endif +#ifdef LIBXML_HTTP_ENABLED + "http", +#endif +#ifdef LIBXML_CATALOG_ENABLED + "catalog", +#endif +#ifdef LIBXML_XPATH_ENABLED + "xpath", +#endif +#ifdef LIBXML_ICONV_ENABLED + "iconv", +#endif +#ifdef LIBXML_ICU_ENABLED + "icu", +#endif +#ifdef LIBXML_REGEXP_ENABLED + "regexp", +#endif +#ifdef LIBXML_SCHEMAS_ENABLED + "xmlschema", +#endif +#ifdef LIBXML_SCHEMATRON_ENABLED + "schematron", +#endif +#ifdef LIBXML_ZLIB_ENABLED + "zlib", +#endif +#ifdef LIBXML_LZMA_ENABLED + "lzma", +#endif + 0 + }; + """ + const char* const* _LXML_LIB_FEATURES "_lxml_lib_features" + + +cdef set _copy_lib_features(): + features = set() + feature = _LXML_LIB_FEATURES + while feature[0]: + features.add(feature[0].decode('ASCII')) + feature += 1 + return features + +LIBXML_COMPILED_FEATURES = _copy_lib_features() +LIBXML_FEATURES = { + feature_name for feature_id, feature_name in [ + #XML_WITH_THREAD = 1 + #XML_WITH_TREE = 2 + #XML_WITH_OUTPUT = 3 + #XML_WITH_PUSH = 4 + #XML_WITH_READER = 5 + #XML_WITH_PATTERN = 6 + #XML_WITH_WRITER = 7 + #XML_WITH_SAX1 = 8 + (xmlparser.XML_WITH_FTP, "ftp"), # XML_WITH_FTP = 9 + (xmlparser.XML_WITH_HTTP, "http"), # XML_WITH_HTTP = 10 + #XML_WITH_VALID = 11 + (xmlparser.XML_WITH_HTML, "html"), # XML_WITH_HTML = 12 + #XML_WITH_LEGACY = 13 + #XML_WITH_C14N = 14 + (xmlparser.XML_WITH_CATALOG, "catalog"), # XML_WITH_CATALOG = 15 + (xmlparser.XML_WITH_XPATH, "xpath"), # XML_WITH_XPATH = 16 + #XML_WITH_XPTR = 17 + #XML_WITH_XINCLUDE = 18 + (xmlparser.XML_WITH_ICONV, "iconv"), # XML_WITH_ICONV = 19 + #XML_WITH_ISO8859X = 20 + #XML_WITH_UNICODE = 21 + (xmlparser.XML_WITH_REGEXP, "regexp"), # XML_WITH_REGEXP = 22 + #XML_WITH_AUTOMATA = 23 + #XML_WITH_EXPR = 24 + (xmlparser.XML_WITH_SCHEMAS, "xmlschema"), # XML_WITH_SCHEMAS = 25 + (xmlparser.XML_WITH_SCHEMATRON, "schematron"), # XML_WITH_SCHEMATRON = 26 + #XML_WITH_MODULES = 27 + #XML_WITH_DEBUG = 28 + #XML_WITH_DEBUG_MEM = 29 + #XML_WITH_DEBUG_RUN = 30 # unused + (xmlparser.XML_WITH_ZLIB, "zlib"), # XML_WITH_ZLIB = 31 + (xmlparser.XML_WITH_ICU, "icu"), # XML_WITH_ICU = 32 + (xmlparser.XML_WITH_LZMA, "lzma"), # XML_WITH_LZMA = 33 + ] if xmlparser.xmlHasFeature(feature_id) +} + +cdef bint HAS_ZLIB_COMPRESSION = xmlparser.xmlHasFeature(xmlparser.XML_WITH_ZLIB) + + +# class for temporary storage of Python references, +# used e.g. for XPath results +@cython.final +@cython.internal +cdef class _TempStore: + cdef list _storage + def __init__(self): + self._storage = [] + + cdef int add(self, obj) except -1: + self._storage.append(obj) + return 0 + + cdef int clear(self) except -1: + del self._storage[:] + return 0 + + +# class for temporarily storing exceptions raised in extensions +@cython.internal +cdef class _ExceptionContext: + cdef object _exc_info + + cdef int clear(self) except -1: + self._exc_info = None + return 0 + + @cython.final + cdef void _store_raised(self) noexcept: + try: + self._exc_info = sys.exc_info() + except BaseException as e: + self._store_exception(e) + finally: + return # and swallow any further exceptions + + @cython.final + cdef int _store_exception(self, exception) except -1: + self._exc_info = (exception, None, None) + return 0 + + @cython.final + cdef bint _has_raised(self) except -1: + return self._exc_info is not None + + @cython.final + cdef int _raise_if_stored(self) except -1: + if self._exc_info is None: + return 0 + type, value, traceback = self._exc_info + self._exc_info = None + if value is None and traceback is None: + raise type + else: + raise type, value, traceback + + +# type of a function that steps from node to node +ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) + + +################################################################################ +# Include submodules + +include "proxy.pxi" # Proxy handling (element backpointers/memory/etc.) +include "apihelpers.pxi" # Private helper functions +include "xmlerror.pxi" # Error and log handling + + +################################################################################ +# Public Python API + +@cython.final +@cython.freelist(8) +cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]: + """Internal base class to reference a libxml document. + + When instances of this class are garbage collected, the libxml + document is cleaned up. + """ + cdef int _ns_counter + cdef bytes _prefix_tail + cdef xmlDoc* _c_doc + cdef _BaseParser _parser + + def __dealloc__(self): + # if there are no more references to the document, it is safe + # to clean the whole thing up, as all nodes have a reference to + # the document + tree.xmlFreeDoc(self._c_doc) + + @cython.final + cdef getroot(self): + # return an element proxy for the document root + cdef xmlNode* c_node + c_node = tree.xmlDocGetRootElement(self._c_doc) + if c_node is NULL: + return None + return _elementFactory(self, c_node) + + @cython.final + cdef bint hasdoctype(self) noexcept: + # DOCTYPE gets parsed into internal subset (xmlDTD*) + return self._c_doc is not NULL and self._c_doc.intSubset is not NULL + + @cython.final + cdef getdoctype(self): + # get doctype info: root tag, public/system ID (or None if not known) + cdef tree.xmlDtd* c_dtd + cdef xmlNode* c_root_node + public_id = None + sys_url = None + c_dtd = self._c_doc.intSubset + if c_dtd is not NULL: + if c_dtd.ExternalID is not NULL: + public_id = funicode(c_dtd.ExternalID) + if c_dtd.SystemID is not NULL: + sys_url = funicode(c_dtd.SystemID) + c_dtd = self._c_doc.extSubset + if c_dtd is not NULL: + if not public_id and c_dtd.ExternalID is not NULL: + public_id = funicode(c_dtd.ExternalID) + if not sys_url and c_dtd.SystemID is not NULL: + sys_url = funicode(c_dtd.SystemID) + c_root_node = tree.xmlDocGetRootElement(self._c_doc) + if c_root_node is NULL: + root_name = None + else: + root_name = funicode(c_root_node.name) + return root_name, public_id, sys_url + + @cython.final + cdef getxmlinfo(self): + # return XML version and encoding (or None if not known) + cdef xmlDoc* c_doc = self._c_doc + if c_doc.version is NULL: + version = None + else: + version = funicode(c_doc.version) + if c_doc.encoding is NULL: + encoding = None + else: + encoding = funicode(c_doc.encoding) + return version, encoding + + @cython.final + cdef isstandalone(self): + # returns True for "standalone=true", + # False for "standalone=false", None if not provided + if self._c_doc.standalone == -1: + return None + else: + return (self._c_doc.standalone == 1) + + @cython.final + cdef bytes buildNewPrefix(self): + # get a new unique prefix ("nsX") for this document + cdef bytes ns + if self._ns_counter < len(_PREFIX_CACHE): + ns = _PREFIX_CACHE[self._ns_counter] + else: + ns = python.PyBytes_FromFormat("ns%d", self._ns_counter) + if self._prefix_tail is not None: + ns += self._prefix_tail + self._ns_counter += 1 + if self._ns_counter < 0: + # overflow! + self._ns_counter = 0 + if self._prefix_tail is None: + self._prefix_tail = b"A" + else: + self._prefix_tail += b"A" + return ns + + @cython.final + cdef xmlNs* _findOrBuildNodeNs(self, xmlNode* c_node, + const_xmlChar* c_href, const_xmlChar* c_prefix, + bint is_attribute) except NULL: + """Get or create namespace structure for a node. Reuses the prefix if + possible. + """ + cdef xmlNs* c_ns + cdef xmlNs* c_doc_ns + cdef python.PyObject* dict_result + if c_node.type != tree.XML_ELEMENT_NODE: + assert c_node.type == tree.XML_ELEMENT_NODE, \ + "invalid node type %d, expected %d" % ( + c_node.type, tree.XML_ELEMENT_NODE) + # look for existing ns declaration + c_ns = _searchNsByHref(c_node, c_href, is_attribute) + if c_ns is not NULL: + if is_attribute and c_ns.prefix is NULL: + # do not put namespaced attributes into the default + # namespace as this would break serialisation + pass + else: + return c_ns + + # none found => determine a suitable new prefix + if c_prefix is NULL: + dict_result = python.PyDict_GetItem( + _DEFAULT_NAMESPACE_PREFIXES, c_href) + if dict_result is not NULL: + prefix = dict_result + else: + prefix = self.buildNewPrefix() + c_prefix = _xcstr(prefix) + + # make sure the prefix is not in use already + while tree.xmlSearchNs(self._c_doc, c_node, c_prefix) is not NULL: + prefix = self.buildNewPrefix() + c_prefix = _xcstr(prefix) + + # declare the namespace and return it + c_ns = tree.xmlNewNs(c_node, c_href, c_prefix) + if c_ns is NULL: + raise MemoryError() + return c_ns + + @cython.final + cdef int _setNodeNs(self, xmlNode* c_node, const_xmlChar* c_href) except -1: + "Lookup namespace structure and set it for the node." + c_ns = self._findOrBuildNodeNs(c_node, c_href, NULL, 0) + tree.xmlSetNs(c_node, c_ns) + + +cdef tuple __initPrefixCache(): + cdef int i + return tuple([ python.PyBytes_FromFormat("ns%d", i) + for i in range(26) ]) + +cdef tuple _PREFIX_CACHE = __initPrefixCache() + + +cdef _Document _documentFactory(xmlDoc* c_doc, _BaseParser parser): + cdef _Document result + result = _Document.__new__(_Document) + result._c_doc = c_doc + result._ns_counter = 0 + result._prefix_tail = None + if parser is None: + parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser() + result._parser = parser + return result + + +cdef object _find_invalid_public_id_characters = re.compile( + ur"[^\x20\x0D\x0Aa-zA-Z0-9'()+,./:=?;!*#@$_%-]+").search + + +cdef class DocInfo: + "Document information provided by parser and DTD." + cdef _Document _doc + def __cinit__(self, tree): + "Create a DocInfo object for an ElementTree object or root Element." + self._doc = _documentOrRaise(tree) + root_name, public_id, system_url = self._doc.getdoctype() + if not root_name and (public_id or system_url): + raise ValueError, "Could not find root node" + + @property + def root_name(self): + """Returns the name of the root node as defined by the DOCTYPE.""" + root_name, public_id, system_url = self._doc.getdoctype() + return root_name + + @cython.final + cdef tree.xmlDtd* _get_c_dtd(self) noexcept: + """"Return the DTD. Create it if it does not yet exist.""" + cdef xmlDoc* c_doc = self._doc._c_doc + cdef xmlNode* c_root_node + cdef const_xmlChar* c_name + + if c_doc.intSubset: + return c_doc.intSubset + + c_root_node = tree.xmlDocGetRootElement(c_doc) + c_name = c_root_node.name if c_root_node else NULL + return tree.xmlCreateIntSubset(c_doc, c_name, NULL, NULL) + + def clear(self): + """Removes DOCTYPE and internal subset from the document.""" + cdef xmlDoc* c_doc = self._doc._c_doc + cdef tree.xmlNode* c_dtd = c_doc.intSubset + if c_dtd is NULL: + return + tree.xmlUnlinkNode(c_dtd) + tree.xmlFreeNode(c_dtd) + + property public_id: + """Public ID of the DOCTYPE. + + Mutable. May be set to a valid string or None. If a DTD does not + exist, setting this variable (even to None) will create one. + """ + def __get__(self): + root_name, public_id, system_url = self._doc.getdoctype() + return public_id + + def __set__(self, value): + cdef xmlChar* c_value = NULL + if value is not None: + match = _find_invalid_public_id_characters(value) + if match: + raise ValueError, f'Invalid character(s) {match.group(0)!r} in public_id.' + value = _utf8(value) + c_value = tree.xmlStrdup(_xcstr(value)) + if not c_value: + raise MemoryError() + + c_dtd = self._get_c_dtd() + if not c_dtd: + tree.xmlFree(c_value) + raise MemoryError() + if c_dtd.ExternalID: + tree.xmlFree(c_dtd.ExternalID) + c_dtd.ExternalID = c_value + + property system_url: + """System ID of the DOCTYPE. + + Mutable. May be set to a valid string or None. If a DTD does not + exist, setting this variable (even to None) will create one. + """ + def __get__(self): + root_name, public_id, system_url = self._doc.getdoctype() + return system_url + + def __set__(self, value): + cdef xmlChar* c_value = NULL + if value is not None: + bvalue = _utf8(value) + # sys_url may be any valid unicode string that can be + # enclosed in single quotes or quotes. + if b"'" in bvalue and b'"' in bvalue: + raise ValueError( + 'System URL may not contain both single (\') and double quotes (").') + c_value = tree.xmlStrdup(_xcstr(bvalue)) + if not c_value: + raise MemoryError() + + c_dtd = self._get_c_dtd() + if not c_dtd: + tree.xmlFree(c_value) + raise MemoryError() + if c_dtd.SystemID: + tree.xmlFree(c_dtd.SystemID) + c_dtd.SystemID = c_value + + @property + def xml_version(self): + """Returns the XML version as declared by the document.""" + xml_version, encoding = self._doc.getxmlinfo() + return xml_version + + @property + def encoding(self): + """Returns the encoding name as declared by the document.""" + xml_version, encoding = self._doc.getxmlinfo() + return encoding + + @property + def standalone(self): + """Returns the standalone flag as declared by the document. The possible + values are True (``standalone='yes'``), False + (``standalone='no'`` or flag not provided in the declaration), + and None (unknown or no declaration found). Note that a + normal truth test on this value will always tell if the + ``standalone`` flag was set to ``'yes'`` or not. + """ + return self._doc.isstandalone() + + property URL: + "The source URL of the document (or None if unknown)." + def __get__(self): + if self._doc._c_doc.URL is NULL: + return None + return _decodeFilename(self._doc._c_doc.URL) + def __set__(self, url): + url = _encodeFilename(url) + c_oldurl = self._doc._c_doc.URL + if url is None: + self._doc._c_doc.URL = NULL + else: + self._doc._c_doc.URL = tree.xmlStrdup(_xcstr(url)) + if c_oldurl is not NULL: + tree.xmlFree(c_oldurl) + + @property + def doctype(self): + """Returns a DOCTYPE declaration string for the document.""" + root_name, public_id, system_url = self._doc.getdoctype() + if system_url: + # If '"' in system_url, we must escape it with single + # quotes, otherwise escape with double quotes. If url + # contains both a single quote and a double quote, XML + # standard is being violated. + if '"' in system_url: + quoted_system_url = f"'{system_url}'" + else: + quoted_system_url = f'"{system_url}"' + if public_id: + if system_url: + return f'' + else: + return f'' + elif system_url: + return f'' + elif self._doc.hasdoctype(): + return f'' + else: + return '' + + @property + def internalDTD(self): + """Returns a DTD validator based on the internal subset of the document.""" + return _dtdFactory(self._doc._c_doc.intSubset) + + @property + def externalDTD(self): + """Returns a DTD validator based on the external subset of the document.""" + return _dtdFactory(self._doc._c_doc.extSubset) + + +@cython.no_gc_clear +cdef public class _Element [ type LxmlElementType, object LxmlElement ]: + """Element class. + + References a document object and a libxml node. + + By pointing to a Document instance, a reference is kept to + _Document as long as there is some pointer to a node in it. + """ + cdef _Document _doc + cdef xmlNode* _c_node + cdef object _tag + + def _init(self): + """_init(self) + + Called after object initialisation. Custom subclasses may override + this if they recursively call _init() in the superclasses. + """ + + @cython.linetrace(False) + @cython.profile(False) + def __dealloc__(self): + #print("trying to free node:", self._c_node) + #displayNode(self._c_node, 0) + if self._c_node is not NULL: + _unregisterProxy(self) + attemptDeallocation(self._c_node) + + # MANIPULATORS + + def __setitem__(self, x, value): + """__setitem__(self, x, value) + + Replaces the given subelement index or slice. + """ + cdef xmlNode* c_node = NULL + cdef xmlNode* c_next + cdef xmlDoc* c_source_doc + cdef _Element element + cdef bint left_to_right + cdef Py_ssize_t slicelength = 0, step = 0 + _assertValidNode(self) + if value is None: + raise ValueError, "cannot assign None" + if isinstance(x, slice): + # slice assignment + _findChildSlice(x, self._c_node, &c_node, &step, &slicelength) + if step > 0: + left_to_right = 1 + else: + left_to_right = 0 + step = -step if step != python.PY_SSIZE_T_MIN else python.PY_SSIZE_T_MAX + _replaceSlice(self, c_node, slicelength, step, left_to_right, value) + return + else: + # otherwise: normal item assignment + element = value + _assertValidNode(element) + c_node = _findChild(self._c_node, x) + if c_node is NULL: + raise IndexError, "list index out of range" + c_source_doc = element._c_node.doc + c_next = element._c_node.next + _removeText(c_node.next) + tree.xmlReplaceNode(c_node, element._c_node) + _moveTail(c_next, element._c_node) + moveNodeToDocument(self._doc, c_source_doc, element._c_node) + if not attemptDeallocation(c_node): + moveNodeToDocument(self._doc, c_node.doc, c_node) + + def __delitem__(self, x): + """__delitem__(self, x) + + Deletes the given subelement or a slice. + """ + cdef xmlNode* c_node = NULL + cdef xmlNode* c_next + cdef Py_ssize_t step = 0, slicelength = 0 + _assertValidNode(self) + if isinstance(x, slice): + # slice deletion + if _isFullSlice(x): + c_node = self._c_node.children + if c_node is not NULL: + if not _isElement(c_node): + c_node = _nextElement(c_node) + while c_node is not NULL: + c_next = _nextElement(c_node) + _removeNode(self._doc, c_node) + c_node = c_next + else: + _findChildSlice(x, self._c_node, &c_node, &step, &slicelength) + _deleteSlice(self._doc, c_node, slicelength, step) + else: + # item deletion + c_node = _findChild(self._c_node, x) + if c_node is NULL: + raise IndexError, f"index out of range: {x}" + _removeNode(self._doc, c_node) + + def __deepcopy__(self, memo): + "__deepcopy__(self, memo)" + return self.__copy__() + + def __copy__(self): + "__copy__(self)" + cdef xmlDoc* c_doc + cdef xmlNode* c_node + cdef _Document new_doc + _assertValidNode(self) + c_doc = _copyDocRoot(self._doc._c_doc, self._c_node) # recursive + new_doc = _documentFactory(c_doc, self._doc._parser) + root = new_doc.getroot() + if root is not None: + return root + # Comment/PI + c_node = c_doc.children + while c_node is not NULL and c_node.type != self._c_node.type: + c_node = c_node.next + if c_node is NULL: + return None + return _elementFactory(new_doc, c_node) + + def set(self, key, value): + """set(self, key, value) + + Sets an element attribute. + In HTML documents (not XML or XHTML), the value None is allowed and creates + an attribute without value (just the attribute name). + """ + _assertValidNode(self) + _setAttributeValue(self, key, value) + + def append(self, _Element element not None): + """append(self, element) + + Adds a subelement to the end of this element. + """ + _assertValidNode(self) + _assertValidNode(element) + _appendChild(self, element) + + def addnext(self, _Element element not None): + """addnext(self, element) + + Adds the element as a following sibling directly after this + element. + + This is normally used to set a processing instruction or comment after + the root node of a document. Note that tail text is automatically + discarded when adding at the root level. + """ + _assertValidNode(self) + _assertValidNode(element) + if self._c_node.parent != NULL and not _isElement(self._c_node.parent): + if element._c_node.type not in (tree.XML_PI_NODE, tree.XML_COMMENT_NODE): + raise TypeError, "Only processing instructions and comments can be siblings of the root element" + element.tail = None + _appendSibling(self, element) + + def addprevious(self, _Element element not None): + """addprevious(self, element) + + Adds the element as a preceding sibling directly before this + element. + + This is normally used to set a processing instruction or comment + before the root node of a document. Note that tail text is + automatically discarded when adding at the root level. + """ + _assertValidNode(self) + _assertValidNode(element) + if self._c_node.parent != NULL and not _isElement(self._c_node.parent): + if element._c_node.type != tree.XML_PI_NODE: + if element._c_node.type != tree.XML_COMMENT_NODE: + raise TypeError, "Only processing instructions and comments can be siblings of the root element" + element.tail = None + _prependSibling(self, element) + + def extend(self, elements): + """extend(self, elements) + + Extends the current children by the elements in the iterable. + """ + cdef _Element element + _assertValidNode(self) + for element in elements: + if element is None: + raise TypeError, "Node must not be None" + _assertValidNode(element) + _appendChild(self, element) + + def clear(self, bint keep_tail=False): + """clear(self, keep_tail=False) + + Resets an element. This function removes all subelements, clears + all attributes and sets the text and tail properties to None. + + Pass ``keep_tail=True`` to leave the tail text untouched. + """ + cdef xmlAttr* c_attr + cdef xmlAttr* c_attr_next + cdef xmlNode* c_node + cdef xmlNode* c_node_next + _assertValidNode(self) + c_node = self._c_node + # remove self.text and self.tail + _removeText(c_node.children) + if not keep_tail: + _removeText(c_node.next) + # remove all attributes + c_attr = c_node.properties + if c_attr: + c_node.properties = NULL + tree.xmlFreePropList(c_attr) + # remove all subelements + c_node = c_node.children + if c_node and not _isElement(c_node): + c_node = _nextElement(c_node) + while c_node is not NULL: + c_node_next = _nextElement(c_node) + _removeNode(self._doc, c_node) + c_node = c_node_next + + def insert(self, index: int, _Element element not None): + """insert(self, index, element) + + Inserts a subelement at the given position in this element + """ + cdef xmlNode* c_node + cdef xmlNode* c_next + cdef xmlDoc* c_source_doc + _assertValidNode(self) + _assertValidNode(element) + c_node = _findChild(self._c_node, index) + if c_node is NULL: + _appendChild(self, element) + return + # prevent cycles + if _isAncestorOrSame(element._c_node, self._c_node): + raise ValueError("cannot append parent to itself") + c_source_doc = element._c_node.doc + c_next = element._c_node.next + tree.xmlAddPrevSibling(c_node, element._c_node) + _moveTail(c_next, element._c_node) + moveNodeToDocument(self._doc, c_source_doc, element._c_node) + + def remove(self, _Element element not None): + """remove(self, element) + + Removes a matching subelement. Unlike the find methods, this + method compares elements based on identity, not on tag value + or contents. + """ + cdef xmlNode* c_node + cdef xmlNode* c_next + _assertValidNode(self) + _assertValidNode(element) + c_node = element._c_node + if c_node.parent is not self._c_node: + raise ValueError, "Element is not a child of this node." + c_next = element._c_node.next + tree.xmlUnlinkNode(c_node) + _moveTail(c_next, c_node) + # fix namespace declarations + moveNodeToDocument(self._doc, c_node.doc, c_node) + + def replace(self, _Element old_element not None, + _Element new_element not None): + """replace(self, old_element, new_element) + + Replaces a subelement with the element passed as second argument. + """ + cdef xmlNode* c_old_node + cdef xmlNode* c_old_next + cdef xmlNode* c_new_node + cdef xmlNode* c_new_next + cdef xmlDoc* c_source_doc + _assertValidNode(self) + _assertValidNode(old_element) + _assertValidNode(new_element) + c_old_node = old_element._c_node + if c_old_node.parent is not self._c_node: + raise ValueError, "Element is not a child of this node." + c_new_node = new_element._c_node + # prevent cycles + if _isAncestorOrSame(c_new_node, self._c_node): + raise ValueError("cannot append parent to itself") + # replace node + c_old_next = c_old_node.next + c_new_next = c_new_node.next + c_source_doc = c_new_node.doc + tree.xmlReplaceNode(c_old_node, c_new_node) + _moveTail(c_new_next, c_new_node) + _moveTail(c_old_next, c_old_node) + moveNodeToDocument(self._doc, c_source_doc, c_new_node) + # fix namespace declarations + moveNodeToDocument(self._doc, c_old_node.doc, c_old_node) + + # PROPERTIES + property tag: + """Element tag + """ + def __get__(self): + if self._tag is not None: + return self._tag + _assertValidNode(self) + self._tag = _namespacedName(self._c_node) + return self._tag + + def __set__(self, value): + cdef _BaseParser parser + _assertValidNode(self) + ns, name = _getNsTag(value) + parser = self._doc._parser + if parser is not None and parser._for_html: + _htmlTagValidOrRaise(name) + else: + _tagValidOrRaise(name) + self._tag = value + tree.xmlNodeSetName(self._c_node, _xcstr(name)) + if ns is None: + self._c_node.ns = NULL + else: + self._doc._setNodeNs(self._c_node, _xcstr(ns)) + + @property + def attrib(self): + """Element attribute dictionary. Where possible, use get(), set(), + keys(), values() and items() to access element attributes. + """ + return _Attrib.__new__(_Attrib, self) + + property text: + """Text before the first subelement. This is either a string or + the value None, if there was no text. + """ + def __get__(self): + _assertValidNode(self) + return _collectText(self._c_node.children) + + def __set__(self, value): + _assertValidNode(self) + if isinstance(value, QName): + value = _resolveQNameText(self, value).decode('utf8') + _setNodeText(self._c_node, value) + + # using 'del el.text' is the wrong thing to do + #def __del__(self): + # _setNodeText(self._c_node, None) + + property tail: + """Text after this element's end tag, but before the next sibling + element's start tag. This is either a string or the value None, if + there was no text. + """ + def __get__(self): + _assertValidNode(self) + return _collectText(self._c_node.next) + + def __set__(self, value): + _assertValidNode(self) + _setTailText(self._c_node, value) + + # using 'del el.tail' is the wrong thing to do + #def __del__(self): + # _setTailText(self._c_node, None) + + # not in ElementTree, read-only + @property + def prefix(self): + """Namespace prefix or None. + """ + if self._c_node.ns is not NULL: + if self._c_node.ns.prefix is not NULL: + return funicode(self._c_node.ns.prefix) + return None + + # not in ElementTree, read-only + property sourceline: + """Original line number as found by the parser or None if unknown. + """ + def __get__(self): + cdef long line + _assertValidNode(self) + line = tree.xmlGetLineNo(self._c_node) + return line if line > 0 else None + + def __set__(self, line): + _assertValidNode(self) + if line <= 0: + self._c_node.line = 0 + else: + self._c_node.line = line + + # not in ElementTree, read-only + @property + def nsmap(self): + """Namespace prefix->URI mapping known in the context of this + Element. This includes all namespace declarations of the + parents. + + Note that changing the returned dict has no effect on the Element. + """ + _assertValidNode(self) + return _build_nsmap(self._c_node) + + # not in ElementTree, read-only + property base: + """The base URI of the Element (xml:base or HTML base URL). + None if the base URI is unknown. + + Note that the value depends on the URL of the document that + holds the Element if there is no xml:base attribute on the + Element or its ancestors. + + Setting this property will set an xml:base attribute on the + Element, regardless of the document type (XML or HTML). + """ + def __get__(self): + _assertValidNode(self) + c_base = tree.xmlNodeGetBase(self._doc._c_doc, self._c_node) + if c_base is NULL: + if self._doc._c_doc.URL is NULL: + return None + return _decodeFilename(self._doc._c_doc.URL) + try: + base = _decodeFilename(c_base) + finally: + tree.xmlFree(c_base) + return base + + def __set__(self, url): + _assertValidNode(self) + if url is None: + c_base = NULL + else: + url = _encodeFilename(url) + c_base = _xcstr(url) + tree.xmlNodeSetBase(self._c_node, c_base) + + # ACCESSORS + def __repr__(self): + "__repr__(self)" + return "" % (self.tag, id(self)) + + def __getitem__(self, x): + """Returns the subelement at the given position or the requested + slice. + """ + cdef xmlNode* c_node = NULL + cdef Py_ssize_t step = 0, slicelength = 0 + cdef Py_ssize_t c, i + cdef _node_to_node_function next_element + cdef list result + _assertValidNode(self) + if isinstance(x, slice): + # slicing + if _isFullSlice(x): + return _collectChildren(self) + _findChildSlice(x, self._c_node, &c_node, &step, &slicelength) + if c_node is NULL: + return [] + if step > 0: + next_element = _nextElement + else: + step = -step if step != python.PY_SSIZE_T_MIN else python.PY_SSIZE_T_MAX + next_element = _previousElement + result = [] + c = 0 + while c_node is not NULL and c < slicelength: + result.append(_elementFactory(self._doc, c_node)) + c += 1 + for i in range(step): + c_node = next_element(c_node) + if c_node is NULL: + break + return result + else: + # indexing + c_node = _findChild(self._c_node, x) + if c_node is NULL: + raise IndexError, "list index out of range" + return _elementFactory(self._doc, c_node) + + def __len__(self): + """__len__(self) + + Returns the number of subelements. + """ + _assertValidNode(self) + return _countElements(self._c_node.children) + + def __bool__(self): + """__bool__(self)""" + import warnings + warnings.warn( + "Truth-testing of elements was a source of confusion and will always " + "return True in future versions. " + "Use specific 'len(elem)' or 'elem is not None' test instead.", + FutureWarning + ) + # emulate old behaviour + _assertValidNode(self) + return _hasChild(self._c_node) + + def __contains__(self, element): + "__contains__(self, element)" + cdef xmlNode* c_node + _assertValidNode(self) + if not isinstance(element, _Element): + return 0 + c_node = (<_Element>element)._c_node + return c_node is not NULL and c_node.parent is self._c_node + + def __iter__(self): + "__iter__(self)" + return ElementChildIterator(self) + + def __reversed__(self): + "__reversed__(self)" + return ElementChildIterator(self, reversed=True) + + def index(self, child: _Element, start: int = None, stop: int = None): + """index(self, child, start=None, stop=None) + + Find the position of the child within the parent. + + This method is not part of the original ElementTree API. + """ + cdef Py_ssize_t k, l + cdef Py_ssize_t c_start, c_stop + cdef xmlNode* c_child + cdef xmlNode* c_start_node + _assertValidNode(self) + _assertValidNode(child) + c_child = child._c_node + if c_child.parent is not self._c_node: + raise ValueError, "Element is not a child of this node." + + # handle the unbounded search straight away (normal case) + if stop is None and (start is None or start == 0): + k = 0 + c_child = c_child.prev + while c_child is not NULL: + if _isElement(c_child): + k += 1 + c_child = c_child.prev + return k + + # check indices + if start is None: + c_start = 0 + else: + c_start = start + if stop is None: + c_stop = 0 + else: + c_stop = stop + if c_stop == 0 or \ + c_start >= c_stop and (c_stop > 0 or c_start < 0): + raise ValueError, "list.index(x): x not in slice" + + # for negative slice indices, check slice before searching index + if c_start < 0 or c_stop < 0: + # start from right, at most up to leftmost(c_start, c_stop) + if c_start < c_stop: + k = -c_start + else: + k = -c_stop + c_start_node = self._c_node.last + l = 1 + while c_start_node != c_child and l < k: + if _isElement(c_start_node): + l += 1 + c_start_node = c_start_node.prev + if c_start_node == c_child: + # found! before slice end? + if c_stop < 0 and l <= -c_stop: + raise ValueError, "list.index(x): x not in slice" + elif c_start < 0: + raise ValueError, "list.index(x): x not in slice" + + # now determine the index backwards from child + c_child = c_child.prev + k = 0 + if c_stop > 0: + # we can optimize: stop after c_stop elements if not found + while c_child != NULL and k < c_stop: + if _isElement(c_child): + k += 1 + c_child = c_child.prev + if k < c_stop: + return k + else: + # traverse all + while c_child != NULL: + if _isElement(c_child): + k = k + 1 + c_child = c_child.prev + if c_start > 0: + if k >= c_start: + return k + else: + return k + if c_start != 0 or c_stop != 0: + raise ValueError, "list.index(x): x not in slice" + else: + raise ValueError, "list.index(x): x not in list" + + def get(self, key, default=None): + """get(self, key, default=None) + + Gets an element attribute. + """ + _assertValidNode(self) + return _getAttributeValue(self, key, default) + + def keys(self): + """keys(self) + + Gets a list of attribute names. The names are returned in an + arbitrary order (just like for an ordinary Python dictionary). + """ + _assertValidNode(self) + return _collectAttributes(self._c_node, 1) + + def values(self): + """values(self) + + Gets element attribute values as a sequence of strings. The + attributes are returned in an arbitrary order. + """ + _assertValidNode(self) + return _collectAttributes(self._c_node, 2) + + def items(self): + """items(self) + + Gets element attributes, as a sequence. The attributes are returned in + an arbitrary order. + """ + _assertValidNode(self) + return _collectAttributes(self._c_node, 3) + + def getchildren(self): + """getchildren(self) + + Returns all direct children. The elements are returned in document + order. + + :deprecated: Note that this method has been deprecated as of + ElementTree 1.3 and lxml 2.0. New code should use + ``list(element)`` or simply iterate over elements. + """ + _assertValidNode(self) + return _collectChildren(self) + + def getparent(self): + """getparent(self) + + Returns the parent of this element or None for the root element. + """ + cdef xmlNode* c_node + #_assertValidNode(self) # not needed + c_node = _parentElement(self._c_node) + if c_node is NULL: + return None + return _elementFactory(self._doc, c_node) + + def getnext(self): + """getnext(self) + + Returns the following sibling of this element or None. + """ + cdef xmlNode* c_node + #_assertValidNode(self) # not needed + c_node = _nextElement(self._c_node) + if c_node is NULL: + return None + return _elementFactory(self._doc, c_node) + + def getprevious(self): + """getprevious(self) + + Returns the preceding sibling of this element or None. + """ + cdef xmlNode* c_node + #_assertValidNode(self) # not needed + c_node = _previousElement(self._c_node) + if c_node is NULL: + return None + return _elementFactory(self._doc, c_node) + + def itersiblings(self, tag=None, *tags, preceding=False): + """itersiblings(self, tag=None, *tags, preceding=False) + + Iterate over the following or preceding siblings of this element. + + The direction is determined by the 'preceding' keyword which + defaults to False, i.e. forward iteration over the following + siblings. When True, the iterator yields the preceding + siblings in reverse document order, i.e. starting right before + the current element and going backwards. + + Can be restricted to find only elements with specific tags, + see `iter`. + """ + if preceding: + if self._c_node and not self._c_node.prev: + return ITER_EMPTY + elif self._c_node and not self._c_node.next: + return ITER_EMPTY + if tag is not None: + tags += (tag,) + return SiblingsIterator(self, tags, preceding=preceding) + + def iterancestors(self, tag=None, *tags): + """iterancestors(self, tag=None, *tags) + + Iterate over the ancestors of this element (from parent to parent). + + Can be restricted to find only elements with specific tags, + see `iter`. + """ + if self._c_node and not self._c_node.parent: + return ITER_EMPTY + if tag is not None: + tags += (tag,) + return AncestorsIterator(self, tags) + + def iterdescendants(self, tag=None, *tags): + """iterdescendants(self, tag=None, *tags) + + Iterate over the descendants of this element in document order. + + As opposed to ``el.iter()``, this iterator does not yield the element + itself. The returned elements can be restricted to find only elements + with specific tags, see `iter`. + """ + if self._c_node and not self._c_node.children: + return ITER_EMPTY + if tag is not None: + tags += (tag,) + return ElementDepthFirstIterator(self, tags, inclusive=False) + + def iterchildren(self, tag=None, *tags, reversed=False): + """iterchildren(self, tag=None, *tags, reversed=False) + + Iterate over the children of this element. + + As opposed to using normal iteration on this element, the returned + elements can be reversed with the 'reversed' keyword and restricted + to find only elements with specific tags, see `iter`. + """ + if self._c_node and not self._c_node.children: + return ITER_EMPTY + if tag is not None: + tags += (tag,) + return ElementChildIterator(self, tags, reversed=reversed) + + def getroottree(self): + """getroottree(self) + + Return an ElementTree for the root node of the document that + contains this element. + + This is the same as following element.getparent() up the tree until it + returns None (for the root element) and then build an ElementTree for + the last parent that was returned.""" + _assertValidDoc(self._doc) + return _elementTreeFactory(self._doc, None) + + def getiterator(self, tag=None, *tags): + """getiterator(self, tag=None, *tags) + + Returns a sequence or iterator of all elements in the subtree in + document order (depth first pre-order), starting with this + element. + + Can be restricted to find only elements with specific tags, + see `iter`. + + :deprecated: Note that this method is deprecated as of + ElementTree 1.3 and lxml 2.0. It returns an iterator in + lxml, which diverges from the original ElementTree + behaviour. If you want an efficient iterator, use the + ``element.iter()`` method instead. You should only use this + method in new code if you require backwards compatibility + with older versions of lxml or ElementTree. + """ + if tag is not None: + tags += (tag,) + return ElementDepthFirstIterator(self, tags) + + def iter(self, tag=None, *tags): + """iter(self, tag=None, *tags) + + Iterate over all elements in the subtree in document order (depth + first pre-order), starting with this element. + + Can be restricted to find only elements with specific tags: + pass ``"{ns}localname"`` as tag. Either or both of ``ns`` and + ``localname`` can be ``*`` for a wildcard; ``ns`` can be empty + for no namespace. ``"localname"`` is equivalent to ``"{}localname"`` + (i.e. no namespace) but ``"*"`` is ``"{*}*"`` (any or no namespace), + not ``"{}*"``. + + You can also pass the Element, Comment, ProcessingInstruction and + Entity factory functions to look only for the specific element type. + + Passing multiple tags (or a sequence of tags) instead of a single tag + will let the iterator return all elements matching any of these tags, + in document order. + """ + if tag is not None: + tags += (tag,) + return ElementDepthFirstIterator(self, tags) + + def itertext(self, tag=None, *tags, with_tail=True): + """itertext(self, tag=None, *tags, with_tail=True) + + Iterates over the text content of a subtree. + + You can pass tag names to restrict text content to specific elements, + see `iter`. + + You can set the ``with_tail`` keyword argument to ``False`` to skip + over tail text. + """ + if tag is not None: + tags += (tag,) + return ElementTextIterator(self, tags, with_tail=with_tail) + + def makeelement(self, _tag, attrib=None, nsmap=None, **_extra): + """makeelement(self, _tag, attrib=None, nsmap=None, **_extra) + + Creates a new element associated with the same document. + """ + _assertValidDoc(self._doc) + return _makeElement(_tag, NULL, self._doc, None, None, None, + attrib, nsmap, _extra) + + def find(self, path, namespaces=None): + """find(self, path, namespaces=None) + + Finds the first matching subelement, by tag name or path. + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + if isinstance(path, QName): + path = (path).text + return _elementpath.find(self, path, namespaces, with_prefixes=not _isHtmlDocument(self)) + + def findtext(self, path, default=None, namespaces=None): + """findtext(self, path, default=None, namespaces=None) + + Finds text for the first matching subelement, by tag name or path. + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + if isinstance(path, QName): + path = (path).text + return _elementpath.findtext(self, path, default, namespaces, with_prefixes=not _isHtmlDocument(self)) + + def findall(self, path, namespaces=None): + """findall(self, path, namespaces=None) + + Finds all matching subelements, by tag name or path. + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + if isinstance(path, QName): + path = (path).text + return _elementpath.findall(self, path, namespaces, with_prefixes=not _isHtmlDocument(self)) + + def iterfind(self, path, namespaces=None): + """iterfind(self, path, namespaces=None) + + Iterates over all matching subelements, by tag name or path. + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + if isinstance(path, QName): + path = (path).text + return _elementpath.iterfind(self, path, namespaces, with_prefixes=not _isHtmlDocument(self)) + + def xpath(self, _path, *, namespaces=None, extensions=None, + smart_strings=True, **_variables): + """xpath(self, _path, namespaces=None, extensions=None, smart_strings=True, **_variables) + + Evaluate an xpath expression using the element as context node. + """ + evaluator = XPathElementEvaluator(self, namespaces=namespaces, + extensions=extensions, + smart_strings=smart_strings) + return evaluator(_path, **_variables) + + def cssselect(self, expr, *, translator='xml'): + """ + Run the CSS expression on this element and its children, + returning a list of the results. + + Equivalent to lxml.cssselect.CSSSelect(expr)(self) -- note + that pre-compiling the expression can provide a substantial + speedup. + """ + # Do the import here to make the dependency optional. + from lxml.cssselect import CSSSelector + return CSSSelector(expr, translator=translator)(self) + + +@cython.linetrace(False) +cdef _Element _elementFactory(_Document doc, xmlNode* c_node): + cdef _Element result + result = getProxy(c_node) + if result is not None: + return result + if c_node is NULL: + return None + + element_class = LOOKUP_ELEMENT_CLASS( + ELEMENT_CLASS_LOOKUP_STATE, doc, c_node) + if type(element_class) is not type: + if not isinstance(element_class, type): + raise TypeError(f"Element class is not a type, got {type(element_class)}") + if hasProxy(c_node): + # prevent re-entry race condition - we just called into Python + return getProxy(c_node) + result = element_class.__new__(element_class) + if hasProxy(c_node): + # prevent re-entry race condition - we just called into Python + result._c_node = NULL + return getProxy(c_node) + + _registerProxy(result, doc, c_node) + if element_class is not _Element: + result._init() + return result + + +@cython.internal +cdef class __ContentOnlyElement(_Element): + cdef int _raiseImmutable(self) except -1: + raise TypeError, "this element does not have children or attributes" + + def set(self, key, value): + "set(self, key, value)" + self._raiseImmutable() + + def append(self, value): + "append(self, value)" + self._raiseImmutable() + + def insert(self, index, value): + "insert(self, index, value)" + self._raiseImmutable() + + def __setitem__(self, index, value): + "__setitem__(self, index, value)" + self._raiseImmutable() + + @property + def attrib(self): + return IMMUTABLE_EMPTY_MAPPING + + property text: + def __get__(self): + _assertValidNode(self) + return funicodeOrEmpty(self._c_node.content) + + def __set__(self, value): + cdef tree.xmlDict* c_dict + _assertValidNode(self) + if value is None: + c_text = NULL + else: + value = _utf8(value) + c_text = _xcstr(value) + tree.xmlNodeSetContent(self._c_node, c_text) + + # ACCESSORS + def __getitem__(self, x): + "__getitem__(self, x)" + if isinstance(x, slice): + return [] + else: + raise IndexError, "list index out of range" + + def __len__(self): + "__len__(self)" + return 0 + + def get(self, key, default=None): + "get(self, key, default=None)" + return None + + def keys(self): + "keys(self)" + return [] + + def items(self): + "items(self)" + return [] + + def values(self): + "values(self)" + return [] + +cdef class _Comment(__ContentOnlyElement): + @property + def tag(self): + return Comment + + def __repr__(self): + return "" % self.text + +cdef class _ProcessingInstruction(__ContentOnlyElement): + @property + def tag(self): + return ProcessingInstruction + + property target: + # not in ElementTree + def __get__(self): + _assertValidNode(self) + return funicode(self._c_node.name) + + def __set__(self, value): + _assertValidNode(self) + value = _utf8(value) + c_text = _xcstr(value) + tree.xmlNodeSetName(self._c_node, c_text) + + def __repr__(self): + text = self.text + if text: + return "" % (self.target, text) + else: + return "" % self.target + + def get(self, key, default=None): + """get(self, key, default=None) + + Try to parse pseudo-attributes from the text content of the + processing instruction, search for one with the given key as + name and return its associated value. + + Note that this is only a convenience method for the most + common case that all text content is structured in + attribute-like name-value pairs with properly quoted values. + It is not guaranteed to work for all possible text content. + """ + return self.attrib.get(key, default) + + @property + def attrib(self): + """Returns a dict containing all pseudo-attributes that can be + parsed from the text content of this processing instruction. + Note that modifying the dict currently has no effect on the + XML node, although this is not guaranteed to stay this way. + """ + return { attr : (value1 or value2) + for attr, value1, value2 in _FIND_PI_ATTRIBUTES(' ' + self.text) } + +cdef object _FIND_PI_ATTRIBUTES = re.compile(r'\s+(\w+)\s*=\s*(?:\'([^\']*)\'|"([^"]*)")', re.U).findall + +cdef class _Entity(__ContentOnlyElement): + @property + def tag(self): + return Entity + + property name: + # not in ElementTree + def __get__(self): + _assertValidNode(self) + return funicode(self._c_node.name) + + def __set__(self, value): + _assertValidNode(self) + value_utf = _utf8(value) + if b'&' in value_utf or b';' in value_utf: + raise ValueError, f"Invalid entity name '{value}'" + tree.xmlNodeSetName(self._c_node, _xcstr(value_utf)) + + @property + def text(self): + # FIXME: should this be None or '&[VALUE];' or the resolved + # entity value ? + _assertValidNode(self) + return f'&{funicode(self._c_node.name)};' + + def __repr__(self): + return "&%s;" % self.name + + +cdef class QName: + """QName(text_or_uri_or_element, tag=None) + + QName wrapper for qualified XML names. + + Pass a tag name by itself or a namespace URI and a tag name to + create a qualified name. Alternatively, pass an Element to + extract its tag name. ``None`` as first argument is ignored in + order to allow for generic 2-argument usage. + + The ``text`` property holds the qualified name in + ``{namespace}tagname`` notation. The ``namespace`` and + ``localname`` properties hold the respective parts of the tag + name. + + You can pass QName objects wherever a tag name is expected. Also, + setting Element text from a QName will resolve the namespace prefix + on assignment and set a qualified text value. This is helpful in XML + languages like SOAP or XML-Schema that use prefixed tag names in + their text content. + """ + cdef readonly unicode text + cdef readonly unicode localname + cdef readonly unicode namespace + def __init__(self, text_or_uri_or_element, tag=None): + if text_or_uri_or_element is None: + # Allow None as no namespace. + text_or_uri_or_element, tag = tag, None + if not _isString(text_or_uri_or_element): + if isinstance(text_or_uri_or_element, _Element): + text_or_uri_or_element = (<_Element>text_or_uri_or_element).tag + if not _isString(text_or_uri_or_element): + raise ValueError, f"Invalid input tag of type {type(text_or_uri_or_element)!r}" + elif isinstance(text_or_uri_or_element, QName): + text_or_uri_or_element = (text_or_uri_or_element).text + elif text_or_uri_or_element is not None: + text_or_uri_or_element = unicode(text_or_uri_or_element) + else: + raise ValueError, f"Invalid input tag of type {type(text_or_uri_or_element)!r}" + + ns_utf, tag_utf = _getNsTag(text_or_uri_or_element) + if tag is not None: + # either ('ns', 'tag') or ('{ns}oldtag', 'newtag') + if ns_utf is None: + ns_utf = tag_utf # case 1: namespace ended up as tag name + tag_utf = _utf8(tag) + _tagValidOrRaise(tag_utf) + self.localname = (tag_utf).decode('utf8') + if ns_utf is None: + self.namespace = None + self.text = self.localname + else: + self.namespace = (ns_utf).decode('utf8') + self.text = "{%s}%s" % (self.namespace, self.localname) + def __str__(self): + return self.text + def __hash__(self): + return hash(self.text) + def __richcmp__(self, other, int op): + try: + if type(other) is QName: + other = (other).text + elif not isinstance(other, unicode): + other = unicode(other) + except (ValueError, UnicodeDecodeError): + return NotImplemented + return python.PyObject_RichCompare(self.text, other, op) + + +cdef public class _ElementTree [ type LxmlElementTreeType, + object LxmlElementTree ]: + cdef _Document _doc + cdef _Element _context_node + + # Note that _doc is only used to store the original document if we do not + # have a _context_node. All methods should prefer self._context_node._doc + # to honour tree restructuring. _doc can happily be None! + + @cython.final + cdef int _assertHasRoot(self) except -1: + """We have to take care here: the document may not have a root node! + This can happen if ElementTree() is called without any argument and + the caller 'forgets' to call parse() afterwards, so this is a bug in + the caller program. + """ + assert self._context_node is not None, \ + "ElementTree not initialized, missing root" + return 0 + + def parse(self, source, _BaseParser parser=None, *, base_url=None): + """parse(self, source, parser=None, base_url=None) + + Updates self with the content of source and returns its root. + """ + cdef _Document doc = None + try: + doc = _parseDocument(source, parser, base_url) + except _TargetParserResult as result_container: + # raises a TypeError if we don't get an _Element + self._context_node = result_container.result + else: + self._context_node = doc.getroot() + self._doc = None if self._context_node is not None else doc + return self._context_node + + def _setroot(self, _Element root not None): + """_setroot(self, root) + + Relocate the ElementTree to a new root node. + """ + _assertValidNode(root) + if root._c_node.type != tree.XML_ELEMENT_NODE: + raise TypeError, "Only elements can be the root of an ElementTree" + self._context_node = root + self._doc = None + + def getroot(self): + """getroot(self) + + Gets the root element for this tree. + """ + return self._context_node + + def __copy__(self): + return _elementTreeFactory(self._doc, self._context_node) + + def __deepcopy__(self, memo): + cdef _Element root + cdef _Document doc + cdef xmlDoc* c_doc + if self._context_node is not None: + root = self._context_node.__copy__() + assert root is not None + _assertValidNode(root) + _copyNonElementSiblings(self._context_node._c_node, root._c_node) + return _elementTreeFactory(None, root) + elif self._doc is not None: + _assertValidDoc(self._doc) + c_doc = tree.xmlCopyDoc(self._doc._c_doc, 1) + if c_doc is NULL: + raise MemoryError() + doc = _documentFactory(c_doc, self._doc._parser) + return _elementTreeFactory(doc, None) + else: + # so what ... + return self + + # not in ElementTree + @property + def docinfo(self) -> DocInfo: + """Information about the document provided by parser and DTD.""" + self._assertHasRoot() + return DocInfo(self._context_node._doc) + + # not in ElementTree, read-only + @property + def parser(self): + """The parser that was used to parse the document in this ElementTree. + """ + if self._context_node is not None and \ + self._context_node._doc is not None: + return self._context_node._doc._parser + if self._doc is not None: + return self._doc._parser + return None + + def write(self, file, *, encoding=None, method="xml", + bint pretty_print=False, xml_declaration=None, bint with_tail=True, + standalone=None, doctype=None, compression=0, + bint exclusive=False, inclusive_ns_prefixes=None, + bint with_comments=True, bint strip_text=False, + docstring=None): + """write(self, file, encoding=None, method="xml", + pretty_print=False, xml_declaration=None, with_tail=True, + standalone=None, doctype=None, compression=0, + exclusive=False, inclusive_ns_prefixes=None, + with_comments=True, strip_text=False) + + Write the tree to a filename, file or file-like object. + + Defaults to ASCII encoding and writing a declaration as needed. + + The keyword argument 'method' selects the output method: + 'xml', 'html', 'text', 'c14n' or 'c14n2'. Default is 'xml'. + + With ``method="c14n"`` (C14N version 1), the options ``exclusive``, + ``with_comments`` and ``inclusive_ns_prefixes`` request exclusive + C14N, include comments, and list the inclusive prefixes respectively. + + With ``method="c14n2"`` (C14N version 2), the ``with_comments`` and + ``strip_text`` options control the output of comments and text space + according to C14N 2.0. + + Passing a boolean value to the ``standalone`` option will + output an XML declaration with the corresponding + ``standalone`` flag. + + The ``doctype`` option allows passing in a plain string that will + be serialised before the XML tree. Note that passing in non + well-formed content here will make the XML output non well-formed. + Also, an existing doctype in the document tree will not be removed + when serialising an ElementTree instance. + + The ``compression`` option enables GZip compression level 1-9. + + The ``inclusive_ns_prefixes`` should be a list of namespace strings + (i.e. ['xs', 'xsi']) that will be promoted to the top-level element + during exclusive C14N serialisation. This parameter is ignored if + exclusive mode=False. + + If exclusive=True and no list is provided, a namespace will only be + rendered if it is used by the immediate parent or one of its attributes + and its prefix and values have not already been rendered by an ancestor + of the namespace node's parent element. + """ + cdef bint write_declaration + cdef int is_standalone + + self._assertHasRoot() + _assertValidNode(self._context_node) + if compression is None or compression < 0: + compression = 0 + + # C14N serialisation + if method in ('c14n', 'c14n2'): + if encoding is not None: + raise ValueError("Cannot specify encoding with C14N") + if xml_declaration: + raise ValueError("Cannot enable XML declaration in C14N") + + if method == 'c14n': + _tofilelikeC14N(file, self._context_node, exclusive, with_comments, + compression, inclusive_ns_prefixes) + else: # c14n2 + with _open_utf8_file(file, compression=compression) as f: + target = C14NWriterTarget( + f.write, with_comments=with_comments, strip_text=strip_text) + _tree_to_target(self, target) + return + + if not with_comments: + raise ValueError("Can only discard comments in C14N serialisation") + # suppress decl. in default case (purely for ElementTree compatibility) + if xml_declaration is not None: + write_declaration = xml_declaration + if encoding is None: + encoding = 'ASCII' + else: + encoding = encoding.upper() + elif encoding is None: + encoding = 'ASCII' + write_declaration = 0 + else: + encoding = encoding.upper() + write_declaration = encoding not in ( + 'US-ASCII', 'ASCII', 'UTF8', 'UTF-8') + if standalone is None: + is_standalone = -1 + elif standalone: + write_declaration = 1 + is_standalone = 1 + else: + write_declaration = 1 + is_standalone = 0 + + if docstring is not None and doctype is None: + import warnings + warnings.warn( + "The 'docstring' option is deprecated. Use 'doctype' instead.", + DeprecationWarning) + doctype = docstring + + _tofilelike(file, self._context_node, encoding, doctype, method, + write_declaration, 1, pretty_print, with_tail, + is_standalone, compression) + + def getpath(self, _Element element not None): + """getpath(self, element) + + Returns a structural, absolute XPath expression to find the element. + + For namespaced elements, the expression uses prefixes from the + document, which therefore need to be provided in order to make any + use of the expression in XPath. + + Also see the method getelementpath(self, element), which returns a + self-contained ElementPath expression. + """ + cdef _Document doc + cdef _Element root + cdef xmlDoc* c_doc + _assertValidNode(element) + if self._context_node is not None: + root = self._context_node + doc = root._doc + elif self._doc is not None: + doc = self._doc + root = doc.getroot() + else: + raise ValueError, "Element is not in this tree." + _assertValidDoc(doc) + _assertValidNode(root) + if element._doc is not doc: + raise ValueError, "Element is not in this tree." + + c_doc = _fakeRootDoc(doc._c_doc, root._c_node) + c_path = tree.xmlGetNodePath(element._c_node) + _destroyFakeDoc(doc._c_doc, c_doc) + if c_path is NULL: + raise MemoryError() + path = funicode(c_path) + tree.xmlFree(c_path) + return path + + def getelementpath(self, _Element element not None): + """getelementpath(self, element) + + Returns a structural, absolute ElementPath expression to find the + element. This path can be used in the .find() method to look up + the element, provided that the elements along the path and their + list of immediate children were not modified in between. + + ElementPath has the advantage over an XPath expression (as returned + by the .getpath() method) that it does not require additional prefix + declarations. It is always self-contained. + """ + cdef _Element root + cdef Py_ssize_t count + _assertValidNode(element) + if element._c_node.type != tree.XML_ELEMENT_NODE: + raise ValueError, "input is not an Element" + if self._context_node is not None: + root = self._context_node + elif self._doc is not None: + root = self._doc.getroot() + else: + raise ValueError, "Element is not in this tree" + _assertValidNode(root) + if element._doc is not root._doc: + raise ValueError, "Element is not in this tree" + + path = [] + c_element = element._c_node + while c_element is not root._c_node: + c_name = c_element.name + c_href = _getNs(c_element) + tag = _namespacedNameFromNsName(c_href, c_name) + if c_href is NULL: + c_href = b'' # no namespace (NULL is wildcard) + # use tag[N] if there are preceding siblings with the same tag + count = 0 + c_node = c_element.prev + while c_node is not NULL: + if c_node.type == tree.XML_ELEMENT_NODE: + if _tagMatches(c_node, c_href, c_name): + count += 1 + c_node = c_node.prev + if count: + tag = f'{tag}[{count+1}]' + else: + # use tag[1] if there are following siblings with the same tag + c_node = c_element.next + while c_node is not NULL: + if c_node.type == tree.XML_ELEMENT_NODE: + if _tagMatches(c_node, c_href, c_name): + tag += '[1]' + break + c_node = c_node.next + + path.append(tag) + c_element = c_element.parent + if c_element is NULL or c_element.type != tree.XML_ELEMENT_NODE: + raise ValueError, "Element is not in this tree." + if not path: + return '.' + path.reverse() + return '/'.join(path) + + def getiterator(self, tag=None, *tags): + """getiterator(self, *tags, tag=None) + + Returns a sequence or iterator of all elements in document order + (depth first pre-order), starting with the root element. + + Can be restricted to find only elements with specific tags, + see `_Element.iter`. + + :deprecated: Note that this method is deprecated as of + ElementTree 1.3 and lxml 2.0. It returns an iterator in + lxml, which diverges from the original ElementTree + behaviour. If you want an efficient iterator, use the + ``tree.iter()`` method instead. You should only use this + method in new code if you require backwards compatibility + with older versions of lxml or ElementTree. + """ + root = self.getroot() + if root is None: + return ITER_EMPTY + if tag is not None: + tags += (tag,) + return root.getiterator(*tags) + + def iter(self, tag=None, *tags): + """iter(self, tag=None, *tags) + + Creates an iterator for the root element. The iterator loops over + all elements in this tree, in document order. Note that siblings + of the root element (comments or processing instructions) are not + returned by the iterator. + + Can be restricted to find only elements with specific tags, + see `_Element.iter`. + """ + root = self.getroot() + if root is None: + return ITER_EMPTY + if tag is not None: + tags += (tag,) + return root.iter(*tags) + + def find(self, path, namespaces=None): + """find(self, path, namespaces=None) + + Finds the first toplevel element with given tag. Same as + ``tree.getroot().find(path)``. + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + self._assertHasRoot() + root = self.getroot() + if _isString(path): + if path[:1] == "/": + path = "." + path + from warnings import warn + warn( + "This search incorrectly ignores the root element, and will be " + "fixed in a future version. If you rely on the current " + f"behaviour, change it to {path!r}", + FutureWarning, stacklevel=1 + ) + return root.find(path, namespaces) + + def findtext(self, path, default=None, namespaces=None): + """findtext(self, path, default=None, namespaces=None) + + Finds the text for the first element matching the ElementPath + expression. Same as getroot().findtext(path) + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + self._assertHasRoot() + root = self.getroot() + if _isString(path): + if path[:1] == "/": + path = "." + path + from warnings import warn + warn( + "This search incorrectly ignores the root element, and will be " + "fixed in a future version. If you rely on the current " + f"behaviour, change it to {path!r}", + FutureWarning, stacklevel=1 + ) + return root.findtext(path, default, namespaces) + + def findall(self, path, namespaces=None): + """findall(self, path, namespaces=None) + + Finds all elements matching the ElementPath expression. Same as + getroot().findall(path). + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + self._assertHasRoot() + root = self.getroot() + if _isString(path): + if path[:1] == "/": + path = "." + path + from warnings import warn + warn( + "This search incorrectly ignores the root element, and will be " + "fixed in a future version. If you rely on the current " + f"behaviour, change it to {path!r}", + FutureWarning, stacklevel=1 + ) + return root.findall(path, namespaces) + + def iterfind(self, path, namespaces=None): + """iterfind(self, path, namespaces=None) + + Iterates over all elements matching the ElementPath expression. + Same as getroot().iterfind(path). + + The optional ``namespaces`` argument accepts a + prefix-to-namespace mapping that allows the usage of XPath + prefixes in the path expression. + """ + self._assertHasRoot() + root = self.getroot() + if _isString(path): + if path[:1] == "/": + path = "." + path + from warnings import warn + warn( + "This search incorrectly ignores the root element, and will be " + "fixed in a future version. If you rely on the current " + f"behaviour, change it to {path!r}", + FutureWarning, stacklevel=1 + ) + return root.iterfind(path, namespaces) + + def xpath(self, _path, *, namespaces=None, extensions=None, + smart_strings=True, **_variables): + """xpath(self, _path, namespaces=None, extensions=None, smart_strings=True, **_variables) + + XPath evaluate in context of document. + + ``namespaces`` is an optional dictionary with prefix to namespace URI + mappings, used by XPath. ``extensions`` defines additional extension + functions. + + Returns a list (nodeset), or bool, float or string. + + In case of a list result, return Element for element nodes, + string for text and attribute values. + + Note: if you are going to apply multiple XPath expressions + against the same document, it is more efficient to use + XPathEvaluator directly. + """ + self._assertHasRoot() + evaluator = XPathDocumentEvaluator(self, namespaces=namespaces, + extensions=extensions, + smart_strings=smart_strings) + return evaluator(_path, **_variables) + + def xslt(self, _xslt, extensions=None, access_control=None, **_kw): + """xslt(self, _xslt, extensions=None, access_control=None, **_kw) + + Transform this document using other document. + + xslt is a tree that should be XSLT + keyword parameters are XSLT transformation parameters. + + Returns the transformed tree. + + Note: if you are going to apply the same XSLT stylesheet against + multiple documents, it is more efficient to use the XSLT + class directly. + """ + self._assertHasRoot() + style = XSLT(_xslt, extensions=extensions, + access_control=access_control) + return style(self, **_kw) + + def relaxng(self, relaxng): + """relaxng(self, relaxng) + + Validate this document using other document. + + The relaxng argument is a tree that should contain a Relax NG schema. + + Returns True or False, depending on whether validation + succeeded. + + Note: if you are going to apply the same Relax NG schema against + multiple documents, it is more efficient to use the RelaxNG + class directly. + """ + self._assertHasRoot() + schema = RelaxNG(relaxng) + return schema.validate(self) + + def xmlschema(self, xmlschema): + """xmlschema(self, xmlschema) + + Validate this document using other document. + + The xmlschema argument is a tree that should contain an XML Schema. + + Returns True or False, depending on whether validation + succeeded. + + Note: If you are going to apply the same XML Schema against + multiple documents, it is more efficient to use the XMLSchema + class directly. + """ + self._assertHasRoot() + schema = XMLSchema(xmlschema) + return schema.validate(self) + + def xinclude(self): + """xinclude(self) + + Process the XInclude nodes in this document and include the + referenced XML fragments. + + There is support for loading files through the file system, HTTP and + FTP. + + Note that XInclude does not support custom resolvers in Python space + due to restrictions of libxml2 <= 2.6.29. + """ + self._assertHasRoot() + XInclude()(self._context_node) + + def write_c14n(self, file, *, bint exclusive=False, bint with_comments=True, + compression=0, inclusive_ns_prefixes=None): + """write_c14n(self, file, exclusive=False, with_comments=True, + compression=0, inclusive_ns_prefixes=None) + + C14N write of document. Always writes UTF-8. + + The ``compression`` option enables GZip compression level 1-9. + + The ``inclusive_ns_prefixes`` should be a list of namespace strings + (i.e. ['xs', 'xsi']) that will be promoted to the top-level element + during exclusive C14N serialisation. This parameter is ignored if + exclusive mode=False. + + If exclusive=True and no list is provided, a namespace will only be + rendered if it is used by the immediate parent or one of its attributes + and its prefix and values have not already been rendered by an ancestor + of the namespace node's parent element. + + NOTE: This method is deprecated as of lxml 4.4 and will be removed in a + future release. Use ``.write(f, method="c14n")`` instead. + """ + self._assertHasRoot() + _assertValidNode(self._context_node) + if compression is None or compression < 0: + compression = 0 + + _tofilelikeC14N(file, self._context_node, exclusive, with_comments, + compression, inclusive_ns_prefixes) + +cdef _ElementTree _elementTreeFactory(_Document doc, _Element context_node): + return _newElementTree(doc, context_node, _ElementTree) + +cdef _ElementTree _newElementTree(_Document doc, _Element context_node, + object baseclass): + cdef _ElementTree result + result = baseclass() + if context_node is None and doc is not None: + context_node = doc.getroot() + if context_node is None: + _assertValidDoc(doc) + result._doc = doc + else: + _assertValidNode(context_node) + result._context_node = context_node + return result + + +@cython.final +@cython.freelist(16) +cdef class _Attrib: + """A dict-like proxy for the ``Element.attrib`` property. + """ + cdef _Element _element + def __cinit__(self, _Element element not None): + _assertValidNode(element) + self._element = element + + # MANIPULATORS + def __setitem__(self, key, value): + _assertValidNode(self._element) + _setAttributeValue(self._element, key, value) + + def __delitem__(self, key): + _assertValidNode(self._element) + _delAttribute(self._element, key) + + def update(self, sequence_or_dict): + _assertValidNode(self._element) + if isinstance(sequence_or_dict, (dict, _Attrib)): + sequence_or_dict = sequence_or_dict.items() + for key, value in sequence_or_dict: + _setAttributeValue(self._element, key, value) + + def pop(self, key, *default): + if len(default) > 1: + raise TypeError, f"pop expected at most 2 arguments, got {len(default)+1}" + _assertValidNode(self._element) + result = _getAttributeValue(self._element, key, None) + if result is None: + if not default: + raise KeyError, key + result = default[0] + else: + _delAttribute(self._element, key) + return result + + def clear(self): + _assertValidNode(self._element) + c_attrs = self._element._c_node.properties + if c_attrs: + self._element._c_node.properties = NULL + tree.xmlFreePropList(c_attrs) + + # ACCESSORS + def __repr__(self): + _assertValidNode(self._element) + return repr(dict( _collectAttributes(self._element._c_node, 3) )) + + def __copy__(self): + _assertValidNode(self._element) + return dict(_collectAttributes(self._element._c_node, 3)) + + def __deepcopy__(self, memo): + _assertValidNode(self._element) + return dict(_collectAttributes(self._element._c_node, 3)) + + def __getitem__(self, key): + _assertValidNode(self._element) + result = _getAttributeValue(self._element, key, None) + if result is None: + raise KeyError, key + return result + + def __bool__(self): + _assertValidNode(self._element) + cdef xmlAttr* c_attr = self._element._c_node.properties + while c_attr is not NULL: + if c_attr.type == tree.XML_ATTRIBUTE_NODE: + return 1 + c_attr = c_attr.next + return 0 + + def __len__(self): + _assertValidNode(self._element) + cdef xmlAttr* c_attr = self._element._c_node.properties + cdef Py_ssize_t c = 0 + while c_attr is not NULL: + if c_attr.type == tree.XML_ATTRIBUTE_NODE: + c += 1 + c_attr = c_attr.next + return c + + def get(self, key, default=None): + _assertValidNode(self._element) + return _getAttributeValue(self._element, key, default) + + def keys(self): + _assertValidNode(self._element) + return _collectAttributes(self._element._c_node, 1) + + def __iter__(self): + _assertValidNode(self._element) + return iter(_collectAttributes(self._element._c_node, 1)) + + def iterkeys(self): + _assertValidNode(self._element) + return iter(_collectAttributes(self._element._c_node, 1)) + + def values(self): + _assertValidNode(self._element) + return _collectAttributes(self._element._c_node, 2) + + def itervalues(self): + _assertValidNode(self._element) + return iter(_collectAttributes(self._element._c_node, 2)) + + def items(self): + _assertValidNode(self._element) + return _collectAttributes(self._element._c_node, 3) + + def iteritems(self): + _assertValidNode(self._element) + return iter(_collectAttributes(self._element._c_node, 3)) + + def has_key(self, key): + _assertValidNode(self._element) + return key in self + + def __contains__(self, key): + _assertValidNode(self._element) + cdef xmlNode* c_node + ns, tag = _getNsTag(key) + c_node = self._element._c_node + c_href = NULL if ns is None else _xcstr(ns) + return 1 if tree.xmlHasNsProp(c_node, _xcstr(tag), c_href) else 0 + + def __richcmp__(self, other, int op): + try: + one = dict(self.items()) + if not isinstance(other, dict): + other = dict(other) + except (TypeError, ValueError): + return NotImplemented + return python.PyObject_RichCompare(one, other, op) + +MutableMapping.register(_Attrib) + + +@cython.final +@cython.internal +cdef class _AttribIterator: + """Attribute iterator - for internal use only! + """ + # XML attributes must not be removed while running! + cdef _Element _node + cdef xmlAttr* _c_attr + cdef int _keysvalues # 1 - keys, 2 - values, 3 - items (key, value) + def __iter__(self): + return self + + def __next__(self): + cdef xmlAttr* c_attr + if self._node is None: + raise StopIteration + c_attr = self._c_attr + while c_attr is not NULL and c_attr.type != tree.XML_ATTRIBUTE_NODE: + c_attr = c_attr.next + if c_attr is NULL: + self._node = None + raise StopIteration + + self._c_attr = c_attr.next + if self._keysvalues == 1: + return _namespacedName(c_attr) + elif self._keysvalues == 2: + return _attributeValue(self._node._c_node, c_attr) + else: + return (_namespacedName(c_attr), + _attributeValue(self._node._c_node, c_attr)) + +cdef object _attributeIteratorFactory(_Element element, int keysvalues): + cdef _AttribIterator attribs + if element._c_node.properties is NULL: + return ITER_EMPTY + attribs = _AttribIterator() + attribs._node = element + attribs._c_attr = element._c_node.properties + attribs._keysvalues = keysvalues + return attribs + + +cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, + type LxmlElementTagMatcherType ]: + """ + Dead but public. :) + """ + cdef object _pystrings + cdef int _node_type + cdef char* _href + cdef char* _name + cdef _initTagMatch(self, tag): + self._href = NULL + self._name = NULL + if tag is None: + self._node_type = 0 + elif tag is Comment: + self._node_type = tree.XML_COMMENT_NODE + elif tag is ProcessingInstruction: + self._node_type = tree.XML_PI_NODE + elif tag is Entity: + self._node_type = tree.XML_ENTITY_REF_NODE + elif tag is Element: + self._node_type = tree.XML_ELEMENT_NODE + else: + self._node_type = tree.XML_ELEMENT_NODE + self._pystrings = _getNsTag(tag) + if self._pystrings[0] is not None: + self._href = _cstr(self._pystrings[0]) + self._name = _cstr(self._pystrings[1]) + if self._name[0] == c'*' and self._name[1] == c'\0': + self._name = NULL + +cdef public class _ElementIterator(_ElementTagMatcher) [ + object LxmlElementIterator, type LxmlElementIteratorType ]: + """ + Dead but public. :) + """ + # we keep Python references here to control GC + cdef _Element _node + cdef _node_to_node_function _next_element + def __iter__(self): + return self + + cdef void _storeNext(self, _Element node): + cdef xmlNode* c_node + c_node = self._next_element(node._c_node) + while c_node is not NULL and \ + self._node_type != 0 and \ + (self._node_type != c_node.type or + not _tagMatches(c_node, self._href, self._name)): + c_node = self._next_element(c_node) + if c_node is NULL: + self._node = None + else: + # Python ref: + self._node = _elementFactory(node._doc, c_node) + + def __next__(self): + cdef xmlNode* c_node + cdef _Element current_node + if self._node is None: + raise StopIteration + # Python ref: + current_node = self._node + self._storeNext(current_node) + return current_node + +@cython.final +@cython.internal +cdef class _MultiTagMatcher: + """ + Match an xmlNode against a list of tags. + """ + cdef list _py_tags + cdef qname* _cached_tags + cdef size_t _tag_count + cdef size_t _cached_size + cdef _Document _cached_doc + cdef int _node_types + + def __cinit__(self, tags): + self._py_tags = [] + self.initTagMatch(tags) + + def __dealloc__(self): + self._clear() + + cdef bint rejectsAll(self) noexcept: + return not self._tag_count and not self._node_types + + cdef bint rejectsAllAttributes(self) noexcept: + return not self._tag_count + + cdef bint matchesType(self, int node_type) noexcept: + if node_type == tree.XML_ELEMENT_NODE and self._tag_count: + return True + return self._node_types & (1 << node_type) + + cdef void _clear(self) noexcept: + cdef size_t i, count + count = self._tag_count + self._tag_count = 0 + if self._cached_tags: + for i in range(count): + cpython.ref.Py_XDECREF(self._cached_tags[i].href) + python.lxml_free(self._cached_tags) + self._cached_tags = NULL + + cdef initTagMatch(self, tags): + self._cached_doc = None + del self._py_tags[:] + self._clear() + if tags is None or tags == (): + # no selection in tags argument => match anything + self._node_types = ( + 1 << tree.XML_COMMENT_NODE | + 1 << tree.XML_PI_NODE | + 1 << tree.XML_ENTITY_REF_NODE | + 1 << tree.XML_ELEMENT_NODE) + else: + self._node_types = 0 + self._storeTags(tags, set()) + + cdef _storeTags(self, tag, set seen): + if tag is Comment: + self._node_types |= 1 << tree.XML_COMMENT_NODE + elif tag is ProcessingInstruction: + self._node_types |= 1 << tree.XML_PI_NODE + elif tag is Entity: + self._node_types |= 1 << tree.XML_ENTITY_REF_NODE + elif tag is Element: + self._node_types |= 1 << tree.XML_ELEMENT_NODE + elif python._isString(tag): + if tag in seen: + return + seen.add(tag) + if tag in ('*', '{*}*'): + self._node_types |= 1 << tree.XML_ELEMENT_NODE + else: + href, name = _getNsTag(tag) + if name == b'*': + name = None + if href is None: + href = b'' # no namespace + elif href == b'*': + href = None # wildcard: any namespace, including none + self._py_tags.append((href, name)) + elif isinstance(tag, QName): + self._storeTags(tag.text, seen) + else: + # support a sequence of tags + for item in tag: + self._storeTags(item, seen) + + cdef inline int cacheTags(self, _Document doc, bint force_into_dict=False) except -1: + """ + Look up the tag names in the doc dict to enable string pointer comparisons. + """ + cdef size_t dict_size = tree.xmlDictSize(doc._c_doc.dict) + if doc is self._cached_doc and dict_size == self._cached_size: + # doc and dict didn't change => names already cached + return 0 + self._tag_count = 0 + if not self._py_tags: + self._cached_doc = doc + self._cached_size = dict_size + return 0 + if not self._cached_tags: + self._cached_tags = python.lxml_malloc(len(self._py_tags), sizeof(qname)) + if not self._cached_tags: + self._cached_doc = None + raise MemoryError() + self._tag_count = _mapTagsToQnameMatchArray( + doc._c_doc, self._py_tags, self._cached_tags, force_into_dict) + self._cached_doc = doc + self._cached_size = dict_size + return 0 + + cdef inline bint matches(self, xmlNode* c_node) noexcept: + cdef qname* c_qname + if self._node_types & (1 << c_node.type): + return True + elif c_node.type == tree.XML_ELEMENT_NODE: + for c_qname in self._cached_tags[:self._tag_count]: + if _tagMatchesExactly(c_node, c_qname): + return True + return False + + cdef inline bint matchesNsTag(self, const_xmlChar* c_href, + const_xmlChar* c_name) noexcept: + cdef qname* c_qname + if self._node_types & (1 << tree.XML_ELEMENT_NODE): + return True + for c_qname in self._cached_tags[:self._tag_count]: + if _nsTagMatchesExactly(c_href, c_name, c_qname): + return True + return False + + cdef inline bint matchesAttribute(self, xmlAttr* c_attr) noexcept: + """Attribute matches differ from Element matches in that they do + not care about node types. + """ + cdef qname* c_qname + for c_qname in self._cached_tags[:self._tag_count]: + if _tagMatchesExactly(c_attr, c_qname): + return True + return False + +cdef class _ElementMatchIterator: + cdef _Element _node + cdef _node_to_node_function _next_element + cdef _MultiTagMatcher _matcher + + @cython.final + cdef _initTagMatcher(self, tags): + self._matcher = _MultiTagMatcher.__new__(_MultiTagMatcher, tags) + + def __iter__(self): + return self + + @cython.final + cdef int _storeNext(self, _Element node) except -1: + self._matcher.cacheTags(node._doc) + c_node = self._next_element(node._c_node) + while c_node is not NULL and not self._matcher.matches(c_node): + c_node = self._next_element(c_node) + # store Python ref to next node to make sure it's kept alive + self._node = _elementFactory(node._doc, c_node) if c_node is not NULL else None + return 0 + + def __next__(self): + cdef _Element current_node = self._node + if current_node is None: + raise StopIteration + self._storeNext(current_node) + return current_node + +cdef class ElementChildIterator(_ElementMatchIterator): + """ElementChildIterator(self, node, tag=None, reversed=False) + Iterates over the children of an element. + """ + def __cinit__(self, _Element node not None, tag=None, *, bint reversed=False): + cdef xmlNode* c_node + _assertValidNode(node) + self._initTagMatcher(tag) + if reversed: + c_node = _findChildBackwards(node._c_node, 0) + self._next_element = _previousElement + else: + c_node = _findChildForwards(node._c_node, 0) + self._next_element = _nextElement + self._matcher.cacheTags(node._doc) + while c_node is not NULL and not self._matcher.matches(c_node): + c_node = self._next_element(c_node) + # store Python ref to next node to make sure it's kept alive + self._node = _elementFactory(node._doc, c_node) if c_node is not NULL else None + +cdef class SiblingsIterator(_ElementMatchIterator): + """SiblingsIterator(self, node, tag=None, preceding=False) + Iterates over the siblings of an element. + + You can pass the boolean keyword ``preceding`` to specify the direction. + """ + def __cinit__(self, _Element node not None, tag=None, *, bint preceding=False): + _assertValidNode(node) + self._initTagMatcher(tag) + if preceding: + self._next_element = _previousElement + else: + self._next_element = _nextElement + self._storeNext(node) + +cdef class AncestorsIterator(_ElementMatchIterator): + """AncestorsIterator(self, node, tag=None) + Iterates over the ancestors of an element (from parent to parent). + """ + def __cinit__(self, _Element node not None, tag=None): + _assertValidNode(node) + self._initTagMatcher(tag) + self._next_element = _parentElement + self._storeNext(node) + +cdef class ElementDepthFirstIterator: + """ElementDepthFirstIterator(self, node, tag=None, inclusive=True) + Iterates over an element and its sub-elements in document order (depth + first pre-order). + + Note that this also includes comments, entities and processing + instructions. To filter them out, check if the ``tag`` property + of the returned element is a string (i.e. not None and not a + factory function), or pass the ``Element`` factory for the ``tag`` + argument to receive only Elements. + + If the optional ``tag`` argument is not None, the iterator returns only + the elements that match the respective name and namespace. + + The optional boolean argument 'inclusive' defaults to True and can be set + to False to exclude the start element itself. + + Note that the behaviour of this iterator is completely undefined if the + tree it traverses is modified during iteration. + """ + # we keep Python references here to control GC + # keep the next Element after the one we return, and the (s)top node + cdef _Element _next_node + cdef _Element _top_node + cdef _MultiTagMatcher _matcher + def __cinit__(self, _Element node not None, tag=None, *, bint inclusive=True): + _assertValidNode(node) + self._top_node = node + self._next_node = node + self._matcher = _MultiTagMatcher.__new__(_MultiTagMatcher, tag) + self._matcher.cacheTags(node._doc) + if not inclusive or not self._matcher.matches(node._c_node): + # find start node (this cannot raise StopIteration, self._next_node != None) + next(self) + + def __iter__(self): + return self + + def __next__(self): + cdef xmlNode* c_node + cdef _Element current_node = self._next_node + if current_node is None: + raise StopIteration + c_node = current_node._c_node + self._matcher.cacheTags(current_node._doc) + if not self._matcher._tag_count: + # no tag name was found in the dict => not in document either + # try to match by node type + c_node = self._nextNodeAnyTag(c_node) + else: + c_node = self._nextNodeMatchTag(c_node) + if c_node is NULL: + self._next_node = None + else: + self._next_node = _elementFactory(current_node._doc, c_node) + return current_node + + @cython.final + cdef xmlNode* _nextNodeAnyTag(self, xmlNode* c_node) noexcept: + cdef int node_types = self._matcher._node_types + if not node_types: + return NULL + tree.BEGIN_FOR_EACH_ELEMENT_FROM(self._top_node._c_node, c_node, 0) + if node_types & (1 << c_node.type): + return c_node + tree.END_FOR_EACH_ELEMENT_FROM(c_node) + return NULL + + @cython.final + cdef xmlNode* _nextNodeMatchTag(self, xmlNode* c_node) noexcept: + tree.BEGIN_FOR_EACH_ELEMENT_FROM(self._top_node._c_node, c_node, 0) + if self._matcher.matches(c_node): + return c_node + tree.END_FOR_EACH_ELEMENT_FROM(c_node) + return NULL + + +cdef class ElementTextIterator: + """ElementTextIterator(self, element, tag=None, with_tail=True) + Iterates over the text content of a subtree. + + You can pass the ``tag`` keyword argument to restrict text content to a + specific tag name. + + You can set the ``with_tail`` keyword argument to ``False`` to skip over + tail text (e.g. if you know that it's only whitespace from pretty-printing). + """ + cdef object _events + cdef _Element _start_element + def __cinit__(self, _Element element not None, tag=None, *, bint with_tail=True): + _assertValidNode(element) + if with_tail: + events = ("start", "comment", "pi", "end") + else: + events = ("start",) + self._start_element = element + self._events = iterwalk(element, events=events, tag=tag) + + def __iter__(self): + return self + + def __next__(self): + cdef _Element element + result = None + while result is None: + event, element = next(self._events) # raises StopIteration + if event == "start": + result = element.text + elif element is not self._start_element: + result = element.tail + return result + + +cdef xmlNode* _createElement(xmlDoc* c_doc, object name_utf) except NULL: + cdef xmlNode* c_node + c_node = tree.xmlNewDocNode(c_doc, NULL, _xcstr(name_utf), NULL) + return c_node + +cdef xmlNode* _createComment(xmlDoc* c_doc, const_xmlChar* text) noexcept: + cdef xmlNode* c_node + c_node = tree.xmlNewDocComment(c_doc, text) + return c_node + +cdef xmlNode* _createPI(xmlDoc* c_doc, const_xmlChar* target, const_xmlChar* text) noexcept: + cdef xmlNode* c_node + c_node = tree.xmlNewDocPI(c_doc, target, text) + return c_node + +cdef xmlNode* _createEntity(xmlDoc* c_doc, const_xmlChar* name) noexcept: + cdef xmlNode* c_node + c_node = tree.xmlNewReference(c_doc, name) + return c_node + +# module-level API for ElementTree + +from abc import ABC + +class Element(ABC): + """Element(_tag, attrib=None, nsmap=None, **_extra) + + Element factory, as a class. + + An instance of this class is an object implementing the + Element interface. + + >>> element = Element("test") + >>> type(element) + + >>> isinstance(element, Element) + True + >>> issubclass(_Element, Element) + True + + Also look at the `_Element.makeelement()` and + `_BaseParser.makeelement()` methods, which provide a faster way to + create an Element within a specific document or parser context. + """ + def __new__(cls, _tag, attrib=None, nsmap=None, **_extra): + return _makeElement(_tag, NULL, None, None, None, None, + attrib, nsmap, _extra) + +# Register _Element as a virtual subclass of Element +Element.register(_Element) + + +def Comment(text=None): + """Comment(text=None) + + Comment element factory. This factory function creates a special element that will + be serialized as an XML comment. + """ + cdef _Document doc + cdef xmlNode* c_node + cdef xmlDoc* c_doc + + if text is None: + text = b'' + else: + text = _utf8(text) + if b'--' in text or text.endswith(b'-'): + raise ValueError("Comment may not contain '--' or end with '-'") + + c_doc = _newXMLDoc() + doc = _documentFactory(c_doc, None) + c_node = _createComment(c_doc, _xcstr(text)) + tree.xmlAddChild(c_doc, c_node) + return _elementFactory(doc, c_node) + + +def ProcessingInstruction(target, text=None): + """ProcessingInstruction(target, text=None) + + ProcessingInstruction element factory. This factory function creates a + special element that will be serialized as an XML processing instruction. + """ + cdef _Document doc + cdef xmlNode* c_node + cdef xmlDoc* c_doc + + target = _utf8(target) + _tagValidOrRaise(target) + if target.lower() == b'xml': + raise ValueError, f"Invalid PI name '{target}'" + + if text is None: + text = b'' + else: + text = _utf8(text) + if b'?>' in text: + raise ValueError, "PI text must not contain '?>'" + + c_doc = _newXMLDoc() + doc = _documentFactory(c_doc, None) + c_node = _createPI(c_doc, _xcstr(target), _xcstr(text)) + tree.xmlAddChild(c_doc, c_node) + return _elementFactory(doc, c_node) + +PI = ProcessingInstruction + + +cdef class CDATA: + """CDATA(data) + + CDATA factory. This factory creates an opaque data object that + can be used to set Element text. The usual way to use it is:: + + >>> el = Element('content') + >>> el.text = CDATA('a string') + + >>> print(el.text) + a string + >>> print(tostring(el, encoding="unicode")) + + """ + cdef bytes _utf8_data + def __cinit__(self, data): + self._utf8_data = _utf8(data) + + +def Entity(name): + """Entity(name) + + Entity factory. This factory function creates a special element + that will be serialized as an XML entity reference or character + reference. Note, however, that entities will not be automatically + declared in the document. A document that uses entity references + requires a DTD to define the entities. + """ + cdef _Document doc + cdef xmlNode* c_node + cdef xmlDoc* c_doc + name_utf = _utf8(name) + c_name = _xcstr(name_utf) + if c_name[0] == c'#': + if not _characterReferenceIsValid(c_name + 1): + raise ValueError, f"Invalid character reference: '{name}'" + elif not _xmlNameIsValid(c_name): + raise ValueError, f"Invalid entity reference: '{name}'" + c_doc = _newXMLDoc() + doc = _documentFactory(c_doc, None) + c_node = _createEntity(c_doc, c_name) + tree.xmlAddChild(c_doc, c_node) + return _elementFactory(doc, c_node) + + +def SubElement(_Element _parent not None, _tag, + attrib=None, nsmap=None, **_extra): + """SubElement(_parent, _tag, attrib=None, nsmap=None, **_extra) + + Subelement factory. This function creates an element instance, and + appends it to an existing element. + """ + return _makeSubElement(_parent, _tag, None, None, attrib, nsmap, _extra) + +from typing import Generic, TypeVar + +T = TypeVar("T") + +class ElementTree(ABC, Generic[T]): + def __new__(cls, _Element element=None, *, file=None, _BaseParser parser=None): + """ElementTree(element=None, file=None, parser=None) + + ElementTree wrapper class. + """ + cdef xmlNode* c_next + cdef xmlNode* c_node + cdef xmlNode* c_node_copy + cdef xmlDoc* c_doc + cdef _ElementTree etree + cdef _Document doc + + if element is not None: + doc = element._doc + elif file is not None: + try: + doc = _parseDocument(file, parser, None) + except _TargetParserResult as result_container: + return result_container.result + else: + c_doc = _newXMLDoc() + doc = _documentFactory(c_doc, parser) + + return _elementTreeFactory(doc, element) + +# Register _ElementTree as a virtual subclass of ElementTree +ElementTree.register(_ElementTree) + +# Remove "ABC" and typing helpers from module dict +del ABC, Generic, TypeVar, T + +def HTML(text, _BaseParser parser=None, *, base_url=None): + """HTML(text, parser=None, base_url=None) + + Parses an HTML document from a string constant. Returns the root + node (or the result returned by a parser target). This function + can be used to embed "HTML literals" in Python code. + + To override the parser with a different ``HTMLParser`` you can pass it to + the ``parser`` keyword argument. + + The ``base_url`` keyword argument allows to set the original base URL of + the document to support relative Paths when looking up external entities + (DTD, XInclude, ...). + """ + cdef _Document doc + if parser is None: + parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser() + if not isinstance(parser, HTMLParser): + parser = __DEFAULT_HTML_PARSER + try: + doc = _parseMemoryDocument(text, base_url, parser) + return doc.getroot() + except _TargetParserResult as result_container: + return result_container.result + + +def XML(text, _BaseParser parser=None, *, base_url=None): + """XML(text, parser=None, base_url=None) + + Parses an XML document or fragment from a string constant. + Returns the root node (or the result returned by a parser target). + This function can be used to embed "XML literals" in Python code, + like in + + >>> root = XML("") + >>> print(root.tag) + root + + To override the parser with a different ``XMLParser`` you can pass it to + the ``parser`` keyword argument. + + The ``base_url`` keyword argument allows to set the original base URL of + the document to support relative Paths when looking up external entities + (DTD, XInclude, ...). + """ + cdef _Document doc + if parser is None: + parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser() + if not isinstance(parser, XMLParser): + parser = __DEFAULT_XML_PARSER + try: + doc = _parseMemoryDocument(text, base_url, parser) + return doc.getroot() + except _TargetParserResult as result_container: + return result_container.result + + +def fromstring(text, _BaseParser parser=None, *, base_url=None): + """fromstring(text, parser=None, base_url=None) + + Parses an XML document or fragment from a string. Returns the + root node (or the result returned by a parser target). + + To override the default parser with a different parser you can pass it to + the ``parser`` keyword argument. + + The ``base_url`` keyword argument allows to set the original base URL of + the document to support relative Paths when looking up external entities + (DTD, XInclude, ...). + """ + cdef _Document doc + try: + doc = _parseMemoryDocument(text, base_url, parser) + return doc.getroot() + except _TargetParserResult as result_container: + return result_container.result + + +def fromstringlist(strings, _BaseParser parser=None): + """fromstringlist(strings, parser=None) + + Parses an XML document from a sequence of strings. Returns the + root node (or the result returned by a parser target). + + To override the default parser with a different parser you can pass it to + the ``parser`` keyword argument. + """ + cdef _Document doc + if isinstance(strings, (bytes, unicode)): + raise ValueError("passing a single string into fromstringlist() is not" + " efficient, use fromstring() instead") + if parser is None: + parser = __GLOBAL_PARSER_CONTEXT.getDefaultParser() + feed = parser.feed + for data in strings: + feed(data) + return parser.close() + + +def iselement(element): + """iselement(element) + + Checks if an object appears to be a valid element object. + """ + return isinstance(element, _Element) and (<_Element>element)._c_node is not NULL + + +def indent(tree, space=" ", *, Py_ssize_t level=0): + """indent(tree, space=" ", level=0) + + Indent an XML document by inserting newlines and indentation space + after elements. + + *tree* is the ElementTree or Element to modify. The (root) element + itself will not be changed, but the tail text of all elements in its + subtree will be adapted. + + *space* is the whitespace to insert for each indentation level, two + space characters by default. + + *level* is the initial indentation level. Setting this to a higher + value than 0 can be used for indenting subtrees that are more deeply + nested inside of a document. + """ + root = _rootNodeOrRaise(tree) + if level < 0: + raise ValueError(f"Initial indentation level must be >= 0, got {level}") + if _hasChild(root._c_node): + space = _utf8(space) + indent = b"\n" + level * space + _indent_children(root._c_node, 1, space, [indent, indent + space]) + + +cdef int _indent_children(xmlNode* c_node, Py_ssize_t level, bytes one_space, list indentations) except -1: + # Reuse indentation strings for speed. + if len(indentations) <= level: + indentations.append(indentations[-1] + one_space) + + # Start a new indentation level for the first child. + child_indentation = indentations[level] + if not _hasNonWhitespaceText(c_node): + _setNodeText(c_node, child_indentation) + + # Recursively indent all children. + cdef xmlNode* c_child = _findChildForwards(c_node, 0) + while c_child is not NULL: + if _hasChild(c_child): + _indent_children(c_child, level+1, one_space, indentations) + c_next_child = _nextElement(c_child) + if not _hasNonWhitespaceTail(c_child): + if c_next_child is NULL: + # Dedent after the last child. + child_indentation = indentations[level-1] + _setTailText(c_child, child_indentation) + c_child = c_next_child + return 0 + + +def dump(_Element elem not None, *, bint pretty_print=True, bint with_tail=True): + """dump(elem, pretty_print=True, with_tail=True) + + Writes an element tree or element structure to sys.stdout. This function + should be used for debugging only. + """ + xml = tostring(elem, pretty_print=pretty_print, with_tail=with_tail, encoding='unicode') + if not pretty_print: + xml += '\n' + sys.stdout.write(xml) + + +def tostring(element_or_tree, *, encoding=None, method="xml", + xml_declaration=None, bint pretty_print=False, bint with_tail=True, + standalone=None, doctype=None, + # method='c14n' + bint exclusive=False, inclusive_ns_prefixes=None, + # method='c14n2' + bint with_comments=True, bint strip_text=False, + ): + """tostring(element_or_tree, encoding=None, method="xml", + xml_declaration=None, pretty_print=False, with_tail=True, + standalone=None, doctype=None, + exclusive=False, inclusive_ns_prefixes=None, + with_comments=True, strip_text=False, + ) + + Serialize an element to an encoded string representation of its XML + tree. + + Defaults to ASCII encoding without XML declaration. This + behaviour can be configured with the keyword arguments 'encoding' + (string) and 'xml_declaration' (bool). Note that changing the + encoding to a non UTF-8 compatible encoding will enable a + declaration by default. + + You can also serialise to a Unicode string without declaration by + passing the name ``'unicode'`` as encoding (or the ``str`` function + in Py3 or ``unicode`` in Py2). This changes the return value from + a byte string to an unencoded unicode string. + + The keyword argument 'pretty_print' (bool) enables formatted XML. + + The keyword argument 'method' selects the output method: 'xml', + 'html', plain 'text' (text content without tags), 'c14n' or 'c14n2'. + Default is 'xml'. + + With ``method="c14n"`` (C14N version 1), the options ``exclusive``, + ``with_comments`` and ``inclusive_ns_prefixes`` request exclusive + C14N, include comments, and list the inclusive prefixes respectively. + + With ``method="c14n2"`` (C14N version 2), the ``with_comments`` and + ``strip_text`` options control the output of comments and text space + according to C14N 2.0. + + Passing a boolean value to the ``standalone`` option will output + an XML declaration with the corresponding ``standalone`` flag. + + The ``doctype`` option allows passing in a plain string that will + be serialised before the XML tree. Note that passing in non + well-formed content here will make the XML output non well-formed. + Also, an existing doctype in the document tree will not be removed + when serialising an ElementTree instance. + + You can prevent the tail text of the element from being serialised + by passing the boolean ``with_tail`` option. This has no impact + on the tail text of children, which will always be serialised. + """ + cdef bint write_declaration + cdef int is_standalone + # C14N serialisation + if method in ('c14n', 'c14n2'): + if encoding is not None: + raise ValueError("Cannot specify encoding with C14N") + if xml_declaration: + raise ValueError("Cannot enable XML declaration in C14N") + if method == 'c14n': + return _tostringC14N(element_or_tree, exclusive, with_comments, inclusive_ns_prefixes) + else: + out = BytesIO() + target = C14NWriterTarget( + utf8_writer(out).write, + with_comments=with_comments, strip_text=strip_text) + _tree_to_target(element_or_tree, target) + return out.getvalue() + if not with_comments: + raise ValueError("Can only discard comments in C14N serialisation") + if strip_text: + raise ValueError("Can only strip text in C14N 2.0 serialisation") + if encoding is unicode or (encoding is not None and encoding.lower() == 'unicode'): + if xml_declaration: + raise ValueError, \ + "Serialisation to unicode must not request an XML declaration" + write_declaration = 0 + encoding = unicode + elif xml_declaration is None: + # by default, write an XML declaration only for non-standard encodings + write_declaration = encoding is not None and encoding.upper() not in \ + ('ASCII', 'UTF-8', 'UTF8', 'US-ASCII') + else: + write_declaration = xml_declaration + if encoding is None: + encoding = 'ASCII' + if standalone is None: + is_standalone = -1 + elif standalone: + write_declaration = 1 + is_standalone = 1 + else: + write_declaration = 1 + is_standalone = 0 + + if isinstance(element_or_tree, _Element): + return _tostring(<_Element>element_or_tree, encoding, doctype, method, + write_declaration, 0, pretty_print, with_tail, + is_standalone) + elif isinstance(element_or_tree, _ElementTree): + return _tostring((<_ElementTree>element_or_tree)._context_node, + encoding, doctype, method, write_declaration, 1, + pretty_print, with_tail, is_standalone) + else: + raise TypeError, f"Type '{python._fqtypename(element_or_tree).decode('utf8')}' cannot be serialized." + + + +def tostringlist(element_or_tree, *args, **kwargs): + """tostringlist(element_or_tree, *args, **kwargs) + + Serialize an element to an encoded string representation of its XML + tree, stored in a list of partial strings. + + This is purely for ElementTree 1.3 compatibility. The result is a + single string wrapped in a list. + """ + return [tostring(element_or_tree, *args, **kwargs)] + + +def tounicode(element_or_tree, *, method="xml", bint pretty_print=False, + bint with_tail=True, doctype=None): + """tounicode(element_or_tree, method="xml", pretty_print=False, + with_tail=True, doctype=None) + + Serialize an element to the Python unicode representation of its XML + tree. + + :deprecated: use ``tostring(el, encoding='unicode')`` instead. + + Note that the result does not carry an XML encoding declaration and is + therefore not necessarily suited for serialization to byte streams without + further treatment. + + The boolean keyword argument 'pretty_print' enables formatted XML. + + The keyword argument 'method' selects the output method: 'xml', + 'html' or plain 'text'. + + You can prevent the tail text of the element from being serialised + by passing the boolean ``with_tail`` option. This has no impact + on the tail text of children, which will always be serialised. + """ + if isinstance(element_or_tree, _Element): + return _tostring(<_Element>element_or_tree, unicode, doctype, method, + 0, 0, pretty_print, with_tail, -1) + elif isinstance(element_or_tree, _ElementTree): + return _tostring((<_ElementTree>element_or_tree)._context_node, + unicode, doctype, method, 0, 1, pretty_print, + with_tail, -1) + else: + raise TypeError, f"Type '{type(element_or_tree)}' cannot be serialized." + + +def parse(source, _BaseParser parser=None, *, base_url=None): + """parse(source, parser=None, base_url=None) + + Return an ElementTree object loaded with source elements. If no parser + is provided as second argument, the default parser is used. + + The ``source`` can be any of the following: + + - a file name/path + - a file object + - a file-like object + - a URL using the HTTP or FTP protocol + + To parse from a string, use the ``fromstring()`` function instead. + + Note that it is generally faster to parse from a file path or URL + than from an open file object or file-like object. Transparent + decompression from gzip compressed sources is supported (unless + explicitly disabled in libxml2). + + The ``base_url`` keyword allows setting a URL for the document + when parsing from a file-like object. This is needed when looking + up external entities (DTD, XInclude, ...) with relative paths. + """ + cdef _Document doc + try: + doc = _parseDocument(source, parser, base_url) + return _elementTreeFactory(doc, None) + except _TargetParserResult as result_container: + return result_container.result + + +def adopt_external_document(capsule, _BaseParser parser=None): + """adopt_external_document(capsule, parser=None) + + Unpack a libxml2 document pointer from a PyCapsule and wrap it in an + lxml ElementTree object. + + This allows external libraries to build XML/HTML trees using libxml2 + and then pass them efficiently into lxml for further processing. + + If a ``parser`` is provided, it will be used for configuring the + lxml document. No parsing will be done. + + The capsule must have the name ``"libxml2:xmlDoc"`` and its pointer + value must reference a correct libxml2 document of type ``xmlDoc*``. + The creator of the capsule must take care to correctly clean up the + document using an appropriate capsule destructor. By default, the + libxml2 document will be copied to let lxml safely own the memory + of the internal tree that it uses. + + If the capsule context is non-NULL, it must point to a C string that + can be compared using ``strcmp()``. If the context string equals + ``"destructor:xmlFreeDoc"``, the libxml2 document will not be copied + but the capsule invalidated instead by clearing its destructor and + name. That way, lxml takes ownership of the libxml2 document in memory + without creating a copy first, and the capsule destructor will not be + called. The document will then eventually be cleaned up by lxml using + the libxml2 API function ``xmlFreeDoc()`` once it is no longer used. + + If no copy is made, later modifications of the tree outside of lxml + should not be attempted after transferring the ownership. + """ + cdef xmlDoc* c_doc + cdef bint is_owned = False + c_doc = python.lxml_unpack_xmldoc_capsule(capsule, &is_owned) + doc = _adoptForeignDoc(c_doc, parser, is_owned) + return _elementTreeFactory(doc, None) + + +################################################################################ +# Include submodules + +include "readonlytree.pxi" # Read-only implementation of Element proxies +include "classlookup.pxi" # Element class lookup mechanisms +include "nsclasses.pxi" # Namespace implementation and registry +include "docloader.pxi" # Support for custom document loaders +include "parser.pxi" # XML and HTML parsers +include "saxparser.pxi" # SAX-like Parser interface and tree builder +include "parsertarget.pxi" # ET Parser target +include "serializer.pxi" # XML output functions +include "iterparse.pxi" # incremental XML parsing +include "xmlid.pxi" # XMLID and IDDict +include "xinclude.pxi" # XInclude +include "cleanup.pxi" # Cleanup and recursive element removal functions + + +################################################################################ +# Include submodules for XPath and XSLT + +include "extensions.pxi" # XPath/XSLT extension functions +include "xpath.pxi" # XPath evaluation +include "xslt.pxi" # XSL transformations +include "xsltext.pxi" # XSL extension elements + + +################################################################################ +# Validation + +cdef class DocumentInvalid(LxmlError): + """Validation error. + + Raised by all document validators when their ``assertValid(tree)`` + method fails. + """ + + +cdef class _Validator: + "Base class for XML validators." + cdef _ErrorLog _error_log + def __cinit__(self): + self._error_log = _ErrorLog() + + def validate(self, etree): + """validate(self, etree) + + Validate the document using this schema. + + Returns true if document is valid, false if not. + """ + return self(etree) + + def assertValid(self, etree): + """assertValid(self, etree) + + Raises `DocumentInvalid` if the document does not comply with the schema. + """ + if not self(etree): + raise DocumentInvalid(self._error_log._buildExceptionMessage( + "Document does not comply with schema"), + self._error_log) + + def assert_(self, etree): + """assert_(self, etree) + + Raises `AssertionError` if the document does not comply with the schema. + """ + if not self(etree): + raise AssertionError, self._error_log._buildExceptionMessage( + "Document does not comply with schema") + + cpdef _append_log_message(self, int domain, int type, int level, int line, + message, filename): + self._error_log._receiveGeneric(domain, type, level, line, message, + filename) + + cpdef _clear_error_log(self): + self._error_log.clear() + + @property + def error_log(self): + """The log of validation errors and warnings.""" + assert self._error_log is not None, "XPath evaluator not initialised" + return self._error_log.copy() + +include "dtd.pxi" # DTD +include "relaxng.pxi" # RelaxNG +include "xmlschema.pxi" # XMLSchema +include "schematron.pxi" # Schematron (requires libxml2 2.6.21+) + +################################################################################ +# Public C API + +include "public-api.pxi" + +################################################################################ +# Other stuff + +include "debug.pxi" diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/etree_api.h b/presentation/.venv/lib/python3.12/site-packages/lxml/etree_api.h new file mode 100644 index 0000000..702fef2 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/etree_api.h @@ -0,0 +1,214 @@ +/* Generated by Cython 3.2.4 */ + +#ifndef __PYX_HAVE_API__lxml__etree +#define __PYX_HAVE_API__lxml__etree +#ifdef __MINGW64__ +#define MS_WIN64 +#endif +#include "Python.h" +#include "etree.h" + +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_deepcopyNodeToDocument)(struct LxmlDocument *, xmlNode *) = 0; +#define deepcopyNodeToDocument __pyx_api_f_4lxml_5etree_deepcopyNodeToDocument +static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_elementTreeFactory)(struct LxmlElement *) = 0; +#define elementTreeFactory __pyx_api_f_4lxml_5etree_elementTreeFactory +static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_newElementTree)(struct LxmlElement *, PyObject *) = 0; +#define newElementTree __pyx_api_f_4lxml_5etree_newElementTree +static struct LxmlElementTree *(*__pyx_api_f_4lxml_5etree_adoptExternalDocument)(xmlDoc *, PyObject *, int) = 0; +#define adoptExternalDocument __pyx_api_f_4lxml_5etree_adoptExternalDocument +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_elementFactory)(struct LxmlDocument *, xmlNode *) = 0; +#define elementFactory __pyx_api_f_4lxml_5etree_elementFactory +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_makeElement)(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *) = 0; +#define makeElement __pyx_api_f_4lxml_5etree_makeElement +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_makeSubElement)(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *) = 0; +#define makeSubElement __pyx_api_f_4lxml_5etree_makeSubElement +static void (*__pyx_api_f_4lxml_5etree_setElementClassLookupFunction)(_element_class_lookup_function, PyObject *) = 0; +#define setElementClassLookupFunction __pyx_api_f_4lxml_5etree_setElementClassLookupFunction +static PyObject *(*__pyx_api_f_4lxml_5etree_lookupDefaultElementClass)(PyObject *, PyObject *, xmlNode *) = 0; +#define lookupDefaultElementClass __pyx_api_f_4lxml_5etree_lookupDefaultElementClass +static PyObject *(*__pyx_api_f_4lxml_5etree_lookupNamespaceElementClass)(PyObject *, PyObject *, xmlNode *) = 0; +#define lookupNamespaceElementClass __pyx_api_f_4lxml_5etree_lookupNamespaceElementClass +static PyObject *(*__pyx_api_f_4lxml_5etree_callLookupFallback)(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *) = 0; +#define callLookupFallback __pyx_api_f_4lxml_5etree_callLookupFallback +static int (*__pyx_api_f_4lxml_5etree_tagMatches)(xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define tagMatches __pyx_api_f_4lxml_5etree_tagMatches +static struct LxmlDocument *(*__pyx_api_f_4lxml_5etree_documentOrRaise)(PyObject *) = 0; +#define documentOrRaise __pyx_api_f_4lxml_5etree_documentOrRaise +static struct LxmlElement *(*__pyx_api_f_4lxml_5etree_rootNodeOrRaise)(PyObject *) = 0; +#define rootNodeOrRaise __pyx_api_f_4lxml_5etree_rootNodeOrRaise +static int (*__pyx_api_f_4lxml_5etree_hasText)(xmlNode *) = 0; +#define hasText __pyx_api_f_4lxml_5etree_hasText +static int (*__pyx_api_f_4lxml_5etree_hasTail)(xmlNode *) = 0; +#define hasTail __pyx_api_f_4lxml_5etree_hasTail +static PyObject *(*__pyx_api_f_4lxml_5etree_textOf)(xmlNode *) = 0; +#define textOf __pyx_api_f_4lxml_5etree_textOf +static PyObject *(*__pyx_api_f_4lxml_5etree_tailOf)(xmlNode *) = 0; +#define tailOf __pyx_api_f_4lxml_5etree_tailOf +static int (*__pyx_api_f_4lxml_5etree_setNodeText)(xmlNode *, PyObject *) = 0; +#define setNodeText __pyx_api_f_4lxml_5etree_setNodeText +static int (*__pyx_api_f_4lxml_5etree_setTailText)(xmlNode *, PyObject *) = 0; +#define setTailText __pyx_api_f_4lxml_5etree_setTailText +static PyObject *(*__pyx_api_f_4lxml_5etree_attributeValue)(xmlNode *, xmlAttr *) = 0; +#define attributeValue __pyx_api_f_4lxml_5etree_attributeValue +static PyObject *(*__pyx_api_f_4lxml_5etree_attributeValueFromNsName)(xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define attributeValueFromNsName __pyx_api_f_4lxml_5etree_attributeValueFromNsName +static PyObject *(*__pyx_api_f_4lxml_5etree_getAttributeValue)(struct LxmlElement *, PyObject *, PyObject *) = 0; +#define getAttributeValue __pyx_api_f_4lxml_5etree_getAttributeValue +static PyObject *(*__pyx_api_f_4lxml_5etree_iterattributes)(struct LxmlElement *, int) = 0; +#define iterattributes __pyx_api_f_4lxml_5etree_iterattributes +static PyObject *(*__pyx_api_f_4lxml_5etree_collectAttributes)(xmlNode *, int) = 0; +#define collectAttributes __pyx_api_f_4lxml_5etree_collectAttributes +static int (*__pyx_api_f_4lxml_5etree_setAttributeValue)(struct LxmlElement *, PyObject *, PyObject *) = 0; +#define setAttributeValue __pyx_api_f_4lxml_5etree_setAttributeValue +static int (*__pyx_api_f_4lxml_5etree_delAttribute)(struct LxmlElement *, PyObject *) = 0; +#define delAttribute __pyx_api_f_4lxml_5etree_delAttribute +static int (*__pyx_api_f_4lxml_5etree_delAttributeFromNsName)(xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define delAttributeFromNsName __pyx_api_f_4lxml_5etree_delAttributeFromNsName +static int (*__pyx_api_f_4lxml_5etree_hasChild)(xmlNode *) = 0; +#define hasChild __pyx_api_f_4lxml_5etree_hasChild +static xmlNode *(*__pyx_api_f_4lxml_5etree_findChild)(xmlNode *, Py_ssize_t) = 0; +#define findChild __pyx_api_f_4lxml_5etree_findChild +static xmlNode *(*__pyx_api_f_4lxml_5etree_findChildForwards)(xmlNode *, Py_ssize_t) = 0; +#define findChildForwards __pyx_api_f_4lxml_5etree_findChildForwards +static xmlNode *(*__pyx_api_f_4lxml_5etree_findChildBackwards)(xmlNode *, Py_ssize_t) = 0; +#define findChildBackwards __pyx_api_f_4lxml_5etree_findChildBackwards +static xmlNode *(*__pyx_api_f_4lxml_5etree_nextElement)(xmlNode *) = 0; +#define nextElement __pyx_api_f_4lxml_5etree_nextElement +static xmlNode *(*__pyx_api_f_4lxml_5etree_previousElement)(xmlNode *) = 0; +#define previousElement __pyx_api_f_4lxml_5etree_previousElement +static void (*__pyx_api_f_4lxml_5etree_appendChild)(struct LxmlElement *, struct LxmlElement *) = 0; +#define appendChild __pyx_api_f_4lxml_5etree_appendChild +static int (*__pyx_api_f_4lxml_5etree_appendChildToElement)(struct LxmlElement *, struct LxmlElement *) = 0; +#define appendChildToElement __pyx_api_f_4lxml_5etree_appendChildToElement +static PyObject *(*__pyx_api_f_4lxml_5etree_pyunicode)(const xmlChar *) = 0; +#define pyunicode __pyx_api_f_4lxml_5etree_pyunicode +static PyObject *(*__pyx_api_f_4lxml_5etree_utf8)(PyObject *) = 0; +#define utf8 __pyx_api_f_4lxml_5etree_utf8 +static PyObject *(*__pyx_api_f_4lxml_5etree_getNsTag)(PyObject *) = 0; +#define getNsTag __pyx_api_f_4lxml_5etree_getNsTag +static PyObject *(*__pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs)(PyObject *) = 0; +#define getNsTagWithEmptyNs __pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs +static PyObject *(*__pyx_api_f_4lxml_5etree_namespacedName)(xmlNode *) = 0; +#define namespacedName __pyx_api_f_4lxml_5etree_namespacedName +static PyObject *(*__pyx_api_f_4lxml_5etree_namespacedNameFromNsName)(const xmlChar *, const xmlChar *) = 0; +#define namespacedNameFromNsName __pyx_api_f_4lxml_5etree_namespacedNameFromNsName +static void (*__pyx_api_f_4lxml_5etree_iteratorStoreNext)(struct LxmlElementIterator *, struct LxmlElement *) = 0; +#define iteratorStoreNext __pyx_api_f_4lxml_5etree_iteratorStoreNext +static void (*__pyx_api_f_4lxml_5etree_initTagMatch)(struct LxmlElementTagMatcher *, PyObject *) = 0; +#define initTagMatch __pyx_api_f_4lxml_5etree_initTagMatch +static xmlNs *(*__pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix)(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *) = 0; +#define findOrBuildNodeNsPrefix __pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix +static int __Pyx_ImportFunction_3_2_4(PyObject *module, const char *funcname, void (**f)(void), const char *sig); + +#ifndef __PYX_HAVE_RT_ImportFromPxd_3_2_4 +#define __PYX_HAVE_RT_ImportFromPxd_3_2_4 +static int __Pyx_ImportFromPxd_3_2_4(PyObject *module, const char *name, void **p, const char *sig, const char *what) { + PyObject *d = 0; + PyObject *cobj = 0; + d = PyObject_GetAttrString(module, "__pyx_capi__"); + if (!d) + goto bad; +#if (defined(Py_LIMITED_API) && Py_LIMITED_API >= 0x030d0000) || (!defined(Py_LIMITED_API) && PY_VERSION_HEX >= 0x030d0000) + PyDict_GetItemStringRef(d, name, &cobj); +#else + cobj = PyDict_GetItemString(d, name); + Py_XINCREF(cobj); +#endif + if (!cobj) { + PyErr_Format(PyExc_ImportError, + "%.200s does not export expected C %.8s %.200s", + PyModule_GetName(module), what, name); + goto bad; + } + if (!PyCapsule_IsValid(cobj, sig)) { + PyErr_Format(PyExc_TypeError, + "C %.8s %.200s.%.200s has wrong signature (expected %.500s, got %.500s)", + what, PyModule_GetName(module), name, sig, PyCapsule_GetName(cobj)); + goto bad; + } + *p = PyCapsule_GetPointer(cobj, sig); + if (!(*p)) + goto bad; + Py_DECREF(d); + Py_DECREF(cobj); + return 0; +bad: + Py_XDECREF(d); + Py_XDECREF(cobj); + return -1; +} +#endif + +#ifndef __PYX_HAVE_RT_ImportFunction_3_2_4 +#define __PYX_HAVE_RT_ImportFunction_3_2_4 +static int __Pyx_ImportFunction_3_2_4(PyObject *module, const char *funcname, void (**f)(void), const char *sig) { + union { + void (*fp)(void); + void *p; + } tmp; + int result = __Pyx_ImportFromPxd_3_2_4(module, funcname, &tmp.p, sig, "function"); + if (result == 0) { + *f = tmp.fp; + } + return result; +} +#endif + + +static int import_lxml__etree(void) { + PyObject *module = 0; + module = PyImport_ImportModule("lxml.etree"); + if (!module) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "deepcopyNodeToDocument", (void (**)(void))&__pyx_api_f_4lxml_5etree_deepcopyNodeToDocument, "struct LxmlElement *(struct LxmlDocument *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "elementTreeFactory", (void (**)(void))&__pyx_api_f_4lxml_5etree_elementTreeFactory, "struct LxmlElementTree *(struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "newElementTree", (void (**)(void))&__pyx_api_f_4lxml_5etree_newElementTree, "struct LxmlElementTree *(struct LxmlElement *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "adoptExternalDocument", (void (**)(void))&__pyx_api_f_4lxml_5etree_adoptExternalDocument, "struct LxmlElementTree *(xmlDoc *, PyObject *, int)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "elementFactory", (void (**)(void))&__pyx_api_f_4lxml_5etree_elementFactory, "struct LxmlElement *(struct LxmlDocument *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "makeElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_makeElement, "struct LxmlElement *(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "makeSubElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_makeSubElement, "struct LxmlElement *(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "setElementClassLookupFunction", (void (**)(void))&__pyx_api_f_4lxml_5etree_setElementClassLookupFunction, "void (_element_class_lookup_function, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "lookupDefaultElementClass", (void (**)(void))&__pyx_api_f_4lxml_5etree_lookupDefaultElementClass, "PyObject *(PyObject *, PyObject *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "lookupNamespaceElementClass", (void (**)(void))&__pyx_api_f_4lxml_5etree_lookupNamespaceElementClass, "PyObject *(PyObject *, PyObject *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "callLookupFallback", (void (**)(void))&__pyx_api_f_4lxml_5etree_callLookupFallback, "PyObject *(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "tagMatches", (void (**)(void))&__pyx_api_f_4lxml_5etree_tagMatches, "int (xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "documentOrRaise", (void (**)(void))&__pyx_api_f_4lxml_5etree_documentOrRaise, "struct LxmlDocument *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "rootNodeOrRaise", (void (**)(void))&__pyx_api_f_4lxml_5etree_rootNodeOrRaise, "struct LxmlElement *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "hasText", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasText, "int (xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "hasTail", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasTail, "int (xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "textOf", (void (**)(void))&__pyx_api_f_4lxml_5etree_textOf, "PyObject *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "tailOf", (void (**)(void))&__pyx_api_f_4lxml_5etree_tailOf, "PyObject *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "setNodeText", (void (**)(void))&__pyx_api_f_4lxml_5etree_setNodeText, "int (xmlNode *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "setTailText", (void (**)(void))&__pyx_api_f_4lxml_5etree_setTailText, "int (xmlNode *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "attributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_attributeValue, "PyObject *(xmlNode *, xmlAttr *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "attributeValueFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_attributeValueFromNsName, "PyObject *(xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "getAttributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_getAttributeValue, "PyObject *(struct LxmlElement *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "iterattributes", (void (**)(void))&__pyx_api_f_4lxml_5etree_iterattributes, "PyObject *(struct LxmlElement *, int)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "collectAttributes", (void (**)(void))&__pyx_api_f_4lxml_5etree_collectAttributes, "PyObject *(xmlNode *, int)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "setAttributeValue", (void (**)(void))&__pyx_api_f_4lxml_5etree_setAttributeValue, "int (struct LxmlElement *, PyObject *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "delAttribute", (void (**)(void))&__pyx_api_f_4lxml_5etree_delAttribute, "int (struct LxmlElement *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "delAttributeFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_delAttributeFromNsName, "int (xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "hasChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_hasChild, "int (xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "findChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChild, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "findChildForwards", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChildForwards, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "findChildBackwards", (void (**)(void))&__pyx_api_f_4lxml_5etree_findChildBackwards, "xmlNode *(xmlNode *, Py_ssize_t)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "nextElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_nextElement, "xmlNode *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "previousElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_previousElement, "xmlNode *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "appendChild", (void (**)(void))&__pyx_api_f_4lxml_5etree_appendChild, "void (struct LxmlElement *, struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "appendChildToElement", (void (**)(void))&__pyx_api_f_4lxml_5etree_appendChildToElement, "int (struct LxmlElement *, struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "pyunicode", (void (**)(void))&__pyx_api_f_4lxml_5etree_pyunicode, "PyObject *(const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "utf8", (void (**)(void))&__pyx_api_f_4lxml_5etree_utf8, "PyObject *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "getNsTag", (void (**)(void))&__pyx_api_f_4lxml_5etree_getNsTag, "PyObject *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "getNsTagWithEmptyNs", (void (**)(void))&__pyx_api_f_4lxml_5etree_getNsTagWithEmptyNs, "PyObject *(PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "namespacedName", (void (**)(void))&__pyx_api_f_4lxml_5etree_namespacedName, "PyObject *(xmlNode *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "namespacedNameFromNsName", (void (**)(void))&__pyx_api_f_4lxml_5etree_namespacedNameFromNsName, "PyObject *(const xmlChar *, const xmlChar *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "iteratorStoreNext", (void (**)(void))&__pyx_api_f_4lxml_5etree_iteratorStoreNext, "void (struct LxmlElementIterator *, struct LxmlElement *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "initTagMatch", (void (**)(void))&__pyx_api_f_4lxml_5etree_initTagMatch, "void (struct LxmlElementTagMatcher *, PyObject *)") < 0) goto bad; + if (__Pyx_ImportFunction_3_2_4(module, "findOrBuildNodeNsPrefix", (void (**)(void))&__pyx_api_f_4lxml_5etree_findOrBuildNodeNsPrefix, "xmlNs *(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *)") < 0) goto bad; + Py_DECREF(module); module = 0; + return 0; + bad: + Py_XDECREF(module); + return -1; +} + +#endif /* !__PYX_HAVE_API__lxml__etree */ diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/extensions.pxi b/presentation/.venv/lib/python3.12/site-packages/lxml/extensions.pxi new file mode 100644 index 0000000..5945080 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/extensions.pxi @@ -0,0 +1,838 @@ +# support for extension functions in XPath and XSLT + +cdef class XPathError(LxmlError): + """Base class of all XPath errors. + """ + +cdef class XPathEvalError(XPathError): + """Error during XPath evaluation. + """ + +cdef class XPathFunctionError(XPathEvalError): + """Internal error looking up an XPath extension function. + """ + +cdef class XPathResultError(XPathEvalError): + """Error handling an XPath result. + """ + + +# forward declarations + +ctypedef int (*_register_function)(void* ctxt, name_utf, ns_uri_utf) +cdef class _ExsltRegExp + +################################################################################ +# Base class for XSLT and XPath evaluation contexts: functions, namespaces, ... + +@cython.internal +cdef class _BaseContext: + cdef xpath.xmlXPathContext* _xpathCtxt + cdef _Document _doc + cdef dict _extensions + cdef list _namespaces + cdef list _global_namespaces + cdef dict _utf_refs + cdef dict _function_cache + cdef dict _eval_context_dict + cdef bint _build_smart_strings + # for exception handling and temporary reference keeping: + cdef _TempStore _temp_refs + cdef set _temp_documents + cdef _ExceptionContext _exc + cdef _ErrorLog _error_log + + def __init__(self, namespaces, extensions, error_log, enable_regexp, + build_smart_strings): + cdef _ExsltRegExp _regexp + cdef dict new_extensions + cdef list ns + self._utf_refs = {} + self._global_namespaces = [] + self._function_cache = {} + self._eval_context_dict = None + self._error_log = error_log + + if extensions is not None: + # convert extensions to UTF-8 + if isinstance(extensions, dict): + extensions = (extensions,) + # format: [ {(ns, name):function} ] -> {(ns_utf, name_utf):function} + new_extensions = {} + for extension in extensions: + for (ns_uri, name), function in extension.items(): + if name is None: + raise ValueError, "extensions must have non empty names" + ns_utf = self._to_utf(ns_uri) + name_utf = self._to_utf(name) + new_extensions[(ns_utf, name_utf)] = function + extensions = new_extensions or None + + if namespaces is not None: + if isinstance(namespaces, dict): + namespaces = namespaces.items() + if namespaces: + ns = [] + for prefix, ns_uri in namespaces: + if prefix is None or not prefix: + raise TypeError, \ + "empty namespace prefix is not supported in XPath" + if ns_uri is None or not ns_uri: + raise TypeError, \ + "setting default namespace is not supported in XPath" + prefix_utf = self._to_utf(prefix) + ns_uri_utf = self._to_utf(ns_uri) + ns.append( (prefix_utf, ns_uri_utf) ) + namespaces = ns + else: + namespaces = None + + self._doc = None + self._exc = _ExceptionContext() + self._extensions = extensions + self._namespaces = namespaces + self._temp_refs = _TempStore() + self._temp_documents = set() + self._build_smart_strings = build_smart_strings + + if enable_regexp: + _regexp = _ExsltRegExp() + _regexp._register_in_context(self) + + cdef _BaseContext _copy(self): + cdef _BaseContext context + if self._namespaces is not None: + namespaces = self._namespaces[:] + else: + namespaces = None + context = self.__class__(namespaces, None, self._error_log, False, + self._build_smart_strings) + if self._extensions is not None: + context._extensions = self._extensions.copy() + return context + + cdef bytes _to_utf(self, s): + "Convert to UTF-8 and keep a reference to the encoded string" + cdef python.PyObject* dict_result + if s is None: + return None + dict_result = python.PyDict_GetItem(self._utf_refs, s) + if dict_result is not NULL: + return dict_result + utf = _utf8(s) + self._utf_refs[s] = utf + if python.IS_PYPY: + # use C level refs, PyPy refs are not enough! + python.Py_INCREF(utf) + return utf + + cdef void _set_xpath_context(self, xpath.xmlXPathContext* xpathCtxt) noexcept: + self._xpathCtxt = xpathCtxt + xpathCtxt.userData = self + # Need a cast here because older libxml2 releases do not use 'const' in the functype. + xpathCtxt.error = _receiveXPathError + + @cython.final + cdef _register_context(self, _Document doc): + self._doc = doc + self._exc.clear() + + @cython.final + cdef _cleanup_context(self): + #xpath.xmlXPathRegisteredNsCleanup(self._xpathCtxt) + #self.unregisterGlobalNamespaces() + if python.IS_PYPY: + # clean up double refs in PyPy (see "_to_utf()" method) + for ref in self._utf_refs.itervalues(): + python.Py_DECREF(ref) + self._utf_refs.clear() + self._eval_context_dict = None + self._doc = None + + @cython.final + cdef _release_context(self): + if self._xpathCtxt is not NULL: + self._xpathCtxt.userData = NULL + self._xpathCtxt = NULL + + # namespaces (internal UTF-8 methods with leading '_') + + cdef addNamespace(self, prefix, ns_uri): + cdef list namespaces + if prefix is None: + raise TypeError, "empty prefix is not supported in XPath" + prefix_utf = self._to_utf(prefix) + ns_uri_utf = self._to_utf(ns_uri) + new_item = (prefix_utf, ns_uri_utf) + if self._namespaces is None: + self._namespaces = [new_item] + else: + namespaces = [] + for item in self._namespaces: + if item[0] == prefix_utf: + item = new_item + new_item = None + namespaces.append(item) + if new_item is not None: + namespaces.append(new_item) + self._namespaces = namespaces + if self._xpathCtxt is not NULL: + xpath.xmlXPathRegisterNs( + self._xpathCtxt, _xcstr(prefix_utf), _xcstr(ns_uri_utf)) + + cdef registerNamespace(self, prefix, ns_uri): + if prefix is None: + raise TypeError, "empty prefix is not supported in XPath" + prefix_utf = self._to_utf(prefix) + ns_uri_utf = self._to_utf(ns_uri) + self._global_namespaces.append(prefix_utf) + xpath.xmlXPathRegisterNs(self._xpathCtxt, + _xcstr(prefix_utf), _xcstr(ns_uri_utf)) + + cdef registerLocalNamespaces(self): + if self._namespaces is None: + return + for prefix_utf, ns_uri_utf in self._namespaces: + xpath.xmlXPathRegisterNs( + self._xpathCtxt, _xcstr(prefix_utf), _xcstr(ns_uri_utf)) + + cdef registerGlobalNamespaces(self): + cdef list ns_prefixes = _find_all_extension_prefixes() + if python.PyList_GET_SIZE(ns_prefixes) > 0: + for prefix_utf, ns_uri_utf in ns_prefixes: + self._global_namespaces.append(prefix_utf) + xpath.xmlXPathRegisterNs( + self._xpathCtxt, _xcstr(prefix_utf), _xcstr(ns_uri_utf)) + + cdef unregisterGlobalNamespaces(self): + if python.PyList_GET_SIZE(self._global_namespaces) > 0: + for prefix_utf in self._global_namespaces: + xpath.xmlXPathRegisterNs(self._xpathCtxt, + _xcstr(prefix_utf), NULL) + del self._global_namespaces[:] + + cdef void _unregisterNamespace(self, prefix_utf) noexcept: + xpath.xmlXPathRegisterNs(self._xpathCtxt, + _xcstr(prefix_utf), NULL) + + # extension functions + + cdef int _addLocalExtensionFunction(self, ns_utf, name_utf, function) except -1: + if self._extensions is None: + self._extensions = {} + self._extensions[(ns_utf, name_utf)] = function + return 0 + + cdef registerGlobalFunctions(self, void* ctxt, + _register_function reg_func): + cdef python.PyObject* dict_result + cdef dict d + for ns_utf, ns_functions in __FUNCTION_NAMESPACE_REGISTRIES.iteritems(): + dict_result = python.PyDict_GetItem( + self._function_cache, ns_utf) + if dict_result is not NULL: + d = dict_result + else: + d = {} + self._function_cache[ns_utf] = d + for name_utf, function in ns_functions.iteritems(): + d[name_utf] = function + reg_func(ctxt, name_utf, ns_utf) + + cdef registerLocalFunctions(self, void* ctxt, + _register_function reg_func): + cdef python.PyObject* dict_result + cdef dict d + if self._extensions is None: + return # done + last_ns = None + d = None + for (ns_utf, name_utf), function in self._extensions.iteritems(): + if ns_utf is not last_ns or d is None: + last_ns = ns_utf + dict_result = python.PyDict_GetItem( + self._function_cache, ns_utf) + if dict_result is not NULL: + d = dict_result + else: + d = {} + self._function_cache[ns_utf] = d + d[name_utf] = function + reg_func(ctxt, name_utf, ns_utf) + + cdef unregisterAllFunctions(self, void* ctxt, + _register_function unreg_func): + for ns_utf, functions in self._function_cache.iteritems(): + for name_utf in functions: + unreg_func(ctxt, name_utf, ns_utf) + + cdef unregisterGlobalFunctions(self, void* ctxt, + _register_function unreg_func): + for ns_utf, functions in self._function_cache.items(): + for name_utf in functions: + if self._extensions is None or \ + (ns_utf, name_utf) not in self._extensions: + unreg_func(ctxt, name_utf, ns_utf) + + @cython.final + cdef _find_cached_function(self, const_xmlChar* c_ns_uri, const_xmlChar* c_name): + """Lookup an extension function in the cache and return it. + + Parameters: c_ns_uri may be NULL, c_name must not be NULL + """ + cdef python.PyObject* c_dict + cdef python.PyObject* dict_result + c_dict = python.PyDict_GetItem( + self._function_cache, None if c_ns_uri is NULL else c_ns_uri) + if c_dict is not NULL: + dict_result = python.PyDict_GetItem( + c_dict, c_name) + if dict_result is not NULL: + return dict_result + return None + + # Python access to the XPath context for extension functions + + @property + def context_node(self): + cdef xmlNode* c_node + if self._xpathCtxt is NULL: + raise XPathError, \ + "XPath context is only usable during the evaluation" + c_node = self._xpathCtxt.node + if c_node is NULL: + raise XPathError, "no context node" + if c_node.doc != self._xpathCtxt.doc: + raise XPathError, \ + "document-external context nodes are not supported" + if self._doc is None: + raise XPathError, "document context is missing" + return _elementFactory(self._doc, c_node) + + @property + def eval_context(self): + if self._eval_context_dict is None: + self._eval_context_dict = {} + return self._eval_context_dict + + # Python reference keeping during XPath function evaluation + + @cython.final + cdef _release_temp_refs(self): + "Free temporarily referenced objects from this context." + self._temp_refs.clear() + self._temp_documents.clear() + + @cython.final + cdef _hold(self, obj): + """A way to temporarily hold references to nodes in the evaluator. + + This is needed because otherwise nodes created in XPath extension + functions would be reference counted too soon, during the XPath + evaluation. This is most important in the case of exceptions. + """ + cdef _Element element + if isinstance(obj, _Element): + self._temp_refs.add(obj) + self._temp_documents.add((<_Element>obj)._doc) + return + elif _isString(obj) or not python.PySequence_Check(obj): + return + for o in obj: + if isinstance(o, _Element): + #print "Holding element:", element._c_node + self._temp_refs.add(o) + #print "Holding document:", element._doc._c_doc + self._temp_documents.add((<_Element>o)._doc) + + @cython.final + cdef _Document _findDocumentForNode(self, xmlNode* c_node): + """If an XPath expression returns an element from a different + document than the current context document, we call this to + see if it was possibly created by an extension and is a known + document instance. + """ + cdef _Document doc + for doc in self._temp_documents: + if doc is not None and doc._c_doc is c_node.doc: + return doc + return None + + +# libxml2 keeps these error messages in a static array in its code +# and doesn't give us access to them ... + +cdef tuple LIBXML2_XPATH_ERROR_MESSAGES = ( + b"Ok", + b"Number encoding", + b"Unfinished literal", + b"Start of literal", + b"Expected $ for variable reference", + b"Undefined variable", + b"Invalid predicate", + b"Invalid expression", + b"Missing closing curly brace", + b"Unregistered function", + b"Invalid operand", + b"Invalid type", + b"Invalid number of arguments", + b"Invalid context size", + b"Invalid context position", + b"Memory allocation error", + b"Syntax error", + b"Resource error", + b"Sub resource error", + b"Undefined namespace prefix", + b"Encoding error", + b"Char out of XML range", + b"Invalid or incomplete context", + b"Stack usage error", + b"Forbidden variable\n", + b"?? Unknown error ??\n", +) + +cdef void _forwardXPathError(void* c_ctxt, const xmlerror.xmlError* c_error) noexcept with gil: + cdef xmlerror.xmlError error + cdef int xpath_code + if c_error.message is not NULL: + error.message = c_error.message + else: + xpath_code = c_error.code - xmlerror.XML_XPATH_EXPRESSION_OK + if 0 <= xpath_code < len(LIBXML2_XPATH_ERROR_MESSAGES): + error.message = _cstr(LIBXML2_XPATH_ERROR_MESSAGES[xpath_code]) + else: + error.message = b"unknown error" + error.domain = c_error.domain + error.code = c_error.code + error.level = c_error.level + error.line = c_error.line + error.int2 = c_error.int1 # column + error.file = c_error.file + error.node = NULL + + (<_BaseContext>c_ctxt)._error_log._receive(&error) + +cdef void _receiveXPathError(void* c_context, const xmlerror.xmlError* error) noexcept nogil: + if not __DEBUG: + return + if c_context is NULL: + _forwardError(NULL, error) + else: + _forwardXPathError(c_context, error) + + +def Extension(module, function_mapping=None, *, ns=None): + """Extension(module, function_mapping=None, ns=None) + + Build a dictionary of extension functions from the functions + defined in a module or the methods of an object. + + As second argument, you can pass an additional mapping of + attribute names to XPath function names, or a list of function + names that should be taken. + + The ``ns`` keyword argument accepts a namespace URI for the XPath + functions. + """ + cdef dict functions = {} + if isinstance(function_mapping, dict): + for function_name, xpath_name in function_mapping.items(): + functions[(ns, xpath_name)] = getattr(module, function_name) + else: + if function_mapping is None: + function_mapping = [ name for name in dir(module) + if not name.startswith('_') ] + for function_name in function_mapping: + functions[(ns, function_name)] = getattr(module, function_name) + return functions + +################################################################################ +# EXSLT regexp implementation + +@cython.final +@cython.internal +cdef class _ExsltRegExp: + cdef dict _compile_map + def __cinit__(self): + self._compile_map = {} + + cdef _make_string(self, value): + if _isString(value): + return value + elif isinstance(value, list): + # node set: take recursive text concatenation of first element + if python.PyList_GET_SIZE(value) == 0: + return '' + firstnode = value[0] + if _isString(firstnode): + return firstnode + elif isinstance(firstnode, _Element): + c_text = tree.xmlNodeGetContent((<_Element>firstnode)._c_node) + if c_text is NULL: + raise MemoryError() + try: + return funicode(c_text) + finally: + tree.xmlFree(c_text) + else: + return unicode(firstnode) + else: + return unicode(value) + + cdef _compile(self, rexp, ignore_case): + cdef python.PyObject* c_result + rexp = self._make_string(rexp) + key = (rexp, ignore_case) + c_result = python.PyDict_GetItem(self._compile_map, key) + if c_result is not NULL: + return c_result + py_flags = re.UNICODE + if ignore_case: + py_flags = py_flags | re.IGNORECASE + rexp_compiled = re.compile(rexp, py_flags) + self._compile_map[key] = rexp_compiled + return rexp_compiled + + def test(self, ctxt, s, rexp, flags=''): + flags = self._make_string(flags) + s = self._make_string(s) + rexpc = self._compile(rexp, 'i' in flags) + if rexpc.search(s) is None: + return False + else: + return True + + def match(self, ctxt, s, rexp, flags=''): + cdef list result_list + flags = self._make_string(flags) + s = self._make_string(s) + rexpc = self._compile(rexp, 'i' in flags) + if 'g' in flags: + results = rexpc.findall(s) + if not results: + return () + else: + result = rexpc.search(s) + if not result: + return () + results = [ result.group() ] + results.extend( result.groups('') ) + result_list = [] + root = Element('matches') + for s_match in results: + if python.PyTuple_CheckExact(s_match): + s_match = ''.join(s_match) + elem = SubElement(root, 'match') + elem.text = s_match + result_list.append(elem) + return result_list + + def replace(self, ctxt, s, rexp, flags, replacement): + replacement = self._make_string(replacement) + flags = self._make_string(flags) + s = self._make_string(s) + rexpc = self._compile(rexp, 'i' in flags) + count: object = 0 if 'g' in flags else 1 + return rexpc.sub(replacement, s, count) + + cdef _register_in_context(self, _BaseContext context): + ns = b"http://exslt.org/regular-expressions" + context._addLocalExtensionFunction(ns, b"test", self.test) + context._addLocalExtensionFunction(ns, b"match", self.match) + context._addLocalExtensionFunction(ns, b"replace", self.replace) + + +################################################################################ +# helper functions + +cdef xpath.xmlXPathObject* _wrapXPathObject(object obj, _Document doc, + _BaseContext context) except NULL: + cdef xpath.xmlNodeSet* resultSet + cdef _Element fake_node = None + cdef xmlNode* c_node + + if isinstance(obj, unicode): + obj = _utf8(obj) + if isinstance(obj, bytes): + # libxml2 copies the string value + return xpath.xmlXPathNewCString(_cstr(obj)) + if isinstance(obj, bool): + return xpath.xmlXPathNewBoolean(obj) + if python.PyNumber_Check(obj): + return xpath.xmlXPathNewFloat(obj) + if obj is None: + resultSet = xpath.xmlXPathNodeSetCreate(NULL) + elif isinstance(obj, _Element): + resultSet = xpath.xmlXPathNodeSetCreate((<_Element>obj)._c_node) + elif python.PySequence_Check(obj): + resultSet = xpath.xmlXPathNodeSetCreate(NULL) + try: + for value in obj: + if isinstance(value, _Element): + if context is not None: + context._hold(value) + xpath.xmlXPathNodeSetAdd(resultSet, (<_Element>value)._c_node) + else: + if context is None or doc is None: + raise XPathResultError, \ + f"Non-Element values not supported at this point - got {value!r}" + # support strings by appending text nodes to an Element + if isinstance(value, unicode): + value = _utf8(value) + if isinstance(value, bytes): + if fake_node is None: + fake_node = _makeElement("text-root", NULL, doc, None, + None, None, None, None, None) + context._hold(fake_node) + else: + # append a comment node to keep the text nodes separate + c_node = tree.xmlNewDocComment(doc._c_doc, "") + if c_node is NULL: + raise MemoryError() + tree.xmlAddChild(fake_node._c_node, c_node) + context._hold(value) + c_node = tree.xmlNewDocText(doc._c_doc, _xcstr(value)) + if c_node is NULL: + raise MemoryError() + tree.xmlAddChild(fake_node._c_node, c_node) + xpath.xmlXPathNodeSetAdd(resultSet, c_node) + else: + raise XPathResultError, \ + f"This is not a supported node-set result: {value!r}" + except: + xpath.xmlXPathFreeNodeSet(resultSet) + raise + else: + raise XPathResultError, f"Unknown return type: {python._fqtypename(obj).decode('utf8')}" + return xpath.xmlXPathWrapNodeSet(resultSet) + +cdef object _unwrapXPathObject(xpath.xmlXPathObject* xpathObj, + _Document doc, _BaseContext context): + if xpathObj.type == xpath.XPATH_UNDEFINED: + raise XPathResultError, "Undefined xpath result" + elif xpathObj.type == xpath.XPATH_NODESET: + return _createNodeSetResult(xpathObj, doc, context) + elif xpathObj.type == xpath.XPATH_BOOLEAN: + return xpathObj.boolval + elif xpathObj.type == xpath.XPATH_NUMBER: + return xpathObj.floatval + elif xpathObj.type == xpath.XPATH_STRING: + stringval = funicode(xpathObj.stringval) + if context._build_smart_strings: + stringval = _elementStringResultFactory( + stringval, None, None, False) + return stringval + elif xpathObj.type == xpath.XPATH_POINT: + raise NotImplementedError, "XPATH_POINT" + elif xpathObj.type == xpath.XPATH_RANGE: + raise NotImplementedError, "XPATH_RANGE" + elif xpathObj.type == xpath.XPATH_LOCATIONSET: + raise NotImplementedError, "XPATH_LOCATIONSET" + elif xpathObj.type == xpath.XPATH_USERS: + raise NotImplementedError, "XPATH_USERS" + elif xpathObj.type == xpath.XPATH_XSLT_TREE: + return _createNodeSetResult(xpathObj, doc, context) + else: + raise XPathResultError, f"Unknown xpath result {xpathObj.type}" + +cdef object _createNodeSetResult(xpath.xmlXPathObject* xpathObj, _Document doc, + _BaseContext context): + cdef xmlNode* c_node + cdef int i + cdef list result + result = [] + if xpathObj.nodesetval is NULL: + return result + for i in range(xpathObj.nodesetval.nodeNr): + c_node = xpathObj.nodesetval.nodeTab[i] + _unpackNodeSetEntry(result, c_node, doc, context, + xpathObj.type == xpath.XPATH_XSLT_TREE) + return result + +cdef _unpackNodeSetEntry(list results, xmlNode* c_node, _Document doc, + _BaseContext context, bint is_fragment): + cdef xmlNode* c_child + if _isElement(c_node): + if c_node.doc != doc._c_doc and c_node.doc._private is NULL: + # XXX: works, but maybe not always the right thing to do? + # XPath: only runs when extensions create or copy trees + # -> we store Python refs to these, so that is OK + # XSLT: can it leak when merging trees from multiple sources? + c_node = tree.xmlDocCopyNode(c_node, doc._c_doc, 1) + if not c_node: + raise MemoryError() + # FIXME: call _instantiateElementFromXPath() instead? + results.append( + _fakeDocElementFactory(doc, c_node)) + elif c_node.type == tree.XML_TEXT_NODE or \ + c_node.type == tree.XML_CDATA_SECTION_NODE or \ + c_node.type == tree.XML_ATTRIBUTE_NODE: + results.append( + _buildElementStringResult(doc, c_node, context)) + elif c_node.type == tree.XML_NAMESPACE_DECL: + results.append( (funicodeOrNone((c_node).prefix), + funicodeOrNone((c_node).href)) ) + elif c_node.type == tree.XML_DOCUMENT_NODE or \ + c_node.type == tree.XML_HTML_DOCUMENT_NODE: + # ignored for everything but result tree fragments + if is_fragment: + c_child = c_node.children + while c_child is not NULL: + _unpackNodeSetEntry(results, c_child, doc, context, 0) + c_child = c_child.next + elif c_node.type == tree.XML_XINCLUDE_START or \ + c_node.type == tree.XML_XINCLUDE_END: + pass + else: + raise NotImplementedError, \ + f"Not yet implemented result node type: {c_node.type}" + +cdef void _freeXPathObject(xpath.xmlXPathObject* xpathObj) noexcept: + """Free the XPath object, but *never* free the *content* of node sets. + Python dealloc will do that for us. + """ + if xpathObj.nodesetval is not NULL: + xpath.xmlXPathFreeNodeSet(xpathObj.nodesetval) + xpathObj.nodesetval = NULL + xpath.xmlXPathFreeObject(xpathObj) + +cdef _Element _instantiateElementFromXPath(xmlNode* c_node, _Document doc, + _BaseContext context): + # NOTE: this may copy the element - only call this when it can't leak + if c_node.doc != doc._c_doc and c_node.doc._private is NULL: + # not from the context document and not from a fake document + # either => may still be from a known document, e.g. one + # created by an extension function + node_doc = context._findDocumentForNode(c_node) + if node_doc is None: + # not from a known document at all! => can only make a + # safety copy here + c_node = tree.xmlDocCopyNode(c_node, doc._c_doc, 1) + if not c_node: + raise MemoryError() + else: + doc = node_doc + return _fakeDocElementFactory(doc, c_node) + +################################################################################ +# special str/unicode subclasses + +@cython.final +cdef class _ElementUnicodeResult(unicode): + cdef _Element _parent + cdef readonly object attrname + cdef readonly bint is_tail + + def getparent(self): + return self._parent + + @property + def is_text(self): + return self._parent is not None and not (self.is_tail or self.attrname is not None) + + @property + def is_attribute(self): + return self.attrname is not None + +cdef object _elementStringResultFactory(string_value, _Element parent, + attrname, bint is_tail): + result = _ElementUnicodeResult(string_value) + result._parent = parent + result.is_tail = is_tail + result.attrname = attrname + return result + +cdef object _buildElementStringResult(_Document doc, xmlNode* c_node, + _BaseContext context): + cdef _Element parent = None + cdef object attrname = None + cdef xmlNode* c_element + cdef bint is_tail + + if c_node.type == tree.XML_ATTRIBUTE_NODE: + attrname = _namespacedName(c_node) + is_tail = 0 + s = tree.xmlNodeGetContent(c_node) + if s is NULL: + raise MemoryError() + try: + value = funicode(s) + finally: + tree.xmlFree(s) + c_element = NULL + else: + #assert c_node.type == tree.XML_TEXT_NODE or c_node.type == tree.XML_CDATA_SECTION_NODE, "invalid node type" + # may be tail text or normal text + value = funicode(c_node.content) + c_element = _previousElement(c_node) + is_tail = c_element is not NULL + + if not context._build_smart_strings: + return value + + if c_element is NULL: + # non-tail text or attribute text + c_element = c_node.parent + while c_element is not NULL and not _isElement(c_element): + c_element = c_element.parent + + if c_element is not NULL: + parent = _instantiateElementFromXPath(c_element, doc, context) + + return _elementStringResultFactory( + value, parent, attrname, is_tail) + +################################################################################ +# callbacks for XPath/XSLT extension functions + +cdef void _extension_function_call(_BaseContext context, function, + xpath.xmlXPathParserContext* ctxt, int nargs) noexcept: + cdef _Document doc + cdef xpath.xmlXPathObject* obj + cdef list args + cdef int i + doc = context._doc + try: + args = [] + for i in range(nargs): + obj = xpath.valuePop(ctxt) + try: + o = _unwrapXPathObject(obj, doc, context) + finally: + _freeXPathObject(obj) + args.append(o) + args.reverse() + + res = function(context, *args) + # wrap result for XPath consumption + obj = _wrapXPathObject(res, doc, context) + # prevent Python from deallocating elements handed to libxml2 + context._hold(res) + xpath.valuePush(ctxt, obj) + except: + xpath.xmlXPathErr(ctxt, xpath.XPATH_EXPR_ERROR) + context._exc._store_raised() + finally: + return # swallow any further exceptions + +# lookup the function by name and call it + +cdef void _xpath_function_call(xpath.xmlXPathParserContext* ctxt, + int nargs) noexcept with gil: + cdef _BaseContext context + cdef xpath.xmlXPathContext* rctxt = ctxt.context + context = <_BaseContext> rctxt.userData + try: + function = context._find_cached_function(rctxt.functionURI, rctxt.function) + if function is not None: + _extension_function_call(context, function, ctxt, nargs) + else: + xpath.xmlXPathErr(ctxt, xpath.XPATH_UNKNOWN_FUNC_ERROR) + context._exc._store_exception(XPathFunctionError( + f"XPath function '{_namespacedNameFromNsName(rctxt.functionURI, rctxt.function)}' not found")) + except: + # may not be the right error, but we need to tell libxml2 *something* + xpath.xmlXPathErr(ctxt, xpath.XPATH_UNKNOWN_FUNC_ERROR) + context._exc._store_raised() + finally: + return # swallow any further exceptions diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/html/ElementSoup.py b/presentation/.venv/lib/python3.12/site-packages/lxml/html/ElementSoup.py new file mode 100644 index 0000000..c35365d --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/html/ElementSoup.py @@ -0,0 +1,10 @@ +__doc__ = """Legacy interface to the BeautifulSoup HTML parser. +""" + +__all__ = ["parse", "convert_tree"] + +from .soupparser import convert_tree, parse as _parse + +def parse(file, beautifulsoup=None, makeelement=None): + root = _parse(file, beautifulsoup=beautifulsoup, makeelement=makeelement) + return root.getroot() diff --git a/presentation/.venv/lib/python3.12/site-packages/lxml/html/__init__.py b/presentation/.venv/lib/python3.12/site-packages/lxml/html/__init__.py new file mode 100644 index 0000000..2cee9f4 --- /dev/null +++ b/presentation/.venv/lib/python3.12/site-packages/lxml/html/__init__.py @@ -0,0 +1,1927 @@ +# Copyright (c) 2004 Ian Bicking. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# 3. Neither the name of Ian Bicking nor the names of its contributors may +# be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IAN BICKING OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""The ``lxml.html`` tool set for HTML handling. +""" + + +__all__ = [ + 'document_fromstring', 'fragment_fromstring', 'fragments_fromstring', 'fromstring', + 'tostring', 'Element', 'defs', 'open_in_browser', 'submit_form', + 'find_rel_links', 'find_class', 'make_links_absolute', + 'resolve_base_href', 'iterlinks', 'rewrite_links', 'parse'] + + +import copy +import re + +from collections.abc import MutableMapping, MutableSet +from functools import partial +from urllib.parse import urljoin + +from .. import etree +from . import defs +from ._setmixin import SetMixin + + +def __fix_docstring(s): + # TODO: remove and clean up doctests + if not s: + return s + sub = re.compile(r"^(\s*)u'", re.M).sub + return sub(r"\1'", s) + + +XHTML_NAMESPACE = "http://www.w3.org/1999/xhtml" + +_rel_links_xpath = etree.XPath("descendant-or-self::a[@rel]|descendant-or-self::x:a[@rel]", + namespaces={'x':XHTML_NAMESPACE}) +_options_xpath = etree.XPath("descendant-or-self::option|descendant-or-self::x:option", + namespaces={'x':XHTML_NAMESPACE}) +_forms_xpath = etree.XPath("descendant-or-self::form|descendant-or-self::x:form", + namespaces={'x':XHTML_NAMESPACE}) +#_class_xpath = etree.XPath(r"descendant-or-self::*[regexp:match(@class, concat('\b', $class_name, '\b'))]", {'regexp': 'http://exslt.org/regular-expressions'}) +_class_xpath = etree.XPath("descendant-or-self::*[@class and contains(concat(' ', normalize-space(@class), ' '), concat(' ', $class_name, ' '))]") +_id_xpath = etree.XPath("descendant-or-self::*[@id=$id]") +_collect_string_content = etree.XPath("string()", smart_strings=False) +_iter_css_urls = re.compile(r'url\(('+'["][^"]*["]|'+"['][^']*[']|"+r'[^)]*)\)', re.I).finditer +_iter_css_imports = re.compile(r'@import "(.*?)"').finditer +_label_xpath = etree.XPath("//label[@for=$id]|//x:label[@for=$id]", + namespaces={'x':XHTML_NAMESPACE}) +_archive_re = re.compile(r'[^ ]+') +_parse_meta_refresh_url = re.compile( + r'[^;=]*;\s*(?:url\s*=\s*)?(?P.*)$', re.I).search + + +def _unquote_match(s, pos): + if s[:1] == '"' and s[-1:] == '"' or s[:1] == "'" and s[-1:] == "'": + return s[1:-1], pos+1 + else: + return s,pos + + +def _transform_result(typ, result): + """Convert the result back into the input type. + """ + if issubclass(typ, bytes): + return tostring(result, encoding='utf-8') + elif issubclass(typ, str): + return tostring(result, encoding='unicode') + else: + return result + + +def _nons(tag): + if isinstance(tag, str): + if tag[0] == '{' and tag[1:len(XHTML_NAMESPACE)+1] == XHTML_NAMESPACE: + return tag.split('}')[-1] + return tag + + +class Classes(MutableSet): + """Provides access to an element's class attribute as a set-like collection. + Usage:: + + >>> el = fromstring('') + >>> classes = el.classes # or: classes = Classes(el.attrib) + >>> classes |= ['block', 'paragraph'] + >>> el.get('class') + 'hidden large block paragraph' + >>> classes.toggle('hidden') + False + >>> el.get('class') + 'large block paragraph' + >>> classes -= ('some', 'classes', 'block') + >>> el.get('class') + 'large paragraph' + """ + def __init__(self, attributes): + self._attributes = attributes + self._get_class_value = partial(attributes.get, 'class', '') + + def add(self, value): + """ + Add a class. + + This has no effect if the class is already present. + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + classes = self._get_class_value().split() + if value in classes: + return + classes.append(value) + self._attributes['class'] = ' '.join(classes) + + def discard(self, value): + """ + Remove a class if it is currently present. + + If the class is not present, do nothing. + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + classes = [name for name in self._get_class_value().split() + if name != value] + if classes: + self._attributes['class'] = ' '.join(classes) + elif 'class' in self._attributes: + del self._attributes['class'] + + def remove(self, value): + """ + Remove a class; it must currently be present. + + If the class is not present, raise a KeyError. + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + super().remove(value) + + def __contains__(self, name): + classes = self._get_class_value() + return name in classes and name in classes.split() + + def __iter__(self): + return iter(self._get_class_value().split()) + + def __len__(self): + return len(self._get_class_value().split()) + + # non-standard methods + + def update(self, values): + """ + Add all names from 'values'. + """ + classes = self._get_class_value().split() + extended = False + for value in values: + if value not in classes: + classes.append(value) + extended = True + if extended: + self._attributes['class'] = ' '.join(classes) + + def toggle(self, value): + """ + Add a class name if it isn't there yet, or remove it if it exists. + + Returns true if the class was added (and is now enabled) and + false if it was removed (and is now disabled). + """ + if not value or re.search(r'\s', value): + raise ValueError("Invalid class name: %r" % value) + classes = self._get_class_value().split() + try: + classes.remove(value) + enabled = False + except ValueError: + classes.append(value) + enabled = True + if classes: + self._attributes['class'] = ' '.join(classes) + else: + del self._attributes['class'] + return enabled + + +class HtmlMixin: + + def set(self, key, value=None): + """set(self, key, value=None) + + Sets an element attribute. If no value is provided, or if the value is None, + creates a 'boolean' attribute without value, e.g. "
" + for ``form.set('novalidate')``. + """ + super().set(key, value) + + @property + def classes(self): + """ + A set-like wrapper around the 'class' attribute. + """ + return Classes(self.attrib) + + @classes.setter + def classes(self, classes): + assert isinstance(classes, Classes) # only allow "el.classes |= ..." etc. + value = classes._get_class_value() + if value: + self.set('class', value) + elif self.get('class') is not None: + del self.attrib['class'] + + @property + def base_url(self): + """ + Returns the base URL, given when the page was parsed. + + Use with ``urlparse.urljoin(el.base_url, href)`` to get + absolute URLs. + """ + return self.getroottree().docinfo.URL + + @property + def forms(self): + """ + Return a list of all the forms + """ + return _forms_xpath(self) + + @property + def body(self): + """ + Return the element. Can be called from a child element + to get the document's head. + """ + for element in self.getroottree().iter("body", f"{{{XHTML_NAMESPACE}}}body"): + return element + return None + + @property + def head(self): + """ + Returns the element. Can be called from a child + element to get the document's head. + """ + for element in self.getroottree().iter("head", f"{{{XHTML_NAMESPACE}}}head"): + return element + return None + + @property + def label(self): + """ + Get or set any

)Vpa~qH6+oGN7vC0`oOCq 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�bzX%V)yfHKyeM-6KgyBZ;YC5cqdCu z`M5B;q8juufQso4n7Mc7I~h0KU-&_xs5{dB6gpS>!94r~%XyPs-}3D*$Dg<}9Dka_PYr`bOVJSPNC+k) z6aKVK1SP0)36jx=$#5{1fa233ktr2ox=8ZhYB9rj?-RGA5hf2XICDHad95*aBzc|+ zex8pR*I5YTChsZrKfi{57>~4`6ZlBPg-KAA&E7s10Wlsw-yds$wY9t{)lwNrYR5L_ z9Z?rcp$42@j<(Csc8$ENeFgvOzbx$S^0?9K7jJLK_5HJ4&wfs@i%Hr7|F$bcSI>L_ zUDZq#pS#p&D{0d|Q-Mm{J4re&g4#n?XE8j0FoBS`D)=c*e`ks~JzNZ7bh;2&l2z}s zb44q^0-#VURvfCeXD=8Gj@VUrxh8(%z{f z=u@%2fg(m`tK(MJ@q)Lk<5-uWOi)!XL($d=A}D#=rzC@(vHP!jttXACH=M5rw=Pm> zeia{PE+6FD_^W9(bG^GW%amwwVXBqnZtg0`t^)a%nO<#CnJX+5My*iVxh9ONbHeE2 z4TRB8$jRX=luMlIaPy@6QkqxeJIDx;9&_Reluvq^B{Er|J|X?AY?lzb9Jh4Ses ze*O>nbaTFZy2{CiZVVF(UYhNX`jhDD+|Qt^6@P?WoV+^8-}V-xsoP1%m9JmDqXVwe zCAarq=BG$1rO)z6sv#?{X375Xiv2fiVr@3%{b4p6o^*2Q27g~})i$}LeYo_q`Ep5j zz5k59u%p;aw)xilV1^&0c_u!p7>O6`E(XnaxB$%wxwk&01*g9j9Tp!Z)|Q*e{5a2M z_^`|jKOO0)GCs~LKSIG#*Uafst{`KdKwFMXQ9F>8W5jHWeVU(T3;YqHpj9ljQW&-#9<}sGp(7 zd2+djj`sWOJBF}ccALliR!5I#2#&uw(%9z-BaPra9{qmrhSc##o`SwW>IlT3bK9jk z-Z1<2r|Xv%5y<3EuN#>(roM(!AQZ`oJVH4qB$QNZMLh%pp_FtLxG3t$l?aBiEHA!(K zx`P;3l0jEvqL^M!$0iwwxqIO!x~cL>2=zJLRN{fzXKimSlceDPAwN+}2WO`|GP7GV zvQgz!^!PLSX{7x!KJ#C}n)MF(G7aL-Ok@xrNq(fV>uxgS?|pA?}q-&rU9NWw77{J&5MXur-yt?Fc`C`BJTivTgyjpjvdo|X*dT@4_rg*Qx zTe8VuO(*Uk2OSRJW${CsI)+|Ov*~SfGLC>mZK%cfh_zi5E6{zp%ERC77g>Yx6~HRN zp4fR4M#^Dh3w#{8rZ0|!Nc&3~nRhb&b`pr_7#ZmZV+sbZRWpFs0(kxt@HHmnUTmxA z-O4sR?swR`NV}4-_ToR=DYqP9S>LB$a+*Aun3_O>@7CNX9ot1{n=No#i~8NiDZ``3 zPed#sfpeG)xeow4Iw?cJi zpXF5OC;eJW>05d*T)|4h$$Mv}P`;*DEE;1-tF`dyy23=7x+x}it zaf|((Qz1nlGU)b-PW$_hilz4V;ffXZ_umzt^4Cade+;20A^+r7-<+RqKX4rD2!233 zrO~#Lza^6Y)K&%Euzxj@Jm8bc^-wP4l{NMGlcfqIQaf&d}$6)yb?<~?@`D3DrQUgFy ziKJeonLi77a@h(4Du+qFxSp7Y%m;t%^}+1y2ihUeesFL0gZS?=t;f%FEzioYcuB5e zEL-tVSMiMeipS?F?v|~%ovV0Au3}T9euXY0PypVKz{bdQsv-G`pzfGz!5Y!jo6%ID zq()UjEXkQxR(Fqig7h6=`}>}UD<;yOm$W})&Mx4^WM1_CL%YY0>4{g2@!z}|iPpA= z+yRNBEd@lE+QDdLcHfKk{5LjZk?1Ysnid^r3oA81<>wy??2I_8d3|IQ=dl1@m^i_{^M_=9W1Dl|9=MFOdN$x)&1&75(X0q zeC#KN^cm|wZb%y+PxZ6LYd}4C-O1-s_dGj?M8(?$lD;t*$G=Ffxu8hU`ZM|`0Xf}RO%saY9KlWGK%w$k4 zGSYe!x<8zLr4mBS`Pe2dusrB<68&-q+tbyr(%*c+h{@Fuy{qG&~yiN)P zhR&(%Tkk~)qs5$pUHQwH!dnGU0IFz+cLGxT`Ssr6L+ZUh)&vQYEC0tlgS^~S$NSkN ztCbV}y`h(MNzqlbXP4Gb$+tMM zP+hX|)L5o@T5Trc!av$tW$Tp`r?fbnM~eDzI56|7%4)oyBD39c)oDyEfNF^rIP_(smf4W?Q<| zIYf@%vx*QW?Z1DN&}7e__(|iYC2=6ATQ>+r3%ybgP8gU)p*CH1do%(i|LSH!$Fi9^#h zq#zg%E*0N7aUw1#7u!|#EY)2xoSua`n<~mJhWhp(bz z$C?Oyz`fF+=vcp~TMON9D_TuzYyvwwzfB03ceN8AlXr`GS9kJ>SbJN%xQGqT4>xD) zb0TJp)0i}zFi8!`Ic+HRrJbkN1SZ$>vfevF+-T!nrB9&BzRaHTHnnpc1io(~Z+mw5 zAwHTQH({cvLRjc)SkRpuh7&#y6#63m@(PKXja>EvAX^CAdi%i}X>^3D_J6EbEUlr@ z#ZwqEL!3FB%0_o+HIXcwf=m;^y^;A?LX?+5<|D9rcKx)rVaMSucG3^|e_H-=p4sqz zNX7p9$7blaW9XBWaAc=892E=!M~Z$Qunowe7tF{bu{l=9kyvoE37P4@8O8_ij{IGf z{xkL|{l?N)abLH0T6y|UIsJ;~O1mGEA63Ecm;ip%*=^bUXbn!XH%5SNjxM5);P-Bb z^`Z-w#qFu|6T+qEo~6NI)YSac>n~F`qyY}C3D)yy>qm54bLu7h)e-@XsUM=pHm4R5 zLxSt_Iivt%{||(YBRZ6YE)e;#W586$ArB7(NuxNz!y!|Ulg;ehhVO+4ce(eE4ocBl`L7Xw$;;JLbJ3yhqM=I1DvcTinNC0l4QSdVI zt|h~Ph#)-@9Wjo-mC<7}QFVU$H*QwPi_x?*x(!Z<)eBt6X*env$OO+zyhcfNmR&Ew z19_cXmcB&iwN8%Nd}Z~jlPiNW!GG?#JQ&yOxiuKs>$xuAh*nUk((F9+P>K#a_!TcQY%cp zoLE`d-ND5cH^e4%FD@!7SX?v&0rj4LIiX%n-nnEVNB`TBR*4`i*lJRL#g;Q8jSuI| z2=`CSEnza;`KgXW_8P;SKc+oC7V!NZT@DgBa;SXGA;Fs zBDuJK^gaI}1QL4~7~Uw*Bql?!adX>y{-5>!r?BUbaWH-Quik|gKbr3}G99SQjI2zh zkEpaNEX^Nxp-Qh;={A%SquIi3TIinuF`q`1op3ZYwv)Sz$UC^^go}-9zP-qC%_u#l zx=cH~k1ym*If!=z)<{YH9K=nb1rX;?#NM%bciC8rOXrJxzh;l>I$nh93D8IKpr54P zzrGXr9#EaxvWe}i@S5N?WCHT=t+`6Rk{RvS&D8Hw{Vl0aZ@NWGK&ZgYUcf8|6_m29 zbPNsj!KJn%xHvch9P}apklhUaSZN628z)j2No zTx;D}tmipqDyei^lYhKtoD^yF#IHMN&&JFDU9rSk7gm?Dozp9%9r;O&eDH6)(1e8> zfJx4)krL(6NhGw&BCn~0m*T^>KOyYME z7UA6L`6Krn%ap(Eo=rBZ{5kh*l%eOj?s;OS{@?BSDW|o$F0OY~T2uwyW#}8g<6pwd zChv~vpu-d-xeBAGawXNv2x8hToHwHz?_igOc9yD;wzy=P--zCf$Ns4&HP?28%kEmS zSQ2k)rQYo+asWl!q>s)mQEtAhn&^^&PxkMY_e-+1Z4m(@>zvdK&uh`g@$`{BCz`>p zT1e}BvhXW9%ks>rb#xj@KEyk3R0;a{cJ%2NaafbJ$(8AR1hfSY{4h5QzwT04ZVVG% z0lqJ1KhP?-*5}XQ4%E_SgcXvdC8*1N! z5A4NVS$zzc&H|=z39X~ksW$U3``ZwZ((4a z35TwO9YD>$*|QKo$9QtJh2&GY1ke9)WS%~N4wuEZ&%*D?JnA7Z9lh@5EA{^;&Ay5%TFDfdkHNSz@k^g1CQ&2?`V} zn-eVv_u8czvQ1>i(3kka6&^#OH9;n z)dl+QRKClbTj49a;t$uxk~g+RBRv2#T%U#NETE#K)oh%Tia-06MvxLBNRuryU;r;%xk}d@NvVh-c z`;9{t$gRge*{&rEIE*_T)qrK*zkqj~1keJm6iv6HI5SKB{YVGJstZyX>yI6$DK3P8#9JT1>YVK))J=!_3#hs7E6Sib+;af0BK9>S7*0_0})97jnn3a0T+*ApbU?uL6}Hq;j3t zb>;cG+eDRbuX63Dx$=Dau2%Wif1&)=pDo`@{^{(&k#NadGg%k#;%Oy%3F{Pb*j z-@NZPSNYfMrT;&)y$O6&MHc@XkZ3@lqk_ggDri*Dpu`C(nn=LTm?(;9#0_`E4Yi}V zpg8GP+qMD@(ba2mGYlce&<|%A$$&3{>{q&0t?j1lREI$*6RF1 zG8?%e#S60K;RyiI_zJh_{3MsDkwaX$Qp%Nudqw3~FQgg7l8=z$7Su(Gh*5BQ5k8L# zN@U+Oopj_7+WY<-b-R3vNo>0-1UIYE*T~~f(*9qZllzlVbaK!+;68hj7d&! z(z2he>Yl69S9LNYBtv;uFI&|qm$Sah8E4YK#VThq;`0 zE$4=b>Q%D#NUBO3r%>B|fS0ZMQQ>10^6<-CB)le`V&uVx=2vR1Hvd~vBY)pk$K{3e z+DWM00i`4S#LJ70`9IKCuparDAx)FUp;$*14ee-_Xi<1gf=lU42%SFVE{fpUd> zRi$$K`f_`jG9l3FV!!RDN$NC67veg=zL&=I$St<|Iwb4l)h!5LKtRyP8|FB|p{B_GUzWQlD48Gv^*i~~ zI4xt5smL!fr`nZ3x5(UNRs15erpDU5z}hU{_KCRmtg9tY7nh5y%1im z%D{et$%w-R6K%jxsTK7Ws4cz2M4mx%HZRXj9zA33#)R;t`ZfynW1iR@Q|;;!^1VhML7V7^?i7F z4H=H!j~p;ld^ZUQj%2KA>TEJw=lS-zC+p~5l<|K*-k-0{jkiYQ-SPi!y#4-aysHm& zGhA!DHQ^#M{xseP_jTi)MdtsP@z&?Z+obVc;Cuf|_+EU$U%+?&zaDQ>xXWLS_osc_ zcsKZ;1kx?Ixh+gV98=NPigo^BRFTmbygjf~oaXJ?SExO|XpSTEdJ$ z4sF33Bd!z3mki2P<}2-#njsTazve8k5XS&vK^>zns|Jb>q{sJwDtU*>Zoc^^2x3 zf*PGTuH>=noz4^P7c+of!5$l~Z`0OjY?rfyl6Y%9dkj8fTiQNKI{{3Ir{lH{UdBZ6 z%Fktk0gPuh<2PndkUPizt`N_!RNZo%9K_m#fi7ttNyji8C2ix9o{@;~Nj+WCeR=uE zvAXE+{dMI}W;fWIvkjSMJll9O8WdI2exW}Z+FqsdwykfuME+!Q`Vwybn=#xh@o?cdH%I+h}&|v=7BsSEp?->?5o?Yk_yLP!i>8$06y#NvpYV8U9qcAOJt7cS#nlc-k zdy9^(_OqmcaW|-78W*;>)|J>EO*7um;i**NMar84(eWH1>%4wd>-+GF@3HxsR$d0u zIS)X5dp0YRd>ia6-RmXU!Efxs7-pjyK(FDUsKxb)iIJ_Eaukko7voN^BO+b#_qh0Y z6Nd|?Z^V*{lNZWKyCLIU4$mC;S$jjae_~INvsnlJ^iF~9`DwynI{vv79IXsWt*^wV zL?W-yK~XhsL-1-f04xex2CdKG4bzYZUbgtgb9?e>eiwfX=X*=KvcsIIU!scFwx3_B z<7^!8atArvHs~Pd1$WHq&T?W&c@4mR8&4Mdg(LOlp!wfpyGJmLr7Rr4#bkyz?fzNe zf-8B`kRAN=F|5XRkxao{OvYxnyzof)tK}P>K|6W&Cf8w zqaWf{j)Wd(Q~oBwZtTC!yMJy?xgg9uM$;$`w73bgYXW>4?dIXV$eNsd_Kn7p8B!gO zA^*f>26a~xG&qW}JF!g3OejoBNQOpz`a*zhpSGsW* z3Sh9FZ`bUGluJ&mPkjfMA>}r{Js6+fylVnodmrVNr(UfC3-IIKkwE@wZ9@J@D*qAu z7vB%oCdPxPYYX~**U6f3XLyPVv$kaFI}oXGiPb_cV0hw4Rw5h;a|>v&vPwL~GDMr= zOW7l{y?@%>JY&^Ww#N-;{V&hh>*DTYRW1xQ(o+>F>gor)XDli?Z>C3^Xp}`q-&2{t zfb_s6sLCI}l97Iq?cH-7$xTj@+k(S5U=H6W7yWbaiXEBB(i@$8Q}_vI7v#P68L+#5 zOo`F6CSJl|B`_2jn0dLeqrU_ z^Y+G>$VTsxe}R}oM=Elvg@nJm7g;+TFtwLP{`eC$Hm+uzTpv60O~k8R%+PHN{;yjZ zHDaPtg}0n@a_sb3IDA)RICG3`K!ibEPRb0a#0*<*vQRtW4`>|~!Clav^0dDv`aY?` zNGz$>1|uzLKeVI`34!L~Jw@xw+WOIr|A^!RHtEGdF^<}$b1Xxlj;qbYD62oz~4;q>Gx>Cz_-ie7pFZ~g{?)NG1{>%^^pRy z^Yq&HH>Pug7Dn0}Hv*>J-O9$2y7A)+O@g>=Jm4Em3i!(Y5y3Z>e2=0I#%Z3edd$A8 z!L4Z!Al`Et?S3-R2?J$II?s2+8=Qb$CTbjwn8tSpll7>7FyZ_-Je}AwinFx+05Eht z4H2V_H#B0YErs+#^i(bHR%ACI_mc5S$%;#x`O@OXQ=@#^0-B+~*b(-wJ**FXFau)J(0Y=(LX|OE_1IboM z8|cCvobU$}ZzTbSF#bCbwn8ioy3>L`Ow*~z#qh2xHFygoSRkRxBWB9gZRQ+APf())! z{mccT?0*i20*_!R)^hY3V{9E!pI#3wEsvICD4i$iPJBgF_k{KxTlmTWmT=E5wQ97B zPk)>ADPR_Il-IZhk^YhXLF(m7LE_&2mmI=nxFQyYqPaCX zb!1g-Z{8-HM0Yv4wJiAUVv}3jM)$P(b3wvZ(M8e-fJm^=mB4I*JJ90bk=0r$-OVeW z;yRNE_bnQ!ZT#Zt%igx0RwQZ}$*%{qEEERxJ9$#HukWZoE+ZbfG13x`gRho#qQ#bb z)EH+mnsB+zF`jmbTBW|VCHE8-3#3nr6+KH-^C}9NWNf*$8B2}PNnp0>KX@@KxvNjU z*CkKf!6koxk&#*I3zs~_m;S_(6U4JEE;*3s@m>kih$@2VzRvCFD$#zo$ImBg?cup2 zTj`GcqMN@$ljxawS^*fKj?@q;Xg$pEy?#v$vRcu+W!S2& z3io$saQ=y(+`DSg*^96)gSllvxf}YYPWyOie;5$$V~pc_X&-IHPWyNWK-Og*d7jQK zvh@xSVdfDV>xx)v6uElPa11akZq(e`f{|>c1%eV$pxsuZ38HUN@_(n#y(1<0}W!&n9UP^^PJVwv4{a-W}F+&wW^5#nId3X#o8%F zB}GMJib~l_Aao^h+kzke-L2?|V_st z%9~M+lc!LccPdN6I6tEHu2y>o`Sym9A);bY{bh=1MuO?7Tf4)ZhriYW$h3myh4q=EC8-uRIMe!h zuJF4gZCK%wPH;&x5s12%Ht>5CzNa~_XO}#l)z|Hk$1^zYe{Apcqw#pA?H{9=V4qhRe$un!v`^!Z8q%~kXs|+Twd$uB0*yLW}AqRub6>YATY;2S7Po{YC^-fVQLG6(4p%8;y%L(QZ%|Y_G}jvY}qQ)AIPq=cR6>C zrxb1Po|}os?w=KF381Igv-@KLoZD&d^7EF|r`ub5d3vFN{dpvNZl~nTL^mq8)yM9i zb57VW2&NLt)usQ~@sHry6JPDI_qv{+#5RF0`sbEfwn1JP#rDVGr$_F$HkDindRt zZ9v4E*s*8VW8`|ZEM81r<4sHut4f+N~T4l#CXg2>Z0b! zI%|-H@am(rVzC0VpPXU#!NtLv*AatFwMXcFht{8l^p_G(@IQ#trKx!OD1%-G=dgx! zYlryMF8%@jxGHBc5WcbC1uRiT`2C9i<(y#g!}ZqI;^0(5K&TsQ{!UfP_P=-=WFR&X zGW>F;FuVowL`&Wi`0_Y;(iYT#yU6A}TYH*<^GWVBiFGT383V=O!n{%4x7V0Xqgnl7 zRUrCCG}h5L)nJWkHf$*18xKRXqzul4liypYe>%6}aBiG(B4tU5My$qmeHsq_+Rbe9+Cz02D~Iq4vlm zP|fcz`EAI__C1ISjIFsm+>-7J#APA;I+IlZKk4h^7>M8(-b`D$^#;_2isoY+XY3{z zocJ*0cb2JLZ8I_C)%6)|?*>3?8j(hKFu4&~eKjgiR?mB~y7yH)PaKwcjYgWp2WZu{gMqCp3{-iCY9%-bR+0DP3C~UdYIEV-9xl z!uYdp#0B%gJTGb~8Cc#aDvFzh%RQiEMVZgWQ7YMZznVoJ4JJ97AG-NAk%E z)oDX)3TxOvLfc^l0Jhdqf%4c1=07CXF5dR)zSdnCM`D@cUVNEE4X3Il#v}o1=nQUg z6~4Rxd08ew+oS&gd0vp`)$pFm$3=v9fN6miBdp zq+d_+PF4L}Qo(t(ooxTKG;g)yyjnONP2WqKcWgbVfS?L~difiPwM2!t{jQ95q+8Kr z@ZzZ^vOi`(+EwrJp3GLgX#MyylPU5K)NvH_gTmLI6NA~RzMD|}6043jV36bnjCOa0 zTe}ry(bi5j!RTfwXQ1D0%nFv>@}@(2xZsliAGdo5k}l&nw7j7m;1&D2pDa8Oaw*?g(xe zX*ww0>N3e}_lylM4fJ5xxuB76t_rzr=>t}%87!}j5;qN)Sd|k;22B2Yoc99 ziDP5K&nt^BFAuoj#ofAX0deQ;hkpMWOLhe`m|8`s&75yAifmQq4WQA5CmV?)99IWt zjDC& z%bwJKz~AzV(+W1C0`3XeAHsh8BM_~*OSR-_kN z4{j;oJB!O*DxMRkaqb*`21N(ORd}8c-r){nZ{5~cH0Ahn9mqA9|98<(@u(v?zZl{p z)ek8Nt{+XZi==u5KNU%FUsa7Fu75zp^$I2{panxUWRp0t)KzpCN}Y=j8eSet?aVJd z?GsCF!>`&*b_sP9T_Oo23#47G3qp*@E(%_m90@-BfYg!%pEYly&kIis2Bopo=H!QJ z+Tdh<73_^}Ji+nv#?ocd%j5vk7Q`<0N~jnk^{ZfhBKeWu9mKCvVI_v2pGgni+Fell z?lz!yVxK(JUWRpp8|n>eeMWVJ+EK@PsBIh^te=EH?5e5`YVGek;Ww8_Mxp8-r6=)~ zu??X(*logAH7X#sidc-l#&TvY%X8O%jyGwszWLd<1rt7#&TS$1V#$G~)$?pT3;SCH z1`&5nS!~P^B&=SuETD7niWM6jXGthMPEmTyd^nc}fA`5hi?y>=^M7{@?Cz7#lX$_5 zYNzPSgDrgWQgj@Sv$WqXV#(`mKA#8>QSZ|{~h=t^(Un!SE{J3kDt z+ZwrRtc-BnfED7DG3Lm#KOooZ80_G#*-O7O>&T!p&QxYz2z$G=cXYmt&w$=fbMcIL zF6**Ab;YtdXc%;SY4aBigU%^y{?t~wE=Ko*|Gpvy>MUE< z6}(w}j3+X0&3Pz8vl% z87ohH)@P!yDj?iU# zF%KTS673v_e*_QKYxh|a+w@%Bk5PfbyCS6Yy8Zc-Q<3W!vgQbx zZEf=FdqH5+*_>RxjZ=bKUy%j1FBs6AZdm;JMXa|Kj79!n&W5b3ds=hn*7PA=Se8@R z+#maP%s|Q?O!3wR2H$e!21&o4yHNS;@PHC;tee0Qy`#4O$Eip5Ee!kOZIFLVbD2$S0=tJxT0x|uRGQS)a255baJ z&#pVt4WLCNq(0Z7b4{}fRY*&^I+Yj3ADV)buR^k2q z8^Qbb;2j&;XMeK{br;oIBF{j!FC+l&IV)I z@wwUd(`*a(A(+8)`;f1&6^27>v61P*EX6g_;QQT{7dqz{JbL{GV5z9bGC17pI9vP+p2@m!Na8#>{W9^cfw-evLeMc~+^ z&#PEL{U*)pwQs;8PA*{3L(lAYghSeafDwze(=#7BTY9E*L`V&knmN=cw9e@Bx2}#p zziV<;AE7tlTjU$=>uEFrF+_YZ0gb66O)U$4+~TijbQmRbT=7q61$M~#?*8GsyO(Zq z-JL@jo9W}ELQA`@D+$Sx611=(_G{WaHV-s(3U1(9)28TC%Z`qhWE6cC9Y)HWxFns#A5x)dG zZ{;+(a5;ulvEHcbgikCXfa~~QVZ9^R;KKf4F=^1z-ld6w`qLwpIv0X=J!FeptZl)q zbin-FGJo_--HLEU&(L;Mu(K6xeP4a8oJ3!9U0kn9P6ACpvy;R;_Am$PMr$dhH6gCG8?e_H*zc8e$yVL}u0zeP zzWl9TVp*99l+oCC)7V>qfM1f%`I2Ri^%%}Lj}X{kGL}3#VzlE{Ph~@FA$KW?qi@5~J5FpJ+X_}&X$G=UPSMv7LRaa z*;8W~z*uNC+|-X{0}8axW29RscO#eEdTq3WUBLBE39=&rVLfNOWq6xa7A20By;G+S z*a_Q2rP<;qhG_G^dtK+{O)IHBR13R(Bf4Uf(pYQGDcobWlg^c_p47nG=+NNrn|lJE zZ4wjnvKlwoUi*RIF?4k6!-7V(YRk@!PM#YesLlxo*~+>!v2-jh5n69n?k5HcH?}hi zbbC2ENHJU2%_XJy&_)BMrQzg?ni`&f$crZZ8FxW7>0Y)e(?n-#qAP8pJx=FVgC=@K zGdSO+)#3crtlD6i1dx&D$5L0zA{|xB?{4pARAws8_Ba6AnTqKG^hnSJ-9PRI`d0ayxv<0y zdx|;98`uXNln1wSo-GZ`?XB9=vuZi! zEO`nv!pfOgZ|+bt>`QhJ0RdWkRr>A?r7+l|gf=!QDlhj^K8lqHAyfS0na)aFQFy>K zl6umpIPbv=iW{Gt`btF`9t_1DPCj?TU5<(2bQl~{fuh4e&f|pA3^q;fFr`Ug4(@61 zhBTld#1*USK5xYMG>%>=gH10MG-t3`%zTvc*4{l8xp;h`U3D+J3H5>tgXcqb+M$Y# zoGov*|B`J0u``dvlACLlzyi(b&6lm)PIC7}h(COgV>=mYat5;1_Tda*Kh&ze{?Qq~p9AznM$AjifrCw4O`40*6H%Llgq3UPzU} zsU$d?J5dGTx@{kCXJSht;H*z$4qQtZb}ewymDmojieVv(<6AgcMDAgQQw{u+yI-TT zAL32ho_9;QR7yD1*7q4Rt(4d4QHSvuDx|1za34-rFd>!L{RZe!#5Kxt6Vld(!8Gs` zKT0?*tTcPTBbWHy?KSKo+PL zMyU#5XdET;lja^_J0qcdhxms$MlerKD>~j5s>AotZh-A0%?B!mY~_$F%hqWh$+Fda zg$zK$>obo_$+7M0IcBRbUWZZ4P-6bJ*X<0uK0Bd%T{?&^Y3Z3jUJ^otk~KFqQ-AqS zFMFzP^l~7t-4zLdjp>s(cvFP#Ge+ab!MhPa%h>~Jf*r5&$97j?G%-VmnoJ>JmX8D>GAW`OIxtJRWSZYa-^=La+f6jI2->Z zCG~JgkJ>&>3BMhnewy!~OuLaE_I8()CTRyos8SzTQY__gB5xHEXZggVg{W-R{=WLZ zeey8FUqW7QZNW`Gaeynk+?Tz?CvQfwv!D6(VJN1>Xxgc+){>w+x~aCMv1wbQkCz1d zZ2voGs&$8gC8*$M2m9;wlwWIoTN(V$S&P;;vrhnH;F4kf|EJ`p zz%4(Uf*U_lj=3-e8+`5aMde%r&;@{?6H}1Oe_{vI^9~v0b;Zw3S9E$FD&WXqUd*YA zLK`B_p>4!td9-m5kH(Vizq!0M9qTu56g~tvBK;?pyp^xD@HHuJll` z9%sxSY^Y;DuQ2QYh}R~+>$`jMlO1Qy$&UQ6TCJ2YF(m=HQ_&t#U=zXnS>@fWe7T+;2==xOt5Z|_~cKttD&tu6Q z(Rol`@FgIoQ#^B;8QQnZdZE`pM0iEe$?Z(VQ^Tab!+fDY~Ario=LwyvP$tgYO{gF6yVbxHLDs1gU8Um|E1Cyti|#MFarRPJykzudZkWVw}ATPt#Yz|MQ6!S#~TdsR8vay}NEoL=PJRz}Zsn}p4+g6T!4 z;}NZezQiTX1W!kB<3dS4?We&vJH1E=OI?EWqUArhmfmqm(u-n0x}@orRG=5B>cc+K z>qQ@b@5)~9lT9zmRz2^NFY?K|ib1&R&q=TvIngJVkz629Cwcv-FAp4sznM`+@7I~a z3(v(;SE9v-51aL2A|OJJ%Ii2=)zAwR#eAc(jD{~_Rnh%Qm)}qMZM6=Czme6L89LgQ z700SmOn=|yMJmR$QHc04s{hSK)PLO7Pd!NeFwvp?*Oh;*Z~y7PXkVAdgEwEG;^V5g zcKcVW{z1O}Rew=mmW1FM)t7@xuD)otRQIzcCQ53#`@~^b(c~KcoAqMVY`v9(Wy&(k z*$1u5N1pzrr6HM8TJ6HEu`}i9k#;$;>l91%0Umn7V>|!%QyOqPy566>C~UR|+oPj| zi=lsgJbWR8d_|VqXlz~3*;q1c2oo6}me^VpjgslOYepf(Gp~bf)7ik$5 z%Tk*ye(%*7S0&k>NZwJQcx9U^P=?>F{&#f&H?u#{DYfE|j1NCFJAHd_)p$o4)nTO; z!tCJe7qOxs+31X@OCbfp@kC06#S+Td!KbUh2^2tm4CeqA6&Rud8}UJb15{u?YvGmf zL1e57Y-|0nRSj=7i|F9KDz$}grcr4QfywQ4_aIYz@KIjp3V#60$dvbRCX(**{9pro zYBdaCxSdOe*_FbzRqHcw(-2z2*C?w|+;Kj`JgLonT&s^KwSHs=-~2hFxyEhD!m~Z= zoJj#jGWW>B#VVq+k+c$C=$oojQ|GR+rW(}L5Sr4d(C#j+T4}pl+U)Qxbtx4ZyO>i< ze%cPvsaOY_Vj=IC)oljkrK~@gLY{@2dy7JELiXe+^vdYN@pP&m75tfgdvO1G)b<>5 zH-s0? zY&m~aU$D^Lx}o&Q`t*8@nLU&>khA+4NWr4^jZAC4jh|5A{MZHNLNei?qKbFQ>(6I5$53-oVB(3Vn|(;x16~3Q3DhvC6rg&)YaP? znkCP(UbYuR5U9t#RZSVRq}Ds(w*l=0@Owp6yKOUgjB;CFwu&!L8fg!%H~@3SN><&{ z%t7T?^Ko~bT|L5hEYAOW&F>;u zUiO8X-yJZs<(KthH~D$f+C&XAGopOJOtjz|XSU8a{eRF0v83M1@XtThreF6lr0jKq z4A1LyN_1N_Y*bAwDXYBR+_99QN*PAV^B*G1Ygy--WAV(n;~<;FcB_UR(IwF<5AlNd z&4X5=tum07eLC^z>-2m0**~!{u^a7q;I`m2<|AbOTV;4iB9=_^Yt_)EiP*L1E}nUG zG6?{#d8e=^2~MB02F#&pCu<;a1{hSSSTa;`BK~JOYvdoS+HX`%^V@pzh_$sl4YaHw zM*XMiZcUfw=Q!Bb$;$&*>YMYE+kI_ew~n+I?;&BASZXZY5Lla$j^>x9I$)-w3qV~{ zq&M#ccxN9Pg3gXrab_xgqfiPo8X=4hnGC(XUWYnX-~Pv%HS;*-RsdU&r>Vtjni zXFlHMh^F*Amwi4F{o}HqCsMxoy~|#ebtpZe2_e~9;_3@&z|G=7Xa3(TSNM-({Fj~Eq&DE1%L}N_>~v?CO*(b>+Sqdaj1`xo7^ALei7CFiLY@WFrvb^} zqw96I>v{byXw=mkuppd3i+m)R0|nAA*+qs3?wNJ#(`%SQq9@aD-XJ3Qk_KXR+Mzz) zDqZ7Z!l~3wztyt5)2dmWo2$`-P8S`m8rH=0O+Ct-H!eQt`&jZi3Oc?#2hvS^7Pa|a z>%V#5a9Gpi&dn!Ny$fN^Pau||DkVm{3bm^6X;k6ekToKr8((mMD_Ew2tx>@*!bS=@ z`ga@~OYKF<4CtUJy#|6u?zz7$`*dj@GJ;XW(?2{+Zh3S6^h-i)QF;2XrpYzUyPzqL zinmM`DvM%C`Joh$^CXza_$Pv2yyX(E?}pL~H-b2~+`))*AN~Z}Y}Bd9iQ|IzifzJL zxg<4^F^nX!o(&{1P%>&0lylxh8dlwMKvNBIDXWp&S;l|a0Zq^iQrw~s<=4qzXXc3@ zNZcghMr*B8G?ptE%jetMSf1ifaMOmU(PvR~GGeNlzqB`z5zt;gzU(A+xPD}NFL2c^ zQnh1LO~rHc6Fs9eBTj8wCU`OD*b#j>07A`_VElz)N~>d|TtgWs?qyp9S@rOBD&_y> z@_ABuD+Vv@N1l~YAkKme-t(pbyEwqk979lgNJVf}DT*FaBp1KY@DV)SMZWRxpN4OI z{HKLd1#L9CWEz~$u?xd2*%{yXp?0I7A$?LwP^0s8ccY++pAGoNulSLwSz=RXs%vqM z_rV*3!>sY~YP?k?eB*bk@y*mY&H0vtuXoM0x|p90neyP~!dBlyGg$W!sgjG^O9yot&P?Gv#^-xH!+NX;`WE)6c~l4$!8O+S6Ju$7 zyMo4-EAJ3t8p(r9w+`>iO&YzN z1QovrNI2{24i$G1=roVH6W8b`|3&5}$C9(cb$*CHGIt%?@%o-MlGt4IZPaTaB0RxD zu7cA#orUMVrvj&2zR#1CF69MtH!)Z>5emlRInHJ4U{ZevtHdTjil3sa!Kxb3t0?O~ z2N`9>=USH%nxS9W* z`pn}-%XLmZ0PkCObMUPaeECk>_sgw!2p^FeZ#q18)N+y1diCKRZXExRl9IRUv}cT^ zh6DL1N?IMi(f#6??)Z*;5%gwzV^%do)(&LqiDkSIK%E?XYg>L}H!`hbuXJu7$-j{pgG5#EF!*SoYB+>vktz zhfAWIBQeG)@=nbSNN*b zmm;#1hx@`}Ob!0=R?e?Y3tS#l*>E_Ulfi>G$T$?16>%${Jj^9`_6E@PeDblv8G+#z zxYFN3;2Kc1=q_7D^b~94W0#zKO~c621BBwE9#8jKsHduNlpoDQzM(dTOY)L=t|9TS z+OKe|=;A-YQq0vd(%%}D#n*Iti{X?z$2!u{-bl6nqW zWjbgHb?=JzkF$ffVYm^3Kik=%Y-=*Z`{{)IP6hcd`g{dI3vc6}sNw@IBl)|fA=PwT zQ)fmYiIZUIM-m-QM-e@Mz`9N?#QJCtchx{5c^$QPsBdp})SjXO(a!02T05B*EgVJ< z$APF8xTce2p`wz+Gc6x!ruu%@zK55z?72ZK^$H&xjv}GJ^%R#=9v^ft7m1y9Z(K!u z(Anj&)ScwDOj|-DMgA(4h0GM>>jyPb;A#34$<1w1A;ZY2)Io0rUhn*thi7&t2hX=; z3cAb;NG^VO!eu0XB`p_PFAFkp5czMrxj4A}qxpyY5!CsHE~dZSnbxM1k3y{BA94mP zVBxwqvBJ%gowW;{&8~|}lI*PZN#E^gr1&IBYd&_R7P+LmNIL05m-L!T%6NN)Tw*}O zO%HG$k$|q4@8`ef=Xj-?i33JWLmPlV4T8MS6>(dil+LSA(>a6l>^wePGk)C#Go z&B?R*BNf96`-te*!Ed1JC>hG;=Guk%idr92hYY`gK{?smjgmRpdm0ck*_%pY!j`}; zU>@;H18>aN$>|jlq04iuYTPnvLo%o5z}i3k(xa$#3+-PiP}-ROEhleYhp2N-uIoY) z{;aHeX^i)GD~t@1D;c6(ZGmENj!#=in%r@*cmaz%$2|4Ez@f!9ahv0o&)QqYmv_2k zCpN_RbEZ(gOr5p*&Yps)*)F2I~#`5;!5o`VuMFt{4G5k+rOPWmOr65K{OdP6Np zBhdox2Pd5^csX$>le2*cGv(r7+L7HE+)wa3~OwX(98gSzYPO8g2e)H{_#&9Mm6)Ktg-0U)0 z8t#M>g)YNWxQH+D>)9%jc|@|+c=R~F!>h?`$P6!wRwi4Ne&C!UoU0rcVQckM(#D8s zVSGp&BSQBcQt5P{Jvdu14QfArh#|wTb;^MTC44vbb&MmD^mzF@CW|kMkQ<;*Xd9^*zZkfWjOB)faK|$h%NL#P+;!&E+FHX z7i%aNbB&cVjOZ+E&=7YPW~&Sw*g(wWj4cE_i;=b;;ZTV_bwm6!iJ^G#?i<}iPD?lL zSyW3<=UJ}1)@#?2KedN9rr&aJpERatvujAdi}4@p4dMn_#4UABa2kbWo5w9?he8u2^)0XPzUp_e zYqnz!8lFa^Au_6KWz{W!5dM-aFIeb@BHrH3B<*Kirly}ZLMg@TXE|hCW5z|9_?cH? z@5IJQf5>gT%%Sm>!H?S-VWsZSoHCosOuE##)UYO{Tn3+_VDF*AeWZU5r3U*2Y6<7xXY9TYNuNqr~;)|d{a|G^?PwrDtx zMo3XEnt1>E9dWfF>_C?h-j#u=N#q75zQaZw+Yc)O?P_zuD*OPdJowQOM#`+GRRzC4N>>FH7G2SBF67r}48gvmJQqVToFxXk>f4+rKNeo$;_2zPa*%-o)U2(g#_g^~2F2BoukfO)jP`U2i&Di0e@lM~j6T|Km4!k1c z^k~iLg8ZB+!euNTgg2_LL!MRG3UrB5WIJfKtntRCja=Q8e|3fU`zSKPZ!NbwLpr!T zw6MpB0g;Sald`mRo)8Wufy<}y%-@k&aSSA{8t|g>aU{e1#J&+_0R|GFtqmc!y#8`9 z1Nk;jFMAEAogSKTMq7;Ll?q~D$cX2V!SWvrd7b4Yvk!}WOS?oN;wPAK0B3^@2=Q$1 zbIxUZo9(gH+p(hQ>moQ<8am;UBbV`y8)9{@ip)e~BZs%1##Af9XIN4GM^_)c=DT{? zy6UN}4pmo&_ThR)kEvW9n!cXvV+C$Cs1w=V-=9PO1^tW|Za8+-dp<{{`qg3C+i!12 zz3jF#HRWsZ(_e|sPKW0Rug4yY0g{05E}&xwZ=M!wot;8IOWnP}>hh0xr?=aeI66FRO!x>&qC_%asR{40595u>@H##sIV{u3fCUFL|9YH7Bzu2{ zRYz)`Ik|f&Lg!EO9JSYA|D*rh+jf#kebd6WC;n4?COaAnlpGz|RuH=yA*?_=gppCBlGMu4Yn@%76tU zrx$}-9aDt+<{7Lk?2J71Ad81TSq{>Y)!~l0v7(me?}20ba|B0X zI~Czn`;hP-UZ#_{9#_Q-oMVd)oBkURWf{)FbJue^!qbI)4SS<{+4Ja${RS*(o$5zb z86KPOrzVuOI)`FCvLphb(|Bvz|0=hmApcQer#t>*OnAJF-zrpwBl90MVcb5@GXU(p zuQ2r~HuYF)kpxM$coE;$-M|?5n6CUQY&<4kh`?$Rh&aN7Y7qs$ zOVcy#H?IuG8Y#HW1{QX@{9z`c=FgJ<+}=)C7m6MMf5=ZhNzU&JFI@yjw1+W?OLoEtHET@8w@D zfp&fbDl-|?*S2xd*q#lUA>&bL_K^=1r_9grFbPXT^(X?M%xvZ%vWvzPHNV84@kPzk z3fJ!${b?gOY}vy0)&sS_qH(oK<@3jAm|Mp)hmS*ns0m)WiUA>?t8~g2%2=-Ql(XqP zXXkR#Pg%EA>>w-FV8!Yr4T`^>&Db&{;*6Ie5+G>E7)E@>58P_w`Go_<1w}UKbI03* z3p_fp(6B~l)wJRU`si0WdLXHYsrSd4T8y^ml_nz0v62F#y|7L3xT7}uyns0hJx=n*_-er)7$e6zJwQ(8NBU6oZ+ z)go=)ZHi;fnn&7z1#C2kQ}ne=i~X-(fohk&{B0GcoR5p?6eWgU#*U+po@=ThTknT0 z3%YO|r8RU57KbRtByWxG&+c-j!t0b&y4Dc zY3}WfZ=HQ-W$=JiODysB_ul_dOl4=aytR;Cv?c+FGW-O#F#Rp(t9f7(Z^huN8B3J_ z4w>kl&kvzYk<`(eP!E2Q#+5lq&h}hjH^`aAXEx*!Z0SayT0qr?^wakMARf_-6R2HA zp{Zt=ZVOg#?0_*(wX;?8eDV^Xtcc`}TrT-?A&c%wc(o53SIc2@%e*eN>0xG8IN7&Z zg_EHCGVb@4g+bbkPjksv`{XK@+}C&2?33$U@?%fB(#QDZyGV9+5L;N;WGYsB4V%;Y z>^0he*FKN+rzlwYFmg*?F(XYO0YtI@a0IcZ4^5vyxijc|h~x>{d%Jo6$OKhTnq9WX zt=+YhSg_i=F2-EI4RjcHqfF)nx{xE316UxQ2)|-c!hW3LQM+vaFRqVa z6j<84OE^u*d3#a8Pk)YaqK}VtJq7=CKj>&1Vd7)w_TT=wPTnl&J$B8-x<1(N9_RLd zBDEct8G9IyQACo!*i7+~jn@u93qj~btS0lh$hx-Wz@`$VVSnG^T-YnU0;`2Or-S?4D%jc5r&* zPD4lXVJZuxox;2MW&3Qj4e@q~e6QhcMl>0}XZb|hH)9F67NE3=Ga(R5Dn__vnjlE9 zmiW&uMPV!LM)t3>zUqPfYa^kfd8-08*S0uSN~7Um{&DtmXRmICY$UosHI9?;iLWKe zHplV$^@|tU6uOAn!=yD(!#quhgx}CT^7p5uJuorIfV(Vsazmqs+DxL$s6TQWFFuF0Je>$QB#!(PL9OTjJUCG2QC=qU=6cRZvA%Se4U#& zKzaMzIGmZ-0?B)IUlQI>l+caW_<~^l9cdvdT871{~ws@ZVRpnpLdo> zi5bSqHxwMP2M^mR5w&uWTG_|?i6x&Rqu?~5_4%mONR=wf_XUAlU$;=9^?D1Oo~^1> zp&xLo(K`3zTBCUFXpQ1>sZ6%k<<_006tqWJyxjz27C2e@1#La#+d62iwr2ce?HTo_ zga^{~w>j216Yba$eQ8m693L!!$vKdpON8{FH(E?GB1sBIk8w5{a<-QJFBL~LeE3&jdBdFk8R-JVZ_wM(-$ths@5KZjop&2XhhB&= z95ay7_E_kJ(EqH!D-wr53xdNi6Oz1Hi6{wfw#u>88DavY6^8{?TX8=pxWs2{TadB) zEHX~=89D)TM(lTs6}RCRuTK;cS|vQ)^f~cV!F;aZeC7XOK3zJ_r}+ZT@7aYvCyufc ztrNH?#e`#yS(?{tnHMpOn{+dD?pXC462r4SYQ+j~fB z-5NNAIt?6PvzuH4})8&M>R3rC%dCnqtzPLnE6hKCr8&hp*FfUjiA=P+!$uBUoeJIWQ3>CANMvEKMoatpg0eN z!HIM37LDP0YG@2SC}&h04lSVZgwOqero4=K=a$?EU)jH4gul{2ZiG5m&X4dGYBPo- zHHJg{82VB?uYdZ7Dn+*_wP)i6%ZtqQ1l7SXh{yDA95mG^c3NGru8ZhEE^#6#5tyEA zNBP$kNqqQ=>vnXE@JXUSUMW+V2@_rvtawxV$;GOfDK2+qT4uwmJ|M=+kTI0F;z&~L z@$LNncqsiYj%S{@62t~W>5Gn9?=mxh6o~a;H+&y|tdM`(@8+~;E~kvfmMu|sp}*e$ zv9q3cTult_=&cug|Bi;R(oe0$7C@rSt#30NGCc3iH<7M+e|OHd zng3PZ>NXNG#a9+}^yixijJ^NqGyIf4-x;b}=+F1*4w~=cwfy;_&Uw#x+Q;hmvl{vx zZvA?Hz82SKFZEdvMY|#Db81klpZN3rJYRk0{P|k%)4mqJy?44fKfb}>Hn%>KKE=`_ ze?C3x?XHUmOFh6+ZTd&d0oQakg!La{6NnIoW28se4*=%>E5e+6C6Cg3_sY}8)TK`t z$3`p=vP-ZEN`nXV@{||G2OGA2o50Cmk3E2dyL_Q@n(bOND-yWqAL3JoVtG z@HA(hVCMaV<##!7`#bn46ci>KIeLovq zr=Q@f-ulkt>n@M4ZMq6yFSq{Je{W#l_{kRHFUL>qOc;K8pzr@*{8W`k5686*HFv>0 zbBBzEGN1#`QXhF6oYUum)(?cA9{T{FiE{-X$4A~#WG1yj`)B4-%uVfy^)n;v!Jn%Iy390lI3&3^SpQex zHG~I`5J=8yLfA?|+gGWuF|1UN| zmZ8jk1CigUr5anyh2@y>-s3_t6oRF4o&W?UwpmE!C);FvHgvf2)j5FG=!_b)Hao7*oLd?v?n2N<%3x+h3FhPq zDT}?j;U+yKZsEmb2P8;RFdUtuHa(l|-vHv{cN&88K^xw>X##f59cr)+Ui=!|BXsK0 zOFG&I(nHEyUzI+};5J9oKKB`v(ri@=e}Xkj^5<){F95ps)@c;E*cBPABJWeA^-EP= zM9y-&uC&Kc&NSuB&(Tu{`)zd``)w%(P~6x#<^+UxAX;ueB(7iQsKjiyFY^QN!l)Q- zc}%i@PufPO?EQWZ?TL9e`eiC<{N8>#8%6^VHPL=4|2|J+=6r2{+VPhY@NahoKg67> z&#T>M;rl!+Z^6h3d9TiA{F~#65uDL8hG%Fg_nu;I-+eLTS?hhHN^4v3RBVrS@9Em3 zHDjGz)qHSterc~z*#_r&)X}=kxmc~RT`LMXc;onWExV4q*5sY`9?Z>rH}w8(iRWA_ zmv37a&DfHW1Sd)@z%*CkouDwyUB|AUD!0qpk0KF#2dA2?DvI;cUB=GzD?!sLDOUbr z-`1_ASeYkhnM_#GBfw4(39g>wl`!zBb~43NtpapAT<*dBY@D&w#aJ`s+fa`7kLJ%M zcSspXk1c9{dL9EF$rh?#(DN*}vA|bMO!y1BulYEcCY+)PAY2X;PNqg9-VV4ssdA&N z(It%DhIu_d8q#kWg0W-=4;M)W%chOCJDJSd%s~THV-^kKg4CU0_h*#FlHXfPnCe=uo&#wCzw0$fsX`I4v=!`?X zZOy(W4yeB|ci+!Fil%?32cK3Jf0)qS4{A$LvR;nRAO~({-&0$vyq4|#K zdQbQP(`?KTnJrtjo=tUma5Q?bATU_;nXUQ*#a>t*=95o$$^U-BCGYB!A9BfKZga_H zKDkVr+-%hlU%Hb^PCm#WEZ%9hYWsKCJBEK)pUEug6u8>R@X?@Cm-#SpZATN=ac_Qa?YD~E^uq)utLO`S_+L|oA0qkZmgaJ zP>Kag{pY}`U%}TWV$hwg$34TH*be!1%1?0U+f1;;_qH|Y4F5&L$TgqeSNXy34geb~ z{|x@g=NBt~p36@yrfN8$L;bJbB7d^4zd~b%&q}?Ardjn~yOc_0H0stz-|wTUH_o@K z)75bA4((=@Kis$bpTBB%$WkiJB&S2WBUP`=*ULop41$Y;N!_~_g}SespI={<4}Nn* zXHM;}v3<+pZ^L7yi}*0uvI!pK zS&8r*%yJkyYoZNc9hZz0`{)PKjiY19OGGm{?mGZ8$6s;ZYa_&?*h=))cVq@V@J)uj zfgko$Fm*&^E>ufrI`NWjgm%!vnU??!?BK(FNE8?DEBi!2=B~=ziNxB>{sU$GTiBRB zOJXn8+e(^iNad>8otx(?@?`16*E_prYf(A0s;tB*v-Yy)N}WW6pEHUGR;eHIuu`yc z38U{0qp;pX9HvwCZ0`+JCR??q73KZ&kC3#}A*}XrHxRt*&km?}+4pFJuhy|Cnb@r`_r-{p5b9rVfL>$HO#0_ z3+sSZ$Hs(xz4z}N&nbCjJab@qJhNZ9Ts+aqSj#fQD*0m%xeg@89}!n5a8Vh7p30q0 z_o7y(czRU1slfneoLk5f zHkE*Dh$$>Bh?~FGv6QO8kI-?fAU@rVK&~J@o$PE&)H1#@S3i9ml&WsB`0;u(8Ig zr!b=N9;L#>p_=T*`|0ZZc#Bw&+<4FB5<4$&z?cSB{}g~5czSi%je>Jivzdl0xH{0= zizk@<0IDl*x5djfBMJI{>Wfw?2pRlyZpP#3h%LgKh33e)L1K5>+^G#X(A z`XhMbA2|27OsJskxv}J8>A^^toiH=7f1kOL_U|j2Hw>4N;nsZ#1OkgVqvnd{Z=?NE zO8&$Oy;rKI-R7q5VZ8cp5Tq4LDx9LH%y192wM(>LibxPP3>&nlWvf1W(6PoWZjfsh zx4;HD2{REq7KpP+ZVR{iU$E~6vV-L0=fiZqmb@8f4Z3)kT_BQ3-V6kE9r^c zn-@1+Ti)0c60CjNP-UAdr$Bo}W6Nuw*TPt9;d1l{DCeDhO=R}NIm!g|c*sjkDV`i^ zyJ35rmOCPphFNMg1;tPF@@F04)6NKU^5=;k1Q3nCJ*Welk^K3a7Vr-8a#b+}sV0->MrPnk%+ngJ6T+dj31uUtr1U>xl3$3N-_8@`TqBnY-(zLCI5T?@j@0U?i1 zUF3q6MX2dD#4VLDInBv|;9Ks4tBsrCZtk&N2YtizBEt`S&I^w36Ku{T4rch|u5?N} z>-pr#K6#)^e%G}VT<4STbjhz~T_YFz0M+2QP<28#s zEDiSa1p-sGm=!E}+F7c+DmWQSK(x!ggO$7x`r2_1d)AM6#jXw1|TbEJerOr&t##HiF0ldQR->ti|K5272={7|L?+8vGRuWI6%$% zrp9yOwO`#u!i^Ne+hMjgAzv8%>v%{;Pdb;jR(k&+qc`qQ7oJD6exV;jYfGFC5Il3F z?q91J9xSs->j)$VaW8FuBWEqLT`w$=f-4GVp{&vcOLuc`{tmQf1YeJ-MT)f8b#UH*jY7Ja%duvRxSlvs@0<404!5^34A58!xrfwl)%tTG_XB; z_C*U=+T1thDdK%_%3j=X;qmi(anuy&TWD!V{Qxet-3#^2hl6 zC&@=zOFhy;*8~#Gem7b_psAAF@&~kqE5Vwu(_OmJLsd6$n3B_{1FVd0VF=vEk7pN(1-iyrfKhR zfpZ->iaIg`HMtSIJ#`@)Drp0HW~M$p(;umirPnrInpyH+y!%Wa+gm#o*7Ys0iJrxV zH}m3bUwLMQnrP4nUnhX<957&WI+y& z`vv8DkQ3nXnZNWiS?GN|u*Q&(M9ropCD8JI@ zKSaLu&ywa`+4KC9p4IYsr^LFrKH>Q_xwD+0I*U6echOJ0Ir&+lpC$IQR6k4YXSsfs z+s_*Ptg)XH6YCC~s9zRHbnN%-?Gt~*QDkUkcnrVo5dY(4ri5|bGZzgJaLDfn2hCSktVu^!7od7Xg#CUOPuSP-Bc}xYguILhdk#{k zbz_8S5@fJnh~k02Lz%Vcdt9sLQ$XLNJ$>(ww~r=zCv`;Mqr=U?zQklW4Op3L4iKLS z#9QVWI>QrxVDQ<&2VaZCkGs8F_&ifEj2!-n$H>or!pQ4SI*TyU+BPkz186AR7C{?H z`2zMwZsp2tr*eJyCxY?97l84doQG)Si(m;uk@Hg1-ZjF~!kY`hd>8X!xxbUj9hdtN zzNJU3C9QOrCQm^!xrbJoYrGQ(SF78CXNm3-4y7sl=S`Dd6>Q|{r*?)Z3Z{^||2#9g z|J+KjN9W5{rWt$^x*7aEnn8Z#OYA0dL|;ppJG9K|+n(4B0gKwdD$z^)s}<))*Gy_( z$-Hcj-ENjl#m2ly!~NTE?LSZy=(vfEM!6I-@k8=5VceZ!9pYP9#RQB9SYQ&HdCi6{ zMDbfK0(wyUXemEf|HmNwa@POpv}KYHlgo%;Bi4CJn&bmRsXt_Z`+3;)TBBRw5$q;I zxk$MdZzVp(>Lt2LG=$$1(bTB+Y;u`QBu5^WF6!mT#*aIyRRz(hW*Sb3Dpp4o9l1YP zQ1LUar;BZ!07CcchjJRVz}_X?7pzL3N~N)DMo;3k;|Gp~f_Ga}*pp>5!moBhXa`dGNqO5dl_x4NxQc&kghMrkSE z!ZXHTrp#S91qcsb?jZay@*t-c-N8rrAO695R;s;(qXNk8n$P88=BRG?RLHj|AM}`O zxVV8Gr9eS!f#r_%EW+41o?renB98?ZfdrkI$?0iA8i{TeTX5W?>_z4`Q0ZlQ*wqL76-Fj!s8~SvA?>{d!#Yp$*2-{yQC~9 zR+{y=(YOImL^TYH!M%(c$s3R=kQUq^6F5K;)5-5A{CgA`U|z8PNY(vzsV43A-$|eqIY)j< z(T+Q)H)WHJ2knz>8&$myb_hfl*Fth;wA-x?X!8$pn7D7q#w#1LHPyl8mrLN~QJ5IU zFyENMFgGob&CXun?nnG7KE#+mKAN_$KH*vZD>zagFu_KdaOJCV%4hubo4JqHe} zYA(QJco33_D8t-1)@@R@vdEe-G(|i(;x36b&3ctBK9qwd|2Wwyu2Bzn4|CW{@`v)0 z{FPLJU3K1QXO0h=`Rj!~+N{C8!y^mUot^R)EGUD;38L#qZ0klKWh>OK3T-UXzj2Zy z+ONNG%zK}dX?K$Tp-)=Q=xv!rlw5LyRxpl~+k)}+thOKWw4-DV^f`vHOX)_(vxj~) zLM<&7!7h7hjWmHEi5sq`&3#TlIej@>{KJiUm~HB`NKO|_RK3T8=ZLl=Ar&4^r`o`L z0Hh;p%eMkS0kUNeIP70WsMi*)ZEbnh3LBXcXZ?L-yc2jgJ?6I#kS`ktgv-mEd`Vk! zZ?W3sg1aZ%ILgC?t~6{wYO32CNr-L-chx+UzXRZZj6}4z-F@$mm1Ax9e`t_jJJ%J zV~);&xh(08vD~oxzi4|C_^7J$|36`osOSU*jeE4Q##U@lv5C0MNP;t%C~g=96^m6| zP?Q-`7iW?wxbb@|cS|mFaU<7AlPU(Ck!qCQfKsZjF1aM-?ziy%$ zw0bTYc9FfjvSzBb7;;rcwj3`XRii`& znW;21WZuk;G#(`Z_rA}^J${^2ZE2(U;FxvkwdMX@=$q2!rh-KM{hRL4)3GeVQR7;2 z8|(+Aa#0=#a;o`f{ZCliW$y7m{1c<`hF6e~CA(yLQ&B%8OF;Lx$9VnME6+p1OVDs^ zoWJ{Kt=ti|(%3MyV#Y!kRe$@K{buMY_m=ctP{qE%TPxmy;sW`$nJOB*$ok5Ty6(JB^b?Ee(AsjNCc(J&Wr{I^sVI zZbBLQiFf?2famsH+i`W_dB#-#j6Vt`UkFA(Sj9MuB8VN_e~u%(00znB`|k|FJgEXy zoK*+c;mlpJ|IP7dozmqL@#lT~x}}Ys9yZq4FbVt#lnt*ZoT`IYjjh?>Cj^VSAELqk zbU)Muin-9dOXBMYl}mqGOZZ%pOIt7HrlxOX@f}P$gLKz`DQGl<{`2_&(oYvNHW=Kn z4wWc+?^#IO{Lo+U$6t@sjydZry|A`t2%6--%tU*NTGQrc|81nfWEv?;f7p2 z_@)%XcK<xwW*tcL zvGjN4ky(pzgYw$Ai|t3~Nc~!W`R#9aadMUo`>CYd0xb;LW07MQ<`#+H9DuTHH*Hg) zCHF;(H)5Q9NW`VT#bZJWeW*12gbq8#xX6Fc7TA8EviFGI`}e#fjUJB8QE9!{-YzMbIJRa}kYIg__2`VA+AF!h zJE_J?RjXCM2IV&Hd2XIaBa)~2OED=s9xc#Uai|(rrT^8f9M|+tCMK0Z8k^U7`~sVI z<`fMZzb9O!nx2oDpP$s_KZWk3F8OX(|L?S-2SRWBKT!tZa2i)}=-ol-S!M;QkVBz+ zWW)jHD&Woy<(7(m`1w#i}{5eD9*cIG1W<1uI}9)0pn_+L?~n2 zT7T7BI)Snz&y3Mmu$zRPbGk6{IVV6Qc?=Y_W%5_WVy@?qDw84C_+p_heF5kXi6ciK(0 zTSSD3!Zm=y?<3LSKqF;N9)Ex78-mV7)xrdkY&5hn*%P#OgJ%^{2Oby#T#Kf; zIRg9!JnMk~ubNl+|AGL!hqzWmfX`MiZ8sZZrrEQYQXtj4C_gz6EUxh{-Z4qR*&w?X z)%q|DC;#%lImi`&ayJ#b{r`fA>B}O-BcO1DyQ9Jo-u|^9R}uDWomPJ$0}C!QDr*BO zLV?NG$V^M*0#th}qb24~nhR;+*@t0`@>lHx&dSW21uTkkH%^E|6h~4gx`}!j#S*b7 zC*1#b*D0q5%WVmxh?2Q;XlXF}cHhoW`k6ko!NUcUgcAWS<1}v70-Y8}ojH z+zy8NCeL$4!DtxYVq8fCAbLIqGtxmE{0+wzselYLMX0?g`)(o@B(?G^@L@Hbje@UP9avw<#XvzCPa^WZ z@I9kj>zeTQ)z^QvrH=A@k*_P|ioff8<1qyeg@&D-Zv%5^#jKzA{hMjv=e$+>`9V3% zKeUoYOiayVtB3GduAKeYgl1YjzYSmQfy!{<`6NB@F9l(6D$5|W9ItN2u=qu3%Ze3Eaq4pcTPIdF_~z>ik;!pgx*ZhZ^uuR&a- zLA+t8Uc}07Y4b4as&0zRrfoSdLe@D4@{;x?wW}~_|2k+g_$QO%a!JQ^rqQX|2ssZ( zW2_n8GhaJRo9^mv@p!6+iCf7E1*y6vFw=ac|0tU?MtGpJsKDC(v66GMN$c83^e?{rB&apNHTU{nkxyXe9m#w5YcR+XAFN@E_m{n@|t6 z@~2b|uKzKRTuJ>BEj8>zP?I+g|j!b?HU;{28eWgMr=8 zC+YV--Otb@+7@Pn7`u(i#-A9r;*O144qv$5r4!EDt<52f#XQ`G5-HG_s z``z68;4$kSeve1ludtUd1Z9k&=SnW%yVPZL_kwHVT$LLrcQ0^v$?5wz2{LzzyO{q> zG}Cbqa)l+=#ieu8>j$Jh zXm0o@d8pS^e@}Vpbxb>IEKmN6{r0$biCX3wME`OcPp9h3=^**Ayi1l(Zp@H*D$XvP zFfH5{RdW8`yW>{IZK3CDRcQE@Yz7p(6IzGN>s-_;lEn}Q@9$T&wwHV9;xW;!oy%$X zJd#0>mU%6$oiFrCU5QuSs{OlHuB8=*nmn_);bS5Os1idxXr;Z>F)iK$mJ*i6VmNH6 zM{~cSN^`^K$!W2$tzFyx%`t_wF&gr9uNDUsT6I9d+G*=_pHjE&YxTuwd8e_Z3-=c) zPm!L;6Y9KerT1Uu-t2gV-|-{8Z1j`!J09n`Ik&3gZukC=C95=B8yN>G?Xw*g<(8h8 z{F>7Jd+B)IE_Q1V_b<9JsDJ)%V`5zFL$ZJ>3L!VeIO+QkO%T<~dXcR0#>M>D9<5}e zAoK(VEk#W)y>t}51KMoC-FH>VZNkPKe`~iN`Q2tZ=Cne8Zr+@k4SMx8{fqJMBOei2 zq{)wx+d>$mGHkt<(ygjYr{y5XlNv+M1GAt<7YSQ)Ppnfvca3*enNeQaxz0Ww)C5=gSoT##^|arANjk`uS2xWy@Wtw zr4L~&uczM0!xn=S6^8o4~fOb$tbHj@%?f@EIfj^+Xa&tETpM#l;~EvLST$ z%C>K{m^PH?j0B(zdnCddBgY9<~NUjqjBH%^yj@s<_ErxLD7}icjGY>*|gj&|Gd|K z2Z8~1sEDUO0bLJFG%N@HU`y1xj+eiDOs?i&4Mh~AL0oqQZHNoRWBCcaf^E#ur1!pG ztTwjXK3r3SFdTKobqthq3QHr`{ei0DB^3bYu&yPy4U1eSwvr!J{#@CMw+)NWEgQAs zT|qVWjGmWm-1m)!^)t3^%yVVQ`2WV|ujx%M!``a_1V-;)C5YE?$aI@OI z48CHN)(`WwQvs%7ya*7vkXCs897Pav))V|qe^O4+-8zL)kN>2gUt<#-lRxw``Y$`i z>+^}$X99KO-uCfZTfA{Z7W99<w-iAMMT z1oD8Y5l{cDzfv~0>wK;K#hV*t#X~pWqCgy0hfXMW)oZX)T=Cy)Gwb z0IB{9cmKvtkDY;NkJ_3lSzY%zI+R7 z%p2Ay#@Z| zFx9wNPv&@@v~1bm^Sg-|+0Se}R|L26#$1lErv@?(Gtcxh5}lD z^GAjNN<2xu5{KY|Aub|Kdm{-?G~uY=e!dCGA|w*O{%2cpHBzu1CRiAQT@`Hr^<~tt zYA_!okT-c&zyP=D>E1qFu}*rz;`uTe^T_Y%aqbb|{&bIf)DeG!jTyx1T5{_Wa6fc# zBYz}3)pd1&xqY6x`7ju8dmP&aj>LQu<4D9?O*hdBXxW;Ix za2{Ytc)KJ0Q+Jq#b2?Ev?|1ycqRf5kksbA4l9-6 z+MM_4_Di;Stx&-89orZA<#sm1k7=!W*r^q%wJjctH!rm!_=jv>hNcy+4#t~*(LF_j zlS-cIf}={FCIk&~iRHfKo}A!(HKAeUjCM}u%Ig@Y|9s@;`SdCpiDeci`wF1bHH_>b ze2`&7?Ew4msES};3KA}#i-7V&pXMx-VlqAoPPGUc9-Fj>3?!l2b z=(^ut#oORUwTsCy#;JGNpE1@zDFuwA6r{j~$T;wqSge~1Pbfzw;|AVHe5=Kzx=q$;)}T;4YsizU z&fvbP=9+v;++EV+?6{T{%BDt3Z3CJr@p4wqZrwYBIk((B!aTXNr_XaFg{-qpXtNu)ar-Q5(wyiK8d(7-CC1FTj=;FZcnrbevn{6NZ|D9(ck= zKaHyX(%%(^{#!lHmp{LIq5f%)r3*FZjsNpPO+Q@ooo-tK;A<&5`W2JAu_rt?JPiM} zKgxAz_mOY5#6$VXRIlE}Rrcp!QnD;|pE7F%xea>rahub<=QD}#ZZ6E}Nj-jMyEsBV z4R57Al`hA>SNyNb!7XxKmKGP~TvE}s&CqXl?FK)ELpc3|>qKxxP7B|ES9tHW&EYHa zBs>gDNw43Z97Ys|bP_~Ew47)yxP=$Rb+UGbhV5_&z_nk}&MCBQ?Tn((qn#tH*ETvd zCh}MQf)6dL6&}3$+c@z4(vWW9j1G{rdm1_`ei%XWCAZ>CWA} z$lsc{eq$X_H)7&CE&R!@vySV-Rj&vM`v~4|zUnVc3Rm5}=h}+=(D%<}z}vev!j)>clgz2gz=hZ29PC~PolEVqN0(_~M|UIfo!ex_}g ztlxUdFtW>mfM>i^;u&#vTr)R5Fw}*IiX=bxKYGjsy}k!uZzp94E90(ecL@VyMSq{Z zdu}g&p1I*uxOTGdb9?gOpL7*N%%4z?AC-~%Yi6jq%$ed!OsI`a>5HqNmlb z(xXHQ-u4xIp#Yvf_U;7-4iZ`9-ZF?7INJWHgED~TB*DYqu$2Rb_4tWq>Ii@tUwlOXkGFU3LoFFh{EA z{GhvsQ9js}N9+C1T={U7cX#DoRNl^&gI3C0xbjk!H^TI2=Lwb9y7F?BSG)3Bl~=g( zdFW+ufE{T_&`RQU-Eq!<& z8EO@g>=H23MVm&6@41`bykl#~_!EU_zReXbFO=WeyKGV}*4iE$3rBaF)aZTWA?#;z z`cL3_tn;W-qvYzKLbLbqJys2a__q||?HM~3LlI8eCz3f+JTULh%1E5td)iix4C)_p zP~;v%MKx5-od+}n5YBJmZhOF)g}nq7HdRn zpvxLd^ht$wu{c_7{g-awvn}@`gm)nZ+#q^yTSMXgDq-Te1W>-L@Wx$(0P!JxrE|n7 z(bSHd1!76r+4=3>z|zIK?VnoR%z8XTqwb35yhB`NK_YIJ?VsjcM~v*OrbgrOz_T;> znSa3V@_X;LV1Uby75Bzq=e@%Pi{#z%4%A*wg2PY9#E*aqzTi#r2~}$b>PY{UE`@(3 zSfCnJ3ajb#C-UfRoxi>qZ*tsjfOq`Bo0`j4cdeHH7GS-(W>c4WlY&)6K3c%QK=I+! z(%D;HW;0RHmSC&GJu>Hqzd5b0}xqaD5! z;S1^8L!`f=pF{d5sm_kRoQm0g%qiHKf6kuG9X{DRn00z1hQiGh)U@h~vm9G!eTxTv zjI+qDNFTwhCxJc$EJQN@A%&O$WIWF3Qj%F9S7`}L2!`?Ep0-H#OoHtV)@1P`Q^+_X zvnD8*F*!BvrM1GQ_I@4T{1E?p z*iw76mIlij8z$Ez2SVTG(Nt`z)V}XDLa`ljD=Q?t>udntZ2d`aakD%n-@}7SXt*W! zZi}}|3)c;QEnh-h9dJK@LVStT;>{?%LB~3O9^#K@=!$0wm4!mJ3f=nQB^BNlC4zH& zpKIdf>$_GZa$marT>0NpZ;JSCo+m$PWf|_|J(ohIGVh${RBu*9uYI(pjizmH?(3ah zuj6=8Hsmt~v{g8uNqVCJ)fEZ`CB2Cj-qaTg6AFb^6+}PY#Ylu=NY#`G7bxEnFW;ye zW0N(lv%{+t-<0xqb7Rd^AQj2@s!w>AW3!xCGqpMQNBi1;=Ry+TJ)d5`3E~4g z1)pkAlPV$nCh+9y;$_@(ae5;xd+3g4(Pq!%uZHssSZX6*vWv*}68gEK(9hVKR{v5u zu`ZtCchIVtqh779lgxdz;d)I)G~fvgIC-EpqO0{-?V6%KRHwZ!#j{1VA{ zG-CYrP@Df}$vqNYicw6j_cu-q`##+D4KOIEY4#Q75xhaOR&iOO;vm;F)+X{;xIcow zBCRN^l>8-8NA80;g%3Uid6-plS7)xsHEt)^{s&QQ;->QrM?AIaagSn;XA~N^+cm&e z;!X}2b!ExJHAKz=vWKpTA6Te6#p;$PcbEK@8$Qg6(pfO_xL-xxIn>WQ2|yguC-+s0 zIK3v(BJ_o8vfh99f)F~@g(2LkA@DnsotNCNXYGF!YJW*3Q_jxX-hpTafAy8Yl;aqs zeM~KU^-STb>!EVzgaDv6QAU$uSd3_7q4q3STNCAANnxTT*6d3EjunFI1#CpgX!t2a z5zZ`ZYt#AR?2i1uw{^VQ0%%o;p@Sh8DReP4UWKB-(5BV<4;GsHit%f~cXH?NY@HRU z;3Byz!j@RXAsSCz0UW@d37%VMmKf!Z3=PkG^srb0iLg}4x9it0;F+-T1!{_DIDVwLWr5}bAuEaLQDugm@c>>co+ z5Zkg_NL&HL+A^UIVn;3bwc6**hdyVxY|Bo!f)>2 zhFqtm`K4Axt@}F_DxT&l_8cqH=#U2l(wn+9@%5>qigroXm4{^)%nIH2WJM@19 zO3k5xBN3J_r(;M_KXOw^Za;IQVq_EzQN|u~Xq zN~^!>yG^<;uSThPyqWhfapy!#)daVIP@#T(uVN&jaWO=9poJ5UtWyFq>Na)XGE+CT z+^nv9SBrQdGq;#`;1k!$s_=julucZ~)A(cJTc?jI3RveXP!G|nk;g9Gv- zJReOeg5#fhfeDdkV<}bak~DQByJ(z$$ggA}JyTQ0#PO{_wrCdzh&cYe_ODvx&W7pOeamG4*i za96%T5se;r^q%;Alygkd*-t>WoCnG+Z{3rzR*gJ#!99&;nFCX5nTTO zz!Ev#;=IrpJhxp%+er zd2fRu=`B7#2Qo31?46<# zDe%g8AuT++jxBR_)JjMD>(B^|v<7d7Z%d^CIk^}}QwE>G=x{{i3WIR`eh7oGekC}K z-|JFj_4}$AC%ud+qpXd6iKxPfD3co&K0)3v6H#wb#X8b~W7QoeZ98ruGKri?gW#8# zeIeFNofMN5o0)+f!qT^IhO6s3*#EY(XrXJ(xTr(0+Zk)mP`JW+~WBgb~Q#Do4-!+Wdv{Yk5O13NncI$ubPV|DmBi`oC_`Y z`xBgleVJe4@jLyDKu#pn2;UMTruoXE_LmwL;x3^HPWxK{HAp0(*eiwI|G=$aS9TI| z@r#V(aekL+c|Yq_v~)9j0*^(Q$&fs-^vZG$Pz8TLeL3+G-BuWYvpZ_~*8nNX-PZO%dlfpJM+Ho(1^+!;cL*Zi;ZlUms3bQCYr9zg%pD6^F2^{%tJe4Q9 z@+B&t>B^_5e3C1_pmKsTe)*5~q`bW=->Ua`xAeYEWyGh-7pVNXD<7xwe_XjiWw~~# zQ?2q#uG~*$Ica&n_HfFNxbo{N|IL+Ss`CfR#l@+##Sz%L7iSkJmBooZ*mH3<(ooFX zwq$L{D5|wN$|`oR%`z%-IIpm|h`qH^Ycrcp5FBsa?$$nu3&#D}* z&AzH1u1$g-?Hn0!{7!Y)yb(-4R2gMV<)tdGbLGcW{?L_gS6QKU)XAu<KAL-O1i`zI2r7&n?2fl|h__E8nalV@I-TPbxwmZ_a`qp)C3}IU{BOV5)TIn~ zg*L2#pn>nnNok2q{==Bk>w8Bs3#@=Y^`d|Y7r1d*IZR5tD)=7#UJNaY7!;#0Uep37 z)Jxoe*$Jo-!S!OPypWx*`=3l78VJD#O4(JYx0;Jhe1@n&i}@B{eenRx!r8RC8wUm}WK(#~&)x zoKJ|bgW=I;pPIq4NN^iZ*`?^J^`%pM#_WTMYYOXmBAQ+9gSr1k8b}=deBq{|Yd4Y^ zK{ZY|JX9*8e}7~sqU(OQnTTE>5&bcVt_s!tiG{is+`3uaS5)_D)zw1CDI7~br&%LB zw?rv0O`$E4`8A7Xn!?+dgoSpcDQs70ddSV2HN9L-k5kj(0$j>s1eb%s#V)dwkzj3W z2>Cs9%hG1o_)o{e+5Kko*)3MHTiS?Etf>vXW)e6Kr=3aXAHC2`sn&~|!ul&@uH=F2 zkfM&d==a^2>^HzmF{B!#Un0=zLs3Rdd(W1?Sm0W&=cWm1uJ@tlh?^Cp>BTgvUcM~I z9e?H8Oo6Bu$Z%OOYB_raA4R&T_eLc&HH$0)QrkP^GI@fxDQMz_OKg0pc(8F zRwcCK|J44g&(j*~E#f_k>PB9(Ln;*UDlu?yPuS1|HB|j$py=t{o<^%Z6nA0kgm7t( zlNt_OtL+;`&peApK)&w>w-gq+0Iy@Y@ykj3HW1y~l_r)QpoYW_E`u~p340OGh-TA@ zMbyFdEmR2hH?D>L&w&jC?q&#rO)LTBFPXpDm}TJV7wNLCjf%Y%`eeZ5@Dl+(M-rx$ z9AH6lao&1c71m>CrlHjqv$ythpK47CjrM?!6s~nJOqS?XUHF~3%FB?m{ zh`X~|aoR0l9Mc;HnHSOR9~~ex*NqAEGKLm`*TGsz06xTNr$n0w-QpoDv06secr6;X ze;i#lMjofAjwgjwdSOT!qpT8rQ=e`Z!nE8d3dnJQ`W|zdYe7D|%%ST2K=qyNUYT<<5I+T6Y>{rtu_AALqk^A@A}O+ zs5Uo)-T$NNL$5*iWB}W@NmpO#pMOEOxpMYOYG8bf0}R^qqBu!K73vCw+Cm{(DAX4U z6AFb^6-@ODhJ7R?+2lWh3~BIj-dC^rP}AM|JB*!8@3q(sSuBd58HM6CB@)H>^l*XQba63`4GW9 z{>zZy2G81z;9eEM_0dx0hfXBak;U9_xx?k-&MAR%A3*N{acI_@y#I%Y8XU}%{1NoW zhBLwMF1|+@0}rrwc*zR`Q_j8Jco`dw{P>he80haLLQ%LUVD4)nJU_$Ulk-_U>MqEF zYx%Line&-nY{A3GtUHTuZG;M4X?`0lW7$Qk)tXp-=+%c1wU|7cd4DZ@$`868S;YJD z9H+&`>ir&I_W%3Io^mh_@^GSfY&6#q;VY3kPCU)@KwjBQ-}ZXU^j}(l0T2YMdMrSQ zDRVH?QkuMUNT)o)D@*c1`+vr-h&MhOOct``2c1Z(%%QiY0)^cCYg%n}Kka*&{d656 zkoxIzelnM1aEtrB(oKJ{R-fNb)u+4hQ?TU$@0P|hraz4neI3soT9X_}NFSL;+%Csq zgfS{28xayM%Z+H|WKn-(l@YekInL=d^$7pF4XWH5A66Mowu7qD*(w z%68&70}t)PbyrTAqL<=4;xbK78;cM3sJ{AkvaXZwM;#~{=GU3rjs#FulF(bG>#?aO zYPXWCD8^N8uGB-EpO^4+13$kx2qyuC=oS3Z>>Ua)CdW;BI6h4#qpM%pgwSvy=}YN^ zi0(Lq5`7A#00imshyGg?aN&U}j(1V3IX52p+k|fd8X%8dQ;q8;_t|Ds01Gx$ICpBsKMVtu8ON4;VD59mZgF# zo3Ct`usU~XyE1>+@B^X4Kia_viz5HvS8(F|(6({H!*+kU9>XZ|E3`RJ6!~1<2|_vY zC=sX(-}n%cfjAghrR3S$bNk>#@E>1=j$`bC?&jF|`d)Q+@qh^Fg`?Fok48&t6A_hS zpT(yQ)4sQM><$I07AJYM7%BtU?KS)`O>Ca<+>L^nCpY08AKr@Mx&>i~WQ+yR&ZUZZ zLTKkR0sPrHKw&T{nnAx0$Rq#AL5$9Q`ZJ9)cmF(Ub+4C6`0K#GSo+YK@?`&5XJgH& zQ3AqY8_nJ$Z&FzR)?eYjLM*u(74Y78E3d%!%(HR`KtkLj!lehzUYpMk0`P#Rwd2id zK3=HdJ*nT=nyQe`J|>jXdOb;jA<~vIP@+D>ykjaridlE7#`yWT@0)XH)o_gbJDu}x z$#G%ESfTP~7PUl%h7ra6N7}niS6$giwZlUKUb2dewyYv6feZ;PEUU<+#O>|6)E%?q z?DwqK7-Rx?j`Vh24^WbiC&r_lWS39>do$ua!32r3B5wT9r5&{;BDP(q2eBo^QRBPAmV$qYt zrF&zD){RgnGZJH73XSAG*`q_`*i&$F@2Z!D@3!F`#GV}itr?FQ4X(p2zY1BXy*n}_ znWr{5lBr;O>g?HkHft9=UtvCrGJ4HVa>wxP?0w>?LQ;!moA&*NbQW9X2i7%@U!Iu1 zTG=cn-ll98hZC_!gz$=R1NLe7E~;u}BDX~>H`=f%c#__w_xkrgE6%z|dUI8C?jaG1 zc{npRyahpwHAb&-B!=ZOe z^M6A?$tyV6X7rPt$BqzcQMPmXIWTrM!ca46jT9Cli1@{{{%@M{7m*+O;Z0qQ!zNZt zJG5o|_lfx*_jdTpXIAf<7>6=PdIRerkqW=BDmP55n6a|QkfV?nq`D;a6M#lCsp)sX z15uWG6Fp9-v|`BH(*lY9gMV;A+VmFhQ423%Sjmff_@- zYf>&$lH{}L)|{{TOdXJ}W1kr6M6M&(0UOHRWZVY%>5)2D=)5m4;@-K0*t|sV#+0*n zSoeLC+Z5P$_B0q#XVWQg_~QUbvzHhAI5LCq8PeJH*sVNuJ)(b&RY1e~-LE+nfx$gV z#&EUiUue(Ln|Z^#C2;mkI`EphUu3EwGlX%9ctwK80N!bhE-`fS#8B=gkM5Sa(;%sW z2jFVdeHd7`bo>^DL*#uk$Eff~R}(&BBT{&^K=85cZ6Y7h;TqyKk<4k>j|j`)nxeDu{wUMZ~fY&W3SBdd2B)p3&J9g`V&gg~lwC@@?+7@ddc@jbb{D=|+ zc-$nNC_x=)&Mj(043S?RkEYTjRLPA~&uGj1vmeK-U|3v`7y-D-zB(Ue;_M;X8FuPK zwOB#De*wq))SS}2*{dog`lxPXN2pdyu@`t;`v++jT-vVws&sT(f7Wjg^s2ocID`-Zn8nH%8Z(@z=cHSR<9ls@}3Hf)?8Pp|Er7~kHw?+OXl z=6vJO|22CG@JV<|xds-sE5NBE^! z?Fo8~4>R2$k{yMhhSj0g>eAr?Q@QwB=R=UT{f()ih7w(V^z}_$r;4kb65LtX0k}`n z|D*~jqB8uXHQvH2Bp(@H<`L7NtNqvpfpAO?PT|MkD4SZ}rMI}nholm^HeM_hG9J>E zXdeOVWuE&3aUCSd9*Ra{Bh8MMzT&0lsW$k$O`KERl)3YpDZpnkfcx2WG-q2c$dfQYO1^;fz6V3m`cNCHrH4Cu7(6 z9>&V0{Q+|{zfs@vAD>QfGRx=gnlU)pg7Dh?7xXB%9x~!(EgrVm z!}jh4O-t^Px5>;N$~stie~wa_EhuUCx8>TWvX5^xvC%hmvrvni9zxgP3*gA?ubZHy zT+ct<_Lm@j2tWVOid7UW1D{sIz*l57JhNhVaRYzqIA_K7cLO&CY7Aer;dczjn?+ekC`a`H~&XDZ4+E#Ah(O+|jsRNm)yp8FnwS1skjln^RHY%b_ z`gk6P0Q)4Q<*WC<+&%O$E}0fmibMs1wP=-BFLMk(9vd4wO&ngQDLZa-o;TqItwm*DpiimE%Nd$1IMTq=_zFrkDBhM>@UdJ6B>M8ZN z;06|Yh}+Y+5^y;(f`-7lS8$XXNf`wNyFm2LT_$E0rW*K=mj&S5dDUjTF@S;pkkt28 zH~GVkCML`O^HoJsmwOiJb?q^ZV&2wcNa~X`87O9vy~F9_#&@TUFW3Tnb?4)=kD$fS z#&^{;{d+1qCsFW6y+-44#Iy=*8M0gxd&?#!eMGu(wRlAO#S(H_#m-{b@{P91IP@;H zd_;H4SMu7e^k`e@%%d8rQrn7+&elW2ku33I&AI(3C$9E@0~TQR?aa+!_825=K7!$3 zcZmesn)~M_L49A+qappCR~C`}Lde_6c_#vH7Nz2t@E%b?(|X{Sj*|BgPe7eBBdn;c znJRvSZAw0-FN~o5I2uaWgkFF;FZc)Xj`jc@e%0f3VAS|fzVA!SLx4QVk1cWJJ<3$& zki7fPcI53mheq)mt}CVZX~2Y)J8}=;yYd(<{R_dq;FgiYWXPeg==V)^01M6nK8mS+ zMZplcmx3AmMerC!M`_JT?E(=Sbbvk8S;18~kcV!w=^!Yxur^QFoPveg zgTW&{^-d;M#G)f%Z^EJHi|Q=<@7p8u{pey~gv-@9@^Ci0hb#}$wv*))1G#B}TQzDl zI{$|I*eY7UqIRbcJK{MmmfTVZN3Xql^t$khl3qKmHLkG~W~m!w#W<3NH01pwzx0kJ z9HekwmLQ%qzEX$P#i~|0LdUNkxxOxbydS z+Hsdl!ZDiaEp3{O{vHhkcx8`7dkd};=8ImhRv~?PMOkuZF4DDG4ORuwmsP(^->Cxm z1$Y-#So(1ksNLfVSL`F>uaV3N_QkY{vec&~?h)<;u=OAO-{1aVcEOwcM1#RUk#h)b zK=NWFdphlGxfn$=`+>gHyj4$7;zFsx5B#tlpk$1`@00vi0F0LI7FMhTDx6tBMLXUk zM3AA)9^*V&y?KM1f7pIdXFuVo%n#a{h+a_TV6fBQ^JvifOLk*<|Jdoa=d_EcdQ0BR zXWq}E00#X8_Rl9zND8bS$tTb06H!DP!Lv5_`rv-O6JCD`H89sir0LV(@4&?X@P>P7 z0Jz`#0U(P2c!J-$0g$}SPFVwD5*}(-Woku`rzPp!qu71B9;sp*ZwkMLZI?aO3sw6E zDfyy)?Ju?h8Q6O}maqM%hByxU926GJ12q0U;TsFn`v-4I=`pvSDJ1J`C+(Y5y;qUm zP@de=8`U~wBKDdazT!9mKPA$0^(9RcOrd&T z+$p|oTl3jUQHPgSh2~)s>XUW4htI;@KhMpdA8eccpchQx#qxV~6J4a~Md7L+J;)%P zZDm<7U}y8O*^I+ktR`<7TO?hWnaajX35|EDrk(D>JY35c*iU0~OVg{qw=J;Wnh|_L z+@jNNwolL;Q|!u3t8dPypQLRA-8=kLvV5}}xvk9N3GcHRgu7n1^Uy6y`r&*aL=vmS z=^d@uB1mom=)b~ThPnDXaPgwt_`%hnwCR)N3ze)TTCG#kxtjjb8#pkkg5S9#7{|}m zY~~~S{53qQ#f>zkiy-8@`W0#ck|>}H|M3@`D6R|BmTcAR9d^~Vx>XjxE4>H>_3pyL zJ6nm^Gx}KT5y{FCC%h|#^IOQ6BAm0gQp2_;nh`lwh4W=U@DE-)hY6%N6#au6@DKJw z5T-Ynf3Q0=_>yo%Lg=$F$pn1jl$|4T#a5*H@$jp!w`JCE_*-y%A{?0pl;BPxw`R87 znWJnypH?%Jhl&O#vHmC0$p@Mr16W6x!v}xG#A}J1HybjT!3YQUgNMb z_KXVtlw|+C<7}LO5Zdptd>QkmO zQhhik+_((jGQs44+_G@0{DN$5Tn2+g8KIIqoU~>bZ_`YR z$m|7rB=9+oQ$$gvKc?1M5BQEIQwQnz_FRr)mHBtwvI*>G^|hR3y~1`4(8MM~ zt9%*-q{+Skp#=A%#Bv`+$cHUyYXnfR6}$H&+S8(D`@uT3)p|C6?TEx|8(Ml=9oUis z*v;P1FEgPKi*@Z#aOZ5#m+1>Pf zI|w8sSs@-}ir#tUhBBY{w~SHVy5Lp7WcWx86TBehZ%xae>kAXtagc+HMSg`bS+su( z?VE!tl5GRSO6mA8mYc1-csCP?WS=J|dS+2RRTtj9-2JX7vz~JALiQhf zMlG5jdxHYvhw_isxqv6h-8V;vdj$1Pn{i_gA&}L%q3(5vWOFmpfUby z$TZ+|Y{wg>OoTDA#T{`LoQ>FZ%bZ~H0t^ZrED-Cn@E`t6N4MwQoh0%-$d z?IWsKZA93J3ja>UBBtw6nf#k5k{8Tx*0*_rA-wun*BcPw({1d4w>KeABs{vw?`-<^ z?>Io6&ig%`9%!99@9$sL>91U;Uy*MRML+DcslxwR*eQot)x<8=ah?C_Ug{W2O&zar zBrgAW5B_zOknCQEWEqX9j7ZGf_-`~_%fZ(SZ^VB!u*SdfrxL6K$=PIkOT@=OWWnqB z)0otn88v0WgS5`)Bkl7S0s;{DsV6CaswJMt+7w^fE50ue z`gZ6@wDPiAecU-#G=cl{#b0?Ig9~7~afIUt;P6zfr!BU6 z*XW9Co5q-t;V%AyVPOd?prh2jP_pq_Z$zJa@YQ-uF7AzvrWf~0E8`hSD8-{#ONpJ;U^N2Np4cxNDhegnDWfEwpRGS`yuwdys&S4< zk+{E&I>CFQpbMXcWtzfotk&PQKaA5u%(vTqlwz`TZ-{!b-li^y2Teb{ksFV6L7-|} z{hk$g^O}a7KkVL=9VI2B7Ae4t4|a|i6OCj)m4vV%SGpl9-K!h&)cSaSl=(2TtqiJ! zdh~swgzv>Q67MXKjiJaz%WXqK5DO8?587$6t;?C)xpmoYSZIz0zcCi-@QZwaadME1 z-F!Tc8ps90sd2^=w;a02;~s-Pqq|a+O3~mBnkiimxRusJ`hPgNR_e6|mlo^Me?3_F zF4EpL9WG&G_a~G1WKuBP2Hms&R}7bJkT?uRjk5f&u73QN&k<4DWEIFJNuE|*Kxvevo_!je0Nc*$YK2i!W0j(6O} z{=GN4w&S*Ld{>m~+&PSkn}fI6ZcAJ38%^#9U+ijd0N|pp^$V))X}>e~${0yU2Qx(fflSp`-VkujxVWqxr$;{WL2;?XxYz%yK7Ldd#i3mzg6j6g>qo57x3hoX+GQ3v>= z`XcBXyX*Iap~H@o3iW?eRg|wKVlw^d zgl2CBhUigq3rJ1B-=~P^`_LDO(un|IcH%PX9=e+ zfI#>MVe)k|Hfyt&s*QW6K{V6qn!J51a^&qsQs8fb6&GyCt59XRbG?!fJ4%sjR^zpb zam&YdikrEn5AR5*doLX!KJFv>o6(g;W4R`R>@S*BLJt$s0X|DzYe8m~J53QC41qC0 zzgPrPI9^9_BOhyRf>R@NXh{DxdLyZ}b3C`S2^)CUF! zvijKkz^^pFTK!npNT}7Jx^*Plf^q5n+#&^cp0XRex0jxgAN5^&;|^0!COY`$vgYzn zx>h?nw`+zXna8kq4zv3dhuZa~UaC^wo2b7KkDRT-mQ1{aLB(d`byJpUveNYtx-F)tWrB%*do6rMUN$6fz}mf`{j`B z8F+nFB-6?H11}zJXo*HLpBN9BRLc>6fW`?ujx-S??;v+kFC6iUNlc_eZw##6-x`w) zu-*3y2e$8q@MzbqK=3S|bV8qZa*U%oaB~#A?Bnxs<=RGdFt>u8MG!%ojs8k)%%VD2 zn&@9SUUvT_+W+9fmf$#EAWtW<*6<6-Zy^|i7+X`>F|fcdmC;|nk4NZK98_BHX8!(DA3KYm5lit8u?$3v~EF)JB zu>x;uDKO;$6ScbiXT{6E==z|*U*qX%Y-VTrLQC?)XAh;o=8#hRzKTt&TuM23J=N;V zBH8IGdZ}?{Wn63zCrxk!JDEuMINLZv;(-cA#r1zIHB68W=DAIclZcP!sWw8(1A3NxN6A(FeOy8TFV3P>Z`74UyKeN&eR$KUca(5wBZI!#}g z&zb_YcanqI-kUfHr%P^OcNgqDm)tMRX9l&#+$!*HLJzYkqxK3Y6v^mz#t@A-XU+pd ztLBUo=pz`NMKBt(7at;ojh~IS;X7Iz7>sukDHvFo8Q*SOc3#9Ey4zM|#3l#RsA=%= znkv)l@xoug3l>Eiv1h92O{*3b8($C$z-NhCJzI=X8@t!2P+$>$m%>QI9W;m;F!i{1 zIrxDb^&5xjCrV;ev!eQpGxPEezGzKANPgK4)RB1J(_TeKi4kG1_#Y1nf2hz8_*sJ& zivFd7{E$$9=|GE-?Bo0z8~{5zd$xHQbn^~-^6usxWk|-mY5}%>i;b9|N3eXCIQIf@ zgvb3d+4Y(FwZ%m8lTD<`zv2)#kt&R}u`9I-@ zj>v3FYDyQc_`T$$(`+B6X1aa=7ecar!PB6m*#)CmOCWqd&*?)dQmdU9j$EVE%Es;c zS^<9W9ij+sKk?iWZeQdF-boWg;SNjgzy(JyNI?3%0hVfwLfLPrm-XeT%0i%Ow!JV8 z=S05{wnWeiTDuLY`znq`vS2$wreQfeby z?oX^Hq6LxJ42E1XZ4=&Vu%~)RCy2UYy|$u0<_Z@iIif>CrOKa1!k_}HA^Ab@EP799 ze_cLKa?IpZh5vfJTO|}A-q}(u5l;c|WV^AF0*(Vw{l!xji?F@E-*43PQOOC5CblQ`@nyw|T z8vF&IAw#N=Ay_mgRUj@Rto!?&+j0w_CVhRC6CH0UD2^BcTW4cpPf;hH`?4kX#i$`T z$lp}$@zg%$^x#TxaOMUHTe2=Pt0A2o|1#Y))tBoNYG)gHgfT zii0BG_og$oTg;v`2Gf?P80T?eJaDS@ueci$G#vx@?5?OWukTUkNyqpG9b+4N0h$do zgEmzgY)!%BQcFFMstctpRBez5266=(Rwts4^_6J$rIzpF@>LWmt+fCxA zuze_UGbfjVOKH6;w>49A4((4g47_Kp;=pWFv;s-)i(9{?&Knn;WP3>Z%1O4D6+ok% zB!ctXJo9Tqqk_@grjI4wdR!W-&`46*=wv4_zZ+`zqihWpfor~}=k`~>tvhNVn#Kit zvba=!RO|L?RTruM-%);c z?#5wf=-|KL!LGUpS;;rmQ|#2b9|-ac$dalO z{SQXXMVJV8iI*tgTb}GlA2LAa8#!o|8!Zhk^?nJ{EGbGaNYBSW=6-99AnpzDdf8d< z@+oUNey509IQ?ItLV{&v8SYIbH3Jfsfk^_*0N+}XY{gO$*nq@s^O~uoY_u`mL)I3t{w-!$21_W;Y?d6 zphbJjlY4uI5P_83-Meaz+FL(3xjnH-oReEm91P5nSM1x;X)U;5h*YLcDuB9=$V=U3Bj0L}MSqX355wz)+dQb8sZM-&EPQ+{Xdwca9ue2^u z^(W#wMH_THk!3$-gO0h~$%kOIq5$(l+ku0>W~*)mB{&tGN2&gmC2a{}w9I5~)E@bBMF_N0}qIh4e6&%1%kV{f@AIxF4WJ0X6(-@({X%B#kPw^QN z+u8nrjrW|fg6-ViCUyHJ@o)t0Z_W_y_d%@#*9)_iv$ zwpsHHcD1HYstpuP2GHvQ9jBrY4Zd`R2|+-?sYnkgJzzkJ9d!EdOoz(;iy!H(HdsIb z08I#-f2O4__`n<_Ezv-JUcQ_V%-~B3b+#WwAsS2+Bv4j@Dp#lrT#U|1QM<#BmL~+~ zx-RO1ajp=x!?5`GT5|7oRP|slQ3yy5!nc!W#k~X5hgYUP_eP+Zr&kY1Z>&tMj(f+T z8-M*d#1uPJV#FFbe>yg>YJGw9Gv9u*ecS@>0^5?=f=7XFU@ z3ESAE>VLF~Fn0oGP}Wzs@hK%*Z6U$_*3Lb*aQSizUi7Q4TEWh;C^0;(%pJXK^}nL$oKamv)+Os zK|=3g@g5RM`Q&sMXRf;knFY5#wZ?UKeOIa~xPuqn?V$58|9Qx5JKw&$SB$sX9@QMV zt@u^T;G%e|gm>fw$?Xk@?(@o9@>fYNyI?oN`bDDYYX5HsxwuFp>118x+C8y5yD4kk zXh&Jixn*Gz*EN+@<+XkW{ca_lmp- z&>m>u_d8tTSyUw_h3Y+PP|(F?fLWEOi6g?_t+x}xnH#78ELh}u$t!h|hD1p5+)+5^ zKOu}iJ);J#V-+QT43Wa&RNV1cLUH@JFTs3~Z&Bz6CCjs2$?_aW4g-_>3TB8w zr!`F=g8U3nvZ+}^mdk{^m&K7Z+*dHV@Mw`Z#PGUWM@f;)RiKiirYpLsX_Bbv-HyfG_Ktk1ETI2l(jgQZz)?g} zAveS1giz`WP|9U&@R#2}J-#T|T&CmQeu{LwMz?o12h_B9o}V!K+?(W{s7QCU z*OPyAQePuodQ9s3>wjcYi(5-3_0sv_q>f?annF0OpxT}-l}WNAAYRC1K!x^Jv%lj> z2*LW4<=zawpw;9-b{&el7CkY4P46M^ zbX1oDr<;AEFGxPUpFEAgj<|PFRr>J0(l0{!)1lM2k7r}dI z06#wSkPZ^*7b;pBzUJOXI!kz`5x~-y{8H(s7pwQwDrF$B>;h9>CyxO%In}=xk9`8- zoodcJm~%PHbl&bsJzo4G6nkG)v@#3HFT{oYSKIhp)S{ zLTl_rQxzYd$#|PNSfI~?Cc2pVb6Oq6FBctKX!if1?M>jLtgiq61QQKPouHu6qDG+_ zR5VmrqBD|cDlWLEqL#W9bw*KS>mwGXdkiHa;&eEaZ(zOze>44v}dB(fOIFx~Xb7TX`*57pr&+N@P$3>mNm@=-q7#gHO!1cQoLLeD^v8bSB;QWUNOwQ_U| zwpP-5!mF?Jhc|nz)77M4=UrH^M;|Bg*lK#*70JilZs`;B>mJLkaK z;BZ&ygE@Sr0EmKtD~W;|dNdwY8hgps&W^is`?j17V(oD`WOYX_y5=hVAs1hyVCV=D zv0qF|6oGVt?C5EKVPdT4^mF*x;4iSnk}u@fls9G%Zck=5ly&@|aFSg;D1Xp8_#3%N z`tmw?1&aJ%O|}M8@7HAq6-`{7@GlsLd|KdheOH z52^o}*C#H;vxapfy|H6@1W$iKh2Q~dUL1VBzu2Z+3#sEl7#&W04E{jbQ^8K3uVit1 z*ZtHiGNzYeR|i{&G2Uj_Eb=5Lu4a>dRO?q>uK6#n*v7Arh;q|JnZGf!Pps7_+Muc6 zIeDQO1*Ns+cGrnp&qi;F;@iI_zWrrZ^&b!jDl%HEHhjJGI#~iHRk6rZ8G96AzB>5* zmX)MNYo|eQVDaEOZ*u{dBRCN81;1M@W>p0wi-M;SN2Um9u6R*FjSnfe({MBRg7-k& z?|Sh>4E-PZUd%bYH^E&OSRx3Jp4F|I%E>}_qp`p(HM=VRKFZ+{PcN=GLt=!-A z8bfg@56|L_+d}%-XgPXvsmb?XLNvBN${>E2LWX(|s zM)S;lP))B4oI@c+3_e60Nnp%$0^^?dcP7UZL+K2*5JeY`p5{)3*+J;miK7T58EYY?wYxEc^gfwRD$+QcF%y{x(5!7H_hgWTHE%GVYz( z&rFq;zg-Y-s9~E&kQF^^8Y~+O!7hc0_@1VObn2D#Z*HT$Kdkod^7QtZrRCnR+6>Q% z?N%ejbDzm74u^7Takh=czlI+>!yDmputd*kSo#=V?rE=4&H`xwQW!Dy{n?fu#3>Da zvtcF5;l#?|s-2xaDLY22^(`ClE4Q?z(c;b6m2wA4j! zcDC|y%ppbLIJ%t`P04O|6u##$*^Iba^xuv_C)}Q@;KSJoQ^Cu9JJL!Ad?~mI z#^(>6doJgo4q6ZY7N2TM#e=gHDB+iW-ZzE{Vn?9lQVb4|C!KRwv6jE;?F#+$tAge0 zcr|-D+S1_8m&4!ih~r839`d=`>v*th4*%&l%_rggw5gD$3%}cQ){;PZ~idJof-3vvW*C`-y^p$V4FApDSuK)A;W)b?&>rZwF+Lqehbx}B) z@0xFI<$pOI#ZLbh;cW@f7Aa?{wc(!u(P_M?a8Qm*LgRdAD}Vq zU`)f?UQP~uudvfu%j`Ry7t?w4ZWp_fKY;i9*wMs}9-_z0!s5&qm8lAEe5AXg1gXh7wuIm0SAOZo_5F%Q zdS5N5rehP%sa-rAz#G~SGrjm>2ZIsr`T3n3SQ82fCJ6`-h~rHGYyiA1jDd_(#_!+NWxRtAEO2c{C`@M#SK-E9Y@f zuCue)Nu+Ou>PP`GkmzAe*TYIZl%WUkaBQ9#sHVY4HDg^hZEvB6)dJwo!5_bel0x%Z zR9?EMAADq8tW`u1ZsAWJ|NS!|xmBqHGZQKa#8+Y`8h&^8c@2Ahw3+)j; z#sO0@=s|!pbdHPoApgkM)WabRnl;g-L!Tbjuh2i`y(u4@KcPG~d4^f3VRL82gra<*oeXD} zrJ)gNwN!04Yh+r3v8uLnP{g)ZJ1P7F9jgyE=<#J;tBLo4QdU2+ zsJLci*`$}l9chI78B&Lly6EoObeur_)IRr2CPh%X;vR<9Ep@TXuuN$MzGEPEHa)jgh?!gqxqv4zBtf2_S4vX z*4SB&;mv>qigo=!>CJQ`Fsba@`?uUNb>cgJ^776^U3xDDH(Nut4Su6jI_KecY?TS2 zJ$P0>y(cXUx*J5m_#1^7>=#NOsFg`#wRi=3qSQn9r+$fV$ZfKc&;t479@}#Vi~^EU zjQRpj$_GD6I}=*RgWJ^85u%v1Z(?hzL3{Zp}o zU`LsO!yhxa;|Ru;^pD5avb?V5-0QwhSH}I_?Yg&{sAG|j-(!>*s^i`+ z@LZ1i3=Zb>vaMjO<vMgAG15v#RsVxalG+l+ivJr#s5l(MtPCFHe*ps zfU;cvRS9mz06B+O@uRY?=IJ_bMD>J&;{9Jpax;eFmf`5}Y#bab(K}$oq9F0^N{EvO zdM7b@S)*UF)V#@dAIIpYl9?mh*c%;%!R}Xre(<4jfV?tCT<;7OacNn@FWG8E{E=fKRY}4T zan4l{n*c*5f>46I&U+_*P*X{~rl~qMW2y!+nxmM5UWl@-w`Kr)X2|ZbR&D9rkU8m) z8+CB*C{X~TRo;Y^IVa->L!2kxhKVWs5)O`kYoIkY&|E)C>Kh&nLwEX%b$P^hcKPus z-__;i-{|rykz4_6VlCX)M@i|TBlGZi{p&n@l=#x6G;1Ab>(kmMSZGr(#AqF5L+O29 zjnTxdFFKmI;w$V+om7PXvY_(+n~pk~!{2`CWO_<);e<3HJ!x$N&9I1ow5pEdURJOC zJ599-F6Riky$!2Uec_}(ysE(~k=51C(A=jn$&xX`E7@pEyt_@I7Bm@N6;AJ3?_B;B zmsLe!gEm4|3SW&5+m;SvDz-jaI`nNJ7fbadZez79l!`b=_$bqi@Cd#zb%j}vZsJ3H z;WGS)B6-tVzik)wORpLt{t8J%8I~ZBP8UI;X@a+HX7!1+^n#Eu6@MC=2-Kqq#CEH# zj`iF=Ir>Ht*r9IJRs#Z-V~`kJP9;(Iaqo6@Yta+oQOiL~RZ-IlXg)9qwmq>E!MFCQb8EEHU`l06&_uMu=PX7h+8q$~GsmyquV2J6dbfDc#EC@|LSEO;e*EYc!tK=uYL4{rjMl8QVK zqchg{C44tCqyp2bvAD5ivasC&)M@%Anid2r7gW%mTU{+|(t8p&EO3-M!{U|mw1{k4 zv_oVwpp5%B{*$8Q=+=#V)GUh4kot~@3HX^!Xh?d{;PqJ)Zy(+Z_MkzxQ6$=igj`aw zPvfzP^tvHWXseL z8O2>-*ZMaEf?SUa@q*H$qP*Nn$!=7`K;7G~SYtL$bx{?}v9|?!4U$1yQzSFwR2}W` zqL>7Cy(oxd;-G}jWqI2q_tpL|(}sU-;l$k%LwYPqf80=W;-a!Nciar`75ZZR-qU7b z6^I6F%mydZA}WLBXysBG++Z>8Yvk1$#Nb%VIb9>*UgLZth40V$_WOVW!r|3=Z$z(n z<_iv~moSV*?{fke@#$&RqwtNP4@6SAr3FeO;V+?g^N9b-FV`W#!hg zXs4vVo6uQ|Um;|Mv^u(%m+FVC-4XCd5FI6)O?c1Qx)~!6egedec^e@qWCYJ4n9pi} zq2i~Ue6)ro`%a872a^i74v5A^gVuVSP^4|O?qrcVSV`Iio$0B9gzC5m4O9I~j%Y?( z+$VHVveX6+TV*AGf`_JKSEny1Uc}-#?*#ou_$7yk^|G17LQ%q)#+3zo{yp-rA5X9g z8t=2YyI^liaFYv=A6Wj$v9b6bZ0@`96$wmi^BeqZx z4Ew38gQ``?K38r=Rd~WJQJqMfzN{NbjV6YWhrW#f$C>r7Qi+11;7bCPG!j0I9~-=YQtsBG_u_|^m$z)E)QPXv=ZRQy!~iK zINFOg8NdJrz#a^~)}05&NFFstaxy<3!^zJ9KgIbN5|#yLjW*W%Is8k5F4NeDR~_44 zB4I(c9>uKE_#?-wanvOtfb`?iAoaB{w{%|Do8eK^&UX=PN7LcKt^r4G!B}f%FOPS0 zde6~ZvK_HTU&T~~CN1B>XFv?%Y^Gw8J$UD?Ry}-+;;s(vILF35#47!yOCZms79Hlq z9BqcXLa;DUaW9@QBXu;UtT=cJTp;6}$wN!Yn138RS@>uL&~x+=KUt93P zP0{9R_k*<_kIOKqEtNZCxF5gjya&~5y#M-S_L_Be?(<&Ns`KyE7~N_&{h`6XUzG|6(sCt2jO67NMd^Lx z*brT#b)HS(bXve2%aZ#?1dP)vBemUi@s&U4+Yw#a;DC$Q%^c#@#_>K@+mMEfwej_nozPCZ*v zmU6nf=vqw%S>$KbgEwqcw04o*DBJsm0k%gQ{uDuwFB1$ua7DB@vgbIx`U%skzXI+# zdkpJ!m3wa|y?494*YQ-I|7m^3pgyub57_!(4~{5G_xT>deZC5YhFcG2ROpQdfN>4} zW16gGA6n7iEot!nVJF1K^US}DwBet{r@UXpWMVCrhss;tv3Io3+C*MN(yN(zZMhLi zhzzp$vu4v^=F3CUZ)FA-$LI5$mlvxV)~sHP(oVkwTVQh*CGRaH#Bn;c>_R^TrU_{U zqbvo~x^9$k>aXLH)@WNDq#A0WGFz#2v`Jn(MjFYgbVoVvR*Y&7e7`T?;;oyU>jN4ED8&6Y@Tu_7(tjmS4opk~&#hBOXrBS9Mh?5US zo>T|N&+cx$@(5GNViJX~tBchI=0G105k{IJV~=kdHmWw(A~I-nz?KPWzfj?JhHse< zc)Sz8{3i?yI-s|Jc^H@)fX!rn@h4?@HYwN<<0aIEP^swOF9o^!qid zLv(}gMyBOGMdY83vUOf=Gpn{q1)1M>2Z?PC^|3m3+B*1=o^6XGC7`0?a;-{cae~X? zay%%0_LB|XyOt5@T%rm%Yg3y_Hv030O|s(+C1Vq&yuuOglkjh_$>@yj`rz6RHOwWD z^z<@@nf_g)f0RJ8j7AL$h`VU?UbS|9ISze-+*7?ej_<;EGup399X@43(FPVdO==Mx zCwMDZaj*0!oE?gTL)m4E#251Al+EQ6JY1Ll2i>;*onP1;3AgV|Z6C+poW4<-4ZVIc za0T}n^0mQxk(74caz?=gnQn6HQa^>px)b4IPJ|!p`tvD2S+5~*tcMscCincCD>a1F z0h(S9>t{ll-mq-O81d7~^tepY!?(d%8q!oLS<})t)@c+`GDY<3k4Y@R^3{1?){)oa zJwiQc)jJMtTXC8MZoP-8INSTT{f(>aut-*q4})t6+3z^KYyWRk^A<6=P-z@z=`|Tq zA9AlPU+7+|=e77eZHB_`a34p&ve>pBiL7@&Yd3N0hn+{}o&|nPjf z_bB19QgRn{BOr++1y6MgKS$oH=iBJ{9M|*7QP2Mf7;uY7s6`}1g^#OjMu$fg{+9}2 zGmrch$1tMB0vavX(Tni>1! z%%l^0|LEA&nAjCZJJjbW7BwB!IQF$BPu_jSg(^4&t!rSswP5+dsI;wZ=p#W+H?MDd1W^6`ci z*xUp#Ky+aICCi)i2TM);UhwS4C_zLP=_xWrQW;wb*UVy6$d*3%S5%5v-D_s*SKb1m z#6~IIQcD>X>-^jL-A$ogukaFtLkjY-&>107hB*{uNLrVqgz^6`YMJPOo#$ z5l;Le7)0Q$)3J+0Suy*NYKmXFuCtfgZT%Xiq8%Vtf5H^dbAtm{8n18Z9Wrx$^sxmc>jf zcwi$38y@4E$zkVC;H=CAw3dTIYa`Pp2Ue?`DR)oiWS^QFLT2t2~>!&V-tofbIUN*WRZB$(*wQ_|BNl<&!2O74IHb{~6q*lBG+DWL)&Z?CZ2RFgUrTeg;@(Etxd(PNQB z*k1uM!Gfd^Z9sZD2T`RSCgf~)SN~Eh^s#3WqBq746jy=5Hk(Fd7n_sj)oPW6DSzRn~G8-aFTOf;{FWHy-7y|8t_bO!olA-e5jl*qKNst5u1LY$i&gkI?&DG zDx(dr6lu9})WN0I7KD`ENlsg$D3yE7MzbN<>m68~*RJSMz22fs_$IVFz|1hKSpdQ#FLl=H9WEEN^5s_ldQhNmrcNx9pLjyl1PRAJ9zMXCIhJRuQj09IWgr)77~!7 z>_Wae(1gFmCIUY6(n|k@R~j%UH#K-08@;WKI-SIx_hj5KIA{169M3AE!+?8k`1XX!@yubALUR@-J|{PscN;}bS)&AtenC}6+F zodv2XtzA6$#(g6;=Gb<4smwZLMNr2PgpJC|0CRB5a-gG|cXNUBdD08ce9j36-OwwY zv2_jAK(}?|d&Es&{HQ~>{nuFOQTrMaKB$KbsGQOqUoFWEC?^!K>C9e>uKNTu+8N%- z_-q}WFhk=b+1X1G{C`59Mg&ssLHs( z)hnbBbZSbZt4QN+ddrB}_UD@cpm>VqoZ=Wf@Y$A~jONIg-5t|%1--tnV@Trb6sl2 zdsWO{9f)qE;S2ZVzShYb1$WFQMN~vA?ZI~MGc?B26kZ{6s|Vc(sZzE*<4TV*1IJCm zeX-m{>~j4ZBGN!CN1be7nG6O9tUOs<@GAfi!Y3k@ZYv=0vz5izpXcZAVCTv4^YwHQ z^RDJ47qD8d2Gb4t1a(g(0>T0R3sDuAQldCMmZKspq27YtKsFfr57lBG z+<|#AAjTQJr4P<%O*HaC4<&Y92t?G?f>%W@D{;_9q)bmF^Qd)Uyh=+W=>=+}CrE~dCTN4PqBM|H-l zj^u&Wxy02u&UNwSgKik7sLn_pai33QFG_mPM2C-bwy`RTU~TX(sUosUkjOXLA^M4W~FJVnMm?KxFsN_^CXtVhf z1uo(wLf5kE{x&TxOZSL9eC%m$VYkfN#l_1uE#}C^reUX*rMAl~LkV0R%;#P;;m&$G z#uvB$`Li5moXniLZ;AL8;erAnsQmH7?nTbDkTWV?FH->~L=pg8-=?pbZ=89l?HaiP zb7qpBreNf)3Nta@e-qF`vxYkCQ;yRUs47r zmneDDFN~LU zaGcui;Mk}&mE;ty_uM0bVnpykQ}q5^;9nH(reVwi9v9vXJQgERqO^_OnJn)W6$v;sx-dOECy z<9FGQa{K`g&6JM<;85q{ts8vf3U)x$|cPyJ9LRVe+J9E<}ZhN{^4(paT)%S5{WZvFl z<^9M>Z&}=1X^*zZ*{K$4N1+V;jc-^uYbSF!YEK)%V851Ih`E0JR(|KAvV5v>Q8;Xp z_|6T%HEb-!LAb-FDE?EhYCCXK3+<497|0)=r@#4xoNML9g9dVR$U69QXf71>1{?uzJZlA25(kg*_YM7)^Sy2Cq^oY*%Vc}q02#Om(@DozC&VN8n;m7i( z=ry&elf6+}w2+>k^v@b2IC2hCIFOlJO9j^H9@E1OEhe{7;?LD;AoE&3*j%Jw zV!6OaPq6{FP24$=c{FUuZO48E`@Xz=x)Hkz zA+4||)H1A8Z2c?JYjw&GVrWaP!Ql&juas0m?>(W+KeiUL0*a(X5^xFTN(T{tGZ^$y>_WD*eRt9D!l>;; zS^Q)w=)PBrcJ^E_LkK2cGo~yy^T&p%z>Z3> z7HtJ!*DLyC1Q>wTEWF!va8V4S*E<(h;BST5hfDe6@PZ9py)Nh5_PB2?0~<+R*K^9^ znIpMV#qK*JIRv=KK4lH<`SCKXlb{>-|E^n-*uU@LpFnmjhB9BpLv9px#AZIg-^A$4 zONfFKH6koNAsGOux-Pv(_($xj+9!|&4O)i4?^G4<<%S{W5wApPr90EGA{8TDJ9Jb5 zD{58y0!)Q}QiYr%pT^W~=_5TIly0Z#! zZRK2OF6}~&UQQ>%0_6A1=9}{;(%YrUWrv6LMBQ-i_lU~$}!_Zi{$*(_?E1WdS9wcO5LUy32J&vJL`5v*m> zL&DrqVzbS4C>moFxl&kq6@hvGZ_;Xic`=)gSQqdo~r8!#Jef@;$f*1 zD0G|b7{Y<&qEwPYi-^>O{)uf?i)mF7lMTNESL$IunkRUS}#*G(| zl%Zo!8{d2AHkg#lT=JiP###>Ut?`wRZf7j#4m3^zxqcdr&ls{J?MZi;9X>zE=I{)| zz1pJ8W3vI{05n;4#kfe)heXg-1OO6wta14_psLK8611mS%MVNS;OM~;>WMQlUtm3W zo_E7G;&Zz6H3LO>yY_aGe7mlV7D?IHY~Gv;wEy+569Ergg~h+oYnN23WkDBhmRw5+ zGb-vi#)17V&7q@XBwbRc)Dajeh2uDrnA|E;=Fc^D(V0Fy;hPNa*irNVLARw62^d@Y z6M|j=U}{ejZ$nH;xMo11*qjv^re?~Hh4qg9!**uH;3IzL__?LMO79(JS&41lcm1Ik z^1%8;9*(V4eq&kmmm`DyOG`{8N!TjX@dwN7PxRtt*yYKk6zoEw;EB_`7u z-UfDwuS=U(9!QkwVL;K$l?U_1AC^C#5XbhR1g;7HH*L&Hx-)j>zEmQv!j7Pt>muBT zk~}<~lJkfYcld)U1PeIH%pJhd@ImXCqiIaWu`QSr`IA2g`af?fw)a=?#DV$eRjAN@ z>ExXvP8I&fp%Cy8UJVvr)rQA1KJc@23f083%X3U0ZlNF}n0l<`NcI;|PdBDBi=y3B3FRiveoS^#V-uSu-@putQ@>!hzysbj&;OJ(fAzi>4C zcU-M0h%vBU%ls>4XYlvBx4Tmmy(OKynn~*(ph6qS;q}4JM3WS-1N45VC7i32qW+I8 zOfixDi&GYHiE$8gbxsa8WTR*TFASEVArD-kcrx-`J#NS~{WSP+dYCq}cbBA(;HDsw zpdHWrxR230x)z;q_dk&IWu8=#lW@6+S&?fiQcRIA6~QMMrcXV~z?L{8Y>@LK$Mf3( zu_(onNXwi2%#lcA_ULN4SZHD3rr*xj3GLQ?uFZ zPiu!@j?%i#iY|+cwd_XS%sVK!$5q8zwxTK(_F(BubDe~%<-<9he%KA(q$P?r*x_1| zp9Ke^%lktc_9fTGg8yYnEY}8BHngN*J){UlO-BuTjhQ^+;;yAY&e^oHhc9@7+W$+Npz7FMN0^z+un>LLs&#sQtkLWuh{*r0NGh;2viw(4vNtLLUw^=DS>uS&|Vl&PLGQ$2!#fn$g zdmrjBddCe;9>-=hM~{iJu5{zy6`5k=pUES}-=y&~G@F9P&y{>1Y6|sk{LM*k6Q$KQ z1(%D9eZiCD&FX+SrK@lp5~T|QH}xs{&iL<}8jXLK{P@oWI+>>!|6<0^cw;l30g4(w zrwH%^(&ushksCX1cH^&uSvFa095F5R-d27#i;<0aT%^ETuS;iYns z4Hacuf)8H8#9nTVCUz+GbxczJa40pYJcs*m-1 zRRuTi9_8SCn;Gb3)O#v0%*y2GO9`O=DT)ECRXQ*+c7E!U&77Gz)*EzS+>2LOTKg{f zfST#1-jRVnnLG~hNx)v@?h#SMrZqA zzADUXbNoBGHz2lDrK@`cg`&1k?kb=*Yd7g~7KFW-mDX{TX4PEpec;y4bY@mkahEl( z#9C@#cZLUzqc}cq9mEf#Zm1l#KX8>O#X|8xVd#x$95n$n8CJYXL(d(U^iqE!?$d-1IO*yn_Dq@86i|`9-2T_f_cU-ogsf^mkfRA_) zMK+pdtVJPJ(rapA9ayxr1w~8zRL3>YC*LC|8&%2xjk8B*OR`56cjWF_MIjmFwm9O0 zAEu7!+TO5~!0hs08O+kJgwLQy<@Gnqd2j}%g&EHqL6MMK2M0SKw#mSNAB;l$y*8>@ zNwNSFVwK25g?|BB=>>|kw)IF$}8gke>gTwM3+7h4#cP21|$*KCbtzaIgiip2%>jW<6GFEgw&3?$;xu+J^+$B5N};B2Jb zvakBWv94kV$=M{W(cs8%@E}c#TNon4@8acRboJiP`h-U@AA!ECF?$KPZTP|T(M-=n zh<#leYxyO7+r^BrDcqT*q!?Z6BZ~RP-r!}v6`Tf^VxI7CYy-x5$?gTH4q#TKJ(RzO zU_V>>gHs=Lzkyj~@d*stWa`5Ox5#O+I;da3qipXP+nJ|e->CFZO2ZFP<|0KR;ZIe6 zv6cg2_W53&#^Nms?}eH;8Wn7QKs;^FJ>Y5CJ77YQ#vr{vctXApzx1Tnw&i54M9xZM zNbMF}t*`K}AL`YdwvYrfn(4YI9A%mFZPx?)4gRv1PBld^uQtxv4&*C|O@)lYN@|;Y z&yCh1BR(NP>{bCId*l)|>J;~*%W>Gy0-y$!&yUA0IUZJjW%>EBu?yGm^Od7X7I#X8 z9ftlp%4v8tmlqVYOQX7=C!cEkYZRRD&2QCNfgwtIW%y^%6W{a^?`(?LzV~GKJqB%d z4fgw_A`S;^V3b}c+YXkWH=zcdJtKy6|A@Y9BX%jvA)Am8e8x}tF~YCg0x^)4C`TTg zCx$fco9KvmS-1l_GT5Z6E4J9(nsZ=bI5*PdI3k`}5>g4#*ft0tWBF=1hxB8#%E{ue zy&@Q<-dqBaVh|kks`ObxtRl(LDIbTQE`$Md8sOlHP@bXx{ zHx1|D=|V4s&TGSi)nVaS-xin|>$KchTTeuwhEG$Rvz&2c_u8jE68)2;h4SbKwoJsi ze1Qdrhum2d%NiJ)xd+wjve<^*ag?w-zfFT6`YEaKfY-w&T27Dzo;112`NGNF*vtd9 z+!ym8vb!iqfSsOyWgirx8Evde0%Ve9p-R9QtaCnGQpL)$`9Aom@IICrbU0|uCQ(ed zf?m7ex>pxmYmrXzdHUN0*Sm-lln*JKM=WT8H)=h!1O!??V722XV3%Zx4(w_wZcXWL z-WzpBuBFRqN$d~}3gs#3uGve3Cxew@zNU;-i$zxkReS23Dc@8djR>)eG#3wT0+ABl zIH<7`-Vol#6eGO-7vhwO&vj(cceR7VEl{xAlejJ8g{xr;m|r()fAbZ5ag`XSq+qON zDPPrhW!yz8_{}c%zXRVg2Aw#DeZQX~(upQ*L*2y;GwJ>Cm_m8BjU>>CY2*w7AzTZ) z!2UC1E9=NDRhH#L2N<$PyJO8S=p6Ib*vydUb=iZrmt7VRl-~9k!eaDiQcVQ5W*u-c zQAQ9IdF;`25FQAUDq}nk8@SA7G(Xpz@^7|sE_T~^R~-M;2LA`K)UpAPrcmY~^uD=L{~C8Q^KXZpW&(QMe8 zrn9BNmL5fg?wO|e$>HfAu$AoO8X}?p15&FLEE&y`^Sr@>{dYu)PehU5EAd5NGnjPa zV5EPZ1tYL;KC+*TC@Lc$fkW>b$WXfq@{Z4wi8lPc*!Vo1VY8rUk#t$`R&VTm4^s&( zC2V6MtQf&sc^z_=n>A;#TVMGIqq$BTMDOsh=_`}P_v+yjdYIy&9QxNoZ2G*J&xmd; zFAwX(R@xu>NKZuUfxi_&SOUyrgEJM{;g_yozO8uOpCI5!ynbI_5w9=a%4bfz!aK_5 z!a_SqY2@~KaH2n~G79YY-vSGZ#S2CG#w;XYF0k;Y$+av)Z;v5%GB7sdiSM(6^{3v= zQ@I>l50^sYPyGwO#gSj(GwIKm!$)HDa&(dxHv1!MH!Z46ZJ+t1($iO*__Y99UYE?H zv#E$$v=73>zx0gE*6m``?CxdVWIu|+SnGRI>kvap?{{rfRxXiT9{Wo{4;&aA4$%$P zq!JldP2!8uGc*`6&7^;m1`>ZvkMU{|y|Xmw-K1uw99vrikxv;>Tf_|G-c(H#m$PPF z*L5_LV^O*NUedSz!7RA^$VxK&R|K~lqeL6lAenobNOJ>U#D}{P&rW6tcKjdE@uuOU zu$H!&3VAwdVtGD>V#cYnpmNvg9A#{V&RHh?sg)WCZk+6(rQ6(5MK&$+ZLoWLh9M?= z(yE=&Exnd3WSY(bIz&S~ud2c8(=V9v$CZd%PL>SZq!5@z(Y-d=dNvxL2QNMg?l~Yu z0Ahh*pHDY>cd4z@PHph}^y3H)E3Fmg_DW3G7qYSI(=Wbh3CA?fAh@DSf{mETy{aw< z;>WfO>iYBGqeE;hG)L`GE43h+Y(34zW*o)e++?$y)!do;CzMZw3<~{tM1Jth#50QV zFJj$mM)Rdb^)G93Gh-|Y_F5_C)2E-gak30m+^ada7;JiW$Q)Y>(!l8NZQ}*AFlM#y z_AkKik8AEjVm%tY)!ZV8GWfft)JY!{9!+#d0aX-ymFXx^gCV&Jn`v~Yt^*qXr!&`$ zo}u$rp9e2L2>EAw@7-yXUzK&G3n&eDgjBlhugTFg%9{^It&?z~ss-EEUdAUOt$$4GpGJ5rs|E8p0X51MBxx8W+_7=I; zyGFxvglFvG?KxPnGv_mwT(&`{6h4&>=zZF;^ZB!450myCohUkev60gkOD-#BPrp|l5w~cApi-}M*ptaJTlYp2iy;m zMAlaq5vab4T611^E--brkM+y8!g>|{tkZ_3j6fo^4iAs+t4j6bY*+l0;9ZQ`LbkZK zNa&l=Y@L+E24EiSmno81;;84iN_w1PRfb{EXiJUpj~#@2>}T4SR5CmkmE!`$%F~xg zb#pKT>sQLOfqTJ3w;|zU%t4-F?l!>R!<)kPLuoo*eB4D0MlBjJ93P%M1m^a0WQ`1j zEzgLJwi_2xr{Sf@w1VZqzNGs(6E)9qT8gUN&&m3iq}PUDA-J7h%G$V-Haq6lFZD+< zx#jXzaPs6BHp}g~1>9f@7&g>=6>GT)0igxd1{o^|%1e2FuJ!oJ7W2uQ6=ot&3NWaO zt|O~ucBzxfZnO+JT=Hv^lH>Uhk<6KchcV0`7f4sNSDA29ItU7wXYtfNrQcD6>Vg;mjt+YRBE0 z1`Tyr6^FY@p8!7gD-WdbYZfl^!IsQcYyp$C z`Zc!tv6dM$n&V@UKxw@n<7WdGyczMFEJWKh{4}IWiTpR2`OA5wC^f+8#=v*hA2`ai z2>#kedHdvR`3oMR=`q6J3Z^v4ci6NeOd^YtE$fNir(^Bi} zJ@~?fpli^yx_JKmn|tJV{*QnUAQNA91=R9J zKl2)cg*~+1ON-{c=ZY1Ca#NX{9WL6l~;p691!M0!g98+-(wv?}G`a zsOmVdfZ-H;&Dr}h%6GFKD*+8~HzE{x%o(VF=?^$CjaEIW0_ib$hxDt#3FgL4JxBRi z$}5AoE0}kF?3b`$+?=BjVGz!fW#q~_JAt*cnJv-a1lw(r5FKRetPqTC=kaoEw_eNx zMid^YHTrIyaNZ|5op3O)1t-siB)>~1)Z<7e3_oNilc_0-q+D*RaT;~}5k%1!Z#7@wl0E4NjQO<1amiob3x8A^F5{2i zrGHioWe6yq(X&Kmd=uhK$sZ$f%QKZ4_26NcJ-sPBhuJ3lN2T!~l1|j7$IL<#5WJH= zK)*YcFA4v`v8FSP6N~X@w5b+n0sNmrotIVw>oDTQr%W8945f%ULWH2v>4%}aMxD4KJFEm&{jmWH~Ch3dIV``Q+(3&O_2oqjw&O3@)zri-fly>7oNYkNY?Mg%4eR zU572j&;Y?k7j1|muu5Y64`yG7Zc%RfnGDF|2PeI$stG3)iv(2KM%Y(&fTcmj z3_Ozlgvy}vFNgzgIOZ`JO;08Rsvg-dno0Y1j2!n&C4UJUAd|FzaXE?J3_R7ErT2dL zccIYuD%7iDbn)cqn@qWbnsvG^o=U z@54h2NacnqT^9*tcjw0+1;)&tik@Oh6OG zPSiSJS^%EXfb+jvDt5Tux~pa6CH?%`YBPh5X94U~)d74F-*Bv=wG2=w4g`zH8f`L& zGlCm(=+%Ia`ZWx>natR|T43qjupRT4{GKn#(QgnXW!fbvRo~Qb2Cfn}Me3ArMfn>t z=2Um=EZ<2(O+Pk7C+RJ>LBqLFnHfK-IQ_O*DaM?;Z{d9qIki0Qrw@jBDv7o{xY3_L zY;0$G*YFbn<@7!m7nQo(owZvZ^m|&Cyi^d+OppkC-?qk=N8)d7@P3VvctY@Nz1SW~ zv+*aZ!_2rUHko^|Pi`MRN^~3^2WNEs2!80dSl)jj&8I53@L`rk_`MMV0l&}fSKdxM zJa5H%HYY5hA#D7lX7U);k4<<@gISUacOj0we^BoIIqvdUC=iCXRsEHU&)Z6DVQ$`rxK6yH?h@y;IA5%z&_nHiO6fnAbR4}B8_-CTIBGS)% z(U~f%d4YH?9(qmX;V-Sdo7!k4{662emG#<4p zlGI81^R+^&%!F8h5cayzXNu*Z=YNG~rF zTUSz|%m^}MW{1o8;4Bg7ip4?0yw1+E;|C_-@Fq( znR2Rc)r>VAzX>4##@@mE=O<#9EFvFlZETm#v7W=L_&pI4f+zo$VFka&!;jFYHnhD( z@=K=!4x`})|3aWJp1_0kLCKw>1q?>5ZKjpQ>H~`$wqBMSOJVU87j;@Lwmxn3zP7vu;TnQI8)SyffF%38vq-GsiRowiShEy2n7H zGsRto4l_~_JX06q%dORI7qb%H$mXDPv^j7yybKYLX8@q(#_P6V5bJ@A`m|HU6PkH! z4!H5t=2Pl=u+4*IW|K? zsCzS=-OcayTAhCyYVE2N2SIfq^&6AcB5WP?O`T&{QnDPiqK&VTB`vFAKcc83Z-*7E z5MOc@#`y}S$YDjGdVl!nQBm=To(-9mKDo z)!<@_&~gdxc476XH#R&MMiIT&;GHujT)=OGQyoi^gVP;O9H09R;<%Ph<(809nM<%} zN8&gNh0KXzfZYaQw}p7z|DEJHHFJPR&1*eTM3U`&nrm{w zRj$dCX)^o+Jav}&gU`^`1}8+F_axr)Z0{;+&qtr)3@9gFwK7Yl3iL*S4Eckglz^Nm zUxhRtYq=i!VEF09@~sbsFG}VzHD*{DJh6i9+{sRHAD^;$U1Wp!FnHnj3}Sl*!Oq61 zl#d`zOkKQBU$BBH#__;K&WCp^W#Jb7NB~rmW^|%lDFY_GRgOmdMgeO2!{E|AW7C!c zjrk?b-7JyHWk*K{m)X4Il}C{1w6!Qv9CWUcJd(l8?Bz(qhL3s_%|F@Uq;1wm>>+t% zl1H*ocv`b^(k$=k{Dvln?- wMoZB4sJFt*blD{=uPjHxi>J$Xx>1NhhOnM*6ls=O2adH%B-M2O`!y5|5 zw>#q#u%zk5(Q!X~t1s_!Y%>C6_%QsZ&c6T-0$aU@AIXffWP(nO3~&Aj*ILjxw0lml zg}5DaTqAT`c0zUV%(Dss>toi$aUe%L^F9K4jPNJ(_$*d~7Ecq>c$mc*w^rKeJ-`0Y z^d3cdX`#bQ0-=_?(b?Xc0#oo;ToTz+#oim%-nXLn2EerXHcQO4^W-H0TS6T5P>8HYb zD4#{MBE;}Eel%pym1$0qKioC2Nk;z@8~90B(3)V^$?P;wM9l`JSeaj3AuEoB>@rkB za~t}d8=O4~Xr8XUcce!|T=C3sBJnwN#lEyC97tEd;A!9kK0HT5nrz?On5@p;8%9hQ zr!h2*ju6x39{}3?LNq8Ru&sb}!Ztu90P7q<48orT^E~+M`q6v7y}&J(|uVUfAP(E9F3}y>OXcn8yqAkByM22m@3O17&^U zox|NE!>Fa7=$$`dOW;wf<5t)55$vz>OKGdiFxkj2w9oKCnF+GJFLDjdjvD&xR$e%R zhPLI=1VRNPt)JUY?Q)wc%%beZy3^2l{o)dl`pl*d3~$1vx@lqT34?=R};E zl!T`-JAlTxZur1}QpUJ~W(LJ&J@V_4Y>_=5q}i}ak|caUzp}lzxH-Qbf$&hx;wC*B zZO7zhaH#|@)ih*#5aX}|xQ+5v+bn!9?>IDy`!IY@?Q6K6+B1*mshDtl4LF|KC$sgC z^eZH^V#oM=`r)t}t%7`V&V`%cnS3wT_q9$O{_Jg=!Znw>b-nd}7}RID<{9t)Zpnko z+@nc)^fYwLqtoBDw;qe$I#-W=O-u)m*1Tbl4vHQn_2`eT!QLzbzdh`yDTs{lJqvI#l>q^~%{B{-o z&E~unhiDj0X08UWN56zeu!FlilYkJ|F^fErS8=PLm zN6C=%`l&U0@?n)Y3)k=f=x>8Sm7o~(0jdz`Fm&j4K=;GWre`3F?CeZBQ_$i90t%`TPXfgb>JxH3A0-C7)xM}!o9f>@n z=X!4=Sy^a7?_-QwPYd!YRdppW3_HGx?2?70UH2Ork9c;Z3t?fvtY@m1f3tRSFoIvS zTWE`b-r(Qarl~RGir^;p^f3J&0<4-}nwTDBz*-%AeZAIfb+GseTlv&c8cM-^^?JWj zYW+xSA~mn$1(O?OIq)~W?2a=0$gxt`(J%0s+%ihmnZz+I+(6X9qTezlU=mdzuqExzT^;D&GHEY z6aMv@yU!)ZiqP3u=?$xm&lM{%=v%gDO*(c`cMAjB(Iyf3YgYrL{n51%E2n7uum9%T zm49 z7_u4RS$+@*Z(O?-I>NiR&Bni8d_4I6gGPEk2CL>@Xrq4gE%B+?bJVV0rhPdp@(V3lReQYa9c z^6ARm7tg%M*{SvDbFtPjR0>XiNGfxERl?7x=S-run}eBM7*LdhOP8kpw>R^ex;aN( z-l?E(cdh{$Za#f@X!>!-xCWq=1F*ArCwP0tHUP`@64qR9$mQT==8y5Ld+gzQ8}wHU zN-;*-<0lq$1uKOzGn_zSfkJ@)i4?I2jGT@AuCB2j#wLg{nN8!$viw+0jgj9fc4zx# zPw7ya_e$*H;{MMS-`9?g6*zza1MW` zw(|M7SkWeEB-S#GVsh_@oe}XvGy`Fv{L$388KpDvSZ?ayoNsJe4}m6j=c3rJx;en1 zBQ7C;C;d)1kXN02ftUAHX2T7^9)G|j#cG+pp@LDwVG$bhHrtI^`W?)tLclNJ@?H4L zG0Ky=@V90u`m!zp(gH^K8}~1+t=+VwlJL6E(1-0uNqT%C`pR2s==(IU$vu&X>t4E4 z-0=7CLi|neL-?y`lg#_wAYVh@FL*Jy4cp6~4{j;UrvirS}@u}=DzXrCrisQ&S_A}Vd4R-1e7 zFPN@p=0dvsM&{GrssjB>`nNktxGMF7gg@X<|L9A4nK~n3qAGQ;o!bgN;RV&wzv#X& zHFjFPZ`Zad@_5FPjFkq?rGbH~&YwjD>uT9BrH7R%lM%t)oZ9#8vaxv0?UGZIURP1O zT_&E&)o}e;UwWl9$lf4(sGDN zts0v2qU%;g`o{>&0jjV5?aTRK&MACP18$}to!kQ+!T5`%`LE_x5zzr0mcyk~(cq89 zrONHel*`4$_cZ5*qH5`tw5m!1q@H9q}ABdEv;IU>ZJ{D}L<$#&llTy*2| zk9=KIJ%HBr%;DzARoK|yQ;OM>ibARSd3w}yo-K`@H5f-=e#Arw+ne}}7q<%oxqlho z=NIydf(OF*+#JptTvs!`Y|>j{AKqbEgFkS>Gu#5(Cm4Fbprw6_!i!{p@&{DuyE4p5 zPHKO#L5hUCwkfCS6y2F)5dzC;nbKGBI>wylG}N`AkV`>m9w{1yWe>GiVpgt&Dt4X;v`=D54v zI;Gx*`+knjZstw@dfhw)X%Ub8Ue|gZ>mO6*|}y`&@sk194*NEabTnOk!_h9Wgg1Cs1jpIFSuSb z7H(QG(312~5Z6CJa6c!G^71Y4|Npj6!&*B13+tVT6JPKLB$t5RPnfz>E9wYtnIyEg zg$qxLMOL5Pk8lZLD3x)>k#hl z!Dr}*9gU2-rS;Wd{sOsnydL+-it`?Wrv=94kpTvJav$nO%=KJ zX%uVI2v$jPEti)EXWS>G7)in9mC&T>1&MovoOkMbxE1e_nAI14qSw7 z8W*rqz)i91CprkWpVHpSlv_QzlfnlAc%CTeXx_x{|Y9NrI9pS2DqsU|yb3?MnXP zN=8uvXHd&~TxsnzQ&Q_nJ}=YiY4blJ;Yyacx5iS!6)1XZSNGO9N=6l>cBW*Ym1HKf zj1)Gz!Uk73-4%{;g+F(Nv#fC5Equ80Nv^!jmCxqGmEY{jm%8%1^X2!ua>*CgZce`Z z&#qkJfpW=6*Us-<`5IT=#)m7PX0Xi!u3XKz^3^FpCbL=Pe%6MY?R^1`Qu2YTH*N&f zeKET*`F?mX6GO5#&sg0eqLWG&&ge@Glj>A>Q58H>lKAxlHxf;SU(@930zH>Ec$Zgz zqKjfZO;RNN?OBFOIC7E%ELq*r&XJ^gj6T=))26Igl$!`fVG>7f!yk-uM|VTE(6+{1 z`m_1}3X9Ww=(Rk{k6xT??>W>?aAQ&dZsSQL5ab&u&IG0gun90-(_WG7Yaw*6QT`kg zbJ)+Up41fAL=b84)r@RCAbTqxzHeY!mIe%~gE`=aGr4?wpM;)iaCkMi;7@{slOlTS zYToKtnuAAh5Xwz-KSt{TwvIXDU(M5b1B^z%yJq~m`kz~fy|IA+dfc;w(taT3?0O`3 z6+eQ1ayYiI*AjXS+j$bLla$+7oGg-fM0UU<68GwBb!?$2K3AP#f(8W`?bpOy0F~(r zc-79h3r4MPfRj3~Rwh`s$_A5g=GTTH%|xC4R>R@tNq0m`c|8S<++fvuqma1^o6n!+ zUvCgyp-kKkV!gHN4F(mAUmek$l^;odBK_7Vl>I*(&mZmUGUF30lI(6Y)MRKc^bQ`! znBDO|dHpJ5SV3A2?mzG}MY9?cb75=$Pu@_D+<5Gfx_)DU38n#@;qV|L)nPqUN+HT? zRZ^K`OF(9t#@fnuyZ;ujL2gPW{2|}+^l&j~g#dn$vIc_18)>4XQM-FT4M9z)H7Bv6 z@XLZ<{#wdHBVkr2!QAZfY-|CXlwFNQAm};Y+_mYypf4Q$l<5oYBb~l*^f;|R=~0g= zPK#8x>`nz%om)D(0NjET6WW+<7K`)pfAtxkb}2u327;@)B?3Q<_!M222K z^a}*sVBWO&Vr&($p48l9lxDL!xK3MO7B7Dxq2wJJO)#n@cdu5*tHJ5F=jNUo!F~}c zzUuD^>59~laHHdIb^h$>^kZmGKsML*t_dfB)b5;-8-#lAxXZ0ebZ^%+s?vph#21~E z^l~O|(2w=eVF<0h*5@t0lho~iDY-GlT6CVmjqB})3dRM*nQs@U0so~J6Tp42_%?7% zc0rtaKpc)aI5-49xm(WE1l8(#1hnH3xT%>4-uql9H$cZju$&fv_(RT8^7!v3YlN$V z0kR$g+hr048Zo*# z)pbK^JZ+J6Y(LokPSL}-{kVIR>A4=yu^#DgBt5>r2sU@E;opW}?sE!+qawd^@h}b9 zAME=;xmkfmq9A8Js^Ctx2LDhDe5Vy45c#fCZ?bpalsYo*lR#_FD|bT$xZ+TKJ1{xA zq@|&FP3Icg9l9Krl-gnF3w)$GIX3jpznN@`cka%W1!e_)ebV3B>&pNR!h0J_v*wMB zTIiV~@7|5I%G6Hn zg6W(;i~7iCGWg@{uM~t8p&#sz2}e(;%@JozeQoK3!=C^#_@(i{l72xqnRzfcTK_7P zLw8T=XqTkCkv?3sGyPn`!<;6L$uMPDTakV%lw&oLyWcsF@H|@`^iRaO`70he7qiq! zWi_wIW?q$(MuJoB`H55W&vh&`O)4K#(LYlobGo`FbhUwFU6y#rl;xnpD8j!vV&cp}%r zzI^+?*0W3B&(CLczI`uh|A$fgvqce1qck{5K6iiqTvw33KGfx{|7SmK`So~GFB$Fh zkJ{gl_H)x~tpmZri)b#Vr+();=d1Ttb>*R>L}(pr>CX?>{<8a`^=?+tH}FZx=l+BB ze#fHRgzx^)t7tF0!4S;&K&|NC`ar$Bmh$i+t38<+s(w=S6%TIo;18|Q@AquMp%3U^ zzyHX41#&RIpDrjfd?S4btl;=^)5;<2cUZi$6U zyOE6Oa?dr?yiG$6&ywDwFOX32kgebr4=vrPZ6V3z-OaIs&V4ek}bk%vicI$dyC3S0;yd5^_*Q_9|#gH2dP zGw8dI<}wFulXi;9I{MG&2Z~L*N6Q?$bKzwjv4>+V?6N0Qker))Ul%%ep#MKrT(dAX zeHzbVts*)q>ruKp6#w$q|BteFfseAd{{It5Fevy$1c?_kYS5sFpkRqWNg$D3 z*dWM7P_SAnUi%ec7w{g~1l+Ex*s8U6t+n;mi>*bZ6%!BwS~cJe>kaY3^ROZp6#@wP zzdtk2v%5t7e*eF|D%t0G&di)S=ggTiXU?4AEeVHSClyWO>{sgcl(G)yRnD-;N};pl zJfdG#b5-=*C4!&zd8WSD->5H(Kk+f=3}_7aZBcBPPA7@eKe{o#CjTHq{~P_AyTSC0 z{72DeWe@rNuiJCNoaMX!Yb($^o1qt(qN@_?(tUH$&cQpNpY!lKCw`ce8==h3lH$6( zrE|9U1T?Gj?ETnKDZDfY3-a|){rYHkip)I$?A~}POP#y6A>Zk=U0Tv`Y@?@4FxFqSERfIdlJ91?a>&q9XVDJPjj*d(=>hAJ zf@#^FaWz;V56EFBfSP8F4lXe#gdgaB^^G@v3Z%5Q0q?OdPtemdUU}uUbN9ld}Hg-?Xevy65rT3v@Z53KMN>b;Ee=gF*$y^^EcB! zO|+eMjVkCGEo3NFGG&fsep?&eiPhZW1Ovdsta?jLMte~ zaULjjZ9c03H=k7)+Var(x0L1g@5gpVxwGU*U93KMMXY?lJH{zexAzR^zLoK<9aGbe zZL3%nE$!nve_e?^J=jKWn4f)G{0EI^ZaFozKg@YE!2zE6TJ7(1nF)S97{`a_$411> z)?DAY+?@Cz@94waN6@O57c5{hY1^1usQb|gg`0Ea`~#vv^sxB{w(&Q13hmhekku1L zW6@4(VK=|jd-D%$QK>gl3rozaeCPhg`3KUxW0R|Mi?f6=mYJ^;J57yb{hhyehl)L% zy5H2aX^Kvf9~bj#g0y5Zc$dB`hJ_m z`p$xXRFN;g8t_?ctUu`F?Wue4Xe11pgqNkK-d7bs|Q=f^CwussK zw*Mih&quI_towi#)y`Q@1GQYj>TVN8wH)W7>Z{bj)z{` z7-?{06CUf7_raO52$OSZu~uz2mx!Pp+Sc=&&V1JAJ1nXyiJj*gZmL63nPmLr8 zz4b7babjOps=91fIB8bOos!Vh+zn9L!^fr z0;Imulw#M2KU)PY1jDjRVAToIt%Sb4PtFo9y~^oVq6PEYslQk?ENO9`8C6czjWgsZ zCq3AVrq+T7u5BE;(>bj%gloQ(UWNE)+8R&>{bxp%%$R>=dH%*3k8RJ79X6x4b0EH^ zct%3jJttUH6(!Di@9D!uk3sj{gxi;~DD#-BFm{Hhc7{{lveUVw#|?br_a^@P?+j<+ zCo`OWU(PujkiILZ=3^BSboJm_$ZX}~y;L??<_-3cNbL$;7CGI@4EdV`fib8_g9_cu< zIFg7J$BrTU4XHiuQu2Phk;R$^!_BMpM?EcZo~bc}bCz6KKBITu#`vcE&Mh+tyrt3e zOVx`ei;L+q{VlwQ&bS4%={E;Riy^(!Z_P~|qUZ9u*CYQhbUS0Z>3BI+Tv9mI{swm9 zYtU#5Ic^IjZBq+}^F^!?qtx@-QtDf;dZzpJ^ZsD`=j;qi^bVT2H(vho$G{Aw|!@|Q(Slmm&N_fcLNS z-%F}!h5lLBwDIt!O`Ut^H9C3oH|2dlFRyb8H&D*s)Rw=!t#b>zRc{{tW53Q*6f@RROzva*}I+L=Tj}KK&aIe9JbrP00p)|vM zGKKVVYL8h|7XL`&6hWL)IEI26fvtRRvV(Nr9n(wP*Kojz&TGQ?uV`R84JSffMLFFy zPd#L4irO~uxX60x|B7(CvU`3q-5%bAzo!t6alN9ZF}V-*o67 zocX3h8`UAfsY5L}9V%x`PDYF*_xy_hkUCBYlC~(_W<0T_;ny zUaSpO>N~y;=dTJiH%SM1Bh1PK<%-sI z$Ko^P)`T#7DgOL!DDfwpH8##+acFsFdH+Bte@AF}c5yGK2g|)~rm3zI)RdK$yREmd z4(#(#cO~o{#W$VMw5dQ^Un3(AeOD6Sdss9yV|UHb2b@@iWC~I#GfalOFfQ5!5U2kd-`kng(GU{J=?o#gCVppE z5OzJ#M+>d8ky>$$zo^PyQe0pQXuho10KAZd9 z+~;+Uv*f7M=$5)Yo#!6zEE$_$ovLc7s%z~$r?c;mI3cg@whrgUcBJn8sSJkH#PKch zytzhrV}n(v&N)q=;Pv$N>0j6E9aF_l; z-QLrqr&>-fuG@Q2>`V1ePDA>If%jtm3==EdpMEWNmfQyWM_InTBm#E`2t4=SseeB& z_E)8Dnb#6;>*?IRnts;Z*74lfLsf~^rp*O2#5$+CPjj{NOjSwK<_N32h^O_meTp35bW08mPG=sP=y43P=a$!yCB3|v|RV}YZrS43qy-}&i=oVaBLvEj1 zo&PGGi*?xjf!`Vids7=+qM20p;WOqphdNeaubO7n(v10SaP7ppaEaWcojh$!NH1gT zm*j0E!-QFA6YpSH=C9(j!)-B3;9{GekIY$QUyD3hWVRnO%-Sd@a?15>_kF-x z@91H<=jB*&a^=v4gEf%XNAU-L#tP%6;$@mLtA4(ckWe^DB`)t5zjp(#~-5d9FZ@)?moN)tToL!7VQhK(E7d~q0>YX z*u`R~xvmbR^gl)J_i0VtaR$>uUDv(~)FOw{wb&_1@NrjV79)UXL5;%u7hHs}ri3ozNp?*J2` zLW@I7_qLVx&np4Kd6-m!|7roirl^f1E}z*vavJNMyxB_IlvkOTx2%$XmgZHVKKJ(} zSYF1*?yo57&8|(1oDxb7JNe(e!GIeUNVUJqjZLxvB(>m}c;Z2-(n>!kpwuj*nTM89 zFBJnO2XbXzV!{-6&G=wHo^3}yH|KqUg>2Tt_9iaHt3+esSaaTq06fn+=pY9R_k(gC zLAUJ^U8XHbtN- z|3MTgen$3^=JN*gMccz|$n&oB%l^FK9$TaH4a1(~e8b-cQE_m-;iHQ*wHH3gne^QA z4Nr17)W3P=1;1*5iiI^+~s?I%h zo|ALF!T3$gPJcms)Zl#gmTIB*+b2Nph%988=S|^MXzgs-l=W}AH8J*Gw4~K z;u=v%f}KCDLr2as`wTue#wnb4K+xe6ABUT(R5CQICnXX|JZ7lh;Q*^pjl?6hoEs1W2eS-9z$-b8FhJDCy81X8%;DsK9n z_9{5To zRHATo0CEH%xb8k(EQeR+OfwdmE2l9m&PsD1 zRt$Ku@M=|_n8H9&1vX5p6YbavH2h676g1AV=E^c&sc?x(7=0-}6lWKHXS`6A-A$fm zHPoD^_HBtuRS;r4C1n8#SzoaRpmj`{2dsyYbf>u zQ$vqGK}~~4v(yu5@%r(P+J}rkKTRD~9eN|zUjI;H!2qNC( zbftzhdR_C}sD&9M81bkWfKal>89du`CaGZ~X~EUK&D2#Gz`1f0C41<3xt*eht?vU| znT2~}iC>>C@&WEWo|l^iPiojc!F?^8JyG~b0QZ1}`={UvK%Snh9s=C!7A_XR&9rbS z!9g6sJ+1nlv~V>6T*$&*Avl@K!2MKk^%ky209R_^h6#?Jf{O`mnuYu1pMF1DQKIxi z<(5Mt!A%t0KnwTJ0ItQtZROeMUEt0UTo()15WqcZ;Z_Mw%Vpr!oD1B?ES#XrqyVnY z!u>{YT`gR?9Jqg5xL!~D_$fIp_{9WwxP@CQxO*+!{s6AOg{u{u60Onh_je-)*IBri z1Gpj!*IRJCEL@%HtF~~z3E(!uEZSB5W^ao6ejvExEZmO+xTO~E4Z-!b^;HS(OO}50 zcUS_vdwO2p+rr)Y z75I0taJ_TtdPH@dY+?2uOj>3#iiP?36ksM=n3^1zt*EW#WftaT!SuH< zN9Vw-6->E>`KMsISeUI(W&8GsU{13zzY~o6mFa(zV1#!)0MK$B&&yA;aI;SUuF=BX z6TnTgaO#K2*iHYYslEp+++{g!4p5uLwyv{_fr(m}K{+s81;eEVqEm0xGtR>3KPKM5w;Ux=>%9g_|0{DeEQmJtR0Ts}bBx z)wkhGLy!4_^JP>woGw=&C@`-H=4lHvDX43lt*cgbl~}m$YV%GD_ugN9+;paaHhT+> zo4r)uzQcg~k%jwn04IwTxL)e(u@>$f!40)=Zv=1~^bP&P^K#9J)b}uON{r9z_i4uM zY>WIdDDsFcGFnBBv_*cFE%Jnlyr~qRiNYV)B2ms7^*EW|&4pF`3udN%|A45qTiy7% zvZ)?2s&?H?U19B03?HoFPpv zHFIlUY*F5K)qAc7(k^FBu!(pxJ3#CvBEdE(!@LrA|1^Q?xp*mNaNBf%?)HH=d2H;?t=bo`wL1e1n>XvC17_bYw@v&z*=XqLJs~+sSKljd?kl073kB#r^ zM<7kA$IT1Pe*G`ae!Wlcv#-_)=*D;90tl!VJO0v}_=T*0$!qsKzTI=U-E$KS=azrF z-ScDZp4-F!qTTnW+CAUU?m5x!xuV_k_;$}%w|l;<-SgCT&+Xd_xBGq%YpC4*4rup$ zb-U-I+dWTh_dLGc^SXA=744q$+dVh2Xv)Rsh<4vQw|o9YyXSk_J>S@_z8l+pf2iGa z`}*4V|FU-Q?fWyJ-S_tR_i6XNJ^X-n_#SQGb9@(ee5_#EMp#WJyI%6wpUJ{~ls-sP zbg+xLkMzEsrf}+08tGPBNVlLVUel=$t0|Vozf)7(r`ocbVgZl7riklHYS5jWZ*zBR z!Pi`Po&UAD@KA6zaAx6X$Lks6X(s*q%y>PcO3(MT>u(URAqP#eaP?zmZFrK@-YGam z4p*bb@xf`E_b;CA?eDFlJk{vjBiYeFKfIyO($s!@3H~OhelfTxup~HANO5_3dTOw!J9s5cMNHALaFZ3v(XW{Z}HI74ZHED=Fd5uRAvn_@J+K>iOyprNNi~WWIoB20gRftu*Hu!iiV1hd8w4eNDZ0*Uh43Y4^vN zfy|N1ccO;`r+qVFbCJaU?~ZY-Gy!u?d;~SDu2Jh;6uP8FS=&AhWvU>bN$A-iuCX0I zNJgR9&Y`%bR?I%f)RFj#J1PTz#KE=BZ4un8EdjO2+O=BUXw_t>Y$vnI6LmWG(S}PBerAqB znK%^!`5IO;xdGK+p`aXBeZ0YoXi&@^WJ))IucxTLcJw?b{>C0?I#Fh2Vn1Fl+>Jx) zib=||wK{nPr^vtV=Pc3@r<^)?d7QK8Jow2k$5}X$U&hzQ_7fpTkLBgPRp>NK<}E*q z4s{y-Wq+2kIjB^zpt|FBvRCxyx7@C>TB3ur=>KLMPYo-51@hDcfjl*(=mM>Vty3U* zs|jH0?4BxDRzl~mN&Jh0_fWToeN(cS4ZP^h;lw4xas8O?ZjIigu7wlto8B!{E)h_= z1GZHG69Y$Twjtk%j0l^trzawL~bOo#B>WafdMLU=PWl~o^TQw~`waQs!?PskxZ zb{gZm%;=8egLqstFZa`OD06QWQI6g*lmRX$PCc^`-#{3?9+vF%Xs6ae(dYe0-=2QYoYuVXmAC`E9Z6S z`5^dM)pDLR-RB_ek%Mqz`yFH1`a4wnRVw#6)f&xCK=&qk_Ui0+`ASst+|zT)X7Cq; z6Tgc>&XUmvdqC%SRQqfxFSGL@2zbZl@T+3C$diq64y9(b5q~nPbNYwI{!Xm6*8-2F zg{Ik|kj@WOw8l2;GU|I9t4?gJfzU_vIdHM}i?KQTKh}J%%%dv}b7?M=n%uU!LyjFr zH`62&eKY;M83#;L5mI8m8|eEiLe7$&V*C1-<0(EenAa1{3Pqm>R_kWZVrMo#lp2)} z)Tg0}?fzL@@XOLC8?R62x};}i>Uq;_B$m#tHC2rgqM?etrk-pEEBhSqo+ThTTVDm| zf?Gv8UTMDN93uOgb%XO_U#5R5eNX@XogH8F50Lafg8o%qm}up2h@Ut%l6aZv_>06V znvfMpP-*V+l)jjQ-n<|+Zhw4l7iZBQ3u!6U_4%8$Zs~qcDF4Ma!tYG`ST3Bu-Woln zD&BgSQ~xxM4}KLm^^cohZXr*F&ca{wB)D5`#SX| z-nq3OC!1(I-g-Ls;UM-(wzJhF+lf6*&8Nryf{jP4RRuQ>%16p^llaa2)wGb8zJD=S z>FQVLwM}p~&xW^#8eVi7PUiLQ6-+0+ordND`&*O9#llbHOSxdxR(+TsG}VJht$6Ek zPD6!0aQUdhRNZ&k2ayf)x+r8a2;5xaHuG}8JG{PkW&S(f;lOA4cTgXkhR>h})zaUA zfaRPU5DKsI(V(DNxhn2<1(F-;m-576=vJo8{#SIsftpiBzNtiP!UyWY8b7B7j3cb2@f`yF#N zMIbjhymT6LK8#8nuKwj0xlV>KE7yM?gs7u|OWnCr0xlVRvNGT_=vq9=b#WSg&o6fU zN0t)PQo}#RJ?Y=29ZUap*E!oJOgoFHp=RgqT}1qFfFGsS30>PUQ*>5(O7<=|hK5AI^0ZeleG^*>PZNq+_J@QXPJ)cqP_3T!BX4 z!_eb+nsa9Zt#T!mqPFfT(6Ti>6Bk_W{DVuKnnD#X zIt!|WamSisbDryaDz~JjJial1*GOF-c|RtetVjKooZ*RaXRRmj)lU`BNu?9bZof68 zlXRZpDhv2ixP7b~Tia$-5mr=1P*FI4wL8?5vYSgu9QrEN+N{zmNCHw*qPR#K>lr5e z>drBMFo>|(2;`_PJ6e}1ln4Xyivrw^)8aO5A%gV;VqdOZKlJKGyp?(REvfEbp$;hZ zOssrH)7}E-`SpCw=N`>T;C5Og)zuumv&xx5C^O{=Fx@nqO1@b`ZefK8s!Xk9kmyGv zGHaYgkFaB-4j*DW>|VG|q_Mlq|KOWCd1R)OL`omj$-Dnf_ni7QY`^Gi`7gh(UB_+i zPtD&p_b2@IdZEpNaTP6yBqv~bZRNZGCK#gwGrL~YgTxgsBm zc3@rhd3J_PcVWKLJle&cLh7lrX*u7shtXtw%>=g@ixqQoD!*hCJqQD39XN6M2Py0< z6dn4sBvyLAV4q0yjifSoD8kS(*1^kkA7d9m2Q9t_!@BIc~EX(y+G zEN7fWqp4f`nzh9n&QDVwu^v*y3Xj@Wx;e z324onU1dD7=rnV0)MDuehO=AtigbY03ro!&kXb>w@2*ss+A~*_pmI1 z#pU0n5#AGtooA*Wq*8p15-60B->FYbX@lf9luA~ooVj7{VP=kA$sA2SXf*8|xay&k zTgP8dn^y84r@B5gtC+CO1hHaE3XZ5Au)6xh=E_~G$q!Y|3|6_TIX~K6$&Er4V~U+S zNAZq$GYSL4t*QkUrbCo<%>?dPCm45=L+s~Z=7MASHh7)0-~piHpB6X`Z=v3)uz)4Z zGXOtR3trtGZrM^nm5-&dN>QP@AE)VI${ci#qx(@@3GL}Y51 zlqO~5$V@o@*ObJpl`8>eQu8Mz<~YqTHQy;jW?IWF9ZX6Qoyp0al{PTypjP44qfCe0 zrWdoblG(PVledye%678-taN7u-E-<={HxihV6bMT&FCNSh9od+>3vNXxc_R+S zHyReMPW@rDVDbI_cjJ5cing`@+1u4v!?~Ttt{D2=_&1#fb47N>hl-yv*30_~RpwM9J)`;kFgr_dih0hqT^o*m$6SsrBtIu) zOg;G2{B3jJ=dX7e&FJMi^K!Gh*8kX~kJZ8e|Xc#9<7^xj8DWFB;LC1f1M z$ht6hWc}bfjXk4U8GFY&L(}+zPt04DXnjygd2kjKYg@Lg;>i;rUzZ3iObJYUKS3_JOeU?Fbn|qp%{7FK7D{2BG+WK>DVCEE8h(XxU?Do>j!9HZM4_Ty_C-YLsHtc6s@oweGx5wL}7l-lIbEMfsqN5mmlq64LK6LN~;I^ z*yI9JzQ(#+iaYd=;kI7O?P&S}Qnzu0B=qAzFK3Y=6RLzuUSdc1wU4WIzks{u z#Mmw7M`>~FLTtTG(KD2BvqAn+vzF-uyjj32GT)|goVOe%a;mV1d~vmjQYQEL`xSuX z)Za#_`TG?u9G&d0BSRue9H3&kIqTZI>7% zew(( zRD(_9fPe0MnP0e_@b{*=o^pi=LYW`RU(>b`WG#QHjekueNAfIx(pdy~!yYG|Ks=ZBW4NU6(Eiu$#YO>~&0CGk zu5Or!dN~a*6I_1{$LWTKbw~!inM;<#X1DCHx6xq-?0{0D)cUgo-dEuL47jC-k*N}1 z2;)=3$`i|v1hI$R~Pz?99*4PSDh@W8ef}es!Fs>X6K46gK9|r>gKk#i>4Yf z^#E8zeS*I^79jaCyf#d;jQk`+zJ4$2(BEnJfKMV^4_IxKy!O0}lD|_w_A|DtG+Z4IaSWLIicQXf2_OW@5sR|qHL=>OrBBFS37431+t43^3ja~TRL>;U*+8QLVSOI>~IOnfUR}&^7~gh_pMUt*_5_h5s9V|scOZ2 zAPr0mXMkI%f|cQ4Yg{d7)u#Y^c#S8YaoR z9~8l1%#F!@Ir`>qSV9cVXO|jHvoOSI_>KO$CW#9Shx`Yj#JY>|2~8ic3kUBsZy2o^ zy&KerQIb^4pqW zl72Hgo(x3_l_7tTQ5orlnfjD9e4*k;&lxg2)Qz0GZo9>k`myoHmt#;Gy zwbEG53VaE2mY1mGlVn@2K3IehL(N_+MK&pbGb=JSc*)4Qgd(fAV+e7czYJI=+o+V!M>TJEr0Xf-!PTyqcWV*<@W~MPEvhyPefuduSALu;V`sa4q`enpc zWbjP?C)mHj4ls0h6yKY>q=VlWqvV(z?InAGt;q}hDng93qZ>1=8v7k`=dP#NKGce+ zm!aLTqSYX9v|l>iXvS~h{ELY@;k$`9GMzoeFgDcjp3+foCrtG;j>e+D-_`sZY`23OqgQt8X z&fGC2=FAUAWK%sFcXiFf*U65^hYm?KPjF8QYJHyq(Cd7*b9>wglsWf78GHks1jFCM z$5=Xhe+Sm^5ofbf`f#wCY(aAF-|=7hOH)0rpazNzXbdMlUVbvzxlL^wbRKcDyJoas zi!LVh`>|`3_7#t(tUR}F?cHRC;Xc$ck-SAVQOcXPnLWJQOEa5oGvrL!hQ^-csTtl+-Vgk%RR59_ zzfRSY{$y?V>UDKkOH$5v{I0<6PYK@aXj6gRy?EpO`<5?$s$+k0@Z{=K-r2b9t zTf>F1JH(mvP#^v2;M`H0)8eaYQBpw8?O><=6=&g}q0M9jZ26B6H=`~tKt}%X1!K5o z{|1)PAA7eVOGa+3ynW8917sTAfBqvYZT#d&%l(6yM*7mb zPzG4Wzhm+IBNKqZvuh5X&*Htdcrh3>%Fd$OIRhotWAltI+Cru;nb85x8X#aiPFpZ0 zk5Z)#m<^!Z1)oZT5`SYk-AHk=2LH_%j9$syM( zi;4TzUB9QNrgVrE>8ip|Jk9Nth3+KczBv;DzNlsC6rE2Btx;h&^iXWjlWSwqqW{7#Qd9sb(hX& zJwRO&z!pdfUrgSub?{~HaBrRlhpF28nxCO{s1I8!T8LV2&`VAEKQeBX8ri@1{sihInZX3xu1wI&fb^eP2_`?gxF8&eNWk+7lspUgb^loabrl;q}s&GSqnSD zOl|UR++OM4%*w{}cndvN7D8pb9D6}FRM*^g!n$s{_{cf8Qi8HW$w{TviJ3$*U&`Q} zLVks-%H`BPaWU(~P_mnrJ70wo4D@yv70?1f$nD?K?<$ih;4d9@sIBE14z-Q^Qp_;n z;Zb+a(IA;DJcJY4IY|QC;b-z%Xa0|J2kIvW+CKY&V!?qn!@z^?n!+Dq?R3_(VXn|j zbzOOxbnd6iKEOiM#^_;}7Qy)RY8I!92igP!bvYKQp>NXA*Ch7HW<3ZbqDxisydo(x zxkO0+K7}J_Z;nIL;r!Aqs72N8ZGA-%DEy#bRq^FPqC)gQoQWpHwVb zpe(w#=ngN7mM~!b{!XkUT_O2BQuSs~IK`qsYKL4DGy}xm$Uw!o;zYM=t9K12Ba+;% zT&XILNuL$SbGBa}M|(xg<<;DFadLqDMj!i+V;@1fa`)vzv6Y@N{78+F-G6S|=-va% zy3`?8Eqa?}pT^*34X0#bfhs4Ztd0O_qB8=06KQ6$XT z7bJHPaFE=^=5TS#V8=2@3Qs=gs6&4(*(xJHjIrtZugv?f8y zsv~qO8FI<6+{30HXnRVL#N!t8xGMb{Gj1~U|A-DHzQXpsOZuN)-Be4Om&DfxbK+7s zQIvCE@4>u4f9SSOvBT#4iEz+lE@7h4q;)6TnQ2J#lZuhG)w6^;EodcrB{wtuz z%xzhE>;5G7ckB{?S^wS#)B7r>07LJS-0AuWy?dx=K<^xNMEqF0_O3PUrPN-YY0szs z*|x10$_}Rg*M0o9db&IKDf&P5x!O9I{x$d>)Aw2W-*~2_|1eAcYs}*}=>MvvdO_q{ zw{p>=DP?usXL zPd!ppEnIr?!F1owQ7vE2KhaO<{u>ny=$=FCjJ@yf!wTpAW3{u`wByrzC4NQPn5Z^# z?YRayiq(39czT0$WYY-Q}=cxw;Dxurpb00ME*e`7U=Ts>~D%{(bWj@o6p-PRJ z0B$??8|{S?TU99B^hp6%v7c#i9a)--cxlD8CAYt2zu3#r3*ARf)bzr6F!x;RK@l2xGot`ncPOIGi+vp+wv|!O2~?%5-h)Kas>nXLW|PA91E3q;0DyZh86nX!W!5A91uOM8 z7k0@rCaQbwq#_Q*fzNML6BlvIlSsQV+~Y4y$y!LHy1Z4g&qK&Zn`m&ysDV) zn0TgBOm`gr;O`I3V|2MKL;MWq1F91k;E~iB{b;&YIm>UCOgx7lES&s-WP(e^%mZd? zYS4cZ$i=ay8mImN-Ww8H+7;Nwj#Pd#==K#<7Hwt;DmAF%hh5EL=6JC(HE7pU<}t+P z2Rg+q(p%r|>qxISoJM>+>fQ8nq56rthIm34OV&r&`p`yIaKLgI_I`SS*n4YbC^?W+ zW87b_L7TkQj-S6!L2}Z#WX;6X=nmZVlll=aQU%>Y50HJD+tF_A?@QGC?rj>i(m2$k ztr^snzUMaz_D3s<44^y3htdMnhhiHrQ8P|(&Jo<>BMBBGrbF@^3YMvNoH zuMuPKR9rC`7OeT;U>00HUWqti6KC6~GL$SR6CWF{0K-fn@BM=d^;03FtYNsimhAog z5zI_)B)(ch$-z}yT768xPhy+xNuXVhvE6a61On{qstmiuVy}!&qy{!nJvbH~ zHIy%x?+P`2+7Zp6fiaombjjLrsIDpNu9%qW-Z^yndc?8CyAIbcC8kkVbInAc^33%u zQaCkJg7Z;@yl<`4PMGw}aHa#zvvxWdY&g3aVC$OF%`Pa?QI+QXyHbS-bORFKh&PHcI+)AZ z#RF7+TdbS6oq5q8%-ny;gVhP21v=rQ9D?3U|ER|C3EE&Dqa?IPgQL5PnTY#JJffF< zlY@U7FAg4X|5jU+ZEphT{V(m69o$|Izdbb-PF{%0;trIFWu?)3AmMTN=%u%|pP&hj zw-Wf6$V*~fqtmeT-1X)wzvu>UKX;pWAxK5AQOjHRh!L!(<>2sVhiTB(%nrY1t6Lml zA1@S2a8yBChxK)ZkXsWMz?odqBtv&OFDy3?;59 zf^aCRcVfqR)qKrP2u!IU%Dk&EpZLv8?ps;7m??qrG%riOpB--m;0Tk>UF2I}UPPCx zP=sx0B%r?}fJahwB~y=DJRVgw-JC#2_@H>NS4=s9>?-}2w%UbH;NBAme)_rYh$%u z8L?LDTpzL*kkVy`z#Th;qNhY)iM3-0Wn&#%?j|7mzZ_I{4(J!5%^QL zTNuJBxRw4FHCT=EzPxi8G1AR$MjI%Y+k}!ZS-Cg$In-#MZoW8_k~Nw;*40or(PR=8 zx-$q=G?LgzNr>M+-!n(7#cp3_ky5$NzffJPy2Ni2LIx8@hZfC!rN~vKa*!!WG zhQ76~caLdbm*Pl$;j46?b(F?$VW$f03otBgEA~tZ z8HVH!|A^tmWYusb=VH7zos&W2N)EPQ&M*?Q&3%M=yzc{(G1Yz+=6d>F%RZHnMQz>1 zja~p~9tH>nQe`3D^C5PIfY`Ug@M}uk@~fZRg&BT*k3nnr)z=J8LVv`s7f-eP`XOXA z%u210R)=G)Yuf8A%H9`>QE2KqEW zw7+z;DR=>i079JTV|OgEgt~9(p@Rsolgl&GbwVd?~yM zVA$|ShB(dl0Z9$PGSfV3;2bOB$MnruzfUogy!Wv%Wp7Pmp&J;QP&ql;w{pbp1KhW* zne`M7`+9eCtYuj-mT63Sn8w-wO z9a2g&L6krvoY1HxH!goHjuDb5sFJ90&oU7*eY>YpjhV>9CLw-uaNByX1SrG5y$|b0 zVf-9p{L=FtGL_-%!IJjHC~I^KQ5W$4Wx(?Q&q!S_ppd%veVO_#ld|_G&c=MRKIW2yx`gI>n*h8s7vayLwN;J4{U{)18LT%rq+_H5V5%0TCQNUa9tswWG zXY0Jn*7+yD&PupD{#y$~{5q$r&VGOd^IwiXYyM}0v1uhym_=>TQCZOHv#@W~OX!=kyKL!BKqO-6Q>_N10{o;-;sI!ro&BR=gUvIT6 z2~T&}vd*ieZPqH-7Z>xQmPucB#IKA^z0IA>=+-oIl$2a*(99MI`8IdBeO+H}iu{jC zd^S>JXq#JRJ{c<`zuLY!!iP4#vDBaef3=$KTwD{z&5e1HSnWRXsdNXCY>DP@VwKyM zjk6$?#X8ukIRB1L{XgM~v*=X*HH4iEUW%1y=mkiX?)6Izn)PbeJZ#EC`1wPAijK|> z>gK{#RtW>&Qq0FT_cNoa47a#B!AmfJd^@A?!vPwKdjMJjJKxA3H7#j8Mmxs` z6Sw)LA)Ddaw%Wv3ZN>1s2nm-kES#!}q5SwaaBnQ7QyD)&BssI#JCip#>!;M9%Y2+~ zK-47UN^xN#>QoM_?4qn08!cI^jil%JHGt(Sn|NY+yBJwiZ@YaAxfm&-DOlVTgXjrFi*sb-)>4N(-JI3g`+CvWB9=WwkUVCfb3RtCZ}7Ua7)42!5O5ld2odNTRTd-x|Fp)-T7 z+5MG1!H8?9!oJ()F7n?^<{gr%DPyod=FI40;JFi!UW2&l1=!zUNZ`8&+IUD7u~59r z+WVEbj|Y36I@snuP;7UMbO0-7K8=4?9!lWvmP2Zy8GP4cIqox4SvAkK$t#!v*eQ_R zZQ{~&on!MTnT&L6w>xt~Fbtjg2I=CF1sdaBkq^?@H0VyiaI&US%&}wUW`J^h$#xtv z;bM|T5??WJ-5=LO*z9POJuA(WoLPjfik>UVFpsi92(aOgR-lBCxL*<{WmNw=2J;^S zzcsc=+KX@;;PLKS$L zKXjhOHuj;scd+_ehAn#;@^;iFh$$t0R4%>J^j{H?BBiU?<}S#y>S#0-)h35)hNul2 zujJ?MQ6^}EL}HCGj#~D3{`+0B^8Ay*MS1DDS$wMH-|x;g2i{AfoIh}<9?b%Zm@Vn9 zjl#hq#8Xdi7`o4n0}J5P>x2-A=ZduNCbSeEgC73C45Z)YHhcsP2gfYR4>G^1B^c+4 zAJH>?5}%4bhs4nn@bnNEc4^2{4!Rss@by_FvAs4qhb@m?(UTRJCgP_>{7=)XBu}{I zJ4d@AFanAF9kp66s<`qY#b3xp!;W8r_VdGX=ylQe82>tto6~q!BD4I*0JXgTOwDih zo|jHoY}!96l)TDLm5=i>z~N&fSsDw>4Z)ab*r$<8n$k-Qr7iw%XUfmYEl*4({*xB}*jS5B!&AKW#WC8)c!spNdB<#> z8qs+P(WxJrLyGgy!NCiqar*p7qi|^1Vx+e=u`!guwBgj|2kvn_52ey`MC^~j2iz_% z)x(kATskIv_06fjnx}AbjxRQw-KPm>f&Ci|{jbbz^uL3k|G9u0xijBS$o;-d-)BHA zQ|}P~8tgC%y&v$lnF)-JirHow$PqkZac>ZlvfLzJEny-=Q4ziH2EFe@LrPF-g3>-v zOsNby76hIxO^t{?W`-wJ{`k^v@TTy;?N1Xr* z2}ZOlwO0mISxMhR$=fPT_qDJ}d=XB(?EVp>TjpXvNNJWt&^jvTtd>Soi=>F6(@CLg z_9hE6vqUNw(51gU}5+-IS*-^-#Mgn{k z%Tp&b)lePg`LGr&k=v(A)7+4G94)Ieu}LspI?KZ7TL$fJkjft^1`K7yA5)7-&HDIU zvl4}D%W7~6xW8sAQn`O)X1G5Y`LBt? z;8j9rpu~)qeui~;Di2wHEY+)3s4sngf`@d9kM-)7pPzh}$xm)#`^+rN<-1st4T~VR zq)%Q^Qj1iV^(35x)%t*~#9I($6mRY9)W1nBCfnxA=0`r~Vv`d>W&@>rS@cXrB4K(w zc8M%(f*#z*JBdOj{GmH!BA+O&Wbg?mV|mXqkI^nE;F*TIl(|zrXr)9K|Ut z5vRJfR*vYGfDI?A`bQF>!6Y+|om6*ASCxg;CPY zPe9|ZkM>eN_Qa|x&P~uYzgG=9y+#(v#gU3HNOhi^fchl-+AE-SfBxZBvbMY`{uzmd zUB1Tph7vC`XOVSKG1$qA%fl7#$CTEIDYi8bsNf#Iutpl~zU)1%c_kC?rU~1mLZy-t zPm`PFV<>qE*s`;HJ>Xu1Xfu3|B#tX{?|QG5g_4vzx0>-?OG0fHMv}*sS&lZw{wx~)P2EpFK4Wp%uivmU zl6Wy<*qN>I*BHj8v?MBngf4j&5;SgaFccmD7$iD_ge^kjpaMeCo(K{3FO{8%~0+&ig~S?Q?ks%PhqUrW_4Y&%yNF@MzH@6lh!G!o~7=` z(ZiFYreWYJ8zb3dq`&*MBuKBrif7(}ZOhxwD~qooV<|8jdXjm2pBP#T$O?avE*`+`E~7 zM3>~4OIb*(FI})n&XwM{E?$4Zgl= z_CC5Rci3ckko{%x1S1X@aV8TS3#lvCl_LsSAgyzAW6afqA;C==14Ypuvg$VOL)S%5 z3MJ3$Z_hWF^)br%2xGe+KF9It6r6vs+qJK4+Pz}$c)3dIKJ6D}zq^vWMcKv!d3i$e zLMkt`h*SUDKzQc!gDJC{Q=c^7t$}*DT`WX9u}X**kP&5jC^@T$ySSrQ<ZcI`$ zsc`U}E~y`hHTRijdqIV#uL!QgK$4YbVYV2Vxh6 zl5@%_6Z0@54Fqf-3)|O5$&n!f@;s}^EF(HZkBhf@JcP5PIH z&VEg)^wYNgiKg^V0(sH~c?2FP^~fCIc%!MZTlDHsax(p1A1#mHq<(At*aFi_HGh3+ z+aDpqI1P78=1Ah4Jg+=`Mpk6QNfKs`C}CYxF)9>$83IG(adYza0(%Jlz zt1sX`7|y*4EN9yDV9LfqLj1(fRp8+2?0D#um>Z&9v-WKNofGlO$M{P#q@aUNLhIec zuIssSmv3FSeAzW`4i~a)TdVh^DgSw6sydHDIe~stBJD)0b1&2Cu1e?L)s;m%oQ8n~ zlD)T_`eWr3xV(C?3qA z6ob)&qv!B%ek+Ub?`R*lHaf7OyqD^>`YJRt#f#k^V5!lvB1d= z6vByDw8n^SsYYv6Eu(?FnnaUcIrSr{rYhbFDq+y%m^;Z|I?W}EjWS%y#;J;X9eE^q$LhYgzBiA(pCL1giOwN~#$l2hO zpxK}6b&ZP1E>Xt!2Ia%4*nJzBHS*%y@*{~27>4B)yJI`k#~E4C`As9p#?VcysFha+ z#f379R5Zojk>ES^71U{k-=VLHuZ$hz-2pLk1c3X9$f@lJGD%z&n(uS(L+EfT7f#ec zuDtl?v~L=yI6(Wq&Xub#`7S{;DVLeZjmsv(-#M1QvX&9ADw?P=;qhKyerEJp{PT`V z`?tvCr_YgDS)N8_8*2tgY`x1VB_?x#bigigy5T7BH0XDwd%=AEEHB%;*}9ueZQJ=G@KcM7UZ`E#22j#0D-brv}(*lAX?w!DJxpn z@Z_X=@~?NU$jJB&mm4gmSS)PiRXk+$P`Ni7q6B=2-!?AKN&KA}s!X+BT(H^oTl_|S zKUCNen_d40QBC*C$Yy7zq_Oq*F(2Z|>Tg+G8eC?+Wn_KsDdRa=G4WXcT(!Vd?`@h3 z=+Pka*qaED9b<9&5t!VGIp$$Bgjnk&t~L)hF~;UG#J@L!I?XFJW4<1eiG9cc)JbZS_fLto51X<$>d)tsG1Z?RUfr6oY)^Yej+m0lhclBltOmTs=r<`!LjgHEmB)27*l ze4q7+JSjPD6rUfd?(eDjF{$W&HSb=lmT7HWSe_Y90dW(^{@FtV{e~a<{njzbTlTlQ zO+*tS8qvN=mk~}Dygw#U{RwIEKAC-AQ1(vB&iW6v#NP34MW5l1U_u#_tlpoOUT64d zev^mGir-`PtjaSn3+3$cZhiXBNRj<1X6=WoPw(; zIhc+3?WFxMCkEW38aD*`PP56vH{}Mn(E4r(XtC$L=YKXu0mAVE!<~iCDWJ)Dj-KwU z#ox*?Y2wC&Zz{Ae)J)R!wzlV(DY-IMJ5XlHFfM=HLG5ibmUxZ(v|>&WES@Wxqi9fj1mIXj?W z-znjW&z$-pypAL`*#i-wK3hW4r{)^nS}ue;5UE(@#EaCMR1NbpJc^`l?LgZEwB53@ zHI(RH=KlUmX|3*f(ku&|`choKwH3Rgr-c)5a7lzejxmmScjV~gz|innHWXO|_^vXA7gYXG7PnKUD>6I%DF0B@gMG8 z!c=2#!|WP_`>Y9TR;|}nT;bHjvI9z)7++|*P=)3-yuCWx1z#TVp8nSawspz$!^nYC zKY`9bRc^>7A~Oe zMkl9rA3Qoav3n?zDmZfNkm~N`PJFCPloPBU0uLSDfo@Y9nj^nZW_AYZ9NCvj;vc-y55{ zrFe~rmJ#m;*DA+1^?tNRUUQ-IoF>zI2_+f#0ne;=WnTU`kYr@o0wdxi!Y;d zYAn*N=<{6wtDEHX!vc0ss1_&&bmEJXeqxG_&7yMq}V&1@{0q% zj?ZD{FEhwnARr~R~fZJ<+rS2STyF3PE33m9(lC8X4VHL z?^70EtXR_wYJwKL4+8rfn{BJ)*USrFjBu{6?!DdVwuV@?+nV*yEAHP(i!U@~uEe^` zaL#oai$*v{0B6@k_e##$k1-S46x5{8NVG1x@?~!dx`X|7=0fu6XgbjxiM?dzNBlF; zCp$;h(3r;Z#@f^bW4IQM@ z{E0PO@y6`lxFc*iW0MR;zYX>E8@evgZ<eIKQip!jC8!|+E-#tGqB4$mI*kM-8kh0Uao73~&V@7p=D_VjH&NHd{tpL8M@oOA% zKZ1stzydT0%f-n5$J)7oM^#;Ye*y^x0VgPGRH#v-f`TRrN(3|`iA*#oiYSWrD8)PK zL{NdCNyOdB8`B&j@CLHUnj|Td;Xw* zSYoC%^{>+iR?nKm(MG@j`|sIuq^WpoqsF8E`MP&3D{oQ-Jpm8d*?oQqg<`SxA|VT2 z?rsLblEfj3gW#Z_PI0tW_7VbGD|_otJZa6EkIL~^t{*LhX_TBfbk}ZKk}c&~ju%8{ z;ozjyh`xk-S1}FQ2`MYz9ItyRIifF@pmfGI?GsPugPcjs!=g;`faJ0ao{^6`Z*BX4 zN$dDkfvU^4^RHj8{UdfrXsmzRC1G(8hQ)o4OQlR6|3NfkE;=lBQf@5Bi*KRjQKKj? zmdj;T+uLru*rU4!AJxB#(+;<2EA}+5%y=tTF5z?hD%9g_JnQnW%e~!GOQ3vlh5Avk zCEBzRjHXU0B#cORIwkB1LG9JqlG6Ciu8H$fH_G##IKy1&qntPKF>2svuJ4LI)Z~WT!6J)U*aple+EBc|N3o4K>X_q>YZwu+{Aj*(3gG_htCu2T%eoy7Z3rpKZ$3p zAE)(op`;YO;a|kdK(1WN$baDW5!KcPf`0;K@@FO<<|DbD>%X){=_QAE@|16amQ0h$ zc!j{qw*Xa>+=h3q?SK&CGVqT~olT6y0vyQiv+13Ducl%}eOudOS^C#-xn{GBnpnjb z({3RCiFHjlXIQ+c-_&-Hlke7-d}QXgy_FwkVQe+mEtPAbV&J!x|J7l77$Y*K*wuf8 zFN}ZDB%0={M%G`uC$*-|5BwuJe{B^PhYSNF!1Retta{P*3(8bt#b~3oR)I%0XI5y-O)<3;_u4|t6-ej`AGS=Y(6(mTkop) zot>C_iGiSQ*Ti9bS%gr$E)N$1m6c+Toq8r!=C`zaMG{ydH~k!UZf?JA`~5EAu}SAl zY$oaQgFuiIP(C`fXY-0_SCP`R5RXxERa+0@7co^DTM8@QWDX4}tKU@d-n5bNxtT*cuV<5W=uW z)~!FOHUD#cozeV){j>~Tyf@z`*c`!*G;e#n13sOv)`30RCBiFC?NqS|D>QX=VZ81g z08^G3)`ltgu)vdpuBs}10ni;#Rk3zz?|z$3N>3Rix78pH2I$6H2i@%}1l^jGT5(0` zf8eutoFXz}=K&h_ZlbiiceG&ZOqgyVT1@x0$C!^9xDCHE_)z(eMzb>Fa&ZgRxrW_i z*umN@G*4vcXbtOyy@F^sg{Al1u8UQkUen^|f}ZLFw|e z?p9xvmmJBoAGj>YH5#kfH#$=Z{>h8=A%9Rp1|D9UI;yJTlPRr)EKNH*cJp@)ci$U{ z&XT~0;Z(?*JDum{Tl+1ns`zxuiLt!JHFf`^G!{6?V&5=05@A_Lf8tC6fH>9OP*|0` zBtKp^#u~S5^d>*&$>9`xfxH!wHgF%A7y0|*{MZX>U6+k>8WGn9142VHWH=HM{RPUr z8Ov63e}$O+Ovn+=pAw=>AWs~9`r0{_#UhGPqP>cxMh{5KHji^hfIKhs>+RH3)% z4Hy5f;81F0rl(t4B`oKotpij|vAVV>HpOlsVshxCi zaSP7U#Lqa9Lx4+az>VK(T67TdHZLu0SK=dY?mtMB`)-E*SvjP1d8q-z^f4rz$Ewlx zoW7I%{}^B_L)+ITKc!PW%`4Q()S3M&mQ6X4nKAz6ZO0uSjWpbpK0fccN`5hE7gW5` za9&lqv{P=<-u|_qyQxelUnsUdNvR7{!~0ex>-x79fX_3_P*2$rdL=yy&EoQsM;7af6Ws*>(E<56CiyZ86{;dRpQ z8DFSYb@7nu-qExc2NFAB!PXU;*K2eMS+@!angm|TWWPk4bc0U}qm>kOD;oCmSMnHQ z9j6DHe2LC{fifKgKE&{pp0T;hTSX})$K_Qc;RHp;; z`!;kZbLwK+O}$T7!X0O z#p!BQ`TF!X_!#6&D-q4Q^2r=Nfj?S@m#BuXEB~_kXO3UTuxAH@7$PId>Y@OV{_`F5 zDgXZ8c9?$zZs04~*pg|7{NV+2IA580M(mRAyr(4QC!eiUetLfL!OPDHmLxYH9JU~O ze@nD_0h_>gEo90UcU{)FDKGkrnyfUw>z3NHyhX(=i+uuN9C4H^>mc1S{Yzf2;(O$^SSSnt_R%I| z=@(U=I)ypFUiVXa(5#kzCoM8KXsJLkY_)w+ayjAjOA7gZ8P*1*%Eq5roqFXkX@hI) zyz=#J-Glw3^&Cd(T)w%&!)Zc9J^n6FV&L#~*8Tf7>b5Szhk0XA7Ns9SF`mQhg+1u> zMSP6eIO@TvE>)?0r80g6@F(y|tWgTG)FFzzn(0xERN002 zKzBp=&B#5rw?DxCrcf#?JAxL2VMzR>aVn?;Z{$d=7+k-C17^h-g2a!Xj_VNT3(}Tw z@+$UlSa)!~cyHNpNPbn}-6!>`{O+6^qoy44eHBm6?h@N&=8e>ch2BI|sFAY2saB-# z5a-&p1@tWaKlrPuJBnjy`4vm29>|fl z!t}}9IlCk;mShh1-xM@v4ZVq2YkPV&w7YbebmWE`Ss&+_cD$|MI~AK6&P(?$ir0M= zD95E6_BUVGc4Khr#&I?Rx~@r{P^b~vU}DMh^0Nc-wVhy#?enHH|JfAg=S^RJQ2X}R zEzvpyuT3jMCq}EpE?GIP56QT|&(QZI%QJfK;Mc8c+xuB%*Sv&ASM6HYB;PS+F$+k? zS7c(?vHWSE()1b&jFXO;Vr}KT{u9hYTYp~w-3sNM1Vg2cFRD192>Z7<7QJ&x+vVcd zpniJ$`XdNlErFSt7KPmZp__P#SXv*m2Bx|O4uL-I`(~X*Wi1$9?7jLigGnw?SY-=+ z!*ZmwS#L5`Vzf5(*jVb?a{i#;?QCFv%{%V1G$?Q)ounUunxF_d9XcwG4XG+cRZudh z8uO;Ilm<&&jrcEy9-mVe5MvkEmwTGFu$zAiPpmJ2evq(MkYs^+u+G$jPrN_BCR*$% z1#mjxX=(N*->sE;Dzjy?_nneEp~qGwy%3}3^j8~=^dqCl4=`m_>Y^f0b3(CK^q3A@ zfWyVYzgqOyP{HV2l^U;F#}~J)v}f1YYod#L7FsITubXS1x zX~PWFKZRzk*Nnp5ee3X*)o-pAvQ;ir$X^CdcPry$~FT-WeLWSF3pC>aztx6eR`TYnf_$ zshVqSj_PT$ST#v=c7J2h!#EHDz-UiZ(JIe>neBn`x}T@A*t`A%*S(@qgGTCtS5NDe z&Aba;SBWX^@ig^f9a=Xx(~Wnms(4H=d3A$^4pBXWrX??N9{lM*kwI&`6^q`#q$*nN z`Gd7zLCjNWmK%DPYR+Xf%h^;28h!hDV|9%OU0>|(f5U#8_hR@xH;?oF6W&|@ZCpTs z;s-NuuD~5|IaL-=E$(eol!g<#+4xPbNkiPccysNRrQ4S86R95}*Yqy9taX0q?7nS% zXeXZ9TftIAoQ>NRjW%mwH2t`e1UG#QdhmB7N_Y*~Y#K&z z{xhB`ZhJALu^PNLI(S-BeS5uJ^cM#C{KMnnK*;-?muK7wHqxzG>5=M$f;ViO zOe;6e7REW}0miuot5-7nIwT0^)Ux;zeuA^p(;Y_$uk{bIrrm1#pTl4M;|$tAijPCM zv2w_{PX;}`gr42~t&hmoYEpC3kDUHOsGjsCTPQ{_S4L~0U$9@2*jdMmxa+u}o?VMYIA4Q(mP=5O zIaHHAl^C16N!&%l77J_M1<_}AZhAR!mThS~PlMBM%!@>u^-C>ApZUT9%~bU%)c2nC zb7-~xPsvRf9Bw>x@jniU8K{qi9S^l+xa5xh~<^9Bh)aXKAicpSz;CI0%g?X?07t&4i*&}?} z1|b@0x}B4uPfYX~hMLv5wb!H*=5EX5W=REo4$+wtby|WpnOEO4WH0E24iLFu@h|X4 zS;maSW;@o^>oxAR!Ag7p`>akOfV$K97A`61NoOqD z?L{GU&qfsrDh7O#>f?KI`AjXs3!U6pzP^1owiC1S&rZ+JFQUaUxS!Tib+k4tG*xx? zvY>|x7=Zj0Bj%6d9p&~KrJXBY5|@NV#|X>#uhOy}?bIj5ceaSd?p#>7EXe5tYspTQy%rPG zMVqyX^NT2^ucOWH^H7yKj_i)p(4)^Utf?b&PX9%1-Aw<)Uj9($$U6)EjWGDG^?ohZ z^BS48?7tU#XL6X3vNuVnAR-%|qq5~!RcviI9*bhUvv4M1;XD^uILj+uY8cnS!a4pE zSvXU)ovw~f%-;4u7=q=Ww?he(l-1Pf#tcIHAZjeB5TyL&INbY$%$p}e=FP+ADHPH| z8gLfB!pk<{CF37tZm!}v6=gy;zdVhza%kOk%gu$bGy1sm9}s_ET>oWoO)v65DrkPi zOVjqXh3vwbI;C&H9EC??$?kyId!Zth$v8IcN{5YU+hOCPbbsuP0k@vs;cX2MNB2@kflo4U8d`CF(&qa0`QeHHh?{P!Qi)Qov#zh$nqlQHpbil`Q zhmXLY;`}QvyI#dkQ~Ss^Ck=FH4r1Fb3{b)Nrr7wRv!uaoH^x(O9v9`D$ESQONpe#_ z@zd2XZsUB-6^#(%pG-clD1wzC4*Jndz8!pq_kEtwvm{EeFZ5fU-7vM7*f3|C+nbF! zQ`lM(lWS8C2KF7t4N|?yaqxa(9LpPVdRLSdF+CKvGrWXGBkrcEz%8kj2iCZ$5WGmZ z>E0ciSxvv^7hZ4X@e!?31QjVIPCBH(;f&4++Z64ZUmSmWzE;y%ziYXd1xQHa`NjCL7P8RGG!F#bz-e1pF2EVV4 zL+wan0{n7uZQWMXvz|^KV(->ge499hYUuX3AQ)gZj+y=|E#1gE?=qw*7<1vpNnkdy-7XXIQdQX909ikhiwalZD>N7>Kl1!CMQQUm}c#&bb7s6F4s1AE7~ zen+Wn+KIJwn{*{j|LlCnJxF}tsv6?v2FPT;e4fCZyr=FlCHOK?oa$Uvv8v%+&al`% zGgab%TfTlAih;Qe*%{BR|IP{PJeS@^*|bItqJr2m@Xte&4zZK)#ymPe8_?tdAqS@v z)L!MAvB9S0>nOJ0-*oRv#=Mm!uQIf)&WER^_FzkgPih>$9WPyHq&ZASIEQJace!A| zDN@H@8Xl6DafwdU&M8xc9dv)`!@2VpdI$4l^kV9iw^QXS94+FX?dWl5m>zFX$I*lQ z9x8w)*BebHI+|P>(Bx5oVaR8vI>(ZW70Nq##K^k;sbL?y?Ql0g<+g<`WunWWqRX3@ zz0l=o3q5Y!KnU`8?PNdbjCW?r3W&r0srlcjIvM#8rjFS)yr2D7(XDMwhyvO_b(?_F zGmevB3DfJN+x~a-g0s-bj`07Y`T-m}q!(_`uQ*NLkzQ=XC$jXCyb!(q#$WlcX?iCi zBc3YD(d&d){|1vT7LgN~`=4Y1bl5^Y6k7u(Xxcsw zi9<1DBfJvTSF3{J)H;3|ZBj}A?{gG9%Z3(wpSgy0j1#Gnrm{GqP4|Oyiv(Q_QflgU zszxwMbs-0DbmkjE-hx$~CG=QfLkvlRK={7@Ce*1yNI#i-4Hz_$vgy*!8GTgyE$2%g ztyq#c&gr949qRFhU}{tp)pN?i?H5$hV|Q;3D6gWy?x1mgs4wAL=K!mT9jeT9+?F=} zC1GfO3~lE)wVas70F-$zJsEB8I1L4rXKCU$IO=9~8W zL%%I3#uue~m*xEXRqsgOYY0@K)6{D$c|O|Sh{F0?GOEygWkY8WN7mFGZJ{yg6Y{E) zhFZ|L#qQ4yDZx(Pb3Xpx$Y(n12?Rik-B!iQyx&V&nOij*noq-AqU4y4%RTZAYZb{L zMz1kN*k+G@5B7TE8w*w+R*sKoaobR0r~P z5uB&~*fg-%64!64;9hgcK#m5&yY#{EG*!;Q7dSVk4tHkI)mJj9#hFWM!&bXez$t{ z)~N+VU^#)2RJ^3|%3}7nM;2y=Fsek*1o-hfOBqD3Av}J&8GFMWbR{&kP}hGSH+6`I zv-F8Jr8TKi1=s#lXm&wIS+_xgknqkJ*8Cx!g2-h3PykGce#piyV|0}eud;DS*GUyj zuJrCNePC{@TR5kb&BF$CCEh(R8=ZyH`raX6w4SF5US7EaI_LC_>sU{{uczlY<+Y47 zHRL;np`GD;F1AIfd6U&E!pM;%AaY~bjic&M<|L6Cpy7iK?-3d2Z(GU) z$@-&mrJr4=(hn##d6fO?HG97}cpr4R1clJHAzq_tVtByoQD~ly)*F7skv(WrB_{=xPk8mGkPWCX0`pk)>6=>-q3HG&ts`DfT*#$sw&dJ6IhEixn;{tQ!~?}}?!p8(|88%RO! zQ#ZM^d`08ht;yw$3$bZO(K5&v>TjA8@(ZQ~I5 zMGbBK{=CT2J2r+O(yQK>Kb8(-r<2f~tKoFsU8z=610G$mKbb?jbIW1iLsr1~_~_N# zd1#L0CG-38LhG59GOc3#SBaDz#cOQ-3%GTwNFQ5uIhYr@#D^?}^UIiYS%F+>u4T1k zeVG%*RHLRp(Ner_cs{CXkZK{`Zz0EbJ9{nH>&oULaK`}8H5+1&n$!!Wab$orrmpcM zi{*{8U^XjWWHkIc7#@Juy-Tw>ecJX{>=Ubg1=Udp%N&%r z-}R%dC5unKtI>DKkF8+7>EZ_iP=}ZzVk$~fyE#3b*6|3GuO~#YPuuAoW*GB_;1xUp zgDc*iI*3K7ur_a%;&3#&&l(4Jt6$}H0|}|!vel;ivqKBO3JTWUs)Pvxo>~TA!G1f} z9z)V#d%_-2z)j5obf-jH{5tVhOZc>&Ps`VveleP8u6&Cziudy{3l_?0Y!G#eabIM& zM1M7{m*^*KeOO1pS8-^=!nWx;*UYauzBUfEKAu#MvwwLOe?Qu<`H{bi3pNdLJHtMy zF@3T7W=8o5kjvfx$oEnAVBOM>P0Ns05<&>)GZh!wkGHj{r&MT3i*;pF3?s*aG49|Y zI%5rFv32KA9y6gOI#fq=5s@V)5Lm(r!7$Gt;0LEU6HxBIl99>r1eQ<*L0&`!IzWxk z74bxgKxe4DJ9i~#<+I#8gyK&-SOMv)p6{oNOzKM1RkCk7I#E8T5N zcbt%TG>q5gr;%`)J!ynoP_OMBt?Pyi#g6RnVn=ocUxbdF&}+&KvVhVwUju5`)61c9 z>P(^WCo$Oe0OQW`ljBvIC{Yvsl>nlCA^-A!>>u$X##Z*cK+m63PPAUG@q?gFQIv?2{3%ByT18|jb9 z%PYxS+ECoQe%hMW;X`3YeU+<{u1>?I*RQ#G{Ragw>i2b%UJR-!B&m`%VNUOihme6d zaM-NzPW**_^VS__FS6s6+4(0f*hgdV?zqRath-w1uh50#!e86#msY>=xUQ4-NO6

wk+cw<$`lfKNKZJW9-5l=q=Wy?%8$7l; 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 ids+Jgx$a{T55+?9jPPlgcsg45HH&zTz+7-T~w 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

This is another paragraph, with link.