From 558221e5c1b38bef5e7ad5dfd8d1eec1ca4eac80 Mon Sep 17 00:00:00 2001 From: bitliu Date: Sun, 8 Oct 2023 17:23:27 +0800 Subject: [PATCH] :art: Refactor: docs Signed-off-by: bitliu --- .../workflows/{docs.yaml => hugo-docs.yaml} | 42 ++- GOALS.md | 5 +- docs/index.html | 5 - docs/latest/about_docs.rst | 9 - docs/latest/api_docs.rst | 10 - docs/latest/conf.py | 43 --- docs/latest/design_docs.rst | 20 -- docs/latest/dev_docs.rst | 15 -- docs/latest/get_involved.rst | 9 - docs/latest/helm.rst | 9 - docs/latest/index.rst | 35 --- docs/latest/intro/compatibility.rst | 27 -- docs/latest/presentations.md | 12 - docs/latest/releases.rst | 13 - docs/latest/releases/README.md | 45 ---- docs/latest/releases/v0.2.md | 50 ---- docs/latest/releases/v0.3.md | 50 ---- docs/latest/releases/v0.4.md | 61 ----- docs/latest/releases/v0.5.md | 61 ----- docs/latest/roadmap.rst | 9 - docs/latest/user_docs.rst | 35 --- docs/v0.2.0/about_docs.rst | 9 - docs/v0.2.0/conf.py | 43 --- docs/v0.2.0/design_docs.rst | 12 - docs/v0.2.0/dev_docs.rst | 15 -- docs/v0.2.0/get_involved.rst | 9 - docs/v0.2.0/index.rst | 32 --- docs/v0.2.0/intro/compatibility.rst | 19 -- docs/v0.2.0/releases.rst | 10 - docs/v0.2.0/releases/README.md | 41 --- docs/v0.2.0/releases/v0.2.md | 50 ---- docs/v0.2.0/roadmap.rst | 9 - docs/v0.2.0/user_docs.rst | 15 -- docs/v0.3.0/about_docs.rst | 9 - docs/v0.3.0/api_docs.rst | 10 - docs/v0.3.0/conf.py | 43 --- docs/v0.3.0/design_docs.rst | 17 -- docs/v0.3.0/dev_docs.rst | 15 -- docs/v0.3.0/get_involved.rst | 9 - docs/v0.3.0/index.rst | 33 --- docs/v0.3.0/intro/compatibility.rst | 23 -- docs/v0.3.0/releases.rst | 11 - docs/v0.3.0/releases/README.md | 41 --- docs/v0.3.0/roadmap.rst | 9 - docs/v0.3.0/user_docs.rst | 22 -- docs/v0.4.0/about_docs.rst | 9 - docs/v0.4.0/api_docs.rst | 10 - docs/v0.4.0/conf.py | 43 --- docs/v0.4.0/design_docs.rst | 18 -- docs/v0.4.0/dev_docs.rst | 15 -- docs/v0.4.0/get_involved.rst | 9 - docs/v0.4.0/index.rst | 34 --- docs/v0.4.0/intro/compatibility.rst | 25 -- docs/v0.4.0/presentations.md | 12 - docs/v0.4.0/releases.rst | 12 - docs/v0.4.0/releases/README.md | 43 --- docs/v0.4.0/releases/v0.2.md | 50 ---- docs/v0.4.0/releases/v0.3.md | 50 ---- docs/v0.4.0/roadmap.rst | 9 - docs/v0.4.0/user_docs.rst | 26 -- docs/v0.5.0/about_docs.rst | 9 - docs/v0.5.0/api_docs.rst | 10 - docs/v0.5.0/conf.py | 43 --- docs/v0.5.0/design/gatewayapi-translator.md | 250 ----------------- docs/v0.5.0/design/watching.md | 117 -------- docs/v0.5.0/design_docs.rst | 20 -- docs/v0.5.0/dev/CODEOWNERS.md | 15 -- docs/v0.5.0/dev/CODE_OF_CONDUCT.md | 3 - docs/v0.5.0/dev/DOCS.md | 63 ----- docs/v0.5.0/dev_docs.rst | 15 -- docs/v0.5.0/get_involved.rst | 9 - docs/v0.5.0/helm.rst | 9 - docs/v0.5.0/index.rst | 35 --- docs/v0.5.0/intro/compatibility.rst | 27 -- docs/v0.5.0/presentations.md | 12 - docs/v0.5.0/releases.rst | 13 - docs/v0.5.0/releases/v0.2.md | 50 ---- docs/v0.5.0/releases/v0.3.md | 50 ---- docs/v0.5.0/releases/v0.4.md | 61 ----- docs/v0.5.0/roadmap.rst | 9 - docs/v0.5.0/user_docs.rst | 33 --- site/.gitignore | 5 + site/.nvmrc | 1 + site/Dockerfile | 4 + site/README.md | 154 +++++++++++ site/assets/scss/_variables_project.scss | 6 + site/config.yaml | 15 ++ site/content/en/GOALS.md | 82 ++++++ site/content/en/_index.md | 48 ++++ site/content/en/about/featured-background.jpg | Bin 0 -> 400690 bytes site/content/en/about/index.md | 25 ++ site/content/en/blog/_index.md | 8 + site/content/en/blog/compatibility/_index.md | 4 + .../en/blog/compatibility/matrix/matrix.md | 20 ++ site/content/en/blog/news/_index.md | 4 + .../en/blog/news/new-website/new-website.md | 10 + site/content/en/blog/presentations/_index.md | 4 + .../kubecon-eu-2023/kubecon-eu-2023.md | 19 ++ .../kubecon-na-2022/kubecon-na-2022.md | 19 ++ .../content/en/blog/releases/_index.md | 4 +- .../content/en/blog}/releases/v0.2.md | 4 - .../content/en/blog}/releases/v0.3.md | 4 - .../content/en/blog}/releases/v0.4.md | 4 - .../content/en/blog}/releases/v0.5.md | 4 - site/content/en/community/_index.md | 18 ++ site/content/en/docs/_index.md | 3 + site/content/en/docs/latest/_index.md | 9 + site/content/en/docs/latest/api/_index.md | 4 + .../en/docs}/latest/api/extension_types.md | 4 +- site/content/en/docs/latest/design/_index.md | 5 + .../en/docs}/latest/design/accesslog.md | 4 +- .../en/docs}/latest/design/bootstrap.md | 4 +- .../latest/design/client-traffic-policy.md | 4 +- .../en/docs}/latest/design/config-api.md | 4 +- .../content/en/docs/latest}/design/egctl.md | 4 +- .../docs/latest}/design/envoy-patch-policy.md | 4 +- .../latest/design/extending-envoy-gateway.md | 4 +- .../latest/design/gatewayapi-translator.md | 4 +- .../latest}/design/local-envoy-gateway.md | 4 +- .../content/en/docs}/latest/design/metrics.md | 4 +- .../content/en/docs}/latest/design/pprof.md | 4 +- .../en/docs}/latest/design/rate-limit.md | 4 +- .../latest}/design/request-authentication.md | 4 +- .../content/en/docs}/latest/design/roadmap.md | 4 +- .../en/docs}/latest/design/system-design.md | 4 +- .../en/docs/latest}/design/tcp-udp-design.md | 4 +- .../content/en/docs}/latest/design/tracing.md | 4 +- .../en/docs/latest}/design/watching.md | 4 +- .../content/en/docs}/latest/dev/CODEOWNERS.md | 4 +- .../en/docs/latest}/dev/CODE_OF_CONDUCT.md | 4 +- .../en/docs/latest}/dev/CONTRIBUTING.md | 4 +- .../content/en/docs}/latest/dev/DOCS.md | 4 +- .../content/en/docs}/latest/dev/GOALS.md | 0 .../content/en/docs/latest}/dev/README.md | 4 +- site/content/en/docs/latest/dev/_index.md | 5 + .../content/en/docs/latest}/dev/releasing.md | 4 +- site/content/en/docs/latest/helm/_index.md | 4 + .../content/en/docs}/latest/helm/api.md | 4 +- .../en/docs}/latest/images/architecture.png | Bin .../docs}/latest/images/extension-example.png | Bin site/content/en/docs/latest/user/_index.md | 5 + .../content/en/docs}/latest/user/authn.md | 4 +- .../docs}/latest/user/customize-envoyproxy.md | 4 +- .../en/docs}/latest/user/deployment-mode.md | 5 +- .../content/en/docs}/latest/user/egctl.md | 4 +- .../docs}/latest/user/envoy-patch-policy.md | 4 +- .../en/docs}/latest/user/gateway-address.md | 4 +- .../docs}/latest/user/gateway-api-metrics.md | 4 +- .../docs}/latest/user/gatewayapi-support.md | 4 +- .../en/docs}/latest/user/grpc-routing.md | 4 +- .../en/docs/latest}/user/http-redirect.md | 4 +- .../docs/latest}/user/http-request-headers.md | 4 +- .../latest/user/http-request-mirroring.md | 4 +- .../latest}/user/http-response-headers.md | 4 +- .../en/docs}/latest/user/http-routing.md | 4 +- .../latest}/user/http-traffic-splitting.md | 4 +- .../en/docs/latest}/user/http-urlrewrite.md | 4 +- .../en/docs}/latest/user/installation.md | 4 +- .../docs}/latest/user/multicluster-service.md | 4 +- .../docs/latest}/user/proxy-observability.md | 4 +- .../en/docs}/latest/user/quickstart.md | 5 +- .../en/docs}/latest/user/rate-limit.md | 4 +- .../en/docs}/latest/user/secure-gateways.md | 4 +- .../en/docs}/latest/user/tcp-routing.md | 4 +- .../en/docs}/latest/user/tls-cert-manager.md | 6 +- .../en/docs}/latest/user/tls-passthrough.md | 4 +- .../en/docs}/latest/user/tls-termination.md | 4 +- .../en/docs}/latest/user/udp-routing.md | 4 +- site/content/en/docs/m.py | 22 ++ site/content/en/docs/v0.2.0/_index.md | 8 + site/content/en/docs/v0.2.0/design/_index.md | 6 + .../en/docs}/v0.2.0/design/config-api.md | 4 +- .../v0.2.0}/design/gatewayapi-translator.md | 4 +- .../content/en/docs}/v0.2.0/design/roadmap.md | 4 +- .../en/docs/v0.2.0}/design/system-design.md | 4 +- .../en/docs/v0.2.0}/design/watching.md | 4 +- .../content/en/docs}/v0.2.0/dev/CODEOWNERS.md | 4 +- .../en/docs/v0.2.0}/dev/CODE_OF_CONDUCT.md | 4 +- .../en/docs/v0.2.0}/dev/CONTRIBUTING.md | 4 +- .../content/en/docs/v0.2.0}/dev/DOCS.md | 4 +- .../content/en/docs}/v0.2.0/dev/GOALS.md | 0 .../content/en/docs}/v0.2.0/dev/README.md | 4 +- site/content/en/docs/v0.2.0/dev/_index.md | 5 + .../content/en/docs}/v0.2.0/dev/releasing.md | 4 +- .../en/docs}/v0.2.0/images/architecture.png | Bin site/content/en/docs/v0.2.0/user/_index.md | 6 + .../en/docs}/v0.2.0/user/http-redirect.md | 4 +- .../docs}/v0.2.0/user/http-request-headers.md | 4 +- .../en/docs}/v0.2.0/user/http-routing.md | 4 +- .../v0.2.0/user/http-traffic-splitting.md | 4 +- .../en/docs}/v0.2.0/user/quickstart.md | 5 +- .../en/docs}/v0.2.0/user/secure-gateways.md | 4 +- .../en/docs}/v0.2.0/user/tls-passthrough.md | 4 +- site/content/en/docs/v0.3.0/_index.md | 8 + site/content/en/docs/v0.3.0/api/_index.md | 4 + .../en/docs}/v0.3.0/api/config_types.md | 4 +- .../en/docs}/v0.3.0/api/extension_types.md | 4 +- site/content/en/docs/v0.3.0/design/_index.md | 6 + .../en/docs}/v0.3.0/design/config-api.md | 4 +- .../content/en/docs}/v0.3.0/design/egctl.md | 4 +- .../docs}/v0.3.0/design/gatewayapi-support.md | 4 +- .../v0.3.0}/design/gatewayapi-translator.md | 4 +- .../en/docs}/v0.3.0/design/ratelimit.md | 4 +- .../v0.3.0}/design/request-authentication.md | 4 +- .../content/en/docs}/v0.3.0/design/roadmap.md | 4 +- .../en/docs/v0.3.0}/design/system-design.md | 4 +- .../en/docs/v0.3.0}/design/tcp-udp-design.md | 4 +- .../en/docs/v0.3.0}/design/watching.md | 4 +- .../content/en/docs}/v0.3.0/dev/CODEOWNERS.md | 4 +- .../en/docs/v0.3.0}/dev/CODE_OF_CONDUCT.md | 4 +- .../en/docs/v0.3.0}/dev/CONTRIBUTING.md | 4 +- .../content/en/docs/v0.3.0}/dev/DOCS.md | 4 +- .../content/en/docs}/v0.3.0/dev/GOALS.md | 4 +- .../content/en/docs}/v0.3.0/dev/README.md | 4 +- site/content/en/docs/v0.3.0/dev/_index.md | 5 + .../content/en/docs}/v0.3.0/dev/releasing.md | 4 +- .../en/docs}/v0.3.0/images/architecture.png | Bin site/content/en/docs/v0.3.0/user/_index.md | 6 + .../content/en/docs}/v0.3.0/user/authn.md | 4 +- .../en/docs}/v0.3.0/user/grpc-routing.md | 4 +- .../en/docs/v0.3.0}/user/http-redirect.md | 4 +- .../docs/v0.3.0}/user/http-request-headers.md | 4 +- .../v0.3.0/user/http-response-headers.md | 4 +- .../en/docs}/v0.3.0/user/http-routing.md | 4 +- .../v0.3.0}/user/http-traffic-splitting.md | 4 +- .../en/docs/v0.3.0}/user/http-urlrewrite.md | 4 +- .../en/docs}/v0.3.0/user/quickstart.md | 5 +- .../en/docs}/v0.3.0/user/rate-limit.md | 4 +- .../en/docs}/v0.3.0/user/secure-gateways.md | 4 +- .../en/docs}/v0.3.0/user/tcp-routing.md | 4 +- .../en/docs}/v0.3.0/user/tls-passthrough.md | 4 +- .../en/docs}/v0.3.0/user/udp-routing.md | 4 +- site/content/en/docs/v0.4.0/_index.md | 8 + site/content/en/docs/v0.4.0/api/_index.md | 4 + .../en/docs}/v0.4.0/api/config_types.md | 4 +- .../en/docs}/v0.4.0/api/extension_types.md | 4 +- site/content/en/docs/v0.4.0/design/_index.md | 6 + .../en/docs/v0.4.0}/design/bootstrap.md | 4 +- .../en/docs/v0.4.0}/design/config-api.md | 4 +- .../content/en/docs/v0.4.0}/design/egctl.md | 4 +- .../v0.4.0/design/extending-envoy-gateway.md | 4 +- .../v0.4.0}/design/gatewayapi-translator.md | 4 +- .../en/docs}/v0.4.0/design/rate-limit.md | 4 +- .../v0.4.0}/design/request-authentication.md | 4 +- .../content/en/docs}/v0.4.0/design/roadmap.md | 4 +- .../en/docs/v0.4.0}/design/system-design.md | 4 +- .../en/docs/v0.4.0}/design/tcp-udp-design.md | 4 +- .../en/docs/v0.4.0}/design/watching.md | 4 +- .../content/en/docs}/v0.4.0/dev/CODEOWNERS.md | 4 +- .../en/docs/v0.4.0}/dev/CODE_OF_CONDUCT.md | 4 +- .../en/docs/v0.4.0}/dev/CONTRIBUTING.md | 4 +- .../content/en/docs/v0.4.0}/dev/DOCS.md | 4 +- .../content/en/docs}/v0.4.0/dev/GOALS.md | 0 .../content/en/docs}/v0.4.0/dev/README.md | 4 +- site/content/en/docs/v0.4.0/dev/_index.md | 5 + .../content/en/docs}/v0.4.0/dev/releasing.md | 4 +- .../en/docs}/v0.4.0/images/architecture.png | Bin .../docs}/v0.4.0/images/extension-example.png | Bin site/content/en/docs/v0.4.0/user/_index.md | 6 + .../content/en/docs}/v0.4.0/user/authn.md | 4 +- .../docs}/v0.4.0/user/customize-envoyproxy.md | 4 +- .../en/docs}/v0.4.0/user/deployment-mode.md | 5 +- .../content/en/docs}/v0.4.0/user/egctl.md | 4 +- .../docs}/v0.4.0/user/gatewayapi-support.md | 4 +- .../en/docs}/v0.4.0/user/grpc-routing.md | 4 +- .../en/docs/v0.4.0}/user/http-redirect.md | 4 +- .../docs/v0.4.0}/user/http-request-headers.md | 4 +- .../v0.4.0}/user/http-response-headers.md | 4 +- .../en/docs}/v0.4.0/user/http-routing.md | 4 +- .../v0.4.0}/user/http-traffic-splitting.md | 4 +- .../en/docs/v0.4.0}/user/http-urlrewrite.md | 4 +- .../en/docs}/v0.4.0/user/quickstart.md | 5 +- .../en/docs}/v0.4.0/user/rate-limit.md | 4 +- .../en/docs/v0.4.0}/user/secure-gateways.md | 4 +- .../en/docs}/v0.4.0/user/tcp-routing.md | 4 +- .../en/docs}/v0.4.0/user/tls-passthrough.md | 4 +- .../en/docs}/v0.4.0/user/udp-routing.md | 4 +- site/content/en/docs/v0.5.0/_index.md | 9 + site/content/en/docs/v0.5.0/api/_index.md | 4 + .../en/docs}/v0.5.0/api/config_types.md | 4 +- .../en/docs}/v0.5.0/api/extension_types.md | 4 +- site/content/en/docs/v0.5.0/design/_index.md | 6 + .../en/docs}/v0.5.0/design/accesslog.md | 4 +- .../en/docs/v0.5.0}/design/bootstrap.md | 4 +- .../en/docs/v0.5.0}/design/config-api.md | 4 +- .../content/en/docs/v0.5.0}/design/egctl.md | 4 +- .../docs/v0.5.0}/design/envoy-patch-policy.md | 4 +- .../v0.5.0/design/extending-envoy-gateway.md | 4 +- .../v0.5.0/design/gatewayapi-translator.md | 252 ++++++++++++++++++ .../v0.5.0}/design/local-envoy-gateway.md | 4 +- .../content/en/docs}/v0.5.0/design/metrics.md | 4 +- .../content/en/docs}/v0.5.0/design/pprof.md | 4 +- .../en/docs}/v0.5.0/design/rate-limit.md | 4 +- .../v0.5.0}/design/request-authentication.md | 4 +- .../content/en/docs}/v0.5.0/design/roadmap.md | 4 +- .../en/docs/v0.5.0}/design/system-design.md | 4 +- .../en/docs}/v0.5.0/design/tcp-udp-design.md | 4 +- .../content/en/docs}/v0.5.0/design/tracing.md | 4 +- .../content/en/docs/v0.5.0/design/watching.md | 119 +++++++++ site/content/en/docs/v0.5.0/dev/CODEOWNERS.md | 17 ++ .../en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md | 5 + .../en/docs/v0.5.0}/dev/CONTRIBUTING.md | 4 +- site/content/en/docs/v0.5.0/dev/DOCS.md | 65 +++++ .../content/en/docs}/v0.5.0/dev/GOALS.md | 4 +- .../content/en/docs/v0.5.0}/dev/README.md | 4 +- site/content/en/docs/v0.5.0/dev/_index.md | 5 + .../content/en/docs/v0.5.0}/dev/releasing.md | 4 +- site/content/en/docs/v0.5.0/helm/_index.md | 4 + .../content/en/docs}/v0.5.0/helm/api.md | 4 +- .../en/docs}/v0.5.0/images/architecture.png | Bin .../docs}/v0.5.0/images/extension-example.png | Bin site/content/en/docs/v0.5.0/user/_index.md | 6 + .../content/en/docs}/v0.5.0/user/authn.md | 4 +- .../docs}/v0.5.0/user/customize-envoyproxy.md | 4 +- .../en/docs}/v0.5.0/user/deployment-mode.md | 5 +- .../content/en/docs}/v0.5.0/user/egctl.md | 4 +- .../docs}/v0.5.0/user/envoy-patch-policy.md | 4 +- .../en/docs}/v0.5.0/user/gateway-address.md | 4 +- .../docs}/v0.5.0/user/gatewayapi-support.md | 4 +- .../en/docs}/v0.5.0/user/grpc-routing.md | 4 +- .../en/docs/v0.5.0}/user/http-redirect.md | 4 +- .../docs/v0.5.0}/user/http-request-headers.md | 4 +- .../v0.5.0/user/http-request-mirroring.md | 4 +- .../v0.5.0/user/http-response-headers.md | 4 +- .../en/docs}/v0.5.0/user/http-routing.md | 4 +- .../v0.5.0}/user/http-traffic-splitting.md | 4 +- .../en/docs/v0.5.0}/user/http-urlrewrite.md | 4 +- .../en/docs}/v0.5.0/user/installation.md | 4 +- .../docs/v0.5.0}/user/proxy-observability.md | 4 +- .../en/docs}/v0.5.0/user/quickstart.md | 5 +- .../en/docs}/v0.5.0/user/rate-limit.md | 4 +- .../en/docs/v0.5.0}/user/secure-gateways.md | 4 +- .../en/docs}/v0.5.0/user/tcp-routing.md | 4 +- .../en/docs}/v0.5.0/user/tls-cert-manager.md | 6 +- .../en/docs}/v0.5.0/user/tls-passthrough.md | 4 +- .../en/docs}/v0.5.0/user/tls-termination.md | 4 +- .../en/docs}/v0.5.0/user/udp-routing.md | 4 +- site/content/en/featured-background.jpg | Bin 0 -> 400690 bytes site/content/en/search.md | 4 + site/docker-compose.yaml | 13 + site/go.mod | 9 + site/go.sum | 22 ++ site/hugo.toml | 230 ++++++++++++++++ site/layouts/404.html | 6 + site/netlify.toml | 12 + site/package.json | 38 +++ 346 files changed, 2024 insertions(+), 2461 deletions(-) rename .github/workflows/{docs.yaml => hugo-docs.yaml} (67%) delete mode 100644 docs/index.html delete mode 100644 docs/latest/about_docs.rst delete mode 100644 docs/latest/api_docs.rst delete mode 100644 docs/latest/conf.py delete mode 100644 docs/latest/design_docs.rst delete mode 100644 docs/latest/dev_docs.rst delete mode 100644 docs/latest/get_involved.rst delete mode 100644 docs/latest/helm.rst delete mode 100644 docs/latest/index.rst delete mode 100644 docs/latest/intro/compatibility.rst delete mode 100644 docs/latest/presentations.md delete mode 100644 docs/latest/releases.rst delete mode 100644 docs/latest/releases/README.md delete mode 100644 docs/latest/releases/v0.2.md delete mode 100644 docs/latest/releases/v0.3.md delete mode 100644 docs/latest/releases/v0.4.md delete mode 100644 docs/latest/releases/v0.5.md delete mode 100644 docs/latest/roadmap.rst delete mode 100644 docs/latest/user_docs.rst delete mode 100644 docs/v0.2.0/about_docs.rst delete mode 100644 docs/v0.2.0/conf.py delete mode 100644 docs/v0.2.0/design_docs.rst delete mode 100644 docs/v0.2.0/dev_docs.rst delete mode 100644 docs/v0.2.0/get_involved.rst delete mode 100644 docs/v0.2.0/index.rst delete mode 100644 docs/v0.2.0/intro/compatibility.rst delete mode 100644 docs/v0.2.0/releases.rst delete mode 100644 docs/v0.2.0/releases/README.md delete mode 100644 docs/v0.2.0/releases/v0.2.md delete mode 100644 docs/v0.2.0/roadmap.rst delete mode 100644 docs/v0.2.0/user_docs.rst delete mode 100644 docs/v0.3.0/about_docs.rst delete mode 100644 docs/v0.3.0/api_docs.rst delete mode 100644 docs/v0.3.0/conf.py delete mode 100644 docs/v0.3.0/design_docs.rst delete mode 100644 docs/v0.3.0/dev_docs.rst delete mode 100644 docs/v0.3.0/get_involved.rst delete mode 100644 docs/v0.3.0/index.rst delete mode 100644 docs/v0.3.0/intro/compatibility.rst delete mode 100644 docs/v0.3.0/releases.rst delete mode 100644 docs/v0.3.0/releases/README.md delete mode 100644 docs/v0.3.0/roadmap.rst delete mode 100644 docs/v0.3.0/user_docs.rst delete mode 100644 docs/v0.4.0/about_docs.rst delete mode 100644 docs/v0.4.0/api_docs.rst delete mode 100644 docs/v0.4.0/conf.py delete mode 100644 docs/v0.4.0/design_docs.rst delete mode 100644 docs/v0.4.0/dev_docs.rst delete mode 100644 docs/v0.4.0/get_involved.rst delete mode 100644 docs/v0.4.0/index.rst delete mode 100644 docs/v0.4.0/intro/compatibility.rst delete mode 100644 docs/v0.4.0/presentations.md delete mode 100644 docs/v0.4.0/releases.rst delete mode 100644 docs/v0.4.0/releases/README.md delete mode 100644 docs/v0.4.0/releases/v0.2.md delete mode 100644 docs/v0.4.0/releases/v0.3.md delete mode 100644 docs/v0.4.0/roadmap.rst delete mode 100644 docs/v0.4.0/user_docs.rst delete mode 100644 docs/v0.5.0/about_docs.rst delete mode 100644 docs/v0.5.0/api_docs.rst delete mode 100644 docs/v0.5.0/conf.py delete mode 100644 docs/v0.5.0/design/gatewayapi-translator.md delete mode 100644 docs/v0.5.0/design/watching.md delete mode 100644 docs/v0.5.0/design_docs.rst delete mode 100644 docs/v0.5.0/dev/CODEOWNERS.md delete mode 100644 docs/v0.5.0/dev/CODE_OF_CONDUCT.md delete mode 100644 docs/v0.5.0/dev/DOCS.md delete mode 100644 docs/v0.5.0/dev_docs.rst delete mode 100644 docs/v0.5.0/get_involved.rst delete mode 100644 docs/v0.5.0/helm.rst delete mode 100644 docs/v0.5.0/index.rst delete mode 100644 docs/v0.5.0/intro/compatibility.rst delete mode 100644 docs/v0.5.0/presentations.md delete mode 100644 docs/v0.5.0/releases.rst delete mode 100644 docs/v0.5.0/releases/v0.2.md delete mode 100644 docs/v0.5.0/releases/v0.3.md delete mode 100644 docs/v0.5.0/releases/v0.4.md delete mode 100644 docs/v0.5.0/roadmap.rst delete mode 100644 docs/v0.5.0/user_docs.rst create mode 100644 site/.gitignore create mode 100644 site/.nvmrc create mode 100644 site/Dockerfile create mode 100644 site/README.md create mode 100644 site/assets/scss/_variables_project.scss create mode 100644 site/config.yaml create mode 100644 site/content/en/GOALS.md create mode 100644 site/content/en/_index.md create mode 100644 site/content/en/about/featured-background.jpg create mode 100644 site/content/en/about/index.md create mode 100644 site/content/en/blog/_index.md create mode 100644 site/content/en/blog/compatibility/_index.md create mode 100644 site/content/en/blog/compatibility/matrix/matrix.md create mode 100644 site/content/en/blog/news/_index.md create mode 100644 site/content/en/blog/news/new-website/new-website.md create mode 100644 site/content/en/blog/presentations/_index.md create mode 100644 site/content/en/blog/presentations/kubecon-eu-2023/kubecon-eu-2023.md create mode 100644 site/content/en/blog/presentations/kubecon-na-2022/kubecon-na-2022.md rename docs/v0.5.0/releases/README.md => site/content/en/blog/releases/_index.md (98%) rename {docs/v0.3.0 => site/content/en/blog}/releases/v0.2.md (96%) rename {docs/v0.3.0 => site/content/en/blog}/releases/v0.3.md (95%) rename {docs/v0.4.0 => site/content/en/blog}/releases/v0.4.md (96%) rename {docs/v0.5.0 => site/content/en/blog}/releases/v0.5.md (96%) create mode 100644 site/content/en/community/_index.md create mode 100644 site/content/en/docs/_index.md create mode 100644 site/content/en/docs/latest/_index.md create mode 100644 site/content/en/docs/latest/api/_index.md rename {docs => site/content/en/docs}/latest/api/extension_types.md (99%) create mode 100644 site/content/en/docs/latest/design/_index.md rename {docs => site/content/en/docs}/latest/design/accesslog.md (99%) rename {docs => site/content/en/docs}/latest/design/bootstrap.md (99%) rename {docs => site/content/en/docs}/latest/design/client-traffic-policy.md (98%) rename {docs => site/content/en/docs}/latest/design/config-api.md (99%) rename {docs/v0.5.0 => site/content/en/docs/latest}/design/egctl.md (98%) rename {docs/v0.5.0 => site/content/en/docs/latest}/design/envoy-patch-policy.md (99%) rename {docs => site/content/en/docs}/latest/design/extending-envoy-gateway.md (99%) rename {docs => site/content/en/docs}/latest/design/gatewayapi-translator.md (99%) rename {docs/v0.5.0 => site/content/en/docs/latest}/design/local-envoy-gateway.md (97%) rename {docs => site/content/en/docs}/latest/design/metrics.md (98%) rename {docs => site/content/en/docs}/latest/design/pprof.md (97%) rename {docs => site/content/en/docs}/latest/design/rate-limit.md (99%) rename {docs/v0.5.0 => site/content/en/docs/latest}/design/request-authentication.md (99%) rename {docs => site/content/en/docs}/latest/design/roadmap.md (99%) rename {docs => site/content/en/docs}/latest/design/system-design.md (99%) rename {docs/v0.3.0 => site/content/en/docs/latest}/design/tcp-udp-design.md (98%) rename {docs => site/content/en/docs}/latest/design/tracing.md (99%) rename {docs/v0.4.0 => site/content/en/docs/latest}/design/watching.md (99%) rename {docs => site/content/en/docs}/latest/dev/CODEOWNERS.md (87%) rename {docs/v0.2.0 => site/content/en/docs/latest}/dev/CODE_OF_CONDUCT.md (71%) rename {docs/v0.5.0 => site/content/en/docs/latest}/dev/CONTRIBUTING.md (99%) rename {docs => site/content/en/docs}/latest/dev/DOCS.md (98%) rename {docs => site/content/en/docs}/latest/dev/GOALS.md (100%) rename {docs/v0.5.0 => site/content/en/docs/latest}/dev/README.md (99%) create mode 100644 site/content/en/docs/latest/dev/_index.md rename {docs/v0.5.0 => site/content/en/docs/latest}/dev/releasing.md (99%) create mode 100644 site/content/en/docs/latest/helm/_index.md rename {docs => site/content/en/docs}/latest/helm/api.md (98%) rename {docs => site/content/en/docs}/latest/images/architecture.png (100%) rename {docs => site/content/en/docs}/latest/images/extension-example.png (100%) create mode 100644 site/content/en/docs/latest/user/_index.md rename {docs => site/content/en/docs}/latest/user/authn.md (99%) rename {docs => site/content/en/docs}/latest/user/customize-envoyproxy.md (99%) rename {docs => site/content/en/docs}/latest/user/deployment-mode.md (99%) rename {docs => site/content/en/docs}/latest/user/egctl.md (99%) rename {docs => site/content/en/docs}/latest/user/envoy-patch-policy.md (99%) rename {docs => site/content/en/docs}/latest/user/gateway-address.md (98%) rename {docs => site/content/en/docs}/latest/user/gateway-api-metrics.md (98%) rename {docs => site/content/en/docs}/latest/user/gatewayapi-support.md (99%) rename {docs => site/content/en/docs}/latest/user/grpc-routing.md (99%) rename {docs/v0.3.0 => site/content/en/docs/latest}/user/http-redirect.md (99%) rename {docs/v0.3.0 => site/content/en/docs/latest}/user/http-request-headers.md (99%) rename {docs => site/content/en/docs}/latest/user/http-request-mirroring.md (99%) rename {docs/v0.4.0 => site/content/en/docs/latest}/user/http-response-headers.md (99%) rename {docs => site/content/en/docs}/latest/user/http-routing.md (99%) rename {docs/v0.5.0 => site/content/en/docs/latest}/user/http-traffic-splitting.md (99%) rename {docs/v0.4.0 => site/content/en/docs/latest}/user/http-urlrewrite.md (99%) rename {docs => site/content/en/docs}/latest/user/installation.md (99%) rename {docs => site/content/en/docs}/latest/user/multicluster-service.md (98%) rename {docs/v0.5.0 => site/content/en/docs/latest}/user/proxy-observability.md (99%) rename {docs => site/content/en/docs}/latest/user/quickstart.md (98%) rename {docs => site/content/en/docs}/latest/user/rate-limit.md (99%) rename {docs => site/content/en/docs}/latest/user/secure-gateways.md (99%) rename {docs => site/content/en/docs}/latest/user/tcp-routing.md (99%) rename {docs => site/content/en/docs}/latest/user/tls-cert-manager.md (99%) rename {docs => site/content/en/docs}/latest/user/tls-passthrough.md (99%) rename {docs => site/content/en/docs}/latest/user/tls-termination.md (98%) rename {docs => site/content/en/docs}/latest/user/udp-routing.md (99%) create mode 100644 site/content/en/docs/m.py create mode 100644 site/content/en/docs/v0.2.0/_index.md create mode 100644 site/content/en/docs/v0.2.0/design/_index.md rename {docs => site/content/en/docs}/v0.2.0/design/config-api.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.2.0}/design/gatewayapi-translator.md (99%) rename {docs => site/content/en/docs}/v0.2.0/design/roadmap.md (99%) rename {docs/v0.3.0 => site/content/en/docs/v0.2.0}/design/system-design.md (99%) rename {docs/v0.3.0 => site/content/en/docs/v0.2.0}/design/watching.md (99%) rename {docs => site/content/en/docs}/v0.2.0/dev/CODEOWNERS.md (87%) rename {docs/v0.3.0 => site/content/en/docs/v0.2.0}/dev/CODE_OF_CONDUCT.md (71%) rename {docs/v0.3.0 => site/content/en/docs/v0.2.0}/dev/CONTRIBUTING.md (99%) rename {docs/v0.3.0 => site/content/en/docs/v0.2.0}/dev/DOCS.md (98%) rename {docs => site/content/en/docs}/v0.2.0/dev/GOALS.md (100%) rename {docs => site/content/en/docs}/v0.2.0/dev/README.md (99%) create mode 100644 site/content/en/docs/v0.2.0/dev/_index.md rename {docs => site/content/en/docs}/v0.2.0/dev/releasing.md (99%) rename {docs => site/content/en/docs}/v0.2.0/images/architecture.png (100%) create mode 100644 site/content/en/docs/v0.2.0/user/_index.md rename {docs => site/content/en/docs}/v0.2.0/user/http-redirect.md (99%) rename {docs => site/content/en/docs}/v0.2.0/user/http-request-headers.md (99%) rename {docs => site/content/en/docs}/v0.2.0/user/http-routing.md (99%) rename {docs => site/content/en/docs}/v0.2.0/user/http-traffic-splitting.md (99%) rename {docs => site/content/en/docs}/v0.2.0/user/quickstart.md (98%) rename {docs => site/content/en/docs}/v0.2.0/user/secure-gateways.md (99%) rename {docs => site/content/en/docs}/v0.2.0/user/tls-passthrough.md (99%) create mode 100644 site/content/en/docs/v0.3.0/_index.md create mode 100644 site/content/en/docs/v0.3.0/api/_index.md rename {docs => site/content/en/docs}/v0.3.0/api/config_types.md (99%) rename {docs => site/content/en/docs}/v0.3.0/api/extension_types.md (99%) create mode 100644 site/content/en/docs/v0.3.0/design/_index.md rename {docs => site/content/en/docs}/v0.3.0/design/config-api.md (99%) rename {docs => site/content/en/docs}/v0.3.0/design/egctl.md (98%) rename {docs => site/content/en/docs}/v0.3.0/design/gatewayapi-support.md (99%) rename {docs/v0.2.0 => site/content/en/docs/v0.3.0}/design/gatewayapi-translator.md (99%) rename {docs => site/content/en/docs}/v0.3.0/design/ratelimit.md (99%) rename {docs/latest => site/content/en/docs/v0.3.0}/design/request-authentication.md (99%) rename {docs => site/content/en/docs}/v0.3.0/design/roadmap.md (99%) rename {docs/v0.2.0 => site/content/en/docs/v0.3.0}/design/system-design.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.3.0}/design/tcp-udp-design.md (98%) rename {docs/latest => site/content/en/docs/v0.3.0}/design/watching.md (99%) rename {docs => site/content/en/docs}/v0.3.0/dev/CODEOWNERS.md (87%) rename {docs/v0.4.0 => site/content/en/docs/v0.3.0}/dev/CODE_OF_CONDUCT.md (71%) rename {docs/v0.2.0 => site/content/en/docs/v0.3.0}/dev/CONTRIBUTING.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.3.0}/dev/DOCS.md (98%) rename {docs => site/content/en/docs}/v0.3.0/dev/GOALS.md (99%) rename {docs => site/content/en/docs}/v0.3.0/dev/README.md (99%) create mode 100644 site/content/en/docs/v0.3.0/dev/_index.md rename {docs => site/content/en/docs}/v0.3.0/dev/releasing.md (99%) rename {docs => site/content/en/docs}/v0.3.0/images/architecture.png (100%) create mode 100644 site/content/en/docs/v0.3.0/user/_index.md rename {docs => site/content/en/docs}/v0.3.0/user/authn.md (98%) rename {docs => site/content/en/docs}/v0.3.0/user/grpc-routing.md (99%) rename {docs/latest => site/content/en/docs/v0.3.0}/user/http-redirect.md (99%) rename {docs/v0.5.0 => site/content/en/docs/v0.3.0}/user/http-request-headers.md (99%) rename {docs => site/content/en/docs}/v0.3.0/user/http-response-headers.md (99%) rename {docs => site/content/en/docs}/v0.3.0/user/http-routing.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.3.0}/user/http-traffic-splitting.md (99%) rename {docs/latest => site/content/en/docs/v0.3.0}/user/http-urlrewrite.md (99%) rename {docs => site/content/en/docs}/v0.3.0/user/quickstart.md (98%) rename {docs => site/content/en/docs}/v0.3.0/user/rate-limit.md (99%) rename {docs => site/content/en/docs}/v0.3.0/user/secure-gateways.md (99%) rename {docs => site/content/en/docs}/v0.3.0/user/tcp-routing.md (99%) rename {docs => site/content/en/docs}/v0.3.0/user/tls-passthrough.md (99%) rename {docs => site/content/en/docs}/v0.3.0/user/udp-routing.md (99%) create mode 100644 site/content/en/docs/v0.4.0/_index.md create mode 100644 site/content/en/docs/v0.4.0/api/_index.md rename {docs => site/content/en/docs}/v0.4.0/api/config_types.md (99%) rename {docs => site/content/en/docs}/v0.4.0/api/extension_types.md (99%) create mode 100644 site/content/en/docs/v0.4.0/design/_index.md rename {docs/v0.5.0 => site/content/en/docs/v0.4.0}/design/bootstrap.md (99%) rename {docs/v0.5.0 => site/content/en/docs/v0.4.0}/design/config-api.md (99%) rename {docs/latest => site/content/en/docs/v0.4.0}/design/egctl.md (98%) rename {docs => site/content/en/docs}/v0.4.0/design/extending-envoy-gateway.md (99%) rename {docs/v0.3.0 => site/content/en/docs/v0.4.0}/design/gatewayapi-translator.md (99%) rename {docs => site/content/en/docs}/v0.4.0/design/rate-limit.md (99%) rename {docs/v0.3.0 => site/content/en/docs/v0.4.0}/design/request-authentication.md (99%) rename {docs => site/content/en/docs}/v0.4.0/design/roadmap.md (99%) rename {docs/v0.5.0 => site/content/en/docs/v0.4.0}/design/system-design.md (99%) rename {docs/latest => site/content/en/docs/v0.4.0}/design/tcp-udp-design.md (98%) rename {docs/v0.2.0 => site/content/en/docs/v0.4.0}/design/watching.md (99%) rename {docs => site/content/en/docs}/v0.4.0/dev/CODEOWNERS.md (87%) rename {docs/latest => site/content/en/docs/v0.4.0}/dev/CODE_OF_CONDUCT.md (71%) rename {docs/latest => site/content/en/docs/v0.4.0}/dev/CONTRIBUTING.md (99%) rename {docs/v0.2.0 => site/content/en/docs/v0.4.0}/dev/DOCS.md (98%) rename {docs => site/content/en/docs}/v0.4.0/dev/GOALS.md (100%) rename {docs => site/content/en/docs}/v0.4.0/dev/README.md (99%) create mode 100644 site/content/en/docs/v0.4.0/dev/_index.md rename {docs => site/content/en/docs}/v0.4.0/dev/releasing.md (99%) rename {docs => site/content/en/docs}/v0.4.0/images/architecture.png (100%) rename {docs => site/content/en/docs}/v0.4.0/images/extension-example.png (100%) create mode 100644 site/content/en/docs/v0.4.0/user/_index.md rename {docs => site/content/en/docs}/v0.4.0/user/authn.md (98%) rename {docs => site/content/en/docs}/v0.4.0/user/customize-envoyproxy.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/deployment-mode.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/egctl.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/gatewayapi-support.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/grpc-routing.md (99%) rename {docs/v0.5.0 => site/content/en/docs/v0.4.0}/user/http-redirect.md (99%) rename {docs/latest => site/content/en/docs/v0.4.0}/user/http-request-headers.md (99%) rename {docs/latest => site/content/en/docs/v0.4.0}/user/http-response-headers.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/http-routing.md (99%) rename {docs/v0.3.0 => site/content/en/docs/v0.4.0}/user/http-traffic-splitting.md (99%) rename {docs/v0.5.0 => site/content/en/docs/v0.4.0}/user/http-urlrewrite.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/quickstart.md (98%) rename {docs => site/content/en/docs}/v0.4.0/user/rate-limit.md (99%) rename {docs/v0.5.0 => site/content/en/docs/v0.4.0}/user/secure-gateways.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/tcp-routing.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/tls-passthrough.md (99%) rename {docs => site/content/en/docs}/v0.4.0/user/udp-routing.md (99%) create mode 100644 site/content/en/docs/v0.5.0/_index.md create mode 100644 site/content/en/docs/v0.5.0/api/_index.md rename {docs => site/content/en/docs}/v0.5.0/api/config_types.md (99%) rename {docs => site/content/en/docs}/v0.5.0/api/extension_types.md (99%) create mode 100644 site/content/en/docs/v0.5.0/design/_index.md rename {docs => site/content/en/docs}/v0.5.0/design/accesslog.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/design/bootstrap.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/design/config-api.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/design/egctl.md (98%) rename {docs/latest => site/content/en/docs/v0.5.0}/design/envoy-patch-policy.md (99%) rename {docs => site/content/en/docs}/v0.5.0/design/extending-envoy-gateway.md (99%) create mode 100644 site/content/en/docs/v0.5.0/design/gatewayapi-translator.md rename {docs/latest => site/content/en/docs/v0.5.0}/design/local-envoy-gateway.md (97%) rename {docs => site/content/en/docs}/v0.5.0/design/metrics.md (98%) rename {docs => site/content/en/docs}/v0.5.0/design/pprof.md (97%) rename {docs => site/content/en/docs}/v0.5.0/design/rate-limit.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/design/request-authentication.md (99%) rename {docs => site/content/en/docs}/v0.5.0/design/roadmap.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/design/system-design.md (99%) rename {docs => site/content/en/docs}/v0.5.0/design/tcp-udp-design.md (98%) rename {docs => site/content/en/docs}/v0.5.0/design/tracing.md (99%) create mode 100644 site/content/en/docs/v0.5.0/design/watching.md create mode 100644 site/content/en/docs/v0.5.0/dev/CODEOWNERS.md create mode 100644 site/content/en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/dev/CONTRIBUTING.md (99%) create mode 100644 site/content/en/docs/v0.5.0/dev/DOCS.md rename {docs => site/content/en/docs}/v0.5.0/dev/GOALS.md (99%) rename {docs/latest => site/content/en/docs/v0.5.0}/dev/README.md (99%) create mode 100644 site/content/en/docs/v0.5.0/dev/_index.md rename {docs/latest => site/content/en/docs/v0.5.0}/dev/releasing.md (99%) create mode 100644 site/content/en/docs/v0.5.0/helm/_index.md rename {docs => site/content/en/docs}/v0.5.0/helm/api.md (98%) rename {docs => site/content/en/docs}/v0.5.0/images/architecture.png (100%) rename {docs => site/content/en/docs}/v0.5.0/images/extension-example.png (100%) create mode 100644 site/content/en/docs/v0.5.0/user/_index.md rename {docs => site/content/en/docs}/v0.5.0/user/authn.md (98%) rename {docs => site/content/en/docs}/v0.5.0/user/customize-envoyproxy.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/deployment-mode.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/egctl.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/envoy-patch-policy.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/gateway-address.md (98%) rename {docs => site/content/en/docs}/v0.5.0/user/gatewayapi-support.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/grpc-routing.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/user/http-redirect.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/user/http-request-headers.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/http-request-mirroring.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/http-response-headers.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/http-routing.md (99%) rename {docs/latest => site/content/en/docs/v0.5.0}/user/http-traffic-splitting.md (99%) rename {docs/v0.3.0 => site/content/en/docs/v0.5.0}/user/http-urlrewrite.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/installation.md (99%) rename {docs/latest => site/content/en/docs/v0.5.0}/user/proxy-observability.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/quickstart.md (98%) rename {docs => site/content/en/docs}/v0.5.0/user/rate-limit.md (99%) rename {docs/v0.4.0 => site/content/en/docs/v0.5.0}/user/secure-gateways.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/tcp-routing.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/tls-cert-manager.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/tls-passthrough.md (99%) rename {docs => site/content/en/docs}/v0.5.0/user/tls-termination.md (98%) rename {docs => site/content/en/docs}/v0.5.0/user/udp-routing.md (99%) create mode 100644 site/content/en/featured-background.jpg create mode 100644 site/content/en/search.md create mode 100644 site/docker-compose.yaml create mode 100644 site/go.mod create mode 100644 site/go.sum create mode 100644 site/hugo.toml create mode 100644 site/layouts/404.html create mode 100644 site/netlify.toml create mode 100644 site/package.json diff --git a/.github/workflows/docs.yaml b/.github/workflows/hugo-docs.yaml similarity index 67% rename from .github/workflows/docs.yaml rename to .github/workflows/hugo-docs.yaml index 2244b4a14cd3..da31e48e70ee 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/hugo-docs.yaml @@ -1,15 +1,17 @@ -name: Docs +name: Hugo Docs on: push: branches: - - "main" + - "main" + - "release/v*" paths-ignore: - - "**/*.png" + - "**/*.png" pull_request: branches: - - "main" + - "main" + - "release/v*" paths-ignore: - - "**/*.png" + - "**/*.png" jobs: docs-lint: @@ -21,25 +23,43 @@ jobs: - name: Run markdown linter uses: nosborn/github-action-markdown-cli@v3.3.0 with: - files: docs/* + files: site/content/* config_file: ".github/markdown_lint_config.json" docs-build: runs-on: ubuntu-latest needs: docs-lint + permissions: + contents: write steps: - - uses: actions/checkout@v4 - - uses: ./tools/github-actions/setup-deps + - name: Git checkout + uses: actions/checkout@v3 + with: + submodules: true + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: 'latest' + extended: true + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Install Site Dependencies + run: cd site && npm install - - name: Generate EG Pages - run: make docs + - name: Build Site + run: cd site && npm run build:production # Upload docs for GitHub Pages - name: Upload GitHub Pages artifact uses: actions/upload-pages-artifact@v2.0.0 with: # Path of the directory containing the static assets. - path: docs/html + path: site/public # Duration after which artifact will expire in days. # retention-days: # optional, default is 1 diff --git a/GOALS.md b/GOALS.md index 519be9f180fe..be4bdb76f6bc 100644 --- a/GOALS.md +++ b/GOALS.md @@ -1,4 +1,7 @@ -# Goals +--- +title: "Goals" +--- + The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 9a7d823d866a..000000000000 --- a/docs/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/latest/about_docs.rst b/docs/latest/about_docs.rst deleted file mode 100644 index ecaa28247b91..000000000000 --- a/docs/latest/about_docs.rst +++ /dev/null @@ -1,9 +0,0 @@ -About the Documentation -======================= - -Learn how to contribute to Envoy Gateway documentation. - -.. toctree:: - :maxdepth: 1 - - dev/DOCS diff --git a/docs/latest/api_docs.rst b/docs/latest/api_docs.rst deleted file mode 100644 index b470527c50cc..000000000000 --- a/docs/latest/api_docs.rst +++ /dev/null @@ -1,10 +0,0 @@ -API Docs -============== - -API reference documentation for Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - Config APIs - Extension APIs diff --git a/docs/latest/conf.py b/docs/latest/conf.py deleted file mode 100644 index 76ef5717548f..000000000000 --- a/docs/latest/conf.py +++ /dev/null @@ -1,43 +0,0 @@ -import os - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.duration', - 'sphinx.ext.autosectionlabel', - 'myst_parser', -] - -autosectionlabel_prefix_document = True -myst_heading_anchors = 3 - -html_theme = 'alabaster' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -version = os.environ["BUILD_VERSION"] -envoyVersion = os.environ["ENVOY_PROXY_VERSION"] -gatewayAPIVersion = os.environ["GATEWAYAPI_VERSION"] - -project = 'Envoy Gateway' -author = 'Envoy Gateway Project Authors' - -copyright = 'Envoy Gateway Project Authors | GitHub | Latest Docs' - -source_suffix = { - '.rst': 'restructuredtext', - '.md': 'markdown', -} - -variables_to_export = [ - "version", - "envoyVersion", - "gatewayAPIVersion", -] - -frozen_locals = dict(locals()) -rst_epilog = '\n'.join(map(lambda x: f".. |{x}| replace:: {frozen_locals[x]}", variables_to_export)) -del frozen_locals diff --git a/docs/latest/design_docs.rst b/docs/latest/design_docs.rst deleted file mode 100644 index a0b82b578f88..000000000000 --- a/docs/latest/design_docs.rst +++ /dev/null @@ -1,20 +0,0 @@ -Design Docs -=========== - -Learn about the internal details of Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - design/system-design - design/gatewayapi-translator - design/watching - design/config-api - design/tcp-udp-design - design/egctl - design/rate-limit - design/request-authentication - design/bootstrap - design/extending-envoy-gateway - design/local-envoy-gateway - design/accesslog diff --git a/docs/latest/dev_docs.rst b/docs/latest/dev_docs.rst deleted file mode 100644 index e546e14c1ada..000000000000 --- a/docs/latest/dev_docs.rst +++ /dev/null @@ -1,15 +0,0 @@ -Developer Docs -============== - -Learn how to contribute to Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - dev/GOALS - dev/CODE_OF_CONDUCT - dev/CODEOWNERS - dev/CONTRIBUTING - dev/README - dev/DOCS - dev/releasing diff --git a/docs/latest/get_involved.rst b/docs/latest/get_involved.rst deleted file mode 100644 index f17febd56513..000000000000 --- a/docs/latest/get_involved.rst +++ /dev/null @@ -1,9 +0,0 @@ -Getting Involved -================ - -We welcome contributions from the community. Please carefully review the -`project goals `_ -and the -`code of conduct `_ -before diving in. - diff --git a/docs/latest/helm.rst b/docs/latest/helm.rst deleted file mode 100644 index 853e26a141b8..000000000000 --- a/docs/latest/helm.rst +++ /dev/null @@ -1,9 +0,0 @@ -Helm Guides -=========== - -Learn how to deploy, use the helm chart for Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - helm/api.md \ No newline at end of file diff --git a/docs/latest/index.rst b/docs/latest/index.rst deleted file mode 100644 index 81957cef394c..000000000000 --- a/docs/latest/index.rst +++ /dev/null @@ -1,35 +0,0 @@ -`Envoy Gateway `_ -==================== - -Release: |version| - -.. image:: https://img.shields.io/badge/slack-join-orange.svg - :target: https://envoyproxy.slack.com/archives/C03E6NHLESV - :alt: Join the Envoy Slack - -Envoy Gateway is an open source project for managing `Envoy Proxy`_ as a standalone or Kubernetes-based application -gateway. `Gateway API`_ resources are used to dynamically provision and configure the managed Envoy Proxies. Whether -you are interested in using or contributing to Envoy Gateway, the following resources will help you get started: - -.. toctree:: - :maxdepth: 1 - - intro/compatibility - user_docs - design_docs - dev_docs - api_docs - helm - releases - roadmap - about_docs - get_involved - presentations - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved`. - -.. _Envoy Proxy: https://www.envoyproxy.io/ -.. _Gateway API: https://gateway-api.sigs.k8s.io/ diff --git a/docs/latest/intro/compatibility.rst b/docs/latest/intro/compatibility.rst deleted file mode 100644 index df9ef8fec7ee..000000000000 --- a/docs/latest/intro/compatibility.rst +++ /dev/null @@ -1,27 +0,0 @@ -Compatibility Matrix -==================== - -Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs -within a Kubernetes cluster. Not all versions of each of these products -can function together for Envoy Gateway. Supported version combinations -are listed below; **bold** type indicates the versions of the Envoy Proxy -and the Gateway API actually compiled into each Envoy Gateway release. - -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| Envoy Gateway version | Envoy Proxy version | Rate Limit version | Gateway API version | Kubernetes version | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.5.0 | **v1.27-latest** | **e059638d** | **v0.7.1** | v1.25, v1.26, v1.27 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.4.0 | **v1.26-latest** | **542a6047** | **v0.6.2** | v1.25, v1.26, v1.27 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.3.0 | **v1.25-latest** | **f28024e3** | **v0.6.1** | v1.24, v1.25, v1.26 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.2.0 | **v1.23-latest** | | **v0.5.1** | v1.24 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| latest | **dev-latest** | **master** | **v0.8.0** | v1.26, v1.27, v1.28 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved<../get_involved>`. diff --git a/docs/latest/presentations.md b/docs/latest/presentations.md deleted file mode 100644 index bc681b8c2686..000000000000 --- a/docs/latest/presentations.md +++ /dev/null @@ -1,12 +0,0 @@ -# Presentations - -This page contains a list of presentations about the Envoy Proxy project. - -| Conference | Title | Speaker | Recording | Slides | -|-----------------|------------------------------|------------------------------|--------------------------------------------------------|--------| -| KubeCon NA 2022 | Envoy Gateway Project Update | Daneyon Hansen & Alice Wasko | [YouTube](https://www.youtube.com/watch?v=3MUOZc8XNCc) | [Slides](https://static.sched.com/hosted_files/envoyconna22/2f/Envoy_Gateway_Project_Update_EnvoyCon_NA_2022.pptx) | -| KubeCon EU 2023 | Envoy Gateway Project Update | Alice Wasko | [YouTube](https://www.youtube.com/watch?v=4vnJxt9sVho) | [Slides](https://static.sched.com/hosted_files/kccnceu2023/58/Kubecon_EU_2023_Envoy_Gateway_Update.pptx) | - - - - diff --git a/docs/latest/releases.rst b/docs/latest/releases.rst deleted file mode 100644 index f2854c34d0e8..000000000000 --- a/docs/latest/releases.rst +++ /dev/null @@ -1,13 +0,0 @@ -Releases -======== - -Learn more about Envoy Gateway releases. - -.. toctree:: - :maxdepth: 1 - - releases/README - releases/v0.2 - releases/v0.3 - releases/v0.4 - releases/v0.5 diff --git a/docs/latest/releases/README.md b/docs/latest/releases/README.md deleted file mode 100644 index 4aa878e84079..000000000000 --- a/docs/latest/releases/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# Release Details - -This document provides details for Envoy Gateway releases. Envoy Gateway follows the Semantic Versioning [v2.0.0 spec][] -for release versioning. Since Envoy Gateway is a new project, minor releases are the only defined releases. Envoy -Gateway maintainers will establish additional release details, e.g. patch releases, at a future date. - -## Stable Releases - -Stable releases of Envoy Gateway include: - -* Minor Releases- A new release branch and corresponding tag are created from the `main` branch. A minor release - is supported for 6 months following the release date. As the project matures, Envoy Gateway maintainers will reassess - the support timeframe. - -Minor releases happen quarterly and follow the schedule below. - -## Release Management - -Minor releases are handled by a designated Envoy Gateway maintainer. This maintainer is considered the Release Manager -for the release. The details for creating a release are outlined in the [release guide][]. The Release Manager is -responsible for coordinating the overall release. This includes identifying issues to be fixed in the release, -communications with the Envoy Gateway community, and the mechanics of the release. - -| Quarter | Release Manager | -|:-------:|:--------------------------------------------------------------:| -| 2022 Q4 | Daneyon Hansen ([danehans](https://github.com/danehans)) | -| 2023 Q1 | Xunzhuo Liu ([Xunzhuo](https://github.com/Xunzhuo)) | -| 2023 Q2 | Alice Wasko ([AliceProxy](https://github.com/AliceProxy)) | -| 2023 Q3 | Arko Dasgupta ([arkodg](https://github.com/arkodg)) | - -## Release Schedule - -In order to align with the Envoy Proxy [release schedule][], Envoy Gateway releases are produced on a fixed schedule -(the 22nd day of each quarter), with an acceptable delay of up to 2 weeks, and a hard deadline of 3 weeks. - -| Version | Expected | Actual | Difference | End of Life | -|:-------:|:-----------:|:-----------:|:----------:|:-----------:| -| 0.2.0 | 2022/10/22 | 2022/10/20 | -2 day | 2023/4/20 | -| 0.3.0 | 2023/01/22 | 2023/02/09 | +17 day | 2023/08/09 | -| 0.4.0 | 2023/04/22 | 2023/04/24 | +2 day | 2023/10/24 | -| 0.5.0 | 2023/07/22 | 2023/08/02 | +10 day | 2024/01/02 | - -[v2.0.0 spec]: https://semver.org/spec/v2.0.0.html -[release guide]: ../dev/releasing.md -[release schedule]: https://github.com/envoyproxy/envoy/blob/main/RELEASES.md#major-release-schedule diff --git a/docs/latest/releases/v0.2.md b/docs/latest/releases/v0.2.md deleted file mode 100644 index a0dc0e885de8..000000000000 --- a/docs/latest/releases/v0.2.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.2 -linktitle: v0.2 -subtitle: Major Update -description: Envoy Gateway v0.2 release announcement. -publishdate: 2022-10-20 -release: v0.2.0 -skip_list: true -aliases: -- /releases/v0.2 -- /releases/v0.2.0 ---- -# Envoy Gateway Release v0.2 - -We are pleased to announce the release of Envoy Gateway v0.2! - -This is the first functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Kubernetes Support - -Run Envoy Gateway in a Kubernetes cluster. Checkout the [quickstart guide][] to get started with Envoy Gateway in a few -simple steps. - -### Gateway API Support - -Envoy Gateway supports Gateway API resources for running and configuring a managed fleet of Envoy proxies. Envoy Gateway -passes Gateway API core [conformance tests][] and supports GatewayClass, Gateway, HTTPRoute, and TLSRoute resources. See -the [documentation][docs] for additional details on how to use Envoy Gateway for your edge proxy and API gateway needs. - -## Envoy Gateway at EnvoyCon NA - -Envoy Gateway will be at [EnvoyCon NA][] this October in Detroit. Don't miss [our talk][] to learn more about the -release and future direction of the project. - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.2.0.yaml -[matrix]: https://gateway.envoyproxy.io/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.2.0 -[conformance tests]: https://gateway-api.sigs.k8s.io/concepts/conformance/?h=conformance -[quickstart guide]: https://gateway.envoyproxy.io/user/quickstart.html -[EnvoyCon NA]: https://events.linuxfoundation.org/envoycon-north-america/program/schedule/ -[our talk]: https://sched.co/1AO5S diff --git a/docs/latest/releases/v0.3.md b/docs/latest/releases/v0.3.md deleted file mode 100644 index 96d6d6d49ebe..000000000000 --- a/docs/latest/releases/v0.3.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.3 -linktitle: v0.3 -subtitle: Major Update -description: Envoy Gateway v0.3 release announcement. -publishdate: 2023-02-09 -release: v0.3.0 -skip_list: true -aliases: -- /releases/v0.3 -- /releases/v0.3.0 ---- -# Envoy Gateway Release v0.3 - -We are pleased to announce the release of Envoy Gateway v0.3! - -This is the second functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Add Support for extended Gateway API fields - -+ Added Support for HTTPRoute URLRewrite Filter -+ Added Support for HTTPRoute RequestMirror Filter -+ Added Support for HTTPRoute ResponseHeaderModifier Filter - -### Add Support for experimental Gateway APIs - -+ Added Support for the TCPRoute API -+ Added Support for the UDPRoute API -+ Added Support for the GRPCRoute API - -### Add Support for Rate Limiting - -+ Added Support for Global Rate Limiting - -### Add Support for Authentication - -+ Added Support for Request Authentication - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.3.0.yaml -[matrix]: https://gateway.envoyproxy.io/v0.3.0/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/v0.3.0/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.3.0 diff --git a/docs/latest/releases/v0.4.md b/docs/latest/releases/v0.4.md deleted file mode 100644 index 81a9bc3a0ede..000000000000 --- a/docs/latest/releases/v0.4.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.4 -linktitle: v0.4 -subtitle: Major Update -description: Envoy Gateway v0.4 release announcement. -publishdate: 2023-04-24 -release: v0.4.0 -skip_list: true -aliases: -- /releases/v0.4 -- /releases/v0.4.0 ---- -# Envoy Gateway Release v0.4 - -We are pleased to announce the release of Envoy Gateway v0.4! - -This is the third functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Upgrade Gateway API Dependency - -+ Upgraded to Gateway API v0.6.2 - -### Add Helm Support - -+ Installation of Envoy Gateway can now be done through helm - -### Add egctl CLI Tool - -+ Added egctl Support for Dry Runs of Gateway API Config -+ Added egctl Support for Dumping Envoy Proxy xDS Resources - -### Add Support for extending Envoy Gateway - -+ Added Initial Framework for Building an Extension on top of Envoy Gateway - -### Ratelimiting - -+ Added Support for Ratelimiting Based On IP Subnet - -### API Updates - -+ Added Support for Custom Envoy Proxy Bootstrap Config -+ Added Support for Configuring the Envoy Proxy Image and Service -+ Added Support for Configuring Annotations, Resources, and Securitycontext Settings on Ratelimit Infra and Envoy Proxy -+ Added Support for Using Multiple Certificates on a Single Fully Qualified Domain Name -+ Envoy Proxy Pod and Container SecurityContext is now Configurable -+ Added Support for Service Method Match in GRPCRoute -+ Added EDS Support - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.4.0.yaml -[matrix]: https://gateway.envoyproxy.io/v0.4.0/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/v0.4.0/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.4.0 diff --git a/docs/latest/releases/v0.5.md b/docs/latest/releases/v0.5.md deleted file mode 100644 index 8c7b72cd53b0..000000000000 --- a/docs/latest/releases/v0.5.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.5 -linktitle: v0.5 -subtitle: Major Update -description: Envoy Gateway v0.5 release announcement. -publishdate: 2023-08-02 -release: v0.5.0 -skip_list: true -aliases: -- /releases/v0.5 -- /releases/v0.5.0 ---- -# Envoy Gateway Release v0.5 - -We are pleased to announce the release of Envoy Gateway v0.5! - -This is the third functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Upgrade Gateway API Dependency - -+ Upgraded to Gateway API v0.7.1 - -### Add Data Plane Proxy Telemetry - -+ Added Support for Access Logging, Tracing and Metrics Telemetry - -### Add Support for directly configuring xDS - -+ Added Support for the EnvoyPatchPolicy API - -### Ratelimiting - -+ Added Support for Distinct Ratelimiting Based On IP Addresses -+ Added Support for JWT Claim based Ratelimiting -+ Switched to Xds SOTW Server for RateLimit Service Configuration - -### API Updates - -+ Added Support for configuring EnvoyProxy Pod Labels -+ Added Support for configuring EnvoyProxy Deployment Strategy Settings, Volumes and Volume Mounts -+ Added Support for configuring EnvoyProxy as a NodePort Type Service -+ Added Admin Server for Envoy Gateway -+ Added Pprof Debug Support for Envoy Gateway -+ Added Support to Watch for Resources in Select Namespaces - -## Envoy Proxy - -+ Added Best Practices Default Edge Settings to Xds Resources - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.5.0.yaml -[matrix]: https://gateway.envoyproxy.io/v0.5.0/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/v0.5.0/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.5.0 diff --git a/docs/latest/roadmap.rst b/docs/latest/roadmap.rst deleted file mode 100644 index 711b62455031..000000000000 --- a/docs/latest/roadmap.rst +++ /dev/null @@ -1,9 +0,0 @@ -Roadmap -======= - -Learn about the future direction of Envoy Gateway. - -.. toctree:: - :maxdepth: 2 - - design/roadmap diff --git a/docs/latest/user_docs.rst b/docs/latest/user_docs.rst deleted file mode 100644 index 8bd0c4ccfa9b..000000000000 --- a/docs/latest/user_docs.rst +++ /dev/null @@ -1,35 +0,0 @@ -User Guides -=========== - -Learn how to deploy, use, and operate Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - user/installation - user/quickstart - user/http-routing - user/http-redirect - user/http-urlrewrite - user/http-traffic-splitting - user/http-traffic-mirroring - user/http-request-headers - user/http-response-headers - user/secure-gateways - user/tls-cert-manager - user/tls-passthrough - user/tls-termination - user/tcp-routing - user/udp-routing - user/grpc-routing - user/authn - user/rate-limit - user/envoy-patch-policy - user/egctl - user/customize-envoyproxy - user/deployment-mode - user/gateway-address - user/gatewayapi-support - user/gateway-api-metrics - user/proxy-observability - user/multicluster-service diff --git a/docs/v0.2.0/about_docs.rst b/docs/v0.2.0/about_docs.rst deleted file mode 100644 index ecaa28247b91..000000000000 --- a/docs/v0.2.0/about_docs.rst +++ /dev/null @@ -1,9 +0,0 @@ -About the Documentation -======================= - -Learn how to contribute to Envoy Gateway documentation. - -.. toctree:: - :maxdepth: 1 - - dev/DOCS diff --git a/docs/v0.2.0/conf.py b/docs/v0.2.0/conf.py deleted file mode 100644 index 94f7896b25ae..000000000000 --- a/docs/v0.2.0/conf.py +++ /dev/null @@ -1,43 +0,0 @@ -import os -import re - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.duration', - 'sphinx.ext.autosectionlabel', - 'myst_parser', -] - -autosectionlabel_prefix_document = True -myst_heading_anchors = 3 - -html_theme = 'alabaster' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -version = os.environ["BUILD_VERSION"] -envoyVersion = os.environ["ENVOY_PROXY_VERSION"] -gatewayAPIVersion = os.environ["GATEWAYAPI_VERSION"] - -project = 'Envoy Gateway' -author = 'Envoy Gateway Project Authors' - -copyright = 'Envoy Gateway Project Authors | GitHub | Latest Docs' - -source_suffix = { - '.rst': 'restructuredtext', - '.md': 'markdown', -} - -variables_to_export = [ - "envoyVersion", - "gatewayAPIVersion", -] - -frozen_locals = dict(locals()) -rst_epilog = '\n'.join(map(lambda x: f".. |{x}| replace:: {frozen_locals[x]}", variables_to_export)) -del frozen_locals diff --git a/docs/v0.2.0/design_docs.rst b/docs/v0.2.0/design_docs.rst deleted file mode 100644 index 4e95a518d1e9..000000000000 --- a/docs/v0.2.0/design_docs.rst +++ /dev/null @@ -1,12 +0,0 @@ -Design Docs -=========== - -Learn about the internal details of Envoy Gateway. - -.. toctree:: - :maxdepth: 2 - - design/system-design - design/gatewayapi-translator - design/watching - design/config-api diff --git a/docs/v0.2.0/dev_docs.rst b/docs/v0.2.0/dev_docs.rst deleted file mode 100644 index e546e14c1ada..000000000000 --- a/docs/v0.2.0/dev_docs.rst +++ /dev/null @@ -1,15 +0,0 @@ -Developer Docs -============== - -Learn how to contribute to Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - dev/GOALS - dev/CODE_OF_CONDUCT - dev/CODEOWNERS - dev/CONTRIBUTING - dev/README - dev/DOCS - dev/releasing diff --git a/docs/v0.2.0/get_involved.rst b/docs/v0.2.0/get_involved.rst deleted file mode 100644 index f17febd56513..000000000000 --- a/docs/v0.2.0/get_involved.rst +++ /dev/null @@ -1,9 +0,0 @@ -Getting Involved -================ - -We welcome contributions from the community. Please carefully review the -`project goals `_ -and the -`code of conduct `_ -before diving in. - diff --git a/docs/v0.2.0/index.rst b/docs/v0.2.0/index.rst deleted file mode 100644 index 7da20035f47f..000000000000 --- a/docs/v0.2.0/index.rst +++ /dev/null @@ -1,32 +0,0 @@ -`Envoy Gateway `_ -==================== - -Release: |version| - -.. image:: https://img.shields.io/badge/slack-join-orange.svg - :target: https://envoyproxy.slack.com/archives/C03E6NHLESV - :alt: Join the Envoy Slack - -Envoy Gateway is an open source project for managing `Envoy Proxy`_ as a standalone or Kubernetes-based application -gateway. `Gateway API`_ resources are used to dynamically provision and configure the managed Envoy Proxies. Whether -you are interested in using or contributing to Envoy Gateway, the following resources will help you get started: - -.. toctree:: - :maxdepth: 1 - - intro/compatibility - user_docs - design_docs - dev_docs - releases - roadmap - about_docs - get_involved - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved`. - -.. _Envoy Proxy: https://www.envoyproxy.io/ -.. _Gateway API: https://gateway-api.sigs.k8s.io/ diff --git a/docs/v0.2.0/intro/compatibility.rst b/docs/v0.2.0/intro/compatibility.rst deleted file mode 100644 index 4dc06f769e53..000000000000 --- a/docs/v0.2.0/intro/compatibility.rst +++ /dev/null @@ -1,19 +0,0 @@ -Compatibility Matrix -==================== - -Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs -within a Kubernetes cluster. Not all versions of each of these products -can function together for Envoy Gateway. Supported version combinations -are listed below; **bold** type indicates the versions of the Envoy Proxy -and the Gateway API actually compiled into each Envoy Gateway release. - -+--------------------------+---------------------+---------------------+----------------------------+ -| Envoy Gateway version | Envoy Proxy version | Gateway API version | Kubernetes minimum version | -+--------------------------+---------------------+---------------------+----------------------------+ -| v0.2.0 | **v1.23-latest** | **v0.5.1** | v1.24 | -+--------------------------+---------------------+---------------------+----------------------------+ - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved<../get_involved>`. diff --git a/docs/v0.2.0/releases.rst b/docs/v0.2.0/releases.rst deleted file mode 100644 index 090c6707fd2d..000000000000 --- a/docs/v0.2.0/releases.rst +++ /dev/null @@ -1,10 +0,0 @@ -Releases -======== - -Learn more about Envoy Gateway releases. - -.. toctree:: - :maxdepth: 1 - - releases/README - releases/v0.2 diff --git a/docs/v0.2.0/releases/README.md b/docs/v0.2.0/releases/README.md deleted file mode 100644 index 93d3366efb0f..000000000000 --- a/docs/v0.2.0/releases/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Release Details - -This document provides details for Envoy Gateway releases. Envoy Gateway follows the Semantic Versioning [v2.0.0 spec][] -for release versioning. Since Envoy Gateway is a new project, minor releases are the only defined releases. Envoy -Gateway maintainers will establish additional release details, e.g. patch releases, at a future date. - -## Stable Releases - -Stable releases of Envoy Gateway include: - -* Minor Releases- A new release branch and corresponding tag are created from the `main` branch. A minor release - is supported for 6 months following the release date. As the project matures, Envoy Gateway maintainers will reassess - the support timeframe. - -Minor releases happen quarterly and follow the schedule below. - -## Release Management - -Minor releases are handled by a designated Envoy Gateway maintainer. This maintainer is considered the Release Manager -for the release. The details for creating a release are outlined in the [release guide][]. The Release Manager is -responsible for coordinating the overall release. This includes identifying issues to be fixed in the release, -communications with the Envoy Gateway community, and the mechanics of the release. - -| Quarter | Release Manager | -|:-------:|:--------------------------------------------------------------:| -| 2022 Q4 | Daneyon Hansen ([danehans](https://github.com/danehans)) | -| 2023 Q1 | TBD | - -## Release Schedule - -In order to align with the Envoy Proxy [release schedule][], Envoy Gateway releases are produced on a fixed schedule -(the 22nd day of each quarter), with an acceptable delay of up to 2 weeks, and a hard deadline of 3 weeks. - -| Version | Expected | Actual | Difference | End of Life | -|:-------:|:-----------:|:-----------:|:----------:|:-----------:| -| 0.2.0 | 2022/10/22 | 2022/10/20 | -2 day | 2023/4/20 | -| 0.3.0 | 2023/01/22 | | | | - -[v2.0.0 spec]: https://semver.org/spec/v2.0.0.html -[release guide]: ../dev/releasing.md -[release schedule]: https://github.com/envoyproxy/envoy/blob/main/RELEASES.md#major-release-schedule diff --git a/docs/v0.2.0/releases/v0.2.md b/docs/v0.2.0/releases/v0.2.md deleted file mode 100644 index a0dc0e885de8..000000000000 --- a/docs/v0.2.0/releases/v0.2.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.2 -linktitle: v0.2 -subtitle: Major Update -description: Envoy Gateway v0.2 release announcement. -publishdate: 2022-10-20 -release: v0.2.0 -skip_list: true -aliases: -- /releases/v0.2 -- /releases/v0.2.0 ---- -# Envoy Gateway Release v0.2 - -We are pleased to announce the release of Envoy Gateway v0.2! - -This is the first functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Kubernetes Support - -Run Envoy Gateway in a Kubernetes cluster. Checkout the [quickstart guide][] to get started with Envoy Gateway in a few -simple steps. - -### Gateway API Support - -Envoy Gateway supports Gateway API resources for running and configuring a managed fleet of Envoy proxies. Envoy Gateway -passes Gateway API core [conformance tests][] and supports GatewayClass, Gateway, HTTPRoute, and TLSRoute resources. See -the [documentation][docs] for additional details on how to use Envoy Gateway for your edge proxy and API gateway needs. - -## Envoy Gateway at EnvoyCon NA - -Envoy Gateway will be at [EnvoyCon NA][] this October in Detroit. Don't miss [our talk][] to learn more about the -release and future direction of the project. - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.2.0.yaml -[matrix]: https://gateway.envoyproxy.io/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.2.0 -[conformance tests]: https://gateway-api.sigs.k8s.io/concepts/conformance/?h=conformance -[quickstart guide]: https://gateway.envoyproxy.io/user/quickstart.html -[EnvoyCon NA]: https://events.linuxfoundation.org/envoycon-north-america/program/schedule/ -[our talk]: https://sched.co/1AO5S diff --git a/docs/v0.2.0/roadmap.rst b/docs/v0.2.0/roadmap.rst deleted file mode 100644 index 711b62455031..000000000000 --- a/docs/v0.2.0/roadmap.rst +++ /dev/null @@ -1,9 +0,0 @@ -Roadmap -======= - -Learn about the future direction of Envoy Gateway. - -.. toctree:: - :maxdepth: 2 - - design/roadmap diff --git a/docs/v0.2.0/user_docs.rst b/docs/v0.2.0/user_docs.rst deleted file mode 100644 index 5a2f83e312ee..000000000000 --- a/docs/v0.2.0/user_docs.rst +++ /dev/null @@ -1,15 +0,0 @@ -User Guides -=========== - -Learn how to deploy, use, and operate Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - user/quickstart - user/http-routing - user/http-redirect - user/http-traffic-splitting - user/http-request-headers - user/secure-gateways - user/tls-passthrough diff --git a/docs/v0.3.0/about_docs.rst b/docs/v0.3.0/about_docs.rst deleted file mode 100644 index ecaa28247b91..000000000000 --- a/docs/v0.3.0/about_docs.rst +++ /dev/null @@ -1,9 +0,0 @@ -About the Documentation -======================= - -Learn how to contribute to Envoy Gateway documentation. - -.. toctree:: - :maxdepth: 1 - - dev/DOCS diff --git a/docs/v0.3.0/api_docs.rst b/docs/v0.3.0/api_docs.rst deleted file mode 100644 index b470527c50cc..000000000000 --- a/docs/v0.3.0/api_docs.rst +++ /dev/null @@ -1,10 +0,0 @@ -API Docs -============== - -API reference documentation for Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - Config APIs - Extension APIs diff --git a/docs/v0.3.0/conf.py b/docs/v0.3.0/conf.py deleted file mode 100644 index 76ef5717548f..000000000000 --- a/docs/v0.3.0/conf.py +++ /dev/null @@ -1,43 +0,0 @@ -import os - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.duration', - 'sphinx.ext.autosectionlabel', - 'myst_parser', -] - -autosectionlabel_prefix_document = True -myst_heading_anchors = 3 - -html_theme = 'alabaster' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -version = os.environ["BUILD_VERSION"] -envoyVersion = os.environ["ENVOY_PROXY_VERSION"] -gatewayAPIVersion = os.environ["GATEWAYAPI_VERSION"] - -project = 'Envoy Gateway' -author = 'Envoy Gateway Project Authors' - -copyright = 'Envoy Gateway Project Authors | GitHub | Latest Docs' - -source_suffix = { - '.rst': 'restructuredtext', - '.md': 'markdown', -} - -variables_to_export = [ - "version", - "envoyVersion", - "gatewayAPIVersion", -] - -frozen_locals = dict(locals()) -rst_epilog = '\n'.join(map(lambda x: f".. |{x}| replace:: {frozen_locals[x]}", variables_to_export)) -del frozen_locals diff --git a/docs/v0.3.0/design_docs.rst b/docs/v0.3.0/design_docs.rst deleted file mode 100644 index 29d4e9ff259a..000000000000 --- a/docs/v0.3.0/design_docs.rst +++ /dev/null @@ -1,17 +0,0 @@ -Design Docs -=========== - -Learn about the internal details of Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - design/system-design - design/gatewayapi-support - design/gatewayapi-translator - design/watching - design/config-api - design/tcp-udp-design - design/egctl - design/ratelimit - design/request-authentication diff --git a/docs/v0.3.0/dev_docs.rst b/docs/v0.3.0/dev_docs.rst deleted file mode 100644 index e546e14c1ada..000000000000 --- a/docs/v0.3.0/dev_docs.rst +++ /dev/null @@ -1,15 +0,0 @@ -Developer Docs -============== - -Learn how to contribute to Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - dev/GOALS - dev/CODE_OF_CONDUCT - dev/CODEOWNERS - dev/CONTRIBUTING - dev/README - dev/DOCS - dev/releasing diff --git a/docs/v0.3.0/get_involved.rst b/docs/v0.3.0/get_involved.rst deleted file mode 100644 index f17febd56513..000000000000 --- a/docs/v0.3.0/get_involved.rst +++ /dev/null @@ -1,9 +0,0 @@ -Getting Involved -================ - -We welcome contributions from the community. Please carefully review the -`project goals `_ -and the -`code of conduct `_ -before diving in. - diff --git a/docs/v0.3.0/index.rst b/docs/v0.3.0/index.rst deleted file mode 100644 index b31be95cc017..000000000000 --- a/docs/v0.3.0/index.rst +++ /dev/null @@ -1,33 +0,0 @@ -`Envoy Gateway `_ -==================== - -Release: |version| - -.. image:: https://img.shields.io/badge/slack-join-orange.svg - :target: https://envoyproxy.slack.com/archives/C03E6NHLESV - :alt: Join the Envoy Slack - -Envoy Gateway is an open source project for managing `Envoy Proxy`_ as a standalone or Kubernetes-based application -gateway. `Gateway API`_ resources are used to dynamically provision and configure the managed Envoy Proxies. Whether -you are interested in using or contributing to Envoy Gateway, the following resources will help you get started: - -.. toctree:: - :maxdepth: 1 - - intro/compatibility - user_docs - design_docs - dev_docs - api_docs - releases - roadmap - about_docs - get_involved - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved`. - -.. _Envoy Proxy: https://www.envoyproxy.io/ -.. _Gateway API: https://gateway-api.sigs.k8s.io/ diff --git a/docs/v0.3.0/intro/compatibility.rst b/docs/v0.3.0/intro/compatibility.rst deleted file mode 100644 index bffbd8997dc0..000000000000 --- a/docs/v0.3.0/intro/compatibility.rst +++ /dev/null @@ -1,23 +0,0 @@ -Compatibility Matrix -==================== - -Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs -within a Kubernetes cluster. Not all versions of each of these products -can function together for Envoy Gateway. Supported version combinations -are listed below; **bold** type indicates the versions of the Envoy Proxy -and the Gateway API actually compiled into each Envoy Gateway release. - -+--------------------------+---------------------+---------------------+----------------------------+ -| Envoy Gateway version | Envoy Proxy version | Gateway API version | Kubernetes version | -+--------------------------+---------------------+---------------------+----------------------------+ -| v0.3.0 | **v1.25-latest** | **v0.6.1** | v1.24, v1.25, v1.26 | -+--------------------------+---------------------+---------------------+----------------------------+ -| v0.2.0 | **v1.23-latest** | **v0.5.1** | v1.24 | -+--------------------------+---------------------+---------------------+----------------------------+ -| latest | **dev-latest** | **v0.6.1** | v1.24, v1.25, v1.26 | -+--------------------------+---------------------+---------------------+----------------------------+ - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved<../get_involved>`. diff --git a/docs/v0.3.0/releases.rst b/docs/v0.3.0/releases.rst deleted file mode 100644 index 20d05b25ac81..000000000000 --- a/docs/v0.3.0/releases.rst +++ /dev/null @@ -1,11 +0,0 @@ -Releases -======== - -Learn more about Envoy Gateway releases. - -.. toctree:: - :maxdepth: 1 - - releases/README - releases/v0.2 - releases/v0.3 diff --git a/docs/v0.3.0/releases/README.md b/docs/v0.3.0/releases/README.md deleted file mode 100644 index 3f6df9e7ea6a..000000000000 --- a/docs/v0.3.0/releases/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Release Details - -This document provides details for Envoy Gateway releases. Envoy Gateway follows the Semantic Versioning [v2.0.0 spec][] -for release versioning. Since Envoy Gateway is a new project, minor releases are the only defined releases. Envoy -Gateway maintainers will establish additional release details, e.g. patch releases, at a future date. - -## Stable Releases - -Stable releases of Envoy Gateway include: - -* Minor Releases- A new release branch and corresponding tag are created from the `main` branch. A minor release - is supported for 6 months following the release date. As the project matures, Envoy Gateway maintainers will reassess - the support timeframe. - -Minor releases happen quarterly and follow the schedule below. - -## Release Management - -Minor releases are handled by a designated Envoy Gateway maintainer. This maintainer is considered the Release Manager -for the release. The details for creating a release are outlined in the [release guide][]. The Release Manager is -responsible for coordinating the overall release. This includes identifying issues to be fixed in the release, -communications with the Envoy Gateway community, and the mechanics of the release. - -| Quarter | Release Manager | -|:-------:|:--------------------------------------------------------------:| -| 2022 Q4 | Daneyon Hansen ([danehans](https://github.com/danehans)) | -| 2023 Q1 | Xunzhuo Liu ([Xunzhuo](https://github.com/Xunzhuo)) | - -## Release Schedule - -In order to align with the Envoy Proxy [release schedule][], Envoy Gateway releases are produced on a fixed schedule -(the 22nd day of each quarter), with an acceptable delay of up to 2 weeks, and a hard deadline of 3 weeks. - -| Version | Expected | Actual | Difference | End of Life | -|:-------:|:-----------:|:-----------:|:----------:|:-----------:| -| 0.2.0 | 2022/10/22 | 2022/10/20 | -2 day | 2023/4/20 | -| 0.3.0 | 2023/01/22 | 2023/02/09 | +17 day | 2023/08/09 | - -[v2.0.0 spec]: https://semver.org/spec/v2.0.0.html -[release guide]: ../dev/releasing.md -[release schedule]: https://github.com/envoyproxy/envoy/blob/main/RELEASES.md#major-release-schedule diff --git a/docs/v0.3.0/roadmap.rst b/docs/v0.3.0/roadmap.rst deleted file mode 100644 index 711b62455031..000000000000 --- a/docs/v0.3.0/roadmap.rst +++ /dev/null @@ -1,9 +0,0 @@ -Roadmap -======= - -Learn about the future direction of Envoy Gateway. - -.. toctree:: - :maxdepth: 2 - - design/roadmap diff --git a/docs/v0.3.0/user_docs.rst b/docs/v0.3.0/user_docs.rst deleted file mode 100644 index 3669c0613a0a..000000000000 --- a/docs/v0.3.0/user_docs.rst +++ /dev/null @@ -1,22 +0,0 @@ -User Guides -=========== - -Learn how to deploy, use, and operate Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - user/quickstart - user/http-routing - user/http-redirect - user/http-urlrewrite - user/http-traffic-splitting - user/http-request-headers - user/http-response-headers - user/secure-gateways - user/tls-passthrough - user/tcp-routing - user/udp-routing - user/grpc-routing - user/authn - user/rate-limit diff --git a/docs/v0.4.0/about_docs.rst b/docs/v0.4.0/about_docs.rst deleted file mode 100644 index ecaa28247b91..000000000000 --- a/docs/v0.4.0/about_docs.rst +++ /dev/null @@ -1,9 +0,0 @@ -About the Documentation -======================= - -Learn how to contribute to Envoy Gateway documentation. - -.. toctree:: - :maxdepth: 1 - - dev/DOCS diff --git a/docs/v0.4.0/api_docs.rst b/docs/v0.4.0/api_docs.rst deleted file mode 100644 index b470527c50cc..000000000000 --- a/docs/v0.4.0/api_docs.rst +++ /dev/null @@ -1,10 +0,0 @@ -API Docs -============== - -API reference documentation for Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - Config APIs - Extension APIs diff --git a/docs/v0.4.0/conf.py b/docs/v0.4.0/conf.py deleted file mode 100644 index 76ef5717548f..000000000000 --- a/docs/v0.4.0/conf.py +++ /dev/null @@ -1,43 +0,0 @@ -import os - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.duration', - 'sphinx.ext.autosectionlabel', - 'myst_parser', -] - -autosectionlabel_prefix_document = True -myst_heading_anchors = 3 - -html_theme = 'alabaster' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -version = os.environ["BUILD_VERSION"] -envoyVersion = os.environ["ENVOY_PROXY_VERSION"] -gatewayAPIVersion = os.environ["GATEWAYAPI_VERSION"] - -project = 'Envoy Gateway' -author = 'Envoy Gateway Project Authors' - -copyright = 'Envoy Gateway Project Authors | GitHub | Latest Docs' - -source_suffix = { - '.rst': 'restructuredtext', - '.md': 'markdown', -} - -variables_to_export = [ - "version", - "envoyVersion", - "gatewayAPIVersion", -] - -frozen_locals = dict(locals()) -rst_epilog = '\n'.join(map(lambda x: f".. |{x}| replace:: {frozen_locals[x]}", variables_to_export)) -del frozen_locals diff --git a/docs/v0.4.0/design_docs.rst b/docs/v0.4.0/design_docs.rst deleted file mode 100644 index f1ad756e21bd..000000000000 --- a/docs/v0.4.0/design_docs.rst +++ /dev/null @@ -1,18 +0,0 @@ -Design Docs -=========== - -Learn about the internal details of Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - design/system-design - design/gatewayapi-translator - design/watching - design/config-api - design/tcp-udp-design - design/egctl - design/rate-limit - design/request-authentication - design/bootstrap - design/extending-envoy-gateway diff --git a/docs/v0.4.0/dev_docs.rst b/docs/v0.4.0/dev_docs.rst deleted file mode 100644 index e546e14c1ada..000000000000 --- a/docs/v0.4.0/dev_docs.rst +++ /dev/null @@ -1,15 +0,0 @@ -Developer Docs -============== - -Learn how to contribute to Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - dev/GOALS - dev/CODE_OF_CONDUCT - dev/CODEOWNERS - dev/CONTRIBUTING - dev/README - dev/DOCS - dev/releasing diff --git a/docs/v0.4.0/get_involved.rst b/docs/v0.4.0/get_involved.rst deleted file mode 100644 index f17febd56513..000000000000 --- a/docs/v0.4.0/get_involved.rst +++ /dev/null @@ -1,9 +0,0 @@ -Getting Involved -================ - -We welcome contributions from the community. Please carefully review the -`project goals `_ -and the -`code of conduct `_ -before diving in. - diff --git a/docs/v0.4.0/index.rst b/docs/v0.4.0/index.rst deleted file mode 100644 index dbe107b61d8b..000000000000 --- a/docs/v0.4.0/index.rst +++ /dev/null @@ -1,34 +0,0 @@ -`Envoy Gateway `_ -==================== - -Release: |version| - -.. image:: https://img.shields.io/badge/slack-join-orange.svg - :target: https://envoyproxy.slack.com/archives/C03E6NHLESV - :alt: Join the Envoy Slack - -Envoy Gateway is an open source project for managing `Envoy Proxy`_ as a standalone or Kubernetes-based application -gateway. `Gateway API`_ resources are used to dynamically provision and configure the managed Envoy Proxies. Whether -you are interested in using or contributing to Envoy Gateway, the following resources will help you get started: - -.. toctree:: - :maxdepth: 1 - - intro/compatibility - user_docs - design_docs - dev_docs - api_docs - releases - roadmap - about_docs - get_involved - presentations - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved`. - -.. _Envoy Proxy: https://www.envoyproxy.io/ -.. _Gateway API: https://gateway-api.sigs.k8s.io/ diff --git a/docs/v0.4.0/intro/compatibility.rst b/docs/v0.4.0/intro/compatibility.rst deleted file mode 100644 index 68722f8a762d..000000000000 --- a/docs/v0.4.0/intro/compatibility.rst +++ /dev/null @@ -1,25 +0,0 @@ -Compatibility Matrix -==================== - -Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs -within a Kubernetes cluster. Not all versions of each of these products -can function together for Envoy Gateway. Supported version combinations -are listed below; **bold** type indicates the versions of the Envoy Proxy -and the Gateway API actually compiled into each Envoy Gateway release. - -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| Envoy Gateway version | Envoy Proxy version | Rate Limit version | Gateway API version | Kubernetes version | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.4.0 | **v1.26-latest** | **542a6047** | **v0.6.2** | v1.25, v1.26, v1.27 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.3.0 | **v1.25-latest** | **f28024e3** | **v0.6.1** | v1.24, v1.25, v1.26 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.2.0 | **v1.23-latest** | | **v0.5.1** | v1.24 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| latest | **dev-latest** | **master** | **v0.6.2** | v1.25, v1.26, v1.27 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved<../get_involved>`. diff --git a/docs/v0.4.0/presentations.md b/docs/v0.4.0/presentations.md deleted file mode 100644 index bc681b8c2686..000000000000 --- a/docs/v0.4.0/presentations.md +++ /dev/null @@ -1,12 +0,0 @@ -# Presentations - -This page contains a list of presentations about the Envoy Proxy project. - -| Conference | Title | Speaker | Recording | Slides | -|-----------------|------------------------------|------------------------------|--------------------------------------------------------|--------| -| KubeCon NA 2022 | Envoy Gateway Project Update | Daneyon Hansen & Alice Wasko | [YouTube](https://www.youtube.com/watch?v=3MUOZc8XNCc) | [Slides](https://static.sched.com/hosted_files/envoyconna22/2f/Envoy_Gateway_Project_Update_EnvoyCon_NA_2022.pptx) | -| KubeCon EU 2023 | Envoy Gateway Project Update | Alice Wasko | [YouTube](https://www.youtube.com/watch?v=4vnJxt9sVho) | [Slides](https://static.sched.com/hosted_files/kccnceu2023/58/Kubecon_EU_2023_Envoy_Gateway_Update.pptx) | - - - - diff --git a/docs/v0.4.0/releases.rst b/docs/v0.4.0/releases.rst deleted file mode 100644 index 42ce2b7d7b81..000000000000 --- a/docs/v0.4.0/releases.rst +++ /dev/null @@ -1,12 +0,0 @@ -Releases -======== - -Learn more about Envoy Gateway releases. - -.. toctree:: - :maxdepth: 1 - - releases/README - releases/v0.2 - releases/v0.3 - releases/v0.4 \ No newline at end of file diff --git a/docs/v0.4.0/releases/README.md b/docs/v0.4.0/releases/README.md deleted file mode 100644 index 2ca374ca69d8..000000000000 --- a/docs/v0.4.0/releases/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# Release Details - -This document provides details for Envoy Gateway releases. Envoy Gateway follows the Semantic Versioning [v2.0.0 spec][] -for release versioning. Since Envoy Gateway is a new project, minor releases are the only defined releases. Envoy -Gateway maintainers will establish additional release details, e.g. patch releases, at a future date. - -## Stable Releases - -Stable releases of Envoy Gateway include: - -* Minor Releases- A new release branch and corresponding tag are created from the `main` branch. A minor release - is supported for 6 months following the release date. As the project matures, Envoy Gateway maintainers will reassess - the support timeframe. - -Minor releases happen quarterly and follow the schedule below. - -## Release Management - -Minor releases are handled by a designated Envoy Gateway maintainer. This maintainer is considered the Release Manager -for the release. The details for creating a release are outlined in the [release guide][]. The Release Manager is -responsible for coordinating the overall release. This includes identifying issues to be fixed in the release, -communications with the Envoy Gateway community, and the mechanics of the release. - -| Quarter | Release Manager | -|:-------:|:--------------------------------------------------------------:| -| 2022 Q4 | Daneyon Hansen ([danehans](https://github.com/danehans)) | -| 2023 Q1 | Xunzhuo Liu ([Xunzhuo](https://github.com/Xunzhuo)) | -| 2023 Q2 | Alice Wasko ([AliceProxy](https://github.com/AliceProxy)) | - -## Release Schedule - -In order to align with the Envoy Proxy [release schedule][], Envoy Gateway releases are produced on a fixed schedule -(the 22nd day of each quarter), with an acceptable delay of up to 2 weeks, and a hard deadline of 3 weeks. - -| Version | Expected | Actual | Difference | End of Life | -|:-------:|:-----------:|:-----------:|:----------:|:-----------:| -| 0.2.0 | 2022/10/22 | 2022/10/20 | -2 day | 2023/4/20 | -| 0.3.0 | 2023/01/22 | 2023/02/09 | +17 day | 2023/08/09 | -| 0.3.0 | 2023/04/22 | 2023/04/24 | +2 day | 2023/10/24 | - -[v2.0.0 spec]: https://semver.org/spec/v2.0.0.html -[release guide]: ../dev/releasing.md -[release schedule]: https://github.com/envoyproxy/envoy/blob/main/RELEASES.md#major-release-schedule diff --git a/docs/v0.4.0/releases/v0.2.md b/docs/v0.4.0/releases/v0.2.md deleted file mode 100644 index a0dc0e885de8..000000000000 --- a/docs/v0.4.0/releases/v0.2.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.2 -linktitle: v0.2 -subtitle: Major Update -description: Envoy Gateway v0.2 release announcement. -publishdate: 2022-10-20 -release: v0.2.0 -skip_list: true -aliases: -- /releases/v0.2 -- /releases/v0.2.0 ---- -# Envoy Gateway Release v0.2 - -We are pleased to announce the release of Envoy Gateway v0.2! - -This is the first functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Kubernetes Support - -Run Envoy Gateway in a Kubernetes cluster. Checkout the [quickstart guide][] to get started with Envoy Gateway in a few -simple steps. - -### Gateway API Support - -Envoy Gateway supports Gateway API resources for running and configuring a managed fleet of Envoy proxies. Envoy Gateway -passes Gateway API core [conformance tests][] and supports GatewayClass, Gateway, HTTPRoute, and TLSRoute resources. See -the [documentation][docs] for additional details on how to use Envoy Gateway for your edge proxy and API gateway needs. - -## Envoy Gateway at EnvoyCon NA - -Envoy Gateway will be at [EnvoyCon NA][] this October in Detroit. Don't miss [our talk][] to learn more about the -release and future direction of the project. - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.2.0.yaml -[matrix]: https://gateway.envoyproxy.io/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.2.0 -[conformance tests]: https://gateway-api.sigs.k8s.io/concepts/conformance/?h=conformance -[quickstart guide]: https://gateway.envoyproxy.io/user/quickstart.html -[EnvoyCon NA]: https://events.linuxfoundation.org/envoycon-north-america/program/schedule/ -[our talk]: https://sched.co/1AO5S diff --git a/docs/v0.4.0/releases/v0.3.md b/docs/v0.4.0/releases/v0.3.md deleted file mode 100644 index 96d6d6d49ebe..000000000000 --- a/docs/v0.4.0/releases/v0.3.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.3 -linktitle: v0.3 -subtitle: Major Update -description: Envoy Gateway v0.3 release announcement. -publishdate: 2023-02-09 -release: v0.3.0 -skip_list: true -aliases: -- /releases/v0.3 -- /releases/v0.3.0 ---- -# Envoy Gateway Release v0.3 - -We are pleased to announce the release of Envoy Gateway v0.3! - -This is the second functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Add Support for extended Gateway API fields - -+ Added Support for HTTPRoute URLRewrite Filter -+ Added Support for HTTPRoute RequestMirror Filter -+ Added Support for HTTPRoute ResponseHeaderModifier Filter - -### Add Support for experimental Gateway APIs - -+ Added Support for the TCPRoute API -+ Added Support for the UDPRoute API -+ Added Support for the GRPCRoute API - -### Add Support for Rate Limiting - -+ Added Support for Global Rate Limiting - -### Add Support for Authentication - -+ Added Support for Request Authentication - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.3.0.yaml -[matrix]: https://gateway.envoyproxy.io/v0.3.0/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/v0.3.0/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.3.0 diff --git a/docs/v0.4.0/roadmap.rst b/docs/v0.4.0/roadmap.rst deleted file mode 100644 index 711b62455031..000000000000 --- a/docs/v0.4.0/roadmap.rst +++ /dev/null @@ -1,9 +0,0 @@ -Roadmap -======= - -Learn about the future direction of Envoy Gateway. - -.. toctree:: - :maxdepth: 2 - - design/roadmap diff --git a/docs/v0.4.0/user_docs.rst b/docs/v0.4.0/user_docs.rst deleted file mode 100644 index c7d56731696f..000000000000 --- a/docs/v0.4.0/user_docs.rst +++ /dev/null @@ -1,26 +0,0 @@ -User Guides -=========== - -Learn how to deploy, use, and operate Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - user/quickstart - user/http-routing - user/http-redirect - user/http-urlrewrite - user/http-traffic-splitting - user/http-request-headers - user/http-response-headers - user/secure-gateways - user/tls-passthrough - user/tcp-routing - user/udp-routing - user/grpc-routing - user/authn - user/rate-limit - user/egctl - user/customize-envoyproxy - user/deployment-mode - user/gatewayapi-support diff --git a/docs/v0.5.0/about_docs.rst b/docs/v0.5.0/about_docs.rst deleted file mode 100644 index ecaa28247b91..000000000000 --- a/docs/v0.5.0/about_docs.rst +++ /dev/null @@ -1,9 +0,0 @@ -About the Documentation -======================= - -Learn how to contribute to Envoy Gateway documentation. - -.. toctree:: - :maxdepth: 1 - - dev/DOCS diff --git a/docs/v0.5.0/api_docs.rst b/docs/v0.5.0/api_docs.rst deleted file mode 100644 index b470527c50cc..000000000000 --- a/docs/v0.5.0/api_docs.rst +++ /dev/null @@ -1,10 +0,0 @@ -API Docs -============== - -API reference documentation for Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - Config APIs - Extension APIs diff --git a/docs/v0.5.0/conf.py b/docs/v0.5.0/conf.py deleted file mode 100644 index 76ef5717548f..000000000000 --- a/docs/v0.5.0/conf.py +++ /dev/null @@ -1,43 +0,0 @@ -import os - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.duration', - 'sphinx.ext.autosectionlabel', - 'myst_parser', -] - -autosectionlabel_prefix_document = True -myst_heading_anchors = 3 - -html_theme = 'alabaster' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -version = os.environ["BUILD_VERSION"] -envoyVersion = os.environ["ENVOY_PROXY_VERSION"] -gatewayAPIVersion = os.environ["GATEWAYAPI_VERSION"] - -project = 'Envoy Gateway' -author = 'Envoy Gateway Project Authors' - -copyright = 'Envoy Gateway Project Authors | GitHub | Latest Docs' - -source_suffix = { - '.rst': 'restructuredtext', - '.md': 'markdown', -} - -variables_to_export = [ - "version", - "envoyVersion", - "gatewayAPIVersion", -] - -frozen_locals = dict(locals()) -rst_epilog = '\n'.join(map(lambda x: f".. |{x}| replace:: {frozen_locals[x]}", variables_to_export)) -del frozen_locals diff --git a/docs/v0.5.0/design/gatewayapi-translator.md b/docs/v0.5.0/design/gatewayapi-translator.md deleted file mode 100644 index 3cf0da94f5aa..000000000000 --- a/docs/v0.5.0/design/gatewayapi-translator.md +++ /dev/null @@ -1,250 +0,0 @@ -# Gateway API Translator Design - -The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate -Representation (IR). - -## Assumptions - -Initially target core conformance features only, to be followed by extended conformance features. - -## Inputs and Outputs - -The main inputs to the Gateway API translator are: - -- GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources. - -__Note:__ ReferenceGrant is not fully implemented as of v0.2. - -The outputs of the Gateway API translator are: - -- Xds and Infra Internal Representations (IRs). -- Status updates for GatewayClass, Gateways, HTTPRoutes - -## Listener Compatibility - -Envoy Gateway follows Gateway API listener compatibility spec: -> Each listener in a Gateway must have a unique combination of Hostname, Port, and Protocol. An implementation MAY group -> Listeners by Port and then collapse each group of Listeners into a single Listener if the implementation determines -> that the Listeners in the group are “compatible”. - -__Note:__ Envoy Gateway does not collapse listeners across multiple Gateways. - -### Listener Compatibility Examples - -#### Example 1: Gateway with compatible Listeners (same port & protocol, different hostnames) - -```yaml -kind: Gateway -apiVersion: gateway.networking.k8s.io/v1beta1 -metadata: - name: gateway-1 - namespace: envoy-gateway -spec: - gatewayClassName: envoy-gateway - listeners: - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All - hostname: "*.envoygateway.io" - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All - hostname: whales.envoygateway.io -``` - -#### Example 2: Gateway with compatible Listeners (same port & protocol, one hostname specified, one not) - -```yaml -kind: Gateway -apiVersion: gateway.networking.k8s.io/v1beta1 -metadata: - name: gateway-1 - namespace: envoy-gateway -spec: - gatewayClassName: envoy-gateway - listeners: - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All - hostname: "*.envoygateway.io" - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All -``` - -#### Example 3: Gateway with incompatible Listeners (same port, protocol and hostname) - -```yaml -kind: Gateway -apiVersion: gateway.networking.k8s.io/v1beta1 -metadata: - name: gateway-1 - namespace: envoy-gateway -spec: - gatewayClassName: envoy-gateway - listeners: - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All - hostname: whales.envoygateway.io - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All - hostname: whales.envoygateway.io -``` - -#### Example 4: Gateway with incompatible Listeners (neither specify a hostname) - -```yaml -kind: Gateway -apiVersion: gateway.networking.k8s.io/v1beta1 -metadata: - name: gateway-1 - namespace: envoy-gateway -spec: - gatewayClassName: envoy-gateway - listeners: - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All - - name: http - protocol: HTTP - port: 80 - allowedRoutes: - namespaces: - from: All -``` - -## Computing Status - -Gateway API specifies a rich set of status fields & conditions for each resource. To achieve conformance, Envoy Gateway -must compute the appropriate status fields and conditions for managed resources. - -Status is computed and set for: - -- The managed GatewayClass (`gatewayclass.status.conditions`). -- Each managed Gateway, based on its Listeners' status (`gateway.status.conditions`). For the Kubernetes provider, the - Envoy Deployment and Service status are also included to calculate Gateway status. -- Listeners for each Gateway (`gateway.status.listeners`). -- The ParentRef for each Route (`route.status.parents`). - -The Gateway API translator is responsible for calculating status conditions while translating Gateway API resources to -the IR and publishing status over the [message bus][]. The Status Manager subscribes to these status messages and -updates the resource status using the configured provider. For example, the Status Manager uses a Kubernetes client to -update resource status on the Kubernetes API server. - -## Outline - -The following roughly outlines the translation process. Each step may produce (1) IR; and (2) status updates on Gateway -API resources. - -1. Process Gateway Listeners - - Validate unique hostnames, ports, and protocols. - - Validate and compute supported kinds. - - Validate allowed namespaces (validate selector if specified). - - Validate TLS fields if specified, including resolving referenced Secrets. - -2. Process HTTPRoutes - - foreach route rule: - - compute matches - - [core] path exact, path prefix - - [core] header exact - - [extended] query param exact - - [extended] HTTP method - - compute filters - - [core] request header modifier (set/add/remove) - - [core] request redirect (hostname, statuscode) - - [extended] request mirror - - compute backends - - [core] Kubernetes services - - foreach route parent ref: - - get matching listeners (check Gateway, section name, listener validation status, listener allowed routes, hostname intersection) - - foreach matching listener: - - foreach hostname intersection with route: - - add each computed route rule to host - -## Context Structs - -To help store, access and manipulate information as it's processed during the translation process, a set of context -structs are used. These structs wrap a given Gateway API type, and add additional fields and methods to support -processing. - -`GatewayContext` wraps a Gateway and provides helper methods for setting conditions, accessing Listeners, etc. - -```go -type GatewayContext struct { - // The managed Gateway - *v1beta1.Gateway - - // A list of Gateway ListenerContexts. - listeners []*ListenerContext -} -``` - -`ListenerContext` wraps a Listener and provides helper methods for setting conditions and other status information on -the associated Gateway. - -```go -type ListenerContext struct { - // The Gateway listener. - *v1beta1.Listener - - // The Gateway this Listener belongs to. - gateway *v1beta1.Gateway - - // An index used for managing this listener in the list of Gateway listeners. - listenerStatusIdx int - - // Only Routes in namespaces selected by the selector may be attached - // to the Gateway this listener belongs to. - namespaceSelector labels.Selector - - // The TLS Secret for this Listener, if applicable. - tlsSecret *v1.Secret -} -``` - -`RouteContext` represents a generic Route object (HTTPRoute, TLSRoute, etc.) that can reference Gateway objects. - -```go -type RouteContext interface { - client.Object - - // GetRouteType returns the Kind of the Route object, HTTPRoute, - // TLSRoute, TCPRoute, UDPRoute etc. - GetRouteType() string - - // GetHostnames returns the hosts targeted by the Route object. - GetHostnames() []string - - // GetParentReferences returns the ParentReference of the Route object. - GetParentReferences() []v1beta1.ParentReference - - // GetRouteParentContext returns RouteParentContext by using the Route - // objects' ParentReference. - GetRouteParentContext(forParentRef v1beta1.ParentReference) *RouteParentContext -} -``` - -[message bus]: watching.md diff --git a/docs/v0.5.0/design/watching.md b/docs/v0.5.0/design/watching.md deleted file mode 100644 index b8477a30e2d6..000000000000 --- a/docs/v0.5.0/design/watching.md +++ /dev/null @@ -1,117 +0,0 @@ -# Watching Components Design - -Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch -external resources, and "publish" what they see for other components to consume; others watch what another publishes and -act on it (such as the resource translator watches what the providers publish, and then publishes its own results that -are watched by another component). Some of these internally published results are consumed by multiple components. - -To facilitate this communication use the [watchable][] library. The `watchable.Map` type is very similar to the -standard library's `sync.Map` type, but supports a `.Subscribe` (and `.SubscribeSubset`) method that promotes a pub/sub -pattern. - -## Pub - -Many of the things we communicate around are naturally named, either by a bare "name" string or by a "name"/"namespace" -tuple. And because `watchable.Map` is typed, it makes sense to have one map for each type of thing (very similar to if -we were using native Go `map`s). For example, a struct that might be written to by the Kubernetes provider, and read by -the IR translator: - - ```go - type ResourceTable struct { - // gateway classes are cluster-scoped; no namespace - GatewayClasses watchable.Map[string, *gwapiv1b1.GatewayClass] - - // gateways are namespace-scoped, so use a k8s.io/apimachinery/pkg/types.NamespacedName as the map key. - Gateways watchable.Map[types.NamespacedName, *gwapiv1b1.Gateway] - - HTTPRoutes watchable.Map[types.NamespacedName, *gwapiv1b1.HTTPRoute] - } - ``` - -The Kubernetes provider updates the table by calling `table.Thing.Store(name, val)` and `table.Thing.Delete(name)`; -updating a map key with a value that is deep-equal (usually `reflect.DeepEqual`, but you can implement your own `.Equal` -method) the current value is a no-op; it won't trigger an event for subscribers. This is handy so that the publisher -doesn't have as much state to keep track of; it doesn't need to know "did I already publish this thing", it can just -`.Store` its data and `watchable` will do the right thing. - -## Sub - -Meanwhile, the translator and other interested components subscribe to it with `table.Thing.Subscribe` (or -`table.Thing.SubscribeSubset` if they only care about a few "Thing"s). So the translator goroutine might look like: - - ```go - func(ctx context.Context) error { - for snapshot := range k8sTable.HTTPRoutes.Subscribe(ctx) { - fullState := irInput{ - GatewayClasses: k8sTable.GatewayClasses.LoadAll(), - Gateways: k8sTable.Gateways.LoadAll(), - HTTPRoutes: snapshot.State, - } - translate(irInput) - } - } - ``` - -Or, to watch multiple maps in the same loop: - - ```go - func worker(ctx context.Context) error { - classCh := k8sTable.GatewayClasses.Subscribe(ctx) - gwCh := k8sTable.Gateways.Subscribe(ctx) - routeCh := k8sTable.HTTPRoutes.Subscribe(ctx) - for ctx.Err() == nil { - var arg irInput - select { - case snapshot := <-classCh: - arg.GatewayClasses = snapshot.State - case snapshot := <-gwCh: - arg.Gateways = snapshot.State - case snapshot := <-routeCh: - arg.Routes = snapshot.State - } - if arg.GateWayClasses == nil { - arg.GatewayClasses = k8sTable.GateWayClasses.LoadAll() - } - if arg.GateWays == nil { - arg.Gateways = k8sTable.GateWays.LoadAll() - } - if arg.HTTPRoutes == nil { - arg.HTTPRoutes = k8sTable.HTTPRoutes.LoadAll() - } - translate(irInput) - } - } - ``` - -From the updates it gets from `.Subscribe`, it can get a full view of the map being subscribed to via `snapshot.State`; -but it must read the other maps explicitly. Like `sync.Map`, `watchable.Map`s are thread-safe; while `.Subscribe` is a -handy way to know when to run, `.Load` and friends can be used without subscribing. - -There can be any number of subscribers. For that matter, there can be any number of publishers `.Store`ing things, but -it's probably wise to just have one publisher for each map. - -The channel returned from `.Subscribe` **is immediately readable** with a snapshot of the map as it existed when -`.Subscribe` was called; and becomes readable again whenever `.Store` or `.Delete` mutates the map. If multiple -mutations happen between reads (or if mutations happen between `.Subscribe` and the first read), they are coalesced in -to one snapshot to be read; the `snapshot.State` is the most-recent full state, and `snapshot.Updates` is a listing of -each of the mutations that cause this snapshot to be different than the last-read one. This way subscribers don't need -to worry about a backlog accumulating if they can't keep up with the rate of changes from the publisher. - -If the map contains anything before `.Subscribe` is called, that very first read won't include `snapshot.Updates` -entries for those pre-existing items; if you are working with `snapshot.Update` instead of `snapshot.State`, then you -must add special handling for your first read. We have a utility function `./internal/message.HandleSubscription` to -help with this. - -## Other Notes - -The common pattern will likely be that the entrypoint that launches the goroutines for each component instantiates the -map, and passes them to the appropriate publishers and subscribers; same as if they were communicating via a dumb -`chan`. - -A limitation of `watchable.Map` is that in order to ensure safety between goroutines, it does require that value types -be deep-copiable; either by having a `DeepCopy` method, being a `proto.Message`, or by containing no reference types and -so can be deep-copied by naive assignment. Fortunately, we're using `controller-gen` anyway, and `controller-gen` can -generate `DeepCopy` methods for us: just stick a `// +k8s:deepcopy-gen=true` on the types that you want it to generate -methods for. - -[watchable]: https://pkg.go.dev/github.com/telepresenceio/watchable diff --git a/docs/v0.5.0/design_docs.rst b/docs/v0.5.0/design_docs.rst deleted file mode 100644 index a0b82b578f88..000000000000 --- a/docs/v0.5.0/design_docs.rst +++ /dev/null @@ -1,20 +0,0 @@ -Design Docs -=========== - -Learn about the internal details of Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - design/system-design - design/gatewayapi-translator - design/watching - design/config-api - design/tcp-udp-design - design/egctl - design/rate-limit - design/request-authentication - design/bootstrap - design/extending-envoy-gateway - design/local-envoy-gateway - design/accesslog diff --git a/docs/v0.5.0/dev/CODEOWNERS.md b/docs/v0.5.0/dev/CODEOWNERS.md deleted file mode 100644 index d4229b6b23f2..000000000000 --- a/docs/v0.5.0/dev/CODEOWNERS.md +++ /dev/null @@ -1,15 +0,0 @@ -# Maintainers - -## The following maintainers, listed in alphabetical order, own everything - -- @AliceProxy -- @arkodg -- @skriss -- @Xunzhuo -- @youngnick -- @zirain - -## Emeritus Maintainers - -- @danehans -- @alexgervais diff --git a/docs/v0.5.0/dev/CODE_OF_CONDUCT.md b/docs/v0.5.0/dev/CODE_OF_CONDUCT.md deleted file mode 100644 index a0a295770f31..000000000000 --- a/docs/v0.5.0/dev/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,3 +0,0 @@ -# Community Code of Conduct - -Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.5.0/dev/DOCS.md b/docs/v0.5.0/dev/DOCS.md deleted file mode 100644 index fb49b9d55dda..000000000000 --- a/docs/v0.5.0/dev/DOCS.md +++ /dev/null @@ -1,63 +0,0 @@ -# Working on the Envoy Gateway Docs - -The documentation for the Envoy Gateway lives in the `docs/` directory. Any -individual document can be written using either [reStructuredText] or [Markdown], -you can choose the format that you're most comfortable with when working on the -documentation. - -## Documentation Structure - -We supported the versioned Docs now, the directory name under docs represents -the version of docs. The root of the latest site is in `docs/latest/index.rst`. -This is probably where to start if you're trying to understand how things fit together. - -Note that the new contents should be added to `docs/latest` and will be cut off at -the next release. The contents under `docs/v0.2.0` are auto-generated, -and usually do not need to make changes to them, unless if you find the current release pages have -some incorrect contents. If so, you should send a PR to update contents both of `docs/latest` -and `docs/v0.2.0`. - -It's important to note that a given document _must_ have a reference in some -`.. toctree::` section for the document to be reachable. Not everything needs -to be in `docs/index.rst`'s `toctree` though. - -You can access the website which represents the current release in default, -and you can access the website which contains the latest version changes in -[Here][latest-website] or at the footer of the pages. - -## Documentation Workflow - -To work with the docs, just edit reStructuredText or Markdown files in `docs`, -then run - -```bash -make docs -``` - -This will create `docs/html` with the built HTML pages. You can view the docs -either simply by pointing a web browser at the `file://` path to your -`docs/html`, or by firing up a static webserver from that directory, e.g. - -``` shell -make docs-serve -``` - -If you want to generate a new release version of the docs, like `v0.3.0`, then run - -```bash -make docs-release TAG=v0.3.0 -``` - -This will update the VERSION file at the project root, which records current release version, -and it will be used in the pages version context and binary version output. Also, this will generate -new dir `docs/v0.3.0`, which contains docs at v0.3.0 and updates artifact links to `v0.3.0` -in all files under `docs/v0.3.0/user`, like `quickstart.md`, `http-routing.md` and etc. - -## Publishing Docs - -Whenever docs are pushed to `main`, CI will publish the built docs to GitHub -Pages. For more details, see `.github/workflows/docs.yaml`. - -[reStructuredText]: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html -[Markdown]: https://daringfireball.net/projects/markdown/syntax -[latest-website]: https://gateway.envoyproxy.io/latest diff --git a/docs/v0.5.0/dev_docs.rst b/docs/v0.5.0/dev_docs.rst deleted file mode 100644 index e546e14c1ada..000000000000 --- a/docs/v0.5.0/dev_docs.rst +++ /dev/null @@ -1,15 +0,0 @@ -Developer Docs -============== - -Learn how to contribute to Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - dev/GOALS - dev/CODE_OF_CONDUCT - dev/CODEOWNERS - dev/CONTRIBUTING - dev/README - dev/DOCS - dev/releasing diff --git a/docs/v0.5.0/get_involved.rst b/docs/v0.5.0/get_involved.rst deleted file mode 100644 index f17febd56513..000000000000 --- a/docs/v0.5.0/get_involved.rst +++ /dev/null @@ -1,9 +0,0 @@ -Getting Involved -================ - -We welcome contributions from the community. Please carefully review the -`project goals `_ -and the -`code of conduct `_ -before diving in. - diff --git a/docs/v0.5.0/helm.rst b/docs/v0.5.0/helm.rst deleted file mode 100644 index 853e26a141b8..000000000000 --- a/docs/v0.5.0/helm.rst +++ /dev/null @@ -1,9 +0,0 @@ -Helm Guides -=========== - -Learn how to deploy, use the helm chart for Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - helm/api.md \ No newline at end of file diff --git a/docs/v0.5.0/index.rst b/docs/v0.5.0/index.rst deleted file mode 100644 index 81957cef394c..000000000000 --- a/docs/v0.5.0/index.rst +++ /dev/null @@ -1,35 +0,0 @@ -`Envoy Gateway `_ -==================== - -Release: |version| - -.. image:: https://img.shields.io/badge/slack-join-orange.svg - :target: https://envoyproxy.slack.com/archives/C03E6NHLESV - :alt: Join the Envoy Slack - -Envoy Gateway is an open source project for managing `Envoy Proxy`_ as a standalone or Kubernetes-based application -gateway. `Gateway API`_ resources are used to dynamically provision and configure the managed Envoy Proxies. Whether -you are interested in using or contributing to Envoy Gateway, the following resources will help you get started: - -.. toctree:: - :maxdepth: 1 - - intro/compatibility - user_docs - design_docs - dev_docs - api_docs - helm - releases - roadmap - about_docs - get_involved - presentations - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved`. - -.. _Envoy Proxy: https://www.envoyproxy.io/ -.. _Gateway API: https://gateway-api.sigs.k8s.io/ diff --git a/docs/v0.5.0/intro/compatibility.rst b/docs/v0.5.0/intro/compatibility.rst deleted file mode 100644 index 31bdd9649278..000000000000 --- a/docs/v0.5.0/intro/compatibility.rst +++ /dev/null @@ -1,27 +0,0 @@ -Compatibility Matrix -==================== - -Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs -within a Kubernetes cluster. Not all versions of each of these products -can function together for Envoy Gateway. Supported version combinations -are listed below; **bold** type indicates the versions of the Envoy Proxy -and the Gateway API actually compiled into each Envoy Gateway release. - -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| Envoy Gateway version | Envoy Proxy version | Rate Limit version | Gateway API version | Kubernetes version | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.5.0 | **v1.27-latest** | **e059638d** | **v0.7.1** | v1.25, v1.26, v1.27 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.4.0 | **v1.26-latest** | **542a6047** | **v0.6.2** | v1.25, v1.26, v1.27 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.3.0 | **v1.25-latest** | **f28024e3** | **v0.6.1** | v1.24, v1.25, v1.26 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| v0.2.0 | **v1.23-latest** | | **v0.5.1** | v1.24 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ -| latest | **dev-latest** | **master** | **v0.7.1** | v1.25, v1.26, v1.27 | -+--------------------------+---------------------+---------------------+---------------------+----------------------------+ - -.. note:: - - This project is under active development. Many, many features are not - complete. We would love for you to :doc:`get involved<../get_involved>`. diff --git a/docs/v0.5.0/presentations.md b/docs/v0.5.0/presentations.md deleted file mode 100644 index bc681b8c2686..000000000000 --- a/docs/v0.5.0/presentations.md +++ /dev/null @@ -1,12 +0,0 @@ -# Presentations - -This page contains a list of presentations about the Envoy Proxy project. - -| Conference | Title | Speaker | Recording | Slides | -|-----------------|------------------------------|------------------------------|--------------------------------------------------------|--------| -| KubeCon NA 2022 | Envoy Gateway Project Update | Daneyon Hansen & Alice Wasko | [YouTube](https://www.youtube.com/watch?v=3MUOZc8XNCc) | [Slides](https://static.sched.com/hosted_files/envoyconna22/2f/Envoy_Gateway_Project_Update_EnvoyCon_NA_2022.pptx) | -| KubeCon EU 2023 | Envoy Gateway Project Update | Alice Wasko | [YouTube](https://www.youtube.com/watch?v=4vnJxt9sVho) | [Slides](https://static.sched.com/hosted_files/kccnceu2023/58/Kubecon_EU_2023_Envoy_Gateway_Update.pptx) | - - - - diff --git a/docs/v0.5.0/releases.rst b/docs/v0.5.0/releases.rst deleted file mode 100644 index f2854c34d0e8..000000000000 --- a/docs/v0.5.0/releases.rst +++ /dev/null @@ -1,13 +0,0 @@ -Releases -======== - -Learn more about Envoy Gateway releases. - -.. toctree:: - :maxdepth: 1 - - releases/README - releases/v0.2 - releases/v0.3 - releases/v0.4 - releases/v0.5 diff --git a/docs/v0.5.0/releases/v0.2.md b/docs/v0.5.0/releases/v0.2.md deleted file mode 100644 index a0dc0e885de8..000000000000 --- a/docs/v0.5.0/releases/v0.2.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.2 -linktitle: v0.2 -subtitle: Major Update -description: Envoy Gateway v0.2 release announcement. -publishdate: 2022-10-20 -release: v0.2.0 -skip_list: true -aliases: -- /releases/v0.2 -- /releases/v0.2.0 ---- -# Envoy Gateway Release v0.2 - -We are pleased to announce the release of Envoy Gateway v0.2! - -This is the first functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Kubernetes Support - -Run Envoy Gateway in a Kubernetes cluster. Checkout the [quickstart guide][] to get started with Envoy Gateway in a few -simple steps. - -### Gateway API Support - -Envoy Gateway supports Gateway API resources for running and configuring a managed fleet of Envoy proxies. Envoy Gateway -passes Gateway API core [conformance tests][] and supports GatewayClass, Gateway, HTTPRoute, and TLSRoute resources. See -the [documentation][docs] for additional details on how to use Envoy Gateway for your edge proxy and API gateway needs. - -## Envoy Gateway at EnvoyCon NA - -Envoy Gateway will be at [EnvoyCon NA][] this October in Detroit. Don't miss [our talk][] to learn more about the -release and future direction of the project. - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.2.0.yaml -[matrix]: https://gateway.envoyproxy.io/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.2.0 -[conformance tests]: https://gateway-api.sigs.k8s.io/concepts/conformance/?h=conformance -[quickstart guide]: https://gateway.envoyproxy.io/user/quickstart.html -[EnvoyCon NA]: https://events.linuxfoundation.org/envoycon-north-america/program/schedule/ -[our talk]: https://sched.co/1AO5S diff --git a/docs/v0.5.0/releases/v0.3.md b/docs/v0.5.0/releases/v0.3.md deleted file mode 100644 index 96d6d6d49ebe..000000000000 --- a/docs/v0.5.0/releases/v0.3.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.3 -linktitle: v0.3 -subtitle: Major Update -description: Envoy Gateway v0.3 release announcement. -publishdate: 2023-02-09 -release: v0.3.0 -skip_list: true -aliases: -- /releases/v0.3 -- /releases/v0.3.0 ---- -# Envoy Gateway Release v0.3 - -We are pleased to announce the release of Envoy Gateway v0.3! - -This is the second functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Add Support for extended Gateway API fields - -+ Added Support for HTTPRoute URLRewrite Filter -+ Added Support for HTTPRoute RequestMirror Filter -+ Added Support for HTTPRoute ResponseHeaderModifier Filter - -### Add Support for experimental Gateway APIs - -+ Added Support for the TCPRoute API -+ Added Support for the UDPRoute API -+ Added Support for the GRPCRoute API - -### Add Support for Rate Limiting - -+ Added Support for Global Rate Limiting - -### Add Support for Authentication - -+ Added Support for Request Authentication - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.3.0.yaml -[matrix]: https://gateway.envoyproxy.io/v0.3.0/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/v0.3.0/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.3.0 diff --git a/docs/v0.5.0/releases/v0.4.md b/docs/v0.5.0/releases/v0.4.md deleted file mode 100644 index 81a9bc3a0ede..000000000000 --- a/docs/v0.5.0/releases/v0.4.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Announcing Envoy Gateway v0.4 -linktitle: v0.4 -subtitle: Major Update -description: Envoy Gateway v0.4 release announcement. -publishdate: 2023-04-24 -release: v0.4.0 -skip_list: true -aliases: -- /releases/v0.4 -- /releases/v0.4.0 ---- -# Envoy Gateway Release v0.4 - -We are pleased to announce the release of Envoy Gateway v0.4! - -This is the third functional release of Envoy Gateway. We would like to thank the entire Envoy Gateway community for -helping publish the release. - -| [Release Notes][] | [Docs][docs] | [Compatibility Matrix][matrix] | [Download][] | -|-------------------|--------------|--------------------------------|--------------| - -## What's New - -The release adds a ton of features and functionality. Here are some highlights: - -### Upgrade Gateway API Dependency - -+ Upgraded to Gateway API v0.6.2 - -### Add Helm Support - -+ Installation of Envoy Gateway can now be done through helm - -### Add egctl CLI Tool - -+ Added egctl Support for Dry Runs of Gateway API Config -+ Added egctl Support for Dumping Envoy Proxy xDS Resources - -### Add Support for extending Envoy Gateway - -+ Added Initial Framework for Building an Extension on top of Envoy Gateway - -### Ratelimiting - -+ Added Support for Ratelimiting Based On IP Subnet - -### API Updates - -+ Added Support for Custom Envoy Proxy Bootstrap Config -+ Added Support for Configuring the Envoy Proxy Image and Service -+ Added Support for Configuring Annotations, Resources, and Securitycontext Settings on Ratelimit Infra and Envoy Proxy -+ Added Support for Using Multiple Certificates on a Single Fully Qualified Domain Name -+ Envoy Proxy Pod and Container SecurityContext is now Configurable -+ Added Support for Service Method Match in GRPCRoute -+ Added EDS Support - -[Release Notes]: https://github.com/envoyproxy/gateway/blob/main/release-notes/v0.4.0.yaml -[matrix]: https://gateway.envoyproxy.io/v0.4.0/intro/compatibility.html -[docs]: https://gateway.envoyproxy.io/v0.4.0/index.html -[Download]: https://github.com/envoyproxy/gateway/releases/tag/v0.4.0 diff --git a/docs/v0.5.0/roadmap.rst b/docs/v0.5.0/roadmap.rst deleted file mode 100644 index 711b62455031..000000000000 --- a/docs/v0.5.0/roadmap.rst +++ /dev/null @@ -1,9 +0,0 @@ -Roadmap -======= - -Learn about the future direction of Envoy Gateway. - -.. toctree:: - :maxdepth: 2 - - design/roadmap diff --git a/docs/v0.5.0/user_docs.rst b/docs/v0.5.0/user_docs.rst deleted file mode 100644 index bb060bbb994e..000000000000 --- a/docs/v0.5.0/user_docs.rst +++ /dev/null @@ -1,33 +0,0 @@ -User Guides -=========== - -Learn how to deploy, use, and operate Envoy Gateway. - -.. toctree:: - :maxdepth: 1 - - user/installation - user/quickstart - user/http-routing - user/http-redirect - user/http-urlrewrite - user/http-traffic-splitting - user/http-traffic-mirroring - user/http-request-headers - user/http-response-headers - user/secure-gateways - user/tls-cert-manager - user/tls-passthrough - user/tls-termination - user/tcp-routing - user/udp-routing - user/grpc-routing - user/authn - user/rate-limit - user/envoy-patch-policy - user/egctl - user/customize-envoyproxy - user/deployment-mode - user/gateway-address - user/gatewayapi-support - user/proxy-observability diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 000000000000..40b67f41a765 --- /dev/null +++ b/site/.gitignore @@ -0,0 +1,5 @@ +/public +resources/ +node_modules/ +package-lock.json +.hugo_build.lock \ No newline at end of file diff --git a/site/.nvmrc b/site/.nvmrc new file mode 100644 index 000000000000..b009dfb9d9f9 --- /dev/null +++ b/site/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/site/Dockerfile b/site/Dockerfile new file mode 100644 index 000000000000..4e653452e090 --- /dev/null +++ b/site/Dockerfile @@ -0,0 +1,4 @@ +FROM klakegg/hugo:ext-alpine + +RUN apk add git && \ + git config --global --add safe.directory /src diff --git a/site/README.md b/site/README.md new file mode 100644 index 000000000000..fac9f706d618 --- /dev/null +++ b/site/README.md @@ -0,0 +1,154 @@ +# Docsy Example + +[Docsy][] is a [Hugo theme module][] for technical documentation sites, providing easy +site navigation, structure, and more. This **Docsy Example Project** uses the Docsy +theme component as a hugo module and provides a skeleton documentation structure for you to use. +You can clone/copy this project and edit it with your own content, or use it as an example. + +In this project, the Docsy theme component is pulled in as a Hugo module, together with other module dependencies: + +```console +$ hugo mod graph +hugo: collected modules in 566 ms +hugo: collected modules in 578 ms +github.com/google/docsy-example github.com/google/docsy@v0.7.1 +github.com/google/docsy-example github.com/google/docsy/dependencies@v0.7.1 +github.com/google/docsy/dependencies@v0.7.1 github.com/twbs/bootstrap@v5.2.3+incompatible +github.com/google/docsy/dependencies@v0.7.1 github.com/FortAwesome/Font-Awesome@v0.0.0-20230327165841-0698449d50f2 +``` + +You can find detailed theme instructions in the [Docsy user guide][]. + +This Docsy Example Project is hosted on [Netlify][] at [example.docsy.dev][]. +You can view deploy logs from the [deploy section of the project's Netlify +dashboard][deploys], or this [alternate dashboard][]. + +This is not an officially supported Google product. This project is currently maintained. + +## Using the Docsy Example Project as a template + +A simple way to get started is to use this project as a template, which gives you a site project that is set up and ready to use. To do this: + +1. Use the dropdown for switching branches/tags to change to the latest released tag `v0.7.1` + +2. Click **Use this template**. + +3. Select a name for your new project and click **Create repository from template**. + +4. Make your own local working copy of your new repo using git clone, replacing https://github.com/me/example.git with your repo’s web URL: + +```bash +git clone --depth 1 https://github.com/me/example.git +``` + +You can now edit your own versions of the site’s source files. + +If you want to do SCSS edits and want to publish these, you need to install `PostCSS` + +```bash +npm install +``` + +## Running the website locally + +Building and running the site locally requires a recent `extended` version of [Hugo](https://gohugo.io). +You can find out more about how to install Hugo for your environment in our +[Getting started](https://www.docsy.dev/docs/getting-started/#prerequisites-and-installation) guide. + +Once you've made your working copy of the site repo, from the repo root folder, run: + +```bash +hugo server +``` + +## Running a container locally + +You can run docsy-example inside a [Docker](https://docs.docker.com/) +container, the container runs with a volume bound to the `docsy-example` +folder. This approach doesn't require you to install any dependencies other +than [Docker Desktop](https://www.docker.com/products/docker-desktop) on +Windows and Mac, and [Docker Compose](https://docs.docker.com/compose/install/) +on Linux. + +1. Build the docker image + + ```bash + docker-compose build + ``` + +1. Run the built image + + ```bash + docker-compose up + ``` + + > NOTE: You can run both commands at once with `docker-compose up --build`. + +1. Verify that the service is working. + + Open your web browser and type `http://localhost:1313` in your navigation bar, + This opens a local instance of the docsy-example homepage. You can now make + changes to the docsy example and those changes will immediately show up in your + browser after you save. + +### Cleanup + +To stop Docker Compose, on your terminal window, press **Ctrl + C**. + +To remove the produced images run: + +```bash +docker-compose rm +``` +For more information see the [Docker Compose documentation][]. + +## Troubleshooting + +As you run the website locally, you may run into the following error: + +```console +$ hugo server +WARN 2023/06/27 16:59:06 Module "project" is not compatible with this Hugo version; run "hugo mod graph" for more information. +Start building sites … +hugo v0.101.0-466fa43c16709b4483689930a4f9ac8add5c9f66+extended windows/amd64 BuildDate=2022-06-16T07:09:16Z VendorInfo=gohugoio +Error: Error building site: "C:\Users\foo\path\to\docsy-example\content\en\_index.md:5:1": failed to extract shortcode: template for shortcode "blocks/cover" not found +Built in 27 ms +``` + +This error occurs if you are running an outdated version of Hugo. As of docsy theme version `v0.7.0`, hugo version `0.110.0` or higher is required. +See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-hugo) of the user guide for instructions on how to install Hugo. + +Or you may be confronted with the following error: + +```console +$ hugo server + +INFO 2021/01/21 21:07:55 Using config file: +Building sites … INFO 2021/01/21 21:07:55 syncing static files to / +Built in 288 ms +Error: Error building site: TOCSS: failed to transform "scss/main.scss" (text/x-scss): resource "scss/scss/main.scss_9fadf33d895a46083cdd64396b57ef68" not found in file cache +``` + +This error occurs if you have not installed the extended version of Hugo. +See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-hugo) of the user guide for instructions on how to install Hugo. + +Or you may encounter the following error: + +```console +$ hugo server + +Error: failed to download modules: binary with name "go" not found +``` + +This error occurs if you have not installed the `go` programming language on your system. +See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-go-language) of the user guide for instructions on how to install `go`. + + +[alternate dashboard]: https://app.netlify.com/sites/goldydocs/deploys +[deploys]: https://app.netlify.com/sites/docsy-example/deploys +[Docsy user guide]: https://docsy.dev/docs +[Docsy]: https://github.com/google/docsy +[example.docsy.dev]: https://example.docsy.dev +[Hugo theme module]: https://gohugo.io/hugo-modules/use-modules/#use-a-module-for-a-theme +[Netlify]: https://netlify.com +[Docker Compose documentation]: https://docs.docker.com/compose/gettingstarted/ diff --git a/site/assets/scss/_variables_project.scss b/site/assets/scss/_variables_project.scss new file mode 100644 index 000000000000..256902739d62 --- /dev/null +++ b/site/assets/scss/_variables_project.scss @@ -0,0 +1,6 @@ +/* + +Add styles or override variables from the theme here. + +*/ + diff --git a/site/config.yaml b/site/config.yaml new file mode 100644 index 000000000000..9070e384f0fa --- /dev/null +++ b/site/config.yaml @@ -0,0 +1,15 @@ +# THIS IS A TEST CONFIG ONLY! +# FOR THE CONFIGURATION OF YOUR SITE USE hugo.yaml. +# +# As of Docsy 0.7.0, Hugo 0.110.0 or later must be used. +# +# The sole purpose of this config file is to detect Hugo-module builds that use +# an older version of Hugo. +# +# DO NOT add any config parameters to this file. You can safely delete this file +# if your project is using the required Hugo version. + +module: + hugoVersion: + extended: true + min: 0.110.0 diff --git a/site/content/en/GOALS.md b/site/content/en/GOALS.md new file mode 100644 index 000000000000..be4bdb76f6bc --- /dev/null +++ b/site/content/en/GOALS.md @@ -0,0 +1,82 @@ +--- +title: "Goals" +--- + + +The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption +through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing +use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer +fundamental interactions. + +## Objectives + +### Expressive API +The Envoy Gateway project will expose a simple and expressive API, with defaults set for many capabilities. + +The API will be the Kubernetes-native [Gateway API][], plus Envoy-specific extensions and extension points. This +expressive and familiar API will make Envoy accessible to more users, especially application developers, and make Envoy +a stronger option for "getting started" as compared to other proxies. Application developers will use the API out of +the box without needing to understand in-depth concepts of Envoy Proxy or use OSS wrappers. The API will use familiar +nouns that [users](#personas) understand. + +The core full-featured Envoy xDS APIs will remain available for those who need more capability and for those who +add functionality on top of Envoy Gateway, such as commercial API gateway products. + +This expressive API will not be implemented by Envoy Proxy, but rather an officially supported translation layer +on top. + +### Batteries included +Envoy Gateway will simplify how Envoy is deployed and managed, allowing application developers to focus on +delivering core business value. + +The project plans to include additional infrastructure components required by users to fulfill their Ingress and API +gateway needs: It will handle Envoy infrastructure provisioning (e.g. Kubernetes Service, Deployment, et cetera), and +possibly infrastructure provisioning of related sidecar services. It will include sensible defaults with the ability to +override. It will include channels for improving ops by exposing status through API conditions and Kubernetes status +sub-resources. + +Making an application accessible needs to be a trivial task for any developer. Similarly, infrastructure administrators +will enjoy a simplified management model that doesn't require extensive knowledge of the solution's architecture to +operate. + +### All environments +Envoy Gateway will support running natively in Kubernetes environments as well as non-Kubernetes deployments. + +Initially, Kubernetes will receive the most focus, with the aim of having Envoy Gateway become the de facto +standard for Kubernetes ingress supporting the [Gateway API][]. +Additional goals include multi-cluster support and various runtime environments. + +### Extensibility +Vendors will have the ability to provide value-added products built on the Envoy Gateway foundation. + +It will remain easy for end-users to leverage common Envoy Proxy extension points such as providing an implementation +for authentication methods and rate-limiting. For advanced use cases, users will have the ability to use the full power +of xDS. + +Since a general-purpose API cannot address all use cases, Envoy Gateway will provide additional extension points +for flexibility. As such, Envoy Gateway will form the base of vendor-provided managed control plane solutions, +allowing vendors to shift to a higher management plane layer. + +## Non-objectives + +### Cannibalize vendor models +Vendors need to have the ability to drive commercial value, so the goal is not to cannibalize any existing vendor +monetization model, though some vendors may be affected by it. + +### Disrupt current Envoy usage patterns +Envoy Gateway is purely an additive convenience layer and is not meant to disrupt any usage pattern of any user +with Envoy Proxy, xDS, or go-control-plane. + +## Personas +_In order of priority_ + +### 1. Application developer +The application developer spends the majority of their time developing business logic code. They require the ability to +manage access to their application. + +### 2. Infrastructure administrators +The infrastructure administrators are responsible for the installation, maintenance, and operation of +API gateways appliances in infrastructure, such as CRDs, roles, service accounts, certificates, etc. +Infrastructure administrators support the needs of application developers by managing instances of Envoy Gateway. + +[Gateway API]: https://gateway-api.sigs.k8s.io/ diff --git a/site/content/en/_index.md b/site/content/en/_index.md new file mode 100644 index 000000000000..89c786e40e84 --- /dev/null +++ b/site/content/en/_index.md @@ -0,0 +1,48 @@ +--- +title: Envoy Gateway +--- + +{{< blocks/cover title="Welcome to Envoy Gateway!" image_anchor="top" height="full" >}} + + Learn More + + + Download + +

Manages Envoy Proxy as a Standalone or Kubernetes-based Application Gateway

+{{< blocks/link-down color="info" >}} +{{< /blocks/cover >}} + +{{% blocks/lead color="black" %}} +Envoy Gateway is an open source project for managing Envoy Proxy as a Standalone or Kubernetes-based Application Gateway. + +Gateway API resources are used to dynamically provision and configure the managed Envoy Proxies. +{{% /blocks/lead %}} + +{{% blocks/lead %}} + +The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption +through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing +use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer +fundamental interactions. + +{{% /blocks/lead %}} + +{{% blocks/section type="row" %}} + +{{% blocks/feature icon="fab fa-app-store-ios" title="Download **from Github**" url="https://github.com/envoyproxy/gateway/releases" %}} +Try Envoy Gateway in GitHub Releases +{{% /blocks/feature %}} + +{{% blocks/feature icon="fab fa-github" title="Contributions Welcome!" + url="https://github.com/envoyproxy/gateway" %}} +We do a [Pull Request](https://github.com/envoyproxy/gateway/pulls) +contributions workflow on **GitHub**. +{{% /blocks/feature %}} + +{{% blocks/feature icon="fab fa-slack" title="Contact us on Slack!" + url="https://envoyproxy.slack.com/archives/C03E6NHLESV" %}} +For announcement of latest features etc. +{{% /blocks/feature %}} + +{{% /blocks/section %}} diff --git a/site/content/en/about/featured-background.jpg b/site/content/en/about/featured-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1f8c56bc2993ff7b68a848d0fc6024fae6c8ade GIT binary patch literal 400690 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

#Z@rNH8(wtt1Kmz ziL!>iAi{d!DOVhuo~%JT`h*4nt6q~HDW^$ma{hB+i<7bnQub43x$G0-;j?+I!prxf zwzznBws2Xy20-gCt{qOQr);0kMOB);oH@nG-yVGO=GXnWJmiD&6Zv!x%8)Nj2^NCY zVqqEDl(qGD(h$|ZnYr|j`>h?)9xnwl{sYMLyONn)7v);|p6>QKFQM>>jd z0`|glBgRP9seA4WmdFu$QBeu?TI(<=Z^K0%BG^EyL76aL7kdC+`xD$UO8)l^3EhgoSfN5;N=}LN3zY*@C#gLqBavdu5h3ucJuKYgBG@2zzJe zA#?BDLlmT^=ReIlXs4u+1@#cSa=pp_Gm027jXO)2=9< zkUcIvM#^IhNx0X%=lug{TyWLc%-=lTSC;)*zKQG6a1c(j*S<{m;6%HK50%wuP#uRK z5QsbT>~PBenqaj|PWU?j>HX|P`uG?!^j=DonKY65qG@}Ot~;G$jqUVu3DrXPq90#Z z#1cwsI>~VEG2uZ+NA_YrY^$b_pgS~f2sA5s($h$#!KIPGghKh7#kYl{-fSQu7(hC8 z{2Db8kXWWzK408p^Gz=?Gim~2lq%;_XtqY@V15ji^AA7@*HT5b$-k3&^v)b^3BXHB zilu(LlrhS0KC#j=`djY(kRwOR>_D{l8R;LO9(RTP7R3C>ja*K4p`Ar)gEbGn8@j^`}})_6gdZbxXZu znufNMHhzs388RqI((!adVNKzOWhuh6i4Py$D^c+~qu4}khLci`bwGH`qEwzy#&xRt z5T-=ITVWY0XWu<%-n7mMs$7~7{~3)YtsI2ZV^U|t_}OyK3Ga}7>8hW)9V3hnSRS2nDVyGNmL#RGWjU@oq=?Q zwh4)C%>WfVaO;4I^ExCn&sgL z>$cn-2IAju_d!Xf4N^z~@qI89&1&zqoakV`SqE1${nA_J8xAjXdW9w6v5v9j=aln} z1BCW{VUt+;l$lLkfy`_3jiLFAYcEMcf+T z{Ed%@A}PGE%uao7yYmsUM3juCGWJN)qk-ZPQevoB)nra3(7xx<>Op~qq4*|eMRwL5 zTugtMwyi?{y#CI+<0+HkBQY+I!=DaQDw{4<-#Lz7(EKtGYrR8&s^hj*P)Q%Bj?)ws z#E;97T(}eMILrrLkI!h=ymUYPN`MpZ=yCIUBx8;-@svHp^{(i$7a~1JN*;C8!vFQ# z&S2mo2I58ov4%$VJ=^JvX`8hVI;43Wwbua{-Fdrz-yGkxH&?^z4n&-4^E?8jq~3_A z%tCvQPlR0p&Pq7Z206Ls5Z>=;3lFrtVWsLh!Jrv^%k?W`D7bPiiqa{jiCJvyXRZRjmOZW_m}{279ecKygpL zL^xMglKKqKlcN{vE4SRL-fuCHi*Z&gL+yLBGsI4tM+2Xvv?p7gRV^#vDv&cv@0QYT zDS`Z;Y1+PNecEf$rG^g2$FC&&p&F4T2}E~2k{qLV+{0Q5IsDQ)B?&dHSWKH8%9lO+i+^U;9GZu_-&WwYog(RAz8tm7-}W- z{Iku7;kwP2P((<|hZ%@pww$o3f9aLL%U_=H1f)_~y+tnl?#luSmJh4e>OLo(zDy{F z6DvS&zAi14zZ~E;F9#!Yf(TJ_U={4X{0dngDEO`6k?_9N^O3X$kM&`|A}Mw$h1M^m z!O#C5!d#jEia$I&!*Se$20gFQz^{Sdl$Dj`DY``MO7I}q(ikdqg)Qg$sREe1kz6nn zF%NVVOlp)9?7K-}O*n~67wqYrm6N3T*kB-!=sv%TCf;4m@%P zIZzO2AABZI%qkt3ewA+SPiU#j_den&%ngtq$QfGg*%jI}n$LX!-f=pfpJUn`d#tdm z&zy7RaLnQK+F0R5{%k)?)Y@h4@5^YDZk_bR)BtZ-dh#hOC>`IUJ(F#*Z3VjJ2Eqcc zOAc?Xtbvml8v=!(6Z-?3x|xk(?ZK}A7DxTdk`SV9R?mCerRD6pVZz22!bfMjFv86_ zW#5pAoc+oSirM`T#}yLGo8$9qRs=HR*W(q##h{PlIx^6gI)uY$e()U*^J5z3@#ysZ zT;+v>!)5VT+{dq4i)dQ>cCE#&zS*Lv2Y$W#WLq5!cZs8vKTHeCu_dPra}8?$0k)Mg zWj;5+bP2#dD~gRjt1^8#n3c6#AMD(zTd~M)2j922uYG2_|wX zuAs%T3&9joYapI7_o;9h2txl(GzrzCAk7;RN2BK;Q29A@AoDa!AS}gVOp8Nrc)h1c zczxV+JmQjut6FAT%)*&lR>LjTBl7U$Wd=#Fa&7g35Dts&1ldi?nv>l~FKpzoz<<7e z|FlA%?7A4)bymk~TJp|M#|MMu9du|pxqcD0{D?NijZ2AdQrVg?NL88A^y&??WZC*0 zyNs$^-g8jL`GjFG8R_#*sv&1m$J;nGRfXUrachdWQ&>~-OX@0rCg3N0+wLSDFkf7! z@he7*R-ap&$)yt%2>)uJ{gKv9@F5Hel?vy@fE} zQ2_ERv=UmhH=cU%Txj)H>EHB#L5a1_bW_Z0A+sT{~wZP!?A&RacOaD?)dmTaew z&rZA@a<#B&s{Y1Wc43Fh9{DAMl)iLa-;{bi>$DBTx7}UBCh3LS=#Ez!u|$I;F*oE_ z{8rQZe;9{Qv7%&B_>O<0-(91JqhzVN0RM;%- z9`#iitn5VwqL^ErO)NmYFueq^oB3o02e-N~L@9!@g1#F5ZWuw=}3|3ueq1gAmMPCb^ePy^MzENnMKtWU?b28 zCW3;MIs7%hRihU2YZ8*=s#dKu%9}_aX{-F!uZlgs_n@A#T%feUf@5oPnt^RvL!u&8 z0@a?`_@d;5BhRu~r;p$B_&s;F5SUUN4rRL{AVp2~e3l*d7THe4)FV6DG8S!fYHpMAbfLf%;~{ zE>wuj#)6Ps&1#Cink&Ojwd(&ORTjt<^Cr!mkJ<6Nb+E9Mfe2a46ll&l+2k0S&qeQ5vp+Q@@UPXKJ_@ zax8E+*f_pwwR81Jun@`qqQ~{dT7@h}``a#}Jmfc8o zy%5Qm2krEGn#KkQ&Lfa20f7X(Tlka_{Tv5&--#s%vR#&x2o9IOFQvICB55xZARO4l zEv8jbW{<&F7dvohsW5d0<2Rm9x<+PR$NqBpLTfHh{~q4Vb(Aj`?-jREqIbkT*>vws z<&-M58+7epM3IX$LWIKj6PzL>v~c|pkyBstyw?%?Gexj&=&j{bjJ`|J)z7!WmA;#^ zQKv5IwHnRBpU&**S6VGC1i}O*rkzxpz*xr>A2YekUAH^I&SSlkZmBQma@&2NW6)ha zpEua8-LtImP^56;*^ph(w+Hc+o*E{Kx)hu%4nmTz4Ofr-I|27Tw{3(;q|W{c_tQS( zObS_wRD%QJfgCyNX>)9579XV<0nn6;J=V_2br66s6521lL{mbq-(yeSP^rK5>H0vm z3}U6N_%(FPe|q(V#3S^|7blSW#E|_b?O4<*2)kYGW^?0_a`r}^D-pt^zM?zp>kV@1 zFV@xId#)gs>Kt)ba#qrnM06fRTT!G>29c{m3ry#$YbL5;{;hP9A7^CuHXfp0Zv@x# z6Q%}5!Ds7kM-s*J#pP0z+mx6k>l;w98T=Kf2HX&#abRZV^Om_VGtwun*4m}g1Qx<$ zrokNHL&Y+7mlu(_dds$uHXsY#Bd+|G2xNBJ((rkj0|aY}^#l<)3*m(#Dk+s}+c|+8 zXnduS zcBg}TvqBm7b5I%TD~E9SnkShywC< z<$c^pI279ikSMUr0#Inp_yhFa{y)^c;H64b$na%eGy>8w^j;{5SM9mXwj409#`^mI zf$mLODMcfa+>JJ~uv%i~j7K1` z71XNSxAD}p?sR+5zN-(SZ~R_C3dN`>Q7B5N5(R7dKLCawKRqYkN_@KTS$AgH#~_+^ zaqdQ8>Ha^!X_|_EEgf`4rB30o$1P6#;XUUYMd_Sv95Z6!XTsVof9M-kIUKz_6}Yt? zg__5-<#|bS?=H`5{)qdAM6Y0T(mvXevvBKz$L#MS(Y4-(e8%vq)jGQxuX0J=Xe*-H z=A;jWB4^0F(^6U5G(w~)n@cXfA`rloqbIOQ`Gp~`KFP$eo5ePnbb9fku+|{wH_@l; z0Ryw$P?kP<*H7umW2L>U8eBTCqJFC);142|&JGlKO+Nk^T`(K%$@Z@u2(&#n`&Ps+ zD}3C;K|1A9?5*Cq$DI&)F6i_?kRjCxHEt^H$r#|-tS=pL8LIi1?moI5Z`4v#VvWh` z2KRC`x&D1ZZHx%`+Nx+lxE$TZl?4|kzsOL7Y^%=5w$KExby#Gk%njNdoN^jv(8Xb5 zM@AW}VNm`(&|JwHK!AdrN^$DA5`Q-I=N&lLE*+t51E~i@)1Vt_ceg{5Gicc70)xR1 zH->9SS<5DoF^MNz(QFnu+Z{7QguyMzc!;eaaB9G9N1`gTaCQeT2{tFGRYC#R(8O7A<=rxPn) z{##|Ice~|G(9Tlkz(?$7ZuK;GKL)v2ekoEGKDSFqxdFUx{Q3^Q->R3nve{fC$+Z8Z z3EtW{39`1?m@jV0&pN?N;b-Sl@*jB~-^ba>g<47xrM!JiX51fQ18jVYmo`=>G0)fS z9FW7Lpa`>&2o7W+{;o4G^6mnHO`L2s9p!t?Qv4NFB}DR#RTpa(X zoM)m8_^2Bp4c_ghf+brfsitJR1^VzYU;~hg0@rY3$lUrh+H?TWLU}=qKs*2aQi2K> zRJX3scIW5DD74>N{gtKS*Z>{e*u)`i0~}jyac#k;$=CuM7wzL4PXSJ=9%=TD>+ra7 zi#^m|*@w}Wpbl((d@yCiTdHKJe^L)-u#J*b4fShA_07YoI+v_Gg%&24d=At1x~9ot zxF=-pt82``zr}$YC`D}=x-&@wY8Q5FI&8pf2-UGg2>f;KCD{Sw&{o9a+>;1+wt%iH|__9H93WOPom?>q^+z*3`M`Vp{sk*{eXePxoLM{=#NyaD1 zPeH}H!q<(-h0#);`9}Rdr4AK{6md`EMNqAhuYRub>vdFokmN{S3r%sPL^fueZh9)` z*#^(v_pLGDHnw~xRM?nvTqv2c(U&1guJDw>vKj6kD$`>6vO@kC(ToV4za2Nut42dA z`b&8oonY@LZ`md(zK|e<6nNQ6%z2|8tsVSTCHrOjoJTjymH4?!=DQq+y*3+ij`xQkxC$ZrPMb=dXxSwC>4n4pjswCj#W z31Y;WccrHsd0$lU{9*P$^)w51x49@(cenEvYZ#gAHC$k9X|A2GHUkX9WW~`Y%@A5N zZ{ZqarXPB^2aptKOK}+~JQ1^wxiYrsHT5oJ{sUmj&58aPSpU#E=6O-5N%FBwvhyVF zUtZuA0M%iiO@{Quf-Prmo%Pm7hV|H-sbfusl@NWMTcg|F(N1`dfwrqj^Bo3sNhL3j z*16;R(w?23Va0^`U289UwY+dy*7x}5Kt5;*Z~wUQDc!&zHVf@S>?rN5UCTKGRhi3z znxgnXqC=szN$>v2gaPSRSFKikzs7MB)r&CsHmlE>?l24&}- zOX}rqfX=#rq%XT4VsJfb?g%-V^?Ak*YHg}nR!a}E6 zo9&*n76b=Ia^En78nb}j@j-C0M@XL@&L_{4 zTRs>ksWoNS)(hIgePl-xZlc`30*On}qsAwm;Ujt60AB)mm0)P7!K0jXXDVZc$S(T+ zj%&6PVP=JL!CC)4*V`t-(vV57?HQP0Zurs^RLVt7jm)|Irk}!RLf!{ILe+2iF7iqlRweq45myn!|?IxPRRwkLB|28<;D7GLjd2>U2%nai}!9>mDq)*;IN_M zZR-04%clboLtwkh$e01Cnv1u+u4jO8e!}>}73GUR-~VLH_)(e11>|=M-s+5rY1SFx z@zvQ_^)|D!R03yY>o=Pp9(HHqH6d8r^8v~7hOi^y`lmDSdpn~u_*S}uIbLmcaHQEA}I-)gH)P;xNR@FVSn@0J^se*jDC{sfoACzTB2iRwOyup{x0hYkVvmH$_*MqyK=ZY zEr}->`B?5ZOXOIDo|zHzp_dMmEt~H}`sLJ;6teV@*JNKPsQD)9PxSR`qEAL=?5tfD zrb_G8onPNjVCsSlUk*u9^&s9}(;UITBNafxX$m9_&t}?gvFfhfdz{g`U|n4L!)c(` z``iHSbam>A?}8?!`s#26q=w;G~2E3fiDJvfw=> za3;HN?3ZSq8!Md;0-lfG@2j9lUIjc?L@s`oO=9qtgGWYx-*ENE3*}b23X13XCg4XT8@y_#jX2DV)7xls{ z|9Z)iGbjCC>g{htJ9NBQ@P`2$@smn~1~lo`kM#j&wT;IFgj8u9Fcn;xAa58(!(&4+7}RGDck>ip;|9{dbtoycIJt&;H{sGH z;^_GZU=tSsxNM1RFJwArNqg}paKV)d#tEUUoS~^HilZ0CQZJG?!_7}Br{2Pn92t(K z^`B9zTC?)3-h+3MwCKSwbhsVta6eP0^uyMFGMu1lVPGb2=SqW|CMvCmd8cE(vhgOz zeQlvJ`59-bfyK@CYTM>OZ|5}aUb@~%vg+*&RjrBhQ&ra)AqwI5EMqd&_4jH|oYjt~ z@0aJMJoUqrS@hTV_;$|*qnv!+@d7Kqw;$#)L$nKF-vwuPqY5b!t#um@AEOsS2RjAp zO~qkE19Rh|6h8|tXDqk9POf}i0~&gSje5*~R4G#Nnr2UWNx~NrXgLebasiv5 z-C8qt<)yiYoTb=GgVO;O;U&3j`qT?ml6tn)=?M`J8=2{Yf)SfD$uV_Eqa(_9?ixSP zIYB~Q33_hK9At#VMPAMDA{lShNIiX@!s3xVk*ij9$R~(d)?M9Pu!l>#)M|}-PT`S{ipif+pY7%fT z_7=B@Q{3(|7pqvQhVxAzXtWla(~EE=bcB>guu;)4jh~Q!i*hgqS!S74qlaqB!~-8~$D5J_qwS+I^~D zUZ@uI=fuhQ@+qXE!(}>yZi5_Bx7^1Y-Kip2zFHAftQwRu$rB8+@f0ncp=TUD46fg9 z<_^9w?_lkYA>L7|F7zTV*c?djq0&-(F|CN6Dj%JVCy=r-L9?X(-mgycxfcU7awL!d zU09fTjD?tpjdxpFsu^Kp(Mf0r6N}2%%Qyv=rd=U$*$|%X_FYYe{Iixgr&wSwgO~ZZ zkHhXJ#OK(YrZE@T`?wnTJ77g%t4aNJvTD#13Bol0G|HN-=xXzq<;X{V+e8dv^YMkS z&Gith`EDd1nIxM5F#jbALLf&$l->am%Kz!*U5G{%QS#&2odpH$G64SptZ@ z>E+#+{{tW;ZHgv6JC>&;@xSo8qq%boZFhzgHxFSJ{R2d!i>}(Wgjl|lY|1m(TLc+q z(|cfd_8F;tQ0-rD!O8;p+VV0*?0fzJus#m=D~g-TPP_w%eNI@Hf`gWX+@cXl<-(?I zkjTy)Tf2%z@=JITR|Mkj?+@6DywjK>SPnklwVLm7;~11?9eVec#jeJ0PzWhOep09R ztYDeb_Rn_su+S&B7XnZkXfImkFTHvUHOxQ2l;l8+0#3bI3zI{sLN zRAp1m3J{*i^kGwBhU;}*O||`(q+RLpLc^xv+K4my>WZE;)2-kYiVar@h$LETjGJxx zh*|$nWy>+1UQ8*U&~%I%@Q!Mtbwwm-Qs}Ex9!a66RWpw(wVip`tjEcs=F88zRs`2G zHv>-n%<;h(&rkTDOs7NP{7!%U1Ayb_EZzrz& zs&V;%{c*Rtz}i_KZtKuXXh4Id{C9zj#&AVsj}M7wzV_TG#hNu}_<*um$l&6rK1`zi%W}9Y3}ymYXsD?woBR z)TycgS=lma;WRVFSsOwPkHezS%3J{*!u3YEU8imdwe0PHqhTHwl7F33kEI}K4gyT> z7GJErJRmeb_P{KbQu>zRERk8HI-1uBG-^}v?_*^EK1EU>z_bGZ9R*_i9N;kO&2^4B z!pv~SLoB|;BNr{cWf>XIV^ZzwO8jvlQiQN&yX=?JjAqKOg(*8{Hv``@Y&!F7gU;^;@ByxF?Q`IQq>Dx#b)F zNaxHC`aUV3o;;0IgfZtr7{^2@N}bUcCf{IJ%)o(`%@dTh!i!v*&5XT!eH7Id3;Kh( zOr>A`hW-2CrA*pO;#rtQ!Vt9>Gy){M)OVrt1!fkr3o}%3gUvIAU0$va*NJXr7uScr z%ZtzQ@;>C1wIJmF@}ax>q@`%%Vfo_3%d;@UNk+uW6%%eq1nW+ie^x1}R@jksGhoE_ z6*ceoDh`L-FhMWn0E%tk;g=|v3hFMa9(s<-hPO zf~u1SxL150uO*^wG)|mRuXxMHh@A1V#U>F8z7KLmYNa}dkfwkB2e@J>pULA?|CMb+ zsV~{w+_0g}91T#yI^N;r^*O1)QnM~%<4h~6$i6u`o{SZn!D9b;lc-V{M2juoZcV-u zmvGYww&@2)7dg#LtaY>9_ zikFZTQ*L2@q2%p*Q-k0g`PSC9E5L0o^sIQMjMOz5!VU2SE^p&^e*!i};`{4O02AHH zH9tr-zxkd(UQM+p)J#WEiyp=#ItJwLDwu=1j3Hj`)besz<{BF|jv&r&t2f6bQiSIg z1qeHw5`@c^%LK1k8F+?<3oQ-3Hs7fGIp`W}`3|U;E7_m&`fiLA!kI<9R&VPWt%XZ= zYzVP%9zK}oZpX>d`;nRBc%Bl!-vFT0vl+sj@&0fn6=~>sF|8g691i8tv4D4h&EUs| zrhfpfHTHTNezkO}a64V0sO~Gdoiu~gub7nG!T`aTOIQ97|Gd)acLpnZ?s&gL`84s( znTNgF0RzR=)%t@3&K15Cf|!0WWrDSMG3a@@Z<>X~{qzU4xjZYBrPCg3XI%>!IV{;uh%awULJjY;*`7Qi{>s4yXIIf zSZi3QI40elo@sKe+M|nnz5sY(q<%spHY3L+I?F~=(Yk@G56m51V7E9&VW}uo%8oCP zaO3qUN24R*1?#LwQd@#1;+Z5+)~XqZ7Gm0~9zw<{!ZP!BEjwiN#W;A~QBQr;U@lQ( zL>SrK2TAF@yr|?i0uQXf3ctTm3%(MnSp0_u>8J z^^vRXD^t?k8LDZzj+*kQ%|^!R#l;B(fp-i&(3$m7j$H+cja6hJ0YZ#hnv6jmBANPv zy+9oHGv<33f2`m>CX_9u&=d8xZ9VIVd4W&^xv&Q@%DANpp*Z8c1j($~Fp$$EhZN;u z0QBPW)JhytK=B|n+-mnzD`VxiVb74Pgd9I;KqJ%zBb%)<5!{o@0llpy%1W*!z~ZMB z#~l6i1v?w?J9&Gi`R#9gVRbc?-L}!(GC_H3BcYxb__|pjNYw6-QOznHkpxv&(stTv ztM;QFz7d|9QJPLJm^^l(=+r#zwAXy;^AAAXueY$)&zM_|3oS?n!C|YoYV)zIlmZ!N zs5!_vaE?#Wx~|jHH$Ic7XnT&r(^AoOTW4Bo8fENFp5Ef#Ttj4Qv16Fzb6f~} z90Qs|f`Hn1W`ik3rkbr+XYD+M^Yie)e4W9Ng6yd#UJ_!$fVtWRU*=69Y>_TGsOZ zsO3cHM92&&k!mEmcmX-ol)+THnMOEcf$hSb8X=Y^RQ?>T=637VoFSBhpb`j;{B=z` z5KBnHtym*mFpF<5_>3B+mw4^TuRXTU4*q|u{M@Wo{{S+&LQBhd)ygg6jj*>S>XsEH zT1Jg@OI3_-d-R;t3ZMhZs)IVUDkEfJ!;FhZLfdbXH?h2>q@Gt0P8^^VXh01tr$H{> zQB+4qY#%H?o?qIrq`SwGI6!P|D)K`~0mLbFWxIQY99>?&!h`5Nf%1?3UAlJS&@J^H zW!H>##4MGOM%D*4rK%LQk34wS0{;LtaGfH2-$vG_SOk5 zwD)sz%KmpbjsUo_L~sBR)mrp?$HsJdoxVlpcdwTWohErbyf(e9tLBZC(KYSn{{Ux? zI6$DdoQmPsUCVQCGw2$7?rB#PQd*6(BXNvJ8(LKeV|l^L<^zh=ts`X8rW7O7K;lt> z4q1c;1Bt`|kG7Gm#SLy5<&Ccn4(K2r9U$~7ibA%lgCM(^jBS8Cp+(CBjs%iKym-}D z7s6uHFN3tMqyZcN#9~}?;t+5ERVF5|5X=KwrLDxcDr8(qQ^z4um9;^BpBWZ6AFA_l zh6G_41r7+Ld+4l(g7_b47i$0@rd@qla2YQOsLm>i81ryM`RfW(qj zRaEl?{)14I63b=_PGgx!?NEN)$>1H2Ouu z-^wlLe=-$hayhu+m}&*2aj8_TN$g`K#@y8$Tp43J44&qO49fSO-~l5KvXg>aid~D3 zV;FAswy7ftk`_b)gU>W-1BPI*xk)sx5-FCR>&*=sHq^Opsuo*zEOWKUByj+=DIhfn zP?^%k9}!ipG`vjE-MTi9Hlo(P@FBNm5y62ACQoz9FJ&z4z(3A_l|#|(?M|gKqWdW zc9tnyYp3cxA1AX2>016b>_yCMZ3ZF+XV6c?@vTZLan*2&*dvk%n&%cr8$rl5t#2GS zb#_o`2+~X;(S%M=JwqOm#2<|Yg=mWE`fZiO=f$+PlbwuLIvC52ZBA}ZU=VcGZZU5Y zHP}JR6o_^9&eHA+{1GLi^J$2euo5`OAs_`GqD5BiMdg8(dRubK0=U+8-l3)QN?I;$ z22;S^>v7I#%DyG(%BY+iaoAzIVs`P)JJA>|IF9H+jv-fyV&zV%tj-eVgNa4pQxQZ) zO*WHV^ta6*1iE57fp3D+P-dXjw(@4pFLCwzh#s`X)pas*7qj}+4kl4{E%m-*_}X{P=-_?s)RS`>!?Eyr=rv$p1(}`Y5-Ab{7t`9t@w(YOKkk; z^`gU$ogSTR6ma#?*jW&bL-=Vs8~!mv?3L<1OCxlLD9*ZsGN4BJKWOfrWAW>vvN2rm zvSG77jkx~+D11!~r%#o9$rh}CXQyQ*`Fr~1)L*guqp(u#KACSJdUw4|{{RU0P}~RYmmJ zE`VU}->~rNpjjLc<0F3atCl}!hTnD+&5ZNx0^q5~A^kq831GsqG)E4u9kfQO--~88OfWwq!*+^j5FNQs09iipM`STxFc9*g?zOT6M+UVOetSyPNvhe`q zexaz$V$-zfoN|2f#?HE~PK@2<&nS7D&HB&Dd22;~S$?X#5%^(Toy(4v?XH>1E2Q)X z%J2DoT|7gm`L(&5Y{#{acG%i)Y_~WN@XPJNbqlTHa4qGMJ9s4o9_-^ft+VxKlE2!8 z>G113`K{oKqk3&CPFv|a@=hysmAFd3X5!5B7h!o-<>!_*Uqi9Brj?+z(TMIZAcW7W zUbUz|zt%3@KBsyEf`-W}n$z-uK>c6kZzFk6$$D?gd1pgoN}8mmmlfHsEAJ98F(XmZtWW96ZH2D zmK7w1ha-S$r_Vh3`eEfS)IBGK&vfZ);~HDk+oW&X+?43}Z<10`2t1E7)E1XY+=6AWza=57>H~;|12BHB-&y8&+I|aH& z`m0QrTx^chtxd)3oQx7i*=(SF)G}Q({{ZN*zCLH?kQoz36yjAhX_Q^%#ga|>H~lvX z^&Q1=y7#Oa&BC>lYId>Nz)$ejF-`@vAY>iO-hWHnO-?G$pl=b~)W%@v=90o z$aHW0&DV$W-8a`uEWfl_bL4;XAG~4P5HfvpPPchHmlsyBNy<^&lUzj;`Fam4ur#s8 zNpzYyO5)c-FDA<~S9Qh3_1(m=Igz&FOL#+Ldtip%+0M7Of+9fzIADkX7l%nSUM;i&U3N1o^Z04_ab zHKP&JNl!`T;vXAx!!Le0^co#wqEVraDrP#x)O5Gy2fRQXCl7vDtwQMZlPwy< zP}CmQY4#Vl?mVd5D@&WV97Azz5y;{V6q%~pdC}0iw&um%bKKe59W|B{-OUxftU9iv zrfE}8Jo0#O#TC8vRU1PRPL`Se23rqW&M_+ zd#mmJ7E5^}m^4pysZSf2d66w(jv)59f4n2Ev)`!`y~RJYMj);v^;L}Kl#oxqZ=0AQ7##*P+UVqxWcj>d*=R+cQ{t#G`$D`@f>+A$}ki{MQOF&I~pqZG+Wsq)@3&W7os(u~aZjfL&+{Y9Exn{{&nsPXxGjVeZTG(4!)*7SBL%ja zOQP^$mzk*WiGmu<8A39YrGjq*nPTOOSFYT;(u}2p-1sS-zW5)h?vFyqu2`c}T&n!I8$%+=?j1 z4P!uPtj)PP%QKld%Iw_kI?0}c{ug|PW|ePe=3eo#2Ufa>Tx~rf>56o_SzFxJuAzAD z>Q^znZQAT$i1YmJ9EOzZ`g;EW;k>#r@bmee#r3_rvfhr~@FH^Zg2DlIBo?LxO5y-1 z*+Q%;Oy$oseAkj!-EFOL ztTY}`z;H}DJxNSFOnV{#xzB4(IF|qy9Lmyxqz_HAxz;rcZ6`>AZC6vfe}`#fr$+m` zn}?DBWSRM7`N8oQ-^AA+Bk9lhI>5x6q&|6m7Ya zO|#}#$*XHmY?e??T05{n*u#@&z-(OgHO?Q z%ka>ELjz-JPAmpabR_f&(6qD7v~}akFIKaZP?A45@25X?v^NxS6Z=C10l;txG|lEF zkAeJ1fArX_?n1v!#Fo=>*=}|lEmTKk6ydFW8;;u4+BvQWM7)i@i;x44I24kLhASSg zqAPY~VewnVt+8&t;g4~C2{s>?mafz+uC%SWbw4xNt8EMUXSOpC5z}eWwfa=!4)77g z_5C4A^-efRH|l>*x|F_kD{qG6XD+{m_1AB0PC@er@Fl%Gx@_8{+RL|A+KZY=HGRLO zpBBm>SDRL_n(AwdHVi)XqDX9=g}z$E58oHKnokzp8-lJfYiHEF#u@O2%>=8u2`L zQK&)*hDgJloIrC)2iHN{i5{NQ%B$(qQkLBtOH+iu!Q_iN~SN$Qla9%Ex zODaYjxm9<*U(=w;t;0<&&uS_^I9MI$Kbc^!{{T!~$%>%_YgYsn%@(b0+ZIiwIM57&y^c=P7}0F-*SlzXO4D(A$! z(63CFJ9k-g4=wGJTm!9c92>~ZOHb!(WpC*;wc`g0R}`KZ8E#ru-DBK&baXzg`&Kw& zm2GU-62^hd;zL@-^Abb;R1F2rcQ8JqN(iTsKhrkxe=N79z&JDrVhK3j=?}}y zO0;51WHCIdG4 z6}dv$FraWZEL6pQ?fHzd;;6KjJElEHbF{6c3Um2WjyU7gh@Se+VG>HhT8(SoNofIq zmo9uUN`f>OKzTRbWd zUgj}y%o5?p+eo0PhXIgVi}(uf>LCkC7W;s$vNS`^9) zA}?d1Y7EvJ$zgjVT@>UN+FUp*o83IZFx16rwFkwMGs4XLTq5$^#@)-a_ci9B6qb4x zp({()5ms@93+S(P)pQ{UY++1q67t9vZ{X+y3TUtiI=W;L! zd7*NQP$g-z2|_fMbvpVDJM4aJvnic;hPQ+uk6)n4 zXce_Um$EsU=+(X8M2tqguW1NE6=?)^(9Z#IcohEY+icTj7gnw0wVl8i@eP7fFDoUe8XBn)=cC z6wLiP>JY){>c*iAs1rRuEkYTWuAmK33BTy{_D~?A)A*n67u( zFxhzC&;C&Onj21^D(}d(WBVx#@G z`T!g;sZFM+#d^mG;*2rK!N)MaqAM))BLph2N#dKa{jOMr7Os^v$h|Qo@V)$ zB9}qi^4e)LIj;WzP-|uSR*V>2KK2>qjn^832Op)1at>fpN>PfY)99X5{VVggoVYG> ztt74T`G42F_*QAXNvJgHr~_V(sT_gPSJF`R`T0v+EtadpJf2Sd@Ea6;)R5!Bn3Qbv-FoP<-EI; zX(6EHRxIhXHq|3;)FW;Y>WorL&^gpM8Bm5)A(aSaLIHajBOe@$Y>~*;780&t>juIp&u~a~{p7 zs>)Q5+jtoyngs7B=C@<*@J|F1UrOV+{K@*0{@b}1nEXy_HKEnA{%SMDZ$ZhMH%lLXwXZI#SJ>28^Qbssz58{FPl z+6nJCRE!-nRcGSfedPXsQ+QOBsP}QdFn|nKm zE}wlovfIlX%wr;sDBS3r9M-#-%Hq`>B9DZVO}tJ$y&PdBCnnlur)jfvol|7YE$v0^ z#*4VGwXH_dS*3jKwAAe_Vfx78W1Heb9Jb^<1?3pgaEg2{C+##VHn4=3!rgJ-jeS{l zU<+*N+Gd}r*-r+aX%K?q3D1RZ7ddP)$0-eQYJ%Y0*Nqhvnx+R^mRh$BRCrQFfj=zn zna*OeX=ZnZ@C$h#BcICPM=8MLf>e34*1A5dN`H3fv1xbE%WB?BTjt32MhA8&<8wr; zW;ihOhXKJ;g=V`R7lusa>a8nsPCeE$+0PhbB71`z)eR(o*EA|2$Pv*mY|vwrK&p@^cU{jS)&>Tw0Z156@2l&EAAau$(F{>34 z#befOj|5d^9A5W|>tC>jLA$Q)$o^NO?VTMvtbL}3X?Jqgkcsu0$ki^FtT-ARO=OZ~ ziu9E@RAVKzEJsIf-OYO64)0&p<&3)sMfC971DZD4-O)hSj1UI)RN`&bmn*Y!;%(QX z4`B14>bE*xp=YVt%wWH>F@o5=2AfvwM<_%4s=k_3ExUqg71GZn zk2tzXUS9VcJI;HYNm{ds8>4k4MUZFnZe=cc$A^1}7q8(8PbDp6)OH$QLM|3yeYSbZg~)E4XwZRFu`N7wdb|T z_m?)3+At24xnv06S)`=iOCFpAioV?xDb~{V(3#lzGv>wVVRnzCX^nPHztt^?3c0e{ zOSxJ{M=I3eo5uuM8&{=;VINEORGHa+9QU=rZ}T17qS&;K^DJ#{uHF|Ud*ig}_SEp( z&H52!Y)$v4PNnsCnKW^>+gZMa%?17^k8L1nC|5Xv)h3~&F7ZZg?^7r)~}oi3iz#U7)U4(zT#8M z+7_vLm@JcKNpp=d?#6G>h8v$g?ho)gX5E?h?)3>CK**OzZ*Ln<{XD9-tKAZ(&R^KJ zyI<6Z{m-4d*5HwE9*tnrg2Q6_hcse=uDQ5=J!zdM=59QwilxoD-d;;_qU)A%qo%j8A~+j$$O)6diWse=I1c07a%rcR#Rbvs!}gnG zo!vZI&MA78AF)fQ=HCs)2ms(Q3Yg@C=8H&-sbf&yR}G zjTYmFiAwJJ`!;m-H2phm{i`ySN&q<;AwxyN9yzpzf zrMsHm_5w{Z&QSBvTRXxp$UjQ1gm_(EX5BrtZeAtKXS1XB`#SRGChKMW*ey$+moGm% zfghq<8xBK&N_v}B+N==qr|G-DTamEo8)sJ3WRW==VWVmnZXlFW=0x^#5`eg)M;t0P z(#HfzT$EL0sJFa5rI)683Fnrq(D=5E^_))#U#MK^+J7b(hcWZ`%_I9EDz|bA2G_UP zQ1y0`r0zv_*ZegmmS2SLHZHkNr>X7jC^)J5t!8_UR*YN#wYP9oE1C?cd}wcPtLTd5 zt+4*opHgqzLiF;B{$4u&0GhjiXzuevZ0R;uo)o)-T9OvJ!$q`zFfW!%i^$)3dp9ZY zZJ6H@S7wb4aH96E7GuQYCtQ}-?ev&6{OeDkv*OMdXD8i?RC0d0E$?CK&e{Ac{t3Sd zn|OaV-$fnp+{L5EX%^$$^Rwn`liEb#r|Du)fuehO7&y83o?qs5+NVo#QIAeb z>wSlm{{U9=7dM{8c9=vwRyODsBs{8uv4Y zM^NKOjWOeTGRraJMUPt0ZdrSz>leCpz(+aujUp);9HF-nJC+&PMg%#eB?)lP2`Zs( zcvoY=awpv^}%+U3FxHMhyG1G1?9LQU%z{sM~ZW?g#ucIx0&^l7?UUe|zh;JMh ztV%x>yjJa}16`rJZ9BSOiYsQ-)xX+9e-S@|-6H-Ao$2K@tF5&+bKT$VcqWW#+Q4&s zN6n)nL^hg?fnL~w@NQKb%JMnv((?wNhkv`jcV9uTlX;rtTGI0eSY)L0U3=F~YpC-^ zO$JCzkvqn=x`tUT?k(=2baFv7E-}dr%^*n(vAw*cI07BRg?2c-2e?;L#|Ia+6(^gT zcmAqM>zII+*80k8d2n|tp7%pBWAOw&H)D~?q^RPmMGkn$rMup7UNues0GIUMjC$|spJ%ldADjdK z0HZ&dgd+a{;wI%@!>rs7bz5t>9;NI?iytoE+=uv3itaJVY=KhP0x=+iG`t369^5MT zu<1!)x{jCfYt14JuFl-ILEa&3JAYNUapqoN)@fIgIF)K3w|U1NL;5LA$XDW7nKc%8 zzY;y|y*)j9_vfB{L&Zk|p>rJ=fx@UUkS{YlxzRk$+4tLfS72kF$4#ed0gZjenW;h_ z^tz3?%$T0y*;#;=7dfRBLFm{@r&v5<{+^ZlGHo7I-t3J}W9xdBhq!H<2D_%t>v@_1 zF?c7H@LXEFfF!rOfz6SR;>Q8gMls>(VYg{R92@A}^z>zz_h`a_$EgA)2!x@-9BRW{ z7SZ*sPFH|Q2b7>7AmUR64GE4E#ivGo9g6O~Uot<_?#W620KGKqmyR8@E_XYAu`m3t z)$C+nR4KVP0KlfdtT-tEANYmFCl8kn+P)bb8$H$3NVNG!D^C_@k~s)e#~`EIPH2`W zu{3MZ6WT%}fjw@+XkJg-7+plvyeQYEoo?XD~b#PRtuUtb9HGRYg5Ry+KE;#5QT#K^P_l$CU`^6?L6FE%#B-&~m#POdygt+i)`C_2tF!w--3` zIFjd+o=SOg%!IClD342Kkws~!X>O2XaL|O5WKJdIsli;*saGdcY-X~d54qDIBfT_^ z4LqZiH43I!I27hyqeZIbJA!K(jJFzPn+gUzxTXc=I=)l{uf~^!70TRKSsB*!`xjb< zeKc+&K;(Bb{#LsHujqDElZv69>>20p#8twG^*?#H^ zJIM<$9u2+2m7s!tNZh8CCz2|RCh&@WhDj|pzP~r@bZt$rKOFgt_i2W&o2BkVw%&|emd{p$3W92sO`gh#R1&j=X zmCrA{5LfgEPKcQ8GIr@*!Xx^vbwrQl=Y`T-|St z;VWESxb-%Kz(FG|(HH*!jpK-Nf=5MA?%e(6V3xB~{{ZSsvjXe#p6>quQ`?t!H}_XJ zlebyAVVde^%`0OTwoVbX(h}g%TuKZS)|(B=6?nRxZd*Cru;n(~xZZt8vjb3)2y1wk zalsB5xoYE}6Ceke3`s&Wzz*C%D?|-oH*!0ewZoZ7IO2nXDC?+KP2_)6XYW~HV;seD z?-wHR#;TrWH#@^)m=K@}Ix;w(j-;h4Vo4zfybmeQm8UYQr=a`l3nYeJY6jkESJv}4 zz4Y=*#~@Zd7Wk39ds;E+rJAf-DY}%cxV^<6JR!~RDIjw+fC(ow!{J$4ISmu7p=kKD z>E9qBmltHm#5s{MtS1n>fyDbN%W9D}X=2nHds$rSk8Jvd{H!Y3Zs&7P4pS*a#NdMp zsk+ISF44`&Z)bo$p6dG1`4G>^`RWAE%TNY-aHtb15W`T0bW|apo}IM-D75}25A#{^ zqKj<&==Gw+kJH#zj^ooUfx|CdHp1A1>L0^N{m=1=A7rml@>v`9(j22GgwCUq&;Wu@ zoyq#fiZR^pvR|_Q0FAi+04RJ-O{Y(le8yU_=j!zAK~=4Xpjisp_I^*Yj=_*Au(i2N zKITr}mEEgAGx=|+m8){>7}IPxXmYjr2Wjf!X-(F?Qu=KTm-Kr2`*=}()>wl0dUgB- zMUh^@HK+xKFVYx-s-0W))u4 zeJ&Y}EFR1N;lrR%OxFy3BIy1{diyfy>8Z7K7f6C`wD6$!f6^Z6k0yDZdz1)mukG3W z?`J9YPC~pR=c+B@Nx7VMHsA7-7Jk0Q&KwfT%dx+FagG4W*sD z_jh*^HYnInFVRmT`BR4f0OkJxJajO z_rl#gI8oyl!sfqym(l@%000mG5C9MW0LTgpBkQRpM6#d>epdSaB9)pn{{S)d3FsS4 zs6#3c%7ikZ45&jY5Xyujd#7k^z3ZjPqwaks*H*E5mNs?~J*=d1{Y913WtTQr0AbG) zn&iNgBvd#)V)Dl!^JgxXEAs}L-ls_NQePAw?^~Lrp)cZ#PMAC!M+14E_+Q*RTk17^ zlIxw(p);CS>HLj$;M1ZCNbn(RS*t|R`f#2q+mw^ zFeq~Zi=)Axon5*&ZfT~S9>$vXG|A4TqS>;0Eytk(cK)vSa>6^$(e(fWt~9%Z9njLI zB7SCJiUma7X!AzyS10+U3HO(+Z~A1z5mPMAd=u=Wy!ESL1mCUw*Gq9l`m2Bs^-L^O zJ$$05zmhO(d$H?fUUKzS4Q6wmL^E}dxVQe%`#v<1JlB{$Tz>Hij42&t4}B#tJhDTD z;7h6TU%XFOD^iwOve|c^Snr~>Bb*K|kKk#dUu$V3V*-4umSc)$haxE8UX}#2PShiF z84T_b$j}fSsgxQU@u zed84}$UA|dRa%auwzN7$tXT{U;HMU~?igfOlu+VD(Ypn-c8hXav~rIb=cF_=9D3Xh zMRRd#)J1O`S-L>^VJ;&sX%p3e;tftdg4L+pgTK`m4_;PA%#I=MIj&{FeUu#7-cq?;I@c4+@t1u+(#^NMm}dafZm#lQf~stUAZ^I9LwKF@{3=) ziLz^3jw=Va1+}w|OV`FuBsy0~Z2@pxLwSc;qfPA8p)a*3U#HU|b7kbN-C$|H)wR3l zU`u>Udsy5!o>oCC!u3BYltqdW>3whh1g6i*je~9nHi&M>$lqVzTo4py88l3B$BR>{ zgHf(Ss7ARe`hBgE{X1suI|9*VwsbpkJHhSKEne~mHYQ0Tl1DgjCZS?VIHZ&4NqY&U ztPw)M$RdsizyvZV+Y@rZ8o<_!DpYE@X6iV`2|yHdg(#f~h9vr^45>kDIf7(!Bn~Ul znZky_mO`k|3{>aqC3+5cRAq{k4)FwS<|t3-f)6u~K-mEc^K0Oho`y|$jt?%pe_OQ>YFy0*A$Wrlls*khV0VtY#;9E@=e2Qg4}xbln4 z{hHl}zcu~02QaX=otJu9dFFTWtN6v$n_S|Y&VjBm6PYoSSZ>FLO>EeC?Nxj#H zBI@!lv3FB$b!j+m%e8KQP1LsaEt}-8m~VEaqVK&!%PmUac(+@7SAo|WJXa4K^0LLn z(ZvKlCVm~mqfeEM%B++jJX5FBchqd1jXn3p2{<>Js$Qo>U%Kc!>@UJ*(BAu=$8MiJ zG+AZ3=D53`OVUQ7Y_!NZezNXYH&C6dENKm5{Lgbo6so0WF^?5osnuU=DY>DAyKdr} zxlN0OH?#MpPQ8b%8+Ty&L9nzvCu?asmajIEqS?h`VHJ&+ha8MxCGyKFtyo`maUpb) zytp~fd2!B{itEWFg^kT*l_3a0EtSjGR~~Emq2-Rtwr-20ZLPx<+qZ85SKX3Yc!5=IH+*P6)I}}7T(`dI({76t}n4i>n=|%we5R%X?wZ$ zdv|MSdWMf>8}xx;XasGZTYK4zw|(b$kw9(1MuuRjw6emSP0_uqORIs$#B$+on7Z!j z-dK8e=ias!aofYKLj(C4^*0u}eVkKVN}c&$;{=(LfEYATaJJqn0LsRea;uGc+xo>a zYg?-6q+ITuYCwwUL&hGc}2N==H7N&PfEMK zc#sRdZ&+DR zw?!-*p2WTHVm(dQZ9KR9IPC2^Wo<1Q3%zaj#%pM9rF^p7Ts^##?p?(sFJq;e=4O(} z@aG^gp|Q0qix+!Waon5uewZV|*_OARYF?{RCaqT*e}+9@w=elq#s>n}p^dmPjqbEyD{}Z(3dr<3WZ9FpszH?**FYc3Biu#Pn83j;yzSdGFpmN z>lzbM>o;v^ISb1gOYlLTBXUlLlTo%8Cy~*9Px-?x)t29EZn@>X+E)&2HrI2#^3Ati z^UB7A1|8T|_nX~OS#Q`^7aTrkxAvTVVat{D@9EVw3pM-Sx7tR37Qcs>wKy+4 z)Y*2TO;QV1-|kC05ZA@Hbco{)8vUap4iD9=Ar0~QKZ$^I;`aBf&}!)X3!UAa4|h?g z%iQ6?tp=(54bm*jtZv z1zN@JUi5La@VeeR!ZXvD~-!A^sE* zD^ZrY{{RlstBCvAa6aEytDerIruKCN7Kp;BYeE*5lr3{gg3>$O%aNtTl%d&vPjyC`p9n3)h7c>Vr2XM)`@%Ys8FwX^Dr49I#@`7F6p&i$wSvlK_ZCS~1 z_CnI>b&bBq$tBIND?xO(I(L3(xR!^r^qW!=`z(7G6Z|*74!zyJ-nMz^1A~J&G=M-E zbb62)yxkm!+huck92c1K5HkSxP5}z>rbV&bbf@9VOuGL7RqFmI@LBwVKskcQf8u&} zA~BMTl{3ng;%XT0`oz?!Ld|8D6815RR@3bx+?#;7K0!fKTEaMg4X)dyF zXQ%GF=JMKTI@8p1a~m6=#-il+M#%9Y5pk-UwzFu^}@tX&SDZ_SaDP-D1d%WoXSXO|9&Zx#!A zV%KS-lauTlXYz+w0R3jYp;?R-WS&qI;-W@dDs%+sqO}p&nCqC^`!JjOc99$JEwn2) zIhWh-Nw+vSctX@DIQK;N?Q(?4F$dL7uSw+=Xj?p;_1BqCjr@e~6%?+Wn1{W!|ynZH>gOwcC1)*be87(}J9i0oy%us1|>@09bK{LqZ%l6j}#59fxg)bXLUObk?>kDT3-14vQ(6hXsb7yYQ z0RcW{y-;ICNwBMudxep24bLb%+V%4Q00u!TZGxcz1+!x5KFT%TGIj4$(1Y2mYS)U( ztxHq64{s~HOZ%5Mm3e!>%iiqh6j5Yw17&9=!;gxxJDEQ5&T-}rAmU4r7qw}kx0XUK zPZHAGdk*_tba7f+K1aPdTE=r6PzCOwRjDb)8G`NmRu{!WTdsLMuW0thd#yU=7|;^u z#6t=I6p+C;Y}27xurha#be_wbbaJKEzDzy2o!M!o=U2y(Kx3b zDCAdnaS&Vq>j&mJVo)40s-8wUqBD0IN!08>VC{g$vByG>KJ|Mm3&0nOg4)bNs+(-nL-? zA^kUwl2jA!toJ+BFlv|Lb`{*QfLzmx5)fmDMj?1rZ5UeEbYGKEuG7826JER^0=e1g z=%sVPD_)!B_MP5Vzm|V}`w?rH+CVC~fIw9}KyUyWzK2GD3j?|a005_$;s{bg9MYi% z*T>584r)hg6!p{*tVTUXE@{|v9vep-2yq}M1p<<55{rtgZ!qV`yg2RZKt{0|^%e(MUV)#|T%rE}%)dUW67IgDyNPg0o0&`LdTqw3 zaNB5G_h=0Ak@s*!s9xiMUV)i4o-uO32V2 zan3nK!HvjX$H)oC1zbVKw5Y|$fo66iZrrT+Dbh>Qj&IgrT3RBz>#c-xf9G zk&cbBM&^eGkoFQ>+k{gsJqzGECY!m($x(_e&6846<5_Bv-JGUnkadVh^b)WtutKpPEXxVE+J$AMAR# zni9sRTaZ)ptEj)A9pCQNTT%48c;~!vW^0}_4RFu2Ss3m+4xGQTJ+(HjqSv&7?$6m< z=4^;+sD=qR|C~h;9BpG?H-Bg(NygGbY1yVWbLJ5YaeHvuqec(~QC4A-VP4kk9eu!4K60}7^7l)KFRS>->|-zRw{ z*9Vt$Hf-OeC3UVl(%;2)b)6o3DX1-xNVMbmMOM#IbH4tY0niXE=6!z}b&$bw{H^u; zMJqIE{$uJB&^DP+fF+hFBa&&PWH7|XNi4FxvBw;21<#U4yoRxiXi`Z43W82>wFh$J zQMVM^ZP6sLZMT9;YdKfUuf`vgy9??pw2Rrd_Pq}?2A{Rv9J*vvHzwZhIRmuTMqCIc z+v?gr7P)6HJy$5_&D;uBfw zI&I8Xc9#*H366MN_7c|u92c3c1P}-!q5993^FCe9G*&^If=b9KEw7A4f2Kbu(t99n=pUaXw} z9Q>n}rCIVH)DO|GEBWb9TNteum>R0oTZ;JK{p)xupL(&mm&ZlIam>3fb$L&%OQdf7 zG532BudJj5 z#WZdJx10ixZwGpoCt8>xB_yey)wrvCz#qD4U~svdFJw*V?5eNek&9fu2=)7ltOW%0 z50ARDy!%dT$cOHxtTyAJ%i4u8&k7RDwDWxb0J$Er6%%{F@D2#Qqt>-sJh~R%58h^9 z_oOFdTT1hLsyw^hqt=GiZNlaq8TFw`G0B(NSTao*BorBTtwT!0IgREhxPYtc6b4v} zV+s&+06t_VE`f?6snA%r3S(BF0ZN2UAoUC|pfaw($|sh9Mhl*6?ardEvBe7-3!NmgyfQf0F;_kA0}R%sUd+c; zmJ1elua`SE+h^$!L&(SKw`^p(z2_+Bbna+((nkE-Yizu&YWJKAimhr<;f*$(yH?e> zaP8aD{+WGkmZT??ap>T91D;u$Qq0FVNjTzorWmGQqPfr=W;sIFIOU!Q?gxN9YA7+V z9ie9+2aoAtg7Hj;8YHbnt$PM8ds@9N0e$I8Sh5td;s%e}FJhJKI07)JGERb~-9}V2 zImavj>He|ChQZQw4Q0Y)z`O}^;4sCxjPjt_VvR8k4s-j(#dsWobS6XNLuq2jT@}2p zL&`wG2|Zb&;Df4z8A&V!@mf48xuc;K-qGDPIzpt8!9R(ezYW)z&`kMU$2)Fm!NNG& zt}LGPG?zH=ZWW&Nc$(_>vktP_xpFeCJ`em%qT<_HdoX#PPwN>&SJfLDN4JGj!4o`m z_V(0sx6w4#75Z4*R}ObQ#||Wy3T_DOELLr;gS=KYk(G|t-KP=@A&q)-M-qK>D3NM} zR!I()mNQ(x!?%l=qPYN#tmt#xIYU7Hie#I}x)5@7iX`xD#^CFVf~kXHXhKNiBk(A_ z6ji)2W{BC|$0)Y#h5`OF%5!(54a|f30jq$f@YM@dh&|%*qUq70`er!+`ODszV}qVT zVeYBJ6hDIm@;yfUHhE2D<^Irav8ZXb@NRwC6gRir@J1%E(#w2JH%n69b~};&Ji&35 z;2)BxxhniI+4TB$nKct!UK}ur&YNHC%dW3!b8p?pVYIfUr>xzzk~-aiwidvKy6;hO zTYGjnsz7*YFF&IgCWWZE%`c@1rL`;9lvZ1MzMiwq?N3v^*7Xa`S5mn8i`)6#ad9J@ zQ<=xR9AF;oQ8aR~xiz2xTbfG+k?A6oQjBm&M1*639ViYwKsnSyqpSY_4H2>SUSydX z4<_B2%sg7}<+`IDkPktk zSeh2vS>9?FmX;P4(%#=*+}qh%SzEEsxVgN!k+9p_K+NAH(mXT{lSx#QZv-@@7)8!) zC?!_jNiC=9zU}!z?`3`b<)&fAU?u6ofgzq2+u2 zX$5evPFmaeVQpp5xAn8;`n&ge{{S(hTUuCU(H*a@UsBj|Zm+BATK=Vdtm{`&Uursx z=Hl++LyMl`jgB^wL{LQF3)=#R9(F~lMq10>~ z;#A=A71IKYxsV)vY5D7Q#x8;{F=^ZQp)|W6)Iv3nC%3lHbLZD~^w#!Jo?qs6yqDTz zob>^3ZG2Wj;1>xw7ox6?qTSBxuR*rgGScc5EloK+j|b>vUVQ}56Ql5qtsoD(YszQJ z;93zu8PlmFLcF5uS~5Lzw=ZKPGS1{62(d`kmX210ace+cIOk2ox(nl|j@E{=qH09p zYVmD)wEFPm&1-JCKKDVfRM;q-`SMv=rt=*Z-u(tkF9U|&uQhZ zZ4PIqcI7JSttvh3Y?rE!rF5Q4>rCajjo2%p3I|i%GAqKiJkIUxCDTKw{{RIMwf=NF zpC;_R$Xl2^{w|h6B7==lsQGN>a|*39YkKygoAY=d{Au$ojvp_WyOE>4{ z;!4*6ZkMUwXu6G-tENutYwHQwac?L&IgUp$?aA>=87zBF4r_=s1!+leyiw?vmfM!s zd1>|<)r$ypu}c;8n^n%T)FW$tqS&I~3%QtoN;fptTZ@MchaXc1YO!w(okh&cJIBR^ zyy(Il&|!J*7Lg-BEkf4}!N8GJ)g1mPr)+d-U2;S#N82}+qBlt# zE}6g*T`PX?f;DueE3e^}m=5=k@lreOvdU;o=SnU0CQq?uPgA5bt2F@XG4A)O| z=JwKd0?66i1&}|yP$&YH>?JtSV(ayl>g-&-Z9)`s;!m+B^^=xr-creXb#^wUtE=2x z+|PG%`6MwiNoSGL%I;f@N*+S_B|M-sfJQ)4aNngWk}2@D>MA^Oic9IRe}~L{gQk|p zW#xsWT!aYC@6b72h$I)=+@pd5q13(&*PP0pi&;EneZH#wXjOOTQ)6UuX`3r=*!X{U zn0m040En$(YP6^Yc+^^Ll9OV`mRAYgoBDNx$LE&olyX`_qgppI$gJ)p0A`CV)8i#c z{Tx=K(?e}S`Bt4{Cnwwc1t0jyz8=m-YYevqRNGitvBwfYUk&di6E&gvdwYTYnWWE# zy{v@l-ePY1iR5&flTj^^U-xp0avzG6w~8e1XU85jY;8iBBTc;)nJOqp+wCE@yPI3N z1W&B$vo{wk+J)SXDjlERoY%IjP>R@%P_b$~*u{1tA$5B-&o_%CvMag1_D4#j6Z3PD zs(p!0l17yk9m6E!m^sMM)kk+ws)7*afjyK2mhrK~g#(J!`}!7!loQ^4l;H zpL_{K#ai$Qja3&M&Nz^nw}m<^j%bqU z?dEtnpaeBI0-5Bvo(7&dnqiqa(yiL-*m;HzEq6ka?)C@*gO(Kg3*HfLp!cu-Sw2JT zuQ0Wni~Y-M1?*a6EV*rzfsSmi<{&Ek&1e839-8xf<5P0fX$P6|k392jR*uqzhSQU! zPgOq@Uxt4w^?xci4fUqq)3j^dA5NNkYm0ayh@S<87~+9J>#in?S$SVcw$o>TqH*{-VGhNgzZTUPnu5K94R0EKbNJ0Z}aKjq+R%GQ0v-DPmKqUg5o0A?F2OjMZoYW%Yt--6p^^JQ&{MfCOlAp312@I+Q7J$v2fqX8N&nB#!N&TN!*( z5sJq52_bqZMu#~2MOS(|OuEQp#IpKOr>>err0{TSx;l@viq3N9nbCeru#KyJtN#Fh z-lJ7P{mV{0S>anW-!1i>&Q!mbe|`HAYVs1i*mu21+=ePKtImxKLGqKD1puf3sRV={ zFS?;R1eYuVMaVcW9>bYDLeOA&j2FxXRlp+${#7eQ7ZxHOMZg1+dSsL+B?4aoa;++&Y8(4waZZC@kLb1Bm zG|d{{=rnkvnpXb+v}pzi-iPlcm3gkEOi&a|2?D5cj8!9<&XwDCqrqzz^z@JssA>@3 zok6!VHt)po1sPaDH?rT|wl5apu=9w4 z4Cjg_!_FE>ygqaDusCL1&O+5Z5_9}=}Tojz6bBwDfO z>Z;bm&@6><=j!~Fc6N@k2Qqyv%H`n6{ufYTm&<$T%FV7AVx>4Q3{S$FVZ!zfR?i+7 z!Etszwdq``Yp~mC{0Rm)mpN1OV!qmsx?7S1!kZ+KUcx510lAJ(p-{{V;O9i5ywRXdNR+ZVS!2QRatj`LhS;?@r9y?sX^OSN?t z=TZ&2!7;#ql12%M!NVXkqLv4k=c=j%O48m_G)I$^cd>a5;Cf2qMdWbpMez~_z|r&1 z8&5+?dH(>aGf~r2no=Dt+iunY%_D~%R<)SrnI{@Jc9z9%6u5`HxB>4%-X@hHAUqPZ;-ba(E49fh&}B&ep=*xTcu@SXkTui#T?=$-}t0GT?}`?md| zvOh)AT|Seyqj)2lDXyC6^^HlOj2zclf-rPuv(Hf~d>AA3car}A+V7Y7YL2hYTAA|= zQpMS|#cNKU=PWN=Tbg!O#};05hChX>zk_ty3{<>*L?H(WiQH1AIAZ038;4Fu3L^NxAR{J)}?G3T1A8chsyo!Q0_ zuH@v^WcEc?Pb8Z-U(C*+RJV-9>hU%aJi!h7QkFI-&@!QQ0LKRm_r>&;&@q>ygS z)p<6W_wz@fX~X$ug9aIqxa~#m9$25kqB91gZ!H#WJO1E|S>tv(8=r0Oba! z_4_|rd{%SH*)<&k_&)1F)wy{>UTNk=22IM|Q9Le+;jO{10FYwH_g+W+NAq9l?zi(^ zUeq}0P0--T5jFjIq##IRCIsru98m*SgZ`Me;}?tk@DdYH$FplTB}_PT@G zf$z|@GT5TM1dx0Q8x_b>jC)#NQ`&y@{Wkq}@~5AaIew+CU*<-V@GePk+<*2i;HO{Q zl8w#Ll3YhmQ9j^hLK#qoR3Mi2%Fj}@n#WMJx4pBuVUFU~>K0FLGYJQlNTh3+@S$-S z8irkFk4dl7&quDe3))MHl7!-=87<8^rcoQG$o)R=OS-YpW^`8Vbhmm{jnmyJ(r(

sq}B=?|@lG3HG$)IE2KQ#I0^dIAwHS$Bp7cDI1pZPZ=@M~l)J@mM+iRYi1 zT3!B(`&~0swU*BM&i?8fi)olx_BpV|gckwN9E~B(aKX(Wj1491lRq!>troAB-g-TK ztCn?k4JP5X^YTdKj&aE6aBI{SIFrF} zpq(E0l~jP-TvN zV~*`JIanH!L_PSG?iW(T3R&w0W)Ws%4ATIVS^Mg8%x3<(D@>$3iE_S#F96wmJVmdg| zz8&OF3u+$ibiGmTA9oyU(&lpoRKz*J5PIor9hsBFf*+vKF3=e+V`}`w7m^eJg#aB{ z((wbuj>I`bp#n#Vbt{Qn7{CA>3ilESbq2@rcO*H*q1guaoim++mq^f=f}E{VzY1O^ z9}-;vZ!}k1GwL9FMq zFDZ-Mc#?gcm3m1k9SB85aG`rz)I`Agy_E;1Cff7NT7d%a$OG#GE{YDJP1c3|_AcQq{{UqZ>bc8;E$!GP>%JAYKedwU z-`SsCE1Bw;jdS97h9gR^bsK;P1{qd5;Bpf~+HDil3@UX)a(Ug)Y7Jrblq1GmPI3cQbMYr8FN9pI>w-9sOUpTmOxtboCAabvAX`1C6mCNQ=_#mvuIcL@TS>?Rb%)AQ` z&|7Q7yNtf>#r>!1PkAo$cXMkS`*>VjTiab74@xrWx&sRcW9?Y(S@i-P$^^QM%;!>s zMi>vvRak^=Tcv&{nMW!?&KJb>%eLPy; zpk1Qv#ulqTakP#v=30a;0b1m@jNpaBt+mVUOB>IJqc&~P`Dayo@io#`)B7tKcD$4H zluX}?e>`zU57e$GkYq4|fPMX-?bdw z4?4SUUJkLh6@_1Ub?^40g!c}~)g9wP?K1j1n^|RJnCn@Z_@`m;<&H+Zps<1naKR5) zu9Pk(w=>q+)k6lPxLH$P?R{a6c{+UYy^iE?l*b=PEj;gTAdKroX1AR+axj$K;Y*!><5U<5k^vjRCyM=wr3X!V-~2_LDCAS~8oCn1dnmOZ+_?N|)1{;>INXMkP`CVeqgWS#^ zCDgu6&*N7798>9pvVE97w0ytreVS*Tt(sq^yNV~rBTOZ)Z0wcnk}H7X*DP|hw5wDR zUanD7#UE*%nBH7T{@tbd_$b?v$LEoPX|5XPZ0*J*9I=DWAEqD$9-$n)b&piIEj{%| z2c1RP(l)c=UecTMr$w}j&VMwd9xI&}m^-9{%m4+t&Ce-!CocZWOxnbX#k;iX;-A0t2%LvWd&7@1@PF~ z1TD9Of(RVU4#7XHpp!);Sr|gNBP6zlCx^B;+8hP~HlTPQ1Zn`T9TaGS;*-LNy}X6q zhi2~hEpF!Uv~6q)T|l|X6}8D$+25{A5xxE#g+FHUO7e=&sJG%n4)Qtt(@Ep$n~%+o zE2nxr9RwVRA$WUhmU!YB<{y@Dd6lwt%_v5}s@li=!)(sxwPDt+80W;m_k6KmMqO_7 z;Ue&-w|Bz0rS^998Z?^MqtwE0xbT-#`m;Q=V4B`ZV7Q6!&jgY~aSV+~p_&)EDWZ7h z4rAE%kl~t&?5ui^c^0IqvK<=cI2IHk{J5qAgHhhFlmXH>S-IN1{?Z3R-E1uWdweJ@B4uc^Z;NPkJ6;NG&H4%m+yn zQ?7ZB8CBz$&uw&VhbeF*{O)!RJfwn(FmJayY|CXHA`7cd(0v20};wfIaf8zWkn>1jA-#AkGXloxy3l-(3ph71J_3lg_TH1`NAm( zPs#~7bPx)u$a)HyisU1fQt`@)01BK6q6z{xQKor84+9K9YT=n6q2q{3R?3?gb$LOy z4OI=46a_+txN!@TB_y5&H($a;=6^F}007QjR^kwpP+EAQ81{;(vom{%rKe{6eO~k`-&fyFy|pm)Fg=z5_#S5d=K?ta$CQ*KG&EbI zER?uzW0eMJ?4K$6i&hz0M>B&F+`;+1oVkY~RK|@qp`{A^QN&@5j*eL)aKWxE8H0cw zI0AP`< zvNfu_aqCLuYqW6G$A(9a^9Lfc%`H235!=3hf6RAW^A}}Y?Yl|swCj7wOm~9OkLH*V zLzY7JG%&A1*E>tfV`}Fc#iPsek0n~sYL)pXCY}{MI^TN9)-?;Or_aygNcWX*d%n4M zf?$Aj*Q11ZV?*jXdur9L9Iz;jTlR|6gV3ND9#jc}$+%(IEw+1u)Tu0Lw5ddU zfU3A%O!Bukk{e&A-_Frte-v%zi@}OnE+X*dhyu|Zr4Y|wcA%npo$vBcD(2Ml+FPX)K#lJZEvfug7>rku z*_lF;>2`EWHmLX|fHWbN1qBgqGiUe*XA`Vid=8AH{fR&EpZn!NVMFT)g3CLiW z0Ez9W9x7ypEorwiY1ibF;r$iSpk;JXwUp0!$8Cr7xZ_Y|P_QJmWAZcsT?gaCp{ z1OSXWFsvsAo`9FaWN#{l`iVGXFv5TusD;tGHyGSTB^QC{AR?s^DNGsj(_dFVADQX> zH3(?bA(aSk;pvyMpbYfSg7j1&nf_l+6$od-phY&H#X z*1<;)U#GT?!Qv69e+wt~KgQZ0WKBoOWN*{0I_VBkofR`7o}QhR2q2T^clM9R^U+2- zo%T!iU-7pe)}UdXz1O?@V7tY$^I8mB)gBP zm6LP$Ct;&p4jXt5R>|Rx(!GoM=~1%J%MUs5$b3y5h3pPsaq8ntRj^>bYrd=$KnfC_ zUm8ZS#OG=k;?$Gu-}}_3>V94n9@DMJKdoIw{{RYd_BXDo+$t9a@ z^T{{Y+XpS;qesn%Isua-)W#MGx7jeiA&_>JvcejHlLN1*;&eh|E**gsEusOit& z8th!JI*#UKQ)%%^F)p*v7!I2oIe;zk#nh}L2`eo16P^nMezEd*`+o8dm3VbJ%P*Pp zNYVJ3l%2Hy0D{8&G`6o3#gchQ>R98B7~_g2GAN>CamO5OYa@;}4puRYXboc+(0~Ad zQZDKD7{V6q#@)1|2+<^!5=mf^StYn1A6NcWN8K!006Cvd0;b`kk%vD}_zIER))Q33 z6-V-lR%5x}e@%es2v)oE&95)KwuSQU-N|ENbK&@rX;C=dYc~M=o(`F6CAtid;3Rul z5IMXIYRJX4hDVU|N1yzq`N#NENKM+T#-29Tm#O);ijCeC1ZN^e?60BG=UKP~y!{m^rXscF2CrjC}} zs+IfdH!jnBZDVQ=@4L&P9(itk<+``VrzW$!Hx8}1^(O}<&Z~Ph+o5BMm@Q+G<{LX; zepupbBWhsLQDA;s=YC@6-euOlW9AKBqgkwfYV6#oo9@LtAsx|*QCkrnZeE_5QnQeQ zK*O_v_Ty97GQ>1=rvXaFLCqK^R#{Sv@CG^;)3dbE$OWt9<6bxJhVa)0i-vd5pgt=Q za{z$US-zuIpNTn1R|q_N4)NLFiLJ@AHT_3K-Eqyi_S8C+%rHsL!LI30HfIL5*5*ew znuHOw;S}x;0Rv@gKy5z_RaSIAPX3(#0JtwOd1f}bXPLZCWyus`l$)-m(xUFpPw`^E za^tQ_HzJh|>DoKnY;UbCn!eZ7t+hK-$|huPEW5Im!G50p&OqCXNx~c+(aZw0mZ2)u zFlX&=Ecvs`{&3~%nfZHDZ&9Yhi7Y2=zq4`m2-<~jFnJ58I=fO^!AE?W>i@d zXp1>Sno=R^&rrC40fe!Sm9j1ap{@it3W>B|8;&?;IJa4xuPhL? zIIE9FK~X3<7I?34FXp#|BTE>m^2Xdh>2p%mv6aa)e_eR|?j$`;JfjrMH8G`ag-T80 z$Bhd|)b|#n9-V0Cz2q4smRTNQwuPi~&n_-Jp->FmNCKo(rs#|8+PQvw5zp9OdViIB zdMKk8^50+2hlueowut1Ru|x~QdKKiQX;vVXHEir#<<=K{xj#WKv)DUE1KrUrr9|&s z$#HYR2kmBZ;Y_UC+>KDt=~f&Iwye2)tI@QJ9pj}s&q~v+NM@iKV6(T4`02Mp_JM)m z5PET=D8@1PQK8zk2sa4DbuN^44YX1}7{SjHsL+IvN$5d}RZOO|9pSYK1Luf1t{lXb z;Jg6>lx{wTJVOP%ZAV-ZNDIosxEzNvjOt<<$>fIyeGubuC#V2dhCM#PLDXf%&?<@c zjm5T-JcRk=L+&MgSkR*#DQ_Jinl`5`v;lF)z3wT3(4f?N#Zuip*3-1IHnGr1(i7n9g-p4SIJL+;-d!;ixFzunReig8g zTEfw8*;wU`?r;EN80>&J@jl8{@u02a(kqMw$gjZx#G%6)BMYJ!aXo&6ic;+v96k7o z{{ZQMZ-V~-z$^#<0B5~leOGZ+uCIAr{NvT{Wf;Sc5!;#ddg`{ymKh2_R7F%C+KD2{ zU`uxGyHe(K?+!?sb1ezZ{09eMwPaRis}W5$OPa+_gzH~;r&$_TK&ludllF1Q{vF0S z*x-slC@4OG)LgMu7e}UDCKk^aevk}Q%Lf*p%SMc`Tb|?AFT?khH=7sB?J_&7XrR`& z2PVC(86}!58w|ale0w zr{TjF()J^ZuJlIz6~kR{>>_doMgi{Ok28wqG2>kX>Ux;m;&i4AX3}(PU*TmVNfg<9w9XC=Xl?=NaR{{TI|IK4e2)o!oxA;t}> zVRbFNy_KYb>gHH&?clX>E}D7V$YF(%xv%fZBf~-rR)-r|yaD-%#WyGLtX)rKwNEc? z{FU+>ZFzU2Y9`-W)HL?kUfdW!e7E<^7yGXGx;Mt=^T{iqW3eHQZxLR7UHrzW-jeuJ z{{VsWds@kJPH#PJ*w)l#Rn)M8_nenD#?;ypIV|qlm^4cG$O=$~$i{%3wYSAjp!8AH z!nMT=H(Og>vsb%LxO`xf%>ZQR6d)oO$Z= z^A*ELo;@~8@g}1Snf!}MkT=4PD4ql4*EL>twXA6IKJl?M2RYS-{n=l*tXaiZ(*C4y zHQKAZ$59;yi{e~V!|gx(tI@RchtGe+KIQYXTap&O=SSFfGd$>9U6OJ(PC`6AS6ncV z%k5HMm^IwdTZ78XL3_HoZ7ekL-*M*tu7lh1o=szw+O87Swed^c9n04Clw?-Q(pb>$ zQVW7$;xJs-rF$z|I?6<|M}wWwjLYAaKQ9oyI2x`@s^g+;yY~HDab<=8^uo(1ceHWwbY1kJ5oG z8itzo2SKVr=*eu3h9?5&HAImiUh0(7U2&I(FQ-9YE7i)?&&pk@#)`Wh@21nwUDskG zmPuo3p7?SGm1|J7{Q&{Sy4Kz_J*JviP^s@bsJMcv7XixVmXr(Ao>hL+r3^{-#N7tV zOWgZX;zRV>$kTN@206eqYIYY5Z0unwpH*U{re-eMrtB)z_M;xM#~sLO7kV{Msr^sd zc%Ase*sR!IcWZ67hr-eKO|)CLOke@AG1{clH&uc#FajN3DT-i?c&|gCyW;89d(p$` z*nLCGTF=e$xN&^TZNc_Zo~jAI2hb1va<;f=3U+4YiNy~G>5hz?aXF5hC~Mc?*QE*O zG`}Oo{7c$%=beq@^N-DC&HiC-&SlI4tX=YqvQJ^FZG5Qx*!vNyNBt$A@}d3+k((AD zq_+VOMy)xLdE8e70i+teWOQJ@6go5_bRu=(*F_e@8EALR0)xx}0OAUS$AZxsmFpbz zg!GhrF8L7^;#x!pYv@@sgV&9&pSyO*C;&^#*(zH|4J+H#+uyE(5sOe}FZ zzA|{%D^YKPbzRnY-e;!pH5^g-bH#P-UrpyrX>Cn1+D0cc9V^J<;9hxw1E7k?`_wp> zAL2C6H$M~`3Amp6$8UxA zqlae0+Hx&lkEQTt{{Rx+AKBUUb{yjr<~IZ&sV9+BfKuKhrUNvsZ0-8ZrJ?wExqFUWL+TT+8=yPs!?pYkADRo8r=vWpX zgdZ|4Tg!E>?8`@T0$DZYr7K=YBalfRnpy~4dTOVxva(V!&&+x#;}~6ii|Z@>bMS@c zHkElbvo+15bQoM2%X_HC9Nt#BgPKi0kU8yhap09?b@ru=B)uP5ve%gOcM_Kk#JZQ( zLbVUWcbir%CM_>Y)dO;FovzrqN+pcHr1S~h4v1B!q;YS`VkKI=x?dfg@OmvSxjs`@i4 zXFc8Kxj|^;AwsAKq+oNa3me!F={S`@xEw|UK0GK?T8U(p%G_{03a&jMg;wGzTNSYd z!7-pH99k2w_fs5K0m7At@FQBwo%F3kh?$sjqW2^T!9ohIPXddt;q4-hkJ5 z)J{f}&064CK2Ug)*6JiV2EAJ!;7MKdN6P(+(B!x;p?dvOoIuy<&d`K?#}L3 zOFSkwNYFWkLCwPlu!jW)h+1aTbz{mOq*&>9mvKQQ#DT7B+(Tc==DDpUq;p0U zIPj*5PXfzvgq;&6k?o5n4ruS4A|KhjhCB|Zv9AGB3Vsxg3ffN^i{pmI#3jUcO=)WL z{o|R;G9pGXvAJ-;MG^a};U28_7L96Eu-p;=$L|p1^M2DhR-4*YB;~bzI|a8p%D}L( zwy%B|5*dmP0nT{}2u0yTf`Y4b&5;}J#RRH;iH#WYsf;PacZY^clPtn|>8g=pl8*L5 zH7#Y&VQXNGz2^gppd$rNU)2&4)m)H{{z=!yt8y|sk6@D8 z?t6(G$qRW49#O3T^8yhLC<68oQ96pHCh^FMYxlQy_Z*N)=-TMmaBE3ww5k#dg8Qne zww?xS)0AaI@GD(%_feIqZ*Bo;2fHUICBU};0stHZQzrMAFHUbZ$h5IjNKS$= z%YZA}L=Frs)-L5e@t;BYa8jid`l)CS4UCsIBg9`Bt?q(wQ}1>;(zQZ~LlGa)K+;K@ z0;NwVBrYXa5UWyx@E}gMwFCB~p-f7F*MJ~{(ZYauVi9o$pY*o|XBR`@%q0WFUk}4P z!CDndLCFnAN@I|+j5u9#p;ySwi4YHt#%Tg6XoBV7gwO9~2r7@l+;iH|tW;mDYnJzE z!HgOsrD-Y~^w8mgr+!x)`e|FXvRD7$e|>Jv$=Xu-U&ZT1I#i;Pxm#2f>QSt5bg zLy9{PuI;b04`K5aUr;|4nbGO}6$oq7vY<`+dUcwBGp?Xa>!<@N1k8OsI_dyXY5Ytb zatLgYu8zXUglZqdN&V09iXUW6N6BPw)7Qk(9FspaLK#pZ z2|joK0BHKreY8=E=Y5j>nfz_X`9tD*Ds4J^tG^=EkB?`kMOV1*tc7gPJ_GFhly-KG zvNv)3CC~XXe}&XGhF!nXY1i3UnY&o{A-HU`KD4>c_Vp&Z@6z&eVL;QL_j9RQ~{A`?;t~Y1i`q0QIrz zIszQ9=o~%ERqaR8?c^_K+ttQne&}rOf6rwW7I~uDQ#FcTxQ%{SN&mpA!HDi9a{00-@>7j$Qm>obq5{{SkZ z?u@bkb3U8}O~Xec4t}BV6(hH-AW01c&LOR6CC(%O018Pb005=~X)3%DDE;gBkMhrE zGD~=MQMxr~`I~smq}s7W04WZ;^bjIoP+T z{Qm$ljvf}7sif8vo!a}}y8tKF zE)&;I~pVWn~DR3E~oa)@hfba>Rus!u9r zE$pAu!ScDFtqMnY$~KmAZ>bCBi$t<}V|+S=+ua;8ua682<(f9gzRDeb*AhNSsMw^Ym;{KZg5nI z)zQfuv9eg6$zqj_k~t%DUmTIV2Qln>No&~ll>`(bko_rc*_DWi>i@BATc zuP|V^)wV3wyFYU)=QdswhS}9+DobXzfv%HBnnx$z+qKbW%?pc*g;TVpiou_o{{U1! z+s7pHb*b|YD@xxk=a|capUYi)oMM}@-|t&aJMFgkmzI0S%bn@v=CC^CxfF+DAnUf)y~nEh;Zv59vKQrW_kH{+Cgm!ogjib6n%+Hu#puH zZ>QNoWHQV>quQSC9_mI|C}VkxS~FE%fStMFK^82<3~zZjf`ipSWR8IHlGY|^x~<HOy!3!c0E_Znf(DH~>0GA_I8x8L!E@y|^vxYx;)n9b5G{eFtz$q= zVxaRJ0VUmd)_-Z5I6Az?TWI+juKA8-K_GNt(0%k!&D3ydUIcdfs0@X13`QIPLx}AO zfISo#=y8RCq`Nm9&qhE2+LWUq!JGhGM^9I-pvY41*v-f8q{A$EPZY|4@y!r8o6L)m z_45v(p?=DJhd~RwtSv$8D5HT=r#d+e7Rg4L-qYp@fPXkuz@Agnm)ljo@)BM8hemjG zW~z&lEfLVNCKn2tweUBpzIS|y*2*;&vl+)v6~$+@ygqG;(@o9j*22bRpm0OZqI_- zmfXIc(>}KU0Oj=3xVzadxAkY(det9>?2wR);kXdqpc)aa70f(_ClPsvtKV-;-G6ms zX?u64*f{B$ShuveoP9O3+{q_zByPs?<<5UkDQL(9-)bt|x;)wIbXMV}( z`jHZwXKw4eDb23f*QPFrxF6+Lk*LfSnkdu|6mY8*%W2~zYL2H*87?c3&w2~dJg@Tx z>h{N%Yv0CA#A)>|wzeT$?9A5;{Z;HebY*_k9woPR`Z&SF8zGF;b2u})8_Eb1R1_J!Y<@%e`i;MFt%bFA#mb+(q) zdZcqoWP?Q1Bk=iVWw~^czF->Gf=OPg$Evul@NlO^C9|aBb8Sp@o(r=X@W$+F+WsV7 zUxf{Z&GYAW(q+s-OAW9tH-?}KL!oUY@G`0i2*`&s&vJ8#boc1>S>T-b*fTId$>Y0))`V|CFVQ>aQYEiN<47*2h} z%o^tD}07rEf^5_NMFEk}5Il;li#uMZe_M&2H@7u}OOuiKJ*kElU13w7Hj4 z_?)_ZiQq(+4Cin;vNAZ;SMG2_4)egl%(Xw4)6y^TCxYnS{RcdLH2mn3d2aXlYoXo; z?LC`x;j9=O9}cy;n4;yprQ}eXxJhGmYj4XWtnpn7r6iz_mR6tyg*fCo>ov=%Dq~Zd zs@1{}#;Q#8Tgu(pt!+DKVxGe0CR-2@kfo&mMn5~e+?!allTUkYdG6Y;lHwP`&cL142eqyot{(b*HH4j3Mck{GM%1{~Ff9+k zkDQF$RyxO%`-XO1U1+wK7yDS<5dQ$J+tMEoRMDNxNtgLd(+99(ex6bXc04KO8g~Y@ z5y|J*vG$m}%gcNjN10hvjG9yEmdSSQ>0KpT=JwwkS9oh0J6e8?u65p=_kw&~Hu0s_ zz_|xAqeC09&4-DrY|oC`mfgK)PnKT%#+o;N-cPN4DsvvL-wIAp5v0Gv4#>2)0qh31 zM|t11iC^wbdHM#QZLG%P9i;1;71P`l^IA6gHr+<#&91j|!5l%Sgm~MI^v#wmtJ8L$ z+Ju*FFeoqiiETDsZJ#c;rL=8)nqBSQlXEk3b%wmhUfFXI^D&niY31ng2^FiA&XS$J z-$(pTuahsh-o2%l+DWds;QhX%lD`Jv$>&wOQxEi}bN(U zajf^D;#+BEvN?L~Kjt*fE5969TKduIHra*JX;8h*X={zcS~FFZ>~|?%E5f*!AH{*- zuew}m5Far-wa~o8(&F3uk~_m^XR2H3P|aa9cK3{Y0!9`^aQNl$qq?`5%z6doIAQ@8 zTD>c8jv3I|qt@Ng&E2z3CmLgy(Hq)cQ|t|&;ElVrG>dDda)Ez!0MvCiI1D6p_MmRA zn(Q-Unu<^Xg$tMN&%Y-?YB`3lQC}M5oOdi2p-{Hm$4L`fNMo3Ltqv&E{alMebXI!N zocg5d8v&3bWpE<`903j;U}RM@py{vY z;==U7Trpix)$F*v2VT!N*?v8%>VIEh%e$*#ZoQ3kEq7jrd8ElHBHDRb;@I7Rhc%u2 zPLk4h7LkB|FyaMkgyA(}n&$YD!D#n$32QYv}oy*#avH96>1X3rQhSPsWUq zWR*y+vchef{&NOthbxek$R3)iSsCuHhqR40-RiCg(ibqKaZJ-ZDNOXnrJdzV1Y6d| zSByWG>OcUPgA+~&dhw=?-mj>(+Qt3fdJ=h@;_dCKI1XRC)7lyc%jm7sm?2V1aG@;0 zJo^ZgQ6NRjfCq{kRWVvA5g^%Pe}oGWSl~xjGJ}c1PIVfq+969*SsS@h!0UXIW%g)>GTe(CDU$W{i25@Z!|ZnXM{8Y7n^LSJt^5 z3aKxJ)O?0eOuc1Po6!Po8?-nrQYZw977tL|-JRmD#frN_ad&suKyjDi?(PJ4cj?VJ z=e;}bzxGs`evr~rWPXaJ z-IqX7Q>XL?#`7EP7o?=XYS|6?^X7u!P{hs5=L;#DBvakw?MPxV7<78RIg_W6b&~Nl zgJnu$lV2;t{-VGl$pV>ZE(+7ByMWUF0Lryky=3))n8LycaA`1o*z4t5-GiK}ACc>4 zfV;A)03>lCB6c&d3t`$vpW`tdy{jS40B`SxWP}8zl3)iN)*q2t!Ije1hdvKRNH_D50NT3M>w;vUItB zvYVYAtCTc!UCs4NjnM-Pr@eAG)8U;mTbOA6G1iHLB&QJ$Q!z?8=OuqD&gWon?s5{v z?$0iwUyM21S~=I69K0|{NQx4Kge(){dPd`75J51Q>h(S1bd zqufd^Z#F`YXjsi9_u;h6 z;gRO~$%Wmt~&M}lzD}5=T5B9dznReNWd~WQjuvh`5{rc?r zrgp#4GeeK_VNGWkC^R7pTM-RVl4>k9+6T@iUwZ@ZURRaON+Gyw(Um{*K}3uYpX5b zV6#4=k5nlsXN6*?>N&78{CX2F;ji+11nKqDk1wcL+Ttyh3ZDj3w*ZIa!Q`|q~kSGns>G&KH#U4p@irh1%Yt~+E*JP>y64xi^@=X=-x)?;BB{8Lb@RodKgUdDjvaB;4C`$QFOm^{O5-C63~I9y zXI&INMNj&Z=}u3oo0w@(69fQXd&c(Bydn=e2kG*? zihJA_#XvI`=rN(Q-u;$gv0%lD``57-U2?OGEsceFOKn@&^t#466BhiRj(C8i3WcHt zo4B1<|6aDp{)9H@$377QSS?ulTTR5`Z6`=ux;MHM3!%W+;k&l`&za(_kpW9 z%F{V32V2$Jvxx!C=PS_#iK^8-!p@^5cdZKIx$xcf3758ji#30d zIDga84ZU{JIW|!tmwf53pH;D_oYf|9W9?048dmWa$)#3Xa0pJJ-Bk$)>-H%9K4Og- zYSiHd_yI302b#{OHOAeo##Hbo_)I?$c%AumH|3G^-SXyl$>qXZasATyeb$8bbn(AF3blo&%kK z%EENbq~*G3`AkAd>rXroQi4PCJ7z|YB0aZ{hpFmINk6AyyrMCwi6sEy#@JTuH)J1_ zS?YEvA9Rwtbf{0PZwvnrl*>J&jo)p6A#t`X6dBZs)ywR#1K&)`xZXyb*^f97(GQA8 zoH(@T&cFSL!dlvocdc3?_LJsNDMkScgI1*oJ%CK92=>=cS;fd`WIt7v9VyT?miKlK zwIZy&N;hnCv4$f7dSvQ0s&+3)s$s~-0-*hl(7s#B z;&N6h&WY`p;|@o_A+h$%>9<1(JcNOO2)Al?vk?~h0jB0GUE&Z z<^i3fo>%U4DtklU!bVdtSh2J>XTd>Qss+~kMHlfnEYQDrI&gYxNT!PeUqRRBto-5c z`8Zau?#%M#=#&|E)hiq!NUe=!4+ZCCzn(nz9+K2+Chd!lvyIME#F&h=3#_dM|FqXs zQD(OC^UeBWa^3x)k~Nlgdi&(`HRMWrTWOOjqy`U_op`#@jMqoqy}vB^_q7dc#^_H@ zG?@S+dIwHGGhDPPaKlUSHu-VZ?XlH)o)H}7x)R+tg`@MtP_@EWv9ZQM0M6~k**6`f zv=SnMYYbOTS-B%y62BW$-CYzldNYGQVFS_E8(k(Q=O4VQ6EbL;+KQi&Tb(EJiQMkZ zTe*@cEvzFc$6MzL6SJ@MkxT8WY#P_9@GLC+k%(YKJ!uTY)y8KR_w)R(OpsZ`{?EA@|+0J^;s7JUdqncUX$;}j{0>gLB+*Qe2 z1=x|59qqXl;)}%i7oT7Df-UM<`wkUBMKf{@85Lp6%I40phl|11FRF&q| ziG-hRU*o$%bO*b5;!d=p5>wI*VgX0a-l{t?tFf^V_dpnkD?Hy6L>#fs?%h}g?41;F ztWg)U&2KSb2!+lIv%V@1=w-%y$$a|exu31RrogkwdebrClrTvbnIK1=Et5lE%h}SG zM3H`xBRh%^sHTggj@u$0KRa^wg%(%V0m?BOmc9Vc(cr15Venu-z?N`E%Q~Q0K2=k9^P*JEoZ?Q}oW+-g-p_SG~y_MA60#5~mi=f$FrVMW& zqtzrR3RZb$3Qk0thPSyHmJ=RQp=pYe*|H>;)Rq1c3|+Bfj*gRzKO4iK@Y@<1bj71$ zm!NG@Kw-DtTTn3t^`u^(jAcxMcn4PqAsZr}rkqDDE>dTNG9+7lr%%)-RWN?7m|REN zsf^R9o=D%NK_%hUhI0$%1y$2JGYy*oC0YZFvm*11eG56b=SfYj)?p@ib;KoQ6~(?QXNk8O}n>E_^Ho!x@Xby2ZNKN)n@f~q|hM2tm!)$ z_X_e4m9mx>#LYhOER5S%+K5f$THU2z-e0v8b;;9Q8=Ym`&O<>U%891Nq$-F=6nosG z$I35=)eOhCjG3p9;4aiQ>U$|}j}_kcSAtclAynqv7lgoH{T;9l)JV3E^aoUP+52z6?(#_7E)B9bJ#nt9`nv}M&*pF zfs5wbPZUGoQY2Ba@6J6bQ=D^{$&FpF57Lv$%mYxvC^L_P`xFzpt9EoK^8S>=e<0yT z*)4>L#?=%$R*!89wee-RwXmUZyhCRkm|=q_owzz9=0zSsc-x;J^Zjn*UMmebHvH>; z?v{<3v3$u^E7L-+ZaX(BqFPJOJTbNFyWZByZ@6L6O`>*ZS8jBV&oF8byt2M8ZwO(k zH;7b)r1^?{9!yX{>zsFrVyN<|D7SdF5|Pe$S+!EO>tmI@Zy78_D2g-%9sknMZgJcj zQ1(VC{CqL)3%Whvs#^d2Kp9?H8+?BoO#x?Xa}~Z7IA7j>WQay*_=LSD}2$w{(J|YUj4td4OyiqV_4 z_xd9V4b#$$fNK7Rq0Tmecx;1ZEIBvF6?zoYS6(!(rzgV2B`Etc)Ri(@Ij#e!KoO<# z?kjspOCV$*AxXE|s#fbOhqr*{`ix`Yk*)gM-i6-XA@9=~x7dB=(JyB@sZ(39jW+P! zHI^SW!;F>lS_U3$wF3Emgda)wLseCisBA`2o`H2}yMY$a4bj3*iRP@P`yGx$w@t54 z_bdBs8Sfh?Mt-hPkQ={ew;QsbAVzCEeL+AY-mrcljLEzO+8~HSN8UbqED=jY&DMB1 zWJRWJz5T>#z2+%=5ZVn<2ZmUGEbW|Ds9po|0GY$PbGF!Irkxc#FFN!GZ|A4PF|MnMX=QR#kj(_|*#eq4BLOTsf(u4?YI zi1-=l*B@hnFxZz!smW;SWagBi2A!b47$r8}n%(H(-K=$d6k!Bahd$cp-e5s0L)RCg zb%v46oW8*URi!_6EW~(|N6B6{D7Q7w=ncynFp`pl0Hv%#6&2xWRGJ}%NyS+R1PEsX zs|yIHpIT*HE7fD+iTTZ#l{!r6x46J#*lAiVd5M?FDrW&^vxb48J=q%iY+~-w@RqFOrRS*Fy)q{{JF4%;W z9DoQ9cg9Hu7FM)uZE}s40Pz+ysJt%0lPK@1QbRs6ND&3WqIKvZ7Q->E>Khl-wqB8YY*N%&v37V1& zcr+_Bgm|0K#jtJV#7?`rM5Ao^oHz-bQv3rT-%YK2d2N~->9!kPTuO8S$^~R~orc(! zRQXp;jtY%aZrU6qK89K+Wnbe9{vx;_5R>S>&|2(=lwwnCW3 zxGIpc#GTMMk0tq-3Uf9rdOL&w z!t%mZloM9mcO(^FikGGsz`nbtr8YCgW<6fD#=j^rb^2}2nJ{!Kd+$nXm3cC5 ztf?_tbI$<{PD^^eMqWCCC1;|gGa%L>c!ediyh0iIgg)~> z0I~YRw;hG+ChI2o(2#-k!B#?|{v(uZ%H$Ahy3@04B(+wEm7mas=&Y7;iAv?<;D+5l zfYWo^h=&6C;e4uU^_Zn{;`8=Th8{*s$E>~umsw6T*NcvwE;jOVTcW}8bJTwO$YVT4 zug`f~coN1Y6Ebv2QmDi5_BC#*SK;AO<0nb>C(W= z8V@pwWy|azEY6Mq%6^=5y*de8CbHJq+~!0?to??3CRI2;cgN6C1P8@zG1v4Ylz#w6 zEzA4jyKouTu&nmZqgHa31-Gw`V zC6C<(ipDB^&>W>#{DuoR#VLXk7wl!H0{q0JuPfYlDCuMYqQ4`ws*u`mZ1#spnl;5; zPU1u{FnBqL?sswo#KEh`xG(OuMv15B+x{rZJhL=7`6AXl!eBC&MBq(_4Q`akZu;Db zk=4HRlFAg#=di+LV*~@>xUUIpG5<1*k44g7O=;N#JcM#<5+_-2JRzW)cvt$}1}1%i ze*kvW&ZY@u=?MJs#)*vCJ3@4=3Bot_^Nr^T`*Ga$rJ zu~ws++SYovZM?rB^`(3VL=vp~F$-0S`2i>Bn*o4j5eb^|z0|eCN9M!6&(kaCQ_9}iQ-EgOjBb&X%c>lQ9f#(h z#+e39QyN=%jE?jT$j14PkRTTPJp`_djmqdg$Q6{n`McrvMtu_!%Vx95Rrkf=NILnB zef`(kT64NQwr>mD7hX53uVFLlA1AGO8y7zg+wxUb|Au@?J=_mA*D;Q#(bxhG4w6ff z?24((DqtVTv99T%|0Mc2TD>jJ>VlF!C&(m*ztfAbodnO#jX7f1N_6?gxL@68_DWg1 z9qe4Ku;y*%n*5sPec=GYPxm9H!r1s7(pbek4cx(Zd3IJ5iyN!w1zVnH82CPJJUI?& z>TEC6Qw4rCtH=9ON9*LNG^b<-Fu+tcQ2iM9Tg}Bt`0?>}%9uU`NnAW&$Z&vl5~F?) z2Z%s@LTZJG5{k`>SF)7!K_saS5k7igt88{fJwGY98FgdEdf!fzX~bIxnsmT@60t^% zkSf2RTgn)NjgFLlFI5o^EUk!+mem=0YR)AI?8Pd=D-IDHjvuFnF}4E;jm>dgDb!XZ zn>q|w<}d7WN1Nmm1DSG}irG}DIcaYIobcj)9Z86qK=sFfMwW{g&Sm6mO(!C5&ZVKT z_)+qzYJvd?Lb%L>mO%h)W~r1~j$DB>uMQ1E_Pxw&+bi8UcxcsH#zpEqZiZqnuJPwL zxn__Nr~j>uBM~JC4BbistGK6ETD{8JZA> zomjtHyXi4~=Q!3nv2xghT3ZO2dTHf3>R@=?-@+v-1mqbPoLz?MOt>YXsAljt*~_J+ zX+i=-!^$XvwPrv=_D*HFqq8yudMrlnHL%0K&U64|k747MS12d;3n-vfGEXc>4hDKD z_bt|(aXKXPRT-x%NV2idqxa2rbI;1v)%z#kCtt2;^=!5_H3l_Ki6S46apoI@v!^sC z0uat}cULRMT)CvKq?#Bmu#OYo`o6voJ!;DVxnH>W>NhOrk%KKB!e1oY^0N zSIlQHY}q~dm8^n$+vxW%kM-*d`UHvfek{kp3U%8dYsn8{!?|K<=@2UeqLyj)L9ffvOl8;-w9*5DKS99S}jZC(Yo=3_JLw5&av7H_<-; zbeYh41Ry~dEm@(e?~C9eyRy&)dY-D_*OQ}%^qUAB^Xm&>NA&jTX6{LwrPU*kUp9un z49A`$4qBRxjLTb0OK2ue+=>+B=|}e%2wTd!Ds5_|!`pU`-z0DJhz5(h4zNWFIG{>d z^{>k*v`)9``u^Dm-Pt2pJh}=pabWYVppZoBL@Dg>TgL$c``pw%s1Jme^J|*aK$2k^?E*U6lB9J@`a(Vi?_WhDcY6?RUULzBsS>S9t4maGSCTkt zY^z0!4uFIchazC)cTy}-$`?;6L3#5y@Men@R@)2sDPQx^FzlgPQ4bV z*^fuU8OC zxjLi&PW89A119ZR_st>s+M>IcF3cEb0%GDFy=Rkwj zqY6tgoKR^mw{}(gVUrbsOu;fwwh2{gTQ9c~X-AYjU&F%w_u`xvnGH`{Rvo3isIGT< z_4<8GK5HQF$;~e^s?>}Iaf$b*HqJ;lg8AY>g%7W&OU_(IkiCWf1PDQB&!)NW`qt@> zHX`A!g&vNu4!G9lzY+>dLEf=2(EuYP&R7Ky%*Rh5<-g-_YH~mQJbfvJ1v1;KcH?gU z2(@A5KKfj8Qm`kC=3u8VMXTcET~BdI*TNW>B4!ZO{}(JwF!v=8fxrPktE$SW|Ov>It*5$tG9#P7=$bFxBHIxfNjnguY8=?MztsiI-jmbSb zs$?y{0$yrQo_kMX1kWGrFW1&J*RG~JZ$R4MTT)nRR$S7D@k_NS{2vzSNk0B&hixVp zMQ2^DT>msQdmV8dpL9em;bMC%!Ev(j>telI_se`%p=Nt>N752hd0VhH@Birjpy1s+^zcT^Q~d7WQ#%xDZbv_bmi2tc;yGqpkCnd zO5q>&E9!FbFdOvNKbLERtXxQF09QX!R3%97kjoFzZWD0N{b5vP^!G`O)l#9*pilFLMiNyqK} zhh4Ir5o7RRYW5)&thhlUw7`HLCnoBQ*wd8~EP2`kjG=~+2Vj-?m-S$vFw0nD!#2l- zP!H_{qXeV`5r1k%kn|JnlooplqSq#_pUm^6#!MRR$c3amG?BYN0(OAHM6O z;c>zRQ#fK~z=i-V^h_P1NnO+m*GTcNId?)SNVda`m1zG63w+dlD+n3@z>V~ehW-fO z3C1Dl!;U6XD0U!oRbWvuVn)J1u|LW4Yp3|3G@A-CIY;CgOtt@z2DT@mM$*Bos)$!* zkzauveL0vWcnE1?BFIy0K}7K@E3y}pUtklzeerw)?ady|j#`sGtsr?hvS5$W+t^Z! zpP^6}LXOi&zpN%191dqi-^ArOmRn4KEJ$ZHc`=Mis~R&4bo_wCAB0uI_lL<<*yIcy z_+v_aLR_p{G>Bi)zzKNlkQEowJ|m4~e91$Vfh?WI(c}{Od2K5&dV2Qxip#8{fL4PU zi$>Jtc|@4KVC1h46gagl*1UZ!WwT;CY$y2pH(yP)Lt0kaqxax*PyZY{RCJx^(-Saj9-It}2gySMQrb6^U3EWoYxNZu1t6V=aJQ?l(_3WT@>_9v zus3j9N715Oo=3j?_aX~wufvRWhAyM`U)hrGSgz8#6y)<1gPlD*%0Kqqsla6UX6MR6 zt0Vuxc%T4}98~K2IK83?<#+yD8QGL=B+mMU`NiXX1lk$F{;%f6cVI>Tf3e6+W&xi- zaUR;e3dsgk6U$RSy#!Tyc$@V8#N4!j9_CH>sjd}Q{;%UDj@TcXi3q6g;!J|3|0?{4 z-@*I`Ky9UQiT@A5)6q_S${9mCvw1I4|Ef?G+^d_D91ue+z}PqKJu{zHMVy^UP0IcW zEP)y??z0hTVdCh_sY6Nl4a#1!UcikRZ{gUF76)#iow$21YPCjO^8_OXjQr=f$IC6J zUjJ;`RIdd>l@yQu0Q9)d%SKEcQdte-0%jKQqds#P$x-U6D;X#B`JJb<_0`$ao~u`L z03A+CEA(c^9NTp`B3*uP3`S|G1DS-@DR#2qe>B>kaZ88Hx~wM*tUd#m-p*r+r9uG@ zr@1a91{iF8$+ng6!wzAOnH4gQ5B2w(#Yk?sPH3gVg*Vp%c*6>;tJ5{EXqmpt7K>O= z$X>d0!3s=_d8Y>SEnYkGeX3J@`@H%`sr1s4vaK$@86Bt%^AJq9987it`Ab;QUg-w7Skn5 zq*$U%2ex{2%kk6YbiXn!90zZij3gPjU?s-XxuuKJX8+98mvg$Eeqqgy1l&W+xyWw& zVm!0256q^gLq`Jou`~*qY$%?sd~bB$KdH7y5}coUj9mW=9@+X%l@S9}j>}vxW)TRv zovG=!Lr4}li+nTjq|s1fnuDH{q8y%OSoPl*qto3ps5S;2kQzx8zEFN(MzI?sc}Pcw z;O|R{;~V5=(@f7!%f(rCd(43PgKn|g3(XIU!?zlwR&sBZ9uVUgJEqY5RQgd?yi-r+7^% zPt_PAk}?if@syAmca;lgxt$(&1o5_?G4&CJs>i#J3e&=64xciTtI{}Kr$Ku%^y0~QLeKEp zr|G6W`8BujoyXx3taF(8-OZq|`De{`JP*rg4*z}CopWbenS*s!FRcV_)LE~-vF|sb zR-62N5yE|U(O|Vf8p(6$>rrwq6PGG(CE(qDReUEVnb!RLu>42*#drIT zh$mYnY#p~9BOW9%q|Y{XpB&2*cflC1LC)YA8EKfo@S>_?KmPT17u1q0e&)`<>ovL8 zJo*NE`)Fp}L}j#75iU1BvKH@!A=li{vwMPa833Sm^Kux3$6w&K7GTMfk-)+Z>D`tQ z?oXS_R<8FYpJPUSU49kDzD+(l1-tOXRGwc?CcZzk;88GK0i!NBGvPe@vU6b*)QL>W zCnB#ehBC&_a{pEjS93^(dqz~aEVoH#TlwG4xc$_}l1U}dCLJbBAt>J4v(aHKi&3hM zPCp2StQJ3en`u7LJZdh-Y&0rby*xi}kQ%L1_^`~M8NI(g{LX>m>fV) z~o$a>pBKhA#?dqCv{#gsVF$&k+Fkl=6uEZ-_gx%Uv7$`e;?GzAU$l zi2W0JQ{(5$**ooKsM6QC@jaVjzSxYH+ui9w-iw>{d&z9QBWW71dNc!kV_nZn8$l(x zevzz}w^xHpX8iW=1YHKF&b5@PQ2S_(@^5^Uc+nQoM2VJl^yOn#^ADhnRqzMR`O`{b zm_7gNG@A`3s`!P^Qg*81yt&3%_ydl)fqwF{pXYixA}^jLn(03n3q?mxfzIk#GU0qHDM zW35zac~;PVFT3v0@ofKo?5m5aH)v-)`hpCNQT63I>l+%=&$m`}`pI{KH>hNoy>vF{ z#VQT?_UofbRDpOnrL(gAbR651$OF=Hv*iAF5l_zR#y{rI@#`#87V(0jfotG&b^L-i zda^Kr4bqEHCU@2Ix|N|Mw|zVqXNqf{ck zjuI-pS2ljh$)AJ$m|4=z%lW%OcTwBBSoc>~ifxgnLT*%D5h~-~$&`DrRr<*|k5t^- zK+H}P!h7yRGi*rnR$8gpm&N4FiZP03{Xb8*Cz*OC9Sk!*rG<(UvxUZf3>3yAuK+vQ zzvOVUTIJELaU9ndVjOK3=GuJai|6R9?Eqj@^p+%KJHZc4tNdoW;ak)9EYk@h%E4E( zYUnLTv33`G<3tWALb^+TohKsSpruD=32%|RKj<5CEUqnm{_OBYN(*6of#mhmxOMBB z6j0z6kxRr~M|(WrN_eIah?68n4zw!L%B~CJod3y5?XSE{xh>T zR8e9`{d1-eJ}G4{El|Y1rU$dEi4J%(u&4J^j#`KFx*2dDjuEM8*FMAG4F;dMtaup_ zK8<==NSXM@H{oFzU3{vhnGILP4kYZyx7DgY2-n0`v*~cbi5Ie>R$O!xB(Uclr-P4! z2#(WsVbHnfT;J>A=Y6ZI(y_8%Ww+AUa&9Yh<(2mg%qB4agfz8kc|7ij(};SyBo!YX zr;e;r>D-9#KS+|N79;e2K$E~3$!w4b!SQ%`H2jnPav617$2DETJ{4IL3vng(0Hfm|&UMzZ?igaIhdA zDZX~lz;}-yd?oAK)F@4u1t#)IuWc$1JM4WymcexSe*t_ES zGUL*)Q1jS{X|b=q#VGaN{mGJx=^sGYCg1({7ExieA~V8we0Afrk#zktM)wQeRfkOI z?rH|6`^eW&UHsLjrvqNODDAIltHY7hm`+x%UIo~HOArphD-y5ZCTN=D+QPPSoyGDG zP=k4y&sJn1&(0ooIlw^jQw15wEj>F78OH;8$vS1of!q;-1kumo*2ToSbJ8p?jLk+Z`#U zAz#+XS_cxL{#LAL<(VZ2#YY&pL>l33g)au?O^#b4Z08BXNO8pH>VF(bNGSwSWjr^T ziByg?AeyMDQ&vB7Ae=RkaTE4W!qG+wLZrg!ykeP7$I!YfKOq;qN#@!^z$T~BccCdf z7|GpL8dusrWsB>6J9m-vdrm1}T+4JPN3NsZFh0&_U?@pAuZGe0bSq#)gymC5<>3{J z^qT*3L&VC^K>nJuH$NG6+Qi?ct32{f(I~hNzzW_|aeW*npMs3iy@jeStifKs)vt3- zY6;fH6-W2a*$I5$yUbIKa}p^;0N!_nHY-R{PT?SVx+89~T>s@LON4`R6Ne4NQc|Y5 zalO~5Dd{peB7QIpxi`tbH*Iu80*!Mza+YBHalY`H*8AWOE5ljAc<#w(h4|Tf=m?wN z>MCKq`1;c5hzy18r|XV#AQGE%TW#ZG{uMWYweC7wzsu@lBRI;&R~CbF^MaTA2yl9vqhliXPrE=93`$&pHw-f%J6zkv&3A|Y=HrilNr zs$3Q%&xrkNM#_S>%E7q%H%l+`s&e5@IHpZ3#DCllsd-CY$`2pYRG!SObnRJKbQi8Q zTDcVaqa+`R3Rtj89g*Fa9ssK|J>{2hHsRO zOc+~Cgp$^MXuZEV_*Z^kp5b4BdBz+_81{JA+;t>}5GFUJC{#HiALJUos{30dQ?(#b zr@FQ(l_g153fZuw7|56X5*z&kLvF~M>mN!*9{q&@nO?|2;3E`)Lb+o^3peq%FsDRh zke|>0DXAT1`vJDS@V8qT>0GTw;#xRZe6t9HZ>q$vj|Wf+qe>?u-1*UHy)a-1^*0bO z_7T=FivT;2a>Yx*-Q9LfJrONy5cuq-vP}hR?6tz9vxwLrlCC|44SY0`H;bYR)2hoSAH+hOKtBo~rbVGWi}Y0Y zI>Vp#hH*p=s_$qz)8Vl}k}8GUk|n)TJF&x6=2x{VkA6KwR;0E-UaH{u^Fq2s8ES(O zTPvh%s$2W5PwP*Nk^D6wSNww0oCLvA;^`vO22+Q$*0hc#<0ozqE z{Bzf3rsbT0$#=!a^bGkD+KZtEqt{H!x{g2U1l1MS7***!JQA9)Igi>o*Cx=Uq7>0h z+grBsLy7)w!5;|o#5yk%_xjbAg{4*PJ3N8HyF77|^W6_KtSLIb+ZXCzV%A&Y4Y(Zg zqaeB|?tc1cm!fx)e}Fm|?kcn0?Y9eEic9&DAETR#p#0ZRIw88)N9D@N;#KJ+<2>`f zoQQYtp+`ju*rICF*5Ho*xww^;zii{ z1;}eD2=#mHhw-Y`=Q3858zw%)yo)Q@dJ_9CC(wmx9tXlV0hw@g%b&|9O|Aqb5nKFx zpT2rpq4^*ma0stKxI~&Ihj~AGjqd&fFgd&{5xZCaIWWJUh2kRx61A_9|TU$o(Ec276zc*Wb6 zn{#1aDIixG@A0GFR2VlW%l@%b-o1Q-d^BtSD%;+AU0NtboA$-Ms@`pKuGIcL>t^U5 z;Hg04jleTz&Fj6Tc`ux*vx((NutI+Jknr-?KLGaS;-0(eUhNul`Hj!0s|`||M+=_{ zaqk_pU|HYX9+l_Y>p1TLq4aTpz6td=y$W7DO_HCVcbVL@exA*Us%3=83(DHR=?C9i zewMWtXj^O42w`SGb3Z_ddN;XtrMQucCN{Kz_9zJd!6Q6s?wx2VG5v?*9UHzRKxX{Z4Sh8AuecYkG&0H=l~kQvP(IV+bmz6n?nv=pu+| z9ofvEM_>m&bbls3K&nZI}^@#|0DZ^xZ5mj)*VL`1+ZSD7LUFRZXXD6h060=NSAXLA=3| zfR*Bt#*UJ`8Jfp0ilAz2lfSy(;A~8YWpi%2a+SCQe@FKTbFaut&H zL;J0E^3a7O|Jl7GK3T0HC)0on5P4HfGQY#aD9ebLEt<7c!rF+N7`z;aSDK_RT<)O2 z${<1|D+OD8)TJev-J1PgsRgc`VfDNNGZ__U z3`U#Efr#F!<&WIaS#&**1W|!u_Eu!SVMuC4DWe_jD}E@D-wPzRpX^ohI_!?^d76|8yl-DmlQtj zC2y)sSyL?BwuP=gGX^NlLfrUN63+Px{`!EfX>-L$uFxZZcVl}HQ-f^VW&&k>%S$M3g)An#fd48vavORv2&I%K_iT( z<#%0%uQgY{+I5QtZoHK5>01LbTC5Acw*Bfz!{D1`2ret_=s-D>QE$a0FG=DqrJ+nT zJ|yPY0fM#8GNZ293QfEYazm@k^A$gvVRH=;P?R zo_3#@>ql9PsOaM@SE^|zNH%G9xe$nD4#Gu%|RT2tQ?Wx=re_Uy5;cxfO z3(;Hzbz5)LRjftMc*{Qvme7CY!Y|WH5EEkvohG!4_)8(r+hkR=?y|w`l)G{apO$TU zfy%Xpd;sdBM9rEMWW!a{<>o6rGA}?UTJVqN1;cGGYRbEv;7I!85ywW1s2E4lnUrqh znB0=691i7eDOqTXP=)T5vNp@#KnwktxxtEG=M z4AFSJRqQjFD!Y8^J7-V}rTl{PH=2T4XRs<(=Zkq`IQ8i10+`oX5o{C1$L3T}zL#8y99)*dL0L zMU@YL%1RN5wSp}!pL5T3oB~y~`N*!@Mml&#-)MO>dO>%iS8xqc z>WPkWBq$8lcwIz6bz!?Uwss&F$`7=62QC^9Y7)_lj>sn_4e;36ox;pz5TQYntINLo zrEWaSSk)<6+fG1yR*K$vwq_n`2Eny+R6o?XiZ%1b0B!5axRBLkf4?Ihlp6(W>!`oe zoG*2D87ep8jgv#eWI5L8{bUQBgJJS3%4^AMook3ArIk1;dWfnNrI=`htC=S2ks$%l z%j~r`15lWmSpH3O!81CZ*^=@x_553nra=_Cpg4d7&5oLIUiAvc{`9ki5%w8Qw*we5M=j0Sj3P~nCg^+E%y72J{E~C{4HSLn_{gU zO1K6vQ4-`H1jEMQ%Ap9w%(hIi^Q(XQTS^p65s6)7`E9`+K|V|LWt0wH&oU0g*#z6F@3G`rd#pGJR&d)dz8H%FRCIrT-9Zkg?}JV#hJvZrlWd2 zeO|s=p2#-r(%;BwE{1ZuwSpS^JRiAKrHoAMy8&YQT12WIk*QB+d83%Ao}!-{idyH( zD3L)h)#_-1BBL=FxVlGbbFJZQiwVpde>SN+8a2V-)i*oM|3Gjn*{%fj}MA7xhR zAYW)f)#4?3G702+gnoKe0tKaZC-<_cs2NZ;lZG52uz`9+QrhJnl#VWfX~o1wHO>&& z$VKv4>8SFb90a&^awPuSUIlj&N>9;Fv;hzj3EBO@-oGPERC&0B-LYBq8eXCr8MZQZ zvl;{d+Xx!++z+sY5UJiMB`&2j(3*}(Ejs?th7U}DmCm8mn+f-eLIBo2vRYLvbM%8;m~ork1!^G+tWefqTD zKc5?*qe!HRwM%{1J0=IJDw0-V)GTW1x1I94Pnzj@(n9Z0i3+yOUs67?LXDx++ybTRBQiNu?5+pX&@*Jyia_KVGfwCVr=EL>T7$)LDP-($aTp3FTMjtAF^AC9RBwGSPo>~@eNH@S|W$D zUOc$)fJ<nMC5L&jHAgt2#b252@pEB9Er+F4rd=)u zg%;4!&pio;+6S@2c;!u8RXoZ#=Mh{5NAum3J38^n_woHCDR311wTPCLq^wceRA+b& zJwEW~_WeZULMCb7Wm0|rqo7M)T&nJJ(X9}?q2}Olg9}fmb1H108}>!jOI!gz$NH>( z#~9m-2`HP{j~XBm3K1k#+)+UXnU+ej zADBpT&EA8lln@r+%g`G`5N6hr$bhQHw`L=|&O?J1W^J z%d^BL@z`JWbf&R$H#Ctvm3ZNG57Y71Kxt&@UbOr_M7>p5TV0@ajXRX$60AV+;BEzq z7q$r@|UIbODi_E#>v8YWmrcDLg< zQ=mssgRKb4&07{^aUs`J=r7iP=}jE1DP#%Ubi>j|dZh_XhaysLyK6j%9RUK|01QA3 z0mQ;L+F{34*gTm2C28W@(G1~Oq;K@Lu0RzmAH5SAvmM_T+I93<-ix@BL#%zEHA*WK zlE{O~wKd06!$|g-?7OzviB-p3hH>3BC0}s5K*&)eQZFh_g*EFB#4!f`a{>b#H4Pk7 zB3Z!$K@igk)72F6Zx4+*yT3#iwRtv7r9~E6pGhfg1ehe{lg{wn4aYHD{A?G&&HWA^ zlFhA4;OD+D2oD|l# zhb8c2y}ve-%%7w0i$qc7%T)4HiMf(6h^Ers_!Sa+WPMXkf83&?T!77Gb8Rb0?sHXi zcf|p8NO#mgbTgo{dGs&1!4{yasTNOkc^fcBzx98XXJ@l9PKRPA1&% z3TTY<2c#xgcF?_0&xSbR?V^BJ*#2PA&_(rNO28w*E(2~$|5 z2#yl`0*PVWAhI*#0a}8aMA~q4n3fs7J2;D(`ja)@g)V?0#{dk5R8Fj!fQW!DC2Jre z2RTTZ3Ip_nNQydbZl)npt!cVGu(g)89RTC2g$(+P+d3VmGw3_C7^obMf*oujH7Lm} z!BHsj?B*-7u@4HR@!i3RjyuIgB3Q(W-C5wl5!%6pvg^m_D)W;X3a_~ZnA07YS$AViN`QL)pxL&KX<03{o9oRBO*pxhK_Wkl(iaseDn56#i|4JkUXEslR%*zb(o?wY%c}RuC z9}=|?feY#S5ZrOSyPwe{xL}Toe@})io~nv1gx$~omzMAXH~eBQkEtt{^l}kbde45B zBgrfbU4u+*K>p%rOh+%u;IhXcAOfBwMdz*%b30u| zNiY$cS)J?Io!FoWOBei{a-&jexp`Xp6c)@N>ztjY2^v{pr9#mv@G=G4pZjohKI`h3 z?4Mp5eOc$zVbcMI*$5)s41egYrmJ$j#H6JMlhm7BqF=7Ax;?xUwLRQKyIMDDggILA ziOgZ!tVoKKffoDE03mk~IzGYwpoBXrwEC~kXEpdTt^+-IUO$O>w%kaLeWKSlf01*9P0s-}AfoMmK>zD2}}X4ESn>HL{^ z(;x$_>+&a2PCHz_^;296qZ6(EgL>L@Iwy4X2Iu|i^_kq3STuz!cxqGXQOjL)n?taY zg4>o(%0Xu8HKeXnNeE21Ua$HGrGHnsU;d^CY(mSvL0ja z=52mmD_8I2^9Y%0jYN~)o>|fXVn4Hi(H*m%KTy^up3HC7%cLVO5$KMHPaRsjhFVZc z58_^S?*^AfATKE5e^A|yC&34o7jJY5?sc40b`yZu31aGSbv|B$xJplZi3e~OFTs}9 zgJ6L_5_y0kIvoum)y^XA_U3^4Gw!PQ$qpxz)kM^qb^Pqd%mos4(4{_kkfJ!+r(g#mrRu$xBlny8!eTMPg-$!k#seQPe1^TS6O800S{qj##5GLNjy!PTU=-tXna0vh9<1W`T?2@r+gJJvzq54gXk3H~8V=D;Qy=A<^v&5*% z6-z$QSB$uKUbQ75?$l~(AUu;!?e0C*1LZ`$RG`QyRxhyH+k1?3_&9o`L*^4lan^<&c^$Q^H1uHseSxo$dUF0QxuNa zwPffM6&*R!XqBEe1iS^xe8p<16MJv38PAp}s|RZ#DlW3)Rvk3fs*ZhSvUG#*CDJ^9 ze$5F^FRx@yHa2io)w@6ZaVxj#{G`(ELA1#F$o*nmIe%$L086kWOGggnYpeyPV}F_0 z_wxF%+^^D^;FJ@TFBUU6Tal(=0O#^@fRVX2P~oJGGUwx=DW!l*XTk@0*IKeL2qz-nF? z6^fT=lJLVdG+nul>NjIIlfv&7O}*-nClrvhDQ-87Axu$}^PGm-`fYvr#Abr;3+b}unwrD`{cLD7lF$sX((G*}9 zx39P%iR4QNRO_96B==m7t*PamC*Oem&%%vXe}{+CEx8+g|p2=5h!~F0l+_oBcvIRyC?W&H^GL z(vqfyf_5mdA&qbCj-s5d?r%=aw>lbMe_5y@j?il~uMIcB@S^#i;xI74Q+KI?OjQi? z_gOQ$x*Iw%vqB8hT!psD2po4G~k;x?#7I^dc}+>Nb|0n`MC1f5yU#=DPQfa zo1c+teVYzy@s8*;W~;QyoWI5&wAc-ym||n$xmLzeELjlmt+yh1DcACZECKJgzm>nqQi3h$oP1t!Fz3m^XEgZF2?-J+&Xc zWcY#TNQ?Sjb!W)9rYkO(#a=?%WBR#MFX~#7UZ|65jO6XuE&1%fz)ou8)MKVZ@}!AZ z)Ppv2e%`Lbq{+xZ3PN#zebBRh-Et3^_(9t$8ZDrP^3tqp@nHXz)4F$l(3m#&yp*n; zc<`PTvwAYv_#_PZijLS#%<6SO;R>6Y+1VFsRK=Y#T^RUO9VaiR-+38#?kj97Xtu3C z*sWPtl2X@nOG*}ROvKEQ>Tfzy1)M0&XkMP?Rc_;F-C}f)kX$HgXooDd5DYP$xV0OSs| zB&BaBe|^krJSZMBZ;y>S5Q{n2njzvh|6B~r$q>OxKcppr!`tsmzIEyLm=6M-rubY7 zD!qhCbUw+iYS;-`RhOR-2~J};s<)L|m;Tz3xoJKB&0W*Ta-gYrfUb@Hd+ur0Y}s@i zf9JR)Jkh0sY~hU8$MM;`rAa-9dh(aw1`|(%8Fg>W+voIDW4-C;4L5D{ygG z1j8NN*qie!RCyUCcv(f=}n6k%gAH$4xONK1gaFL#F399d* z*9yEzO3WV)n%$97gTvx;K#azza*fxh6%=|C(DV}CzK~VtPDp<@S!{-TT^;*C%H$kg z5I!hhxDepxO>!H?{`h1-uv$z@(ubL-8=q71o&0`VZXhBt4(?Xr$ERiP2`1RAQ+a}$ zAeV&(zi>4Fg+=41@Zbr!<5C@kzYMf+uw>~{biGi6>@t=K-fY^o z4{4m-+6S1YAq}^dS4;(*S?;TtJ%}$fjXSdNtTLJl?H^ieIeWaE+#u` zXr1&MRs_h50cf@Fh(-EV;Ll!c@5DLj)G~ZZf?VyerkS!2=z%E?@I$=`I4^LZ&s;&+ zG_zyxi{%XRC_Y)?Sp`+=6LONP zgkT1mXDe5N@Do4BqNrfUNa#4p#)WGT8e2sX!RjNi8UWtxRdz^~vc4Is$;)>l5I^b> zGm$WV^Sz0IFGDGVoyN%n3OdOq=k(j(Lbhd{J=ul<**^e=13VmgyjpvgU&+xdifxCP zWaX0pB#i`%iOo>4-oIuGY@v+sLPBW{NN>2ka*3G8q zbZ9no0{w0L9X(iVJy;fhn`|2S25~VuEm`MHSw+~>|6uXfc24Mi%fXzdOEL?1l8;IS z!m9_HtmyLGyi*UeeB0g@h9AaEVb%5P zQNu{`e&mTTg%kK;b*zxOi&Lt~&<-14l5Z3T&F@b;EK zQ&xc+jXgouRSln)Plz6Z9Gxr~O0*sjh$EB_Q-J4M56N1iJH`C&l^9jB)4~*9uMHVTvruWV?y9i;(IOuXxWdp7qpKFO{`YeXn072+ z0C)r^e{Yoz1`IXYr%$ej4n7iluT2ie-_OmNG4+{0VcA!U?YO>sAx58hB~n%Fi`Yl2 z2U3Uy%+q>ENuu>pyQ3)-yjdCj-u!6-gq%~Pz61^Y>Y!H&2=)kGmsPBJaq+(LsIqJi z;VWk{399?EP zIuPj1Zz?1j7r@p`!|v=w=*RLX_q-Z|AvZunVRn7lkLMsR}Ryn4@d7`9_Og{0hp&{~QOkmDQ&HXr#eA zbB8IXtu9+ESWJfAk|eLe+XJ%}vR78fXv@0ZdaW8DR|bKx<{Fq~D7ZY%_i7*sNn3-K zdB3=AEh7vnEO!S216*_MyTtaCyEs7)#ZPsu9st|smhrt^)Lv+n1K6hWjGCSacc*}& z1H}+Uht%y`iiy&+&!OVHewy^hVi7xPiq_tR01LESX^DJ4o*mZX;UaJ+we^muxzksC zf8!{S;^Q!jh(DAf7QGtEL3!%VW%1q8-gEz2%|MsDUu)%=D#G! z@$(6$lIfc&*+DJ8TM*WmFqfcN&F*=TWU)5v(ErSwLMkihG={=M|2K2Ge7q`U4=MEX z*`01H26$%k|AT7q=1_`0^h!Yg&pQJW+p+jR?F{G1-D%k)$^HM%o$4Em{5N;H?vp_C zq%)gXko+HlL4<=OL4FU|H|vV5cnhb+E||6iy=mm=$L&~51odgW4L95?*A>TEKI=Uh z-nLKai06+@M3iotVIM|Yzql6cVa}|3|>6}s?bhQ|B>J*AGomB zqkPVv(D(;+=f(8L{8Z9e55BOgJ_+0Mx8Wc#U{Q}!c;BJ^!LaiFlBXH;x~Yk7xY^`9 z(>CK=@d;WFeXBXFe|@OT15O1O-!OHx$8FcZTd8eb|O<9Zf+l!Z7DBYBa~dUJQ#{jXS|tPY>8x%4L%ZZbFpyh4A*v0GnWc) zN4HAx#(<`az9RxDm4abtPYD&KLu)bZ{@US>yNuC!>t#0$p3dv|A?8BPcFHkkeqs34 zdSjtmTQ^%9?ySG2VFD|PQPt~O-$kUg&3-PPg2%~_9Wlxu=%Is^)-#~u!EFv9|ctq}Oe)u3L7d@NGB2;W74%@#e4f{<4MT z{dAgvYb@m1u{}~+9ttw|#lmF`N!*gY(+g6+JtCp_{euFB%vr~BD6tXaiaUv){doM& zSp3ToBVxG*LedmfKk1624q_PlOe6lv81dg5R4K~&0{0+{VDr5A{E^PHj_ozB7mb@m z3wEwgpZfO>2e=ahRbqgGUrXIxdF_-4h36_{4nt>48D<+1&eq$3XY)PYhiertR#+<_ zqoxKQMt@U|TvBrB!jBR|79dCUZZ^yX<3t+#bF@Ax<}>ERrOyvR#zGq!&jZbaxY-Gg zn0QUy3)4T0(Lj$i*JOU&a_$SkE@Y}Y!u2rNifosaM4Hs^^;o=Rhfqj8F~4}ON8=&{ z!guXz2=Y$s&fe}~42}h=1@%Hm>$>Oj)mL#QHJEG5mwn6jVi@d<7d?{qE#DLvJKB6s zf9n+NhVo>>Dkw_rpqpz_zD&Ki0fou!c`x@~xc@=zE&f@@{tKDsAwBX(t!!+mv@UwF z)XqfJ@ITm+Fkunl%C-Z{AxW@3DYdjG-^I}ir1sr@7f@ilCHCpeooALS%^yXuQuxAD zlRZ8$<1Jc!b6(EWLh~i2y}<)J8gBciIeKHY-kEUxb#P{dwnFtu0AKOd=HB7<>A1~( z$k+5%Zp%B!ZLD<5MI#9jzwm+Hs?QV-~yK2*Kp{1NXDppY<*gQR;~+ zFYYnL9~sXs@ead~MJDCCYF8orPlNUxJJ+u5Rk+nC69P>J&gwCH+=*InzyO(LBC7_4 z*wF`}LzVV}*v1MVu%oNR4id}Y=xh5tw;Wzz5L2mnV*}n{g~ZB4K)M68_rA6TO`Vaj0;@n&mOgQwrfHBy;|;O zZKCvaUHst<(uUuY9D31oHEX%Wo7F0xNrFdr=Ywl?FG#Vq-}!YIRvgzpV-n>AiTC(x z0NNSoMyj@F36fZU)G#D#(L%eMYojQ& zDhoD}bx#UK8a1Y8OFf|EPmJPsEuwrZ`zZi6&WJM0ybdFsC0}Ia;X6R1&)#uYrk+R; zGT9i%s)SFy9d}QfHWRi`MOmSQ73N=}5-ihl4HFEl;0CGC1=}zvq!I^1E~|f}TmI+2 ztcu^*pNkr!oa2b!4e09HFMGHS=6+aYg1n^>P%@u?MKkj+eaMU|JwKA6c@cCCo|@h3 z_DcmtIZaF(*?u3E+NH4k5>Bu>`E2~G4PdRoo`yQAVo3jE;wtGtB*|qboJRbhb6?HJ zPs1lzpWpS<(G{jahnJUnq4<}mNgKLUFPRG#+MlYZ2$^|r;Oo?hpege#6Ls3y;h0c# z^prLa>STzd(4(VW1Mgy*dN$kusZFOVcsI7eNNZUX!krXuPCK)vk{0=7I_r!LNoo{% zzJ4oJJrM~ZEo<#8Ikx)^_);%i?w?U32+O!Yt14hTSkKrq_gUttYGgY+)>gSx^MbD) zBTtV^pD+9m(sM!$CXW6sb6@#Det2sp;@)H2?d5ZDeFbrpu*Hg$=C0%z$wsvUA^by= zyn`~o>-GBxyQ>$bsRv z@sU{!NtTN%l*A-ay4=2%KRFF(8waH)7)a8BB#Fd5(Z9VH7=34}{m{)`Ok)z^_R&=~ z1|kI;YJD)lg-;O`m4kuy%}En99K4^CN6%mu8V8Q)=FF7l-mvgf8g^!t02^>Oe$j$F zGbN)=j8hC&yCxU)!t~1)Q1H)TO+azptdj-q^sRH&(}Imm2>m?H3Z1k{&2MI2XHv60 zKI+F9-5o=%uDI6lDNWXfN23>UhV>=DO1Uo@iVPex*xSq8Kz+jKn=qY6y+&; zAlk?4CJkcey^B<8VHQWJQA>|r#!ksVMxJI@W)Tf3IFt-^JmI*A$}X@$Cp{Efq`(s6 zVH2?@sy}|TGQYB6+)Ss58fnR2spP?;?K`U+i>7|@5})`l51*9=o8`H#9TU$6f zEn~1l6vPTW2;H+AV@#DbKvgj4f@hV5KSZ>Iwb+7pQ|1qtnGNEzLx|%_q5PUDx*d+` zrs)3}#ygx`WFA4VVZm@AE7%Q(NFbJ?bZn~4uLp2htpOWM8DxL2H~;d9Y@+*7;lcxR z{%T}wtW|5#|K<=cIJlUVdLRed4g`;*4T$!+#rF7nax0d19AD=pG-}7RK8NI};UWid zreTLVb=Ekvk3`!k`D!g$tcLHnWk!*L)#us;zAmELQ@4v;OYZ}ZC28^6Yicuc;7wv> z7$h+g%PxGBAc+)-yz&(7|BwmI6~7(+2d{Q)pif>iP)aeNAYldFnK%AJ<5lW0%R=Fu z4$^labDQk)SZ8tDJwzPg^&DB>DzzrNE+4Q%5wfXkGKc)H{tuT#tKokn|9`kdTx;E_ z$pI!EYs zO_2|u;*mPgom(&JuXt;&32muWW5^cQ?^y3xK5VRachQu_ zn>@Pdf)rQhNSxmRaU+U^MAIdemRUo8Ms(uUFgptAzdAI$9D!Q<3heN%*IAF3@bNC@ z48x{dhPJ8uAqB9{>tR77DMs$)`PR5pvMd(T>!&(D~O)6sX@`M zyxd6LhMlv@-n(i&=+8L#Di8|p+tx*z4>EowdYREXrTB2F){NW!d=~Vj3q>;k6Ty#I zN^I#z<@Y*12GxsKk*MbiFwL!HQEX6ebyQ%>0SdS8myjS*e{balj}n^&?yOR-Y-h4E zU7XPFr(%Qz><*C|@K$~hht*Iy#rd&SX?2i05{`D!`P)?d%Z08nx^^lEgC?cK`&Z!6 zQ03Ke61t57uD|TG)oQqgfwi$^cn(`f$v_}nPCr~}&!4TzKDWjt!FbNu*0&k(V@3%Q zZ9zsj!0vutQD40l_xC0nuqmrz)fcVJX~u{zvzR|L9#iV~^$-AYeia{UmK|j-3ueEN zXU@9UiH{bNqlc=>HwA{@lDO8hoIYg4&Syw$Rrc2+ZmR#5lTq#|{!PGyJdbmz54QVhRmbvrLPG;DxD9q}1cKiH@h1Hd&#VS2UK$zYTQyd5CbN?vfbf`EUjsYxO0cwH|(fkP(mS9f{;#Kh2p4( znx4tQLf!^P8<9YGUMSmsfgui6vlG5XNu@0QhYVu}83Q5~3kMfT77gryJQX~i3!F^j z3VCHeHf!{4Ull)?Aj~e(YxaA8`vY=-OkSiN&ud$m61)f+zI(#>g{U3*)*g?qPUv{$ z52U?(-_5V3EMimPInaM2Z>ayoFrkEAu<}>`fooIMO@!O+uavARROI>lJvpa#(-q_< zLr0r~1>2d(<9q14;)F`SFTDniRAYAo7*vOv!-yp3~jcOlVsTT zh*2wcm33D4L_;3ae8rLcv7n>P#hxWQKVmHfB_iCFF$|u6GVYJb1F%l8wedY5Z=-2Q zkU?o(&%&P_Q0hVNuYZC$g69=qTr=vj0nN3ymQ{MBu!TX`(}53qYx>+ z-5g&-JJyTS!MFWQZBbq$OM%WNSBnPXsIe-6&gEPFUPmay=~OjurtUReu#x)&y)_vB zci}5S@#Q(3%#6)`(Ryq%_Rfhm_er-(pf9{TKnSnQ9dp-ZUrp2eTjiDKQ-M;;8CT>%ASE# ziD>TTDUy&(twaffApGc^6S4-YP!{mE=qZU31or;zKBGT;a;N1rT)algc0co16Ejon zNt2)OgH`M-=|o7D(lLZ~G>|Pv;#t`2AJjQ1hciKy%cdsl|I~<7JXopzZ|{U<_oU#z zc0BHIc8Tp6y;Wv@g&)WV+3DkZW;R2oW4p947~;zL^j(G@<7@BG=7V9wo0p{&B*UX8 zSFGbr`VR_;)Z&9e`|VIXc<%REsI`uzT}LxiCfJ2-0HQSVLg_=`y9Bj1+fwXz;ntI) zlChKWnvL!mk|rE=DZKL?e%R`z&e8tew@`JdQje;b|5BT-Z7x+D5bsLb@eF}p%-s}k zbzE)WtvTacF$a+`x_OsCmTs|N=h&*66(vHB+|T5g%yMs$JdHc`@@HA7aNYqom&f=? zykDZ;L8R@Vu7$l8>TfglbS1L zrWS>8@x&yl7k^E?_HWU$W=Ya{^KM`JpbD9^v!k_t)us6dmHl2$NXrBLC9BL*Gn?t% zAO=6SF~*_pAJkjk>|?f2lTTAjMazSWj#kW&di#3F40pV;YnI%z;zbOQO9jJiu$kj1 z+Hx>yu=SRDaq3j#xZ>#_l>9SV_uEvyZj@l-1>=j@D#V%M;VQXvPBI4pN3E5TGq=ad za#O)hju;9lyTkkEj@(C=kTWxx5ITHZ{3mbuovI%e_%!C^8Y+kjV$Yvz^9*Y|hc>!? zT8^*rliBJXX+`i7^EA79fpcLMxMxn>J^N$@C8jgns0{-Y+)B0pu=!FaH(5>-ym;le z8D)3pda9Ld@l`4jeX_a5orYnjl5u*`B+1=TRU5Y?O&<8pe;}6DoM+HPe#PWBGnS3D z&dcd4YWo5W1xHPU$wM9%_3f5-^nKw4dCiF@N6=}A^tcXIk`IDSo&teTSetdab%+b+ zgooBa3vbnb)>|eADaC`>9DfXi*q1i*vWln~ibNPF&*7zO9OHG=zxGSnWPzK&x3lJ! zd1A5`G56SK{k0eI2IJ&rq^N&Tist&$z2&USgkpJZNJ4iF_Be&=G`_c{$B$oc1$5@S znZ|E5ekBk5gSwD}7iuf@!DSJ!xHY|k#C$a3wHlgMr^M}MtxZ24YZuF2Gjko3!GfZK zU;7O!ffq-RhF;d`eY!ytLzw<;sH zN-=U!Nt!ipLbvyoK+rCgr&-NZ-F0{jUx?EF2UULl5{JCT-*@P8!L>O;cuxP zX>-w3>7d||+`9W?d;ErF#0XyCOI}IzFkM51ZX}-TQUOqd_h^WtC5Zx3=dc?ghiWUj zb6-efF@Lqts}%$5Hvj4 zRT}|kMz6;*Or&9LLpeSs>#mwNR!BPNris?Hp>@V!-Ve99DrvJSL+~)t^XkR6f{!58 z_w&Jj9I3DJC%wSbN%e8M&D~|(66a_``HTtbnu1x@)@UH%BbqnRuj+fmj@e6wS$M~T zN+Wi7C1Tvzq3ty<5Ta-{x2~3JrR<;iL?_8PVJo<`C4!QI3l&+Ob>j0So_Yo0a9vv` znQ7G{-Og%g^PRVg2&1{otncwSa8vHSd(65rXll;udlp$}M;2uqZ$>4dyx`E1irJCb z{agRHf(GtOO_gH&5MHtHq(WD%O8R3^*>UQ$uFfUNe#tSnsnU9Tv62sD!aMEN)?z7U z|HbtaGsmMne`36hQDf2g!R|G;)}^V3_ylj^s@3}Z3Dr~6TKYrXfbl~v4>0ZJM%iam zNB-)}PS>;@21TvW>uafn6V~Ng`e}mq^>-_(QWR-=1whMAt1>IL4Sp)$-)6hxRsYcw z17f7F$e=T=k&Bd5``bb2Smtk9RXY`YGES_!b+c0^d|j-e51u&Dk*A*rv{TyfN>P1x za-0EDO7YWVzus*K(5(qt6~2*t2SNn6TD6m0XgG)K@1N)50}IeCeUEL3_yJ;yP$@~f zvw8W3^KL=;(S~R|e#1*LGBe>OkX>-U{+<+{2O3A`dCj{R(i<;oC0MP+hAa>aAOqBL zP3QZiny;$DKC;}+Z{G|xmVR1r7$Xf@JN2Aw8&$u*;Vof-x;>CxbqQ$Y6s0t2hV`^0 z3R}F=%?5T>__hD;!e0=6yYiah9`plDrg>|_YO#@@CN8<(%h7q+_!1j)jo8&4f7JBK zEuWsCy!JV@QBvZHs(FUsY7<@rP&I#`Z$9|rhs&wbtkzC)=#B2|g>1pK^@oY&R6xsZ>YSfrcJDL`5!%X3CDk%2`PwR}~%}sj4nbTD3-L zveF313-}UM`TPxjP1JCWX0k0zT9HMe7%lvJ&aLFl(=6fULsjVzoKAz#lsa;ZGqme>hFe@@H0lF?FA)M8yhmC_|| zF=a3^|MXEly)}!0P9BN0-7{Z40#LxYA#~xY#^Ji0BRY8hvERim)_au$ClG)4?J)Lp zcX>)tpvB1z$1%j9{xM2XJK_sHx-~xzd$yhV^LL&>)8sP2&kuPG=ukB{u_pPXGgrJSc3eotuzXV7dBxk+K12pW_CR>vJ{rn}18!vu35P+`4-xR-{ z7#IIg{Vk!iC!p1X|@F#HR1 z7nG{B=E;*kyteIL>S_~?>u71QLHGO0x5#W|1Lzp}4dZ+K_G}U>I_Uw=@e(+?qsh>^ zGGd+K+pnxIhde=MmSU|LQd_JXM2>iN$*7KwIZN$aP0baMdn64*GzH%k?LO2C%E08I z=ZuftzC0<`Qsh3?{K>)>EAevY7L#?$7Q>id7aV}a2VZ(aH=-P#_^5q79qusn{Yyjcp{k%N&+aVuVWo9)`6-c& zr;rs4_mrXKF5Ah+2|nSLV=eDiy+YjN`(`Z6w`WVW%{4?dc9Vwf>=K6bBX#FX&L!OYsCY;he2V+C#=W|5Vjh%sZLyHQVhwWne^a%;#WSiv9lkre2NcpdpG! z2}mM5IWuF_yb!19=05#`2(pHQO_wrz$~AvyniIQ z5R)EsKD33_)wf!L085;g;igckpHnKdlKO=>)6@hWIU*WMc4ORG>Z{856bE-zGD*?Zs!RHugT)f_w5P_Y z7H8v7p#wzIaKJ}Z!ObT2du|iFHa_GljgEVC$2W%0*f-xrcvTp!fFAi0ll;6Gpp;u% z)T-^WP*NT7bygPHIQmd*>U6?3HDJIujNlUs71l$^F>F5HNy(P`lUAQU_%tA?^EwuJ zy~kG#UmzOtG%5*TD=eX=9EAMZ`esX^8i{~T1`a_f#Vt%tlkeJf?;VGcxK5#4AA}aU z=!?wtwbp!+9v}`{tNl#N6Ma*CYNIMOG&-UW5mSjzT{Lc!Osio=8};XvB--Xqbs8dyEoAp`J{s?^H&VO7aHuiN|T2icW_TjMYRZd z)^fFF3~OpnsV(r6H9<5@?7jM!-N2>!xw7gJEqZ@t_i6S7 z9UL3mG-{S_Z8sfUrA4GIKc1B*oVZMndb7oxyh>S$!&3PWQ}}07-Lb~jaOJDKFij8#*C|9^9+r{N zarc+oduhS>eGJO!ylzEa0&gV}nJIIGDt-!MI|q9(Fq*S%_3EG~M!YC}ZZqoW%=O+% zV6i>xWawgN=z>PX&D24#a2%*;(9-OYpBf}u4qB6!))A+g(yChcTK5b7^_vU(nlu&6 z8m@>c!LO{gq)%ZTR`_qbSPE`RorlaYT62C-h9Xkc(K%6bnZAep*z2~6EnA_AX-S`m zStj^fTMaV&alivNE&HR>w&e5W)W)@}@T<&d0}+<-00J28i8LG}qHvMPq{UWbYWlr_ zzLlq}^THvjvZ0577b&*{%m&&=*kF$o;oSKQpP+QcDcT;o0emObf@W-gkCb0?oLJH? z1}yJ115ip}W}e8GlB*FRl8Jtso7WG63PX`zxZ3SSUJdA_C}vcKtrQQ(*SWZ`@_|ti zL^fMPKLBkB%ay_};eGr<^`A(*716eWJP1LE>neUB{aJTZozt9%efw=eox_-0RJJHc zykDG1IRGT^ndwm`p?0e-%yz(ef(5F40}uZ%J{?FRWly@dH2ZrW(~>XD8KhQ9yKNfa zzeb&3?XGgS9RqHXUUhR9S4U5=aa_`dYJF@BCzp`EL?cyIqdFM3gQy&SUI%2I5ohA+ zo2=%XiU1C2M5cbOK4^7j5Q%qAJVfQJAheN?$vLu$FjkVMr!Q0aOW&h51Ek{yxLJ7S zWKd*-xbj=-4zlnmw~Kbof9t;ggOV%2yB*ajF9E?)Ho6tDHe%h06N{k+1U!>d=Z=L< zmbrUaotMUYHp}rE4sGh4;rx9jtNE2Mls5EmzSg^)%$GS38;N+tF+@r{tDb6Z#i->S zmpjU#N7@*zj8ZXB(wc}U?a7`zDpDC zoEyX|?-?6#Z4D_d!hN8;Y5MB!?l_N}<)4Fgcm72EADzR6G5!V#dC_A|{h)_aF@IAf z^j^p&`d>~bd3^alK`#i*`b*b@CrSQ4q>lK5Yxw@R2fo+;DT^`neGZRl_B5fMMonvBIMQC4Ib|?G+A%d)qlsrHDhlWs zFLgsS#F`T?4TTaxel3BylOV%@w;>J4KCs!P86{&58Z1io`TDV>&ur=VUQMNZ95>$c zxw$>;ZRNLJGR&trFHj^U9*Q-xP(ZK4=6p8rCVXXX;^f})Y{h&~c&By!Gd+;)G@e^*MsQ1E|%k=Kh23AvS1UE ztJO3URHbESdcMAdO?3<#-eB9-j$SA?<&+Of6too6|CuSc+Kwj3k7FF(9AY0_N4;r3 zE7!a!|0!GZf_HCBb+m4pweW%mVlupL7Be17`K6c4{xjqF2yl1%X3 zY0Iu@H)>vvmxxsB#tcq3rgU$Z^96d531*y6;Y?OWO8~7%h15!dU-9va(4Nm6<@Tb4 z&-s=**2+t@fc;M&O<_{Qb7#Ct9>IU1Fs|>FbG7*TN2Ug|Q@Z5amL%FzUxy8ce)cyt zTBgDer6QnyWGw)ei|2S4pLfX=)y{8i`*2S(D2=?MuT_VvsAl}Cw3uSackF> z_obhXUr#&`_Z2cdU?&AB(!kRT0o8=4#`9bsIfUlb=HK%{z%x&2xEjPPB>@cZ`Y_bJ zB7-Ygfk5{`w8DXoaLkysH#GwTB;3ch+vtO%9U~`e;&IAXQ+;7OiP%&unamBjO68$`C4MWtRrLn~*c61Ob7aj@DfKH~7&q}Cn zpkbv&^dQS3J~BR0Yi+JK%f#*Q2|j95v(+;$L*lX{%PXjCJsT|pq}gpwAL!95gk&NQ@j7C;)ruhKvBp}%@aw^9om$heqJOOl4`B)rt{7hj?n7L{MLm(?I-r}eS+0u1xL z5jurb+mai7@OMmBol|1g8hk>dRS58?WP5{ z1X4i8&JZVTVU~;G_Uh^o>c+0G87HVtV4!S~`S|WGtNq!^+*rTH8Ju0L6Y00*LHSRL4s;A2aJ__mOTd3Hj2T%FYmZgmq#cNvM)%-B55A z&I5bvRu!Q5bWvVzer9Iq0Pm>TCXU@pPcY%g4jdj}Ji4-1M zKh-rXU)0x+Wp6h&b^Sk{-Z4B5hK;(NhHdPmahjyDZM8{b8x0zBqKO;Zc4ONU+qN;W zZ9He*?>p!Goojv$_r3R8knK=P6TlvlUm7Brx^}}c8YZ6;v6K{P^k^DN9hvj&(ARuN z#u~7n<;td^F83x0$M2M$WW3LY^Log6$=rs+m&7Qe$*i+px`k9Ur?>vd(>)+fxe3}bYwBNXk8={&hu13>IlF_qj2cQ|Tu%c^>! z$YfN`myp5V+H8Hq*ua$y=*@BSX< zK~S18WX&41bk|5B#WZiPR2+evfSII-c5ooFU)@#9BKCE?)BgEy!CL32{#+6ATI%{> z|B{}})3-Q@y`);v+pkQ|60u1JI3{-LPf5s?$9C7uTtAu{%8yMQws_jxOr-w1 z??LkR>;Ag}CYbvfC*@@_Yl)URKE0K4c75`EI{7X6!2$-PW!Xc=f5ZMUHMxerGh3fa zKctvHN0%Kncn%WLR#GxYvemhXP1x8Fcf*P1TvZV_fU0C#G|g!I{!uQT*gb_wg&B5I zM=1)l_q?fD2-G{A>IV1DKD>B~ANLNVR7DT2F7}eO)&xEtf}M<-P1F$Jox=1qS{EBs zo8b|IIE0!aV)f@%qS6`?H8=;Fn;rSa^taN3&pT{4YfGfICB_-g3^la1gDyYkUg8h$ z1QY)Nxb}hwJ7_hs{rBMalY=`hORzEU=7pDhmWIg)vba*8tk>rh zwoatKUDA}%n0beLtMO`W5|=SW=r&R4m{EM9N$N248;2qlEgWjw=`@XOZQkwXEv>X2 zb|LM)aSiYz$YDK*`pUeWjB*|kD%ae93_4Zpbltp$R_c)H$VMu~FYbDB3RLmlDjnd+ z#$hkhQCd;Y4)X5===!8c$+Yu#h$HB<4VBe-I+y3KILwR8w!57* zwOx_?s4%liB(@ye4o-g-nRTwtbo7yen>&lZ9uXIgSCt^|u9_RYxir0beGhp`A3|qa z@8afHhNXEukdM{iP`hQiZgEsWgDi;8ck~lMXd3p|C&gKc6?LQm&+#5KgAGAx)siS{ z1LJi&WW?iJ%bL}O36wz%MXD+-{qe<{PF9TFeriFR68<8q##{~a!Gbk{N*bHkSf!BL zl405(Q#c5bNnf4RoJpOt6!h6YW?#5#Z**jq>iA&6q@onW+M|0^)hH#r*Yq&1Z@+lk z(-~9WrWe9`hvclCp6xQlPMKPa23UJbUGb$8Ztxz*7VZ)MvESz*G8H8+5X7K?;Je8W zTIntduS{lfa~eAhs!Non*tx3oDCWdO%Hh^ez?@&#%M>Nm1!?aRZZr}mp-+I`a51^M zzo5?b$Yt4+)4;yW0m|sztP2=^S{ENLf9f=`V_B+IP1k|Jbn}K}w+a(Wy+vg;-X$)j zXWQDn^XSZes{_yF|9NpLa7d5~HY8>)ib>@c*PGVq8S-C@z+)O^YF#W=6dP-pYo_7) zKDRZk`X~&#d=T2U;`jVv+EXO-eVPGC34@fWTGrsBv*75HP)w?xU+nUtHOG_PX^gj1 zzQ)F;)liP%fEX4viY~6|qp^6YZR4&G@%XziQq#cOJspR`p$2A&v+da|b6zY1eU1+a z_ugbi>ZZv$rJ_?XU+guz`97{va|)fEi-BQ-`_{43ljv3ZtSa|~;q#lWbx9V=bqe=F z9hzIFxIY@Ndd-}+Vwe<;RpV#_Ydn}hMcJ~#z`CKV$|W$=|KJu)PmCO}jwus~Ph56T z%MWafaz(9L{4z4rP)5Ta%ii}oqWq)2@02QoV|-&P-@c3aj)cSepWDy-j6jwa@ zzpA%2y6=HK@uUF65*ee!qQq5}pOX%7RE3q1f$?KTyWh9peu_>Bw@9!2nU7~BZHZ?RYn0RJFLn2gcjut)739A&%+~~Lu4Sb52?hO45^djxOiJJ(* zEFoQ2!+o-|qSdW=2lHLs5hejK%87{tBa-A4cW>OLyP1kz8;xZAB|C@4bq%HdxE|}j z4uS$r0D_UtAz!|A=&QOE3RH&KeTwgS?aW_%Hc3~2#?6Wg{Od9`2@{2xzhx$zjcRU( zPZTKOltbKdR5;`|(x5pZvQP>PCl`nZaA4w(zo(gxqQ<0vM}~@Ex!R^%Le_3%^$S)F zp0|xt1;e|M*n#SN5pHoxC0=E52*O9YxvO(iwyjJ!EAHz-Uldsv#KG)M`0-#%kNDHp z`Q|%|1>Rf=i$J=lU^GF9srFvHIrrYTD*nb}Mt#ybQWLkbE~XH_YH~f}_D3?^-3E(;1SPEAinftER*+=URmMagMq~OOlk68xM;C6+ z6m=R})k-|(om+-URM(Y0VI=%L*8*9JhmQA`@_H3rT)Bzkh7;Gyf~8x%Pq1?9;^+pM!PSA~weRqU=hLtQ zBOFibTqwl)hn;waLS?1KzW}5c1R5KrK|RRp23-!X(Y-2$S~aUR6LCog-`rE}G4tC- z)a;$l^n<&5MdAUX|GkDV%$KQ@n6)H|KMRMqy~?ebe1y0@8ULOEv)g_TCL5SmHeVWtbSEC zZ#i_bpa2L$%si0SRFNpoP4KHT7x%%@2c9_UjKd{9EfroY3@5$6kDcM$XF06O-10!X z29C{jjJD44TvEfU6 zp*wMwlu^p1;Yr2#34H5|>vk4}c5XclY3td>7e~!z$1O`Xt5fJ|a}Dm)QL-EM&Ku0D zL}R9CecfOa-xJs(aI)={M9`VdO)C?}-0?!1`B&K)O{pXLPtLuN!HMyG3N~KaOTDv;E?pvwfY{N8Iu_V+_r8&+J3`lIXPWh6(`!2fu4S>;t!f*W(Es5vTK{yXz zWjI1|NiS^(Ep;~t%u094DXY@WslcbkSGiALfojo*<(H4-yTfVs3*HopuahEG4Wl1w@ahVeB zJ|&9uaS2i|w_IWpL(H$!hj~;<#L?-)hD_XUx=$Fsl6>DDrfnuS$x{z*n%h~&VS^>Y z^sLBp28RdKm4aBAFEOHqztQC@6$Qw3*VI6WKTDx36)LW%0}a zuvJn|3W~xq@-A==hE7T8P^?Q?7ksR<->Sg>V4_%bjXqB6d$>hkK$>J?%q+X;3X zw@*LtETzhZNH9h#nDdr#;-VN5aQR++PGr#2qTghc;F=N4s>Aa-E+T#6=Ltyl+TP+@i|W^EMTT<6uX>0Nf#8P$tKwfqO5^^%7=%o88? zbZW28?v4tiaFW0*f z6#4t2Dxm*FLMWEK+%U&;=8bttA^s|8J!g-l`XRLSk|ca@C*6b-fOOI7t%9 zNmRIb%l06zA+gb&=PDDAjVS(C)%fre^@$6a$}_2d1{QzE$;^%sb`}1YX>Q_A9GdVT zG>v7E*-1ha8KDeE2X-a zi+iS54!hDwy`D=C`s+}4S}&_OheoDIH|Jt*IywMo2T}Pl^=y64Pl{tqJ?Rc2a&tea z<8GLN2b11Y`wAu{8MS&$Lpx1fH8sx5`vc7J<$>?(l{=&Q%Q~SRHJl(9V(NxaJF<78 z+I1m*%RKi^mj{F~G6*Hj%gEaBu6)hz>Lr?2J-nFwL}lR8G8QN-b|f@d-02~(+eg&Re$W^Kjn1QX9ywAHtKWe);2CQ z*osf7&#~lUuUHX!kMkshlv;ME@L7efWd=UyWQwb$IKOg5{ftsiJ>i5-n6TAVBILQI z7g2ym_p{z{n--(WktO2!x4O_xEc4sm+|Q!x8LfB8O&X~pJ0X$yIfr9Y%f- zEiT=+{wTm>`~64}5woctBV!jLw4yV5GcycP_?#sKhR;df2nh=>f_CnjeDcdWYI`iH zqUmmYl@-3mC4E_!&4mG-uV}U6;e4o_CSQg9GrXFf)l+XFSEH=1E4$uF0y2cKHf&)3 zbSkrOTHzO?`q^G^O978jL{5xJKR{oWpKAw9?_+1+fR!GK)^pm)!jIJvcikB(D9&?M z!F2u#AwL>oyb>bVP9#FI#5%913m1|(B5TLgU6B;MWYt%ItAg9zj0&5@^B*miP3}5i zXbP+whx2UNMy!+`6D-x3oA1L{9w;y@W>E~1O3zvIfHiio;QNSoG4!;OrCF3VT^4hJ zz$v@#&Zq8Wsl^L+30+8CVnr!$J=r(pHj_DZ@?_=mz>Bu5=^D8DlLH=e=I>*t^VDZE#Ie~{?Q3a?Vm;a`r`(XbhrM(3 z`ddVt1jWH|c3{On;!UvK_0eM>uT2i|+@~MBijmohnUnJJ3Z`4nx^r}m{0C5*V*C8s zA@Zv|g%xG)_zFLffNuX}uzrI6-*850@9u9oA_GVv*ui%GoGhQ=>S&0(41p`F-GQCE zC7nvZ$x+{SZP&#HZf2MWccCEqn?R_a@+Lu@BvvH|w%gyLcQ>Gn)ADk(|0zFtUT@mH zG|!QY?GLR2sF9ulA$lti0W#Bl3jV$h1POeC0j_ovWcKFh-`!hhZ~) zBcR}|eNPDld0G0u1Lc)Vv7V;E`m&2s8y83<-UNI&Qd}OhT$p5hk9i z!QKA>gywcH;W3VzPFf;|f#l)8vD7Evt!Q3Pry2hPXxovYD1Zc3Fog-6HDbBiyXh?V zqxMyWM>7@qx3zZ_k|1g)zm;HH8>RiMA2kYg;wAM71HuD{2t*4Zp37bux7ose*i>`t zvISi&$xg3cLjh6O+@W}?NF1|dRYdUJw!tmjq^W@9vWB6~$M!O(;{%H2KVOjjrsy>>TR_Q+)2;GMunFm^p#+~| zh(AB5^Wgq5?jq|yW1eED^1X$%1jW{C2CXlfeM>DJE66UJa2G++mlDv&e-`-XeD_`8 z?nhz~BEX|(N3SU3R4@flC2;k3wWVaJ75L+1fL7Jy>rXpkqc)pLCLlYE=uoSU@AXfe zuh_wGk|HnnS`yaP@?PbN+Zw!n&)v^EXhS4H@>S2PfJ=bguw z^ zn9$d%ArGDHpy&c^-(Kc zTiP}s?klY+pxN=O{jYj!(I(S=Urv7AobOK2GK4!joC(vbMXCv`lkY3G#Y&Q;C@71r zW0c`|%_miTtHaBSAKl~*)}pjnk-z(x^Tur3c!)gl8%o+A=gx`)6r++gij~@3vZAtv zn?n^b<8L%aMp!7EbhP@(4aF)6HBK|~`j2nIM)-`MaCOy>=)8CKg$nRe_>&{tw~2Hu zzk}=Nsopmx{DN)?n0tkJFlHt6mS7wXaPu~vxf7$SGE${S#7`;>tT&@AJJ1c0F^!wk z+WX^SJ5@H#K&kuBzGG3gQm%0So8H4AwmTglX=3FB0&qA_@vNGf=)Y^jq5d(%GL5LdSQhXVw1zu)-lcOj9Aq#5k36%Vh}U_@puZ znh8xY(OT->A>+;eK*)#9nfnT)X7++3W6%2#BfkNLm1F#yCg|{x47ktmA3$dAZyfqn zeyLz|ZTp+(^WSnC62rO!B3VAyi=BDqzQSmsZyzhymP;u}MY@CihuqvT?Ow5nSZoe` zW!AFp`qA!%vkuP%yCe5;i@Lq?*FTw#A+62#*(L_hzw^($?e*5uE30prG({I0h45Z> zRX_szz#@YwbH>Of3)42j!=7>6DkZ0?(JqEK)o4ts7U%2(!q?Vvr4HMxwM?}n9 z(tml9Gdo8ws-%l}{%Z_ssC+km_{@SH8Y$tr%e)uoiKUAJ=@#`NDyXJOIo3JAFV?UC zQ~)_C>E}ce9XvY)g61^-xhms7XTmrVDQO#njb%~fFaV@&nU^x~chgK=HD)1fEw|}D zt(%z<$^^V1Y^+~>g8T~%g8A3PV@)X$8iLCge3SsU_C6|RdNy7dq{!K%0e0}RT(Yj+ z2qmhto?lM(%XUi+HH>E|NxfjhaeBu_JifoVqcE#4j5K*i%eK_fyv7V=vD$FV7?_N* zmv3xhV(3l{QVc(ZWD2uy92#@d+Fmc=P(4YfKMLdpY^w%~5V{ShwQdxo({31FX1|zs zu-g1(CTCD*MS^kBNG*t4Xh!#=NNP?iuhF}vg!TIY=iRW3*Al*$k&JsF`KZTA1!{@K zsN#Z`#R!>v>H&?7;>z44?``LQBbig;l(Tgik0!ru&-NQd$M!|Yxs%Y{5}G(QY!17f z0#bepr%j`pm1Z2)8QwK+mBQWrQlzb(OfQL>`~~kKVXyOQ-Z3EgWfY6HpdR)J* z6uD$Nr%bAC0iwB4=30eWF%8V9XP#!x$s_(+)YtaV{&Y)rwN_6$mq1)!X)TdX3|7j-!fCDs#fr$|eHTYTiS2 zVr0&oclh*~hfx%u&ak5Mm$fv3A9xVEQxqQC^IN3r$hnQ@AM)w{RgON^g4Ybv;<`q>L2A@Wb>geSWdkdE2x~ zK)2cTCuYG>cL!=9ENr*Q*n*r6;((|q)6ku}9&a>#i`sWs@4bPFm_(HIbuB-1x?TTF z3%2h^HAG(8>}qfnr~R28Ku&sf4S?*oNSUO5im#DQv>kl^3t!l%LJ+bUE9M>h>qeasWa0RSiLFmWYfHWGaIiUt0|K;> z(oK_#^B~NYta!2Fqlcf-^Y`asn`lYJLw@AL0!#P`_G8Gn7ecUvn$)DpngX@KUnlmG z?T;Jxf^8*V73-sS<<`!CA^o1Fi*^J=e@omO*#_{umBsFem zGTXCr;K*NFPx=g?YeORoDUc|=YO4&3!WStcZj@#P5T{{g#HymM!jGKEa#KgU z{O=8Wvs|3x%LdJi$(u6Tpx?^shfgZ66?-w*tq1X*B|B$B8(NBNdbCu|8xJ>0a6u16 zaD+M#CLr%6aP;8RqsI=7zi>xwnBV=AM6xk>?ozmZZ0m27Nc($njEJpw>|3j0i3GG% zgfj^fbSwiGn}m zs?L??%{b)$MS7ztm-)dTUzL37l-L42#B{w_~YnJR;F?Ae`OX|fceCFR9mg5qt#9F)E5hg1ab--(DtFvJ zk66_5(--w2e;1c@9CfqQxkZ*>is3f}MhD><^q)u`$WIzVKO}&XgtkiYx$7drIK#Jk z7eYNn16@Ajjt9{1>dsLXIN&)w$CiB`RW?oRrVgJvCmrSP$B;@_7~9ca6*SYxV6K13 zc%c&(nVpn@?)n%EA`%QBk7Y3>X-d9bJZl=vM^jX8_!Sm0HKbobBSPzL{$Ehzd~rv9 z;m)W)?#KqSnThKCSLi*yqNlIlwm6~4l#y1OcUCBrx~7yG(p>#wR>5Cvfj{rfGa6?X z0AVOk{Op4QC!^#Ll>h9?H-n~o`O?*ksozaz`OBK33q!k5kq?^PO?sOthALcC8Vn#~ zvZIQ;Z+$m0D)GD4C!60>$m6{wY)_cuPsQi;y1zIlXI{51?)T)lUGdY!0`zn@sEd0& zSXiDjGTj|7N&WYoFTd(0>4RN{Og?BEnUiaT)NVYld1?fgY_n6S`?#xa(%M68PL`B? z-dSP)JtO4opzznbg+7~r0a(WS#Dg6nTVBnFRf-3sM5vV_9DnbMmZ0mp^D%hg3hFn` z{$nK7HK;^SjUo@$&)U~X?=!it7#sy0@#k+jg!0OJ4! zHZ!n5;HsIx&_+_+lp#&xO`U>@tOtWj3HYam+}#U6bW1kvkz<5i%fvxGbCKKfsZ|jk;YP7yX_r z_bWA?PI&FMw`3;Jy8ikPiJB&;s8}^wb8w982^(4TnrMjXUjtc=17+yRp#Q2zxl2xq z6FGc5-4KQc`xt#BbM84k8sfgI;jW(n?$_@hq&*5T#m6t+1#O28{nWFZbm$UMNRz51uFqcD}zO|1}txi|$R_Ae?vr{}rw- z(<90f|2WYN+gH5>=WxZQqrgWDpz^Vn$1QN4dUk^6cJY1uT#Jj z?NjY`y6d~6QW!3$OVYi)?HfoBV;Y1MosQ4GmkApXVwK&XfJ+~NGjP4JCyWSbDdOZu zRtqCm8GffHUlbbiCWqk$?~h=p?W>Dg*6y6M$UnK+!xJ%&>Fij$X{8DrSMiCPNd#KT zO3kvXtiOM{)&t}u1hmAL@k`QOlq%;_c!4NH)!>oth{4hZg}K?(Wl~UFNr*S=F{y?H z7OqX}_|nVx0LH&EuonilfBc%P*7WrkS;pg;S25Sh!d8Z*nD*%BxeDP!gE`LR4s8>Y zUA{^wveJ3#VZaykD?=-|e*Ok6wFq;~6sh2~>=hA}7j~K=oA(J2wz*m6QToNJ{CdqA zA5;ZN>Dexdu0@~ z+vGGfEwJY9UX^&w+yKoyZ<|@vemcdk)6u)Bv`rt=9NOBb`1oz2GdBtf$}1|`ePtJD zHVNx7F^(}hDZI|FW%u#ev|^d(8`vM{MYA=7k{XFD8CKg>vvwhQB*~&51r^Guqe=X|||LG>Qeqx>{w@^}Ran!Euk&>Cd zz7T@uP%86+i9%!zv8(Rtbp!&7t$|sW53PlRqRvA*hjYK~@m=Sp5yxE=t?rPEZ;JmY zBJV~|eym(r!dSS-77zCi2e0$HWr`hJ=2WjwmQVk>MU`@{vY7ax)g`G z_eYcqO^B^eHcp&;#6ab`Ep=sT4b~Fc>GU>I_=4SKXjkajF_-cJy{U^?$I*#McmKCb z_e;;)u_?=@3MMVcg}Kjb*;fP6zQmgqc=GE9;{z?-@Z(2fMb1tVrV{%MpP*M+7WIzg zL#+ko%$+GplKQml_JwC78{S9-*$+$Ro1DUO|4s!z1+BCb$c-yo|S9BmR{Km={ zus=DL!mwII4@(fLZ3k=~D**)Y84(rN^glODY1+A1R9+Gv@c*c5*sfpoy2j-`PP?lEe!1RyywR#^;E11oA+1} zJ(nh8xSG5t*BVe~xb48rj|d0rJeBE8G;&R|_Yt;ATKo=6-jdZNb@M~^u($*68>52> zYF3SSXId#lPX+0+b_RV}6X58S6vx+EC~OGt%#>ij?37S5mwushe9Dt+f<<|eDW4mo zgeRJTVGYL+Z&)>L8Q&NN0IX*DD#`bcy513Q|GFb&GA652&ffD?q*;rG<P@WOC7Xw%=C2^vcebQ!IgUfqb*_uSH&7BQ<~G3U#9@b6IAFzF>F4^020WSE7h|(R2}Pw8 zrdEp^4EdtlMCMu6;)a;nk~&Nt7p6X-E^LQ`WA%A$Tmt^ub6qph_kxKAs|*oE9v^d^ z*8i}Dy4t`-Yr9aXT;@~!TZ0PH&!44}kNRCysD?jw$HHj1;1)&-O+)+dC9E&1lL-`jMCXilQWc*FP*6K>D=;ua!<;mByWu#Axkzo~Ze`Yw87%s*+Y~u|$Ogst5!o|CxkXJ{+XqTDB=JLyf z$K>{*m&d`YiKO|qQXBcZxOy76N${RV*o_czw zL`eAsW9i`Wy6|_9fUnmg7w5e-WnHYCr#m~>vCoTy>oeaL{RN^3FWd>{m@4-RrbQAF zIr_aEeoaG)`@HOjDqwpXSKP9qV67nGBgOZbkXiL%u$S2VVu7o2p*@JqXaXB89DuR; zF;Rdk4($Jzm>nk;CK$Xwe2+bZ!WW;bq_vX{FI@BGC`a_I=JbfP+7x4t=U4Dv6>$e7 z9LEuny#G6AH5;j!B!pG<<=2;Ph$yNRC=*Qm%(*B2;tRg@*ZcRS61z|K7DfTG zGd60L>1df#hzhlaBLg|GAlHNJyD3e+QE^jAHrWbm*Lk*qiGxl12RrR=Xggz!8{ecb zPlaG#)nRV2hI^N8eVPZr)2j?xp`@GIY|lW4lj8wR4pGUH7lhY;ZOlxU#-9!R#Xn_} z6CVkNANm>kmi7Sp7LxRA3q@~YaP#j|5B^#3d7Ri%vwh{lLl7!v)Z3lrOJ}DEZ~mYB zolBgrqNPiAUMFnK)Om0G-^NyqvAW|$XI@0hTKthuUxERjDPT|MA=aVaSil;2{8o_- zogQ!ZriIfVJ50ouHj($%;juBwXsf*Rck_z#4SFm1=6|up=5zhuerRmbg|_-i@$9*3 zUTi8#;4OrgBX{uG`Jp(yKFU@ph)a0!KoqOQ#rn-nJ;BC}VcSY*e9C(Vu%cSa8()CFt?nQ35+tnl&(%)yKmVMRzfcaheW2)b zfBtg7lHy6JxFs;9*f@R8CFD3I(J)KX{%7?t%Cp!iJrbnJy;zyPIJr@4X=j~5)$8!+ zYeG^G5@}5^n7o=F zpQTfwL9J;4nO=e&)wwYASXKLWU2zy&cWkT5amLICR}rpJ%osOBsZ=5rZ5R?Nq18k- zQzA?YMLXhfoQV)>o3X5*$L!yyV_kka@Ot_?&P|4V?c{N%SaNe{Ay*=P)27m_{?4-e z9oNeHA8XM4H_r6v;s{QpD|{6oKw3t+I5ocBQ_+37 z>#O)3)qFnHF4dxCv1IycdPx&{+}1Lvn+dfe;LQ7n2+-Ur4b(ZgFqnF)cPU^ZlybiE zetE^8wg;?yjPVdbig)V@fi@;cW{OX)p_VigFjs2JZU{B7ddEZR9{ujS*WZG-tp5P3 ztsR6BW9!b;D&97uf$;wUdS0ytHooq)PN6mT*CLO#EQ{^UyL`uyTX7myN5s~xT$=w& z#O1otX;KpK%5%_xWvc9;A+;O#nA2BPsZFsc&JF~XioPQLp_TSK454CffoHuQyjkj;E z8L*%cxWqnmfh;kC4_?zYhachF4ZTv(O$SAqDRL8wXWzn;W#5jlnG-Hx85Mt8NW zC)yXT$?bY_HT;I}DYwtaZqhiEvB=Ws5Sc&|oWmQ5_6dOxR(6{|n7CC>YhN{s$6(*J z+=+3@F@+b>V%%bqj9a(Pt0}!TyL<)73*Uc??@d@6eKPlVD-PBg73ND-kBMxiVVgk6 znoZ3T#+4CN{gLmaLjwBMxTWDb8FFHZClHSJLl?!P!l;5jsf(U-?f1@PD!U%q_cDd} zZSNqw!kv+2yM{p_-8P{h_i;5Bvaqqb)cG)Z*l0@nUIUSHX#5+fb;qzIWHSlW$EMWx_IUd}bQe%8~0|*}>cz}Qw$%)rb+7ak)Ur_dbwA?(zcq8lSPQ~gT=ksnXOTzQ3 z>BY7=mvzOWY0}GNz?>DIFsb`MbHfUq_=1L1jf69tiNEt!@RFyVcU3iIJhAMfsxY2D zV&ePpM3_lvwmIam9!7_)n>R>?ndV;-nE#K5@*V>jeqx(AAD_euTE&nfhVI7Fy|Nzw zrA#H2Y*u8tY5zra)H*%r{%GO10c5k}e{U!DTy#pWMPaDz&w+bsExr3;pyBRJmc|2p&zU(JiitEjPy>ZKtL1s^nv!sp&duZ|}$ zgVUkQgJE`62D2tjzPvnHJ%zt1*Oj9_7w4ErVmdkheDUPya`NZ1^^AZ_jgi#j*y5wl z+f$2@P+kP00_A>%)6PWcg|MA-6>9lUR-6r`9M3+rWSo-j++12T;`M?|BN~w>BbC_A z=s3NQJtKB=XD@t`1^a5b1F%0Zv1{QF*YyRBW+s4fa#n5{kNB0ON#04vCjCSLR&1ZA z8y+!a@P8bCzPLJYN8D2FYX;*D$ri7Cj=nnYXd`sg+|Mu7F$4LIt_^h!+axyA6i_^G=Jk=%4t{JxuPGTs>?ErEPYlBW9)xmb<)s zL!C(;lOBKio6~X?DVV;5InsWGNcYz6HtZGqof%Bj@hdE>>8JuM=I%(oPy6EFOBlhD zD&pf0e-Zj#&^F%WyleUAU%8Q*u5MrXCDTmx2GvFLLRNug&jdQ=JDk#*EH5HDW@dZN z?kIkg#poBNA!Qz9)}}7k&P?w{Mz=!|T1tdq-vSiaI!GwIrg&mdMOGCP0gCScP$e~o zqI^v}fLhE;#Q_bTqh|$Ww3@cBgbBgF896VJ!c~-o)Yv!E%?ut1RmPAx@YYyV0XDzT zBRPeJ`+J%d=$5d|+g2O8ARztiISTxxmnBWEa$YI)ca zkwz*DqqVXZMtUX`h6tO+-qhtQHgasOa^>ickEwq9y8EqXo8a_4Gy6&@UN=9Xu!|5X zn00=3sjKE@>8^h)Jo|C-@uRhaiC){&$(JrHTQW)9p)6UQqlcgVLbS5rKq2#!I8aeT z&$6B*_hJpNo!N$$rJR_RORpZA0@BYLynlm6LKEx;WzEv~F*Za7-;!&>eGNh$f*-)o z#VTJlotRFv(6PQ}II@k#1ozyw|E>4un4oM8BS5R8mC<9XnqgM#3rL=QYlNZA3;+HZ z5*2Aeuoz1?xJ|e)fW4;ub;Pz=Gj*ceYL;7bRXe_y_{Sr!;Wk?|WzVv)BzXz3MK6(d z-a^3=ad3p}SDL?64kLomRQY0Ylhn99IeY_(gzlVCSn1&vS(p?dRwvOEP)*OG6O3rw z6>ARkpI4>&J5|B%PZni+lWzhEV&LX%vWiA$X*=bU+MKxl{N3+ddi<8VRMv9_5fM8s zF5j-j-dcfZ^6dAd>*_HU0H#y2oY-+6G=aJ?g{BZ8n8K8a-O?^RElBx+fjzt4H?)f-HZ z({+?pG5F`gepH3KXg^c6lQ%hWga2TslYCdL^OXoxWk?aQ#+`mhi#NYge zRJH% z=Mtgid^N+_DY!5<^H&zF+EWMweQB*SdM|x^S2A7K$$=E2{V`xTJ zZMpna%Nh20F29e0ueCTpGB?80j;wMY zZa*pS9Y!Mn?PX_M7ag;YREZFA6xKm>x`h8|8dDa7dx=??hJ_mdqx=QUDf(*?oDy>M zwdx<|aJ@%jan9`MXkzbsc&jvAyQ*E1yUL?II0{u?OYxS>vLi^;;&o{9#<_D2R@T0{ zk|ggxTgjTQ6^Jx#>Fc>7YdeNvBXd(@cM)4HF?;w(z(lwUH$lM;M@v9_wm3)vM)j9cYx3*iWq2R)Ym zb8#5SA3v#l(lm!pvOey=$_FPGId{{Wi_C6dGO9m&kK->WZr_?Z9 zOUhErNv<-0I(#ieQr{i@ER>cCRVRzbO}!3?;{sw9xaGmDqZsbFpzC-;UF5d{x$78K z-20`s^Vva+cHVPDY34ZZf%MaM@rq9Lh%Y=M%22^z;^UM9N064tDJ#s35yBv zH5`lD{xzMs>0>>X_FFGc z{D!VtPZERBX%Pn9abGx80wfP*Wqf5xdbSa`!Og4j*l`cO6ybT&QOeI`Z$CN|7*_E` zTo}fsQuWT&CI~}NKCWPtJjyVmu+dIO0Fa%P*{rX#=M1s_4*JCQ1c4@wL#^96cU7FE zKONQ887abDe0}f!`Qo}a%ug`Jvtl2JJAIb?aiu~p6zIljcl(n^u3khE+UqJ0o!^jF`9wn`=qCbbFPheldR$Xj z|8UXWbBp`8`>P_E+f{WPSxV%q6~_N4%BX5zx)kejP(4hPzC#~UwtSN#_}gUOZ?0-- z`Y(&Lu0LiD4SK^pPVU};4!nDp15e0$N8Y!toBrSa#mBlOn({yU|Ea+KKbe>2!u$Vp zUgQ5KyZ|m>KxeY04aYatX_R@ciYcCJuHi`h$!33|GHJI4>vjuVX zKTPdNoko}1?9Ws1n*A_0twG98yfiLn{s`Cm8I-yd1y9z%^AT_JBNk}Ix%sGyL@I+z z-Ax2xP+z5udU>9_m8Rj`yST>HuCK;BcxJ8DF62unyCsw1K}Rd9fvRW8q-j^DgB;4N zVE6)oI8v;d@cZyv^Kd)3_^pd-c4e+N(T-s^WhapitbsSb<_ii$iIF0>#~n7YPu82MA8_;_mM5?(Xg$+}+YQ z|K~h2=RN0pGMP-W_x|1MUh7(r+Pry>xch{v40`zTII80BiOA|W98i0(VQ@Y4Y@>yr zd-L3=N&jMGjYfBT|1IT+2SDazNG>~LuC9K`X6#=4_OXPh=ZPgJfhvCWekJrKYcIp- zVOoxBqMDj|3AQo~e`W?nNEMLO+orArlxojb;=M1kR5||Mura{;9 z6bv}uyUTdFPiPE;kx~xrQ_Y}@USW3jLVNR<=XOUz95l)}CL--BZy~u{1sObY?yVh9 z#DB4O_?4xpv(l+pFnA0}p08pDr3(70|Ach5%c8Jq77kh$X)f znkvsQMZYvJ@(vBINnqVHoA!yHmrC}L(v5*^7t}5hwqhQG+Q>~&NfVo-f?l&KJ zos}Qm=tZH&M!2{n6Zi%R;}<8HM!1iB_&e@$Ro6AZ?oV38kDQ%`GlJO9LaHpVJ%F9m zM}YJffL`!-cw2X?Jp)nsxVB_Sk8rS}-X*>|U~2gKvW&sxQGHLa~% z{9Wv6uB(Oj=yikLnEKL&n_iX1eHL*LMX^d|@6?LH*)35xH7Tg?L#WSWGB3RqsZHW1 ziz4%0CEcl$A4{dw;q6-;`>b#1A?g+$kP(=h@in(rJx5e&%CBQuEw?`=d49mt1UpiBedkg7P)Pf%?UWq_Cj+h?>`i%yAylO;Q}%8!6YQA?o9*lY_@( zDHAFl$>{CSh#OZ3RSCUD0%8T*bMV&zq0}hbA6R) z8Z&6qVWMEQ5%-qQmY#DsHD4>z;pi4U9c0z~aKtl%%=kf@fs}U%=g0#4KeyY?lDOU57WV zm31%o@2>gtB|pVo4y}65B`n-hJX>FXfpBxgkrlE%@7)qe6>n_~q$4}Nk12g$d>58_ zzBf=BwkGhMk%4_{mQW;)OL#^E`HJCXUE{RsDRMq#=^p~s?0QnheDTsN(JOKW@u4QG zVGA4F)OFQzzOGw`UHLyorQL~iT(s8ySwA(lz+}a{);9}`8idjN;KR0zp$wjHJ=avt zs0fr}|b=)VN*!oLwXk36NvG=`3P}HI#qBRx!^7G5{D>&qes4lS~OE^*C`8w&1~q8t_+Cz%AWj_^nKHPfn7&93f=-9ps2;%c4* zWqxYJM37GrWsfgOPX~-HJr_alAgZSqx<0*xn(vu_J?^AdHn1xS+NI}0Z^+D3mck$M zU`oAXRrs5XXBV}HuuUv%Co;qSArv@$|AIBp`5Tes^W!y-@DEKM!s3}rm!0^FK|b4) zt%f=YZ^l(#i7=Q$VR|#xE^{*L%Y4TD+*_9wV%HA&4io3Q%ze@B(^3T8Xt}ao1mu)p zp7LF??BCI|i?KSY>efgJH;PQHgYfnG2&m>(EkkK$+r?o`z|aZ7Rm@9&KKU+z$_Ou(jb}H|?7_eroGd4jE%%=mRS4=$KWp4cH##$e1aDS^tDw z3}6Lx#@(tA zd>!|Gj8tkw@##W9Me+qQ`zFh0{;s`?Lj5WB8W$LxG59bca8VwYiR=PXLE!hCuB(fxghT>tp6)xQUTU4Tr3jYKlc~qlGtQv?tS&_ zRG%q7q-y3=5i+Ub$p~WAWSSU86VQC_r7ize*i&C1PS^PHO9R!F|Mur&2_*ze9jdSh zyZhP`&&gS+KJ9KqbvP0s0(X0tbIJP2=|xTZ_?0F|;IllT08xJ0{TnZDzSC?)2}x z?!Yh)UcbV=GMmuF9nZP4miHzdtTxfy!&oXc_@i^9zg+J~*3`4I=ZiE074et>IfmM# z$p_N@7l*jjpW}z$U@4D^{SNL4R5yt=)Xvv5668%HpKGmLYZ>hy``R(W!zWVC_jgrl zsJx^6N>76SJ;kQ#jc$MPm(!IIQZj&b?UTALgz)rcaQAiP0krY=NGBjKEzQ5`n{a8M z^pR54wQd4`7Y(-6wIJ=g0~X!WV>bJ_1^lVQruC>US-@P`iX?n=!nlvWTKLtt9#KE# zY?jk=Ue0Ql-8frkhdJ`n@)I$gvLWOmdR5>%Kxxw85BoKS^Ol_Js#mtP$3*^&jlb+v(SlRrjdOlUFgz-}Qo6>(eKW0PG(PPhcSol|?{V+2Rb{E|8(`O4#?1!40&2 zrME5fv9TtliJiHAcjBFks)*!*`%UWE(Du6BVHK4#jH9*p+S&nfBXku_4&b)kSW?8= zS^I}DPFp?4+qf}7uq+xeiQMcJy@|n?7{xYx)ez6iar~QgF=)rI-HPN0s$5s%gn!CY$lWFs~^+N5^O_@)YrRGm-cE=S=uHmgHeo;O>9i4jSf6bDRZHAYXgJ6~~qjiC?W{n)kCjjmtDIraAygHup#5dapa)Y_qlz z@*@v#zkRi46Nx6;5S|*U%>hleSBV5|wRpBwuyw4w8%KoB+WK@lzM^PNxwq)%9gyjr z|ESly;V9Lo-pYY6QIGOf$9{ltHy`i8X#}3wW6NtC;*sg_b{uE;Cz^dJa(mZ832_=L z1$3LFU9#BPu227h(0~R)Z67%dn7wIgYq0uz?m_m zV^i6F}t!wdL6zHUYlWg4T)AmT8e2uSIfK6ND3p{9( zVaN%JO5V(Ga0o%!xA17_V_C8b;}Kh1LKQD&*r~#XQb%RGbIy$mu3+b=F8MD&udPj> z`R8l?VYIJ*OYhlPf_e3@oJ%w@HQ#3@=V{QNHu)^vC6^_UqF<9!qF|ND;xAV!pxvs+ zx2y%05syP0_m9t$xu>XMx+Q7~z2Cp8QU5He$E@~?^TtYatY*wO7dXH+bdC#VCAOS` z$*m`y)XBY(ShW88qqA6-@v*Kn7Ix5aWT%lL2afeXUw#pG1t?88}5LO zWgoN?`or!Y!nZQFvU7*yX4Z*;z1IOHZ((15mtCYROvfh2mdhiro%u(N{qdT6vs39f zm?a`CV^$XGxGDI#*_I_pTGF``+M)=~dMs&J1ku^sZx^GMaKp8jK^%fS3FI}{V7}Lv z#S7y496UGY@DFj8jGQ6Aa${9PD2il#YE6RG-HryMMS{Qk?^~aQwz)3@>{QwsR=`qy zFU^5_vpPHP?8Ukc`LaIF-7<68C^KQK(|syeRd&=G0ZOhMttf?TH($vuugf@gXkm7> zl(Ow)*qvC*rQzER4H53$jwGLUHKxwfq^LKC!OksdfNXWaU14w0CuQbq&fODc+-Pi_ zR9k17^q8ZMp4LUazYD`u^>tA~@cyOF$%Lt8_|1avt`RIQ_6To)3UBk!KSRAz{`$?d zQBhz_E;X%CB@RkAiXYXjB7voW>s#>Yxw7zQzqTHkfgj^8*TLO1;FGPN>Ut$Y21_#t zxyWFd9DSu!jxp2xv`iNKWI%g_6?~ z6I(Ul7iXWv%%81rl3kgFykLvjmtO#6{NPysg`LgltTvJIkHM9TyS(ZbwT-V4H;p;W zB1Nge?$;xvBu3PRZ_Xl;_Xn@>-O$XtrJW;PQQ+FkwE&X-fX;l7LJs&JLf>8~9^61O zYVbJyJhAM0dzc2#y|lt>)6u=TOVE9Il>(ndMTfn4l|CxdG$Rw}KnPJEOaCF@WNTYM z2g-;jywaZlaFhtVMm>$dndm#C5{yWp9}?#A+cUaNddSpnW~TV>9_a$SQR@h&O}Orb z=h(XRRbxg;~2HXikas+pJ zU$Ywps3im$iG~7gRSGW0`VAW+_GfBO#bj#y6sAjAZ$>aQ&`wJopMTq&vh9#^VOTp$ zzyC>z`J2#2MNN+GtXZBtLDE=IpR&cdc2X^jhLEJsRyjn5J(u0qtD;ufbA5XM4EY>R z5?B-iVESuQ$UkgEW(;ZRN3Pkiq5Q-T&o3i}>-U!G)}o45qBO8AlfEYi@pJPt2TV6~ z-Hp*^YRk7(fvS}ydZLf0<61S(+*fM_c!?U5?XtC@=vUhq>pyD&OEQ;Gh*v|@D;@KvcCo-2#4l6)T|YO@M(om`dPlNbRdvX)O{u&mMzlW z@6sW&*Ry|SuyC$#kV33{H2G{@QkPLjq@PJ2A^`t&b4(|P7o=HLs;Z^w?JQV!q9Wf` zm@F&#qR|HS&C2}^7!-2Bi)HYWSLeBw7oJ%KDrOi4dbYXc9>JfZ@%|w2G8F? z6t6^27%Y}{?7GJDsB(Gwg8XTN^Fg|eIp65ek49W%h>0CYc*FUAdBKz8uhe@wX>VbW zK?cf?If_;;7FOZQsYb*C_NwF#*^aW6wxNOO)xsy$;p;+Nuk4JsdMp`qS8S~Z;DiT3 zH?g3##BR;5mNiaj(O9!na7@Wv-QcXp!Xo5n$4cu%hfI?r#2K0gd6Zu`7xXF=T{e?= z^ABP3wa)k~>`LFlC*_2sA^!AF!J2K`7?t?unE75~Cc>UR!>YdY)t51)i%Aeadgi8hM{1kHDsDy}Ichk2a_gEJc*t%7No3TtXv`+aM zt6Q6HUNgso)2D*XcJTqb_vq;v7E9vOEnV>iZR}!C|GC#s%tO!O<=CgcR1h?HLzbz% zd1|?ii90i7C~L*QG;cpY^q(|W<$cbnhZEhV(OxzifBi!M)bQR>)y_J)X%=}1zJE$M zq$^0yZ8&6ygkZ0_KgxO~{!gHzYhZN>rkKlM&27 zOkOUO`tZHbF>S8nstzZ4v{YclJ8{5lc6HzlGcfvnIW1HZYV9| z>62gXW0%*%f1R#B*IV6{IpRyZSy(s>QB6)Bw-_HVyf>Q>XGg^C42!OoU7KUvn(^-v z5**Zn#BW_}$Wv>$Ml9E#UUg5{Yz$SE-T>rOz4CIotUVQF{8|9pqlWafXul-7y-OOW z{B18^02gJW2M#Ij`xSn(e3{wL)khPYSOHLq(HeMbh0Mu5HQ{2*k3$lZ?X7UFQ=s~# z+%(v3_#rkS7zp_twepzchOxv}zqm})z!`mDn>meP-jIm3J1NvJHAG%z`Rz{;3(Lpd zXUX_LHWk&z?K@2_yhmtLylzTx25(%A^6rC)GR z+|x!LAhso9SsABydWLyV49^X9@Y2MJFX!y;LCazPNcgU8 zVvTx_*4#t)hkuljXC1u}N}~LSK;TB-EpC`w-&2ElTE@rReb{>H(D&9{4Pw0->dvQI zak`dH?X0#HK`{ps43>6nCep5~KB&t$SglgjfE%ifz|Cx>$&O`34vuM`RujioIkBN+p^Iov zqxZ<9Bny9Y;?SK4(6aO_LT}%!rPCKcNY56VQSz;ILPOGqO7OPJ#Z+B_fhzV`*%P6Lr36Lt?xcQ&Yq6^CVDDVe1Q3K z+z|&dQ8Gh{&sXH+Ba$Q(S=TLOW+Qqt!3!Z=TcCfWb5N{U3tZoYq#s`rqV$ zo*y898QVZFi7&GmNntZX6rS=)xVEH7V591^p9dW| zXN}nt^IxMe^Dk!j(l2;Vo#g9OaH0~0d!Tyj!N9h&4&=k3g zp)*nvU&-io7thUj&OcZT3J48?MavPuZYhgg|J*!_%@#ef`<(Qf@H*?P!}x?J$({=5 zyB3fqBv&7=BD|W5Sk6K~@)8h?rY;9MN789LdN6dO>~o1w!0$d$r_S4MMxDPY{v{ir z7Xnl(Bup&-uqQkckFF8e)f|LknutG&NNJIh9p|q#Ds%Lb9SdBi@HxbdnSbLq4EKNnj3an60=v=(*@00)uJCmD#L=Tjb3b zudTz}y=+vZBsPWWHcHjxY;CQDZ-=I{vd6J?M>vBtEM zSpow=l_mDI)s*V%DLXmt-`c)n+JC-55ubJ?&cJy1K@ zF@dd2y?&1jX!qUkf;#_5gFI-|!q9R#Ae4UchN$;=g}g*+P`6M&0c{OPAP-7L|I3v% znwx4QRb%{Ez1Or<)5X*gq0Mv0);n%37Xx8z1}sRTHadKX^%@In1GV>de)BYHiUEw5|{>vergY%ryeP{XOBxFp_8Pg%QG zjuq|?Kt0^Y6i2);d)I~Pf`FnHUQDPL?ZzVu*o;9i{`*UTQ`lH-TR`J)abe4iwTYdX z9lqA)cTQraaT!#hF4UX2hjh{9(RD`llg9jw9|n12Y&*1wd-0d>qM66sx8qD?xmidB z=$wP~b9CsZru(u!$qKQy)MR5Ux}3~4BM;uy||W^3~M81 zP0*<6!G#~HRH~g`g$P@dZ>0`>Nrxm=1n}-G`RJJJdp*YKB4khAvS}+)Gz7EX$T2qJ zBQ?n>UCFR~rDR%o|E=(nN7z;dgOwHFCZC(morrkRQ_k4UooXo1<@Z62fetLgJkm;^ z^80t{nTwAo8nmfl!ANLz>>tAKOrEf!xgn9fP-Tat3JGE%+k@6JE{y4I!mj4%V$f!VD=QB$N z%PJ{>a)0k9wc8l=;;|`{kLF<(?pDkK`Z33Vn!)ov?ClDjYdq_Nc0ie#TGy1}q8-1vm71uZV zD52h&lx<1699NV(1Zg3Pg&d!sN5|BhI9cs&sYXkZLORw_bYSQKp6Y3m-o*+ z1;YAJ%e7cKy@V_xtQb!Zo_>bc3!0jO^Mp@A<7&_A^gHUqpPJ|x2EX+V*(?TTd3u<| zdO95;OpAFm^)#P98x+T?4Pp0?nYN(`3av~dh2I|1jDL7Fn?S`8TfRXj(2e3ZX>v!j zA`8saMc>%qcMU*nZK4rC|A$a_n4Lp8h~v-M<&J|P_q@5_=jnNEcAFsb7P35RY5O&n zMlT@~F!u%XG*=4E31bKJ!Cqs1we-FHV=z~&!>9KTQ(>xoyCN;0V@hPxB%L4kUD-YR zdPdx)Ceke^hPU@q$MnD3$T0d!o$k4T(c%?M6_^iAfrFKq8zP>wPZym}Arn4JAz)jg3enwlTaz=B~cjOtxp`^R~he78C1YV<# z9OF}yMG_KvTEraD4dtQ0Ga+$*IjSgoL^X~;AntcMoF!}aERT1$spFPpOa9GMN4;)C zE0F~N_#na^3nAlUYrLBH*1mUcxzeJj$@na^#;x4os@@3-q*e#)onIzzP`e#?R0&!a zV6WG|%2R!DgGZrjnuG3YZw_D#?MLTJW6l{elP_~CCj#LG44aCCh}iG>qjVy=!o@XN z7nYQ0tqZUu5PN^l{X;0PCDpq+C0`s6IWZx5q`I1yCMPqbTi?$iB`3qkpc_KWG?wZ1 zG0={0E1#WmR>QGcH{rb}%dM*3k-55?hF~bC3bnmmKWGkXJXi*WP$N?p#uA7VsCy{5 z>W)C>Iu^}bEIcm`E5m{56DJk5PvDZ=Kepj(rDr35_GWWKFyxrluwrtwq}Uui$!0$Q z+EdJ^*Lo*KE#ji~xm<;RWmk?i&lT#(OSfJEwpZ5IH}cS|ySO5Jw&2BD1)HCQ2iyWb z86EE|JYwP`J0o+Tdgv$%f(pNWHKKhMYI+A99!v1@g-+N#mvw^X2 z=im3H@fXgYiaC+6Nb)3XNXj`KhhP^maKJRudG4}0TaNBb=kdPSBM%>;XY^3yT^MZt z!Rp$5jI0Hun~wPP`(_!bnj4-grr=1B4>6NuGB5RGgKtoTTFqejahKEIa2YS(XR$4I zxbb3UuxKhko&ETTbM;I#-yv?>q2Zacz>Z_L+#^zelVGFPrR0V7f3*_0BlWfdUbMab z58=|y8o6bn^qRQcvHkikT|{#Ud!*mpX%_Ln((sS&o^=Suvoys%UrugL3X#;`FxSF9 zZNNLjCGkf77rc5pP@ZHXBDnZ}m4=Ho!8qmaWN)b%qMB7>%_OMOVQ3!VD_@?S75N%O zQ>;smG|9@=0%z+w0)ea4#rld#I0#C?7ITisDZ zqw9`mx*he2U(_zO?$pu6+Hslk6LWVVkuA%pXNW)^zWIA%V!S?NobE^SWJ_`aWvR}6 zQ5kwS_|BM&AX@xQU>BnUQQ7d`64Ocup#C6QyMFy0+kT2zXos*z%^Eosz^C5np@FFF zepUi{khttYg!*vsVA{`K2c!k4S# zs|n`WGEL5xzNQ9CpiW4DwQi%7`~o)SM1D}}e6QEZe{Nu+{nFprwj-+OMd)Tsyn&0_W4(UMX-O^)q&Vw00WD|7B9C zftkZu&9tp;jf%^Uk_FwZO|PPt>s++kMYjU>2F>l1{gI=FrMLxYH>w*W*=@uXo@Pk9 z{cU-tkzCI44W(-slw8AS@T#nK0eYMF%`+9OEA-*P(K1^P4VcgmR7$yD89yx^O;Txx9HtI4>`(!SvcwFsn7E6<8q0uQxNM!4;|!7PFjOY+b1O zDBY>N7`o9K@E9_IZ)yuSovZ`&JI7I>(;VbcJ>k?(4$r06>2{IC@pYFQS?wK9D#G&B zuQehT*e9vhffLZv_RG_W&3*+4O)W~riBsALl~riTs%&u2U6UrG>b0SYSS}nU((YlH z=l%nBR-n@HRPA+Ld@OJe`u`bHu6YB+KEHH^S)e?xO$p^bd#)?^1J5jr4MOkHPxq*H=0%1U7Bp<6lb>lvq&HvMjUw;AZmq~ozaMa=ToXYT z6hu@=rkbo(xaoP06$#pwXa9M4*seoC3FkNk_UMdKmSZ-?+-M`Mq`#g1+aE#dt5_V- zwO3_lYG+8V+ZFjNjdViF?wBuc;UHq_HJL%AkWR{YGO;9UByA2uqu;&Go@*j?9^Z~E zKwvZb>Cpd4!}H5c*34Lx?#(@M)pMlr0d>L8|7PV26N5KGW6r{;4C95J2t6&Vn~XTj zd<(fR>P32jEul_BU~Mgl3n}{I_fJ9cAE#qKVda-`QwpM!oHxZh+uY^6-tehaiTRVi z>jElA?kXfBWyyU;^we^{$P^q+0c>pY68=Mg6gYd$%Vty_I&2(is@@YRgujqCQWLI2 zpNX%gbQN{&nu8K+DDy<(7!tL%h=&CQP^gNv0mp<<`m)SspC$3B>8oWIcY?z}yYVs< z^IUwqnN1VmRRknFdF~z}pumpos&3aut8??S`3IU6YduSBu z`k`po!aNNUU~U;0y! z=&~)cg`20vTBFf?v3wu&aZez^yi!H6^=|`bDqT%TyT7E4fH+d6{V25t0W_B_=#8KR zwUX@nYJmtKvP*4-&I?h3r4>=14^nM$?8Iy$dYF?B?{dmF{dK{h$=~tm9D!Q4AmXlnc!Kr)zWZ7W9Y$-@t z3#e)OZ7L{VLPowRhK!3KCEA?R7h_fS^pi!?Syj&=#%X<+Y{udsELwm(_jfp)gYr9< zOg+(qtJZhP*fl6wK2##ps@KmHu>1p_gFr5$-sxzY(v_~2fH_sUXn?5 zLrzb1k*%qmcRu8K_#Xn^{t(84trq~pt?h2yjlPfYnC(R?n*kj01&c1oE8W#lpYv%f zVJ3((;!)S>#73q2voH>|x;`IWY{#xM3peT z#zMn@kDVu!AL#xH(S-Q?{Xh!^$?9i~*4GEif8K(vrq7|G=Wm6;FOAA};q0WbYZkM= zNKH2gMuaNVwF@Kr*I7V%`XfNZC9f|MZUlWpE z;O`pU&Xs#wRi7O+PI9%6hy$15wZKm17GQ-^R{N)ic{G!&q4P~5p zgTt+ZJjX$_-;&lqXKQts!G_FtH`}=FnVZ1AeW`y4$X>7cjZB?~N^d0^bE*yXr3>of zMWZ@qcvA8X$?r8YV8#b47J73wwmjzRT9z}bD@i<=4=F54wawgOZmq7ff$_8X*)uud zk=oT9Y3CQVA-RCzq{xf_4w2TbYmnBu2DpD;CYcgjcDlS&Ea5P0W_788{p>^PD0GbR z4}8CYf@bN|Y^^~@Y};7Rktm=LnV?(8#ue=lqfp*NYv6IPUa7a%Pn{?7cTCvEa^?|S z8h2_PNxxb6n^Ib^qO(ChkNPlKlK}Rqwm!mn-O-M?7H^D#Lo#)d0u>`}A^>|tHxG!k zmu&XD9`!UcHnzlc-XN=lq7iMplf(iH>W*4$(9iydkbl?_I`jOFAt6~e*}S$X*-{0K zc3#8#GfO}xqiC|GF@~F3EfIe9_6@9C5&-?!!i?!CXvHG&D%>`yV3O?Mk8X%A!eA$9 zo(S|5!eC!;Acd@G8H;yq2GBc%neuysKLr6C6W2m)%rjRPuJoHxzW#=i`u~K`7i*cm zN7tn_Uac(J>W}MnDew&<)c-BV!Tat*G+N?fs^R!Oh_{cdyPp$*4o^Q_K;2R;8%IUH zYI*29t`xM~<-7R~nJ6Oqhv>3zZA><0q95{ig$PFPuYo)gwo;(ae+g&uOiNAl7DMkk zfG2L63^kbvp#=M$uld#ba~)5D9&X;K1>uUylPdX;IMjbwwy;1QTmRan436Cr^9PGC4l^ zxzMY6-kKj73*x&?AHBR)bzLov;UJa=NMe$lcu7sdN@Cz*0ENMFhxiQHNQwo~slaD^shz;~D*`4O)W!vD zgADxV^_|Ygc&^JlzsJxQMpQ4R^0I*pm|58)!AoNjzmmj|jR-W4PQOJiy3boIEGx^kCK$JCT}FBJC$(z7BY;eM&C? z+R*`wlNpEX0M>Nu)IfWZdslhjFKdCA)aWF#sRIAh#)AjtnZ0Ik#Ch0^#&*pi7|W?L z8E1${DYnY6 za}&)Einu-~G-`jboR~(K4*!Z3hI|hEQOStUf;zhGnvO7=!$7{+?IbTX&evU2x1Y3& z_WUw9s#K>tkRS3he(U2p5_0lxxlLG|rN7AH;4T-Jl?8m$&>SwGnT;KMv#vquC^*p*>a=aUQ)R#)Oif?+i}kSiAemLf!64u9o%4U)YwhI&a>)D7 zQe*%pCt5*-x8mEY#F2&FNO|fsiwDDru*|j0##2iX2kPMg0wW@jRPUu)tK?ovzhE|U9KuXv+tKNnmVRGY>Ehr5?r$353`+-Sd= z0m#)7gaeS?@~e!?ekz^tI&D!dUE@6UdLnHQX}kU`mA>#K;k22Y@hrsRqx z#B1?|r*76=1u;Dx>W(TUcAKc%4|~4Qw7@Nt9}TgfIplNU8Eeb1Yr`%5vgrU#k-omY z-USyI{MEHpg+q3BTLzB>{9(QA!~A54Lk9S0zinTlK}x0~qx{Qz{}_wvg315KKH?|G zcx+fNgeh+sGgFraXvgI;iFSXo?I5QIo0`et!1hsrl4$ zPVfPQ>x9k@XSoo zAlV(+crE04$MY;*wu}AxSh(*zjpIM;r$N$xBYnQRXVNT9I=o`|=fvtKBsvj(c;E1N zh(CAD(|>`K|8+q;gfLYPj74f24IIv;aURZhUM5tW+zUtnel5IJ;`8=j@g~2b-B!kO2)0WOUp>RxA0qlHZ zmB2JWDoB?!>Q=$F`=o8{R`#sp$qI@aVk*zm3UvXCs?@MG1bxlCw7h@ZkUGq0J}b zUwzX$&%D+Id{M+)!JZH`zaB^yp6h+=FW#+vsIwA#o7Zx&^L=@V87TJkjwL%-@ zKckfypnhJ4q6wfs*dQaQb?KR&*mAelmA4Q)UASU(b1FE%Hc)?6kk)h_d#;(Fw>{OQ zp<$tEtGmXcHS&->GhC-d73gNU?=^W%%U|{@<&k}d4F!Ot6z8k0H_x(`uTKxOQbuMV zBmaz$AT~Gr&`-193lU4M zf1VSme8H17z2X|m-NAycazYDhbcfRn>&g{Mpm)?$=XX=095Wc!_fE|L$D#LWPTG-^ zC~6-#VA%h|T4k7bWq_Vk)L(P--VpZL(@D7(mTc2s(;=8rYs6GgU9}YG7P}l6^Vki z{sbO;eXhm>>8;@^m--dU5DqaVBSn$xj(-Rv$0F`2k?RiTRdypT_L*KwuaqKG9iHaN zy%%3J;Uv;J;bJ@XP_INtpF!Jqot5`bnEC~0ZMT9REqik3;3#VZak@h4k^XWE8T6fz zlaowgIeY-zh0}inm&f$K%stN*`UR@%wT#qizpQxLElQHLW_c2-l=5bIko*;q=1~*a zNvMyDm*(sWp-{v+w?J^+60fdh1e5y5}E81PG)>qBe!6QlAdaJ|Y z+=`riy<43KIGXGrkgdw-)qRCt#}|j4(u|VAdOO~5ZmG~CC%I!ViBPAY8(WiIfxl0Wu4-aS-2d&iuHxbYvhQ>796 z13N<()p#Ouj_*_|Pl+nAU1|b(T2K~Q1NIWlr_p^0!UR95PIIYCw$-d}?2Vf!d#G%3 zQ{=X_WubM~td8~+8dA!w46FZF0G1TRsO?vV8%?ba7aSO7K~Db=rqu zze!bg+9tHiP)<|)dQ?sl5*67Qw+rX(pkEU3Gto41;RsKftXcno6RhOgPz zbR5r-cKdMnF3Ylk#cGf)%eBi;)qiY?`3u;yD>_|8Irjuc(4FxQ*&GX_bdkP$%}U1_ z^i|+F!AK!cIgQdgilIulO8DmUZ8oi05Lp?NhGPbMjr&&omx?Th<4&(>d$SDb{yM|F zDQX=5uPkNp$76qEN8Jcl+8y_(&@2CSLNem{ zT{_0NH4HJCx7wRH5FsS8`6(z(zxmX9RgstKbgd@BfFNuDAzNH6-Mjq>KG~k$>m1TA zgZ;9t@UJ3Ly9qMs&auiye}PqzBHY*seo$?bOe;#4F!Y9K2BQ(Ru>630?IRPXk2p{c zMBbmp6jm;tcB0dH?r=8t3H5!Cf@wvd_lEdACJ#49%{mLl+DCu{aWk7NbcmYiIo-6= z;TmC}@|xLzRQ<>?AMK#~$S)_vg4S)V&IuDkx~{Etbz!-!ZS6TTaQt{+H&F47_WR8t z5Vug7rQI;L>yADq&+P7WI3>3HuoF(3Q$NwHX^u|C1I3pLLU3s10FEYNpa2aC_&A3$ zsI#Q|WOWbLG7B^Y8ueRm zwhPJ|U;1%YTUMH}NuhFldYWBi4=o92slbPnh1;6_fyCWo_bQHgHW_`{o9M0F!_#wW zia2F`N&=HdtzXsmHPa3(8XeO%FPvv>p;GWM&l z|4;I+H*u!~VcFj&exg2tP!ByHDgFKka~JQWaO<6i%Oa|wB8d2%@S?tV!H;L0TN8`U zLOL4>{k2B|b@#y};n2?X!6_WaGKe`6|HSqA8=W##I&l@-0|%USMeM$^#ymi$AkY|$ z*Kix_tH4N)MAf6bE1e+T)<>pBd-n^zCS*#Z159=mcmsP=o2n=Bldy4xEzU`&Mki6< zE3py(HINLga_QkSZ{Tk;jXrpaYio6Z;Xvc(f4@(Ey9+Gjb_K+Bogm{)=ingb?-e-k zyF|sP=eeiI1ws3o9d9Ug^N!&y(Mar$X)66N#%;{DUOTYtCmCG(WJaGv&{x9nz5DsJhL@6rV9;C{g{LR5e|w15nTbN+k6~;ff0zRgl|*YYn;2tH1guG1 z*0MofiId*Y^7rRHBq_oS<*OD22p25ebMM5WBoeP~d>0RCR7U(I_Nj5<{UeNk?B01{ zWo5)>^|x*_zG#p@ZDXrxLiFM3es!!O#)cC`Wiwy3hA+623=B$Zy3{?#&hG%rd+N^! z>Z{A4?@zip?KdP)Nw03m)jNBo6&mRFiL^e&7ZB~t*#amYj4A4!Rb=d;qf^|WxlzTV zaGO}v(v1GBYRHbhn#lgAd5|J@|D4Rnd5i$Ybldcvl!+)WLj;K99J${gI9y~kQ%S;C z9RZ~dX1xCuo-0+EvjN@^r+2-e*o=W~Be^|B*OKpJ)0Mu_^^%8NP8y!ET{_{2T`02i z?ad|39^cQ1q?R`W0pZOF0uy^|q_)@0{a%=fMH_2XjzcF$qkGoEbA>hFD>4k=EQs+= zT@8LKCLGd;(x=>?REF8vU|8}j@ioNhgtZus{Hb^>bJRDV=eWh%^00A@R9)ABCeQ_D z6$*cn==bFLkfWn)EtwM81}3i^Gi}CObi5G^{<3|XKvbRBc(1aC)|w!1b(b1h;%3=e z>uu^B|NKCbJCP^S5N1vOq~Md)@DmPGF%M3&*8Ff~VNMpxJuD-dDw^hxI|`6lWT0>bEEIm1B=6{e2D!F-_^Hr(F|-emHJlW{_whz6wBW|p^lD& zvWzN%KG*;@k-mO#Mmkb2>|Dd8ih5`v?Ee-hyQi=b!2AtoHP(deT~`>RD7Gycv;)@Odpy?!TyG%MAfR2ii-5?j;7FY2r1t zVB78H;p|d+#XTE~TJ4 zLtj#X7r$w8*s=YY)-$ovCFGUC=>|eqm(d}%vI;+`ma;9E9K+n7$D0J^drs{*J%h&K zXU52IO_BdY)?0?P5vb9+P_#g?;_mM5?zFgTaRNnx2X~j^?(Qx@i$k&E?(Xi=lf94J zd+z<2A9<2IGnx5jeQT}P-)CcX$WN5p&{*}>%TKbx#xpdZBolleCCtOP3cfI_tBbu+ zE^Tax)g>9zw=NW0VB^l`(A(ayTX)@d>uB2{!x^o@31jPu!{JUNj=S=p*4zt6)pmIq>CAufsH zS$?)XZhC2c6CT@r{=Db?r$m{~yV<$%88Yjvi1MjN$kqti5;gi*UG~r_M*T5p&^Kn8 z^?UeX5DnR{SEg9`{lB6Ix)4v+d%cLwv#?W)Jdf5^h%z1R?}e>+XuhPE=r(3Uq^ri; zxKk>>cdGq{&0_FL#>*s3B&}2I5uK=R+w1W|4goUsV7+J>`i#caFxIgiQb~9TzplrX z!f5)A)YJOpsE)y~%!B`da2x>Dc4Z5Z9FeP{yrxhZtc1B6WMhl9@P)fsIQr;I&r{CA z-FJcS&E4d=z+>Ka*Y#+EPJ4&jRT$xpt?0FO*#=>~_0HY2u8Ax-p-ZuqO*3t}!M+1V z-^~>t+LVumTNd3y@51r;lv+urxqQOPLy39-P%HAxeZIWP7^|!R*p>U=KFo|iH=;uN zQ*{rCSFCi2qx?%mpMyM4r};ji(YvO^h|(WXeM74O3)H4B`ALhe!VQYf>JC5hC*MQ- zsp(#mf2xL$3jeP~I^W_HS|7>!E#|5Ex<1EwrWt5cUikh_8y?{H(c>c&n*yk%v`*Po z>;fmRP3Ay7t?jdfOaeWo9aOf;nM{41-@ilZBfK*w9vyBkSq$_@ISjK(xfwce4{3E3 z09sn5v{6}Kqg?G*6P<)AH@$G(K@Qbpd6(ZYZzbpS$B%sT10GWUHuv^umTXFyH_kE3 z(@%YcbU4s$iOu5EQ_Yq?*^Yl`+@d9dqruu~cdcA2&5=8r(Yty;{fsJm*%IdIt)nZ| za}gPE!(-Svg4jDof1di__6q2zS!w#dmh{{7ID7V*>}$(wS*NbIUbTEq+SboJ3EZR_ zzPI7PZACpHrQ*;|E`D6zq#fan0BfG8KFI+7SRort6;>*?3;rOx>c4@P7{6Um*lBAj z9lqi;zcE(D=#V_$=h_l0)(yfy7!0uPGrdn)D+}Vk`$1Oi{TX6(PYgGm;ntmK9mUn5=#JpGom>hky4#el+zM39?<|KQp{zemG}cXu+Tutbt9_RJ{dl z3_59}c4~h#&>UHA822pTB@9C$9hqpJQ8*chW-S*(iw4$Qe`Mrl$|)uW0%Pb3?3Y(zA1`I&Q=kd ziY?w2)#`)H7(&%qZ?ug(yuM_ z6LdW5Dh*i~Me5(rK@@fCdcmp6uIH;6q)ahF)kO96(blnaWN~-ofi%t0)}z(f9OJj0 z*E4groq_4!W^i+YZB;QkajSBD$PXBGHSUbBT0Z=kYr;M(mtlY4Zlmr zq2+>CAkd7O(nUAr4d77cLR3eVN<`7oNS5OXcMhoWP}^&&s{XB3yl~Uy9~7rw`^uVE zN>%;3kL8Eqjm2ZvNYig5c)p z+*RH8xP0Axy*@rgxz3k@K2;<5Uv-@;*T5w+%X?3b{t#4M`xo*)oGgNQcv)Btb$R<) z@T2rBAp2ppZ)M^&Ud`AhBedS_^ygZ2-vSP99Miqz8rVslX85OKj`5 zZBK+VPl4f$IdpaPBA8=^ zIhVkqe#*TUhRC?T^oE^Z!rwQmb|J#sqoCh@k4NaxH&}bVCPs;? z-v!Zs<9tL`2%b1ms<2U`Geug_BCOR4(SwETpp=m@})4C{!#|*bPV)Od*HHH{&L6j_aP`O zI{iPNNP>?lncqh4Gwy7kD{Y_R+20^>v~%2a2(NOD8TN|wZKkt7pPoP0iTG#b#3s$~ zW@`Occsa_X4O# zRGr&@>KF>7t>JqV6D?qerMC1CAgYW^v@N2z|1oE9h0)NQ&=fKOMW=xt3!sU18ff1f zv=2UbP%fW6cSW4y4I5=lB-sl}(S%g@P`FX6B@?6kGT?LsMRJ{9%~9ecPKP_8h~uN! zaN+lLnHMk~jo=0K`wP>4l7SD<#DmyFG|dp`90x1VE70?{XQyK|G0V*<)jqqr-@5~U z&&iX_T-^G~Fm8YXF`-CSni&`}wn^~j%+?n31LAQ}PrW7bB^4v#M3(`SD4d1%)Gr>q z5qM_cpZO}W@gwMaVk~4W;6&EL5?TiXE3aL3Q1jE80&Y7Sh!wRL#Ln(aHJTt6a``XTF!2>KVzhvv+F~{Vbd4B9 z-!0Mhf&9<8M4Uu%gQ{4}LYyp(8~s4c=*K_X5yHA|SCzWOIk6vKBEGHz|3S??qnkhg zv}LkjFUG`iCu4|%ev`vp`?>o7xViH)?#<&CZ^v)vp@_!(9~Av;LOTKLvB~_URpFlB zt7dM;r3K4?vmU$f!kwc^KD#D%e)ji#OyTMAMJ|6cq6yW3ue6;>kd>H4 zIdwhQ{S9fJ{#}e*X)G9ZIU&#$0*HF?BWxqzF`N;-KpD!Eic5-Kg=xWLw>goN9QX&q z1G`c!ikSfr5iSg^EQy?L5{mc=23XpZifd9TjlI)}>wZF)YP8ZT5IYR+OfT42K!vhZ- zY}zzYltRZkf&4D939^ar_47e7NkPSsbQJ=&X7s`Bn^AqSx&AiE^>a|r1{{+gOkENM z&?e5NtW6ZysN;=p;MJUmB!2g`#UQ{JJ0~C4Fr0BT#&G;?d0+OeQA_pl>QzrqzM(Ar zlmkze_X+Sflg$%m4{Xg3VA=Kl@7(fXfxWUJFe}6Y7=?Wy`M0~kw%$z{QtM|gXqerU zx9})aNEUP3a`16s$SU6m{Nno2=mlgvcR9tIIv$N0**7z|A+QBIE##0;|B(@Co$nm0 zoVNy9q?XU|t%gZxI=H9}_7vvN8_bm9=CJyxInS7($WY*gYK^!fam7SR3a7@#50G@jwMHsL$-@vwdCx{?v|dz zR;H`*>ifcD6_4;mLYNuI`N<`AQ|C5iQR$X&;`S>mmoeqfTB%ictMP-U6uq#_mBGYK z?1?cXxpma}{YhwAcgBu(;??$^Fl8OU!<6l7)aH>ut#I!!&b!=SmY8}*4fi;Vg zRVu%M>q?{j03UM&tG?Ij%4BzxWbyuk_ZKECvrNz*W!t12=B~@SGIz!vw-$#}rQNW5 zGx0EEZiCpEkSHHm!PytSSpvj^j%J>R-I$5_rZLdIwt?YczohzFI_jgX6sy19EO?*EKK`gHM=+trQxJgZ)a&!-Z}x^f;yb3T z6iaDPZ)UYEIcw-)KdbiH`CZbNF{;25j}o)p6#Q=vky_vcnS)0~qhbF8a1Ej?lCvCq z+YZ}6?J%oqnYf%R;*c>%e1<>NBeWF%Uja6MzXi&CBK@(&7%UFL(S!KSm0!CVsT5dz zYT-N^^5Y;Gauu`QbP7k~kWb*QAaRBp&kX#-p*77ZTELT@ zu-u?X4}Elenp~*uQ`RS_9un+);Zkwo0$gF5L;f3n3GuX3?4g21g6PGWTSfc> zqiej~K=|b2@fnWtP8ni@CO}3!@m^bp)%6~0{n_cniUvH!4pPJGbJ_vg z+?yG^mu9T0681;|53mY|LfYcnCu{h!6`o>;4Mw`Rb!Z_7^g#%I^1sN?dx(1QoCEO* z_;a!Gi`Ql1(z(|vei>6SkTigRuysA|OTDCdihfDQVC`xP^-Xgsj>ec^JA{Z+qoY{qXx+gSQW zQ1^BAy?rd|?wEPy^z;pF!;O8ih13}obtd8tscG`I0iVHKJmj#09!bLvWz)Y%8BX}n zqCIR7b+QfTwzO$?JD-Z?l9sD(-5zoqf3PUe%3d;*&HHF%3MykYzyaT=7oRa*d@IY{ z68xC&IT`@MA~~V?{nn5#l6L>*GpE}yH6}ZcyPaT6cy+xObi04kVLmwg9vWnUK;*Z) zz;F37wb3n`ikk?A)Z1L)Xcw$VUqHGDY`~VD#{ZAw{<`wR`fthG4Ufxv&Bi8r1Lz*DbcFwQh|N-P0N=%h0O)fD#k_d5h+r$rT4>zPHc>ZgSD}RR-;$?n6{S{5bQ5(9zqAFXi8T{V&f0Y7Q z0`L9yHGHO1q$E9m+La!l#)xce2w=x{6f4!B8_9U<1Hk;!^C4?8f?Xo#F;qM{Mx#(v z448B!JF~KA<03kHB6j>&??>`#S_dr(s2sXlF*z2`;3uXvea_S7 zDQ1h#^;P%uMUJBc?znXV1MdobSjYPK)4wwC@Hh>J=t8vlKDLd%te=0JF2AA;Y?eVr z#n$X+zk!2p1$X{1I?cqoqkFAI$oAcr@d*>$*q=-kE98O}$}7!ij8$(iN)#_QGfEln z&wl1b1OuUBkRzZ=1156Q_dn~~ugym99L;I~st5pkvlAQ^#f^`2?C+#a^LC~#O{Z5g zL{zZsOEsi+jM5iPm@M=QrK_`jp})_L@!T=qH`Yo-D7#^(^bC{OPX(i@OzUa0c7KU% z$dZOgVhNyzyb&mFe=rJlyleNk4~Z$y-u#1d4n0V7E>`~srG4D?0CAlN?=roN4JEZPL;m(M`_c*qD2{G(BEM5${MuU)bzQY_GD~y=?$6ma(X9 zEd|y)UK1%t-$sr0GqINhP2>zKGYll~0MLDQUwqAm(psuS_=~@YdRzz4l|qG;#=x(B zOK=FQ3$VSQ;gbitdvR#I-c)Q@r5rXp#_0?r2ZqqU`VzWem9Ju9Yqk{INuL6-5&vsZmS+agoM#Pv|nG9ojR(svp)BnQnisEdxI?@u@1iJ2U|5TGTK8+?otAy)uBIB9y7ciipF-pY6ke{m&$9hfZff(s$vaa zQcJw>lFF-`hxcH6<%)BXAEUDrk`o#2#7Q;NIaA2rt|It@Y~8ynypa1jVtawgv1Af? zd)NMdP`c;-!osIqk6MhmbFvp%KH49L4i};xV=&|PW3t%K_!N5E+!CWw!Ebgr0SSxQ^v^eQOFZM!@d=y*&^e6H&Rj_qzdbcg(yF6!t&he~ zw24mG3fv2G*U0g`Kc+C&$$%B5={Y_(TQ`Ynxk|Ta)^dG|-0gF)((EGmUg?YyWLj;t zD5u=_`W%MvEGBTm#Pe?`cioHbdStjfix_SG-K12}RQWpxU^ELSB9i{WF0Sq|$x2@P zG-rziGg7!VzXxeOB20?ewVElpU6Pw=6MLHT$%$(8PlxCn;`A^m6KJTqTgqdGUR@Lm z7u7TpGsaGADziV8>G=Euj-2y*DSVA~)*+evRVRSj+4=Ysj;mX;pez?ARPa!^xEtR~ zjBr~Irm$r;b!L>h-S&pm<`sU;@%05Mdw;P9>)$4Hk>e+{1Kg;a5IUP0%UoFcu2&?X zRU7+>3|~l1WBi(ZHlDE&jN|s}`K)70u4q|eTxeFCnxlL^Woi3X-BJsLGooK9iTLG6 zBJEvx3flk$zd~gz;kRsQN5?{#m*H}OB4v-?4{Nc(&@G~RH+EK#@LWPGb6^+uT*Gi( z9haT+w;aAz;#rb5z8i%Z1Rg4;A3qR}EB0{}IJs9jSL$ipUa||<2$nOp*ar0@wxh%i zY}&b0&POeyob7BM&;bUm+U)fUm&~@l0P0Bf9nL=MfnT67u?J1g=&U+6<3@giDlN0M zR_7D8%$<>~mXLB3C8{+MUjE`)Y$zu#H&$E|24a5XOC z15Vw%O;7Q(#_W_Wm0$vIX@Mv^QA{%Xw0DN>YD|xm8@@DZG{6NJ4L#I553ErRHts;X zJn2A;Q_A!=y$-qO(9fCAjz+|E2%1WmfHCwvA!miE zSjlu9!W4;h4-?t?Q!3Z-cJCbe!D_U;5dPwTa|PwuH$6 zuG1Etu5KqhBm_zHBeG@(aPE;#kC~h8cw4`&IT>^1!OB~3do zht(t{Sn-KGd7zF=*tMH2QCK+Yt4Ak>>Iv_ykM7r5yi{{W{#qd9)z)&2?(mNF87+hq!&^LUcxg!A2=F843NIN zS`81LyibCu3G&I%sWy-hl^nWXPM;V8Mk2f3-Ywdj(e5xP{>OjO4Njyxj(&F@w?q^) z)j!iMU9!1Q+HHORXPo{BO!_eoiPPKC^F{1`_J>F%uQjkJ?8nt8C!Mej3FeOd_nx@0 zyTb%@79ntM+Fy0YNih&FPBXNV@>B(R9W2fWI-4SMOyWulwzCbSj|DU&*Se?7(Q z#gFiJ8mSPx;a#tY8(~WoocsXWD;(VY7}1QEg5?KzYrC75@B%gJ0+fCBl0G}#`>!- zsigt2E?K<8F!_6@*nan^U};MDXsjYA!caOe%28!y@tLDP?5o7g1%Mz`1i;lq$f&{| zj!ooE7%=@8PS>_;>F2cf;-hata8gPqHXWK03{)29?sSNe3kgbdXRgzwpl{0YOT<(} zMEYI8w8qA>rHIKp=czaefc9lm*P36tl;|l6S#yNwx}@=Dan||;?bvMf+}zCSqP!)i z##N3vuhV7WqR~YgQ=SlyI_I+@xBzbLj14M0ErT;KqmbY|xhxFEjv=QSgwe$N4=T$^ zyy8UAm$|Vn-FeKptt4Z+RiNnSug}bG>qS>Rr&dD6CEJ@F13e|O)Ie9x=F%ti>h(?C zZBR?8?3jA%=j)T>V8?>v#O3+SBjK8x$B9iA?}+8vnU=*=J)^}{Jv(ssLbL6}_Gp#yz$A{>!9c^}$Lm=KHZh z53O7=5w4VJ4yi(p`v+Ce!FlBcA2)I0Udn3cssJcqXH4xDy1m0`KLD+SDg`XNnfEsjQtHHB5qP8-xxz zc1dmm&5cDOoa0|pSH2-$t%M4u3@FxbH3{)o{jHldZq=r1_w)%6wKw!JD^ej(Mq~+2 z7@3B~gJUQXI~8IQ2@KUuXqd?1)o9so!O&j_(NktajoVQcb9G zBFF&ZU&Dk_(GVk9=l}9T;{H6=?y=jypuPDmumPW#-rCJ#(r8A0aOqdMyjsf;n52g9 zBLzVSiv|&iJWu1=%wQ2E5*K_Sfwz-eJcxmdPH!8a?;<60bA9Om&)xu012p)H<)F5p zgmvca(yeG-qB4g*A!aQ)^H}dXO8Uo~!D8gV0*SFp+K6qo7chWiF+oJDlen)+lw3xp zvYPOWE>gZb((I13>0XYHGeSsIHw3P!x%&cXLR_cAZp=;LeB09!K8thOpbw(%(+8pg zv~~Vr-jpVyI%{K76NC4#%q5yhnb?*%z}p>^6Y8GvVFnm77$%>f{$im*KB1{o?tEF^ zzbE}Ki-OE&&Gsy8e-~bqAeeJ@mLPz0c3vgar~3r*iXoV@CLiVhJlTi;w-xb{qCbvQ zX#;EI?(~Pp*rKe7xkNMCb`hkjV32j0an3tMrs3`wtCViCc2vD6o3??}fB5#9+I#a+ z|JEpOwZt0p1yTZNXooxcu{h^@2B~Db*?AXjYjtKEgY=nLyiU&YFU(&4|BM0o>90EY1FPS$RE5+t@o7P?A&NG`+Z;{|1G}|poefE=GDgU zbInCWQx~iiI}y@%|3SUY{-AX9CAEiA#+;f!1l1XX6UQD8bKOsb-x%>;|~%slY8N)qn}n8F;hlfxXDypi#aPLH^I)>wXe;M* zHmTkWFKRlV>PRm;w!Ua{fVN@IB5wOzaR&po7brgU82$ekq%-PE6FCYIwLV0 zcOhDpbx6DEfP6Y~eHDv-LKanPxpdQ`@DxJ$>3rq4lS9}G=K2;+sB)#2y9D`H&8@4lzF|e@&>6= zGPjcC?jGC!8Z>Kby2Lz`>4Hrp^mZER{&PG*TAy7%8o-QdeIS56GKHP9dySCQ11W`k z@hiImP2>n8CzF@8>gwj~4@zy*bPvo~1eIbwWjg@@#AI;|>5s~&L)YmiKxLc1%S&HI zOxI)|y?p5@!`giHBuN@ONa`aYZtiPGdtz9Olga#8xYH+@U;R&|H*1hJ;jBUU7AnX2 z7dH|MdLIHUo&Bzv!dCZ_BTX){&pr=o`s z?B7iGfo3Vf^A%03^mu{7nh8n?E*rj#w-mrzTDI78SBR%$J{>AfZO%;8wQO_vJ!&=%;)^{}ISzWL92~6hJgPI<@O1;T* zR$BuB4*6>rWXsh05$af3_Wlk=c?2X>*C{{w>HU|8F-@%ZhL^EdrFEe3YScO-zz(@> zFa9D|$u&IiVty~yk~=27TgVQ05kLPeA)!iNIEkznYis|w@IfWvI3uL`{XDsPD&<8G z-_;$iaX(Nn&6{S5lF~Z_Iiu>}07-(zl?qa6dXK3BjKfSEvmo|W-1p$eEX-=U&aE9l6$T=(bYUoSLOZ<$H))}%WE0^E|!{Fm&;H#Q%$#$6{ zO6!*tMSXoMRBN+n?yQt*nfP&}yS#28ji*M@0^{@BKRM<%sfo=5#+-m2`pP-mVo#j4 zg8kp;dV$WWNp1R$e#kcRmWfR5W|#2)Im&-_Xk92rBt} zAE)qfP)QL}EqzpEV>Yol&^z{)b-^ZX4pU{A%)}TxP~YjUK8w8XSr+e~U^e-E{6eJs zJMIA2#F;jOkq1l6KdhsfK{u8~x*Zv`?xVP&5m`~Y0SMURy7dsFT^^vQbSRpeEL+B za_DcsC^>SPuMcheoD9vEYfnsz=BZHwQ^hWbHacO%%=+j1u;;tTl%_@ZK`cI#Lz;PW z;$ZA(-pE2lJI95|Uv-9FUm@+CO6B04)AOf{SD+fOiiA;!kd$)M6B!J$`a@#W?{^0SX=uhBi` zdOdC`VXZoWX3KQ<>>*F8`?rkmMh9|YEn!&^c&n{F>Ae_iMY%DE^P}8`gYG%4$_@j` zgVY)g#;QtCFdOjDwayaQVk8o-dD!`#7>l}J4QV8pwxLluKB2<#ub=c)CRFC<*fdhD zSeEmo`k9sMH}~!I-K^YT68&vh9beX)jVv7FSC-?}k5P{rjS^JYGcfwj7^!ARU& zbo?@zz1cj+yex>_YwDRY;XnpG*w9PIBTXS{q+mNk=du#TQkg&^2V(2k~YJ+ zOXIb`jscZaHlSxPnr)rDt~evwyf{RPJ@q`YNi`GzlGyAu*B!)g8X=`vlJB(efn z$zd3VRo>a?0tsDWS8G=W9MHn?W1=EfI95YAJ2#YwRwtV<@)P4)ij>=Xhpu|WxUKdF_IT-KfCKlhaK`%c}w-x_SrHYW5v zQj1kc;YyK6RaQ<&8aIU!NQ-MQL-d%^jGfhjbLmGJ?W`1pf}Dv*hgHClvZnt%55UY% zuUHp7SlcHiuOI8NwKj>kzdMu*x#0vZ_jd!Irvb&!+j*6f&YjXThXu~np6#Z$s&0%KQh%@W|{ zqcQJfdQI;l5k=eWYNP(wyH=9fPk)^oc`~m;cTWwfUz;ab?Ld15Tks{X4b!BXncF&X z@I7ge?uSUR;y?6Z+0DhHp{K!aF%arL_md<>W)N6Hz?Cz z>;3W`LiW*4Pn-ph=W3f-V}o_Wway8ktI#7Zhwz|9TU+wXcY4u<_(3n*F2q^5_`4{r zInzQSiewDf?lu-$^dhG%^^SLnYPnTxDVd8BME%4h|6nZD2qmO)CF?+foUJl8sMk~> zP6fpFV0}k^@+gd8f9#QjWegyZ%@OX(c;tXrFH%L&??6$h$of5lDJeh18>epr{C4gg z5Ejb9wl!^lm`?#1vc-pJG9#c6Ez!5BH(CZ?nz`re1Hm>w-lp9M82MSBEuPk+p5id= zuIvxle^5=!ueERAigbL>lF7bCTIz`%tLhn9X&z7^8RX@`{!)_0D%HdYN(v^I5#lV9 zP=-nT)(U~7SszAUi#>K`IckzLSL9frb@$3L)$fd&TN-rMh?PcuO7o_}D7r<(ZB_8| zNXq|aP#JIx`$GnsE})mV7eS>{n|UA`e>a1SKcrkr3GV`a>~+$3hxnHEs0Oe6qDGjT zE~1zC_ukwkij>F2I9hUK=b)cdnYb#o8l43A^FOFG!)R}_P{WZwz+U}XwcxGTUE^{4 zXTP6aGJNs!a3V?pGLiXPF;1ui#Vhb0F;EHDk9G#Ktmxr6Cs<-zu`WF8dRJe^A4o1= zTMm2G3oDV5q^`Em-({{kGSjoqG=?~PRr!#(B#2R z?&aCd7T!mE*V-NkTu7enD+QZc+`Mb}- zk2e(;0z;ub>dtjLFT(lVmd3`0pnx)ceLaDbgA-v6JZ8Jy9NUP}grPMKIhdPnWNN*QoI^Iu_DheFNRITgvsX%HhM!FK^RA z9yPy7i_O5|eX@c$TKX%cN`$_-WqY>Zsw~55#=;T~h~wh^g@+Sjw0H_#*-*E8x@e_j zVwO_zARq}SNpL0pUdP43D9ox9J&eV36|2=Qi?|h0`1O~NzMk%8GPzOeeGY=+Xfx5! z%gxA_aIG(F8r zY7#yE2+aXd@AxfBzE*SzfpSMs5WY5u*{2Gt$HMVIH z;&JutYG_0VWon%#|Il^W`;t0pr0S3JCwvlKzPdGb~+YeLa@}Wt-%ro ziXXHr_Su-bHa4V+F3XlpndvXSc|%UaPQQzq&($c}qDuvF;b7?~s=f<-w*lHzevm4c zO8q=xmm%31<(E5z@&{7gZsTOvs_4q*l8=9P+Kx! z_F`p{EEl#3W2PiQdD};tH+Ng{qA@KhjLMF*;IFbo8^hhcjbA zKkz}nak2zKnWQVC zO+Fk??x6UGt>^&TS=s-lUS#Xe7S2`&?6Ml-#+ysH{x5k4t%0U+kAwI6?n#X(QCL)1 zf~40Ms_5{>%8~bdF`Z!cYuR~MA*~JLX=VO1>!qlvsFPnyIuL}W(dum5^B%+bnBC`G zJ$&^4>3rDT+%XkJn{r^&3vX@L$U-=Gdx&F2&GFo^5ph0!B!#S-wRU@7BE}&?g7U2C z>SI#02iD2yNrjtRuAuIxEZ8xM$Y{Pf+uHCHs*F%3~Ha>L;aN?+i-|Jg2DqS{JV9G zt5A+tPO+zET-hxS^}dY@+L+e4h>1hHU{jUZtK_+!VQ8Ag3Vi?s*wWFz(ucb$>0n}G zt_~!5uT;kAXhgDzI0S7j;aB^GM>XAlM5RQH>_TD{ot@yDOv78jZ|m-aPCJXwB`X9{ z@yG5;=wH;Bzu9zCl65+F5_**xmbS(>zz=;m)taK3Sq{|FJN86!omcx7Zh~Y-I>#nG zgU7@q!;mJ(th6y(`x*6MUG+At?QV%C*(~rSl;;k z#6rOzs7oo%CXu2f69_G|idXMvq#uD|DpOn?U6N?B%sWViGeF#t zc9_PDLRYuQqwBhhtAe^-T(1%7EXA#^XqcA{CwXL|nm^2~LL7CVaM1-AL!)7y{-vRg8Ekd#OAdx2R12{KE6> zbIf9VAS?as)nLF&`W}_WmZYGjjuDfc3g9{Wuu4G)I05^j}AcCWMFQ+k9mAhmBRx@DU(&>KXJ4^fg z1WC&pD}aRszYhp0s?;f$F3C8u-eKkOL#$gv&UW~-tZygk3usAx@5PzPGSDwL;cUya zYTN%Z7H#90><>SG-Fe(E)S8>(ry{!ARk`LpJL06$5#_0v@MQeVOZ9=h- zj(PDW#{AijtI=7xy6KqCASycX_`CV7GEM#W63JGK*KpAZ(e1an=-pGV%Bom>A%y(j zf@nHp(Bhm}hR9P_&5VRkSvNyQKbHOG)TADg&pmec#2V6Ae`T6@y+-Q)GPZZSdYf-lFd zVJ#$!z#q#6iHzN?#cM`=#yzxx?OpTH=tSA33@Aa6)-dCc*EH$xdMDHQbwv~yIDL{6u*V{3|)Y>FP3S#Mi< z6+->Gav^C~!}@ z4%ktdLj$3uIcugf!Lv#YvaOK*a`slLp+(!lHdo|mGuGAw>+|aI7$w`x<6P|GLg1uq zlZ%>sr_v_%&2XCcnBUD>l)RU^JIziv;`?ht5&0rLWr>^Bua0HATHe-lg7-!pUGiz3 zjY3L;3l(Iuj`<4;x;&?mB~vvKT_Q>Cm81Wv)Q#j>QOm>1VyU2>2AFnhvd%O zlDFEFCIKHRf}$*nw!_B@fwkO+y%)G9+^yyZM@%%b>ympZ^=w3M!Vl2F_?)jeSu%Tk<`vYq)E%^SrugoKtrnaa@sML=q zqzp)@3FL8n%qe*BpchQj`<4raM8? zr7yeyyACWA7Xjh8@UQfx5v`n<@UTy_M7HU`1-rW(XH{xusr|-?cWKfNhuA`}t5>Y4 zF7fKQ=`b{L8qRN6DvBXxy@gEMExEJf!tJHVquNr83IsT)y*=0(%J7mUzzMP0!8_(b z=}C@?5~3U|9}2xhyJU@J=8=PzF0i=`&cYp!Y7E1lwxFO`)f{uj(E2blGkpi_WtO4U znj%E719gGI35}$h=*p#_ruLgXHC0-6ZUi^NiSLtt38)k{Zxvrj8L;H5($zomK34&1 zHOJ3V;2Hk9xH!}}MRF~)oeWr(`S3G-CKUWd7#t_o``%@VPWv?zT&ROEUC^Tti6N9GHn<25C|OOvaX*RR5gkwfF=zNg)I^P>yi z*D%GI3{VFD<;9S9%fmP*Civ>wf>MMoS>q}wKH;+0Qk!S5Lm_JN`LJPQMKdMSY1v{9 zR?n~`lY)&$tIxqAap=Gi1Db>62fwFW<=vl_OfS?_hRBo@wTxcV&9ePXUhmzx&a&C_ zGuoM=u8oX4cl7h`@bu*AkB=%6hutq*lKdEeg>OWcERq!Pb=dtDQ5fB)#{IgDf1Nh; zQB8Qc82~0q{Py~(ib6{rt40>~wo%pU+R-}eC)&O+7c8miD^YB*i{&nc`h`w*>$c zaN8_pb9YW6WH{|}5lt34+nOa~6uzSJxs${*{>RBL40i5{ zQHImC_@x);5c=%V;s=vs>Y#n20pJm{t2Yo|XGYI(9aTlO#_42sRK@^v2y^`0=`?a~ zy)v@hD^1>ufDd6Jj-T6@eKHk${Ci#fEOW*&(@y+U=&5FWXR7<3(i9e>GbS~i8F5YS z+4|C$idmfZu)6)XmW`;0!38JKg+A_r^ZNQRh%z&RL0&~MSztt5AG1JEH3sp0d><6b z@{O>cJpH#*o}PJ`F_!G!uMv6ovSy=z)W z)xckrHYl3V!ba`wh_g0amH73xy#qJ?UHBow-qpy-?3Vq1{rdD%PGr!gSCnB*5jdOM zHqztQzunX*vyHt%G@R!!$kG|&dF*rA+|lj*06m9m^4}}+3UV9oy*N&&kXNs;9_K@{ zHeLxPf2!UW&n?J^|BNE-pufUIsme+3S2LZQOSo-`8L+Dlm*kCe?>X&sa-8GGaw7`s ztvUA+!SNS3=ZH!E8TB>FiI-)v0R`oA z;49cbHsT}++cf98a+Lwe1k7O9eU+r&T(PFbs!BTMA;9ezC^(@)qO&)iRJaqoSL+Z< zo2O-8pjuu6`}~y>#6B5RXdpH80E%W=5CtkF0~MKwIo4`jETv`;7EJ1+ zR|pg;$qA!_szv9fc4wZZMy)(?Q8_WSH0CU%WER;-&w-TNd!cSspZ7a&Y69RT>e9iU z#O|((=C4%W>$=ii^LZc*iX;IsQy4t=P}!VONR-n4a9Go!v#?vHcwtJR+A*ATD06!i z=7y(hxi9HMZlYknqX=)zaHoFpG4O;iEJ zh1ta4?$MR$v{}|mlUpZhZyC|;9Chqw7@ZtCAG)Jsb#L{ru?x^?htrZ?7hxe(NDGcQdgtpT`Na>QK`e)JZM}swu%=ldP+jpv~YRf zEz-@rY|B<<-2sf2ftFj_0dQUuUe4w*)QEhM zPZVvf?hxgIL%Zz?{i8C8s66eqqTd9=HjspzZwFPHO_WahyyB0{vE>)rz(=sbPI>QV zCW@+J$vT+enIX@Cf9wP>s;$t8p7xKosID_WU#iF^dFES zN`j~esmI1w7GukEJs>Q@oNa&ok*IlnUS+WW7QFInQJTZkryBb~kqbnaGis1(_H)hg z)4a{eV1GA@G5Y>hYopJ^Gpky^93n!3wpRr;g?p9>74$|G23i(pWKe6ykg;>tbY+&6 zrV==pxTwd16Oz?nY}|M(dJ6()(1v;r4QHFN!=D2ksVY z-8x^rO-B57qe)v`qv9(`el0%t-z7JvJ(%k!3bFrx%84Ic%ol_Iw=UGjR|p90`%gJx z0*55LnHLX9e9GM+?6Ig(yVN7UzCJA!lyUQymZWO;A3Kx2EOG1aVMx<~e55{gTVFA| z-r0PrD9d}Whtt-coL?H0yOkED+_@94m+EdP*PW~O4_f|DT;{Iqb`D%R>AL5_`3F#v z;~L7f249|tH?}PjXk6vancfTEKt#k#pU0e^JFX8aljyCeb$0bDtbkY2@t>y7T15Qz z;6N>R4An7AI2NNqjt;j$EH9gDc+28~;xr5S8|_1OU(Kbe?FwkGoce1|;3xQHFrTQ%OP_;X7gqs21idMmZ_ z;QKweT0P2D_SeHu z>O)Jat9TNu+0ss>gJp}S`L`n4LdJ69ui$!ZryrfNxa!l@STH!mfy@#Z(_18uGxo$& zZ$GcQjum8QFtX#CAy_Tb0kcUuW|roja4r*L_LY)O$>VH~D5_M}Gc4V@?7u@upZJt% zyR)3RQz9h{&k8B}*x5f1gg5d;Db+q>)UdSg=mh%QG^7f(Ro8ev8oYF@s%TA^!xJ6K zFF1ElH{zGeIqQdn;trM7WsqfZotUtw{(SR_?p)Mjm!;3UJKoNLuPV49Lon0dEo%*S z*B;+H+;Tmy#1kKIGaGYL_K7u%lWE<=u~+<^Ts-Wf6N6TWJ!@c7TYcW1c6P2{5z3jy z0+{E5EqI-s=RmULDqA#Eo^^#>hI`Ni5yde&etE}aX0_phJ(B#+wcye!yGQ=HcaLAx zE?LxyUiZG%go5N{iK(^d>7tUah4{d^G)23u8k9k?uERUwMBGY*EGU8eHv9WfnCa!f zCz)6Qp1bVcUH=_tZ(9<*Q}{G&-o9a=z)A6Tqus5;&3YP*hQoMO4hnL+;PrzYZW{(! zf%M-wPmV&$f4wj~f?ju?2liZXv|t0y>6i4g8g}g!YOkatMPAHzcDyW*c8Hqjw2IWB`Wi-xe{-|?nKQw7*^-p*$=cfX7X|22^bK0-_a4seJ7jj zv$nS(csVfP(^B42Hrwu~HtV+X#7}c5>~sLp(k(CNvU9${{gFr6WmUxcRYDU^4gM~i zeRsWt^CQF_MxC6=K7J~)be8=oaf*OyjM8i|WkqjJF@o93=iNR$#PC)94UOl(I6X!^ zm!mF~)FhSEiA4suH#kFIsosQ9GbX*2Mb%eO2m=+uru}ijb=X+-0D`!3e7}>kA zG*3UA>eJS4VKsOIDOhWOwS{iL-ZqOoZ`h}|ip@Dle`efJfwzjZ6%vlZYh5QspjqdM zkINu3Jm-d%Wx(tQBEEAMg8xZV+GDQ0d>qC~g?{sOubYFhu2%Y3et*IYGQ98oqNaJ_ zqh+NsX1G4ZaD|haaim#P(%`9J_({-V_aIZgT_n@UYGyGt=ew;5uiLY5=C?CZafd^7 zCq66vVLi{1RZ+NaS+@M}3jMrs4BA4C;jy$W+^a9a|1n4Qq+4zB!9;A9)&5f#CX~u$ zlHDc$m9aa5{&rXSh*EBFX9ebkx~~J|pWA`B$u_8>NwJj(TCn zvY)_J^t{NzI6=*gyQq`>x@HX2D4kvK`|zqz`zMct{p9&iWHSz|=XE7WTlIVpp z)orPYTLC?>j>DsnSg0HVj3#SG1Ac^MUZB6PkdT-_oP!%3s_uXH#_qk15>1UximxV zoLW@p$&MBIIY%}^rhqAjS;QYjSV_N6HG6`t=O$i3Np=T3lk0&dH#OR8?e;MmNsAAT zsY*CMW;!!gpwlf6Pa8FIo`%Ojq^j#pSV~uq(@=Ubi^s$iwmY#yk+_tn`8D~NPequ< z)V`Q$rHK`}o5oYw#boY)7)dkc`^CEYhPkTzhT6vFy2g;K+7*2XqNYxzuLYsR^?W$J z5-{Hm*@9VXo{L#)ut7snV4*2`sWe;o0DT8udEU>_;Qw{yGU5H!Ao%eP;-QJE+Zjjg za|-3@nt;WgE>yxPww!DfHfe*n#g$;5H- zQp3fJgH@}doT5Q|Jq5n)DjCIm1q{W!{AzGfIxRSl?uoJcH&cmJFQcrZ=Yt+f`0Nd{ z_5itMzX zZS<3c=9KBN;|)KsvVZvuI5LXr&YKsODmR~Iv8|9V-G!aCn;hnlsK1>XEKk9Y0~*aI z9|OVmOETN_0o?Hp1AT!of}dWqxpew+M)t*0^tD4%G`0=W1Ocp?5E*WQv3OWfl}x^T zchDR;m9%2z@UQKoDw}JmOR#5*Ee4*6bu)X}~f!emLTisBpvj?rLe1nc1I+LzKs2R;^ev6c{PH5i5`qi+~_{Lb#<7UT1hfNi&!8`RV>IGCN%a%{PKh zj9gb{bH{5^-*5MgPlwbjN+8=a!)>YGsJ#s8$)D7O8l%7yfveSsjNWlbUw{iL`rCZy1vX`y$$OR80*h6vY+277q7 zFI3Y~OdC<<{KX9Tv?kyJ1*Mt9K2kj0gHEOQw|YS6;rZXf%PuxU(BV@e4jx`B%!yJy z$5*q`LV(9K0Iec?Qvl$ri7H*Q`{-Y3t^uD4V~o7Q=CEXlr2hd@m!o}#9{o?*fk?O> z$!jMfKu&3?$vp-R86sf2AnotvM{9cg1~e2&1i&Uyp)){Yn@PPupd{#Hvwouvt39(6 z6`~M>013YA`0w!B$JF9-n-I2@@ROAv3aCst5JzNyDnIU5AgJ+;D$m!8(XBf>pmtl= zVr?}=316E>Fb|VB#t9Yc9cmLg6;(@xOh9kGsKQO&kH6IZfj*^M@rz>cf9ahW5XYPZgj@Xjuz!8u#X zplSi>G%B9Sf2b$O2AA+cGy5>Gw{|Y-K-t5SmE_s>R|s;1+JDoG=xZQl&-f>$GFPDZ$VwYMDhDX{=x2Y5xcK zc4v7XzgEezKf`xYNZi^~HJ^9G4xL1^6G)OS^is6{*q=&2*Gag4^cY1T|EzkPF!VOj z<`DlfH4OcRdC9X*q_lQo^dj(jL48K13uf6i4CW6RVe9|O(nI3T5--a(5gb0q)&eb* zRp4+UW${zx7$Q0mU6B@s+nkQ%t^y!uS9hDX#yxxKM|F5fP%)JS&( zNZZlM0&aEfK&o2z%S@MJrOR)7oFF`v;Q^Lk=U8PsF+Upc&0CR5k8CDZQ>{)CT_s+) zx4G+V<7(6`I{>}3)0^~KO>oNLlq%ki^h;xLg{HQMSp;)?<|;jc3@Lg#LIGBn#z%B1 zh3wH5CKs2SjucO)iC7iVBZ?xYeH>Dj@<;bG!8l)gY*~#fw6Q99vyNJOS5K}cw6L|a z15SA7mU{v$w#yefI#Lt{|3b~;sA@hfUCz*>kG)M)B=-`Yj#iJ1%vZ!3>4NR~6jk91 zGzE-BD4S_{g;OT0N6L8U6u>xyp6jzt)_=M*R&2H$k^lf3My0QYk_Evv{P62#Az#Jdq4q}UQ6{@;Fxp##%?seu10hwD$&%IKikII&9-4{3% znxTo)4oH!vF<`lK#_8`VTL=TFc1U<-X}@zq612?euijuZ$#T%#U?t%b5DqP>PA7BV zJN)1; z66-EJq6u?X)cGNZg<=TISBRo}gZW~oE^#y#Xdd&KD!}ipxb5Lv#oNqYaVXg;tzgpM zY8B3ZfPpiSxU`O*|C~oGesrti7d_)Fj;~;wFp9y{ZviR*kYC)RwW~LrVEEx5VEKQd z6^Zbe?w(|krXwIk>Lp>Yk@pzs5PH-x9sXu90J%7n+-(EaII zZu;^EI#V1_`8YvU0FelT!kV)cM8>6JFXG&g!_~EZ<>dSZ4GpE2U{P)X>r|kfL-!I= z_G2@xCCuLI2V&T$LWykcm3It2M&)*>o)kleWtOF2kqv@vJt&V=C!CtzQ;Elb<>9)eZ1kZ~b#`+e zXo#zW>@GW=vm8itmoB%~^_CG~K5yt}xE)6IJEHvN6p8J}kag8p>K3%LT$RdW6SWpM zM`uI!Y-+Zm%DO^lZka&sp8;Dv10o*g*GQ9ynW+W#DAC>NX-z)A*V7$jx4SyrP2fST z-kff~cc*S7N#v1eVL$^Z;6aDKVS9IXM|y4TFn9}8ZEsijaYuEYE$hc8pL#*E-uPTO;ck@BvcDe#3Av4i-I&V^2?{RS7mal+o*c_V9yD{(r| zxk8Q-R1KOQDA6BcV3vT*@*FB+@K969BuwhRv9y~x^dVQf;A}h6%?V3zvL8OEdbNSf zGqry&(0*Yrnd!V*$FG;2wuoDq#Q3WYauR*NWYk{~fOH*6GfriDpRA@s61>*&yCsbY zM>a%NCw<~uU&K%uBdWj%w!>;G587P@xBFqEKwxW#7n7??#)nwmF;0+0>{s1Q52}Q* zP*#B|2{I5jg{IfY;V*V+NtSng!q9EwAFqbL?>?gl1*%d^4@f4B`=B)eLlM2axvob8 zgg%R-%6Xs)FGZ;0B0q*?pl-HJvweyFs3^b(&*=XSBg~^p zF$K}5NV~$s)}!>NKc>fE&o{!ylm;(zI^)|2FonY#0gQ!_P1l(c{Nm}>wrZlBsS^2- zSwj!719hXl0NvZsi*Z97IZ5*wt+dtBcDa}SLJ3Ay&v<+XO6jwOhM()N6wb_h^ZK(Q)Fm%|S6E^% zM9<0z=Ip(^*Z1<`JS0@eT;^AF817G0qBFDj+%7x332j7%IcGWSQIp9WM!g+jF-DPS z=SNszzz$1q<`Cc`ej8o=BDgC4rS%&c!irwCN)$`1F`Ug9e$Wwhs7^3>xM!`2gnJe} zDWaeyn9lueH#0~1INllX=0Oe(i!*=8phB=jFNt4$;f+((%`(k+`g+$VUDzuF)Pb$1 zKXu(I6KDb!7a%>zc15)Ma}KAmpxe(as)m-vZ?p&em)I(~P{n=Hb~q+fv&_w;YSeXn z^nSTsiBoPy`+I#r=te9{lPz_xCrtXvDRmN2`oI!XvUl^JtLM#g6S@~XiN)?oGB$CA z@tisN>8|3C|E*b*%2$QRKh%Q+qH6<9h zbl|LSajyP*1^e1@HJ*;nyWIue*v$t^ckMZ4KmRDw*k)AELz~{X3a8ul#qrDm$@Z?d z-QpmhwrC~X+29JB?9tSWI5)7#FvVD}>jR}*ibitd>sr~!NK@Bur&QuS#_PHHkG^3$ znu^?~J^z2WD~DQl<-c;tPWtn6;tn+MuhW!$nEl!Mf#VRE)TKi|yZ3z~;!7 zqdeFy5B3qhsQ3`G)bwjdQb4G3qJ7;YAC>{Meh4Wwo>LSU(Q>UStBO&pilNeb*uTey zHd0rv`YBB~w>E~h-4UFu9O|F;n!eMcSR=bwO*l@u2*D0jR;&eJ^W!pW4|v0E;swcrKLeEZy4;V;e;g?ltx1 z4%7GARtkSUqQ6A{TpJ2_$-3Vf{Dk=Tu-JpbKxOB|%J&rw{`pW`4${X*F*up-k))+S z{CUr2Z|%^P?mF(tE%mize5ZS$+8#PXYr6nL+|Bp!DlstK{6M?24A# zp0r1+M{oItnQdtELU%=}ggJEpn6L1~K)X5PuzCDFIyDc6>^L2WY#(tOGb&>H3ezE^ zf3r+?vAJZ2eGx}#Oi(-0k?Y9$Fx=*_M?4$jp{`UuTh%gJco$|3 zcdLKh4{?zl$4%64);y5ETtWr{caKe^7oCm$DZX`F4H4 zmQHAW(DyS24+p7MQ+lwH`WKK?bFD~In)+P6Z7$XwvOpwbBvU5jj=Nm`D{Z%#-H+SaQyeWQEfD91q*eieR78bhkX{in?7&ats;c;TZCpLSxY*!!TXX92 z*zvFPp#P|< zeVP{|)_35jpmvLSQdM1J_pPbE89s-!dPJ^6p>NpOtda*v2|2zj!u>#kfH%C{(zh%o z3&ydzN^e%@m1a33osu#~7zROEnGqb)->Fm&nUIo>E*=0rz z!AclGxV6P^Y4_Y1_aUoxDj4+y6;$mF_||OIW;ptiSOTlY&wE(? zagB{Ut?cGZP5Ii&Nx1Zye0^uuCw4dhl%VfRJ98(?zl%cZNcFkB8%h*IzWLQ&+8@*; zbfy(}4Q3w;W(=&)tM91z&`R48dh$~7HrsPuJ?BCqM{@P~`{v4jx{=vQHJp@Qz5o9t ztA9zHkKAbx`=WK896R|l*CJUBBy>c@W z!P}prL+E&>uH2@n*eW5`UTbF|USr1$EtyGN*2cx;;qoXmqX;<4G|~D_#nD9++TSzz zOTPQSfrSwce;x{oi209r)?@@dWra=o=48jyF1zJ79c^~eD;DlgzaI6atrT-YuKjv1 zsd-!we^G+V!?1<|z)-;N-9W%W>G@D$yU6d!Loacll`S03op(%3-Y3&+`Owui?Vn~~ z(7n!1>|8XlJ%UB^^-H24gwc93HAY#!e3N?Ipv#FM1Vnt)PDQO;PiGJNzJ#vWgqn)5 z_DEB}^CdpyuwX~3aJuQ1`rPXcYC24N&h<76>ux9GbquLQVVn2}kBgoGgNmL?FS;q^ zd#i?zdLKjPuN$g!_XDN6dCD8^#+MI=NQXtpe&@8vR`CZChI?!a0nQMyKh72BUma#$V3m_KCIp7M#qFeS80 zW)4XPI&a6kHzxA?s3fo#x$EeI?%qL!{_+Uu9*y6zE8wl!`64-S?I>nCC^etF34y&D z;ooVw<)0Io*eOW@Wxvno!AMGSRH&?zbSq;ViZya6DOB=pY#uweB+juq zCE+BK=$hkC$=G8-cIJI@+lp4tE%wOBa(+^EJvPyE>TyfXE-P6?`v-_2i!x3B%xADO zmibGI#06V$h@Lj1D<&u~Fi$o3uxxurnbb?HJjA9fsKwF$d-vdE)a8z?T^Gri=sN4< zGW7a*&08MauWx+!r-h4Iy2F46;c?ZNJ{r(8E@_l1QMqV^<|bICcH*xVrsX#PfHFYsB?DTmNw^Aa>`f_ZDXmPLLn=}rKC zHgx)vh49#F(em~0(=8_s5s8G0hq@ti-=PY>W6wIq^bvoSu41G$=xkpG91e&KQUnM)ARa6c z(p?MvNGT+3G1iQeTF4ffv@|I9T418qf$b|2Zq=?|9t9K%{lC$r`<<8ojB03sf{~>D zF5dlhTjs;EBe-N&00@5{24n2e2%_{ z-~&nTr@EWF-Cl6a%Z@|LIOYvEqJtZ$T4b*)v7|WSz-}p|y5-shfEG^4#rIYR9pw*!TY7Twjkv3a&7F>jooIq=!H!MeadE zVdmVjILf8I!zhsr-lm;nR^VY&{_Azw4VA(n`H;h*dxOog>(j~kd362SaPPJ(XKUJ; zB1OXJV%-V1NIZ^A$7~a7>4Lggj3{qryf&-?CABtj?V+gM-oDXD`Qp)X02;*Gf2;f` zD@8HY8ZLR^G)x}>uOV@|WN5GWOOqH`MXE5Z8*GVw!8oC|b3$bNFw=deuSYov_cxR^ zHajHa5|6mpQOvH6Xeqp%TQ+z{JH`{SP$t$eE&gjGZF#+`USx2&y=d`DR-$Ui!LLQN zEn&Q2)$2=&dQ(DL4wOsYWoUDHCcN5&tKr>R@N6;FpeH-8b(Q{t?!1BFr#`b4Qk`{G zvZmA1sV_|X_Nh3@te`VSpgGqE+5UOAPobA25+l_dk`Acf%F_Z7DNQZv@ZV&3i z1F9@CAMO_k6^O=oE|oxQjtrA`YBDPDc^sGz&^N%8`)n?G_6|+ZZ`6*^fZWlDC2sUi z?$TJXwG(2vr^?ABe>O*Nt;+%k<4-CBIF6TLloTR_a44GCd#bQPp+R2uqH~20;3i(Z zkm{wLRpRz4SV2d1CS9gGTfoml)rqoIYbb!4>R|%hU?IbM=7$)uQTQzE=$tW`)K}Hj zg(h^zq1Ju9407rzjjT-4SHQF)%%M=Ra9(z|-@LLu>4@sG8SI-pXFWgXIeojSt7zKe z@>EmQx=^)o^TxT+1T746A@02v&_Oi>ls?X8m~Xc_Yk%+VnxixB6{BfRI;Q9=F(tHO z(>V6#Dc0p#@RJiGgw*w}>q$DF$($5v_I&b^r;V3d6AnF25P{Y13)jKMk+XO)+d zG|zM;n`L{47wPiuYHwfipY6FL?+)65rZd}un$Ea2F`B?d7f+>1fsaDsndEGz!S~<4 z;0R^W>i4drpjR<#V6ED*wKh~yflQf3*Ym}_<`-MnYU2HDCea(FU9zPOD56U2!BKAA z!cn?pgJ){Y>-#95=R$eJc}>4BpZKeOn0W9yS5`X?flFV(d?tPW0NK%?oGDg*>1k_6 zBcbIDZIrr{#*~h)?Hxemthb)wjAgP{`u-acBm#T(XnxDbF1LlUY@OLxZoQNI-P#X9 zHnB7jZn4d)ik{P~=@@Abq3o8V{3kW1dEocjHt;`yjks>C;@FDBSQ&7!c~Xaj6wJmNB`9Y1 z-B9LNi~xmoVU7}3-WzxNT;K+klpg_~eb&0pA^Gjyc$GcahAjKF;rk04Wrt;{uH*!} zMouqe$mO`zj^1VZ_o4t^j8km+-jVAf+^kT9JgW%i7763K!YN4s?G?m?uLf%xd1QE$ z?@3N&z8ZTeMi5iE^+gq8^RMuk;ROs+fN$h}xhr^;7fl$i`1LHA8auV!UUx^lSce`*l-FTQz_GB5lyg1rK|CKm+l^nbCuj__89=|FTrTIdbG?X$;(Jh z7u0vLJ30>T>NCs@@fWQ!oL)-@yHtHsWSwiW6n#Cw#y`gUWXj|uq4coEZFH{j7)2t! z2Tx{}FB&rZ10=vvw0!tm}Cx7bN~IDLlol%LDm=R7}h4CS=t@;g+jEe0LnHzzo)^ zMmB>OKN-Q9Bd?(14$(Y}!i8x(ub0hzy*+x^w$=A1q0Nmsd ziz$T5gWqeSo3mMcM_D~^O6*$9D5qLRoSWruw<779M8m)P_LJ=cCkBFwFMCy%@>rU?WC;PhJW&@eViklGr)_8} ziJ*X)#JhMIQ^afa`qa)uu#v;zVy?XK?BLmFG)|G`E1$YyTs~|+Y*>H$ME&0S3`^_(r6#* zP~Ed>MJ|l?p2?mn=xBV zi^Z^6hT&T_>b;9e3zQ>?a?-O1B7oM&m-l1FH{L(+mKFNr!uf+S$5!|n1 zU5)<}q#LYEbo%~Cs}%$f34as(JjCzf@^nOAxdrAt{=DjSHnZ3`G1koM{eo#cbC&K| zY_n`Rp3>6njzy0)z+*w^O`(6AY#Z$e3INhXGLW>c6hMz2{L0DJut)S4R$TvsOCR`^ z)KyYyh(ewP{Ks<@7rKLhaAX*=5MS{*&hpB*(#Po*nJ!P-Xt%wY(~SK?0+HC4g$ffJ z!#x+i6QHYAc50T&jIr{IOsP0iejcm9R#a*aeEfY2)ee((1iITkfX`?Wiu7*<8lz*>#4hf}_)l!WvTDUy zcDfnLTv70B<4AFN#-ZfM|3q;`y1cxHQjq(yHOu7a3eMIBwg7U>h%4BGy>9TZ z2x4i6t901qOS1BH<^dGKbEOE#)O&we$;a6v1}cJ)JzIu2oGHddFn8_k7#4%H|YVd6R)K z64WW6)32=w!YYdx!_U>@444VqL6s`YaC^Q}w{LzN#~#V)#;oG0^zNO!kOG&1IelSs z-fP-nj*}nvsd=LJsbJ2e<#I8HX562n#q+Ot{{T(ZI$Vme;_mByD*pfu98p&|p-NT- zCHW_>4KW{TBmM#EQRipolfrp0cM~7Mc+0d9nMiz^*vcindxe8JkVcHtH6j+aIp zZvb6p!cdZF)(5m$*|S{w*J4kD8zhzOOYc>(8?q@Cr-UvnP9I(yN0S~j#_iTtgFL%g zs(TiguRobLY5waSD&$04JNYD7i>5)2*b9aJ=z zP3d-dMY$th$k=i6RN`Gfo_@DKCAQec>UJXMWj_ z_C+3k%w=sr1h4#QN4?IpD;SEC#ks*&_h2=X$R&u5lL9}bg(Gr`yY`imy)$yk+{)-Z zLrbgqR?ZtUM~ehSikSb2&S5-1VDX_*;;gF;ZWAMV9i)=i^l;YSoRSdF+yKvC;I6Al zJp6?2;r2R3%r?&aB5ddAM(GL_~fmIyAA?Q9aS zc1!jZZsOPPALLCKwA-@$;S(#lkM|4lr>434Sg5uH((j6i$hmbX|=V#jc2*QC!>)pOkY85>@& z7KI8mr>*Kgjq|3|+nLc`%0tWI0TWCwDJ@TZn$T-v5k7erOw1Rq*OwphUrB^AS@!2P zJ-&$H&IjV)qLyGBiYt4Hzf>JJF$whu9sL8a0%u-Ll;_V}m51tWu3qr{e5T=d#rwhmHgpRD&gituxaAoZ@qoLYw4EU#KE)F)%vgQBLXDOcn{ZwSQlBaW1 zYFo@9_1p%ifirDpxq+2uCq*e}yHf)H0IhLio&|AAV|KF1P9s_lz?BRAS5~RQ<2j(d zij6t(=v9X!xC?*79@E=bZyZ{6R?s!S{*>;Yti%ml;7JcInoK?Z;O?X@A5kxkv?jg1 zG!^mseebYsJ*mV^xmu}t&By?}y*GP&L?QC)j}TGf3IF${kn=w)rDDfQ*xnC~U@NukxL9S(F9{7B5ybJ)Y~#g} z#&;KJ0L@(KSG*0nSK7Pa9`8=Bv)|uGf1TOmXyfVecIK6S<;QCqcQ|lYB5OQ~sv7xi zsK~Y0`RCE@h3gELeZSH2W_HzPh3jaW+~5hb#aYb#Fg6ixTAh@w2xYZ4M1LS#WilaD zQeJM)9`igk`P$*IdW*%kg66BYt}o9vyXg6?qcLGB^0$0ObZbn1s-%VKSP^>B7Q`Z^ zA|6scQdQxvcQi1VTGsx1Q@+>+i(Bt&2-LYr#K0=}H;<{vvrXfIvmRt^*s)we@LU!X z{d=?a7-1b=9rarXM?#Q-bLh2|0nVcm&B6L~4?F&wuNYWQzDYHlA!>pS$P_aKR6#QV zrTQU%MXu^JNOaRoKC%fgcg$-g!;&Ee(%D;bw@Faj**F(3#Xz#Sy)}^2^o7?Q8ksv#J%>vhH<1 z`@;Dq=FCKUX7U>_-tW7%c;XUn{prC*EC4`9lJ7cpc1Qctpg~;zQi=L-U{b0;|G>$9 z{8f7@V(7tD{H>&jq3cjoWT)0pWK(~fut8^h=M-yYwR1$moZjJO+msHzu|=~Z8-21d zuN8LKQ+MLDY|3l4VP9BsciHlt+$w)PiATbaZvscm$@6o171w(eUgk-FB7Q#KL8hB zF!?{gPi~I27rZWK)|madD-UD3j7b-DRG!2ppg~f8D!y{Ii(u!|aJTB56Qx^&R8e!2 zTcdjk+V&by8E)Qa?v%+;mv5Xim}6ftc_wTHta`@n^Ci3wAvl@nDjmeDg;>>ZB*=NH zaH92L0D2v&HM~M@!QG2+MdG=8gFEhpQY7`uZqF+@iDHqbu-C8Q=cUzD-EDrpfL7c0 z&OaP+oLwrw9;l@V5{??D819QpMls$8?+jsYr&NgUEV`a)%>F!4&LR}sZ+xnzoSfc( zEyty&2%v@Dt$DWaR5%Qw&=bVxpBd^6`eun6usko^*Yr2}x-zT$`8c`vOz`0CbUFaT zf_i6;3ja98{UXOh`BYM>xUyIoZ?lLu_D(YLOtlDy4#%FOv(;30ia$eSDBZQ}PkoWS zYBxg`)n3~hUfd7QLn*fp%WkQ8Hl~YZ8&LF|9c`7hphz3#zK%em0u&T z_?LtqUu9@@KA>x`5xpxH$R=rXb+?5_k=?el7Wa-mHS zybIpC1HZmFvkjO}ANm~ng#T#8sYq??;RF_<^a!e`bz~89voBHzYWv^TA4Z|N!dwo& z2$ADr6yEkP&d2XWDST7m=%YZy3qr_NP-S9nJZ1m&dgPZ5!#SQ=<9F6u&Odt>lu*+F zrw_R|!4spkCL(SGu|!iaj_npwu*$M$56|KKwcDBB>8Km;(_6Z$_h`VUeV1RJZIl&L zF291Q6#tGbP0D4pAO&h^cQZTsQvJ@x+?ibg-Kk%jp3(jtNz(|#`;nN2%(#szlbuP% z^AM3H`zX?yPviZA(OH0@I#O5DqPBV(zbTQUUUhNsGYm)aheZ%FlZ>82e(mt5#=qm= z6Qz=$7x75QIpm#JIit&+qV+A2B0d8qGb1dn*kTsed^b4{p?SYNl+(|=r97v^xmTsk z&CTK2@Jj%`5?PAiX!`Uawz%mjE+Y$=pFgvmwYj6q9=tuz7ng|N(aU$C+{>D?b)_z6 zvIEptD2%s0W$o;?A?;*b%%tmZR=sBtGFTCJalhGZrVu>3p%}FrV#^Fo7E-=_xoGM- zaUKslnKYMQh#)@ffCIbf}L8jzqT#o$|MH%E9Vn|UMS!~rB zE#&DBo9y`Vda+36NV>8`KjuIoqYb7Gy>897Z6ffuY=8Yf08SNg=A2qvlTWid=Ybu^ zYA;KIC?s=5EsiDGVw6D^rXy->gS@THDk>akQl@mAJFu*i;WUlE~S{j{dCl z*h=}IraLmp2*b}HJn$dNroKnYZPSe2lp5=d;`E6nV%J?z)jjt zM93@pB#4?cdzr|;YP7xr)8?~3X&qCTU6I?r-CQvO&4~7rE$Kobg%Clr4zq9aLl_vm z-hiq$5fAE;qYv#SX(tWmQl0#vIRNKO%4BE>zB4i_ZjieDCwKgCFKc0~Cr*FmJca^| z$+b4uq8kElcCkB@2*jxgcCOPtPYR?K;zLdnUj4Z(e_kJD7NjVRg7TK4ph>)I_RbkmbcheBWV-eCKLnH**8S{&Tv-FvMbDfS5yeDlA+ee$f?+rrvSYU5 z^)Kwl++(9z?IzdyN11RLeIrhVE01E%#(?iB`NY$8a-rK^D9jnhKyi#;KybkDGcrXu zAvH@wLxfwPvBq>~fupOE_Z&5A4~(JBRAycG!Pfys<3KDNrNZVYLU#NVNM;aaSJw6{^lhg5-5Kq2;?> zdg^ea+F;k+5u=}KV_`;*$ZctlM~&>W|EZlB8=s*DPnLAbMJ&T78)VnX0A`6k3JmWf z#T5BHah+58=Mp!gvC$s4?h*V7m4|=_-8*6vaE#rb35QrU`?lMgeY#059$D7ntfG?l zs=`DHWtU@_AE>3c6-T|A*1Etq12x{%)#6m^vNjh|C~L*%&EQUUb2y1h(TJyQmT{L8 zbTMrB9=pF0g|H%JBUYJx?uJNqv~zUDj-dYNZp43!jPBX;m6~jyJZ7Y|atFr&U$LcX zUpsi$JEXXdR;L(%vuyQq{w%Jr?!i0bLm=GU+oEE_>v+HaEDrqKBfGX-T;Onf`L3F8 zu+7q9THkPSb#mzpGm~`dougwf(4WqCiym?;4H{ehZI^0}J^)r%nRX0=W7?uTTxSoS zJLgRon<@^1_E-6}N!+}YBM?yP^bXrCuQ`=mJ#7~uHTHqOHSep{3~UcuNe04Xq3(?o zMN1)U^pFwlrbDndv8bN7059WBmD%II=0X$Nk$%i>Y{t>!<+edoW(0+nMT$(SfLV-n zZvg-xq2H?96T%i(GDolC^K;HFe}ive9W%(~R8D|TDuQDWF_4fpKbd*qTq4@gBXjLs zN+%OaQsQUxoYg8(lDq7*Z)zvM*ZW4q;pfpMzGG4;RFhdHuLqlQz^P2^BRz5-2~Inq znZwr<@Qclpk|L&j5v zocH>3-M5?ZiNi#t-a{Wy2*R{bN3-@iKP=uM1iwg4RVf3P8=K57 z#yq`GSjX7v3hxQN8u^yI+iGQirQj1oH%lq^d5AlBS&s=1FPKi*f?IcVa%QfK(`W0U zB%{;F5V@}*BR@dSAbEx!73|6xOZBSv&FfEo8-^=F*@^6I1|GEh+UiRZgbmGSi|6LH z;5KJ7?|s0aXE^#Zv}pLEx8F#s&7_XeESsq;TYG16<>gN~pV^qfQvsH}v))a@vabwU ze6w~RbtuIwr=+Z2wNx8x^o8^Ms&YbNi4v+}_D1#nPrmDKWD33ZYxLzfu+L;VPFmx| z`V|Z3*cxXscH6S>E%}7a&M;lv9>A&M9eOW8b@HSNP_v2OU{E>O_)aZDyH&}N=iJjN z{ew^B&+;&V(Eo?4zYJ>YecP~6q=gnQ#hv0_DDD*3;BLh&KnNDJr3DHUC{B^!QYcP> zTX6{%+@-j?^Lz7u-aUKv>@S&oUbEJkbzj$c9>?eU+SCil?SB;@G zvW5e`yUV`!2K8`wVl7bDuqoE|_0wRbGnR?Pd6cZwj6-8Gsl{+KXH2X8l#8vqB!Ayd zb%7C$TB2&thL#;P(UqgGToj{yEhJFndI~+qUN*fwhw7Wq9!eGRM2;-W!;_&07yzvC z9ynj~Ne`{5)rn5}(CVv)?X&>qw?M}7 zyvBVO>M!KTg@(Q2jUEYStx8ZBMoY_!!&0XV+`|dM?$#j<+u-Kt_Rcu%j)39#|JCC zQ+4VX^L~t3jBhM2)11d<7aIcTNO${ui^#G}H3erlO1=VI95dQOLWf&`$FGkY91}m7 z9!a@H?KIAlSAl)uMNFFz&k1)x6z_6VVANLl3QGb@g%jMGwNh^-h#HYo(9C03G9p>M zSu!oSSi_gX_DDz$Y#Xf}p?8toC|aU^z2xZB;eP(vj}%&wibQ~2lJlXPS#87i z{+xKZPjE%~l5?6=7YLUy%03iVRR&OMGC<BVfVIF#l^%R4EU@Mcp$M%^wQ3P-k0k z6}PKlOX6yF<{Suxn`j?dd#2=t8DyFILt`L1x7iDet9$jqlRVeZououo$|9zZ)2!^+ z<0~UuwNNAbmt7+fwW>6_%`-yPEvIAaIlpttC6n%Z2ZMUMa(B$B=sZsiLcgM-n=e*D z9ZQ)@1!5u}(;gjOESquXqyjPSKcu=%=@aP~6q^>L-xN%rNC!Tz8Hn}srS=zRTmr7M zEN8t2#IvME*XL3Yb0L9ydm;s)Z-Y~TQrUOx3aQVtNN3jXc}#zTFpz&@e%2J0K6YLg zee5xQaDTqh0LDIN`++|NJ2N@L+UlTYuH}#nRM7x{`-@vwE)|1nAHHSTlhuNfO`R``{rFO4ewcVS%Babd`iqL*AlIOyB5wX~ zi(V45inHFp!QzDjQ>+r(Kh8!qx2X;H!99M4NFklBT7?~SX7}T^aGHJ$8uS+iCftCT ztcG9b$DsU%5s1NoX)ON0%!dXR_V#I*9kN%FN&}R(SY}D^hMjI z%MP+ll|};IH~pR)6TF%JYkFN-f=!*b4oYz@K7XePyPiXy*enk5`6l9G%x{N=ANo6a zv*MhL`(`x7r^Ymgi0X(%I%f~&u!JD?KM7|J+pw}F~9Kc>S-t+Y|F~erSQdV~F z!ydXkks7+8QDyyd4@mI}F&MZ6Z9Qgc+N$TrX~SOqmGX`@@No6<5MHF?q-FY_n)UsC zprY&tPVT7sRYI+@FLUqOrnm)Lj4WM@QsHDZaZkNVXN!NA-eakn&s>mnI{52D(yx}f z<%TXNXTV%Df1GWzj#WQ$!8JLLP1?d=w}ui0ko}nLf*%&n@(ywXm;0qse^J+NqaTr{ znU`G3+c;B1B0bwmIwcRD*YC)gzt(J(6VDz{=QoKjRzn|+qP#K_!yv!2+FD!tmlqMm zJRbTG#voftmi9~YQU5|_b(^y$Qj#Ik8#rekc$&btT**gGnF|!@bL!_>*_G3JL5h5pXChNHU(PqNomXu|iR%!#xYb$D6qH zV-rp);j|8kSe*U*{pIg&@*1*o!wz5RZ``oO1>EAuXZ(`48$w+?wl9dluh7|p^+g$* z2&u`yYw@|w*IK_|RSZ+Utp94sB&>W=`5UegVA=*hOq~peHq6)j=gJItjW3uAde(5J zed+N(Wz4s^-$(oST7_@y?QJLvJq)`X{4Fn{*=&Uyc2tWfRn=cTC@Yulkz2kkjOM_H z9o7G^n=y^ej0rg(y`MfxiF{8J+4`#Nt)`*Wj6IBfDXhtZLNW(Aej}dW*w)}J;)RYE z>-JfNG!6|MH1Of>OW8jZ0B*CJH-eOc;meS++Se0P%Ua$9JY)co3tdXXCt!w+MSLO%Ua zlq#Dg3Z_(@zzbVx>6`uyZ1%bRPE)~T&>G51fcEsSY9PmeoI_9G%J+yr>8O7p;H>Vk zXPGKuaWSAkXtBwxbT>eA@kg;(*phJ<)7Nhajl^^tuejn!%_|lwjbBR%XXpXtSd8S; zgaG^v#cAdH89}q~Gz_F}OT$(Zk{clC234v~qTv_4c#qkWSHbzlrT!{=z_@-RL%+<- zas{b@bV8C!qXOv`;5|!d)3U6q&hfH8jY_dgj}=QO_)-2rrvg9$J!q-s_b!KfM|+>diEu zjx-`a)8e@b{x~PHy*SPkc&#;U56!<$6)~A{B){>D6bw7?hitpjq(2@xo0}>UyjE{N z#i{Yy8O^qBvTiZ4GPhiIA=g`3HCOlX12ZNV@23ogdq?38syXgc^2zNoC60V9S zxe3}f;c+hK~(Txswd+c=)4nO7z?M(go$mG+%Oa%rxabAIMlKT9= zJO61?*e|%$S&~I|&a{xD1?cnj(2%0cpjE^3ykral?Q=d zyAXYX8h>ZxHxzyI{YHO;heKR2$Aq(PwPi=k$vvm7A^bZUR&77{VCG9MFPhnE9~#Y0 zeo{C5;zuyAa;=vCq7_k{ZB51uCoV9uQGf;AGw%F6Rq+YUU2CNgf<%?_}aB0A%r5aP^7#e@i zM9}IKVkzUGXSEP=AN%~vKBy(*`;|o|YX9)50Kr4|@51Vie~Sf~r5(zL^wavh!;9}B z{Hyub5M&gH8HV=~fThlrCdKg(R!{z}9p5mIH|=$xwNFka72U!G;ZPg3jnlIMF#CO% z^eS}k$LivN=9ifai{!{X;8vqV_=eRVZ~LMnMyf65pXqLDzEv%WnJ)2%RdXoqi|=!M zy1J2{j+enk$$HnuiofUK@4lN*RJY~p`W>XKnpjtpX>^#n1kYl{9tzuPtCQX80c&WX z@iNa`Ra7lnREO-*L22$yS`Hozt>7ZTJvIlYFgzEN`p4C8YlcYk^Gx#y?i8vgE4kKW z4h^ctN_leA*@y8G{j{bGrm@0R1QLd%uK5qG`<)c{);=~`0qS9rl`+^_R5N4q%8t4H zKz6l(y_2dWl{g@Zftn2VAKK#cl~j#jH`Lo1HENvszxe zvb!I)jQSGPz*Uxb;;{|^M0v(ovI_Cd3?`>bvWrw+k`s`Er{s?~st!9Ad}OBGLZ>3~ zX?;tMHMIUiV~|{WbwFEAR&PEjH-3ZKiw0?|D1;7PE!Hr#l%T0%J_f3K5gUz?|ySF>$#QpfQDS_AYq$5uFiy5&)f^9TrmkC<0&@dW*=fg}Llh^ks z!S06Bwxy`qbA4KU0Q|gvM9hQRTU4@jWz{NF(lj{y+oGO1JaGduY(j%iZm6v!`EiS- zM-anY1;%3AvZ_Y2@7AB<9*}V%#Uw&FQkC8l?N+aFy3CB1OJ`M@O%* z$TcP8nA5M>9!|D;d{YGfzJq)4aHMTZK;gaU&Q7fT>8rmhxjpSwM#}h*FP@?uv9qO_7 zO2~#;w_oKb^R%T~#lWQZCQE8YzZb2M5ySdh90e5tvD|Q{)$mwJ|CXtN3DO)dnRVQ3wB7}PuE z=*+y{#%~BmM2r)^m+IDcTbk-1z5vDbUZO^i0;c2pcYppv`%vK(Ua}nBjol2(-}CXn zPqrhI>Bmc(bG6iTJJRTAG+msm;#JvnvD_1xLsRM1C+Q}wJNG^wRo|O)F^^K-T5Tb} zT$-@m%ZUN7tO99FZ`KQd2oS4?pYYMbY`j;27{%T7DD>G-Rt57HZsU)?ZDjed*u8+~ z8pi>#B3D-n5YH;{e`tOE^#7rWT6L|IhHlbF?D3eNttPIjECO8hvBXAvQcIlQ)#S4I z6oF_3Ww@$LEUs#+E<^ddn<~o8mfDL^q7Wh(G^*04o1r5_A$gd^WwUz?rY)-=`xBQp z#)_prO@Tl`)bDk$=$2?liH;1%_HgjkSb|mNo>$JX z6lHB3gRUxpxb$?`UShED4l$EOwr`Gj^9H1(XThE}xq zEpcVM7w=p6>}M1cM{$~aa`7q@38>q*_nN)S7z+eY`fxt5suHf7nOLskuS3r- z&#MfgMfT{UHCsII(EdfiTP&}ZdPk2_&D;;1&DE)7kHb{VtBZmr9|LFX5ALIjwx2&a zKeI+`Sa@08zU+TCI&P0$9eP|_2iEZI@^T+jTRvB&a{_K&*a-Iuu$)emvcyh(y ztH%qx$~|{wSl}d=)H*8kV?2mJe z7!m>O&ko(UjctH^Zj?G=>-_dnjV<2S>P|(g{2yUfh7=63b(6NR`o)^YKTQO>X3;bMij zbcL6K#i9;4>e~eOQmwD`u~sQBk8`NAM>y z$Y&E^FSo{>w`6)W_`8`C$dk3pSG2@VLVn8YcQ~Op+(hePf;rGgPHfJ#r1vFtSGqR< zftSC8Ys$V4Jb&^VQcJiZCdK`Hml6mQEo%F++@y7J8M|pbtrQTxz=8JKT<7Bj=@?xW zr=i&#lxJ+knzqvA$XQcqmyv<~O_}zF3eVo}UYxFnTk*?q*hen< zaK9VY_D8xeuk})>rwN)3>>W$1x=UPJk7S3 zi@!E!F4HxW7P+`#zM1)>wi1*~)~#nY+Bxr7AWv3NE{_FNp4%;eUl&y)yLYj}zPCZb zx2e=D@$k}}`PPA@AE|}_Ea;%IvV;}zgT;7jht6l6dE@1WlwQs(<*N2<<^s#A1;)?} z@jU`{3sDBq?>idt3U^dc$@`c8p=q}@zoV2Ko?iG1rviE5J(s-mf7~32!p#E8-y@*>RMU<1A=?kPZpe zVWGZXG(0w~q|vR}0LghIg^x0K_!0*a8piod$=FNwUeimU(!|8_K}aCi-T;!2)cHsS- z#t_8w+PHF0&)o3TXW;Q@Cw{y_xI8}nPN-b`$4Z9B>DIIU>ad5My|KYMJB$2S>|pMJ znZu^uL<3e@V8K2dG%y@PeaqaC9X;#SDzt{(%Yf5gpDNW@|5NS{fxwU7+?03m8D1-& zhJ?rkX+{ylR09TTZ?$*=zyMnVO`A-`_hfP1Lp`8|r=LfDJ(C|S+BXP%ZR4!yNXQiD z%QD@Sk;PfR?Ua4^HUN%u9KKmk00eUj@y5oidBpY%ip>K20XAEb<3fdX^C5{Gd8q=k z{oEc-JYW@u@R!bP@Dj7(y6pB(lwFMon~bjFTIWMo$RTzDecTZOwrJZRxn#d`GETu1 zhL6N%x-rb8!*hkbVJe6RnN_2Y?4(+vk8CpcQtGQMRM`HyuNtx{Yd*q>iyz@Mjb&Ba zzpHsz0GEv+D3c`dT5i@sx~aO1nXutCC980 zuGqGdEy%AJXXP%C+!Tt|eD1I?6c4)gnZoEp^+7x9^)>X3$a z8#7)o9xE>6N3JvLjyT-b)Oq=$#$Fon)gt!d4H-T9_~tn5;aLLXM0|D2X`f*rRky)x zB@EYsfP<$#{R*AAsurGo)^=T^^$cnMRm^&>WNt#If&XGU&Rttgv%Xf`bkubO5(n+e zvr46behJ(NE-;C@ zOy3UMIO(&-_v2&AxRw;7J0z|2)W+v_sUuqedHrUNJ<4!CGP=0x##@cQo;02F=gT!qrd&>x0YwcG8Bvl<6iuq_ z-;&&p@e6L>U)1R>OdgPD_$K78D7tPM1D9>}>`Z6!H{`#Wr=Bg%?bS95Z2_mo8>OgD zJJrL18^M6Iko3F!=Pf0r|V8w&4mYFSXQQLH~qYBdVhnZr7~c|4r=BNdhc46b9! z=f!=^o$te2Q*ZFty8rpxefIx3Br%duG!h7MX85Wq?C)-0IDP&kKY0Kgoyn&V9n`6s zyB7LtTuiyukQsO|RH3~up=^@4Kw0Q|g->+=Jy4jISD|TGfCN(PoX6=1I!Hud$lJM0 z1KDT*%KuRAmb;vR=IQc(RFSw|&Py=9XvBhB7MB|GrD!99_b`>M)Kce}OPKIiSiiyy zYox=8L>NQ7%2cJX;FIaU^EeA!{hx{?=R+G}z@pRR*OGsTKU?Xm@zA5V=b9bntra^G zKev|t>TIoi$|i<+sdu;VJ&4efWX`*ri*W9d3TDM+6-r&kCDa7i`sXbrxDgM8- z-tN64QnZ1-jTJLT7x|5Yg|?!k81(`e-v=we#M=Bv=BA&-Z_`DR-$s!bvR^>0FZ|LZ zYdm^(0$L31ruDgcy{vqfT!rC=$!4Zv2VT#NmF|-2z@lPYC9aHRfB|0W+J9)4xUZlG z{wgDs^z2N+m`ag5s~Q zs8KvmVAzt{jsW`-RYe$)g76{srLC)3oWA8$5P25(7`%1cjkqu>o`Z3)^K(cTdr3gbwpNO*4bz9>luZekJvCFfTNxw1w zLpwaCr&5kDLO(pPoWQT6x#7>{UN27r zm!fH;(_zzO$)L%=&+dtEpI-trx#TWtl38xX#1-*UnEO zISR6@-q#L7qo>(LYQ#p|0(&ofCzG6Dk?8~uU;F72zpl#G;8M~!zNNAIfl*VkAy8zW z{4t{U4Wmtb$u%nCxbHuepS#C1V7M4)L(=uyQkvTTf!$gl+Lf8zzUcSp0&&3=M!u)q zmv<4ErQMu#aUt|qTvCAHYywK-ehIb21LcI*#)v=1iA!QQajxnSbh*iOm9Bn=WLJ8c zA^TUKj;~O?5Fz+-QN&^Dp=ms(5j^ZJZu_U;NMDR=ag`|ZMGq}htNc)i-8Mr4MOSLE z-8fN1?sMhj*1vk;R92F`n@y23>N1lkQmX7(EG0dj47QX1&Xdqd5YFOhN@9ks9YgbO z@(4Hb=rb=(Ih*Q6h3K}jO5Wc{Z58m8cO(A4(mRs#?QOz|F`{&w*K9FV{Cehq_r-fW zJ#rGWf(fxa+q*2^Z2XDvu}WnkH9o7ps3wCe{UpHu2_|d$fDghAvjgSTCp%Gi2`xvG z7mPl{(|4DPurA#niuK&1l~DyjxHu#>m<_0;YXS66ME^>}Rc*;H z7kHL{?PD%nU)ffMzz=)=wm;%-0)InU%is%p%=gT>UHp>WCy^>Lb?zL1mtTsJ`nC`B zBeLkdA(pxuo5;_-{blKG{4){~B^cX(AHSRsO`=h(sWRYTmc+_0I{Ho^)+-dM zn28wwB01!oZ^v4+pK_Z>N>sFEV0KfKeBA2O{iV`l2y?uWN{PGqQEWJ4j zNfbiy7GQ#pybXn zs`fBA-p~>)rr;xH&+n<>uVjkaW)e_gu>G8Gj2H50!4q><`^z(fB4bxB+BZf~PwZGV zeA1|PZ>d?DTFX6bY5kE;8B;3W4Ut`5yV=xT41K#Rv({_f)LpJk<`q)w-x=b5CR5=W zbp12CUh#!|!NtrjTQDa{tw#3M{`TG4U+-LW7gw{v{$yaQd7 zYm!^R8gh!FA@6L~E?8H)gkS4doX7I^3oTydJujZ&SNw;zC*h}(#2d^XbYhr4v9!X95)*~^~jkX61lXyvfeCQ}ck+`R+a|h6Fz<5p4o7La{m8_N;xZE4#jE#ClDuf?#aAcKdM-XMD3}x}r~cV~Vyl z9HBqWz2Wu~_yjOQo*WV6l<&`Ai41JG`KUjl7t^)1OH$nCHd5rqfEIm)}#iFMP)96*kSX^kGfeSagD0O7rpM^BWlcL75BG_O3=S zQ)C!7xc%s(XjL(lVR;kxMk_4k#vKYKKi6y;n6&UdpJ$~|h&3_m+0M8Eav4f`_a7@oDYM>?Ov*c|WO}EM4J$>fzwu2vwc0XHpL?4I+&96cYAcQZ>Y;AUDtDQY& zFI)7A$4brqLu0FsbJc8nYdYwCBw#~}@P@coLSkAzCmxx%sI%CJ_)sjnbeyd`MLG^W zLjMVp!OTbNW>gJ|4>ZjB19yj{`1siR|7@r-C+a7vvgoG~7j6_c_t(iolP6gIG30-M zY6O_B?DgkvDv70<86>i-m0D)Ch`w3iK(J0I7fX>iQCVYrjP1D5 z?ibq54}LA06$Y+f=6ymhO*YJ!*T}1X_oIDaxJ)vj3}e}X^yZe)otlH?Cpj4kwBf8- zOs=XMGeTt`Ssb4UAEr|H>q-Xy;8vvUnnYEYGm}5TE9EHah3#(#Mfs5ENq@l%Y`?Y} z#lnB`t$r*?OxCsvfjNc^hzdfb{(#Q#QX+339m6Bo58GW?Q=o(uX^Y1L*FGi7MgNE< zfqu<}M355EK;PoQ{hv;-O#0_LcbXBp5&jiM}+h?u>Fr zpFC-)Yuj==sV7yH?0RG2w2{1Ny$ZNozy2?&XXAru#eDtgy8ga^x_q9$zxMjR`kb)@ z{TX;W);Ul(3{mp2L|RtoY))V7+-0Pj0&M;Q##yfUpM$GGRUp(1!NAey?j&C)9~V>3u^W4 zLICn!K2h)(X}CC%0+8@VcV^*KO?0XbD!Hm%5JQT_Wt%1nf3}V?<=VaEQ7EPJoc8Q` zLw=Q%%t-l}&}Hg3CzCgn391&hq2=_MIDI>p1r42d?7M!y^fy`tKG{;)YS8P*?rLkW z>9^O7;IDEn#H!4sugGU7>lIQI+8Jd-tjFbO4{?*fLS@%K=Ib-GzBt}^?RDCZrdLRk zixV!ct6u_9_P6%zjxfPzNtacjqo!#$vDb_7sNwXKn18iKj(h)!d8W1Od_|WUcWw-)vUwY#jps)BF zL)$!cG3(ERMjzS^-%Fg-(Rl4zyLd%jR38Bw4c`lr?6e8;q2ogMI!lO$!$jLhj9M?Q z_o)N>#F9iZ-wv`X4N`JS#CO*Fkdh9%G(kDl1oZ7gf6ot=Kn-@j^isa35G{*nbr^hG zvP}spE6mdHd$&HN?9K{u+WH@l)yb>aHPy$=9zQAuz~+CGrG&jrk#e*aP>Msm<1kZ3 zkoANwXEw)}FuKi*V#k2=De#nEFomO2)>;iOGy3Pfu*nv+!6&wHBE}JQ_+^6?tR`?! zDzBA{CW{-v%)6O3V;*CS4H7$Lx)(_Dudi< zvzgsWt(nTHsXWmJN+lg1T}_(|2wet*<@Nx1g>4F~68jXd-fn2NcoHnWygJOA{gvV< zRO3r!Nalxu6LT}z%+{!pGA_E0_n!m3TMz4-C&vQ-sz`Q2UNkjCQ!*B1GWChHJnT_S zGA$Np3v8vWcbeWuBfQ%D-wl$);U>sPfnxGLMx$vCJgyi-?TT z0;lwe6MbXVW6ybuJtVIHQRIH~j;r06#U5IM%>%C~7MI;h0!&f$tCB-#Y(0bc7{E21 zECyanyh@3vdRA-BfaGd^fVAHy&B7^OzKEmdqi+{xOBOcIQzri+vrx&O<*Tju=>t=0 z`;|apUP$(DW3!gK_9V0u`W;hqOQs$jen_SDPB@kM8BW9uSF`g%pJ?Z!&(7F{2R}qU z-fB1*_84w(_E#nf7`hBE+fDUjH2!4bX~2|@`slHfus9Qn&0%U-lB*o?C5+0eZn0)P zE9Ow}(|u;R4pF1lpvuXRIUIXfEbs1rh8c-`6>qnCZt@|YvSL4^C$z^eLGt`Ffm+^W zw>?(OnpC;PhFmDMZhyDvqW;$GTjKsVe^wt^yj|bXAldsOmiLq72#=R2%UgYv-SJ}7 zc>tzvG<2diJyiB*lcgEtuj=#XgT6l$2BE#3oR_u!c#(Ppbnv2@ zxD*fX9h#l!zJ>pOX{T!7I6Tj|i2u zlfVr@j7h*^d8a!DugViEQT$?jDkc(LO^Mlz8Iw)4Pm+wt-PfVVoni6#;R`cfevkExzNLFxalMl8Np&|J zoyIsnpOn2P-V9)NB=ml;A%)HW60;pq7g%!0llRA6jG7r_ZoXi4Yibb#J(r#Gi77GL zGYzOOJu9~Pky;+ppL^gXEjJ3e+Hp+YJGM+QFxCGNa=FYzeXx*vY2I}#8CB!8n=rxQd;fBnG<$*@eun%&qF_hqFj{HSoJS+(HctM1C~`tG za?2xa#dz;Ov|(RXVgZDYc<+(MIsF)4 z*K9hSJ~blHLpb=NX8nxSx1?lI;%+9^oseJrID!28e`pw3d_v0|QP^DSg+!%5=KRUd z$A|44B-CR-Z`$dgY%7M2y($j(cC9?@X?I4#ia;6P-7EFFhnU#r8wn#-8O}F`=wg`T zuux?}jM-?-IrUj)yJUww{A)Y@%KZXSv*^3vp2x);B{-TOF22%wr;G1tHJw>t2`Ac& z=35M1!T52jVyoj1Bkj7UcSgVb?@H1(6|#yR5v8c;MHAa?f;yL<NcW&;bXZ>3Z>kMN7&HU5)tw3f*vDde#fS1HjM6{H>C< zGSg9Ks%L_XH0F$Xv1zk#dWc$(v%#r2jT}nbLMHvm{a|+Q{)O)YmkJ~h&zHbwrtuog z=yuSCq}l!N{Bz9=i%$7|jl7HQ;r$59?0Cn$PBGy8>x zzb~c>8v1|JB#|ZsH<>>Hpls(I=j+RB@{- z0lp1|OU+1KL!O! ziX++D+=5-%=FTeAY$U-<KyZE z7$Ots9XqJv8IfcPMug70*Sh0A--`tdIMm-v|A!W#**7O7<>xxaBs;~kF?~q2ku^&e z3W88$JdVKw=_eDC{ucE55W7_G`y7VCp-Bag!;`e-z%Jju3rnX&@qH18oq3h<;knbX zlnS@6@t$#lZtawp0#7f;aQ;IhoKK}~Apjx}8fcgW#Go6Ra-CI@I{w9k_3_|(EVH=O zbH|}{YvuKLH%Zn zd~Lq(;>x=&31zpQ({%EtCuMXc{V(lwYM&x435 z8Dn-|B=K!LmY8^etIlk%<7*PLhHWz)t0YRrF6aqDWyrChr zC6zVK$-ZXE0|ksdJyw2?YnC1p&+&r%M_Y}{+6;fjfnw_23N&h|A%L)0Ea0iv2y||OYy}2iy{7K?H`vQLO_#r4H+8jmMTGzhkxgEU@FlxO&&A1Tot?iKh7!jsdqsZC z(X-FftNEw1oX}`DDC?iXnS~@;7+xAMku{m_UE6?)Ed-;5F!HUTGLvQoEbe>|28);@ zQ&{ri6O}w;PVRn_s^6E;TPekJ^$-lh__}cZ;lyW6{7ezyL_pI|I`Y{|Zc@O2;$h#7 z630|_&4_?eEv{al1WWGFPlahdzLe@$q;pURwaAhLF5;=GbOo`t*IZY!C|+3U$IWkc zpy?)Dr*fDv9IPcuw_!kyNL)`cbM38RZW$(>1B=Zh?BBVqlb-b@TFpPDNJxx6HGvA< z2Vs2*N|{ZBQ?L;$0v=sf{0LQkbjb> zooaj0UxJ3;AazmS6CT2X2OqLq05ld124ZXf3`!%xDepgZ4E@oke}N(JPL;gsvJAv; zFxZx#?wv{W8qc30>A~?Q=(wiBU@hR@F!C+sQu>ZZu8G=zXx9ZjVA*%(=}lNS-*Lma zk}%r@%Nx_3A3jbfGgZnl<`q@i)-t_hC?nZ5tu&$R(c_UsAwKnxC|K(}t|ru71Dl6iBtE?C0SaM7cS?xH_-2(*im+ zYQ!Y{@o8N4(4Lp!9CUKPyYF}xOzaIA-b>t*6nVds(e504zM@cw{Hted04#XmUuBD# zQxdZ3RXV;H_H%94EO%IVHk;o)^38_jr&Ge1unJrj1D_Be9D(CaG}{KpgT4cg7W;lZ(!M_|Ds3&juwo z0mRMM()t1MuEQM#4L54~SN01fcuxkO>gGh92#)Arnq zpjayuw8>`H%g`g-e#MW#xSA-P?qobUN!<|pSk+oWllU3d!&v!nokb;|`HPa>azepi zh1=ODo0oCOeV(bMY|ha3yXBrWk5aK{ZrQDg+K+UE@E*)V38YaroaC zC`77p*nM9tmr2RIrr5?_@LSbWN2jxQY%e`Nm?t$*C#)xEl>l4~Ji41^pwrVQt8>1^Hw(|E zA?$FAzNdNe_fB-5_O4I6OBc-jLCdOMrj&FkO~7>{P232w<{0$jZ=9F~4#q91EM45z z=l6kaw30C*LXyq<$dy0!qpf^?M(tAN*hV{Kbp;31j{42xum|c`5xwf4{UBHG6;%rU ze+iW@`avFCAiF;-@h(K*3g`84Ut8u$XVe877wTv=-Fm$|NCYFI`>|VH+jTzrad{q_ zAXq}1f*6axE|XaU!@e(nar%TiVx=m8QWD`Od_J}G{vD6Z7lM~?Z5kO9eC|4~rjj7fs!-TSVC8DEcsd#bv zWf;~8#S#RyQ|fGg`!E!)dKc%<`Ki0C#KgQ1?I-ovILYN>TM(!e9rqa1RBy-6K_OXE zfKs~@hB4@mz1c%zu=!<=HC)b+c2khxRJxGsh+(4C#T+B$R z=^Lhtv#LRbh$n$uOalxLBpnL*xwqGshkuVk5i5SA>_*1VrJ!-tKXVdZn4FQ~x;@Ta z<^PRGu4=*QvfW7V+Pre!h0~hb%k^Uu}w24AX32f2W%mHe76z zaF2SFh%Z6W1q&dVgGNhYz#VDhEt9=t5iZ?IAm_|d&WT*{vS?#s-l1P|&Uawsc8~V_ zg86@FjLWR=9Z}rE3HY`$temMnvpx>r5-U%tbADmm{5GAx0`BqmNLU^8;5aDr``P>= zi!|oLV}oe1cwj6@>Y1k6$jE>-@lPI!6>x0&I=by95KtiF$re=g-1Xq(_HMw5(xA7T zDWP@!k@>LWeMp_@g3Y4+@jPCV)O9uM%5;e*ADb@H8gq{=1CX&jht0togiB)sI|6Eb_hqZ{;(XZnS+mvK zELOmgoLZt&GWdgDRNPa0W~mZ>+mzFq`M5$tDWR)HIGD}Fw>l&5j(VhBZ)Zh!=2;%P zx8<@~g;&=A;(>3sQ*xJIr#Lf1Ur^>|Y2Sx)j$FKoci{mwiF%GCBw`-to;u*GJ<2^e z5Z+b-F_U6GZ-B?BDqVhO1Nigl*$>=qWr4+ep1~j+pq(zFH z$%QULd4gw+57mTzA7Lj!L+)&MDx;UptPjpCEV|yZO#3dQw2-M=<4dR5yhTNn%%NX5 zBvKlPnq5t3@)8@vFot;f-d>8NJ}wSCP8XluX>M^vu}OH{y33y^RS|B)fC8C^6U(Ju z|L-7uF50Y?|5Y21&64O9`{ekMot*oNK4Y@1J=$k_eiUz$((mIn zo!zsLWTaVMzg=xgi_ile{dw2dH05n0%zH$j9-DISA)nHMw zfI$J^C{#EcM=%5f*bP;g`MLy)Z0|kOu=fl*i)d?_hJmcwI0)}-CNY=Bd0hKzs9YUy zduJ(V=Z0oJCxDJ=6s+xXFEMk!EAu#WenF|brRFfoaCEBM87}PN>G48o#qCV>Kgh4f z{)f9hlWuvf1-97Nk0cQ8i%{lmtx81YY1ATfpDu-UA+qf<{XW z(8$pE<%(F#nIv*Bg4Y5;1w{k(U8}aQ+l}iojO@-S#!+dhCaRii2Aah+gF&?m45&jY z5Jjl!T6T|TKBKE&*=d@6vph?i?Lz7cJ3Dp{)0*bt@xv2(+(kn!w_T#;x@qfqh3i%{ za8;D z>3{mZp0=%1bg10!E{l_z+>u*fPb%4N8wZ#!McW;6V(yzwW+a)jG&crCd>P`ihcJ=2 z0F@p;5-w21)GgrD<)vQ4BX}g9twbw1>3(0S&x9_6s zE*(@I9w^_S$5R=tzTc<0?JQlrhM3Ru=0Ej?J-+Mf_ny;D++A#wMfSVkDVb>^(+}>l z49_$8@Z=fv)MH~r$eylJD3kTG;lX}1b7upc{J8az+lL^C{{UF7c;t!EjR_uY>?HeT z%XxHFQ%ckqx9Qw{;*f3KYubZ!@0LY4BSGy#Ly9j&GRV^pSpNWOM~w;p0JH%@42e>S z#L(DW@?^D$Kt$;or)L~#1VvZAG1o>b`-Q3Fjt?W(Rm`gHYpdSC?49Fnwl%AbKU{&= z`#W=3w@KYvYLXpiBj4fbcI?NN`%94cjBxK3^8i6ardj#NdBUR}BIx>f9yFz*mil16-ZT+n z$d>IL!*jKF7LB-VRLP}ZMLXjM_V&l_?(IsD2)MO-+uD6}6UU%<(zJOVqv_YSTF#wm ze`xkyY5JXY66)qCp)^yw{6Cj6ze-H~7Kt@U>8 z1Io>+w;JBBA#_gGr?+zt@;xa0^2s!a$zK?AfpCqVc;J-ZzTr!D@x3g%I$4*Pa|fqu zOQc+S`(mw27h^@2?<<&WZYr z(G0O{EIf@TzULbjRh3tb*PAcpyuLa(Ioy1Dsk+WjHuo-%Zf|m}FNqhDCm#)Z7nQkn zf-2^rFXUyPI%WIjDxuS=6oh6A&6BxBz;(D?fX^ ziG`&;{{Y3;kF>Egzdiip(#w92%$?LZ0Oc2#<5C%n6H|ulVb_*alDBQ)Md&M@mrFHC zTZd#)^`wrT@)PlO=a!kiArkIgH&c)KCbY-1P}{mxyzOd6LaZ`)b6vqk@(`p~ZZtRy{AfGDcQ~XUnw&Wh?S6^Sav18x=0D^sK z2CL-8{M!zA#OONX=Z-fJq=$c~p^*XTjop-<7cq}^*08nTeroLr903i!)8@LjV&~5!+8(9MJ0)5ie9k$>68d$8Uh`e9^_@M%(CPmG ziF*!x^H*Cc7G+Y)V~jyD%_1?R1H zCwg$L=L4DjIShUj zHdJ(jL34*l==|7F+E}QATA(03BoIqT;;k*j5O}T?9%0QMsQw@P*W12!?B@AtzUE`M zmYZc99Mec4xz}xMn3kIEmoxd7R@dw-e zUtLNJkS0A&C;}AE46+#GjX|D4%y2x!pbZ(5kT{k0RA8pzd?XhD2|#lQhx*+iLG@CR z;7T;M2R(xlho~GfL_YdS6oOjjnKOQ5)1wIjF4jx~<~QZlhUl!mQdzdfmQOYujCo{%xkuXUu!1NZi)s zdq=<3OAGP2ld3AyYwX|oa!jE0yAf_4^yTF}^Oi%HkPZr>w8fp9Gp+?%*7%y7FXiO> z**QQTD_Y4Br!)gI)@uESOBD!f~}ZyI{t zHiE;{Yb2p%Jl<{YOKa#yb?Do3$-lt9+=FoLxvh8io|>hTj+td{7$>z7FvBc5Jab0( z?d`tDt0vSYZ`EA@TN_jE+s%}<9L9VW{v9&U_V0ZeBgx#o%)Hlm+0)j~DvQPJeSf_z z(O50J&p-Us^KW~3%eds+o7YnMr!$@{D@L~Fi$mM?Zam*Zq*)mr*qDHLlDN8QoE7dT z0oJjnwWo&#wbu5t*XTKRmzLS^G_j)E-+E7be(aXSOT3G)FTL0G85kW9g40fjxqyQ! z-}O?puJ0*pTEdxh)q1CrDCU#+VGXr!+vf!mhy(ib!YaMM{H zn&c?e1@>+$k*#)D4XCbzy`h7*q_-EJ0`;nuOPUazLIK1fIbo9EF{fs#U@FrTU9{uf zj#MKb(c|l*9`M%t#FeL)nFuG^xD`cA0_Rqm76IZw0SHLt<|&8=G|3JLKx&3tSxa!? zBb*r-LLQ3el~U$3kCjem4vK=)XzXS6$TZ98ye;{k%0bC z0Bb@8?+^g!!`D!hU;|mr-fJC-Ke`Dy5Dpj+Q#ygf8HyrP!;IiC|ooS&TVe{v-_fh*46A z91+|cG}}H*Nne=6jC&~Xp}aT_`VP0MY^`F?T-$nu&Yh@RyPKLh3*otd9{r{4 z2kx&eCKx%7!y*uXLdp@6qsXr9n|C9@C0Mh!tZe+R{8a6er{6T~uQBwCM;HuGj%&+D z1SWe2J*{@Lw{9lJNFK64UBIK=id=RbbG7vK`kBJIwH&s5UHv0|kEzpcPpwf@*B^pk zFs<75+HMW8eHc&!?)5uaNL=}3(j;h5aaa4PmZs0~dOvA$=9(%|_@0IJl8-9?00usB zT<^OrI>yUG)NT%ysYu4hxb(;v@!>={LB2MLBTh|4DNRM6B| zyA?ReQH^Jsa_wcP-?epczJ{`N+d_xD@-NKWE`O=nTd|>psb=53xNB1qOYKDLz;%(= zPgs8P^slVer>APF>_5D|vKy;xUCE@N)HHo+%$E?CnjWKU_ERNXok!qP zUxxU)vGx(kw5x~@-aEp?1e!S^D}YbDXhO9bXjf^h#Ky)_yt7-7i-X8cwGG52L3keY z6(xnqK*vN#&+j@%^?>$Jb=U_9Y!Ew5yK{;N%YvZi02Ev?08pb7f?EO(pM0nw1O;Eb zVI?q70mm9zF?c7qA=Wpe9{{*GfH9A>sa}FOP@@Bc_X#d7uGrZR(@F?w03#FFxrN4q zOjj8#jFJy2Jj<5e3%h-tsn2V53|BBuZ2LL+;GQ;16U1z|@jKDIa-+d7qhDAZi@TTi zqxFp!9$fi_Y)QD-+oi1o7dJ(|nT@~|E`k|a00)VoNiBtb9m>*=+w3FP8YbhiQFXWV zyJR?-w2SzF2vx+o1RP)~@) zpUA08D$uHRip4ZtzCzu2+E(I(6>J)vCyU+}7!P zi}#oTnQ|jj0?~=$JEZ{aUKOb9lpo@D7F_ug<_9_NL1(62Fr0Z`2EC=spaKud($&QQ zth(j=tooO=9B(j2yq@<$PthcJ%Os#8oRol|stkrJm3h|BmNp`qatOdFVuUK3%f|#k zNZ5`<16^`ox!DIt8F5@m0EanqTq?O{VZYxPA0oTD9OO``gIA9bQj(<=+$WlH8bff+ zy{C#4T)QYX2FCtkaX#8wi&JW}LT89aA8+TWP*evx;-H^FLZqq0)%Qc-2K_xaR3V){ zm>PgJP$vC7I;s%Lgfr9KPzHKsP=bq3;-LQkHJ=esw$IIvS}ZvK04Lk=r`&pVuu;R; z_EFeb5RF6lSvwj2F+=Q?>OM;&dHQ{nhbYQ~Guu#ue4ji20JMF^iZR^pvSG77j=28- zD11+CO{Y(lcjQ|((#r&~%>^_%bn4pG%^^q=!;#r^!U}S4!bfrk?U|X ziF=uIi6%)3GPYaQILC(OF|K=mY4`6Wez@~KRl&==)TgZF>WN-oJ`4D(h19xQo^Og+ zMD%NHZtb_dbZGU>t*lvVT4d}&acLsD855b-_jd0LxU#xnaOR3uGDfZ=8r>O2aZWC% z{Y}Za-zw+&81o)ae%_-=FSQqw-6ZKK$!(01lG=rXD$sUTKt~?muu?FghjQ(0yS%iU ztp{{y_B!U1bkXA3U&19|cn=Jo2aZ{-ZldNTlEmgq8O5#!grgb3#!9H>^KMVd`R-0XvB`&%2|Pek)kVcHi25QS;a6Ccl?)^Did3>aqw+(h_pAetv~Nfgk?*2x@^xDe*J0tiAY z1h8~@pPBWxu2|H{&FIP(py?>dG}Bl#)5SFKY2sgANcj)ucbIq4-{_la=GQ}!qyGR{ zwV?ekMJ*(bduy5FGwLmAIQ=AZxx7H9T6?!sabFJik@Td81VgPcG6<9J#Nb zcDC(x#!Xh|{{SvCYoPSgVtx}geuUU>H;wH3vru4bjg)>SouS0>k12*J4fXdUxV~0K z@$*H(v|G|bEji--N9)fmeu{D~UBiE#+?KaezQV1$N%bekI&X4G?Sa(VZkeX&_HgO? zO@*GBVQx8Kv#_>?($*oz!-57!8&`@9Yf?%$ED`oiCXY#=)5lAqwQkOuIYJRpit15G z6rY)&hwY!{18%SE*xj|cX6JF$bod+ex3f8_x~`tn99J%Li6&MU<|M0}@HuNe-83%z zO9{~V_nZF!OgR^s)U{R;(sOxZ;z4{ffA=ARm3GN+&wF&C<-eW2Rc~J{Z*5`RnpBOk zk?)GnTe1(i(Qk@4feq+mJSmGoJ`Bx{U;^@@8s^T;%TAJ5S3QU0-_$QAbN>J---W(y zWvx4HM)YedQ|gr!AMnXWRL6#xkX@msdUW2d^K8-}#8z zU;P%=^WF&TFAs-rZRQS>XqFc)DAv1j=+=xT##bMj=FN_Tk~yG>q0g-HhU4@nlz&)l z-Qm!AsVH2@Y9PKB{$v+-rchM=2&%KxjW1QxHO)HDSJAZ_9a~D&AZ5*lrKa6Mdt-TT zAXZOncWn6}o+t2gTty-GOBd{FtjAHNoNic}tYsFZ7PqFVn(7zSE;rHr-?p1z+YyI9 zSKCwS3-0!TKR2g9qqvW{!8bR5ci}*bAXNxwO%NQ>=8xjj$)78}qRQ`Zw{&h8IobZ5 z+D08(?m3#E#eaO+qtZ0jM)VJ4vx(X<5xEkT$u6_SbKgJtZ;^3YxqHXfFZy<=HlFE9 zybjyVm;mQ+U7BZtkz|uI{9o>h|{H zTdTX7Uf%q(+|KDImPc`OoJp#WlyghBZ$B3Fr8}~fTa#_K(%x^Zis|PGJ3{;DBcE?3 z26Ok%^%3mD3RjsPWQRw=*5o3&&ON8R0pX4Uq;sL7&S{-hJD-~5Rrs{G zTX4nV?MoS1mUzeDZPsv^=?=*JQh7tXZDDoR;fHBzZfky{OWg!%?1oI8;cCuZBH|MD z@B;naj*l(%>XUYqKLmvV2iCn$M?_|!bNHa=Qy@LU@9Ghf`TD4-BuXQJB6iQ>o4KSwkE-?;THZcyhw7;a_^u(U1& zI9X}X2y85Y2N4u(UNsT&Vc4q1Qm?Wp@k`Ivc)Yr{1^e??Xp3<6$At-NX)aSxf|t;y^9Q#*sQa zaxH|EaF=oC_4Z~=HeK5^eRAtS)<`-&tkziSC8wG=oUM~h)~#KU`gc9DHN)nK#)`sJ zc^wW}@M{z$N_{cve^c07wpwk@kjeDxusmy9shQ5z z+Spt%r&#S7!`J;e(UD>wbmBgp#dCCk^dbcIQLZDd=^oUr?j~eH8+qnD#|Wa5P9Tqw zr527%^W5>$5w7vJT?bo{krAd{wY<;oO9_F9ne)tJZhTb*ESh;9Y057qpJ^rA8Xf#s zH@-BQb-5ZorgCEsqP9WMsT(m^dPX-5Y%fC{77 zT+$PWrdb;8k_$q!Mb`FoaOvnI&@Xuss2rGjh92d^8b%^2z3x+996xfl!?(mf`l@-9 z-G375_p-Xw5AQ7C1Wg$9^StH9160erW}aoMwY=chGz}8VZeM77Uv=pEd!`l^+nY=N zVLg-+Kb`ir*CtWnTL~1krH?PG;nU5lRvB&dD=l6ec_q>Htuo|DF!@_G#j#$hTE%V0 z>Cig6ZDGW#+Mlf?MDM(>^B+s*H~SlNz}7D`jnXczVD936{?U`daQ?P5Gk7)WE{vk^ zPA$F7KVv#m@b$iKESUcQFZUEzb`wPD?snt#7$>zdF~!o}X(Q@c8p#v6rir{-UOz+% zGES9i5Z$*Xl$v#0_OIFO>Sv+;SN|?QC)jc~(+Ty(|m)3H%+}>QV#@?BDn){eW9eZWbyQiTx za?hXJ!&SV$vDw-^leB*+_QaA}Y|A@1Uu|cqM+@HA^_@--%T2Vdk=rLtbYR4cnv4vZFwq)-SLB6W;2IRs2<46+Vu@aRm4UODj;7|Rg&-t0jrtL?}w z0jR4%L{9IiOab{+<;8H|dg-8O6qF zI6aRP`Y3gV)%<7qyP?}fW2^rFBi<0g#C;IvHsIMys4`H0H=1_>r!7?H?#a@c^#;RjYs`SV&V|DP}=_hRvLwV@=Hmt z8UbAL_SH|9>Q+>Jrg?d5n!(Z>52{r5(0zx`Z^ItGK)Bboiyr(rHGQ{nX7GS#HO7!4 zYA@@qbRL^o4U+7Cw5{@R6j}F=HPOZ^ENi!T|x(_^d%?e zFRcA&U-d3yZ{~XAPjVx=mynxIcNSRcJBrpd1eZS2y|58_Wfp&6Tm1l@Gj#}M-0-V)wP^QT_>mf{2Gu-FaY4O{d>ZAIJ=9&0&^CkvH z`+xN9{7g)3^_IorB7#G2Ac4dc2)rt%tFrLLKBF}G){0s2r`7c{(m%pymYU|+i%_`S z+iBL*Ka=V28!e^GCNs*u9I;5}5ai%Jm{%iRdNZPf!0}#S*IK^RY)-3c#G8IBG1A!IsYUjpmySjqLN4<{PdP&7 zsr$JwAfXxceU+u;b+O>=ItR%g!?yhM`*J?hZbAIBY*tZ z+ODxAf3vlSs8Hz(8I5JsYVB!ZS>rd7+Ww`|a=EWM(sFwoSDzN4uZ9aZ()TWx*;A_g z*z=ppf5IM-H4ka*}U=}cx=HQs#Qq9C%ywMSVRi@&ZvM#IoF6yv;q#vs_O!fEPyT<#_p2^EZkd4^MO;!70n${er72QE>9-f#JqSFd07_8bC!3Ag@rULH_^% zoTvf;fB^y&BdMTN39>l+4^9Xdr8=q*B)A_@P9YHDoI1T#0t1;Gal~Rs;lwF8f)vys zp{^tcCM2l}sD0G|(Xc@)%jI)IVaghvAcqtx0=WDrp^y^bIh8;U1YlL9f(Rt8A>C<( z5R5w0`3c#}>E@xQr807eA|9Dt}n zKq1_u9#is{0$f4mzz{MiL?JRen4u~W031NWj|u<^ic5=G1oraF1dUS3p^@=Q&YoE# za~{&22Pyz17MtsP*m8?4TeD_e=tcFU%Ztii zJ-p!2cdfP7o#sC2x0$+rqZ?$B`M0Dq!fJwVp}GV(XT;TWv1;U8XBf5AWz=&07N*>- z-nDJRI#DcYw@{M#hxn=U)bA}$=IeU@05X-(*fsCe^j#M1?re53#~3a)O!-<+dZ{C( z)50n-il=YZQ)`rR+g6pkcA}%u<+c6cmLJ8xn(a@jZq>dh33U1#khmW9e?h2OgP&eQ zuBYYgY^n?8Iz60Asr_{mYJZE3=YMe@*KMu4a?5xN64v8WvT1YN97ztI@d*eMs;7Z& zJ=*$zU>7gb+N!t5*4qC7$^tLN4YY`LA1|#gl|#H8P6Dd9e)pzH@2TPLZ|Ud{ zOX=2w{{Zpx%8f%ETgtW`a#W2kZ0ZM_KIxh}UT=_QMn3rCJ(7P;(mPkFNZp%VHD2}; zH<(|B%}O_YUc;8n<*p4s>FDENCzJ;+m#88u0mJPyQn0a@*fpsMDfD$3NU(O;>N{crHGr!kPTNb?pu!*C=m6KQs{BSIDCv(%7> zbMOI8PCkadorG7o)-aT5zaMfhy)Qtx(=^RDPcy|c>@@o;7fcx>VpD5x6b_Iuhn5L^ zK5kM}e^_+XQi&9z zR~}%*$gHfbt}UYGy10C#zBr!Z$Qp-%{W${lj;gxWEwpXYd{S*Z5-aT+O|WAwM0QqD z^Ey6%4%!BD^0ncm<%}Hd;q9lE85-sAzlQvRe5s14nRvyQd}gOI=oA(gF{WDv5H5?6|!j zwC3INJ^14dL|W;C{{YND^&h}jnam%!?+uN57Y54xdd2Pv5QhH%D!O3IoL%cYDwit1 zvQU1XsK-Aha|PVHW&Z$qdzlTq{1AEVZl>DXXlfy#pWXLFFgd_}q<6NK&T(84s(i0h zvf+KES$RjCN4l*``+r(QLi_NM_=L0O<=79s4JREtUE9|HfJjz}H7E%OF@mL5`F^o| zk3&XT`DdNO{*8L2AFUA^-^0hAwn}b1sopQ;ANn4d{KquQ`E=J@#~usrHCxf@mUiXn zshWI`oI^b|-o;;KNPeN^mzg?WFu(Hmds&vKchqftWt^$a%t~4~pyWQvu2wI{I7xOh zEct%E-+sl_*9m<`pB485^SPd$m{b9;Pw1!?!A9sRp} zyuFuQ+8WK)lX}R$`LVc3XMGf9&lcK^l)U!0*5s4jk*Ad6(i{P%gyjiVE{yK-FEVql zE9$@0IVPfZFQtlD#%X<-!Td8_4LWA1@jKtikH$XF-(N|f@4;)bcT}8^$9E*fyI)qE zpdU?pJKX&qc^s(?(~Nlr%=Zw{)3d9L@SnpkQTmt2Kd#)1%zPZX%xWCJoVq0@{{WY` z{{V(^#?ybhanmHONxB`H(i}OOLz?VC1Q0<0f(XEZD@#807MiNa7Zcb%CXd+(gDNNs zBD>antn%k@ZcA<5t?aG2s_r{B7@*Z}^vi3R$Z27T^Rh-d3%RYlG2qE7A0$8Q%T&@z z)wxYhQBFsj*Lge2yw94$o%0S~rM=BHh#L<~&|b*7&#F zpB;!+?W=t-zgkkba8~0@_oAqZ9g{9RLL>n@h_ zZt4nJC6YT~BV^NWp3pyewR}>ZR)_PjaujJZ*ZE`4ob$@pl(~J*EhB#wnbq5t_fNAg z;*B0vs=)TY$X~_BmL7SZGZQiddaf(f!}Hn_=&^BMyGA zwx`q=-R%N?Z%%esf~cAsew&P$ui$zivF zgQd;_fkpjBpGjrvHCG{S#8q6UB^af>w$fd!;IB6S0OlvUo zm-b@f{{Vd+cX^BWtMjAI3uzr3wSouI!-P}&j zV4q5ZbeUp#M8PTO z;(ah;jqY-On%n&6e}|%#7`52JS9u<=b`lKx&BKONrW-K ztY?`20Hl2O!}`xZINCkZsmZFM7iRkI=%e81Qp;HP4;z0y@DrG>i2FQD@=?CoUrDHdO z-cIxbqiR<0i-V~@Q_>-N|AJL z_g}a6p1Rberka0*@LSXC>FUp{K^~(M2=KJa2J{&lHNoM=NsymaJ2a2FcCmWfbK(6o z9qALmv$l;e{cjAr-%+IABzEH{)?V^4sp@*w+hK+)+xcaAAVY5~&3o|~G7eI3^w~8dTts+=@ImZ;? zhrXeE$dkvPVb6zeV$v~DR&Qg?u7jWMR^W~Vj&sw6Q#|_$FL&2hy_MDbmUfbV*){RRaQnDd)2tJAG&pax1mMn7=u;KYVodSZ)WbhQm;tmSF z@9Dy$EKTejVJvzFHLh|DTo)uG6Ojpp0oO?Tr|R0an(+NURn;{2gynsfp?PTVg+e+B zqc|Ek(whsEohX~9Sz&2@a`~sE7JU}{+##&WJFCN}M}Ykye9Mx3w2dvPdJuSG<3^(U z7q*ox4HxlM=Ju6yXL$WXK-F$+r-J6zeMfIuI#{QH?Uor?C5x<_Wn zr?=|^v1V{^;i74$M=VqAq2Ic9<5zJ0BKD?{vh{mCxw2=_TIElTdPrH5xf;1W_|b0trVSq@(&%o>Q*F+7Wrb$y;zBxAUEDoZM(U= zTN!V(u6Oe~7$j}Qwk1z2Hv!T!)bIevRk6J#gT&o$UwRlxC+huzZAZyDop&$MZa7}z z8j)S;@gaCp^P*6GrJ<@`g@HU@iGj%ng<_L_U!~1Lu{w3bnnxj0vBvP7l^m1FqSt!V*TE>h(wZ!u2XfC0&^r}u z(Mbz}W(yt|;6XK0z{`wtO$Wy?D21-o$3tkVJs0%=NNioM0bKu#SLUS+R7g4xhpA9U*&W{<|7n1_-Y*7Gyu!QA9`fnK!3 zwySIsn~UK?gS4whVmxMq%fts1z~a-xuA-9_U6R~y`7BOXGHDu^j%GBc009Id8jf_# zv0Y{j8cb5*jwA$eVFZAs8imDh#c)a$8C_d~Ww)Bq;yKtDNhO7-0cJ(v*n$B75HTER z*0~l%sbmA4MkFS9r%?ynK~%9XNv3z4dAsCtk_aFL!CDFS;5vI+Lka?Zjs&9ek&+-$ zk|jlvI>7+Ma`KQGfXF$K$C;;@#B(5b=Ag$w1oB0Nypmgihup~cf#OK;{4mgZ02DgI z!xpH~VeLI4$IRQEs>Tq(^}DxT(;Cz`JV$Ql#P&F5harfnu14C<73@sMsJEtA z&ceCX6#b_|={{%f?X%&XNAWMNU3g#zS!l7lUk)FtC)6UmjD#5T2Aaz3!g*O$>A>XN z&}r}YG*MkL_2}t4j)~m8;Ns!e zol`Db8Di-ks+cZ$R@LXlB^zIL$-i4@=uM^n05yL#^k`zX)4ZqhVg^8rWTQsbn|;a} z152((u;3&>F$_f+3dwVk*p_p->0eRE)OiD!+-_6UYMXsAr=x_rw2%3;Z>xbB+#3qT z%^@8YgSj20#?laXMaGSG>=y+m4{c|cBDA}+^sm};XZm}jRaUP*?MA-IB2jt&05n~n zsxW^(**oIiQmqfO)U;hzIEsA#0DV52DFZARyi%)NmT~S%KC+m33sY^@)!R*UsV}UG z-~K-Qiq)fYFD`d(nIrqDsBO30#TY8Cbe4BFfR^S+3GAyEE7Zp>7usvL+-eQE-5Ly2?{?({m-(YK)Eb4#4Zm$#$S#&gy;PljAdF1dUy)?dT3ZsNq= z--|yWZgfBVH1a=p`DvwXDDCF6xzsc*XGhWec;|5!HrhKPxU!ncJA%G7(MyS3a4k~j zS8qe9Qt`DBo1aQ-#ijE1IE~-Wb6Z#CsBWoBGL~64ooTUTjuzY=Q+Y+KUfa7%w9{wt zA(BT+qHY;x4s)h^(0wMMJ6>}tRZcb1jqCAP*R>w5&oSm!qWniCkJ^vch_2!MJZw{G zX>}YrsiN&})H-6GJt80E$c_*gH zE&cA7p#vE%v}B_H0CDQ?YkAoeR*sTe`+`Wrog!hxmW*kXZ|Y@*U$D_`-oKhoky4jV zQC+!v&o?~n^JiM~lU#~fAd^bk`bm|$dqFaXIxcpG%c$xvi6fg-yJvK#awz+aC%or% z^!j+%jWe6g{Wc!cmh#J7zSSF2zb^E>%b|Mn>Y|O1YB!O}F&VByo1xgHX*!%JX}W-O zI45xa785mBQm8u zl>jy4KXoX0uzWF+}Lvf*1MQ0FE@KEQlM}ICJ{#R<>nm4 zpks+S99QP)sKD2tZ)=D-p0YUNap=TUsVW%fDg^8H;sWtS_E8v*YtA9I?a!HyISd0| zn9V^yZ6wV1wh^KE$8W}vq%f4pI`TMRm|zf$>JU+D9QRTPZK0OpXQ&Xt8|8byyBl8M z71^d02u?J=EO&OM*2wD?Y0(kQ;%ah>cMx#|K*24-F9OliLx~m2?YQRg=*RXAn)cDW z&;y0$r=dvp=WlPRHTRAHa}>7l{6>?KkOI_L^$!-MiotZ?Ltf*`OLFB*aXd#sL!CxP zku>tv$Ng7rfh1V!36WFbH`Wm-ESRsmF0XnMd4}ZOnv(`2!?8jXhL5C#p>fZuqZK?7 z=pk;920h#WTyn#p@LGYc1ae8(UgGBfT;&9~9MM5SN`@3s#*(IX@igfHXe}TUi38T5 zR{%iRN?R1Sm7;P!0rPN+{!}z}JUdN`y7;5wsw0Fbd92C<sK7WTIdrEAa^~tMHx3{H*0`n!haB7qL**hPqqg7)-{U@%bVMK7M5N% z-aiI8qHDt~*z)dIOCcD@4qyOk>u<$XmcxFUPg4ges!`Jq+E{JevX7q8nUzT%2*E}i zjztvy8s1&tEsTrrZ!zpPw$;_Q1^%CTJ+_|=4tzGU!0DtH7nb&I4Doyz`Gcni5(0Z^ zCreRx9!RHADCq3VQ9NNB>7I1=ocU|`tMckl4c4Ez>{Kec!p`J3A)T(FAj7F}6-w6G z+N8dnXEr?l07TX*;_P1L$20ho@}BB87wdP{O;slIMbw%>AOOAu6Rvoo(=BC;+iS4C z9P^gvDYe%Z^#>0>{FrotH+g}gTS(>yhTfao3<)SnzO=Uu%ZgKeZ%g~=xBY9Bw?}>n z^woP(BoQ`=NDN$(4^K{-fHI*BKboLL7MR^Z{%b$P zD3)3I(d$KrAE&)(mc!Gnf#WY<*eL8Qh)$vWG@XtA02^t3$zG%6vN!4Nr8!1aA)lM_ zV^D*9pR|8z_Gd*H?swl=FxiLq+mG^x$Js+^)8$?H7Oa0|A?P*=vDs#su&f?Cwx6+lrRT3MdDBbzj!Stv@l~Cf(l@RB=vCEh**n_KxiPX>R1r8h-lf9rzzzW!jF48uhJvMBA1!YFhrQr|9+(9`)9vbq%CE z$ViQjneFiW{$>WPXvMZNHM|Jb~vX9oRGrw~0ef&GNADMjl=YKQ#nZ`WVRdMNCuZ0J}X>RxaqHuI_Mfxy-p-Bctchma|736w_WbS4((YTezHMzHcMCtv?@MhI^YYtDAP~T7AKf znCX{$M{z#+t}5>g$zfr8rgMZ$E(=$RV?v(8>URGCRy>n(#~ig6VL#n=u5o|M8AtwO zmHgZP0GZ4!ZO)nGzRi*H9%zQ@-wkUS8A8J@pSJYdxeULp9Jd#3LY(&J5lZEi4-MuI z*68rc$CmWYzx-SKKJB=?cc&??m>y?&hvyHOo^5I_)cnKVTGr*2l9_F-F75;xMT4Bu z5Aw|t&9?eRoUJHKFtE60v=%s@66YRb=YC+l<8ysY%hFD%H%LeB!BP?INPvPvBSJ@c z*=PDRb2%#nPxOf%EG_%Tgnwn- zoDCYP4(QTEZ*v%py|52+R#zu8R48faN>|Wf*HeNx?IYF^a|f2o5h1{*F=_XTQxp~$ z89Xxyo{S^{F$55a)J-cH#ngS$6iID?Z+Z9-RATc*7h1xE$|J+mqt>+M)sVH0Urc!X zC>E@RO(>mM`|1KBww@e51v@ET^2L<~rjkdj{8I|79U_+S;e|@<3KcVl^!hC+Vg)PE zF*07>7?VMTk2`wiTTNEh<^lw;zn#3nTI^BGkbabMF~zQL7Lq7pnrPq3+m5mlS)DJo zF67Zam+M+q5I*L6n^@o8XlFQO_Lp#qtWBpm zVS6}&PyHsGc$1Yr(?aghlY59X(xvK+|5QGp~s6jY!6)Iev2RjW5NR&z? z(=46|Xu{o*kf4PIFwXWEQn^cb&h5oYHaW+#^ciM|i%B6@wLA-%m=v7Ad69v5VMD~0 zL#<%DJ7w;;GHj|{QS zsFr0D?{);Rs<>c%OUH#N79yyga^r#?jK{8k>j89U9=}odc2FHuRMb#LS^K^eS!Tgh zZY{)d^y*q2Bgc5<6W24I0H2A((5}M7#WCXi@X0Ywf({8#b?OzfGzS2FUYxyv0YI@1 zx^?~Lop%NPpLIQz?X0Yt+V0j@L2(4kAhq#G!^|8#gkV$}k0I2W$n0+~e-d`jjvY6D zz+jvP#?8a0z+VKwAP&^5A|50!BNs^sb5H6wiZq^BF}M@OVEtdSw+@tbMu)j}_Thz> z8XmQ#YO%O6!|1Odnnr>`c#wzq(I4$JP~mGAkQ^r*T6EvD(~*7b&4F{fH7l#jqdl&P zX(Vi(XqrU#mj*V!>1`ZCn%-6wk^cao2mmR=HOs0ACEhvOjat)NQ2_fu1iy_P*XrqK zRp=TPlcB=MH0>77-ZB2vTgGmlgO{22QishcD5_3pjbW6fJY>!#%hxWxDap6jhoF?n zWv5;M%bOcJkO#>96+8&0;J~2jI2SB!z$LU z%{&?0jC?T*%n>8hEhHG^k&)F?^VXs8zo)3Rd5cG3_;OFSzfglw z{3m&_rt=YE>DsG}o~09=hG4^Qb01O#t0S(k^YfIhnc!zEt^1d z`arslGloPq>{-ft09vv-n=;yNx6O1nGMB6BsTZGN?^`z$ake#vwWtY#*xUqWC=I)% zC3$~6S>oGyG;4;lODv}!O+BME#g?OHQtwQ?wIc#9?CxQ5^nL7XK}?)pOwkF#Z{d=C zOd+!W09zmKf`I(NF)gB5Oi7-Q^Yn1@1q8n=UGupQ!y2wgs(sHMa2~mtu|v)q_0iXd?`T=BbX@%4r9T^LZ?_HhA%A;)G&a_(n&#&2XrQ;Xwu$!_7ZXh8vKxDNVr!+E zX&yjpTGHZ96nIiqc@ai2PEx`tRkP5)D*pft+b7C>w%@HLYrQ54qCf=8cCL%aP4*CjPGF`F>wUv3bkt+`4@Sk=OIRS1`T)naGor zo)WmQ!*2`wG2bWHbGM(ri!IsbezMIAP802KE-fej0EcaRX&D^)lOT!hw!7TYTY(+R z+Qx$wn-9|4;DPQO^{YvuhMqi6;=16u3a+C`i^ug zWRCBKxRZ}C2Lf@=ENf+Gj@oz#?^z^w7S4(CMavqnLnGLZ5)^VUw1)xID906vY$?Li z-aB4yP1gm47Vz$E%M@l%&jKxfSB@5|9@2a!-gseJ6E3O>7TfNxK~!vM1UQqUo^5lX`bSwtg;g$$$2WclT6x0j%q&)awT?qen}WlhHwP;fbTS( z0D`DRBbh|5q{Nzrfh+*L0^V>?0H{z9=O!TsK%%Eo$X!y%gK8RCV@foEn}8T#xTy+# zSySd{O-yC8iOszMq!%@k1Rx`aC|2Xr1x>XgRFJ;zAPH-7k)iF!hY+K$0BTfsiX61m zI(!3)$f^-O@!xGiu*VXrNdO#4=FD`b1@$EY!3ETZn~)U&3GFIC=m-r$2|*yJ>Fi#S z>!KaC4=)aDd2+yEhCEP?JQs>l3J8`&MrHw0P%7jx=;P|3z`}#Ndsl%~z;%okfC07K zz;HZAMrR(HB-lr_7_KkxEp6=~mg;E>qlO3=>1C0@%~06b9O9*YSkg~nMb}oh6Ad@Y zUCVb9XTO_I(W59_+qoSy?P@6xjs=c40CIEGReVUy?!jT3=wI;nmUf5b&y}{Nt=0Do z+J)nJdzTVv#?jcLfVH#LVV%tmz;i0}Eh~36EIyqSDV+6RVjmB0{#ts84x=5`lFz2t z)|+LP=s9PcNdt&pSjmRQG6@Yhb4ubybrvh*tw|q^R`(Yc?ThKuiqBcw{%mVZd7o0Z zp4@_6X{Ty2*~5-Ju8FbRmp23Rxym|elaEnsWoj=9MfUq>*j?aO5LM?QtBMp_JyYpo?9w4PRwSRA0CD@PZR z8*ZF9u7_V?BJ$!ZnD$}2T!+x-rhIMH1f%53t1EqMjrX4dx{2tNm>j>=||8?t~O5F^7_HLkD7Nf zO|MHFZ_>Q6(k@utWoIX5b;$-eGe{;mGbvpc-*I$HUE zyz>6f?{)WZ&E!I^{M6ht%>MwV()MM(p4Nui=<=#QKtSiSLAcYWAgKMWov2%;cq2k5 zuvZ_azM`z_^*?H0Kh_%};C}h#Zj~P~M;#|~Zd(TxAd=YbuC*8=D7iC@M^B|a$r0yV zYtu@4qY=i>Q}V{@4sZ0%?$V?290M&kMTVvtMh-u|Xx45j^*EIS1*TP|&!=f*TXET5 zr~d$(+$wZlSWF3Suf8JppiyHfQw zFkEdN*JsRbw!Xg$Ms9YGs1~<|FBa}#Dtc;B>;)UaW7UtakIxL&#I|^6fx|Y>43Rhv zw#e3;Dp9P-B;$ikG8Z)BNo6j0JnnJL2t?&Y{S*~Tb!Imzwsbd_Hm2Ka+d0h(do|V9 zHxk!N;YRMIjv-rYDqBZ$LmnMEd)s8_mBi*ssVH*;6e*K(t4)Oo_>$CqgUanfCb$VT z9ZyQJV^a4oiQp4$J<8$foa_KFyl3u#|k2u{h*@(q&EjCxKaa4C9!E4Q z8tgN02QipXpweK>_%X555J+phFb{M_c@Yj6vy|0!DyWA409e=T18(%qdtB4}Fc~k< zYZ{f9Eh-xC-L9hw-ef&1Q;usGw!2u9yLulTxz0UOYu+G#nx1QEY!hidWp9gT$IRms zcRs5)cg#ze+nbAoa1SanBd&wLsE#q5y(~}lE@f{UdW*^Z_wQ_QvHVea{bE{K=6>P1 z<;VUY-8WI@RXy*lv6VnyU>yRA*Xq~XWw7%PI)++_zPdkZCKi8tvi<#=y)cX;pK5XYu&g3Q62>YmcEzw_SKQWot{S^pmp$+Fy zhJJp^gfr7BfHI&={QjP*gcMqT69@UM_>Z=V%(BnUk6J7^y*>2Xk59NfWlgZMAv%Zf zvVV7n^~EpQE7W|JM*XyhD9VI0s-XlDe$oE`+C3e8lu?f7eUkl`{B6Mh0J0zAG&a=f z@~-@uYQ>38szcCh7032|N^PB^qjw*|T>k)){{Zm1muV;R-%~2_*G;hDtVbJv*$&h3 zq-MK)#5-wP#;c%ecACD4sb1+irHqZ5(@@jyWwg7ukSOMgcwWc1nWYF+b5s=+V%%|9 zGj@kvtmT@hYq@>fmUWihV>n61QG3%=eS6jq1JKVV{{R}Sf70k4Z$cw~au|1}n``%O zH~{T?Nws3ePZ{kPTaYk;%=+kA*5w=CpRD~i2TGncGy# zw$?H`-$vK;J;`RxPjBlQX1Axz1EamtudT1`oy-&u7TQS|*CuTw5yV$PN;0F1O&_KC ze>3IW*G{#3vi+S#mRU~R<2d?a+OI}rPj-2?<=>aCdpAz#(`>JdWzlHR%rAAjjxF%? zt4|v7vAE&lJ*ci<9P1ca{0%dyszbUmpRs2x2UETljFMjt;VvW{pOT+ zv~te*{9tQW!fQV-^hoq;XLB{W*0$Jhbw@O+NpGgH(rMOjANG#A1aJnqQ`R==ZBcJ| zpC0oM>z=<;#be7lbz;`bw`n__ae}NO{`0xij#1njmvHW@=W1JzSk!f!*AkQ8+{!n0_Zg<|cA-Db_HRyl%NUIsik9={Qp8`zO2Dl-} zhXIF12B~=$Nqi%FWRPU{ddc=7s_M#Rdewp?I@#vveI&Ogeu24dj9J6oa?50w5 zWAVu@(7A6Ua4kl)LK4x69P>CW2PO_S(_JHL&SNaSxO*vUS_r_k{I1N9Kv9PPJ>rVM z0>LW_8Hvr*N5O`&ZdMF2IsfAP@U)ex-jZu@-ihd@l+D(GCoB{U=nKB_$NeTIn4}}IgW~O!xAJ+Ba zJ`}Bt-A7#%{`(hU;h)MVZASiC{ak2tp38G*(oUB%n#SE-OC_X^DBFERa5R*B_Rxj!mB8#t^FB{ohYk(#P8J$9)yv(A3}HN2tnW(86ueP@nC$#Wsa%TJRR);E?2Nf$=gbi|Sggc)IL7x0t)JWTmikG8Pe&oQE~;g>Mwe zYP=6A7ntQ0i;+W436>;vCMiMEgQ=1oI?K5!Bg0YwTtQ`&10HKAObp9qbzZ%_5vp!dGTo#zVo)YW)Hm4tt6E&Ss<2pdGgKC zv?=KoYRKJf*4nR1_1E5W&Y>Xspx@ME0Zs&~i0K3a#;an@{8S5MiOK=Yj?lCMh4GL| zf)x8fz^)t(D=l3D$lOpKC#OEj10iH&6i%MQ{S-P277C)K;g1T1h>~fVc$f=`!o*yR ziBp{r7dsV2IdP_pcbD6Rekl^j8yf&?7{-7A9IXIhhXGbnh}9Y_1!5>%obbf&?MBu1 zqOBuIvC>a8fqey$INP)+L&#jvi;^^so{AhOWe7KrVA5>La+#WNKpxT;FVbp?R}?>m z9+7RnkKxGKpt+Vg7+UaJIbI7&j#tL!5OB`~p~H>?#?wxz;(BT2z2@uNn@ev&rEXnn z*Pl$ayO)zzz3*LLFkMdMbdP8p@}N)A0;;&7DZV6|GwLnaxprPOBPl0LRdT~J<|?t?ANKHU1hoU_2?f8*8pCy+wJsYvz?Wy8U^ zj^Rk)u2icdsJfPG&|eN`t6k?7y1t@0b@+eMoJq6XdaN0c+nXyZwuQ(nCd`oD+Gy&Y zR7R+CdyBmYzNXjKN9X)LYfZ+>acR?lgbS-Xt4BCug<^HcX+F-{f6d2gW{C5PPrnH+ zrk~V8_YaZ#@)#N5!K7ZKz0q%~GAFolKN2q@wqtl;O+0Vgcw&uqd8U?5kBN1!s-z-+ zE4;zAXEXM`qbO+Qd+iOi+dvo)ex7*=1dfcV)qd7Zs+*(CG;+hlRq4apMy|9ydce3{ z=vu|81HAdP+sNVxfj%Rm@XkF3na(e|(=^8YnRg`@+J={s*8uQXRXgF$IOKup$0VjL zstjv~QA5Eya7^$tpidKEmBj-`N_#~SkOMAZxB-E2=1@R(SdNT(R)YmihYn>UGyvi{ z3ZW^P&VmYfhPFiR^A22za+OtFRCG}uqR8ia2yi8(GZ>*hzu}{oY~bYu}gBr)!oc@i(`xd)) zYtHTW=RV_?aqnGI#$XbGc-D2olczX{K;jxeyMOjXkRn z;I_Kn*VcOeUCXqbuE&F?jUL%;liuI4WVRx@(q`wrhom{-#Z`XlLV$%R60TnQy z_$p>P#y=Dp(lUT|(YNX?iYG0(B%BI~9H3G`$A@+GnKV8mP_9C5WFvD?og3;bZKbxKs7o7K!s1*T@~H0|4g~WOMs-!m(8H*{pmxufpN2ixyX~8Cr)d+- z7b6_!h@Myjl|!6b2RE$OI_|a>-5Wg4vz}@6&X**UBmQT89QQ8KY?A6aMa{c8NMMo| zFeX98#B!3Mcz{Y%S=GYkOuIwQY-%uslV=m|eF)jhEN^cqX&~T0%pK?LP)?&)Br#k`1R^IFAp;DM{3s5FlHf{`rNpntKV3oqFKb6LoEidR zNC62zRPa99gfz#rDQOOFIbz(h2v8hq5iqB}9%6{%gA9f_uUM!C_JJ-qlvT$7sydT0 zPASn)l>_2As)5DD;j9f(T;~!1LUB?NGFpJG3#RrRGs?ZKYkwuYcRQCqbI!B5wY|YJrqy)`)hV zN3f+tWwCLKpWG?jSABNINWeaP@C-yd&~{k>zUw(L$}ei(a)@IU15@Gx*m@ciWl78 z3A{Nj2tCMR=9Sq2iqPWd1HDYr$6~EtQm#Ea7S@Yy%kfL3`E93OX&zbZ?Gshpcac8V zRP$?GwGZ4sPWBk5wb@#A{1>+SX3AE)fpYNsx3>~og;P6zEUR(81@=>-?ceM$U()_= z>Xxc=dU)ckMexSE zsaP<%*?T=y_5vUHM{=tst!C!}h%Z};9RBXryrRQNhQWPSr%KjsLRZ~1F89{X+6 zJPvGp%wyjlGu~9SsXePZs(|9DM}{x{AmFn0)3tlS>Dxa?n$e=mbK1)1NZ`i5>0aZ^ z?mU+aa*n3rl*%h4%OhqB2uiE5gkS8PYSpFi3w!v$QS{P%=?jM}GKM+i48vA~iv+Dp zW+XDhpyG&75-2fP-60rv zTDhuX4<6c4O-D45JDw?Jjl<=9Z+jdu%odioQN?6MCb3u!&~B~KXgO^+F1>7pqzH9; z_B0|QFi*+?4vH&+i9Ev)B_+rL}5j#fG&9p%J#(VlV0;A6XvW`IFG zbgl5Jtoo3yr!6Ld&fON|El8SB6Fjiq?yh*EBB-HWv7ffyeS;^1M1T*6kMCk#+VdbB;^3L2szdrWbLjPU8~!N?L7YgJ-?=k zw_{i0H0ve7MM`0fYh2mLlEdVbrq@uy7lhsryLm}5(AOI_8pDc$oUgKzX;#`6+` znavBC<5ka37XBNS`&(Y)CGJ~pa{N73nYv`;cLI2FgVjm-Tfb$&^+|nYKj_-Wg{fGd-Ma_vX^giYhtE5$d(QIbUA>7H z#nPRp>e0A#wc2&{$a0>A%9ZH#E9^eZN~Os;ym9a**F_((vKg*l5rDF7Z(3hc^FLM2TxV3V{<%jM|>M42buI&jImKU~? zH4B+_XLSR{N(h=Z5CZiKYKEH4G;(DL$GsMxN@aU{Br#pwL?n;7D}ZQoLIP9*Fd-Ex zheYUNn_Nu=HOetSPY;F%8iJgU`8^lcUv@qcYM~AA9-i8SFnV-UA)cSpP=I6|~{8S(2v*Se;S^2T+EI9o={j|$r>DIwO%hyL?WI{C$;iT+m_{9&h zCZpuCH|RaS^GI?`s6#3cZY2wPX7|Ix4lW z^a~+ee`ne$wsww<+?eyyS(`-0saku@D?LQhuYq#7$-SZDu z#-hk$Vy4oxMRg|;bnHr=h3FVmk}zs&u3$dw=O5;SAJF`#-&MV+>G^s806Myh`Zp^E z902!Kds04|Y*rkYo~jkanq!MyVt|G>bt+-hiH`)KENRqPvl6@A2q&>BfD!&b$wE1H zo@1TAir9|Pywk9P*L=WYpQ7vt!={3oBY10i2fNcM zsqZUT<`v3>f!FHlJZV@~7=a+DIAWh4T{6mpZ0!n=XNRKDX`yy@iJzMKeriRU3&k*% z?;af;Ub(QL z(1ATYbYAkvyh$#WakgLAcS%C7=%cXFZzN0GF$klZELNL{)TSzA?K$%dx(~AvLZ!-8 z93q}PF+>1m)x{SoHB=s{hSrj?CB8R|nx-@LzG&$KM{z*FY_?2R4Ols8;6V6eslBq;V-i zcwl+YFgBqQV-=g+VC3cmyp?K%z##}tR@voLlBsZQ-Ic3qR_&S~@Y9ERtBMW;7gZ9u z7?|#At-;Zf3(c*lXzi1l5ax2i?(+#(mY!@uZWO9&LAQPvGI)`n8^XDZnhd39%HzQF z5Q8dxhS;jciH}D1+3U>LvDot~K?(r_ybF#LoGfU;>^S4`6R5<^)24V$bdozmXa|tB zp#5dQS1LHBVFf*D9+O;U!D(-+_Z-vA=e^H+xt`)niRn4~Dz;aSZ!tt}MELQ}pz(MM zB5?|ZJu&L2ScTC%;<l4a%Xs3u6LWa5<)E0mt1%BwYy9^owaR!*1vRwLsCd(ZD%AjuD?t zXP@;MI#J4bM4_(H$y)b@l&iE08o8lam*>`pqd^t+%oFc zq(;D67o48*963qMuSZof=rr1uSphcjiUag zP5eW7t7Xg0tyyYK2wnWkNU@dAT_LJQ^@lm`X z1v{YBJ69J`oRPepHIk|~!U)4t^9y$|XpwjYZNH*&XA+1HR9 zIiIKMR@W_V1Qcb=Ht%ruRc}Q0OVWxZ<@qdOaW&GZ>};FZekOJW*dJ9ky{0(;chqSj zR*uK%^W8|`7d}<0-j3?ZjeR$iK1ZvMbwXWF>!7c2@2@HR!O^7BrrsJ<7lawK%Z)@_ z*-vA7fU;0-;EAn@LIY)Ka1Lq55DiFMziM1cE`hP6<~lpRBDXFbsZrH-ZQOH)hq*TG z!>%;TZNZ@3UupL<+TL5*>pFGJu}u`NV}qF;%ir^~f!SK+8F#4Z)OT)Ky@cE)!1^E5 zOrm!)L)tl*@6&EAJz>BQX=}4-S3swoGY0~P9=;S1MGbdQ0AQy8a_Z09LugRZtz0p% zMgis~V0)yW&>)BG1aUblj}>}LN{^ve%lg~>pf#zv@ZEr_gLLAg9Q2Q;g>V| z%T4*2ZAiUyJKt(CewFo+`>(^j$Wvpw;&}(UFLcMm69pXbUCfKw!ivlEWqxkuXLwPm*XeZe zt;sGYlG^^8%sk7?oTruBQ`KEc=RY z$}RV1>eMvH>JjOe%x^2C*DowvCAH1EZ$0sFETeKy}36IwSTYftNl+=*7YlgPpE1dsFdAL zA;1Tjn%2i0ZNZVSHH>Hhpaib8BM3!C3Xw;&v2NXqYTcBhYB?pB)7mgLZxE89z+ea< zrUMsr6wZxHYf=9IL?GVVrYiRgN9ejI`+0!Mh}#PyJpFtVB^hwRYPM7k`TW-woUUKF za3?SJg+@m&eMscTg*abW=D@=o3V`_0w=NyxQ?+u)r72sjPPg(GMYPoQ?JC-Ez}c>0 zYq^o33&0Af6OT<{)k($jVX<# z@;rv(TuQDuAQj^E7iQ+$&9mV=(_4CX+?#w&k>A9BmOFP;+1j*M5Jp&RE~kOdYfJ5) z8wqQgBi!w^6pEny>C+%o6R39-gD`YSnD_N#u$;yFu@Q8xPX9Rignku z)5*A_@4T|(m9*aDlJ8tUnHGbSC0-bYyD`y<*7cF-BVG@uK+AYkIIl)2`mN8_2dbkU zUD3}?dRak^C&U1t0|^|X*HA>NBfXtv@Wvs(I)1V1#2!I~0fa6gxMGCnGXtf(RZ0qk zWqIZ_lEY#!(JwOqFBKGA#!z1Ehm3ql(wA1ffgX@a=kEdMa+`jM4v1VOxi}s;(d!Jv3 zBXwJ(&%Wl!a!llFjc1oE&`Uc|>{Rwp#Xm0cJDu$+%p2QKP%ZvmhQ=Qr2XjSKhtd_6IL}>7v6%G zvBb3BGz{F{_LOlQ$l;sCVbI?F)KE8{p@5ON%WhIGg*p8g$KhrUG3Z60OAK4ig4fV_Ji{l zTc;9Frw?ricBQlTj*dBXZKb)i?0DB6U!%9o}Vni(Yuwrd0)tL_=-7Z7lwEMVSJ^LTgK_;o<_qAFg5baG>;*zjws^~ zl1Us+00K#&TrdN8U|bOFEx)mC;MRQJmf+t_6E1YWEA*M$9^}6cV0<&~i^d0ytEEZ^ zR+4Wd1sc}Xb>i;jzh`Fu0B26aJGky)YLxx#*Y{*E z7jVT>GCjCZWpZQIltUGWpGFQH|Iw-jzM%*S`#${b6rqn?HMbje}p{in{k)~E9v#%?&m9}4Wx*HVU>RdJ9U3FS_K zlKPUf99HV;C+AXn&TEGiIaC2%?s=H)N1K@dwu}`VL!2_>S?+g?I)=FW2+T0t>X$HS z`fZfAmv@q~8*6)L9X-{=uEng17@A(}MI@4i(9d2XO zjppmu^^F%&xnmy&pSEvfwVJ`F7aPmM*&~|i!2_8XwCu?<+iVUuh6bFW_kPOMu7w<`Y9%~gr=`!3?v--Z|}w%h2%dU8i9Mfj2Py52Uh`J1^f*cBnx zpJA^swL^zHb(G1)Pt07B{whoSNs+BX@f+q8_j8R} z!^_RW9PnOs&n-56)1(E3dEIZO*}2Xk`QTR?u3F2@{7Mh5D9>}A>s*?<8x#B1p#6ym z2c4Qd!v6p_@-xX@OPltNw%fYC-;vmY;@4;z?Sok2haOXz!iVOf`_`>K#=VSB^?OqJ zx;-SiqbUCXhDh^3SsUu4={ZJv zVd|(uKF_f#5O0(AkN(l3jCVWim~7AEZa>N&6VpR!)8$?H7OZ_eREuHg7DA}=^?pii zoui;vAHv-K0Ffv7UC~NO{I}G~yn23GZHEpcjlb-NYrZCtn(g-xH+;j@@uIRBnjf70 zN)pViWJPs9;*V$8Dm;uDub9W(oBsfM5A1$gt>(_3m%puDMf(@ZJ3h)yr_*iZEBvC7 zX3aM94r%T&e z6di$1zcXO$eWv9Uq(3Rjq*7EU<--bdtOWa*)=8hy?*IBc&;jW70l&ak@5h zM#p08*wfL~QRG`iMS(Zct!>?5Zm_fEIJHJ@KdMCs6`9r3!Yn9^`GbCszjT*U1mN2~1kQtap==pMAo zmd7+~dh!>jaK#E0!!ih>nQggI(UTaajl;U|aq0DOsZ&yDRMHd>eLYnXY+fSB+!TBB zPO6y~ECqbQ97xC)9>go`T2?w^D@x+4pTztHQ?#K9BY!E(j?5_5rLki8IgEZildhoF!CGbZzJKmkoW+pW|D~$J<{+9OQWRvhw(iZ#xexjUYXT z9$6aG!kNyc-a2`&r_<6;cINc8+S=mW+fR9G^9$Es*I>|YU#=ZzoX5hFOV zR&wSION}*5Yq5=etB~QvPc-^=GRBG8W`l2UYTJor)2^Q-{*Qg&JhJ;sxqmgZ+|A}3 z?Fz?^4r%JB>nv7ho#(1oZAMYeIyGFM(bGs0MjTA=Mpg*c~9vu462DK zQzOXE7gBDIBhlX`thU9~kbJXQ%FhL+HIgF702&jR6v4RQMm5URIj6Mp9L87UIx6NQ z^G8k5%iRkL1W>R^YIdtx{xax7u^|)>5Av9g_>8>#^nhog>yGF zfZ(lji2(5eno5aO({c_Fih0nYdI-a({kFhewpisIA91*0H?8vWAK~$)-EsNMbS|M;4;l(<~ zvpPFV;!L#oi^6d#7d(|Q#c(EyM!Rcq>0ZpW=g>3|1|P}v&KWo9A#b%kwTk2T-&w`f zOYx`opR~I4O_izYQHR@FK1L_Zg%KC#vldd7Sy`p>5Jk-l?~B4Jpo!>IX1@ zfJoP3fyW16xo1K$jIu4adKWvaueH`SvBnUzhdc#5!Fft>1wBTtfzYtuVOl&iwOR+L z=awh84z#P5XG#HlLa#}~qqKBWY%M}tn1CWiw>NUTtelQKYHTiu2Al#a;Dt}au7Kpn zLMd!V0(pQ=pb085#;ckuyO|Ql=wfa2KBzEYf_>)hDw^9jI98nv;xO!rO_U@F#yT z4Ls7m*PP>pQDm^Q_#L$mrh9N=to7j}0#a_~>qACk`&fYBd&< zX?i}PrEbiir6@wZNqZTlmt zmuF1=#X6h!)Rx2e*xWO^Hfq}&NSYQECr;HbY~($BmoVP2yAReu*F%B}D*At74}oPr zgNb#t{m7eXAB?S^B$2yS+FO@TLJu{Z`fjGxK&2l(oZ`X{LZwFqv5f6StR(wYJ&pSd zQ%d|+c{hGqCD!#lCC+J8XZh;4bex6wZeoBrqS*D8}x!Y8fWV+P{P!on=^x&9K5j;a%mT7{8%QMV~ zLC4&b1_b#70-SI-9<0?+Hy$RYBPvwwf5Ru>+i-cz*!TCCS90t>CTtq}`>k^JR%yD9 z%J?m8gA?QvPK?L<*V24{{X7_fxEi7 zVxaL$cOJ|(L14D-UTLe`OPuEyImPdL-sipUaV~q__a12;=M^p`NjTSGp5!8U?e1I4 zG!V|v01ciNP13DLwarAt)KyGm+;VL(j_YXcOYh@0-iL5qfpfImPZ01?By4Pes^mr{ zn~rNH%VVg%uv3*f#M*C^-dk{vJ8>hNue7|rwmsL2|_OIrh9^chcKl4)y=eJYny79c|rD5 z*vO8p_;#}s!s{K?a~beK47}4}lav`rA9)SLM38!h6=Zd7EMjT3&Sk>Xt*rJjn)}Fo z%V`WI*IUtU!JIe=1?`%Yd1*rx+j!($2VFAM!RDE4d9|50Sjl0~{-W6O*Jp42wW!)p z4V9J5uuT)<7P_sebBJ?Y-DJ;!N(ooMw0YeZKT%Jd%ff*pPQpj z+je%FgKTanF0C!2h1WKgKh0vACPq12giPzq>a?(PZW2`Vdry>eeo?2L z_bWFb;@(Zu+d{ScQ2s8UZiA@kwidd)cb9h3K`hsredU~R#^8=@VrZC4oDL_puF+^8 z8k40u&D@L2uf~npxbUZ38fVW}nVYq`t^M86m_NprLQ%&zyA=h+F%{~p+oGZNJr1A4 zf{hMxH$nH#cQA1+km9^rK*tQmCbb=Xv=LrNIaB)B4^huNaax3%6GEQ9azy#tg{MkFNsw#vP~~clsm`M>?JC{d1(WIRa7O5%AJC)j;B!$<;kw8 zHSaXr<{JAyD*fp7PD|Lv_icT@DMx8GZB!(+o)AUFJTlZJ6AIBDWv_-;XWHxSsk+~o zdF8(Ds_$&Lzr|6yeUY~u3x%AKWS$k($OMv82_E1S4g)b)$DQ*S=QR4`AE?_8IC+BJ zca)b*A?}J|JAW@UTife9UmEh+mlrnhJHeHXb41dzH#jL6b4uA4+HIbnsp>aE{?_K<&%QRG#9+A)G;+aj7;{J} zaT!zF^F`*XJ5ha2uX8NZex&N<9xK{ga>wk>QQf^uc^{p^NoABVqn=r0<#G@Vj(f{S zYCtGDQoPn@&l{_3Ngd4A@;TPh&u-)h`*|M&$|Ad-C$Y-CYeKYm3B=R*a3xxAm^3zxT1!%5D4ldQnpsvA=6$y zg{}+D;z&Tp5F7~@W~oe`1@_;-D0|#ou1qlM2#SP^>I`I8Q(9a>b8hn-&^@xo_U73b zLz+VHzyrXA6jP(B3T`f|G+2AJ?AG@DTGu06aT_4LX=*5n=awm=<`}u4k=R>TPZ)6< zH3~O0>f+5L{Uu0c4Fe8hO1K=`f})Y0Jrzw(Z9qDA6eGHrp1ggzP^c;r=~S05c|r`o zSe_kzx|Ib;`HtsR)Z(+WjniD*%FBCb+6fLLx(kQ|GBAbCamk>XuNg{UW_-Y~j8x(Vd7)L}Fr{w-w(t`^V-pLG{q6tgXf`i(|eB8EU3@0J!0cjQY(HD%3RxX1ARDLqUnE8!+Wc9>wB*D_gUAq8MO=fqLg#U?pUCR0$Xio2>ZKBSkneH z0237|YneI9ZOTrvJcg%HcT*`{y)G%W^hv0r&U7-!|ELp?C4Lq9!08SC`>DiF_4PO5=2pbbg1d^!&XP+YS;OZT|pdJ5R=un=SVcC+0f`#)`;uK;S4#GOUpo)I!|5tJ#PY8!+mA zZ$SIAfA3H3ep;>O&X<>$^UJ8eBKb#PrP_Tm*sW9AJ`{^KXoWa~N9^6$c>e%ajI!)6 zc`~`(Up24xUGb{cO!A!jJAFiM&N&@Ce5`T#zeK0V?!c7$I}R17zA`||Y1AH2-m>P8 zw~bXtxY(le+6$TOBsc&^w0gxO+yvTq<^@%9#IK^#j<@YLczR)t6_Y2{67!F<-c3L+ zc#+wkSHhKS1{55${{WUx^8x<=sy@nOG<`$5_Z$7EaZifjQRG~*Cz?V1!r%KR{6>M) z(^tbos3?9vl7qz34MMMJ$BNX(lpkQhxZU>_hzJ)19ihBEp}f5$ zpo1K$Ndea&-A1iA#f6Thl+@L%06++G{3kR>Z$Vz%CcLFVmAU)9h|{~?FeZcfI<)&)VF0N8${;xxBa`L>WU0V5R4FrQ`bKo=u<{tqw6YI}WFhWE zoYqRKtg#T?a<%)@_@T69oo7&Vf4xGmcCJ0?4Xb$i6coW|7Fj8YyhxKO=XgHuo@csj z*bgo;F*Gu0Gx)ObHPyB6Vd?=xkC68qz)z_Gwq^su`JPoa#H+GFyZRA}U z=BupxyK|Jcf^J{-#Y?l6hpzQbwf*!<#RCC8GSJeVTAVr-+K*(WJ2l^u_3>bK;)S0Wpx@e4s6!6t-Rd-d8<<#tk zkaKz`oK6_pCd+=BhyXGr&XDsq*vP7h!-GE=;`8ejvBwm*pVoZW!$l{aceb-Y_}&C+ zPr!>pDM!@*>db^cU>UY|$#d`&u@|SISUP?7FjF#m4*clU>tt#I_gf2g;2K|cmuy1F z>15P-D1V}nOTxnY$wF2hk$u*&p<`1S7(CMlAOL2_Vnq0}IQ62H!WZSS{ z0U5U zxI>R*=cG!N9j?d4Sm#N#W>aU=?>rM%g}-*?6FnbcHu5>TAP}nxIG$--m{FKI|L6C` zdVZ4aw5Yqd4LbS`^$Z&ViPOngTMd+4Rt(Wll;iGhh#Yi29z?g1(}gkm0}+53YsDMn z)YecQ2O9;9-RK`A2W?Ep)@-+^d(Jd{lufjuMw=ETjBgBmq^D!=$ zu51*Q&0HP(nMyFGidmsQ02E13d)^Z$T6&$U45uuk?6m#s{#7el5nV!xToNF!i4}Xa zrzA0lfv{3SzBR2G#v@1ioLjhZ3jHH=LQV53o(&V@>|#^N6$;#g`i_Nz=9cLAL8yQG zI~Nvk4v4Iwd}FM(DRQOp8oNea)9BZWl-OKkx(`aenz5km;~Oqrv(>GQQuhEwN2RDy zSNX1v?}?T|cUa)bm?nK)&SEL>%bH0ZYKs`)F?#lE%*HLXxnR1XQ*EK&&dYH_ zT#vuPSFgsbtf~{Er+G;4d2#WE=JE-PlAuzoH~d)gimOCC|QM$6UC698JXv;rHEz6nVb(%y;#yoyPFLW!J)LqI z4z|xv@aQP38{>6^6T>pSP23{)t`n{J2Vm`Ej~ZiIZCn?rzcDF$#PMe;0LR zAKIE;xCCF7-^`!wok`!uWjETi!Y(^jmQOf>0uhCl{sD$q{{bcgJDA;3wnFFK)Fdkh zJ7{I*vfIP5kGH~O>3BJ2_=jKO4e`N!k{u_J#4V3jlyg0ptSfDO}Vm47s~!FPV(+{7J?$M-6@l$3oy zLI85uo(jVS$$r6JfV+*a^~tKXN({Q<39!e-%Js7uES8|E50Rxop%vG%^TiSCy2l_V z!NIMR-a@WN#{z{r9O$rPlKWua28=-)b8!>$V|quHz$^B8h4ZNy!+6__3EdNBCLB&Wvvtr`6)797AfoNY}%sC_o zaI49hoy2gU?N(#4x4pU3>0%wI=ks;c!Pnt8NfWafF7c$Qap*9h4%MlBj$3L=UkAuM zJ5smXNcrRG<{e6riwtYl@AzbENn8H|!0;%1wmW+yD0Wy(h->Csa%UbpL{sw39MsE& zq7%7k(|FjdoyAZCebnA*Y!9!XFTOyPhX7CCDH4iR9&ATSEL1|0I1yVz98~ZGQ-p1i+_Aq2e_Nlv5=t3yvVbu?f0Ta z$m_WAv;B{DlNa?xEii54wt)EJRzDJ2A zdyk42%Rk?9&>*h*Se(V0k)wHo&g<=UYNf?zBpT=L%xl}-7*-RgKp5g1!5shSNybnK zoaENQNvv9M<$M{g( zz^J)Y5k39uB)V+Hhs^n>p@qE8HAAGt*1Bj%9oM){3@^)4-FA%6TCX~3V|gi{$BapM zApY3CJ`|K8fIVj&LX)WJpF66cQy#rzd9Krg4MlkmSLfv-9v5BHu$gSjHXkTQ#D(HY zSGINeW26?)d9o4TCjoH^)tLfKKQ_WCW@Tug6cO*NNalQ{nx-ly|FEv@9*B2jf=7zq zMpb#zXK`?_jRjB@TO2DtX7(^sa2-W%hzi-6xD6OA$dF}fG#i<9Y++^J{ozDeZNrpW z%A*87C*1aKDF?f#5r-ggA|Wknkm9ouI*`3jF!>K~Rtq;Mun0}ElkWc|e9%yJ5%hJa zxRNm$0OcIOu*2hU(jn0p8;}S z0GoIQDONoz7&BBtSp_}k4mY3F`vkj_*IJNBznSTJa&WakuOl?$qRB4I2;<8yOS51R zgk7WO>V;+>%fv7Uatt+FS6jysiL!qWcEC8rge}&s*tPIMlwtKZe*5DTM3v5l{j{xt z;GJt*&}~4ZMvEgAYdkaHQx^BjCKUpZIkKv&%4pkoDh+heKvy2?gHc zEfB$L>as`T{O~dH&xKP5ber4@oPHSjI@8=_hu05i!0pefq9~#QbJ|5YsJ+yoxY^4# z05vDgO{Y2eD+?%k;q%>tx+f~z=?P`VULlH4l0sP6R!7s#4!N8kR>UXWS4MIx&&OX9 zzc2uI`L*}(IaK2typIVxA)TVaw(wiP6TtMSI-RdyusHEEbdpXzKJJ5-=1k=x5cmy3 zk)@wLLTBjo|90gl3;!><~!%BW{TwI=#8r5Q9&Ar`)K8KJ$ton@Iv@mCGyuaKBjjGiYg6m{Rg1>2iSoUJF~}ql*>bl zc*dy%1r6UvzP0bkPd2@Vk=_EmI$d?8el4}U$JXy@ly#t#29PX#bYE!M<}kU2^WRgV zt?4aQ8>DEmFn=y<(}lNwND&bN)0AqJ@87F950enCn^D4c4x@P*t_@@{Dg>()_J?|u zr(yZZbz|QOV328-^Vvj3%fRY}ZIYrQVh}xsUECKkkE0J>w&}iBc@ivOsH3W?kcrw! zaF4mH@a(7zfL6gO19sF;Q9xN>)hJFnK|2P1t5PI^2%$h(OV*si-u$c%i4aUepKZS7+4A5k-pwu(##6uk ze7|%k@SWX4DKq%hxUqa6P2!SNEw*HH-rtls2+LoV{S-X%Uhnsm&QX?SsdZW7r4;`_ z@pcHUpmB$qW$nAeabFGN2h3~D0)se{kq5L&)i)emd;f?Gx?wZ!!i1>mW`lm@4@5IT zyk)LCt3-eE#N=W2h4n4HJL*}(Nqs)${AvwUg$pkmSFhvB@$!0QupfYYr4^{g40MH> zz89+`drrMWet1Xbc~TTC@uyaa(!k1DvP4`|WX+tT!Fi)#9&5x};SpF(8K_N4*O@uU ztvp;EBNQ8;HBAPn-7?>L~Zj!+#RNCF1|aXYrpCHtzSFWF*y6#f`Bw)SIORY2rFuq|En@) zS5Ttw)V#J0KZny`Us=PtVI#|uG4pZ2p9Za@(s4PrB_~tVzeius4Y=U&VrzjXv#cn* zWuO^4gWl)1RlOmJ=!@u{m^W2dOYvSoC5Q!f<4?kvtkGW~_FQ0wKm{PFMRMDfdaD4P7)%y8&dztD4&2%fC@I>FwVJS5yqYfP*g>j$I>1 z?+$l!T6kc4Iu%ax{xs$50m(5wO_z%4mj;ck{gHF1M3mG3vfeX)BcHm<$aSH~Dx-iq zdifU9LGZ}7_z&>Qn0#jSafGLuqapAR;VY;!b136VyhljVg-nG~J8x6yhY91(^54^C zf%>uYxhtA^(|kJ!FWF?_$x?g@nwX@Xv@8;rhkCw#Y%fE>T7RQ==_yKr^~I!Er+c%T zM;hkTnjl>?NLEvv#ys{*{(>>dS+Tj=vcO84k~66=O`!N(WolLUIfJBgCyD=o+XZOR3lgbCZS+1Gs2`$LTT^9O^ZniKD>AT#A)TicR}(4-kx%$sEol6dV&&i zP-5L$U5;tdjGS5oqp0sHINu_N;n2yEDM>crClW3oE%i>8AozgUmd}FvvbH6#8P4Ouu!BLUNC3hRzf2ht z0xdAz+)u-1iupjU^nD9w&_u!JUB;=LAJX zGuF?l$R}{O3m?2C-UCAs#)ULy3fM8=&dy43gSxQ^an?Mufe*Jz@DDHK(IU8OBS(cH z^7|d%od;Pgt7G)n7cs!_PCUjorJ15fYL4x$D=+{#mE5UJNV3 z?U7;dtaI!VL0aaI;9(ZDNz|c~zG$a1lkAe}o86em^KZu_F_A4f zo9WJ5p!rLl_Gw(jrnaxT%@4OAqc-MBu9L^OK4N6MC{?Ln6YA=a_(V{d+fcWfzWs5b zgY6kDIYYyuc9VH6@2Q-y%%AL?bmyOw*-v3s2`mA5sG`5EZHF7x5h*HT9h4tA)r)-R z)eN*)yht9bObU5wn+-%t1-hSYwko(Bd%s4i77cQ`|TK%Njr$1gR zT^%an{*}uEjK74wPygl%#|7gLI-|ee*>qOEL|huYF+4x!-ioea*lW^Zn6m|!9Si08 z=Y)ulk6fCbL^5S)ID}VQHw7^#rx#cgyc~5O>@ZE5n>kjtxFOcpdhWr?z6`P`Bs%RE;WQrX&k|97i$`Fygr$oLerl+PY&SG+Pr#$5A> zrml5B&d%NelP7-UV3<_0B?3J_w4H$Ej#+ADQ_mNxL0EL}faf87ev0|k{L|K2lUj`Y zU8^xM#ns6E*T5yBEG4T&>(BHAYqff5ZLN<^G5-MN$G-E`}mS076%7ybbr z)5^jJO{||=J4LqE*?+q`*$+;+RXVF|9q?zGQNy8i^ zqkcRZ;xyvWj-BU+E&*`#@$(DpRA~~{eiFmP?`h_iVB!gs?(g>?430p0wG!u=q#yr) z=c?VZ^Aj?3v|lY>2j#Xh8pwhD;2z?uf!lZ>a%JG zd!wzhU$jwCNR^BpX`>B7tpe_(YPk(6cUuDA=jK{flK%lVG(uXi#-l+8&oR`1-%W2D zuRRzH+BO?$>o0S@3*+TB?`&^}vwwn{g+qpQn#|jaHD(%COr~#X8bjuGt~)a1 zgzhwqxGrhKu62t|aTtF)FlB|RX?Vyzt!|#Djs9LUw6*=&wN9vJ%~o72Qc$Q-bnwoX zFrz(tRr#m<_-{}rT`EofV9aW@HD*V0`*nH#M(>9uK7wkSc?LN!Xfg9t>5ZRIxUaow zKI(H^Tmloyx_Pu|{zF7VP2jGk+iUsS;02u*|8DnK`xU~>x|c|pVDMDrJ!eBA(c~A1 zGa)%_Y{;hCs$8+Xj)I%Hsiml8b;0xBeS(6aI@agBo_nIF2Uk_tlrD89l`=Zqt+w@C-DS?_+QJO*_ct!_tYx_aiDrQ=f`2b+^y>0{ zB(rjq6PlGXD9sEch|UTObPnT~(fGr~e0BGT=~r$}W`V3)rjNFx6NiZWbQ;ac0{nq! zWg=S;yQ^$%1lH693_g{TZKafmkw+%Q!*y&RcU8wC@x91Ze)%`Si_d)1fLkfTFRUJslUpPi0^jIh7`Y<;C8M1xvMOyB~TxT zd9(I8ppLg7UJj*bUPZ{!M9X@---B4#5Z zQgZqRu#l7EBchby;X;ismiO;qlW*BZLF0TaOPRPz(5$( zD{%F?5p~^5&#EEHqhmus^ZtSiGLlZjC=*wLYA_Cw1-7eyZ@=<*6IVObfYB)2KG1gD7%6HJ zQ90P|V#>+L7t{NHL0)%_7&tPf_`GZ{Z*SS|!ru4{I;P9u9a`;;`7pwgc2zhfY0T{J z;xA5uN2Xg@7&Bj8IN!In>oM-Pcvnhm%>bXs_U!e6s3D74kJO-;N_1U;9&ehQ%1aHv zgmoY`;FuA2rh@%y=(qvX!TYKgs5L;4v1cqHB$`d-FEpWOP07a?Qd=9qoGc7c$!1J8Jj~H zK5p1S+UxAqo^MvB+Xw676?H^kN2sx$qy*PDFbC~FjkwU*zDoCV#iy$z?EjI*Aury? z)2dA^$l919n*|IBc9PDa}Dj&t}H&h1A8Q`?Ojta$^J)o!v&F znJ_`hG<|o}53N|)Ih#Scy*k=Wb3Gm}?ir|{Gr|z^g`%RH6YbPxN%Pt!s=`WE$|!k^ z12JqJ9@npfsjOrO%x4yI)z&_xDqmrFDnd1YEsh z2eerX2UVaCthYN`W9+Y5^6Ld2!}qZcilHb;o&2Kg@0a5kTU>UY3{2MAT20 ziV_N1aFOlrhc&#$$ej}-CCgd(h&(YIlMnz$4kLqTNE)VAvANcUs*{lTH1!-narO#L zF4CmQ6Izn6)tq;-sCNC}k`>4TP8#*?WFba?>m8ZxZZ%jLhF$Sg16K74pj3t5{ROW6 z?r9u%%19t>DXRA+4t;IR#KfJO_^dY98p~?h1yd6pJBZyX*<%Vx@3k?F>_33x#IA^; zce?m9@!kGP*FtA6ls63i`WQQduYF2TRBv!kt~Q~t7Tu}L9a+$(_3}-~HQpz@jR%!g zPiG}P`CV9))QD}??bNXE6x`sWODxFZ_6<3Rh<=`JRWM^NCMu&(y`7k+7|p8InAshC z*vRLgioKw((}@|uv)WWu6xg^??%mv|bpG*-^EUyv5WNEGkDrsoFjvNsS4I>F6SUP| z;2(|GRESFpX&dIvHAt5hNB;bN^MUt_`^3pDFIfqIkj&tl=?y1({!Cv^EP^!AEN>{Mb%x zkfOEU*ES#pO%d9Yy)ReWubY||0BG#;sMswTJi~jcT(3>xOH=D6^!6_pI>; zq8cr)F?)u3G3uX%8GUke)05S#R6`$F3^4k`Jm$oFPPxtLM(|Z~c{LaYd42#WP({2z zhLVOXi50~GtwWyc=ZuyW!e34O>|%-*FMiPS(=6^9OHRTJORX=kj2uJ5O(oAW|1$b_ zQF5fpXnFsbzwGI#Rn!jw0=3|#&04eP z76%k%wR{Bo!-;8$N-RQ==0s;@C-!8;&5cx$LNGr}oZ(-Y;KX-$$|fS|dlS7$HuES3PA`nQTN0s+Re2?C*P0Ls@cj?zBaCIvRhE zooFq$tFkjLTkGxKkxOHwt8t9onKf#bqJ+K}1u~w`fhI>I+Ath|#8>7NR%^6ck;W;n zvyFV4Z3@ATiq0EogS1;mpw4n5%wlwdtlhSiRlP;kV9V-{Z16GDz zDUiB#Kh0E=M&?u5?pGtgFn)hrua0`$LYY&k6Y}qD6m(QsK`BZEAP7cTDg+)b%OFA# zq4-x9X-TVk2O9&14Q?|E-WQFpnrmT0s^r5IHQM`_ zj*;?kC88K-K73R&1W;l@s09*H0*gF2^V~Km85A_fRS#o5W%R9MVx-|0>7x@Xvenvu zibAE9zHOiEY$M|F}Te@UFAA!%3lPXbgBh6={`5C^bC31boak!~)U+~wS z&oE7FPk35|gEysZD!j!E9;qI*_Fyz^h5$}c60(S)!Gz{lni4{UQ>sskORD=D6`hza zRf^AxOR@)_4%chJs~O4fpfew_ZzjuKQ)@2Ed^@rJoxPj98wEAvqOU~TM$4JbOCJ7& zurP=`S#Cuq+uT1$G%AM?9*oM$>&=Q)SM3cl99#J5n%f$^H~b*Bztg4~ODFeCPW0xU znsM9r(cs#Fy4SFVz^~{Q_Tn>uBAKMVNUHonFCH|2I#z~{2P~df34gr}a}BZ+f?`rX z`!Q@{Qf|{v2{i}v#Sk~xTK+H$={qvP>J_ceCbF&mJxqu5@m9Y0%&IlI0aofL8R}6w zNX;aYa9?wWfv~>KJ(LJCFhBQfwt*jz5`$4%Ergsv9?8R>{7*|SK6WXzU&>_ z^8wvz~sntLX2K2+RTKIx1}5i*{NZGrzRhaqT1UDj$=(&(_z$z(Z7Nl##pS&Y!#uR7{q0ULHo1r!Ffb zSO}2kH<0lbP5kKYD|1eG>!E4)?MD(u;Dg}u0__Kjhs%q2PCfOVNVrB@1Ez1?KJxd& zKMAc5 zv$K-#%)bgQueZ76_O^zd>CAE6m3fmgpH9>BzXFdDf-^5HS>2ew_@jm{wk_m5%zP`H z8BC79@utvvIg+{fhWJ!}c-=HqJ2t!dodA064Z@eOHGi)J={eYaF|73!5NNy8c!e=o zvt82tp5o>6H}~)-?PAgb(gA=WjgNu#Xm2Q$kv777i2n;k1eY;5NA^VBSNErw^eqyd zk&_OPVKE^*n2)r*6=xF~NI0Z3?B$uJ$?!BFCEryzDjfV1pfLKz*t}qx+|KT5o6g0o z)u>&xoATz4c=SoSry||u z#32KoUS;k%KUfkk`9U{415uhY>bxweu^Csybw+=hJSye)8Ji(Grpk;xsb#^6p}s-m zhnP*e=G48YOD&pdsmKf?#l?ukJYE@^7V|(V_eZ*e8_xjRjJI0n*qPY2`8inFOJkEH z>?Z7;2t(=e_%AD=W;rO^B@J>6YQo>IX5Y%^(KE{{8%6g^#PXOdIEWAO3--gZGDFTnVAUu|)>41#nkg$p$k-Xgf`d z_$)H9%09|3K#2?691~Gb?(JYh>^jUAljbO*9XJeuYbT;&@iObw_}iyfMEqXdnD2gh z$-zKF{{=#h)~gVQk^-okrQ`-~B(U|3^!zO;V?wrS{Zo;Sz%4{z8?YyT%dONgaEBmR zJzv%J^j&;QuDp2`8ZS4^TcApUwJvsS%0<_v>Yj#5)~9!%|MVf?L;Db5#2PjJ3$%kq z%@3anKkdz5U=n{L`5(O-mHq$HyV--O#<;6;(T@Hrc>nFT$B%>Z?C$?xpk3Fvu2?}d^)i~8Z|#CoZF=!x_LbV- zkwR}xaV$$(PwSoG#R-qb#m$s6)|+?0wwPi@%u$D0sLSNN(T#B3fi_pw^QxeTexB;* zPXBKuoF^+1%#D^iBntPkq}OOM%cLnNGY9HP-&vNythmXzC3Gx}OE+B`UcI~$%I$63 zJR?Ucd2w5`N@R#U&(Y8NSOb~#vca}OSc%nJ)B55tHG?SzbDe*W-;u4K`kc|7j|nb& zpzH|!3-lQ%eSa*}YFW2E^_g4K**T~9#dUW#m8RTjDd}h?w)2pWeQW*?AitwCasqmm z2a(LDgS@mcqp55SCx3mUc?6tkoK7-k>5vu7eKagvZ(7=z(41vXq)2VC%8=2a4WIr! z^fQ`2E?R6qPRyV)sLji{zzWq{{-8)&avOvW!ydS3L-ZDu_5nuMK^A1(LG)DQl)KtQPjKdQpO@mWNK@yn8mUSW?Xi^nS%Y&L*A&3w53^5tEiYr zt4kQa4O|k2o7EK_5lgac!W4rR?z-ZkT z2>4?(-jyei%?-hM?nnHN=L^O^z$aOmLxkku?xy{QZz-V8L?;JSMiP1ZH*{=|ToR?M zzJAgO_ho8#6|=W#|Bcc=SxD1+lVbDMqO@n)rhPAne!LxN>wIgH!l^6F?z$s&SA{K2 z-=orvS2=M&E)M+n zO6p8L)aMwaB;U;ZhEKMu(}4ZCDugrpeO9*x6GDz2;a?mh1|c*Exx>({)I#r{Oy6|H zaovTB#`M$3S7>dt>ONI2wK)--c?4gzTU-t0uFIZ|!Zla8%9M_0*q?V;_V<V1X|jOr$^k1yn1^D#!jeT-0*;^*9f`d-bNkr8aa)sAy5ov6BED71 zUW?$lH^FbDP-vLeVc{gzWN$%?h!*f9FKm&388E!nTi%OItR)hCWK6=K z?j`XTDCDHfP`k^t-wSG~#+{8fpA~my{Jg8s%ega?s!kqQ^u1TK1!M42Tc%88j(eas z1)oTv1bi_@Mym`-a*-EiW0jWp%rvJhm;{V+fjC9kAwZ%~HhLejTRHS%z|+*hwD}GM zV!|^gCU5Kv~PrIs> zW?u{AIb}ag6);UAtM%#XVN;w$(*IYY;I(oGrbb>fTbk9ILe0+ z(6)p)r#NI^Tlzp50TFvA7EDC`W$pv@#?Ml5r?y>&gPxzl9MU^+xf1brK&qz*m)KuZ z!zu4D1!zLis}{xVnv3oncIBI6je@;?nD2~upjL@fNld0cPLjXA+ty{sou>Hp@~o?J zD|Tkw;z0yqlwS*PpE*fHw8Gf>F_^k>nCcof(2)h`t&1(C@p_+11fuGYfLznjh@(al z9uXh*hd)v8GTQR0H0+)1oDLwI=9`M!9ibsOZ);J==qh z0d^022s{u3DWFd^sH$-L=Ka~>l?z5@+gMLaxoOuUHejH0_`;&R$DBa){DJcRy6DHg zluYEK2ye`d=Ek&>|EE#erV^2N8=@ z0iK@?>oO59tD*9|k;w7~Tn%_?I5-gylgm#=Hqg_f#(NaMDBq^9*Z$iwjSfbP+*)U+ zNHs!?d5k`Z>(X$ztAmWYF-1=8ozHpuU6)poqp{aA+7FWZy|nq6nb(vWp6kAfQ@8sx zT<1%r$Z86(In=uw#?IZ4Gi86`uxCRyDLJpafI4$v@~Y*mhM7$*QDU!jydX!)Tajp5 z{>DQGqTjuo5cbhij9xWaUD$iKEN;A2vGn=E_@zBq*;K)c7&imuR!N8>>aiqMRzt;E-1oSzeC@gp!XnH=L~rFT76b@4y2&rG^gVNhW6X}mQ7sG>2? z%Ar5GzK=z1v^|!zX+1)4N!bUi6F_0;Def|#4;fU{R2RQ`8m9>ve0{?T{{_M0s6zJ< zI+ETq4beDv{RhBDsC!PTX$&_cNa_4Gd1sCn3#$1V--(sn%X2*;1p~)232OeLCDUe+ z=6nQxWfD7%?|1S1eClbIS@bf{cr`K#l3N&%c&)pKw@3tmg)UgqAd$N&pZ|us`*P-U zo^OP$iwkX*fH08A*wzYB8h#6lzcaeAgZD)mPQ5NSOqQGkd+?2%`ipUbs@klpaI3x9 zt|W_dvX@YNbYQ zCaEk#m27;BC?1JpMKpg`LF1Hp!_4-L49PCG@GI79B*~!w6b3OhFA-h?+K!D zb#$V0qtvTIa=@=_E?dlDb|gJ02|vp_Lzd=rJb{oy%-w2*wez+ak>=zrk#^~&zlV_frnt9ieSG`JUDUWhb(zr!^xj{)#!mho zo}7-{*6S}el9}8*>MmA0xRI%8q|R@eZcIE^RXNZ+LuFX}5lSNH2m^pI@>JAJNX)dD zM*ns`Ugz$>&m2G5u||FAj26qe`$1Ij8pxfaPVX8XfYK6^Q;3a$Dw$KV24Ux3?JJop zXihZyWu`@2=!i{oazq<1?Z|980dyHoEj?q9Yf7p$%#n;6$osPR%vl0UTsb=FRp@61 z-L@2*3GC~PbK{>`FY_`S;}uG}uh*6#dG`E_2#_;Y49rssf8I{VAt07xW4w7lQ=e=0 zuiSnKa~k=kW2GE6x%2nH{I6e)jv800)j;l_?O3>qFV`iks&4l$tUhN?;aOQHKe$7S zRiGwbpZ|AOwx%Jb~$e=u6zi^{R8O-NClewNS| z7RrKHaKdZ%E?)P4AzCDNAgx48N#e`@&Nk4txBuJCOZ^{KcgFv+xR9BuhVfy~{y+0gc!6g+t6qRM=`C5%t}XplT~Cer zy_dN}l1Nxnk?zs{Ojj8ub!ypjl;_IUW9dHt%Nv>eRC9`7g|W;dxm1m2#dMJrRgdK< z1&U5;9?ZEK`m@DlF!dv0^Hp8Th9`8yvD_jbD80|p%6!aSkhS-7q_FGmIYGkM@~-hL z8}HxS>q~U|>8;1EW{IeObBuUF7WCrNpex1FE-ogfN50u6rXEYbMCUQEqjP~e^3$et zdrXLyOhkXn($uld*t%`_0oM7r`#>NTY<%3zW!#WwGyfNR& z04ALHRg^RDHUEsdJ%!ZU$@v=CNz_!HJde@bO5W{4#pf?aGs`ATU{M+YIpQ_kbjb~} zi9GRp3?5bQn54KT)luruaOvuIt=`N12bl7^=GQiewd;z+*j&ubohzlsnu5#qs1)T- z&xK#qZ*8i{@SZfGEc1$(fyhLxd#QVW4ImqpIC1f#MI!5eQsU`HNZfw(1co_L0&gy9 zF$hBP#Rs%F^7G>eaUz5u$_yG07;Q3W5HM({pW>Hf@;?H8p`rZE@*>wBIt&~ch%LwB)aEb#}HBu%&t)nZ)Q3H?NAWu?1u z$!(6-yjZy|6|$Btb?P(gMqylx#>>TNEcY`+%g=63brR$3&hvahpP6|UnuB|+_D%?_V@>z7IWq?Ac_J{8r>O~F`| zVX+QoyO};c7tM@JA!{b>7UEGWE{39VRd>TW6LHjcyD9{>y9;&3p@#y868D~yHxP84 z5MmC$7XXiD+jMlIy}5wiHlMzcMsC(EOg5$}#tBA_)hOI0Hn!stAhViX!tw}_A8kz` zPMS>bUU0;1=LwcE&l)?XNKVY80KqG z{OR~q=$1%_W2BdkJ3Ms8N@5-S0Jx|}>WqCH zLs7!<=1*-~Y|6%O@CqJ)l+RZD3Q3Bd9Kqtm2h|gt%u2iR6@H?}*UahuebI;{c&lgu zfw*%*Bn$AFbOzW}O!AUHoEp~U#*+*b#A|1n4=;GY7x5I39Fy%R#5;@S->Z65;qyf$ zi{=p-{n$l>i*UmGMwn2EKFOE4jnawNo(K;B%6`6Ebe_mN_bB2y*2h0vQ9)$Ur zV8e&9YlkZ5>KqR_)Yi&k3{y;(tik6KxE`h*VG5RJKq7%DFR5FnKgJ0HAn!}6LCKMg zNM=Lrsj`$gWacbRBAOw6>>7RDVex9eVo(ITe}akrAo6>#>bdYPURsi5&|I3FRSnlDO%00%r0^ zVkWL1uz;MD@pqC^3J+!g@-aAeeU3uO_{&sZZK9v}C}={G3zRMtfxDgxAIi^oKll?C zd7#O`>gB@pll&;r$Q%^cmWGe-l(9kJR!NMirTO>=BH3vpBd+T|5UewniBkGo8uaTh zVF7p5s9U@PfmWK~Bj88^HixR?$*%VI&EJ=-06!)e5&O?FjL zjQrUV7Ds7)buBLSLJQ73Q4Tp<^D-LWOvs0+5A=LDWcE~vBnk257<%HhA9Ty73BEPP z>$nP*8@ItvYOgcm2G@A4ij_ z6w!hpqw`9bPvUA6DiFrD?*NmFsiaW?`%^of^JGsol3-_ZDoV@!q)QV$gFM=nIjgm9SAs$Mp z#W}0XkVgGA4h#ZA`@MK8M2gw=GJ-b0S9Sr zhx|a_dUDMV;%W}~Y-~(oMZNdT(Xxh|kH9@|EB_y|MS@=K+Iy#EB)QXx@|CaO=~{{e z8h_-aV2=USV20xIc@{s&{Lx6ds7cs#_SX&;aS~uWS1gks<@u2eD#|U`GEf7TZXHjA zyv%`VYCGE+SYm|3_TxtFsR@&!O=!~eM+di83Ha$96oyop%ITIigBJfkuFirhu65hC zg?r)d!9954?gW?M0fM``2X}XOhu|8#fP&x>EV#Re0Q=QG=ic{Pdw*iBZ_GJn?}?+v z&v&sNe~en5g3{OboX=h;LR`EWev2tB{jTxOp*zecGuLQq?y`V5QMLHPZ}9Lyuuu&) zgV>`P;16u**uOP@e);s|08w?=oRj73Tyq%Xtc|CXsu>kzy&Ji6oVjs2vMdN$PyDo0 z@`Zd;Q+$Dri=DFld(6akv0~|+uFlb~2epB&{_pJdLq;yp!(~;Te*j?7x3+zfhM6_} zESTP(ZG}4X6@kc&Zk3D0nu`O1(ASgzU7l`5p`N?X0rWwNv!Q?N;O8CvnEU)ZYcjcM z2kEn1Ei5qNFlg@oLX0zhS$|H;ETJsJwY=WIRDSXjTRh`_@#=YmKc^6Mz#7ke)3Tp_ z%XRCpQX<^ymiyNGH)~avX{K!R^lPIk<5?|1!|-(5a(_(@^-msL_q06UU8n%~2FFiq zBr`>De}C|hJq$jD>YA5f$w& z@`YC|R&pU92Ml{8>%X-QwlxAjc5=2dy|GC%7d91(UTs$=xh`AZEFoSFMt?Nox^n`D zWJjPD0=wK0yWm5+#n9kw)SB%sbymM{PAnQ9zhV6WLtS_?HyqW&qC5Pf5Tu??kEM~8 z&K;Vb;A?B-S>IVqBmH!I40S_JdDW$iAgk`E{pm}#S!C3N?@=Je1Cc{4WH7e&TMNUR z<9yrF!v&_(diS02GEX1HQaroISY?o%DKY?5~alZzgR;KrbM07&b4;?zR>>56OMzCLeY>35Hw0l-g=tf)75lGSnZX1@gwUxxYABD;@pqF!ME zLD3Zh8VYtHvPkSBCF8h<)XsulfH_i3q}?oT0{;M@pqdE>ojaz0L;6E-m8I?n5WQt^ z+dbLE@IvBh`cum;qOV^K)+BTfRfK;3nhpyMIckVn$R#t+wNSIK?aYnVF>A}6`Eo3d zn5xZW-hY8XkLs%iSou=VdPtA|_ukPl>3|q2Me;lS4`JA3nMX%fDF0EJ&*Y{9>3!V) z6Go+Ky8i@0U693xRp`BAefA@!v01{;IVe16hduLcq;SV;UHm`HAZv>JGziVNbUBv) zwP7nJi5C`D`F}!4WknIdbSf&kWBMwmF?0fM*=AOy$*uVlb_ikk10|8MzO|-8T22MG zjNiLF2+yrxGDOc$m`?+kF=AKGMck`%OsTH@63FFt6z?h}+`PHEH-mU9q1+&RKF0ZJ&Kv_RC;F9KVFnEh=s{>@23 z3+t!V5)@1G4BjKxkR1ha2=$(_4)_BOW)$c6YtdVqJy*3uUX8q2@_?Dt_kpkreamK! zSPxbV&M_rYe}HUiAwI9ch6k&;4Uo#$*HkimKppkr#Y5c(qX~Ml;&1`Q6L>XtcP?ps zCVI$UefXOV@OvdK*@^jZFHnXqWZM_X-kMChSg>MZC{m?=#7&XdWBZ7$4e8Z(>pfx1rot1;*0mHV`5^=US<7Nv2TXM^+);V1E?FKOYfi-gD726s z!*8l2Lvx;P8KP+%$q=#=^@_t zElmS6D5xC{LR|+MNYOwEx2dktErl+|gd_O}rYOkp+n9aBZ~3 zsFU-+*3n19ReficL5Wi38RL?(SwTrdFi%%`XIQLiy|?-(muz+7a;9+ow4~5ZNU0$t zt^K?R;#2b`#5NvCy+K|mE5HV1=J9!VbBn-k81vNmc_(-!_sVZFVdKZvcTQUK5e%j_ z@1m?(jYRyBl~nHn?~IocXW^q_v_-kCdsLFt`q$pPMmAoXVFn00tbKcVK$5 zbIBXmfU2qPmp0TBu;o4(w%H2vrO3PALX791XxMvuHwkgL<(GMd>@Emy63s2=AI3~+ zokezr7$0iCn0mr{M~9}@7))O`$5!0O*^qsXiVEfE9k4>!5bT62?`+4aBJz@yQ zSsQk(U+P7!eB2Vu$>Qc__b|$L{hC>9R}GK=6PN?9DV|Mw1Ecy zGUcN-v4@&@h2UU-`#|%CVi=XNQqXZ{vSg#_S1Yh-~5LPo~^KL8fLV!5^P&59jwH|dNE*RCJ52`F3JWT==%y5IyE_5LS< zUXsz48#g+$JZDUq?RsWJa>V*wITe2MdBNczE2_617#b$H+yYy}*^hhi6tsqwgsmRo zHww4%V3^Rh3+AjZ>3kW?_GD%Ue+(C;0VR2w+*x$iJFRVwgiTl-#hbSJrYa2TsPh^?1%wj=M{ekwf2Y3xg8i6Y7g%hUl+7Gj%Dlf+_)@|2BdXNZQx5Xtffg*H5GM`FW!}6reeMI)n6PezqVAPzMQK^etzt+&&KmPo)?Z!36 zU>bo+q6R?JvWD2O9fWm+=bnq(Uw(W3Ru<1dCXTvrn}oW{T&+`1=$+Oqot#lVjYt~n zm0HL|y;_q}KJIc-)^G#rs6f{@8vEgVM9(}_JxlrU~%U0;JVRLzf{zSm3E#*2CVTR_wtAP1O-3-BV8F~F6${2h&Qz`LI4GKls_5M1X5m@-AgrzgGq;Dl`QSyq)!8q* zA0;+5V&}E>37c(ksn~&P`9}a3*>8r;lCf$;kKsvA{;SwI*h#xFor`c)iWGpuJi^8$ zHD@YnRPTLt@BQj{#zgdC!UPbIhRmDZPE9+j0iyb2sR5xN)7+Eqtn3J}p-3>L0Zn0l7=^fGxn~BGB zCP_uL$OUAvTkpt!9(UgGRzWPK>`F#1f;o!cqbdFea9%xP-&J&fgZ^M%EGvzJwgEa- zL00gpX;$$73C6z4@Yb3T3S7F3q=Dj8;bN-sb5!aMjPhms5M6m8yi}PYT3r0)dWIO1RmYCIBmd7}?rYMr~{ zAVRYk7$WVt_)p9ATJ7!q;I7`q)=EAkEDut6rb)cb5kdxvGy&~+#+u$~oH#a_i8ig; zW46Q*t4#fbVnQb^Q5RklpQKM#LihAmbLzpb znleDH4V#uJKKa_;2aSL!&AkX}YJ~T6f>sT!JS< z!H>vILhs|k=jnab1=|;$a2*X3y*7( z0n~$~BulhZrzbC+rHnB@`uRbZ&y}6&?>0a;V)`*=BRd%|gN06jy1s8O_ zCU@M^2A0~nIcptC4K2m$RwZcM&*eDWHCWm8c&b7vyq{hmxGJv(K0O|!9~`&m1Iu{7 zCLD>+Pi1{+&XB|XYIcu6W_!^1qffW$HzwyD6SE6Awt`WcV>kC_WZN`pm|}F5g1=CZ z@{yf7T8O_Z54{gw>7Py6hhySDVL4(Ql$Rx^8wIw1!m52(M5{$lm(2PLZC4HZcZXzc zQuu5dSVt1fTc0oTep;p`OVe8DGkESTxUB5%On>p5>aJY!xg}ZA6PTz8J7EksHzZehCh(kj%U`x zQ(=vDB1}IRws37;JtD)`32U~e)y<^`n?@g_ikzs0Dn+A}q(*Mae`LV7DY_*vT3M9B zALj(^!+@J%hH6H@QD9g3f-fo`q^3Z5B;3%H!JJxZ#-I>A=!*?HI;)}<_e}H%IDXD9 z=nml&5fQY-`uSVAe=?Y>NO|w%PYteV_Rg=wgDUj6Dr}j`8?~UEnW&Oj*4NdCl9AYj z-^1Ut?$^U2jJt)<%>IAa460O`Rb?gA7^4>EUnumWHIT=X=+f)g$6r~-8$oHJ^c4%0 zlRdXkV(Vo6e=gF_U(-B26QI326t{P2s7dyJQ8Vqiro&Nt|0&)@ms$1%jG+8^>0gjL zPXGXXPxO>N^&85MML%logiujXTCkAogzWeN?K1a=f=}kuh^Z=TYvb{gCU(|r z#!(-bJ*q2KS=N_vB-~=)hC{E($=!3Y>C&Os;Kf*G3E^JITC(ieNa!4MtH2i$w2FKg5IrK0%- z-5Jei@kd(Fe*bvpmwfib)z|gb@}uV+J6<;%lJQmaVYDNanx>!dJxZo-p(eLDMLz^?( z;KE<}c}iTPt{;vssa;T5d|}g`%TX(rjff?)6I{9);L<{SNp!bADWefcMs#6O5I<@F-3{MI}aR0)`Ss%VKwjm$Sfk8Ua}M%X`JkE;VelX^bY{{w5B}Mn!OiGCxnXR z8#xiwDC<2x`uCGzdtpwZjg8C)03ua2d6&8p_sZaI(gpl4xcPuAc4S|h+N7m>w5(@; zet~mSSy1XE60951-euKe+=;RmSNF!v?fNiXGYFp(cS_}J1erXQSww9Ho^XfgCrLIZ z)=%6nYlT!E1_Z|IJ!)aD1~a^|R&iT0@HzEKUuW76Zw%1#Q=_D0e;^SYT!FCD?Op2j zNP=emDjKapHn;_Ds6|2UOODEoqg6X)ry4xUkMf7|zs&qyIY%4fFUY3c$dH}=m;jSeO1x&o5_mM;| zQsY4P*bNn(F3j2Ri;T|J2%9aV`M5Cm`2Dp^QJ+-hF}@tNngk7ZDB~Ypn0Z^y1)1tr zS|rOqQ3~MWR<+JzF#~>$L<=L#O#az~0_ZD`C8$Ppo)|sq@Jpa&Ql3^^k8K#OLAB-B zEs%&BO!g8(!J?~mLN6dASSk1=#5-gmdMv`CIpby$iBTsx<(mLjRCPR3h#8q_R{{4% zflfgp_GUH*rV&ZT*eBN2J7Bf%2;!G(koJ$|{JrsuK07G?Hc?%4@uO(joib$e&hfqDjezl*a{r-$DRmSO-d@AGnJ zPiChoKD#H8^KmJ@VvapHq76&7%zv`5PS6k0cv9#S8nyq|B5-XjFrfyHz34>DoCAAD zVeX~edq>8S$L)f6Z97WhT;^gd9s|XZz8ikp-rf{0Lv4FL8=EEyt$;Dzu!XU+=0%;; zT+);nIMtI*Mh0XQzkKTRFy4SCkfNPZk&};pnW0wkW+v0D2^-;2MUogWG2%bmPotvr zAwrFf{^M#~gZClM6E)ilFY?Mh>sF{?--(`_8LsoX_|udlK?V*PwV;0ux-J&gWwF{4 z0MFR0V6qTPls8p*uTZ2lR;d2()U+gh&mZ~>IC?9lfsHt1jJ-wIs@(&{oe=ZHsM3-7 zbdmF_-Cx~p^SK}c?+w2jq4Z!&w0tUa(g<4_j&O!#n)2?yStWAxQ@!u%<{10U`ho(+ zPqK4+ig@E{x3pi9w0+{m!s+leRSy_;=!A(J+Lson0o}xoWsa)($3vHesO&mswb4Ai zD2Re~F4NlgiJW@h35a&TIyZ56(({JE>@M?@`JNmnyM`*pL~T4Com5^Xt{U=G2|TO9 zr_EqX%ztwke83y;&5}J;hhX%QuUq8k328Oztj#2SpP`7MEp)Lw`Twc6yfa8N~9ENpZs zd`zJ9`<%cbZbk^>kTj;vAHPZ@04KBSKngB!4Mu5J_}G`cqQ&2Vz3qa=sTDEP=#0zo zJK`OKC#Ms9-j!njbfsiIJC{h{!2W$)KYl_(BhL5j_l=yI{XYO2C|ba4MStC^ZlgZ= zqOB)_oDnB)VD0lK)~iJ7recP26e`de2UI5D# z4;xBI?Q5-KC}l%xCVW787;RVbv)PGeSx)mL*5DjR#qigL&kHpQV=P|h&_ZFs-m5}l zZ^xQGY_+##WrI*Rp6lIc#o9R8fz00tSs$or%2v$9SD9ZR&9#N##n?DJu^vx!`;OGt zF|*T7|KVT?NRz1=G6YeL#^d3dTp0>(t9_9ex!=KR_PQcfIX?^Zu>%39r-AIt)I4LrCe{qEq}E!kHbDE5MV zWVTVP(UPixw+NBXAzkOwr48qq||e*o5**r74qhXIjtI%h5(eiNb_ez|1^Oe4|i zs2?V;p$bABgUcMAi(2_qgU+N%?r0HYOi3W#Sa{Nv{oc=6EIM@F$el~^+cHe@wf zJ&Jh=2yXmm>u8pR$xi$MJc?cK5+;3*9Ov$$urKZ|H!(t427 zhu=}Z4-QY*+xALD?l2%!kAMA(_~XQOMy`z zG;P&24AdWuq)T1bx{$Q#^h?v*zR>uAIpKNshGQxicph~G$dt0UkOHq|sqO^!t4>d6 z1RG=pzLN$~(I#mjrp!W{DtRbO=QRbg3P~c8uD234Fbz7puqm7jMQ*6oEoA%p6!L%m z0d)1IuK3%zus64QutbQtI8@3nx9?P$dzO}qyg|tI>37M)=;2b7v8V0$4{YZ4knU?< z%uGrS33*(1JTmfobyc1({gzc7dF(1*k8VkAeKy;F+_a3N)N{0$UUA%BtHq5TCtiN8yS9>#Ll5A)sx}Vs%@ZoUbm>!M8REOp|?EE)wg$`F60qvEt*WkBw04$*7)>}RwIJ0 zAUFf!!jUi1_5(fLgn(=PYY}(vwE+)Lm!V1<+uV>K%-7rXNW}9C)&d2xA&t{1%It<| zyNaXN@}O{vnuDu1g8HC&<3$($+?*9L)SbMK`@W219}QV@#}b(zus5cI#G1UX42cGZ z`zHivPCL;NR6t>4VbfU`8q?=a;T~|YF<5kt7)V&(zEmXQtWx4&(#PF|MY>F}DN7ly ze5s^x{HoE)tQdXZty9{3KdK^f*(fJjW#TAl03`A z4OSsKf+C!Y@|5ZI(!$+hBP^W9vBH>xt31;Ceinl|+D+Xyx7-rYI5ETX zjpD?I$VD9Hah5T))|7}t{8B4P_j^3djBv%1WnBT^n9wjfG!QXZ>ng`kJ&UtXf)%)S)5` z1hMN(v3;@7{S~z};(xuHomQWkwrkG+>(MZ}DYIPvf7uMC*9IERx(jctHqY_sl7BAw zkBQj-{=4`f8@MLx;otXWcFHmCN{;fVL8%-e6}7Xj*q-BHNfA8qUZf)Yv6$6u!-!Rf z&Z#@nccpoefbll(f%f77J69)F*qfalx(lnCkHw9&@ec@FH+LDwKWF$}ZM~rEj4$Iv zZHVZv==@lZs*Oq1&T7#!Aay388R=sdTV)**BM<_*8Kw+WQYontjHwVBgHkwpo(gv|d)n`9!&41p%`QQyi4hPEPVL4OXl&jm} zv6|8@NS$kJ@*jpIo*W2Q{sUmn6`n?!%q9S4x(=Gdq%i4iGK&M@dQ~43%AI_cn(20G zDg@ASb>VMv7T%oot~~MDWWzyD9|=Gy;O0H7dS}o}yqw|}LfLfWtwYM5^?v|4S8jf` z9mzAx+a=urQw^6v_UD~c52#YvtmE2uYmS%5R0*z2WJ+>Ok{_pZ^!6B}ST`+)Tfb*6 zkED;jKW`u)dx6`2OYc-tDzDsXUoq$Ez*ZEn9H(`KZ!_7bm7)ivWn+?stBa*=7jwg* z2WYiXu!lYxDsv?t3o0HBqAu>**|=McDhEV-@;~aO{}LNZ8!I#%!(A*_P2wc#$5^)-*ky>)J7Rr zy_O6WuBB0360X@8&+PVto&iFNpopFl3x_h z_#B%$>cp)u@wqHyZTPa9u&IA(lCL9UC8OU|waH7n;QLCy5ue67o9j~T-?3bl!Q^wB z%Wglpvblnc+xtqb;1ylhY z9%F?*+j~T~wi(-p4S)4y7fGD;5Vjz+>2BFWfnbgBHU?crm-M)Ka`L<*E%U1L6ta9<^tdOS(`;D8{kb3 zFd?;U$jXRl5u14vB+O=!=O2=C9(rWN1iP^JCu0F`)O8JlB1N9b*;w9n{sCwOl#tU{ zJ8l{zFAEYBJ?BZ_&JfP6r+NKd?~t4^tC~#VyHuhbZL3(^yp+_s_x-h?kD2^8;+@FR zL&QXRfjWmzX#y#>+6b|)cpMI%;C0-)cRAeBzzEpOquIEtz+M;F=tHyOpVGQu|6a1< z^=rK^xwdq}3`3B(U_&*;g{*H28I8nt4p?46@L&tl=hm#**zYJz5Vb zb}{X2?zGq}D>7>~!4&*qOqk2)Pg;R`Z)P^9H&ouJ|_| zD!+)IO_p055TorTlVm5Pk9fcmB2;UP(lq#2ZeX9Tn{AEGW7f~fH)kg>@7XIAS_#0v z7GSd)rhn7E@mDG*Hxhons6WH3UAkgh{R&A?6qEnzLY_9&pKkVCuoK1XJPg%(#9(QJ zk;GIq7AQM6zzc8V>!wwY6pyIMe_tD&{lK&Viv;2o9HJ;{)i3s(8zYSjg`u7V97~^( zm2;M(eqQ*peX`+jF!6n}Ujp_(w0M1Dmt)dENvB*Y?M+Vqg~% z*kuaM6m;&LEg5}v4L_-M=Xr5^C%1F}5&rQTGyW=Gq@A6?S%L;cfoSD}{8I#v%Nu>T z^f6C^0`?>e;si!}#BE|Hw8IZ$PrKWRWkP*TJ0}|(E=mqu0*rW0|{bir_7keYQKAq0WX~eytxsT+`}bRNUJup97ZB+B9 zTz3UaoqQ#dw$=*~jMHy++TPyUjR&``1dE?8v?z8}sBC`Mh)n#B`&^N&ShG#JKfBj!cxN-z zZ~ZHpCh91>dWQs=0X?uxOSy68YI+!gB5ge{DHXWKJz-C#upww5u6^EfBBTP*9KNNt zLH&`J(Rx<*rq>Qi{PJ{XyUqLYeGJI{`;L>y&*-WX!H3+i-(*eG_w!vfD$<|eCcj-y zLYdxmpY}+2=(bFJP4Fwq`q0Zf;zRoCrABfCU)1o8tdE`aR$-Ff$d2b!q*7C)cv$F?Gb(W@wK++|nA89KTgE3Q{|DHK_y zdajPXPC&JrQUm~rgD;?_R!bp^;e&_^HA|{CYL#s;2veI{$|86FM?p`|1RLb_w?z6{ zM060X{f2@5sa1!{vO|`S0XJ@z-s$pO=QAM&s;KUrtdcE6_rOy7CkOBSn$4Wu<*}oS z+-~dNx!+4&mjQ`z?fz@GiDvJNo|*65KGZID1oxbTb}u}68IH@1Y}>$0#bvgxFrLi? zM*y}VUc|BMoxrr41*xN6LEoQ6KByjxYm=_IKc<7A zthZ~?q4Bf<875H2E-=oi~Uw;hqJ3Uo#23+R#s6sNH531drn zV}TT8Mz`_l_U1cbbe94VkAP`PyvttfXz3@0nJD2hZ75E?~E293?v1c50eBpEU4SA zusWmXY+ogkDi+xx)0?%Y<2_Im0d>;v$DR4lv%#c z*3;%x%Pi+L*-<0$>o)DWN)wT2G;5caAH4ohHMQ^wa;EVg+ZtQ;n^;Geut=X>2h)av zA~;-KTPZe`4|>+DPp3J zQ59^!4o=1Q|9%vI9l_M$d8$&VFlXf_AQXMN-OP5gbVU9#NGno+A zPjd*ke(vfO3KV7rOn!srzT=%p5@>uwpILzRBf$;-Iv_^=4GS|j>TE4{rOUBEG1UOB zRbP)LVGB9auaX{^J7woq|7sNJOZUI?*#H%w{>5T=94IGJjD&>-|L5N`dQy((U;h9m zDVBKn@s%Fka_h2L$dNd7(||qa0vOM`OI9@>TtQTg070PDuNX=niU7)O-uO=7~G~S^o}qR*@k`vIJ`0kT?9sIOT4t)gsr*M^orjq9rA*|C6Fo zy0|T)SOfhd8HfWnWq~zTbkc}=m!OkI5)`Nz;axK~lz#j{yQ+lo-Coob{5@g>uW3Zv z=IbAm2~wYE+^ZBeVm(L z8BLDCNCglYLE7yFGd}dv8Ghr>Fpb%U%I4X-8x%v*Y!ZfqxP26;B{Y+jWyyt^=t7~0 zfDe8JmzOMd=Hw&wqAX2Ehw${$0=Dg2a$-gTj9~II*Z`G>OK11rAW11AGFa*n9(sJO zie*xud6(es*giwZ(|w+^er1(Rls%51K#8BTALSHbnR%l6Wa!`$CZPgDXRd+C`cIN8 z?B>pddnacbn_bu<=d;@9R3rNFpB#1W@q@##$S3gFr&P17)2Kvh4=&{y)XF+Th&Ho% zHhct?63UJ{XXI(6l~KhNF@Y(o&4!Lz0`!6T9@w_y4l9OD1{4(Bo$lOs+Fs0b=Si7T zE+lcrc`~#{dS0x5Q>LK|X&=PzTFTzoZ#<+U zz*ZWAoTCgP7*OW+5A1XWcM7jUrR%+AIrB~b{%2n+g$#4AYXLTfZ-iX@R_~WI@{kBInKZ zC1fszQ-swJS@e`y`;15Oh){36Frtx@YRTTozi9(#0SPQPHNxm%qV@9qTJLoyf_+-N zizt6W<3yBqlZs&7Az0%eXCmX5Ad1&B2Pt$mDcpne2MJN0c22a6ykAhiKh0DIA0BsOO_1_cyBo?9zp>RIR$}%(XlpDjbobHwxMf01 zVicK|CZAJge&%1*$h~$OdAzvE@rM92(RIX|QjVnd0DmK~Y6z6&EVTc`rcBQ^2!qu< z=07paRzEc3t*r37W;Z%o^<6T$P{ky5ZuhtCWxJ?gA|rR(S(so!4Nljm+0MNvFapI|8k;=A>jmeK_U~3#tl$Ejq7f|l*EF+c)=)5vutw``(*EnwdOATn zp_<_@$&xrk1Ig8m1={&}M*@?Wrr2vS}%+2FHiNqBr6{mdYKXnL1KNGJb8M1)2c2up!aHRZo_+ z44gj3yaqDt!g}o@GIb$$>j=Yrq@j6>W|+WkGTspiO8FDSTI+pG`#M)fx}r8@WB8=t zKt){wOrZSX55CLuiYz*9rxE;SjT_|3J5Y=%F zjZT(}qRSJrc>O^$(F|{h`fV1_vRfjFXw6uK>sD!L3^FcD|* zs0+iv$YC&(Ryj0QYPKGMn5;dSqLcwscmoe=+l0fo3gwAUUx68UciY(<+ALv62;4Xm z<=c5x-tYo&0}pIK0w4@aYjHF~OxzeX7mO+|DyLB^U8)Kd8QI)G5>`QLc~Qb@{3GxU z3u_;U1e3E3q)!Js3-dQA|K&$VlSkrbAoJddncbm@rOGXtjjc6X#u3ejgvi_!I14c9 zH|&CO3#%i?syl1>Eq<`&cULJDPXSPM1dz4h36}k0qK;0@<=MY?rYwPRwDRV(5&(Ot zwlP}6!%^AGm$s2)*JMybDI$ms6*km{${Ajy^D7kZW5~!e>Ox`>oQd~GvItCey{nN{ zUA$r^-u;jy3F9q2gVaKY7B5UV66-$UJ>Jog#_%V;hUfO}LsC~_Rk9{4*3t?A2} zSa&oq7>&ozjHs;pD{^oc%grEcqEBU{2MMdG4dzEMgnCpd*hLe3@5dCYQA%FFz6FQ1 zn^ogV&m0|nP$30g7BvW--7*9vphNOU!}b^Kk)l-7)v^-JvOyAv}%IyT@S*W*HCodZq};`Lqp3?4}q0N7yP=H z!{V<`N~S@67LceHrLH2NSP^CzjfBje)(vlr0}=VjFp)w-r9}JQ)aKdOq30+3z1i*c zABZHVg)F*Ugt;58nFql%m0@(n@JGBQs4Wmj=^)J(xOPkzet zxGE9t(R^afBa-qh^-QZpu1%l0_Qs{$L`XgTH57&1UNLti(Dr#fm%g_eOl%{@jpDVP zt<}{~;BC@OxTNa)6nE>$LCvdT>ecR%kE(}NU+PFq3hE5p3t*KHoAiLT;#*>6prc*- zuB{Fbf6t?sbNFAW337w16N)dJHe4V~Acmx@*?aQbR)r>9EiwhkAII5+4mf5`uM+||+Bai$u_cO?r!WzuABgrxZ zZZZzVu3)-rEfc@GqP_k-OeImtPr+++ZtL6bUF@V%bFY_3{-?^-K*x779sk3LvACw9I|^e_w_TOfNN-br zyt2!~jt3K9S(l#N)1xg|HJyGpaVu}YRh>-viO$uFXV(vts$0tPg?a_2XyNY# zI^O*xx3Vbi2?M4&Yi%qkB@mlZrShKI?)r5T;7T(`g_6x|pr0c-x4pd(M&g&pH`!uf zz6HkjNKrOIog@U^IJQOL+A0?fXqYMAI)IX)lviI{PJ z%}GRU4N|+xj|}&Y?u}L_z_mxrc_wzB{qTSZx{ug-n^66wDjZK(IJ_opd`(DcGYTrm zsc&KVnk&0l)U@DOk-i!rj{Zf(hJwbHGdP`2mQJX@+j@d=DRZr}7;)>Cv)Y!QBz|U5 zWqURnkE-DF=dy^7ZWopQI za~K$-bHmj6&OX@ti6&5w*7_Le{7j-BRpwE-4F%DQiQZ>&9ePsUS6rh`7?V$4@b(V+ zq@y$>vO3+_7Ix1l9Vkq=WzGFa7c)KM>ne7b_C@(oU@b_|+ANQ}bf1eMGvb=0zT$a@ ze{c-a4Rr3{y`g=XyU$&=H;%n2M%j5RDQu$@*)o%IviZ?5U7p{olabNW<7}|DHZV4d z(bg+izd#*Iv$>{}+FB$J z>TN?4>qKAWf31bMcMt!PMS|hDPfo&FHZ*QOtfd5~-|w84XUJkGzRIcJS^NXo8p-Pt zV>V5vO(@L#(O__Fa`Rf+828B4?TKCQDr|FYug%0syd*lO|(9)aj~sPNOB4IVf9NL zqt%EKWfZJqNW-IQS z+N@^cCl-HBg8f$zIa}q0AM&=H39jMp+*|}4zA|Xpir)}u{)6xI+sord#PS$Zsr3Qd z2-e3@$p)0fh8$dn*?ZycyY$wWSdI4JNH|%0tb89?c3z)kw0Pz<8LA0l zmSi9Wm}k4qaK0S7KrQz3w(fd|bkZOo#(PrnYK^B&yNg9B5?!apWy6j4u@-r5N29)L z!Lc~`;3iUb04<*wXpPK0F~EVtA`HE$b0zO$NRV_^qZ)>}LCh=?9T-=e9FPo$LB{7s zopQyN-nqrp*f}FoV=F z5Veaaz7-08oI*NHnfF6>8PRBm&@i#in?1KxbUe0yZ`!Y?9&q3GaVc6oJ-i2v)_wi~ z#~BwFc$47N>jraCJ<^dWyU(BCVkEvZHL)YCB|p{u_m_IjDr66ICB;`Cgm)Rkm`66= zmG{I`YebVoBQLUzXjQhP=`mh&F-o5@foKi=RYi%%ga@+GG<@^Q>9TwG6l!J-bOnf5 z)mD~N60q5ecvug^{iMiNM69#qi>l9Y;ZE|>$+j0cPePvNS?_RO5dNT;;(iz&7HHwQ%f>@!5i6nm+_k< zy|IIF&b@W9dR>t{2dkKK{O}`HC^qOr6;({}OI#beefcE-Xy$4S-_y$5x0|1a*jSc) zvTp8rDpN5d-^&V$KCqgX{y4bBHW=O8XKG#RmZ6ZtcJe?d)a(wO2ss!f_wvN6sx0eu zI<&@KuwQPy%spOsyp6aGTtB+uP{lQm>px}^bT!ameKH``#Z{>$XCV<$rmZ+ErG0si z^*N1r6lk;`Ur$FK^kQ{sS01e+wZgOopnzyZzNKNLP+^IcIo65r0Y4jU9o${I0WO zb0WgC{F;iIR5Kh-Yf|YNvwgi=+V|znqp_;!DPrwT%Bfw~;jP@E+aWv5iH%pb+Y4R& z_r%sZ)Xs;f>^H{=n(JbT?ZI0yfj;MaFDuZlzf^P^iG23W74UQRi9E!phn%+ka>cwOlv?mUp?uD#j%b33kYD*CxlbDM1Z78~p7DY%u2 zPTBR^5F&GSZ*+0`GF0sV5uW<#np>Ca)KH$-3jNM3&TvX7+q)b3iuq^MM@|-M2$I|1-wNI=9Tf5-$4 z1vgzHkfK5ITup1LpG#SP!WED=_YrinH&m%-c19@2Oi!)01Ev@qi^NB&9oHrwqJUc( z{;ko-HQo(;B&k0LAMw)RcUvon=s)U7)Rl6{olcEAGXETXA={QoOiB zDN@|s-QC?O1ovRY-KDtGo9~=6_irYXnPet=-nExJl*wTlagQ5ISo398<;{tMEd(^k zPGYku8}WxcxAot@>W>?$aiOe>FT}(_edjg(M{Mu0jwk1WIxQm zV7$6T_uXNx;F?tVZrge^B`1VkJqhtBxY5&+*WWQ#5Hed-4VPcTE=ChVMV+!Yt>fok z*lQOqxJuhF4k|4L(X8J-*;778I>Pl;-^NQvT;nXDq5Dz-OlmXw>L(E^qbL=*?PcEk1nys<{Oz?|Ppe1dh%hBRk( zNi5NU>>Hws&L3C!oZ+I?PPHZ=ilg-he1KyE?R-bFE-RR?APGl3&MyE;5QPGtffFfx zno8jW7cjpa<0(K8+9Mdm2-eb#~6DAPXqdfpD@eMHHIw4s2!lD{?PJ^reucVvLAD!_wu5mi5 zi_9t9>o42X%NBfQtSo~&<#PLYtytMFPAfEtKi59Pm@G9hdZuy^0CMl;$0t{On@A7q z$g@(HjpE2p-Ym}jM?H;xJB6{=bLEe;u!`MhkWqOx{IobrVb;WGQ^Jd2Iezy-t- zWc)^*C^teF(D(H-=xealH*#OL4_hEtyn{Um3CocK8+#yr-HsgJa5@Yi&}Thufiv2O z7G1H2VY?nr>1vMeJIhmsUjzWhUl~Oy|AZ=vNkIOw#&ne< zkY1G?h-g<^+WT}D&jN4(ij4y2PhXoB7ic57{=R~-NZIL;;VupRsq$u{Y_Z2NU#W#qIg0QwkVKU(tV3i%GJ{(E zHOB4Lkl^DqcCf@oZi7xsR7t-$nn@sXrlwht1Xk>yj%89V!lt3cdWiV;dH7oT8+b_% z$+VVj#)UN~czPcBgC=p!3F0TK$TtCey5!i_M}_@nuzaUz$&gC*wRPiLumOIx#xu1Cqb zv7x~+@leiT^AfR9sX28`gstv?BUOq_R;(!o?){}fD}t~oxdqUue3GC{V7Z!O?ULt8TX z97p?D-q(@k=ljyeSMc)l7yiZM&#@|y3tcCh2bZP}k~Gq3A8Qv=4`N}W0^7p)V6mga zX?6Ft?9O^kX(++1xx=_(uZn ziAd#4R!Rmx_OFJIX16DtJ?7&VKi>Fj?v$5l3H(CsG~cNTmt5%taBxI2p-eZ`Azquh zI*KjPBZV?;X=W#*+!YK~X{W`+(1%_t9`b>d49S7g`DRPA?EzQr)jD}E8J*pbF*<~; z>(FTBz1{9-KU0EdT=uHsrNOrm{OZGl_`>6wxqJK-^C$&`x=CMz?&2yCT{u~~#UWAA z5r+(a|Cd4*12ba1XyMFX9$Bl+4g<6L+lE~7GmW=dl{L2BDckckZgzV2wx_49snbq; z+HHG7+<6})(G;cXqhYGy08F_Iat;wXjZ;RQ0uQ9)(d}K!kO^fx$?1(q(TcWUfE6Ji2B-w17YuAUL60$`BIHBytctMXvAUri7 zWKIJ_aUX$)AiZvVYDbdvP($p4$kb;Ph1imzi@$zxACK5ez*ppCwIhp&J3%YFQc+@a zj`E|3H(65_sQDS}eWZccr#!U_rU&#LVlb^j1F0M*O8Ox+s3bqxUXzFUpzQd(!^xMa?tN$6O+#k2UojE+N z{+}du4W*w}R$2+-gg~N2qoKIH_u1R?f+%f)v$V76-5SKVxX0X<|J9}D<>X{jn_r6b zF`h@XCf*E5p$*3r=Km^=ZvRyrg*32et~b>gx8L|mT!%5JqI=ImZF^|rGtM6{c@G4H zSD095`?#H;615gzV`Qk1WO7z2OB(m&SPok$>9Y;a72!WX!}*%q*CLGVQDsHyWKRAZ zqu85@&d9fT-Z+n$ylI$=V!5d2Z&d!p>3^q7uhp10RSQV?!4z++FQo54-#fYs7F~`O z=;BQ6z4G8(X~2H_<}%^;-muuZ7d{Nvn~N-c!>czHoCOVHBe8nSkSOu)uOm~W=_)Da z^%Ht1r4{MSs6VHz8hAarN0g0F`w>W!j;P%uO*{`C9MAB0K81MHlJpEfLh^w1L|qp3~=QCF!5)Nkc$rVZ%7{>YJ)5c?VfI z%wb!-vvNbqm0oH zv|YXrg+(c=C_0Yc+ovsCv`!qkxX)g-^I)wlUY94U_W{#=IZ)G#B>tbdWph|N#&z$BSjHaA2(b4Uzz$2W#JQwBKP*@9Gy!iu{{W=x5HU}5 zM*7+BL-D6IvdK9snOYE@)O7sRt4*DCY4gJR`__Ai{?u=_Vt9U%vOiRqK_E@1ohaID zEu>ndi&cnm&`Gh()&kFM9DQ?Ui^V6;!LPsPM2^~E9V-|oRJ)n85s{h?_GvoYhCc;l z{1{-&GOzDy$)95RI{W7_iq9i`f@6DhLLDOlC|Tc09K&woUOR9?*oH~wg(O@zXl$dg zBUztiG`omefaJ;%EU5P?Ws_AbKI`D*oS-wze!pta8x*6T8V8bt?`8($a<*-?B_DFjse@N^d@)TnD1dXepv`aBr&`IG}OVDV^nsoe)B*$5YOT!D{CCr)< zaW|t%O>(6Hs&h#~a7APfjLv7i4={Vs<}Jy@55PlEM+P(qI)8V5pFjtE^2gvZ{3DHf zb(=D->%C@E^w{BaKkqXqg4x+H|JjB|PpV`s>s_|#G%&5)x2rbT36wVVbGeyQw`iQ@ zM!ynyh~rMg`;MSz{#DE>wZ+Mg9l~wMy(2yJpg)TKN)hT}I(F*S4yRbQKu8wsW)ik@$^~7i7#*)OsA;ESz-fwt{Ob2uVuOI}xL| zP+Q`von+$>b!%J94hP(?o#e!(z|SyOss7zfdaPUGj~BV&hmJtG8VSKs1sl^i4IA|5 z$s!h6dmRJBvlWF{6~1~~f&(LJca`lLDyezsc8}u1!Oz&H+wwd42M$mgaNMfclR*0c zrfAsC+J2Zh)~hc!IU2mIHY$Z0p^&QCiRr<{&sKu8I1ANPXk}O&@i!gxj~}cti3)j`ri{V75r3;z=gYK8kF031H;1R zo`MQoGLtfu52bRdJ1o(|ap!jB?V<5g0JvOsN@wwG3XL7+=*itK??_pwre{AIMB^OT zm8xo2aA}=ycZ9z#9|_s_Kk12{L37CtknRlz~B}TMw(0|=*2o|adu%W z^6LU|I1!RKtP)(9*kUp$kvV#T9wb&N$0ypBStoO$8U{udC8&tS-&t_0-tFRFShhk> z6Lb}-^62`I!KlWfU0mnUyvBtpJLH5we z-X}9zR;jzdHRNGxabRF6G6*xpj=hLXYpdH2t^Y9t_({OZqNm|IT7Q&lm>>_ptD}7e zdy%)6UzWOKY#)QH0f8r&IyOZ*(3sK*TK~u%Pv8w0@j1zXqiWb-r4Q#F2r#Bas~;;d z@);0&(tRH15Mv6)z%I42OO%=*T!~yq(#tETp(-p1MT!~OWR0n)qWlGa_E3P)p^d9` zj^cjz%dUBy`vPf{wb0)cj`Np}N>tf zcvx58W?yhPWI_LN!2`8P=yRj|ug*{|u&Cq*?ZbHZ+L{d1?LHr#V>=8>Wfsl8Uo)B? zL=#-bR~5r80r-DX+QEH*uC+gLZ3+IL81j^G{A6Us5!nv-b}E#(kq3@&rBPSJ5Ya*r z#sg`E$WeZ&MrM*MsG`8l`M%N5TMR1E0hRa?v@tcc z^L&nVqQhu?>KNNiQT1HqhWKCJ3qOgT|%D$Yh zGwc*xKZI^bXQEq*boVDXYqJ`%D> zg}4UMFou}PeVG23d3Oh##khWd1a91(EZcA2wi~&1o1z`$;~t&sQuU2i+s`?VSCT8j zF1c3wrgY7I!hc0_v<(OzUC9NK5{EuG((-OxVcSM(-cTbze(P7dBCFa6Ye=ey?& z?*C=&HQaKxai8McbEufT^^kw?a_(ZjIh~0+ZnOK$Hl)`4bJr z>#FF^&UeM{)tJ6LDj`4qBeO@(lOHth{`t}{ zJsGRV40;oSCau%SvcKb^b^i~g0cl<&B(Xks7gu;BBQ{}VfpUx&>VN(;8Ve%XBYpU< zZ&^q>_3~ffb~W}o^F+;e{(lm;=1?^IQB&A0Dy4zfb1x0g)a;_vg-B34bfaC_fvMa* z;XgKey{+s(<+Zv+44H0>3YVu@6Ev}D^~d@LO5Wa{);+@RP{;%-DFE@n|JhGcZZ>H# z$XG3XQ%zJX1n7y86QL_qDx$U-HXNNzHC3fKymz+agJ0>Rl$*NxdUC?H{H}HHM0Z{k z`50R~K>5S#8H`>v>#)Iyc(K8s{Z8&nbauk_!d%^IIcfctDAOR=D)0jDJvwOcg@5|d zfMI_f)UpI#miah#0Y1kQ^Y&EXzzG-+d^w?$;>Z8I)02%mX`&bW-P!qYNzy|e->@KM zWU&oP52H%pwH>m4xzO`ku93u@sO zZntCXO=$}*js{B!J3a!+dL~UIzA_E!H6&7ev@n}3G0qCh$RozAUaa8X?=Sos zng(2Mx@g5=XQZ>Uv90HY>CWhgxUZYUS{xYGz|YEhB_I?ux3uDzeR?ItvMoOv8mY)Z zHGUg>OaB7iZv;&{po6C3Fcn}C)&PWN_Y1wsT$yhZQX{#mc9Wog!yG747^va&}t;=y&t@ttqN<`nF}hA`8Fu zmN?X{88ZI7ZOPLFUwANO#O%9dlR2qeOMO&N(v}!#{^n*s^(u9dt!{B?>&MP>0lA@4Zmgfv-9F7wY;Jyy zm-V0`+pKL0s*@2m*+r&Y4rEeb8&gRQzoJpv^e8(&ehOag@JX0228l6qD0MCXy?cNo z1FU|iotwz#yt#=TMf>nA4d|mSW=@mS(Z5fQ9l_GCrxJ~+d`$odAAAY==Aa0>I} za%xAKJ67GaI+O0r-FZ8IUY|SpZsv|1p>M5utZCH1Jp3ynkY7LSNj8D(s z1G?BH<$%_~M*7jcZYM#6=QYJGVL{B_YrK5qm}EWot*AZ&?oGwkQYJ!PC#M@$#NWuB z*1^7(J3M@Ptmkzsdo(nr;7JPD-i3UUn8KA_8g2t8X;HDx^Xc>IlBmGYxaMtXYtsj< zUM%LRH8<6jVAl1;$#*g$qiZa47F+Qc!Qu<5KdS5coa8sEhVv)v%H^XTywO~PU0X9K z+|fkr)$n;_&*d$D z1%19nEwDQG#J+k&P+r&O{_0pHA$cv~BJqa6?AnlA->83XbBY|qEQ{zAtptmyzYex_ z!9+*|ieZx-Pj>TfHa>MJ=Xb;XDowcV=(O(>;L^Pvq zy(?0k)rNE$(e5}qS(zG~Q6^7Xc~eRl4f2AfxgJ!ZDrOekQAb%k*A`cSvKyx0e`GY4WgncwR^ewv$aBRV+faLgx3B1J&t;Ew4l#KWb9Wq_av3C`OliMjD+&{9q!e=V1()(lZ4Zwzr2tN!P z8EQu+oG`LJj5Wk!9R}k?SDFS3U?djSrmKlaWYJdH$7st#p!|ioqYb@BmYnx|M%BC& z?amlfphzt@cuK9jbCQsbM&G68@2{2;=bI$-kP#f*QKB#l+zOYJ#g{q(<}WG%6FNRS zX?0IJf6K#QSXG4nUn;w~$SBu%(L`4RRs6l4j4Fa^KeH+zknuz&Kd}^cktAsUm@>Ge4^(PXJY{##9g`B=nzNql`LF%t5F?+@8N_h-iZ7PBKtu3ZgS(l_>90_jg!^ zDi&cojFhVyPr&3umL95tW!%Sfm;oTD#8V?5#4wMr;_VM71NX@hkT{5o2s}{%ejrgN zgbxI0^i{;bA8yb%4HE}#=LP>&lBLlc#!9!@f&o#$`p0l!%cEwfjt}Fi<_;j_%~Z2@ zSZ$==!T4+LLPD|Rs1&}nV?<_tx(ef~xSB4EML{dk!Ric?515ppi0}8&)T*GjiZbfk zO-MjO_D2q9h%2_W;Z&m5x?f8c3=)hh)4)W8iD8miP|cB_leTBs*x46nr*^&?OhB^1 znQ2y+#EvAiuU1Kbfs4`MlM6N))2dLXk9J-Si83f2QH4=L@@CLuaw4$^D2mg&(8_~n zr4E!2RT&G=NX>IdS!+ttwtQw3ML?<1$*NG%#>)81urFyvco@!i_sN8@9Z%WOePhl0 zePYRVeY%C4DVjikj+Mlz^aQ^KI4eUkc61Qk*Kn}7pFL{oqu~5GZc9=|$$hUBQTCH= zuaCSt@0slHGb41Lhtfn{PRMy{`;WR;`|rlL?l&Qj?_Q00y6IIlc0tCv4j?o5m5tRa zgFkGy@~uO{4gD9i?CHPxDw~P^9Po4rq!}5@RiAplMLlRa90^Vrz4jE-+vZh^Cw%V8Pg$oC6FpSIhS3*nYnOzjkX}WzDZLPH@Amd{=n6;`g$ip9FQS#FW z*YvdW5R7_TgJD}*f@I105R?E-fOMdyvZ5Ty6*gZCTvqZlA}bYkdY%XhEW|2Anm{D0 zwVp%t^F0j!d5RGV<{VQclvtaoVLd zq53iF!+7&EvlYpTMgdn*S%vAAu#ywZu^>Wj4un1f0srTQM<}AG!Yg{~S3F|f4DJbe z|Ni***Yl>X)HF%U#@6Pw{IGAXJRQ=p6j9i-JACmuDurZJ{OjWxdKtazsdcx)+NmFT z)V-Lr$qVT0kNu)@soZo7Sl#Sg#4==ZLz?pp2@5@#G9Oa;&6-giw>(3EOyy)|#VK~s zpl{)#{*5wyM-PJ%My?IpN<}O=??JwGrGxKwh4lkkC*+Q0y2b{dS2dJJAXC0u$}2C2 zXJk=^gxLWe5g?6a14Vks4ZzcHMVI`iAML*bT{Wq9bDm zJJJOqj%6|ovJSi8`u`P8y-?9KY6R^l@-7`O$T&xpNibrHeM%=?v8syl5V)*Lh1zTO zB4gy(p7SfNPujjIRemN9npXd5CaCnvE~J9eA^z7`a|2B8_mpS>ZgWsCN=gt>3WNX8 zSv&aNx+a>NcJ^Xb6$;qksw&@;Y-ZcZJ`P0D{pNB<&K@fO`Ue2V-hX_Da=U*TL%H3g zaQMvDCubGc@wX%2SYt(uODh6OHoMeBEdBw`a)Y^A-0+t^XuZ_!S}$+Q0%KXGKf8~d zr(R)^ZA>TKtB+GfJ8;j7bf2R$O6lzMB2?H!Rz!oDq~v^HF*+2RNk3nSh-1w4oCqrJ z@h5VfrlUNB0RjEaM+G?m=VVSKj@!diLH_45Z6|#Pt1Klk(4JfjC@1SGKNz8APO@k% zm3<0vKQW0-nqK(Xvx6D6da_6+-F*vIU|IY8cSbWfl_?0i6#q7aKu6~^jWe6g%CbPp z#8F*D$~`x9rb2l-P|K*TaAO`_;Tp}FX4>~MB^$$sA~lv3R&$Vf!SWyE;n77YLh8P1 zLT^cjwE+(pNj*9@t?lY#jazRi%u(1EZ9MvN24xRAJd$K<3f~hYk1pB;1drW2sh@md zk~JD4luIB@yPn?>o~pq$60#`k{@nrs#dJCGeJ$J;t3t)}1U>tdBkG1Wl^f-dMWm?- z4nZ;Bo_%a8Cr3lSn4t=(uW~^w#Vxe8%zPaMkD zR=1|Hcr5qEiCMy*d{(jkE~niBMipmwx!bkj7;fZ~iFxq(gul^LoL(sgXkVU@F?pIW z`R9eRn8ToFu#ztZT%;jiAL;4Xd6r?|q6p2!XB*ZW_pAr)X6h28Uk;Aey2 z_$Ru(gGUy>18v_oQCz|!zZ;w`@3Q9~ z{9v)?TTp`-#*E$h>OMy}ICuM&Dq&FP{uy4_xWmng_U-O(h4RgP()Q3&HntP=*TnDO zQgqDG;$y5PFqwpz&`VH2;~~(?tQ%mn^v467oiyo1m_4F>HQki8%X-E*JY@?J6txcx z5`$PPI2dc?`Y4_l{H~F{7P+r3A9S{Nc*BN?<2?(;-F6MlXK21yJJK!ZG=^vvH1n@1 zQ(lVAHv3Li>Ky6&DRnH|`O29h#N?V0rR;cpoKW%5#Z|l%x}c1*Vs!$raH-qJgH!dQ zE@brst2QC^4qhz9Z|#04@2+-{s-8S|ExY0M9I|<<#Kkp*KB(&?MvuaQF4k^bajDL^ z$PF%7>#AA;>T(samG?8NLg4v&9?ZDKIwe(BS+u0RKJhCF z?WV>e|A1I7Ou}bIfr*k(A%m=0F6Y&dW{^FqrT8~xD7k}ph-2e1Zs6@8d=KB_ePYyLgLX(}4j_ z0HM1{)<;RHBmTJZR71iV#;$Hk0Bi`AlLpZbj%{Z4UNpGfZ&~b+t$3XHEcY=9j&+yjQBisN8;O1CjNkVZp(Ljwz7ZT%+b zWy5o(U5PTF1|7xQ*UgT9Dlmw*ZaObjz*n3%%fBsplIG*fP--h{fLg5CN4OV`TYp#Y zCQ#Uyz8^!#X5Inw@}#jU`Bw-`l|^h%;0bEa*=b}XY$=%uVq6Bs`MX_-NH0NMX|94~sS*g_X|n0NO+kymIE3$ z)PjY4ktP5u1;%%RaC+^QbQw1%I}F~GOL*>nB^Ka_6bxU0@tBP!VuS#!G5s6%oOj%F zFpHSFRxP={g+bqi?YK%-KJ3Iy+bs=VI@N}uRqADVa811#HH(=!K3u5lFBd)^AgC#Z z)Xi?=`h@G09DRP#^&y3JrW7}mGK6%eE6-)A`QMS2R|D&rY8BXt;xd(nLA59%xsH$I$?Io1y8Y+T@{!7ENjIoYDQRtfdMY_k^S$Toj(KMGhCj+U9dO~kbdFB5Z%u>VXb~; z;Mz0V?n|8bEUrZ33{q_^fBT^XQ%D5LTRyI4r``KWA(H^m%{!*U8G zRclnJtVr40$!E#H<9*quhKVSf=G08zCypZEQRV}zIjQD++Z{&HCQgz=GwrD3!1yap zkV;Lx9gYg-XKaZuM~Q!lW;Ia9P7B-;)##VQqi~&TOB#a^)-*MAMWY{r@{S3!!kqJq zZB4&apAlL@@QNPDh_zvZa!?0%Wp>og=S?$}z+lpd8%FHe3wI&hXxvUSgAN~oei=9} zLRSov?ZKG>b9=JD4d_lzH_z}m`KP;e0>y}F?R6g)Ps0m&2-n(5@K9#wh3h%bj*Pj_ z0Cfzw2j>S57YHC1*X(-EhO$=BL#Ou~y^>8WLQ~pq&tQ;{i?b3+tr4;HLu+65lQ`=n z*d07fQV-_Nuq>0MTvN-+Qx&S0 z$ss=h&#(#b4~Ns#_yA7O`oN<`xQH-#0g^MQQJAarizT!SCzGgVfVY#OfttO zqVCt6wMHxbkjbTc0&Iozk50?KZ%S+zbqI&I~}2Lq6e zQ1Vacn!ago%7MQUwHwJR^B__b%MO~xBQMDf`UJ@kA6!?Y#;B$qo8--4CfH_eDv}ZU zN=ScvaCV~~tICmlupL;DbP}G{q)hJcXN5ZixFvncM-S!NVjp0QU-+GmjtPD8+IO&0 zzhF=a@>7Ff2kZdrK5zR!t*6!`NOBqzm~8BhWaXJc0~gm3@5q-^>n@(`mePB#S^oiov*x5(I@bs5U;QM3=|J2?T1R&*e_$G} z>g=-9q*^8YXP1weWP>jH;P2J{R7ZDD$o5l z@}ho2WGj8|+cWmXV^O^9eFA|X)!GEgy|ecl@%#T+@J%JM4&TrZQBEyyapxXG@tG{9 z@aRu5{a0K(`0(XONkr-+5hrZq8k*uh9QQLhNCzjzJF%HuzbcZHU7ZbKHf8i z%FLUipJUc1Rjqu9#jtbvmp}LH9>}D;dqx%+%5bDa%Jfu`gZ~`;5zRg0TPPWkw@+Ey zpzCp%t?|-Qjw`v+m!y_LvUk$Z-M_`Y@H+#Tg>=9~h<{$h>TUEz@<+X#!Snna0hG0R zvfIqSPjL)@(LVp~*$l@LiPeM^;bCWI)q&OX^6;5pxpi?N_uVMpFVG)!(raWko=Y`GrVpvdl zI^ro;<@wEjJ8l3j>`ryOY^JzPV;Db~FiJpr0Jm@<-qo@`qA)eB)B@y=H# z8$zzBwMbQULX3jhJG->18r6t5^qxRa8gMckO?AXvR$Lm3b@@Wi4#9xKBg;-^Wx-XK&QMNLCc3PBN=J%tQ{Q8;(S4n8~(YuNTS{QMAf&6Fak-Gw6N z@YZ<0z$uuUCT!q6Hg&bW+}q+e0Nvo8#-)J=RTzoBe zU7B1?xCNUS2V<>igvuc%=e!+JmGfKHr_sYAYa0Jjyax-=L(^&2Z3_jN{uvedbc@S1 z*Xj&vvQ9}=cOVjjK+dQIG{Kz`6H-EY`sRfM>1!3hI_yu^qk5|JxDcD=kLdNuB1w7AnUKa<(k zO$+;PjjXi0?aWE!J><$zc=wx@u)~vaz2I0gO?ATS@vN2iBOvD1qfXKdm6{G`y8%-M z&*7k=+?`SWxTj~gl+0;IQbN~;;8QZc_t9f&VUSPHoCwl}$@&P_+hkW)+F~&}?W&Rg zX{U9=$l`Th1mp*89b{> zNQ3x7W9%allLAm`1D8vU^&PQaHnOBpwaIgia(z^bOM^hB*YwDESg{iT56#EGOVw*s z0Z^oj+y5a^abNA>`oaG4BM&dLfbsYn@`H!cUcx_sTDMcI{A^X$ySDL3V{3ZK47^~K zI&;khdySJ^&nD@pW50X0qM-drjis;>`(@Y@qyJJaH_E*y z%--BSO1w0rHxrNtKrq#Ipj}C$t2R4tVtTY2$Mcw3$^R9L-)oPK!kH7cG z{LFizgvpe@D2;o4W(s=eJi zZ5X~Y=~M5P*{LJub0<{G>2}IVI5;Ae_QX~gn;BGB2VE6vbmwD)UI3);=Pl}8NQY~m zbv$=&6lA9wEH;hOgm~5DxA_Zzn|k~kJhKTer5^1GM|a~tQ22{htQ7;vtfnqDer+e( z$eTTDoS%uNv{+$T7{m9B5k{GAs;`*y9+5 zo(?SfiWojS9H4WX7qpwHBQ(^kZGNjHR~RFAIBQ_O;m_F+6aj(^8J9oVM$^Kl^UfHe^>8T`t3af58 zhtLjAQ;7p=!l$fG4jjTzurwHkttVniR)-2Fd$u6OzXg`54J3Y8aFuQ8+@mqY8} zJwLN@jd|rmH6#fbY3}dmZ$wH4#eZ!#{9R%Uicu41j4{zv7Ne(kbquJck^Jcv;%-KL7r_l#rGjjhfn0xQ+Gbz!gYddVERM|9vKjoca(gjErPF z32u?Wss%1^bwuWzXz)g&EUveZOD5Z3La^|UymTD~#OrfoiA_E1(PVd@^&7G@-!K$j zn1QZ9hPMz=h~m=BQ85;oc7G+1*(ziQD-ZcnCf_pC1&Uh~yb(Gb7Uh>+^>lgo7um>$atntf$zUZJ<> z*})VN-&0nWohl_fxgn6KY4R^Flf6h5^d7Z(gqoS!bwqA|D4u2AQ0?`-3Sb~ef4|kI ze!w#k+u_Y*&uvI?E!Hw8$TBb-*}9MaV0&Q$Lrcg?5p>Qpu5opn{-1CSLqv$fsIkwQ z{isRCF|sLsf1!f;7`DJDd)`MsPAq61tHKiM;tVB8tu3W-ReJiXr5k*j=RfqH?Bpfq z$+joH7WrX4jQ#U?-#dg!)_Gsms8nT*Ko=?25r`Op!dNC$bU2<1V9cRn>|wIlhgqxk z(v&7Mhj9{ZGnI}q_jBA@AC&r}AZs8+1KN5mZwtKwUtMS@J+O~zfMICkf4d8z7+E?4?w_NRdXcQ{mG z$8@_|Yq^6R(cYcMYntnqGy-ON&54o?*2w}lxO63!SQE~>C#6AU z%yrm7#-+m56vKUrpnk?Fp`l{;bU_4>lTdC%Nb?)3Ss0%Q^f}*`NaO0m>#!)#1&Q>J z^Ay$uIG{*_m%Mz2GDbv}l`xlkD7wv*#>@Q>tp8FdCr2rUk#R#Tw&|5=mpbXIvNFaF zA2OrFH?w$HUW5ZeM_ii_^~li-*8yM*=}!8cD-E_2GHt^8Zdaf5owp_iqf6cqm6KPL zhsprMMUH__*N93^))-Ezq}Fj=iL79VezuS-2oxtFw*vs-YV9!SZD`V?@$$Q5@yTGI zW=j9KW5k4=`+LEV+`^$;iW#S~l zYE7VJyGVIYjM5*3ghQV3!;II>5e3?@5TDSoISelrJUjL96bWU*;lZ3Qjgym7*A6VN z(Y}>yBQ&coGha8mZK>81*{jX!|7IA-ib0fp-|<=+3hz^HkVlW2rU>bXUR1{(c+^G= zjtLKi26qk#Kun@^*(aW^i?lIlc^h6)kmCtU?17mxe}hqq?O-O2i3*jxNjDSVg_d)U zkzo0R5+AD_R}D8q5__LC>KzN?$;N|XR|n*>swC!Q?tW~?RzFj}EO!$4R}nRx+IeUT zI&81@s_GVlj*>m@tlqL_k*%&2%{gaG|GG6Jg4Jo^K;O026k)fxN>p0E@F}1!+DJ&4 zfc%i(buxNDdhOX3IYAVgXa(77pDm`7-|h={+-pz%57*n<>PfQ8O%up>$O>K*%-&d9l~-wpG>@CvVU!l0@SL;D`V<)nORWgs|0$kqo+tk5 zVjjiBmpK6$6L;a}DK2e0AB(o=h^3lz_3$#PJ}%h>&DHztTvseVJl8R#vo$@9x=p3c z$b!%QW`|fgM)$GVS=b5Aj=B80{Nmu&6Ap6exyN>z(rRLrDUeco{p9$^b0-ML%G)RH z*zR(rjY>Xkdom6l@pEA5ABo`aUj;rFn^9)iVISwEW#j%5G}@B;73$u`u4-UU^~hAFBfE_;kw92Cfu5kaXanycO}OR3I=4(>2d$dhgjY_^=cbTM5ZLtu(vyaHlb$H&x+R)@8eM!93%X+Qmq1XXf=Sd5&}U9!qtUV3}OBOnk@%aS9GEM!0P|{fzRf3x2Gna zWB;>PLp~t8ym=Kt{;gK^T9@SZH7S&N%pdBXmx;mW3PA2+hu0%ynxVyU(EVx^+;O@cQ-7P_bySux)dyt0U9vTVI(73zi^!M+*tIlm#_1&uV zt}*8r&#-mt{7-?8E^-?U?7_Xgn>bOn2*^(@q3CE$B$U5t_G>XTf$axu?^_9dt z*EzI=x449-Z=d-K&F`j$UY-9A+e~DdqnCx@bfDtq#*XBtJSmJWDO>mzR<=Ywb)^uW zV@2PDY6+DNI*u*}nBtm6Nctx_vB7?-GD}6fo=ebT>NEZ!_A6QzLD@79YB!oTYe(OtOx>4dgdB5B`>RZ4oz5%rEx*;1W>)}T@LhsCe=3|`w~Cy*y! zYHTlug6K@>^#^CUUyj9R>4n}j>n`sXfU>Hcr@ncFp!@w@0ua9elWXF4mLp#CzQ4`$ zQ6GmN3H4|AI$u|ca)cVYhLX{dVaeD?ITIfz##7%KeoN$0G?XjYiZF6cDZ|QQ4kb<% zo;uGHKtEbTG3Evk$QgkC)`@NzpoqMV0Zioc|J#O!rx3~zj*dv75y{~Jh$O)Uer}f5 z?n~S>s65R}?5Iu^smu!ePj}xHV$gKm3cN~d&3zh;XO3i7H9|Qvm5fM|(0&yqNUq_m zYC(fnZCr`ewPKkt-Ps=za~Tg!m8dE&!z!t;3aRs{*Zpj#PmI|1@_tusE@V}Bz|a2D zp5P(zdC6t-m$*m+4W9=_B!NJpk%GmkdW+OMXDG)b{cN8V@HAOg8 zX&MX#18-)xZC!}|H2itW`CDZ{K07|~5Ha!4{1m4}B8#^|WYp^s8@Fgz=P!r;4=Rn+ z{x&+|95+# zxLTm#iOQ!3=hXl|l0Y8%Y%9QZ49^c6oq4wPpb~pvMsyHqShi2OiILqJt1I&WZ&|WP zsLa6a@uKD^e02R0FYeA z3jDMj0h7zFQ~Q3%AExxhN+{;1lZ!F+g@(fVfD^CJ9{E;-5r=3X1@o$R&dP?e^#bb; z{I?P60@G*FIzPAC*$SuOgZ8JCp-F}ro*YF|J6u{Y>eO9o5)2~Amrpr|fgO_xw`zxyH}`p_e9Po6GCm1M##;|IHL=|ar$lhtS~uoq($7!;#Q*J&Fg z&>27Qw=cP#y?HB1v2zQxFwJGz8E_*=rxuOBne`BJ_t0GtbAj@mYwNS9pa0x^-{4$< zE|@3Iiy1PPcW%Te1O_3NC=HxDpR=Fu^)`2R_O;~~Uu^Llg*>b!(pb1`wz6rorFTyBhA;#+x}Ru$TV~eYTRdBzk9<2Dxc!^c9m~Wn-8@y|L|lyJ-nq5ZdnN%4Rvykb!Z_p8<%ml$k79az_y3^E z^J?y`rY^Ue8CtZu@mIDoD;y7;wg1VR4Tx5uakA{g9i`E z!Y|2Nv#!JP3gE5%o(4E8+k~GiDJ?HQ+KD6y`$JzT% zqzfZHaWtPed+@q^T*CF#DEfqdxKN%q*U<@UU)C)~C0bawFva3e0?|aub^5YI*V){7 zky!1~8}p988F|RW4fHhwooenDEOG9OjTX7;EjZ(o68YL^mR;`M;_N7*TIQ$p8dDxB zdn(zf-K?I^+D=&jwlA=MkyV<05vhnsYR^dL8k#;JZIuG^EV{aW7C(2>L#xRDUc<37 z#1auWbEF3<&qF$XC1|K*k!jqmVxmbnj*5S+ihCbCKw8r`G-DajvO&1(jC5?ua9t&y zYW9*{TLvu4Jg5HQ(?ZHm1%e<7sP|IidDUoQX;xTVdA?;Mg@&10_j(<8L*BAyV|gMd zxe;FQX!uA1Z((#6{`_#Af}F^o!UYD5yk~W!`~Q$E(>gOwAi}|N5(y}qn_`u?>tBgj z-|f!{Wb1psSce5a$ExEs(1F_p7VsBhJ)Cjx9y0b+bbEAFvqV=pS}7_8$Ap=?=TK<+ zrQh)6qE_b+Bf>&IF;Iw-Ynx!_8{Hwa8nQCdLEY^m2v`76@+5S_lTYV{>A*g!9JFju zVX{$Helei6y!n6&L>S4iLVTnU+v_FUlY2x`)}dW5$FB`yK@iZ)k5dj5IZAd_5-Sl8 z3c|lQr}PGm9)gcol=$Lpu)I{!V8c+b!b&DXqFJS8Ro$98^M*nG%)&X4&efKy8cdvB zn52TLiv0E|{!8gqG85$NqjOPBW$ooVORcP{?vVs>v4wfx>{yX?)rPnZ;owmVF6bia zCu{mx^bYz;d7yj5m;s=mhdh^j!vbyQS)4Bp4jjtjGQSrU2?TcHfn-NXZ-qznx^|ck zZ2e}=-B45BYO=II61q#Lgn({8an8-(+nT{RUCb3u4B_}+l2=PTF#bX5Y?_n$*26I- z#|vV430SH~V=)kPw9 zJgXWfRMMWrY$cxDg~YievIw#Mg>`6YkHpX(hUsGT*IQDnP@Z=RE0N!t5$I5u@k*m^ zQl1^t%x+&NVEj=+LdxA(+$0`Cc)1*kG~Zi^0NV5h;|yGc)&KCh&bB+D052;Ct1{j&v1h@L#G6izGE==Ao2zB1&^tx9Y+cTOA zvvFN51X?k#z&eX?R>y)`?S!9c4F(j2urZ&DFtaWanhV9VU<@P89sb90P8#O_RkA z`!trzXv5cuFb|L(%y_Q)HS-peg#oXH9<4Q&wJ(d?+?R=q{ND1O@@xrKNh)B5Z7 zo}KVV5vrz3AQo_46mWq$0K37!Re=i0ed6`yh=(?6MYK0>UtGTutJqL7HO90HMFC%d zH7eH9PG^$N=B0t!%{Z?HIc6LFQ8yWl&2O-lR{u;`4&yANp9Wom)Y5=79s$qX5&4W+or=f)0CQ1QbePtHCz*Juob`Ls@IZO{5 zY;JxfMS%-;v4DkSvbo065z2?M1H+jMY*$J1fe;o!0Xd!k!8j%g`zMA}sV-ZcFAVVF zWo@7&4Qyo$1eTTuwXTP`-6el}Ax(bk+Z@1@Xhf(~55F7V;$PV;>#!n7?Z>K3THrKq zoJG?my?sQ&X=1c@QhWbvhU1CdGeOP4;Pgq((h=md=&O4H=w}O#*PTve7pcuM@Dpwu z%ySknLl4RcwD>0NQ!UHHuJ_Qf7GP9)R0mf}mnLK-3C_Xkw;rh|;4QpV{4&-===DNj z_~fVEz;gWkw5G8E>$j*2ZeAw=c$0KcyKA*mroGzXrGNO7!@I_bVs-Lr>U}ClV#)OO&>4Zw2S`wwGZ+z+#JwNw@}Li7M@00+XFH~9MV2L zrrW0cOoP(Zu9{2}&2AR+)ud2>vW}X~Cpb_fnix}+c+XGf;dPUsFMKYI>{9?pqevC5 zHj;A@+N-@+(wr28*^1b>R8s^`5cyaoHe&;5DPe6HBoMWQa9igZ@*pa>H1a=e>ppf> z5Guo?*f`^llz!PsOXs8m;*r}2E$V`T9!T&}^brDY{ZROS>{dR|Tk*;0%aN1N_u7Fe z9kG^FwWq_VAax^)S_o4HV+KZq@zmo>4fr^W?@t5YX0tyXj2FXm;TH#(azU0A=p3_ z7diCCXp{Wirb%ZV7gkYK-qDi9qPzdgEM6nm^flhNu9*6l*2^-B;zud5Ya)NQvuP_C z2H8xpLu%l+@~wr%iqf&xRh@VkZ3P_Wnebbmpq?Lptysp3Go&^943i8R4EL=vjdXeZ z#5jCtdK9*=-ZyP{0}{JzR_!bN35}`&;Ljdjn#+9?!p5cW z%lv*~sRM52$t@`;st_A*)vG3V$S6mm??EeLw&(;M8Ifr>*u99*Zw=3~kHv54PLWUf zamVg}x48$srR&M*fXYY+R&q|7EPP?Yo$gwf&CiV-CILQrhc*5Q?MF?X#Obh5l^20@ z`dn_a%zNH3#k^(b@);#+>t~PYWKk5eX+Y8s?M(HXSM}H&=|Ekw<;-PwkV(Rq-OMT- z#O%YcpM706*RUXkacwlmEK^-7-J7^T9t4$;omaw2_|x$cGPRMLV!?#zBPUYZ^Q!c| z+|q8~0IBFb{WfdicLjJxjiT~+Hu0h>x;(^2p*R-KRXzrjdS6d6!iuzZR9ZWCgm4iV zrc)IpyI8DKJP6E~OwzQHJCdV1+EJ}ONf?rXf`fa5Q75OmgdYj(S+-hPQ{YEtnK%6e z!BD=sMMyoE)?5iJ(QAiPj0O^}3V*>t2E*a)rg)}sBgAYPNYKTN;1sT+8)m|eFQ(3dCUR~{jlpjhOfiV4td)c0y1M^ii1I0~4ZDKGv9HS2kF=0%Cz%Q-)Vea=di5~@>f%tPfak}$ zd7{+J4`&>w$PF7zxyF?QAcJL(Es>^vVu)eeFQBmMQKa`?H`Shr!ovEYAYg?}!n=Xk zpK7)MXzcjxFwn<$u6){g9}q3e&2w}K>R5Sp2M5Ln+yUz(Ty-Tm8_M&Ib0Eb^c?MgC zKQM8(ARQbW?#2$%MJsyU{13j>ViyW2_XKdsEjmJi-zI4T6ivwDF)e^Q;SCNU4mmQW zs}Z$f6Q{p9Q`}Ni*eygf-ZcIkzpxj)f=A?+&e}GJ#y8V5^ncV5=rm7xwR6+US zuC%^&Y;13NFjA6(qHK>$rt&>JM8a~>328AHqSX^bIPZ8F@rHkBwha6Jd@3eVFS57m zOtk1u=lBO@z4r@KPFgY@rtE|*)?k?$O4iSfRQC5@{5d-j-K;LSQ+(!Cq;|uc$>x7h zU$=6~Nb++F-ALC#!Dw-|qC4Pl&+ox7#`$dvxypq4%PRc%#*2Hg0fs!76pJ{dA>ZA* z6CgQ@5D@sZ_D#0!gjFlkk9wT-va%a(VRKZRm6?=LU@x!HAzp7W@3&j1yF zqAv%w+FmJ9wWq*0e5}{}lcKw%(l2m=tN^5bRZkVo9S)pERvtsejh z(WJajegoA3Ma>-e42of7Q59s)VK;ipRQm_j*@?*;96Ks2#Z%`xtUh}Pmn5#`CBhH^ zzsmlGw>e3)mL~@M3BcE$evQnz@sco;D(;rxzK~&JQrO}t{Du_kuAW8t=`Fzdl zgk)$}s5VTnEA`}fWt42yG2GU~O*Es#O{koJS+p_ocqOq&V6q}V_C&u5ai9N(;|D}4 z`|b{&Nc~2Pl2OpY8#ODy^PT_hqcrmms%p|?z#lePCkzSx{dh<%Q4Dp z6Mp^X;~;cTIYvTEuVil7=yrQUh3_=ywJWb#QOL0PR=4qsrT*nO_ULo#ph(rt37C{z zz~H%Y04+R|URU3gGhkrtC-6YuE`;f zzd;OV`RS|4AJx(z{Uf_Nb#0fw+y|RIeY(PtI{n@G9cPZ%QzUx&Uk$-gbxux$Uae6K zzsK9$c(pe+HR=jJDI512cN?@gEj4@5NnrF>81`nMZUh>-2IS0|XQd_aQ=p)00|-+& zpH>f2C3_7Nw@k)JjPh5@PHmMQ(U+Vm2Ck?OGsn_9uBR>H6__NH@eZ~|ZDo7{_1#PU z)Sl6Ha$?hFbJJPIt5|n8M#vNkHqST&Bi6?2tlngQw!I~4$O*?wU6f-1hT$+#SaC_Q zj-sK9hhK=Uh{njB9qGd>`zwxIHKWqrwmKK+z`ixQ-{D5Yd*c11qplZ%f1CC%Y&w1R zqMxZ>dbIjaLh+a%+!_yK2Q2^<2x_qJ{iEsFjrcjAA+I#!>$l~>d-@NJht>qEb~7TL zTW?VEu}aRNKIg|_cD!qh0WeP&Ilks7i5fV)1$Tiw~Cn^ zlT#nWJ7QQtvLKbl&hk9a9>faWzthW~&&toZY|r{(euu|5a?o}O2z&SI1G<=eB? zS7WX7$IBl}NPy`?j?crb&E0lXQ|;dN?>uB>DU%n`NoFCH*L8Lul6&2+i;wJeOV8UT zQ?3V1*Iq0i^<$wy!)QHu%}h=!gOB46E0(LB&Iik#7^T!cpI^$x-C&V_p~_)5>1{MY z!MV1_!A9Wc9GrGqjkzliq^4G{p4|J07%5Mx1pMuFKViw&)X3Vx@ZIxsbc729n{A8u zg?y>0P+lH!ci$WP9MS4#L-o3$hN<~2=+sAM$A&yA<%Rky9#)*|?JdT<(qsq(U>- zMI9Q=d&9+nkpv!rZwXwIHeVkoUMY!px2UKdQze5-rIn&1EALQVpRZFz3Fq&%kkkM3 z@%99B-`)nNb*>#YSm!?CK zk#3^Ckr!nV?ExW0Ftez6#&)RH}M{oHsxGob-wu z4%3S5ht0x+He&l9jdmFWWCX##-XEfC47#54pBu=-U3!gvJGlY+2HyJ9D$@@e_afDa z+bF+}i86+<9iM8KD%b5A_!cj>kI>P!3v=+2SV!be(`C9Lt}+?Jbc$0oR^T<1C>X@K zG3BTkNGrGDJoZ-EB(~CuBZILlnX~WMDNRrmoYpmj_E=hb9bG)#O(~)zMsn#+;7G#s zQ&i#tEP$73VPj&PrJDM-O?N)@;e!UMwS9JaOU*a)=hUyAUNJgX>tswcd}t>8+XB0_O!?gjK@x@Pk}=n<78lO z)Aj_wj80;NN-Udc#!!%3#N&r79Q<9CYHOau*cQV8#@e0wkYao_Y`!DcYQbUx^teA8 z6`GX;kws8i{V2OSKi12$_aVo?o!rXG+cnB++XwF*yHHt^_V=7=7Ic#`fg*L$n7$2%jCK15Fxii&e|3M%LMaaLM|zIL{Z;Ob z)+5_{$a>cIMQe`YhzQJeTH%+eI`B)XSw%2F#0mUn~1f=0&Lm>dM*e% zm*tEERGiaT>H?LuCE@(>zvLh8v%K1e_o-q-qQsV+zq}pqHSzq3H-DK#^GCm5^4sf> z!3ovP7+)h(f&bI3D$XlF>T79SH~XzTSZPC5-PVn*eTp6bM6>Ew!ArtMK-AqD_fVpd zElC+&s=XlwDsE{i^cZXi>biEW(tEKm{ zHXq}LY{xiu=i4+0Ia(fJ3vDpNWhSnM*8QmQUi@cRP`I=1J>$4&X#_&s5LmZL4-a!+ zDSsu3|Lr+tr9rpg*;4U#=&_)&qx3?LXeWQ~FD2vnf@28S*Hh$@|Ghb)Yi|>q z;+Ya;QLh>lRXz+n5ZGc-YLX9#Bm0|k;x{|+eM)cS zIX8xPSIY#=0$y6Tg}I-%oB&SHKBqNPO(AQ(>J(ObGI}Zz?ya3!q16x+dY5-aE@&mu zR2jvN6$-O+maGX?Nv2Ej8$EFpLonpoW2oV)`wmK6N@h&SwN^6l!fwxjwkL5M{i4G; zP?rWP0RzJ#QGSHk%B^k&dwG&s5qp(P%pO)_pAgv335gv96-AQ&B zl5A+z2-tB~)H{`i-Ooy$76#>!!#wPplRBk`pmb!$FOb5CkO7VHy5kSo>94VTg6JE8 z;urc!Zfu{^C@2{*m}NE8LAF6Nsznwnj~J~iN)Oz*dJ$Ym5?{Ds)lw$uk}K4*C}=V8 z4I7mAnydpdFQ)dwN~u-0^vfE+J!!@QmE4Ce+?$9PrZUJYT2HA!tGCgOr~Gg1hx*?~ z9`i-(-9!(6iHpiYlYrJVqebSwfBSMXO5`0YK%bdv(2eM>!$__mLw9#eB8Cd&-|5ST z5*pWKsdsidG&l9@R=9eW0v0q&=7tP?Oex7dUF;%`hJJOXpMl# z!YBfkzBn|>wWya1apNc&N!8w-ydjbr!ng2=Wst-*ENM;9w?;*IB%u{B=)?~~OY zgw;ha(cuP@0s|v%g^rAe3+d7R1xcg`1a^PO-7*{-g}1Pm*JWBuvti6vve$0T=0h=- z=pwnjjWlS|{?>By)Az&8VP^Yvk>XXPyGofb*F z(rAC`t__m0q)1zpJA?!C^YRXf)yz?In!BMVu-dh3VmLSY4WjR29=|lsRLO{FyLFgX zPYt}y!r@+(3R)ys*t4zrozZ<5I*2KSv8 z&dP}C-Q7dh4^9fVBS@D#wmiD+OHYBMEP^6E84v#Gt#>os%{&#hz1GVH23091XI*0I z%NM~1UR&>To^uQ*KhfgLN#jiptIZhY-Ra=Hm z0pIYgn|eJViLO^+0|(T>8h%2q~!fFQn zfv}hhAE)M?>}zR}j1pZ`J%;aYTRnfXvhqdTvdt3Af1&2AVIj|UH|#YKQ)uXCUGt^7 ztq(-Xe&F1{Dqf0s?<-r@B?FDYtQh;O7e|>YC_4v_Ix}!fD{Pf#!UOvK#J2%Bsq;Yk8yQRFO;?f?Dg z9$dCZf`#TLxFe7wS*bCzzO8)8dSLcx;OMNQVWtCqZDY-QGoH{zd?;^xRX&G}*G>}w z;0U-C?kPI>Q7^g?n~1dWei-`RAMwu4ykfr#+I3NA?dBh$m}zXv45}6>zUiK9;xPkf zT*kr<@b{+{0f9~_%;*;fZv8bV*Yw;<@Y&*oWGxa?$qAK ztAm!i2H^fdMUeXMYm!d+IiJ5)zBSTgZOf5F$ThQcM_v{S{~tQzt3|J;>8ujFAe$d1Gkx9rWn^OSGnf=YGT8#DetbLH<0y|jsF zdy_GN*B_x7HvF2mvOkLCRt9fv))YmO7xz_i#+HrM2cg$9Yia{aj~0BX9=bkU<}?OE zN9WCaKf71{z7U15u2_`4Fm;j*E)Fdm{#aRlojvu^0HPet=)e4+MUCy@;-7YWY1QC=NJZ^-0hdXV z^C4BEFOBO(`;Um)3@gn`4s5b-{fq;<3UZH;pAMc=w-j#K(CuikNA7IV!qEgmMa4?O zWsP7ex?(7PO-z}Vw|J(#wbkp=91V(h@HYhU5fy}F*PMVdq0SAxlgP9lPu}};0jNOFW>mv8hCGtWt5yba$WQDoWU9VG%{jj zNsJEdADlgLH|>kU$eM_cCi(QhYxj+fYaz^-mK__=DVGYN=OI*EvO{; zh&NG5bQ3ae6(v|SYiXbGL?5w(bjUeb;^=SoBXdf-&i} z)XqI|zu13OY3eLs0$DD|lU@B@9bmF>P2q0}mdd8ZZ-DpJX zlm3bRhAF1q##`>&2-x|8hk%Kxq)Jgz3B4c(Xn=-fA|gDCYtUl}TdU9SYa_H!v91Fj zVka}r&0=Gvm4As)^2o4iNS{;j*Y7#&7uK>A(&$_dUec^HTh_ z1^BjPeQ`nkJ(xSQLcJrrnKK?~C%T7@-y~!!leo1s5{wEYj!i(@IC=bmfB>FAyvkEO*`nQH>D9kUR<8hXtZKl+Z4{d7%IsigaM zvVJdvZLQ@mi&B;^U-I5)Et~OYQt&>GQb#4^7FoP^t|welC5cDe&ss953niODa3|$% zo9yA;QRNGbIpv{Dn)j9mUjXfG4WDK0f0z@0ZUh-S$csazqqD;c{UL*TgtUT7D)Ri& zzZ2ilzhI@tq)02G4Y-A|v451Hvx;Hf9TAbyB84&iF3Y%sV!8|#mHqt6sO2C2^plO5 zliGva0>@S>de6cTQx0A$j*x7L4i7=1fpI=upPLzj77JO4QITqLcOG{S%P&Mpf|yJ) zP(iXUM960HR+tSb_6(1-N-LiCIS%TpaohBK)e2`LEA!vn5V)VmU#Vg&Cyjnhw2R7M zt{W?@epLG<7eR;eiSHntjOR24!m?x%s6z1z)t_&WY(&Qb%Wj(7n`Kb+vkEqu1^Ecw z-M=*xr^2%tBG|AM{FWJWL`;C*`+*bwEy4QD>URVk(-v4SGxiw+0jDLZ`K7 z5=V!*2$LbZ7@BDsv!gZxZN|-Ys?LeKBn{A+2rm)A(~cX(_}dthdqOD`Hc`(|a=wbi zaGH?KSvA1W4a4j+T|$9zh(>WO9-!9bSEz8dE3rT%|CdM)vH;s_&h*K;TmtkFPGk=k zc)&v>(;VmRD+iu$XCg?fEtQ8?luMR(t}|u*+|~7Jk}64ph zO&zZ4PqaEyPEL*jE<&qM@8Jow@6`4jbrdMsDe!ZuVmBx%t|nM#%nA?)3aOKbBS(HK zFJ*DfaKLsdXoMWvtudyM>faw4->F|1;2l8VU1|9`K>VZ>vd+)&oLFny6sE9|%=Dq3 z##9W<*h88tgw>TX)*l^`P>xXu0$7z?wK-Zf3|NHr>~5-9P$-N_OZW${JZHsP7~GQ2 z06J(lDzH3gdqjx$>mL8xP}|mq1 z0X~8Hz3>XXvg9Y;dbkudG~3mNC}yVte4TA0_M&4W_Q_oG;_`Lpxlw{6pA3E8P0sCO z1BzLqdojL8L%7h@<5#Ou>5eln$fr6hO!f%B-a)0lTvT%>;j-7?5p zj?@NY{y3*<5Y?8%K_G|5%2URmCI^BkEA5Ny z31;cqhY!z(EP2eo28cm@E@vhru$!f*g!fA21q z;UoF8ukZ(((oDXWk9 zarAm6`e0RB=B>iVB7V3IV&;<^Ito?7ckxy%+&>fMrSCl`uK7f^48Tjg%&+O|=e_B5nns!-$aS z?qH=qZ4sEoSqU=A_N_~={l$zWR*Ue51mCC&@_m<~3ksdYvj(!YsAG?xnPDQdkRWTC z+@M>%4{Ejlpp_8P|JB`jr2(c&2Vz`x2f^+>l8{J@$Cz9i|xV z)i+3468$D{;avm(?Dy1>5zYrI@!4E=5<%M9AlmPL_!aG2I{oJVD&GFXuXNqs2P!z_ zm&eljQ2sKke9ad7b&;c?3PD(EZ=sH7Te|A_V(38rOy2PS7Bv9Vr{!1LpAgq$UHSf3 zF9^bN{Xr{xX65_BoIT!(!F%M7wA6_schyrub?>GmL{s&X@*10Y5VLs;Ui%v+#6}Wk z5Q~>OLG0u8=Og+_gHMbA-lI3q&`Ah;LYVMoULmpUX7g6S3ym+R!|eP?lRFvh+k>d6 z7O_1XHy#An2%AjtcVZ5s*O>;?& z!UH=Mr26)I(QE#o$$*CfLTM9? zoygp4Y#=pkt#x0KDF))0TM*huEfRb&O{LON!cp|EqFm3WRu(i$Bbv_*|3Qf&;4#8k zyPlsO9Tf@jaZIhR&)a?50mcww05RE;Dkv~K!>A9H*1Ueu4+EV`eQd+O3skxW-`x)F z9U1mJl~gkBPn~b~I(?Akm?(#*miu+q0ZVxm6_usK(oKk8SW*hh>T$$xBm=|jR{|CL zqvzYFF94{~^8S=7C!c3%XV9C2eow_lw{^$BY&?COX1fz|WSdb7^d@5$Aa#l`a4F8Z%_nV;$;*4oaMCix9C+MrCFwneD z26iQpLU0~v03&bxOHu3R9EFI#(D5qL5{{V#qM+?iFanYr!-h0#MU_k!0Yze2cHZo+ z$U372A&n-LztG7az@kgLeR*q{6EPdf;)LOCFe3`}(eB2t#`vCmVSQct&{6Nc^;9Wr zw(wzSW`hX5pJS5C=@ka7EQ&OW9X#w63uHn1dv@d@@PXMnld=%Dzj~ScP%Rn@eBnlPx6(qG5c;kScAd&9L^P z;dK>vgT+$!n9)qE;5Ce)<53KoB|aDt2|;n!mmq?TGKqPyw3DvDN5!#}lK|oeFv63n zDO3}ihI|p2H#6L%-lKJD(w<&ouyg!Zpihd5#=ZXWt4qnD1Y)eKh5;BM_#artab=q>zs@! zMT^!E*JkHTtUilez*D_qr<&+^R;sUyESUTU%gWbuNe@mqcC=qb>X!oZNbEIiYNcs3 zZFevNJFdq?6B|Ed;%0{NQdcr{;ftsTiOZNDd$3`yPrer6UDFCJjZ{XZeoX#3h!m_j z%vL^IQ>XM8qVotyBlC^3Z%G>P2~0-+IJ!4e%Qr>c6nHQdD^nXqZ-dRdqACbhyR*qx z2rW{oBRV`env0ZHDA9(`jVNM8QAJC-PeH_M;2`w63lBr;_ zGTQ?Sw0ALzF7CjP@CLx@v|uKF>yJfLSeK;6;bBSVcHMWI+R%&-H_AE2mu`#@&QX+U z+nu)X2$+0<;II^w@j25^%;!M_gB1$m=_y}*d-w?|82B=#H+zsO_M%SSI}2b!d@QIw zkrw~%7VX-}eo{$l5QSZlsWshH_v2R0uP584r9fhY9Xg&C;eGq#3eRjR%UWV%0;T4G zh)*s>c~)Jm?mL5eRfcmxe!bXjG4!9PLHr9RE)K=yHqsl~iw6~h51Z}lC`RX_bGi`m zu-TK5eh`#?EkK&c$=_Phy3|O7m+Mqp8u1TGVCy9=9&sdLmYXy$c!EW_Uj*Wa$W?27 zo!jilH)3Fh7+eDFU*qFpX7{gDFJuM#$eF@^mkodTIl3@`a+TghoDSnX0rc&E^K&15 zE&hY@-@N5d(LI|%&`~XSj1|PYk)L9{wj-N$2p3)kHeVeRj=kQ@H9N{=dl*rK_tcQd?#NyGP1<_<4QK z#ObP5u`x@M(4%*o?3V9jXwMVQyfDh`_0~vV%XR8_{r1yjH^iCDzv-SHgIeHc$_e${ z{^5`*R`DdVH?-=nu%rgxc{m>~L#3$zZ)K5|37QDT?7bP0#^GcDslH{vHYgqLY^kP1aY%)r@Ut2 z$BQ?Is>FD+Gx%+4#L8?5dQN%;xUxMf3KnS_Fk%kSd9H&-H+IW>kL#3`O%T;G5W2pr z*OzVs$h%&cz0N}>S8;!DXA##)#M}3qAIXaUcuPZmn$Xi#9Ga(3 zsWy)F@ksC+rXV6smMd+7wm=s7%zD1W6YsL6OW~^_6p2yk#c<5QTg0`xtJas_TT>>t zZYO~w^L{#@e^C1W3)9FClIudAFyl@<9!V zKWZs&EY58Ra}UFzM+=G{%w@c$s}BT*e(2dUWObH>dW@753joMbfR}EkIWi#@bmq4P z%V(aovUAjyXk7zc3ENB%WY!}WLH|xyupBY0GTb3Oe6Hu`R$`NWQjW`6dFBJ1BmeA! z#9dm`v+<1+gFTab@Lp6jsgp3JL;IPvdEk_iM;x#);;hhf4-nKttm_S6Yj@b|y`Eb+ zdhw$CdhnsYV5iYt8_4@Uhr~A1KM+>G+ZBOS8j4if8M@8!$225a!UawV>CbKq)kLv{ zEEE)MNe@$vx~0DrJzgmZV|m6%Uf=B7H$RJmwdLc7On|@hx7gATooBd}yx0qZv@90kB#;o@b=2u4Uliu2Q6h?lH;O$oM z#i4Mi(Grg`*FnZiODH+X)UeOO=*_9OJ>jC@nt%N?x=4whs#pIiLOZ-`;|YCLA=#p8 z>2dV!tkv|zt*9)RT?RXyu}hod*spW(6=mrJ1`YEY=$SdEv~bh~;PUMRa7JdYjZ?)q zUH0hj57}XrY7|vB62*o3LpD?>sZoegSK2=eg^?zfYvJ`mWikFgp3cH6s`mZ*Lw87n zfFRv1-O@F5cY`!YNlSN!bPgy8NS7ep-Q5h`4Zg?c`&;iHz^qxb&f&i9eeJzJAxom~ zHNIo$7G9PNz(8MMOvwPdIjEywxng)~0J$BuZhBvccWBf;8kvLdM+5#~f^+tNNN zyWc%J-^{PYM`S{CfEInfS)c=QAA&2&>r|VMzCC^TFGv%XuXsIFfIyJf3*>gQ#xGQv ze_ff+MPrJp_;EnzIxkYmLK6p=z^?@V)j@)vXnf+62IlvUu8DxH2|GkmP~Z^TDS1EO zHp+bxxRTr|elWfO0NN=cw58K!Lmd{;T0$?HdJ8@XKp({uQY)%MPSKCpl>juif23;e z;=Ex$#qZ%|d!-A`;9aLD%B8c&Vyk7p9+Zd2j_H3iNY}J%zd5n&oODCG*+ZQD!C$nhA^?e;X>BeKIj_Q5S+0Y<#%O0 zIzQQ9{z6>o70=*(a=XTB?K3)W^i99iFl%oOWAOKMXV{)|sYrWG7F?dgeKh*1`g}w5 zoy%0f8Cv3v{)?H6>h-Mgb?`6fO~r1AAc^HYy}Ju(F&nG^V|z)fL=&BqQn5Go%i=Rn z;{)KkLy$I`Hz}Hv*yJOhz56_sy~l8LeNsZi^F5Gi`q3s7sirqn|CleBK>;_vMKJ9( zf#vw@3nw12nQ!kWUve3yAd%Oeu|R0WjBpV-k@X9aOTGXWv5&LL@PAGw?PBZr-?Q?4 z1Hx4ld*Q`uY0?r4dlZ2#WI|l(5|O)^pX6wR&+cQW@rV-p>s;i~M3T#a;`ayn}I=#Xw;V{WbYi|8vpS<=rQhVGR}U-RI7~AWUIP zdym)g`t?onW5!GiZ(*snMbqGiJB6M2JD~zXqI*v*HPj|)+U*TupUeuUsJf8db z*&}GVYI2X-Jlw+pXKx@!BwTo@2GJ}!O!xbupQ4(S^cZD$Jz(=5c3>sG{wq!cNl`dn z5s}P5n7sfT!pacri@;8z%dPavC9S^X|tE^|>ar@KS2Z zi)Mlrb4z%K?gtAKta#!evscZSDN*nr{d9CvND45`keSV#Vt+8k{Jeo?Wy0tN-UxL* z;9)eVQgA?GgVeNme>qMgHq4F@q0*p0U75kG!2G7bSHygnv5S!&CHlE3$^&%ylR5;G zBA?#ohbs&Cr$;GY7yRwZqS=>#ITo6#o}Im5pvL7$ZJ>;F@_mhjP8*goGVTgPy8AS& zZ!uSvcm$~F^Vf0GiEH(K)7q(@suTKjijSEl@hLc$D2fjf=o~1MdM6dXnu{8Wr`CMm z+zUSwAFlbVaO>A3=!(q=Y(bCrY~Y`R5Lp$yK!~*8)GHc+XeOsshyCdFO57h$e8)QX zcU#G?hAm|&Z>^MiZSHSaMCe~%j$_z+fXzJl?WLP(F8mfpg?n4yT7?0QMq+ZZcag#v z>#Na@hSjA|@i$4wZ>0iMBm@Q{q;SrsL+9GnZ}eAeai?4537}INOWh=cr2NhZ1K8$) z42zSxrEZQiY6xHS(4t7AAW%LN0!Xe+zko)>T6QPqc)=SK@r<$WiCIoKbZ(T|cpC7a zHW(Ex4~@)RMXN0JktXtNFN>VIP&G4AvN2b9Wckf*P#!yjJc~pQRddAN#{(F@rZ+iE zUSHSQm7iAHiIQ^AQpL9aOzeC4C{X4ml&u>A6)#9nt2*;AQ%gKZssI9T zVYOss0Nt`;m?70T&q(o1)DJ`N(y92gduf^JX7&v%ItSQPRmHI59@H$UBpD zckzi6$%%2=yyT@#%^h8`n>dY*aPF->oFZGhCx>b5n^_xrdx^2~$j5Za#QT$M=46X3 zds6iMX&x50p|=x7OrI@ki{4V#%@BuFmMEsi;>7F5v|$+{83sF#T76~RM<6Ff-jHFq z#e1K6olI5=n~8te<$Pc;N?)JPzOfl(Fh6@%0M;sfXcngq6gVf(uZPXyc>lOkFprJ6 zztL2&kxNPBQc-%r(DF(%!$rej2x@D*t~uy`Gr6c5G(q2vh!#!=KsKaM+&eA4;sf*j z#YYVyFoY2Yik5IiixMQ(E^ecNkLs3OfE&c9(uf*}VytC6trmRo_5zg>=!0YQIYi7y z3x~LDAbMYGz?sr&4l}EVL_lFQu^RI0A#e;%BVxiB+iCRLvGT!nBg}&lG>{D}iI6DM zFcAQRDbD%2B}B|zgd37gK7pts#4q8mhi|H$G*~0)5!tPJ5+#-aVR2={G&(heBN0+` zBG9+dB{zHsXlny{KpU3?(8p@0^(^Ljd2V(DlqZ+9f=Hi61Dw|e5xcPW4FH9(UqiOGX-}o zz=`1oX)oVe8bN-c4WhRh{=hGWqB)x>Bva2$r`gDd5`wI`Z~ko}dSp#iJtFu0n*HIn z58}u?BOTL{LfpFwjX*mMQrn$=GAhLxo}>G^RocZnPqi&cv@i6!k7_H5D$Ll`dv~Tw z&ZRL1>*y|)X$7v=Gc1gQFB~f#aXkxJMia5=ZfV9x<7Nu}dw!#3>}OqN(ifv|`2-~I z;t$D|*6n5-wzKbEWQr#bPN3R&9Zbu29)6a;iVrDUV!vgp(oir(+GVUyMaWgYNeAG= z^={jmYxFBV5swEe`z9>k61%*2;L`CW&x-iXc%Jg!nMyu{@10aF#VK*gaTuK<@!oz} zqv^=PR5NmYGs>l%S-qi*FtCEDuoQ|F1|U*R`{v#F7L3R$1lLODZ%7lpf2p~{B%i@L*{F$03pKUBi5N9xUGEqqCzmvC0N@`$KNt|g7db7F;qPy{#P6x zBaPUL3^YlOVspeGlwF1tJX6k8$8=~^obDN^)+S1W8WM3R+EqD79&qBSOeeeQRTXfK zHWDs}|2wVa@PBKCAHQ$D2Ye3Lv?#lncUQ??vfX?4gi-XGMuE1fNb7B`GHQIqbo$e~ zXbcBfDww}2`u*5ihq&nlph7P)KVO?7`}%D_hEgQ7f)s9|NhWSjy+m zl024N!)-BY;7j|7zgRtbM5T&XfUM}Q|ALM*Dri)5*>1vHN>mvG6&QOdz*@Z9{kwdq zsc>E*h3qQ0z?;cMvgagw|HTe_?DO@r9d_~ev$EdNrwZ)xkJsD(de2?{Q5AAiTar=HZ$r$O+4*d_3TXqft+28kM>&>4S+xz`2nBqm% zfULQ|KTlA)=#JdsX-nADf0BDgZg37Dxtsq>M%Z`o=>O*m8lSz*618v+$0OQ&umuKP zz4QyZ>A(W6Z{-j5_$O1+knZ@QM_u38Y=HK_PhM&;*@TUx-S8bqPMv8$LV{QZCIA3# z3D`<`J3Ykkym*Pnxiio)>9^d=<{a*#Vy(~_p9lDa*dgyOW*h;aSl!K35oLRA^oO;P zcJNKz5Yo<>g|(Jp)uuygyd!!dmI zdpcIF;U;s<>4)N$WcA^b9j?uX#KYU|7w#VxIzE7BGkiJbsq9($dvec_?ZI)uzy_9e z!EwcH`W|5vyvkUPhV140x4-V~jjwWE@$*MWj)8Hvpv%|G$6DON?J(nqIdmCpK{DZd zG~!~A@_7Q;%RI_79NkAiE2V})jPFg*?K|Vz)Yxivy22^M6nq)x*pL3mB^p6_IPLh1 z!|E%{mV+;}k4wHB5|I+E{n2a8aay8?Z64t!TVDI!B-%&JN*uCC`DMxhsBjhG?Bv

Yw`Pf*eTtB8Ra45cCLTU_M1k6MINM5LIgIdw(U-5~?rmwt6fN@!=K zKYsQ91xZ`CA*e2^rnRT6V9zM3`cwlE_n^R_bZuknssaQSz6$c}V9P1j0zC_18^u|F>f{Z^XHuzcUx9Xy_9pe&V%x8~ zq`B}@qiK)HWGr<`jqQsUajG zIBp7_>wBrWG;*yk1w<^!<%9vr?kFl{1%GamPX<%kl{DK2SN-R?5grmni!}P9@qV^# z$zcrpVTJaRy85>ccKhJSleEuG0(?4K^L*j3S~9MIAZjx?J{X+`PqtRH4w?}hzE{o5 zxrV;RE4|`Pa6niQe7dP zmjZ9o);l`pz7d;8-$|!>lY6wqFm~PimJD+E`dDEeDzn`Yy<#7QW7iYFToskgzRu=4 z8ZQ_=kmESVMkqe(;9<59Qc~AyGVN$|4ihjfYn3*8;?@D)ujzE*pH@+z?m*0g0CWJ_ zwsibV2GiuO+fTQ6AAS}eE|E=F^7x5dDL2_tB^?sK#|h9QCWWIl-Ow|@sTtyoE>2e5 zUTJh4X>#oCGo&(c5pwRoni!Bj!^9&dU?#vr>KytCk4&8R>q@O5tU~r3JKStf35^s) zH5*oQDEn>VP1Yy59uo2?{uDYrOomv{T!CX|B|Qoq1a{pKA2v9)J5H*SR0fYYl^<;4 zYO0cA`YjTEL#1w~FffozFdJkbY`+}TkJ$o82d>@P-Hs={I2bMr6iavC$`%=6#3^uu zl}@ zFIUrGx%|4TIkM}y-6X-D$ z`q5;ASM$o4Lu;zd_F-a$C5T?d7Eo-k_}oTYv6NG((C?<r}v3;c@1~@#&=DWhBdgVZq1z z_eQS4@sW7Jr%{$l(a-y~b2|#(*Li*m&mQe(o~jk7LE0-?y`2T5r-qmio_rR^=iMBP zS{O%~91gZu>k+yU7Fx$kH7!5xBL@56nYfCT=b|$4k3eLb-TaNLa^Z1MNu?>GGD0HW zdMGrQZe1||MKKeb;S!YccC}1N`r1ZDH|H>7|bQT+w9Y^Qe%fB;Ye&GV^8&muO9Cx>*m5VHaDPMH?3t~+}wJxtbwJt(o(FKli6BlyPHs0s{>Bsv+^#Yo{ZTw zkaT?Mb#Y-v?H)B2EDD1@O0U@xjs|vlm-kayhmBkf7-M9L(X`og=MnU|YNG=I+?vfW z-?0FWy+MUPHR~mBS7)b>`TdrP)r6;ph2qjA_JuFQ`3CM%-Q#I`cmIjrSzU%dxyHRB zTN(~A8WZ`Fs3SYcu~2iwfE7cwTnHgEKX!&M7AY1g<(9Z|vw_}JrWuKP8F2sOYlP2S zIgUVCBAi*{VMoGO&U${glDI#%NL^_Awm3$t|AB0Z*1+D0Enu|oTVD0qgOTy$=i2-=hG0uH}CmX>0?VT}f+Bl=}-o(iv<`=TbSt7U(ozo53|XXO4DwnFrA2@mbudC|SH z#bcS_=U&FE=ykv@1TT+lkQkiJ=kAOABbBdBtfM%W+BZO0J~=Xj)$nogLabv=vs}%E z-H87s!21bw`A5UCjN_&KZ;ev5ZIH}od)6%RrZ<|hrpJ`SYce$Xm`>#>eopHzJ* z5gAdE&~|1c%l&O~)K`MiV|&^7C!vB|rtICMkSamJ+s;^&6pMDgm&i~Wc}CL=I*<>( z57$tM9GKSG85v6j%S%3$Mm~D_gjjn$J|;80tc)a(6OeYV6&bOIzH)6sli>gJ%1c3D zq{=S90a@b_h0&j$7j6o>scziXqH4C5ggZMORLMsm)7t(dqxd$0 z+2viuStyI=p6J_BYBV=~efuf2{w5j~)2_V*h(}Evj%1dP2+9L}Tbw|N46SH>*|nyh zWqA}a1My24jOrGrZzyw$yI&FM5O}14tFQ(Wt8mX=JErhz>M}cVw#85 zC4cT{C*7P4T7PpIapVvlJhrvETK2Oy!^?3*|{vImGEk~G!Wk=uBxx#U%NF?QeuTckjK zvo}bZ^x%Rd+40maP__6^_{}nj&y)j|nXIM)F=VF_8sw&F z2GV$p?hh8}dt16E&Lh|oR;c?6`I8=AMe{C*NHMsgV=}OHb^WB>1|0C-5mZs6c&tW; zv8Mx(llZwuwjZi#MZEz=TV_kHQ*O&ryso}s43(1#SB=z1ICz6mby{y*mSAuj=t%@G zz8INkd>h)AVwqvCmKxK|QSuhsg#5P^`4YNEpffN=A?06?y4-+?_~?ZYsjI}U(fP=u zU<_gMLlyDd-EZ)SCP=wSo6h^mg^(;^xb4PSCAF^9u2_(NW((xVoW zqnlB;;Y^A`h9>s@sm#;{7Z{Cgk)qgk^M~J-2n6eGPM-j`0^prIMW$8=MNM;O); zB1i0la`r5@JT$u7ZDD^Et#CfYDL~z^TTt=t=shKHr(L>YJyNt6dYk#463gRMLc&b2 zi=z_UHn}o=w2Kh3AYyN1Z*+*=oNS~(PXS9t6@RdScYa*Nbh2USmNBGS;*4waEyd8L zw|DsN(n6Y|c?>GdU6W&mCJ@JDSY$aewJuLt7p4C_GH00d!*PMy*2& zvrc7m2a#q+uu92;LX}-;vc20c$@=j>Lg^&Y%RyAorA>_1h!@W!QLPyFE5B#LACpdL zYt6CqUGEf_U*4KK_|@stgyoUmL8@kcJ~*DCMUL^dci=bizbwDiW&(#Xe36l!i&rV@ zd-LP2&G`5oZA$37%1qbm7->50Qs3ycj{$lsBqE`9P98bZh zlVYu4V$lML(V1|Cp1xVVmfR!Q93jizq$1l&f9LA;qDapckVpOc9pfU*v_N)bJKjon zBL7f&WXH@1$r|slWCT-@t86Y15SKJ~r zn3R-s)2KzX;mtt20`E6Vx(?)1SQN#E-z%AwiJuO8VaYH4~~44vRRjqjnk_MzG9y>xS2 zdf?rC8CDdC?FjW|nY&+|*r8opK9ugSIAlvLFtq>VaJ4ONcf(L5C!p?NqQ;ZFgq(JLqvY7o8*JQT?}xFd$<(hXtV zoi#1hfv){%1&_8QC};0T*3)xN`O`Ui`*GuVJ~_!VW`Gy1jX%$5&}S1`SJ!X@T&-)S z6w7CAJ&O$HIFr^!VvvxISSn#jPQ6__QZC|w+gr{*w!M$49JMRA>8hFTqmIP+b_18g zr35uKp}OXYD;GQvf2%-2#)VNKbskAoV#ehx`yW3%J--RWUL=2sCP%l6U^Gpr<)S*f>Y6 zc4k`xJ0lnK2LCygQ9i?(>Cw>6rCW#-xR}1RGWvN!0Ug932`k8@9HIMtIfG2eRNZs4 z<+m_H!A5iqyk_#h%v=SYWOm-iN@}4U3aE#}9ha+VMpm7{QM!rA$gS9A<6e)eefU}u zSeuGHycI|Bq`j4DD1YeG>ttN*ua`=rbRP@7(q__HxKQ7Eum494)ka57JDw^O>^wZLRNX)+5cD#q z+!qk@e@25<$|24I^y_CRIOI#7;9n3B%ltq2HS<6D^;x=fy8QoK28KL(3xMmn6dRMz zG`wlrDqNS?b*HZRC|Kn@rJyc3AnY+yqxq;Gz1`4{PkqOkN!)@>_FK5J=$Z$TJYhFc z#{PwHj!3j7=g_7&(|RU<@_``zZjeE4SMdFhwUXN@1=H~v&%=;9UfL2ui;&my<8tOV zMQQR`khC3@&d&%HtAbdrSvFepA+m?*V$cw`);J2l15G}p@d9_ji0#mKYNb#5G=7gt zzvZTUEU?h`ClZ=VL}H#?4g5)BFQ-BJamCVV#-x`S`FsT&^blICG9{`de&RirDkQCB zLA-TAeDP!(rr`y9f##xlug2R%s$BP${DxJS`o<-{x>9ylTUH^Pu&6Laqnh1U*!%Gi z>3z@SN{dIM3d4O?scw#g=%8d#HXL|MWg+)asTBBEj3NIBm-Sw-I>i2y%+q%NW42A( z2+8TO&wz%mV4Sf7BmWVlf??-A^bFD`KA8)cD(JP$ZhvQZG|q-!Pqm?`n*!%vsrMsP zXMn#WN0X_|g1kHZn(j~NX984lV)V!R-HVd^0f7(1q(pNqGT9lO2HOi0#k-U0O9K6% z{^iSNzq zsxcP6hSzmp$v^?4)A|cQC(-rAw~UQggH@Xq>u@s3YlD>R4*;J`Dz3 zzB`*uF?-D@EYBos~a;LtHwnS zkA$)yDzqXe+vk$IjwCQdmXhn91*Tlgv`Ukr6%(jx3;en%|0niN-kGoBt5FGj795-e z-)5($%0js;ejvNN86Iw?!D9r3R0_j{3ZyJV8nT_kVB)Lka&SO(jEAVPUJ2L62XsLB}ZRhD9ll_!B0G9uNG4d|?vbKDnQ%R48J^wLe;4 zCvkb#DkcU`Pg)kyQzDd0J2<>`ESZ`Hp`v`3?#TZdk6&1dHN&!QFTDF<$O32z;s^WL>DUdg#_v^zBn`6#EtuPjA<5@G8XLy1mZ4pI4T4v2Z>f zl8yms7K#5!?eQ0sW&~c9DeQZhE$8GVHl(UsWfi9iq*)!jL267@d4sER+cYoHmjijF z5|&}xP15>ao^JN|TKGJD-TqeWYj?4Z-Xgq>@3xKmWdgG9DY@cQ(*?rdtX_&af^3O; zz2oXP#^nPBwRS87Go4cfVX? z;I&-blwVDI0w? z<{`MBh;>lclt^kGq6a4fqf@-ktF_G6$U3ysbSgKbzeXikD)esk0G0DdJPeQhgsG~N z^aXA?yd@B)JeTqSZmted8pVKbdkU9%x-e7@Y`U{2cXD`80vXd7AY^|rj^8b05qC4e zrX@4UkPSqIi`j3j2Y?r$LN|T7Hm%{EGu9P~H1T3~J9fFZskWLBA3h2oq)~ zG8syToh|)ZE-mY|CHg-3umD^dte6of!w#hmr?a6K#Gsdmt_GbC!<b1w_iWgzn9)KhC@=~9Sb8V%$BN*CqGu+B@>6E?;(!eeC7 zk>SMGfYQkH(u0_rvJo*}EXHdKFs_2SVruTGXEib{Fe0k>2bgp zH$dq}iJ zzLal9H_@EJCz6~=Y`EL0lGJ~qqa|sCYs9ex8!iF?r5C0%z7D&N=qJ0-W)p)*_cCgI`iTH7WU@TEH*+C(u~8m>ecMFH{5xd@y>_Vn z;5WojW#O~X@4uiH$>JpuDAre8)=k8JWmgVZNGnGt9a&ojuRSI-R^o9?6Fe6fk&qRjzmEvLOLWnQpu{W|PTDv4vHtf(ft9Y;@Cwy0LvT>L@K)xyQar5~OOB)|c@PqYgv>`?Nh z;9yK4tm;?!uLx@!!lvbCu=y?& zZ62@}GdrQfI|aP6R6Lh*I3{t78kp`CS<-!s;eG1L;#ZP>clP8hTObte?OR$wQ;wH` zFc6q(tYzI8f{%1fLd3b#tyq@W74UKUa9F6E&joVR8Ftib-uSwF{}-g8vE<^N{KM=~ zXJD!lY5A~7JtK&FJLtOmq}ZHN!Fc+lFM${d=}kXo_6r6JqLRbNy9jOcmYTa1JO-o0 z%kJZV$3wI5K(jDG)$EP)*1bWg6G?cUzU zC&Wk_Za*;S&Qt?id6tlh_Qgc6W$1Rc>)g z_6phZ=k^-e5Va=sRKpKRf@F;qs|Dv$buu_d>8^PE)M5h0&V@y^wxQ8Ui&9gH*DpEd zgbeLXStko_GVfMCVtvojHlJfiZQp~~=C_^}FAe?a8!Tu@tJdGl{$%5g7S0`Nbf#M> z#~hpR)pS)3r9Kv?TO)F6g+OnGqb%vEWd>xj_z{lWKC!wmQ>BUi{8``U@st_=z zK{)ppq{Ov(VcPVjtxn1Df|?T^taA}`gc53*REorDA39Zj9d&I!?B~?u_5}ur8Y<^V zSHhK+qF0B6vTG4YZ};jzJ{<6^h!jf%(2|Wn5Gao2qpi zAKD#s<8zqi!aqL{_4=M z$fx>AEfhA1cQa&adNSi3Djo)*&4(Tz@!NPWJuL_iJ^6$*eaCNcc|IB;JwKh-kNM&b z!zwJb*(X^t^)S?_o8oB-*5C~8Y(kibel|-cG5O38?T~5cOjwG!Y5%XXOIm7;N<{IE z7$kZ6t=zSi)OVn{RC)>X&JBOskV;s#D8(jPb9OGpOErQ}8AbOn^)QNyWA(`{X%CX6 zXtPDSj#g345ocLSBh>u8OjKKeENiyt>dX^|lIA=0CHKk?>UR5-GgaeLIvj1XO&M6E zp+oF<>VH=DS9E-0eH=a%0lmwZqL_EVj~-+!^+H(_fS`c7@47nt)1U_JN9FJdcSEyA z&4JYFw3pezQh-*2{xnU@E8XEsS^l)^clP^wtT_EzV|}*o#6R4JwRE9#X-j@TZ07VA zyYcHNy)Gr@V0Va;BZchci#2iN$RK?B@$fjRE2(I__J^d8=HLxW=Wfo>UQQak*=jHM z95UgdA1eG0EjePBw%9EBq+JAoemRhKjy&S80(qrzvhkTNqO=UxM^BrSUWA`h& z(XSB5K4I0D4*{4W>CnXm)%5h*)sd&jy)^G#7xzZofd{L^o^sa2Q@7l9p2T7Mk)0t& zl_;eK9wl~EzQ=Pl?NBXERg{F}Fzd48(m|Y#Wbqzny2az3n2LtZ9eBbE*UyRag9M+N zxl*vKuV)~$+%z#M#5b^IYt0j=R?lX$FijQZ#|J19h0UM14q-#x6kNbW(qAO1G#T*^ zF&@KUf)hA}MJFX7cA)|Xh1@U;MaOuI@}b1J8=2;Z$H)20M3{6!PqsS5^%BVAB6-jf zNGgY)C=ZjVB8u16CUjAffF#3UF4P5XI$Q}4gqfP3znS&eZY^L2FCgLd)27Qu40-|) zBfT#d>U9+^D#r$!IC&8YWy@0FY#<}0Bm{;fO_Y>$d2NeAjApNyD6aP=0#M@!iA(0T&ul!>Oa-dw|y^e~nyjv8*m-ToDdI;;4SxeS2-8nfZ$m&pIPsLV z`wRLD5<4tQFZj}2k9NdU4iw1$9t+qM1YCKqpP7Il&hOVLdTn983X`v-!uGnZe3hYu z$rsA7CE{TCi~9)(BY{OfdehAW2%U2?@~Hp&EI3H&{-t?CfDxNju30@5h4FhgD;eL! zCyWWo@x()XJ=lam6Tq!VLR4e7Kqw#Rx)EsFU(JTfgW-u{aJfSalm3&_M~UTQrKCf) zRF8pRKmNzg&FP53U#N}{E>*WSD+HoG>>H-^?<6>0Ne(kk`%>^%9)&*f(%kg~1#CWM zzDPR|!~>W(m%S}Fko5v0p9Ve`wXYauu~~MnymKcT+{f6{H+YIo6QJs?)Jt#1!A>uG&YVM!cMQ*TVdzXcNaM^et>rP;AoaEDA z>Om;CrsCyhd{Us)tvvy|yQ62|?xp6_S{gk5#%ez7F)F`Z*^A9m1bL%@ITDKfdMmod zL$1jdau0sLB*rpj#DZJaz%I>wMHtQ@n~+fOQ$M?)vk<0rMZDN-;qiN)Nm@P* z4c{yCD#Q>56HW%@?4AYC0ibN-`fT z11A@CNY0W*9=GBCDjTVF8dGQiDXln=v= z`(9^5)`44CVk6kxp;g|qOsF^*Q8m=(Hb|+PE>1dPv6&_1W9hhqZVj0ScOxrN8rLb6 zQ4E0$x_}fpLftHekpJ|jbX|a^8mDjb{wpkOO)RG9l0U1<3Aas}G^CHi7&ZTJQBsC0 zn`DB+#o1nrjFleAi2EmI!BKrg*{Xn21`F=DOlcRrcwBPOkb)W7viv@tjQ`5#*%)5^ ztw-gPls9_3tll_V76YW-X0|sZl`FpRKFuA6a&I2$-?q*Z8X1hbdZAFW+H8L{C0e;h ztsHC{GT0TeS~kULq7q|T6U7>r9blO9z&ZjHEbbqw4QqL!4A1_S|XYcEC zWmrtize7(Jdw#F1e9NX?6-qQf6x&(hMtY7^8;Yd!4Q@Wox`b0t4*~9c`q}_XIUr%G zu3OBX1S?fg<$9_nZ9}}E`Kxj+H<5S)5C3EBI8`hY76u3JW=v3j{!~n=RHMrs%Ny+F zM*MNoR=gR@BpsF+9G=L|+wD04TOtNA6L-G26`6wk;MmJs@~+6kz7jYw@$$}iC~YWG ziKKp(SrB`#4JRrUjiki)#DW5aY-KS}aq4CcRgb&wlhd%$cxA?3+G>k%a<^>D%+kS* zo3hZvBFqgZTxUYx&FsW4SDl>}<+wa?NPDyawy*JQUNv-7bm*kK(a9ufi_qS4q_H7j z=1|G}B$IMa9Wz(d6Xd+V&(PPvL~zpP;wP$lKsj7DN1L5adQju-!+D!#L1_BJUhhct|+t~0dIi#vr?ff>OhK(E!$Vy z(JP_h>|w6B*J%RkXc21>a_#7(ayn5!6lioVDif;ers_yUr#)dd^BeD{V`YsEN;m73a$c(d+W(>Sx4Z<;={Xq1Qdq%IGh zDQUcZ@1sSl@1SqC3w3(a_edH!R^ffzsis*>r5#H*>|s|z*s>BAqZk1jG`)zOR@X9j z+-_K)dpx2_g(cYdEsh2@>=iA1YPS%?JvlPyB6#Z=xNdz#nU6(!ua&t+@DS|jRg557GkyGM8V6SfnK5UaAco_`QIW^H zR|{b`oXi5FLXd=uD12qwox2$9NCNke)yetD$;exPYcz`ZhL|wJEw22+vv_tVK!R3l zVETlTPzu6aSENTJutGxE+ln3VIaDi94)UjpSNn{AG>DTMxMiyBMFgQE=ewB%Vd2sD zBaCClal?ib;;hIoI20w><`yLO@kh7IiYe1k&|4=!KOEFpOe-#p+I(929+K_*XY4(g z6!~J;MtyE>b6$&{t`5g2Ii1$fq$%Q_v((cE-=dp1_?J|axXxN>p^7qI+(?KR zD!oQ3DqBCiNVRZSU_I~XBSen4O4k~kio%Ps3gbnu=tbX+Umnq>4?-d+H&u`KSi2^| zjs)k3vn9%EvLb;XbK6Pyq7LHrP&8K3g=`g=_$HS^*vmHHuQPPl z_~J8S!_c&$5S1S)|ER#GADB16B!wA|*p8ZkFa{FV;nB?pW3EM|(t!2D`A=i2SvSBz zi=pUUx#FyztVE`{q&|c}q*B1A^{z%k|D=l)xE=C@f3KIlxqtu&QaYOh=l*)F!jZ%g z{HuN|{TK9su4N^u=B)`Y{zKmoiTH{i6KeEOob4{=8hsVatab_>Jh7XVd&Y`Cr~<)rrml zCpo9c4C56qFqD0G{0myEwEhc9r!ETES2*Knj=#D4J(6A*GAqsX&*cSd%Ki;HOEWY| zl_X)MEb?KcGr$@W7)=z6d%w2m(-t3Uo(5{Dx~Cggl`^4e+yL_Kbx07+4EG9t6ufc-30>>^Gwt1!N_XVoTL7oi3%x=mUhMopyio+z@aX_lK8R zqZ<8c$?)=0^z{>9#4yZfHA-tF_1}d8^Z3jN;k(U_!U|UEmrT>iS>?noLh&csTft}L z@?Ui=WD{5Ec25EQXH9yNoI%ov2IsiNes)F z^p22kVkD>6!TbH}MgS*_9^EeW@ef8VpNmmZECVM7?(PW3p@GlDUfoZM#%kuF86(SX zW^EFz86-wCO84k_S*=I0NYv{`my$mP%1uZ-8;_qYRj=dK00~GmeL4Ox?}CJw%#X_- zm7L`I#{DsjXoJCRoJ+z3!xnz?_!?TVlz+rY)1o<{7g!}CSPhr4(ValFtEQXbakLrB zn@IG@kw(fUwnT6WZ~U>qP@$U&Hrl+7!~mmDrbVp?X2tA$(BRCb{7;%?6qC)1#pb7T z3VU-h@urQ8ls)xjr8KGYd)IecGsu0?8`$J(K}e2p_QU&QWH&Ak}g%Q_7o##(l}S7BtL=>H(J3kV3^paW+<|?^WqKpbtwHCGzX9wL)$xBlnC=t2)(bIIyuoK3IrUD z@1lKslXZ4_7|SK6ygpaZ=#1KK$=)2LNq)9WyyzzVoOYIEOS-USFKM{;C5fQElFY(d z&50z7O^!ixBZ*-$N~OpyP<= zD=ue8H-xJ+jFPTh{%cdXTXsr=myh_CxiC@%2YYC9hOeLxEtkoyGt(g>hzx9LDA89{s5bDR zb(Sf-!HfFr!b{4?IaJ;Gi|d$*`;=xoe<#(D8_F#;V5+@)QnSaetH9rUpRJN7B#YvM z=(|=R1m{Z|tG@O1#9K4g+~97=c$kk+<+5lz#L!XN49VQ?i}QsHWH9*Kfo<(3k$B2^ zj1wt!Sir$N$OmE&UBHL-Hjp%(C4_{)Z@vg|^-7NQ#CW~48leN3r0s&nGC1$c^2@p0 zJ;`jG)a>nEdxByPzYVeO)FQ-~=Um-EXV>xr3FnR?7Nbw<63ZRljal zIy%MmXa2&Tz3%_Qo~`ajfLb|y8OOnh($B{@m3PcMjNv}gtMO^W9uL8FEL}r4zz0Sn zv%`VRygMo0pXdNMy}~(piVp@w{OrM?ELRC@YO^AlK;C5ja>CMO*!_{78S6*&{Y!JB zkU_mp_Ynm(R!`!NkbN=%l!G3>OE{9ySHWV8{s;gAZ2BqV*krpN41^t(G`$=nerUI3 zB;G|w)87$>kMgKZCwwc-PAjB>xE>Vg&Ad>y_D3~dJpwUh09MUvylFlP;>PnwAp+6m zskFqxdcb}}Y^a-0a*bK_fYVL;2eevzYjyIMH_8Gaid^CIiQSLKrT~rl-=jd%H7NTJ zsLo`!-a)9N0fNMWm*t52)Unk4FkSoy^jm(tU|~E7aOeZbY19PZiXx1y|A4NBewaMW z)%*ed+DTt{_UKq#9lrk$RdiHJmI3(Cfquomiqrr7LgtHjzTIDJlM9y#%%>&?cpc6W z=&Qd?j6$=tg=ybcppjh!#VD_1uKxu#+y700Dn5x-uBf(Bx%v|JU5@W<$!YdA8+Yaa8yPlMi?YIUxWe1l)EJO$K2-^ZD+%o0;Z$8Qtt0k#4WNpe3be0+$;Y@|x*=>`>ko=EhT+`}TzddD6>+TbXX! zE8zS+_SrOlso;mFTpH2{_N|17KcH}(aGQ*wgs6N?l;EbCvejU?TEylc*XCnyv{Nd&*T%k5J2=teNl8WCl(S+9;;use0W<}doT8LTl)`DWUQ z%yU%~ze0yLcylR{KG2cL)V)LU%kw$}D{lg6*K|*OdJR*jonD=1w=SABP0^7y`2E9E`-<% zOyP1ygI_2$31=k7@?=b|X3b`Kq31l{lkH*Y#?s7WH`7`_T$AhbA%})4skPjj@>$q3 zG71##-&D4>k|WrAmshmiv+?DbpTZfQ=WIr>z+j+@AGQ8zA#_fA6e(@&#|BH_1&L$X zBe1@$IitdcOgJ|CnygL;f~#dAUCQ~!Ut<@7yWD~%bsBVaaRa5~hPf4FP_|9M4?E)C zoNs(Nql*lzHXJ3ywU%(k4I)$?l8)RGM_7DdcA-QQ=$EMJ67;BeH&OZKTgX>a0wOLQTE zAZ}$Ms%Y-yOhKVU(f$`H|7g=q1rjxrv6yo{%?E9nd${FcO}(#s{+umMkWWNO<(qUq z+LisY^rXw#ZG6LNRLC<54WQpqzEIGj#a}A#^`awP=Ph%8V(#uAXq`_zy;T!-4^r>j zoO%q)C4{UrUW|F+2wUftwxpSSo3E2NTUk7srUW>8_ybN$f%3d?*5a3LczbhxW$6Jl z;B{KX$|6@VfY@pqW2&ui!1OO<{_pj(PwhRU~-TuBswwu^dXwq zx(rfkx?pcT{inrl**CCtzu2C zww$6rxKn<+3!#E&YAy>Y4ulr!ed_9wBQ0EZBnj&Y0{OBtm{Ss*Rxc&XCBqA#{$+QG zaz~gt8a)5h)q3JnYHrAmfe__4h@QhjZs(lo_=iKN{bS=@CO>_kQ_{+fsJa?>umvII zp&|!sql^|=WO_(0s_dR6&+w>13&Ms=iYN##@nb_fMTFt8c9Wu9M?@4z9tdN=ubmi0 zm2pn1%#nS9W(NfE^JfB`{OB7_{!BQrh7=^?Ia<4TL{3#+(pzRP%y7(J*6MU!zSGp| zuM+*viIda>Nm-~UF}<%tpOT?gm2pdlZ;r{Yo5RhB`gMcvkV|rY<|%1J3I;R-k{5?7142Is#2pS|{?=BgOM1?DQY6W+WHr6=TTQ-aQImGf3Bj+o z90}7st7+OE#6E~XM@1R;9f}41bxGhqQ0=i5mX#oBHIK8J=1P&FbN7iy8iLPV(uCzd zhvKJen&TFa@zvt{l3c29blwit&(`1&hHn94a~RsP<z7^-`oitv~r!JDA+xPT8LG)wEXuK2UzXyOur^pf>fhHvcYY z`iA4CVa<X-#V_w~0XqGFJ}KrR>?e6e9;e#pTaiQXMQC zlMdxOt<8QdRZT*IWpm^PI=rw^_T`#ps|zQnC{@_uf(-FY0(Zgr`#a*E;^9c0*JjD5j~xF*vP;&eKCe?>Deo`oC=~76 zQ<`=R)kReBu#Hc#@he`^c3UBm!{|!M2?i0uMew64)#ye-HW*l7ASF={V@1Z+fPFpo z#u9P_kz2gDBQEarLfQ{qFKlQ#e_0m4*~ zP^Z0TCXHkwN`T;g1Zx#@G)H&HNng6-c+1!37Tjh&A=lf0d_Hu@61pIPaIZ!LDzQ;$ zrjZyN1Lt&d8E@(XrMe2YQinsZZf3=Msgqtg)KS6YZuOjsGaS8;A7Bzl5*D*x0=aJ> zpIyEZJRi|I+mAeb-J7rv&khH zA|6}VNF<2Er`nWzdqG9(+Z1%fAQ&b_ozD#)`T#FZO^Gos6ZCI9DH8TaNl_PuQDvOy zXv@?zm~vVsFqM;3DeM%hst~n;Nw4G(`fIk24k=s6*`hlY!ESimgWUb4)tT{rvE%`Q zPZ?;@{yye;u3+^3B%qT746>8c>|gjP$j*U8(@UX_c}jQ5F5gG7$!8wb4DrXytCH_Y zJ$1Tsj0%kCSI3XTL)3I_gz zYf_OP*Lqx8iMaT&(z?%yG#zmvbDV5E3wy5z3&BOtOe4vxK{wr}xJkcjd6~bdp1(_a zK_)?@J~Pnz8}!!n6Sn8Tg!fTHWa_(B9h=}Rn~D}H)^RD1r?+_z9i2-)jvr6D#6^a1 ztn>AsxNM=+sF@2<1leJ9Y314TtXVhuM%^E`j)XGD*|beMpGJ?bAcwU_x$~dh-tmt< zj4t*4ip#=>u`8dDAqcS$5s zrMs8aS{5nF2}Uo>Pxa}pEkWpxt}O%RiJ&@Lx0hv2#ZF%zWxT^B2fMkT?sullWG0vz zkkCT#Ip}IjgqL1xrp%UM8jlN9;bSgIy0_I#PG=A&U?=@!_f2qxO?+}mI%o^kc)4{Q zUzl9yFHNLnP(+_}LG2@@5yto3Hm^a-7Gov*h|HzTJ_o*iHJz!b9dSF4z#y+Z{_)0u{R0*G$=4`}pfUIKl3l3izo`)7GkdYjxxXuglJ~T<_nk8Wsg> z*%{2VwR~B&!rp_wQK2XZb;d{(Tp?0*bTpOc4$BCuO!s1}uM~DSv{PnF$l9yqNDaEr z7_JV!27A;x0ISBaArt+hb8QaUR52XakeQ}eU+>u5d~&QM z?a%oQE7i}e9daWev~lZFmF=0nlzhLwC>iTa`p3A6RR&WA>#(;Tjq$cK3wI7AWt1k0 z`aEk(Du)YeDIq8GAi$NbuWq1@7%8WQh2#*uGYtZbQ_5^P6l^`VZ)XBJv-12r$y~d) zVT7TqhGK1VZeJ%wqc1Yr5lKSfRE^nS>FT0SstElA(b+U&qCFXZol2{BZACXXG?dM9 z&OV5m&})kUsHG|FyjauTJ{XjRP`D45{9;}idoCCojxYw!fK3$Rssw>Z%qdC6@lZMD zTBmUglctVj=#T0an1iq* zp_;(!pa|TqGwKPqXZ7LVlaFk_=Dr7WfzKj({O%UOm6I%lTkee9LN_HBWXMGzj>A12 zArG9q0}u|G>Ah-d)^j?9YKOPQ$|I`h!cw#kwxO#|AFmqUkMUI%pDBL z1B{Dcxa&p??)=bGkY2(rDYU9IN%g~;7zAEB6tzM`b3LKq5Zs5_-X>dJ&g-UYd?LjzM^0D|{H(^5%{O2E z)xP+G=KiC7`3*hfyjMt;{3-apl*3}q=w|7vj!hlm5vsWF8wc#sc^XBH!%eX87s2B$-!`TsA93g>G3tbWR71W@V3 zBmkHs#sheb_@S@*>L~d^V^>#4a6+-b!fC*YE&b`=hK9#Sg zzeeompLY?sje79kZ1E&e#XU{79s+f~Srl)Cz3bUt^u?SX+^6CNN80okX%_20nEkf@ zfXp|4I-vrR3V@jMTUMp6wOWju>I!0d`QZ{0`Z zR({Fe1s8j>f;N)|X1;cidBkG&d7K{}K4xgXW7kCfOw2d>QrI*(6fhu}jW*9{nEgde z8t=5WBu<|VnUoW}Ff8^4(;|iRMNk-A#UPd}xUyG#A0Tnxu{a=g&m(vK)!cXR&!{TH z?y{4o04&X|w~M{?^i1ds5W^-EMv?qD36yjnQdx2#x*_NBAWzYlM(h%k3ty-=QzC|c zkmeh6`b>_-&2ie}-%!1CVVmI0|7||(+Z38)Uv9Hy07YNOa1^e3ugb^l`AA`FE z3!+P{oi5@9k>v_%@dh!YPR@zi?=8GgGv(E+xeT~zm*%kg8sra<3DvNo;;^oci7D9O z7Cu*-CuPo{k3D`|*E8ZFDRGiCAu@+2CveI6c7LDP5LDdCqH+sHsJa`UMQnkDGr2sz zT3*-@4b0f9_*64Vj+FzjhLej~wl{rUEzmB80Z~g4Lp8Lx;mtMsbHOApeyTSgT|a)B z_zmtFhFglMRo`Xyh{W5@(?3n)Ncc>?<7@ORjx*q375pjd+K7WTFK-l+Pbb8`3>hIQ zMIH$_LID@2!OK%CY*wOgp^oo)r6b1(fB7*L9q`*TSpus2hM(dfn`Cm$OL^*n&W-?vlc7_ybViL?JuBi01^~7sX}ktA`68GZMGv737!> zE#j0M8$QPwVk(Z2bEm~^#g($R2rZ}Pw{G*dkYGLgIV)YkYb@eaTDw850rn#14^;+H zw6XIF6e_-wIxY?&jHsUye(HD*#pW4I)UPBBnrph>e}7y zUP3pDIaby`lTu@|Aj+O(Xiu3)RX5*nYo8FURuZGZ^5-ct7yJ}ArhY8Fn(oCRW{Kmd z3@!0ROvm)>u6Pg|M9~pdMo`3|94v0CMY>8=0^Oad%FDK6Z0oI@ z6okzTMwW->lT!X5iwIi_bp*ZVzlWV_SMS=T}Dx3e8$)Mo&|-}^!SlN zz0`DHe%Vx4y^pR6EdsH>Dan*yT#0B=+&m@fdIIlzhN}yiYZZ~2h(x|qA45NYv4D=@ zJU#Za0w|fev-!_#`#T{KmfomY#Sg7iX(yYCJIPs`((68>t|s<=yL%No8C!znd6_3} zyga@I?kS@K8-fTrtxK`qmF}W+ZPp$UMR;Ns`27iVy~IkJ(QmW!dg(VWEsms=w7$@! zZV}ZpBX1~a&tyN^f;jV#R*~^|88oQGG7z%|tGY^j+7n-~kx+jZ^jG@}S@xn^8-KQ$ z6F#V?^5SSTrpi0CpTvl=@Y3Y& z?H;BS7~PmT{oKh~S5|1S;SO9fRqvOF7mT*fasVO)JCWt1Kr$ZV;I1Nc>|;2Nx%pZ3nGF`c7)Tfun#|3H3QVimJzlO zP_U}J`h6KNyNoW|&IIW=Jbr!9JbJkB|N3M@?OXTz$~&%S!+BsUiJJ|0$7U@z_vW?U z^~l2e-CGT^J>280-ww+YesU8Hd0dTsW#Q_v;S2`oB2TVOO&ZtYF@XCSUC>J>^FR2; z!{opChWU~a_%OWNKDgTVnk~WS-?TTg{|Dqad3^4u`D*_kch7%`m-hp%{OFkZYYN}1 zi?Q$WUjh-v#BT3hxTIl!nZG^Wv=5oZFfm-)VUh1mnx^-e z8w#`*xYsIWjH;l}B@*M{&H%y))aem7L}gdwZ`fTWLgXBR=XZrh?B3u-rOA?5rc6hl zskKpmAVKLp*lmSD-Wuqr)hG`-QPh0I3t~}TvGPhg{#{D8{Vl*p6MpuFyJWX#XqLq{ zg!)QjxB4cBL%4356nO`Og$EoYMo^yZ60yT9f3p>kE*v!=_L0kGeUdkdDwb%SM+XNR z2?RQjM8S&u`n}E1&q|4gn|Id&&9{dtB<5Df$$T(P(K+)J0n1sPqkj=a{sMp0>w>Vt z|B?Zn6bn^wS25pMh*+s(3t8meXG@(jgOs3(Yi3)-gvzwWQV`z_^{2Rm~?ha)Bp^6za?lm#0Y^|?Wohy^0D~Big3c4>S?avIN6^DP4 z3O8NPWG;EMb&PPv>PT}+4lhDIpw8C)wS%8&jCpLH_-d<7afCw&A3m}kd^oGV9HXQ& zu4UwJMSCjczPW(~mQuApoekd_ft(r6WU+Va3 zvC5bn3%+z8$Q9?96Sb^1c6j76dZrJt*BnK{@O>PwGd*2VI zN~F5a2DT#XDUIO=6k@?$ohg+|GVurUo&-arTPQ_Q;_>r*)6dChH%fV!&x17XE|5*Xd($YxQsfiE+L!Z#5eCxFB6`3(_YBCD;Br0`fq z|EF3JDYPbX2s=lx3-Uh%+`Gs&ze3xBV7Cg@VTX(eHjW=8odWYuHHae>&uK__l#oK6 z&%~=+m-~|FO3RY^`$kHy@9$~z60BkoS8f^{=Dd;*h8%LRxmLKu`JT{mMr zr(6v%Hm^|fiSl9uIj~P}z(kCZFFed~SmzOu3a?W$tvIcbw~K;-jq&)PJ1jAeItI5-ZSoHajNeKL+{UPoh>gD~ z;QM%?)3?&$O`#7Ef&A_l5}4{}YCRm*l(k0RV5aS--#KSy{085pNjoh?x)Q-S$ed8aNKw0G zj#2{UgMVTMzeZ&!o3`!Y?v$B-%P+w=%YnR0mHxVAGftm~P(;-jt%iC4TO&4>CDd7+ zQ8XeBai@qDP)EPTN(x;-ws8mn+U`BIGu*z8x#kj9;?L!Q2&G#Wn9Ik?? zYOmxC*I(KhE`W-^WfKG%M<7v&VzXjmTu`~}F%M$ML^-jVw>spt;O%rmuYc|4GgUAN zhIV?X$H5)VYJzVr?c|y$yc-^2SRE8iZ0}LJ|ZF~jbTKW*NJdDjo&S4BuUCW=4Elh z2oC4lf5k}P3YRR=BYYx82NlF($F6VifvAy7c=R7Fe8Ief_|S7Y;b_|q(_i4W=$6%< zr)fb*4%8;@^<@u?-LLZWA}eMDSDiW z^BrhuqJg4Isbq-Wpwrbg$Z`kL3)2-0yHQG8*PmJOx?!AK`i*m zGTr&{FktU>_x^$~CzvIFbkF@SlXsrz4me?_K&ztj=lM>a+uU$IX%D~H zS=#FVvGD%C)RmWOUkZ+%P~WFdYK%fr{j2fj@Ny(0pCn3vTAVwx6S&Me? zp1>+#YyNkwDC5S()oI1otCXxV{`$vj;mDg9Pc-(jaF3>iAH2KNu6i37Jrkan@GE-neZZ2R<0-fQK!CL0k8nElA%Gzo!L6WBJ(hSCToj|6 zvUHeKooU2C;#!nn*y4=rT`x>vpU&EPNUyw|2Eqjqq@ND%46+AG5H2ho73X-^K+nq) z4`h-|`4TKb-r0X}2^q6Pilq{Z3NAMi%Gq5TSdl~mp+Twg?75*VNaUOjI)-R^)Ycv> zk#DStjzjM0R-!(W>!(Gl|1LPeQ2o^}KEZF8UE6?gdc2*Fz3cW>^=JD1Gp6+0v|})J z+NO?dozb@Gy{9&UFhK&KeRT|wyuA1WGU}gGJQvo@aC#-ezvI_se6L?O-7$#mBHsJ+ zda4!^Rxn*^!0Plu;xy`xT7@GtL8XS|EeWw^3XB+GJT#pGZ2L_id+z{+%WSw@E8XK3 zHAYyW21+Jsi-l*4DSq_?AX+(yMAZDPpAqJOCL!K|X-U>45=UZhK z4t0#sk+Fqm3Z#2{#(kriWlgMSY@_yy>c9Y^?q6Vdjz9(ipOfWs(sandZDb<;^X7@&CGUR-0w(jUt1{mU1j_Z?3@Gu==b zp(vB0$7U9Osi>5NmEqH3&F?r4Q)Y*!)kow}t=a>HBR8`?NkBVIj!%815xDWMDw0Ad z-l*g6N`z)Gh@IokSV>eIJxBD~n5N$RJr1meOxT*qvMT3#^NEN>0 zg(yO;ZCKnaOUlHK2vrLh=P7uV2wB6z#FR>y7M(6+p(I=dVdTVY+Wu(ho`@1Evu^#% zEU)z|1Qp(|@@fyZdzme1@(gkhv3@Mgl81w+_q=HQ)8%CKazvL_1Pd15e+YR7 z*d$z{U4M9NIkgd<=Z$nE;NeGCc}z4?nOctjN4u;7x^R@`qh&;<`8I6|IFJJJKv$x78OMKH9fav)Dpzo1pq zb&vhI=YEYRe9Ue3Q+y(bxOjofM2oNcICXQ>s6FXu>*52RJd(I(r@cA#6f~B!x$V~x za72ga4)f{1RS>OGb)f{LH%?B`yUQjdLb*3@JUnN1CYp`#ij!yxHEiTPDakza9brq7 zIAn+mHj7X|>*#D(j>Bh+Mnz7{b3X!tuwSd1rw9e9S@mjmPs$PPkURA9CMe%pNu|~x zJ_mNl3w0oae%e&3>CtdAkA5%R*7ivy6nWVdm@}1Wdf(SA(CMM0xlI3g=rDr1h6<$# z4G6anxRv{QP@E{;*?L=?A5!I0dZe$K7;SDIN7GX!2Q+8&7xAyZK014~7WaG?6mqN* z+4tdTVnz^~HbX2J?gW`*i$>Ra!4?mflny?okq#c^GR{vgo#n0+FGxE47IuxsWu^=Q z7l6EGlA()`oqf^LQUQxXsD3&bd+390sbxy?oHsAG7vmn8hsCstex@ALxMxy@?k6;= z9^P-M2|FIJ0%`vkT}GSa;iNG_@s3139iO;YaQ>{D2Rkwi($J?rAeW%#b-;$hpvS3M zsI}6v%oAE!`72i&{8iABn;xsJQVSe{g-a_8u7q^B5F7X;1UnewD11LH62`)zyS#TT znp4CQ^}Me#Mq>Fm--#@A?^%mFHFAROn9m|sC24s8S<*PjxT)MJx60En^|wCkxdP7M zSn^uy%$5g%jv`XxbwXh5YMkuira(j75-SzWG$J17W0dRWs|#RcA4au$j3{3R%1D>a zITAIx;b5HJnuY@|SZxk`oB%o8ZvG-+bNE?o1atrAn<`^Ipy4_q#h7@^EJu(D<9mks z%Rx34LAk(a|6W486T%I9nCEMb*e6BEUD5AYt9~lM*(&pY)`1JoU3?gL(5OCgQ}VNn zT5u1Escw$7S*6^SgMZ4!Zfw4&n8_0+yv$>oZ7`I{)Bh*P$W0E}e+W%DgFT^lh+SD! zWE1x~iVEF@U+^B2ctEH>0ON^%uO}>1RLrQ^C&fOO9lJXS{X2X17H<}wK~Bcfw(gKh z_`zaZC%=}S6+D2ifDd=qEzwGPfsa;!-<9e)wm~_&!Y*Qh1g6gBc`CeFWQe+=?5meu zqwvp5`X@X;2wGjuR@~SM=KSt@Z>kTO9TSe3V^~=3UVA0N00ACY(2-A0{!Q^RrTFwX zx+W@EUQ|ht;Dc6lyY$PutL*$_TtS;0RdfVIEckhasM9O9cOhds$(Lqn`kiGZX+3G$ z5mzr**&VTguAXl}i=fRor&ub35Zs2l`#M(vpkth|VA{ zgMGZJ;Y)!Pys`~9WREL|-ZFD0jU9#wK4{~^Ow3uYnlh#oRs#rQS5;9e`Wh||=c@%z zB}^yHv8(5CQx;=fYsE>?XCA4v$K_SSst$S(+g%VdimmV|ifGc&$~Z_}##k72Xy4@b zf^C*EP+7s=TmwZAVOJo6|LSc#d4p@_OCmN)4j;7ZItQhfpL0^wv_E4iYTqUt({-HK zx0BWFaCJy4Fq3-j|4v|5)Q;V9IWZno)e{cK)I(a|Rdt0K7nNB^lAeOy^OVS3Bm=mM z7HdCN3gR?PLlNXA#K$6yJCFzFfMi9;J0DVW4TU~nhH85ARA1u|fsosIhl6{Sj43@a zpp|0WXjM3-7n)GrzR|eY!f{#b**QrB_u$j3iDJaKJeNJD>R7E}&@63i28KRLx|SbF z<$P$mA2wC=iM(0_9q2P}9iN;cmD-Z08b!f0%GsYEu>$9BR!AYjdYTl)g*cx4QW zkbc}lFyWk5c*T}X6J4@1B^-ayn<_e@7?|cfpGXl_R@9sV>4B7N)}i*}T=ym2sY3Nn z9t`7!tmaD*G*+XqXcownJHXl76fhz^zfuAo&jzYNzgNC@|F%9(s%t0zk-z9O$rWVy zZ==bYr63S0VOi{caB2>^O_K+>`a9;+_lr-vr+f#0Kp$EF_Mjw*TlweHF|Z_Jx$X4n zOjW~(;)k$_ZBMQ^R<28|U*z~D-q+hY2(|hD zdd?N|#XZIN@=W$rdnl@4#ab&2=BH+OdL0i5c%zlq&w__m!8d4qH}$IbU0$~q;kBBA zTKRoY&f*BGZyV=Q_C!|A0nK^$Oc$TukPf!90Q2)?{oJr{zL~85R6xGRE~=Ia4}wtQ zq$k~2h!%^hs=pvq`sX^a%FC*~7vk@QgUXq$&RE~l-iTYi^Tk;Wo$brs@w7-TuWozz zGPkWXm*VJPoczvMkMpQ7Q_ILy-td~@ zuhZ9W>rs)?-`{!oegCEPpe7+0A;-tf_YI;uTL6Y2i`x z@f!hcgQBnilqLdU9uVyDu5F}}5|FmfXD$cy7N+aI;E7FN%hY z5c(qdAUyp0)+W4ue$rZ=FXUT{%(uF6*2(I@9G}$$XITQBF`k%K)2^5EVX0>wh@KTl zzWYb|A8IOV-y}F&)r%m9tao2$B6nWsq1&l=MrBOJ^E+<8As+pYQ z`Z>xq0*O$Eolw{>NV>ju*^U40za!Q9K~m%27vuv*Vu?x&3@JoZSaelJ0#j_6rQQ_k zGUwwo0K4LR+8AFe#K;~oEB|8CA>kdC%*%5((N$(L7lzjs@L&PKSndKM1sxK(Yf4g= zflBzVa)^pJOI+!FIH}pP-ljIe+z@Bd@Du(iV?CQV5n2-I7YTSj>iJl5fGxJ%fPULB zdSE$u@NSgvPEa`PF3M0Ysp!e(*MkSb3t1VUR%dtQ!_tDDbSIS6oS4%a~wVC&?zV5gCc>9fO3kT%FM!eD=gJgBxZw}I4LL8ou42` z8+X2(%m?}-;w+DE^Hd%UgA$B6D`Z)M$_z2acBZ3`e$o&d6z5ObW*ugA$7uE>PQ24n z*MYSuTlKsi-Kg{70Fwp{NL?LN|By09@_0tP9i0Kd6UTDJM*xr=e_Ly6w&l zX!g`j$^XQpGS8+4iio15a5N^Bdn2bQIwhvBt4q$+NoTl?URwiwT^J%?v#(xR>A2|V zl(TqHRNM!mtVtDr=#OE|$3pIrKQqRh8;dI-s>#+aOFa4mYKg%YWwd%~IvVF0s!mZ` zUC_jz{R6U;7<0Dy<~Iqh`>UAWmYC=JAZk-JL@+CAPNHm2iRDDx!e}y9R|km+smy)b zY$9PLC{&(TvUl}gg0a)Lzf~>FElQP0)_tRtJ>mf#W$((4Oh%+;^)!XX_KznQBtb65 z;DTo0aQ5QbQ0(Btlg{uGR1aFWdJt=0j4k97&<&jN8GQB^ppmgto=9+r4^(H7rLN!T zO#GznYF9I5miee{ced(@A06@kqXBcN*So=J!^Dp`k;eshp`p>@^#e)07ozH3cZww% zB-w60f#lr-d$Ou}EG(rQESovY1yVsd%e~@l=hXd+NQ~ zXZvoQ(FX|O-r0hR((eNPExo?Or?!Ho)IXqVpNq#y>K*v;@LU9IqJQklh34buKOh39 zz_`KlKcMfz_LV&DPij8}IAeaOHdT8*iod4raDN=^{e9h=71>p@*H{%IbYW|9@uJ*Z z@YRqGx^gS$^YSV6)6R7F??CYXIPoNoP5~#LZBTaMLr_=HZJ{18ia$+vU6$Ww0|n9Z m>;I+^D0OmF|C2`GrIJ8?Q2YPMgi>q-=_M)X1OJjgOaBjhCIOZJ literal 0 HcmV?d00001 diff --git a/site/content/en/about/index.md b/site/content/en/about/index.md new file mode 100644 index 000000000000..b363cdfd0256 --- /dev/null +++ b/site/content/en/about/index.md @@ -0,0 +1,25 @@ +--- +title: About Envoy Gateway +linkTitle: About +menu: {main: {weight: 10}} +--- + +{{% blocks/cover title="About Envoy Gateway" image_anchor="bottom" height="auto" %}} + +{{% /blocks/cover %}} + +{{% blocks/lead %}} + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. + +{{% /blocks/lead %}} + +{{% blocks/lead %}} + +The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption +through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing +use cases; and provide a common foundation for vendors to build value-added products without having to re-engineer +fundamental interactions. + +{{% /blocks/lead %}} diff --git a/site/content/en/blog/_index.md b/site/content/en/blog/_index.md new file mode 100644 index 000000000000..95ccb91d5d9e --- /dev/null +++ b/site/content/en/blog/_index.md @@ -0,0 +1,8 @@ +--- +title: Blog +menu: {main: {weight: 30}} +--- + +This is the **blog** section. It has two categories: News and Releases. + +Files in these directories will be listed in reverse chronological order. diff --git a/site/content/en/blog/compatibility/_index.md b/site/content/en/blog/compatibility/_index.md new file mode 100644 index 000000000000..5c1ae3b1db37 --- /dev/null +++ b/site/content/en/blog/compatibility/_index.md @@ -0,0 +1,4 @@ +--- +title: Compatibility Matrix +description: This section includes Compatibility Matrix of Envoy Gateway. +--- diff --git a/site/content/en/blog/compatibility/matrix/matrix.md b/site/content/en/blog/compatibility/matrix/matrix.md new file mode 100644 index 000000000000..737bee33ee34 --- /dev/null +++ b/site/content/en/blog/compatibility/matrix/matrix.md @@ -0,0 +1,20 @@ +--- +title: Versions +date: 2023-10-08 +description: This section includes Compatibility Matrix of Envoy Gateway. +--- + +Envoy Gateway relies on the Envoy Proxy and the Gateway API, and runs +within a Kubernetes cluster. Not all versions of each of these products +can function together for Envoy Gateway. Supported version combinations +are listed below; **bold** type indicates the versions of the Envoy +Proxy and the Gateway API actually compiled into each Envoy Gateway +release. + +| Envoy Gateway version | Envoy Proxy version | Rate Limit version | Gateway API version | Kubernetes version | +| --------------------- | ------------------- | ------------------ | ------------------- | ------------------- | +| v0.5.0 | **v1.27-latest** | **e059638d** | **v0.7.1** | v1.25, v1.26, v1.27 | +| v0.4.0 | **v1.26-latest** | **542a6047** | **v0.6.2** | v1.25, v1.26, v1.27 | +| v0.3.0 | **v1.25-latest** | **f28024e3** | **v0.6.1** | v1.24, v1.25, v1.26 | +| v0.2.0 | **v1.23-latest** | | **v0.5.1** | v1.24 | +| latest | **dev-latest** | **master** | **v0.8.1** | v1.25, v1.26, v1.27 | diff --git a/site/content/en/blog/news/_index.md b/site/content/en/blog/news/_index.md new file mode 100644 index 000000000000..c609aa254312 --- /dev/null +++ b/site/content/en/blog/news/_index.md @@ -0,0 +1,4 @@ +--- +title: News +weight: 20 +--- diff --git a/site/content/en/blog/news/new-website/new-website.md b/site/content/en/blog/news/new-website/new-website.md new file mode 100644 index 000000000000..8b58c949d8d7 --- /dev/null +++ b/site/content/en/blog/news/new-website/new-website.md @@ -0,0 +1,10 @@ +--- +date: 2023-10-08 +title: Migrate Documents +linkTitle: Migrate Documents +description: > + We migrate docs to Hugo now! +author: Xunzhuo Liu +--- + +We migrate docs to Hugo now! diff --git a/site/content/en/blog/presentations/_index.md b/site/content/en/blog/presentations/_index.md new file mode 100644 index 000000000000..c7e0ad1a052f --- /dev/null +++ b/site/content/en/blog/presentations/_index.md @@ -0,0 +1,4 @@ +--- +title: Presentations +weight: 20 +--- diff --git a/site/content/en/blog/presentations/kubecon-eu-2023/kubecon-eu-2023.md b/site/content/en/blog/presentations/kubecon-eu-2023/kubecon-eu-2023.md new file mode 100644 index 000000000000..90444834a997 --- /dev/null +++ b/site/content/en/blog/presentations/kubecon-eu-2023/kubecon-eu-2023.md @@ -0,0 +1,19 @@ +--- +title: "KubeCon EU 2023" +--- + +## Envoy Gateway Project Update + +KubeCon EU 2023 + +### Speaker + +**Alice Wasko** + +### Videos + +{{< youtube 4vnJxt9sVho >}} + +### Slides + +[Link](https://static.sched.com/hosted_files/kccnceu2023/58/Kubecon_EU_2023_Envoy_Gateway_Update.pptx) diff --git a/site/content/en/blog/presentations/kubecon-na-2022/kubecon-na-2022.md b/site/content/en/blog/presentations/kubecon-na-2022/kubecon-na-2022.md new file mode 100644 index 000000000000..c4f00590d461 --- /dev/null +++ b/site/content/en/blog/presentations/kubecon-na-2022/kubecon-na-2022.md @@ -0,0 +1,19 @@ +--- +title: "KubeCon NA 2022" +--- + +## Envoy Gateway Project Update + +KubeCon NA 2022 + +### Speaker + +**Daneyon Hansen & Alice Wasko** + +### Videos + +{{< youtube 3MUOZc8XNCc >}} + +### Slides + +[Link](https://static.sched.com/hosted_files/envoyconna22/2f/Envoy_Gateway_Project_Update_EnvoyCon_NA_2022.pptx) \ No newline at end of file diff --git a/docs/v0.5.0/releases/README.md b/site/content/en/blog/releases/_index.md similarity index 98% rename from docs/v0.5.0/releases/README.md rename to site/content/en/blog/releases/_index.md index 4aa878e84079..d4867691a453 100644 --- a/docs/v0.5.0/releases/README.md +++ b/site/content/en/blog/releases/_index.md @@ -1,4 +1,6 @@ -# Release Details +--- +title: "Release Details" +--- This document provides details for Envoy Gateway releases. Envoy Gateway follows the Semantic Versioning [v2.0.0 spec][] for release versioning. Since Envoy Gateway is a new project, minor releases are the only defined releases. Envoy diff --git a/docs/v0.3.0/releases/v0.2.md b/site/content/en/blog/releases/v0.2.md similarity index 96% rename from docs/v0.3.0/releases/v0.2.md rename to site/content/en/blog/releases/v0.2.md index a0dc0e885de8..0630ce9e59e5 100644 --- a/docs/v0.3.0/releases/v0.2.md +++ b/site/content/en/blog/releases/v0.2.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.2 release announcement. publishdate: 2022-10-20 release: v0.2.0 skip_list: true -aliases: -- /releases/v0.2 -- /releases/v0.2.0 --- -# Envoy Gateway Release v0.2 We are pleased to announce the release of Envoy Gateway v0.2! diff --git a/docs/v0.3.0/releases/v0.3.md b/site/content/en/blog/releases/v0.3.md similarity index 95% rename from docs/v0.3.0/releases/v0.3.md rename to site/content/en/blog/releases/v0.3.md index 96d6d6d49ebe..6ce60750cbbb 100644 --- a/docs/v0.3.0/releases/v0.3.md +++ b/site/content/en/blog/releases/v0.3.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.3 release announcement. publishdate: 2023-02-09 release: v0.3.0 skip_list: true -aliases: -- /releases/v0.3 -- /releases/v0.3.0 --- -# Envoy Gateway Release v0.3 We are pleased to announce the release of Envoy Gateway v0.3! diff --git a/docs/v0.4.0/releases/v0.4.md b/site/content/en/blog/releases/v0.4.md similarity index 96% rename from docs/v0.4.0/releases/v0.4.md rename to site/content/en/blog/releases/v0.4.md index 81a9bc3a0ede..c002ea12bdf9 100644 --- a/docs/v0.4.0/releases/v0.4.md +++ b/site/content/en/blog/releases/v0.4.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.4 release announcement. publishdate: 2023-04-24 release: v0.4.0 skip_list: true -aliases: -- /releases/v0.4 -- /releases/v0.4.0 --- -# Envoy Gateway Release v0.4 We are pleased to announce the release of Envoy Gateway v0.4! diff --git a/docs/v0.5.0/releases/v0.5.md b/site/content/en/blog/releases/v0.5.md similarity index 96% rename from docs/v0.5.0/releases/v0.5.md rename to site/content/en/blog/releases/v0.5.md index 8c7b72cd53b0..def24b00ff7b 100644 --- a/docs/v0.5.0/releases/v0.5.md +++ b/site/content/en/blog/releases/v0.5.md @@ -6,11 +6,7 @@ description: Envoy Gateway v0.5 release announcement. publishdate: 2023-08-02 release: v0.5.0 skip_list: true -aliases: -- /releases/v0.5 -- /releases/v0.5.0 --- -# Envoy Gateway Release v0.5 We are pleased to announce the release of Envoy Gateway v0.5! diff --git a/site/content/en/community/_index.md b/site/content/en/community/_index.md new file mode 100644 index 000000000000..5c1788f11ce9 --- /dev/null +++ b/site/content/en/community/_index.md @@ -0,0 +1,18 @@ +--- +title: Community +menu: {main: {weight: 40}} +--- + + + +{{% blocks/lead color="yellow" %}} + +## Getting Involved! + +We welcome contributions from the community. + +Please carefully review the +project [Goals](https://github.com/envoyproxy/gateway/blob/main/GOALS.md) and the +[Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md) before diving in. + +{{% /blocks/lead %}} diff --git a/site/content/en/docs/_index.md b/site/content/en/docs/_index.md new file mode 100644 index 000000000000..1c01c7e5e4ee --- /dev/null +++ b/site/content/en/docs/_index.md @@ -0,0 +1,3 @@ +--- +title: "Documents" +--- diff --git a/site/content/en/docs/latest/_index.md b/site/content/en/docs/latest/_index.md new file mode 100644 index 000000000000..bb29abe2d512 --- /dev/null +++ b/site/content/en/docs/latest/_index.md @@ -0,0 +1,9 @@ +--- +title: "Welcome to Envoy Gateway" +description: latest version of Envoy Gateway +linktitle: latest +weight: 1 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/latest/api/_index.md b/site/content/en/docs/latest/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/latest/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/latest/api/extension_types.md b/site/content/en/docs/latest/api/extension_types.md similarity index 99% rename from docs/latest/api/extension_types.md rename to site/content/en/docs/latest/api/extension_types.md index 2f47c3f89f83..0fe43c41906c 100644 --- a/docs/latest/api/extension_types.md +++ b/site/content/en/docs/latest/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Envoy Gateway APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/latest/design/_index.md b/site/content/en/docs/latest/design/_index.md new file mode 100644 index 000000000000..2820db4c2160 --- /dev/null +++ b/site/content/en/docs/latest/design/_index.md @@ -0,0 +1,5 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- diff --git a/docs/latest/design/accesslog.md b/site/content/en/docs/latest/design/accesslog.md similarity index 99% rename from docs/latest/design/accesslog.md rename to site/content/en/docs/latest/design/accesslog.md index 16882cd4d5a7..cb72f05fe43d 100644 --- a/docs/latest/design/accesslog.md +++ b/site/content/en/docs/latest/design/accesslog.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/docs/latest/design/bootstrap.md b/site/content/en/docs/latest/design/bootstrap.md similarity index 99% rename from docs/latest/design/bootstrap.md rename to site/content/en/docs/latest/design/bootstrap.md index 74340aac7a0e..4475710ad5d0 100644 --- a/docs/latest/design/bootstrap.md +++ b/site/content/en/docs/latest/design/bootstrap.md @@ -1,4 +1,6 @@ -# Bootstrap Design +--- +title: "Bootstrap Design" +--- ## Overview diff --git a/docs/latest/design/client-traffic-policy.md b/site/content/en/docs/latest/design/client-traffic-policy.md similarity index 98% rename from docs/latest/design/client-traffic-policy.md rename to site/content/en/docs/latest/design/client-traffic-policy.md index f4bc5c213eee..65edd4130c45 100644 --- a/docs/latest/design/client-traffic-policy.md +++ b/site/content/en/docs/latest/design/client-traffic-policy.md @@ -1,4 +1,6 @@ -# ClientTrafficPolicy +--- +title: "ClientTrafficPolicy " +--- ## Overview diff --git a/docs/latest/design/config-api.md b/site/content/en/docs/latest/design/config-api.md similarity index 99% rename from docs/latest/design/config-api.md rename to site/content/en/docs/latest/design/config-api.md index 5af6150346c1..49e997caeca8 100644 --- a/docs/latest/design/config-api.md +++ b/site/content/en/docs/latest/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.5.0/design/egctl.md b/site/content/en/docs/latest/design/egctl.md similarity index 98% rename from docs/v0.5.0/design/egctl.md rename to site/content/en/docs/latest/design/egctl.md index 7989ff49e5e2..0f67d99f1005 100644 --- a/docs/v0.5.0/design/egctl.md +++ b/site/content/en/docs/latest/design/egctl.md @@ -1,4 +1,6 @@ -# egctl Design +--- +title: "egctl Design" +--- ## Motivation diff --git a/docs/v0.5.0/design/envoy-patch-policy.md b/site/content/en/docs/latest/design/envoy-patch-policy.md similarity index 99% rename from docs/v0.5.0/design/envoy-patch-policy.md rename to site/content/en/docs/latest/design/envoy-patch-policy.md index 0116c8e6336b..d34937d05ef1 100644 --- a/docs/v0.5.0/design/envoy-patch-policy.md +++ b/site/content/en/docs/latest/design/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# EnvoyPatchPolicy +--- +title: "EnvoyPatchPolicy" +--- ## Overview diff --git a/docs/latest/design/extending-envoy-gateway.md b/site/content/en/docs/latest/design/extending-envoy-gateway.md similarity index 99% rename from docs/latest/design/extending-envoy-gateway.md rename to site/content/en/docs/latest/design/extending-envoy-gateway.md index e29f8ff2aa33..be5db0dd7385 100644 --- a/docs/latest/design/extending-envoy-gateway.md +++ b/site/content/en/docs/latest/design/extending-envoy-gateway.md @@ -1,4 +1,6 @@ -# Envoy Gateway Extensions Design +--- +title: "Envoy Gateway Extensions Design" +--- As outlined in the [official goals][] for the Envoy Gateway project, one of the main goals is to "provide a common foundation for vendors to build value-added products without having to re-engineer fundamental interactions". Development of the Envoy Gateway project has been focused on developing the core features for the project and diff --git a/docs/latest/design/gatewayapi-translator.md b/site/content/en/docs/latest/design/gatewayapi-translator.md similarity index 99% rename from docs/latest/design/gatewayapi-translator.md rename to site/content/en/docs/latest/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/latest/design/gatewayapi-translator.md +++ b/site/content/en/docs/latest/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.5.0/design/local-envoy-gateway.md b/site/content/en/docs/latest/design/local-envoy-gateway.md similarity index 97% rename from docs/v0.5.0/design/local-envoy-gateway.md rename to site/content/en/docs/latest/design/local-envoy-gateway.md index d382b8cfff82..aad0dc5f6f27 100644 --- a/docs/v0.5.0/design/local-envoy-gateway.md +++ b/site/content/en/docs/latest/design/local-envoy-gateway.md @@ -1,4 +1,6 @@ -# Running Envoy Gateway locally +--- +title: "Running Envoy Gateway locally" +--- ## Overview diff --git a/docs/latest/design/metrics.md b/site/content/en/docs/latest/design/metrics.md similarity index 98% rename from docs/latest/design/metrics.md rename to site/content/en/docs/latest/design/metrics.md index 5be5942d5703..644e3c7a6345 100644 --- a/docs/latest/design/metrics.md +++ b/site/content/en/docs/latest/design/metrics.md @@ -1,4 +1,6 @@ -# Observability: Metrics +--- +title: "Observability: Metrics" +--- ## Overview diff --git a/docs/latest/design/pprof.md b/site/content/en/docs/latest/design/pprof.md similarity index 97% rename from docs/latest/design/pprof.md rename to site/content/en/docs/latest/design/pprof.md index 552986e3bc88..c535b4800710 100644 --- a/docs/latest/design/pprof.md +++ b/site/content/en/docs/latest/design/pprof.md @@ -1,4 +1,6 @@ -# Add Pprof support in Envoy Gateway +--- +title: "Add Pprof support in Envoy Gateway" +--- ## Overview diff --git a/docs/latest/design/rate-limit.md b/site/content/en/docs/latest/design/rate-limit.md similarity index 99% rename from docs/latest/design/rate-limit.md rename to site/content/en/docs/latest/design/rate-limit.md index fb326b080b29..28ebbab8b360 100644 --- a/docs/latest/design/rate-limit.md +++ b/site/content/en/docs/latest/design/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/v0.5.0/design/request-authentication.md b/site/content/en/docs/latest/design/request-authentication.md similarity index 99% rename from docs/v0.5.0/design/request-authentication.md rename to site/content/en/docs/latest/design/request-authentication.md index 6b2192eadfd9..82682bf2a0b7 100644 --- a/docs/v0.5.0/design/request-authentication.md +++ b/site/content/en/docs/latest/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication Design +--- +title: "Request Authentication Design" +--- ## Overview diff --git a/docs/latest/design/roadmap.md b/site/content/en/docs/latest/design/roadmap.md similarity index 99% rename from docs/latest/design/roadmap.md rename to site/content/en/docs/latest/design/roadmap.md index 7304335d9aa5..8a3b56b89dd3 100644 --- a/docs/latest/design/roadmap.md +++ b/site/content/en/docs/latest/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/latest/design/system-design.md b/site/content/en/docs/latest/design/system-design.md similarity index 99% rename from docs/latest/design/system-design.md rename to site/content/en/docs/latest/design/system-design.md index 86114be37fa2..f1ae795fad3e 100644 --- a/docs/latest/design/system-design.md +++ b/site/content/en/docs/latest/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.3.0/design/tcp-udp-design.md b/site/content/en/docs/latest/design/tcp-udp-design.md similarity index 98% rename from docs/v0.3.0/design/tcp-udp-design.md rename to site/content/en/docs/latest/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/v0.3.0/design/tcp-udp-design.md +++ b/site/content/en/docs/latest/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/latest/design/tracing.md b/site/content/en/docs/latest/design/tracing.md similarity index 99% rename from docs/latest/design/tracing.md rename to site/content/en/docs/latest/design/tracing.md index 5458b1631577..0c9e97309f95 100644 --- a/docs/latest/design/tracing.md +++ b/site/content/en/docs/latest/design/tracing.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/docs/v0.4.0/design/watching.md b/site/content/en/docs/latest/design/watching.md similarity index 99% rename from docs/v0.4.0/design/watching.md rename to site/content/en/docs/latest/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/v0.4.0/design/watching.md +++ b/site/content/en/docs/latest/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/latest/dev/CODEOWNERS.md b/site/content/en/docs/latest/dev/CODEOWNERS.md similarity index 87% rename from docs/latest/dev/CODEOWNERS.md rename to site/content/en/docs/latest/dev/CODEOWNERS.md index 7168ff935d2b..9e596002bb33 100644 --- a/docs/latest/dev/CODEOWNERS.md +++ b/site/content/en/docs/latest/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/v0.2.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/latest/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/v0.2.0/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/latest/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/v0.2.0/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/latest/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.5.0/dev/CONTRIBUTING.md b/site/content/en/docs/latest/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.5.0/dev/CONTRIBUTING.md rename to site/content/en/docs/latest/dev/CONTRIBUTING.md index 04d95bb675d9..e3eafaaceed7 100644 --- a/docs/v0.5.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/latest/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/latest/dev/DOCS.md b/site/content/en/docs/latest/dev/DOCS.md similarity index 98% rename from docs/latest/dev/DOCS.md rename to site/content/en/docs/latest/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/latest/dev/DOCS.md +++ b/site/content/en/docs/latest/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/latest/dev/GOALS.md b/site/content/en/docs/latest/dev/GOALS.md similarity index 100% rename from docs/latest/dev/GOALS.md rename to site/content/en/docs/latest/dev/GOALS.md diff --git a/docs/v0.5.0/dev/README.md b/site/content/en/docs/latest/dev/README.md similarity index 99% rename from docs/v0.5.0/dev/README.md rename to site/content/en/docs/latest/dev/README.md index cf25992e5b3b..a5eaa93ea707 100644 --- a/docs/v0.5.0/dev/README.md +++ b/site/content/en/docs/latest/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/latest/dev/_index.md b/site/content/en/docs/latest/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/latest/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.5.0/dev/releasing.md b/site/content/en/docs/latest/dev/releasing.md similarity index 99% rename from docs/v0.5.0/dev/releasing.md rename to site/content/en/docs/latest/dev/releasing.md index 81625698cfa8..617baf1933e0 100644 --- a/docs/v0.5.0/dev/releasing.md +++ b/site/content/en/docs/latest/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/site/content/en/docs/latest/helm/_index.md b/site/content/en/docs/latest/helm/_index.md new file mode 100644 index 000000000000..8606fd7759c1 --- /dev/null +++ b/site/content/en/docs/latest/helm/_index.md @@ -0,0 +1,4 @@ +--- +title: "Helm" +description: This section includes Helm related contents of Envoy Gateway. +--- diff --git a/docs/latest/helm/api.md b/site/content/en/docs/latest/helm/api.md similarity index 98% rename from docs/latest/helm/api.md rename to site/content/en/docs/latest/helm/api.md index 98eb8e373049..ca33e2c5e1fe 100644 --- a/docs/latest/helm/api.md +++ b/site/content/en/docs/latest/helm/api.md @@ -1,4 +1,6 @@ -# gateway-helm +--- +title: "Helm Chart Details" +--- ![Version: v0.0.0-latest](https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) diff --git a/docs/latest/images/architecture.png b/site/content/en/docs/latest/images/architecture.png similarity index 100% rename from docs/latest/images/architecture.png rename to site/content/en/docs/latest/images/architecture.png diff --git a/docs/latest/images/extension-example.png b/site/content/en/docs/latest/images/extension-example.png similarity index 100% rename from docs/latest/images/extension-example.png rename to site/content/en/docs/latest/images/extension-example.png diff --git a/site/content/en/docs/latest/user/_index.md b/site/content/en/docs/latest/user/_index.md new file mode 100644 index 000000000000..36ece365053b --- /dev/null +++ b/site/content/en/docs/latest/user/_index.md @@ -0,0 +1,5 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- diff --git a/docs/latest/user/authn.md b/site/content/en/docs/latest/user/authn.md similarity index 99% rename from docs/latest/user/authn.md rename to site/content/en/docs/latest/user/authn.md index 0ab4d96f38c5..5965ffd9cbed 100644 --- a/docs/latest/user/authn.md +++ b/site/content/en/docs/latest/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/latest/user/customize-envoyproxy.md b/site/content/en/docs/latest/user/customize-envoyproxy.md similarity index 99% rename from docs/latest/user/customize-envoyproxy.md rename to site/content/en/docs/latest/user/customize-envoyproxy.md index ae1eb42f9f35..6e272874e523 100644 --- a/docs/latest/user/customize-envoyproxy.md +++ b/site/content/en/docs/latest/user/customize-envoyproxy.md @@ -1,4 +1,6 @@ -# Customize EnvoyProxy +--- +title: "Customize EnvoyProxy" +--- Envoy Gateway provides an [EnvoyProxy][] CRD that can be linked to the ParametersRef in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and diff --git a/docs/latest/user/deployment-mode.md b/site/content/en/docs/latest/user/deployment-mode.md similarity index 99% rename from docs/latest/user/deployment-mode.md rename to site/content/en/docs/latest/user/deployment-mode.md index af515394f299..08ea5febc5c1 100644 --- a/docs/latest/user/deployment-mode.md +++ b/site/content/en/docs/latest/user/deployment-mode.md @@ -1,4 +1,7 @@ -## Deployment Mode +--- +title: "Deployment Mode" +--- + ### One GatewayClass per Envoy Gateway diff --git a/docs/latest/user/egctl.md b/site/content/en/docs/latest/user/egctl.md similarity index 99% rename from docs/latest/user/egctl.md rename to site/content/en/docs/latest/user/egctl.md index 25644fb338f2..48ab112c86b4 100644 --- a/docs/latest/user/egctl.md +++ b/site/content/en/docs/latest/user/egctl.md @@ -1,4 +1,6 @@ -# egctl +--- +title: "Use egctl" +--- `egctl` is a command line tool to provide additional functionality for Envoy Gateway users. diff --git a/docs/latest/user/envoy-patch-policy.md b/site/content/en/docs/latest/user/envoy-patch-policy.md similarity index 99% rename from docs/latest/user/envoy-patch-policy.md rename to site/content/en/docs/latest/user/envoy-patch-policy.md index 6d70ffd07dbc..cd9fee24dfcf 100644 --- a/docs/latest/user/envoy-patch-policy.md +++ b/site/content/en/docs/latest/user/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# Envoy Patch Policy +--- +title: "Envoy Patch Policy" +--- This guide explains the usage of the [EnvoyPatchPolicy][] API. __Note:__ This API is meant for users extremely familiar with Envoy [xDS][] semantics. diff --git a/docs/latest/user/gateway-address.md b/site/content/en/docs/latest/user/gateway-address.md similarity index 98% rename from docs/latest/user/gateway-address.md rename to site/content/en/docs/latest/user/gateway-address.md index a28ad62640a2..06570cbe8320 100644 --- a/docs/latest/user/gateway-address.md +++ b/site/content/en/docs/latest/user/gateway-address.md @@ -1,4 +1,6 @@ -# Gateway Address +--- +title: "Gateway Address" +--- The Gateway API provides an optional [Addresses][] field through which Envoy Gateway can set addresses for Envoy Proxy Service. The currently supported addresses are: diff --git a/docs/latest/user/gateway-api-metrics.md b/site/content/en/docs/latest/user/gateway-api-metrics.md similarity index 98% rename from docs/latest/user/gateway-api-metrics.md rename to site/content/en/docs/latest/user/gateway-api-metrics.md index e403c90404f9..5331145b050f 100644 --- a/docs/latest/user/gateway-api-metrics.md +++ b/site/content/en/docs/latest/user/gateway-api-metrics.md @@ -1,4 +1,6 @@ -# Gateway API Metrics +--- +title: "Gateway API Metrics" +--- Resource metrics for Gateway API objects are available using the [Gateway API State Metrics](https://github.com/Kuadrant/gateway-api-state-metrics) project. The project also provides example dashboard for visualising the metrics using Grafana, and example alerts using Prometheus & Alertmanager. diff --git a/docs/latest/user/gatewayapi-support.md b/site/content/en/docs/latest/user/gatewayapi-support.md similarity index 99% rename from docs/latest/user/gatewayapi-support.md rename to site/content/en/docs/latest/user/gatewayapi-support.md index ee14f3952587..d70064dde255 100644 --- a/docs/latest/user/gatewayapi-support.md +++ b/site/content/en/docs/latest/user/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/latest/user/grpc-routing.md b/site/content/en/docs/latest/user/grpc-routing.md similarity index 99% rename from docs/latest/user/grpc-routing.md rename to site/content/en/docs/latest/user/grpc-routing.md index ef28dac199fe..5dca26744bc3 100644 --- a/docs/latest/user/grpc-routing.md +++ b/site/content/en/docs/latest/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.3.0/user/http-redirect.md b/site/content/en/docs/latest/user/http-redirect.md similarity index 99% rename from docs/v0.3.0/user/http-redirect.md rename to site/content/en/docs/latest/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/v0.3.0/user/http-redirect.md +++ b/site/content/en/docs/latest/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.3.0/user/http-request-headers.md b/site/content/en/docs/latest/user/http-request-headers.md similarity index 99% rename from docs/v0.3.0/user/http-request-headers.md rename to site/content/en/docs/latest/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/v0.3.0/user/http-request-headers.md +++ b/site/content/en/docs/latest/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/latest/user/http-request-mirroring.md b/site/content/en/docs/latest/user/http-request-mirroring.md similarity index 99% rename from docs/latest/user/http-request-mirroring.md rename to site/content/en/docs/latest/user/http-request-mirroring.md index 45b3508b2644..aaea240f5ca9 100644 --- a/docs/latest/user/http-request-mirroring.md +++ b/site/content/en/docs/latest/user/http-request-mirroring.md @@ -1,4 +1,6 @@ -# HTTPRoute Request Mirroring +--- +title: "HTTPRoute Request Mirroring" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using [Traffic Splitting](http-traffic-splitting.md), but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API's [HTTPRequestMirrorFilter][] on the `HTTPRoute`. diff --git a/docs/v0.4.0/user/http-response-headers.md b/site/content/en/docs/latest/user/http-response-headers.md similarity index 99% rename from docs/v0.4.0/user/http-response-headers.md rename to site/content/en/docs/latest/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/v0.4.0/user/http-response-headers.md +++ b/site/content/en/docs/latest/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/latest/user/http-routing.md b/site/content/en/docs/latest/user/http-routing.md similarity index 99% rename from docs/latest/user/http-routing.md rename to site/content/en/docs/latest/user/http-routing.md index 73e9b5263dad..2b0f4cf1e355 100644 --- a/docs/latest/user/http-routing.md +++ b/site/content/en/docs/latest/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.5.0/user/http-traffic-splitting.md b/site/content/en/docs/latest/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.5.0/user/http-traffic-splitting.md rename to site/content/en/docs/latest/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/v0.5.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/latest/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.4.0/user/http-urlrewrite.md b/site/content/en/docs/latest/user/http-urlrewrite.md similarity index 99% rename from docs/v0.4.0/user/http-urlrewrite.md rename to site/content/en/docs/latest/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/v0.4.0/user/http-urlrewrite.md +++ b/site/content/en/docs/latest/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/latest/user/installation.md b/site/content/en/docs/latest/user/installation.md similarity index 99% rename from docs/latest/user/installation.md rename to site/content/en/docs/latest/user/installation.md index 8f3d9de6db89..03796dbd96f7 100644 --- a/docs/latest/user/installation.md +++ b/site/content/en/docs/latest/user/installation.md @@ -1,4 +1,6 @@ -# Installation +--- +title: "Installation" +--- ## Prerequisites diff --git a/docs/latest/user/multicluster-service.md b/site/content/en/docs/latest/user/multicluster-service.md similarity index 98% rename from docs/latest/user/multicluster-service.md rename to site/content/en/docs/latest/user/multicluster-service.md index 1c46c8ab1f71..d0fd7a83fb1c 100644 --- a/docs/latest/user/multicluster-service.md +++ b/site/content/en/docs/latest/user/multicluster-service.md @@ -1,4 +1,6 @@ -# Multicluster Service Routing +--- +title: "Multicluster Service Routing" +--- The Multicluster Service API ServiceImport object can be used as part of the GatewayAPI backendRef for configuring routes. For more information about multicluster service API follow [sig documentation](https://multicluster.sigs.k8s.io/concepts/multicluster-services-api/). diff --git a/docs/v0.5.0/user/proxy-observability.md b/site/content/en/docs/latest/user/proxy-observability.md similarity index 99% rename from docs/v0.5.0/user/proxy-observability.md rename to site/content/en/docs/latest/user/proxy-observability.md index e635460865b0..8755332262d0 100644 --- a/docs/v0.5.0/user/proxy-observability.md +++ b/site/content/en/docs/latest/user/proxy-observability.md @@ -1,4 +1,6 @@ -# Proxy Observability +--- +title: "Proxy Observability" +--- Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances. This guide show you how to config proxy observability, includes metrics, logs, and traces. diff --git a/docs/latest/user/quickstart.md b/site/content/en/docs/latest/user/quickstart.md similarity index 98% rename from docs/latest/user/quickstart.md rename to site/content/en/docs/latest/user/quickstart.md index ce2623ed0052..feaf4a89ce47 100644 --- a/docs/latest/user/quickstart.md +++ b/site/content/en/docs/latest/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/latest/user/rate-limit.md b/site/content/en/docs/latest/user/rate-limit.md similarity index 99% rename from docs/latest/user/rate-limit.md rename to site/content/en/docs/latest/user/rate-limit.md index 1baa0df1140c..a2781fe0a906 100644 --- a/docs/latest/user/rate-limit.md +++ b/site/content/en/docs/latest/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit +--- +title: "Rate Limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/latest/user/secure-gateways.md b/site/content/en/docs/latest/user/secure-gateways.md similarity index 99% rename from docs/latest/user/secure-gateways.md rename to site/content/en/docs/latest/user/secure-gateways.md index 8ada7c59978a..2e04000d5a7d 100644 --- a/docs/latest/user/secure-gateways.md +++ b/site/content/en/docs/latest/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/latest/user/tcp-routing.md b/site/content/en/docs/latest/user/tcp-routing.md similarity index 99% rename from docs/latest/user/tcp-routing.md rename to site/content/en/docs/latest/user/tcp-routing.md index ed1f5430b4cb..d06ae77f7a4c 100644 --- a/docs/latest/user/tcp-routing.md +++ b/site/content/en/docs/latest/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/latest/user/tls-cert-manager.md b/site/content/en/docs/latest/user/tls-cert-manager.md similarity index 99% rename from docs/latest/user/tls-cert-manager.md rename to site/content/en/docs/latest/user/tls-cert-manager.md index 72f3384fdd5e..b47d80ca5d19 100644 --- a/docs/latest/user/tls-cert-manager.md +++ b/site/content/en/docs/latest/user/tls-cert-manager.md @@ -1,4 +1,6 @@ -# Using cert-manager For TLS Termination +--- +title: "Using cert-manager For TLS Termination" +--- This guide shows how to set up [cert-manager](https://cert-manager.io/) to automatically create certificates and secrets for use by Envoy Gateway. It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other. @@ -51,7 +53,7 @@ cert-manager can have any number of *issuer* configurations. The simplest issuer type is [SelfSigned](https://cert-manager.io/docs/configuration/selfsigned/). It simply takes the certificate request and signs it with the private key it generates for the TLS Secret. -```{note} +``` Self-signed certificates don't provide any help in establishing trust between certificates. However, they are great for initial testing, due to their simplicity. ``` diff --git a/docs/latest/user/tls-passthrough.md b/site/content/en/docs/latest/user/tls-passthrough.md similarity index 99% rename from docs/latest/user/tls-passthrough.md rename to site/content/en/docs/latest/user/tls-passthrough.md index 75a14d2a5373..2ad4610a9991 100644 --- a/docs/latest/user/tls-passthrough.md +++ b/site/content/en/docs/latest/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/latest/user/tls-termination.md b/site/content/en/docs/latest/user/tls-termination.md similarity index 98% rename from docs/latest/user/tls-termination.md rename to site/content/en/docs/latest/user/tls-termination.md index ebea433faf1b..eaae97ec9fde 100644 --- a/docs/latest/user/tls-termination.md +++ b/site/content/en/docs/latest/user/tls-termination.md @@ -1,4 +1,6 @@ -# TLS Termination for TCP +--- +title: "TLS Termination for TCP" +--- This guide will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/latest/user/udp-routing.md b/site/content/en/docs/latest/user/udp-routing.md similarity index 99% rename from docs/latest/user/udp-routing.md rename to site/content/en/docs/latest/user/udp-routing.md index 865019cc1d66..b6bc7fa633ba 100644 --- a/docs/latest/user/udp-routing.md +++ b/site/content/en/docs/latest/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/docs/m.py b/site/content/en/docs/m.py new file mode 100644 index 000000000000..33955e20b0d0 --- /dev/null +++ b/site/content/en/docs/m.py @@ -0,0 +1,22 @@ +import os +import re + +# 递归遍历目录及其子目录中的所有 .md 文件 +for root, dirs, files in os.walk('.'): + for file in files: + if file.endswith(".md"): + file_path = os.path.join(root, file) + with open(file_path, "r") as f: + content = f.readlines() + + # 查找并删除第一个一级标题 + for i in range(len(content)): + if content[i].startswith("# "): + content[i] = "" + break + + # 将新内容写回文件 + with open(file_path, "w") as f: + f.writelines(content) + +print("转换完成!") \ No newline at end of file diff --git a/site/content/en/docs/v0.2.0/_index.md b/site/content/en/docs/v0.2.0/_index.md new file mode 100644 index 000000000000..045c5cfab1c5 --- /dev/null +++ b/site/content/en/docs/v0.2.0/_index.md @@ -0,0 +1,8 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.2.0 version of Envoy Gateway +linktitle: v0.2.0 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.2.0/design/_index.md b/site/content/en/docs/v0.2.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.2.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.2.0/design/config-api.md b/site/content/en/docs/v0.2.0/design/config-api.md similarity index 99% rename from docs/v0.2.0/design/config-api.md rename to site/content/en/docs/v0.2.0/design/config-api.md index 3696860dd54d..466b84d8f351 100644 --- a/docs/v0.2.0/design/config-api.md +++ b/site/content/en/docs/v0.2.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.4.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.2.0/design/gatewayapi-translator.md similarity index 99% rename from docs/v0.4.0/design/gatewayapi-translator.md rename to site/content/en/docs/v0.2.0/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/v0.4.0/design/gatewayapi-translator.md +++ b/site/content/en/docs/v0.2.0/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.2.0/design/roadmap.md b/site/content/en/docs/v0.2.0/design/roadmap.md similarity index 99% rename from docs/v0.2.0/design/roadmap.md rename to site/content/en/docs/v0.2.0/design/roadmap.md index d6ec649e4a29..b59afc058052 100644 --- a/docs/v0.2.0/design/roadmap.md +++ b/site/content/en/docs/v0.2.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.3.0/design/system-design.md b/site/content/en/docs/v0.2.0/design/system-design.md similarity index 99% rename from docs/v0.3.0/design/system-design.md rename to site/content/en/docs/v0.2.0/design/system-design.md index 731cb0925b03..5c3c0c201997 100644 --- a/docs/v0.3.0/design/system-design.md +++ b/site/content/en/docs/v0.2.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.3.0/design/watching.md b/site/content/en/docs/v0.2.0/design/watching.md similarity index 99% rename from docs/v0.3.0/design/watching.md rename to site/content/en/docs/v0.2.0/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/v0.3.0/design/watching.md +++ b/site/content/en/docs/v0.2.0/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/v0.2.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.2.0/dev/CODEOWNERS.md similarity index 87% rename from docs/v0.2.0/dev/CODEOWNERS.md rename to site/content/en/docs/v0.2.0/dev/CODEOWNERS.md index d4229b6b23f2..7e0da1b17a21 100644 --- a/docs/v0.2.0/dev/CODEOWNERS.md +++ b/site/content/en/docs/v0.2.0/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/v0.3.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.2.0/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/v0.3.0/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/v0.2.0/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/v0.3.0/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/v0.2.0/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.3.0/dev/CONTRIBUTING.md b/site/content/en/docs/v0.2.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.3.0/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.2.0/dev/CONTRIBUTING.md index d7770bdeff2f..f4a13ff42445 100644 --- a/docs/v0.3.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.2.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/v0.3.0/dev/DOCS.md b/site/content/en/docs/v0.2.0/dev/DOCS.md similarity index 98% rename from docs/v0.3.0/dev/DOCS.md rename to site/content/en/docs/v0.2.0/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/v0.3.0/dev/DOCS.md +++ b/site/content/en/docs/v0.2.0/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/v0.2.0/dev/GOALS.md b/site/content/en/docs/v0.2.0/dev/GOALS.md similarity index 100% rename from docs/v0.2.0/dev/GOALS.md rename to site/content/en/docs/v0.2.0/dev/GOALS.md diff --git a/docs/v0.2.0/dev/README.md b/site/content/en/docs/v0.2.0/dev/README.md similarity index 99% rename from docs/v0.2.0/dev/README.md rename to site/content/en/docs/v0.2.0/dev/README.md index 4f94c06bb37a..b04522a80850 100644 --- a/docs/v0.2.0/dev/README.md +++ b/site/content/en/docs/v0.2.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.2.0/dev/_index.md b/site/content/en/docs/v0.2.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.2.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.2.0/dev/releasing.md b/site/content/en/docs/v0.2.0/dev/releasing.md similarity index 99% rename from docs/v0.2.0/dev/releasing.md rename to site/content/en/docs/v0.2.0/dev/releasing.md index 30bb5fe8c582..5a4af9e8278b 100644 --- a/docs/v0.2.0/dev/releasing.md +++ b/site/content/en/docs/v0.2.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/docs/v0.2.0/images/architecture.png b/site/content/en/docs/v0.2.0/images/architecture.png similarity index 100% rename from docs/v0.2.0/images/architecture.png rename to site/content/en/docs/v0.2.0/images/architecture.png diff --git a/site/content/en/docs/v0.2.0/user/_index.md b/site/content/en/docs/v0.2.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.2.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.2.0/user/http-redirect.md b/site/content/en/docs/v0.2.0/user/http-redirect.md similarity index 99% rename from docs/v0.2.0/user/http-redirect.md rename to site/content/en/docs/v0.2.0/user/http-redirect.md index 5b6588535eaf..245039c74b51 100644 --- a/docs/v0.2.0/user/http-redirect.md +++ b/site/content/en/docs/v0.2.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.2.0/user/http-request-headers.md b/site/content/en/docs/v0.2.0/user/http-request-headers.md similarity index 99% rename from docs/v0.2.0/user/http-request-headers.md rename to site/content/en/docs/v0.2.0/user/http-request-headers.md index b51bf946cdf9..cc801d28ddca 100644 --- a/docs/v0.2.0/user/http-request-headers.md +++ b/site/content/en/docs/v0.2.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/v0.2.0/user/http-routing.md b/site/content/en/docs/v0.2.0/user/http-routing.md similarity index 99% rename from docs/v0.2.0/user/http-routing.md rename to site/content/en/docs/v0.2.0/user/http-routing.md index d3d9bd388cbc..6ca0b8c9751a 100644 --- a/docs/v0.2.0/user/http-routing.md +++ b/site/content/en/docs/v0.2.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.2.0/user/http-traffic-splitting.md b/site/content/en/docs/v0.2.0/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.2.0/user/http-traffic-splitting.md rename to site/content/en/docs/v0.2.0/user/http-traffic-splitting.md index a3f8fe60b47c..421a4fa05461 100644 --- a/docs/v0.2.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.2.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.2.0/user/quickstart.md b/site/content/en/docs/v0.2.0/user/quickstart.md similarity index 98% rename from docs/v0.2.0/user/quickstart.md rename to site/content/en/docs/v0.2.0/user/quickstart.md index 5361ca187ea6..0827145400f6 100644 --- a/docs/v0.2.0/user/quickstart.md +++ b/site/content/en/docs/v0.2.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.2.0/user/secure-gateways.md b/site/content/en/docs/v0.2.0/user/secure-gateways.md similarity index 99% rename from docs/v0.2.0/user/secure-gateways.md rename to site/content/en/docs/v0.2.0/user/secure-gateways.md index cd5199495b9d..2919cfdd26a8 100644 --- a/docs/v0.2.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.2.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.2.0/user/tls-passthrough.md b/site/content/en/docs/v0.2.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.2.0/user/tls-passthrough.md rename to site/content/en/docs/v0.2.0/user/tls-passthrough.md index f089350d3bd0..fcfee0d82d42 100644 --- a/docs/v0.2.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.2.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/site/content/en/docs/v0.3.0/_index.md b/site/content/en/docs/v0.3.0/_index.md new file mode 100644 index 000000000000..35bb3ad518fb --- /dev/null +++ b/site/content/en/docs/v0.3.0/_index.md @@ -0,0 +1,8 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.3.0 version of Envoy Gateway +linktitle: v0.3.0 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.3.0/api/_index.md b/site/content/en/docs/v0.3.0/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/v0.3.0/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/v0.3.0/api/config_types.md b/site/content/en/docs/v0.3.0/api/config_types.md similarity index 99% rename from docs/v0.3.0/api/config_types.md rename to site/content/en/docs/v0.3.0/api/config_types.md index 8ddc73d3efc4..4ff5b3f6f181 100644 --- a/docs/v0.3.0/api/config_types.md +++ b/site/content/en/docs/v0.3.0/api/config_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Config APIs" +--- ## Packages - [config.gateway.envoyproxy.io/v1alpha1](#configgatewayenvoyproxyiov1alpha1) diff --git a/docs/v0.3.0/api/extension_types.md b/site/content/en/docs/v0.3.0/api/extension_types.md similarity index 99% rename from docs/v0.3.0/api/extension_types.md rename to site/content/en/docs/v0.3.0/api/extension_types.md index 9479da94da5c..478fc54f5dca 100644 --- a/docs/v0.3.0/api/extension_types.md +++ b/site/content/en/docs/v0.3.0/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Extension APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/v0.3.0/design/_index.md b/site/content/en/docs/v0.3.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.3.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.3.0/design/config-api.md b/site/content/en/docs/v0.3.0/design/config-api.md similarity index 99% rename from docs/v0.3.0/design/config-api.md rename to site/content/en/docs/v0.3.0/design/config-api.md index 3696860dd54d..466b84d8f351 100644 --- a/docs/v0.3.0/design/config-api.md +++ b/site/content/en/docs/v0.3.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.3.0/design/egctl.md b/site/content/en/docs/v0.3.0/design/egctl.md similarity index 98% rename from docs/v0.3.0/design/egctl.md rename to site/content/en/docs/v0.3.0/design/egctl.md index 53a5e7b998ac..c9db36e1b68c 100644 --- a/docs/v0.3.0/design/egctl.md +++ b/site/content/en/docs/v0.3.0/design/egctl.md @@ -1,4 +1,6 @@ -# Introduce egctl +--- +title: "Introduce egctl" +--- ## Motivation diff --git a/docs/v0.3.0/design/gatewayapi-support.md b/site/content/en/docs/v0.3.0/design/gatewayapi-support.md similarity index 99% rename from docs/v0.3.0/design/gatewayapi-support.md rename to site/content/en/docs/v0.3.0/design/gatewayapi-support.md index 4ce9f1b041e3..67eaf05bb4ac 100644 --- a/docs/v0.3.0/design/gatewayapi-support.md +++ b/site/content/en/docs/v0.3.0/design/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/v0.2.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.3.0/design/gatewayapi-translator.md similarity index 99% rename from docs/v0.2.0/design/gatewayapi-translator.md rename to site/content/en/docs/v0.3.0/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/v0.2.0/design/gatewayapi-translator.md +++ b/site/content/en/docs/v0.3.0/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.3.0/design/ratelimit.md b/site/content/en/docs/v0.3.0/design/ratelimit.md similarity index 99% rename from docs/v0.3.0/design/ratelimit.md rename to site/content/en/docs/v0.3.0/design/ratelimit.md index 8cf069346e44..5d080e4d08cc 100644 --- a/docs/v0.3.0/design/ratelimit.md +++ b/site/content/en/docs/v0.3.0/design/ratelimit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/latest/design/request-authentication.md b/site/content/en/docs/v0.3.0/design/request-authentication.md similarity index 99% rename from docs/latest/design/request-authentication.md rename to site/content/en/docs/v0.3.0/design/request-authentication.md index 6b2192eadfd9..a88f7392b1fa 100644 --- a/docs/latest/design/request-authentication.md +++ b/site/content/en/docs/v0.3.0/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication Design +--- +title: "Request Authentication" +--- ## Overview diff --git a/docs/v0.3.0/design/roadmap.md b/site/content/en/docs/v0.3.0/design/roadmap.md similarity index 99% rename from docs/v0.3.0/design/roadmap.md rename to site/content/en/docs/v0.3.0/design/roadmap.md index 735f19e69813..69ff513317f9 100644 --- a/docs/v0.3.0/design/roadmap.md +++ b/site/content/en/docs/v0.3.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.2.0/design/system-design.md b/site/content/en/docs/v0.3.0/design/system-design.md similarity index 99% rename from docs/v0.2.0/design/system-design.md rename to site/content/en/docs/v0.3.0/design/system-design.md index 731cb0925b03..5c3c0c201997 100644 --- a/docs/v0.2.0/design/system-design.md +++ b/site/content/en/docs/v0.3.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.4.0/design/tcp-udp-design.md b/site/content/en/docs/v0.3.0/design/tcp-udp-design.md similarity index 98% rename from docs/v0.4.0/design/tcp-udp-design.md rename to site/content/en/docs/v0.3.0/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/v0.4.0/design/tcp-udp-design.md +++ b/site/content/en/docs/v0.3.0/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/latest/design/watching.md b/site/content/en/docs/v0.3.0/design/watching.md similarity index 99% rename from docs/latest/design/watching.md rename to site/content/en/docs/v0.3.0/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/latest/design/watching.md +++ b/site/content/en/docs/v0.3.0/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/v0.3.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.3.0/dev/CODEOWNERS.md similarity index 87% rename from docs/v0.3.0/dev/CODEOWNERS.md rename to site/content/en/docs/v0.3.0/dev/CODEOWNERS.md index d4229b6b23f2..7e0da1b17a21 100644 --- a/docs/v0.3.0/dev/CODEOWNERS.md +++ b/site/content/en/docs/v0.3.0/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/v0.4.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.3.0/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/v0.4.0/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/v0.3.0/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/v0.4.0/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/v0.3.0/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.2.0/dev/CONTRIBUTING.md b/site/content/en/docs/v0.3.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.2.0/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.3.0/dev/CONTRIBUTING.md index d7770bdeff2f..f4a13ff42445 100644 --- a/docs/v0.2.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.3.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/v0.4.0/dev/DOCS.md b/site/content/en/docs/v0.3.0/dev/DOCS.md similarity index 98% rename from docs/v0.4.0/dev/DOCS.md rename to site/content/en/docs/v0.3.0/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/v0.4.0/dev/DOCS.md +++ b/site/content/en/docs/v0.3.0/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/v0.3.0/dev/GOALS.md b/site/content/en/docs/v0.3.0/dev/GOALS.md similarity index 99% rename from docs/v0.3.0/dev/GOALS.md rename to site/content/en/docs/v0.3.0/dev/GOALS.md index 519be9f180fe..0d7dea58478d 100644 --- a/docs/v0.3.0/dev/GOALS.md +++ b/site/content/en/docs/v0.3.0/dev/GOALS.md @@ -1,4 +1,6 @@ -# Goals +--- +title: "Goals" +--- The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing diff --git a/docs/v0.3.0/dev/README.md b/site/content/en/docs/v0.3.0/dev/README.md similarity index 99% rename from docs/v0.3.0/dev/README.md rename to site/content/en/docs/v0.3.0/dev/README.md index 0c3b055b6191..3a3a8e632cd3 100644 --- a/docs/v0.3.0/dev/README.md +++ b/site/content/en/docs/v0.3.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.3.0/dev/_index.md b/site/content/en/docs/v0.3.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.3.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.3.0/dev/releasing.md b/site/content/en/docs/v0.3.0/dev/releasing.md similarity index 99% rename from docs/v0.3.0/dev/releasing.md rename to site/content/en/docs/v0.3.0/dev/releasing.md index f0004caf3367..455b086c1781 100644 --- a/docs/v0.3.0/dev/releasing.md +++ b/site/content/en/docs/v0.3.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/docs/v0.3.0/images/architecture.png b/site/content/en/docs/v0.3.0/images/architecture.png similarity index 100% rename from docs/v0.3.0/images/architecture.png rename to site/content/en/docs/v0.3.0/images/architecture.png diff --git a/site/content/en/docs/v0.3.0/user/_index.md b/site/content/en/docs/v0.3.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.3.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.3.0/user/authn.md b/site/content/en/docs/v0.3.0/user/authn.md similarity index 98% rename from docs/v0.3.0/user/authn.md rename to site/content/en/docs/v0.3.0/user/authn.md index 3b40738f305b..8130cad2a839 100644 --- a/docs/v0.3.0/user/authn.md +++ b/site/content/en/docs/v0.3.0/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/v0.3.0/user/grpc-routing.md b/site/content/en/docs/v0.3.0/user/grpc-routing.md similarity index 99% rename from docs/v0.3.0/user/grpc-routing.md rename to site/content/en/docs/v0.3.0/user/grpc-routing.md index 31a25c44268f..71c7179243f7 100644 --- a/docs/v0.3.0/user/grpc-routing.md +++ b/site/content/en/docs/v0.3.0/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/latest/user/http-redirect.md b/site/content/en/docs/v0.3.0/user/http-redirect.md similarity index 99% rename from docs/latest/user/http-redirect.md rename to site/content/en/docs/v0.3.0/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/latest/user/http-redirect.md +++ b/site/content/en/docs/v0.3.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.5.0/user/http-request-headers.md b/site/content/en/docs/v0.3.0/user/http-request-headers.md similarity index 99% rename from docs/v0.5.0/user/http-request-headers.md rename to site/content/en/docs/v0.3.0/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/v0.5.0/user/http-request-headers.md +++ b/site/content/en/docs/v0.3.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/v0.3.0/user/http-response-headers.md b/site/content/en/docs/v0.3.0/user/http-response-headers.md similarity index 99% rename from docs/v0.3.0/user/http-response-headers.md rename to site/content/en/docs/v0.3.0/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/v0.3.0/user/http-response-headers.md +++ b/site/content/en/docs/v0.3.0/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.3.0/user/http-routing.md b/site/content/en/docs/v0.3.0/user/http-routing.md similarity index 99% rename from docs/v0.3.0/user/http-routing.md rename to site/content/en/docs/v0.3.0/user/http-routing.md index c9f4646001fc..91a98cad7d21 100644 --- a/docs/v0.3.0/user/http-routing.md +++ b/site/content/en/docs/v0.3.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.4.0/user/http-traffic-splitting.md b/site/content/en/docs/v0.3.0/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.4.0/user/http-traffic-splitting.md rename to site/content/en/docs/v0.3.0/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/v0.4.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.3.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/latest/user/http-urlrewrite.md b/site/content/en/docs/v0.3.0/user/http-urlrewrite.md similarity index 99% rename from docs/latest/user/http-urlrewrite.md rename to site/content/en/docs/v0.3.0/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/latest/user/http-urlrewrite.md +++ b/site/content/en/docs/v0.3.0/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/v0.3.0/user/quickstart.md b/site/content/en/docs/v0.3.0/user/quickstart.md similarity index 98% rename from docs/v0.3.0/user/quickstart.md rename to site/content/en/docs/v0.3.0/user/quickstart.md index a11d3cbe7b1f..4253a56e03f1 100644 --- a/docs/v0.3.0/user/quickstart.md +++ b/site/content/en/docs/v0.3.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.3.0/user/rate-limit.md b/site/content/en/docs/v0.3.0/user/rate-limit.md similarity index 99% rename from docs/v0.3.0/user/rate-limit.md rename to site/content/en/docs/v0.3.0/user/rate-limit.md index 446a82ee08aa..edb7b759560d 100644 --- a/docs/v0.3.0/user/rate-limit.md +++ b/site/content/en/docs/v0.3.0/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate limit +--- +title: "Rate limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/v0.3.0/user/secure-gateways.md b/site/content/en/docs/v0.3.0/user/secure-gateways.md similarity index 99% rename from docs/v0.3.0/user/secure-gateways.md rename to site/content/en/docs/v0.3.0/user/secure-gateways.md index c0e2b3bb37c9..6d3401a2d9af 100644 --- a/docs/v0.3.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.3.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.3.0/user/tcp-routing.md b/site/content/en/docs/v0.3.0/user/tcp-routing.md similarity index 99% rename from docs/v0.3.0/user/tcp-routing.md rename to site/content/en/docs/v0.3.0/user/tcp-routing.md index cb52765d3a3e..6f8cb90fe31e 100644 --- a/docs/v0.3.0/user/tcp-routing.md +++ b/site/content/en/docs/v0.3.0/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/v0.3.0/user/tls-passthrough.md b/site/content/en/docs/v0.3.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.3.0/user/tls-passthrough.md rename to site/content/en/docs/v0.3.0/user/tls-passthrough.md index 7d411f50ef27..bfffcea53bc0 100644 --- a/docs/v0.3.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.3.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/v0.3.0/user/udp-routing.md b/site/content/en/docs/v0.3.0/user/udp-routing.md similarity index 99% rename from docs/v0.3.0/user/udp-routing.md rename to site/content/en/docs/v0.3.0/user/udp-routing.md index 47c13a53e3e4..312aec697add 100644 --- a/docs/v0.3.0/user/udp-routing.md +++ b/site/content/en/docs/v0.3.0/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/docs/v0.4.0/_index.md b/site/content/en/docs/v0.4.0/_index.md new file mode 100644 index 000000000000..1f5904f3f6ad --- /dev/null +++ b/site/content/en/docs/v0.4.0/_index.md @@ -0,0 +1,8 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.4.0 version of Envoy Gateway +linktitle: v0.4.0 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.4.0/api/_index.md b/site/content/en/docs/v0.4.0/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/v0.4.0/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/v0.4.0/api/config_types.md b/site/content/en/docs/v0.4.0/api/config_types.md similarity index 99% rename from docs/v0.4.0/api/config_types.md rename to site/content/en/docs/v0.4.0/api/config_types.md index 2764ba823003..91f6b5fd5323 100644 --- a/docs/v0.4.0/api/config_types.md +++ b/site/content/en/docs/v0.4.0/api/config_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Config APIs" +--- ## Packages - [config.gateway.envoyproxy.io/v1alpha1](#configgatewayenvoyproxyiov1alpha1) diff --git a/docs/v0.4.0/api/extension_types.md b/site/content/en/docs/v0.4.0/api/extension_types.md similarity index 99% rename from docs/v0.4.0/api/extension_types.md rename to site/content/en/docs/v0.4.0/api/extension_types.md index 1b1da8e4cdc3..9bc5172b2504 100644 --- a/docs/v0.4.0/api/extension_types.md +++ b/site/content/en/docs/v0.4.0/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Extension APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/v0.4.0/design/_index.md b/site/content/en/docs/v0.4.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.4.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.5.0/design/bootstrap.md b/site/content/en/docs/v0.4.0/design/bootstrap.md similarity index 99% rename from docs/v0.5.0/design/bootstrap.md rename to site/content/en/docs/v0.4.0/design/bootstrap.md index 30f1b52116fa..9a8f0c789efa 100644 --- a/docs/v0.5.0/design/bootstrap.md +++ b/site/content/en/docs/v0.4.0/design/bootstrap.md @@ -1,4 +1,6 @@ -# Bootstrap Design +--- +title: "Bootstrap Design" +--- ## Overview diff --git a/docs/v0.5.0/design/config-api.md b/site/content/en/docs/v0.4.0/design/config-api.md similarity index 99% rename from docs/v0.5.0/design/config-api.md rename to site/content/en/docs/v0.4.0/design/config-api.md index 4caaefe3e439..ca5380151a8e 100644 --- a/docs/v0.5.0/design/config-api.md +++ b/site/content/en/docs/v0.4.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/latest/design/egctl.md b/site/content/en/docs/v0.4.0/design/egctl.md similarity index 98% rename from docs/latest/design/egctl.md rename to site/content/en/docs/v0.4.0/design/egctl.md index 7989ff49e5e2..0f67d99f1005 100644 --- a/docs/latest/design/egctl.md +++ b/site/content/en/docs/v0.4.0/design/egctl.md @@ -1,4 +1,6 @@ -# egctl Design +--- +title: "egctl Design" +--- ## Motivation diff --git a/docs/v0.4.0/design/extending-envoy-gateway.md b/site/content/en/docs/v0.4.0/design/extending-envoy-gateway.md similarity index 99% rename from docs/v0.4.0/design/extending-envoy-gateway.md rename to site/content/en/docs/v0.4.0/design/extending-envoy-gateway.md index 61278025eb0c..fef81c2f5f54 100644 --- a/docs/v0.4.0/design/extending-envoy-gateway.md +++ b/site/content/en/docs/v0.4.0/design/extending-envoy-gateway.md @@ -1,4 +1,6 @@ -# Envoy Gateway Extensions Design +--- +title: "Envoy Gateway Extensions Design" +--- As outlined in the [official goals][] for the Envoy Gateway project, one of the main goals is to "provide a common foundation for vendors to build value-added products without having to re-engineer fundamental interactions". Development of the Envoy Gateway project has been focused on developing the core features for the project and diff --git a/docs/v0.3.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.4.0/design/gatewayapi-translator.md similarity index 99% rename from docs/v0.3.0/design/gatewayapi-translator.md rename to site/content/en/docs/v0.4.0/design/gatewayapi-translator.md index 3cf0da94f5aa..3add199ee15e 100644 --- a/docs/v0.3.0/design/gatewayapi-translator.md +++ b/site/content/en/docs/v0.4.0/design/gatewayapi-translator.md @@ -1,4 +1,6 @@ -# Gateway API Translator Design +--- +title: "Gateway API Translator Design" +--- The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate Representation (IR). diff --git a/docs/v0.4.0/design/rate-limit.md b/site/content/en/docs/v0.4.0/design/rate-limit.md similarity index 99% rename from docs/v0.4.0/design/rate-limit.md rename to site/content/en/docs/v0.4.0/design/rate-limit.md index 7aaa226cf456..e6e0656c8190 100644 --- a/docs/v0.4.0/design/rate-limit.md +++ b/site/content/en/docs/v0.4.0/design/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/v0.3.0/design/request-authentication.md b/site/content/en/docs/v0.4.0/design/request-authentication.md similarity index 99% rename from docs/v0.3.0/design/request-authentication.md rename to site/content/en/docs/v0.4.0/design/request-authentication.md index dd269771cc15..82682bf2a0b7 100644 --- a/docs/v0.3.0/design/request-authentication.md +++ b/site/content/en/docs/v0.4.0/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication Design" +--- ## Overview diff --git a/docs/v0.4.0/design/roadmap.md b/site/content/en/docs/v0.4.0/design/roadmap.md similarity index 99% rename from docs/v0.4.0/design/roadmap.md rename to site/content/en/docs/v0.4.0/design/roadmap.md index 65f88de12149..301b069214e6 100644 --- a/docs/v0.4.0/design/roadmap.md +++ b/site/content/en/docs/v0.4.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.5.0/design/system-design.md b/site/content/en/docs/v0.4.0/design/system-design.md similarity index 99% rename from docs/v0.5.0/design/system-design.md rename to site/content/en/docs/v0.4.0/design/system-design.md index 86114be37fa2..f1ae795fad3e 100644 --- a/docs/v0.5.0/design/system-design.md +++ b/site/content/en/docs/v0.4.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/latest/design/tcp-udp-design.md b/site/content/en/docs/v0.4.0/design/tcp-udp-design.md similarity index 98% rename from docs/latest/design/tcp-udp-design.md rename to site/content/en/docs/v0.4.0/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/latest/design/tcp-udp-design.md +++ b/site/content/en/docs/v0.4.0/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/v0.2.0/design/watching.md b/site/content/en/docs/v0.4.0/design/watching.md similarity index 99% rename from docs/v0.2.0/design/watching.md rename to site/content/en/docs/v0.4.0/design/watching.md index b8477a30e2d6..e2d17ca86b91 100644 --- a/docs/v0.2.0/design/watching.md +++ b/site/content/en/docs/v0.4.0/design/watching.md @@ -1,4 +1,6 @@ -# Watching Components Design +--- +title: "Watching Components Design" +--- Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch external resources, and "publish" what they see for other components to consume; others watch what another publishes and diff --git a/docs/v0.4.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.4.0/dev/CODEOWNERS.md similarity index 87% rename from docs/v0.4.0/dev/CODEOWNERS.md rename to site/content/en/docs/v0.4.0/dev/CODEOWNERS.md index d4229b6b23f2..7e0da1b17a21 100644 --- a/docs/v0.4.0/dev/CODEOWNERS.md +++ b/site/content/en/docs/v0.4.0/dev/CODEOWNERS.md @@ -1,4 +1,6 @@ -# Maintainers +--- +title: "Maintainers" +--- ## The following maintainers, listed in alphabetical order, own everything diff --git a/docs/latest/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.4.0/dev/CODE_OF_CONDUCT.md similarity index 71% rename from docs/latest/dev/CODE_OF_CONDUCT.md rename to site/content/en/docs/v0.4.0/dev/CODE_OF_CONDUCT.md index a0a295770f31..bb066266f482 100644 --- a/docs/latest/dev/CODE_OF_CONDUCT.md +++ b/site/content/en/docs/v0.4.0/dev/CODE_OF_CONDUCT.md @@ -1,3 +1,5 @@ -# Community Code of Conduct +--- +title: "Community Code of Conduct" +--- Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/latest/dev/CONTRIBUTING.md b/site/content/en/docs/v0.4.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/latest/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.4.0/dev/CONTRIBUTING.md index 04d95bb675d9..e3eafaaceed7 100644 --- a/docs/latest/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.4.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/docs/v0.2.0/dev/DOCS.md b/site/content/en/docs/v0.4.0/dev/DOCS.md similarity index 98% rename from docs/v0.2.0/dev/DOCS.md rename to site/content/en/docs/v0.4.0/dev/DOCS.md index fb49b9d55dda..1abae95763c5 100644 --- a/docs/v0.2.0/dev/DOCS.md +++ b/site/content/en/docs/v0.4.0/dev/DOCS.md @@ -1,4 +1,6 @@ -# Working on the Envoy Gateway Docs +--- +title: "Working on the Envoy Gateway Docs" +--- The documentation for the Envoy Gateway lives in the `docs/` directory. Any individual document can be written using either [reStructuredText] or [Markdown], diff --git a/docs/v0.4.0/dev/GOALS.md b/site/content/en/docs/v0.4.0/dev/GOALS.md similarity index 100% rename from docs/v0.4.0/dev/GOALS.md rename to site/content/en/docs/v0.4.0/dev/GOALS.md diff --git a/docs/v0.4.0/dev/README.md b/site/content/en/docs/v0.4.0/dev/README.md similarity index 99% rename from docs/v0.4.0/dev/README.md rename to site/content/en/docs/v0.4.0/dev/README.md index 2d4f13e9e803..15914953ad46 100644 --- a/docs/v0.4.0/dev/README.md +++ b/site/content/en/docs/v0.4.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.4.0/dev/_index.md b/site/content/en/docs/v0.4.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.4.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/v0.4.0/dev/releasing.md b/site/content/en/docs/v0.4.0/dev/releasing.md similarity index 99% rename from docs/v0.4.0/dev/releasing.md rename to site/content/en/docs/v0.4.0/dev/releasing.md index f0004caf3367..455b086c1781 100644 --- a/docs/v0.4.0/dev/releasing.md +++ b/site/content/en/docs/v0.4.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/docs/v0.4.0/images/architecture.png b/site/content/en/docs/v0.4.0/images/architecture.png similarity index 100% rename from docs/v0.4.0/images/architecture.png rename to site/content/en/docs/v0.4.0/images/architecture.png diff --git a/docs/v0.4.0/images/extension-example.png b/site/content/en/docs/v0.4.0/images/extension-example.png similarity index 100% rename from docs/v0.4.0/images/extension-example.png rename to site/content/en/docs/v0.4.0/images/extension-example.png diff --git a/site/content/en/docs/v0.4.0/user/_index.md b/site/content/en/docs/v0.4.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.4.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.4.0/user/authn.md b/site/content/en/docs/v0.4.0/user/authn.md similarity index 98% rename from docs/v0.4.0/user/authn.md rename to site/content/en/docs/v0.4.0/user/authn.md index 1a7dba621971..ed115c95471b 100644 --- a/docs/v0.4.0/user/authn.md +++ b/site/content/en/docs/v0.4.0/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/v0.4.0/user/customize-envoyproxy.md b/site/content/en/docs/v0.4.0/user/customize-envoyproxy.md similarity index 99% rename from docs/v0.4.0/user/customize-envoyproxy.md rename to site/content/en/docs/v0.4.0/user/customize-envoyproxy.md index 04b7062f4508..c561b520e049 100644 --- a/docs/v0.4.0/user/customize-envoyproxy.md +++ b/site/content/en/docs/v0.4.0/user/customize-envoyproxy.md @@ -1,4 +1,6 @@ -# Customize EnvoyProxy +--- +title: "Customize EnvoyProxy" +--- Envoy Gateway provides a [EnvoyProxy][] CRD that can be linked to the ParametersRef in GatewayClass y cluster admins to customize the managed EnvoyProxy Deployment and diff --git a/docs/v0.4.0/user/deployment-mode.md b/site/content/en/docs/v0.4.0/user/deployment-mode.md similarity index 99% rename from docs/v0.4.0/user/deployment-mode.md rename to site/content/en/docs/v0.4.0/user/deployment-mode.md index 8c409d4c44e9..4566e2cc83de 100644 --- a/docs/v0.4.0/user/deployment-mode.md +++ b/site/content/en/docs/v0.4.0/user/deployment-mode.md @@ -1,4 +1,7 @@ -## Deployment Mode +--- +title: "Deployment Mode" +--- + ### One GatewayClass per Envoy Gateway diff --git a/docs/v0.4.0/user/egctl.md b/site/content/en/docs/v0.4.0/user/egctl.md similarity index 99% rename from docs/v0.4.0/user/egctl.md rename to site/content/en/docs/v0.4.0/user/egctl.md index 08621e40f47a..29f0200f8967 100644 --- a/docs/v0.4.0/user/egctl.md +++ b/site/content/en/docs/v0.4.0/user/egctl.md @@ -1,4 +1,6 @@ -# egctl +--- +title: "Use egctl" +--- `egctl` is a command line tool to provide additional functionality for Envoy Gateway users. diff --git a/docs/v0.4.0/user/gatewayapi-support.md b/site/content/en/docs/v0.4.0/user/gatewayapi-support.md similarity index 99% rename from docs/v0.4.0/user/gatewayapi-support.md rename to site/content/en/docs/v0.4.0/user/gatewayapi-support.md index f1129da290c7..79e077498427 100644 --- a/docs/v0.4.0/user/gatewayapi-support.md +++ b/site/content/en/docs/v0.4.0/user/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/v0.4.0/user/grpc-routing.md b/site/content/en/docs/v0.4.0/user/grpc-routing.md similarity index 99% rename from docs/v0.4.0/user/grpc-routing.md rename to site/content/en/docs/v0.4.0/user/grpc-routing.md index a18be6e9b9c4..393767fc4340 100644 --- a/docs/v0.4.0/user/grpc-routing.md +++ b/site/content/en/docs/v0.4.0/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.5.0/user/http-redirect.md b/site/content/en/docs/v0.4.0/user/http-redirect.md similarity index 99% rename from docs/v0.5.0/user/http-redirect.md rename to site/content/en/docs/v0.4.0/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/v0.5.0/user/http-redirect.md +++ b/site/content/en/docs/v0.4.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/latest/user/http-request-headers.md b/site/content/en/docs/v0.4.0/user/http-request-headers.md similarity index 99% rename from docs/latest/user/http-request-headers.md rename to site/content/en/docs/v0.4.0/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/latest/user/http-request-headers.md +++ b/site/content/en/docs/v0.4.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/latest/user/http-response-headers.md b/site/content/en/docs/v0.4.0/user/http-response-headers.md similarity index 99% rename from docs/latest/user/http-response-headers.md rename to site/content/en/docs/v0.4.0/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/latest/user/http-response-headers.md +++ b/site/content/en/docs/v0.4.0/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.4.0/user/http-routing.md b/site/content/en/docs/v0.4.0/user/http-routing.md similarity index 99% rename from docs/v0.4.0/user/http-routing.md rename to site/content/en/docs/v0.4.0/user/http-routing.md index 35f893586518..67fe8e48e04d 100644 --- a/docs/v0.4.0/user/http-routing.md +++ b/site/content/en/docs/v0.4.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/v0.3.0/user/http-traffic-splitting.md b/site/content/en/docs/v0.4.0/user/http-traffic-splitting.md similarity index 99% rename from docs/v0.3.0/user/http-traffic-splitting.md rename to site/content/en/docs/v0.4.0/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/v0.3.0/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.4.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.5.0/user/http-urlrewrite.md b/site/content/en/docs/v0.4.0/user/http-urlrewrite.md similarity index 99% rename from docs/v0.5.0/user/http-urlrewrite.md rename to site/content/en/docs/v0.4.0/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/v0.5.0/user/http-urlrewrite.md +++ b/site/content/en/docs/v0.4.0/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/v0.4.0/user/quickstart.md b/site/content/en/docs/v0.4.0/user/quickstart.md similarity index 98% rename from docs/v0.4.0/user/quickstart.md rename to site/content/en/docs/v0.4.0/user/quickstart.md index c7d1ea099e40..7fc64879f366 100644 --- a/docs/v0.4.0/user/quickstart.md +++ b/site/content/en/docs/v0.4.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.4.0/user/rate-limit.md b/site/content/en/docs/v0.4.0/user/rate-limit.md similarity index 99% rename from docs/v0.4.0/user/rate-limit.md rename to site/content/en/docs/v0.4.0/user/rate-limit.md index aaaca7064733..59e216f15d2c 100644 --- a/docs/v0.4.0/user/rate-limit.md +++ b/site/content/en/docs/v0.4.0/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate limit +--- +title: "Rate limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/v0.5.0/user/secure-gateways.md b/site/content/en/docs/v0.4.0/user/secure-gateways.md similarity index 99% rename from docs/v0.5.0/user/secure-gateways.md rename to site/content/en/docs/v0.4.0/user/secure-gateways.md index 8ada7c59978a..2e04000d5a7d 100644 --- a/docs/v0.5.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.4.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.4.0/user/tcp-routing.md b/site/content/en/docs/v0.4.0/user/tcp-routing.md similarity index 99% rename from docs/v0.4.0/user/tcp-routing.md rename to site/content/en/docs/v0.4.0/user/tcp-routing.md index 1ffbc2553b4a..fea9b35341af 100644 --- a/docs/v0.4.0/user/tcp-routing.md +++ b/site/content/en/docs/v0.4.0/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/v0.4.0/user/tls-passthrough.md b/site/content/en/docs/v0.4.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.4.0/user/tls-passthrough.md rename to site/content/en/docs/v0.4.0/user/tls-passthrough.md index cc8d71365488..fde4eb358249 100644 --- a/docs/v0.4.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.4.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/v0.4.0/user/udp-routing.md b/site/content/en/docs/v0.4.0/user/udp-routing.md similarity index 99% rename from docs/v0.4.0/user/udp-routing.md rename to site/content/en/docs/v0.4.0/user/udp-routing.md index dfbd8a76c550..68e81ad3f6c9 100644 --- a/docs/v0.4.0/user/udp-routing.md +++ b/site/content/en/docs/v0.4.0/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/docs/v0.5.0/_index.md b/site/content/en/docs/v0.5.0/_index.md new file mode 100644 index 000000000000..de8038ac4481 --- /dev/null +++ b/site/content/en/docs/v0.5.0/_index.md @@ -0,0 +1,9 @@ +--- +title: "Welcome to Envoy Gateway" +description: v0.5.0 version of Envoy Gateway +linktitle: v0.5.0 +weight: 2 +--- + +Envoy Gateway is an open source project for managing **Envoy Proxy** as a standalone or Kubernetes-based application +gateway. **Gateway API** resources are used to dynamically provision and configure the managed Envoy Proxies. diff --git a/site/content/en/docs/v0.5.0/api/_index.md b/site/content/en/docs/v0.5.0/api/_index.md new file mode 100644 index 000000000000..1d7c67c8c151 --- /dev/null +++ b/site/content/en/docs/v0.5.0/api/_index.md @@ -0,0 +1,4 @@ +--- +title: "API" +description: This section includes APIs of Envoy Gateway. +--- diff --git a/docs/v0.5.0/api/config_types.md b/site/content/en/docs/v0.5.0/api/config_types.md similarity index 99% rename from docs/v0.5.0/api/config_types.md rename to site/content/en/docs/v0.5.0/api/config_types.md index 9ce37099fdcf..93764201f349 100644 --- a/docs/v0.5.0/api/config_types.md +++ b/site/content/en/docs/v0.5.0/api/config_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Config APIs" +--- ## Packages - [config.gateway.envoyproxy.io/v1alpha1](#configgatewayenvoyproxyiov1alpha1) diff --git a/docs/v0.5.0/api/extension_types.md b/site/content/en/docs/v0.5.0/api/extension_types.md similarity index 99% rename from docs/v0.5.0/api/extension_types.md rename to site/content/en/docs/v0.5.0/api/extension_types.md index 977cd2ac8611..5eb811ac4514 100644 --- a/docs/v0.5.0/api/extension_types.md +++ b/site/content/en/docs/v0.5.0/api/extension_types.md @@ -1,4 +1,6 @@ -# API Reference +--- +title: "Extension APIs" +--- ## Packages - [gateway.envoyproxy.io/v1alpha1](#gatewayenvoyproxyiov1alpha1) diff --git a/site/content/en/docs/v0.5.0/design/_index.md b/site/content/en/docs/v0.5.0/design/_index.md new file mode 100644 index 000000000000..21650809f7da --- /dev/null +++ b/site/content/en/docs/v0.5.0/design/_index.md @@ -0,0 +1,6 @@ +--- +title: "Design" +weight: 1 +description: This section includes Designs of Envoy Gateway. +--- + diff --git a/docs/v0.5.0/design/accesslog.md b/site/content/en/docs/v0.5.0/design/accesslog.md similarity index 99% rename from docs/v0.5.0/design/accesslog.md rename to site/content/en/docs/v0.5.0/design/accesslog.md index 6d8b9d0c218c..46f39afa8eff 100644 --- a/docs/v0.5.0/design/accesslog.md +++ b/site/content/en/docs/v0.5.0/design/accesslog.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/docs/v0.4.0/design/bootstrap.md b/site/content/en/docs/v0.5.0/design/bootstrap.md similarity index 99% rename from docs/v0.4.0/design/bootstrap.md rename to site/content/en/docs/v0.5.0/design/bootstrap.md index 30f1b52116fa..9a8f0c789efa 100644 --- a/docs/v0.4.0/design/bootstrap.md +++ b/site/content/en/docs/v0.5.0/design/bootstrap.md @@ -1,4 +1,6 @@ -# Bootstrap Design +--- +title: "Bootstrap Design" +--- ## Overview diff --git a/docs/v0.4.0/design/config-api.md b/site/content/en/docs/v0.5.0/design/config-api.md similarity index 99% rename from docs/v0.4.0/design/config-api.md rename to site/content/en/docs/v0.5.0/design/config-api.md index 4caaefe3e439..ca5380151a8e 100644 --- a/docs/v0.4.0/design/config-api.md +++ b/site/content/en/docs/v0.5.0/design/config-api.md @@ -1,4 +1,6 @@ -# Configuration API Design +--- +title: "Configuration API Design" +--- ## Motivation diff --git a/docs/v0.4.0/design/egctl.md b/site/content/en/docs/v0.5.0/design/egctl.md similarity index 98% rename from docs/v0.4.0/design/egctl.md rename to site/content/en/docs/v0.5.0/design/egctl.md index 7989ff49e5e2..0f67d99f1005 100644 --- a/docs/v0.4.0/design/egctl.md +++ b/site/content/en/docs/v0.5.0/design/egctl.md @@ -1,4 +1,6 @@ -# egctl Design +--- +title: "egctl Design" +--- ## Motivation diff --git a/docs/latest/design/envoy-patch-policy.md b/site/content/en/docs/v0.5.0/design/envoy-patch-policy.md similarity index 99% rename from docs/latest/design/envoy-patch-policy.md rename to site/content/en/docs/v0.5.0/design/envoy-patch-policy.md index 0116c8e6336b..d34937d05ef1 100644 --- a/docs/latest/design/envoy-patch-policy.md +++ b/site/content/en/docs/v0.5.0/design/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# EnvoyPatchPolicy +--- +title: "EnvoyPatchPolicy" +--- ## Overview diff --git a/docs/v0.5.0/design/extending-envoy-gateway.md b/site/content/en/docs/v0.5.0/design/extending-envoy-gateway.md similarity index 99% rename from docs/v0.5.0/design/extending-envoy-gateway.md rename to site/content/en/docs/v0.5.0/design/extending-envoy-gateway.md index df56964a5731..5e62dd9ab493 100644 --- a/docs/v0.5.0/design/extending-envoy-gateway.md +++ b/site/content/en/docs/v0.5.0/design/extending-envoy-gateway.md @@ -1,4 +1,6 @@ -# Envoy Gateway Extensions Design +--- +title: "Envoy Gateway Extensions Design" +--- As outlined in the [official goals][] for the Envoy Gateway project, one of the main goals is to "provide a common foundation for vendors to build value-added products without having to re-engineer fundamental interactions". Development of the Envoy Gateway project has been focused on developing the core features for the project and diff --git a/site/content/en/docs/v0.5.0/design/gatewayapi-translator.md b/site/content/en/docs/v0.5.0/design/gatewayapi-translator.md new file mode 100644 index 000000000000..3add199ee15e --- /dev/null +++ b/site/content/en/docs/v0.5.0/design/gatewayapi-translator.md @@ -0,0 +1,252 @@ +--- +title: "Gateway API Translator Design" +--- + +The Gateway API translates external resources, e.g. GatewayClass, from the configured Provider to the Intermediate +Representation (IR). + +## Assumptions + +Initially target core conformance features only, to be followed by extended conformance features. + +## Inputs and Outputs + +The main inputs to the Gateway API translator are: + +- GatewayClass, Gateway, HTTPRoute, TLSRoute, Service, ReferenceGrant, Namespace, and Secret resources. + +__Note:__ ReferenceGrant is not fully implemented as of v0.2. + +The outputs of the Gateway API translator are: + +- Xds and Infra Internal Representations (IRs). +- Status updates for GatewayClass, Gateways, HTTPRoutes + +## Listener Compatibility + +Envoy Gateway follows Gateway API listener compatibility spec: +> Each listener in a Gateway must have a unique combination of Hostname, Port, and Protocol. An implementation MAY group +> Listeners by Port and then collapse each group of Listeners into a single Listener if the implementation determines +> that the Listeners in the group are “compatible”. + +__Note:__ Envoy Gateway does not collapse listeners across multiple Gateways. + +### Listener Compatibility Examples + +#### Example 1: Gateway with compatible Listeners (same port & protocol, different hostnames) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: "*.envoygateway.io" + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: whales.envoygateway.io +``` + +#### Example 2: Gateway with compatible Listeners (same port & protocol, one hostname specified, one not) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: "*.envoygateway.io" + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All +``` + +#### Example 3: Gateway with incompatible Listeners (same port, protocol and hostname) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: whales.envoygateway.io + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + hostname: whales.envoygateway.io +``` + +#### Example 4: Gateway with incompatible Listeners (neither specify a hostname) + +```yaml +kind: Gateway +apiVersion: gateway.networking.k8s.io/v1beta1 +metadata: + name: gateway-1 + namespace: envoy-gateway +spec: + gatewayClassName: envoy-gateway + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: All +``` + +## Computing Status + +Gateway API specifies a rich set of status fields & conditions for each resource. To achieve conformance, Envoy Gateway +must compute the appropriate status fields and conditions for managed resources. + +Status is computed and set for: + +- The managed GatewayClass (`gatewayclass.status.conditions`). +- Each managed Gateway, based on its Listeners' status (`gateway.status.conditions`). For the Kubernetes provider, the + Envoy Deployment and Service status are also included to calculate Gateway status. +- Listeners for each Gateway (`gateway.status.listeners`). +- The ParentRef for each Route (`route.status.parents`). + +The Gateway API translator is responsible for calculating status conditions while translating Gateway API resources to +the IR and publishing status over the [message bus][]. The Status Manager subscribes to these status messages and +updates the resource status using the configured provider. For example, the Status Manager uses a Kubernetes client to +update resource status on the Kubernetes API server. + +## Outline + +The following roughly outlines the translation process. Each step may produce (1) IR; and (2) status updates on Gateway +API resources. + +1. Process Gateway Listeners + - Validate unique hostnames, ports, and protocols. + - Validate and compute supported kinds. + - Validate allowed namespaces (validate selector if specified). + - Validate TLS fields if specified, including resolving referenced Secrets. + +2. Process HTTPRoutes + - foreach route rule: + - compute matches + - [core] path exact, path prefix + - [core] header exact + - [extended] query param exact + - [extended] HTTP method + - compute filters + - [core] request header modifier (set/add/remove) + - [core] request redirect (hostname, statuscode) + - [extended] request mirror + - compute backends + - [core] Kubernetes services + - foreach route parent ref: + - get matching listeners (check Gateway, section name, listener validation status, listener allowed routes, hostname intersection) + - foreach matching listener: + - foreach hostname intersection with route: + - add each computed route rule to host + +## Context Structs + +To help store, access and manipulate information as it's processed during the translation process, a set of context +structs are used. These structs wrap a given Gateway API type, and add additional fields and methods to support +processing. + +`GatewayContext` wraps a Gateway and provides helper methods for setting conditions, accessing Listeners, etc. + +```go +type GatewayContext struct { + // The managed Gateway + *v1beta1.Gateway + + // A list of Gateway ListenerContexts. + listeners []*ListenerContext +} +``` + +`ListenerContext` wraps a Listener and provides helper methods for setting conditions and other status information on +the associated Gateway. + +```go +type ListenerContext struct { + // The Gateway listener. + *v1beta1.Listener + + // The Gateway this Listener belongs to. + gateway *v1beta1.Gateway + + // An index used for managing this listener in the list of Gateway listeners. + listenerStatusIdx int + + // Only Routes in namespaces selected by the selector may be attached + // to the Gateway this listener belongs to. + namespaceSelector labels.Selector + + // The TLS Secret for this Listener, if applicable. + tlsSecret *v1.Secret +} +``` + +`RouteContext` represents a generic Route object (HTTPRoute, TLSRoute, etc.) that can reference Gateway objects. + +```go +type RouteContext interface { + client.Object + + // GetRouteType returns the Kind of the Route object, HTTPRoute, + // TLSRoute, TCPRoute, UDPRoute etc. + GetRouteType() string + + // GetHostnames returns the hosts targeted by the Route object. + GetHostnames() []string + + // GetParentReferences returns the ParentReference of the Route object. + GetParentReferences() []v1beta1.ParentReference + + // GetRouteParentContext returns RouteParentContext by using the Route + // objects' ParentReference. + GetRouteParentContext(forParentRef v1beta1.ParentReference) *RouteParentContext +} +``` + +[message bus]: watching.md diff --git a/docs/latest/design/local-envoy-gateway.md b/site/content/en/docs/v0.5.0/design/local-envoy-gateway.md similarity index 97% rename from docs/latest/design/local-envoy-gateway.md rename to site/content/en/docs/v0.5.0/design/local-envoy-gateway.md index d382b8cfff82..aad0dc5f6f27 100644 --- a/docs/latest/design/local-envoy-gateway.md +++ b/site/content/en/docs/v0.5.0/design/local-envoy-gateway.md @@ -1,4 +1,6 @@ -# Running Envoy Gateway locally +--- +title: "Running Envoy Gateway locally" +--- ## Overview diff --git a/docs/v0.5.0/design/metrics.md b/site/content/en/docs/v0.5.0/design/metrics.md similarity index 98% rename from docs/v0.5.0/design/metrics.md rename to site/content/en/docs/v0.5.0/design/metrics.md index 2a2924a993a5..b226db6a0027 100644 --- a/docs/v0.5.0/design/metrics.md +++ b/site/content/en/docs/v0.5.0/design/metrics.md @@ -1,4 +1,6 @@ -# Observability: Metrics +--- +title: "Observability: Metrics" +--- ## Overview diff --git a/docs/v0.5.0/design/pprof.md b/site/content/en/docs/v0.5.0/design/pprof.md similarity index 97% rename from docs/v0.5.0/design/pprof.md rename to site/content/en/docs/v0.5.0/design/pprof.md index 0e0f3bdb64a6..68a64695dd5c 100644 --- a/docs/v0.5.0/design/pprof.md +++ b/site/content/en/docs/v0.5.0/design/pprof.md @@ -1,4 +1,6 @@ -# Add Pprof support in Envoy Gateway +--- +title: "Add Pprof support in Envoy Gateway" +--- ## Overview diff --git a/docs/v0.5.0/design/rate-limit.md b/site/content/en/docs/v0.5.0/design/rate-limit.md similarity index 99% rename from docs/v0.5.0/design/rate-limit.md rename to site/content/en/docs/v0.5.0/design/rate-limit.md index fb326b080b29..28ebbab8b360 100644 --- a/docs/v0.5.0/design/rate-limit.md +++ b/site/content/en/docs/v0.5.0/design/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit Design +--- +title: "Rate Limit Design" +--- ## Overview diff --git a/docs/v0.4.0/design/request-authentication.md b/site/content/en/docs/v0.5.0/design/request-authentication.md similarity index 99% rename from docs/v0.4.0/design/request-authentication.md rename to site/content/en/docs/v0.5.0/design/request-authentication.md index 6b2192eadfd9..82682bf2a0b7 100644 --- a/docs/v0.4.0/design/request-authentication.md +++ b/site/content/en/docs/v0.5.0/design/request-authentication.md @@ -1,4 +1,6 @@ -# Request Authentication Design +--- +title: "Request Authentication Design" +--- ## Overview diff --git a/docs/v0.5.0/design/roadmap.md b/site/content/en/docs/v0.5.0/design/roadmap.md similarity index 99% rename from docs/v0.5.0/design/roadmap.md rename to site/content/en/docs/v0.5.0/design/roadmap.md index 7304335d9aa5..8a3b56b89dd3 100644 --- a/docs/v0.5.0/design/roadmap.md +++ b/site/content/en/docs/v0.5.0/design/roadmap.md @@ -1,4 +1,6 @@ -# Roadmap +--- +title: "Roadmap" +--- This document serves as a high-level reference for Envoy Gateway users and contributors to understand the direction of the project. diff --git a/docs/v0.4.0/design/system-design.md b/site/content/en/docs/v0.5.0/design/system-design.md similarity index 99% rename from docs/v0.4.0/design/system-design.md rename to site/content/en/docs/v0.5.0/design/system-design.md index 86114be37fa2..f1ae795fad3e 100644 --- a/docs/v0.4.0/design/system-design.md +++ b/site/content/en/docs/v0.5.0/design/system-design.md @@ -1,4 +1,6 @@ -# System Design +--- +title: "System Design" +--- ## Goals diff --git a/docs/v0.5.0/design/tcp-udp-design.md b/site/content/en/docs/v0.5.0/design/tcp-udp-design.md similarity index 98% rename from docs/v0.5.0/design/tcp-udp-design.md rename to site/content/en/docs/v0.5.0/design/tcp-udp-design.md index 276221b897ba..f517e24fedae 100644 --- a/docs/v0.5.0/design/tcp-udp-design.md +++ b/site/content/en/docs/v0.5.0/design/tcp-udp-design.md @@ -1,4 +1,6 @@ -# TCP and UDP Proxy Design +--- +title: "TCP and UDP Proxy Design " +--- Even though most of the use cases for Envoy Gateway are at Layer-7, Envoy Gateway can also work at Layer-4 to proxy TCP and UDP traffic. This document will explore the options we have when operating Envoy Gateway at Layer-4 and explain the diff --git a/docs/v0.5.0/design/tracing.md b/site/content/en/docs/v0.5.0/design/tracing.md similarity index 99% rename from docs/v0.5.0/design/tracing.md rename to site/content/en/docs/v0.5.0/design/tracing.md index 73d7b94ce214..22d0f2e969ab 100644 --- a/docs/v0.5.0/design/tracing.md +++ b/site/content/en/docs/v0.5.0/design/tracing.md @@ -1,4 +1,6 @@ -# Observability: Accesslog +--- +title: "Observability: Accesslog" +--- ## Overview diff --git a/site/content/en/docs/v0.5.0/design/watching.md b/site/content/en/docs/v0.5.0/design/watching.md new file mode 100644 index 000000000000..e2d17ca86b91 --- /dev/null +++ b/site/content/en/docs/v0.5.0/design/watching.md @@ -0,0 +1,119 @@ +--- +title: "Watching Components Design" +--- + +Envoy Gateway is made up of several components that communicate in-process. Some of them (namely Providers) watch +external resources, and "publish" what they see for other components to consume; others watch what another publishes and +act on it (such as the resource translator watches what the providers publish, and then publishes its own results that +are watched by another component). Some of these internally published results are consumed by multiple components. + +To facilitate this communication use the [watchable][] library. The `watchable.Map` type is very similar to the +standard library's `sync.Map` type, but supports a `.Subscribe` (and `.SubscribeSubset`) method that promotes a pub/sub +pattern. + +## Pub + +Many of the things we communicate around are naturally named, either by a bare "name" string or by a "name"/"namespace" +tuple. And because `watchable.Map` is typed, it makes sense to have one map for each type of thing (very similar to if +we were using native Go `map`s). For example, a struct that might be written to by the Kubernetes provider, and read by +the IR translator: + + ```go + type ResourceTable struct { + // gateway classes are cluster-scoped; no namespace + GatewayClasses watchable.Map[string, *gwapiv1b1.GatewayClass] + + // gateways are namespace-scoped, so use a k8s.io/apimachinery/pkg/types.NamespacedName as the map key. + Gateways watchable.Map[types.NamespacedName, *gwapiv1b1.Gateway] + + HTTPRoutes watchable.Map[types.NamespacedName, *gwapiv1b1.HTTPRoute] + } + ``` + +The Kubernetes provider updates the table by calling `table.Thing.Store(name, val)` and `table.Thing.Delete(name)`; +updating a map key with a value that is deep-equal (usually `reflect.DeepEqual`, but you can implement your own `.Equal` +method) the current value is a no-op; it won't trigger an event for subscribers. This is handy so that the publisher +doesn't have as much state to keep track of; it doesn't need to know "did I already publish this thing", it can just +`.Store` its data and `watchable` will do the right thing. + +## Sub + +Meanwhile, the translator and other interested components subscribe to it with `table.Thing.Subscribe` (or +`table.Thing.SubscribeSubset` if they only care about a few "Thing"s). So the translator goroutine might look like: + + ```go + func(ctx context.Context) error { + for snapshot := range k8sTable.HTTPRoutes.Subscribe(ctx) { + fullState := irInput{ + GatewayClasses: k8sTable.GatewayClasses.LoadAll(), + Gateways: k8sTable.Gateways.LoadAll(), + HTTPRoutes: snapshot.State, + } + translate(irInput) + } + } + ``` + +Or, to watch multiple maps in the same loop: + + ```go + func worker(ctx context.Context) error { + classCh := k8sTable.GatewayClasses.Subscribe(ctx) + gwCh := k8sTable.Gateways.Subscribe(ctx) + routeCh := k8sTable.HTTPRoutes.Subscribe(ctx) + for ctx.Err() == nil { + var arg irInput + select { + case snapshot := <-classCh: + arg.GatewayClasses = snapshot.State + case snapshot := <-gwCh: + arg.Gateways = snapshot.State + case snapshot := <-routeCh: + arg.Routes = snapshot.State + } + if arg.GateWayClasses == nil { + arg.GatewayClasses = k8sTable.GateWayClasses.LoadAll() + } + if arg.GateWays == nil { + arg.Gateways = k8sTable.GateWays.LoadAll() + } + if arg.HTTPRoutes == nil { + arg.HTTPRoutes = k8sTable.HTTPRoutes.LoadAll() + } + translate(irInput) + } + } + ``` + +From the updates it gets from `.Subscribe`, it can get a full view of the map being subscribed to via `snapshot.State`; +but it must read the other maps explicitly. Like `sync.Map`, `watchable.Map`s are thread-safe; while `.Subscribe` is a +handy way to know when to run, `.Load` and friends can be used without subscribing. + +There can be any number of subscribers. For that matter, there can be any number of publishers `.Store`ing things, but +it's probably wise to just have one publisher for each map. + +The channel returned from `.Subscribe` **is immediately readable** with a snapshot of the map as it existed when +`.Subscribe` was called; and becomes readable again whenever `.Store` or `.Delete` mutates the map. If multiple +mutations happen between reads (or if mutations happen between `.Subscribe` and the first read), they are coalesced in +to one snapshot to be read; the `snapshot.State` is the most-recent full state, and `snapshot.Updates` is a listing of +each of the mutations that cause this snapshot to be different than the last-read one. This way subscribers don't need +to worry about a backlog accumulating if they can't keep up with the rate of changes from the publisher. + +If the map contains anything before `.Subscribe` is called, that very first read won't include `snapshot.Updates` +entries for those pre-existing items; if you are working with `snapshot.Update` instead of `snapshot.State`, then you +must add special handling for your first read. We have a utility function `./internal/message.HandleSubscription` to +help with this. + +## Other Notes + +The common pattern will likely be that the entrypoint that launches the goroutines for each component instantiates the +map, and passes them to the appropriate publishers and subscribers; same as if they were communicating via a dumb +`chan`. + +A limitation of `watchable.Map` is that in order to ensure safety between goroutines, it does require that value types +be deep-copiable; either by having a `DeepCopy` method, being a `proto.Message`, or by containing no reference types and +so can be deep-copied by naive assignment. Fortunately, we're using `controller-gen` anyway, and `controller-gen` can +generate `DeepCopy` methods for us: just stick a `// +k8s:deepcopy-gen=true` on the types that you want it to generate +methods for. + +[watchable]: https://pkg.go.dev/github.com/telepresenceio/watchable diff --git a/site/content/en/docs/v0.5.0/dev/CODEOWNERS.md b/site/content/en/docs/v0.5.0/dev/CODEOWNERS.md new file mode 100644 index 000000000000..7e0da1b17a21 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/CODEOWNERS.md @@ -0,0 +1,17 @@ +--- +title: "Maintainers" +--- + +## The following maintainers, listed in alphabetical order, own everything + +- @AliceProxy +- @arkodg +- @skriss +- @Xunzhuo +- @youngnick +- @zirain + +## Emeritus Maintainers + +- @danehans +- @alexgervais diff --git a/site/content/en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md b/site/content/en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md new file mode 100644 index 000000000000..bb066266f482 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/CODE_OF_CONDUCT.md @@ -0,0 +1,5 @@ +--- +title: "Community Code of Conduct" +--- + +Gateway follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/docs/v0.4.0/dev/CONTRIBUTING.md b/site/content/en/docs/v0.5.0/dev/CONTRIBUTING.md similarity index 99% rename from docs/v0.4.0/dev/CONTRIBUTING.md rename to site/content/en/docs/v0.5.0/dev/CONTRIBUTING.md index 04d95bb675d9..e3eafaaceed7 100644 --- a/docs/v0.4.0/dev/CONTRIBUTING.md +++ b/site/content/en/docs/v0.5.0/dev/CONTRIBUTING.md @@ -1,4 +1,6 @@ -# Contributing +--- +title: "Contributing" +--- We welcome contributions from the community. Please carefully review the [project goals](GOALS.md) and following guidelines to streamline your contributions. diff --git a/site/content/en/docs/v0.5.0/dev/DOCS.md b/site/content/en/docs/v0.5.0/dev/DOCS.md new file mode 100644 index 000000000000..1abae95763c5 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/DOCS.md @@ -0,0 +1,65 @@ +--- +title: "Working on the Envoy Gateway Docs" +--- + +The documentation for the Envoy Gateway lives in the `docs/` directory. Any +individual document can be written using either [reStructuredText] or [Markdown], +you can choose the format that you're most comfortable with when working on the +documentation. + +## Documentation Structure + +We supported the versioned Docs now, the directory name under docs represents +the version of docs. The root of the latest site is in `docs/latest/index.rst`. +This is probably where to start if you're trying to understand how things fit together. + +Note that the new contents should be added to `docs/latest` and will be cut off at +the next release. The contents under `docs/v0.2.0` are auto-generated, +and usually do not need to make changes to them, unless if you find the current release pages have +some incorrect contents. If so, you should send a PR to update contents both of `docs/latest` +and `docs/v0.2.0`. + +It's important to note that a given document _must_ have a reference in some +`.. toctree::` section for the document to be reachable. Not everything needs +to be in `docs/index.rst`'s `toctree` though. + +You can access the website which represents the current release in default, +and you can access the website which contains the latest version changes in +[Here][latest-website] or at the footer of the pages. + +## Documentation Workflow + +To work with the docs, just edit reStructuredText or Markdown files in `docs`, +then run + +```bash +make docs +``` + +This will create `docs/html` with the built HTML pages. You can view the docs +either simply by pointing a web browser at the `file://` path to your +`docs/html`, or by firing up a static webserver from that directory, e.g. + +``` shell +make docs-serve +``` + +If you want to generate a new release version of the docs, like `v0.3.0`, then run + +```bash +make docs-release TAG=v0.3.0 +``` + +This will update the VERSION file at the project root, which records current release version, +and it will be used in the pages version context and binary version output. Also, this will generate +new dir `docs/v0.3.0`, which contains docs at v0.3.0 and updates artifact links to `v0.3.0` +in all files under `docs/v0.3.0/user`, like `quickstart.md`, `http-routing.md` and etc. + +## Publishing Docs + +Whenever docs are pushed to `main`, CI will publish the built docs to GitHub +Pages. For more details, see `.github/workflows/docs.yaml`. + +[reStructuredText]: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html +[Markdown]: https://daringfireball.net/projects/markdown/syntax +[latest-website]: https://gateway.envoyproxy.io/latest diff --git a/docs/v0.5.0/dev/GOALS.md b/site/content/en/docs/v0.5.0/dev/GOALS.md similarity index 99% rename from docs/v0.5.0/dev/GOALS.md rename to site/content/en/docs/v0.5.0/dev/GOALS.md index 519be9f180fe..0d7dea58478d 100644 --- a/docs/v0.5.0/dev/GOALS.md +++ b/site/content/en/docs/v0.5.0/dev/GOALS.md @@ -1,4 +1,6 @@ -# Goals +--- +title: "Goals" +--- The high-level goal of the Envoy Gateway project is to attract more users to Envoy by lowering barriers to adoption through expressive, extensible, role-oriented APIs that support a multitude of ingress and L7/L4 traffic routing diff --git a/docs/latest/dev/README.md b/site/content/en/docs/v0.5.0/dev/README.md similarity index 99% rename from docs/latest/dev/README.md rename to site/content/en/docs/v0.5.0/dev/README.md index cf25992e5b3b..a5eaa93ea707 100644 --- a/docs/latest/dev/README.md +++ b/site/content/en/docs/v0.5.0/dev/README.md @@ -1,4 +1,6 @@ -# Developer Guide +--- +title: "Developer Guide" +--- Envoy Gateway is built using a [make][]-based build system. Our CI is based on [Github Actions][] using [workflows][]. diff --git a/site/content/en/docs/v0.5.0/dev/_index.md b/site/content/en/docs/v0.5.0/dev/_index.md new file mode 100644 index 000000000000..b4ea3bc1a5b0 --- /dev/null +++ b/site/content/en/docs/v0.5.0/dev/_index.md @@ -0,0 +1,5 @@ +--- +title: "Development" +weight: 3 +description: This section includes Developments of Envoy Gateway. +--- diff --git a/docs/latest/dev/releasing.md b/site/content/en/docs/v0.5.0/dev/releasing.md similarity index 99% rename from docs/latest/dev/releasing.md rename to site/content/en/docs/v0.5.0/dev/releasing.md index 81625698cfa8..617baf1933e0 100644 --- a/docs/latest/dev/releasing.md +++ b/site/content/en/docs/v0.5.0/dev/releasing.md @@ -1,4 +1,6 @@ -# Release Process +--- +title: "Release Process" +--- This document guides maintainers through the process of creating an Envoy Gateway release. diff --git a/site/content/en/docs/v0.5.0/helm/_index.md b/site/content/en/docs/v0.5.0/helm/_index.md new file mode 100644 index 000000000000..8606fd7759c1 --- /dev/null +++ b/site/content/en/docs/v0.5.0/helm/_index.md @@ -0,0 +1,4 @@ +--- +title: "Helm" +description: This section includes Helm related contents of Envoy Gateway. +--- diff --git a/docs/v0.5.0/helm/api.md b/site/content/en/docs/v0.5.0/helm/api.md similarity index 98% rename from docs/v0.5.0/helm/api.md rename to site/content/en/docs/v0.5.0/helm/api.md index 98eb8e373049..ca33e2c5e1fe 100644 --- a/docs/v0.5.0/helm/api.md +++ b/site/content/en/docs/v0.5.0/helm/api.md @@ -1,4 +1,6 @@ -# gateway-helm +--- +title: "Helm Chart Details" +--- ![Version: v0.0.0-latest](https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) diff --git a/docs/v0.5.0/images/architecture.png b/site/content/en/docs/v0.5.0/images/architecture.png similarity index 100% rename from docs/v0.5.0/images/architecture.png rename to site/content/en/docs/v0.5.0/images/architecture.png diff --git a/docs/v0.5.0/images/extension-example.png b/site/content/en/docs/v0.5.0/images/extension-example.png similarity index 100% rename from docs/v0.5.0/images/extension-example.png rename to site/content/en/docs/v0.5.0/images/extension-example.png diff --git a/site/content/en/docs/v0.5.0/user/_index.md b/site/content/en/docs/v0.5.0/user/_index.md new file mode 100644 index 000000000000..32a4b32e7904 --- /dev/null +++ b/site/content/en/docs/v0.5.0/user/_index.md @@ -0,0 +1,6 @@ +--- +title: "User Guide" +weight: 2 +description: This section includes User Guides of Envoy Gateway. +--- + diff --git a/docs/v0.5.0/user/authn.md b/site/content/en/docs/v0.5.0/user/authn.md similarity index 98% rename from docs/v0.5.0/user/authn.md rename to site/content/en/docs/v0.5.0/user/authn.md index 1344248cf607..f09bd31108e6 100644 --- a/docs/v0.5.0/user/authn.md +++ b/site/content/en/docs/v0.5.0/user/authn.md @@ -1,4 +1,6 @@ -# Request Authentication +--- +title: "Request Authentication" +--- This guide provides instructions for configuring [JSON Web Token (JWT)][jwt] authentication. JWT authentication checks if an incoming request has a valid JWT before routing the request to a backend service. Currently, Envoy Gateway only diff --git a/docs/v0.5.0/user/customize-envoyproxy.md b/site/content/en/docs/v0.5.0/user/customize-envoyproxy.md similarity index 99% rename from docs/v0.5.0/user/customize-envoyproxy.md rename to site/content/en/docs/v0.5.0/user/customize-envoyproxy.md index 924799e1b9e5..1be0298ffd4d 100644 --- a/docs/v0.5.0/user/customize-envoyproxy.md +++ b/site/content/en/docs/v0.5.0/user/customize-envoyproxy.md @@ -1,4 +1,6 @@ -# Customize EnvoyProxy +--- +title: "Customize EnvoyProxy" +--- Envoy Gateway provides an [EnvoyProxy][] CRD that can be linked to the ParametersRef in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and diff --git a/docs/v0.5.0/user/deployment-mode.md b/site/content/en/docs/v0.5.0/user/deployment-mode.md similarity index 99% rename from docs/v0.5.0/user/deployment-mode.md rename to site/content/en/docs/v0.5.0/user/deployment-mode.md index 3e523b6680ec..2a35c5bafdec 100644 --- a/docs/v0.5.0/user/deployment-mode.md +++ b/site/content/en/docs/v0.5.0/user/deployment-mode.md @@ -1,4 +1,7 @@ -## Deployment Mode +--- +title: "Deployment Mode" +--- + ### One GatewayClass per Envoy Gateway diff --git a/docs/v0.5.0/user/egctl.md b/site/content/en/docs/v0.5.0/user/egctl.md similarity index 99% rename from docs/v0.5.0/user/egctl.md rename to site/content/en/docs/v0.5.0/user/egctl.md index bd027daa3e6a..a09b1b434813 100644 --- a/docs/v0.5.0/user/egctl.md +++ b/site/content/en/docs/v0.5.0/user/egctl.md @@ -1,4 +1,6 @@ -# egctl +--- +title: "Use egctl" +--- `egctl` is a command line tool to provide additional functionality for Envoy Gateway users. diff --git a/docs/v0.5.0/user/envoy-patch-policy.md b/site/content/en/docs/v0.5.0/user/envoy-patch-policy.md similarity index 99% rename from docs/v0.5.0/user/envoy-patch-policy.md rename to site/content/en/docs/v0.5.0/user/envoy-patch-policy.md index efabd72f5f14..cb7d16d2afe7 100644 --- a/docs/v0.5.0/user/envoy-patch-policy.md +++ b/site/content/en/docs/v0.5.0/user/envoy-patch-policy.md @@ -1,4 +1,6 @@ -# Envoy Patch Policy +--- +title: "Envoy Patch Policy" +--- This guide explains the usage of the [EnvoyPatchPolicy][] API. __Note:__ This API is meant for users extremely familiar with Envoy [xDS][] semantics. diff --git a/docs/v0.5.0/user/gateway-address.md b/site/content/en/docs/v0.5.0/user/gateway-address.md similarity index 98% rename from docs/v0.5.0/user/gateway-address.md rename to site/content/en/docs/v0.5.0/user/gateway-address.md index 9bf1f8f6671d..c3f264aa35ed 100644 --- a/docs/v0.5.0/user/gateway-address.md +++ b/site/content/en/docs/v0.5.0/user/gateway-address.md @@ -1,4 +1,6 @@ -# Gateway Address +--- +title: "Gateway Address" +--- The Gateway API provides an optional [Addresses][] field through which Envoy Gateway can set addresses for Envoy Proxy Service. The currently supported addresses are: diff --git a/docs/v0.5.0/user/gatewayapi-support.md b/site/content/en/docs/v0.5.0/user/gatewayapi-support.md similarity index 99% rename from docs/v0.5.0/user/gatewayapi-support.md rename to site/content/en/docs/v0.5.0/user/gatewayapi-support.md index 7894a198dc3a..368745d2f759 100644 --- a/docs/v0.5.0/user/gatewayapi-support.md +++ b/site/content/en/docs/v0.5.0/user/gatewayapi-support.md @@ -1,4 +1,6 @@ -# Gateway API Support +--- +title: "Gateway API Support" +--- As mentioned in the [system design][] document, Envoy Gateway's managed data plane is configured dynamically through Kubernetes resources, primarily [Gateway API][] objects. Envoy Gateway supports configuration using the following Gateway API resources. diff --git a/docs/v0.5.0/user/grpc-routing.md b/site/content/en/docs/v0.5.0/user/grpc-routing.md similarity index 99% rename from docs/v0.5.0/user/grpc-routing.md rename to site/content/en/docs/v0.5.0/user/grpc-routing.md index a6fc3925c06e..f95785c32cf5 100644 --- a/docs/v0.5.0/user/grpc-routing.md +++ b/site/content/en/docs/v0.5.0/user/grpc-routing.md @@ -1,4 +1,6 @@ -# GRPC Routing +--- +title: "GRPC Routing" +--- The [GRPCRoute][] resource allows users to configure gRPC routing by matching HTTP/2 traffic and forwarding it to backend gRPC servers. To learn more about gRPC routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.4.0/user/http-redirect.md b/site/content/en/docs/v0.5.0/user/http-redirect.md similarity index 99% rename from docs/v0.4.0/user/http-redirect.md rename to site/content/en/docs/v0.5.0/user/http-redirect.md index dcd72749f368..da61bdaf32f3 100644 --- a/docs/v0.4.0/user/http-redirect.md +++ b/site/content/en/docs/v0.5.0/user/http-redirect.md @@ -1,4 +1,6 @@ -# HTTP Redirects +--- +title: "HTTP Redirects" +--- The [HTTPRoute][] resource can issue redirects to clients or rewrite paths sent upstream using filters. Note that HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ diff --git a/docs/v0.4.0/user/http-request-headers.md b/site/content/en/docs/v0.5.0/user/http-request-headers.md similarity index 99% rename from docs/v0.4.0/user/http-request-headers.md rename to site/content/en/docs/v0.5.0/user/http-request-headers.md index 5e1d77fe6d2f..17fe3b87bcb1 100644 --- a/docs/v0.4.0/user/http-request-headers.md +++ b/site/content/en/docs/v0.5.0/user/http-request-headers.md @@ -1,4 +1,6 @@ -# HTTP Request Headers +--- +title: "HTTP Request Headers" +--- The [HTTPRoute][] resource can modify the headers of a request before forwarding it to the upstream service. HTTPRoute rules cannot use both filter types at once. Currently, Envoy Gateway only supports __core__ [HTTPRoute filters][] which diff --git a/docs/v0.5.0/user/http-request-mirroring.md b/site/content/en/docs/v0.5.0/user/http-request-mirroring.md similarity index 99% rename from docs/v0.5.0/user/http-request-mirroring.md rename to site/content/en/docs/v0.5.0/user/http-request-mirroring.md index 45b3508b2644..aaea240f5ca9 100644 --- a/docs/v0.5.0/user/http-request-mirroring.md +++ b/site/content/en/docs/v0.5.0/user/http-request-mirroring.md @@ -1,4 +1,6 @@ -# HTTPRoute Request Mirroring +--- +title: "HTTPRoute Request Mirroring" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams. It is possible to divide the traffic between these backends using [Traffic Splitting](http-traffic-splitting.md), but it is also possible to mirror requests to another Service instead. Request mirroring is accomplished using Gateway API's [HTTPRequestMirrorFilter][] on the `HTTPRoute`. diff --git a/docs/v0.5.0/user/http-response-headers.md b/site/content/en/docs/v0.5.0/user/http-response-headers.md similarity index 99% rename from docs/v0.5.0/user/http-response-headers.md rename to site/content/en/docs/v0.5.0/user/http-response-headers.md index 6c77c2e6c2c4..4a27728003d7 100644 --- a/docs/v0.5.0/user/http-response-headers.md +++ b/site/content/en/docs/v0.5.0/user/http-response-headers.md @@ -1,4 +1,6 @@ -# HTTP Response Headers +--- +title: "HTTP Response Headers" +--- The [HTTPRoute][] resource can modify the headers of a response before responding it to the downstream service. To learn more about HTTP routing, refer to the [Gateway API documentation][]. diff --git a/docs/v0.5.0/user/http-routing.md b/site/content/en/docs/v0.5.0/user/http-routing.md similarity index 99% rename from docs/v0.5.0/user/http-routing.md rename to site/content/en/docs/v0.5.0/user/http-routing.md index c6a70b63664c..eb77751344ad 100644 --- a/docs/v0.5.0/user/http-routing.md +++ b/site/content/en/docs/v0.5.0/user/http-routing.md @@ -1,4 +1,6 @@ -# HTTP Routing +--- +title: "HTTP Routing" +--- The [HTTPRoute][] resource allows users to configure HTTP routing by matching HTTP traffic and forwarding it to Kubernetes backends. Currently, the only supported backend supported by Envoy Gateway is a Service resource. This guide diff --git a/docs/latest/user/http-traffic-splitting.md b/site/content/en/docs/v0.5.0/user/http-traffic-splitting.md similarity index 99% rename from docs/latest/user/http-traffic-splitting.md rename to site/content/en/docs/v0.5.0/user/http-traffic-splitting.md index 92fed8bd0b11..94f021b5aecb 100644 --- a/docs/latest/user/http-traffic-splitting.md +++ b/site/content/en/docs/v0.5.0/user/http-traffic-splitting.md @@ -1,4 +1,6 @@ -# HTTPRoute Traffic Splitting +--- +title: "HTTPRoute Traffic Splitting" +--- The [HTTPRoute][] resource allows one or more [backendRefs][] to be provided. Requests will be routed to these upstreams if they match the rules of the HTTPRoute. If an invalid backendRef is configured, then HTTP responses will be returned diff --git a/docs/v0.3.0/user/http-urlrewrite.md b/site/content/en/docs/v0.5.0/user/http-urlrewrite.md similarity index 99% rename from docs/v0.3.0/user/http-urlrewrite.md rename to site/content/en/docs/v0.5.0/user/http-urlrewrite.md index 88e29c3269cc..fb68ae883221 100644 --- a/docs/v0.3.0/user/http-urlrewrite.md +++ b/site/content/en/docs/v0.5.0/user/http-urlrewrite.md @@ -1,4 +1,6 @@ -# HTTP URL Rewrite +--- +title: "HTTP URL Rewrite" +--- [HTTPURLRewriteFilter][] defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This MUST NOT be used on the same Route rule as a HTTPRequestRedirect filter. diff --git a/docs/v0.5.0/user/installation.md b/site/content/en/docs/v0.5.0/user/installation.md similarity index 99% rename from docs/v0.5.0/user/installation.md rename to site/content/en/docs/v0.5.0/user/installation.md index 8bca533dd9a9..29b6a60b1ca7 100644 --- a/docs/v0.5.0/user/installation.md +++ b/site/content/en/docs/v0.5.0/user/installation.md @@ -1,4 +1,6 @@ -# Installation +--- +title: "Installation" +--- ## Prerequisites diff --git a/docs/latest/user/proxy-observability.md b/site/content/en/docs/v0.5.0/user/proxy-observability.md similarity index 99% rename from docs/latest/user/proxy-observability.md rename to site/content/en/docs/v0.5.0/user/proxy-observability.md index e635460865b0..8755332262d0 100644 --- a/docs/latest/user/proxy-observability.md +++ b/site/content/en/docs/v0.5.0/user/proxy-observability.md @@ -1,4 +1,6 @@ -# Proxy Observability +--- +title: "Proxy Observability" +--- Envoy Gateway provides observability for the ControlPlane and the underlying EnvoyProxy instances. This guide show you how to config proxy observability, includes metrics, logs, and traces. diff --git a/docs/v0.5.0/user/quickstart.md b/site/content/en/docs/v0.5.0/user/quickstart.md similarity index 98% rename from docs/v0.5.0/user/quickstart.md rename to site/content/en/docs/v0.5.0/user/quickstart.md index 55e066469aa1..8efb6a44ffe1 100644 --- a/docs/v0.5.0/user/quickstart.md +++ b/site/content/en/docs/v0.5.0/user/quickstart.md @@ -1,4 +1,7 @@ -# Quickstart +--- +title: "Quickstart" +weight: 1 +--- This guide will help you get started with Envoy Gateway in a few simple steps. diff --git a/docs/v0.5.0/user/rate-limit.md b/site/content/en/docs/v0.5.0/user/rate-limit.md similarity index 99% rename from docs/v0.5.0/user/rate-limit.md rename to site/content/en/docs/v0.5.0/user/rate-limit.md index 2e6c165b96dd..3c780c730a6b 100644 --- a/docs/v0.5.0/user/rate-limit.md +++ b/site/content/en/docs/v0.5.0/user/rate-limit.md @@ -1,4 +1,6 @@ -# Rate Limit +--- +title: "Rate Limit" +--- Rate limit is a feature that allows the user to limit the number of incoming requests to a predefined value based on attributes within the traffic flow. diff --git a/docs/v0.4.0/user/secure-gateways.md b/site/content/en/docs/v0.5.0/user/secure-gateways.md similarity index 99% rename from docs/v0.4.0/user/secure-gateways.md rename to site/content/en/docs/v0.5.0/user/secure-gateways.md index 8ada7c59978a..2e04000d5a7d 100644 --- a/docs/v0.4.0/user/secure-gateways.md +++ b/site/content/en/docs/v0.5.0/user/secure-gateways.md @@ -1,4 +1,6 @@ -# Secure Gateways +--- +title: "Secure Gateways" +--- This guide will help you get started using secure Gateways. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.5.0/user/tcp-routing.md b/site/content/en/docs/v0.5.0/user/tcp-routing.md similarity index 99% rename from docs/v0.5.0/user/tcp-routing.md rename to site/content/en/docs/v0.5.0/user/tcp-routing.md index 07d07ba4b5b6..9ee9194400ba 100644 --- a/docs/v0.5.0/user/tcp-routing.md +++ b/site/content/en/docs/v0.5.0/user/tcp-routing.md @@ -1,4 +1,6 @@ -# TCP Routing +--- +title: "TCP Routing" +--- [TCPRoute][] provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute. To learn more about diff --git a/docs/v0.5.0/user/tls-cert-manager.md b/site/content/en/docs/v0.5.0/user/tls-cert-manager.md similarity index 99% rename from docs/v0.5.0/user/tls-cert-manager.md rename to site/content/en/docs/v0.5.0/user/tls-cert-manager.md index 8cfb3b2eb023..7b56dd169565 100644 --- a/docs/v0.5.0/user/tls-cert-manager.md +++ b/site/content/en/docs/v0.5.0/user/tls-cert-manager.md @@ -1,4 +1,6 @@ -# Using cert-manager For TLS Termination +--- +title: "Using cert-manager For TLS Termination" +--- This guide shows how to set up [cert-manager](https://cert-manager.io/) to automatically create certificates and secrets for use by Envoy Gateway. It will first show how to enable the self-sign issuer, which is useful to test that cert-manager and Envoy Gateway can talk to each other. @@ -51,7 +53,7 @@ cert-manager can have any number of *issuer* configurations. The simplest issuer type is [SelfSigned](https://cert-manager.io/docs/configuration/selfsigned/). It simply takes the certificate request and signs it with the private key it generates for the TLS Secret. -```{note} +``` Self-signed certificates don't provide any help in establishing trust between certificates. However, they are great for initial testing, due to their simplicity. ``` diff --git a/docs/v0.5.0/user/tls-passthrough.md b/site/content/en/docs/v0.5.0/user/tls-passthrough.md similarity index 99% rename from docs/v0.5.0/user/tls-passthrough.md rename to site/content/en/docs/v0.5.0/user/tls-passthrough.md index ecb5ebc16581..d5fa1067c4ee 100644 --- a/docs/v0.5.0/user/tls-passthrough.md +++ b/site/content/en/docs/v0.5.0/user/tls-passthrough.md @@ -1,4 +1,6 @@ -# TLS Passthrough +--- +title: "TLS Passthrough" +--- This guide will walk through the steps required to configure TLS Passthrough via Envoy Gateway. Unlike configuring Secure Gateways, where the Gateway terminates the client TLS connection, TLS Passthrough allows the application itself diff --git a/docs/v0.5.0/user/tls-termination.md b/site/content/en/docs/v0.5.0/user/tls-termination.md similarity index 98% rename from docs/v0.5.0/user/tls-termination.md rename to site/content/en/docs/v0.5.0/user/tls-termination.md index 35f278063f93..7975a31c1964 100644 --- a/docs/v0.5.0/user/tls-termination.md +++ b/site/content/en/docs/v0.5.0/user/tls-termination.md @@ -1,4 +1,6 @@ -# TLS Termination for TCP +--- +title: "TLS Termination for TCP" +--- This guide will walk through the steps required to configure TLS Terminate mode for TCP traffic via Envoy Gateway. The guide uses a self-signed CA, so it should be used for testing and demonstration purposes only. diff --git a/docs/v0.5.0/user/udp-routing.md b/site/content/en/docs/v0.5.0/user/udp-routing.md similarity index 99% rename from docs/v0.5.0/user/udp-routing.md rename to site/content/en/docs/v0.5.0/user/udp-routing.md index 16b4c9434197..59b4992b98a5 100644 --- a/docs/v0.5.0/user/udp-routing.md +++ b/site/content/en/docs/v0.5.0/user/udp-routing.md @@ -1,4 +1,6 @@ -# UDP Routing +--- +title: "UDP Routing" +--- The [UDPRoute][] resource allows users to configure UDP routing by matching UDP traffic and forwarding it to Kubernetes backends. This guide will use CoreDNS example to walk you through the steps required to configure UDPRoute on Envoy diff --git a/site/content/en/featured-background.jpg b/site/content/en/featured-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1f8c56bc2993ff7b68a848d0fc6024fae6c8ade GIT binary patch literal 400690 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

#Z@rNH8(wtt1Kmz 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 literal 0 HcmV?d00001 diff --git a/site/content/en/search.md b/site/content/en/search.md new file mode 100644 index 000000000000..394feea5fdb3 --- /dev/null +++ b/site/content/en/search.md @@ -0,0 +1,4 @@ +--- +title: Search Results +layout: search +--- diff --git a/site/docker-compose.yaml b/site/docker-compose.yaml new file mode 100644 index 000000000000..e8f211a610ef --- /dev/null +++ b/site/docker-compose.yaml @@ -0,0 +1,13 @@ +version: "3.3" + +services: + + site: + image: docsy/docsy-example + build: + context: . + command: server + ports: + - "1313:1313" + volumes: + - .:/src diff --git a/site/go.mod b/site/go.mod new file mode 100644 index 000000000000..ec0974f56141 --- /dev/null +++ b/site/go.mod @@ -0,0 +1,9 @@ +module github.com/google/docsy-example + +go 1.12 + +require ( + github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 // indirect + github.com/google/docsy v0.7.1 // indirect + github.com/twbs/bootstrap v5.2.3+incompatible // indirect +) diff --git a/site/go.sum b/site/go.sum new file mode 100644 index 000000000000..e1d4ad4df70a --- /dev/null +++ b/site/go.sum @@ -0,0 +1,22 @@ +github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f h1:bvkUptSRPZBr3Kxuk+bnWCEmQ5MtEJX5fjezyV0bC3g= +github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4 h1:xfr9SidRCMEh4A8fdkLhFPcHAVbrdv3Ua0Jp/nSmhhQ= +github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 h1:Uv1z5EqCfmiK4IHUwT0m3h/u/WCk+kpRfxvAZhpC7Gc= +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.5.1 h1:D/ZdFKiE29xM/gwPwQzmkyXhcbQGkReRS6aGrF7lnYk= +github.com/google/docsy v0.5.1/go.mod h1:maoUAQU5H/d+FrZIB4xg1EVWAx7RyFMGSDJyWghm31E= +github.com/google/docsy v0.6.0 h1:43bVF18t2JihAamelQjjGzx1vO2ljCilVrBgetCA8oI= +github.com/google/docsy v0.6.0/go.mod h1:VKKLqD8PQ7AglJc98yBorATfW7GrNVsn0kGXVYF6G+M= +github.com/google/docsy v0.7.0 h1:JaeZ0/KufX/BJ3SyATb/fmZa1DFI7o5d9KU+i6+lLJY= +github.com/google/docsy v0.7.0/go.mod h1:5WhIFchr5BfH6agjcInhpLRz7U7map0bcmKSpcrg6BE= +github.com/google/docsy v0.7.1 h1:DUriA7Nr3lJjNi9Ulev1SfiG1sUYmvyDeU4nTp7uDxY= +github.com/google/docsy v0.7.1/go.mod h1:JCmE+c+izhE0Rvzv3y+AzHhz1KdwlA9Oj5YBMklJcfc= +github.com/google/docsy/dependencies v0.5.1/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= +github.com/google/docsy/dependencies v0.6.0/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= +github.com/google/docsy/dependencies v0.7.0/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/google/docsy/dependencies v0.7.1/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/twbs/bootstrap v4.6.2+incompatible h1:TDa+R51BTiy1wEHSYjmqDb8LxNl/zaEjAOpRE9Hwh/o= +github.com/twbs/bootstrap v4.6.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.2.3+incompatible h1:lOmsJx587qfF7/gE7Vv4FxEofegyJlEACeVV+Mt7cgc= +github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/site/hugo.toml b/site/hugo.toml new file mode 100644 index 000000000000..e4785d69371f --- /dev/null +++ b/site/hugo.toml @@ -0,0 +1,230 @@ +baseURL = "http://gateway.xunzhuo.cafe/" +title = "Envoy Gateway" + +# Language settings +contentDir = "content/en" +defaultContentLanguage = "en" +defaultContentLanguageInSubdir = false +# Useful when translating. +enableMissingTranslationPlaceholders = true + +enableRobotsTXT = true + +# Will give values to .Lastmod etc. +enableGitInfo = true + +# Comment out to enable taxonomies in Docsy +# disableKinds = ["taxonomy", "taxonomyTerm"] + +# You can add your own taxonomies +[taxonomies] +tag = "tags" +category = "categories" + +[params.taxonomy] +# set taxonomyCloud = [] to hide taxonomy clouds +taxonomyCloud = ["tags", "categories"] + +# If used, must have same length as taxonomyCloud +taxonomyCloudTitle = ["Tag Cloud", "Categories"] + +# set taxonomyPageHeader = [] to hide taxonomies on the page headers +taxonomyPageHeader = ["tags", "categories"] + + +# Highlighting config +pygmentsCodeFences = true +pygmentsUseClasses = false +# Use the new Chroma Go highlighter in Hugo. +pygmentsUseClassic = false +#pygmentsOptions = "linenos=table" +# See https://help.farbox.com/pygments.html +pygmentsStyle = "tango" + +# Configure how URLs look like per section. +[permalinks] +blog = "/:section/:year/:month/:day/:slug/" + +# Image processing configuration. +[imaging] +resampleFilter = "CatmullRom" +quality = 75 +anchor = "smart" + +[services] +[services.googleAnalytics] +# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. +id = "UA-00000000-0" + +# Language configuration + +[languages] +[languages.en] +languageName ="English" +# Weight used for sorting. +weight = 1 +[languages.en.params] +title = "Envoy Gateway" +description = "Manages Envoy Proxy as a Standalone or Kubernetes-based Application Gateway" + +[markup] + [markup.goldmark] + [markup.goldmark.parser.attribute] + block = true + [markup.goldmark.renderer] + unsafe = true + [markup.highlight] + # See a complete list of available styles at https://xyproto.github.io/splash/docs/all.html + style = "tango" + # Uncomment if you want your chosen highlight style used for code blocks without a specified language + # guessSyntax = "true" + +# Everything below this are Site Params + +# Comment out if you don't want the "print entire section" link enabled. +[outputs] +section = ["HTML", "print", "RSS"] + +[params] +copyright = "The Envoy Gateway Authors" +privacy_policy = "https://policies.google.com/privacy" + +# First one is picked as the Twitter card image if not set on page. +# images = ["images/project-illustration.png"] + +# Menu title if your navbar has a versions selector to access old versions of your site. +# This menu appears only if you have at least one [params.versions] set. +version_menu = "Releases" + +# Flag used in the "version-banner" partial to decide whether to display a +# banner on every page indicating that this is an archived version of the docs. +# Set this flag to "true" if you want to display the banner. +archived_version = false + +# The version number for the version of the docs represented in this doc set. +# Used in the "version-banner" partial to display a version number for the +# current doc set. +version = "latest" + +# A link to latest version of the docs. Used in the "version-banner" partial to +# point people to the main doc site. +url_latest_version = "https://gateway.envoyproxy.io" + +# Repository configuration (URLs for in-page links to opening issues and suggesting changes) +github_repo = "https://github.com/envoyproxy/gateway" +# An optional link to a related project repo. For example, the sibling repository where your product code lives. +github_project_repo = "https://github.com/envoyproxy/gateway" + +# Specify a value here if your content directory is not in your repo's root directory +# github_subdir = "" + +# Uncomment this if your GitHub repo does not have "main" as the default branch, +# or specify a new value if you want to reference another branch in your GitHub links +github_branch= "main" + +# Google Custom Search Engine ID. Remove or comment out to disable search. +gcs_engine_id = "d72aa9b2712488cc3" + +# Enable Algolia DocSearch +algolia_docsearch = false + +# Enable Lunr.js offline search +offlineSearch = false + +# Enable syntax highlighting and copy buttons on code blocks with Prism +prism_syntax_highlighting = false + +# User interface configuration +[params.ui] +# Set to true to disable breadcrumb navigation. +breadcrumb_disable = false +# Set to true to disable the About link in the site footer +footer_about_disable = false +# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar +navbar_logo = true +# Set to true if you don't want the top navbar to be translucent when over a `block/cover`, like on the homepage. +navbar_translucent_over_cover_disable = false +# Enable to show the side bar menu in its compact state. +sidebar_menu_compact = false +# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) +sidebar_search_disable = false + +# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. +# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. +# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, +# add "hide_feedback: true" to the page's front matter. +[params.ui.feedback] +enable = true +# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). +yes = 'Glad to hear it! Please tell us how we can improve.' +no = 'Sorry to hear that. Please tell us how we can improve.' + +# Adds a reading time to the top of each doc. +# If you want this feature, but occasionally need to remove the Reading time from a single page, +# add "hide_readingtime: true" to the page's front matter +[params.ui.readingtime] +enable = false + +[params.links] +# End user relevant links. These will show up on left side of footer and in the community page if you have one. +[[params.links.user]] + name = "User mailing list" + url = "mailto:envoy-users@googlegroups.com" + icon = "fa fa-envelope" + desc = "Discussion and help from your fellow users" +[[params.links.user]] + name ="Twitter" + url = "https://twitter.com/EnvoyProxy" + icon = "fab fa-twitter" + desc = "Follow us on Twitter to get the latest news!" +# Developer relevant links. These will show up on right side of footer and in the community page if you have one. +[[params.links.developer]] + name = "GitHub" + url = "https://github.com/envoyproxy/gateway" + icon = "fab fa-github" + desc = "Development takes place here!" +[[params.links.developer]] + name = "Slack" + url = "https://envoyproxy.slack.com/archives/C03E6NHLESV" + icon = "fab fa-slack" + desc = "Chat with other project developers" + +# hugo module configuration + +[module] + # uncomment line below for temporary local development of module + # replacements = "github.com/envoyproxy/gateway -> ../../docsy" + [module.hugoVersion] + extended = true + min = "0.110.0" + [[module.imports]] + path = "github.com/google/docsy" + disable = false + [[module.imports]] + path = "github.com/google/docsy/dependencies" + disable = false + +# Add your release versions here +[[params.versions]] + version = "latest" + url = "/docs/latest" + +# Add your release versions here +[[params.versions]] + version = "v0.5.0" + url = "/docs/v0.5.0" + +# Add your release versions here +[[params.versions]] + version = "v0.4.0" + url = "/docs/v0.4.0" + +# Add your release versions here +[[params.versions]] + version = "v0.3.0" + url = "/docs/v0.3.0" + +# Add your release versions here +[[params.versions]] + version = "v0.2.0" + url = "/docs/v0.2.0" diff --git a/site/layouts/404.html b/site/layouts/404.html new file mode 100644 index 000000000000..d32828c8b2fd --- /dev/null +++ b/site/layouts/404.html @@ -0,0 +1,6 @@ +{{ define "main" -}} +

+

Not found

+

Oops! This page doesn't exist. Try going back to the home page.

+
+{{- end }} diff --git a/site/netlify.toml b/site/netlify.toml new file mode 100644 index 000000000000..60839e248124 --- /dev/null +++ b/site/netlify.toml @@ -0,0 +1,12 @@ +# Hugo build configuration for Netlify +# (https://gohugo.io/hosting-and-deployment/hosting-on-netlify/#configure-hugo-version-in-netlify) + +[build] +command = "npm run build:preview" +publish = "public" + +[build.environment] +GO_VERSION = "1.20.5" + +[context.production] +command = "npm run build:production" diff --git a/site/package.json b/site/package.json new file mode 100644 index 000000000000..85947b7888d9 --- /dev/null +++ b/site/package.json @@ -0,0 +1,38 @@ +{ + "name": "docsy-example-site", + "version": "0.7.1", + "description": "Example site that uses Docsy theme for technical documentation.", + "repository": "github:google/docsy-example", + "homepage": "https://example.docsy.dev", + "author": "Docsy Authors", + "license": "Apache-2.0", + "bugs": "https://github.com/google/docsy-example/issues", + "spelling": "cSpell:ignore HTMLTEST precheck postbuild -", + "scripts": { + "_build": "npm run _hugo-dev", + "_check:links": "echo IMPLEMENTATION PENDING for check-links; echo", + "_hugo": "hugo --cleanDestinationDir", + "_hugo-dev": "npm run _hugo -- -e dev -DFE", + "_serve": "npm run _hugo-dev -- --minify serve", + "build:preview": "npm run _hugo-dev -- --minify --baseURL \"${DEPLOY_PRIME_URL:-/}\"", + "build:production": "npm run _hugo -- --minify", + "build": "npm run _build", + "check:links:all": "HTMLTEST_ARGS= npm run _check:links", + "check:links": "npm run _check:links", + "clean": "rm -Rf public/* resources", + "make:public": "git init -b main public", + "precheck:links:all": "npm run build", + "precheck:links": "npm run build", + "postbuild:preview": "npm run _check:links", + "postbuild:production": "npm run _check:links", + "serve": "npm run _serve", + "test": "npm run check:links", + "update:pkg:dep": "npm install --save-dev autoprefixer@latest postcss-cli@latest", + "update:pkg:hugo": "npm install --save-dev --save-exact hugo-extended@latest" + }, + "devDependencies": { + "autoprefixer": "^10.4.14", + "hugo-extended": "0.117.0", + "postcss-cli": "^10.1.0" + } +}