From e5cbf77d044b7c2b3094869f8129b6756c552c20 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 4 Oct 2023 15:50:49 +0000 Subject: [PATCH] Charts CI ``` Added: ngrok/kubernetes-ingress-controller: - 0.11.0 stackstate/stackstate-k8s-agent: - 1.0.49 Updated: bitnami/kafka: - 25.3.0 bitnami/redis: - 18.1.2 cockroach-labs/cockroachdb: - 11.2.1 confluent/confluent-for-kubernetes: - 0.824.14 datadog/datadog: - 3.38.4 datadog/datadog-operator: - 1.1.2 digitalis/vals-operator: - 0.7.7 jfrog/artifactory-ha: - 107.68.13 jfrog/artifactory-jcr: - 107.68.13 kong/kong: - 2.28.1 redpanda/redpanda: - 5.6.0 ``` --- assets/bitnami/kafka-25.3.0.tgz | Bin 0 -> 132920 bytes assets/bitnami/redis-18.1.2.tgz | Bin 0 -> 94934 bytes assets/cockroach-labs/cockroachdb-11.2.1.tgz | Bin 0 -> 31573 bytes .../confluent-for-kubernetes-0.824.14.tgz | Bin 0 -> 326780 bytes assets/datadog/datadog-3.38.4.tgz | Bin 0 -> 154956 bytes assets/datadog/datadog-operator-1.1.2.tgz | Bin 0 -> 62753 bytes assets/digitalis/vals-operator-0.7.7.tgz | Bin 0 -> 6955 bytes assets/jfrog/artifactory-ha-107.68.13.tgz | Bin 0 -> 163956 bytes assets/jfrog/artifactory-jcr-107.68.13.tgz | Bin 0 -> 164567 bytes assets/kong/kong-2.28.1.tgz | Bin 0 -> 161819 bytes .../kubernetes-ingress-controller-0.11.0.tgz | Bin 0 -> 34713 bytes assets/redpanda/redpanda-5.6.0.tgz | Bin 0 -> 91084 bytes .../stackstate-k8s-agent-1.0.49.tgz | Bin 0 -> 31841 bytes charts/bitnami/kafka/Chart.yaml | 2 +- charts/bitnami/kafka/README.md | 36 +- charts/bitnami/kafka/templates/NOTES.txt | 16 + charts/bitnami/kafka/templates/_helpers.tpl | 93 +- .../kafka/templates/broker/statefulset.yaml | 24 +- .../controller-eligible/statefulset.yaml | 24 +- .../kafka/templates/provisioning/job.yaml | 16 + .../kafka/templates/scripts-configmap.yaml | 10 + charts/bitnami/kafka/templates/secrets.yaml | 12 + charts/bitnami/kafka/values.yaml | 27 +- charts/bitnami/redis/Chart.lock | 6 +- charts/bitnami/redis/Chart.yaml | 2 +- charts/bitnami/redis/charts/common/Chart.yaml | 4 +- .../charts/common/templates/_capabilities.tpl | 44 + .../redis/charts/common/templates/_images.tpl | 16 + .../redis/charts/common/templates/_labels.tpl | 27 +- .../redis/charts/common/templates/_utils.tpl | 10 + .../bitnami/redis/templates/master/psp.yaml | 3 +- charts/bitnami/redis/templates/role.yaml | 3 +- charts/cockroach-labs/cockroachdb/Chart.yaml | 4 +- charts/cockroach-labs/cockroachdb/README.md | 10 +- charts/cockroach-labs/cockroachdb/values.yaml | 2 +- .../confluent-for-kubernetes/Chart.yaml | 2 +- .../confluent-for-kubernetes/values.yaml | 2 +- charts/datadog/datadog-operator/CHANGELOG.md | 4 + charts/datadog/datadog-operator/Chart.yaml | 2 +- charts/datadog/datadog-operator/README.md | 3 +- .../templates/deployment.yaml | 1 + charts/datadog/datadog-operator/values.yaml | 2 + charts/datadog/datadog/CHANGELOG.md | 4 + charts/datadog/datadog/Chart.yaml | 2 +- charts/datadog/datadog/README.md | 2 +- .../datadog/templates/_container-agent.yaml | 2 + charts/digitalis/vals-operator/Chart.yaml | 4 +- charts/digitalis/vals-operator/README.md | 2 +- charts/jfrog/artifactory-ha/CHANGELOG.md | 2 +- charts/jfrog/artifactory-ha/Chart.yaml | 4 +- charts/jfrog/artifactory-jcr/CHANGELOG.md | 2 +- charts/jfrog/artifactory-jcr/Chart.yaml | 6 +- .../charts/artifactory/CHANGELOG.md | 2 +- .../charts/artifactory/Chart.yaml | 4 +- charts/kong/kong/CHANGELOG.md | 8 + charts/kong/kong/Chart.yaml | 2 +- .../kong/templates/admission-webhook.yaml | 22 + .../kubernetes-ingress-controller/.helmignore | 25 + .../CHANGELOG.md | 106 ++ .../kubernetes-ingress-controller/Chart.lock | 6 + .../kubernetes-ingress-controller/Chart.yaml | 25 + .../kubernetes-ingress-controller/README.md | 90 ++ .../charts/common/.helmignore | 22 + .../charts/common/Chart.yaml | 23 + .../charts/common/README.md | 235 ++++ .../charts/common/templates/_affinities.tpl | 139 +++ .../charts/common/templates/_capabilities.tpl | 185 +++ .../charts/common/templates/_errors.tpl | 28 + .../charts/common/templates/_images.tpl | 85 ++ .../charts/common/templates/_ingress.tpl | 73 ++ .../charts/common/templates/_labels.tpl | 39 + .../charts/common/templates/_names.tpl | 71 ++ .../charts/common/templates/_secrets.tpl | 172 +++ .../charts/common/templates/_storage.tpl | 28 + .../charts/common/templates/_tplvalues.tpl | 38 + .../charts/common/templates/_utils.tpl | 67 ++ .../charts/common/templates/_warnings.tpl | 19 + .../templates/validations/_cassandra.tpl | 77 ++ .../common/templates/validations/_mariadb.tpl | 108 ++ .../common/templates/validations/_mongodb.tpl | 113 ++ .../common/templates/validations/_mysql.tpl | 108 ++ .../templates/validations/_postgresql.tpl | 134 +++ .../common/templates/validations/_redis.tpl | 81 ++ .../templates/validations/_validations.tpl | 51 + .../charts/common/values.yaml | 8 + .../templates/NOTES.txt | 53 + .../templates/_helpers.tpl | 87 ++ .../templates/controller-cm.yaml | 16 + .../templates/controller-deployment.yaml | 127 ++ .../templates/controller-pdb.yaml | 26 + .../templates/controller-rbac.yaml | 96 ++ .../templates/controller-serviceaccount.yaml | 15 + .../crds/ingress.k8s.ngrok.com_domains.yaml | 101 ++ .../ingress.k8s.ngrok.com_httpsedges.yaml | 1042 +++++++++++++++++ .../ingress.k8s.ngrok.com_ippolicies.yaml | 105 ++ ...ingress.k8s.ngrok.com_ngrokmodulesets.yaml | 883 ++++++++++++++ .../crds/ingress.k8s.ngrok.com_tcpedges.yaml | 121 ++ .../crds/ingress.k8s.ngrok.com_tunnels.yaml | 70 ++ .../templates/credentials-secret.yaml | 11 + .../templates/ingress-class.yaml | 15 + .../templates/rbac/domain_editor_role.yaml | 27 + .../templates/rbac/domain_viewer_role.yaml | 23 + .../templates/rbac/httpsedge_editor_role.yaml | 31 + .../templates/rbac/httpsedge_viewer_role.yaml | 27 + .../templates/rbac/ippolicy_editor_role.yaml | 31 + .../templates/rbac/ippolicy_viewer_role.yaml | 27 + .../rbac/ngrokmoduleset_editor_role.yaml | 31 + .../rbac/ngrokmoduleset_viewer_role.yaml | 27 + .../templates/rbac/role.yaml | 205 ++++ .../templates/rbac/tcpedge_editor_role.yaml | 31 + .../templates/rbac/tcpedge_viewer_role.yaml | 27 + .../templates/rbac/tunnel_editor_role.yaml | 27 + .../templates/rbac/tunnel_viewer_role.yaml | 23 + .../kubernetes-ingress-controller/values.yaml | 191 +++ charts/redpanda/redpanda/Chart.lock | 2 +- charts/redpanda/redpanda/Chart.yaml | 2 +- ...-tiered-storage-with-creds-values.yaml.tpl | 17 +- ...-tiered-storage-with-creds-values.yaml.tpl | 19 +- ...-tiered-storage-with-creds-values.yaml.tpl | 17 +- charts/redpanda/redpanda/templates/NOTES.txt | 36 +- .../redpanda/templates/_configmap.tpl | 636 +++++----- .../redpanda/templates/_example-commands.tpl | 40 +- .../redpanda/redpanda/templates/_helpers.tpl | 164 +-- charts/redpanda/redpanda/templates/certs.yaml | 30 +- .../redpanda/templates/configmap.yaml | 16 +- .../templates/post-install-upgrade-job.yaml | 8 +- .../redpanda/templates/post-upgrade.yaml | 7 +- .../redpanda/redpanda/templates/secrets.yaml | 19 +- .../redpanda/templates/services.nodeport.yaml | 2 +- .../redpanda/templates/statefulset.yaml | 22 +- .../tests/test-connector-via-console.yaml | 90 +- .../tests/test-kafka-produce-consume.yaml | 24 +- .../tests/test-kafka-sasl-status.yaml | 20 +- .../test-pandaproxy-internal-tls-status.yaml | 20 +- .../tests/test-pandaproxy-status.yaml | 20 +- .../templates/tests/test-rack-awareness.yaml | 45 +- .../tests/test-rpk-debug-bundle.yaml | 14 +- .../templates/tests/test-sasl-updated.yaml | 14 +- ...st-schemaregistry-internal-tls-status.yaml | 120 +- .../tests/test-schemaregistry-status.yaml | 24 +- .../stackstate-k8s-agent/.helmignore | 26 + .../stackstate-k8s-agent/Chart.lock | 6 + .../stackstate-k8s-agent/Chart.yaml | 24 + .../stackstate/stackstate-k8s-agent/README.md | 235 ++++ .../stackstate-k8s-agent/README.md.gotmpl | 45 + .../stackstate-k8s-agent/Releasing.md | 15 + .../stackstate-k8s-agent/app-readme.md | 5 + .../charts/http-header-injector/.helmignore | 25 + .../charts/http-header-injector/Chart.yaml | 15 + .../charts/http-header-injector/README.md | 54 + .../http-header-injector/Readme.md.gotpl | 26 + .../templates/_defines.tpl | 82 ++ .../cert-hook-clusterrolbinding.yaml | 22 + .../templates/cert-hook-clusterrole.yaml | 24 + .../templates/cert-hook-config.yaml | 152 +++ .../templates/cert-hook-job-delete.yaml | 42 + .../templates/cert-hook-job-setup.yaml | 43 + .../templates/cert-hook-serviceaccount.yaml | 16 + .../templates/pull-secret.yaml | 29 + .../templates/webhook-cert-secret.yaml | 15 + .../templates/webhook-certificate.yaml | 20 + .../templates/webhook-config.yaml | 125 ++ .../templates/webhook-deployment.yaml | 56 + .../webhook-mutatingwebhookconfiguration.yaml | 52 + .../templates/webhook-service.yaml | 17 + .../charts/http-header-injector/values.yaml | 98 ++ .../stackstate-k8s-agent/questions.yml | 184 +++ .../_cluster-agent-kube-state-metrics.yaml | 62 + .../templates/_container-agent.yaml | 192 +++ .../templates/_container-process-agent.yaml | 148 +++ .../templates/_helpers.tpl | 175 +++ .../checks-agent-clusterrolebinding.yaml | 18 + .../templates/checks-agent-configmap.yaml | 14 + .../templates/checks-agent-deployment.yaml | 181 +++ .../checks-agent-poddisruptionbudget.yaml | 20 + .../checks-agent-serviceaccount.yaml | 14 + .../templates/cluster-agent-clusterrole.yaml | 106 ++ .../cluster-agent-clusterrolebinding.yaml | 16 + .../templates/cluster-agent-configmap.yaml | 28 + .../templates/cluster-agent-deployment.yaml | 164 +++ .../cluster-agent-poddisruptionbudget.yaml | 18 + .../templates/cluster-agent-role.yaml | 18 + .../templates/cluster-agent-rolebinding.yaml | 15 + .../templates/cluster-agent-service.yaml | 18 + .../cluster-agent-serviceaccount.yaml | 12 + .../templates/logs-agent-clusterrole.yaml | 20 + .../logs-agent-clusterrolebinding.yaml | 18 + .../templates/logs-agent-configmap.yaml | 54 + .../templates/logs-agent-daemonset.yaml | 90 ++ .../templates/logs-agent-serviceaccount.yaml | 14 + .../templates/node-agent-clusterrole.yaml | 18 + .../node-agent-clusterrolebinding.yaml | 16 + .../templates/node-agent-configmap.yaml | 14 + .../templates/node-agent-daemonset.yaml | 101 ++ .../templates/node-agent-scc.yaml | 56 + .../templates/node-agent-service.yaml | 26 + .../templates/node-agent-serviceaccount.yaml | 12 + .../templates/openshift-logging-secret.yaml | 17 + .../templates/pull-secret.yaml | 35 + .../templates/secret.yaml | 22 + .../test/clusteragent_resources_test.go | 145 +++ .../test/clustername_test.go | 54 + .../values/clustercheck_ksm_custom_url.yaml | 7 + .../values/clustercheck_ksm_no_override.yaml | 5 + .../values/clustercheck_ksm_override.yaml | 26 + .../clustercheck_no_ksm_custom_url.yaml | 7 + .../clustercheck_service_port_override.yaml | 4 + .../test/values/disable-all-resource.yaml | 17 + .../test/values/http-header-injector.yaml | 8 + .../test/values/minimal.yaml | 7 + .../stackstate-k8s-agent/values.schema.json | 79 ++ .../stackstate-k8s-agent/values.yaml | 545 +++++++++ index.yaml | 437 +++++++ 213 files changed, 11318 insertions(+), 763 deletions(-) create mode 100644 assets/bitnami/kafka-25.3.0.tgz create mode 100644 assets/bitnami/redis-18.1.2.tgz create mode 100644 assets/cockroach-labs/cockroachdb-11.2.1.tgz create mode 100644 assets/confluent/confluent-for-kubernetes-0.824.14.tgz create mode 100644 assets/datadog/datadog-3.38.4.tgz create mode 100644 assets/datadog/datadog-operator-1.1.2.tgz create mode 100644 assets/digitalis/vals-operator-0.7.7.tgz create mode 100644 assets/jfrog/artifactory-ha-107.68.13.tgz create mode 100644 assets/jfrog/artifactory-jcr-107.68.13.tgz create mode 100644 assets/kong/kong-2.28.1.tgz create mode 100644 assets/ngrok/kubernetes-ingress-controller-0.11.0.tgz create mode 100644 assets/redpanda/redpanda-5.6.0.tgz create mode 100644 assets/stackstate/stackstate-k8s-agent-1.0.49.tgz create mode 100644 charts/ngrok/kubernetes-ingress-controller/.helmignore create mode 100644 charts/ngrok/kubernetes-ingress-controller/CHANGELOG.md create mode 100644 charts/ngrok/kubernetes-ingress-controller/Chart.lock create mode 100644 charts/ngrok/kubernetes-ingress-controller/Chart.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/README.md create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/.helmignore create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/Chart.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/README.md create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_affinities.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_capabilities.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_errors.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_images.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_ingress.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_labels.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_names.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_secrets.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_storage.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_tplvalues.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_utils.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_warnings.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_cassandra.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mariadb.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mongodb.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mysql.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_postgresql.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_redis.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_validations.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/charts/common/values.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/NOTES.txt create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/_helpers.tpl create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/controller-cm.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/controller-deployment.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/controller-pdb.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/controller-rbac.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/controller-serviceaccount.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_domains.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_httpsedges.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ippolicies.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ngrokmodulesets.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tcpedges.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tunnels.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/credentials-secret.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/ingress-class.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_editor_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_viewer_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_editor_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_viewer_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_editor_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_viewer_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_editor_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_viewer_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_editor_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_viewer_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_editor_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_viewer_role.yaml create mode 100644 charts/ngrok/kubernetes-ingress-controller/values.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/.helmignore create mode 100644 charts/stackstate/stackstate-k8s-agent/Chart.lock create mode 100644 charts/stackstate/stackstate-k8s-agent/Chart.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/README.md create mode 100644 charts/stackstate/stackstate-k8s-agent/README.md.gotmpl create mode 100644 charts/stackstate/stackstate-k8s-agent/Releasing.md create mode 100644 charts/stackstate/stackstate-k8s-agent/app-readme.md create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/.helmignore create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Chart.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/README.md create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Readme.md.gotpl create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/_defines.tpl create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrolbinding.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrole.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-config.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-delete.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-setup.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-serviceaccount.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/pull-secret.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-cert-secret.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-certificate.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-config.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-deployment.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-mutatingwebhookconfiguration.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-service.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/values.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/questions.yml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/_cluster-agent-kube-state-metrics.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/_container-agent.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/_container-process-agent.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/_helpers.tpl create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/checks-agent-clusterrolebinding.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/checks-agent-configmap.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/checks-agent-deployment.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/checks-agent-poddisruptionbudget.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/checks-agent-serviceaccount.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrole.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrolebinding.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-configmap.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-deployment.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-poddisruptionbudget.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-role.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-rolebinding.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-service.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-serviceaccount.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrole.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrolebinding.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/logs-agent-configmap.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/logs-agent-daemonset.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/logs-agent-serviceaccount.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrole.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrolebinding.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/node-agent-configmap.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/node-agent-daemonset.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/node-agent-scc.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/node-agent-service.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/node-agent-serviceaccount.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/openshift-logging-secret.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/pull-secret.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/templates/secret.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/clusteragent_resources_test.go create mode 100644 charts/stackstate/stackstate-k8s-agent/test/clustername_test.go create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_custom_url.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_no_override.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_override.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_no_ksm_custom_url.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_service_port_override.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/disable-all-resource.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/http-header-injector.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/test/values/minimal.yaml create mode 100644 charts/stackstate/stackstate-k8s-agent/values.schema.json create mode 100644 charts/stackstate/stackstate-k8s-agent/values.yaml diff --git a/assets/bitnami/kafka-25.3.0.tgz b/assets/bitnami/kafka-25.3.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0b675f771745637ead7a6aafb1e3ebe92717669e GIT binary patch literal 132920 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

E-gC?7|8P1Lq%yN03|SixJP>ioKS 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

55j`NBN5x&j}NJ1KqWpjC1}#-4-*H(y|~1NR-l zPfRIz=FnLWqhpkI&xr+^y}XXpbCa`&s2c4&Q8-q5H=gVFkMu)+xp)F&7F^1}Z*7sa+`3imYPIn!?6|D_Wl?roTms z2D`OMR$@7;kiz-Di|Naxh6{UbXtHOjfYu&I9ZBO12NEh$VsSN=x8ZLqieNXZe>*!( z8a>X?hQ)~*TmRL8ln@-So#B@~FDmwwXp@T_Lsq}E0F<`Fkw^<3QU4XtA-yI*bC0!Y zj>%LX;2aKefqlE7j1w=lP0?@)BQY}B^r!(n%4NZ~#>=T2*}I47bw-^mzNJhL#oxCEc_vaee%O-)=AW_+9I3jGJQG-$yjX zp3VAW`NM^KwPTqo^QD}ohK(#4TG?YwroXk$jZyQY=PK&XXh8CqezS`bh~RI6?^FHl z@FZmUHQo>1rdI?C(e;P=tg(86_a`60!IUO-}Gr9Rh56eQAaRn!i0xsJ;if zcz&v(z3W8JFvp6lwE8H)>|aXTJ4)052ftP{^D;((e|I^qx@Gsi zUrULfJt-w7Zw$k}%fmpLqF1_T1Ni5xT1S3`u#(AGmRprgor@ga?wT6cZYBn2B(jDl zFId_VRLMEICXi5y0kRWLTeD8+P~CnHS#+4~Oy2W`u+NG-#>_7buL6=AY*lIHpK{Z9 zu5{rbtD4UxmTv&dk~n~c_X!mM@N-r!1fZ}nQNF7nXIm@@>6?)^iYe%i{!*bp7+#?+ zz8KtnA1`!gf=xA;gOI%hr2c787Z)-AeN*`9Me_0E`%GfHz$ZHHZJ4;ITP%!Pt;NbA zxKPM-KwKFm0Zx2Q@Ll0IrlxA6Aw>g0QRWgIm!O~{Y*&UaRh6y zuwITH#a5&A`kTxHiIjH$nY}ZeuYb9g;8WB5LKqJ!VpdjQCiHGa4!AhXi$=eVERKAo zTmX+{34jgoFTm6A^7GG+7<&?P2-wQ_1emLSo6hTS1gJ%yAZ9c>5t-wwbkDDgVfuzC z!K!>e1vgONZ z6;u%f9U&w4ZQaquF$57SABTv=O%#qw<3CtI z8!dc)3#?Knk8&dp6R%8mW{okt>dvq~KKTy`V-ED5Xa4h69(*P0K@|8FyJ}C%0yqoNru1BGeAJ#ePiOdk#41up``@s^m-^6yW1p7` zgNV7P;k04e6hJN@n`JE{#1U;uh_6t$y@vgCtCh4Clc8ZrJDW}HY|bX~Kn7kRUsR++ zx>xHP!HUp>4W!0-F3)WDR>9CtJo7fu>ixYPENU8N3xEt_&%VDL`3RP;r5L&Y?20M zyCfgu_LU{QIjnYySV_?O6vpA-NEozKbG7p{sw@JtvwDIduA=z2{K-3o*T7sKIrC6rRiQ@pwNO#e)AkWGnU2t-f7v#rNXvu4;+( zktZCf*g)vI7SM*j2MAfOE*ePv7FK^CMHs8wDp5 z*(GO(nVIpAdX@?_D%KGvYdiYu6+8T=!C_wmhvaQwEmKFVtjR?CJ6)jljAq1?;c306 zUyqBqYtNh)_yA>};vw%ekVXx<*s|obtLg}C4_z%}rLcbr-9MT)x;u@qFQ728zP`BJ zu=`m_@<2reL|XWYv!&1ttyzf_Dp;>KkXnPv;p zg^DQ)y%17s`XUp6yTmo52_gQGCNQ%+>^}<=WH=$cg9u8$;*djI$atZNHXsR}sa%fS z_TPc3qLE7^Rk|#2P9LxSSNabxCjymkMmS$cRG+yM(>i!oM*oSIzE?Ys1@)u5fJ|^A z5dv=geXtpZhhp4{6Oq}VxG$5#Ah9AEl7ypQw!#UmXdf7wQT@=S5=yRsi|d(cJnu;=SRgD#-f!=R$tY z7Q1=GgQlKsR^E$ZWXkU1azGcpuy2}UbFcCv622ZDK#PzVy8g=*d+<5V7*bh8(_Fv& zB~G8OA^tA2aR*8;;~zTH{hp$S`*{vT`Okiedf#%;#+Tz z0=5CFpEn&18MrYW-OJZ<#{KX2Yp4|Qpi*|yvZab=;)hiWbM>>owwQjG#_o+Fyu*Hx z!KC^p(?I724gB}yxK5ut*N9sk4F^M#;e3!xaU-s`t5vv?zAwlYjgSP-&#JE1L&A2= z+Cp#QCI%Et&<|JrubY|~elLL@?~Nac3-NTLYrBOipB8>EC-9~2M1M43?^a3|%sf~- zL0@tMg{y<;V6vlt|AmX)OWAKY?03U}L7tlvDrJ zFJAyRWJ&3(l;Xc{?r;!9a**J*r12gqWAtugmITXUqHp7RvpmxyE+?0_ULh;IyuBt_ zO|R&`tg(`R|9%ei#hUTs;v$fmI`3nKY-?c8bDeB?cunBiJzoAS{eDX+ejp;4r`Et* z>FYhWMuGvVXrKZbWu0R*TmdRVx zC<02qDEiB%;&?WEXnGsF(0AJE>$beJLl8A$#-9}>=X#~3#Gops)>ppu_L z9@mYe;8ZzHE!!KJ!T|IZ+f8Yqw*K3}&CXn_$0dZq?k5`X+ohtvoM7(%=H7j;_058K z0uVoM&T;b@j1|sYCRtL+fNPOc^>GWfnppXt2O>*P#H@TWQ3OyC{@j48CaY!E$qZvS z@s`BY3zb&z1QaBfjK<`q=hSzJIM6z&S?!lp>hk(vXGg&u%FfkP{S|egg&g@P=$qS3 zWtEozL18;t9<`%=NITFO0Q>keZ^n*qd?vS4!2sw;Px*|~i&_0({I1@3yEiy6A@U6)2j$~0 zU)9kvT6lL!iGF#OI^zP76uQb4K+&eaII(W)^QRpZv&YsEMxwY~k2R%Cm1+ljij|9x zlOB6K0KV49(ZGF+RTKXv2D1aW1*;~x_Yb>za1`UbXjw+&N{GT#ij1QE7|ZrxK{)fu z8W>OTf?T&#{&WIHuC`Dp(Xt4TEuS}mEiJt4eNGjtg$PUfEDuZ38Lm^vqISL%hVle_ z=J{*!{(60!enf_CaidcAhN5l>UR_}cWr1s^rmwcXpPw~CQVMXwK_EzaZKpN8!wOzc zYWkt^8IwkE*8J9duRW3Wku0Oequ{em62s!PHt*69OF(t8c)_qFk+CANangCNr<88oW{{1X6LW_Ss>3@3T2(>-(pe3MEbAm z{*qzdqrZ|fP6pTWi`?%W=_ThX`?9+=ybAof+I^*4C5Vzm^x;^&$wA;--Kq9&xdZ8J zeS3Zmu2uK`&Sd=>=)2o!`1)QmXY}!PYhTgmx)qL1A-Rn3mq|Is$lj-N;!Bmz{W_C1tLvr$@P(w1bZudOXSW}5~ zGmR&a?@n9~q>tj>@@v;4>rIUkA4Q*d$&FFxC_?IrUtaUEiZecSBoL|oD0QinzY|Se zHWiQ3m%&-A&(nzC4V%hV&~S_>paN~={OWB`*r0T1ARvPu>&hQ2$}#8TB2HmvdjdC1 z*UOzN@K0ZKGvJ%6KoTUF1Sa)Erk1uL` z_)ICVHT7X(8n89!FP3;SJGv{v)_j?QjaoFC9X^?~W6NS!{|Z%9^GqTsYH>%;QIkqqZ%HoHPijXAcrn0mTg315C|1Wu4Picg3o^i0IOhi$Tf)nC z&14pw1U0i3&u@5{k$oNTtF1NL6|T|bmDw=$xsr5qYj6ntRus3q9`$e$D20nc&K?}o zbVE>v^#-E7h;39vTh2=C+`7CC)k$IUwz|j*g(hhl5p2Nv7LIL45MVY0$yoT&ELvd1 zGW%>;#R-iz*rg$XBvk7k0pd)(`OUT_i`NSWoa3~A^zt`yAKXo;fv>^Zu@X%kupDus zk$h!P!ULtFe8uL_f__UgsYwi|*(Ssv^dA*xRT^6zXLZ_T0ZsN;Qd|NuGdpqMLIUFj zPI(owji12770nJ4P^m&(r$1!Uy8r1aomE{i>(O!#U9-XxX+SiQRVhxUtnmRTs)$Nw zG~H7rgz08EtIGS(C(wb_mIG7;)eZxJ6mjlZ2m%%AmoHwI31<#1=|;7%3TuNLdo6AhJ%p@pLH`ywbhH`7QWAqFSdWH|_j<5!IF)Twv;jyZ7Dg+euwu(T-S z8B`%hN&@HBGUmp(i442QfXIhFw5joZ$qE%&-m!Nj*B&Gd$Qi7iQTN;3|8Zcb6SS8T zr~EBnYVnNo5_S?p=>6RUz5E>qN~X^vfprU0jG1 zi`9cMgH?3MNF_P)r_r<|sx4!W>xl{Mhh1n4@ZhYt?x1PIH(@R+tXyxtF0ww8+bzw^ zFoNF*p#&6uqPL~y5Tz>1v#2?ZztQUUtH*l4R^y*Nugz|cq?)0hN@hXl;1=La7P~4LDfu7k zvNUbo>1C^DOF52`C;KIPQid1J-q4ox-)!NQ>o@XB)uB+GL(ycz2#6pY4*dgLlqbm* zfb;@-1t-rVa&dz3KfLz_dJ8hNdHfp@nqJ9~hGvJpS>aNHlhf>!^ley?NV;$?i8MbXvKhM&OYXeH*+L4U$?`tEjIanR05q-@u)#p1``BvtJ0O z*4y2u<R(Ywe zqeBv=i(MNc{_MZw$_+BWUF)hxwPz7m5`{_-+Mddq5LDWQ;y?@Tt>dPouQ3z<3IdJJ zxf}CuLv)9J+1J529hU-xHo+PM2S-(-_m~s({N>|j$J-pLm5yTsLeDxH+g(hiCpKb! z1UDjQlVsb@XItCC$f<-XFAzKiLYk^QU0Fn(j>im-llA|_)jNhq);w{;;l{RY+qRR5 zx!Ks+*!INc#@5E>#N?%$nm%3lm5qlz7k>=?GT&@4 zf_gId#Wg$0x^vk@UP2Tdg(6-0Vjw4K6RCySI<8QhZEKkt;o?~Rshg`eraS6u+dKZN zDR9zBM1|}VW@Ek?_oJEqb7c76zkeO*U#7MvkLvI7K3;lpUmB~{3kMHQX;G|L(VWgQ zxsBg0uc8vUi(?YXjnZbN_I;yKeY+EjdP--B*J-z7t2xC_>7|9>v3`(F(EIva7)SW( zAr+q5U_)Mb4?t**1HZMP!);=D6>m_WD#+50bOg988YpAVfS@Gp(na}ajkmGcg>3!;iGgi4waB(pRBhyFJ}Iou zy1-N;xEHF}G#R{QfHZ~1Y`l~OdKE%72*y^suAUx;((K2Ky8YHvm3+J$RBJ&*O)+hBf)Q7r2DqE%Jw+~8tBun+-9P7Z?JkWn zawtlFiF5Sl7wP>6k#E^0V85Rv3EnZ*Jv-%@uS(R1-|shxss9kS36dK{p6*h+dJfm( zeCxaW)l*N!E@sW};+`?BE71#ryDn&00(|Gp9^n>gSNEoyya%RO@59~vnjFn#r9g1G zAuip`8@PI&y}!QL_xPK4M4VLkXH4W)V$83_jKouX{w>TRDL;Ld*sd0FwMY9ce|K#5 zi#6Oo)p+7BnRdE)m_x@S<1)8BAD((A9Y?aE1=xUsV13`Q#g725ds=m2S(Ux_r*-?s z%O{qlmw*mUr;MFh$>@a{n%%?*xp@6UkW0imOX^PeIK zlH;&RR4z-PqOEQ8w%tgOxMbJf0X7O+_92AWSv>7~FV*ew@-?L`_{l)ljqM;y7h*XT0b2-Le()nTV{5)!@!;X+mTCsRuI-|c7(@p=hr2o} ztkuNTTvM)^q#vyDzVIi(GoEn8AjEKeG*;X5vO5!HA?u7Cy>^B6jGa2Kq=fJ3p^P`) zYuDL$*^6Hb!zBe++X@rbt)d`_>J)ezi)!p)`Iyf+7W8(|@G&3DmJ^J_l4g zI@&S(>z%6krLFR>_sugmq#%S%Q5@nX%-ag;AaXA3^{-hFo4BW37`$%7Uf36&H)GaufU8g7 z`gl>oG9_scE;Z?m#H#*TH&I^f7^03B^1ljSh~CTipc5La5|6V3u2&YwfD(_-YqQwT z?4AsR+QfkQyirybN0Toy}h}pT{v##ev9oXCFVerOWvP6j2zOs#X+B>N zB~VCnL@mefi}#~xGa*pOZT884O7mtu6hw>oc-fja)TGK<8}2T~xD;#s zp5Y{M=KBKle;E^A*WO-&BY!MLCrvb8jgMRJd;UD9)V4~G9zBH!a7LF^`Y<~bp8rt` zqfBF>AraUZ4u%&+62_Uz6&s9eXdsG@6WB!H2d}H3;}A%lhwK+w-bZCc0ojki3vD#W zq5ZPJn*m9a1NmPHuWxuRE!ntu3Mp`4dwl%b2g7{N=_uM^sdbn`(e4yLa;8+q%0=6{_44E>ydoD2n_m;NNynl@p;gX29ok*=)g+ zpr{CC*F%@H<4iZA(o7vBr--qIyNA27Ons_ktf?0h9)IVg#}|>NT*KvR6oz=9z;n(o zdlNaWRQVD>H@5nbeNqBdA}(ZDByPCd@T%`+aFF{#him5eKK@$o$7rG2wh=`!MMSo{ z7o3sWf^wBPHXd0Lw0t-RN{>o%@q^ok0*x8ZMz(0hcJ(80{{~hv@3cKZf-rByy(KF_ zCA2M^4uLdyA30WTfA%wARFj{&w_q!t@NgrD5FkatHfm{k0~cvoZ(^O~JjUHx$K3Q5 zRF^;@_sCSB9UD#Qp36>)z|wBguw;|$t2XLj`Lyw6-HbNQ^Q(J0?(^au2XS#WT{cb6 zdhjYqamT)p?XtZs4^T1BsH!`T*bRQP-V8O_tf&1avFQ_w4mAzd11E`>cCV9f%HxT| z&e8xWGqhW<(1{iaE@KD-wk(2Lq39c=mZd5!VsOrJt4r2A+5+X>+i=z3N4*>+qzRZm z728>*kHTUCy+RLjo`I}*^_Hda@Jy55PU6b%-=24`kHSHNr1(VNaOUlbn0Ms^;M@CV z*naD$Pxh=M>kcZyIR~J1eW=wFm#S}X@2!}m7pu02qj$avo7DJ(Q)gn8_{&%1^_t!Bs*xQiPjJ%X!NN1*2p7oFRq;5Wtzuj_nvgWMI!cYPFmv9#XJqFaF!L}m;3206Q~M3+ zEUIXgHD6Es)ViZ^aL&LRnykqeI=9kW;X&=AfK5M)Zf-EfZT* zdde(AC2#CQ*y408pw;tt=BgOA#legukKQz6>1467)HU{cFUN@7P!L98^puIp=aMod z1isspqTrO3wOdSw2AsG=8=qBL>}6h<tB$&?uCxPkG0?QKf=P{*h+5|0|U}50LidYE>`M%b3e_dB$P}|_U*@p=T1UP z3`mwZ*K;6g61q$DbL2+PNU;I8yBeX4d9dvi8IECxOrx@)F?Oeqa)3G0q|H0p`FX`r zDt@PPbptOzkiGFg!_obza1J(#K1JjyEBQkLof-1p8l3_q`br&!2I$SsoAPQJ!?BjwUeMdyJy8CqVoBi zaD?DLU1cgm>jn5keSq_Rk00Kps%q)9xHABuN0VD`xc7V*b&zC-1&;0X~;z1|Hz(0U23Lelk9PL_&u0+jrlr zemSuKX-Sh&$c|_8Kro1+$~L9;`WKz5G%<+aIAO5p)AzK0oP}{1NJXX@TX(S95~hZj zeoQv)4QG7OTv_;apDV_f)`IGDY-XG<2^t7R+pujd0VO;s@1s`YlwVKk;EvlTajqKy z1b*9FYi}l!>j4CE&*|NNhJYnIkZ^g~IgrWN=re*4@cgBLoXZ6+Whwc+rjyhc%iL9+ z?*}yO4XM~9x`f%&0(TEr8DbiaQE)FL>Quh)ZF(qYnRNN57uy99M%s`~lgFMiCby}Nth^A{@}1te4y6vd$&r~FMg z5U#(cHb6IJSsVZ08$CTgOgjCVQ$*6OuI`M(r$K!Co_lEZI8ygYDyIRplo6qQFz5ha zwlo&NW?QgQTI*$}#zH_c>Sv-|3ea=q+$ZuPbOtA0~VAlgG?|Jd3&KD=u{MkdPZ z9nUL5X-12zRNDbNeflq+J?1|5M0z84w8ThphOkeg;%=!#?y;72mo6bc^>tG!%>+j& zvi^bJ`q=&~o0qK@;kH`F$Q`b%%XT6_d#U&E@l^1gkj_)tpGt`>79c&~R4eAX<9UpdOTHKtSES)o}G%o8Gi1ZTL^JI-#VD%x(52yacF#txQ_{jmQf{o8uOb zw3Lj$m`|{Jd{Mo8C4b=G=u$C7mY`SYV$s0;@5M_eaGHseD-+!lO z6V5miJ`3(z+#=ta7>Ev8_;(Z!^S7I&m;UqS=qmSfZ=iohTf`rPHla4_qEvuH=v&2l zr{$!BLXe9!{G*t(8ap3)4Xk4o>`*jDTGtLLzHC5v(zKq9$c2yFIaU>#y|R9 zeH>M>Q)JFuZ@Mj|Q>U}!Ve}neHO|Apro|>UBeQhsW3(4#loc>TBXJrHHLh+=GeSgQ zV_TO`AV|CW#5ELi4e9;#mU5_|G#HNwn^hU)F3ww>LAUAY6lD7nUQN)wW-at}J-+H7 zwoef4759LN{+8Jvdwh0_@McBZxUJZmwx4O@YMN_7NBy^QVNgWxzVjkP zeEqP#7JhouzYocpby%Z_5ZXTii8^J043X{nJ zdpx}XxpbPOz&!txlInC<)85(vJ-23*} zrx6Ya9uG6%25~Pcu4*-{+46kh^}35HI?@W1POtZ{Nv4YUZRKaiT| z|IJVAb>sXo#i6dAD1qCg=;DP!f_j8&RZLFSe;7G?~WeSG;S-P2d4qSY(q$d-~KLB znxp@R?Fz!K{OajXSufw1_U?g>_?^TjG$LbcT#RXZO!){tvqMsK32=X0f(V#w=zOt& zor!(cJB(bmqMMM?sb@n&LL0Q&Gv85?8Zw#r-xCPB&h?Q}quAPNDo0Gn%vp4|Ay^ls zs^diUHIY~Bg+Q1DU-^de9qtMM!yetBnA_-&v{FW`1Q}hAkt)-~@` z=S-C-$cL3G@61gkc{uTcHX0k@fR4eGNy*~F_tO-EMz-8eo6%v>ycSCVxiAPRs|Y*S z-)n81DjipzJ2|G^=b)Hm^U*3oVj(tFM+s25CN&#y_XjKCMp(A(#9Af$o!kVg^IiJG z+-qT6gBQ!=2t}1mHx>yk814FhQcnfD4U40uV-nKK48uCVL)!3&(yFi)?_cg;w@hLB z4F|A}Npm;ZM-s4v1}#$iL{-%9ioexa{8Z9nFTY~Ps`X945?%J}wqROvZG%UwCC)z* zn%aGJWx7`q3|rw5P9Gsx_<%n2`}(a@-qk28H~Qw6CcX{V`CV$#4kBBA><4%obz3Kj zHqlP`dz)-oe$Ak!U|o8vk(OvZiDv;{L5q+MrS+hM;$`}F zT?%5DMm}?&M$fUf3bQp-914zEdM>l026U@ty!)8qs|f)MGIDl%37a;`+@yJpC)mz! zf%#^Ke6G@Zlh|~@fFF-m)MW)};9QJfqg)tTN?0Qqe_noUF=vfM@EKUmf&eq7io^SR z>Rtco2y@apE*juhE!*;CC9nI8i-bN`H1#30FLNFcxcy9p-u3pEEk#lfe+Ct!M_w^= zqM7pSRNAHI_&U4$pfrxmS$?7AQy;R8M`@~Vv9F8<7uDt4!r5#S2!1!zA?wE9l$$ZjjA@cgU>*DooqE~ zd@S@2u8@JOmY|@ zZ7jOMtIDWETB4RSaqF{}6+u%viKeKd9& zs|@YyNuE>9qquV+#d|aLaPjy~0Bg^c24*%~Z~j*P&+45JG1CVFhBdc0E-jA#aY3#$ zU(UpU%EYMw=(s_(a?h#O83VfZt7?veYv4X6_Fu+~@2PddLA&5PK%H-IMr% zbNuD~L`tQIaQ0}AgqOnAG*n2?8{hnc3FUhxq$ho=E@DE2*ZKTs(s=U3GD5cLbC;Qk z8q)50y3m>BI#o+dZdc?Q;lN5^L}`c}6trR94F`(%@!WaGULMfdqux^OVG@Ac32MZ7 z)>}HXmledVA$@6ROhpStM}~O`_kP2_c%{Hi)Eq^5K6EylY-}g@A26Xl@}l>)3x|m& z*ye4(d_5NcM5&9Y-DMtAvl9tPH{Qfax%!Slprs$o|9m#JlNR5KleL2lRzWjWxo@Y~ z+TxELc732^JR+}_iXr+W%n}ml%CK~LpcOVDS6{ewk*Td);}`;+u#}Inny*U>%T&Bl zN-k|O*!eKkxG*{>uIusCTDBU+X9YWs$-T|K<-#@2x@79Ygj)i0w@Odt@Q_}7Wzq%O zfqr>Yb6hiHn&K+SMYii>ntxW4eUJBqs2(`^I_OnuPXcl7CtaLVXBQ4nD}~#0QT(sO zgp}fHJCZNjNl)Wkd-YKNzb0Nm+3gq=mXc=Lq|?#33UlvuBVX$=2PF3F!s$5I;~~BA zWt6ZUquqEG!l||E(SO1qjV3ujLyM{uF=$VXJ^J1>vR?n!CDfja5X|X)uKcg!f2^Q3 zhBtnvh&do?E-D~9r$$jIRJlZeHbY8^Y@xFXnLvcfcPsHK;L}Q0C^9!Xc$EF#nCFxZ zj(-MPkV=x=1m3 zl?S`zjK+y^9rJyXaRjys?_h{{`we6|@R!Y88Mrqk0tDMU40>C&k{JU-fsEGPNQ@Xd zp_zF;kJpv#6M6I_^f?i64Y8}H(QO}fmLpqh`#5~eqa3HukY(11N`)f5|C(50|m)i!&3YKt1co zKxZ@d3`Oz6TpvX}Xw9}@D@Yn7cc5wcQg`Ob;jqdN_r^sM8JyE$`S2lT<4Xg^vfhK4 zg{1sLT+zXcVw9$_unMTSbpZut2>Pm==)yljaTW*>I}K%ChE|NCymm~P&qFC)vIS5| z7<+de*2}^Jlt^-NG^nz2Z)~vvM3On!oToi@~t%pT^tK zxKrb;Ev~{St~EF{8M^Ors2EzUDBObhxG*v!xTqeKd+~~yW#K7`^3!6}wxq;@HXU>f zRXJ*>@&0LDR&sqiYx*aYDcmA)M&0umc;bvY$<{SQL#Xq*ELCy{iOB2qIwMGvUYe_b zT`w9ney)=`aI#2|M;3l87LSgmaDwVR3rO_v&ONp6YEO}sr2KX;L21q@h*_^ecckv3 zX8mAH6WkrSQUh;@u0KbL1uzk}%vKGKlN2N!<|rltq8-&=CQwYxlM1#cuF}hjLt7e6gm)?a^(nX(I{z;`IN75ZX0LL@qEU7n1Kn#&VEGc=A?p;7?%=lt} z3_y`pI;W>Q`QSga83laPBwehL10Yp#ID;ifO7u0$K9YsG65+&zo8sQ(lyU-fpr8w; zdTAa{%^!*hD@zEaHO3o(cEg&d6_b#5GUP$TBB@XZlj9{C7~mJp9|H#} zI!IX~^0TYo%IA)>hhCU0=Z36GYPQm#f0JI?h{>gm9$We zdWBTL(6&2b}+JNK>7lv}ZW;s*}HF)0D$I?4iL3>kD-3lB)YhRTk zJRl)r%NU-=7j*#U=65CVO-rlQL_gnDbl8I{0-u zbKp7ubQS*^f77PEJ;gxH*vq__E}4@M`N|ns6lL`NcWO<@nNX)8zIT~#-K4)Jz*r1K zcf?h1J$+9fU`k3Ko}8$8R%-8wp7$piI>!=nX*YU3t*0ZV7?)Xi5Q2G4%IWWqYduQH z*>J)XV*_^>W1W`>?il4*Ilh~vNR>SU`(36kd#bGdt$lD9O3z0NKuV42PK?<1CKO!= zW2>D5{MiBKr!7VggWK==x|npMDYU!e(r@)_JC5~+3d8vHkSQS`nZmvwusc5>L4&b}Y2tC(F?gfus!NQv-kak5tk2B?GUrI07k2@si zR@Qts8ZMNYgS;v^akbf#z(nXr;VQ7PN;R1Yx!46+7B_@yIsdha!3a}Xk)ns(^HB{X z>EK2M`8t^VI1tdr6GEaK5J}e25m&(&``MubJNQt{vnn*ZAj$sD5fx^BZcU0ejgFAV z|1n8{omNp6WcF-{jxe#fAo|cAzljmmUo;{7B&vcjS7vnOb-n>l!t@j=iDjN=FZ5K) zbowZia%wF>I~Rg^=S{cYEDK(Jax=-i8}^u&rruR`f_9$FFwS~A$=GYA+ITsxfuZBg zk5zH^;^E<8lWrNV_;IKf4SNH7+srpdT(aC81SRxoV)YXC0R%QzOYW z)<;r12oV0VDEB&~*HFRZQmKW|#4xM*#x+qR{KyEEletv33HJ!_8V@)rI4(KYxHWtU z^{(JO+Fr^(E?L)LvN57p(ggYsO&`R+1mZ6Y?JR_$$9cqEu78gAXXlJ!SRglUu$eo zBQ@6oFqPLjzQDNn9>pN2+q;*3t{mn;1=7WReCI!jOLPI+DdFGg`Ms`zpuvw1yBR=} zl%)PytH{NonX@T?0=l&v;B{%yvC8-E3SzE+*Ks9o;`0(4^*zHV(A04sT?>N5+0yqg zfTk0mP6X1G6KfkwswW*@i3=ohTEp`MgmyyDfwlcopU$G034iSy(VPxc4D%oc@vl(^8j)RwZcKHA`NR9sz0yDM(Ks0Hh~9 z?NZ@!i8nw9#I9Ufl9gU5*Q{|5VEZ3?Qoi22ru>^9aYE5dRD$k!nl^QmV1>Axn^gRj z_RXnvs$gX{f&-+fgQHpCufc5<-S`qVbw%_8up6E5Re^aS$&u=Vd$@s0X!IO6ez8H_ z0|=$|r59?_4v`xw!eA)!INiXq5&B$#`49J#jcyy7T=ax#g$lU*CDG$JW#W7y=jz>g zP|~=^U;Yw59M>)ss;K2FltVMX5xlIz|L_5He z!W5r7G*@&wJ5ODE%FkM+=k>tYvB?DTl0mpJmaUPwG=Ik1Rko&TzKtGJ>Z2Tmm6{l6BqoF4zX_z^!Doe$)s3~?(Y;mBe z5I-&i+UX#URbfzN&bNlXD{JCAdEG2dmgqgRfZ=IGA#lJj-(gcYCmeu~z;&4J*6gC`1hQSMXFE1!x}JTCj`0Hc%TZ~Xf5Rf)VP#-(Ci-<7;vka3NTaB` zXrWxvFcphV_GAMQ`w&Db#qP6#!@);25B1l$4*&9pSkISqQpo**Cd8PGYac%y!Ox2M zF?9@%q_?GS;N%;>L_JJ8XGCuKf)J&^941V}6PI8|C1q;|p)!<$nzl%AWy}1gy%|-H zD_1dPrEF^{rUErwMY*4?Qs_wSLGG=>O8|D{94vejbAR$%oU4a`&yMTAb+QX5{8kT- zjWeTGwgfT~R^1YM(Qey(a!6$EruBGzerjjgr=EA4ym{ra1+o*gq9k1v2xb@iPi#eaYEV72-lnDshyFB#2g3@g5;1Y=c5As-Rt>M6r|GmmqYt9;(3>sUUPU zw1UYQ%mEIp?NQ8mSt@{J{Hi)U5)%?;G+9gd$~K$!)R>wh8E-->H-Wot(RFO8(h$fm z#%3L6ta!-u`96zMDEmNxkMZMLSc60zy(!A|xD08cEocIJW;O};E!-1QRyvSanSc_$IU0lQ%{KobF+4m9UMy)873f_4Y zp=Q*+mF)w%PnVF!K^;wh8OMO2C%{M9Mvez!ei(ET0M?Q;KsUX)tWfhB~n zEpCw=>`Y3d{FN%pOmX8?PtHas$^4nn|M?r!#|Zt#%E1!oo*W?uBL*l-UPY zwBSM2GA3#CN_B;(@a=yjjf;iI%Kr#I@&A`g3vTq)7Tat1KLL*`jCV1=^^!%G4H`!| zdTdeyt9vaHEq#~h6$G1C7)`46W^OArg~dzxI|Ns%K)*a=R+xFLmrXHDZ&u1=~uBLsFMf4fImLd^Y0|{(aXm6wu?O#ywRq;bA^2Gcn7k zdjv>1iEkR6+x5Of>)78##Y|LPTmnaM#9~qyT>Q7ix*@|= z9n$PTh;Q~}R|=cW`XcTkU?pooiOF7nbb_~`cFy9kV4nD;;}KzkF`M9){^$$(a!R*IvnLMXo(&R#=4LQ~I$;vH1_}4=tz0g% z@!s?ExM|V1Qat25i>{=5EaU}cLGl2rnHhP<89dgdXOC&51qnWH@9AISEk_AbY99QG z%~v@te;$7N{{mUuIxpUw{68KMGiq z{O~iiHD0f1`xB`649=W*@`MUWV(>a4)!Ba34uf-Whl06ZgB&bsR-cuax;17xt7xk7 zP*Xb`^Rrj4^yRVH#`$*9oB9-i$j42wdOkF(f=-NmjFd-%5wi``HnH9|=y=}OKU$SA zQi0u=O+kz)G0#9VxhNAoVWc85p22A<->kDjp*A}cc!<#!((@t_LK{fS!Y09v|MV$K!% z&)_?~TGROGto54T_0wXZRfljP9#9KI%myS~rXw`5tf1Ven~kkkL7fyy*J6XsM#C@{UmEU1-VSl z?yc$(B^b7>=s~9HU(p)3ua>M338f~XF9y^%HSLr9S=Jk`fB9Wuy?SQ=rPp;WRTUm` z+^$tE!&{u&{xTi4TOlN`^hqL9v|l28y+f+5Q^SpHpbri-DB1?3bVUU&4M~D4R-WE4 zZhWT8W&`N`ww_zK{7n1?9lY;_9dy;6MRPAL>joN>fc+W>bS(Rh6DuOIvsh`8;7Iyw zt2|Bl9T`_v6=&9mzh@UlrI*g)CATdMiNgbe3+#zIE{8x2r5I_>+X%O#B-g$_07Tw19<@q2`dgj8eso@3ISM zs(*w}UXpR@{!PM-rUd6b5w@cNU+*F`%*HS=4cRr1WujnLsOlvWC89YAZO;M|uCAt) z?T1$1Vm4u=lAwcdsZJ_p8`jKlj|FMjO%tJD^zliHeG-R&@v8zU9O>cJ)--zef3+&- zxV;W19_0*}o^;QoZTFK{*?QsWvw$Q#%kyBmN7C7Gg&b(#Vb#bFpw-NV^^i$bf`NUV z?}A4>f+mpel#uxSOP!ry!1G}}!UWCrx$}z1xf=<>*vIkS6SQR03S7@I7E!5G(=C_; z8ZjwwC98ND11D;MAN0;-#{QTurg%$%#B92}SJ1#`qMV#+rjJ6cpu&QLbJBec!LbKrBZQ?A$B6gAx%eTAy_N^p7;j}vIBprmGK>T)BYI-#fK!$?FUwCbc?8%GYg1l zr^}O=MOi2U?!*L55U2!ncXiLAN-M1NLYQ*)-f^_94Nabkpw>nAxiK(t3%ax8=k|QHg0H0gmuh4~S?{k%Pv*nZ+^T5#(v~C4#vY$_rhv0%(^~T@F=yN(@I* zyLiET@L6{k0(bqqNK&Tcu^SWv6C&xT7?SrogfY9x7+mr$@S6!P0t6!1z$7_WJ_r*Mg=8)FkU}7DLk<2r0YW6zM>EV$>B7WI|39?k~X!E@+ZS zpq9rei>l)*TuNqb6|>)$B|Pw$7GK}cx3TGkSa4wDytdwDC}rbi3PbmkG{>g|C!w8u z+H0M(Q5*~cKKSd zLGSLp?{^a{+G0`&gWCF-LMFbC48+h%6kw zT?#0LwT&%=?yBuZh@|<4d3wG_RHseL&%Enq??;65XQqL$PW#Y9h(IdUXyr*}4xO+r z4+3k+$8ZNhYQnkCXb)73`1i$|+Fa8AuOo5C4P0u9!nA*-{+kd3Leh}!rFK<*AvC$E zgI{P*V!KI7aM#-&zRH*-#Pb+}= z{Jvcy&b>&iU7$-))U}k0wO_z+Nfvy_$7_DaJyJ|+>V}=`EUELR*QeB|Y%k0xl zJEf>r6nW~rHCA%vi3e)3F8vZu+;p~n>lqf7pi%_>NpS7ogawPR=TO7 zukWuCe*l$|HcU;&1ZD#%faKpgdqeXe>WFRo)2`O!4W8JY+ds^g&_Cjx&&%E z<&=pm@004xfht-&mVzTb=1K@Y!D^bS{@B9U(lmwPH#$SXQ14?*Vn`|2c`OpPL?s@& zO|%8ztZ+to{rvW9p;R&&?ldt3lt9>s=-h)|#n6iv6|$lrnikr?{HH3MHjteHf(Em7a?W|qVd7)B%+_kA;d-@ zCzPeIQW7k=C>0Tv9`b*Vt*K>w;RB;YqMA_h_m@KO!Yjp>nB&O(+rTmNaoPBg!h%St zb=q4AhuFv0LvHUrP2AV_jkGEwV$yhW96xj+uogHL`Zse#*QM~Q5IV4# zR3s|b$stB=pLd;{S*MD3?hfyqV01ustzn#QnDYez-%nT*#5d?iql(J<=Y(7p&4)3QhD{( z2L7&TSiPHa8`F_XnbZs12548jzNw%8!wHOToa0l%%A*JhrdCko`CoKRb6a8?+w3qY zIP+3)eRTzSW zW?DEU3ddq?x|DiC?LL5$NGUm(Ztq(1r9aFBu{UWPh1(3Jr(qWHNyq`*;pU}XPA|tF z%L&mjH5qxO)xoPv!8{}0k8Td1PcP38_97aepbY*l%`&?G0o<@bLQ?2VNsH5?b6_{r zSrI3x*TQ47%d=kV8AJqC-juvt}0%*iaDhPe_ttgZ)wO#y0^nGqhX?tERn z4cb*Y{)_F2zD+!lDcgEGH0`9=Qqh!iF9loa`j%nTUZEK|o{$C+GjX@x706uYEOy{6 zey?3@qrnGDomjc%B<@jcyY8M1!Nb6}D->v}VL35bAcmL%?qKp~L95n@sr*G7Iotv8 zSTQ#*23I~7mR;`*h-y-+E&Jbf4QeDkcVWYolOO%`*0qMM;6Lf7ify2_H~Wqxc=DB3 zTChc3nV$6AEFscW=^Ul-rhGi`2m|ucSb+ zJ*a_Joh`{4w6XzO{qi`wX)AWV4&l-_HWRN)zYXBT(x_>M?X`wy;#VvEdrplyyXOa4>#S=e3k=&c zZPTzVAX)P>ABGsRkeLxdsR#|!IS(*(oxnf;a?h&*S9U=hDZYm5*EpPJ;Z;dc>9*s8 z=8cyV!StL8>iizoKX2&9^$4B4GkC2{Q1`7Zq6U$-4Ecz*=cU98DBz=8BTq;F%Zt!& zFPa;nK4r)Nv29=>oK1#GTaO!h8OAf~nvbMy*sXGk?H_K!RE31DGaQhejG1KcSbohs zjnvDtZSpA_;%RqnC=JEQ1!I|G5@FeQMra_$$jxb1^IyApxTRcf9$I*CI{r+&65Lnr%H49nmH} z-R;IpOPA3!?bpWtXycQdKBf|@6LhUw-HNH>KBnKB7B06Jxl-&WI_)J`;|71mxfmSR z2-}WQ+o~t(0c85M<;;p<7@LJNggmz=+H)m*y21dg*tCi^L zpH<}spv=Y&oSz6QIX8jXy1^#xvs^G&Y0i&E#jH`oK38oj4{5_X*=#q3F}GvToh{9>d~LHI5vczYPdyhX)I6zV$r|} z|2BZdIP+IaTC!?~BJbCC>Uq0|XjRWj&+smjeNQ{3Pw1&Jq^4E{qo53OEzda5*#^K6 zWCBgKB{c%5dS7v4>yB+>BvRlv6SM|vwPfOyzQ8ZCL6sOPM#D(BlOkap3j-omP8r_0 z`yXRV98!0mt*9$?mk|RRux`prb@LM0r##e99AhbzWSS{vPNM+wp~wQ4dO2(1NXd9< zV!8H=8O>_jrJ8Ek3)hdEO9@&SyU{{4hYV!Csp5G7Y*(z%Co=W)?ZTJLWerQwWPyCOE_c*PK%RcyD}#M*@y zO8V@6@~4n`J9an}SJH28=vp&e<4?hQ!d)lR2M?dDGe}htceQxn;u$TGW)#GcvV&PX zVwGZtzlYAw?0?C1Z9QgimAV^1AaI#c&=QCi%X>VK+}o7>PJnqI4oWam79)*5IV$(gxUY>w*0jJIS;!WT9TwNw4YC|6nda! z#6WHmAIeej``bw`A#>U1$sd(RA%FO4KvW7cE~d`aKJ3ZAX7X}(W(6B|q+0w)`9j3R zt9KY-Pi}OIT}t__3AuSQ;I?+@+`Tg>vLsRmp;$*24_nHN)1eHJ0rjI%O16_J6G0S) z?CvjtCmBRfZ?`?eT$6`DZO%$dg&wqX{pL5r!cT)LH!ic#e}hOaJ)L9<?BpLh%3U9Fs4zFR#XmI;rM|zL~WKd2C{MskD&R^`8Eu`z2 zXI@34GQze&m4%A~@<^cdV_BE4vROQaT``$Li>^m6RRiPS8k2l~3 ztpv0q98res^`q?DVCALA(zy^0xe%{9I=rsP>7v$Z<}&(V@ly@tc1-%-N;56shrQGS{3L@gGTikg6&O%^ur_ojn3!&% z=pww5vl)T9S=kn1dVhEMjk0{_#Hdqov6^^bZrj$eS4|<~&XU1SuT)^J1NfgkpFbnw z4a@xT)#~2pf8@)nQ)8e-bl_aA*>W>GVCwuI0GvQ$zesPe?+*@t`r+ck&u8yGUj2A+ zbnx!7s~1+JAqu9NzjS*vxE??<^o|;)jE1t?A;(@TEpJ)qs$G)pF6kCs)=jkYxYKI= z3^G*d{Uq$%gukS$&(f5Iu!SUttal3PwHY6FGaX|K%2|x2J1{`sa>+=Zmjf;qTw3l@ z;%H;D+YM(Tl)Ua|QS>@jDtfyb#lf!4pe<4jRykF4r)9~4aj+%NXm5&RQj1BXYb8j? zWy%IL4U32}Ny_DxQ4G=4D2jVyGNSPqk%05pED|;t4r=&w2-?D)#<4yYwzMRE%c4mC ze>esP2^%(71$$_gnf|8q1(ZOdw83(;EMwmF#IW}}!t@rllK)vvn3MB#&ooYh&sEA6F_Q23X*)udZGwETST-a*a z(>W)A{Lt`p3wpOE=G!QcFd7W=1%YkvhTt)N3|Xp8q{Z*R;-apj zxW-#X%rR^O`p%+9+(LL7%b})!jedGVd4yM02b4yPF=ZjnAn4ZcvHeyHl8O#7xaW=> z6z5zPSC8T#9i#o=hEqt7aM!x?6xVmtwcVAkwQQe6l%s>w9hNSs7n#q*k?BBkoxL**EBg&OZYTl>f1}7}YDLlOtjE%rDJHjh+)t@gX%?s~ zWhhc_gN8;+-!RZNDqh-_P`CBP;ux=0MkfQ9D9;ka=&{?g`F6BS2|5KS3w0+NNwd*P zSC1Zx#4Vf$UC?~#mFRq;RC)?r+1;*wnQO-OQI!P~)?cZb@eDTKsh9)sg71M9fF^lj z9$o{de%&VxCo|*Z!*9W7+-dI5qWH%9{4tVEK&80{8UxL>Z_MP<+zqUNUo}fZ0Gc8^ zxicqf&54R#wwdEqND{AK2Q+^D+GrUGwZ{F#N~=RUp!fmukG>o(aYD75BJb%HQCpY9M*w`G#LV8YcY1LEq>W;lM*Q0< z;(6QIuKKy6pHE7*S9_=MbK`mKKJ>hHi}P|?7fX{K+Ksk~N(nBgn(SzVK5;fOt+Wkw zCr4sP(?*i|4ILx$!z`t@odH+Ftd~iaLIhH*tb(N+*_~f)B}62* zM^w|1fzDo)+EPYf>eA=bkVT2vG-mteJI-`KG5olX1`x36r;JJwlZ}X9ThZ~5rK){O zV>-~Xygdf>g}1Dv(jPEuEQ28%m4sN3C39EH{FKD=QSZY~*Ye6C)^Zqq8)bbS7kcA& zwoK_Y*vOU4P#*+6rs23|38;_?Yv&lp>(`@9s@JbckL8LY3NlKOLsU)`CMj-MdYf`p zL<(GctpdpV@--XRGVn=`31pbsB?@4q2tWPuZm9z($8O4kN5qzvVGfHaZ+q9v{a+l!YwJ zl`&Qe3-Xh&CMA1P6?}KyM(d4HdvXXzI&gog6dNU`6q-tDpiF=S0!MduQX#+Z4yiwLyBQw*_&s+``RfLbPm^ ztkgz2e5)z7{LVAemp)h7&`I*Mznb3*rVm`aB2Eum11-fd1D)s1wrDGAZW2lJCUHhZ6I_;fX}qV#EhSMOX}}10ZzDh?U-KB2lJlcEe(| zPrAQ#I-TFidCKE}Cp02&!G~)9;OxWM-%mgMe5p?bn}if=b7-(`Q+F7$} z_C4L@;A#17qC!5gn9{hfb5rf#}8!gPOx~Ro5Dgf;I z{fw?#0K8XM#j5JzLg)+*`R^m+rjdK+cf7hR=&j&(g)1h`Tr{c(-Cnc)Y2YiNuamH; zQ^v?G9YX+t{fI$1I-ekX9fB6l6G6l8X++~7ucIut%rc#cke!Rv3nLZwv_Ev!z3n@+ ziM*ONE{YYP%u=_)CmQPkQ{4~kVyNgp*whTchJr+bhNNfPAD`O|O=I%VLC`n7TS zq<-QR-2)vS@um)bCZ^Jj@%QsBc%1^VT9hKa6;JBYJ6i?tJ@2gReLzgY((lHEP}&WQ~j9S7vU)S80z1g&$zw>MPSeDnHO7NnGhF z%;Xdg$i?>uho%B=o>^a-n>@TsM8pGbRD-#a))CM5o8*+nSs~sQN{*GuX#c(oy~x5X zxC|BDBkya+=OD4J+g@#+w0GAR7-Y9J$X@Lr^HTZz6l;3Sg7eL+Db9lNi*=to|Lz^< z*Ri+-r=#!&s%KV`kv^osgj>+)SDg!7`T<*T$>It$##S~2Em&WqY^23B5wnm;#S&@M z8(PQ#f!U~)V`elQh0{;}V2`m}^f6m$T{`8HJ$W`jE!4GG!yG$YlCHn3C==PkqPy7v z4sB94q7KK6V37+gLFnnTi}kST1OkO@W(U}|U|mzn3ww!doBSM-QY zV`NVHueP3>X2J7y-z{|CTQ8$~7IX5bIgfqmnJW>N{<|NmBB1Yd5~@na)~bg07PFgq zVil<{BkP@(r4eaMVhtWV;c;JdxY*`Nmt=9IW%6zfGY`dx^4PknRW`{a`%y@Be2$uZ zm&Mqlr^5<*3PGn7sC@dGt8W->x?8UQG3bJ5xXmX(b+&~)6nDSg>+F8j+3D=JgE(hYGwuOs=z(m zNZBPNTrU#Ab@2kAf@Hr%h@Q(nS^Lj_2uCv&SqsEyBx0;oo7bydBOUU`AKSGJ`&ks} ze_^}!PTK;wuRpPdpZfA4KDArDWWV7Y&o)W_q(&p+yG$> z!1?+Ze_%LU(0*O$T1eV#oQ;cKxTb=#Zkw_IVgQ}5r;LHqmrYr!v;N-AIQ?$|S0( z{Q`5YhNKy93;*&zfqHBZE*;dl1Yz9%elwn-+sMIksL{&?Tx(nt47^e)W83ZM;UVc6a*pM1%)sI_CgdcME@v6`y#aC0PwY>4j%jH7@AyoZB4g)LrgnUn?9? z$?Vk%j9+w2ZYib1+!T=klN_GtQFyHg(8zzEK6-fN5Xoy4hNNypkp)+lGQC)aM!L7Xrh2KaDM|oCd;zeeh zig+O2egEGn8~iWtBzX18B+$3B&#{OBc7*Bw1Je#fiz_xtBC6PC>(#542OsjRJ3K!U z{tL!@?Gu_La{Fc%e!u2%xNlZjPZ@q3F-1eFsO3(`o0^`>22#@(s{rWU?TPOAt^>h( zG!56t1_^nf$Qtq|EIhDAI=^68A@;&w^%&qmzefH-Hpv}{c^qn#e?k8E!*WjzY3WQ1 z#3&IlSXs?HMGDO|1zC7)tmi)2HNQwxba&qkJ)$ZYp3DZ$Yqu2mzVhLl3qs-u#e<@> z(vPuX-xML56Q<(I70yh#Ul`V&u|@i{k2%00rmTJV;q2__@Tz@$dho+hRYU(wKklCi z1q?JU4_Y|mYiHuYQUL{?{NL<+^QP3w&(}Hi8(t*Y=`?LQWHgNQRlDh}up@5*-PmCcZ~O1yYEJ(6W8Zt{-}HUlbvm7vCHi->Uy>es8;b*521UyI+?+H<*JYnv z9iDs4BdKDF_JW&M924#UU*%c72ucdxkzRa7QO1Nr$P;VdK{5x(Kw%@hy4`O6YwP{R zhf`AE@B3O3kgD~Hyc4%Em==A3)P71}obEwF12+qMm$|*Y?YNKt&^TnhZL=#(2!Lfg z=GWH6&u3(G9rBd46S6H5RXTK%C>!utlK=j1$m~H#5H@QD`u%pwMnd7WoV44KFc*S$ zTk=S+h@H7)G!2HG5xrq?N2G&o>}UcX{*OjkLe=oCepLVn|7sV2+urT$b#|)WwBb#g zMp5SzO-)hZy{1;1kSELu7$!&g&1RW^HJ^Tg z%~NYkUSi?%n}%XdEJ{w$kh{^`nY+b4T}H(hY{r?nFswVL9Q7~P&Er* z2vQ-XcQuoFzS`?p+(K@yTajK99+MvqkG9Ccua|hyAMu#$eQPen2jQnoLKxkMO9?sy z(a&>bDI+DJT$KnOD^N&4EC8SY3gt@@i@2?i6Ve-7t2iWE{@pF^x#bq%s+lIyvh$4xuoc;#YgQcWxIyah?-Xo{!DNq5$EMt5jsYh{>T4 zx@)U7O($ofphHF@6Ke~{6=7*AQb}z73nhrzNiB?cNb z=8?_C<9BZlSu|?H2ig$-1F4i=y&|W4kfO~VTuAbO*^MKJ972b}O{3R@89-D_OlU|G zW#W2u*DR4LWpq^3IPR0*@Dt2^z$CI$0<%|@04f}5HqdQ5$kLR>YTHj>v^~Os+yB09 zV|M1Dg49R59df}`%GnK@$e~>T5?lyM=3GMlLTrR0`^*B;=8F7pP%S$L_;w<~??}5% zY#vE4gm0VgZ1WJtDVzhJ=nbAV`XBJx9Pvgau20KI%d-1>yWi~Myna2nI{fkIV&6>j zS1lm1@aP7VTZ$^Se>si=GmfUHal-Z?AA#oG`*9XU(D6TOCgafB{@U)^)*27j_SdeC z(l=j0fjm4%Ys#7-_ZkIz~06kBEp-sURJRNmrexnig>cn&)!r zCC$IhM$9v_7Jjm^03DB$*ggHn7|6cr|=B>$2Gd~0zIWJ8ycd_YHG34 zY>lA_2FnTGg8=-avSg6bkjI0ZT0m21?kZ-wCG8c2z~maNyxoU58t)V19H5_S%oLiu zf}G%xn*>$PK9)v2K7I#>z>VM`oE?!Coq_WpXg^suv30^j*>R&n*L|`BKVXynrn7<# z=Zs;`QZ1-8f>4B=9iB={BA9$vNs*_YhG^x|ErH3>)EEo3UJ@;fG2?|bt75X za2Sb!JsFHgKqLmTdWRpMz5hUd1Nymydp62Zvp1mH(B}fyzg1uXXxp`rJdM@jgirx?s(JK^k#=teZu=J7zYtEp|)nC zgiA~Ju!nw!Eo6otQb~GDQ!aix?2xOJ#u5yFj?-Tp9e()b=;H61bS{2AJ3Bu6p;MY! z^%OSqwS(ElPTnyjxm8-3k(Q?h%q^WhAG4%-Wr`F1$4_Se>q7=O9?t#z;^^b)@edaV zSH~aDGywS@8zLQaDBPD!oPp=$@E+xyL;PhDo-aD&gI+A3{=f(e=#&|ph5Ft8#*JCj_c*;d3bDL3~o!7ddDbGe4Za<;=3k(kL`^!px0p?Zdh z3+x1X41suWf;;*RMBiI5^tOAW&ZkyX^XOfICmfLKBwcLR^4+OU~)}QDsQi+}FIcaOLwK zQ^glPS>r)x2>w7J*MwV|u@S@EN7hX*giIeOnwvf0f2%i!yabRf(Ii`hn0GWK7rx(S z5%;TM;0)eZBp@>)y#Hy)65xB91&{y@?9ApGU2S5YP|)-ufx3^KBcp=mJWib0B~EsPRU3fu@O<`FY_j1= z9)*Tx2VxQ+8XE(>8E;~5b;vm`uAV5M0S_U-@k9Xa&j|L zHwcVv{SGHl?wb>9b^rYGg=18u4=i55Efsn?iI61>bC!zOxR1dh2%MAISWxHg9G8{} z-90tOF)^K};((2BOWI7Mo>+zq6_c}KDkyPFQWlLtZbt@< z0Aj?f@ai;;9255Nf7h!my$5$BI?IfvlY~djBZ0wD9JV4fGmK zj4I!8ui=P(HuEhuG*~xIm-++mfi1fRqTkny4KPyQN@+=p0>`=3?C?a-c#g)WJU*6r zi#Qt{iz|~_*!%H}saug=SG+lQQicEP1;eNs)8U+@@2H~hc>X0Rf@`KOSitxV`#$UU zSz1JpZ2;HEQ~J5;?InxDs=j%icxNuX;v*(9oVpw&1{j&%M+N`!QqKpW<-7|TWl;wEDj>HTXbDY*DV#vt&#qZ zq%zvd6XZIji2b~m?^zSGJ~TW``FTZ(pK@fqRiyGQn>Jz#Qb+K(u#hglhr#6N>g2Ly z>d7|=?u^Tmd`G#FZ2n%8974|;fs|SJ^2>fA z)l1lnZUjFY(Da^O{h@Mimn*1lgmMDa5(I|%=t(pfAun)MIZB=?ta_wk64iW+Vm_mp zy(?xhneV7>lyY*=oE(ZTkn}>$kEC}-c)AzI+wz1gUV(SF7mXx)ayjFuz=^5|I4zj` z;Gft%m&cn9=4cHNc7TUW~A2Oj7UF)kAUe?jxi%zs(gy3+DG_1QNL!?hu_jbz_<0a?69GV#a zys)eZ|H*6r>+6N0!4MbUL(Mwiu4XpHdw120iY>Oth+Z=yGZSv01v2kjg))#sd>Rldx3Z^9l7dtp$^x^9#t}pze*mYoq>sz0TCVZp#>; zzKEA%W-Q(=n9Zn^yTG6ajBK@jEm#W6TBogvz>E|I!<(f;NJtg+qf2gCUK*zWjJ3q? zw_2}XpMAJG!hDp@K<|aCGScHQO*xZf-I%p;P1ZmCYrUB9<`p@LZ}K`St&5}cljFmK zw>zy5C+|L<|8n?tP0z56);v@B=A-5|-x+o0U;bnI{IS+LJNmUzAAAG<{+No0eODOe z{Fjes2d77G|FU6i@&l$waublhm`RbgAfKd&!DDRgKOG1mL(dK^lm4-`X{Yk>^x*9H z{n6#s$M?r4M{n2uVt$8;No%dvD{?AA-XD|mUo_q$%14-{VC+&BCsYMPlH8ELn2C{g zLe~GYra!v2|DUy_L>U)23_7c??XMvXt^M)Gy8fC~bfZEU(~z!T937q<9G{Z&4=2Zm ze_wAE;dUR^(?x{>92Oc8BO3EQld3ffRpgF*`WIPi5z?_1P4H3aGbWtCtFKgalx$7(1UDgl1uk^7kyK_jliehX`X@ZT_B&<9 zu|v;ujeJM`Qb|~PVPHYsdIVI}wQap3??7pUtUyE|x%6(jdZV8Ia_CkR6--1bX^rX? zTWYP`+@}GcyKAOt+zXo#zVO ztqYbg&@p2M2M`@xc)C&ErsEhrvlEsfNXMM4WEx|bC9OY1|=5` zD$n}xrq<}<%3W|Jt&zp3{#1^FS-PlP2Lv_lg+YGPLX_v~#co(6Or@sWLIxvk zgQ;M%Lk<$EuK@b6mdqv8G?ny`{Rp;+aF&v+#fqjF{ti7d4uY1!JxYP?V?Ne=HZs?O|vE2{bngkw)5ndY^S(n zUo8XdZ=X8U-xh(M^mniYID6SBvD8|03D7+JP3Lo$NT!9@PU~3V*?^i7NhG^rDUGa0 zXrVZxN%a~^0^T6{?r2QBTZP({J&n7F$1Kn8pE4{AOeL^v!;)=Whw=4JSt2A?A{}?g zr5Hg{19av!v#}ln1?Jq{%Krvspv$>e;N!(~e7=gPsKv$19!2Iqq6w5^D(37hOv2Zx zR}5I+vtsy9qt6QsUhd}&joaZ;rBt!OxJx#$t~+`kbWL?yJQSUUuWQ^*E52AB&V1(5 z5RZ3Qj%a#~7V?lKDMOoocUPZopSwnp?!qI$a6Q(WuhVMzxq{2v`KJckxeL6|8T-v4 zFNx$M9?{f_KHi2ho;1frKNVBD143rHm@)}nANo9IArass8Hcunh^6hkxSNf2&+Qel zP5W`fMK<+Aw;FL78hDK@Lrql4by7U!db4g?B4&9e2aG9i5n{_O?-N&b8Gf}pZ@(Ct z*CIsG!9LmReAC&%tI02y%O1AV>9qW*>jB-!bz@H-eRA5DjFI2YFJ67UyZc2GUYul6 zw5=PLylb3P@A++D0ar~;IWg5=jOI9!zSe_S3brhoMiIF>xpcK-tv3ECA6;J;kFLGW zoVdMHYwUOWXq4bj+V^{IhK)jDbm;*6qw! zF@uk&ONNzscNpKJi^Y&j)C7we&n5^u8{2g)ECtZ%Zy#cECT`fM$5OKUW{d3Y?Coq} zDAvuMv&U$D1f->za^J)UR3bs6+hE|8R8(cME&AZfnWW+q3)H3wkel#XH1a|gDeJRn z%R4x)LYgEIN7cT553@Y9yT~ifz~exqiO7Ry98-3_j1)|4JT{=dL1t==$Tq0a2{O>i zK%lPyEb0@i0&Q=)7G*~tPOP^4S11!@<_@lP6>gCQJp3Om=A4%f2CzMRSfCx zk_{Ug1{KZ6q$ku6JM95{Z!Ge?f%MWkk`kpc_a?`Lu5XBlqw!{k{PtsEH&ks%yAd@F z(1aVH+Mw#qtETm*1QTLfFgGt#tx8KCr{acr+q%%#rGtKL=m?{3^#S(UQqXI_0shu% z8<%@)TkC3Q{Lv9jz>!QxeOSMS(s7!CbFaTr=?O?i=c=(5yvMcK2951Y-uWn<>(MGBZl&T0vRnngi8g5cOZ8>e;MP!su zbMVO*{XP#kjj&mbZ+_Kgz1jPC^X8+oE^fba|7>THwZRy?X}0C4XiKy(C_!%CxcsuL zpG73%@wL>%@V{&0c2%ZC%4sCGA#3IhgJ|77`0tx`BBW~PQ^A$q{>~q<2{e@*AR@tr z(Sn;b#0lT*wUsdce6#&sesb=DaM?O4mK%Yy!&bF1UP<~y3Wl8Bz}lxG8w^X?=<%*@ zFK>lAuFZ=Lt|HzgN^jmiy+MbuiPqM2r*sR>U)%d|*9Yipl**v4O0j6Go-TL_!FbN= z$DC?mhn$I9lQe*ua!`3y)=?HIoYJR=EeCjfn7qe{u)HLtkV6`^GERtzFRNZ#qYVs^EoAtMxq%u5W2N z;pcA{@*txrjTK|2b`^xGfEf&xMQ{vSKB&cb9J@n)w7DUjv;k#ZeFZ<{*=C^pK$D0_ zNysHl5=PN=G+$;tw1_dc|D+t})irlEnj+0il8m7i>m!L9xa<;`zxESlI(IV}t>imZ z6|>sk72K|H7hK!d)qM*dbydAx1L!YhbQFgWEO!jWX9u7)FjAd!!xA~~yL zKEW!_#mTu<`8ZY$F$2UpM@Ki*r0-(&AjNi*-5bnfvTaVplirKfW0buay#r0ksOmhc zJkAOV-Kta3s8nl@xmi15;*_1#^Sat>Fp%EwZYxYSuGtaAUXJS<3!7KN(XW=+4NUZn zNFmbXi%;Gz+#Ze?5*}7e~BE6<5D0CrR zp?}}T2r8?4a~F1HpsCB$O{L66wmb@|FHu|uw?Zy4fWBCE12jzbyXYGr0=~b!ZH*u8 z-OdCjH0Z|W?Y315eAU_Qd_&r8$rLG_WTwgrCYe~~Hvu72znK?6wC*MIQbgkww`Ptd zF8JQE7kt8rG55VgS73|bfXaZ{v?;T@w&ZyHHqdg}8%R)qNwHQYSsVS4iF=Hf;2U|pn zzS1aax#Wul^w>FZFFPZWCXLD3!6iAqTqEBfTpnL;wSGOm`tifhSLD}&i;IJ^tK*|f z^5KFUemHw~e0BWc?2>$VPY%xhPJTK*d$&axhsY}SIf0r=A_e0wXJH2n%l^l$jo#HZ zj%Yl{v^YD^!Uos^{G6RM4qFi)aa+h|0-Vl&{b?R^o4_*$&7#}6QDZsZ*xA|H`Ra== z;Qx1acFO<1yR-M^zjnX)a_8$eJ70YH=BxkO+5K{7@5}!pJInd}^e2;wrvJ5b?{AfX zdnQk*wv@g_55T|UIPRy^8O~aSSl+U4c%tSlt)j`YMU%w+x!2j%EkY)PlqZ;s^MITf zcLL80s<$tAJYn5KNLCt&0S`!zsawWk>uX}X);f?L#kt6tqZ5xmYbr%Mai=vDBew4{ zKYLb>77z4JGn`>s8r>2)WG2d!&12Cedbt8M1nYLg+05>QWA=c87e z^s^WguC2BOp*5mBuTWv@ClpR0Lb5ct1|!J`})lb|6j%PisXWEfepPPm*?;P);1DR+bZu_ zx=#+y4-S6>*%CzTqK}pS;(g|d|)-J z{BO(W&{gY&MJ?^A+W*ddcKc&qey*dEMY+NB{lB~S<(E6f{lB-fyYtn{{$IuOpZ{#X zZq=}WCJf;9_8)(=T6z?6^Z&E=?*DDu$fEf9S$_qtoZVPmlal;OSG(DJT_@f8HV+@$ zP4Btw-UbpOi8V#A1SCgI{r%g&9}FG@_z)>sc9OH^*^|m7Fc=I5gTY`h6V3*3Nlol{ zAuaDr5O*{s1C$kOT@XG`#oktIEs>pwPz~;1La zg=0j1Ly-7ex2bwwmfopiPWu)>5;5XJmHe^}R9VA;s_4Cf_M9d(qLbzKWDU|=m9hb_ z-vN~ylh>&#@kRDa2#Fx$g0;(2Ot`-XVTHo{Q%#&-f+(S=f zrs2W!5@yI_^h7Rju-K`3rOQ#FVQXfUW;t9(;@KrSMcu{eVL9JHozIbrp8R)UqoTa{ z^4Lf$i}JU%BKFr???F@E-a_c;&HwEe!c2$%cUcJ6->Z1#qUzHvcTRrq#zN}uBC13{ zZMe!c7EZY)?^!T4UC}-nKU6GSUj##}T(3T3hG?(^ZEf{=n9aXzX$yOQYcI9Et-rM{ z)$RO0wVk)>sj>f$aDu@_?Jg$(b@u<`!{faD|8W2C(flnalZ)HVnJqic+3c48(`^x7O|aQyb6kv)aCfq8q4$ zY|9YU%63|4v`~oA!AX+RBn>eazqOwaxa%Y|2tt<5!L4UF4<>~B&BjbdwDmK1&d4z` zTafgW&Jvsw)c$+l-|u_9c2Pg6<^#WD0D{VZ+Oo;+qCX@Y_uDR6tI8IQnw!!pmYH2t z$D2_})j402SkLZEE6B(Jry0%Yr4S9{iGTeyXk*(X-6*B;uXNauXu9-6^43u3h|Nf) zi*AoR0VXpVv&M5TE8mzz{lf=mDV!v1yJRws@lENJRrt3el;vOFkWzMyha{Ei`lldL z7*A5dSVIEo(iOzfYqTo1;*$lzlxk2!?{7X0!a~hzNIj3xdBa$|x z>NLS?DDDUAl2h5DJI)F#D7RmrmBKuXC*8$96saL@p+Xf|Yb$SWINp&IBF=3#7>mcj zSZ6R8;^`dLZ56XCP!ZX(2%87~!C(B=iHS62!Z;O6-(Y#6$qHCGk9ioG0tfzq-;PxP zK+Ab48tC=V;CbN)FDt~9XSFXHj))H+&Cw=&lO8V#=2M?jlWertYoj)Ua8u^T8*qkg zL#SA&B8z&xUOQXs3K;h93&Z{z81@Z@1yqy>&~dD@c#s85>~5K3-;xn2lAz_IHFzc(;yR(%3oP~=NQ5^szTMuRvk&RqvSlPz=P;l8ph!2RHTA^P>$oEq`ua^ z{0kYj!#`s`sDL2$`O_1?QPFhp9JPOr&rdEde|&rK;u5{QxOjUpfCOAHA7uA{LM!y&SHl6?dnFKE49pd+5S03`R5JgDo{IFkQiYZNt)P!PWK?S-6$m>#BjtQ z%EpkOn2koN;~6Pa zKNJVTe=;9L`168NZaFq9{fAG9EREXId!wCq2muA7YHfDgGg_OD&?Yn}a1k^Z`1+Gw zSm((pEv`Ri6&Ml94W}tAwF9eNPSRNz%hkb!!|}x4PTIDVa>p0t%OW9YoVCAVv6Ig$ zYIs#%D%Nk&T!v{7P6*>RI#!3DqxS#Gtu=O^pO*kC>2N+#eCl~! zebu{Hv5@HB&Uot*)gF{;WJ}9!VV)F@5qJ_Q`-kkfYx!s+-=?2FSm=B%v+cpV^X1H0 zsiJA4{B9UeXiAuRof4Uvu$!brhZluZfPY3~97RJsx|XRmWRg@9b#B$7wb0i4^>j#R zqK$kRtFFlmUF44mp1_AIJZYlAb-$8l3Wxz-9FGq7hX><^s}S@jbm!G!-+OgE9{?gg~*;l{*r~T7|?#oq5fd;j{2`j)-ueAN*({?e%2llK;_9F$>6y< zfvhNKw6DO2|Fun3|1|`E&;AT!`_FUe?`o|M`M?bRiQ%`^O53O2+ckOW_W#PY>`n%N zn*IOb(X+z&&*4%3asU4i&%@vU_@_$M2hsDzTp_X0*1&)pW^u726(1Q#k$pkrXLItfu<)nDq{ITaFLe^Y(bJzw73JRf`S& zAy}+Ldt7bzIG64@JQW(U^0E5tDKPy1cUbMI9E{GQm?IJ*?v5Ey&jwRJxB~WT30f=zgz;=2WkIUgNohH4b$s{ohjN8OL#e(?F%QDHA}70d>hN+)-(8BUz~!i)3}Yi9#FJii6`IoBz3HJI)u? znDL{Uk#s^fumIM?*Xf`?z%uk-coubZ-C|G_xpWpH%tyPRUBfms}y z2|y0DR#egSLZ$6#N=Yr*AyR4ij7)9~O`+0CCbxsAktdHGv}Uzl^U6&-70zaJ4yiU& zT6{JiO%c{PsC<@?kL+}?xz0N>i^Gr{k;C) zJAU;4dywbB{r_HmNW|I#X`PjU++?w=Uaf4I=Ve7yC?u#0(oL%aqU2kZXjll{bRLh; z@d5k{XP5KwIQ)RxURCJw)0AMYkdkN$ob@3jR+`XonV~Kh>ADUmjnJ_!fv=eNC)Rd5 zB7bL^T1t`#3q|-ZZPfmyy?LjwA>4Q#MN9PC97keY1EKyvXMLeD0dy$OMH>QhX0G!= z%57^Smst&^*$T2N%0mdqfw`+l_2SK?C<`Yc2^n?#*4fz2A8IZvTC@+d0}h}&TuBtj zD{NQOTof!A5;dRbkA_!tnaTo<=x&=3pTx=sv@yS0cp7p@DDF~jaCP3UjbNS&9cZ%M zb(n4SPNJ3x1g{oeU7T+9o8N111ZtRLGN zmd4pH*Jz5WUu97n(ToDR`{k-aUg}(vWh0?;ZAIYUMCQnF_}2ukezhM3%R>m3YqBg4 z2l2+TH;F=8UO?6Q>3yAL$n#_hh{1E2;L(}3C9}rObWxZ$ZVmUgM-ifE@ik5oePzJ9 zkRot-j>0$~A6C_RVvw%BQ&KzGG>H1SW&(K76s3fxAz2W?S#Zo0r342{Gy+vVXf!9Y za2fJQ)N<{0f}Q9svpWY-TScn~-nr>1^6^vpB{5a@+a1)7NIc=wHtP3a45=7H@F8<| z@Xqg*&ckZz7dRGq4$D53Bl*;X%S1O*lFG9}L*tMk#;IWURdXQ+xnwfP^tCpjkO%Qp z{w{(2!-bX?N;=AezHV0{l=cwuCj+5^vEL#?;kJ){45J9a@!>d38JBTi2q&p>2v_qn zkiaCWa!im1{-v3;6gbN-s;3jhn*mC39MG8|oCG6>6M5(xN+W_}7u1ha0uehn6&p*$ zma`#^nC@~7=*)UiqUPkrLmF{FFhlGVhC{U*7vn2c8*O`H^P#ex*TttnULin@s4~W3 z^frD&ZmPQdLM;ZOpXr?V=xhvXKBtoH_mE8AF2i}KEq6?A1X}@h@+*|z66`|L0HU9$ zNOfSF8_(krT!v1Sn<~x=5iw`_Voj2A!+a#n9#=%H#2>C3fLt(=0^5?u)>i~c zr&v{(lf8Vui4qNlsH$LTrw@E|0W&gMT9Y(KF4f}`U|cnUixgGEr=$%_$VeKTR2QDg z4^JJDB@xOR7JbXmtJOM+tDRYopBT&r&r!RLOf(545^}GziEdd{!9&&0KIy`lxXP#3 zGaqzOjfIl5R{4Gp`HEJiuwod^hTlsyD!^mb*9QMgy#ViRNc9m@ues2GX z{oF7ug+q%;lmsLTdG+yPSZrzs8`dm@gx}N(78Xg~#cvSG3Q`vc} zcoMnW@g&B>hy-o`6g@|u+jFhzTK5xudEnfd@%adV<$S4?Vog3B{13?3)@ZaXjLLHO zSs@1Us6ZI6jba!Ud*v0!=3PkuJQ-N991&~3wXHyg)wq<-diOfMuXM`X;9v68^kg@p zHzY;7V%a%~k|{?0PDlRvWI-osY*6DV=)d3AhR! z7le8^=X&< z1_!}TkxuStNw0o(85#8A=l0KSI|QArk=NCgTYz%RDtq%KOWV)ysgeKLeXTpJ05$S| z|LCZn&;Q+f%>VH)&nJ-oaX?aI+LtFM=A6X%-6SNP;)Kb~6C2UQL@QB$Fri8_@b9VC zluND~BKN*w$*NJ<^&+Jf-WT{bbg7M=;3Qcc7^B!=ajREwFIecE4@qO3F7=Du>;sk8 zDNB5(+aEu+(JrU|o6%TR>^P=nUk-;O@OcuU-4W)Zw(0fd`!o(#I(Sr+rrS6(t9?Xn~dCtX1) z=1=)7+5y^mV%ov4Ml%CS<~Vm{P+NG_um0r5v~9}J3Jt^00prHVtzW8;tcuo7(W3cz ztx&6mMa*2(td`w3Mt`Wg&CpPpS}FOS3S_x|TmubBU<|G58qnCHRQ ze;LdzjAiaY2&Kd+nh>7(dMFENweXT$sf@i7!qtpkZ3ojyuhd(pa1%!D?k>f+;K~{kLQuxh0i~>aB1zO-# zy0%DvQ!KCH)edBiC~_3_$jp|Wv9i|>O%9Z04~8$`6P-jMEGQ%^)qwN1 zQ_RS>g{rVNdif~g`8Mp$c_p+gaClXTT_jKbeAFq~AH$#7Az&qx3Rg{@Y2t85rB-!0 zg0&;J(oe#8Ps+d6nqmdOnblYHMtO}`Bj~r?^MUfC4_MXs+u^U`!;{=OeNN5DS}M5k zT5!A)kB3Cw!b`~_B=TaO5S^(yYocTH^iS-mvh$-bMq1^1vf8yFcd)Umk4Q3PTn@25 zJYRKWVNNy{V*D~!pC?M)_ik^|in9%Q+@)z~d1N^UUWlfuq&iW6DFhzC5sGQ-snShY zuG%Lk=gNCcmVK8G!GU*OPITJKJAkY1gL9numXZZY8Tnqk96U$rPgTn0GP`JgkT>&B zDpzdXZJWgoIqz}5=!CNJC|pgtG7dSNlF>Dr&k(kDLTY&0dY2@&Ll}J}Jwv|A&X;yi zX*>=muW_=c{o=(WgP>WTo)ysB}B|TrPh|FS>8TI6!SL{rTtMFHioE(sj_5nRtFYxp;H-=AQ#} zk@X%0gp&~`0ooONFe_Ey?d?Fk5oK;~J9|j!n6b%yD+BsVXTxZTQX;xZVs)1RFK8GP zsjc$tCy?wPy!1)D2vZu%i?eV&uQ~&*q76xzPC^T}DIjj4r&{quE1p%-Hmg1^F`xWd zE&nYS-tI3W%ovV?6tBA&)Y<>~`?>fJ`}_NckM_R@c^+K;D<5itPBlAak@2&X;W!1^ zR!s5V#LGNmR0FWeIH(i97&mx*k<-=doB7PSH;h#|=_i+UR%ahfiE@_H9;F6rWA9>~ z!dAAc{qxJN>G|ezV%Cxln}AtXm!^WOzP{5pko~P(BbyS}GCJh0KbLG_GYAS~;bOf5 zPhFm91W1<6K?sIFFp{39WE_5I1m>D7eOW07N#C`wZ((Gc;mjL2*QR?R0MrVaO2y$x z{_ZzqpvgxO03Vx<{-_8dlTx_1#S3>LSl(K>&V7y5pZ zZsmjCd@wYe2BToxhO0+JcWedi9V4@ld=;1E%8oehN_TxpM2`1bG`E)mtw9)FL8S%y z>}Q|diJCFb&$6=Nbie#J@q_<&eb(6j&2SpxV7R_1ux9`F?AgIVZvWSR)_>gpJ;?Lv z_J6MhJH7a3>$^YArk~B;Pj|F(=LdHQ@3!mHZQReEuY{y)?f7(k1rE>obmL854p#Y= z52vGP$jOM$)6!GaJVI9SJfu0FR&O11aKu6@DpYJ6FDT^|TgTM;)OK1efg_e*?Pg@b zn5);d_3O8 z=Fcga{B8S2AjPYnj}gf3ZM7vxqJ2kOkloZh8H9@DUC$t->Tks$158QFEd`T;26HBFhjxX zm(^^xj=jXjqGm6857sYfgRoKfEX`s{)cqTn#bgD0lHH|M1E<~?2LbrpF6VH$f16xx zMfCb>*3)fwYd$p%a>%X^G)&!iREq6JPN@@RW&s%&h}_6Ew=a4Xx!26%5` z6Hs8kY}=da#2VwisqL)-%3W=53hZZYduwc=snVeD(?YZ5eNJT`>dZ9OgxbJNbFU`R zRa=rTcWCZz7u7>{|8~(&ZQ!YS*0KLV$mltFHg+%jC@dgD<(c0(uN*i4l*12d)ZJPy}cg2y^1@0 zn9=_RMy*fn>*Yw!&&sOwi9Nj}13vnBeHvR+?V7heOVhR%{(77@*l=Y;{J;9o3ihALi&J>6TJws`HfO}w8Sb1Q?AK)J z(Xpq$tyPLdgrvhs0nTK$!0^R#@vLEGNV(7nRjLaMkJDCZ-~%UTG<-9g96B zrv&6fgIZ4N`!e49WVWXI6?8pIL_Iufp_7D?xvUyV!%7CtH&X8~TfS4)k?VK!V`|}2 zZbRz0-C41pu54pnz*{y|SzTO{V>UBdtpIdK%auJ?pSSr+8#@Xr;hIBGp;q3bF=V^j zgT_6&7wM4|{lOfF)=Lo3m5Wnz1>YijjwJ<^F4|~T2|G)mhqy6_Gp6%FwH!=WU2!6Vs>%Wp!KO5UGpi^!3 zh0k}h_{tXU$JkpSW;3&_tk%pTTj_A;0J$bh<|j}#2MAJ5;57W51S-){EikK!ztG8% zAo*3b4O?eW-p!ofAO}{iAMG+HicW2SBY1g!Au*%$CsaH4g1IrtW%e}ygPJ%(m zY~$lvq%tPNdLr3H8^G zhjGW9nFRV-nw;c{CzFTjjhO6xV@iWXMlGE8xX0R>7E-m#^J5bgqtE z3)>aCmuNucf!%QJ$YZ-&{RqcZ&D%3puy@U5{M5U!Pxq{`|F@T0Wy`B&*yLpw*WO;^H?W(=Lab{2| zlGp1gHMyd-{&rjIo7S4Bd{vsB%yV5zo3btxb6)3$0VURAuX|Z;YG9)z#Nx1 zQSJB8K(Ei1Dw!hOH`Xy{!&J{bGN*Qqi83Dc%|KV~i+tJbl6>OL)LX-4D(~Iu*UXHvRz zCvUUdG&6rTAobF94)|HOWdOLjW4af!JYIYj}#Q{m|4S^y;Yr+;Eki(<_rXvRT+o_d~8i^O*8 z`4drGNdbWcjssup!ZOy#M&Ej;30R=SUH3I*`oBLV(JY+AG$mWnF>Cby-qC(e|L-5| zANC*h|A%;X&^hKp#xTK^a?r(s5u@Qei~=El6Fj=c6Td)kG6^^57GEB?`cvPIm@ z01ffzdY-_pg|)u&*-g^=${*tE)>l5CC9SXizt#?VhtrVG89ICMlC}IKrN5F9Z~0+B za95T~>8~w+!A3M7-7mVV7>vEceBi4;%(O(o( z?T9iRuv|}4I!}a1k&K2SItfQ;NcasQu|Y)E^INT*9dz~TZ!a!dt@rQW3!S(Xkc7km ziANz(dbd~=2MQjn(8>rpK>Pj&|AY3Ip)BMyT@DZ(g@bN4C6kcxbm{f|fR3(7>W8#D zl9 zHHjppi!dMzVNH5%<3m#tB_w6&W*UyBXoO>-!+`xBZYnHDL=zN~8#OFwE;M7w6a_Zu z=(PgPaEvD;^;<1>RGkJu@c;Dvd`NJTungL@dgBLV(UqJNkR+nZnb7Wpwkg5GpLC3X zK~E+8Fh-+j&NxX02fd>7TA<6RXc5tQig03_r=WCVDE2?mRk}n!NfQ`4$;zQq%yC2~ z8HS2g{1KgXNz6%_q#+}nJy7ei7l;HQ0H9;T-6e1(tDmO?Hu@~>b~85`;-(!U;ot zzyH_2v^?3<1ApJ|{YBOhJ5VAz3x8fFWEA2Eg>f?Hh>fOXhT+Q&I-B7MxuBG1+^Q#m zU@X2&$N(|eaJ3K$2pgp#?79Z%1tcZ@puB(L*`G99hLF{An36Ee626!RHe^NoZafL&53Lr*lRB^x4#yK4OyBPx`+YAU!w|<_zvrdL2d!2z zkD_xLg`-+rf!O0E!V>(ssc25QK&5(m65Ze>dnz_c1`k2Ar(j~|Pxs_`mDnMO;%DPG zl%J=Bk(fV~_{fufmLY`G6fau{g`7zH!)i?R_BmQ2rjd>%5W$%Sebo-y&F=VMW+Vmc z_^nnzhI5PDLwOijAdTz`9K3{Mw4`%%L+4R|qVSrCFN_dGKJXNyFdox%CZ~g35tuzl z@|aNY_DPJwm~kABhypewgVv5=OPk|%9Fgzx%Z{Lb#pv%KYxt2p60IF1yRI-&5_bok z3wh5tiAN-xS?UP5mQMQIRF)U&u7>5?L=bdrwHT)>!{3AiV<{FsoU^vo9SFqKs`pC#mVB zZGY3ANXoS5bau8>(67nzHBN-qH^{?M?~MW|VJ2iGB+oTjg5-yVKzxa~u0lfM zPlvEaTSaWCgc($Kkd5pPLdJ?H3TdaB@5$1TQqU4QED)OuN%f=HI^QS{PsB*fLf8z$ zT!g4Mwk{LK2rI<*5Ti4KcsL_W0Jy<1Ov;IOF)-Jb^@ig7zw-+zW2PCbE-==gn zuwEiXXmB+fyI)q2OOKB1u`&@C;vbaXEzF-vxJ_P@<;oVXEt_=H2Gvcg%%$=67UM2D3EV~+GkQyfnSlV%BNbP?Y(lZKjOutDHd2nCuZG{syhu|YT< z6Bw2;!F-+yP(eW8)Kzx%Kx$9`Ma)B`@`CZjG^KigLe5Au7Mm)Z21>6mBzyVxm9M1o zk5kMI?l&YQC{(s5q7HoXboigGmWR$$vH&}}ddVa`LS}b(&Io$%Y9#N`u96x+hv5

px6%ZDd`>)`@1WhqRL!rFWG$4YZagGYT}^ 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 literal 0 HcmV?d00001 diff --git a/assets/bitnami/redis-18.1.2.tgz b/assets/bitnami/redis-18.1.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6fecaf8a84972d0a76c78b0750cb711c8c2c3cc7 GIT binary patch literal 94934 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çLH1CxW8ioJ>)@}}+6>AnO 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 literal 0 HcmV?d00001 diff --git a/assets/cockroach-labs/cockroachdb-11.2.1.tgz b/assets/cockroach-labs/cockroachdb-11.2.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0013f27193faf9a8808d1544d1fe18f592d4857a GIT binary patch literal 31573 zcmV)vK$X8AiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMZ{d)qd)C^|puufS0L~>hZ8JR zIK$KAFAw_kdcEF@-Cg*%*XvdP?e}-K|I**x>%H9R?e6Wo{7bLDv%A~-3+g>A8qH58 z6&8Q#-Mg)7=l&oMW{fMWC}(oeK`6osCwv@6SgC}Bly5~uC_17f9-tHp#fWGu7E_rf zcor}`B?ENmsOsq3#?sf>kOVhGNXpp&J^NMm9gLfP z2d8QNb9*Q3hy8vhCNdHtLk`YeuFd>^rX5xn4*uRzFY@E!3h%-s0B21x+ zf4oL9R(Oad2|E+6QJE-}%E8vw?d@%tqm|&H3?n}6&`3Aw$_RWLj;Wet!%Pwpai*c_ za$Eia%>Uk+VyTGOig_frrX;4g`1U>?hAA6&rkFB?DI-D-Isqb6Op^hckYpM}dLhgI zRYwY;$|&kDo%+a1o{5M6T-O7GeLKpXd^-F6a69aGzBFa8pJg6@E^ly>5&7@}U_Srf z+j+UYQ|13J`#Wp?{}|5`^olSdup%)UQO*92-lEgDm+1KDJY zSP|)yO6LiBdqaevF_B132m%5W|L$nowz>MuO<}L*QAi*#YWyJ02R)TwYt3l(u4whBF`B?Sw`X#04Ew zhLdEb#lkork4#cFMpphH%wn%=VP}*jNgWG1#bcr+sURtrRBH%SAzA!W6}c9H5V%ItU^31PL;xQt2jQ9$ga=Qf|L! zF=Gby7d~O{V@~Xc6ia!_MLf`*VPi5S9X)mjaZI(8#EF?Gi4;dTO_Le?ktFDceA4o< zZ5h_EV?bC$pP>4jYgHoPqXC-E0-UCR!eNqWq4!Lpn2d0iD0Fmsfnu%&UD$bo{>3vS zCp=4H#BYeW6;u&K6`~_Fm6CUBD)9FNukArTtahzlYC+;b9+L)0CoS$7k4KlEQj-3{H4MqUok zPd{4%3XuMm{}`uP2kKvPg%c#{e-lI*8qRd@MqHo>M-w79k(^*XNaThvz0gK_l|ttU znr4ZjX+i*wR9xUOK{2_Z5s@Lf&>&?t8qp7Sz+{%DTxhy8NMH3|eR~B9^s4`getWfH zhZ&_rM1&~~j*n0}nMoSq1Wn15iy4YALpYHf4edy2HP?X*xAzPjz<+?Y_x@`7c|nxc z9f7|oj&6vcqZzOq3M*92bXzzl88bK&f`DhDX(kn#Viir$kf>Wi7_2Tsiv<=p6r(Fm zW#KQJvMUEgFEPwC!kHv7!V>8|6l)i-p%Ezb=ypOFB2u&_^}tpD;~?-mKR`1gVc7g4hDQU2BuQXUBoQ}y zd^n3=}7<964wR}&}gx?wgrno7qIDE;GaZn95 z$2giGs>oC`dtD9-foC4=Vf5WUj!w~YO&gk7>rrNe#3bGT{UHHs8x3awP7}i!k70S~ z)BvsOCM$%MC1yM%If;zKl zw3}QNv6{lpw$(li58c@Y6$D1VqJZf33=F5Y^#1CU70oNOb_x86gLdQ%ou)mIIGXv{ z6$eY%4suKjEDp^Lg*BvTw|4MxMzTvpqADB>A2GU67CSSvO&3kC`r9Tg{P!n3hv zJt*c{W71kBG;EOp=}bf)dE1 zYs5z*NsMmg=>?%4BR&MBtz6RdJRfi>Q9`FwZCV9Subd=7k-&1INqR~do$4tD*95&L z37v2rBR;a!k7FbBJSVUo#Son^ZS+bC4W;Qqy#G06VghrSqnb15+ zqFb$nVna{hhNzP`8qJb`04RdrN)#I&p-avzd66gs z<>M{_!!xsM7HgBZsM@Pl%Ty1Y{57!)*)vfKpTwrt(x*6(y3?S7J1508nFWSew5??Y zuh}j!gkxzp> z;VCo#gEiPw(2=y9Cd9b0kV6mL zmC&XAOl}G?rkw3(GPosDZ5AlIS3!Tcsb_V+zugKa!VXS^1A@zN?5kkgfZ44E4=a5+c zLu}?FXfjDlUly98<>KH*(r@7Hj|bm2U0fcYhh=a_pgw7^U=_Z0j} zW=;URspj)2W3b+|jT|Kei)2;?n6a1$m}PXUd7bqc$DFcprR{ez(_Cn?)U?%ySZvsd zbHP!j^~ql{7Ue#wGO#OY`!0zJE!oHc>R%b%CKq0ukwEJVrA|H1`Aq(Zj4?f7$J@t9 z5vgsUQL&nV0=06IkU%qul0V{PgcxT5nWmb@8Q;C0(SN)~IE$&$=AIMug)1_qf@lH< zbxzA0C>wy)>z0-``Ol=W_Z0_OL%@>&(lOAoC}Wm94VyDkI`@lckmPHx9T&Ol1?E?a+h@=n7^=MMY54HFQwj*U-wi(?fQbHq9@H%s2MJ{aVKL6k zI@Vn27BisQ6iaEXYUg#e6Y=iAdw(iafW?a$8EH3bE@BfYrvXBzDRLf0|3jo8{|Z*LPKH} zG4Nu=(bX1FkrzrMO?z90-(6y90bK;tb5AtrCaa!cwdLLCRwgPFqj({{w81=^)T+9d7yd z@d*eIt$^GO?FYlwNHP7}p&aP7j+vr2bYto6h93%pJ(|cES^aBr#00VMMgvNN{WovT0}slPQ`HsO2zVEb){ld_4Ps z%sh=Ov?UI`eNylQgZBhSf=lT|2!JKEi4Oi>xrvOGA`wxMf#S6=K;@C2aH%v4bNGPF zYV6g(jpLQ%BXzZjt|nN-S9)-ad^KkHb6{!~oaOPd3EoENNi_}9*7=cu8LlVBwA57D zjn0u)!WmbVkLXGeBvGlO8?kk60sH{b1AKMVTBYqk&=UfOyS z^|1Jut6vw_eURD|k(b7q$2?S!y*Okzdlh#Kwf!cZnTV6$61GyQtUw9=&+ zLfJwuLY-m)YXTUAwn9ORn~*6Q35cwH;?y<-x}R031UF#@hiC6VHL$L{0xV8o*T?!5 z7EEtm&5Hp8H@6(*npc!&ut=x*8|NR~>ue3j z429*j^fp;FLFCG&zxisR2FClY{{n?LO9N;}ZaslXAOSAQf}v-7(?Q7W!aDrUbTx0R zbm3P{sn=aJ2H)0%;6zP|w_rEw!uc!B&GhorhUSHRYa>^VNP=e<;DORcNY4e@5kYyJ zzuzkj;5jiJ{89s06fht1kvn%Ees4o3Nt6MrBlpY?+eD#!K&(!_Ov{i=Xpa-M;B`@;_JG6R0EA7~D-HC@ zZr@ql5w=jQQ#{B6QkMY;9sviDf&;CHr>wMK;N@{q)@Uy*j`CoZ3=p#wp~XB_3U&m> z=-|f-baL6@pekq>5bvDmHAKgQ>0ho(Nf zhj_F+C<>vmNFx_6;Q+YbWgnA!XU0O;%cCspo-DYWY}h3A^+)ipUperhF6RwDYzq!a z4ox=ze$*@1iO>ccF-Jt9E$j-+#~2Vaajz#*Q4S+VfdmV`!d2MN!@%3HHU2W!lIJ$_ zE5V{JLa8jeMHrmt6dlgo_FKNUk{_M{ob`;RT+=3Yala>LW)BL6th^hfl?gP&2?RBH zu0prHYBq1&jJT$9^E=Ik35|STP~K#n=v!@ke|CI>eg%`h)>ykuUv06`iide{i<+}! zW}>wKmi6u)on9cq6zp_@{{u%8y)Y4F`97F$;mZu-I7|?P36V9?TEtWZBjK4uCuc=u zTRx|;Gb(b|vYxrX&Rp!xG&mUzzt!a(-56K1_1t?zL>ZcLsZc~kluhlfjg7}MJL`i# z?o3vl%ao1vxWaVZk|D}y*s<>hod)M`DcHUW-H70FpDeHttdId>W6D0*f)Noan1WkW zK=-YWkxH2nF+d4XlCVh3Qf1xc+BVqwxr2~4h@GqQ2?|it=`)r1C0vbK$)7DY#vylF zKe866M0Pr<;8QKmv+}qYU7$f`HJs2a|DQFZ=bA;tx|(zAGm)#S?U16b(?;GFz>k^_bvGaLsK9-%Ane;iS9 z6?R-)knxrcB~LO%fWi=GKq^JVM;-65<10pP>&jwMG~@7bTX*1X%IkXdhMB5&IJA>o zSKUhS#GzdbXP_WEd;VmEuIlwob&Sp`O&unfPIGMCDH|7KnESL^Mq|@E@KT>25Q&xc zTGVN~pQFvfSF}^8pT>&F$JfrC=f(I>|J65Fp5|&Pvm12VYj?X>o7TslJHp}_!&BN|HX%P0*m7v(wy@FmtE7=4)7cG%-0}dh|O=>KsRfsf2BnuRfA=B zYBXM8LYUo|l{RN|Lo4jcnAS`{`|zM~6K3hno!rp05bv<3(*o(U?BZa5_hUt0@#n^K zp_{nf@%n(Mt>kmPoDd*BXk26rg8TD>GJ2utF@-1#x7Pgi6>8O7Pl%k@7{p&Q8eQ86 zO|7%DXAps*D9fDVQf5=)c`5BSZLz|Q!_x)jo^mlY5i_&mkY+-#J9{AWc?Tb>=Fgcj zQr4W_G+VJA199C0|HZjG%lnUvD=ckfDMT@V0~I_CW|Idtn{2SGt>j#tS|%80sX^2E z8I^sg6xkyofUh@bi=#s!GqG#Q_CNTlCRFW{E z5n)mb{%0TbV@qX{R8F3PBf|4Q+M~?*o0U2X5+=}%m;js<3p^#tgisoIcFS{setP}( z)yb(r#Q7KIp>_vEau3O3WC)9ROxbwgHR zhm!BP&8$*t?pqvPXQ|`q_QJry(~A#~+!<_bd2gSfDwZ1mnDAihd zp53?vBQ64iof&cScVMU4YowU?Dk?vFrG(}gLbC$&?0@0p7SH6fx&0dvtTI7DbWW!E zDKWDbZ5-I>>brNZU!!ji4u5!eh7Ml;c<`@_D-Yx-OA<5Ly2%*RWahW%I_i)8!;V<~ zp+08*sKI%f_ab9xA3bCI_Sw&%uKwuu0=OnP!*fY8v)M__>i3~yPJL&1n z4jU+J6meI+5)25Q6SGNC9HD_wOTo2zO@wv-o44njD^sWB=L&S;7LcIE7jTR+RfnM8 zw?H^NfcgdvT&o;JxZ^0-oG`K{rwka#;1rYC9uv5Hec=p2J#{wf3wV#0q$2lku`v;) zz*!qqkw}M!Kb&O*@?gFqa4#NuK38pAxY>2&W6V90j4tSy5$_bIF^TQrXCEHSw%hw@ zhgl~`1NR(A+O>zkLBWdoY|$~=;rV!Knd!7VOMhmQ`@qK!6f!zyHn60;m<-qmpEZ!L z^(Iev5*x=?vDcQ*K7{8-7#1F^n*x-x<84L~%$$oE90EntZlb$|PV$B_ICXUB^&)oR zy|CM5vj+H`F{h-=QqBvzwR(dSYRm2w<@TKZMGY`l>Z1o>UO#ih%6)C?YR)!W zI;y{yyZQCY7xU(^4sfMj=GEu)(cx6?VgH5K#YQ$34*{~zhhSY8@U?~HFf}N;#!X=( zVaqJ(M@$tQvn+PD{HCp|$XN1lE(;Qlm`oK^!BH(3eRrY){7fNwtCb@-_G!}kz}a{Y z3(H@?JyW2QM^tF6256@z?||pnfPD~zQXZRF_k2rXdzzzk(Z010{+MFIe&NHFxBC&2 zH<5+i;Q2!4ghOew3EUT2e=k#nZgQH7cKyl3?2C%JV}ndFLnp9PWsXz2{YLZ3D7EGs zIJ8CC*w!~$n!MvEzN{*e_ed0RA&5*li;D<;h-ZN&&WX2)ke`?>VAXnIFms}JEVx#s zD|>ME<27aR!1k`REnnT11UZJUfy7~qOov_W5F@WkTIk_{#ot99$O||BvBj{w@RnrV z^52Gc%ReUb?$lM%`*@`r{nB^#On)Zdblp4sApYskm<_;s(6*xc(_Tl8gcgxCOaIYSS}z`{AB55a#4(M5sAOBl2=Ijw6qsx29-BElC;~ zQF=6N`}L3m2r9^Di z4XKQsZ4-j!c^DHuhWrI@&uv77P1|JbQ^yLhi?wbzBx>>_rfH%DYAGnp+x4~QSz&wE ziw=XpY)B)cmjjh9!H5?e=p2{Eg`4s?UuyYl1o7u8n!GMW3OO%RTRKyd*D{EI!EDSI z)^X>hi+q@$V+P@n?8D9AT}K{54a*~+N2jbj{;A-C==N=|Jjwq+b(Ad6-ggujDKAhNO0p^$W zXRMZZyCMHG#B1a57s=Vf(!j&Kus(fY+U;V=?*Hy&vt9vsBNP?pNbzcblCaUlymT-{kj!&F^P?JZJA> zL|U2rQmnMo_N(~Y!?9h&-dSjaC4X;uUAO?W$X0l)|0(SEJ4kL1;sPmaDPcKwj>iuP z&gm7%+5r;9@L z=~G}1bA}qFb8|CKSmcfR^eL1#QCPXH^T;&6)66wwpp--PW9WNti(JW8l@&ucs zPfp;{3SLUYJDj=g;(_rRUS~rRsRUx$0;*6Dh^Ze`Wn4=CCuhGw01|hD!Hls9u{!SiHrU2vQutQ-q+?~x6~|Q7050FM-X_3hhBH&uZiw3Gr@i+ z2qs*r{Rg7GPUkyK-*B%@F^AxJ#E~j8AQy9qZDu&|=V~%Cp;8zBc-?^lnqOx(Rq$$^vh_O+=?`qD`a~ifO9s;R0AnfVVwc$cQ=61~-Oa6ExMZ3EY8Q zee>1ro^$UA< zD42*Ch_?lAyi0QK4TL={)M+>pg|HxlPNyHD@9~Y>eT3yRKzCX`oz8ZM-e6@yI4Y@b zOtLCHYKs30Pm?7^0{w;WZkQ2bSWQc}> z-%27vBZO?uYjZUT1U@h;=e&vAM5(zIPZDBtX~W*jGl^mzNrcs)vqYTt`jXHu{WR=G8Un|7w{*YUcem*s2dc(G>;369N+q? zbLdivxHdE^o}pheoS1MsoTfJS&yU1Fhw=)&*nytNT&IzI>K|parU@lUY|ab7nLQHc z$9SLHs2Xd=KxAf0qK&X~GRm(91t2ylm-O#IEwTU=clH7D7TdYQTgV$XDxO%V-arav zoNnA&XsMys3ZW0}DRgD9zx)jQwdtrB83U;#cJs11?xnAb5YDXuA8Ge86_lwF>i$&* zf0f+|WP{7n@GU*I{kehFYhDwg%QsfsJPr2IB1+RG zi;1m{tUrt9?|<4Be}iy+-Ouj-(?#9)-Mfpjs<>@QA~?4n#FfnXjJOhLu>xj zIBI_GuJmcMfi{+DfH_)jTtcp`uKlCCI>=VyIVUO;_Ik=R6+9Ji!4poYn@-JxOQ!oG zb*EIe08|=uNv1bM9P(+ZS#kH9{eHL`^fu9d?)Sr&K~K|{f0?sp;}%R#W;LdUy5xf* zOn;PHH~k?|xL;vR^_KtdecH2KrEDBte+^NJH~l(A-*wQvoO5ykiF;(Q+<^aQKkRSc zx!*WV+eWy(^a=x0@$icrQ!@2{6zQPgvTY5h(>AKrYx~SXTm;)unYSIp+i=Nxr)#diPW%TvCjd{Rz&k7Lw z*M4hTZ39!8k-6=`y(rzP_tJw11)4hupQ=6dYT1T6A3vf?2xnJeoSiyfjsB;Ec~#hEeX$#4cb@MfDZ$DP^U~gMBom3_X|G za6!}cc&u8>Xk%#@evDAP2OG;ER1JP=7>MNnEW)KeNws10M%;Mu=dR~SaOUNC0fW|C z%l4QroFIk6m7LuWbNM|u_Tl85)^qKC4?qI}1qLvdkc7(I2#uo&nsTNlkZWRO2YtR7Jb=mb4kgY?S$4Vo74zuO%M(~saMW*TZFjZRcEM8yuUc_7v z1#MvrfE!HkU>|kA@(>0(slT4MK1_M+_iB6B*CowH;IFQDQEsC=B1g96nBKGiGst<( zL6x0;V{1@0FIDZ~KEiQq|L&LZc$0TF$E4bh8xRi_TdTj_h>R`omE33m1}NEI{ki&Y z^>5u4LC>8!>Y!{iPUC(qIltNh!C9|XQ_>q7iD6(%P1wP0Z6GeqMFV(CCA}(@&4D>7 z6Vo!|z511zLtDm|ev}p;@45gzNRYUcc-0`*7>Gtd#jq z7n^-3&+DowfU6HmDPU6CGYHFexG$}LWo_sM!spV z!2Q;uF*vmTnRmC*3A&)RUxoatt>gt2ZHEiB+GH{89v-;vMwmVG2BJ2GUe=bvdain! z+{#Wkzs^$Bz3F#R*R*rlIXZFacC>3*BeXM@JGf@zCZ1drz!RZ z-n}cC5VdS-WvVT@GKS5A71e@`yw1HXgu-`F=^}K;rD%h?iMsCoQfbUM+AjhMHBP_SHYrR=& zc{lo^YD>HbrY)BFva2~!59C;TK)>1@R+|x3^M}Mxx)*v}VSsn1^wo&F<`itE>v}Q3 zztJQ3ITwIy@IK^U?aMO6-_+46>7TkJS)YsWAI*V#2coage8X526!RtNosLXaSr_K4 z5^0SKdqkkv1c}QD(<)A9mrt+=!Cy$uOPCD~E$_2lesgEl)u|WqG5|JM50*Af^*nVJ zYU(>Ez73tXK4-X9U(qRPQ(NF@#KJ{ZJ|!`?I~z@wOT9+wYri!s!i z<3KbM!KS@k!a(y#t7f(=Yt467V~aO6%0i9Xek<6uAzB?yl{4P~Mx%nWI-Djs5jOCL zwrHnP%IeUDf%(8JsI9NiL6Y!Wdvf8bQuE5}RhheZ;rN>jQO+ieYpC0JAg*uJolW$g&_eI-EtE=_%%Tg~efiHX z9qhh-YESd|k0Fk(35!iG$Z&?I_c{f#;QV)gd#8H-8Sj>$~?ts$91AeqjTC>&#j2OXEDc*!Gm{#BKOmIHdfplQ#M{bXq`L6312mC4A>6bgXuvjD1sGqrAkya8|DEE?h1F(DMiJ z_ihI5&3B%D;|_CrXEk?GHO@n(1a3&SnG2h4f#5h(6RQY#nNF?#=HJ!2mX22 zd8RH%G(i3Bo+mKA^y2t8c$)dYpR+u|_Z0w(`2Wk7J5~O_y|=sO|Bvys7_-aSuJc0% zYkBU&dSdySkg421edEN7cO%Q)g-Z}&m*06UWL6L|3&qSLLDMX1b0&eM=PB}C1?IlPugG6EmfPa5s zF4KY{SRe4UcRZNSY!0q9%7+6hb|?%%FIiC+b`|aY5KGpC(lt3>wZ@j<|0apeJ!HTF z{=ePtZI}7~cCWv)z2^Uq@!XgHKO*zi%ho0{Su^l2YbC__{U%E?qlUdffGr3kx8K4Y zCwG8V+AjfknZ#pa=Q%(z9aDu9@EF5gm-hWNnIXa=nofwAy89b~Jb_WBCi6wid0D{p zcE5fY3A0!TRxWEaoo*9M%c?})Zxl%K!fM%e|`n-|nsR zzdXwGN3s7bOS+fom-D%`?(k5$!^)aNgv~&%Xz#7}lRne4nEx{#llyr97x4d`?HAis z|KE##f6f0N8Gg0cxI3GDjX`qvH~J(IH$*t2?_teAOR=k(fiaUn z&8|n?JjrL*z3Fei40~ZO?7KHEFvBDmFo}wnN-|KPw`NG;k{JsYt;RXSc zm=t11e2OWX+xS<@wzde!XBr#}`ty&=LRHM%LAv%g{28AX{m)Q~;K@BzKX?|||2w-c zs`+1EuJ8YQoM(al*AnsT;&+z|3I6oS>4Ao<&Ur#gilZ3fDAe+n3o99mlw+$XjJ5oc z>xiN+r!ty!@*OSJa7tfkzAgvor*7$PeKXBna~G^je_AU>#|)Cr|C$l0q%D0z#L$$4 z^DNy>)EyJ0|GC8~nsk3&2NEsuEad+~%3{jy6$HA7|L?u1`G0qMdu#sx7|)mD|KA$2 zT8n`{y%^vLv8I9(19N7&<4giyRk-7XTeI8BAOp6XV|N+zr7^>9K0&LH)bCOpweWwz z*)M$P;^i)i13Y&T1B?8>FZL?>|8{?8cOC!vD9JGIQxOLOtIuxA!7aw-3?rK+{oCm$7kU8p5iDa~_%D`VF zp_=o9u0_+TqRF|UUFOCL%JWhhTI7G>!%JJ6EGg>f5)fRK8lr z8ZQb9Wio>g5ZsaHeYT1IiI9G!z!D0$yKJ`CU--}~fz0tlbKRG}P`oALP9lz}RAPoc zecD=FHb1ra>C<3QX@$q=)2D77tF!#J*(LBRuBNR4!(v<-7CkU#G%7EHAi@o=0=F%( z-{`+=&!*y?KK7uQ6YxvIs&7Zs;Av^PzbcWIp$LLw%7~P~Ev9NAYI*S=F;z|QQXU6c z8f$v9$8Q$GOnLkcYFwHMRj`EJROiqT_r>MGYV4i4KvH{aLT1ncniyNk=?^Y=$@-yEErwgYVPtCv8Q6~~5yQF8^tV+A}c(Eng7 z40c}cp$IO}|8`&WdKLX|r@y}c>v5j@C$pHRt3AA?wyd7^@LJkB^!&3bYmND4*9zMo zT47r;|7NrHWVWZ5(8l~N>M{=g?Ew|&zf;ZeWBqpPycx%anqIHapOzCDjZl~E*PN3X zWwy{w-9=)dT_TKJ`*om*^yL*~qo29;5(tIe&ajpD&(s0p+ni_J z6qz@xGlm({ya|%Rx8(gn$SX9k3`<}(Cg|xknQfw{z$=^R!G~TX4b!!><_dqCy0zWL zT;G|WlL*-h{e4@;G#w>a$^q(*BhsBy3?~V{4JJyZ1Js2)X5ChYi)SMiB>U-8U|}s| z4E|A!z^C`K0-w$^16#OEv8C*9CpQ@hdQrsn}iEv-$s^!*Z+ob}r#I`&Fy^+EqM z{e%j+E&ybd>jl6JE9*tS(+yY_TGAo{sA1qjxyq=!=b@NiBh2L7d| zARt3cPa$hqfQtt>NA+}h#B7Z-ZaLA4Soj=!&JPdSV7+42D`vf77W`sRAHdoS1V|Bv#leEzdxPpECT#+W8cY`Qev z=zFKYn2Obc&=Yhyp%PJvZYNmTq|y>8{nCY-BPfq!ACSHsWb{Sv+jAu6rGYIbG3P~O(rsSAZ@sFzt`)PKfIGfRNjx;OP_Lf&bjh( z@z&J5*4@myAE+`tjK}0)G@^{EnKwW7jqCBENp6OMkpI4QqWis~N~LGDjxK}91xZMx zxF~A*Zx_?s9hy}g4LH{0ipdWDmxoP*=jl_EY`EmB2 z|419nzvn&W%D(DSyQ+8IQ=Pw~I(I*{(W+fyS9SS4)d!R1Xr4SrkisM3w`YRh(1eW1 zv5atHlbXP8K&foxIYtHuRZRL=@N|HF>K?p)ZBM15rp2>xv$$2|{OlXWbL{_w;CmYW z_E{AF+25(=e|oX^Vx9l#QJ&wm{qJb-&*cX&Cj8pAe*oLQ9{c%V*1ku3Xl?b^HGs7d zzJd|Hz?3Ud8v6G%;9wB4w61PD4!^%dpx+~E)Bn!u>YUid-%n)Y`dQ{_)&E1v=)G?J zD4zNH|Mtu6mo@#rzrDWy?@^wQAJJ1PZMKaQM%A(9PlJ7PJ23ebJx>TL%y-U4;V+!B z4b-#gU!GGIlMkg5=t@#HP6&8QuFQFV)6@}Gc!(tdubVa)C>wii7Q5M0nKU!DjL$d= zpLR3u3!1Sz;w}8Xav^kB1X*fJrqR&3drn*3&Gm`0duFBqTDfC-nukkt(_nS_*4+T5 zT&iLdSpV>Mf!i&?0UAQ4+yFj7wlm6E^VS;-#V>q#&=iHc@(o?{jj5_h^yST(Whi6L zP_%EwGz0$p8=IQ>Hb%!UaT9j9fx6mMDcyBm(O97ye|EcUk(u_EeTQk{5=CpO7gNe$ z6kiD(kuxGFk1t5XSu6*r*Rri@Y@VpN8MU4~r^%~Uvzkf}9w7bNM$z%ygfm-J(%;0uV01NWY%qWJ{044_V(!g+(V4t2|lfd zx{fGG;ylZC!?!btgmz*%%$3M_K8ocyKKkAHBw(y~l1<4QP3|@Kk@KXPW4RTY)z4H{ zGb2`;%4S&llimHF2g`@h7$s7yjXc3^xnEx1+qM9i?PUXGS~QjR_?}gDl;#E=BI;(T zhVCC{vs#pmF)p2*=AH)s>;fn2(q7eCokdLW2|CXh>^xa^h$ustp{v^oO$ca3S192; zMMDzdOcJxH^h%T!?Y8?+T*rh^> zm!OS_LT6ezm5MO+PgubcVWn_1fzs%d$3$*y0+*5rAt_~Jw5QpR*0)N)hD6;G!gO^q zO%?3tO|xjCKPV!QnqY0(O<_*#h?nBWNlxAxG>GOsXT6`%KeE55(@nazY zioXmw{GZ11%jr|qCotkAh^g4G$(*?@H6K+F#al)(e*^8ML4y%V_kwzh9iU@`ic!z#Nl&KfH zsHLOZ-~2~^qmkwe$&wFR_53b`(E6yk$K5qla{5oI_J6z-&(}A7V@kG{Nc-Rhlk`1x)0<7i84j@n<&@~f;|Ll z*XD)MW;UxY{#nnzP~9*oSCH+T7om&eOBckc|GqpqeFbM5%OG^m_R+Ja4PSmkf}{zK z2EF%M0kUu5M0pe)@!dJh}Y76^`QqP$R`s-f}TV!0G4g;Ns%Px93N86#cf|yKm3t zHaK53D7C?|B$*Fuo;)^%&@Y@a)J0v3EKe)8SN(aAX^t&loj=vC)H2h3bZ~j_?ZL%y z!<0KPZYt)Eh?(=e$`S)o8_CrwFELXsYHn#n`7JXm$7^1{n%nxT^Mlh%bnyB$dV5-o zVAGhP%eU~}H1p}xgHS;$&hNGE`hF}hQ}4|nex6E&DWtn|qM*AkGUPoJK( z^|`gz%aJ~ee!g@zyLSS!6sJ2sK74n6uH{~1KZRCZgpq;s`EyfWwaW4B!pTPHyLYc& zyBTRjqXg)_a>8%z;PsCO|GHRa2p4r8v$&48Bg*zKE6_u}8q9*cm`@<9G_Vw>y<^n{ z1)4O%|M+GrCO2DJj4y9f&aoL?$u0`Wuc+JWqMv_mL`K_stJ-z*4Y1lkdv7B}7nwOZ*|>hje}e8Jt-)g{zQZ)dVuhb#?2 z>mHNo^bcg#xXV;D;SEj$`CgM*9h1Nz-kCEIEw3KK0&;`g1haLh?_l(Nk%^d(XV5jr z8;t8tnnHJ&re&N8pMT4)1-bgp(SvNh%^QqA{x<6}vub9vajUFxBFQvWvm+`7=%e55 z=ClOmfQ|W~8cUx|t0CIFu{#eVl}LNK`(aT6;q?oN6sZI;IGU_18H044Lo9R9eU8&_ z#T&fML^tk?gQ44|db0K_#$B>(u9{ELJIE|<^x08Grm{XPfnkXe4kJ;=6xmdAt)Hhn zCIg86XoCzLmbuUo?5K3IBW3ibhpEYY%bw zxV{JeVV~ynA2#8ii9f#gA&^Dqzqemj?*Hk(-083He|(guB022Dn|KpnWSA2Wr~c>C zS%~%^?-InKij7rV;poJ?fXDR#iZ5`ruM1aCd7MXi0fZ@5(d2dMc)BLwN$TeVTKfN@F@Vfw-89_{AZckyH-;>xXe`pG8Ikhxa5+46`2wL)$zpth4zyK( zBF-3zj8E%^ViaXk@u|sz9hNlw`9~c*h#<#3zyLQDB=Axlz-Wb~9#&>QS3BxdP++x+ zsyVO+8EOb~h?nw0)1--B1N`-$BQB;0ySS+PV*L;YT<%ZH{>&~-(+kL`PxLObQQj)%UAf?D)G8&?f=1_X8k|qaZIJiV9R8f#ba`x zqu>klf359T^FQzP*7yHB%478UGaeu1^ZhN%w|B_;`GWND#!TG0>328Kb4jK*L>%&I ziUmR4Z}$7)c0cHKE0=)&kPV52654-Z3&po7a=4w3Ew_H=C2H5=-2F(lA@{XS@nvla z`R{5_O!0?z4BudyXxqEwar4`-Ou1az3qf2~KsNJ#!4q@gv%S9Xe%Amj;{SUuD)+x_ z_jh;K{+~yARycb*Z%4t1k#nAq5`Pv$9ECVj6E5rt7Vo09JKw~-=FMM*H|G~@1qi1U z4&=)L`l)L-6uq6)pSot#K-y0?L=53IWUnCIP1GF|rT;P4l|YCDwl*2Co}g zGx;yWCapYY_REl^ufZo%%oc!Kz|2H&zu}fG~)SiQHISD}n&bGh<;cZhUG~;fY z^6@WVeCf6Smqq+P;p6-A{=Y22|NDE@`yXGv*jelUkMdObKiuw^@bPCC0ztyZ_Bw^N zEchMB0;vRL<0Ctj#pJ-sAE4iApsNI9idP%__f@R_AkSR>@2)Sqrw?cm|9{!9<$u}R zS;v1p%H!o*)EsUTJ&lC9i8rQ^Lfv@SEe`zGuH4%|UCO9U`sNi}bXDI5DsJ(G8-$Gt z25tM_xGmMoFy|vK2WJlDm4hTM@Od@h%hB6k&qvX;AnzU9wW*+<|@q# zd;08xC?vCJg46^n{bhzC%pja9xgn+^WNmvU(a9OYaV&_GM24Lw=tP-IIJH4w8^$Q% zI1Yw5(duW6-0hNQ=C;rY&ypC*4++X7iBU`iiBvM{JVC>m_0UR08JcpbP(($PO^q%q z!%k`6@xeS>Yj@T?-C1?!b4L^4;ap{n(Sz^YRl3DDxOz8^Dg13O$HkG#aAI!kMnjVD zTkj%X7e45LxTQ&gq=Nf;we%K5rjQ{VNzU0O8bSynu>h$=L&2}%&PEGM@+m<#HbWEQ zBkvYlhx$aRR1UVb##BwRVHol0RxyMApH#|>$gRDvU%c3cx^8lCl1^}C+U+&WB*++C z=okZ>FJBce%_qu} zD_%|rnqtbJ`X($D5^Fg$K0iCOza={3QjG==R)cr>CB z$T_%w`}K*-#aLVi;$1~aKG>@$Sz{K;oFp6TRIabIbrcq3qR#vTw$5co(DSE@?!nwB zmuYM)zcr_&S2^GndewF*=loukvSjLsG~^3W6wSV`wvvvT+72r zG6Q=KS$odUL#*vcqc6vFG$KNCf&30wtss0Zb1g75zP8#P$ZE4J<9A@P)w2^+aP;-( zd57OBL6J3MaM4)YM^9hoQm%P68BWt66REa2O>#i^DPJTrMTIM+~o8tn*Ur%=0u~*;Tb<%I zq$N~BvwyTz+dyjR5a_-)IC0h8Z`0O-!VS~X(1h9Yx};OWv;5Fh>1AVMjn&p!`2KLu zT>TH5lhyZ40k|msbN59x|KHBu_FDgYl;?r+Kh3$)v9an6PG}55)e5%89005Nc-NT% ze{Uzu8l9IlT97x9o$!OD^t2LYt3q6if4l$j&nVND=KuFd0l4t|*IxDhzwMo!b^QOM zJbxnozs?lclqs-(?@WPTg6pmY@Pi28#S&{7{{NZ%zx|!v>irKdcemH^|Bv!i6f}Ql zr;=XFhU7mCuU17v5NkP$d?4lG_5P$hHdhr*2~%faFSR1nP_{f@f4Hr| zhq~0$1wmof-FXI#y>XKbUbfOp&2#zxU~Xy7bM5|h9pC%8-z`Xfow7>h1P=^{-!r*JRf9U=nsy#l(!` z+1sP{rw4D2FU}4Qk4q&Gy3yVLPVniV@&TFS&Ne@Jx zsV;9Ophg+(KmwCyY96dIgl0cXVB{kpA{ z3Kz|z2v?;O$w#U}C#fJKBJNBmW*=~A8ZpJ|hf{KFigkQRM1z!maKc^% z2=pE#+DfF`z4n%x$h3uWOE4C=P^t{LnWZl$SLgm(!w5YCxpFY5-Tc4RBP*|bnW#jP*p^xv-RKAES2 z2+G0GNU)TrChw$evi7N+%eDborQbHAQ`u?cyBa&_8gV2inTq)>gIrQDOQA!Z zh$&@&`zu}gj0no(3pg4o2k1r5mW$^20pelZ{_pyie}J(rNXjKuTxg;l)IKXbMxQ=) zmvjd#Xa8d{u9<9dLXxCv`jhBG>6JMkn@LE~^lOF_I-(>-R}(H39AXGYR}iu!vWVhj zP^tVD@-69MmIw>No~b-9Q=+FgOCho;V+CjjIV^*!0KN)>UpQq~=rcbsbq$BAVtKcORQGKupgrD@eO6;0wj1EP)t$+_u3)O&{fms!c_&7<~&rB zp`hb25h!CZk(zR~nW=0b7bH;BP$9FGW=VA@eljg8k&JLcVw9y@nsUQD2bbdJ6Rc65 zsX8Fru5PZ>Ze?uIc8CrX(y~M$&LF7z9Aq>-V-RJmQ<6qC=7oB=USa#a}hGf{u_D z0v}3OgrF-)**GDP65*<@q5=sAUYQ!$x>}moLuT6dE8jjgTx|oC+hWDRx2w&oh8jVw zN;^vCn@#deH__AgXt0kmrf7n88X$S7jum=JQBN1zbb_k9KnZAUa$&7HZ8rCM`PaHx9N!S3s3d`wj{8raJ0ZEz zG@(snFn4>y8&dGS##HP#t>-4MZ9B0C0cGG9Z&U8Wj3AB`kYt&N+{tF-89%3qUUN~T=Q+GeU;s)j-{StUHeNyQ=TnswhE zY=AU&IE$&$>#A{#N+nipw<^Z;{E~TV9185W$3W#k8XOWU;8D3Lu0G7}8nIwR6XNrm z;?q{;vazK(Pr}EFOBE9#YD>-gwnF!e&~A*L5aR|Gwe&2uZiZH+c%=cbQdS9?n%{z! z9QSG=Y&$z2%9|+kC&9?hBM$kqT2MQDd-%io+k?aJ-yeQ|aC&nhSaf`Qh@l4bbJ`S!0VfLDc*f?<(`!nqRy%9AkxJ zDk|_AH;1=sLxR-=efqRjnTO@nnw9sa=j%Ij&aJutnzhYRROEHb-XOKL0G10>sDviW>Ff$3$n~&v)#&0G zX)V4QvI)H*j7WJV_^@QI&++_5nN)oG+OJvXVe|H4ngA?dbPdu~bBR|(Rd>^D@)DCF zulmhTT-Vyyxt58HCPYscWTsq3WK%{J#mNy#@GSS??(|A!(z1tlZ_%vjIi`1;w)0Ze zyUbe!!snT|{|RaE_xr!s3G6RDfe3E)&IGxf2qGsui3ezV{sb4%8_y|=k}R$T5|#tO z>@^zy^p7iV*y|x0;I3oK<_~?tt5*H(b47C*HKu7}r=q>o<`it|Fx4a>6=CY10I7LG ztECPTOe^sck$!dB+O&%xskT4i5@c4nJ@>ZUMCzn;E06}s+{|3yhSno02I%90E&avp zqD@_EY@;dQu0bE08_JAUNMz7}VqKq`hmuO9z4m`TPOG8>n)xqq6;OGW-GZnnKL+Xg zf^XGr7d3C5)v~KI9+PHu7(`;53!PQBwhJuHt~-oxqkFp5YfcrJHbe*o=$gz1D8gYR z>NvVJ)cSeKV=_S7doS7m1Lkue!~XO=U|*BjeAvwenqW7t{3bdw?`i=E%gmC^3jU_8 z{e@;vO@D*h;X2f!-Bb_VJyby3eZ$!rbi$S)X^L!HBDQ=vP4wY_FW;fY zBYMjn(wiGRU!2qfa1hy{*{>X+pSs%S{83Ov-m-{ve{N<_tti_M5M)+c*3ZeWaNF=o zP)euH{11ksb-R8qE3&Fyyg~Jy-v>*P^I3O=cnXuGWT*U^5n1(=+P0QNjQ)4q^~(=- z{=Yf@gVLC9nOlE8`~B}bFMBU)_rGti^FKVwWAZ+e6pRXXW*AFHU?0K^&KYTgbz9@B%~tIkYtbOBRkCJlq`@ehXAsUY28}`0 z+wJw5pfy{87M$U;f^&5zxOD@s4!2&W2DdIzt7E;;>YF#(CA+WMY(uuydK7kr5G|iU z4;F@fzYy$)T6?Hvt98yYoO=MbO>e0k7Z2vgcLqrQnpB;m57Ju*N-x6F8WF1Ww@Ld8 znxfHcw=2aaTq^IyYF7oe20@gXNV%vqF(>@8dYM+uDhg0QydM|ezx@#%9b6uKdvI}l z@%MYEgTDTE`1bVj{N&qrmnWyM!fE_qI>y5MkK5Z7{cq>x?%rDedyMA^I^;|VI?NzC zzf=6uRwxz(-I65YQ}RDLo$t6nTGyGOXoA_8Y@!qv0irAtkn{)+dR$rG&sEOAV?;+r2A`nD$(tPMiUfs#JECuG$N5gLmXY- zVi8NtOH-^UY`o1N*)KXfxIFwGanX5ma{Bh%HGrm>RA}f88HqO$3CAJ2+70{R&J_y2 zF@Nq}HDJ)OP3sm~ns=FmVfYL#Q~V1TRTMh&QP>N6VecwL#~<)CO$eN3C=W(;6gp)z zoSP7{Sp@-`;}}4Cr${#aYxppmb%uiAYdAb%+qE~umQJ4NUgq3ehMje?$CVy`MV%iX z9KAVyNX~Dbx%|Jsz4Nl)uk!z1Z+p%EALIGY{}BWMdPNu!SdkcwXhJs8(OY!-_7WW* zom__K0*tT$8fG+!Jtt94E+`0sZ#qv(>+*Y&OcAi?PUk1@!$Q`d|Gj|%SnWI|%o>85 z2(FzC7*_O#pjcbLT2_%5UHs#yT#Og<2(q*e6SBocG$9f)7zW-*2DemA0?!pc zQPbp`PUlpsmT)~c+_vqHk~@YgO}BT#o>uTDbUY!#4COyP8#+}i1Xy}J>1zCtG>G~-!u z789%s{YvCV`V@z=vzMm26C&nBB2E%yy;)#zWz3!-+C)FW7#I2gr1dAU*(*5z z_TaFH!;uB<&OHUlDxT6vZiyj|wl?%sfk_1T(j-A+qKOuDwLUXV0spbk9U&i-z#jN6 zB0_LG#s0xmZ-Rj!2U}a^y&XU!;w&Pml3RGF$a$8R~5+voCpCFG~^8=qoOAgDYJEmJ21T=MG z2rK7ph9zHeM{$L&XeiISgaRB6=xRC(?2D^G6*UK>D1#cAc|0@-70d@#hhDI81~ci# zZ?mA^gkFXDOjZsW>ub+l3d^ zqfpvHvrQNb%;?_gNi>IiVS;@Q~jS@A?vhFy$;nKTZfkB4ey3r1abX z%aR1-ha|39@*z!VL{$REr11@>aSnoKa4g>78Jh8)v*&f?e1$MrSN&e^6}{2`Vk)nZ z@wTKy=%L%Rwg}*bXU443RLBL2iTzuX8Vs*y(-9~Lb5Zd21Fv))V?bJ*+!h{+V81Yj zP1p?;oM~AKr}w22oQ;#2HxDo~8dIY{%n+^sGkt*;F+&#@M}VjoM0b_T3mAWnu4Y7D zZCxpm5jgd3bPG*SR#HtN`vsWpaF)KJi`X^gxI=02cq{9Xw38=Nku=y2%xQ41^f%y` z7*R1bgQ!^!EF4Y#SLcSzu1Z-8V9iiQ6`Ej)hJ-LMlM@0P3cF5KIT%Y*Yv{p;Y>ai?I8r4i`)fcjf~2huJY{dh(C(>6H$ z2ZFQxKydV+2iGrtiG;3^!#Q-LUxNc9UYg%xO}ecpm}zqbNeoj9(X%%53&GJuPhRW1 z-mEsO4&#HfgTs?cJ--KshsPHe=*`=s;|rMJ!`BBVZ_wG>*C&VnD$Tz6u+(#L`S$$a zl?HWTfF4}DJw=vi(wiuFvHSJQugP!}jCMx7px-B72Y9$Q40gAB{T}|B^m;pcdI&Xx zw3GGYTfc=PxaY}x@h#6-41Za6wq@gjf;mJg6=pFOajgS;eQELh+wR_Q_ecH$Mf+*}ECfinRPT zo^@{a9>?}(eVG?OW6zUHd0Y`hLNa2C;1Hx8Wi;RY3f%w+QY1x6&hA}3QK~YwOaec= zH5%QG{^=)d1<~lE>Y4H$QrS0@CR`+4d8BjLb}<}K6c zNWdZ)G3vHD#l} zv!?v=88HoIZQ1*}?7f<@t?2a1Tm8!3*FA(Y)J#`nJK$31RElGz9al#{TeWd;l`g5K zK(TDgKGmhw>ye+e?rY9TO3Q_b$IG@0^*tp4pG;Vy=8ZkyX_nqWx;QdP#0>3j5hG)! zCUPcmYFZ~+k?7JB`&%P&0>NbTEG4Lj88eVoA53snbbi7j*9GtanearPF|t^nj7m!; z3P>m@oT1ejG!>0ds3bbnMjy*)_{G0Z|p2RspUo^bTysV!Au}G$DNQV+1)$xhThQIB@LS?`s3UG>doeE z9*WlEQOIau&f|cIyzuH@Z~Q~K?oLlFSKDh4b+30AM0nB+A_%X)lXoIz$B+zAX5(L( zuMS!em;mN>zz93dm@0`N)JBtAeb9Jm8;fuQL<3UZzEKeu=#jVdUR9NVNoS6!R^b&L zB9ZS-%ciLS@*b0sZG{>cky{lPrOi>va=opo1LK_%5$5-4?gtsqp$wyh3^Xk0crZ?B z-!?c*Bs2eYyX83Evf@^b)U^$^<}E#okIBvVCs*e$56F3h2{>^U z-s(pn9I@t+dp5sy@CMG3Qsua=TS9LSqI%|Gmxl2j-PdixK3ml$RR;D^bK^`budgr4 z*rAP;4lkwvCzRf)gCca@`?OLdoPvDU^G>ep=fj9+`&}2>^;U4utu*L#S z8ko!wLOU`ZrY?`bt*OJ8Yit`y7L`_!>n1be@|1jXTo)o1U)NgW;qN+%`89+u!#6~J z4y_nE9Vhp?brc;UsiQ)eg3F&{neHNl|NPE{)?>=ro4px9FA;QN;X0dX*u1j&r3BD(2TXVQTMY zzXakj0&?N)eK-hhmD|K{zD zw)Lv`96Em|SLfH{^v%bs>+=ul=j)4iKaiEU$ZPVfis;#QIIGWp^RjIIi zA!;3FMqVv>?F^XJUOSKrYX0W&(ywhmT99Otx#&62EicYts4LMVnS&RI5~cK$n?#^X zQX?rQc#YpT%~FwY8W#Rt*P5U^V=B4t=6{kb-T4++9eFf$ZIAG_T9Tk0+TDl8ZV@qe zJa5pD5mM%>t|o| zHFmg_a`WQ$>ld#?X!iBX)~9sq>laU{FJ5s!;%0b@Hx$$Z(bm^z#T09s5w(l{_+f9~ z+x2#LTL*u=SNGO`b-%-_(C80LW-~@2k<4glBD+K+J@P*CSuP!YF`I}a#Z2`k8cL>A zN3SYjAF~9UrRp^kRBO}`3AwvfY0m}kStP-gJ>Tp2x5A4v`i7pq1l?%ZoX8{M~Rgy z4U{I}CjxULm}2z?48~TB;ITW3J#dl9yswTO=LZb805w5hP0tOrN)||xuqa>&V)-Wv zXG@!Ye#6C`=r95AfriqX&%(yt-~Ej=lfsiv&VtN8lZ3c{!84B*G7F&=!l)_5fPFG+ zOCV6p;+n^NF^fe6H$9i)jxIy$vuY2Ds0bv`>)Vb>d#)$us7Zv5a??GXfrK!A=!mI_t6eYoa>!SKYC&E5^m?;qNkcoq1}uFV zu-BMf466Sxmhj0Omv1ECOw6S&6pzR1(3h_qDz$|7$O(*T8FLttacqp(>a^P5@GOv!o(VbQdf~$oMMBQwAm7rkl3zlNWQa)oczvAKY$lUP=nSCom zon)Phx2S!NiaA|BMT+uNt#VeMbT9|*0hh5Xs7)sd2XvkHm)D|`?&fRIaVd(BT4^uP|uU)yC-^T@+5aao4`V=kwqKZ;u9x4WS-+J$fc>5 z^!+Tz8Iyj(@o>A&N0or>==q+rAg=kWQLF2&|8}W_zVA7U+ZExOH%APuy2Zr!EW1 zXOi$phr|+OS!l(*clba01GjLONK3lney5d$x|s29C5*PVHtO#VbSO2op5a@yxIyu; zOQ^>kiH&e0r&G_j$r~F=HCL2k^EqP)Z9wlZ4M` zGROD|IP4@~WC6OmX54!(_YRNNUzZl?#G1JOd3}A^32YhntKqBuqR{GZn%-^J-yp5? z2qz4HfaE;wxQla|Dxm8OE#|k)4%B&mpTqMQC{qcPtxE7F+;E&RVeld9`(#wQN7Ioh|EZkQ9 zz3vCKk;$z$8jw*YS)%V>#&93dPU)8l-L!;1(3I%`T9DC~uj@|mS`OlFxNQrld6h)j zY~1~Txxeqk3hvWz~MK`g==B{HNUS5hH7<1)#>O!z&#Ul==A)lWt}B}oHrnoRp_Jm-+L zKu37FA&(fL$rQ3zbh21&bfB*=%k|ml5jTq-$OBEf+14s0JP~d?6aLEb7UZPJU}CON zq(bYkG|i9kGo~cWQyWlh+~}_BtjJopjiYZ;5-4ypIF(I;1>{MK>r9CmOB2Y2%<}v$ za?7p;U&3u?0%EP~Fk z74C~DWr=$!f+g^~UBEvn?kMHmurJ7sde~hHvMzyUsd#$aUMgY{is}4ER?~(B+$*sj z!Jt!x!dk&C#iY08W;O0d#;12p#QYrZ~YP4=X-MUOT+=*d;(BJB$h8w(oo00LnGw!F^=Z$cRIA@b)UvjE;C{Sg(Z@*Al*{7sjd@!k*%q3~O z_l)V5I!Ki#lY=#+vTf($Q%sIvo+mMonf9o^Kkf#|Wj@uGEnY+Z!0_>Z9pn|Mz}p~q zaO+%|Yqa%{*LUl*;cnH)I^YJoY%}-;8L9f#)TWkk!%U z-IcZ=mzYaI1MKBNGq`mm+{Iks)}FZBm=(A;u=bR3cQ^R7S$n#H-)wi+ zxC1VI@xYRK*Di19@4TGVUH&BfUEuE6<+&kcN%ubz96HB_jCL;;x3X` ztPDnI#I1ANtc;4-2zQ)_8B6b2)>jnfa*$@Jn9-E`WQNzY;a<-KE^-yYypVV1GOvtq zndc8!5S=Zz4{p8h=$qj^urJ6d=4`sTDiu+i(V^%a7q6{~r1m>I$3uzbU?*UbPa|&@ ze5(=bPTDSv2}(jpKcTVej2TN4?wizTH${)V*LD3tI5Wu-cbf5l$(<>tUv%}wc?G_v zu%$3i-M#B?Na|HqPBuNPlL2lYAwhcKI3T>eJV^cmLjE6Gw$_O zPLq~h?W31{0&o}PWGqFPr3@o%MTFWLKR<_^Xm_(t<&Mf(0uxH0>FAKZVyJXy5^HS9ap#+-(f&l+)W z;t*KPT3=gs+rHBc{Dwy=-ZO%z4tLStKq>Hl#Mq7^YAj*3sY4Z44O1*||0>2OPkDq@ zN5i}UJcUHV^|&|d@80L`4!Bi6+x`EC;O-ngWY>CgQXBh}BW<1`PldZzghgI!HPE62 zctw!K)8OtEsZhpUAF$A=&o?v~@SdLByw;TtUC5SeZs)3s3JTR^)BY|o0Q7p>)=!em zBy|ku`qa3@dsb7z1~>K;Zmr9n_`b-Z)WftMtMyn5x6YhQAyo*FtLZWc#X{>#*g&tU z!QIt`WNwPr;?zoFdkGupCy?z`#Pd@~g9|qry6!s{aQy+Y#q)@$LNJdyu1b3*H{u>= zay}Nnt#O_&$kQ8gQVH=Au4H}07o5ckB5iPdeu z^|(7rr#$oSx*#sX$JqqG$^yVF7BZJR5Qc$mRv9@rci|nG*eH`p)uF(F^hxpF&W9eYZKM!Bhng z;8&bP`BP@l9%#q|j7E^75&tq~6Ok~ToRKhmi$^+?*1V*} z#F&vp9V3@xXmu-J9=v+W!GU$#K0xKcu~&N60aCD!_S!NCtOdDwfNBQE#@%ax>=#=H zNln52W7E=7C0$poo$}xm8+rG&vmm2aM=ytcfUkz!wsvX;r@-B7X!6(O%H^{lqurNJ zxpJ_YQ&g@SyVgF3!V87aE_TuJyreKxU_YHgkeJxwpD1s+gF|@=9-o4z(nhDRX(QE( zFJ|fpLW4OGk*{$4K~ib(DP zH>lX_;I>xR+N#|$?pD2LrNXn)@un4?O?81b+%-GwzeVdQTHHhVSv{}XRG$?(Pq&0V zeRZCGxNG&FHpM5O|4*g>dDRy8(0?p*aK1lw&tqiFs(QIY_!jVkY6i_t=J!(aWcQAR zGZ(YY7io;#!i185nRC>PyGtIU954mZryafGKVDeh&=d_Li7G2^{YOv0YK zdMrFXjnpoXyGR7?+7kJOe#2(mawqCHEB|{F3x}cDd-39$ z$1h$S6GQ5q$#Os5ScR1{%R?IcGsa>P@CT;pSxUriOS$b0y`dq^dG=7ylv_+VNb9H2 zX!b%H-s>WHiidH#8lFlr(yTKh6JqFX$;Ba^6HN^Rr#+q$O2#}L6nwAbx%x4j1NnsRM0GBvelszN>E4_) z*YK0zx~lX(u8BulA=?EfhVBp5i)xP7@|u+RiwtA+A3|c(&fZ+G%=|<-%r~{3V-cA3 zv9p8{8FsZ%VE|SIyex3ZBGuUgN4*XvnPY-nC7S0l5Ye*~NFDNwWNMbq;&edLWKQBl zCy-_lup}lzr2o+h{}^ru|D9a@^Zifc?Bx37`;)8ltM8n@x;3A_It!GkXEdc_YT^MF z%}-n0B)>@ij?F0SBk}YXpQhB#VXVHEbD6SPMS3@s{d}J!;!$q*XyfUJ^ONiIyp?23 zqxrWH^!SdUxzO`jof&S#4{qN2_3wn$Oe8*^*-Z{?q%%@5-Qu~*hKT6vpJo3XVV3H(k znuXLnP5e9N-`A4+Xc7P>2SoB&Y%$P|sw|Fp&I*M9%|}xSj*zW$M0^ouvj|Ml*<`|f zGw}n4Qy+CWjmMCPnX7CS4sfsFL#I)StW(G^1R)(&`l*th2E5WtrUaFTQ~+YbD0>pj zctk#4=uSQH4FiJx$8zm3yXsi4VCt305(5D{tkD%=i_8oK>{8#G`jq~tv^aMnl1G|= z{sXjkpqv100+~_&4mwc~5#?GAuy{R3MG3~NnZs>KOVY*6^#rOVJF`(W)49DGz8a#C zQYyPPDglkzSP6}gS?4ahpH;gbxI`iPzts9W-r0fXDmCa>6}$6yH8lX^BO8;k+Jf^X z@ej&F@u1oBX*4f&F6Qeb6Xf3FDO`>;w6z4t$c!SGU$z7uL``yNk^Ay!l2Dl@nV)6} z8<1T3CCvR*l&5Z`Ffd!^9ZBChFhLq`ys6x)w+6VH+uLxA&nXCleTCJR!HSAOE-P z%iT`z?+qIXi2DtOSw^tE8D`rQ#F}23xhOT9n6U_+NfL@_?GjSouUfjyJrD;;FL^- zlw4^pfrAWFN+3xRQ#4H(vGQeW|B(4(fA7fMpS(PB57<%Q{%!nf;_e;!`@58~-J{^; z)>nyZ?;lObe-QQc z&hBsr`(p3tc<+!rpNd`Y$lKp`sFL=&6fNV29{dLq-jScfV<$#ai28YFr%egpU9&O& zTgp)B$ged!m;+Nl&!;jG$&UJy0|BHr!&~(XuvV8Ja!`xM5{i8#PFTUfrAFJ)ST4?v z3Hj1x48J<+J$PQN6+NIi-Ehf%>^RqgunvahL2jD6p+p;1Ar)DeO<@D0DN*Vl!!+ZS z4X|9a(lpzd?5Vt$J237X?s(`v*a?^)(uBDhfTpkf7X4N3Tx9N;O?kA9TddOQn+)!$ zz)K4|80z97J*frxVb?n(|5N?*67{iJrqusX9c8j4A|k4^YCKmJrny~KvqPS-Xg-3g z3V0Q`xUuDtcOqrSxP5~)g8ue-G>sP&_?P<9=F z!ehP%!k7h{8GYr(v(a%$w2FN98oPK*Ni0r3IyBg%;MZ)B03tN{*v{usoWE zvs%em7*H@!YvRTHKkA0!3OrJef97Ghz_}AUN@}3pPUl^ zaTBfeCkLGibz~c_5424(lT2IZaWbe$J|o3Efx(aPeX1Tg*kMem9pcT^a>$DLJ)sv-dQW zssCH0?pvi+LXdWxn}fCLRF#>8(QceDHUn;roo~&TaLL@cIqX=vk{qF+fm9{K|6G&z z)|HU>*0r+K?l|A9_pz4Gu*hYYUBPt`FvYCL7(2yBz2sMJC2ewD;xFI zf4+f46k`-!G*vQC660@GlCV%WJaUneDSyxcUF{}dy&RA`k?`L|l+qBzJfVIfq$IN} zOnDqK+*@=QBn=uwctOngmk6|2|InOl?zmiX&OdL;gEnJYaHNsr2XP&(EKq YKRDc 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

{!tapEv2+sU(y)?b(F=dG3j zhvZT*w_8l<7xSWdQThoJ%XjvgrnUgTlAAj(4EZ?pR-WwD{#vg<*>LQ+(%JcFX*X4V z39I@vn%x+X)J(s!Tf`Rxm;8qs6<3H{9+!cEHsjP+F5Fx#<>6!xUIfB_!Z-7V3P*u! zoV}s}-s(V%7F@zPhX|AOE!JMZMG1S|;N6;Ht19^v$4UPIS(8@nCE5$bn^V z9$*$jQFJ`=^CT}{HHnbsb{C~X`-j^>cA2UX-56@^hSxAl$TD2z(=;+lc}|**z&%Li zKsDS5uquy*RjDX_kJJE(!1NKqLL38?;Xu>HKMY%diVjxQ{5ms4qDd4hR5u>yH&vpi z+KGNL&992fClmsQV$|mYzYKSiMWDj`3idZAWo!&I_wBEDo?enQA)ST>2a=@tZkcNe z6oYs8)Om_PSxj23r|byDn8-ifbP~2G^=x_YuH)836kbjx&WzASp+ZExbS z;H?GCDDZn>F!+=SIkvUg9IP&TrTzNLxAn6d3?_Il@zf$#O8HTgj3SyxhkbCiZA{aB zL5Lm|mq;qAs%3V-J$;?~2%(x8rzPU% z7asH-*gSYQ-Ro6#Iz`fUb10QC~R`V$!*Hkp)KUi+ib zuB46iE^~01bP{btg{ibwVkyDqMO~lxktH<2fC=@ecBoGEm~|p`vdLvTu9#lS#({^a z0``gjM)R>8opr1*2Nm5!(7mOo4wQ@d89g5riShV>E#rVTTU?ssU!Sxgpx%A1CxYNO zT+2G{Zw#cHg-MC*4k5FR(8U^dBNXCW*wD2v<}QWPp}rfXxVPe%mbZ$`-UXY{VvZbN zTq*k0(KrnvVJEqh+`@2=NV#9Els#sj!PpuQ?4TysyK11$@_K}VYMYv`s#?&@Fs7%j zHpaAwUzxu_pg})Usucwhy3128twXk|tWJ9IPyC41Hz`9&sS(O5H?d$rWqO>GSSbHc zjN0M^6CITvnIUg-4=fHRhgmXGc2xQCZ~tsxx}s#Ea!kU&RWy&g-sFrn9R!(Cv!!{d zmHL&Mc6F2)VvUYiM@(pFvDcgYLmv8F;lY`ilyDH{tPW)(rMgGCtGw5Xvu=U_^o+Yb z-uU@HK^tIsdN9lzm6DPx$`k7#Xt*&@I6t3=+YGxWNKf|M<%8k40%Js{OO2!luth)d zvJW^3_t#!a!anyyFg2;%EL9Z%vwW;_kas?Ig zSOCl_jVeB)^xjy?b4g#v>S}8I3S0mFY8CH9{ zs0e#o5UGG_n$kmc!k_6W|49gq3x6pZB=edM0;hmSO8ZbpU`hWOBsT1V3wy=d@T;xo zrJNB>31;lV7Fj>gKAVE51S(NWWFJ>3wO`ZdBc-YJCYsi*1#!~=TTfmMVk*gnu}3;j zN^yK%jL<=F-x8Sj5k{87HU2cqfp+I7TckMjJPSkeo(c2M%p5D44-TXDk?m$OE~N0u zAc}-@EYU^47Klg>+o@rhNu^NKwwG8?FAZDk>C}(gXYN;?o(%&WRc8Y!6F8m=25mep znbMk?<-MKp6;y$C_X1|5ALS6gpHzmGH}PUXqmwuFJQvdE1A~@)bQ~9GWZOARf#m{m zSi&dNz_c*Xh212hBT2Hd5j4EGpMyozW7H_Y>Cb^xc;LL|*lIXd)6pJ1H>u!EYGxn2OpI)y(*DK*bw+f(=2=oCL9QjGke2m>7d3Dprfgw6 zIXpbvPXc!H(zJ;^w7Y(C)LPF?i7isKc>nBj-wm<#(JgB1Oi5Q!y($UzDxYf0ZoL9r zD$IdIQ=vdd1WN&mjl09uZ-{O<_b1&Ij0U9VS_isLcP{XAFB@0uW1x=)1`5wGY7$Gk zlMbTP?Q2#Oq3+A7R+8h3OA#LD- zMTD=A8lYebb7+tObXAZV|+YvFCWMHwwyJldu zOu~7Gcl1C6YfU%W&t;IG2nM7BBmi&S9d+PY>o+SLfvCHzl7gP@QRaPG{C${B`RSQgQmv$(Sls^isn_#-QdFjrEV#|O&7uJ+f#sx+&$RUCHU1&NTTx>CH z_MtSS*`H{?ED4jYjESwS3>k$REdB6o6ok*sTaD-<%!`Pk1>o9U*F$|YSfyRlaKwJt zVpFtFMv?4D;^_{Hwl3{P)w1V5&03IPLKwx>@|hMPZw*2o*$nQLgla3}L^_unQ65wEh?G zQPUbb8EaW;nPSfr?-#@Utb(m9qdO`|6&$bkB?il3ukytujoI6J1lN8>^86 z4@zey$`SAG7K0WKgYRjL<5TkzE{spUUbbbdn6EGdIyM`@Rp(v1of~Q(>KUz@X~J;k z`x^mZLpsaoz$cY_0@33!i=xCOsZVHwiR5X*WAtb45IK+KrZ`EC%o7M50er9NR_hh7 zmd_fA*Di0dY0T+xJp0n_+L6W~BJ) zvVeiNk$KiAK`B{|jMoyTL+kLdRd7D)`yz=gbZw1?h?PfM&!eb1~q3Hd05i2n@K`RCU7Gh2!V zOZ7`Yn5?uaV4hY`z48ar^i$4=G?N6Kwfk*l&VhK>*-z~(1@pzk8Jw2}$~__WMxrf@CCW(sbSG7Tt=Btso%Q8+ z{U+WgE^^dn`y)Znt>j4s4q_A+f3+M*b;g?7rS63O(<-zzNVj&pX2pT-#t!PgfkfhU zfxZ1U`oRdhRhWJ@e9e!yO4fo~@&E<&c|S#Rb%fuVq-yEU=1pb3@yGK=Is=b%`Vs9f zEX@A3hS;glmEX?sDVqKFIep5A!uh_RIOCdd5iiDEbT+#R#oRPXG1{q3lq79mr__P+ z$bo7F0DZ)3?5I2~bYj9l&0#z4Do8J9=_8l1@G4Q6^B)sqm7vKtL*D4Ccy6?v_CIdI z>ZKTlA!oUjO{Nx|R&0l{_YWi2{oA%$foYPOw%c*+koiprKd!we+)={eo3}Xk^^pFx zp?zzk-_bxeP@{80vx3*BeXC}F^0@DSn3We({jJmtnAq)}NrC5;q2)CM4HsZ;KQH;# z%C-96=t$vEP_CPl^+k4k<;76824yIbE^~T*9i||DVkrD@Hm}RoK2^U%!fs0=k1XN_ ze+-!TEPwhwe+fCvT?@;wzpM-DfrCXfm`^(C2%$pyex6UZBfeZ~bcyz`Qq?}y@@?Xi zndBSu(FfI~TyyicDV4GC%VaD1NSphVw(u)%;8R-5p}L$-d^+ycP5Xa_j-KSL8$YB* z5_~`Ym9@%GV zC&RdZoja6DC7^kXd2*ZZAU05)I}8{Xe|Kgp5}UJ;jA1Df3%@p&j5)~JO(d}R?=fr> z70+BE!6^35e?92)yx|YxN=y4x=eLQEE%W4!T_rM>AB9VD|1raj5|xDJ-}gY-W9_x{ z|G4EezGV`J|2wF5{(HLb8kZ>#BKO}208CNg)3ih642Jf~(&(03*JgaF^Me^pg;tm} z*!H0yHrnKBqlW3>ImgzI@M!3U6{0)YSYQt}YNW}X@0|7ycKVi5&tK*t%dNo9Iktk#np6JiOQ7@d*Z4;7&Y`5DoE|+3;}G z0%OSqy9o?m6-SxrGONsJZGHCrhfb)0JY#E>y@FYboIlavD_s?&cz);hs{+Z!sG7wf zEV9gUOTOc2%TUSOUJft409>y$U*VcA%~rQM=sm7)#cTE`ex`p-Tu(ke%@n6oFe`I^ z`l=m5Ma6Tz4P8H+dQh@MnIBcGul~)2(&&@iWe;R_L@nu<*XZz`CK~&&N5Wv6*@n}D zq!#kK!duA~yVvL5`{Zh~8H4WIiYt0MBsmIC&_}ar6!9AaRbk81dO$Np^|yTP-Ps^9 zp2c0&fCx@YsikezXWcKWG0SY53ye*G@qSI;xPKjw+K+BLSAyB0WA@UZlz)$u#iIM5-w<1(ftr4OqLyZAj+}f#&p( zN$ZdWvy|cYgQ{j-ed1)4|oTqAFoGI{oc>BD^jV z&ydDzUCdYS(3N#g0}(;V-k4QQM?Oa{?{OfmruKAU;h%ZOIVMV#;hdf?VJZx}F2BzY zX6N|gHe1oj(Yh(;xqlpeWIj^VvKkJ7w&rm|WtOZmUk6-&i=#B1RHLi~DGvkBUa$tZYZN|@D#K~Y;I6ZY*HJAY+|?xH_}Jt%1sdC|zE za)@DOBo}RyaF|KMo))mM#b^fv% z(Ko)`mooM3YkG1>psHel>Vjt&O&-$>4Xy@#n2mlbNQdfXm4y5+qP{6el&%SKYmhUazq=wTg}h&|xr zP1W)V6rsGBR)D>wq6DGfOAXeiXX!>fqwBC$lOwV=AX=AEgn4{gHjy&fiR!fxAvTd9 z&uBw!M22o+TDANTkmi^i*YT{=8eM1R=^=V;U`6EKQdxcn<4M!k)C{OfUcj#G3amI4 zQULrk;-;`H`tIi@W3M8-Yx8(es1>IbzRO6f7F079cctTG@l(VBmt$(;yU|6ZO;<)m zk!FZB5Fzefqcv20|0bi5sC=JG1v&b6FxNeoq_gla)i{NRzIsnA}`1s50) zG4;Z)FET#JL8!6qMYLWrM7y_PE(( zlpoQ>GA57NTizuu3vI>IR(&#>6x@xBbW!F-dRl$Y)uW7xtglq#5!GvrY5G`5ZH!5|+&pp}3M&!7Oh%FiX5i+?y8&5M1r%&ieie@E7tWrMo)pDihjs6J zlqzY7DwuAv$S(k=`GOQfMKkj()}AR!;$T-qS)2s2;QK`fN)R_(P+#>*d%hZYoq)Y2AFsJ06*S0Q~zP-(=D<| zC>){Cm)=K&5BB(U)yQKnT~)ScO&K%Fmi)eb4QUCKjDxdzJBV~FxnIdqWfKo?4kiMN zI3fK4JByJ&Gf;@5B>7I$?LAQv5(BkXlZ$ zB7Q$~@*HvV_nY@jg$B!>DZh%Vv^wag5YKK(oyNxQyl=89vo_7Bf({-uA*6=IY_^VB zpP2;lg;@|e5DtK^TDIqHRMRvaTbkELu@t}Y*(}h6=Df^aE;pz*o2W_nE0ExV`V? zn-qL~Nms%pn$0V&(1_UImghC1kBmYC3U0QOfe|nd8JSm480a^|d@p5mvI1+Qu`FU_ zRH^QYul4-(QXyCEhO!;9EQINkQ*ar8esWWp$R}|5sgC1Q)a}v@?W&-ZS@{?Hpi%tl z$9quZifdp%?-nm@&Ll8wkI&~6uZ~C?2p5tdBQll*rLW6H(ZjpLd)!tEgeCTX1r%`= z6JZHt9RBjW`>0iL%A7)$Nx*Tm)FYBCk}`b@rD}>s*Yw_)1mLp1+2`dh$~QN1)@5UA_MaBAIq5nm(?>eIf_#6LY^c#OToTJG{iwI3d6LF!dv z#;LrMV7QRCWK>mhQ`!zU(FRf%S4um1=kOOEwdj?kw-P;rro_ut>=>r0*!jnIJA=q_fX6H%HzqztTm zv9^W9Mjo@%Oz&TOe7nL)+BWNJfvlKXWVP22nm0jG_rUo?JfQmtBWIfgNpsu`l291o zN;$Uggs!_%W{YDI{@$k7S-qfxt<{|l27`JJA&6z+*@NrUaIA`udgRNec|@nlU~$g= zfpY|3WYr7AKuroAo9j@L3b3zxn4$6bHhW-PHxOeCgZpR&S~ zbUL>c?oG8Mi!|;l&%o)AAgbcasYya9Mg?cWLYR+4C9%HNKL5@GXpb|<&huXjW12}* zzAtddcjmsdRpu+=WY8Ts0&K2UgZvmg#swA~Q+fP~SJA@onkMsK1W>Vx=#mo|a^-KS zF7l#KoyYbd@bqE#;Mqajgf~my}`@N5rg- zFg!|v_N=bxz`zc`+HUAxZt|alErW{BLsDfU^HLkf*4y@^!-WU`4{)r|+*MWkkmKaFF+KnV#UzD9 zTqLx}$IZ!Y-W#)(fS4*ylH5m>Z7F&#R!ahnYS?<#&yPe$v928bA@B&!&~*5WnRgk5 zC!qk|$TLqE%yMxP7s0&7YL&isa2g;PBic?$ntr|kpck8H9#Hge_SF?6I2=gxsa8Ua zcmWEy{*5+8QQppkP?HQ*(F9_{$ILNJ;&=u_NL8_9N}Z`0Pi31%&qntp`dRdgHm5Pw zon5YIW)f8vIwpoRu%H@3#;Yqq(PF0|XsnS?ymHbihO=ygg$bezR&V@RQ0Js=Eyhui z{sXN^{Ab$IxcZ56k+D3Yj!9me1aoe=+ECK0;in^qGala`GJD}eV{JZ(3UVy?zoTlt zasc6)3UxpVv&?3QLHhgP07g)cXTShU$tC&S$)jZ@sc)g6%%sc; zbEp}|n!>;;GRbN^T~EU>bspZSt{hmSh88+%TE+jOOtgB`nCq4`VP{`D-wp@q+D^8O zVWfAJSj6uvs0b8SoN65ZyXQtfZE27A3mp?pQst;RHG$r?CWG2augI**l>Az>=vwL2 za1}iZcX)V!h5jP*Zj?=${{dhog6;wvD_;Vda_H=YcpyVEzLpS&==-_TisXYsH&(&} z{1845RT~PYVsW#AY7*5jqSUbLPZV?@qN20_tZZW`i4?q_%ttAS82mrcGnOV#1b1?A z;XQ9WamcEdOlX@SYeY>bAQczb2xyvM_K$_?q3b_2$P~WU{klru+F2b~(|Uls#%+2| zU{i#K%^AKkn{}}bm(9-v!5D3UII*N1`VlLHcXz?sVRff9!C5OSg6U4+ZEXt#B$|4$ zC=%9B41(sxNuL_UNwW-pAHHVir-&20BRg2e3KOI_R!P$y3zEcv;a4B^5moj`gL2** zWKi&3iqK@90#(%KvaCATQE|($H5aH-X=!<+wH)1BMbo^jPAV;~R=-my!wLvMrf%;z z_1xJ^nxH-x8uuO$H1hu@sSOurn&Vs^V57gLPg=G}gMxWuhl9f#Llb)DkBvws)JU_; z!6~0txU!ZrVdHVtJwyMFp(+wMQc8n!?<;5agH!1OzOa zv?PM>*Vy@)TF-9UiyMRK*4&@+jys^b`o_pKE#{bv8LOI0kB8)(1#*`XqQKRcWEhK^ zsQrz8_tQDpr#pf8Y9(AhpyNCl2;<5`3I+a`%8%~#$^y3RDL=Td zWP!gv5iW^J$k2aUKY3Gr*xbI)FS&qR&(H2;&eT3_^FdNv`5Di9lw0J4t}Sds7arNF z)XIX*Dffnk{9Nt?L_!vq+B9?8t8EGN>+P(D$hr4VO){hFpfmX_qdF+JT?)))nt5!^ z+qapF>Sl*tQcQk0zbnKNbVucou_6&vcN7$MQ%5c08=e|}%X(K57Y{+#(3Y;vrVNcZ zG#Pku6N)sfN}E#3l!xpDEQIhtyXx4vwPHmV_Sjz09ZITU&Y(mGHgo`)d!9 zqnlBh+L?kx6e&}A+C@&V1MEC9c407av| zN(dRiK5hNFeZX4d=r>sLrGh`~)k*MAG@M+c+PnUhU+#VWrU>RQSbY#NX zHH43^4U1j~_o)i=U+IeTu$d@3F2$9Oc#10RF-`$~sP8hfr=5^Jky;LOZb>}pN)8J~ z+(pR`>~h76_KN0h;8_zP5;P~~X@D}@S0Zm=tLeqWNq?#7#gSQFdGies*$%cW`W|=s zKgM~U;PDPMvh6pd+pdZ?ofWM+wx4D|=a7>j}+Z+spL{ zffo`vDrLH1KmqqO1{x7QA(l3^?DO-DL}r&(SPdOOz#ql76nC^>A1nOp#TLp?_UrUe z+uzqePgsHD>~%&r&^VJjfKk4NX(3nHgL>^@eM8E1xtgW5EEgM-eid(6#7LN5uF5K& zFpn|28f-{;2b1+5ahUy28|Uei%EZsvKEkrAs|6@h|5W6tc8^Nd@w4}Vs>TQ&k+cx; zsJgm{iZ9oPwiuM~9kF*T7J3BI=DK=4py!r5Jn!R(o9`W6$ZLHCyF%qUC*N|`GfWCj zy#!nSnG|yPQ&4&8KhUov8|211HWr9I6|6_1?@S6ZC; zI0B4rZM@N?yMww4NJ&ZMZaxq#GD!?v=Y~*f%_>cQ`=6iPH?X&)r4_2(G;DW4wla*9 zXDo6f_F~W+A|ebW9>SJ<`o}6s*Ns#vMj4|)%*^4~R82%j`)^M%Dhz@#IM3Du?xE^2 z{5-WdWa9{jV&PYd_TWycb4C|L9>Bl0;(y~K+q!kzZPMcR5U%(l8oAARRfEhKe!-B| zCVvLog|1DsS^g!mN^xd#45l_Zy|>(Q>^xKnHDyGdzqaSjkaMits~XhwDd;zc+M{1G z)!9u~-Icbu#T>F8RzP3*&ePztwVOSG@^ai+J)8m>^eEXDrqkG{qP2|n+5h8_OaxGu{CS0o zSUZ&N4~mBc@CMw8BDG#}2PtjkqZjdn23LLf`an+#AwjJ`WURGSmg@%IQHXuD6+5*( zhlaPxN%b6E3FwZ}Q8y3N+VZly)ztyPAD4*nrbg8v6FreutkY+o?#krvlEQk(qM@+k zQ>1fBydys5B#g3&7>TaH2ZxQx2eAmMj@*_>k+j%VN&rfx7FJ`eTKJl`t0vc7=o%Nt z%VTmPh0%09?z2Ui5uQ<9o~X}rcrSitFHWgI{44I$O2RP~9Dnmg`CeZjc!rE`>jZ0U zO7npQ)G@sZ^Z`rFVKayAH9;w~z1KMzS{@nRo%)r53PPej1zHvztN!sTd(JtSL&-sB z1t<+oWJ+O1kR{JDIk#|7G9sIumlKCQulUuIbMf;9^cCrye2y+q^^3>GR?+8~2k!axa-ZS|T+pS2xgD!OpP`n?aw&jmQHo`it z;}{?M$HaaXJZB~wn^2{(UBF_zkaqVNXP_V4~2j=b|1GO=MsW~!o@?T ze9<$P_eDkPC3&dXW)PET)u|ga)A+h_Q`V_l-x#$3#P>S!4Jbg9ZJs{Oa#-P9wDF0?(`*22SJO2<9;Qj z!k)l;sq4p<+7UCNC9&NmToU-sb6#r@rMv)Tr|j9J;|Im zW!o_o5}iZe?>N|Q!0u5JFe)P$@B@e-0_xFhn)1GEVWl~7_az7@Qb$#vGo@QV zvw_+H(mVs{D?eS9@4#RAHJ$Hlq!(pN6cIo2u&Iw`-q{$K^C_WR=kVF|3+!v}{Jm-p z1+KE;iTm|vPB|N!hZOQUD1(erp}w3~(<@gZ+J`kM z8LuwqoWCg5Hc=rOJvW*~FtU8vp;@S8$Gb$Y#Auj>cnQ7a?6?$I(T_@m%0>{*1OvwG z{j@9x;0RerIe`iSg;^HvQLIf|EVwa3Tox~1`2FNK~Lyg;@Lfh zXSfyZlCBUSP{#dt4>Z%@vt*TBnv~>yg=7&j3^jcqh_Rofh29cjT$()$F~ z+EdZxJIXeeztl!SC8&%Oj7ujVkiG2BDB*Ma&yWg2i_HGWV}qbQ9ACv$zDvDZhExn} zNK2nlhkT155MqL3_B9klCNXMVEl^YpUh2MXPlr$uLFcyz$0@$Tj)yeY66m@!_=kYY z;Z-W)Tdb(1^-K+SLU(CgB8g{q>Q=g3{=Wy3z6``^Ggt84>5UN}%xOzQ(tXwuX_S<6nr|R0`a_iOHmx_? zkH^wy5{XwQQ$m`&rIWPh&zDJh`J_jA>RnM^h>=x*oU+ftH1FpAPiNMGXaTKt_ef+! zU@$Qq1u8zKNCL0pQPwjfe`d*9ji83515u&mk>-8U!8IBD0Mt<+Y8a;Y0F}s8&IGv` z>HWsSSt|^>xOe#r=)q~z zyFU)d#lV~7bs^P=&K-R0#&8w?A42f^)fvKCeuoNhZ&OulVTBY z=<{e*mT1PNH}tP@eSsHfmUT4>{=xQ1D8}#FSp6`J@T;>pHyy72nZ=nvoQ)?_yF8Ct z%!`>_YGFIL=T!@;_Lf_D(94?MmGX3(UI(La!(nZxJqX5g{_Ir!#&d={)ew`wj%e+P z*o)vKUja4FQ-8f+ixE0GyP_<5_p>yx08mFC;^x3GjcH$Qj$AcwgYv8U#Ul;SuHXg| zaM0O0K!#`aFAP9eJR}6pgW_`lfaLHAW+L`)ys8gb)^+td(^YKx*^X8>|zQA?DX-*NBUO^DNYFBETj{U z@!$~f74mz$NdU$MGiOxg+4L*|<}~B+u_IRWP2v~_8$*H>`}J2k_oeRU_a8+N21W89 zDz3Sg7=Wr4)XNg&<87GvcG1RF5rjp)V3_W7b~=8sRw-k3Zb&E;7K(xG6F56xVIccI zr#&tcS%L#tb?Kq{41<=75uSawzb$pr+om6^rSf*KjpRqoUC@-d4#I56ZgdRQW;K0t z0*mgIeza))!)^cGOPeORTz3IOedRg#9Zdy650%630p z{&^2^_|?$1L7>?2_<9uu%B7*g)3RXlcPe`}DN{J=vuo$aB0QeXb?p3heHemrXv8nH zE#ET1;*6BfP^GbzHJ@lc?CBLp9>)*)c%LCFVMOgnO^*QBRJsQbfsQnKPH)TRj@cD> zUV{@XEJMAx=`EjXbDjEIpNmk8HSp&{=OTJ0vvu6fIK=jbtx6wV4_<~fuHNxNy@nX} z@CU*EF`BIq_j9fbEdf4c#9M}@8Ta0#G|{85gQ6NBJ~n~R;_sm`D6x-)Y0Jvb}kb`zSLow*Fh#YcsV zdE^hHf(ap&bjr=)S3zV?xk1OS$iPbo)AN1|L>b47xi!KhGCIGd%8|JyGZ4FrK*7*P z5;X0=;!D+W0oIDJlOW=)oA_JH~ZOJu60SLYsl9E<2Zfmu~J zcU^Ehay_u_8~J_F-E&}!za5v z0<@^Ld(NA^`KGxw=0$A9lJNzWvZw}&KwH-N3Kg1>v-1gf|5%;#eH@H-#^|Ww(09M` z?#M$XsX_h{JqAV-L#||Dt2kwT!Y5L`#!PV>KZ?dYrJ%rna=dUs_VB}=63?6(+~g4p zotZKtCoc#@%hy#v^L|0Huw$!T3~2AqE%*gr#xupI3?)c~I%D}1jcE=SepdPc{Ha-m z99mRU#6%|w!8>Yk){%{;tDucvI(ZIdveBT(Wj92*mzrmCS}ZZ?)1)I8vjBwDZwM_E>))~sbn3A@P7mncPcd=cS*!a^W)gHzFvzQ@kil>-<&XG zY38B?ny}Vi^v+P&-Xg-7ghGaPdfVG>?cIUZ!`y=3suj3%zHa4@S9#m(J2SzFSfh0x zORqGXG}gG*XuOV0d^$sKlVp}3gcd9_L!Hj^A75!VnM0`YB%?74cthCTWvead*cK8C@u@;i^5j4u0H?A19UR^Ri#_p|KUn+*UxUQ`sW zxOz&QaSpEdUe1c6?PXcDI_R-#24H*9rV1=Fl!q5;eUyRBUWrDW3EX9{sev%M)L`HK z3BNPa`phw}JF*-GwRw_p@u3fw4EYNMMu6{E#&U6pvW8R<{tHqBX85(w>G;uR)hly? zqqAj*D5(L$*e`EO>EgQ?K0<`c9+4V-hm-mj)~KUNAhsL@*=}3GeW?O!aV;WnMuPxUh>MP@qW)qU9 zKrC3eIcj7JfGY^aPjs&S)A6wJ0qe82J-pj(l5tz?n8NL;z&lwyNaHL-jdLF;hFPXI zBC-}*hL|~5OlF>H(8KeB+oqv(i2Y~a=Ng+o#pjYDah#&0u%08oS{8)fFVI zL-+XwrOs;PDr_^jhdCeMh~@OXOQ+d|>ti5Ymp&2As)*2rZtN@DCwD0f&=D_;^Bbxf zufV|#@Uz}32~SkDH=`zcHfg<(%ILCVTzD8<5D|e;I13)$r#R4R=jN7S2KfHN@2N|W z`T@TYzt+JJL_%*Ppju7VAhE6kqh28r0xY=Tz2uk2_aN)Su-AHAMgFPv5u}5l4YH4! z*Kp;&6DnR-ccd9GJrj9iWpx9&49FB+(xLi)W3j<6Hgsz-bdfxM{5_}G( z10BvBh)3|ZCmSmlv?5xmw>Pf&7VpX$6dM337}W1hfG-nZw!KjQ`X^*`olsL~Ik~T; zfVMpJgCv#N&_a7_lE6x1Q3E&>j>fLH0Zg-u^_rZ0TOOiaQULK0krb65ufq|Awhuvq z#ed(hlGCuPEk|*FTxxzc96hJ4?E2p7A>wrpTW-Q7?bY#q%!vK} z`v-btX(z^v&YJ(f7uz~vqTURz$&u-QX+|yFDk(<+D{`wellCc&cch5td>YOsdS3O@ z;Y@Rm+=9Z2&94-ipNTZy<7m9bm%kQ#8jbgAGGe{KBl*F|>C%IwY`(z^iU4Uy-EnZJ zBcPl|1D+({a!p2+7U^-M(7>-8CF-&yMJCk56h5b1Y&NdTSmzJbXv3#pL++MOcs=LQ z59Ke~vrY4}vQVPy{oPU1eR}-!{&kWg`_{89`ceAegZb{!`PM^A`7Fb5nfiCeJsR;NwtBNrWm)#C#<3cm)|-_#Nj{IZwj@~rwkw*v3ixee)r z6VTdSaKnsdhT|&|BdpHJW-eQU2NU6{%d=ss^dyL1euF371su=8$I6*o8lbmDZes{z z&jE7?i(l*_Bw1l~KWR&?@cu<><+^sgn+Lm>4gB~#N+a%;l}Aa4UfZIwvOT(VjD89`pxF`v)CwIWgHWo-qK}ujv2-0{KGRa$^IR zJ6j$FA0rP9g8DMOjHia}mx94Oj3Cs?s)WH!{G#~s2y=b*Oz^}GzEcUI!AUI(1)#bF zM8-+a{%GriDNPDD;C#rwB+Y;nmh@caFF3DJG5y63aRAz5&o zp5yF{0dPzMav62v?+Peevf#G^ckMr`$P*6L@`w*d_WLwac5l8jF(VX|1I=QuG zp*iJBHZ8`O%P&EOt0`A)H6|?f(YnAR#7N5~3w!CMg)QwVzfl>ax zfz-v|SRjmPT-Wy89m3&R&G@npE!dSVU%_ zl*z12T)C*wZZTj_qX|6Eo6#KRc+kI8M%H1$?yc>Q;IDY~2ME&f!}p;2{?z4R8&;b? zt7@W-4eT$3#;di{P)VpXNE-b^-@gq&Y+xjs#2S2(U(BbC)hE&nFVfE&;2U!q&tx4= z-BjvBELFP(*kyVC~+2HgEGX=AFXbG|1 z{W$G#c!VJLW)nVVEZaSGegP(pRd*AV`k z)n2z~s$lc>6^Y=7l3rXe(a|OgkK4d!g9-0g!I%1=Jt!-A5!XKp1uKyw+l3oPE6dhF z=yZ9&^)xriL44eC%fpv}7a5pq8ut*(E$fKM&8ucaDYpJM9yZ}4%aTsIxEJeRO0uS( zG6#vImWjZ@hS|srUcp`klg5rW`eepYGvWoS!1WpF&oZGbe3mIi@v*!_lY>aVb+w+) z0Z6ob|8N)NpBHa47$CNFT^OA|0cPD&8xk)^>EqfJ$cCQ^-N4E}1YH7Q7=V2rN9j%HUHTir)tHXc5QBl@qzulv-7==GlyXS!uQopCvBi8=Di za}}YqDT#&%5`#s{gL;+30w6d}*P^wGsDBav%Yg;^4-%9ymQ=z9E%Q6cXyLP{- zj0R;kKFe>|N_)oO^5E1|_g}lkogKZeWq*+R5Z2V?X=SukU1LAQ#`G}-kH6vO$^TTA zIC*#P>F~w9lam8DL*;6|Ub`Ewg%&Q@e4eB%+wAk%p*d`*RMQ}vyCr*Y9bq!~;p)pF zeO&OEKK=Fi(^<o?N=dqVoQ#5v>t#-C>F{CQz}?(Wq7`|kgO zBVaz17s4WM=Sd-W@GI-#8L2)3ehdOEE31_?UB)GLyLq>usL+4bVd+uiyhX@)>{P9& z#ZLbL2pH6X-R%z?>@~q>NqOq$bJIM7#dLPL_}*Ot?eVt+j9p&(-e7eeh`{G5mFw*nEHMEnC- z<2DFmUP~;{SVsXQfgH8>%}1ZEOOyjOV1x@t$%sU{;HwApH7sD*f18S7D#b-j3WbCW z7!sE6SKEr`+be`H3voID+^5qYn_{<=)i0M4IuzsE$_3MTv>k>0Pi$hKS6xIvoiI(G zIPi#nmkJ(48xvkLOshgHZJ!{Q@&#NmtY>y4VE@`aZU+narC**9qZK{4o(hBnpJkgW zU|o7*m4Cn#7h3KHqIHZVl~|+}GcX+nSR82UxnJrUOQ;^&m-t;t}UXxh%;Ek zU_Z7qU>Fw&-=SYG!AqycoNsIhP(UQGzo!`8vGf}t58>Fcm=mNqidmqEH2?z$shR4TN3zBcTJ9+bvs@y)Fsggutl zmJYVts*VrfQ8re9vzG6Pins2o_aFG_%baW+ycyoE2(ugqXL*J`q-0^4c!%4;0V+`% z0R@o^>LHR4#mxxrOYD64#Z?cy`ckR0a~A@&8k?vj3G7x!P6_mL>5{QgW;CIf?ziQWy^)>1&mc$vm~de<|5+|c(@Lhr*f4{ZmbB) zwVkLbSk4>z?OvWfeXkX}!bnitQMWdem3bDsCNJA-L)^m&sAG2)_R?(_{RPcqB~Jn; zHwzJ+0T4};L?UR zaEC`}tFT>i<}!17`9?Z=aYu#K5#Q7Z#op767$}@IJXYN_@n)mo)|h&Psa-&88U%Lc z6bR+BeJIK&=gy$eR|2X0Eb_kpEKvR4F6ZXFx8!|g4GmI9pq zK@q{@pc2POm@`qDNXtYpp0cIO*(!quj8up>j?S0Hp!Tgp+#_OQ_AspuQU%+S5 z`?x(EG;CRUId0wC^{c*b#Jna7Ntk;f23>&{#GU1kuB_ra6zoRA!<+c#@YK#Zo;dJD zi_6Nb?8(-IaWV#?LKk=#>BlOCA@dv4q!ojjVe3!oN9)QX9fky@|IjQ=$ehcQzY=I% zee5MFjb%%r#zNrbWv=+jJ)q1yo=#6>;p^A3BtcGa$Z>`@H55kD{ZE5q^fdk!n8gWK zLjFd@NlG>kGx`+EE<#B^1*3PMX&-1`8CT+X032usiBsys`9g3cR+G)Dy&eb|Rb%OD z)M8g-R*Hvq(=Uvrsyl&P{yM-q6CKmztkN=mY$TlgxW%fQLd`ANljf6EkG-&um2+J1 z$m0rV=SS5ySFg|B?rsk%AtyW@N&2c}Zf*MfD1k-Nbql;25>8A#BOXUd_7S|K@Grp} zTV}zShE8^x-{?-#DtCy@C3#JA7Fd()o&JvS|hY zIzyTMMrIGof7D(aiJ+uSeaM zbI-a=jhR#5hE?#{PiHAFwcuw^;ez!7!s}ai*cyUD+$qpnl}Wv9s&|cMI}qC>+=#Gq zitAcfR*}qR5Umuw9WWsr?{tSL3U5Pw#3lr`BF?kQii17gv-&u&ph9?**uQN`V-a@& zao?#vzDJjaCyk25p~zKyboXs6X`NY*g+RxlIQY-0!_SU!&@*_jWyN)_R&69{-Pw)%4o+;Z*RSfGXp#F4#_449bDM!qJ%|a9F}U-E zVpAw?f(r}5<{YNw}Nbs4{;ET99- zLKJ@(qGQts!uIJ)`D)~v%&+OPG~t9f4NyAo)O*?=s&}6c!R5OD{z80R=`?Tg1-N z%7ncsekWCmdfR{KwSJ?V2o#?ASEm@4Lqs~}qqD$F@o06x*|nXR{2c7A`x1YQh+c_Q zXR_c`)PzstQ07L>XAIsQdbm4g6?IXMsTwd|3>R154`aSVhdJT*)=a;w88Gn|8)k0b|7kqHZ0BBneKzG)mDj+9j$(q78At;E-{4?I+vL zWPCbw^2{WwfMA64*Wlv(c79p#fGHBt1ptkPy&kqQrXr%q%naSn-TmPVozC=}cyTqI z_50AVoK7-vV5>;^45|*Y68fWVlgvG*C~vhGAUck;xDi*hh$1|&k8)@@?r2;(mnY>2 zp*;Fb_vd^!|KC8w?0cMqbj|w=_V;e3exiIyqhSM3J9dRyN%LE_KRFmgJ!gGF3ow%Z zs0&Vwf1=vj)$<~2>apJ7jl}Im|1gT*R~v5T%dn7W`JA{LhAN*H5xq|#zWc4PMfl!P zI`b(s&i3yGL&pb51!j0Gk80@^XZsyu(3(@T$0k;o0#^D#S-4iWT|!b)Zz)ty=8Z35 z1Rw|NB&QlX7z(kPc&=v3JyB#DQTH*>o0Y@27V{Y3@5K`@r3g9DwOSzI(qj*X^O^qs zi%cYik>suN{9@syZ1XYEnvf^ce-(R*iU?BMr406g;uzWb!z~oj^74Rxk+}lH zpa=^+a-PjBGd=r;M9S1Ti5XfrkFMFMb*2&+&-oEZDkKFKbTn2OQw^<*9vmM+QO1N4 zDI`9Kc?2@}3N#|risKa{rHytSUmXJS>B~&^OIy+d_I2PX3JnzCy-!Sc2X_W%$Z6W( zKxW6XPm8?|^P8!&p>4$VkG-}}yfM#bTG<_~%c(hsDi%4~5oenh|K25LLuqShF9sv~!TOwPg7;m4H7S!4==-Y5U; z@jlO|jvcSN4t9=|gT{PCK>vGQ+MVq0gU`dIh}uIVHP+PFMSq;O75U*+SaEr633-$X zgaf@2i8a-~xf%eDee+*l*S=bQwkO9Q3@e@|e~~FgwX9sseDG2;lH2s%1LdxPweX?j zLG%OcwQ!qhVaSFDZje={=>HuNNy4!H9I#V`a=2;`s38p6Q|i;|f=!DHeJdYGb(nBE zbnSEi8H)T)z}`-tHv2I&U%E9SFse+U&~OLLI?r4%xHe!SNY1XKDeJD9SRDj9jE5%_ zW%h(J7u~q%Sp3_?NmAoIZt%RoZGONr-)I|uaCWvUiad-jtv;U435Y&Z@!n{NSOapP zujn1+*jaH&E|H}I%81(}L#;L=G0&Vb9W!YagQbvYdch&tJSc;A1DmvW!;O1r%YdvD zMk3I18aZBkuqKNrkMO_E=aoA5n+AjLMluPOc!Y|+t;z&f~*)K5m#eKymYrMze?d`ajX9RbBV|tVdtDTQ2c1vmOC~D#$&)9lroZTTo`DR zo%?ggJG!DRzUG!N!k# z1DoC&C8fnc+wJz;M38oqB1s|VU7Q!3lUK6yIt(F~Pv!bd36v5FLqE4rv=*cbM1L3U zau$e@i4b5a03#FH2g&fdiWq>rdkqYHU5Jg`wtYXBOak_O%YRFcEM;p72X8O2p~UrDKpvRw$OYK=}j(j?bwq1SgL1P}6O} zE^%nZX`>bDzGtvmC@DoE?I>aibM;=V{2eT!uJK9@gai0?xIbC^>WFAQO=Q1G?rS6` zn2W9Lb@$sYBvUmFuI_&Qe9`r~-cz=F4#-4fs(COmWlLolZnV{PZPBUJ#Fz`7ZK<3` z_4ZSl^rp=^xZ z0j)kYL+Y^tUcTdI{+9!^Dh<%_pXdMOBKKae0M%+T@F;bbU5%c3{Yw9bFX{J6t&}my zM_AK-@IPj`uix;+0&TsJP|&J6vg?s&-vjYD-)dXx^rm^58gqRsCihZE>a|Fx_CP+c z{`)4K+zEX9Sgi+fHt(|}gN~%oy8}dmlHqI0W9Nb}yUM1njGKauI?b_ZTG8IY&IbKE zDxalw8CQhRQKX)}ONj$oXVqh9?k4do<7~yq6prEA*%@LZO-b7UpuNy1lKONGxURDd z?N#%xL_AWx+Hw3ok`-m+i~?`$<pJ`H}3Q~f(r={5sBux0r zPOU;tmu4QEWt3mop}%;!u;sV2oTS0zvfzx+`=+|Dgtl|;K!f4RGLuj^faUyp?ns*- z3BFFOGD_NvYT*p7cPMNpH3L>E3M!0EIHs6s1ET4w6cbQTfYDy>gZB6|x=M(^wQd<1 z6F9Xz<*~47yk6=Vac2DjlWZ7ipV_avxvG4bH2}8A?V3WHtNIW93>f zVuBM|PX#jL2bEB_Cu;I~lbMm*h^}PkkmsY%FJ1XXJIeC))sIuufTg-IjX)?`9p)7t z986ef5ZB$DL)mrDU41KRl<6AA6I0)xe>}Xur|wqD-W0JK`YH%YbGKsy5@!IxeTJ+yTN4TH+xI|=Eir;b!^7^< z%^$dq26#ST3p{TI_jH)CI!8Byn zNctIBlgvCbP(b)@wm*cfGq%9l%OOhI+JM&c&Z1k)LaV5~p_PFpYn&W>g{#K%k+VX7 z$ZW(eDsHg&^thtaz&LdbH}^nf4C!o_`0qJ6yVs+>2hs`FoDLG#ooY;bDbsTq=1t(gs& zi^G_vVZY7R40?PwW)nK&&xu(1!9HCOKWM7C=#?8x3%Sqa>w`bv*)=v8vly^#mKBrB zLFy>Wqgq9}Q6*c7R02FCpQ`OCGvS+)zzvx^8pyf zWwLl(XQUOG;;h*Vy=L%5yYTmttwMF{UskIxPd4-S6%?$ux3T)g-@ zJ^cBnqRwyBzkWXWiM;rGWG9D1QfJfd5P5k|L6f&DD#&BFFhk&-AuijN|FW)B0+9l} z28KIIrQ<9JTO++EBLWH-60UB@h6`4a`9E*KWh1JZ3+FGMe!;8r&l`S$IlpC9Iv4N6 z6_On)XS^{;bo=ylsl&jXGOgO`3NiFLP+R4JSrK%l{_;k4e<{0H!IZuaG$~97g#62~ z`S5P{RxLXebI}`b;p{cjf9xk(-;B3(e2-DAJtMzh)xY?WGwgr4Kfpvi>*FsgKqY7z z3)u_rYyJ-9M^4&#W59r;kEj1?1GVV8OH`V3H~4Iv93L=2^-g8j6y?GV)I)(gu9@@p z%yzdu>6r5wDUxcVs!4+x%CeSOE8*cxWPIjEjQMjSgzZxH$ygEWPIfBO?k#e}Zg1d- zc;$--!Ww7aY?F#-CET5SltdIqKvBeVXTrI&UC9?_*_`=Q zrMACUKMbO@f!qT1s1%n&LYZF|YcCcqo2*dq4Z#prAF&Z9YnIiy$5lP6CG;0$hi^84Ta9zmYclq59Y?gl94cTbJl^%7uI zWiXfAf{B$Lm3+O`H9tasz5M>X$quQ14RopA1v%WVy^&A2K+ChCLA2HZW^p&$R4)B0$~+PE=LCJRF3}$W%P!iCI3ss>hj3Kh%3VV z>6DPdqW~BM2GUTKWGH@tGd^QVtTjy@^O0w=A{iERO%#jJGCnMfU=SqW7s`-g1W2$s zdWAPgBXe+p@Pf0f7OLasM=kCJcS;Y4WF(jR-Tr*O-*lql#%)MIl;IG1ct3*n4H-7w z%wS%3k-$SnwV;IF$r~T7^9`+DjNBU`_1;nD4eXw8-~6gkgtXhY8CraN3*0Y=8fZP- z$humhS?j+81B2wXfC26qY$LS#MV&$6ZAc=$Yy5+n0?2YPMqT&u7M22*hAqvllB*~D z0hy51(;%$<@?JpNYK`%2Ge-Tx0>n}nlPd0kuzpGlUxVi!H&)!CV-_Qo!KW_*w?JzW z7mj4uHYQ_Xb9z)s^N;&MXHnB!xcxwky3q}0iUyi zm?WsdiinP3d_e@32jJ=a>61Gzf5;)+5iz#Y?4RqK#hi^hkEkLz{l3V&>PVkT2`|nd zAb~Ey_jaWIbX!qDnuPA&MLt;Kj1wuf*M*gQ4{cICF!RGB;c13I54>L7>1=DB2}Ii* zZA-F&awz)ko@4G#b#D(Hs3-S1su&aA)PYgktEc_qUFr2sx2FE$U5O#>SQ%Oazew0# zAI}>6nXK@daKvd&Gh78q6$pkd)vO>?h7@aBF{omK*0`eJ6msOT-yXa@c@5d24+C5T zlC7(mtMql<891M6HZC;Qo=r95m%9SI&ddkggtZ8lYas8WC_&eEJ^vwzeAe8GgHII0 zaaTc!+%J!>hvYxhFY@@L9W4O1qp^mJMn(Vx;RhnU?^*Cc6)9C1oy{_C&IeeTN|ySQ zqU3l3x}p;chKr4Jh3X^gNzfJ}6X9F_BEwwJP9~rFLWTRa;0o!b0F=r9^p*bPU}7K3Aedj*}Jjq*OsBfq|44OnrrB$H(V&7OcY8 zq_@w3?I&?f_+N8$*E-5h=RKOi`2Sw1)3M{a9(=Rp{DJTcjC*v zBeeH!$>skPV#)XB=qxWYnouF7m10S%%BX?*h45gPu88s=BoZ9Mo9~~0{|tofl%ZP) z_FBtZk5m<_tdizzgS@DNy(TO#E0$AxPgY-y?xDD$ct-=!atlo+9~AuY^1vT4-H($<_YM|)5A z=IGLhMJ=1KeJ!9E>g+ykX&@4eqd zXcUHAedX-=xPACR6{b6TZmZ3ZibGCWfl|tE>}?RhND(KJb(&B&0p`EI?l{*xv$~BS^Ajt{Te+EhM$BGIPWQWmLraTAd zyOgIqcN`C?+$uOx`tn?4Y=JbT-{(kwczrf{pg+7mdw+x6L2&NM&5aCUz15DS6~5RZ z&MsQoof|neEboq!a}gZ|u$kt{x%agLH?#=kSMMIp7w<}iP}1)5%N3SP6XkU#XqhQO z3E!!d->71^nxv%03>*kOCkk4dK0{LU9n)ifhp%vfuVr_@b5XAT2^1dJ>w&VS7WP%V z#x%nVn(6r0!?_U>!Ua_XQvuooxmlbCWA|_;v1`kciw(WE@cX6 z#I>fDc3T>YBj2#76L)1BrX76fhu3HKa;-}qHSSuMZ}eX4@WW+930if1zqgzH*GqE- zi!fRYaPbFj8U$O23U)j=_e;&*PBeQ1$wKb+cOHO-JH-f&0t{;O1mPw?fs;039C4?+ z*$w|=W=eNG;Rz{M%lLTbQ&O(Jy=f~LH-H1OK&5qhQHSD9E7mSrT-IevmP4GUrh(5E62ZOfV8`~j3itqvZm%{YGj z;^g_O7xO&*WW{c0g3W49W;9q|I2aG8+UW3QUznn5VNBaF#`6a*B@mqx!uWg{6Gy1R zVigQb1wzsm$vVr_+KY;iBiGPz{9&aNXS#t)BRE@oFFeGh(VNHbVTg6?{S*>HkY~*= zZ4WlxCKfBX13na>X@JsRvPx2F)ut*U5?F@gnv-g-Z$VEUsHVNYC62it;{wq_3;dca z<*GCR8o_d5s&&)bsAcS3aj*wJA}WqAeHoXe0c}^#b}TJ=W&2Y@`OJ=NEk$l}d#uaB z&Tgq#&6H%ok0G$(_!Ib_i18T*(Mg(W;8e}Yvd$EgiO&%(>0459%8DaU$ivnJ*=m~p zDYV?^eP`dmg5|xrpPX@XUu?N*p1ZFyEUCgN1JsyGjT~My=UCu0r^Wl`-S;H$8ae6C zf-Egk|4y`b;S`>4OR}mD>!$iPum`TjpOCbJ4i!N(UB|6kQQbX?}|$^pjwG5oD)H+CiX31 zMFC+^Oce|kIJpV>f+h*&S1+OL=07(u!PL?pO{J8sQIC<>6>PcDOd#JhZH6B zz=mRcgMD^mfWuL~VXd|=3OEqw8|<_<4tOBaHwrk8lnd|4S6_ZPN6&RqD@fYh!0}51 z8Hb|a5SkkhieX7Nt(djAAmQ-l>w+g^!h|C%h$f79_dwx?0-;42bz6t+tR=Y~se1M| zWHW0DhYeQ;afZ0kC>#}`)V|;ok~+*v2ZM)Y8kJPQ4Sh7Kmd%`TyJB2BmI9GeW{@UH zgA}evVUy^?YylnDj&%?A35CZ~l~2utx%Z6R_6p}C;_S*X*2PxuIvQKEdl)d*x#fdh zHe*nsLOP9`?#n=3>_)}S-^9-lQR}S*;IAAz;T)-gPC2e_h{?c=v#@M`As5N1_^%_{ zL49tAox_;-=fU%)6YR0d4K)u(kVpGTM(6B^5Di0FJ?zXzNbM0>K6As7E#$iBD)6nymB_1WdvkJ+}Rf?p+$r}Mql{^TkRZ-rJ)bT3XRHsW>|LGm(lJ!J@AG zcKc|{4)i<@{s^xab<0gf)C|=hTx^X|1g}@998+0bPJg z)O?4WK!}rqQ;?VBO(x~Km^e$Ruwl+^1$XDPF$lBGh#>YSXC80kZ1z&Fm2dq}ld z!CA(&U~bdanENQs{$cV7C~BmVP|fN9a!5%zK*BL+ymw(a%9)B6FAyut>K`F&i`+(t zTQ;o+RJ(-35+cpX)ApZN^-QkK+G7j23sG*}sB zqlw$KAcaQ;8Ns;jDzc~Swz$PrdUD~7+-!@L%{#6a)O3a9-|>RgB6vfXR)TQ3Gd8v~X$ua!r zw{k5#IsW<@!_s9heRm#Mb9cBb0n^hY0A%lhPxp8V01KiX|O z`lFre9QZHg2I;4K)UhYl)c)xf-dGT$5Y254_2}c;II>yQ20rc2=llDnAV-W^WxK4! za`p#AiiD+#VC7gVE2BsZ$yv2IvR%n8T7By${5hqYCS^oj zNH5#G2Wio+W=wjGrgcK`tiu)T;#T5_GJ7^n2R9yBp9I_@q*$Xht^$Q6-L`{(n9?=n z;lkWaiz?CGv~k6{x8EBznL+zBluD>YSqsheW0GMs4cw4A4YEB?9ZCLaI5N+)M_W9+ zX?G|i?l!YnyPmJ+B5X2T8~x(}kHuKUAvz%^djERE7y#CXfmTIz2!7Y+bVQi+3;jkr zB1w?EWEHM9QH9X^lKnW@e(sz_6=s#v>OLZ+bCS|JA7{w_5mJ-uwC4uzqdKx>C~)G> zJ+D@Y@@7Gm1m|Y!-P4eZoZ!N^3ZmSC1xtxsanqR^TMGlNJo1sJ`#^VeD5cj|AfUXL zO+=%zn$Ulfmr}|KIwfQ7;&C_dsC&1QkDP&8t&?djQN|JnMP~R=*iH;EDaw&Oz{WQW zwRGvfi4sAw$5uoGxxwooK#)m zz-~-kXq@HN>FPgRP!;>Srs?=&^=PH3JIGLRSE4~`M&F5hFD$sTbt$?<0~(;GcY2Er z!Ul(E&$s~+ys^eBeOV@(BnyVc3EHYMqK2c$2!gj}^8XmqmhtE=$TF0*%Jc^|0Dhzm ze;E-FeMW2<7zO0Y*;-QV-~5)wAGmhL)8#XS4_$K|}5 z(7k_wfNbFKZ#Yv>gyFmnkiyPGR)0t9|oOJZ4xs2KS$}Nz&TB9O^1rDDW^<(BPU3{86#P2xzMfq@RCz$;bZ_wn z(wC}J+JZCrmsV$ySKTYSf15I3-%fzHB)9;4%z_0}EJ+G*^0(&;1>Kuk5cbbuKoQ51 zy-SV7XQhbMG}aC6y&-v-VKELrwD+UqpKv_xl6T-Do#9N9?8V#Du;9TOj?jV;zA-Gl zu(b%KMA>)VgCBwHeG8HTH`gNvgVJq5DnkVqZ%>a9os)T#yZz$rsqM;KMS@+c7#ACv z1&0Qv;;A6lv}Po>@2junBFMMDnSHHUDE#Y6-h2_+9dIBm*6Z59WX99*!u6^*M;K z&*~g6M@TRRyiW1qlLC=tR4s@?jErSV?fPI=X)gC@pG#qsedTV#7A zfJNc1uCKZH3a_;z5OhhL-DK=_ppIc&${(v^B*YJK6eIMozzQ&D$C06z`0oijQE{<8U>Q5{O0wy_tuj>@TW~2I1TtzVC`T(b&-b8qF5crqTz1VgP2& z_}iYjL8Vrn1zVOJ<`JSxdBw6~27cJ+jvFVKmaz@~T%}KtoJyJVM+#9eM`u6{3q%J6 zD->H)ea0eAkqR^DSA$enbM)g%yK%-{pe^Uvkrh*Dk;?N1cRhtlY~e$a@pc^ z?W<+vlIB<>E5Z?Ha>EKPaF#WOLQNh_N`lc{8gHE=NVd{$Xxna?#m9~zT_LMT6f~BK zjhT5P;6w)GnFjV3uI!FU}%&RVb>3z~rSkuDvNV{U67jT$B}H!w?q zIHk7(%pDbhJrcJJ(Ol{lF&1LeQo6MHQH+nay^`$}ioc*gML&Y0-|0=+OS6pKau{xO z)&{!@#ucb@oE)_WXZprPJRgy3>9EQpc?@oe)I9hO&SkghG0yu|f?gLYeFf#(with( zsHm!gv|?qceG&O#cO?MJQmrF1zaTJQH9_)n+pkGMDlEXus?!F;4Y=!&TNl6_9h_w4 z3Ll~$xSE6Eh|!(eaI*njw54N?5d#*)sH2n8Hz|FS(iht%rEgODVtTOgLc1w^uWk6A zgV=Q7#Um~d)6tOs;%tdtlZ35Fr7o8j?@C-qA^uxTvzUt5rkSg#v2;Rpz_xR72jjeD z+?u3vy%;*NmF!oc(V}}SE3&4n<_4r)3nj#Jp#|d=y9?4xp6?%L}mL4AR)>qK?NR_!3#Nl?D-;8w6qERl|R?5TU92fYS%>UPm1kdi?3_$Ws#r$P{e+q9=B-YSOx?a+$T z);tI7s0xTl-kE}{qxyApJO7oX-yrLrLC_Ww%aa5tXgy#FSoU}N|lXMQADt3F|}Z}n+-&@ zTLrzJ1&bQ3pZSIhjqCjn|-b`D6xXCXlaT(!~MMrwW#(M0H9`= zO2a=Zj?g(1@_$|cHhzbG!4ty>KW75^c(0qMmgA0FryUm*911GlWmL`?({ytT+zQ>(ThuBYx^#;M3hj@6|FcgVYtmYt-n=b(Mm@qpEK z1G_o+v{M6phk}b(kZYQtoK%5;+WuC`dwo3N?{I6Xc83!)9`bA2SnIHAakawQZx~V> z=Pubr2j6WqK#Y3{0V3~LdEas0w`EW@cqJ?4xRf``e@P(+j_QApRMTn2=ja4+T3lzu z?Z;SCollPHT8>PregCTI8fQcW1mnV%)MNiYd+*vExoxEj=kxpuEII3yl&DJGwv(CZ z$w`(hwLOZv)jBQNK69L$G>Sx3AtDKe0Hv;s=fA%T8vqHiNCKcrm$r#~h+9Q&;<~Y~ z&t7gx)M2unDg-Pgnkp1%?}lvljv5>>)W5iQp6%60nGJ?*B+)Q&KT9@f59sV|3-{v$ z_Q%i^cj1%KX7SSma~=Z!*I(4;%A)8Gbz_>&THLvfA0Qa~6GMU-f%=Y5{Rq>VB2x8w z1@m!d0aEz~TvRcK75-v#M!yH|P5?!#x*6qQ&!Gk^Bx3^6EJ{k{*a>ssfYr$NM2%dI z(Hr{v>UE=vnRvy@RU8sn(v?>SL2y+BOyr+s7d#sQe8pD;nZfEg9`gLI*JI1U6vt*c zzSAb6&)0NO5Oli6Sw<2IJkeFuP~P1_;ApKpv=~XwlMu1b(VB6AQXH*mRv}Sk1{QOW zXq`E|i-M0MiWTnnS1YVb&eS#ioZAa%)K!i&vw;ax*E^KR16qxGh)%+)USeGjF*T-X zc^{CXP^+>anxGFZLYY}%XsYJfn%$w8p*yJEe=B7k2zcXKvT~BNsvkmFcEr-WU@7GW zD?sm(odMz{rL&|%ALRYlr%2#pMT8`RvNBx|C!*NH6kZusV$B-K{VJm&^j?2oLCHbn z?~)Z7$e{XBSKpCa;d^~Omzm(s*g*fvYic=u_~9a~3Qgyl-mxNy?`W(7qBuH`WDi|^ z_0*7qYxKGGy}LUa-)Gn+O+yYF!MJHmG9gcQ;THc7;PZ#*HB~q>@?Q$YJzdaDV_7Y& z1#(i9*MK}%#+t&3PzV+P!ob8DahjHiz!_mBPd3hN^i)gZcONI@qdFA+_j2`0^L~bK z;~Lh?D~!)LEbHWo__(^PE5sM_kwiKlHc!eG9mHOEk|N7>$yXl~*a{9*Lp$y2PT6VA z<7X{JTz3~Pj!90k7>c>nyVOZrO~=kwK^GKxUez}(p8NWvD6nLZsbqDg{0UtmoVl5q zw+=Fi2CDH<^{%anXwns3*Sb-0GW}V$sX4&wFSO=LZwSCtr~fEz zjn6qYwzM{=rnj3RdY!LTL}~-@8Ra+r#XG(^ecgPudFZ}5eU0>A0~Duj%VwWxbC9H| z24tBw?^{M<6_MJ76H|V(i=rUAFqRtZXbU8M!%FAoyVF?9T1C31`787~<7GkWFs)_t zQ%;&v+VNJH0KL^ij?ijVsPWa^*=5uCy6gSn?0}cGw{6XJQhji1Z;lHA+FsbU1;}Uf zsu^5s)54~7>y6c>Jztt2^dpTMSk=fd56NxlSpi$#U)IKiEMDEgV=jSoC^5|#;IV%24R7) zVpCC>V3#*d*}&)M?DggQ*QY1fug_i~^A&0f^>cJ>l?fQ6YGoNIEUdbZN1EN^tgiP2 zpuP^9)_F!nT_#jz4kRqoc~_FMw%xC&ifql)ha3_uY4rm5iKnZ^M<=~NR@m=#uOM$Nbtdlq$K6|5Qg_pzB zRW!H(J=WLYaW$6X_peXR-oBov@h;dE$>N;R%$)$;Di&&9v%}vEEhV%$W2Y2Vfoa06 z`4uc@30rlSnGBem&lK+Q4A11O?@rfpSEz5!l&MHBC#W7}rDH(xcb`oAXEqTJAe>gS z^&3s*niphN!Lu)ELR=7<_2sUu+YN)HF<+{ul1)g=Wi1OV4U%knKiv7{n} zW_4A=e3|E|!^4PG?H&~guoHb?1m zAg0-kk8@t>UpTRDtsU%~o!v+x*l>Tn$)S2Bs@ReaJ+qA*dv3$^^O^}yv&IhiKjjgp z{>=aU>h$Wo!TB?!{?>3!-6QCJS5fyNmp@FxZe{Xljq{UItj{P1c)2hk>u#;eBAQYn z)J(CWg--wTopvOj)IGmaiGVxkx2E)`gf>xnQY2Qs;&YgqncUu0h#rgH^v-O6^dDh-PMdnwc>i~a6E%+)yR=I-*CVKVW{;S4 zxG=UHDVW2Z4NthG#R6wsE?(1Tw69&l`{+PKxii-G!BU>oF!frzsZyO>{dpk&DD3et z6I^2emp}l$p!PsjkxeZ#a&NSLzO4YMH12joJ@B8zN$j=l?)# za$V@)`t%a1BK80F`xhXaeewD4UpTkG(`6rxvT+5)hWj`)T>jUci9zF{$w4qvapb^d z)xOlsTP|{Sw>SqIB;HMt&%f}eH!!CvSa@(w<;m5m z!I=0}e@-xT7QL1=3-Nefe0|k2%E-SMH)qq8IedTgxH<2u(`C!S8F^qstOa}9(5U4k zK@A;``tT1s0qBYSc5)`v?D)9X9@S&_AhYZzOBJCB!24J5j`0=CGpB+d3wg!J%Y|_6 z1Ip9dozG|Y?Zh%Y)8o4DHIjE#@ABuGoyEU&fofB9!|>E$k5e=6vai0PiEP5!1j2J1 zIb{Fc;bPT)Qhxy;qMa~hpcEb)d}>~6=gap@pO2okJ-wzdbj}Q3KtN*s)6PG7@H^p$ zz^rHIbe)-$`(0|aek`Zjh4*GEYbIDWGKuT5>V8YUk;eWt|6&*b>{OpFxB$>OpC%Mos#SAi0b`l?K$V5JTkI&D^|qk zXZJqdtPpps2nDsdY`oTrebT@A1Y>)h;3qz%R}fUus=c<{I=jy8q4dwLqdjnRom2;p zwmQ0sd1|Tpdg2(7o~` zcFL^GaPQ5q3MPLa{#=vI3zBkGK`2S&da}%}Q>1}Sj*u#ylj7U~_AFUd%#G!onfQ4v=5AKV`u=JyP$%rKu!p^6t>kt@>1<89b4shQq6I;*2CEvu=MD1R4NJ=zU7VO2}3- zp93jZih`4)SY@@_h+Ech(EV5KlYEQ%uXLV{6EFf&(PFN7C23aq2iymcB9(-9&# zTB94XnE`+Crm5;67-P;E7PwJ7c3cVP(`vR&`eVK4s#H?XRLZ(xu7z4%{vflAS*9pe z#4;~cs&1Nqu7-EMm1ZeVEQ#d@LW&;@jJu8llgvA)@PqQYSv^wU0VGri$>SvR3w5_> zn!;FCeA=2uYg2GuQw^C>wU??*&`4M1M3lK-ELzVWmQq~Y5CfNplR3JS zlNmtM;K{0rRktegS#n4#cQ~-_|NeZwuWsayoMLY}!Nql&5*yCBDh(u+3%RslA$KO6 zw40Veu(#>9ZexqQjVSTfj1ts*pk~{lm5oN1CrShAQ*`#-0+>u2GIt>;#i^3hluZ8$y1M5Fbo*Q0OpDj1Z-5*3r4qqq9D9kDD}3iq5PrKmE(n^*U!lLLb^MYn^;~op11}YGEO)0i%6_U{}@rLtX=jLU62i;HzpQ z_O6lWN3P$Mg0-ts;~JVsz-U>4B)bPC%cu&WRo4A&_02Z|&c}TV)fqeU$>sUZY%LZ| z*Bz|Y*;0yh4t>bYbPXZ0{W3meo;-iVK+5N>tzYk3=cMp|ukrGZVaE&sLHR^!aZfh+4&*a%c(CiXpkrD|s4EMr2|(LPee%7bga zt4k1sU@JJQu)M&*V(j?h?Z~=v#*__ix+oPLGiy9rlXOhMa<%WimMdlehwch01X0MY zq)5k%Y>&pMK2B^hW*br-L8K>%V#uIXwK+uSayYp-<6F%vdo~%lrz7A}E4NH8cJ9 z=O48w<5hdAuYqzUuc${p?Bmtyk;8okTJ<<@+jI1u1%56l%oU86xu7?+9^UlsW^{rEKZ} zlvB5Y2@_G=8m_(T^k+k@eahw|iVffrGW%m{PCS6cn&a26am13?;8p+I3#r{lnnQ$n z?*aQ)FqBA{o)rcayW=wfL_hx$tyx*{xeaXe68@&FYU&ORu}BJ(5X=R7`2wXhE2Ze< z{ko-Y{r=0q10JSmg{fHEQLp+O=c@Xm*0h2mfS{xe>|RynwHZoeF3~`(P49+Gum|Li zVfsmcrV%7Z1w8DhhIkSDN68i&;SW~#zt!_ilsfarEmZKqacmbqu0g>EUi6i)Rs}1a zpel{Afwjh12Q-_g!(1_)ySpgP`1I#XQ|!4++feHAz0&OF>qY zi{M)8>ZRs}<}_PDomrHYiJ-Yh29uf5ilDyJZC4hy{2|yqMe+oxiV@%vJurPiBohFh z1vxGx#|1Xa;-nd|G{yW-d(|++^eNUaZ}9>r)im1CSi9QDf@C;zdeEDuKX?VPyUf&0 zQ-%5icd*tMzQWNB$zt>!H~To=WH{BeH1dL}g7zdf^qqvOcs1oRP)KA3by5k5yPCa{ z2V%y5$E5@{%+I*bEze0oZzE#FQ`wPS4eHhjmbx`84U|f)(*$=(6&e6#DsUoMlv^M- zHQ<^XO0HnGyP9i$xQ^!N4L;=D@LueXCw-D7b=wK^^`srJVO)oyn`xzX$>4=$MG; zI3oG_Sa<8$O;^e?Dp(N)+PQy%B9;$INK*SUhs7{`rfq{u!(+TZ~%1yUnO^oKg?ihG!)Oc-HTf zGT-16MgX|4+Q}oFkn?xms^^t@zNvkhKUyV>?ol4)+iHWMjK#y=ovDCPTdlLshpLaV zD-mOb1-Zjv62`R|VqFeVMcwEPb8>l(zEN~{S1GArLP^VKEX6di*uPbq&hF@CMHDHj z&SjBzb`AbsO6^)}yi`UJnzdJuWQyVJjt3}y8eCZDJd5Qp2yaA!YHF&MlCKv_$EPg_ zx?a=h=F;+4u|obWv;I_F&OWT5{qC+V4L!`uP_xOkbsJvksggtx=A1>;-{A>Hzxq0j z;X2*j@IZpP*PU-Rf)@TTx9)Hsx2B$@oefEC#o(g5*Nrl}#@ncTaFvhELy)n>AR`a! z8tbj4x6AFiPYxv8KdLuROR$5_RC2}eQ!bg`Pxo@BuXkCMT7ePjZ`yqa%qVAhnP7*f z+^&p#U(b!|!!F!;V@t*Lrbu?AJUVw~T~*GzYMhg1J0o%j8IC>~jqMCYC(+If#=fd? z0g**7e*fi{eRbx#>&UsMw7<^WJyH?fsfXLCgkCJPqt0Al>fpl^lJoN11mH>-vYQI(ZOFo1zKJ>4o;fh#kITx z#l0{ann(1E>rY(t?Kq>Wjq?mJj8PyRZ|qg}^{@e`JLqVZnRJc$nC9<-$f-|=^&9rU0VcoJ=395@68Pm+UWY1`t0CrzK?wDq3# zBB>~+fTzjuT2DIcdF3dsxF6*_Ez%8FcKjDt?OrA zQ9WRTf=+WYs5jnSwcOj)pN&GHJ=eqT?a8aXJFm7YSlK6g)(%#lT(HAKe+(BaZy*vI zLnd$=FE1=x=z33zX;+8zR$7KN@*@_4q`7c!pveRKi}%2e zblZGiy=H7p>oUdJOmYbD#cH39pWmi+bIp;-)q+I@qbsD0mKptrhl*MuKUU(y19-WB z?#MY)rN&yEC1SbvjOiO*544&;!$holX0`>*hqMyEE+MPBrqa|*m1>HUgxz_V)z_pU zRmgoI$EpD)76hfVC|IGra~>wydb>dMlGKn%q13xV2eVueVNJJ>@Q5>&xF`SH#4D>( zjhe?U$Qs{LRu(|rhvc4qRbKmO!^+BeP(lh%HM=}`;B$0QzYI!!%#77@Mm|z5!spT~ zu_?szh$8SU&!vp;y)&h=d7SLGnxgRS75sD`L0IFba3v+`RI5oC9%`S6FkFR}BsAKb zpM{BqRY-|^8GVI0iP2k};gzzZ99&&~_10bBB`+A*gwD@8f)lFyP<`ZLciF_Pu?JuJ zJ0ATG^Q6ti>{HHh8^lHhiWrP7-ew=SX?(MrZu$j))I+%+V|9IP1}o6>qm%xSy{rGr zW^_u+>-~BAmx2DUjJzk3*WgQ1Ty%O{8f(7wJlI7GmRON?3>9UDUP8^?oD^UT>6nJH zO2(BB;!MyPUM^`y#Rf$<#|xTJv6&+Xa#WAfI#8=GMp4SH8G?IUz7r)Sml6)#&;?5p z6|t@Ux_y9#RO6h**Cfpo+y&j!m?Z1TwxBAokO~t7tgsjf^H^h8+x;58AF|3etAd0N|Ro?k!(tjk2G9f(NWLS}%ky{GkfybD0y2@rbi)V7D9DimyF~eCr zYwU|2FNa%xkc3YLXK8Du&fp&lZOrSM88rtELx$ep{k+;w_{qTlP>}enlzj54>csgf zW7VHueUoK=vwJTH1o=A5XHfv;5mAcx>Yq+!bJsUy{}pnR$1qiXKRM=5A3hpMk; zWrBdf#BhWbr9f1G+do<}#-#uU3j|-irA!_tS65l4fQIDet*cy_t|<_}nkeNcbpdNx zD`b><`H@O2S%GH21>z;tJG>)O^>T)5(K(r`Vr)2CTU|iTK#GY8qOB|bt#MDxQVKwl_@Tq!yF#RgHKWo6fvS{JNbsTtJnHl1K( zHUy|1IF99U+*6b4g0(R5H)U$@4`E(YEC8)iW%LvU;W^8IF8uPk9@l?3d#y+w@WXlo ztm$fP)*lx{L-%n}@0($9EfE=P1Dol6b>| z-ly1Bd+n@_`v4Ty4O{CknYoTE;8m~<#P5Zcg~BF}%#ej}3KA9rSvS=ee+1BRWq*Q; z{%naZu>LCE!$2~b*$pC$5YF=iRW(-vMyW=tKOuqryUYAbrbGNOu3=*U6fgDUpVO4id+29vBe$$FElH_3XvgPUZ% z?y*g>-X!ZyvR-fdCCYk%AGlx9Ic1>?Hk$sRY|QOw4-itd3)yRKn&wg|;9Y6y;Tp`a zI(?$R*@~c-vzISk`0Vh|l&X+~D&HMBvux7NN7X90d>Fp_!f(6vd6n+%z0_A_<$h|o zx9argh3hQX9wi-Vm=b}oXt*S3N{*_C1rG+VQ_qYSHAc*2f6LuBAMCw@v^_Sv_YuLI znBY)70+te0Aj;)FQkR1q95HKw4#<2pM{!A1q$eu#7z=W!=D{m$E|nrtQDth20@8*7 z*1d!pAP@>r&8r8XI~B?+KYTv@)s!|b2u<*QuebNSSMwE;st-GndJa4c`|#a+pNiey zS8H3xEt5p9jB*ohci7)n&~VYsbvCDU5|x)4JfB`fPcF_>8ZSZDEN2N@ZS3_?ahNpC zlK@)+M!Z~Tok#Aqi`Jq~p0lAgSyO!5WKHpHlQpHUP1cmjnlf2aCTmK6FD7fsGqk2m zp0i2T8*G!TH_3YKHpzOEtT)MeldRX@i%HgdhO*wHdd_^i=C=^DZG*RmkH=%E;|A$L zK4Y=+cva0_4vUD%s5#lIhRrAln z;6-%tF~Led262y7%&dDMMI;D0FIx;GKIqhvh>4jvGlz|%lT3jJPc|7N{%S3Il^$8; z6^4zL(A5+#9Y*m#ve@J|a2H@A@+f9A|EoPb5(*YSIOU7kkV!YCYWipk^lJ!5=eO60 z1w(2&!|v8HZb)l^xE!dI9{l+%nkOTd4A9oCYyP1laV47USpp=^Es6rU*gQ-xnC`iQSREg9igcfFoG{S!^yfH201s`VZhBT38&|@vF_#u(eLNj3~@0n=LBCk84h4P&64cl zL9t%v*og2jO-}`hOo4~mSP@vz7%>!Jm7Sq!MYnf|R=qXBl(SVE6e0lcFM5mPfJL8t z2aFJS9?U!Mh!J4Oth$&iv*( zEsqq#b0`N21^}O5DACVQ=EAARnt8jC@-u$pv zS-G-_SHV%v6IuZsQqqO>H3n_|QC5v~aMoL;R`lDnyqVC3P+w_`e4Y`N3=mcaz;37f zcjdiLRv20+EfVXJ8HJlTUsx$E0?&lOUB!aIOl%LzqsQld6z+k8 zs8ymr==CfpDif4qm(@iWE%A!w`z`4|eM0**o&YQGk*ay?S9%d-+l0vJ7DS64A}Ud1 zy7l(}Yk<3wb(SQz9&|UN*xk|mm*~0n@11uln`%1}oPzPyDk%f&o4zhyn+ zj7ZYuw1~<%I(Vw5J*?tsbjmrM8kSULaD&3&phusUy_1@Pp(o?4l?7w}tf2nV2J16p z`i4AV!nJS7Pw4aVz482TlHVQ%jph99^u(P7-?AjS%eck`sVzqde+eIC1{Ic+Nt50h zOry{2qR-qFHSS^Bm7Ymwo|6IGm4?dz`&SNTE5Li2P!8%3Dm5uI*EIv~c+P6~L9RHZ zaDvX{9&$+$v*JGri^h=|HTY#;RB&aVV5UcESSVi(GjkuYC%0g83aziSt% z-Tn~8s;xXR*jf^OV%tOVH<>MHC9WI}1@<{bjca1rC9^SSm=IqgFtLtgmWhC^AC=6q zPf!9c|6};Ax7F*5O*gg#1S4feGO#qM3r$}Wh^l7`8FS-PwstLVza<+mvV5~rrIoyQ zeWssU!fJ(Ck++B|0_p|9S`rHF7~pYgE8|KM3^?sxz3+whzHphX+LA@_1ukhZiuAsif!>f)nOX z+`q-vk5~45Hi#GH0JA+y!Db+hH-+)a7t;ss4D`+pASgh{mE|iPsuNdx>J!u3hjd$J zhg(>XiAUSu{vtp9jW|8Fv50~&T~(O$l~uDHKlM$k)JuL$55Zyz;;3rWfOgb#demQL z)JuYe(#}=>gk!C6LDuZ^AG2L6ZQ(7Ox%4hx{o-x<|KH}(s)nZ^nc@+p%TwRa{o?Kx*y-5No5< z2ztv+51CR3VTTd3unSoL2N^!-05Ajd!%cv#1~CR}(olbwgZx=2f#j|o;b>T9Tz`(=C|m}@!!@*< z6@0&~qZJVcd>$^R7z=&8w|p!PQ)b#2LD?wW01BxCzng@v9o9BXXEd+UR<>Shh zjaIY#zr1xH0q*|}cL4dcW`T5m7v$k3yJR>D%r==OCt>k|E*M06GQ=YD-1Br5B2?VS zi)FqgVRZgRi#CyFHe(aaNTn-#2Uc(z#uo`ohzCl+n1$c3MtD<7kZ|k6FT_7i!{4SR zC%^uh5QLE3F zW!hN4kZ}=+M-}rne@8D5qe5WUV*3Em3F6GO(gxKqYkD7^F8}Q#{&KgjX6+TmqdRG5 z$>AU73=q8mq$X2dZmGBCORVs#?xOwAaTUM9MKJG<$*9I;-)Ndj$YF-(t** zVWQ+=Izxk)nXx~q;Q%@9t*e9SN)Nn3x@cAi;T`sIHA~!`M#6NQYpXG7d+c1*Eym-; zS(Vm@A{~wyQr=%Ah?6N!PpBt53DcepFcGP$4&5$bepyuQwS*@LoPwY1IXYQ1)XpRw zmVln40d*fSr4 zIWJUl?5wb~3RlYGyk%qp(VL1R1bMa0H~h5dk`OL?NpF>EHifQ!7&cvyaL?l8H*2-& zp$!6Of8!fpQTB~<8U=1O>fy0y7Q1 zT8gEZ#Qc~IX`4TwYk39^G(6bD2~|vhbU-o<$4@LrhTn{zX0wJ*QgM~4OFxpbJA&zV z-XFp7IKFbU2}y=;b9E<4dWQ_IoR7&xT|rR-jPN7*8PPRy#~)O6Us~z9FZcK_P0Twm zxSZY+Fk1iZEDIMMiPy%jrZgl@IyzMzKa5LpNX{yIBG(vNVe0NAekipdc55V8+(CKK z%(U11sgV;Ic4PexX`(nsjBRaYqKK{Y0lCoiV# zOg7-yY2W;_s5$W!U}x9jezG|wmaYceaCF7m<&B9$h`fxbTZQaS;S|to3s-7&XgI@0 z9!e@-KR&Aa-e&JW4MNeNdisO&dDO}~4fo?@cY6@I-uv^^3htXe==*tmD;vt2?)&+C zd%L?kYP;j(=>7Iy`*>T5*T~o{|MPyfD|-K4nlTDba*lLl(PlD1lRWoZ+&lOG+^Vx=eu3fYl7`XYI>6ugB zv%7wxKST?-Q#R>_z1f$}V*c-x#58$cnSLk&W#*JO`Q-0FK$RN7k9!|cN@Xu)jJsMp zg(pNP2it&QNF}giN2g(h1#+WwyJI^@g~)|0R!$Dl2`K&j%e97|^&ajB+rDX(cyw&x zIJg!o#I2lyYn=U_yVTFjfaG@58!k1*oOlsK_+x+R8 z2Z}`;4T|D?#@*g$Scm4O5Mz1$%seR45D@V~n#PDNGoPXi$&i~LO_DwRYCv+V2}9?> zgAd9aP}0X&YPakg`N%s{_5f*@5oEO2MedDjSA{WB460GIEd`Zd?ihH8an%UpnkV06 zrH3xfn1T)-G$Cu#N*;LGLeyfK*vg`qe2_N);L!bHply}CPyaYqlg$LOQ3)JPT^C6u z0X9=;AN zYj2+SU@!Rj9`eS-yi6envT-5M#2bs=7IGFSh+1nFoM&;-pa=H%7$gXNWG0f4_rS7a zZO2Dc+oh|TV*|Uw!sjEXbbhU~BWTiP;yH zr^dy6>FZu?T>s30k`6t)46fE?chp5O)3|fFH;qf+WZ7$$DS{-{OcX1GaT$pjO7m)R z@zE#n7D(zO2tLIwLI~(a@X#aVgu8}0NkPyE40#6h4$qzJ+OJpJhe6U<>Yks1LKGjAx2EQ(H=qf_w)v0GEnV92^h^YN;~8BoBx1KD{c;9 z>DZ5>4>VY&anXpJdcaJV8we9hvD+kn*vwx*3pe!dg7h zuUksr<*S<|BHQvYhGIit*T}^+95Pgmsh7(KK>-aNnDv+(Rkp0Gxq7RQ^4@gB^)>AI z8gU7x)#N`%wzs!-jO%QTa!tt%m-)_5rl?^>Pu!|IHufrjlCOuoXi~w~I=o0O6QMj| zut_x6UnDi`^dH*^5Q~EJmP^*4jg_L%oGvu}r8i6u$qXX%gi?EfI_8*!1uP8I{)aQejPL)$2IBV-Rq*0a1 zrYrZSq7(+3W7G@gl#!m zCP_;Y$!y4a+80DpQ>K<0={}@DWn?yT7J+wx!;{$UO3*V$4aj0)125LR%3^h@rxXoP zf*w<^Doww@0N97kz3az~G5dVqh6Ii+>6G6Z>o0!~ZE%xCQJjBcl&4XeykOjS`rYUQ zJ$!E>rC)xwU_z~t;c8ivyko7qAe?dAV?AmGfX7L`PpoUHWu(XCj6M*c)He!EQCz}4 zsi*1TS4F93sKz~AQ!UO`4V(glde7KDW00g8F};x`es8KmX__r95nX`aC8fokY{4gA z7eJLi{(9zg%>!bdHHHx%=?odCqQin~L}*A51XR#=M62SD{FuVT5^S&!jxceUXYLO^ z9u2$1AaN$TE|^*3N(VR-Y20|73SZ2lSSc*(u&N>3L7Eyksv5%^xJnz=W;h(3fw|F- zzg#_#>~e#}rse(zcpbqF`N`735M8`*aqtw~W8-J-${1vK z@T-8SBmA0AhhLjal7{jQ`7na2YOF#ud!@Lo)|BV!%X%?8f6?9 z>drTG>mh#O5_Vk0;0vnz(kpLf{T*@k`_16_#+UomzU1eE^;p&$LnTIi2D;@o6R8EC zIn5+FyOLhHtxr8F5}i;qDQ)>L321+Pm;Rf*fNl6^Yz9-BZZbu)CvMh#S^imhy^?mB zRc}{>uYBQLcBMf%I7^d}93{Q#M#6uE4V746w}I_dAe~7jOf-t?vT({8w%R~BB}0~lFjLtLOk#{oq;cjE=7i~c6q709XJBW& zQoo>C!sg+uFn`ajye9wT5{AN>ER|Kf8qtu=I> zWn!flA;Z?Tm%u=?RU7+j@YX^n&sMH+pD}U%Js7;f-+Yy_%UTmhLRy_CqBT~a+2;S0ZG|%+r43E@)n5@1PfyE@d zA&EV-=}Zk$Y6-rU^IGNsv{M$>Rgf`FM8vdQl_v{inJ^lhF-PBC=q|9ZbiWvi+vvv-hM3kaHz?4*i!p&Ip zEI;38w`3Y-L5?{bBrjy&RKpy;0wNe?eKACR0YY*_en)Vb?#Cf!4&JhW`#XW{2K>HG0{^*4 zpF{icdIMeU!Il=>FC==}5(jG2HYBAAu zku67vT4>Bpzh6!PVUb23#3zb}yIH^j<+&i{=}D*_9y@pY=f<+H_Se9V(j2H23xA+2@f!O( ztic1g%>|KIH%RG2T3uG*qhOh8JSkD{L-=WeFit z{oR8!ZSrk?QW^C&H6yCRy}$^hxT$a{2b_3`BtlKwS>hiuN@;A1!D#ue@nl@&#;7{{ z$GLZY4}A2L2_$;BkR7--Wsd2wGqoe}U9gDkNh(#EiunPZjOHjHlpAs4qTRNM8bBfh z`qvY-(MKaUIr@yM4i>jsTq~faB28?Tz8J2uKQ$j8U&}JhBmgfzAyZNYnMoGn{WcV< zfjt1&qv*Pv*XK09GND0CS_$e-tq#chHSleg_t|IyHl)kC-msmcuCTU}0+6#5L2U-` zR_Q3B@2^W5_1<3rTU{A%Ehp(M|H%(*{n)uW}dMS{kRPeEv9 zr5serJI552ZfW~kUeaz<eSr2^wPz4*zMJzZ3-=-+yjBRveGH{Ehpxe>F(8OpVwoM&3`>(5@i;}4!wH%Sd4Xww+zygN_H3d*smN007DmOJknd|84qAOi_)hk= zQ}fVH0K|yWihmTT#TwX|LI_>Qj%=XS*r0)&kb%wW%!{R)S|WP3v$-@JcOz;QYGhpn z70av6d8j-78To>Lp`sX(%vST*zi_4JSV-ui_vo=pu30!Hqk)W;QXdom&>oP)K6h!F zrq!#)JX9r zBbK_NdmGsB&y5eO=c*v!k3W001?MPCi{FTp3(26<$fTq0sXn6GsV(4p^1H(WGgHP}KvVK65EcT#_N!0-6D;~j^ zBbf)!3g4=@JbpP5Di)GF?-jt3d;07?dl>K`?S0jwl!*$VAlU zANFj9RRT$Vbs%>wrK43sdhA@dvr zWegN=h7Ynyh=_y)Xa#J7zb|mCy)I$BN*`RcP-ZInAh0CU#eXM4*gf1o?_YU91IAnz>wWl=vmK_>`dI5LERJNE| z01{mLUP`7cVG-;cXdfSxiJC-o6}JtP;u`=~&q|97(l)PXBWV_K$M1mVpZ=KK`j}5| zKP-LjPTIYOY$;u*YYM>#gX+O^-)qK6Nf}u&r}FRFJWolg=j6e2Ef8cWs@7{Xa)I>~ zR;<&vez8hmM2~{78&Hs@flU3H6&$ysD3L9#qhxIYEc&+?w;YK}{}Iu} z!ALa7fJZvukqtku5|7LC?=vpcyRjbH#K=^s3sY)~;U)8Tct!{BDE0-YCvFLv*Q;rJ zIfakWU{nRrk_9+Yz98PhOtEVl{$~Lbt*E%OH8Z_Iv5k&+>=;Md!`4KcP8Y+=>*J0; zdK#xnZ#zLwM}<*bP$4SNMiUMrD^TL4bQ*(F|Lk}s92#$z{}JW zx=yGmE`QljL?#?E^rOioDvivK6Ufe`l&U_wxVE5LJz)*Y!jlXx(n1g@1K=QloFk|~ z#VyaLMj5MNguFJFTx=%7=Fm}eI9Xq@cLAL{tKyuWjroUmeFn;;v@lnjJ0Xlg=9JTN<71-4~F6ZC)4HI@eM78)Pl0XV`Ik zE@B>%;8ZG~kKz$Nn5o#$a|OsE;2CRis}{zkjO~X-BsmTTsYpr;k0}m<=(UN6X%f_n zhboDmTXgH4%Ie`t+zUr9!+MqoS)BMHM17Aj(Gb&FhvH zzft_^QpBNNiDD5;Ibuq&qs5i}b#B4WhgMZ`R;=0wj8=Y&;@zX*BrYwn!B^I4&EI*+_Z9L%RZB!%&@U7XZcGv~~BYv+RaH-cCrj*U(> z4da1?cSR#(;&&Elqtyngu0aE>#CWsIx!_|4TT z7Z&DjANW(nZ6uA1o#SiTEQ+Ae9F-Qk3RUX-Kai{I&Sa#bntE0|wqXBW`SU}{ChHaX z?l717QkEvyvT;^V>z<5MMK^oP_;hER^$k7%Y>_3APB)##2iWlz z$#!(wg-bwyWi{d~|K+M|2JtlP@Oi77+<$PRq!AG|+iYeQsAZ}eP>)#w zI4)BNjcseAu^r5n=k>GbcAkU@3r7t>`3D;hZ4&JgfEpeL&WcK~jZ*cB&&{648#d7@ zW=%r{7_LFK5YkJ7Euf--ZRF*I_w;*+g`~Zp1(>689#c1>%Kr41$ym@-(mp-+ z%J|3LtiI5$7nI(3xGs6G`kK8QK|C+;5iW#UmJ{OT!|NUdP5$VCzTakd0afmVo zK~qf4}bU!HXdi*d`V4Jm$pvIoP#GwD=!r{u;0uXQ2%Hcv9$wP z4=$grEb8?!_%1?0i^k6sXjt{_c3i?JKcWG6+VaD<_gJP&`PTk22YE(a=boVHZIY#v z7sW&)PdDobFeDj6EIK&qU0k@=u*!+pM!;v&zQ83wBmO}B0f?p=xrGqfZiZSvOuH{G{J`+0YL+u(KThz%X5P`8&yxH4Jqm@rHn=|MOq%1N(42!*MQY9!9f;nMz9wtm_Eo{BM$ zyYr3rrN$ef;`jkhfguvPsuMor;5hvmQ;kNsm1*w}^=DkLqr#V&?y(NnH-|H;hr=ls zy>a2CXcw2ripM%c^=?e_%N4ArGjDxnHLVj_!L4MN0h2U^0H?!}N^oB==&ulYRx&96 zN9xUvx37=$_x1kgex^4C&Q56Be<6>vr-Ww|`oegoc{AspHYnB^ZIia;|+B zKNjJ!N~sfvOB<+uG`j{ug8J}OqV#ff-Y^wv8*qCag%_Qjl4!-`b!&MRazZVR)Ds#! z{ZaxBwcAMBqu8vWTHXq2Gh%!?R^OkE6;#!Jt*1ur&QzsZiSTa-#5@4ztHUqI1FuWL zdd~5-mEYOR9RPj(k;&@2v_Lz4x7=M!{-16UGCO`ZIO7izOY&pUpuN@ndcPEvbrTnc zD1f`3FNw$>l|g#VI$J7+cH(rf%JaL~o5L7Lbj^?Cp3bB3(c{|ZGT0Rb_o_jJhG>yf z<}NhV0`sB2h=WvwmrgI|HzLPsi^M8wp{v;%)4mM>--;6okR3)092B4jh%#dKx4Efg zp_Dd=-+K9b?0_gOJlAx9E;7?CqAp;ZSGpcM3jgAca1H}d+=MTClOiiXx(Hy1s(Tk8 zW_pHxmtd!p-Pm_9yDwuAxu*)*!;dv_4TST)$_oB@sA)RS`~J-Kex9>8Q)cP47zG~{ zbH_xa;hkt0n+f53!dgjt_4J$XKSiVcR{g(zrRom+^t#;@-2LSGeh=U1e11pjc7NWx z(tSTgqUnBLPonjD+`Xaoeyq~@2J3LWp87sj>LzRL?yJ&We^o#4^2D=bPJe@*ESbGS zoG9rSViYmX+J3|4Dcb6OPr^>`tDZI;1{B{ssdExZW>D0I0iGs6Kgw!%@(>JL z2{*KF8bv0MGEn%ny**w*QbmGU*q&gGp4yTN*2(24I#)2N5iO0De>&6*XrMqwlT1T3MA=jmHxk`ob~%_q8om zASMI26?xBpbdWDaE&vitQz2<}l;Ll~#C6o$_lt$9Op(H-G2cGy0&^RRq#Dl^eNU*d zj5I9iuwi?@$Er*-R9{z9ebK9F_C2}-0+2IS>Ecjao))c zS%VH8IQW;$<=%UbMZZ?N@~ZL-6hnoroz=SCJ{R)tbo_#v&!IqI}lkzN_{X%B!(D4I4w;VJEqU)>N`k&p% z-I3fvD)%k4O}%+x>cn?kO0gjoj4xB+P61?9f9)FV&apK zw=P1vD(NXDak+_Q_DWKW3oi6}b})H3>!^QlR~K$Gdbg;k!cy5OdJc+i=aMis)hkjErT?KQYkX zJbe_H2CD(S;&-@FI>45kniqG@D1&k91D_YG-&A@BLYgOWU2qV0>qSpzcY3)6Y}d{w zdo@ibRwKE+pniTEtrAaTM{hKR*T0_J?6go1bxjd?&ZWV7vdrY=N@sJ|@td_`#uyGk zd80kzVAoa1!>y)^2J8yv3<%LCj0O!jPE#abe4O-%U!7IAEX8Cj@obpuC|CK?CRW7w z&(Z+Gvy>|TT(wVKJftlG%8&)8-xLFh$=Jsbl_y$t$23lN#w4Yt11p%YY@V599H_8r zXfdT)fS@_p+w8F;pMi6l45lipjFW-;zFo;S{?@c(f4=@_U+3$pU-!4MTQB?P;-2g= zUN1Kn7u)OIM(d82ZqGLr_vhJYmDGP4yK%h6cYRlq#ShjvrHC+s{7>{^n@xeByeUnV zX**N(WG0xVkZAbh7379d-8q~i5vZ)5PK*R9!>8=w>4M?`z11};X|JK~#}(so5$*D9 zi4wBJWy)<@{tuU?z@#wm$Dp|UO|2bF38&1r1^LY-F>&#_l6%-t5yg4+(-GwYO~cXH zG@%b9ucNZN2t45DbJQLw|g*>nE>kDs!q+ZikXIv(N(B#XUF_1{HoMB_ovUrLO zj1`^lFp&p|%OE$S%>lcc*K?PD<#~_wAJR$ZU8~M!%INeslT434MSX=0I@hzzACb-~ z2ky`~?SCgWs-=}@-|%bE)ouRP!S&zs^;n&b)1lqv`hiJTH|P)fP4CTIB5$Tq zwV$^lmnwAz6mshEBPzq_PC4SY(7(Z zT~77^rd~6Hb;cp3ORy{l?jl%mOo6+9b=b_D8`VUSjE))5Afnl?{q-Jm!9G;j0Ab(y zT9f(;>DFe`3&C%@Q5yL`xPn`~%zLL1!c3?>P9 zmpB3}F5W3pbcto@r?K&uD!jwaBJA#dm1$za1H9zAkD?{Ex;;5X^cc+j=M)`sm%G zw^!>L5^Lw9FM8bQ>5e(mG+KC0B6<0hf6!0|`ia*~)s|`7cvRwnk(hd8gJA`-4-vjF8lwpBO$ORxSr&DjcP;@6Z&*I+Z%p zp1)4;`mNnE_qKJSaI|ZYs{7*e?bR!1qV+SXI0*bOOxwpumvd=Iq_V~G zu1^6EXf69GMUwf!)K#`LLw(Tx)HKm!$s*B%sa!Od@y8K7`xP|HtWsYNznN;PXgn>3 z5-DNQ6mHu-j01xw@tPbd7a}pe71AQ43)f*J?~*!DpFVHM5ZK*7xDcW1l&8upw7F#> zzLvVh(TP@yNl--0>RNyftJ&gYQiU2sX>qy&GaWNRFmSZ*7qnr^5akmc03AK;`yoNH z&7R_5HyBrkLcC??jtD^F&&zjzo7*<3hu8tYrb|;xPRwn+S)3ja$>MxMn6MYnuzjxI z&-`z<n`mbjoqH>HGrDiK^IOuu^wv`9<^+g3bSs%BM@odEoyxiVmQ++az zHcx1cS%vnfM09xKeTohjC|vDY8F+LgCJxdO*7RRe)N_LUJX~@xi_yj-oR>#A23h?( z8Ci2TykZ+~3lbIS4|NK4S%b=#O+R>}gHI#EgiqFt7t)P!u#NQR;|Q(}TRwTrkKMFl zd(FJ7zzRDf$U{(R`}(uk2K&a-dWooLIn$1L0G0R`oU+2$vXv_d)-#I2Wp<*9td;IK zQ8^;7^K|2{4QL#r3aGML6c$FOT&17vV2V7%d?Q5Ix4q^30Z8x)q3kHnyn@uaZb-}g#(Pv-{|VXXo{OU%Okrq{ zSA+D?6#_}kWD}jIC9u+tH~I04c}S}4nk>@uV$c_pKCg2#{Uu=m~07atS1aaNJByj{rO-0iFB=NarpLoL2 zByoD5FSOZZQ4(+qRR&4vtwg2rF7wTaAdwuJGwjX;4A3 zH1N;uIubT75ad;p_?YRH9NfJP+SneP{n^tCA4ry(xdrC$!7yr$&Pk;IB+l5}`kXRTOQjlgzXeH&Bvv9H~**WDOhwI}C2k{omQhuKkR)JKj> zpU^yio9;2;z_WLX5w%R%e=!nnKaC_bzs?we?kqp>0%ejHcACq4M+Vra#@k|bnG5?A zA=v;cGPH9gCK#}Q!5yx7cMf-s069XJ>1vwD2+1`#Lp1S z3D^A6K=PV+@Yg~;o+xUg+BzCJ(9t=t+)i;z67(e+9q})_<-IC!Q4L*2pL5o9Oz?o! zx)EE@tUblK$ay-2A9TZT)QF-pDrxwW=Pqew{rRwuKIH+1M;#_|6T9!`cL_EW3Xwmw z$i~IGmG4lTt2h*~^=NqAKq{`F5Ep2meSRSe`ZmV1d2-;5UikCA4u55Bj>o61n#ZTH z88s6#-5vhAHs>azLjLNN+9E)_w>fSBcIyP zwu-Aet=8F1J@R675)j`YWn(>PaeMlTj{Yzg9iR59Q3TI~kVl|ORaM`J_dgzU>p)ri zNqT_BSI{Lr@`dsSPY$)9xMv<`5+Z4?B(``ib(cGBD{<65JrZwOHUHPQrOakcp80sI zo0qL|+Ln>u_PIs}F`%?(O>X-jxht2g7|QO~ez^PQn*8I6OKz2$;JXCObE%&R4sr=Nq}heUYEzuS)sfk};xI^|e%jrQ$BM_#wp@Aq{{a~No+i@RyT zs*G*f@<1)Ae2og(&yo*EeLoXjsn|4uT+Jw4sb(Fa0-0V-pxkmmPOaX7V^WG%9&?ZKDutL=GIe`c3hU=shvAbhhnPfr4GFIe zH?!9`OoSZVd^r%jS(uzh$X9@-9$Y8g_#S7kZ|(EVy#H1+DVq$$iE2?>v35z~h*DFI z%N6??^-%ya24Xg-ISlvMd;#KmPTZbwP#pfNRxG~%LE1#Fy~7zYdsbBe#-yUJ1|=|h zF%cH-L76YtmihPo2MX6{`ZbM>i*v|A$m zsd|x`cyw3oMQ)%fk6a9ot zFurka(w?C4g?Ymv<5)awP`q0YmhUIunP((z|B%UxvYvW{^nrdLD%=PXc5|cJ{!pIk z;c}pl8F`Y??)W!BSWm~Lk1Oik=lWg9Y+Nf0gUfoT!T&QX!E?!kDKziI^>{X9%k)}t zGri_z{t;mH%|nlvptuT`_{%TK+J5;~N2!|HNpRwiKq7$ZAQv9Xx%BA1a0ouZ-e3e} zguvp6y+FLc94|h`e#wNFCL#Z9z^5ud#J^`qWlZGS&WL8Vv3%m@c7#iiWv@kJBPncE zJvge*guZSn%?fbsQMq z3pOL|dEGRWFe4qah%-*jLOv&SZ|xclW)eE)w;_J(H}xhMhl}ZsZP~v1XLCYu7E0) z7{b2$ICs9A^2lI_vSLJgN`x{YQk!8jdkNgk%*wc8jpZv$%UXt3)gDxQm6oCW7?{3S{6jS5%!}s=NO593M^mM9N`6By+YGlDG&b+O8szoz9bMB_ zC{X#9kt`miKuw6#R>M=gY8~s)<9f=YWun~X!7CC8%VGX_1NHt=Dw=)LyR&s`uhsTs zVtEW}`m~FvdP6%0Z{*)Yg5@L(!twe5zoUaQds~NzsV5^Ar3>yC& z-(Y|l&{~u?2|KV3ww9!UoVqBy?8p&I_u_uC&wWimG1h?Z1#7GTtTN+MO%xqPlL|RK zwqu9IP&T&m+PZChwT0|k zWS&lV&rqs^s>-ie06iul?46q_%hi&p>x-)L+n#cp1WH*{;p`PNR|%zX7VeRQ$_g5 zC&?aPaG~v9S;tKhb@NNA#d^&3*;fXnD(x62A-rT14gHGKukSuNTAz2XaCL7E(`?9< ztCNSQ->#n_Jq1Ttq2Ud2up95AS-6?7ufKonD7A_7eYg+NL$m(xQb~CLm7daieEL zpzNVcOX11wx;u6E>+v!T_x};zHHVmjbgsHL{o+JoDmurR%C!mj`|3l+*H&GG9kV5% zb^9g;tz*Yls~oDUPpJV+bQ!}Uf82%og2OKSeNC`CoKRaW{gJZf$H06_*MsVLfXxz*(us{wH=2N_3sMm>P}e5LnZSlczWFui2otvss&3=bACie#V2 z(LYOn<&J1wr9|gOe9!T>UQ#S{y953Kg5Yd?7Pbr?;>e+JDyGT`Mt3M`JttBDc{y`kh7mtjDV%P2%|!K7 ztFdWY>kJs(6bSxvHu(S?8#BJ_2Gk8_6IJx4{;!OI7e7X|$vSAL!94zFD2EQqCkQE1 z=sKdij9G&gc8!1QB*+Y@!H5Fn+*B@(m92p@(b?9M68DIx+c1a_tH$7UYGuRS?5SYI zDp>;3Nvd+0=JzaWM2WsNMGsH64;i-7N`Y_;(}l{zEpn0;Zup=^vv%vBl+P^B40+{B z6-q|dMof<=9{rq*+}fLeczQUG;98dM1CaggZ-SPMQw)XM^W+NP?XJ?oWz?Zd^>Kw0F zs`k?;IWrb;`M2BsfIBW!;C&*t@WSb@MNFdWyEkX9HPKw9Zk?{1r=ClIp7E}IljvLW z{fhN}(!p^Y)li+9^QL5;RcjnUJD^Fs>mN=wv9f`escc4(vqqf3K>O)cc@bT5(~h#0 zjS@R$8u&6_kba;*I=AlfK0Yf@9E#^fYuUoKcT|uEr2KFbRPPGHfA0w1Jcp1q9@_m) zvtHOV-l)}TAWe|!zjD1DKxhkqwx84JWiSyScl5iP2^4AT6nFbcXT00?*sOJP0xg+m zb75NkBi-moN+i7ulh;>aTG5a2{So|tuILTwoQc&F!F)+EJJiInLFZ4J`U zIsoe9x3Y3HGZ(uUF{OSzKe1p|&a7KrbaJM>e}+(d{#+Ap}sj{QpUbhM!`KP3lZ7)b|M7c4Y`gM6(0J?uZd+&{Omk?wZ?GLDw!LPlJ& z*9|JC1;ybPTw_!0Y2irUS5QN+BofC)+e)g{&g<)-`hOA9f8`~0BEn|v!N0*jh=Ps92BeP z56>#A1k+IyW$xbdFVt-xYO=QqTzCbavjp9b&mmV~9&=&@RV9gsP=DTvmq>@tu@%Xp zV{lI3RCbd%Is$)8P9 zPL5P+v9i;(Mg2!KOJyywSN%v0XkjXJfhbkZbcPm=(|{t_-Y>FbL>GGA(&*dyGwpIk z(jKm@&9n2RJctA0kNd22Ngx+Y;+WFW%bnfZ zeTEjZzlV4}M03=r`Y^NWVqv0-u<>Op?UQ#b{iRyE=0EN-RK3^b7)SPoaPARMnw6p8 z9V2$XW$4KKh3l4!)}=d87&02;tz>!LD3lnG5+3lHes`f=L=7}ssX#|%#$Wxgq#oS0!oLv6r(=FVm99%tVvtbR) zdAvIeb@!T5g6#AjA0T+51>kxEX;K-zEYWmk`By`BBvNGIjw~wv?D%%W z)Dq#c5)-b(H!Ob+w9`4-Q}8>17kW(!Sbv@x@5-ynFUNt-b;gE@`ry~{S}?1vKaBp4 zd5w3wbSffGk#xo)rI%cbN`}jO?n+A2oBX-yv|k8!f2E!-L_qJ|Tn}#T#HcsBy3U<1 z#|wLyZKj-l-|w-&1m&k(2C$}-)X_(`5&1fgm}rVmQ*B*xMsnyNZ$!I_b=xQPg}w($ zjd#kISD`|1!?@da@3o1T1n6nBn3um@u(vZS2)im29ZJy9JXLat%ob5@a(o$Lyzlu& zef#YBehk^+^>F@caz=E>E_McaUa4;2XL9xPq;uHo^o=K6jxRk_wzmIZ;=|xYm=hON zI?fjGL$~FS`pkZMFT@=!CQ$8HsT?eB&<_#FbX@%6m5 z!YO#={c(Mfm7g5uRLkt&cAl#~YbLLPh%)&-zX}uEA6oo*{29Lbm}Cipkwu|6SgM?3v3EkDR!jV~KXi6> z0)@YXO3UNId7JU32^w*l@m!X@9FgcLp6z3&PcUD-hl-lG49)gWuCp1zj8-U#k^z6F zrYdW>N@EPMPP3j1#SY_%vKF|`8thI)tr%J7@2a0KS`T1H0k9rN1B{) z3im4IZ3KD`>=KHZ{WlG<(v=E8uqot;*RHftoYn2@u*gm(!4+7nJigKG#F$UF?fTZ# z7Ga@9Bu{?qR)_Xh!`tS|;l-`VA$e-{#OQ%jh!kDzY?V2Ay&GgT2y}zW0M{5b3zgUX zj<`~fw>#D(aI7Iv1GfrM#cQR7BG=^V5uuSm#COIIXdg0YOJ-e|q7aUg{BKT&xsiJ- zJ+-$M)JMWKIo@SP_CdJnZ6Gp)8oJOlKS7`=Elu^OFq__9QlWq1fG_rugZ;Ojw@dL# zoJs{@wUxxIZQF5XAd(;^6uMvp)BMZJQPd468g;vq3jRMh=FFRI94TW5!UCdpSm z;BO);r%0DO*6dL{7zHFn)eRc5wX{_=^O}7K=bH*fBy@X=H8kTdX0o|Go-flSN1sf3 zJ`QlbL-tSVf_sQ(-s;u6@lw^X?3Vk!NdH`Bg98Z3OI_n#D!L%*9zWgM(z{jdzfRWz z(%%)6T&lO9b+fOgR?IF8Yl4^>R0}jjwLwlv$FxBjR0BD;ME|GlPp$AR;W(ygvc)|!ADDdB%lG_zv76YH6024c*z~YV z1WP&WS3-f{Qkj^JCfXGB8e^5au2uDC?W{bV9d^0#6}tQUHW;%rZSduea7~Oy*|~Ai z-tb;M(Fa-HON>}zCrtc~3%1CK64_?r-wBj@&6K5(d>#Z}XiuGdVsbIa6yUMf(=&l6 zLmo)h9W<5SP6nSGHPpZHD+u4$e{3-_nox|Wgc6QKqT@)I>vM)$r**6Z`jIFolKhc! zMcJ`b&03HNbUx`;zOF$B`WiyDQl@16cKxYhL{bVV?V?w7oFI%?L(2L3B0&4Sr|&wY z0I0Oy!rM#bfv{EHW@AcB-`K3fF^<^#a@bAdFURbxX zP0ge0U6sh?(5ngT(0S1r0%9XW;5qW7OsyN!d&HjBScG=p=z(Tpkb9v)%EA6CXXg8% zVfyK!AfzkOGrZdWh@>1WZFENEmE?-kizNvLo zr=4xFG{XurZZs89M%d;%C;{POR<+`1r#?wB-*5rfhJN*VrM$Axyi+fAFs9``Ufhj# z+_9Xe)FOYZKU>56j+DyEM&22}wW)6K?r*3A3t)}j0E?k5HCh{sP3H=3+dM8kzQ#%v z6K*i%>GBt}h6mxHX(M!0=`aRm*{ zMc?x5CxwK5C2^D<;_d1|dAD(I3S}?!KCa^p6x2bwo zMjYn@0@kZqgSAbNEc8SfgFnNT-Jww}B~mRaL-d-V@O481Iq3i~8}B1H8)~-)U*ts6 zX_wckCiI<71+c3DU$`GdPq$J6luf#A^~4&@v{Ibe^-uHaU@PCD$igrzp6Sk{C#%zEO`3V4aQd_>^2|3&hK4meZtS;-C;dOdCO8 z!qaGB-O~j$4_#VErx92#Q3kZXYJ=Li$kgOLtn|18)9L|y2di_Mc#m-&?eiF6UFsdv zXGmOO|E>rw6k16az?a$Poh%UsGmK+KxDV+^SOhG+*CQ8S*)&>e)0}~);y&Jkx8X#+ z)e^a6T=^SV8_8U~AF9U%B7v0L>FRUx4v%XO=ue%2A)3@Ay{uRXKo`#(sTjr|E|BcA z?lDRFQd$+$n%Y1^wN1#Wft1H<6>J4^;rvV_Ux47wvcYiXw1g{7bVnZU${V0*Pcs9$RqgKD|cvDA#u7lBc=tljRb0I?9hs z?S`*f_K}_Unw0;9(ubYBoOB0X3aj=T-;y2sS4>p7u7Xl%q?c52yCW!-Crt|$Ef+-V z0x$C`FeuqOkI19qM0M`{7O41-kLabyX%0$Cc1kLypUi5ew6-p{0?QcE?EWcq876fR zK5D;AK10k}euEdw`j9z`lsJtX1=?iKddO3ZZ$0z_6T=P_-zQ>>6bzmGGA!J^fcAc|5SI;0?wYqM1TciUB7M$Yeb6 zw!G{$l*}nK*d=tG>Q%trt`}Qx6?RHmKaX?SkMo(;OfD1+7$O`YCImqP%mM%f6a(T< z4vtJEVy6pMBp81mpT4fEAr#YIh+wZPz-L4Ve@|%j24;Y#-*8tb#dh$&E;?efIYGHp zRFp9wDW*u*x!yWH1(-c8$9&b?GM79p%f4E^1*}jfgdSExI~p9|qkTO(n&%kXJAhY| z50MsEa7!qv`k;}D(AAT#Rurqo@KD&7T=m9U3WC)w7Rd-|QRF`y8-k6i{tA9OV3@8b z8*&u0g1oTlL$Ts%cS;Nfwp6!dD2Bl`Asm4Ryz`ra5xaA%$Z&p|cL1%(cBRO3FLqq| zLVvY~=o-WMRevWG@8H>xMH3-=v-yyQbQKpzk$!_aF|u=mS-p%|+MeO~sThEc;mn0W zsR=D08TpuY1marO_zI7^Qn_Kxw&eb%NT&54mDRjh7W#0aNc3z-rio!>5*Cqqbcj0p zezU|lz#9AfvBdkf#KA#=-hzq{l>?wrWPX(iXvk=s;1UFgVgxv%3SOXi|aTr(ko5hUq=_QqsEU zKwqDyrx)OEhnB*ImBXCr&v7}gJ)t$e)dHzonsP_2R=wRM5Udl85Vu=2Rw^#-HMp%K zt-7@8JY<$yy|_Z4((LP~;Ij#&WTg#&(TJtm$qLus&Xycc)T87Jr)g+&eX6tD5{fZ6 z6=DV!gM;Aq+ugp_8cb%gwGtrOzAs&TJ_l~#H(94`k0*wMEAR(bm!GjUw;`!qVsu-B zV5mrIyf|*U_(gP^-X!2IfibbE)BG7;rgZ`4mZ_FLJh-Far#yyBpQBiWn_}dyW`|3i zH-3N8mv?nU$z2&Ja^|NPD1M+VN&iml{7!uTuFLqJwf`OG5pJq!p)dD}G{-GizYrNI zedfa~SpRL7Pk(nvezXZSf#pSz5)mMxt#R|UM1^{XoV*~uTa&Y&C7c{)_#df2@xYa~ zA^6=G;H}Xz#9C4Xa3=R*PwYk;*>3!PGISd-X!M0S`1D3z2bD1okXo8NvWp<77x?w2 zu2TA@Txs!R#33x0@&6iV0Odh;(ucJg6fG9=)h9YF`m#^iKRG%=-gq8#Z2De9Obe`J;ZoiTv_+cJNvOlL^f^&~T?OoaUI z1pdI{?qf!-jt8?ltzttfDgecCfZmUI+Xcb12!UEmM7Z69@E|e{Gi+VEGH>N;S7r71y z3XES_3v(||$$yzb3q2G*gsb)4Cq&x#K*IX)P&KeLgu18yuma%k$x;b1+>lnu&jAC>vAW%GUe^iavl(9uYGlf z$4wN1o~W!CC?8&Xt&zagNF7niC<0ypbD1pkSoem~kEeaPgw_p4H}yW)QGnHL!eq2TIYM;)e6vc55xnhMUek~-aMwrGfX;!{v5`$$(WY1B5m32D0453=x z!}ZU5ZJ&K{pMGGbKpuIpq75LS@=Aeaj7RLK&Kx--ySn%v0VAz$XkbUYiV0z|eGc0K_Ep7HqN(&WiIYDr2m%iISX1muk^?I9i zPkgRZ#0EN3l+F9>jT8>!1ROq!oF*TiaSifrUx*EVM9U(R31KfIAeOO%8mPLdnl5V1G99GpV z;7zeO)1d+1QQZDrn~|O0z|jQQMYTls zx4ID?^ySb35E6Ft_7bR8@E$0f|7lW8V_N=*Ma7das{>=?dBnesJk#FA-+G9hz$+Ru zwZXl*D(LFE$(q~lX6c{X=2_nm@%S*cA(hz#_AyIrBd?Awc} z$HuJS&8vXhs$$O6dndJw)XOFM_~nTueWzo?)Ejr|=IS|Ozx#IyQ%_6w+f&+(*7qQK zp$uMA=(9u>Q%RF&q$x2_8f#cbZAKUp0%^h9I&5uMcd9}KM!nra}&yu zrY&6!507)!BkdNv5$zUIQYYeyM*Z7!pP&uE8py>Y=y1hhj^_gvpn`t@zk`QsBiE_u zpT1rq*vi+$CRQTS7&OTG@}jS8=7o1>5MCXCzp?yyMgG%muqM1c0sjm;Jp%t^2l9zW zcwK1u9qozg%_;u<{&(_sJi0gM!s>tTdY?mhWt{!*lNy-Y5nhoNysdk4J_3OI(^xb< zwz}$3C1?K2ETAC=eL#XeUN29(ud_BgUS0n*sp=RUQH%Kj(*+^5ooJ%mG%>2Mh(%4? zZKi8NrR+zQbK`9Bj1`1r{wMaA&zmvcD1QH0Op|`<2_-BumvfE=T3?_G)PkTQE#t66 z$+MzAfec{j`F~{=-_`X0*USQY+duudw5D;kh)WhQC+hxu5eY?M2~wQX({=yZV<>Ov z;%iFiHoh-p=~$?^85K!Ew6AW$9~b40;Z9+v5xk1NQQsz}WGs9Y6`IWuP#+g);o&3x zEzUgiTT^Kg)(_-(diimrigNU zfdS63lcr4V(2Q`zgmHag=#{{goQ>Bg%P zGHzcZRu9cy1BmNmHK2N@tw9<1+T2`neF5xz3FNn-J;h+V@B~x;Q1vHosLLL*{7R*P zc)%K^1-@J@KT&jSf(nMzRk`pjT|o+poV&uJG92lv;c*G2=VlIr(}|}$%852TEL5CL zH(?ZsW@%~j{b2nTTK$(=0($v&16r-MeV#9Wxn;#rpqlq%3-{-i6Zj>HF_YSDI%Vk| z1VZIsXkFD6XKN?2>NQTEEfl7zwDyPNw#OfUar1{1oK*-G4s`~Q)9C*%$%R(17Sc(O zh_2qFs8mrB(9YGHHt!}mK7q$gx|>|pyJ`2qHysnW`eq&UwJKbl#p-dXl_lvsUU%5hROO-gd8TN?c=C4KEP$s3*1{sRgdHTHd#NiPe{xJ>7w^sg?)=`!3aU8U!~kqwqv`!TLIE6szXw zdHQah;h6uiCXF0bIg!xVLm;YclGg$SO?Avo2kne@d?Iq1Dz!({-yXpWlFwtf@NAnA ze{X5a0&dzVCW{BjSS#74^6$AuZKBnz1p14c;bJ#&Txd-mht}T)GnQ&+qznt z(_+Hr=Q)SDs_o_-`i9)w^7y(u^l@j@X-h2*g}1^5WKV)U=)>OY>VMkRWl!*HPps3f zxs-^wQN1vGC(_>If5y7v9*)#<2}|tqisT&3s5AI584&9mz%YY?Y_7{}r-W|sl}N*YE34%&{T6;(Ebl0xTM&ye z9bYD8F}~*KymnVbMWGakC)u3EYaKl%cNH?I8ezk!rOX=EiP%FWBjcMR^r@bLQ)n)K z)@HtiF2;uf|6Xv<&<8!^>L+LI-XZW{OE0^o-UwX3i+tGTK-5^5j!i>)l!2*57|_-@9v> zC(pm*;>F~W#7goe`3L|Z^&e9Cg7VpCR^49+`=HcqHomjH<;AjhBrR`96{R0j4h^-# zj{>E`tqac5`egKt0V6*_lE`(zi$)pd1@*SM*ff$NmxWyyw!xlt&(G-c4xI_%#i5^d zcVL?8l+rN^EF$wZo|CI+-W7|MMK=fV#5*{GYdzcnzku3RJ?c&6403x}6Y&;32UX5G zkkpn`GLT92H|zPx`(bYJH?s2oy7$qsckn0l$`{f*F~ee4?n1dHOt#hokcs=g%huYD z<$1f8ipKmwS|l|R-(Fm0B9LQhZ~`}x++s{l_>JLk|4TggdLH5Zj^o=(PbBti69aXg z^x^X1A^v%}oLZ4xDge)ym=085)jnI%C_I9A+gM_?;U3QXu<$K(Lp`+RjaiVQ;`*cT zr(?=)f|UTKh=Qr_9jl$BM~#gLzje<|pNPAZlNq`obf93|GRhoBh7aWGy)5!N4FH zV3NuJ`u4G^%ot|7{}bzo?{wiPg%S9QPvgF}ZINY&>Tt4p4`-${oCQH~Yc^Q4FgmPX z{{i@Vi)F`|G0?%f5D*;tl0V`*Mmwwe$p(uDS{o|<(>2)xsB(?X*1Hm6VBtI_H*hdj4BXH~yo$%K2 zL6s_GDh9nv%lJH3T^C~VNMpnByl*FJY_q!8XZ3Z#*8udO{3(*6Vg{0VPJRE%vV)8T z<#n?`aNPLrLW-Y8E_3Kau;D5TiGq=x_Ju@eikG_Vo!Wr7#Yt!NIP7O9LSP#dtaIm9sZuheB^59EQ!-4ABoR=!N;o3Kj7N<2l zzml11>+_zRC%HOAmNPOlSe|1jkI`ZTZ}BFLlkYJdh==2m;gb|Xs@@|KaRG%MA`-CD zdBI%I83i}f+knewcD@k+g7xU^tBx$fv#*L>wt3yoROJ^v+Q_?3)?B+Jm4AKvU*?T) z8_D`^oVkDS!#w48!ZmV6TMlLkB<3v>MsAwNdoGsV_2Xhh{fFpq_2cO0=FfMgSi(5KuIlgnEzmEv8CJ~^eJ5t zyZ)Bas>s(Bg*`Qimu*?lCZc2`MXm{e(*sCQa2Qzvy@gNtLJ(1+x z+4R-xeMO!?G}7R)64&s|8qHy1pRWUcP%Q;c%^if^82#3U7wb;U2Mg8toABuEw_Pu|>d zeSQrT{}2KuOb!omgsHD{$UAQKNNOa8Z?VzS0Tofb*@$Qx=w&%pItkjJ=Ph(05YQu3 zPPMs|`ppxl4k#h-;7lU-@&?*!T#;`rsiId9gU!a397{rqP-oHm(TqLUOzi&WUJ5qz z`&Nd7GMqV2Ir*J$ho!(Cmqdu?0ml;cRqV1l-7*J*EbK9{@er|`rzZE z{BluZpw`VRYG!;HZZ9nMAw5x)gI|Sixy(Y0TXAXUF=EUvNgiVG5*8bIroSW2>2%YJ%SDT7nUy^sM`rjjg_(#lg-(bu&EH z7Wk4vv|L4ga%}-(?S?~^-s#Px<3%PJ81Iy#LtSc|Zm4Dyj+(Ycw#S(?p;2ao)>70s z42>0<$%v$$(T%767?rmwbqh0f7DWQal|nVes~2)mii2)peyvmFl4ybwDKkMfqCiR% zNWYVahgfWBBWV`9+N3u|ERsG=t{N6o;u;2(|6t{rLJzXIpAMI;o-k~?!Af<$TWvYg z7y#$>ajj3g(ta#wx6zJr@#h=sErO2K(=`Ag$1J5?MfTXEW37bQOY| z!4B)~a@Z(C@~ZxQA2$rrKF4ek0fWUv+V(d@qF@DVcKQ&T*US0k=TyZR!{@HzkZZPbzTMj0(7ufOt4xm0y%0b-Yq?TAK>7 z0jbo#k+YE`X^a6FO^m*|caJ@M8kl?64CZHVNC^Bwlj#~R5EXeeu4(Z{VZe4!xpfD* z^DOmd7i0wp$pJHBHTI^KUChX+ue)M22VVWWkayBo?2HSwG9;$RNR-Tor+XG-3{DfQ z%RU)X)Pub&TOo|mVIo#)YG-4m#x=Q3v$%|{ob8DFfn|^_itKN8=!eJACDu~JiRpEjDDMeb zr(47g$c)8cd ztGyF6TAOP;82&grGyUL7Is;c!oN?fM^wW59<>fY;uu+GIlP{^hdrF~%ja*vOL|N}A z#BsWxHYg;?ukQnZaJ>SYxH?L%mXz~^-Q1W9Bv!Lc8&ey=&Ss~nt~!$B*PN<3Nkz3D zMfuSD@lt&fE3#H)Rg$?;IP7sO7pXH47aw_sg!R0k7!(QvmuQ>VV|Q3vwh7kCC1)c* zuzSw{LCy!?7Q^>^pph`UJ?@Wz8y{Zcljc%nUFF5S*B~hLnIMTN81Nywq6+0{3>q=E z&R3LLViGAdJ$^^C!2zToTnca)qeUz1=7{7&cL6jhl*8mI5@Rsb#1x{`O$!o`d|Sz2 z`44{?)pcEE7IZGEh17hYsYQ_z^S5#I7byHH1M*n*BaX9hCeyv}qw%u^I`zIBt8i+}m!EtPN}AYeq(H7H^&5wK$g>4Ad3 zJOfkp)FrcY{2!0gQIyJn*^!#FAmRR|>c#DPVf?=hyjPAA zX-unx1L4Hs0Imp+iHm3C_><&u^s%q}3o!btL|o`m4A3*r+mg)6j+YEas`#HBmD zGH-u`ZM&bWg0%FeUzl6ebIYR53mHN)YX!(tWY19b2J6~slH`f7B(0;Gm^nyAt-3{_ z#0^}sFN{fQ@EXbLbuGc%>Fwj{C(M)W+FCIVXWcgVdx8J3{Lz#>*g6I#h(C%C=q$8h zpkC3tr)ugKE^>@m;Iaamw`43%{ZTN$+S#*wR{1WHYHDub zx#Fb}=6*)Utrl>d%(+oc5_iaK^QbMOfR}~&MY1e@h5~u}4Gy+-QSMLCHTI~!q`EbG zopZ!DF>zIbl@xe3spY*cZ7Xn@zodaSMf8%wG6LtGp~PSV<{jdH{=OW}nsK!5`uc z%ThE1gDGlE=MI9*%DnlB4CBSx79a&rw<+Inx-Y_UT9FLt4QsW;4Q49Esy3qmYn8zL z#wKTn7!c$=|p59ImT~*?<&w0=9Xi3NRvo^pw9ui z2=|oAzA4jVXo3A~FFih_ybGsEe!`E7a3ggr5~~~5*wo^gc2vmNZU5G>fEw2@?2qC0MWgL!r?LbP4f)rZ6?YmB^G_#cnlKb~ zWX7g6)wV>zNiX@(vOtHIPk;-k&}SXQmNEe&?hUJk(UOVPI?1r{PcH>^V0)$&U&FWSWk}MBODwy9++^|JrN~y&SzLH7ed)uZF^0T zA|Cv*^T6vItya*haW3*BQi~8l4VFsk)e~&KCUx&yezh}DJRP28hab_&T(9VG3YK_! zVQ*)uVmwwFZi$%O9(3kld>YM~d}0NXjCg|ST(ivMN@8_JG6Hq1cC$OM+1w0Cai{Rs zvix1=0P^L&_C8-4_l0o+rc9>{kTpW`P8_E?s4sDbm9KB=JtxgT@21l~e#aGR*h-Iw zuF^isCYe8q0!88CYSl61!E&s&|JE5szqzW!?q>$l+^V_NZg1PK00_4&t?PrcYu*Ve zDK$C24gh0>D))V9M#XS+Y(gP=-`Vn%$ozL*xK9ww=4&o7uOf+tl7q<1+5`aeT#!G^ z6hGG5!YLvtj*fU3ic+YKmKdgEf4CD#T8w72I%Dt;^~g-;bv(8w5mTN5F(9hds$P17 zHL1|2vMKhQVAvuWY zUF|fZ^yx0nrVheO!=@+*El=Z!evoIPG?%7h+J=?RG#Z4 zmBmmbBNRG=81&l>nh}U>q#l3R7Lp%Mr&qZYo5tt6oQ&3TrNTPXte{K_IR(@) z9D5A>XIBI79W-f%k1F6-7mUKRXD*~DmZ0&)@v57bK}y8lyauq>KVKG;Q}vdho|xaR z##fxS1}!FBlyP;Ci&Wkfl=)37);@j~Pl~gU_t!S1^*tqh!(gA;G7OztAuEe}c>|$Y^CZWEJOWVw z0=pb$LP2f>F0Nq$%An4gpHHpRPrLoSNb-=CM4qE%b0^Eu3-u`QguLg#Oo-880&jY8 zq5|q)`VQ6NVYc7WIyj<}ZuYj=F}> zb}Xy&&-1je6X&1p_*txd17m_*{j(|nQXhv-fKzP){@0uVK%sc^=W6C;9!e19h1QCf zZI5OuhVuRW5ZG>;S5gcdmnlxuY-!Wtmdhg-+5!KNQg#8#U+-#zv$hd}MMR?&H#l$L z@|P)9$j!}XENJl;cFHZ9*3auBh&=@sp|%a$9*;AzwhGZO%!Gq|#)jS5URihe!*k`A z!G-Q`O&NdhkBG68hZ>ZhrY(r4GMXJtl{{(%H-o$$wU-LXXiXdSRIe=*-$O|z#9 zdA?jc85mY(-`-1+6AgbOXpIXhFzHf#c2Q6kB;3g#KAdQ>pf~pZRTHbI6r}t>0Bw`k zTQ%ubFq%Bs#54<4nsVEU!$7Jn>aGA!etK?cv=1AHJnxGbFcx1FA`<@7tXohugp{am43cLZ5$(4iQ5HvI7unu!^8 z)vKSgnZ%Of>ebQ!bqSR9(1wJF7wnAu7kI-oX0WZPg@$3HMHCgl$}#b34f=cm@-KL{w>8u?JBRA!JKH!K8?gTjHx)0WWr;S1h^eHp~uzHro=oqAK7no?sL zdS90$H-L&j=|=n6MYB>bLIbe~Cz!)Je$MiYPLi=QiCUTxwR4nr-O>Ew=cZ1nJv40? zsA+{^^_q9_%onYzAm#QBvgbttbBhxY7hVI2l>sSJUKMGzN$q^o{Bpp6v($A>pN^Em z_@4GFy^qG%O4MSyB$Ufy7PT5Xp?`0dv;tJBAQst`Nn&L3E#t1T`KZDz&)<_HXiu}A zKyt~4Gcqj3eD?WQb2X4omk-&O@q;7loveIuQ8MIj(vK@tiRxcY+6# z9HZ=}pmkz*ng_WmXk0ZQw_Qp$;u!lSujJeF{jBOo4qHs)FBnecTDE*Oce^%Gw&qXe z)oaN6+Vqh+_g)hTCI~cN-N`GlO{hPS=%ykk9s}_vcdPr14wHs5w>-*{#TABDhsJ;x zHZ!J%KAfLsj2z<|JdKKS_y-dq!Qz53qHH+p!5}KV6-*jx@%dHy#J`)dw(^{`QHnK$Zu^uNil{T7uixc=8SvQxL4iaCWc^FKMk-i$Lpg#}Y zzJ&MBT)bOHl~sBZWZgbG%auOpq>RVLb_EK$H`}6K9I<$5)GcD6sU~@pTuVNQDwRn7 z6l9_(UriYk^6D909Z@jBal1VjZ;hfu&#FTxcm|sg1)owz(v(VtlJ#D_m!IUY4fGk+ z>@wQZI$i+d8Lnrn7JqJbB#EB4$%sK?LP=+yF@1A;fnn&TP>>3$yw#7D+sx^ql-^lV zyVim_?RHhe1z=mN(g~9{D+y7e+!bh9gvZ7eD+T9+tURN4vzH2FKT!*o&Lt6gS#%4k zKSjNzS2a{i;%#$9#ExhES+dy#+=u@s*%L1M8d4lxQIj0`*OM3oIu(`av~M$nsN`@>)anHj&9s^oD9S0=3+ce{AzX<Tc=i$`ob^_-T~|L!CH9fK7MH+0P>a2t>NUzELLkSIMH1vtE8+qP}nwr$(IW81cE z+qP|+cXqyaYw>gUPtxgh(p8;GDxGtlb1tu2O11eL`Zs%6!=X+_(~qTD(THrveP+T{ z)2W6rw`LwP#b2qz9p_sladT)bWbM|5+zb>;wL#{)GHv=?M7&>~-A_6;Yrm(uozj1- zN@*1{@B@_Cgk$kVf$F~x6T(Q;BHG(z{37mDIe_M2tGR6^o%&)dff&}oz}hfHTJtXh zP+ez9hQJrH?o15!F#PeP?NLrQr#E1TYCp*aLksj6D7N1?L2MTN!z+n?D%9HvHT|m} zF#x=kAD9CN&#p~rp4YCqgjs=LL50&H_bY)aGEB|4gF-GXmFsRdK&6E>Jz**b7IH z?m>Yx=e{^dKVNe=uR07266!zd6kg79m>ytSCvp5`-5Ck9mt4BWBPn#SJj5j~xH4_X z+H6Fz@VI!Lm#*`6)J}KLT|LBAAA_CWV^_su;?-@~>a&66x?TwG0@}w@x(*^W7@Oed zw{)U>=*I580o%$fy0SCe6ZF;$Ylg}U8vJeEwbx>p(P0z@!(+w5AMt^KAdIc-g42GL z!B}$M8IzRKJj*=pZH@yLd-fw-cGjJs;2=skWy7#qa9CLyAuANW%&};`)kEnm#9)Hx zXMT}i$`@=W8$1HWnTfVPXHcg;PMdt-k+?F-h-@YRSe581 z9J38Oi0#SkpG#>(ySvCOWef!M`9x(9K06*@;$Gubff-R?t-eScMAa{E^2kjgcG^n` zd(+;VZWF~v_fcbfY!Y(fU` z5|+^Kw4muP^cNn@N6Zf7?)qi>L^AZqpM&_-DM#<0?@e~(j2V`0G?SE_$0ZP93CE&w z+|ZARrMNGn9 z6Bava`M83fKTqwBE6C$X<@$gk=)s!sse0<*sO#VBL{zu$b~d2!K#ki&yoZ$oo{#x$EJ}U0 zDZGZceHRpmK5h37l2EAS0H=y~iUl@IIbT{JQRR;;^6gmNZz|y`iZTRfSt_0G$h>9E zaZOFlag32+q!WYgYOs*z2Re1>wvl%>70g%Bp|43dn)gRu0LEQ4je%7-8&a>CkuF`% zMN?rFVe{oCWxm$#pqs>Ss86^A6@EJM%kYqn++aT|LNTuLcpcTYMTyMAT>Sl>eC;J-M)Le!5XIy;g zsVE&n#mG!yVJ$6e&cZ94UXmI#1HNTVYH_=d>go1a_HOVx`+2-atmzRUm)cIAur8X? zNre7cqPMw$Byvcs+xVO4=+Ox$ALoNErE`5I8vmAD7MOXvv!dBTx$u91ZdI_08LfQ3 zpj$Cc(*Ve_7J_52N~K|R?f%Tn=E$ngZLB_+{K}4tm2KQbkd_yeCgt4AK?_Ziw`*-j zf3=O~T9QHcyxm4*JCq<_y$djpXo#1%oe(ilOHVH*7E*(|4Vavgs~e@##}`OP_;i%g z{|%9$=siTGtXF^%UE~U-Yioz%Kkcmpav+jCQRj1vr&T%_tjo6*=Ivqg(Z&+PnNH9x zm{XkHX*qeZ!5E~THk-wqekej!UhHmYjY<*w?xV; zN;m-p8RIzw4!$5|T^PUI%oO0L-Kx)X30VPUdl*bZ&Lsa65U&w#CsanTTvJvwVLp;! zV!fl_@N;>;S)Ocst)0<>e?{3rz9>EN0Vd5$wIrGxTNMz2@Cetze`7_9J;S=W{|6U`;>)bVAZh!j=GctBGSt-y< zAZ+nSr3HW;a`pBjQta*&O@@lA5amzt#2&hU<=ivh`WCzn^kH3=(9T~(@8#oXxo6(A zMr53{hx;?jj9OW+v1hB=rPCzN`9$hbxg{dJz3SHnR+KgQrosC7{%_TE)Lf>%ZY_Cr zWCi&<&g>eDf7$(4i9%?p#{Q^(#dCtS7vIjA9}B(YzI6BZ3C|v~AU=3tFZ8Ofi&-G~ zTH-i}wUrp3B?s?x%=qiniyQ#E(KwRG4cb6qk43{64#4Ox|ByOlX+{KU#sGHGiodP|w^l>GnGDgWz?%JclPQqJ${O&`DPuhL>=#{)uC7iK zyPxco9nIJ_3$TIHbQl4swT1nGFCWlZ|w`P5vqZ zArJ}HeK}l2#J2`7qlx|?Rs<~jqRN8%(R^eZp@iaAsC*P7nfO4)+n9{4}xSNH5l+ExIm{Qln4 z#g6JTcfbV^VFLER8dr*ym0fRSGK&v?+k;M3Nht*iN0Mhl!qiXS`4lS$fN;9}JS3pS zzjOcHK^r&D`o4ym_0!zlH^lx~Z!0hyWPpv1`*E=|oU1c;grAbe=CIdjq@#IUiM+Z^ z+0!o^>STC$SHpe3VkCmO-As1FZ1Ff>D=~@Or-?Mpq-jAf>g3wos%-ZEsk~*EeY)QK zd_9r8wsZl+^nLm8OJ5y~S1faiqDdFaAZDgY=Xw zveaV?(Dj& zOTCE1RijfIUjWq&HOs=)-%HKk47_d6-Mo9aG}E~iQhP?2S;i7D7Dx)X?&s%He~~*y zCm&``CyhZq3K2z~(cN6(gSVob5A?>GtHgG8Oq@gn`XTDQ8$aH38#h7NP?A z{rYdVdA-X}$^t&PLAthdER$WNrEVO8VU9ye6C{GiN;UaEIEI3w^Xd_+fXR9)Wh80d z1_lQ5bfztVG!AKiMrH9L&!gN09qbk4j%eD;+78oDTvoWi{DdBn#`@)daf$>};}jnM zB$QY54HqoK1VTTLr6&ak*;z`6-F99 zM|;o-p=hVI879y|5`Qu3i4~(C4Y8wchxN6z8zYi!fW{MAS0o8Qo$?^(@>Dt#I zPqQTzuQFj4+**4hKnC{boWDbw1YQia=Fz;MCoZHr_K+BGv)&+e0e-1deX3LcsNWMS z*aa=tITS{hg@!hm#jpvFU~QS%d&~+%0X#+otS5t2|CTe{cke?dy}^~2rKUJsI7&51 zxY0|#A*%vDvLU8*xpg;;9j_B;nS<+b{djoCng%9gtX#6ZKyGUTh}AdNvj$_xgGZXU zPGI{f`b`{iUzAPnauXfHqIo`9)yC86y>_^zBgY3>1&to$>l^`D<_(t6!l=6%%zXnY zMH>*YtzLFGx{rC^aCZ^y4^!evyZj%q&msS0F{9p0Dfr+$QG3<(J0P*h`oaE9iNgsD zAgnD{1x!xc72^i|Ndo_4)7|bBsuM`q?Nn_FQ_9W;M-Gq=joOp&#cpYq;LcMpA^Tak z0m+^OY#wc)+Gs{18yP+_iR)_1ypzTanA7hKm(CC_x-M*e+;}7%dv&M9B zO*P-%Q7UAE{s&@4%jQ*>(JH;PMk+$sPOb0wS}L1+%hbg-)#^fR@zHS>$fe8F6YI5v z0UP0Kdb#l7@&~+Y-)x{fcnp^r|QDB#L zE$w3Vab!E}e|j6fY~hE0K}RHmjtyBziHX}b6g8qvpPwt2DSG~$bXG{ww;J^{B4 z()Q{}T1pk=`vIDJw$o+YHI=fYRi`~Wjd4D5&jg^ayjg9eryO`G7(d+pDIHuJi9EMgw!}i7e-k~SSIbX*vs`(CW3+dvefctBDtpk_q`5Itr86O z6~cUZu**hn-V5~|0cpF3Z8zXA3QiF7YG?NkzKoW?dDPt3vZ%SP#@qJHoivg&h5#}` z4u;i?P_UVxxX6+K<{;DP-PBr7?0$OTuve3NEb47EYlxX^3j;UP(#V}O^)~}I(z0*Q ze!40`v?8mu^$8sZv(iO&YF#5Sf=bO!q*h2&wqUvjt2t5Wje{VIMY3bc=$fKd5N~5G z*J40V?qgDMj_r_aW0&YTM@9mZVnZ;R_Ab9X7mRQ0vK3DQqgsNAQzUTaYBTGE=2(>4 z%gh@^7VG@S)|cjR0D-F=P$zMNq0M7qhU|t*~GEn>;d0q=C>LK*kaB zD>)kU#AuF$QeLlUC2dxtFI+#z{cTrB44&7ObR8^?7|~>-Yi4UYdWYGYN-#;L(8Xs= z+lulGe37;5XfPkd6C6}3l8Y0F0!TfJzl1Vq4?NI_I~;)2RBWXd$Ou=bE$430Wr1Yy z33MBal9WiBI>0xa!pO|mQ58oQ_> zn~Ew`Nd6bF$*jB(kNE0vIcl;`nb1jvEIO{OcD>Trc>2w*I3@4nJ$-2FAtCvT)_c0`d zQ`QwT3}tm24EH5OJaTdEVR>=Sj0l9W)3guG&)u%aEv<_jP17+1LwqQ;E&=rm=8{KR zQIKx?db|lcpYs`5;cB<6;7Ql-FvSE+J7!ze3ER`Kn#oNle$V`=Jtm5bh83`xPS=g@ z#}K|B)nfl)R8zB|H~YFJDl9sWBbZ?2Bq93`-7Yce-6F{Xtf^clK}@d=vzaeHPH^w8 z@NUP#fEVKIDfB#GMI8}dzurUvh+bOi9D1XBC;5b3$Lp&&Sk8^)Xu=-leM6(Ta8hNrQm?-Un&a zq_s*T)j5bxZ4MN2>jbJH!P^ido+JU|vmv^J0AX$BXD{~_jYhbU9a}vJIgQ~0$J(GT z<%W_uB)9p#D5jxkRO84tF(C8&T$m&mE~R&WWjqV$^7@y*>4aS!m^ZW*9L^@OJTijkik}l zOUer?VLf6#uk%)mzH?^N+}nOuY2*?4f)lyuaQV8FBNS?#6_8FhB zg1^a<3k2eI*>_EI9rhgiw6ypZhJ6;7Jdwl^wUY39k@&0(e{zw7Dp=t)enrir1EwZ0(U#uA0y5K&QP2;GW)ykr=Auro+-0Wg? zufIK-h59GbuGUTK9?k-<@ji^&^i3)W>zRy!S_M1|hNljAFiNiB&VTn=zY<^R-^__h zjCrmpPU;#ME90@s6fM-s?!eKwYkJ*au6dg$Tt69&EHo7)(_|S!{&XuJ&i1~U&6!q` z+BK-ul;}DHCQTFXz3`M3wO?n$p{5h~Pf_bwJFrW$xkiLA+>Irm zFhUz)dZ}?LI!YE+C88|F8l*P}rq7^O5-6T}XZ0IENKB$BUDP5L-A>@Yu8%tSo)T7L zRm>MU7C{;{X_nG#qV7fQ5?hNu*9XZk%7w@EOf7kC+R7yIqjB7IwHH>oRl>*FU?@d* zZ|lkPz_|&n&y#ser2`r~WLLncl)kjvh+Oz7V#oov#`z|}w}BMd*N02ql{ApMI{mq> z2*Ebr$QDJynU*Y&gFe@0gwUUJ2~lK~k&o>4bD>FRspF~24M|=39Ni4ANrjb@bi2WT zx)F;0GG_-}MC|>$p(jLkucKO_|NjLMpgN>GWwt`Uku{Cvpdb-leW&Hlbau>)4fkmVnK`%0Oxxeddx-m7v-0gVBkgW)a8E~e@e5{o-eKAn<==n ziB*!#{Bez5y^=}~GAS!oBPK8j%{*m&v9Qc^G#06-_U%f3tC*k2+{($S_wDQ~1Ht5S zG|uZ5grt|iS!v~)2k#K}%l;;%-6Y1n0;9$@-LHI4a*cW|S}lUr89okB%LJ9Eg3_Pv zl`TbhJ*Mx`nqBz0E~B9|9ydAeJMa9_3D3aUU!Utod_N9PgG2vT?Y8AM>8m~6WM)|u z!=8AwP%*A4tyWGVpA#=TB@~8FRQ~jP6Ov5utQfxknndeRr1{*`=5`n@DWe2|YyGHI z!>O#hIuutik{)hTNVI;OHuLk0;wUFSF1XW{^ga;uZh?~HdxGT6$NnCVXA5;g?x3bW3SgEFuPmAyQkcQQI{zq zYyhHO^BS>3r9_{YD7Ciqr?hA=ceWT$1A@{*8t8rP>M*VSOR~i&hU>D7y1{e5I`Y8_ z6?d(9fHa`Y$io{j!JNE6RV>D*g-}z4L(o)=T3lv31-&5;lIeZU3Zm`8Ec5KZO`nKK z`F?1KR9RdJ1NGQZ1WEahX;DL+PAv@UyiZqq;qZN{Ukfu%+OH}OTB84uN;}NzM~zUD8_Pc`{^53avjEtqnP)Jcz90f?QGZ7dpUK*5=22EiGC#Ee1mYGHacx% znF55Qg`_3z`wgHE1yl>ebBH+c+ESV~9vA1luQ;a+OEP{IWpcJK-U)zEQ>#;Wn08R@ zQW*WbI<-ZWO$(1;m}x}tST>gg6ZAK3|G?qn~NF3tlD_ zE|ll5pvX#RN3HEYP($Kg*KxdPIT6IaF#+eJYMw2Em*LfsQIez^`gwzLi3|X;&6a_*AncUQ;d7E0$C+Ji)z^Ymt5|NYSemJ7gn)NcotT*Hh*K9 zbdSMZ{TZ{MPMQ~8yp4|b;6a29R>sl|%E)YKSB7#|Q}uL*GgZf$P+0g1i9by|oy{?D zb+_)YkZz!G6_dqeJ>M%dMG@qMzUt|-X|>TU&hAcqsd&06P4TLvg<*io{#zn8E^0uR zPN>|hjp#it>&=W7*uUANeJUaoZlBEXbd&k=!pq;m(PDawBue5G@aPI+I1cTuJLY3d z3&z8KvJ!}0e?Fa5guw7y8FpZ#g*%6~o6TsYHL%TxNYm)M~<92BVsykj2D{?ze!{R1%fbsIYQr^WO)*wE2Gq z;cS5P8#B-TmrAC04FLpJked_ikb90jFn*poQ!>rru(N5Hr7XjdNt-5tXN5E`;< zchkW53UmJ)YZ*tHY1^>jadHv7N< z`5@Fa+SQ42<@)E5h||Mc zvZkdP_KVlJBHFpahpw^iHvX0i?OeY!n%c_0(joOB81(cn88Bex=PP6EV|@%$-r^x? z@Z%qf8f`esO{Ahq#F;On{iq@hkttkD4dSd3f7@;5sp)^oGORF(Iwd23!K+b;+b1J{ z&d<0z!=mkr2Qc;Q3D3oiqSUY>gl2x&^hh?5CZRBn0Mjm&$0ZJS0Q0ny$1&eqhTYcA z9%CyP4f?RG2l1f{NAU(D+>A?kVy;{agV0{aaSpM;C^6Zr9%CB zCJP@4|MX}f1mi!=BPwx?>*HOc#(kc!9kDf>C(iSI?@5*;^2`8-(j&sTRk2^7QYNz$ zui>@DnnC@Fi6yE_DWyCmbbCn_eRd0z_HO7sM=QG)R*((2b%(z%gUI$*9@Lr zeAa((pMZaBFlJ6Y>RaE)#0Lgb(p!L(S$w@a>-{-h+q^MPVc|3vj%F{kY#io zmF||Ioet0m+ww=Do+}FpX09@`TXo}2XR4?`%)?ZdHN*Hf6e}9bj}?u3X~XOpB^q19 zipeu({$$=Xf5w2xbKuE@$-}ve9*x_bjT4PqIDe>S_Jp3owZM$Q9Pue7f+BZ-TwCHY z6i98$;*%HdnkEiZ5=*`rz+~l&#hZlyD&yF)!7M2AYJ7b6k`PVD41;f;aT$Vm6dBL< z0N{)5wM(9P`GcbCparGYK#+kNYBF;1Hl2jszL!Z4l5SPd)b<8LD8nDY=}cu>Z(Qjr z!!6|GAb|FjdYm}@4J2ph5apL-i}@j(7rv7=O`h z3$m=xb_QVGh^0{38NL;Add|k9-^G$S5M^bs7WHSgPPd=H&NWGD4GzF2qBn?8PB!X_ z!@?Er-g~K=wN7{OJ7~#DGjixNJ=H2AA_d!u)dkL|YCX7O9mJ3ML`toTg1xb(NlEy= z1VBb@qnvg}xTn>Afg}i2TQ&VaBpVKO$!_n3p(L$+n!)@LdRr-jnlKiN#)dUL`15c` zcyp1u@o#!o^hgmSNWR%&Va@D*NlG&TvTYraPrsSx;ThGM!y-P^W)gi=_j3%#{%6Q; zeHSWT%#njSf5QfV>{f%Ja-2E;)CRIuAhMProMaY60yEfnBttIS%`ROC6k{_0Fw%uc zn&-O}AgS{l;T6sN{WcuRCJ%YdXQA@p#?8u8&4l}_bFUPV4r}z=f(2Y55N|LR(*6Lp z6pyu?fE!7akN>2rncDGa<=fnO4)e^&SU7k)X>_4O9+GRM7Neuy1?v{cdp#wua|eN& zL!@i_ize(apcuaVCqaUt*bi>$i;%K=qD6>oFEB#_aU0g?16axT*CZaaBlOJ)GIm`F z+zGTdzSv$6C!hmtUs@b^@MG=uT;v1F^~qZ#H(;#hjFG(ajfyGP^*BQZ}SZdKRXJS15wuwJ7Eg25NK`jr%wCDVff z%j~y=7FT$2sjyd3Vzed~%L1_S+DH_col4UHQ%s!fLxUE_|OAIWg19yB&nsLv*5I%0-L zB^H=iizUAPH)q~ti8rdi1q1)g7(-Br6(ZJ=IjX<7SAYI}L&a!Vf7I_YHq^1ko9eh0 z)Um;2j45Ilc>Dhqm{Y_cTk5$N)N#w_`~S-!7JX5V_s;5iYqcQXLoQYaz0D@3UUVBP z%w2&R<`}6RrGaZ;Ejd0l>;I&7>uF{UsKY;WFN_?j0lSJPJ0e`fdP|R@oAIB_u6w^u zhuW!4T!8r zxVfN{bR88TX-w`d=wxHRt=%%DyxS0IE;&P)uL>mFMuJ_b{1pP(QHHRG=;q9jGIgWo zspnpl4NlZ_*H!+0O*~$NU*ug3^lZp`hmk5h(pLV^>V1ciHXdJ~WB}r6#tSRzV=pxIJpQ0PD5ra^0(#h1zBzN==(LmM7&V0-G-Vr08An zF|u%?OK10U9hIyrTF-VClynuEWHxHhYe9DMq2O2WE5zI!HrhEzg<>H&wU(`v2At() zUmHl59>gnHEk3Ij-sTinJITq8bfn^9Z;DC#$Kie6YC_VSWo2_D+X0m!UH>mZ_{hok zF$7hwewm9kHX@bHvD@X3e^zCCEdg2rm(dr8INgjWjSEqS7NFN`p#59S+0}}{V?*7k zkb&K$@DT)65;uxl#%KNKqL;$X!t)(fsPDTFFftrPed@`ougq>3-u$aBYAN2y;#bO>~R&ih%$o(ajw zFnTP-t|#Ed!Z}QSOVm4D5+%6-;@=v!?DkryptwA&PJv-&EZ=CG17rm<)g#)`56<`Z zVlL^ZA1~*}{{PN=?*IQPSdIGqlc{1#Jhdd82v2`N6HZof&)8ZT%7p^+e=0Dw`nR+G zSTdrARYN7WzY<4Hk-iaIV`a|q2+vM*UvoiLfa`^a3|*X}a8j%;3xQ6nQ0h6-SCVqS zG~Z!T7FVNi{Ewx4OU={{-3JS&iREI`As0N_90;s@)eOTq&-QV^ln22Y?u>Jq^>D7m zOXkzC4JpH`uo6)?iH-U6hc#z5n9`L<@_UvjJ#661lKrIKP05x3`?8Cf$dkL*gkXUx zMVUm6ibkgqPD@gud3h^3bxhEh0;Fus@_XT5wtTT9Z)Hm=b0`JsWbqi*KiqKu40YM@ zWc3ErI1^HlK9Vu4q>_g1c?t$qa5OWrlg-@i7O``hwsypnz(Vka{u3)lO{>6|fl+3Jxfi0g%rQwBi(w@%_t}^yF=I>)jc9}|R|n5D>+p&lD&!&EGoDS?0ql!HjA2h`ys4D{bt9V5+8|f2++^y&`x(q zz*mcYvMv$ogy&H^HsV{tNaZk2dumcd)WPBVtLJ*(MK{mTv8R8oOs55IEyZIjw-(_ID0qQCxJ%Mbom}R( z=eb241=hW5U*Zsw?GP^CWK|`A=0E&hru!f^JY3XX7(hSlQ_FZ*C_!5eSdPN>PV7Yz z?A}KdeEE=u%UI~waFtVg0BA6JVtsvCNBUvwj%|LLW5@Hct~)#mo*i{1z$4g5Rq;i2 zNi@GHN-snF(79YyJ)S@w&|=Gc`7A;rJx=nb!U(3P>@lAC5NbQtQF;ienYy+;DR3)H ze4a#M3@VzRG!vv*!2`eRoWAS`V4kZRwexMaOFpMbl#wv#Ny&Ww^@Y3Hb=XwTdHdS( z1C43iOrH z(3TD3aN1CaPj%PU*4`RDZD`WTdST$m(ZS`<08;ASugi?Hc8L#G$YTe_ZN5Zy&nPP_y7&=R_?Li}CdR=-L3d8Q&M4vO+#Db48T@$PU@4A8 z>KIYVKzUP1hilZq^7X2`CVNq6zPl8Yt28r}LCtq>0WR7t|fSLv&Q9sX|lgYh`BEEWd~NVm6)hfY*w?xZ%t_?B;6CWKh?L_MK6 z_T|PH7S6ouh|p<9!6@gVHleIdM*iL94QoaZ1Xad8hYa-0n}kk6=cHe_^qkQ0u-u!} zBy3E{zlqMmENkojsU!gnD98vP=f)9w(b{9nAF)?KEgM*XGMCxAsPh^hdemzOX`6~3 zDZS7mKUkc2tWeGL0B7Fym1rBc+!xuZdV$ck0OUaI`;RrPgr-vlstNUSO(6xakt2gX zql4;p6$5TeGdA-s1&y>G_E?dS1d}TA*4pLPHvwQzyiZPCFd8sLE>q(YUUrbCOY5Kt zD5VXFHx(^hor?j>RU?oWG&V`})u%{O#MIX5hjJWtpo&d1+C&*To%x|UXPl==Q$aU@ zw_mS2s}1E11lu-E8z=O$4gUJowar9&bZn=s!R1KXW9YCbhz1@&B+h(59NO zdk7ewHItc4Af?e~61cyPA4d`h-Wu|pRh59>+~g*M2pR(6d7#mT;|L7XiTdl6Xix1m zEe!0OXk8}0P^*w6Y}7L9(kslxR4Mh!yFQ=Qm}~Ns()J2gJ7g@mbL*mQ69Qp(SZ1(h zg;IRz@IhV|NTjMIY#qWpdyJU*1Lj+u8jXd$;m2an1@#~xBFKW%Qwz62l#cbAQ`Dl< zaacG@!4nMrY{5zGCH7ITSR&Xn)nNDDTcM!DDQbf@w}h)y0<%i%A zdfDrALChd^h#Y?(+ysTL(Ou4qt$U8XLa;OHhAzpqP981#)RN=!!^3KZ!%yzQuezb` zNhA&73s0W>mAz~RLty_5gX>2aU=>;h)~7%K?1%XSi$dm{JhUN!VM{%UHpT`h41m_R z&Lnl@-x}wA$Wk>+#m;|wy`w@LkGBOD$Dpe87c_gkPB-6m;)r($Bk`7PFwpE7fr((& zredODfXHBk(3^qY-D_KxSF*_Y(;(niLaw2!%0*sI5ND+VO8tTIKu|Jcn4ls#sZ5ZV zFw3Db(@9Rk6qyjl?ewIq1+gfDU+H4~;?A>r4|x8@!a9uWiw6?TxK zRSiI%r)f+Rgt!+1H*uV+@&}U``E!v}RS??{s*-W03zUT>M|w?%H~uN@LBpA%t>v-6 z(hkJkP_z4~4j zbYFhIv20fYA1}^rF6JhaG9eUU=m)2Hc9c?5xBiGziARLMgU`i8ox{{4`+>t&_AM(}KSRW|WBG_)O5?6Gh}J67%nkHiFdl;G80Vd7rk8)Ilq?Ord->y?-mA z9IcV9a1Ey<77LtYPkb_P+)CXHI3w{`j*8PhrD$@|`ZL2VnSn3v47%s=(7jI&Q8EhA3E~xtv+B}pYSeoYXNCV-x^&E6-YsVouW{n| z+Dx6}&$Wvme*Mz&1zXa9q?YH~`q0xX5i7jXhiPnm?cr?>QOWq)aEfJY--*BKOf5i8 zJITn@Z&hHsNP3C9;~DBYF6-D=jnlgMYA{`wg>l6}ox=cXdpWiJtt4$BYVfp=Y9N^; zNvY4PwXuj^j|D7b`y0LnuI{ZP#xt^+-pQZp*n0@lr6bb4tH(0yv5x4#WZtjAbnVBD zxo5v#%fAgv>r|C)8Pfug+8XBOBOnGIr|KPWjJHFbj1D_)D{cngk*u|qCCgRa<2fzv zxm77}To!UzFNz9fIWLNGH9Ij}7G@omMYElkB)B%q5`9}Z%MSy9bfFDUXbHZSa#`g4 zwUfCkmF4OtB4AstYYM7DseG(FIrb0k=pD@6+q#AIu%bFlPhWZ!@nb>|n)*ud1kUDB zW>pSyPojC@4EmKz5F_c1lA7z~RGITvtrg>FsOZCx)Og#FXu`td$zD^*b}^XeG1V># z-O<%B!{Kt)4xr-ky-`fkLl&xpW1nSTuC)wHkc{?M6 ziGDIji8a&BZ8=Dgko0QppI#mHIB?;2z_iAK%Hey6|kRkE27B@F0AUp2k(fb z-!)y9l?Mio16B|JPT?r3owo40WG@g8<~gu9CcUtKribvl1~83Pm(NJvc9vx%u7J(J zoXcpSMr!wTcf9Gn)gn&&(h9+_VgRb`Dmv!Lov>)#Z#vL+=AJKaMIsf1dR(8+RL(^x zDCYC4avLilU0zm9sCd){!hnkm1k1t^#&SX1rQyOJ~X+PK^xGbrGx;ghA5c` zOlQOt1bNLcmD&ei(N=I66nrj=!Cp;;d#*0<^4F1vX}IY{n@WcT`eEj{K`&zw9c-28 z@)-4aA&f|03yXS2Mrvd~9tC3KKx7$(1D!xp2W+oKCjDi3V?R1N-^jS=fiYs1p0@%k zta>7B_$7774d4T*Ex#Zq@N*Djv@V` zC1&2v3pN2x!zMVneW}ii(xm;Iavpc&!Z;x}WLFsXS1}Znz+&Og50@lb0FN#oDzp#P zj@rT!pLc?h$50Da{k5odC&Fe;GY?41_9=i>llc2YpVnToCLVKPXppo zr4>=ee3&V70Y4g{&DLbNoTu?wcWEhAuXL}X*s*@gO=13K|m*_zhw-s$m z0LO<1VN8^^6ZnR#8jp2R7&Tuyuf_#l3tHpNP6NyPV5zIUrOf)NH`u~lrRBFiOn$2m zXxSxe3!8YpfOx3WKU@SZB@Q%8EvIusYLn ztyAVWJ{)hf^}+48Ww?0;#krM=i3-E(vrqOeC=*eYJuj0Jr+A4>?n$(`-AB-(LC>ISr$I*Z6x0*UWpgWCukLo6j<)7)s+hbOTLim2b` zW-y^&KK@KtXj>Y^kg&vB0XdFWna_2S!vbeiFcXo8ds0BwY%}8T17#o^RvjVd$In`1 zhzN+KKQ^3O-egv<))>19&(zb@UD~OtF==HmrQh`cKqTL5@4AOhcw4*Y(nVQQfrJ>n zrfpSSJTo8?cZ6WwD0oC9Ddy>E`?fNKY#9|uS_*;cq~KU7wXTPFYCtt~D;NJC#JzKj zC_(r4IdjLh?K`$@+qP}vj&0kvZQHhObLV+}?(N#|6bI;o^P>2%kp>U)lc z!-RqZx~lN z*t9>T2$+Rhq5D|Ghm@Ek1`?45vCs7Gd5}QX+Wj4)Z46&ZBAL_rPGxQ6zc~`Jowp#l znAW1k`V7*NDN~JE3wH!_;`<~ z8v0}C{w<#!l)p2!#L)7TqMR90Hf=Z)6+lx*kGC7F{1p*#FcB=FWwD%Jk5+$g&iwb0 zE>t;8NmFj9P5}eO3|v}bF1l8&Vk`^_hL7SnJ~IC@9hQr-^td%MaVotx<32s#WWK%F zO)A^!oq{MvU=i!oif)OH)vsQC;Bd49z#%slp<0pm$)b51h9*p zBAqNmU(rB$KxtaRn$VSIpS)ppT2y|iu{@?-6j+q%lx}+M2_&Y>1-J=yszKLTDl3+f zV#)H}7s~VKhsYB1sbrwSMMNl3Yh=iJ^n>Z#K3aBxqmAnze&X(8T70=S@K2$lV{ zt#}eVME(XbDngE!wI1#RTQ`$x=Z5bCl{KYuJ7vqVW1wVNbZS&8WAWb6Ok-E60IR=W z-9O>orCWKAu%l)kFg9jYA6TFr(Qld0SZYi*bBUe16Ky?H<(|Lpe&}w1yiAL| zbm>wB(ItFCmvC0?RUSpwBBuSRO6o2j_f!)Wi29KtklUhKJE0!q7Ylg2yqK(|22`mR z{IUVjF{D{$i>|kfSmxF1+X}E2T^LsGFHV!=jGejydw~xmRkxW|0TBcT-%6*g#1f^) zgk9`%8QPfd^C4*|;~QamO+=Y-7KjIOFb&K3(=R{^`+%4U^)a8meb4r|JaoGaiIcfb zUj>5T2XumFzh{jT6It1D<_fM|Jyt~XTcbtb*HLF%_mwYPp%V2fDK?~`xMGQd`a(a| z`kMv%)oG<~lgnYfDh%duryh2LjgO6F@}w>}W=1oInc^fEWLPZYGVPO|ic9}EHr*~a zM@J7w_v7XBF6&mc>Nb(k8Yxlh@%B`_1`sl`v$KtcdxKmQMiv%PJ4%ptAy+XbV_V=2 zA&jYEQ(hwnX)D{*OR)VD^b;dDoyb(lUwQ>r9VLb40aQ1Q$BZ81nkn>)&tD+O-`o%n z`yz>0AvV^>Jyq+(a$zMgO;RVJ&=#{z(rJ&W4Dv1X13}W<6g01s!||H)uhm@E1ksiW zgpWHUip5Y0J>>v&_Q;!3md6ec_MDz;DD41udTIZ6a&H4U0Ii(VQIX~wNi zl27DC^bl3l4yf_NvOKGfmiH1zV_m$JPXPR&K6p$Psrw%Ey$#HA4Ukn2F!Qd_$TDV; z{m&AY17AaT0J{H(d;7Sd1gxng?l*SO;SbRx8a_Mc{M}<5J|*T@6^-zHCMc^b(^V%i zm{(J=dSTo;9|bA_O-u<61ig*+a?#NELcvV5v9$ghozc|t_*yT&lZ!i`eG!!;(Xu*f zu9KKqk&=13-C8K3CyA7cfAlizs5(yKjBY2BebvxdKE~7`74X(6Ni{M7Qto>)kJJP3Uj{$>oq1_+xT?f1xiAE-=nBQP%q}09 z%L4%%(o4*2_en@wlsAv5Jm5$~@?!$sGzX#`pAle@XylpYLwwCCj9r6nPoF2;=YN;d zCom>tK?>&C)Jsp(K#eOtWh{_dCmB22)^la-C~>mGxLmqeVKCrTLba!L5zSHMy6pX) zc7iN3HQZS{x6#uP3PcJ8jh>;m3x5UZdsJqFb`(8=w5bQ>6KKQ(Kj+$RNo06ai>N+BB4DZjB-$sGty2 z@*X!*|Iag83k@5=y<+Iu4v-M?vpfTC)QrDRA)sa2Rmyn_##cc%&5P8449ZXH!Y!xq z=L0`uMfb8Rj2)foa8a$oXaveYaG}koLRp*P^|=M#faY7S-d>1njaN|f(>*E>nMX(R zBfeHDKW6){UX#{G6w;m7+L%3M8{%ACh|N9Eo`jCf*bq`YZftD3Su8 z*~Kt3Fd}d;0|ulBN;T8l$aKIry4rDkGQ9#H^ivWUa_B^Y@J=~hZ4`u5illB{P#SG? zsjf*|tLFaasX&@Ifx;lPq+Rr*Cm0jx|E=XgFIF`G0!xnNDHOs6UiJzP(#Cs;fnKrleUtlM!kyYvz^QTO~ zG>M87gKZ($_~ncA;M|J`Jj)39u<-`H{pDzu4my&QPgo9a9wphxj;h*54I=m@9~BWw znh-MJXHjzEhAcS<6cn${vp*mlN4rlA6^22DG9-1h#S*2{jf0uq^okWQ0!WF z?5FR2v?ey2Sei}C|B^4&qYC&HItxa{9BV8g@4CF-18oeAOGTwvu$8>U(3b}S@~gPX z23bl{wi*bloreRX2Lzn>K|0HJt;T|nSZXqTl4=N)F|Vfh|5gp!YI6X^)+na4HOz!f zCqFcW4@d^ZNPelJ{1p4)2(G!umJfQTsZO1}@f1Y}BWvBWLBhN1RIRW@h>TdnHXtBl z)T=m6l5Eq-J={mKFl_Ovo)-EqC?rnXsl22rGp9qbqwnIzY zV#$D1vdR6)4)tnM!C#i3ZDNvvn;O@0mA#}9M(uV{*OI{_Ll?dzl-Gv`_+(^dOW@NE zdB|u@oqffNYrtnnKl0Di)@l9t2V=Lg7#B1eHZoN7F`q9#Ch^qTOW3>FuI$mJe0b9w zey4v1nDcJ6;&2;Z;$3tUQP(us-dnLec;sJ%q-X{}WX^=1Yt$#W7y3lZQ(vr--f?Q1 z#)ziO0yGYw?)01WIE0>adZzFX`(+CGj9V`bi2C?4UupoC+ZDLFrNPi$2yuB~IY?*6 zE=4uJ5fg+trpmM$lRQjHtvJKGy#x<2QqzJOxTfHnh61P$I`l^=X^4yc^Ks>6nm(oQ zV=QECN~fni&)fT00&f9?B#BX)@kI$4nX9YoLMW-z_`*d3L#lQrI=uKRvj0D6&w&K- zIo$?{{@jPdesF>qcew)Q<?5J;49wa)wHUpO&PEg*4Nxyz&t&TKI$uYF-G0)`Q8zoyudQ7{K zC2MMBZ+6-wlQ?sbtIeeBjDp>0;i3%k=Q$7Z161n7S9JT`B64AL$A(4b}~@ z*0~HIR6IX+x8S#W@YNyIT18kQVtih$i$~9gJiFH=wK(%;m3k8@{DG1n99A@)fK@ce z7(oE>H_%j63nXkxSIObm+tDm}SF07p#i?bmg(}54f2`=u3@si`f+$|L_BrsesOrfL zEgs6)g;{)DtYLf0gW5l(*UV9-wNBwd*m4$(+UFxp+=Eg}NLwcvNek__rRqLl^73MV z45`jCe~AzX%4vt4E5Xp~H2Lr*Qt%NrcPioI72ofN1m553OPy%7z@7OJT7y2_?|Yvo ztfnVUE1_a`3ob7Gf4f0qb-nL+vsK!a);L4L^7mah*bw8UX z6c{MPDm<3pVEJD0@c;RT_gPv+2&S7w23iTKIC(2o1RLgubX89X*CP&!0UsxRwy<*P zOX%f>za&~ugRjW3@bM5`_Bdc>$YFcJ-fo6dzWQ-S?8zXKtRPuX@an-CO*G??tOb@J z4Nb`A4MX`uZwpf&&0vKwodh%awSnM_ypkG``Gw9<$x)h z-;_E_Of{ZesrXHA@CN}c_{lN-Oo)rZ)SzY9D&lOqPkw)_P1Tx7!qc9}1Z7}AcrF7o zfKB&_5gW|o7;MlgO|=EP6!)@ijT5tV-FMf>Z%K>b@_|cm_hVyfnzA-@^_!nbSj_(4 zOT<}g>moUn2ZInQ2(6tI?$6odBRpO+>4qWV{1ieM z>M@57_@(a$>;0(H=5OLQ8)>7;1z+VaLfO&yld_n9UZc{squRE;1mSMzuG_MW6SXe{ zhphI+Q=nS?#tTR`V8m$bV9{fFFr^?zMmsrHf%F)AeenqCZQznL^|m=ahHBSW2LGTQ zzZFVwyu@*RJuCYyOm9=t7?A*rEO@h}xfKw&@>yrgz(>I&2+@Ia!u=GmW97jOZF*C& z_=Y$A=vnn9VbC3c(yv~UvFJdDU#6$O!GzA25Q7*%S z0hNSX5R@YPV38P&{nhb#giA{^$HD1RnDqN&C2mZ^mP))UbkNEue8iSsb@!y$VgCS$ zbJoIWwzGRWczAel5Fs&m-Y@BPe?t;@e^HsXuMQ~ggJ#^(S6^|oZ-!H`#^@CWMN@%A znt}AI?b@I|)3VnZTDdg>W;1~TDZ4=9$D@3)pQMc{v=2{Y(^q!Q4c9)?SK_RrFIR7% zFY^R9wY1PzdP7@^J~}{K;ti~ip)cz+{>Jr0>0g!qo`z~4{|$@Lzj|T`Zu&KbYMyVW z=*!n;|LwAgvVpc7X`G?1^d1xD&4aiL1r~9kJ#s%*6#0|ABY)XZY+RWG;of2L3y(C| zuG@%UdxT$D;oqZ&_Hsr;NJ+abg^uv#-#FLN-FZc}6MnVCk)3!%HzT7TCLdkG+qMDY zwh_IgY`g|G)6zJ-i0fbin*x0=b2;*gbu`H`)RjBsJ>=mnNb>~={r zQ7Vc}U#cny-Y$uxpIK>>5!>9YQ=fbP(3)v=G!P7hlUZr{yVOB)tK7_+s0JsGO0qEq zHl^I9OnWCdOU*Q{K;~Ia-Jm^|KcF>6FQto=91jLj#i_Gf>|Q5&^0{&Cnslbr(d%pF z5nCR(Gwu8Bnnqa2S^b-oH5O^Xc+mnUGcU*SBdW|dIJvYpn$M+%RhyZonw2rqW*L+_ zo@e$d_L^n-qs#Zxn>)^1i{CgexvCzE^QxY3Z7N7roz$+l&0N-BG%H_ljXo|vnJK%$ zloPvl1}cG>c*Vc87rdyxagE5_;IZM#mGSs%zD&Wuq$Vt`R4 zf~}!W?9;jZU9ej=TBx;?KYCDG{ks542eABLvR;Cg(}l}UOW)!+#=aV2x=x0iK0wKq zajZPHrikgL;=}?2BdO?R3GTVC=qB|be*aYYd1)TmtLpcxP48}GK*0}pW_LzyQ3ZZw z41ZaMqg@7l#gC{g*v?Q022t|TbH8sX<>>&bRN%6l{*2Et>TSC&Xs+SoW>CB(yL7IR zbGuX_{g7OtQ>&|krjZTp_rqYF%5D#joofD9jZQYbFj#8#58SbI9f-_iFvLUgDjel8 zxtNk*Z-n~-lbz8EB%?_>lFej>fpxem45!IDzHpdZe{5QCFwsLcHI!Z}Qu1Vm6`##F*RGGN-Cpm{8g=);NG+pRyP^f-i(xBZ?3y+ z)IaHqAi)RIMocdaR;qN?Gt5X0D6VwYF<7=HNU2}zqt?X#VX$&*QLL}O+zElD#zMB4 z&T0&mU4`N@m0?6FrHSJ+r7OFEp_O5dzRF^o4|+TWvvVx%kupmkptmW7qb!Ak;SwvkywH?YVmte04L9QUb`xdOAJ}D`{H#j;G%dRKf@Yqt1{Xz%#@213&=B#=QW_F8bx|xJ~C-oVWMPHLOM7O{n+c)wzSpmjmQ8!+JdgdTx2s zmhzAbR%`3K`zrMi1<60~kW`ba04t4kScwU|VVVx+l|yT(zNR;z|0#ua3~(Rt#CX-c z`z5u3F_~j7*kw4N|05;X_v5a}eEjW$-V11iVy6d(y$g`e;-|+-wF@xM5~~Ml7 z4FDp&F`Qf*#jFq2)PF$23j>j~&0S0DGYxv<@i9t%IqLja*McQ=sd zA1=3f^wgm+Tz{5%w99=y*ibgphy_am*w9D$r7dQ6e@{&P!l?dP)#FWrQ5N6tghLcB z3LGd@EW7J2ugz0WXlWR`KbhqiKAJsn>3@v2^(4XPp*Wo(tiI`nG{y&DQs*cu)MXG5@Sa;eI3pUc@kf!sMFcoagJN=TIs2%k&@+g~{yH1DAHMVM{8& zudk$$H0H_g&hU7%q?&BR&M4o|viI)#5tk%(5uMw_&cX<+^5=j(t{LYw}1M7bN)8@vHm;C(y&kq{hYOwlcn`<-2aS|q5Dxq(oW4jFU&*$#Nfo$ z0SCekMm${R(AF^(zQ7cvOGse5Le-`r0#$h6TluAGX?WFBW%(n0D2Rmgk4xnbHYH$m z62J&mH+_Wdo8UKGK~M{|c%$Hd5#N zh7HTyHKb@#F~Zc>wnsXwA7x`I;YE{zj0IMRq{)!hjs5$PHgX7{^gtD2f;AyLfIHc4 zc&2@idSv{(5y+heV2^QGEOB2y+2_Hsd0jE}*_i6@j?jqgk9D_2jfvZ1%fBFK1~Kw!fv>j$!EQi`V8iGbd`9thrkCvEuF$rGMOs zOjdi#)sv42D>_S9PI+wyNl^BqOZJ#PQl|QZ8WW$le|Zs@VM))(|yXK zJ#lQty`qw@A~^L#)*+HatSeE=rFI-RP=rw!HE!SVWd{OgEQ~|oQpd+Ph>f9=>xpOM zwQKQ(1;s50K*#<{igf$B3onaYZzc?=KHcCvfQ!|Pe4GDyii2y2`RlMT6KFxr@AzND z>BSuN8a7USa2EFbl?}WpG$pNuScs(z=b2WuPYcPZ#{5mE^;i77%uVUkuXU7 zvyZT&D5KUP`pZhpHjvL{ay{j#c7$l{pxx8i?a`;~(GvuZ$U$#{7Kv`qVn3<7oKm_EaPE4uUT&;}BM1!elzoMa>u1QhYl+9^0x@yX$lKPcE;Nh*jq z+qr><;AbK5Y9YiBL}my7NvX{ufR}skB4))RfVW%cB5tfG+W3p>;SVXg@+QjyEQ07v&s*Q?JcGJLNupy z8UzYY|Gnk#6Z78fxkJnb;4G71inM$!^7$jcn(}>^P)v|h%p9Fb{}Dqx%(!iRIscto z`7z7^uHCRv)$#Ie)b#5-^|XuYu&ttTG z^jCAVJ+-&IS}&HyY$)F>OXioiw?=cc;3kZ@={Si{p%Du=$qSi zr_$GTF_eEkm|ufY-gYsNj>uyc@8hiBHDmb0QLFQ$8?xk$qjZBJf3n1fyGvs1>b>I8 zrSjQTptI6cB14&OmS=F&%tKjBLwVPU^|)eK^@!$sbzVBKuA{nSdXn~D(NR@$URj_~ z772nNpryhTNBV8@Lt06mV4?^q5})r$-UK4P2QeemNNz}Khmg@h0NdB z<72L=Jm1HCRV5OB4|FNsrBIoJq@9BtHhyV5iK`T{Snz#XTb~hd5&e!4{dFF>t?E6O zwS@8{>WZ!*imc4L*zlZPVN+WD=bXQ;L&vP@y##D(nj^2NJO`Kf;)%bd{F%LSyrid_ zcNbomD{@LnaJP@BCydcry6q zi*0h(d~DkQ4fVWkE-!ucIu}K`S0uX))EW2SJW&?dgFk#x_r9O0M-yPKQY`QPBtm4a z#8v*hzj?{%h6EC3brDfNV*-H(z=jmSFUM4U-`*($A8|s_ZbU-v{~xf1jMhy;XMPAqS<9SFL>SU~`4Sxqms&0PpSUm< zH2!9KP<+q-U(n_l@c$cVqgxTM32-7hDJ|KyL4UbnVYupg0^b~5LUUsk{4xvnniV}( z4ixI@uVN_G<_T`;jW(puw_qnH5&gvwIJybZ`f8-5`3W)fD%^_=5C{CW-*Jq z&Y%I^Z9%1RYSwXN?Yq_)S!vJJ`e&%s1AlcgNoH>SXtGEs`i+> zCM)TNDn${0*=<=t7_b8^KTjs*^W+gvyaY@g7PsG92XC`^eogb zRL?H3HJ%BdDVrO96yv=YI%2>nSq1wQCOoVjur&zW=iva0CCXXLhnL*7BOJ4)FVESl z7sSR_058<3D{27U-`)4NHUG@N|3tldAV~erl{>`{uRQJCQMkf1ctUM%{K=MzY4i7t zZ?8>bWcz0}^wMiq`k3%;0?gHD15YZICJ(i@!DYjpcZ4%k`xA^x;0hjP+!QvmXa|@w zWd{<>hJg0(t=$x=-2`rVU>7>Qaf)HU(_bPYlwodw>Nta$w91c$9qWcVL;#`{^p@%HfZ>9rp&KZCMrIqH!jq_obBJTJIqmmVBNVz@Fv8suuj7u|mpG)zD}Be@?$@I$z7@voisoO0t%UxIZ#zlF5JodZe&SWUzq&OfVtAClg4^^br~X{M{9; z0O1?{^>vaz1BJOmA}+!E8EiAb0IYTWiAXyJMt>+)%h=Zjib`V7$4w||AC-hjl9*D2%Pvoz~6SJP}US-Zr zH&@eRw(SQEor0)6mR|c~WC^12K)MDwsRE|;u(IF+I%|RnS~`_c3h3ep)a;(HO`u`|0dFYqsfUw;c#G z9DqlcX&&%|?wiZD&g(CdCeP;((8@2dg3H&Y|Iy(vWDYO^)6UQcG>1|C zExKw0cqTOfu<(YYTrm$PcVav8cVq)Z>7)j?8E``x@Zxi%ThfnnA(PJ)Xmt$Wz!`A+ zjnSKuZyUZ=V}XZ2F58?FV3Ki)mv0n^Z>EudTHbdjleIS6+{}+VhF&$Y20WJ=@1_N0 z>;z!*A-BJybE%EzS~MsZ9RCewgBoND62pKY<|Ts7^^VA zY<`U}II94_*nIX_;QR~CbtG1X(yIbhw{Byyf&wH?aF-D|4SgN`JPweY4mjMDR~gUd z_t>rwf@bMp*m<(KqO$3RjP7#*cBbhCS)Hf+b!1a@=~IXNcik3m8NoGYHwBkW4r(5j zA0JfeWRLpXV{@WJ{e1ZGrnX*Y*SL`KP4pqPMN#a5zkH_Ye~c=YBRH=+;$*7e>Y7Ue zEFVU^yl$Al`i5b^6kFZR6mlqotA*vKHi*>jisZgO21H0?Q|GEZB+*4*6p zzy5OKV&Tt3uq9xBQsA~@g}r=2J#lb6aX~)$@!xfi_UE+s{-R1}DgHlY#xfIhoY)2i zO(^`~P?+L8HBno@Xl_GZiF3F`5aJ_=O4Yl+X-|0~3i016Cu<<-*?|TtN*U&~BZ1Sn z*}1v7v*IAqxZlocb$yTQO<)>$fAxhLM-?T&wg-3y<=r)xb=tyTw>WU+j?;{BMNU_=sw4k_EK?c#si({T!7;`E#WlZh z=08`z=Kmx!?7yC1OT+w(|G=I9t$+5vs7AW!zqsa?-e~+M?tcP~S9~nPY$T(d5Tr-_ zpmAod1tF#Z!|coXu5B9jnWPU=#6~xmC99L?{+zwyS^g}ot9{sBtotIp%?=9T$NaJy z2|q)U-v15P&_~oXMX7tK{K6YMYhMb$b^k5}_*p~3rnl;%{IAsACSkM@;F|B|4C%&> ze)%GEA;+GU>|&r@Nb2HIkE+Ck_2IpEb@~<0Odt3E`NUQX8fAb3^KC=45}Iz>q81b~ zsq=TL^xCRZ5R2E|Lj1HkYgC#`dfY4Xti0!+bhF?#E!P{qk9a!zp>%Cy!L5Gx#`hh3 zC#xRK))q<*UFui&o7v_vG&e6|Sl!~sA69CBJGw}j42NNAs|j#s2t z^mV7@btd60>W8l#F-ptN?YpmM8j&dZ*gDE?-cZS~Hr}!S5|yp&DAp}M&GQ6u$Y)n5Q8*t2GKl4+E_$P2`jB zFyZEr@7+TN$SUuMlni_(vNWJ$Qt=ugASX+;8Yqq$A-)6^>S|DRDoVtVvukJyx<$Xj zl+b>wc<=lFQn}%LUG-eeXcy>Jf3(`T)$_z(wXEGL!&*eWZjv28nQGYn(Fszhv0==Nkm${j$^iGUuOwwM>^F( zo?xAW!cM%%L%hYWQZ7)}e;>aov}q}XNc(zvtdTWgi5~M3oYw7h${F>!iw4P!|0HzK z+{-5z>1cQC{V$_wX}PQB*f?IX}?ux~clbI7?ao^=_=&URFoDiP74{4C_Rc z$;Yf*lY&_A-*q_WyG9sp>LZ6ZUFloL#%SW7)?{aCqvE<4&D?eoQT(Ac?th6d*|E5x z1lAq6xn7w3Eg_LjePlo`8EP7$8|36|f>28Df5~l7vX*tLj<{dd7i!iN9Wv-zibe^v z=v&L#vlPWAv*K-Ty|Fa~@$OTdwjy{SurteT4oVKhE@Y^$U3Q~th?)4_lO^EI``!qf zT~R!qf^<$F)|Q?1r~sMZjh$c^v1?vIrex}ZiFuV;cZaJ(x7Tu-pFGqnfJp^$TcX}bE$b#M*4oW~; zSs|TQIPfe0K!L%^pSwTOQs3RK3%}Z>2L9Lnz%usO0j1hbsdxFnhcEZZA9^C$V-Hoh1X2=cc zIo#~tdQDB7UY37b**&|qYduJX*!Q~&EiwixAvfDIo3jNiBKjj_H@)T^Hvun<68{F$ zZbo7`RIvolhyTY^vIH+i5jY!)ZJ{fKc$h<%HEf_OtZev{5IDES$Vw?CUyyqx&JK=P zM_|Lo^!E}O$?({?C+z5OarW%QvMXopbwbnMIR~xmu|vUKLwy;2Y+zSDmCSEGLq(xzei|lrQwEdlZM# z-`8V4JBdnz9E~0X?2ca^*_pRs@aHwXCO9nKp1vohhWruKq$5m7J4vIXY=Wh1^@1aH36`vSC9v#>(grUdr0lRj7x4UG2A{54q&jW z{&Sf5wUbj2-jJk}_I5^56pfQ13bR%@%);s*Bfgqgj2`PJ^}z96445e+PW{>}@|@~f zw8(Gr8d}=5<9HFZ%aU_SW^S1+QQK9}@nv?xQ$}T1x16TMay&OQj&fWF@9fQ{OgRGN zj+IkA)%x2m9s3w^Zyn#2ztF{tX$tO}^TptHESFF5)`x{S)eEP|CQ|B~Mdd{KmgHU0 zVuuW9Xg~`?cjVZa7se7GKuT6+Ja`Fu_JWa%{hR!T)3%LcP6$KiN^oNo$TtxnQtkudNB z7IA{p9Ff^U5y;lVCrm9hhKfGZA+ZktXS_wEAh3EPGfM@9PjTC@kDq^Q1Rv9#iF?;4 z72F$t)2LA39rs-eE#tC%Y5m=^J?G{yd&=<=FWK70M5pVZ`D@_~=VN}NK?Y|tNjtDGlO$fm$opEyVNy0#6ECP}Ctoc( z>{H-cC^Mehaq1 zzJm;c0jvh%oY~aEm+L zkxEJO`dPW?6h((q@7G=a?Twy)GXTK7c)MA3vYpenHZpt3C5cTD8q?$)o7B`;;G!Mf zRarsvQ5MmW^*rC_GLPGlzrl0f9Ymz$1l=`m&DE4juI z{l@~&3?~N_W9mMgu6*nC5GeUBdd7K(?oE@x;6Id)gg-N)@|yZ4*@G!dR9#|WiZNY2 zWZjJ0^4fs1U44dK(m-IrB4ndfCd&Z8mwZOk(la9bh~pb4f{ zg%EGrO^Z@xixgzqfaKR=nJyVjP;)PX)GRq2^`DI5{pPWY-zrouzSVioKB->F4sN+O z?dw0mTbh-ceQtN8h}u7Z&t*u+c$2b7zqS~!L*Fw_pE_FGVXK@*|Kz<2rcoPy^HyAhKA6f^k2xftyWngMc-ao($nf#_H? ze;)axq%c%zZOp0`6V4N6xKqi|7kPlbb89LuRwAc1x0G*((4eEnW0W2f;h1^&UGfPt zXv`<7jtr>q%pZ7|@jBwArutA{XU*Jaa_K7kbV>4(Qe>|;ve3cWO0zk;#0t4)vOpW{ zIQm9CxDrKMc5z{aT>3tBIp$M2QA?}K5xem`uOGkU{7aQ7|1W_-0&oy+p|%e-qqA)> zfnnVu&H6HC6pNGUL6Cu$mJzY>zr*E=d({Vlkaxe842poycUhl+MV4ngH41p5#vGOb zN|wi}Z_W^KFxrMmk2OeO+ZC>)nN!{=b@vqhwZ3&1!oyw=CITw|FD}!=-TSQ#Jeq2n z?d~?WhZi9C0d}{Sy{Pw?bz4di%__?3Y`@XJOy8Et#tH|t2K;98!|)I(*g^v^YqeGy zXULBRp(wSZ??~*}SrJ+kGR0Ur5nwoiI>D8uo;3n=>mRM)MXT8^&iA;SB)nh#pcuAc zWo8%JZ=Gi*M_~1GJ*QWB)pXRAxd-Ie(ut6$jDxY0h7PjmNNbrxM>|nN1{gyG>JRY# znHs|nH(XIZd*UL74r782$);MsOeSZ0J-XRAWqy3G0kFI_KIJ2^nqHfxA*sFjd#;Qf zpEW#VHIW5Vp+e5>gS(nZ6(nf@Rwh^JvcihyPfO8g{RZX3Q2LTswoV68Hl1_I98D2e zS?rYQXdKRbu3%-?x2P{r|CO+KR3}%k=VVpPu1A>EjsvHj!e!Z(b;y(O353k5{>0Dx zs%f%SWK`HzCTe=?e2QeBB-5#L;>+66WU)-UE@S4TrV1=krLgMg!}-4Cg`1vhpBG|( zK7PJ$X$?QF8VMDw>vzqKO|yW_|H>@C|1kk+{PH4dsZr=J!DzWzVI zjjFGk1YU1vk9XRbpU0Dh9xnFZRD3^9@3bYlUuPF1zHev_@9;>m5s}3|4((4Z=K&v5 z>qZQ3K-!|iHUg&{@nqhF0NJm{xQ9l>`9g1Ds#FDe zu!aTV{S6du4!sFfNA{ERW6YAp@ngsC$RSi9`^O6{B?~<=M?uh?_8ilEMovvWkanfM zvk;PntS)%7y1T51{Zm%4((bkg)UCn*&^T1RX zBO=?y-)H^SI9cuOQS07yKhDy)>8x*SgdZzI)s+tg7=cw!s3>SNcq4JHR=v7?so$TlovD1L)C|egp}~OHD|8pVGR?Ir^X-LorJzr zAd|2=$zSs>YZiRf$JVInGJf7fh{k5>So?6g@abmM*5!S2L46<4ZiF?b#KwR-~Q}DCDX{8kq1F*i6e0H^Xhj#sQo;Whowa<6L?pF8(q)u>OZs2(29h3z;#^FlL7* z#BSBU3JI+srGrlVHRMk&xeTl>fNPSumJ*x3AiX}t0U*TNJe&un^Bb~g;uK2 zsvu_%830E-S|$)$jf)7(TtJDKArSq^M&p}qOdSmyqUL|XuHxN{)Lkjj8u1v*vEGFs zJzOdxal&b)V6oBGrf8u9eBSo7PF~odsEPH`PrV7Y){97T1EtugJqlnl2Fbop4=21X zj}IhC{18y`+dfJJ@NLvc|8V4yDi{3~(hbvl9SpwjLwM=sgMqK%Etsf`z}oiz{%kTE z4yV7ZFHjdj$J!rsOz_=Y3oIBe>TmL;n_vg06>_?DHl0w&b*_2m05~vkg>JIvYm-g_ z?Q|OUC$Y+Nsb-)JN!$HL>134xZ;O>=pEjvX*|^n^FIy_0MTtsfju^J|%d*%}(HNAy2#+~D->)<9x{03Ys?MPT=ya8bM+_Tzt81daIQz!`NR}8*9C2FpL z)J?#8<-xMdk1&h)bF`xKk{^^*dC*x`aNs>_^(Q(;vWpM4kCj5C;+jc#B>T%n@PSO@&5&d zKzhFh=!}#tVivUL^i^Aw$fG1nc}&ikyp-r#CAP*Bi6V*L35Z%M-Kvuwo5qc==Nc%min%IbG_j&&1H11d%STkN`2bhJN45n3U0Eu#F{i08J(F3`+kRy^*kWI@0i~$z*Rb9jvOn;dV^|e*!zu88YOy4qfD`iE-Qrx zItgsmzdb!Unf`Hz3CDK&AckqbP>&l5%j5({%+EzeGJ3-VS*I+JLMUK_ORcet;H;TI zbaA=vn_6K5>JaMN!e@0xAvu8U0&o^XD3Zw19BkypsZ7^JbZ^J73g5*sVbklWiMQhE zv9iq`Yp2Zda4TR3u8&(0@K*wG3V?M;Vb1^is$+tHk?VXLbxnGcZz5B=88wzw?IAj378tEXcK3^A5FRceUacqrUr|I~Sr#;xj z${dhS<6f+d1h2Z>k3P0r_haiAKd}?Bec4<~23nzlByU4d?@7B=kxJ+93Z!!g7N8BX zjrS{(;j2IYx%qS7O538~Z1NwclfVAw^ymMa{Nsr7E31{RNr zPArrnLZSz(eqJDVtJn+q*18twS8V}w3QnGiIQZcSNCc6u*F0_0*&i;0(w?uD3`IM7 zq-BVnv(@}W>ta06ggp$7rdKc$U9Ybsg|-!hxqM1AvQz&O8#*SU(L$875>Ko0zd5z- z2BS%5Cnn@vVGp(Z@`6TfMVTh#8H-ulD?5e@G>}0ZuzY6mL_5}2&o&rQ0!Ng<5hZX$ z2}JjOL<#(qD1lYmw@3b@+sfW&VUMb&bwr%0s~hre)152aezh&qgmq^MUx(Etb7%GH z)9(V6XPc{u9$fKPeL1LVVtat4;s7bxDfmd2np+col~P@G)zyPTTSdjra+}9w;(cj@ z@_$ph$jYQnXA*E<{_o?{uO2`C`Y*No-#`E5t1!jWR*F@#J1-30u%=HEJ~6_>cmqJ&S}#g7AGL^p>me zKXabus~>n~R=CJI?tA3nl6-9@?aK6(PgQz6ru&ZRzGJ%YKBxQEH>_{bs%j}F$8E$e z+hqGr?BBLZ^Aq`+r5{8qVtjL!iifQ{4)`;aX@*UI9o;HBB@I_mmwjuUMz>MSu9->I zQ04$_!qDj*^3>N6fASG^{Ufx?<~NgFd-@GTDo8p0ZF~L9-uw+@h(K4qMz@8^6|LJW z)1|8S-qJYg%2~2vbkjKvW-2aMM5}e&RS>j0DtAI8jgFrb&7LV4;M#7DuF~yU55Y7ezdeN++Z7dP$Rf#nLDs!IGvl$V>rY`GMtTy<|!GOAB53=p1BA z41R9%)mPvU=Bp^nSa?imWgy1MN%M>s6@FWLtK%7|0MazeXt0FSh7o%b$@f3JJ|?gD^`HJ(k-FXL-oUi~f8KWNUpt)hcBS+W z5Tbk`J6DHoP(JPg3baGY^a5%tK@Hrg@v~_d5}s-uqD#sGCZ=XaMC#pritJdf7h*!; zIeSXwQh(nysU5x5sH=k}wS%OZ>b;s&wIeVpg-ZLhrd9uKU*>f`=CtQnY}R^hftN`( zZ(E`gC%snl@^=j0OtTv`fx0eFom+U01Z}lxRU05Riv#5FKfnBSa`d;u!=FwkfBnao zhyOW+fBf<2Z%4nH|M>Fg=`mbLPe`3%7fh2O&7I12T z%S1^w;ps$8VQa0|MYMJuRq~P6^U3TFz926yF0X*wO9SHLN)m7_;S2?9qNLexU!a#3YQhgtQEQlhnVje7R#BrsvyZ%durc}$R z@H{gW76zuGyMEHn$TD^6)sHY3J=v8d=-BlR(D8npj6UsI_tZyHEEx@BCd8FO4|ece z?P(YL0pApC-!fQ3&wv+uL(|lu zJb&?W5_Cklbxf4?SQl)NzF`dC?2)k?!bHfL~nE4z%2kR^TjIFV2< z3=sT1Gaf9^`lT|- zzs#2}VJ>GOU0e3sSI^Ea&1S(U?(Qr^s`v+)CZ?Zm?~}TC$ltruA`w|~7>Kq;$6keW zebxun2E9bVv=KaR4l>CTY>XZmp6Z3l0Q4Vf{D)D~Of!rur=cI`12-lz81|$w+Rn`9 z3X?f0l6D|72l$B#A&6+8P!vE4@ku!)K441dJYmwbL%36g5p$rEK>I*bdiK0&_{?46 zJC!@h;3fV5SG_s7#EEr6T0JOL;ac1BE0!&J*pYx$ZLrVVFi*4-1%-4%oMP0mnyG)?&t*V4rH%qQ!Pe%Kt<^gH{-ZK$WQde+NzB@bL_WXfhr`K#XXX#m{T-ZK5 z+4g$d;R??=*m4DA2sLyb7ILa>B$rxpY&Rd8iajlkxkwp=ViERnEp;Zjy|oy#PHXi& zJ#!9{pK@N`&=niZUe?P)nG4RePdNo|L8?HuwC@B|UL87o9a0l?Cu`s9;I9}>gXMRv zrEdGjUcT8jbOFCQ#y*!Xn_UA$C-P6Be*2S6$BQU#O_0G%hZR{o= zYDKWvo8b>Ti)wFn4c&e3ArRN};3tvn+@OQVesMSF5Jc>KI*D5j$@>(lzq+eKXm4i3 z_Xw)JxuX-vb2@f?0AZk7yQ|GQu^!*Qs(F%;M#$eH=JGbUi$pss5%`M@x(>3Ds3Fh5 zhXR_AIV(Wt@0LsrYNr13UVh?Ae&QV7bA1FnQ1VlPL1kpw$F3+|({{b{djlm*a|BG- zff5bwMjGHz>DA2$aG~=3*2B|Ro*dYsC1&&PH@ob@h zL>p671rx0q)U}DcMAURm6BO$s}Fr~9c>i!Sv87tf?_*uy&NF%=@a&&s`(4!QGkDo8wZvL^*q zb_XTCMQp%lEebz@KN)0){rk2X&ZKFw@2Fq~;_5>hd9YF!iDnH-ml~O;5nK-nibd-8 zCvaJa^O#1fH=Ur-t#eU(vjayukiWZb=n2XA4O90e71X%c7_C};2I6>g<@`gHZ~Xqp z_hd~sF{ckKp(@id$Olw;wKAn;z_c>2IYyr_7FHrV)$C@x$b;3B3X4My!FX}xifwwu zR5C~;w6%k+*4c&}@)S^Nj!3j1QK-K~<2$->MV{G`RQ5%f<&P8&wd&`?E?^`??sW>Q z7kYETRpjV_YeGJ}d!-ZIROqq>>L_z~^{4c@J&J^QbmZP#W>tiGA96;|to|ujioZSR zJpc3VMhug}wKr=sZzL;1MqIspLw;m)@{(=H70bxs_dmY8I-2SzX;V4+ zyrWoH>-Zb*)_8YCKSry3McBu6gtE8-urTNm;AlAz<`WO?=GUKvm3=OI-;&7cnwHAT zwRr&~jrL^IYLof~=Qk0n2)e@d`rtE?&xfd0)z>PsVChqm!@vLWz1v8gS3I>^eR^0q z0q4$eeY@@T7F}D)e2i-X#LlPCvoW@$uDeCgD@q;cd7ySu_B>gY%sr2_Ey(>@zZzzn zdoyt%!GGSD+V7GIGG{CyAzP;`fCNCAge1z0_I4L(5XEMzcpjsLR4#U0cqR^MGm^3| zFKyKd^KPrTD}Z;mwcN5KL;;@@B~eB~9^9~0z0)$Z+QpunkpK$6tE@`pMg`mk0DMS! z9P2y6Ak>vgFA-~89g_zCdsZ2ZWi{$8iJ{t+M%$Wwqo_<$b{&Z<-H;dm^VyqkPreDw zpVwSO8BaF~0PEzN!W%e&534^v{U)Q=-*$MG3yaY7%cs*X{aK2@;vwb;*4QAGCs8&j z4Th=?QRk>TX2~@d_D3FYLe_a4U-CE#I`o-ZcB^@~fbmxUB~Ksuqhx95yU=+n9n)cD zvz)UW1O z##O%s*mk*DFSNVegt;z=?oh|FYM9CZhl^a>nqGi}kbgDQJ1EM94FQ`b$Q1gc>CK!4 zRH|*}zjdIBwziW_R6fOR;W3%#nU+-5e!v$M{25%XlyW?~$>%I)T}(jQ9E)YP_%!0+ zW;_Xa60mg!|4=(roTw=|`9h-&M#;6>wX##XPZOR@=w!{qb}!=n0rK=6oqbjACLrv* z4%RwQLkqkQ5(@#3=F|9SQPIf4!hoj=B!kw&KqI{t_^QeSa{l5a(U=EH?i3H!a4Xuj zu-yGnLrF(rY1~o`(-yKss>EJsAZ|t5BIxDH~%U$0_iipqLB-uwf^|l z2sx%2c?jfepb4!E%#8jT^MJ-P^JvGcw6aPZ1uSU``nDkz)Khg36a82J7_}BWHcu7Y z&)IDs;yVgqb@{i=^xQDe-imNjc?5Ql91?M(Kcm8I6inTu)bwL^%VP6PM|91$byTlo zKBw`kE>3DJfc1PExYnQ=^h7LaTI{yfiYNL*W+8?^uQ&q){35bIaO&8nzT6_iI?edk zHYCHr!CE_D9cL7RlexBvI_Txhp2Hvp?7>!~>zd%x&siYXwTZqm>C% z8?`?|@>9k<`-YtoeakF>qpHDA4>n_D3}AMD))~NDZk0p~&qmS6OeY%G`aYv9)NWB)ZDRHP!ZQB+>+)BNA&`rK)FjEgBNQhfmeT%khh^uuPB|)^N@oTzXN6GcOJa!3+Ui0O^es*EDTTkJocuOr41p>)a@*kYv zFt%oOZbS^I6_aZn(0>1Q_MHU1q{^zofj#olu3O< zs(Mmi6D&KfbVZaO$psS?55Cs5TN8|GCVle_?;uKquL198P}fWq-#ZaeSob`1dJlJy zM2>MT*xEpsU!ggQ?hSJB59!SR5QP4gL zcecJOOTW|U>2P>9Z!Zl8(NMdDzb^sxFJeIo}Kgt(*AAU%@5Asu39=$d2&(Y`jS!?DGW~@Xo)=*=R z!>zsdzC;`Yp_pfD#@Sl!@ADb1zZ}7wP?Hv#>w!C}q=cRa^aycC= zM^)l49`5&rt32=S()*e>zJL9{CYL2i_Ob60>gJVsOoN*^5+kZ|u6Z)HJ{^u0_@yDaT9sO$l ze^>PRoa6BS#=pw5A3HQZ=nXoYQr1mNyyT8(>`F4(TpwfSg@=P8uGs6#ezdC z;cDF_gbZRI=wh>zRg#_PzMXud{-IEZHQ;X9zY=b-g({#}FL)gDyXrQff>5%E;(Bqs z0jR6x+q%CeU*sZ6t|ta+m5Pb{l9((~zEY^GZRe3E5O;IqbY3znMtE)WK>@Kw4I+$U z1VTxWi>yG$ZRgxNt5g}IZH%td_J(aP`mRbgj--AVROuVG0Yw7b=c| z4EUL-q!Jx#>9U6{X-4Q`A*F@v8HiKa|6>wIH;gRA-&3BikBjmIDHGig>89zMtm;U~ zRZ^hzE1bJ8BO|xD=blViOta{gDG{M{e3+PwlNDVfGQ8Eco|4yeLp0(qO$eO}9_N`N zT>hxlJ?Bd44zZZ6WIs{o#nj7!HBL!zkJ}tlM-mfpKl4fxC=qP7Qr% z!PBnU!|1&Tt#?bE*Rgti>(+lYLTI~fi=oxWA3*v!qXw*pOI=rMG`ITiAixr)j;ndw zzATm2epRPadF#?hx2>z9h5))8#;99;yn)Xu*;1b>EA_;JcZo$^>Y%LL(68?~v@NTT zKa_pcKg>Zbg+9p%=LrWv_gM!J}! zn(kilSytC8ti(z!s)&7Z@U&M5qeQS8WXjj{+JR-;w#zCnl8|Lm-%FSvOMYjV$(2mG z))ZK%s&UBqS#pt8il)lx(>g?v_1a65raVu=Dfw~9k}{qDb*;m1c*0DzNu?R}D;UNw zK4%$~8{qNu@#)sn?{Ww?i(suJ7nFrb-{_OY?2WB^lrkE=P2%3`NZXYXUYtOolV}0H zw`29EyEMx5%H2hd^2~<|8Vks}$df|zJ(`kdO5X)DKRn_drYq<{tf$6_ns%$!(PK1T@`SnnvIhs_0|??eK@QcR#;5 zd;Pq>f-g-OVP@oD(`k&L@~Lv+Tzzd>RMUUCDj@63c)(4VXE}`>bHF}IRU*3GcK^FH z@=19rc0Q4G*KmMg+Et#qj7CNQ1m%Y>cCYx5l&w{HE~)g$ z84S(-04vj)htS_1d-(?Lij^8uG}%;+P`zb4%#Q@A6VW^IJfRwJF6YbFEG#mf(rb328SM*tCzu-cTn-zYuzl7HY;@s5yhj9A*-P*uikaAmjIC6x zufCLOUW57E@Z3R?kUN@yiU#{;O5R87r{sAe@>J6>hL6gpoHXUVsmS=(Ww&Adl;;U< zT|jP1o`0mPwG#+fwnyw^_NPb3`O}3ZhJEE6IYTsksK~7u=m) zR8^FFVG(B^-oJhJ_9-aaAt!fGMCw+adMr(OT3pg9%ODSGC)I$j)+t{_#fhi4j|MIw|{MO+^68%@s$i*{r z7Ohz-09P*~VI*#f)7~wUmHKdawxYlAggpQ5N_Xk#6Hc5{AYw2?C&k=4)q6)kEBz%; znN+aQTHBd>TTr?C2x4bjzJIrD3SW7lNEnVql`JlA^OOa```^Ccc9^sdQ)*cgmS51N9n_J z9`iZToW9GRet37`-O&&4E*`Fv0~F`F-dySsg}1t*X}J$}$g@LhyHlgby7gT@J(ooN zki@c8_1s;pz)h4mK$GiR^ZCcMicr$-@~b74LX)iWIE&V?Vifn88i^YrPZ+~e^2Q7j zh&*E|v^IQ7r0VNKv7O*+n$T-W4rDG_ss98H$5B00*3_hUmEO`Qrt>J)`L9P)qa?Ts z3T0dse(b3ETzL==emy|#YFKi~p`>#HR^p>6UgLu3d>!AVOaZ03Rs>Jgv@sm}x>X(A zk!^&w^Pvy#E_QOPOBv;NtjjlAk9GLrO65)WPMSKtAM9lR{qmfNMetSws__Ta@~Q=r z9;~=?>{nX6ooVp~nuT2JmpuU*)gdAz3J56g0m4Z@96QaUAGqCJu15c3W=Pxa@PMtC z3w*xwIa@DZT-j!2`8V?7s<~$!ZW~(E3Tqi85K-qxwWml0hOiWvMjOPa-H4u#nVSK)vXU8O^h^jTfNZKNq$FZ9G zEM@GtYUnumwAx8!xQ;`^Ioje}xQ|1lwNCE+FstwRfe8iR>>Yw0uY$0c*Owdp|nsYAd@HT21 zTW1{X!F$BT`0`FTkOtD2K{IDy25 zlP}pJ8tB<8-@LMK1D6X>m_NkTastuB#K{q(V}L;jHKZsYBVQj?8mAGs=LcXqcErf zsdgsc{jAz`!KDGzu4YrBW>8rx9yNiDy6)Q7-#*9+l1cdV?f&N&FK^yK8Um1UX<~+~ zFk^UEOhxg6mUP1uE9>01MC3W7MG5k4!SX9blk1=_Xp&HV@e;~@{&N>5nEL(4p(uup zdPK&q@Z4Ui4}yb!T%Wi}<9 z1)8akPSx_r8MkX8tz#*WIpsR(KpM1g#d78JX&5a;$F+0agEXP|YHIM*T$+1N&plN* zABeN7`&i{W)NMAlW%s78EQ|>;{JIY&Rmj4)Sz0dC#V-_Y{4Rfnsmd-b1pey2Gbss& z8Q#$HnmGh!nuTTiOFc;@%WToeXb1JVopug=KAH#5n+4btWi!=0oI#HElSE^7AVk9u zs)rw0gw&2e`RE-|EZT=_5#lXDp?~!DE+jIbD3YdNfkFd8l8u!YkYoq2Lk6S z6l+^T*^SV#e=&xr9ype>C07%q`|>E0nU^>2&qM0HoklZ#z5QzDzjs=3~uaIFG| z-HNKTUQUZE93+~EveXwnbc{+;vXxf7N{<#fjFQuCpC zjZ_Aa6ILkY5|DloMjWf_QYl5k!Q|FhTcdM=)aF52P#U}QTsJd$1))We1!FtVi;;_z zT~>>X%k|Y>4xQIM1WYhsGr$Ek-XSLtkt~-Sr7Dy3VT=4lgx-y;dlGHC^K4_o8zBb@!i;R%@C$n{2bvjdSsM#_OLj5*`I z6D!F^n0)b^h}_NoDWO@01I8vzSPxnsluJK6!$M{yc= zdEU*@ADfzcrc}unl?w0tdoQ@ugMm`_4rDPVEw`LmyT$mDlGe$#CIrtDc6qQDT!K_V zrZF!aNs@}B(z<9}JfV)2F*X|9ss(pAGRX+~bytx+6}R~6QS$%%t0gj z>xyMs942k=H`eDQ(q{yOIGX3e-01SumZUtj28ld11qBL!h~7|e!RkGR;mD1?w*n7m2wmmoC!J_^7cb*46&$7T#Derx49OhC2GV){bmZ zwgaDz=JTT?SC9jvR(X<@TF(BBusji|*|55=rBomg)^@}A(Qh0=d^6Ar`ia{jkynlb zX8Y<6qFgP&c~Dn70ZF(ZY`cLZ=c|E{jBhwVnxw$Im{gJ+n;+*%QQ-`n#FCkB*hZAw zQ%_2hXwkM$jAKgIP0NV3kY2X^2-2dTO$@w7-8!jw-r)*%aW8S8%${|#$&IJpCjqwz z%WudHEdzxmn{5vPG37U0h6{7o4OODMZgIuBci)Q|%%FW5N+ndPsFdaU7%+^wfg94o zAp7&wk>sC-GxJ<~u*Jjcc84G0?^% zk38MSme7foUSENL@=+F%M4_7Sf3TNY$_hFqF?Vs?4IFjvcJRmrsMQusYe_PZG@{5H z9}3%vAxw%(;t#O%4MQzm{tsqEP_Rg6(uCjegf4>SWkcJDrG6*91wi)?d{b>mC3R0l z-hL)X)pzvP6>b4YD4qk+wx37;<;tyZ*iGOqW{|h;^ki9qR%Cl=<$AFsGz*(Dyxc2& zA&s5$n)9rAU=b(PRygnrQ{^_!a_4mQA1-TWM)A%W zOHF=T#@r`HX_i$kPs!rMg~!5?&b7Ld`4T|JXtV^#{Rrg2m6y|-*rWK_k)4?X(6;h$)D+%@l@c{-z+ z-m;hPo`(ewQFDY=7~xyT(sN&nP)n43=RNolK<`_y6u7zVIT(~~b5^=taQW`}DdBTA zN4eWC-#z!F+*PE+%H+8C%q%!GFqDxBa&@bF;%UGCgPsKa_8(_|uq+h*^?v~y` z9#Bk=6UP3VT&UmpV4sMgWc-~@5He4!tjmYJ`(gIU6?8U5p zPN3uqOG%Y0Zt6Ds@1VARQ_#9t5?Li$a41SPb7Gx+3K%wq3%J>;=knAahBY-Nhav^i zD5odQ?eXqng2FtAJn`0{7Xu}jusiM)z53i`NI%y-R zU=kYF|5e08TdH^3=b$Kp0O*$3T7LQ!qfmWv*TD2kB|rj5jyelK;#XVS{eXpj)%2Sce!g z%GR|#{IJ-Rde<~xy^3-ab}M1}%gV+M`S>JG!q-b-?KqwA zPpD~TT&AZ4VFq^%E+elj=Iqu>wNx4uV;3hAOmlBG7w_BGKbO%-&ho99+H=2I(I2n| zJ+jgr*Xm?W7nzCj^BWh&MzdRrz%p=c?aGn@dw1h@H7V+jzG3)%0KGv*-Ru*01993A z_lJL@TdC>t0th&5bOrywrq?%{k1AL&eUxg9I9PV~ohXu4wd;g()_dz4s04)%k2B2# zZkpX)GKimsQO}{KF3q<{6vAdxYhI?af|hD)tWKw`ne{o%F@ZAs#Oz>7-!)rnFTix# zec&9~QQ;V_b$7shj~bgu?OHp<-`X~s_!XbQsN>>l01}8JlHT0IDEo_P(Lp$O58rQ! zIq2BX{u<3bq|LwwfMNhv1BE^@;b4NYvsDKTjV{c4aQH7DP%ts5uq0&O|RPQ94I^HiTV zxa$R`z@BTeN)o2k$YqPuwXc@QDcw+&teGTI=mpEAqFGiO3hnj~S`tK)bl$p#AlZW5 zu(sVI!{?3>TOlh?OlT}uTQ~Arz(FSDxd!$ZY3z=CX_7)3_7A_wup!aV$E`6xwPiAk z<*F~~1x>DRX_?}8QX)15Ros*}J#BUKxG{E2Ua)H|nefD0cc8qx=yV%Dos|+Bs(1p{ zN4{)$95=r9QB*g9xq(><#3{QRVD2axtdY7Egm1KNfw2&~mhz>?M{z#d_Dr^C2!BEU zhI|i>{suK;FU>M>E1|n+)CNBb&J}1ePEOmMbF^uW=OcP98?5qFAA?(_H4nLmbGg}U zALo5D!B@F~ui(3O-+GKZWm&Pv2`qY&OD+BQ6j}XvlwYu_SL;B5qh|E|(V{3Yu#n{wvBeOhs(h z+*MRtI-xpX+qt-hao#g-yQMaEGAyu_rfZ_n&=iZ3-EdJ!7o=S&Bg9K(1>-eetz(J$ zILneHqD*VpPN}G>UpxL|%LR5H5;%4H=n=$7Ahv&860zY* zF&DS#PZ8cKM;A#;q3BmkN;e*dplup3adqU!ij`ZU1=u>D0g8`GoH$@0Z@sWfsD|o`+HzuPr_rrNOU$0zDk=3ZalE2rH@fTQt)(_n4P!wmp&-K}qCt%?nrL z8Sd|Wc8h86AOO^L(`fh?`6+oVl>VO=5F5V-UGT&RCSMB$G(PI$nd!LW(pkp^2Zw^m zcZtHBam|)zvPJ zY%M=XU(dn%sPO@-?FM#p@M)(m^c@N=QpHw0Asbc(5^DQfq3`whjlajOY1$o5Onk_% zYq8d0({Q!I+Hbh680Rk8M+e_;Hb9Jf2?-(}S9#xa-FIbB(|IE+ZD^rymjBU04jk40 zja1WlDd*&jNS?1U)}-UCsf|xYk=8xaYTu6)zo8j33Bfe?CH2H|N1~3C?MxwHEz$T; zphwqi`{=aA5o7&}k1p~@HBx4aVLM4QPTbG4EqMfV9_8qBd6zig>6S*KF3}!EO8i!GKQ;iDm@mJDB>baItYUE5ikip%Px90BKQhc1ew9=1s+0v7xmb3G{v!9j_-LJ(dR3^C>eRarg_e? z26$qqsG+{Qm7>YocxWlnoF`-INRqXXifm}I=DA0r${j4`DA77|`Va*l_b66)G+eE) zE;&=z^b2k;pix&jvdji1$XxGGA`fV_>LCURn|g_LJ;aSOP3!xBm8Dsg1+xS(xCm9= z2tzY9&(`9Wq=MW+?fx4r^FY9xw31bjWTW~agk>jUQh<*{j4_VC`+Wl?2a&%^QCc7a|3_PWM{k99 z_Ij>zC4;en_{wW$Illk?bzBvi-Zi}yWtQIZ)C5FHa;(Xog!+oqkfUq#h4sDLTb|x! z*e*>&51YWadCGF7Pj?v>|BvDGC*%b;I5YZR2E~1|;JL-JS~eCaNKsz{`dm3{ie$RkB~z9cjcGc&XfGKmJJ$-U}bHzuN0 z@45@!6yDoW)vhr$w42qg4L7z2NVd}=8&#zvd)ZDiv0j({>e4~Vq3Y9ew|;DR2HK+z zg85FRsDIg|s6S?r-zC7<;Y$j9WuEU?TI`Qjl5+xC$RILgS+RVfaXCZ%LGzJOq86cr zNWC@d?4~Nu#}^hY15!mLQyBB&ZrX|y{R|CL&Kh!X9jsb#qt5$0nAI4QlBfW{9Zs zwMtlR06ypP8ehEQ>*p`pueJ}}*Uw)N`)h>a)Nk1wGHs5Mbk%?wrp>#Skys_HcHyL4 zULT?;$RUiS4m-L562BEyaP!?-tYxbrz2(I-@*np)aHD@=giijX6$ zS`}-24R?0gHohKue*`;#vi5eZxk0M;ZtX2-sX*I{+qMAt>|S+)>ug%slwrNmZ`zBc z3qn7&xPiV#hI>eFLu3VPeSbAJCS>v24n9uV&10F;r>D?OY-XHljhRaF=;@<5x#An1 z(K6e%%82^sP$n1GAqYKq@`xOZ5_*=~?kFfYCm)wbl6y1d7iqKM*BGj;{q{?W>n`Ug_b8`OT z^399qXK!DeKO^odyeZVr$=gPmfKjTAEF*)3Rrm4KvU{4>^_~FKH(=Ac$hoS^gqqBO zOyoB2N>jGB`xQ5lt-1M7K%!-xUI0Ha)#>~YMy)Mqwa-;`i#oP%jepL+Z0|l-ZP@iO ztihD6(!KNf(Hzpmj^;;B7|c5LvV%11PBp7JwD;nikZ)a9SJ>Rbmjk7{4Pa@bNOJot zVZt_XyjnCnZOcQf_zla=#2$`CyRJp8_M7?)fA{9);W}eZY*bgCi_OLW$*(=Sca6j1 zxyE7oh~v1Z^~P~s1K__LJ+d9X>t5+7(Eewe#2N6}J3TAD9Hy z8{Fd=o#|OWoURqFP~V;@SCL*%P(4boV?gnDOs4$&y=o4388{H__5V-%Mw_`7C7XG8 z_9f3)2tu>I+^u!HWsr2{OY>B=jfuIeWkGL7Hb{3_w)ORetj&zjRWPqtl-5O6l>CNg zYz0Nsc)n`j@H7#AOi{H_l5OwDEB&uVjZ!#MufKf@bqXO61i@eS*M4p3*vl-ad zj{mOZ_%u5q-!t1k0mT_ho+xs=7QX76CX3twaQsb)7)#-?rlN&rb5+B9x#xMn!$?i- z9uo<05Pe|J8^bv@`gZypQ>Va~y3E}}iQH~7o?oB(lAueWcb!Qf=J_?oIdAkYnl)~% z1MHlG-AF3haQ}8&K=n%E*^&)CYZ^Hog$>saYbKCpjRWw1E)&V|%>Ux*`PD^>^XJ6; z)^bhVA?W^4QTH*IKTN`5W%6WAi?d3t&$$G6xi}%~c5TWcx>6$CO|hXxp8x0BC83p` z7iH@@9Y{W@dwyjS0T0k`OX*&FJvse;Hcme{jXzgMAJ4hsREaX$oASJpN^I0oS9$R_nx^G5a|bW2OjLqKjf2mIh*;E4}f9@JXEe;hlGGkyDx{=KF6dxS?+`ZP#mmioujGnbSy{<5HAsk*nL}LA?oquxgcf$9PS8Ci!FE7FVeJ0EXRs#{UUg4$fR zUhBj@*}q|eu~8@Z6Q9y62&(ARUR&;*-Qe~x`e)zK9yz)}s-s8S9Npd{i&SjVoK+1Xb}K=)~qTOxA`qCQ*w4W<~KxV*qAMifzfRZ z4S;hOTuBqi3E`HiX?4)N)H;lVdjj~8<~_DI4KXAqB2hGRH4<&v>?cp2JVBU~Q}X0r z|Mg!@rTvs8e6vdkp8A)kPv_*n&t8SHM+l(_=obcF&h!ixrAb_#lK;B;_O-8?9KO9< zZ^M4sxapmf^E%qHVKogBg>XevP+k$bT*A&Z{GCh3V;m3=U#-LZ-c$tEdo_a)Q?91~ ztnm(-%0%J9x6oLgFw|3$@oPqw5^4e0NaH1wT8l|&uD_1+nEI*HgZwluXk^jV)`7~n zH04liGJ|0@dRhIOlEdgM$>!ojz+q2)DmaEUaVlS@6B5i}j1tf^RaVMGAs#(2#s$Nj7TWj6<|AIZ+|l^rkdRckwa)eyHUYo1Y|3uV^NL%46K%^A2+jmu z5yrE%R^V(~GH5t~Cv``=Qrm$QLSejR^05F|EHhzDPc5=ijSglSwkF7a2|18(l-YO$ z6%REnA z82*Gf+}+RcxlUcF(0HDNxE`I@30Y%~F%qNZRHb;m@Yzgj<4n;r3`c9u#q!9$p@l3O zRb_2 zMcV|)fTpX}QJQx}(9X-*5TS=YdAYD=5#VvsB&({@G^BrMvuXk zn_jG$D@i)pgpDWUay5V*;WQ#0uw`0v=B8?#(ExWPeblAJ;!9~YD{C((X64@Bhfvw< z8|6x)hjt-^O?+xT&9q;k;cw@0hPKs#Tj!!TA;2DyQ6t~Z4qX?(O-~IHvAa30_bSCz%AX{e4hzrVFXx3Ek2D% zSgUMaHa4$iP+YJCQIRsStS5zo%!MRG=LJ)HS&FX5mpkQmQW6HdYdz%AuQJ$z%^w@7 zcv$8OuVrXIsCZBo__nTP%EH8`aM;-Hj&M_{9ww!iHRHpm)$IoW!h>=-`z!tiObTiaT~ zuDT_ozVU^ko-2|Ij}k-!JEig zNL8-(vTtjdpgB7rsi%|@OaLTAr-ZdQ2&k|!O5sluew$dapTa6E)l&VWEV3(5pwDe) zSwF0-%ZhGz#QLt=H~p5TOeJ7(4*Y>`9lO;@9zLuTs{UawU+nK>O0i^kj>4qxPAXFFcnRlp@v19| zXWKDCEj^+E=fP^q(Xf<3OO}TE=P#+%?n{8G-dc{xC35uq>bc!;QnUCcW>J=i1-7D- zN`D^*08I3HNQ$-*8bR&JfBeoik?Uy>p8ENi!!43vDSMlQ!HBF}m8z7mSjyVQpu%wx zWbDu~p7Gl-800T;MB#p~4_-sm6Zi!i^yq~e?8#%Ryn)?3sbT%U_=;wgnTEv)=?geI z&(1)uIum8n2#hdTa`wE;?2fs#O4`-y(CKT`6BH9_vES17%MZcTIv^hC`_0vXzd`_nS%x34=nR&JMKxH_uEo*i8gk#RfE~84f7HX8Cv-Phm5ceEAhmsW zroP2zJf%7l>MqH|FTvw5ZQJ_rp7s?2mCAi~FU-^jCER_r0wwK^soV57IUov!fo7?q!Qf8npp_jt_t1x- zWi26nt}f#C_c_}k;u~)VKM`I%?hmJqY(Jkv3WehN&52vck6=~)$tuX7sli~C{|an$ z42h@$M&4H!s23?^^QS3g9}wG=J?p>(*d0?hEG^4Rs*bfVUfn{Kr^E>Wz2kkF+EuGXiqQ9C+V^gH?DatkY8#lZh z<{FSV)pMgjFL<~}!iSk*3aEhloHUD>Dv3`g_($7wXuh;TVKn4R99pls-nG~`B{~{r zA%6`CMi*N{nH4SaZ-^LgGFSg0m^5v=M^EI@JYfe(vb7H?lCf+YY178(&_-(|)+UDG zr~!FQXKQvTV^Z$Ujcb0sh$G| zB{A(c5YL>#$WI6DlIzA`ZX0sEo24WR6vVXnFmOgmB0t!z<^bGYC*jD#fM(j)$;zHB znhIU*Xm@Hx6wKETD698>?ssrI#pd zlJ$)Ee?|k&LwG@Owi-&A!G(_Tjea+?z{Hivbo$zAln&n$Q`B5#%=R~q1Env9mR2vQ zm{RH?EBfuxn(__dc&rd-4t#@WOBchONS=j0gIY8wtCAEgDGdf-w7fRst=mMx*;q)I zRN`w>`%OYuI#YS}+hqbI@4+>-*VU_eCjiW~ zh$CCg@=&xmjpd5Z9V3AvTi?#`e zkMpn1mtu#fS|Fb9;27GTe6WdM`X!o-{#6~d>raw#`$b>K@#1gX;h2Wa5>CTg>$oS5;1zg=WGDJF$HbW?Uw$=ndEb!kJCj!JJY@q&QJ|zpsOT z!mfv}XT!loF3pqccuGipC82F4L6qpL%I5UUuGfChBRM?mNX^LbbUy)9#umtbFplHZQ1yhfAwT=ZGQO$&L!a<70 z4Q^SUs1i8>N4Mk95uqv3BZ=qiQC$C1IsY5apMSOIhZjh^1wRn=Hx53E zb@d%6cnW$np2Z0y+c(RVql)nE3pte4voj}y`X(tqSQ3yPd););fqQ`{Xs(M1gU#p1 z(!I?`e(vC2ugal~wFLDy2fYi0YG!ipMyzt47K5SCPbQt}+F*%u*pzNt1wDW56& zxyR7^^V>jDvOnW~sUw^#pxk4e<>jzv`{JdjYpB%i0ptkh44a^BMQeu{{u3*yiwhx# zEE7cC7}maA99^eKv9Q$r*#4AC zZDM;ar!E%v=*_}GmVPiyJ8Hp?wCMp)d56F*gb8sy0{XOOmd9i1ukJj4gUtH2WTpdL zcR?GO?6AJ&c-=?GI>{=8Ia!?_61<6ROpDV?X4OAI{b6Sb>fGV{SE45^JpcG_evC=@ zi%f1ZPFNq4(da*UX=_<`-tjDpO2+|+FTkkE(s_bY+rVjhFlSldlH>;$5N365uypA? zCl`RE_1Q3)jtvcRHT6eedxMw8_a-tjWWUU?9R-|+=UNrwsQohTS(I?q}9J_eEnfvSJq zc^KSeF4L1^1FGgf1rdnCBuJuG=EO=B2M%V3#r-aqA?YlzL#fs3oCF07j5x?5rI0GS zFS5#m|7!jI10Gnl>5vnvTwF%XE+Fi6x2RgFvjqFgKsHgj77D}~pf*hP@Jgabs~KQM zh!%%7&)sgS^#C1WeZ!fSW@N*v$=+ITsMTJmxk#(b>!qh#w=@Qk|6#1JIUOjO`Fd8= zHuclw4fveMm^3ag2jZKf@|AlzyDvXw`ni`c^Yf_8IIUU^9Ui|Gk+M|aPKXjYF`NO(XtL>qPtZv#@ zY2nRGCp{8jmun1a4b^IGIR$RBK%>Rc7+xx)dM4^yojFYVqyN(QHVC&*?ch|RHy}NH zm-Kv;hs5*XWkLc{l79W^538;C{mI{-8~-q^?RH3(b8TDA&8kvbEpvkeGsT9MQ1qAT zT4X1b4Bm%oevfQ`{s!+jhvnTvCZt|do;Hz?Xmy~npcaoeap_@Z({s6Ev#evU4t_i&B*=SOp-VWnx{wgwXWcusM;@d;=`%?XpqV;$x=J@BC{Vp#q zX+qitWpB`Q?y!JdY&S32o4SQVq-*F+m*wh3<;tVPDkgT^7yv=g@G?rcdr}1*N2`j@ zQ=BF9wQ>+0dhuyp)K5werr_%+SZ#EliW5Vo6CL^!OB;UA+El1WPpq@$h&aWwxeqzx zKx|?u!79(kNFHd3A*OO8o-XYaXHB#yXXj&ze)i0|;XFgvGHgx=Sk7P6$es91d06zd zsr0ZhBp`^~xH!#eeF5}?bhv;_M$3yL2giILGG#L|71Lf;HT;Soa~F+_2jHW*CZoM6 zhxE8pgPfOh>Xn+JaWg>$q!qASrJLC*HE8m~AxU}1sJ<1`NSiqauD@-Ogg}3wnuz|I>-le**9R#PFSyi+neD+^<+by?ny1TYk?YbwZy!e)F1@50UhJ^wu!@ef; zkh~m+i-EXxFIIB15h)V#N@!H7=l$cL)HZf`qPer?R%OVuAs~w#f!KtI(A!67AjgwQ zH>0sx^6ja!2jDeOoA&3AnFv;$Qpy9>C>2NDeboqEzJE%VqrZ0omtB&nmuXa*LsOrJ zw&0j3d(%pKbb>|u{Pv3o60f(f-K+vF(E*7Nsb;)pZbh*zHNf4_d!+W%dK z5O1atF9e0fx8h6|nEi4RX$&Lz79*o#oUchQxg+lj#=elxomL{gY0IdW;T zW37eJqCDlv;IpIL2*1drOk;u>uToU68RmAnQ2x-Z2`Pi=C=4zI_W`(^X8-{SgM;kO zyfjTZY#~%gqu@jjYu^Wg3edm-`;t3U!QP{djEJ{=Q^O2j2`9a0cI@#vkUh0V;`goa zTq1~4_qdITAaFf*uTdO>)ar=EgP6qWW3?~Bt(J|quOhNI?Iko`@tyBQBgNl<-662I z6N0Xq_g$mL3FcU#;q$y1HrFcHdcD_yLM3$!l1A#v*mGscTe>x2nhflu#NZ?nd17Ez z&a6t)Vd(;2R3}Sh&n?!&7GWXZ-TfYpQcoQw1=bjj#lQd;fODBspiQ!;2NClz9%@2> zLVQA>L`RjAy4Y_KVY2ku+$0*eE;_ccR4d{3!*RXQBCz;^iJ>iIgim=7KZtv9#LsyT z-{k?nGcx*CF0v_hAkO9ABz6r4W@P$@V{D3rHm$eKU+?L2EjssTZ*RnlI-Sj$EYQU< zv42l1TE6Jx9nl{9ez2Y<{KohzOWER=ZbpwR=W!iT-lVJD;*Tu1aUZb0CQ~avm@dhJ zCI)0e)P!X>0>^l-u6UPx)gb^G?6tEYKlhiuEQlauPQM06h!g)Ql>rvRwzBtVP5uwO zV=w;L*Ik$eNQ2{bPHh)<5F>&|v6ez?sFlk!_>+Dl&$`jqWpy{qQOrvcUw1$Dw3nVP z&%;`bH~g zYR-<)lgIRz&kAFz^zHD>>UvwCvo|^|SxyQ~%nf1rWexArjdPHC@(j5HZQ@ z)+eJ&M?Vpu8@c|&scI&v?U$v-l%BggpC)r@Df0HP?2O%gcvcjC02>x>t1Yvaj96^v zcRFlxZ&5#T%!I|e>&1e_>$Q~}g`by^5rv;Hvxi}Rzs%sCZ^>-&`%PLDO@0@(s?fC` z9T|t!H#__>S>k75Eah4Ni}gJYUpf-FtW(VfKxhKNL^} z!4KDai!$x(3r^4REQn?WQMLtL6(}T0kI|J9Z;auCLSMI+N@;s>1QBN@7{TR2V^(7V z(^iOQvX>`46MUpo#=b|@5{%6gZRdOfje!!erD2*R{2&|GW+CMqo_u@%*evukLu%M5 z<7wBm7@f@pje&=n*tg`j)D!|YHD~{tJG^KE%~Ba`$b!w&=LHhlzM@EP$S?51_l}3^ z>11RwrCH}4c9eJ7z6lt2XxSG56X#rdf8JBZOH?VvOo|2;toE z9knd0H^Cx=CcneM{ZuNzZX33oP1tx#C1O>E`mp@gF%hTeQb<{hK1lRbOWe*(xiBI@=LR$=q?08B~b^=Op$0Lv`?_a42No;FVK zCyhC8XNb)Nl54$;-yDzzG7@0DFH3I6qAwAbhtH8bAOvWW##P6MZ;>{9J}NAHxhdJa zx=1tQY*JW9E~4Vhd%DHVl!qL@8V$gl^-Y)~ZWZotEmWB8Mjj({GUs12*-9P~wD|uE zvDV+oGLD4F{#E3)+;7#VL+aO zUd}!1c`a;>A)bHm`fb=_?JcrlU}(h%QCv1Mtj2b5GS?z@Xz3Cnl`#BqXz_7ye77i@ z0@svP4_&kcN7?(Y#!6U53_?Ty)QaF9MO^k^%dR^pn_Xr+p37dGVltwj7m0^dgcOyt z0^+YB5>~p$n;-`r65J+WQ9uArHU}aV_HRyjL|4LLN5&zLTy!u__(KkXxd1|cF~%X` zGaf@cd5s~I#hW14|I%uHlymvYg>O0Ak{cmy#?2V=8Q|A9qo$ae+{-1A& zA*_+-4Vm13?{n_&W1#>4Y<{EF|IPST$%@7P?=*n_91U{CwfNt|a6SBbxiYI`D9ZPs z&M;SlT+g$!0@cK^JA#DbF82}6*4kE}$8crYI8xIgWj&xyHWv+=*NMvQSa#X}&e zwle#e^LsxGW5aO+yl{z67~?4B_n;m)rpf1x`whtF_XN_m<7~b^{=^Knf zW8muF5Pg&Xq30c%Y<(>#F-J~}7;6=j%UUp((MNI2!8XDY8JZkY4J-E3+mR88no*~Q zwMuqZ_J$hf8IN`ysgYlrSpF6yu#z!Ov@@2K;9p~1%NH)os-r0bWy zT~&g(Kd2c*;d4*m=vp$lEccW>KcATBdz{H|@zgFSlg_hfMGqQ$Y%Hekp(h2FB@AZq zaVEK}U91mV0e4&2$tyFFjQ}_X19Yvyg3l7d$AF%?DZrZlB{$nO?qGcJRRI(F5_Y$B zYl&jH_bV?&RXMmJkM-Bf7X7zJji2|;!ayXuu?@~ZWq@RMsKfo_1XK1`txlwM7oVT| z{f_~z8NTigRw!i3;y#rs&x)GwsMXr|eJzTQ3zQAYU=aE%mfiBxg14-pcB+&zuvSc6ul^Vq19}YL3XmEA=o_g;T}rbbKe| zJ~2#Y#){P)WWKL>cj7q8;IgH$x-LyVnYB@kOl#>zkr5wXVUc1c6Eg-hDq#Ts@xWeM zqswzh=hvd(>@*3iA4R<$7mtPDNU(eszE`CZi!0WKJQ-cDlU9VU{X=pVhLzQKg4rl%SWRTlIYO zu^sq1C`|7TcW#rm_{3OmCPHvW1xg%6xx#Ht^UQke245%I0bojtMuD@5j(+#4^pF5ITp{l%(fQZ1H5~77Fd|kSQ95&b1R9%{c=FC8druEv_yL|c z;Eqv^(wiJQj*q048d{NBlLp<3CG<)6%(0p#J^txaT;cQpL0sJb`EbDh>*n~l>Z%X* ztO;jSBoa)6-5S~Dwz@+>gOFz$NoQ+3Ptl6X(w%`0uA_DOwvE$2PJ&|53c@qsHO<9M(ol{ z6URAc|JIu)J|8jSz9j-ls_0C==~DZH<3|)MC$w>8kBZGPb(TJ^;+K22ByJ7ur8lrX zbUiJPQ0k<6ICi^mIsgL6n2FfC{9?Ha&^x%bFk~cuV*>MmRNMMrdw14IS{ccTiS_qjetYWre0*kbevaKre?Qr$c#7T1 zOvfeox}GSj+S2QMrs01%32k51N%Q}3c?b2rQ74T{NZ|kAT1**n2A~{_%e=7Uj#Bf; z+F9*R1=IY#FE_LP+~mA29Ms3Dq(RtO{7Xxf!WC6%ZNYhm$U$;bc?y|}?@fRTTL4r9 z7A%iLVbUuWdG&M`0&nJLTFr|8R!Saxl9jBho7rRf;^5T-PSzZ=enneAKw8e5W4UC* zdm7fo{c7}f$uMhkwCK~DtHHbsI@~-i1w%TBID97&sdvIv?Q0Buf;Zz-mh8WJv3@@H1;8E&FB#CYXd z114_ufw2|+T-N6>O`?FEwEr+qt7jwU2)MXr z;PkX|^6RGq1NHTFywr6v@NNyXB<*66mn>Av6)L$Iq~b5y&l#v-iLRPn(S>s$p3?O$A@+ zS0db|P(t~`{a%|+q*QCKJ_-6?+Vl;ZL{7VON*9wO)S4*NS(+b4GQ@0r6L54_WxrIzq#n$tQx!UM|3m*$N-96(+AV@3-@kue8k}Eia4oSSGe* zXQ$pHV~t_)ut(FREYS_pRBlW1(jdR3*9O%VfPjZ?-AS`Nm!Z<+hR#99s@>;+;Nf+N7JUHm?BJy$jlS! z)zr$5UP0HuRK>uyzYRWvsGA^%4p4z(rS;N%Xp-P8Oqh+{Te|596#E)aS76Qk@wZGd zMPP9ezzw9k0usKbrDnCnf2;}TiTlRP*wuiC^D(P-}VYZ?i4wPz2gB)K68p>g?mP z#_CJuJIj^fn&0mk4k2%yA9(wbB&htvLy6~PQ)LKS=p;3V`S!wk9ltRQBMguY7jPtn zY@=;$e!^vym?pD{J7KUopj50`+R0Kp={A0@Y2QH4sImBoU_!faywJvi?yKB1^i%y%7!#%! zn&BHaAnT|ZK}N6^!wtLHX~D}Nr&4`b1z}FmHKH3rntD{vF@|~3cY_-@Z9|t2JvlSU z0DaOjO1@137XZXX6Ac4jcUISaY%wS z2Li?+f>_N(d!jqq+PcOJw~qOyBG5Nb5gJqlr=9f5DO0AuQPM%Z0ggRagZ?_MgmGhvo=yUOO~ ztw3KMd#sduY<$vNgDY@QCJBJrDaA}bfNnv5Jh62$;ikC=_7b?f97Y3Ef3hq+6i5^} zzN)k!blxY%v>A0jV6>b2byx?-TdN(? zl7Q2lgixtzZMd(O2EY~cf?+%y`YJs^rP&6R;RgNcf;x1#bUDcYWojN?Suko?ha{>PD7bkKVr`_YD%!=GFH*+)!;X5WIXRQQjC(54$1Y7&8 zQzARq`Jzq@`DzF-S72|dVrbfu`s$s^QOnhp1(G2doh(&VPOdV5vV&D4^9H|O1r;tb zVaH3a7}50uINc1xX(|^Nj55PyNlYxrU!?dNxqS+~350xhJRxl6H}L;j+1oBp_w>j9 zD8!6mDkaA}OZj0C^NYiPbZv9X&H+Di^F_56|_DkaS6! z(0(-?5@8v{GN#&8?b#qHPZcN-7yXtwug54+J!FENGvRP5mwB?4oQfqPeuNt4L8T1D zluF7ni2SIiuH_9e-?7kKgkh0PKr6?Fr(bkX=oh$% z{Csvcg(8za{$qSL%Uo|L2R-7fhc2JohZHS3u7$S78xspBG7q1JXJ?NKfO1oAJDc*H z3!{Z=8EnCZF=%K91yej+fcQ*jA$v#ys~2xnK#u!I?1!G%?jHVBEw zet}Iosl2RXkbSgSiaH-KXUFY;-2I;re-)`hn{=$pF52e=I9Q))53fjP5G?RqvfnBr z_L)MTyAnQMmapH*#?-AoqIfQRvnN+x113LjOdhZNc|Q%!zRuV$i*jJgx@j>AG`0^# zXf@ypPwJfE3L{il633O0hN;6WKBbl?`O!|G^pn?6BJv$7y3JI7oW~(V9(U2b!w2O=s~V z4Z}aNuqrr@J5Ryd;HF**SC9Rqif6r0kgsXUG;vG~E~5$r6LzTn$S9ApOu%ME`lP5D z{{0+_DlMR7mt~?r+SYTYv^6NOoUow08WM0%JvPz6fI-;1GdyEFi~c*zBRjwjk{QZy z7A32Az`3-0&pCGd7(qrXZ`{9?+06se z!2wm4?RAlFaFh1n2Mc?=0B-yJ;+ArEAEQ`70H@(xzl!6|dC=SI)sECA21W!dY=jI1 zllNtOST0nTk(Y_UWWO<9UzWYGI7m~C_gwrLqgF8-ybc0%%vkR|cXm>4&}sbB_xQU1 zz)b+O8N4bU=X7-vrO4E!lrrvbEaTm(|1SJ|6xVa;7!fJhow9rz5HzzbZkI@z=Z{5`qDXPcmt{U7O^{Em%)TUc~$2@U)K;O1`?1^hmvFug(>Nkg4$nP9MJPP(Yh# zM&e~6bFo(%ykjwi*rY(OgZ!8??9mG%Umx=a^teu&9`t4Dn;g2A+wzb&uH)0uGvojF zi2C|>REXB;kml{NRE1#lz?91@z6?@?n29`w*$6Q$r})PYRh`d+^uJe2<6iIIhVHQY zGn4@we?zcbW|`zB8-nat*GMHj@N(vycAnuvPJ zv56%$nGoSpL-w}^0=?*TvWJQ%qNKx&iKrMfbLBIyP?{P*2ezEt-q=6zG>2HDr|Wm{ z+5Qz!T$)&L4Qhl&Z{_^XG$PLD>i%_$<>|E>ILq_E1b6RFVL;&N=l0T6_SN~iw(?RI zxfIqthZNx+XpDtGA!Q+m!L#=*tuBYEcn9F&Dt&WHmRv*HxJqS%l2wo?UCDMQ?e3Jl*~3@lRU5z+j#? zNI-IUpnHIi8fiDfab%e|xMss~`r*JQ*@ztCeb#oB1ni2F-p-<+8Vjz?<;ib|AbU^3 zblmJujP)!O8KNLugAkzKVAXrI4?*0dUXegNmSqH>kH^oT5;wz?E;1vQx8&TW791+# zaM~py+|h0EcGFuxXvUs_!qHXr9bh4EQmTnFGOEb9?HH0h ztlfLg5%7ed$&O9x$p_mFv(}5H_bI+S6B65F{qP|?^+L-Dja7P*Y#aiUe3A~y$Kjwd z-bzt8;iFJ#opKEbK#R%9wpb6!f?UMKRzIl=NKN~emeH~s4`3D?lbv>Y;sVNp(=E+2 zgQmAj4?c(Y!^vxwnraxt)7xHug~p3+N4Zyli+7=2m07Ox`@~y&_BN(fUy$3hL9JCb z`NGQdSxFyB@E1dd{GuKaQm=Os%)< zisYnC8OMY&9))f8QO`@Gy`*k{!>n0X|5JB?F)qN+3U4uxL0C|rd69A|iH9u73Crzi z;?SzJp)DaC6Xq`?*3`xycboAcyQ|28J=;t}FuB;V39Hgr9puiRa8LQ2qE_^blk{Kh zt|9B+#1boEaNR<=ijp-v;kNS3b4pb@;CgjDZqd)<8l24H1kM+KO{%EULAAjQgIHU_ zA#fRpQS_(6cpjo5f%xl*kb-n-psjp*4kfOW=kibVp1>cx13$EERxMC6DvYY02xA*@ zm+w^RFHY<%sW(ew3}^fjKJf0fzZKf}njZT%ZcK<55_1@R$o^|aKbBHr$!10Blp;67 zO5x*qG)*$R^)7B$<1=fJq zkDTh2S%YCL98p9}P5*KCU;e5g5{D;=0uYTa2Rj}qj%_0kl81Y}*4FJv1i80&Z6 z3#xJsO2>!&2SwSQzp(4C`82Yw>DJKmnRd^?b$5Cgw|z22Ioc_`t3M(a_*c(FAkb&^ ziM)E_DojRyv6yScV6r!7rf_WdSB*@`S}>_d%!D#E?^VfnPt{uYDV28HXf4w-LbK>P&FJ@T3LVF*M&kS$SryE!kg!pQWn z*$Huy0p3LQ6&tz2DN#O9B5M&=;doS2Yf-nhLw+m1Fj5#lz#Si{FB+DLs5DKoOsTml zjp2U^0hL0NQcDrlmV*G&B>Eil59^%NvH3Qaot7U93J2GF|ohPDcrQ;`Jgn+_NE`$6<=#4 zV$gc{@Q~Iq7mn8W`K78+UjkC}cHaV^O;q|+ylNZZx~LdvWcug4oZDMl^Li0<7@O#P1Q7}XHN#8FmDJ==}`Dm%z`Ftp^!UF9-t@)-9obA@T{_66PM=IXrUXtpd5S7;4670_&gj65aBSLW z)*_RiO(+CUEYvk!o*plADn3i!zg?EWJ(V@=7eu9k<8ED%e|DRbABl^PX3=O+7?W1m zrZ_X>6fCzIkJLOUrXvp2j-Sh&T$H~41@uDwgcWgaVVgQ3TaA+c6>QVH?Y!+uU$T=( zOI?7KXqEwjj>ab!a#5wJ_BXyj)yVj!a^)gD9blG}>_X(NB6h-OMfXkuN}JrY!kdUL zJuxu!FKDBBhWglxIDg-Z0Awm#=~fkf_kK3D>UTL-bVu4SiT762&`V^x#0=M&1*fSG z|L|L!a_6-BM{~Lp)K?QpRg_YvMtr95+0Zl>;9&!Ay}e^M8pY5La<(6X0#5QUa;VGu z{az!MiLgpx1*n+mg*BkuKw?-+6&@uoWap!@ua;Qy;JhLl8Yf}Og8n?nWXBP+rzCJu zh}7LFFuWV_Zbl;YmAdm%=>3E$q)0VR^&B}SMpUY6HRB~i_3mTMOztx|1|)z z?~M(@Cd9eXh-pSfQ>M=95mKGve1{H=pq`8~3LyRbFs;8YcNz}qi_P{1%?ke32A(8B z^$)zyV}EFjIDIZ5pig7Z?Z6w!R3C@;GmaJBbj)|G!(Ly*WQ!iwUr&=UCFQI!Mu;5M(HfHrVhngdV9u=8c#-heLdG7 zVWGbd%e4^ZT9yNqfmr9=JgzlsGq3?_Qa%+U3Inr8wjDO$|yc zMt(2b927U?QD5Pro4Qv1n|R3?cyQ3`tqY=C`r^BPc1_@^O-;HU@zDgzd!C%1*IC>Wv6c{*XKebE$?A7p}LbTraGNP$l zCx(H3JO6tPezR#e%T2M~Bfsb#Jms-w@6O)%!{~2x5mdjZwds=H<9BN#*0oyj4OIBO z%Dz%!hfVJ*n&4h5<*LJwgbZPI5b;Z>>F7cP{bM?eb_-wMo7A_2wnSo|$FU4>v|Hnh z!Yfx=YtrJC9;RuBJZVNNKT7A~(W#bpo^{p^1gdZ-r=$Z?_NyOjatPKvpLa*Dm2;GZ zFR6o(qVQQO!6!}u1S_Y;+h4{w5G|TsO`d1H*vJ9+%ZI=0qvR=p2=u03@F{VL)UR?T z3n9Ek;IhrDZuq}l`X}w>BHt|Ykt4ut8)eI*R!iLn6;Mf=6&Vdj$z<(6t=*TyJ zvtt({Q|?>D@83{GAaZ&JQ|e(BNvk|?d7Pi#j> z%zh(6l+@r?orDApQWi0dGs-f(0%y(26wgcIV0m(g%=+%!)c42H>_Q2wQaV}+?ClP|MCGLG6LCT;>1=&rwE&`tXyYxz25HTU9 z5cg*{{c>Y1{t%f94Y2%Z?T%Y>+pl587%wup9t_6>yKUF}^s>xIbpp)}^{C11B=sL= zzV7?7_gMPIvffLjoM=uGJ^&NSr!>_+ZGgngmDE>|+IlctFpLvv?(ZN~t|`4$(DS)O zh<38^x=GOwcfWBN(|Yw7YNsz}$Pk?m-RZBbcK$)-`Gq!-|B0X&|FnhGVqPs}?LcZw z>28aY3v@nJeD>=jczk~^&IO!fOT7<#`BN*ZrMU~$AUo#Vx9{JyWnTT0*@SQj8>Pev>gcPyh*NZtd6%O#gj>1fg=x36_gy= zJ%*6FT|f5NMtZ>I^PgrZwP8Iah-R9KvnutDn}rb;S6IqHi<*p#xkasx!0lZTmEz*b zyjs*A^fzEY`v$7+JRqKz@!imy-OCfhkQ%ex`tHu0jQugTzoKSaA^=H5(MXvm{liUB zvc^(&1pLA4IYEa(jt*+Hn4GOXcNcAuWs&y!`t6^u5|Iqz_MP6gpEEBw22l5zQ#Y9c z8fixgG&of|yaOK`dWFBaWSdOJ=G$keA}tWBcB@KAVFsOu%Sa8C=*wu=UhPEa@Lga> z+O?-*YV9yDd>Jo!L7lyRI>9efaVBqW0OxhLHzP{S7E8W1!q2TU3m}}%ZL7>r`9(** zh@3=OoT!wX)ToG1QfqFX`5C6_#t=R(ud>Q3a?hRNvE+rJ6LNhc4NWzx?3)%Zs z0)@QR*W11O*Xses*X=-6rr!&L{O3a?h5qN*KY720eRq96&+qx+gg1iEDnC_8(J_7A zmb<3bKW{RtHf(PcS`HLcNLmix2pQa3s-vYZh~sE>`LC1IqZ5|@Noj0q@Htm5m>EAh zV&fb1`&m8~qt*pYB#wcG=pl+qgjBEd?f&R;Y z)b8uya?(E@y$wYF9}b}n{_d`cdmj@2@yRb(eiNNi zdu;yB{l;%A7ge%}cS6`Jy+|bhYi!Dg^&Y_?XC~Vkow36H~r`lwDkNAb+++^9JYEiY8rz z`DUBVZ~;ACRh96Pi>K@n3{j#A868&$xbQX3N7P3FWea7?>SD}u24C7gyG;7z+(V+2 z@|D51Akm)NZ@Ra;zD|SRB{6KT-?!}ebus&rUK)R)yc0NOK%tBJy>jo zOFAX|pnBV4VE2Q%L=yWk=Wt9WWh|O{3>LXjU5Qg=<2M)MMzrAD+qURD#59&nf5IZA zyu~QIRO&Gq-3LNd_6Zz?c zFSaG+2?ANF1I(+}qtk`V)i)g4-j}uK*+-o$VZo>`iAsB%lu&VM#999!hg#{{C@wOc zrw9kgTNJL3h&>5Yh;yg z7^<@$HX21=5THDfyV};oiMHz#^zt&o$H|wFAXh7Nd-hlK3Wix20$Cms6}^JJvS4Ig zHN&O^aZC!BmtmoZR>J;|0MbBSe`(Grk|bOB zl}-ulL|VbTmL6)I^D0B@R{VmKqKYY~U;W|3$ek#1n<&UUl+F_>LU(comm+j(lTwq< z-#-q>wIK%grRmY-f~ z^)d*Lu`&yd=li#oz{#)S2@P&kSoit+Dlo>&drJIHReczXAPArGkrUhrsJ`5h2+QOM zTQuEDGO8EbHWCU&Mf{?IeLafCU0XK*ym`@Y|b#X=C}y#hXlVb=dQXbgS#~y`ICCkvwf|X z80j7-dRbgx5%JHa%e<6F=GHPplfJ;rYGRZe_H1|kC7~NSpXgzmwqF@Pe$51DN9RX_ z2gZzKitO2ep;qL)yD?q>bNsGxsrg%}p$vLh-m#nHm&J@3rznZD?^z0RK3Me5{Rn05}%Qg(cZ zZ@gsARAtuG!=32nh3@dTAKOLY%-Q4L!&M76;UYDH2?y4V;|4(ULX`C~mr~+pFR}|F zR@b-vXUfhuGw0jF-5tET(c9IX&haf?569cWn9Ma^4>t$Luk1fVMW?6B^G?P4egWRC zsg3pL{p=O|dA~-Kkjx8Hj!G!{#GG_IEv;;Our(2dT1GAVk?}d2q0YOJGvZnX2S0{K zPiBTuRJi1jP^D5*HBZn@JW?X8Q;&+4CJ~&dX1XSFJJfImzO=76sR{2 z=5BYt)2QtB#t>hCTMX{{`BCWTmM@U6ADp$_=jv$dTc?XDqVc0#{#F`J2*kh&0|fe( z$4DSkH@Mk)%#BH)3#^7z@}*JY4GzyTdrYdY`?amGJMow>%9)I@paX2tEq#0Qb&FkB)@d{3Uuf|Iz470A{4LO*fe z5a7-}BKOmqFq{crpZM?^6Q1nm_<~DU3yU0*)KChEfi+9{}7g?U!mMV&U;8kaWBHKddv& zQ2<8S8Joz!S51)Xd}AesxjDYSIj4lep}$Y(9K&x8`p#Wr42VqDR@Sl`<0;P}VlTfE zX-wiNV2<0pK_QRZvB8J+m|=zv+#7F&_J|m|z{D(`67M*<>>gf{8>~;3Q?#WkuW=R0 z@|Tjn&mm*zjxR{j+gX}HhbV2LY*sB{F7!xB{Fglh^eB4#SE-f&v_Hs28(u9gSnnl3 z35Sw>;P#v!2RuJlOvnU2E(L!RLnH@bFQ`V=+$+6S)?M0v(U`NKGp#^ZliWeK*_#n- zrd&M@F1j4;5K#Uimx(BS!VCqe^n_&&wxQjY;xc)OU&5>8slOS7#w6bGx!XLGX7qDi znq=#U)E+Od<)+bv2ARq~3Sx=!TkJ$0c?c~Vbn_8hspy;E`t0Af)Lc=IL8UBGM<1Z2 zaUX`>;Ny0^K@~%$?hFJL=zNt}i>MG90H9q@v*})`5gaYw~geoBjKQn;D(ym*icE(%UK z5#O2;VZ~IzuQhco9coYtbpL&QW*mtgCDfxe50lpe@@X1$9|+!Z9#DIAT`i+gWB+yO zO$lc=*T<8d0M4r@Rcgzv(XQ$z+RMq?NyUzHJx|XIpPJwfzOVS9Ij<7cNJsLP&N}L{J#tF zW4Y|>qyhUg!?~|NbuVPvI=No=yr}C^EIv`}!VbOmWwa#>FeP@PeoE`Uw z3hvF{)yUYIkuiu~{hB3^ao5hd*^L4Dhc1c?p~Zl4BKKHRLvWDrMW(NQapLC|iT$AJ z)Z&yFyHOSl@1evG8vCs(r72t!qNIaWVnX;1*=ZZxBom6=4`d@gLS7IOM&IcxSVNLn zmMPNVKi@{&!8QEB(=F5nF3c)|hig#nFx!C2+jaKh(^by>C%G!Ah!{kktuw2O1eMHh zwfL3ZZqOmH9cBz$T-`mpuNAvONaEWU5P_PAaz|`#x#s{p1CFY_NHfo2iMdR6!_-J1x=vNKx1-zsZ~ zYVBuwg7J^`o3srayaCa}9lf|?LTZd(s`;w#%7*BnS<9H!T~_d?Nak=rcX2O2vmq{>N;Rn0^+<-b1oR50NCS8!|UF@`i^b6D+_)H>jGz0@`+GRjthp zQ}jWj0wX9I`TwHw=`E7Ec)|NmqxdHnQw6oH8#q~C29FsHsCA!&S2Y`_Ncdzw5C0RK zang(Y{aQ}230G=q4~fABhY1dMDDDIbYdwxUWPXxgIhN3B-E! z2m59d5>+7~mY4H8U)Emjjbt>T;>z21gQ40I?iR%18gB;9?<{$@IMqXSZWPIaisFAQ z`~8+aw4obT+Fcaz9-y3n(oyoad@eR7xHfRLQU)!A%;^7GhE zW6FH2KpPp+VKr`f z{XgrC`D$H=#0p9bS7=JM;UmxIPr=S*DnKxx#xKE_gg71=6F@JTH0LOH_P!g>faS-s zl4CxyQ;S<%KvO?G2rZE)m0W}`(Am_J`m>kW)%>)=1B{SchPa$_rc+}Psz49@?&f8C z;LkSBF?b(x2Pp$&_-5V9tc*BjJSt+OV^7qET>0|{oJ}8&f`&=dk2^IcIa070ZLFQd zhM3=%>y?=F83;8TY+A6hn?ETTd0*MI9~6$H{21kdph^ol^ODbk^4zt$M3B!uVZ{_H zF|(IQLw>Trmf)?6TeB&&BogYU8OyW205ntU1di6Ht8&`ntE5kS=C^mpDv_%bN3{rn znL_+LlGa}?q!Q|qlNxL!Qx%cVI7$xkwY~1QwE{#9Kjy=ILc5cB&y@NYI4V9W^KY4C zDTD`*sN}T|TP$#=*%<4V$4>I8FIj&NlA9*%p45q%vGkpF_k7Gq?Rwd9#SH>)U_Q6J z_Xwb4=PV? zUB|kZ#y)t`ju#5ZwnSeioCdDE!>(OdP6jyt8{hmJkVJAf0- zHNMKjO$SqNwKJRv3ZqI2Kc=8ri1G*+Rr*zz(a*iS4PJUCV|J<|pooJZS_R8x=4fUv z>Ok3mEWp$OQ}PXXew-g2#^`w7fw!WgiKEa($K2f9lw=+|QjTXBP?GeFrBJKfuX^hP z5reTNTA&f;yneT>B?;0BCKb8kB{UJ3SJ8+jiPvkIfr&jVF(XbK9GS-}%7+~ddJ!$M zG$z0(IC&b#EMX5@6V$@pc9MYaJ0~%r$l1HwJ;kh$>Ev`}$0tl`>dem-UCaJ*lKx~! z!%Ts885EAc#Uup@WMf{mbf3D8i=SlR)c3b!h#lAAa4-gh$k3FDPYyNI^fcb+^Yqu% zzT<%FSHDdqdTOBW#oe|s9E4@EaLC6JyTnPb#v>E;tWD>>M2hCo$$c3AWOcL)Sx45S zM}CLY5wm!NV-Wv}n$8X!ltDFp(3(vI6AzsP9y5^cwUwC#K)A4+d*vA$`uD^sn?ce- zmtQIq+Il6q0mm3LzttS@X;kj8Re@EuZ#BiFAkF2r9Ly&3hAAS#O2H@{#v3T?@-+&4 z7PDj@DAJ7x^HP27t>Ig@yr%yVJ|#2j$Uk+>W+vE%?BOTF#G_v@8M*LNrrwbrMHU5C z5Pg_#N-|$lvpsrfx56r*P>=@1Gyg3C83P>?^d1mjVX^NmW>bi#HuVOEF(T)mW1(+* z%PJ3C5TBug=lptVT4z22>UEVXK33`&^)sNZ6_}z5t)%0?G zbhM4Q=HXNRBf^x^RgrQ-`%-+kSPrXs-hFkcE!)_s2j##t>-l6wFKB^ONBXo-s_FMU zdB$Ar?7z!%T&1`kX1Yl*&1~Fr7>HXK2(SX}R?Yb^!uz=w!7Diy zbX|g$Wsi{fWB0T*;iH+^$pI~)9qkkVIVQO(_waW-u+@m742mXPJ|Pl^*gVmT2sj-Q zKZS5>Cnd^OcePdF#cPtK$2pB6pjhQiX?+L$*w}~`Mo841H_K4uIlx_n^l~t+uq`>lTz3;EOG40}xs*=LX=c-A$ z`JVtua}2CnH%*XKp{NBXTd39}~xJ8N3_VrXws@{>TG8vZ{qdAmQwar8Le> z_1;u-{wSF8XaI91jqME;JCmZm34Q;_wKfK3==HS(%)j9`lC!lo0y9_)&g$3rFmbIq z!9%aw-7W#Eo=)S0l;ahAA$ghMw<0O}hJd7SvKFe>$df+-T+1wEB%V)^pE*AQ-JdVK zKX)%P**KoGc|82&b1YmQQK1sVwDfkqg&ILR{JQ(VH}eeowvp(> z27|lk4D7-%-sgw`2EAJ%aIFjWF!tR~1vC;cpSN=Rdc*X6-3(mg6jl;#qgVB$m^EjY z@AV4}B)c_w9uX^rhmFtrN4mEuhr*{8k>i0!6bLj6e0u*-~-Bu+{ z&~wsU!%}}sG;hM1a5)7!y3C?_@|2T}1yKE10N)PpHv{rmi54+qPQ4TUQ3sp>r5wIT zn9O8zcaS36e+}JyKaT9c-cn|M>5e&cS0>Ym`m8eyH`Z4CR_v*^*a~71)Cihc5Dffw zqA>FuujmIYWiP}m@#JG)&D}2uEaF7w7gL%i^sFBN=wRrzhN->Cs{HSW1$=4w`+O3| z06H7^YMK1bhXFdO!T-naf7}1#`n$!@d%c3B+k#MEGpV!@x9}#r`%qM>7?WmQg(*_B zEcfG4a5K3u00%-d>!nfqY2J6j9lVc-cB=s2J+KcX{V0HZa)&1eB$C+s#5(*L#o%Kw zxr6?|HvIXuDGRhxer)LvsxR*43G%OxLAJ^UCZ@ir863L8$e~5#GUujhWosK782OM; zgr;?s42-~e=C^9o2optr!+T7Ldr7|%Y1#Pn55ui1EN(ZavbYqG!zl{oW zYYFTN6 zt24ffKqG}G<5Tp~f|Z%~5U18$c2oxmu$lE`!qr<8w{G11P2wsL*S`yiMblW%_e*TZ z1u;)s6j%%8Z5fux!9ZS>oqA?CrQ;4=0@CLtV85WOGodl04_8w@EGGBb5X ziVx*ln%Jk#cGexQn5RjoPT%=l1(8= zpjKH)MGsV`FzdmjSq6<6-m+YDW9ys@&TyB z9LA53WWs-0{e+TH*Ddu=UqJB_GHJwEJes%RO_r;Np+wnb{Mn4~9y03>;nj05%rP!# zQBB@!5y4kU-#q7c`J3$GP&+MxjW-gN16;Ig6laasA56N6~t#V@n&Kd+J8_;E|t`7>GhkV5<#LFi_!SkKkW!-oXymX z<*SW%E74b+x6XUR8CG{J1dUrj;}OgndckNGSh-^=HYV^#qdMi5TaNpAxN zHStnoXrMCNj6R_{bAn;fjByqUJdgM3vl{i@aD1bio%uH4yaVD1SF$@H2hPF!j@Cca zR@Vb&F%ktV-A^NUmM(Sit|fhI;XEtS>N5cKxh=Oty?wtj5_=4J$xDTc^13gUZmtg_ z;Uw*}y!FcgD3NiAVwb-2`0^pQ@A<88^ths%EhpYYk4l-ZV)H%X40U$4Int@KHY5BB z^}GJT!soJVjXxR9ISeSp1Wut+=3S%)F4PV)kAITAQ;QN}GbATXpWAK7tf>E8ybTwA zKtvs1-+2_7jGL!KYtGg`KTr!<^B$t=V+HZ3CURAyb7&&78fd|RfV5RL*d@11Pd_`2 zyVN@QH;o2lT<|rGfV&*`E}cYBfMeu%RVx{md^=5zBaIDao`BXhnUhIHh%8|h@PGp< zVz0be0h0$X$` zl0Og4zzK~Ja;_tbe26MFYDGjR2+cOe zH8R}QLzG8_s(Wry`&+9RUN!3`TR6<(=y4*5MBrninO$IJQy^F#R^7--g3yNV+fKd- z6Vt{Y3wK`s6Qqqll>HS98`8#;Q+ltkSYp?ZMTed^(J)q{adbwV?&Q5{6HjH6?_TGs z5l`)z?l!sVT&~K=^-ZMJ!U6h#h*L~Nqn083~`4Oe-du~ON>X5coJBRuyMvMdr! zRbIgbu3mcKL2X9iTL9|N-_!WIgc*)$NA-88%7N}{Z%3{3&0}|5$zcte}(suj`R2#J)w(nKDr{V2$+e;y#)Wty)Q+wB$mI}XftTg-Nu zmP3T@NI~c@KOrpI0FR?dF(KWrz%#qs5EA%mMfd?lYv95wBKv|2%jn@b-u`8#|3<%p z<6mWAPP82~WW^5&Aqcwby7a@n4nmDyJsCh4vO{dCwErYa&oD*AhE3D#@eh_3mMINTg%cnz z5Zlj9){5wkxtpD+&cjdDiU`ox_My_pmYbb)l|IAI96*?I?J~d_cLONLkZMGmZ$qxf z=y?my%gUIYaxD(xn}Z2@W7`k`FL8#w zIDzq3T8V+{KW;@env4djbH1AEt<;JDYjUQUwv7aCyT)b#yTlwL?Z69W3qBqHXkCe0VgdS5{R*1AK|cr69tfj9lro!c+;1G%{Q_Q(7?Jk z6^s5D%(7WW!@3t8otK?6$6L2ES%hdsqG!I|xF0@8QSt=+`lkWn#m0g!Zlm_=-hGUf zMsl|^xxdq&#fFyDUpIa$UM&}kw0Qc8Kqu6f;cQ$ zgPzbI{?wL1fi@L%U!gE;+$<8Hpim4gSkZ&`LR@{h1+z#rOEX*GM{=)l{dH$G%^e#A z3EZv2RS8;cGLJ0(Pprx&D$y{6zT%9dwH;0^g0@M``=g_Bo0*xG6^OYIeBRdE?h)sO;*9(z`NH<;+hpQ2jt( zmj2z?`Q6z2^~?C*zW-h432v%sVW{+ivA`QxzYrOzeg20vu>LzNpZ=bZ{Ademq6@?( zWhOw3>m9x3>pKp;by4W{WUISLPHyl%KHTs>Qi0}yKW!s|^NF~o!+*qy7~q|Qm(uiH z2_5Inzkg|Dxc83iBr`btLU-d8-j0cT$+%iUb^Ae3{BEL*#@hW1Z9Ai^U=8+S+dzNb z;tT{IP+0k!vEgwF{kc7CSOpyV;;(EV*_MM}`NTalADDcmOu=!LLLhjo?f)CEH@zZ< z-$nRx01!eV*^P*oiTNoBE+e{F9}_Tu8#r411+OkoOE6Dw{u!pszlmNC>|si1yV*+E zn9RX-1;icD$ch|mbV|pvtfV~-3%A{=1gcFt7OKuLBB&PdKDRJQ?O?@Suvne&>q6W{ zOHj6hDzu`%MSrxs#b8e0yQ;a}W@JF^@)5oyXK{>aVUuq*o?t6ZnhxI>NYa8_A4gEp z=xEsBq^!I8;FdN2cu%e>L?X%feo)rNi?dKt{w;}yEJvVd`#!1aER^4lV9Y9qKUasQ zJ=T1y-@0%FHnh5zJD^?0s|RJbTn&gy*P^$#@^&lXwJYM)!*#JajTJ~zI{kC= z+=y=_m&IB-tc~zIa*Y#x7$cYDD;8*1>|sYJyeXx-0D*>Hij<55)3P0-p}1?)j5DKr zKrJLGcTknRfA+i^5+v|7?c?nr1m%+Na+nF3=zoKw?xXg~Ugcf&Wt_6`d3LCoVxq)4A z9PU$}0oyY-n_)?YWofc+G8&7yDeVWIxlq#qf0Z%yrnTX(HKNo>ConBY*P{+zM0CY1 zv6<@aS}p!pY|viqh*hOA=VamSV9q{M*61>0i@V{z(! zUdpfnLEX#>kdVANk3iJ?YV#*MBR$h81T;3xqc{j6J>kN~)1X1agzEnH zkK#+9UugK%(dp}|mlZEM1%stZZUOWEeO;G`NLds_r7xG7ad#K9+>VeakjVT+H?o*m zD^Xu^BatYNuSg1@kN-|)lyPxfDB88GztKyUqH5A@tN)A6uVL9!OPXK(g-DdrDAL^I z&UU#8&GEcRSo!2Lwy4i8Zp%#sBAtKjaXVnu>pskeH(JH6Y@Bo%WcDaF>+O_ncr)0sXUTB-Mz_$um$Ugh&GSqyqu< z7yj}YPAU#^sVUkU$(|cY?h6wWg@oxz(}eqZ^^ijv;={rI$_HJZgZF6#^>eo|(1ZPb z_`qX z1kFUBtu1l4th^5{UUWCSH^K94HL}*Qov5G?*ksy6Jz|kHGUd_Sg9Y? zrGepYp>U1h6UKOdZT?CAaAlBceP^tZiQS`Np~f`3$@QnP{O5DBvBz~nZ52BrmJR{S zLIc^d7x{K9L&pvaqR9=n(+<~C1(UJC+KP{5egK8qb2PSn#~Ty-Gs=qya^{KbTr`4G zMlG$X9h@3P$x_=WzU)~`U!Lt!`;k*o0{QvlE7X?9OL0PfWn@AVXQLa($Lt$ex3j1I zjKJv!-=v!|L0TYhS);^ zw#8v(GwaA|hG6Rrjpo02@=5AMcJKk@SNFHNFEIO_;Er|AhI9GB!htsAe5G%pGQRD| zYE9VmsQZGE8mOc9>%GKHTNL7XXfOx1@aZ7Qgi&HZ>n^4Tbh}cF2jlyMn3bUNwf19x z$`pyU7xcqVVrlVgEQUp*f2J(MQzD!_o-fy!1hwxPc)!kMK>n>OB;Ov9VyrUwxPE(z ze}5cKS^RsX_RoD_%0q2dd4EDRa})f2INyMV=f3*J#5dap<=C7#a6~5D$W`gLcG$d+ z5*4`qCJk-@-a27}2B(K&<7z2I2HW2#(h9oNgD!_)iA8BQ>6Lc+i4h&P!AP6vNzSK? z<{}m!Gi1-3F|RKsda9m>F;d+f6p+`eGJ8)I$sUV0QoQ3dRt-$L)6-A%o!ql^4dz%@ zxDT$@{rYWh$3#&tj?w>wSJjH9NwGnYTvxPw^IWp{KP_VB!M~1~&RE9;>#}RvEOcCs(54dXXT?HrN&g9#RCx1QL5hFT8bpP^Ai$ipk*8 zGCt2W7bAC&SB;ZBQQL_Y+pO;OS$$pbH2^axe~SFaAOqPvr@mk1rmdt2rRC5 zXtaxJ3cFuVfYBWFo4*Jwen-MH%xPYpt<)o7)t3vnO87zxkVGHypTd`ro6YbePl>Lp z?h%zQZtP595<}hJwknnlo9>s_E#o7*C!t6(mCi{bh}5*j^A#&DD!q3!r+n>28Ci^z z^TNdGM&NJ|-4$6_BD4J}&IEi)*4(k?ZX*@)%7k z>71wG&*4W!REq}D%-GnA%3S=$QX9z^KIb9!BHiH7! z^x(UC(c(2r>P%885HVz12}h`@t#$Ds4xM&vgQjv((H;z5lnkhud6!w2CqrdU6+uZ8 zt;X~9C9oE1z+7JSRUQ2Ki-(Be&4A|l&)AaYwba;K{ckoSDOvfRgG!J<{ycA?3n9NAk#efdrBvy%C8uj< zeaA14_e5k?%7Z4zV;z$z$?)cFJ5iIPuG9$mc?Ps>TIh_kFr@v(G6p+zUe6#Qa*h*O z#DGJtwZKxXbV&~Z;%~7n0M9vML49o0m!pwT0C!czrJpguV-^rfa;l!54b9Q+>z3e| z*PGVDWZs>kjdZom2_+gQ8Ex54>xR2Zq>*82yHm9u{?MJ}ns>p4lRUnL_ zqZk8lF0=R3#Foli$9~BF62Z&p+`-mw6le8TRErrKzD%2vUGDil(@0j0WVysjV%UptGf&z$}Q)d9*=5qC(v!eo~^~eoD zq05VThUX6{|5*D(4XPrORDC7mP{gEV;%(OWQB@!kxU+;=)GynX!-%wz)r+t36ic8k zV;3uZ0ZR(bl~yg?ryp)aj+=gYakEGKhJ5BU(uDQr$@V-jke;v|Nw7chDw4vA#Mw&K ze$21f0Y-U$fI@rU|I`y}$4C;esr5LZWVw)G^BFecZ!6UX!_}_9%}(~sq529J<+b{X zjidI(Z3q>JXH8po&ZY6M!h{1Y0)YmM`2gPXvta14nFUmDD8Qhn{_<+Do-LO8QQe0L zA$Ja&(7ym6ARHHe6C^c%loMt2VhP=Q680>Qj7x7wKYGT+dn|mYqM}(%?MGN!%PM=# zcO#gR3C0X&?jzpNbNUw``sZ1YPG~xbJfOIx+pzOc{rZHNx)m`SS2_YRxgtyBXmHnS?aS5V@M4&5|B(w(<1w$QE$V zR#L+!^2DQz1R(-)&$FAqlt^A4_{7IT-qa(ZwqAAUqGmD821VQZz{tGYSHWa=$dBjQWA< ztmD{2$?+B^l51Axqb^_a$=R)Vqskr$*G{q_EbPgf{q|4aTCOyaQ5mY2RpdWT{@jPo zYPu(48@;c)8cdtGg3)IvbvUnEvuL^Mf#Izuk{$ zxe`ePnPy28Dk~j!km62aQAs30orDrLa_LMHWxbz}#+|<%&`49?zeW^jiZ)6`3@@Q( zu8Q8pY-dZJ!ZMhz*&Go7YOJ&zY%0S@zD+Eck(F4flm6tFGC~=lw!ze(B#SZM3$z$T z!%Llky7ZLsWn$Jw+X|^tE3UZhu+@5E$XvW*R-dSA@r!wmWg3c8o+T@Ubs`8nV z7g%4^X0;Hn5cQkZHxFea{}dG^nPHPnyo>ZJ|)LNP1gWtAVr zF}@*tR~ywr`e zm2OyCPF&{={22~J_uc|epfuFmq^3bT-$#RD^G@L%P&7(G1@dv)NlOeIfT1&Uo4^KQ zn(D9rD#|8KFk-bZYz%ncl;#ZKxseGtnF6{Dt4}lkW$TH2h~+bIBIN5qEDgj^mxH(= z92Gc-)|ui}3!!k054GP)$-cyx$yxqUnF<1lllr}mLX=+j5=zQmS}3v732&mwyA(d% z+9j@Tl_kwc*zeQIkk9LGemp7{n%~{c0x%KB4OFD6oI`1wX=d^xi9dj)S2;P%9rkqY zGdpS1KguM%tkp}!z~-bvwHy;qe|yzRQE1O~OUD2g?HAt_xg5~-lUZ7)j6!f*z!fS%s>hfPmqASiR~DwR}UPjnFmFQpP`nxt%DS<8A~$!lnk?X53F4_ zX;$pG=b%l!i1If`s`qUUEVq6@nEcqf0vWT}cgbyC{yU6~v)6?-n07rG6t8DSA#XBH z=~&|>WS+3?T`h#X;FB28 z=`QfE^6;vuZ3XJ)-Y7BA>572Rv*PB-OQWO=EjSa~hQ864^aAv`DB>4qR+u=b4FtIL zL2j-$oU|MXGq}|&d%%WiFSz)-WhpwM!4wUaa|dB&CBf;D6qEU?h997gHd8L4KI-71#<(%dtC@Nu)o}=Ky_#drDYVnZX{Ij=# zmo%Xl-@niTH`>W4+89f*aUzS@Q3VCr+*}9{q=iSd7kkSEt~xXWk=S3Shm3PHNu8&=4N z3myWG!T!+7Hw-W$){k8%t^k$;lg~tOcsCyS_Mg=<#-f6)<@|!ZzTMcF zW`5CVuC80SvcjEfn}${%-RBXt!mZBlBSg3nszZRVqhi_GHldKc@9cR>%Z+((FJ z^Cr(x&cgBf6a0ydnt4!pE`DFkv);Io`A`MoZfy~gXCxACO_5B8KJc@LsLz{2AL#tu zFrZSwbthBQc4{)Eal7fJT^_85`eUZonxNz@y0r4eCYy*%UKT_DuwuCG9r0B8L)6{9 zfPuyns0qXPS@wSPYnl>K9L4po_gk^p&$qP(h|qGCHR!82#sud>2^~DiEy;rEDQLrZ zd#Bl8njGJHQW5$32(!eHy$6v0LZ_#|S`j6`XFb9JZ1LV2H4!H*a-+C?q~R;=%z3D^ zg5u}7!U=A8<9?-3wRG#T`L(3-ZMQEZ7=fzCT@@u=3}wzzTaMq_*E|L>vrbz~Hyry3 zWh!dy_0mZuZLm*7Ei8Gp=2AXO4K2JHJdKGfz{lpHHKLm^Ofu|iWFOK{5|(tCWc5F+3j6k%Zam^@XJUoVQ|55j z1&$S2zD;2OT{D?X@ni7Ql&~vtx!MV)iMlCr8h&_#=7-NX{!1IRpT(4%{@EPaCId51 zU7?8^x0VMT6GW6{;Y9L4;@*p<#>l+~aE(%~L*Sr38YHV*nfKcrLLE_Q{!qCGjz{(M z7*Pz)iuE75>ffik1{NRr2zf;|=uu{-41%#z#|AHSNB*Xk*o7YwF%=H2`@t1Q@*$iQ zO;sCgPls4qk`!F-omX%j<3zeKKf}n^1Kn?XBj(81>uyJwDR&ec+d`qX*`CEsT;v)( z0^>(XC+BBb8MjTt_ZkRi?()7=vldDLY+Ugr4KY!RT-O5f@=Z{`-uOkRyV#oQQ*tQmIP;{`}bbvOt*kcpf@k8!DY%0*~h|IlJcbf z_;F#&K|MJ5*3GC#rV!-^0%)7O-ik@Dg3|($k595tqbap2+4Cn~CvWrN%1Xu{4}WiH zmhQYC_`&9ahKV7#leJb%m#Rs_Stqo+Zd(c^Yf`#Lj2?B*11T_F4pn+f=N>{!h$T^3 zpR<14KBC3Lz8 zwGV}QNfKImnm6pMoCyhU>6(YThzqOpQnYZzbnK5*S^nG@yiIA%Uo)aIT_h|-W%dS! zP)g|!L{J-kcK|%~R=0ulwzl+mXuYpX(i=cUpmd}C?4ntz7omYz#1pJx9Y1GzCMU^Q znM5s3iP|};yXt5@@pDtB)E?S4OtiGZuzJnAcosX&OCY5-4)Q1YJk#@|z^86K@#VgW znT~exLF$?pSZbXXhiVkJ%CQ{iG z)if@iuzI0p51=~o`mzfR+U{JJWi;PnbQ|kxlAkcTez2|de=Vdlb#M%ZiB%RFuX=S9 zPt|7K?kGp(nl*uEbW~WJhX)(6P9$0enoI*|hb=S=Gv(0R$^I`}XU@Bk^a>q`aLlz* z&#|AVQubP4+^5Z0u@0Rn8_F%r?TO14;%y{pss2MTsIl24_3QKIRu=hr4dAF9(dQLt>q@GVZ4glrKPwSt7Rf1NE%Q zGioL|Z|{TtRa0jfL{+eA8cj8M-5cx8YEq%CxfYln_*}Np(hRG8YkX;}{qI|wN)_{V zE^r`etS&zv-Gz&cDG`*(R332_VQlJ-59vQ*73)<&_RAg@SfwCA@G(qNAlB(yT8yDN z!E!Qr#k5l@qJR306`-|?6a16SjVh%@s?we~rWpJfHwG_t#dlaVEa-Y2*S&VJ*W~ul ztE+B&M{rqwn;14ZhxasDG2c;ngB3(aQ~-+NM~k{Uz!zN76$^pyadCO}P#otP2y|F5 zf5fr^;{k*NrgGf1beWPSxx1lSsdggOkfkQoX??c&$;@Vsr#=t` zk)s=xa#AbH0~-Gb>3Jbe3_PXzswUsVg?;k(dMc5PT^RM~aZr^3(NzS&24mT7 z(6-R}QgE=3g@bYv-xOg49E6(Y^K4a$pjn-zGU)e4ayU6Ez6%%GD8AQP{bvF%(02lD zRdU<)boN`!IwkCCHwd~9@$^PFeR4=6F^EGob!7jXm)nNAuOpYON2%X&T%EuEzj%7b zFxjE4ZMSXPwr#BL)wXThwr$(Cx!SgE+xF?b_j|q{HRi0~N-CA4Dsw#Je&!*U05_(G zXrmr->^Eqen-cZ?t68*>qeDv6k}hK+B{~SMBrpkesHidMU#Eyt%3>R7)QQHMLave` zDkN-xCk4cS@W!kaQMtTCefW8ft8E1r3^}%4I4o(Q>>(o#0mUPXK7@qtDMf2qH)0$B z$G~hot&z|tW0@z?t>{EH6F#z#tC>_ISlhCX*yFF&k&X(i1@Q3b&1Gy?2VM0QO0_^L z-Pt$LR#5NORu0lHY810mt;ySJ*g816fMj9%p) zsmY45WB<;w!KSrw-5U;#qs{?YWzPT%iIU0^b3|?1EGxurb#IJ{==tz}MXFm8FlM_R0i!ux%xd;J#`6Bjuu-GB9HrTisk7+Pm>H7R_O|?Ax{|V_K4vlw9ck zlgv<>YdT~7)d|H}pFL(wdv^L9+F@pU3f0u%UWMR)PILI4ro z`5`?cG0sjT|50zJMa4hHJYvdK?7u-K?L=^0$ zsWuQ#I9ENwcDbMvaTUxFnJi%NDv?#><|7BIuKb>dT5jdZA!-j*dnr9}RUKTAzBh<8 zkX&PQUTj1!Q0f3Fy(b`e!e0)O6<^x^D&5FSL-grG#EgW94xL#}V-;Wy29-tGjZLvx z0|TCh1k1@-+Ip%HVG+@PavRt2We(txoMKJWS=+*WBeW5y*Dt?^SaN!i^($Zl+H6rd zhNjUUl4*rIX%twa+9OP$zeLAC8{Ym*YT=zv&)8hWc$h{2hE6bzUgHkC(5hmTF-oUF5zZd2;551YPB3e##E0~F!Ri_)itWs z0HR!#rzx-*-j6(q3d}==MlRLwpc%-ifk~L^z^DR$bB9WgmFRG@rB0nt8>pMBGK-Zo zto132l@RO=V3G~<_~?rH_%5r`bhTPZSLZW=Be^H@c6EL>9^fl^@IJ2*g~gt0g+*EQ zLsvKkm)8WK+Q|pY6ts`RMAt4W?Iv7zO!CNab?10gbKD(T%G0P4|~DF z6MjnaV<^M_+R|J0h4}vtBsGTMXo3F@-IOKPRw1OfQkdV(()w4b^?FUB_k+pmH%O)s z%tFtJ4n1FgeLO6bwa?R6O(kz3_?1ulR%Kx6+F2QFujZv}+k}L1>9Rvs!uFPGZSP0A zem)(ke=I%ce_Tv38~8@cWp&VIdY4QIB-CKZ4K%&YG9mpgtj$50+S*A0)c|c+J`iK$ zH&`o#y6N?TX1P`&cH?#zkag5RrH)&|YU@iSrYOm677RJ7iRcidTxk$pyEi?(F}$LE z6RQUIj=2AYqrzWGO&c!0O4 zm9PP*rMm|U8@a*F8a!6f#g#_!{S%@id@4$@no&{wIp;=t3|03&DrK!gS!9tvl&QT9 zPT;h!k=KDh;#6JGF@Z7EUVlxltuSvFhmSUvB-Uh{e%_4I?5C@}D>I~SVqu+m#L>Gv zSo!JYdAVM}Pv75z3@4a8*Wj^zdwSfzL7E`x*k)s>QpTCd^QEr< zSJhUXk>jr=P`11N6x4L`w}4oUP&<(lqQ$C`f-%dXG&9>RB`0sEm*?~S;nvz2^nQ1L zrr=l7Kg%RYjH2~XCMGpCXZ%>2&Qf>n8^}N2z--kIS(P19Wn(y_LN*UIEXJ0dJ$qyg ztnBzuVog@n=)JO1&RqOK0+!GkSB}bC1;2vtgWL!Djm{ZmY?ohY9D{MC(~VOHe=tk^ z*I73*SYxxtnm~qgX~q)Hx~ILwXe(VMwUy1@L(cpbSY4AmN&8nagMKE5&QwNr%Mqc? zEAGV9;B|~}XN_?6^Ts<&kMDe(hv8JCvvVFuLMSkwSb~_C!HT2y->s+MK{n((?shdHCD+<&i z$y;$2xn}dOq;>Deyfn*jsdOUss#AM(z~BX4-#_|0X3Q%EM#%6pd?%RD0%pspoy|6_ zFbUIM<~idkjEt$xG^bOeU}tm_D&5_2&FP39$debS#m@4mq&)|io&H1?JU!;Sw=9T0 zQu56L3D!3w*k83G(Fz=j=sVqkT)_ws0lV}YmOUNJeN?N7V<1+R;6IBFUKzLvH|bZo ze*00RvMBAk5V}v&iNe!BSJuzLinrq!*(*! zHQ9Vaih|6jG9Zi84Z%NiCxje$9{78HhdQ?RKRFqDnza<+Av$)H7riHs z;1laK(|Ocq_lp!F73lzV=wwDabkiEbYLXya6|KzTQ-ACo#LbFNgx5M`xD#a0b9B>% zdT}2&6g(DnVr6=CqZZ(04(ONWMjUH6lnbJsOa4_AAxU}`P2*xhumYB9M>1Iix+5c& zX)|1%w5tS|^)Cmk#)?f}4+!PkZZ5pem(Tzhxj!#Os^}}n=?9Qt8_#5$SJrTLF=G?_ zFviTNE7oG(_$sq7Ke*LPb{cu|7Id6EhiQgFn@-FHaBi;M3aM$(nA1J&H+zeGER+6| zg;P=hF|@{~JsN{qs2Q@%Jx4j8A$}9pj~z+h)c|e-0Xk$&9ba+?!AGDVDha?IHAvOa zJ{saT%SfT0#N}yal83}%h2z5}GRQvp`BM$0dAhqbA!!h?`12M!^M~zY-__R(Z4(He z{=lo2zUNvBW}Pkr2ZR|}6i#dTQgY(o6VXQ}DaR_solTV2cd{s7=cL%c z2i`b0?8ZMQtA&Q4+Z5r(DKt%(d2f!5&GKfy9}XuR^7m)lPfy2UJPT(C+~a3LwoON0 zT{hnHICq!-S3?`Z$=cT+=vX0JqYT>;t~=xyklz@lvCK1k;C^>*F-1}6Yi~2%Lhbna zeQNK>r&Ky|63Bc%8nOy@X)Rf}oCw0|gz&V7?+P?3`n++L{#*8EU&~uQaxHIyNiLaO z583;ndK>eAdckZOfG_DibUG0%9u9b|rqSG;3LOTCp8`l94^sW94t5 z>NIe-s2{7yebZ3eT@Yziunh7`lLj&R+1fK$;!oEF2s0y>!lW1i2k&vJtv;D}k-`_5 zS%e9NczyWXy!;caNP?`9~Y#Ew@n{(Ub}PP zmh0!aLsHe~-ew`&-s+reYP+b>i|0N`hvD9;=Jf<0`Cb7gtG5)Z(9V7%ik52T;cqUe zlPpbg;ZE@2XM5JNlM9Qg+KNCudpiq^ZKYW1qA(P&rqisg9^zZ;(GRGXCx0c*ou`JV zP^;`>+u`W!yV8H0sVU^Oa|%=fk8R=X$QDH_UwtM1q7ZedwB!PC4w!*hhdMVheNW=V zji`)ROr({S1zZEEJV>*mWJ%yb;er9~ z8gf@O<7IW5WiT!)OlWR$Nvz4ZF_+i#8Ae}5X6(O`wvu_Dais1|5)j$1y|)L-x0^)v z{7XbZGobfi|5Rq)Kw)#FRMA8J+U~Af<-~zj*9+@adP(*!MF$O0O}45MfdYgYGpKQD z!4t>T_K+UOGq)&Upndj8h8}iQ|0kU(g2AK6DdaFuVMd=R@$Eqx zy{z+YV@1mbNEsKk2RtP{=Z^&ZG0<4*PR-7FOmxzmD4CObY0){$TWwAof=Q(|%acR` z?r@@JWO8C7(b96zh;%lV$^>k_T6_2dlsj@pls7Gf6@ajFR%e-6+mdr8$+m)hh{(p2x3d9f@5JQ3}t5&{xbQ zt(xLWSmIRZ9_IssdD83}wyR(S=Sns@tThjNg(kw@QL?>l z0i@_OnOsTa=ZOmgIm+Bi5jzUY;h@jnFNG3epswanGzEQP5%8s*F2ruiULACspJ!`vg^;i2$gtK0S;T`}5O<{GJT}%vq>MF@%6+O@ zuc*}w1K5{0!1$k94dqQ&g=Yw9%8}&IB;Cn)No_B!JBJ$NXg4L}mB&qkT5GSXW#C}u zQO}ruhqh?6PUeJo<3hS(4@dwv>aXaEtt+;Nmj6ME;8nF&TWk%fb_{^kW}u<>V==DB zB3xQv@g1@TP=JgS0P9L`7~F7$`%FA_GS#{8vDOra3q`3U2{n4kHDpyFXd2_%R@(L; z+VkOQlufUt%hJubnpm383dtx-pneTj)9M|(D9^A4a#V+g(^$!|dlU1;3%1QoslKy` zh-g?l6$eY((*88BsvN9|$~y!8?aj^kGZ%D2kifRQ;o(=>r8kDE1jN2v-iDY)rgiE0 z-oH3m^y|%BUg&KUku196!=6e2(HFg2)vyN|gJ#%Dzb%8MI?ZMrxIriJcVsF<3eBor zy3e8UM&}IG(eLjIscHnKk*W$^E9F;}>ci-n4jAm-_1iX^^9;Tcwfl9*)9#s#pe4ox z0})DoWxB^3pVh1;_U~sJ%T`|?&ndZr`fFLg^2JYQWo7njlhpq zF08j;QTghKQiipk+&b1=t5^rCB}-~)Hn1LuwhEF0&QfWlFztz;S(LFNL<@cC=;6=4 zzTu`$Q&y&C&Hd!ep!v-{0%b5pwI)F&#jfKR9Ft|xO&-lhcb#Ddc8}Q1Ro8lQ?h@obm<*cR!3ayrrJF zX(@0MozNqaQuT}zOt|N!6K3eDt(^Pi3_Qw{l7)L*K$lDFPYAfKleG^SqbE~Uxb3C9 zabW8`3NyfE@OHo3*3-OTNG%?;m9PP2uWhOA@cgctLNm=>(hu=6ZX708c=L{EK^ zhMGupJs`OxkQ9tBaobPC)hkjkPk>n;F7is3kyR^9-(zT6Sk96^JDYONzBuMIEG|T^ zny0K#@QNxr2uh^f23%l6)Gh43sC6x?svJu+SlL|k9I?E#yU7gmq5KO9v>!r>FWp#w zonAg`(>B#El$T6X2|>{VnT;yds`e@>uO8P@oSni5T>?j=Q;icRMf0ElcJ zvDHl!GAbXa{C;4r-Xc%=JLrA`_@N4!V4kj%1c%yrz>Fy5`{LPvpiEgRtyg$*n^|9x z&doARR4z7LrgZqm+;He#EKL4*0qcAb+Y`&PYagMK7150OWHDo}UqP=SO-%&^A+g?j z&8n=kkuP+O6ur29X)~JaCiIO_nk!_6CGVg#IKaUQB78d{F{uItukxaM{Kh7c{b3J` z>Sc$MITULtck7Q{kF+dJSwT=HVQHmTZNCgSacrKz0I4+y7)KOQa@g;M+Z+`Odc_7Y zex(9)_Us|0XR}D6-;|oLWmjHcS)G}>j;(S333fi2V4O^;L%@`_8RZf1EMwczU^aj+ zIG|W08&{42NH+((g5K`{x~m>{&<~}d&`Kka5w1p8&eNpB3dQIh@^qp3uP8lt*o0-d zhONPXb1D$;vE>Y2hj5?I)pM6L^++pHA>0hc1eraVEoi%NA0ZK_8uO#jl zfj)k%i53`G_+-8e7NNarqw1L0*UFz#B0EMCe^Hf1UP-$CG&` ze|K?t+~I{3N$X*f|9Jz#fgmie}RD_un3DPr%V zcl1cm&+1%FY4nP%oekM1$BsDPD)T!#CB%#6 zL^SwNCC7;)zt}AnSh+pU!jb;6w$Z##*YxdBS8HoVyV5WqW4s?gnlx)IGe~y~V$)lK zhF-gXYDw}n1&gIf!uhO=>>@*0S@_#2yhULVZ{o(U?1!Aha6@3PGnDc`OCL~Jf1MZ8 zQZ_bbO*hmbcX^)~qZBA&{PWCmDE~>-((VEiRZcc!MYlUrTfQb7gBe)Eg=hF=>8P7^ z&pFp;Sc?E@UX-FGtwNs|E}g<~Z`~ccG9J(+mH5)!ejU@D#!#vIzOJEz<(`~SYaHtw zwstcvl|Uv`l8CqaH-H@F^W>b-@7&S3=MVCf$Gu|>Lj5Vf);7RsBh4+zjh(O-F(>T0 z(>#93Wm|aH=Z=pp7-t?KAcNP!y1bIot!~5a5`gP9Jb^kO8*Jp0b&V>e zd(%Kw4JwkhQ}qFtCQleaRR}2S-pF+SmzTW+zSHi+T9c}VUATexh_Q|NqQc>{!v0q; zi5bs5`djDAQe#R17Vcug@T?pi8AjvrAE{(_?X;FFZu@Q0^GdqsA1VWmCp+e3gdsuh z^GV?nI6fId&ZHAEAl3eS;XE?qUjiaJG0-o0mVty}6afOCkwEkk1)c~9v>^BjfrKaM zYc}%KZ$;K04Qhl?3|U(X8kZub-^z@baW@H5%IBCZ7ztbslV=`C5OBzVaq#GGzCF52 zKnnsUMU1FQ7!sNsia3CT^YE(nyc*Mu63bM!%XDefKkEI zt{eF43x!@~MTo@xm&^`330-B5GuJorhd}jG!^s#6hB^ciI7tntFiiEuLy9 zB^b&!Zw~mQ@}<}2tmSRG=h#X*(n9#W?gdTl%%VAooyqHQeNW*r=LXA7ClU79*c=O+Cz0+FNL}UYatpD z&)f#-<HpR~8;Ih}I{9MWH~t87p`% z|Ct#v#M?}KIC1ICJWK8Luf*fTp(T~N#P)2~HU{^2-_p^FZ9k|^go2;+>1Pu$N8e89 zF)@1Q1ep%D=VNit!Q2gl?7H@3nnO$`0UMdzpuW|Z^Rs=cl&$N6v=)FEZ&E1Z^6Uy( z9T2ZC%shUB>yz(V^t73Km+$uH#2;Uw>20Pd%TrQndaf?oYStY$yvu^(QLK2EfFxy^ zoWE0B0m*tWXK5khA<~6TD(svot zzJ@q0EO)7INEGMpcNi`bocuva|EcVLsI2-COHm#+`ZqS4m|e#Wx92~iB;k`N3l%T( zD8u1-hQ;55IE&Z`qs_n8No3o|`GES25QZ?c@W!pdv{2NVL++4JGfD)UO&3n16< z*fj5TKkmB!NrwJ?(g;seu2ctgA96AjGnS3~z<8Uy&VNb>f@mJZ=(#S&TG5t;{Wdy- z`;iAKeIPevp+W}%Aq699q(a$`+V+(gjGzE*SNG=^HBR?v59O?U2xcZ`yWKIKe31bN zSQYLdoG5_gRMQhSa5dD5v-!TPj(3bQPN|PuF74_?uqwG@fcx*)78y_Ffr){PX zb~ZGb?bxsih~GfS^O$8>8nK^|vVd6bAKFop4E2S0=qQ4krIHqrRcBHU!#VBOoj$k! z+R>|p9Rqe(v-Jb*QEz)HC2gGbR#^HlQOk;i-{%^G)I_sbT1|)DE>>%IGK7=JuA7S* zn~e(7{2IJAypO`^RXMWI?f1_L+h@2O=OJ`IdYk$KE>5@k63AjL`gj%xw3UisX|qSX zT43ElZc>}xVO|gpJ*e*S#p!Yda?>BY<4gl@Z&h{83=~reYE09P?c-CK> zSAHp(Fo!uYdz%MO+0xwY5*=d*0CgdPeNmhKi{y^uTLs&H`BgK@r-~kr3UYu(M*3G} zoz5;RSQ>0J)}I>lO^utOAevv0kuoolyCh zAD#`r1;`D)u2oiJyc?FCq(&V zZowJWO@_?&zv&uSP^FGQ@M!}R;lb9dRD?EplK<(UvRBv!V z$S$Zv)sP6=Se_fY9{oGsG^CoaRuUtlg_<3{6LG5AQdWS>?SSx_7x6_-da*_kD8Gzt z-1XnE-51@U^Rg7?Z08;ty2u{ zNq?n$wk1pZqLTg11DzdQB0465MVC&b)U1W%H5TJF2o%t_vB-QPEFEsQw&U?44ep6g zu!W=9_ySp&(7r3j4ODMb@<(aZ+lUUFm*aRj0H^M3DyaySIX?|P`XHHGPxFT7dgU9HH0pp%Qw}iv z0N>{`ZHWQDW-Y_<`|ZHiZzG zjmp#$qkWo}x)EXvh=dVqBUkLUCAwuKpT~5_x|wue%Uni)bs=kUZS-=|Tn3YdqKKu0 zFTIH6IJucLCa-B>75o2=_wokCMRddVe}c~MeDxdTq^F!k$B-*58$z;7Fx#M5aK^B)CUQf(~$X~ehG(eyEw`6|%}fmImb zEXA4XP(sbHubzKTAXmNGwMdC)AvXyLo9Sva0YXku%* zL5vN+ezV0apv;<)J~L#DPVoROXeBCf>v)*<^qlt-0sANr%@#Y7SY4OPa&TXd#^HH{ z)}+9?{<2QMM!<2)qTPIRBfu>6=-&V9vR;R+6y#Gq7`Yil`T@V>z=`o zy*}*BZ?4nwXdx_ztiS&N;Ghdi#sk!;Ams4;pk>dh@8*>Q$kM&SfzH8H*PH+cTO2cS zX!g=<0?FhmW*)V+5!@*f6CgtonM)_~*1ZEy3QrajNH-C(XaB$2bQ zf(kHZ6Xi-I_jT?R(X4RJuq#?5cJ6d;Nu&@QGa4_N4U1Q#P*ltIH=JPq&aP|x4J;m? z=TUeYM=>nYV6b++ zXE9Yc+d2(*!6kqo(vDkl0bY#vBHID@Birob$M3#@s+-IG$yQ+{T47X@`6Q{4J5po* z(A|)!YxdGfEzgdDVvPjCxE-jCY7N2K3vdm0bH%6qzxGy{cVU}ira;x+&w(C@;}TH7<5Z`T6Hf((l|CM}*_E~B~4t}H$unG%H z#{5$02QU~j<1cBT8$oo8hbcclR{;MU8*Y>9R@63R&fLA6xU_l2|J(H3oY zpBYQi+NT)J9$>Z)WpFuZiL z{8%&Y_VQRKi42=5!sE1lQ05oAH!Re~AX*msjpn4_LOYX-4FJXAc zPvIOt^5BP6s*bliqD)u(rKnglGBa6KA(qByg<($Zx%f#pbSk|&e*k~kqd*w9AX3KyM^$`g)Opgw*BYG!&t^oKBn#GI|J)G`xcBr`2`{a ztIYaFiuHlJ=1hMwv4XAo=4{5sSISceQOu}RVR@a{@-6Wyt3jEOP>uZ)tJ1qfF}VY+ zyHG%EcG)qoj=Nq8sW5^rWFAuC;v`NAh@b<&473k7A&wfv7|n@=-dDKWRU&>B?5MR!4H6uQg zFN&<@ieT&e{x*oura@nr|JOa4)4{Bd5v@8vyl@-j!i&ah`R~=wh{emcZuS^v{@-hT zuxak}cS?s2b~N69CtQ9eBVKUKiu`9aj@!@wZSg-FXKX^eSmpnT9OSYY0(S+*0~gs0 zfe``112+?#ORzl9KWEBbvp3=)NE`EO(4WEUigwHMED zWeOO}Qh@j0_3t#Wm)>L8{_m?T)QGh#)Yw@NY4%aNsK1H&f2YF#mJRdZDZpc2|8K*O z@WgQoFy)vZm9Wk`jFC^xQD2?dwe#vCS4F|(s zGB2%bFkJy-(&7(Ph1yUc6F1$3#xp5qwXNQZkgo5_IuSTR3)~tGyw3B(rT3q?f3*Tm zBsjRLHnXVLc-14uHQlYuWFMhq{;Z1W&Bwr+X0vp#+HYmN+CEKQ?h0>YgfOQCr`VT! zQiXZvy<9p@J?p;5Jn{U}rO!Rh!-kr{>;zI-Bb-Hhes{H*0LJvH=X2!kY;CCXLG{Gc zHguIOLK`^o54`>lH~Wa+_k;s&&DZg6XJYG58;8523xsHfH-%Xa7+r-#M`aJi8ZP>; zEbcqvdVALkqkV|rc3rr+

$TDu8?o8E&~!Afstp3DOR-iz`FY#Fd7(foDM`C{e>r zM`_?C@n`{Ifo~zeqap7NRxN)!2Zys65%U&%3foIU_=Bly z6^LZUmbhq<5qpyqGg+vyB;!gdkl#D@(kdO^16q$(86~H&qlPh*+wryzyeSi`Z*pP^`T4$bcR&@cY@HNqt8PK+D_e)CR=Po z>Te~bGnijiWqU0ldIGoMC#M+wG+0Up;#Rd^m!SZMm#CAAWskf1>O+2At25Dk5UK=T zB=^+U>epQtg{`{}^IXFA;JElmo)WGv*iWDW)wZ|i`xUf9LP?8_2GFq}c%9 z5s5KjA0Zp}oPDL{h*DonF25S#sdkE}Q(WE~)jWq94Xwc&q+pUtCi4KArheO=5nmh84{p&`S7w_S9WjB;jQap!5M# z^$82Xap#}&KaB`yZ=?Yh2WNc7r8bO{t$bf|q0`+fH1Q2Zx4E^C3Azf+f3i90#=OUp z4LC;);$X;*Mc+S{R=&0zlX!U|wkEaN3qxyk9S+z&Hgttla)hG)wIuyQ;S#x-bMdE& zm_=*W6YX$K7u=ryTpw5yyEOl+xC8Q{?Q4IAR3$l(wAqK%V#ODSn~eQWrtcDXfmAaB z3DMUO-*hN|wi$viULxr+1lRpOr0OS?5QlFr8qP+6y+h}h@WV8w5`*68RH`*Jb3de_ zkfeGajdJ|L0I}^#RGFd{*^o#PrI5U1&ZvE@Wh4HEo7zTzlTq6ZYhz*{RfV{AKgB-F z7Y&CPu@OcuUtXZV)`y=tP>%hJbB7$ymsGNP_$`NLmk~%dF#Zns> zIC(xNYz?y0c~p_*WhRq)2r8=j7Y<9vzO~wb#ON(rj&HJYZ7n{V_d4z=H?a~(NfkTi zoMCBA@qkQ8ww1ra%SN`rLI0K;C;ggoC<28@E|%vo)|DIcI5*i~QWaS$wfjm_y(F(; zi|mMiTSvdUY?2ESXY>kSJ*tD@mU-)}S`h?XA!?Vdnc!&j{MN^XaObzPcTfokx&L+i zrayR-Dl=d&Sp4CM3#XW@4Kc*?U^j-}Q#&cfoLhLKg^t&$FQRJKFh9%iKJ_oKsBFik zj}IPIfRL*<`<_Q7ze(_fBI_7_M22~ROIn6_w-hnyE znPy-77GV^Db9k9E={`&%o|jWMh4i>cL`!NoBRWt7AOVF46m!dAcGkZ`4yY`R-pF^bJGv>F&U1U`q z;2R7d*D#V@SO#TbCTYW1|oJ3wTP?jYLWC6XyKb*AdSr z2EqwJsh^N6O`2Rv-eqKVm+?3hy~$1e3|^(Iv$DRsqU7K7Q@c~GdJ%g1-nMU&9$1N! z9#gDiw=X469LT)PI4d@LB6PMG*rTEYzO1Y;=IEOS)x zyJ^7;ro>l5{&5AO>qqDz=`Uf63tC58n*qV*mK&$Bi8`RO*dbSMnA=EGP@3mN5HhSh z;RRSmlSLj|uhbidQrOs!xmvFYh{HIJ*;=guMyyJ98%}`1DJ_!5I+FU;lL4u`vtqcm zJw{qr@sin>m}^6*O9^|fz<$8QrCcZ&0rCr2(%1?QN1e^WiXguV4FkpQjojNPS49i| z=bZwqP8YV}9J{k8jh(R%l%asy9;qZ!Jq?{CL~IRkDYz+`vfm02-t=nq(vA(ACC7mvE3f2YY*6 z-&9ZQfb-e`TMl1DHI_Yhd5_sQ0{StE2fc#EFCvSBbT2Z)Ff~;GbKRF}kapxH={R(t zL_>g_90wT1W{&Luq#nkK>3otta$MXseR8gli|okx7^q31Yl|FgvVKxdw+l2rMC%uZ z&8yz1ftzOW$hJMw!C1J=I>m&lLzX9FnyK+|n!kd8USoH&Ko@Wq*SR;*vD|Ds|mk$|G?mxNu{Z!n>mHM6Bx4y z2G14AHj<9)k)_~IMNT8dy-@_Eq?29;-nXx6o1l@KoCd-f2-?B!!V)^yP--367mD?_ zKT+hwhSvF^Xt4gPrE};?daRlcRLVk2rA~oGko>v5zHfSCvil1_JttZABV%TRTS(cS zG=(O(8Apts;x@Hpz?*4efEffMP12J>p3+b5@klv{u7lPqvULSm{=6Il3q1J=qZhu1 zQD_lR9|H<-9Oefs!jyA$B~A`U(sJ5GiVt2G1Z{AmMOm1CV_cw8x-@^}xAs-<6M6V< zqSdeR;6AEW#geUDZ z)9eJ&pCVC==WsmIUiWZ^`LBEC>X}80x%!gz-Lb`eiQCunx76Ep&ys5)XTuaSCk8X; zN{QkvL*URZa(e=7px6R$Y2=VZ7B1eX@bcEL*ex9qzbH#LtcAmlqfjY#Y-DYh!9Uyd z5`~=$yra}bk|ypTj`sWh%0r-1d3g%YiCTe+E!&U?aIk!lZ`@;#z#8CJnBA2`?t_Hi zH|j4QH12OH$txCj3I9&L@}}3`nX^B?-VS%ZA5LeGKXiMX_@9i`NLAdG!!d272cwqs zGWfVx^eV)JC$dyHg<>!mD^10zL>#>b#uEc}n7;6xSM+>XOBS!4#m0X}cZ!DhLwBuv z=0|$c)K~l7)XpIUEWwO{9II)?HybMU+uQX4Y=w8UrZ>aV=xwGurYPx`Q9s(s(zL>e z;^XJk0-q~o>NM{Y=vO3pWgwL`Y!!iWuEdu`Fx9vX&1bi6vjj>gkAh8pMO0bn7c62w z!U9WLN)vLEV<2rSxDwcE=2+Aj;~$K(*<@Up&qMtKuU@NMlOB{LOtOl1#sMdL6I_Oh zO73I7#O(-FC&w`+`QyKXJ29bpN;{R%RMMkp%zEW)Sm+SI ziqicsvaDsK((vIjon@rr@aCdtY|UP19%}Uw17Cb`NLV+Z=-Yyuh>WT*Ro84Zbj=vo zm$988TdeKVO#mIxz_vXd+`z58#hh*4cHJ_{X^cGj0=7@v9No3_60Xq8N9Z*=TGEW_ zjm#zZ!HDk{*a>4Snd-GtFE-b3Z`5<8-_OLhZDdUKDg!g-4?{X8)+v0(48Y`eb#q>0 zB#4&D9Btt?3#kvwebN^dXA^JCI9f^)<*07)Oy$0K)JZW+=0(v=XB3GsOlK!4HX`Yd zrEQjlQe5LjUDiqBz70&~`+)HDA$3qI2tLQA&?tGX#?=AmkkJhV+#4>bTEb-xX417J zS~z%QaIo+%By%e+BHEV6&poUJF);`<1EslsXLH4BnS=b2*o^S`SAR*%Lklv3Vc{ zvREeb!nxhi{;ax6pDE~<8C@xute_F~Vhp9cHv<7G1#x&^bSYd74vdUVBr8d&M&?TH z8?-@xll{_K3zD~?(N7VZ)9oScX-G~`CmzQh4EI}H@?Is!uD=U_MAcGdRxgfO+|FzMYsRkk9CpmYQOW}T3`ld71M)ga-~!T-ahKXek)%@I zLC;j#Is);F?NUY)Y=Png1ei7*Q|Y&}^?vDExMz2O{(K-YEtXSB3T;wh4DCT8p3Y3W zPcxNh@&alw2RNLkJqZ3Wf!edC4FvI@22nKZtHPKf4Db|Q5+n;?O;y^i+vKqz9;v?9 z?>-6zUj@~VbJn6yW5fpec6Zohl(URF-bo%h4*bn4(Wh;S4G|3uVkO-djz}Lj9KGhx zK7hFV!KV%shs-9fap&!P%=ajR#*AKgeDE*3PzuW7lh`sPj73bi&c#fqIVl?KW-gfj zN|HPCslbM*VsHrnJ0SbysXLx+liK`4Rb7d%f_z*Qhl?+_DvB&2F#}z3P&E#aMUc z163#TAVGus4^*cNH^Ai44Pho0I)l9cGuli<+ggYjYc5KJr4Vt-?7v-~eKU~+H3$gckPRwRhFR~(8jak>F@rhAuWcb(*0s>bjsFX zBv9tQ$uje0*^R~qdqdC`!bZ@EmApzUvUz6d>H&>gV+sg}6|AG;gb^d!Ez(k|ZYqrS z_xBL%m_0wdOwaSo${ZhQ1++@;B|#qL0wPu2&Y#Z`az#3<`<9`Yr)vOV-$zLx7n$NR z9pK&kV|v65GFo<%b&+O&`A#uX=9jDT%%`&x%4Q1 zvHTvV@|)0<xjt;#(&UGiG15Mez=B6$jv z#hIC+NY)EcmT7@;=n9KX4OxrDBE4j&hZ=L3PMjN;HrZdcJ2N&BIY*>JwtSd3rJLeD@Wz&^7vgQn4hd9zUeE28 zy2?pr#t@yvUmeCAWKgNuX0q}ra2?urfY8PQ0C0x@u&mb2kZBd_S3DC$HQ_Gbs8XMu z*jZ3*l}GB#WQ}}5zfzPgHF7mQ_pjZV;w>a}F}jhc<-;zfjw%dT_>qg1Q0*|2c-9|m zvh}+W{y(bTDLk`ii55*dM#r{oTOHfBosMl=o&2$F+qP}nc5e3G=YIFxhqb1vUe?R1 zSv6`5*Pu1akIrN41GU;NU7+cIGuXKrqy-P#1g+|dx?_~~0fMN+4)oA}wwr>Qr&}HN zSwu6oEFQvJQHhJM^&Tz2KuA`z;G1WZKGGhLBG5Svnw%&rAblt8fL#Z@j`;e>gJ8Am z0!;o?T{rJ)RT*;_bKfx8#c)lj)OGbtwrV>A!SO6h^iS+ zFv63nn#o$Wh+c#fn2?$%jj$a>#Yn6v^oZY*FYE&C!}7>m{7n;89+g(F-%zo$OcQD! zQ={&T>#)MfCW&pbCFG#3=yw5wwPb}w%9uux%)_V%&mkN4D@9qF>WjID=-Mm?gL6FoEdl6MB{j?9)-; zA}HoCG7l%4a1pBkp)_t(mTO~xc0wR_6DP;k9tgzoVQ($F0K6f)t|rj)6L5#;UwlGH ziSUtOtP?J&wlwuK6~oc`FwvXSyO7OX(#L++qhPcb*{LdO(>~l@w_LD;fp~vNf9Fx# zRNbiztFx?1-~i-`0X0_`RUbXcA0U<^7xhYaH_~;mgXN~mM;j|!5<-<_;h^~5t?!T$g@4F_tsqQ1(bY48#sGI(kHIJ4!WV}J~&#W77MAJu*eE|n>Ol% zvM8yZ>=&J+Xq_P~YI#h!)_YL;HrIe22AAIJuQa}>oZNy!C(+Fk5_(zP3?5&JFTsa6 z-IedpzOQS*0saBL<|k3XZFk!z@!EaRjXMK9ueq+Np#?gIbUL5F;+2VXLGY-zikF;&3x}9YhNa?>_PWv)} z$UT@uQ^T;Pe_GNK9G%_FnObS@@}TJNCD!2d>x! zX3ai+;}`1|i1=C?ViO!xZ=StF%L?)`G?0fov9$VI>B_V!NBZ2dawH0^VL^x~hFvSU zB52fux$~F3^URVrF0K|iv~T#=iVy4GZcQoOsgl(mj?VNKknB`#JUlAjD*f!J_=YAE z*-?@;qx~3Cu_dwFC<;}S5U#@J^0Pl^LC7Q+VMh)!S@WwF7};^qt3jiHo^x%*e#X?w zBvbh`XEJr=HxA6EZvDXsWg0y*Hni)IO_@=PnzDfcnALow%jcZhTL^IV8tXbw3fkoK z$k=J9c9U7E6A!|IgR~ewGkMBaXQ;i0jkM|G(?OE?^s(cdz4<2&R&h~Rd*Z-4uN zdW5yD=o>ecOn1rVLD$FQ<)8UMtdyf>ur$KoafZa@&iIIw|D?`6P24N zHw_}KvH5*UqLKsIE?*@s@lQiz3{b}Asid{xX}YUJ#-KTT9Y>Jg_ur%1Qrm;=2(|9(Y=aG`8NK*!#y}=WFdI0H z@551*@(X@_-lThCc2sc7Y^%$^(IR^M3bjckZHQOMNzQxi7BnDXpDgfL zCZY)$Qd}UYO?X6QebcWQ8J(|7L1k6YwFa%7);jFNl{089$rXLe#|0t1HEppmX)y8* zf+|)nV55asqgi;ZP6Va{ZG{&Pg#87cwzoB37_CmJR_Q^C4XJ*(Q^U=GNfSWjpDhu( zc3jUk)jjx%Ac~xiD3y}1$V&j${aG zaxcC2x!TdeSvC7zfMjW5QR!Pj6@fTXvWvwYLXpx<@^dAJA4m~LVm^U-Ix+`+a+>K2-Y>U zwF}Yf*ShTjZXA$dLhn3iUq<7VWwleX%0wvL3dTnk<=5%DRGmZ6vUfFkru>m7zIs7` z;C$1ro_TCXDj*L(BJ61LmDOx6DK#NdT9&z4ONmZ4WBHgwOAVEJQG$%Da1=kihN+y5 zVdqqcHd1fFg34;NEZoQ#S!G0GgycObob>Zxsvj`@o-LV)<)Eh#slSlcqR3qO%p-Kh zNb`-+OAua|IDw6>nw@h$5JoJ6k*)A@wK--Bof?-x^%h96B;_Ki# zc%z4yog7i-9EsV8!t&`ixXI8!Wcm|C!%8|*>NBd&wk_~CgI4*(h?Qfip;oe0m*he9 z*4$cOnrmxVZ58Zmc9R4uK;I%2TP zwP&q+{C02uE*ynonGvZDI(hPK(G3@t`!HA&<+1ovQKFXm)Wlmt#>Yj>XpOiJ|B5p(SE09NWk({TGY=i+w;Qk+rIS2WXDE)eDXnzv-9tC zz*H7DQ^%}9L_}8~?{EJ0bV57PD^EZJr90*>x=%ojalF zgY|4_ArPLs+9YCMi`DM=Wdvn9eg2wQCz-2sGwmd1qh%m7vKZO{lp~v3Y$tZ+-lzX_ zf}iGidq?|otTJp}LwGzH#k0O$sML&0i^(qljD|L82)rZ^iM@G03+TdLqf20( zw0q1Z9oO?^vhGs=yHbtqz>iA`w=BuN>|9Uv)o^Sv>dS$rxGreMZ|b^^kulcGQF43F zU#!g_p5(TC%^hUVGtczb>bvu4e&&wkow!;nE#-~PoO`nB{kMS+72G{^eDL|^kV41%70uBtHZi+-9C)C%(LL0#=^ z<(gb*bL4N^x%0bGh)S_mTB*{LX1gv%U0gYN~k>bAZHL$&<#>v@bOTzUk(6_CCy*&8OvmMMs)zT537=0QOy(=Y$mRv# z73QtZ4bBrtzJDaC-{_6jZTV#Fn9x=92{}f~w6iKIs1_lQ-yzyWPLm>9fDz*t>nc=%>41ChdIg54+=z zV{3t|O3feXr>{RNpALM8Y?x9%sCDekfC-%jA5ClPBm{Ug%xTn9VW+0$?8_q&^gO<9G_3ukLP{UEoplX z+)`&yN>3af6aHEC{0l0enJem+rTSE}fPn`dJCvIHj60o+p7*=+5cJ(USCA3+mem%! zx@&t+uVr zF`u=nMl`m%{VV7U<-$0+3;bc%+_Oyt5RE5Soqj*DNzM%c3NaGb2jMbVSjIM=>}LV7 zc6)Gs6j&Y+8Bs2SI~%3>FGIpaVT2LHeewC_W;O-RPH!S5?}+eEsjM{uwQ81b#`n#k z$^LQj#R88w9~APBa)Ir6?tJ9EX2O~31&HkmLU~&5gNNJF7B;xpdjEg}I~>B1n_s02 zw@~c>4iJOjQ`#Db<>^cmvw~%3wlWR!GU<2w_4;xFV|;QYpH)4}PI_RdfdqSj;TyHF z4)`Z$&R~rGmsQmUZCv=FgN{QZCveD=nH4FOdqTaIYKFKEZ>~zyPK1f2PAziV9x{dp z6nn2z>UZCGL@4gvSuz1k1xp=BTDm5|91wo3t~vQhAm@m88@1(Hg{PmMhMm7IgYHzS zv)D^tz?GjmG39m>UC&yJIA4)Hf?jF6v~~mlx-ZDABQlpo zlqu6O7znB$?aIJ!6K)8zSiBK|DshOxc5!Qvy>01%ub3?EjM&L)Almq>B~Mwra#3`^$+u;;87erTizdg1HVE=t z#&;A#0$v`sHVLTm#|mKjD+VV|i?hBkx#UYqL1M5`lbL*^ zTgLsaj|5TG<7Luj4xNX4faJhW~6KAMpH(6-#Wz`U)KnE6hq z+H@pud;jECrD4|$iVp~iK%#k1oc1s?OqgscW+s7}Y{X5Rone+Xp?A$2LJ;0_2&Cd? z2)AFf?q1LwWLcl9T>sNSjmf?lFV1BC%8*`vvv0+Rnj1hmj@EF%qzDhGcCRl=imzCW zon`lX`y&L8n~|Wc2%`hpLN8ZdUewv?;32iJOZ-{3_MsZVVl{tOEuOiTjK}; zf)8$Xe4xjM#=~3rYO_PoN&dSf57Jy3BtGIF_2NSm2F%FvQ*#(Ch89t|E&Q!9ludS}y7f`lg-ZZ+XqY_k44NTG5$XYrpZ9DO~~0awHt zhVcmkUTc^EnWkR^-{r zjy{LkihYN%JCz2FV&-ph@Jq5^y93!nBI!aakNrMC1v<+J=Iyh1Gs~2B;L=3hZA+0r z>jAm!ig00~VSNqJpAsN_Z6Sc_XM%@Ekioseu52v*3M+nU4S2OBW-x~J4{JpSVI%_C z{g&xd%bfWo7PHwE1pV`>&6>$@`=fTJ!D8V?;6b0qLm%~1T?$l@!VzdHg_8O!*!&sa z?6F#l0m25z8DTKEzt+uvz%oj;m_(MS=fdbuBH~X@>JV8KAjZ?HY~0z}R09sQO$nHb zHZxps8r53Kkwjyos1s60gungigbTMY(j#cVFcfk+6t68^M7#Y_TIjgRbQv3~B>T!F zA4JWa9@K}eqY$x-g1|9}S%x5^8HJ3ZW-$IU{XPHxTShOu_^1xmF$(oZ`$Wx{H~-hr z%`(b7YG%d9^#Az$U+&Q-&%=<>mu#ZuK{o$A#bXjO`rYlLpXRicVzchieaf}rlP?m5 z`Z0sBj?mgwZgbNB=cK&X_gppVA-1b;rngU{&iix|3)G`QkHM$ImwRaXl|Ofw~Q09p32`Nh!Y}gB^Ivr(Il__w-jh+ zbEF0d({U%#&3F-3O+u2DXG7rx$DM8y6ZDT)|diBvj_p;FE ziPx|C#L~I6{d7%7JqIwb)E8yfeLg&^lMik;jnVE>rV4)J#^DW;5yuPyyl@L(|L2-p zCp|)~T2rOAw<8i5N#Fh}YL;mDlS#{p6#h^>z@4U-Cs`j)iXoOXB^_S>C^t(U>S&Vz z=5wV#Y!s-onzYR&$~D_9*mL-GpDANTEb>0I@34P&oAoyAmcecEIly~GwC`Nq@jI)2 z0^e1o2$&u!l)#FvlJa$beSBJ_C`IfH`A>N27j~YEar;OApqc}qn8HrbLYciCV$|bOI`*`J32_@trz)Z{}^}*ram2lz+FlOrLh%{b6 z>Ik2spcE61F|?a}B+50Ti2HsP?Iqbe-PxA{UqHOMopTaiQQYj+qc2SyhuP>af!a5I zdfktwW_n%g#qZa%X1(Y~U%dQJr}J;nhi73JAXeK~7hrpb(Q>VQX3DJFM>A? z-Lh!Q_QV!-qYo>ln*Z<=)%Z@UR!72NmvNc2CXG6I6E>MN8B;6zi78#jv}J<2evhi# z9OjF9d|JP%z5g(;m=#>bgwEVdtw0{lkAZ~fCn9wNtE%Oj^YQu=jJqOPb+GELc*@CiK1`zjr8vJ68`_2pU-b&`F#;`e4J z17%;b0HOH=LAIzNSU8YNZ__y+)BW9a3)HH0V?8^pg~e=D2(#*xQmNtN<5YA6ON>)N zy?(qqpY{~Hv%q;x9@g8yt;LLf14_4Z1Qi)P=*7Y~lLZjWv1QF)h1-zoesbsh$7!;? z`2#I+U*@z7tq78HJqyZ-hkO^;`%At7HGCk)-@#30H~3injg@hz8<`dg&2xFe1d_VC zw-=rVi3}53H`2ZJbfM0?edb~jB{X&URE)pX7{u4A%Zl@tmjreEpdN{5BGUeE=o}Au zUR_9L7G1B?L%39p457M(a-Fawo;Q+7E;~kT&W*OC1gp(QshxtSsFimnH?5@{z_c`b zAuo+M$UmLgL&`|w(oW7qCwnMOw8eNz^*`AFXQrrR&N82dT z@YGw*(5BvjUl|O6xhBnz#aBtNYAC5^G2D-&!lK(v8%fXXA@&T+HAil3sukSH+1Y&Zk-rJ zCPtaMqH3sgOuRr>O<#{0B9|0(kl_3HdK8&-3Rx!;$83e=v+tdJGT)ZI@1F!GEM(O@ zsDd3HE;6=4zvOGo^OX+m>6+66*9+nv+dRwP9vt=dQtzi*vs)2#S>o%t*1e5 zV1HyS%8b-NlY>s9Ao|ozQDSCe0Ca+7LZ&GwEa##>=KcVN$@EnGqc{h^5fZSXd-S{pM13F}{!gfSOf!8c%JIfbXZ+}&6&0lmD$EIL1O zvYYb5baj;niEAC$U_oZ*)mXq3i^c8Tht{Bo3R*t#Q9b|CFMn>hh^8nf9y^70s}|yy|3_Xv)4=$V2|fN zpSotY>nOZ|1x=2%qvr;}4aJZq8bWeFfwmh)*qD%19W~1rv2UPwYM#woN!vA7z@d%! z??%FG9)?Z6$gP=?!h+i9Z|ZK7beOSPd7fQrT28pH0+XVouXLow736uVXQNn8af?R( zyhaF(#ZniaPDmOInUFHyWUiAgl9Y~*^3F%-I)#k^nUE%%%|7kG)*K7VkYC8HD2!6<`T7+WEY zr(hi0kBw8uW4{hws!QZXgxo#6(&Q)VfLooOUas|)9bd>yPCj~|U8JN;a*`h6dU^G8 zC8sJ~`i^tdQZStjubrbX)479^$ga_UVBvPFp$V?K>xOOKUcN)X>Z6e)!Iu6vcG4ZW z<;T;zoy;5jXys`@%Ow&_J~oIw$fuJ!)owSPXa}wBpb3Y9Z#A>+@DT6DJEC&+QKL?k zp*Oorm6u=QC9hU@4___%q^)zA(w&V^(1=T_F-G6pY4)jR>47J87V1V&0&lfml626b zCY4KdPh#GHlrE`Kj7j(q(^&L?qwZobT4t0fffqLv8bv8F`Npc_1%c%W%j6QaHIoU2a)n=-q@`%aTV!JNg@DHAE(>G_jyiVHjqo!_Fm+Q$$JYH`e`iY&b zT`$?1zDV_!Uc#Z~FDJXf0*bcrj+P;*)A`hMrTusZE$^I>Y1OQoki%)ym86LWmdOtA@~2AFX+~UR4wTarX}Hg@ZVReCpBgxK2Vv`q(%zgMVqq}qNiPphhlZ>)=5(*UKA8F ze!BuCP;C2+X9gJNg`_&bbqT;>%VqJVm)?VQI`e0VpiHIkiao>q)h~Uz3WSiY5kX$i zRIAd-POOY}I%*Bt=ndB;X^8=o7J;EUL~);L^*+R0gI0PR;W6dD6(?R(^)L!Iu<7~B zuePz0h{SC7TpFp*ne}5fR%%QaTJf_)Ll-@vo~CGwdtcIE2tBSuzRh|q)8HshLx%RC z@V-uykO{?0S(78h@3NJjJ&7DOxvDNu>IL{fS~wDS-qq}Jlh&P)&|i12z2%KhK^a*- z4bx;mzK)^H79Zonl*>~4qo)ZP8=04=p~#@ceuOL)FpqwgBc1ni%JvI=yeRIn=FT(a z(fuVUWgP7$tNIeT0@qXtMJgK-<1sY2#cZc-FgfsiaWFtI;Qi{zS zxc!7$JaucB+ISeJMoEYZ=Lz9NameEfp%=@gEUa9MoZxi%!d3bP*EdmE6 zsyE8b)91qhdA@O(GLA54ROUfsgRtY`Yq@j!La1Jr`BlWE90MOWN4D3qae7}6^nIby z#qq?%_V#wlV$#frv$r70(duzh>Li}p>=XfX!~loOP6~1#FI#7C&ay_Q&~-TlE1OZ> zQj+m#)3}BWY35oU4O=qIe~0NUb_F3JaDn3a#7;BHlLj%=kj0sW zI>)|fJqRaTVyGN#>Da`eV@bEuN#2{Hf!z_8;|pQhPusjJH8BqoAG;}!LR}m&Y5M`) z@aEEK&xoB1gLxVvXOs!TCXSDjS~ErTt%_^@w*igBt~g_&aki?^8>F;W*-IxbCL*dk zc9@TnP#3^T6NPfSo9~C}8O80?>oi^26iP zxWEexdw>fV!m-3zKHZTxZ_iTFl@3SV47gQr6`CwIR|tz58oyZ)X@b~L%w~=gmq|F1 zD(gb;W0io%fFnZD1wHP356BJDX4sdZ!W@TE8}8CPiA#dKqG5mJ?s5PH>6yfs>GSw2 z8K)R0^l!Ps;SaHxwFfWj%4LtdVJk$H|LCMr8ImkDZ@1eLX1q$dj1nCI-#H1g$&l(} zFsY6J8h!Pq9l3nJZJt~znV+&7zAPTwZ(`JRv}F_N^)_8U-Cp}^mnmEqjzqVZCjm#H zNJD~*ZW8=yx)8eFSCQ-*QMzbfT5mmEFP?S|4l;=C?z!*$)al;C)#1oMN_Ue*aJt8p zCl`7OO&#XoR!sBOS31lfZp<3;$N3WLuA|8ZpU#Y0$!*Nsvxd6j`L`v+jp2?Ysdj{3 z+&yWdCn?zzK}pEJopIJGuJ zUSJ&LQ19z$XjN`Dj#clS)B>glhmS$B8Mf&dM*UgCQmlxJ12c;9M_ug(hSlT(G!j-? zeJ5d*sN|&Rho?BunMN|Fp_R*6{zd+h*7%VcT{iIRoM}rgwhpsX^wyb-GRkW6JI4h^ zZSjG=K8&dfP^PFD8t3m%QxOlRBKqtJ-io`l)eC88$XyA@nny7xjcf1W%$TF9$Ecco64%Pyns9Oq#gnI^GIh>PbumhT_+ch1}iP+@xy`>Xl5 ze#pihL|)s3FcXG9I|M%;s;-Z{W<77jT@{Y^-UNVGt8N#`XKM$>d|%hz zCYRCX9HLE72VxTKAE1W4r}>wE?9}KvdzM%nhcJD;c@eQlmusx2iM-$|(ZDW7emd8N z{~b3m^v%{W^pDZqVQa8KF1UW??BFZTyd3|>?&thx{r{T&Z~9FG>;f~Z-w(;Hl%mr=g*=UWSDwg(0;*0ts%z8`a+ zJ2$h78T)G=lz^do8X_3Fc8oA<9tH|or_*Bsc|aLfAT61mpfKLJiNJ5umKR+8a+)My z>#I}~%eg%CFuh((i9lIF-D{)3chbvO#%lKfZGEnvj!xzg>M2rg{W*EM^8?8E%$&Rq1l(|6jl>_XJVqt{%Q zfwGd6M&U8<(P@FpU{zTL78lw1^RfP`1rC5R9I}xxTHjO;iPlXty-qk~uq^3U%sj1e z)nV`hDagd|uDF(6)l{9_G_E(I=p8GwN?!Ia>sUZ>(BwzuRLd!>rb@2ONb&}_-1Xu4 zXbd0Zg|1&3)FE(Qw@;^G+jvG_*KSX?^v+$@Ue^11Zm&UH;6081iS4W}f2`PXxYaFz zk2*@9=c!Kl=gqx>GUB0YQ|Y>G#A~JBImwr|9>SNF>7vS{QmGO8Ff(76y#D|b&w5#( zEUcPAf9f3J+|O(yiX0@)twccIO4K@H+t5_KeTrc@AJ0l!OokAJdG01@4|kuD--Yi^I|%AlD;&@}stn1l6Ur7%g(GdZ8IF)P4ZWxV`)l@_v! zAUSJ#8^&3Iaa7VdI9#wKDdDI*5Nv(kC-6F`2gCCV&Bt|lvL#9l*Sf6_i{43XH3>42 zM7X!Q1j-~6ESPrP(*q7i==;p$8rhFZ)PW9_p4lqMIX|^Fs>+0yD>Bq}Jn9LeYZal* zh)IijytL202VEu)LHIBgp`F@$5UnB>a%2Vp)mP{+Tq7Y-Z^es3S2ta$9KvLn1@SOQ zR+Z@bsYlo`HepVU#)q=#8 zck$vnZ}KKb>v6p2wn!w>eSG1BqA@`!K5~k zG^&+rbT)lISEZ1iOLbI`FJz~!VS-x_4p9-d8)ND$oY8_S6J~r+Ms#ZCVTTP;SKGoN z@#o8IAjCHh*H3FTSzrn%U+^}}_myR0tj$iPTc~>hJ3y(GsJubBNJhQFT&2bP`Qb^9 zI1`#SxUGvxXkpK|@u@%5z_u0R$x-u4slIz01gJKGm{Ur=6E-8Zo4<{&ZCr+3lmuB{ z!KaVW5yuO~I5kZvE{~of(c(utB_wqx4mej!ZYzvMZG?A?IV9Y!9%C)Kp6O{F0sN&W zT8$A3R6Omlc*@A4-f&2E95!}bqYI=Lk7D4qmrmfAQS(sSJUz*A&4?XRcZ$X2O=`Kx z!)ar2FXLJIj9jS`d99m3@$uF-5rh_*k^jR8;dQjouh6&ln6;{T@jkCcQ{Y zhNHKIBS0K9$D-O;;pbr>YT(2>2)IB13B(Yhb|b=!i9)dm5io^a1L)*S>qvnyy&tN|Q^na`O=tzUSv=c@5;+LUg>(^`XjRus8i2{$7uJt)zxm$^)*w-MuXB8QBc&$`Ti zv^`7OaUuH7kJ&n2ctYlP2t8%~+^6NHv{Ff zaogzMkTJN-Wn`7{bezyx!ESr&KeVx(%#n#t=q`gBJm;YkK{m-5 zzT|OV_Pt&9--)=oVF(Dd zi507n&9b@x!-w>yrO`5-~ICe2Xy5C~5=y#vMRye#N=NED1 zq&^}}bfI>4z>u;ieM!HrtPyp7`+xyMJKGE2kP%aRNS~>T4Th-WdnNEaM$l^1@jtkA z&gjjkW$rbMX+&5vr{Yfa=}h%0x4lRszR;8@x1zv4pBSTV*7YpLoX-OYLqT{&KyAv* ziLBLyIV>AX+xm1Q;pG}{O@U5-dkNyoT-9#}`JKyC^9hS(m)9wMK|Ptu8hUYmHX@u)`b= z=TjO+@-^{ZbNzp=BSJ3M| z(LD#$U;fDYY|*uC!2u}t3^u&+MZU0JWHK!3>w~D_61ZzQqN9S^IL?sAL@^Q(@n|s( zxX}&%7n4HPyqdlz$#B1*y5COLLX~$0=v5`8LQ*Jj3%rXK5W$9R2^13%5YyzHY;TrA zQuG321~VLiN3{YQPyEJk1R2`!V`SHF|Exa*kMh5rU37o*ztzOUZP9y63SmX|aZ_Z> zG-~;lBiiUL1^Z3Xe>8rnX{(vi<4zmwzMW9DymHv^bOYF-`FEhHAJJ<`Nn~VF#jc{v zNfB(B>-;YXEwYlzxDZW(iMCl^7!-eI*RV*N0cN0B961Sj0w}*g0zE|8lm8q^YpIz_ zJf5qQBlI>kLbCCeKS!Du{ui=8{9cIrs8KeV3jfUFfpHlDTKBd$Q;AT8_$j`?qCNKzFMHMcG1 zkVd;k#)=#`T{k*5Go}2G$C{e+@Aor+;m@#)T=Q@%`sucpYQOb`4{R@4q%i z>hBm!Teklles-2)V+=0C|K}dP8f|cy@}vY~r3Z<5Z7u{Z{EIjgA}IqRs5`yw=sn!K z*_-p+OrlGx_RgXA7>d_*VAt;9of*=5c<)B;;SVzUHf!EpY{>_&O;iUy@%1Q%JHO~w zZ2Ys)!Kcf+S!72yJe6;G#6B7azoAXrSXs2ewgGm3muK-`JGV1UGslL|uAXaaX;o~2 z4)g{rqcQJ*nx+4RvfPCSEP5dbsoYRM!TQpk9K{g*uOpx^l97S`gtO2UM0GJOj@0ns zoEZ65CpazI(;3RhYhQsn!rQowP`-9#j{I$6&8hr+H@|p7nz=9&E%sR;tSjh_!Xy4} zSN*EVJQAtut3yzuRh@Vh8+B=EzPfl7m8n64kwR~sQD)h~`)G13Tz~u*W=`%QH1svPvLe9bxe;M5KMCMZjTPooo$+MH;vuR|$Wj%GhhH}AG zwf860fz0D|k&8lSd8>XP`ZN?!mY4XGAU>Zvig1youLRu#u!IST66HUg(K9E5~$)UL-57Njvz@UXLTp2NZ9Ah=4yAU2Sw zeLsC{cXjlcHczn~Tue59D)osBy*N34UV^3$@0*CqSS>XC->>rbQ-%38%lsl%OHKG{ z3z4rD z=$b^9=dl>A1)TMni|s9r^oJ{s=`&d038f-Dk~Nu#;CyR^R6ks+QSUos!rfUpOCz;m z_~BvO)b?Z%D)VBYDC+NYD}vy(|XZA`-a7_sm~M&%buM^ z>7+dRr%I#)=y&%mnA2#VRyG4r%a!dwNGKa#0wdqnXpgJ}dM5pV%HD(I3~rk743jb! zZZY{XV`$t{u7%WR%-(-!iYVi290`G$Lx4?Se~sL%P?U}?E1u7Ozc2EWO@Hm5oJ?!V ze=g2`r}z1O+^zcZyobIIS7-5ZbG_X+Uw_@)?mhb6nSH-Fw(4%B_lMKZU#UEq%kQd#BV1VRrVRS1Y#26Gr ze8^<^;!D|eCC{f9t--Rq*c_eFN_Q~&Fo}zI)w>rJmU$sv=tnBHtNJ*Rux=BFgeap6a}mWMn>{LQ^K@)$SWAhAj=9 zEbi^apNS^vSja9Rrd=|bDl?qtH7G4Hymux{wcH{lbMBwZE0(8~S-E~D?t6VuppDeY zq>*wq9Co>De1-SB{TeC?UDyxIcy&&4#u|fFr1HxT9R~e-cGRJNxeGtQV%1?Y?0E+x zV4bouD_4?nLO(j%fiw=4`B0#mjis()%GNWY=QjhdR3fav!j#wqFI$~3OAzEL!&L*J zL_dtX=|=+`BtXF!cTkIM8L2GPcammw*3@Z`exFjdkP_~RA#4E%g;+oye3d;hoE*$6 z$HGGF$_33mBIW}=Q~iOj4ycDAGuo;Xja$JaF2I?oKy?~mgnG`A)S$e^k>vadW&1+f zB4Mtgq08&lB%oHMws}+ z(HlNx6K)c$2DNnDxXT<-y81%sU-!SdKMw}M2*%FRT7Uw%y_~C3e5wIc3BnqI=4H|^ z_V^es*kO;FIK-!_)y4G`{}(apB$T~qJSkvVHU~>e_X9R7tyyC6o`A?2jX+ht)iPBN zO1d>L_~$pV>*N-~xukR#W2^r?$(X}T8PUjuyX@Prr|VFB;iul4tl7<-Aq#&l3nY+N zMIOk6BLp8yY`$INGd~G>zRFPprqW)aSk3J`QM`GewGv`qF);Pl zhyzBx?TZ_6@~>pkiOtG77P$wb1-BBb&|@UPGt!)@Q564zQG;)azdE#0fT6Xc(4~^< z%Ng%;L(|?9E_0MJcy^cg#;<4zZO{aR`4s6S5%V(oTZ;FF#t>8gq?Irc;C1p)`h01O z!GK8;>e{^JcnUyFYm*)cr;_Ftbt(yr{c#wjN}i*Mr+%v-`5h@`5+q=H3_+BxMXHBn zUb14`%aZD)2X%O%R>3;}xEr0+QG833DFOy#ih<84;tb@*@NMt46Tp9nU>lCH-Wa&G zo<5iv?HOBQ$nsr9lXoT#kc6U_1#*a;?tON#_Gv3`F&sH#6m!%RFDiU;J|*2Y>tgwp z^12)Uz@j7w@4(x>yxPQr9M;6QmSqgTzhJz5#c{N&3=cOF?|vtrAPI>&Xf9$?o%wVw zS6<@U#`w6Lt%`DktX9ez78x}87+%qPy&AB^BtfEg7oaNg(LyaqH(4=aT?t8T=T4df ziql$%3Q;Ui5c}yX#-HKihXgr|qzy_{oRW%-GW7%-Ah(DOz_J=HYP&tx0oFY}0{12UA;O1d?ys{aanSS&%7I1(HU{|noCDW@9)5~GklS^4@!zrIE}FK_u`0BMc>B-7Y*jhWZxZ{JV_=E_N5 z>qi)5m8ESjwl0Gb&(y%1X5qpdR>iSs1+os3gP0V;?9PVts92YWgf75AXO%Bwm-t1w zPOg%@aU8w>YZc2u^SsXFTGuykT!n>ep%LUs;`41M1;;B*>XW}PZ9I^YQ?Cj-%f7HM z$ziH&tknN0_(A_TH|&mpBmt*?_*&Qd87b&eJC3_V(xcptS5+nNPExbx_gkLqQ(E|8 z8IshM9gnA%qB|!@03!9EQXBYb)y;`6sSMP>EbWYmLkR0;*0hcVj*+gjE(P7^pEM*y zXzbcPFM)LV%2l`<60>G&eE2~}vc478}73{Lc+@Tq^@p`=X~seeu=3S5sEuc0zporoMjm4#!bZ4B5PO=z1^ z-XI(k?Wy-EBcof3LI%Jebc9BG(+klQM!RYz5CxI*fWz}9BMd$mmtLLGjnxFdoqpDF zTG(z-J1Y)1R>C9!X z77g;B}^14%_gjja_)}xs5xo3_v!a zpVlBW9Z-DZ6MOp%z3&D2{OW(*|Lp+L+e*v6%oOyj3X!1tW*ExD-O#}8>|m|Ag-dpf zlvO2&G}ijQ=8vsQ#<-X+cK=wM6fR$PbvF*SD4j^N9K2WFhamYTdw3@*6b>S#sA&Wa zC#=heteM_TqWOS3XXF}sZ7xym?AqfvI`@H0fwO!bUt5&?rQ#vwE@;+K^IAP!Br7gX zoJTE4LbJM+GAC=eoJ@@HU|4TD)`Z+rx5thy)G;wEqPZ_uGQ0+eTJ! z_4Z(sfzFGk`2zkIZ1>8x7zk@W6$vK{V_6?+a3+v4nnx{&M>p>6$Y#=&S3gUO*5vK$ zw7GS&yVDvg&H46d=ENmSru~M3X$f&O@tZE%!<|QQqCrQvG%1(19|P}T@tmg5yWt;~lg}g+AqkTy1|P&4YDo92)J@FXRo&@SWW^)4g-6z9|2R36^qa~Vq(%YqPYKtX^oE~ zg7{vb6>sC-g0SKs8k$G*i-&5eaI9U?TD1<$+$dUo5jdr;GVjoT+A{5z|a!{R;_e2)2OuPXNy4N}GHfWxgP|Jg>&WHSqyF8f9FdJGde9 zdou+3DCf()rq~(x@lTZQZgICtE*PYbPHvmzzOQ&8kh|=8hF2k3%1dtboJ>_@n@R&p zrHf$xBuVONcRzDDk$|)Mk^6R%p8azs&Otk}Kog}Qxh(NXLEV@7rT-=|M7h^PWuT?h6ejvmQ)pMkJ*;JcwR)W2iKWoLx`# z7UwTnEJHzO%fU_x7y%U|obj>^PU~a%vBxyV47ySH4Vg2mRWLf zTUt;bOUC9(CRaSB%l@IC@>h5tVkxU!iV4{ zt$eG*d`h4V3zVS}+OECRez_VXHSm3Cg05@72_&K6NBO;wBs@hRO-iwV2Yh|~(+t;< zvh)KVjxyMx%E8)EFlN9)Gy*T~bVtA!Vs!$y>gl~v7e9^HiP$45kAxCN$sd&!gA9rMJCQSRvIf~`lg5sU-0fEss26{tqvgOQ|XdiQRVLDu&fM3UTl^ zsRHpGQU6F$O~Cuiu^ft0Y_8dJ^=dMO^d!Lef~w_op$R6b2*Z)5cb%dQ zhl^HKmd&-V1_|5x<6_#Kg`v*5W=UQlrT@UlNG&;3(|o4t(KPCtlx6nLyZbF@-}7iw ztZO*^%+{)vCn(OQge@Yck)I^}`%M(fp{ho@7!4aTQM;~H>=>+kDyS*%2l3jDz~TX( zU#S`&b@|&)jLOlqJ_lWgp5D#zr0e>m7YsBMn7-`wi7VibN$~*@!)d0>gi9K)bakB~ z)z(pPsqF6zn?AIAKbWIi&}p;UL#@x{=R<1mSd%8oBJ@c<>*&r{`zORO3WKtEfRIZi zXuPo4I55g^*6nmivWX?Ng4I-wbETh*h2oBXy(HARAdMNKbOfuo{DwexsSU;VM==BY zZ_v6zIz}I~Qis&zPrOfIWheRMiWlqZ`K0e1@KkO_g|oQ;+To(Zlr*F5k|m0b3?yFp z)uTSWpEw;b%+VgF3JE$Ufa=KQA=EPsY~#YdORa?dcu6tFn)ir{_BNVpi{xBA5f+Y2 zBhyd06L1$@cNR@ z;N4v|VzOQ|j5`x_pw#^jvHto5*4#E7ri!*JO$tkn6D34a5i4bATZF+oUb|_MYzhAcBdEyyoc= z(94T6P`SZPe!ueqo%2 z84f3n4^WQ*HS=;pRII_+;VrAw^{3TEYFYc8aKF?m(U*!xBxZ z!o$1UPy%TA7`j@>1q)w8_#U?8#!-`?xH>NnF;@u8I3j4cqUVIuR%|Nv@gV>8K-#Jz+U&DIrN909Fqg8w=e5)W~jNO+`Z zRwB9bMc0#d5A{xAEv>Ux5-@iIM6*=1cYEz7JDMC)v`Z`B?FCgY&e>+d2rDUQWVeJv z`*p+Vl~8>s2)ds7vZJM$XmJ!EJ;h2nHjvKtkUp{90>B8nZ^!jg*2rlREFB^^Dx%VM zv6ur7s>8norkf6VJ6PD|^VQnFdLf8nt9NS+U>au97(k6d+Eez_lrO&{wQ>HYE@RIe zGeG-bWSqCLM!1b>*xqfx9PuMxHfp8brA_9v-)L~o7ptkm=odhG$D=R6BJAjuzo9o2 z(X=DMM6o%GvedAPsIqp>)dnGAgnGy{n6u*&!P92HzpP~ll#7xrufUG7vJA$dt8^^+ zrZ@|+NsgX=CmduZ(0d#KxK;L2r0J_T5PGmLQxjlgbL>8X%)t+(9e-hyesQM#)xm)$ zE$(E%7jD!Og~YQ|q<>&wYaJN`X#BzMR>}_YDH%hSsJWk+%Mk_753Z?zr*TpoL5yFB zbTY2DP4aJegedqtONCL?%ak~scl2|cf7De$(L4G`IRDC`5zEp!*+`ZKVVHX%==>1#!j*mZEYev_N__GE+D zjafk7GO@%f)U#6cj&0{KpgGq91YdF&fJGCmo@&@q(vm?cEjO2&p5y7%!Bq$L!VrAn zK2QTjbng+gj!?BM61rb@Y3bbmWRSAVLyCylBMOKTM+}_Fuu~_trvr3YP|oUF;2v=3(hIm$ zo$c=ic+M*2)+MMl28sG%%-JCnhb#q*hJ+;$cZ6YEZ8cap)Rph_Gz2=wynvGZF+$pm zx!@Lj<`_)|UqfGO1$oNTxyeV(<8*bT>w?_&jPZk#mgdgte03e!=$R$m#-)a6F!tJ3 z;k8na@)os2&XnyaE}q$x8xZu^pR3LK)y_b;AeTs?{B0wv4@Xc9*#6kA4*B#1CXLpyp7_h3B%KENjgVVRkLF~7aY zy1qJc#;P&cDq%Qm)AMx%Ukz)iZa_w@9)crU3ytC1#P~46>kGSyuH*{V%H$2%tEup0 z<5^&9@s5vM2R;|+}nd(;QYmZ>%b-&qT8oKsiohFU9YN76EY+P-EL%#M>k znKA;H-n$!pIc5RoJ2=B^*wj-7$;^Ibhxu;YXzZ#>MY>p!$<={*jP<#$-F>^}wmnMD zQOkC6zUOW*;>(}yBp$$LUoDs7td>S8Am7Hwp|z<9mJ$GfRZl@%?aXYglvG4~03BEW zj)K5;X_VfCAG8$SB>akYEiQ?4I_b46T)9EC_ViixR_Tj6EmScc>}%<~hC7?DaIIFD z&S>cgky3cM;arf}DapTz5d2`B^n_t^v1}JCKnj(mb5E96Yf{2BcHy?Is+zGRK%s1u zo)l_u@-=lxHm531EGXV+SP!iU3aIx^3--N|fs6g>9kbn>6k}ev3dq1pBBv zi2+cgCD-eIvSIJI7cR+iq823cGw$~LI~+oF z^WcwH>oJwx)6efA+`4tWOWti=a3{0_#8mR zX8(mV+{ScNS|Vdsuk%R8SGYEXU+u_CW@^-45RrLTG7@b_0PZw$0N%MA2c7G2j*#Sr zS#7wV>Qp_LK%Eot7(W9VyFb6ekHh*CD%~Ij#9`bPGL45C!mH>CY*)Hk+kkek=Ft1< zRxvBKr9EK^yl zX|$|}zu*tSOGsJ(SJV}B*$Vh|r#hQ`oY&Z`WaY)WaIn_J?`(4xCj{!~orgwrx^Yih z*u;9&G*}ETk46@y{L>9a>1B5~Ey~mt%Z``^2tv#^5?2`&v%5TZ4>xhGJoHB_V#{)V!Aa)-VT&c>{T7g6u0NB5(S4T1Oc_Z{YM?NZx3RzZ|f zTTH${Ea<_QSZR_J9jc=}_D`yQ?L#OL9@e`ix*1@e3g|(TT%Eop!B2<|0t-Vo9ib>9 zI%xeG84rjZNL0K%??%ne-QM%Bv77w9A0VVHFM{9#tHIvc==O5eIuc#)@++Kzx5}M2 zP}tmo8Qr7C-Igdj$o>1dyjB^cN^$mMzpFT#$~I8~s#9l_Ed!3x)1sPWxgYj04Yiou z_FtS~BnSxVc>a!)jM+TBa80Fc#5x2*g;2VHRci(6%hk}pb)oqh0ID>fbx0=Jp?z=X zR0}L}W+?qWddsj{dV>RbB-9g}GOStWtBA^9)i^x3D1%j_I9*xZlJ?K8;|BKzs0B7R zjnp5}$|MXy$t1@<^_o$Z&FxNwNK1j=KxMckb2l>+#&>!@kzZ?x*?q%&`%p>Kycy6Q zZp$*wQ}%PT&G9ku@LxKv|%9-rO z`K7iD`>Y3rBRKOyoCmrR6Y}#bPIdfN-n~|h0b6+9>+P^UVS$k<^?;msvPu-_<}I7z z>&M;TzXR2l>wI#PH*xwap;}?G14}S~o?Qutv`!ODeDBsJAf_w2Uw?RO?t1on>?ZQe zZp75I=97Cgzoh>cQPL|fW15DGtW@OguEW4kU^)ZG+fiY~(?sj?2SmR;ADA9&p!JsE zY1Bieh?saOLu^1d_o9&ZKOxT_^ltvwP|*Edp4hlGqcuf10_yXGkuXADZjjBcFGs*9 z6YG%Ai%FH{M^&B@LcsSqgOwBZ!=JDYhbc3xCV`5>02+Q7UJ+zg0|6@pVW>)B(n4H59_a17-aV>aqp z1iyFm-73-|)gNm1hy%!UJzS8$j!6xey;HV!maux&>qthyTp4bW?mEjxj^@xt%(!|Q z$qQz1`75!wv}YSkM1gYBsIAJbZHp~h7zwnbSdXdFxRXqXi%9TK{a-ItuXTuq3NANfmq)hMJfjbW{x|OGTjR zRT}#TbQ|H)P$W!v@R`X{VBs>AbQPR*ei%iDJVa1(GcHHA9GJdY%Zx)zc<~IMgeUSf zEovG7_d#g$h%XBxuzK#HOPwACKd7$9vT?f~dmW~lf4aHAqlo^BKO_4)>6duNhIx5C z3EM#*+uQuxzb*WkYZjZ-lKfIxgMYl{#q*_|Qjy={H?QUgY#f{{Z~72JK3x07Lk$^_ zxJeg^`k-$*T!09ZaUu;Ms2~Mcl2=DvN-gI4lp%6Sv0MPa{@J0AKV3NBZ|Wz_)H`;6 zG(dwzSC-w3QZ$$TvW(4gDnLZO`9Rb3k5YOeg+!|nN zpMp-*`+{C4s}Y^XiSkHE*|Nc|5zlJ_TwCG5Qgs{7{pwu4q98+%o~_d9Q2r%rmU(J& zmV1;ECym^#!VRBRr0|~$ZU>d@Mo@*Wv6V&GQVl#u3#0`50!dKCJgE5E5AR7Y^+$Yb zEJt~%^w9Nl^#O*}JR9sDUt00oDYd|NlH{+GfBirzn!9n1ou<}BtXhH-h~_xayt!t* zH*s55{#V|sM3ZvltWXj86nCekZpv-6=!CzD;uzX+S6g<=o`}Fg7?n9ZR~v#Fon%>} zT@{ihyXX8~{sxG8z5i<(Loj?!zmYnva2{qsYy|$+^LFlEoF=umkYz2+Kp+{HuU40` zTe4&FBjAAbuO}AK#n+B$4I3cep+oo{_YuNrJq~>vf)0VKZt|xU;0Wbb)5e)5?8|vo zP#BraXF5`c?E3YPL?@5N*aD(=#uV<06QEzdq|1_fosAk3YNBtW>I`G&N;NcUVU|;w zxl&K%#rRGAU?TZQ!qK&-ebbr4D?SV2jzE+EyN!&@i^sm|ZW=AB*{9HWy5Ibr z>RSg|BCsOq%eZ`VKMpdaxB4OY2R7zS;S9KV^t#7SbR=?<+jZcagNrATqlY0TIMht+ zQXHp}1iUWJv;^s%1Muny*}|wYKLk@p2hhOTpkv4b2^GeMsFWfDg#G@8{D4aZG<|}Va$~P|w_1!WLAFHHC`jkAFf>)|=$sM;A4sX-3ZdtR z%9@@BmULMTL-3Q;>gjvC`?$W{K31j<`herH+0M& zVens5ZP@@x2a$|T)fVxzgzukga$0B;>}6~>%+p?cX*A)k=WTr{D>cfz=-~XEe6aKBuz5^9Rg*B8 zHT22U3XoQ|Ovxc>ry1a`ZiD3>Dz4>Mq}0poYLY4?YB9@lidUHOUUe!qv(nd(3dq zxy^5Zb&iZl7uEXkF!S8|z+xiS^NB63R$K_lABVm?dL}VbYBTN0)aZ``my*4wC$2di z*)x0c96i}Zv6|X<0@f8?bkW@df9EC`N}!}nt7)R-c|ZG0U7-+ddhz|5UnpA$3QX`O zb*ovQFUfM@%$NB@9?>?HvzbRDLT!3gdE7h4CVPei%0fsF3aRlbOA3OIvZjF04O`>cvN z${!DpActw(&q$2E>SoCCwT^XD@y>4JWXDk}P&zo&%? z7D!Xi`@TU@1KlL;XFgkVGGDI%$X!qU=pnL4&1fpureA++E%aCIzx%9{Wxg|6xW|ZX z@^`tl;L)WGWW&oB6%R$EDB0;Pm^)kO_J|p7rSKUe2V(thPFNW8Lz(c=+W*g?HI$XDvv-z#9BZ!Vqra_m zmqX%-EVH2tbLZXu+is0*`oJ(fwdQO(d>u=`aqQ#L;Ygqx56M0VQP&C|t;K+{I4igq z=C=w?l)GkEs@`9PFx>rAM$ieVX_`f=3NH)9-xchZRjZN9h5Dg!N+YIEFCzsa8~gzbKw1zh)lC4Jpj&<5zSIspWXIN+~P-y`qtQ zT1_P{G`Gq}sRo}T&KxMwf(nCpFkyeC)RFt`?GSi>FwI{;DN<*yGH*fJq9}u=#>V=& zTX0DV@>#*jDYfBZL!IjMEL2w+q-mzZ9>bq5}nj9_)s6%*)x1mg$!;Eea2n+tkK{Uz7F%LD=Shd#yEx0V`2T1%E_Fln3$2+$Q!qNLb%Q*A&ik97ttb%HPG zgwX5{D7p=_FCP-&Ow>obPg7H-fPD4UnGFzC$Hk@2*GU$h8-t5j8@1euk#40DQLV0I zTaZvd4-@7z6qFdjKwcCI4&Tr^1RfNqx{2LOva>g!x-Kak51i>|QG-DpEYK1WlwdqV znVeLeg&l~*g|8}{<8{G7SpX*C)GFX<$N=(#wpCsdWE{>?rnN70zc3@qlCM}}KaFLZ zQY|kEC{KC}X~(c~c@3ImHcKy1L7oUyDSw-XKe2K@23V#zjwERK8c5uNj*=pz#``*JM4e9g;o5)5IAGlI&VV=y^wNOQ>U$Cn)m)<}ygz8tRo#=wnALTj*~) zPur3$*^W2DW+{I_Xsz#*C0%wccg!zQc!p!7aGiZlP}0;`Nkb^;i8%!vZ%tbUnssPbT+&jC zrokMsSJAEraPw%VN)kjRnw-;+99qDZC-?4Yzw&rm*7BPqmpb#=uDjwPFMonxyA9B6 zg+SC+05qV^{pWhZ4Afmh!nzPF&;pHvK=qfJfiH2weFq*p)#_YTt#pJ@u^F}0h{mo2 z$CxYnXQ|J3Ti%XvL7zs9VVAIZ?r#rYm#yj4G6R&+jROSi0kEqtl@-Scf?3N0aJ1G6 z`gbDUCPDQqoo{z2- zS=%p&maj844i}P1{z!J$oLnXAFoAMDC@2vB5ppFH?T|b*Z_j`fdsec5dS-BCFZcQ? z(;9PPsS=lOg|E)19RSXU(oL;M)enJJTOQt@aB{9)en>C1Z0w&^x~ML3Bh~b^uQqQ= zPG~xMd&H_lV5dP7z^N27Ub3iqv%#*Ub(qXL!d*IllAri?xzP|(=2j3FezT9a&b9BG%ds-S zIXn!owa-XMLa*G_nP8>H1$c|Lwh44qf(t5YqWwZ0JL9vYSo%PuvbNQ)R>_2k#D$9= zh8jZ2MWo)x`jBdPkJjoM3E@C4IrmHwLRs({Pv_{aJ?~#TyWFXcP(gVdhE!?{ zfrs3(%q+r5%}yp^2!m}c<1U2PW)BIZu3_@lF60(dIjv&&U{pC*j|m|XeM0$s{$*(%nrML+G}D|_vL76g(KBmVE$9zcXa$g?(=ct zAL7BqNUzw_^Y>dAJom|jyiRa4c_#`WA@w`=rndiDxd&S~fH&E)LU z$jxNl`3i1MIr^O7cxcSjhdRR4LBbu0Bc5p0<3>x)mBp0=u5NnoN$&3UgG z+p?G9NtyEQ~s)8p**1cV*md%}#t_mvuI73+R0%HgGIp&U_~HO6qw<8?ACKkIH9u z2H~zQJ^tYPE(1<26x*r6I8aCtQSd^QKI~tIfo4+K0n5eKI6z6t`rxSK1#N6PnP(5? zVOsA=Q{reey<{d&Ba2yJK#^=Cwfg&i$m;tlzwYA~uSlneLp`p6-_;qDB+_%xA<#Sb zSwL|*iozWHpx-vAG9Hs1$@4F;9k&r7YE?=BQp=q_^G{N6{bLqU>`n1sFX%zV6vV<^6+Y}mT?tm#?(F~ z30~VDU?OoakAWo37N`Ib|;=m7$?5kZKl@jx~rZ5!D zF^Ww|EC}NIOw5|B6mm~nXkfL!kS=mb+JjVvpzOo1(tC&!pn+xr@h}tiK{8EmTd?a{ zhrIQ@mKX;gsFoSzZ$T)QSl8z?Hb_hanX^3jPGlDdy8>5*&CW{7g+4*4G|pl5cTZwW znBG!wxntC^aNJEcL&A5+J z%}5GflNt>wuf^NIpZ$YP>0qaYPm-$M0yCFH#{n{>wkOd{(kJ3z+sObUQ)k@Jn`&m% z5pR6VLiB*SqD zbnh%yA5qHtW-k66nZB)d3!nqb*c+PFT9FQfSzWwoC=W%`J8r9A^8IUqh}uU^MuB<; zKL$szg0Cq!d6pONQ>bS}*%lZei0_-KG`*x=dRGR=AoQDy`xgm!ltd5j;?~ zdKDJLdb?K?Ny;xAsl=%{=&@8)<)AKkc}~dd+7sjH)jA``<>iFyvusmjC8mW*+TWp{ z3KHkg<09as(a!dri>bL^~gkHjm3=Sas3y_J!%#x*XUuA;!B)~&Le1yp>JY{Ic%X-7c`$PG8s zh?ftMR2QSk(|%@~hh{4`ujB+6@}ws3aU~f@jQ3Wng*E){Djd-Y)$4{)mQDyihGN%h zwtw}#QRXM|6lqJ2>82U1;T*|Thxi@&Fq|nBvlxSt!&EPp)x8u*tAotFlB%YQl)G0z z-Da>E*jK&I76W(-gB;O?O^=zWEu8Yx%)HVcat}xOsRn=Kh;Ob8WqyJwcJ%nd$5b%G zF6s0p7ixNeOO{|wKe_wwl?K7WW}DaJLF`6LC~Rd^6r-ID&EHzG1lp#sc62sip+QsXKS--YDpPe1(!n0y;ua_GD@ToQ+2XmPt!@Ic$&eihE8FR|Da`49G5x5-T z3eENt9xY=N>@6=gHZ>DdDdFijKbI()t+?YRBi7v2gF`X5V3`~k>Kb=9Ke)E*eoqIO zyqiBBSwb(r%8;qI<=%~b7XDrM*G!5j-aqMKiGv?!{K-{oD zw$Y-l;Sg;gJ)DzHcTsKMsc`tmzJVRDJ!%g(W?^kk>4|$eX>d`A!$H(=aw4DWyRL3t z(;1WHC-r_l$wz`dm+RS=5SlL_300zpS&p`>Gh(v5`-Y;F%K zOag{Y(kl)(imW{pgyj!1*Xw%2e$nrHBI*paBA;JPga>Jt**DZ22s#wRh?^k+XE-h+ z;d?|Lf`VTLhdwXl4}udh#7Ij>jpb%YV*v{aIy4ZE4gn1-NJoMg(GS5K*byoP6EH;p zpMVL1>#|4CR2({c>sE;WkcSDzzTV4u0|gTx%RMpQG8EFwE*$ZrQH;B4!Aad`PaBvY z&a^AZBxnH&YUuFJ1hLEn3X(%->7Ij*|mG4Fy6)?Xe@WpxZupwbwEEn>s?7$;l*B;9qknr!9u{zPda!FI2FYY2N7O^K5QCUU~wj2{V~l?;9_KUFLf@w(q-xAgO0E0cnN4>u*S} zc`izGZI+B>m{C+g8od~S&MkniYm6F@ny3@=9TbXV#q;)f zS;CnqfdJg2ak&6}ztJRDL&e;#Raa)<9FjE0T=)&Aph$BtBIWH4!hqS-xtmq4WK1`W zQqSu?`~Y1GsWp{rNTSBavJr?e--Pm)p188Zwzxcq3qym`S z46L|`QX{|H37C8>Lx;#y(rUCw;Y>F_NV6uqu7pR#eK1{WGx7UJE4xCa@Ti`p;fM2< z4BkXAe-PuVO7LzmG(PU3AOs`N*6DrITY6I9i=FhAhFy6a+*POpmn+>kSb{Xc64Cq2 zo66kp_AhDr$hBeHDx&{+#r~Wrux?m>S4wKJT&Gj)PCC3*CgGXO4xwG#&a+X4N*cmD2#ss--w9ifc-@`dOCi!)| zN#aAi6+vs2ygz-bdp1uFxx;Q7r)C;J5`0M`OlsRJf{Oxh=_(1H&hP)$NIT*%JXBlBlvi)&L2l5lJ znPb*MqY#p;eQen>4OwI`t_pEW{IVs?LQ2yWxIQlW?eK&IX=q5flR&cYh*h<}HFiX) zR$0c=gg^TQg6NGgBB{e7%{eV#YEI&*!Ze$PV=D@NErFbx*A4GCQ7*j0QnumuRn+)P zvMaKmjn}%yFzO9%k18`}K-%psGHM}pzv|J70_zKrcxt25Hvgdbd`u0dRmpHJqHJrc z7T8UJ$v=R}5Airu#%(pl{*}L5zMP|#8rO(`!1gFx21NWLcj)#^S~+ZZ8-T5t3qT+@ zy%I{*yIMRbzTyYhSEWk!8AnLg=!+269lT&PN_+yMusZYf{!Q?8R)5PX8Q3YyL+y87 z^47;UwbZZ`uR2?Cis_}bWwPYmyzpNdMR;>? zTsWrhyZLTd@ck%$udMGvL$Sn(kd!sV@oNfo6Wo6JAnq~I#tKCv&LjP|24Q48V=PEkZ$uvBqwsV3m!Fx|NveJVP6rsnCo4h}6F%{G1vzIVMf5^rSiy%@iuKDXmo$LI1;%f(X`&Edwut9G*{ub0l4>!aGKe=>1RgFg zE!n!FN->RzUFpm3C0?N94j8I^EqzRjV$J7=Kqh+&#S6r2jifq`i#Z+&ylbB)sca{` zF5<4~mlL{_Cs#p%tB15ugAoA-6Bm^p=Cl{Z0BmM>jUTw)xg?vy#K@x9>B7!B%hn%t zC~~%TGY&1mU@w$@NECO`_4@XM?~$p5_z*eQqy5WM<0ey9Z9oy1u9T)C2C=qrW%4`r zWlQD9P~voXs(7o!aeU6>W?y$cvTOl_BO)QsIe!B&T1gSBOU3xM2&q^^2F4bpfYV@F zLAWRc$_=oB0gL0u7`NlQEf&4?`pG02rQ;-Nq^+RA_CBc2>nI}SG{UWi@R&cgeQj+3 zmJSHEYoQG!F{K;7G+_TER9JO5&~y(7>&CK(%-XJC(kQc*#;VN#Jo@@w3TvdY^FG*}3c`Z{E+uYR2@(-5M7o?X*_LWcjKJy9I*HpiB_HS! z$$wRx>pSxnfCAX6zY!5Ey)I_1kZe&%)AwKp55On07WdrjX7vP2Uo;z?4&rK^I^sAD zQ4HmXjP5pgaFogxU_R|{Cp=lRZD(h*j%RmSJTnNh;HY#oF4;7S#p`=Xh4(Tr^`4GlE4A~x#1&rT z5RAraU_}twZvstyuHz9WU^BdBTLMQsa6tO}nJW z{~1q6j&aW|V_eg2#pNIK@4S`r9R8zsU&@IZ_Ryg4^m%-EGbS9ASQT;|Y)W=PhZ?*K zK*zV~kF6Hwh{man^k8(icS0H5A4Z;oAjtz?JQ{AA_{3kK)^|JrRUFCacz#dKx9(LQ zJ3juoXm7Vfgv_$7SH~yCO~6A2VmN0nIh%y1;-Cu*r$=#u!(bJa);Air$l>zzZ=s2g zz4IBlFDnhnlMf^XMOAF(m|rO@2oH}55b!kW%p~d{slv-keUAm(P#VyWJWb(d@Hsw0D>|!=vvT&m?WM?JF~p3yLg5HzDa?g`9&SowFrC`d zTbYGR#?cs%Hi%ePmSwj1{JJP$PJAZ)9H*Kpf5k!;x?2n&wauobECv|2kj1X1`s~K4 zrXtK^GkwU4ZpgXE`LDkL`h`_Lz5hS+Q*YXhsIcs%Hlt~=(vM-(V0(jba|;IN(kKYQ zn%n5U|G+oecRlqF^f}a60Xg#*ZGRvoMWnUNJ2aPEGT|}M=OlAML-w!p-AQQrqMac} zjO$w;alP?0%oAJJNm#slkX%v*`*6b*C%UYM66m+lyd#5z-7hbNlsq?_9PTg$lrC~f z3B+1x=_%o=AQlPlHN4zs5oHW$1z&qS)L!LuN+B}~Ikr%DC+B}+kKUec2mU&LkLnR(X)Bgj|f-cqw?y?1!1ibziB1wLEyTz{MdEK^IBrt%jngR3~LZ_ z6%;*DCnie%X)opky9&qUz@+pD7I0;rk6p0B)^u(`veCO0ICdhs+kh?=C31H_u3{C<)+Bh zeWBP5b@}8RX{jy)CaL8PL802iW42EF5SLOozERP4ijl41L&(jka=7)BSdmem4ngS_ zTC_aYakx!uEm}3W&+HaW6OON=zE2tq)%12kTDlmM(b4WFmT(>xEXD-ui+N!Lt;Xyu z7x~dqUKVu$h&E;i!kO4_v!RW^Mwr~vFZQPpo4!8>LT9aZl(1Vq4 z31Y~Wvu}h%QAWBp6+jd6w$+HnXq7yImDW>~JAVeE9`G)+%z0d1DaShdCurcS6b#it$5rx@g2?D$QiYe?ZE^|Q0{p9OswMx|%}@Zv9mI$Gi3h23%{Rwxgf@+iWSGSnH!X|O zh~2Qo4A}NdWPExgdWTTY(jVQp0)#D`292%&-37RY@&f6g38#!o@?lWj;L$Vo!;&tZ z{@q~JBv-I#1l`yC}^G4nL_deNvZ$T2J?qxLv{LmnTaa-4w<+C1*l7ah!Ox06& z8}<4AdVUwBgt#1Eg$ZP=a9vdGow4O2z%C$Pe z3M-|S z_TYZ#77D}{5tJC-KzNSFhB_B$;Wh2+aO57$ha8jUm%5SXPmqLVi2gx3Ix&wQ;-Tib zQFQB2=ql>3Y4=PO+;SA-p1SF61`bRUD_{unCKSW7!&-2xZ82N}J8Zn|PnG&D+##30 zn5;Fvt!9T6cvm^DovcBI3ku-bPps5C%56-bI%%Yf!rzB3>iw%6_G|p>s;^&2gxp(+ z<7=GuB;GZWhZdW&&>Qzib+J^$6l#X3Z~wm;z@48gbfL%tgtMB;z`toOqN zcV*9%F5B?`fM$ZZ?L+zH)#wX+^ohmvjc|c;Xe>}TLGZ_u-biNq8zS@)6C(pp|1A-= zi>p0xi1{19v!l7o%N}9t+cA1{Db5xq&RS?7zv6FUhF^?#XHqZ$$#7>_sONeXKUV8aC65OT1K%A<-r^#wVe=$A9FQVw_k?e@x*YVlKYsXA^)k}lv))uF9n@`ue@rd-DV{Bb3& z2kuO-3%riJo~{i|y;j~g(qL{N7_IdF3Jj}z&rUb~{Y{pRw(?c?ymh-IKp(T6bvcki ze(jhwloM2OaC9;Q>nN`|mZ<6?;)crULfT3Rrq^Azj@B)dpgLRT)!*lNXpOoef)1P- zS4rA#;wZldI>quRf>j=3=5flO%bFXS_LPpcSV%UF@hhi5S#8|za~F{@9z1+P0{TG% z&^7J)ZEsKn;ZfogB0f!;m08}R9#P92u-zTJV`*N=<5#D*!E|yj<0?BwX2lBK8%$v_ z;=8_emwtg8Zlk5-@O6-bW+1tcGe?!a z&y3v5;^ykfnb^_KF;^ML6<>ynd#aV)=%n`05Ttwg$6;nyQuIf>rBs@ ztg6Aj_GqnLyXvl|;&pC>T^U*lJvhA$2Jt5`P^nI38#A4uq!xFtcl`vV1}E3&n;B*u z@Xp(?$tdobXLE0rgPq>+sW?qnf!hi+@ruinSidT)LDQ{gG8=Rvwt|j7aa5*MgQ8R# zsb3-CMM~pYP4Ph9G++r1qU(YU2<0?eA`dw{5gGe!Yy&~LvB!8^t&j356+Gn+XniBx z(~c{VI@D-Mnch#UZ#h@c5oT;2Nhlvb!ZtSkj70_V+&O-&o9VUrhxnmgarNl64OlVK*LAiX(!f2b%nf5@g28ARPHrCwzWp2)x)0TAAE%cDk84ls4Ol?5YTo z7*7x+si89+PB}i&n>_YnIh_Diztn7rt+VX#Bz-RXL*m&)t-4S4qSfJ~OQw?-T&yyP zn`*_6cUeYQqNqo30$EHYsfmo_S3pSd3MfE zRMeChCDp{%li90sOtMO5UUzdLRjJK2t zFoJ^`7PT3eNKB3J!WzFodC?}x?T-@Uwkd*2_OXN)%x zo_;a>HZk=q`Fb( zrOT_cJdXtnagL#Wwv#;UQfth6xZKIDQrsqZg5C}%uZ_>-m#zVAnug8bBwop$aY?Tn z&U^Hd)n(d1o}w^f*p0-PC zcu5yA6&#e3T0YQ4L{n9s)b)a<(?k*Wj}$vUe&g>GLUUGo5>D?&YhX1^JG|ZnqXxaF zYBQsgE8E@Sn2p)<;NLx+c}DqfQu!TfXryd(ap)Xg}Kdn zar$!U9pkN)x}U16C)fc~;Y7a;M{SI=DIH1Vrkw1x`w6&XO%IJHH7l2ePqhU8>a>>l zPx~oPN$iRIq^zi}Q|HJDO!lSIE1Ynm$_?#($JeKQciF+L9w zXX0{^i9&GYANj<$&Fbykkp=FlXov};CVLhS*Vx=S1QjSaGX6?UAtPHJP#sk^T$#)X7Mg*f8aU#4r2N znS)y9#?57D*Ad-cHs2guAZqM~ytC+h;Hj>efsy1YloEwxeIur>WLJ)KuqWAn58gh0>Q}*SG0<&(8kS2D&_q zip9u@H+H;BH#=-^ZY5d5b3s0M#O{Dn21|gduqA_LV`EcEBVIMf7+*)va2Rsr>4S5jwcZStq zj7xC-Nxtwy_+u4=YD)x3oW|Oi-WbYDh1|{4zh)eDYX|lzETRu1$wbl+CJjtL2}d+` z>Tc>bD({vw{_~`cXWQ8^Jd`+wLBx;37?Xi$cqtSI=055ToX&`c*&u547qT%)s4ebO z23I#JT1VsHj=12b_N=_Tc*8_FHJRxs5xPTOqk8h8ryD9kvYPJz ziOh)P+?%!nHoQsGg>cBGz;RD5Kche))iyLeh!{CRc24<+88OC#*eGv#iq0+^O?>8N z;;;Ud7;BtCYmi8W6xh|^F@_*KXbdMI%!nvy%G$)egOD4*9#>0d+i$=6xubDzxLPtVU(%%&fc4 zy@+ff@+Q|l;S8+O{xRwEph}lb@VMMqswDnYp*DCbsL{?cK#apcoI3(T4PCrn1HjWL zx)yg#j8cYz7g;PttPfRiD(8(#ZFr1r-<8`!b-dWh8dluR*ip$xpXt_zZtF>x#G5zO zHp72_2)(ohB)b+`MtUsH7=y9P{QsIONy$1T18YL~S5g}oYw%50S4nb~fhNOY-0}8q z86_@9POfK4-kGaWn`dn%;)n{mr@eSmFZ$;jfU657+|HkF_(08ZCbJM@o}>KakpA$F zhztoqfr~guQ>z7_J!G?n3o+gDL7Dz!Gy)(c`$CtPq)vHOh1(~0^guE($H_MtuBCm7 z)uIqc7q#Ty$Wwxb)nk7LEz^g)8w_TpoCVGzA-J2`!nGueSD;$Z4LPHxY+B*w1He!`%$*2y8P+HfO~2A{c=kGXR1< z>c~03Dg5^o8)9F2qq*RNHVRpYur}|bEb91I=wsXW*}IU{OSV2lqf3N=o3PaBpKnh> z&fgzg%;7pL;%k|3Qr-t!En9O6mK`<&m7Rnw)hsEif>E`lM>9GKi{b&-V(ytj_m z@YPW0I^siolQmU8iK@wqpyRI8l10I|tW9Cn*8}}KUo4MDeNc%9N{g8iJ+;C{@**1z zJZ2FZ)Sc$;fca?1|28y6Q_o2zq5c=gc;F40G%q%G43|Z>6cOsYUJRdIw#CMG;})H*>GiROAAN6EVbo|Bl^^+18m>smIo~0iBRP$l%H41r7m>LgkXBR}m0RFQ>ip7MM-$r@hydx+Tfa zLWo>cl$qC{RC%}AE<1FqphixDJ!jSZd)^6#PhTxoc@;zB5-_W$*p&K6$g>>aw`fmI8Jy#q68xP5y;)$V)w=i>>35#iUI)^dGh<-Nv zVRMd0FIjw@65MvlB&JtdQ@UqPFI;BNlF)pj{eaZ&YD>1+kBHma(Bpaej~pG}pN-r^ zCAu4kvBJgsJfTy{1nz1@a(vS{MRK3*xk<`|FC2B7L`m_q#%CPUIsGb`GmqRrOxRkO zWhCD-b9l60>P2X3kHKP^voSX9ROkrhcv|!0u$Y(#sF-kw&w}|iHqmWM6PJEf0(kI5 z7NLK)f#>_FXjJ!dis4hjYKf_pBTOj|RE&)Yi#hvYnak3vXc%vV_4!*c>B4W~$$#sl zcQ9Mz)0HoX-Fu8Q#l4T+0};YCEyOga7!iUro`O){z9w(Gm^(CUKYLn9TUK&kMWRAZX!749;_O$ zr$CyzpZ#no1e<&V^Es8o4ai8v%FF{V#+FK=uF3d0RB%Z5jyfYvi~$648Q6zN!+}Ox zaS~S@ITeCw>Y#!RQGBYZivg?K)ye(K4TJG`<4s<2{X}4NZkDEwE7*b>{ufQ1$oO} z(%zVdZfVx!uY{3M7V-F~dRV{JPz#(VfptvH%&pmUM(+jW{ZLkK(xEy64P?J1{Z9$% zIoW(0m&y;4Uht7OQgSF5yldX|E%a%FUx#W1ONV143YIl2uP_`+=w zM21lnV`iTvuZO-isB+V@H~Qq)&2z#&0Z5aW z{Rg|WntF7EIxCU)Ah-h>sA-yXfj1Dh@&=@jFbiMPHIZQyg(uI=WcS9HvMxDP#WjU+};-GZyXJ$-WI8D zoYL0YT7tYo9fU+=E!*H^uerJo1`96j@dx`mSC%pPfh$WHBdUIo1XjzSZwd*F0KP4L z44L;Bcm37ku3Np>L*#Yafq%Glmtud~r_Q-*FMZ)_#eVv|Ahw8gO7R2D9=wsJr(x4M z^08wq#B`U#%~=1lNYZEjGe5^>qdBRrEJb1q!jsaVf?3u&^}H(fJ6LQ;DhbZ9gQ%{{ zOBa9+!v>LIC$7(a88MG)>I}nacb{j=ILl`y>3C7-;QQuw`0DP2>%2K3WpK$>KTm$p z9pGmbudo<$cP^~xm-42f62GbNcAxhh|3jiBqE6+qNPV35tf`dI53sqhklaIYRvi@a z45f0>fbW6>2j11_XGQ%0O4`74%+K`@nz_VuGjRdJeGte}*57(+tN_$YY?h+!)fs@d zefE9ak7vtpnUAdF@FZ7&qWLJxLa%Uz^f)5;hn4dntdmcvS*=Jl1^h_jkg+{I=2g6& z9%E+})Ie?zCks8`F9sQCoU*7|0ko!k^TR4C6kv+q&W@7IE$P)L$vF4V97;P(I0j0n zw>FgkO|*M|R;U#`daKz^338<=_4L0%R9t$ew&F|C3Ae;I4 zv8bZ8hM?1xtrhYBj|1EFUDk_ja4vH+ycL90Wyr~E|B~vyF3*RZqoc|QD|^$}vEk2S zyrT$a?(WrciNqxM#>HJl64L>}FI6R6>Jt=)+#fv~+%wavbeDhBg8(n3+|E=%uY+tc zBfrQmLaJ1y#Sx)a)Q5kM2QB`i0w;T0sRbmBkg~+-#iYd=aVAZ6aH3yv2sK& z3>s4?|1@-u!Fz9^$6F}<$H7Jm_^y|*kEEacYpaL0+q(sQO%IKrd4E#1P~zbG9d8hk znvs@6B_mJ}AyFeVidbt)WE~ZmH1qPN1E=_6IjP!6&fX4dCFpQ*CSLp-Lh@xtg((Wu z@u*@^%Eh8D;GK{g=#Oc`P&r7<_Od7_@LXN`>vm~?-MCAEhL%-p4)qW#rl!Q|mL?eE zonntx+T5U@iGXowL4a+VuXse!fOBuHo67W zl+_Y}L7iGcf(nX1+Jq@fx#_lZa6(`k@0g?y8~IJOn(~4S`$8gc0tG|W*hm56NzBe4 zMwbu^pvOfla@YlM5J(v8UG7Ka8nY5x`>T*ZmSu3%k9<%zjZt)jTq-)(^jvI`8}xW6OB( z^>l~B=l{gV4Yf;wS$T{3<{56?AR;izh6}OAcUnu+Dv_A!WR>N5cx4pgU2eoLPW9pt zu5eAeB2a@q{Bl*6gx%TN3UG5HAOQncGTJeQcg{jPMwRUhEMj%E0K2Zf9uclB?0OgL zoB`R67|s7hy@4E!sU-092Rj^zlEqQ}zA4aNO0E`Vo1a$l$!4f7*IVwEmgw7I zj6RjoYP0ISMU@>Lx0*V|h~MCKz?q){e3UrQOoSH+zCQ23t2vV2?o`1O5=w`*2foVG zPuSo`IJ$s=r@m#CbX`px8yWgIFJ0Dx7(`^EB1z|rj*-mT!Atq#sw z!5A0{IGV>k4B_&0c-gx-A$tQKrSF{i{?_>ZMty*N6D`+=V*6sK(a)rlN6OOP2V@m% z4k+>U8mv`Kq{ah9T#vn2&u@-wytcdrfuMOD2Ak{O0Gc|G?b*r zwvzS|VjGtWrk_I=LPJ`?1zRq>e`f$s6=b~O_tzZ=4j)kmV?9v^KMnI26fPV%i~OCt zeyA?#P!gvK{wK;=*I{MbEC4@LUcbrO56Z8E9X<2R_J@WvlWQH!uI#KQg&M=gTusbP zBsHPcpSj9|Y6gyiGeO7^%WjEQlQHSBSPOjbEVpWyn|sMs<%Q_Y=UsLDvz*R@sn-g4 z^G8Jkv3%m-kDI#6JIsj^zHoRO-D$*c8<$Qns$GT+QCz+(9N?c2{Gwl|>M{2&YwOYIs z=A8E6>Xn@Ft{Ymd!IH_df)=eBBw-ebqkN|7%%O(V)w2Jg8OmvW@o2y`D2w=Ed5|c7pn09FOuyUB<}tW>_loE8XUz&OMprp!Q*ZAQ z%`O`1o=E~V=RzAWK@mns*tL>i{4he3%3+#_nG~(mR4y*mLKo3OL8Q!2{m>Js@!tB7 z-!IWJgAL2d7LEI_KpUoXlND|S6G~Gh_jhsSFTch$trV1vE`^=D>i*wQ4MR4isaWvk z&s}7w5Bv?TiM%0*)3=U-cfn#U{V20Sp=y7zxyZ=zrsmg}jIx2Qpn6ubst3rEyCVOY zNgAOpaFex(vZeTw_q6}zHTTx4BDKj;~4uZtMZiw z>(D=%^MWoGUl}PJrrdLJdpyR#7*3%6Bd#;+D^3ei8v(7Qse*doV#s4Dv@HOQBK*On z6am^2+^q6XjS{WE%|dIsd0~iYkekL%VO~70K_|@nY|v!8bSSf%tsXv`nNMv4y^E`l zvf{sgXlLY6qi|?KDVi3v3u}O&zl66?tX#s^#a0wa{41N)6%#`(>$hq7 zSi#E?Cc1Lx6InGF%Lz5LO8PpDY;#o*i5`o0JsUdxM~$3w+^8Z&pR-i&BrsPmaW$RV zKpDTb{bopkMIDXqhe>^mg7uuM7qTNAf>PyMxecKYJQhi~jY^XDPU=4^4mGz_!k#R;paPlie1kHftZMj#nrVsmarUUey_Vt z2$|HRJz%6Zu1-JZDIBufh;3p(gTc*t;s}CO{s1}%qWOU;dN%mkn=Av}K29-?!tPnq zFMM-nUg`tDw%aOR6_{&$cEz+KVR%Z~PTrI8&SZ20w0rX-l}m~B!uv>^(PR0)(m116 zNR`V(Q30ZZFxOr zMAZ*kr$3hL0LQfCN(4;)#JtdGrYPu;@t*FHv*?-%UGz$>XPBQ82$(F?FglfTbv*=i zwYPsReaD(&%vFE;|9VDnnj)s;S+3)6x@A8pv~2nQbyd_tk-*$Oz9P)7hz`d+{%1#t zR#VU~bpEm!wXlHhH+v2TsLh4~Bk@_~MWT8j#9^*NXY}T&V+?|}ylc@&D~y5*m7CAc z)MtH<*aBeu(BVtH3PP&~V0D}E$6J*poH2OvuiAiGnGl8-w8FPuF%X=AVd&s%CRqVt z66jH zxsi z@oCOpBy2~Z&hIc3I$uHPCr{cgyw4aR53vK_<%^9Pqx&rcqKkGdb-Tw|bH3eVTKAI` zj2TYnr;pr;ZviH%svc$0Guo^~!e(P0VOk4~qva)MGLC9T;X{0Zr(*TN7kcr#2RMzt zwlA8pA^HKYvNTF~qTJoq|3H*)I#|M)bx)R@*D>9;M`P2mS=^3V|!Lj zOQXxq)o@il`g|6tks96uC!*9{gcvdkvpUVNz#W*IvJ8P?f=^91Qt=y5T3;CZO+4_n$Ja9l%&*b98C8(U%{jN4N2ENq z&&|Dx;FUUQH8+8YXCM-Z0ON?#+iquG^p#8fzZvV;TM(UM+uSZmqUvqeY1ZG$44#B!&lyrGTf+yAec8`7S`Yw!V!|ylroN z=znVbPCjIRfHhWHCIZP?)Xz9gwq{UCwi^PcmLP@pP~2u?cogAno~vAUOvNK$s*l-?&-?UcM5)Bo(qO z&*|^4_3NQ?bvM=7_yjH*TG$aom4Oe&A8{R$@H;}hU^;%?T~_GVq1m66!~co)<>&0Y z@b+y^==ZfJ-|cmKYA&AR=lF1Hom3&d`Umk za`I5Z;4Fj4TloN>_c{8?Kj^w7m;s@^)qll{%Vd+O!sRVsJ+KPFCWN-blV+kOCt9jC zeWRLdCREWB$+5VwP1juHEXnm(i&<<~?0h(njC+E`V02l3U@X9CEa1dYJ{v0FhQ^jy zv#wa&w!nm{O%6gJ6jlgZtws}jE}^lwAnN`-05=6kui%#Pwt*{8ddFlTuJx4gSqO)w zrC9wD7jVnb;qbju_N5D*LGn&#`luJQ!E5UO_s9&;covk@TIll{!VfU`gOD5j3tx7& z2`vW37Ri+)S#lE#ozy5Q`b(!tcTrN&A-js*8kgR{Hi(00kVXaR6cv#4^jf~e zGJJhUW|4}0Tr_l8I=iy7(qa_NJr;<{tVgJvy%Yd-Vl;ulKhu&w9u@Z=*i-M4uRGtk zVbzO{GSQgi!U{F{U>iv<5o?fOdA7#P|9YxAud4YsNz)%Wv~V2ufs=yP^M0?sREljc z;C4+I<@=Rdz1}FZa;OhuE+2CoZ)XV>9HECDvGIOio-aT3Q)}MuT@J2Zq7@NYiily9&V?_GP=p-qguQebP)A8@ z6Ft*X9i~$JuZM_AZ<>%;Gp(9oA1tlRexrV9@isBL?29LRx!dQn?b!S|%F(v}(K>j^ z4Nq(Qa}b1sBjF=Y2pC01oL?)LYvmjSBdIp}-`Q$4ZK54@6AV?s6Yd72g0{n{8idX^ z)C`8BV-w%@Z;8iT?7S~nyhqPm(kKm`tSKKRFl%tn*{Tf&M{B9mQ?;yxW{+O5jHLT) zptCF4z{C$Az_m@-=GdycRZ{8>59n{e=SH z{sng~dWAy@n6`?f=Ly9$&2&Mp#hUB`YD??X05n+D7O*&|eIT3H2& z($GIaN}~mB0G}2KV%eWM+?y1Iw96=>=HG&r zK_p1r;~2jD@Nz77UYl+%BWM#6nDw;aI}T>cJCB8s7f2U2&nW=x2QsQ|8Z2DUIMyz6Etf=v6C9n;ldY=9 zdSrYY9%6-;D7J?9EfflRu;8GWh$OC+HKu^EX(?E?=Y@!rMqf;B8ix)ElXWG4n~uQV zjQw;l@D3iZDqxh)xXxU#zv?`BrIhOG@D0+ zzrJm}VRGXcv42Y{%&qRlYAaDLd z)jXJ~V0}u<-RQA`6{@bv=s(1_2upi*4)Dfb1umiBE!BupMNCLvU#GavN#>qJS7LOVk*tsj+w+?>SA$MTHw!` zO{?gpGdXAr%hy*YY1?4#SH@1!)Wr?S`i)%T*vb(QkHgC)O};T@BF5B;%acq=7N0oE z5lb~ch71|Z9MZ5#K2s7UZ_)`Tkmg!^f8AG`?)XX?Y~C3l0EYcN+eZe;TO-0%#;+{uA^1ZeJ7tQlE^-{L3Y!Dly% zN1TD`d;bul6V|E1ba@Gss}4n$BaA{cy!yG?bElu`*OA2DJJ?g6;h;XTz>Z{Z{QS%= zV&gK=0+4#>KejQ&2?>4fPLJt6w&j0&-IgGKKXX;3IT`2ZrAe@>Y+sU;JQ#N^e%gC|SgbRToZw+fne9 z#H_w%A%10-8;o4jI#P53S$h7-dYwDji+~c$`irv~45RS=#jl*cEUA(Xf&V;~&Gzq+W4TO#$2;ObUnA2)2Y>$I=|#SaW2xPhsUPz|=9rhT|f zd2VMRNQ;|8{LREmwwMH%Yl`UuNX^{;`A1h&?X3|FW3qTO%W_wp4e8k`uQx-R&n36D z!&|btSAH=V>pq4P|5@kOrK6RkHUcA!03*a4sL@GJ=$UPhzDba~o=Ojed8Z#ITd{d6 z8GR3bGnBWO?R6&1$Kl0dNg?4n$h3^>Z{b3|#7!xIk7ai)sW`KO3$x(4rX}G5*~n6C zr#(Xw=J$RzY1oI6^W~hHAa|_l18}CS6{8g!rUd!GE&@}s)jKDa5GbY609g2#lFYQ^ zTzQ@3VQ1LqP#4kW;Z5xRJT43SJ0!(p3Pw?t=`zpKoXkFC9Atkkq}u^+Jf;AxqRR$k zkdF#-lMyKLkSYxrEww_?$sdB z<>u^qrkq8{8+Nfp4DMTX!iMZr94!iO6Jc*Bb`5xy*BX*)fA zP4VGoib_L;%=@k~It2+Plgj^`$#c$J==AKGNaH_4kCkAosgW`otJTK6a*Z%1DmH!j$D(rjZLJq zjBQ~QNF~4BOt=^3F8&|ksY0Ol|4+7B_wJTwT$w8`Ew$Dt->mm8X-U07tXVwPl7B-T zS{w7>NoljmNWACH%ry)%LDblPj5u(kN)#dHs{u090F3LO!%Up8Z^+9ZY>+x~;5S3b#YNo%% zt))7I?hfn_0Gqc7-7MY=n6qtKz70-F6G*^pPWsrfP?p9(mRA1BDv3GAs#S`_-?5B< z{)`7b--q32bZm6Le`|{X&t1kaiGdL3>}(OU9PQ0eM4AFzi6A)5M&t60tg*>zmPr=X zYG6B6qjiylPaGqKvxNCtl?ypUB%~v8BAfDGas&nk1fBeY6bMS)nxS2~w?u#4g<%?L za8Z~}ri~IIb5o;H;wpk$_0m$!_z_t|bxLGn`8#7aSc*8)4-k`X!s7Jkp&<+}pcf8X zP7AvqRKU}3x`&_*@XUkPD18a&DzW^i#h#e)(;Qa}A$LXl2k@>w2rgJpi((Rp+Att$ zd~^19$EG{{TwlE|iJaV^*4wkZdwOoRTJ&Fiai45GD=(Scq<%1JE*Vdz(A%$aB}(I{ zf$Z>kadPORTnryF4aJ~d~pZw zdUiko=SaCAR}X*ZU_1DL+!n!G=$cA;c1OkERh(MP+0D&q0Y0L%`=;f&&21(aPG;(n z{f0m#{`49k9ZS%-l}?dUEa>+1AzlJ_w-zolR>3SqhT(w#FBFcuT-F0IlF}NVkV4c~ z)JO&YlT`*+>br&k(%0j_tpu4I_UcV9&^jflIVIe#f`hw;Ea`M{oqD0*E7|v?peWd8#T9Qr2nsfUdtA z(S>xEao|2#cUpdPD+&Q}77Yu*c=%*|hpZClLTN=@@Q7U-OD}7`(aHF)w$)B1agOoC zTQ*StEE#RUMRq70pko}H0|6{=UW>u`r*uDKE&Y%|{6NRx0C+iL8kwY66+{pAe~E+z z1j+=TJNCdL1h@CA>uMJ{140<>qMtryQJbSgoRXmD@ zJv(_u$j+nU1498F#Vts)Os;8XFY7ZT&_^a&&JgjYQ+qtHZMYI1=M11b<13;fG7Iki z#VlkbGANh?&1OPg$ubW28E_P8&|`B}-~={>H_t`c9gC7o*Fy%bE9~_Xf=4ufGbZv+ z_`ZWAXp5EwVplzUICir%*8C`oCJN?m8xGWmA3O#O!Uxh%VjMLKL!IZ0=#oSCz%SuZ zBUaFeP^+bArzkG3-GV&87($vIPMC%9VNcCwTgde0r;62ea<$@dgCD2(^x?FreX)Ie zG&wmrwmSK{cJU>BCrp?hza1Ponn%httqHVVtS?Q02SkA*6Hy5NE$Q}n{rK9HhkR)8 zVb)DNjYhkhs8ub|xt6=!L)hUzt4ckOsGUMG#+lb=7Lv~m1{#L-B;vU*ndW~#XrMY^ zTgq342)z4U-OcklJb0VI(tTj6(VRr)Vn8SkZR|!WW?DVde^B|7)~5871XoH9q+9Rq zmZBYhAkdKl!~MXv*CyM+3$Zs39dfvOC_x6*2N#Iy2R~>qw*7OU-{mqG1qBKHB#D zbiZc@_5H40>sR^;-4z5j{^t_A9A^nFPqr|MTPc-K^P?6?(4v#lYF_qXq+ zt1n1#`~A4KDQSv`3r~~p6L)c|DX_?KN&@zgfm%RzQ&-J2t$0Qf)F01!S?Z3G5K0H; zJg%G_TJ}Q9#Vxl)`>>L&V{FFxLwAwbV+ZnD2+5Ya_nEfIvi(i9&4##IWs}~2&6q9E zNsKHih35ADe>Xe!aKbOHBBr_NYVM^Mgj@M7=|+Y^fv}U3_R>XYqdMiA6WDPWYL<`U zx;?c;9!)a!&v=peH0Ujyn**m+GW$l2Crt~38UD_Ezy3an`hL03;pgLCOJF{PMcZHO zQn_!8G%jVxUHpDQY&7P!f=)zta(8$z|4fpf0VIirGuebU@{8yZ+ADAp+!cva2l*V! z%CFlxNulO1Si}h4MnFBoEpzAgKox9AOcQ2shLYRTu{!WEJB+rx+#Ov^A^kp!b`_BAvEJ4B3tk#nb4DiipA21NYjl^zc7Wit9vybLlP*ui3Y$rFc* z1$MjU+L0S$3b>~uw9zoy342CCWC?|SirJNPwNxI1CrwGV*qB>AG^8+(>ecP;ESf8P zX?!v=HMlvp=sjQx^$@AY!l5%Nu?MPG7Boo-X8OkY5JVfDchzb~dK?IAkvvY7O1F4i z!CHHitoVR;A|TO|ImN1tn;J47Q#O?3o9+uOr)m#p|ai~xj+aiu*#oA1}I1; zYW~1eSMz9SdYH_2w3u|Cm?JCyA2CdR#uM9E_Z&kXpKA&r+KhYW1_2Z? z%w?O)UO;Ggpo?!qH>8D4TpAj58MrvJ&4i81x;c2U(9H1#I64=gK}cTzBlCy}(2Ul- zp)+d`@dh+{8z*NdjdpGwZTU+tBND)zWog*^Ce+1qFI~9ikISV+>n|d+oT}|?|9Dq; z-kK~mmq`10iKte3MyVTBDptI^EMdGE45zQ<#y3NrETv-FzCTE5=;zkKN1Cnb->-0Z z+CFDscWB?QMq1E8$D;PN{tNbqlyA&-)uLd{D38c9&MofrUAkV{?but1Q=V&IX2clVY9!E6v2v#3`}$#Tyr047-f4;x zy;4IE?lC1yU!{HmjK9*?_cf#^iovTezC3X8p&(`cZ|FEU6b6GqtU=7=Hy@A{on&rK+8ii1|}0?#%LY$`+=;z)kv2UUCxt?xUdx;#Cv(7I>QJb zRQ0dq>}iJ77FsBZv=;aX!O|qaQAH5=`o3?_HJBiw*VXFwrZZFZrfOzJb?p%B&+g$b ziITtLR4JtCGUITZo(&on*PXuf4wf63i$(n|x&~$K$wGom@3F}f6IN~Q@C?~?iqr#Fw9B{!LQ~%&*Gm#yPB)ivt?gB zboK%5)l(0zE|+l1mvP-gY&!rEo?Bxb#6jF)Kp>5!17mMZ-0*fiGQhJOfW?CdTIGc) zqN+5*CM>V#Q}D@Ex5u*>ME9BdGoa2=3J_uW_aHj8Z^yj zzV?^$xh>=?_u#l;ei7Xx|Mp#H^`O1s% zyOf*X5jXBmcP|g-+v+&tBvzu6(IrIB;Dk31KZj#eS*}`F%m;Q`E9=CRkUaN z%SHkndeN~~|3F1=QZYyYAe&?unW#iz?%VA))6pK4@77-AZW1Z;;hyfeg*x+}$|XFbsOyrwLh`=8THK`&KKrJg z_y}WB~?ybxWo*pF$d?JbY^u{Ws zw1nrm7RH(I&oR{?z{JSEtmIZ`{inpW%E|VA;S&@8xN`m}X!;r3(1h&FIXyw#_?ClG z=Pa(>)Iiyz5*I1gJE_C}UF6;Q{8ZqR&?#9!ul=HT96$i&+t| z4Wko|Gzcy?>JoZA0)2)0_l$;>U$I1qFAY zxNNq|dj`|{;vT8V9@yvg()fPk(RLl^^496|f}UKyAC}`?b-(8m^z9EedGr{*uuNxK z#ZO!Ii?A=?G%EXSzh3s0!BUzmu6)*V*P~E{dm^}DX`W8gA#NDp^nZ~n(43#khrUuD z?=n#PvV_Msg3Hf9lo$PafDQm(ZUJSCY}I^fp>({f?c&(9iYox;T-*V&r-|ZR;oBNN zsXukamxU*Qe(U@fRhUuI%kE-%T@uV+pyM? zSq021F>gjkTY9rBdAUI}^G+1V5T1pRLvoM_^-0P%P6SO%KycvRqR*pIcQonvkQ8-T zmX5E~0xgHgrTLYWRQ8{dTDtEJbChI!WgFxKIEKmp0gym%zg{Msh~`m-u8}uvCSobe%^7BNo>;POp;DAcQwfI;eb67(L(>$Pz#Z z2qOh^>N=s;NW~_Mt}*&f+dHy4cd1HEhr50lL}?TA4Ai4AM*D;^w=UM4ES%S{T<{IS z5LO?lQht_2H5Lh+=t#pE5f6l9=;-L^s3)GpzK%Zs{Bs0Au`!8g zy50;>%x5oNOwoTGzj+ODY`GWAZ^pz@_e#FrXqq3Ozg@q*sNp&FT~CwhU68}8d7O5@ zhXUf7atCT|`G&>btY-_?RO26{bg|T+cfkJ=YVz>`_S6K6`s`s#ED%=7{IX}jPG$cO zP(tqrn)9yyL7y%M&ir(NA(xFi}LwLqnQVP{@eN&5j-j&iFA_+;Qez!ZF?$(W{ z#QiEKBgk+FEj*8)eMkCDHxn4wV)*;;6Ii#ol+Tc1Sw*aQ?c1d!!I zjJo#YjaUkp8a6klN~)f4XT$=mstIv-%X=PatI@~r>OSflGZ0ImPpY~K!ulyKeD&^o zTw8JbwpoZ&2A{t4oC1wOTw0Q0)0m7!1+H!maVPt%VM;42u@Z|cwvTpSI+<_~3s!?H zSdJHtD3^}0wqHas5mMgE2uDlyV2G(ZYP-I2-2#bK+Co)~Nici*v<#u-f`?vbjJj~a z$}HAZ2H=Pz;y|fBR);TGMhptAwGwH=TO!7Kor4Q~vY5T` z=pGdW$8WR5sg881lM>|Krl_bvC$fm1kmo)$Q6EIdj!^}>V@<5wPR6D|K+LxuQTHTH(@FK^)kpi zDN4}$$L@chL_Voc#oi~f{=_%0MDCWy@B8FG)GhM3q#Z2)Hq+tyj7CNP1mOo#?YAuW zpn~KokFkPzH~RyuOgW3)s5B{Ffv#vJY{QdRX+l`TD==l3a(n*NByIhG9DUO!ZfoX#b zf`pV8Oo5Af#fJlH3s&F-In;#qd;GwO8um;M8=SB%Yer~v;hf(D1Xnee;1x}XDx{-g zeYH}mX$|Ic#Y#_;2tD8oM6^^@7`&nROLUg;ve0c9!-w@LZ<|tYvPucoqM)w7BegDF z0_f}=PIG5;sJV8?JMrnx0or*t=kkA?p~gHq$pTXDQVU+$b;J3YQ)mKU@5ImJiUE>_qJ~Yldd}PGoE24v^Xw-P8WcmWzH)v#Y#qK;l>yIBt8zc2-~j3?P)zwwQ zNLG;qP%6ppG%@E)+9mQ5UoY<0&)q(nS077^P%`fF+cnipljL=#c$wiw@!zRj-eEOj zv!%4g3>=7DG7POvUlA?(#!&1h_=XmArO5%$B{}{Rc6b=o6SSrl?p1nEc}5pJGx@Kl zb1NkHE7~Z58S(?*IIRam*KjYfYsZpHPBfi!uo9on!zC_=&NuO0XbNb=wWgSPR~if3 zzJ5_B?8>%G+xyVB@2(GWt!o|?cdhF;darf(!)-tfV7$Jc?PmY!?l~Ka5G@9@;}6<6 z6s{5&thjgVw}!o481@E|ge+pbwz|3<#J-957&w+(gRDqx5{mL%g#rugWfLQixq3a&)uHRW}s zfp>O|$Q$!MLg6MN%UEJSmb`l!Cd782Peo+LmNUQm7f=$7I(UwYasKY=;_}VaJWqeN z77sHeX0>E9?k(`_%?HF5oxVJlrijfS(>5IA`K{Cvh{1%gK3^f!8L6mRdlOS(BN>Zi zon<)ps$%S{ZRj}vw9-jyxSmVHJ6d-yJjJEa3#9lon>F@+@(CeiWX^9L1&4P^)mpE> zSQMab5T(5omENgUcULi$z%-oKl2vna3yuJBHSPJPIOKi|OGNWc@H@8Dv(hAJckLDg1k}8@Ch#Es|YX79Qjs;C~UOYGNK9Im`<)lXovb;#gSE9QL zui^QwB#Shx=gWHkM`wdtjg+NY^ffU8-3Wo+^SZq>`9}Udn_&-TW!kLG=i<_TUen}{ zz!86t6(p1J>DtrJak#ws2x$mPYD$b5GQte7 zV1JgcU#soQ0`}zjdWrVt0S{#Q1_h22bm6`D?QecFCzl4)3Q)6~aQxDSj6+p+NX_*K z#W1CtPR?3blCXdAO~sj*G~oaXqD>>-KT-Ipg3yADx}C#z-H}|+pq4thW1Cr1xox;S zORI}(6NQ5rO5F=SVQGt5nPhOkOoN~T?bJuBYB}VLhqaK#vE<2|vYoUb4O+Njg{xu! zqlM_WZmzqRCRBb;5l_vgx%c$kQHApnaCUVc>tctx$;LM99y&}7xWAWV(+5lyGB9q2 zmJM}r3l%ngn?J);ZI%`Se|6uPlmshk<+QqE7J->&e%by;Pm(Jp=Q7$seeR~6L!Xc5 z-t%Sv_C(cAHTP$b2m48)F*^c8Lm#S#8(D|~DvGPJ7*#Yd30jVL7=qQHBw(Jl({zGDk*cO8+5=gRxJmM1?0%;B)kPL_p zfkZY|(qKN@;I!*Pv1&;ZcG@z`jEc7SqR_#?bx z)vY!ZQPb7&xN!bYWZCG=aTO+cD$#uRgZYK`N&Fq^%WYxP^-7G?WAlF%%ZMlg4yO#S0<|JNsvZx+=o~;+BK;fO4a7SbSS^ z^0fWrJ#BmW=WkuH0onpP+5yuK;xzX1e4L{{HZ}J`sfsUZ<=^>FUT~=g1EuL5$YM+y zZaFh{i}58Tos(@$2#zQ0@?a;pc&UO+gD)LRl8U6(x@c28p^2428%@}%d3ShVk`eUl zu_Aja9*PHAr587&nVVg)vU#WN1+}Dz{+%vFt-Lpc1-G$KP(KEzs1i_?y76&(x6z0X zlnmKWLqv=%x2)go8sKF0K`-x`QT^VE5b)(K18RWjKLCC?+H~4=%Lch!{X*52Th{M( z4N#m0v71LMr~z)ZVf5yGZKppfw=AH_g92d@!#X@IFrY@y_!IcIT3i=z&FvJ<7zG9R z2QrIhmu!`r(aafy!~^@nfM$TM*E0vL?5|svX>pizz2BieCy~A)AjHw45O|}@GgFfC z%orq!6blNJGys7Fn?CDKCuX#R zEwn0z*i5X-B@s)P6oN=N_b-n^eF4$_OJX;b57x8Wc0oR!H$-nJxM1}j3*pGEzIOr- zfNkJxKjHAheGddg$7R$iN9bkP_Sep^eV+d4GiOW3i=tgMIx^p3(WS#BSg7IfODX(W&#p_LD+5sNzPRRBN@** zK$@h$yqHvyoZyf1q^!dXoWzis=PVc1=FE}OBs#Rs6XTfDP17=>DWsQeo1-hH!Y|{chlmE zb??3xHJCyBG?YrHRaq;;^+Uigng(u21B2|&)0QOv(w~`U+h@G@(^N1i|lm$s^LFugn|Wj3mYKQdG3s1QkN> z1N&*A{X7~)6-Jfv>JXXIIZJt+#~Jd!2WWBwdv4=>kdP}wL6dRpd7LFKn+Zh;u8r1v zWI`@-MhojI2yzP+B4v8UEivp{Ck7fl@`0!O#1J~w((4-#P@ZKGNffFH{|Eb8OIcp0 zWXN3{cLPV=yIXkV0@P{)rnMxQNLo>3mJj*u#1JOMC2EZ5fm)anZ)oL zp3sHYyo|I_EOk5SJpj6Y3E!+Z-P`m)5T|bZh%dK5sznj2W z%ph;w>dCSOt;qD!$n|1LXy!L%IJsB4LK-{gwcuI%zy_RDQ{liZOkJ2b%bnBJf4HD3 z_NwM-{IU9MrKv~AP+?c1jnoXj6OXQ3aA)UIY!?k^0zF5Ex7ZMB;}G2$w}Axjo$<)?ZhZl00k)MNwrfu&OyKilvpwXQ_H zT0^E8ZiXbI($4m&*9q0#LRSBmB;6D==ZUN7P>FjkxiH>1_~s~GN^Tr_KKch=XO!pU zL^4L)alpUaqK4tq-E+&(j91YDM;eq1{Y%5`L*g|I#EhP)-p-!t?Fd`0_s^r0MFpXR zwyF&)QqjZ@k&Byav{-jaK$&_2qjdF4nJ88mDP0)uZ%?|uiweSvl;88TrWxKc0cYy< z?KP6-tF@XvFtA#qAkhS-+s<;oZ?hF*$|c-p%2+_r1EPofKsNwiil?*_&NM!?21Opp zqusx|Ghp2=fVU*HfcTh&@TgdNE5OO$9WNAgZ)!ofpZx(vl4|y@HI^|eMX086-|W5j zEH5*v;^K#nzHj*_S{`@JJ7|&4Xr{O9&3CW;f`@20LMM#yy=Cczt3{|K%D(gN{Rp7< zEm#WN-1Hm_N)H9A>@K+Z?)4erb2blhx8HpC+L5wXkrFG+adDYhaA;sCBNgPD*7U^D z{_s0J3Ht5d&wgiEDE#Y#zWD;s9zSfo)y|o4i1fB($=p;J{@^7GCIP|=*NIH8IaAQ_lUd@%n5c{rjJ=I12DK5H;u&WI8McpdWL zi-NF^Tmn!O&NVC-Rbi`Sg)H4Iy@MQ}m>wsL{TGE$zi`JRG=LT)CPC=E;I=xWW;q48 zO`76)iw()SRP-(&m-|)=Ozp52T>XMT$rqNAx=<}(sXRDdZGj|x)6ip6g3Z#Rap0qH>dm9rJ=0OyR6X|d>1Ym@{1xYTmQEq5m zG5MhdOPG|j+MGefPOeDq$wnl`bB00dAjamjfV!BZVu>iEs_Fz*kCH_t?pP6;HbnF; z@8(K0(cKXKBTRX384RG2(-ijJS570c^Ql*eF0~fH6)e?43r^NQ8PZj2BtC20eR@iH zHhS5SNUu@O6iun3(a8^QsH-|@BB@{!TM<@aW@8Xlto9>H-iGu5KD4&;7Ha0^YEIq? z<7dab2T%!UmWcXX|BrZ>D-wImTTS+P!9tlj!Xq~TuOt@5f3fhNZa^Y~%g8B<1$%H(EtQC3Y~y6S zY3}W2<9+-3XEQpy#3_yfkEM^?JyTAeKDBEu*@w{c-?G<%={SO&JOZCO%a z?{?g_CPmZHcPxA#KyL!0ZuW`0fjDi5`wM?#yHeB5H4w1c=nDQ3nqJ>-E~;R`^igUs z;$YeBccMrd)ov@4v)Nl;K_#g0@HlK3xQV;FVh}$Kqn<-eU0Q4cQ3%^jt$CHsN?NH6 zTAj{1GwX7iV*+LNiP;G$eb;WCy#Ui`_JMU|M}=e9w!H(Mdeotb)V6g~{Ecm+jbHI2 z7uXn&1n7t)6C0iYOwnKS&h7wx1{C(nW{ zOLy~(@TIm*@Xja+s(UH58%ni&^AWoU(0CPvhV2#v+ zAUxN)MTmviwv;a&K8p3xc4x9XL*W0|J~wB{lAa4xr->Epa_CitpA_zEtKZ87{l!K|v2v=U`$d=dHS z_Dn!5OLZTJ{6fHd)g;O5WnZy^RaAkO)xZYB4Y+TYI~Ty5oLpq(nx2wxC62*z#9*Q> z-E2S??dX^>V!(n~b#zktCZ%su`a;{J^i4`%2nClfw4cKF&ZY0QA~sv$#Ss^XB{bx} zxL%TXED`st!pr6AV@V4w#D76~7E%%0HhUE{mQJV+*mW-MVVrl2+ia=aOojor(sVHz zEtq0iv3o9RX@j(Dg+jbkMlfFU)jF1_i?gg)BC523?UahDTJ8hPK}Z4~$$e85dVEK2 zKRo5FkD=)?9B)6IwGM^21V!?QBt^1+q9Xa6BiFm_K)HZqhqrx=i3|AS!f+;&ixIcv zF6Tt6%(Y@IZfE#Sq zZ07&gsf&~*i09Ppqel>wKurI*BqHZZF&nq(PEoj3jzF|SCr{h(9I&HeASU~03$8}d zZRvWTg*|WyF@m%pJTI|41Mq`c7~*`l8M|TRb^qD$q3BmIr8^vlplceyxH|IpnpGR3 z1=uE^0g8`GoH$@0Z@qAvPy^K$wdKUpOru?kj+i|+ zRZ^N?;&?^H$i>^sIED}zs6>YLMc;s;s1lq~M+aDk3n&XMf!J+OD(%dKf|^3omNdpv z$IWoJq+A&AZny2TiLnKj@oKluQeoLR%p!s{3#kRO+gu{5TPjEn21XD!8Dw7*4>r4= zkDL~_E!ydtd(6un+Z;=Spd<>p=A|w24EOgwy9L{K5CCesi5mWOaYo(>rT^y&V&nIq z3!WIkL+gYP#RAjW+S2_ny{ zyzja0yD}(t9%ZGRmilJ-FD>N2QT^{oHJw*-PA-V##VTWMI@X%n`eYPo-7~HB{k`V* zG-H?$Obb_1Pb_yN>NwdB3ju41#)SeM-LcKlS%)LW`WKI`i=zf9v%|2hBpN5~7ukj! z0iB~=;eJ1X{W&znL-=HjS^RZIrHq098!l>d+oBi_bz_^!T0FRoA0QaQ6GNgI0e&Z> zeuQmZ5y`#oU_KsNfK=fD7cS<|;V*V)^gHnGL{My1H{%lQIoyJU6haYRBw3A)oj3;$ zSdBtY)Sk<+_lEw?y>3-88?WeG#W8^;eR*{d1m_}PlJG3M=-G(iE1@FD3|7zcP~dli z9$Sv4ICjhNz3w9Ve8CqLBd^!AC|K44PxKWv)OWX1G+CpEmJ-c*GNz6tSqrI1PLnk+ z91>MwVKGOEHks3hDEPQXvBKlwYK2Y7nWmN|QXd}prbx=_*^8yH@B4VUBl@88B%q3K=I2T^6|15Ys^ zN|F;z_SDzcKn*#%MxS5bdwAgKV}@tF5i9_NL8vv6Jg+lF3nprrZM@s)Q!P!{eVnn6cqqc} zW%o+=eui-42G%SnjL$kOo8*f0++EfV@r8Y4iOGj8vwFoxu@^o`k>#f3YX}Ogg9A0t zPKUZv4qEg0vz8*>_ZKcsS;>kNin%nq)Jq$u<6x^`3W|JQ)i+x__v)jnsAiD4W_7mw z311Rg_?cO-4l;=b*yLXIu3Hn)sdv2%-Q?ffQPr+PYG}8sT_ZO(2S|3)B3o6ZBYW9R zGcjJ5{_4_R%D(E;a<_i0e+Igv_Ja9NrKo?}rKq2?$nO$h?7~Y5e1XqzSz64GMv}7v zna?0HWLYtMp>;V!{XzW5C{csZLZsfBO?FdV6ypmUECW(SB~u~h#oe?OEBYY~EN2Zl zxE5B;yHRJqH$r65p`^t_y9Bmk0dp~50XBFFlU=bS0KG8ysF>b;`|b5*)LiKow&u!g z2*6b5f3MpbpLc9x+1j9n-eHCqbiP&zYYf1bT;7Ej@A&fdRrl5Iq5Jan6*0d?C{F#B z%^}m~C`nrlsAbxGY#E7F!WtJ&%H`c5ih>-%SZcAOTOjcpQF}MvgTY!hD$;viz9LtJ ztSi=pX)U{-^3v4OPO!oR=&b>Agi)(vjj#UBF1yCpL+=l72ZF4<+tyq!)hD<1mb6l! z?Zs_dfPA*E+QDsYTG*6+z0qyj>!l4sKQp+2u11D^NN>Zy3fTJoYHdu&;x!#SPucys zOzF!r=w@hUoa&63N^=o;hCVOUds96`2;0HwL#cCl+ZX-}Y+>@!ZV-+mINI^o`Zv}niGJ64X)(3U`lFKk)Cxzaxf z$(5)!gepRjO(k_kecm**fzQe1)y=!B*B9@vE?*J*72X!==j45>Ou#7BR+bTBVKsd` zGwhxgO}!@o_4U}at_!Z3GNG6`kcqILum9~*5x{>rdStiwu6<=ofp$NeBuf-Xv)jUrR!LC@5mVy`l1n8||q4u?Q_?xALLYp^s z3aKi}GufJ7B}$QrRezbuh{^dG;vUcFOwan^bS-~{`tD5Giu8Jdno&9(1B$}cbeU^ev6+KsU-FFkAT*oH-B`Cf21#qa#HX@NOw45?3pz70BHd-# z#?==xHZww3-n?E>85dPq@q3=J6%7XlW?)-8`J0yG)9jRd&rJUW6lbh>qR7KqxTojwn#Q-G!}yn85-n>^#i-I*&1 zx)gfXVFEEP?n0dNsDII{b!#19=N#-tQqhL{_nQ)`R}#mTOz2tL$Z_O1Tz_6O5op#p z0RQJQkvyFFU*EpIz3y=Sg5Yl**VH3|?hh4pA9MM`Bpg;IPu8@&sMY$COMsV)6S5xG zSQgQi65)1=krsLV?-w_O)_Pu)sq1tg`K0OjEhYjUpx=hlllFRY`u)>5{opkIvpV{C z!4;=URMFm)*R@n4H%IE)l7UbYaN2b!2W>ECA_BDwrv19mN)S!hRuKCcDcFObDD;gx z8ox6s3jkT3{r**_uqwzfUXrb{=hn2<)SNz;4Uqpmj?WoWFOK(r*EGX%qjJ{i4Z1 zFvB=<;IgQ4utoot4Q87iw&^YXSfJ*m0cc+jsQu?Uj10)xmd|yN4LL=kc*@d(@w z>}^M*){_J^bOP$bKkWpNPwcnTGl8=c;$C}JkKL2Za+oYt#U=nB-@-fASFFz*20vE% ziqV$~lQIO9XKQzUKD+NAmg$)p*JH1dvafnqIM?hg{$&bO+oBtmr;dA^x_OsF^%ZSo z6E!9fS<=KK`yUP$tN96k0U)A-FlC?=9~}JJzP6n&KQMhEde-jr+QQJKuy_FxiS?g$ z{>hWy3ExL%J$t9?(x%)WQmYMPIc^s|nyIXX62+cLTsJ*0cLOExiPvGJ<(o}|@$SxL zro~-*1&hKu&!pe!ZtU3yIQBmsFo{D$QXT5dmuY0G<@Kczg>5>eG~1Ch`?0m>yn_nJ z$U3Z8kzQXu`gn^gdtNquYCA0~H&0q@U!-?sZLjpiaUwg7$(sIha0$rz4VOeP>=W#vQ$$4fCSz zSbB#ZlqYdeW@U%_Xogh@{rBXjlx5A1BC z8X>~QZEebc%^z3z2RY>%8d%D^>!@nMXVHbIl?`G+iX;dL2AdLgu7X~OFK!fBN27b| zbR?!T!f3K4cWg5Q{t`?R>mXQT&Lvf}Q#^LR63(yPY}@q5X3x1)(!f;8rcr5xT2ua@ zXc@C?QL01~L8?^K3;|OO?|LWAQlD6s>JP*eKNuNz69=Z5cU0jA^t!crgx>)qR0zqF ztOyHrZ_%`cv0CwIYo4ra!FfY9W=3%@xlPbXSCvfFWmqg)(;&!DkDN(KIQW)wTHP@V zmq@cYxzUpuLDS;NV#TU^jC|G{vXwg=S@-{VK0n4AxhJPMm`-$Yovy@2ONpg{v~r=B z7A)l6gp=)NWDpu`x^3FNMc(!(@z#wJG<=|8+p(36_AXD9N7Se2?RyJgGVjRTkwnRW zj1Jy>?vE6p~ zskFyOj2+dKX*s&Kr5K-S(<=7hmZvG51RUx*@dbq8=`$ok1cx<6MYiGW= zxjvY!rA0Gvs#2=xXKrl)8^5c1t{KE-Gt9uk22Im9;xj3PJKg+3-^PKFRy$qkVAC7R ze1SdX6WHnav>h66$o`Wn{DcVUCh z+IVquP400`pLv@0D-5m0UN^ma$@0;)p2+$h?etc}LU`AD~)pGVP z(PUYXh!oI_VZ4=8pnNpu5S*K6x-gfy9edj|27Qm+qI+NYHYn?hgD3!v*za(dBIS)AVE}HE#sU$f;BJ-rI&kVtN&T>(0;<=V3s)=>JVkn-*ceP?9 zsjG?=D%*S_?ZnN0OkwkO+e)=@SlnQUj4#&TZcA6eL7q9|82rkL`@JaM)5@C&)7KuQ zkfi*cOW{rL>ua>wd=q_C2_{kReIa!z>^bOO+ax!*?4nj>9WUGxcSl>cYzqZBt`UE% zNfRTAI_pb64ApKcsZy*eUXlNE^5MN+zdZT#9RA}Mr++y8!T#fy zr>7?;fBNdpm+x<`{=!dx_)}5mclfU#PX5HM{t`&!^z;uu-=nh~eTo-qCaM`O^DCmN zs0b=-cKRRBKN?XcsP@!Q1LaCzQO|tX_gAa;9PVeJRqy9*`y9Pzksrb6_JjEjOj*$> zNOQZ}hY!*;07O%S=1(?4^VXE#?G4YwpvwrN0pXdk=DdLLObDrnI!IG^<`kY8+xICv zbFz3(7VpX8z0;=f%-%MIXZqR{o*7Di3eOB`Ki=?6qliW+8zwgMpE)#B>YbOcizE?s zq27x-78pAfWMIXoLrEK zCA{SN1_JCf_&rvyb(NL5k}O-AIx(5Az*4=9`Yfj$kz1?OvuWXi&(6X!qP1a1dW+LXo0Z|cQlpLHvRI_iVvS|QNPSYx(Y((+aaNE1id^XnFhc+KoZ2*^0v_FP(5&$gL9lv=^5|O1AuliqJ zXze~R93swp57@s-kW9<;qOz#iJ)emn`m5iNwWupOZvz{>gx}DrhIeR;MN*NBQK`tw z7bNFJtwpEc*IVk=Z+{bcz~dCHI2CI*>eZa%600v7O)Dw_2uj+(?!_vv-B2QXiAHK| zW;YZ{JRyIK(@!EajVL)P;^8ngB#7YOYq8jgYmK!I7&cFngh}8c7JxLMXi6dQ>p{!-RM2jtpxk!F0^MFu3CtZd zNg>)x#a3LZ=vwReQg=g3UaX+bEXnIk@iHKT$ z*uD@}C;-ob92Zv7irQuI(o962Q+aB!Mklzc1gK2A3U%}p(hvJzO(o~4$)m#~XhLze*}ky+G9 z6cP_Ld$o+jjQ>_@32L05$&g!KvWnj)%!;SFBZnH)y%#KXXIKU(mA6h4+$AnF0LoO* zOtUDzKyGWmbvKk=!QyZ=*TQfe?a>>3$h+Z#?)_>J4*Gcf?vIyU{`iijLXtmbBDo`% z3{;ogtEX*O3mL2k5^Ur26<@6u>0wK+PNhKqX-a`s3%{-6$65$9r>odn*K0;9IMnd6 zt%ej{=eTp!ezq15GbLuVWHas!$qXLX9os<6YShTS!k0P^r%{kLk< zwL5y_h!UjgT^4<3H{kEJ)~=1lI~ADm4E^Z@vqmm!nI>)Gjgz&!L$|vEt|b@RLL@6B z2S05q@CgJqwGMDnxr`bV?#{^9V#N!~9fS#OSW=$(rg4(Ce)7_ml-X557n$FQ-o5lP z3ehPH-aSvb)c;FvZ@&gdRb7N?F5t>BtldG9A;UQw4?unzU0CS4NcAw7>_mbZYFJAt z)Qe@}(-w@pU-RVdrsb~^mHw@0{p2p^5LU4L?x8LXGt8S-2EL0}1L;cfQ>SM);$$b%%$zHO(v?Y)H5jql@mo@08iK-bVDnIUieq zAk!9utUPRLtZyxSyWFn-#e0I$US&5vhp&)Wh9W!XOsfQ)ezRb?|8l$pv|C zB5)-vT13#KjG;*kVnhVo!5s{V5M+n|A2A?D925^C0tKRj?cgOmhW#*z=n$@-0<9n% z2QSUw;#$Fh;z5`VT_lDuWhNv)bDu(qBd81xX(2!X4aH)J%ZCcaT{sBZLS&$LII=>N zun5| z*l2jJO&9_|U^dRdlWW4W!^3mJT@@bhaN<(IW8EClwx5oD-k1pN?!?euSC=D1d#mMh z7zs%D)(tbSU=PHopwrz9_{KN4TkdW5vsEaJ=X%_|J$bbc=hgNFD~Dvywu6-?7wq`Z zpTh+!JBY;AkO|x-$O|hLrrr}WZFfj7ZmvmEG05zvnVge7u(Pbg%E+)*exypVyj1=T zG}M4fx7v#Or%xMtZhLHA&uhK4P;d}RJxies-`r{ z#6y5tea$*jh29r>tOj6W!AQ=lN>s)>7hsZYwhKfrX$_fGsNPj3nB|tK)^vvmkF>zV zJ^kM{UKvX@8Xmh~YkJQ`T>Z%SwPIJMvEio*A|@TbQJ!UjJ@qLgS-ttMf3to=xY zVHaAG@nmy-87CIHkP`he`6HDqC2wd!S7=8$xxM-08-Ib9vJzkuy1wiQPH^`je&p@p zvWd6G9)0N_c=QL%leQOgNIAz{5E~2>u^3x&n|<8p>D^(v85RK24CQf*)%Ud-tiZq@ zz4XWIUBh3tqeCrk@Xxz{8R?HG*gK|q4ZUI2+g@)=XU%t>2fJt`vR0&>AXQzEmr!%J zWEB`gdZwXv$+-GKS|~oF%Ox+k+K_~nbip&OHgf_&j`%2V0=0%>6t(PH5V*(nJ4sec zE#bfoU5PBih;96J_W+Hl#wBBYiJhJ4foF`+xM>x0Hi#GS_wEqnfFi8B`JY1EF{Y=` zb{M5cE^Qqz+$wtN3zD)j6M#J?RmD`VySJgJ#lJW2UYoaay!?yQMi}uT$?BA8LABeJ z9-=sCUKo||^0kqxmZHkBf>0q@zQ~yAKEnTVc$lVrl7*;9U8WX1ty#?W#O*HLplf!N z!wjFrQl#%$US_lptEs!}&6C@jiK0qt$Pl3o9@=x0YXE z)PyfaXK81qF5w>wW4-O08Jq);<;pO$;mbKp+AYE2Q?c~2*4y^hb>eze2>0{VN0!ve zTlRX#)n>+I86$oSoa5#XdI(+!B7t^p6PidBmrE3g-Q2N{TC+e8dZ;RGqrSkVbVe4n zB3wb7N3s?|YKa{d2)=sHg+5Ncu8IPYrS#@)%9`1(A?jm8luMHPkknc$WUV;*BTf!o zfhs5!ku?;!d|+DF_QvP&Ih$kkJ({drUCNo(r!+Ti)g>Q2ueO;>0y+GNDTEHBljwKH41OR*}qWA>^Uu+h*)j3eSkAvOD$ydWpARk=Era3E)* zJoWpoFGx{4elyZRQV9EfFHO@CeLAEF?n{jMzH}jr(MJ3W+-q1UPgF3-v*?5h;tIL8 zw<#_~NWefWLiY9n2t_&F8oHH!yHn6+NP%?WQqWY6CCTW5Wx;r`kEyP_jRhagfm zjkeZbGjkJ4B3*P91Z>9E0i!l?(2|At85S4x+BED-IOOYob)KTDJne`su>Kg}V==hw z>_!nLgqCFna(V>NE!n>$hh3~kjQ?HRPol_@3*^psBV4xZVI`BSH_3XFtT)MegM*u7z5cOHvfd=?O|sr# z`zgwLkso+ml|i&nMjK7PM;r5Ycn=7vCT1XLZo1}DE#Tc6>ES(?VNJeFMT-?9FJ~`b zya?Ihu{m@x8FZmLa@Mj*dmqJB@cA%8_eI!t8}ceW+IwlPO6Pv+xVM^o_l55)v^`2D zv@~amP}Ols@SL5w5S0K1Z*mQ-7d0iqru*yNHy`c2hje>v?cOJhN@k;h%?L!!up*ex zeT0{T9vri4K~C6wH79A!Ftpc1Vw~bU1jR|_S|qAmYQCxX@3u}Nda1$l8ASBr?Iq@IGxA=PA``1kdwnqQmgi*_VN0My)(fNa=)LxK zYtbjq*;t#bDWPq$ri8Z1nljWTYszFznXD<3HD$OLlQrctw5Cj+vq{z)ZIi4w$$Hyu zlJzE8Z<6&US#P)(ldSg{%6iZ0IScJt*h0*94c-Aho`9k5H^>0;rAYTq--C4G!R$S7 zZ;T8o5wlDrn0v~RnDG-znxh}*jQm3s46~gy>ycsi6L0N*{X?W@!LcQV5mW1^1W@F(zq$W6nr8nL2 zd2ckdNPzM~)06=;#0)pGAWLrGkh`Pv5;gPbJ&_T)e%)b3J6YSF;m$?0o%t6eqqu$Y zT$z7hH?V@jz6LF@J^a09)dt|e8vWUFnSe4SwsC{Io=}OGPpBxpkL6`w?=9J$gl$5Q zo(h(}DA8Oj&1CkP1$W)Dm;nRhsM&B2E!`Ly z_cCzoXFeqRm=MYKQkfbes%=e-rbu?}k9%7b$z!zKeJzV*2LZ`$i#BTB9`mwmnCvq( z?m>9VIN5J*+=H&(!;i61K5Fsyu{e_Lr87n>4#pyDf81jxx)#eG8{{4|x2=}D#=Sj= z_E|0;+0Oy%Wvk2kY^^>E=H5m;@-&7#vY#=J>}${?k2^8@8TQCt#yt{k;3NAP`N)2T zKCL7|1 zaTB0ddBGH&W$d0|AvKG_xfX@6Ae_NOTh_C;+dH2u8C7)!`14q$J@~{=Mh{P$j2_!< zGI~r#kG?h;J;-GAXtl}cF&RDLdNUb4df%9g9;2O|j2@HG<0ohI*e`daZ8B(q`%6U? zPvR7>wspi*jvF+61QYEsk$6lWQMLnX*625USR+a>$;D>Z2sJ;DmBZOfcD~RyfCSUr zHk1Uu7k}R2@yUEsVP)xI^&Z7TkinySqzp zmmmpjoS++bcXwywE*p1ucetGI{QrHv58buK8dY5n-BqJ{%{AvTl7F?3QLwv=>Z**l z&t)6v)D>HX{SKU}NEwJHJ_S0&Mny28R&rSB*5OYML1XFLxTVSJmH?+NqtxeN6Lhgd zqYC?FVZe0)l~Zp<@hpZ~F>4iW^u^J=;_%ooeGzXbx_u!BM_l^YcBY)6_=~+P(bVb2 z`aRzqJrZQW=t@A^nmJQ(@Q6X9)X41;q>2%y9mB2G)5`VEYy_b-A{{dhvH8Fl7q(xe#l9rgBnfO zn^|#AQo&Ll{@hd;pH}kRRQUwwl-VEL@jR=c1ULgk@ICucM&}W7Xu14Y9sC4|M2%)X z;!KJ*eu`;x&(alH|8qmP{ih=|Mcv@9aw58s`hVRqnkPFEti-hLT+|Ml%n~VV0gowb zm!4}=`3GTIYnMkT5wmMF@0{EB5xX&;nVf9v_eUo7eLHrdUnFb9`@xN-mcdprpv7}I z;O7r(OvPDLDr#0x=C6cl&n2>v71jp$@Wd$a(N<2r`VlCVi}7_Iec zh?Yexb{#o0zE%SXT?V4}3PC>DkN+DH7Xm0_&)Rs?n-)zB;B6EwAjXK`Of**Ww;1wg zbTH5TR6W^{5P8Z@j$3ARG)?&q;)!Q3@Bf(KEW~@7{WrvW%d};fmmOQoQ^hj*Y9Y+i zNthS*o_D$b&%80KlG6fVE?kAU@f#C=ZUM8@c_6df&xOwSxexT$|F`;0mjCnkRmn@l z{O3S>9|>_gwf=9|sh9u%&iFr*<1K&sGe3&@dC&XdAD~HmBvwOF&|vuQr$SO5l)88B zzw~l~m~w9rj%)s!!DI4Z-GN2xBEpG+y-&ZLvcyp+#rRP&QeTI7^XHKGEQfd#v7{j0 zfoG{bDL=1#M3V36LohKMg1v|&)4zc%nfs#O_7@D~q#5>P2 z`Tv*Kp7sBC7ZGr1_#7o7;7@s6a{&2?$K=E>3k~AsjPliF{PSCVc9+a$Tgu9)cfd-8 z>!imfz&u-Wqpf?sOLrgxM1QXZf4Nt#Db2=L7BPGFC!j#Q(3De8UtEzBh`RZlOibL*ob|hQKsHU#n5->*l{M zh3djIp&B=Iqf=|sSn4%0p?kw4v~J0cf<#>gz;Tm!!9vhj4UjDR%{Z;^cvFmhep}X# z0UK8MP`~YcoFA^ZH?T3-48xpI?W)zlr&$|Nin&mNJ@|h^w2>SpzOP zjITDqS-9Wkp2_uLkBNYq=Y+8P`B^;gTP$9x^g(c$$TgJ5KGu-~Zg7`L`=|gn#jbtDv{JZFTqj5-Jkq|@XR zA(E%c@> zZs)Ap^IQY`EehcLie&pKk`Wot)S5J99FW9?I)gTkluIRr96Q|2rVm2T2}Y>6fhb13 z?9Oxk-s#tg=Y+B=K8QQ7O9Exx@fPkg_$6R~hV|fXv)%WkXB7yg0JW&`ZC1-G`Vinh z*~Wag!az$BV$@&Mc3XcBBV;1Ul|9gA7}x7$l~HShO?SfZv-%btbQe@cTLvW@3izsq zIpz%G!%T)X9j%_QSK3WSi#@#(PNLW$cJ;>n;?fn*Bd-o%yq(;u=agN!pzeRe8h;Q^ zuT<>Zn;TF3Me3-)RHiIfyVhH^JqM9Ykczp1BIe~}KgGjnGJ;jy-q|0s$O^XKxRN*8 z$#Jc1jxFXs3Fc#ggOiAiPafs*dRUgb(YV$rr5ZQ4=%(;fjm12;RDkvA8-HZFgTg-X zRfGB0V0iMmLjiMQsC^w|l3kIoNM%w5?PkCpm$zif);(8Gk6`#7@n_u)Vfq9f%mOLH zuiD84#R+y;$Q`L~FO@gkVC;z@_y-EwyK6-dsO#nUSja!X_ca;aA27bcXr3zyRgUjc zvDSrpOu_GvpZp)9v?*TAv*6r`qoTjj9FRob(TSM7?CmYJWUYg8W3Lc!o5Oz5Ae+C7 z^?rlgvCE}a5j;VZyqmKvQv+qjDg}o*%I^0LJb8aNj}_nttTEVg<^8QRtlb%WJ7XfJ zP=t$WuSwAV3`F~+Pbyl>Xv0-5*Zm^4oqgPnTLmpijM?z0?_fXbw7Z;PR7wrHL|?%* z0%Is?9(VY^pRnI_^INtQLv1^b?Ud`)=|ya^mxzgLo{q&y)}9+mfdg`NiB}7vTMbk+ zb=ZbElW^;9v-JkXuU9(qX^VFAu=ej+5Y`{a%Wjk+Y7=RdO6blTQkc-0nm(b&(P}ax z9lOpe2a6!;g)qCPd%_;UD3Y&$v@mAnvRV!59wCmus$BOqSQrVSX~p2Z9cIy0ZYp(v z`T+fPfWrIhD5=FK!pQS98?n^&zL!iBkl7dTx_ygYBm@q4y}rHO-BmQ~c)ETYpErCw zLJy!jentDZ>l@Aj&l^I8r)R!z9n?(785E}$TX64Hg_YWTa4eOC3*k0G%#{79Xz@Ad zPUC%DuGW7dazGu92bA=E2FXW(f4lMV&r9Fs=1dQQgK{|7Mrtvh(gU~H4%L|Pz;kSw zIyxQH{$y@ov-}w3ic9{2) z6N^W?>Bc2-tpu|1i+|x=NwL??aImlyAj%MKadC|5M4R8%B$59(`Q3_hDj9zMee=d} z9yuwBobLP2DZW3;{lV0o`&8?*YCOH0uL}X3(zd2Sm|(OIz1ZZG8wwIKyu;BG*@JlK zm03nPiYIJAs#Kk*eIkbD8DDWWaRsD%;Us?3cuFNj@LqT7`SOMEUyzl99hbszRShXs znKK$|@pDA;K$n+?T`qU&U+p`Vv~ddxvCpTUP?aDLqwqFrhr*d5o6{F`hILl3h zsA-oHX8ed10sgBurE&6<+SNZg4sxOVb4l@%Yj{Ve)}bW~e!ST9Bt1WCv2^4_!3l^Y z;>H)r)nzIG$WNgW$QEcweN8iNkQMf8+(cDlGk9yWpOaigxsT9(W=;(MaOnIB{ERJ2 zeM8V?YFPhiMyNY8kQJUEXstlj!xzLj)#Ji6w zvGWj+@{h*l2S2Dl5kLn~-pQ)$um@G4=GS zG`lj@ZQEc~MJX!OmVKH$$ZrPmpR+<|B8mte_GD_q`xgh##q{{7V~onLG^-U9z_oEa=u$Urmtyq+h6G*Z`Dmy)oObX!u(k1dN#)A)Vc_@TK% zg9q(lX$-Zp$@XDO!}j5!%yu|dF%Kg<=e~F#>6u7B;ek|xq{Pe4zTOm233@CxYa}Fd z{5y@rGG!yUlwcR}^U`9?H%l}y8INq7n422DT3x2Fv^m_3RJzS7$@s_Ko-C^74=&h{ z;WP=`*z(;VNw{gCNVrWpizay}aO1%gY$S5qGC(!Z7vhT2*VpT-(Z{T7_49QKxo?Kx z9m18Q6{G+qoZ1@9k#>ETG#QuP_|x7Iglh~i!Z4oKl@`&DvbTeZo8(}VOQu*tCTI>{ zIOAxdPEf0t8o*0AaYyfIkof2J(s;5|Yl`*Iy!+C4T1<)KJbYod^c9ek>^qrsM^s!a zD>#-2F$hG^I;!ev?kmu>tG_qemRo7vtV;o$R}wzp!{}7f$9cWNWYn}{;)~Aa5Jys9 zrbfb&Ad`;1$hZ8!k>6y;mlg27JC79Km|LsqPJH5tr0Pau){YNrZ!hVOkFf_4!#Nso zWa84(;oWFP)WvMToK^slb1TtxE@Y=6uk zDws}M!Wr1cmgISCHPD@M3MXf=UYe#$$ZTipWz{MAeT){(jFT*1n_dPCZt{3&f;}Z% zJHY=QLMU~Uo>6dhn4Ycvz^BKmbfi4iw08}mt63c4w^a@5R<8Z$*R`9drjbR6`O^kL z;|$QDBr)Lq)1$J$lu`3KJ^Ih3pO+uc2KMS_nS>K}Hz0w1HrTguIf08%NNx?Of^cV& zG>I^^m=z+)Ap}|wm1z>kDkI`bno)q;+(7>KmYW}iO1MJSr_fq*^vrN09!n?u4@Yh) zo&*FPmCPgJxan4@g*@k;l#^ptILV8khp{S`3MFSyX^?q-KK6L3N#e90sDdCTN9|jW zc!yWkoPVzwVW>J95<=J2{;zY_BR*u4OEEvB@I?G5rXF}-iM(tUf)8uX71s6sYk^KH zM#%685ina_O9G|9CCI$?ayCVihOCKV?G z{9nE3&8(=OWHQr;1!p@RzI9%bLvz|VqDwV!aoQakZA(C?qJX%Isqs!yA&jCSe|7(k zwDj|6sobbwRWm{hYkURcX-rn1EKs&P zKqWEYT(jk^nQ9hW?WP*IVM& zWDO!;JvQnuct{H&Cy>^mBZ4(HXrpeTP?*{uDo2h4$aqQCQS+OZisw@*7hH(HDjRr% zF;M=or&=+|VKbe&-cUi~_m943rwnA+ZR?oo{bin5L4Kttd%j{M*`1Vt`;YfjwLE|N#P}A)Z{-7gVGc9Y99=ZsrSI_?E9jW_*Gv&*cPE$QIh;h;;F}-YD0@nT z0D1y8E=ypf3{U$Wude+;22Ss{?Yhkk>0Ht&-b3LBd+cFMw5x!kx0|?|ZCj1;xc7eaKjKkK7Ixd*nb|$orl@e;Gi`N zqqKhg1%_W#no|Nlg|D8&ijChq)>_7^Fm=mTnW1hOeJ0?aas!t7I*tnl#$qcltCRAt<&7jb+!HwGuYx)Jc?Nr2z;Yas(q)P0$6*7G8o@(bZO!VkuqD^=%{ z-KbPT@LcFjwuYhjyNI^lRf~hyetyc!y4ByiF1PmndPyyu1|3P}{5^mEW5zaaaf~s% zQlq=ej4uCnW@+%NV_2+Wd(!%0;HO2D>IHksZ_MU~DSpfNFdZ+n%D?3w&g(qQ{`&I) zJOM$$gb6A(Fzdppa{{Dv2?}gSQfX#0($pDdGm4CBa%@L2PV>~MuJO|FE0q7 zq0tN&y6IMhAGapqXoag}Ds<*CdCkQi8qfCiqE1J^Km&v3=3gnzMxM=+7=HGSa}5p- zABzavR$M{GkGB*o0>B6Y%#X2kyqhnr^5*n4{UQo(X!l+U$gL*ql8q(ZWRreRn+Ek{ z)I|bMPv^rPIP$Kxn!qy8E`4hrK~Ix4-2Zr~__X61w?iq*Aa(e@>GW?7*?P^Cr>3b_ zA<&stnDFpZmgsuk*HzX(Jst8|?h?lAdG zeFbQkO>&OK|J16DeugYHeoA%`=`>{DxmxVsV~Le4gV`1)C|nf3=!*LNV?*sV)6#CB z(oCdA*ohWnY@qvvB`0wxU$l!*miW89917zQ;5ulxc!aR_3z|BFiGehI2M*_y>72zN zRew!vf+oW!ka8EEw)}g$3fAYb>^<7f1Snwz{DuB+bOzIdjf2>roFTI>EtY6_5JQs&FyX_uzU6^ASTEZADu?VN*b4cXQ$~{ z0ZaMi2Y0`m24aL*raciywxMn&C_Sf}-+PY$95IvK`Q-Y*pG!=S3|<{uXM^ z9$fuH`)3LsYkxF$#Ur4G#Ygrz7Zx=W%kB)23BLeBq{HK;mn_Q8YvH>=t8}*Cnvi%P zAtq>sHITN}pU-{r_Aa`qeog*Mz!t$*CYjM0z<8HYN(ZG}vrZ;}uMvkTA!B9vqPWh} z1Vfs18ZltJG3BO%v{`{7FdowLI^ID)T<9*e05QNJr##=yCcOuUwrpZEfl6G46hx>G z4xaOGO16=O8(2&G8DEZ(Gg({W08v<&C#MM)#13r9y3wRa36|AR&syK8slK2$@82E1 z{yi>X+BHfq3?K<>H4s0%kt}(kTrmyGfB7ytgPNXDb0JskDnzZ;N_qkXO;5!4bGjMv zgGkGzr&&gbpt$9zHZyx~kcbwueierCA>Z^#ZOYl6akg)`X*fGeYW3z*EA9_0we>9A z#|4=-%*5k;gVB-4w%-r=o4<l zT|MFe2yW15v~8QILHNnosUI-XMje(iE)&Pe+E=k5uV_(7lb5ImPea5kq-4-lZq@7X z$`iJhURd*R_F8dkCo&3HXj`NyYWdO#wVI$Z!hxyFb-s* zHm~_pjI&*Wf&FyJ_mb5`I+Q?&>a}7F@^&+l?D9~Ba{uIJWAqU8k;i18P9G$rZ^gKoZfQ3qtmh2;@udsphX5!JVU@aWZ>LJoxn#FX zTh*hJC34z#f$5o68Q?@%%`cAh5ppizer<0Vthq_Z$BR1$fH+DswPq;J4Q#E=8_3Y* zj2n~)3vv3`O7GFCdN-IYj~nEdwISt#xs7+r{YmPXL|xy@L19LjhgHDhfWP?*k&%ed z)*ZkxbWpFtk5B8e&Y?Q)cXQZa+vp=a;goFb*tKLJ-_Yp6_SF;;Bju{y?^0pP*Y2TH zOJ{u_@6W+4c(uIod5CI@e(IOvr&{S2)XwR34596i0ELzcA>ARHn}yukJs!~fQ~sjF zre-%&eU}njIA-leEMsCgpjIZkbWr0^fd#biZwHDR+8p4cDs2#pNha-?S(l(XP&;1o z1M5kY30=3lSNBVH5uWg0`8>{=2KBMK^S$Xm(0rXE1w3oS@&nrQqFVJUW&zM|NosZl zlNCHpG5o2&ZAO&vIxz}{`fXfvH6jbE#J{P->QPIP5PLQavlvFei^%_Y@3}#}E-Tiw z-Au(O{t8qRk$FIk2c%z%OoU^jl-9_fiy3Fz%Xqe>)2}FUY@?u=N{v$fht5V9bq+y6H~+fR{&9TelJ0E;%LQ) zgEu-a>4!VwM58&m>d+PGMAFEs=;6TcDvf&s$x(jK+)2DqpWR=urlYnNYUf7)kIj!V zQzB-=P<)LdE&+p@Bi^?R&9K1Dlll*$-l%ez%zVQYnxWG~-31F_w94l8{)8i>K_ z)rzk!VHo<;5ympu74m(cyA`aDjqFA6HDxT~O!yd1w2GdmWqKXIck>Hbt&B znY6N-hFO#CdER4>aP6jM-@~_~vaxJB9i2Wi6@fAx#GTI!jfQI;dVBh}Li`n|7N*7_ zVjLhw1Y^E4PGhQI3#8)Gz`Y=Wnta(?ae&ybfgqHfj5V#x6nDv>1(Sz!Q1ljRsw$(w zzYpj8kq>IBy`7^=@c(KPWOyjU9Q#TH1P-({=DRmIvBAwi@RKh79+e!-LRQz;U~U&-=izD#G5s!mGe@#p9?tn?|cae ze`$Ax<1usrk@1pv zto^~XW^F)8&V`9mD36Y+k@`bug6Hih<4|j2D%Yw z_=tEpf(b)?R?g#jSF;YcNDPZuWj7PK0y#3CBTvxFi+3aSkKvu1=p{<`kX6lZCe$oy zpI9cqIP@9}F-=)g)uRA~ZKsZ?QP5pM9v7+tge9btAUG9u%SNGc{)*MYnQ&Jeh1o@V z8OO*a8yIcx-Pct;s20J&g(8KCHiw5WYc=tq`E?@iVVp0?^e94sfi(ngf-dB~NH8yd zVOLHJ{n%rF&gE!M87;>iaa_ls!Kq0YdJwSW@MjB>)CrE_+7EgK3DGi-qemA&{3tM( zOU!t@8~xpfT~n#Bp&VO#DiTLW3TMlR6py)+$4vz=$3Is%IxT&UZRkbh zM-g*rVVXRmT8>t{47KasMBa4cEZK@=uqnV#u*e|6*%MM2x?g0VmmZkmWv%h_I5k#a z(y5bS(H|m8RBn~b2o(}B>d75F&#Bh};F20*xKB!yWuJt{#-I4X@CVBbYr=-j%9?gU z)p8TKaK%x$Y(#>dB7&r*c}{wqM;`rS6)B2dbvEvHoJUY!H=^6wWS+dGz0oQNMGxjU zJeoXi?g3mHAy3#+m|cSQ(rjIVAM;P6m;w?p?IPxy5?)7USd#ORA;XQ7Y=Vfe&&5N* z#VR`oY!PS_aU*67m#b_J+|fHK!aIduyE}!4wgIo?xY#e^5etTGE$x>ggV=V|u-`#fE2a@*n3)X@_Tbd#2$PE(hTke8a_ z8NQPs#Kw)L+B>EUr>^c_aqkn^01a2GhqhB+hHr(m}wOZ4V8v3cd*6KRC|fC zs^=Tfoq=BcD%kV;e@gG%wlLVCB=~NR7gU--fAnV5Dk@}V`bSKi7yj}!PPb)@f4I{K zrN^O{mKNB&v2g^5%Lu-nDXc4fzZ2)uB%Oy3vkfj8pLXNl$lKYnW@_9$dS^)4Kv&QvPQ%Ch37RRn~>~ z8{A`uhaHS-XIXSBZllk-Jk=C>l$7e)m7C;DvRo`cYyz`Q=Mx02$a&}gAClKG|JOPw zRey_esZvx|&rS`m`#S2nY!~K9HEK(HY95Azo}B-pB^=Q!iGDuhNp05ZP|3VeV?{=cSC>q=lQ4 zX4qeoKjsMDw&qhh72*RQkeXXB2KiC;#&s|4#8wCBVX#5CwpG6{If~=X?2>AP4k~81 z7XJBpIhd;Fdp`>loBp{|PvQtaWZ_>w|M5O0j1Y-kyhGZo|x-z>q<`w?abbFA7_ z+*1Kk1)Oszf`$z;XVmY#EN~^jU0ANCzIS*!#I_=Bd3a28!aQji?6fGd&(p@2wYCRr zMoL#Yo9eYi5+0Miuo^5Ub+MjPY$$(47G=RF-(5MGR-`nTn{s>}suSL#fpQa$&<>jq zlw|P{ti2^Ew(VYW91eC?4lqPX{K(cd(+X8&0j*AirGK>zZe_vAjL}D0|NX6#-vuT; z+_Qtbv~%FZtGYJNgVJLBS$ znzB2kw4B47iKs!qRpPns1`#}RU~rRBpu$v>Tw~XT_%I|EjqB7nGK<4l9G#bmiLl(@ zVoGEIesEf)0ZfJ{I_HL7(FQ|u{2ir`$5V|@wHt8Vu2Pl!QZwexspNsCn`YTh?bBMTf z>mE=hD;;gpPMqC6VS;r&H|9Vj!9xVOmmBW~ZY0r0`^$dY$;yf2x-q;VD0up?Uc)wWosjeTbYgTuwt~Lu1;k1@k@PU4_lBPgKsBN8`7<&` zpl>ApRGo9$IY$6^qsX~jtf>iv*qKWbMd@>B2>S`vY<$gdz;j1Nv!}{Q&SyDffOe?b z`iIBD>GL5GY5$T~QPV>B_AjP_i`K}J`wJcf;n*|HMu49!)Z3|X*ph^3=HORUIW%e& zk2_sL@+OngjEy7zCcrt+@_Ud^$HkrSdt33NkXVkDgoBt2lMR)b2)jnc>&y7Scevwj zbjC*-N4TpAP+vjdddZTT>zGl|TTD-r61fBZg!~t|mt^l6RSHsxWnb}tz7f1nY}+u7 zXA^w>C^FSr{YLxR{8r6s68o9c_i+^Dc zVQyr3R8em|NM&qo0PMZ#b|W{EDBQpG6u8vPEy*L2l4^7Fvwbg3v0S>Pg;%8P@tK(; zftetQRx*(dAf=L*bLKVX1-`%EJI#}P2Z1GlT)3zfyWK6H*t3rUcNZ`)8Wza%h!j0 zLWdt8lHAJfWS1`I-8jBU*qq(GK79ZBWhYDLJ9p&qf$>=McG_sk zQYsmz>3pY+aH3EMzb=X7G}>8Wno3Ml!r^PO#5Cz4k!Km>@_&aAArzuC#Driuj|lW) zfyP-DPO6Keh~=s53L+I8Vizl1z(VkpNFuz}b1E146q>0KPuSdH0b1?2m3!WK{$=OI z&Tmb?|M>Z!AItymagr19X%2vu{QvmH(c#O(690dG`26)h`2Xkl+1*7aWQOxZB25Bl z#(0To?(U*7A@1RVBuf;tC|{CPA00?Cln~5Qv}Bz0R0GFCStQErsKkA`s>AM%YW3#w z3iU70@XedctI64LJVw`}@2>hMLp177-X5TnOLTELL4(WDk7)Atbd27do()ldjDEbl zzCxEjTp*8*JF3Uai?bimcsN0mw?p)O|Ll4QAEO`o7ZWtOM3>(WudYr{hUoM{cM^24 zvkTn!@}6)`V}jakyJ%n~qtEJk`@+4_&FBb$pK!43~0w=8M3cB4X zH}v|Hn9qqEKMF~fs=o>RjV{NqaB@Kfibc)uZLRj8U~8ka>>#&JSB-x1DW3>Q(z{K@Jo^)PRtp!<2UG`pMO=r61==IClc?ALh?t|zuBpQX!xEA)!CRtoJa-VwIGO?r^q~hSkP#Jgk+ou3p1jrkOaqS ze?**M_#UH_JRp{m4w@_sK_anWc@m>3K|=LKD2VtKp=ApUkXSu~;Jj zm6N~bl#|%fw3hh9h_ibd6JEgm$Z~`^LAg-4iIQAM!hv`@r8XUs;%P!+^fi(^CkN1U znG31ruKU9d4z)LFq`9(!N9`%DRsu&65wLw96_J@SG%m6lvKZBpMfOy(7=0|V$UXsC zWCdANCs>P^kSt)YiH-)MU)-n^Zu~zL%Z!0E6wJDNwJ|FVfqkl;k(y`^wE!zEGra*z zXLO!(f9hz8qdStuXhyJ9uht&G^PI+{t6Piq5~p}h)S02j7{15LEKvu>lRN6}3L^8Y zO-xtqBRAD=HL!{e`t%jNR3j{L8Y?8OoU!@t0A*N_39I{NN>j`qfj(e*7fh0#q7(J4 z9Y~WN6{yu!TSj+rv&<7ovxMAaWJZ+;Y%t6EI$>N3~4FLd&?5w0Z%;zB3icRSb6)pBeh9fm)#d9Qyk&s*+#`}7C+=pgfL`DXu?R%Ew zOX7fLazVHS-8EYcxTH&>R(w;i?e{cQU$8V58cOpVV0?bKddwzDZ@1A83j&jnOtX4| zFq*@M9)T-yk3FbUz@1-uH%Mkqtt2t<3-qucDY{+BD{j>uQzwRG=yn4lxz$r{m_`rI z+tnE0EFqdyV3Gpq2mU3>&IQ&YBaxQ%?X22}lPtlJLPEpj8o)Ea!+<^XZ~tN7Y{L}- zD6wZoX(vpJ1a0@qd~6xA=(z_7wQaMbx`)T1Odv>Op2!}M zh*+j3p~ew#d=AWag9VB11R_|_#NKz5EC}sE(w!39w`yk}#Y}q4Rn?$>mp@gPd$rC9N#}B5Mc$Ob)E0CO+;f3b^yMLn7MSBmLD{h~;4;JJo}nho zbH#Sp41M=*c%Tp?;C2C+C$Zw4oL~?c9^r)=#=c~!YGn{($tg-$9(U%9%@YEWKtW$^ zlFn&LG>vgGBV0+-U4`ZD{n3<2eALZ216ieGS&y(3BX-TQcix;1&rZf2(0Cx^5tJ6W z2WQvg$?)ptqJKUtT||UpC+#*63H;7xhIeR|OH(E5!-i99p>+bPF_H`ri1q>n)=Cj* zuCLTLuZjS`XG6I7sG4lq0}xH&pR89 z|Gd8S%gtK9tZN;|Y~G%;`<2sfzZss?HOAS|CPVi}N3ON{x95?9v62MT5yv+~?*1W(dWq^0e3vbYOHf z>P)05iIpVQQZL{tswV+cZPfaN(@xm@OdU^_9Vcu)SKZ$eK4pT+#{+e~&{)0D2O01P zCFS6V9H5v?^Z5ay>5Ltq2h7t0L^x;s07aZi8sX#svDs_~Av;nJonE}T453hLVl1&F z=UT%sG&i1h8?IZRz|aaxjR`OZ3e})(bP}HavhJMoEL5Hjx!O%vazbjJw-+Q?wiQE_ z?c>hT^UiS>{;2B%W;QWU*3HUL1zg^y1aY!t_j)DO++K7Jk+GMRDNxf546IhWq5mG5 z;Y7g6TmIsL$Op#nMl7MxWBDSz^5c$?$Nd#?B6{#8h_R|K1Xw`@R*-420>A;70#?JN zzH#cUb{pwwJG#(odjo^tMCwu-DM`Vi*NP7smwQ)Q^(IQsk2*)kox^|GcX$7Qnriqx zO(mIgeQ0%S!SF5(v42V6QygtHW%c2TW%!?eAXNju4x-BI2ACB zVr4W;ie~}Kol%m&S4vpnMBVX78j~1dfv9>S@ID$fd% zt6R%0NFicLLL#a4j^>58>mIO-778(CZ4)RBps7I{Wx=Btl_%%Z=}7ma86>&}ap!CC${OyE^CZ?jgpAO-?B1+MZmB^(y&4dW=m zeD2gRLf`%YxOWaX1YIJ#!dfm+UBlf5G_X^GVk#u3(_CsbK}=#AfwDyjiJ*c8>4Ad^#x z7FrMG>F0#xc_edpU)V)H4DKO9U)kY~zUd+JvulOCjKv2YVI829#pD1H8Fh*t5c&%G zRvmmL@%-o;)q~z3_6-n8u#+`BFh$eIeB#ZqI>xaX7*E-mRS7PH5604-hyn3MqANN(X5_;c6ZSan5Q(I_w;?QfDKgXOLeHj8_97hW{fZO z+nA*UO&@ENGzYfh8RN)U_|tr)%sA>X`dR|w7NsbR7C8a@W+r%cXdB~{|j_aF`Q_~2m!$sq5|&ZY84`!B#&0v zP^iiE;Z{~Q1TPyDD@oJB;43u}P1 zT1wS%rr#BYOQf2pZEw!cC|n=yiLQpM?bbva)~pC^N+j-t205AviPMO*wOtWEh<5PEy88r;v~5y7yHUTIZ@zkW z{q6ATVmKL&Z!RuRhBs&ZZ--}U=UXqON&mYV_pOY@+hU+`@}<7Kxx=;ukoDeF&rBFc z4}6Dj%wILL*?c1Xy0d8AY)ZaZ)hSha_2xzKvV)iSCzj#|0UO_29g3F?3)H{3xSaGS zr-zTQN7DPA`XA*iwSHh_V(Xs|$D{sWV~Udo{4=U;FzN`Q z5gYd|UU_0hY=&ooWR*+boNg${jfm$=zGv|VCoS!5H3&=|D zZN5=FS^`4AkzyA-9$H_$8~%86^iA(8@EpH6`leNSckJFBe^c@Z(7bAZc}!EBQ2A&$ zo|XV4o}EGHy@eOM z-XHCI%&B7Zii9dt0`nAjvN3hm3CXc!VC`Pe`2y{w44hQeRO}U8E&DyAG5CdW3O76F zJ9=_*Gk7~3yc+{O4fooQWk>Ju1c_qv!#82^!@jW%!()G*$B%;54J)sU=Y(^6#|)v z?+K?fAe{-D&yxa($=Mj)tCz;x*L3l}EmGR;;$U|DzUu;Cv++2RWq-%!Lvq_fm$y^+ewcpj(GaJ#N!#z?okL&3FJCW16LB z@qwUr?=kQ4Jnbr|+6I7jggX(Jh|WA<5lI9ozBj&9C0887!>otC?neu|#hjX^t3q zk@wj><|D?T`?2TWl&NQmx4+MrASlZ?n*meTP1GyJA80BGpAlX-?f_b>q7ZrkYN<%3 z2S#^frUysL%frLN9fS&~dgzsUq}gZ8=4#)GxWo%fKyv+K@C_!EZ6l1gj*w^IP< z!Ry{Tu{}rq12FfUu(`T%ixaT^+n&pG;a+qygYqDtNbdyK6=1LA^n4DU4@%?*kfMYd zhAD_v(OM5`yd>!QWCVS53>7GRetC5KvaByCz+#-vX?j8=iLCdVxqRq1D0Z*ZnddgG zJ*+o2)5heUBrGG`Uxz%U?{5T)?uhK}g3nxA58HObg0He0wrz)1qn2QAP?{BU-BP>> z$YMh&=fn->5c8p8P9W&47IoGLJB?V`RO;a*!IIt+OLJus`7MbdoJLQ{6U}qZ1sTIY z+JVxe`hw*^w8?c!-=h<@#56^^h4B(8 zG_JMUR~YU`N*KtvqLAbf%_t`iI03&Uxgh+3S~+mnomHUg;TW{Fiorw?$rLMsGYqGX z+MP}-lbFIrN+N?UD&S?u(wxQcS~hCGJw1V_P-92KT98lO!aNg5eNu8^-$f_G(baI! zpA1iWI%?Al;B{-_&I%qnQP5IRgzJIBez8@{N0nq?;&E#?CMzSXHr|&8z_ln!S$f7I zoJ=^L&1e*;^e7PCQc(g?=S|9DyKpFFDLDTp$jnTd4)$O{SuR0hFs`l){``zP6`UFg15VE<8+fB zhe&)9sbbAY3d4IFucT>0IHJ&=>RQmShIu7;S#jF4SM*1xPZfiAVSsiqz>YI=YtVey zi`XPj7$$lKK@Y_Mrjwc*lK;Mwr_(%*6H=fy(6bnn-cjzNE(Rg zY3vkfx=Cl1cLI1C8V(qM(`&qT2Xk<;AN)Oe%ye)O`~?vy_K zDYZO-bAk^*&jl9U(KPO%uRJVTixj;22JNCf?GcL;by2?6FK;0%%LHD<`$gyxyzQZ{ z)S=4Nz&d24+K=kJsTWSLfM6}J(Y|U$mYICCj8Gk=dLNkYJ?ZwVGFg~!zA>5`JMj^V zoi4|Y>M3{H=nbX`iGxSq;^^)YoTiIs*Xe@bL@pj{8jqs|iSxt?q2Wu2%c*(Zhl_@h z9YdHeSWH#}Jt2HaQ;5YL-cz;o{yfzes*ejMuLzDqkgv#;FV(dc<)XI`D5qEnT7$3AGsSzc0xL!B~mz<^0vVNXf z)quRs46hXty`eTp*Z8FXMSv7EgI6>yDMr0S6(&K4yZ7-tg`H&tCgZa5OkKNju+@WK zxw<70CGCQC?EybR&Wpk~5`g_p5LjTOUJ(G0;asxwJdyN_rX*12nc&_a_DKuJCSwqS zQ0sO=Q=;zhlJKXvVlQIfyf1EtLyCsY}~?8(fsS%r{0pE zNbCQq4wz=mr=ygr&T|7~hg)VPy0@aGiZZkj&CPmHz_nh;jWwY~k9A{hpaX3fbR#Y3 z?k>8VoQ)7o=R`=Yb|+;c7(z@YnaQd^B0}%2pp6v6lPqG1C#M$^P|Z5FMaO;Gne!|{ zZ5X*bzZwlHAK>AS+wGKP*U+=~9 zqt~tNhb(ETy_o`mz;o+6vJ#{~AzQHg%|KB*&93Cz$z;^9lIpYVR#LTCwURK{$6ZM? zWN9Uv2dZ1iFSlDs7;@{CYyzovB|U?DdjCdAw&wEXsb!H<%Z8~I1&S#rkxU-7Osp68 z9A}{Z>VhRhrz+E|#Eu{t%CHdT`=$E6_!ePN@+LFQ0uL)UlyQ{VHFMNCBflD4Uc5Q| z?z}%TNg!-9Jw|;SotdpJYXnK}x50{+h$Ot+nMBP3Ephr--&JQDRjQT^v?MDePGijD zMs+&4>3JA5vmRc2fAf9+D!`L*OY+`=^|p$Y6B^0w=%vV5fKjZKJfx~t8HqIA&wT1C(!zyW4P_XWl#0hiC1SAsLg+^vkE9t zrmM4s!Ua+<`>Hg!OK~HC~hfPjmD&i?*rtP6$+HR3)O6844PS1O&eT#*^ zL)zMB4Yd@}w7eHq$ZNfN{`$|YiYu}S(W{J%;~N^26!OFK(nt--6t)EzylZtF9i+p6 zBc|K^=YLi+`R9M`eR=rhVb=~&nOPru6$4A)`o{pvwg*pwFRA+Q`u!g1s!5H&``3WPhJp5#hD8fz|JQ8m|pR?&Hy zt0%}Opd&H)7K{?XWn-;?(pjg@w9yh9s3Xj$z_rU0@!vH;UsBs9^u8FrsBvIyp5cWP zvKuP#;32Mtvw#n%PD_=dThrsfDRpj@9AO`ySf+UECD7bhbvEZXThMggrRj`g7e&@J zop*P=v{tL)TUH^j0{!ZB)r48@c}Kt-;nFno3J2J#FiP@0H6Q>P7#jV z3l<^!N}-u1&YQCy2{sucqEc;odQTHF_ZWgYKD0L*@D-g}ixYf@ZWXVNWP-?h5~2V8 z&;J*-qi~RR8+E5N?M|^+-0F>}LF<7_e4>v3uHRyV312Z*p|A3Ux%x(5q8Wem2Ue|( zQZAv>u5s({nzyTlpJuZYMT;I~*^F+GmP?&li6&R*#eUzwW&EyjmSMhR+@BUk?x~$s zd6#ILiTSFB@)UM#O5*kVWHK22-<;&+Oy{}`H_K!&LVs0nZ7NLi?dVN=iUoY$oiTezA%%q@v;{Z{ zn8+(5M%REnV~P6Axs{qstybVOoB<+hiVf2Nm`oJ;0npv`G*4xY{wF#iQ;O44HUJ$% z^k8cQq(q%`m_HV-N?I+_!kILQ&Dt^Lg-iRwB+@nK7S5!5WsnH(fL{b3?CPZPRG@?k zFra{&5uimo>^fl9t?Hgtsu+C|iP7a)?7L)w24|gBG-uXvP%L9#2%?re+}jS-x*$Z& z>SNUo#5j=hsn+T?_ivb*TxO-~?WXK?Drc*t4vfB?yg`l+fe@leQFA-px(8Kpng=nG z=gGww{Kvihe{wMfpV-j##(DhM7VFQ&C4N6qCn$*r?qr66zz+bwr^|fl(g4rEjB}@L zFZN@-ck8<8p`+(Vhp&%UPthFV=lDIO>=@IZNO^pro*6ISToA5fg$uzW!qI|QcY$hm z77hi&G5Vq&SkLHtfHK0-<|>hC!lvE$D0&%_=SSpdI>oP#;~9=#y!{hNGEiGl z42gfHWX3o_GfbVQUR}REbaYtF+Fv=GOaZP-U!VpGGWSIrzE_gL%~|4|Rkauy2}_si{z+^) z<{bN8pB3C%vu0(X79?5fM4Y8nb1ybju7M?xBukrL)hR}-bNTa^ox^_#^5(k)w||DD zczXPhc(SG*vg3zBW07Fzyvh4F31vL<6&H$ZgrZkJ1-84FoF-Arw_TyrDW`LZ--~+ z#u(Q_UqMcf!fu-COwi{}9a$#u$_F)ueDjSG2Y`*F5%G)T){~vFZ#0iw`JiUx>y+LT zE^y)!ES;|#*V9*-N+TO7tIW5al3mHw300HrIdm7Wd!KiTFV{Ow4-%Hg$W~23BPJkm zQ*qHldxP=le80@8Jks6>5NDG&rGykK6i9XLO$<#*8ZDNX-wDmB?X4vjE*`*j)Z1os zMboFLB>WyH8Ui<_=8QZ~wPoiXCw3&iQ4bv-E{hSHoXi>_P?x@&VtQq7^N#8HeH6uB za*rpYyJ@&aI)J;ghyFdCveM-7qQbjR0!MOO<@JHdPia`m(W^sr{w*Sq!EZ^H_Ie1# zX)L_@*u5>zL`z>KxL0Gs+#}a*2WtY`a4-D8_#Nmd+@{zY{4jpn2CzfV=yLc$qoX(K z&Uy;!c=fQvb`UB?D1nx-ghrIq`q7sXU`XS{086u&?0({RQYJwTh7w96x%fwE;XKpnm7h_yv3k%f&h2 zb5ifyxdHU9ht0@#N%-8V$mxAV{ zAnv>g$|C1zP-&%*x9bbKq#G7+sg`e1tW~puWyVs+nkwa6nn#-@_+HzJ-ss;9l{wj7 z52gzqyC^=$wQHyGg|BT;P?@$$biex&vSi&Kb;}shEhC!He5p@P#?7D5;PJyE1uJ&Uxe~r~BmAXRZ_cixH zA1VbUg!y^NmxOi}fLFz&f}AZiPUkB?F#WoP^I(~ilyGcnf7ulBHuo@S-}H^uI)9t- z%RO!gNa6LU*G+g~eCnNAG80^fSVmHt3Z~ZU7Ch<99k}p6f$D>uif+Rue}3ILer?n? z6=0lY66|)Kb|N67p7$c~O!cxRhuiy5#5Vm#WsxwfQ-c0l8jyQvr-?gjg`*Izr*ad61 z(f489vMOPK!xtngAfDyNSu2C&CvLCDRBs z7{RAN$l&e_4%C}wa@8DhhX2}i?G-014`0Lrw5^A@{j==9UGcZq#5mL>taJJ6Up?{M zrHbj>yf&e;{Q<&43C6DQwIoVxR>J326V(;QgFWxp8LuX+HA#mw#O*++El*9C+onrA zCp{OAr<#{D_S$x*sY8kVwQ4`nloKKYx+@_>7pGMS=^!PqVek3?$2Vk|vD^w+=>ekh zzyI^Uw8uP79`K{E?_F)d{*zDHC!*Q_(17Yw%WPK?*%`A%BlKj8IQ*w!v}Uo-Ac@1u zb+u5~wFM|vtSZ80CDy{=4X_3ieq|+tj38a;Hd}5bK5T8F)hO}6u~@O-_=tHjFySzj z6teJggmXa#Zf|&)$<&)>t`tJF9fN)1W&nu7tx!7)t5EUsjQLeSL&FbUW(jdMiA_d7 zoW@CE$7?^(nCy7@`XCKxln|UIj|Z;45=1yeka}^IO0s;s)uNF0r3=jPJIzB%JZ~CN>Z)3~xwA+-?}1&SbF`wrm_p2Y zLzm{Q?)3mkduk7&15ch!cnc#EB@fefaW!m=7Jw#sh!Kq$mQqL>HhF-CZ*dP3LWRq~I`7#ch_h zaXT{!%Djn`(it1~&#$hA-`(hd;BQtfbIdN71Z(<4Q}6hWX0R9S%>ev;7MMepn+!`j zrI5i`y9?V%f9rX``K>c7gcjWzHVielDx0%?*SMegL%ATfQb}o7M7r=@nlh%21e6iJ zq>xxqCsRuvk+`Ee*&(n`uPmW=MCo$52YziQ{fD{u>jc;8c*2~ZlzH(rYVD*hBD=(? zq>+V|rgJ?`fNQTHK@C4PN?CQ9lK0Y6Tc}e>GT7V?oXW7sQ6kntqSSPWOg z(lFp8;ma=O=3PFVYKW<5(pfhV>+)KDRST)>w^Pz{Tacah4pMiGY*58eo!Hoq@v`4> zg5%3HdAwpwLM|v!0(!awno>C^VPMsKgYTa(;c&dBd77oEfU#Vv{i&S=mZr*_b`z+U zU-YhDkfK2HN1I{6bOgMlI*ep@B&{+`{g^5#IO7CP`q+dGYjuRq$2)hWv}`dey|#Nw zvN8%m#Uf_bq1-RSi6!Lplj!*|YhM$9QZHlg# za?idvP&vW$039^SWer9R3Q~k&;yPQ^Ej+zNrbY*tdSN6BZU|BX@SH%I1W|SqXR{I> z?S}^nh2NkfM5Re&=NAxjQAjq0@7q3FvKY)3wuc@%ss-epDn9m>3UxT1(Io{mP6ERw zOJa1T`xzT|`a420O^8&W6IXUnk67)qhmLHu3LCZ_BD?59aj-qHuM5SOGqU)#=);LT zvG#mj<@svIvjlU}cS_!oI)H?*F7a+K9LLCtAm9O4q!5`C*#+BW=Cy^mG07>p*Z%8H zMy~kZg~$q%g*OAYZdyk5-q$r;E{s%N#8+gTxFSa5;9I+;=&X4esPNcxb*P>_+BSvH zuXCmj&9Lm5!o4vXmq1+uqdOcLN3#sN9!Q7*S1rO}Czh`k)KLuJj@r)Aw&|s#9*wC3tbK`waJp45$oR)%%d+5|S!r3{N##UX2ENG8Pw8VO^C)6es$<+DHa$)Ui>fRJ3z2IDp4G2;ySW1bmX6)fF-3d$etv+KG(A8|{Qdxm zd}&O}ZkQgz_eCM8Aa}Gg99kRuEQHG3xGa0nejWay*T4tM$gnwj`r^g&jff&hwCCq5 zttgx`%eQTljyfw$1<8Y&HS){8-8%O!D#@+kt~PTY+I5;JoY7DlT_fqQO%vzBwk0d+ z`HGBjq3$-!80V#-svTe(`-Or0#{8u(u%f#gpsH>5kC#5KcG@;?;8W(lS?a*wIck2J z{DkFYSf7rsc@;idWnam(D<%+7vcUkgN^1Tsx@;GF>osXYYRSuMw}7xdd-6^GV5NN*}4Q zt>+usQ9x`edhS_+TH8F_7(9T1T&LiP6e3@v)nu_(xKz>$%OzUid#wqE(oYDQqGzu6 z(ylUS`?{sj*3w>1wgmxOZx6I?)p$@d2U|tddiLS_>v5 z%~}VjWk{iQfEY(DopY{LB%42-Z3Pb%_VDT19uWEh=x{}zYGH0SV4SuCAdli9B2YK# ztm-#NHojS}8WTaUm$uH^injhaTIxcJ%MP)iDnpzkl!!ucYtC_7SH>Ojg zq|4LPGneYhWS}42a~@fq=y8A4IX-rQkWb_LZk2C}Yms#?%QLFyLLL<6b*q+(Izo}`GHJELYmU=K=*vV;YjmJ71<3gSWG zarOEQrimWFtZB&o{p+dT)|s|g>M%>@l-_o?+iVMRK^}EcLUpAfR>`kH2+-Iw(>AeZ zP(kK26_V%9yP`piuUnzo_BCf*#u6wprlx_jEO~@FA9M;AQp1B;YU+tx=?XadZeq*I_i##6Tu2k$52ivJRV;>{}*q3n2R$HT0rI;r=~<^ zN%OCcj!;jVVHquaEj63|1wy51VA`@{ZlDCITa@)zn_7bNZ&&6fW2-|~Ok2(Ahz$zr z9Hcu%+E^277qKO&rXJqTOKEL#;N_$EYf??nYgr*c>a2SkWC;Fh_^*@U)kXj8=5+K; zO`_oE&ktV(k8`0;0Z)Jl8(|?H7>|4Cs~<0~uWkl!FUP}+n^Au}{^9cKq)raDF6o00 zUkGX(EDPscV*=FHuY1CAVnriJtnz`26M$YUl3t_Oq5G)1UMm-@e#JIevZgg#vuNvA z&3t`qCh|8tlRA5!&05lKJ9T2nVVu%h@mL~^DJ!8%sv|aB7mfz(hj!XgmiN%{;o;J5 zV+g|Tq2rgY&M7?8y>0e=brKn;3^eiy){bZ8n@jKk=u;uJqcIPaotP@!fh1%Sep%c^ zoWk9!1{@{n`5{$(XP<2}ahjwSCeQ#>_c{WL#2`3Y#ln@pRoD0%6i|NH%rty=tH!=Y5a`80(;GRd z5qwu&D)I}3y3WU?BnvU%3#XE{?GtrGm|q)dB4Y`gKaMj_aO@e zrUok1Wmj#&VEEU#ZdfCIoxhN^5a`xF`6XG34twb3%a^Ze#!TovNr@06o1nJhL>i7} zzehTwt9f07+lMW&9?&zgJUGxgQyF^`dgf8FhAQX()bKYDOCnqGqk7FqPDSGHg zhl6E=Q!wHNPfg62d#s;|9P-vr7MzF$OX40n@^4?>^Ey;$qT2!&uEEoh5svwL!UiOC zBlDFkF%Gu0Nuq=>;^wNEXEBy=2rNjlG=J6!ubb_=;-VzF#n9bd3+fIeHius|CbfC$ zN<(w4M~5r7|HNLkm-ziS=W}Aw1W&FD)q=@6P(o7y$HrbQfs`hm2@j1s2-SAzU8U~G zV-K~!rKrv!Eo1T10nrXy+DYU|qnp}KCgNR<{w)Qq371YIwmx8Fs89?so&Hw!B|!b46|}lHcRCmk;==vH z)mg=ruxEWB>kfYCUtOGDeCHQ3)bTNDICI8<$^z@C^o;Q25zQzk4;a+p%xXe)e-;2& zxL>!_)xvG&B%D6#Y)e-26(n${TH^{(7Nzg?kD6r9|mT(QYJsW(g zFJl@ea}_his9HyLgl+2G1YUK;Mc=-a%y@&*m2T2I$hHWKc`oU*cR9=;iSSo%FUOOc zQGfEbxNjPB-S?Mg*XP4VbDbUs3bTJ~;B}{U#l8ZVEWBRc>aPZu7nA$C+qgz z7y@M|?Z)2T)y3YQR+0Tq>hc~o47-U!6`k){o0e7msa_QqtQ)P##~X}jBNm@f!E+$C zZ}WJrU73wID-aRNXHYg5nO7Ou_B5?*aLOwfXBQnXZ@Vr;;AQ|h|f z!Te(AHI8y6<(j2VojU}Mu{ajm1So3n|GqF{HT64wLI;zE#O9dXEuCdnxh;$yJRwpC zayVN|VJNakwzZl=P!(cN2(}$ z^iiFn_5r7IBWN}18zF827a;{fuzt00f*-y1qqf?eb#DF6@219u-+Ja3J%WPgtKq+% zjwh!V-`$)H`Zrbog<8MS1nuhk)4^~pY-TU$j4NKY zKT(M)HR~O-^uPb}zhq_IjV{68z$T50(XXjxBylmHV4LqaEolIWiy1~Un%Q`)xRfFb zUI`kL2y-u@MPc&0%kKwgm)9r0?}+H^s1^`;Sd)|r@>2KEWoC`-%wEh43pdkwb2=Ks zs3^kR)K0L>UG?A2ID7wC^QaTev`SVVAXa+tAW+|GtBwuR6zE|=qlGr_SS(m43NL{i z^U9FB+A|K)2!p9fD~|vC<>B+va922;6K~8gQJt1|)yM~d!sF=qw%P4pcV4{cyocQN z)tvQ5FJHZApB=q?{n~&EP{H+6OO`i!Fz2alCJ-p8uU4p|-8tjqC5$U8YpX-;v!{PP z()#CmjdfYe9q6sA&0f9GdTa0mxWRGEi4aOgJbn$;c8^+((a~$;p$(40KxnU{dQ^D9 z(H$@Pxgce0qVzg9AoXlkaGjvFTH(blWG+!p*WFRreE|0X2#eQb9b4UF@~m?qbdGrXGb5%TBOsz z`yLuUvfSnvg>XE(kxroEqxQ3ekN=0~r%K+dJF>AfV@N<^l9b}2V1Ta8^ymdn@I2Lh zm}H@LEOk4{2uB2Tl`b&t08MjggbYx+n0_om+wS5}01I-Q?uMmpyUs;c3KNge@fQ=S z*_^to3@h^9cOOtPq+v;8NM$(M*p&WZ=Dbd0bV_v5g9GY#ivvY9f}cw#~Xv~ z_k%7vs%Pru-YLGc_|xz;&gIDm>&h%9;UayuOd1t3`@}gk^gY8*qwyQ0&{&s2qp}|L z0%SR#%r;VErF$=xOxXV)JC%$V9qf*s^`ZFo%=w5x_EZ*z|h1 zwu?&l`}i#J=xc!9IugC0wQAJ&hlHXVI6qks`ubq*&7#k1;CyP_d1JHfA#Z@|jHdZ} zFA0ua#L}Cn5}`U8kGkW*!1V3AI-KVM;wTUnNMzBCG??={wAkW#LVD2RDo^_seDm#P z7Nix{K9oJ<&3BW#$DFB7%wz5zYtw%Lf%-|vJxO{<9Iil$tN0uTt71GLv_94Qrc|w< zc(We;5za6i`;-)ZQ>shvxjSQ0xFiKlpmwbpUstu)V|ZDQz9`dPFsLae=RL8=Zlm#! zZx0gQ@o%F9yPA4~m%Ztg?|YJuu2=vQr*WMMJR{>r z5y>Q2h#X!(v6;k_C8%p+ow*uD@hr!-V`p)F%*?rI&B1OKPMhPN#Oxt`z&!4cPTe!m zrkqgj9#|8yd!U7hl}rFCeVf7(0hpyK;==Mk|N8>smMJ&UHO!z@ys58kZteiCVD~B( zYCrOoCT?$2n}+$+$WdZGe{O+8(>*Sdbd=rViRVq?W6g zivS5*p|vP*UcOHGz?gP@uco@Ga*Fy{)~{4lSDeH%UrcjZEwWzfvxiDR*5#+e^B^%@ zm097r7v0`p6KL%;l~wNqy;AqZwp=rujVj+PoVhgKy0CHwju*O(oa|l>-$q^z|Hcq* zzYWh_=1`8!pAC7jG`t&vJVcT0>68s{IVsAvA^=67u6X+{3CV z4PN**xXqido%g1`&_(vbRgTc=r{oO%asvum>l=;N_(Y?MeBA5`3EPa zFlzJ+Mk~C7QL~5eI!ayZK8@G8O>c{@I``?n8H7DCe{8{U%V}iSaDawvrK^F|9tH(y zk~!s=F3hPv*t0&mnh)6kx_tu^6_q0z+7*YiU&VZtlu)X6zMZgO8rQfqqRoVc^61;i z4&m^B1j(U{kL?7A5FejSdks`$V7?(Pwqw0ME~KKLO2(dBY~uG=3mE4Rwu%o*e3;FIy)dQ^2h z%g{R8EErljnI$Hx9MV-^W3x!Z(lv^E=-*n-MB6$*E#Eq8 z|JH_C^_R2B+CQ8*);_rE|Db-gMp*Sb*k9EzC5vinVsxSD6YTt`D9u@ z{q|BBf6Fr}1mF*GN|iCPbJ19QSm)}Ez0_UI7o;<(wqBXq zskj(zKi)F|nGLtgC1nO|OgUME7_QDSxgy16Q#wd9baM*O#<8E2@AC;+ISqvMsVeKC zTalacH%cREIWlBk8`q|o3#RgMbIM69?nGDD&u{DP(A6E7zuJOGwE`i0PfI2jq>gJH z9sYA^SNX|m2QCgk|E8<8`nhkd@DYSCJ+ncbf)w?FYdWsut+ly#p(yC6@`ldr)v7kj zZf(CKPRJ5CoesD79Cz~rR~gg1@UDo`|lz1_>4Ue zZaZt9w*yN5ViTDNuac|%-U>5C{!p*zTjO#R;o9NMpddyatd$is^Ex`TKV{xrq)39* zE1r0(=0{pj7DN!6Nl5^5K#jlGD-cXi9h(eG$fg(;NU)-?0bMS0spwf}EQ!60N&$!3 zEPIp5Fys*Sl%!3ekT-BC5d0JgYA;2$erq{7f)fw?>^Jm@oxI{(|o@isqc<8Cu{pR$q6J zx^p3xnw0HK6x9$-MvE!2ffEO=N1aT}%aEWc*+xC93%X)BMt(^c+*7bD;-CxQ!j@m5 zR~@hd>z997zQ4%@xzSMHXidURqLUp|<{5VN&DRZm*}KGz!GCe%tj)t`CCd-Yz-PKK zoqoL3dk~y6_KQb4ko{L3n{ulzP5;L!vIK+s!_*`S2ta}`pEK`?mn-d!dZ(>5YQ|nH zeFa!k!RSda+w~~t18BquEeftNy>t9a3KWzw`UOa%W(wR)NuS#5cEpBscSU_2d?gGG$YT$an0^uZEXsFD!D@M4e%wuw%DJJkfOK3!8@@T;~ zrI8v|(b1^6%0os0ah0d3F7@YfM*1&m1H^O|LxHT3Acjed} z7fQT)ATICD>Fi0JP~q4)q6z_=L~OYvX+?Em}57AZ-hwR+C7VDydj(ve4C2~kGIjI(n3-i7`!9}oe+bnx_KyExluD*+A9Z`CYQAe*UkmlK{C3QVM+_ z>*rEGqm{MLsz<>(dy~Bx)f7XkcIJwqWt_|i=fC@UXaVN7D~q-XD*w*Qq6OGpS&+&g z^Y6MKRe-I3xK6APwm(wc(a5PV%!TXe1xN$%*480i%{o4#PeMHx47@ic-k*xf6id_0 z*CuHCyahi4ShuaX7z$vUS6+PG48n&;*KL+C!^nuK&K1sPhzgMtQ5ZF$-veFp2CLIn zfNF$F_sNdQT5Hb~*lOYc_6LwC!GeNddQXI;bF3ijITK4I#!u~6@}5M6H7sJwB~Br{ zp*y8%SBdtm|1drL4hu(?M8OYFfbzGpmes^7TQ27BvG8ShfIhvjqmlddx$w;A(;rgb zF+9PZQ0B1=)(2F3EZH?6j%K(vTBDYW*2xlU9SS5TL^~9mfFe-4DZsm3FKVRi;MghR zb4m`!K@fNwj~QF$^dU&VjDwq>W|h> z5ZC3!bh&DyJcf&`{TKYAymuY=pLt>o^Pc}K)O!royeHwegDagCIqbsHy}D(!g~XDy zO<0HK4b|th=1H4Fw)(lT6&9bD4CS6p(%J7icVEI~ui9J9qn(nOsRrVYWn~I=_$vks zKU^_%Xj?e2J~J?(bu)4HkUC@7dZ4Tq0w~BmWk;>KqvNcoMWCs!jS`q=4iMITQGw

xXxUzQOEH@F;Y8-B!uHz>I?XD^A4i%8@G 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

_!5xrlJVj5|!m%Y9| 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 literal 0 HcmV?d00001 diff --git a/assets/datadog/datadog-operator-1.1.2.tgz b/assets/datadog/datadog-operator-1.1.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8f20514794c9fba2631764814b4bc193920ee506 GIT binary patch literal 62753 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 literal 0 HcmV?d00001 diff --git a/assets/jfrog/artifactory-ha-107.68.13.tgz b/assets/jfrog/artifactory-ha-107.68.13.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6451123fe5222397995c456de90bbd278bd999a5 GIT binary patch literal 163956 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�{Zv)?gr{~6P{JDH>Nv&&BJOr9zF{K-$p`GhT) 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%0A#NQ9t&<_ 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 z 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

L>+=u#Twqx^}#yJ~tNjzkhrk^M0#Xf_g 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 F4gh6v$@BmK literal 0 HcmV?d00001 diff --git a/assets/ngrok/kubernetes-ingress-controller-0.11.0.tgz b/assets/ngrok/kubernetes-ingress-controller-0.11.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8ff85135b3ab2b92b81c85eab2646cd4a5069524 GIT binary patch literal 34713 zcmZU)W0Yh|*DYLjW!biE+cvvwciDDVmu=hVve{+Zw#~23`QH0J&mA|$*z?a`BQy4l z*qLk1n2X>S6e`d^+#dY74Fhs+0OJ|DHpDjynJ_6 zM9A@sU-{bLf+cirz+&~m*rNo9jJkckI zh0GljnTa#aIIn{&y3hWPWdDxC^ZhmACmtZ|z)u2lDs(Ff5ED9;4Tlf|$nj;t<>SGO z?h@*^g|W>*E~|YuYjM#!81*58W*I_LPh{b`B-%F)5#hh{u2hxe9fjmaij=2<9-J_j+g>`Jr$ptJLMy*j5fTn0tIJ`hHbEG^#~>y>u!%y4{-&LhqNRQF(-`T zPgfjt5PdtT2%)*?@w)1~0vCM^9D>2eE67paj61+H?I@5E770O?S{a8LIh$xbw5wL7 z9S#ccIKC^D@R6J58&*apduxbQa5&zGjVO$~XM0mV!sqo74(yNkf+LU@pV9|=9^3); z<@UHl$i|NrpQFN;&+g#t3ky>K#7H_YV(n~wQagx#-WhP-?i($(laJxhgOD&x1bwEI z;?P%9WjwrAGk5Y6_eR~nLJgx%)Dm;JuUOC7#8dQf!0%GC6nkv_3*uRzBjskPx~Uq^1ge04E1Cdj1-WBAN>djg;aR$$N1Q}8=L8UzJ76c-|ocZ z=i$bF2n*ZWaj0oPwpMZa(%)tza@2vWZT*Ug{vM+rU)RUEXJ1co_`HH&bP+Xtn9d-b zdhH&Z#F0=dUe~!xb6nd<%b{+t#9;7HZHmG?%#lGll0Px&k=z*O^diBSj0L=Dod$}f zFc%T$YuHK5&KInCiSk4r2?mh>AkP$VN`kww3{w8j`}zYK6$Aw4(Tt;CoyoEc`oEY~ z*UpkEAQ0|oqi4btI+KicENhkt%kDJSD47s$&p&A+4B4am$!<}~+=CtJ_^srXzgQ0g z?j!dr->IoW%4{ma?<2$b#z0;l2^C;sO4Q?>S z5@#qQoU=hi$&f{5ln@Mn^Wg>qAtR7B5@GN6m>827ETY6c@GXMP2T)AJi;!jd!Gr11 zE_wFF=xa2D2H}$~j$76%5>d08i1Mz-MHv2~QshZzfI%FEA)Ce_<*N*|2s4xOgE`V1 z3`${U-^9LFaW1tg!L4X$Eio{JGlb7}LKzZWD>tKe@Qrn<;>tluH%4!aLxYx2e>7fct?R;>Z9x^={d@+iXtK|32BH@R@`7_$!|HjkcX4XJ|KEt19f`F6mXIr zN>qy*-wkj{&D0~%p5ppIYY_$&UGWQde>UVghBhQ1%A8mViyyus@YCH>>zmI6N|WB4 zQa%S7h)r)DiB3dJw_YTmNjHbO4@$CtvW*NU>&ERCs5JN_N~;2wd*ACim^{Wasu zCa!`jJxjB!x5RH>AsVN`Kd3bF!sdJqMdMf9RMbNd*Gb&UwA$`V-^p5uUuiX{mz{*lg>h=Mhlu#BSW0s{{r3&^iD^BbYx=*;&dPme1tg_sGIdTnEis&q4TZz67Y@z9a2^op}szwR|} zwt0)h;Q*VyncaKt3NEa z8PZe!@VF{7m8D)0d!1N>H}T<>8(V!5x2yg;%LrPRz;3mw7y#Q4igxzfljUuR4USd} zDFJkL*so{(Z}#3fH=aK>77N<=omtL$JRc3?9cUgubI0#d1ORT1e4iL37kVOWdGfY) zpoY6yjwXkyj+t#Fi_dBws`Z2u*`u+LBv=Di5acCM;);$THQrz&p1V|$KGf_C8w%NQRQC>bcVaaD`Yi`*agLX_RkKh-9ufbEkDVz4&K=hx&P>$j~C0M1AP04h{jNZFyGF z!sV#p{KorC@eu+`A=Vo+50GEFUXcNSLd`t<)+uDOQ!Arvs->aj$Lm<;EKta=S^l>4 z1j#w`0SaZKI#%BpLL~jv<0S>r7EzP{Ax0H3FwfLvR^MZ^_n#QUY3RY6vXf3>OF+#4E=&u+HnLF#;n+Yf_o`ZVnJbX$f+$wbAt=>)r>I| zmtfoyoH;oGFa~Z4@LN6TcUXjkaMT+D_W<-qxzI9nKAV~p3LsDsvI`Dg!}2a5)U>Cn zNTx;`tFB>ddDOZOOf(o_j3yJ0|RX{pyh?G#$cm zT9B*-z9ohk5ZH3LWo@huBiLcP>P@ITj<4s7ls%_@v)BFIg}*NqGVX@it&GnU_49VQ zUKT$PO9$Ds%wh}&++3FYQsB?Qkzj2zqkRY*c3|^SO3ewb)kJIC$1qg9L2|F?zG}o*w#Lk@$4)&5xPI z%4?X%9%|-86VYZ!fIr=ny)*0OL~o!iW#=Ei7!oJpS9mVEW$u9+BA{s_KP;zd{UwP{ zPV&%71co=Uy8HgOb3rcX9JD~V&>HIqd%X91!&f7XPX`F6 z$7eM(9P}99^`YlgZQ|hOK(rygiD2x)+&5ZZoM6oQWFeDxm*fZn?!ChS2stJ%%;=Kh zjKnaInuaXwhl=5y?_q~3V~ z#Pux&=ap?M<%tpST(3qV=RPA4oN|7K`zo{q7N33uQH%`3i9N51Np(dNmjVPaPz#!K zdl1)A`w&qL#Y;rXf7W#GscNpKS9RT2=ZH+VU_Mk+!4ApKc~!fv?Cbb!Y`|zNcNN<%ekS}+W(_$XY%N-_?$W`qpk!?stg2jeVz{LrhzusFu zmH)&Y-kE*=rCQ8waqV5vKd{jF17qYG-TGqJ1X)>t#Zxnn4^n@<%M{W}ueUgMJhh6K z^1V@@@<&sQ*Hx;5Vh@%_6nf%1rjuY`8q-r7HbY&e0w=mqWGC3AlpX#uf(P>bLm23D z+mnWsIq=4Oh9o8n%J`s?i9DDksVy|zbrd5REGR~wO$4C>ghCc9D;eoD_Z#M*nfRlA zCUc^otvY%Lf=T#?H7HAOX>c`G_e%_2*65$lEqf>AAyG+%K^z8f-Mue7Jb0P2FMzm0 z`v<{O0>3w=cNjV=w#Yqq5z!3(@>3l8F98bU`wbxOo$dC`il@2^T87FQf3{t|jG7n_ z=Az1NB2^3Y)EGVo_;U^*6Hl{VuH4T}2D2MW!?%1>^-5g8?q!w21GwEg1(bbP&Hpv82bqp4)`k%kI*P?!DDi#-8TnU(d2^{FvnH}0U z^PiE>hRlIpZR$TxZ`yk`*O1ARSuQGmW^W@ddK2LeyLJw5MdSfqlITU8sy`eFC}v;h zTC->g8>q+(4HmP2N+oFr1j#&2OrLHqLMAJ!iXZVGInZ-Kh3mOzEz7}a#>9SPufkOY zmu9&=?dg=BJik4zrtZxJw$3WwOip0q-2EK2-Z>e9OI9lvywF)pFJ8!O>$YYcJr3xv zcKQ`}E{yH2-#KfsSDmQDQE|MvSSGf?U0&~6Ii^8zwC?70jAZJY3Wh^j-@GM0Yqrv) zrQKduI<6tkuDzd~nE{Wzo&LvUIh}rLpw6~Co|Lp}cely3SETik>BkYLPDpvyB!Xb*3|nY+5O3`ouwzx|~6< z4sVC~BmEmqW`&;ec{$?bWk?-K(4|x%2St153S}L9Z^L>t#7*RfnWdt&Ha_};(wgmU zI&*8PBiE+nOZFR{7tOA`E|n?jYe%>3N$W29g*0b#_NduaX7dOF$zfN4LQ3m)ELu$u zL0^f+e3j@c3@nh~DIxEzSHGmoa+}$vb6n)%Ruy_2(|9n1#GU=^+4&wR;jQCzgN`_B#t+@`)On3Y&r- z45t+OK<&@mclr&;_7Jf@{_Xrov=0Rh2zN(I_tC$sSf6wDRHxwhd*j*;!L;9Pwzp7J zHAi>u7dyGwgbTTN{>6t0FLTt5i;M62_H{)Oz;bX$c^Ji5^rO6U{gQI;+*}-OxNf{S zzut1KkJB(P`6tY2bECW=wz#io6f>S{fd~gzE%whs-VCnPN|+OqrAK46F`@DnWr*j8 zqk-;Zsl+Rez%a3F{D8ZNt_ONsjyvC;_)J4K2`^Bl-cLb4kSrT}f_)=-rC6!`{rKd9 zhGvTFBdfrVRpNEl+znwG7wE}@N&5w4Vbmk)WHs*p0%~5uS zl*4+NUiajhWGlmBE0qf;GpBR!fJS?uruur-CDQH+FH;DgCgGQJt*Y!4GNn=s;ks=k zC8u~zLU3~JsypSB2v|08gr=+8TJm4_;L(3E`R3(+jiI7D8=9}yD)+m*PHU4a{uFysx_82sXMH_L0-{mU2ik)BA2XAXJX8sP*hD$1JeO> zW()SIo)@TR`=rUYLO7wtzi6<|dRjSKb_Me?TKop)C}ZTfc2P0KJ#y0=L12={%TOa` zNwyII&2`q`=r4N7Q)R^2ja?E0k!Eb_)tb715a?>`9Bo4I@OF6e#6>=yU}pRS_<8mB zG}-N;906p&NJ^YftrFMC;h{3sB*ioSyZzId=6IoNuL!l;U_Dp+<5fB>L4p0m&@nEU zwp!v3JB{40PW%?urNQACX3~2ve<7D8wxV;5YvpoRH6elt$K=joFKY;8y4XyKau*(k z*I6v2hd%nOEk$bJ%|{hKetqGa{)h3;fIZ(4b05w7EQ&-r-^l9<&4oe6eY6B6{i)4A<8+n*)EH|RLd za^1G`X7QxHAk}eL)ORw^4w$zYEJ7Hpq%616ubcyis0z(|)1-aq9&e`OmuuZw-ESw& zdku42zMc;;xJt*gerUYZ^ysv9aY7+rZzk$gM2#L$IxLo#Xbbs@K{*V59o|oK70vCX zBH&f+)q^YTDczlXzIUg)=g<2KuiQP@$uOTgtt;+LZJ2)yVAA0o+PEqL)$jloLE4OI zt{ke9YPF(HdegnwYg)_!6&d@tX&50B7FZGWCH2xpll_(3l!dT;;fX*oN2Yul)Soz1 zRfSDNC3R|kmGtdm;3^@A?iHNgQo7P~} zI+NI#I0sl`wx8o*I#x+G_9C4rx>Yb-F)ll<%zvyt9)SKH4KcJg{%8aLB!EnqAopLI z_~Q4`9{S3G%W=Kyeu`H|YG`vJ8?P^ZZ3St#$z%LsAP+rG4mYV@cI6n_T3TS+^9G{& z_;N&t%fFnj1asshXgGLBdkbY)F{SZGztT9@-6qU1&)Ii~o19t_b@|u~HA-)N$K4C| zEoTz5iO%@qbE}}l^v%yLN~LN3*#OEDni4RF#9f6HT8mQ&&ajcwj8K#`zob) z57kvYg%IL4=>n~aaS7UKl1&7~X9Nw;)dS5>G`%)NRTQXLiNX6@Z zb9&m!r=#wl+4FBK1J@x^PiBU@w}I73AqHpxrl7yk)M*|QtA1nZJozC>Hd~L-WR`#F z^pMDE_0tJizkW5$jDCKVDC7XzKm7>G)~kNX{`C?|{UpB-Om>PC!ra2_u%N{u^cJP^+)3m>V{BJCn8)R=~~ zRl%a=W%S%okrqJBJH4}_&>B`F*Al9TOAZo71!<;4VA?=B(8qT{MCyZ|z$9&}68j_S zurL1pzKaFeygKumF(R|axiO_(bCxkcUSIqASU;YHMgK%9M2(mads#zV&{Ez>yeXK@ zUM+FT@IaPME6&eW5~E8~f}diR`c~+(iAew12=67KdDvbrPli@j^T&_y8fc8$)Oc!s zJ&nzqs7mw%d8`@>+q{-@9hJ!6*BfVjuB6`*OCmkSA(P>-c}X{KD}X4P|2DZx50lvC#JT zeDJ~XN>Sx8e3*<{v3F*7!F-xvj)YQQsW!Gksyy;w2rih3P+ve{13&s_CiQNGXe@BF zC4r{70YoRIdn_>k0k)(1I8(|X9$Q;bhr&rC^ksgY7^RUXWaoWh(9~7E$u6q?euAq0 zB#hY_gpP5vSTt2U7<8Fct}ifE#Y?z>K-tM&ng6c|2qbxl1QE?;9ttML_98`3GYCQ! zvvVK`a<+xSWi^hVjP_%b!5W*8$BHk1L!9=dn6Igum{;1S2NFv6v>^y_*)(-kqy2b^ z*qynuivV4UqGwXOO- z{br9_%eydqKh|WJ@}v#wSf4fxs9F{BlI%;5G+APXz|mb}b425$--f*?#+j$8i*28Ar%TMP7nZaHEsx zp^m$KRq~dqlUnOs)f~4uZ6Fs{!tmoKbU`--n35)dv*^%lWKGQ#V>KOGaA_lpunQO^ zBG;Pp`Q?3nVdn2*l83izI$-Ytwo3IqDXh3~9pF^f;_m~xl3-F_FFxT)aG$3G_J~%3 zw=J+;*~^vAhNwvL$>Qnh&g!k+=a-Ea-S(DqMdtJSSwVis6&Coz-NVE6hPpP-GZds~ zO2a=lDhU}qvC9G+@&XD>@};sDnAwhpGB*f>n{wMp5ZIF7M+^k&M4SvBq2h)9RI94P zPA@jYn?%agHM|$y3+vnZYyY970W}g82T*OLq^go4Nzf(Py4C_PEL$G7!hE?|iU`|? zs*S+ij_YrYttQ#>7X94hVFKArR(E-yB4<{1i9sBSqEI94!cGGv4S8a+YiDU6nbPXy zi*nV&cJ?`XTFKv~?6qX@q)IcBHu*7HR_9&xNeawbaxW*H54ZL|9Hi`A2R(MoJlz6- zbmeW>4q%L%}GmqZ(x=_o=J zqIhYsSnCjeEj28t`;&ZE!_0i+c$LTK#bB3Q?U}H|N4#*8vtv3qJg_=lIxC483O+Pq z7o$_y6VhMmAIC{%*i^%8qZ?cq8(5q~r=hWCpsb=kthb>tJD0_Veyq5j{hqIh*enx91B2C!fRm zTF5^#^a%()r1d@;$l^XezFz+Xls$b2hpG9{zlvvuuuy8C$mA0sf2FH(8L$Nku)$j~ z%*|wZ7*QSXf^33nmYWi)BbgVOg@f!(78%-Yu2RouyRoN~)6H(^R z%Gxv)_?$JkI#q0wGY7gR9j&@7PN^>6W^1~&oCudwV}KgvO3gTJqMozsj?*&u8Wf0K zalqOBqQ>QMd_^tD~1Cq>!b&T!bb+Zl3BMXS0 z_D3x}KRK-1%zq78t}veAm{v9Jh$g8k`+@>BWR2CD`Da`qWgCtbj=t$W5cf41-mO}R zSUOxe;Y1U3{anFYb1-7c(XO8GF|r(=twhCt1rM92L!1`*+X84Nr;RwpJSVxue>-i4 zph{h<_WShsen%Mbv--cdsbwT=GxxL1_5cr zqQtASABZN@;hAT?^ylS~&b2O%mMU&KEa-$n+kL-Lse!|E)44FqoYO8z16=Wcb2${& zCJu?DXs1<9%)0tR<&}{E4OJ2>{{8`aZ#EjD(5PU(Z5d3`A|0m?myh%p)`PD^G8Vj> zJfMtWB;_ZnBRh$3I}eceF@K!8C7oO|W*IcFXhuMp1*6(jk*b_@`p;4U_M28Xi(FXN-r)AuHdm)FU+QqG?LcB6F_C zb9|=AQ^Y+C`x#RkBh1iqi$)Kza*?A7@2v@2kflAly;^8BT6+ZFxRYI_jLVl;W;ml0 zd`(ZKJ$n*jC*{Xe2bGh(6UN!$r4vWgWpe*w-Jhu!HZt?=4ZF(cAu3n3c-PaxSk^i> zo*?pwdRUY3c#EYNR0;maqe5@&w7Zn0iZW4z36Q&DH98BFm3XMRX+6AFy{$@^8i;zhKN0R$EoK zgYHCyO!5v*(uBjdn<34@Z1m*#QwnS}dK;@7N6OIR-6axt=IAjh-5T zv-ZnsJzpCcZmupPTFtM~#-%1F&d)WQb#F~0@dd2_6Y-SO7W=rxPFAxlkMB9eZpRZx zPD&{Oc3w@Tbi&_}HVDO6ig6c2P~{#{&WF};I=g)rUwT5Y&9b>1A6|&Ue!1|=>zANO zagOw1-g)=5o}NHDHE0I7p8YRWNaLNW%j2E9dI5Nr;guoVKTdLU{yRVf?|iY>&X0N7 zR(yds%?7>=iy3c!QONE;pjH;NKKgyxO&LPA3Y`)*3*ep4{dd4Ii?E&UIAa6G%;qAT zj&ATTt;Ez9HgqDS<0Q+lUjNaNKp^=HLL)s6;CgZOGk=}CMMOFTLS5O z#n8VtSroS~<6dC})lzuT+Ho=44`duVK!iVOa1>VzHRz| zUv5prLHK_?Ki zQcmH2iT@9L)4cIb^Tt0kw+nqQqX6FhT(8}K0!o86xR);!Alk*|F?4S&_eN%6++?U+ zdUPN={sU@70C$=afO|V%7~VBR8R+Jx^R~i&2jl_V&-|MOu&#^kN^fy^RB7fXVowO0 z0gh+?3*UQY|9j8u|FdUCzV}S)$B9ACe+P*C`)GdDBeu5a@}S+(4}tZaJU$+~gc)v3 zh9wL$(B@Ikmu3maPxKI z$?@py?#M@9Etu=Y^0s`Xz0M>WY!hK!`^zjiqZ)_qyCYtpoFLHRx*pG2o>fXKdAj>N zVSRMmyR~qc<+Nwjy1Cd1I&j1qu7IVc`n0@g>%%Q3O$s*7%MCwC_@0{_6`lSZ#f+*b zb54qCgyXHe+8bqx0m zbTB3txF#-j)YpypHpA8Qn>cvqhEwV8FMmX*sD=1#)=)olEC>< z)=Rr64_mV2kzUIE zCTYk*dO|tQf2%fj56BXjgJ)h7=d^0$kp8vJ{HXnxiuSL_o$%@Hnouk2CQ_Bra4a6S zfc2vG%S+vBp-Ds!0u;XqX;^cj3uNX|gF%JUCP9ur;IwhFJz2>U`2uuRoPBmSvws+X zO9+u{#_I|lE3FBKM+vNREWNkkhs7ykj83INAd3s!>N% z!fQ#1jV@5nP13lW?67;QRmXRm*|W7Vs??7xp(gD{OeS9*7(@$|?a?Yed>(iz#Jo{0~s2V`y)ezEq)RH#=xR963z>;oY*U9P z``PhmwPt0#hK|}AXTK$R5%?0QZQ#^%7kOm&d$o=N7irZsNj8SUK58oHd_^(7WBm>o zvwaXpZ5kWuF^c%`kjH#Od$1g{R<8?Ec^cM6%%g7Scsa}uJ}RD4_=$Bwa!eN*?QV2r zZS(bi4qYqJMd;>_Armm921AkxEWylGRr@fZ;d>4!1?<9ODPey*dA!cX)#}^sXsWWw z%7tjNDX~bDX4&dmW1O{aX6}(M+0fM(NSwJ_J~jR6Yc7t3T9rl?$jRYWIu>wKdeH%( zB;hvix-@L+|J@uFFa|JFh0{#58j;B~#;A;?7o2D> z>R2WT6Rk8CC-zL#rZ4?M0_<_&V{yGWAs5ZT@sgiEpWmlYV1x`G2(2%yO%#im@zBQV z%H)0@2_%X(T_wytc`7{T9sX^*_h4B5ljRx&54#px>Qax)!*Zy)UJ zG{BsezlCKKYjYp7?``HBra>d&+VztjwK1Pj{IG@Ve_``$qWQ6wTxel38T&wsQih zPmsZu-JnoP$?}=gL{kCB!U1Y1l)ROD>%$vvlRr zHxr0Dok)Oc=py9wr#ovMr++X1twDzdirA)0j(@97gd)$UA;O|a$AcCoHB^Js+5Xf$ zVybNaz`agOo6Cufwaze%vg#-gvcS;|V%cKM!eQ?7vX0EwVX%GnHc0d7Ol~v00a}CQGCzZY5#bfWdE}b58>Z z+SZQ259c;bAN0>PW7JGC%-oEnl%$kgZQ^%}W26kH2QE*D(~~5mtz_Su&vXc;rSc5>ettJ&;#KUF#pB z!&AtC5y(4*6uNd<7_AXD&Ov3?$b5mCFjkOCK!epx|KK17!$@%w+RqH@#X{=3ENw`S zkQqL)cO^WOP zwBWoCOI2|EPiV^KSmqeW-Rcs$K<{@Sadji{ceiHY$gtNC1sANlBldYo zbb<5K8ep21YVQK-*q+ZwEUlM-Qii4u0t)C=IN-2=b6#8 zX)IU39i)}QB3>}Mbe5>VLz6i1DX-OIuRS6GnW;*Bx;O3f%WiwmhKn0WQC*zvwl}bl zIS@qvdvLBL-us6r$+voz>yh{ITA(gL}qycbfO>V@nIr!RUpnIA+_8HlFP19o-^zEqX z0KqxASZStcXpXHD&bOhR!V71i;3C!mx;~K{FLaaDjdezD*DrVfoCiuVXZ-jzMMq=1 z*n9Seac0d*yPF*z5?*HRmgUHHk)&BWR!3WqU`Nx<+hbgaR14`VY>P%sT ztHzh<<6B>9SqKadZRS9gRwkmYY~e=Dig&V#73-b(DM-F*cV_pXk+BeQmxU(T4=20i zBeaw0pi!3auUBe#hz%y8SXXBA~*;&47 z(O*qUSTuWwaqLC zj%IT23CFeV)ckg?!edtnRHAHFtO7h-#YP#9s)rfT=C+C4i8{fI4P!;lhEl2VX3hzV z6vvHyunZoqZZnONrADrHvkk6_=C-(8yAPkyWe7K<#7k_8+|^z5z;Ydkbk@3s573Gy zSXQ;pjR{bFAjyzv)Hjp9mk0FPFp`;D<|zO`O9~HnwwLICpgx_Ovye&!GEB7y0I-~# z?H{1GqmH zjFCH-4ZwG!Xa?MuO5q*P1mNqV9`_EyvAjxrdS^C0jLT;JwrWj1kgrS8yUCs)&jh*L zN)(SvE|Ot~tt|4H)b1kx2;jdu;2Oni1sbmTPURAh^WYM+J}|xX#T)u_K7Zd(1f%xK z9k4zLKDX2(RBsq9pGz;_xVH9&v}!3N4=}1PVc0s<7k_b`Mf)l^Krwk;W=b*zDef}` zu4T5SK0HhX(4&98?ivmv+C$TXwgjQ^Xx0Uxohd`oxYio|1G{w3CkBH6^>tNxyh?XB z$1{V$^!eUMyvk>>Z%lr$k20+S<>Sl=v6V-!0O#`;{2vCs+4_foe?jMZE&w0zxUNi> zdwTD3e=z``t?XaM{(-#;AU@&IYAL~HF7f5KIdz!hc}D z0!VZoUd{LSZL_clT!5X5?7wrDJN=(&1MXYE1^!*NjL{-czDs#Kykn(=?}h%Kxp#p~ z7wnLg1ayz;3aM>ob@7$~iS*zuPm8NVm9N0t0c2qh^iLT@?)>+j^TzX)EokqEp(zbr zm>#fSsu8@k9gGXIb&Ldl*Y&vm6ofsndi-+Reyce!{5{pZxz!D;|3&})&K7TRVr{!) zZfRdG4{vv1T$HT}zp(bAQRVIL(wE3glpg}-$M1K63eNqw*`8WEmvYk6a)gFB3|)O; zm#&;YSaM-3STuzpN^5VLr0o$*6IynD&DQ3^mSo}j$nJXLI+JL-(X!U=kXE3+#AA2S zRpqpizWyf(Vi6Gbc=y{Lq7(Xgver{^C;5z}0?W=>Q+xH+N}{NDQU+IT+#U7Q@8|pB z!{i5Ic$Y%ZbE1-%%ag?nVu?zjsBjN`{@ga)x|$WV#Z>wfr3f(EfW{6oAMs|Te3f!L zu7gpZu6R_MuA-D$FQ9-5jhU^*MX4v4P)K%#booipnlazpxqxSaw+Rj_nztRo3jRV7PPLO@;oPXs zFlCYVL*b2Bb8eY~OOwb98QV3bdEvoEG%x%the+CJWDcqqGIVqjR&She(sx^;`})mG ziwW!OylN&Y_r_%k9OW>pdTu61x6&|;` z&?p9&tN?(F7`6|livR%L+gslYIqf0|I4O%Exs{i5r`Ks=# zeN?~J2rE$IC}G=%bDc}Yy@R)G*zXCB@W6QOUNn1xqAMoB56 z`qzdx6ksaF@T~`=BxL_ddP#fMe)~55fP_H{LPr=FN0TKPPc-4u_*H)R-vn^r;vn5u zu^JN>;)_{Rh-L1cB94m;r}LaKoJqHOpi^oQ_r-@pP5=H|Z^#A8Nd~}fqOoOO>R!Ql zaf7qK_Vz{_l_4e`weobUGw<#iG2Lw4BKR(f7faOD59QKV0)SkF;trAN&S@^jtnlX6 z7oax28*KzGBn;|0b+?pdJkgx|jRP ziw(A(0xGaCHN6D?(NjOGzi;A$14_Ksw*axkPoYxPirH($)#uHEx5sFb!xBQ(z(UhB z8{FYHkpW z|FD{p#GsBZO^i;8DH3jiPf33rwVy+Z5{6VLM~bE%fm?u(=X-eU%`l+Ey?vV7lJg3)2k16uzkBfn}Q28U#?=@Z8_-dCCiE})a z5k0zI3)v`+|58hEE7cjxn4nfcM}zWDj*gNyIi-r|zpk43SJP&JzQnw_ltuqf8AsR9 z1@9F?YVbt#L{qe)9RKo4fz9)6j=; zh_~zV8s2IPWE66TMo-DlT~%yk=@QVx?S{+wv-nsWt|jO2jRNis6VD3l0q#Kl!Tp>{K3JgDeEW zS?ptwl{WaHbWP~;17F=;f<_)AH9i!5T72+%o4t(*N|M^5x$@*6BaN?FNOAx+$^cYNnl(#p2-2>D@ zYOD+0rky;TI^YnSV+kIe?ZWi!NKE!!I0ibrQ22~hHtXB2e(g}k&sbM%D<^nKi|1n6 zw!_YXI8@jtc@(ZL3dGm|6x}8&y?v7Sszs|G!OJ?V>haxCqTv5DbUbi5mrAQtP_hEC zEbEv0$)Z3!{u;Oq^he`>nFI3b&)zcS)VMreP8L9~&6d0wdO(Di$WZP*jo@%etlV0p zHBeShq--^J)8JrAE+bG{lBGi2G)TQtfW>Me>bLFQ|5c^4-))whp0p8r3&?I$Rr59iXe$d z-%$4uB}igps)rU02I5Fma(QwhI1f%{!_6><0hI!|Uz(Tp0Xqj&!{)?Ej~wCh56Gtp%^YTd*nWv#($6 zddWd?$QLgJPo(=hJt$Rx@HCjuzE1pwLkm*q4(^JLvekgKPsZS%=0_*+SstgdXS4uR z!VY!mFbCkcaG0A4$Pk9K0nRWJUn;TZ!rVWPUcOYd*B z!yz>_^O8ej5xG1kpnaIn!XFBEX5&|-=P*$Xkw!<5hfGj^DDCH2Gs^l+T;9i7M|hl0 z3t7B2oC?zpL-5CdGUTIGD>gCh>oLEZ4Pe;Vfd*GMI*Wl6*Yxx?hX?M{KGwRp#Zbcb z`E|XLaQhlVF(p35{q@B^``zFpS`rR>FNvTYBZ*o;cI(T;FI>IAhdY-u;^^n+GbB2J z)=h5XN8t0S8cshe*jFh*8w@|h@O}-fbQmTjsK|1h#xScmcln5a%kSg3+3DIDknbih zoFBG6PqGx1R{cmn)J;)%)bgzmeO#1ieECnEpY{V?;5EP<&znIhrFCss$D+T6lPe%V z-yu1;yx$$fq+ETwb^j!Hp#1m+GF$n=%um9goO!Tonxm7#_3fT#6A!^^oNrWBNAae}T_J^QHU?*|7Q|(*IKdMuEOX|7ebTN@#_~~A!LYghI3&d+U&W5I_^oaE99mJI882EpHq9;#N|3#Bcp5~ z@or|={v9^x#2FoLlqGWLI49ciTuB#_$d-klzO|nMX`XBA8`LoCn!;ucI3BE>=N9y0 zZV<}bwC0by?BIb|HE?pcld1hw6p*Bk=EFM-PE1^FW7&h{dZ^oS1f&J)Vp+NX(Rg& zvlJwlksLee*3C+Uk6iNrjnD#u73;G91$F1rrZaD&FP5Y$; zAsI*AkaZ8~miB+65MZtSAC>+8qr)eo&i>y=YUBTZRrWvcp8rYh{|+ONI{UxlAfz+u zUuxRO{?i!t(kwTe0a)+(A}7+eQIv{r{EqpHGjv_22iC+W7xpsr|o;P~gk9|2qr~ z8twm%H@cfO$XONj{F`qn9BIHZ3N zQR2)NbXUt~D{J+qT#a={0&cN1V5c(vqUXHsNX9Jy*qzGwKAp$hIs9KlYdU`Jsx4Fc z_tKKtL04afa1A?mCRJJGJ}kFMyDx$VNY9j@CKv$llw?XyW?jpC~>^K*N`|DI{1 z_|Mv&O*eqA$NyH=e+>`2`Tu)KZRUT{`*yxm;LkGn=Ux0&RlzL*zAx5q>d?RYOt-TC z8*Tt!Xa7gfR@Q$FpA9?ve;=vM{Lfco|Npd$zp5&DC-(o2g7eO(f2nCR`w#K)y`2Aa z*scG%m(FW zJVZBh!Vug8McE9+*uTbrF+D(+b1IQcVtWzboP;5og?xe{Z3!uxJw}3rSkVR1Zty(! z9J8SJ05LK%H-9{e1)0+K_CibaANwA9$HFDz48GJX>G2PRlo7Azy}bDCLK%incocDl zemS{70Tr_6&8Ql{|81ST$sb|>|921Ovw{Af`zaS}kP(_-|2m1$l!iq1zVqZw-22X( z;OpLZo{Hk$cmHqi0r~|C$`grBU%rw(FBTjwf$(TR@WA8~{9nD^1EfW(rH$9gBX8&p2m6nEm<2^1a4;vr@b>Eki7->tN7gf? zEJs+9XhDR>#cUvB;tv)Fnx;2bQMm8*dJi6;p*I?N!(Q*Z@6c(a4Gv}sefOQQLH2$x zcb`tyF*51Q3F0@52sx)Qig-XmaH4?$xSz z443(kn~dmV6ya-vWFp`qACWM0715c%iu4UCFXvZKNc!0M>-vSctwy2=nVQ?Cq{3n7 zZp+do*-C;qoHhi#KDvmBPp3rBf7#$k+1IVuohWmC=C+ z+?``@1@dtsiD6O*E>MubrD5heo}9#geQ|k4g9cXTT2299KLd>|-h-S zniJj6j2hUyg`NxWnqk|p94=9W#We}+t$8pJgC-%34T$z?L{RVNN85_^ zXdeVqG;7k4f4VLCr@7u^I&0d8bg_acv3zX0{*?M4d3Vht*nt~87N8s5t>K<{dus`1 zc_Xa9z;-b=x|vgd?i#~2>yjv_&y%fNJKYM(lns*7xa#iix}Q&9>PCez5PD3+(~b){ zsk=K#vv+$F;;Q^&RIc*v6~b2eiRnMTK6oB;l`vh(*=`|lzBgCMM90_b2@9_3f)@-=kGD-Xx9`St6AgTrmx>JZxMWUf8O zQ=c=#&tG*vv|66}5a!xWUznyiJlwYA!+j53&M~`2OP*vyi@S4`a`qVg_kuE?C`taq zHroqtxY7?XdKmM-+*kP!@i_0&>xdlzFrt|rZL2?{gMF{pM`tN?4^1*7>gw@TNTs?m z-TDfk<12LKHilj4(hnL+@3$%a;2;g2o?AI&n)8~^&}*_FVd)Z9#fw51z1Y(49=&)0 zLiizxV&rb;$~#*To`JF?lAx=h_tYC+Az>~8)M6NJt2x8NeXppeW+oP;*L`uOFl9vK zJFL_m<4mF(F0PT!g&@8PmmrYa57<^9&zx0xRyHa&9=Lj|iM;`r;ese@>cG;x3TEUA zot#7Oc0=iPCl=4B&ciQ+hRmt$)!9C}Au(lBUihb6nSI+gxPJnhu!sW&PJ z^rdZ9@TX0C;+gAHph*uUy2=>1g8mx|5>Vg37&hRQ9y$|bL3tv><>PXfyn(B?oeo*@ zSBB}UT*1b1^tEe=7X(cN!Pk0pv0m3>3!W^E3v+V*Qf3t^_Y-?n9)ckk&9O`?s|Ojy z(G-WEsH5Sw9cB2U>^10kJ>OU03OqB!xn65-({+jvC845mXd}ujwlN!6G?&|k(IXQ^ z8`er_OBH9FX*nC081CQ?b8#jxv~71fdZrmV)6KJT^RP8$5M<7XLRd={VF?%IyDQ4w zoF__sR2PI&kXIovboLx99`4KQu6LA~_ z;tEYeW9;~X2tfm4AUjYb8{(VXTKhC>`g`(T3H%EWlSq&DitBee7RF*imB3;N=7mqu z!sJPfY1Z3f9+W7(;R#c1$e{>wRuE0cLR;}CB}=dWl}Hd45a>I6imu+iyL@%wsrTy2 zpei}=QhUR?2d31DP2KCGH+(??)5gC2$TT&cX;qUnAU+nxKS<$Fr;{O_K;;aWRS=Hg zK9SN(OSm#O{o0{4y_MIf&+3i9HecmUzE?TSEL`d$a{0_1$L6-uD+6BK6zSM&xgmpb zrnM}PAaO{242?2ElVyIK11Dr+uotbp_SGODk#@3G5<5jbC@5+!Oo7knbV`I4D;PZA3$7%wahPtNyIWZAZ|FkY#SHPhHcdI+7Fh)0kq_^~}r?4d-z zy6IC03RkEP0`ALwO;9_RT0<2Hyk74e^9j-vK`w>}*~2dZ$wWOy)R1I1~g2OX~&0R4o)jum~v;kIk%Q zR=A0iVTcq&2}%~EmkSf^jHGmNV!Ad2p?~lM;xDEBfsCpoSom{89O`jpP@+O(^m>;S znp;sh^Fb;v_er$u*M8B$KfQwT6PD+oSdf`QYAWZd*ZV*J(bqwVz!6bIn0YLmfTl1a zU@Aj9NB=#cis6V3bjw7fZ{Kp!pK{TM;`;snKlIF$mW}Vtf|WS;_#*;LxRgGkm&8mj z>(IY_`iS6CbM&$I5%pISs(iXWx$l7Pl{Osjtlxa)%Dpggnc^@-O<^u6b*?k{rC>C~ zljtM5+S|KAhOS!^nxmbkt6#UFY52*}H6D`z4^w{4Pv>^)f5Om$*d#!F@-N~mSs~x6 z51)#3kF)#guh2)7`?&$}jIL9Z%qw22EEQbdPJ6aZPW#s8tJcn)sq40>ZMjAbVjdK9 zpjt9NOEZd@`9&YLA?C2lG_G@lear)Gl(%jXqgQQO5KprDa7NiJevDqxFH;xET40C_HQIBP}YT@XT|tv@FB! zIoO|0VJU@Oqd|h^iol?^w!&FO;v@_Wj(O`A(Ik+$KVw%-@)2E~PTz8MX0XfJDwQf? zVVsKWdRRtS2)xu?9lkirKCl>gBHa=rP0Zm|hWza-^6Niaw}_E2Oj=kds)8W2h;{<3 z17Dafuwl~fEtl&f>*}&v5wqxE<-3pQ?{fm{zp`aTE7iFJ3;YpXDUno(c3nj*epmjo zP!X73T4@w49r(9f^9!?Bty(1Ov~R2Rs#3LzvqT~1*MLa69RVvdRkyB4VVl*U%J#a7 zz@*e$Hx;$6BI%k2Gnb{AcRZ&vMMWd5{q)uwgTLtJi<{S+*6#B_hVAz|okQITxgpuQq$rmd?2Vr!_!W);!C9xrpg z(juk~CU4#b+l7K!o$?*S=Zq0Qoxt})E{RlVM)*wNcusvBT4IehZlj9i=j-YT=8@E& z&tJQ)V(Mon@d_320O^u*SeRfewx(bpH(0t1{R6w$#+i(t&tH4Dt4Kr?eu))sbd%GH zU=-n4S7T*ne2z2KN@vA2aRgK0)_zq@hr5-yRpo9FSlK0yHIaxTcx-bO7ks4?pa@Gz zXDlL2tuMBH+BDR4T!NEXx2=CaMMCgQAU%)_CV{;v zcUqH;TBM>P*X2RcRs>KJ-ObY#UF)i`W!knPMtWB@6|oc4_feOP0;`o3*wvlg=CV#Z zEOz4olKz|o350`pkv8q@FVjWlKfoIEmH6r-dc|OM9)@0@eqLeCeN0{lxp>D1sxN1J}BRUQO*jkOl^2}jQ zkxI4ONk!VLR>)^wNEReqJ3j)s46ryuSb69jgBE%ikV!Io_!vE;Y|0-#);{_}*u461 z%QgZ;ciK2vRji0q*uPc+`{Z?Hl}Z&61XgWkUzyz~+|~=Kvy<9rTck;}^0jnD%#jhz zC<<`v4wrC!!nTRendBjP3`_8L3u0@EEn4JjT*=zJ{?n|S8kj{S1K6Io`}_Y!!-LZK zF9)M%N8S3*dr3JP4R`oqMP^(q$LN$z1(r%AzDfk?Arw-dFiGSX9mm+8lm3A>ESw0q zIOt__!eeycjfUQ+7i6n^#^@Nmwkzvl5u@4fsr}iR;0f#sHmat(IrY=SGVEHmbRi!y zIHXyQYWMM*l}iwdz|jqogj26K=TYuxD@z9s%A>w!sN&5a;5RJfIFN&o&$x8&`Vkh_ zUd(2_YqGrIB7lSc48OfTnv*alqSr_6%*VdZgLZb_eAMsLqaHw>g_{`FgYsg^MryG;(gMXAL;w@P;D9@8fF-(Y8( z4*=`V|2ug4w0!^T!Kl0c=U&nSbi(7MptHFunxO~i;_T)B^j{mR-#>+U$0;RZjE>Ka zPkwv__P_Vw0ZNUFu|y9Zpi{8Q_JjpEO6TNsaPkr<&O>ProPcdqaNgeo^xyKD#>gHY z2+K2j4<7XLznz`ygGP2HYG-Ma{-2!&{abdfh^ON1?td8_932f;?tgi5(DncONFP27 zzU$SPfHnr;yTPYVy`H9m7Bm{eT=kTOM7tQ@M_Rc4oQzSHt#?jTA{fF*@~J}k2^_k|R zk}gLVfj*+&6Rt@4t^S;_z&*YpS}VqA)N?QTtL-?)BG{@OHG#WrM^l3S#0^UAn^9A^ zAR%mOza%2E0`GrKZQ0OzTQpqSX1cTQp*_=E?xY1xlh9O)&Ji)hvV3f{^xghs_!Vv!9;wpQ@Z$5%t<#7VwJ+TGD+ZXbPx_#so-lt!!2%+N3l|03-S8AUpp)G+Uv6AujLv4|gGo-NS!&&dlx<(o6W9Y1p z%1UQ83wcpqO&%eua|I16iaBd%&;Et>_j4CkjD|%sZ4DaZ3OyoGtd_YZ-Y;iGv7k&% z(O%jb) z;}#Y#pJRX3cPZ4cTJPYSFHwuW{WGZ1s=fI7)JPAD=I`8yINEHy2Tyr-17X2${?iYH znGgT(G7xSatMsc))#n@Tp69!7Ya_M2iK;MAw;bhK8>do{cWjv2j%c4vA8H1!uRtP&>j6$YZ?lAr*+pZH_04BI!ztWS;!|iEcE5_ z%RG&I#)e$|TsANtx!=yW^G@=7{*-;~IV!GzTFQAFVoTXg39SYSv*j}uJQmcP@$A<5 zxJ@V7O#3pnQYznviz+@G&;O@mBMi>cPl1X85j}P zT29#q|5k#6+tH>;*j}UZU)-mtY}G%9kleM)?F8g<*9gar(Qf;G{i_^>G*^o(F24CZ z3R_+9i>(W;8g+IuSanjn?;-yDhvSpnK{xGsmAQMqwY}NiEo!>#zJ&;zKHr@v&3z*+ zU8P_H`E9RyIHsA}ZzQ^!FLx)k9v)blw~K*z257+&rQ-@zqW~=?I!1*W?u`Dkc65dSOSuxZT$ZB zcQ61*@Vg|-U-H)4bGk7J4hDl6U}i9wseI5x*3OSNHys~HDj?s{T9Yw z8#=)uVk0=j7&YU7Zf?+!KqY1cna1NRdBGJ?cfhg~qA~i<1OGs(0+7y&#t0*q#)70H z91x%g6cce(kyzh({`?YBVy0vYg;=t}y8#wBV&iR&rjVQ?uA7bL&zH1tRGAZQ;aZRf zi!$z?JM&-my#M$|@A)tP`{p0dZ*HEsXs19P^aTl~vxQsdHo!h@+;(^V-!=XJFbB)T z{{Mg7_kRxdU%V>$|6lAMJo*3c<#(U{f9UISlCs%&qDwu4(9V)^ibE+ADyyA33QjQR zaLqEy*#!A#W?aBxFeIv-?>JCpeQRc=Wj01+w=4H=SPsD668^514RoqOHnXOfeN|&mV{i@rcs@{&7B@=wXE>a z{Z!2f_KrbbW-JhylNjNVASp_TuCszw1z#40g>FPEjc)WMQ6OkwofWD3KdJ z7myN1CHe^>Os9M!Xn#LTAz=-TRXz*JodJ$z|7-|X#6yHdcAGn70r%}|>MB=m)Ss|x zPq4m7*=!gQK4DBieHV3A($j^_xAMVziv7In35|%C&5LfYXNIpa#BWL;>5!d5vnoS= zK_g6~uQYt(tN*R3|3Sw24e5U`2QLO?{crH{#gqPbAHRFo|1AGSlCmT#(GcS)sZ&2R zr@{Z_F^KTzIb*^KY}WdZm=M((xhi_YEeC{vg3+`$7yHY!HdCAgY8xFLBR|6+D}7=& zHU&Uxo12&U2b@UdMz9pN+9Ru9LDDIW)$UM)Bk5I>_UO zFTAEG73<%!yByPyjtLhwI@W-Xk^4VNdyPHj;~GFUqb_w`97%Oca=+pIZ@B!QTWVXL zI}6hSUKKx5wFd=$b%@Kj{nv`|vj6VmcmMJKf73Od&=3b#a+M&l+^xZZ zN4Zo_6D;U3BDxfK6xkO9PR>rV`p~xPzq);E4%NM63$4y#tUclSt^P~DJ7cNH-|4@~ z{^>Kz8*RbN9MQfigUdz;$B2BU9CQ!e(v02yTK1ED-9L?mkKhqxh2CMQ&dlG->ujkY z6m*&w+z}~`c?3zW1w$bnLHZ$q7I+G^eMt-+*v#FHwLcuORH8{^LB^!w>V6{$XZyJ? zbuMuE+8pSb#UazQSlsLYuS`y6?^se1$DudwZR1}MLXn=0`R&pyk50cbIhFT zz?ylrHQKC@zn2qPcn>pMHX-#pNIKL65TQiEvJHDFYNs5zYAW4IAF^o$p8e8}Jd~s| z0BJ0W(0cj1QN*w~d{KUHx&v0NcKAiISdI43Zug$4@C=bk4M|5?$aO$!)0c~cAUMy0 znl0+Io`g#*4CZA2Oha*%Uem?0)z2(O+o=it`uCMXzbdg`P_(2y@I?`4y@(aNge0ss zx1#513EGNut$yAfS+_cQ@0_|BaRZVHZ;E3)h7&1$plPSYm#gRHj~9s3aZEx-en3Yw zkV+Pmd6U~IRkp4sjQzQDPDXjAV7oWDQiUww{h6FMQ?9bVl})H;gXx}J3Hv7n`dpPH z$<1I3QiC_vtkc%O+fCh;Ud<`BTB;_P|3DU~0NO1RB8X;OkW?LorE-~H>a&jK#Y^ZS z;vNpB#O>M3+XDvnEcshg|JV5eHWUAIcu>y&{$lX*N&ml>-~H?VmNL%;jzgS=x-@^? z0;Czuw9M1p)F!u4A60WvwC5YB^kMBdI1Y39FLm21ywROyaWqqsj>#GxppN`1J@f^Q zQa1f>JdJwh+iFq_wRKi{hl<0#-j*|n?u0~BpHGy$H-4tyTHjUsg{X@-u)t@5CZNLB ze4>`z&>JplKGLD~Jvj7{W3Fh;^<%G1u~8Vk1XLJz%O_^!sJ1^dW~J{IhFjY{A8_#t zJ=Si8SThI24zn21>2xNb@&PDrQf&(+s-kxiv4zhQ68K!_fU$GB$Ssu5gJOdgDJ-Ug zX%j>%%T!qkosR^C5M6bRRb``yu>`R>Nli6d)t&aJ>X4ynUYJ4N7DWs6#|%eu zUPHOx!eD*5MFVtbFJvDQbDmx2;cQB5uYB$`Qf>>Vx=M7pKg!XLCe@pF7qTsQ!V?no zeCKpzVu2Nq?81^odzw4Af$nf6Ng}VYZKt_xSaBp7J~1ydUNLPN8!Sb4+lBNj)-hm9 z^Q(ntMh*p~xOZf@7M`w*V3`XG&{V&xFk8Fo+R23Kl!C;;;;ZDvW>=cx#(a1dV;WUj zcB7A?@^(5dTWeDA#|NEQ&u~w<@zOCREjZc2Vs+XgF|DmOAT}9!id`)$I<+cbj(pwQ zTZ>XH)J==jNffbb`&I?8B2VOQp{}_wMV^qT%fZuGB&e4+vdkkyV-&FI5N;osa(msI zGQg?XneB0_zU&1Lp4@(y#*G^pTzSVIqM|LQu~M&dsPhc5>&D)AqOPyXL~`Q5wzpM`%Y7Sh{h%f4w?t*}*^fQk!! zzp?Jvsn|wtsjw=^wMfa6i`?lV`)6B#M+uaN-WDG8v%81y6LrI0#YjkOjN8fz0Wopb z@Z2h@h{kkIVq;c-V@V|r&a@5d^1W#%4AHg=DP86vy3%`mEFn1$&exGrnooE^H zd+^B+2UpiP4f6mT8d0(E0fTR8JYq|fB<+iokp2|YxL+&^xMfDK`URR+ro+C&nbT3# z64b8FXd!p@Yl0?tE(b9uDUQk%<#Oe>lfK<`G)s{~D+)~awor&!$+WH-0u?|Xm-ip7 z=v2R3aclK-a)~n6=eiYym{#IW@{@J-eQax324}xsqp7NXjZJMta|)Q@*Q*NURp*K< zmRfYKtPI@itT`$j_7#DvAMVq_avuxJ67iAE+`nG!bp_rb& zoIhbulT%^e?IAZJ@mNe;G}wbVWO5E6hNx)47yjKEJgP;%!m-FJu0&bMHlsnp2t&<-~!78FD9Z zOvAj|y;5zA?}^Wb+IQZSp8|Q61Qqg=5vI}m_#L@!8ulB#8OU*_GvcGu5vcisDYoB5 zs(iD$&aX}Gm|RP?0_v1^DBqFn!qO13ALvX~;F~iA^L1hl7+-M_kuo!ody-l=GSC&_ zQ0wB(=?LK($&r1rSsbESEV0N=BMi%%N!{l9%bW>~A2GvK9cN%s(@ma!3uFxVH}4B` zp5>lE+gD`K+Kn*zt&~6kt59AhZoU#2H>Dya340Dg`#w6$(y5rC&M7X-W==f0PUoux zH%J@u6qkrr{2|;N)`e`P!1l^x>noC^6Rba&k=^pRiC!8qqUwgVgFf)lIY?x*u!OWk zE3ADt8{cL@;-eU)r8(N)PoKyZvBF{WNwAEo9er5gt$_YRAypyPC^4 zSYWURBgU>~33BIB#W2>y5{|(Pu4ay&A4-tcwRfu{TkX{0A@*y#FmaKWi~?C{T_|y6 z-x+vTV4w0u_?pB)m${+v$^C|Za#6^L%6h0*%uFp&??1(^8MMKrEoqFwtA5t4+p_tX z8`@f_2EL%-;R_N6HXZ)7s&iQP$xF9mNsNaP35y93jEo-JvetC1^O*@AKeHshoB^z! zFO5=c$Y+v&0U2F`hHGI|SHsJ?Vq8WA()g^E!>l?guR1p$Y7$_n#A5Y`SoYSY5}7sQ zQY-bv>$twwDNB=oA<}FlI}y7kDcX_S&PkL^FdFoF>d$wxDM@L720gShOOk417;Z+1 zyhTCa_+&O3MWj~r>I?8x1}+KpZZ@r;*8;NsN>ai2O>Bm(y9P4jgj-6>C}q>qJwPdp zyNF4H;+k@}>A?{dI@_Vrj?6x)4V@)yW3{!cY7y&xKIou7y=+YvY7P8Ktyg(mv^?0Z(ONu}nv*2BBiMoK}ec5gckdPvV+_Z7;GN=SK+_lwh9g;Q)$x1ZNJ znWgqH&p=k>zxb;Aw%xV%9AK2BWKP+PS1l22o3wlxVOK4?g#E#!cSY{*Vs10q5+84t zhpWo;qsY>HcfWPd{{>6&m~15f!(ji_e&ziCDgWR7{2nU*pPjzxLNOD9JHNFHp60ed zHpnlYX6ac2Qhyp}HOLc-wMWF2y2^bm`UT(!2R{~YzwpwIoYM)E$|pKHUsB~WyL51| z$K&>oS`SHKF{^&1U+s`T;2^lrq*ppxGP|GMMkPJ?=J;3@Oha}Bh`|9K*J15EFZW5ACaKe@G z!~>RO*(&rOT&mI>;(MAk<(m6#sCdDxX4j}#y-2HtcLm;sA-U)oPLlS-2-Oa&rd}ny zz!az#B#m*pFb{U}7fjvXtBIX<|NPTMJA(aB&SL#xui#qt)pQgVe33+GC%{5}tz&_n z`R63Ug3ieWwD)dqGBe7}y)JGK?dS`OijIY^T-{p_6Y?!eA7CHJQ_5=D(19YmZ3Eo z89#?yWKM4LP^Vhfd0-eOt(5=y%Ryxr!gVe}WI!mn~Edup7Bge?ddc z$>9s+L00hcR`}hFMj;~c9L;g6LR(b4DOT6;Iw!J36g7)xW~K`-^RjnOO$n6c4~91o z6P-j9wiYh`0VRT@`Kt$PeF5ifuQ4azS3ZTk(JN;WF85&@=Z(ET4WXJM*TmtFO7H4w20Lf2HBKUno>YIWBw`i7xz|^YMn{cUGw8d;^MU%K z57@oL`{D2M#k0~meM!y8d#Z%+T5!CYh=)Yo!b{1V5_K_8E}f}9Yhoj`{SDvNettw_ zWK^za?V$~&gN+??M3N&@m!Y8*kySYG zLM+uS^@#$A5JUh+C}y#zTQ9?M%`rixP~I!D7!>&s0(e*D#6o}N0B}8g2#(9%rDRT0 zPJWONkB*W4Q@1K|nccKJ$?L@@)ho6|v&~|MQuMfA4MJ%>3fDr1z6NFY=~wx!ssCT& zG^X)*ITN7s{AW-(|9N?^|D^xl$M4?t|Bs4u5FWCb&;>sww}D#(kK5G#jOldyOFV8V z|8&lnXj|TEq1k69kaH{dgqe#+F0x8E^>n#~ay6zeDvIiR8i&aB(odhlZ=ZeP6TJWO z@W@q_7(SkyzdL>RwpIH`6nlm!Z4%FE%3^hK60T=8S0L21At^US2qBst5~X>% z7f<%$SuJh1+S8u#;J@|Oe=D@J|7(Cb$8nhArp=&Z{eL;wFW>)vH8^}a|G$^ty|4c| zhL)h$hHdi9*m=oVoT`%Vl@ia(L>cD{nE`Ba4w=FaSs1jr$X7HGmW!Dx-Z0heRGd^k zSW|r}B|2EjL=3)$CO*6FnwFnkPRn~T*XA+Lzh$W;t8eaf9jWm)?vcw9 z*D^Xw*I#Q)m>hxzS-DtUfTx4!mja~PmLP<~pE*g-QZk~SmjZJ|7QXtZ1j)qO+fn$r zF_cGxmijCPgo9eaQl&UNE8qQv3KZpAB73Lr+nIw zl?hf>?PFtU>CS)a;?^lDCUaQJa`gbqMkm@{@d!CX(c+l$C7K+jlCAPRd*k3PMIyC< zTpG}(CSFT!K9tqw-mGr*lfL|97&uGJg6$h@o)I&!7TOn_jB@2`xFl8Q;=V22%_RXf z-z(AF-U^Hck?9J$EXbpmK6?-yb6%FRy6G&w`F|u1`d{_80sC)?Q;Nf3vn#N}{(JSR zQvc)d@Zib*yO-a?*?&Jtwt4g2#;rfYj*rInGXrh3{NOIx?W{i2$KBX`H6&fh;xpfC zaCjyrYa4wfSoJ0!PJ;;*BoMQ-_7ts*kkz~lX(lGkreg_?+-T(o4QAsxW1_)yOs!XL zq1PHXa{D!5CKimDe%$$exB1%s{W(b@8UTwl4X4_o3iXki#N}CPG>Z!jn@wZQBc7b% z4O_UiE^@rkxOm(p4gF)D2O-Z(|Q%6%e&o zAJ>uvw}l7|Let@V;zOEZ?6aF6-kJ4KPx9aUG7de;f*WF{tWb6&CF zWPH)!hJwd$o7rp?e~FDnhb?*s-Y?~Yuu*uFZZW;o{R_Co)CabZ-KN(JPPa1-60jAA zT*Bqy%NeIzF2VGwy~m00va%8z^uTFEo_uf1DjS>gy@B#I z+=$t@1m5fT1T@&M+xMmivBJEs>w9Z}a$Db<2K&f;Z%cbP&eH}Ci>OpLv}VLt0hzVqy=*8? z(Oyr{UR4VpB>G>#srAsYUWJwOQF)afIMPco;8UE}!}yvy_q@${nl`oZcjLT{g#|#r zZXXj2Vd>dk*S}N?bti3CeM5 zb_eBcZs!xS`nns(P(6WH@(x)bZkYzA22!nyD6=lJ_O|)e4OOo8<|)q|9UXmGwo*%U zQGIWX8Mdk%K8-cjW(zAV;*Fb1`v{8abjgTmsHs-l z%Ie2rPsJ%A`Mkteh0^DBy!T+frtTedHBUr0JZqyNc*CwLYltgy%z93%7C^W3T-lTLxZPLA*-=pmSDb|k#*M69*@fzRyn~g* zR#w+rN{Z_4SIot=+T&i9c80xT^S3vk%);(A~*{-=GFkX&i1{5Jj)^tLg{jkJ_Ob*I<*oy-}}TCJwCZ zEUu3Ns|E>%l-th7l}MGj5W9(FH(i=M1uTE&ut4o*4{A1ciNEPu>wQI+ofUsp;30|L*1YaPeQ-9F}ds&>xbjt*>-Kxb7rfvw;n#ZMSK#8^4n^D#~ zIW8x6uHI)|2XK_q=k> z{cMi28>3Pj^j21AGA82nEKNzAI~85G?6|>kn5`Uo#VGktOixWzgO4uR+j#x~r*@EJ z0~)yvgD!J(IZ#a$Yae}zKgA{*@f-druCa7f=L&NLCCNv)JqLf5f(7E35^5-}Xoh=lTv5IfrQBDONM~eRco{!$g z(E_m;zLY4Tgrq2-KK$1_ zn2h`KKju$9kNY{GAr7u)30N)MdG7P;#Ch%y@s;!37t_Rf{(qb;^Z}=o%{V%J^Oie) zlCs}PARM2D1ou_Dl>P4ba~`me^uHp1!YcBA{`Ta}PjCHcxMCk2_rG4g8oVmW|KMQ% z$^O5W-xm5#RrEK~@FN|jQr~zjr`~Z+&@X={(X{yZA3GBv5`NV0%N@bzlYYno-WM#P z0q;ku>93l3wq%R)v)yM%rN7IPL6M~(tz{V&igk&0&44A8>~{b0JE51cC+het@7;B@>G zPMj$bSgOAgbA@+}%_CoMe>96C70d`n(&nq_Lg_Zh{X2;whCZ@13SEW7))qRIf*a1@ z9Kms5tyY>ulCn7s2}jtF-uUv+ghUBRIl7+EV1fc1OC1LM_i$5TP9m0|m|W{=K{Kft zE2gNhLC@?JXo_PzCaLc@#aS(M01N*wKg@;%CkfA?UFj!&NalUTIUz|RwwOxoPHLM9 zJp9Q<2pIIWf=^={p>Nt2Xv(%S{KE`NYXNC5yFW!zl@SF!q8O2E+PR1oes9{M3$ zn$f@?{KvPBr$&0<@B4e-s&AwPO5|YS&x?cv6i0~0$xI*~Ovn_&n=N!Y#ba{Ln8>-+ z2!UiQu}H`f;$Uz&2!(_PDFv(R2)zLbL8iH7PErX}T38Vaq}AmhL_Xtb5|Ja6$(7?+ z^4HPTdDar9S;3cbU_;i#@5f^re|8*!$6a6*9D&C+n1Mey^aox@h7`x%V9!er4;&|% zMbR0HXwZo(5PP&hSb;ywKFm(JK&9F~iLUX2Z%acd!$Z<+8(isPdsm%TNee+XKOMbe z;w&Yc#9~|FqfYvHju1{$yl@brf++t(JEq2bjuwa;q+Srnp(UJ?0*6N1QRkzz#S5lg2^9Mq1$?MYI{ zgp#*UVnkyua2yZ~Y)Fort&A;gj@v3M`9*%&lJsww{ViloKeA`S*+OdQ8Y8{pZlN=| z-g80XfaH>;kAOSrWX?@hd#UakSiVgJNk_-wf~9y&UPqYoF5djxgmL9+$q^Lj1B+%; zf-V#w1dw*o>B#V&>$$tg?&ckAQm(5vhmdlKCr9A|HcGXv$nB2C;{wL6=Q<7!0>b%E zEF@j%o}*&^P5M@0Iuu>EkVV)M0k#lO0Fd4S1I+3+Bkp-;$uo1{NvDLGDN#iCY6#i@o zHd-68l@gYrx`k|Hw-Cy_h_aChs`-H|GEz!f!hj`WGr3ZIl&15wj_^dB#GHaL46+DW zZ){zL#t3V~cM)e(f&`rsE&*KQ7=&^xzgGH7szMPG#yK6*h>C^k7Brj*p(!s@L+U_g zcDM4Cysv2m&ppqpS6nq!*4J7Qitvy`dWXVEvizrN3g0LAj~U6d-+VUy{1atYDvYD| z3mP82AaRgg*1WlK3WE-lC?B!!``W=s;`vc_ZP^$UXD1gIAK#z9$zCAkRs23>(I?eWU;NiW->zG;<*G~V0* z{hTfPzyioxlBlBacS#faU>{v-0ekoU^6iB$K8u1ic8jCoy}kQA9NrtOaXh?iw%e|d zz*`>_!`z&X=tp(3&>;Wcg|vo-m&{9R9^BeF1&H&@`gD%e1W{M=hTs4uoejh zHVFosA;I7dNH8dq!1z3VPR1z?rKSQ)$R$Gqf6w1@oL}C@=pCDr>5!yoaIlN^_xAU8 zl?grHH%@GHjX44nM4Cq<8dE+YVQ%Sx$k)BXGsO625E=tZxx*82Yvyq5&omUrCWP| zoTu5m0~^`lWs#dC9vmgg{58tphf*^m?MhH+#z~U9PPMB+YtE`I zDYrzUluZ$qLsPuSVq*3r7fbm4e`DCaZ6m+w;P=vt06qw;{n zIHgQ35OU4dGo_s__SYdJTy}4kEF+INUdV~e(a1*uc0x(m?4c>4k!bTayoFCBGn#G|GWj{%9Fd+uaE;6@{_WeDyBOAE-mD~G^BY9_v7r=&c^#vXP@g|=Gl7RRJ zY??$=nb2nI&>(#0zcm0h6c{94qH6X!-3nphI6#u4e*gOV+Q)#R&(d)}QcZaO$J5tu z-(5gx>0ce^=Qtvq=bPnlVchp}#g6bbk_*W=C2E1EF}hBvfYWBqMnaOv2`LvT9nM67 zJO(Gqk=;P9%Q13KF3{)3+Ds{W*I5{@t6? z%hUJoF3|h$(aF32Mn9asd$WrORW7~Ha_Qs}K{|!4-FGesDRgdJUCJp-0~FzSJi}vx z#%xZ~7!Kb_I;C9gl{gNah)$`{D`I6h{#SJH{PcVJJ^dd1_kRNb0RR8Dc zVQyr3R8em|NM&qo0POwydK)*gD2nHAJp~q(`9;d8De7iBoXN~jksU`nzHLjH>{&?` z1$KiZMopjtpd~Z5&v#zqyxw_|^Pvhrqnpi(E>1ETYkg~Cb~maDg+igKP$(#t6;xz& z_hdqq>CWgh|Kz^^dc9un!QmnNx7X`6|GR&9bnwaE;Zg75LGSSB@Zl%Dz5Ry|4nHBi zd#9x3uhfRBPkML8)$H8A$sZL$8fv%{y1zjPRfdmfY9{5d%jGVg(lOJ0@@|6=LJ}hA zl=X?18F)wteAFkIOfQ-0`j_2QPIvu}j2aq#^sn|0y8GQPYA}bTo(<)jI!O1hpHsuM zseM1?!mxZ7ktQ@RxM0bU>PeE8Do_6Pa~;yk&np}a7UVo-LbEyN;Yv<$W?SrqKOeOO3AatJb{p4a=uw>u+C@gYJWFZ@be5V#4xiS5E-c zE*D10T`shtdA_?rNJj1^2|Or)IY z{zgJlDKc*0lT->VbJk^o4s(`m5XV6Ge1j0h3aPn~YSt$sp0ob$Zg)4e3QzA=U&Wp1 zb&tqj_qx5$=1>Wi8mV*}Huq{Z!s^31&b{uw!#jP7Mebky6`m(;LC z8!EB{rC48$H>^nfqeUX7lnX<-UJaSoNpM^?%&cI2%fFnbIAz1&9N7uD@ms6v5AxSo|8tpM-aC#J>woX? zaDM$ieE4zw|26)adUcuV^wS9^OmpQ5v!&O4*gc3rwd=*Tq3v~#HZneD+VqK@(EXza z{VxvFJ$ghBM-Q|8Uhj(s>7y@LO7|b`^&ULj-|wXdquxH-KgjkU9z6PD{~%?(-WQA> z?(GfJ(WtloXk*L-Q`FdXu(RLWKS=g^N$=o%f4_h5sNdV`J~}$se{^v4=-|IQf6RIB z|HAygqIt>m2XO$F&i}om2YZLT#{56n-#_{||9_3YP4Wy4+>96r)&<(Rc9t8(hozB4 zlP6#lk&J6>#4>Wt&17SfmmBmc)@x%~$ zZOw`aFS;9>}yYnMzDa>Nb*lvx;{kRbzImX&Tt{t&fg?k_LGi#+1dUJnaPq& z>5K?zNU2!_nY~F_VF(u_mD3{URHUrxR>06DK!AlIht?V*6uLp=DE^F4v$46cX$^j> zDEqs+*Vorw3dDA$8hgJ)?>;*{dGg}y2{7F1cbE8P2>>Gt3#u>9rj; z7#kRJF37dwhKunI(QeE)Hfv*3G0PLjb?pNw2osI^?V4v(vMkjZO0X>G?M= zzdI-2AHRNm{Nnud$r*Y1nw-3R@%Z%o^yP~)^73nP{NkVF+tU}1cL?KV!W3a|3T5e+ zig3$Dme~>Y;^PUh(qVt=f~9=KQ<76LF6o$&vAkkRSm7v`nsRLiQxht(jZKpCDR<89 ze5bk_AUS?Gtwd8UG(p7(7_X?}mW!6VBc_;0Sw==mPKi~U&`w*1TBwFi3-BpP#uY4p zvo4I!*HV#Dsi3p5R7*j?<8uvd547ub7JHI}n!Xi`Ru>Q!(}Bl57?(U_PPGq!yxk2T z;%|TZ8}=0%cwx~IlZ3pyVoLFh zk&CdJTO;5iFry2`y8oM-XWh$3 zx~rMG;%VfTTy!^5VA?Z)+$V3}BhnW#V??u@r7*bG@-oUgN+@zVov^ITtu(xnncg8O z6-0V=q4trAoEd7^sLan;MO4NN<+-*q(F@WKQ5R}L_0yIYr_1mK1Oh;)q_Crq>x!6WX5(k?f+s=q}uLo*q>+aXVu?x?32DJ2 z+B!1r!|m=y^-K534?k^Szk-wg7-CEqcnUM5yMckI4MI>}@uSKfMm2Ih;pxQkrYQ3q zdejQG+c2fq4!wEw=P_hA-MjG8Dq2MKO*yozN0NUy&U2y-EFtcDUGda9*Nz52-Hv?M z(6QbIa8zXE2Ro%oaYvwuhk($r6aW9rse>dT7wFhlF{KOpjiF;u9uYr)v#-iLesyRbpm^1^12A=Jb^tK`SRjvs5vo!Im2`YYxIvQ7Cz3 z$0k)QW5RHX3kfQOFl{;0&aPRanGDsJm0Dt;Yn@@j)UK7X1i&VR;#btLM6t28%VxV9 zL7dN!%1Bi`e)8(|lau4~Cy&V!JDP>!ngz4{lFi7LEN~&*UZ!llF}6U{&V{$JPh(~h z>vI{FRYvUJ?Fw&gp)V^gY=$|`0+k8FC3?HN;o1%^*(|aHs;*(bVG@A8!O?>5T~C<8 zKE$2onrI`HH8?$NY%@@71VU{!f_vn4A!Z5wj$Z*mmu!{*n#93MxK0qf8-O>}b2@;tc|@>;}vG7|aeHeoD(P9I}0Ue*j& zDe@WNBZw8?2&APpa*8adAlkOpNIniv`ozdW=5jo1tVVV`H@uq_#^?mYv~wa%EB}

-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 bJwA`mDc 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 literal 0 HcmV?d00001 diff --git a/charts/bitnami/kafka/Chart.yaml b/charts/bitnami/kafka/Chart.yaml index 2faf70d71..a42a9357a 100644 --- a/charts/bitnami/kafka/Chart.yaml +++ b/charts/bitnami/kafka/Chart.yaml @@ -45,4 +45,4 @@ maintainers: name: kafka sources: - https://github.com/bitnami/charts/tree/main/bitnami/kafka -version: 25.2.0 +version: 25.3.0 diff --git a/charts/bitnami/kafka/README.md b/charts/bitnami/kafka/README.md index de69675e5..ca8f92636 100644 --- a/charts/bitnami/kafka/README.md +++ b/charts/bitnami/kafka/README.md @@ -120,20 +120,28 @@ The command removes all the Kubernetes components associated with the chart and ### Kafka SASL parameters -| Name | Description | Value | -| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -| `sasl.enabledMechanisms` | Comma-separated list of allowed SASL mechanisms when SASL listeners are configured. Allowed types: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512` | `PLAIN,SCRAM-SHA-256,SCRAM-SHA-512` | -| `sasl.interBrokerMechanism` | SASL mechanism for inter broker communication. | `PLAIN` | -| `sasl.controllerMechanism` | SASL mechanism for controller communications. | `PLAIN` | -| `sasl.interbroker.user` | Username for inter-broker communications when SASL is enabled | `inter_broker_user` | -| `sasl.interbroker.password` | Password for inter-broker communications when SASL is enabled. If not set and SASL is enabled for the controller listener, a random password will be generated. | `""` | -| `sasl.controller.user` | Username for controller communications when SASL is enabled | `controller_user` | -| `sasl.controller.password` | Password for controller communications when SASL is enabled. If not set and SASL is enabled for the inter-broker listener, a random password will be generated. | `""` | -| `sasl.client.users` | Comma-separated list of usernames for client communications when SASL is enabled | `["user1"]` | -| `sasl.client.passwords` | Comma-separated list of passwords for client communications when SASL is enabled, must match the number of client.users | `""` | -| `sasl.zookeeper.user` | Username for zookeeper communications when SASL is enabled. | `""` | -| `sasl.zookeeper.password` | Password for zookeeper communications when SASL is enabled. | `""` | -| `sasl.existingSecret` | Name of the existing secret containing credentials for clientUsers, interBrokerUser, controllerUser and zookeeperUser | `""` | +| Name | Description | Value | +| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | +| `sasl.enabledMechanisms` | Comma-separated list of allowed SASL mechanisms when SASL listeners are configured. Allowed types: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`, `OAUTHBEARER` | `PLAIN,SCRAM-SHA-256,SCRAM-SHA-512` | +| `sasl.interBrokerMechanism` | SASL mechanism for inter broker communication. | `PLAIN` | +| `sasl.controllerMechanism` | SASL mechanism for controller communications. | `PLAIN` | +| `sasl.oauthbearer.tokenEndpointUrl` | The URL for the OAuth/OIDC identity provider | `""` | +| `sasl.oauthbearer.jwksEndpointUrl` | The OAuth/OIDC provider URL from which the provider's JWKS (JSON Web Key Set) can be retrieved | `""` | +| `sasl.oauthbearer.expectedAudience` | The comma-delimited setting for the broker to use to verify that the JWT was issued for one of the expected audiences | `""` | +| `sasl.oauthbearer.subClaimName` | The OAuth claim name for the subject. | `sub` | +| `sasl.interbroker.user` | Username for inter-broker communications when SASL is enabled | `inter_broker_user` | +| `sasl.interbroker.password` | Password for inter-broker communications when SASL is enabled. If not set and SASL is enabled for the controller listener, a random password will be generated. | `""` | +| `sasl.interbroker.clientId` | Client ID for inter-broker communications when SASL is enabled with mechanism OAUTHBEARER | `inter_broker_client` | +| `sasl.interbroker.clientSecret` | Client Secret for inter-broker communications when SASL is enabled with mechanism OAUTHBEARER. If not set and SASL is enabled for the controller listener, a random secret will be generated. | `""` | +| `sasl.controller.user` | Username for controller communications when SASL is enabled | `controller_user` | +| `sasl.controller.password` | Password for controller communications when SASL is enabled. If not set and SASL is enabled for the inter-broker listener, a random password will be generated. | `""` | +| `sasl.controller.clientId` | Client ID for controller communications when SASL is enabled with mechanism OAUTHBEARER | `controller_broker_client` | +| `sasl.controller.clientSecret` | Client Secret for controller communications when SASL is enabled with mechanism OAUTHBEARER. If not set and SASL is enabled for the inter-broker listener, a random secret will be generated. | `""` | +| `sasl.client.users` | Comma-separated list of usernames for client communications when SASL is enabled | `["user1"]` | +| `sasl.client.passwords` | Comma-separated list of passwords for client communications when SASL is enabled, must match the number of client.users | `""` | +| `sasl.zookeeper.user` | Username for zookeeper communications when SASL is enabled. | `""` | +| `sasl.zookeeper.password` | Password for zookeeper communications when SASL is enabled. | `""` | +| `sasl.existingSecret` | Name of the existing secret containing credentials for clientUsers, interBrokerUser, controllerUser and zookeeperUser | `""` | ### Kafka TLS parameters diff --git a/charts/bitnami/kafka/templates/NOTES.txt b/charts/bitnami/kafka/templates/NOTES.txt index baeb77944..69d285913 100644 --- a/charts/bitnami/kafka/templates/NOTES.txt +++ b/charts/bitnami/kafka/templates/NOTES.txt @@ -77,6 +77,13 @@ To connect a client to your Kafka, you need to create the 'client.properties' co security.protocol={{ .Values.listeners.client.protocol }} {{- if $clientSaslEnabled }} +{{- if regexFind "OAUTHBEARER" (upper .Values.sasl.enabledMechanisms ) }} +sasl.jaas.config="org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required"\ + clientId="" \ + password=""; +sasl.login.callback.handler.class=org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerLoginCallbackHandler +sasl.oauthbearer.token.endpoint.url={{ .Values.sasl.oauthbearer.tokenEndpointUrl }} +{{- else }} {{- if regexFind "SCRAM-SHA-256" (upper .Values.sasl.enabledMechanisms) }} sasl.mechanism=SCRAM-SHA-256 {{- else if regexFind "SCRAM-SHA-512" (upper .Values.sasl.enabledMechanisms) }} @@ -89,6 +96,7 @@ sasl.jaas.config={{ $securityModule }} \ username="{{ index .Values.sasl.client.users 0 }}" \ password="$(kubectl get secret {{ $fullname }}-user-passwords --namespace {{ $releaseNamespace }} -o jsonpath='{.data.client-passwords}' | base64 -d | cut -d , -f 1)"; {{- end }} +{{- end }} {{- if $clientSslEnabled }} {{- $clientTlsType := upper .Values.tls.type }} ssl.truststore.type={{ $clientTlsType }} @@ -265,6 +273,13 @@ To connect a client to your Kafka, you need to create the 'client.properties' co security.protocol={{ .Values.listeners.external.protocol }} {{- if $externalSaslEnabled }} +{{- if regexFind "OAUTHBEARER" (upper .Values.sasl.enabledMechanisms ) }} +sasl.jaas.config="org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required"\ + clientId="" \ + password=""; +sasl.login.callback.handler.class=org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerLoginCallbackHandler +sasl.oauthbearer.token.endpoint.url={{ .Values.sasl.oauthbearer.tokenEndpointUrl }} +{{- else }} {{- if regexFind "SCRAM-SHA-256" (upper .Values.sasl.enabledMechanisms) }} sasl.mechanism=SCRAM-SHA-256 {{- else if regexFind "SCRAM-SHA-512" (upper .Values.sasl.enabledMechanisms) }} @@ -277,6 +292,7 @@ sasl.jaas.config={{ $securityModule }} \ username="{{ index .Values.sasl.client.users 0 }}" \ password="$(kubectl get secret {{ $fullname }}-user-passwords --namespace {{ $releaseNamespace }} -o jsonpath='{.data.client-passwords}' | base64 -d | cut -d , -f 1)"; {{- end }} +{{- end }} {{- if $externalSslEnabled }} {{- $clientTlsType := upper .Values.tls.type }} ssl.truststore.type={{ $clientTlsType }} diff --git a/charts/bitnami/kafka/templates/_helpers.tpl b/charts/bitnami/kafka/templates/_helpers.tpl index a5a83c675..86af975a5 100644 --- a/charts/bitnami/kafka/templates/_helpers.tpl +++ b/charts/bitnami/kafka/templates/_helpers.tpl @@ -167,6 +167,41 @@ Return true if SASL connections should be configured {{- end -}} {{- end -}} +{{/* +Returns true if a sasl mechanism that uses usernames and passwords is in use +*/}} +{{- define "kafka.saslUserPasswordsEnabled" -}} +{{- if (include "kafka.saslEnabled" .) -}} +{{- if or (regexFind "PLAIN" (upper .Values.sasl.enabledMechanisms)) (regexFind "SCRAM" (upper .Values.sasl.enabledMechanisms)) -}} +true +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Returns true if a sasl mechanism that uses client IDs and client secrets is in use +*/}} +{{- define "kafka.saslClientSecretsEnabled" -}} +{{- if (include "kafka.saslEnabled" .) -}} +{{- if (regexFind "OAUTHBEARER" (upper .Values.sasl.enabledMechanisms)) -}} +true +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Returns the security module based on the provided sasl mechanism +*/}} +{{- define "kafka.saslSecurityModule" -}} +{{- if eq "PLAIN" .mechanism -}} +org.apache.kafka.common.security.plain.PlainLoginModule required +{{- else if regexFind "SCRAM" .mechanism -}} +org.apache.kafka.common.security.scram.ScramLoginModule required +{{- else if eq "OAUTHBEARER" .mechanism -}} +org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required +{{- end -}} +{{- end -}} + {{/* Return the Kafka SASL credentials secret */}} @@ -418,7 +453,9 @@ The exporter uses a different nomenclature so we need to do this hack */}} {{- define "kafka.metrics.kafka.saslMechanism" -}} {{- $saslMechanisms := .Values.sasl.enabledMechanisms }} -{{- if contains "SCRAM-SHA-512" (upper $saslMechanisms) }} +{{- if contains "OAUTHBEARER" (upper $saslMechanisms) }} + {{- print "oauthbearer" -}} +{{- else if contains "SCRAM-SHA-512" (upper $saslMechanisms) }} {{- print "scram-sha512" -}} {{- else if contains "SCRAM-SHA-256" (upper $saslMechanisms) }} {{- print "scram-sha256" -}} @@ -597,12 +634,18 @@ listener.name.{{lower $listener.name}}.ssl.client.auth={{ $listener.sslClientAut {{- end }} {{- if regexFind "SASL" (upper $listener.protocol) }} {{- range $mechanism := ( splitList "," $.Values.sasl.enabledMechanisms )}} - {{- $securityModule := ternary "org.apache.kafka.common.security.plain.PlainLoginModule required" "org.apache.kafka.common.security.scram.ScramLoginModule required" (eq "PLAIN" (upper $mechanism)) }} + {{- $securityModule := include "kafka.saslSecurityModule" (dict "mechanism" (upper $mechanism)) }} {{- $saslJaasConfig := list $securityModule }} {{- if eq $listener.name $.Values.listeners.interbroker.name }} + {{- if (eq (upper $mechanism) "OAUTHBEARER") }} + {{- $saslJaasConfig = append $saslJaasConfig (printf "clientId=\"%s\"" $.Values.sasl.interbroker.clientId) }} + {{- $saslJaasConfig = append $saslJaasConfig (print "clientSecret=\"interbroker-client-secret-placeholder\"") }} +listener.name.{{lower $listener.name}}.oauthbearer.sasl.login.callback.handler.class=org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerLoginCallbackHandler + {{- else }} {{- $saslJaasConfig = append $saslJaasConfig (printf "username=\"%s\"" $.Values.sasl.interbroker.user) }} {{- $saslJaasConfig = append $saslJaasConfig (print "password=\"interbroker-password-placeholder\"") }} {{- end }} + {{- end }} {{- if eq (upper $mechanism) "PLAIN" }} {{- if eq $listener.name $.Values.listeners.interbroker.name }} {{- $saslJaasConfig = append $saslJaasConfig (printf "user_%s=\"interbroker-password-placeholder\"" $.Values.sasl.interbroker.user) }} @@ -612,9 +655,18 @@ listener.name.{{lower $listener.name}}.ssl.client.auth={{ $listener.sslClientAut {{- end }} {{- end }} listener.name.{{lower $listener.name}}.{{lower $mechanism}}.sasl.jaas.config={{ join " " $saslJaasConfig }}; + {{- if eq (upper $mechanism) "OAUTHBEARER" }} +listener.name.{{lower $listener.name}}.oauthbearer.sasl.server.callback.handler.class=org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerValidatorCallbackHandler + {{- end }} {{- end }} {{- end }} {{- end }} +{{- if regexFind "OAUTHBEARER" $.Values.sasl.enabledMechanisms }} +sasl.oauthbearer.token.endpoint.url={{ $.Values.sasl.oauthbearer.tokenEndpointUrl }} +sasl.oauthbearer.jwks.endpoint.url={{ $.Values.sasl.oauthbearer.jwksEndpointUrl }} +sasl.oauthbearer.expected.audience={{ $.Values.sasl.oauthbearer.expectedAudience }} +sasl.oauthbearer.sub.claim.name={{ $.Values.sasl.oauthbearer.subClaimName }} +{{- end }} # End of SASL JAAS configuration {{- end }} {{- end -}} @@ -655,10 +707,15 @@ listener.name.{{lower $listener.name}}.ssl.client.auth={{ $listener.sslClientAut {{- end }} {{- if regexFind "SASL" (upper $listener.protocol) }} {{- $mechanism := $.Values.sasl.controllerMechanism }} - {{- $securityModule := ternary "org.apache.kafka.common.security.plain.PlainLoginModule required" "org.apache.kafka.common.security.scram.ScramLoginModule required" (eq "PLAIN" (upper $mechanism)) }} + {{- $securityModule := include "kafka.saslSecurityModule" (dict "mechanism" (upper $mechanism)) }} {{- $saslJaasConfig := list $securityModule }} + {{- if (eq (upper $mechanism) "OAUTHBEARER") }} + {{- $saslJaasConfig = append $saslJaasConfig (printf "clientId=\"%s\"" $.Values.sasl.controller.clientId) }} + {{- $saslJaasConfig = append $saslJaasConfig (print "clientSecret=\"controller-client-secret-placeholder\"") }} + {{- else }} {{- $saslJaasConfig = append $saslJaasConfig (printf "username=\"%s\"" $.Values.sasl.controller.user) }} {{- $saslJaasConfig = append $saslJaasConfig (print "password=\"controller-password-placeholder\"") }} + {{- end }} {{- if eq (upper $mechanism) "PLAIN" }} {{- $saslJaasConfig = append $saslJaasConfig (printf "user_%s=\"controller-password-placeholder\"" $.Values.sasl.controller.user) }} {{- end }} @@ -666,6 +723,10 @@ listener.name.{{lower $listener.name}}.ssl.client.auth={{ $listener.sslClientAut sasl.mechanism.controller.protocol={{ upper $mechanism }} listener.name.{{lower $listener.name}}.sasl.enabled.mechanisms={{ upper $mechanism }} listener.name.{{lower $listener.name}}.{{lower $mechanism }}.sasl.jaas.config={{ join " " $saslJaasConfig }}; +{{- if regexFind "OAUTHBEARER" (upper $mechanism) }} +listener.name.{{lower $listener.name}}.oauthbearer.sasl.server.callback.handler.class=org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerValidatorCallbackHandler +listener.name.{{lower $listener.name}}.oauthbearer.sasl.login.callback.handler.class=org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerLoginCallbackHandler +{{- end }} {{- end }} {{- end -}} @@ -753,6 +814,7 @@ Init container definition for Kafka initialization {{- end }} {{- end }} {{- if and (include "kafka.client.saslEnabled" .context ) .context.Values.sasl.client.users }} + {{- if (include "kafka.saslUserPasswordsEnabled" .context) }} - name: KAFKA_CLIENT_USERS value: {{ join "," .context.Values.sasl.client.users | quote }} - name: KAFKA_CLIENT_PASSWORDS @@ -761,7 +823,9 @@ Init container definition for Kafka initialization name: {{ include "kafka.saslSecretName" .context }} key: client-passwords {{- end }} + {{- end }} {{- if regexFind "SASL" (upper .context.Values.listeners.interbroker.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .context) }} - name: KAFKA_INTER_BROKER_USER value: {{ .context.Values.sasl.interbroker.user | quote }} - name: KAFKA_INTER_BROKER_PASSWORD @@ -770,13 +834,36 @@ Init container definition for Kafka initialization name: {{ include "kafka.saslSecretName" .context }} key: inter-broker-password {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .context) }} + - name: KAFKA_INTER_BROKER_CLIENT_ID + value: {{ .context.Values.sasl.interbroker.clientId | quote }} + - name: KAFKA_INTER_BROKER_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "kafka.saslSecretName" .context }} + key: inter-broker-client-secret + {{- end }} + {{- end }} {{- if and .context.Values.kraft.enabled (regexFind "SASL" (upper .context.Values.listeners.controller.protocol)) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .context) }} + - name: KAFKA_CONTROLLER_USER + value: {{ .context.Values.sasl.controller.user | quote }} - name: KAFKA_CONTROLLER_PASSWORD valueFrom: secretKeyRef: name: {{ include "kafka.saslSecretName" .context }} key: controller-password {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .context) }} + - name: KAFKA_CONTROLLER_CLIENT_ID + value: {{ .context.Values.sasl.controller.clientId | quote }} + - name: KAFKA_CONTROLLER_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "kafka.saslSecretName" .context }} + key: controller-client-secret + {{- end }} + {{- end }} {{- if (include "kafka.sslEnabled" .context ) }} - name: KAFKA_TLS_TYPE value: {{ ternary "PEM" "JKS" (or .context.Values.tls.autoGenerated (eq (upper .context.Values.tls.type) "PEM")) }} diff --git a/charts/bitnami/kafka/templates/broker/statefulset.yaml b/charts/bitnami/kafka/templates/broker/statefulset.yaml index 4a5974ab3..621b674fa 100644 --- a/charts/bitnami/kafka/templates/broker/statefulset.yaml +++ b/charts/bitnami/kafka/templates/broker/statefulset.yaml @@ -167,7 +167,7 @@ spec: - name: KAFKA_KRAFT_BOOTSTRAP_SCRAM_USERS value: "true" {{- end }} - {{- if and (include "kafka.client.saslEnabled" . ) .Values.sasl.client.users }} + {{- if and (include "kafka.client.saslEnabled" . ) .Values.sasl.client.users (include "kafka.saslUserPasswordsEnabled" .) }} - name: KAFKA_CLIENT_USERS value: {{ join "," .Values.sasl.client.users | quote }} - name: KAFKA_CLIENT_PASSWORDS @@ -177,6 +177,7 @@ spec: key: client-passwords {{- end }} {{- if regexFind "SASL" (upper .Values.listeners.interbroker.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} - name: KAFKA_INTER_BROKER_USER value: {{ .Values.sasl.interbroker.user | quote }} - name: KAFKA_INTER_BROKER_PASSWORD @@ -185,7 +186,18 @@ spec: name: {{ include "kafka.saslSecretName" . }} key: inter-broker-password {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + - name: KAFKA_INTER_BROKER_CLIENT_ID + value: {{ .Values.sasl.interbroker.clientId | quote }} + - name: KAFKA_INTER_BROKER_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "kafka.saslSecretName" . }} + key: inter-broker-client-secret + {{- end }} + {{- end }} {{- if and .Values.kraft.enabled (regexFind "SASL" (upper .Values.listeners.controller.protocol)) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} - name: KAFKA_CONTROLLER_USER value: {{ .Values.sasl.controller.user | quote }} - name: KAFKA_CONTROLLER_PASSWORD @@ -194,6 +206,16 @@ spec: name: {{ include "kafka.saslSecretName" . }} key: controller-password {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + - name: KAFKA_CONTROLLER_CLIENT_ID + value: {{ .Values.sasl.controller.clientId | quote }} + - name: KAFKA_CONTROLLER_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "kafka.saslSecretName" . }} + key: controller-client-secret + {{- end }} + {{- end }} {{- end }} {{- if .Values.metrics.jmx.enabled }} - name: JMX_PORT diff --git a/charts/bitnami/kafka/templates/controller-eligible/statefulset.yaml b/charts/bitnami/kafka/templates/controller-eligible/statefulset.yaml index 6a4a8fe00..54bbbf58d 100644 --- a/charts/bitnami/kafka/templates/controller-eligible/statefulset.yaml +++ b/charts/bitnami/kafka/templates/controller-eligible/statefulset.yaml @@ -156,7 +156,7 @@ spec: {{- if and (include "kafka.saslEnabled" .) (or (regexFind "SCRAM" (upper .Values.sasl.enabledMechanisms)) (regexFind "SCRAM" (upper .Values.sasl.controllerMechanism)) (regexFind "SCRAM" (upper .Values.sasl.interBrokerMechanism))) }} - name: KAFKA_KRAFT_BOOTSTRAP_SCRAM_USERS value: "true" - {{- if and (include "kafka.client.saslEnabled" . ) .Values.sasl.client.users }} + {{- if and (include "kafka.client.saslEnabled" . ) .Values.sasl.client.users (include "kafka.saslUserPasswordsEnabled" .) }} - name: KAFKA_CLIENT_USERS value: {{ join "," .Values.sasl.client.users | quote }} - name: KAFKA_CLIENT_PASSWORDS @@ -166,6 +166,7 @@ spec: key: client-passwords {{- end }} {{- if regexFind "SASL" (upper .Values.listeners.interbroker.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} - name: KAFKA_INTER_BROKER_USER value: {{ .Values.sasl.interbroker.user | quote }} - name: KAFKA_INTER_BROKER_PASSWORD @@ -174,7 +175,18 @@ spec: name: {{ include "kafka.saslSecretName" . }} key: inter-broker-password {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + - name: KAFKA_INTER_BROKER_CLIENT_ID + value: {{ .Values.sasl.interbroker.clientId | quote }} + - name: KAFKA_INTER_BROKER_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "kafka.saslSecretName" . }} + key: inter-broker-client-secret + {{- end }} + {{- end }} {{- if regexFind "SASL" (upper .Values.listeners.controller.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} - name: KAFKA_CONTROLLER_USER value: {{ .Values.sasl.controller.user | quote }} - name: KAFKA_CONTROLLER_PASSWORD @@ -183,6 +195,16 @@ spec: name: {{ include "kafka.saslSecretName" . }} key: controller-password {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + - name: KAFKA_CONTROLLER_CLIENT_ID + value: {{ .Values.sasl.controller.clientId | quote }} + - name: KAFKA_CONTROLLER_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: {{ include "kafka.saslSecretName" . }} + key: controller-client-secret + {{- end }} + {{- end }} {{- end }} {{- if .Values.metrics.jmx.enabled }} - name: JMX_PORT diff --git a/charts/bitnami/kafka/templates/provisioning/job.yaml b/charts/bitnami/kafka/templates/provisioning/job.yaml index adddad9fe..82c83eb92 100644 --- a/charts/bitnami/kafka/templates/provisioning/job.yaml +++ b/charts/bitnami/kafka/templates/provisioning/job.yaml @@ -135,6 +135,11 @@ spec: {{- else if regexFind "SCRAM-SHA-512" ( upper .Values.sasl.enabledMechanisms) }} kafka_common_conf_set "$CLIENT_CONF" sasl.mechanism SCRAM-SHA-512 kafka_common_conf_set "$CLIENT_CONF" sasl.jaas.config "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"$SASL_USERNAME\" password=\"$SASL_USER_PASSWORD\";" + {{- else if regexFind "OAUTHBEARER" ( upper .Values.sasl.enabledMechanisms) }} + kafka_common_conf_set "$CLIENT_CONF" sasl.mechanism OAUTHBEARER + kafka_common_conf_set "$CLIENT_CONF" sasl.jaas.config "org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required clientId=\"$SASL_CLIENT_ID\" password=\"$SASL_CLIENT_SECRET\";" + kafka_common_conf_set "$CLIENT_CONF" sasl.login.callback.handler.class "org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerLoginCallbackHandler" + kafka_common_conf_set "$CLIENT_CONF" sasl.oauthbearer.token.endpoint.url {{ .Values.sasl.oauthbearer.tokenEndpointUrl | quote }} {{- end }} {{- end }} fi @@ -199,6 +204,7 @@ spec: - name: KAFKA_SERVICE value: {{ printf "%s:%d" (include "common.names.fullname" .) (.Values.service.ports.client | int64) }} {{- if regexFind "SASL" (upper .Values.listeners.client.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} - name: SASL_USERNAME value: {{ index .Values.sasl.client.users 0 | quote }} - name: SASL_USER_PASSWORD @@ -207,6 +213,16 @@ spec: name: {{ include "kafka.saslSecretName" . }} key: system-user-password {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + - name: SASL_CLIENT_ID + value: {{ .Values.sasl.interbroker.clientId | quote }} + - name: SASL_USER_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "kafka.saslSecretName" . }} + key: inter-broker-client-secret + {{- end }} + {{- end }} {{- if .Values.provisioning.extraEnvVars }} {{- include "common.tplvalues.render" ( dict "value" .Values.provisioning.extraEnvVars "context" $) | nindent 12 }} {{- end }} diff --git a/charts/bitnami/kafka/templates/scripts-configmap.yaml b/charts/bitnami/kafka/templates/scripts-configmap.yaml index 316bb1ef9..472cb47e2 100644 --- a/charts/bitnami/kafka/templates/scripts-configmap.yaml +++ b/charts/bitnami/kafka/templates/scripts-configmap.yaml @@ -292,11 +292,21 @@ data: # Replace placeholders with passwords {{- if regexFind "SASL" (upper .Values.listeners.interbroker.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} replace_placeholder "interbroker-password-placeholder" "$KAFKA_INTER_BROKER_PASSWORD" + {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + replace_placeholder "interbroker-client-secret-placeholder" "$KAFKA_INTER_BROKER_CLIENT_SECRET" + {{- end }} {{- end -}} {{- if and .Values.kraft.enabled (regexFind "SASL" (upper .Values.listeners.controller.protocol)) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} replace_placeholder "controller-password-placeholder" "$KAFKA_CONTROLLER_PASSWORD" {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + replace_placeholder "controller-client-secret-placeholder" "$KAFKA_CONTROLLER_CLIENT_SECRET" + {{- end }} + {{- end }} {{- if (include "kafka.client.saslEnabled" .)}} read -r -a passwords <<<"$(tr ',;' ' ' <<<"${KAFKA_CLIENT_PASSWORDS:-}")" for ((i = 0; i < ${#passwords[@]}; i++)); do diff --git a/charts/bitnami/kafka/templates/secrets.yaml b/charts/bitnami/kafka/templates/secrets.yaml index abd2e9a63..7243ee417 100644 --- a/charts/bitnami/kafka/templates/secrets.yaml +++ b/charts/bitnami/kafka/templates/secrets.yaml @@ -32,18 +32,30 @@ data: {{- end }} {{- $secretValue = join "," $clientPasswords | toString | b64enc }} {{- end }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} client-passwords: {{ $secretValue | quote }} system-user-password: {{ index (splitList "," (b64dec $secretValue)) 0 | b64enc | quote }} {{- end }} + {{- end }} {{- if or .Values.sasl.zookeeper.user .Values.zookeeper.auth.client.enabled }} zookeeper-password: {{ include "common.secrets.passwords.manage" (dict "secret" $secretName "key" "zookeeper-password" "providedValues" (list "sasl.zookeeper.password" "zookeeper.auth.client.clientPassword") "failOnNew" false "context" $) }} {{- end }} {{- if regexFind "SASL" (upper .Values.listeners.interbroker.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} inter-broker-password: {{ include "common.secrets.passwords.manage" (dict "secret" $secretName "key" "inter-broker-password" "providedValues" (list "sasl.interbroker.password") "failOnNew" false "context" $) }} {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + inter-broker-client-secret: {{ include "common.secrets.passwords.manage" (dict "secret" $secretName "key" "inter-broker-client-secret" "providedValues" (list "sasl.interbroker.clientSecret") "failOnNew" false "context" $) }} + {{- end }} + {{- end }} {{- if regexFind "SASL" (upper .Values.listeners.controller.protocol) }} + {{- if (include "kafka.saslUserPasswordsEnabled" .) }} controller-password: {{ include "common.secrets.passwords.manage" (dict "secret" $secretName "key" "controller-password" "providedValues" (list "sasl.controller.password") "failOnNew" false "context" $) }} {{- end }} + {{- if (include "kafka.saslClientSecretsEnabled" .) }} + controller-client-secret: {{ include "common.secrets.passwords.manage" (dict "secret" $secretName "key" "controller-client-secret" "providedValues" (list "sasl.controller.clientSecret") "failOnNew" false "context" $) }} + {{- end }} + {{- end }} {{- if .Values.serviceBindings.enabled }} {{- if (include "kafka.client.saslEnabled" .) }} diff --git a/charts/bitnami/kafka/values.yaml b/charts/bitnami/kafka/values.yaml index 562af4f30..6faaf4740 100644 --- a/charts/bitnami/kafka/values.yaml +++ b/charts/bitnami/kafka/values.yaml @@ -198,7 +198,7 @@ listeners: ## Kafka SASL settings for authentication, required if SASL_PLAINTEXT or SASL_SSL listeners are configured ## sasl: - ## @param sasl.enabledMechanisms Comma-separated list of allowed SASL mechanisms when SASL listeners are configured. Allowed types: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512` + ## @param sasl.enabledMechanisms Comma-separated list of allowed SASL mechanisms when SASL listeners are configured. Allowed types: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`, `OAUTHBEARER` ## NOTE: At the moment, Kafka Raft mode does not support SCRAM, that is why only PLAIN is configured. ## enabledMechanisms: PLAIN,SCRAM-SHA-256,SCRAM-SHA-512 @@ -208,20 +208,39 @@ sasl: ## @param sasl.controllerMechanism SASL mechanism for controller communications. ## controllerMechanism: PLAIN + ## Settings for oauthbearer mechanism + ## @param sasl.oauthbearer.tokenEndpointUrl The URL for the OAuth/OIDC identity provider + ## @param sasl.oauthbearer.jwksEndpointUrl The OAuth/OIDC provider URL from which the provider's JWKS (JSON Web Key Set) can be retrieved + ## @param sasl.oauthbearer.expectedAudience The comma-delimited setting for the broker to use to verify that the JWT was issued for one of the expected audiences + ## @param sasl.oauthbearer.subClaimName The OAuth claim name for the subject. + ## + oauthbearer: + tokenEndpointUrl: "" + jwksEndpointUrl: "" + expectedAudience: "" + subClaimName: "sub" ## Credentials for inter-broker communications. ## @param sasl.interbroker.user Username for inter-broker communications when SASL is enabled ## @param sasl.interbroker.password Password for inter-broker communications when SASL is enabled. If not set and SASL is enabled for the controller listener, a random password will be generated. + ## @param sasl.interbroker.clientId Client ID for inter-broker communications when SASL is enabled with mechanism OAUTHBEARER + ## @param sasl.interbroker.clientSecret Client Secret for inter-broker communications when SASL is enabled with mechanism OAUTHBEARER. If not set and SASL is enabled for the controller listener, a random secret will be generated. ## interbroker: user: inter_broker_user password: "" + clientId: inter_broker_client + clientSecret: "" ## Credentials for controller communications. ## @param sasl.controller.user Username for controller communications when SASL is enabled ## @param sasl.controller.password Password for controller communications when SASL is enabled. If not set and SASL is enabled for the inter-broker listener, a random password will be generated. + ## @param sasl.controller.clientId Client ID for controller communications when SASL is enabled with mechanism OAUTHBEARER + ## @param sasl.controller.clientSecret Client Secret for controller communications when SASL is enabled with mechanism OAUTHBEARER. If not set and SASL is enabled for the inter-broker listener, a random secret will be generated. ## controller: user: controller_user password: "" + clientId: controller_broker_client + clientSecret: "" ## Credentials for client communications. ## @param sasl.client.users Comma-separated list of usernames for client communications when SASL is enabled ## @param sasl.client.passwords Comma-separated list of passwords for client communications when SASL is enabled, must match the number of client.users @@ -239,8 +258,10 @@ sasl: password: "" ## @param sasl.existingSecret Name of the existing secret containing credentials for clientUsers, interBrokerUser, controllerUser and zookeeperUser ## Create this secret running the command below where SECRET_NAME is the name of the secret you want to create: - ## kubectl create secret generic SECRET_NAME --from-literal=client-passwords=CLIENT_PASSWORD1,CLIENT_PASSWORD2 --from-literal=inter-broker-password=INTER_BROKER_PASSWORD --from-literal=controller-password=CONTROLLER_PASSWORD --from-literal=zookeeper-password=ZOOKEEPER_PASSWORD - ## + ## kubectl create secret generic SECRET_NAME --from-literal=client-passwords=CLIENT_PASSWORD1,CLIENT_PASSWORD2 --from-literal=inter-broker-password=INTER_BROKER_PASSWORD --from-literal=inter-broker-client-secret=INTER_BROKER_CLIENT_SECRET --from-literal=controller-password=CONTROLLER_PASSWORD --from-literal=controller-client-secret=CONTROLLER_CLIENT_SECRET --from-literal=zookeeper-password=ZOOKEEPER_PASSWORD + ## The client secrets are only required when using oauthbearer as sasl mechanism. + ## Client, interbroker and controller passwords are only required if the sasl mechanism includes something other than oauthbearer. + ## existingSecret: "" ## @section Kafka TLS parameters diff --git a/charts/bitnami/redis/Chart.lock b/charts/bitnami/redis/Chart.lock index ef686f92b..f5fb20a77 100644 --- a/charts/bitnami/redis/Chart.lock +++ b/charts/bitnami/redis/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: common repository: oci://registry-1.docker.io/bitnamicharts - version: 2.10.0 -digest: sha256:023ded170632d04528f30332370f34fc8fb96efb2886a01d934cb3bd6e6d2e09 -generated: "2023-09-05T11:35:55.621686+02:00" + version: 2.13.0 +digest: sha256:6b6084c51b6a028a651f6e8539d0197487ee807c5bae44867d4ea6ccd1f9ae93 +generated: "2023-09-29T11:06:04.261917+02:00" diff --git a/charts/bitnami/redis/Chart.yaml b/charts/bitnami/redis/Chart.yaml index e309370c5..d0c0bc94d 100644 --- a/charts/bitnami/redis/Chart.yaml +++ b/charts/bitnami/redis/Chart.yaml @@ -37,4 +37,4 @@ maintainers: name: redis sources: - https://github.com/bitnami/charts/tree/main/bitnami/redis -version: 18.1.1 +version: 18.1.2 diff --git a/charts/bitnami/redis/charts/common/Chart.yaml b/charts/bitnami/redis/charts/common/Chart.yaml index e35c2d0e7..4da7ec09e 100644 --- a/charts/bitnami/redis/charts/common/Chart.yaml +++ b/charts/bitnami/redis/charts/common/Chart.yaml @@ -2,7 +2,7 @@ annotations: category: Infrastructure licenses: Apache-2.0 apiVersion: v2 -appVersion: 2.9.2 +appVersion: 2.13.0 description: A Library Helm Chart for grouping common logic between bitnami charts. This chart is not deployable by itself. home: https://bitnami.com @@ -20,4 +20,4 @@ name: common sources: - https://github.com/bitnami/charts type: library -version: 2.10.0 +version: 2.13.0 diff --git a/charts/bitnami/redis/charts/common/templates/_capabilities.tpl b/charts/bitnami/redis/charts/common/templates/_capabilities.tpl index c6d115fe5..b1257397d 100644 --- a/charts/bitnami/redis/charts/common/templates/_capabilities.tpl +++ b/charts/bitnami/redis/charts/common/templates/_capabilities.tpl @@ -172,6 +172,50 @@ Return the appropriate apiVersion for Vertical Pod Autoscaler. {{- end -}} {{- end -}} +{{/* +Returns true if PodSecurityPolicy is supported +*/}} +{{- define "common.capabilities.psp.supported" -}} +{{- if semverCompare "<1.25-0" (include "common.capabilities.kubeVersion" .) -}} + {{- true -}} +{{- end -}} +{{- end -}} + +{{/* +Returns true if AdmissionConfiguration is supported +*/}} +{{- define "common.capabilities.admisionConfiguration.supported" -}} +{{- if semverCompare ">=1.23-0" (include "common.capabilities.kubeVersion" .) -}} + {{- true -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for AdmissionConfiguration. +*/}} +{{- define "common.capabilities.admisionConfiguration.apiVersion" -}} +{{- if semverCompare "<1.23-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "apiserver.config.k8s.io/v1alpha1" -}} +{{- else if semverCompare "<1.25-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "apiserver.config.k8s.io/v1beta1" -}} +{{- else -}} +{{- print "apiserver.config.k8s.io/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for PodSecurityConfiguration. +*/}} +{{- define "common.capabilities.podSecurityConfiguration.apiVersion" -}} +{{- if semverCompare "<1.23-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "pod-security.admission.config.k8s.io/v1alpha1" -}} +{{- else if semverCompare "<1.25-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "pod-security.admission.config.k8s.io/v1beta1" -}} +{{- else -}} +{{- print "pod-security.admission.config.k8s.io/v1" -}} +{{- end -}} +{{- end -}} + {{/* Returns true if the used Helm version is 3.3+. A way to check the used Helm version was not introduced until version 3.3.0 with .Capabilities.HelmVersion, which contains an additional "{}}" structure. diff --git a/charts/bitnami/redis/charts/common/templates/_images.tpl b/charts/bitnami/redis/charts/common/templates/_images.tpl index 2181f3224..e248d6d08 100644 --- a/charts/bitnami/redis/charts/common/templates/_images.tpl +++ b/charts/bitnami/redis/charts/common/templates/_images.tpl @@ -83,3 +83,19 @@ imagePullSecrets: {{- end }} {{- end }} {{- end -}} + +{{/* +Return the proper image version (ingores image revision/prerelease info & fallbacks to chart appVersion) +{{ include "common.images.version" ( dict "imageRoot" .Values.path.to.the.image "chart" .Chart ) }} +*/}} +{{- define "common.images.version" -}} +{{- $imageTag := .imageRoot.tag | toString -}} +{{/* regexp from https://github.com/Masterminds/semver/blob/23f51de38a0866c5ef0bfc42b3f735c73107b700/version.go#L41-L44 */}} +{{- if regexMatch `^([0-9]+)(\.[0-9]+)?(\.[0-9]+)?(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?$` $imageTag -}} + {{- $version := semver $imageTag -}} + {{- printf "%d.%d.%d" $version.Major $version.Minor $version.Patch -}} +{{- else -}} + {{- print .chart.AppVersion -}} +{{- end -}} +{{- end -}} + diff --git a/charts/bitnami/redis/charts/common/templates/_labels.tpl b/charts/bitnami/redis/charts/common/templates/_labels.tpl index fac46076a..fa3833fb8 100644 --- a/charts/bitnami/redis/charts/common/templates/_labels.tpl +++ b/charts/bitnami/redis/charts/common/templates/_labels.tpl @@ -11,21 +11,19 @@ Kubernetes standard labels */}} {{- define "common.labels.standard" -}} {{- if and (hasKey . "customLabels") (hasKey . "context") -}} -{{ merge - (include "common.tplvalues.render" (dict "value" .customLabels "context" .context) | fromYaml) - (dict - "app.kubernetes.io/name" (include "common.names.name" .context) - "helm.sh/chart" (include "common.names.chart" .context) - "app.kubernetes.io/instance" .context.Release.Name - "app.kubernetes.io/managed-by" .context.Release.Service - ) - | toYaml -}} +{{- $default := dict "app.kubernetes.io/name" (include "common.names.name" .context) "helm.sh/chart" (include "common.names.chart" .context) "app.kubernetes.io/instance" .context.Release.Name "app.kubernetes.io/managed-by" .context.Release.Service -}} +{{- with .context.Chart.AppVersion -}} +{{- $_ := set $default "app.kubernetes.io/version" . -}} +{{- end -}} +{{ template "common.tplvalues.merge" (dict "values" (list .customLabels $default) "context" .) }} {{- else -}} app.kubernetes.io/name: {{ include "common.names.name" . }} helm.sh/chart: {{ include "common.names.chart" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- with .Chart.AppVersion }} +app.kubernetes.io/version: {{ . | quote }} +{{- end -}} {{- end -}} {{- end -}} @@ -40,14 +38,7 @@ overwrote them on metadata.labels fields. */}} {{- define "common.labels.matchLabels" -}} {{- if and (hasKey . "customLabels") (hasKey . "context") -}} -{{ merge - (pick (include "common.tplvalues.render" (dict "value" .customLabels "context" .context) | fromYaml) "app.kubernetes.io/name" "app.kubernetes.io/instance") - (dict - "app.kubernetes.io/name" (include "common.names.name" .context) - "app.kubernetes.io/instance" .context.Release.Name - ) - | toYaml -}} +{{ merge (pick (include "common.tplvalues.render" (dict "value" .customLabels "context" .context) | fromYaml) "app.kubernetes.io/name" "app.kubernetes.io/instance") (dict "app.kubernetes.io/name" (include "common.names.name" .context) "app.kubernetes.io/instance" .context.Release.Name ) | toYaml }} {{- else -}} app.kubernetes.io/name: {{ include "common.names.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} diff --git a/charts/bitnami/redis/charts/common/templates/_utils.tpl b/charts/bitnami/redis/charts/common/templates/_utils.tpl index c87040cd9..bfbddf054 100644 --- a/charts/bitnami/redis/charts/common/templates/_utils.tpl +++ b/charts/bitnami/redis/charts/common/templates/_utils.tpl @@ -65,3 +65,13 @@ Usage: {{- end -}} {{- printf "%s" $key -}} {{- end -}} + +{{/* +Checksum a template at "path" containing a *single* resource (ConfigMap,Secret) for use in pod annotations, excluding the metadata (see #18376). +Usage: +{{ include "common.utils.checksumTemplate" (dict "path" "/configmap.yaml" "context" $) }} +*/}} +{{- define "common.utils.checksumTemplate" -}} +{{- $obj := include (print .context.Template.BasePath .path) .context | fromYaml -}} +{{ omit $obj "apiVersion" "kind" "metadata" | toYaml | sha256sum }} +{{- end -}} diff --git a/charts/bitnami/redis/templates/master/psp.yaml b/charts/bitnami/redis/templates/master/psp.yaml index 0809c902a..368a2193b 100644 --- a/charts/bitnami/redis/templates/master/psp.yaml +++ b/charts/bitnami/redis/templates/master/psp.yaml @@ -3,8 +3,7 @@ Copyright VMware, Inc. SPDX-License-Identifier: APACHE-2.0 */}} -{{- $pspAvailable := (semverCompare "<1.25-0" (include "common.capabilities.kubeVersion" .)) -}} -{{- if and $pspAvailable .Values.podSecurityPolicy.create }} +{{- if and (include "common.capabilities.psp.supported" .) .Values.podSecurityPolicy.create }} apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: diff --git a/charts/bitnami/redis/templates/role.yaml b/charts/bitnami/redis/templates/role.yaml index 914e500ff..be042294b 100644 --- a/charts/bitnami/redis/templates/role.yaml +++ b/charts/bitnami/redis/templates/role.yaml @@ -14,8 +14,7 @@ metadata: annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} rules: - {{- $pspAvailable := (semverCompare "<1.25-0" (include "common.capabilities.kubeVersion" .)) -}} - {{- if and $pspAvailable .Values.podSecurityPolicy.enabled }} + {{- if and (include "common.capabilities.psp.supported" .) .Values.podSecurityPolicy.enabled }} - apiGroups: - '{{ template "podSecurityPolicy.apiGroup" . }}' resources: diff --git a/charts/cockroach-labs/cockroachdb/Chart.yaml b/charts/cockroach-labs/cockroachdb/Chart.yaml index bc93f2ded..8ed09db6c 100644 --- a/charts/cockroach-labs/cockroachdb/Chart.yaml +++ b/charts/cockroach-labs/cockroachdb/Chart.yaml @@ -4,7 +4,7 @@ annotations: catalog.cattle.io/kube-version: '>=1.8-0' catalog.cattle.io/release-name: cockroachdb apiVersion: v1 -appVersion: 23.1.10 +appVersion: 23.1.11 description: CockroachDB is a scalable, survivable, strongly-consistent SQL database. home: https://www.cockroachlabs.com icon: https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/media/cockroach_db.png @@ -14,4 +14,4 @@ maintainers: name: cockroachdb sources: - https://github.com/cockroachdb/cockroach -version: 11.2.0 +version: 11.2.1 diff --git a/charts/cockroach-labs/cockroachdb/README.md b/charts/cockroach-labs/cockroachdb/README.md index b312a3243..3cdc61ead 100644 --- a/charts/cockroach-labs/cockroachdb/README.md +++ b/charts/cockroach-labs/cockroachdb/README.md @@ -229,10 +229,10 @@ kubectl get pods \ ``` ``` -my-release-cockroachdb-0 cockroachdb/cockroach:v23.1.10 -my-release-cockroachdb-1 cockroachdb/cockroach:v23.1.10 -my-release-cockroachdb-2 cockroachdb/cockroach:v23.1.10 -my-release-cockroachdb-3 cockroachdb/cockroach:v23.1.10 +my-release-cockroachdb-0 cockroachdb/cockroach:v23.1.11 +my-release-cockroachdb-1 cockroachdb/cockroach:v23.1.11 +my-release-cockroachdb-2 cockroachdb/cockroach:v23.1.11 +my-release-cockroachdb-3 cockroachdb/cockroach:v23.1.11 ``` Resume normal operations. Once you are comfortable that the stability and performance of the cluster is what you'd expect post-upgrade, finalize the upgrade: @@ -316,7 +316,7 @@ For details see the [`values.yaml`](values.yaml) file. | `conf.store.size` | CockroachDB storage size | `""` | | `conf.store.attrs` | CockroachDB storage attributes | `""` | | `image.repository` | Container image name | `cockroachdb/cockroach` | -| `image.tag` | Container image tag | `v23.1.10` | +| `image.tag` | Container image tag | `v23.1.11` | | `image.pullPolicy` | Container pull policy | `IfNotPresent` | | `image.credentials` | `registry`, `user` and `pass` credentials to pull private image | `{}` | | `statefulset.replicas` | StatefulSet replicas number | `3` | diff --git a/charts/cockroach-labs/cockroachdb/values.yaml b/charts/cockroach-labs/cockroachdb/values.yaml index e3381a480..a70c3afe9 100644 --- a/charts/cockroach-labs/cockroachdb/values.yaml +++ b/charts/cockroach-labs/cockroachdb/values.yaml @@ -7,7 +7,7 @@ fullnameOverride: "" image: repository: cockroachdb/cockroach - tag: v23.1.10 + tag: v23.1.11 pullPolicy: IfNotPresent credentials: {} # registry: docker.io diff --git a/charts/confluent/confluent-for-kubernetes/Chart.yaml b/charts/confluent/confluent-for-kubernetes/Chart.yaml index 2f9e78bc9..4b7d0c83b 100644 --- a/charts/confluent/confluent-for-kubernetes/Chart.yaml +++ b/charts/confluent/confluent-for-kubernetes/Chart.yaml @@ -19,4 +19,4 @@ maintainers: name: confluent-for-kubernetes sources: - https://docs.confluent.io/current/index.html -version: 0.824.2 +version: 0.824.14 diff --git a/charts/confluent/confluent-for-kubernetes/values.yaml b/charts/confluent/confluent-for-kubernetes/values.yaml index c9a4dd1f3..c5ce662da 100644 --- a/charts/confluent/confluent-for-kubernetes/values.yaml +++ b/charts/confluent/confluent-for-kubernetes/values.yaml @@ -81,7 +81,7 @@ image: registry: docker.io repository: confluentinc/confluent-operator pullPolicy: IfNotPresent - tag: "0.824.2" + tag: "0.824.14" ### ## Priority class for Confluent Operator pod diff --git a/charts/datadog/datadog-operator/CHANGELOG.md b/charts/datadog/datadog-operator/CHANGELOG.md index 2c8ffc87e..46e961871 100644 --- a/charts/datadog/datadog-operator/CHANGELOG.md +++ b/charts/datadog/datadog-operator/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.1.2 + +* Add configuration for Operator flag `operatorMetricsEnabled` : this parameter can be used to disable the Operator metrics forwarder. It is enabled by default. + ## 1.1.1 * Add permissions to curl `/metrics/slis` to operator cluster role. diff --git a/charts/datadog/datadog-operator/Chart.yaml b/charts/datadog/datadog-operator/Chart.yaml index 486b30e56..3a7e2a57a 100644 --- a/charts/datadog/datadog-operator/Chart.yaml +++ b/charts/datadog/datadog-operator/Chart.yaml @@ -26,4 +26,4 @@ name: datadog-operator sources: - https://app.datadoghq.com/account/settings#agent/kubernetes - https://github.com/DataDog/datadog-agent -version: 1.1.1 +version: 1.1.2 diff --git a/charts/datadog/datadog-operator/README.md b/charts/datadog/datadog-operator/README.md index c24dab900..850df07f8 100644 --- a/charts/datadog/datadog-operator/README.md +++ b/charts/datadog/datadog-operator/README.md @@ -1,6 +1,6 @@ # Datadog Operator -![Version: 1.1.1](https://img.shields.io/badge/Version-1.1.1-informational?style=flat-square) ![AppVersion: 1.1.0](https://img.shields.io/badge/AppVersion-1.1.0-informational?style=flat-square) +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: 1.1.0](https://img.shields.io/badge/AppVersion-1.1.0-informational?style=flat-square) ## Values @@ -36,6 +36,7 @@ | metricsPort | int | `8383` | Port used for OpenMetrics endpoint | | nameOverride | string | `""` | Override name of app | | nodeSelector | object | `{}` | Allows to schedule Datadog Operator on specific nodes | +| operatorMetricsEnabled | string | `"true"` | Enable forwarding of Datadog Operator metrics and events to Datadog. | | podAnnotations | object | `{}` | Allows setting additional annotations for Datadog Operator PODs | | podLabels | object | `{}` | Allows setting additional labels for for Datadog Operator PODs | | rbac.create | bool | `true` | Specifies whether the RBAC resources should be created | diff --git a/charts/datadog/datadog-operator/templates/deployment.yaml b/charts/datadog/datadog-operator/templates/deployment.yaml index f696b57c8..b2ada1f84 100644 --- a/charts/datadog/datadog-operator/templates/deployment.yaml +++ b/charts/datadog/datadog-operator/templates/deployment.yaml @@ -93,6 +93,7 @@ spec: - "-logEncoder=json" - "-metrics-addr=:{{ .Values.metricsPort }}" - "-loglevel={{ .Values.logLevel }}" + - "-operatorMetricsEnabled={{ .Values.operatorMetricsEnabled }}" {{- if and (not (empty .Values.datadogCRDs.migration.datadogAgents.conversionWebhook.enabled)) (semverCompare ">=1.0.0-0" .Values.image.tag ) }} - "-webhookEnabled={{ .Values.datadogCRDs.migration.datadogAgents.conversionWebhook.enabled }}" {{- else }} diff --git a/charts/datadog/datadog-operator/values.yaml b/charts/datadog/datadog-operator/values.yaml index a1a4ad3e7..fd05da3d0 100644 --- a/charts/datadog/datadog-operator/values.yaml +++ b/charts/datadog/datadog-operator/values.yaml @@ -58,6 +58,8 @@ logLevel: "info" maximumGoroutines: # supportExtendedDaemonset -- If true, supports using ExtendedDaemonSet CRD supportExtendedDaemonset: "false" +# operatorMetricsEnabled -- Enable forwarding of Datadog Operator metrics and events to Datadog. +operatorMetricsEnabled: "true" # metricsPort -- Port used for OpenMetrics endpoint metricsPort: 8383 secretBackend: diff --git a/charts/datadog/datadog/CHANGELOG.md b/charts/datadog/datadog/CHANGELOG.md index 50a6ad3ef..0325844c9 100644 --- a/charts/datadog/datadog/CHANGELOG.md +++ b/charts/datadog/datadog/CHANGELOG.md @@ -1,5 +1,9 @@ # Datadog changelog +## 3.38.4 + +* Add `orchestrator_explorer.enabled` for the Agent + ## 3.38.3 * Update `fips.image.tag` to `0.6.0` diff --git a/charts/datadog/datadog/Chart.yaml b/charts/datadog/datadog/Chart.yaml index 625902af3..599dcb8d7 100644 --- a/charts/datadog/datadog/Chart.yaml +++ b/charts/datadog/datadog/Chart.yaml @@ -19,4 +19,4 @@ name: datadog sources: - https://app.datadoghq.com/account/settings#agent/kubernetes - https://github.com/DataDog/datadog-agent -version: 3.38.3 +version: 3.38.4 diff --git a/charts/datadog/datadog/README.md b/charts/datadog/datadog/README.md index 3d4cc8ad1..d97692b6c 100644 --- a/charts/datadog/datadog/README.md +++ b/charts/datadog/datadog/README.md @@ -1,6 +1,6 @@ # Datadog -![Version: 3.38.3](https://img.shields.io/badge/Version-3.38.3-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) +![Version: 3.38.4](https://img.shields.io/badge/Version-3.38.4-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) [Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/). diff --git a/charts/datadog/datadog/templates/_container-agent.yaml b/charts/datadog/datadog/templates/_container-agent.yaml index 1e199823f..9c8576808 100644 --- a/charts/datadog/datadog/templates/_container-agent.yaml +++ b/charts/datadog/datadog/templates/_container-agent.yaml @@ -148,6 +148,8 @@ - name: DD_CHECKS_TAG_CARDINALITY value: {{ .Values.datadog.checksCardinality | quote }} {{- end }} + - name: DD_ORCHESTRATOR_EXPLORER_ENABLED + value: {{ (include "should-enable-k8s-resource-monitoring" .) | quote }} - name: DD_EXPVAR_PORT value: {{ .Values.datadog.expvarPort | quote }} - name: DD_COMPLIANCE_CONFIG_ENABLED diff --git a/charts/digitalis/vals-operator/Chart.yaml b/charts/digitalis/vals-operator/Chart.yaml index 5d900567e..8695c743f 100644 --- a/charts/digitalis/vals-operator/Chart.yaml +++ b/charts/digitalis/vals-operator/Chart.yaml @@ -4,7 +4,7 @@ annotations: catalog.cattle.io/kube-version: '>= 1.19.0-0' catalog.cattle.io/release-name: vals-operator apiVersion: v2 -appVersion: v0.7.6 +appVersion: v0.7.7 description: 'This helm chart installs the Digitalis Vals Operator to manage and sync secrets from supported backends into Kubernetes. ## About Vals-Operator Here at [Digitalis](https://digitalis.io) we love [vals](https://github.com/helmfile/vals), @@ -20,4 +20,4 @@ maintainers: name: Digitalis.IO name: vals-operator type: application -version: 0.7.6 +version: 0.7.7 diff --git a/charts/digitalis/vals-operator/README.md b/charts/digitalis/vals-operator/README.md index 2b7c9bacf..1338b762d 100644 --- a/charts/digitalis/vals-operator/README.md +++ b/charts/digitalis/vals-operator/README.md @@ -1,6 +1,6 @@ # vals-operator -![Version: 0.7.5](https://img.shields.io/badge/Version-0.7.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.7.5](https://img.shields.io/badge/AppVersion-v0.7.5-informational?style=flat-square) +![Version: 0.7.7](https://img.shields.io/badge/Version-0.7.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.7.7](https://img.shields.io/badge/AppVersion-v0.7.7-informational?style=flat-square) This helm chart installs the Digitalis Vals Operator to manage and sync secrets from supported backends into Kubernetes. ## About Vals-Operator diff --git a/charts/jfrog/artifactory-ha/CHANGELOG.md b/charts/jfrog/artifactory-ha/CHANGELOG.md index 7123f652a..d96bb987c 100644 --- a/charts/jfrog/artifactory-ha/CHANGELOG.md +++ b/charts/jfrog/artifactory-ha/CHANGELOG.md @@ -1,7 +1,7 @@ # JFrog Artifactory-ha Chart Changelog All changes to this chart will be documented in this file -## [107.68.11] - Sep 20, 2023 +## [107.68.13] - Sep 20, 2023 * Fixed rtfs context * Fixed - Metadata service does not respect customVolumeMounts for DB CAs [GH-1815](https://github.com/jfrog/charts/issues/1815) diff --git a/charts/jfrog/artifactory-ha/Chart.yaml b/charts/jfrog/artifactory-ha/Chart.yaml index 97fc28231..23497a806 100644 --- a/charts/jfrog/artifactory-ha/Chart.yaml +++ b/charts/jfrog/artifactory-ha/Chart.yaml @@ -4,7 +4,7 @@ annotations: catalog.cattle.io/kube-version: '>= 1.14.0-0' catalog.cattle.io/release-name: artifactory-ha apiVersion: v2 -appVersion: 7.68.11 +appVersion: 7.68.13 dependencies: - condition: postgresql.enabled name: postgresql @@ -26,4 +26,4 @@ name: artifactory-ha sources: - https://github.com/jfrog/charts type: application -version: 107.68.11 +version: 107.68.13 diff --git a/charts/jfrog/artifactory-jcr/CHANGELOG.md b/charts/jfrog/artifactory-jcr/CHANGELOG.md index a63810854..1a6ffbb57 100644 --- a/charts/jfrog/artifactory-jcr/CHANGELOG.md +++ b/charts/jfrog/artifactory-jcr/CHANGELOG.md @@ -1,7 +1,7 @@ # JFrog Container Registry Chart Changelog All changes to this chart will be documented in this file. -## [107.68.11] - Jul 20, 2023 +## [107.68.13] - Jul 20, 2023 * Disabled federation services when splitServicesToContainers=true ## [107.45.0] - Aug 25, 2022 diff --git a/charts/jfrog/artifactory-jcr/Chart.yaml b/charts/jfrog/artifactory-jcr/Chart.yaml index a5c52770d..ba815659d 100644 --- a/charts/jfrog/artifactory-jcr/Chart.yaml +++ b/charts/jfrog/artifactory-jcr/Chart.yaml @@ -4,11 +4,11 @@ annotations: catalog.cattle.io/kube-version: '>= 1.14.0-0' catalog.cattle.io/release-name: artifactory-jcr apiVersion: v2 -appVersion: 7.68.11 +appVersion: 7.68.13 dependencies: - name: artifactory repository: file://./charts/artifactory - version: 107.68.11 + version: 107.68.13 description: JFrog Container Registry home: https://jfrog.com/container-registry/ icon: https://raw.githubusercontent.com/jfrog/charts/ea5c3112c24a973f64f3ccd99747323db292a369/stable/artifactory-jcr/logo/jcr-logo.png @@ -27,4 +27,4 @@ name: artifactory-jcr sources: - https://github.com/jfrog/charts type: application -version: 107.68.11 +version: 107.68.13 diff --git a/charts/jfrog/artifactory-jcr/charts/artifactory/CHANGELOG.md b/charts/jfrog/artifactory-jcr/charts/artifactory/CHANGELOG.md index e78c9dfad..0c875b043 100644 --- a/charts/jfrog/artifactory-jcr/charts/artifactory/CHANGELOG.md +++ b/charts/jfrog/artifactory-jcr/charts/artifactory/CHANGELOG.md @@ -1,7 +1,7 @@ # JFrog Artifactory Chart Changelog All changes to this chart will be documented in this file. -## [107.68.11] - Sep 20, 2023 +## [107.68.13] - Sep 20, 2023 * Fixed rtfs context * Fixed - Metadata service does not respect customVolumeMounts for DB CAs [GH-1815](https://github.com/jfrog/charts/issues/1815) diff --git a/charts/jfrog/artifactory-jcr/charts/artifactory/Chart.yaml b/charts/jfrog/artifactory-jcr/charts/artifactory/Chart.yaml index 62d16e900..e4b1e81dd 100644 --- a/charts/jfrog/artifactory-jcr/charts/artifactory/Chart.yaml +++ b/charts/jfrog/artifactory-jcr/charts/artifactory/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 7.68.11 +appVersion: 7.68.13 dependencies: - condition: postgresql.enabled name: postgresql @@ -21,4 +21,4 @@ name: artifactory sources: - https://github.com/jfrog/charts type: application -version: 107.68.11 +version: 107.68.13 diff --git a/charts/kong/kong/CHANGELOG.md b/charts/kong/kong/CHANGELOG.md index 06e6e8289..68ba596f7 100644 --- a/charts/kong/kong/CHANGELOG.md +++ b/charts/kong/kong/CHANGELOG.md @@ -4,6 +4,14 @@ Nothing yet. +## 2.28.1 + +### Fixed + +* The admission webhook now includes Gateway API resources and Ingress + resources for controller versions 2.12+. This version introduces new + validations for Kong's regex path implementation. + ## 2.28.0 ### Improvements diff --git a/charts/kong/kong/Chart.yaml b/charts/kong/kong/Chart.yaml index b92c271e3..c3629f5a3 100644 --- a/charts/kong/kong/Chart.yaml +++ b/charts/kong/kong/Chart.yaml @@ -20,4 +20,4 @@ maintainers: name: kong sources: - https://github.com/Kong/charts/tree/main/charts/kong -version: 2.28.0 +version: 2.28.1 diff --git a/charts/kong/kong/templates/admission-webhook.yaml b/charts/kong/kong/templates/admission-webhook.yaml index f887ccf77..f306acd2f 100644 --- a/charts/kong/kong/templates/admission-webhook.yaml +++ b/charts/kong/kong/templates/admission-webhook.yaml @@ -80,6 +80,28 @@ webhooks: - UPDATE resources: - secrets +{{- if (semverCompare ">= 2.12.0" (include "kong.effectiveVersion" .Values.ingressController.image)) }} + - apiGroups: + - networking.k8s.io + apiVersions: + - 'v1' + operations: + - CREATE + - UPDATE + resources: + - ingresses + - apiGroups: + - gateway.networking.k8s.io + apiVersions: + - 'v1alpha2' + - 'v1beta1' + operations: + - CREATE + - UPDATE + resources: + - gateways + - httproutes +{{- end }} clientConfig: {{- if not .Values.ingressController.admissionWebhook.certificate.provided }} caBundle: {{ b64enc $caCert }} diff --git a/charts/ngrok/kubernetes-ingress-controller/.helmignore b/charts/ngrok/kubernetes-ingress-controller/.helmignore new file mode 100644 index 000000000..faa119839 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/.helmignore @@ -0,0 +1,25 @@ +# Source: https://github.com/helm/helm/blob/main/pkg/repo/repotest/testdata/examplechart/.helmignore +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + +# helmtest plugin tests +tests diff --git a/charts/ngrok/kubernetes-ingress-controller/CHANGELOG.md b/charts/ngrok/kubernetes-ingress-controller/CHANGELOG.md new file mode 100644 index 000000000..bf8934b5b --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/CHANGELOG.md @@ -0,0 +1,106 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.11.0 + +** Important ** This version of the controller changes the ownership model for https edge and tunnel CRs. To ease out the transition to the new ownership, make sure to run `migrate-edges.sh` and `migrate-tunnels.sh` scripts before installing the new version. + +### Changed +- Specify IPPolicyRule action as an enum of (allow,deny) as part of [#260](https://github.com/ngrok/kubernetes-ingress-controller/pull/260) +- Handle special case for changing auth types that causes an error during state transition [#259](https://github.com/ngrok/kubernetes-ingress-controller/pull/259) +- Better handling when changing pathType between 'Exact' and 'Prefix' [#262](https://github.com/ngrok/kubernetes-ingress-controller/pull/262) +- Update ngrok-go to 1.4.0 [#298](https://github.com/ngrok/kubernetes-ingress-controller/pull/298) +- Tunnels are now unique in their respective namespace, not across the cluster [#281](https://github.com/ngrok/kubernetes-ingress-controller/pull/281) +- The CRs that ingress controller creates are uniquely marked and managed by it. Other CRs created manually are no longer deleted when the ingress controller is not using them [#267](https://github.com/ngrok/kubernetes-ingress-controller/issues/267); fixed for tunnel in [#285](https://github.com/ngrok/kubernetes-ingress-controller/pull/285) and for https edges in [#286](https://github.com/ngrok/kubernetes-ingress-controller/pull/286) +- Better error handling and retry, specifically for the case where we try to create an https edge for a domain which is not created yet [#283](https://github.com/ngrok/kubernetes-ingress-controller/issues/283); fixed in [#288](https://github.com/ngrok/kubernetes-ingress-controller/pull/288) +- Watch and apply ngrok module set CR changes [#287](https://github.com/ngrok/kubernetes-ingress-controller/issues/287); fixed in [#290](https://github.com/ngrok/kubernetes-ingress-controller/pull/290) +- Label https edges and tunnels with service UID to make them more unique within ngrok [#291](https://github.com/ngrok/kubernetes-ingress-controller/issues/291); fixed in [#293](https://github.com/ngrok/kubernetes-ingress-controller/pull/293) and [#302](https://github.com/ngrok/kubernetes-ingress-controller/pull/302) + +### Added +- Add support for configuring pod affinities, pod disruption budget, and priorityClassName [#258](https://github.com/ngrok/kubernetes-ingress-controller/pull/258) +- The controller stopping at the first resource create [#270](https://github.com/ngrok/kubernetes-ingress-controller/pull/270) +- Using `make deploy` now requires `NGROK_AUTHTOKEN` and `NGROK_API_KEY` to be set [#292](https://github.com/ngrok/kubernetes-ingress-controller/pull/292) + +## 0.10.0 + +### Added +- Support HTTPS backends via service annotation [#238](https://github.com/ngrok/kubernetes-ingress-controller/pull/238) + +### Changed +- Normalize all ngrok `.io` TLD to `.app` TLD [#240](https://github.com/ngrok/kubernetes-ingress-controller/pull/240) +- Chart Icon + +### Fixed +- Add namespace to secret [#244](https://github.com/ngrok/kubernetes-ingress-controller/pull/244). Thank you for the contribution, @vincetse! + +## 0.9.0 +### Added +- Add a 'podLabels' option to the helm chart [#212](https://github.com/ngrok/kubernetes-ingress-controller/pull/212). +- Permission to `get`,`list`, and `watch` `services` [#222](https://github.com/ngrok-kubernetes-ingress-controller/pull/222). + +## 0.8.0 +### Changed +- Log Level configuration to helm chart [#199](https://github.com/ngrok/kubernetes-ingress-controller/pull/199). +- Bump default controller image to use `0.6.0` release [#204](https://github.com/ngrok/kubernetes-ingress-controller/pull/204). + +### Fixed +- update default-container annotation so logs work correctly [#197](https://github.com/ngrok/kubernetes-ingress-controller/pull/197) + +## 0.7.0 + +### Added +- Update `NgrokModuleSet` and `HTTPSEdge` CRD to support SAML and OAuth + +### Changed +- Update appVersion to `0.5.0` to match the latest release of the controller. + +## 0.6.1 +### Fixed +- Default the image tag to the chart's `appVersion` for predictable installs. Previously, the helm chart would default to the `latest` image tag which can have breaking changes, notably with CRDs. + +## 0.6.0 +### Changed +- Ingress Class has Default set to false [#109](https://github.com/ngrok/kubernetes-ingress-controller/pull/109) + +### Added +- Allow controller name to be configured to support multiple ngrok ingress classes [#159](https://github.com/ngrok/kubernetes-ingress-controller/pull/159) +- Allow the controller to be configured to only watch a single namespace [#157](https://github.com/ngrok/kubernetes-ingress-controller/pull/157) +- Pass key/value pairs to helm that get added as json string metadata in ngrok api resources [#156](https://github.com/ngrok/kubernetes-ingress-controller/pull/156) +- Add IP Policy CRD and IP Policy Route Module [#120](https://github.com/ngrok/kubernetes-ingress-controller/pull/120) +- Load certs from the directory `"/etc/ssl/certs/ngrok/"` for ngrok-go if present [#111](https://github.com/ngrok/kubernetes-ingress-controller/pull/111) + +## 0.5.0 +### Changed +- Renamed chart from `ngrok-ingress-controller` to `kubernetes-ingress-controller`. +- Added CRDs for `domains`, `tcpedges`, and `httpsedges`. + +## 0.4.0 +### Added +- `serverAddr` flag to override the ngrok tunnel server address +- `extraVolumes` to add an arbitrary set of volumes to the controller pod +- `extraVolumeMounts` to add an arbitrary set of volume mounts to the controller container + +## 0.3.1 +### Fixed +- Fixes rendering of `NOTES.txt` when installing via helm + +## 0.3.0 +### Changed + +- Moved from calling ngrok-agent sidecar to using the ngrok-go library in the controller process. +- Moved `apiKey` and `authtoken` to `credentials.apiKey` and `credentials.authtoken` respectively. +- `credentialSecrets.name` is now `credentials.secret.name` +- Changed replicas to 1 by default to work better for default/demo setup. + +## 0.2.0 +### Added + +- Support for different values commonly found in helm charts + +# 0.1.0 + +TODO diff --git a/charts/ngrok/kubernetes-ingress-controller/Chart.lock b/charts/ngrok/kubernetes-ingress-controller/Chart.lock new file mode 100644 index 000000000..eeddc5e19 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://charts.bitnami.com/bitnami + version: 2.10.1 +digest: sha256:54cb57fbf004b3cf03fe382619b87c9d17469340f3d24f506a2dbec185a9455a +generated: "2023-09-08T12:48:02.907551-04:00" diff --git a/charts/ngrok/kubernetes-ingress-controller/Chart.yaml b/charts/ngrok/kubernetes-ingress-controller/Chart.yaml new file mode 100644 index 000000000..b8b1539b5 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/Chart.yaml @@ -0,0 +1,25 @@ +annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: ngrok Ingress Controller + catalog.cattle.io/release-name: kubernetes-ingress-controller +apiVersion: v2 +appVersion: 0.9.0 +dependencies: +- name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x +description: A Kubernetes ingress controller built using ngrok. +home: https://ngrok.com +icon: https://assets-global.website-files.com/63ed4bc7a4b189da942a6b8c/6411ffa0b395a44345ed2b1a_Frame%201.svg +keywords: +- ngrok +- networking +- ingress +- edge +- api gateway +name: kubernetes-ingress-controller +sources: +- https://github.com/ngrok/kubernetes-ingress-controller +version: 0.11.0 diff --git a/charts/ngrok/kubernetes-ingress-controller/README.md b/charts/ngrok/kubernetes-ingress-controller/README.md new file mode 100644 index 000000000..c44eb8eb3 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/README.md @@ -0,0 +1,90 @@ +# ngrok Ingress Controller + +This is the helm chart to install the ngrok ingress controller + +# Usage + +## Prerequisites + +The cluster Must be setup with a secret named `ngrok-ingress-controller-credentials` with the following keys: +* AUTHTOKEN +* API\_KEY + +## Install the controller with helm + +[Helm](https://helm.sh) must be installed to use the charts. Please refer to +Helm's [documentation](https://helm.sh/docs) to get started. + +Once Helm has been set up correctly, add the repo as follows: + +`helm repo add ngrok https://ngrok.github.io/kubernetes-ingress-controller` + +If you had already added this repo earlier, run `helm repo update` to retrieve +the latest versions of the packages. You can then run `helm search repo ngrok` to see the charts. + +To install the ngrok-ingress-controller chart: + +`helm install my-ngrok-ingress-controller ngrok/kubernetes-ingress-controller` + +To uninstall the chart: + +`helm delete my-ngrok-ingress-controller` + + +## Parameters + +### Common parameters + +| Name | Description | Value | +| ------------------- | ----------------------------------------------------- | ----- | +| `nameOverride` | String to partially override generated resource names | `""` | +| `fullnameOverride` | String to fully override generated resource names | `""` | +| `commonLabels` | Labels to add to all deployed objects | `{}` | +| `commonAnnotations` | Annotations to add to all deployed objects | `{}` | + + +### Controller parameters + +| Name | Description | Value | +| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | +| `podAnnotations` | Used to apply custom annotations to the ingress pods. | `{}` | +| `podLabels` | Used to apply custom labels to the ingress pods. | `{}` | +| `replicaCount` | The number of controllers to run. | `1` | +| `image.registry` | The ngrok ingress controller image registry. | `docker.io` | +| `image.repository` | The ngrok ingress controller image repository. | `ngrok/kubernetes-ingress-controller` | +| `image.tag` | The ngrok ingress controller image tag. Defaults to the chart's appVersion if not specified | `""` | +| `image.pullPolicy` | The ngrok ingress controller image pull policy. | `IfNotPresent` | +| `image.pullSecrets` | An array of imagePullSecrets to be used when pulling the image. | `[]` | +| `ingressClass.name` | The name of the ingress class to use. | `ngrok` | +| `ingressClass.create` | Whether to create the ingress class. | `true` | +| `ingressClass.default` | Whether to set the ingress class as default. | `false` | +| `controllerName` | The name of the controller to look for matching ingress classes | `k8s.ngrok.com/ingress-controller` | +| `watchNamespace` | The namespace to watch for ingress resources. Defaults to all | `""` | +| `credentials.secret.name` | The name of the secret the credentials are in. If not provided, one will be generated using the helm release name. | `""` | +| `credentials.apiKey` | Your ngrok API key. If provided, it will be will be written to the secret and the authtoken must be provided as well. | `""` | +| `credentials.authtoken` | Your ngrok authtoken. If provided, it will be will be written to the secret and the apiKey must be provided as well. | `""` | +| `region` | ngrok region to create tunnels in. Defaults to connect to the closest geographical region. | `""` | +| `serverAddr` | This is the URL of the ngrok server to connect to. You should set this if you are using a custom ingress URL. | `""` | +| `metaData` | This is a map of key/value pairs that will be added as meta data to all ngrok api resources created | `{}` | +| `affinity` | Affinity for the controller pod assignment | `{}` | +| `podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` | +| `nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set. | `""` | +| `nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set. | `[]` | +| `priorityClassName` | Priority class for pod scheduling | `""` | +| `podDisruptionBudget.create` | Enable a Pod Disruption Budget creation | `false` | +| `podDisruptionBudget.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` | +| `podDisruptionBudget.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `1` | +| `resources.limits` | The resources limits for the container | `{}` | +| `resources.requests` | The requested resources for the container | `{}` | +| `extraVolumes` | An array of extra volumes to add to the controller. | `[]` | +| `extraVolumeMounts` | An array of extra volume mounts to add to the controller. | `[]` | +| `extraEnv` | an object of extra environment variables to add to the controller. | `{}` | +| `serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` | +| `serviceAccount.name` | The name of the ServiceAccount to use. | `""` | +| `serviceAccount.annotations` | Additional annotations to add to the ServiceAccount | `{}` | +| `log.level` | The level to log at. One of 'debug', 'info', or 'error'. | `info` | +| `log.stacktraceLevel` | The level to report stacktrace logs one of 'info' or 'error'. | `error` | +| `log.format` | The log format to use. One of console, json. | `json` | + diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/.helmignore b/charts/ngrok/kubernetes-ingress-controller/charts/common/.helmignore new file mode 100644 index 000000000..50af03172 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/Chart.yaml b/charts/ngrok/kubernetes-ingress-controller/charts/common/Chart.yaml new file mode 100644 index 000000000..fe30b054e --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/Chart.yaml @@ -0,0 +1,23 @@ +annotations: + category: Infrastructure + licenses: Apache-2.0 +apiVersion: v2 +appVersion: 2.10.1 +description: A Library Helm Chart for grouping common logic between bitnami charts. + This chart is not deployable by itself. +home: https://bitnami.com +icon: https://bitnami.com/downloads/logos/bitnami-mark.png +keywords: +- common +- helper +- template +- function +- bitnami +maintainers: +- name: VMware, Inc. + url: https://github.com/bitnami/charts +name: common +sources: +- https://github.com/bitnami/charts +type: library +version: 2.10.1 diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/README.md b/charts/ngrok/kubernetes-ingress-controller/charts/common/README.md new file mode 100644 index 000000000..fe6a01000 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/README.md @@ -0,0 +1,235 @@ +# Bitnami Common Library Chart + +A [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm) for grouping common logic between Bitnami charts. + +## TL;DR + +```yaml +dependencies: + - name: common + version: 2.x.x + repository: oci://registry-1.docker.io/bitnamicharts +``` + +```console +helm dependency update +``` + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.names.fullname" . }} +data: + myvalue: "Hello World" +``` + +## Introduction + +This chart provides a common template helpers which can be used to develop new charts using [Helm](https://helm.sh) package manager. + +Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment and management of Helm Charts in clusters. + +Looking to use our applications in production? Try [VMware Application Catalog](https://bitnami.com/enterprise), the enterprise edition of Bitnami Application Catalog. + +## Prerequisites + +- Kubernetes 1.19+ +- Helm 3.2.0+ + +## Parameters + +## Special input schemas + +### ImageRoot + +```yaml +registry: + type: string + description: Docker registry where the image is located + example: docker.io + +repository: + type: string + description: Repository and image name + example: bitnami/nginx + +tag: + type: string + description: image tag + example: 1.16.1-debian-10-r63 + +pullPolicy: + type: string + description: Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' + +pullSecrets: + type: array + items: + type: string + description: Optionally specify an array of imagePullSecrets (evaluated as templates). + +debug: + type: boolean + description: Set to true if you would like to see extra information on logs + example: false + +## An instance would be: +# registry: docker.io +# repository: bitnami/nginx +# tag: 1.16.1-debian-10-r63 +# pullPolicy: IfNotPresent +# debug: false +``` + +### Persistence + +```yaml +enabled: + type: boolean + description: Whether enable persistence. + example: true + +storageClass: + type: string + description: Ghost data Persistent Volume Storage Class, If set to "-", storageClassName: "" which disables dynamic provisioning. + example: "-" + +accessMode: + type: string + description: Access mode for the Persistent Volume Storage. + example: ReadWriteOnce + +size: + type: string + description: Size the Persistent Volume Storage. + example: 8Gi + +path: + type: string + description: Path to be persisted. + example: /bitnami + +## An instance would be: +# enabled: true +# storageClass: "-" +# accessMode: ReadWriteOnce +# size: 8Gi +# path: /bitnami +``` + +### ExistingSecret + +```yaml +name: + type: string + description: Name of the existing secret. + example: mySecret +keyMapping: + description: Mapping between the expected key name and the name of the key in the existing secret. + type: object + +## An instance would be: +# name: mySecret +# keyMapping: +# password: myPasswordKey +``` + +#### Example of use + +When we store sensitive data for a deployment in a secret, some times we want to give to users the possibility of using theirs existing secrets. + +```yaml +# templates/secret.yaml +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.names.fullname" . }} + labels: + app: {{ include "common.names.fullname" . }} +type: Opaque +data: + password: {{ .Values.password | b64enc | quote }} + +# templates/dpl.yaml +--- +... + env: + - name: PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "common.secrets.name" (dict "existingSecret" .Values.existingSecret "context" $) }} + key: {{ include "common.secrets.key" (dict "existingSecret" .Values.existingSecret "key" "password") }} +... + +# values.yaml +--- +name: mySecret +keyMapping: + password: myPasswordKey +``` + +### ValidateValue + +#### NOTES.txt + +```console +{{- $validateValueConf00 := (dict "valueKey" "path.to.value00" "secret" "secretName" "field" "password-00") -}} +{{- $validateValueConf01 := (dict "valueKey" "path.to.value01" "secret" "secretName" "field" "password-01") -}} + +{{ include "common.validations.values.multiple.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} +``` + +If we force those values to be empty we will see some alerts + +```console +helm install test mychart --set path.to.value00="",path.to.value01="" + 'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value: + + export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 -d) + + 'path.to.value01' must not be empty, please add '--set path.to.value01=$PASSWORD_01' to the command. To get the current value: + + export PASSWORD_01=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-01}" | base64 -d) +``` + +## Upgrading + +### To 1.0.0 + +[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL. + +#### What changes were introduced in this major version? + +- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field. +- Use `type: library`. [Here](https://v3.helm.sh/docs/faq/#library-chart-support) you can find more information. +- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts + +#### Considerations when upgrading to this version + +- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues +- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore +- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3 + +#### Useful links + +- +- +- + +## License + +Copyright © 2023 VMware, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_affinities.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_affinities.tpl new file mode 100644 index 000000000..e85b1df45 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_affinities.tpl @@ -0,0 +1,139 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} + +{{/* +Return a soft nodeAffinity definition +{{ include "common.affinities.nodes.soft" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} +*/}} +{{- define "common.affinities.nodes.soft" -}} +preferredDuringSchedulingIgnoredDuringExecution: + - preference: + matchExpressions: + - key: {{ .key }} + operator: In + values: + {{- range .values }} + - {{ . | quote }} + {{- end }} + weight: 1 +{{- end -}} + +{{/* +Return a hard nodeAffinity definition +{{ include "common.affinities.nodes.hard" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} +*/}} +{{- define "common.affinities.nodes.hard" -}} +requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: {{ .key }} + operator: In + values: + {{- range .values }} + - {{ . | quote }} + {{- end }} +{{- end -}} + +{{/* +Return a nodeAffinity definition +{{ include "common.affinities.nodes" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} +*/}} +{{- define "common.affinities.nodes" -}} + {{- if eq .type "soft" }} + {{- include "common.affinities.nodes.soft" . -}} + {{- else if eq .type "hard" }} + {{- include "common.affinities.nodes.hard" . -}} + {{- end -}} +{{- end -}} + +{{/* +Return a topologyKey definition +{{ include "common.affinities.topologyKey" (dict "topologyKey" "BAR") -}} +*/}} +{{- define "common.affinities.topologyKey" -}} +{{ .topologyKey | default "kubernetes.io/hostname" -}} +{{- end -}} + +{{/* +Return a soft podAffinity/podAntiAffinity definition +{{ include "common.affinities.pods.soft" (dict "component" "FOO" "customLabels" .Values.podLabels "extraMatchLabels" .Values.extraMatchLabels "topologyKey" "BAR" "extraPodAffinityTerms" .Values.extraPodAffinityTerms "context" $) -}} +*/}} +{{- define "common.affinities.pods.soft" -}} +{{- $component := default "" .component -}} +{{- $customLabels := default (dict) .customLabels -}} +{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} +{{- $extraPodAffinityTerms := default (list) .extraPodAffinityTerms -}} +preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" .context )) | nindent 10 }} + {{- if not (empty $component) }} + {{ printf "app.kubernetes.io/component: %s" $component }} + {{- end }} + {{- range $key, $value := $extraMatchLabels }} + {{ $key }}: {{ $value | quote }} + {{- end }} + topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} + weight: 1 + {{- range $extraPodAffinityTerms }} + - podAffinityTerm: + labelSelector: + matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" $.context )) | nindent 10 }} + {{- if not (empty $component) }} + {{ printf "app.kubernetes.io/component: %s" $component }} + {{- end }} + {{- range $key, $value := .extraMatchLabels }} + {{ $key }}: {{ $value | quote }} + {{- end }} + topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} + weight: {{ .weight | default 1 -}} + {{- end -}} +{{- end -}} + +{{/* +Return a hard podAffinity/podAntiAffinity definition +{{ include "common.affinities.pods.hard" (dict "component" "FOO" "customLabels" .Values.podLabels "extraMatchLabels" .Values.extraMatchLabels "topologyKey" "BAR" "extraPodAffinityTerms" .Values.extraPodAffinityTerms "context" $) -}} +*/}} +{{- define "common.affinities.pods.hard" -}} +{{- $component := default "" .component -}} +{{- $customLabels := default (dict) .customLabels -}} +{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} +{{- $extraPodAffinityTerms := default (list) .extraPodAffinityTerms -}} +requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" .context )) | nindent 8 }} + {{- if not (empty $component) }} + {{ printf "app.kubernetes.io/component: %s" $component }} + {{- end }} + {{- range $key, $value := $extraMatchLabels }} + {{ $key }}: {{ $value | quote }} + {{- end }} + topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} + {{- range $extraPodAffinityTerms }} + - labelSelector: + matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" $.context )) | nindent 8 }} + {{- if not (empty $component) }} + {{ printf "app.kubernetes.io/component: %s" $component }} + {{- end }} + {{- range $key, $value := .extraMatchLabels }} + {{ $key }}: {{ $value | quote }} + {{- end }} + topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} + {{- end -}} +{{- end -}} + +{{/* +Return a podAffinity/podAntiAffinity definition +{{ include "common.affinities.pods" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} +*/}} +{{- define "common.affinities.pods" -}} + {{- if eq .type "soft" }} + {{- include "common.affinities.pods.soft" . -}} + {{- else if eq .type "hard" }} + {{- include "common.affinities.pods.hard" . -}} + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_capabilities.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_capabilities.tpl new file mode 100644 index 000000000..c6d115fe5 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_capabilities.tpl @@ -0,0 +1,185 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} + +{{/* +Return the target Kubernetes version +*/}} +{{- define "common.capabilities.kubeVersion" -}} +{{- if .Values.global }} + {{- if .Values.global.kubeVersion }} + {{- .Values.global.kubeVersion -}} + {{- else }} + {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}} + {{- end -}} +{{- else }} +{{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for poddisruptionbudget. +*/}} +{{- define "common.capabilities.policy.apiVersion" -}} +{{- if semverCompare "<1.21-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "policy/v1beta1" -}} +{{- else -}} +{{- print "policy/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for networkpolicy. +*/}} +{{- define "common.capabilities.networkPolicy.apiVersion" -}} +{{- if semverCompare "<1.7-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "extensions/v1beta1" -}} +{{- else -}} +{{- print "networking.k8s.io/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for cronjob. +*/}} +{{- define "common.capabilities.cronjob.apiVersion" -}} +{{- if semverCompare "<1.21-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "batch/v1beta1" -}} +{{- else -}} +{{- print "batch/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for daemonset. +*/}} +{{- define "common.capabilities.daemonset.apiVersion" -}} +{{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "extensions/v1beta1" -}} +{{- else -}} +{{- print "apps/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for deployment. +*/}} +{{- define "common.capabilities.deployment.apiVersion" -}} +{{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "extensions/v1beta1" -}} +{{- else -}} +{{- print "apps/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for statefulset. +*/}} +{{- define "common.capabilities.statefulset.apiVersion" -}} +{{- if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "apps/v1beta1" -}} +{{- else -}} +{{- print "apps/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for ingress. +*/}} +{{- define "common.capabilities.ingress.apiVersion" -}} +{{- if .Values.ingress -}} +{{- if .Values.ingress.apiVersion -}} +{{- .Values.ingress.apiVersion -}} +{{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "extensions/v1beta1" -}} +{{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "networking.k8s.io/v1beta1" -}} +{{- else -}} +{{- print "networking.k8s.io/v1" -}} +{{- end }} +{{- else if semverCompare "<1.14-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "extensions/v1beta1" -}} +{{- else if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "networking.k8s.io/v1beta1" -}} +{{- else -}} +{{- print "networking.k8s.io/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for RBAC resources. +*/}} +{{- define "common.capabilities.rbac.apiVersion" -}} +{{- if semverCompare "<1.17-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "rbac.authorization.k8s.io/v1beta1" -}} +{{- else -}} +{{- print "rbac.authorization.k8s.io/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for CRDs. +*/}} +{{- define "common.capabilities.crd.apiVersion" -}} +{{- if semverCompare "<1.19-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "apiextensions.k8s.io/v1beta1" -}} +{{- else -}} +{{- print "apiextensions.k8s.io/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for APIService. +*/}} +{{- define "common.capabilities.apiService.apiVersion" -}} +{{- if semverCompare "<1.10-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "apiregistration.k8s.io/v1beta1" -}} +{{- else -}} +{{- print "apiregistration.k8s.io/v1" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for Horizontal Pod Autoscaler. +*/}} +{{- define "common.capabilities.hpa.apiVersion" -}} +{{- if semverCompare "<1.23-0" (include "common.capabilities.kubeVersion" .context) -}} +{{- if .beta2 -}} +{{- print "autoscaling/v2beta2" -}} +{{- else -}} +{{- print "autoscaling/v2beta1" -}} +{{- end -}} +{{- else -}} +{{- print "autoscaling/v2" -}} +{{- end -}} +{{- end -}} + +{{/* +Return the appropriate apiVersion for Vertical Pod Autoscaler. +*/}} +{{- define "common.capabilities.vpa.apiVersion" -}} +{{- if semverCompare "<1.23-0" (include "common.capabilities.kubeVersion" .context) -}} +{{- if .beta2 -}} +{{- print "autoscaling/v2beta2" -}} +{{- else -}} +{{- print "autoscaling/v2beta1" -}} +{{- end -}} +{{- else -}} +{{- print "autoscaling/v2" -}} +{{- end -}} +{{- end -}} + +{{/* +Returns true if the used Helm version is 3.3+. +A way to check the used Helm version was not introduced until version 3.3.0 with .Capabilities.HelmVersion, which contains an additional "{}}" structure. +This check is introduced as a regexMatch instead of {{ if .Capabilities.HelmVersion }} because checking for the key HelmVersion in <3.3 results in a "interface not found" error. +**To be removed when the catalog's minimun Helm version is 3.3** +*/}} +{{- define "common.capabilities.supportsHelmVersion" -}} +{{- if regexMatch "{(v[0-9])*[^}]*}}$" (.Capabilities | toString ) }} + {{- true -}} +{{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_errors.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_errors.tpl new file mode 100644 index 000000000..07ded6f64 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_errors.tpl @@ -0,0 +1,28 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Through error when upgrading using empty passwords values that must not be empty. + +Usage: +{{- $validationError00 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password00" "secret" "secretName" "field" "password-00") -}} +{{- $validationError01 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password01" "secret" "secretName" "field" "password-01") -}} +{{ include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $validationError00 $validationError01) "context" $) }} + +Required password params: + - validationErrors - String - Required. List of validation strings to be return, if it is empty it won't throw error. + - context - Context - Required. Parent context. +*/}} +{{- define "common.errors.upgrade.passwords.empty" -}} + {{- $validationErrors := join "" .validationErrors -}} + {{- if and $validationErrors .context.Release.IsUpgrade -}} + {{- $errorString := "\nPASSWORDS ERROR: You must provide your current passwords when upgrading the release." -}} + {{- $errorString = print $errorString "\n Note that even after reinstallation, old credentials may be needed as they may be kept in persistent volume claims." -}} + {{- $errorString = print $errorString "\n Further information can be obtained at https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues/#credential-errors-while-upgrading-chart-releases" -}} + {{- $errorString = print $errorString "\n%s" -}} + {{- printf $errorString $validationErrors | fail -}} + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_images.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_images.tpl new file mode 100644 index 000000000..2181f3224 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_images.tpl @@ -0,0 +1,85 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Return the proper image name +{{ include "common.images.image" ( dict "imageRoot" .Values.path.to.the.image "global" .Values.global ) }} +*/}} +{{- define "common.images.image" -}} +{{- $registryName := .imageRoot.registry -}} +{{- $repositoryName := .imageRoot.repository -}} +{{- $separator := ":" -}} +{{- $termination := .imageRoot.tag | toString -}} +{{- if .global }} + {{- if .global.imageRegistry }} + {{- $registryName = .global.imageRegistry -}} + {{- end -}} +{{- end -}} +{{- if .imageRoot.digest }} + {{- $separator = "@" -}} + {{- $termination = .imageRoot.digest | toString -}} +{{- end -}} +{{- if $registryName }} + {{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}} +{{- else -}} + {{- printf "%s%s%s" $repositoryName $separator $termination -}} +{{- end -}} +{{- end -}} + +{{/* +Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) +{{ include "common.images.pullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global) }} +*/}} +{{- define "common.images.pullSecrets" -}} + {{- $pullSecrets := list }} + + {{- if .global }} + {{- range .global.imagePullSecrets -}} + {{- $pullSecrets = append $pullSecrets . -}} + {{- end -}} + {{- end -}} + + {{- range .images -}} + {{- range .pullSecrets -}} + {{- $pullSecrets = append $pullSecrets . -}} + {{- end -}} + {{- end -}} + + {{- if (not (empty $pullSecrets)) }} +imagePullSecrets: + {{- range $pullSecrets | uniq }} + - name: {{ . }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Return the proper Docker Image Registry Secret Names evaluating values as templates +{{ include "common.images.renderPullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $) }} +*/}} +{{- define "common.images.renderPullSecrets" -}} + {{- $pullSecrets := list }} + {{- $context := .context }} + + {{- if $context.Values.global }} + {{- range $context.Values.global.imagePullSecrets -}} + {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} + {{- end -}} + {{- end -}} + + {{- range .images -}} + {{- range .pullSecrets -}} + {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} + {{- end -}} + {{- end -}} + + {{- if (not (empty $pullSecrets)) }} +imagePullSecrets: + {{- range $pullSecrets | uniq }} + - name: {{ . }} + {{- end }} + {{- end }} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_ingress.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_ingress.tpl new file mode 100644 index 000000000..efa5b85c7 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_ingress.tpl @@ -0,0 +1,73 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} + +{{/* +Generate backend entry that is compatible with all Kubernetes API versions. + +Usage: +{{ include "common.ingress.backend" (dict "serviceName" "backendName" "servicePort" "backendPort" "context" $) }} + +Params: + - serviceName - String. Name of an existing service backend + - servicePort - String/Int. Port name (or number) of the service. It will be translated to different yaml depending if it is a string or an integer. + - context - Dict - Required. The context for the template evaluation. +*/}} +{{- define "common.ingress.backend" -}} +{{- $apiVersion := (include "common.capabilities.ingress.apiVersion" .context) -}} +{{- if or (eq $apiVersion "extensions/v1beta1") (eq $apiVersion "networking.k8s.io/v1beta1") -}} +serviceName: {{ .serviceName }} +servicePort: {{ .servicePort }} +{{- else -}} +service: + name: {{ .serviceName }} + port: + {{- if typeIs "string" .servicePort }} + name: {{ .servicePort }} + {{- else if or (typeIs "int" .servicePort) (typeIs "float64" .servicePort) }} + number: {{ .servicePort | int }} + {{- end }} +{{- end -}} +{{- end -}} + +{{/* +Print "true" if the API pathType field is supported +Usage: +{{ include "common.ingress.supportsPathType" . }} +*/}} +{{- define "common.ingress.supportsPathType" -}} +{{- if (semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .)) -}} +{{- print "false" -}} +{{- else -}} +{{- print "true" -}} +{{- end -}} +{{- end -}} + +{{/* +Returns true if the ingressClassname field is supported +Usage: +{{ include "common.ingress.supportsIngressClassname" . }} +*/}} +{{- define "common.ingress.supportsIngressClassname" -}} +{{- if semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .) -}} +{{- print "false" -}} +{{- else -}} +{{- print "true" -}} +{{- end -}} +{{- end -}} + +{{/* +Return true if cert-manager required annotations for TLS signed +certificates are set in the Ingress annotations +Ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations +Usage: +{{ include "common.ingress.certManagerRequest" ( dict "annotations" .Values.path.to.the.ingress.annotations ) }} +*/}} +{{- define "common.ingress.certManagerRequest" -}} +{{ if or (hasKey .annotations "cert-manager.io/cluster-issuer") (hasKey .annotations "cert-manager.io/issuer") (hasKey .annotations "kubernetes.io/tls-acme") }} + {{- true -}} +{{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_labels.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_labels.tpl new file mode 100644 index 000000000..a0534f7f9 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_labels.tpl @@ -0,0 +1,39 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} + +{{/* +Kubernetes standard labels +{{ include "common.labels.standard" (dict "customLabels" .Values.commonLabels "context" $) -}} +*/}} +{{- define "common.labels.standard" -}} +{{- if and (hasKey . "customLabels") (hasKey . "context") -}} +{{ merge (include "common.tplvalues.render" (dict "value" .customLabels "context" .context) | fromYaml) (dict "app.kubernetes.io/name" (include "common.names.name" .context) "helm.sh/chart" (include "common.names.chart" .context) "app.kubernetes.io/instance" .context.Release.Name "app.kubernetes.io/managed-by" .context.Release.Service) | toYaml }} +{{- else -}} +app.kubernetes.io/name: {{ include "common.names.name" . }} +helm.sh/chart: {{ include "common.names.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} +{{- end -}} + +{{/* +Labels used on immutable fields such as deploy.spec.selector.matchLabels or svc.spec.selector +{{ include "common.labels.matchLabels" (dict "customLabels" .Values.podLabels "context" $) -}} + +We don't want to loop over custom labels appending them to the selector +since it's very likely that it will break deployments, services, etc. +However, it's important to overwrite the standard labels if the user +overwrote them on metadata.labels fields. +*/}} +{{- define "common.labels.matchLabels" -}} +{{- if and (hasKey . "customLabels") (hasKey . "context") -}} +{{ merge (pick (include "common.tplvalues.render" (dict "value" .customLabels "context" .context) | fromYaml) "app.kubernetes.io/name" "app.kubernetes.io/instance") (dict "app.kubernetes.io/name" (include "common.names.name" .context) "app.kubernetes.io/instance" .context.Release.Name ) | toYaml }} +{{- else -}} +app.kubernetes.io/name: {{ include "common.names.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_names.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_names.tpl new file mode 100644 index 000000000..a222924f1 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_names.tpl @@ -0,0 +1,71 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "common.names.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "common.names.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "common.names.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create a default fully qualified dependency name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +Usage: +{{ include "common.names.dependency.fullname" (dict "chartName" "dependency-chart-name" "chartValues" .Values.dependency-chart "context" $) }} +*/}} +{{- define "common.names.dependency.fullname" -}} +{{- if .chartValues.fullnameOverride -}} +{{- .chartValues.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .chartName .chartValues.nameOverride -}} +{{- if contains $name .context.Release.Name -}} +{{- .context.Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .context.Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Allow the release namespace to be overridden for multi-namespace deployments in combined charts. +*/}} +{{- define "common.names.namespace" -}} +{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a fully qualified app name adding the installation's namespace. +*/}} +{{- define "common.names.fullname.namespace" -}} +{{- printf "%s-%s" (include "common.names.fullname" .) (include "common.names.namespace" .) | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_secrets.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_secrets.tpl new file mode 100644 index 000000000..a193c46b6 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_secrets.tpl @@ -0,0 +1,172 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Generate secret name. + +Usage: +{{ include "common.secrets.name" (dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $) }} + +Params: + - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user + to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. + +info: https://github.com/bitnami/charts/tree/main/bitnami/common#existingsecret + - defaultNameSuffix - String - Optional. It is used only if we have several secrets in the same deployment. + - context - Dict - Required. The context for the template evaluation. +*/}} +{{- define "common.secrets.name" -}} +{{- $name := (include "common.names.fullname" .context) -}} + +{{- if .defaultNameSuffix -}} +{{- $name = printf "%s-%s" $name .defaultNameSuffix | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- with .existingSecret -}} +{{- if not (typeIs "string" .) -}} +{{- with .name -}} +{{- $name = . -}} +{{- end -}} +{{- else -}} +{{- $name = . -}} +{{- end -}} +{{- end -}} + +{{- printf "%s" $name -}} +{{- end -}} + +{{/* +Generate secret key. + +Usage: +{{ include "common.secrets.key" (dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName") }} + +Params: + - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user + to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. + +info: https://github.com/bitnami/charts/tree/main/bitnami/common#existingsecret + - key - String - Required. Name of the key in the secret. +*/}} +{{- define "common.secrets.key" -}} +{{- $key := .key -}} + +{{- if .existingSecret -}} + {{- if not (typeIs "string" .existingSecret) -}} + {{- if .existingSecret.keyMapping -}} + {{- $key = index .existingSecret.keyMapping $.key -}} + {{- end -}} + {{- end }} +{{- end -}} + +{{- printf "%s" $key -}} +{{- end -}} + +{{/* +Generate secret password or retrieve one if already created. + +Usage: +{{ include "common.secrets.passwords.manage" (dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "context" $) }} + +Params: + - secret - String - Required - Name of the 'Secret' resource where the password is stored. + - key - String - Required - Name of the key in the secret. + - providedValues - List - Required - The path to the validating value in the values.yaml, e.g: "mysql.password". Will pick first parameter with a defined value. + - length - int - Optional - Length of the generated random password. + - strong - Boolean - Optional - Whether to add symbols to the generated random password. + - chartName - String - Optional - Name of the chart used when said chart is deployed as a subchart. + - context - Context - Required - Parent context. + - failOnNew - Boolean - Optional - Default to true. If set to false, skip errors adding new keys to existing secrets. +The order in which this function returns a secret password: + 1. Already existing 'Secret' resource + (If a 'Secret' resource is found under the name provided to the 'secret' parameter to this function and that 'Secret' resource contains a key with the name passed as the 'key' parameter to this function then the value of this existing secret password will be returned) + 2. Password provided via the values.yaml + (If one of the keys passed to the 'providedValues' parameter to this function is a valid path to a key in the values.yaml and has a value, the value of the first key with a value will be returned) + 3. Randomly generated secret password + (A new random secret password with the length specified in the 'length' parameter will be generated and returned) + +*/}} +{{- define "common.secrets.passwords.manage" -}} + +{{- $password := "" }} +{{- $subchart := "" }} +{{- $failOnNew := default true .failOnNew }} +{{- $chartName := default "" .chartName }} +{{- $passwordLength := default 10 .length }} +{{- $providedPasswordKey := include "common.utils.getKeyFromList" (dict "keys" .providedValues "context" $.context) }} +{{- $providedPasswordValue := include "common.utils.getValueFromKey" (dict "key" $providedPasswordKey "context" $.context) }} +{{- $secretData := (lookup "v1" "Secret" (include "common.names.namespace" .context) .secret).data }} +{{- if $secretData }} + {{- if hasKey $secretData .key }} + {{- $password = index $secretData .key | quote }} + {{- else if $failOnNew }} + {{- printf "\nPASSWORDS ERROR: The secret \"%s\" does not contain the key \"%s\"\n" .secret .key | fail -}} + {{- end -}} +{{- else if $providedPasswordValue }} + {{- $password = $providedPasswordValue | toString | b64enc | quote }} +{{- else }} + + {{- if .context.Values.enabled }} + {{- $subchart = $chartName }} + {{- end -}} + + {{- $requiredPassword := dict "valueKey" $providedPasswordKey "secret" .secret "field" .key "subchart" $subchart "context" $.context -}} + {{- $requiredPasswordError := include "common.validations.values.single.empty" $requiredPassword -}} + {{- $passwordValidationErrors := list $requiredPasswordError -}} + {{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" $passwordValidationErrors "context" $.context) -}} + + {{- if .strong }} + {{- $subStr := list (lower (randAlpha 1)) (randNumeric 1) (upper (randAlpha 1)) | join "_" }} + {{- $password = randAscii $passwordLength }} + {{- $password = regexReplaceAllLiteral "\\W" $password "@" | substr 5 $passwordLength }} + {{- $password = printf "%s%s" $subStr $password | toString | shuffle | b64enc | quote }} + {{- else }} + {{- $password = randAlphaNum $passwordLength | b64enc | quote }} + {{- end }} +{{- end -}} +{{- printf "%s" $password -}} +{{- end -}} + +{{/* +Reuses the value from an existing secret, otherwise sets its value to a default value. + +Usage: +{{ include "common.secrets.lookup" (dict "secret" "secret-name" "key" "keyName" "defaultValue" .Values.myValue "context" $) }} + +Params: + - secret - String - Required - Name of the 'Secret' resource where the password is stored. + - key - String - Required - Name of the key in the secret. + - defaultValue - String - Required - The path to the validating value in the values.yaml, e.g: "mysql.password". Will pick first parameter with a defined value. + - context - Context - Required - Parent context. + +*/}} +{{- define "common.secrets.lookup" -}} +{{- $value := "" -}} +{{- $secretData := (lookup "v1" "Secret" (include "common.names.namespace" .context) .secret).data -}} +{{- if and $secretData (hasKey $secretData .key) -}} + {{- $value = index $secretData .key -}} +{{- else if .defaultValue -}} + {{- $value = .defaultValue | toString | b64enc -}} +{{- end -}} +{{- if $value -}} +{{- printf "%s" $value -}} +{{- end -}} +{{- end -}} + +{{/* +Returns whether a previous generated secret already exists + +Usage: +{{ include "common.secrets.exists" (dict "secret" "secret-name" "context" $) }} + +Params: + - secret - String - Required - Name of the 'Secret' resource where the password is stored. + - context - Context - Required - Parent context. +*/}} +{{- define "common.secrets.exists" -}} +{{- $secret := (lookup "v1" "Secret" (include "common.names.namespace" .context) .secret) }} +{{- if $secret }} + {{- true -}} +{{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_storage.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_storage.tpl new file mode 100644 index 000000000..16405a0f8 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_storage.tpl @@ -0,0 +1,28 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Return the proper Storage Class +{{ include "common.storage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }} +*/}} +{{- define "common.storage.class" -}} + +{{- $storageClass := .persistence.storageClass -}} +{{- if .global -}} + {{- if .global.storageClass -}} + {{- $storageClass = .global.storageClass -}} + {{- end -}} +{{- end -}} + +{{- if $storageClass -}} + {{- if (eq "-" $storageClass) -}} + {{- printf "storageClassName: \"\"" -}} + {{- else }} + {{- printf "storageClassName: %s" $storageClass -}} + {{- end -}} +{{- end -}} + +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_tplvalues.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_tplvalues.tpl new file mode 100644 index 000000000..a8ed7637e --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_tplvalues.tpl @@ -0,0 +1,38 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Renders a value that contains template perhaps with scope if the scope is present. +Usage: +{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $ ) }} +{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $ "scope" $app ) }} +*/}} +{{- define "common.tplvalues.render" -}} +{{- $value := typeIs "string" .value | ternary .value (.value | toYaml) }} +{{- if contains "{{" (toJson .value) }} + {{- if .scope }} + {{- tpl (cat "{{- with $.RelativeScope -}}" $value "{{- end }}") (merge (dict "RelativeScope" .scope) .context) }} + {{- else }} + {{- tpl $value .context }} + {{- end }} +{{- else }} + {{- $value }} +{{- end }} +{{- end -}} + +{{/* +Merge a list of values that contains template after rendering them. +Merge precedence is consistent with http://masterminds.github.io/sprig/dicts.html#merge-mustmerge +Usage: +{{ include "common.tplvalues.merge" ( dict "values" (list .Values.path.to.the.Value1 .Values.path.to.the.Value2) "context" $ ) }} +*/}} +{{- define "common.tplvalues.merge" -}} +{{- $dst := dict -}} +{{- range .values -}} +{{- $dst = include "common.tplvalues.render" (dict "value" . "context" $.context "scope" $.scope) | fromYaml | merge $dst -}} +{{- end -}} +{{ $dst | toYaml }} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_utils.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_utils.tpl new file mode 100644 index 000000000..c87040cd9 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_utils.tpl @@ -0,0 +1,67 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Print instructions to get a secret value. +Usage: +{{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }} +*/}} +{{- define "common.utils.secret.getvalue" -}} +{{- $varname := include "common.utils.fieldToEnvVar" . -}} +export {{ $varname }}=$(kubectl get secret --namespace {{ include "common.names.namespace" .context | quote }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 -d) +{{- end -}} + +{{/* +Build env var name given a field +Usage: +{{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }} +*/}} +{{- define "common.utils.fieldToEnvVar" -}} + {{- $fieldNameSplit := splitList "-" .field -}} + {{- $upperCaseFieldNameSplit := list -}} + + {{- range $fieldNameSplit -}} + {{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}} + {{- end -}} + + {{ join "_" $upperCaseFieldNameSplit }} +{{- end -}} + +{{/* +Gets a value from .Values given +Usage: +{{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }} +*/}} +{{- define "common.utils.getValueFromKey" -}} +{{- $splitKey := splitList "." .key -}} +{{- $value := "" -}} +{{- $latestObj := $.context.Values -}} +{{- range $splitKey -}} + {{- if not $latestObj -}} + {{- printf "please review the entire path of '%s' exists in values" $.key | fail -}} + {{- end -}} + {{- $value = ( index $latestObj . ) -}} + {{- $latestObj = $value -}} +{{- end -}} +{{- printf "%v" (default "" $value) -}} +{{- end -}} + +{{/* +Returns first .Values key with a defined value or first of the list if all non-defined +Usage: +{{ include "common.utils.getKeyFromList" (dict "keys" (list "path.to.key1" "path.to.key2") "context" $) }} +*/}} +{{- define "common.utils.getKeyFromList" -}} +{{- $key := first .keys -}} +{{- $reverseKeys := reverse .keys }} +{{- range $reverseKeys }} + {{- $value := include "common.utils.getValueFromKey" (dict "key" . "context" $.context ) }} + {{- if $value -}} + {{- $key = . }} + {{- end -}} +{{- end -}} +{{- printf "%s" $key -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_warnings.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_warnings.tpl new file mode 100644 index 000000000..66dffc1fe --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/_warnings.tpl @@ -0,0 +1,19 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Warning about using rolling tag. +Usage: +{{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} +*/}} +{{- define "common.warnings.rollingTag" -}} + +{{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} +WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. ++info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ +{{- end }} + +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_cassandra.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_cassandra.tpl new file mode 100644 index 000000000..eda9aada5 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_cassandra.tpl @@ -0,0 +1,77 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Validate Cassandra required passwords are not empty. + +Usage: +{{ include "common.validations.values.cassandra.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} +Params: + - secret - String - Required. Name of the secret where Cassandra values are stored, e.g: "cassandra-passwords-secret" + - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false +*/}} +{{- define "common.validations.values.cassandra.passwords" -}} + {{- $existingSecret := include "common.cassandra.values.existingSecret" . -}} + {{- $enabled := include "common.cassandra.values.enabled" . -}} + {{- $dbUserPrefix := include "common.cassandra.values.key.dbUser" . -}} + {{- $valueKeyPassword := printf "%s.password" $dbUserPrefix -}} + + {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") -}} + {{- $requiredPasswords := list -}} + + {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "cassandra-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} + + {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} + + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for existingSecret. + +Usage: +{{ include "common.cassandra.values.existingSecret" (dict "context" $) }} +Params: + - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false +*/}} +{{- define "common.cassandra.values.existingSecret" -}} + {{- if .subchart -}} + {{- .context.Values.cassandra.dbUser.existingSecret | quote -}} + {{- else -}} + {{- .context.Values.dbUser.existingSecret | quote -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for enabled cassandra. + +Usage: +{{ include "common.cassandra.values.enabled" (dict "context" $) }} +*/}} +{{- define "common.cassandra.values.enabled" -}} + {{- if .subchart -}} + {{- printf "%v" .context.Values.cassandra.enabled -}} + {{- else -}} + {{- printf "%v" (not .context.Values.enabled) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for the key dbUser + +Usage: +{{ include "common.cassandra.values.key.dbUser" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false +*/}} +{{- define "common.cassandra.values.key.dbUser" -}} + {{- if .subchart -}} + cassandra.dbUser + {{- else -}} + dbUser + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mariadb.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mariadb.tpl new file mode 100644 index 000000000..17d83a2fd --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mariadb.tpl @@ -0,0 +1,108 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Validate MariaDB required passwords are not empty. + +Usage: +{{ include "common.validations.values.mariadb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} +Params: + - secret - String - Required. Name of the secret where MariaDB values are stored, e.g: "mysql-passwords-secret" + - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false +*/}} +{{- define "common.validations.values.mariadb.passwords" -}} + {{- $existingSecret := include "common.mariadb.values.auth.existingSecret" . -}} + {{- $enabled := include "common.mariadb.values.enabled" . -}} + {{- $architecture := include "common.mariadb.values.architecture" . -}} + {{- $authPrefix := include "common.mariadb.values.key.auth" . -}} + {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} + {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} + {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} + {{- $valueKeyReplicationPassword := printf "%s.replicationPassword" $authPrefix -}} + + {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") -}} + {{- $requiredPasswords := list -}} + + {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mariadb-root-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} + + {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} + {{- if not (empty $valueUsername) -}} + {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mariadb-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} + {{- end -}} + + {{- if (eq $architecture "replication") -}} + {{- $requiredReplicationPassword := dict "valueKey" $valueKeyReplicationPassword "secret" .secret "field" "mariadb-replication-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredReplicationPassword -}} + {{- end -}} + + {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} + + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for existingSecret. + +Usage: +{{ include "common.mariadb.values.auth.existingSecret" (dict "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false +*/}} +{{- define "common.mariadb.values.auth.existingSecret" -}} + {{- if .subchart -}} + {{- .context.Values.mariadb.auth.existingSecret | quote -}} + {{- else -}} + {{- .context.Values.auth.existingSecret | quote -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for enabled mariadb. + +Usage: +{{ include "common.mariadb.values.enabled" (dict "context" $) }} +*/}} +{{- define "common.mariadb.values.enabled" -}} + {{- if .subchart -}} + {{- printf "%v" .context.Values.mariadb.enabled -}} + {{- else -}} + {{- printf "%v" (not .context.Values.enabled) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for architecture + +Usage: +{{ include "common.mariadb.values.architecture" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false +*/}} +{{- define "common.mariadb.values.architecture" -}} + {{- if .subchart -}} + {{- .context.Values.mariadb.architecture -}} + {{- else -}} + {{- .context.Values.architecture -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for the key auth + +Usage: +{{ include "common.mariadb.values.key.auth" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false +*/}} +{{- define "common.mariadb.values.key.auth" -}} + {{- if .subchart -}} + mariadb.auth + {{- else -}} + auth + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mongodb.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mongodb.tpl new file mode 100644 index 000000000..bbb445b86 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mongodb.tpl @@ -0,0 +1,113 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Validate MongoDB® required passwords are not empty. + +Usage: +{{ include "common.validations.values.mongodb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} +Params: + - secret - String - Required. Name of the secret where MongoDB® values are stored, e.g: "mongodb-passwords-secret" + - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false +*/}} +{{- define "common.validations.values.mongodb.passwords" -}} + {{- $existingSecret := include "common.mongodb.values.auth.existingSecret" . -}} + {{- $enabled := include "common.mongodb.values.enabled" . -}} + {{- $authPrefix := include "common.mongodb.values.key.auth" . -}} + {{- $architecture := include "common.mongodb.values.architecture" . -}} + {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} + {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} + {{- $valueKeyDatabase := printf "%s.database" $authPrefix -}} + {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} + {{- $valueKeyReplicaSetKey := printf "%s.replicaSetKey" $authPrefix -}} + {{- $valueKeyAuthEnabled := printf "%s.enabled" $authPrefix -}} + + {{- $authEnabled := include "common.utils.getValueFromKey" (dict "key" $valueKeyAuthEnabled "context" .context) -}} + + {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") (eq $authEnabled "true") -}} + {{- $requiredPasswords := list -}} + + {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mongodb-root-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} + + {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} + {{- $valueDatabase := include "common.utils.getValueFromKey" (dict "key" $valueKeyDatabase "context" .context) }} + {{- if and $valueUsername $valueDatabase -}} + {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mongodb-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} + {{- end -}} + + {{- if (eq $architecture "replicaset") -}} + {{- $requiredReplicaSetKey := dict "valueKey" $valueKeyReplicaSetKey "secret" .secret "field" "mongodb-replica-set-key" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredReplicaSetKey -}} + {{- end -}} + + {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} + + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for existingSecret. + +Usage: +{{ include "common.mongodb.values.auth.existingSecret" (dict "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MongoDb is used as subchart or not. Default: false +*/}} +{{- define "common.mongodb.values.auth.existingSecret" -}} + {{- if .subchart -}} + {{- .context.Values.mongodb.auth.existingSecret | quote -}} + {{- else -}} + {{- .context.Values.auth.existingSecret | quote -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for enabled mongodb. + +Usage: +{{ include "common.mongodb.values.enabled" (dict "context" $) }} +*/}} +{{- define "common.mongodb.values.enabled" -}} + {{- if .subchart -}} + {{- printf "%v" .context.Values.mongodb.enabled -}} + {{- else -}} + {{- printf "%v" (not .context.Values.enabled) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for the key auth + +Usage: +{{ include "common.mongodb.values.key.auth" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false +*/}} +{{- define "common.mongodb.values.key.auth" -}} + {{- if .subchart -}} + mongodb.auth + {{- else -}} + auth + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for architecture + +Usage: +{{ include "common.mongodb.values.architecture" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false +*/}} +{{- define "common.mongodb.values.architecture" -}} + {{- if .subchart -}} + {{- .context.Values.mongodb.architecture -}} + {{- else -}} + {{- .context.Values.architecture -}} + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mysql.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mysql.tpl new file mode 100644 index 000000000..ca3953f86 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_mysql.tpl @@ -0,0 +1,108 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Validate MySQL required passwords are not empty. + +Usage: +{{ include "common.validations.values.mysql.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} +Params: + - secret - String - Required. Name of the secret where MySQL values are stored, e.g: "mysql-passwords-secret" + - subchart - Boolean - Optional. Whether MySQL is used as subchart or not. Default: false +*/}} +{{- define "common.validations.values.mysql.passwords" -}} + {{- $existingSecret := include "common.mysql.values.auth.existingSecret" . -}} + {{- $enabled := include "common.mysql.values.enabled" . -}} + {{- $architecture := include "common.mysql.values.architecture" . -}} + {{- $authPrefix := include "common.mysql.values.key.auth" . -}} + {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} + {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} + {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} + {{- $valueKeyReplicationPassword := printf "%s.replicationPassword" $authPrefix -}} + + {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") -}} + {{- $requiredPasswords := list -}} + + {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mysql-root-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} + + {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} + {{- if not (empty $valueUsername) -}} + {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mysql-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} + {{- end -}} + + {{- if (eq $architecture "replication") -}} + {{- $requiredReplicationPassword := dict "valueKey" $valueKeyReplicationPassword "secret" .secret "field" "mysql-replication-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredReplicationPassword -}} + {{- end -}} + + {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} + + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for existingSecret. + +Usage: +{{ include "common.mysql.values.auth.existingSecret" (dict "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MySQL is used as subchart or not. Default: false +*/}} +{{- define "common.mysql.values.auth.existingSecret" -}} + {{- if .subchart -}} + {{- .context.Values.mysql.auth.existingSecret | quote -}} + {{- else -}} + {{- .context.Values.auth.existingSecret | quote -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for enabled mysql. + +Usage: +{{ include "common.mysql.values.enabled" (dict "context" $) }} +*/}} +{{- define "common.mysql.values.enabled" -}} + {{- if .subchart -}} + {{- printf "%v" .context.Values.mysql.enabled -}} + {{- else -}} + {{- printf "%v" (not .context.Values.enabled) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for architecture + +Usage: +{{ include "common.mysql.values.architecture" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MySQL is used as subchart or not. Default: false +*/}} +{{- define "common.mysql.values.architecture" -}} + {{- if .subchart -}} + {{- .context.Values.mysql.architecture -}} + {{- else -}} + {{- .context.Values.architecture -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for the key auth + +Usage: +{{ include "common.mysql.values.key.auth" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether MySQL is used as subchart or not. Default: false +*/}} +{{- define "common.mysql.values.key.auth" -}} + {{- if .subchart -}} + mysql.auth + {{- else -}} + auth + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_postgresql.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_postgresql.tpl new file mode 100644 index 000000000..8c9aa570e --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_postgresql.tpl @@ -0,0 +1,134 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Validate PostgreSQL required passwords are not empty. + +Usage: +{{ include "common.validations.values.postgresql.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} +Params: + - secret - String - Required. Name of the secret where postgresql values are stored, e.g: "postgresql-passwords-secret" + - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false +*/}} +{{- define "common.validations.values.postgresql.passwords" -}} + {{- $existingSecret := include "common.postgresql.values.existingSecret" . -}} + {{- $enabled := include "common.postgresql.values.enabled" . -}} + {{- $valueKeyPostgresqlPassword := include "common.postgresql.values.key.postgressPassword" . -}} + {{- $valueKeyPostgresqlReplicationEnabled := include "common.postgresql.values.key.replicationPassword" . -}} + {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") -}} + {{- $requiredPasswords := list -}} + {{- $requiredPostgresqlPassword := dict "valueKey" $valueKeyPostgresqlPassword "secret" .secret "field" "postgresql-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlPassword -}} + + {{- $enabledReplication := include "common.postgresql.values.enabled.replication" . -}} + {{- if (eq $enabledReplication "true") -}} + {{- $requiredPostgresqlReplicationPassword := dict "valueKey" $valueKeyPostgresqlReplicationEnabled "secret" .secret "field" "postgresql-replication-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredPostgresqlReplicationPassword -}} + {{- end -}} + + {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to decide whether evaluate global values. + +Usage: +{{ include "common.postgresql.values.use.global" (dict "key" "key-of-global" "context" $) }} +Params: + - key - String - Required. Field to be evaluated within global, e.g: "existingSecret" +*/}} +{{- define "common.postgresql.values.use.global" -}} + {{- if .context.Values.global -}} + {{- if .context.Values.global.postgresql -}} + {{- index .context.Values.global.postgresql .key | quote -}} + {{- end -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for existingSecret. + +Usage: +{{ include "common.postgresql.values.existingSecret" (dict "context" $) }} +*/}} +{{- define "common.postgresql.values.existingSecret" -}} + {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "existingSecret" "context" .context) -}} + + {{- if .subchart -}} + {{- default (.context.Values.postgresql.existingSecret | quote) $globalValue -}} + {{- else -}} + {{- default (.context.Values.existingSecret | quote) $globalValue -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for enabled postgresql. + +Usage: +{{ include "common.postgresql.values.enabled" (dict "context" $) }} +*/}} +{{- define "common.postgresql.values.enabled" -}} + {{- if .subchart -}} + {{- printf "%v" .context.Values.postgresql.enabled -}} + {{- else -}} + {{- printf "%v" (not .context.Values.enabled) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for the key postgressPassword. + +Usage: +{{ include "common.postgresql.values.key.postgressPassword" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false +*/}} +{{- define "common.postgresql.values.key.postgressPassword" -}} + {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "postgresqlUsername" "context" .context) -}} + + {{- if not $globalValue -}} + {{- if .subchart -}} + postgresql.postgresqlPassword + {{- else -}} + postgresqlPassword + {{- end -}} + {{- else -}} + global.postgresql.postgresqlPassword + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for enabled.replication. + +Usage: +{{ include "common.postgresql.values.enabled.replication" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false +*/}} +{{- define "common.postgresql.values.enabled.replication" -}} + {{- if .subchart -}} + {{- printf "%v" .context.Values.postgresql.replication.enabled -}} + {{- else -}} + {{- printf "%v" .context.Values.replication.enabled -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for the key replication.password. + +Usage: +{{ include "common.postgresql.values.key.replicationPassword" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false +*/}} +{{- define "common.postgresql.values.key.replicationPassword" -}} + {{- if .subchart -}} + postgresql.replication.password + {{- else -}} + replication.password + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_redis.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_redis.tpl new file mode 100644 index 000000000..fc0d208dd --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_redis.tpl @@ -0,0 +1,81 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + + +{{/* vim: set filetype=mustache: */}} +{{/* +Validate Redis® required passwords are not empty. + +Usage: +{{ include "common.validations.values.redis.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} +Params: + - secret - String - Required. Name of the secret where redis values are stored, e.g: "redis-passwords-secret" + - subchart - Boolean - Optional. Whether redis is used as subchart or not. Default: false +*/}} +{{- define "common.validations.values.redis.passwords" -}} + {{- $enabled := include "common.redis.values.enabled" . -}} + {{- $valueKeyPrefix := include "common.redis.values.keys.prefix" . -}} + {{- $standarizedVersion := include "common.redis.values.standarized.version" . }} + + {{- $existingSecret := ternary (printf "%s%s" $valueKeyPrefix "auth.existingSecret") (printf "%s%s" $valueKeyPrefix "existingSecret") (eq $standarizedVersion "true") }} + {{- $existingSecretValue := include "common.utils.getValueFromKey" (dict "key" $existingSecret "context" .context) }} + + {{- $valueKeyRedisPassword := ternary (printf "%s%s" $valueKeyPrefix "auth.password") (printf "%s%s" $valueKeyPrefix "password") (eq $standarizedVersion "true") }} + {{- $valueKeyRedisUseAuth := ternary (printf "%s%s" $valueKeyPrefix "auth.enabled") (printf "%s%s" $valueKeyPrefix "usePassword") (eq $standarizedVersion "true") }} + + {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") -}} + {{- $requiredPasswords := list -}} + + {{- $useAuth := include "common.utils.getValueFromKey" (dict "key" $valueKeyRedisUseAuth "context" .context) -}} + {{- if eq $useAuth "true" -}} + {{- $requiredRedisPassword := dict "valueKey" $valueKeyRedisPassword "secret" .secret "field" "redis-password" -}} + {{- $requiredPasswords = append $requiredPasswords $requiredRedisPassword -}} + {{- end -}} + + {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right value for enabled redis. + +Usage: +{{ include "common.redis.values.enabled" (dict "context" $) }} +*/}} +{{- define "common.redis.values.enabled" -}} + {{- if .subchart -}} + {{- printf "%v" .context.Values.redis.enabled -}} + {{- else -}} + {{- printf "%v" (not .context.Values.enabled) -}} + {{- end -}} +{{- end -}} + +{{/* +Auxiliary function to get the right prefix path for the values + +Usage: +{{ include "common.redis.values.key.prefix" (dict "subchart" "true" "context" $) }} +Params: + - subchart - Boolean - Optional. Whether redis is used as subchart or not. Default: false +*/}} +{{- define "common.redis.values.keys.prefix" -}} + {{- if .subchart -}}redis.{{- else -}}{{- end -}} +{{- end -}} + +{{/* +Checks whether the redis chart's includes the standarizations (version >= 14) + +Usage: +{{ include "common.redis.values.standarized.version" (dict "context" $) }} +*/}} +{{- define "common.redis.values.standarized.version" -}} + + {{- $standarizedAuth := printf "%s%s" (include "common.redis.values.keys.prefix" .) "auth" -}} + {{- $standarizedAuthValues := include "common.utils.getValueFromKey" (dict "key" $standarizedAuth "context" .context) }} + + {{- if $standarizedAuthValues -}} + {{- true -}} + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_validations.tpl b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_validations.tpl new file mode 100644 index 000000000..31ceda871 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/templates/validations/_validations.tpl @@ -0,0 +1,51 @@ +{{/* +Copyright VMware, Inc. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Validate values must not be empty. + +Usage: +{{- $validateValueConf00 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-00") -}} +{{- $validateValueConf01 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-01") -}} +{{ include "common.validations.values.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} + +Validate value params: + - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" + - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" + - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" +*/}} +{{- define "common.validations.values.multiple.empty" -}} + {{- range .required -}} + {{- include "common.validations.values.single.empty" (dict "valueKey" .valueKey "secret" .secret "field" .field "context" $.context) -}} + {{- end -}} +{{- end -}} + +{{/* +Validate a value must not be empty. + +Usage: +{{ include "common.validations.value.empty" (dict "valueKey" "mariadb.password" "secret" "secretName" "field" "my-password" "subchart" "subchart" "context" $) }} + +Validate value params: + - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" + - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" + - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" + - subchart - String - Optional - Name of the subchart that the validated password is part of. +*/}} +{{- define "common.validations.values.single.empty" -}} + {{- $value := include "common.utils.getValueFromKey" (dict "key" .valueKey "context" .context) }} + {{- $subchart := ternary "" (printf "%s." .subchart) (empty .subchart) }} + + {{- if not $value -}} + {{- $varname := "my-value" -}} + {{- $getCurrentValue := "" -}} + {{- if and .secret .field -}} + {{- $varname = include "common.utils.fieldToEnvVar" . -}} + {{- $getCurrentValue = printf " To get the current value:\n\n %s\n" (include "common.utils.secret.getvalue" .) -}} + {{- end -}} + {{- printf "\n '%s' must not be empty, please add '--set %s%s=$%s' to the command.%s" .valueKey $subchart .valueKey $varname $getCurrentValue -}} + {{- end -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/charts/common/values.yaml b/charts/ngrok/kubernetes-ingress-controller/charts/common/values.yaml new file mode 100644 index 000000000..9abe0e154 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/charts/common/values.yaml @@ -0,0 +1,8 @@ +# Copyright VMware, Inc. +# SPDX-License-Identifier: APACHE-2.0 + +## bitnami/common +## It is required by CI/CD tools and processes. +## @skip exampleValue +## +exampleValue: common-chart diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/NOTES.txt b/charts/ngrok/kubernetes-ingress-controller/templates/NOTES.txt new file mode 100644 index 000000000..2de4debc3 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/NOTES.txt @@ -0,0 +1,53 @@ +================================================================================ +The ngrok Ingress controller has been deployed as a Deployment type to your +cluster. + +If you haven't yet, create some Ingress resources in your cluster and they will +be automatically configured on the internet using ngrok. + + +{{- $found := false }} +{{- range $svcIndex, $service := (lookup "v1" "Service" "" "").items }} + {{- if not $found }} + {{- range $portMapIdx, $portMap := $service.spec.ports }} + {{- if eq $portMap.port 80 443 }} + {{- if ne $service.metadata.name "kubernetes" }} + {{- $found = true -}} + {{- $randomStr := randAlphaNum 8 }} + +One example, taken from your cluster, is the Service: + {{ $service.metadata.name | quote }} + +You can make this accessible via Ngrok with the following manifest: +-------------------------------------------------------------------------------- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ $service.metadata.name }} + namespace: {{ $service.metadata.namespace }} +spec: + ingressClassName: ngrok + rules: + - host: {{ $service.metadata.name -}}-{{- $randomStr -}}.ngrok.app + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: {{ $service.metadata.name }} + port: + number: {{ $portMap.port }} +-------------------------------------------------------------------------------- +Applying this manifest will make the service {{ $service.metadata.name | quote }} +available on the public internet at "https://{{ $service.metadata.name -}}-{{- $randomStr -}}.ngrok.app/". + {{- end }} + {{- end }} + {{- end }} + {{- end}} +{{- end }} + +Once done, view your edges in the Dashboard https://dashboard.ngrok.com/cloud-edge/edges +Find the tunnels running in your cluster here https://dashboard.ngrok.com/tunnels/agents + +If you have any questions or feedback, please join us in https://ngrok.com/slack and let us know! diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/_helpers.tpl b/charts/ngrok/kubernetes-ingress-controller/templates/_helpers.tpl new file mode 100644 index 000000000..c5be41cb2 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/_helpers.tpl @@ -0,0 +1,87 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "kubernetes-ingress-controller.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "kubernetes-ingress-controller.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "kubernetes-ingress-controller.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create a default name for the credentials secret name using the helm release +*/}} +{{- define "kubernetes-ingress-controller.credentialsSecretName" -}} +{{- if .Values.credentials.secret.name -}} +{{- .Values.credentials.secret.name -}} +{{- else -}} +{{- printf "%s-credentials" (include "kubernetes-ingress-controller.fullname" .) -}} +{{- end -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "kubernetes-ingress-controller.labels" -}} +helm.sh/chart: {{ include "kubernetes-ingress-controller.chart" . }} +{{ include "kubernetes-ingress-controller.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/part-of: {{ template "kubernetes-ingress-controller.name" . }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- if .Values.commonLabels}} +{{ toYaml .Values.commonLabels }} +{{- end }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "kubernetes-ingress-controller.selectorLabels" -}} +app.kubernetes.io/name: {{ include "kubernetes-ingress-controller.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the controller service account to use +*/}} +{{- define "kubernetes-ingress-controller.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "kubernetes-ingress-controller.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} + +{{/* +Return the ngrok/ingress-controller image name +*/}} +{{- define "kubernetes-ingress-controller.image" -}} +{{- $registryName := .Values.image.registry -}} +{{- $repositoryName := .Values.image.repository -}} +{{- $tag := .Values.image.tag | default .Chart.AppVersion | toString -}} +{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} +{{- end -}} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/controller-cm.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/controller-cm.yaml new file mode 100644 index 000000000..88728341c --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/controller-cm.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "kubernetes-ingress-controller.fullname" . }}-manager-config + namespace: {{ .Release.Namespace }} +data: + controller_manager_config.yaml: | + apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 + kind: ControllerManagerConfig + health: + healthProbeBindAddress: :8081 + metrics: + bindAddress: 127.0.0.1:8080 + leaderElection: + leaderElect: true + resourceName: {{ include "kubernetes-ingress-controller.fullname" . }}-leader diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/controller-deployment.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/controller-deployment.yaml new file mode 100644 index 000000000..e29dbcc8f --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/controller-deployment.yaml @@ -0,0 +1,127 @@ +{{- $component := "controller" }} +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ $component }} + name: {{ include "kubernetes-ingress-controller.fullname" . }}-manager + namespace: {{ .Release.Namespace }} + annotations: + checksum/controller-role: {{ include (print $.Template.BasePath "/rbac/role.yaml") . | sha256sum }} + checksum/rbac: {{ include (print $.Template.BasePath "/controller-rbac.yaml") . | sha256sum }} +spec: + replicas: {{.Values.replicaCount}} + selector: + matchLabels: + {{- include "kubernetes-ingress-controller.selectorLabels" . | nindent 6 }} + {{- if .Values.podLabels }} + {{- toYaml .Values.podLabels | nindent 6 }} + {{- end }} + app.kubernetes.io/component: {{ $component }} + template: + metadata: + annotations: + {{- if .Values.podAnnotations }} + {{- toYaml .Values.podAnnotations | nindent 8 }} + {{- end }} + prometheus.io/path: /metrics + prometheus.io/port: '8080' + prometheus.io/scrape: 'true' + labels: + {{- include "kubernetes-ingress-controller.selectorLabels" . | nindent 8 }} + {{- if .Values.podLabels }} + {{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} + app.kubernetes.io/component: {{ $component }} + spec: + {{- if .Values.priorityClassName }} + priorityClassName: {{ .Values.priorityClassName | quote }} + {{- end }} + {{- if .Values.affinity }} + affinity: {{- include "common.tplvalues.render" (dict "value" .Values.affinity "context" $) | nindent 8 }} + {{- else }} + affinity: + podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAffinityPreset "component" $component "context" $) | nindent 10 }} + podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAntiAffinityPreset "component" $component "context" $) | nindent 10 }} + nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.nodeAffinityPreset.type "key" .Values.nodeAffinityPreset.key "values" .Values.nodeAffinityPreset.values) | nindent 10 }} + {{- end }} + serviceAccountName: {{ template "kubernetes-ingress-controller.serviceAccountName" . }} + {{- if .Values.image.pullSecrets }} + imagePullSecrets: + {{- toYaml .Values.image.pullSecrets | nindent 8 }} + {{- end }} + containers: + - name: ngrok-ingress-controller + image: {{ include "kubernetes-ingress-controller.image" . }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + command: + - /manager + args: + {{- if .Values.region }} + - --region={{ .Values.region}} + {{- end }} + {{- if .Values.serverAddr }} + - --server-addr={{ .Values.serverAddr}} + {{- end }} + {{- if .Values.metaData }} + - --metadata={{- $metadataArgs := list -}} + {{- range $key, $value := .Values.metaData }} + {{- $metadataArgs = append $metadataArgs (printf "%s=%s" $key $value) -}} + {{- end }} + {{- $metadataArgs | join "," }} + {{- end }} + - --controller-name={{ .Values.controllerName }} + {{- if .Values.watchNamespace }} + - --watch-namespace={{ .Values.watchNamespace}} + {{- end }} + - --zap-log-level={{ .Values.log.level }} + - --zap-stacktrace-level={{ .Values.log.stacktraceLevel }} + - --zap-encoder={{ .Values.log.format }} + - --health-probe-bind-address=:8081 + - --metrics-bind-address=:8080 + - --election-id={{ include "kubernetes-ingress-controller.fullname" . }}-leader + - --manager-name={{ include "kubernetes-ingress-controller.fullname" . }}-manager + securityContext: + allowPrivilegeEscalation: false + env: + - name: NGROK_API_KEY + valueFrom: + secretKeyRef: + key: API_KEY + name: {{ include "kubernetes-ingress-controller.credentialsSecretName" . }} + - name: NGROK_AUTHTOKEN + valueFrom: + secretKeyRef: + key: AUTHTOKEN + name: {{ include "kubernetes-ingress-controller.credentialsSecretName" . }} + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + {{- range $key, $value := .Values.extraEnv }} + - name: {{ $key }} + value: {{- toYaml $value | nindent 12 }} + {{- end }} + {{- if .Values.extraVolumeMounts }} + volumeMounts: + {{ toYaml .Values.extraVolumeMounts | nindent 10 }} + {{- end }} + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + {{- toYaml .Values.resources | nindent 10 }} + {{- if .Values.extraVolumes }} + volumes: + {{ toYaml .Values.extraVolumes | nindent 6 }} + {{- end }} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/controller-pdb.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/controller-pdb.yaml new file mode 100644 index 000000000..7046631ac --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/controller-pdb.yaml @@ -0,0 +1,26 @@ +{{- if .Values.podDisruptionBudget.create }} +{{ $component := "controller"}} +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ include "kubernetes-ingress-controller.fullname" . }}-controller-pdb + namespace: {{ .Release.Namespace | quote }} + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ $component }} +spec: + {{- if .Values.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.podDisruptionBudget.minAvailable }} + {{- end }} + {{- if .Values.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }} + {{- end }} + selector: + matchLabels: + {{- include "kubernetes-ingress-controller.selectorLabels" . | nindent 6 }} + {{- if .Values.podLabels }} + {{- toYaml .Values.podLabels | nindent 6 }} + {{- end }} + app.kubernetes.io/component: {{ $component }} +{{- end }} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/controller-rbac.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/controller-rbac.yaml new file mode 100644 index 000000000..82fade5c7 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/controller-rbac.yaml @@ -0,0 +1,96 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: ngrok-ingress-controller-leader-election-role + namespace: {{ .Release.Namespace }} +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: ngrok-ingress-controller-proxy-role +rules: +- apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create +- apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: ngrok-ingress-controller-leader-election-rolebinding + namespace: {{ .Release.Namespace }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: ngrok-ingress-controller-leader-election-role +subjects: +- kind: ServiceAccount + name: {{ template "kubernetes-ingress-controller.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: ngrok-ingress-controller-manager-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: ngrok-ingress-controller-manager-role +subjects: +- kind: ServiceAccount + name: {{ template "kubernetes-ingress-controller.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: ngrok-ingress-controller-proxy-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: ngrok-ingress-controller-proxy-role +subjects: +- kind: ServiceAccount + name: {{ template "kubernetes-ingress-controller.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/controller-serviceaccount.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/controller-serviceaccount.yaml new file mode 100644 index 000000000..d80a5d8c9 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/controller-serviceaccount.yaml @@ -0,0 +1,15 @@ +{{- if .Values.serviceAccount.create -}} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "kubernetes-ingress-controller.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: controller + {{- if .Values.serviceAccount.annotations }} + annotations: + {{- toYaml .Values.serviceAccount.annotations | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_domains.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_domains.yaml new file mode 100644 index 000000000..9ddf22a23 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_domains.yaml @@ -0,0 +1,101 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: domains.ingress.k8s.ngrok.com +spec: + group: ingress.k8s.ngrok.com + names: + kind: Domain + listKind: DomainList + plural: domains + singular: domain + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Domain ID + jsonPath: .status.id + name: ID + type: string + - description: Region + jsonPath: .status.region + name: Region + type: string + - description: Domain + jsonPath: .status.domain + name: Domain + type: string + - description: CNAME Target + jsonPath: .status.cnameTarget + name: CNAME Target + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Domain is the Schema for the domains API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DomainSpec defines the desired state of Domain + properties: + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description of the object + in the ngrok API/Dashboard + type: string + domain: + description: Domain is the domain name to reserve + type: string + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated with + the object in the ngrok API/Dashboard + type: string + region: + description: Region is the region in which to reserve the domain + type: string + required: + - domain + type: object + status: + description: DomainStatus defines the observed state of Domain + properties: + cnameTarget: + description: CNAMETarget is the CNAME target for the domain + type: string + domain: + description: Domain is the domain that was reserved + type: string + id: + description: ID is the unique identifier of the domain + type: string + region: + description: Region is the region in which the domain was created + type: string + uri: + description: URI of the reserved domain API resource + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_httpsedges.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_httpsedges.yaml new file mode 100644 index 000000000..49149eb6a --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_httpsedges.yaml @@ -0,0 +1,1042 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: httpsedges.ingress.k8s.ngrok.com +spec: + group: ingress.k8s.ngrok.com + names: + kind: HTTPSEdge + listKind: HTTPSEdgeList + plural: httpsedges + singular: httpsedge + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: HTTPSEdge is the Schema for the httpsedges API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: HTTPSEdgeSpec defines the desired state of HTTPSEdge + properties: + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description of the object + in the ngrok API/Dashboard + type: string + hostports: + description: Hostports is a list of hostports served by this edge + items: + type: string + type: array + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated with + the object in the ngrok API/Dashboard + type: string + routes: + description: Routes is a list of routes served by this edge + items: + properties: + backend: + description: Backend is the definition for the tunnel group + backend that serves traffic for this edge + properties: + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description + of the object in the ngrok API/Dashboard + type: string + labels: + additionalProperties: + type: string + description: Labels to watch for tunnels on this backend + type: object + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated + with the object in the ngrok API/Dashboard + type: string + type: object + circuitBreaker: + description: CircuitBreaker is a circuit breaker configuration + to apply to this route + properties: + errorThresholdPercentage: + anyOf: + - type: integer + - type: string + description: Error threshold percentage should be between + 0 - 1.0, not 0-100.0 + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + numBuckets: + description: Integer number of buckets into which metrics + are retained. Max 128. + format: int32 + maximum: 128 + minimum: 1 + type: integer + rollingWindow: + description: Statistical rolling window duration that metrics + are retained for. + format: duration + type: string + trippedDuration: + description: Duration after which the circuit is tripped + to wait before re-evaluating upstream health + format: duration + type: string + volumeThreshold: + description: Integer number of requests in a rolling window + that will trip the circuit. Helpful if traffic volume + is low. + format: int32 + type: integer + type: object + compression: + description: Compression is whether or not to enable compression + for this route + properties: + enabled: + description: Enabled is whether or not to enable compression + for this endpoint + type: boolean + type: object + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description of + the object in the ngrok API/Dashboard + type: string + headers: + description: Headers are request/response headers to apply to + this route + properties: + request: + description: Request headers are the request headers module + configuration or null + properties: + add: + additionalProperties: + type: string + description: a map of header key to header value that + will be injected into the HTTP Request before being + sent to the upstream application server + type: object + remove: + description: a list of header names that will be removed + from the HTTP Request before being sent to the upstream + application server + items: + type: string + type: array + type: object + response: + description: Response headers are the response headers module + configuration or null + properties: + add: + additionalProperties: + type: string + description: a map of header key to header value that + will be injected into the HTTP Response returned to + the HTTP client + type: object + remove: + description: a list of header names that will be removed + from the HTTP Response returned to the HTTP client + items: + type: string + type: array + type: object + type: object + ipRestriction: + description: IPRestriction is an IPRestriction to apply to this + route + properties: + policies: + items: + type: string + type: array + type: object + match: + description: Match is the value to match against the request + path + type: string + matchType: + description: 'MatchType is the type of match to use for this + route. Valid values are:' + enum: + - exact_path + - path_prefix + type: string + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated + with the object in the ngrok API/Dashboard + type: string + oauth: + description: OAuth configuration to apply to this route + properties: + amazon: + description: configuration for using amazon as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + type: object + facebook: + description: configuration for using facebook as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + type: object + github: + description: configuration for using github as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + organizations: + description: a list of github org identifiers. users + who are members of any of the listed organizations + will be allowed access. identifiers should be the + organization's 'slug' + items: + type: string + type: array + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + teams: + description: a list of github teams identifiers. users + will be allowed access to the endpoint if they are + a member of any of these teams. identifiers should + be in the 'slug' format qualified with the org name, + e.g. org-name/team-name + items: + type: string + type: array + type: object + gitlab: + description: configuration for using gitlab as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + type: object + google: + description: configuration for using google as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + type: object + linkedin: + description: configuration for using linkedin as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + type: object + microsoft: + description: configuration for using microsoft as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + type: object + twitch: + description: configuration for using twitch as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it + will refresh user state from the identity provider + and recheck whether the user is still authorized to + access the endpoint. This is the preferred tunable + to use to enforce a minimum amount of time after which + a revoked user will no longer be able to access the + resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from + the identity provider's dashboard where you created + your own OAuth app. optional. if unspecified, ngrok + will use its own managed oauth application which has + additional restrictions. see the OAuth module docs + for more details. if present, clientSecret must be + present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if + from the identity provider's dashboard where you created + your own OAuth app. optional, see all of the caveats + in the docs for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the + endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the + user has not accessed the endpoint, their session + will time out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum + duration of an authenticated session. After this period + is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes + with the permissions your OAuth app would like to + ask for. these may not be set if you are using the + ngrok-managed oauth app (i.e. you must pass both client_id + and client_secret to set scopes) + items: + type: string + type: array + type: object + type: object + oidc: + description: OIDC is the OpenID Connect configuration to apply + to this route + properties: + clientId: + description: The OIDC app's client ID and OIDC audience. + type: string + clientSecret: + description: The OIDC app's client secret. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time + out and they will be forced to reauthenticate. + format: duration + type: string + issuer: + description: URL of the OIDC "OpenID provider". This is + the base URL used for discovery. + type: string + maximumDuration: + description: The maximum duration of an authenticated session. + After this period is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: The set of scopes to request from the OIDC + identity provider. + items: + type: string + type: array + type: object + saml: + description: SAML is the SAML configuration to apply to this + route + properties: + allowIdpInitiated: + description: If true, the IdP may initiate a login directly + (e.g. the user does not need to visit the endpoint first + and then be redirected). The IdP should set the RelayState + parameter to the target URL of the resource they want + the user to be redirected to after the SAML login assertion + has been processed. + type: boolean + authorizedGroups: + description: If present, only users who are a member of + one of the listed groups may access the target endpoint. + items: + type: string + type: array + cookiePrefix: + description: the prefix of the session cookie that ngrok + sets on the http client to cache authentication. default + is 'ngrok.' + type: string + forceAuthn: + description: If true, indicates that whenever we redirect + a user to the IdP for authentication that the IdP must + prompt the user for authentication credentials even if + the user already has a valid session with the IdP. + type: boolean + idpMetadata: + description: The full XML IdP EntityDescriptor. Your IdP + may provide this to you as a a file to download or as + a URL. + type: string + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time + out and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: The maximum duration of an authenticated session. + After this period is exceeded, a user must reauthenticate. + format: duration + type: string + nameidFormat: + description: Defines the name identifier format the SP expects + the IdP to use in its assertions to identify subjects. + If unspecified, a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + will be used. A subset of the allowed values enumerated + by the SAML specification are supported. + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + type: object + webhookVerification: + description: WebhookVerification is webhook verification configuration + to apply to this route + properties: + provider: + description: a string indicating which webhook provider + will be sending webhooks to this endpoint. Value must + be one of the supported providers defined at https://ngrok.com/docs/cloud-edge#webhook-verification + type: string + secret: + description: SecretRef is a reference to a secret containing + the secret used to validate requests from the given provider. + All providers except AWS SNS require a secret + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + type: object + required: + - match + - matchType + type: object + type: array + tlsTermination: + description: TLSTermination is the TLS termination configuration for + this edge + properties: + minVersion: + description: MinVersion is the minimum TLS version to allow for + connections to the edge + type: string + type: object + type: object + status: + description: HTTPSEdgeStatus defines the observed state of HTTPSEdge + properties: + id: + description: ID is the unique identifier for this edge + type: string + routes: + items: + properties: + backend: + description: Backend stores the status of the tunnel group backend, + mainly the ID of the backend + properties: + id: + description: ID is the unique identifier for this backend + type: string + type: object + id: + description: ID is the unique identifier for this route + type: string + match: + type: string + matchType: + type: string + uri: + description: URI is the URI for this route + type: string + type: object + type: array + uri: + description: URI is the URI for this edge + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ippolicies.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ippolicies.yaml new file mode 100644 index 000000000..a1a319fbb --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ippolicies.yaml @@ -0,0 +1,105 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: ippolicies.ingress.k8s.ngrok.com +spec: + group: ingress.k8s.ngrok.com + names: + kind: IPPolicy + listKind: IPPolicyList + plural: ippolicies + singular: ippolicy + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: IPPolicy ID + jsonPath: .status.id + name: ID + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPolicy is the Schema for the ippolicies API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: IPPolicySpec defines the desired state of IPPolicy + properties: + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description of the object + in the ngrok API/Dashboard + type: string + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated with + the object in the ngrok API/Dashboard + type: string + rules: + description: Rules is a list of rules that belong to the policy + items: + properties: + action: + enum: + - allow + - deny + type: string + cidr: + type: string + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description of + the object in the ngrok API/Dashboard + type: string + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated + with the object in the ngrok API/Dashboard + type: string + type: object + type: array + type: object + status: + description: IPPolicyStatus defines the observed state of IPPolicy + properties: + id: + description: 'INSERT ADDITIONAL STATUS FIELD - define observed state + of cluster Important: Run "make" to regenerate code after modifying + this file' + type: string + rules: + items: + properties: + action: + type: string + cidr: + type: string + id: + type: string + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ngrokmodulesets.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ngrokmodulesets.yaml new file mode 100644 index 000000000..8521464f3 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_ngrokmodulesets.yaml @@ -0,0 +1,883 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: ngrokmodulesets.ingress.k8s.ngrok.com +spec: + group: ingress.k8s.ngrok.com + names: + kind: NgrokModuleSet + listKind: NgrokModuleSetList + plural: ngrokmodulesets + singular: ngrokmoduleset + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: NgrokModuleSet is the Schema for the ngrokmodules API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + modules: + properties: + circuitBreaker: + description: CircuitBreaker configuration for this module set + properties: + errorThresholdPercentage: + anyOf: + - type: integer + - type: string + description: Error threshold percentage should be between 0 - + 1.0, not 0-100.0 + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + numBuckets: + description: Integer number of buckets into which metrics are + retained. Max 128. + format: int32 + maximum: 128 + minimum: 1 + type: integer + rollingWindow: + description: Statistical rolling window duration that metrics + are retained for. + format: duration + type: string + trippedDuration: + description: Duration after which the circuit is tripped to wait + before re-evaluating upstream health + format: duration + type: string + volumeThreshold: + description: Integer number of requests in a rolling window that + will trip the circuit. Helpful if traffic volume is low. + format: int32 + type: integer + type: object + compression: + description: Compression configuration for this module set + properties: + enabled: + description: Enabled is whether or not to enable compression for + this endpoint + type: boolean + type: object + headers: + description: Header configuration for this module set + properties: + request: + description: Request headers are the request headers module configuration + or null + properties: + add: + additionalProperties: + type: string + description: a map of header key to header value that will + be injected into the HTTP Request before being sent to the + upstream application server + type: object + remove: + description: a list of header names that will be removed from + the HTTP Request before being sent to the upstream application + server + items: + type: string + type: array + type: object + response: + description: Response headers are the response headers module + configuration or null + properties: + add: + additionalProperties: + type: string + description: a map of header key to header value that will + be injected into the HTTP Response returned to the HTTP + client + type: object + remove: + description: a list of header names that will be removed from + the HTTP Response returned to the HTTP client + items: + type: string + type: array + type: object + type: object + ipRestriction: + description: IPRestriction configuration for this module set + properties: + policies: + items: + type: string + type: array + type: object + oauth: + description: OAuth configuration for this module set + properties: + amazon: + description: configuration for using amazon as the identity provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + type: object + facebook: + description: configuration for using facebook as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + type: object + github: + description: configuration for using github as the identity provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + organizations: + description: a list of github org identifiers. users who are + members of any of the listed organizations will be allowed + access. identifiers should be the organization's 'slug' + items: + type: string + type: array + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + teams: + description: a list of github teams identifiers. users will + be allowed access to the endpoint if they are a member of + any of these teams. identifiers should be in the 'slug' + format qualified with the org name, e.g. org-name/team-name + items: + type: string + type: array + type: object + gitlab: + description: configuration for using gitlab as the identity provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + type: object + google: + description: configuration for using google as the identity provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + type: object + linkedin: + description: configuration for using linkedin as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + type: object + microsoft: + description: configuration for using microsoft as the identity + provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + type: object + twitch: + description: configuration for using twitch as the identity provider + properties: + authCheckInterval: + description: Duration after which ngrok guarantees it will + refresh user state from the identity provider and recheck + whether the user is still authorized to access the endpoint. + This is the preferred tunable to use to enforce a minimum + amount of time after which a revoked user will no longer + be able to access the resource. + format: duration + type: string + clientId: + description: the OAuth app client ID. retrieve it from the + identity provider's dashboard where you created your own + OAuth app. optional. if unspecified, ngrok will use its + own managed oauth application which has additional restrictions. + see the OAuth module docs for more details. if present, + clientSecret must be present as well. + type: string + clientSecret: + description: the OAuth app client secret. retrieve if from + the identity provider's dashboard where you created your + own OAuth app. optional, see all of the caveats in the docs + for clientId. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + emailAddresses: + description: a list of email addresses of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + emailDomains: + description: a list of email domains of users authenticated + by identity provider who are allowed access to the endpoint + items: + type: string + type: array + inactivityTimeout: + description: Duration of inactivity after which if the user + has not accessed the endpoint, their session will time out + and they will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: Integer number of seconds of the maximum duration + of an authenticated session. After this period is exceeded, + a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS + requests. necessary if you are supporting CORS. + type: boolean + scopes: + description: a list of provider-specific OAuth scopes with + the permissions your OAuth app would like to ask for. these + may not be set if you are using the ngrok-managed oauth + app (i.e. you must pass both client_id and client_secret + to set scopes) + items: + type: string + type: array + type: object + type: object + oidc: + description: OIDC configuration for this module set + properties: + clientId: + description: The OIDC app's client ID and OIDC audience. + type: string + clientSecret: + description: The OIDC app's client secret. + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + inactivityTimeout: + description: Duration of inactivity after which if the user has + not accessed the endpoint, their session will time out and they + will be forced to reauthenticate. + format: duration + type: string + issuer: + description: URL of the OIDC "OpenID provider". This is the base + URL used for discovery. + type: string + maximumDuration: + description: The maximum duration of an authenticated session. + After this period is exceeded, a user must reauthenticate. + format: duration + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS requests. + necessary if you are supporting CORS. + type: boolean + scopes: + description: The set of scopes to request from the OIDC identity + provider. + items: + type: string + type: array + type: object + saml: + description: SAML configuration for this module set + properties: + allowIdpInitiated: + description: If true, the IdP may initiate a login directly (e.g. + the user does not need to visit the endpoint first and then + be redirected). The IdP should set the RelayState parameter + to the target URL of the resource they want the user to be redirected + to after the SAML login assertion has been processed. + type: boolean + authorizedGroups: + description: If present, only users who are a member of one of + the listed groups may access the target endpoint. + items: + type: string + type: array + cookiePrefix: + description: the prefix of the session cookie that ngrok sets + on the http client to cache authentication. default is 'ngrok.' + type: string + forceAuthn: + description: If true, indicates that whenever we redirect a user + to the IdP for authentication that the IdP must prompt the user + for authentication credentials even if the user already has + a valid session with the IdP. + type: boolean + idpMetadata: + description: The full XML IdP EntityDescriptor. Your IdP may provide + this to you as a a file to download or as a URL. + type: string + inactivityTimeout: + description: Duration of inactivity after which if the user has + not accessed the endpoint, their session will time out and they + will be forced to reauthenticate. + format: duration + type: string + maximumDuration: + description: The maximum duration of an authenticated session. + After this period is exceeded, a user must reauthenticate. + format: duration + type: string + nameidFormat: + description: Defines the name identifier format the SP expects + the IdP to use in its assertions to identify subjects. If unspecified, + a default value of urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + will be used. A subset of the allowed values enumerated by the + SAML specification are supported. + type: string + optionsPassthrough: + description: Do not enforce authentication on HTTP OPTIONS requests. + necessary if you are supporting CORS. + type: boolean + type: object + tlsTermination: + description: TLSTermination configuration for this module set + properties: + minVersion: + description: MinVersion is the minimum TLS version to allow for + connections to the edge + type: string + type: object + webhookVerification: + description: WebhookVerification configuration for this module set + properties: + provider: + description: a string indicating which webhook provider will be + sending webhooks to this endpoint. Value must be one of the + supported providers defined at https://ngrok.com/docs/cloud-edge#webhook-verification + type: string + secret: + description: SecretRef is a reference to a secret containing the + secret used to validate requests from the given provider. All + providers except AWS SNS require a secret + properties: + key: + description: Key in the secret to use + type: string + name: + description: Name of the Kubernetes secret + type: string + type: object + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tcpedges.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tcpedges.yaml new file mode 100644 index 000000000..ffb4af821 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tcpedges.yaml @@ -0,0 +1,121 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: tcpedges.ingress.k8s.ngrok.com +spec: + group: ingress.k8s.ngrok.com + names: + kind: TCPEdge + listKind: TCPEdgeList + plural: tcpedges + singular: tcpedge + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Domain ID + jsonPath: .status.id + name: ID + type: string + - description: Hostports + jsonPath: .status.hostports + name: Hostports + type: string + - description: Tunnel Group Backend ID + jsonPath: .status.backend.id + name: Backend ID + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: TCPEdge is the Schema for the tcpedges API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TCPEdgeSpec defines the desired state of TCPEdge + properties: + backend: + description: Backend is the definition for the tunnel group backend + that serves traffic for this edge + properties: + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description of the + object in the ngrok API/Dashboard + type: string + labels: + additionalProperties: + type: string + description: Labels to watch for tunnels on this backend + type: object + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated + with the object in the ngrok API/Dashboard + type: string + type: object + description: + default: Created by kubernetes-ingress-controller + description: Description is a human-readable description of the object + in the ngrok API/Dashboard + type: string + ipRestriction: + description: IPRestriction is an IPRestriction to apply to this route + properties: + policies: + items: + type: string + type: array + type: object + metadata: + default: '{"owned-by":"kubernetes-ingress-controller"}' + description: Metadata is a string of arbitrary data associated with + the object in the ngrok API/Dashboard + type: string + type: object + status: + description: TCPEdgeStatus defines the observed state of TCPEdge + properties: + backend: + description: Backend stores the status of the tunnel group backend, + mainly the ID of the backend + properties: + id: + description: ID is the unique identifier for this backend + type: string + type: object + hostports: + description: Hostports served by this edge + items: + type: string + type: array + id: + description: ID is the unique identifier for this edge + type: string + uri: + description: URI is the URI of the edge + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tunnels.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tunnels.yaml new file mode 100644 index 000000000..f67724a32 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/crds/ingress.k8s.ngrok.com_tunnels.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: tunnels.ingress.k8s.ngrok.com +spec: + group: ingress.k8s.ngrok.com + names: + kind: Tunnel + listKind: TunnelList + plural: tunnels + singular: tunnel + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Service/port to forward to + jsonPath: .spec.forwardsTo + name: ForwardsTo + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Tunnel is the Schema for the tunnels API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TunnelSpec defines the desired state of Tunnel + properties: + backend: + description: The configuration for backend connections to services + properties: + protocol: + type: string + type: object + forwardsTo: + description: ForwardsTo is the name and port of the service to forward + traffic to + type: string + labels: + additionalProperties: + type: string + description: Labels are key/value pairs that are attached to the tunnel + type: object + type: object + status: + description: TunnelStatus defines the observed state of Tunnel + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/credentials-secret.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/credentials-secret.yaml new file mode 100644 index 000000000..c6c7286ea --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/credentials-secret.yaml @@ -0,0 +1,11 @@ +{{- if or (not (empty .Values.credentials.apiKey)) (not (empty .Values.credentials.authtoken)) }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "kubernetes-ingress-controller.credentialsSecretName" .}} + namespace: {{ .Release.Namespace }} +type: Opaque +data: + API_KEY: {{ required "An ngrok API key is required" .Values.credentials.apiKey | b64enc }} + AUTHTOKEN: {{ required "An ngrok Authtoken is required" .Values.credentials.authtoken | b64enc }} +{{ end }} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/ingress-class.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/ingress-class.yaml new file mode 100644 index 000000000..0932b4705 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/ingress-class.yaml @@ -0,0 +1,15 @@ +{{- if .Values.ingressClass.create -}} +apiVersion: networking.k8s.io/v1 +kind: IngressClass +metadata: + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: controller + name: {{ .Values.ingressClass.name }} + {{- if .Values.ingressClass.default }} + annotations: + ingressclass.kubernetes.io/is-default-class: "true" + {{- end }} +spec: + controller: {{ .Values.controllerName }} +{{- end}} diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_editor_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_editor_role.yaml new file mode 100644 index 000000000..88e527a3f --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_editor_role.yaml @@ -0,0 +1,27 @@ +# permissions for end users to edit domains. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: rbac + name: {{ include "kubernetes-ingress-controller.fullname" . }}-domain-editor-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - domains + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - domains/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_viewer_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_viewer_role.yaml new file mode 100644 index 000000000..bf5f5196e --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/domain_viewer_role.yaml @@ -0,0 +1,23 @@ +# permissions for end users to view domains. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: rbac + name: {{ include "kubernetes-ingress-controller.fullname" . }}-domain-viewer-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - domains + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - domains/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_editor_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_editor_role.yaml new file mode 100644 index 000000000..d4d383154 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_editor_role.yaml @@ -0,0 +1,31 @@ +# permissions for end users to edit httpsedges. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: httpsedge-editor-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: ngrok-ingress-controller + app.kubernetes.io/part-of: ngrok-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: httpsedge-editor-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - httpsedges + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - httpsedges/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_viewer_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_viewer_role.yaml new file mode 100644 index 000000000..8d01cd726 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/httpsedge_viewer_role.yaml @@ -0,0 +1,27 @@ +# permissions for end users to view httpsedges. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: httpsedge-viewer-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: ngrok-ingress-controller + app.kubernetes.io/part-of: ngrok-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: httpsedge-viewer-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - httpsedges + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - httpsedges/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_editor_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_editor_role.yaml new file mode 100644 index 000000000..a8aa5ebe6 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_editor_role.yaml @@ -0,0 +1,31 @@ +# permissions for end users to edit ippolicies. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: ippolicy-editor-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: ngrok-ingress-controller + app.kubernetes.io/part-of: ngrok-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: ippolicy-editor-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ippolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ippolicies/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_viewer_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_viewer_role.yaml new file mode 100644 index 000000000..a83a34ab6 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ippolicy_viewer_role.yaml @@ -0,0 +1,27 @@ +# permissions for end users to view ippolicies. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: ippolicy-viewer-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: ngrok-ingress-controller + app.kubernetes.io/part-of: ngrok-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: ippolicy-viewer-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ippolicies + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ippolicies/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_editor_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_editor_role.yaml new file mode 100644 index 000000000..c8d5f1631 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_editor_role.yaml @@ -0,0 +1,31 @@ +# permissions for end users to edit ngrokmodulesets. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: ngrokmoduleset-editor-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: kubernetes-ingress-controller + app.kubernetes.io/part-of: kubernetes-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: ngrokmoduleset-editor-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ngrokmodulesets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ngrokmodulesets/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_viewer_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_viewer_role.yaml new file mode 100644 index 000000000..a9948ad44 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/ngrokmoduleset_viewer_role.yaml @@ -0,0 +1,27 @@ +# permissions for end users to view ngrokmodulesets. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: ngrokmoduleset-viewer-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: kubernetes-ingress-controller + app.kubernetes.io/part-of: kubernetes-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: ngrokmoduleset-viewer-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ngrokmodulesets + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ngrokmodulesets/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/role.yaml new file mode 100644 index 000000000..f514256ff --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/role.yaml @@ -0,0 +1,205 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: ngrok-ingress-controller-manager-role +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - update + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - domains + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - domains/finalizers + verbs: + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - domains/status + verbs: + - get + - patch + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - httpsedges + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - httpsedges/finalizers + verbs: + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - httpsedges/status + verbs: + - get + - patch + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ippolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ippolicies/finalizers + verbs: + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ippolicies/status + verbs: + - get + - patch + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - ngrokmodulesets + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tcpedges + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tcpedges/finalizers + verbs: + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tcpedges/status + verbs: + - get + - patch + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tunnels + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tunnels/finalizers + verbs: + - update +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tunnels/status + verbs: + - get + - patch + - update +- apiGroups: + - networking.k8s.io + resources: + - ingressclasses + verbs: + - get + - list + - watch +- apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - get + - list + - update + - watch +- apiGroups: + - networking.k8s.io + resources: + - ingresses/status + verbs: + - get + - list + - update + - watch diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_editor_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_editor_role.yaml new file mode 100644 index 000000000..2e49847f8 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_editor_role.yaml @@ -0,0 +1,31 @@ +# permissions for end users to edit tcpedges. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: tcpedge-editor-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: ngrok-ingress-controller + app.kubernetes.io/part-of: ngrok-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: tcpedge-editor-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tcpedges + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tcpedges/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_viewer_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_viewer_role.yaml new file mode 100644 index 000000000..b8eb5ef1f --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tcpedge_viewer_role.yaml @@ -0,0 +1,27 @@ +# permissions for end users to view tcpedges. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/name: clusterrole + app.kubernetes.io/instance: tcpedge-viewer-role + app.kubernetes.io/component: rbac + app.kubernetes.io/created-by: ngrok-ingress-controller + app.kubernetes.io/part-of: ngrok-ingress-controller + app.kubernetes.io/managed-by: kustomize + name: tcpedge-viewer-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tcpedges + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tcpedges/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_editor_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_editor_role.yaml new file mode 100644 index 000000000..ab7275165 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_editor_role.yaml @@ -0,0 +1,27 @@ +# permissions for end users to edit tunnels. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: rbac + name: {{ include "kubernetes-ingress-controller.fullname" . }}-tunnel-editor-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tunnels + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tunnels/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_viewer_role.yaml b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_viewer_role.yaml new file mode 100644 index 000000000..dfdb4b6f0 --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/templates/rbac/tunnel_viewer_role.yaml @@ -0,0 +1,23 @@ +# permissions for end users to view tunnels. +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + {{- include "kubernetes-ingress-controller.labels" . | nindent 4 }} + app.kubernetes.io/component: rbac + name: {{ include "kubernetes-ingress-controller.fullname" . }}-tunnel-viewer-role +rules: +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tunnels + verbs: + - get + - list + - watch +- apiGroups: + - ingress.k8s.ngrok.com + resources: + - tunnels/status + verbs: + - get diff --git a/charts/ngrok/kubernetes-ingress-controller/values.yaml b/charts/ngrok/kubernetes-ingress-controller/values.yaml new file mode 100644 index 000000000..7907a1dcd --- /dev/null +++ b/charts/ngrok/kubernetes-ingress-controller/values.yaml @@ -0,0 +1,191 @@ +## @section Common parameters +## + +## @param nameOverride String to partially override generated resource names +## @param fullnameOverride String to fully override generated resource names +## @param commonLabels Labels to add to all deployed objects +## @param commonAnnotations Annotations to add to all deployed objects +## +nameOverride: "" +fullnameOverride: "" +commonLabels: {} +commonAnnotations: {} + +## @section Controller parameters +## + +## @param podAnnotations Used to apply custom annotations to the ingress pods. +## @param podLabels Used to apply custom labels to the ingress pods. +## +podAnnotations: {} +podLabels: {} + +## @param replicaCount The number of controllers to run. +## A minimum of 2 is recommended in production for HA. +## +replicaCount: 1 + +## @param image.registry The ngrok ingress controller image registry. +## @param image.repository The ngrok ingress controller image repository. +## @param image.tag The ngrok ingress controller image tag. Defaults to the chart's appVersion if not specified +## @param image.pullPolicy The ngrok ingress controller image pull policy. +## @param image.pullSecrets An array of imagePullSecrets to be used when pulling the image. +image: + registry: docker.io + repository: ngrok/kubernetes-ingress-controller + tag: "" + pullPolicy: IfNotPresent + ## Example + ## pullSecrets: + ## - name: my-imagepull-secret + ## + pullSecrets: [] + +## @param ingressClass.name The name of the ingress class to use. +## @param ingressClass.create Whether to create the ingress class. +## @param ingressClass.default Whether to set the ingress class as default. +ingressClass: + name: ngrok + create: true + default: false + +## @param controllerName The name of the controller to look for matching ingress classes +controllerName: "k8s.ngrok.com/ingress-controller" + +## @param watchNamespace The namespace to watch for ingress resources. Defaults to all +watchNamespace: "" + +## @param credentials.secret.name The name of the secret the credentials are in. If not provided, one will be generated using the helm release name. +## @param credentials.apiKey Your ngrok API key. If provided, it will be will be written to the secret and the authtoken must be provided as well. +## @param credentials.authtoken Your ngrok authtoken. If provided, it will be will be written to the secret and the apiKey must be provided as well. +credentials: + secret: + name: "" + apiKey: "" + authtoken: "" + +## @param region ngrok region to create tunnels in. Defaults to connect to the closest geographical region. +region: "" + +## @param serverAddr This is the URL of the ngrok server to connect to. You should set this if you are using a custom ingress URL. +serverAddr: "" + +## @param metaData This is a map of key/value pairs that will be added as meta data to all ngrok api resources created +metaData: {} + +## @param affinity Affinity for the controller pod assignment +## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity +## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set +## +affinity: {} +## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` +## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity +## +podAffinityPreset: "" +## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` +## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity +## +podAntiAffinityPreset: soft +## Node affinity preset +## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity +## +nodeAffinityPreset: + ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## + type: "" + ## @param nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set. + ## E.g. + ## key: "kubernetes.io/e2e-az-name" + ## + key: "" + ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set. + ## E.g. + ## values: + ## - e2e-az1 + ## - e2e-az2 + ## + values: [] + +## @param priorityClassName Priority class for pod scheduling +## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass +priorityClassName: "" + +## Pod Disruption Budget configuration +## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ +## @param podDisruptionBudget.create Enable a Pod Disruption Budget creation +## @param podDisruptionBudget.minAvailable Minimum number/percentage of pods that should remain scheduled +## @param podDisruptionBudget.maxUnavailable Maximum number/percentage of pods that may be made unavailable +## +podDisruptionBudget: + create: false + minAvailable: "" + maxUnavailable: 1 + +## Controller container resource requests and limits +## ref: https://kubernetes.io/docs/user-guide/compute-resources/ +## We usually recommend not to specify default resources and to leave this as a conscious +## choice for the user. This also increases chances charts run on environments with little +## resources, such as Minikube. If you do want to specify resources, uncomment the following +## lines, adjust them as necessary, and remove the curly braces after 'resources:'. +## @param resources.limits The resources limits for the container +## @param resources.requests The requested resources for the container +## +resources: + ## Example: + ## limits: + ## cpu: 100m + ## memory: 128Mi + ## + limits: {} + ## Examples: + ## requests: + ## cpu: 100m + ## memory: 128Mi + ## + requests: {} + + +## @param extraVolumes An array of extra volumes to add to the controller. +extraVolumes: [] +## @param extraVolumeMounts An array of extra volume mounts to add to the controller. +extraVolumeMounts: [] +## +## Example: +## +## extraVolumes: +## - name: test-volume +## emptyDir: {} +## extraVolumeMounts: +## - name: test-volume +## mountPath: /test-volume + + +## @param extraEnv an object of extra environment variables to add to the controller. +extraEnv: {} +## Example: +## MY_VAR: test +## MY_SECRET_VAR: +## secretKeyRef: +## key: test-key +## value: test-value + +## Controller Service Account Settings +## @param serviceAccount.create Specifies whether a ServiceAccount should be created +## @param serviceAccount.name The name of the ServiceAccount to use. +## If not set and create is true, a name is generated using the fullname template +## @param serviceAccount.annotations Additional annotations to add to the ServiceAccount +## +serviceAccount: + create: true + name: "" + annotations: {} + + +## Logging configuration +## @param log.level The level to log at. One of 'debug', 'info', or 'error'. +## @param log.stacktraceLevel The level to report stacktrace logs one of 'info' or 'error'. +## @param log.format The log format to use. One of console, json. +log: + format: json + level: info + stacktraceLevel: error diff --git a/charts/redpanda/redpanda/Chart.lock b/charts/redpanda/redpanda/Chart.lock index 70eaa0151..600b26781 100644 --- a/charts/redpanda/redpanda/Chart.lock +++ b/charts/redpanda/redpanda/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://charts.redpanda.com version: 0.1.5 digest: sha256:94c1a5a4f7d20096c89eca271067220c3f02e23d2738923ce009ea411bcff028 -generated: "2023-09-28T20:04:52.501304722Z" +generated: "2023-10-03T22:38:01.853283583Z" diff --git a/charts/redpanda/redpanda/Chart.yaml b/charts/redpanda/redpanda/Chart.yaml index 5b7cf7126..2399f11fd 100644 --- a/charts/redpanda/redpanda/Chart.yaml +++ b/charts/redpanda/redpanda/Chart.yaml @@ -37,4 +37,4 @@ name: redpanda sources: - https://github.com/redpanda-data/helm-charts type: application -version: 5.5.3 +version: 5.6.0 diff --git a/charts/redpanda/redpanda/ci/21-eks-tiered-storage-with-creds-values.yaml.tpl b/charts/redpanda/redpanda/ci/21-eks-tiered-storage-with-creds-values.yaml.tpl index c5f9490fb..da8d6f5a8 100644 --- a/charts/redpanda/redpanda/ci/21-eks-tiered-storage-with-creds-values.yaml.tpl +++ b/charts/redpanda/redpanda/ci/21-eks-tiered-storage-with-creds-values.yaml.tpl @@ -14,13 +14,14 @@ # limitations under the License. --- storage: - tieredConfig: - cloud_storage_enabled: true - cloud_storage_credentials_source: config_file - cloud_storage_access_key: "${AWS_ACCESS_KEY_ID}" - cloud_storage_secret_key: "${AWS_SECRET_ACCESS_KEY}" - cloud_storage_region: "${AWS_REGION}" - cloud_storage_bucket: "${TEST_BUCKET}" - cloud_storage_segment_max_upload_interval_sec: 1 + tiered: + config: + cloud_storage_enabled: true + cloud_storage_credentials_source: config_file + cloud_storage_access_key: "${AWS_ACCESS_KEY_ID}" + cloud_storage_secret_key: "${AWS_SECRET_ACCESS_KEY}" + cloud_storage_region: "${AWS_REGION}" + cloud_storage_bucket: "${TEST_BUCKET}" + cloud_storage_segment_max_upload_interval_sec: 1 enterprise: license: "${REDPANDA_SAMPLE_LICENSE}" \ No newline at end of file diff --git a/charts/redpanda/redpanda/ci/22-gke-tiered-storage-with-creds-values.yaml.tpl b/charts/redpanda/redpanda/ci/22-gke-tiered-storage-with-creds-values.yaml.tpl index 1fcc1413a..f456972ff 100644 --- a/charts/redpanda/redpanda/ci/22-gke-tiered-storage-with-creds-values.yaml.tpl +++ b/charts/redpanda/redpanda/ci/22-gke-tiered-storage-with-creds-values.yaml.tpl @@ -14,15 +14,16 @@ # limitations under the License. --- storage: - tieredConfig: - cloud_storage_enabled: true - cloud_storage_api_endpoint: storage.googleapis.com - cloud_storage_credentials_source: config_file - cloud_storage_region: "US-WEST1" - cloud_storage_bucket: "${TEST_BUCKET}" - cloud_storage_segment_max_upload_interval_sec: 1 - cloud_storage_access_key: "${GCP_ACCESS_KEY_ID}" - cloud_storage_secret_key: "${GCP_SECRET_ACCESS_KEY}" + tiered: + config: + cloud_storage_enabled: true + cloud_storage_api_endpoint: storage.googleapis.com + cloud_storage_credentials_source: config_file + cloud_storage_region: "US-WEST1" + cloud_storage_bucket: "${TEST_BUCKET}" + cloud_storage_segment_max_upload_interval_sec: 1 + cloud_storage_access_key: "${GCP_ACCESS_KEY_ID}" + cloud_storage_secret_key: "${GCP_SECRET_ACCESS_KEY}" enterprise: license: "${REDPANDA_SAMPLE_LICENSE}" diff --git a/charts/redpanda/redpanda/ci/23-aks-tiered-storage-with-creds-values.yaml.tpl b/charts/redpanda/redpanda/ci/23-aks-tiered-storage-with-creds-values.yaml.tpl index f45186e23..e559095d7 100644 --- a/charts/redpanda/redpanda/ci/23-aks-tiered-storage-with-creds-values.yaml.tpl +++ b/charts/redpanda/redpanda/ci/23-aks-tiered-storage-with-creds-values.yaml.tpl @@ -16,13 +16,16 @@ storage: persistentVolume: storageClass: managed-csi - tieredConfig: - cloud_storage_enabled: true - cloud_storage_credentials_source: config_file - cloud_storage_segment_max_upload_interval_sec: 1 - cloud_storage_azure_storage_account: ${TEST_STORAGE_ACCOUNT} - cloud_storage_azure_container: ${TEST_STORAGE_CONTAINER} - cloud_storage_azure_shared_key: ${TEST_AZURE_SHARED_KEY} + tiered: + persistentVolume: + storageClass: managed-csi + config: + cloud_storage_enabled: true + cloud_storage_credentials_source: config_file + cloud_storage_segment_max_upload_interval_sec: 1 + cloud_storage_azure_storage_account: ${TEST_STORAGE_ACCOUNT} + cloud_storage_azure_container: ${TEST_STORAGE_CONTAINER} + cloud_storage_azure_shared_key: ${TEST_AZURE_SHARED_KEY} enterprise: license: "${REDPANDA_SAMPLE_LICENSE}" diff --git a/charts/redpanda/redpanda/templates/NOTES.txt b/charts/redpanda/redpanda/templates/NOTES.txt index d56ae7635..686f8c345 100644 --- a/charts/redpanda/redpanda/templates/NOTES.txt +++ b/charts/redpanda/redpanda/templates/NOTES.txt @@ -37,11 +37,7 @@ Any rpk command that's given to the user in in this file must be defined in _exa {{- $anySASL := (include "sasl-enabled" . | fromJson).bool }} {{- $rpk := deepCopy . }} -{{- $_ := set $rpk "rpk" ( - printf "kubectl -n %s exec -ti %s-0 -c redpanda -- rpk" - .Release.Namespace - (include "redpanda.fullname" .)) -}} +{{- $_ := set $rpk "rpk" "rpk" }} Congratulations on installing {{ .Chart.Name }}! @@ -56,18 +52,42 @@ If you are using the load balancer service with a cloud provider, the services w {{ printf "helm upgrade %s redpanda/redpanda -n %s --set $(kubectl get svc -n %s -o jsonpath='{\"external.addresses={\"}{ range .items[*]}{.status.loadBalancer.ingress[0].ip }{.status.loadBalancer.ingress[0].hostname}{\",\"}{ end }{\"}\\n\"}')" (include "redpanda.name" .) .Release.Namespace .Release.Namespace }} {{- end }} +Set up rpk for access to your external listeners: +{{- $profile := keys .Values.listeners.kafka.external | first -}} +{{ if (include "tls-enabled" . | fromJson).bool }} + {{- $external := dig "tls" "cert" .Values.listeners.kafka.tls.cert (get .Values.listeners.kafka.external $profile )}} + kubectl get secret -n {{ .Release.Namespace }} {{ include "redpanda.fullname" . }}-{{ $external }}-cert -o go-template='{{ "{{" }} index .data "ca.crt" | base64decode }}' > ca.crt + {{- if or .Values.listeners.kafka.tls.requireClientAuth .Values.listeners.admin.tls.requireClientAuth }} + kubectl get secret -n {{ .Release.Namespace }} {{ include "redpanda.fullname" . }}-client -o go-template='{{ "{{" }} index .data "tls.crt" | base64decode }}' > tls.crt + kubectl get secret -n {{ .Release.Namespace }} {{ include "redpanda.fullname" . }}-client -o go-template='{{ "{{" }} index .data "tls.key" | base64decode }}' > tls.key + {{- end }} +{{- end }} + rpk profile create --from-profile <(kubectl get configmap -n {{ .Release.Namespace }} {{ include "redpanda.fullname" . }}-rpk -o go-template='{{ "{{" }} .data.profile }}') {{ $profile }} + +Set up dns to look up the pods on their Kubernetes Nodes. You can use this query to get the list of short-names to IP addresses. Add your external domain to the hostnames and you could test by adding these to your /etc/hosts: + + kubectl get pod -n {{ .Release.Namespace }} -o custom-columns=node:.status.hostIP,name:.metadata.name --no-headers -l app.kubernetes.io/name=redpanda,app.kubernetes.io/component=redpanda-statefulset + +{{- if and $anySASL }} + +Set the credentials in the environment: + + kubectl -n {{ .Release.Namespace }} get secret {{ .Values.auth.sasl.secretRef }} -o go-template="{{ "{{" }} range .data }}{{ "{{" }} . | base64decode }}{{ "{{" }} end }}" | IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} + export {{ include "rpk-sasl-environment-variables" . }} + +{{- end }} + Try some sample commands: {{- if and $anySASL }} -{{- $_ := set $rpk "dummySasl" true }} - Create a user: {{ include "rpk-acl-user-create" $rpk }} Give the user permissions: - {{ include "rpk-acl-create" $rpk }} + {{ include "rpk-acl-create" $rpk }} + {{- end }} Get the api status: diff --git a/charts/redpanda/redpanda/templates/_configmap.tpl b/charts/redpanda/redpanda/templates/_configmap.tpl index fcc3a9586..e29e33507 100644 --- a/charts/redpanda/redpanda/templates/_configmap.tpl +++ b/charts/redpanda/redpanda/templates/_configmap.tpl @@ -26,9 +26,9 @@ limitations under the License. It's impossible to do a rolling upgrade from not-tls-enabled rpc to tls-enabled rpc. */ -}} {{- $check := list - (include "redpanda-atleast-23-1-2" .|fromJson).bool - (include "redpanda-22-3-atleast-22-3-13" .|fromJson).bool - (include "redpanda-22-2-atleast-22-2-10" .|fromJson).bool + (include "redpanda-atleast-23-1-2" .|fromJson).bool + (include "redpanda-22-3-atleast-22-3-13" .|fromJson).bool + (include "redpanda-22-2-atleast-22-2-10" .|fromJson).bool -}} {{- $wantedRPCTLS := (include "rpc-tls-enabled" . | fromJson).bool -}} {{- if and (not (mustHas true $check)) $wantedRPCTLS -}} @@ -61,23 +61,23 @@ limitations under the License. {{- end -}} {{- end -}} - bootstrap.yaml: | - kafka_enable_authorization: {{ (include "sasl-enabled" . | fromJson).bool }} - enable_sasl: {{ (include "sasl-enabled" . | fromJson).bool }} - enable_rack_awareness: {{ .Values.rackAwareness.enabled }} - {{- if $users }} - superusers: {{ toJson $users }} - {{- end }} - {{- with (dig "cluster" dict .Values.config) }} - {{- range $key, $element := .}} - {{- if or (eq (typeOf $element) "bool") $element }} - {{ $key }}: {{ $element | toYaml }} - {{- end }} +bootstrap.yaml: | + kafka_enable_authorization: {{ (include "sasl-enabled" . | fromJson).bool }} + enable_sasl: {{ (include "sasl-enabled" . | fromJson).bool }} + enable_rack_awareness: {{ .Values.rackAwareness.enabled }} +{{- with $users }} + superusers: {{ toYaml . | nindent 4 }} +{{- end }} +{{- with (dig "cluster" dict .Values.config) }} + {{- range $key, $element := .}} + {{- if or (eq (typeOf $element) "bool") $element }} + {{- dict $key $element | toYaml | nindent 2 }} {{- end }} + {{- end }} {{- end }} - {{- include "tunable" . }} + {{- include "tunable" . | nindent 2 }} {{- if and (not (hasKey .Values.config.cluster "storage_min_free_bytes")) ((include "redpanda-atleast-22-2-0" . | fromJson).bool) }} - storage_min_free_bytes: {{ include "storage-min-free-bytes" . }} + storage_min_free_bytes: {{ include "storage-min-free-bytes" . }} {{- end }} {{- if and (include "is-licensed" . | fromJson).bool (include "storage-tiered-config" .|fromJson).cloud_storage_enabled }} {{- $tieredStorageConfig := (include "storage-tiered-config" .|fromJson) }} @@ -86,84 +86,85 @@ limitations under the License. {{- $tieredStorageConfig = unset $tieredStorageConfig "cloud_storage_credentials_source"}} {{- end }} {{- range $key, $element := $tieredStorageConfig}} + {{- if or (eq (typeOf $element) "bool") $element }} + {{- dict $key $element | toYaml | nindent 2 }} + {{- end }} + {{- end }} +{{- end }} + +redpanda.yaml: | + config_file: /etc/redpanda/redpanda.yaml +{{- if .Values.logging.usageStats.enabled }} + {{- with (dig "usageStats" "organization" "" .Values.logging) }} + organization: {{ . }} + {{- end }} + {{- with (dig "usageStats" "clusterId" "" .Values.logging) }} + cluster_id: {{ . }} + {{- end }} +{{- end }} + redpanda: +{{- if (include "redpanda-atleast-22-3-0" . | fromJson).bool }} + empty_seed_starts_cluster: false +{{- end }} + kafka_enable_authorization: {{ (include "sasl-enabled" . | fromJson).bool }} + enable_sasl: {{ (include "sasl-enabled" . | fromJson).bool }} +{{- if $users }} + superusers: {{ toJson $users }} +{{- end }} +{{- with (dig "cluster" dict .Values.config) }} + {{- range $key, $element := . }} {{- if or (eq (typeOf $element) "bool") $element }} {{ $key }}: {{ $element | toYaml }} {{- end }} {{- end }} {{- end }} - redpanda.yaml: | - config_file: /etc/redpanda/redpanda.yaml -{{- if .Values.logging.usageStats.enabled }} - {{- with (dig "usageStats" "organization" "" .Values.logging) }} - organization: {{ . }} - {{- end }} - {{- with (dig "usageStats" "clusterId" "" .Values.logging) }} - cluster_id: {{ . }} +{{- with (dig "tunable" dict .Values.config) }} + {{- range $key, $element := .}} + {{- if or (eq (typeOf $element) "bool") $element }} + {{ $key }}: {{ $element | toYaml }} + {{- end }} {{- end }} {{- end }} - redpanda: -{{- if (include "redpanda-atleast-22-3-0" . | fromJson).bool }} - empty_seed_starts_cluster: false +{{- if not (hasKey .Values.config.cluster "storage_min_free_bytes") }} + storage_min_free_bytes: {{ include "storage-min-free-bytes" . }} {{- end }} - kafka_enable_authorization: {{ (include "sasl-enabled" . | fromJson).bool }} - enable_sasl: {{ (include "sasl-enabled" . | fromJson).bool }} - {{- if $users }} - superusers: {{ toJson $users }} +{{- with dig "node" dict .Values.config }} + {{- range $key, $element := .}} + {{- if and (or (eq (typeOf $element) "bool") $element) (and (eq $key "crash_loop_limit") (include "redpanda-atleast-23-1-1" $root | fromJson).bool) }} + {{ $key }}: {{ $element | toYaml }} + {{- end }} {{- end }} - {{- with (dig "cluster" dict .Values.config) }} - {{- range $key, $element := . }} - {{- if or (eq (typeOf $element) "bool") $element }} - {{ $key }}: {{ $element | toYaml }} - {{- end }} - {{- end }} - {{- end }} - {{- with (dig "tunable" dict .Values.config) }} - {{- range $key, $element := .}} - {{- if or (eq (typeOf $element) "bool") $element }} - {{ $key }}: {{ $element | toYaml }} - {{- end }} - {{- end }} - {{- end }} - {{- if not (hasKey .Values.config.cluster "storage_min_free_bytes") }} - storage_min_free_bytes: {{ include "storage-min-free-bytes" . }} - {{- end }} - {{- with dig "node" dict .Values.config }} - {{- range $key, $element := .}} - {{- if and (or (eq (typeOf $element) "bool") $element) (and (eq $key "crash_loop_limit") (include "redpanda-atleast-23-1-1" $root | fromJson).bool) }} - {{ $key }}: {{ $element | toYaml }} - {{- end }} - {{- end }} - {{- end }} -{{- /* LISTENERS */}} -{{- /* Admin API */}} +{{- end -}} +{{/* LISTENERS */}} +{{/* Admin API */}} {{- $service := .Values.listeners.admin }} - admin: - - name: internal - address: 0.0.0.0 - port: {{ $service.port }} + admin: + - name: internal + address: 0.0.0.0 + port: {{ $service.port }} {{- range $name, $listener := $service.external }} -{{- if and $listener.port $name }} - - name: {{ $name }} - address: 0.0.0.0 - port: {{ $listener.port }} + {{- if and $listener.port $name }} + - name: {{ $name }} + address: 0.0.0.0 + port: {{ $listener.port }} + {{- end }} {{- end }} -{{- end }} - admin_api_tls: + admin_api_tls: {{- if (include "admin-internal-tls-enabled" . | fromJson).bool }} - - name: internal - enabled: true - cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key - require_client_auth: {{ $service.tls.requireClientAuth }} + - name: internal + enabled: true + cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key + require_client_auth: {{ $service.tls.requireClientAuth }} {{- $cert := get .Values.tls.certs $service.tls.cert }} {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} {{- if $cert.caEnabled }} - truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{/* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} {{- range $name, $listener := $service.external }} @@ -177,52 +178,52 @@ limitations under the License. {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined" $certName)}} {{- end }} - - name: {{ $name }} - enabled: true - cert_file: {{ $certPath }}/tls.crt - key_file: {{ $certPath }}/tls.key - require_client_auth: {{ $mtls }} + - name: {{ $name }} + enabled: true + cert_file: {{ $certPath }}/tls.crt + key_file: {{ $certPath }}/tls.key + require_client_auth: {{ $mtls }} {{- if $cert.caEnabled }} - truststore_file: {{ $certPath }}/ca.crt + truststore_file: {{ $certPath }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} -{{- end }} -{{- /* Kafka API */}} +{{- end -}} +{{/* Kafka API */}} {{- $kafkaService := .Values.listeners.kafka }} - kafka_api: - - name: internal - address: 0.0.0.0 - port: {{ $kafkaService.port }} - {{- if or (include "sasl-enabled" $root | fromJson).bool $kafkaService.authenticationMethod }} - authentication_method: {{ default "sasl" $kafkaService.authenticationMethod }} - {{- end }} -{{- range $name, $listener := $kafkaService.external }} - - name: {{ $name }} - address: 0.0.0.0 - port: {{ $listener.port }} - {{- if or (include "sasl-enabled" $root | fromJson).bool $listener.authenticationMethod }} - authentication_method: {{ default "sasl" $listener.authenticationMethod }} - {{- end }} + kafka_api: + - name: internal + address: 0.0.0.0 + port: {{ $kafkaService.port }} +{{- if or (include "sasl-enabled" $root | fromJson).bool $kafkaService.authenticationMethod }} + authentication_method: {{ default "sasl" $kafkaService.authenticationMethod }} {{- end }} - kafka_api_tls: +{{- range $name, $listener := $kafkaService.external }} + - name: {{ $name }} + address: 0.0.0.0 + port: {{ $listener.port }} + {{- if or (include "sasl-enabled" $root | fromJson).bool $listener.authenticationMethod }} + authentication_method: {{ default "sasl" $listener.authenticationMethod }} + {{- end }} +{{- end }} + kafka_api_tls: {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool }} - - name: internal - enabled: true - cert_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.key - require_client_auth: {{ $kafkaService.tls.requireClientAuth }} + - name: internal + enabled: true + cert_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.key + require_client_auth: {{ $kafkaService.tls.requireClientAuth }} {{- $cert := get .Values.tls.certs $kafkaService.tls.cert }} {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} {{- if $cert.caEnabled }} - truststore_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/ca.crt + truststore_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{/* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} {{- range $name, $listener := $kafkaService.external }} @@ -236,96 +237,95 @@ limitations under the License. {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined" $certName)}} {{- end }} - - name: {{ $name }} - enabled: true - cert_file: {{ $certPath }}/tls.crt - key_file: {{ $certPath }}/tls.key - require_client_auth: {{ $mtls }} + - name: {{ $name }} + enabled: true + cert_file: {{ $certPath }}/tls.crt + key_file: {{ $certPath }}/tls.key + require_client_auth: {{ $mtls }} {{- if $cert.caEnabled }} - truststore_file: {{ $certPath }}/ca.crt + truststore_file: {{ $certPath }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{/* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} -{{- end }} -{{- /* RPC Server */}} +{{- end -}} +{{/* RPC Server */}} {{- $service = .Values.listeners.rpc }} - rpc_server: - address: 0.0.0.0 - port: {{ $service.port }} + rpc_server: + address: 0.0.0.0 + port: {{ $service.port }} {{- if (include "rpc-tls-enabled" . | fromJson).bool }} - rpc_server_tls: - enabled: true - cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key - require_client_auth: {{ $service.tls.requireClientAuth }} + rpc_server_tls: + enabled: true + cert_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $service.tls.cert }}/tls.key + require_client_auth: {{ $service.tls.requireClientAuth }} {{- $cert := get .Values.tls.certs $service.tls.cert }} {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} {{- if $cert.caEnabled }} - truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt + truststore_file: /etc/tls/certs/{{ $service.tls.cert }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} -{{- end }} - seed_servers: -{{- with $root.tempConfigMapServerList -}} - {{- . | trim | nindent 8 }} {{- end -}} +{{- with $root.tempConfigMapServerList }} + seed_servers: {{ toYaml . | nindent 6 }} +{{- end }} {{- if and (include "is-licensed" . | fromJson).bool (include "storage-tiered-config" .|fromJson).cloud_storage_enabled }} {{- $tieredStorageConfig := (include "storage-tiered-config" .|fromJson) }} {{- if not (include "redpanda-atleast-22-3-0" . | fromJson).bool }} - {{- $tieredStorageConfig = unset $tieredStorageConfig "cloud_storage_credentials_source"}} + {{- $tieredStorageConfig = unset $tieredStorageConfig "cloud_storage_credentials_source" }} {{- end }} - {{- range $key, $element := $tieredStorageConfig}} + {{- range $key, $element := $tieredStorageConfig }} {{- if or (eq (typeOf $element) "bool") $element }} - {{ $key }}: {{ $element | toYaml }} + {{- dict $key $element | toYaml | nindent 2 -}} {{- end }} {{- end }} {{- end }} -{{- /* Schema Registry API */}} +{{/* Schema Registry API */}} {{- if and .Values.listeners.schemaRegistry.enabled (include "redpanda-22-2-x-without-sasl" $root | fromJson).bool }} {{- $schemaRegistryService := .Values.listeners.schemaRegistry }} - schema_registry_client: - brokers: + schema_registry_client: + brokers: {{- range (include "seed-server-list" $root | mustFromJson) }} - - address: {{ . }} - port: {{ $kafkaService.port }} + - address: {{ . }} + port: {{ $kafkaService.port }} {{- end }} {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool }} - broker_tls: - enabled: true - require_client_auth: {{ $kafkaService.tls.requireClientAuth }} - cert_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.key + broker_tls: + enabled: true + require_client_auth: {{ $kafkaService.tls.requireClientAuth }} + cert_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.key {{- $cert := get .Values.tls.certs $kafkaService.tls.cert }} {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} {{- if $cert.caEnabled }} - truststore_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/ca.crt + truststore_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} {{- with .Values.config.schema_registry_client }} {{- toYaml . | nindent 6 }} {{- end }} - schema_registry: - schema_registry_api: - - name: internal - address: 0.0.0.0 - port: {{ $schemaRegistryService.port }} + schema_registry: + schema_registry_api: + - name: internal + address: 0.0.0.0 + port: {{ $schemaRegistryService.port }} {{- if or (include "sasl-enabled" $root | fromJson).bool $schemaRegistryService.authenticationMethod }} - authentication_method: {{ default "http_basic" $schemaRegistryService.authenticationMethod }} + authentication_method: {{ default "http_basic" $schemaRegistryService.authenticationMethod }} {{- end }} {{- range $name, $listener := $schemaRegistryService.external }} - - name: {{ $name }} - address: 0.0.0.0 + - name: {{ $name }} + address: 0.0.0.0 {{- /* when upgrading from an older version that had a missing port, fail if we cannot guess a default this should work in all cases as the older versions would have failed with multiple listeners anyway @@ -333,27 +333,27 @@ limitations under the License. {{- if and (empty $listener.port) (ne (len $schemaRegistryService.external) 1) }} {{- fail "missing required port for schemaRegistry listener $listener.name" }} {{- end }} - port: {{ $listener.port | default 8084 }} + port: {{ $listener.port | default 8084 }} {{- if or (include "sasl-enabled" $root | fromJson).bool $listener.authenticationMethod }} - authentication_method: {{ default "http_basic" $listener.authenticationMethod }} + authentication_method: {{ default "http_basic" $listener.authenticationMethod }} {{- end }} {{- end }} - schema_registry_api_tls: + schema_registry_api_tls: {{- if (include "schemaRegistry-internal-tls-enabled" . | fromJson).bool }} - - name: internal - enabled: true - cert_file: /etc/tls/certs/{{ $schemaRegistryService.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ $schemaRegistryService.tls.cert }}/tls.key - require_client_auth: {{ $schemaRegistryService.tls.requireClientAuth }} + - name: internal + enabled: true + cert_file: /etc/tls/certs/{{ $schemaRegistryService.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $schemaRegistryService.tls.cert }}/tls.key + require_client_auth: {{ $schemaRegistryService.tls.requireClientAuth }} {{- $cert := get .Values.tls.certs $schemaRegistryService.tls.cert }} {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} {{- if $cert.caEnabled }} - truststore_file: /etc/tls/certs/{{ $schemaRegistryService.tls.cert }}/ca.crt + truststore_file: /etc/tls/certs/{{ $schemaRegistryService.tls.cert }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} {{- range $name, $listener := $schemaRegistryService.external }} @@ -367,81 +367,81 @@ limitations under the License. {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} - - name: {{ $name }} - enabled: true - cert_file: {{ $certPath }}/tls.crt - key_file: {{ $certPath }}/tls.key - require_client_auth: {{ $mtls }} + - name: {{ $name }} + enabled: true + cert_file: {{ $certPath }}/tls.crt + key_file: {{ $certPath }}/tls.key + require_client_auth: {{ $mtls }} {{- if $cert.caEnabled }} - truststore_file: {{ $certPath }}/ca.crt + truststore_file: {{ $certPath }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} {{- end }} -{{- end }} -{{- /* HTTP Proxy */}} +{{- end -}} +{{/* HTTP Proxy */}} {{- if and .Values.listeners.http.enabled (include "redpanda-22-2-x-without-sasl" $root | fromJson).bool }} {{- $HTTPService := .Values.listeners.http }} - pandaproxy_client: - brokers: - {{- range (include "seed-server-list" $root | mustFromJson) }} - - address: {{ . }} - port: {{ $kafkaService.port }} - {{- end }} - {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool }} - broker_tls: - enabled: true - require_client_auth: {{ $kafkaService.tls.requireClientAuth }} - cert_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.key - {{- $cert := get .Values.tls.certs $kafkaService.tls.cert }} - {{- if empty $cert }} - {{- fail (printf "Certificate, '%s', used but not defined")}} - {{- end }} - {{- if $cert.caEnabled }} - truststore_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/ca.crt - {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt - {{- end }} - {{- with .Values.config.pandaproxy_client }} - {{- toYaml . | nindent 6 }} - {{- end }} - {{- end }} - pandaproxy: - pandaproxy_api: - - name: internal - address: 0.0.0.0 - port: {{ $HTTPService.port }} - {{- if or (include "sasl-enabled" $root | fromJson).bool $HTTPService.authenticationMethod }} - authentication_method: {{ default "http_basic" $HTTPService.authenticationMethod }} - {{- end }} - {{- range $name, $listener := $HTTPService.external }} - - name: {{ $name }} - address: 0.0.0.0 - port: {{ $listener.port }} - {{- if or (include "sasl-enabled" $root | fromJson).bool $listener.authenticationMethod }} - authentication_method: {{ default "http_basic" $listener.authenticationMethod }} - {{- end }} + pandaproxy_client: + brokers: + {{- range (include "seed-server-list" $root | mustFromJson) }} + - address: {{ . }} + port: {{ $kafkaService.port }} {{- end }} - pandaproxy_api_tls: - {{- if (include "http-internal-tls-enabled" . | fromJson).bool }} - - name: internal - enabled: true - cert_file: /etc/tls/certs/{{ $HTTPService.tls.cert }}/tls.crt - key_file: /etc/tls/certs/{{ $HTTPService.tls.cert }}/tls.key - require_client_auth: {{ $HTTPService.tls.requireClientAuth }} + {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool }} + broker_tls: + enabled: true + require_client_auth: {{ $kafkaService.tls.requireClientAuth }} + cert_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/tls.key + {{- $cert := get .Values.tls.certs $kafkaService.tls.cert }} + {{- if empty $cert }} + {{- fail (printf "Certificate, '%s', used but not defined")}} + {{- end }} + {{- if $cert.caEnabled }} + truststore_file: /etc/tls/certs/{{ $kafkaService.tls.cert }}/ca.crt + {{- else }} + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- end }} + {{- with .Values.config.pandaproxy_client }} + {{- toYaml . | nindent 6 }} + {{- end }} +{{- end }} + pandaproxy: + pandaproxy_api: + - name: internal + address: 0.0.0.0 + port: {{ $HTTPService.port }} +{{- if or (include "sasl-enabled" $root | fromJson).bool $HTTPService.authenticationMethod }} + authentication_method: {{ default "http_basic" $HTTPService.authenticationMethod }} +{{- end }} +{{- range $name, $listener := $HTTPService.external }} + - name: {{ $name }} + address: 0.0.0.0 + port: {{ $listener.port }} + {{- if or (include "sasl-enabled" $root | fromJson).bool $listener.authenticationMethod }} + authentication_method: {{ default "http_basic" $listener.authenticationMethod }} + {{- end }} +{{- end }} + pandaproxy_api_tls: +{{- if (include "http-internal-tls-enabled" . | fromJson).bool }} + - name: internal + enabled: true + cert_file: /etc/tls/certs/{{ $HTTPService.tls.cert }}/tls.crt + key_file: /etc/tls/certs/{{ $HTTPService.tls.cert }}/tls.key + require_client_auth: {{ $HTTPService.tls.requireClientAuth }} {{- $cert := get .Values.tls.certs $HTTPService.tls.cert }} {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} {{- if $cert.caEnabled }} - truststore_file: /etc/tls/certs/{{ $HTTPService.tls.cert }}/ca.crt + truststore_file: /etc/tls/certs/{{ $HTTPService.tls.cert }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} {{- range $name, $listener := $HTTPService.external }} @@ -455,61 +455,145 @@ limitations under the License. {{- if empty $cert }} {{- fail (printf "Certificate, '%s', used but not defined")}} {{- end }} - - name: {{ $name }} - enabled: true - cert_file: {{ $certPath }}/tls.crt - key_file: {{ $certPath }}/tls.key - require_client_auth: {{ $mtls }} + - name: {{ $name }} + enabled: true + cert_file: {{ $certPath }}/tls.crt + key_file: {{ $certPath }}/tls.key + require_client_auth: {{ $mtls }} {{- if $cert.caEnabled }} - truststore_file: {{ $certPath }}/ca.crt + truststore_file: {{ $certPath }}/ca.crt {{- else }} - {{- /* This is a required field so we use the default in the redpanda debian container */}} - truststore_file: /etc/ssl/certs/ca-certificates.crt + {{- /* This is a required field so we use the default in the redpanda debian container */}} + truststore_file: /etc/ssl/certs/ca-certificates.crt {{- end }} {{- end }} {{- end }} {{- end }} -{{- /* END LISTENERS */}} +{{/* END LISTENERS */}} +{{- end -}} - rpk: -{{- with (dig "rpk" dict .Values.config) }} - {{- . | toYaml | nindent 6}} -{{- end }} - enable_usage_stats: {{ .Values.logging.usageStats.enabled }} - overprovisioned: {{ dig "cpu" "overprovisioned" false .Values.resources }} - enable_memory_locking: {{ dig "memory" "enable_memory_locking" false .Values.resources }} -{{- if hasKey .Values.tuning "tune_aio_events" }} - tune_aio_events: {{ .Values.tuning.tune_aio_events }} -{{- end }} -{{- if hasKey .Values.tuning "tune_clocksource" }} - tune_clocksource: {{ .Values.tuning.tune_clocksource }} -{{- end }} -{{- if hasKey .Values.tuning "tune_ballast_file" }} - tune_ballast_file: {{ .Values.tuning.tune_ballast_file }} -{{- end }} -{{- if hasKey .Values.tuning "ballast_file_path" }} - ballast_file_path: {{ .Values.tuning.ballast_file_path }} -{{- end }} -{{- if hasKey .Values.tuning "ballast_file_size" }} - ballast_file_size: {{ .Values.tuning.ballast_file_size }} -{{- end }} -{{- if hasKey .Values.tuning "well_known_io" }} - well_known_io: {{ .Values.tuning.well_known_io }} -{{- end }} +{{- define "rpk-config-internal" -}} + {{- $brokers := list -}} + {{- $admin := list -}} + {{- range $i := untilStep 0 (.Values.statefulset.replicas|int) 1 -}} + {{- $podName := printf "%s-%d.%s" (include "redpanda.fullname" $) $i (include "redpanda.internal.domain" $) -}} + {{- $brokers = concat $brokers (list (printf "%s:%d" $podName (int $.Values.listeners.kafka.port))) -}} + {{- $admin = concat $admin (list (printf "%s:%d" $podName (int $.Values.listeners.admin.port))) -}} + {{- end -}} +rpk: + # redpanda server configuration + overprovisioned: {{ dig "cpu" "overprovisioned" false .Values.resources }} + enable_memory_locking: {{ dig "memory" "enable_memory_locking" false .Values.resources }} + additional_start_flags: + - "--smp={{ include "redpanda-smp" . }}" + - "--memory={{ template "redpanda-memory" . }}M" + - "--reserve-memory={{ template "redpanda-reserve-memory" . }}M" + - "--default-log-level={{ .Values.logging.logLevel }}" + {{- with .Values.statefulset.additionalRedpandaCmdFlags -}} + {{- toYaml . | nindent 4 }} + {{- end }} + + {{- with dig "config" "rpk" dict .Values.AsMap }} + # config.rpk entries + {{- toYaml . | nindent 2 }} + {{- end }} + + {{- with dig "tuning" dict .Values.AsMap }} + # rpk tune entries + {{- toYaml . | nindent 2 }} + {{- end }} + + # kafka connection configuration + kafka_api: + brokers: {{ toYaml $brokers | nindent 6 }} + tls: + {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool }} + {{- $cert := get .Values.tls.certs .Values.listeners.kafka.tls.cert }} + {{- if $cert.caEnabled }} + truststore_file: {{ printf "/etc/tls/certs/%s/ca.crt" .Values.listeners.kafka.tls.cert }} + {{- end }} + {{- if .Values.listeners.kafka.tls.requireClientAuth }} + cert_file: {{ printf "/etc/tls/certs/%s-client/tls.crt" (include "redpanda.fullname" .) }} + key_file: {{ printf "/etc/tls/certs/%s-client/tls.key" (include "redpanda.fullname" .) }} + {{- end }} + {{- end }} + admin_api: + addresses: {{ toYaml $admin | nindent 6 }} + tls: + {{- if (include "admin-internal-tls-enabled" . | fromJson).bool }} + {{- $cert := get .Values.tls.certs .Values.listeners.admin.tls.cert }} + {{- if $cert.caEnabled }} + truststore_file: {{ printf "/etc/tls/certs/%s/ca.crt" .Values.listeners.admin.tls.cert }} + {{- end }} + {{- if .Values.listeners.admin.tls.requireClientAuth }} + cert_file: {{ printf "/etc/tls/certs/%s-client/tls.crt" (include "redpanda.fullname" .) }} + key_file: {{ printf "/etc/tls/certs/%s-client/tls.key" (include "redpanda.fullname" .) }} + {{- end }} + {{- end }} {{- end -}} {{- define "configmap-server-list" -}} -{{- $root := . }} -{{- range (include "seed-server-list" $root | mustFromJson) }} -- host: - address: {{ . }} - port: {{ $root.Values.listeners.rpc.port }} -{{- end }} + {{- $serverList := list -}} + {{- range (include "seed-server-list" . | mustFromJson) -}} + {{- $server := dict "host" (dict "address" . "port" $.Values.listeners.rpc.port) -}} + {{- $serverList = append $serverList $server -}} + {{- end -}} + {{- toJson (dict "serverList" $serverList) -}} {{- end -}} -{{- define "configmap-with-server-list" -}} -{{- $root := . }} -{{- $serverList := (include "configmap-server-list" $root ) -}} -{{- $r := set $root "tempConfigMapServerList" ( $serverList ) }} -{{ include "configmap-content-no-seed" $r }} -{{- end -}} \ No newline at end of file +{{- define "full-configmap" -}} + {{- $serverList := (fromJson (include "configmap-server-list" .)).serverList -}} + {{- $r := set . "tempConfigMapServerList" $serverList -}} + {{ include "configmap-content-no-seed" $r | nindent 0 }} + {{ include "rpk-config-internal" $ | nindent 2 }} +{{- end -}} + +{{- define "rpk-config-external" -}} + {{- $brokers := list -}} + {{- $admin := list -}} + {{- $profile := keys .Values.listeners.kafka.external | first -}} + {{- $kafkaListener := get .Values.listeners.kafka.external $profile -}} + {{- $adminprofile := keys .Values.listeners.admin.external | first -}} + {{- $adminListener := get .Values.listeners.admin.external $adminprofile -}} + {{- range $i := until (.Values.statefulset.replicas|int) -}} + {{- $externalAdvertiseAddress := printf "%s-%d" (include "redpanda.fullname" $) $i -}} + {{- if (tpl ($.Values.external.domain | default "") $) -}} + {{- $externalAdvertiseAddress = printf "%s.%s" $externalAdvertiseAddress (tpl $.Values.external.domain $) -}} + {{- end -}} + {{- $tmplVals := dict "listenerVals" $.Values.listeners.kafka "externalVals" $kafkaListener "externalName" $profile "externalAdvertiseAddress" $externalAdvertiseAddress "values" $.Values "replicaIndex" $i -}} + {{- $port := int (include "advertised-port" $tmplVals) -}} + {{- $host := fromJson (include "advertised-host" (mustMerge $tmplVals (dict "port" $port) $)) -}} + {{- $brokers = concat $brokers (list (printf "%s:%d" (get $host "address") (get $host "port" | int))) -}} + {{- $tmplVals = dict "listenerVals" $.Values.listeners.admin "externalVals" $adminListener "externalName" $profile "externalAdvertiseAddress" $externalAdvertiseAddress "values" $.Values "replicaIndex" $i -}} + {{- $port = int (include "advertised-port" $tmplVals) -}} + {{- $host = fromJson (include "advertised-host" (mustMerge $tmplVals (dict "port" $port) $)) -}} + {{- $admin = concat $admin (list (printf "%s:%d" (get $host "address") (get $host "port" | int))) -}} + {{- end -}} +name: {{ $profile }} +kafka_api: + brokers: {{ toYaml $brokers | nindent 6 }} + tls: + {{- if (include "kafka-external-tls-enabled" (dict "Values" .Values "listener" $kafkaListener) | fromJson).bool }} + {{- $cert := get .Values.tls.certs .Values.listeners.kafka.tls.cert }} + {{- if $cert.caEnabled }} + ca_file: ca.crt + {{- end }} + {{- if .Values.listeners.kafka.tls.requireClientAuth }} + cert_file: tls.crt + key_file: tls.key + {{- end }} + {{- end }} +admin_api: + addresses: {{ toYaml $admin | nindent 6 }} + tls: + {{- if (include "admin-external-tls-enabled" (dict "Values" .Values "listener" $adminListener) | fromJson).bool }} + {{- $cert := get .Values.tls.certs .Values.listeners.admin.tls.cert }} + {{- if $cert.caEnabled }} + ca_file: ca.crt + {{- end }} + {{- if .Values.listeners.admin.tls.requireClientAuth }} + cert_file: tls.crt + key_file: tls.key + {{- end }} + {{- end }} +{{- end -}} diff --git a/charts/redpanda/redpanda/templates/_example-commands.tpl b/charts/redpanda/redpanda/templates/_example-commands.tpl index 8fda2c701..edc5af6b4 100644 --- a/charts/redpanda/redpanda/templates/_example-commands.tpl +++ b/charts/redpanda/redpanda/templates/_example-commands.tpl @@ -23,58 +23,30 @@ and tested in a test. {{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-acl-user-create" -}} -{{ .rpk }} acl user create myuser --new-password changeme --mechanism {{ include "sasl-mechanism" . }} {{ include "rpk-acl-user-flags" . }} +{{ .rpk }} acl user create myuser --new-password changeme --mechanism {{ include "sasl-mechanism" . }} {{- end -}} {{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-acl-create" -}} -{{- $dummySasl := .dummySasl -}} -{{- if $dummySasl -}} -{{ .rpk }} acl create --allow-principal 'myuser' --allow-host '*' --operation all --topic 'test-topic' {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} -{{- else -}} -{{ .rpk }} acl create --allow-principal 'myuser' --allow-host '*' --operation all --topic 'test-topic' {{ include "rpk-flags-no-admin" . }} -{{- end -}} +{{ .rpk }} acl create --allow-principal 'myuser' --allow-host '*' --operation all --topic 'test-topic' {{- end -}} {{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-cluster-info" -}} -{{- $dummySasl := .dummySasl -}} -{{- if $dummySasl -}} -{{ .rpk }} cluster info {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} -{{- else -}} -{{ .rpk }} cluster info {{ include "rpk-flags-no-admin" . }} -{{- end -}} +{{ .rpk }} cluster info {{- end -}} {{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-topic-create" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{- $dummySasl := .dummySasl -}} -{{- if $dummySasl -}} -{{ .rpk }} topic create test-topic -p 3 -r {{ .Values.statefulset.replicas | int64 }} {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} -{{- else -}} -{{ .rpk }} topic create test-topic -p 3 -r {{ .Values.statefulset.replicas | int64 }} {{ include "rpk-flags-no-admin" . }} -{{- end -}} +{{ .rpk }} topic create test-topic -p 3 -r {{ min (int64 .Values.statefulset.replicas) 3 }} {{- end -}} {{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-topic-describe" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{- $dummySasl := .dummySasl -}} -{{- if $dummySasl -}} -{{ .rpk }} topic describe test-topic {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} -{{- else -}} -{{ .rpk }} topic describe test-topic {{ include "rpk-flags-no-admin" . }} -{{- end -}} +{{ .rpk }} topic describe test-topic {{- end -}} {{/* tested in tests/test-kafka-sasl-status.yaml */}} {{- define "rpk-topic-delete" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{- $dummySasl := $.dummySasl -}} -{{- if $dummySasl -}} -{{ .rpk }} topic delete test-topic {{ include "rpk-flags-no-admin-no-sasl" . }} {{ include "rpk-dummy-sasl" . }} -{{- else -}} -{{ .rpk }} topic delete test-topic {{ include "rpk-flags-no-admin" . }} -{{- end -}} +{{ .rpk }} topic delete test-topic {{- end -}} diff --git a/charts/redpanda/redpanda/templates/_helpers.tpl b/charts/redpanda/redpanda/templates/_helpers.tpl index c56741098..9f846d2b6 100644 --- a/charts/redpanda/redpanda/templates/_helpers.tpl +++ b/charts/redpanda/redpanda/templates/_helpers.tpl @@ -99,10 +99,7 @@ Use AppVersion if image.tag is not set {{- $tag -}} {{- end -}} -{{/* -Generate configuration needed for rpk -*/}} - +{{/* Generate internal fqdn */}} {{- define "redpanda.internal.domain" -}} {{- $service := include "redpanda.servicename" . -}} {{- $ns := .Release.Namespace -}} @@ -382,112 +379,6 @@ than 1 core. {{- dig "sasl" "mechanism" "SCRAM-SHA-512" .Values.auth -}} {{- end -}} -{{- define "rpk-flags" -}} - {{- $root := . -}} - {{- $admin := list -}} - {{- $admin = concat $admin (list "--api-urls" (include "admin-api-urls" . )) -}} - {{- if (include "admin-internal-tls-enabled" . | fromJson).bool -}} - {{- $admin = concat $admin (list - "--admin-api-tls-enabled" - "--admin-api-tls-truststore" - (printf "/etc/tls/certs/%s/ca.crt" .Values.listeners.admin.tls.cert)) - -}} - {{- end -}} - {{- $kafka := list -}} - {{- if (include "kafka-internal-tls-enabled" . | fromJson).bool -}} - {{- $kafka = concat $kafka (list - "--tls-enabled" - "--tls-truststore" - (printf "/etc/tls/certs/%s/ca.crt" .Values.listeners.kafka.tls.cert)) - -}} - {{- end -}} - {{- $sasl := list -}} - {{- if (include "sasl-enabled" . | fromJson).bool -}} - {{- $sasl = concat $sasl (list - "--user" ( print "$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 1p )" | quote ) - "--password" ( print "$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 2p )" | quote ) - "--sasl-mechanism" ( printf "$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 3p | grep . || echo %s )" (include "sasl-mechanism" .) | quote ) - ) - -}} - {{- end -}} - {{- $brokers := list -}} - {{- range $i := untilStep 0 (.Values.statefulset.replicas|int) 1 -}} - {{- $brokers = concat $brokers (list (printf "%s-%d.%s:%d" - (include "redpanda.fullname" $root) - $i - (include "redpanda.internal.domain" $root) - (int $root.Values.listeners.kafka.port))) - -}} - {{- end -}} - {{- $brokersFlag := printf "--brokers %s" (join "," $brokers) -}} -{{- toJson (dict "admin" (join " " $admin) "kafka" (join " " $kafka) "sasl" (join " " $sasl) "brokers" $brokersFlag) -}} -{{- end -}} - -{{- define "rpk-common-flags" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{ join " " (list $flags.brokers $flags.admin $flags.sasl $flags.kafka)}} -{{- end -}} - -{{- define "rpk-flags-no-admin" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{ join " " (list $flags.brokers $flags.kafka $flags.sasl)}} -{{- end -}} - -{{- define "rpk-flags-no-sasl" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{ join " " (list $flags.brokers $flags.admin $flags.kafka)}} -{{- end -}} - -{{- define "rpk-flags-no-brokers-no-sasl" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{ $flags.admin }} -{{- end -}} - -{{- define "rpk-acl-user-flags" }} -{{- $root := . -}} -{{- $admin := list -}} - {{- $apiUrls := list -}} - {{- range $i := untilStep 0 (.Values.statefulset.replicas|int) 1 -}} - {{- $apiUrls = concat $apiUrls (list (printf "%s-%d.%s:%d" - (include "redpanda.fullname" $root) - $i - (include "redpanda.internal.domain" $root) - (int $root.Values.listeners.admin.port))) - -}} - {{- end -}} - {{- $admin = concat $admin (list "--api-urls" (join "," $apiUrls)) -}} - {{- if (include "admin-internal-tls-enabled" . | fromJson).bool -}} - {{- $admin = concat $admin (list - "--admin-api-tls-enabled" - "--admin-api-tls-truststore" - (printf "/etc/tls/certs/%s/ca.crt" .Values.listeners.admin.tls.cert)) - -}} - {{- end -}} -{{ join " " $admin }} -{{- end -}} - -{{- define "rpk-flags-no-admin-no-sasl" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} -{{ join " " (list $flags.brokers $flags.kafka)}} -{{- end -}} - -{{- define "rpk-dummy-sasl" -}} -{{- if (include "sasl-enabled" . | fromJson).bool -}} -{{ "--user --password --sasl-mechanism " -}} -{{- else -}} -{{ "" }} -{{- end -}} -{{- end -}} - -{{- define "rpk-topic-flags" -}} -{{- $flags := fromJson (include "rpk-flags" .) -}} - {{- if (include "sasl-enabled" . | fromJson).bool -}} - {{- join " " (list $flags.brokers $flags.kafka $flags.sasl) -}} - {{- else -}} - {{- join " " (list $flags.brokers $flags.kafka) -}} - {{- end -}} -{{- end -}} - {{- define "storage-min-free-bytes" -}} {{- $fiveGiB := 5368709120 -}} {{- if dig "enabled" false .Values.storage.persistentVolume -}} @@ -498,23 +389,23 @@ than 1 core. {{- end -}} {{- define "tunable" -}} -{{- $tunable := dig "tunable" dict .Values.config -}} -{{- if (include "redpanda-atleast-22-3-0" . | fromJson).bool -}} -{{- range $key, $element := $tunable }} - {{- if or (eq (typeOf $element) "bool") $element }} - {{ $key }}: {{ $element | toYaml }} + {{- $tunable := dig "tunable" dict .Values.config -}} + {{- if (include "redpanda-atleast-22-3-0" . | fromJson).bool -}} + {{- range $key, $element := $tunable }} + {{- if or (eq (typeOf $element) "bool") $element }} +{{ $key }}: {{ $element | toYaml }} + {{- end }} {{- end }} -{{- end }} -{{- else if (include "redpanda-atleast-22-2-0" . | fromJson).bool -}} -{{- $tunable = unset $tunable "log_segment_size_min" -}} -{{- $tunable = unset $tunable "log_segment_size_max" -}} -{{- $tunable = unset $tunable "kafka_batch_max_bytes" -}} -{{- range $key, $element := $tunable }} - {{- if or (eq (typeOf $element) "bool") $element }} - {{ $key }}: {{ $element | toYaml }} + {{- else if (include "redpanda-atleast-22-2-0" . | fromJson).bool -}} + {{- $tunable = unset $tunable "log_segment_size_min" -}} + {{- $tunable = unset $tunable "log_segment_size_max" -}} + {{- $tunable = unset $tunable "kafka_batch_max_bytes" -}} + {{- range $key, $element := $tunable }} + {{- if or (eq (typeOf $element) "bool") $element }} +{{ $key }}: {{ $element | toYaml }} + {{- end }} {{- end }} -{{- end }} -{{- end -}} + {{- end -}} {{- end -}} {{- define "fail-on-insecure-sasl-logging" -}} @@ -548,6 +439,9 @@ than 1 core. {{- define "redpanda-22-2-atleast-22-2-10" -}} {{- toJson (dict "bool" (or (not (eq .Values.image.repository "docker.redpanda.com/redpandadata/redpanda")) (include "redpanda.semver" . | semverCompare ">=22.2.10-0,<22.3"))) -}} {{- end -}} +{{- define "redpanda-atleast-23-2-1" -}} +{{- toJson (dict "bool" (or (not (eq .Values.image.repository "docker.redpanda.com/redpandadata/redpanda")) (include "redpanda.semver" . | semverCompare ">=23.2.1-0 || <0.0.1-0"))) -}} +{{- end -}} {{- define "redpanda-22-2-x-without-sasl" -}} {{- $result := (include "redpanda-atleast-22-3-0" . | fromJson).bool -}} @@ -743,6 +637,8 @@ return licenseSecretRef.key checks deprecated values entry if current values emp - name: redpanda-{{ $name }}-cert mountPath: {{ printf "/etc/tls/certs/%s" $name }} {{- end }} +- name: mtls-client + mountPath: /etc/ls/certs/{{ template "redpanda.fullname" $ }}-client {{- end }} {{- end -}} @@ -763,6 +659,10 @@ return licenseSecretRef.key checks deprecated values entry if current values emp secretName: {{ template "cert-secret-name" $r }} defaultMode: 0o440 {{- end }} +- name: mtls-client + secret: + secretName: {{ template "redpanda.fullname" $ }}-client + defaultMode: 0o440 {{- end -}} {{- if and .Values.auth.sasl.enabled (not (empty .Values.auth.sasl.secretRef )) }} - name: users @@ -804,3 +704,17 @@ hostPath {{- define "storage-tiered-config" -}} {{- dig "tieredConfig" .Values.storage.tiered.config .Values.storage | toJson -}} {{- end -}} + +{{/* + rpk sasl environment variables + + this will return a string with the correct environment variables to use for SASL based on the + version of the redpada container being used +*/}} +{{- define "rpk-sasl-environment-variables" -}} +{{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool -}} +RPK_USER RPK_PASS RPK_SASL_MECHANISM +{{- else -}} +REDPANDA_SASL_USERNAME REDPANDA_SASL_PASSWORD REDPANDA_SASL_MECHANISM +{{- end -}} +{{- end -}} diff --git a/charts/redpanda/redpanda/templates/certs.yaml b/charts/redpanda/redpanda/templates/certs.yaml index 015aa2162..674aa2e20 100644 --- a/charts/redpanda/redpanda/templates/certs.yaml +++ b/charts/redpanda/redpanda/templates/certs.yaml @@ -73,4 +73,32 @@ spec: {{- end }} {{- end }} {{- end }} -{{- end }} +--- + {{- $name := .Values.listeners.kafka.tls.cert }} + {{- $data := get .Values.tls.certs $name }} +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ template "redpanda.fullname" $ }}-client + namespace: {{ $ns | quote }} + {{- with include "full.labels" $root }} + labels: {{- . | nindent 4 }} + {{- end }} +spec: + commonName: {{ template "redpanda.fullname" $ }}-client + duration: {{ $data.duration | default "43800h" }} + isCA: false + secretName: {{ template "redpanda.fullname" $ }}-client + privateKey: + algorithm: ECDSA + size: 256 + {{- if not (empty $data.issuerRef) }} + issuerRef: {{- toYaml $data.issuerRef | nindent 4 }} + group: cert-manager.io + {{- else }} + issuerRef: + name: {{ template "redpanda.fullname" $ }}-{{ $name }}-root-issuer + kind: Issuer + group: cert-manager.io + {{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/redpanda/redpanda/templates/configmap.yaml b/charts/redpanda/redpanda/templates/configmap.yaml index e87531719..5f5704c9f 100644 --- a/charts/redpanda/redpanda/templates/configmap.yaml +++ b/charts/redpanda/redpanda/templates/configmap.yaml @@ -24,5 +24,19 @@ metadata: {{- with include "full.labels" . }} {{- . | nindent 4 }} {{- end }} +data: {{ include "full-configmap" . | nindent 2 }} + +{{- if .Values.external.enabled }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "redpanda.fullname" . }}-rpk + namespace: {{ .Release.Namespace | quote }} + labels: +{{- with include "full.labels" . }} + {{- . | nindent 4 }} +{{- end }} data: - {{ include "configmap-with-server-list" . | trim }} + profile: | {{ include "rpk-config-external" . | nindent 4 }} +{{- end }} \ No newline at end of file diff --git a/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml b/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml index 208365080..aac06a0b9 100644 --- a/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml +++ b/charts/redpanda/redpanda/templates/post-install-upgrade-job.yaml @@ -83,10 +83,10 @@ spec: - | set -e {{- if (include "redpanda-atleast-22-2-0" . | fromJson).bool }} - {{- if not (empty (include "enterprise-secret" . ) ) }} - rpk cluster license set "$REDPANDA_LICENSE" {{ template "rpk-acl-user-flags" $ }} - {{- else if not ( empty (include "enterprise-license" . ) ) }} - rpk cluster license set {{ include "enterprise-license" . | quote }} {{ template "rpk-acl-user-flags" $ }} + {{- if not (empty (include "enterprise-secret" . )) }} + rpk cluster license set "$REDPANDA_LICENSE" + {{- else if not (empty (include "enterprise-license" . )) }} + rpk cluster license set {{ .Values.license_key | quote }} {{- end }} {{- end }} {{- with .Values.post_install_job.resources }} diff --git a/charts/redpanda/redpanda/templates/post-upgrade.yaml b/charts/redpanda/redpanda/templates/post-upgrade.yaml index 3be4244be..2816e9378 100644 --- a/charts/redpanda/redpanda/templates/post-upgrade.yaml +++ b/charts/redpanda/redpanda/templates/post-upgrade.yaml @@ -15,7 +15,6 @@ See the License for the specific language governing permissions and limitations under the License. */}} {{- if .Values.post_upgrade_job.enabled }} -{{- $rpkFlags := include "rpk-acl-user-flags" . }} {{- $sasl := .Values.auth.sasl }} {{- $root := deepCopy . }} apiVersion: batch/v1 @@ -70,14 +69,14 @@ spec: args: - | set -e - rpk cluster config import -f /etc/redpanda/bootstrap.yaml {{ $rpkFlags }} + rpk cluster config import -f /etc/redpanda/bootstrap.yaml {{- range $key, $value := .Values.config.cluster }} {{- if $value }} - rpk cluster config set {{ $key }} {{ $value }} {{ $rpkFlags }} + rpk cluster config set {{ $key }} {{ $value }} {{- end }} {{- end }} {{- if not (hasKey .Values.config.cluster "storage_min_free_bytes") }} - rpk cluster config set storage_min_free_bytes {{ include "storage-min-free-bytes" . }} {{ $rpkFlags }} + rpk cluster config set storage_min_free_bytes {{ include "storage-min-free-bytes" . }} {{- end }} {{- with .Values.post_upgrade_job.resources }} resources: diff --git a/charts/redpanda/redpanda/templates/secrets.yaml b/charts/redpanda/redpanda/templates/secrets.yaml index eb2fc034c..97ca27bf8 100644 --- a/charts/redpanda/redpanda/templates/secrets.yaml +++ b/charts/redpanda/redpanda/templates/secrets.yaml @@ -74,7 +74,7 @@ stringData: # Setup and export SASL bootstrap-user IFS=":" read -r USER_NAME PASSWORD MECHANISM < $(find /etc/secrets/users/* -print) MECHANISM=${MECHANISM:-{{- include "sasl-mechanism" . }}} - rpk acl user create ${USER_NAME} --password=${PASSWORD} --mechanism ${MECHANISM} {{ template "rpk-flags-no-brokers-no-sasl" $ }} || true + rpk acl user create ${USER_NAME} --password=${PASSWORD} --mechanism ${MECHANISM} || true {{- end }} touch /tmp/postStartHookFinished @@ -166,10 +166,17 @@ type: Opaque stringData: sasl-user.sh: |- #!/usr/bin/env bash + + trap 'error_handler $? $LINENO' ERR + + error_handler() { + echo "Error: ($1) occurred at line $2" + } + set -e echo "Waiting for cluster to be ready" - rpk cluster health {{ include "rpk-acl-user-flags" . }} --watch --exit-when-healthy + rpk cluster health --watch --exit-when-healthy {{- if and $sasl.enabled (not (empty $sasl.secretRef )) }} while true; do @@ -201,21 +208,21 @@ stringData: fi echo "Creating user ${USER_NAME}..." MECHANISM=${MECHANISM:-{{- include "sasl-mechanism" . }}} - creation_result=$(rpk acl user create ${USER_NAME} --password=${PASSWORD} --mechanism ${MECHANISM} {{ include "rpk-acl-user-flags" $ }} 2>&1) && creation_result_exit_code=$? || creation_result_exit_code=$? # On a non-success exit code + creation_result=$(rpk acl user create ${USER_NAME} --password=${PASSWORD} --mechanism ${MECHANISM} 2>&1) && creation_result_exit_code=$? || creation_result_exit_code=$? # On a non-success exit code if [[ $creation_result_exit_code -ne 0 ]]; then # Check if the stderr contains "User already exists" # this error occurs when password has changed if [[ $creation_result == *"User already exists"* ]]; then echo "Update user ${USER_NAME}" # we will try to update by first deleting - deletion_result=$(rpk acl user delete ${USER_NAME} {{ include "rpk-acl-user-flags" $ }} 2>&1) && deletion_result_exit_code=$? || deletion_result_exit_code=$? + deletion_result=$(rpk acl user delete ${USER_NAME} 2>&1) && deletion_result_exit_code=$? || deletion_result_exit_code=$? if [[ $deletion_result_exit_code -ne 0 ]]; then echo "deletion of user ${USER_NAME} failed: ${deletion_result}" READ_LIST_SUCCESS=1 break fi # Now we update the user - update_result=$(rpk acl user create ${USER_NAME} --password=${PASSWORD} --mechanism ${MECHANISM} {{ include "rpk-acl-user-flags" $ }} 2>&1) && update_result_exit_code=$? || update_result_exit_code=$? # On a non-success exit code + update_result=$(rpk acl user create ${USER_NAME} --password=${PASSWORD} --mechanism ${MECHANISM} 2>&1) && update_result_exit_code=$? || update_result_exit_code=$? # On a non-success exit code if [[ $update_result_exit_code -ne 0 ]]; then echo "updating user ${USER_NAME} failed: ${update_result}" READ_LIST_SUCCESS=1 @@ -239,7 +246,7 @@ stringData: if [[ -n "${USERS_LIST}" && ${READ_LIST_SUCCESS} ]]; then echo "Setting superusers configurations with users [${USERS_LIST}]" - superuser_result=$(rpk cluster config set superusers [${USERS_LIST}] {{ template "rpk-acl-user-flags" $ }} 2>&1) && superuser_result_exit_code=$? || superuser_result_exit_code=$? + superuser_result=$(rpk cluster config set superusers [${USERS_LIST}] 2>&1) && superuser_result_exit_code=$? || superuser_result_exit_code=$? if [[ $superuser_result_exit_code -ne 0 ]]; then echo "Setting superusers configurations failed: ${superuser_result}" else diff --git a/charts/redpanda/redpanda/templates/services.nodeport.yaml b/charts/redpanda/redpanda/templates/services.nodeport.yaml index 776e6e281..87084034a 100644 --- a/charts/redpanda/redpanda/templates/services.nodeport.yaml +++ b/charts/redpanda/redpanda/templates/services.nodeport.yaml @@ -41,7 +41,7 @@ spec: {{- if $enabled }} - name: admin-{{ $name }} protocol: TCP - port: {{ $values.listeners.admin.port }} + port: {{ $listener.port }} nodePort: {{ first (dig "advertisedPorts" (list $listener.port) $listener) }} {{- end }} {{- end }} diff --git a/charts/redpanda/redpanda/templates/statefulset.yaml b/charts/redpanda/redpanda/templates/statefulset.yaml index 4a2f8291c..3c6787e5d 100644 --- a/charts/redpanda/redpanda/templates/statefulset.yaml +++ b/charts/redpanda/redpanda/templates/statefulset.yaml @@ -224,8 +224,8 @@ spec: - -c - | set -x - rpk cluster health {{ (include "rpk-flags" . | fromJson).admin }} - rpk cluster health {{ (include "rpk-flags" . | fromJson).admin }} | grep 'Healthy:.*true' + rpk cluster health + rpk cluster health | grep 'Healthy:.*true' initialDelaySeconds: {{ .Values.statefulset.readinessProbe.initialDelaySeconds }} failureThreshold: {{ .Values.statefulset.readinessProbe.failureThreshold }} periodSeconds: {{ .Values.statefulset.readinessProbe.periodSeconds }} @@ -234,14 +234,7 @@ spec: - rpk - redpanda - start - - --smp={{ include "redpanda-smp" . }} - - --memory={{ template "redpanda-memory" . }}M - - --reserve-memory={{ template "redpanda-reserve-memory" . }}M - - --default-log-level={{ .Values.logging.logLevel }} - - --advertise-rpc-addr={{ $internalAdvertiseAddress }}:{{ .Values.listeners.rpc.port }} - {{- with .Values.statefulset.additionalRedpandaCmdFlags }} - {{- toYaml . | nindent 12 }} - {{- end }} + - "--advertise-rpc-addr={{ $internalAdvertiseAddress }}:{{ .Values.listeners.rpc.port }}" ports: {{- range $name, $listener := .Values.listeners }} - name: {{ lower $name }} @@ -294,12 +287,13 @@ spec: securityContext: {{- toYaml .Values.statefulset.sideCars.configWatcher.securityContext | nindent 12 }} {{- end }} volumeMounts: {{ include "common-mounts" . | nindent 12 }} + - name: config + mountPath: /etc/redpanda + - name: {{ template "redpanda.fullname" . }}-config-watcher + mountPath: /etc/secrets/config-watcher/scripts {{- if dig "sideCars" "configWatcher" "extraVolumeMounts" false .Values.statefulset -}} {{ tpl .Values.statefulset.sideCars.configWatcher.extraVolumeMounts . | nindent 12 }} {{- end }} - - name: {{ template "redpanda.fullname" . }}-config-watcher - mountPath: /etc/secrets/config-watcher/scripts - readOnly: true {{- end }} {{- if and .Values.rbac.enabled .Values.statefulset.sideCars.controllers.enabled }} - name: redpanda-controllers @@ -364,12 +358,10 @@ spec: - name: {{ (include "redpanda.name" .) | trunc 51 }}-configurator secret: secretName: {{ (include "redpanda.name" .) | trunc 51 }}-configurator - optional: false defaultMode: 0o775 - name: {{ template "redpanda.fullname" . }}-config-watcher secret: secretName: {{ template "redpanda.fullname" . }}-config-watcher - optional: false defaultMode: 0o775 {{- if or .Values.statefulset.nodeAffinity .Values.statefulset.podAffinity .Values.statefulset.podAntiAffinity }} affinity: diff --git a/charts/redpanda/redpanda/templates/tests/test-connector-via-console.yaml b/charts/redpanda/redpanda/templates/tests/test-connector-via-console.yaml index dd1404a9a..9493a3bc7 100644 --- a/charts/redpanda/redpanda/templates/tests/test-connector-via-console.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-connector-via-console.yaml @@ -57,32 +57,38 @@ spec: - bash - -c - | - {{- $testTopic := printf "test-topic-%s" (randNumeric 3) }} - rpk topic create {{ $testTopic }} {{ include "rpk-topic-flags" . }} - rpk topic list {{ include "rpk-topic-flags" . }} - echo "Test message!" | rpk topic produce {{ $testTopic }} {{ include "rpk-topic-flags" . }} - - SASL_MECHANISM="PLAIN" {{- if .Values.auth.sasl.enabled }} set -e set +x - IFS=: read -r CONNECT_SASL_USERNAME KAFKA_SASL_PASSWORD CONNECT_SASL_MECHANISM < $(find /etc/secrets/users/* -print) - CONNECT_SASL_MECHANISM=${CONNECT_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} - if [[ -n "$CONNECT_SASL_USERNAME" && -n "$KAFKA_SASL_PASSWORD" && -n "$CONNECT_SASL_MECHANISM" ]]; then - SASL_MECHANISM=$CONNECT_SASL_MECHANISM - JAAS_CONFIG_SOURCE="\"source.cluster.sasl.jaas.config\": \"org.apache.kafka.common.security.scram.ScramLoginModule required username=\\\\"\"${CONNECT_SASL_USERNAME}\\\\"\" password=\\\\"\"${KAFKA_SASL_PASSWORD}\\\\"\";\"," - JAAS_CONFIG_TARGET="\"target.cluster.sasl.jaas.config\": \"org.apache.kafka.common.security.scram.ScramLoginModule required username=\\\\"\"${CONNECT_SASL_USERNAME}\\\\"\" password=\\\\"\"${KAFKA_SASL_PASSWORD}\\\\"\";\"," - fi + echo "SASL enabled: reading credentials from $(find /etc/secrets/users/* -print)" + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + RPK_USER="${REDPANDA_SASL_USERNAME}" + RPK_PASS="${REDPANDA_SASL_PASSWORD}" + RPK_SASL_MECHANISM="${REDPANDA_SASL_MECHANISM}" + {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + + JAAS_CONFIG_SOURCE="\"source.cluster.sasl.jaas.config\": \"org.apache.kafka.common.security.scram.ScramLoginModule required username=\\\\"\"${RPK_USER}\\\\"\" password=\\\\"\"${RPK_PASS}\\\\"\";\"," + JAAS_CONFIG_TARGET="\"target.cluster.sasl.jaas.config\": \"org.apache.kafka.common.security.scram.ScramLoginModule required username=\\\\"\"${RPK_USER}\\\\"\" password=\\\\"\"${RPK_PASS}\\\\"\";\"," + {{- end }} + + {{- $testTopic := printf "test-topic-%s" (randNumeric 3) }} + rpk topic create {{ $testTopic }} + rpk topic list + echo "Test message!" | rpk topic produce {{ $testTopic }} set -x set +e - {{- end }} SECURITY_PROTOCOL=PLAINTEXT - if [[ -n "$CONNECT_SASL_MECHANISM" && $TLS_ENABLED == "true" ]]; then + if [[ -n "$RPK_SASL_MECHANISM" && $TLS_ENABLED == "true" ]]; then SECURITY_PROTOCOL="SASL_SSL" - elif [[ -n "$CONNECT_SASL_MECHANISM" ]]; then + elif [[ -n "$RPK_SASL_MECHANISM" ]]; then SECURITY_PROTOCOL="SASL_PLAINTEXT" elif [[ $TLS_ENABLED == "true" ]]; then SECURITY_PROTOCOL="SSL" @@ -122,61 +128,37 @@ spec: EOF sed -i "s/CONNECTOR_NAME/$CONNECTOR_NAME/g" /tmp/mm2-conf.json - sed -i "s/SASL_MECHANISM/$SASL_MECHANISM/g" /tmp/mm2-conf.json + sed -i "s/SASL_MECHANISM/$RPK_SASL_MECHANISM/g" /tmp/mm2-conf.json sed -i "s/SECURITY_PROTOCOL/$SECURITY_PROTOCOL/g" /tmp/mm2-conf.json set +x sed -i "s/JAAS_CONFIG_SOURCE/$JAAS_CONFIG_SOURCE/g" /tmp/mm2-conf.json sed -i "s/JAAS_CONFIG_TARGET/$JAAS_CONFIG_TARGET/g" /tmp/mm2-conf.json set -x - max_iteration=10 - for i in $(seq 1 $max_iteration) - do - curl -v -H 'Content-Type: application/json' http://{{ include "console.fullname" $consoleValues }}:{{ include "console.containerPort" $consoleValues }}/api/kafka-connect/clusters/connectors/connectors \ - -d @/tmp/mm2-conf.json && echo - - result=$? - if [[ $result -eq 0 ]] - then - echo "Result successful" - break - else - echo "Result unsuccessful" - sleep 1 - fi - done - - if [[ $result -ne 0 ]] + URL=http://{{ include "console.fullname" $consoleValues }}:{{ include "console.containerPort" $consoleValues }}/api/kafka-connect/clusters/connectors/connectors + {{/* outputting to /dev/null because the output contains the user password */}} + echo "Creating mm2 connector" + if curl -svm3 --fail --retry 120 --retry-max-time 120 --retry-all-errors -H 'Content-Type: application/json' -o /dev/null "${URL}" -d @/tmp/mm2-conf.json then + echo "Result successful" + else echo "mm2 connector can not be created!!!" exit 1 fi - rpk topic consume source.{{ $testTopic }} -n 1 {{ include "rpk-topic-flags" . }} + rpk topic consume source.{{ $testTopic }} -n 1 - for i in $(seq 1 $max_iteration) - do - curl -v -X DELETE http://{{ include "console.fullname" $consoleValues }}:{{ include "console.containerPort" $consoleValues }}/api/kafka-connect/clusters/connectors/connectors/$CONNECTOR_NAME && echo - - result=$? - if [[ $result -eq 0 ]] - then - echo "Result successful" - break - else - echo "Result unsuccessful" - sleep 1 - fi - done - - if [[ $result -ne 0 ]] + echo "Destroying mm2 connector" + if curl -svm3 --fail --retry 120 --retry-max-time 120 --retry-all-errors -o /dev/null -X DELETE "${URL}/${CONNECTOR_NAME}" then + echo "Result successful" + else echo "mm2 connector can not be destroyed!!!" exit 1 fi - rpk topic list {{ include "rpk-topic-flags" . }} - rpk topic delete {{ $testTopic }} source.{{ $testTopic }} mm2-offset-syncs.test-only-redpanda.internal {{ include "rpk-topic-flags" . }} + rpk topic list + rpk topic delete {{ $testTopic }} source.{{ $testTopic }} mm2-offset-syncs.test-only-redpanda.internal volumeMounts: {{ include "default-mounts" . | nindent 8 }} securityContext: {{ include "container-security-context" . | nindent 8 }} volumes: {{ include "default-volumes" . | nindent 4 }} diff --git a/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml b/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml index ee6e8e410..b84ad7b92 100644 --- a/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-kafka-produce-consume.yaml @@ -34,7 +34,7 @@ spec: securityContext: {{ include "pod-security-context" . | nindent 4 }} {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 4 }} - {{- end }} +{{- end }} containers: - name: {{ template "redpanda.name" . }} image: {{ .Values.image.repository }}:{{ template "redpanda.tag" . }} @@ -56,17 +56,27 @@ spec: {{- if and (include "is-licensed" . | fromJson).bool (include "storage-tiered-config" .|fromJson).cloud_storage_enabled }} {{- $cloudStorageFlags = "-c retention.bytes=80 -c segment.bytes=40 -c redpanda.remote.read=true -c redpanda.remote.write=true"}} {{- end }} -{{- if $sasl.enabled }} - until rpk topic create produce.consume.test.$POD_NAME {{ include "rpk-topic-flags" . }} {{ $cloudStorageFlags }} +{{- if .Values.auth.sasl.enabled }} + old_setting=${-//[^x]/} + set +x + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + if [[ -n "$old_setting" ]]; then set -x; fi +{{- end }} + until rpk topic create produce.consume.test.$POD_NAME {{ $cloudStorageFlags }} do sleep 2 done {{- range $i := until 100 }} - echo "Pandas are awesome!" | rpk topic produce produce.consume.test.$POD_NAME {{ include "rpk-topic-flags" $ }} + echo "Pandas are awesome!" | rpk topic produce produce.consume.test.$POD_NAME {{- end }} sleep 2 - rpk topic consume produce.consume.test.$POD_NAME -n 1 {{ include "rpk-topic-flags" . }} | grep "Pandas are awesome!" - rpk topic delete produce.consume.test.$POD_NAME {{ include "rpk-topic-flags" . }} -{{- end }} + rpk topic consume produce.consume.test.$POD_NAME -n 1 | grep "Pandas are awesome!" + rpk topic delete produce.consume.test.$POD_NAME volumeMounts: {{ include "default-mounts" . | nindent 8 }} resources: {{ toYaml .Values.statefulset.resources | nindent 12 }} securityContext: {{ include "container-security-context" . | nindent 8 }} diff --git a/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml b/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml index 6c88c0eec..6bc37e7b5 100644 --- a/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-kafka-sasl-status.yaml @@ -15,8 +15,6 @@ See the License for the specific language governing permissions and limitations under the License. */}} {{- if (include "sasl-enabled" . | fromJson).bool }} -{{- $testTopicFlags := mustRegexReplaceAll "--user \\S+ " (include "rpk-topic-flags" . ) "--user myuser" }} -{{- $testTopicFlags := mustRegexReplaceAll "--password \\S+ " $testTopicFlags "--password changeme" }} {{- $rpk := deepCopy . }} {{- $sasl := .Values.auth.sasl }} {{- $_ := set $rpk "rpk" "rpk" }} @@ -49,7 +47,21 @@ spec: - -c - | set -xe - until rpk acl user delete myuser {{ include "rpk-acl-user-flags" . }} + +{{- if .Values.auth.sasl.enabled }} + old_setting=${-//[^x]/} + set +x + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + if [[ -n "$old_setting" ]]; then set -x; fi +{{- end }} + + until rpk acl user delete myuser do sleep 2 done sleep 3 @@ -61,7 +73,7 @@ spec: {{ include "rpk-topic-create" $rpk }} {{ include "rpk-topic-describe" $rpk }} {{ include "rpk-topic-delete" $rpk }} - rpk acl user delete myuser {{ include "rpk-acl-user-flags" . }} + rpk acl user delete myuser volumeMounts: {{ include "default-mounts" . | nindent 8 }} resources: {{- toYaml .Values.statefulset.resources | nindent 12 }} diff --git a/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml b/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml index 0329753b9..b1873029d 100644 --- a/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-pandaproxy-internal-tls-status.yaml @@ -43,14 +43,24 @@ spec: command: [ "/bin/bash", "-c" ] args: - | - {{- if $sasl.enabled }} - USERNAME=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 1p ) - PASSWORD=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 2p ) + {{- if .Values.auth.sasl.enabled }} + old_setting=${-//[^x]/} + set +x + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + RPK_USER="${RPK_USER:-${REDPANDA_SASL_USERNAME}}" + RPK_PASS="${RPK_PASS:-${REDPANDA_SASL_PASSWORD}}" + if [[ -n "$old_setting" ]]; then set -x; fi + {{- end }} curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors --ssl-reqd \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.http.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} {{- if $cert.caEnabled }} --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ @@ -59,7 +69,7 @@ spec: curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors --ssl-reqd \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.http.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} {{- if $cert.caEnabled }} --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ diff --git a/charts/redpanda/redpanda/templates/tests/test-pandaproxy-status.yaml b/charts/redpanda/redpanda/templates/tests/test-pandaproxy-status.yaml index de75cc29a..3797035b0 100644 --- a/charts/redpanda/redpanda/templates/tests/test-pandaproxy-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-pandaproxy-status.yaml @@ -40,20 +40,30 @@ spec: command: [ "/bin/bash", "-c" ] args: - | - {{- if $sasl.enabled }} - USERNAME=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 1p ) - PASSWORD=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 2p ) + {{- if .Values.auth.sasl.enabled }} + old_setting=${-//[^x]/} + set +x + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + RPK_USER="${RPK_USER:-${REDPANDA_SASL_USERNAME}}" + RPK_PASS="${RPK_PASS:-${REDPANDA_SASL_PASSWORD}}" + if [[ -n "$old_setting" ]]; then set -x; fi + {{- end }} curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.http.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} http://{{ include "redpanda.servicename" . }}:{{ .Values.listeners.http.port }}/brokers curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.http.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} http://{{ include "redpanda.servicename" . }}:{{ .Values.listeners.http.port }}/topics volumeMounts: {{ include "default-mounts" . | nindent 8 }} diff --git a/charts/redpanda/redpanda/templates/tests/test-rack-awareness.yaml b/charts/redpanda/redpanda/templates/tests/test-rack-awareness.yaml index 4b6c56f0d..77903dacf 100644 --- a/charts/redpanda/redpanda/templates/tests/test-rack-awareness.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-rack-awareness.yaml @@ -14,25 +14,23 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */}} -{{- $root := deepCopy . }} apiVersion: v1 kind: Pod metadata: name: {{ include "redpanda.fullname" . }}-test-rack-awareness namespace: {{ .Release.Namespace | quote }} - labels: - {{- with include "full.labels" . }} - {{- . | nindent 4 }} - {{- end }} +{{- with include "full.labels" . }} + labels: {{- . | nindent 4 }} +{{- end }} annotations: "helm.sh/hook": test "helm.sh/hook-delete-policy": before-hook-creation spec: restartPolicy: Never securityContext: {{ include "pod-security-context" . | nindent 4 }} - {{- with .Values.imagePullSecrets }} +{{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 4 }} - {{- end }} +{{- end }} containers: - name: {{ template "redpanda.name" . }} image: {{ .Values.image.repository }}:{{ template "redpanda.tag" . }} @@ -41,33 +39,22 @@ spec: - -c - | set -e - {{- if and .Values.rackAwareness.enabled (include "redpanda-atleast-22-3-0" . | fromJson).bool }} +{{- if and .Values.rackAwareness.enabled (include "redpanda-atleast-22-3-0" . | fromJson).bool }} curl --silent --fail --retry 120 \ --retry-max-time 120 --retry-all-errors \ - {{- if (include "tls-enabled" . | fromJson).bool }} - {{- range $name, $cert := .Values.tls.certs }} - {{- if and $cert.caEnabled (eq $name "default") }} - --cacert {{ printf "/etc/tls/certs/%s/ca.crt" $name }} \ - {{- end }} - {{- end }} - https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.admin.port }}/v1/node_config | grep '"rack":"rack[1-4]"' - {{- else }} - http://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.admin.port }}/v1/node_config | grep '"rack":"rack[1-4]"' - {{- end }} + {{- if (include "tls-enabled" . | fromJson).bool }} + {{- if (dig "default" "caEnabled" false .Values.tls.certs) }} + --cacert "/etc/tls/certs/default/ca.crt" \ {{- end }} + https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.admin.port }}/v1/node_config | grep '"rack":"rack[1-4]"' + {{- else }} + http://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.admin.port }}/v1/node_config | grep '"rack":"rack[1-4]"' + {{- end }} +{{- end }} - rpk redpanda admin config print \ - {{- if (include "tls-enabled" . | fromJson).bool }} - {{- range $name, $cert := .Values.tls.certs }} - {{- if and $cert.caEnabled (eq $name "default") }} - --admin-api-tls-enabled \ - --admin-api-tls-truststore {{ printf "/etc/tls/certs/%s/ca.crt" $name }} \ - {{- end }} - {{- end }} - {{- end }} - --host {{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.admin.port }} | grep '"enable_rack_awareness": {{ .Values.rackAwareness.enabled }}' + rpk redpanda admin config print --host {{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.admin.port }} | grep '"enable_rack_awareness": {{ .Values.rackAwareness.enabled }}' - rpk cluster config get enable_rack_awareness {{ template "rpk-acl-user-flags" $ }} | grep '{{ .Values.rackAwareness.enabled }}' + rpk cluster config get enable_rack_awareness volumeMounts: {{ include "default-mounts" . | nindent 8 }} securityContext: {{ include "container-security-context" . | nindent 8 }} volumes: {{ include "default-volumes" . | nindent 4 }} diff --git a/charts/redpanda/redpanda/templates/tests/test-rpk-debug-bundle.yaml b/charts/redpanda/redpanda/templates/tests/test-rpk-debug-bundle.yaml index e1a5eb6ec..2d3a86b49 100644 --- a/charts/redpanda/redpanda/templates/tests/test-rpk-debug-bundle.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-rpk-debug-bundle.yaml @@ -65,7 +65,19 @@ spec: - -c - | set -e - rpk debug bundle -o /usr/share/redpanda/test/debug-test.zip -n {{ .Release.Namespace }} {{ include "rpk-common-flags" . }} + {{- if .Values.auth.sasl.enabled }} + old_setting=${-//[^x]/} + set +x + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + if [[ -n "$old_setting" ]]; then set -x; fi + {{- end }} + rpk debug bundle -o /usr/share/redpanda/test/debug-test.zip -n {{ .Release.Namespace }} containers: - name: {{ template "redpanda.name" . }}-tester image: busybox:latest diff --git a/charts/redpanda/redpanda/templates/tests/test-sasl-updated.yaml b/charts/redpanda/redpanda/templates/tests/test-sasl-updated.yaml index c691f9187..8209397a0 100644 --- a/charts/redpanda/redpanda/templates/tests/test-sasl-updated.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-sasl-updated.yaml @@ -47,11 +47,21 @@ spec: - bash - -c - | - set -xe + set -e + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + + set -x + # check that the users list did update ready_result_exit_code=1 while [[ ${ready_result_exit_code} -ne 0 ]]; do - ready_result=$(rpk acl user list {{ include "rpk-acl-user-flags" . }} | grep anotheranotherme 2>&1) && ready_result_exit_code=$? + ready_result=$(rpk acl user list | grep anotheranotherme 2>&1) && ready_result_exit_code=$? sleep 2 done diff --git a/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml b/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml index 9eb192485..1e72b009c 100644 --- a/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-schemaregistry-internal-tls-status.yaml @@ -43,93 +43,75 @@ spec: command: ["/bin/bash", "-c"] args: - | - {{- if $sasl.enabled }} - USERNAME=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 1p ) - PASSWORD=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 2p ) + {{- if .Values.auth.sasl.enabled }} + old_setting=${-//[^x]/} + set +x + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + RPK_USER="${RPK_USER:-${REDPANDA_SASL_USERNAME}}" + RPK_PASS="${RPK_PASS:-${REDPANDA_SASL_PASSWORD}}" + if [[ -n "$old_setting" ]]; then set -x; fi + {{- end }} + + set -ex schemaCurl () { - curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors \ - {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ - {{- end }} - {{- if $cert.caEnabled }} - --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ - {{- end }} - $* + curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors -o - \ + {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} + -u "${RPK_USER}:${RPK_PASS}" \ + {{- end }} + {{- if $cert.caEnabled }} + --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ + {{- end }} + $* } + echo "Get existng schemas" schemaCurl https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects - curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors \ - -X POST -H 'Content-Type:application/vnd.schemaregistry.v1+json' \ - -d '{"schema": "{\"type\":\"record\",\"name\":\"sensor_sample\",\"fields\":[{\"name\":\"timestamp\",\"type\":\"long\",\"logicalType\":\"timestamp-millis\"},{\"name\":\"identifier\",\"type\":\"string\",\"logicalType\":\"uuid\"},{\"name\":\"value\",\"type\":\"long\"}]}"}' \ - {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ - {{- end }} - {{- if $cert.caEnabled }} - --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ - {{- end }} - https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects/sensor-value/versions + echo "Create schema" + curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors -o - \ + -X POST -H 'Content-Type:application/vnd.schemaregistry.v1+json' \ + -d '{"schema": "{\"type\":\"record\",\"name\":\"sensor_sample\",\"fields\":[{\"name\":\"timestamp\",\"type\":\"long\",\"logicalType\":\"timestamp-millis\"},{\"name\":\"identifier\",\"type\":\"string\",\"logicalType\":\"uuid\"},{\"name\":\"value\",\"type\":\"long\"}]}"}' \ + {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} + -u ${RPK_USER}:${RPK_PASS} \ + {{- end }} + {{- if $cert.caEnabled }} + --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ + {{- end }} + https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects/sensor-value/versions + echo "Get schema 1" schemaCurl https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/schemas/ids/1 + echo "Get existng schemas" schemaCurl https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects - max_iteration=10 - - for i in $(seq 1 $max_iteration) - do - curl -vv -X DELETE \ - {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ - {{- end }} - {{- if $cert.caEnabled }} + echo "Delete schema 1" + curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors -X DELETE -o - \ + {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} + -u ${RPK_USER}:${RPK_PASS} \ + {{- end }} + {{- if $cert.caEnabled }} --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ - {{- end }} + {{- end }} https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects/sensor-value/versions/1 - result=$? - if [[ $result -eq 0 ]] - then - echo "Result successful" - break - else - echo "Result unsuccessful" - sleep 1 - fi - done - if [[ $result -ne 0 ]] - then - echo "All of the trials failed to delete schema!!!" - fi - - for i in $(seq 1 $max_iteration) - do - curl -vv -X DELETE \ - {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ - {{- end }} - {{- if $cert.caEnabled }} + echo "Delete schema 1 permanently" + curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors -X DELETE -o - \ + {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} + -u ${RPK_USER}:${RPK_PASS} \ + {{- end }} + {{- if $cert.caEnabled }} --cacert /etc/tls/certs/{{ $service.tls.cert }}/ca.crt \ - {{- end }} + {{- end }} https://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects/sensor-value/versions/1?permanent=true - result=$? - if [[ $result -eq 0 ]] - then - echo "Result successful" - break - else - echo "Result unsuccessful" - sleep 1 - fi - done - if [[ $result -ne 0 ]] - then - echo "All of the trials failed to permanently delete schema!!!" - exit 1 - fi volumeMounts: {{ include "default-mounts" . | nindent 8 }} resources: {{ toYaml .Values.statefulset.resources | nindent 12 }} securityContext: {{ include "container-security-context" . | nindent 8 }} diff --git a/charts/redpanda/redpanda/templates/tests/test-schemaregistry-status.yaml b/charts/redpanda/redpanda/templates/tests/test-schemaregistry-status.yaml index 7f98cb4ed..5d7ee92e9 100644 --- a/charts/redpanda/redpanda/templates/tests/test-schemaregistry-status.yaml +++ b/charts/redpanda/redpanda/templates/tests/test-schemaregistry-status.yaml @@ -40,15 +40,25 @@ spec: command: [ "/bin/bash", "-c" ] args: - | - {{- if $sasl.enabled }} - USERNAME=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 1p ) - PASSWORD=$(find /etc/secrets/users/* -print | sed -n 1p | xargs cat | sed -n 1p | tr ':' '\n' | sed -n 2p ) + {{- if .Values.auth.sasl.enabled }} + old_setting=${-//[^x]/} + set +x + IFS=: read -r {{ include "rpk-sasl-environment-variables" . }} < $(find /etc/secrets/users/* -print) + {{- if (include "redpanda-atleast-23-2-1" . | fromJson).bool }} + RPK_SASL_MECHANISM=${RPK_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} + {{- else }} + REDPANDA_SASL_MECHANISM=${REDPANDA_SASL_MECHANISM:-{{ .Values.auth.sasl.mechanism | upper }}} {{- end }} + export {{ include "rpk-sasl-environment-variables" . }} + RPK_USER="${RPK_USER:-${REDPANDA_SASL_USERNAME}}" + RPK_PASS="${RPK_PASS:-${REDPANDA_SASL_PASSWORD}}" + if [[ -n "$old_setting" ]]; then set -x; fi + {{- end }} schemaCurl () { curl -svm3 --fail --retry "120" --retry-max-time "120" --retry-all-errors \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} $* } @@ -59,7 +69,7 @@ spec: -X POST -H 'Content-Type:application/vnd.schemaregistry.v1+json' \ -d '{"schema":"{\"type\":\"record\",\"name\":\"sensor_sample\",\"fields\":[{\"name\":\"timestamp\",\"type\":\"long\",\"logicalType\":\"timestamp-millis\"},{\"name\":\"identifier\",\"type\":\"string\",\"logicalType\":\"uuid\"},{\"name\":\"value\",\"type\":\"long\"}]}"}' \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} http://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects/sensor-value/versions @@ -73,7 +83,7 @@ spec: do curl -vv -X DELETE \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} http://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects/sensor-value/versions/1 result=$? @@ -96,7 +106,7 @@ spec: do curl -vv -X DELETE \ {{- if or (include "sasl-enabled" .|fromJson).bool .Values.listeners.schemaRegistry.authenticationMethod }} - -u $USERNAME:$PASSWORD \ + -u ${RPK_USER}:${RPK_PASS} \ {{- end }} http://{{ include "redpanda.internal.domain" . }}:{{ .Values.listeners.schemaRegistry.port }}/subjects/sensor-value/versions/1?permanent=true result=$? diff --git a/charts/stackstate/stackstate-k8s-agent/.helmignore b/charts/stackstate/stackstate-k8s-agent/.helmignore new file mode 100644 index 000000000..15a5c1277 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +linter_values.yaml +ci/ +installation/ +logo.svg diff --git a/charts/stackstate/stackstate-k8s-agent/Chart.lock b/charts/stackstate/stackstate-k8s-agent/Chart.lock new file mode 100644 index 000000000..eb882a083 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: http-header-injector + repository: https://helm.stackstate.io + version: 0.0.6 +digest: sha256:eec4d022d97ef52e88860b54682692fd369c864ca49ccde01b30605cce20c96f +generated: "2023-08-25T14:49:57.569449+02:00" diff --git a/charts/stackstate/stackstate-k8s-agent/Chart.yaml b/charts/stackstate/stackstate-k8s-agent/Chart.yaml new file mode 100644 index 000000000..3f1874084 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/Chart.yaml @@ -0,0 +1,24 @@ +annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: StackState Agent + catalog.cattle.io/kube-version: '>=1.19.0-0' + catalog.cattle.io/release-name: stackstate-k8s-agent +apiVersion: v2 +appVersion: 2.19.1 +dependencies: +- alias: httpHeaderInjectorWebhook + name: http-header-injector + repository: file://./charts/http-header-injector + version: 0.0.6 +description: Helm chart for the StackState Agent. +home: https://github.com/StackVista/stackstate-agent +icon: https://raw.githubusercontent.com/StackVista/helm-charts/master/stable/stackstate-k8s-agent/logo.svg +keywords: +- monitoring +- observability +- stackstate +maintainers: +- email: ops@stackstate.com + name: Stackstate +name: stackstate-k8s-agent +version: 1.0.49 diff --git a/charts/stackstate/stackstate-k8s-agent/README.md b/charts/stackstate/stackstate-k8s-agent/README.md new file mode 100644 index 000000000..714263c4e --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/README.md @@ -0,0 +1,235 @@ +# stackstate-k8s-agent + +Helm chart for the StackState Agent. + +Current chart version is `1.0.49` + +**Homepage:** + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://helm.stackstate.io | httpHeaderInjectorWebhook(http-header-injector) | 0.0.6 | + +## Required Values + +In order to successfully install this chart, you **must** provide the following variables: + +* `stackstate.apiKey` +* `stackstate.cluster.name` +* `stackstate.url` + +The parameter `stackstate.cluster.name` is entered when installing the Cluster Agent StackPack. + +Install them on the command line on Helm with the following command: + +```shell +helm install \ +--set-string 'stackstate.apiKey'='' \ +--set-string 'stackstate.cluster.name'='' \ +--set-string 'stackstate.url'='' \ +stackstate/stackstate-k8s-agent +``` + +## Recommended Values + +It is also recommended that you set a value for `stackstate.cluster.authToken`. If it is not provided, a value will be generated for you, but the value will change each time an upgrade is performed. + +The command for **also** installing with a set token would be: + +```shell +helm install \ +--set-string 'stackstate.apiKey'='' \ +--set-string 'stackstate.cluster.name'='' \ +--set-string 'stackstate.cluster.authToken'='' \ +--set-string 'stackstate.url'='' \ +stackstate/stackstate-k8s-agent +``` + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| all.hardening.enabled | bool | `false` | An indication of whether the containers will be evaluated for hardening at runtime | +| all.image.registry | string | `"quay.io"` | The image registry to use. | +| checksAgent.affinity | object | `{}` | Affinity settings for pod assignment. | +| checksAgent.apm.enabled | bool | `true` | Enable / disable the agent APM module. | +| checksAgent.checksTagCardinality | string | `"orchestrator"` | | +| checksAgent.config | object | `{"override":[]}` | | +| checksAgent.config.override | list | `[]` | A list of objects containing three keys `name`, `path` and `data`, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap | +| checksAgent.enabled | bool | `true` | Enable / disable runnning cluster checks in a separately deployed pod | +| checksAgent.image.pullPolicy | string | `"IfNotPresent"` | Default container image pull policy. | +| checksAgent.image.repository | string | `"stackstate/stackstate-k8s-agent"` | Base container image repository. | +| checksAgent.image.tag | string | `"e36d1c88"` | Default container image tag. | +| checksAgent.livenessProbe.enabled | bool | `true` | Enable use of livenessProbe check. | +| checksAgent.livenessProbe.failureThreshold | int | `3` | `failureThreshold` for the liveness probe. | +| checksAgent.livenessProbe.initialDelaySeconds | int | `15` | `initialDelaySeconds` for the liveness probe. | +| checksAgent.livenessProbe.periodSeconds | int | `15` | `periodSeconds` for the liveness probe. | +| checksAgent.livenessProbe.successThreshold | int | `1` | `successThreshold` for the liveness probe. | +| checksAgent.livenessProbe.timeoutSeconds | int | `5` | `timeoutSeconds` for the liveness probe. | +| checksAgent.logLevel | string | `"INFO"` | Logging level for clusterchecks agent processes. | +| checksAgent.networkTracing.enabled | bool | `true` | Enable / disable the agent network tracing module. | +| checksAgent.nodeSelector | object | `{}` | Node labels for pod assignment. | +| checksAgent.priorityClassName | string | `""` | Priority class for clusterchecks agent pods. | +| checksAgent.processAgent.enabled | bool | `true` | Enable / disable the agent process agent module. | +| checksAgent.readinessProbe.enabled | bool | `true` | Enable use of readinessProbe check. | +| checksAgent.readinessProbe.failureThreshold | int | `3` | `failureThreshold` for the readiness probe. | +| checksAgent.readinessProbe.initialDelaySeconds | int | `15` | `initialDelaySeconds` for the readiness probe. | +| checksAgent.readinessProbe.periodSeconds | int | `15` | `periodSeconds` for the readiness probe. | +| checksAgent.readinessProbe.successThreshold | int | `1` | `successThreshold` for the readiness probe. | +| checksAgent.readinessProbe.timeoutSeconds | int | `5` | `timeoutSeconds` for the readiness probe. | +| checksAgent.replicas | int | `1` | Number of clusterchecks agent pods to schedule | +| checksAgent.resources.limits.cpu | string | `"400m"` | Memory resource limits. | +| checksAgent.resources.limits.memory | string | `"600Mi"` | | +| checksAgent.resources.requests.cpu | string | `"20m"` | Memory resource requests. | +| checksAgent.resources.requests.memory | string | `"512Mi"` | | +| checksAgent.scc.enabled | bool | `false` | Enable / disable the installation of the SecurityContextConfiguration needed for installation on OpenShift | +| checksAgent.serviceaccount.annotations | object | `{}` | Annotations for the service account for the cluster checks pods | +| checksAgent.skipSslValidation | bool | `false` | Set to true if self signed certificates are used. | +| checksAgent.strategy | object | `{"type":"RollingUpdate"}` | The strategy for the Deployment object. | +| checksAgent.tolerations | list | `[]` | Toleration labels for pod assignment. | +| clusterAgent.affinity | object | `{}` | Affinity settings for pod assignment. | +| clusterAgent.collection.kubeStateMetrics.annotationsAsTags | object | `{}` | Extra annotations to collect from resources and to turn into StackState tag. | +| clusterAgent.collection.kubeStateMetrics.clusterCheck | bool | `false` | For large clusters where the Kubernetes State Metrics Check Core needs to be distributed on dedicated workers. | +| clusterAgent.collection.kubeStateMetrics.enabled | bool | `true` | Enable / disable the cluster agent kube-state-metrics collection. | +| clusterAgent.collection.kubeStateMetrics.labelsAsTags | object | `{}` | Extra labels to collect from resources and to turn into StackState tag. # It has the following structure: # labelsAsTags: # : # can be pod, deployment, node, etc. # : # where is the kubernetes label and is the StackState tag # : # : # : # # Warning: the label must match the transformation done by kube-state-metrics, # for example tags.stackstate/version becomes tags_stackstate_version. | +| clusterAgent.collection.kubernetesEvents | bool | `true` | Enable / disable the cluster agent events collection. | +| clusterAgent.collection.kubernetesMetrics | bool | `true` | Enable / disable the cluster agent metrics collection. | +| clusterAgent.collection.kubernetesResources.configmaps | bool | `true` | Enable / disable collection of ConfigMaps. | +| clusterAgent.collection.kubernetesResources.cronjobs | bool | `true` | Enable / disable collection of CronJobs. | +| clusterAgent.collection.kubernetesResources.daemonsets | bool | `true` | Enable / disable collection of DaemonSets. | +| clusterAgent.collection.kubernetesResources.deployments | bool | `true` | Enable / disable collection of Deployments. | +| clusterAgent.collection.kubernetesResources.endpoints | bool | `true` | Enable / disable collection of Endpoints. If endpoints are disabled then StackState won't be able to connect a Service to Pods that serving it | +| clusterAgent.collection.kubernetesResources.ingresses | bool | `true` | Enable / disable collection of Ingresses. | +| clusterAgent.collection.kubernetesResources.jobs | bool | `true` | Enable / disable collection of Jobs. | +| clusterAgent.collection.kubernetesResources.namespaces | bool | `true` | Enable / disable collection of Namespaces. | +| clusterAgent.collection.kubernetesResources.persistentvolumeclaims | bool | `true` | Enable / disable collection of PersistentVolumeClaims. Disabling these will not let StackState connect PersistentVolumes to pods they are attached to | +| clusterAgent.collection.kubernetesResources.persistentvolumes | bool | `true` | Enable / disable collection of PersistentVolumes. | +| clusterAgent.collection.kubernetesResources.replicasets | bool | `true` | Enable / disable collection of ReplicaSets. | +| clusterAgent.collection.kubernetesResources.resourcequotas | bool | `true` | Enable / disable collection of ResourceQuotas. | +| clusterAgent.collection.kubernetesResources.secrets | bool | `true` | Enable / disable collection of Secrets. | +| clusterAgent.collection.kubernetesResources.statefulsets | bool | `true` | Enable / disable collection of StatefulSets. | +| clusterAgent.collection.kubernetesResources.volumeattachments | bool | `true` | Enable / disable collection of Volume Attachments. Used to bind Nodes to Persistent Volumes. | +| clusterAgent.collection.kubernetesTimeout | int | `10` | Default timeout (in seconds) when obtaining information from the Kubernetes API. | +| clusterAgent.collection.kubernetesTopology | bool | `true` | Enable / disable the cluster agent topology collection. | +| clusterAgent.config | object | `{"configMap":{"maxDataSize":null},"events":{"categories":{}},"override":[],"topology":{"collectionInterval":90}}` | | +| clusterAgent.config.configMap.maxDataSize | string | `nil` | Maximum amount of characters for the data property of a ConfigMap collected by the kubernetes topology check | +| clusterAgent.config.events.categories | object | `{}` | Custom mapping from Kubernetes event reason to StackState event category. Categories allowed: Alerts, Activities, Changes, Others | +| clusterAgent.config.override | list | `[]` | A list of objects containing three keys `name`, `path` and `data`, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap | +| clusterAgent.config.topology.collectionInterval | int | `90` | Interval for running topology collection, in seconds | +| clusterAgent.enabled | bool | `true` | Enable / disable the cluster agent. | +| clusterAgent.image.pullPolicy | string | `"IfNotPresent"` | Default container image pull policy. | +| clusterAgent.image.repository | string | `"stackstate/stackstate-k8s-cluster-agent"` | Base container image repository. | +| clusterAgent.image.tag | string | `"e36d1c88"` | Default container image tag. | +| clusterAgent.livenessProbe.enabled | bool | `true` | Enable use of livenessProbe check. | +| clusterAgent.livenessProbe.failureThreshold | int | `3` | `failureThreshold` for the liveness probe. | +| clusterAgent.livenessProbe.initialDelaySeconds | int | `15` | `initialDelaySeconds` for the liveness probe. | +| clusterAgent.livenessProbe.periodSeconds | int | `15` | `periodSeconds` for the liveness probe. | +| clusterAgent.livenessProbe.successThreshold | int | `1` | `successThreshold` for the liveness probe. | +| clusterAgent.livenessProbe.timeoutSeconds | int | `5` | `timeoutSeconds` for the liveness probe. | +| clusterAgent.logLevel | string | `"INFO"` | Logging level for stackstate-k8s-agent processes. | +| clusterAgent.nodeSelector | object | `{}` | Node labels for pod assignment. | +| clusterAgent.priorityClassName | string | `""` | Priority class for stackstate-k8s-agent pods. | +| clusterAgent.readinessProbe.enabled | bool | `true` | Enable use of readinessProbe check. | +| clusterAgent.readinessProbe.failureThreshold | int | `3` | `failureThreshold` for the readiness probe. | +| clusterAgent.readinessProbe.initialDelaySeconds | int | `15` | `initialDelaySeconds` for the readiness probe. | +| clusterAgent.readinessProbe.periodSeconds | int | `15` | `periodSeconds` for the readiness probe. | +| clusterAgent.readinessProbe.successThreshold | int | `1` | `successThreshold` for the readiness probe. | +| clusterAgent.readinessProbe.timeoutSeconds | int | `5` | `timeoutSeconds` for the readiness probe. | +| clusterAgent.replicaCount | int | `1` | Number of replicas of the cluster agent to deploy. | +| clusterAgent.resources.limits.cpu | string | `"400m"` | CPU resource limits. | +| clusterAgent.resources.limits.memory | string | `"800Mi"` | Memory resource limits. | +| clusterAgent.resources.requests.cpu | string | `"70m"` | CPU resource requests. | +| clusterAgent.resources.requests.memory | string | `"512Mi"` | Memory resource requests. | +| clusterAgent.service.port | int | `5005` | Change the Cluster Agent service port | +| clusterAgent.service.targetPort | int | `5005` | Change the Cluster Agent service targetPort | +| clusterAgent.serviceaccount.annotations | object | `{}` | Annotations for the service account for the cluster agent pods | +| clusterAgent.strategy | object | `{"type":"RollingUpdate"}` | The strategy for the Deployment object. | +| clusterAgent.tolerations | list | `[]` | Toleration labels for pod assignment. | +| fullnameOverride | string | `""` | Override the fullname of the chart. | +| global.extraEnv.open | object | `{}` | Extra open environment variables to inject into pods. | +| global.extraEnv.secret | object | `{}` | Extra secret environment variables to inject into pods via a `Secret` object. | +| global.imagePullCredentials | object | `{}` | Globally define credentials for pulling images. | +| global.imagePullSecrets | list | `[]` | Secrets / credentials needed for container image registry. | +| httpHeaderInjectorWebhook.enabled | bool | `false` | Enable the webhook for injection http header injection sidecar proxy | +| logsAgent.affinity | object | `{}` | Affinity settings for pod assignment. | +| logsAgent.enabled | bool | `true` | Enable / disable k8s pod log collection | +| logsAgent.image.pullPolicy | string | `"IfNotPresent"` | Default container image pull policy. | +| logsAgent.image.repository | string | `"stackstate/promtail"` | Base container image repository. | +| logsAgent.image.tag | string | `"2.7.1"` | Default container image tag. | +| logsAgent.nodeSelector | object | `{}` | Node labels for pod assignment. | +| logsAgent.priorityClassName | string | `""` | Priority class for logsAgent pods. | +| logsAgent.resources.limits.cpu | string | `"1300m"` | Memory resource limits. | +| logsAgent.resources.limits.memory | string | `"192Mi"` | | +| logsAgent.resources.requests.cpu | string | `"20m"` | Memory resource requests. | +| logsAgent.resources.requests.memory | string | `"100Mi"` | | +| logsAgent.serviceaccount.annotations | object | `{}` | Annotations for the service account for the daemonset pods | +| logsAgent.tolerations | list | `[]` | Toleration labels for pod assignment. | +| logsAgent.updateStrategy | object | `{"rollingUpdate":{"maxUnavailable":100},"type":"RollingUpdate"}` | The update strategy for the DaemonSet object. | +| nameOverride | string | `""` | Override the name of the chart. | +| nodeAgent.affinity | object | `{}` | Affinity settings for pod assignment. | +| nodeAgent.apm.enabled | bool | `true` | Enable / disable the nodeAgent APM module. | +| nodeAgent.checksTagCardinality | string | `"orchestrator"` | low, orchestrator or high. Orchestrator level adds pod_name, high adds display_container_name | +| nodeAgent.config | object | `{"override":[]}` | | +| nodeAgent.config.override | list | `[]` | A list of objects containing three keys `name`, `path` and `data`, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap | +| nodeAgent.containerRuntime.customSocketPath | string | `""` | If the container socket path does not match the default for CRI-O, Containerd or Docker, supply a custom socket path. | +| nodeAgent.containerRuntime.hostProc | string | `"/proc"` | | +| nodeAgent.containers.agent.env | object | `{}` | Additional environment variables for the agent container | +| nodeAgent.containers.agent.image.pullPolicy | string | `"IfNotPresent"` | Default container image pull policy. | +| nodeAgent.containers.agent.image.repository | string | `"stackstate/stackstate-k8s-agent"` | Base container image repository. | +| nodeAgent.containers.agent.image.tag | string | `"e36d1c88"` | Default container image tag. | +| nodeAgent.containers.agent.livenessProbe.enabled | bool | `true` | Enable use of livenessProbe check. | +| nodeAgent.containers.agent.livenessProbe.failureThreshold | int | `3` | `failureThreshold` for the liveness probe. | +| nodeAgent.containers.agent.livenessProbe.initialDelaySeconds | int | `15` | `initialDelaySeconds` for the liveness probe. | +| nodeAgent.containers.agent.livenessProbe.periodSeconds | int | `15` | `periodSeconds` for the liveness probe. | +| nodeAgent.containers.agent.livenessProbe.successThreshold | int | `1` | `successThreshold` for the liveness probe. | +| nodeAgent.containers.agent.livenessProbe.timeoutSeconds | int | `5` | `timeoutSeconds` for the liveness probe. | +| nodeAgent.containers.agent.logLevel | string | `nil` | Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off # If not set, fall back to the value of agent.logLevel. | +| nodeAgent.containers.agent.processAgent.enabled | bool | `false` | Enable / disable the agent process agent module. - deprecated | +| nodeAgent.containers.agent.readinessProbe.enabled | bool | `true` | Enable use of readinessProbe check. | +| nodeAgent.containers.agent.readinessProbe.failureThreshold | int | `3` | `failureThreshold` for the readiness probe. | +| nodeAgent.containers.agent.readinessProbe.initialDelaySeconds | int | `15` | `initialDelaySeconds` for the readiness probe. | +| nodeAgent.containers.agent.readinessProbe.periodSeconds | int | `15` | `periodSeconds` for the readiness probe. | +| nodeAgent.containers.agent.readinessProbe.successThreshold | int | `1` | `successThreshold` for the readiness probe. | +| nodeAgent.containers.agent.readinessProbe.timeoutSeconds | int | `5` | `timeoutSeconds` for the readiness probe. | +| nodeAgent.containers.agent.resources.limits.cpu | string | `"270m"` | Memory resource limits. | +| nodeAgent.containers.agent.resources.limits.memory | string | `"420Mi"` | | +| nodeAgent.containers.agent.resources.requests.cpu | string | `"20m"` | Memory resource requests. | +| nodeAgent.containers.agent.resources.requests.memory | string | `"180Mi"` | | +| nodeAgent.containers.processAgent.enabled | bool | `true` | Enable / disable the process agent container. | +| nodeAgent.containers.processAgent.env | object | `{}` | Additional environment variables for the process-agent container | +| nodeAgent.containers.processAgent.image.pullPolicy | string | `"IfNotPresent"` | Process-agent container image pull policy. | +| nodeAgent.containers.processAgent.image.registry | string | `nil` | | +| nodeAgent.containers.processAgent.image.repository | string | `"stackstate/stackstate-k8s-process-agent"` | Process-agent container image repository. | +| nodeAgent.containers.processAgent.image.tag | string | `"c9dbfd73"` | Default process-agent container image tag. | +| nodeAgent.containers.processAgent.logLevel | string | `nil` | Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off # If not set, fall back to the value of agent.logLevel. | +| nodeAgent.containers.processAgent.resources.limits.cpu | string | `"125m"` | Memory resource limits. | +| nodeAgent.containers.processAgent.resources.limits.memory | string | `"400Mi"` | | +| nodeAgent.containers.processAgent.resources.requests.cpu | string | `"25m"` | Memory resource requests. | +| nodeAgent.containers.processAgent.resources.requests.memory | string | `"128Mi"` | | +| nodeAgent.httpTracing.enabled | bool | `true` | | +| nodeAgent.logLevel | string | `"INFO"` | Logging level for agent processes. | +| nodeAgent.networkTracing.enabled | bool | `true` | Enable / disable the nodeAgent network tracing module. | +| nodeAgent.nodeSelector | object | `{}` | Node labels for pod assignment. | +| nodeAgent.priorityClassName | string | `""` | Priority class for nodeAgent pods. | +| nodeAgent.protocolInspection.enabled | bool | `true` | Enable / disable the nodeAgent protocol inspection. | +| nodeAgent.scc.enabled | bool | `false` | Enable / disable the installation of the SecurityContextConfiguration needed for installation on OpenShift. | +| nodeAgent.service | object | `{"annotations":{},"loadBalancerSourceRanges":["10.0.0.0/8"],"type":"ClusterIP"}` | The Kubernetes service for the agent | +| nodeAgent.service.annotations | object | `{}` | Annotations for the service | +| nodeAgent.service.loadBalancerSourceRanges | list | `["10.0.0.0/8"]` | The IP4 CIDR allowed to reach LoadBalancer for the service. For LoadBalancer type of service only. | +| nodeAgent.service.type | string | `"ClusterIP"` | Type of Kubernetes service: ClusterIP, LoadBalancer, NodePort | +| nodeAgent.serviceaccount.annotations | object | `{}` | Annotations for the service account for the agent daemonset pods | +| nodeAgent.skipKubeletTLSVerify | bool | `false` | Set to true if you want to skip kubelet tls verification. | +| nodeAgent.skipSslValidation | bool | `false` | Set to true if self signed certificates are used. | +| nodeAgent.tolerations | list | `[]` | Toleration labels for pod assignment. | +| nodeAgent.updateStrategy | object | `{"rollingUpdate":{"maxUnavailable":100},"type":"RollingUpdate"}` | The update strategy for the DaemonSet object. | +| openShiftLogging.installSecret | bool | `false` | Install a secret for logging on openshift | +| processAgent.checkIntervals.connections | int | `30` | Override the default value of the connections check interval in seconds. | +| processAgent.checkIntervals.container | int | `30` | Override the default value of the container check interval in seconds. | +| processAgent.checkIntervals.process | int | `30` | Override the default value of the process check interval in seconds. | +| stackstate.apiKey | string | `nil` | **PROVIDE YOUR API KEY HERE** API key to be used by the StackState agent. | +| stackstate.cluster.authToken | string | `""` | Provide a token to enable secure communication between the agent and the cluster agent. | +| stackstate.cluster.name | string | `nil` | **PROVIDE KUBERNETES CLUSTER NAME HERE** Name of the Kubernetes cluster where the agent will be installed. | +| stackstate.url | string | `nil` | **PROVIDE STACKSTATE URL HERE** URL of the StackState installation to receive data from the agent. | +| targetSystem | string | `"linux"` | Target OS for this deployment (possible values: linux) | diff --git a/charts/stackstate/stackstate-k8s-agent/README.md.gotmpl b/charts/stackstate/stackstate-k8s-agent/README.md.gotmpl new file mode 100644 index 000000000..7909e6f0d --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/README.md.gotmpl @@ -0,0 +1,45 @@ +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +Current chart version is `{{ template "chart.version" . }}` + +{{ template "chart.homepageLine" . }} + +{{ template "chart.requirementsSection" . }} + +## Required Values + +In order to successfully install this chart, you **must** provide the following variables: + +* `stackstate.apiKey` +* `stackstate.cluster.name` +* `stackstate.url` + +The parameter `stackstate.cluster.name` is entered when installing the Cluster Agent StackPack. + +Install them on the command line on Helm with the following command: + +```shell +helm install \ +--set-string 'stackstate.apiKey'='' \ +--set-string 'stackstate.cluster.name'='' \ +--set-string 'stackstate.url'='' \ +stackstate/stackstate-k8s-agent +``` + +## Recommended Values + +It is also recommended that you set a value for `stackstate.cluster.authToken`. If it is not provided, a value will be generated for you, but the value will change each time an upgrade is performed. + +The command for **also** installing with a set token would be: + +```shell +helm install \ +--set-string 'stackstate.apiKey'='' \ +--set-string 'stackstate.cluster.name'='' \ +--set-string 'stackstate.cluster.authToken'='' \ +--set-string 'stackstate.url'='' \ +stackstate/stackstate-k8s-agent +``` + +{{ template "chart.valuesSection" . }} diff --git a/charts/stackstate/stackstate-k8s-agent/Releasing.md b/charts/stackstate/stackstate-k8s-agent/Releasing.md new file mode 100644 index 000000000..bab6c2b94 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/Releasing.md @@ -0,0 +1,15 @@ +To make a new release of this helm chart, follow the following steps: + + +- Create a branch from master +- Set the latest tags for the docker images, based on the dev settings (while we do not promote to prod, the moment we promote to prod we should take those tags) from https://gitlab.com/stackvista/devops/agent-promoter/-/blob/master/config.yml. Set the value to the folowing keys: + * stackstate-k8s-cluster-agent: + * [clusterAgent.image.tag] + * stackstate-k8s-agent: + * [nodeAgent.containers.agent.image.tag] + * [checksAgent.image.tag] + * stackstate-k8s-process-agent: + * [nodeAgent.containers.processAgent.image.tag] +- Bump the version of the chart +- Merge the mr and hit the public release button on the ci pipeline +- Manually smoke-test (deploy) the newly released stackstate/stackstate-k8s-agent chart to make sure it runs diff --git a/charts/stackstate/stackstate-k8s-agent/app-readme.md b/charts/stackstate/stackstate-k8s-agent/app-readme.md new file mode 100644 index 000000000..8025fe1d3 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/app-readme.md @@ -0,0 +1,5 @@ +## Introduction + +StackState is a modern Application Troubleshooting and Observability solution designed for the rapid evolving engineering landscape. With specific enhancements for Kubernetes environments it empowers engineers, allowing them to remediate application issues independently in production. + +The StackState Agent auto-discovers your entire environment in minutes, assimilating topology, logs, metrics, and events and sends this of to the StackState server. By using StackState you're able to tracke all activity in your environment in real-time and over time. StackState provides instant understanding of the business impact of an issue, offering end-to-end chain observability and ensuring that you can quickly correlate any product or environmental changes to the overall health of your cloud-native implementation. diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/.helmignore b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/.helmignore new file mode 100644 index 000000000..69790771c --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/.helmignore @@ -0,0 +1,25 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +linter_values.yaml +ci/ +installation/ diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Chart.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Chart.yaml new file mode 100644 index 000000000..c1f1de800 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Chart.yaml @@ -0,0 +1,15 @@ +apiVersion: v2 +appVersion: 0.0.1 +description: 'Helm chart for deploying the http-header-injector sidecar, which automatically + injects x-request-id into http traffic going through the cluster for pods which + have the annotation `http-header-injector.stackstate.io/inject: enabled` is set. ' +home: https://github.com/StackVista/http-header-injector +icon: https://www.stackstate.com/wp-content/uploads/2019/02/152x152-favicon.png +keywords: +- monitoring +- stackstate +maintainers: +- email: ops@stackstate.com + name: Stackstate Lupulus Team +name: http-header-injector +version: 0.0.6 diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/README.md b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/README.md new file mode 100644 index 000000000..3f83e01b8 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/README.md @@ -0,0 +1,54 @@ +# http-header-injector + +![Version: 0.0.6](https://img.shields.io/badge/Version-0.0.6-informational?style=flat-square) ![AppVersion: 0.0.1](https://img.shields.io/badge/AppVersion-0.0.1-informational?style=flat-square) + +Helm chart for deploying the http-header-injector sidecar, which automatically injects x-request-id into http traffic +going through the cluster for pods which have the annotation `http-header-injector.stackstate.io/inject: enabled` is set. + +**Homepage:** + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Stackstate Lupulus Team | | | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| certificatePrehook | object | `{"image":{"pullPolicy":"IfNotPresent","registry":null,"repository":"stackstate/container-tools","tag":"1.1.8"}}` | Helm prehook to setup/remove a certificate for the sidecarInjector mutationwebhook | +| certificatePrehook.image.pullPolicy | string | `"IfNotPresent"` | Policy when pulling an image | +| certificatePrehook.image.registry | string | `nil` | Registry for the docker image. | +| certificatePrehook.image.tag | string | `"1.1.8"` | The tag for the docker image | +| debug | bool | `false` | Enable debugging. This will leave leave artifacts around like the prehook jobs for further inspection | +| enabled | bool | `true` | Enable/disable the mutationwebhook | +| global.imagePullCredentials | object | `{}` | Globally define credentials for pulling images. | +| global.imagePullSecrets | list | `[]` | Globally add image pull secrets that are used. | +| global.imageRegistry | string | `nil` | Globally override the image registry that is used. Can be overridden by specific containers. Defaults to quay.io | +| images.pullSecretName | string | `nil` | | +| proxy | object | `{"image":{"pullPolicy":"IfNotPresent","registry":null,"repository":"stackstate/http-header-injector-proxy","tag":"sha-5ff79451"},"resources":{"limits":{"memory":"40Mi"},"requests":{"memory":"25Mi"}}}` | Proxy being injected into pods for rewriting http headers | +| proxy.image.pullPolicy | string | `"IfNotPresent"` | Policy when pulling an image | +| proxy.image.registry | string | `nil` | Registry for the docker image. | +| proxy.image.tag | string | `"sha-5ff79451"` | The tag for the docker image | +| proxy.resources.limits.memory | string | `"40Mi"` | Memory resource limits. | +| proxy.resources.requests.memory | string | `"25Mi"` | Memory resource requests. | +| proxyInit | object | `{"image":{"pullPolicy":"IfNotPresent","registry":null,"repository":"stackstate/http-header-injector-proxy-init","tag":"sha-5ff79451"}}` | InitContainer within pod which redirects traffic to the proxy container. | +| proxyInit.image.pullPolicy | string | `"IfNotPresent"` | Policy when pulling an image | +| proxyInit.image.registry | string | `nil` | Registry for the docker image | +| proxyInit.image.tag | string | `"sha-5ff79451"` | The tag for the docker image | +| sidecarInjector | object | `{"image":{"pullPolicy":"IfNotPresent","registry":null,"repository":"stackstate/generic-sidecar-injector","tag":"sha-9c852245"}}` | Service for injecting the proxy sidecar into pods | +| sidecarInjector.image.pullPolicy | string | `"IfNotPresent"` | Policy when pulling an image | +| sidecarInjector.image.registry | string | `nil` | Registry for the docker image. | +| sidecarInjector.image.tag | string | `"sha-9c852245"` | The tag for the docker image | +| webhook | object | `{"failurePolicy":"Ignore","tls":{"certManager":{"issuer":"","issuerKind":"ClusterIssuer","issuerNamespace":""},"mode":"generated","provided":{"caBundle":"","crt":"","key":""},"secret":{"name":""}}}` | MutationWebhook that will be installed to inject a sidecar into pods | +| webhook.failurePolicy | string | `"Ignore"` | How should the webhook fail? Best is to use Ignore, because there is a brief moment at initialization when the hook s there but the service not. Also, putting this to fail can cause the control plane be unresponsive. | +| webhook.tls.certManager.issuer | string | `""` | The issuer that is used for the webhook. Only used if you set webhook.tls.mode to "cert-manager". | +| webhook.tls.certManager.issuerKind | string | `"ClusterIssuer"` | The issuer kind that is used for the webhook, valid values are "Issuer" or "ClusterIssuer". Only used if you set webhook.tls.mode to "cert-manager". | +| webhook.tls.certManager.issuerNamespace | string | `""` | The namespace the cert-manager issuer is located in. If left empty defaults to the release's namespace that is used for the webhook. Only used if you set webhook.tls.mode to "cert-manager". | +| webhook.tls.mode | string | `"generated"` | The mode for the webhook. Can be "provided", "generated", "secret" or "cert-manager". If you want to use cert-manager, you need to install it first. NOTE: If you choose "generated", additional privileges are required to create the certificate and webhook at runtime. | +| webhook.tls.provided.caBundle | string | `""` | The caBundle that is used for the webhook. This is the certificate that is used to sign the webhook. Only used if you set webhook.tls.mode to "provided". | +| webhook.tls.provided.crt | string | `""` | The certificate that is used for the webhook. Only used if you set webhook.tls.mode to "provided". | +| webhook.tls.provided.key | string | `""` | The key that is used for the webhook. Only used if you set webhook.tls.mode to "provided". | +| webhook.tls.secret.name | string | `""` | The name of the secret containing the pre-provisioned certificate data that is used for the webhook. Only used if you set webhook.tls.mode to "secret". | + diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Readme.md.gotpl b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Readme.md.gotpl new file mode 100644 index 000000000..225032aa2 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/Readme.md.gotpl @@ -0,0 +1,26 @@ +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +Current chart version is `{{ template "chart.version" . }}` + +{{ template "chart.homepageLine" . }} + +{{ template "chart.requirementsSection" . }} + +## Required Values + +No values have to be included to install this chart. After installing this chart, it becomes possible to annotate pods with +the `http-header-injector.stackstate.io/inject: enabled` annotation to make sure the sidecar provided by this chart is +activated on a pod. + +## Recommended Values + +{{ template "chart.valuesSection" . -}} + +## Install + +Install from the command line on Helm with the following command: + +```shell +helm install stackstate/http-header-injector +``` diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/_defines.tpl b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/_defines.tpl new file mode 100644 index 000000000..f1b8b8872 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/_defines.tpl @@ -0,0 +1,82 @@ +{{- define "http-header-injector.app.name" -}} +{{ .Release.Name }}-http-header-injector +{{- end -}} + +{{- define "http-header-injector.webhook-service.name" -}} +{{ .Release.Name }}-http-header-injector +{{- end -}} + +{{- define "http-header-injector.webhook-service.fqname" -}} +{{ .Release.Name }}-http-header-injector.{{ .Release.Namespace }}.svc +{{- end -}} + +{{- define "http-header-injector.cert-secret.name" -}} +{{- if eq .Values.webhook.tls.mode "secret" -}} +{{ .Values.webhook.tls.secret.name }} +{{- else -}} +{{ .Release.Name }}-http-injector-cert +{{- end -}} +{{- end -}} + +{{- define "http-header-injector.cert-clusterrole.name" -}} +{{ .Release.Name }}-http-injector-cert-cluster-role +{{- end -}} + +{{- define "http-header-injector.cert-serviceaccount.name" -}} +{{ .Release.Name }}-http-injector-cert-sa +{{- end -}} + +{{- define "http-header-injector.cert-config.name" -}} +{{ .Release.Name }}-cert-config +{{- end -}} + +{{- define "http-header-injector.mutatingwebhookconfiguration.name" -}} +{{ .Release.Name }}-http-header-injector-webhook.stackstate.io +{{- end -}} + +{{- define "http-header-injector.webhook-config.name" -}} +{{ .Release.Name }}-http-header-injector-config +{{- end -}} + +{{- define "http-header-injector.mutating-webhook.name" -}} +{{ .Release.Name }}-http-header-injector-webhook +{{- end -}} + +{{- define "http-header-injector.pull-secret.name" -}} +{{ include "http-header-injector.app.name" . }}-pull-secret +{{- end -}} + +{{/* If the issuer is located in a different namespace, it is possible to set that, else default to the release namespace */}} +{{- define "cert-manager.certificate.namespace" -}} +{{ .Values.webhook.tls.certManager.issuerNamespace | default .Release.Namespace }} +{{- end -}} + +{{- define "http-header-injector.image.registry.global" -}} + {{- if .Values.global }} + {{- .Values.global.imageRegistry | default "quay.io" -}} + {{- else -}} + quay.io + {{- end -}} +{{- end -}} + +{{- define "http-header-injector.image.registry" -}} + {{- if ((.ContainerConfig).image).registry -}} + {{- tpl .ContainerConfig.image.registry . -}} + {{- else -}} + {{- include "http-header-injector.image.registry.global" . }} + {{- end -}} +{{- end -}} + +{{- define "http-header-injector.image.pullSecrets" -}} + {{- $pullSecrets := list }} + {{- $pullSecrets = append $pullSecrets (include "http-header-injector.pull-secret.name" .) }} + {{- range .Values.global.imagePullSecrets -}} + {{- $pullSecrets = append $pullSecrets . -}} + {{- end -}} + {{- if (not (empty $pullSecrets)) -}} +imagePullSecrets: + {{- range $pullSecrets | uniq }} + - name: {{ . }} + {{- end }} + {{- end -}} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrolbinding.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrolbinding.yaml new file mode 100644 index 000000000..fb804f729 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrolbinding.yaml @@ -0,0 +1,22 @@ +{{- if eq .Values.webhook.tls.mode "generated" }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: "{{ include "http-header-injector.cert-serviceaccount.name" . }}" + labels: + app.kubernetes.io/component: http-header-injector-cert-hook + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade,post-delete,post-upgrade + "helm.sh/hook-weight": "-3" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: "{{ include "http-header-injector.cert-clusterrole.name" . }}" +subjects: + - kind: ServiceAccount + name: "{{ include "http-header-injector.cert-serviceaccount.name" . }}" + namespace: {{ .Release.Namespace }} +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrole.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrole.yaml new file mode 100644 index 000000000..595ae5c1b --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-clusterrole.yaml @@ -0,0 +1,24 @@ +{{- if eq .Values.webhook.tls.mode "generated" }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: "{{ include "http-header-injector.cert-clusterrole.name" . }}" + labels: + app.kubernetes.io/component: http-header-injector-cert-hook + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade,post-delete,post-upgrade + "helm.sh/hook-weight": "-4" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +rules: + - apiGroups: [ "admissionregistration.k8s.io" ] + resources: [ "mutatingwebhookconfigurations" ] + verbs: [ "get", "create", "patch","update","delete" ] + - apiGroups: [ "" ] + resources: [ "secrets" ] + verbs: [ "create", "get", "patch","update","delete" ] + - apiGroups: [ "apps" ] + resources: [ "deployments" ] + verbs: [ "get" ] +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-config.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-config.yaml new file mode 100644 index 000000000..b0c5f22fd --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-config.yaml @@ -0,0 +1,152 @@ +{{- if eq .Values.webhook.tls.mode "generated" }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: "{{ include "http-header-injector.cert-config.name" . }}" + labels: + app.kubernetes.io/component: http-header-injector-cert-hook + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade,post-delete,post-upgrade + "helm.sh/hook-weight": "-3" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +data: + generate-cert.sh: | + #!/bin/bash + + # We are going for a self-signed certificate here. We would like to use k8s CertificateSigningRequest, however, + # currently there are no out of the box signers that can sign a 'server auth' certificate, which is required for mutation webhooks. + set -ex + + SCRIPTDIR="${BASH_SOURCE%/*}" + + DIR=`mktemp -d` + + cd "$DIR" + + {{ if .Values.enabled }} + echo "Chart enabled, creating secret and webhook" + + openssl genrsa -out ca.key 2048 + + openssl req -x509 -new -nodes -key ca.key -subj "/CN={{ include "http-header-injector.webhook-service.fqname" . }}" -days 10000 -out ca.crt + + openssl genrsa -out tls.key 2048 + + openssl req -new -key tls.key -out tls.csr -config "$SCRIPTDIR/csr.conf" + + openssl x509 -req -in tls.csr -CA ca.crt -CAkey ca.key \ + -CAcreateserial -out tls.crt -days 10000 \ + -extensions v3_ext -extfile "$SCRIPTDIR/csr.conf" -sha256 + + # Create or update the secret + echo "Applying secret" + kubectl create secret tls "{{ include "http-header-injector.cert-secret.name" . }}" \ + -n "{{ .Release.Namespace }}" \ + --cert=./tls.crt \ + --key=./tls.key \ + --dry-run=client \ + -o yaml | kubectl apply -f - + + echo "Applying mutationwebhook" + caBundle=`base64 -w 0 ca.crt` + cat "$SCRIPTDIR/mutatingwebhookconfiguration.yaml" | sed "s/\\\$CA_BUNDLE/$caBundle/g" | kubectl apply -f - + {{ else }} + echo "Chart disabled, not creating secret and webhook" + {{ end }} + delete-cert.sh: | + #!/bin/bash + + set -x + + DIR="${BASH_SOURCE%/*}" + if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi + if [[ "$DIR" = "." ]]; then DIR="$PWD"; fi + + cd "$DIR" + + # Using detection of deployment hee to also make this work in post-delete. + if kubectl get deployments "{{ include "http-header-injector.app.name" . }}" -n "{{ .Release.Namespace }}"; then + echo "Chart enabled, not removing secret and mutationwebhook" + exit 0 + else + echo "Chart disabled, removing secret and mutationwebhook" + fi + + # Create or update the secret + echo "Deleting secret" + kubectl delete secret "{{ include "http-header-injector.cert-secret.name" . }}" -n "{{ .Release.Namespace }}" + + echo "Applying mutationwebhook" + kubectl delete MutatingWebhookConfiguration "{{ include "http-header-injector.mutating-webhook.name" . }}" -n "{{ .Release.Namespace }}" + + exit 0 + + csr.conf: | + [ req ] + default_bits = 2048 + prompt = no + default_md = sha256 + req_extensions = req_ext + distinguished_name = dn + + [ dn ] + C = NL + ST = Utrecht + L = Hilversum + O = StackState + OU = Dev + CN = {{ include "http-header-injector.webhook-service.fqname" . }} + + [ req_ext ] + subjectAltName = @alt_names + + [ alt_names ] + DNS.1 = {{ include "http-header-injector.webhook-service.fqname" . }} + + [ v3_ext ] + authorityKeyIdentifier=keyid,issuer:always + basicConstraints=CA:FALSE + keyUsage=keyEncipherment,dataEncipherment + extendedKeyUsage=serverAuth + subjectAltName=@alt_names + + mutatingwebhookconfiguration.yaml: | + apiVersion: admissionregistration.k8s.io/v1 + kind: MutatingWebhookConfiguration + metadata: + name: "{{ include "http-header-injector.mutating-webhook.name" . }}" + namespace: "{{ .Release.Namespace }}" + webhooks: + - clientConfig: + caBundle: "$CA_BUNDLE" + service: + name: "{{ include "http-header-injector.webhook-service.name" . }}" + path: /mutate + namespace: {{ .Release.Namespace }} + port: 8443 + # Putting failure on ignore, not doing so can crash the entire control plane if something goes wrong with the service. + failurePolicy: "{{ .Values.webhook.failurePolicy }}" + name: "{{ include "http-header-injector.mutatingwebhookconfiguration.name" . }}" + namespaceSelector: + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - cert-manager + - {{ .Release.Namespace }} + rules: + - apiGroups: + - "" + apiVersions: + - v1 + operations: + - CREATE + resources: + - pods + sideEffects: None + admissionReviewVersions: + - v1 +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-delete.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-delete.yaml new file mode 100644 index 000000000..027d69b37 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-delete.yaml @@ -0,0 +1,42 @@ +{{- if eq .Values.webhook.tls.mode "generated" }} +{{- $containerConfig := dict "ContainerConfig" .Values.certificatePrehook -}} +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ .Release.Name }}-header-injector-cert-delete + labels: + app.kubernetes.io/component: http-header-injector-cert-hook-delete + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + "helm.sh/hook": post-delete,post-upgrade + "helm.sh/hook-weight": "-2" + "helm.sh/hook-delete-policy": before-hook-creation{{- if not .Values.debug -}},hook-succeeded{{- end }} +spec: + template: + metadata: + labels: + app.kubernetes.io/component: http-header-injector-delete + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + checksum/config: {{ include (print $.Template.BasePath "/cert-hook-config.yaml") . | sha256sum }} + spec: + serviceAccountName: "{{ include "http-header-injector.cert-serviceaccount.name" . }}" + {{- include "http-header-injector.image.pullSecrets" . | nindent 6 }} + volumes: + - name: "{{ include "http-header-injector.cert-config.name" . }}" + configMap: + name: "{{ include "http-header-injector.cert-config.name" . }}" + defaultMode: 0777 + containers: + - name: webhook-cert-delete + image: "{{ include "http-header-injector.image.registry" (merge $containerConfig .) }}/{{ .Values.certificatePrehook.image.repository }}:{{ .Values.certificatePrehook.image.tag }}" + imagePullPolicy: {{ .Values.certificatePrehook.image.pullPolicy }} + volumeMounts: + - name: "{{ include "http-header-injector.cert-config.name" . }}" + mountPath: /scripts + command: [ "/scripts/delete-cert.sh" ] + restartPolicy: Never + backoffLimit: 0 +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-setup.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-setup.yaml new file mode 100644 index 000000000..b8e310442 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-job-setup.yaml @@ -0,0 +1,43 @@ +{{- if eq .Values.webhook.tls.mode "generated" }} +{{- $containerConfig := dict "ContainerConfig" .Values.certificatePrehook -}} +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ .Release.Name }}-header-injector-cert-setup + labels: + app.kubernetes.io/component: http-header-injector-cert-hook-setup + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade + "helm.sh/hook-weight": "-2" + "helm.sh/hook-delete-policy": before-hook-creation{{- if not .Values.debug -}},hook-succeeded{{- end }} +spec: + template: + metadata: + labels: + app.kubernetes.io/component: http-header-injector-setup + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + checksum/config: {{ include (print $.Template.BasePath "/cert-hook-config.yaml") . | sha256sum }} + spec: + serviceAccountName: "{{ include "http-header-injector.cert-serviceaccount.name" . }}" + {{- include "http-header-injector.image.pullSecrets" . | nindent 6 }} + volumes: + - name: "{{ include "http-header-injector.cert-config.name" . }}" + configMap: + name: "{{ include "http-header-injector.cert-config.name" . }}" + defaultMode: 0777 + containers: + - name: webhook-cert-setup + image: "{{ include "http-header-injector.image.registry" (merge $containerConfig .) }}/{{ .Values.certificatePrehook.image.repository }}:{{ .Values.certificatePrehook.image.tag }}" + imagePullPolicy: {{ .Values.certificatePrehook.image.pullPolicy }} + volumeMounts: + - name: "{{ include "http-header-injector.cert-config.name" . }}" + mountPath: /scripts + readOnly: true + command: ["/scripts/generate-cert.sh"] + restartPolicy: Never + backoffLimit: 0 +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-serviceaccount.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-serviceaccount.yaml new file mode 100644 index 000000000..4d6931b05 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/cert-hook-serviceaccount.yaml @@ -0,0 +1,16 @@ +{{- if eq .Values.webhook.tls.mode "generated" }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: "{{ include "http-header-injector.cert-serviceaccount.name" . }}" + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade,post-delete,post-upgrade + "helm.sh/hook-weight": "-4" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + labels: + app.kubernetes.io/component: http-header-injector-cert-hook + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + app: "{{ include "http-header-injector.app.name" . }}" +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/pull-secret.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/pull-secret.yaml new file mode 100644 index 000000000..5dc48d931 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/pull-secret.yaml @@ -0,0 +1,29 @@ +{{- $defaultRegistry := .Values.global.imageRegistry }} +{{- $top := . }} +{{- $registryAuthMap := dict }} + +{{- range $registry, $credentials := .Values.global.imagePullCredentials }} + {{- $registryAuthDocument := dict -}} + {{- $_ := set $registryAuthDocument "username" $credentials.username }} + {{- $_ := set $registryAuthDocument "password" $credentials.password }} + {{- $authMessage := printf "%s:%s" $registryAuthDocument.username $registryAuthDocument.password | b64enc }} + {{- $_ := set $registryAuthDocument "auth" $authMessage }} + {{- if eq $registry "default" }} + {{- $registryAuthMap := set $registryAuthMap (include "http-header-injector.image.registry.global" $top) $registryAuthDocument }} + {{ else }} + {{- $registryAuthMap := set $registryAuthMap $registry $registryAuthDocument }} + {{- end }} +{{- end }} +{{- $dockerAuthsDocuments := dict "auths" $registryAuthMap }} + +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + name: {{ include "http-header-injector.pull-secret.name" . }} +data: + .dockerconfigjson: {{ $dockerAuthsDocuments | toJson | b64enc | quote }} +type: kubernetes.io/dockerconfigjson \ No newline at end of file diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-cert-secret.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-cert-secret.yaml new file mode 100644 index 000000000..ba7a216f2 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-cert-secret.yaml @@ -0,0 +1,15 @@ +{{- if eq .Values.webhook.tls.mode "provided" }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "http-header-injector.cert-secret.name" . }} + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} +type: kubernetes.io/tls +data: + tls.crt: {{ .Values.webhook.tls.provided.crt | b64enc }} + tls.key: {{ .Values.webhook.tls.provided.key | b64enc }} +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-certificate.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-certificate.yaml new file mode 100644 index 000000000..752132d44 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-certificate.yaml @@ -0,0 +1,20 @@ +{{- if eq .Values.webhook.tls.mode "cert-manager" }} +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ include "http-header-injector.webhook-service.name" . }} + namespace: {{ include "cert-manager.certificate.namespace" . }} + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} +spec: + secretName: {{ include "http-header-injector.cert-secret.name" . }} + issuerRef: + name: {{ .Values.webhook.tls.certManager.issuer }} + kind: {{ .Values.webhook.tls.certManager.issuerKind }} + dnsNames: + - "{{ include "http-header-injector.webhook-service.name" . }}" + - "{{ include "http-header-injector.webhook-service.name" . }}.{{ .Release.Namespace }}" + - "{{ include "http-header-injector.webhook-service.name" . }}.{{ .Release.Namespace }}.svc" +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-config.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-config.yaml new file mode 100644 index 000000000..f611a52e3 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-config.yaml @@ -0,0 +1,125 @@ +{{- if .Values.enabled -}} +{{- $proxyContainerConfig := dict "ContainerConfig" .Values.proxy -}} +{{- $proxyInitContainerConfig := dict "ContainerConfig" .Values.proxyInit -}} +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + name: {{ .Release.Name }}-http-header-injector-config +data: + sidecarconfig.yaml: | + initContainers: + - name: http-header-proxy-init + image: "{{ include "http-header-injector.image.registry" (merge $proxyInitContainerConfig .) }}/{{ .Values.proxyInit.image.repository }}:{{ .Values.proxyInit.image.tag }}" + imagePullPolicy: {{ .Values.proxyInit.image.pullPolicy }} + command: ["/init-iptables.sh"] + env: + - name: CHART_VERSION + value: "{{ .Chart.Version }}" + - name: PROXY_PORT + value: {% if index .Annotations "config.http-header-injector.stackstate.io/proxy-port" %}"{% index .Annotations "config.http-header-injector.stackstate.io/proxy-port" %}"{% else %}"7060"{% end %} + - name: PROXY_UID + value: {% if index .Annotations "config.http-header-injector.stackstate.io/proxy-uid" %}"{% index .Annotations "config.http-header-injector.stackstate.io/proxy-uid" %}"{% else %}"2103"{% end %} + - name: POD_HOST_NETWORK + value: {% .Spec.HostNetwork %} + {% if eq (index .Annotations "linkerd.io/inject") "enabled" %} + - name: LINKERD + value: true + # Reference: https://linkerd.io/2.13/reference/proxy-configuration/ + - name: LINKERD_PROXY_UID + value: {% if index .Annotations "config.linkerd.io/proxy-uid" %}"{% index .Annotations "config.linkerd.io/proxy-uid" %}"{% else %}"2102"{% end %} + # Due to https://github.com/linkerd/linkerd2/issues/10981 this is now not realy possible, still bringing in the code for future reference + - name: LINKERD_ADMIN_PORT + value: {% if index .Annotations "config.linkerd.io/admin-port" %}"{% index .Annotations "config.linkerd.io/admin-port" %}"{% else %}"4191"{% end %} + {% end %} + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - NET_ADMIN + - NET_RAW + privileged: false + readOnlyRootFilesystem: true + runAsNonRoot: false + runAsUser: 0 + seccompProfile: + type: RuntimeDefault + volumeMounts: + # This is required for iptables to be able to run + - mountPath: /run + name: http-header-proxy-init-xtables-lock + + containers: + - name: http-header-proxy + image: "{{ include "http-header-injector.image.registry" (merge $proxyContainerConfig .) }}/{{ .Values.proxy.image.repository }}:{{ .Values.proxy.image.tag }}" + imagePullPolicy: {{ .Values.proxy.image.pullPolicy }} + env: + - name: CHART_VERSION + value: "{{ .Chart.Version }}" + - name: PORT + value: {% if index .Annotations "config.http-header-injector.stackstate.io/proxy-port" %}"{% index .Annotations "config.http-header-injector.stackstate.io/proxy-port" %}"{% else %}"7060"{% end %} + - name: DEBUG + value: {% if index .Annotations "config.http-header-injector.stackstate.io/debug" %}"{% index .Annotations "config.http-header-injector.stackstate.io/debug" %}"{% else %}"disabled"{% end %} + securityContext: + runAsUser: {% if index .Annotations "config.http-header-injector.stackstate.io/proxy-uid" %}{% index .Annotations "config.http-header-injector.stackstate.io/proxy-uid" %}{% else %}2103{% end %} + seccompProfile: + type: RuntimeDefault + {{- with .Values.proxy.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + - name: http-header-inject-debug + image: "{{ include "http-header-injector.image.registry" (merge $proxyContainerConfig .) }}/{{ .Values.proxyInit.image.repository }}:{{ .Values.proxyInit.image.tag }}" + imagePullPolicy: {{ .Values.proxyInit.image.pullPolicy }} + command: ["/bin/sh", "-c", "while echo \"Running\"; do sleep 1; done"] + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - NET_ADMIN + - NET_RAW + privileged: false + readOnlyRootFilesystem: true + runAsNonRoot: false + runAsUser: 0 + seccompProfile: + type: RuntimeDefault + volumeMounts: + # This is required for iptables to be able to run + - mountPath: /run + name: http-header-proxy-init-xtables-lock + + volumes: + - emptyDir: {} + name: http-header-proxy-init-xtables-lock + + mutationconfig.yaml: | + mutationConfigs: + - name: "http-header-injector" + annotationNamespace: "http-header-injector.stackstate.io" + annotationTrigger: "inject" + annotationConfig: + volumeMounts: [] + initContainersBeforePodInitContainers: [ "http-header-proxy-init" ] + initContainers: [ "http-header-proxy-init" ] + containers: [ "http-header-proxy" ] + volumes: [ "http-header-proxy-init-xtables-lock" ] + volumeMounts: [ ] + # Namespaces are ignored by the mutatingwebhook + ignoreNamespaces: [ ] + - name: "http-header-injector-debug" + annotationNamespace: "http-header-injector-debug.stackstate.io" + annotationTrigger: "inject" + annotationConfig: + volumeMounts: [] + initContainersBeforePodInitContainers: [ ] + initContainers: [ ] + containers: [ "http-header-inject-debug" ] + volumes: [ "http-header-proxy-init-xtables-lock" ] + volumeMounts: [ ] + # Namespaces are ignored by the mutatingwebhook + ignoreNamespaces: [ ] + {{- end -}} \ No newline at end of file diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-deployment.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-deployment.yaml new file mode 100644 index 000000000..e885d0e46 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-deployment.yaml @@ -0,0 +1,56 @@ +{{- if .Values.enabled -}} +{{- $containerConfig := dict "ContainerConfig" .Values.sidecarInjector -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + app: "{{ include "http-header-injector.app.name" . }}" + name: "{{ include "http-header-injector.app.name" . }}" +spec: + replicas: 1 + selector: + matchLabels: + app: "{{ include "http-header-injector.app.name" . }}" + template: + metadata: + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + app: "{{ include "http-header-injector.app.name" . }}" + annotations: + checksum/config: {{ include (print $.Template.BasePath "/webhook-config.yaml") . | sha256sum }} + # This is here to make sure the generic injector gets restarted and picks up a new secret that may have been generated upon upgrade. + revision: "{{ .Release.Revision }}" + name: "{{ include "http-header-injector.app.name" . }}" + spec: + {{- include "http-header-injector.image.pullSecrets" . | nindent 6 }} + volumes: + - name: "{{ include "http-header-injector.webhook-config.name" . }}" + configMap: + name: "{{ include "http-header-injector.webhook-config.name" . }}" + - name: "{{ include "http-header-injector.cert-secret.name" . }}" + secret: + secretName: "{{ include "http-header-injector.cert-secret.name" . }}" + containers: + - image: "{{ include "http-header-injector.image.registry" (merge $containerConfig .) }}/{{ .Values.sidecarInjector.image.repository }}:{{ .Values.sidecarInjector.image.tag }}" + imagePullPolicy: {{ .Values.sidecarInjector.image.pullPolicy }} + name: http-header-injector + volumeMounts: + - name: "{{ include "http-header-injector.webhook-config.name" . }}" + mountPath: /etc/webhook/config + readOnly: true + - name: "{{ include "http-header-injector.cert-secret.name" . }}" + mountPath: /etc/webhook/certs + readOnly: true + command: [ "/sidecarinjector" ] + args: + - --port=8443 + - --sidecar-config-file=/etc/webhook/config/sidecarconfig.yaml + - --mutation-config-file=/etc/webhook/config/mutationconfig.yaml + - --cert-file-path=/etc/webhook/certs/tls.crt + - --key-file-path=/etc/webhook/certs/tls.key +{{- end -}} \ No newline at end of file diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-mutatingwebhookconfiguration.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-mutatingwebhookconfiguration.yaml new file mode 100644 index 000000000..32d58afde --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-mutatingwebhookconfiguration.yaml @@ -0,0 +1,52 @@ +{{- if not (eq .Values.webhook.tls.mode "generated") }} +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + name: "{{ include "http-header-injector.mutating-webhook.name" . }}" + namespace: "{{ .Release.Namespace }}" + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + annotations: + {{- if eq .Values.webhook.tls.mode "cert-manager" }} + cert-manager.io/inject-ca-from: {{ include "cert-manager.certificate.namespace" . }}/{{ include "http-header-injector.webhook-service.name" . }} + {{- else if eq .Values.webhook.tls.mode "secret" }} + cert-manager.io/inject-ca-from-secret: {{ .Release.Namespace }}/{{ .Values.webhook.tls.secret.name | required "'webhook.tls.secret.name' is required when webhook.tls.mode is 'secret'" }} + {{- end }} +webhooks: + - clientConfig: + {{- if eq .Values.webhook.tls.mode "provided" }} + caBundle: "{{ .Values.webhook.tls.provided.caBundle | b64enc }}" + {{- else if or (eq .Values.webhook.tls.mode "cert-manager") (eq .Values.webhook.tls.mode "secret") }} + caBundle: "" + {{- end }} + service: + name: "{{ include "http-header-injector.webhook-service.name" . }}" + path: /mutate + namespace: {{ .Release.Namespace }} + port: 8443 + # Putting failure on ignore, not doing so can crash the entire control plane if something goes wrong with the service. + failurePolicy: "{{ .Values.webhook.failurePolicy }}" + name: "{{ include "http-header-injector.mutatingwebhookconfiguration.name" . }}" + namespaceSelector: + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - cert-manager + - {{ .Release.Namespace }} + rules: + - apiGroups: + - "" + apiVersions: + - v1 + operations: + - CREATE + resources: + - pods + sideEffects: None + admissionReviewVersions: + - v1 +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-service.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-service.yaml new file mode 100644 index 000000000..6936a5d23 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/templates/webhook-service.yaml @@ -0,0 +1,17 @@ +{{- if .Values.enabled -}} +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: http-header-injector + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "http-header-injector.app.name" . }} + name: "{{ include "http-header-injector.webhook-service.name" . }}" +spec: + ports: + - port: 8443 + protocol: TCP + targetPort: 8443 + selector: + app: "{{ include "http-header-injector.app.name" . }}" +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/values.yaml b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/values.yaml new file mode 100644 index 000000000..236a8bb6a --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/charts/http-header-injector/values.yaml @@ -0,0 +1,98 @@ +# enabled -- Enable/disable the mutationwebhook +enabled: true + +# debug -- Enable debugging. This will leave leave artifacts around like the prehook jobs for further inspection +debug: false + +global: + # global.imageRegistry -- Globally override the image registry that is used. Can be overridden by specific containers. Defaults to quay.io + imageRegistry: null + # global.imagePullSecrets -- Globally add image pull secrets that are used. + imagePullSecrets: [] + # global.imagePullCredentials -- Globally define credentials for pulling images. + imagePullCredentials: {} + +images: + pullSecretName: + +# proxy -- Proxy being injected into pods for rewriting http headers +proxy: + image: + # proxy.image.registry -- Registry for the docker image. + registry: + # proxy.image.repository - Repository for the docker image + repository: "stackstate/http-header-injector-proxy" + # proxy.image.pullPolicy -- Policy when pulling an image + pullPolicy: IfNotPresent + # proxy.image.tag -- The tag for the docker image + tag: sha-5ff79451 + + # proxy.resource -- Resources for the proxy container + resources: + requests: + # proxy.resources.requests.memory -- Memory resource requests. + memory: "25Mi" + limits: + # proxy.resources.limits.memory -- Memory resource limits. + memory: "40Mi" + +# proxyInit -- InitContainer within pod which redirects traffic to the proxy container. +proxyInit: + image: + # proxyInit.image.registry -- Registry for the docker image + registry: + # proxyInit.image.repository - Repository for the docker image + repository: "stackstate/http-header-injector-proxy-init" + # proxyInit.image.pullPolicy -- Policy when pulling an image + pullPolicy: IfNotPresent + # proxyInit.image.tag -- The tag for the docker image + tag: sha-5ff79451 + +# sidecarInjector -- Service for injecting the proxy sidecar into pods +sidecarInjector: + image: + # sidecarInjector.image.registry -- Registry for the docker image. + registry: + # sidecarInjector.image.repository - Repository for the docker image + repository: "stackstate/generic-sidecar-injector" + # sidecarInjector.image.pullPolicy -- Policy when pulling an image + pullPolicy: IfNotPresent + # sidecarInjector.image.tag -- The tag for the docker image + tag: sha-9c852245 + +# certificatePrehook -- Helm prehook to setup/remove a certificate for the sidecarInjector mutationwebhook +certificatePrehook: + image: + # certificatePrehook.image.registry -- Registry for the docker image. + registry: + # certificatePrehook.image.repository - Repository for the docker image. + repository: stackstate/container-tools + # certificatePrehook.image.pullPolicy -- Policy when pulling an image + pullPolicy: IfNotPresent + # certificatePrehook.image.tag -- The tag for the docker image + tag: 1.1.8 + +# webhook -- MutationWebhook that will be installed to inject a sidecar into pods +webhook: + # webhook.failurePolicy -- How should the webhook fail? Best is to use Ignore, because there is a brief moment at initialization when the hook s there but the service not. Also, putting this to fail can cause the control plane be unresponsive. + failurePolicy: Ignore + tls: + # webhook.tls.mode -- The mode for the webhook. Can be "provided", "generated", "secret" or "cert-manager". If you want to use cert-manager, you need to install it first. NOTE: If you choose "generated", additional privileges are required to create the certificate and webhook at runtime. + mode: "generated" + provided: + # webhook.tls.provided.caBundle -- The caBundle that is used for the webhook. This is the certificate that is used to sign the webhook. Only used if you set webhook.tls.mode to "provided". + caBundle: "" + # webhook.tls.provided.crt -- The certificate that is used for the webhook. Only used if you set webhook.tls.mode to "provided". + crt: "" + # webhook.tls.provided.key -- The key that is used for the webhook. Only used if you set webhook.tls.mode to "provided". + key: "" + certManager: + # webhook.tls.certManager.issuer -- The issuer that is used for the webhook. Only used if you set webhook.tls.mode to "cert-manager". + issuer: "" + # webhook.tls.certManager.issuerKind -- The issuer kind that is used for the webhook, valid values are "Issuer" or "ClusterIssuer". Only used if you set webhook.tls.mode to "cert-manager". + issuerKind: "ClusterIssuer" + # webhook.tls.certManager.issuerNamespace -- The namespace the cert-manager issuer is located in. If left empty defaults to the release's namespace that is used for the webhook. Only used if you set webhook.tls.mode to "cert-manager". + issuerNamespace: "" + secret: + # webhook.tls.secret.name -- The name of the secret containing the pre-provisioned certificate data that is used for the webhook. Only used if you set webhook.tls.mode to "secret". + name: "" diff --git a/charts/stackstate/stackstate-k8s-agent/questions.yml b/charts/stackstate/stackstate-k8s-agent/questions.yml new file mode 100644 index 000000000..5d6e6a011 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/questions.yml @@ -0,0 +1,184 @@ +questions: + - variable: stackstate.apiKey + label: "StackState API Key" + type: string + description: "The API key for StackState." + required: true + group: General + - variable: stackstate.url + label: "StackState URL" + type: string + description: "The URL where StackState is running." + required: true + group: General + - variable: stackstate.cluster.name + label: "StackState Cluster Name" + type: string + description: "The StackState Cluster Name given when installing the instance of the Kubernetes StackPack in StackState. This is used to identify the cluster in StackState." + required: true + group: General + - variable: all.registry.override + label: "Override Default Image Registry" + type: boolean + description: "Whether or not to override the default image registry." + default: false + group: "General" + show_subquestions_if: true + subquestions: + - variable: all.image.registry + label: "Docker Image Registry" + type: string + description: "The registry to pull the StackState Agent images from." + default: "quay.io" + - variable: global.imagePullCredentials.username + label: "Docker Image Pull Username" + type: string + description: "The username to use when pulling the StackState Agent images." + - variable: global.imagePullCredentials.password + label: "Docker Image Pull Password" + type: secret + description: "The password to use when pulling the StackState Agent images." + - variable: nodeAgent.containers.agent.resources.override + label: "Override Node Agent Resource Allocation" + type: boolean + description: "Whether or not to override the default resources." + default: "false" + group: "Node Agent" + show_subquestions_if: true + subquestions: + - variable: nodeAgent.containers.agent.resources.requests.cpu + label: "CPU Requests" + type: string + description: "The requested CPU for the Node Agent." + default: "20m" + - variable: nodeAgent.containers.agent.resources.requests.memory + label: "Memory Requests" + type: string + description: "The requested memory for the Node Agent." + default: "180Mi" + - variable: nodeAgent.containers.agent.resources.limits.cpu + label: "CPU Limit" + type: string + description: "The CPU limit for the Node Agent." + default: "270m" + - variable: nodeAgent.containers.agent.resources.limits.memory + label: "Memory Limit" + type: string + description: "The memory limit for the Node Agent." + default: "420Mi" + - variable: nodeAgent.containers.processAgent.enabled + label: "Enable Process Agent" + type: boolean + description: "Whether or not to enable the Process Agent." + default: "true" + group: "Process Agent" + - variable: nodeAgent.skipKubeletTLSVerify + label: "Skip Kubelet TLS Verify" + type: boolean + description: "Whether or not to skip TLS verification when connecting to the kubelet API." + default: "true" + group: "Process Agent" + - variable: nodeAgent.containers.processAgent.resources.override + label: "Override Process Agent Resource Allocation" + type: boolean + description: "Whether or not to override the default resources." + default: "false" + group: "Process Agent" + show_subquestions_if: true + subquestions: + - variable: nodeAgent.containers.processAgent.resources.requests.cpu + label: "CPU Requests" + type: string + description: "The requested CPU for the Process Agent." + default: "25m" + - variable: nodeAgent.containers.processAgent.resources.requests.memory + label: "Memory Requests" + type: string + description: "The requested memory for the Process Agent." + default: "128Mi" + - variable: nodeAgent.containers.processAgent.resources.limits.cpu + label: "CPU Limit" + type: string + description: "The CPU limit for the Process Agent." + default: "125m" + - variable: nodeAgent.containers.processAgent.resources.limits.memory + label: "Memory Limit" + type: string + description: "The memory limit for the Process Agent." + default: "400Mi" + - variable: clusterAgent.enabled + label: "Enable Cluster Agent" + type: boolean + description: "Whether or not to enable the Cluster Agent." + default: "true" + group: "Cluster Agent" + - variable: clusterAgent.collection.kubernetesResources.secrets + label: "Collect Secret Resources" + type: boolean + description: | + Whether or not to collect Kubernetes Secrets. + NOTE: StackState will not send the actual data of the secrets, only the metadata and a secure hash of the data. + default: "true" + group: "Cluster Agent" + - variable: clusterAgent.resources.override + label: "Override Cluster Agent Resource Allocation" + type: boolean + description: "Whether or not to override the default resources." + default: "false" + group: "Cluster Agent" + show_subquestions_if: true + subquestions: + - variable: clusterAgent.resources.requests.cpu + label: "CPU Requests" + type: string + description: "The requested CPU for the Cluster Agent." + default: "70m" + - variable: clusterAgent.resources.requests.memory + label: "Memory Requests" + type: string + description: "The requested memory for the Cluster Agent." + default: "512Mi" + - variable: clusterAgent.resources.limits.cpu + label: "CPU Limit" + type: string + description: "The CPU limit for the Cluster Agent." + default: "400m" + - variable: clusterAgent.resources.limits.memory + label: "Memory Limit" + type: string + description: "The memory limit for the Cluster Agent." + default: "800Mi" + - variable: logsAgent.enabled + label: "Enable Logs Agent" + type: boolean + description: "Whether or not to enable the Logs Agent." + default: "true" + group: "Logs Agent" + - variable: logsAgent.resources.override + label: "Override Logs Agent Resource Allocation" + type: boolean + description: "Whether or not to override the default resources." + default: "false" + group: "Logs Agent" + show_subquestions_if: true + subquestions: + - variable: logsAgent.resources.requests.cpu + label: "CPU Requests" + type: string + description: "The requested CPU for the Logs Agent." + default: "20m" + - variable: logsAgent.resources.requests.memory + label: "Memory Requests" + type: string + description: "The requested memory for the Logs Agent." + default: "100Mi" + - variable: logsAgent.resources.limits.cpu + label: "CPU Limit" + type: string + description: "The CPU limit for the Logs Agent." + default: "1300m" + - variable: logsAgent.resources.limits.memory + label: "Memory Limit" + type: string + description: "The memory limit for the Logs Agent." + default: "192Mi" diff --git a/charts/stackstate/stackstate-k8s-agent/templates/_cluster-agent-kube-state-metrics.yaml b/charts/stackstate/stackstate-k8s-agent/templates/_cluster-agent-kube-state-metrics.yaml new file mode 100644 index 000000000..f99fbf618 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/_cluster-agent-kube-state-metrics.yaml @@ -0,0 +1,62 @@ +{{- define "cluster-agent-kube-state-metrics" -}} +{{- $kubeRes := .Values.clusterAgent.collection.kubernetesResources }} +{{- if .Values.clusterAgent.collection.kubeStateMetrics.clusterCheck }} +cluster_check: true +{{- end }} +init_config: +instances: + - collectors: + - nodes + - pods + - services + {{- if $kubeRes.persistentvolumeclaims }} + - persistentvolumeclaims + {{- end }} + {{- if $kubeRes.persistentvolumes }} + - persistentvolumes + {{- end }} + {{- if $kubeRes.namespaces }} + - namespaces + {{- end }} + {{- if $kubeRes.endpoints }} + - endpoints + {{- end }} + {{- if $kubeRes.daemonsets }} + - daemonsets + {{- end }} + {{- if $kubeRes.deployments }} + - deployments + {{- end }} + {{- if $kubeRes.replicasets }} + - replicasets + {{- end }} + {{- if $kubeRes.statefulsets }} + - statefulsets + {{- end }} + {{- if $kubeRes.cronjobs }} + - cronjobs + {{- end }} + {{- if $kubeRes.jobs }} + - jobs + {{- end }} + {{- if $kubeRes.ingresses }} + - ingresses + {{- end }} + {{- if $kubeRes.secrets }} + - secrets + {{- end }} + - resourcequotas + - replicationcontrollers + - limitranges + - horizontalpodautoscalers + - poddisruptionbudgets + - storageclasses + - volumeattachments + {{- if .Values.clusterAgent.collection.kubeStateMetrics.clusterCheck }} + skip_leader_election: true + {{- end }} + labels_as_tags: + {{ .Values.clusterAgent.collection.kubeStateMetrics.labelsAsTags | toYaml | indent 8 }} + annotations_as_tags: + {{ .Values.clusterAgent.collection.kubeStateMetrics.annotationsAsTags | toYaml | indent 8 }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/_container-agent.yaml b/charts/stackstate/stackstate-k8s-agent/templates/_container-agent.yaml new file mode 100644 index 000000000..033ca11ec --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/_container-agent.yaml @@ -0,0 +1,192 @@ +{{- define "container-agent" -}} +- name: node-agent +{{- if .Values.all.hardening.enabled}} + lifecycle: + preStop: + exec: + command: [ "/bin/sh", "-c", "echo 'Giving slim.ai monitor time to submit data...'; sleep 120" ] +{{- end }} + image: "{{ include "stackstate-k8s-agent.imageRegistry" . }}/{{ .Values.nodeAgent.containers.agent.image.repository }}:{{ .Values.nodeAgent.containers.agent.image.tag }}" + imagePullPolicy: "{{ .Values.nodeAgent.containers.agent.image.pullPolicy }}" + env: + - name: STS_API_KEY + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-api-key + - name: STS_KUBERNETES_KUBELET_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: KUBERNETES_HOSTNAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: STS_HOSTNAME + value: "$(KUBERNETES_HOSTNAME)-{{ .Values.stackstate.cluster.name}}" + - name: AGENT_VERSION + value: {{ .Values.nodeAgent.containers.agent.image.tag | quote }} + - name: HOST_PROC + value: "/host/proc" + - name: HOST_SYS + value: "/host/sys" + - name: KUBERNETES + value: "true" + - name: STS_APM_ENABLED + value: {{ .Values.nodeAgent.apm.enabled | quote }} + - name: STS_APM_URL + value: {{ include "stackstate-k8s-agent.stackstate.url" . }} + - name: STS_CLUSTER_AGENT_ENABLED + value: {{ .Values.clusterAgent.enabled | quote }} + {{- if .Values.clusterAgent.enabled }} + - name: STS_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME + value: {{ .Release.Name }}-cluster-agent + - name: STS_CLUSTER_AGENT_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-cluster-auth-token + {{- end }} + - name: STS_CLUSTER_NAME + value: {{ .Values.stackstate.cluster.name | quote }} + - name: STS_SKIP_VALIDATE_CLUSTERNAME + value: "true" + - name: STS_CHECKS_TAG_CARDINALITY + value: {{ .Values.nodeAgent.checksTagCardinality | quote }} + {{- if .Values.checksAgent.enabled }} + - name: STS_EXTRA_CONFIG_PROVIDERS + value: "endpointschecks" + {{- end }} + - name: STS_HEALTH_PORT + value: "5555" + - name: STS_LEADER_ELECTION + value: "false" + - name: LOG_LEVEL + value: {{ .Values.nodeAgent.containers.agent.logLevel | default .Values.nodeAgent.logLevel | quote }} + - name: STS_LOG_LEVEL + value: {{ .Values.nodeAgent.containers.agent.logLevel | default .Values.nodeAgent.logLevel | quote }} + - name: STS_NETWORK_TRACING_ENABLED + value: {{ .Values.nodeAgent.networkTracing.enabled | quote }} + - name: STS_PROTOCOL_INSPECTION_ENABLED + value: {{ .Values.nodeAgent.protocolInspection.enabled | quote }} + - name: STS_PROCESS_AGENT_ENABLED + value: {{ .Values.nodeAgent.containers.agent.processAgent.enabled | quote }} + - name: STS_CONTAINER_CHECK_INTERVAL + value: {{ .Values.processAgent.checkIntervals.container | quote }} + - name: STS_CONNECTION_CHECK_INTERVAL + value: {{ .Values.processAgent.checkIntervals.connections | quote }} + - name: STS_PROCESS_CHECK_INTERVAL + value: {{ .Values.processAgent.checkIntervals.process | quote }} + - name: STS_PROCESS_AGENT_URL + value: {{ include "stackstate-k8s-agent.stackstate.url" . }} + - name: STS_SKIP_SSL_VALIDATION + value: {{ .Values.nodeAgent.skipSslValidation | quote }} + - name: STS_SKIP_KUBELET_TLS_VERIFY + value: {{ .Values.nodeAgent.skipKubeletTLSVerify | quote }} + - name: STS_STS_URL + value: {{ include "stackstate-k8s-agent.stackstate.url" . }} + {{- if .Values.nodeAgent.containerRuntime.customSocketPath }} + - name: STS_CRI_SOCKET_PATH + value: {{ .Values.nodeAgent.containerRuntime.customSocketPath }} + {{- end }} + {{- range $key, $value := .Values.nodeAgent.containers.agent.env }} + - name: {{ $key }} + value: {{ $value | quote }} + {{- end }} + {{- range $key, $value := .Values.global.extraEnv.open }} + - name: {{ $key }} + value: {{ $value | quote }} + {{- end }} + {{- range $key, $value := .Values.global.extraEnv.secret }} + - name: {{ $key }} + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: {{ $key }} + {{- end }} + {{- if .Values.nodeAgent.containers.agent.livenessProbe.enabled }} + livenessProbe: + httpGet: + path: /health + port: healthport + failureThreshold: {{ .Values.nodeAgent.containers.agent.livenessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.nodeAgent.containers.agent.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.nodeAgent.containers.agent.livenessProbe.periodSeconds }} + successThreshold: {{ .Values.nodeAgent.containers.agent.livenessProbe.successThreshold }} + timeoutSeconds: {{ .Values.nodeAgent.containers.agent.livenessProbe.timeoutSeconds }} + {{- end }} + {{- if .Values.nodeAgent.containers.agent.readinessProbe.enabled }} + readinessProbe: + httpGet: + path: /health + port: healthport + failureThreshold: {{ .Values.nodeAgent.containers.agent.readinessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.nodeAgent.containers.agent.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.nodeAgent.containers.agent.readinessProbe.periodSeconds }} + successThreshold: {{ .Values.nodeAgent.containers.agent.readinessProbe.successThreshold }} + timeoutSeconds: {{ .Values.nodeAgent.containers.agent.readinessProbe.timeoutSeconds }} + {{- end }} + ports: + - containerPort: 8126 + name: traceport + protocol: TCP + - containerPort: 5555 + name: healthport + protocol: TCP + {{- with .Values.nodeAgent.containers.agent.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + {{- if .Values.nodeAgent.containerRuntime.customSocketPath }} + - name: customcrisocket + mountPath: {{ .Values.nodeAgent.containerRuntime.customSocketPath }} + readOnly: true + {{- end }} + - name: crisocket + mountPath: /var/run/crio/crio.sock + readOnly: true + - name: containerdsocket + mountPath: /var/run/containerd/containerd.sock + readOnly: true + - name: kubelet + mountPath: /var/lib/kubelet + readOnly: true + - name: nfs + mountPath: /var/lib/nfs + readOnly: true + - name: dockersocket + mountPath: /var/run/docker.sock + readOnly: true + - name: dockernetns + mountPath: /run/docker/netns + readOnly: true + - name: dockeroverlay2 + mountPath: /var/lib/docker/overlay2 + readOnly: true + - name: procdir + mountPath: /host/proc + readOnly: true + - name: cgroups + mountPath: /host/sys/fs/cgroup + readOnly: true + {{- if .Values.nodeAgent.config.override }} + {{- range .Values.nodeAgent.config.override }} + - name: config-override-volume + mountPath: {{ .path }}/{{ .name }} + subPath: {{ .path | replace "/" "_"}}_{{ .name }} + readOnly: true + {{- end }} + {{- end }} +{{- if .Values.all.hardening.enabled}} + securityContext: + privileged: true + runAsUser: 0 # root + capabilities: + add: [ "ALL" ] + readOnlyRootFilesystem: false +{{- else }} + securityContext: + privileged: false +{{- end }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/_container-process-agent.yaml b/charts/stackstate/stackstate-k8s-agent/templates/_container-process-agent.yaml new file mode 100644 index 000000000..98f4f96b9 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/_container-process-agent.yaml @@ -0,0 +1,148 @@ +{{- define "container-process-agent" -}} +- name: process-agent +{{ if .Values.nodeAgent.containers.processAgent.image.registry }} + image: "{{ .Values.nodeAgent.containers.processAgent.image.registry }}/{{ .Values.nodeAgent.containers.processAgent.image.repository }}:{{ .Values.nodeAgent.containers.processAgent.image.tag }}" +{{ else }} + image: "{{ include "stackstate-k8s-agent.imageRegistry" . }}/{{ .Values.nodeAgent.containers.processAgent.image.repository }}:{{ .Values.nodeAgent.containers.processAgent.image.tag }}" +{{- end }} + imagePullPolicy: "{{ .Values.nodeAgent.containers.processAgent.image.pullPolicy }}" + ports: + - containerPort: 6063 + env: + - name: STS_API_KEY + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-api-key + - name: STS_KUBERNETES_KUBELET_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: KUBERNETES_HOSTNAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: STS_HOSTNAME + value: "$(KUBERNETES_HOSTNAME)-{{ .Values.stackstate.cluster.name}}" + - name: AGENT_VERSION + value: {{ .Values.nodeAgent.containers.processAgent.image.tag | quote }} + - name: STS_LOG_TO_CONSOLE + value: "true" + - name: HOST_PROC + value: "/host/proc" + - name: HOST_SYS + value: "/host/sys" + - name: KUBERNETES + value: "true" + - name: STS_CLUSTER_AGENT_ENABLED + value: {{ .Values.clusterAgent.enabled | quote }} + {{- if .Values.clusterAgent.enabled }} + - name: STS_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME + value: {{ .Release.Name }}-cluster-agent + - name: STS_CLUSTER_AGENT_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-cluster-auth-token + {{- end }} + - name: STS_CLUSTER_NAME + value: {{ .Values.stackstate.cluster.name | quote }} + - name: STS_SKIP_VALIDATE_CLUSTERNAME + value: "true" + - name: LOG_LEVEL + value: {{ .Values.nodeAgent.containers.processAgent.logLevel | default .Values.nodeAgent.logLevel | quote }} + - name: STS_LOG_LEVEL + value: {{ .Values.nodeAgent.containers.processAgent.logLevel | default .Values.nodeAgent.logLevel | quote }} + - name: STS_NETWORK_TRACING_ENABLED + value: {{ .Values.nodeAgent.networkTracing.enabled | quote }} + - name: STS_PROTOCOL_INSPECTION_ENABLED + value: {{ .Values.nodeAgent.protocolInspection.enabled | quote }} + - name: STS_PROCESS_AGENT_ENABLED + value: {{ .Values.nodeAgent.containers.processAgent.enabled | quote }} + - name: STS_CONTAINER_CHECK_INTERVAL + value: {{ .Values.processAgent.checkIntervals.container | quote }} + - name: STS_CONNECTION_CHECK_INTERVAL + value: {{ .Values.processAgent.checkIntervals.connections | quote }} + - name: STS_PROCESS_CHECK_INTERVAL + value: {{ .Values.processAgent.checkIntervals.process | quote }} + - name: STS_PROCESS_AGENT_URL + value: {{ include "stackstate-k8s-agent.stackstate.url" . }} + - name: STS_SKIP_SSL_VALIDATION + value: {{ .Values.nodeAgent.skipSslValidation | quote }} + - name: STS_SKIP_KUBELET_TLS_VERIFY + value: {{ .Values.nodeAgent.skipKubeletTLSVerify | quote }} + - name: STS_STS_URL + value: {{ include "stackstate-k8s-agent.stackstate.url" . }} + - name: STS_HTTP_TRACING_ENABLED + value: {{ .Values.nodeAgent.httpTracing.enabled | quote }} + {{- if .Values.nodeAgent.containerRuntime.customSocketPath }} + - name: STS_CRI_SOCKET_PATH + value: {{ .Values.nodeAgent.containerRuntime.customSocketPath }} + {{- end }} + {{- range $key, $value := .Values.nodeAgent.containers.processAgent.env }} + - name: {{ $key }} + value: {{ $value | quote }} + {{- end }} + {{- range $key, $value := .Values.global.extraEnv.open }} + - name: {{ $key }} + value: {{ $value | quote }} + {{- end }} + {{- range $key, $value := .Values.global.extraEnv.secret }} + - name: {{ $key }} + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: {{ $key }} + {{- end }} + {{- with .Values.nodeAgent.containers.processAgent.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + {{- if .Values.nodeAgent.containerRuntime.customSocketPath }} + - name: customcrisocket + mountPath: {{ .Values.nodeAgent.containerRuntime.customSocketPath }} + readOnly: true + {{- end }} + - name: crisocket + mountPath: /var/run/crio/crio.sock + readOnly: true + - name: containerdsocket + mountPath: /var/run/containerd/containerd.sock + readOnly: true + - name: sys-kernel-debug + mountPath: /sys/kernel/debug + # Having sys-kernel-debug as read only breaks specific monitors from receiving metrics + # readOnly: true + - name: dockersocket + mountPath: /var/run/docker.sock + readOnly: true + - name: procdir + mountPath: /host/proc + readOnly: true + - name: passwd + mountPath: /etc/passwd + readOnly: true + - name: cgroups + mountPath: /host/sys/fs/cgroup + readOnly: true + {{- if .Values.nodeAgent.config.override }} + {{- range .Values.nodeAgent.config.override }} + - name: config-override-volume + mountPath: {{ .path }}/{{ .name }} + subPath: {{ .path | replace "/" "_"}}_{{ .name }} + readOnly: true + {{- end }} + {{- end }} +{{- if .Values.all.hardening.enabled}} + securityContext: + privileged: true + runAsUser: 0 # root + capabilities: + add: [ "ALL" ] + readOnlyRootFilesystem: false +{{- else }} + securityContext: + privileged: true +{{- end }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/_helpers.tpl b/charts/stackstate/stackstate-k8s-agent/templates/_helpers.tpl new file mode 100644 index 000000000..09a27fd6e --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/_helpers.tpl @@ -0,0 +1,175 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "stackstate-k8s-agent.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "stackstate-k8s-agent.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "stackstate-k8s-agent.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "stackstate-k8s-agent.labels" -}} +app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} +helm.sh/chart: {{ include "stackstate-k8s-agent.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Cluster agent checksum annotations +*/}} +{{- define "stackstate-k8s-agent.checksum-configs" }} +checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }} +{{- end }} + +{{/* +StackState URL function +*/}} +{{- define "stackstate-k8s-agent.stackstate.url" -}} +{{ tpl .Values.stackstate.url . | quote }} +{{- end }} + +{{- define "stackstate-k8s-agent.configmap.override.checksum" -}} +{{- if .Values.clusterAgent.config.override }} +checksum/override-configmap: {{ include (print $.Template.BasePath "/cluster-agent-configmap.yaml") . | sha256sum }} +{{- end }} +{{- end }} + +{{- define "stackstate-k8s-agent.nodeAgent.configmap.override.checksum" -}} +{{- if .Values.nodeAgent.config.override }} +checksum/override-configmap: {{ include (print $.Template.BasePath "/node-agent-configmap.yaml") . | sha256sum }} +{{- end }} +{{- end }} + +{{- define "stackstate-k8s-agent.logsAgent.configmap.override.checksum" -}} +checksum/override-configmap: {{ include (print $.Template.BasePath "/logs-agent-configmap.yaml") . | sha256sum }} +{{- end }} + +{{- define "stackstate-k8s-agent.checksAgent.configmap.override.checksum" -}} +{{- if .Values.checksAgent.config.override }} +checksum/override-configmap: {{ include (print $.Template.BasePath "/checks-agent-configmap.yaml") . | sha256sum }} +{{- end }} +{{- end }} + + +{{/* +Return the image registry +*/}} +{{- define "stackstate-k8s-agent.imageRegistry" -}} + {{- if .Values.global }} + {{- .Values.global.imageRegistry | default .Values.all.image.registry -}} + {{- else -}} + {{- .Values.all.image.registry -}} + {{- end -}} +{{- end -}} + +{{/* +Renders a value that contains a template. +Usage: +{{ include "stackstate-k8s-agent.tplvalue.render" ( dict "value" .Values.path.to.the.Value "context" $) }} +*/}} +{{- define "stackstate-k8s-agent.tplvalue.render" -}} + {{- if typeIs "string" .value }} + {{- tpl .value .context }} + {{- else }} + {{- tpl (.value | toYaml) .context }} + {{- end }} +{{- end -}} + +{{- define "stackstate-k8s-agent.pull-secret.name" -}} +{{ include "stackstate-k8s-agent.fullname" . }}-pull-secret +{{- end -}} + +{{/* +Return the proper Docker Image Registry Secret Names evaluating values as templates +{{ include "stackstate-k8s-agent.image.pullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $) }} +*/}} +{{- define "stackstate-k8s-agent.image.pullSecrets" -}} + {{- $pullSecrets := list }} + {{- $context := .context }} + {{- if $context.Values.global }} + {{- range $context.Values.global.imagePullSecrets -}} + {{/* Is plain array of strings, compatible with all bitnami charts */}} + {{- $pullSecrets = append $pullSecrets (include "stackstate-k8s-agent.tplvalue.render" (dict "value" . "context" $context)) -}} + {{- end -}} + {{- end -}} + {{- range $context.Values.imagePullSecrets -}} + {{- $pullSecrets = append $pullSecrets (include "stackstate-k8s-agent.tplvalue.render" (dict "value" .name "context" $context)) -}} + {{- end -}} + {{- range .images -}} + {{- if .pullSecretName -}} + {{- $pullSecrets = append $pullSecrets (include "stackstate-k8s-agent.tplvalue.render" (dict "value" .pullSecretName "context" $context)) -}} + {{- end -}} + {{- end -}} + {{- $pullSecrets = append $pullSecrets (include "stackstate-k8s-agent.pull-secret.name" $context) -}} + {{- if (not (empty $pullSecrets)) -}} +imagePullSecrets: + {{- range $pullSecrets | uniq }} + - name: {{ . }} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Check whether the kubernetes-state-metrics configuration is overridden. If so, return 'true' else return nothing (which is false). +{{ include "stackstate-k8s-agent.kube-state-metrics.overridden" $ }} +*/}} +{{- define "stackstate-k8s-agent.kube-state-metrics.overridden" -}} +{{- if .Values.clusterAgent.config.override }} + {{- range $i, $val := .Values.clusterAgent.config.override }} + {{- if and (eq $val.name "conf.yaml") (eq $val.path "/etc/stackstate-agent/conf.d/kubernetes_state.d") }} +true + {{- end }} + {{- end }} +{{- end }} +{{- end -}} + +{{- define "stackstate-k8s-agent.nodeAgent.kube-state-metrics.overridden" -}} +{{- if .Values.nodeAgent.config.override }} + {{- range $i, $val := .Values.nodeAgent.config.override }} + {{- if and (eq $val.name "auto_conf.yaml") (eq $val.path "/etc/stackstate-agent/conf.d/kubernetes_state.d") }} +true + {{- end }} + {{- end }} +{{- end }} +{{- end -}} + +{{/* +Return the appropriate os label +*/}} +{{- define "label.os" -}} +{{- if semverCompare "^1.14-0" .Capabilities.KubeVersion.GitVersion -}} +kubernetes.io/os +{{- else -}} +beta.kubernetes.io/os +{{- end -}} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-clusterrolebinding.yaml b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-clusterrolebinding.yaml new file mode 100644 index 000000000..9db8b0bc3 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-clusterrolebinding.yaml @@ -0,0 +1,18 @@ +{{- if .Values.checksAgent.enabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }}-checks-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: checks-agent +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Release.Name }}-node-agent +subjects: +- apiGroup: "" + kind: ServiceAccount + name: {{ .Release.Name }}-checks-agent + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-configmap.yaml b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-configmap.yaml new file mode 100644 index 000000000..faeefa1fc --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-configmap.yaml @@ -0,0 +1,14 @@ +{{- if and .Values.checksAgent.enabled .Values.checksAgent.config.override }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-checks-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: checks-agent +data: +{{- range .Values.checksAgent.config.override }} + {{ .path | replace "/" "_"}}_{{ .name }}: | +{{ .data | indent 4 -}} +{{- end -}} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-deployment.yaml b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-deployment.yaml new file mode 100644 index 000000000..376db4ddf --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-deployment.yaml @@ -0,0 +1,181 @@ +{{- if .Values.checksAgent.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-checks-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: checks-agent +spec: + selector: + matchLabels: + app.kubernetes.io/component: checks-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} + replicas: {{ .Values.checksAgent.replicas }} +{{- with .Values.checksAgent.strategy }} + strategy: + {{- toYaml . | nindent 4 }} +{{- end }} + template: + metadata: + annotations: + {{- include "stackstate-k8s-agent.checksum-configs" . | nindent 8 }} + {{- include "stackstate-k8s-agent.nodeAgent.configmap.override.checksum" . | nindent 8 }} + labels: + app.kubernetes.io/component: checks-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} + spec: + {{- include "stackstate-k8s-agent.image.pullSecrets" (dict "images" (list .Values.checksAgent.image .Values.all.image) "context" $) | nindent 6 }} + {{- if .Values.all.hardening.enabled}} + terminationGracePeriodSeconds: 240 + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: "{{ include "stackstate-k8s-agent.imageRegistry" . }}/{{ .Values.checksAgent.image.repository }}:{{ .Values.checksAgent.image.tag }}" + imagePullPolicy: "{{ .Values.checksAgent.image.pullPolicy }}" + {{- if .Values.all.hardening.enabled}} + lifecycle: + preStop: + exec: + command: [ "/bin/sh", "-c", "echo 'Giving slim.ai monitor time to submit data...'; sleep 120" ] + {{- end }} + env: + - name: STS_API_KEY + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-api-key + - name: KUBERNETES_HOSTNAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: STS_HOSTNAME + value: "$(KUBERNETES_HOSTNAME)-{{ .Values.stackstate.cluster.name}}" + - name: AGENT_VERSION + value: {{ .Values.checksAgent.image.tag | quote }} + - name: LOG_LEVEL + value: {{ .Values.checksAgent.logLevel | quote }} + - name: STS_APM_ENABLED + value: "false" + - name: STS_CLUSTER_AGENT_ENABLED + value: {{ .Values.clusterAgent.enabled | quote }} + {{- if .Values.clusterAgent.enabled }} + - name: STS_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME + value: {{ .Release.Name }}-cluster-agent + - name: STS_CLUSTER_AGENT_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-cluster-auth-token + {{- end }} + - name: STS_CLUSTER_NAME + value: {{ .Values.stackstate.cluster.name | quote }} + - name: STS_SKIP_VALIDATE_CLUSTERNAME + value: "true" + - name: STS_CHECKS_TAG_CARDINALITY + value: {{ .Values.checksAgent.checksTagCardinality | quote }} + - name: STS_EXTRA_CONFIG_PROVIDERS + value: "clusterchecks" + - name: STS_HEALTH_PORT + value: "5555" + - name: STS_LEADER_ELECTION + value: "false" + - name: STS_LOG_LEVEL + value: {{ .Values.checksAgent.logLevel | quote }} + - name: STS_NETWORK_TRACING_ENABLED + value: "false" + - name: STS_PROCESS_AGENT_ENABLED + value: "false" + - name: STS_SKIP_SSL_VALIDATION + value: {{ .Values.checksAgent.skipSslValidation | quote }} + - name: STS_STS_URL + value: {{ include "stackstate-k8s-agent.stackstate.url" . }} + {{- range $key, $value := .Values.global.extraEnv.open }} + - name: {{ $key }} + value: {{ $value | quote }} + {{- end }} + {{- range $key, $value := .Values.global.extraEnv.secret }} + - name: {{ $key }} + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: {{ $key }} + {{- end }} + livenessProbe: + httpGet: + path: /health + port: healthport + failureThreshold: {{ .Values.checksAgent.livenessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.checksAgent.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.checksAgent.livenessProbe.periodSeconds }} + successThreshold: {{ .Values.checksAgent.livenessProbe.successThreshold }} + timeoutSeconds: {{ .Values.checksAgent.livenessProbe.timeoutSeconds }} + readinessProbe: + httpGet: + path: /health + port: healthport + failureThreshold: {{ .Values.checksAgent.readinessProbe.failureThreshold }} + initialDelaySeconds: {{ .Values.checksAgent.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.checksAgent.readinessProbe.periodSeconds }} + successThreshold: {{ .Values.checksAgent.readinessProbe.successThreshold }} + timeoutSeconds: {{ .Values.checksAgent.readinessProbe.timeoutSeconds }} + ports: + - containerPort: 5555 + name: healthport + protocol: TCP + {{- if .Values.all.hardening.enabled}} + securityContext: + privileged: true + runAsUser: 0 # root + capabilities: + add: [ "ALL" ] + readOnlyRootFilesystem: false + {{- else }} + securityContext: + privileged: false + {{- end }} + {{- with .Values.checksAgent.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + - name: confd-empty-volume + mountPath: /etc/stackstate-agent/conf.d + readOnly: true + {{- if .Values.checksAgent.config.override }} + {{- range .Values.checksAgent.config.override }} + - name: config-override-volume + mountPath: {{ .path }}/{{ .name }} + subPath: {{ .path | replace "/" "_"}}_{{ .name }} + readOnly: true + {{- end }} + {{- end }} + {{- if .Values.checksAgent.priorityClassName }} + priorityClassName: {{ .Values.checksAgent.priorityClassName }} + {{- end }} + serviceAccountName: {{ .Release.Name }}-checks-agent + nodeSelector: + {{ template "label.os" . }}: {{ .Values.targetSystem }} + {{- with .Values.checksAgent.nodeSelector }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.checksAgent.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.checksAgent.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + - name: confd-empty-volume + emptyDir: {} + {{- if .Values.checksAgent.config.override }} + - name: config-override-volume + configMap: + name: {{ .Release.Name }}-checks-agent + {{- end }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-poddisruptionbudget.yaml b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-poddisruptionbudget.yaml new file mode 100644 index 000000000..7a9f1d8f9 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-poddisruptionbudget.yaml @@ -0,0 +1,20 @@ +{{- if .Values.checksAgent.enabled }} +{{- if .Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }} +apiVersion: policy/v1 +{{- else }} +apiVersion: policy/v1beta1 +{{- end }} +kind: PodDisruptionBudget +metadata: + name: {{ .Release.Name }}-checks-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: checks-agent +spec: + maxUnavailable: 1 + selector: + matchLabels: + app.kubernetes.io/component: checks-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-serviceaccount.yaml b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-serviceaccount.yaml new file mode 100644 index 000000000..444aad220 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/checks-agent-serviceaccount.yaml @@ -0,0 +1,14 @@ +{{- if .Values.checksAgent.enabled }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }}-checks-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: checks-agent +{{- end -}} +{{- with .Values.checksAgent.serviceaccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrole.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrole.yaml new file mode 100644 index 000000000..6a7b27d18 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrole.yaml @@ -0,0 +1,106 @@ +{{- $kubeRes := .Values.clusterAgent.collection.kubernetesResources }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +rules: +- apiGroups: + - "" + resources: + - events + - nodes + - pods + - services + {{- if $kubeRes.namespaces }} + - namespaces + {{- end }} + {{- if .Values.clusterAgent.collection.kubernetesMetrics }} + - componentstatuses + {{- end }} + {{- if $kubeRes.configmaps }} + - configmaps + {{- end }} + {{- if $kubeRes.endpoints }} + - endpoints + {{- end }} + {{- if $kubeRes.persistentvolumeclaims }} + - persistentvolumeclaims + {{- end }} + {{- if $kubeRes.persistentvolumes }} + - persistentvolumes + {{- end }} + {{- if $kubeRes.secrets }} + - secrets + {{- end }} + {{- if $kubeRes.resourcequotas }} + - resourcequotas + {{- end }} + verbs: + - get + - list + - watch +{{- if or $kubeRes.daemonsets $kubeRes.deployments $kubeRes.replicasets $kubeRes.statefulsets }} +- apiGroups: + - "apps" + resources: + {{- if $kubeRes.daemonsets }} + - daemonsets + {{- end }} + {{- if $kubeRes.deployments }} + - deployments + {{- end }} + {{- if $kubeRes.replicasets }} + - replicasets + {{- end }} + {{- if $kubeRes.statefulsets }} + - statefulsets + {{- end }} + verbs: + - get + - list + - watch +{{- end}} +{{- if $kubeRes.ingresses }} +- apiGroups: + - "extensions" + - "networking.k8s.io" + resources: + - ingresses + verbs: + - get + - list + - watch +{{- end}} +{{- if or $kubeRes.cronjobs $kubeRes.jobs }} +- apiGroups: + - "batch" + resources: + {{- if $kubeRes.cronjobs }} + - cronjobs + {{- end }} + {{- if $kubeRes.jobs }} + - jobs + {{- end }} + verbs: + - get + - list + - watch +{{- end}} +- nonResourceURLs: + - "/healthz" + - "/version" + verbs: + - get +- apiGroups: + - "storage.k8s.io" + resources: + {{- if $kubeRes.volumeattachments }} + - volumeattachments + {{- end }} + verbs: + - get + - list + - watch diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrolebinding.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrolebinding.yaml new file mode 100644 index 000000000..0b1bd37ea --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-clusterrolebinding.yaml @@ -0,0 +1,16 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "stackstate-k8s-agent.fullname" . }} +subjects: +- apiGroup: "" + kind: ServiceAccount + name: {{ include "stackstate-k8s-agent.fullname" . }} + namespace: {{ .Release.Namespace }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-configmap.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-configmap.yaml new file mode 100644 index 000000000..89273e11b --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-configmap.yaml @@ -0,0 +1,28 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-cluster-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +data: + kubernetes_api_events_conf: | + init_config: + instances: + - collect_events: {{ .Values.clusterAgent.collection.kubernetesEvents }} + event_categories:{{ .Values.clusterAgent.config.events.categories | toYaml | nindent 10 }} + kubernetes_api_topology_conf: | + init_config: + instances: + - collection_interval: {{ .Values.clusterAgent.config.topology.collectionInterval }} + resources:{{ .Values.clusterAgent.collection.kubernetesResources | toYaml | nindent 10 }} + {{- if .Values.clusterAgent.collection.kubeStateMetrics.enabled }} + kube_state_metrics_core_conf: | + {{- include "cluster-agent-kube-state-metrics" . | nindent 6 }} + {{- end }} +{{- if .Values.clusterAgent.config.override }} +{{- range .Values.clusterAgent.config.override }} + {{ .path | replace "/" "_"}}_{{ .name }}: | +{{ .data | indent 4 -}} +{{- end -}} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-deployment.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-deployment.yaml new file mode 100644 index 000000000..60c50803a --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-deployment.yaml @@ -0,0 +1,164 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-cluster-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +spec: + replicas: {{ .Values.clusterAgent.replicaCount }} + selector: + matchLabels: + app.kubernetes.io/component: cluster-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} +{{- with .Values.clusterAgent.strategy }} + strategy: + {{- toYaml . | nindent 4 }} +{{- end }} + template: + metadata: + annotations: + {{- include "stackstate-k8s-agent.checksum-configs" . | nindent 8 }} + {{- include "stackstate-k8s-agent.configmap.override.checksum" . | nindent 8 }} + labels: + app.kubernetes.io/component: cluster-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} + spec: + {{- include "stackstate-k8s-agent.image.pullSecrets" (dict "images" (list .Values.clusterAgent.image .Values.all.image) "context" $) | nindent 6 }} + {{- if .Values.clusterAgent.priorityClassName }} + priorityClassName: {{ .Values.clusterAgent.priorityClassName }} + {{- end }} + serviceAccountName: {{ include "stackstate-k8s-agent.fullname" . }} + {{- if .Values.all.hardening.enabled}} + terminationGracePeriodSeconds: 240 + {{- end }} + containers: + - name: cluster-agent + image: "{{ include "stackstate-k8s-agent.imageRegistry" . }}/{{ .Values.clusterAgent.image.repository }}:{{ .Values.clusterAgent.image.tag }}" + imagePullPolicy: "{{ .Values.clusterAgent.image.pullPolicy }}" + {{- if .Values.all.hardening.enabled}} + lifecycle: + preStop: + exec: + command: [ "/bin/sh", "-c", "echo 'Giving slim.ai monitor time to submit data...'; sleep 120" ] + {{- end }} + env: + - name: STS_API_KEY + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-api-key + - name: STS_CLUSTER_AGENT_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-cluster-auth-token + - name: KUBERNETES_HOSTNAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: STS_HOSTNAME + value: "$(KUBERNETES_HOSTNAME)-{{ .Values.stackstate.cluster.name}}" + - name: LOG_LEVEL + value: {{ .Values.clusterAgent.logLevel | quote }} + {{- if .Values.checksAgent.enabled }} + - name: STS_CLUSTER_CHECKS_ENABLED + value: "true" + - name: STS_EXTRA_CONFIG_PROVIDERS + value: "kube_endpoints kube_services" + - name: STS_EXTRA_LISTENERS + value: "kube_endpoints kube_services" + {{- end }} + - name: STS_CLUSTER_NAME + value: {{.Values.stackstate.cluster.name | quote }} + - name: STS_SKIP_VALIDATE_CLUSTERNAME + value: "true" + - name: STS_COLLECT_KUBERNETES_METRICS + value: {{ .Values.clusterAgent.collection.kubernetesMetrics | quote }} + - name: STS_COLLECT_KUBERNETES_TIMEOUT + value: {{ .Values.clusterAgent.collection.kubernetesTimeout | quote }} + - name: STS_COLLECT_KUBERNETES_TOPOLOGY + value: {{ .Values.clusterAgent.collection.kubernetesTopology | quote }} + - name: STS_LEADER_ELECTION + value: "true" + - name: STS_LOG_LEVEL + value: {{ .Values.clusterAgent.logLevel | quote }} + - name: STS_CLUSTER_AGENT_CMD_PORT + value: {{ .Values.clusterAgent.service.targetPort | quote }} + - name: STS_STS_URL + value: {{ include "stackstate-k8s-agent.stackstate.url" . }} + {{- if .Values.clusterAgent.config.configMap.maxDataSize }} + - name: STS_CONFIGMAP_MAX_DATASIZE + value: {{ .Values.clusterAgent.config.configMap.maxDataSize | quote }} + {{- end}} + {{- range $key, $value := .Values.global.extraEnv.open }} + - name: {{ $key }} + value: {{ $value | quote }} + {{- end }} + {{- range $key, $value := .Values.global.extraEnv.secret }} + - name: {{ $key }} + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: {{ $key }} + {{- end }} + {{- if .Values.all.hardening.enabled}} + securityContext: + privileged: true + runAsUser: 0 # root + capabilities: + add: [ "ALL" ] + readOnlyRootFilesystem: false + {{- else }} + securityContext: + privileged: false + {{- end }} + {{- with .Values.clusterAgent.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + - name: logs + mountPath: /var/log/stackstate-agent + - name: config-override-volume + mountPath: /etc/stackstate-agent/conf.d/kubernetes_api_events.d/conf.yaml + subPath: kubernetes_api_events_conf + - name: config-override-volume + mountPath: /etc/stackstate-agent/conf.d/kubernetes_api_topology.d/conf.yaml + subPath: kubernetes_api_topology_conf + readOnly: true + {{- if .Values.clusterAgent.collection.kubeStateMetrics.enabled }} + - name: config-override-volume + mountPath: /etc/stackstate-agent/conf.d/kubernetes_state_core.d/conf.yaml + subPath: kube_state_metrics_core_conf + readOnly: true + {{- end }} + {{- if .Values.clusterAgent.config.override }} + {{- range .Values.clusterAgent.config.override }} + - name: config-override-volume + mountPath: {{ .path }}/{{ .name }} + subPath: {{ .path | replace "/" "_"}}_{{ .name }} + readOnly: true + {{- end }} + {{- end }} + nodeSelector: + {{ template "label.os" . }}: {{ .Values.targetSystem }} + {{- with .Values.clusterAgent.nodeSelector }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.clusterAgent.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.clusterAgent.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + - name: logs + emptyDir: {} + - name: config-override-volume + configMap: + name: {{ .Release.Name }}-cluster-agent diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-poddisruptionbudget.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-poddisruptionbudget.yaml new file mode 100644 index 000000000..652fa63d9 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-poddisruptionbudget.yaml @@ -0,0 +1,18 @@ +{{- if .Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }} +apiVersion: policy/v1 +{{- else }} +apiVersion: policy/v1beta1 +{{- end }} +kind: PodDisruptionBudget +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +spec: + maxUnavailable: 1 + selector: + matchLabels: + app.kubernetes.io/component: cluster-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-role.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-role.yaml new file mode 100644 index 000000000..afe1594c1 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-role.yaml @@ -0,0 +1,18 @@ +{{- $kubeRes := .Values.clusterAgent.collection.kubernetesResources }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - get + - patch + - update diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-rolebinding.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-rolebinding.yaml new file mode 100644 index 000000000..befaa77f2 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-rolebinding.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "stackstate-k8s-agent.fullname" . }} +subjects: +- apiGroup: "" + kind: ServiceAccount + name: {{ include "stackstate-k8s-agent.fullname" . }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-service.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-service.yaml new file mode 100644 index 000000000..93c39aaba --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-service.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }}-cluster-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +spec: + ports: + - name: clusteragent + port: {{int .Values.clusterAgent.service.port }} + protocol: TCP + targetPort: {{int .Values.clusterAgent.service.targetPort }} + selector: + app.kubernetes.io/component: cluster-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-serviceaccount.yaml b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-serviceaccount.yaml new file mode 100644 index 000000000..ff7b7be35 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/cluster-agent-serviceaccount.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: cluster-agent +{{- with .Values.clusterAgent.serviceaccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrole.yaml b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrole.yaml new file mode 100644 index 000000000..70d70aa47 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrole.yaml @@ -0,0 +1,20 @@ +{{- if .Values.logsAgent.enabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Release.Name }}-logs-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: logs-agent +rules: +- apiGroups: # Kubelet connectivity + - "" + resources: + - nodes + - services + - pods + verbs: + - get + - watch + - list +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrolebinding.yaml b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrolebinding.yaml new file mode 100644 index 000000000..802c5d8c5 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-clusterrolebinding.yaml @@ -0,0 +1,18 @@ +{{- if .Values.logsAgent.enabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }}-logs-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: logs-agent +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Release.Name }}-logs-agent +subjects: +- apiGroup: "" + kind: ServiceAccount + name: {{ .Release.Name }}-logs-agent + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-configmap.yaml b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-configmap.yaml new file mode 100644 index 000000000..c934777ef --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-configmap.yaml @@ -0,0 +1,54 @@ +{{- if .Values.logsAgent.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-logs-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: logs-agent +data: + promtail.yaml: | + server: + http_listen_port: 9080 + grpc_listen_port: 0 + + clients: + - url: {{ tpl .Values.stackstate.url . }}/logs/k8s?api_key=${STS_API_KEY} + external_labels: + sts_cluster_name: {{ .Values.stackstate.cluster.name | quote }} + + positions: + filename: /tmp/positions.yaml + target_config: + sync_period: 10s + scrape_configs: + - job_name: pod-logs + kubernetes_sd_configs: + - role: pod + pipeline_stages: + - docker: {} + - cri: {} + relabel_configs: + - action: replace + source_labels: + - __meta_kubernetes_pod_name + target_label: pod_name + - action: replace + source_labels: + - __meta_kubernetes_pod_uid + target_label: pod_uid + - action: replace + source_labels: + - __meta_kubernetes_pod_container_name + target_label: container_name + # The __path__ is required by the promtail client + - replacement: /var/log/pods/*$1/*.log + separator: / + source_labels: + - __meta_kubernetes_pod_uid + - __meta_kubernetes_pod_container_name + target_label: __path__ + # Drop all remaining labels, we do not need those + - action: drop + regex: __meta_(.*) +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-daemonset.yaml b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-daemonset.yaml new file mode 100644 index 000000000..015cdba2a --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-daemonset.yaml @@ -0,0 +1,90 @@ +{{- if .Values.logsAgent.enabled }} +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ .Release.Name }}-logs-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: logs-agent +spec: + selector: + matchLabels: + app.kubernetes.io/component: logs-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} +{{- with .Values.logsAgent.updateStrategy }} + updateStrategy: + {{- toYaml . | nindent 4 }} +{{- end }} + template: + metadata: + annotations: + {{- include "stackstate-k8s-agent.checksum-configs" . | nindent 8 }} + {{- include "stackstate-k8s-agent.logsAgent.configmap.override.checksum" . | nindent 8 }} + labels: + app.kubernetes.io/component: logs-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} + spec: + {{- include "stackstate-k8s-agent.image.pullSecrets" (dict "images" (list .Values.logsAgent.image .Values.all.image) "context" $) | nindent 6 }} + containers: + - name: logs-agent + image: "{{ include "stackstate-k8s-agent.imageRegistry" . }}/{{ .Values.logsAgent.image.repository }}:{{ .Values.logsAgent.image.tag }}" + args: + - -config.expand-env=true + - -config.file=/etc/promtail/promtail.yaml + imagePullPolicy: "{{ .Values.logsAgent.image.pullPolicy }}" + env: + - name: STS_API_KEY + valueFrom: + secretKeyRef: + name: {{ include "stackstate-k8s-agent.fullname" . }} + key: sts-api-key + - name: "HOSTNAME" # needed when using kubernetes_sd_configs + valueFrom: + fieldRef: + fieldPath: "spec.nodeName" + securityContext: + privileged: false + {{- with .Values.logsAgent.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + volumeMounts: + - name: logs + mountPath: /var/log + readOnly: true + - name: logs-agent-config + mountPath: /etc/promtail + readOnly: true + - name: varlibdockercontainers + mountPath: /var/lib/docker/containers + readOnly: true + {{- if .Values.logsAgent.priorityClassName }} + priorityClassName: {{ .Values.logsAgent.priorityClassName }} + {{- end }} + serviceAccountName: {{ .Release.Name }}-logs-agent + {{- with .Values.logsAgent.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.logsAgent.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.logsAgent.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + - name: logs + hostPath: + path: /var/log + - name: varlibdockercontainers + hostPath: + path: /var/lib/docker/containers + - name: logs-agent-config + configMap: + name: {{ .Release.Name }}-logs-agent +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-serviceaccount.yaml b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-serviceaccount.yaml new file mode 100644 index 000000000..e562c04e4 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/logs-agent-serviceaccount.yaml @@ -0,0 +1,14 @@ +{{- if .Values.logsAgent.enabled }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }}-logs-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: logs-agent +{{- with .Values.logsAgent.serviceaccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} +{{- end }} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrole.yaml b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrole.yaml new file mode 100644 index 000000000..11a53c6ed --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrole.yaml @@ -0,0 +1,18 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Release.Name }}-node-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: node-agent +rules: +- apiGroups: # Kubelet connectivity + - "" + resources: + - nodes/metrics + - nodes/proxy + - nodes/spec + - endpoints + verbs: + - get + - list diff --git a/charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrolebinding.yaml b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrolebinding.yaml new file mode 100644 index 000000000..8a33cb0bc --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-clusterrolebinding.yaml @@ -0,0 +1,16 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }}-node-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: node-agent +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ .Release.Name }}-node-agent +subjects: +- apiGroup: "" + kind: ServiceAccount + name: {{ .Release.Name }}-node-agent + namespace: {{ .Release.Namespace }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/node-agent-configmap.yaml b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-configmap.yaml new file mode 100644 index 000000000..8fdd99258 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-configmap.yaml @@ -0,0 +1,14 @@ +{{- if .Values.nodeAgent.config.override }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-node-agent + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: node-agent +data: +{{- range .Values.nodeAgent.config.override }} + {{ .path | replace "/" "_"}}_{{ .name }}: | +{{ .data | indent 4 -}} +{{- end -}} +{{- end -}} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/node-agent-daemonset.yaml b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-daemonset.yaml new file mode 100644 index 000000000..d10182508 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-daemonset.yaml @@ -0,0 +1,101 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ .Release.Name }}-node-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: node-agent +spec: + selector: + matchLabels: + app.kubernetes.io/component: node-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} +{{- with .Values.nodeAgent.updateStrategy }} + updateStrategy: + {{- toYaml . | nindent 4 }} +{{- end }} + template: + metadata: + annotations: + {{- include "stackstate-k8s-agent.checksum-configs" . | nindent 8 }} + {{- include "stackstate-k8s-agent.nodeAgent.configmap.override.checksum" . | nindent 8 }} + labels: + app.kubernetes.io/component: node-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} + spec: + {{- include "stackstate-k8s-agent.image.pullSecrets" (dict "images" (list .Values.nodeAgent.containers.agent.image .Values.all.image) "context" $) | nindent 6 }} + {{- if .Values.all.hardening.enabled}} + terminationGracePeriodSeconds: 240 + {{- end }} + containers: + {{- include "container-agent" . | nindent 6 }} + {{- if .Values.nodeAgent.containers.processAgent.enabled }} + {{- include "container-process-agent" . | nindent 6 }} + {{- end }} + dnsPolicy: ClusterFirstWithHostNet + hostNetwork: true + hostPID: true + {{- if .Values.nodeAgent.priorityClassName }} + priorityClassName: {{ .Values.nodeAgent.priorityClassName }} + {{- end }} + serviceAccountName: {{ .Release.Name }}-node-agent + nodeSelector: + {{ template "label.os" . }}: {{ .Values.targetSystem }} + {{- with .Values.nodeAgent.nodeSelector }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeAgent.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeAgent.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumes: + {{- if .Values.nodeAgent.containerRuntime.customSocketPath }} + - hostPath: + path: {{ .Values.nodeAgent.containerRuntime.customSocketPath }} + name: customcrisocket + {{- end }} + - hostPath: + path: /var/lib/kubelet + name: kubelet + - hostPath: + path: /var/lib/nfs + name: nfs + - hostPath: + path: /var/lib/docker/overlay2 + name: dockeroverlay2 + - hostPath: + path: /run/docker/netns + name: dockernetns + - hostPath: + path: /var/run/crio/crio.sock + name: crisocket + - hostPath: + path: /var/run/containerd/containerd.sock + name: containerdsocket + - hostPath: + path: /sys/kernel/debug + name: sys-kernel-debug + - hostPath: + path: /var/run/docker.sock + name: dockersocket + - hostPath: + path: {{ .Values.nodeAgent.containerRuntime.hostProc }} + name: procdir + - hostPath: + path: /etc/passwd + name: passwd + - hostPath: + path: /sys/fs/cgroup + name: cgroups + {{- if .Values.nodeAgent.config.override }} + - name: config-override-volume + configMap: + name: {{ .Release.Name }}-node-agent + {{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/node-agent-scc.yaml b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-scc.yaml new file mode 100644 index 000000000..562a099c7 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-scc.yaml @@ -0,0 +1,56 @@ +{{- if .Values.nodeAgent.scc.enabled }} +allowHostDirVolumePlugin: true +# was true +allowHostIPC: true +# was true +allowHostNetwork: true +# Allow host PID for dogstatsd origin detection +allowHostPID: true +# Allow host ports for dsd / trace / logs intake +allowHostPorts: true +allowPrivilegeEscalation: true +# was true +allowPrivilegedContainer: true +# was - '*' +allowedCapabilities: [] +allowedUnsafeSysctls: +- '*' +apiVersion: security.openshift.io/v1 +defaultAddCapabilities: null +fsGroup: +# was RunAsAny + type: MustRunAs +groups: [] +kind: SecurityContextConstraints +metadata: + name: {{ .Release.Name }}-node-agent + namespace: {{ .Release.Namespace }} +priority: null +readOnlyRootFilesystem: false +requiredDropCapabilities: null +# was RunAsAny +runAsUser: + type: MustRunAsRange +# Use the `spc_t` selinux type to access the +# docker socket + proc and cgroup stats +seLinuxContext: + type: RunAsAny + seLinuxOptions: + user: "system_u" + role: "system_r" + type: "spc_t" + level: "s0" +# was - '*' +seccompProfiles: [] +supplementalGroups: + type: RunAsAny +users: +- system:serviceaccount:{{ .Release.Namespace }}:{{ .Release.Name }}-node-agent +# Allow hostPath for docker / process metrics +volumes: + - configMap + - downwardAPI + - emptyDir + - hostPath + - secret +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/node-agent-service.yaml b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-service.yaml new file mode 100644 index 000000000..ad5ad71ce --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-service.yaml @@ -0,0 +1,26 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }}-node-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: node-agent +{{- with .Values.nodeAgent.service.annotations }} + annotations: + {{- toYaml . | nindent 4 }} +{{- end }} +spec: + type: {{ .Values.nodeAgent.service.type }} +{{- if eq .Values.nodeAgent.service.type "LoadBalancer" }} + loadBalancerSourceRanges: {{ toYaml .Values.nodeAgent.service.loadBalancerSourceRanges | nindent 4}} +{{- end }} + ports: + - name: traceport + port: 8126 + protocol: TCP + targetPort: 8126 + selector: + app.kubernetes.io/component: node-agent + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/name: {{ include "stackstate-k8s-agent.name" . }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/node-agent-serviceaccount.yaml b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-serviceaccount.yaml new file mode 100644 index 000000000..935fa9674 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/node-agent-serviceaccount.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }}-node-agent + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} + app.kubernetes.io/component: node-agent +{{- with .Values.nodeAgent.serviceaccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/openshift-logging-secret.yaml b/charts/stackstate/stackstate-k8s-agent/templates/openshift-logging-secret.yaml new file mode 100644 index 000000000..df813afe2 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/openshift-logging-secret.yaml @@ -0,0 +1,17 @@ +{{- if .Values.openShiftLogging.installSecret }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }}-logging-secret + namespace: openshift-logging + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} +type: Opaque +data: + username: {{ "apikey" | b64enc | quote }} +{{- if .Values.global.receiverApiKey }} + password: {{ .Values.global.receiverApiKey | b64enc | quote }} +{{- else }} + password: {{ .Values.stackstate.apiKey | b64enc | quote }} +{{- end }} +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/templates/pull-secret.yaml b/charts/stackstate/stackstate-k8s-agent/templates/pull-secret.yaml new file mode 100644 index 000000000..441a42a15 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/pull-secret.yaml @@ -0,0 +1,35 @@ +{{- $defaultRegistry := .Values.global.imageRegistry }} +{{- $top := . }} +{{- $registryAuthMap := dict }} + +{{- range $registry, $credentials := .Values.global.imagePullCredentials }} + {{- $registryAuthDocument := dict -}} + {{- $_ := set $registryAuthDocument "username" $credentials.username }} + {{- $_ := set $registryAuthDocument "password" $credentials.password }} + {{- $authMessage := printf "%s:%s" $registryAuthDocument.username $registryAuthDocument.password | b64enc }} + {{- $_ := set $registryAuthDocument "auth" $authMessage }} + {{- if eq $registry "default" }} + {{- $registryAuthMap := set $registryAuthMap (include "stackstate-k8s-agent.imageRegistry" $top) $registryAuthDocument }} + {{ else }} + {{- $registryAuthMap := set $registryAuthMap $registry $registryAuthDocument }} + {{- end }} +{{- end }} + +{{- if .Values.all.image.pullSecretUsername }} + {{- $registryAuthDocument := dict -}} + {{- $_ := set $registryAuthDocument "username" .Values.all.image.pullSecretUsername }} + {{- $_ := set $registryAuthDocument "password" .Values.all.image.pullSecretPassword }} + {{- $authMessage := printf "%s:%s" $registryAuthDocument.username $registryAuthDocument.password | b64enc }} + {{- $_ := set $registryAuthDocument "auth" $authMessage }} + {{- $registryAuthMap := set $registryAuthMap (include "stackstate-k8s-agent.imageRegistry" $top) $registryAuthDocument }} +{{- end }} + +{{- $dockerAuthsDocuments := dict "auths" $registryAuthMap }} + +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "stackstate-k8s-agent.pull-secret.name" . }} +data: + .dockerconfigjson: {{ $dockerAuthsDocuments | toJson | b64enc | quote }} +type: kubernetes.io/dockerconfigjson diff --git a/charts/stackstate/stackstate-k8s-agent/templates/secret.yaml b/charts/stackstate/stackstate-k8s-agent/templates/secret.yaml new file mode 100644 index 000000000..31057ccf3 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/templates/secret.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "stackstate-k8s-agent.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: +{{ include "stackstate-k8s-agent.labels" . | indent 4 }} +type: Opaque +data: +{{- if .Values.global.receiverApiKey }} + sts-api-key: {{ .Values.global.receiverApiKey | b64enc | quote }} +{{- else }} + sts-api-key: {{ .Values.stackstate.apiKey | b64enc | quote }} +{{- end }} +{{- if .Values.stackstate.cluster.authToken }} + sts-cluster-auth-token: {{ .Values.stackstate.cluster.authToken | b64enc | quote }} +{{- else }} + sts-cluster-auth-token: {{ randAlphaNum 32 | b64enc | quote }} +{{- end }} +{{- range $key, $value := .Values.global.extraEnv.secret }} + {{ $key }}: {{ $value | b64enc | quote }} +{{- end }} diff --git a/charts/stackstate/stackstate-k8s-agent/test/clusteragent_resources_test.go b/charts/stackstate/stackstate-k8s-agent/test/clusteragent_resources_test.go new file mode 100644 index 000000000..25875e871 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/clusteragent_resources_test.go @@ -0,0 +1,145 @@ +package test + +import ( + "regexp" + "strings" + "testing" + + v1 "k8s.io/api/rbac/v1" + + "github.com/stretchr/testify/assert" + "gitlab.com/StackVista/DevOps/helm-charts/helmtestutil" +) + +var requiredRules = []string{ + "events+get,list,watch", + "nodes+get,list,watch", + "pods+get,list,watch", + "services+get,list,watch", + "configmaps+create,get,patch,update", +} + +var optionalRules = []string{ + "namespaces+get,list,watch", + "componentstatuses+get,list,watch", + "configmaps+list,watch", // get is already required + "endpoints+get,list,watch", + "persistentvolumeclaims+get,list,watch", + "persistentvolumes+get,list,watch", + "secrets+get,list,watch", + "apps/daemonsets+get,list,watch", + "apps/deployments+get,list,watch", + "apps/replicasets+get,list,watch", + "apps/statefulsets+get,list,watch", + "extensions/ingresses+get,list,watch", + "batch/cronjobs+get,list,watch", + "batch/jobs+get,list,watch", +} + +var roleDescriptionRegexp = regexp.MustCompile(`^((?P\w+)/)?(?P\w+)\+(?P[\w,]+)`) + +type Rule struct { + Group string + ResourceName string + Verb string +} + +func assertRuleExistence(t *testing.T, rules []v1.PolicyRule, roleDescription string, shouldBePresent bool) { + match := roleDescriptionRegexp.FindStringSubmatch(roleDescription) + assert.NotNil(t, match) + + var roleRules []Rule + for _, rule := range rules { + for _, group := range rule.APIGroups { + for _, resource := range rule.Resources { + for _, verb := range rule.Verbs { + roleRules = append(roleRules, Rule{group, resource, verb}) + } + } + } + } + + resGroup := match[roleDescriptionRegexp.SubexpIndex("group")] + resName := match[roleDescriptionRegexp.SubexpIndex("name")] + verbs := strings.Split(match[roleDescriptionRegexp.SubexpIndex("verbs")], ",") + + for _, verb := range verbs { + requiredRule := Rule{resGroup, resName, verb} + found := false + for _, rule := range roleRules { + if rule == requiredRule { + found = true + break + } + } + if shouldBePresent { + assert.Truef(t, found, "Rule %v has not been found", requiredRule) + } else { + assert.Falsef(t, found, "Rule %v should not be present", requiredRule) + } + } +} + +func TestAllResourcesAreEnabled(t *testing.T) { + output := helmtestutil.RenderHelmTemplate(t, "stackstate-k8s-agent", "values/minimal.yaml") + resources := helmtestutil.NewKubernetesResources(t, output) + + assert.Contains(t, resources.ClusterRoles, "stackstate-k8s-agent") + assert.Contains(t, resources.Roles, "stackstate-k8s-agent") + rules := resources.ClusterRoles["stackstate-k8s-agent"].Rules + rules = append(rules, resources.Roles["stackstate-k8s-agent"].Rules...) + + for _, requiredRole := range requiredRules { + assertRuleExistence(t, rules, requiredRole, true) + } + // be default, everything is enabled, so all the optional roles should be present as well + for _, optionalRule := range optionalRules { + assertRuleExistence(t, rules, optionalRule, true) + } +} + +func TestMostOfResourcesAreDisabled(t *testing.T) { + output := helmtestutil.RenderHelmTemplate(t, "stackstate-k8s-agent", "values/minimal.yaml", "values/disable-all-resource.yaml") + resources := helmtestutil.NewKubernetesResources(t, output) + + assert.Contains(t, resources.ClusterRoles, "stackstate-k8s-agent") + assert.Contains(t, resources.Roles, "stackstate-k8s-agent") + rules := resources.ClusterRoles["stackstate-k8s-agent"].Rules + rules = append(rules, resources.Roles["stackstate-k8s-agent"].Rules...) + + for _, requiredRole := range requiredRules { + assertRuleExistence(t, rules, requiredRole, true) + } + + // we expect all optional resources to be removed from ClusterRole with the given values + for _, optionalRule := range optionalRules { + assertRuleExistence(t, rules, optionalRule, false) + } +} + +func TestNoClusterWideModificationRights(t *testing.T) { + output := helmtestutil.RenderHelmTemplate(t, "stackstate-k8s-agent", "values/minimal.yaml", "values/http-header-injector.yaml") + resources := helmtestutil.NewKubernetesResources(t, output) + assert.Contains(t, resources.ClusterRoles, "stackstate-k8s-agent") + illegalVerbs := []string{"create", "patch", "update", "delete"} + + for _, clusterRole := range resources.ClusterRoles { + for _, rule := range clusterRole.Rules { + for _, verb := range rule.Verbs { + assert.NotContains(t, illegalVerbs, verb, "ClusterRole %s should not have %s verb for %s resource", clusterRole.Name, verb, rule.Resources) + } + } + } +} + +func TestServicePortChange(t *testing.T) { + output := helmtestutil.RenderHelmTemplate(t, "stackstate-k8s-agent", "values/minimal.yaml", "values/clustercheck_service_port_override.yaml") + resources := helmtestutil.NewKubernetesResources(t, output) + + cluster_agent_service := resources.Services["stackstate-k8s-agent-cluster-agent"] + + port := cluster_agent_service.Spec.Ports[0] + assert.Equal(t, port.Name, "clusteragent") + assert.Equal(t, port.Port, int32(8008)) + assert.Equal(t, port.TargetPort.IntVal, int32(9009)) +} diff --git a/charts/stackstate/stackstate-k8s-agent/test/clustername_test.go b/charts/stackstate/stackstate-k8s-agent/test/clustername_test.go new file mode 100644 index 000000000..55090b995 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/clustername_test.go @@ -0,0 +1,54 @@ +package test + +import ( + "testing" + + "github.com/gruntwork-io/terratest/modules/helm" + "github.com/stretchr/testify/assert" + + "gitlab.com/StackVista/DevOps/helm-charts/helmtestutil" +) + +func TestHelmBasicRender(t *testing.T) { + output := helmtestutil.RenderHelmTemplate(t, "stackstate-k8s-agent", "values/minimal.yaml") + + // Parse all resources into their corresponding types for validation and further inspection + helmtestutil.NewKubernetesResources(t, output) +} + +func TestClusterNameValidation(t *testing.T) { + testCases := []struct { + Name string + ClusterName string + IsValid bool + }{ + {"not allowed end with special character [.]", "name.", false}, + {"not allowed end with special character [-]", "name.", false}, + {"not allowed start with special character [-]", "-name", false}, + {"not allowed start with special character [.]", ".name", false}, + {"upper case is not allowed", "Euwest1-prod.cool-company.com", false}, + {"upper case is not allowed", "euwest1-PROD.cool-company.com", false}, + {"upper case is not allowed", "euwest1-prod.cool-company.coM", false}, + {"dots and dashes are allowed in the middle", "euwest1-prod.cool-company.com", true}, + {"underscore is not allowed", "why_7", false}, + } + + for _, testCase := range testCases { + t.Run(testCase.Name, func(t *testing.T) { + output, err := helmtestutil.RenderHelmTemplateOpts( + t, "cluster-agent", + &helm.Options{ + ValuesFiles: []string{"values/minimal.yaml"}, + SetStrValues: map[string]string{ + "stackstate.cluster.name": testCase.ClusterName, + }, + }) + if testCase.IsValid { + assert.Nil(t, err) + } else { + assert.NotNil(t, err) + assert.Contains(t, output, "stackstate.cluster.name: Does not match pattern") + } + }) + } +} diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_custom_url.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_custom_url.yaml new file mode 100644 index 000000000..57b973eed --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_custom_url.yaml @@ -0,0 +1,7 @@ +checksAgent: + enabled: true + kubeStateMetrics: + url: http://my-custom-ksm-url.monitoring.svc.local:8080/metrics +dependencies: + kubeStateMetrics: + enabled: true diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_no_override.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_no_override.yaml new file mode 100644 index 000000000..b6c817d47 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_no_override.yaml @@ -0,0 +1,5 @@ +checksAgent: + enabled: true +dependencies: + kubeStateMetrics: + enabled: true diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_override.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_override.yaml new file mode 100644 index 000000000..9ca201345 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_ksm_override.yaml @@ -0,0 +1,26 @@ +checksAgent: + enabled: true +dependencies: + kubeStateMetrics: + enabled: true +agent: + config: + override: +# agent.config.override -- Disables kubernetes_state check on regular agent pods. + - name: auto_conf.yaml + path: /etc/stackstate-agent/conf.d/kubernetes_state.d + data: | +clusterAgent: + config: + override: +# clusterAgent.config.override -- Defines kubernetes_state check for clusterchecks agents. Auto-discovery +# with ad_identifiers does not work here. Use a specific URL instead. + - name: conf.yaml + path: /etc/stackstate-agent/conf.d/kubernetes_state.d + data: | + cluster_check: true + + init_config: + + instances: + - kube_state_url: http://YOUR_KUBE_STATE_METRICS_SERVICE_NAME:8080/metrics diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_no_ksm_custom_url.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_no_ksm_custom_url.yaml new file mode 100644 index 000000000..a62691878 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_no_ksm_custom_url.yaml @@ -0,0 +1,7 @@ +checksAgent: + enabled: true + kubeStateMetrics: + url: http://my-custom-ksm-url.monitoring.svc.local:8080/metrics +dependencies: + kubeStateMetrics: + enabled: false diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_service_port_override.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_service_port_override.yaml new file mode 100644 index 000000000..c01a98fcb --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/clustercheck_service_port_override.yaml @@ -0,0 +1,4 @@ +clusterAgent: + service: + port: 8008 + targetPort: 9009 diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/disable-all-resource.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/disable-all-resource.yaml new file mode 100644 index 000000000..cd33e843e --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/disable-all-resource.yaml @@ -0,0 +1,17 @@ +clusterAgent: + collection: + kubernetesMetrics: false + kubernetesResources: + namespaces: false + configmaps: false + endpoints: false + persistentvolumes: false + persistentvolumeclaims: false + secrets: false + daemonsets: false + deployments: false + replicasets: false + statefulsets: false + ingresses: false + cronjobs: false + jobs: false diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/http-header-injector.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/http-header-injector.yaml new file mode 100644 index 000000000..c9392ce2d --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/http-header-injector.yaml @@ -0,0 +1,8 @@ +httpHeaderInjectorWebhook: + webhook: + tls: + mode: "provided" + provided: + caBundle: insert-ca-here + crt: insert-cert-here + key: insert-key-here diff --git a/charts/stackstate/stackstate-k8s-agent/test/values/minimal.yaml b/charts/stackstate/stackstate-k8s-agent/test/values/minimal.yaml new file mode 100644 index 000000000..b310c9a09 --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/test/values/minimal.yaml @@ -0,0 +1,7 @@ +stackstate: + apiKey: foobar + cluster: + name: some-k8s-cluster + token: some-token + + url: https://stackstate:7000/receiver diff --git a/charts/stackstate/stackstate-k8s-agent/values.schema.json b/charts/stackstate/stackstate-k8s-agent/values.schema.json new file mode 100644 index 000000000..2b977af3d --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/values.schema.json @@ -0,0 +1,79 @@ +{ + "$schema": "https://json-schema.org/draft/2019-09/schema", + "$id": "https://stackstate.io/example.json", + "type": "object", + "default": {}, + "title": "StackState Agent Helm chart values", + "required": [ + "stackstate", + "clusterAgent" + ], + "properties": { + "stackstate": { + "type": "object", + "required": [ + "apiKey", + "cluster", + "url" + ], + "properties": { + "apiKey": { + "type": "string" + }, + "cluster": { + "type": "object", + "required": ["name"], + "properties": { + "name": { + "type": "string", + "pattern": "^[a-z0-9]([a-z0-9\\-\\.]*[a-z0-9])$" + }, + "authToken": { + "type": "string" + } + } + }, + "url": { + "type": "string" + } + } + }, + "clusterAgent": { + "type": "object", + "required": [ + "config" + ], + "properties": { + "config": { + "type": "object", + "required": [ + "events" + ], + "properties": { + "events": { + "type": "object", + "properties": { + "categories": { + "type": "object", + "patternProperties": { + ".*": { + "type": [ + "string" + ], + "enum": [ + "Alerts", + "Activities", + "Changes", + "Others" + ] + } + } + } + } + } + } + } + } + } + } +} diff --git a/charts/stackstate/stackstate-k8s-agent/values.yaml b/charts/stackstate/stackstate-k8s-agent/values.yaml new file mode 100644 index 000000000..8dc0cb14f --- /dev/null +++ b/charts/stackstate/stackstate-k8s-agent/values.yaml @@ -0,0 +1,545 @@ +##################### +# General variables # +##################### + +global: + extraEnv: + # global.extraEnv.open -- Extra open environment variables to inject into pods. + open: {} + # global.extraEnv.secret -- Extra secret environment variables to inject into pods via a `Secret` object. + secret: {} + # global.imagePullSecrets -- Secrets / credentials needed for container image registry. + imagePullSecrets: [] + # global.imagePullCredentials -- Globally define credentials for pulling images. + imagePullCredentials: {} + +# nameOverride -- Override the name of the chart. +nameOverride: "" +# fullnameOverride -- Override the fullname of the chart. +fullnameOverride: "" + +# targetSystem -- Target OS for this deployment (possible values: linux) +targetSystem: "linux" + +all: + image: + # all.image.registry -- The image registry to use. + registry: "quay.io" + hardening: + # all.hardening.enabled -- An indication of whether the containers will be evaluated for hardening at runtime + enabled: false + +nodeAgent: + containerRuntime: + # nodeAgent.containerRuntime.customSocketPath -- If the container socket path does not match the default for CRI-O, Containerd or Docker, supply a custom socket path. + customSocketPath: "" + # nodeAgent.containerRuntime.customHostProc -- If the container is launched from a place where /proc is mounted differently, /proc can be changed + hostProc: /proc + + scc: + # nodeAgent.scc.enabled -- Enable / disable the installation of the SecurityContextConfiguration needed for installation on OpenShift. + enabled: false + apm: + # nodeAgent.apm.enabled -- Enable / disable the nodeAgent APM module. + enabled: true + networkTracing: + # nodeAgent.networkTracing.enabled -- Enable / disable the nodeAgent network tracing module. + enabled: true + protocolInspection: + # nodeAgent.protocolInspection.enabled -- Enable / disable the nodeAgent protocol inspection. + enabled: true + httpTracing: + enabled: true + # nodeAgent.skipSslValidation -- Set to true if self signed certificates are used. + skipSslValidation: false + # nodeAgent.skipKubeletTLSVerify -- Set to true if you want to skip kubelet tls verification. + skipKubeletTLSVerify: false + + # nodeAgent.checksTagCardinality -- low, orchestrator or high. Orchestrator level adds pod_name, high adds display_container_name + checksTagCardinality: orchestrator + + # nodeAgent.config -- + config: + # nodeAgent.config.override -- A list of objects containing three keys `name`, `path` and `data`, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap + override: [] + + # nodeAgent.priorityClassName -- Priority class for nodeAgent pods. + priorityClassName: "" + + containers: + + agent: + image: + # nodeAgent.containers.agent.image.repository -- Base container image repository. + repository: stackstate/stackstate-k8s-agent + # nodeAgent.containers.agent.image.tag -- Default container image tag. + tag: "e36d1c88" + # nodeAgent.containers.agent.image.pullPolicy -- Default container image pull policy. + pullPolicy: IfNotPresent + processAgent: + # nodeAgent.containers.agent.processAgent.enabled -- Enable / disable the agent process agent module. - deprecated + enabled: false + # nodeAgent.containers.agent.env -- Additional environment variables for the agent container + env: {} + # nodeAgent.containers.agent.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off + ## If not set, fall back to the value of agent.logLevel. + logLevel: # INFO + + resources: + limits: + # nodeAgent.containers.agent.resources.limits.cpu -- CPU resource limits. + cpu: "270m" + # nodeAgent.containers.agent.resources.limits.cpu -- Memory resource limits. + memory: "420Mi" + requests: + # nodeAgent.containers.agent.resources.requests.cpu -- CPU resource requests. + cpu: "20m" + # nodeAgent.containers.agent.resources.requests.cpu -- Memory resource requests. + memory: "180Mi" + livenessProbe: + # nodeAgent.containers.agent.livenessProbe.enabled -- Enable use of livenessProbe check. + enabled: true + # nodeAgent.containers.agent.livenessProbe.failureThreshold -- `failureThreshold` for the liveness probe. + failureThreshold: 3 + # nodeAgent.containers.agent.livenessProbe.initialDelaySeconds -- `initialDelaySeconds` for the liveness probe. + initialDelaySeconds: 15 + # nodeAgent.containers.agent.livenessProbe.periodSeconds -- `periodSeconds` for the liveness probe. + periodSeconds: 15 + # nodeAgent.containers.agent.livenessProbe.successThreshold -- `successThreshold` for the liveness probe. + successThreshold: 1 + # nodeAgent.containers.agent.livenessProbe.timeoutSeconds -- `timeoutSeconds` for the liveness probe. + timeoutSeconds: 5 + readinessProbe: + # nodeAgent.containers.agent.readinessProbe.enabled -- Enable use of readinessProbe check. + enabled: true + # nodeAgent.containers.agent.readinessProbe.failureThreshold -- `failureThreshold` for the readiness probe. + failureThreshold: 3 + # nodeAgent.containers.agent.readinessProbe.initialDelaySeconds -- `initialDelaySeconds` for the readiness probe. + initialDelaySeconds: 15 + # nodeAgent.containers.agent.readinessProbe.periodSeconds -- `periodSeconds` for the readiness probe. + periodSeconds: 15 + # nodeAgent.containers.agent.readinessProbe.successThreshold -- `successThreshold` for the readiness probe. + successThreshold: 1 + # nodeAgent.containers.agent.readinessProbe.timeoutSeconds -- `timeoutSeconds` for the readiness probe. + timeoutSeconds: 5 + + processAgent: + # nodeAgent.containers.processAgent.enabled -- Enable / disable the process agent container. + enabled: true + image: + # Override to pull the image from an alternate registry + registry: + # nodeAgent.containers.processAgent.image.repository -- Process-agent container image repository. + repository: stackstate/stackstate-k8s-process-agent + # nodeAgent.containers.processAgent.image.tag -- Default process-agent container image tag. + tag: "c9dbfd73" + # nodeAgent.containers.processAgent.image.pullPolicy -- Process-agent container image pull policy. + pullPolicy: IfNotPresent + # nodeAgent.containers.processAgent.env -- Additional environment variables for the process-agent container + env: {} + # nodeAgent.containers.processAgent.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off + ## If not set, fall back to the value of agent.logLevel. + logLevel: # INFO + + resources: + limits: + # nodeAgent.containers.processAgent.resources.limits.cpu -- CPU resource limits. + cpu: "125m" + # nodeAgent.containers.processAgent.resources.limits.cpu -- Memory resource limits. + memory: "400Mi" + requests: + # nodeAgent.containers.processAgent.resources.requests.cpu -- CPU resource requests. + cpu: "25m" + # nodeAgent.containers.processAgent.resources.requests.cpu -- Memory resource requests. + memory: "128Mi" + # nodeAgent.service -- The Kubernetes service for the agent + service: + # nodeAgent.service.type -- Type of Kubernetes service: ClusterIP, LoadBalancer, NodePort + type: ClusterIP + # nodeAgent.service.annotations -- Annotations for the service + annotations: {} + # nodeAgent.service.loadBalancerSourceRanges -- The IP4 CIDR allowed to reach LoadBalancer for the service. For LoadBalancer type of service only. + loadBalancerSourceRanges: ["10.0.0.0/8"] + + # nodeAgent.logLevel -- Logging level for agent processes. + logLevel: INFO + + # nodeAgent.updateStrategy -- The update strategy for the DaemonSet object. + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 100 + + # nodeAgent.nodeSelector -- Node labels for pod assignment. + nodeSelector: {} + + # nodeAgent.tolerations -- Toleration labels for pod assignment. + tolerations: [] + + # nodeAgent.affinity -- Affinity settings for pod assignment. + affinity: {} + + serviceaccount: + # nodeAgent.serviceaccount.annotations -- Annotations for the service account for the agent daemonset pods + annotations: {} + +processAgent: + checkIntervals: + # processAgent.checkIntervals.container -- Override the default value of the container check interval in seconds. + container: 30 + # processAgent.checkIntervals.connections -- Override the default value of the connections check interval in seconds. + connections: 30 + # processAgent.checkIntervals.process -- Override the default value of the process check interval in seconds. + process: 30 + +clusterAgent: + collection: + # clusterAgent.collection.kubernetesEvents -- Enable / disable the cluster agent events collection. + kubernetesEvents: true + # clusterAgent.collection.kubernetesMetrics -- Enable / disable the cluster agent metrics collection. + kubernetesMetrics: true + # clusterAgent.collection.kubernetesTimeout -- Default timeout (in seconds) when obtaining information from the Kubernetes API. + kubernetesTimeout: 10 + # clusterAgent.collection.kubernetesTopology -- Enable / disable the cluster agent topology collection. + kubernetesTopology: true + kubeStateMetrics: + # clusterAgent.collection.kubeStateMetrics.enabled -- Enable / disable the cluster agent kube-state-metrics collection. + enabled: true + # clusterAgent.collection.kubeStateMetrics.clusterCheck -- For large clusters where the Kubernetes State Metrics Check Core needs to be distributed on dedicated workers. + clusterCheck: false + # clusterAgent.collection.kubeStateMetrics.labelsAsTags -- Extra labels to collect from resources and to turn into StackState tag. + ## It has the following structure: + ## labelsAsTags: + ## : # can be pod, deployment, node, etc. + ## : # where is the kubernetes label and is the StackState tag + ## : + ## : + ## : + ## + ## Warning: the label must match the transformation done by kube-state-metrics, + ## for example tags.stackstate/version becomes tags_stackstate_version. + labelsAsTags: {} + # pod: + # app: app + # node: + # zone: zone + # team: team + + # clusterAgent.collection.kubeStateMetrics.annotationsAsTags -- Extra annotations to collect from resources and to turn into StackState tag. + + ## It has the following structure: + ## annotationsAsTags: + ## : # can be pod, deployment, node, etc. + ## : # where is the kubernetes annotation and is the StackState tag + ## : + ## : + ## : + ## + ## Warning: the annotation must match the transformation done by kube-state-metrics, + ## for example tags.stackstate/version becomes tags_stackstate_version. + annotationsAsTags: {} + kubernetesResources: + # clusterAgent.collection.kubernetesResources.volumeattachments -- Enable / disable collection of Volume Attachments. Used to bind Nodes to Persistent Volumes. + volumeattachments: true + # clusterAgent.collection.kubernetesResources.namespaces -- Enable / disable collection of Namespaces. + namespaces: true + # clusterAgent.collection.kubernetesResources.configmaps -- Enable / disable collection of ConfigMaps. + configmaps: true + # clusterAgent.collection.kubernetesResources.endpoints -- Enable / disable collection of Endpoints. If endpoints are disabled then StackState won't be able to connect a Service to Pods that serving it + endpoints: true + # clusterAgent.collection.kubernetesResources.persistentvolumes -- Enable / disable collection of PersistentVolumes. + persistentvolumes: true + # clusterAgent.collection.kubernetesResources.persistentvolumeclaims -- Enable / disable collection of PersistentVolumeClaims. Disabling these will not let StackState connect PersistentVolumes to pods they are attached to + persistentvolumeclaims: true + # clusterAgent.collection.kubernetesResources.secrets -- Enable / disable collection of Secrets. + secrets: true + # clusterAgent.collection.kubernetesResources.daemonsets -- Enable / disable collection of DaemonSets. + daemonsets: true + # clusterAgent.collection.kubernetesResources.deployments -- Enable / disable collection of Deployments. + deployments: true + # clusterAgent.collection.kubernetesResources.replicasets -- Enable / disable collection of ReplicaSets. + replicasets: true + # clusterAgent.collection.kubernetesResources.statefulsets -- Enable / disable collection of StatefulSets. + statefulsets: true + # clusterAgent.collection.kubernetesResources.ingresses -- Enable / disable collection of Ingresses. + ingresses: true + # clusterAgent.collection.kubernetesResources.cronjobs -- Enable / disable collection of CronJobs. + cronjobs: true + # clusterAgent.collection.kubernetesResources.jobs -- Enable / disable collection of Jobs. + jobs: true + # clusterAgent.collection.kubernetesResources.resourcequotas -- Enable / disable collection of ResourceQuotas. + resourcequotas: true + + # clusterAgent.config -- + config: + events: + # clusterAgent.config.events.categories -- Custom mapping from Kubernetes event reason to StackState event category. Categories allowed: Alerts, Activities, Changes, Others + categories: {} + topology: + # clusterAgent.config.topology.collectionInterval -- Interval for running topology collection, in seconds + collectionInterval: 90 + configMap: + # clusterAgent.config.configMap.maxDataSize -- Maximum amount of characters for the data property of a ConfigMap collected by the kubernetes topology check + maxDataSize: + # clusterAgent.config.override -- A list of objects containing three keys `name`, `path` and `data`, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap + override: [] + + service: + # clusterAgent.service.port -- Change the Cluster Agent service port + port: 5005 + # clusterAgent.service.targetPort -- Change the Cluster Agent service targetPort + targetPort: 5005 + + # clusterAgent.enabled -- Enable / disable the cluster agent. + enabled: true + + image: + # clusterAgent.image.repository -- Base container image repository. + repository: stackstate/stackstate-k8s-cluster-agent + # clusterAgent.image.tag -- Default container image tag. + tag: "e36d1c88" + # clusterAgent.image.pullPolicy -- Default container image pull policy. + pullPolicy: IfNotPresent + + livenessProbe: + # clusterAgent.livenessProbe.enabled -- Enable use of livenessProbe check. + enabled: true + # clusterAgent.livenessProbe.failureThreshold -- `failureThreshold` for the liveness probe. + failureThreshold: 3 + # clusterAgent.livenessProbe.initialDelaySeconds -- `initialDelaySeconds` for the liveness probe. + initialDelaySeconds: 15 + # clusterAgent.livenessProbe.periodSeconds -- `periodSeconds` for the liveness probe. + periodSeconds: 15 + # clusterAgent.livenessProbe.successThreshold -- `successThreshold` for the liveness probe. + successThreshold: 1 + # clusterAgent.livenessProbe.timeoutSeconds -- `timeoutSeconds` for the liveness probe. + timeoutSeconds: 5 + + # clusterAgent.logLevel -- Logging level for stackstate-k8s-agent processes. + logLevel: INFO + + # clusterAgent.priorityClassName -- Priority class for stackstate-k8s-agent pods. + priorityClassName: "" + + readinessProbe: + # clusterAgent.readinessProbe.enabled -- Enable use of readinessProbe check. + enabled: true + # clusterAgent.readinessProbe.failureThreshold -- `failureThreshold` for the readiness probe. + failureThreshold: 3 + # clusterAgent.readinessProbe.initialDelaySeconds -- `initialDelaySeconds` for the readiness probe. + initialDelaySeconds: 15 + # clusterAgent.readinessProbe.periodSeconds -- `periodSeconds` for the readiness probe. + periodSeconds: 15 + # clusterAgent.readinessProbe.successThreshold -- `successThreshold` for the readiness probe. + successThreshold: 1 + # clusterAgent.readinessProbe.timeoutSeconds -- `timeoutSeconds` for the readiness probe. + timeoutSeconds: 5 + + # clusterAgent.replicaCount -- Number of replicas of the cluster agent to deploy. + replicaCount: 1 + + serviceaccount: + # clusterAgent.serviceaccount.annotations -- Annotations for the service account for the cluster agent pods + annotations: {} + + # clusterAgent.strategy -- The strategy for the Deployment object. + strategy: + type: RollingUpdate + # rollingUpdate: + # maxUnavailable: 1 + + resources: + limits: + # clusterAgent.resources.limits.cpu -- CPU resource limits. + cpu: "400m" + # clusterAgent.resources.limits.memory -- Memory resource limits. + memory: "800Mi" + requests: + # clusterAgent.resources.requests.cpu -- CPU resource requests. + cpu: "70m" + # clusterAgent.resources.requests.memory -- Memory resource requests. + memory: "512Mi" + + # clusterAgent.nodeSelector -- Node labels for pod assignment. + nodeSelector: {} + + # clusterAgent.tolerations -- Toleration labels for pod assignment. + tolerations: [] + + # clusterAgent.affinity -- Affinity settings for pod assignment. + affinity: {} + +openShiftLogging: + # openShiftLogging.installSecret -- Install a secret for logging on openshift + installSecret: false + +logsAgent: + # logsAgent.enabled -- Enable / disable k8s pod log collection + enabled: true + + # logsAgent.priorityClassName -- Priority class for logsAgent pods. + priorityClassName: "" + + image: + # logsAgent.image.repository -- Base container image repository. + repository: stackstate/promtail + # logsAgent.image.tag -- Default container image tag. + tag: 2.7.1 + # logsAgent.image.pullPolicy -- Default container image pull policy. + pullPolicy: IfNotPresent + + resources: + limits: + # logsAgent.resources.limits.cpu -- CPU resource limits. + cpu: "1300m" + # logsAgent.resources.limits.cpu -- Memory resource limits. + memory: "192Mi" + requests: + # logsAgent.resources.requests.cpu -- CPU resource requests. + cpu: "20m" + # logsAgent.resources.requests.cpu -- Memory resource requests. + memory: "100Mi" + + # logsAgent.updateStrategy -- The update strategy for the DaemonSet object. + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 100 + + # logsAgent.nodeSelector -- Node labels for pod assignment. + nodeSelector: {} + + # logsAgent.tolerations -- Toleration labels for pod assignment. + tolerations: [] + + # logsAgent.affinity -- Affinity settings for pod assignment. + affinity: {} + + serviceaccount: + # logsAgent.serviceaccount.annotations -- Annotations for the service account for the daemonset pods + annotations: {} + +checksAgent: + # checksAgent.enabled -- Enable / disable runnning cluster checks in a separately deployed pod + enabled: true + scc: + # checksAgent.scc.enabled -- Enable / disable the installation of the SecurityContextConfiguration needed for installation on OpenShift + enabled: false + apm: + # checksAgent.apm.enabled -- Enable / disable the agent APM module. + enabled: true + networkTracing: + # checksAgent.networkTracing.enabled -- Enable / disable the agent network tracing module. + enabled: true + processAgent: + # checksAgent.processAgent.enabled -- Enable / disable the agent process agent module. + enabled: true + # checksAgent.skipSslValidation -- Set to true if self signed certificates are used. + skipSslValidation: false + + # nodeAgent.checksTagCardinality -- low, orchestrator or high. Orchestrator level adds pod_name, high adds display_container_name + checksTagCardinality: orchestrator + + # checksAgent.config -- + config: + # checksAgent.config.override -- A list of objects containing three keys `name`, `path` and `data`, specifying filenames at specific paths which need to be (potentially) overridden using a mounted configmap + override: [] + + image: + # checksAgent.image.repository -- Base container image repository. + repository: stackstate/stackstate-k8s-agent + # checksAgent.image.tag -- Default container image tag. + tag: "e36d1c88" + # checksAgent.image.pullPolicy -- Default container image pull policy. + pullPolicy: IfNotPresent + + livenessProbe: + # checksAgent.livenessProbe.enabled -- Enable use of livenessProbe check. + enabled: true + # checksAgent.livenessProbe.failureThreshold -- `failureThreshold` for the liveness probe. + failureThreshold: 3 + # checksAgent.livenessProbe.initialDelaySeconds -- `initialDelaySeconds` for the liveness probe. + initialDelaySeconds: 15 + # checksAgent.livenessProbe.periodSeconds -- `periodSeconds` for the liveness probe. + periodSeconds: 15 + # checksAgent.livenessProbe.successThreshold -- `successThreshold` for the liveness probe. + successThreshold: 1 + # checksAgent.livenessProbe.timeoutSeconds -- `timeoutSeconds` for the liveness probe. + timeoutSeconds: 5 + + # checksAgent.logLevel -- Logging level for clusterchecks agent processes. + logLevel: INFO + + # checksAgent.priorityClassName -- Priority class for clusterchecks agent pods. + priorityClassName: "" + + readinessProbe: + # checksAgent.readinessProbe.enabled -- Enable use of readinessProbe check. + enabled: true + # checksAgent.readinessProbe.failureThreshold -- `failureThreshold` for the readiness probe. + failureThreshold: 3 + # checksAgent.readinessProbe.initialDelaySeconds -- `initialDelaySeconds` for the readiness probe. + initialDelaySeconds: 15 + # checksAgent.readinessProbe.periodSeconds -- `periodSeconds` for the readiness probe. + periodSeconds: 15 + # checksAgent.readinessProbe.successThreshold -- `successThreshold` for the readiness probe. + successThreshold: 1 + # checksAgent.readinessProbe.timeoutSeconds -- `timeoutSeconds` for the readiness probe. + timeoutSeconds: 5 + + # checksAgent.replicas -- Number of clusterchecks agent pods to schedule + replicas: 1 + + resources: + limits: + # checksAgent.resources.limits.cpu -- CPU resource limits. + cpu: "400m" + # checksAgent.resources.limits.cpu -- Memory resource limits. + memory: "600Mi" + requests: + # checksAgent.resources.requests.cpu -- CPU resource requests. + cpu: "20m" + # checksAgent.resources.requests.cpu -- Memory resource requests. + memory: "512Mi" + + serviceaccount: + # checksAgent.serviceaccount.annotations -- Annotations for the service account for the cluster checks pods + annotations: {} + + # checksAgent.strategy -- The strategy for the Deployment object. + strategy: + type: RollingUpdate + # rollingUpdate: + # maxUnavailable: 1 + + # checksAgent.nodeSelector -- Node labels for pod assignment. + nodeSelector: {} + + # checksAgent.tolerations -- Toleration labels for pod assignment. + tolerations: [] + + # checksAgent.affinity -- Affinity settings for pod assignment. + affinity: {} + +################################## +# http-header-injector variables # +################################## + +httpHeaderInjectorWebhook: + # httpHeaderInjectorWebhook.enabled -- Enable the webhook for injection http header injection sidecar proxy + enabled: false + +######################## +# StackState variables # +######################## + +stackstate: + # stackstate.apiKey -- (string) **PROVIDE YOUR API KEY HERE** API key to be used by the StackState agent. + apiKey: + cluster: + # stackstate.cluster.name -- (string) **PROVIDE KUBERNETES CLUSTER NAME HERE** Name of the Kubernetes cluster where the agent will be installed. + name: + # stackstate.cluster.authToken -- Provide a token to enable secure communication between the agent and the cluster agent. + authToken: "" + # stackstate.url -- (string) **PROVIDE STACKSTATE URL HERE** URL of the StackState installation to receive data from the agent. + url: diff --git a/index.yaml b/index.yaml index 7434e0db7..d774e3381 100644 --- a/index.yaml +++ b/index.yaml @@ -5066,6 +5066,39 @@ entries: - assets/argo/argo-cd-5.8.0.tgz version: 5.8.0 artifactory-ha: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: JFrog Artifactory HA + catalog.cattle.io/kube-version: '>= 1.14.0-0' + catalog.cattle.io/release-name: artifactory-ha + apiVersion: v2 + appVersion: 7.68.13 + created: "2023-10-04T15:49:03.34110471Z" + dependencies: + - condition: postgresql.enabled + name: postgresql + repository: file://./charts/postgresql + version: 10.3.18 + description: Universal Repository Manager supporting all major packaging formats, + build tools and CI servers. + digest: 9da7488c428e7ea2ad2e8099b8367812dfc154e7214dcde566a0c68cab250e28 + home: https://www.jfrog.com/artifactory/ + icon: https://raw.githubusercontent.com/jfrog/charts/ea5c3112c24a973f64f3ccd99747323db292a369/stable/artifactory-ha/logo/artifactory-logo.png + keywords: + - artifactory + - jfrog + - devops + kubeVersion: '>= 1.14.0-0' + maintainers: + - email: installers@jfrog.com + name: Chart Maintainers at JFrog + name: artifactory-ha + sources: + - https://github.com/jfrog/charts + type: application + urls: + - assets/jfrog/artifactory-ha-107.68.13.tgz + version: 107.68.13 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: JFrog Artifactory HA @@ -6347,6 +6380,40 @@ entries: - assets/jfrog/artifactory-ha-3.0.1400.tgz version: 3.0.1400 artifactory-jcr: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: JFrog Container Registry + catalog.cattle.io/kube-version: '>= 1.14.0-0' + catalog.cattle.io/release-name: artifactory-jcr + apiVersion: v2 + appVersion: 7.68.13 + created: "2023-10-04T15:49:03.783810401Z" + dependencies: + - name: artifactory + repository: file://./charts/artifactory + version: 107.68.13 + description: JFrog Container Registry + digest: 7bdaa37d12597800d2d9cdd3561784caff06e1ba0a05d9a658ad7725f2bb833c + home: https://jfrog.com/container-registry/ + icon: https://raw.githubusercontent.com/jfrog/charts/ea5c3112c24a973f64f3ccd99747323db292a369/stable/artifactory-jcr/logo/jcr-logo.png + keywords: + - artifactory + - jfrog + - container + - registry + - devops + - jfrog-container-registry + kubeVersion: '>= 1.14.0-0' + maintainers: + - email: helm@jfrog.com + name: Chart Maintainers at JFrog + name: artifactory-jcr + sources: + - https://github.com/jfrog/charts + type: application + urls: + - assets/jfrog/artifactory-jcr-107.68.13.tgz + version: 107.68.13 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: JFrog Container Registry @@ -12647,6 +12714,27 @@ entries: - assets/cloudcasa/cloudcasa-0.1.000.tgz version: 0.1.000 cockroachdb: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: CockroachDB + catalog.cattle.io/kube-version: '>=1.8-0' + catalog.cattle.io/release-name: cockroachdb + apiVersion: v1 + appVersion: 23.1.11 + created: "2023-10-04T15:49:01.022346207Z" + description: CockroachDB is a scalable, survivable, strongly-consistent SQL database. + digest: 054e62dff4ecd4a0e67c23226febc0e4dbf671b986e0f7ab45fd6aa6ff98c270 + home: https://www.cockroachlabs.com + icon: https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/media/cockroach_db.png + maintainers: + - email: helm-charts@cockroachlabs.com + name: cockroachlabs + name: cockroachdb + sources: + - https://github.com/cockroachdb/cockroach + urls: + - assets/cockroach-labs/cockroachdb-11.2.1.tgz + version: 11.2.1 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: CockroachDB @@ -13424,6 +13512,32 @@ entries: - assets/mongodb/community-operator-0.7.6.tgz version: 0.7.6 confluent-for-kubernetes: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Confluent For Kubernetes + catalog.cattle.io/kube-version: '>=1.15-0' + catalog.cattle.io/release-name: confluent-for-kubernetes + apiVersion: v1 + appVersion: 2.7.0 + created: "2023-10-04T15:49:01.140876383Z" + description: A Helm chart to deploy Confluent for Kubernetes + digest: a06930ec1bbfdfce196741f9a349d423b8623517ad32c2543d63319db0086cc9 + home: https://www.confluent.io/ + icon: https://cdn.confluent.io/wp-content/uploads/seo-logo-meadow.png + keywords: + - Confluent + - Confluent Operator + - Confluent Platform + - CFK + maintainers: + - email: operator@confluent.io + name: Confluent Operator + name: confluent-for-kubernetes + sources: + - https://docs.confluent.io/current/index.html + urls: + - assets/confluent/confluent-for-kubernetes-0.824.14.tgz + version: 0.824.14 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Confluent For Kubernetes @@ -16322,6 +16436,43 @@ entries: - assets/weka/csi-wekafsplugin-0.6.400.tgz version: 0.6.400 datadog: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Datadog + catalog.cattle.io/kube-version: '>=1.10-0' + catalog.cattle.io/release-name: datadog + apiVersion: v1 + appVersion: "7" + created: "2023-10-04T15:49:01.749741223Z" + dependencies: + - condition: clusterAgent.metricsProvider.useDatadogMetrics + name: datadog-crds + repository: https://helm.datadoghq.com + tags: + - install-crds + version: 1.0.1 + - condition: datadog.kubeStateMetricsEnabled + name: kube-state-metrics + repository: https://prometheus-community.github.io/helm-charts + version: 2.13.2 + description: Datadog Agent + digest: ec4d9baeba62d44684df7cdae4407a0099e9881d9e8436c238767b54121a580d + home: https://www.datadoghq.com + icon: https://datadog-live.imgix.net/img/dd_logo_70x75.png + keywords: + - monitoring + - alerting + - metric + maintainers: + - email: support@datadoghq.com + name: Datadog + name: datadog + sources: + - https://app.datadoghq.com/account/settings#agent/kubernetes + - https://github.com/DataDog/datadog-agent + urls: + - assets/datadog/datadog-3.38.4.tgz + version: 3.38.4 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Datadog @@ -18748,6 +18899,39 @@ entries: - assets/datadog/datadog-2.4.200.tgz version: 2.4.200 datadog-operator: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Datadog Operator + catalog.cattle.io/release-name: datadog-operator + apiVersion: v2 + appVersion: 1.1.0 + created: "2023-10-04T15:49:01.895002864Z" + dependencies: + - alias: datadogCRDs + condition: installCRDs + name: datadog-crds + repository: file://./charts/datadog-crds + tags: + - install-crds + version: =1.1.0 + description: Datadog Operator + digest: 2317f06e87036a89b0e04c0301892bebab2b5bbb3dcf9030e2dd0d5f936d8dc1 + home: https://www.datadoghq.com + icon: https://datadog-live.imgix.net/img/dd_logo_70x75.png + keywords: + - monitoring + - alerting + - metric + maintainers: + - email: support@datadoghq.com + name: Datadog + name: datadog-operator + sources: + - https://app.datadoghq.com/account/settings#agent/kubernetes + - https://github.com/DataDog/datadog-agent + urls: + - assets/datadog/datadog-operator-1.1.2.tgz + version: 1.1.2 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Datadog Operator @@ -29216,6 +29400,58 @@ entries: - assets/kasten/k10-4.5.900.tgz version: 4.5.900 kafka: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Apache Kafka + catalog.cattle.io/kube-version: '>=1.19-0' + catalog.cattle.io/release-name: kafka + category: Infrastructure + images: | + - name: jmx-exporter + image: docker.io/bitnami/jmx-exporter:0.19.0-debian-11-r84 + - name: kafka-exporter + image: docker.io/bitnami/kafka-exporter:1.7.0-debian-11-r120 + - name: kafka + image: docker.io/bitnami/kafka:3.5.1-debian-11-r61 + - name: kubectl + image: docker.io/bitnami/kubectl:1.28.2-debian-11-r2 + - name: os-shell + image: docker.io/bitnami/os-shell:11-debian-11-r77 + licenses: Apache-2.0 + apiVersion: v2 + appVersion: 3.5.1 + created: "2023-10-04T15:48:58.667461147Z" + dependencies: + - condition: zookeeper.enabled + name: zookeeper + repository: file://./charts/zookeeper + version: 12.x.x + - name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x + description: Apache Kafka is a distributed streaming platform designed to build + real-time pipelines and can be used as a message broker or as a replacement + for a log aggregation solution for big data applications. + digest: 523d31ee7e05e5912e48e47bc356c7be9ec6aaa36988afe8823dc78356e83919 + home: https://bitnami.com + icon: https://svn.apache.org/repos/asf/comdev/project-logos/originals/kafka.svg + keywords: + - kafka + - zookeeper + - streaming + - producer + - consumer + maintainers: + - name: VMware, Inc. + url: https://github.com/bitnami/charts + name: kafka + sources: + - https://github.com/bitnami/charts/tree/main/bitnami/kafka + urls: + - assets/bitnami/kafka-25.3.0.tgz + version: 25.3.0 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Apache Kafka @@ -32037,6 +32273,33 @@ entries: - assets/elastic/kibana-7.17.3.tgz version: 7.17.3 kong: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Kong Gateway + catalog.cattle.io/release-name: kong + apiVersion: v2 + appVersion: "3.4" + created: "2023-10-04T15:49:04.694923539Z" + dependencies: + - condition: postgresql.enabled + name: postgresql + repository: file://./charts/postgresql + version: 11.9.13 + description: The Cloud-Native Ingress and API-management + digest: 83dec46bb9870001e291e1197f6314657b0d0ba9354faa0161d6c07794622568 + home: https://konghq.com/ + icon: https://s3.amazonaws.com/downloads.kong/universe/assets/icon-kong-inc-large.png + maintainers: + - email: harry@konghq.com + name: hbagdi + - email: traines@konghq.com + name: rainest + name: kong + sources: + - https://github.com/Kong/charts/tree/main/charts/kong + urls: + - assets/kong/kong-2.28.1.tgz + version: 2.28.1 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Kong Gateway @@ -33061,6 +33324,36 @@ entries: urls: - assets/kubemq/kubemq-crds-2.3.7.tgz version: 2.3.7 + kubernetes-ingress-controller: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: ngrok Ingress Controller + catalog.cattle.io/release-name: kubernetes-ingress-controller + apiVersion: v2 + appVersion: 0.9.0 + created: "2023-10-04T15:49:05.843982738Z" + dependencies: + - name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x + description: A Kubernetes ingress controller built using ngrok. + digest: abf93290f193ec8cc7b0ae14adadf09a86bdbc1b26275824aa6f8f068a023e83 + home: https://ngrok.com + icon: https://assets-global.website-files.com/63ed4bc7a4b189da942a6b8c/6411ffa0b395a44345ed2b1a_Frame%201.svg + keywords: + - ngrok + - networking + - ingress + - edge + - api gateway + name: kubernetes-ingress-controller + sources: + - https://github.com/ngrok/kubernetes-ingress-controller + urls: + - assets/ngrok/kubernetes-ingress-controller-0.11.0.tgz + version: 0.11.0 kubeslice-controller: - annotations: catalog.cattle.io/certified: partner @@ -45996,6 +46289,50 @@ entries: - assets/quobyte/quobyte-cluster-0.1.5.tgz version: 0.1.5 redis: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Redis + catalog.cattle.io/kube-version: '>=1.19-0' + catalog.cattle.io/release-name: redis + category: Database + images: | + - name: os-shell + image: docker.io/bitnami/os-shell:11-debian-11-r60 + - name: redis-exporter + image: docker.io/bitnami/redis-exporter:1.54.0-debian-11-r0 + - name: redis-sentinel + image: docker.io/bitnami/redis-sentinel:7.2.1-debian-11-r0 + - name: redis + image: docker.io/bitnami/redis:7.2.1-debian-11-r0 + licenses: Apache-2.0 + apiVersion: v2 + appVersion: 7.2.1 + created: "2023-10-04T15:48:59.56901939Z" + dependencies: + - name: common + repository: file://./charts/common + tags: + - bitnami-common + version: 2.x.x + description: Redis(R) is an open source, advanced key-value store. It is often + referred to as a data structure server since keys can contain strings, hashes, + lists, sets and sorted sets. + digest: 67f9730f6fc97bb52542a8cdfcc1c384e2d86e3b811b42b23416aa1de55bf1ce + home: https://bitnami.com + icon: https://redis.com/wp-content/uploads/2021/08/redis-logo.png + keywords: + - redis + - keyvalue + - database + maintainers: + - name: VMware, Inc. + url: https://github.com/bitnami/charts + name: redis + sources: + - https://github.com/bitnami/charts/tree/main/bitnami/redis + urls: + - assets/bitnami/redis-18.1.2.tgz + version: 18.1.2 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Redis @@ -47920,6 +48257,50 @@ entries: - assets/bitnami/redis-17.3.7.tgz version: 17.3.7 redpanda: + - annotations: + artifacthub.io/images: | + - name: redpanda + image: docker.redpanda.com/redpandadata/redpanda:v23.2.9 + - name: busybox + image: busybox:latest + - name: mintel/docker-alpine-bash-curl-jq + image: mintel/docker-alpine-bash-curl-jq:latest + artifacthub.io/license: Apache-2.0 + artifacthub.io/links: | + - name: Documentation + url: https://docs.redpanda.com + - name: "Helm (>= 3.6.0)" + url: https://helm.sh/docs/intro/install/ + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Redpanda + catalog.cattle.io/kube-version: '>=1.21-0' + catalog.cattle.io/release-name: redpanda + apiVersion: v2 + appVersion: v23.2.9 + created: "2023-10-04T15:49:06.707026594Z" + dependencies: + - condition: console.enabled + name: console + repository: file://./charts/console + version: '>=0.5 <1.0' + - condition: connectors.enabled + name: connectors + repository: file://./charts/connectors + version: '>=0.1.2 <1.0' + description: Redpanda is the real-time engine for modern apps. + digest: f0c19321330170bedf33eddff26a5897ee785524b14d98457bec623a5ee77b8b + icon: https://images.ctfassets.net/paqvtpyf8rwu/3cYHw5UzhXCbKuR24GDFGO/73fb682e6157d11c10d5b2b5da1d5af0/skate-stand-panda.svg + kubeVersion: '>=1.21-0' + maintainers: + - name: redpanda-data + url: https://github.com/orgs/redpanda-data/people + name: redpanda + sources: + - https://github.com/redpanda-data/helm-charts + type: application + urls: + - assets/redpanda/redpanda-5.6.0.tgz + version: 5.6.0 - annotations: artifacthub.io/images: | - name: redpanda @@ -54904,6 +55285,35 @@ entries: urls: - assets/speedscale/speedscale-operator-0.9.12600.tgz version: 0.9.12600 + stackstate-k8s-agent: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: StackState Agent + catalog.cattle.io/kube-version: '>=1.19.0-0' + catalog.cattle.io/release-name: stackstate-k8s-agent + apiVersion: v2 + appVersion: 2.19.1 + created: "2023-10-04T15:49:06.818791653Z" + dependencies: + - alias: httpHeaderInjectorWebhook + name: http-header-injector + repository: file://./charts/http-header-injector + version: 0.0.6 + description: Helm chart for the StackState Agent. + digest: d57575d97f17c18321e03576fb1ce13544eca5ea415eaa3963764fff525d2b4e + home: https://github.com/StackVista/stackstate-agent + icon: https://raw.githubusercontent.com/StackVista/helm-charts/master/stable/stackstate-k8s-agent/logo.svg + keywords: + - monitoring + - observability + - stackstate + maintainers: + - email: ops@stackstate.com + name: Stackstate + name: stackstate-k8s-agent + urls: + - assets/stackstate/stackstate-k8s-agent-1.0.49.tgz + version: 1.0.49 sumologic: - annotations: catalog.cattle.io/certified: partner @@ -59498,6 +59908,33 @@ entries: - assets/universal-crossplane/universal-crossplane-1.2.200100.tgz version: 1.2.200100 vals-operator: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/display-name: Vals-Operator + catalog.cattle.io/kube-version: '>= 1.19.0-0' + catalog.cattle.io/release-name: vals-operator + apiVersion: v2 + appVersion: v0.7.7 + created: "2023-10-04T15:49:01.931333925Z" + description: 'This helm chart installs the Digitalis Vals Operator to manage and + sync secrets from supported backends into Kubernetes. ## About Vals-Operator + Here at [Digitalis](https://digitalis.io) we love [vals](https://github.com/helmfile/vals), + it''s a tool we use daily to keep secrets stored securely. Inspired by this + tool, we have created an operator to manage Kubernetes secrets. *vals-operator* + syncs secrets from any secrets store supported by [vals](https://github.com/helmfile/vals) + into Kubernetes. Also, `vals-operator` supports database secrets as provider + by [HashiCorp Vault Secret Engine](https://developer.hashicorp.com/vault/docs/secrets/databases). ' + digest: cef6777ac9fd519ee246543e7672deeb349561447992d8363b806c76d083b005 + icon: https://digitalis.io/wp-content/uploads/2020/06/cropped-Digitalis-512x512-Blue_Digitalis-512x512-Blue-32x32.png + kubeVersion: '>= 1.19.0-0' + maintainers: + - email: info@digitalis.io + name: Digitalis.IO + name: vals-operator + type: application + urls: + - assets/digitalis/vals-operator-0.7.7.tgz + version: 0.7.7 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/display-name: Vals-Operator