From d07bbbbfe937d3601be2d25e4eee9d6c171227ec Mon Sep 17 00:00:00 2001 From: joshmeranda Date: Wed, 11 Oct 2023 17:17:17 -0400 Subject: [PATCH] make remove CHART=rancher-monitoring[-crd] VERSION=103.0.0+up40.1.2 --- ...ancher-monitoring-crd-103.0.0+up40.1.2.tgz | Bin 387428 -> 0 bytes .../rancher-monitoring-103.0.0+up40.1.2.tgz | Bin 406081 -> 0 bytes .../103.0.0+up40.1.2/Chart.yaml | 10 - .../103.0.0+up40.1.2/README.md | 24 - .../crd-manifest/crd-alertmanagerconfigs.yaml | 4475 --------- .../crd-manifest/crd-alertmanagers.yaml | 6779 ------------- .../crd-manifest/crd-podmonitors.yaml | 663 -- .../crd-manifest/crd-probes.yaml | 704 -- .../crd-manifest/crd-prometheuses.yaml | 8801 ----------------- .../crd-manifest/crd-prometheusrules.yaml | 98 - .../crd-manifest/crd-servicemonitors.yaml | 684 -- .../crd-manifest/crd-thanosrulers.yaml | 6431 ------------ .../103.0.0+up40.1.2/files/crd-manifest.tgz | Bin 191722 -> 0 bytes .../103.0.0+up40.1.2/templates/_helpers.tpl | 50 - .../103.0.0+up40.1.2/templates/jobs.yaml | 152 - .../103.0.0+up40.1.2/templates/manifest.yaml | 8 - .../103.0.0+up40.1.2/templates/rbac.yaml | 76 - .../templates/validate-psp-install.yaml | 7 - .../103.0.0+up40.1.2/values.yaml | 17 - .../103.0.0+up40.1.2/.helmignore | 28 - .../103.0.0+up40.1.2/CHANGELOG.md | 47 - .../103.0.0+up40.1.2/CONTRIBUTING.md | 12 - .../103.0.0+up40.1.2/Chart.yaml | 128 - .../103.0.0+up40.1.2/README.md | 739 -- .../103.0.0+up40.1.2/app-README.md | 46 - .../charts/grafana/.helmignore | 23 - .../charts/grafana/Chart.yaml | 29 - .../103.0.0+up40.1.2/charts/grafana/README.md | 574 -- .../grafana/dashboards/custom-dashboard.json | 1 - .../charts/grafana/templates/NOTES.txt | 54 - .../charts/grafana/templates/_helpers.tpl | 214 - .../charts/grafana/templates/_pod.tpl | 895 -- .../charts/grafana/templates/clusterrole.yaml | 25 - .../grafana/templates/clusterrolebinding.yaml | 24 - .../configmap-dashboard-provider.yaml | 29 - .../charts/grafana/templates/configmap.yaml | 117 - .../templates/dashboards-json-configmap.yaml | 35 - .../charts/grafana/templates/deployment.yaml | 50 - .../grafana/templates/extra-manifests.yaml | 4 - .../grafana/templates/headless-service.yaml | 22 - .../charts/grafana/templates/hpa.yaml | 21 - .../templates/image-renderer-deployment.yaml | 123 - .../image-renderer-network-policy.yaml | 73 - .../templates/image-renderer-service.yaml | 33 - .../charts/grafana/templates/ingress.yaml | 78 - .../grafana/templates/networkpolicy.yaml | 52 - .../grafana/templates/nginx-config.yaml | 94 - .../templates/poddisruptionbudget.yaml | 22 - .../grafana/templates/podsecuritypolicy.yaml | 45 - .../charts/grafana/templates/pvc.yaml | 35 - .../charts/grafana/templates/role.yaml | 32 - .../charts/grafana/templates/rolebinding.yaml | 25 - .../charts/grafana/templates/secret-env.yaml | 14 - .../charts/grafana/templates/secret.yaml | 26 - .../charts/grafana/templates/service.yaml | 55 - .../grafana/templates/serviceaccount.yaml | 14 - .../grafana/templates/servicemonitor.yaml | 58 - .../charts/grafana/templates/statefulset.yaml | 56 - .../templates/tests/test-configmap.yaml | 17 - .../tests/test-podsecuritypolicy.yaml | 29 - .../grafana/templates/tests/test-role.yaml | 14 - .../templates/tests/test-rolebinding.yaml | 17 - .../templates/tests/test-serviceaccount.yaml | 9 - .../charts/grafana/templates/tests/test.yaml | 51 - .../charts/grafana/values.yaml | 1088 -- .../charts/hardenedKubelet/.helmignore | 23 - .../charts/hardenedKubelet/Chart.yaml | 14 - .../charts/hardenedKubelet/README.md | 82 - .../hardenedKubelet/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/hardenedKubelet/values.yaml | 146 - .../charts/hardenedNodeExporter/.helmignore | 23 - .../charts/hardenedNodeExporter/Chart.yaml | 14 - .../charts/hardenedNodeExporter/README.md | 82 - .../templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/hardenedNodeExporter/values.yaml | 146 - .../charts/k3sServer/.helmignore | 23 - .../charts/k3sServer/Chart.yaml | 14 - .../charts/k3sServer/README.md | 82 - .../charts/k3sServer/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../k3sServer/templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../k3sServer/templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/k3sServer/values.yaml | 146 - .../charts/kube-state-metrics/.helmignore | 21 - .../charts/kube-state-metrics/Chart.yaml | 28 - .../charts/kube-state-metrics/README.md | 68 - .../kube-state-metrics/templates/NOTES.txt | 10 - .../kube-state-metrics/templates/_helpers.tpl | 111 - .../templates/ciliumnetworkpolicy.yaml | 33 - .../templates/clusterrolebinding.yaml | 20 - .../templates/crs-configmap.yaml | 9 - .../templates/deployment.yaml | 172 - .../templates/kubeconfig-secret.yaml | 12 - .../templates/networkpolicy.yaml | 43 - .../kube-state-metrics/templates/pdb.yaml | 18 - .../templates/podsecuritypolicy.yaml | 39 - .../templates/psp-clusterrole.yaml | 19 - .../templates/psp-clusterrolebinding.yaml | 16 - .../templates/rbac-configmap.yaml | 15 - .../kube-state-metrics/templates/role.yaml | 193 - .../templates/rolebinding.yaml | 24 - .../kube-state-metrics/templates/service.yaml | 41 - .../templates/serviceaccount.yaml | 15 - .../templates/servicemonitor.yaml | 86 - .../templates/stsdiscovery-role.yaml | 26 - .../templates/stsdiscovery-rolebinding.yaml | 17 - .../templates/verticalpodautoscaler.yaml | 38 - .../charts/kube-state-metrics/values.yaml | 271 - .../kubeAdmControllerManager/.helmignore | 23 - .../kubeAdmControllerManager/Chart.yaml | 14 - .../charts/kubeAdmControllerManager/README.md | 82 - .../templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../kubeAdmControllerManager/values.yaml | 146 - .../charts/kubeAdmEtcd/.helmignore | 23 - .../charts/kubeAdmEtcd/Chart.yaml | 14 - .../charts/kubeAdmEtcd/README.md | 82 - .../charts/kubeAdmEtcd/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../kubeAdmEtcd/templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/kubeAdmEtcd/values.yaml | 146 - .../charts/kubeAdmProxy/.helmignore | 23 - .../charts/kubeAdmProxy/Chart.yaml | 14 - .../charts/kubeAdmProxy/README.md | 82 - .../kubeAdmProxy/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/kubeAdmProxy/values.yaml | 146 - .../charts/kubeAdmScheduler/.helmignore | 23 - .../charts/kubeAdmScheduler/Chart.yaml | 14 - .../charts/kubeAdmScheduler/README.md | 82 - .../kubeAdmScheduler/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/kubeAdmScheduler/values.yaml | 146 - .../charts/prometheus-adapter/.helmignore | 21 - .../charts/prometheus-adapter/Chart.yaml | 27 - .../charts/prometheus-adapter/README.md | 138 - .../prometheus-adapter/templates/NOTES.txt | 9 - .../prometheus-adapter/templates/_helpers.tpl | 113 - .../templates/certmanager.yaml | 76 - .../cluster-role-binding-auth-delegator.yaml | 20 - .../cluster-role-binding-resource-reader.yaml | 20 - .../cluster-role-resource-reader.yaml | 24 - .../templates/configmap.yaml | 97 - .../templates/custom-metrics-apiservice.yaml | 32 - ...stom-metrics-cluster-role-binding-hpa.yaml | 24 - .../custom-metrics-cluster-role.yaml | 17 - .../templates/deployment.yaml | 147 - .../external-metrics-apiservice.yaml | 32 - ...rnal-metrics-cluster-role-binding-hpa.yaml | 20 - .../external-metrics-cluster-role.yaml | 21 - .../prometheus-adapter/templates/pdb.yaml | 23 - .../prometheus-adapter/templates/psp.yaml | 66 - .../resource-metrics-apiservice.yaml | 32 - ...resource-metrics-cluster-role-binding.yaml | 20 - .../resource-metrics-cluster-role.yaml | 23 - .../templates/role-binding-auth-reader.yaml | 21 - .../prometheus-adapter/templates/secret.yaml | 17 - .../prometheus-adapter/templates/service.yaml | 27 - .../templates/serviceaccount.yaml | 18 - .../charts/prometheus-adapter/values.yaml | 217 - .../prometheus-node-exporter/.helmignore | 21 - .../prometheus-node-exporter/Chart.yaml | 25 - .../charts/prometheus-node-exporter/README.md | 77 - .../templates/NOTES.txt | 15 - .../templates/_helpers.tpl | 136 - .../templates/daemonset.yaml | 234 - .../templates/endpoints.yaml | 17 - .../templates/psp-clusterrole.yaml | 15 - .../templates/psp-clusterrolebinding.yaml | 17 - .../templates/psp.yaml | 50 - .../templates/service.yaml | 22 - .../templates/serviceaccount.yaml | 14 - .../templates/servicemonitor.yaml | 61 - .../prometheus-node-exporter/values.yaml | 252 - .../charts/rke2ControllerManager/.helmignore | 23 - .../charts/rke2ControllerManager/Chart.yaml | 14 - .../charts/rke2ControllerManager/README.md | 82 - .../templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rke2ControllerManager/values.yaml | 146 - .../charts/rke2Etcd/.helmignore | 23 - .../charts/rke2Etcd/Chart.yaml | 14 - .../charts/rke2Etcd/README.md | 82 - .../charts/rke2Etcd/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../rke2Etcd/templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../rke2Etcd/templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rke2Etcd/values.yaml | 146 - .../charts/rke2IngressNginx/.helmignore | 23 - .../charts/rke2IngressNginx/Chart.yaml | 14 - .../charts/rke2IngressNginx/README.md | 82 - .../rke2IngressNginx/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rke2IngressNginx/values.yaml | 146 - .../charts/rke2Proxy/.helmignore | 23 - .../charts/rke2Proxy/Chart.yaml | 14 - .../charts/rke2Proxy/README.md | 82 - .../charts/rke2Proxy/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../rke2Proxy/templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../rke2Proxy/templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rke2Proxy/values.yaml | 146 - .../charts/rke2Scheduler/.helmignore | 23 - .../charts/rke2Scheduler/Chart.yaml | 14 - .../charts/rke2Scheduler/README.md | 82 - .../rke2Scheduler/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rke2Scheduler/values.yaml | 146 - .../charts/rkeControllerManager/.helmignore | 23 - .../charts/rkeControllerManager/Chart.yaml | 14 - .../charts/rkeControllerManager/README.md | 82 - .../templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rkeControllerManager/values.yaml | 146 - .../charts/rkeEtcd/.helmignore | 23 - .../charts/rkeEtcd/Chart.yaml | 14 - .../103.0.0+up40.1.2/charts/rkeEtcd/README.md | 82 - .../charts/rkeEtcd/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../rkeEtcd/templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../rkeEtcd/templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rkeEtcd/values.yaml | 146 - .../charts/rkeIngressNginx/.helmignore | 23 - .../charts/rkeIngressNginx/Chart.yaml | 14 - .../charts/rkeIngressNginx/README.md | 82 - .../rkeIngressNginx/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rkeIngressNginx/values.yaml | 146 - .../charts/rkeProxy/.helmignore | 23 - .../charts/rkeProxy/Chart.yaml | 14 - .../charts/rkeProxy/README.md | 82 - .../charts/rkeProxy/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../rkeProxy/templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../rkeProxy/templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rkeProxy/values.yaml | 146 - .../charts/rkeScheduler/.helmignore | 23 - .../charts/rkeScheduler/Chart.yaml | 14 - .../charts/rkeScheduler/README.md | 82 - .../rkeScheduler/templates/_helpers.tpl | 131 - .../templates/pushprox-clients-rbac.yaml | 85 - .../templates/pushprox-clients.yaml | 153 - .../templates/pushprox-proxy-rbac.yaml | 68 - .../templates/pushprox-proxy.yaml | 53 - .../templates/pushprox-servicemonitor.yaml | 45 - .../templates/validate-install-crd.yaml | 14 - .../templates/validate-psp-install.yaml | 7 - .../charts/rkeScheduler/values.yaml | 146 - .../charts/windowsExporter/.helmignore | 23 - .../charts/windowsExporter/Chart.yaml | 15 - .../charts/windowsExporter/README.md | 17 - .../scripts/check-wins-version.ps1 | 20 - .../windowsExporter/scripts/proxy-entry.ps1 | 11 - .../charts/windowsExporter/scripts/run.ps1 | 78 - .../windowsExporter/templates/_helpers.tpl | 113 - .../windowsExporter/templates/configmap.yaml | 10 - .../windowsExporter/templates/daemonset.yaml | 77 - .../templates/prometheusrule.yaml | 13 - .../windowsExporter/templates/rbac.yaml | 81 - .../windowsExporter/templates/service.yaml | 15 - .../templates/servicemonitor.yaml | 41 - .../charts/windowsExporter/values.yaml | 52 - .../files/ingress-nginx/nginx.json | 1445 --- .../request-handling-performance.json | 963 -- .../cluster/rancher-cluster-nodes.json | 793 -- .../rancher/cluster/rancher-cluster.json | 776 -- .../rancher/home/rancher-default-home.json | 1290 --- .../files/rancher/k8s/rancher-etcd-nodes.json | 687 -- .../files/rancher/k8s/rancher-etcd.json | 669 -- .../k8s/rancher-k8s-components-nodes.json | 527 - .../rancher/k8s/rancher-k8s-components.json | 519 - .../rancher/nodes/rancher-node-detail.json | 805 -- .../files/rancher/nodes/rancher-node.json | 792 -- .../performance/performance-debugging.json | 1707 ---- .../rancher/pods/rancher-pod-containers.json | 636 -- .../files/rancher/pods/rancher-pod.json | 636 -- .../workloads/rancher-workload-pods.json | 652 -- .../rancher/workloads/rancher-workload.json | 652 -- .../delete-workloads-with-old-labels.sh | 14 - .../103.0.0+up40.1.2/templates/NOTES.txt | 4 - .../103.0.0+up40.1.2/templates/_helpers.tpl | 384 - .../templates/alertmanager/alertmanager.yaml | 170 - .../templates/alertmanager/extrasecret.yaml | 20 - .../templates/alertmanager/ingress.yaml | 77 - .../alertmanager/ingressperreplica.yaml | 67 - .../alertmanager/podDisruptionBudget.yaml | 21 - .../templates/alertmanager/psp-role.yaml | 21 - .../alertmanager/psp-rolebinding.yaml | 18 - .../templates/alertmanager/psp.yaml | 45 - .../templates/alertmanager/secret.yaml | 33 - .../templates/alertmanager/service.yaml | 53 - .../alertmanager/serviceaccount.yaml | 20 - .../alertmanager/servicemonitor.yaml | 55 - .../alertmanager/serviceperreplica.yaml | 49 - .../templates/exporters/core-dns/service.yaml | 24 - .../exporters/core-dns/servicemonitor.yaml | 49 - .../kube-api-server/servicemonitor.yaml | 52 - .../kube-controller-manager/endpoints.yaml | 22 - .../kube-controller-manager/service.yaml | 29 - .../servicemonitor.yaml | 60 - .../templates/exporters/kube-dns/service.yaml | 28 - .../exporters/kube-dns/servicemonitor.yaml | 62 - .../exporters/kube-etcd/endpoints.yaml | 20 - .../exporters/kube-etcd/service.yaml | 27 - .../exporters/kube-etcd/servicemonitor.yaml | 66 - .../exporters/kube-proxy/endpoints.yaml | 20 - .../exporters/kube-proxy/service.yaml | 27 - .../exporters/kube-proxy/servicemonitor.yaml | 54 - .../exporters/kube-scheduler/endpoints.yaml | 22 - .../exporters/kube-scheduler/service.yaml | 29 - .../kube-scheduler/servicemonitor.yaml | 60 - .../kube-state-metrics/validate.yaml | 7 - .../exporters/kubelet/servicemonitor.yaml | 229 - .../exporters/node-exporter/validate.yaml | 3 - .../grafana/configmap-dashboards.yaml | 24 - .../grafana/configmaps-datasources.yaml | 63 - .../alertmanager-overview.yaml | 616 -- .../grafana/dashboards-1.14/apiserver.yaml | 1772 ---- .../dashboards-1.14/cluster-total.yaml | 1882 ---- .../dashboards-1.14/controller-manager.yaml | 1196 --- .../grafana/dashboards-1.14/etcd.yaml | 1229 --- .../dashboards-1.14/grafana-overview.yaml | 635 -- .../grafana/dashboards-1.14/k8s-coredns.yaml | 1530 --- .../k8s-resources-cluster.yaml | 3088 ------ .../k8s-resources-namespace.yaml | 2797 ------ .../dashboards-1.14/k8s-resources-node.yaml | 1026 -- .../dashboards-1.14/k8s-resources-pod.yaml | 2469 ----- .../k8s-resources-workload.yaml | 2024 ---- .../k8s-resources-workloads-namespace.yaml | 2189 ---- .../grafana/dashboards-1.14/kubelet.yaml | 2256 ----- .../dashboards-1.14/namespace-by-pod.yaml | 1464 --- .../namespace-by-workload.yaml | 1736 ---- .../node-cluster-rsrc-use.yaml | 1063 -- .../dashboards-1.14/node-rsrc-use.yaml | 1089 -- .../grafana/dashboards-1.14/nodes-darwin.yaml | 1073 -- .../grafana/dashboards-1.14/nodes.yaml | 1066 -- .../persistentvolumesusage.yaml | 587 -- .../grafana/dashboards-1.14/pod-total.yaml | 1228 --- .../prometheus-remote-write.yaml | 1674 ---- .../grafana/dashboards-1.14/prometheus.yaml | 1235 --- .../grafana/dashboards-1.14/proxy.yaml | 1276 --- .../grafana/dashboards-1.14/scheduler.yaml | 1118 --- .../dashboards-1.14/workload-total.yaml | 1438 --- .../templates/grafana/namespaces.yaml | 13 - .../job-patch/clusterrole.yaml | 33 - .../job-patch/clusterrolebinding.yaml | 20 - .../job-patch/job-createSecret.yaml | 69 - .../job-patch/job-patchWebhook.yaml | 70 - .../admission-webhooks/job-patch/psp.yaml | 47 - .../admission-webhooks/job-patch/role.yaml | 21 - .../job-patch/rolebinding.yaml | 21 - .../job-patch/serviceaccount.yaml | 17 - .../mutatingWebhookConfiguration.yaml | 42 - .../validatingWebhookConfiguration.yaml | 41 - .../prometheus-operator/certmanager.yaml | 57 - .../prometheus-operator/clusterrole.yaml | 81 - .../clusterrolebinding.yaml | 17 - .../prometheus-operator/deployment.yaml | 164 - .../prometheus-operator/psp-clusterrole.yaml | 20 - .../psp-clusterrolebinding.yaml | 17 - .../templates/prometheus-operator/psp.yaml | 45 - .../prometheus-operator/service.yaml | 58 - .../prometheus-operator/serviceaccount.yaml | 16 - .../prometheus-operator/servicemonitor.yaml | 54 - .../templates/prometheus/_rules.tpl | 36 - .../additionalAlertRelabelConfigs.yaml | 16 - .../additionalAlertmanagerConfigs.yaml | 16 - .../prometheus/additionalPrometheusRules.yaml | 43 - .../prometheus/additionalScrapeConfigs.yaml | 20 - .../templates/prometheus/clusterrole.yaml | 30 - .../prometheus/clusterrolebinding.yaml | 18 - .../templates/prometheus/csi-secret.yaml | 12 - .../templates/prometheus/extrasecret.yaml | 20 - .../templates/prometheus/ingress.yaml | 77 - .../prometheus/ingressThanosSidecar.yaml | 76 - .../prometheus/ingressperreplica.yaml | 67 - .../templates/prometheus/nginx-config.yaml | 68 - .../prometheus/podDisruptionBudget.yaml | 21 - .../templates/prometheus/podmonitors.yaml | 37 - .../templates/prometheus/prometheus.yaml | 388 - .../templates/prometheus/psp-clusterrole.yaml | 20 - .../prometheus/psp-clusterrolebinding.yaml | 18 - .../templates/prometheus/psp.yaml | 56 - .../rules-1.14/alertmanager.rules.yaml | 217 - .../rules-1.14/config-reloaders.yaml | 46 - .../templates/prometheus/rules-1.14/etcd.yaml | 296 - .../prometheus/rules-1.14/general.rules.yaml | 98 - .../prometheus/rules-1.14/k8s.rules.yaml | 173 - .../kube-apiserver-availability.rules.yaml | 136 - .../kube-apiserver-burnrate.rules.yaml | 328 - .../kube-apiserver-histogram.rules.yaml | 37 - .../rules-1.14/kube-apiserver-slos.yaml | 115 - .../kube-prometheus-general.rules.yaml | 31 - .../kube-prometheus-node-recording.rules.yaml | 39 - .../rules-1.14/kube-scheduler.rules.yaml | 65 - .../rules-1.14/kube-state-metrics.yaml | 107 - .../prometheus/rules-1.14/kubelet.rules.yaml | 41 - .../rules-1.14/kubernetes-apps.yaml | 375 - .../rules-1.14/kubernetes-resources.yaml | 193 - .../rules-1.14/kubernetes-storage.yaml | 160 - .../kubernetes-system-apiserver.yaml | 128 - .../kubernetes-system-controller-manager.yaml | 47 - .../kubernetes-system-kube-proxy.yaml | 46 - .../rules-1.14/kubernetes-system-kubelet.yaml | 253 - .../kubernetes-system-scheduler.yaml | 46 - .../rules-1.14/kubernetes-system.yaml | 65 - .../rules-1.14/node-exporter.rules.yaml | 89 - .../prometheus/rules-1.14/node-exporter.yaml | 398 - .../prometheus/rules-1.14/node-network.yaml | 44 - .../prometheus/rules-1.14/node.rules.yaml | 55 - .../rules-1.14/prometheus-operator.yaml | 148 - .../prometheus/rules-1.14/prometheus.yaml | 448 - .../templates/prometheus/service.yaml | 64 - .../prometheus/serviceThanosSidecar.yaml | 39 - .../serviceThanosSidecarExternal.yaml | 46 - .../templates/prometheus/serviceaccount.yaml | 20 - .../templates/prometheus/servicemonitor.yaml | 52 - .../servicemonitorThanosSidecar.yaml | 51 - .../templates/prometheus/servicemonitors.yaml | 38 - .../prometheus/serviceperreplica.yaml | 49 - .../rancher-monitoring/clusterrole.yaml | 135 - .../rancher-monitoring/config-role.yaml | 48 - .../rancher-monitoring/dashboard-role.yaml | 47 - .../addons/ingress-nginx-dashboard.yaml | 18 - .../rancher/cluster-dashboards.yaml | 17 - .../dashboards/rancher/default-dashboard.yaml | 17 - .../dashboards/rancher/k8s-dashboards.yaml | 31 - .../dashboards/rancher/nodes-dashboards.yaml | 17 - .../rancher/performance-dashboards.yaml | 18 - .../dashboards/rancher/pods-dashboards.yaml | 17 - .../rancher/workload-dashboards.yaml | 17 - .../exporters/ingress-nginx/service.yaml | 27 - .../ingress-nginx/servicemonitor.yaml | 49 - .../exporters/rancher/servicemonitor.yaml | 58 - .../rancher-monitoring/hardened.yaml | 147 - .../rancher-monitoring/upgrade/configmap.yaml | 13 - .../rancher-monitoring/upgrade/job.yaml | 46 - .../rancher-monitoring/upgrade/rbac.yaml | 131 - .../templates/thanos-ruler/extrasecret.yaml | 20 - .../templates/thanos-ruler/ingress.yaml | 77 - .../thanos-ruler/podDisruptionBudget.yaml | 21 - .../templates/thanos-ruler/ruler.yaml | 168 - .../templates/thanos-ruler/service.yaml | 53 - .../thanos-ruler/serviceaccount.yaml | 20 - .../thanos-ruler/servicemonitor.yaml | 56 - .../templates/validate-install-crd.yaml | 21 - .../templates/validate-psp-install.yaml | 7 - .../103.0.0+up40.1.2/values.yaml | 4195 -------- index.yaml | 40 +- 536 files changed, 18 insertions(+), 120673 deletions(-) delete mode 100644 assets/rancher-monitoring-crd/rancher-monitoring-crd-103.0.0+up40.1.2.tgz delete mode 100644 assets/rancher-monitoring/rancher-monitoring-103.0.0+up40.1.2.tgz delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/Chart.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/README.md delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagerconfigs.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagers.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-podmonitors.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-probes.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-prometheuses.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-prometheusrules.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-servicemonitors.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-thanosrulers.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/files/crd-manifest.tgz delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/templates/jobs.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/templates/manifest.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/templates/rbac.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring-crd/103.0.0+up40.1.2/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/CHANGELOG.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/CONTRIBUTING.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/app-README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/dashboards/custom-dashboard.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/NOTES.txt delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/_pod.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/configmap-dashboard-provider.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/dashboards-json-configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/deployment.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/extra-manifests.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/headless-service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/hpa.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/image-renderer-deployment.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/image-renderer-network-policy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/image-renderer-service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/ingress.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/networkpolicy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/nginx-config.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/poddisruptionbudget.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/podsecuritypolicy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/pvc.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/rolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/secret-env.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/secret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/statefulset.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/tests/test-configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/tests/test-podsecuritypolicy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/tests/test-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/tests/test-rolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/tests/test-serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/templates/tests/test.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/grafana/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedKubelet/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/hardenedNodeExporter/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/k3sServer/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/NOTES.txt delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/ciliumnetworkpolicy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/crs-configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/deployment.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/kubeconfig-secret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/networkpolicy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/pdb.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/podsecuritypolicy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/psp-clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/psp-clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/rbac-configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/rolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/stsdiscovery-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/stsdiscovery-rolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/templates/verticalpodautoscaler.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kube-state-metrics/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmControllerManager/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmEtcd/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmProxy/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/kubeAdmScheduler/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/NOTES.txt delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/certmanager.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/cluster-role-binding-auth-delegator.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/cluster-role-binding-resource-reader.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/cluster-role-resource-reader.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/custom-metrics-apiservice.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/custom-metrics-cluster-role-binding-hpa.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/custom-metrics-cluster-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/deployment.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/external-metrics-apiservice.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/external-metrics-cluster-role-binding-hpa.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/external-metrics-cluster-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/pdb.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/psp.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/resource-metrics-apiservice.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/resource-metrics-cluster-role-binding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/resource-metrics-cluster-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/role-binding-auth-reader.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/secret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/templates/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-adapter/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/NOTES.txt delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/daemonset.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/endpoints.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/psp-clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/psp-clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/psp.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/templates/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/prometheus-node-exporter/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2ControllerManager/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Etcd/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2IngressNginx/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Proxy/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rke2Scheduler/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeControllerManager/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeEtcd/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeIngressNginx/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeProxy/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/pushprox-clients-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/pushprox-clients.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/pushprox-proxy-rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/pushprox-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/pushprox-servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/rkeScheduler/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/.helmignore delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/Chart.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/README.md delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/scripts/check-wins-version.ps1 delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/scripts/proxy-entry.ps1 delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/scripts/run.ps1 delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/templates/configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/templates/daemonset.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/templates/prometheusrule.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/templates/rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/templates/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/templates/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/charts/windowsExporter/values.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/ingress-nginx/nginx.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/ingress-nginx/request-handling-performance.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/cluster/rancher-cluster-nodes.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/cluster/rancher-cluster.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/home/rancher-default-home.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/k8s/rancher-etcd-nodes.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/k8s/rancher-etcd.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/k8s/rancher-k8s-components-nodes.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/k8s/rancher-k8s-components.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/nodes/rancher-node-detail.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/nodes/rancher-node.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/performance/performance-debugging.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/pods/rancher-pod-containers.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/pods/rancher-pod.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/workloads/rancher-workload-pods.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/rancher/workloads/rancher-workload.json delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/files/upgrade/scripts/delete-workloads-with-old-labels.sh delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/NOTES.txt delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/_helpers.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/alertmanager.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/extrasecret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/ingress.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/ingressperreplica.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/podDisruptionBudget.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/psp-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/psp-rolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/psp.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/secret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/alertmanager/serviceperreplica.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/core-dns/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/core-dns/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-api-server/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-controller-manager/endpoints.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-controller-manager/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-controller-manager/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-dns/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-dns/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-etcd/endpoints.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-etcd/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-etcd/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-proxy/endpoints.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-proxy/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-proxy/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-scheduler/endpoints.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-scheduler/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-scheduler/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kube-state-metrics/validate.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/kubelet/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/exporters/node-exporter/validate.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/configmap-dashboards.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/configmaps-datasources.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/alertmanager-overview.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/apiserver.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/cluster-total.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/controller-manager.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/etcd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/grafana-overview.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/k8s-coredns.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/k8s-resources-cluster.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/k8s-resources-namespace.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/k8s-resources-node.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/k8s-resources-pod.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/k8s-resources-workload.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/k8s-resources-workloads-namespace.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/kubelet.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/namespace-by-pod.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/namespace-by-workload.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/node-cluster-rsrc-use.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/node-rsrc-use.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/nodes-darwin.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/nodes.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/persistentvolumesusage.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/pod-total.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/prometheus-remote-write.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/prometheus.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/scheduler.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/dashboards-1.14/workload-total.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/grafana/namespaces.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/job-createSecret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/job-patchWebhook.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/psp.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/rolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/job-patch/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/mutatingWebhookConfiguration.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/admission-webhooks/validatingWebhookConfiguration.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/certmanager.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/deployment.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/psp-clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/psp-clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/psp.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus-operator/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/_rules.tpl delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/additionalAlertRelabelConfigs.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/additionalAlertmanagerConfigs.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/additionalPrometheusRules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/additionalScrapeConfigs.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/csi-secret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/extrasecret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/ingress.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/ingressThanosSidecar.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/ingressperreplica.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/nginx-config.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/podDisruptionBudget.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/podmonitors.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/prometheus.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/psp-clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/psp-clusterrolebinding.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/psp.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/alertmanager.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/config-reloaders.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/etcd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/general.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/k8s.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-apiserver-availability.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-apiserver-burnrate.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-apiserver-histogram.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-apiserver-slos.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-prometheus-general.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-prometheus-node-recording.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-scheduler.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kube-state-metrics.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubelet.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-apps.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-resources.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-storage.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-system-apiserver.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-system-controller-manager.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-system-kube-proxy.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-system-kubelet.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-system-scheduler.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/kubernetes-system.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/node-exporter.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/node-exporter.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/node-network.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/node.rules.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/prometheus-operator.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/rules-1.14/prometheus.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/serviceThanosSidecar.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/serviceThanosSidecarExternal.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/servicemonitorThanosSidecar.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/servicemonitors.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/prometheus/serviceperreplica.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/clusterrole.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/config-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboard-role.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/addons/ingress-nginx-dashboard.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/rancher/cluster-dashboards.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/rancher/default-dashboard.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/rancher/k8s-dashboards.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/rancher/nodes-dashboards.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/rancher/performance-dashboards.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/rancher/pods-dashboards.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/dashboards/rancher/workload-dashboards.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/exporters/ingress-nginx/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/exporters/ingress-nginx/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/exporters/rancher/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/hardened.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/upgrade/configmap.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/upgrade/job.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/rancher-monitoring/upgrade/rbac.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/thanos-ruler/extrasecret.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/thanos-ruler/ingress.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/thanos-ruler/podDisruptionBudget.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/thanos-ruler/ruler.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/thanos-ruler/service.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/thanos-ruler/serviceaccount.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/thanos-ruler/servicemonitor.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/validate-install-crd.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/templates/validate-psp-install.yaml delete mode 100644 charts/rancher-monitoring/103.0.0+up40.1.2/values.yaml diff --git a/assets/rancher-monitoring-crd/rancher-monitoring-crd-103.0.0+up40.1.2.tgz b/assets/rancher-monitoring-crd/rancher-monitoring-crd-103.0.0+up40.1.2.tgz deleted file mode 100644 index a88d76c30c3efa6199511a13413c8ee8368397d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387428 zcma&Nb97`~(+3(%Cbn(cwr$(ClSwj}*tRA%Cbn(cw$0n~yw6?V_x*G4+iUgi-oJCI zYIm=*>-?(f6n+E*3eexz7bOt2p@b5Hv4kv}j3+0n5wjYDi88CDmNF-syqX%Dth$Yr zp`D4RilRNQgsF`!(0Rw18#a495Kq?wiU#La919}lNRv$B$Ua3a)68J9D+%e#;hmRJ z4K@km>31(67E`jvY@aBf4xjj|?OFC(dW&?Yg67lxew45(y7kjwp`>n_R3yew&irub zQL+GmK<^=Cnt6xly<>TNxHrH{9-p7>>+S=KFlg3`(N5q3zzEDXeK zjFUTV48CR@{F=W!(|I=W@nG=n-Z$q?VPW6=g7XuHSs8y;eSAHS^z?rEwSHYgo`1yv z!%s6a4O$k&X59u?=AsWc>;bo?D}|MaV0`Qy58U;nMqp5j3b7O+&cJ5J5%m80jfsX5 zLqrs}YaycWtB`~+PsWkus8k@lUosFit}iM|vR|CT>0Mk@#7~GKF6`qcf+3c=N9Z6& zeE$zi%wXcrUos^sM!unJ?Cfk7k>uY)2q05h!S8-3UyV?P<-rD`WaH$eZB~N&tt=bx zkfe|h`S0!`d_4LZ3*Ur73}MWaFFl!yKLrGT#o{Jc`*+AEfY0!_(lB0rYB$y~A`mHrr zG0*{nXoJf?bp;HJ%|# zqQp;KnNAXOZ!qVHCG7y1tqbnHIsnOyyA#w!mW7&Hg@CR>%9P_i*IUg`aL^d3M7Z8_ zkRBKK)jHeaM|zxX_B;2$jG1da)^Kd}hw7n5yoXpnV+``dJo}dy1CIyK@|H-SappE+ zR7su)oS%evzomX(m+}E077uaW^)(kRVo#{qV-a(Rn*)tz97&O>b^fa+f2T(>rMnto z`Mqoe4G}7ysEVAV#tHf!lr1z9p}oEVs?5wGf0O=BPqlc!*VV&Ob#Qgvl;7sddz~!H zx?>EH;AfVSpisRojR`FrD_6x)NN_sE-S8pVD8*!}#4k$m3}U9-NJTb5_SDsdr!{+v z(9JIQ+FFr&2aff3tAN5AdMO2>F1}|gV$*Oji5RutL@b0*U_|4LFwaY0@tLF=vR#|6 zvIcB~78Iyzr8wU+gXSyh)ct%vKAUpYEVleUGTvTzU!!WSKhV5F$bOMnTwfvAyDG)r zJ^(h^qB_MswgmjnBirbSkiK6O-bH>^R&{;!MC8xLEL9dV!rfA)tc5JP2lqSbwOd-% zV*x)r<&Uqtwj5QxTTZU&>g8bvb00Tk1w1wvOvHGTYVS~znXD9uIs{6_CH`&5qVZ^Y zAtiQk_^wq5PGbF*uy{)Z1j->xl!>ur>3w#Z$*qj?H{s&u<1c)$QMWsZy55eJo$ydaMe8lEkVyxb>9?l<0fdTB z>us1H8>hXi7e!ewT6e;ML_9=s_36BF@mP`A5VXyt2&K(`CNFg}q5%Q(*0Ed%c_pN)Y7@6YL!~p}APvf%oP>#gR#)ygX zA(H@8y)&Lf@hlH_4^PA$VV?d4x*H;ot8uX_m&J%gJby+ZnJyF-!J1l&)g-`cUaZQ5VHH$qp zN5RE@=NBqBWUiBC?UhE=0PTTejE0xoiS@e!(bU^X>%|U1hqrQdS{;``d6Uyf-> zXf3_q)wIU-Gd@SO+q79D6}$U%QFhLRXoX9pUWX89FdP3`l_K>xbd;IDRQiAd{h%S+ z82_r|=j8a!TVH{c%mTX&R8eO`Avv_5&5tF`1<@fTSdf~E3B@VbWS9R zQ;d;mY7o+bIVOBPXTN)Rn`osRG3(`P;XsF69nTR9@F%-Jn@A0XT(QCM$}g)Ukm}gu;C{b<|w5Q)}ydb}yi8mr2>Q74(0k{(}DW^k+Rtrkd2$0FQn<}rE7b7$y`K;(@1R@V>5T63HG4j^#lT687MYfQwu4*shX z+RU!EkGH`K=dD0J{=?gv%NwY@X@)&TtORr|!i12dLojGculDYWZ#_HGXcLt<8qbW2 z98-VN@si!A#U2aT3{?hU^=hveqLkuxG#qTd)LhyYUzlkg+WM8zfB2dfEQp1lQI^;* zhqf>!qE2~(cA(~@;g6V->tPQZxcPot^PDPfcdfk`@938F^k>0@dYKF8F))TrPG|kW z*H}m7Z0l--d6DyeN0gUpR&kfm+U>oo5 z`dYuGK6X?~x7K!ihkoC^lW%>L=K#A7`0;vq)L?ww9PcP|e7#`QAh26rgzedwdupN< zMx7X|n;f5tM11Pq1;%SNa4zDfe48Qj3K5gXM@IYYKFo-gKk&W@>NWM-`6~hu&hFve z{cENNT|Rlz4JC$xfCY0k&gP&|FMJV$V=LTg|2G zMY`2=gu*Yz!<0`0)WyoB3q`vynP55!)U?pbUn=)jW39}Mdg`IfTOnyX_UQ^lvc%%a z!Rp$jBuV73clEl~c(w6F4ad}{?B!cZXi97?10x5BEd<6JY}j>ZSnLQ|dLA1nBlDSl zX`&`MT@@Ub?OX@M<7nXA__IMz57?8gEk{m?>EnE7E$gIhsZVC$#CZ;j9nN@qtw}af zgNDO~TG+r?{iR|y+P;#oyodAK!45+)&&+N;=edRs)VR4Q{v`$lV)Q0s`I>=p{= zbVfdC4?ivB~$rp zM-aY1)2I0_tv^HoB4nD~s`5THW1rrwU0nuWygzQg?SAn=@i-V6=1seaV5~-Sbjcyt zuN1M_H&Oc4gt#+wU6S-^a1Qj{>hOl-%auDU%28UwhNcn5iON(2fwCHLzn0 zrHWbHSxLqA_6B}$p#~x(XVdZsH}BVh&=CrVo|JdKunwJ!vJfInO1E(F^`t{Im5?nJ z@lO`jbP*u(5C~n&4$c@5;80t-e|gIO3jXkObht(z#)kp)piy!V)}enzWHy#S zkcg>ICO5)9CVIwA)n}{nPb}5eMS297bf$@U^Pih|u;i(Idk9IPiasi1CJ`bUiLi0r z{ac$4nBAZH< z(J{5x1G7BC@6)s*>?*Qn=D*hL>v~jiB=e>-4kc!)qaL3Rsn@7WCGyOvyG)2Fp@*wD z(`K1N^gd$s5rqih_s=d$mBM(|*UC3>XS*&aX{ryhZ_on+cAt39@G$n>UUty~;)e{b z{KK^HNQg`mW!=VUjPFNXdT5MkJVtwe#X_pixv;=^=;T=voQPbWAhIY^ehzE$K&CAz8w>ncXx}E2`J3~LbmW1E6~7-jKC0|S;yhbXLr4f zlhNp$shgSKop3PzNvBk#KAUmA4M#4?GIcZ`JaBSRfNphRL{S}di?@&2g9ceigVe!~ zU?ve$9dS^tzY|ZQVIX>LG0@8 z$3BKO$PVIFohk_xV<5Ig4_!=F(xN%LKb0xsE+Z;RIkB@ z%+Q*;2rbq|kBQq9Z&SfhO&0blNV>$NhXW7wDETfs^e81&iutMz%j^peUI8;9M-`r= z+E6`Y7iQLSdVLFH9E^#r{cq153wiS2vF^X56cRr{#YHHNZ0b63zqI{rU%z_(#z}be z*ZA zWR`)V8*|tYBR>IQ@d4e}G+y9{jZ*D$&I)jJJY}P=r8g&)vnKs|4At&Ws*{}Lwj-r) z7KOC@p%7=QlzLFKScrk-$bw`V)=C@*I#MXbae0y=P$IKnWQAg7&SF%d%&ums#Bzbz z%%YN{)0Oqx)W9}L*|w;3we8Yc@2!UOWQmv<<-izoRDTFV*>pk5fbgwl*Eeyn(?My7 z3bJ=tpj>mzL`rT8F(R~ABhkNMZkREm#8_Pf?+hPS)tEU&9!Vg4pe5EK@ufIJb!-o! z;oS+VFqPLvRaF)wDzY|xN5w4+hi*ZS#|(QU$%3hYC{l?NDExK469@-$GH&x|h{HEb z+f@lw$<~&l;(bF{wdusJIqk^!q{G%Y{ykt{MtfQGRguIKz=1FL40n z7&zai!WNM?ti?=5Bh_IvQ8~eqwSL|v#RWy#RMv{9fo>?|xYSlQFkdA^xcU3+r7&`w%@cQZuBCguoD8lXekHh=`J*hcc#^ zNw|4pM1`trNZW;d*5UCQCzTFVoAd-agF0Sgc=HH{IkF|Dn3c23hKwacgI;RpL;D}{ zq6lvVqT4GJ@fER&j3vb@4E@W`s_im!)k9nxDRC9uG5&IB=MY2*(^`3EB&N0|5U8~|EVCvcy&2!7BlPt}{ z#pm%MZF<8WvO0(P2c8$Hy6pH5Kg?Pn(LkoGwU?_>*9G_^? zHMJTGB7iNujGvSm4W{)@ByBBK#B;I5c!xcLElnnY>`T(Ms$TMv!{~drIv11s`a=4A znue>xM8XJwAtC2}c!+&#B|yGKvklP#o~H6`p7USGOs@qFLuR$d!#9~FFLLxA0=GEh z@7z4KxOH8+`r3Gj{<8B68JZN)jP3do!NNe(`{8B5x>s7*!-DZYC`h6OlzOpOIBOLXJ1gPE5p zPLvT|YTl^0B4qEhynTYyNpdfpVMM(yCI87#XZBvxp2c*uWO!}{ExvHYqc`wUG@%|W z6E=8(s|2e()_6KTf`n#1MdLd1ryR7m%p43kR#az?MV)JW=q_*BQ1U`_qqc@fqXF&k z_AAYK1-;)A7D>Wp%MglI>X73`(@9#(055yHTWl;Es&e5y#xZ5TbN(f2sjU?JiCl*g z;koz+h&dr)bEJlAMmcC^eHg1=HW<17pvLwh^=d8^0&9Et59r#yLHU@AfL2g{18!CO z!8I7#V~Y_P(&+Gi?}C zTOZV>`x{-e7N2m%2`Xjo@g(8>#6+7n0*)W_d(3a55+H9o3q9N0J7-xJ_Ha#2@b+K4 z+&LHRZx!Wx*=7M(m$P~GQ-@55h+|OQwl|;{0@zn+M9dwdXlhdZ7LOkqNuOZ=*5mwg4y3?-E_2@c#obPf9 z0aZB~36$RG&X011BAso7gv7U5=|w`F*wC+XMoHmW2vb=UkBd~T7h<;y+>FBjyGB1iPeBq0YA*1wgX zplF2Uzdr{pw(`P4Dk@2TQbcXQJi}vt3M66dfyK)DT%2wBUR+jqjU(;ZCmOP37$%g` zB#>v#)C8_`2^Dh(%T=Mv-TcS9Foi%&BDD~|SohN{AJ)=S<(rG)3d;0BuH-TVj*S)G zjG{<=J2QI0-7)d~Y}RwbR9IK^4_U57=&}q%UPQUxHb-XndLkqWWE@VBW6@P40p;${ zebY9aBI{Yl*`U`G#|>~vY29_IHfJzQWWm(3sL_g+M+^tFSdkH4K4K%Wk%>)M^rb}E z?*I}G?uIF$9pQfE|1xBpS*6DZ_^+aSrw1wv<0I!FR?_MElxl9PAX6{c_7J5kpJm?^ zaZlN2*J1RXm$iUZLHqF7e`lO)*hozm>O$)fl#O>j-J}%G_Rni+&Q;31W=p@|KoUCB z%!?KmOXjX5;QoAI8r_S?M-M=s%65s29GLAzwSLw^*FM`0fA~=iO6f2l3RDH5=pBLxJ*L=vcrHP(kLSE@Y_hrLBo2N73o%&Y8=T~UQ2uQ zqtJY6F;5(_$TisjRc|sBfyKoVh$%9RfO%9Ib7Df)w|FtxHW#j*Wir0rbxO_es~6tH zj)^p>eR*xkq|-V;+AUTpp@fluE`ZP1lK!Pu#strBTNwTn`NSkQMSO)=r??2+E%WU$ zAKcJaXC#FFgsmt6e@T&tRI%T?HjXld%GhBs8-J>9Oe}@IYEm``Wi}V@)eYlqN zwzJFY1}DlRmEK^?aP-ZOwxFe@%gc8qL4a9IeTtqL=Fg1HWV4fc#OI`Jau8isSz-X8 zX&{(UHieO$9TU?2z!+E)M{ZWV-pTcB6odXjO*uX z!#1D&7L;<z^vEEs2+pRs4+#;U2NY=E zM?2cwEVpWQt@|6=eVBLJ13ZZ+*$YcX^P1lE7wu_G7p+-QA6Wgw5)-#4wld~x_A2IU zRdd>BiUw1u_DK?&cG|*g?0ybR4qLUG)bDs01tG%B0jKwx#p1lo^EQ*t_g7%dHV*iY z8il0ddu4Y0Fh3_iGHk*8LQG>eL1J{{h8{h#)RLF-Jk~PV)n4%CR%Os5fXduyf1c_J zQw#@^HFq%qtJo`av;nEu8`O21tpPsar7rVMWz#4HB{E%l;-UP`c6OCLFME%k+D=sN zosMZ2&1fLjy&dC}U;M*FsB4+guh5EAb6Otmc?^jEb1UM>4`QoH5Y_yHn9?tiWIof# z?71r~o99|P0Fc{sEfHIkUP3LBR;&#wlqkT7y5Aq>*;^+2z*;jS}t`yD2g;MF5OmBmKe zo*x=kn>Mk&kl{M-uG^juqhgQu%Pd1Y(Ggx!hQ2;X=8QthHszl#=RTG6`!A`|;_skF*r& zjBSI~^2qwRFx*}yK1ukfKPgNbnH2l2^P~({GyAH7^N5`#1)xP3^P~(I_1l9CNTrFM zBZGBmyw2^|HMn#n%Khkf*aYDmGJYdop4im^glZa~d|- zshLKtD$yBdTMjSU!azMG;#vj&Lq#x3v7C|QzVfWwq-SUM~? zN%`lh@bq%K{DftxmpS(E8+bfE3BSZA8qmm<;D~tQd#SotG7KM=_~cwSkofm#7@QXD zpTt}C(d$D5jEA$RU1ToqtApLDZ?d9O_JA1lAJmJq1V34KLV`bzqUsbOzr6T&4+dgn+H2ChQq_nb+ z3YRl$O%f*0OWq;=)^RsA<}vzsCn2|Wy|a>XZfIO&RM%Xr&Po@J_WamV^8C}}gLTM5 z%}%JROD|lc(4gWUjf#GEWk;s=^GChz@L;TCl&f#q#9F0GCDn#uiypu@m1a`EH;cBB zW@u-d(UtDKMWK>+)W(JC^DINva^^nCh*~S9cP)6)2WF(uh)-=<^YoI5wFbOItglaU zv(bkYtEKmS)-|5udg!pEc~kCcEgNiD9uDAr-hCiac^Te7?7~*`t7@bD=jeMwoL{r6 z8&*52+YlNsaG=@yD<8J4K{>2v{SbQ?;c)i48Rf9M8KVIgz>NW~G_qeb*kxyw5pW1$ z!=3MD#@2(LNfMZG2}wAF^YE{P{(1Sv1&B!W@q}=|hS?f)8U9J$DXe$|TR)`@Z(x^r zf2@{sY+t=5j(MNW+C@#`X}vLoKR^ZdI?Kwj$3Qzc9?D7|$ZL=PfD_Fp_cA_mx-qZZ zgS#)>E|=p+^t|SIR4F>|0YA)BZEj!b?#CN}Koi%X5^BJR;I;wh8Uq3*E#ihsdChC3 zy-*1g?eeAmix~F@b;I@0b>&aujyNiZf-U0j(9te_KxSWIOx_L!OUkZCxF>oC7z$VM zFxk9#a}Y35-bCO%(?BbG+jb*(3@lisAi{fij2a9q@4%@a(z8Q-DGoVWGS?zFqfuLIi5us;0Pe+Vx$_>&@1vADW z$#aR7r(e#Ih^g*Z3L!?7%0`950ji(|;b3qmh`6{<=L~yg=(?Wwsbd>uIr`9qVZU|m z$0WTk@dOdm;)YFv*;L`CIo+4eWX(3{2E)MwkHFiG-*@P^{OThn@vqXYUytM$XBh=e zdNn0Pa&(q7Z=!Y$pJpDV?GvTKB3;SLtJDsghf639swOGVHf3=P)c}?Bt5%tv)ktOHlOJOua%k#S;V5M(w{qU>7d}T}B`(d|M5+*;1>*zbu#|)%;=gW6DY>Tw6 z5(=#q^VZ%qo7$(}6RNBWaHAG8<#mzJ^!{=Kbf2W$w-w4i$ywIfX3ekbNyG?n`AOD# zAYIyoNj#{6_-S9Xa8<;kRdpJ+8|t!kSr@e!S`qCk%`F0|u&%PI2`pHFNxfd~uG}{0 zZMAq8RI)-9p^AsE_mtXb;oLB3-!1RsmFA-5S}2_~A2k)t0;3UCA;f=eJ46p_QzeOP zO*U{0SQfNa3?eCoVWe3?&rf3}Z`E3ZC#{>zyDM5N4Ut3k2wCxPD7cu-bMt8q&FTwh zHGh*2g-~YIFN|Gn@qN}TJ8V*rq#e3Yl&UnPaAxU)uP980pZ5wc1w%~sVVh2J+%cql zN>paPS0br%MXmmG*~6zpHRd6-oW4>>TB!e$YZl$)5=LTBXMnAn~nEjI7;cMsyKQ|;))fcAPQMV@j!CEsjip~k?kf@ zL94<5ou@)oew`6QnQ@HR$o1moB3I%w525e|VTJDsnwi=gR*K&pMwyu^bdi5K_zx_2 zK^*%|@FIBYXB3Zbg-;9OV6r{j9p_K1PT{{Qj%y-(K@3mhqjJD;PPVlj9h!bnZ%f!0K;fJ`h4%a+-oXF4;+Hp$ zhja3vvf(MtHP2@S%)rtO*uQl!?$VDxb7v$_F|hugn!5wvea^3F1|KZOtLnZn{f`}p z-e`jJe}-XD(0RVo6^0R|@SH&pA+FmZZH?iybkqA{EWzaC^Uoxg0o)Dek;w9s z@Ua0)t(>cz%IEf?J55CpOKuV$m@=d=T-!GZ6&z1WSm>Zq89v(%7iP1f8-$*kJZ2*) zHBZ`68GVL;n#Xt+Wx>IYx8$LxcaNKQYLpBeTh1^D>j8@9MXzjiaKL4~v`J6-YjdL& zMKIfG{oX{RzU)XJyKhEw^t5Bsu9B15dD1ak+3kZ6W~gAeE9brF*sI4*hn3T9qtaGY z+U;YK=16MJ_WOn}uhSZnq-by9qIt(s^<@X`C7MCIHz| z)X8S5+D#XQto6Bj@k3=(jgs-ZXxjNC9PLMR_>{cEz2W2i}2A4?e)CnU2N5eHYmo6zFVs~8!9-A0YnHYWQO=DAY>-ym3-If60I2qq(=CD>f!>BilEo` z>tx<~A^ZBF{ECyzCoi3|H*2o>sdxF~ZiUP3QDwlV(XD7u?U0zdTAK9r^K`&@qAmeq zuBxumPCbs^FF4OO3P^PAw}m#lKnZxD*E4XS7vKwu?U^0SUl<$37IXw2K$O17$zF0T z)`{UZXJOjP07H-p z^%tAZp51Y9ov7gMV@)8@_hMz;alSDaG#s-Z|K3UC^yC+^+zW(f8qt7+L1AEHdB+@@ zOyDuFqE!5I9Ra6eV0{9Oer;Q zrB$Sk&O{VfX%esNytNS~oPG|;_Nj;sA;_-;eeG~mV2XM0VOw|D{X^l)+Ham>W^D?E zvUg;VXR8|nNnf|u01Bjn#7OfkTL`fyYey^Qu|Z;==3JxbiIDl)hsvc#c`-z+5}mOa z-66Rg{CkuLlPnTl;t0nK;}#*~NLam<#@n&pY@IaS*mTvgZQ^Jh0@Stlr0WPqNV)5De#7%G8o>Gli z>JP9NJYml%+4~jWNRk?htxw`fj4qNIzCl_DwM7JM-;%S}=p;IfMAwSRM$ez2mmY*of7WHjZhip$x(##-!Wu_J?TYQy++dYJ1d< zQ~&m-hXvK+lg4_r!ObHDYXh;te8XyF+O4{6J=_GVOLmiw$s`_hu_@7+FPk&>qTD(D zKOmEs(X*~osaLy?TFan!hgHZWzT`2w?)Q#D+|?dWu96s*>oZZDFLp1{VLy19hfy8GZz?XDaVtI?nQjG>Bwyc&fDS5#LjWbjS zt2p3WO$NBa&8^F6c8zF-8QqB6@J!6Ee14Mm5;d1cLs<8+y%EAZoH+_-9#_Ng)rI+t zyU<=BHU{@qsaCp0*-WG=uxyDgbH7dyOj~ExPK$k09{ZqGeMAwX5W$cqSI${OO-EEr z6Y-D}>L1o7CZfG^yTe10B!{6!va0OazC!y!?P0?sd#pNs#8*^z^1JKxjN5s$XwNns zdb8}~0&%7fX_|O(Wz^+lZxzIN5>*pEKjii_3g}=Vx7~}qyAY;1aR=Oi5|qwV!1DpX zN%U|>%Y{8%|A&)|mec=lPI7w+;3S@|6xEw>3VI#LzuUPI)%CvtrT|XzSJoSd#QG6r zcuNy#|0>XA;)x`P{4XG}sPiu;0bl@5;`#7@Imy8S^v~N-JWIv7J2pG za*{-K`~Q}c{I!Gozd1>w`qfJ8_sp#RcYPPy5n0y8$!=JE9mecfSHcL2w#D*1;ntm79o1B%n4ev`ez)hinG^EdG>jlA0(fN$x;C=ik&Db=`6(-Y7>oYT* ztef1Sa&^34#>>iC?d=g}8uunj!zpqSs8Iy5!nkgh_R5Zi^&7do4{1}| zq3RehahvRH|M3_gS+?T8VCtYL?Fmtl_&Z<4H7rXNB&XwGaMx+vN-?G6?!=~;3^;58 z8yG1=*yzp<$Q`0t_#J4Sa2w9Q|8OIU@DC>mTS))mUrHLV|J6^zPr|1E?LU+hRJ=+7 zBy56vIJo~XcDWsw;EyM{fRVF=O(z6ksvq-@>=RHk*$J3~a}iK8C+HH%)yM(nKY(m4 zNcTB3kQqDx11$zvfCU=jaEJu`J1FOVL&`u03Y#GOxdfal-1jekg^BViyKKz`{CdDj191hH5&sTx;NJnVb-80stIYDY$=Iq9WVDeu zQ>{F06(kqB(r(KpqnMo1dx(g@n7oXWv#uP6&Ly}Q%hUkR2Ni^Y z&+D5qI^cGk#W^mSXg&9c>zA3WO=QnWuaLMrub4S4hDS;IqZ_(i5bHej1x}P~(=29q z1cR|!-DUtZ`*Cvd@wK$SAA}_My*s_0!{+gE3Al?{d@IH00#@P|I0c7)?ko0vX0T;I z)WPoLZ8>Z4q1vnTf(!}n<8lcec)3>7lY8Ealc*nhMK+n`mwXHIETLhhNsk}Cp0~en z7M=MyP1ahupAJ!!$|UbNU3|ntB%bHKbfN6-C08kNQVpwPHbrX%inhar`fDs!7U-5&?&%5J$O=a_xM@HVowni)zv~z^5Vd0T|Lp|8j>ys2e zPp9jHKKh&=p4S6A5ii}%FGvAZe|=y$h#n1)UzIv9_Ee4yJGaR8@urBXf<1;y5v$=tIyl>oVOJ z9S(9)XGAqKL0Y}tbD!M}duUZdT1$Le8*ss%?QbOazi`r`D+<-61+M6-y(&E3%8T#H z`?V$Pc&~i^M)`oRuiFKtx*;!n#W?$U>dC*be#cT@t#w%)|5m!UQPy1SizD-g%cqfw zdPzQi&iulAIJ+K~Xmoz=5fodR*)+T!{Sw+1Vp>x(_VHK|1CZP%L6o6wrA!f%n6844v0VZ_7ey*Sc zjpG3@a5;Fu3V@;=w=ux~4#h%{D8V#9|E!2g;IEdIMHDDuHxQKIc6MJphk^k6fu4=q z|Ia)WU|nE<&{Y`JWQu8>b_Fz8j9AscVjYmO3J(6)rC?wI;#^l@(0_g+1oy8R;(rEs z7=WyK-)9h^ezO<&->whUx7cSizkZ>3be?nJp%&lo13WGX357NflxhMRSnh>0KK=u) z!}iPa7ls|8ebHuH`W+VVaBmy~xcow@L#zdtIWq!|J;*Imm!CP~ee}ql&?9fo>v$_~ z+QCfX%tW_0I(N$5c*2D}EFFaiQxXF4e{3k{BrH9hp$E>{0Q!HWOxbNAV_*G-qOe2ZIg0w3uZ}9WqMbKBzI1-HAt9@ z>GbY@f5vTf&;T*Bb$A;Nwb=7}B~d>x6Z%9B`Cpi%3{Fp>oVKzEq~=+DMvjv7-q}Gr z-9&Dkax+C4)7*j?C$b}*vT}t>Sfi3(_2`xU3_Rp4Btp_g8kG>h48!>y`Hdr|=Vkrd z_K)vJ%!zTwb}*(S05CBQ=zl`4$o~HmauLr6vL(j-WJ0x{zs80Ulb| zcNe*f`0PV|+pqU!w%NT2*0aseg-w%)J5@>Tu#nl%6xfD^O{zWts*2{93SD=I1>3nM58z zK>YJ9u1PX5Eo!&a4C+z?;cSe!Js1m@-Gt@f-75(S_i{$NWa`E_tz_{Or=*f^D3F23 z;^*ILI-|cO>%v@;D?!g)=-#z(xd(^KS?SInrC-NNP8Jfdu%)@qKj)_n6n+V= zeET~>mgcr$3tRo?&|m%mKJpbN=_>)-0r58_1_~%Z=;VG=5_XRTh!V28a0^%+%Ksbnd>421k zg{_XM1paE-SVRFB0x1aY{BJ!=ELQ7(>skKVvH0Jf1t4qQhtb8#-pkGL!!%QGyNN~4 zxPR6|L`KLWqi;!9Aw`RaRK&zmgZp*=7VsF_lydL%Cta^%B4K~<9hf3ke2ovokWRnG zU#Fh`$g!TvB>O?Q`h>whiefnh;T2O$T&x?XAd9Hb8uQqC_A)kBPJ<&e^@PwNDQc3o zo)I0UH(nK7|IRqog_)N!F42j^7O06n#yn-#6t8`*Bijr$@%yq)cO2c*cL3UOK4j_N?%J)5t6wHEA8sX-K~GqIlf*2kHab zt@Lwg0k7DqKG;Qye6OM*g#mI_-i>Sp+02pD9K{XAj*K#Q-)`D_+J z#$>UdMl=eMh1lB=;L#56K+z6>FX4Y&*n|JVVBvp$0dX6&>;Nc1LjZcW?H0&(BYlBeGda31Apj7t z3V{NuqX$am1z_-*c;SCofc{p3{!`gHHDEJlhiB zTj2q12im~mUc{=~5?$gjXgDYT=5e+qs*6u2xo2}Rq@e+PIQaW;wrR6=EjUaRAUibO z3^)}A_TSsj#kf9(8ERRs^@H-_|7a21MFj81|0QL&~#Y(s6$xSECA#Rj|Q zgBDU*E1r()p~GFjdrVn5g>Q7wX>4=$hT1!ndtjr7@v9=zpYJO8nMz$zm9UWoRWG>@ zl@nLUJgThF4w6HZNBTAJD;vUh(*)|F6oXW$i|{cE@Feo00-slYpXz9y1TskNA_$VH ztD-6^EWfm%p@ic@SmYpxLCUq_lya-FngU6CEo6dJ0z$_nOh)weMlY=L)yyfSvDvIy z-G6TYht^K-PZ%WVG#Z%=QMM&y8QN-)uNV-eMHiUq$q-74$9;z1#10d3xdsH~WAmhV zjo15y;is!3_=pdcGbpE^bw(;5g##=E^?MdH`2$ zdV%_WeD53&wuy6dMfm+6~Y#234vWVGJvXHrIm{3WX zO0nBG{{hg`Oc9rMV6+}e8c-TG6Z0JTThS_;T*JbZZoiB+9D670`cdVm|1EUIJ zP2D?a!*Umusd~@4*$msK77z;77x28tMu$2gfGtOcaO?hAZFfYA8qQ=#(`03i1T{re zDs(izeEVwu;aOCPV!hTHc}0(=t_f-sK<>mfwJWR!Tyw>O_FJ#b4HXNw2>1w4`zWRl zY@ntA|5t%!c`m zXdPOFW4Ivb1vG`n+KFSxao)fA+yCyJSO4Vocpv!e3kcxH&4$!fH{=r=TOS?P;*gTxU)Wk#a$|V-FuVHKA zF+{!-2k#uQ?c!`TbwIVE!LS=_N2%)|pD45;h z)%dqN!J%&+ojJyukOnn6LAZaGV%32RvCJ*Mu^ih=_^b(=ewMJzen0+FP&l*-_AMic(5`9U;MGXSOj^oJbXD>0>+-2WkBJW?KThd73iH8ZJLcIk|^c&2UcRa9bBI)wyZ; zRXergxmd4Y!sa72p!Y(*YY-(55)+|W#=?r2#Hf}um-t$aOcTetnkft>RIcsJrk4}& zrpH3@Ro2;|@K03`+BSU1R9yeR?W1a)dVsPNe(|!t*dTDD!!%N%Qrv8=K*w2eeFC*p zO&PLf*}9GSC%I|`5R#c$gd$|aca51c^a6T(Yop2D zF!wqEH0!DQ#+#EFJKk4DF!?E#;m+CQsmN4ZCFO6TJ?947F zFyx&Mw?1PL!;n2O(V|>!?I&lp zV3F0T%s0yijfuKccAnM3jGP0MTzTrvaUtQG3U+=OT1BUTP8J}g*0z?!xWV)95pr6Q zn1rR8w|LCJAL>#d6VHYYM;jCcvSVCr3?YWyctRraNk4e#AJX$>F=YGs+$Mi3wW4Kd z&vcv0W0EEbUyqRSD0vf1pk1@)PYv)rJBrg#JTYp&b)>3zCsO{gtOwp#t7p4*`Ty|r z&e5GbPq=Wn$;QdXwr%qh+qP{xn`~^`wr$(CZTrpdd*6HinCa@Sr>f_iK0Rlqrk)y1 zS0d$qbP$SDBmyfkf$sYe4n)w1rUg9M^h+K6w`oY?O=G_PF%rm*rC|)V0^)^SvaY7w zL-VC9goG$@<`ufGLMKLL2ef%YjLedOJ4=9Da0&*3G5P>*kLHHG3Km?;-Jm8W_2qyi z@xslGC|xbd#y?A_(h^Ga8>_;=(eX;B>a#q!lPuE+snKFLP6oq+gIHn%!#aPmaX2lw z(_IkQm@Y-TL)Hiw@{Koxtals6RPfONq#L-_>83JaSw4yR>q%U%PE9!rQq1Y5)D?71 zZ4PPE7@YO)%EF-aU;QAC?j%2VfM`U17lKuCqjf$^%gk)bW|3LmHP-NiG8%K%RX?&w zUOQ;fp@9oh7>2Cw^^Sti7KLh$(N41)*dp1DR)HCeJ`Eht_CBkIj-zY9Ks%)5D5%BM z1h-09(AizR&=$(*+Hq0OUcgi6g7%5U(O9)h>x2cj9pNM>^S>#_7siJX+htBZ5`#&` zyS@;Kd(Bc6q-Q>%}tBV8#Vs-9+_$uEUMl3FKM6ftk*OM zR)TkQ$;72#yPb`1 z7HR(|LeP_-kk79D@RRmbAz>{C&3@m9Vbx@~`#T11Dq@iWwy-0>gjw#DJ?#ae>|)jQ zUgl1563x{z*ho!I?s5;Cb73}W)A2f5T_jU&vL91%=lyb{ht-F zrn&wH_aHyT;x%%Ld(vB1U*FHPJzM#ObH<;3V^=6i{~KQOsz>eEsRsfP-p()%ejjr= zWWzjip!TujI!~8_sQt*s-{jAbqz#h}8TUpK7i{g0U2u_4#4a4{M(%C95YwPFX1sc@ zN{%TTXHxY-0(+Q=o31l94)s>!YY3aggM)MU*hUF;Qt&wUK~$Nzo6eia!>Xmx!a`|X;+E!;ALN>I^^<$ z>5XyGP~Kv(m0eww4eT(58C~H~vL7o+@RUL9X z*uHBF^xQSRozrww%0$BB3*eHgaiOG&5r;_4Kp$^yuXH9dr> z(d66=GpZ$N4_;|Hb4Vty2~+sz1y_xC4NlDcS@I-L_s$4NQ^Xrm-OZXMlw(+fg(>57 zAcoevJGVzaMcBh60{tstniyBcHi4SzfNK(aReot=SRKOj{GXQ6ud<`-$g(c+9l|P^ zMh5L#|6a#X7}VFY%1SO7`i@zB!Uxr1vFxfQrBg1ca#!L((1tGg!iI0%ZB~{+>#u!A z`ikVr`lSi{0ndQ0?61|}T`E_u2ME4*BZ87XaA%akh&%Qg1Zz_Q@XJIfCcDQjD#(<) zzu1z9W-&KIV+qP72N)%R@CWv0?qt1KRe1)iM?`9KjT!;k(BztlT7 zm~dBwruN9I2WT|tOvM4PLPh7{tzJhKM+aRjL<~)hIgt;0GkLW8K9v=w>K>ZUnKUEj zd%>p>HG+Y*`tzSB~X4SXYqg1D| zz<5so9&WF}nlrFAcgK58NGe@G9%^mhs!kV7KgoD;i+QfBsWOaQHeN3`Z;uqSJ~oOV zrjq{Pwt$?^-`QySUwY%#zo|=2zqTbZrD(GIwl>zIT|1(AX6;?tJ#jnUx@=chbv&vq z;vJT`T&oSNhYDSw{5`Q+kSXZ84IWevg~;@&4PI>NlWEAb4<0uq`XV!RW(dYZl7&oC z`=uA^45VhT36zAcW}p}9Poe^<7fSOp0u7Y3f;WwHo=nxvHCAa5_L>T7+4X119=cR=GcrPULmEpHJOK8>d-LbPB_0a=4=4L(xgUaQwfK+Y%D+%nYWP7H1YS(`^d z&wY^1=(kl4&NMr$d>m!+SA}R%&##DVyRV)x<^@tjD*=sL`X_P1l>o(Y95KR`SU`>W z5`Mhiy_5i{zzA`Rpemvf(!&FgfD0Hz3=VJ|(F>9P1>_}9;05G=T_+GDQNIgF5)cBe zAL+*5GZqJ!@wedrY)`=TsQy-Jf&ZV)+KT4)vw`oB{&)V_#>zmN?%tCG@p`cQ|HGR7 z7?}X2f)T{y8zEJIju5M*i`O90tfa`)RK}ACtP*AFL5rlD)o^9%5uMVsBs&m4jZmxv zG{srhsLJ%B76>=>>TrN-in5NguCNvBLC;zEX;)_i(5T&8{f$vXaDWn&>4o#l2#6WY z0~#>`PNl|=2REwolR~`&N~PvZ6Cw>K`RV*h0`x+S|KEE4N>bzUBUzfo zrmiIcl7ykIHTj<_#TuCZ>l);Zvc4E=uyqd2hUN7bAERMpK+LBSb=`rVCU zIr>K>-Q>rN`AvtEbjCY!ibROCtNhf&LDC}fQ4IT3^C{Y_c)ovqc)VkFv%@s0uGTG1 zTz$IVRO)1mEHB^GoWBY-2drIY-`((n@wEz}3zVQFOEfM$;LST#I{hN*o;0 zsXqlYAF5XO}vqN;~p&Z zO|Y3iU;Fr-i5n>MdtFAiST`q{EXQ%+P2)X0$*bRU{qmi5y%X3xQ~27vl1*>I>ZR+c zRTj)Kctu+|=*-lVj!G-bW2uf*x!jK8s;L>br>8;E^70=eZ~ok03-B`KeLFu3V<4q+ z5uimVe~ZOrUb#yC#x~(aN|cr_1zlqjtIUt?V=}a2I+>}es4P6ze2Pr-1*ZO-xwL31 z&LsW3DT4O!5CdLnZ;>nmx)~;zOeC4wT&obU>Jz8zzLvdqIW)hy+ZwHtxunOR~lXDl~r>l__ig z9Jzk|MAu|mQ3OfC z<}c><*YPDtGFuIBwhhEVKUJdrgwEVRv-B}{HE0l}B$o6DuX&XLbk@{Rc_*Kt|Xwur0it5Y(lwMgiNcZt~zf;~3>;z*2*9 zbUG(C!O@nAG_TB~trB8>*!kJ!jPYzr83n`L@1$IG}D8OuEXKG3*31CiEXKfks$hTo#s1CMNsc#@J53i zUx4jo^l&8WJ5QaKk6_L3h3Wn=Db5KNyxx7QJ!wy{`E+qz$QrvSvN6G3uvd$Q28|MC z5bV1^?^ZD8kbMp-tcGU+)oI%gaK=E?3D`jm>InnM zfiP4Tm~mzNjGmsd^-p}Sy~QQEobGzBwVBp5_g-z{8-Frf-mF+lm#!Ym`+uyY@Cu0S z&#E`0(}fCdnj}vbdvQ8UJ(3?qkmlE%jsp+$kalJ>dji<*Sa zo>3^wE&C^{R@I*hc(U4*-gL;%X)Q3kCa3{YT}McdDs)Zn>B5qMRpZQp-O28O9;1st z)JU)^ebQXzd)^0z#e4<|G?D=6+((aY+c%fseD8cH{1OWKR2 zog^UaA85eXUztE~zIHEk{lPV|eS(Vc2iVXT@lr;M9}=CYGR6cMXu0EIL>a_^ht9JV z)knkO$LH8`7&imOiq2bP?-h^ihgpz91-4dYu35D@L}%Id<8tr$C+7!?aR)!xp!CX< zR#d{w5reU;KdkceLQXZj*^SkPY>wmZEbSLb+kd^#mv`x8z-sSnSm{~=XtDjD zT+DB2J6~gvlC2yMSKyMZ9uxn`rk@r!VMBN^ol!hMDQ4U>%*pO7Iw)c8rVQ{&-}ZVP(4ZD9U;#?0Ms~a#Oz|u#D|JD@rrOmq%aMMM~=;n z7Oia~&K{mh7>o<>y|Lxn-1%wYdvka`?RvzueUNP{k=;LcY<}vf^+r9uJ)UXn!h5c! zMl;@Ec*qi7K~g#)p-@(25tcQe1U7&=ZjPUV$~Hq9h?u)rF6;%J3O8HIxKRge*empT zP1e3^HolrkcF(e!_h3P6HR1eB?-5VryYC=vc}3_}hUp4qlGZ_ilj_GnJXb=&7?2iYg8VJV+hKE zi_|r=9N*bkn`>($WY-N^3Tx?X@^MIvy!yGx7r+e$tab+0K8&`PtJlq8ukK9w-(@o{aZyBAm%8MI=?jZmRqE z*8KJ+v#VyEl190&uBhr|t6USA?sLkPQHrRCnB0`&2^D##*?OE)swwxAv+U%PIS(oD zSzP&E9rekz@oKX1&hDdZh_*kznpxRHcB=46x@c1xGNT&|(CNd4O&G2dV7wxH2V-6) zH!B>axr>@_CXNcy&YGy7EGw0mvc@R6sN^Z&1H^R9t9R007RA4?NIR9Yl6rNid{a+X z$_&T82PZPvEXfM@B88WB6M_mTAnwxd(t{nbMQtOv1T|-9Q?$M>A5`L*wP$`W>auMm z&Ysin{3dayb}P~}#*NOs3dO}r!>SrYdD96@V~$sn7$b!qw2p*n5LTo=Uz1%FU^XY` za7=`Y!3WM|BAj8xh!)Q|i2yhvLuC;c&H0OH7mqm{*UmFvz_5ANQFTIwo-C2yB{do3 zo5*@_V2y=wP$Ou(7s#Z>6cLt9Hrd{Zo*c7aHl;i)h|sQAeBcoM1Z+Yi02*ha!~jKu z7v&P`eFyzygW3bYvOHJQP;7?Dk!II?q>CkjX})cI@EJy?{Dyp5o>olXMH40k-^!(|E zv8{_^WGLdmH6$Kk7H_F>j}&o4cKBo*b)C&9c5Y{d6w9kaVo}ONOx?pcETwO~`{CGG z1}2trT1Z_;Z7-d3Y;YKY63&{g^WkWJIJi9Q6|@po>pUJ<2c)usE2MfJG2JyaJ$R(c_o`cIbrc)! zr#0DH0EW!@%1s) z)C1}p@6<^vX{Id)$`6@hfo1BtlK;VuawxuB68yy30qNO^K5JIRtcY6iMy*ko+5i+p zcENOGY9Xh*ZRx(b0T#l>e>}4eCQ4H4v`9t)!szCfGgi-i%j+ES#MN*8Etq-xURw^T ziMkpzL5GbS^$x}e20;*ooo%L@IDh?y8BBJ8+BX?Sl2^AtRU_T}?o|?CZ}?@zky+dq zxo9=rUxeCeRX8+0SU<(PhG~WfIQOAqn~B95OU7EGPZjGOtFm}<;_J)9eKWebdD_no zenpmWwFJVmndyi}YUQP4F%w$vA@OeHxN9>z{-(2;k+KF&zB&FuCAR|jY-YI8NoZ%o zv6u}$9$LWkndsndH#ndqG)eG0&EX^NHwN8{)0YSC9x7NtP%vdzF37YhPlqjji&P1$ z1BV^C3~%Dxaurp=^fL!*@wC+~ z2HUzi74Mvd;%m4jugN(NBR)dMyJT*tER~n{aZK0SE)!mIPF_&(r)6>(t5u`hd+W-l zIAxN%l4r3H7J}wCzo{cp2oV)b9v_Z{G{K4LSU5JbB;4Fm-08fRoTZSLo`&RX z12@mIj}}bPI!C*ifsyVOmzH#W*#4umw;Gr_92IhBTVgX>u5@XW%rTZyKMBCJbTJQo;E9P@i{eKMGUV zCTFD!B$03fe$s5rOhlhh+t!1rB0EiQ^KXl&VJ_O?kL2C?Q`0*)$nVs_ix8~-3FL(g zEvRklCwWQaS-&6Biz#GVUug^z9~pF|e~QOZgf>#p$Am$16STiVdm$cQ(wsrXj=!{9 z;UwTdt}8Z}W!bwRRb{drGVP&Ngr~tPR@$UgdmG|UxFrk$-pT-}M+UIMtnvJEU8f zi>lWhq3d?_Ub(yABp4*VA79%A5dSuO>I&WOPIGNvbc}z!c$u1dzAwVlefc>1+@)Q0 zcn;3JtbIM&yrXcqUxpf)9;Y86tTQUH6B%3d4EDf%5-1QpVpLf9sjSkWrCO1v7}8GK z=$Aet3S$VkiXyE-COfNNEE>4|1kz<}p>F8nAY9AWfHNSnGwy+|R2KVamK)Bm)_bgm zqL_M?n%y#hn>dmzr-7N2b?p;we)484*lEmp?RB`RC(w%~rk%oSK&ia0$RSb^r+F`9xOJkfzqb{%neM{AEqkg?)nZtQdLOkJlOBvGVB~hnEYS zrw^_xcDgF}H9KK8bA?Zlm&K+x*cZnH)|)B;^}ai;);>tHr3=*JUwvqri7%F%ME+}k zVeOJF;ZZH~!s8QTtJ;rtDwm<8z%b^M)QB38iN~RQL0AUwhm_zkmP_g?&cWEW94C4J z6ZL0u@RFrgOSrK5jW=HtyLD5jKvQx7vJp%z;P#$DBDU`H)dJ9kkIlw3%p8oDgX*0n z9(2ol27Ot*a~+hEk*=O;0>-_icj3f}oU`}nu^6ElV}2Kzp)JzY%xqrPXF#+F&8nnH zd!~`BrLIZ?wVh0aZpetUQZ|6<-ySAcaKp4vw18wNs?NW(p%%O>=UVUo^6r_#rrZI4 zMT*6on=J^m3gTD%QP|UUVljT6A=1R(5!-TX@TY$fVvWASwuOHxSmBjbP4^dwoiHHS z!o&dPDDe{5a!l|eR!@47x zp)itSY9_R!?%B8LwQb6NQ)QR_N4eg{6iw-3)#Zb+$LrPiSxHm88PYnYr1;fW{MPTJ zfvY@1;3Oat+br(wPmByuzXRIee&x!0TG}o}wFR3(9oX0z%iFU^4vZJsYkxphg#(lb z%s?K48_A7a%EgG7>8KULJ4jNg%RyeyR=7G4-fOzPk03q{U>ivQsYD+~TxeAa)kyXPWi_!b*@L$rp2Ls#>FMRuDO*TX z|Ki3Of$EbMCDoII6X+~U<7VvN^AjZueMg2Oyadn& zhn5>Di$?$4w~^gucySR_mQQ0$<~pD=SSheuA+0-YF=*4XNsPx;Tq3-a(7RO68#w+m z)!Oo&q~uOZy7Gr#gsa}W@ZM}=Op|vt2=&JYJL+Aq^Z&z09fR(f9+mI`l%eNXyt7du zjRsR~#pk)RN18BE0FN5Nvt?E+xJp{RY1KDEwzpLz=_BSQE@8PLZNa?clOzxdiEFRt z0FdQw(JC{NunhlwDl;FSNm|Sat5mZHU_K03v_4~MYVHq`npbnl3$%?ba7^UzmmH*w zY|lzZ{CJi1ee2IYVwVyPg>rDeecF3Juhta|l^?6(Wf%G#7Z_h4v>gnod+xW=zP_Fo zQ<`cdVtKMmh0(-I&sPkUh(SM++rXBoyv*31S<>Ce?&0Wge+NZ@p7?s%p3d6L)W*A@ zRiMk6|Ll0qNPqT7Q{GTLqA_#vl(oc>vZr(pPUlt;6{eTzJ&Av-GypmL)=f1}EH6KlH}ahF_3W(xOk88ijBi*Q! ztMyA|btjmNGqwJrffkXw;3P zDYi_pkzPy#)&hU;X%yz_hp7cknDj8SnAO7SOQtZ4)Pl%(+ z3~Uh(O=}MLckJTXMeOH^3D>Tz{-DvMNHe-tNrcIH@L)z%)bkSu=T>yobN>G4i5uU4 zV&(CFk|KnsQ%AJd$B7#}kLYl_FE8o##O&>s_m9ng;OFUKs*N8@-P(PgH^k%4E=DLX z4VzCCH&}NQoK1(-@ktSf%wH(^f6Sl_wMFWjO`G8!dN;1@_UziO=TO*7iW3LEEqRi0 zl1b874Fd>-cLu!@gYOlK!nOh52Zk@CWN#$#3F$`JM$6kN4%b5;v6@{&Ek!XG;TJC$ z`AUi(G2VEFUc&plBi7#rVQI*Bd`0i5f3)%c*mN?NGm2BMw`@z8%GF`A)CStgna2= ziJr*2We2-J5ft&uzxI>ODo2(wmA6SG=Vo_yd#uLhDzPJu4Q5j7fs^};XbtJRwAbPg zk*m{7bB#51-lFIS&_W5#%RMY_DLWM>MVu9x7zsZL1bT#(t-3m+lT_I@RO=lg2+UKM z&HiOA=y6W0hxAtxAsC$yw2C&z9o{*69%*kvztFtAMUeRYov=ex4YlTS;g9l(4Yoec zGH$cI-qTZRFi}oHRkb{6kTrT&s_*pCElhwWD_O=|9(iPNctp*l)S@;y{z2^%s;}B& zvmP&#YS0|ta4C(lZN1h1Oh1ohHn8N2L}DKXhqIU+ALt}lb8HX7Q)j;AOgxkN} zkQJ7(Qh8n4gE0T&uSoHjc zD%R?PO@`yOjg{x)?H)Ix0^f+AHME3r)v_xb7fr^^EJpa>c14^I!)35EYE~cU+(@Mu z@*QkXb^L;q-%WWr8fpZg+@aS!K*=M(uk1w-<7KKRF2l9y@vHj7fMP+U-=pG@J05== z#mk-Z#c8hxSG@$8iNufsu-N{lFTz_&Eo#_Z_FK)EA8$eq20-zPF23I5;Z>d8#EpvJ zO^Ebe6@ZVRBB(nvIWa1T_-I(rFkNCvxM<#@gm|X8tRHWAx>p{3J9ckPOIXu@POliad86ER=b)sK)n`DqJPO*Sr(zKs`(cI+4?^*j8=emWUqH zFt+A7mPM;UCWShWK`~+HCQ_2k7^x*^MQ|k+CZ@8}3@=Jcg*Hcx$P zs|L}L7fvXI$+bIihX7Aq&-DJM-O{y|PY!pHFA3h5?f}I5*7Tr=6m=bGH3z{l62 z42OFf2X}B>lqe_$eY~GLhJ)eqCBEG0kuby-|3q%LmI!MNnvv{AAEfw(UcQbmZK97Q zyeOV)i?^ydv3Q`t^#z8pz-iJg$|%VJwBFN7nkYzmuxXVWa&5C?^7yUtHseyhOzg(y zEKZ=G#F1mi)@09}3Uz8XfIMpBi`9Dd9p8U{;`eACP8cdGbNA3f*WeII380DM_CTp| zfiWI2#oe>9E9C9;4VYIF>qwj6d^PgzY;m!b;1}fDGTnY{g3j`Lda`QlRfBlFtacpTwM zlfn)|4h!=rq(AN?t+TXksYm%r{TL_1Qul^MuMG1aDds*C%zP$kcubT1<4*rq6wUfi z%l(1PG&%e~xnIQXKi&HAe+GEp6Abg*fCtrde)|dLZSSbmqaTl%KT2FTAMdkChIy|O zj{lrS|EKxCbMfA!_EaAI1QLx^vpW)u7tKVr+N)p3(GEdXDMl;cWu-?8)b0{HbFvJg z(^9j?E9SQk3EU~b>0aHoIC>*g)AQ^SOT@{@6BHLle~%dnH<~oM34C3jx^{n?yF4|| z&)a5Cew}A`^L^UDeZOq3Zcq6*@O^w;Ts%Ci(`|XVI6l5*e_RyX3M+2y$?|3TjO%&kzH3MaNEeiXam_kxY1RpVlki zQBpMWbSHmbqPo6{mYB>lB*`94)F2_Q~s^W2spw zO!k@%M<&ubxK{`GNF@-P2&v^15$2-=xxmD(dy$E3e-euAbNi+(*YyE&6-!g0#|IE} zQTUIi1a#^?={A*>`mw99lW%RyuJ7yPu13|wPCL1A!R?R~zcxhNhI5;`+jWBh3&P}!OJc`u}OOH-+B|hH6GBw zDvV`Jjw;99w|q~^gyL0VFzBMC30ZDLbs^e63fu}+lh#pnBsItpDUgaax)NN_7|$7X zwQ_BvLld}jeXxm51um#KGTZ+3nAI==la3l$Yh{kfvTC|a$s9Qzqd7_Rv^)qnSY4A- z=_l-F5u8Z36mg^=T*N?Gw2XjBR@$t?_SNTU-wF@!%(_IdH5i_5wGz1OWoK*gk8DI~ ziC0L-54M+VAdUISL9TVDEBsneeIj<8Vk?QYd41%U&g1tqaRG%>c6;T#bkJ?gKw|&N zL<1R$(%cMzepIJPf55#t;`VZR9lHsgTd%%L#3l-AVOWR@;E=x0}HYE%{^UEUX z8{2Vm;jqd9TRE#lKGGv)S}F{WX+3oXCmmR;82l5EfsYXR*Rw{xV#v;DlYXO;E)AS& z0_rZ$PI_I98Gl@|%^=WXI#&aUR7r6?axd*5u5r*$DYlwc7hIf|sMsXJv`2I1Tv}4< zakc3&Das3Z8wd_MmIW%yk&swky6K9w*bz}F9S-#zyV>~)X<8-bpsCrkZ#4|(-FlA8 z^qhX~j%x5syzj0Y6neZ$!qlyU&O1h3vdCP<`K2Jo?@=0z%*u5E83(aG_Y!XI=RF@$ z9+RQp(BLTYt85&%IwQKI9$(i? zUW{m%$f2!>F!^u_Kaz05!%q7?3tvLNGaux}O(rK`vlbF)l+`5l^&dvix&^)fRGS{S z46-^Shdg7fF!gwvm1!bNIZokfbgeDF2@HtbI}}`lrHi5grt$P*9jRfhB$Iw5-@0hfN8o?jXZ^#yEjNt3=Uv?OhG5* z|NV-ge);E&4wYIjbAnt?ZA;HF=|w9sdnlB)J|RqVkLyfBBNa;H77|xb10;2zRnar= zEMuXfS5(Lo+iW(U3BU7{ol z?mH&>$(9KvSO-s`FA_l6srJ(mk(=LI309^wzA7t$knm)iLMm`qhT&d+b)CZ;OrnyG z3<}$xAS1yx+HGD5{tnm|LileguMs(PrR(9cq7Ov`m~FV?DL$EY-$Lb6;p}y3CWduY zOfoYU4?3fW2oiCL@!D3=z3D>rXA;OD0~$LWp!{rf`Bxop#|o@k>kr}v8ft0e*r?oO>sfVR`?9f^bCHQToUiO zN572*GA;*)-vy4!mYhON>md{|mNLcak_6U*?XzG7^c9$Fz7bx%IrtZaiN~3RZmYj) zthpH^oYZGf7KqK^`y(AYjy+&c94(iiWr|9vSQHWXkOCJQE3DxX9sl;H?^yVORg#OF zH$6fjm<#A;X&1AI2GrFh#~)Fe2zc6w_qnNRP5k*wmU!ei0ZaXqRnTfk4-@ zeH_RAS2g?8p@UX;e&*>D z6?edR+$uJi5cAn_)mL0k%GU0@ZGEMP@&)b1Tt5I;Dc-eQDKZ`iey(ye-3FRbZ)F2@ zdTzdo42Rq!&Qhfc1qed(B8;Hb_TYYq7Ed*u)y1ULYzeQ_AXITMB+a$xHALmtQAX4) zV2NvfuA-ilIkMgOY47g%)4+{zyrP9bWM`h^BUW*%JIR32_D4WPyA&4QE5~NgB~KW` z(V>@`NlQA0QW+$>^{QYq0z}2%sdfQ~x?rwR%P`9Y2jwi3w}FD8H1_iQf^)aZet)Pf z9c0hv%#fHhg;vs_;@DVvTr5QHC#B5GB5V8U4}CMX1uRFR_($I(|6%*bMe~o&qVRx_ zM0=k>CU}8K@Pd%IW)sOdd~<-1*z(}vFz+CeyL$zS<{S{o-Ay_E2Y~l}fJ~73adGtn z!u!w1k6u(g_6PEVKK>bn$kNUB_(9`({J{Q?F(Ucv|D6Hei!`M);a>zCUAB*5)l=1l-PqzNZh{|(zuedrmND;z$)ad8x=eEBG(%jdcDIKh5=ySEi= znJpm^($Ir!2-KP=oLi~SV40Ju04iT~N6^TU63lT3Z8?U&NlywvodGK=4`5$QiJq%5 zZ^c7P+2yYQqP4^NJpUzfnl?LUyqlD;PX#$?Q98s{X$3V&_3e;{UU0vUbBYG%Ah`yZ zb^MSt8^3rkLaT3a zyw|DnEcX2v3pMrR z!sMq7MQ!HPjge`buIilU(Pk66fBUxPJ=thd(+i}Ix}s0p1RW>)rmlGqNwkH;;u<&t zsx<3dU&5goM-m)JC8p0QN{kV91yQI5yWeaQlrG9|w(|R|4H09p67_eGkC(Vg45l&4 z1t0HwHDCPT&_-20a^ze|VNsCoKtO2XDiH$95$+jjZ#&Abk@p)A?(YMaSyh~@ql+tZ z(`}O=tw{*EuVLEzl2pE)yt!)Pl4yE^93sBzbW)eO;&t(g=&!yX$`w1DuJ2ouz6#;x<6 z;UB=NxvIp8#9|YkBIgrbkSHWHl(neo|MHT)wr>%5hciR>38uUT>j`DnWk!P2J_NnD z=srm54DdB9dn9J3om(<`;n>45T!NG_TVaVi`G_nIc`zaGxNa<1v!I+3ml7Ye7)(Sw z)a{4srY5H&nzzz+fzOuN5aK$&klzvNHHtbI%e*as;Rf={N^>cyHnQmk3r0mWg-B>< zn0PZnkOWcpqBy_r6!$a~(%Zdf!!xwy`*LcOz z%b&jrDw&ee!Ok(_J~X;imsf5U9#qL;>)WX5WtG79!qw7E^rwm%HmO9KSy(n zihJyA6KvqdJZx^G6@XV1-rse(V-@p3lOp9_YREvKv&__Kz(F8uI-BpE1V9yGBH7UO zn1?bwDKK=X7fBXz3Cm~$(U`)uq4<)>0HXd=ufFc8I0p%%vQAOjgB6T4i+=7<_V@ZVJY>LCLN+%+@yqBR>g=$BL^7M^%&&8JWw3Rt@{h{Ap(IgQ z(gsv{mLgxi$m+rE)wC@J@|!*I%KSxnjX28;EOq8Idi!BZ3JFr?)_fKSYX39=mZDi_ zU(dJ4LC+AxVanDTwZ*A!`Kp3$uJEaGq(4$4BdF~hDWAZpCr3si@~mySxky@GE5Q|J z$lY9lUShMkACYg+WpYgtwwT?5x$OK46xYV5W4Tcdj0gISe zQHydd{JZ#`6E$38(2ipezcxZP_S5Wy!NyY*8n#k|S_}dfhjylotkHWqWMREr{HS$p zV8_6t&bW#%^rB%Ljk`TOVb5FJ<^5?i#yAbDfgul#XUQke*ckETh&;-lPj`~3Lt4(@ zR|P`hCumKX=Rc;}=VFkVaZa0A>sH}d3l!_ib}(@EhO3c@FqBWm(yEUD%E;n!vv^6K zsgKn@yF@vlN|&aKH|#(u#`HtT3g{6&9`bf&|Exl-6{Rwr_+&kB?p(UKErc!?V1aq+ zl7z3?Z1dQRdLMWU1GIE{!S!{lUo2j_fSdif2(><-@5N>s;YtW`!ruYF49u9pPjn`F zuerpdJJXxR-c4lMBV51k$L=|2OlS;(NwutM&jX`fN=`icKjkvHAYicUmix|l!<67I zUm|XDA98p|o>T&~dK0q}8`3uGCVSrCyF8PDx~dA+vxCxU9M))o{r|c42;+Bb^wsjS zBC5*`?&Kc>;P==Cpsv&6q>`Y|tyCQyU;%70{q2U00aDDu2}3KpFWNJgb3mJR5=F}u z@&`EhrXy(^Q0~XZLABtJzz9V z-y32Mo~@Sca(IRz`{sXaP3^Fm(7VtwQJ6Tf9ymz-SppJ$gPU6NY*vvmWNPxaQn3_! zE|s((5c)MJ*vkwgv;qW{#H-=a%G05p1J?t5Pt_US1NTbYmH`4|LP7R6NBVu!+EM@jr*#R5xv8}i@| z%7ci_EEMKo)fXbRkjf^t{!JmUp7Hw$6R=FL@E-}LWpv)C8={mvb?wt#@kGo-tRxOD zPuAeg3?ox=n6VBQkXEXiV_uC4cUnk@8P^==f#0QT;^${+`y$=oba~yEr5mnKDmksr zIo>^HWmT0#Tdt2fn@edNt74I?=lL&6jqXk5YQD^Jumpsc&8i>;YyK3HBdKFSp|VRE z8=81(?he9Optfa%zPfNbY@Rv~h;vAwbqbKjsNC4#8W&j*F?-tu-*sdqll57DosYjU zE7wRPSS=7v(e7m_Hy6lqDxDa$ytlb2ZI8qvSsOLfY*=@(X&}-#4r&y+;u6oCjWob( zVfZkzelZ_uPar3*4QJOutk1CEJkMAxhLmHhKhb8gkQFVSezC2P)ff3JZjqk?I<~mL z^!0M22boynd#GMd(&R@>yJ)Zr)_KEsS#Bv}BF7y$Z)Usxwtu|3yOdVKjEIX83q>}k zpAyekAf$yA35^o}uZy;?Kq!tG5$ytyD3JUsKi95ckj4!8R{JR;9s4UE`TM>A?2oHB z(w?NH8hlVmQ>`u194;=2_kLr`d)ksUmCZRlc1Yb;Ca@1r#9dg%9sMCjE&|5ulB87HI=`%A>EQHO!Gk!DhJs~>wh zV&q9!EZkWnPCO4K0KcPo$*0Iu8EPc-werPeAFZ`v5ba%OpPkik=Ou&G!*;u?0Zi8h z^02VwW~7k+n-MYeDrwNZkPK)-`qA?lZzt>2;iLcskdpKBqxUR|q5}HAv+nfprObt8Zjf?13!;roor*;ANFzn(8I;DG|t9{MaEzF8!SJi zlBRz|6*yV;6?d;%k03e;O~32mugqmAC61VC`Q?&dMF=1coS9{Z?vWq6YK;=JN`Vpd zn_?oX|9|Y=Q*$rh7eDx%*g3In+qP}nww;{Vwr$%dw(U=BJDKzQ&&)HJs=4{z?W*ps z>b~i!z4q(9)(`i1FuuwL&S_hX=`c>zQmg-KJp!r$+ADLLD?3lze)*xYVvQ!PUi^>u z`}U20X3p2uzcRFW)6e_KjeK9$5Wk=Mb6Zp17D69CH#hIsa};~twocDCIseC*_Iz^N z>!N(wZsY2Y42jdf()KPH+>M|>?Q1*O#z}X#ySp$o&X?^oWHsLrl@rLjhaC~@5B`Kv z+c@Yp&#Xuiy2?S^#MFx}zJXK?Uvsso<;5wI{8vz*dBa{uk=tY;t=%mr7ee8zfBOSa z5^Y2^lzgK!6kc@E$(~@HWQD5NB^L?VwNUKQ07t&^Q`a78@OSW$R=B4c~MtkP?rM3+@bliK>>keTvSTU@o?89ctOX%&2y1T z&&~?4gi?tKcsoD??Vv&P^3m`ya|fKjY6C3~l4jkyUKq@i_F89La>w8`6Kpox-#qTw zIMf~vdm~?zJQAj@j9t#MSiVZ9)o;%6T3Q*%hlHr|pF;Sop>Op+#HSETbQAQ?ew({` zfK<2JaOK{wl=?YxJ3HKvUsS|YF8Ym4qSQYB6uyzmMshDAL|bXiP%;8Eg$$u{Di3ln(l>4L?F+q3$4PRZ2yP zazRY+HlGhyLY59r$*x73^2hJz4CqY#ni>dLCMxKN7sV&Uqcj4;?GN~KaqDScballT zjG8<5%L}aVt|bvoFXJ^JQ+1vu$<^*7)bUC&Z1evSShfWk+%)|JD!3tsEy-;pNv5hm zKfvB$=tlS}_6=LSc~eta%Zu<++@C})^ktQN4Lh%Z{I9#R=;-2?@m)+npx05-+1LFd zk7o{}sP{3s;w2Fa`Qx;F;rdMte}TIn(o<`npVH4~v+LFKn*3Qoo``GJtY3AUAJQ~H z?}Mbrm^R}YPTrP?OAuAg;z|auriVF$LSN}U_9~XGVA;75L&E+gTcmL@m9yoDIb(ti zS&KiZXM>-78U<_NdL1}ZhFc|W9y*h!9G4{nCx$fXAPL}5Q!xH-CR1rkcq{^2kL;sf zkt{+>!ei>ZiO{A66DuFP=zUpBJQ;*Nv23ZGs8pXQ6X~|4SK}f;rEL7FWRWE`hr;k* z^a^QME^j34$&e&$OhL+;UG~|6GskUQsztRfdBH7H=I}(N0O^WHvJ^6`*sRgS+fcuu z(hL*p)7DwDc5Ks~-PX?B#kageqR&O_=48dxVCh0z%~C(1<=>W@x5k-axZ)T_?^XjB zb%5(5Q}Cc7KK-{y%Ph~!j8rr76$TQDgr_wzKzah^_HE5h3**-;)y>DL*P5RrDO*9H z-T&keaL$fM+UE(>OUQAj`2KfPcu#ShDr?t@6AEqO<-5uq3^AVSriFiybc<_3Vs~JZ z6xfm{2ePJ{Zcf4@P7v<)>P!Y?BBoa{m(uTd z{58^y1#Hr)3N2%8qUS*C(2zQl-fbW_EyPW?p@alBp_6;Pcrb0pf~{79M&fIH58saa zcDjAx+g^24TjUky^<0lG_!Hz~xK)@-@_-=s4JP;7b@wzviKZ?QKr-^on%2=%XkB>}mM$uu<2hRU<^L1XFdi%d8`;11tABktYeN9nbo44Mn zZ?W#DxH^v-)3Ra!$F#9mr=S~y8fghO+v_zTz6@>L*&N;O{*hA0H7AXSjUtO?G7QC# z-RX7r4t^6VcUh--KCrt0kv@||r=)*bGOLHHTu^^NY8_)OCCLX7x8DfGG77)R?kI-- zd^>{EW?ys%*%k139#M;D7HzcgWDy@m-3-ozwRJ+Ms;>tb)_J zo~lzhTFhnH>9NT3V8|yFRp%;F^P0BkXVhvOA`31sTCcf3DDAaQXoT?-6eJm%kjaum zBxJN>N!C#Vb~o*{BNuz?$UXp7!Od9S`og?m1Md#A^(${|3=Y?rx9H5q1FvnG;|!WS zEV0oaZ4{@w=3=R)4GTIoyBQ|o(5U6^DdL=&>4%(ttj5+W$ugPw=-HIu4LjAl?PFda z1m+%3*jL()AwQk4*z;LQAuhtT2adqprKW5nYtw< zMG(&VT}NNDJ_5PI=X;EStS=Du#UM6sqK+&4>WtI9^xwstDgnpy3YbYN6s!cygcwO! z;gV2;IBY;k-Ak0v%8B}Rneujt{B}ma2ePD-&o{IbGH6`ovMmmePxQ9FeY=KK1h*wXb z0|+>#R_d&Y;isOz$q6{yJEAf&l-UoRJ>>yP%z|PAC zjqpGYniQ@WeUYTk45N{xjW&_J&S1E7XSpdSv^s0f7;z_lr@e8SN7_;N#cvOGGD@c{ zbz*M{)>Gon4@}j6{>6Ob%mtr9Q6M?4ypi-{snZi;j4@P zx9N+7vS4qAW>9p%Dh7AdD$B*j5{XiR(DZ*5{W(3#j;NfTJtA@!(GCUMhL59^Fp*(_ z-&=M=asfGnzOJ6|$pyU1rVp3(o?rMbUc}6mHjcQJ&!S25S=P_gCqnvI* z*CyPL=@#Jc7*k_O+t7s>n5&Ij+s~M9X;>1#(DnL+>iY0QUDs0x1EzkdXGb>kmw3sT zA=VInzVa8_lCyJ*Y^ID-bUVzMapdptWb%C$z01kb3A)S z2Mdgh$DFoZ6HHlEt;b4|f3IUtIh>jsFZ_=>y*#I6nFE>=JJMo>^)U!!Q5BVdeGpeX zhtg*^9-#saM39jwYX9ZR)=^ev`p)cyi!oSmm=Q!LLZ{YQsrP! zuq-$aYh1?J)R{&>$x>=GcTj%!;vg#r-}e?Cn?==EiMlitsD!5~Xv^DQNMI#2b*^FT z3=Z-Bt>OT}sZVI44rmc4-1COb#(oM@rGRx-W4MaP0zcp;eA6EPj1ldOkh!V+GNFz} zc}t|z2wWdTKW;4LF!ttxm_ClJu<_+=roN%dK#(E2e9phB3S%vz+_ovAI#kOVnQ6ZB zU_+DsRs2M|xz?PXs3u~`8Czn7e6EwH*gY+MZm5ioJ;-OF2BYX7qub5q2SVP7~n9OM%J&v#z|>Xz)SXVbO^mcgv;ZEsu_^Szd4UHKmW!MV9g zQ%d!8Tp3kT$~N-vQu7?rQtZd<=s6X&ccJ74GgZSBmetB82Me>-K^@X!Thc4i>tVf3 zj%%R}DVvMZe?44&y3YQJz#^*7M^BHNZk~EvZefCh!wp{M+dp{ASr|TsEN4<^Hp(3W zkQn-*J^44{299$q)>kaBeKVk77(n6a1T9PfTGJJ+gkT#Mno85m#=qh;x#58tD?KHx z^=y35fL9U+WQqxR%uPvIkuyvy?bHtyL7bq5<&;AnM0S&0F5#E+xZB#bR|% zjZ$0i{uE*ZWieENi_fiY2N)4JH72@O|1q&b;Aad9Uaqm|GmoO2uvc}4!mt5Tr81p+ zejs7iCs3j6MY_tdY|f;tYb)a~bzH9$xXhZ!w)`iJpOSo%6 zoKA1FTU_sh)bpwbnNWMnEQgSLi>>n6-850ruYdod!ufx3v({BZ@<*Oy@Z(PRk9Fo> zZ#pQSD71gI(NDEHF* z#+|qbA#pHuf)#g&I!cp3;YS>ryOL_*jAxw$AQ@zi#H+ zt<@VKG!bjV(p9;h=pU}LFD4r(j~(nb&i{zsZAM)SG={<;u%ZGOW;mErTCojPE?R4( z1X{xswydjJ|6cx}XN=m`dB+=JTvt0@eSfB$e1tldh8&Q!nTDm zS{Ck=jsms|hPlm)JqOmK65=ke-G0hQl7~11y#!$u#|V)unnNPyPgl-712+E{O1HLh zfI*$KVspX#H%$8zB{ikPhyO=NcVY8IbwU0#rorUib z#{vS3aE30WOvYTkOY2FQ`>D)-*netj?Z?~wP7FB(sk)+IEaf~{WK_L()!^TWzYZeB zbP&g%BC+xnR(&7@1n&wa&D1Y1q|MR4c;&PxjQFlN0n54N+VsM{nIES<=pJSBLFJ`R z?y7=n#~(el=KH18IiH@l$|_9%($AXjI3P{D6I|#nWj)vBn-to@jGQK@+t`EFdIh|q zE#%NU#t$cUHD~ET&p8CM3Fb$<>Bf1wz4wB!58Lu}hU;VG&YK9bbslnPJn^PA>11U= z+s2i-2&<0|)LY!20#{KZPUznT-j)p;Y}Aa#{m9SPUlG%gbvNcuUp8!6njAtDn>dS( zk8Z-oge|VNb~W{g{Z~=T9(X*c*xY>pzT}=(CgTl_%|IuNUyORbSjt0JXC6?nXqCCA z)b$|xP5ChsAiP1}R(uS#n{l))52zZs4f(t4Eu}@Wv?0yD^x-HWs@7_anP^{v>l+2= z&zU@Jy*-I)MPg-R4UI%6E!Lc7zDvjbJf09a!@CY(@B7HFpGh#~mpE75tx19hefx`u zFQ?0S3)CJ6>_*+pKOkQB-jG2FoU#`q{Bw5Q|IW2=< zMEGDvv_Aj-Xxx>3kQB) z&L4hY4g%EaJF7d-wfKabEk$2Zw@xuMKE^A~h2q|#mvTOK7U+;jC z3pz&%0p^|~ueuVia3iOtCn(_l&l3rIkuXY970)r53+r2j1n7A;^1~-x? zgp?MR#Jhd@LZDrSGWtF*52=?F()-5!Tu?22wd}UtPCtqML=mK| zREzC4y>S$5|%>!}RQHXF_ zl4yNV>6e}V0zs`o6<#s5m->;B8gv@ z;N+OlG8d)Jc*bhIBoQi2G3|^?&BNF6{W%C*o0i)F zhH5mOnXMYS1>2?E+VMJr3Ch3Kuu;y!KQ+!;cpDHa&7zz0p|gH58+N@eH^SYkWk~0} zZqZKW1|-`%qW(*N2R72>l&y8}BaD99n^vriGwjc9x!D`cT3`}#zL(PhcDB&+GLWK9 zQFdMW{ct(0x3cM_Fh2VTg8$R^WFSe_oS2p7qG~e4opLWiWE~rez5b-Pcxl-&!qnKt zEpIMEm4GN4s3XowmUHct+poPEP^h$q+gQXdy5BgLSR^KGS ztPM&@d0%ARl{w<&)rMMc+qBV@TpN>_i5spD42;umW^U~T4cq9S1?{wCD2E*O>gq@V z^2dlL^3j=MctbL$ZZu^nB}{W{ZZi6 zd}oHmOEk@fU|iS5@uA~L9?t`XJPcIA&{E+C0wylqv_Tb5uKj$^?}1V){9}&;>2j z)C&(A{0lWS+1A%?bA`f3^~ntwADla@C})N?7qy`dhygw6STu~8kv`-QlY7kbI@=N% zA!1UFBH@Qq$kLz6^W)>|Iv(d9WgxOw%g@PmUT%dUcyGeFtsDexeTycXJjmzf8C%PH z&RQ9@=&~MzhQcb)sbL5RLeKtOWIOc0Fo*I{kZDXe)l|fU=Dx#qJ}1rljhlb}(cLF7 znVR$rKYkey;im`hyT?qk zRPukKcCsxbe!X1Qsqu&A`PF});kWult!f5PL=POY{5X(4Ttu2W>+n5+jHt}nGl}Ee zYhW>3Zae%0kyYCjb!!i6Km%9iW*6y8#DoZ63sKClUARC?#%Y*&$~7m?3EtVr^&$g= zem@6NbF{UW{>oOuPVR4QXm#6!HSOYqJ$c|Je7XTn)o{JN-__<S=z?mp7Sv2j|{k`hIDRA&1V z4>IbrPY)3n^zbyfjc2nT4hf9uOAZ7xVDYaJ)pUy?=RlMIku1^sH$}1D%UQ6lQXZ92 z;8eXrHwYbsIV%xu#87FqN1GI;i4ek3r1g+s_)LH|O0ZKY>jR!QKGQFWX@5d!`5ho& zEov&|_zYs*K*fgK5Q-aJZM5?#sM4weFCk<+6^I}9-%mwD2IK6^0YyWe1LO*p7dfQRFIN#{CS=HSDo_A+O!chVFoB(zg%bl%N< zFOrCNNOks*1fUH}e&Th*K%3%JtGU@0{uqoUm7lq~FrK2@X&B}0vdq!mKa8_;yX(cf z&KRI0_n}!kDB>S0w~CUVrPN%oGPC!fmChyAzq`>Sh}`4nbDG5d*V2y5uA(O~#wxR( zb_KO%Id!S1^OP0#5y!bV1f|I#YWBH-1PD}uFdVlvS}1E-0x?>Vq_)M@YzI?>x_7Js z2&Hgi`a2qQ!>DyOeIrK1=BD;JQMwD4dqCQ~#F>Kr+@w-aU0niMLWMOOTc z07VE_n4*Uwai$nIZ`%uML$MdJ8K9|dd47CcQjhY!z+ePZ;Se+S+duIlCQHt+2%GZkEAqxwVnmp& zR}h6y{^;Ih%ttTRmrLefARa;-$DD~lH>y_qLj(pQo#r05{C#fugE-TAa+L{c@ZeCK zIrt7V5o2%$gdIj%xWiRN@TB`hM3~fFkSj^+oNQ|tQ4j%z1!Ew`$Bl~m8$EIH~PeF+I;XW{y zS+^3aBSxKx+0$W`QT;&T=YHCec|M|>P%8l>L=NFn^MT9%NQ-%%TmK~^*uMK_#}QNa zQ%v>*=TEKKnHa|mRrPb3lK5{x==DlGM|(joe4ob4pDXjk{5V(lHNRN%eg6?niF2~M z_(g^lU80m@353XfJLCwFMQ^1L<=f8L5Iocf6n?J^#{D6y=E;-iMPvCFR+wD`4*j{% zc#Prcb5}{N{Ksw8z?AAH7P~~*MY4YJ_YL<+iRADeO8cZ!ce(&l2>^bdhps6Sv$)s! zkpuEf!O6i@l?pQ(XImg_z(+qH0vx}t-ESdnXx%xHqiz`>zeY|3ml2$N%5X!7^9Um; z!ig#E)-x728CMP&V+J3)b;!B*+eK|XW+`i|L#{0S_Kg525$@0Bpz9L3Oc{5uy+bws zo3oFri}cifNb<96Q2}i#h6}rCY8nVIkHeBpUr@pWd&*OP??6SreCGA^}%>*o@QeW&PNtnabrP8!lT0o=@G?8_eT$05*w7zNBad%iw zz+Z~)RgUrNwaeD=&NgcZtkSp)hm_=tWq*QAG$C_7>ZHt^g3KBZF)6jWbj7fyK)(B5 zmC7c)IlFv5oTQ`Eyk|RXK4xNMB>pS5-jxqtnWk*6z4<~um= zsUpu5yRB|apjy}FteWZN$_qpQ6O!6Vr*KJ4g6nN?*mHqU)?RWq07@LovM=Fn3Du_W zbO6#@^whn8XyAHCTz!W4-FE_}lub&QNCWJOH)E%G+3P^=lyw*J75?6&520r_y{r{nyamLxx7lx zTfSlOWY;I>9&fWHP>kBv&R7BY8(lpO-f|>|ubuVQorauByD71d1SS{LUd**?rE99y z+JfNBdX|auTBC+=q#5aR)F2s3eD9*Ye`;k9>`$^+`(K+yrA|lDlo*M^E7-_i>zxN1 zs;DN7G}r@A$CQAZ2T|kbrZUbh<6-4tb!IJd>srmytW4e#)Vu-Ef`O{cG*78Hs{QH^ z;?FN%S3_Sb$&IzVT@rQ5x9_JXSqEiX45VLX3_o?O>6q?k-5Tl)FeSuQ>{EU#)qN- zJ=4CnFpaw$)hu-@o{!C$sF(0jN+2-ep=D1yc8~1}^3L+EmA{8pSNT%K?tL3c54lnj zPJ=CMN~nNNv8TB~YcKGOfiX%Z(oWsvA)b~SA}xuxb;spxq?FL0H!US$z?GPFo!v$u zYtVI8QR-zJ^asqbnLioWRg1iF6ck~X(Li=gH#A$oz12pZkn+$uP$7zkkPKs(6;J4q zF4yxCx_0t&tcEXXH_KyhR=KhZ$ms69)EUVyP+3>e6voTVs5P_jSBTD8tVaCYg|i+g z;SKSz8BD_^F48Bvx_NaLg6T<}wu-^Lui%s-ZQ&da>HPQ&w6;g}_fmSw*>;&)3$sG! z!GjVvy{KpFszW|@NDaJuEkKFX3EN~i1I&F9&$UQj(cyYg5_mEZRwR&dJ}7nWvS+L%CTm?G(%u`s;o)V zRvVAk)dJFP^$4Kq@gs0L54=(Be|h8R025?5eXVG z5rp>x+>;E2k6p$LUXp2kfM)7-1zK?Bn{@yDQSj8kI}M|(36_{8GPX$cye%1(|> zH&&r~SB;wFf#0g>3@rJ@f$noFrg7teGoz>b$W8=dkjPMrH3FN3)qdH_(Rta~)s&|xN zBjU7g<)rv6fFA~0&IXZ}gb8Q-3Kn-GO}oldNxE@c7&~Q_nr5dhzXsbxrB|4=gVJ5{ z3exruvkI~_Y&m+?Y#p;##WW1Q_U>E82^;SJZom{<3u9mrFdST$r zzfn5MRcMKm>7~gvZWD^g6iF82=W>)*NXua!)^t7858%q(z&<`A{OnM}@(m`A{Zd(xUjqa=2PqJG+~lHK)!_1Lk$v z%+ndKFzDW7c)d$Rv%JtehiRL|2XgA2nA0;J0){8WqFG~Rmc!XlnEnWK03MB07LMwq zhhju&C+gaGR#!N+WQ~bV5g7h+$TVpoNpA+6KFw#(8?WiF6H}Q*8TRIS6Gl=lUb)4_ z1bd^`ykrj9C?O%?pBKx(Cg0{l67_2q_G=RKYw?R--}sAGcMi9<`3UXR4?adR3+f0u zx3jZMvol4!9QMrsg-PdkaB}K4E zEi_NN)Q4Sh*73C5|C{kW!dAs?g>>R$PS+K_&0%{xTTGMx)g+USFy!okaAVDOz4zBv zF+)kZehQjqa4jaz^7V$BQG0#uouLp-#?cA!Clpo3SG25W^vEFNm%YVk0kMhdWJ-gO z!M-gTsgqhrZI|pe&OBKm*q!ZP-ZHP&NIJ@ea~Ep#5VYk?w?-Uyu4wUa@CQhp(tg2> z_|AQN`Vjs7&^gX3-swfD^`#IrYX~+XbJvDn{KT!M{E)$tf!)laa5jAaJB~7$J{SLg zrBv01zs_-5k4KH%tGcFHRmFBNtjeF_;NQ?Fm{)6D@WSBh_&%Ia5-&1`z z1>d#_8~4B;VF%D99vgEZ-hxj5cGlgub8{E+((aYkQKr6{_x`Ya#3ZAurV#YSq(nIIUUU)BqqjtL+_ff}|sBu(@= zEi#(55wx1+(18>&Q#gHp}s;pRX;O%D;!kufMfBb~))S(;s;foS zQBG)m{HEL^{BbrTf<3aW-BF5Qdq{gW>Im@?oY;}gmLBjmt=UH4_de)aRvyWsVkWtR znDw|9&khtncO@9QeFfBnRXA5O79_+C;!`%;||sLm?^(DcEkI_!v&1jl8|S z_V>85*$hzA&8EGGa+$3oXjA_MCsEmU{{)fB>ZQ^tawJ9IU8m2yVs^3r>9y`f8`a6v z?MO&=kGUj+bT@3Z?Y3`A5*SV-Fa@+*NJ8*EP9Zy5ct{Ec~CA z8=_Gp2yf~yIz~kXG@@3_6=BN2oX_6XA3F=i8z{5SWeVMoBi#N+Z#@8J&3u<#pms_# ztBTlrv=U3>T10Ltax&cYg4RPdrNtG{1Dp4a@MP)gRJueFw2HomoxipAN0r7jX{u2u z%~MUVQ{*XPtohNxIIe#=_u2EWLfv{WZ^K+yk`Dd`=X>|MoE&7nT5fk?O1J3ewKZC+ z(0-+r%h+WAOBzYY;l#B^>FhD!XVwbJhI}p3%I}0ZEgM1s1QclxhljZAw&l(-m2{GG zxq2#GO3@@@|*aZnbGb~lobc5fj^T{yAb+nEZ45CTc zQAM>Gl_X};Z@x38l5gennFn@xN=Nq`Pqbm>Hj?3?JaVj)04_B3BBT=Tnjli%#zd8t ze^;rLsZ_~c4;HGF@v7)dg+!&inCp716-%3sB&zv6qbHIcGm{=?6eyR;Y*8hFheNoM zYTgr)of)(Y8|{xIoTkTI==}!|$c_JqSP3Il2_b#$Q5MNp|H{Z+No=2qQ@p$5Xu(^o z;xX#DNxI-x(LXV1qsp z_xGLu7!VX*8o(nOjTtBuYX|GhG?*Aam%^#v*%x3;PU>_<65ih)ew{l2k-V+C%AyXCnT!sHMq@BrpE8htt5G1$s&#@!F`J@l0sQ5RB}Sw&hF z74-F^H{Pbi9ruiIcuue?_vALll+r*{VD1yub!v!SU;-mE<_Iy?Xb<43U2N79te?+J zl>@GW?#K@f{=`VjWarL%B5vbvZMC%rI&?<&IJ!mEN158_{L|!b(&BQ~O*>zM0DelP z#8AQz`T~bucl!VdG{HC5NVUeQ! z(uAIrF@!QZA@KDj?iA|Z0XJ$+8_54Kc=N?((u?Lz;idr@+L(L2f7iNB8!oBX?4=yu_eTW5G<1|@l?ynipGWR`nzZ~2eoy+s;pQ4&cRuY+j*w!kIy+U! z%b~Q3*vb+O&URr$xVB`%LG1XM;T|8R^@TQIQM;Ubl>FR|@93Q^@^-r$VZ|P+YD9#2>heGlhF|H%?_;No2W`OmKeW$=tNVbNmOrTW9_J$Tc?4th5a4YRq z8%l)!M82V!(<7E3&w1((ChPg@@sjpLPkx|PkbZdFSu~8S>`wn?$w>1D@;EPYn2e?< zQWnWgo$(-Z%MLdAook;uXYslt-VXEj%YLt-hrS>S3-{mh(+Ih3^`kjm=hZ9cwb|)X zwFX(csv2%0*3UsxV<$>u?_gFvz>y1Is%%`*`HRIc+x4!D)J3^^K?6TV`sX{k3Mg*f zcWHj?e&l*|UFfzioq^ncimdDM*o?oSC;#<_CYC0WQ19(Lbi7ljhXwFSxqiYxXj<4HD2gm?VF@6@}jq@)nE}wWR zqmeG#M(-7lRgC&G8B3oLrys*9PE(CZD{i2eW>Jnx!UJA#Y!~4>`4FuL@N8Vtr`+Y_ z?%@g8NF#c1+=7hpCkSJ^aUnfY6NUZ8EO*-+Z7?=^D^yR0b9ylJA+OK{S{SBP3tg>G zJx-UYS#4-%qa_9;GL{0y?Su;hKn(ZJk`j=W3T()tZQM!UyVo}=AH6EOF`*p zlP!@DRo3h<@wqolS~CZ8R}pyJ8ZLU+bx8S7_77qvXh4#)&qW+scEQ6+!23G(bP3-5 z@}+mKJCBm(^@FZ(jlZej4sy$h3y#Ymq)#vCt=V`o2j|^4)n=Cob=EY60I#$|@_mJ} zM}(QEp`b!GAv}0lYR&L;pwliodoMl+XxCpG7P#%TwN6<2Mun3Q)IMf*gG6bB?L2EW z6~K@2%}>|nNR6+d&-YAKztpT&tG2Wo)0s?`ckk6bNybW>20ZKi*!QDTBN1;y0|FAV85jX=`)O5aVT%^wn z-W6lfaN?^4#M9)vri7~eG@fQIKa*=y{unIctNH`|y}Gu4^`k%IO+);Pz6(?NqL?J} zJXkNJ%z*RfzPJI9L_eFG%gec9?B`V|ezSg%CzqQYFMy;IRfvhHOl$pVYIzR34V97A zuHO_MY*HXlL(4a){@fdSc#^Zm{f|FnLv|DO=|GMDnM`7J0k1g{9=V2ufghfess2^} zVy}A3m1)!XoLkl!t_wR&8WiC(vz=8Tz69o3~VT2$fS1vQRkGQ|m?NB9%`Ua?BV%elM(y?jm6IXvJZJ z31WjU?`DTbP`NJr zK{}jCXV69#Q}dyO>=p~WK9LO$ML}_^Lg6tya%w@TWv^ggsbxxXbIMzwv{VA+2^oGz z)^{vhR%Fkc-dLfph(dq_9AMf_B3~*$)0TUzVA(21MX7!oR?qkY8`bRT?Q@}LQL*3E zD4|@sn_dlUsmMo&A+&Od;@_FnZ3IQBGU}{FAr?a7dZw`~$xRNA2ZdlwCNcm{BC0yu z%9nNwG)QI>Te2A>J`^P1b)M-j@>Rg=Clh-&PAppddwG0i()`cc`4AT^6qwTy>!N;H zw5P_1qqGGaVL3oz#UjNU#A+t5zL>j_jW<TEBih+ENUu0{HpcN6PEqR!`A zW;fuR3?AIt%Dm+_ayb~vywvY-2(*>);iP&5>w-Ztb#C@eBN}dlBko~`c4l6k08dP% zze-9a$LGGF`{lgbuiY&+v)EH^eP-NlYyyi@k3Hq%xT561x5<>Av#Yb?RZ7bkh)S+} z$fcHErRPstW0iNw1C^M7EGI+e@NsIE3=t$8ye5R@rqMFMU0BD$kGh)klZO=x9^?YRS^u|Zye#79_s5N%-wV!PfDVBiLD#Z7{?cE!%JjC*_e^-DslQgV z!;#(^1P&5HbGwoi#0CHaOE44TxK8y;wkJOeDExURZC>n0C%dZWoJ>e7SWLhKFA51~ zSDXGS&e~?k?_}$5m(-?B=9ES9vN*6~Qa0`|l>u3|O$H+$RWP|^CX}Pn($VCjXQO>UCA3C3;J(E47Oz)-W?9yuP>0e! zmi_K-IPzOK8L-U0TB=RXzgP^$DNnO(e{jq~VF+j-+7d);+<=MnCxZhDmJXqwXP?0=C46W zLVC>3?S~V#5B5$F!>(r}ZxFvfTMp_$c40Vdp4kVCSR~RfSUn}(`OJE^=X#S6XEuo`1_|p5%`Th+OG&_ z*1S07Cvz6#{JghY(|ZjrNZ+0}B-e8L7)-Pm#7GiIS^w_;?B*C5|$p1+4H+GS+8Kx_b#`qqSEa3WYyp3 zQxEKvA|z|pLevYg7=JyJB8HQI(U{^o021(=m0OmS!vl|+J>+`TEoLCN(_Iar6+>Il zB?pA}&S|GF3i~^1NsP;SOU^D2r4eKHi&>Y#We`vAfL+n(sCksMhpW_>La? zGF$t(J2|`7$EF%%$4cuG(4cw^^yRFXiw^L?(6hb8aYP!(onxauFs_{NhgBiWN zzLXoo)}teH@79uwMtGEQm&*A9{-$4Gzc_6lb3XK|LCsnP1K%pAEU>mSdX^Jh=OtyG z^~a}E=ejSAD0H_~2i4A7ew3}t`!f;zjY?WmO>Rj?fG0T^8D>vu&%Nj~JSqPN`>&}C zb)yX}|2-3a?o+HJa;_~*{4x7sh$G*z0#kSjo`_}7oGre~&HB0A&$-@LPx{^}`9*ie zkNl|P7TZK9oXF)sw9^VQ`veR61r3t4(I zWKzl+Xyg&#H?#Q4{9()3eha5trkQxTh^yKE6`ik&G1ZA?Eue{$4LmgsAF5uGtvfU{ z%4yk?wn1ZE;-7Ih!I)jo9j_XGY2LpiD#;XF3!K&&w!P2eQgF$$Euyy0Vgd2n!_Utz zc28H||BDqdQ6aG@x~>xe9EvzppWl;-^yg+cYxVbcdo4;vgq3A)CB6kBya3DDb6;Jb z_hx^7^Db!3ysSC32*=iRT`q4{Vw#SS6&`y47#qTGrCgQ8i>ywJ6e*Pt}bwBB2PP5+I) zbD&>70yq7u1C2cwuP-cKQ3Jm>>?^zx6!^e2TUwp2ovfyiYouzM3N^^!nwOyz9*j}k zQFt$Q5&nl*p0H1ZlY}wkwNLbBA#&%#Q+vJ_Pqs{aOeln;vTz~W^Xr4}LZ!RFI<)*& zD?GFl2ABXZvl=l|CFF~EIgEjq#oM{A1X?Y@x}(fkoZ6Y%zwM|dy5_`=ZMY2jSbyX@ zG)us(PMxV0qCLGKrX!dBL{LG&UT;%o2FF7`zp)!W5g3^wwj<%taAxhbmli@o+#v9*7%IxPT@3hbcaRWwgffeqh1}T(X77v+Wbmkqeg^_V!nF=~Qeg~80 zU=9*aHyJt3IlUHPZ}{(zsLhB8#L+Sk&vs%fIk^>3XDS0sY=}=q_N3L_-b>N}Xp^CG z`jn-R+zzOP^ZHJjLcT3|6fpJJYCK-xc9Ly#Oy>BT9(hhfqujGgfQziL-&0<4=ee$h zu24-^^+!oBOAIx^ra<-gS)d$|$k_h{t3Xu0&SARSg+@0nm*HsS;FwVS(JOk(b1U0m zEe?ksxTeZj6Twxkl*o7xh(R}R*-*s->8Mp!(77Q~Qv(ImWD7dqljgb)+p>21^hAL1#V zSiL%D- zw%=)x0m8kN%p8EwwmUdmK6_`&_EFSLZCUDpoV4Hzg5$Rrk-f0C562smM|e@0x<8*l zExB%wK(5iMJFu~dnc&PjW(gK*cW^fuVSo zR?pi2mR4WmifCc3VhCo!GTK#KN^LhuI7{9 z5LRX)SVg93@1c)URUlS1rYPTey0ZNp<(9<$#kar+hHr6-zTHwNYD6K2cw`3bKoXN> zB1=J$g0DD$2Vm_qrYc2_@yBVlu2Xo1d3wcGLf)S`GWzuvUGv0nIoYN`shL_zR#wIR z1Ik=(=3>e0O=~Yo<1Pd9sRv>2z}Aw&LWt+egm+naOKz!D@ez~pVph&?xe`g+Mc;_` z-z98Tf)M&6m|XjvcAOGci^4q`u>iEB=@Q+`f{Ql&h_CJ1ga&mn9mp{Gv!~3gOf8{6t{7YG{ zZt%bUdHfgl>aU4JPELORA4%P7NqoGlCPGed>YoEvT>=q1LED^{=8|$u%t`4Fu+_(i z*irD-b`Kt0!cL7}`FPPOQ9|G{d&v`1812*T#D$8j);606o*d$;_c{R*?XgN7_;hY@S#4tXfB)-a`6|DE)z1v`}G#H(jp_ zo&oedXsWQxZri*EOy3VsIlfkUlZ(li*IYji0!&ven{WMwtYqtn>X#&wUj!*yTsTGrxMa}bZ z=jM|Xa<&w0;mG04YaS%D7Y#Q!oY_60O^qkR_N|Bby|dDo`!2iB3}g#W zf{Dj&;8uYQkclh9-RSyc#^xBQGJIS#El{jY9!$;(Rzd0tb9nt2HnS49dRP8eNxoO; zVIB6%%%2l_(nC+uGwFX26{Vr;U*Gs%AU78uW5ld0Cs+m?KQVJc(b zLo+;7!=(2Bm}deZTd^e(joR$Uz8wI=yl|xwwG;`~aJ{rDRIPP$j8IpyK?rw0<6Vd) zhqVGQq_C$5?zheUdCyksf>!B49FPC(nae%5t3K1T%qO(a+wSUz7qJilcT!t1Snr#1 zsJ5_?me59>QGy$Qt!6CGy%IBEL%A!ljI#cZs~=vR59`(HtlmW;gyDzU)edY9_~ z8y<$>8JdGM^*mX+KmDg3xPJ3@lmGO}9Q^Jled9>|KtgR0^M)VL?dr4rbS3iZHOr=^ z49`!f5ffHcG6Jo2B_P_0=Xg}0&yxMkhE162u7(R{v|?p6QrV`#mZCz^SW6b>3G`^!>PzjRyQMh{}K zd_r#px23Bz3n;--ADIHP%Cmd2;;N!IY)Y=Rz~RR%;7XPR!1-BD>aybDup|AZ`#wyA zFQi<~iK;VwDXt}(SaB$}`TH2EK?_<76TYs$w4@l)wa%l1$7;`|Ig;HVZWy~Lvqltx zg^eKDyafrUxHsWKXeKZYoswltDJt)=xGS%0Ff@kJhWn~lU`0zT5GEOxN3JtiDN1Hi z+_2K+B^D9`wev^vrMQ9Oqdq}la{RMGy$>Z zkWb=G7_2kQ5r8OFQ}R|Mx>zw18$@L&q=w*R?rX>_Sx)jAr16HC#+-r4CRr`rjhfN- zO~!xLgxA7c^vRlWucao)%8E;70S&NvI81b1;>K=IdE6qcdG>-;s)@?P`%E)NBfS`t z4P17x3{k4oSSk7y16)KU%)O*<-`L>C_~x(>+#8XnIr2I++nSe~tP9NQQDE1?2a@~^ zE1*(!%h-}7z1`l#+(@qzS7HXbG=a}eo}~Cf5<&@W8|h+8NmR8>^Qh}&e^3YV$GvM< zy$RTGAwdasscd6hv!LhXmn{Lu2*XaJ$4s1KtKv`1f>_X~_Twp@YSQ^2NM`+7s>v8i z^CDWwUrXW=Z0R;vQg3J}ih@b3%#PZB+BRsxmq4i%^m&~+^N&+i%HAUBo6X8+R3VI{ z4M+g9mkmd>-%RruHvMv0Ru|X@iRMBNN-I1iofVi%=(59L+_bo(_X2;O;?(s% znXsQ5nE2A@z=v499KW^J8>Y^>g^VxJIpAUSlE>Ms@B@xlK)+qh@64tu#iHBPVP8N<3VIus5i~zl?P#CW5s+3LaN%cqIk^sWZT+=V z!iTMqexsxm<-}y9J4c0)F>RPE>d&-HlVZ@UYs3`jv;UEct4qVGk4sSk^Gl+N^iD9Q zxnG>eN2cV@%Ordx;$NV?W8>5b1iZ}ktpK;HhynK6rs^zX%o)o3qQA{WV5Vn9t8AGR zCryYF04}O3S`26j9hJF)Tz*<{EKYXX>fUiP zmb7D4=4~nJ#90UwbA_pz?xqo~E3u*#&%ipx=bqKqq3pQp&t2%#PreQ+0_7mFCu#mm(rt^4NSBxzOpC+ia z1ztl}%T{_`Kt4lqr+WL|u_A0mw2i7Dqf%2ldNOi%@kNRG+gw>2lu4gB&ZStdja_+l za@rnQqT0q3lebJkxQ9*a&`W2_@I#$8#9vIlWx8E$G2AHv=A4l4RjPpFv2K^sx;G^Y zjo(JkI%qxz&8K&G2hFFi9WQ>uC~nydW|^qR~B&Z20RlUtiA2JC=!C zCXw;K`mm;@mVLjayhvsH=8EvlYf$T_?dKV3&2^jCY?qap00W+)X_^3=wPd$k)M@iz z;y~*Pxv8p*T)E^6R~pZTe1Qv7=85OPaAj4|s#fh}^$Z+Cdvq1JwSS1)6{A^GxzKnF zp4QvxsYPVV^dhodiV^u#gIwEf57|6qgZI3~ltBD(W@JMfnoYw6g}Y76K{Ko?=H(n3 zo-q1Iv|y{wuqyV%k)1Tr)xq+Wej9lm5SPn%I3NGM=i{BtlkJ=kyqVJ%*Cl3bo{$#G zp#9z$fn2P3RWTbb=1vCq`SL`7BEK1)0A@Li4`Ux(u`iNl%9gre_Yus? z&4#!iqEt)1wgnF1oSWT1exL;(vy1!@qBeV3o|3ns(*O4gLTyLxOWj@yrrwGQ-v20z zgu~xqiHv=mgY6o_;UO1!WIvj|xUe3#_*{|8k_c&LcZ(xnI*Hx0w$jEmGm>IY|IC65 z*;>K9b=7&0A~DgM4e5Xt795W*eiq6d(TXh+Y*p>HVsZiaIayMHkfx2iqp)qcugAqH z+BU}ih%H_sr2VwrH0dJnSS@t?$UzW#4H4lVM|Is|O*bVs>@Z3lE4tQP=fAaZ0SD-R zMkuOWswuf3ikFLm`82HE&ih<4S=}S82>re0x3plG_(4lo6-UfBC%7^K|XeX)qd0iqVFZIf>+smT1ULPK#C_#Sm^yUG5Zw$zHs6KrOWS z?JWqEg#19;_~0!60Dc59C*P)(2k|KKm6p&=hI}b1!pp3vbFA6|TcVGS63qz;Rvjs_6sjUCnk{+hpifE%lNPBXvlfHQ zKSkLdS#s#e)EqL~vnkqx$G#~=^d^?Y2Qc~F_nT@8h7G{f;3W)oap2kTrX4PVL@rm( zl*-FFlM<(Q#>@*ry6q~zQ&R+GDeg!v$Q=X!sFp?`=18R=A$y~T2-Hlh)>5pvvMIM_ zPwWh=RMbJJ>-Gv4b=fXJ`t1u+QMq81rbEhlHDf`{n*CzOk1ok_`D(CUg=SNrFN;s=`lL<+{7$`H0DY$J>)&gVFUQ5IqZo=d7&s;g(@p{}`y9kXIZL z7l1av?yhFMY~VYZ1&GmF}kwh++CGrM5X$U*BjYr@O(Gk5bkOa%6UWhR$yUDOLcnECus>l`*E+iC^i zZQ-T#Dje>5MQm4k@beS{-uIRrBsp8NGLo(>O7d;9PjNzao_mAO{_~gMI12-Rh<0{}LV&x; zTW(|NiLA?Vc+rwXGg?u_s+c*hEuS^-Xzt;k5%VXkO_>uKVHpNmh)jNG#JsXaWiF(f z7z-mE=D#*52)?c7Sh6evZk4qAO^?3+{_^G6Y0~dlK@k4ko~i^-E5PaUzt_GB1_+LB zaty8AMj1Uti;OiU)0bS`q`|9iyw*Nie|YhVm|qh$mwr28%uqN?Ry2TsJ3@UgGS)aJ za;|Q6fo$L2^w`xGEU;*U{2SbF_o60u20zZ|Dew9EIeAs8TCxW0x$~LW9!}I+$SZ^r zRL`w`5+pp*gxNJy25IkmHv~VHWH0U7L}OaU!`MsLR92vFrEgC6ie-h~59O}A^Kx$E zj86@^mP0YO4~3O%2b-X8A%6#c>tJ`uSrgdSzIBn7is^oGOSqgD{n**+HABYQW0uk%r&%Mm{B zU8%l#>FQF2 z$ApFL331H?chuH06|dg0^Vk&+Mri$=l9#Wp z-o1Kp@&47z=j0FO3)~l;r{uk8%*6qP$0aHlyja(_Q)I$~mQ8&O0G6aBxh#3*s+Waj zzpN0Y3B}e_jkS8gt5cNp@FV)qt*-=#GIE8*dR*5B4Gl@!lr3$Ot|YkHLN+%Xolnj0 zcqK&*#iej|8X_dtLNFx+r_-Y;M3Np&kE|e8aC2D(iP{RBt}{M7cYEVa3Hi?E+=L}I zKKB!KTEIt5X_B5V#CQu9M49=WHCW#Ze#=Un$ldv;?N0I%dxz7if$u`KS`+($r*T9t z41&AqLnc-$1RGvD)QL2BM8`RH8$+D4MwdR$T@mDYK6qq1{MA0*(NNvbCQ~jPx&Ueo z@T*Z3!3=`BvJjx=N;`9%I(zr(;^muH(^b9;i(+NI7Q75+j&|y!*;nk|u|Ie~?K!I` zkHoAt^H_@a}3&xY%u1qru{~dP16!IcXm1$)?3X{_F$a zvryQbjhKI9#_(W4`G;!hfvkIFxLeXA?V8PAFWCA9ofA zu|d_$2-Z_TX1M=ZFf?kw|ubN_0Tl^G1m`kejIvI!IH;VbixAH(P(68q0Q@&wg>2cFASrg$2|g-2W5 zwj`I=FRm}!evvKXrxOCGg9`GHUu5Vqh0*LsR?U`leNk7-ms|lhRJwq&@uru9frX%q zH-d0I(ZP+{(0K93iz`BFJ$sd@!m*=d(2VgKGqXmI(7d<9_$-Bo7~Ouu=UaZPh~=GD zTllfUG)>P&`?13QtB(+hzvE2v(HwiW%o1g>1oL`n&E1{8?vv&ORDJj{V=@Yl_lm9ekMZf_re)l}NI^9MsR%L&#Xhd?*9I>9 z{fjGtC3b)F)j3FVUq1cnJh=EDH}7P$CF!Gj7k3tC#>W=7VuOOWop$>cE81OFX9TBG=z$HRhD_ru@zqUiI# z4|R2-FT26N`IEe@p&)ed+6T@LRk1ag-^KdAW7m zWBREbI$zOcD^s0zWyf7tlDFSpw>)(l9=Tx)O4n1jtLjwF2WQ}c?42GgW=l!clL93n ziRAI7dTd4)$XD4TQ-h{nqXM9rdeQr z?+;79`3Zjk_?4ZQCr}s{9qL}`CLa$>S4<(@u>s(;oar&o5tY zeK3Wr?t~lz($RjU6G3DC)=eTE)VyCo@Jc40Ai1WL3j^L+t z^tQhxBd84S+6<0nD^!M^^$*;qeRkW}bx3HdRknZ{UIocl2 zzyA7bELEJdjIX*x2tM`eCr_s2|Gjt<3h5_=W+0U#ViooX7Q`p4PRaki{_bs43)B2H zNZ8=#>OJD7b4p%%;dj2Rk5trC1PzXur{wgiKz31S1ukrzY`LxPj9_020s6_>#P$TWb!8(M@b6Kwi2ndkJUBzqH^$ZR7y(w_4mW`7p)H@B z5=OHnxncK{^rF-VO>Qj~FZEzsl>?hvoLbCJo;6})pIdti692rkFRF|nm`V{4$xF{l zW9qU%D7IEC%+FY~DUs^sMpl|Wi7eN|)#fM?sk*T?;XRrMo9nnPy>E<}PryE8#7N>0 zP(*DV7cY=#$+Ot`bsfbD!G@yU32w1ZQv>gsrdU<4vAbAix-JW*6ydNwD=Kf81wf-k z>MC97$#YncSZL)IV_G#2^OGP`!ORIHNaEGllQ@|~V^petVB^)E=_gon-d!h%odwLv;j-9xlKn8+gyq1m#}$t z`~@+#64RJEOhKP=w~em9G_LwmdR6~%fqsdj`^e#d*v1A0CX!7F9mFTE zT4*Yl3e=M169*_H(L5TIA1iK~Vz?uQ9Wx8JpHAHPyHruK2GEPE%aPUu@67>wg7?H{ zYf-pFi-KRA_GL4yAI6A3$r}Ck%F{;IzSUP{gp2jei&OzvNg$uhMgsqE!m2Wma}yGRW^wHie+Zi(@&E2BsUEHTMG%}ts~KF-k=sjwx6WC`-M-~PQUF`js1Z_SofX1t-p z&%&{$nI=CvA@;D_j5Eg>WrS>jARZk}r$=K}$KlHuwXLq^liv_lW+KPUuKO)Vc2W!J zjSaxJXaSpawx01P2FEvMfLmRyHfrYEodxDbOm@gDBWmZ`=3t|Yyxc_f6nw=Ez>;RC zOpWw293z2gwysYNvFVDfguFj>1oa&E z9r`R<$eau|T7H~6v~YFWm}B&>th^<+R0d=0``XsRb{;K)buBt94zOyK3}O8dhg9lHBP$b^6k1l3Krd5)L)pY-?IoOqS2d z|2_V%U;T4(^84fCzno8g``2F`|JM}$@ynCnpZwGQ$FELKj*tKHr#F9ifA#9G{N$g1 zDeKh@{?|W`|H5AVHIc~4$?yMTWJgE*8 z5Ks~{yZ=ZBcRTejS~+E?e?N=%H{RXyskl%^5XaEmkv3*ib*0>A)vZ3`*31h77Al6%+?Hd^OgtMOaxG5e|yz+2`lcYjFSVuqVk zdbCq=K_tugn(O-mAc5d_+;z4BWU3NdDOSu)mAuj~>)a^CMmgM}%P0;BTb0e0(3b3P z#vh%^@NxX_z23B(rw zrNrW%NKw%$c?WF{(ce|}llmix6j5ZW*4Nl2C+s0A)f6R{?5U+#%-Ymx0AiNH|lp?Dvq^N_S1g){a z(^f;a9)&Dp3hvOCP08{y?4txa(It8?5TZW(AiE+zW4XWRgv3OA$rfByqsqGC3+>IR zc)7sZc&oao__}bj6CA`lOU&GozITLrrgw_yUkJOsraa7ik6j;FSz#$QsW0L+mDEjt zCRQt|PS6QMXcoDJ41T4)7bPv4S@2?CcHNv6D`^?@owkwA;c+7FN?R)i>;1NOB}p(D zeM7SwR_0jO9VREgFX_sFle-GoEbq{cM9QLR8bNd{t{I9|yUtXtMu7V2hhzLlq3K`p z+l-~iqMGKegSZXC>un6fE~j@YfWJGxFJOSvLbH{yK4#IQIvZtnzmHPUDdmmv=nOs( zWT(-4R?gDU#*XAHZ}YHsG#83|Q;6(_yksD>{~U#n#(A>nF zykP64BRRSQ=O~-8@8Vk@ZJPF9 z#OtV4#mi3sYM0?Mq{Hf}$GXVn9JPv^vDS6Hmar~*-gh7%eFFwZX9x91__Lam& z>5E68Ft!*Z{IbCyX};o-{OC`DMJCh%({k0|U+ty3twyFYTCmISlC(1OY+EtAHa~h8 z`Vlo`sE)&*+~y&r$cG&ThZ+uTjmX>e2ra+srM;jPyQArMwt3#K%+#sJWOqq$h!=xZg9n6)ZLkuCWNb#I6YOS{#ee!37@81xKJ|Fo0 zUFx2Cb~&43&{RK7SzfqwTqFZgtW+GFfL<&Mh*A)r?D7LptO{FZUyB7VEq4&c%RQ$& zh(~*ngFbsXNU7pgNoPga)7sw9?iKQFK^KIHjC!*RR2oQkU_Pye9G8@L!iv zicDemvxq%*b$My$X6M1+z8Y1}uX$y&o}cxAjqnrMTr;!SR_rtdSDWRIN0NIr|4jXd z2lqA^!Ex~K?!q2^BIKQjD?h=6*gkVh$FYvT8TS(KmbF;dMJNbuqqO1<{s;X2E^er8 zs^%Q|i8=k*T}jASJ=t6-wR3_rQ-H39610MZJHS@^0INy@r?Rzk5(7`pzk2p8T4|?S zO()J4;+1xKvZ>;J$b?EeW3s2V%$C}3shy~Ip(g|VGMIsGbIT+1nUr@vG8cO=+dQ5} z9;WN(nC~@vd_>N;pA8>Cw}fk?VEW<1^{x zGe%ZiN+FFm#~((JCPbcSJ&{RNjiiZBxMr2vBC!1`L1>AIMloA~4Ge|hTVL^vE$J;6 zwM5F5Adk(T9_zdEUWDPjt!27~fhERU zwbpm-55W|(_7U*kXiJW_*YKxpYfEk=NndIk?9m8^C%tHHbEjK#ff5Ef+%a`M0 z2Jk(5`zRMLpnoUdP!(Z=Z)iyuXk<9PzWV0PiQXw-J-U3^^+5a57JlIE?rDvkDHwJ8 zZoK&b)3ArkO?!XEN>laRoL61I3Jeag*f`3vkd)i=c9q}kHjsEwK-25(7;NYZ6IhF$ zKLlwG+l21eZ1Xeia)4lJVV>YIF zj?5K0Dw$e~QiWh-($py9ro3iZEqQg1$9#md3M3pXVyfv(ETM^E7&w%;&!sae@_ngT zrLTxtLCc%)1(m4r=m)auy`-hmccSg-7K6P8N)t!QjoJ)1rlD;tVt2UYs$f(xvZ6Qo z4v%mpFP&NI{NSfT{0J>e0xASob|uhL0=A6^(U}x?3bvsjg`hdPl48ZGC99QlexTk; z*IEpq@o)!BL`RtmZWn#iU_>2|RP_x1OMz$&({vp(v|FV;XSb}-dw#kS|KLSIr$R2y zSULIr8ddl|v)P%Zc=ks;UuT2sxR34j!5j%K+MzFUj1$;ywf{4*Cri_r7()9xR^$Sl zg)DD?FiN3HKA%6_r1y^~_&HYA!B9zkqdg7_n-lU@TDK1~U>Mcv(}iDD53_ruvZdumnMDS0a@1JYss!W9_yLLz`u zhv9yF|N44L{;cKB_ph%}VzdEFO`!CtAs--XEhi@9AV;F?);Kkhx3&u5W=mQw!eJPc zNKq787OvMhtr~M$CHZ2(WJqO>I~^iRR26Ep1g%H+{`GZNhz{K0aS=6RGJrPK>V_#5 z*Yrcb%jb|V;j+$RfTqbpGgj;$asFMEf3IY@gXy)dnmBM`MdgBpJx&iB`1QVt_`>pA zdky$XLm2n0K4PZRal(5F`L%;Knyrn9-wDIn1`|9T4}4$oG|3R1+v16* zlp^a$5#Zeovye}RNwkAt9LoTJrzuIT#|se=0LyGC-LPP8G`0iV`PXJU8&w7p#`AB_ za}vmBe7$7yy5?0lWy(Jc)^gbh*hqyaAOoC9%Vf8>0YkePk$CmPPo_^HvY4&b)%_{? zgK#d^HgT=y#-fEUZYeK7jo5rQ7g@bxrI$yz5bj4B)AQ^xUx_=r)q|i;E4x8tM5zht!%jER(|> zILPIGJILjS3o=IZAeSHH@`GG{U^~O@AeVnOJSRmi2QllSu9o58vi5Pf2FZ%7(H-xJ zYi&Vn3TdYy*;9}gt^*hj#F?6sZy^y798DGF1;7_H&xyE?EJ1#L(Hi;izE9ZiSuJnb zRResLI*qT2LjOBM0wy%W4{#;m!X~d?y!_*<&}eCyt0lc*r}~Ap>j)7tXL9Q6Dfpqb zf)b!Sq`D+cu>RKN%b#C0xncL$k-Il??^^4>zUKC8^^ab+4|LUTam^+&{`mF!DPOG* zkUfz&Z)un1_=^&*!T4@Sxg=97>%=a{@Wq&PDQE6G-e)46^y&BvmD_)Kq05A7EfTueR0Iw#L9$t*M2)+ zIiM+41Xue}XgDjOD$^a=F)W^v7KcAlorgoVB99D0RLYt)xh#%gb48yL3WXabQ{fsczH#+buWi_H89&D1BRm1C+`ymQW!wArgjnF7KMwpsRkW%*d#8Q3 zywM9M85VV%!Sv_mHGAdwF~KA&YE^As>hEmDGKdc$yv&L^2Xq=%+OnWfrb3DpX;nEr z#jLQN+9QzL)Wkl12iX%sLXsqwi|xGx7ra{5vuP$)-hFsxkSMGBvsoc#XDg~lp>M}Z z@>yL8sW61+O!38p%52FimQ}T6XLQXcnJ90y&@M_fUFE+}YnDxDnNM({+Lzm~R70(h z`Hn&0X3wE+%QB*(1u5&*3^%lUpR7f$Fv}LDEm!Dr#Y?>u_oguGNzWETYluxv;VNl; zV@Mbw~Gxt*Vtr}RdxQ3XS(yF?0>drzjU8y&wc!6+wArPCg#!LTX?fQ2XO;`zzi$@mwF}{ zVvnllZ@Nr{p#zlpMG)v^y$;5Uw%Q(A8y!9t5rqi z7w0>Ft2?;Qr2WE)a+2OnQJkw4lO|^hB)hef3n#+Jg}uMso=<=M+vyWqTBYw9*j&wC zn`S~Xq4ZaN?C!8flgZ>!W8iqMrC9c%VkH*nwPjnLJi6g!{+zt1RV7yM3{Qc0T@I1n zD^}5*RuBk4%Tl1p(A+s0s&EC9lLafMT85p~yvUgZ;`Y=^y{)dp9?IW$&0uWyDzbB+;V&N}16IUXCgH++i zf~)FJoj<(h#s;%4YDtS$zmYvJg#^5(=9?=MHLrNNs0%9nmmU#BXL#PE>+Ac_Az+$}V9nj|9x?UpwFA_ z6w6&m1M0KjrRY&F^nj!&@DlK!CA{=aE0!ser_(QgJw;^GlHD=cgOC|^+LVLHv8_Qu z@{dBtjF!Jo{oa668uT9z33k9#R|%q*>+LY=T-cNsu(th8%wB7KI;IH%6P&TaMx9iG zNLESCi~{#JF+)%ra6Jw5pw}i0WMA_Y?{UkuZy_cpDwA~0NTDAmqV#lAV-;w*PN_** z9N09JD3F)Z_RQ0-TYDy?oPPCelu`~|*Z22pRxYaLwsTRy+umFt$dET7J@a6vXv+!d zqxfJ`^n<>B_B=;;rMXG!8IQM*KJiI%a8B38AQqV*`W$%F<@lk#)rkdv(7IX*$^Q{d1ZYpA{{~UMP^V|kj%R>WN-&BC&6x~?^xj3G9AU5l zqRaTP{T|r>RnmljfLI@RG&PnrA(HjM;#jweVoi>$Jb;w$Hh-ycsSguulN@f79+8?7 zj~a_ceNgPyY7BCrMYZT=_1v#nyU_eMj7lcMq0Qe=#WNIyGpaQhT4Mc|=v3^6L^;#n z)l55yyB~dHAIG~9dg)9d!k-ETC`N<5hwpC2;clMv#-`~`x`S{$vq%;2`q?jRS9U3f zwx&wm37KAj^L-cT9`E3cStDd4H3fIT=9Of-f^vO(sty-VpdBur-RAFb@eF?Jfi9j} zF&W#nABpSOt{k`ywgcBWaGkypefC@@E*pZ}`d-|yGMt#wmzHADyU`R+b3=_(njG*J zFmnV`W~_h3V|FEDxiUE0+yl~VEK@X$u)h|$W0ADX!FZ|^pB2o)g!hEI?ovx9!tfr1 z*^Op&Nr!aQ1@%cWx4kpAr1=_MBy3O2Y;Q%u;z-@Y%qxL$jb~a6&=CI^!cXkFIB_C{ zc@+@(29rbLb21lN?S02`D6gDW@ax<5I}N;I6J>4uKsHujaM|$lh?M%}hYv(rqT7#X zDM}&1$C@^pKQ_;kY$=2?UKq48A1Uj(5+%t*QSdP24Hg7IcR#+k<49Zp)`-zG@7TDn zW@Ws~Kr*!+a4(rIE*YsBT1_2bv%Wb1BWyoFi0HW;<|nO@U7CjpwQe)x2e4s9Gv>N= zIgAY4s(ave&UG~ka_WX9$q zfM(9i1ydm{E0TxYzI|K$v6YAN`;xABMkKqF9Q=pTs!14Cp;&cl(l`L`9MSmO1M>zz zE<+cTb#(popE%(^O6=>8$Qae{ewtXnk(hg1EL>B48Rzx)4@r_(RL3il=jJUeBkCgfexQ#XvQBai$k{zxuG z?2(u8N0wAAS0b#SPRJjrTE2-s1^akKW1ob({!R2Tpq4O5AeS&wpqDW9Krdnb-R_Lh zOMK4l{m66QCq0*FBw2~PF1op--PXRH@C}IZqc=_=)BDJ2nGhHoIjndOm^k6!v*7@t z%|XX2bpxv!G3Iv+0?}>0vgUwvL3ydHBm@z>A1X-$u{XB4;t;?pSw3y?!sF>LPxb<< zU>Melm1Cf{-ZgKTjd%gXpV_Rt)nA$Db32*{R3(zamxBQ^yCr z2rFzoLwxTJx>eAONy(JUfXH?zju^+wGK!j}$)&BLq{rBrF0A1Qp*60aK!mVcJCm#c z2hMHjHYvL^BP6|jYY}nGVK{}09rGgey=A4A@G3>YfXGJdoDHAFTm`hsc`^^~n1P~X z?Pl~idXMS)w$T5@^^40(QZTJqsZ$eltWF7yTm0`>Q4p#yr(0!0#*1$>8r)y#9R3YT>Ty7QiA*A6;t2UCZ9wLr7xK0L>t~YsP%n(RA3h=|=04E{= zkAeA21p3?^4|o({WGXo4r|c53?EwHfQz1G>&Urda=fmIwZ-)>(2Cp*}u`>m;a|CMV z_E^DbXu%JM7yR*9$$n6Sx5f=Vu%~}7_OuO-@OUKQe`(&7^a+%`Vz8^jqF=AHXC*o{ z3^0f75Hoj(ncHpt4l#3s-+G`(U7KTYMI{Yef@q#|T%D`LbDp^D?M%X^;v_nqS(#g0 z5RA3^{@v?cCksGa($nn>8^pH|A>4^|(4~0xT!Nh~akf&-NYJbAWqPF6d$eBYiJmhH z^k+gFH$gQ0w&Eq`h(9M!qP-3dE*_m_jT(^$0zjzxAv-xi^H5*|t%E0J+$s53SnTcX zY?v&@UFl_S%DiqrDTygp@J;h+3*C4@@UHeAbkCeYS-%%+Pe`RU9M z{iz44(jQk~de>sOXl-j;{yn}HIlS1;5ytBsfpgx}RZWXPePi|^D{94WnIBSiCFG## zCq5D>KHLX*LYoW2!|z@bwg3SHBThctBfReOr%!(SYx2^>|KTDA!pH=En^a3F>cz4> zD_f68j*M$MN)Bmqk=(;#VIPDrtt+vj70>j-YCfR+J{mBKIlCLal`2~1ROWsTyp_A& z0|+%=@Un?f`9}c-#uOoz^eznKAXlbeBO@_h}j#WBSC|}d%j|#PBT}TX9=BGOnSS(roVxK22$xr zDFTLcn@V@uO*Q}5OQ&mWaD%qr^8UN|u=zSg-kYRs+qS9WC0k3T@16WP`Cc({bhH+- zIyxfy)?hU6!CS`Gav1Tlng}_;?|KDHHfEtvXjDntX0NZ?#tFOap@x^;_bmwWouVFl zfUpO8c3sIj+i-ZlxPT&SW8wr80(%b8j*)hVc07a=dF>GGc!+k~XoqOW;7||jsoM_G zj(+>hcvD)mBO8{*Nt(cCLK{KooAUxVSXkUk<8B9$FVYSo-+`xk?I7|UM81u75cz^b zJ+P;4JBWOK`^^ImQQ$E_w=8^`C zXSPTNMnIhss#zSy1JRP$g6p_PB!dufI2s{Fs9z2TN$wkBUSAtrnX=(}UR*gm6hq8Z zVAy{6YOTc1kn(oclDqGwxvAET3vqRG+ znFFYAj~_wuRvjxvIe{Fsu*`|yZqdhS)!*=E&i_<+%3IyQE|B+2Zaau|_c2B@uVEsf zT0E`TB4YPhF}Yx5t@&JNR39@>br(4PiJSKA#FAM5;6eyRnU2ZxjLz8RU1S6q;O8s4 z);s^dHG76l^gm=xxl~hfK@=|+#nAru-!R2ReBzoeS46MEEiITSc~=rvz-2OAy#sJ3 zQTHtx+nU(6ZQHgnvF(ZNJ*3Fq>583S|pZU3VJ*F`%CDS0KaW^JaFXO-sByVJ|9ll!j=ls{VV3zlShYRKf+wB zZYT7@Ss%fuSLCg5io%-8 zTvqP-tOD~h<|nGZ|6%_K{{D&c?Z3a1?rU>-z3+yTEM|M&&Q}zA-`*}t4YCA$?+({A z4C3!0u^da6DhlqR?z4NB@HQm!ewf_62ue;}vLz*;3#z$%PfT6Inp_SIU`QCU)i zb^^XX&%1g!BPo+WsO_X?o|V%2HB4f{NmlaR9qe7i)%Zm#dLcmZiAY4Y!AI8#b5>Le zeU>5r0xLg|^2Phnx;*p!_u~nGv$5AvMn-2NaSNddqt$K8Um?Ie*n5MrU^#UV2geS# z&m{=V?%S(0&X#+x=o4|4OBQz)g7JD zIoTYfMBg-aM6>dF-qc#E&0(`qRm~Hr(B2d95Yk(}84XXjQ|6Ty3G-e^LJ`iT3BQY- zlW1M1*|E<1v!s<#6>gfLnfyTz+tM({pB}iK53L1C#`bDjN=|d0BU#cbe7;asmD^vx+o(-5YQfcMHk`2^1)Z{%s6ku#dwk{;ppbV#MqX8QXCUeP z#vO4Dio$QR)(3NXWo^TrqrD;9^a$SV?fRLssxWBmVnJ}c#X`&~lSdJq=3LkAoOF6T zy5T)jQgd6AQ|(c#i^U*F?+FYiKAH5$U8WPVupTWzxB5CyRW*;=mwj~m;$hS_n_RAV}8%lnntHs5DeQvBjK z73nwRRhXQm4$P-T#GUssNnLbPjd|jc7vE{TId1@+M-ld-Zlz$YM0|Mugx*pjxKhi$ z`EZ_+qmBl7Mu?4qNme?vdP?2ForR6qtu%5o8O~ZiH`23tAy+}2vO@D zBOQ2qv$uo3(>G6+8cU(AdUiaUH#>sWoB5i#_GSB604io}PymdPGQw&U3a)K83)7;( zJT21zTU<{)BC!q9!^l?300Aw@+aJQCoF2Ex7>a?rys61av0nkBZpQaEe=>Fe)UFhV zeKqSXFy3SBe~qu7?#CZj5UW1=CTw}??(A?TC#;Lr%JR3Kc1w5sz8v1V-8etP7QdO~ z{UxzMA}+hzjE)qWej7ypCL5FfO9>?-g&j+FHuj5Gg*tM|;mPC+z`TxT1!dBV)Kz+oiry7GlpnZq&ChF66@#g_@$qQ_)Y z;w=_LLgL8gD1&eXxm=gi=zO})e9E?4fc$b+3nr{Rn4DALA_=HCy< zDeqiO@ux`*1i#S#VcH(SddyV_z_jlx;5bDH-MtEMh>`j0trRobf*)wO^*)SI@kkM> zho>Si=&=+bxuj#Ps*`k{XUq(f-2v(E74HC+#{EYUZ?GUXUlH=QG>m{Qk*f78;$W0CN^G=wBClO(QryUQq{ZfivzLOXz+Vo1gP~j=ZQ{Y#a%2 zwWoKMdDIXuC*T%pdU^^GMQ+smUmgP@4qB^(8NLb{8D0byqGq2cH%PE2?#SKK>BM+> z#UK?GwC2P{Atfq*R&W=dpA%SsAI{;=N3_eBf=zRtVs|QvKKRXj`obUcR zQQpibQ11TSmewPqZxmirY#motVq7)d7-Y`Dax0XpMntnb>DVpUV#ap?2AiveBJiWA z*eEh)tH|0gUfsJ8)QPnV;d3(<=VzOxF>N5|yPfRJ=c<%MqJ4HOCT(EH9r;7#bfI(t3L#&nI>#R(U&bori~!+}(L3`)LIhMw&W^$SYn~S6 zPaU`=1@y19o%Sl9raYgz_xwIU|K076j$~lsZQ$@oU7Dt*9!=p?4MWem1$YG5Qifut zx|BOuOutqJb^x>(bJ~bSkf(>iv0DEzI+ox-1Q{OOQm{M!LL(9A%!tyE@ofg>?s+2< zvj_N_6}bS>cy3E%4(y7=HA9~LWRd-2zv5P%lG@<9a~{Lem3f{#_6Lqd(%+3K^{&yF z)}4FpI39=Zb49N`Z2Rt|Ep6cTul6&DaqUU79T>NRCpY@Xr}E){pOpjmZHQzs(w-#0 zNsyqdekgI2HamTeZ|0(X{VuzW2oX?T;yoL{^$hRpV!U>}ge7#8H))iX%MHQtD;jEs!e#{iv)wfP^MjJCK8LizRs?TXO;|n(h;-T!9Ckjzest zYN;6F#?Y;RGpK`kBpQu{<57?rIM5AZ@uRFydm@C15cvM^t+i$il={8hj{a``s&|C^ zvV{7w)PJWE#0mwQ*^W*PC^s_9WC?iN`!TZnv@M(B@G-h!Kt3E5xAfEjP5!vJjX{z90y&4C>Pup@#G$Yq9sB-Boe z1n#aJ=Q~i^-|KP~wR+N{tZ(pQLf>8~%3?dv9=3|GSaBH>_2ExT=G98DypC&HI^3Jm zimtYpI#Qr8+ibYy56&0Hv`TXRS#3#HG~U=J8g2m>iL&($M>5%HL1eQ-WH+it6^?@x z&q52z>KkKnu{Wi3O17g>^(>7y-AF8D#V)YfSk9j~m{BwyyL)jY|HJr<;HpaLyso+A z5*2?;Y1NuYBAi($x{*KI`G<2Owdm3g^$wRzsw?mGaP9=G!X&uRc7tDXy#+bsPPqz% zl+I(lCaX6hAhjj z2Zie!Wf>qccqG}aLTO;K1U6UOkz_C@K5UkVTNI&|7<%+%)|s3{{{BQEDN&9|7;qU# zvUyx;hQB((lo7^G8AP;X$v?12yRjD0wbBS{r=PZKjuG^&UdqZY8DWPKJB_xVQ^Gyo2Z=8qFeF$g_f!;ee~aB zZ7cY%7Z)u#HYx8$&o-m>U!|9;lF;7nlxaC5IF}FOV>#e%vti= zvI0P9mw;2xfn;0_!5}p&Y>mp(WdjS(fAPRUpoil->*IpOZExd&#Z5o0-Dd{xIwJ8R z1dRqF|1{HqBkEJ9E+y*i+&m)6-g!!U{s#r78vv|27X&$w!o;f+DBM%u-evSWzMGYa zJDC*9NNevuFb7<8545nxqX8K|6H}7jW!BJpM|L)|^9-?hh|z|~eHv1s>v?m!22X#s zyXy5_#}$k!$mz}cf&s_oFHfy?uwNl9*-YIkS=;OPHvGC+ zIy=+*6_h2g+otz_r7*WlenOo3Sefc{R)lwXsk8|A_3O{8C!e>A9r@hV33}hzzT@9d z>#V4W(8axX2O|jHtQoTSY^@v4zKivU=rlyHhF?e>SKu(l`sO>$W zDWUGr7N9VLXVVjEBdk_>KzK+nFMT`MP4tz2BVdkqD@kfHh9%0jVJG5Kf%We%KmD`u zQ=sdA{;|i#(b4~(@MaxPg1rZ=;jVAvrtpPAUsy5Zdzl1u?<1?LxzF~EytUbtHAaet z9RG&VAiO|7abh1X1Ha~?5U$M%4)hiACC}Q;v`@iuVhGSXBXdJCy zyoD2>HC^ZO^X3GXI@R)B*57Sdx9qoPt5@7xtH0?Ae$g+%ogFm|5ZuhRh9kqDw#{VI z{Qt6}db)e$n?*uBHlJt`#$|@{qszot%-6fUD8F1y@yO(tYauX*LyYgt%yYeaooGo)<^DMOG9)?Qj z0{x*~3AW>>ui%-Q^le>S3X8Ny*i2-+CPSKf5s&pv#j2^v!%8MFT&&Ru?3X`;?Q~}H z@DKl_zKZ^*8l#cZCdRTR{-n>c!va(N&-(E)oYD>%>(`MG+?BxT{iBv_$+gl z;Zvbm#NBJDz3%{inH9oG=n?$*oS})}A5phqaVq))dHZ#cn!m+RIMwTpG5gCFenH*} z!x^2hldw9>qxWxSrD2~LmhGGjUDL-2<~x2dPk$=`)!B0xizV}~M>)T1r}AYNleY?t zL?$BLYO!)oP0)7~e2s@tWHl3hYz@nKzz_e0G1Ri5i6NVYDO$lJYojT_vT%LiPQnOxewP@oa<_;(*G6>%Xl6@cBO}PzOV|xdWB}7>54oSMq$^JCE_?q z9dJ+Oo%LSyKL*#M%#5MJN=2$zQ8XXhQsSB!$<|KN7`}5-x@X2fiWk(%j`-}Vg zs2v2hP$V*#q^8u2c*2-7pq$IQPHWuM*k^B1`l!*0iacb@?zqd4Vk3qYZHF-s;R&zP zLtNW{TW64})`&`i2Df@8R281{A78e-8k;O%T5PP)%|>w0s``Xjq4dMt)^gr5B@!sy zy$V~|-cXpFRrRpc3X!16>0*c5JdsaKzI{dOU!nn+ElNCN=a#p>Yr%KB&B1pLiueT+ zgSf;(UM+6c`1B`R(mB=%1XK=4C(YozswqWXmr;YT1l7uim&SD@IN6>N=-=r#7h6b8Lm938~Eg7=0k! zAl^f6*)G{j-<2*VL#s9IPl(EOcpBs5dO15jQIoaoE#=4UQ)Mir^jHW!Yr*&iD(XVL z?9=@UhoYCp2qn|Ef-qT)T_IEbiyfq!kfNx@asr$PajoO8-AM4aoHQ6Vv&^elze$7qox&$OImBeAs*Od%ZHUm!{nMC0Pq<6J%|vIgWW$p0SjL@H|EeNI~jfMPvScV#}t32e-Ynx06qANYm=WWM`P=v-n45HHP8dO znB_S3Qx=Qq$?WOm$6p{gkfxAi&aO{LWELjJn`wH(lyw&G>Mf8rE0PnK-6b3P%zYv} z>A2S!{HBcgY2F1wE^R+dEnJz}o>7~Ak50@pTr>nEcX2ckK^bE&bX{g;Tnm~!?IBys z0>xYQ$NZ+{#JJddVsfIvY|GZ%f=|UD@myg{GnA2bPRawOYR-WG_ymL~+XuY+_UD9yJ)5ujC%&lEaHG9nsFaGzbwiKGY%WuM)!_3lutV zff#Sb0BbC@e#5mE9?>a0g`vAHJtQbFEsfU!ibypcmJM3gJ{&zaCB*oM7g-b-4Z{V9 zAjoMWOecntlCSn-`~hL%W>@*m8(V<2{T=U5tbfc$($I(mc>fER=B6RRRqb=F9o6rCuUGKgt}`7r z;|@%>tY5c*DJls2fcY|;M1FZ5OB!x^edj7HD(J$#fr$-FM zVnZiVel%782#ELEOg2$9b}=F6=T`>1*8A)cidMO^1bA9SGsA?IwMAHgjWdlLtiH8T^N}$__b*kLNkvqNrbRbll;iU2)+&vGOvT4Xi(kBU2LjQF zIg2vN`wsJqJv_d3?M-yovEWJ_;_u;TD@P1U@EsU<$Wysj{#@vnm5hKbRW>9l2o0a- zteDq;XW-7FD5?oTxlC=A#3B`m4!IaDM|J%Orp~W@A@&!?ZOGlVrfiVFl9)Q3H z(BJ)qM;7(fm~`l#HgruA75R4_>w*c`oyc@BwI+~yuX!{CE=L|brxSAs z9d|++{HGI;dTTAgH9m7Gh#gLycrHhud_5F;o<4mowT=J}L|SNRnw(;5=N{phZy4(- zD{Lp7%2>-ODNHY3LydU4Ig+L(EWvjLSKJ z;xmfuJQ&o!W-uQ!ny8SeNhUbTNHDIJfO6vnVnubI{W8`-2Q6pQ#z8_rpBSCGoFtKzp>Efrd>q{$75n^%PcI~J40c-kzpqB_vaT< z5AUg!mK#%XCqD^9pVi5O4|Wnu2wvVWwAEw^ff%&a`LFaVUnY{33n3py#9e<+#vPf4 z9q>=8aflPqT$zSfKkq%;p_(ts^7TR!WCC&oM^(6jd8I;8l>?H`a`O!#)TpLlatwP&xy!r=Jl6VP^5sPYfM)5BDbHhR{Otu; z<*fSfNY;@-mr=oa%0k5$hrEc=l~K-kBi;Z}vQ`3oR%p-~(@DE^hPMpSSb>?ym`#xo zui}$?*_s||17~DaAz47<~kvZgDKd9eiRb5Q<<;DoY;O4#9M-!}Shw3Bs1I?#~ zIKqV+29)%;BM=55BlYL2@eo2I)cysQx(Og{8&(_#mSUU-aS@bYyb6eQ5R{Olxcjbu zrk}ChINd+(4H|dzYiUi)av^Z%XmsYb+i%K|!_8i`_2;o|4V07|V1jl4R&4Qd{(k0p z0lFbd0J5C4@{+!sTCN|D^YD4uj;rSm@((d_{Zr39povGsIdTs53pKFri(*d&+~7JgkC$JxZbNnTwDqm&xod! zLlvpz&uK2EK5_TI-YVOObWnB*n9h7q_Ys(Hlnvtq@DUgvl3aej16Ticxwql{XCL>lAk$ARMIS8rIwF(HepPZayc{NE!A$&W|MB4Plm|L@^- zv@8M~pMb5to9VZ4A^Ebv2q4HruK)Od20XslE}=bqAX{iV7*&3TxPW=*B~!|>R8Lmd z1q7f!e|`15E!lc7jKbB1pAym9(uf_rI;RR7CWt!sI~Ob$CI163loLXD5Ks-#Oz(NS z@G@jar7NyOMb1;&c*^#|4@(=cfjLXdqm;L-`a$bW6_<+~=YyNSeua!=h&TxKk_dYp z?7KY;^IzLJIcLtTeGJTny=``_)F=0yB#_cJR|4{3Lr|tz`TQF^pG1>RC^8wk;Aqd~ z50tCh^Lh>a(RS%ESa*aMa$Znm)wRj3syRwJVzoA$-AkDiuG(p2kzb;|~8y`>7@?7-!7n3+QK2N70rQOMy{ z;h>}#b4uPXZu;LS$I&~=pKlqU2&Dt^IdF-g(muGfY1GC}N=uvV7z;mGk0N;GIAtXB z52<#L>hlku9#W%lCe&4??@L43$5oJIq_iuZ6R-9G4%r3=U_J(b}W)3W1$r zL20TUl~@fsc~??Z@^FA6>LeD|`HQBfQaOZV0dG+Pj-_i(t+=ofT?>UFDm$m4xiEwV zCGS85y~_Fr>f9kA{8w`nZ2BZyFVQ9XbQjLTdUWmjwH1H@s%39R27tVg$ybNxwbW`o zpq=@9KP40Qt6!H>^iJE_IoVFZqX6y;0uT8AwGcGAOSg`2wi^_C05xd^UumAENPU!%VO|a!NB}WV`oC-7&udT!R|9 zou=(iG|Y~8lO&$m?}_2Rvin@h1BEt|rg9K@-{`zGwT7-dX{xH&!7DV_&1{j!f6}(^ zf6Hhcdzz%uho@81s*5(aE`U7#pqj-4VC_dcsI7Uq0#V~s{IJQ zxVTzsdI*=YtDXrAHatMSV41L`cT+($r%UFYuFSd35yntplUj<;Ya@2ddcx29DMmx6 z8WaN`DONSOAc{f3tA@@A_PSMRycaH)GGc`9!Bi^Azf0-5SPoOj?t8)U&zG$-!foxG z28%CnCC+RyO?ja8E+p8E%uk;xka3zi{HU82EmzxS1)_#m+qdr3HzafHVhNI)<_jg6 zoY}I%T)g55J}59tr!!aTEznN!K-5^EePx=UeUXfe^^5QA@c13b+Ms=1VTODsxID$| z5TD_OeDA(+4hSHh3+;c`D0bCC4vjU4D|oPi2QW(|D#usiX!}Tj=^?;2`%01No7!pD zsdp4Xs}Cv4;@&Cd31NDOw1jb@B+1`I5Dl&0cl)oU)P={VVSgc$>5o^x{YFX zF5&jJuhK~kg@#Xtcg}Ig*%y~r)&c8-jn*G4TV?r@M&i`tL0Y_W=N5w2AG9!qKnRD{fOX-cG7FJqy?-@KjmN2o5g1< zV?fW!9lS;xt|99jcTTtE9rHhc2Q@wa_H$hFShs1DsoVhYn)p)5iiIdwC*=6LBijxm z%cBsR@j;G_%#0~#@HR?0zp4_`nq_3lP)^ir7050${owf3rNw0LnZuK0%VqOGCVwVD zW#Dp)ac4NlG}i=*PdBOvnPTq58IONOQlA0Pe?%j91iMtkkJx@RD$4k&^ibR|Q9x%`-xGu$v9Gad z4-2Hf7_81PzqhQFE{MSQD2GiLOm;@RIM`CLHdk=1DMxCM!rkp6XS1?TdE05PotUqx zQaXVh7w;%bX;`d~Pd+cuIBKWe3Uhl?TT_4r^HuwAqIi$_=-7(3fhSmxx-{{}>Z?*& zMCOR3ocM2M<)j@-Hs}aFS8lWD-K7RKmy7SMR;mDarM0|I<&XXPHPP^275+kI80SFxW6N>5m|sn+0Kfg?iU1?@dS-)%@RmR^aOGCx z#1`XLj)8v%QVSg#Uh0H%6qe?3CWZ;O>A@sSBm>C>xZt<)Q`S_xGexHNVgXP|j3H2!@F~EL@XHa9!#POz4&%$onbJ{Z89bARehA%9!dVmF z$>M!*6Z~Af{j@)9T)ZJP?r>baM~Z*r@=F~U89DS!LGYz@8@!`n4+T*N4nHj|VYOY< ztOTW1J}zY%s*8MQE>kMO5YzCw^qxoM>KLjRqZ!j}I8s5Is}c6Tmr?Ck=C0sutGEwi zyf*(Snw{Lb>3Zz=OgS^T>fE&b8LPFb639R(JX)3rcMTq*3U`j>LqGHplH%?g*LmER8 z)Z`W_yAF3fpZX!TMMjAw7emIGvuVh$+GOUF@+*b)bW{u;L-`14`6!r~^0ffmUw01# zOS39`pWo{emD@8o`Y7|c&#Fdlmd|nestO&XI1>*!fxSKFx644QdNZUa<#JQy*ooCp zivkHvw+(W#4Ro~9GNOBfdM6nGdKw!J>2{`wGb3}fnZn*HV$|>QYR=SBkGhg=xWWDq5cGx5Kg4` z2Hlg3t&B90AYO&J2_V`?D5vn5?Wrd>?-|0XG{_XURJ1Gip{TH1!+NSMOB#>}7WK^X z;3o1XuN>aY@m+#!L4s1UMXXCTUTBFY=DkK3!+PXjH( z@DCP^t2*}lQx=mlE>UuR=nT91Nt#kJYyc_W@3x5R? zrR$5UC{vs9CWCM;qNu!1&WHSXPsQFYsz zIa=Vy=~Q0+aTTyIizx70f1E}5w}k9^Nry6KESaey2eLdAL7RonJhn=$bGGT{Iapw= zApz4_T-D3j&{WG#x;SiEn~`}a7X6NxYy;%~T53-btDv&0Dk!V#N+=CIlT)d>X>!z1 zi227N=aFNQDqr7?w+J&W|83aWDChWyW~RcMVx4H_dv1_dXlPRrS4sxRmf0*8sQuR# z$SIPhOXMVxsC-`&`PK(`d(5!A3z%W3-TAcsdfLC^mW1~bf-Dn-V>=x!(x*l)f#?=| z|6gvDA2qTV{F}vw2-$wQ5W}f2HB&V9gS~jLG+Y5hHW!C*U|C*s`st8{vK0cF?OFxkihX4~rT~ zgFctA`KVk5{Tu^*gRTxve|IEU`Ue?2;{iP3R?x}vaxbFr)Gf1?YOgLg5_604sO1J7 zT-ZpdI$JZ(b1>|?I|Nh0r)97J{M4A$=AEPru)a{RS%g%S08BbRc1)So3O-S&=1Vf5 zzf8I2PY+2HcpWCraP1zoV6$N_Kps?y>$qDX(-I4U2t=;IhB~+K`p$Pas!Cj{HWFrB z9~5gnB-?(PdQlMWX`-v1gATUMu#lE;Gz-{z1&>Hy(F_G|lw_*@DIgVb%2jkd zx*NMJ*y@~*Ow{rMMcWT`73H^VDhJdh2o-5>@xRLh_y*7Bl;pyJf;v^e6>@nl%;5A- zM2)KLryj)8o4%p_;-S3^K2f;;P7=h%e%;RA`+u&?&nsM;ICS|Dlyxz&v<3+7Rbw4c z%^wm$karm#m9eOJ!sv@B8>vmK0c2d6YQMB@9*pt9TW`DI>eN}&^G01iYQk!tIUZPs zZVqT-fSjwA>syrzbc9lf;fh3vo#--TAFisvqo!HxH?Fs*1Tp(gQ!Q&Q(kU*;{7mZ_SepU?YQCxj|~uX7bsLcnrPwxEMW zFauQPdQ>#X{oy4!8J@-mUJ9!t=EzqFL(Pz!7qPm$0ufV$ zXH!0UM8~Qb9aX(YRBQhPZr+eM5E^>P#zFkI=xo-6%lp8>1U#QJaIRz!aRdAYH<|4x zNO4XR3!|TmrOvmV=ofci(>RALtM%$~UI#kpdmpf3J-QPz(*UPr4n+>+7K?d`vp1E}1uf6Wf7 zTXRJ%73#FspkG|G zy#$<}pNCVklryu-8x0s5-{6|?^Jf6KBY`<9L!-?M3*Z4;Y`qkG+`5di5f1%k9j@C< z&~Bzdrz-{3MT-3=G#&8 z;Bf0B2qD1f;rw+?Qq4v4$VxKQcC;h&iHS>Pd-p?ZKIHSne)F+PwFUT44HJ%@i7YHJv$nES;)Y;T%tytpoY5-Bm^5kV7ar&NZC z`BqRe$@B1BdZ=0D&5ofgGbO!9{U*;XrcYOx5~6+he{n&p_lRztp2wk-G*volA)g4p zj^Dh#*pzro#YCKxAo7+`>JNzpNPW+0`K~kR(k4u?aB60n=qo%XGjQb~U~&qgUg18Y z(!7pgyT)47^eahW_~vuHQDVniVU;UhLU+-a!{j~#gIlTWd`viv=!^Hcv^S_)R17b* zMqiIvXWH7lgZSJ`8g8SzFL7nb8871?b)%WKU6t@5dMZ~E2NwKe0vvztMEYb@HBBrMSaiHc zmI1(|&#sN90JB3Sw9VSPHe|eith}pM4rMA55Sewh66bRki{67arddM`CuCi$gxTd& z$eTG{1n&nKIsFFTcWDBjX67YlghrwCGxW25J#YWOi!g_?&Vxyk2_-!|DnDpEsw-!OWKDVIu^Ah(XDL6onT05v0;PiUaaiFwKdwjh0 zM%^HuA+5#V)~UL8G?M}`YV9TSE268wONWBN4vFJjOFHP4^wEFss0V^X^J1t?>geS`75U`MfSJZ@TYnifmMOf}Q@h}m$fPk)zJ?%)yzRktebd=r9U>KG&c zAhADMC2_AB+FM&Wl;sT;`R*{`>hz6s&)%=!RL(07Q??9@;v(!dOMK9qPkiv*(t`m0 zx^T~zwJR?4IhzT4TVl}r()8yrdr-Ky#qo0$8$a2`l%ixr56nN>UgU5Bo#1v1XD z#h}dZO1d=oq+%u8Hz*Ofe%Li?M2pgBvfhNJ@zFXtgeDnrXpVXI@se()(Cg641fG_W zx*{aoD4SKRU`3P5cv~D34~aqcF}-)===8%zfsqXi5;;Q9HvKGhEV0z;oog?;aNYYU z?@{gN3wSeD2IrU>WdpK~@~rTNM4~{Vb?XroJh5NvLLhx93e!Dp;j5Qq#aWp(vmDUz<$sCZrYh zb&WdblAsdQxu9RwG6B{w7QjID;Xwrn;A_W`th&LK%|r?{Ht=qf2LO~>npu1!5(Z{n z_sc-MPY9@uC^jj(ZLQJ1deR~k6?N6>$zj^P*K%=}d;h3t26<;%bYyL(dKYJaC1rB8 zxu+M3xv>Cql8AaMpH&gn`D?q2;z}OvRG-cx-@~1G{(yZ#GN*Vb!o;kSDEGkHJ!fpr zYA0?X4x-yX(Q)P5*z6J!GV#kO$8*v9OW>KTy;xk%>pEU%0Sft|hda!f%y%BUP%hhl zTH{w=Gk`#dSYUa82$v;(HMPlK{9$fW2u>4YJSHaj^g(XJf>v&E!^nn7_{MSghEaI8 zraZwz>~&kggXTeaq=UIZ8wbRO-eE5FP;Ry8LDII%e1sGQdF+B{>d3}4(!mXyM2A$b z@(+2eT$o?Qo=d+0SA-*MPxqJ>z)iqKGtri7sGI^*v?iSu`D2kekW3&2!Ihol%+9Aq zK7;ni2Gj#{OlJRhf9_{xD{@0pE@t(4+*pb*S8ELflmyP|B@m!D4C0+`Gz_AZsY{=rT7x3KCNg5k?~x*lBzS`ZGxUWny;CHwD@;4)%p6{uDe zdQ!bJx_LA{(-13BBUTEK_%vNomjv5+Yzwt%{b)O%?&e3v+}wN`W1V>%j2y=nX1u-W z(J?(C6nKttD04I9oYG?r9eo&%SuHcWD(}a68x$?&ou~j;Sn2Y$3mpxfX@Z;i^e7s4 z3Y^C{Jygr4Rdop{+oCSP{250vSWF8Qadk{lSQ%1yd4N48Qh*&HM+@K_B@g;WC#MBGr{N$a6q%|P>&|jpS95pD{)XnML&xJyT+3w?{ zw=h8PN+-4cer;tU&I2;8jCkWN0@Wh;tUdyMH%=5m*BRhzR9WA(8p%Pr(-skzw*I=6 z)vgkZ;kVwNo{#qzjkPld-q=6OWm{F#qeu_{kS6084lpBC=C|Ahue4a2bbJeW7vI6W zLvVN?Nc62R4x0y{G_VSYYbnhxgAzuaHnuz7F(;&%m%FQ1^gmh{Aj&Lq$-p0YJ#~cq z*rqzj({orqYLQcF1t?~!)F85J+6X_Q4&#ehAGJGLA&aV($c@stm9z8p_#}T8#Fkf~ z#Lc4Pef=Us~V$Ijg8b#B4GLqslDu6`_q2W^u0iC2>_o36+w{?~z-2>_Q}DE*FsJf>=o0n?EInoL zsVvh~$fv%;0?!6{Is5#UdeJ&Jj7v-X7iuVclZv>>!Q}ahuz2Ay48bRWJoL*Li?c5^ ziSG^ylyDl@`t}WneyO+{_o`#?vDHaV3Is{VT>%zWc`2MhX@W?C{&MFL&y3F!O$sm0P8EvMgPY}2Pl2|2Jn>5g$Qbdt)o3yW9)(eUC!TaQ-_j`R z7#4NCb+rR1rH@H$J4@JM7!{wA#a`>;J}s^H5e`>LSSgY7;!nLpfuR7LCw4o1y!O?ByIyO(ho;2;)swaq) zwE#Mj*co04QzOB;hWZz5{57;lT-rGvN(NTG*=0VO^*ZD{PLP0PdQ|eBX~8F&^?#e2 zy>cc+ub5W+;(+Jq|Mon`F)ei2M<*O3X72sBeS=9H5SMWLIs4PbpVzwv6!~+V|Bv%C za2u0kn(v^MV*AI{Gx`5+`#(>JwcypAZhnf0s^RzQzb{Y)>vpbHn_8KJq&5lCBESbE zI_YnCq?#^nE{JmZO*2|`nKT%yvm8ONR(mWNuYnmL1@Ilykoz7 zKmHT&QW)S9eBZddJ?HWZd^ti0eBA!zun_+ddj%sNXb35y z(Ijh^PKB5DBJ(yQ{Ns~tzC7zmKZjz1N?+nA6Xh+Hj;hi|u_XAK!N%Wo zdsOk62u~l+emd|0e>)&L{OVFF9(@i-(}DpmB?HBSt`kQwLqkULCJL}UIq0s-J~wPC z`c8HUW~n}0ia#dIV-MtOB5fGBE8*8;ULw|L9#Ls!yPbZp3 zk=5XShC^EkxYcFE!0jW!BoT573`=i(JXSIFW53e8LpqNDpjo zIogwA8kirfBTGjOUu>n_=sD2su3+{qU^?+8N%*(=C@4Ds}J0X4aIiNo|n{_m6T z1B5;D3~5|~6xD_5aMf4och~N3yy_RCOwTSv=Y<>MC3LC(hqr$Wk}PN+Mc=l~Y1_7@ zr)}G|?P=S#ZQHhuYTG?M&1v3x-~Zm{?u&@??R=?PwKB8TidYd9S((4*d8qLqv=8t| zl}IFom4}iF5Ht%z41VCpF^0RPfN1MEmob^M8|!f+XX^MR8wSnfX4Sw z#JnMC?mK!OLP*{uRK`^t7BPKZrz%bADXZyW6XF=2A=WtiLo2lu!375rZvini5e5O5aJ@#q z>~OBtQ4EDbJq(|e8H$?{gOm~@x(P}NIoNEp34Z4(E{h+llLB=wRSQdq-$YqU*|rWL z{aD^o#ya5hvR0Dm<|8-2B9O}=hEqu{g_eiyGT2(h69K)UVFR5t>4AeX8cOgjg<3* z2^wht4Jl2j9a!QJ3Noc!TH2k!D_$l5Wd+1T9q`(^XG5XEpUli5T>p}X(;wTcuM}0# z?*@lc?eUgn{eq})kHr~-@)FUq21m(;N3N@)ZL}&G!+ArZJ>jSraCsyXSshwrKa}-Q ztZ89#T= z%0NdDv{&mKX#mrUAm-$*_DWY+*em_Zp>A%gKA0DLH0sIxvY#yHRCP*GH+`~E2@%o**Pr}c`hTvyv9;#s;^Qbc zEw$^Rw$-@jQ!&Pipt^#YzmO}x;PqSaNrqwy#bj#5I)TD77dieh?pNM!h} zwXdL)SsJzg*c`Y#2c^qVL@w<7_krDsW_C7yF;MGm&*AiMEGXT!<;cvrMdKX#MU3c| z63sIq;6-wOzXF!JHDbANrFBnGb009kFfI?l^E^>?HiEwnM>e%}&9@K#u4?FbTJ--w8j)m-c7BAM$4aF0U5aVRs? zR_ic4+GtajPLet%4j_dfvAEY|bxFHN;hTz3NVb6KGhijq)TA8Ihs`U5dGu;yQR10P zHb~Dn=D2V7AUg(i3v}q68Km}25$$befPbE-0hKWF?JAWGOH)WJB;TK}NXjCtSkira zwhNlnUi2yW+l!5g&U-2*g~yGGe>JH)dB%h%Z&q~8 z%F;g5pQEaBjaF!Gf0?vXrc0qE*o8vsZ$pVzAQ#>FSw-avm}R~PE$S3;NvUu`J7<5fZoc191)vT)=Ja--@#6KU(4M`5jw zCz7MgIe413I-%$&Lr2Na82pwnPan^I>JpU85sX~#QPe@dGOrGTt5i%m zJa|W^s$%Xowo0E-P8flwNNh(F;Rk)NN>R3ICF2p&k~*CVWwrnd$4?9 zixp0Co6vLHe5+Rv(^v&=Xc_O=Y{DBG?niOf88b-=Vu*9%wo3`OXa)edn%?$%ne>At z`bd-yF*AMWZ+xfdegLk9L0l(gg^Sn8z++5i5rS-cpRcXMW5h$jAQps-G z3;$K(vxe_=8n7wIl4w`~U(K+`3QD5TR)*;aLMe*`hWEt&6Otx1{8F!Vy!wNJ*eysQ zoo1*elbCQWk!}fDsH8sd^|0LkjmglK)%`5IB3yh3jNhX)52<~`0j*s8U4a8}=l(-_ z_nm8h6Pqi#?c6adY1Zm!y9~!*mbdETh2^0jYcH_qXYnK_oRr=sdCO^g*`pqGSf~pP zynae%BX0jv1|pxjbW{G~idX(`zDvP7MItS;03)G)0Rp3cF_?-C~rUf^4~r6q&XNP&(~yEtuNG|svhDYdc?Jp=9LUHYF$hL*p> z>F*+f(4E>W!8gXI_}0|=kK1|!^5rU?3Y>K-<|ZrFEIng($vO)CmL*H>fhKZEo21&d zo=06>*-6|u29A_GH7ms*n(Bjem>rqEnRAo>H;)ngO^cIwUU<(S{$eKIrx4C5nBdb& z2Os}gr7tXFZ6!B=q-0cVO(J=pB>k=1TkeLh)?Y=>`XS}40@**+2n^hTb=!z9l{4H9 z_9A=18fD{CHx!!AZ9c(?{gSOAU~%!GIC$HlS#uD+2d+(XL+jzTdiL0a;bU-b@Pk0p z(a0#Fg)tRmlrP3)&aMPg-?PCET)5pcx?!I}#$rrZG1F%ETJ|l8?T|j1#6XemYV(IN zjmW(DeBKvs38s0oh&B`5lJ)JZ(CNt(E^-C{FSsMNYIJ3lKh(gAB4LHW8tmN2r^%b%YoQ!IWi$Iuoaiub0_cC{~GLgh$Ig z4Xa`q3>m5o79_}7mgXkF_jP+s@EReKsY|J~TGyY#SlZtiH8xHPE~_|?+RbtP0Gf5a zR$`HuUNzE(q02U*mz0`hk0eB7Y+4aj{1ru-GOPSs%BRtr%BJa8PcMW7vwWKi>s$G* z8LL2&+L!n;k9De9aw7nKQIxII+uR2X`gos6-tIZq;jYqazWTdFnf8g{_u#`21m=x@ zi<>0V?1Of|MC+7(mZ;;y?U%PN!oUg|kBrOI+$nb89bsTFjo{X~y}69zJ*s6DFh(>h!3pS} zxhbZis0|+q1C2R}5h`!5HP*o?rl_qRRN>1!;{F)*Z#<+g(uf za;stm(xFmq^sIntRuh=f!_AeT^aX3PoKAfT z*`&p}S~&rgN1SFNz%xPoS;O}{70~*%Y88f=c=;$mfvPj5Ufxkq?ytzICwo8)JS6y9 zV~*=%^?O6YESpX6P-^*Q>oHH8-=9-h-xf#emdH9*ErHnXa>GqKvjGmfCRtWNoO>OS zUNuFP4$HNpWSMXYb#`GxOj>vBIh zSF|pWEA}TjAZ0|bs>tcef{!OM4~(_RpQPgucK*3~?lE~7DPtYc<2Ts|Hk)XgOjZE6 z3SIE;NNOEa*b=3~o{5Nyhegn2T8U-pBlW|gI`oWtKqaP>jFe&!MT>An6x>7-ZLb}H zqntu6>2PH6xw~}Q(4?qggE<%h1Egq$mj?y{?+?sUT?K4SA{qIVf=KgVEpb`hI+p=A z632B+?;n9|;kFn(mBaCI^Om7YD+58a0vvI65g-+2tJX0374}4>9ynu^t<9Bb7yH$+eYfo#j@q{RH*2AIYz8OPeRPnp$JUHf z!X(nkEl74oM>0nUgo}~&bB4LAI=y}x9KMV1`5I_TV1U5~LqLGq!|{>7z^9=$;rD&` zrUI40*6sNC_s5^p;dP=qfgJyg`~@b3zK=`O{+q_|IzDp0SZwm>!F?W76`zUI5^fvQ zT%la2&Db!02zVW9*bI>4;<0A_fijr(ix~~a%~5&8z$`ehdd0S^jyE$^)mJZ_e`j)G zjA@KK#o&i3Dd;ooPaHD00@rJcUjntoJHc1Tf{&vet#j9CXU80(VB0T`w)jH5laywK zP9b_jt;GyJ5)pQdUh7eX1X8*L*3h!P1^w+u!JY@;`T23H8iab91*r+F#X{}?kQETLx{juntzniM@Ln27#ijew88orfKYJL98?LE#le3->!CAE4dFJY6%wFVMx zDzgs+zK?{808)iC;{{W9_s5%4-?uo$?>g4L0WD~ayQG5ytaACq3-ecXkm_W*mX(cH z=W_c3MIi`l6Q;w%m9>?YekZuZGWe=O4)?{b+D02Gla0WqVJ-F-K_^!cNl=&73VnD& z_t5gBh}$|E3K_d?XKC`)uEJ6!w@l|QTVDjp%i6*Uy==pTs-lF~u!b*M8su_gae^N~ z{IOiL*MmN<;E6wcbA<0|MoG+85^*kt(@)F05{uzqe|0_X%TT#LE;OF1;`f300)}zA zi*Px3iQf`R|51d~qd%Kb!|PB^pqL{jD@Jfv!>loh{)sG$9V1EDmzN2J)oM+B z-SV_@u4R7@q85KGMqNO(9IxrFfol@(3np#J1J@*A%pf%m=F?)`2+AuK;NR(=u~XXt z6@o9ahc&AGdH<&4rge07{+XXQ^+HH-yEm>NfRD#;`;dGynZ7#T9-F^BHh(oX?{#Fc z`O*9HpL4-d`@ACu8Qk{QI;Ua%!Jul7(AbfZ&wS>Z3m_o{mNfo}+0wx@+Umldn^R9n6cAKQu5TRt~>ScGZCrs;g zw(1WKC{Jba*i(1%w=&*dFsNNs_TH4Qwj5g-Fbc_MD#hm)TfFG?0*)$1`}>ZyGa}4oX<43 z(q?hmNt2xy5vtM^7GjN4>6zdqSj4VEDu#}1um(9i4JtVVVv6K z`dbm0GXXg@K+!Wc^D)LtQ97Fw@_E&#aL{7w|6C8fIFXAr>zS!e>wM`fKm^79TjJuHRB_4Iciko#abq&`hcw`JB_pZ`c72~oKe;v zd@N^`KdpZmK+)Jk>#kXL;~ZGI?AgPKpJueyOvZ@HnT-=BncuS#1O_4#KIByHg+UnOCEAxF&68h7+;RJ_&8!&X;<0DM<2s%`JVe90Pi3(XU;wE^m;6e zk`xX4i3p_BBG`Y5&N$@AaNi0#Ax`lu?=I}Y%M$ql@+{Q>^`AWao=TPddeHv8lmKxN zHp#R-6s7Pz4wJ$cgt^#yj{&4PDoU_jY%G*8zc zRSOgLipch{tYAjl=c=4SI*=|mP?j|Th|HoX@}rlBXj(MK^z7bHb#~nXyfKH;NLrVK zf2=6VWQ#%P7b_%f!5Ij)7dt9|f;zp{<#)rf z#W&~@J5W)>)i34#=jm*Z9e(eBZ(Ll{%Gv}pXeOIxV!Gw#P#DiWPR->C${!$7*+2j0 zr9y)#eKFJ(^Q4_PMV+zZ41mxSSKT7vz`=G~^4~;_+t@)|j<n2ZzyL>NTWv`@h-w&E$ZgMiF8RSq~E@r)? z({*~WZZ|@fwUjmWp-03|kW_+=sopdq*0ggA9xpTD@a97|WkW)O$KH~@ag`W zIWfn9T7cJ3u_Z-EpQtTg+2AB^mp$k{i1UrzP4i4}B3qXkY-!&n>zlT%0~ zN6qG1*N>Rle!K4-$XTVwaA}flS%@6X-VFE0uJ}>sPr(F1DqM_tOm!W8i{xc}L(gK1 zzDu7~6lNah?PVpbb;cHR0*XX)#AUmX5EPF@5hP`w44)j7 zXbtSMJ0#@>k|H|w>}G^QK;X%WYA=fD^ernu-43c7by>xKnXy|>AiT5ywBuJ?uAoS& z4iqbjj}4e0^0fH%*4?Bmn4w6J1+)yTU<{T3UJM0@a{-F=rVL1h$*-Fsnm}^`5yoA* zK_7708O!#1)GG+T}I&YqBr^dh5EHK)mL`DW$Y=6R*u zp8k+bNwaTy*#M(PGGBLS=reY9a<0R30~r8@jPa}x8Fh+OEU~^}2;kZ|JGIpl$`+5v z*SM5oj2eQ56ssOwQEp18GXzJdq7h^p%q11Ybe=w2p%3ypeUp!79cyD|sH4W-f;R?K zpV>Lux+J~-5$Qr|@`Je&m~M+}@{vAVH~C>#C4c-kFKH(_&EU@KKa_g|tgn$&2~!d* ziWFcOIs{lOCj_5V`d^mYR?Tv(AuRO9qljvcrbP+w)0S>GdjZwwj78&nLr)G&A=y z{C&B<0&~7GV2_WFr$6yq>+TEO=gmX@@^2OU8tn4yDx!}^W%GkoAsdP1eMHsa{DzP> zEs{hkZN#&zT{x6XZD*n?1tuiOx*HK{F3~2`hRXw30}|W)ga(>27FUG2NkFTk@rv(> zx&6+@z|lpbIt1CJnZ!8DZ5!VJL-&$v-XCe9h-&5m54)b-qTW{-eV?WR<@V~(C_ z-a?w{t+yxP+T*q^1d6mIDhv(&q$(tN_kYYjp$J3>=*ri3h$KmZ7L1natIZb!04*A zP5b`{Z$>7_FKW-U#N8|+7_-N)g7lJ!SI%}NN185W%?mtNG1dNc`iOV6p@RUzS_#U^ z=Ks@n7ZCk}&`Ux@MR#rNIkvVh0ahE_MyO)}LD4HZD-+~aE>mzRo3~pCHxswmG8H5n!mY=UNu+j+_iQP@nn2@)<4SR%WqKS7jT=|$-t~vw4Z8A ze{{ulg8sGpkZ%L!8H%hnsNx4(&cA3SEa@CU0BcA6MWA?_=CLw z=tq4K`n(*s3Z+u{H1m23e^dAaPh=2>={rFnC0yg#uBxc41XpaHrO%M?FT^28$VsGT zBG5HvSE`Tst~0L|3*nIus&b>mQdDaPcXM?084qIDhWF%#eH(w4M@YeU4wLs6FF)@l z+aJ-)KT6f{?{46{p{F)tZJ``QnPAR&_KUNHG)dH%0MP7lR-q&^3ddD!7(e(YD^V*L z3yjC3Vq^()QB~(4dmcXJhFmsRyQHJ)cssAiACavIm&FXMS&FH4fpH}IS=ty`DcS#D za$8x?ny(noxr>rp#pVd1-uk!rt=;4`fF&*>fWLwVN_$x3@Z>fbwWy)Y-2k2GPRNJD zs;>Ub0KHX2ot+%pY{3%6P4cbjl$Cq=bJMxfHr9XtQueASsy%0N(X?QnrYmE9q2CkM z?d%UJK;5f0iTY90|5l2da*q*MLmMwhWdi?}&TE?`nZ$DWb2;(N;sceRRLdUy-Kg`Qyk@%bZvZ+6# zRV#PyN`I3e_(-5g+5C_Set^)S?Y@o^!(FbGC^r8e@%J{$6f!82l2PotP^>n93s~cY z-$l^5;>Vd3G9dT=FWk1o5{5=1QSD81LYvM@|Faa}TE;5j$f7f9w9dvK-2ZjL1Xzuh@n zC-zZ_#|+Y?+0`k)xB;ln!t-OTLTWk7#U9F4wMJr;Qm~{ZkjxKPPV`t^B7~fslT4f5 z#Nfn8dcln?H!(}YEU;Pr)r1lLJCrIO2LqJbtiG8811A5G+c33;H)+>D^gbOS(`;1k zGq;r}5chc$;^QuF7BPG&9EE{PG&eO5YdKbvz`qUuOKu0*{olxKnH)0!E_zm~%uD+q zd~>JRd50@W4Yk+*3zcK zCYLHWeM3mX_Csw`!<$vclJ+Fuk4-ixp|>cCL$WQiO_z6n410(?PY~#sXevjviE&=X z2vxASPqf9d^b{N69oPA?h|B)nBs#K-PNYl#)n$^ejv<|1yYuM960P$(?KQc1?n)8z z*)h-dhp(~c)Ou`bagareVZ()ygT>eyVkfJd6$0*WJl4=8hoGE?{AFE1+5!7quE{b| z3w_DFE5WUG{eBd4)DStGk;b@Zf4uT|z(&N4$|U;_*luH~{Wu_*jrlx3#qBn3A%^1$ zxv5fMW4Bsk<`{{(nGL2o!R4-R;Du3&N9FM78h~ppZmBmslZBL{Du86tP6t`Xm;(bb zMuik3gAZc2(i|y3^fJa%<|SND@znErhQaenJm@k(zCPy?+|aL)a(MX@0&m zcxzYnV7aXJjnLbxS@EDlwsi&QSs>$3ru(GasEw+1m@@Z1$6YYdDAVrRLb(-(pq}d>n*owh*5^UOkn? zI^LLo6+DNfF)rf=)r=7V^P&y`8MD~tN!aEw)aDTspSB{gGvWs#7q(7BRs$8S7p?&I2xBTrzI3Q8@wPQ zDF*2)u6%yC06#r&kPP~gpE3WBNbO7S$Mu;CVOMcU+>#i#GN@xZ`e}MVQPX}+u8E28 z_yOv7XvGr2z@Jr?Zf#c@2rm2~_{C=pyOkJdB{8%z6kx2NWY>~T5smi*+;YT_r91>N zQ>WxPDWHgBt}3hd$Ih#_&6UwF0TGRnwjwV2pGUT4yhGXXiQPfuxb{h?GgG8L6=v(( zdNAzsny0okUoML`$(u_0utBe|Qk0w5+w0u31on$rur+SwIWLL2DHkjoYvWM1B)tNK zbC061nCHr3YM3Li(j;+n*!P%`7}JDLjuP-^qScE4VOjR_Zy^L|1Z;8K5LBr#Rdy5P z4C|%BH2r2&&7ivoOp=cFx*mk;fLaz+YZjk7iC}TQyCkVYOc30nIfL&HN2PFJGL=h1 z-lPjZ?eL$LuYMo#=~dCW zZas*t6Fw(B)@{nL{O4BcvhnMu*iCzWLHRk+InpP1N=E-%X_}{mPfec%t~Js|{@oM9 zxHf4)LqZ=q~ph;8@Pw0LW z)lWt9-KMoOAwE68poP(J7kseyb3vakPrjw0qR{)L*hc!&rMLg5G2yv9Uh7-Nvn0dU z!h8vlexcvEb4e*)MS{ObTQ35=z4!8ELa~4?W%iMMcK|VWDRc~l2dW09ZoFj^RRwI) z1EN%H$|*5w8di?=MG=nGF8nG{Akbn1z4iZQ+5bK4^ap13_#e4_hx6Z-TOyMZuRS2Y zCgL3auiI|_AAbFwk3%-=E9l=0iUI8R1?&JM-@QP>?K9?}&;xAi9{aEA{{OrJ!MtZj zmdy=1ww~`}(3w~zjQ5#-bw+(5vg#N_^RJ)m6bH6a8fikgS%e(R)(p$y{^{W(rKarV zpH62JqCHzEpM07ms%WzJ4D^2!5|e zlj&4M+XBA?czA#f`3`-3dHLU>3crB0bUwyDu7>ZCk3Y&KiK(az{7!S%z#;lM?fb%( ztv9|ob|&r#biH#Pl4#H?A*rvib!Z=H785hVe@5S<}`y*=|tG)twtKmuO9!Q}(0lb(a;9dJIHS zkQWPrN4WU`w*7lvV(&L{#3QPG ze)-um12S&7{uup4AP!t}(utSe_=8?fYHKTh0Pq4E>vb^TaP?D+-QUOU-aq^|j#dc* zAPt#7H6~$fM(F)*&Ri*m@BNSCO;qy;AI4s4O|Fdoupp1ZB*JWQ%=ir#9*v(SN{N9* zl(5ZqSPv@mlh9ugI;tkAo;2=ce$_Gf)=`vOIkQ8{zSCTXmM|1w{8c<^iWoXNp38cn zzKVTVR$2+eJKZ0W(VPJHnYd$>3r^SDK3u~Db}gHUrtIT&>4>i;V(t_Agj^-VR?fTw z{As+TECbDHd$UoF-n<)(dXe?{Ok1IA7C(Dta2vbn;bh~G;&3AwW-63&2dy^W@lJ0w zvu9D0xfgNLoyM!cj1bUg)qE&j+V5wMt&_eQmQk0TUt3UNb=lOLnIGDJSo@%R`j8C_ zdR9D(C=?YVGSGA;4ghp(2jgZ`)c(~D6LYy0H}B_&K!z_xNS3U;RvD%BsqpPJxXP=2 zFT(lYNpxCrAXY_}q{s==GQ=fXB%BaZ5<($_(;y7n&&-Xlhjc{^+R}9_YcOLu(&b3V z+WtW~2w{-D>iL_33dQp%068rQ<|qz>f~EXv-dTvXH<*1|cbOB-bz%v>9%iU&NO2U^ zs0rh_phB32%8ivc?HmxDuAiW=*qC<&yN~tgt+E~Rc75qB1N}>L4}=l^a0n$2));@1 zRf{WonFqNF5gOht4$$e5=rIlNyuQV@Zy#Fs$#~w|?e@d^UoE*YO5?}#z(^C#k`=y# z3Q=$kj}rIjl)nl>U~Lu*68CKZ?UsnS@Ayq94rMcc341|U_{4R+f;5GfoR*hGkabw5 zP~F^tT1p2&Q1Yl)qEa%-Hd4x8`&BV`4NCq)`UUJ9Gu`ETkX)>c(w}?TC0HR+)w=67 zViCrQ4j3SW^Drrih_D#Mo3&bHdkf8u5{Sf#z|b!?cn)eD0&1MdCU9A}AdBH9=-vC6 z3~t>ty*O1tg?^ubmAW3BS009k_5c5W65mnIz?*fUeh>Aga=7)U?e><%zo{_&Q#gpds z&@Q-+@DqOjg|JWrW%!+8`6B3HP!|jrdxqd=K`<*65=N@^Cye6#0ul;dsjEN)d1QJ zDhl&zcEw+Ud$uyAumg_Ye$sgMA0qFw`a!OAS5i6FX1O=y0j_R}nc50kMU$+Q#a^Hk zQ9S#0*;Tdm{+nc}MrZ^akUPH;n7+TObxQP{2EfH(AD!E_vbA^D`LDaUM%UFFuW zOBb6ZXZf*6x**9vL@c5q`$J=jJZ#**VKu=aEFp!QeQR7QP3s<9K{ma$_VEL; z&h7?T>(PYReN&#ukXJ0;=9icrjQ_VFiZsYgAo1A9ux6dCUs4FvVdDD=;J z(zXWZ&(X-{){dDDSWO4@jRp!`l@g9pzadLR39m#eqe_ls-uGttg;aDdr+EE?DR2NU zG5Vu`AYs+Ht_GTsejvvfEHaxcb9I#-&8@8(b?G#PQ{pgu5FEW@U1o=RHT zw(BTb9C=mJK4sXfVyJVMHXaF~kz}LToK23?c0ashaHn9q=CO9tz$EVWT1H_DhGLrv zYL0!mvQcR&fwAz{`#nKP7*JII?%yo~0V2_y*>)vMQ=Ze_qbswFm&q@W4O*zvWsu`6gJ2AH-~}q+i*CG4BeDdI(!QFxa!0!d zx2{d8t2M?W^7?(%jHLTd@1{CEU)HfxVO+eY-w5pZv$s=+j9+*sJ03Oaneh^9SWHG} z3{-_cHiJ;YJcVj};K-ylX~|&dLX+JDDqjheVP~M$8}pyJlwpHhutT#=tbYYMl6G7R zwDiniFjU2pNfGDl{h6>nB5o@|!pP0&e~p`AjOPMYde7nxM635IY@=M8Rfoh>E+j7= zL0_>lx153-dZCgBW*r+{V$3Whj>MKGb)X3I20LA*E?u&ga1Ls49zjOhz2U?6^(T)s zQZ?s1T|BkG4JE%y=)P=vGN?tUuZm{28tqzd!X6nIz_imH)lUeZj1cgjX35p{mi7dK`6cpY=aEj=_N3Hh3 z+5ri!d!Td*{a{rZDam3y<071JaZSMIS-Jl=owhB9$4zKOsQ4)6T$S7mjLrocm~!zy zMK+k-8|IXr7l(mnCVMQq#RGPV?B%geIkvtmH`RZ4CZ|Fi{orC=;>mUxNnK4+ma`6W z7u`q*@Mp?cJ=AO_9Db!Nc4gJKHd_pLRImTi=BkqHMx zQ+l+hOV|ZPDFtTj-B1l-1wOU;-9OIzv#moo1%5qakjkEnppX|-W*MDwPq(CDvNzEp zLGOibyo}jkh7T>0o;*GEw`^}HV5X99IvYC^(#qYyWGp0>+9#Mc8I<4cewYn6vr;il zhK;r1SoI#%(Bq^kqF5*1A48Qs$4}|}g=*oGkqS=52Rp#%WwV7;KJK8V*2#qN40M=v z?R_H{Sa?O!+C_z=I<#GcYKTwusHygwwDSQK$X2`(I_Xf%O;)O1{PUw%!cpY2EK%~v zfm^hsRakvf-=(Iexm}abtMd@nmeordx?eDU#l~bB|C896dVF;*Q z(~eZjJpNA(NxB*H@D_dblGW|(;F;-E4npR3E+{8Fwdl%fAGrP{Y2r$q z6^Q50AEKlTYMf0{3SCi=67*a-Rdmy%;12zrr%;(!(|ZM7fslX~J{TdFNrk)ulZWF( zseHJQR0+a%y{~_Is1F#Z!d>*O=Eaqu=?!7q!|RI++D0T zBGJkuL!7FPY3OAOQ1EcA5Db z$lPrf&cN9hYo+E%nbabEX*$dky2LFCOsQJ$*-CEdiub| z8RpoYnLaA?PMi9XSAWEoxvbDmQ<}767e$&oKg~QtAWaMkQ>*DwvdctksczLY2@&xx+l&V(f}H``+JeA)L|~4nCi-T&qTQBw zl7#9D536_l&6x7zDANI?=Xu_?@ACA=Hk4Be(_5{Xj$=kF^EnlC1M*}JscD3sXkYTG zWc==pEC=qRLk|4}`jGAd1sttDr&P$qpUX=bm1fm7%`;$zrsNgozT9YM%Xv55%QHaYa+yd`?$oM&7THZmn>CeyNF|A zH=!n&qN!iTo`cw-xKOpGL{o}t40-%0x6B>pn2l8BX1etN&SN{Sx{7HP`w*9re;F?G z3f|Tn-E-CrXgf!3Qf+S+r(odh1^rPdg#&)iDjoLV>Rs>P~s%g#(79P4w)47l77+Jm{k{Ai;C%@t9Gns z`=6CA<{XkyFY{oQ4r0RcLSkvfCK8xvNHwr%J2g)D4+kCMD{Yid1*s9N6ctIjKdJX@ zqj5rya&qL>b1Gf7MhEt-xwn5BmC;!AQrRiWV@0l?si9MvYr-oF#`(XwIzT$%^47=g zZozUoW8tmRO)vk^W7Ex?Gnv1j*Gxpgf6kj^{u#=Hg#n|AWf;>jNx2H7sXYckvISP+ zpsc-Z$)roMfGv%QfQjLialv}w9rL?7mY*?Y+v)?ZXqpZ0lm$+JQJID@UJ`EkzQ~g? zH<0-TsX<@B4rQh}Y1oi^$>Z{Ox==Hv-vf5li8xE7?s-4`tyQJ{6B(J(BigV)9E=AGIjeG z&<=5#+K+3Rw+?cM!uxh2;*QfjFzF$6Z5h(8gDr$6F9p(yiCDloDG));LAi3WC$G4D zo9dsjr*j+vCwqU_*k>?e21h?2YnT=PQMm+*AzF1X~xp zS!;y!psFBOW~u{jQw90;VZJ{CNFFma7mB5aV-@hc^YAWSzgLfO63)LxAj`BH1)39I z`1kDkj2JlO_Hh|gZ?G0oG&4ZiE|MG5eYSzy;p@6!78QE83icDvlO=8<-o%&TOdH9x zxP87fbiW`E2hm>vz`*L@n?M4?Zq&Z`Jb^Z6ITu}7hF>&!cRM56BT*?eabKQ(8Yn_f zQ;yH$VdN**f5IBItX4CEd9gI3_0Hp&ID!K~F3G*Ipa~ZpZ=g|-(``uw@ld%n{!Cn7N5KcNXk~+VG!hv`Z(O) zDzEmI*uOWU(Y7K%h|*Lw^Y?i}W~YnXO%j`*;zeyjNfEh=Mv%c_vwHt2{Rj^uBc)N} zPBrT#QPuMD@LMP>3&jI+=kimYXWiA&GlRhiLrNmC#e+{g5o3%x={Zh`T&!4<*VPaB z5>*n8F4c02RSES*Q)5CC5%UW9NW-Gm zUeX9UJF}e>(@+~~L*Ydh7F?FTru*$f^Z2g*n*u9F%8wXiLaj(rDHda8|n zu{yMDQ@@4yV+%q4bLo?QUXuy9Jz*?=Cieb9I{~0@D+rda0u77T!Oe}(F5?sfKee#v z7p6x7C3qQM!>hX-+Yh@c4Kz^OFVOK9Mx^+Zv-za(5{EQx6JAw^0w5xMUDMgcat4pj*GTM z0gRUG-4NW`@G&xroIQF+=Z7RyJy>BM^!~6e#mphKVJkTaTbpl+3WkLEBBqeh*I)E3 zhqRR?P@?QU%y4n>JTFDUad-NTX(__|MQ=2)&&>ZI^5t<;GI$QZ90NDPKj4YcD zi(|AsiPQ!-%UM?J#^grR-!kFy_k;^y1X@|jPMQxYeqNn*+^bR8BI(6t+K+>9<11fe zZd7WEE6R+cTB~&XZd?W!YD;)Yk()f1z*MZdykdVMfltTZAH&NRd;V`9raphoo*wLu z&RXsty6#>fnhg4|JlCo{8bdzys+u>7Hdvuc-o7V@Zhy-i=MM~e%`Amz;&0^ zn5M-ssIB_j2L;y9)mnLKEjkTW{REM?X&n}4Sk@dKEjQV0ofI&M z^d&?4CgWrjx|?s`z&-nV*+L=s{{n(QeZOBU5k~(%dvD(zw~gfqe-#|{oFgeyReniN z&y1(1`zW%U))ULoN^up}kUq?kWqNg#-q zi~ELqe|J%3nT6?7z6yaIYsYKP{P4R*zm}DSaDvfNhj!y~pZ|a z>$L*4J%nMv1-WA-I+xo9-CzEbyqvxG)9m?-ypbic)Rbw;Gc_TKu?>ilExP?fp!gRcl6H`8hv<(p7q0xbw)CoY z6mT0mq?;K^9GTIKyx0L-j=GUEkrtARPABM)K2IyXk|qB+2$a|M@i*TvN5#*iv5*gN zuqP#hOg`G@-RcjlIcTLJK4Q=1{S{VHtdl_9&U3f15IP=c@10`bk4<0!Q%>; zX<>2Tj3pZO-l8WCbPLJTl-z;0-S%_K1{}vDih9MA*6m27^(zcIyWYz59IE~y?^t=q z+5Iz%VKp^eergkypMg>L3^PCn*XQQj*WbP(Cuxefea41gR2ljS)r`=Be}{Z=LTCa5H*^*G28F!O7=U@guX0_cmP zFlZDzL9E3EN#QFqFsrDTKH9$6uNW;^87_166;(VzjTMzNhr<4_DGgG_+F z%C+`!sPC`dKICS&pi14#GQJvUEw#LIY(ZokdW;CTgc=L8CG6Z#(DB#W)5j=Lxff}B zk=Fg}MOyE-o=Bus${40$s{MtyjvLCJ>)^BJI(x3uHKX4=*BREtKuf%lw=B-5fLbNd z=7mjH!p@~}8iNQa`~8ak{3%AYVl-uCFRL39x)XIm+6d5<(lRH1ySce^1MyL=LKB)v zu|x}n(EzG>(_>~GB{T9BBlMn@_TI+#Zhmn0`SX5yZ9+Xlg&~qqaR{MihE3TDYcuk# z$kvt-b1~#QGmm#{zMQ@M)9g9;ngzS>FR3v|+#zngC4fYWQP<1%Q^hJaX?VRYu2}Cp z_@Z{5&+4vy0b1eiIAMmFTrO=fXj!JAGP2U&o@&4b>vDsV2QB-He~DlA04YnOQM`;= z_-~C__p)Wz_0GVLw09~mXD|OXW(HBtO#o{<-^oUlrQMgD7EbYUxcoTdp!BggaXciW zVpTC5#|14$N!(NSR&(?Y6Sq>#ZP=i^wYaWB`d931NSt!HH6N#7dX;jxZvP0ShD0ic zTf_S7ltZ$Ef*93lj1o!4u6e97Nn#Yrn&eTZjGC6yJLC0AGD5c`k@_Wx&@oB8o=JAL za0#G`8WuQCzelbaW;LH1D|rlCmF#M-l0AF+ow27adpBxcd)_qm6R3M#4>GYn)vr_A za~d7C**n+*&)&iIu=U$J*m}S9L~eZ-({o8n8cuo}=P@Gj+rCi_u%tQD)?q}8f(Z|S zgATIyS8pG>SO7mCAN6C|AimXx6v8152l4!pDTM?_^}Y-qqb&~m{^~6hgJiBCru9db zGE`PL=i)6?>wiUF430WDx#3Jm=hPTza2=9UQ@=R7y5)*eeq09@w@o^hp^-~?tN-GE zI1Po-^ok`+^a}RQI_%~()vN$XQ#49kz&lVf57ZAVsaU$)02hy%L5&W&^tB~d^p254 z=0(OdLj!0b2YhfL?ujnUn@}wJCJAF(>pzF{=#%=I4$)8$Bl$I>(W7VpkH`hp$?8{g z?w<%Rr+sWI`>CQC*S2(r;ocb5Zs;Q96LwWsAa||>+aPU1!Pxy9&UwxhdQ0NS>g~04 zt~4$Bhzpu1FKtiyQO7v0q5RIKf_{2J5?1Ole$5C+#NInQ@a(;_d-q4<*?VXA-r22Z z@0|@!bV-Fo&)Y;dZ3_O$uzmDuL<8{p!WSuOyJgI(Y9;yYIIMLhWKYp$TexP@#sbK?u1P|c8Q4dx}q zQPeG4KXlmEm&{!I@W)VFfN;!yYtuCtBZ{0t*R_Vn=kzsxxq6N7zWbM*Y6z zdI(3Y(Xt0t=^p;}n7B&twE0w7wtW3 zxEJm4>_L_Gph}z19#m-$s?`1LMcQ7Zb0!hAZv?A^9<$#PuF?pAp8$R5Ow*KVIwA|?qV-B$c}ZE}BvM=IO7)d*Xn%Sm zG07%VJ;Z)7V~ExwTyhv9In|?rDrM+Ku16Q-iY^VzC>}DRI_41fG}Aa2nw589fzX=H z-{d`6038dRtp{cmoKD<+kY6`Vj69OX{ZM={-%mi@KHj(a?Bjj=2D^{<-Lt2Cye~YzG2XO?6x+L(_wMDc zHQc+G;n_oqkv*iCZL^0I`)>y+1|G5zUhw}>x5xVDis(vM&v&X$KdaOu^w8@ULtRtlkDgPi7Ma?jOuNDAF~NMhqlI z6N3aZh{B6VL5Ns+TXz4FmDgkLjV?Cd?454dBVs8MXpMx7W6*?>DQmDN16ItjaD z^`|S{62B zT~aorE|G@loucS<_m{phJNsC$lIKilnvn&gx+=pmjf#}ye7VvjSy8d{DWi+Zy!z04 z-a&=vN#H+mZGOx6pN3hUePnr&(f$yW*0P)lBRW(wM1i>uATT2;Du$4ErVYe`xYwud z>feTYIL{h`FQ%kYR#ynviKgWnq(*C}BggS0w81S&NejFh1{&mLz%VK@ny^46sa8Nq z)aB?fMJv9%`(xC8T$`3&d6vycl9TVR50z;ka6upq-9}*c&i0QFP@ZX$Fr~f;d(PVF zW9|*dj8DG5CMTEY;P4{n3o_5BxSb4Mgfel*ODPOLB6qappx%5q`TqLHlhf0)>+2uC zIs2bKp1=O!f&%sdsG){?58=bsZ|@=O{nitC2#ZoKMqycCdvDv)oTb2fY)9xo)3O=2 z9-*WR&_>CYfxOzSL0&=gCTGMBHW;J*ZE&k0sm!!ZF?p+*`eqa|E(Y0R+ze&LPRbEe z#P+}NJ|N2+Bd4z28=GLaOOVx>30_Wv=7c~KKtOzzQOK;GxzLiADju#Z;UtXD+&zHXJ1jEYc`*k z5+!_V(jO6--`=CfB~`v$vLV)yK6uf)Rh8{XSgu`5RK;m?SZ^rKyd zA8{GfUp`D7u)kcyN#xc7cJkK3cjI|${i|mg)lBJUt!_4c`a}0%`}ty=sH91#_JLn8 zT4nkbDH#L@4>WGYyJ}nHp9`s7>F>|(GP^cFEm=q_TW&|k#TLw^zL z@2PXBzsPo;_6OR%k7^gGKIJm4vT8v0Zl@pN8({X(Td#*2I`Yc4tjd8y;N-v^%_=tF zPBUzVYREeJQ(ts{bJ9cENd#Hdh&f-eWtGvAu#ZK_l+k1fT~aQTCig3DGr8GEUD8Ak zs(~D>Pu#|9T zuxza*E`*wyb!Hz2`b=m6$so&8R)qo}R(eNyM&}u8FXcbIc$9@yte_>;vK+CD*X|um zzDdcP>3hZmq}fr;1l26v;hgyJXEVS5I1Hbg*!jUIfa{In12_Jl;}DgztZ}FqvCTem zrH9>=*a1Laa==B@0B)$-%jNT@>Kvh=v*z~>)A#Ved6I5-LQs@lfY_o=^Y%$A5egLVYD; zJOweR9?oe6i#*~uKzk^D<^@8@RF#2IrFIsJ{$aq4}J{tO?nLk+DpKk57^S?FD9J5{6!{@R-QYNHk z?mHa=H>b2+k;qUE(u-V>54B18qwVCwjGVPT*3m2AZ~Q2v{t(p(qh*@?Qw=(1=veBa~lIdMaBBtUL=NTlr}z%VJeLT^dJ8D)3i<= zKl)(?|M=qgug9O<5C438e022pZ!W&Rxjg#^KmPQ0QRTPz)2E}qv$KChc5;0D*FMS9 za+`9Yr?Q;l3|`)~*~2*`PLy8?r@hJtJxJBqO3BZP5456_L5oZ)}~m z`cktm{();}(17T(X95gGsx3-K#uKiyb&Zfe!CR(#-s=I;l2Ac-USwd%0&P$29Sw@W z&+D87{#Y_&3UxYkx4=F~>T2*d6ce?g8DQNQy&fW(7P9mjN5@!=W%=@tt3$I5{_EHL zXHXl2)abegbE;ArZK|eW-_d2mWcpywL9RZjPx+_Sr}WePr}gm%a+LEdX~MovUlnq8J` z!8=@OTdo3VO$unjNnwg&rm3C~qgYUsB=7}LvbPG70`2E#eAWn)9 zf~IYKIb}Z4C8f;RKqaM4Vj+b?3DHDXG;8&5^k;2UY{P#iWL|ZhBUgzI5WUK~rX~lr zF`;#Jj@IhT$QwX>>4VubytPscs~UYUOe@hD&i2DN<-N+-J69X;8k{#>POdG}2in(V zmdtyW<=6XqRb@;WY6Y;i&R~i21*t@ntBVXThLtg|e9=Ba)n+(;uexDqL-gmIhqYqh zWM`gL^=Klk)!2Lm9Ww4_*4=dC!aAX8BvP-Xeq&2@yLMompS*kBmq8zN9i;! z`@b0B+iTwY3W@0En-EHF*&2@v6~rtsb)CR*A}d^Rnxafu&SG*WPSES$wkPGi$ z{tldpu6v}vb1@=}sY|B{08Qq9PTbsqJ6xA}&RVr_PA`ZcE6PZhtT znJptn1z~7y^>iv1Theku?pIPV8&b+Lz)n55W$S}U>xA?fkBS_ei-THIYaL22r$DVZ zfWIBgwghaSw;?QcceUom1>70^EK)5yX-ID$;)*vBn>v}61g(kg9KcLcfJLO4Ax^P; zRIbRySM5tJk zj4f%hhVORt>2sxEPVH%u1nYv)s*a2)3M{*tEPL^^ifsQ zp_}Yy(o*XA`v_T>1Wv#zh3e7=chqrnD?sN)8vY423Q#O?3mxKBpXSpHieKxO_9cD)bRY zMa#iAvBb*~q8~s{5@cy+N(z{2Kbwu#c@ChFKvsF2f{j`P_q4`g2s2^GxI z+^}Z-FGctLQI|d5b)z(~E)%>nH}<+YpHODO2Id8w91w~HV%!bL$m&)f&zMe{X<~NL z&;E@6n3_@lWqYrBb=cr(?$-w)51;GxsT7)h93sZ+c5AYdS*l1O(`m-;z;4IC6RLH| z=Wv%wMVGKKVpxhsvb$nhbFoxbn57$WkS^N&Ql=Y&7^^xg)Yqk~dhn-OvpqP$P!pOF zRTVCTB*So7w8O3G4a#NKSK_V?3Bh>YLZ&lvEptZhWL6n=zb?!|WtqH($$nGKSq8_t zuScvq1N!H^>DXA&(gw@8PQlM){tTWj)3)f>QGO8Q1yZcMheZFc&tIb(ZjRr1a}CQz zUe0U*TfO8dnR88epMGkr_9MaW0VTkPQo6Hghv~lI2Wmfb+|%io`2B*FImbYfIk)HQ z+pEJA^_=p4THa5m)2W#k-YzrU7kboOaTpD__+;v`lj{{Ws#*PE)nCesinX2JtWh0C z8^T5#BB8>31#ZnX2ILx2n@KebMC)^-#)(wktJy(kli~cRq3Ae!I!=MWE@j4(9#y6- zr#oKrxwvz-qIX<^3nsBI?<4D~C}gSKQn|EOH}s(xRO#|a0OQH0kl6j$?oY|9rP)V z=L?Mes>3zh8$R43MDsnp_ML<#&4=RYdezvn5+~6d-*6Vg_>4YP37hP%%QdF^TOzDw zR#D1?sa|*Rd&QLL2UL2Wu4TE=j9kz)p_!6y?p$oj*O^)E0CVMn%%xs!iDk2m+k&#; zsq5?0?PxpPsHnhG~P)#0};e=E>gf5Qnd@d zCI#?o8k(U-9TiecOW8~8m0~5jcOhzQO8{9QBNV(mH#RNRj*|MMm?TWVO%+DWHm1)CeO){8P_q8$bxdnQ-Ttv0pVEBk}q7xGcQ(&EXjgqicJg?10GcaG4=H7guYJ+ zjXn+LZ@sL3$J0>LeSgnGry=Bm>&JNk3Vg3v&z;IP2+5=Ire>azA;FvB(|l_-Y?zNAR;J5@b)r&lG#hMfDMDV8`4HgMoSmFJY?fM{Ui9 z1`>-gfNKjTpcS-2INQYNgdm)IW9I-~8zm(bX>a|`&5=R%Lz=9b`?D9K4-=xpE^aXF zBfXh#!3n^X-#YXP;NA6xy&Sq-Ytqic9I`S5;kQ-33w=p$@aE-TaqQ3}ZtOSfVq@&) z0_ehwb!yD2 z?H=69bUOk`%+7{mR4_+&Cnni&mV@UdMi)KtcQ_7>qEyWP4Qg4NH!}OF2&QBZ zz#_F)iS7$3YF{K_OSnL4T;KVty43ZBxsClrO6;}94AC0E`Ckd^p>6bXv?*-e8ST4f z!215qLz2--B&%rY8?X!>XEQt2(!1L!xn-qb87XKq|VNs~- z+Lk&AG12%i%jjWz=fG1Qc^t#ReSu4yY0!FnU}&Eusc|lV@9`yPxhDQD_Ho<*PH3CM z34*uDeB*pIj>)224*QV$4EF#78TKJ<`}-c5v1i8g*;Nl;=8B&BD%jTrOCr^^uP?4o z+AjiMTCoy+&*txhruHf;q_460O3GVu zc?Jy4@ok77w|-6-SY7xVmeZEpo(B=V?7Qtr1G|E)dXS#Hy$xYt?18OtxNfeRcysQ7 zDQ>O`TAL4=n6=f6<`p@cztwM$)X1P5wvsQJ$KPtRfw|0CeW!A0`Xsi~!={SWxYy;1 z(5zTdj7JIdY?wrS2|Q)HaUdhjk3Z^rDo$H6A6LkKJ(n^)R84;b z*vl(=$Le4zyredkY-0@qeIjc;f-n)djI!`VhAg3HN^<_ujI2pANz9^}Efi8ryI(vu zx_qtp13pCDkj;@RE10u@SKcvgOn+RCrnA`?6J<4cw!%37{tjpavw*uG`-<6oC&4@K zh5}RVy*1jxp=;j}g}pN2+oLX*eN0qW{p=?H2Xbk4(E*;w%@_);W#t`D*h!MeO6UlH z!t1RUxF1H1^6`|8ne=HF);QTJN)0*2rF28#}(evbI;&9#2_Y(E-iu@cM5j8}&vS*%{z> zMP&^uV>C*Nb*4UV))=|N;=CVb>a)0rxgOP=aq)b zlZ{c%h^+$*dwD~bumOAtcQ74&@&$Ys%axcpdBqa^l81-T>)|2cLTN_R8ERIzA}L?8 z&g#7h6`Gu}q1U zM!B|G)UF_I#~h^4a<}3qw$w>ipBu$b8gVZwp_vgUsk|4iQ=c?jGWbmwO;Al?sH9}M zEhTQYii*Ujlw5mZmQzvDEL)RY-oa(RFr!f29I(7nM6CzSvPm z*HE;~Uwiqn&d7}3+mY)TuOEKY7SejIZJt{&TxB0 zv31k%y9cv%T`)9s@W^1ZfTHbUhiP()q?qy&jNUbBNsWS%2M4YmAfv%r%kEy#hEN|K zdgKl}o<_X9Xw?`Cbb4gFI5r&eg5@y6hwa(GmXSDfMe&~*RHo_Qx?pjl*z!b?1&THa z#SgD7=4)&zNW5?a6W9P}aM|oMW3Sp%?NKctuZ922u!0!I-Kdc30URp{=z^x#9JbXH z$xWl=6|ycVY@0xz_GI|M-MirUW=$j1ZXJFUXs~XbLWjlcgb)npEDlxWVA$a3Z4EZS z4$I<#R%!s4jUy*`);x2yYbqNUDaR@zkSwruOuA1=rC2##Ry-YZK0dp0SUVQP8Zh`h z_C}PjbB!NY+BrBsYRHy4Q(2JPe^cbe?B$CI93iMWPOQnM`r=z5x!DHfi6}cVSL2OFX_l@9V zv$tp!fkTaobV@U$d|!Td8g{)FrM%-{@zy{#Hakti=DKRJhTC?LRhR{^e9o}AX9Ked zFln42aQWTogzy=gxu2kEpjYrBWK6@Xmkf+4AR?c00mE;`5ykcT;m>Bu0B|<_v(-=G zrw=yt_`}9;QJe)jg)w-G?Zc%^uM3vUaQV~+>mh=WILH(kMyMclgr#8=ZqBZBd8-<= zi{UmFD0Cd?(-t-T?vxxY>e@~dqNOC66wBio`9Y8q;p=7FHSM(mh>JIeQMhV(W+hQ+Q0&)dnRX2EZh(`UIO*~nzC?@U}DRc@4 zfeL%XN(R-tf``;P+sv#D1N1+@MynZlXUy&l3SV*Ml=Xg`34&+ITaFXw=*a2XPH|CX z7!T}yDv;f(bXg?>rPwK%m-3bgl4Oxd%Y7qv&) z1u5c%sgPKO(rS1E+>+ofC$iuz@JYiH%+A96!I`EF1z|l*+@qla?NII824nkZ_&Ku- zuf8~{S!GN~@L;uXVioHV>j-v+%}c@?f5(_EjpCy;6Z*Sawhz@kzro08Ue^P-F3{uFQwBY|9}IU!sn(hLMYq# zL|l2|6M6C3Y#h4&bdTXcs0xnVoBGWE?qEj4`i-{m7VvS4qx1Sz+e%6D#VhfwBH+*K}Sswu(6%QaqZa(d3tIKml1GTO< z#0Yk>$`zlA>X%qxQ?FE_X50Ki8-O#i*EX$u!(H9xIdhl(iQ%m$m*+V8AzA94H*kE` zR`<{=UZ&H6Laz0?U~1AFd1RNqs(4iUQT&zw8p#ej3=8HQtJe4K_7!(5dU9@GpJH}H zdHVIUow2`>8T8rBZYU6_ex|U?5zPXL`kR9sRBiDY6Y#P5q)jHbyOcK^(w%hNQY(^; zY8tUE))gg5A&V+=K%^e9Td!cC6HMpzL2&Wn4Dj7SE402&YqLV7Ke(faTx)wx-xx&A zzQ~aPfcetR{+RSe7B!zfwHrH`k?&VbG=yB7bZlH+I+4x+IjWI_tg0ko#`x$%plLo$ zF4Si1cB>)wiYcO`3tz~xs55EDXSZI0c9gCK&3V#Pnwn|XF(ie)G`z8eEayrj7#GL& z+RdUC@-bTvItEzP78{!{Fe4O=EHIQjVZ=yDy<+RGq-VH7!eZ=mn%v$)&`Bcmf@(hJ zW&$z2H-~oA(6u0bwt04sW4r>S#u~M@YCTj!D=l-Xc>-P^z90}E5=mD%`jgFJa@Src z+ClMf5wFIi?W{Ah`IueM_mc43Xwg(?U+g{saCp3z8@2OWD`pIm?^ir)QjmprhaicV ziQmf_00r^Z<-#5&HQ7)L+C2SNTUS^>(B&0)rAiH&^nqpz5z$K<`* zz*O+pTX6>AkQroM$JWl-+a7z{gY0dO_OrJ=$Zyy7@CCBR+8uRe?M8@NGXlpqh}3Jl z+`i`va>XFk5SjGZ$ASu@iN2vctD+PU$INSI6`-1^)=kJLZ>T5IRt6t}7MIKhXh7}6 zqGWem_J)5n9~-Y!*^p?Z?Y+#3FITR+gcdY0dNY<}kD_;15=~QGIT7jbU*PKG5nbzk z#~)itV#HM(j~SDBv-NH`jIaH~2K9Bn70q4A=NW|6es&7U+I-slkZdFs2J*3p2^h7SQ5%ji)aF||Jnzpt}!Wp{n^ zG_=adKIAlb?H47k{aUp0EOV|ML;!7JFzZ%HM?BM!o$`f`YpN5^nl3fa{_i;eR7Ddt z;kiSpHj6uT*x=ULQ*(pJ9zT1YF`}{R#fjK_TIA`o=n)kG((Ex;$|!DDuZz+GB^3JQ zDJy}Lth033Bpatq!~sAAryKzY5lKJYuo0aA5s^Ix@>w^Z=-37_5@sT@OR@<^5rUnF z?{fg2A_9hD^BG5A_zb{QY(DX@6(c$&TM!omFczE74gxw3=3?`Sg}oRx`3;DS9vF;K zT@FBIjDp43e0EywVc3k#CmKd$)WWnOH+o?;M)es1!O>s2p})%rNRG!D<`zW9sBXh> z9a!=V(4S@(TUFL{#0tpd9YQja5RVhLQK<8L(A_a0EV&3(RZ{USJ5R2O);QT{&I5q{>P}_3aFb4&J)t+GQ0aGS4f) z_4*ma@AG+OjI(DcyJOii#g|iBCM&L4qN|cUqXnPB1O=FdvpkKtw2C+@;T!(;zPf9D z+CnR=H_2s6UY%Xv1UJ=QLn6Qo#{bm@bG@-<>A6@~1lB;0K9!b<6zhv4qvl47Qq>$T zWZVq|(Q-ykLp8Ap#;V!e$(b<&PifAwQ>wZ%dLDCIArNG0w&h_PJDddA+T1gnkbU9G zV0g987se=A#_ljFHL!40_`a^}M)x!IIQLW|3o$IdcCj>~<;ez*Yh*^E52CV}s!$u% zXx^c^Y3?y5fKjS^if;3CP@f&Em^R$qrTh#{NlGj-0X+j3E151iyJLiwbFNDYSSGly z;Ikbv{4h3Eqk9}sQB1FOc~2K-EzLr&bl=Uv8}ESJ=XE$Ahonk{8%emqi%EbLx_zxCK}$w1E+bZu*x zI7h8&!1;l+uJh8A{Q|&r4|hG17I5z#g$#xx!rJ=;im`K=Rf7LivAS+xpejrIId2#l z?KEjG<0ph>dL^sn3M1rWW0Z1gV~PoN@(=*nKony1CC0hd>J=>vS1$Q*Djk@kt=R3E z501kswLDvcQYBJ*$%-=z!dRGxrz|g|2J-?)wgsXNN+n02!BbbOaOfmBVLq0+I8>)w za8{~6z>dZc+Q5O2pvG|C`3A_Uu>+c#w##8oR6iLrdlJGn-**RvM@rllTY0OdngRLazU<&il+IA#352h~V`J-IXac%a8n zYVtth@j%aAX~{!L#{*r4&<}zM$Aindk&YalY&=8(bt>|xMB^csi5i<^{7_YVOoH)V zOWteAdoB5QrX@$F=sr<;?h~cvj!esqWj)a;xpl&AjHVTrj@wSQjZzAK(*Lb--KG}8W%I6VeGo0ia zo3#*~#XAK@9nw=r=QNE?OWmmwd-Q~R z(^0omOr!gJoK)1&3p*|ab#xW?=;;rno;Gr>;>ofOc|S&-dTecacW>voq|ea_pRIJxIA`Looa`BS_+pbhcS!IY z7H*@GJ6-DLV06X<5<5pN+DI~sOXiG-_Tiy_hR_cS#b`67nDr@(2NWfBVdU&URV z?V=S$xpK$3aYwmuKU??hgIu?*!?C@Mj@`Q2_mOvkHk0UNyFXphEJK7E9_`&6qpntyRsXO%#t*FcYMp?<2QrW5O{fg$4U zCzes!T9-lEhw7>`kiunib1G&1;G_F=0U=CJy86ay%k~T4CWR>t`BiC_ROp()QEjhn z;|>?rb$FO?m(0>h4}F44Zrj+9$HBXB4FBueai|DclyYgT5LkE{MTwL((65uGZjNXZ z(Tw;q;+|4HSq&~J_SL9XE(pzv6>UU0ZdDi`=rkBd;35Scr3|SX{$3#b1_eUnthO{y z%VlE&TC5#diIkPu8vKk{migmQ(!=n&Mk$D`)#{8?tp|f@bOd-<%Ag&g zb6IIHfxuKP?uKBg#@w)ERO!o7&e;u*E0WQgYU^zu@@M{i5BYEN*pe4mKNMFe#?yu- z+$)k&&8FsqkL@HhGrK7bqc=m^d2!lZv{onIundvf{$Z5v8fXCA3#pSRb4Zhq2oQ02K@d2fFlasUI8rB>vi#gGpyBnqR}*HBA`sE+$3h?5bIzU4#ysU5q8#$)LyEPig*Mda}@ zbcm(g@0^!3-1RK7?-5H7dnq=J3u#4#HOko&ebX@H>?u}Mjd9*W`##?#{;_W-9>wEa zx}!Kq&>P&Vehu-6l#@&tQO|#7wb?jy0I!<8)uuO@uU*_3R3ZY0gttnEP2)u7MaD2X zuGPO)3^9Yza>)7GHXE`y>uh~l5@SnbOh=iY106f#^zqEkhdSbe4FZ4Ebh%ARZAbGB zT>@R#n1(*sj_}-Q1ek`DvLcgfmd?m)8-Um`Qk&A}`PK&uN%&z#9AKf@9LNs?kA?X< zl7Z>BC>i)oy2!s$j2s@qhz<`S$CJ@?h5)yAoOJ0hE$VC_sz^ag-Hptm{k!k4-gYEd z1vXEwsE{4!w6(YgH_&PWUB_nSxnE*DO9`n5)C|0HW#K-gu}P2#R}#QMvR`51j+av8 zOz0W;LEu49Ea`y*!s;ok{G145jUDC+yjAxMiCV*s%kZl(b;8 zlq(RJ>uJd{Nz*Cdz24C*2v?qS@s^3DUcDkO0?nc%DM+5^Dfwl#aI`R)FP|$wJ@avM z=70ueyjjL6rf~biiljW9I^-j*()motX(p4~1LNq^F(0d!w753Jy_EE2@Py~)%m$l;i|e0_C!YF~SM zjjwqrZlki7SC^+wHV5!KkgeIZ`5zT4IV+8spQ<`#u&gph5I^*t)a(^GMO&m(Hkt=0 z5d5zvZ+ONg|p4VJO5()6nsv<+2y9J8sCtN-e&;paY5Y ztr?uUcbby`5U=RbN6jF979=*%zcr5=n}DFDjpu*V%=aC#$q$>-$p%~L(V;CycHMDy z|Lk6tw_GfzM&+DZsEcO+PWcQmDkHotH{ZVg7PLgm?kdF=Rc4RhtbzJIfn@WTSpJHq ze|^;Y53)dQV&rOH+tlm(6|0F;X$Rq~ATS7MK; zW^$oeQkCrbmKWc#k}m?htTnIKTtR#o4g%%`x1gFKFB*v3h@qTYbp7tW(3sl%S*-Id zTVD@IvjIugHLqVxr5}`WPbA-VkZqCNcBhg~pN%{lE6XAzRph$GNvQGCDFz%QQZmI! zrI-@0A!!sPiFT1fcu^J3;cl((ds_wt z1~UyJ=H}W0jc?2ega7KahA6D=F)>l)-JhG1gY9rE{6i*}i@f{TPsx9&o-mxDy_L(i z?2biktZn*h%splEs+&bjK@|4<>7JI|t1`t{q+M1l=Ydq4)`DGN%LlF(A>S65l!bvd z0CK4`6u*Uh9YL<%oPPP`m;Y`vW{iM?zoa&dvZq@_T)Ts)RTsQ%-kV@~4XViWMQS>G zx%%V3qL)?u`ZHq<$E(6V^SQ;?_BB4(rY>#ZxJ6sJ)Sgq{t#DpQF*hn*3#VATw zjpi;-(gC7_Y}$~A_dM$ZVz{Rq)vbnB4E4lmsb}PDNnSkfjvZ`d^FROOlJJk$bwd8} zedFJ0cWnh_JTu3yHTYv z)SIOfB77}o^$ZIYxJd0@o3ZJ1E469_rf19b*|#VP_1%f%!_ zt$M=QH=q*#c2c{#9+GlN!fBV+Jm(qO=9FlgRBxXWvlyk|`a^03FQtB*S`6XGZPz_S&r44TW%E zn|mhqx^VzUXV><7QO7U5%dqX~^C?%oqzMzLEAPC+#22sC#em9>E`CYw7RijHV85?wdzApmo;8MXM^~p^Tr4o`$`EIA%?mEgW|io2!8MV0%@8T4@ppm zPhV2KicaZ<;3bReYr*ZT%0(TTK#hkT=#6+0GgUJ@?!Sl`Gc2#6bJ&~n1I-XDj={TPAzd~_?s z#n2iA=e)5#fi?Jwt>_&yrYraldL0C|UrDZUR^VP}AQ1ty5qJ%J2@FO4>FB$Ys~_K; zT%3hqFcAKlxtUkW2X8iJ&;mUgaFh74c5JE}zu6Vwb#6Xz>tE@LW&>-$J|zci>5+V^d*uk`e1_piTn zk;{;7gkO!)>dv6417&sdfazf`W8+Yq`Fui&x_OTE#1C5_M%M`z>Q> z*RyBcZrNJ-Vu7|~Ccq8#yW>6axa<v$C>9W zl$TK@iwc<%^ zltFDMl%3;q@6f`9+f&=NZQJdsZQHhOoVKU7Z5yYyZQK4;xA(q(!TTkXWG0jBJ()>n zul1}|B|^K9%J$75;-8dc17!{?KNCkm`zx+l+JC+wK3%7#7RER^TPoiL3fI6q6zZJ> zntKpY>(bF2tin73Zs$a5d!QTGkEQGim0309c-~4J675X9J9-=Bsi+p>yuS6IGt>T+ zTWC1!r~scY#zmao6q``47M7T0y$r+dP}b{!%ermq4{>1sf*e-fCxkk0_3&8~H*FT|JPllThc0qwdkeQ2letRB#Cp z=Xy$Wp4E2nT@gN?BU>E7=#J3%7!f9npiRVwQbA+^j3%BQRCbBgJSd|I`e)3a97N|J zBnRQ^UT;pU8MOX94{y*v;*6LXg__nAoR+x8IR>p-&Mh%*xCZpq3ivCi^|L%T;T%S- zzOp3|mBeNh-Ex_({9rf)o`l^0X3Vx)^ z-%KPFqAFNPSE6N33ZrwehH~O*C;*#-KPow)+Hy=NrTU&wLJ(zc?!l&VwHn-8i&0U{Y0ti^#cPFyoSG{q1=QPWK@D}`hK2R zzsXsh%ze$)!rxbS75vjkKy3bzVk(IQ%mF!TM$s0+&pd+Ywj?XzDTM1W9CUaPdS*^? zEEs{?Gi>%P>wts}0_%+ywt%m87*sBwAH}G#r6&I}SCdNDb)#b;HZ0H&Z7fX*lEc4$ z$l3-$H4*Cl_XDvp3hda26QB__hE%iIg_3?dK~cBw6l|PP!*Ey9fMzbMc}C6t&vK?P zn&(fpb0bD=j9rYLZ^denvH4`H{^V%sHvW{1UcCJ6ck1)Eexm##3Q_7|BI~#Pmjr)8 zxuywE^Q=`*T2s1*QH-85>TwLE^Z_C8?O(*htkHmhRhhRV|2B6bUUd{I8w7?p1L%=M zd>=oqZn55dC{%a0U_O8opx~QWGs=y_T?ZTg+RW>5-(xwWBYl5D5?9-;|JZMt(TaNc zcFfOjSED~tV`t%sP{e`Qb?gRH^X@1rSvCuyZ7#$)ran>yue{D$=*SnSie+bWS&O^>csiwXtMT2V?De=)TYLz3DgSd(Q;HsZDhQIx{A=1 zOP5VzLBGD)At;o7KVCw*gn~5urSnY=SI+Fr!;KJz%hhjsX|vAynA7>+C~cptDJc}a zg6Z=9CSWt<^lHQHwThH402xlEm@8O2u zKFR$b<5E(#K|=?(K|?GQ(%d1hQvVK9hlpEkd`l~=Q@b1D5k_znhW$d+U; zzA;EV+5Fj?UT2E*W9er>DBNVbrZv|SQq)oJ6C@X{^Nx=S#Py$VwSYnc3R*-gK`G=A zEN9OAT%CDLTGKGc_4RxtOHVu*2^$B)Cs`dVu`&{MLEP?xUBm=4lR!0j7kt4P7pZK) z8){RDFZdL0Pz*y}F4+F-?D*r!1=w57nAKCB(}j;IaOT>qsnnNh^C4 zOKA+vhNS=vc*9$)6~P=@Pf(xK4*NPiftRM9pl8WYLRL;LE%zEIRAspDGZc zd)E2g)u-V`e7ntm0QsE&xrsE#k)W8w;p%;Y-Y`~LCwn@T)sH)CaFt!6s0q~^XIts& zc*HQ_IUaHhHI?C2KIiE<4rrXo9&PeLSVSU75$>t=CX6AcfqfZ5_$dA!O#9?bQy-&S zxE3!Axkm$AtePtOJqfiI^Lk3RFLiscN)iM8mkG+Xhw0UX#4a8rNbjF;39hZoBdM~J z(QC|w$HpgkZlC|l29rUK2GeL-W$}7jX#IN+(RumlPOfYm_rQAANwn-dx5Wv7yKOnx z4+TkWNdX^U=)}A!9zAvm=?paS^a3HwCIsZ$%v)4EkT-2t-M{5cF18kYac0?K+BLP- zY~`WrC?U!@*B-~pHUZ30elbTG`!VY-6hr_mJbYU}bi|P*V~SFcPP(r3grxKqd8z>x z>kr3Z|L$T#OB>hY=JU|gjf6z_)byoohRCl`6C<#-uJaQ+X+LvPgCuE$tz4QEv?3GB z2_pAimCiZ(EAwvLyr?l1s*eyru4d6Eu7{`beh&1(-Y}FyumCdauo2FuDpJD#cE1*F&d?$Q*p|yI`6ByJf8X2s zp25J&N$8{N%vQcA674t-ZiQs%cm6tZyc(m>=l6cQ97;%km@sB}4`cW`dK_Xpll9v< zotus+PvQ8|X`@xvEMdQ1u`{x7H8YElvOV;=KBW7%wMg--_p38d8nk8%qn&mQ<5TqJ z{p=~_g{u={?;c=mQ8Ep@`o@8WDzRX@ygg?%@_MA_5g=y))V>PD0V})(x=aHLdYeQD zga8b5D&ij__r<_XeIg4;GA(?jPY>t{MQvt(w9ACjew@4rB6C}Ck3;aMjR^qu3CMq4 z7SajWVgk0Y6FR;2=im(xDyBt;Fpz)^5YO@N{f(dSy)%A?KzTpc{(bfFrH~~^dE>vT zi8A`)-=y>1uLyheDj@0i9qjxb{s4e*0_0NWe%Cv{L9{Xuhx?CweC92fk8FO%hqW4S z`yr~Dq-ObU=K0NUk?H$$QhXa)X%QmyazOa2Z^4uhlzxkr^S2Dxsq$%Etf_cpoXe{B z%I!Jok5sMct9V*c1f=OoZE60hM7jeZT&di^F(~;#DyUrMv8{W7FDbJq3^2OGwksQB zsHgtcGN*55v`ciDb!^*Asl@+~|6|rQc6=%}t1nG~>4IanZ01-XERc)AS>!Y>IO`F} z&-L-tmoBc>Ea=TM|0V?*T^=C3YBA;9?Mke_CIK?_X(r{N9ZV9nFE^PJu~*sl-u*0L zSnUo$c+@(eqo`GnT55+m`)t2%ld#(NhG?9QqbSxkD*-Hf{8ytYs;CW%Pr6u_*x)-j zEjG>(V_4j>;7Yjgs}i3h!BAYUZ3@T!!VHW3FK1HG}1*WT#XE%?}yPP#P_74 zNFV(FII-Edk`K2nMlYvF`6&wz;Od93v6=8LnG)LTH#|V#K;b3JjC54)A=}<0@`LdJ z>bU9besfCvK^Tn3XN0p4p}~K1Rxzz$u@A>NpxwCiJ8N;^HwlFyCz}1eQW`qVsf!uN z89|GZfJqCMdCQ4^z(ihXrDNG*aWoIIid|#tgRM zeS#N2*l&|vut?}0!cM|4ybcbX0zb{Qi{nsQ6th}~I!Omt)P?n5=j_>-y_CTea}ma? z?{62cu1@v=<4#^_RWrNICmAl6GDsH$|t_M-ek-rv&NJApG$9Ll3l&r?#_(gNzv7N1Be4L_l{u# zN{ZD_iyS!IR&?XxOubO~+T3x zu*IeBsTaB+H;qsv?!)>B&$m<83ZM*P5brbghP(meN8j*Dgz?tq<`@c8B+Z-227586 z5k74rBrd<9zp=Xuc?+F$9J|>8{dZNWBBK4wylFVGYMx!gjYn6c636y4ebHXLAURxR zFI5`t#f|G;6vy%Anq z_PyMVr2H!fMQy;s6_LCBhQ>q~cYqKF)sifT4?!tnRSdSg4+rmwPd6?dDL1LnEmj;d z93PzR+s=qYLiGRk^+(~(-vZZQwDm^f9Mpt!8V*?@rSh3)^t9V~%gAfi6WiBxhi$bn zz`h|FtU`ZQhDVwB^#7s^a@@TQveq0n*7$jeCa?9{y9qI3ca#!GX^qG7)CK7sh8Ycr5Fqe+*!_Nr=zSyxLBlgr90=f$ijTOu_d6tOJ< zXB*Ax1mhEE!^Z1}QI7o1jK8kyUVh@aTI#X;^c(d8{kMp0Gz{!+NhB?jX_}dmCTD<@ zqZ*aW^6_}m&?XWD5AHn_RE*V`@*G9ip|!$oUr73+8mxG{l0Kw0V#`04u%Z65i7J~v^CFWa8zf1t zJ20eLA~er9*70HABrNd(s-We$_@h(wS=qBUAJSqAHvcuP_wSYGSb;lY0l&zhb@qzq zbh@#*{o_sRGfDRDVu84N<@=$X(~jrpA3X81i5!~`Q-es+^}#~CK)MHZ zW<&2ECP`4Pkn{OOcOOn>a!GtvdcQ7uktsiN8bVGo;ezpu5x(#Dhhjcv{zkVVerZ^U z9V^vds>=qejR41!KYaNAWYSdzDy-WFEuE$|q7mcbALo9(j$nCCN&lWcKyT<1GwIkh zAY#i0f(ElvT5ZuatjPnPrIdl(ok(sOI|%b)$+4J35?!W(h)0Wv1{Agc5>-JA|Dhz_ zX^W$uUnr@G#YRW()%Ek!q2j?8l!y&IGGKMIvW{t z5k7*j{9X@YGo<2rvKa=W!YKY=APl?}Yj9v&sje@mn!ifi#!&}@Pwb;461g3JM$_)F z=mmd`%%8^2cPr+PhDLG=Nns~w))3++OyL1{OVcj@ zxQbK4%7tIEnUFWFqKe7<#Zj;!fj0Ka8)z_W9^=8U4{9icbFpsb^xVgRMm=&tNX1w% z!i4O}If<1kkuvdmNtt~YnLPJ8C~4&rX7_q)na$)r6~53)+pG!WKc`>R!zKeo24zLg zOoEX@b+A|9Ox7r6e8M#7Fn4^`ynHf_3Do#J6%Z}qqJ1DhsElv)=H^u&bA4A~iTa6V zm}%^lB!yiVW#+GT9Vg-LDtgt#fnvNe*}a>HKl&N9=6x4-Y*GY4Q05L>k)s@hct%wu zJnR9;DZ&;n@W`SNa&&SzN4eGknrok}(wPmx(x}f$298k1fIV~CR#PcL_oFi; zV?=&dY@ELwI(y=hl=d5u5{v7BCM(xoZQjoOrhEbQq2gD-%HUb1#g?eSXP-tc z&y^1_c6*E~m22&{!o?S;%NzGX*{jf@O1~vU4EDtSiIqgRkf{C_^o7mL&ZZ!&+Om7( zy{H9~-Y{X6YC7DWCI{OuPegD-s7y?;ksC^-rL8 zLi|GNk6n5B<4l+D>n2Q@x8Bcnd^@_}4PMeBrCjz9X5@K*yW zkI*6L^7WpF@jaw`Q}xFKmdf7^T%=RBVHXH?_GXwY);P_O@O6Ss+hGkFusnoa1`tR( zMuT*fVMGx>o9C)Hbxe9vETIl0C}hTI-KBMv?PzbU5{lIBH)Gr6D!UyOsjb?`H@<9; z66Rw@Q2MSG`w_n>?K*mh%#^TX+bt6?$%2Ozn!_FvE5WEMhw`wT27}sn>E_Skb^8OQ zD_n-9jHPz%k6~cB&~6vw8#=v}Ecm63sixX6a{i*R-`*A%x;CfJ@Mau3rok~Cz=1vB zuxW8z1j|&UkdV=-!Lc}_!tiZRx4@%GR66Xa7Aat|8i?+deq9E!4h$m< zsDTyRa(uCtTYuorGKUpDlM<;|q@^_|_yk0uR za_0H7y2g|p=;{;5by2kV`mQR`8OiO{-Pe~J3_fBP2Q@9lMA#YEAmF41Go?x(t%So( z5uZD;9|P+0^+oF=DdCEWO+{VaGkf@LAg83g|F-!iW7b2;ezRAx1c_+4`m2#VWE7g& zBO6a!t#$D8@@7rJGu;-lV^Vjgec>1qC-ieOKRJUK(F~~b}Y%8uLa`qS^ zWA@+T$<1ZrB^PL+-A72c{lh0^(xPzUqfETZ0`UM+lQ)*4aSG|pA`?R!V6nN#I%?37 z_u)8xQtNFI^A}nJ1RAlZYBJ|HKB1iJ_#K5Mu3eONQ$4w2waMcUKI7ZaQPYO7)-dns zl3$PF(JkG^jCrup9J%X^Q93apJAT@N)+2+?5%eFf--sgk8N<|chc^aRM`d}IAsW8d z6J|cGtm)eHjlSSTYLH2f(6}Y`P`jd%J_p-}XDAFV7A|^r@B9pFZzk(E3e)Kg&vl!8+ zm71DJ)(*tBH`e+`G#KbMcTKzS0F(FEL=* z5S2GtAQrxF-Cmf?hH!oP?u?%=+33hc^Uh_n{f#y`3r{uEu>4qfYrkR!aBSPY91vnB zI`AZC-b20!=HS_KV;5oHl{!4$X_BomijEJ4@@GI$DG)ZkoMBLR17I?Zj#)nMuOp*x zps~T5mSid;at{6A@rlX)cY;SGSpf20Zx7D;yL)mUEq|oCNx@WFm?g!?NT!g{Kog3M z=)o8RXLW}uX@d4aJOSK+AbFCO5ok4unL=t-xVi{D7mUv0pKG3%q2yof2Wp+={#$ZV zt`^6sDO>B4=TlXxO4Htb@y`uO@nr3-X}@aEs^1;xE}Z5VAm^y5&+8DwLX_=~X%ilE zE*XkBe@TWgxtvL3{oCO$#!ka%H-wDl)gzE0e=YA0i=~j(WOZ#m~l6P=;ufsOwp{<0}ill2PnNa>&Diatox7;6Y=TR0exdN1C4nm||PX>bCTs%q-9blRB zY7{9R4Qk)EriE6q(!nQDMyp8@@~&So$KAhPKGY zukGX7Mff#lYE!XLnuxAeT^!aIxUuXQW!(ePOW$!Hjoykx*6=YT`6}h0=BT52nSf}CJ$q=Qb zr}8KWYDorGoVt@$gNV&7cFDw0Hm*q+%3krPy81XA$q*nN*_DRet02*!46O zV9u)+1^*rKn)!!6HbrQc)`==v4c$KsPq@|v0!OL6;XveqvI>LuKg-IB#&)tb25fA8 z(_VcB-e`H>FGI3{Ut_Ajc*MrKl3Hb6vp`AU?1ZHV9ru9RSm<5QjMzyf)l_ITvj?&l zP%RE|?15q1nKtcaL+9$+!)()WLI?F-KM8r$sPq`ZXDW1sbDp5_nfHT;%`-|=78Hrr zFcwoM8}jMv3}O+}+Dv5ap+B^hM0Z zloHkQVpk?zPMI0k$*h|?6=}Sb%|9qyJ?N^$Qfs(;tSz}sgdY;Q1VO3@;9+#3NH3og z5xk4wX7re=&&ynqoD>B+wMlH2yP=(NuG2nFGn zm@cDeNfp;Wdx|S_FG4u+0$;il=eB)e2vAXF(nt8ia4=qCJr-1)YFN+cd}jN&Tqyo# z9D{-4&6y*cDt}`Ug3Oj}i`QfF+q6YX-*9BRK=nH&l377@$7zkpmdzwC1ma+|Zpjp^ zz;3$8w?7YL(dIPCecv4cSgMdDXTOm9u8#g8ZE+mf!CpAN(N?0=4;TAv5n{Q#h(5Km z{$&RLllK7Y4CU*FIhkqp;!?esL_!e&oW^Cg2PQDY!uw!Wq%Qbqy~9bL)P!E@7W4*$Z$;;r zcTdQ(O{9s6zBHMwRWa;!!Q`IN9)O?#6$C*L`eedEJPc+A$Ho|VXe2o(3q?SCU92F% z3aDOLAN+2f(%K^jnfmt>KE z?rTNWM8;!0)2V{qX2QCOzdup21^Y!%ipYIp$t9X*=5lbXcu-Ds^sT32iYD;9Llo7fnb z?aYP4=bV)CARWI7E_8~_rZ9Jv8M14Q$fjyBJa2?RqaH?8zRfnd|Kt0%sd_9nKMs3b zf;xBq@TlZ*2RIq0qRCt$Ge<`Bq=uY`vy>_fx*#Rb-Qc@(EawGPt1^{Lzf^L{l%ezG z6Trc&Wf}r-7~Ihg#`{O8tZYM9o~>PI8tLhdR}N@ypgsXDv&xG|ax)UR8A;HMaV2m$tV0bmVj&E%^Bzr2Ls7#k7A~gyN1R zY%miov`4&py>QacWf(=1KE$I*xXbmWEo1Ds!5MGVXt5U)9q0yc_FI49CFyR@@t|uz zbOWaKh&o#UUqvPBJZOm0hQNW)vOFx2((ZN|O6_6Ifq4s}nPiUTg-D^Hk##LzA3KNA zf#us*4cvJzjjzF+!k+kXSl>2n$H~(X^ORsDY$?Tzo?suY`{5I1hTGibw5B0P^k!*q z&4!vSI0)@cNznH(SFu_j;%enE0)96cROT3}UY6guX-TLI{Fry?*BW zp-H9abQD%#91Kj%pKM>A42^#K3;g0^Nh+xLP|pjz>4Zrz%nvX! zg*ze8Kzrduoa%V9fFi2*4Ahu+Xenin>~Al$;z!!LvJc9Qv5J#Sbkyv`X&$;0i`ErA zp(Xim7z0Y-Yy0gQCm(W@FICPuq5j2TEYth&InnMG-@8SUejmu%82$QX5!?=_G?J{M zA66zcmH1Lq(xQfam8aZxcN|BC#GrRPU2FK(OO2%H%WsD_AA;({$L7}P%?8)5(%@A{ zHf@R*f`9k}3pHUh?xD7j_72&PJFS0S$9@}5SLl`Qxng{@mboh~OE#$Lz% z>gu4qw()uQF~8c{n@VprJOLdaJqNcDD3zfx=md&zo}^%py0ab_mz8meG?~o|g>?O0 z|G0q_ww0JK_SBOu*_MR6`6kW`S@7>e*Zk&$*kKDB5TU;xbzC&QGvxDoXeT}i8lA7X zhL`ArM-D&nDSld-9L47uHs{busmAkZ$_L;S1*V-|LA(Pq(CY94UNtG*McK5)Un|z- zr^m^5Pe>KPgwM^3V*Z&+bl_u@p5`!pN%(|Ghcs#P6hx{Aj%ei{n8QcSYDYkRo64-< zJ-cW-4*(Y~CoKGP$o@7?g5ebWb`QxPmuCBMBskVjYBVC8v|9VncWAQ^8$*7o-0@^E z$$aGfQy)r*ru$^c(Kf*1Eku6Bj1Jar;ZL)v>}jbGju(hCo++yi;lCha4s zC%Vd{zU5qcrn)K#_qwYld1ft?8u}+{OUPpLIIAc{YL#7s^SOu#$3A2+F@d{u1j08L zpNWf6%^yXyxz@4C1o=1H<0?Sw^nODdks9eO@OrPi@&j*^WE9L3MIFCrj$|e_%#P(S zbTK5Fv{I>R{nu8o0NL^3WnB>ulEY_3p$^985d(~IH-v5^3!+$vA%@Nxn&0M{#C&uiUs9a;^|{rl;3U!qm}&heW`bRo?#??fr5nO(m{3lc=< zBBS_toW^j-#UGS`%DF~oyt+6N0))m?74f{Idq9(H9qji`7P9OF*+K~cafQ!xP#W8x zXgq-q(uw@qvH6UlYcN&Fb|*gJMWVsq^d^=h@}C5@LO_iVJDO`6P}M>CnvO$S4sX5R zU%I>zUxuG@J9gU>%+fcW+*t#)qX}m}-^Ra?!7eJHxpiZ%{xb_m(ZEw1(Yrx&Q^bgk z&>^KV7S3%Gbv6E=-FSal;v!&XIr^@To$0M!iCy3>lWkCg?b_~D+o*8*ltrvoKknKq!?m5!^88j(V`Pf2p#$?&UZA2M z4PM#aZ~O+3wZY>l`A8eF7Nn^&OQRVQxUT7QCIM|a=irDfzqAsnglMWKo!x4T3j%P| zz!y)glEW)B3mf!8munAbWl~X?D;$m#{(z~DlT-t-v`|PlJ9lD-5(n$HNUX%|*`xj4 zq{YO#bS+COIxk}nZ-hcvo@R~s)m}^cwoya-wrKi^9x#Fm0b#pg=fQf(P@TARtMcg0 z;>C;kJgH@Q9uK_xm);_>VA?V^6dWZN-{ z@T0R^1&N~?sC2@=B7+>0kP|Re@5^VC5?pGLUbk)v$f(@l^mwXXS(o?;iDNPH$FXd8 zd4~$e4gK62$40yjRM?paSxQCu5wQ>gZFaVv+AJA34d$@lIDXq(YbJO{6PRBm;plY{ zn+vOwRrcp_@Uw^xB&fk~iBSHOVy#j1$4PWBa%?5__Yh=a2N6Wyr`iET!>eLS?^4m5 z77gr%P)hxW>i-Qh42qOL`0VY+P@wBh6sC2G8 z4g$`+N;UF6oZH$F}E5q(h#pPJGQsL*7`_< z!EtpV*d>anKN(;)7+Buvaeie(r@fTNY>|mCa9b{K>oF3uj~@&p4~^yc=+(*8|2>p1 z3bzzO%pzG46LuXt`_4mBJ40VPEhld`t=CJezrk=@a?eY`(cp#w0gInoW^iZpxk^47 z0)^)43k#G|6qE&1CM6Z|6%kOGT2ZQ8j|ly)uVr zD%(EKekUGOOLyoraCcw+#TQj1BvBu~EiYmc*^Fod)xUP>0G?13-Y8NUVY&%DVNhE0 ztCTS ziBB{0P*|$#Qe@M81ly6vD)xR7o7bb`xm6VJjCbuNxUcIUdyBHC8FpoQ+zucsxYxyJ__#~&xb=Z`R1jYav{@{?Nb;lO=Yp?DMcna$Xhgn&y4Wi zvEASY4vP^zdXv9`bnR%zN?0cuU6^Z;p5*-<`)j_iiSH0#X!7eiN|CvYN~tW}_uXb| z!IoG9nz=k0Mnu4j9=ktp$9)1@`A_2{7f+67r-psVy=Q|4g9c;1vSp+K4J_HT7 z7jb`B=HD?;8L4pp6=r8W-27hTcVGC}5>OW*{re6W_$oTT0tZ!DF8}xE$gsR4`2l=w z2g<;p!Pu8qq5CIz)OF1b>+;!wQA;T@8;KL9#0yoSHCyFEuW7chv`NWvJG?LGpnQ*ZhDKa$ubR2Lq8SJSRU%26} z=r{Jhl2P(g!MYO+8EZ05Was5Le}3_p%?&Qa7k+@dwOR;w-;h7A^tD{;QuNYVR0enk zLQDCaf6-q)078o)6`SyWY*fjtHs*M#lzi?bRKwX}c0zt@u@m`?I$sq@vq(agifktR%|7OJSq8bz--9o%$Msvk~N<0hBP`dReR{B5X6O% zrYSJ=7(XKSB)#^v*t8RiHWF%j4PMSRdP|9eplHm*Ku?1lcjo9Gfv{Id*)O&|3Z)X2 zn6<$Uebh#LliTc7*GsA6i5hZdOVpYN)!t6O=r6FEm+Rv2e!hUv4wG>X6-Ip(` zF%E%r{k)Iy;0OvqOmsZ0-iCCa%|>0OP!n$&UH9q4P7`YZ={F|Ihu{}%KJ2ZUv1k24 z&4PZ}v&Hx4!iOPC@mLlfx!V`QDeU0EN)I;AbKgRTeG)eB*d9RpX{g(~ z(_@v7D>P2+TDet>-x_=lZD(0_;C?El`kN znwYjTx3R?XU0am#UOS1VmYZDt6Rr=~(@NuK`C)0D+aAZaXi-^^JYAvqwNRlD?;9bWG5up;~T}gk}r^?eI_1MUtFS172+FcvTJuOuV5Yo>+no_bqSi9lFNXZ{0x zIH+E8Qw$FhwJ>M?a=w7u85?Wef`Wc7QKy`DW|+(KYPr}5b-kbWNfUx#oCR7~C0R5u zqhfB1byiY~)kGaRg&|QZx(P(T46+x5P!-r=1R^h_g@VCz$i9#uA27hEXO7926PR^i z#Tyr6F0GD85+UeJatmq93vo3bwTH+OAqXdaT=^ZV0N4ny+~9UDhV9&KAJ+nYa}>5L zGhRY+u-exZF+owDYAl^}E7VhYJu4k;PXQ;B{SD3Wy5tQvOS8X!xlms|4i((uA zha4lJF$WMp{ocXd&>akX&$qVNwyI(}Yh(}ZMBM#Ix7-fHIw*;3;br$Vg<#DVNzo2m zJR6#ZoDt#t?Y3E6OMm}5FsqkXE!)DlNk3*Ispe6aRXm~&FrlyZ@MI`c8dOmrH6laG zMX&{l($X8EaF>T@+F&t0DM@#3O@gq!Do#DLw@Jw}!VpO&I25y4LT8n|yqR3JRKgOWyVXvG}py)ks^|wtVi(TAQcZ6^G9ZJVUDIH(?d3Vt;=&>JrkU>{D z=^zrG8+staBJ1ZOe7SdAH=VUkIUrUEx!>RK;>CFAat>ftv#nh8xt9>t73*vRsp_m%maPNe&q&$n( z43@&mMdp;3yEhAzW@hSY6DX_xQ>X)I126mLjIU>Fte=e&#Gj!if>a&?@JSy(eHFVU zK1sX_UYs`$3#&~S1Rsrf>eA`pa~xxS(ipm*!bcm#_^zyKwoRYmCG)1;EwC|a`*WOH z5&nf}M=`YT?H(ZJfWKdlf*ih{rcqTJzpv<*u$0WMOidh-Z$?t^52o1#lpa{B{uA$(9SPR?oFBrV;8*?OC}e zkw)5YFXH zMj{N0y;0`*tN662Sso=_HePW{eOvl(Qs1rf++3N($cC=uq$-&thwiG@Q3_ep-8L=6 zXG;)GM1bN0x-2!P|M5!&pzsw)&Boa5TPbL(KM3P+k(t6Q z;Ml98MWu*!^Yn}9a2cdX1GbSa)3@u(zf8yNQq#gBZw&b${v}xsk+YJ}*Y`a=oBK5X zyC3B=M4Tqp8C|Yj^ikX`SOa5tKFS|0ha8|i<*`-g4j)14HLp>RIeXa{mP#^U2Ea_) zK~2c&yRT;XOx=#7Q`GVp{Ph8GBUM^XE0IOQQ(u{kP(|1(mx8A}uOx_@Be0bD4%#*) z6+>TQBvPN>lhPn?UMgfqG;P_Is60)29zH&Qw_@hSCWXCiHD6s1x=VqA_{iC&)eaVv5zr`3E2OH~K2eNA2YsecouaM}N9on=&;~GQiB@v#@`mM513Jw)ah()(OavhgF$PbV+3Vs{{ zQNYv&MfO`Gj_1^$`|bA#Aw-M<2(WCgc&Uvmzph9agT*-9?H&*-FWrjXI>KPCj&1XB+c8|C8&?1 zfN(=b)W*Dj;@tC(wLA9mI670-T?xZkb3h0^ex=Am4kLM4yPE$ECgo-aIg&r;{uANM z`+V(4CrW7Hll90W@N6*w_BS#)6(?}F20CIfA%FWc0;7@YD)W0H1Eup~pf(5Jj=kT}l`G-PZgLci|#p zX!wq*$SF9R`R%q)(vcUGXv_J?8bv|>d7E4>Q@=P%kX;IEXZK?kh0f_t+KX}nl6jxE zq=#AR&pMUEZubFa3d+yS(D(1uCGi$=q7#C)0jbr5#UAwyY|YGg_JO}f>eQt3*-*HxhgD8Fj*yIX=lHjL4-|T5 zR_(67zhoG`2q4|d4JPLr2-~E#n-0|5`88gX<yPah? z?@}DQn7fmy_MDF%OPyt-grqB-Rxk+BKzbC`E%8UGlA)D4bvq-2$jkM9d^}i`W>491 zJ2oKRG%X~^qP>WayR2g+@--W`Ec$6*iFU)_VVz?1!@8tuOuXe8;-|^lv z>IjVZ)UF+XI1PW=+!9VE$=qGx-kv%>9feCU_YOSPW~24w){u5S6JxCdQ|HWOrU8LUvFr@SEZIF`v?clku#zi%u_ceS~9w=I-u2m4?$&H;_EAwz`E&h#0QW9+J=8OE((s- z&b?!{bf-0Lb_?;U-2{6XMA&IVDZ~|@?FqS@0vGPoN>*HSP`vfV$}X81eQLjWT64L_ z5~867#aPZfU?71+A(n5-`5mGd8xkwuMm}BunU}i{$@13%wGpkYPeG&S0c~a!c}GzX z3PjWKaq#Ob@;KQVpZ?~Gb^(o)W3iKpXS!-Q43xxqI@{1rcw4c&rEh8EX#7av=iiS) zddk`#vLvm!HsD)a+o`KFOyG)|W1Sj;Ja~cZ?+0>&v4&lYriK5KlkwF%gGEb^2S2Y_ zU)M?7pQ;0}$D30I4e`-kn#tRLm{{<&4Bz+Xzm1_a{?O;xd*%6BPWbFT4J=@Dv=|`1 zY>MdYdmBYb90R34!=iFX zHGTPLnV=A)V@=Osdm{Co(jKzR827MQhmclA*l;Kl27OdS6}61yE!!Za(99lU6Tky+ z!nshQI*`sOh$4+VrL?bC9IKjtlTIqd(ytk~W}5~^aqa>Ll-YuuEIJ0*mGIC$V-w0+ zDLhqNIT>@GE)&_&W9XuTN(ZUEs!3BJbzG3ys3&5|XO+k27n_!O3l;M~9l-p$kOe)J zx%Gy!7**_dy#5PyvdxsiMcZ!lY#D(9#OZG-j@zyy+wckKtsxdcY=nTqhs`lyM zvs074CHq~x2pG^tX}Zkj6l87*)A3#9Tcp7UJ^K2Tw(F~WFl9UdUfQIMTx1Ahe`S$Cp}Yn zO(oNb7=0TZZN@_?(0ud}*z4)Z&*?WWdOqB*|Bj&-t%L#-XxRlZ$hI9lRyhQxY;UyF z7SYzO_G=_Fi+0F^5)Z-%O$n)F9;sl$q!z+}Ar=-7Y||!l5+&1%$Ek?I$7^@x|jeMDUH%&PmfL)@Bd-#9iwZBns(9H*|F_p zhbwk=Y}>Z6W81cE+qP}n#*S~^_uTK^JMQ^=epJm_-92ZIUaPCS$204xf>D*I_HDOp zdrp+G#UX}cpBW%M93Voz!YoKP`tw;yC1LFX2TURNw9em7*0<=$BvSuSBkkOr&Q4l+ zqAKf%+-usXg>0|=li^70fj)pKgLS^k&!5y6c)ZY<(e(aTTSG6G+gH-z7Yk#hMH z;4OUx|B}_N%5cQLZpLEZ{kelOGK{;c}dA0w6a&l0sQ21S}$N_bAG zK(?pGHXS*Zse*nnh;?Rx8zv}okDQT}id_F<2HXv?dQOft^fE;Dx1(5zg=$y%1ZSi} z8=pv#+pLw&;^+TFA=4mxNh>N5c1`;sBFi)K>y2D-jCK|{X3-4 zawjZ*>SGGw8wGoJ5Q6k?W-j94WTz9V3cW##?v9pYnLhDJ2oZw=Nl{l8Kwv>l2|Vgm zE;$czVXMvkeWaYAS>GLfyA8GTciCs^_}TI)rhY@zpoyz?O{ky1w1$Au(kt*VanMWB zFnIurthSGxwUA+Kaab5|jA;@nE@h7q+}eM0xkrZVulf&9TbX)ibWv%=KNU_|DFcK@ zU&iI({_X6>uzQOzy^<2A6=?jq({~2H5ojPi^3m?6%9ZPM8gl08^GKi_Ww5lny!{DMH#>X8A>i5uEhYoaWDTNp`>IMrY+WDxBLz*_6n&ZN7Mk zcJmjQl3()7r{cMOCW$;%p^1LHVpYOE3)AyWHSG#bdgY)~$|AI%EY0|04dUh76WwT{ zs>D#qpNs;QM5?!?x;dUV4QIp)JPqav$L@?=J{sUw*wzZWED9BT5hg-8g@nWJtp_yy zRN@;gB@ciGK$g#Z&P{$t2N{dC*fMw$%;1G){WW`kc8zTS1A*4w6mK2ba=t{Mj4sRK zJhXRe71FelVqs)%_>mCmthWdFnydDF;u2IJkbz7KsemG4ylfn8i9DjP#qM9={dL7U1Hdsca&N=i@(gb$a5IOodh1lv5pCQ_wbkQp(eIhcw`mA@ciX%PipjJj=u z#61vJSNlwwAF76s8U|kB#Z)xRTP%9Tr{L4c*Q$zqJ(g>jV-`*Q`E?PeEmv7sz0HPj zjQqLh8b^9{RqGy3aE(Z7SsVtuPe0=RJXRs;w)EZDt zOc>>>-V7rF2~xg? zUbWv|Z=iIrp-^+%e5|@f?Wd4>@^I1*KQ~g;0&*U^jp5{GdViaFGyEn0&@ETD2D0<5 z0tx!M`F=lS`}P;qOQsD=UA1veq$N)qm1T^RRY{%Wh=chm7!yWT=09|bQWZXDlaZB` z{rQx4{I|2Pun_g_<^J{__%PG+aUU_${V_nm`#yDM+T-)~h|t4d64T+t^t-I~ z-_%(^Pg7fKjFG3th5~qZ4z`B{Sy(L@TyNug=I3DI-Cq7fOUJ?)hEF>0-!9yaY~Vu+ zJL`0N{?Pxg>8rIoM zK6RuZ$4WwObf)1blCAB#Np@BkVshC2;&k}w-x`NPKz1)@Kc~qlPOlfJ`)x@d3sW<0 z8mcUO7xvVhKNaLe_kto_`S^n2uX@C^_!$d)b{vML{>KvfVFzWguJ0D30SDf;t=wul z_xNJR`QwhPDO^@v2?Rsal3~$)3>-Df+Dn&xHNIY0S+DN(o?DPh;O@pU(cqE%_J3jmF z4+i{q4_4$`eW1GI3QaAJmP~a5+`moYV&rcH2>+w1+z_`bIcztRh#r4ZM|>2liD--D zR0sm6kss|}1Vmmt5bP6a7bi{W4I_jVoU4ARY8|beMUxM@w5iLE69Kd6Kem`kqz%gN z;JUz4{rB;T#oQ;S#cRdsRi*KS3y9D|MkS}Xr>KL(SZikCbeNnY)C!pg+1OL>+(2Cm z4*6`XS5ThF9j~{|53|TU*$<3)XmokLGnPoLfBmM68K=oxC%lHD-lQe}cpBz+S5?-@ zFF>2jsyp#cG5yUwLtT7g3srCR#EAlv18GtF$q|Q&8lE2e7iXk7G-K@0Cz!5owzk>| zJkXMi8AE;LsG>R0mCeM`sbMe@l!pb6EsGWl==?xg85vOuxqK~zO zQ1}=6UO<2c&1xU;J_sJ}E*8f5t{%4I`|s3)K!>4>bH9BKAaYRwt4)EX+&Vtx9#Xa7@LBoPjeAcCndYk zv7nI{%eFiZt%PQZRy?5Bf`HeByn(Ry_jhv=*F}DdDOrl(r>s_DRG{-gV0Tb1yZIv_ zmjKvDL!NI)pVnZbo)7cS0Wfc z-*oW=Kos3emC!A8O7 z&DmLsuIJs5+4pPolr zy3ZzEPrl}!XAKJ+&4!}od5W;5+CBRjF$U}xk%MisO<3GM55V=BrIp}8DQqM-1?PC# zEJ^sNrr*Nmv-qu=O|U5z1y)lh_{a}!T$tZGtb zqG0sLxhhvRrpmOhYVvjQ#m`;(Yx@CU{p69C@BRTjc&#>hQrd}AVs#N5DBwLf6c3E|~LUoI|XZB~fe^!rd2o_OWqqbPtN?^sA zWaPkS2pbjqprbKXT>Lc5K6aV=9m9^gqt6a&@$4ZKk2k6Ycj_;Sxmf;>hk*PpkCG1Y z_ap&Zf`Dc6xiwU5oEzhHSxuDFbGvkj+>Cj)yf4Wr_|J+BF&o{WV$QCotbGs06AkJf zVh%KH&;?58_pD+b#e{R)$eE^x{Fl|q6X}wsogR;nK+yL0@Z?PUJ4Vcy#cG&&?wESA zlX>_3NF-bdi{2e}K`eS0>}n0$^A60N0Jl3o>awmOP?d$wgUrRLvBrz(ME9C^x8y2F zLw)s^WE16MPsdX0&UX;Qx!Nl*+joY3m@RtqW+xk%latIicMXisEO0E<((A*kt6^Xb zRL@}8kaioJx^XQsm2jwMxX+orvzd?(zHFJV$Az2dWl^8%Z?BtAu9vT_$FHvYFWS$Y zqq&?I?~aN|L)O!9AYz4PF~L05FU?{Hb||V=8dybT{C;NA^f(R#C&3~sej_nxTy%oV znUPgwvhfwT8na-qHjKqVm>CkXH(;1}A-oL@;#vA7rw42LNll=3C;;V&qsRM=$-oX2 z(+XQK!}zx=m%UAu3f&(dqY0TcDx*t8&QAT0%k0a5gMb8gfPdLL*5T*yCA_t1-kQje zwlxOxzGej1b%wYJsY z+po`*y|qH-9jUc4=ynPB^W@m6&5tS3?kK)^SbUE|w~siohJ`$ev*BrT`RPH5U)BQ<(aTA5}P6%RTV4{p! zxx3UtKXBJREq!HvvA%+z6;y+cp=HPKGh&bo??I&Ar?s_H@m4z)i57m2$w=SF+vO#n z#*{rw%nsq_p8{4njx)6-rW3P0mDXFvEondo#xMex_mU`+G|EnV=+ruj}<} z=WUUm4dR$GC>=j{T@EgTdzZ8KA)Sg9jvrAStsL5_2-%!gJkBlywNxVtPeGk@9y@jq zi)Q7YmBmg|PM8gI>#?YTWx5FPb=i45E@}ouU#9MlxO1`qb?s@>F=hiP6URqme@iJ#Z1*y+@{s zci7ZNu+zE3<9 zi^S(lA&Pg8!Bjx-V-%4W!bT6Eu;xWG2373Rf$(P)N?&sJ7KAQrWV?E_^n@Q3Y5Gh` z?HV~rx^wGAm7btoJyttA8{TXz*KLCNwQ`6vRe`&WzHd6YRg=nuGEwpdnM9^W%r|oosX=U zZ8LV;DA*CGyw5)`xY3Kzg6AldBdK-UfZ<3tgcyLK;p8eNQ!}`2Bo>b0@NjC~Earb3 zfQeNk7HkjWaHMsluE!*%(xQ}=ptqx=dCrR=n89x2yh)aESOo^txwIB&$Q7Sf)+ zpQIlsD16}p(J<(+Q;LjBXPV8nOqt@dBWuAg=S{1~Jn%Fr;OO^8WMVMqiHL zlz7%}`Ov6H`B1#JKsFH~XH>6wdgPDF95}*S}FS#dJi;z;*S=E#&9s!?n~( zld8#gbR((+(h9J)?xG_Ep;Yezf-p&?lnboH57b{2t#{*uiX!hgb&vu6csp5ePBIEv^6mq(cU#Hz+Oos|fpMYo4 zJ7VgcvOG3{pF1X-J${)n=Y!xqlZ5kh$FibSt{<;}U3!gha9*hI~wz8XzWkT#T@D5f|JsmoL#(*G7+!bo% zQ@B9mN{Oc6cdnObo)e*ZP-Eg%cN*QdGw?2w%B!fCmz8-E42->bL0r^*Mn(5C4GPRR5dCm6M4dA^DQ zdBt`>c9c2=c6kou6%H$1l)Kip^t*{4@Mo)#Ey7$jVi<#>8~Fr}OREp~X%{NC3M;}C z1QX;-(n8gKe_Vz@Y@r5@0kTfakF5}-Y__czoEyRmRi5B=?$yvW+f1}kHaz&rQGkoM zP|b($2qd=47$({&t~AjEOd<2Kvbc6&p%={ zD+oNTW5UrkgyE+8<$XTt&WAV@L5Yx#$-(kM~b7m1#0-q=)rX@OvC#TWe$ z^IctsuN!oMhBAC;U_#N`bi-Zm$eRgYpA4vkK~UOkvddV$#<6j0(Gc1K3DVq`hxYHJ zqzGsLVEYo#bz>Zcklv5dHw4 zIWIx!5Vl(;8MoVKtHX~^*>v{3p~vZWY0SZfflbp!{%-)m%_DNqVki)|Y&%7P^dxVN z%(KRyB?JwGqHcWomMvCi_zpDk7uL#(kot=R54<=t2x-f=CstSkoFXwtL`ZUQ-2SbU zMxk)XlWJK!yQQO<4w>~OOU*nhIORh>%A@~i=U1S3^rKCPd@~bm!_nOKlywAyp zY*0%l3p^9JQ$Z5@1IBM{a-ryZ7*>!AyuNT6V!9qQBv^k5=@Wqp_Z)Cj{CQPN1>1KU z=jhcBU!p*Tp1^PzFM{6yG>7o%*g`A$$Gx8K;HH-M zUKXw2alAoXT8JAO8AJ*|OlQF3Cz_l0m|OI1q|5)TtKemA#@@#4FM=P#rjU8s^km^K z*4h(Ua{LFYC~jLQ7HAZ9cBSVr85AYzdcH521}(J?G!iSJNEnZ-jo+ z-TJTUdOz&J`>8jR8W?cJC^V-U5%Y}+@v7^KoXCj_9ilW1MoP+~35}j%*MtM_u=DWn zeBM9I?D_oQU7FwTj}Ij|K6mf*-v2w&mE-mGII)wvAgblU^Z!G-I<~>ObLdJnR2n3Z z^-=Oluyoy;jLD;IoxYr1I6wDg7fL9WwRWE12vq|t7b0Q%i@wG)XyM+C7}GrGTlcex zv=r`TkRWhv+}}lSk+yk050mRZusCZ9_baFkkOy)s+rjsHDW)H5Y5*pY)Fk~Gn%3{X z(S@YY1EpCY)07)W!+>_L7hFmf_@w#X!LaJ3IVv=ncm*p#U`bqs&U_XTt5I^n3 z{JnzP3F@8sxWs9t9popNez2~lAFK?GVJ`$g%z5bB%G|ipI4CyJd^P%~mNotd+;* zQ|6@N6D0pH=AO7sx&mkOrE$i~8Ho2|$68&WoJ@Z{aY?!6Ez{vOJR}(C_&e}|?@E0x zSu{rQDpoy^a|WvkMcfTySWD8-FPQRF$eFTYJYY!Ja$K^pe-_Gs@@0xYsHc_l7H{G* z*JAd>X9oVl&4uAc<;aI%DNZ1YrsUsVNj|@6uGUHmmPl&)l;JadyK9%-52;qCL^>E! zDlk^qM!m3q89Kh`@9;Q^ID)wkP-Y0S13v|>wU6tgh&Gr@Rhm$j8*O1>Qt=9({L$$< z(X=?6DbeWS`wx_6D31RL^e8hCw!PX&a?3GrJfJBNOtRs1VhqA;7OY*zb~IOwrM}NK zesOpq4YL(lSz1V(Z(EbR1n25daPGRnO8xKBDCp_E!zNGX2&}=A7)@nqnDto`<_>q& zIwY=k>)oYW-6;3))h`e>M>R;~ERv}VtT-!qv$pIfEluW=jFBbdOjJOam}{MmKOffA zk`bw0JZ08Jv{t79#$_6k9_8iUUF$3EUzxt)I3)j2x^Dw4<@BLQQO#uUM0 zqw#8BnahxcEi(0QYgDN&*+Hghwy^I8y;xbiPrFEyBmpI0XvV8{BvwdZ-Ohr|)fNsC z%GCFU`IkW*YFmk6{5haPMssq7Fbo8YxG*$n?GNq_X*8p$A|rum!>3a2`yd(1hi zG>~w_Oj?o+^Wu794ccL0y!<`G%$q!RCnFx9W#ruh4b82=qG?drAs3V+>6mEwVO8Uz z$FftjndQ*mv}V}N2NpfZrs?saFE8iM2-~hq_gVvP2CR2shL3N8tjG|~6X+)}{bZB} z0*LAk5DaXz`rj20E|f9n2XMYx^F#AlOz4BFry8jXwpCH<78~9qCZN6+qrBvl#46BS zzHr3q^gNX@)s1$NNkj5Z;lF^z%Q$20#>hJ_X$!4}vCLTR!ia`1YzIXB<(ilk#j=@0 z78y3?hZ9T&1QcfAf?1+Dh*d_sb2UMVQ|CnZ8jjv4o5dfpAX3gdi?7HiRxLIRn<1be zr~jqJ+axF%R65RgC4e(a_=m1XuY?A$AQ{cVXYATo#}K9Ji5NU5VQKpF_mX75p>ph4 z5Ato`2gLhMirsBBkC^a}#e%x@x)V83UQgoz*-zYgY(8J+*P!hl0mafM%sXEB2NQ^F zs&3+ER95fkavu`1c6RV=9}typ9++-Fk|6-49sZ482HC{L;XVDO`m*wyhRQZN1rLQW z=jS#>{1B*~tkw_eJBWg^t6fU;r$m9uma>RzdZ20K#kFro08;NbQPjT0VUjR4H@UQ1 zQ-Bp=C1I(UjZEAWcsb0)VIU+zg4ZI0642!jpAI1eT{Fs)hrl+@{jZt^jQ=TsV;=uw zmgu)1Q&M@~rIZgqujC(Y?7`+bD1MrJI#_F-7jY4W<)uT~gOGA$)lkrDCOkbmJUcUo z)9muC-|T%MmZVzf&M5dEZa{{eZk4$rts0rM?V3nCptGX8_ zQi&!%HHK|$0hujaFw}&?zp?N>k~BECC5Kl^b$|hX7qIb%{apZ9$YnEap2*GN`2f?9+eDmw(!!|Ce~6bnR+Ho z=wyLT{Xl2K0YNA~?iutuZ*@1Guq=T(37 z&&^Ox9Anl$5!vRbETjofBlQ6cRA9|}&l1wq_!B=|OvB9Se}%hgl9rdL>D?pPu}{ll zos7vZhL5t-qkuznGe%$)2StyT!`D3S^DuA%N3-@9*U3CAN3(ecv*fhE@Y<%Ey=u42Ly2JE^s75F3{Nn&yc zG>&vdP2!R+;uhGvF4-wNbJ@SK3*#@iTdVZUg4M=N+&x*u))ryNvSj$&MQinmD#CqOmf%e9&o6A z3DkgJiuZQuZswtk>2gE%xypK>0GKPISOLK(1W8%ACqISKQqRbX&N^sLG|pNg0bF(^2B`LK?A$3d81K5*ihS;EV$CKm>U~x zVRLKpW>KjpMgh%^JN|X~Wqc{9%E!Yl&Uut;*pF=TbhUS}q0W0L9VX}%F=8TvHmoR? z;q`V>GwniFUv~mu(**`_5NRC!l%tHi68J@ba#ksAq)AfueVRtddcS+4^+aN9{Mswa zOxEpzMAzYPle2X#Rf@jY;ml&9mZtO2;Y_gkm0-;|*rx8wvn})XyW%W^cF3bvmAaPP zkf&p?UC`B?KOh`|yVMzYZ`SGF^+-zk0qs_O&sgUBy$(*N0x$x3zovFUkW(~)Qu7nA zB~Z-d?z!Q|H2y+p?1BEp)xgtO(i6qr>(WJ@)1XhPcH`_v4hsi-8c$mtDig~|{{&gi z%IpL*1#7GP+J>n&r`ok296n7RPf^^b&wM%@&d z-p^+kq6b0DlJ5&7TKF8&;;ng~Q`^9{ixiwPgN?#XU*b5&Am!QE+(^B-4owikc#N(M z4k8#YsGZdp-e?L0!_J@Hav4w{4 zGgXv63n1nrAUSum8$9u-a;c}ESpuq2ZXfUVptCDgDOpd?O^7f1iPt zx!UB>gWMK$xXrEJ#%b`FN$d8wf4kf{NZ7p+Ka>>W#f$1Yr-^Vd`5^vSLqwR|0yL3aQ>|sZm<8m`01;^`!^rg2o@{c~N)>PJpUe#5MP=|F)6fxz0e^+7$;za(4N31as;4kGh&*l{0vn*dI8T7WN?ar%g@2i4+DS5e9pgv92Ut^-(Y+>#K|3{Us^< z(-DH5Rm1CxuH)=i!z02Q{ZXC$|26b0qY?28{|44^`m^=@uieI;s7px068`@kuQ!kR z9|yIG`5#YZ{;!|54FAW6e;m1Gq?G#R=B_SYZv>MXIywn#>ZfT3s37D1*XkHn6R&NE z*Q3^`ZOPO#i^DI#m6KrrnnT5oOhLKKatC@=i5diE0SDF7T!MgHLWKjeE{FeBPKCLt zu4-*(Cfx@#>+HLgo9+)>`nRdCu6S2X(XNsT6U$Kg=h}psh9%Gq$s+3Fht$RlDvglv ze~i(CA5{fVsmG*Ne~kH`5$qNQHb4JlX;{?%QfjV|>1u~}@+ceF1>~$22A_tNRP4*B zk0bw`|EFg)Jff_~a4V{Xn3oN!^E}35t;zpxK1F}xB)|4s7lI3JidEF&T4yBC6zs@9 zr6{kFO>(le)1T9mA#WX10iAgO{Zr-kiiIIUV3D8V`bKV!&vi6Gi~PRUJV5Yi0XXzquj4~;$E7Aj4K#@HgA&^pz{ z97~Myegc+7dW%NWzW>!d(Ae9MPsai4d4KKn_UPme3@3Y ze!xR;^IG$kJz~5D>M_yN<4y&y(y$4W%hF&?_oAw$)>mjK*-ZaX=k~1}aqfD~1Ld43 zE^Nmue9EGlb$Z3I#$T9?BqaSCD*s_xR!(;PtlbYO`fp-#SG|=xF5O zO}qe2QfO_57TP9q9lzJcaVh-7sT(50zoC~7YT=u>?WO*2rBUiq2$)m%?u&Nf%3|9v z+@1t2v?4Q8Wj^Z1*19XG*Iy)ql{^EF=0U5uBJ?xEv^cWv0J!D$6(R zjfnTQtV9qC%cnXdZBAr$WY?8xHR6Q3+(69{Y{Q3{O#auD*MAwFR?8YB%;K-6hD%S? zVohbrvV9dk(YrsEZ->GN!ACfdY&-0}I=G0zrmBjMnj<6%W29mYqFjsq^f9t*xIuFt zcJF|9_csO`I&GEHv@wv+tYIH%`AFRxHXft(ryW!46o>Ham7^%$VNZeewLnobFj2KL z=7ZLt8feW$!nNh$+@UN7fIyf5nBE=pz1_-9Bw>x<~p7M9VD(bR3sR0w>(ZAP7mDbPjaLqhB3j7<;pvW*B1Lv|n zHRxC2m@-HyLJx=V#$vqo$VsLVCDqlbB*O;GUDE3Tf`0c@?$gv=>pNfQDuiM>#>wX# zTCZ1iOzt4S*FmsV$VS1EEzY(Zv06+)J3LI%XxSgj?+XdHR+4>BiIYpr71X(^{C?U0 zwAgmLw`aFnBx^5bH%P6Otqxv+`MeaQ5a;C z1kjRO?gts##G}!&U0t3ALyZ$6YgB%MDXnZr3PlNwAUMrb9rlvy{X;U-2Tw(>}Y+y9JyfB*yb^v<&7GKQuY35NP&cc55-!4WTDCPe)aaA%vWH}A`cTs>G zxJ4!(nzGDwqn+e_Q^k1ViI82pNsnoTH)F#!n|=W6`~qqticvoeP4fPy_X=Y1n!7u; zv3AbeP~t?uGectKqhuNk)n3)W>Fap^HDZMgLsz@A6^4rqMLS~`5x+JufXIofJ~OyH z#ox?a2mN9_Y%3}?Ydd7QUK4j>kf0`xbU)f;D}x}40)O<+8;|qXDm_k}A;_ee4jhg?L9HA%2iL*AJ&T-Bht+-&Z%S-elc;l3A{YvGCF1`ss9F8c(p zf`gvnt)bWzk`;A#8Vs0w^l1emq@>BSr)jf%IwojEp zYPjzY36fqimAvBOuUzCU*m6{TLOg*oa$dgWmIfr6>uhp#eLS(mW1D&|tG*(PVB^~E zI~|I#HXCMOA=4C$)9K4g5*imM<#dXieUAd^>c}}&gkt$$@myURR1$q4Vxgsyzw`X7 zOQka#c>a=cGV{qa)JwD-KcAtg+t=|re~XWkshcb75u;(a@<(4F6oOReu;pqdYzF5j zj4DxUEk~$S;u%xCZksE55!bjRUQTP$b(^wW2l(5KL|7zgKsUu{MdpuQHwq9D2#bvW zkcrDUN>ZzOBwN8o!SpCpS~k5+|1fHY%pM!4xD_=j*uprhd!)2}9%_$~m3CK0s%Nlq zd&Ps5{vTu!vzoipj*F$G+W`QY-*8lMv8l6&quSRImZ=|=MA0m49$-oY{o%;%Y41#~ z2$`dS8CQ~qEq#{DxtS`$An;;%9yu1?0?fMmRXIqtG{r(M*3omWh?xoHtn?Bqk$`%NuZ3X$|{tH+3|%Cs)Zgp6QHf0a1pG!9nuNUb`LT z!HcH78v#>cKT0Mr6d>LX_n$p3C#9l`Y@>eh0B;uLf;URxq}GCi?r z))Gv3Rm{zD(sI+&+0AHh1i91uMU0$8;WZMx&x84{qadMKG_(5{Mp!$3@Vtu6V?Ksp zmfysP>b03)Is;Wmn>K)6J^&<+L8T2V&S+TDKCi~#B>0b+5iJ9o{f*QOWpg?7B`!u0 zo3&vSkdr&cU*fcV+che?mKMmhO}^(4MPLYIaH~6<{Nfm04^&04XawMriuh6`dmyP$ z^Mx1km1j1Hihb_`=9XrnCMute&@QeY{MI%FS|&Evu_81x8QtO-KdH zX_J=qNp6sg6peyE!Hmb63mU%tW2V%Y89tSB@U@8TpOc_lYEo&8f1k$HYF9-pOhN-6 zL(;Ait46CZh`QC{Cx~^2=eH=;hcb}sO%~KLNX8J#EJI+cDsTAWztXW447Mog7k5T0#;=3ZpO7+=_KnTICe{dr^_m_;3RdGXqk zvGVAEjg2iu7o~|`g_#t?7|4Pa$&pUwy^vm#u7GJPn>J;f6b+|(x{>kJ8aTK@N?S0HOHk5UnEg0ok;&-=z zB-fBLOeD_*^G@b47KRJGn0a+^(0gjr)|1QB`Gu5o85xO>epoc&!sgtv8UyS+W$dX3 zj*bV<7GGHVCB2EYN(pScD(gr!S=S58TBCm?*Nn3n*2!U423+bZ3A#NU$^dpt0CrPz zj&UrpK{Y#J8|gk>B7QT+#9#rXo7#~*3CE_nYwg0WTuC$>tDjm^I?`MqFYJ<)QTky0 z5t*m;A5O)z9Uu#q{nRX%miTiE>1WL;&IoyTiee_pRRsKCb}`+Xd}%?Zuo zUY}gpq^(Syd}>V!>9gkFqgb%a?%t9U%cn=v_b#9DBXE`MD^DZQnUh6>q_VrL875ny zp%{aN|9KWj${FU0BNDz=J;lxdXnT(p0gABT+`H=P8@vWAF&}rQ0+)R*)4z78XUNAz zrf6>u*AiE=bg}GPgti8eVg|cRKah>+&*~InEr%w6S(P6IVub&S9BU~SI3-vZ5?A50 zF^xXh{bqcT&WgLmo1JQ`c%CQ>yZB%d5`4#h*YzPCc82cO$Zsl#=@2GpzW*Rb=ikF_XZK z7jpgZ=v}<^o{H+LFOa*zRI4h@aB8#fj)ynA*zs#^^yqa`KCw}>DpSrkg9)X4B4+i6 z^oBX8Zr1~Orlf8RRn<{BlY% z?e0|u{;zTMO|lkyeiFO=wG%DFy4Q`C+8tw-bhtg#$a2~S?lh}zYp-|DX`@KeE|!9f z?YpK<%bi@ZVEqv(7}X!6LHT+{CQZT{Mz+Jlt9s zYZdW$87W^%e>>()>f zR9F$z&F8Cj^LK=tNS zggF)3pIvLs(Jd6XhvmewglO69g2hwD(N~TPMq9fMD=&-0vQhktcCabw8T>M{EcXno z@l^N%dDnA~280kzUXHPzP%I%>7;Zh5Vx<|P_V~iPf9DPCA8`adn$B;av z(%fUei0b^c%}H)0hGx1~^NHv2zPPU6*27vKKQ1RB)XBf$#2%NY%!Nak4gYdeJicfi zkE>gdO!!jL{+#sT5_mduFB+Hqrj@%P1BF7~-3{(!>N+|@UnT>Oy6x(^63c8CbGL9U zCE$3joRR!WzFg46mx+7{DPccwtp=3btwIs3n6zV)A!C!!V^dEQHe9GWZwi8$pKB8c z@QY^>;)U>CGu_a*RB?!1Dt`k1T<&$ZkZ8O#ztvR+rnCEpp6C`kZku>lW-p(vT2;LE z%Rp;6F6sL*tg<`E$#Z=j- z&(xz)ktACyZ^Ywwo>bBmOU=k~?J5Ay)RdbVTuhoRzVw!ao#1l1Y9=0n1OFFn1RHeq zux_5~!xtDZz2L5;ACp5H3WkF!=uuMdv&2fjpP-Y77=BTtbTPys_0Rd#3d)(gUNUfT zP&j|Z1kwv-T>}NzM6a>rOH#G&A@YYd_mrzL;R~UOrwX(t*%6%y*oGCK0;nS~g7##= z2xrdux#BMt`R-}u3-G~^_vbb1_{7W#n+wzag{xXzaNoTYQ;th5P;8slI< zf;dN5X!SCsG1c`DX=&n^+0DE4akXed#zz1gsVP-LEnF7u9A_xbVosy%`-quJKM@3g zghnkDn4^zuJZVT*CV#@dHv0uPHS3mPxw4^4FHHDO=WVnEQc57#{OOb&KCQ((>VE1b zHoP$>K5GGd<_`w%TMH8Zn=Y@|IR!Sh)DgrujUvX{e(%BI1OV&aF$epCHgok0hzTU4 zY;RKmx^mRt#7ub5KNq>eDon*Sijhu88A6Dqi?Q++)oTb`qs^nbCK;Wrx+5!M3jF0; zyr?pi+s*xLWTqQxv@b@%x92Y9Lh*5x*80b9B$IzDXsQ$lpEr@-ZOhd=C z$Keyby%j71h6Mybe1nRl(OUQ3oT6~{Cg{QY2Sv~a5QD2XF_!Hbh!lJ5+vNHQpK{*R zg?rULFx8@x9xp`Le4UMsUTA@+o1ZDz=^KWxIUj21_&tjDLfkBKZLr;Qfiv#DNEy$C zf29mX>Bh@)sVz%mI~xBb31)!s(xN}n1dq%hvlC0Ro@ZtfaSV&H&ZgM`lr#z;+s;(5 z8)CwzVzO1gXeiC9zS?c5)!!=O=kbu+;p^dE?#=aoesbGPnLl^``9i=tlgVg&OMDii z{hFOAB+$w89&jiu!YPgQkzDSAqp@~Rc#BQovm)>4-*N`#x089nl)NUcwrB;OGm?}; zF&erNvngbT4Esr-I@Y26#`&aKgmS--C?KH{{vTS#j`z#M;pzX&&G_}r8szh_ z@gFjV^Y>jxLBYTPL66td)6`K!>9?U%ka&%dd-*0fMoJ9ArOSywBH`K69Qwx0VOT zlI*lIUo~gLFg*d1F{+&g<3bj|Fd;+9*j;@gcM*h?5@-@tiY9{#F<`P)0Uof5v>xkd zig-j2zztszNuf2R^TZX&LS2WkwMt^j699`F^g#jxW9)*ZEFbI;w^SA`w?*f=f{J?I zVFNo+@@dmwmu@wguU%V1rzG)4Nx2qY(`m#v?okNVo^3WgMgg#e@a+sff}PCr_C#A_ z5%Svi<)cKqjRv_Sz{_I!k;EVd^kB8tKlJ}*MZC!5$C&W#JppPr_(DlUIWIi~+OW#n zPHUMIsm4*|n!7=3_z$7&GDvZdUI@DX=A(_pU>pF~Q*00QSOx`_5xy0$h*H^!Wl(mu zART8Agq2DY&;O05XYQozr7lVH2+iKb1ckAfjdcgIIzWR^C{>do$Ks{ zm17H#GX?X9WR)ysE4SMz9(*K}wnd`5zSCe02BP+p2^+*z@m&hBYlHv_gj1w7S0hgDr$mi^|Ew%UVZw;csAOcGK?1y zd9-ZQE-VjEFfhaR_4E_N5Bua*oX*vp{4$aiUSG-~cu^W!YY;W_v-7hqs2A=hlWd9W zJGXUAi1{IVzXY%R-oa`>67I4NkIg;m+>y%)#y891#3-@x zW^?CFu0bHP$*=Vl>I`AP_2s}oljU^$wOnVp8dplEpPvdhg`!iM5w}gxSn zU8P$%tR#|p7dp5?;S6go6VdxJCmi>)ZfyNnW=)IH`iw(1iO{clLiQ7y_$+yYCg$wD zAB2^ZjZbaD#(IdQEBgx7)?j5O&5HjL;BCVIYH3Z~o1hT*f01<#K$11h-ruop+eVLf z$HtCrn>)5`+qP}nwr%bBo9B7od*eoY5fxE&>QvV0=#J>F&iv&+^MmyySt$^Yw`=u1 z2U}murY^*XGPN#^7rGLbFC^fxP2kVK5j$bM>X$3$|^t~}4ubcnRX@CcI^Rw$s=zh-~l zN0b}Y?FCyN-Lg#>OouNhlIB_>ng-g03KbG!jY5s*G3!Pm>*?8Yv|TLA0h>Oiv3N4Y zBc1oTj%?g{`ayNEmEQ(P$PnHP0TEP?A`RhDQR~Z`ubYcNcltL_YR1ZVInVy2Gvb~YO{H2prAF=k`YkFV~ zJ}voI!(?iBop7RoxGj2DAALK9@^vbN^x`k zl!h@!X^j9%utyP~o!baLuvU^-VA6EJ_ydj``c(-KDD_PQs&OtjSv&|Ciky>=IRA~l z>QfIILr7@8UHBZ~uM$A7zu;2A;=ofHU+8DdlA^H7^->yZy>&Gd$5C*75h+O`soIdr zVd0MYBJKdlMR_F1CacUP%1cOFFA{yj_Jz=tKwVm zjUvkEF?lF#y4{o5FV`TL5+8J4sRq}abOv_*z##|lZZ%N{)ZAP#^bS3^porrEhs-p} zaU7J4qU>;iKesVy>73O@TYgn7bPD52qNJtB;z;zeqz8zy-5GYH1${>=?h%fwaxi z!}9Ywbg6cITDaHE{Y876T*#Iq6hV!vC7k|F<-QChfyJ{C)d=SFoP=Y~_IdJ73p%ua ztPS#_X$C*{-pj{TRqsRrI?rocOL6si>K2-g=F)$gP8m5HrW01!&Q2?cCO5ZI;#YOm z^jft)7sz1Pqw!fcNk(-^LTwB5&#O_((HA-{SmoVJv9=fr^i>Ksuv=`+1T@D5#67!;fp`IXH)Z@?fqvSV%gq zs)Ise3z&(67ZG2IToDcjNNEruN&7VTO{v~{QX6N14v^JnAiBT~idt7=)58ff$~E^w z<>~>cz->o{X=ElF;0+eyJ}i-Cc8{X-82hLJ^$iaj>tXjpzE&Thayj?F41^Toi$*Pz z*w>}%0*|d^W}FoB18DrDf1@#p1#I;UN;0r;yFe>|fE)4%TYoJ{mLOifoTRVSA{Li0 zrB57_&c~Ud7DV#};o-6!f?A0+i8yJbI|*+WPRs?LiK479yKj2`N+bS*M3F(?^Qvml ziZCi%PSrW64Rye3)Z5HvVW+Ja+RSZSD%#cP#fSw`-svfqAB&>RRr!}nbRLDE1xszI z>8RM$*2=pp( zil?R$#6IE^{vbDM%8?9--lArR14%as%h<7zW-zl7`tZ*$3VM4N5!p~MZ8LKE*v&mG zHQ5lvOE9ha0Fcl#(iVe$;}QXyHdSmQd_A#R;VBDE+l_7*TmM$RXVr=ZQr~*AmP#f; zSF#+-Vqy-R-vxaVG~5FL@6Y?(VsNXfl&;OIIkmEPs+62<`3AWMUByEJqu+h4Y#s0S z=#mLtVhfW%)2ydf*8U52_}_b#-;?+-WX?ai&?Q6+at+!4$K-pL7daAyvpW55hwQ^!kShUa=((!m!ilq8T>!vwI-q@B^B%V0sUb;3t zUp=ToMQ>kL>osa|3tSDc48{u$OD0k(#7HoB~b$2yQBa79M}y7ej_TX6LEf;s~KL0~U^+)DaLhP9FYn z)5;;o7YtoiDqSL9np6fulh3WlAw^s;Gd3NA?t6~TEa|%lE7W2h=SOBp6zY|LodlgI zmXj%5j5=WI8$;sdaB04_efWqa4U$V;O%eT=b_pa+k7<9cd(^1}W;hGC-3W8EF=Pnw z^`$w}8q|*Qp^Vrt+aSl9)d#ZP9(ncW*5Qd3?IM=n18apX2@rXf zyrxcXDFa!Jb5t?@)!5&o-1b;819Aw(}(^V;j>`+>j0v+9WN;Ec^A&*b@j4>jw|Ef;A()oS-clxK8pIw zbAqSr$T^4dTX#)HKwgCniteS8%5&LQ?^bgxE?G&hVo1kqA_%XXbal$~tmAhso?{Ms zNpxhCgTet@+lD#}0PdVZSSI@e8e3TM{FNwIS{6C^Yli-|pH2 zM5yAEOg)+y{lM|Ky1-B$jK5n_>?PYku#wj>hncdr#FOY&KY~?VhuhMUH=2@fY*5U9 zmf&KT+cTd5u<`SsA+1eUSmR9JBZEU4lt;|h&!K5(N;ycFM97fhB&5f@eNcWeFlq@W zt)^VycV)B$I_+i3?d0k*irOE^c*_R0{*e6%xRlYk+voyKUQ*1sM4X!=K93i_iIMye ztS@@XTfA3OMg2ojIOB-$@@RQET7bZ))EhtIx=(XM|YN<`)ySz;T*he-r zy`s-V&@H#G2|+*OvU&J}k48b_f1yFq{N}N4f5*5U6SJz1d}v0t(ApAX%<4J9`b6YkNxpCQIc@9Et6in55O%pl$%mHPl3F@#lI%@jV%Yq(CJkq=fzzkb+IE z!J0=@OAgFfT3vMuVIQiBIue{yY2#z@*wgUc{nJ%lkyQrC|<~bvwvYQwM`y{>47!z$yBxkY#f_zMLFwC^E5lg_|1=7hND4)+)38u|dvU+>rVd&6J<)@lsLQ~wuL`x= z?h-@Eai%S{FzbxFE;Gj0vs56<-ME9L!0Bkl1_j+jMX?3Hl1x9K)BQw?Rt>s|)W@mS zEnIy7&0TC}UG>Z915IkZJ+CP5G9)~$ytVedLXzz$?q9#p%pRYcHRYa=I|Qd^=CxF= zpE%5JtGpkU=9~q(>bm;!sNE1;_n2+ys-AdN?sz_>C^s*Akzq4bj&(NKuH}YYi#dtu z>A_Oxosp&-Kx#dYz#cvpB{@3N$&59LrFp>)O!NuI9L*NK^&l%J{!Fy$yJ~esN(_jJ z6b$HBp3eI*64%V-70lRIeP&&_G=b1&+DMHJ4u^1?%rjN?96{zES6A!JLqM^@$Qduk z2sMY_-{5X99Y)}M zQ5Io>F?sTY5$%M+kpB{;+(-5Bd607y6Wr%5a{^nvT9su_EIQrf_Fa3P&%MNo4nF(2 z7$PvTXoAMd+HIqTN}1WS-DU+mJ~bSPvjivFK!gYX=nP>RCHo!x6Q#bk%ku?Y-7(Eg zw^Dz+iE&v^#&mGIUY-B68;AamW$x}h-1ba(uS*<9Grr4Ng%H%*l0i?%BiOz!XsCys z);Oy6c7&>M4uuvq);TGAq}f&c_hw+#D*$qF*hRr^Qo^t`(e>hSVXtz ziWr2Q$vS;x*CHx%kdH0_2fei542mxEf z)F-sm2q?3>nFbPj(1POFL7sq>f!W6cT#Y z9#p1aWEN)%x8X%phClD85I_{&jt?9D26U^r7}CKgjQE_OAcko?igtIoVpozxBx=BMfw{QKA1Dlz@euhd>znZNqg7+MeW%Qq+pC`qDTl4^l{twkNc3klDU_nlLgo+E{x>+WBs)l z6N>AVt>kh%fF=D)QvS!e zuhD|wDFF}uYG{}Nk!VXSMA3Iv%=BuP)(2+O_UTy57aYDd-_+3v<$mdZC$R*VcY_?} zD8WRrY*D)6G*8T?GdUUukVOHpsqe}fVF||3Zp&aHmBb{NGx#DWoD*qHnW^RE#K4(n zv@tDP@rAU|;ioJ^MbsvKr4i}UW(1Km&I{#E+Aq&@7pX{5Q3WLy8 zv@(EX(mkaVlg<`uD$)molCN7V|G2c#0|Sh&Pp~>PwcKf>8~FyXCN0!zy0Hkt?sspNZ}JkVt)??N32bue#M$cKjwWJTWRZ zRofrShwI_&%W~$7&|Cs!@+G|-6U(1J@ zE$Di%@K7^_Vn+zPKj$M$ZIH`Brt7jM#IJr2<2NPZ)r3 zHXQl-RHBz`h6k4|GtQcwpH~XrXH&GGL$+XOzwhrIma{Kod`9?Oi?(^LkB0I)bB6MSSp>o2^>U}OEg47lsyfFl=mQ%3kEDnoyGs2oWvRBty!Md%Th%5*s}iYj!YLaHc&5v%)NQEy7W}99^r*QA+FqFVZ0j z*N*ZTad@SR=C)F&JQ&ec84I%3-6bO2KirGvbN8bV_4vt`|B!lHU#3#IXw?M?9A$Mu zntTxS2HT5x{pk*P@Ob>Vz0L0Sderge{Pp=3O~tX*iJ*utN%r8Qd+R~uP&6tCE#=ZX zB6qAtt})wFUKDcbL8s(kcj{GP=w+7*y6o;nsb%XfMRI}{xUw&i#;&C*+hk1Er21E$ zgs-Me%G-7kjR;*E#gVkC990}ILbMupeEw(hRv6x*bHx4N5lt?~Way8X zhSAIsmzBk*69T7Wd(hRH-CvZDMW`laVh6-jd~&GG>ba0lM<+u<_6heIRffpe z;J^NEo?;XeTq1Py{`|@L@_GJUm`tbZm7DkDZ>Q-v&im>9=<~(mHi~b?_vu&z+01mK z+>Rzn6)EoXWINe8iT%&OtX;h*-y>B8rR;-&DL5|(g~0QdpxFg^N>8-8l%ne}bm7DB zbm`GHZ~92o&$_S+4orl+{p}5xnQ+tJn(Mvxw%gMMh7LcSHs#2z1%nRxd2`SnKa9!z zx8m%g@0;ppkfjbixU^P)?6+0J29vtOGcdq*fuYEMG)2Xy-v)6Q2#7@9wvCNv{wSsTS*M~txToldrU8I5HG|jcXYeKw>h6M3Zd2rdaV9$ZU zC-mZc87K4-4k)U<#MtA#gPPKa zv{~Mcz5U{h$aW6RQiS_tUduJ}75N_xo-QAjvb8)yv<@~38?cykhZ2Cd$X1Ppa&~O^ zAgz z931u!Jy{MnC;l0uU)T#3I%OwP7qS~<5+TWtbobZ-IE)Q5*6)cv2S288`qoX7fHpa z%xEU+Fr4LahNgj2%iD@blTeK!OzE$+vK=g&Ft`~eVhzibTyf5$-53=D7X#vNU~!Dh zHB9=%w+N|Btk-5W9*{3wFJjUXqyL0bZgjTQ)Yp-@7ZS4K|IRdvjgP|6oGpbI2xxqx zR$PV`?ZzE?d^}XCSS6;xj*Dde(U`O-sRps8wwEHHvm`HU(#EY(if!o>rm4keL$K;V zP7&`badfa}FY_tcGz05P9~L=op;SR6`syHho8nQQQ&jpnWIAOIrV=-6`YgzdX4PRM zMKMunZYaKF9QJ{V>9Azh#Tm)McGYE!rY#Nf?8~qSU$uAUzA4S}FTiL?6_C3NjDdO) zJWDX&QEM3I9S6IrV{0Yy55U+oeDF8AAR+Z(6u4$M-KwoTazIPrLv-Hc*C;Q0;GJNP zq`d0BF5J&Bt0yvTJ3jjg|Hqv_rEz+R!%+ve#izY8@q(G)%q!-^Yxcco^bc6;Ry!g^ z;TGJ1(pZn3?@9)tL8AX9YV67b94xiEG&kTfvl!uDfc)6hb zec}tbHi7}m@4!Mq?l@@7fH)~hxDOAq$R&h`=~5vh5fO8b3omwG4pucsvikJUyLCzB zMOqd-6dg@sP&(#rSNF|9Cz0o1bCK6bCATkQDRA|UE~@7Zxkw z_;GH2bj!iOx?w-GtlRgVv+>08e`v;QH?>)E-JkKBk?e1_Y^Q3~YKm5vlryuj1&pLP8_C_~_7$$9Gdk-FPAt!j&+ zr8>y1+N}?_Nic?W`TTOfrJv1Hp(~HAAo{3D0lgggzBd{CxpZSNN$I!=fX=`yfK?I` zc&2Ox7b3{(%f{r4(yk{u7ZoiNnBUlOwy-mRe5&G%Iy1=Y@#-#6RIs#$G$C9=tp{G# z<6opvD?JJ+fmT)Ur{21)hj2;`%t?O{5!b&+BU!$*21{Muq(9;#s+>bPkkO_k)g{de zXGM+~*f-LM^S?-=7;_!sJYB-Dh3zBT!O7TyE<4XuvWu1L6DW?W(oB^B!o|t9Pfe$4 z{l!tH9c;!*mxsEP+O6>>{ZT4ywyDtYmj}G}$HZ(@LYijmT>Iwp| z!$?~bg?3tAR<<+*V6$wmc+&kJs`2QXY79-_5DtnOn-&-1>Rr9(h{{@M&&b31?Q}&t zDt{V+qOjF*MgV*O>LqH69cYomfkTCs*X8()PG3- zCmmWEh#N0OC|<@A)Hq4tf{0A|^82FumiQh3Ij}N1!mCcw~OgHq;XZ#4hAC zc-^lmz?>ule)x?d#b^t!Yp0|VjV;!t~dm7wyq!sbgJ9?30WN`eLo?HGkehbTV*sv(C+ z2OBGtF<_J9FL@yQ!a)u(UY2~~G+vt?|4T1ih(Z7vs#m;nXOi4FPWilvsI>#7_#SF2 zf>6xXS`z_ZdApKH$-K7{A>Vg-svRv14D846g_mgF4V{HuvUsa|T`puN-pl_mjU!Gp ze%Gl$oRk?~(JBdfnskPtxK`d9rIlKuj3Kw~FGptt+ZkVvi|oEb`>YyojW3|NdftH$b`{*B<8HE$hv9wekiFO;otS}d>PN;9K3Kk!sGQB_=4&-*(_*7%Xe4M> zbpWc2e*`f89uU88HjtyPT~T%_X-qW6YO4_0f9F+TNwL1K zo#GZD{9b&yoE}lQGr9A9$4W@~f|R5?je1h_M8GkZS;@YBpj)aj2uf*8?TRuR*W=B3HT}(v0%j+`ZB$EFwh;>1;0! z1Y7(QQY}VLr2Qj*c!_6k#lz(w%pJ*{!nqcA`;pG*r#b2(LlPwVqI)%L_#Wi#iQ$j%(C+h z)=JG4wA?iALNf!yH0yV6jOQcqmE@^oXSbK#|3ZyFKN+VAu61&~#{Ua7_Os>x12wWZ zkBkxwjVAqBp_gSzyN8G%YerImx8`GAMOrXd9@9w5PcSB8idBiTIPHsOB?!ch;^P%c zBOsnch&>7xyB92YA)0$fG{fI2`k&!1X83<^-Eat{MMr+mei*xiuznk*+x^=`^E!n5 zgEcOK%iLLV)NY#?jxFc{k!)6KBtETsLEL5tw30XpgYEBku9R5 zzMAtW{K2<8L3imbxX4hR_GOH*gkmM%_-Kjw{=e}3 zK8%BtKc&KSzDAvg;>+`{|C)D7rkmsYuk7gs@7L#BJi*aT^me9~-Rtb<&D;EZeEfB{ z*T>@HVR`rceDrpBQ%7(1uPl#g?T?>GBd4br-EcDJ_TfPvT@W2*u@h-zrD#^%yBokQ_NT9yHd=dm>^TGa5RzB?nJ^X z)R7f`4^sKI$;{f{lS{?QDlsFjCVOaJw>i7@;=2g^(Nq~7-PcqGVlMt={z6CB5Vy?V1`4zY;j|q$0;j~jd0Ll>-nxOEy;A9` zQ;RU!NeZM3k__lR1k+WB$0;@0A^3ktS)CdjJSKm{mbo3IA_T9 zleF3>5T!{ZJ&KW>Q&3X@7>5bWr2E3#Qb_^GtD;7s!#k^JxSz)!SC1?ku)FW_gNAdm zSU4j4m~-6y4aL>hfi&5sn*OtzN{1YrYQO0)7@nG3$l$2J)6=Am5}w=r z%hqaGZ4NK&T77n!>{>TQ{>V~>K0adjgS``#SDhtK2Lmp6sU@oeiRqF5PLP3OjzU{f zy#$FGC1A|}(p@2yHLcq9*rJk%lpxsM|3GSFNG$5rB8EYIJR)ZdX_XrXd@g^o2(O;( zMROIdvq2}4Q7o$xUYnSU&_Z%-? z)#B+wex4kIv(zj#0rOA^bF>jO2{{0peJZ1-JIk}_v`u6gPQ1XA&C#{vhlr!h>-I#Yj&A8ESiZ?dCDL7e)V&WY;BpP|VAu0;%?P;>J4;6QlP zC{>6!8*Vc5R93Hp(LBK4<<&^9t1b|YOSb6;u)z!Bh^NR}S;2>~lO|V4f)|8&xZg5E z-cfPRI`DvP_-Wfj4#;L(Y1x?dik{>27!lQp^f`zGkd{p@c{y;M^8VtyNsmmlof&HM1-2h2|ps#NbN#jWD`#TP0m*-AlPK}di# zpXCM9n2_wz&S0pc%Fo|IW>%Gs7`3v9(|yaHw^q4EBNpat@&9n)A(8F1Rx9{1>NLsx z5tJ49)BFcNbek?1J*pftrz|s)5k(5Bxti2Cz6%9RkR7X&9QFW3Be{$1SXx8ciVh0p zZ1!B*8szn+TDs_Mi!qH{BYVwWTPcNb5K3E9AJvb3ops`Y-!M;lO`>tW z4&lod>@6C^-IC<2;Th+^-35hjfD*pKL|2U^t_YRd$!rN0@m%*i+{U$m{2@A@S`0`I&{%UckmTJc9%*E#SBGV>W^q93|HMIQ0-?J9rl^8&Ye zrfyE~rd_G@BwU>#f48BftS@n9M20MTS>^a+nLpE4f6$HPaT{tM!Ze}rx`&jd8JYu0%{Ycm=H7ev!7g@`XbOq*Xu!BFDv5Mb-p7;f=+sp2?83Pr`dsK=WWvfM%~9h2Gu zJeUE)q3C)xoj^9kc|vhfB(Y_L-j#5(`@s*D_{(WMb<^ZBHA z!7*CT5-(O?s(SYK<9SXZ47)xvkcw&6q_-H$2KD^r6&l}+BHF)8#&lE5R(qFGYG@djC=%D&t~M?b8TTRDW4OSmZF?ZTE=US1{$GZJt1_DC$RJA}&^Sc_7BUS* ztTLF9yCoISbhMAgb4K1yP;F-uGCVmdD|bCb@FQ3+6fqDOnHG}7np`!e8IX+q5zs1^ zWwA@j!uDO7%s8AKx&?UvIsl5wfaR@UC5KQ*l%Esrt}0S8sB@5I5PQKvIRN@LKp>2+ zR(oGy?pDhOhxR*9{9IlVnN`DoJq^kB<7P+DbfpMd` zvUPaD0;B)iqU%WhGv?lxrQ~Gv^4y!umA#w!-sso=*YI7)F-sHfXYIYIloX`Wgp%JS z(J$?>dXS_McgwkVA+-1#tfFBprg9j^|E?OC-0Ibkb7PI2IWpx{Z+V?E8fo4)A8Pu& z;e<&9aCV~YM>WMt<4fogVv8>*bw?y_NEZl=@0!B4&BpNViZUZ zGCsGH|9%gUcfg%%vya%zO0npyP_4x|z5He>lFZ*{#+poB4u8p@`rCRP#9HqYHWk32 z{_O7#h?=1N{rcF(C(YxJTy3;y$+$GB2v(^iSm#&ICrdGfIR4ExPFIu=PlP3^)s65Y zS7QtNC1SQg?G%eoCC)}IVC6=VdD-4LZSS58lZeO2?ONW*eX(d0jnW@XX*J!JE6pUf zLz;A|KFd7$VPdxAZ7Jb`L4^>nR1ST+S?JJbJ|q7SY`pEc^4tLw!m3t`dggu=b@Mc^1EXMH+K8yE4l3c5XH{tId1Q1rsoWRo+4jiR(c1QDT2hb_Jm)u!Sip3El(`0s zfXL4NsW0Kwh$9R3p@G!n>X%?fokWnR#XhoGfNqcaG0O;Jd8TaGa9SWH_OLHm=Ql%1 zqWiUb>ir3!X36S|7g!QFB*NBUo36@OJ7)q~AaYN{3%Pa0n9zY>(^EffjqW+SD?VkN z?Q+aUb71~U_Ru>bRdn$k2sIIGnoV5He4ISCv7>*^83Yr3y0F4<5#1E$XC->36%Xbrz^XJz)! zkN)hNG(@#{-k;xaqhk;#lxdl93K<=ArIB!CMPz_Kfxt!QZJYSNaO3N1cf$sU3>wa0 z*df*t4~O(6=68%g*E+_qPNUey=F^@gyvdMZmF~9{%ba_^x*Bv<4&g#x%qraIBtg3F zD9+3kELo(oeMo>p#8eH2nA}|1o_-+G4WP6C6#S9fC-)Ywt^);HreHM>$u=Yrp`zS< z)Y={FYe@E7{IEqVIez!MY`4fY(#A}U8R_g_90a7(N?DF|3vnEhQdJTrGPH6um9&KJ zU=%MoS#6P|)zpit?tj?EqyJ?ar(9&gwSSakr8yNd7+GukNrt1DKm;^2jJz5m^Bl@| zUoS0m&%d%?$?q%p=6n4uheb(oiQk1!FMZ&&{4LfUSsCQBIj!u%DF2+1lP{O;3nUel zO~5wAEqoYQkez``RD#X^@4eYaxdq3ueEwHUic$b$f9m@GZT?#8koZc7TcK)T& znAZS@((cG{WaTc4J%C;oLAMf2X*p~}B}0L0Ed&Is0|Wg3gEk&~ym0@EHZrO$R&*<| z6>jSUKGzQXKw-8YaDsdF@F8CVoT?>Q&Ckg~)5AXz(WnpF5cvHn7?F+2|MVkH7?t-J z6|Hrnv8dzj$OIK-lzDRaE~D_vkeOGR-n-v93fl;a#YvP%pEbVHq>03q5B{^ibTaoI z?`PwVYh*U+0zYodr2N|{Sn?bLFtpCu)2z!Zjxvn7g|BjgK~e8x8g%Ja<6w=Y>(x}9 zu~ILK`PNsh@AIeJImVaX=aYd-AM8(F)V8^pUJgkZs0o(L>vgb|gJI}KDlx}PTdL~9 zr5A8QY|C7*@^l~vhA!vCqH9Au#mOs7; z8+4{!JH!-!gj;2`!2H5}S2huw84k`QAB;tmiB*O!p|1E55ZX!v+!1ms*Wo$H*L=Yd zS?n9q-2n6R>PhX-Mk1f3;CaQsBibX2?EQ{*&Pl;au3k}#hnBNfTVq%)tq@+GqUW1{ z=@|h|BL)fj?^?&v5Ml`6nPGU--CM*3QwfkxDwbkFFY_ct-%=3SpB?2yLW3gyhmkhw z6Xs=0i2l^QBwUzSbJ6;R%?TLl#-}iWzemN%97Lglv@wZU!zih8FHnw#`!jyG*P!?c zXOM$uX#yJb#+zF7C(l2bgyKy5Yr%6NL5Lij2BCN6c_Bz#p{NqUS+>M*3jR9*dlXuDyaGYQ+eTytsKf@$>p(EWDa2+;=z#UB04c|A+li&vS4|rajY)%O(KuK){!ZRK`DHqFn3Yu*rddQfmiP*%k7O0$ctIZ79gzSE~h*I6qE_pLv z`IoG+#_YnAriCLaMx%b@T|}{<2khlXB!jyOGeL@H%CGsW@_r0=iQ)SaHNEo0>SldZ zVRZ!?2vP-U5?MNGGcZhE?B9BRRaOknb0d@YAGeu(&fXQUjPg9DQm3U zM?ZEzC41E;9>*LzA-L({p$=U+yRMPndyec+nF@7yvwF^;gkPzlIOX)Z~g@Xjc^xC8xG z8=Ak}>eDvxeImjvY!nz;Ebq1M#YmV9WS)LiXzy6LflHyv7I}uF9Y?QZ3!$_JnI&edP30n%%Ik#v%F~h?js}N>%k;XK zDukf>9F&#oW;Nks$4u(;MTW>o2PBvb^U^(vIZ;Wq?UiXze>@|u0soaBZNs8h;gXFJ zyT;b!PfmxDh#47`fT@YG-IqX(T#$Gu&)TRRBwg)2!DoOjQyeRpyeFM!KrBPm39Uj( zT-qt})J{^5vf?L|tNvvuoL>JvuAWpqAipFSyYvC$j1|adOiy3z?lNLrzTKRu0EhX| z!}!Cn^PKac*4BAd_HVAmZDxfHYHb!zK;IqvlQg2Nn~}q)gFQ#)Y{cf+A$q^!CQ2j`sRZF1Zy^)))O^ZMr%`|6|SW9 z13}ki?%h^&Gx3l*Ry-69m zS_vDp8&5Pn%gqw%9o3hiq~4xR-&gBj=J`L!DJ;6w5jb7olgj-M&$cJ+AFH?MB4?s1 zX(Gp!mUfHz?UYfLHeb}?!Cce$u*^!rjpX@YE+(@lZ=z$~Kw4I@*qj*pDIIe~IShG@F|t@7E_B=>0{zyuC+9E1%=(}z~5 zJ63LMIq0_@q)?7z_yo|wvISN0HyIXi!fmZcbNz1WsD1YIxw0$gV9=+2pJ#!7s@4aE z?n2tvJ4}z7c&`9J9}W#qLQEeKw)^v!P~%#N{^E6zNU8-RAGQ(?f7fpFjF362M zT=QFcT`-rrBIm{KU|1A=tbK3!O!4k`YvKH``|%(?8t%8=gZQ=`7vAJM^W3CNT8txn zh1o7=*l$`1uJ6zZ^Zt0F$C1)sI$`Zd+*UES%Oyw#ofvOjDKP3$^g6sSu0NpBR)p*M!VM<{H`Ya2Z(ZiU|>d8i2e= zZ;XZ)CIC%0x?DcoFW?mB_(aQ4l8>bhRKz(E+HFLRykPUrQJ`uXxzKocRsp|&5YgYs z!h{`z^D`?EF)8)OxDMw4{;tA@R8*x(&0GWkfIid`+`b%-I81x8d`>4Gw-k}l?aGNB zh&_RGCjH36h?mjy7EV4%LMVQ$AdH91l(3Bc1n#egD4dS*4&=NA>?Qfs3SqeuVSDAR{$-06+P!S@BG3FN!glk}$qrGR)BzakHuJk~ zU^{c=zhq|E+oah(Wh&eh@2~USkly4*$!#{4=QA;j_3;V=En8 zruPQoFU$a$Kzz_fQ%;_nsA<14H+jS-rCO(7PO2O|`1x zk(T)j0ow2&LZOHF^RU1BFkI5I(tB<(MTpR|UQ+5s8*x0OvLamvJRBX?4B>YtOu2NmE_W zqhH0t+sFvqHTVT?W%s4hxqryA#F2wNnWV}rUv_k@W}kkyHAaOlNvr!0JGjDgAm3|N z-N~RrJ0jH_UAqPECmN0DSziKB*Ps-dYr>AZ^6=!T^|I}cJLslJkD%XFOBF6M=sdFX z()AxGy;n7iF_QKdDh@TcTXL zG7MYcs~Wv8vF<^a%JY=znT;q6AKhH_NKc#f9t(QPo~A@llXNfL49;k)MmT(C4g+;i zx)c$`r(9^o2msg&eW6*|Rd6WK;u5<{K7-^neb89AsXF2LkTsf`?BJdC8HI+bJr@NA zcy0^iEi!nLVk_RRIce+b!gQr-I_f53W`47OBSPKZ$h~D^YnN0AtED$P5 zB#UDBpt@xFA!S{2*kTER0A4vBIB0KbQw1%m9#KPW3hU4ysh)t|M{K14hOzp#b_eP2 z(eE!aAXGJZZC!0_JS*IKB}8L0plLjfMeM@wJXg{=N|vwNg~ZJN2be%-zwF55+b|gU zg=6pA(Bb_!*uVRTb2j;!uDNQ~@}=$T^QaM6Ci((WmyWsOo-uizytg#Dp0Y6I#uxzTGp z4JIHJ_^}Hk?Hx>?3Rm^GrXnAV;MHS$W-f)tJD&p+y&n^eo4kwR>OXe$s{nx!fGc-& zXca)?_m;jKGS8(HeNHm=)pDpt!rp`i>z9AQxwoS% zZD;P9`}OAz?C6)8d&D-YSeD7Mx~%1Lu>8i(^3YZSFPXFu%W`+hn=7=8jG9xxY_um8 z7?s2BM;l~Di?viua6fkTWc#(QF&d%ztMI!}stXRVrNOhNv<9@?=!#{bDte8rwct79 zy$Hb6l({Qa=EH3y6mRSrwNh9V6M5LzP|;?6X8dJX0tp!1Ze_JiV%)%h*{ZG9jB@mm3Sq31f&YSk_TyEDUv zK$4XA8gz1D=D=P=(leHWs+h;xm|3#onYi7z=>%SA4 z8&_6HUSo^3lsDwW=9R5@vu+pjOqO1X*-Y`3dSY;Nre__hhtEafl8Sq6+U&$KH*?rd zxO6#Lgi6-icl(P5as@|qFFASl7((?;qDNtCNBND8?EC{u+};(`Ht)4CqpNAjD{(b{ z>)!Btx$tGLxn{6%9YJHN^Qjzbn8W}*_C>6IGZm;VjPWP|$eKuWPT&P2YY7EIv{tTl z6e$4R;3i{T9@u+BD!t{o>i(hdIa{K5SoN0}^TQ}q!FDQ3ejo@!aX6a3FK?xjuHYyKsy}XrZ)~;|sv>tQ z+$YBQfF=+N@CBJy^x<0$KIj_?EOpdt)bkHP+0vemC~TDpdyj@p_9;ebYbcJj-|nI1=^?e#l0fPtOlLHiM! zqFSK%H7giZ5D@@9zWqwVnJgJ;g<$%A(t0x|FLx(D=07z#(UR1xl+cQLvo&!pY^)LX zS_=l-j1x2nHX3b=)8EBc=2`47c4Z3bN>_f>sO-V=grwgZ!1Pt`^bY{U1%beHtmJ7U z^PofIH7l!Pux|j4i4_wJQa&;L5}*9W244;DW?Zr_S?-8Q$;AB1cBjBxc2bVo=#*{OE$kT~f=tBo=ttMie(a%M7sLcvln!Tr?J8 z0ta9%A;yo*6|uM4#lM0FjQ?ahl%s^MLasb8I%FVnYp5k0t3#4&uVheb+iT-90hs1y zxXImFGrC_B21S4cYwj3BCU<4`DRfz!$N*}yO%zaV3Hb;(dsDtj6QG_QCFb6$WWICd z1TXwM*F~chk(qJ@)#t&jFugu-`u+Ii$_edRP$*)Hb5XiU%+5aiu-wjd)xjR3MhO<= z=1+<|n}7D~46YFNRk_9LhHA_b24R3&X9O!cLU{I{XM{Jq9eU6Z!33*$wzae||AXJ9 zXI~oawtVI|>*Y*L`)OHB1!X$u|3kJR_Kf42>*R3{i`ToTj;d3^(Kf$A6GYvGpfK{)s zkfm!h2P6!p?`s@sP=EZhUb24gFS9=z`4oQo(HJRz-1;rDvj9+-gKG`^qt+8Emd$bd z)Q={y3zX+Mw!V(VvXagg0~L1~dr(fd)|!HV)E8^*6|zCVA)67D6Vv;20+DYYXjv6n zH;|GPQmjtryhs`;kQLD#DW?rMZu65H0VLhF^c zP5q`BywMnBY9M3r;|N%)#ad&wb#`;;M)*&xW@hreJ5rg_3^>?=ml(l%!ajnYVLX^! z(Q()VE%>O0iROLB+v6SD!G_9f=X}zrY__)*h{FAijzEM{ghor2-WWclNt?Ap;4+*) zDta^~rF3wK=HQex)xI^y3@GD9rY5gt9)EOO6!u>2GN>`fSAi~x4@997Qo1II z{np-Vdb_`jS-GvWlH_l2LNoZ>?Af^DV@E=z0vw6;3jBvdRSWFU6bMDZsb|x@*}1NL ziPl(P6PCufCNR&*?|LGN5mN=N)LIK3SfubonP1G!A4*8px3EUS9vnlC%$L9n|7h*rA7WK=Qe zHSd2h0VvMNmNFsdVuM@w(nAwZuS`d>(FE#Dt~T=|;Y zs<#W)^@y*T{tnJQ#!Kz^60Xn2$R5p_*ZHiX5S6v5m^$-ko(R%aWlnm261^o5x4g#* z!-iSIsa=W++$VDTb9qf6``us-OCIU0u{~U;jY?K+VN;e}X^&lm zL8&x4tEM98qe$Fqg2J{piH>}c69J`YYPJxTz)KL3@DeRmGtwo9==}wyYnWL8=9pxKAOP={clOLd! zf>LNpLys-QL$xBqa#p-?eUCaOpK|oB)jTy-H24x@M^MQ!eN_!&q;Sb*ZM*XH!=p^0 zea+|=G`qQ@b*>NY0mrM=0l)n{@I!JEj$q z@1Vz>x36fMf*^^Mh2P08R2nO@$fa%cdbTBgCPUQ}P4AgUhR!s)-Z3p1t6@@;0M|93 z9auLuNrM{n*1nTa2@uCgUdyU77TWT3d)>C@FqE~jbvzRf%=BJ`+F=;ii2P%FnrTv^ z7kPH_SJu!|@~zs6zI5)bG=(sx2HAF*sOKDXkAv<(4!TEw9CQ!z>(xC1{o%GpU+?gn zDY+0eKLRJ#@vFDo5wkCJXM&b0NTgqVsHo7A=$DiiW4(0y!xHn(SY>+h`ks(U*3jXm zcv#+`W+p(RSyQ1I=Pj3`;UE4m@k(uj6jC+DFN5tz5nM(qnrXQiOO_|$yP>nHp-pR9 zq>U5@*U1B#*4>FeG?xtZ``aE<3g+&-8xG^^kJO;P;kS~hEBQ2ou=-=KkgV-7xxZlI zVJ5j+c4G-F%{-W*Tmueh>1YcyC}w*7Ib4m zSH(n#pFGW&@UR-~#ri;YsbZvjcSs%{S}Y z2QR0@xY?0zZNm}j+_U>^q&>{`n5daeU2nAW&-S>FGB^1Ir*;ZTR^EF3gd&}T5`jkg z3k`M>N(7zOZ^(5PO4dS>`wt~ToZ1F(dpwp#aX;I%F*Uv@s8ZpA8g^`D#%{eoP%R;0 zcdk4rU5>1+LHE!$)J%USB`$fwl}6aFWj=KWyBA$Wx?U3cZ7505AAEG@Tv@j-dBN01 zH4uo90fiZ;g*0RSB9ay|S;?tzNkixvlMAdqujr5Q1XQXn8Y#d*QA zl!S;0t4_M@amGD^(-{48VyV2*2a*##x3t*H_b*&UlF{tlexB|i*tmj7EB+pnc2g@r zoL^p;H{9(5u7ST}IZ@e~l@uvi@Xk0j3Ug_obcTy;yJEElX&rBw6t}Eyz{j)_{HLIo z31{H)xIoQrzzPf@^}xii-(E>KHmR}|NwBR#F+f{ays=pYnJmjz@MiM_;`jNY)ymnE zoZYhGiQ=mnt+O?6Sk|;PdqOKdg9Qpu3+H8?;za7+N$12un>TXkhVoQ>;P}oyRnqnX|YiiDJ8KL!pH#LP?CU~x3vyCZ!7@OLl zc^s;uXsBHwa2si7#2Rc|7?(?2T;S9?ARbDDCC)^dzevz$e@5(jje4pfvo~y`Jln4^ zI73ccr)<2%8OjhPB!QOi6jwAy4HQk_c>I}6Cv<$EcDPcoWMRH<&;bBU!|Ae`wr7%oPUwD+crnyKHk`WRT5t1D}`#O0hBtAbz((|Jv zJWot^PMK$VqVrf9bCUgFC&@XO!W`S%fduDh`f^kY8%l0YPF;>bzusbl50|z)F=ZJN zl4D!(80pFrQ1r$F4*yMR_*?IVREt(~}32k0TI6smYPV;|S!TwB%UQ zaRg+j`av+^IJ&J{>Bz~+#xV@&QjsSm8pli~YHE`4eMRvp3C0I0`5+}9q~w1yDLFAk z_mR?bA1O6=Vp?u0=}At>?GkQNB(1b`+MrKSk?5@+5?XNx^VoV(q|{7&f28d1h{EwvtB}M0?c^I?07P4 z0{ESD*-!Uor&cIWN`BoV@iiXUJ3Z+&oo`Q1cAc8&>b4;PZQ@C;saXrjX-renR=sr8 z1jr8evxRVSpWrl+V*+eTs=g-uFNot)D&H7zwYCAF7kn!MoAbkyAx z(`1+rlZrZdW2dE{Ca0fH%+V&X)Kf3#DjhAy(@wX)l?-zv<#afWG#Tnpy6IpFX)?rn zrJ7DmGuY6zE0LP>WqEWR1^d1rgg{rg2s)2wM}VZdTYbh@9WLnGJ3@ZTwLnihqGhW_u; z9B2DTMMCfrZfe0wj`ZSQjI9-}3crJZ}S%0dL8}+}q>at28(klYdZq&b8+0Zj%tAQz^ z_Y>Qw?CeVv_o2J$9Jp}pA5N=`9egrO8xX>pvmw~nZP|PQ%%rfSm|c|?S&OC_oYn5$ zdOlp(*Z4HSm(23B5&Q&^+&p7K9;3c+4F4NCap(wH)pDh^5ZHJVMTwXdfor*`T_fs5 zv>>jHxWiP3R?#g*SYEesL1(*WF|d2dayTnYzp#JNv+hK(#CwlY^u^L&>#nfP zRZ_QwnkoJh1A7IMjBajTFtBEe$M4`#==#m_&_+VNvg=wCdOfARH>VGxw?nCgQr*62Y0v<(?VPpHVLB&(eGuH|pTz!^ zOewmWzG>z?yHo47q+(VxnnN)P^Vg((<06L&1!A>zlk~ZGdzrFb6I-%S6)K`MvT}S4 zjnG(P;H=kkKbrcEgX-t&=8TjyTXSLfh-#?7Ei|qx><`Z4VeDoDKm>ycLVCZ&$z!#% zov8&+ITQnub)(2pk02kJk|>NCTSLbkk^ql$5X&PT{K#YWsXf8M!&C7n%zmynRpRy0 zc!;gsZ>^Oy40@gjd%_l^I>lybA+0E|CK-E@JqDy7SlMpY<*c1txFWFNm4%}fUR=+aO&rM4e`MT0)K2|VeJLGDAhxw zi=`h82vrnheyn^5y9*r^(R-k;5g78+YX=X`sA*`n#&~}7B}mg6zSj-K%5${qW(z`H z&8vcuKReg&8Cxz{*8GLE${M@j`LQE#?$wx7U z6uluZ=Q(*5OnO9SjfJ9UQS^W)leg;~Y+?gYS~K!SUg@K03wA~>!GG2L25!?E`RW79 z+Gg|yL~%b5Vb;%U>LSW;eZ7dX4n=LO*!V@0WxiL)?@KD&A7lZcdUo9=> zV3zHJfk&QfK72xB~6}>raq$(Gb$YE=`cYV2PCZcN7NC4rL5U4tI0_&NvPH+yX9GPIw$`(t0kbF zU@O}2TNhnptyB$^>49AQr{n})8=q%cvYgX~6`NBV+kkNlV+dk3e=eH;_(KqhLPlVi zauVjeH_em19YcL$3l$724bsek_({BpUTmUQtTIM2U9Q1DHU3djvlZMiyghr~uml-t zNM&ebB@4OQTvaur`3osjQv(IqTVO(XL;*ku;WrTX7NAC^=#@8F%R9`8gl`6=ol544 z&{7)7XvJ@taI@Y=?tviht4NYWZ$aPqZ#d^&BgqnSx6SNfrgL&B^8j)>VGxPYRuI4D zH<@fjgWz-4u)5?TYy%W+xzIYr61NJ&2zgC1S=UTe5+i!tIp?yZd{nVYF$qt}#CV(> zjEBg+NU+yGPR7OLTnn2=5rsP~%Oc(SpOjhgI5`zlvMDCmi_$YF9xHcZLe@lj!>PUV zC8o5FNX(IVjO>W?yomJfMJX8(U8X|<#DrXktsIAxdoY>>v2S)ma$du9OLW5KC)c%z zd!(+d2N#(vjmT|E^=qt<0p0(GZDy$V;q%?8Vu8e-R?saxD0yQ|DY@*b{Z846 zQLwg1mA}e4fwKY;DwpE8!Ef42Y9Aei*=>}YiLrmo$vF{i0kL%G*8qVW%^3P-gef7R zD}BG3{sxZSlnB#FAc1ib-Md42Eh(4i!_^JDOS(PBukqon8VosG)eO=l@Zg{@)qaexi{$GbHX-wH(=u9loG3ikhhDc{J(TC{&07YBJ`MQ>aEq|#a> z^fm8l1G>_HkX8gL zev*QbtY}rk>hWW;Xw-QXpCJ!}9R`}@%1!p})+j_{O`(c>_T;lC&z@`97_ItLv9p1b z(cgYHCm%;4>XkerAK|~Bng4!HK9Y}wT#`%T|5yKqd?Yiy$!2Mx-F$Y|C*qk_di7OU zFzCglaU3`ReiBLxW-?$f)=U2Ef7^F8Sl$pR41{MVu!K``2R6Tw-k@Fa93n3DWKTYy zJsYp=E=3>AEtgPc*R1s9+3CEubiKsS&eF)TscYY@8fHz!20l4X4=gD-7n?h}i4p|M zQdj)eRsX7Lma*LBdEq_gwxbMwY@CAeW=<}e<6{LTQIj`^CDN^r#F$$3fdg(oH3su> z=5IwLJIgFV)9g6Nn$bp)ACCI;;)f&fH8@e*6szo#6G9C|?6s&^tq&0d z4`KS->`9e-`?IwVkRJfG30B}HsdsiH>?T6QT~h@K4d`r=!lN&9a*l|vz(=Il5tNbx z=RA65mL`nT{5y~Z?Q^7*H8WrgA-dGu1iYVG({kt+h`n=HR`BA?M%-Ex{(`OPEra$5 zn%a5y!fbf}O*OB1-vx@H2yU*a>L1fnb3wv|ZjJK|=K0+=eRPJFp4>DiKZszyQIMGr zFzwIIyj=**)I9&kBp%=K@-V}DZkTc+lg9rB<*^P;2eI>yC*5jK!DnrW#JHN^h=&&L zJfG#<2`Gv;EfA11XgQ*}qTZa~eHz%b%=UijnCY388)&PTEqFFg^prkWs~mlP@;RB2 zr>7dr1zsaKL|-(4db{D~%gtIV1^Pr(*Is2ycmR}iQD9mwr;)l0z0@SV7u}g$h)bFG z9dNxO&7ter6>lad_8(m!-Rb=3QF*eEIXhoMBd^V+EO?d{YjgBw=RJ={ujL)NW4P^r zdZX*V1aGK6i6{C8hg;Z(&9XWpwOW=F6Uh}E^V;hK&-aDy%mqbZ<{SU$592)XV(BwlpWOhD;b_|Hht24}!nOqj zYK;M2R3!#g&I)$R3U?Dc?A9PP3SH=RC@ux!(7-(!x7Qe`%Yv>(FGQ38B4+t!rtdF0P!j96LH@w#~OPVHjA-G9WM@%e1AkwK(F!Qpk55 z1j1;x#&BQ!z+c91j6Tn!MVsBQ#(FgB4K(&?8?vAU6`8&v+Yuju!kqANgb1_3>Ntd2 z+ZcS(iyMS)G$LamRgQWKJuj3z({#oH-Zj6$C-C3ndJL#1h7B^-xLj`Mg)!&8#p-FG z?EN-Hof9@+fqQogwT}ArL)KC?f|l%PTt$Rk)tHA@(ApVIU0ZK=L=Ih-ybp$Sgd_K6 ze@0q>JUYX#{$vUWcwY^OpS{^!G()zUeed&*MJmmFzN@J9Sr)`SQFBkn3nOTP&zDeO zSTZG!kDa~B^w-#mX43*tPZJ!4d}0M&(y*d1g*vPv4hm-@JB^zIH3CD1nzfBBNITUKvKC6xlw0VJL(#aE&X`I(nCMhbLBSe;d`j*NbF1a=$QBhL?M z0r1TBVM|p^)hC}ndG_Slj!HiY)K~Q{;eVYS-v0MuIbazHc-hUGdN(D}R3G#rda zq3o@wei zGacNXK+p9j*m`|r$=7dRzI{&4^W2btRN3790)W87ew2-o31K2)J6^5hfg7T#o zYWL~{(8ClNjBLVt(^|o_KJ2X#a=Kg?q3gmhxOfPOYa6X5UNyAQ_x=JN zrGkit$-0nOF)VuPB|@o3w1{Xj?>cl?{k@WdnoulAp5Ccf1yv2t{#wZFMz1|l4;p&2 zw^BjQzq=wYxw?th2Q=+edI`$Z=9p`lL+iAz(uZ^3vJaJ1VGD=dn|;e}x>}oeis5n> zdbyDKKPLC2WF{=tb)@J;f4lK{Ye-slWqkcMzBt(cOtaG)*^)boHaqCKGbh))dQM&m z)uIEo+4@WvrkR;(;NKah;nYkq1hKLSd*l^rD3N&LBle;B!_gTz`mj{`KcZQxqdB=K zT|XTzmaMK3TNcc`5QNE>q!nIU(MLdv;P;WUujL)dC6C6NyVuTJ??x7&a z#m0VJQ(zAXAqLL;=}FFRpQxNZJA)~ho`;bO<*$<}a`fzIPOf;#3tAVOGk@Lgxgf-) ztldPws`m7VoX8qxq*c6v*>=;0&}=a9^)%SCHpR+Z^t6Q7)y^d~9EtG`~EX`TK;n--)zvCNv8+tZ-cA&{m(e`;%{<&q>p z$349*-00s!%WRZ!fC7b#K8_)3@nr#-xA2N5q})TE$bjsxVr>WdxaPfNN%r6L3}4{y zq1^d%@4ln*ogiGpe;r+&F5qjs#^n0$h>r#muk zqI4OA`s%~{=a4J!yXUc9(Ob$3y5I$GHd;P7 zo%gzSD%gg5Q=`cukCS-(f;&rEC`L~7-=5rQGI@&aHKKCQn$yDA|=%I7SNI z$U41X%&~n#pYA(*7UZ?}TS_un6fBEc1>_Pp!hsx6-HhvB&2Rn$%9~Nsp5OsIdH3r4 zsA#jEVs2{IdJErLCl>iup*bJyV5SaH zEoBqdUTSI_TBZfZvMmbS>!xPx%(pZJ+hISB6ww(@dP|MS6j5~zAU-r3AU_XMPT@8o z*XZC{w+pae$SW{rWbV0ks-z~EM6t(sqcZ&OQFjfX3Y?e3=$xX_IU z3}NWTBu*18ma|`9RDD;|kzPLy&8U19Ra;rFrn!W~<{C~s%%wbZrg_Q5CqoV5GNu(- z_Ld*H$j5hm%cKd<_611uJL80LKITyDwUr*EuwLlC4|?!!ZEt_MQU5At`1M(pcl-b8 zIF9>9xv+tVJ(^L@dg3OT=3o!`Gq>=5v`u zkSX|n7WrLKktIFBQ~k5u~~<%9@o>SPoH9~ zod5N|{uhxop(JM+FSj2I0!9dbeD-Wk{_FhpHxT|GV5A*;BDx&D|e_XwN z(^VblzX@8S+sDF_XuqYwmb( zQ%BNChci0|_RPLulOB4Bo}D<0xt_rVgQ%C12Dp+G`g#`dTbnSQCX@xhH z*34Xh5ZWD_Ex&qa%l=W+UAYDdznno%L99eWH!LHv3~T>zyeWBv=Z$Hz@d>nU+MbbZ zhL2=yW;QtUu33VG+FjgT!q^D~AP?X#kHbK7nYBXekRqJvh}4PPJc$Q|$tsYJMx+9=$PE*NByFs^8*eN9jD!iKYPXCv!MvQlQ3P7(TJbdH>Fo+k_@*mDm#tYz;h$gXeY=cV zFuTDO(ZXEAu$T#}OGV`JtQVJebo(r#yW26TDXBr2%Ou-5+1`T7o~c|TOIL$0Ar-zG zodXuGHSX*qEH}+SO+dU_CZA%WB7$Q-bp*#gZp4WE;ma6F*Sm8co;gcw-+kB`)FjAls3BaUXi}MG~1vl0bS=MgrJhwfoRx znwQ3txa&$x*aY9c4f~A6A&j_hqt0HBNb^YoOQ)IKd8(T8(vv6q~J1W{VtQOD7f1mvD`;W8J zFHTOre>(fmzyJQ^hdKP?cc)*RezZUQ{`BhJvYr`Cgq5jlhPjn)u)Kq(c-QB89cg# zof^OL^F^mb0fEcxB~MIYv`_aF7aCSpvZnQhIoY(isVk}wC z+j2r74S3$)kvk|-Yl`36m?8HTz_JU?Ns3p1W#NPg1p6$_*@qUFlc@1L1qaPnhE&{-RV&7;PC+LidamjSvn9LEk68`Ko zZKO&gLC-YhWR}pTrbsB4NBU9>AkQm%SFIyZqmce0N`GJ$EmYXxO{=Ql8FV%QO%;yW zq0P0|2)|Vt$)zyQ1fiN6<0gpBWfq8|w)1mee~-xoS8gXeQxIg7TJ=)3plp~Gp!^$z zD3{>gcjBgU714Jtqu@pQZL|ff-66EX1fuO+pW)lnDpt={EzhUjn@>{6*;BNMb2S_4 zme%UgJ>KVQUP)*#8g6tsiw&VRfXk76>mj~&RvN?avQ1`6w(z7f@i+}c703XYxvsaJ zu1^+hiIFPf*G0nu#oFY-8T2|ewlg(}m3 zm9ZQXW4tb0bt}{vS)AI~z;VFPo31XsCJkUds+rzkC}2~|k|;qdwU*HDBcm0~coS$9 zR?`gn%Yd^ErguiNQxn(hA6q}Sr&-ssU5yKF)V-Y*RN37fglp7eMe>cH@tj=@s8d`T zw-3yNP;%*NE~BIAML~H9U&~biwp?o#o^e@9N1Q%aOvGNOTbvIP=0RfHlZh79) z0yzLqeiY=3s|y6nSL ztP0ws2XP#I=b6hrx2wL>ROB;SXtcY0{~{J5;BIO!2J5=(K4?4aY6)%99VLhWtX!}> z_gc(=4dqT?*HZn%<@*ldbDUZ~kkA{%yx|9Q1L4;{{dg(!tBPfF(}w3q)QAZaO&uw%bt!Y~ z;)PcQ=3KLX+OP@JOwmxmj5bU}Bb99$tdNaq5C*LqVNXuLOlX@RHc|rJISn@R*5h0d z_JJ!Xfr5JrM?*2n+zBZ9lNuAE&54N-17N+s6SDc8Lwy@Ph`p%^y_GyCEwu2^BtU?r zKC%VolouOPa@EiqHYZnF;P7J>@FWF+;`}Tpt!Q{S>`1@qz7N~r3n>>%qS{O|#j0jA zD-Okwe~6%(YC)AW;p_TKYln!`h|DI#CD?Hd4vv4M;%6#)J!@ znZP)71k0FGwBBGZMbmi?7qe``TM8myNkt35YlhuO+YC;Ml0_|Vm~c4>nj2h)gg|1$ z0q|sO=qki)NYf0k%i%6*4mk3)(*R;-40{@MsU>XQz_Bc}K;m3oKL}UM6y3|=yK1(O z7o&`aOmI+?tf4t==%kSB|Bt=zj;pc%|1Ybo2APqoLPbkOM0=;DNrbC2I!EW6>vTqo zvQk7S5h6uKk(n(cWQ9mZR#wQ!h=}xiTAoCGvT*yqNIRgosWMSz}rV;fMX8eV*wk2kRSrMRQN@q z!z{=G7$GL$V8XCKqenAwba55m5StLZXq5QlL_F0%lMf=2S<6}~mN7)ki-=49uq4hw zZ0UHeB)p(G5Q9PCpg_o|_D^gXh?OrvpjJ?ym%hOKBT!XXEn*Tkzi{~s3ZF%-5-kY#1dibjXhL1f9G<{m;cL*Y)r3J(hmVW7E$g6uG)-ykCrjOHS{ zn(!nc%v8`p-E%fAEuyuqPD1 zLMSK_GhP-5nKsdH$Q*};UgGO@A_7iBjs7`a~)QG!EZGeFEJL*=tbXjC7a7cEOXnnP337}4Xos9lOqMQ!IoeVQ0!#TOD{ zi^4$caft_&X0XC}P7tx+y%3NT77235TqKtt2Jz(T;K z2!N@C%_T;Z&x4pCk4{3YQ*^3`=Z7hPPQV@f#5NToIv~OgHmrz>%|SAW0A3^n(3!Ag z4k93?R6-g3_=Wq%L{>qwQGr#RKpL@{P-5!|wWFax_HZ)=9xvP#gTuiS6V${7UW_g* zTfyUk$Y&@yeR%msQW%o0i1-C^B{C|mA>MmH#??g+Wuf`obS`d#!qO*n$sCBy#_Y;W zJ$><>5mehKTnZTno-1g8zHzexC$Y1&jVhHHox%+Uk}(^#~JmM1sgfBN_z{5H|d^ zWWIK#0zMQH6hYyjjNdVe4YFX_*9oLEh_Zd`h!8QaAy_}+ejXXExq`)uEf*#>09f%9 zm?jor!{$&T=n$XSIAC$0d>+b8xjam+q|rkK(0F*r7vjR?kO}Ssj4N|_Adk-#PgW-( zj-lV^DiF;5pEzC7XjY_Q9rRXK&aR3N% z8UOB&|GWFc2hWpjvP005nfT-i5;L0b5V0zQ`1fQH$RQ@3$D`okVuGE4`1!~L3lxc7 z7*9aVa%g-QB}xERCSv?Uw2DZ&glN{L7Y{;0Vwr5TmNc@r4X`8z+#Dt36NJhBC-{j> zkE2PF#IkmqV2h(KVzrCF5DEhb=TkV*04(_7;j_f#NCfPQODAJNzL=4hh}tKs9D-PP z9iw337pVu*CcUUB5%Ka($WRboQG#I<6-m*k8ZjZ2s5KV8Y&{)_E6p;*djQSM9@xCM z)Cs~A0d)8TG{hk3h1M=0j1o=U(g9!*Y8aRzP8JQ#6a#>ffu!`JhvJv4ixa&F0epyF zt$}@@bAwdtCkCY;dZ9&Vu_-}v?BHR8h<6@ni>U&=@HuP8FbJkyEL$p!5-p|XW%CQI z`vI}IG&&mxI7Ie2wi3JA`c!g!Kp}pUwqbSpdYrMz;-H0Ba=LJls|)bj`>} zv4!?w6Ap32X7IN)Rp3FA5)D{9;l#p-BB45+Q&P z;U(i4g4m)y_> zqf!SGWW!u%HY{8q8z@!=MU~Fs8UnTem(B`hP(*3qb~};J5he?_2v&r``Sb{oK|vEg zK$ZX%2ckBUKZ$b-6b26#2?Q|~T49uEE&Zl^i7-ViSC*ErLYf#463B3fYgh~UjbMRC z01IhvDgw(U+Wtwssl8Tw%n)nO0J&VEWulr?W@tj81t<|hkAdQem>idhJNnLOj1+tb_`I{6PGow>ruJh#vu>0#3x>K}0Ch znXrV8WyrH29zbW27<@8{+JcZr>?uTcP8)`_O$%7~D!y{@;4Xo)kf`;brNkK|iUHoZ8b+p9B79mt~5E(LpT(`o(8g56oyEFE!1My zYMVhG42LuW#N`1@kVK=i1f@?{f--4RaAep}tIVH>vMnRzkPe19 zge^}YXb-yWg-}Eu(z5uFGWkv47osU(YycS=^bkgHagb*vFWS~YkN{Vvz?4d7Q7Ie_ zI=mqi>;;K*#Zi6@F%T3Q6bXH247;SYw;Oo@LA#jq)zq#59EYWcrYD+#b<_4B-X6?y|v?IhGfwZV6uqyqV0ex z0N{gDM4}Fn7)dI`!6HuuKVpCY@XQBbXCt4*<4O$8A_mri4u4>vC-EZsI>L8ao6Sgw z!yre}$g7A^b>IxgsO!WElnnd0c!D@L+U!5CC`-06Lk%;=!An zBU#qhMX2ckj&!u*0zw-pyUPrrvxMb4gcBgmb_MS%+&sah@X(xaB+VJ((Eu);$!G9D z76syS8PO7#(?2;0(hpY#B?{dL#12`(Ka}2T=JP*_b0~yt<8zVXZIY)_1mUo~M?~A82mhO5fM1KSg8-Sr zrm&=>YeOu+Nw`kY0crQxWA)kpeF!ccyi&Z_i6IijOoJF?ErO-#eYb3$YSu9QZR4RX1HN-GF6 z#&#B0Jhw{(C{iLx@z#mQ@QZ;-HU*57NL3n`B)0{$IkY#D8;kW+Vim~0$ddnUWXV4b z>qkZEF%c^VjXm4MqJiDSge(zDMeEj#RxB9Up2bd6yix)F0j#Kk1n$O(pyRRh0Ef?F zwLWQtL^F^Faw$A%<~VWrO!yAWJw*2i_7jRtNd`bEECVYo1Q=LhVjfG33KilA1_m!9 zEt&t~K|#p3;W6e=NK%Sh5nBCNi~Rjv9b_FQ_#IpjME)&4R0KS&NI6}4IA2r+Ln=55 z1_z_nzFtb*MWG~$&}8aB=Y|n0uior6@vY@-?+9Rb32H7a+X4nhCn1+ALGic|H_&t3eV?Bq{Xa zCiY)C5556$=?Fv($OAx>nUMGlP?FyWwf-6c4vyYFj`p^Gjt&-pGxi0#sPJqE_(4K* zu>^%jkf?ywixsp@A7#P-$P(gXAcZAC7U0UF^91N+l4U;<17cyJ*f3ShS{+K~>7$Y! z`VshNv9CxVN&&o4upU9vTQxKg(xz}|8{$fW09y#p4M&|%!u#lvB-K#Nf&_LN0OFun z2pEK*p`nf;5=p9KsDle)3_5mLN+gOSa0(hDTAo{c;TZye7oKw?Sz@D8MH6+z3Lgof zNm}@VG~R*&qJ)Sx7OV9gN{^th(1C0}|HPX^c#1_fC$0wiNWy9**ba0z%Fqg|f;-j* z62xSp#fE8usuRS@BMLZ2`}!cAvr3(M>D(19@=R@Y%QoS!_~T79RKaa5Q%-W|0;1L+ z{7NQ7Fsy<)7cT*d9ce~_Mj81y+B$eR8Zyc4VNnzonGMldk~2q};G^NM;A;oJAyTNF zOyPlaDKV?UapXa4hyjJRjIAZZKxm^?LJdFzc!b-p)<_1sZK~0r;I{C92zw@w<`Fzu zVlj~addGjWP}p=dr1>{ODCovQ;2(H2ks|9NFx+C&qGTPZRY~&C4RCvfNWm6sUCeA9 zT~R6cK5@xE&9Dn-Se4lutw! zYn3cwLZ@@FYE}$Jv=HY3vyOnFXyIQD<|$!w=n-@VB~+3jkVa>PiWK({Eg6D=(1;uI zJ>dTdvvXS|jO-6jFFypA3Go-VThW0VA`x)Yz`y`8De2CFWo9x%4+x}S--i&ODGq{y zPJ;v}I7r{5&nU80(Q^LS+eR=2SpGzhM=?5d3Q~|*=sj+ieBA~Pja%CVQlZF-G$c|9 z8|U*Nz>Q`y=&UedjcO_cuMjkIlFkal*Dr?xO3vnOdOEag1+<&{^JKCzBL-!7pSj>{ z0t@yKRpzy{klsm=*#G686Hx8j!E@Vl;UbTUaa$JP>TB=oD()9)WBfFM0BVT} za%+B()(%soH@`<#CDA~(EuTkopmUMhP{ak4W^an*V4y%ym^T8T!vigGp$ci(yV!aI zARit*9)`lvPRT&nM_)8EOXeP8@3o_UIE6payWbl=FXqRRVtEI7ZSZ4BriryoW z|J6Sbir>zY2HDa7zxb}`EIN-4@*s{(egm<$1SS+dmj^M?9fp`O=~A<8JrQG`E44X6 zVUbNl2SUc&l?7`hpp=+1@%U$bfJKSK+C<0S2PR-lT!!K<&oGD{d>PX2Zq6CiHa*|JN?k`Bh*)u>gnPY*T!Bk9=;z*R=06{TtB#aXG zV(apv*;u)7KYMQgh1eZC#u$<0OijiZOPu_FHt$4cOVU5;U2L~FBYSMISPU`TCq&Bf zMZ;@hUW#pUWbsL12xQ@@L0nGz8you{kB!CC+fc?tc;Sh@grs{nXL4w!2l{WxTT3SX zCc?ucQvE&r?YAiU^zhc2Y5*U0t^OuD$Za(gNZNSf8%{J-1;=3az|!JCz`@gZhP$nu zqdPKgXmpDNizJUmXSF%*k@&7{ZGTCfHWpE*9jl4Ejs8krzS5~_Wz6Mx7+REnHErG}o<8Up$ zDvGWz#{VR2D-qQ0*5J4BI2sTOhUKzBl7#jB`)bJxZ=rXP@+<9Po(KimqC*9*G)+Ek zWw@j%B+Z8sN9SZic(S!?Sie#zzWC+84t*S z5Xfu^0jB5$i3S@90j&`TPsws1;ac7(6Y~HG;H-*ANa62^*4hEU5QxviBN))%rIJPK zKOm)e&=HdQhHN+v%L2XXmCAE1CF8W2W_HXsg4jg}_IEfx-NXT^{Mg;<=h zm``}r06g|tY;7Tle1QdZdj*Cbj5sglgwtoc;MG=BA ziug(pOtwDJz&qi^rSSM{w7DqEG@r$waJc{-nI9&|38UZz&_D*!S@MPlPf!aI1zL$f zV_IPzCYl6Ew3s=7BuJu1V+)CsglNcwHX*i!JwP@W#m9iIhz=&f`t2k$`-+b~b~t9WTDK`M}#Bu}t|5C?#HG@|_A;x-0`D?_)XnT5rlCb;n1gQA2RKyAHU zWwa)UyxEF9LF9@5tVO{UwJ3;!(>e&d6(EcFLs+A4yYkemX-@D_DfCbgJ~l)rlm}sE zW#Qo~EZ|I-A|B&`Fq%K8kRkM?1f(~;nxlv#ryt;pfVZO77~-u)F9;6-CR?E3Z6J#U zp&;5^eH2$#2GBVGJFO6@QzUkVBjO>HNp@@-t}Y;QKFEqCDK^L$4SbZiBpQVY$}DHW zmlHfQ-k5k9$)WRj6tsdOg~Q|m5LH$fP(aM9s1-3v2Dm-+YBOji74J&BhSpmo$se^@ zA}TgRR^*$f{gPvc%xl71?P12KQq#nuOeuGLe*Ki9zN{CW_K6F{0KLnMg~p#1Qsr zHm6C*$0@T#O0p#eAQ6zSMX&!`mKYK720t~$tTM72Iz+Q@aMO%1Kbk=7Vbcq9<_L^3 z5J#*CqK=NCp^hxGBd9Nfscn27)nF_@VUZv*y4c}%b7X8JETju<0HPKxgiQ);J+ki@ zw12X6uuVrR9yR0CZh=`SCJQRF$bg-TUxKnxn7k~E>S55CbgaM<%uXp>8T|~pC;>wf zo3D=%Gh|Yj5GPt+KoI^>#)D1R8jPAAB9D{!91exWV?_VMlDS~~h$6{~Ug8rfs6LBY z$OJN&%<>~uP%WIRFEq!%cPXq0AOhq_jInR&YO`=nrbp1Zki?9imM)ML?IqLJ0MI(dI$vl-9tHWy~33jKxKwpxXB&=VJk{oK<{9=PV z9)-iQ0H*6s8#%{7&stY^se%_A3biFxK zS$t*~`oB54Qz?$Y1c~VBSr3)5p<;Rgoy9YNI0opHS^zu_;W!lZ!iT$k`&xMP3rlFp zrXT=_k^r;&e`w>jP5qOKoYGqR{uS*{c6ZDFiVH;s;%I2Dj5cNrb**LdGWH`GV%5+x8w9ET4OIIN2depEaDyVVg~Xr9(pCadYH0i!L83&X)DRap;idmK zN=^FpH%jeql-l1YHCbr>jZ*s?rS>;U?QfJCk?U`i+TSR(-w>sSDs3&qsuAoQRzp!3 zsP_L;oEir6Y)c|Rd=}3S3ZoDRKxtx2Xhs1k1K8BIK*W}SSRa~``?DczAfHT!)%Z57 zG5l500=z6Tg)I1i;1a{Q2@meAAz%w|C?q`(A1 zN)(&UK^D6&g#@w4Z82OmqahTT5O)}16APJ-l0mY2K?a>n=S2%5!Z28O5Zzz0O^hv9 zIOhP!W^*8rM5Ay;S}q;wPk3QvMg$4S41Oq`g(?LIWmrmNL<1a%2l5E7pypi^T~+ue z;g1lch>C1HPBcPA1Tn~X`Q@?3u>MQJb~}8=AO#_L5WpZFHvpeb zRMA$6eZs^Hph0{N*U&*WpAruOMj>yaCM8_I<^c=}$mIc}i~%N{#fL=~LIg!rmN8~B zY(wJ83UM{1RRx8OB2r;m3d(he8sd=kh9cHA3EaSrF4>m~iwFGyjzwI?Cn&KK7FY;A zC|#77N+_HUg+%j+l~cl=6|bW-3A@>>#A~bVZVtvMtnk{(OGIRqP!7bGSd>7lFUZrl zhKzd@NF)juIYS+UkmW4NK1zg+)G7L7MTlCeAB4}yzX4d2PcM|lA_)bP{i~OqSe39vfFHsE}8l23fe$n@lYr> z4tx-^K@KPweiFoFf?Pe+2?Ky6DW?!tzY;zdIUqwg3L>#D?OmKa3JYXO^qq=VI!7J{ zphy;u6@%jaimyt5fXT=XB!y8}WE9sO860vn3uI!&$pr}56mk>VQX*wh(==K{2d`^} zidF3$DLz+*qQ3CM()bS-HT`qw5hMx`Srn$(-cCeFEU(wB8~AjJ>)HP$2r?!ZD#LO_9v2uLkiCiCLb%lL0+|-u zZQ3*_(trmU@VOKNy2RKwLLCmHL?eNKgu9HrAg25AAjHUv+=qn?A3Fzst~9%mh*)hz z;gO6;6gJHWquzFA^qYr=39;xrh$90cJN^cG3X&iO1FPl+Q2~1jnOkYUoQ* zLt4Xem?&6001G0w?kM<+;UKONiL83Gw0wIH?NE?Mi3EwC+1T@<$V^S}nDA91v5U6e zu7ER2s{L3J9EgXCpAHZcq!WjcZTezU&>f5#lw;ycEF1sSC%Q)vHQMH!t;;0z+~0CW}^?gE7?RzD7VLTa!&C`i9SgN;Hc zfFF%c3iB3mohQIJWw`;J|ME2}#}w>B^79gxHqM zElnKj=snE6gzy$N#O5<31)(*AR&0m=0sVe^+)!;n&CwA}%xO8hi%{jO7P7gBVCP7r zNu`? zaEUaDWQsS>0hc;mt>uSH$^4eg|HQMxe-A22Td_!FMSzl?(M>Q@n|M+Op{(rRm5VJy z*e$WVYr@&qGE}0Jm}A{a-ZTNSzx6OiuRm}kqn9iPGn(y8WL%}yiWJXrCO}b^vluyV z3DEq_Co+1qD~nmS++|sk0Ei_35YA4PrI@C~oaE+t#sny~kclicyO;o3fgwPqoMOU^ zj#zGi^sHe5nFqfunSfZPsf_uh!pu?0(v9r!2eKH`Win*w2;XVZJcHMbk}6(c@tDGr z>O2VMfqzgXw={5xPt5B<=MoV@&FW)9kRKe{w;&A``2to$JeFgi^*4q^zaVSXUFv#E<0xi_D!G>ERRZLpMWjc_@qcGV# z$*bhA6YoFo#QQA{0UDnPvJBuIjJWYcPF0B`(DV>71hBn|9<7Mw4@qf5;p>SMNdtwa z@^AE&AoSWWKB#oiWY?1*HlfkM4pz*LAQ&rrgNukCqQ)I*oC6iKy^-uqAqDYjRj8r{ zG8j-KS86jw4{~_k;r?Oi6Pt zj|TxD3r#eVW-Gu0Ly_*|zTyxH4UC{ed=5&P2LW2xPg?L<84XD;?~Plg`ABkuU^KZc z%$Z;{5HK>6A>1%$K#8JrdCkZPrVB5Z|A!^U2re5wYXc;vn2B!z(Ko~;#|U5Kr?$$C zSd{}bgA-3C`8Q-o$#SDK3+?}Dxl!QzXV6K}t`4%t4507frw>;UF96>M>_Dy*Hs}Ge zz);l4pzG^x=b;C$6vTSu>d@2!Eh=rHAMk8{T4R$Tkm>Yo_U0cLhTo96iJxE6ps89o zIlY?}tU!YU@Y*aq7jYTB#0@Z zLKtDeXS`^m5C#-t#024PzzPMALl5EeAP(1vOo^Z{jJWhr1CT?a(RmaSkI$hPfo!?~ z31UUSixgsU4Vh$Zm|+@#EV2PQP~zG^>t_=f0n!<;9PLAaSvJ_h;UzXXeh?3204zQ; zgu+3ha`5*7Hbmy4iZxnUKv3I;NoT=x5slSi(rambft*l^;50&l#)N}Rrmz`MG|V}g za|y}jZ%O8EHVBKKQhMtnlqGO$BrF1gB%aXuLjm|KGKIrH${H~dF4qz##1uh9j0>T_ z&$1~TxcRUQjF~AI6dpxDT;SLhJl0D8TDBo@+BTmoh-JW|aF}!!aws8_+H`hW=v~Y6 z1?ci<6gmgPk_4C_kA#`a5r77WqxU;!l+SAKViuv$a?eHk*}^FNnU%_Cli|5&W1oKS zgd&F{4UE7w8!mj5;CPFOUikZZ-ttLh(41v8`5oQaO>S~pezt`*)AR}P(U*S0HE*^7 zGBDj*eG5I|L@-w{;Y#!lKSY3MV*$*L?I!oXe{nz-iALcVU^!THR;U4qLpDNG5hD_Z zY`_FrbSj0*GvtNFwDB9p#>U2D%*>F#jg5`P{~kSNjOl0-xlv|jW5$d&8Dnm4B4=!3 zY&^zX4lw@BeQojLb9o>~&bZy*YTCK~$TeiCBKnWUw}rF0gUnL_tGPdXD|Ng&T~d!& zl{zEr(OZkLsf^FN6zp@}-Tx3{u(#X8WU!BS$E@|$;~o~rCjW@3bB&wtTzG6}H=6@` zs{*PVmg(&uG4kVObCXq_`?_fi(^@_E*vPR~R#v~Nmm0mDd#a$(GVasShCPd{Er0#| zY;@}9(@W_yV!xMfT0Ug%$L9x(e#M_WVwx1>?Y8LrrsXTbm*3lf+G2=WiPIf^_{auG*qKAKJ#v>-)lA?`p-!qFZK9zE9GO^1QVmjZ@TJYwy#| zb&*$|z3w-|Ysiq4$gxHyH|t7H{Yr3|o)kYp+w}5|%^PAtEHUcNp3LfM|}URJics^?C` zxpKAoTwB`v+-3bAoir1;oCWn=%ErI-BHQ-zI6Ljb{;{?V%2NvZcsg9)4g*`>>UHTZTPbM!p~sCBi?%kRt#5sd8s7M#%GL? zseb*VU!649eORyo_{^E#J2h^>$_&~<#?x(_@BKs1cd$M*c2(y~`x^S%odDj}{(QUr zx}n7>C*5Htss-NE8)Fg^eF_a0JKVjt^ZT5~+@w3Ys>iexufJSSvQJB|Xi25d<`X4q z1|~Ow)Qd{{ZY^CrR(tR{-Ait{i`U*>+&%k_d-)Z5_Q5ApPX(*r%hWg#o2QW)v~t!! z*XpY79|!n!ACUqq0#c2S*NtDC5~pZ-ZqF~zUZWlRInc~v7G2RVCk6G&UI}#FWLkfH z;9-ZPj1|<$s)xe{X1S}LVJEB^JMxldk-p=&>6*5+f!>#bzLjWmlBRQPRVb!$KA*RZ z^Dnpcipor1mRFuK?m%sx-?WQc()3*;hQ6M&z;S<8($GA$=ZgJ!Augd+d%Zr_`aYSw z@WGqXynq;Ux2=KsUlh3UP60NX0EaK0`}b5#GV7f`cWda&tDl!n^oy;~FRp)^5e-dG zyV~nj*DVaE_~3KvDvzFVogBozoc7&0byCso?K9Q{j`NRs*f^r>O7j7-hnWV_^|wc7@Ng@bV?R>WNRmbcO3U1fEs zf0a7JcF&F&UuwqOsZ%=`Os!3SI5K9f-KjB->D@!-I+&YXS$}5Fu{lRNm=72iaA~sz zwa>%Gn#P|q?)Bgu`#8pbXpJT>`PKodU-HG7Z_>06p6>QU|C#xl#EJz^b&dMuDxRF8 zl5iwQWl}?z?hVei>|=JOv*N9f0XbH&$#d=~7{6FD!36RdW4)hIx8ne`+=@T+*S6Ph zvguKp25TE`Hg5k?eoNi6Lhs_l+|mw4OEQNZf1z)lQ=-2-c)k3tix;~rI=?}8yb(3y zOStB`PSd|wfr+1dpu#M=iPx;@j|K(j4`9#d z7*=ltt31OU9^L5aS}|{KP>E}vnXSX!Wns~wed$p?eV6x`owZ@OYD}hnR8=A5RLwnD zX?Kn7k#|k_1!~tmCGv!p52zbrV+n+*wo8_@beBZt`61O7bk@1lw&>>k zJI%ne^jYxA5w&?vrS+c|^uJVU)h%JQ&q2E%rW;&2S@#lv;zR3KMh4AD%c%Hi@pj~- z)P;I60X0VPTi2X@7yIB*u6cK@gmniyFLQHsplGM1-nHMNJaDu7hy`UIUmrRUbw1kZ z!(GK?gO*I^jEpVnYelm>sF7cO26Wq1Uae}W9`vS4`|RcmNf!+qR;1imz4)jWEr4pe zo-#E5`GM7TXA3e87Ytvu+;y#otH}tiP0_sg+#&K^dwY#=>A%ugea6v6@dF%} zo^GZS>aM!)+>{;al`kr0U+a0`X5YenX~`=qw`#36+MiezWXPnyQdY6u*vC)BHhM(z zhMaMucwep=Jj?qEj5Bg_tmqr?t$*+8m5tqA9yGn6;_`5;llke3o_^1|-?O(1eVuP@ zz#aMESDDhen9z-HXY5|QE0HmF`L@P2pC+6i`90=qs_Ez*)GsP^yP|iF?|S{i<%VB9 zsh`7lzg(C6>-wR68D6FiQ&Lx_8g}hfb$CwI8M<@uyPOBho+g#(k?PGtUZ_sa_6?iA zYy9nw#osqE;XfYuF-+=+0(8~%zZS`M>lnb>c>o-q&JNwCksxwxQ5LA_TuC7kE>=V ze?2ws-ec>dKWYa3{9f6xDYm1snYx`3WjUSwlx_(@ga=pvV{+g%?xT@D^-;28iua@!f!+k(XyJ8Np<%*OO*7f$`+ zO!!`ZXJOqBuefoUbH2VgbLNuKg;hompvIqZjn8l-1p3>CQ{!|#0W_NN^ z*ZS!p{z(hf_H3BfZBBiiifK^pl6xB)cW;>>NKYO+H?I^ z-7j+;ov+)KC)_)gp6IeNzI52@sa4ajdpG<%G<~DFl5M_5f&F`CVDiDKyLz8ASE;<3 zesR=QMz#Ce<2eJLaT`L+Uxym^Qhhcw`jLtsNr!XQ`e4potEl^T6%5Ot>JM|DbTDaB zpMwM5Ot()`uX*pzE%Py`g$y>1XXgcVyS^{Yd|K2AC3Q8oRK?9-haMX~QoYh`tnXTr zm+HL9u{u%gsQeXxlgo(UtmOKi@0`?ce%j&ss)(bTJJ8<1p2UZmi|3 zBS*F|td3^S8ny4fjmA0yZf)*&uhSEPPsV+%@3e7S?v<${hpk&ZVEv@jt(*$C04uYu z2jWaMvQxJ`UY1zx{lJ}T8he%=)|1z>hdRr~+2h#|MOe8L*=2uKutNPt5u_EGOGIdhY|q zz8n3qOV{s*)Tm33n&%t5__Z~#=3>=kwY6WTEC`M&9BNm3E9do|S<4my6E9C(m%nmo zo=@2QLn{>wt}b2ny!>EpxYpB#?$#^Iy{LLe_LN>Y-yo5`sd3}Vs@uOlop&5M zpSs*|#x%eFoGtfGJiQ!jP``Xj+U(K2iuI$13f|-;<9(0zof1eeW-Tuyhrg4h9&*g4o^H__bn;?@=(RFWrmi~&N)?+bqk@x zQ${po?i)}tZReuO7jvGlzN{^LF?EFgvbX-ewR0>sX+_S6TmRwb^Gio!)sFP(6WwpT zNyFvDvBO5Jy8SIFyXL&(9p_`(_9M^io3*bO#pnLP@~vmLZ`akd8`ofHljUcAgfZe& z;Lath-j@%)nSMkuI*J+ZwKMYmLic?|Pqy5j6|WnUraNubzS6K!cgAq~FVPL~+NVOT z`P!@c;OvDrHY-D#fhsILXJGUge%ASEXZnWqW7!5)9?W@T-*;3+@!REN@ zA8HVEiqx@{ zR?F^gHE@1*h;^>pysI5D1}|bKQqIxlUtnD#X}}-piqM3S-+1 z(-9u?dj;2^7Z;}oHXtgqpQp9PoBMvo^LRAJ9M<` zmt!j*zmBY_H1S(x@!ZPq%iFsNM}z5)W~IhWTp#o^Rwe4oW$IUlLF>0qxIQX1=XBAn zS9!a=o{n&)&0nn-{CwPxpcy;fl>5&)yDZk+{7|?0g_OrGn8~bPWikdfHHEG z;|c9NwQXldzm3tg7@gj!z(y_5ud9B*o5L!*$aVEl60=i`Dy< z+~KZWo;-Rqe6eBI4;4$gjXb@fTj-mDv}+9h7hB7Y`|jP}2}gL7F&{JI;yvfj6;52O-V5qJ1leEB=q-hHFOrsW4EZ`p~FDa`JM%R2P8k8)oHFu2gOBpx@vaWB)RNTIXA1B$Ci9LG;_yHgUPQ3 z2J#H4>I~o7WhLx&ofQn#oabs!Rtcv$W*BtJtn{h4HrcKdD`7{^L8Hn7SD#M4r8LVn z_{Wa~hdHM|+)kUfylRwVs44G!dC|1h+~d~q!Dec^51+n!aE{S}JXe2X;6Yg6X6o6l zxyMd9DGr=kM?a$P&pS9jW)AS(_S3@WL*!Tfluw&ub7@AG)uFkS3%Spa_2|JSS6)1w z(jYhJJIHyxkFD__bny#MY9^k9Rpe#Og7>_`tHqCp7i?#7uSk^bI-=9S*8JINWNeG3on} zH@bBCe%qth9~IhfE;@C8e2-~Mm+7Qv$HnH&$RjPvck%4geWU8?PL5YM_#J<9|9ZmB z15@kIMfC|U86TK!zj06Z{bRz--u6GA5tx!*IH_b&jbi76d3pn5ud6ag&r%DUym|0+ zIp_Q9dg)fEJpf`H20Cjxo(kMHQ~mupeTS**6KFq1C!4F@2oCP$eEg{H@SaKF=c_ndOg3-ZuG{%Cj2#({JbBGiN)O z{0hm4?Xe+lFzfnjZR@auKfEI~2aXzho3(iA8_io?*tf~whA%KyiVp{tnRZbr?wa+y zW0%`IO+LPyJhPFh)_tr;ZgAaaT3o-vOBU+I-mYq@!!IsaT2$+G=%M1We)=nuhCDuT zWa*2QU5)IvZ@#Whdwf{qbcODc{sHb^BTL_H>9#r0;B7b8h60UeD?-#2V&4qh5WaQ{ zmwGNprRd^)=ae$lXK8yj>^ife%ZMYZVv-_Xe>Ung_wc7jK@JP+=9T=2`4SORXTG=V znJ!b*lNE3G1|#2jE7QF9+UD$WwWaM~PCaZg_U2jZuFH8J@@tERoITuOd97{U>6Bmd z`s$i&+%Oo>!Fj@#0sRLmJ18y4mfwHjOhc;WOj-}0 z&I!dGL-x+3#dkFRu_Eo>!t5Jf<+0{whv-)G-|vv`ToGcRJ#Z3Z<-0JaaOLD-F5?#z zXv2SOQ5rU+AbeWX!tMo*tCpS~z4+<=NZ)-UKb+a%vgBpvz3MeT%oa`R6TRKri92iJ zmdzJ74cH>6#YRd~O?scf_!=kRjV;LV?}D_%gclPdHyS} zDJg3%-D{%!{bnb<1@@m5-YwM3yL0Z=l5R08FLny8n%2eAa8+m5D_P4UBd5%=+~#)Y zn8V>O2i`|*S=2B1j*F%8yCa#$hU&-K552y|s@}r4?tpKI!T389uCl+Z4s!+uIgPxt zpwr12nyXK!xh^YdRQKF%dU^NGX-vxij|0K)4)w2Ca>6g_h^@ae-#&Pi*}(YKMfJSz zgAcv2zn2{0-&Zf-oGy11Deustr%Lu)Z3hTb?ohe0okSweTvorV}mt6 zEq5Ds<8eUHhNmXJRy+4C^3!r!Q_*2GZ`->)gDPBynfLi(HOu4mx6Qz0mt+NReEl~eKVi&cZ{q@mRBoTw;3j z0o-|p$=#JFM(1o;pM6+s%KNrE~d_1O?!bEkwcMtez>8E06ZkFTS)Js7n5mD`7~{TZqaV1-_1{-nJ6q0!0CuQqoI zPSff-`$KSA)q?cQWd{!`QC$PvD1G8Sn^3rxX9IK|CtvGYxT1@E%n;ieZEKrzYFgVs zIaS}qYwc>Z8_$;hP(*%M`4i@~bIGYgVus{*M49V+?MU7EkDN93XV$zpFCaQgb12q*cv;Ipt|K74nx<7Unr_ zetEC|lB5H`Rxp3m>fG)5hgs)K%rvz62k>0oujFNUOnKd%+AHEwDpm8Mehh;jcYOsk z{byuaMi6uK62-9dx<_xvOfQu)y}Ucp%1|%$6&SoY$8a3WiQ`z1*YA<~*&FxrstfOf z?~aV%UJak_9TBUZKyrI-?H*UwqYyOToiXV6*RZJ%*94z3y>j#xFT?flsgs-w`*j`9 zY`q=2ux^h=A@lv3nE`iv&g}p7EOX_-k5b$`g?6FZc`%a7V-XuR+7_|0eC zs9fEQ#>xW^LYBU~mGRJY&}FrC$4gw2>5Wv|{v)~@UG(7gxy1^j z6bEz!$Tk;uogLzGQQwt3zNUNK<&Cw@BV*HR6AWL{=~Eth-E!wE+?Lp1~?l zyjeKAA5(WcIXNPG*QUW4rBlab^Jd)jPb$b9tD8G6b56sX z8A<^Pk8fE&E{OA-YHbu`{W5Uys{_!?)|YgWn+wN%Er(t4k?uu7_iPEFLsto zo7b(wj&3*Q{5sF?<*l4!tO(!Gl`of{`L(Cqfy7?k%Ja+Y%MQuUL-%V(aD&pY(t><> zT16L+`^S)W-M_n~wBTy@(t>wqzD1u-Q99X2q3(*rlh?lNkgA-0#~wXbT4u0Mk(K)o zTCO-|p?S*F5;m0g^$laT6`?*J}E8iE~LdjJgy; zyA`9#jgb#M7&EifW$2a7m3HfrdS`y|T%zYmE_Yt_a)blFX^l98m*cTmF@9VZk~IGbp=XuRn`?O)bKDlyJSxz4_dgbd&ASgywGDb z#evXOvc`$yC*7$b5oKvzbrPy|b2sp}-2?Y-?$Q0K+d7j)&n>5>SCUn4xapl-cR0J| z*2+864VMk2d|t+TRX4=cazehP-2y2{@YodG(Ak#Pg74!o6^^j`}CoInx59)0grMjrVP7|Z zGiCg~jE+pzNA9^LxoPRogV~urJe8ywkM&~u%%4zSUp=Pwn?Zj5z6+fW4yRH(Xe>*j zEh=8HrOWX05sb@EpSsOg*XH=1yKpEjbl{0!OAOeC;Q{Ys&fA$smKJBOHTt3D9iHO+ zcyR1A@0va}lhfl~qV;0! z4%wYT@AdKA9b3M#WBTwZGmBjq=8U>E(>pxdmv2Fe+@N4JW#7`Odle(D9JzbRujE0= z`!4Io%|86WVREOsa#hgdE@&N}9cRv3{IWi<%cgPXG^xkdd{vx!_DN}8K%C(M~ zgS7^2XrQXRvh^zk{vLD0Z(bl6XyDA0Nn)T)Ii6k5m8CTYDTylYdv9K>d3Xk>6DzqpFoS{J5qhTI`yx37LX|#g; ztr~`0b)?T{3PBy>T(vofL+ z-5L2qzJFF>%=3k2Pu@mfYxIotdEiI-Je(E(^zz3IZ@W!#x_9tV9}U~SF&s|##z%Wi zy|&)U^4n2at~@bzM5m9DZe4#?+0P0(S!oxm?)`Ow+LLR;CmCG+IVht2AlYdI-dX-05-!MF(x-|ehp5|fqI@t8`9tB;vUz|TM#C?*7azNl2iq1RDy*>-3ufD7kamaO!(i-(Q_xDvhKHO|b-aFl+ zL$?g&4r*f(i>l(}A{CF=7s)-)tW=s`RP`${d+#{p2UO>8yg1ZaZOjY>R1WRv{NB66 zqN|oN=>6 znQI)U!OmF-oj=p?DSw`J?8*`B9BZIU_vN+Nq_T7BeEBtlUwhx3)9G}noP9^~_2CbU z?sZHk2K;BzCIDT!Cpck3YyW`_eh(w96j;bhyE? zLD!E(@o(r=9A8zv_xu9WPkAMK7B9~FH0{))wb4CqOz{}CT6frh;9j;q1vz(3pY$^_ zQlY&1Ui&e9(;Lf`Bue$N{HP^9*S_W*I~H@;J9n6e>zrjCr^1#;d>L`5rre}HwV&Cz z*w1cnHl7zofEzYxe{4%pV zg~#&CxBC$9vPyZ!T>lrRqn-Lq3cuqQ^i9)YMs>jb{6}R|@2T;=-3#E{PD<9BpAJS0 z)|&R^O1wdCrT(47s3o08&-!$~Y?D#k_}Kc|@8{1$))N}*9$(8WbTo5N_z)QHX*KrJrnt_dMxe!B>zP42c4{y zv~$0DlQm}KG$cpo8kp*@Uvp9M7W8hmN7=kveUH7nwce%g+Wj`+DyE#w6kk}o=d0OkiRy+2`pRY4srW+JiG8g~wT;NlxoTU~epVq;<+Zb^6R^Wr_ zelstJyP5sI_Dq}PRNJefTWqYM!u3~b&O!NkQ2AHGdTqu z{Y-1mCA;m=^n)ixWKPQeF>OS_#$TSnhm*Xfu`Gg5u=>>8>Sy-7XZLN&52BxOE3S4J zyTY?1Glmb&DC5S`j@yD~JU=8)NO8}+^)SoxCTS+(cXxB8EPI!1xLpILoc zcKc;f^*Rsb;@#bMj-G$~YskB-&+D`Xtn0o3D*N^JX5sPM9htP5qdZCt$CHyI?RI7s z9uJ_E4?P-3Tlo0s*$CQ~X?0&6&UW4y;NW?5?FDnYo$l$~3SS@HcjX#2aN4>K2S+{I zT|9>}A^%Q%PqhVKMm?NwvhSJW%vjGWUwZAk-)COWz^@C{8piv5I_&pBTkV4Jc`MJ{ z#t+r?gLhPevtrJV1o)*`XNT#f{W&UGqlTI#)OO5S zWot2|zm3I!oK?0Ym&UWD{d*0xwPt;Ya4Z>phU)+g_d-qDJeODtDDwMTB0OjDS5&s?rV<8p~*Cr{;MO$9mh zj8KXXw@9-gUF?E1=xqnHg!tl>q!o4~7b6?eMTKWC<()0Q1q^y%^tjvDn+mxdoa;M= z?5%WBR+#y9h~5DO=NN1Mx<@HW$(qh`J$f3O*?eUbNwzj2--$S3<{`+79pntRD#$9}UFrs}! zt{`RJm|ns25ZZ4i(X^j*rfGj9EQ}){STfm!S4PD`m? z|FeUUUcZe`b7_sQGY(uiuzkDH9EFCLW#)UXO^=OSd~JH{kNTN9TLXeS_q|+|zTv`} zDAshRq|YTu+FMt5HlMP%zW-)b+vEKgS8m9MJ-VdVfvc9mvSc|rxldEEIuleLDY7hF>mtXPknRR;SvS+o2f+q|* z_OSND-8>uK&aq}`2?;k#N88Y8#=2*+26ce{jK5j>D>2&){YfZ$q$Nxjl|8m*TaxYR zG~J$-O5Ou2x_b{C=w`pCV_L#;^-;)+@^byIE|7b#VI~);T)FvP$D?t`4a4<(O!nA( z50*U!#)!!tX$dSjH+y^fD?=NE_E+7sgs&aa65O z@XOCH=P9d|w%wVX^k|LN0r&U$q1ktK?$k7xTk-?i{%W*o>YhbC!75U8)x+ul)>++1 zpD)LT59M5*Fl<=SwR6QMls&!|=ftS|*gogDYx3>@)zj|UBm8%jXMX^ccKWF9{@F#Z zFmm#`kcq?0?cT@h9SpzxHZgEgP1Z?=wQd7Pl|30jn`XJhX0<`Uiynca&-%Hanl&Kj z&fA>0xc#SRWqkT>y=wdNcQq$sewD4y`S|qv*Gr@NvhOE-i{V80stmc_)i?Bdah+pj z*P_ma-Lsk7%XD^MyWZn*a%#NBh5*lEH#_B;2- z#ei+m>+3WeE7uR7re-zflx<>M*BjrGZp}BdHCxp{x*sVc4JGI zoo_TYBh80@=seWgC2r-jyJZbnn#iCPcepyaSbqJ!DEamK zY)sei=TY^;wG-eMhsk9X*sGjoKJHR^$S5r$3g{P?U0|hMQrw`i zeqRqc)VMQ9@flBdK2^V`jcH$6@y*UCZH+}#{ps_l`pU)EJ1*ya$RB%T#>qbH9A%%* z%WD+DKwGUN!d2L+Y`$Fx(>-Q~_>pyTNZQk2^@jr&mK3&>Br(2I?_|Z~D z>@2k3vMKKei-vrs1IBk&MySn`U%$`6>Qzv-!!0dKOY5Dz7VKKRh;q<=XIM@4`JItI z-sQ=aH>aL8P*#mbFxR^H_HZYkx}RX} z&a;nupYXF(XWL((-r*YZhI{r`o%|&!O)2)_iDCMxPNpMr{vYA~5ZnvYwEe=_v2EM7 zZQHhO+jjo3ZF|SIZQI&OzPj({`QGzRPMyiMx~s3%ldd&bRs92)no2Rt{G6)eYv8nU z%V=>qYIe7R+&~GYmX_IrXRkG(vG6FYNn;kbB>%${QawDc}+R1<^n3XS?rp9#o>u+lCKt=aH$w2sdgT)F*1Umtww$8oom zj%Y=|+Dk>j9knOn;gME!(iyCz7l*Vj7M9GZ*;8VVPo>*xeTt~g^Sc+ORTze_&PdH~ zXETY7xk~We)jsY%;3hlRH#oZnR1vJoUOegap38<{)5NMQdX{8NBZsqhq5C-CQ81ImF1n8EkJM_&&l~9N6n|>`zP5c1wgmhU=bF~;7nZ41 zizU;($LV#ui9eEezfp7HZIKcA#{gcc@Uc@eQyYbJBP zjbJ60I>*h^+Kc0WK8!LjP}XE#%9EbFE>f6)R3u9sERl^6zF{Gg183FA zmtujj-hh4)mScu3E>AIuytWk$6SuKB=|>S}reaXJ@vc8+~mME;9XiI4y0$ZU<+Z zGO3pchgKK;#@z?bVs55^oBN2a-!6j9D}8)nV7iaGIL1_ICrV7$V)q)N;(l{51Eikq z2~x#+1J+S}P*mRUQU=;#E3INUD?9$W9Qr?%J4vEzQhKFEF8|vDZRfRg?i%zu6+#3W z8yg!l@OudRzRP&+A5-Ax`1Skup)sa_FYvQ;G$-);IK`0X`>~Q?@O|+OOgRj;SwCNQmTn z^_!DLPQvd*eoCDwhr$Sz`A*wo_t>RKnK(`%KlKiF6q?`>%VfnfuKyhg4a@kyX^GL! z^n5mJb$Qg)N1c4CY0P%u^#@=+#s5VlD$PMO$Yzv@VIMD-rj9PwmMHQwe~eGv=t4^e zy_|wIv&`~2Qy|?U7I>Bwo`Y5mIP^h3Crqo+G7;x3>rvvi*@crbAA4qE3rtMIy$Cf6C+=4kyW+pM{V(>ep|EDux$BUwEZ9OO%Rq%=RvN%xgwyFRSV5lXs zYyFn4xesnwdTP$+?>_(M&8NKyU%uY2iv_W+T|h=tN?cnY*nd^-mdxYaP>o_$wQa5O zL$PuVl&o$ZqXg9ozP?bkR>F{PWn9~kQv`!zkWpJPl?++hD$Q^4oX>W0HhR)cm9h2dr@VHp}J^ZK+xlTY#CgB}gHH{%>0hqh!lii7{EYQDOPs(W7Km}8*7 zlFZYJec5QIpZpZtpbg4noHQSarHZz|VJ<}m;=AyW7+2BAY-E6`I&rM_rv*=u_$zw&n`OB(I1ix{S-L|3(+ zzzR(p?Evhh6It9$Z&MJfK}YiqU;{}i;@l^9L^WRn-3Cq<_z^m!Da3%B-*bx>>6 zfwV|=t`o|RNGi5)Xa8p5od;OZB_fPw~-RZhIN*r*s} zF7|c_#p*_Obfcz@DsNL$Vql5Ss>4tlaPK^rr3$RFn(@MPdtkv!Rvr>+i}+N7&hR3B_C`zHEY>vb zH(nCaC1BZf@_qw>a^CKbABC1iKUSSrK04_@JyL$;$4Gm%(sonm#G!2V?%cGmiyV3* zoXJ2>#nFW5BtE+I$7O~Gx85qrwEG_iWThxqMpf1mQmSf~XIIPvrb78@WTdKOdgsqJ zT;Wq#azv#3#Ih|?umsEqN6GQ#ISbJ*wNHENQ4L$3%|X~JjTT4ns#NLFX1u|kOfL+3 zx}3BsGasiY)Le}6h1vp1pSD#V5j8>5{>k=i%oImr?H<5Mu z@N~KxMttcK^;VEBqLw4hCi@+)gZSs3jqBHAf&MH~Dj-VzDmLt8#NA`oF=s$$rkVyj z^M!ytbBjj^DG6d4s0nAnoM`J|LHFvPYA0WG{6gPGiRz7%%Q$%t=5vq^CmVTLKI5?G zx7}0HgJbFLOESa)B0$!lqeJLW&gf>gcgKibNB_x#_)#RZ^caebsW~v$xUl>CI`xZL z%fueK#^F3scBi#az3$&_;#Lhg5XB;|pvnE{!4{&@p1rG|_AtN>H593JwSB2}Qd=ql zve>4n30&=7t(co+;JJG|hK0c!vMHZQ z$EWg9W)+Z)dQMEpr)8X>36Kd~@&Et}xgF0#7S z?-x!C(jLvswW|Yx!5tLi&RM}AzXy(ihB!>Rd@4#*!+mQGNa0qu+^CG}N!YI`(xp0_ z9zlPO2Y@T{1#iTSDdi&4M%l0$D9yUaQJGa4PXTO|XKo=c{g`tVl&l$8moe}WuGdeb zsgtuUu`o^rPB(irp2hrxzC?7nyKJn&<$=jHPg&|U+k96Ql^S6;8`D4!Q|}H8yjKlJKvsab=OF{(Q8@|cgKz`?Gl6qK6NOy_yz`J@HsSFHg=f>H zjf;nApKvq*LWIrWavi;3Do<`_h*9ox6#fa%V2BuB%(V{j<03ZXv(+d6$e#%;E>;g1 z)@(+7XPt+x{fje(`}|WSww3j+(jF`qtNiMy;!_?YAGK{mAR4a zt%yU1t5h7cc5AT>9(ce1-U!Xy)k@FR7yW2-E$B5nJdz36Z!xK{nGN;os-B+}Urk1E zl96f=sLa%*$nv;mc0e{IrZ&Mdce4E-1{R`$E~|Q&N(xyl6XY#M^ZlbFYR|jNH#p+i z@gbwzQcRO&&Z2+xWss>%vy{&~t$Itv&Rv3Q0%&2#ZarE$9~JX<0Natzs`*dW7VFPC zo;qTRqMK7}cYQJ9n~pAaJk6vpWs$L?7b0}3)rhdwjPXwC3M!7~(}ieU-=kmb7i&8w zQ1)*wyg7B!QT$Kv9-VID6|WBZF_*zl!*#x8PCsHL`x9c}t&XVq*Dvl}y-6Pf~KLwK|(9*A6qKNoUX~&XKR4bM36d6$pu$|Jnd4 zfPIo)W=%x_rv__>5@QX4Ye2S0A}zwbeg*7ep@m8e8I5uG*WmZ7;1%b9)&>c@jd^|2 zkml=;tr>_RO-L>5e{!_I|2g%5bi6zg?#9*Q71r%_a_IMlR(nUI$q!a_w+iezjg+>{DPwXRp z5Y6*z$kaMY>dLZ|av{=-zNt$MdsK|T>h?S!{;0Srn^+;kLG!O?HNoU^gXBI3aU;~q z*IK(vU>>o}JZv5>mih6dOQyzNFu0sD*8?Y6%iG6nce|L~@Ugg?JhNS)@q?kEF!Die zgPG0hdMEtIrBR>6>mr(`5Q$zT$uGFLOlpH(_FuBGrOgas`VPw@sLhfixuDb1wpD~V zH9u)%+I$Eg)S!wx=AkVQH2}RZ;<{cLWv1|(w( z_ZRu=NXyu%_3>NF9#4gK+IIaRmvPRop>MjCFr|{A*^bm^CZ>7s`O&P#Yr#Ha0i80L z7*mJRB!1kmJNvqIe7dzEljAbZC&8?C1F;#y%5zkkXZkuH)SzwCyMSwd9MrVR&a}{L zVV7No&JiMlOeoB(?1r?Ps(_PF#q|p~=mt+fk<2mBz2}%!OsrD(qd8JK2n18$@G~ga z?3|96Gq~l*D3*$tGgxH`kCOPDikP#-T2ac;v$PAPUL|Rhuk&iU@A=iq|p{6k8lc-!OR^gP8fp}B!j6o zVS@j!n^4mjEszX69aGcTFe-?Q9o{g?3m-zp7UVwzw#6(cBV0zc1zAQ71q3UqGz3Mc zsW=`daFPh0WFBxKDR5;ke9-ix)Va*-v*AvX1Fghx90BLr?@LgnK^Y(~_)whLhGWja z*8<6-lXi;#D@*%o{Fv>~A~=1DdU=HPbOcvtSgmK7v_10W(5s)`zr}uAjr}qLPx}03 zA;QN>Kp@|~YC4d4h|Fb@M;ay*_NCJCQW%|5Dk2P+D8n$tH4BX(wRHZcpJ>=W2H-Gp z#TChm*V!Y4?Ppm3Tz*gW@k7aAbQiz%#=qqUWR)*QU|EY`SY!LH`Nc~bvO(hBu2y(>eJvM8qd2#@T;h#J zKeF?%ijtXmHmToT7&lk(T%a9f&BlpWpp6BzVvQ)+DqNsFvItRyR-x`up`8Z&W^j3R z9ol>L`}FT4yE$XdKrgS46H9z4+Ul8QsN{(?-_4bFNHkaE6;UY+wT~PbEtr&)jFyPp ztQMkLzp6b-1r0@Ld5gOKs%ZkFIhSY}Pib<#MzwSvCIg8!D(6+_X^D2!r+>{p>9xYHdE#LUsh&jlOZPl^ycX1M%LY;WRWRp{ui$~q0G-P^R=6C@^$>g8af1o0k zAHaKtS%);Rgp`epHgz(mQt(2Iy?Ff|j~R}F`FM$FkUk?RqeY0HvgP!rD>qW&X0=&( zTm-s>Zb$Sagmo#9?qHmxEC!$~a7>m(szWHeJIbQsl%{4bWs$tKz*olvwP^;mdFNXO z-Q|E~EX7XQ8FNzT!h7DJ&q}mnu#n8V`;Slau45z2=Pc8S6yoEtiC9YiQJzHcN^{Cc z79J;=PyIg#PJ$m;=T*yeeY~nyI!Y!JyqfWOp~M@7C0E zShAjTPEv5y$}?I;(_2NgZqY6pHA~_M^9Zc5tQ%bo@I|KHV=1dbx9XGyRvUkK?f?oy z3}4IG7}tWVD{Y*rO9bqU7tCS0AFHosOeg%xUNj%IE<|*RH4BKm8FwuP)pw$E0JCZt z_}uDq(^tXrATxlWJ%PjcgA*Xwv04cOP$LID$x*Vajwt^uz@N}fGE*<Vi~Zb-2Lo|zIVDOJy` zjO0h}S=a7HwP1rmzn+GKL<)JU2x&_NM2tCw9=tpCEWpdt52B7gI!a>Bo#Qvwc>7n! zs?nAw$1I}JMxYwrd}*uc9BYo*|0%pg^;`~pz@z`BZzCGenla+6K#gUgbE`moFN7|5E8+7>~>L07656D#22e9QJnElSZ4?EoH<+(Z?hr!4>a4(Isc}V#c8AHd?Q=!^pt5~{m(ECCf%e#=%`hfa9 zQ4Ny%LtAEXv3t`raFh$jm9Q#jgs^LLX*Sj0so zav_ZxuuV(Mg%@Z@nsETGLdZL*zajXFL~ zhEjNu@X2NjGYI3Um338Sieg( zD$=d=m1bA%FkHRQ!u4K107vlU7EH0%2NEoc5fnj#Jn#~(svSY_1)Lqm)*V*x1-{^z zziKyCDmgV+S9j@FwQ7uoT5bY!N-^$I&VqFyTGJoJla0x|wr;|@`Z-4KW1$Jl z_NMmBkXaCWlu-~n9D)$e1cg7D6;^6EIa1?6W5eIoLnl4_H~U1(vGUU9RH?_l9nAn3 zA6fL#R*K$A-jjX60QSpXzOYD z{%y*EXTsKfW!zV$ow^$rI@5uVFYaJ-?4Va`HKPa0u(A*JS2m@+K!e-}Hi{XiD)vV1 z2TSiEX{B#4Ip@T4w|QI7?$|*SS@b34RoL5RMp@a^*9?G<2RKv$Tu^Rry`E!HfilJA z$;TR)ILz&DZ!L9o5p(XK-jRsNG$~UP%P*Cx3zBiksR)@S;BVqhE&Z%fi%adIVaZhp zuYc=1g;rbmjEZWBjidHj@5C~I8Z0iKbTZA(XFKHc|9n357Z~9GM!&{9QWsAMy(Iml zttoW118CNwpJe5!l$xn9o{GaJn@N~to<+8%cRh5awR4!nhMN>XE~oWgFuRB^!x6(z zPwh%N_4J>k=KaMzVaU%27PyFv6^-4wGEtJe!?vd?2t}XSZ$A0Nl_$lN%s1MqRXX18 zrao0~E%%UWzgKN~(Kq|=j;{D5EHjq~y5Q}dgIM^?D9^~6^-%R*Ys!5`xD@n$pV0NR z6D|n3iK)4)tFgEi)Y=EZjWGw75OkZmTi_2>*Xl^y3d}IA9 z(mp2l8*LUvY#N?xS4(s*+vq-h8g$t5Ch3Lg6d7eAsq`(YPO?8&}nA*>B)uI;|^N}d3BC?y==FTc0%2z&fgB@?SP_-;MvNb zmwi2~UIY|oNmP+ca;+k@r&6Xo1h!i~^;GVd{E{Q1AL>NiGdbyCz0$J6 zW_%og@8ZUm(q^?m$nqwI-%J<~U(vSNS4mK~w`RHSy`YlaX7&E1(r}e(EN2tzCJN)SlcEZx z@wBgW(sOSlq}Z|ha4(?jpb-~9B0b_HJG?>d)kh|($l5ixl3fEStC;_a$&g-5g>7sN z#R$jRRi!g?mbKv>l}t2Kax}Wa)~i*Vd>JDZ5T((7&D|s=3aipyR*b3}2WFsR2&+sB zAcO1^*UYLb9v!ZGw(FfkSyW*TQ1q{Pfpdmym7~FJ9{_Z+Ki7Ch*>A6+n)M^qO%%c! zH6MMl7maDfj_}qjEbLZhX0&-Fn>d70H8N|sZO2zudXSGcMEyRWG;bC#>1?Xcu7K;8 z4l67uXetg((mcMtKKtt^4`|uz z_E@kS0on|3M6(UecZgbxj~i~N9U1%3&bwW-%IQsPOgp<0i5RR;) z^H#6ayQ>B#t*L11Pm z!6urB>buUG)B**TJsKw$kloMo*DSV;bBZ){i5}xgOVQQX-k40V-Dh8#A)f!OoMZ6LLEBSPYLULg4N`>eS&cT5v!8=7E+B5brgm;P}a$uIZ2g-!Hga|EX>k`M~ zz$%Ex$cQ?H2*nZ*WDwe74HM~eN(fz5EW0q+{q3mJ(?#(1RIsI=b7z?^eBjdg3GL?l z)?^qM=VL?{T-d&?3?MWT@(!r*E{^a%`MN6(&@Q#`I<&^*`@Xr}c+$wQ*vsP!Xio9T zBp*j(O6|q$yTOtlT7eO2xutI{yc|UO#!2}kZqNO`>~gHTyxi)Q^jnyg{KI^`Z8c;+ z5{dJbJ~)h_^h%k>M?4b3r1@-h|hP~h_{94a^Hu>o51Od z!7i#PcJ$@`ly@b1wY5waezVMhbL;-8Be*vk`L&$3^aj!7En>d#p`BI95?wt^zU`TG zr?IGZJOd_~@Hi-uhrgox4K4Vi&?^4vz z#!>c3i0l4qRm2~0Zuc#dLP!*_vGsL@F!%et_xkGZhto8c{RWrOu73iLtkUW==_$?X z136%&@94d3m3*H}^+cTvU9BvSpO1uV`FrpZJwfyiLKDQSkRRO3C+cSZEwp#yl zU*qT;7V@?SQ%k!?&CSa%EY02E!L*0f0D#pWLLAAdVXwEhpDMWtXX*5AQbKQll_A-N z2^GbjE^F>tsrgD5`F%}UDW?*RZS&=()UKcK^Mg zxPzvTySSR&2H1M`U?tpzsK+k`{5$zBnGo9iO{n}h=*RPQx$pZNGk}MGeGB+FIPu6h zn+qs~xC<~c^SAqb@&Cnm{I@1Z3IVYPTfW{_ID|!|f&S%;+oP4prrhdBkA@!I^nvZG- zf;pjI`NEE4J}w>Hkjh)wA>F|kFwvm8au4?cZGb>x*9t5lV3jkYtDnU>d}eFqWRjZB z?kgugC;L4Ef7=bccWHMXj9yDwmz3A)RFxLeXtFh7-fyC(J&+$kBvXZE{r49T75^Uu*%~o_MYqzS5woY@Vw76 z0V6lbb1V1Wq&91QvW2V;8)J!x;nxA;6oKJqp5133-eJS;Jrd~$p-X+;OK)X79&f?0 zcqxnCt(zGMB?&R})Bxbzu>*w6hAJ;(NMX3wt}>IzCUPbNuXCe(W$RfveC;lP=n>mB z$k`t);@B${R7V?oS%^K;k(gxd#p|KG&2Qn)=wax^FraDtg6Si%;{jf8eTC;e(@idU z3#Ri_i+Xe}aM)Q}$zfi0(fTYy_VP0;zar1kv{9U*7R?&ExjMBDnSAXjHu8EmfmqxN z=#i{z#c}TXVF~ar+ige)hity5;gk9=udCTtDj`xXVqbT)8HB|w$u-He*A+SBui=T- zw+pIY$P;O*r1iJUahqtVL_($mS*-N)<}s_wnmE$pnczgowfo9?mLfK>BkmqsUN6zR z;83&7$;5y&(v@(vHs?~-`}3RX)xTuYpp82F)01Oh=2qgM03!g`Q>_UmHL>&LGfi=( z-S&iL(y*)f+2D4D^7gT5hX5PJXk;`{U2qN5GT9aN(L}2#nF^~*n)W-Jw5PtQ`7hvx zj~{8v_WN^8s#k&hbL#PY=~Uqq!^D|O^@Zq8@(^W2FXRbNO8cflE(z5|e|m<(_eL%{ z=7HF!&IA_uW4TXb2ie_HQ9O$)`ZiiTaV@Uta#F9E?Hb%28>h*yrBf4ZZNzq|#0oWs zrlsGb#iQY1AIkZFL`8n4sqC^#i|CtX=UUmUjGNl$9$SwX9Q8F%7 z(3MTeY5S>vGbP;->|kI2oBtgmQW|an&g^Sy)+|+53!3;MCe%yfW0$UY8?!HL z)+NDqld}&31Ydwe+EgUe;H1U*`Zej)5@I@Kv5a#IA*Tuq4y;9v+>aC}Lhe>_XS)b6 z(g0ssQSSkgUzxC)(acTX(;Cb*?%Ev#!(2a!bzH5btXg^ylTB2nQ_@{>KWztWRs2?I zx{MhEnoi|x3tg2bMJDbvICNf7^Apvlhrab>{k>XS)m^J}(LBj_r^HW=F9%_1^c|G^ z%#4xF5V>iDm|gZN$03#r724dwVA6Uo@X;zaEqnQ!Y?=pyq)|fIQ1_8YYoo@^`IXO= zvW@sn5Eyu{tr31U_Uv`wGdg5!?}&zUpIELToyzrkjvNQJzE%X?(01XK2y1<7^t#64R#swRmZ`SQ`L4#|miO2fS8Ao~ zH26l^YgzJPFvVKZr;dt*Lo|JUo(`Y&KxvPU+VpM%#u!-v%K>e=?X1RKU7KfN0kJ^v(FTJk-w1$}uP|Xt zhl=t?A$s#|;kDuWR{C0h#o1LeA8t7gpfbN`A>!=8&wP5D*>#Re1$Np8-Vd<_<6VPz zEc~#rt8Bxs_B9wN@e)1VaVma5zcMNoy_l?;);2q5jgr-_mz(#D3)duzp2iY_M3oTx z)IwW>Wc;p0HC~9%H8E2GKcsB=k_g$%fS9J4pc(_iTz5&O<@gr-R!Nu?pQt8`L@ zm-poAP@jcAvv3AX0g5K7$WQM!4OgAI$LK0{nmS>v#VWV*iB->#=BAhNAaY;kLbFL$ zL(#+aV2=+^GHN#*qcw+Yu~D@FrB;`5nH#Q@b3-NkMaF_!PC7)B{mNPlYw?^fIv&FF zT6}fF8i1oAi*D)|6$g{HZ|c;YiNd*y12o3NxjXOxAMfGV6LRDS_xAxl{!P(%;DP_1 zlXG_r2=|U{n_>@^b9W2qe=NP>UsKxy4?lr;ce@hQcQ2jl`$NuGb8%~lq${L86kqjMdDMbln|$C&GxG`y1z2S2^_=sS7>RFYaldlnZ8fqN%O$ zR+$SOsQnW{H0FzdfGW;TIcRf7qs4MIn7Z#VcVDr)fF9hv;;5GGGUPxgM zXy{$q@t4f9A8g$nd@qbT@Gos2ULEO)AF96+`lcNh>n7&UK11ty^peisqhR2#WJIk1 z=5lK#eL0jof{Qr&-#h9f4GFIFXvo@5&ORx}Db&H@U_gsm+(N z$9ndg<+u5vE34tvFhP0TA`zdLGeUAa#Ouy%L4|WI_{O;65FVi}RZqimJVhv_FX3SB z0cIZJOca7~rmLGZi#C`;P-_Mcq@E3aM-+^fji%(S*8zYegoJ3KxyBy=PxT}wt3=_S ztVlyyOG0u|$mT5|*?ZLpN?9TQPR@MYQ~`SK`C#5G8_V85GZh5%!f_()PXjxXzv$?i zQE*l3fl(gojepX7%Hfp6(MC2{k`GqEq&Q_HI{#^7<$E(oe^oWJc1y*=@Y0)5BNWIG z)^112^JeWwlrpzeV?)=RccM@bZgzIsu&|h59QpW%yvrhmzfx7N9u<@V*!e>r5<4RY=VD-_ZoUDX7G{^Rx82xSd32ie0HS2z z!5CkUe~G5i$X9N-GVPDfdaUSD6mX>|leK&M^h?9rt5+hGkHSEv4h3}9C-mXymq0$?!C zlE+RrD$(JlwD>Ig4}o`RT2m8zJsaw~(s$8S-kg?bbZm-##gf=3r$~#hOr9mD$0!%3 z?lpv1iL#oYmO|O-+sUMj9dAH3ey>>rqraE)d+P~gA09pu z;RekUMpHe9qc>Z^!te9_Z?HrQeNcC%MGO4&?i5DDG!~*$T~x(&QvH?8C$&NpD=iwc z@R~P5E%0jLVfmi}r)JoaswG-;ALnX~37K~dvUGjZswiWT?Cl8QZU(O#i(zQeLzeag zUE1I1X{%so;!{vGO){9&BQ)s_L^GzMs*5C}u<~;qdPV(Q7r&O4E~fU1y$!iL1?1M?cSKa{GYD_yvOno@Wh{VPCGg)=-E|ksH1(MHXX!|J8Ec z{;=8EIEgUrFw7*6Xvo^_4zDe#O4si~JcfdqLV;{A^ad1D1YKbS>F&SUy+3&}FOzuj z_B#isI-RGa__4Xo?s1V>zeHiThG%qIhWEXd+sDcu^sWb@H8lvEF1be-;kuaU}Eow{0Zv_%%Mf;>^j zA=F!HmPgUc@KyO0_&csW%k7{&U%R3JKaarjxGdOBO!<$dbotfy$&!nL$7aDoM2p1b zc!Uv=-xu_YO&&?@PA2rnnkgIQ-@)D5#89kF7RS)qMiV|1BTytU~`A0SW#mNB}VfAp9`}?8OU@ zvqs3eKqOkhXPpks36_0eE<$7r{>eJc2Ff~3wCeklXvGhVpwJs6`@|n8>+)as|BVm-@V@`SP(NLJHMn~VAesw+6LogHpUIb)=n6Yr z+sS5_wr>6R3vf7o&*ggNJR?(KSDCUsaB3~x-6aoy=(bfvtxD}GfW2OVXj0G%^f4*t zerUOouf=RsV!U!tjPjIEQ`c%G-|WI=u0vB^fr{;FHhV;9Y>HdBoE4D!>#NJE@mXoyi@R0*lj@H#n5>Se349ly@$wP ztG=CivplJ!ch4*%H)u5x8)xbsM>>g3EPlfVWott~FszpazbgGHA(g?oB(5KFu}xWF zXWC8|RnyR8ubv^>GO3pEPyxVxqIs0xkw#%O-q)Qcn;FmH&48MnwujbmQh;F0R72uT z*(_S2FwLRSFejB}6mgNw>J?Q}jVx_ddoiMGn5R+P$SwAa+i)52I!%^oRujpP;Wq!r zA#U%#WRPr`e$dIpA~^K3V~`vVcmnHQo%ucg7N^2jN?g*6{d+IV~M@AqM2+~ zYrdNRJ4R*}=c=b-Pj_D3*wAt_?vXgZ($Q2S2m_b=5%Z|RQff)=$3suAob~h)^mkQf zdE~5tLC*JFCId-3)py^C9t9dniHG@ePoGmerJ=b)ex067`hDPGcCy=DG6$#PtO~Q( znb7RfZFVh$B3pl+QcA-B-$Jz!{L1@t>*fi+jr-)d)0ZL2 zIgfpjY5611z|=kd{U@)l$E)leN^KB!NF-Gwv&TDov|H@miL}y>Qhs79%fkEHf=rJv zX9}+^Hs&l8$PjNuSMXZBb&CxVVrNf|MenNkJX|5xD0$r$J78nYM-(P zAv4$MJ(MMw-j8!r7aOlSXvZpxYUPTts5u5@Uf?8wkdX?7lZZ}UU->NTAg(=GerUEsK2f3Lq2JhnPo8KQq_H0{?~cci76 zZ@Ahi+V@zd$pm=-9CrZ$Fg_rJlu1C8TUpb!o~zus zbRw4$t(p5`UUqHPJg?m)Z?mgIl2Z<(HsnxK4)~gypVYah4}H%< z=5$#_Txtg?!N99*NI4BVN-D0R)8TDAk}UM*5~5baunAEc`39-duWa?337M)aGjPt| z(0$U(-NFscEp;&QU<2QxmHWziubyV?MYF-ag%2%$rDk@QM5b*rSp--+An{3lo+Rr z8&eiZ`K!4GVpL8`W`=)q{zm@foGy#s?)GwBOmzuRbTA3zbCGdXl1?!zt!l*0mz|dI z{Pk^xDKP4t3bjQSj=jD{DT>SBl|X}5%NBYQKz74U1ntg<`VP~dmQ!I1fJ9(Z^1Y27 zZ@@YGGg3Zo`3KVSVTQCDr|av4z7mnd;yw$CRRRlJuxTG>)JQWb$E#3fy2&?T!s@e^ zQY;&x(t!o1b=qe+jggV8Y@bLvc@VgP`fLT8SC3_}0honuCaOm$`xZ5GKj)*uszHy9ij6rL(b6GD`Xt#wqN_dL?PqO#h|~pG&e|G zcNCcsaN$hFgxGIQlL9QuWBr4b!>tED9j*nDs!R!({mN%Q0Q$#Yj%F+XbqIe!|A zdow@pLQlyunA0^1^Lg5~A)Q2KgDHDlCe|LKj9xqQgm6P*G{UB|fmPa+7e74=6SK0x zY(WRrMoULlmChMJgjFwV{Ts5)1FCmP_c=w|uHqU6J@#FTPzZEcRP_nqML^jqV<)UI zi32YBB%H%Xpka}t&h?SCC;bd}Hjh!Qq2Ml5_COx{cs7z!WC(MscjvhP8``o#y3O1( z;;MtBEjDt3ssOd4(}Z*eOw`a`*2is~Xbe4|tznd6Q4KIX5xHb%#%<0qo;vnG{&u6@ zeN#Z!A|up8adbl&QrtvglfC0RSqC{G_r2sosl)Mgfh5`~IKq!9frl+(fJoib#lz zTpJ>!I$SMRc~JVHSatXtX{f7eVlIQ)%o$vLX62>u^iSlBVcLh}S}xPb_+)pD!AjCP zNc-?LSdEh7D>&+hP~j-LMx`U+`3JQ?6k2R&iEL#XWY#Ugb$~jl15V(LYV7G&r>d%z zNrchlFK2(qY9d}xG6D`97cdz?P;xPiH>fne&lO~Fxl4}5@qKvZcwsE-W)vk zJ!C2`{~(FtBNC<8-Tz#O(B}gtOCeEg@{1RokSI9*Z}CG({rJBfc75UnCxXs0%6D;t zk|Xl|r}+QxO%RlvAUFYX2g;J>%n$vR5ezV%B<(shXtLF)21>9Dg6!|g@Sp!vbR%w> z3HZY}^}cIj@nFQI@yVOev0UlrBfhr*dT&#Mn z{=`0&sSacLE80cC`@Zkxaco0Qrq^5@SnfCN31;Ebj`f!w44rjTLEK{FL@jqRuTJOC zGpEme&9M~ImQgSr%so@18*HNdyN2#@6ZtOklBZ}AM0LTf*_Kl$2`wU&M$!mClng8O z7Lr;M^nlYmI7>pvIt{9}q>iPQiw+g$?<=;Nh;4>?y(jQp|4TYm+ovZ%WnHQSB?i+T z30A%8oglb;?lZ0s+)e|V_;vv1`8qPwRL{*jv2laquy-1!$pEhSGe-YZktOiAsAzwK zJxYqs7I`C*C$tY|zrmBvjP9~cu>L^<&}=lKJ@HBd0H0H_6r;PqyD(`wx<(9}py${X zrW+a+OKP>~FA{4k*_iQpXw{r*U#Tubk_)&7TT%8~Qs)qj1zB?)q8`?^NpP#SeSDY? zHvVYs6b*Ln5U_ep@;I%aQWQcN|J`vSvc=S7xWZ5f_=Vsl7iB$0P#_voomC_Zl3l?t zmx>YA(NdzQMs9cziS=VNsAff%SEt(R|IJ>-87nPHuF;%nI33WkE_Z~=#l8R+Bmd&` zgV$r27|FrB8b4$Gt&IDI&AWqaYaZyBSQh}6L!!sz z8G8TAxBme(X&08}%!jU$84&G;tfJg3?p!JM0kM970d`_$3do(h{aK3gu{_(w z2h)cpcOlidjioT#{{!^A+`{5V=KMs)*%HagQ&3WBwn`DRPZjYg!cqQ{wVK}{66XNc z_IZ%N3~P8O70zNCzSwW%BmHS-%MSX_AN^p!at9_jNW2#!oRQ1V|C8_xi()GhP*+Tc z?ta?yrPlwhNfU7I;TRx6u8V_Bdsl!A)B^(I;!YIzNL*xx1KC-uBaE}4{sGJfI;;2O zZ87g4I#Of7j1F_D##c;|u5r9^xUrNk(lTi2E_#JSq5ZJUJKjNC^AOtDD?a+77}Ghz z7nab1G~R{ImgFV?k|t@Brq6cqftcwz=z3Jz)ugxk^nAo5VSWqWPvJ&_!oEj<2>SE? zqtc#&gyF$$LAPz&wr$(CZQHhOe{I{gZQFKF&42dP>~ptLS$T7xJSp;W^D+;530@f~;k$uKvES2Zy-B5yq)H8r4>(ds5nqcXNYZ4Z|SFOpPOM za9;ibWSg89iYYZ#mK7lA_^*uAS`+s8LVP9X3b$fEn5q=YrSD1cPA_sRCT*VHpmF;- z*J~y*@V?`wepI?YVfZ+#qfBboaZ1BBWYOlW-e=q61i=uwz&hIt301xMu6LC!u^Nz`%A@+Xq<=l2mDol$K2^ z;SMuYs}{lh$gySsKi*FJJAjQoEzA_y99DKUjlsN3C;GpyBTzha=R7Nl7*JwOC0 z=%Uo9)_T!C0pou*YTKtm-@OOE&-LE>TvPE0h(aOGK8UmSLNuS#QTk|Ni(cT*tS*9xGs5)Y(Cv$Hh=OZh9kk6G)ZaV^ohHq39rfma^)??yw!O*NF$K z{EhG+J68c!hnw2vNfCsL9WDNhz|yd#l3;$LeYZ@#7fahs8R~fKfoxZa+$;u1(7NQ_ zEyAOE*|%X=I-UFL0o`eRxbIW5Xs`bd~! zl+^&nxzOg&zPr}ajFsI2E7G+m*eR#{7YKui0u8DR0AmP*pz&#OesX&MDS#UQe5&?| z5QzIId3`M9`LEAR!HTIlnlHO8XNQ-O>P=^F-8m=22Z-78vFf2qhW~D_*9W@i7p6dg zdZUt7#(WvHko7OX+!~CanR)T?dkR>%6tSsR|C$K=`ML3} zwZ^T~GY+z@hu;nJI+&(AXcJe_(o{XbYITSK2-bE4rDS}+aIG98HNx;)`Yh;{+PPOK z1blm1V4z($xE94;qk*(YHCJXFq_wE4>7gj;(a$Kz z<|?t;g*G-_I|&+q7!g7_*isblxGIpu0$XX3R+BAe7oqZ5Cu|mh?NT6MM2aG>A#ggB zh12_>anwrTMt4kq+Z&@0uYoq&e$$Y@AewU7Xx=7HQg*X?iDi2!+H5B+VbWk$6#Tf2 zK|qYR>z8Gp+vnl4G~f8joNCkN0`$Y7pq%>hXw%h6*D87Sb46^z&B6dSxv0J69L>%} zEp}gZhl)6Is3xH$pt2FRW_6zdwI=VT&L5W9LSxqqY=YoW1vlG!vg3J=pOx3 z2d-}Jy)H)HP;N(ChuS>Anbj?pzn2pO(CiBTQ(bq8wg5ubjjLUl+!vwCT4xCp1^##? z`|a-6?dA1x=Bt7QgA_LriE_~(Ct0jiLPM{!K)RL^@b;$y@0# zizULdaaU{>5v&;H@0TQ`+76jyL|v>QFG|toNUx-Xw@1oztoq6g_@+xud+d+{L7ABz zL`asvW{*e3cWk7i%bo)+mcNxdhLqm-(c?)K`yG8>r_al+pil#(2m4R9Y1DR{OnLI9 z>rgWreRK^l0=C(-fLTwb8$WZ|tEM*?B zx>Sf!xp8IhtcLr0wpNC0Q$pWPqucJodgt{V_U zG7Bz*r0<{pO^N3zFwbi_(~q#Uwjgt zFto1`28_O>PGuv)P_pkq3&nJeGR>($by-DaBVrP+o+rPW(ch0$k+pBVF+|%ksOPyM z9QzV}=R_svtGo3`gy_ACFbLCZSNu9|qLHX7>XtJl@%>&-Uo@M-i20F1mZsp|{YV0v z`I-DqJzd9(&pKZ&4Uf@P(%9a9As2FqQdP&g-zJTcTPRv%UzfW~lS-Ra50VE!H#Ajo?wbUFKOfPTWb0HIVtgX6}UI^RT#g!GQ)+&Pu98>5hP5My^$` zQ3Pt@Z!#$2oP8%sBn^f{5SV;R1>>K4l6c<*i)Mm-vb5Bv8YQhiL*c&FfKC0m9l2cx znlR$H`B_vWS(lt2d**w8ujL;f>E`Bpyt#jCd;Z?9KR~}n>}UFUe8dIGiY>!4i6-Q7*@!sIwRwyzM? zd?!?mz@I*LL@sRnP0L64jlsoN3@k0ctC61JYo{ zq(_KnI|hZQ8M?|DbTVf#Sf!WGt#ATKQj|>nq+^W;;WI{M@WtxSWB`gwE$<=*6MDh8T8Zi_ zHME=)+A#V}`~h50{GSER^UDl=3vH)RV#wzNSrEsLSwI7Gk1Cc*`1e7YPu@Ebtl6Z^b>W=R7K z!z#L;O`Om01)*^%iwDf7BK3qW)}p9Iu$N|b>UOeRBXUii>%Q&7cB z2-U=t!d|6FwTF5vaEd z%QTZ;wM_OvpNEvI{HwN#30S?Y1oqTnt|9I&)aJ*qU8XZJI<>nHuAy3c?H;em)(HRy z)Q>va1WJgZ5Y>9-QVY)z@r$nW^luWR_~y0xfTZdZ?3YyWc7ei^a$4WeOF&w#sjO-A zkU}<^7|8{?1JsKQn$c2?d_YOqu$u}_L6!+l#VbNo=WqFN34W%1Km`5G6dJq21L6_p zSrLZimIm@x!M{`EVQQWOSbfg^a||xIWP^v;M{=#2s549p$7T8$>Ts^@+>8#YBoe5L zs8Oy%KrliVggEvg?Sz>WS3vLR>)hQ4;q`vuC%5k=wf>rX4+gsj!Sg*im7l|2N6Fwf z@%*MHBt7!Ky9D?Z>U^2I^!zi)XR(x<%>0o>@$)(J?EH~teQm!XyC0IvUB91_KTk`m zD|Zd~i^BYomvZ?(8u&jXSra|4l3rt4Ogq?ln<6ejR5|mTnLJwF=1hvcCC|89__jh- zXC{mZySJQ?C2MJ%Eho&GlWfRZ{K>(a{NytzSc`b;Kv^=}D)9?YS=&{(ESWg5q{)ZL z#|K)%$rnnIGS-N=_%>eI=fPsxcvi$0w8ax4tqUerK6X*Z^45g1c-^rqnVqPVKWGyv zF69>!a>>fMWNqnkOB%05A%S=?k|;fVv2RyH5_m+ylr=jnoCPN?o21moay?2?Tb4|* z`O2YE%}*qmL^w%V6G=Ovz7v;WrWW_^Go~FR_Pf1zPTa*;!Y`tqEv#ODM*qPi!xkr0 zP3f$i?FBM$ zS!m*Y%^M&5-tZf9bt7b~bFxdZ9ZH1@S(k~vd~=#*pH991pB+;G;!(7Vf+k~4(s^WKKpm?+7Q;byKo_P5-N%qAo= zR%z)%R@>ZtXc^P<#K#hXXMP50rc!pPRfUd$R*`FBbtFjrNS`)9tY#v%n=oQxTk6#4 zt|*#~EcHb@Xd>>z-@vtW>F_HgK9D;v)dey`UgVuf_A7>L2K#nB1Aai1ZR@G)gQh!r z;e@h2k>lzbgJDkUbF`(r0$J?8MApae#GmtZc!388;FFy&&7KG0A;B!$TXbhGuHCM) za}R#5-T1h-;-jDcqI=$dNgnrl;eqe*bKwEcD=yCc%}1^`v-oJoKkk2;?sI3<+wpO4 z`t?V=pHVM*`j()4v~9mo-C;b;adr)tCuYPQqT$BeT!FO=t7atF?rvuS_|rFVQ!SZ{*2pXkcVB?*6wJ8c=~K$#9#rJAXdMjOLFyY^UQ>_rfH z4Sr1)dJm1XtX)zTJI+@@5xQsm2x5k^8X2<{S%iQV(T_nVWniYl_J!uM*`_fke$*!z z3wyNN5V%lxP4jYu!zdI~eP2YKm5i=tJIfbL&vSRRdLB$EYHA^mmue{WKq&f)>5dsY zHvY;{xwG7+TifqR^-*+%`q^dYwLMkmay1yLwnO7tmEee%l$ED)(z9YW7&q1$oFenh zP+HFgu#^tHPH2P)lN2PGnh+_HLnLIh;}b0d2JG%Rbq`t|uORrIy7RTh@YUz~0`)!X z_1CAlkT5wLqdr=)n$9hj>CrMN@+`$if7)n9A0;J94Pw@GVs^94vZ3l%qM71cxmRaj zP}bv}t>k){MR@tN;H*29hg~z??|5Eb(HQsIPT@c8aJVb^$ssO6^=FPiy#LHON7(Xk zwj~!!7lFC`1V}}1q#-X!_BN1%IG2Dq>-QXePwNTfie4Wv2C|2M*_VRYz==9=@v1Y= z_cIVmJSzZZiVK;@Y80&m%!C-oSP_zuLOj<2WFD2uDP$!5IxP7*B!Al{0@08rbcnlP zErR^oA+2ya^5Jjwe%qS+CzlJLz+{S+@~{*>uA2!h?4_gAs|&WQ(;}(hr9N;m@W-N& z`mAVX{E&{q!tOAx09hbQR%0z{$szpqDU`b^6GcSkz#V~-z}ejynVm1qzD2hY8r}9w7JL2?Rfmmjv&Wm+k%kcFo}l){k%toe z!K>LL3B~?}UCxv%gLFd$^0TuTtApw}w>I9<5s#gt8hffRxus$$)YV%>8%b|! zsr+DJ%ixBq4}uS-at9n)8@S|NDzO9EM-YfE>8}jMfUAl&N+E7iwD&DXP}Qx z4c>zTrKlH8yf>~V!P4TG(UYq3T6g#o``3jIEDlnP%CkF=(~8 z`s94}Zbr2>9O-bl8?RNxqc@32{15=U(NdK5>g{P=H#-c5v!g+~lkwD@2skNe zJGR7jl$?~QlAyb9F_5KABhVc&tXSK+T_RJQDIhHvy+pY5n6fuaJ)uYAny?dh)^ zkRsQ3F<-1YBXZdCDi*zLqyiF(IsLcMwv!@ibX^kUuZvM72Yj?#NBpkgx&b;vV z_P#Gw)d9zjS++hjd{7AqmIYL=&ufcOSW^Git%{`2;>-vzkYnyKRC)>m_e&Oh-NPpH z5|98d@AJY+$6TSbhiEUK38n|TjHcV`>k4O??g&_tnPK+t9iXStkOa$67lC$Ew7!$_ zNa-X6NssI+vE>P4?{j%}2K-^et1a-@H%DDSjdl7qtHV8z1pclL7M{idH z=!oqzk7R3ChEcViVp3{0nU$1LZ6zexNs?ui)c{v!W`iAz^uuMG{1 z+y;F8O_bVX`aE7=;P<}A2jG2E0DS9q>)aLXiS5)<-`4R-02&%{Ns+q*%7Y!;g|Px! zbR|Ep+AxlZdFY0Yo6@wKa4c-E&7Ly&dR)@k@e|8W;7^D@iZdAfGFP{hfNv__@Y+;x z8v6FGl*xiFhZYOTtc#Ce)of?DdLvZ0{0PH$2WANScSPA3(2wV}hax7m4`}uL zMkidxa^m=IAKbP{(Ml4bc$>>pLo2z)&`Z)0=mRv3vGE|S`*@s2i6eS*yLVvezu+44 zUZPCg;NB2|EEDPPztn=Kxf@CTkqS8;zp`6S&4NSXl*>z?-6%A(6nwyzz0$U^36eI- zMv|A?g&<`{^iOA3y?8FmufgAAZZh0qY0lX!v(wj^WnmCl==Vj8DS7GM?e(=sxs=Oh z`AT`0?EWzLN$%kn`i(i4v|tO2_Ze<2K-1WIIJZqq@W%wxUexOs7_ywfXGq&I*W&C1 zST&YcuvVkA(TLN|C>g2hLD#lG^Dp_NSaAUVWLWx5v+$c`;WN*~XP%D9JQb$dnxeSWhBjd{H>(ODpB>b zp)Vm{D>Az}rh9(r-X^3eJtoGUW+BbGvrs~-L}a-H3v-I(~ zzT$d5y@?W^p6LB?aaMUz`uObqV7pE}{#v#vF2p&Wn^9~_8I++lII3GYUc)d(=LQQ% zR4G{nGl}zmh2EDz+TS=Xe=mSe52`jUi_4;M>92sWq6aWDw=y_&=HR`U{TrJwd_^0pZQD0{5mJrt#dG0( z{W@;_CrHpGl3fD*iHk<7+Y@e%Pb%z0w2u=UHq{J>0oNqT<`Do}(2>^N{CrYcS#js3 zKGmn}Eem72;}%gVD)<_{govoA>^pZ%ook#rIQbf+f$Gkqr4e~0NqLvLzmHN_y`UE*~~~JEkspQ*40N;wuX>yR({s6HZO1++{_Z_GI*y6 zp^$Ynue%*FNsgtyi;vv?7WzvjsS2(c*n$0{!z6*f7OHSByI(IFz9yixhorqdS96O4 zsPj?eBcGcMZ2LzN=f?s36z$wtnAF|g{yFxtSNrGq@c43q{U}BeMl^S&nZWs?+US6S zF$#v3odA8m;b>c`-qD^c$WJDP)I&(4pq#jnCBz*zZrh7q{MHAt$T63H99!YoziPPz zIa*>6VJ&6ATxM{m{)4a0-WWC%<%Lh`13~pE#%D!Hw51E%#)Jd4%pc`?&il z((5Z>H4QE8x3xli0*rqNE3#Wiob#zj0+$G~jx15_IZRTCoyM56 zs<8s@T!W|@M$SAv95w|&y9Y6qFJmIc)soo6?X$N(L?gSwLnr|mq{z_$zBP#zBhE%E ztm|dXZ33z%sGGuOi46^Q{4uE(vvAU}0x3kb(RNzQQPgRm(@217f<2u+m?S@mnRnEA zpZ5Hv45aMydee(qnlH*8AUrez40J9=C1{*&>wV_J24tlqc!X>0CZ}t-36-Sd>L$~n z)o9Ew{dsr83&Zjw)?|jn@M8uTT3Ww!iDx&RZ@ijRnWdb{M@gZ-lPn0imD?&RE@ETe z4cu~cPHsgSi@#`sCX`=U3^$RiCs;on>R)0WU(o7w~Ep63xpn;%0p8{21b7!6k{bZM*g=pH#K{q;&K+3SE80g+Zt{`Zq5dvU>&Mfmc3@>!Y zia-#m(*#rwMU#nBktxxXyd4EgQKkydgB&W%lf_LbYuKEX+{1A)r#W*y9~omIe<^2k ze5Z?@+*kAM421pkjJceIJk>;#Z1S@badSDx1w5n94UnbUJu_iOC?YY}SE%_R>8wJi z(2Du|SG-6LILY9RsiAK^y2G;a6#k%)ENV^{5!3C6r{En0lNJDwwl~wnUD&;En-taP z7>18I@RULrSOU#why#W?k(u5lN;B<_kyEx0z0~4~@Ws}wIL$M@6A7$r7==efQb_|q z?W9{PxZGL{OUGZ-4D&p=`#{wW3E?MF-28-qP0?B>0X`t*OfvB7_$#VCGTC!5@3!752DKO^ zQFX5n$%@zEseX!8Y8lSyO~gkTF#p1Ft|fNIpI&NJdrBTE8{y!f#Cv>vK-ebH{-H`u zarSvZsas2W53evWpzAITpGks7oeN>zx0ILY><8qjet^LYMdYYAJfkuHdz8Al_8H-A zr!(bQw79&GgSPgH0SRkE_|enXcj1pKgBd`r8eRD>cfR{rY4nlm*?BAto6v4t6Cu={ z?n8@@ahh+9Il|cCq0&K9+F(*mO6v~}hRL}pAXcD#vb}ko3+l&IAVR8V1>SAx+I}S) z1Sfplt%niq94<%BG(pzBHot)dr39`g_1)EEpSv#6C!CI|+BSI=8#H|K0LaNDX`+MOLG&ra}T`bRA z`k@HgAlt(z<-D@Mxg!ne|o zEiiBc`}gT1C}FC7zZr6sdFF(VG`ptk8Oa-A+;TMN&UW?EXNfHDHlsZ6efM+12&Vh> zG&(D``jP2;M1CVH@wXZVlBr)+ERxBYfMoS zT}$&awxsI!8p`El8ji<6UBkm57?_Fp59DFL(V3QHFqJrZHnQI|V_~vTm(tKzmE^1n zwJCE*TFh#5UP=EjDT7q6ku@Aa`iX(LxbztT`>mVw{r$>-9Pl2L=l+8*9f~yzG zAxKpC)|@IT(;uv$rMrlmQK5|LfuEC zML1A@TZHElXx@o{QDz1(!`$<}rs0!WRUrqi)=MY;yu4A5Qy!)Dhdx8n*;7y>in*|5 z#k0WHJT62+Yg*MLG{NWrLMPgquQXbHKZHUWPm56%S)L9lr%3G9LXS}>wP?jeN8J;m z1f+9F|FYyutTb$H)@&y|c}EU0i%mGnR%;DCZ258|!Yp|@!o5I)bCT{9S-|`yZ8kOY z8XUUWs57l;&A2jC5XAl`q2_=laXE}gR88>xJ6%bYn%TgjT%y4zm>E4Nc z+~1G*5_d=;X^;}NW3_9Bxnu=+lP~cW435up7w0omQey3fdfyz6S+{R<#|FG!+8-qL zHE~YU)m^E)vE(X^6Th@}i&cvf3=1~i*bnz))kg5qoZlj!(mj-K2 z-FTSb07@ytERs}s?w63n%HU_Lw(bcM5|&wDwMkW6xkOYrA73|)rBoaf^z&8z_mXeY zvC?)$AzH&iRcLX5)?l!rb%z*%}yTWw6oucveTD_Sfjit+zz8B5(;_feCEF>cA z`+(9UV-gdJB;nuZAdRJ>1vT}hi7F7AUql1^sdeh;-~`pl*PH*6*HOEQN)l=n<|+?| z^bHDKp)&DK!MF*2`Q854i5iOSgkGa|-lkc}8|;-SWjlyKg(+bpc2YKfCBZSQhPzmj zSRxM51xhjTHK|fcbFF8~D9n4S*^0h74n$=rt$7#@Ityezk}IuW~GkZ?3abMTbr=IKupM4l4` z|MSyj{-sZ3_lk#_el`AY#V|k_o(YGr8HG=F8+pmT*qN|^y*VNtj2dr2hWU!Oegv}e zIeGkJo+A@%#UA`3$>m74_CB?>s-A)A8w@ zgSQeplflz3;Gq8e#|cQzA$Iu&AF3p^y!IWl&pN(UM4P7E$F?jhZ9LYDc`cEZjNc!Y zUNnCrY_F+;{%G{(NHuXv!CFTLloB)tPT?OX<%aO%MLG3vafMb>RoPZ>Qn=O!+2WoZ78l;HGc~n}P9n7ESyYoL-w{G-4A~?lGrFk-fna z$t!vw+I5Ihm{L@3>Nb*LuKmPhEoO|&i)d62-{&mXOF<_?N@rHUrmIVhf?1N-mI*~ZY878fUp4tNMPBJpE zlV4ev*|dYTU<)H5N`zWMvb;V2h%KvfSVz>J(C}^v^+o{q16p!)fvb6;0N0ES%2x2z ziW#Og2U0|>Fe2_kj_qk5*T62wn0l&iXXG#>A6a!9fto_;pG{>QM^9bgvS#xB+4yiS zr@Oa|gOee;dC%XLhqD$_?${Jl9m!>j*>8IAXa|=9EPjUB%4*3-S`(#Wj481~y0*?y z?4FXk*8iKLHN;1?rqV(n6)_|_Eiw!omm5+U+Mp$F)^u8#H@m8jC6H)z&3Ua$W7V!F zAb8^rX$gyHF33I3pwo!TsS9X<1-=t3f;oF{PGWs>opOF1-Woor*B1!}1G$v%`>V5r zbw}>5Yr~cYzV3kBeRFgc^HXE7)_TBqd||F!*JAn1H)ld_*+51pJKIHCqVCU}07^q(fe8O?pLoJ1nrpaVNYXY5kyFupRkZ@nS@j6AWtF1?1g=JKFaE)h*^NZfjcr{`*E9tP>mN`> z)Uxhab*Pk)2yB%~QF)Nj?l)eI0}ZIg)>{li*G>-&Xfa_xRz%EeYD9}t%`~Lyt9qya z>+$SGXephs+~Tela_x}q7;o7|6&UDn*nj1s^`{g%V?b$HR+xEmiSBo3-gu<8zOPhk=${ES2MkZK{6 z`Kpto{1aWCq11zHX}jJ@Yf;QzJMirA7;N~X^h@GT<-eKp#~|=heJnaq!#w+IKT)M7 zxZZ7hEPye`T`lk5XnyUpl-u^S_+@|LPdC@cv&Zj5Xe!0%T@fRf<-*XzM>mM4Fmtus>$!tO$PBs?-EFlN{ClQ-QO4O zxN3j{@Jr$a5zKH=s(E-E{xij_vVY^3;WP_tTWF#&3|3dn*A;bdu#qYI?u@URi^S0! zAxV%WqK5$-&jEXSFnA5ru8W1_Pa4=o@Mvf@&`bg0@cAE)A(i)`^@{xTa{f2spK}dl z%=4?nk&c3%_l{zlVr!t0(>PVusDQiwlP=Srmckzq^V9eH+40r!`qM(4}6}QHgn%G zUrJ9alkuj;TA&jKAfuiymh#Zdg$E!ET4mljbv>{?b3yDPAaBrbr9Q^m%~;yzClt&a z#(W;>Qp_aZY9JO}auSR#)$Ug;qYXK{Z&2H3{qw95#ew(~&;mu5iisrYR99jCjl;x8 zkPg=9=KMk#S}KDteMALB6??S_EbV77Q;YE23@aydZ%@){v6y+Pv8m`R_LkH1d&Ns2 zrzdpoh`uxA=K*B5zY}0;ZgK9~E0e@FyAIbOV9%$r7byO|Sd9B=pSZjqxF7>lx#i9~ zxE5Q8mk9nkE|&&6|G&(%hYBTBc>})sCbf3`;~!Jq?ylcJ-xuAx@5GmkMMeKQ>)&=s z+`Cfz^K|@noUzVxa+gVbSg+gHIeA{#z*lPU{4k5Ej9~4l5hi!y*!#N$Abzs!GM2tQ z+i+$fr$IP5o4_ZESbL@84PsrBc#=6Kt!;UGyS+L9I1A9Fug&b;7h;lfw`P95qNPka zJq?r#Wq*zEPlg}`B}_A=H1~G=AH&>p{+0D1*l74Gj=z7Sc(?Ta8s;DJ%&!vdG^N4c zCA$wcW85eLaDZ(KLu~(g>TD$J27fVb*2vlQ+9HJkvo2`YylGd2QIfN3o#M(7v?M%x?8y&v_NqmrjB=ivGK(C#or%3NW zzmXjng$DUK{LwyTyEW@>@<`c zimt{jZ8{z2B%!(ms>i(x?1!OD8_9ZDW9@~obfgx{niHk){{bp$;QQb-EG`%*TC}rD zH5;(_0KrPjIs>k^PK))L(xH7Z*a3K3-T~|7Op55s;zzJw3u7^F0|SxV3U9u>@zxvA zH(xkc;Pujx`W|?F>#r5w*8TK`*45E}>VtGN8^V6(z3f5G$Wl<3)HR%lMPNIz%^S>4 z#U=aD=40UHUMYrCEqj6r=zR5Cx*23*bJCFGbmq_mgnmCwKRBk;bc zR`Yd3E=wBmNd+{bA?YG`OpJ@E6b-~jj-e+kXGvTAh+G1yQE1I|o{o^gYc-K7l$9Lgzl{5&O(>zQv_9ef9(JsraF5_WJ}!n` z4?L*dr?SgfF5#ySxwBtiB>jW6K9LBOrkHU?rsm=6`JD>I)1l{e2B#X%VCAfWZoqXbzjk`4VTJH(H;q-Z z^wUVN7C8XKO{eJ0>(JS_>Vw&7(i`ReZ64NnZB%uTy#~zk>CXr1_2H*jEZkbhy2I~X z?6YR*eBoUF7DJuNAA-xt16o;9UfV~htObiW#5(brDWMj-S1X;BSzsVI|e3)HiN z|2=V!f!DZ@tOX?ix_1YYqs}G^6KD_gse1H|X`C5bl=8Cfkot)(s7E(@@~u|0dgDTF zG-i5ssEvW(E%(B*Yu3owhN7oMG816!BQMnz@jQgD;dl7{9vN8g<5->T&d!7NNKALa zi7(`qsk`W%%@QN!+n3dWvmRx=FJCcrf)69tSel6Qsf<)er8h4vcWs)xR0aZRDF zn}wB>)TYWf=}iyN%(`LrAs0Z_nQ43f)&^vxu3mV=U}71U*|xs+hAR{P z>^+F~x^I7_J{+#F;<?NFEXiZG3@h|Uh;k^954nM~KGdx%R zfeRWTl#wIn6u(x)Pq)b?aEjc&KLhGh7A-;;PuiF)7yCAUK4ir%#ktBtx-h7c{OY_e zL}-xEoe;(R%9Sg)M4YB62ay!SMS({@;f~r#5%D!qnxn0~3@}FtIihS9&^HG0#p7j+wG0*C~yq^Ev+<;F&GqO^!z@O#yoI%eBR>Ul&kK12_? z>=wP2uN&ftFN>ed3nY}K#BO~Xt@Hx)7^znEWa1PdzLPbZvvpTt`c~)|XDt^bJ|p-X zwrbLCRSTfgzh7($)RQ<1sX#>l1jE#q2QzbD(&7TDDcbZJGQ zIF3VyuYJz*=rC@c3NF2^CL#0-8n+OltKF=UI*9cx0nK(5K5)sQaQu8V!|HH=GAlM2 z$Q|rD`Mz11I~{om{i|jCsP49Ma95r7NISm(L>oyzLW#7*MIzrf=LNQhS7+>cvr|L% zQJtfJ^LzVSvs%@wIZ@(G=3EnR4B`%tHc$aIr;~k$y{j5jzjy=~?aTLvp%!%7`7t{$ z%4m5xYSpP26+Qv*SSAY|%?ufh-9G^LvJX$Vac$22m8Ga@pvf@~7t44CJEAV$INd|b zRU-#)I#Z7#*(t5@0ecS~9+3&;AD}ZdNHsGam0P;Nf|a^PxDG6t%(FjZAVu7SOOwfQ z(dHpi@ALX_(-jhhld-Uoo0U0=+6GG;F+jej63pmp38!GzxW97 z$#9oE|JchVlJsco6>K2MwXW$vRMI(;^3QFG)Br(1zQ3}~kG{n4#~r_~-UoFXfROYm z;48b#A6y)tTl(f1H3y$|v3CWm{iCNWA)&oCGv||dp2VV|4rvd+yRl>ZozBFNk4IBgwi3GYRF>8aFerR88NhWfIcwo>?I5gWri=BbZrQC7IN zk6Sz;Ab|jq;B~zz%4W4zltB!UV~s4cvpquYJCQkR0RpSr>lw*BT9fzavK@($m%D4a z&gRWIDE&?9Y+?8KluB@IZ307GWxYy72s>IWC&N7f|nvmt|T*G(+f~@v5)pb zl6mjq@!4r7pt$%bRU&Af{^{J!^Y#sPIiW28&`{=ZHt<3hqJoO4bV~oo#hG;?&sb+09Sh)McR&OscdC&sm;E7G)bRah5Y0aM4*Hop6kP z2D=${B!t={@9qc~6oI#zyAU?|RhS1p?z^p$0BrE$m6X-+1=|p5aP^KEi&1Z5w+u_o zBJ>yc*YYw8&X2L%lHINcH7vmlW?-0W4Gqq5tz!$X1mau8e>k@Ak5etYKm;FM@_V=U zh5vM;vho9whve^M-G^_WHP$lQP01P%yu7VspQ$IK*(4Dg2D_cr1TVX;MTN*bg>jRy zPAR$ukz|pPS(d}pJ`cN3j97k#{AGHTsuYBXUhk3;VfF24I$~B?mb{#Ym==yDzwH*B zQB`Yth-?!9Lget~TW;OH3+*Qq-a>ZFp$30;-G?lFe#lw>*}rQ~ET;P8NoxF@6{J+} zm^-zF4G+M+xV&$4vS0HhgZNf=4c$8PK>wNNgqGMLy>Y@C?~p24#yuBc+_EJ~u=J3N za)8eHlRZ~Rl)P_D#X!YPx0X z9(7U(VAtE&5l3j0B)OTN_v@}UJC0TO^w$#3;;Cs5SGD}kn?oio1C?PJ{SH8+`P2L%@?o3!u0^D0b?zdu>FT@PaP zrzz1iZkJp-MHQ~uiiU0p`zJ+qK!X5eY&~q9j}t5fvdsJyX$aVi5oYaf#M&{c&K8hOeR%!EA`*AazT*m_j6oaXClD zdzw-LqrvKAIq&boydk@oUrt0)$LG*vp*dXY*UKSj@JcqVo~^niToP<{1j`v%I~gjV z;gOY6(X57Ycstndm=h5*Y&E46lL6+VX^KAUo*A32FtDWBR~qCMT5FWyj8)V>Mhw$I z#C9$^h9*>xK*CZyI>x2u6gyi*Q*F|PR{^Yo%`o0V*8Cxm!htHC6i=yns)Onf;_n~d7DHbviLCYfEfQ_YkK2`( zul=$t1`?oYgI|4f26ybL^gMOy=@f{d%?%|jwUhM_Fi_SttrVMdgak)iu~dx&^ukd} z5a$({n`5EuKzfUbD0CG#^=F>rRw1Hs9s8*tHa0zw^{s97GJ>y`5h-V@Tw!@@jRCs` z3f6juW~b)e%ve11OUqlzIw(dTUtA+gl09;6rrD|(5quGADpf!Med}F92i-3VWC3c` zT9Gw=+-21)p)=@xoL4_N} zBiqt^8S7dTb4^-DZ(jumA)a&)%e-h-pJcr$KcP#nIM-_U8g@%+?#&u!Rsk9P!&94) zJd1T@4NYO9!pM5z+&^zZX4#B>V9)Eel|<-+btg-0cU6&^5gy9GdB64ca>;N9moL!BCfCe%mcw1EFYb~oaba0hfp{2fxmKd?o18AS3mmyHC`bG?IRx5LEJnH zx(9iRz4-ZCB^Hu&n=y|4Rs5}fD=%OTQHRN)<0L6wugW3gBuQC{gbamW#y*WKwO5A5 zJp<{6|DeW_6b4xuJ2d zWMXo3tTE1fDv>-DOI(M{@iNiTSLLBHR7||qqoOpQ)x@8fmXlHBEph4@pOWS6aO1Yh zLb6WM7V37Hg_h+>`;XBUN$I^g-H2?Typps7{EU(;9ea+R6-USP{r>|IK<>Y@E-}1! zdEsM}*?zVqwi9wy(@SfQJpRk#@rNp(om4t&i((V#rj^Zl1+fV<<0Z4>#jpwF_sV5I z-;J-ygg0u;R)U&bemb#6o5V^_y_&0Zwj3`z-Tkd(nj$}OjqmZp}KPAVxqpu{d^Zj;JL4>epS?atKFQBxF}FpR{q(fxwZlqp6_Mt6%r z6NpC2MF$H(6UYviir!0|dT4F>aBt_dqR+_%pS^O6_)?2J4=C`AUv86% zJ8kJ^G&|!Sg`JZYZ6cec6>}zJ{N1~d^TD#D!C{@8CyiK=J8^}qZ5ptms+DL;wD6;j zaIqqkbO*!on_-`Kw%6RhU&b`eR7(p(7E_|r<1`%`xh97HPKndBCFNs$+N^DK&^yJJcFKk4%14-ury9Lc{}-2CRS9HzMJU>Z`d2Fyof%&Z3=yNB*hXb< zU81}X-BlNG3pf7ew9@#&C)2bEAxzDNXk)i!^9$f6g(=1Ssn;ljGc zhY7J{md{4`6I62Zj!Aip#=L(I%n=ac#sM zr#iNZE-BLTx|LUi7WIaDS&n-h#v??7c?337;6d7u+TkBBgkRu=;GNZ;=4qsCYC?;# z1KTQRO|b<(BerFK5C#(!^3D`Bu=|p|;jA+K!u~~%x>Lmx&pm3{%x7s@&fyZ;tHjB+R%i1PI9W) zT>s!hI|=p7-Zxs%>mePyIDHbm6-ot4b?c(FK|{>8bJj|S>6`%mK?t9J7VB3sDd~Fp zqM7g6mD;o=t>z7*Ie<}^zb364uW~>rsMb3tN$-odmMP0Mu_X(YArPgJnd8^c35^f~ zvtG~rXz4pXRKMS-87XPD;gz{Zq@oorp$T1Ke{dd8V>b%`Di{n9%KI%(p31%DOa(mU z00tx)CCN!oAfFgW6h@7&p}QTD2#?<&_KtY)Esy!94kQaNPvxWV_49sPCmtWohuF&f z)_O_9q!)>_CoDl~P;8!-(uxXelCvi{(hzg@)Eg?NIB((oG2bQracn0Z#N*u9qZnoA z9qHA54e^Miy_qnhp8v=?voUr6-}%%!)0-@}Ht!5N5rIR(S*3B)I1^=EFwBnY(Km`A zRxla~x!ju9VispttuGp)ZHa=ZB=a*u*czt~XMWz-5g&XZ@JB`0`>fP=G{2{7%_tWI zYZT_)HC@6X;ic9Iun;L{bs@IHLj0wdl<4A?n(hw8C$Jbrv96>(gqUX{W11-q3u7~|N8GC{)t&m_^V@Lu@AHd zuUakC&I6{0RP=(tm>1+#u%HwbAq3%~MbRT7O-;17v5C!9X~W1HajmzeE!d1)L2R)5 z1SHiP@#-VXS~V(NqH-mWz1Oc9>$3H5e!XnHjzw)A-nbAGW<5vN?S^f;CIBW!Fw%+H zF^^5N!UU=RWx}AMT=EJBXLMH4{pu)Dn^IBbFgO_2p^F?#9PF+1+r&h{ScuqUSP!KH zdii~?{?*cA(G$%0(I{Q>R>Q1(srkEcKm(a)#&;mS@Gv${ly8y>$Bk zQ6Frbt6)iwtRz*fJWjpJluDHezPR-2l*g(|nNX3E z-puRZT9hemITGtn9;5Okz2+pnGgL~oNmoUZKrx}tWT$>4gO;l3X(~-OHb_ z_{o?dk=l^Ns*prKc*^J#Ye1%_wIr_dV^n-RPOZoEDvwz1`{eo#ch3gNK15|l0*58M zGQEzY+n&F&ZJLe#y7v{UyC|bUb{96bV}QFlXs3hP2}Rgw0i#y0g_E^ZZEhgqGs1?4 zoq1NlE`+#gYrCbcWeTq{Q5u!ov_a5ZAp*Al4cpGq?!))HT}AN8o>kCIJg9jiUYA&P zNXk=|Vw9`}0P|OQ3vxlKwtzfEj2VGKj&2Nn zGQyIO(6v5as=t6^Cna*}B#6Mci0+*sJ(rY2^zr(J-6fr#)7SX&4!%Xs)(wNO4(>c~ zLK(P6p!ov3Wm@*+Tw>cDy&d2K|KV=Ks&6Vu6_+bcmj(O(y%cYRvL5Xp#??WttmO>qc(= z+1a+e0gTVR!YhZb`LbZf*43Q-BWr|B=k18@ycnP>Nx`JV6yDdodWr8N04V!N%er7Q z_;vET`H!MvBr95}STnv&mW{fI?K8Z?V1+>@IVjKG*&3y2yeU+YFP?ny3gB zN;VtV8U5SO7UZW>9r=m;M93AnBL4sC{~60AXxqdiLym(VM!S;uo_tv23HOZq_hrT5aJc$K`<)1sB!! zj&7p@!Ct9re(R9c>V{=3cQtf)j=AmDgFiMd!MIwGOLclG!6j;H5)pph#z>5-Rc|=( z_EY09AHVz!jMZ47ljoKG-4_RYrAv2$lSKYWcjCPmC>@YeR-lZ|FSml@+f7gQ4oM>v z0zu~}@jSw)vh^fYH_sWl61nrt5_HXulWZ7Ol6-&CmlxlkK&-*3+6D-;EBpvGYq7_o zW{uuNP&_KrJLo{E+*_ZWb%5FnzT1B zhTbx0J)xzYcP`A52iR2KH6OYpJXFEWF_ryodTI_x7)00v-(Z~I?#f5!XzA%q3-Wyx ztmO(`<^z}Z7c*}aLL)Wr|3}gt-`(Zm3-7tPloKy${NJEH*0JdzcmBs&H`{ZFSz947 zZYDV4p_Mx?X1Q<*isY&V0WyPjF8Wr~ixWIg1B;f~zFOU7I@5XsZ6&i{a^pfz>W#I= z(eKWFN9N?|x#sc;j}dI5ubKdsak#Oy+GwLd?}+SL*X$?{z>+S*PV40~f_c#^`_gOC z?a5_zCGvg%t_Oe}I-VUcHaWBZ(IqLKFHRoyPOe1GE>_SaZF?mOo~7m5oV?llo_9xY z#2vX~xa`1sqw~LlXsADkC;A_bx3I^Zz3PnCYOkD_N-klW-_}@mL>u;;%*kIwC7S1` z^;S@n?yj=YVFaBfK6Jy*#VoaYdI<*q^FygScR^8@@y37j`|&&Ra^+vN{&fR)3`f^q zKW#?;6_zcaP-_nGGFCBRbzZPrR=AVkaknO^S?E&FLvm3e4-K57aes}Wx+>^;^pHed z8+u9KL)?8T_xs-p@jm>-xB$RBq9C6S@^gr5JU&O3(PCY+%KX|4YK_GVDSm@ccN*@2f-kd;Gk>SPo+FQJQIt|3D0Gndq;H zS(NX)_pMv#hQW;s+l1cC1E#VVr=KcgAybZe6TK*;m}xm<3Gch#;3x3E$L$y}Ps}yQm~wUU zE(&AzednsDftCWh5_Lh?Vh!Ql9o9POW3z08R241R$+(FKtExEh5E=28v$Y7RZmdmgDY_xZk|*1xhK?}?go zIu1Ia1wLN^c(Y)#Iz4s%D$~1UC!0+xKs`%vl=7KXc!^>~VL(uF;k!X?#Z(!&-P6EQKG)7e+B>7`Qh#VUakf_BY`NpnN#ni zB)aN@QG_qRbN;*Y&XZ4m_vDKw&(8Fmzc|;k_k8hR%%7c;KoMMzqL~?!J#YMFW%>-= zi6%FBzh)Ch$wGr#+kAwV_P&MV=bhL)0pbRN2waihl%iqd?a4Yiqu%l{XLm#dhjM7< z)&V&9Hx;~&=KG?3;H?Ammrdu=YJDz<8iYo>bb;CnyXHQmyN+W^faBebruJG~Ny$$KP>MoI_E z4~KLb*Sg2Hb<0s_L*KTZvcd6$rtP*(-5#N|>~L?WUI?8M=nJ7`3{%lAJyt1#yY0 zWH_lt)N~Epnl!iFFLi0>sF0QBG&F#M0&j(qS8R@s)}l3odP~)7BY8)+gf^nBOv*z* zjW_i*uXhIe#)Bza_#H(7A|U`+#w+q{@$Bir%N%OWwo^*VCB`9a&OgH@Z61#wJPNHf zyse5fWBRqJDrhXqCnQ5OEt}y-cMVr8p@iyeMGMJ@Xh>T*QFY$0iGx?d(^?8qun|pB zw#$Rhr8$7Wgx#@pEOgv z#p_q+TA~D$a5LMkCfXml_cOa2G|sv^8)wI@cK~FQorjimWvi9ZVoTUZaF5*{dQKxs zn!SYv|2onQ@leeR5oMD!pd{tTw%i$1)RXm|U6sdIaE9nwmB%&w`Si+5zx+e*lIx2N zHY1`3K&98PFF;QbaDCB5t8IM`AEL5;fJ5{edM95MR4ShRsSw$Xo_nHWX6T!}nO5ZD z+iUWY%bPeDtm&QALrkC+P(&L+pdMIQCznscKGs5pU9NU*4#ik@z{+=$;dGaJx&ZSs zW{9PfO0DGk2*Oc+x$%AL*%tTo? zqU0VH2pp0S^mkI}2srseRsq@LQTG+grrrlV_x+O>2V9E74@k zqU^yd!PSvWfiU4!&yDd(1w2WzOo-E>E?=gvll=yms(^(^E?-&!@8SF9T;2p1%C++5 zcoUypl=MeYkyn4ZHp4pqnHDW5d19r0bGN2J4LeXbMSpA?ruC8}MaR9ptK8_%$xEsz z>Np^QLSAThA!_wy2~Ys=6;DaIhdz;k*k8wb%=CH9`;ryef6*g+fuBQfi|6Exs93n1 z_#LA;(I1a z&AZD96jCBaTB%6Ak|kN z7oS3}yziRd@G4m9+&{(oZEXs%OtD_F^!0{nK}yQDP`nPru!&`P&0vso@7hz)3=l>L zdC4&BoJedB!3JgNejF-gSLAGv&WjX40yA)-W~cM(@62??cxx5dYN2 z#|cgvxxl#h$c2$bKwIx|DA_7eM1Z83Hb46fJ3SPL@G%J-ti&P34{*1@gi(5|WjuxDrh|g4L=0 zhTh$Gb}z_l?^8-LQ4}nTdIiJ^7s8PoFx^Zpl3d*U0gN|erai$8c=GPm#mm>P7G?gc zjkudDF>fWCa}~N76JTEwfk;xoQtCh;j|{k*)J88MCYICUIr&DSJ0JXDHiRjJ3R^D? zg$RM`x3p@D0@qqKjLm#c)00oHMRbmn-c%zxMbumaiVuAakWa&uQ*N7(?y$es-FNz{ zeck&!W<3I9DghbefV#92jpog!&r3{Yun13D$(jZJ^yjj;v5O7{`;G;>Y7H&zJGL5H zS@W@r{DuV%YGAZg8_dK9&#O@f2A3Mavwr@yO~ud)WsD53uJ7qEtEeV>_r$GMj@jLl zJJHYBM)6&?kCO^2x8@emi+7t_75F z8l2UrDu&X^`W>Lwfi|>ciZvZ}PA00#bh~(4v+7#W>?Rl$IqC<$c>UlW0bk2DSYT=@ z)4D`4JU~C^Y5bYvwwPS_n$~HaB>VP`F5o^!&?-!3twjwei=#_`wb`Ncs+6;9Wcaio zt@owA$SUAhssK$!516#RyfmHcxf+PXu<#dO#pO#?)S zgXnlsGW7}bkfQ#{-dTdTcQis%C*1+Q)|59SPi{19*AgP_|&;yv(~PJLWc}my{=&YRxu58m1mIlM->sh7kX^7+osq*00-&j`ei0I7Ja68X^^K%$e7pKV+YZ*R+<13a^z| z=(`{Q;-RY=p-D~HKT&@OGeX0g58A4rj9kkD13N9vt^D@DTN$5$yV*3KDwuy6`xkBk z*$2In@p*)c8J{WF^W`cC3hJ$EU&xsQ?<-VR)vpeay-o$p9j8|@j38z#wYcT z#wYEj#wQlx!>8XB*o66T`bMOpWL&vLOIQ(TO;~$EWIMY^3C*81>M8-(x`_k(RRo5Abm7qE|1UG-SObAj-;J- zW@74^*)Q0l2XePzCNA!2PWtxXgWv_-1FD`?f)M8^q(Y{6`W~ehMkaZhCqZ&@_QDn1 z*#x4?O0i}|Gj{HK7+AewC2Ilzr#2bV*1TT& z_NP#hx&d7qjr=FMC*YUT6P4k0E1E0s$aTZUS>hC9CaUwWEHuACIVOn0t!Nt)^Rm4z zpjlm}#!6nhhf310wKhQ-4|EbCLhhZWdsu387jhZTMh?yi)gQg1w>-DH4ff)2=z%qr z#+wMCaw$c|gFp=W@wN?3EYOa6Z3SHzGPN{NKu@+{@I7g*E0MFSc3E(_xt{FwANn#T zUpbRKhNnnev|+&aFIgoy=q37g(Yh0$(FoXv*!t`q7}53Ww|{!mjsHWu#1p$$=j@xR z_P;|iS`=~@`NE3*u#T=tf(dIokpa-Luqy(o8>m&derS_}DAI!?7nLOdO}*{!bjSeV z(KgH+fDqdqgDt=KV9ViI)Lm~`>Vcf};0uEDw-=GUuntehn^H%3p-kVO&!Csw?ubCI z(WX0yvAJ2`%sXZY9%^@R_XT686o5W}9|jOwV89}4wIPP`SnpYvuMlq|nZUXU1rjjM zL)F?`+*Nn9$uF)(>&N;kS@*uLl-iGp{+uoWQ5kC(0s*i6=-AI01sig(DWOH#UL-5X z5`$5$ko%6v$Srn2Pz^n0L8`}~+A*m1%LuAnVo=TR&E1nX7H}%;rJEYJc-cuhRBw07 zzC2AlrpX9%XuDnXbbAZ38}6||CPhGiR>XiAnDc2@LV|Fx7##E>khO@o_3!~@2fCkN z=Y^T;idoreD9|ixnz116R`B4SDH`?-#uLb z7LGNp>?2G!%|T5-y;>#jVxl2}&tc{WK8J)6Bl?H0V zO!vHpF*Z_xTGhFt{NQP6$2%!3iQ|j2zyyJBaf-e=P$}wEA%}QmChR~GlXW6XL6U-( z9KZvxcN&vQk~92pk=1RA%rI}4tQ5_5=E&%;_vo58#@oqu544(Tn}$`Y*gm4p>b!zQd$V{LYeSgR^5_Y+Q|5f$#gX<=eJynBzDm^;`VI{kLb|FW^6ZbN=P|Pxc?bJwHD?`|hu=|NQ>y)!+H~Pv2E-d4vD@>Fhi9 z>hFm}&d`ogyQG{Db6WZ%u=*4gI||;~AHkz* z*s1v|pDsHkN(e$`FL`1KqkX$yxS&{Bi-tB^k{j39b^`u|2Y_*J&_5Vo&YSyGF_tXn zZ8-r*1K#&n7-SAfdfzxZdH+ zHiR}co-EsU9^#wYN@MT4Y?E2Y7M=tXkKMqn0vRBax(s)t>ysIqW28#|aWS+&v9@_I zIV+fk)D>3a^<&t~O5B-U`JW~EUZIDz-!C(NPUw?XTBx!Gp&83DF~%zkD63MPlGzg% z8`w`6ie<``SEK>VN0ONd1^^o=Rz#I_t(HQA&4R9J#&w`}p`_WZc@>;>(7jWVJ+X1k z{<5`md-PI@YSAya(faMIpvui|Cta%^E0S+Y8qe9qfI7v6b^Aa+2qjlF<}x~(UKEtC z$YaGAdF8e={^dF>C!-lswu8h(T_LJO5HOD$$DHjJdEd-HXD6T3+p6=={o6r80G2B% zz{*^B0UZ}tm&#Y;Z9zr+LU8bfC>K7^R&zqlJy1er&pV!1w7?qxJKsz4#q}kU<%^}B z+%s_L;$`0O8rMm_9husH$`sr%+8X%K3=h>X=>`DvY#?MSwj`oa+a1}p17MgJb*V%n zMS?ZlEUgMvYuz0q)Rk-y!t0;$F2s_x|4@2+_%|V)Go*dnuerE=5-u(UKcV3x;-~VK8 z9BCd%s10J@@B_N*`fNX4iTrxavZ*b@^Al>sgq2!GptY_9L|gG3j|%izvcJ2q30vLO za>0yhRz@S0T^ejDG?Kpy1rX(ol>tuLTtI zNwX88)zXO-17N)WRto)Z_11UMgIFw|&^y6h=_Dl?bjTC#}~hhm$*i=kSyptZ2!>*h;K ziXmO=JUV!+_FUQ{xgEp}V;5!Ch(fTi5hR?U0 zppfi0v@V%tLtS9PybzeQWX)O=5Ni(kB;JIQ_Rh?1U?w<6KSijmkLDnlVP1ShM% zhRl-XB(FdkZJ(N&2X zyFKM`i?rd{3#L^Qm5KM6VT@LKu_hb1>|hz9RH?O6bSnn9h)URd$=trN!4L7xVIjCT zB2RPVZPjdRUT(53Fsny_T?-#b@;9u2iry|`OP2I*e-m>fy-w;9Gti|8d~WhI#TSwg zO6b}^7h6iAs%wTvT_^j4wjh7%cP*>80ULElP(ocQ*BCb}=sEefmVjf0;aa1|Oq|C~ z#h=;*aiCG{$5TAjWb1<@1SL+njtx6~aimfCMmmxo|}H%`}f;)2}+q>Z07>RKE1K44QkA zXfDj4jKWjWS%JBPb#@qxn-=$Uqu^90FA^}*daM?YyXoLNHjh-Y_uH_*1qc^~pr^E_ zw@%*0)g`>_bf5+NA9u4QdqQ2CF|+j>SRhz7{~Lqj(6F`l>z|=Gh4n7g6~`qrUrHtk zBb`DmJX&sSB${4wnNQYK>J8c>PV3$$6ZUfh6JHt}_zd&-HlVZ@U zYsD1kv;UEct4qtOAD5y8=9fej={>=i=5BEwADNQBER*n&h<}0lj*Zh=AmC+gZUwkq zMGUalHC1I9W3{2oFZ$bD1a^8>RAX}^>Mu!5|8$BTQmkeUZGuz&(U_?=+kM8)omoOMQ!jdbrKIsGZr}S zTagyLH>26@J(anFTz;xK7AHGxb?Z zOv8j~?I*OOVIh0d&D!JTTrsX3e43!v7I-aPBU_ny0r?Ecoto`?&x)`W(KV`qj7m-2 z=*hs{#TO;!Z*%2rP&R$yaW2JrZSBgdC#UU^C8}*qF?q)ngnPKO4zqNw3_sLqL;S_$ zTV}hfErvTqz?>)KdzC8Sc&xk5X+4^fg~o5IXN{WAsQGjbZ`6Fc+Nk-o+b6F1)R_ds zwVozH#|t9!BO2=mk_~@d=IhHjdB-ww$0RcTSMS%fG_vovlozRN-(C@(c@1j)wEa8- zt-1B)wcBN7C%}TI7@9V~W-Zwr7ggFk*f`KiBR5sr%9TsLs7vFykS}my$~^HLSgx!z z)s<=|t7qUCI-;wfUi*i*T``(9l?x5W;Ay>`o?1lqOfMq)r5KTqHORHyj*!hmc6iTg zObNsvXI3_Jq1iNCPz1Qh^V@^%eWTwE?vLv{DLwLl9cKB#>ig zrcI;|p6p|)z~%Qg|r%iV^!AEH!CzIFu;;hfvuKz^VFAF_-55u!GG zS)P)&LYx1*f>7Im`_i0?h(YjiDkRmbByAA1p6&4(ib^I)pJEEE` z5^PoNwqkMt_&Hfpfsm#RyrZz~xvz)CDY`bq{)jDJBBcGa+cfDS@K7yu_{c#JdJPfb zA4YZEV@-D@H|#J<9V@yvT<5=xZ~+JCe+DS3T&gL#Ac~iZg84L@-Ol@5GFj6jqX_+@ z;&-%QnD{}p@rI3`7xO*acU1hL1b? zM1GMX8cbky0uLm7EBeU1H%F;mXeVncP2cjFWaPz?mL)4ZfGxDx_4b)+O|vEX=qNFq zpkVq$k)=?YtZ266Wet5&)-Y+2Ix=g~%luQ6?SUnSPHfE~yFHttJ$US!QbccJS$qJK zzx{qwO~JAOm>Rr76nALXd8|%J0+`L0O7>k_&Rr zz&~oF5r{cbDM-lP=ph0%6RWipE3RD1t=$s`11l9(5bCQPqR16t@3rhN97+K0d9^ZvY)x-YXc=Z* zNvgxKgn|4M76#PdYLzF-uTj~|LhI)=4b$a>3@Th1qqwF@)krJAjP1!%?c6S}P-Ku~ zyLasv{#G%`?Shd(su2W_9-vS`>J zt&rteD*CM%Jr)dmX6ZKe#;KK5=1ek{pex@{AU zX&Db=FI`iqLETE@GRW z+1;7S>C;o_LP`=*dz@5}M^7J3$u(c`g31E3-)jf}_gvT{E@a&iaK)cLB9DcH9%Zy7 z1#?;SmcwjND~RZ9ABydfqnp3i`5@8d1fTb=RNuUG^|EnRMbwf%zIZhy-&;_l4&vxe<-IIH2&< zi3%1kw(i?0GGRi?ralG$OVW~DmR#4>%fhl>R*2GuVjHT~TD{=<6eT_Ui1~BtD*>X6 zTw$@Ey6e4$h9qsum9|M&66)GQE;k&VPtEUmB}EOzrKs&RL`bZKU`q&2rzca0Bt4m) zI6An59gn*JIPDz9ZshPz6;fAP3#Ar#sR&s2=2BInOLn5Y!NP_|>3_U=~4LIS5dDrJdECI(zr(;^muH z(^Y;5i(+NI7Q75+j&9XQbFa9)<9_gf+H=6gr;rCe`Ee%lbzd37|zGr?{1(j6Zne{R&-29f(17xlL?rV9{=6Q%z5#I{Ds-? z3n(-tp$hs^)Kzd`Z1EL^ql$3;_U$u6!N{L@J+|m@27ttk_xK?BdJhimtnIZ_={*{b|vw62~hl6&&!Q5XDvND4~*_^XKIW}Q~ zJ$z;U(IXgLL}LG$N1mYCAHZ|D$`nsyxbSF;+m__=`o;BS+b^^NaLd zrZAf0$g0_rt}iORe90AHL!}ESJ8yb97+46(dLsxo6CK>B4UHFny0{{=GP9>`6^;WX zgJz7^n3*+rg!a7y#^)$J#ORJ2KHu_VMJ(@B@8QP^)3iMs?8gfGuRcI1{((0QoalcQ z-xV*p=2Qzg$Zybkt2UujN{bbqFfe2CXtwQJFy>v(cL_Eio1g>1oL`nkE1{8?vv&OR zDJj{#?GtzJliyjhBH#cQzki-woo=TVtFsj~1vC$~squfLvpxQga?4VRL;Zg%THy4( zJ%*XDJ^ksuYrW<=+APD{+FnwrNVFF%?Z~vGr84W*_LrPkC+7)yth05{zjyQ;n4&6u zaRvK%gUj){&VdPa>Bvq%*wyJ4E&F`EK7RkN;BVwLR}h*LD>n!ab7iakfaG>%luo|> zk>VZ?zmXcu8^S1^7yGf^tSwyl&5J97C3gSgt8*0x9bn!)pyMwTB!wUxXp#&8?9xr;V|(pLlGnOK(HQl)Ul$ zmmuAHm&swK2mU*JvJ73XdD^s0z<(9jyByYdHZh7i< zJaYXOlx%>@QbekOO689B~I%yTr{5fv9K z4i2tMn$fu6B8OyPp5XINW-;dnnU6H=-!OirR0?9u_OAO`ch*4$--#W^zHENoRYWF@ z!*#yuSJ!XxzreBbs&@C4-*Ry@)CR+LL%}@9Xz^@#{Jb}Wn=+OF=?d0R0 z>53^NyHn|^bFPI;w)V4>AA&OyVD;0M$a!_?tL(Y)b~OT0qJPJvK2vN|F)e(+OLfO zKS030d|YSm8qVHU8KAy17?y}@rFGyD4EsT9zuVRk{J4(Z{B@vmXg{!!Q^-P0w&(F`%_IUpF*I#3);+$oCwM~TJQ(r!P zIwk+-;!P-|pAedXRE~&M*dtgFpRhV5|IhVzZ<|_}_OC(07C+bQk$O6(p+@p$JQ+jL4tS()0>H)a)+Bf*?f4bw(zX+G~4=>|u5#7;H@t7f6o0AaWQI zoP4csUe#1_87zQI!+2;Rpk#I+z!aPCgN>Sk)=Lx0?JY?B^U}VkvVveLML;AkJu8i^%L1X;MzOFzW6`EWs+T)i zY33xd+z?m0qe!G$kF^Q!F+A8_$5rWlW5|30_8}uy5{G~y>gu?7fkaE5#m;ZtQLGSb zDY~6dFZO9_;9b)c)72Wgi)E&(vS3OP4(qd`@|HOOG+Lyt(v_LK8VeE&t=wTutKngO z5@afvIe`R8yc#knxs$0MJJ_2Z5dYNBrN3Cg6trg zNkZ=+inV|o5rPL14GPSjP&|mJCqQ4$w<@L&XMoszy~o`mW+!Y((t~JvQg=kM9z-@I zg>OmPgXjjN^3-~UWPq5yGpxO8k;Yu_+pVp^d%2KZ z9%^J@C5lSdX{vkQoY-JsuGkEs4LFj`Z8~_^_DW2@gzc-tFNmR)n1TW(SM?tj=$AOU4;&7NZD>$nBH5JCL2Lu}qZ5etSSRf0D5tCInbKmz1d?=@SgZ&Eee-tQSgh?zHEl|!w~T& zS)<=ydD`jPx8|yBJXFcohQFX%ShI3-`8EK~$rN3T2QZokRLFpSBp`je?N$+o+mBpB z@m93Pr1u(|a3R3?b1dFQ%TizwZFP!uWd{_UBlflesnd&{k)DTeknFf$U0vec4?}B7 zwkFxqaI>VcC0o(Ka+Yb|nw7b-;^n>MS~EmYWOAj5m=7%jN?KmUM|V#Ll-t9$chStb z8_Gdbd*vnhqs|&_$L%fKs+Ja`7{T;5|2bz}QRY8r6Sx@C)L3vQIPjYY#L)Q+o z$aGj@oONZ;DupaDr%vn{s$7LEG0wU&jOG#Ck2^Gz+>wJw#w;`GY z86jIBh$ko0>B*4Qsqtm3+E(fLc|5D6WTh@PA6PQ4=P$LAtl!!TTBFaRg{+pr2Fs808ZBI% zHs%=fD=Y8F9hJct`>wXPaGmozu0$~7r>oI&^WC7MK`;+;FUH<}dyheGE#$Qo5zy`~ zD!s0>y{iTBUj2;D|_{~ zL?Ta~{NdLFJKE9-f8+J06*UA? zTn}MbN9mede6WY$Q|$ekOW5q!EE8qEkKt;EMk6wTJ1p76l2=FuvU_R4bFMdaM3^n> zPVsyVTbK*gtU00UwG=d4GUfF=Ug@uC7G|VQKrX5UFHtD~%0@~oHbe?db@C3{9iqRh z+$YUP5-Fm{rsW18w1n-BHxJx922U+*cAERW zYJK9_7i1|asirT7`INLEPvK28DLMUGlY&vD$w-mn4Fo%JS701CC+3vXZW* z^eQN8tVm_G6y!RohB(-7Sg~#^aKm0*!?#MQ#RG7xbQwQUVow%W5+96<@=-$nsKjie z)8Lfsvuzxu|JVMw1M%A1@7-dI4Z>^BODVF-LW(K~O3)e$Jnb}O=TXQqrr-{J*_13V z!#+x&6J4SQ10m|d4{|H=GnV^{PDo6|mu$h69#qy9UubVm#mfcO##>c|=If%Ko!}te zIb!yf^t~h0Grdzp|3cX9HRWOE`?&4{D>as4ljb5`Q%URT&%|m))f05W5Sm49A&XyW z?nOz9W){5ImqRzFW+g3yzSB0+IXq6ped%h&V7=e=t|SR2qi<+-%gP+zGs0w~D` z%=klbe+)X7LZpnuO0S=Dh9zHimejc*UBC2_)HU;ssI}&=xq;dEe$PtwK3%C2PjxQC=(_N(2SeXe4Z%-(HdRE(X1Bh(E+ z|HLLjU^$jwjxXu2D!GeCJOqv`W~au(wX4(R)c2LbrZI zMtM-x{eocYb&u2NN4USuwxoNtmyL8W3yGU@=cAxsiEcl_TMM7dvz+&-j$O>%DM<8P zO`QKOPQ%X2fVQ7Y&%&W?g8{jrG*r@mFOO zbtF-@Bh@gM!fbcYY*6_S==fzgQB+N*%m{eU^MnzZexC|Obk>1p!wIJ%jN zhZ^?cmUaf0gm=ECLSU_S69z%%%#dSf*T3!j*L`$p;%N7tNW-X8+1h#K8%2iMnh5kK z7I^64j_ALxZr4N&ozZueB@_g6tuPfw-hxBsj-V1{*Tj3(~usES_#MI2I#bl)a;@rP18K zy{(PZn)WQpl5(!s*6UZ0V3act&|nIO7ayv-ed3_RpLDZRApiFeHdA~f!@MFUk2@B(w+1uOJ~tZIIZn4#(yHQ zBfJS`c#_hl*CHzmd{EwqDU|HxUW;z6%!sz;s4d~rHE?2>WB@Pg>suK0`}xe+X=Fdz z!FZ+y@&X};BQ-ES3WJRZlw3*2S_3>dC77&a0F9aqqvl_$6X^457u!LQU&!vgA}%Ry zyKcTZ~;_1`o(ZR*c?2p z7&G4?Cl^)j1o8D-+Z$wtB0P_xNRD6~)z3Xt*Cx2!=+dVeBT+g5jR{AHC}K1!Vf2olWZ zvJ%}9N5KR@V09qhXHmC_=_G}lZ5rILZ_3}Fos|_?r3pRjpPt%UDm^`!#@8n5XZ;Uh ztm>`efijvtphf!!og!WTt{*3!`Am)!4~2awkeJ|^Q76!lksNICoM|)ucWrIiA*0xJ zr>Ac$S~0wV71&>S`Zo|wbFO+^Xf8BU_vP})&Sq7Z-`ev|s7M0^B2h(54GzuI<#v;n zTK7XiV+rHu>KyPqqn-(5*Z>@u~^OM`*v?5Xfr&zyWVyDPHjccDiualdX;!{E>&qi8o!OsGhTcR6f?3T51&V+Kmtb98%Oo~*p z(zq4OIkTvl1mEC7?aUy}|9&$Ue@HAdGPprlmz@0ID_O7C$*^DdQm22|rc8{$vxvE* zOo+Gnq)dnd7k0$jK9l#jXq>nrG_h0l!h$E(NA`Y^0~*BKJE>}#A?s;Ma>GpI|L83e z^g0kvFQ)jwM+WR#%%@<3=+E*}?ejN4yuFE9AAWuC8}^u|b{eZA-m0Fnb<@H<+#tZN z&LRl(rUt-gcY593%hw7O|23^idrZsC!d`Y2k4WH3R@RsALvF@Q0XgDdqOc5_YGKg- z{;U|I-_Q}i-X86`sQNk1;;C5@@Y>>^RqYsI&mMg}Sh*PSY33Jv7TNFotD82!DAfve z&_QyPBvW05-hn@WZ9McX0{gI|np;eIu6DbJzn|bpzOm}_L`Jc-k zp1Sjq2dUxjK7_} zvw9p6x=cfnlGlrp{|Rl{A0L=KQ#BQ?f`z*IRLD>kOr^4PQw#o-P-MCQcC4YhE(AkLUO+Y2P_1@2pAu)u_u>)(B-3L*XuA%S?#kAD}QOs zytd;8ZQ8R-E6TAY1N4Oa;ONet*Ii<2teZ!TyG(SFf~GYJN2AUs_su{iu!g|20XxnjBRVoD0%?!ae}B_D&n)&w?(vP_xxcV;teL86`;V}8 zJr!U20gZcX1m^NSUZ;Q?SFkdZCtdb?Q_uK=h@YUWRiFA5nI;i@6?w@&@A)$VcpEcw z4HT(bxuz`PKbcjcdf4{sv#O3U_Br|a`Tk!=>90Grw>>8_-Mv5jd_Vi2XN@y?es@Fa z`o3?Mm9;(Z?~M=U^8OE((KDlO%>0Dbsq-p+Zhms=O*%}an7WedcRBMe{K&IhBWgb{ z=$1VdqFj|DN%G{k%q@dX9T`@V zOod~BfZa{!3{~>jNo?RjTcXjL_mmXf?8P{c_vCm z#|j3bz?5dz#Ns9gLA5n#Y%C~MnQUO1R_{;-%<<){gZ4B`pf&hYtE$p;Df$-4x*Hb_6<`v>+cL*o^GdN6f#hgkKsepl+p z^8&fHt+}r%T57&%$=+l}ngsNw{Ox#LYzm;qP!S~c^LGZeh?UoV{%Okhh|~}vHZr%c zqfCNAyFry8hh({`v$g$m@Apb|e#>D%>CZB6N#~jH96l4`5WY#!@&5HPT4xvL?3zqV z6p0T#^L4pk$QQi#?%1FzKZR9!}dv55ajur+K5%9vrb4#X^Dc7hY zR|)X*#@)ZC3XGEhCDgZQxA_#EkFtO`nk4gu9Um@HlZB)$*0sO{T(|X1Tj9Ho)BF@>hZh z|H<_+m|>071R=IZ<-!hee51g041!X&Qgr`K`xzQic3>X}!t-qH^{f%G!OV77Z*KDyl z+l=%k+_36mk3wi0N|ja`e2N_|k=oo_d1$3O{F|}Vt}4 zI2d{MHUU?WL`ybt_WC}@jGgFlHh7$ zS3TDoeT2*Ty&>`90c}2sOM+KU(+ciZOTL1caMB;Vz+NPucQI%xoS_;x_*C?v^Gh9HWbR;n0yD-(U^-_+G@WP zhq7Dhx;Hxrp@U;C4&7+4v9E8+V_(V|yXSiAiJ$rTxI5^{llS{*@%L}=ybpihdD-r9 zzS)t!*#X?_jQ{BJy$vMm-&|Pt!+MPvkli~a0z?;Lo?iIRe&Z5jk8obB){Bf$YLKHEh&Xlu?th9IUE8*SjHMAUEyb*Ux`ctcXde&K9~ilte}smx zg=SD1(gf4LaSc9?V7vo=GdK$>b5w^-{u6@n8pFEe^9uBAi=gRS&astyiM$#bOHsLC zPsUZ%Q0_!|x&ASAgt^peztz0F`SCwod;F~*>YWUhm&>Aze$Q}Lu06b*DE^J_Po7Tt zJUa18CS8#RKvh$qI+RzT-x0|V^6f0Dm+#m8p?t?tkj5cTkj9~zmCo=gNN4(ax{jHX z_Nm$aNIdD5_hOinXh8E+wK++$Yk9s3u@{UX>Z-%45LqD@!EG{{=_M^$tG^Nh5}cH$-kHG%%NcW)_GFB=)z~X4 zsX2S;;1p`%Nw@GP`T{#Wy~IGQQK^jMR3jJdSIg^8V-c~6ppE>z8EZWP)by0?NeH#k7vT9*AFIr8+ToN0+ zan+v`O4sahJJMp%y*S5pZur*4Y7Esh~^-AX1Q;SEgC~$8|riR{r44 zPL~{v^7WNB?tKg|$<}rt> zKmc#O6~5@K1(T6k{FBS`*OjY-!`&&J`CZ`iqw%6TID7oY`kj@S62sYv5D@|n;8An}$J zxJ#6{^F!Z-wPip+?(vpg1%p6|;q>hJ1Hr~OI+iC2bk#XlL4kMP;e+$QObnKncp8Bvyef6_+ zJU004xnAu|%^iIH%K^C2bJ(fGEV09Yx{QkDG3^Ikq4QKp3%t%d9*zZZYFrAbfrNXx zOW8*G@sHP;ODtl|%CojzclJwmt@2@)YLjT@D+BrG$8nnTt#05aWs46VbyfCK$08$>k8^fePntD7)ei<9WYAKajPY zi>uPdqOt_bN3?|~w4a9GH86B!jO~ae)h~%9-5FKx;)wDo9&K3=OJw9+Oysj|Q9OLu zpc>9j;_s6lYLIHU(C+>Yl;oF(Ci5M`6zS9S;3vB`{NfKg;emtA<#=haVP*O;OYiYY zD&I4eWBN(}jxvj%92_+o$4xT=#G#98c8~%A-+G2I=LEMBF`j5rD}t|)Xd8PJnnC{8 z?$tG-ehVHz4~$_9Zpe|z2(1tQLjP9j1~05`>A z9cK)55rreA+Oy;?b=FLcMaJ;m2O3YIHEk z(N-0Odr#hRsn&0XL0GeR!IH_O+DNRv?iI{E-P0{(Vt%gs)*prm<$E=YhkW%LPneAC z)n*@>3@-p1ukY=l!Aeruu-I`Xy)NkuMCtL8*oaMihJubfv-)8J+kRLs_&@u2qCfX? z1OQR4K>Vh<$;chMxe-hDom=zi9~F;r?X6yhglr0Tg2DC=oZ?J%CR7FbJS$+ts;`<1 z1CAyhKlZPs@JVGph&X>G`42xM$tr&bl8_>q@Iy~AbDI~2h9HF72Ta}U+#mfgz5&X2 zqK4A{HwjT>|MOwLx=+gQD4Y&3QrnBenoR2izyfwz&PZsFd0LKW+VtUus%plgHWPgR z8-~!PDhV(0d~NUvQJ9P+5rg)RsNWn{DPk!I8 zt@;JhYb%v6X;M1B=8tJb;VLg6>SBt248Og-y{+i`MgDxj{dj+0!hhZ@Jk;j<-90vz z>HFL*sq6E9oL|&-e_wvCy)`m+f5+qyRYM1=(a0W|pPaaePCy!K&83zQ%+Sc5Jb>gn z+dTOTBtBQJi&33@x%53XWc_E)?_!=B9G8yBZN;m6Xz6%3OYh0$=QF35IukV0X zGkLQ2gLm~gGi6`f)=W?nEj8coieVq{H{sp(LGd9G_d7H_LCl!wXVYkaI1e1dfc2#^ z*pA&^{*rf-WD{28Va0I7XlgvVa)QXudF$O1TepzIh}J%dPAp*QFhz5?s(T_fNRc6C z^a!xBb>7rcruExqqso>$N`A=~^bFqLxQzf$t6T9&5EJuxBrS*d*nmC2+C!?Q&q#CS zcud4|q=Yib)JXB(f4M0&__+_^kv=PdT|p^Z-p#79h(mTo!+0ojKN>c5Ey+6VOsavk{TTh!D-sq^`Kdmi*IhmMLI_I) zv@w93d~W8zldra=Tz?DN?rQHQxn8Kl*=R(5xW+}zqF_QFp5R*DY?F0)IJn|7UjW|K zWL3ASx#BVkGI)X_438!+ahHkZut`0^w;K(?SF8pz24q^YGoxn%A^7b#{XE2*+%GH5 zyJjQz;EJQ$-YOGi$0!J80L#l`Zl@NLZR3Lk$s1P3HU~!&O`-RGWVqFjN)q4l>xkL2 zK#cbpw4;|vaRXcn-6`^kDX&@nsa9z1TM_osHnl*#cw$uF)Q-m_NJZej*-(L^qrN(2 zW~hz4a83rST58?Fy|Jq%;hJV9le{DJQC`j1t<^|QlB2uHD)F*CQuKOzSUbVq%-w+R z)a|o{`chcS#im>9UQeJ_n{Pe;f7VSlWs@c_Hq8E#%X(}I&UJ2cBeQNJ4Wkh2Jf8zX zkyYYTSzmQH|GJnA^q>@;_jXkqUeq*bQ$0NfAgG59mD`M1##?o{(u>gZWrc5LU3iW( z{qr?{zK*}I$q^aA-PYu2!kgHk3yju+0mlV7=HQt`wSQc`l`78gC z&^cI0wg`XDUUH+swx5r|)F$&27<_l+=JL?zMeq7bPocF`M)Js9^cIsBU3nViO_Oek zyWtIES{%i`PSA;m@#;O-x*5)IWy7H63BTuGIl z@^F@>OV%qh5QNIEd-Ja;@caHEktmJS{WGRs{PTH6eD8wd%pJi&FpwEXA|qb^xA@<@ zBkvh!k_)~tcN`(XNNgOL*hqcR0ri}s@gE3WF9DfTkQH)QUhkbkiN3%%GBBw6d?K(X zPyf!7kSGGhm=owf?%VJyYoPJZN_-G=Tu7(5!j9W`JzTc(RHVO0MiK*-I|bw#g^jKW zrW`_!&5pezOO09W3mISVFkZw>36(G?2qJNjHF`z3L4rMThVQ>m$H&SmzG!G*HO4=R zsnNIdgFA`*oFD@Hhz<`&$*(gf;nSTbIh>5*`1#L-C#wEtWS)sM&JBM$(_Gssmdmkk zO7BqAGKs9rxr#3;)Gr@v{%PFE^st|<@yCaIExO8C9O$qtOJV_&cBXwsx}rn}X(dO}n%vnM z|M3d_@Stu4>_2Poz3L(5^M&2tMZ0+61!WY+H$#Rj{9?61*2o}ZIf(`Zay zVFj>%4UGpAnfqIDB>&-j7#IyIOcH|iT$03J@BQQQHaL!n*;O`x@Gd<3L~9icvFXJ4 zu8-c0FO((%kl_fYYw`U+2&K=%EePPl41AlOlA)v0^7(fbJ^X1@=$x0Gl|y4-@ORLB zv-tC7@FE<@-gR_97J2|qaR442Ysgq%*RCd(sjctRJOPIWThUm^QJr)R^DDTKr5OZ0 z%Ea|oKH~A7Zl*e9w)K2)2)Z=)X(hD&hs4Y~0w<3+YV?qKQ9$L)(C9AaX<6oH2)X|{ zz>7hLsH-EO8<5<+0xj%10Hum(Jrmfb@{%1$Yk6yLm0hxCR`{5LHoE&i)R;8k z7=xVxZXRdrI#2}7VEeR!9B z(d4o3&5+o(ECjpy8{B>g21@MPCI%;*M*2zgWn8ixNGwZwC=q!!yL^f4ki&DUP8YkP zvH?_@VKJ+YLidorS#plZ3b%4j95^TE+>unAMreG_%ZU6JE1%+Hd2Yp}Z^b{>4)^l%`D3VUXs z^pkW=IVa9;ANNT_++YorfQ|_HwOCNni_<}@7URM`K3Px-;KC!?<;8@;bfnQ;iwK43 zZZNuVdNti)!G@!Bq@hV&YVnq=HXB&fTO*?yU9Nu@4qx?AR=EnDI?hBS3nifAaD`nX zB8bM#+lJB-VI*B@-KU5Nr|53*sCcg8N+DEnnnKIO}${K@(r5;7Fid1{e9m)w;l3wTX z{(A32w?Y7b;?;Yb_LU&k~CX5SCh8X$O` zyAUFH8MCY?0t&<=e|m0@6Ltb_t@>D1EZ_zpIgr*gDopjm&8MC+zw9vpwlm{r?FzobUC*QX`Ylf; z>F*vrCV$mU`zuYjaGIh@RUl>?#@(1m^mGzpB>7;3%|iZ4)k(%%uo3v`-UTk#eLGG6f(2e*&fGD0T*54p$MtNMj`w(syjIJOEl^3NZW^WA+<34ukh<<}S*!kLtPX1SaUFQL; zFqy;&%={XcI+?_YoU+U|^P28klFiJ{3)bc#QY$j|Y3RJG=k4hlB7^14D)&zvPcXV5 z=SSxYJ&x6Pj)mslJ}o`DF4M<^x$#GaHn2pgvQg&vRv?)&E3W)3tR{-g=iu}6^YenS zXYj`_^oP&?8S?XG?QNm9`}IEh|Hshm@$ve`vG0>=i;6?K?E-8!z9xZ;Zm`N*3JoeZTg3-#BZWfgK|cUa^0T zqLEdPW(@|9RdY;-s9sK0Bxpz67lRMVA!-h*R z(UCne7)2DT$KT<3luCTNSi@d#q*ByX81s|MGv~{Fm%lO755kx2d0tFLu$@aehhwYY z^AwLj)%9%U=j@0!wX5Yit$$ka?l|twTCcdb)~x7@uw5%~=O@aCiEd}yBTx}fTbp^* zt28|wUEc=mYqSOI58!_9Q6k=(UW~YsZ~%^Z(mI-wk@Ac#U6!h5}a5^`r5P<*)wO%IZZ1bzXVI1gJ7!&TbHTDr7Y;?oV zmjj*NupLuq8L$UO_>17zfmiLskn+x3q!krwgGq`%#v+@ zeHA^8MuRDz0!GUpTS!F(D~x9ZLQX$NLCr;(dF2?T_s7cHuI@O}(oEqRAXoTvIX{f4({J+#K=CYDngjgZ09hmFF z04#8GUSXOIFV=+`^84Fb)I;W-yT3L)S;tQ4%a`FLolDmnqTs1Y-UwR4pvJB_J8pR9ZWU7``2714^F7B_q8e37Av{uY-qFrjL??#bI$kTtx5qDP~r~Yi=L5mf)e&P2qSZ> zh46kO?NPPCZ%}nmvq2|epy&#>GRY%mQ9S?Nk&W{~eZ*L@>_IpNr!9kjmtX>pU77w5}w2pz;W~X;o~mAnxl?Wu(6Elf+>^deP*%PX$OtwAjKB5ix;=| zYXB;V?5XQ_L)F##kHm9BLVQAoXw`nNylb*EG=!nzFzqa^qKO>nV{m^SA_2iq{}_|V zv`&~vLO?ImC58W$&9A!^KJ;*@8yHq4?(arqTV_TyoFW@oO%vLvv1DrKzp7OFaL^Bx zpsZcxU|){;k--oBmMI9<9bw2zTuz-{b{MzT81I7cvPfF!F_sdtzeB2K^XQ{|7+1`p^7f-`NX1c~*JdH;^VbBh)CZ;G5Lv?85yaojgu!8ZRPfy zN&GHllGgSbch)zpUxye28?4)71d=o;Iw{mJQa!9s19;#Hi`g7TtZqV)Vt33dIKS_k zEsysc%$;iDV2G|-J$Z7Ct54U=P2n?M`Y(6h1~*ggay*I|u|aEUyNloiyn^4&5CpVg z+0b7r|Ldx2vCV*l7_GGNELquzVM;1nm67B!X3PJ+fAQPk@7I0~U#4Nk*@ihk@`^F@zaFxk~+0B0Vrbms+J+UEe@1 z`^*r94^yo^#jgN&v_xJrXNP6`^TmQ8moktm4#`{Bbxpqw+U;f~O^8rn5!$DGLFN$V!6aTgXZc5!yOM%~ z!K3exO^wt9WUShV^ej}!CVsw_&BhxaNb*;>?k^TfUz(EGARpH$1bI5f9g#d91&q*6 z5W$IYLSU7sWlEqJuEl@gUt=uGEH!v63kt4j!RrA{F}|P&5k8fTMc*$InGg7N+?Hzd z8inziR1R){*sY_ep?xo#Il+BW8oXGZTwY#2GIhdjwz(uL9%Dj6!vJNTEXym-w99C_ zFaGQa|4i>6J<17h>l2{~$Gwi=b|suIvo0_WDf=O|!gf=;V}RNRTw<<~l2JhEgVT{n z%5sZ=+ag>23h1~SFK`7Hg3!Vcr}LssBQx(_i3e!YKDBuXC1K2|tjDa4f#S@Nzq`65 zW(gF^@r3Uk3uwb-%L~GAP8DisF{25q@G-Vwj@x}e9PU+SqB7KKY*JBrbkV!d?)rc0N zwSd73nE?7to(xvgV|*E-aV)^L z_^oy5P0?2+N;n$$=fDMOtQiTSvDo?;A5UmmyZ982{-*3OzsRI4K^r78&1lFbXj$tp zeknOml0Mu_QWy>W(g0d05SO5XhMiEH8R5oXR0n#ajf04(c-Th0 zqn!ApYmKlbfW5s!({G7T`Sw^a7KgR+A?L_s>JXx(h}c>0n1IZw5hd$m5h2}89h$4! z=SC~K&;F!CU_nGZ~NcI>V-^t#pWE;WTltD}b(<~`k)A-tDu;l}?Tp|==zs>d!z(sGTmu`LyGEu~rW~PTx z7aK%GWoJMo;2Xt|dgGRiDimX^>7lXG0^pmjl!GOb(%7vT@i5oawKqo8M1f_6dTwpT zt-m-?yE7|yJlGQ~CKj8mdw;bu%35o7@(+?CHX9~hQ8bjIIlsEoX@NuUto8({RrAI5 z*6@{?uKkjzFZSnKt~PdE(rUHqXExNW-r-%u@r6p-oDdOtW=2o^dU z3gOFk_0E>VH~fDOY}G`p$-6fIGCyR*^Cs*J}#R4LbW?c$Q7oXidcB}FyG732`wA#BD;n~S9(y3ha)e)W6`4TAs|EJ z%DoC_!@e!W1#D@oktre6yzcb~&R|a<{p8VQt9(mnyPODR%c^WLG3qy)hJP8`>PA4X z?T&a71(+|m!9iqk^xI|Hhv#vqz!TC7MB5Hol#h~`7xF10riw2>MVTZFyx#eL%_Ohe ziA48bto{SUx8MH*jBNY^2;;dPDXJ6x2i$BIQ^j>X7gINE7gOV3UK3r8_CPnfhb<5I z>d2{=c%@g4eL{czU@m7YupI)`2<9@9CEnK^0A7X5>3m&0vcI>1$};f<_$#!}NKbX! zIf6dDPrnoXAQ`@{n}vUK$qKB&Rn+~_1@_*=usa%Xd0q;^2^AvAHmb^KK}bzev8Phb z8qnW2$u9TfT7)7mI$F3|s5bJ<GO2gd5ZYx&gw z-Sn;gIkR2{_`>0%2kbL&{LxIQL6AEu96LyqELff%=?qdncAfoPs-nTjmoUBs zck`-n;J{@vA4?x1)WCTWAL(C>`gt2HU`jfu65~a%AtMa4wdFM z947WZW6(Rw3cKi|TdtsG)5n%&qH?PhgzwuF11rn(SrE>mZ;6kmhbhfe>Fu*Uq@#y} z=z&pi5rae!J|2l~^MP$Cw6d{wFy`gJwl(AkZ#&0-fp5s$+Q6G~cb}9j(pahL?kB3G zGAta38noP>sIfpR*`fgEP)5Q3>2Ib^B&PhF?s)JcD#;=y?j>I$4MKt@yMciUG*^~A z3nmpHB0YC@7(9U<;^9g=u?kqB)ivD_z;4}vXQu?eIa|MYBBKcWX1gLLnh&3WMS6|p z-#;{1mHhAw;CCs#N$lhwd3h!G@V;DmzBLhZ@`Fb1+?i1Ru!WjM@bDPMSWTf4h{IUz z`_B0CWd>il_~XNbyzB4Dv?JZH1NlWW26ZBmFWvCw=f7v$Tk}m^z8-9hN<@j|sDMzk zq*yGXe1MFnFDWFjV1&Hk7^>JX*E*oPBhh|R1vtJ<@aR`WceY&|B(+@}+_zmE6qB|2 z4^$P$X058>vDa5~SQ-6zWvwz*eR`y5OJhna3}wDc@j)N``1y8(ZXKfod0dAgw~>dI~&k;Iuk>smU zSeK#b2#E6?)X=@KP}HQe2KaJyEf=8cJUEfyOpxFv+7`jVOpxFrcujqOGJ^UtT`huz znIXYNHbC9}(^s)>>O)m_7{tJ5h9t8c#K2Fa%itO=6@7+=9T{)>3@N4Q%sib{`FtvRg)q*9((;ahY?&{MvxyKGo<)`D0P%Y+2 zI+Y@Xv34OjKW_yWCP`eT{0)>K5B7n_L;N>#4Fa-<`{!tH!i{!)2O2c3Cy_>`cH-<5 z=~*UCY@eTVTMOc0d;;y>Se?B|(`^6eiT;WM+uVly))raA%nu$LA0^*D4JI>n`vOP) zn^ns)=A>pNcc3-NfKNF=zCcyMtiFWCEYiSHqHK>4-RdC%uq#ruGq*95czQAli{zQe zQG)r-M!PSSnk3F(7MhwGa~8iyqxg%1H2*nyCE)Ro%Kj{hy-~nCDb-7A8zzD{C;G&s z{7H*XfXCV;mT3kotx9y{pYRe6MBfoMR{Mu}|@d$W~VD0!xi} zj(vRY>Tq`anZ`Xzf#YD}DG-(hpK8cLNy6tn#u@u-;+KfTj{8)Qz z;`hC~Ot)3BhZU%^Sz58_Gb=)_RMMO7Jy@jav2x9+Fl5-t|E2h~X~BfmNU{LcSgOUU z$xrq3a`)yh;P<)mFlPVrd?U{x|E=)zvHjtG{pEf3<$d&}{nk@SHuRqyHehlR3v<%paI=Q^cW z%-e*?-Tu_8j{2p)>kOHpEDH&DsW%akfB+XOZ?+t9>3yb-?hDj!SOw9nELxGCGLia? ztBHU`;y{uTHcPQ#S@>DAmSi1SaxNgNm<;hl�}4kSBmIt^!LK6*?k$yFV@xs0*d+5 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�ob7@7DL39SPa#V3Vp|5%O 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 C{rtoL diff --git a/assets/rancher-monitoring/rancher-monitoring-103.0.0+up40.1.2.tgz b/assets/rancher-monitoring/rancher-monitoring-103.0.0+up40.1.2.tgz deleted file mode 100644 index 5706f8abdd0d4dd0e914f465e7e4a4225d44d4c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406081 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⪼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̌m%BFxak0v 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%0D;&OUW2* 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 B#Do9< diff --git a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/Chart.yaml b/charts/rancher-monitoring-crd/103.0.0+up40.1.2/Chart.yaml deleted file mode 100644 index 4a7375f8c..000000000 --- a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/Chart.yaml +++ /dev/null @@ -1,10 +0,0 @@ -annotations: - catalog.cattle.io/certified: rancher - catalog.cattle.io/hidden: "true" - catalog.cattle.io/namespace: cattle-monitoring-system - catalog.cattle.io/release-name: rancher-monitoring-crd -apiVersion: v1 -description: Installs the CRDs for rancher-monitoring. -name: rancher-monitoring-crd -type: application -version: 103.0.0+up40.1.2 diff --git a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/README.md b/charts/rancher-monitoring-crd/103.0.0+up40.1.2/README.md deleted file mode 100644 index e0b63e026..000000000 --- a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# rancher-monitoring-crd -A Rancher chart that installs the CRDs used by rancher-monitoring. - -## How does this chart work? - -This chart marshalls all of the CRD files placed in the `crd-manifest` directory into a ConfigMap that is installed onto a cluster alongside relevant RBAC (ServiceAccount, ClusterRoleBinding, ClusterRole, and PodSecurityPolicy). - -Once the relevant dependent resourcees are installed / upgraded / rolled back, this chart executes a post-install / post-upgrade / post-rollback Job that: -- Patches any existing versions of the CRDs contained within the `crd-manifest` on the cluster to set `spec.preserveUnknownFields=false`; this step is required since, based on [Kubernetes docs](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#field-pruning) and a [known workaround](https://github.com/kubernetes-sigs/controller-tools/issues/476#issuecomment-691519936), such CRDs cannot be upgraded normally from `apiextensions.k8s.io/v1beta1` to `apiextensions.k8s.io/v1`. -- Runs a `kubectl apply` on the CRDs that are contained within the crd-manifest ConfigMap to upgrade CRDs in the cluster - -On an uninstall, this chart executes a separate post-delete Job that: -- Patches any existing versions of the CRDs contained within `crd-manifest` on the cluster to set `metadata.finalizers=[]` -- Runs a `kubectl delete` on the CRDs that are contained within the crd-manifest ConfigMap to clean up the CRDs from the cluster - -Note: If the relevant CRDs already existed in the cluster at the time of install, this chart will absorb ownership of the lifecycle of those CRDs; therefore, on a `helm uninstall`, those CRDs will also be removed from the cluster alongside this chart. - -## Why can't we just place the CRDs in the templates/ directory of the main chart? - -In Helm today, you cannot declare a CRD and declare a resource of that CRD's kind in templates/ without encountering a failure on render. - -## [Helm 3] Why can't we just place the CRDs in the crds/ directory of the main chart? - -The Helm 3 `crds/` directory only supports the installation of CRDs, but does not support the upgrade and removal of CRDs, unlike what this chart facilitiates. \ No newline at end of file diff --git a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagerconfigs.yaml b/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagerconfigs.yaml deleted file mode 100644 index 7863a2bc8..000000000 --- a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagerconfigs.yaml +++ /dev/null @@ -1,4475 +0,0 @@ -# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.59.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null - name: alertmanagerconfigs.monitoring.coreos.com -spec: - group: monitoring.coreos.com - names: - categories: - - prometheus-operator - kind: AlertmanagerConfig - listKind: AlertmanagerConfigList - plural: alertmanagerconfigs - shortNames: - - amcfg - singular: alertmanagerconfig - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: AlertmanagerConfig defines a namespaced AlertmanagerConfig to - be aggregated across multiple namespaces configuring one Alertmanager cluster. - 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: AlertmanagerConfigSpec is a specification of the desired - behavior of the Alertmanager configuration. By definition, the Alertmanager - configuration only applies to alerts for which the `namespace` label - is equal to the namespace of the AlertmanagerConfig resource. - properties: - inhibitRules: - description: List of inhibition rules. The rules will only apply to - alerts matching the resource’s namespace. - items: - description: InhibitRule defines an inhibition rule that allows - to mute alerts when other alerts are already firing. See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule - properties: - equal: - description: Labels that must have an equal value in the source - and target alert for the inhibition to take effect. - items: - type: string - type: array - sourceMatch: - description: Matchers for which one or more alerts have to exist - for the inhibition to take effect. The operator enforces that - the alert matches the resource’s namespace. - items: - description: Matcher defines how to match on alert's labels. - properties: - matchType: - description: Match operation available with AlertManager - >= v0.22.0 and takes precedence over Regex (deprecated) - if non-empty. - enum: - - '!=' - - = - - =~ - - '!~' - type: string - name: - description: Label to match. - minLength: 1 - type: string - regex: - description: Whether to match on equality (false) or regular-expression - (true). Deprecated as of AlertManager >= v0.22.0 where - a user should use MatchType instead. - type: boolean - value: - description: Label value to match. - type: string - required: - - name - type: object - type: array - targetMatch: - description: Matchers that have to be fulfilled in the alerts - to be muted. The operator enforces that the alert matches - the resource’s namespace. - items: - description: Matcher defines how to match on alert's labels. - properties: - matchType: - description: Match operation available with AlertManager - >= v0.22.0 and takes precedence over Regex (deprecated) - if non-empty. - enum: - - '!=' - - = - - =~ - - '!~' - type: string - name: - description: Label to match. - minLength: 1 - type: string - regex: - description: Whether to match on equality (false) or regular-expression - (true). Deprecated as of AlertManager >= v0.22.0 where - a user should use MatchType instead. - type: boolean - value: - description: Label value to match. - type: string - required: - - name - type: object - type: array - type: object - type: array - muteTimeIntervals: - description: List of MuteTimeInterval specifying when the routes should - be muted. - items: - description: MuteTimeInterval specifies the periods in time when - notifications will be muted - properties: - name: - description: Name of the time interval - type: string - timeIntervals: - description: TimeIntervals is a list of TimeInterval - items: - description: TimeInterval describes intervals of time - properties: - daysOfMonth: - description: DaysOfMonth is a list of DayOfMonthRange - items: - description: DayOfMonthRange is an inclusive range of - days of the month beginning at 1 - properties: - end: - description: End of the inclusive range - maximum: 31 - minimum: -31 - type: integer - start: - description: Start of the inclusive range - maximum: 31 - minimum: -31 - type: integer - type: object - type: array - months: - description: Months is a list of MonthRange - items: - description: MonthRange is an inclusive range of months - of the year beginning in January Months can be specified - by name (e.g 'January') by numerical month (e.g '1') - or as an inclusive range (e.g 'January:March', '1:3', - '1:March') - pattern: ^((?i)january|february|march|april|may|june|july|august|september|october|november|december|[1-12])(?:((:((?i)january|february|march|april|may|june|july|august|september|october|november|december|[1-12]))$)|$) - type: string - type: array - times: - description: Times is a list of TimeRange - items: - description: TimeRange defines a start and end time - in 24hr format - properties: - endTime: - description: EndTime is the end time in 24hr format. - pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$) - type: string - startTime: - description: StartTime is the start time in 24hr - format. - pattern: ^((([01][0-9])|(2[0-3])):[0-5][0-9])$|(^24:00$) - type: string - type: object - type: array - weekdays: - description: Weekdays is a list of WeekdayRange - items: - description: WeekdayRange is an inclusive range of days - of the week beginning on Sunday Days can be specified - by name (e.g 'Sunday') or as an inclusive range (e.g - 'Monday:Friday') - pattern: ^((?i)sun|mon|tues|wednes|thurs|fri|satur)day(?:((:(sun|mon|tues|wednes|thurs|fri|satur)day)$)|$) - type: string - type: array - years: - description: Years is a list of YearRange - items: - description: YearRange is an inclusive range of years - pattern: ^2\d{3}(?::2\d{3}|$) - type: string - type: array - type: object - type: array - type: object - type: array - receivers: - description: List of receivers. - items: - description: Receiver defines one or more notification integrations. - properties: - emailConfigs: - description: List of Email configurations. - items: - description: EmailConfig configures notifications via Email. - properties: - authIdentity: - description: The identity to use for authentication. - type: string - authPassword: - description: The secret's key that contains the password - to use for authentication. The secret needs to be in - the same namespace as the AlertmanagerConfig object - and accessible by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - authSecret: - description: The secret's key that contains the CRAM-MD5 - secret. The secret needs to be in the same namespace - as the AlertmanagerConfig object and accessible by the - Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - authUsername: - description: The username to use for authentication. - type: string - from: - description: The sender address. - type: string - headers: - description: Further headers email header key/value pairs. - Overrides any headers previously set by the notification - implementation. - items: - description: KeyValue defines a (key, value) tuple. - properties: - key: - description: Key of the tuple. - minLength: 1 - type: string - value: - description: Value of the tuple. - type: string - required: - - key - - value - type: object - type: array - hello: - description: The hostname to identify to the SMTP server. - type: string - html: - description: The HTML body of the email notification. - type: string - requireTLS: - description: The SMTP TLS requirement. Note that Go does - not support unencrypted connections to remote SMTP endpoints. - type: boolean - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - smarthost: - description: The SMTP host and port through which emails - are sent. E.g. example.com:25 - type: string - text: - description: The text body of the email notification. - type: string - tlsConfig: - description: TLS configuration - properties: - ca: - description: Struct containing the CA cert to use - for the targets. - properties: - configMap: - description: ConfigMap containing data to use - for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for - the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert file - for the targets. - properties: - configMap: - description: ConfigMap containing data to use - for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for - the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key file - for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - to: - description: The email address to send notifications to. - type: string - type: object - type: array - name: - description: Name of the receiver. Must be unique across all - items from the list. - minLength: 1 - type: string - opsgenieConfigs: - description: List of OpsGenie configurations. - items: - description: OpsGenieConfig configures notifications via OpsGenie. - See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config - properties: - actions: - description: Comma separated list of actions that will - be available for the alert. - type: string - apiKey: - description: The secret's key that contains the OpsGenie - API key. The secret needs to be in the same namespace - as the AlertmanagerConfig object and accessible by the - Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - apiURL: - description: The URL to send OpsGenie API requests to. - type: string - description: - description: Description of the incident. - type: string - details: - description: A set of arbitrary key/value pairs that provide - further detail about the incident. - items: - description: KeyValue defines a (key, value) tuple. - properties: - key: - description: Key of the tuple. - minLength: 1 - type: string - value: - description: Value of the tuple. - type: string - required: - - key - - value - type: object - type: array - entity: - description: Optional field that can be used to specify - which domain alert is related to. - type: string - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - message: - description: Alert text limited to 130 characters. - type: string - note: - description: Additional alert note. - type: string - priority: - description: Priority level of alert. Possible values - are P1, P2, P3, P4, and P5. - type: string - responders: - description: List of responders responsible for notifications. - items: - description: OpsGenieConfigResponder defines a responder - to an incident. One of `id`, `name` or `username` - has to be defined. - properties: - id: - description: ID of the responder. - type: string - name: - description: Name of the responder. - type: string - type: - description: Type of responder. - enum: - - team - - teams - - user - - escalation - - schedule - minLength: 1 - type: string - username: - description: Username of the responder. - type: string - required: - - type - type: object - type: array - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - source: - description: Backlink to the sender of the notification. - type: string - tags: - description: Comma separated list of tags attached to - the notifications. - type: string - updateAlerts: - description: Whether to update message and description - of the alert in OpsGenie if it already exists By default, - the alert is never updated in OpsGenie, the new message - only appears in activity log. - type: boolean - type: object - type: array - pagerdutyConfigs: - description: List of PagerDuty configurations. - items: - description: PagerDutyConfig configures notifications via - PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config - properties: - class: - description: The class/type of the event. - type: string - client: - description: Client identification. - type: string - clientURL: - description: Backlink to the sender of notification. - type: string - component: - description: The part or component of the affected system - that is broken. - type: string - description: - description: Description of the incident. - type: string - details: - description: Arbitrary key/value pairs that provide further - detail about the incident. - items: - description: KeyValue defines a (key, value) tuple. - properties: - key: - description: Key of the tuple. - minLength: 1 - type: string - value: - description: Value of the tuple. - type: string - required: - - key - - value - type: object - type: array - group: - description: A cluster or grouping of sources. - type: string - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - pagerDutyImageConfigs: - description: A list of image details to attach that provide - further detail about an incident. - items: - description: PagerDutyImageConfig attaches images to - an incident - properties: - alt: - description: Alt is the optional alternative text - for the image. - type: string - href: - description: Optional URL; makes the image a clickable - link. - type: string - src: - description: Src of the image being attached to - the incident - type: string - type: object - type: array - pagerDutyLinkConfigs: - description: A list of link details to attach that provide - further detail about an incident. - items: - description: PagerDutyLinkConfig attaches text links - to an incident - properties: - alt: - description: Text that describes the purpose of - the link, and can be used as the link's text. - type: string - href: - description: Href is the URL of the link to be attached - type: string - type: object - type: array - routingKey: - description: The secret's key that contains the PagerDuty - integration key (when using Events API v2). Either this - field or `serviceKey` needs to be defined. The secret - needs to be in the same namespace as the AlertmanagerConfig - object and accessible by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - serviceKey: - description: The secret's key that contains the PagerDuty - service key (when using integration type "Prometheus"). - Either this field or `routingKey` needs to be defined. - The secret needs to be in the same namespace as the - AlertmanagerConfig object and accessible by the Prometheus - Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - severity: - description: Severity of the incident. - type: string - url: - description: The URL to send requests to. - type: string - type: object - type: array - pushoverConfigs: - description: List of Pushover configurations. - items: - description: PushoverConfig configures notifications via Pushover. - See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config - properties: - expire: - description: How long your notification will continue - to be retried for, unless the user acknowledges the - notification. - pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$ - type: string - html: - description: Whether notification message is HTML or plain - text. - type: boolean - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - message: - description: Notification message. - type: string - priority: - description: Priority, see https://pushover.net/api#priority - type: string - retry: - description: How often the Pushover servers will send - the same notification to the user. Must be at least - 30 seconds. - pattern: ^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$ - type: string - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - sound: - description: The name of one of the sounds supported by - device clients to override the user's default sound - choice - type: string - title: - description: Notification title. - type: string - token: - description: The secret's key that contains the registered - application’s API token, see https://pushover.net/apps. - The secret needs to be in the same namespace as the - AlertmanagerConfig object and accessible by the Prometheus - Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - url: - description: A supplementary URL shown alongside the message. - type: string - urlTitle: - description: A title for supplementary URL, otherwise - just the URL is shown - type: string - userKey: - description: The secret's key that contains the recipient - user’s user key. The secret needs to be in the same - namespace as the AlertmanagerConfig object and accessible - by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - type: object - type: array - slackConfigs: - description: List of Slack configurations. - items: - description: SlackConfig configures notifications via Slack. - See https://prometheus.io/docs/alerting/latest/configuration/#slack_config - properties: - actions: - description: A list of Slack actions that are sent with - each notification. - items: - description: SlackAction configures a single Slack action - that is sent with each notification. See https://api.slack.com/docs/message-attachments#action_fields - and https://api.slack.com/docs/message-buttons for - more information. - properties: - confirm: - description: SlackConfirmationField protect users - from destructive actions or particularly distinguished - decisions by asking them to confirm their button - click one more time. See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields - for more information. - properties: - dismissText: - type: string - okText: - type: string - text: - minLength: 1 - type: string - title: - type: string - required: - - text - type: object - name: - type: string - style: - type: string - text: - minLength: 1 - type: string - type: - minLength: 1 - type: string - url: - type: string - value: - type: string - required: - - text - - type - type: object - type: array - apiURL: - description: The secret's key that contains the Slack - webhook URL. The secret needs to be in the same namespace - as the AlertmanagerConfig object and accessible by the - Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - callbackId: - type: string - channel: - description: The channel or user to send notifications - to. - type: string - color: - type: string - fallback: - type: string - fields: - description: A list of Slack fields that are sent with - each notification. - items: - description: SlackField configures a single Slack field - that is sent with each notification. Each field must - contain a title, value, and optionally, a boolean - value to indicate if the field is short enough to - be displayed next to other fields designated as short. - See https://api.slack.com/docs/message-attachments#fields - for more information. - properties: - short: - type: boolean - title: - minLength: 1 - type: string - value: - minLength: 1 - type: string - required: - - title - - value - type: object - type: array - footer: - type: string - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - iconEmoji: - type: string - iconURL: - type: string - imageURL: - type: string - linkNames: - type: boolean - mrkdwnIn: - items: - type: string - type: array - pretext: - type: string - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - shortFields: - type: boolean - text: - type: string - thumbURL: - type: string - title: - type: string - titleLink: - type: string - username: - type: string - type: object - type: array - snsConfigs: - description: List of SNS configurations - items: - description: SNSConfig configures notifications via AWS SNS. - See https://prometheus.io/docs/alerting/latest/configuration/#sns_configs - properties: - apiURL: - description: The SNS API URL i.e. https://sns.us-east-2.amazonaws.com. - If not specified, the SNS API URL from the SNS SDK will - be used. - type: string - attributes: - additionalProperties: - type: string - description: SNS message attributes. - type: object - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - message: - description: The message content of the SNS notification. - type: string - phoneNumber: - description: Phone number if message is delivered via - SMS in E.164 format. If you don't specify this value, - you must specify a value for the TopicARN or TargetARN. - type: string - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - sigv4: - description: Configures AWS's Signature Verification 4 - signing process to sign requests. - properties: - accessKey: - description: AccessKey is the AWS API key. If blank, - the environment variable `AWS_ACCESS_KEY_ID` is - used. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - profile: - description: Profile is the named AWS profile used - to authenticate. - type: string - region: - description: Region is the AWS region. If blank, the - region from the default credentials chain used. - type: string - roleArn: - description: RoleArn is the named AWS profile used - to authenticate. - type: string - secretKey: - description: SecretKey is the AWS API secret. If blank, - the environment variable `AWS_SECRET_ACCESS_KEY` - is used. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - subject: - description: Subject line when the message is delivered - to email endpoints. - type: string - targetARN: - description: The mobile platform endpoint ARN if message - is delivered via mobile notifications. If you don't - specify this value, you must specify a value for the - topic_arn or PhoneNumber. - type: string - topicARN: - description: SNS topic ARN, i.e. arn:aws:sns:us-east-2:698519295917:My-Topic - If you don't specify this value, you must specify a - value for the PhoneNumber or TargetARN. - type: string - type: object - type: array - telegramConfigs: - description: List of Telegram configurations. - items: - description: TelegramConfig configures notifications via Telegram. - See https://prometheus.io/docs/alerting/latest/configuration/#telegram_config - properties: - apiURL: - description: The Telegram API URL i.e. https://api.telegram.org. - If not specified, default API URL will be used. - type: string - botToken: - description: Telegram bot token The secret needs to be - in the same namespace as the AlertmanagerConfig object - and accessible by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - chatID: - description: The Telegram chat ID. - format: int64 - type: integer - disableNotifications: - description: Disable telegram notifications - type: boolean - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - message: - description: Message template - type: string - parseMode: - description: Parse mode for telegram message - enum: - - MarkdownV2 - - Markdown - - HTML - type: string - sendResolved: - description: Whether to notify about resolved alerts. - type: boolean - type: object - type: array - victoropsConfigs: - description: List of VictorOps configurations. - items: - description: VictorOpsConfig configures notifications via - VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config - properties: - apiKey: - description: The secret's key that contains the API key - to use when talking to the VictorOps API. The secret - needs to be in the same namespace as the AlertmanagerConfig - object and accessible by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - apiUrl: - description: The VictorOps API URL. - type: string - customFields: - description: Additional custom fields for notification. - items: - description: KeyValue defines a (key, value) tuple. - properties: - key: - description: Key of the tuple. - minLength: 1 - type: string - value: - description: Value of the tuple. - type: string - required: - - key - - value - type: object - type: array - entityDisplayName: - description: Contains summary of the alerted problem. - type: string - httpConfig: - description: The HTTP client's configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - messageType: - description: Describes the behavior of the alert (CRITICAL, - WARNING, INFO). - type: string - monitoringTool: - description: The monitoring tool the state message is - from. - type: string - routingKey: - description: A key used to map the alert to a team. - type: string - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - stateMessage: - description: Contains long explanation of the alerted - problem. - type: string - type: object - type: array - webhookConfigs: - description: List of webhook configurations. - items: - description: WebhookConfig configures notifications via a - generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config - properties: - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - maxAlerts: - description: Maximum number of alerts to be sent per webhook - message. When 0, all alerts are included. - format: int32 - minimum: 0 - type: integer - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - url: - description: The URL to send HTTP POST requests to. `urlSecret` - takes precedence over `url`. One of `urlSecret` and - `url` should be defined. - type: string - urlSecret: - description: The secret's key that contains the webhook - URL to send HTTP requests to. `urlSecret` takes precedence - over `url`. One of `urlSecret` and `url` should be defined. - The secret needs to be in the same namespace as the - AlertmanagerConfig object and accessible by the Prometheus - Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - type: object - type: array - wechatConfigs: - description: List of WeChat configurations. - items: - description: WeChatConfig configures notifications via WeChat. - See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config - properties: - agentID: - type: string - apiSecret: - description: The secret's key that contains the WeChat - API key. The secret needs to be in the same namespace - as the AlertmanagerConfig object and accessible by the - Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - apiURL: - description: The WeChat API URL. - type: string - corpID: - description: The corp id for authentication. - type: string - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for - the client. This is mutually exclusive with BasicAuth - and is only available starting from Alertmanager - v0.22+. - properties: - credentials: - description: The secret's key that contains the - credentials of the request - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, - BasicAuth takes precedence. - properties: - password: - description: The secret in the service monitor - namespace that contains the password for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor - namespace that contains the username for authentication. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. - The secret needs to be in the same namespace as - the AlertmanagerConfig object and accessible by - the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - followRedirects: - description: FollowRedirects specifies whether the - client should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch - a token for the targets. - properties: - clientId: - description: The secret or configmap containing - the OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 - client secret - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token - URL - type: object - scopes: - description: OAuth2 scopes used for the token - request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to - use for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert - file for the targets. - properties: - configMap: - description: ConfigMap containing data to - use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use - for the targets. - properties: - key: - description: The key of the secret to - select from. Must be a valid secret - key. - type: string - name: - description: 'Name of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key - file for the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the - targets. - type: string - type: object - type: object - message: - description: API request data as defined by the WeChat - API. - type: string - messageType: - type: string - sendResolved: - description: Whether or not to notify about resolved alerts. - type: boolean - toParty: - type: string - toTag: - type: string - toUser: - type: string - type: object - type: array - required: - - name - type: object - type: array - route: - description: The Alertmanager route definition for alerts matching - the resource’s namespace. If present, it will be added to the generated - Alertmanager configuration as a first-level route. - properties: - continue: - description: Boolean indicating whether an alert should continue - matching subsequent sibling nodes. It will always be overridden - to true for the first-level route by the Prometheus operator. - type: boolean - groupBy: - description: List of labels to group by. Labels must not be repeated - (unique list). Special label "..." (aggregate by all possible - labels), if provided, must be the only element in the list. - items: - type: string - type: array - groupInterval: - description: 'How long to wait before sending an updated notification. - Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$` - Example: "5m"' - type: string - groupWait: - description: 'How long to wait before sending the initial notification. - Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$` - Example: "30s"' - type: string - matchers: - description: 'List of matchers that the alert’s labels should - match. For the first level route, the operator removes any existing - equality and regexp matcher on the `namespace` label and adds - a `namespace: ` matcher.' - items: - description: Matcher defines how to match on alert's labels. - properties: - matchType: - description: Match operation available with AlertManager - >= v0.22.0 and takes precedence over Regex (deprecated) - if non-empty. - enum: - - '!=' - - = - - =~ - - '!~' - type: string - name: - description: Label to match. - minLength: 1 - type: string - regex: - description: Whether to match on equality (false) or regular-expression - (true). Deprecated as of AlertManager >= v0.22.0 where - a user should use MatchType instead. - type: boolean - value: - description: Label value to match. - type: string - required: - - name - type: object - type: array - muteTimeIntervals: - description: 'Note: this comment applies to the field definition - above but appears below otherwise it gets included in the generated - manifest. CRD schema doesn''t support self-referential types - for now (see https://github.com/kubernetes/kubernetes/issues/62872). - We have to use an alternative type to circumvent the limitation. - The downside is that the Kube API can''t validate the data beyond - the fact that it is a valid JSON representation. MuteTimeIntervals - is a list of MuteTimeInterval names that will mute this route - when matched,' - items: - type: string - type: array - receiver: - description: Name of the receiver for this route. If not empty, - it should be listed in the `receivers` field. - type: string - repeatInterval: - description: 'How long to wait before repeating the last notification. - Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$` - Example: "4h"' - type: string - routes: - description: Child routes. - items: - x-kubernetes-preserve-unknown-fields: true - type: array - type: object - type: object - required: - - spec - type: object - served: true - storage: true diff --git a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagers.yaml b/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagers.yaml deleted file mode 100644 index 236f26b91..000000000 --- a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-alertmanagers.yaml +++ /dev/null @@ -1,6779 +0,0 @@ -# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.59.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null - name: alertmanagers.monitoring.coreos.com -spec: - group: monitoring.coreos.com - names: - categories: - - prometheus-operator - kind: Alertmanager - listKind: AlertmanagerList - plural: alertmanagers - shortNames: - - am - singular: alertmanager - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: The version of Alertmanager - jsonPath: .spec.version - name: Version - type: string - - description: The desired replicas number of Alertmanagers - jsonPath: .spec.replicas - name: Replicas - type: integer - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: Alertmanager describes an Alertmanager cluster. - 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: 'Specification of the desired behavior of the Alertmanager - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - additionalPeers: - description: AdditionalPeers allows injecting a set of additional - Alertmanagers to peer with to form a highly available cluster. - items: - type: string - type: array - affinity: - description: If specified, the pod's scheduling constraints. - properties: - nodeAffinity: - description: Describes node affinity scheduling rules for the - pod. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the affinity expressions specified by - this field, but it may choose a node that violates one or - more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node matches - the corresponding matchExpressions; the node(s) with the - highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches - all objects with implicit weight 0 (i.e. it's a no-op). - A null preferred scheduling term matches no objects (i.e. - is also a no-op). - properties: - preference: - description: A node selector term, associated with the - corresponding weight. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - x-kubernetes-map-type: atomic - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - preference - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to an update), the system may or may not try to - eventually evict the pod from its node. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. - The terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - x-kubernetes-map-type: atomic - type: array - required: - - nodeSelectorTerms - type: object - x-kubernetes-map-type: atomic - type: object - podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate - this pod in the same node, zone, etc. as some other pod(s)). - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the affinity expressions specified by - this field, but it may choose a node that violates one or - more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node has - pods which matches the corresponding podAffinityTerm; the - node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Required. A pod affinity term, associated - with the corresponding weight. - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by this - field and the ones listed in the namespaces field. - null selector and null or empty namespaces list - means "this pod's namespace". An empty selector - ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. The - term is applied to the union of the namespaces - listed in this field and the ones selected by - namespaceSelector. null or empty namespaces list - and null namespaceSelector means "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey - matches that of any node on which any of the selected - pods is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may - not try to eventually evict the pod from its node. When - there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms - must be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of - pods is running - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied to the - union of the namespaces selected by this field and - the ones listed in the namespaces field. null selector - and null or empty namespaces list means "this pod's - namespace". An empty selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list of namespace - names that the term applies to. The term is applied - to the union of the namespaces listed in this field - and the ones selected by namespaceSelector. null or - empty namespaces list and null namespaceSelector means - "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of - any node on which any of the selected pods is running. - Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. - avoid putting this pod in the same node, zone, etc. as some - other pod(s)). - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the anti-affinity expressions specified - by this field, but it may choose a node that violates one - or more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node has - pods which matches the corresponding podAffinityTerm; the - node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Required. A pod affinity term, associated - with the corresponding weight. - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by this - field and the ones listed in the namespaces field. - null selector and null or empty namespaces list - means "this pod's namespace". An empty selector - ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. The - term is applied to the union of the namespaces - listed in this field and the ones selected by - namespaceSelector. null or empty namespaces list - and null namespaceSelector means "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey - matches that of any node on which any of the selected - pods is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will - not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its - node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. - all terms must be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of - pods is running - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied to the - union of the namespaces selected by this field and - the ones listed in the namespaces field. null selector - and null or empty namespaces list means "this pod's - namespace". An empty selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list of namespace - names that the term applies to. The term is applied - to the union of the namespaces listed in this field - and the ones selected by namespaceSelector. null or - empty namespaces list and null namespaceSelector means - "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of - any node on which any of the selected pods is running. - Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - type: object - alertmanagerConfigNamespaceSelector: - description: Namespaces to be selected for AlertmanagerConfig discovery. - If nil, only check own namespace. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - alertmanagerConfigSelector: - description: AlertmanagerConfigs to be selected for to merge and configure - Alertmanager with. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - alertmanagerConfiguration: - description: 'EXPERIMENTAL: alertmanagerConfiguration specifies the - configuration of Alertmanager. If defined, it takes precedence over - the `configSecret` field. This field may change in future releases.' - properties: - global: - description: Defines the global parameters of the Alertmanager - configuration. - properties: - httpConfig: - description: HTTP client configuration. - properties: - authorization: - description: Authorization header configuration for the - client. This is mutually exclusive with BasicAuth and - is only available starting from Alertmanager v0.22+. - properties: - credentials: - description: The secret's key that contains the credentials - of the request - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults - to Bearer, Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth for the client. This is mutually - exclusive with Authorization. If both are defined, BasicAuth - takes precedence. - properties: - password: - description: The secret in the service monitor namespace - that contains the password for authentication. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor namespace - that contains the username for authentication. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: The secret's key that contains the bearer - token to be used by the client for authentication. The - secret needs to be in the same namespace as the Alertmanager - object and accessible by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - followRedirects: - description: FollowRedirects specifies whether the client - should follow HTTP 3xx redirects. - type: boolean - oauth2: - description: OAuth2 client credentials used to fetch a - token for the targets. - properties: - clientId: - description: The secret or configmap containing the - OAuth2 client id - properties: - configMap: - description: ConfigMap containing data to use - for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for - the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 client - secret - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token URL - type: object - scopes: - description: OAuth2 scopes used for the token request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - proxyURL: - description: Optional proxy URL. - type: string - tlsConfig: - description: TLS configuration for the client. - properties: - ca: - description: Struct containing the CA cert to use - for the targets. - properties: - configMap: - description: ConfigMap containing data to use - for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for - the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert file - for the targets. - properties: - configMap: - description: ConfigMap containing data to use - for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for - the targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key file - for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - type: object - resolveTimeout: - description: ResolveTimeout is the default value used by alertmanager - if the alert does not include EndsAt, after this time passes - it can declare the alert as resolved if it has not been - updated. This has no impact on alerts from Prometheus, as - they always include EndsAt. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - type: object - name: - description: The name of the AlertmanagerConfig resource which - is used to generate the Alertmanager configuration. It must - be defined in the same namespace as the Alertmanager object. - The operator will not enforce a `namespace` label for routes - and inhibition rules. - minLength: 1 - type: string - type: object - baseImage: - description: 'Base image that is used to deploy pods, without tag. - Deprecated: use ''image'' instead' - type: string - clusterAdvertiseAddress: - description: 'ClusterAdvertiseAddress is the explicit address to advertise - in cluster. Needs to be provided for non RFC1918 [1] (public) addresses. - [1] RFC1918: https://tools.ietf.org/html/rfc1918' - type: string - clusterGossipInterval: - description: Interval between gossip attempts. - pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - clusterPeerTimeout: - description: Timeout for cluster peering. - pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - clusterPushpullInterval: - description: Interval between pushpull attempts. - pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the Alertmanager object, which shall be mounted into the Alertmanager - Pods. The ConfigMaps are mounted into /etc/alertmanager/configmaps/. - items: - type: string - type: array - configSecret: - description: "ConfigSecret is the name of a Kubernetes Secret in the - same namespace as the Alertmanager object, which contains the configuration - for this Alertmanager instance. If empty, it defaults to 'alertmanager-'. - \n The Alertmanager configuration should be available under the - `alertmanager.yaml` key. Additional keys from the original secret - are copied to the generated secret. \n If either the secret or the - `alertmanager.yaml` key is missing, the operator provisions an Alertmanager - configuration with one empty receiver (effectively dropping alert - notifications)." - type: string - containers: - description: 'Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to an Alertmanager - pod. Containers described here modify an operator generated container - if they share the same name and modifications are done via a strategic - merge patch. The current container names are: `alertmanager` and - `config-reloader`. Overriding containers is entirely outside the - scope of what the maintainers will support and by doing so, you - accept that this behaviour may break at any time without notice.' - items: - description: A single application container that you want to run - within a pod. - properties: - args: - description: 'Arguments to the entrypoint. The container image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will - be unchanged. Double $$ are reduced to a single $, which allows - for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references - will never be expanded, regardless of whether the variable - exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. - The container image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: - i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether - the variable exists or not. Cannot be updated. More info: - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be - a C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. - If a variable cannot be resolved, the reference in the - input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) - syntax: i.e. "$$(VAR_NAME)" will produce the string - literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists - or not. Defaults to "".' - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: 'Selects a field of the pod: supports - metadata.name, metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: 'Selects a resource of the container: - only resources limits and requests (limits.cpu, - limits.memory, limits.ephemeral-storage, requests.cpu, - requests.memory and requests.ephemeral-storage) - are currently supported.' - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be - a C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key - will take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set - of ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap must be - defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: An optional identifier to prepend to each - key in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - image: - description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Actions that the management system should take - in response to container lifecycle events. Cannot be updated. - properties: - postStart: - description: 'PostStart is called immediately after a container - is created. If the handler fails, the container is terminated - and restarted according to its restart policy. Other management - of the container blocks until the hook completes. More - info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - description: 'PreStop is called immediately before a container - is terminated due to an API request or management event - such as liveness/startup probe failure, preemption, resource - contention, etc. The handler is not called if the container - crashes or exits. The Pod''s termination grace period - countdown begins before the PreStop hook is executed. - Regardless of the outcome of the handler, the container - will eventually terminate within the Pod''s termination - grace period (unless delayed by finalizers). Other management - of the container blocks until the hook completes or until - the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - description: 'Periodic probe of container liveness. Container - will be restarted if the probe fails. Cannot be updated. More - info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - name: - description: Name of the container specified as a DNS_LABEL. - Each container in a pod must have a unique name (DNS_LABEL). - Cannot be updated. - type: string - ports: - description: List of ports to expose from the container. Not - specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Modifying this array with strategic merge patch may corrupt - the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. - Cannot be updated. - items: - description: ContainerPort represents a network port in a - single container. - properties: - containerPort: - description: Number of port to expose on the pod's IP - address. This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If - specified, this must be a valid port number, 0 < x < - 65536. If HostNetwork is specified, this must match - ContainerPort. Most containers do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod - must have a unique name. Name for the port that can - be referred to by services. - type: string - protocol: - default: TCP - description: Protocol for port. Must be UDP, TCP, or SCTP. - Defaults to "TCP". - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - description: 'Periodic probe of container service readiness. - Container will be removed from service endpoints if the probe - fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - resources: - description: 'Compute Resources required by this container. - Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - securityContext: - description: 'SecurityContext defines the security options the - container should be run with. If set, the fields of SecurityContext - override the equivalent fields of PodSecurityContext. More - info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether - a process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN Note that this field cannot be set - when spec.os.name is windows.' - type: boolean - capabilities: - description: The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by - the container runtime. Note that this field cannot be - set when spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - type: object - privileged: - description: Run container in privileged mode. Processes - in privileged containers are essentially equivalent to - root on the host. Defaults to false. Note that this field - cannot be set when spec.os.name is windows. - type: boolean - procMount: - description: procMount denotes the type of proc mount to - use for the containers. The default is DefaultProcMount - which uses the container runtime defaults for readonly - paths and masked paths. This requires the ProcMountType - feature flag to be enabled. Note that this field cannot - be set when spec.os.name is windows. - type: string - readOnlyRootFilesystem: - description: Whether this container has a read-only root - filesystem. Default is false. Note that this field cannot - be set when spec.os.name is windows. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a - non-root user. If true, the Kubelet will validate the - image at runtime to ensure that it does not run as UID - 0 (root) and fail to start the container if it does. If - unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both - SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata - if unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. Note - that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a - random SELinux context for each container. May also be - set in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: The seccomp options to use by this container. - If seccomp options are provided at both the pod & container - level, the container options override the pod options. - Note that this field cannot be set when spec.os.name is - windows. - properties: - localhostProfile: - description: localhostProfile indicates a profile defined - in a file on the node should be used. The profile - must be preconfigured on the node to work. Must be - a descending path, relative to the kubelet's configured - seccomp profile location. Must only be set if type - is "Localhost". - type: string - type: - description: "type indicates which kind of seccomp profile - will be applied. Valid options are: \n Localhost - - a profile defined in a file on the node should be - used. RuntimeDefault - the container runtime default - profile should be used. Unconfined - no profile should - be applied." - type: string - required: - - type - type: object - windowsOptions: - description: The Windows specific settings applied to all - containers. If unspecified, the options from the PodSecurityContext - will be used. If set in both SecurityContext and PodSecurityContext, - the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is - linux. - properties: - gmsaCredentialSpec: - description: GMSACredentialSpec is where the GMSA admission - webhook (https://github.com/kubernetes-sigs/windows-gmsa) - inlines the contents of the GMSA credential spec named - by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: HostProcess determines if a container should - be run as a 'Host Process' container. This field is - alpha-level and will only be honored by components - that enable the WindowsHostProcessContainers feature - flag. Setting this field without the feature flag - will result in errors when validating the Pod. All - of a Pod's containers must have the same effective - HostProcess value (it is not allowed to have a mix - of HostProcess containers and non-HostProcess containers). In - addition, if HostProcess is true then HostNetwork - must also be set to true. - type: boolean - runAsUserName: - description: The UserName in Windows to run the entrypoint - of the container process. Defaults to the user specified - in image metadata if unspecified. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. - type: string - type: object - type: object - startupProbe: - description: 'StartupProbe indicates that the Pod has successfully - initialized. If specified, no other probes are executed until - this completes successfully. If this probe fails, the Pod - will be restarted, just as if the livenessProbe failed. This - can be used to provide different probe parameters at the beginning - of a Pod''s lifecycle, when it might take a long time to load - data or warm a cache, than during steady-state operation. - This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - stdin: - description: Whether this container should allocate a buffer - for stdin in the container runtime. If this is not set, reads - from stdin in the container will always result in EOF. Default - is false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the - stdin channel after it has been opened by a single attach. - When stdin is true the stdin stream will remain open across - multiple attach sessions. If stdinOnce is set to true, stdin - is opened on container start, is empty until the first client - attaches to stdin, and then remains open and accepts data - until the client disconnects, at which time stdin is closed - and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin - will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the - container''s termination message will be written is mounted - into the container''s filesystem. Message written is intended - to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. - The total message length across all containers will be limited - to 12kb. Defaults to /dev/termination-log. Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be - populated. File will use the contents of terminationMessagePath - to populate the container status message on both success and - failure. FallbackToLogsOnError will use the last chunk of - container log output if the termination message file is empty - and the container exited with an error. The log output is - limited to 2048 bytes or 80 lines, whichever is smaller. Defaults - to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume - within a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other - way around. When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might - be configured in the container image. Cannot be updated. - type: string - required: - - name - type: object - type: array - externalUrl: - description: The external URL the Alertmanager instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Alertmanager is not served from root of a DNS name. - type: string - forceEnableClusterMode: - description: ForceEnableClusterMode ensures Alertmanager does not - deactivate the cluster mode when running with a single replica. - Use case is e.g. spanning an Alertmanager cluster across Kubernetes - clusters with a single replica in each. - type: boolean - hostAliases: - description: Pods' hostAliases configuration - items: - description: HostAlias holds the mapping between IP and hostnames - that will be injected as an entry in the pod's hosts file. - properties: - hostnames: - description: Hostnames for the above IP address. - items: - type: string - type: array - ip: - description: IP address of the host file entry. - type: string - required: - - hostnames - - ip - type: object - type: array - x-kubernetes-list-map-keys: - - ip - x-kubernetes-list-type: map - image: - description: Image if specified has precedence over baseImage, tag - and sha combinations. Specifying the version is still necessary - to ensure the Prometheus Operator knows what version of Alertmanager - is being configured. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same - namespace to use for pulling prometheus and alertmanager images - from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - type: array - initContainers: - description: 'InitContainers allows adding initContainers to the pod - definition. Those can be used to e.g. fetch secrets for injection - into the Alertmanager configuration from external sources. Any errors - during the execution of an initContainer will lead to a restart - of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at any - time without notice.' - items: - description: A single application container that you want to run - within a pod. - properties: - args: - description: 'Arguments to the entrypoint. The container image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will - be unchanged. Double $$ are reduced to a single $, which allows - for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references - will never be expanded, regardless of whether the variable - exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. - The container image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: - i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether - the variable exists or not. Cannot be updated. More info: - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be - a C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. - If a variable cannot be resolved, the reference in the - input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) - syntax: i.e. "$$(VAR_NAME)" will produce the string - literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists - or not. Defaults to "".' - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: 'Selects a field of the pod: supports - metadata.name, metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: 'Selects a resource of the container: - only resources limits and requests (limits.cpu, - limits.memory, limits.ephemeral-storage, requests.cpu, - requests.memory and requests.ephemeral-storage) - are currently supported.' - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be - a C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key - will take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set - of ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap must be - defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: An optional identifier to prepend to each - key in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - image: - description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Actions that the management system should take - in response to container lifecycle events. Cannot be updated. - properties: - postStart: - description: 'PostStart is called immediately after a container - is created. If the handler fails, the container is terminated - and restarted according to its restart policy. Other management - of the container blocks until the hook completes. More - info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - description: 'PreStop is called immediately before a container - is terminated due to an API request or management event - such as liveness/startup probe failure, preemption, resource - contention, etc. The handler is not called if the container - crashes or exits. The Pod''s termination grace period - countdown begins before the PreStop hook is executed. - Regardless of the outcome of the handler, the container - will eventually terminate within the Pod''s termination - grace period (unless delayed by finalizers). Other management - of the container blocks until the hook completes or until - the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - description: 'Periodic probe of container liveness. Container - will be restarted if the probe fails. Cannot be updated. More - info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - name: - description: Name of the container specified as a DNS_LABEL. - Each container in a pod must have a unique name (DNS_LABEL). - Cannot be updated. - type: string - ports: - description: List of ports to expose from the container. Not - specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Modifying this array with strategic merge patch may corrupt - the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. - Cannot be updated. - items: - description: ContainerPort represents a network port in a - single container. - properties: - containerPort: - description: Number of port to expose on the pod's IP - address. This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If - specified, this must be a valid port number, 0 < x < - 65536. If HostNetwork is specified, this must match - ContainerPort. Most containers do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod - must have a unique name. Name for the port that can - be referred to by services. - type: string - protocol: - default: TCP - description: Protocol for port. Must be UDP, TCP, or SCTP. - Defaults to "TCP". - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - description: 'Periodic probe of container service readiness. - Container will be removed from service endpoints if the probe - fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - resources: - description: 'Compute Resources required by this container. - Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - securityContext: - description: 'SecurityContext defines the security options the - container should be run with. If set, the fields of SecurityContext - override the equivalent fields of PodSecurityContext. More - info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether - a process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN Note that this field cannot be set - when spec.os.name is windows.' - type: boolean - capabilities: - description: The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by - the container runtime. Note that this field cannot be - set when spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - type: object - privileged: - description: Run container in privileged mode. Processes - in privileged containers are essentially equivalent to - root on the host. Defaults to false. Note that this field - cannot be set when spec.os.name is windows. - type: boolean - procMount: - description: procMount denotes the type of proc mount to - use for the containers. The default is DefaultProcMount - which uses the container runtime defaults for readonly - paths and masked paths. This requires the ProcMountType - feature flag to be enabled. Note that this field cannot - be set when spec.os.name is windows. - type: string - readOnlyRootFilesystem: - description: Whether this container has a read-only root - filesystem. Default is false. Note that this field cannot - be set when spec.os.name is windows. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a - non-root user. If true, the Kubelet will validate the - image at runtime to ensure that it does not run as UID - 0 (root) and fail to start the container if it does. If - unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both - SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata - if unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. Note - that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a - random SELinux context for each container. May also be - set in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: The seccomp options to use by this container. - If seccomp options are provided at both the pod & container - level, the container options override the pod options. - Note that this field cannot be set when spec.os.name is - windows. - properties: - localhostProfile: - description: localhostProfile indicates a profile defined - in a file on the node should be used. The profile - must be preconfigured on the node to work. Must be - a descending path, relative to the kubelet's configured - seccomp profile location. Must only be set if type - is "Localhost". - type: string - type: - description: "type indicates which kind of seccomp profile - will be applied. Valid options are: \n Localhost - - a profile defined in a file on the node should be - used. RuntimeDefault - the container runtime default - profile should be used. Unconfined - no profile should - be applied." - type: string - required: - - type - type: object - windowsOptions: - description: The Windows specific settings applied to all - containers. If unspecified, the options from the PodSecurityContext - will be used. If set in both SecurityContext and PodSecurityContext, - the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is - linux. - properties: - gmsaCredentialSpec: - description: GMSACredentialSpec is where the GMSA admission - webhook (https://github.com/kubernetes-sigs/windows-gmsa) - inlines the contents of the GMSA credential spec named - by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: HostProcess determines if a container should - be run as a 'Host Process' container. This field is - alpha-level and will only be honored by components - that enable the WindowsHostProcessContainers feature - flag. Setting this field without the feature flag - will result in errors when validating the Pod. All - of a Pod's containers must have the same effective - HostProcess value (it is not allowed to have a mix - of HostProcess containers and non-HostProcess containers). In - addition, if HostProcess is true then HostNetwork - must also be set to true. - type: boolean - runAsUserName: - description: The UserName in Windows to run the entrypoint - of the container process. Defaults to the user specified - in image metadata if unspecified. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. - type: string - type: object - type: object - startupProbe: - description: 'StartupProbe indicates that the Pod has successfully - initialized. If specified, no other probes are executed until - this completes successfully. If this probe fails, the Pod - will be restarted, just as if the livenessProbe failed. This - can be used to provide different probe parameters at the beginning - of a Pod''s lifecycle, when it might take a long time to load - data or warm a cache, than during steady-state operation. - This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - stdin: - description: Whether this container should allocate a buffer - for stdin in the container runtime. If this is not set, reads - from stdin in the container will always result in EOF. Default - is false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the - stdin channel after it has been opened by a single attach. - When stdin is true the stdin stream will remain open across - multiple attach sessions. If stdinOnce is set to true, stdin - is opened on container start, is empty until the first client - attaches to stdin, and then remains open and accepts data - until the client disconnects, at which time stdin is closed - and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin - will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the - container''s termination message will be written is mounted - into the container''s filesystem. Message written is intended - to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. - The total message length across all containers will be limited - to 12kb. Defaults to /dev/termination-log. Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be - populated. File will use the contents of terminationMessagePath - to populate the container status message on both success and - failure. FallbackToLogsOnError will use the last chunk of - container log output if the termination message file is empty - and the container exited with an error. The log output is - limited to 2048 bytes or 80 lines, whichever is smaller. Defaults - to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume - within a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other - way around. When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might - be configured in the container image. Cannot be updated. - type: string - required: - - name - type: object - type: array - listenLocal: - description: ListenLocal makes the Alertmanager server listen on loopback, - so that it does not bind against the Pod IP. Note this is only for - the Alertmanager UI, not the gossip communication. - type: boolean - logFormat: - description: Log format for Alertmanager to be configured with. - enum: - - "" - - logfmt - - json - type: string - logLevel: - description: Log level for Alertmanager to be configured with. - enum: - - "" - - debug - - info - - warn - - error - type: string - minReadySeconds: - description: Minimum number of seconds for which a newly created pod - should be ready without any of its container crashing for it to - be considered available. Defaults to 0 (pod will be considered available - as soon as it is ready) This is an alpha field and requires enabling - StatefulSetMinReadySeconds feature gate. - format: int32 - type: integer - nodeSelector: - additionalProperties: - type: string - description: Define which Nodes the Pods are scheduled on. - type: object - paused: - description: If set to true all actions on the underlying managed - objects are not goint to be performed, except for delete actions. - type: boolean - podMetadata: - description: PodMetadata configures Labels and Annotations which are - propagated to the alertmanager pods. - properties: - annotations: - additionalProperties: - type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - labels: - additionalProperties: - type: string - description: 'Map of string keys and values that can be used to - organize and categorize (scope and select) objects. May match - selectors of replication controllers and services. More info: - http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - type: object - portName: - description: Port name used for the pods and governing service. This - defaults to web - type: string - priorityClassName: - description: Priority class assigned to the Pods - type: string - replicas: - description: Size is the expected size of the alertmanager cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. - format: int32 - type: integer - resources: - description: Define resources requests and limits for single Pods. - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - retention: - default: 120h - description: Time duration Alertmanager shall retain data for. Default - is '120h', and must match the regular expression `[0-9]+(ms|s|m|h)` - (milliseconds seconds minutes hours). - pattern: ^(0|(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - routePrefix: - description: The route prefix Alertmanager registers HTTP handlers - for. This is useful, if using ExternalURL and a proxy is rewriting - HTTP routes of a request, and the actual ExternalURL is still true, - but the server serves requests under a different route prefix. For - example for use with `kubectl proxy`. - type: string - secrets: - description: Secrets is a list of Secrets in the same namespace as - the Alertmanager object, which shall be mounted into the Alertmanager - Pods. The Secrets are mounted into /etc/alertmanager/secrets/. - items: - type: string - type: array - securityContext: - description: SecurityContext holds pod-level security attributes and - common container settings. This defaults to the default PodSecurityContext. - properties: - fsGroup: - description: "A special supplemental group that applies to all - containers in a pod. Some volume types allow the Kubelet to - change the ownership of that volume to be owned by the pod: - \n 1. The owning GID will be the FSGroup 2. The setgid bit is - set (new files created in the volume will be owned by FSGroup) - 3. The permission bits are OR'd with rw-rw---- \n If unset, - the Kubelet will not modify the ownership and permissions of - any volume. Note that this field cannot be set when spec.os.name - is windows." - format: int64 - type: integer - fsGroupChangePolicy: - description: 'fsGroupChangePolicy defines behavior of changing - ownership and permission of the volume before being exposed - inside Pod. This field will only apply to volume types which - support fsGroup based ownership(and permissions). It will have - no effect on ephemeral volume types such as: secret, configmaps - and emptydir. Valid values are "OnRootMismatch" and "Always". - If not specified, "Always" is used. Note that this field cannot - be set when spec.os.name is windows.' - type: string - runAsGroup: - description: The GID to run the entrypoint of the container process. - Uses runtime default if unset. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - Note that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail to start - the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. - May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. Note that this field cannot - be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: The SELinux context to be applied to all containers. - If unspecified, the container runtime will allocate a random - SELinux context for each container. May also be set in SecurityContext. If - set in both SecurityContext and PodSecurityContext, the value - specified in SecurityContext takes precedence for that container. - Note that this field cannot be set when spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies to - the container. - type: string - role: - description: Role is a SELinux role label that applies to - the container. - type: string - type: - description: Type is a SELinux type label that applies to - the container. - type: string - user: - description: User is a SELinux user label that applies to - the container. - type: string - type: object - seccompProfile: - description: The seccomp options to use by the containers in this - pod. Note that this field cannot be set when spec.os.name is - windows. - properties: - localhostProfile: - description: localhostProfile indicates a profile defined - in a file on the node should be used. The profile must be - preconfigured on the node to work. Must be a descending - path, relative to the kubelet's configured seccomp profile - location. Must only be set if type is "Localhost". - type: string - type: - description: "type indicates which kind of seccomp profile - will be applied. Valid options are: \n Localhost - a profile - defined in a file on the node should be used. RuntimeDefault - - the container runtime default profile should be used. - Unconfined - no profile should be applied." - type: string - required: - - type - type: object - supplementalGroups: - description: A list of groups applied to the first process run - in each container, in addition to the container's primary GID. If - unspecified, no groups will be added to any container. Note - that this field cannot be set when spec.os.name is windows. - items: - format: int64 - type: integer - type: array - sysctls: - description: Sysctls hold a list of namespaced sysctls used for - the pod. Pods with unsupported sysctls (by the container runtime) - might fail to launch. Note that this field cannot be set when - spec.os.name is windows. - items: - description: Sysctl defines a kernel parameter to be set - properties: - name: - description: Name of a property to set - type: string - value: - description: Value of a property to set - type: string - required: - - name - - value - type: object - type: array - windowsOptions: - description: The Windows specific settings applied to all containers. - If unspecified, the options within a container's SecurityContext - will be used. If set in both SecurityContext and PodSecurityContext, - the value specified in SecurityContext takes precedence. Note - that this field cannot be set when spec.os.name is linux. - properties: - gmsaCredentialSpec: - description: GMSACredentialSpec is where the GMSA admission - webhook (https://github.com/kubernetes-sigs/windows-gmsa) - inlines the contents of the GMSA credential spec named by - the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the GMSA - credential spec to use. - type: string - hostProcess: - description: HostProcess determines if a container should - be run as a 'Host Process' container. This field is alpha-level - and will only be honored by components that enable the WindowsHostProcessContainers - feature flag. Setting this field without the feature flag - will result in errors when validating the Pod. All of a - Pod's containers must have the same effective HostProcess - value (it is not allowed to have a mix of HostProcess containers - and non-HostProcess containers). In addition, if HostProcess - is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: - description: The UserName in Windows to run the entrypoint - of the container process. Defaults to the user specified - in image metadata if unspecified. May also be set in PodSecurityContext. - If set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: string - type: object - type: object - serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount - to use to run the Prometheus Pods. - type: string - sha: - description: 'SHA of Alertmanager container image to be deployed. - Defaults to the value of `version`. Similar to a tag, but the SHA - explicitly deploys an immutable container image. Version and Tag - are ignored if SHA is set. Deprecated: use ''image'' instead. The - image digest can be specified as part of the image URL.' - type: string - storage: - description: Storage is the definition of how storage will be used - by the Alertmanager instances. - properties: - disableMountSubPath: - description: 'Deprecated: subPath usage will be disabled by default - in a future release, this option will become unnecessary. DisableMountSubPath - allows to remove any subPath usage in volume mounts.' - type: boolean - emptyDir: - description: 'EmptyDirVolumeSource to be used by the Prometheus - StatefulSets. If specified, used in place of any volumeClaimTemplate. - More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' - properties: - medium: - description: 'medium represents what type of storage medium - should back this directory. The default is "" which means - to use the node''s default medium. Must be an empty string - (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: - anyOf: - - type: integer - - type: string - description: 'sizeLimit is the total amount of local storage - required for this EmptyDir volume. The size limit is also - applicable for memory medium. The maximum usage on memory - medium EmptyDir would be the minimum value between the SizeLimit - specified here and the sum of memory limits of all containers - in a pod. The default is nil which means that the limit - is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - ephemeral: - description: 'EphemeralVolumeSource to be used by the Prometheus - StatefulSets. This is a beta field in k8s 1.21, for lower versions, - starting with k8s 1.19, it requires enabling the GenericEphemeralVolume - feature gate. More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes' - properties: - volumeClaimTemplate: - description: "Will be used to create a stand-alone PVC to - provision the volume. The pod in which this EphemeralVolumeSource - is embedded will be the owner of the PVC, i.e. the PVC will - be deleted together with the pod. The name of the PVC will - be `-` where `` is the - name from the `PodSpec.Volumes` array entry. Pod validation - will reject the pod if the concatenated name is not valid - for a PVC (for example, too long). \n An existing PVC with - that name that is not owned by the pod will *not* be used - for the pod to avoid using an unrelated volume by mistake. - Starting the pod is then blocked until the unrelated PVC - is removed. If such a pre-created PVC is meant to be used - by the pod, the PVC has to updated with an owner reference - to the pod once the pod exists. Normally this should not - be necessary, but it may be useful when manually reconstructing - a broken cluster. \n This field is read-only and no changes - will be made by Kubernetes to the PVC after it has been - created. \n Required, must not be nil." - properties: - metadata: - description: May contain labels and annotations that will - be copied into the PVC when creating it. No other fields - are allowed and will be rejected during validation. - type: object - spec: - description: The specification for the PersistentVolumeClaim. - The entire content is copied unchanged into the PVC - that gets created from this template. The same fields - as in a PersistentVolumeClaim are also valid here. - properties: - accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the - provisioner or an external controller can support - the specified data source, it will create a new - volume based on the contents of the specified data - source. If the AnyVolumeDataSource feature gate - is enabled, this field will always have the same - contents as the DataSourceRef field.' - properties: - apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. - For any other third-party types, APIGroup is - required. - type: string - kind: - description: Kind is the type of resource being - referenced - type: string - name: - description: Name is the name of resource being - referenced - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - dataSourceRef: - description: 'dataSourceRef specifies the object from - which to populate the volume with data, if a non-empty - volume is desired. This may be any local object - from a non-empty API group (non core object) or - a PersistentVolumeClaim object. When this field - is specified, volume binding will only succeed if - the type of the specified object matches some installed - volume populator or dynamic provisioner. This field - will replace the functionality of the DataSource - field and as such if both fields are non-empty, - they must have the same value. For backwards compatibility, - both fields (DataSource and DataSourceRef) will - be set to the same value automatically if one of - them is empty and the other is non-empty. There - are two important differences between DataSource - and DataSourceRef: * While DataSource only allows - two specific types of objects, DataSourceRef allows - any non-core object, as well as PersistentVolumeClaim - objects. * While DataSource ignores disallowed values - (dropping them), DataSourceRef preserves all values, - and generates an error if a disallowed value is - specified. (Beta) Using this field requires the - AnyVolumeDataSource feature gate to be enabled.' - properties: - apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. - For any other third-party types, APIGroup is - required. - type: string - kind: - description: Kind is the type of resource being - referenced - type: string - name: - description: Name is the name of resource being - referenced - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify - resource requirements that are lower than previous - value but must still be higher than capacity recorded - in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is - omitted for a container, it defaults to Limits - if that is explicitly specified, otherwise to - an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - selector: - description: selector is a label query over volumes - to consider for binding. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - storageClassName: - description: 'storageClassName is the name of the - StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume - is required by the claim. Value of Filesystem is - implied when not included in claim spec. - type: string - volumeName: - description: volumeName is the binding reference to - the PersistentVolume backing this claim. - type: string - type: object - required: - - spec - type: object - type: object - volumeClaimTemplate: - description: A PVC spec to be used by the Prometheus StatefulSets. - 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: - description: EmbeddedMetadata contains metadata relevant to - an EmbeddedResource. - properties: - annotations: - additionalProperties: - type: string - description: 'Annotations is an unstructured key value - map stored with a resource that may be set by external - tools to store and retrieve arbitrary metadata. They - are not queryable and should be preserved when modifying - objects. More info: http://kubernetes.io/docs/user-guide/annotations' - type: object - labels: - additionalProperties: - type: string - description: 'Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' - type: object - name: - description: 'Name must be unique within a namespace. - Is required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be - updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' - type: string - type: object - spec: - description: 'Spec defines the desired characteristics of - a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' - properties: - accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified - data source, it will create a new volume based on the - contents of the specified data source. If the AnyVolumeDataSource - feature gate is enabled, this field will always have - the same contents as the DataSourceRef field.' - properties: - apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. - For any other third-party types, APIGroup is required. - type: string - kind: - description: Kind is the type of resource being referenced - type: string - name: - description: Name is the name of resource being referenced - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - dataSourceRef: - description: 'dataSourceRef specifies the object from - which to populate the volume with data, if a non-empty - volume is desired. This may be any local object from - a non-empty API group (non core object) or a PersistentVolumeClaim - object. When this field is specified, volume binding - will only succeed if the type of the specified object - matches some installed volume populator or dynamic provisioner. - This field will replace the functionality of the DataSource - field and as such if both fields are non-empty, they - must have the same value. For backwards compatibility, - both fields (DataSource and DataSourceRef) will be set - to the same value automatically if one of them is empty - and the other is non-empty. There are two important - differences between DataSource and DataSourceRef: * - While DataSource only allows two specific types of objects, - DataSourceRef allows any non-core object, as well as - PersistentVolumeClaim objects. * While DataSource ignores - disallowed values (dropping them), DataSourceRef preserves - all values, and generates an error if a disallowed value - is specified. (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' - properties: - apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. - For any other third-party types, APIGroup is required. - type: string - kind: - description: Kind is the type of resource being referenced - type: string - name: - description: Name is the name of resource being referenced - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify resource - requirements that are lower than previous value but - must still be higher than capacity recorded in the status - field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - selector: - description: selector is a label query over volumes to - consider for binding. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator is - Exists or DoesNotExist, the values array must - be empty. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume is - required by the claim. Value of Filesystem is implied - when not included in claim spec. - type: string - volumeName: - description: volumeName is the binding reference to the - PersistentVolume backing this claim. - type: string - type: object - status: - description: 'Status represents the current information/status - of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' - properties: - accessModes: - description: 'accessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - allocatedResources: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity - when a volume expansion operation is requested. For - storage quota, the larger value from allocatedResources - and PVC.spec.resources is used. If allocatedResources - is not set, PVC.spec.resources alone is used for quota - calculation. If a volume expansion capacity request - is lowered, allocatedResources is only lowered if there - are no expansion operations in progress and if the actual - volume capacity is equal or lower than the requested - capacity. This is an alpha field and requires enabling - RecoverVolumeExpansionFailure feature. - type: object - capacity: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: capacity represents the actual resources - of the underlying volume. - type: object - conditions: - description: conditions is the current Condition of persistent - volume claim. If underlying persistent volume is being - resized then the Condition will be set to 'ResizeStarted'. - items: - description: PersistentVolumeClaimCondition contails - details about state of pvc - properties: - lastProbeTime: - description: lastProbeTime is the time we probed - the condition. - format: date-time - type: string - lastTransitionTime: - description: lastTransitionTime is the time the - condition transitioned from one status to another. - format: date-time - type: string - message: - description: message is the human-readable message - indicating details about last transition. - type: string - reason: - description: reason is a unique, this should be - a short, machine understandable string that gives - the reason for condition's last transition. If - it reports "ResizeStarted" that means the underlying - persistent volume is being resized. - type: string - status: - type: string - type: - description: PersistentVolumeClaimConditionType - is a valid value of PersistentVolumeClaimCondition.Type - type: string - required: - - status - - type - type: object - type: array - phase: - description: phase represents the current phase of PersistentVolumeClaim. - type: string - resizeStatus: - description: resizeStatus stores status of resize operation. - ResizeStatus is not set by default but when expansion - is complete resizeStatus is set to empty string by resize - controller or kubelet. This is an alpha field and requires - enabling RecoverVolumeExpansionFailure feature. - type: string - type: object - type: object - type: object - tag: - description: 'Tag of Alertmanager container image to be deployed. - Defaults to the value of `version`. Version is ignored if Tag is - set. Deprecated: use ''image'' instead. The image tag can be specified - as part of the image URL.' - type: string - tolerations: - description: If specified, the pod's tolerations. - items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . - properties: - effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match all - values and all keys. - type: string - operator: - description: Operator represents a key's relationship to the - value. Valid operators are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, so that a pod - can tolerate all taints of a particular category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of time - the toleration (which must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. By default, it - is not set, which means tolerate the taint forever (do not - evict). Zero and negative values will be treated as 0 (evict - immediately) by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. - type: string - type: object - type: array - topologySpreadConstraints: - description: If specified, the pod's topology spread constraints. - items: - description: TopologySpreadConstraint specifies how to spread matching - pods among the given topology. - properties: - labelSelector: - description: LabelSelector is used to find matching pods. Pods - that match this label selector are counted to determine the - number of pods in their corresponding topology domain. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that relates - the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. This - array is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - matchLabelKeys: - description: MatchLabelKeys is a set of pod label keys to select - the pods over which spreading will be calculated. The keys - are used to lookup values from the incoming pod labels, those - key-value labels are ANDed with labelSelector to select the - group of existing pods over which spreading will be calculated - for the incoming pod. Keys that don't exist in the incoming - pod labels will be ignored. A null or empty list means only - match against labelSelector. - items: - type: string - type: array - x-kubernetes-list-type: atomic - maxSkew: - description: 'MaxSkew describes the degree to which pods may - be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, - it is the maximum permitted difference between the number - of matching pods in the target topology and the global minimum. - The global minimum is the minimum number of matching pods - in an eligible domain or zero if the number of eligible domains - is less than MinDomains. For example, in a 3-zone cluster, - MaxSkew is set to 1, and pods with the same labelSelector - spread as 2/2/1: In this case, the global minimum is 1. | - zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew - is 1, incoming pod can only be scheduled to zone3 to become - 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) - on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming - pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, - it is used to give higher precedence to topologies that satisfy - it. It''s a required field. Default value is 1 and 0 is not - allowed.' - format: int32 - type: integer - minDomains: - description: "MinDomains indicates a minimum number of eligible - domains. When the number of eligible domains with matching - topology keys is less than minDomains, Pod Topology Spread - treats \"global minimum\" as 0, and then the calculation of - Skew is performed. And when the number of eligible domains - with matching topology keys equals or greater than minDomains, - this value has no effect on scheduling. As a result, when - the number of eligible domains is less than minDomains, scheduler - won't schedule more than maxSkew Pods to those domains. If - value is nil, the constraint behaves as if MinDomains is equal - to 1. Valid values are integers greater than 0. When value - is not nil, WhenUnsatisfiable must be DoNotSchedule. \n For - example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains - is set to 5 and pods with the same labelSelector spread as - 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P | - The number of domains is less than 5(MinDomains), so \"global - minimum\" is treated as 0. In this situation, new pod with - the same labelSelector cannot be scheduled, because computed - skew will be 3(3 - 0) if new Pod is scheduled to any of the - three zones, it will violate MaxSkew. \n This is a beta field - and requires the MinDomainsInPodTopologySpread feature gate - to be enabled (enabled by default)." - format: int32 - type: integer - nodeAffinityPolicy: - description: "NodeAffinityPolicy indicates how we will treat - Pod's nodeAffinity/nodeSelector when calculating pod topology - spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector - are included in the calculations. - Ignore: nodeAffinity/nodeSelector - are ignored. All nodes are included in the calculations. \n - If this value is nil, the behavior is equivalent to the Honor - policy. This is a alpha-level feature enabled by the NodeInclusionPolicyInPodTopologySpread - feature flag." - type: string - nodeTaintsPolicy: - description: "NodeTaintsPolicy indicates how we will treat node - taints when calculating pod topology spread skew. Options - are: - Honor: nodes without taints, along with tainted nodes - for which the incoming pod has a toleration, are included. - - Ignore: node taints are ignored. All nodes are included. - \n If this value is nil, the behavior is equivalent to the - Ignore policy. This is a alpha-level feature enabled by the - NodeInclusionPolicyInPodTopologySpread feature flag." - type: string - topologyKey: - description: TopologyKey is the key of node labels. Nodes that - have a label with this key and identical values are considered - to be in the same topology. We consider each - as a "bucket", and try to put balanced number of pods into - each bucket. We define a domain as a particular instance of - a topology. Also, we define an eligible domain as a domain - whose nodes meet the requirements of nodeAffinityPolicy and - nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", - each Node is a domain of that topology. And, if TopologyKey - is "topology.kubernetes.io/zone", each zone is a domain of - that topology. It's a required field. - type: string - whenUnsatisfiable: - description: 'WhenUnsatisfiable indicates how to deal with a - pod if it doesn''t satisfy the spread constraint. - DoNotSchedule - (default) tells the scheduler not to schedule it. - ScheduleAnyway - tells the scheduler to schedule the pod in any location, but - giving higher precedence to topologies that would help reduce - the skew. A constraint is considered "Unsatisfiable" for an - incoming pod if and only if every possible node assignment - for that pod would violate "MaxSkew" on some topology. For - example, in a 3-zone cluster, MaxSkew is set to 1, and pods - with the same labelSelector spread as 3/1/1: | zone1 | zone2 - | zone3 | | P P P | P | P | If WhenUnsatisfiable is - set to DoNotSchedule, incoming pod can only be scheduled to - zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on - zone2(zone3) satisfies MaxSkew(1). In other words, the cluster - can still be imbalanced, but scheduler won''t make it *more* - imbalanced. It''s a required field.' - type: string - required: - - maxSkew - - topologyKey - - whenUnsatisfiable - type: object - type: array - version: - description: Version the cluster should be on. - type: string - volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output StatefulSet definition. VolumeMounts specified will - be appended to other VolumeMounts in the alertmanager container, - that are generated as a result of StorageSpec objects. - items: - description: VolumeMount describes a mounting of a Volume within - a container. - properties: - mountPath: - description: Path within the container at which the volume should - be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are propagated - from the host to container and the other way around. When - not set, MountPropagationNone is used. This field is beta - in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - subPathExpr: - description: Expanded path within the volume from which the - container's volume should be mounted. Behaves similarly to - SubPath but environment variable references $(VAR_NAME) are - expanded using the container's environment. Defaults to "" - (volume's root). SubPathExpr and SubPath are mutually exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - volumes: - description: Volumes allows configuration of additional volumes on - the output StatefulSet definition. Volumes specified will be appended - to other volumes that are generated as a result of StorageSpec objects. - items: - description: Volume represents a named volume in a pod that may - be accessed by any container in the pod. - properties: - awsElasticBlockStore: - description: 'awsElasticBlockStore represents an AWS Disk resource - that is attached to a kubelet''s host machine and then exposed - to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' - properties: - fsType: - description: 'fsType is the filesystem type of the volume - that you want to mount. Tip: Ensure that the filesystem - type is supported by the host operating system. Examples: - "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore - TODO: how do we prevent errors in the filesystem from - compromising the machine' - type: string - partition: - description: 'partition is the partition in the volume that - you want to mount. If omitted, the default is to mount - by volume name. Examples: For volume /dev/sda1, you specify - the partition as "1". Similarly, the volume partition - for /dev/sda is "0" (or you can leave the property empty).' - format: int32 - type: integer - readOnly: - description: 'readOnly value true will force the readOnly - setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' - type: boolean - volumeID: - description: 'volumeID is unique ID of the persistent disk - resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' - type: string - required: - - volumeID - type: object - azureDisk: - description: azureDisk represents an Azure Data Disk mount on - the host and bind mount to the pod. - properties: - cachingMode: - description: 'cachingMode is the Host Caching mode: None, - Read Only, Read Write.' - type: string - diskName: - description: diskName is the Name of the data disk in the - blob storage - type: string - diskURI: - description: diskURI is the URI of data disk in the blob - storage - type: string - fsType: - description: fsType is Filesystem type to mount. Must be - a filesystem type supported by the host operating system. - Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. - type: string - kind: - description: 'kind expected values are Shared: multiple - blob disks per storage account Dedicated: single blob - disk per storage account Managed: azure managed data - disk (only in managed availability set). defaults to shared' - type: string - readOnly: - description: readOnly Defaults to false (read/write). ReadOnly - here will force the ReadOnly setting in VolumeMounts. - type: boolean - required: - - diskName - - diskURI - type: object - azureFile: - description: azureFile represents an Azure File Service mount - on the host and bind mount to the pod. - properties: - readOnly: - description: readOnly defaults to false (read/write). ReadOnly - here will force the ReadOnly setting in VolumeMounts. - type: boolean - secretName: - description: secretName is the name of secret that contains - Azure Storage Account Name and Key - type: string - shareName: - description: shareName is the azure share Name - type: string - required: - - secretName - - shareName - type: object - cephfs: - description: cephFS represents a Ceph FS mount on the host that - shares a pod's lifetime - properties: - monitors: - description: 'monitors is Required: Monitors is a collection - of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' - items: - type: string - type: array - path: - description: 'path is Optional: Used as the mounted root, - rather than the full Ceph tree, default is /' - type: string - readOnly: - description: 'readOnly is Optional: Defaults to false (read/write). - ReadOnly here will force the ReadOnly setting in VolumeMounts. - More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' - type: boolean - secretFile: - description: 'secretFile is Optional: SecretFile is the - path to key ring for User, default is /etc/ceph/user.secret - More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' - type: string - secretRef: - description: 'secretRef is Optional: SecretRef is reference - to the authentication secret for User, default is empty. - More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - user: - description: 'user is optional: User is the rados user name, - default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' - type: string - required: - - monitors - type: object - cinder: - description: 'cinder represents a cinder volume attached and - mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' - properties: - fsType: - description: 'fsType is the filesystem type to mount. Must - be a filesystem type supported by the host operating system. - Examples: "ext4", "xfs", "ntfs". Implicitly inferred to - be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' - type: string - readOnly: - description: 'readOnly defaults to false (read/write). ReadOnly - here will force the ReadOnly setting in VolumeMounts. - More info: https://examples.k8s.io/mysql-cinder-pd/README.md' - type: boolean - secretRef: - description: 'secretRef is optional: points to a secret - object containing parameters used to connect to OpenStack.' - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - volumeID: - description: 'volumeID used to identify the volume in cinder. - More info: https://examples.k8s.io/mysql-cinder-pd/README.md' - type: string - required: - - volumeID - type: object - configMap: - description: configMap represents a configMap that should populate - this volume - properties: - defaultMode: - description: 'defaultMode is optional: mode bits used to - set permissions on created files by default. Must be an - octal value between 0000 and 0777 or a decimal value between - 0 and 511. YAML accepts both octal and decimal values, - JSON requires decimal values for mode bits. Defaults to - 0644. Directories within the path are not affected by - this setting. This might be in conflict with other options - that affect the file mode, like fsGroup, and the result - can be other mode bits set.' - format: int32 - type: integer - items: - description: items if unspecified, each key-value pair in - the Data field of the referenced ConfigMap will be projected - into the volume as a file whose name is the key and content - is the value. If specified, the listed keys will be projected - into the specified paths, and unlisted keys will not be - present. If a key is specified which is not present in - the ConfigMap, the volume setup will error unless it is - marked optional. Paths must be relative and may not contain - the '..' path or start with '..'. - items: - description: Maps a string key to a path within a volume. - properties: - key: - description: key is the key to project. - type: string - mode: - description: 'mode is Optional: mode bits used to - set permissions on this file. Must be an octal value - between 0000 and 0777 or a decimal value between - 0 and 511. YAML accepts both octal and decimal values, - JSON requires decimal values for mode bits. If not - specified, the volume defaultMode will be used. - This might be in conflict with other options that - affect the file mode, like fsGroup, and the result - can be other mode bits set.' - format: int32 - type: integer - path: - description: path is the relative path of the file - to map the key to. May not be an absolute path. - May not contain the path element '..'. May not start - with the string '..'. - type: string - required: - - key - - path - type: object - type: array - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: optional specify whether the ConfigMap or its - keys must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - csi: - description: csi (Container Storage Interface) represents ephemeral - storage that is handled by certain external CSI drivers (Beta - feature). - properties: - driver: - description: driver is the name of the CSI driver that handles - this volume. Consult with your admin for the correct name - as registered in the cluster. - type: string - fsType: - description: fsType to mount. Ex. "ext4", "xfs", "ntfs". - If not provided, the empty value is passed to the associated - CSI driver which will determine the default filesystem - to apply. - type: string - nodePublishSecretRef: - description: nodePublishSecretRef is a reference to the - secret object containing sensitive information to pass - to the CSI driver to complete the CSI NodePublishVolume - and NodeUnpublishVolume calls. This field is optional, - and may be empty if no secret is required. If the secret - object contains more than one secret, all secret references - are passed. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - readOnly: - description: readOnly specifies a read-only configuration - for the volume. Defaults to false (read/write). - type: boolean - volumeAttributes: - additionalProperties: - type: string - description: volumeAttributes stores driver-specific properties - that are passed to the CSI driver. Consult your driver's - documentation for supported values. - type: object - required: - - driver - type: object - downwardAPI: - description: downwardAPI represents downward API about the pod - that should populate this volume - properties: - defaultMode: - description: 'Optional: mode bits to use on created files - by default. Must be a Optional: mode bits used to set - permissions on created files by default. Must be an octal - value between 0000 and 0777 or a decimal value between - 0 and 511. YAML accepts both octal and decimal values, - JSON requires decimal values for mode bits. Defaults to - 0644. Directories within the path are not affected by - this setting. This might be in conflict with other options - that affect the file mode, like fsGroup, and the result - can be other mode bits set.' - format: int32 - type: integer - items: - description: Items is a list of downward API volume file - items: - description: DownwardAPIVolumeFile represents information - to create the file containing the pod field - properties: - fieldRef: - description: 'Required: Selects a field of the pod: - only annotations, labels, name and namespace are - supported.' - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - mode: - description: 'Optional: mode bits used to set permissions - on this file, must be an octal value between 0000 - and 0777 or a decimal value between 0 and 511. YAML - accepts both octal and decimal values, JSON requires - decimal values for mode bits. If not specified, - the volume defaultMode will be used. This might - be in conflict with other options that affect the - file mode, like fsGroup, and the result can be other - mode bits set.' - format: int32 - type: integer - path: - description: 'Required: Path is the relative path - name of the file to be created. Must not be absolute - or contain the ''..'' path. Must be utf-8 encoded. - The first item of the relative path must not start - with ''..''' - type: string - resourceFieldRef: - description: 'Selects a resource of the container: - only resources limits and requests (limits.cpu, - limits.memory, requests.cpu and requests.memory) - are currently supported.' - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - required: - - path - type: object - type: array - type: object - emptyDir: - description: 'emptyDir represents a temporary directory that - shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - properties: - medium: - description: 'medium represents what type of storage medium - should back this directory. The default is "" which means - to use the node''s default medium. Must be an empty string - (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' - type: string - sizeLimit: - anyOf: - - type: integer - - type: string - description: 'sizeLimit is the total amount of local storage - required for this EmptyDir volume. The size limit is also - applicable for memory medium. The maximum usage on memory - medium EmptyDir would be the minimum value between the - SizeLimit specified here and the sum of memory limits - of all containers in a pod. The default is nil which means - that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - ephemeral: - description: "ephemeral represents a volume that is handled - by a cluster storage driver. The volume's lifecycle is tied - to the pod that defines it - it will be created before the - pod starts, and deleted when the pod is removed. \n Use this - if: a) the volume is only needed while the pod runs, b) features - of normal volumes like restoring from snapshot or capacity - tracking are needed, c) the storage driver is specified through - a storage class, and d) the storage driver supports dynamic - volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource - for more information on the connection between this volume - type and PersistentVolumeClaim). \n Use PersistentVolumeClaim - or one of the vendor-specific APIs for volumes that persist - for longer than the lifecycle of an individual pod. \n Use - CSI for light-weight local ephemeral volumes if the CSI driver - is meant to be used that way - see the documentation of the - driver for more information. \n A pod can use both types of - ephemeral volumes and persistent volumes at the same time." - properties: - volumeClaimTemplate: - description: "Will be used to create a stand-alone PVC to - provision the volume. The pod in which this EphemeralVolumeSource - is embedded will be the owner of the PVC, i.e. the PVC - will be deleted together with the pod. The name of the - PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. - Pod validation will reject the pod if the concatenated - name is not valid for a PVC (for example, too long). \n - An existing PVC with that name that is not owned by the - pod will *not* be used for the pod to avoid using an unrelated - volume by mistake. Starting the pod is then blocked until - the unrelated PVC is removed. If such a pre-created PVC - is meant to be used by the pod, the PVC has to updated - with an owner reference to the pod once the pod exists. - Normally this should not be necessary, but it may be useful - when manually reconstructing a broken cluster. \n This - field is read-only and no changes will be made by Kubernetes - to the PVC after it has been created. \n Required, must - not be nil." - properties: - metadata: - description: May contain labels and annotations that - will be copied into the PVC when creating it. No other - fields are allowed and will be rejected during validation. - type: object - spec: - description: The specification for the PersistentVolumeClaim. - The entire content is copied unchanged into the PVC - that gets created from this template. The same fields - as in a PersistentVolumeClaim are also valid here. - properties: - accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' - items: - type: string - type: array - dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the - provisioner or an external controller can support - the specified data source, it will create a new - volume based on the contents of the specified - data source. If the AnyVolumeDataSource feature - gate is enabled, this field will always have the - same contents as the DataSourceRef field.' - properties: - apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API - group. For any other third-party types, APIGroup - is required. - type: string - kind: - description: Kind is the type of resource being - referenced - type: string - name: - description: Name is the name of resource being - referenced - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - dataSourceRef: - description: 'dataSourceRef specifies the object - from which to populate the volume with data, if - a non-empty volume is desired. This may be any - local object from a non-empty API group (non core - object) or a PersistentVolumeClaim object. When - this field is specified, volume binding will only - succeed if the type of the specified object matches - some installed volume populator or dynamic provisioner. - This field will replace the functionality of the - DataSource field and as such if both fields are - non-empty, they must have the same value. For - backwards compatibility, both fields (DataSource - and DataSourceRef) will be set to the same value - automatically if one of them is empty and the - other is non-empty. There are two important differences - between DataSource and DataSourceRef: * While - DataSource only allows two specific types of objects, - DataSourceRef allows any non-core object, as well - as PersistentVolumeClaim objects. * While DataSource - ignores disallowed values (dropping them), DataSourceRef - preserves all values, and generates an error if - a disallowed value is specified. (Beta) Using - this field requires the AnyVolumeDataSource feature - gate to be enabled.' - properties: - apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API - group. For any other third-party types, APIGroup - is required. - type: string - kind: - description: Kind is the type of resource being - referenced - type: string - name: - description: Name is the name of resource being - referenced - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify - resource requirements that are lower than previous - value but must still be higher than capacity recorded - in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum - amount of compute resources required. If Requests - is omitted for a container, it defaults to - Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - selector: - description: selector is a label query over volumes - to consider for binding. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - storageClassName: - description: 'storageClassName is the name of the - StorageClass required by the claim. More info: - https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' - type: string - volumeMode: - description: volumeMode defines what type of volume - is required by the claim. Value of Filesystem - is implied when not included in claim spec. - type: string - volumeName: - description: volumeName is the binding reference - to the PersistentVolume backing this claim. - type: string - type: object - required: - - spec - type: object - type: object - fc: - description: fc represents a Fibre Channel resource that is - attached to a kubelet's host machine and then exposed to the - pod. - properties: - fsType: - description: 'fsType is the filesystem type to mount. Must - be a filesystem type supported by the host operating system. - Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. TODO: how do we prevent errors in the - filesystem from compromising the machine' - type: string - lun: - description: 'lun is Optional: FC target lun number' - format: int32 - type: integer - readOnly: - description: 'readOnly is Optional: Defaults to false (read/write). - ReadOnly here will force the ReadOnly setting in VolumeMounts.' - type: boolean - targetWWNs: - description: 'targetWWNs is Optional: FC target worldwide - names (WWNs)' - items: - type: string - type: array - wwids: - description: 'wwids Optional: FC volume world wide identifiers - (wwids) Either wwids or combination of targetWWNs and - lun must be set, but not both simultaneously.' - items: - type: string - type: array - type: object - flexVolume: - description: flexVolume represents a generic volume resource - that is provisioned/attached using an exec based plugin. - properties: - driver: - description: driver is the name of the driver to use for - this volume. - type: string - fsType: - description: fsType is the filesystem type to mount. Must - be a filesystem type supported by the host operating system. - Ex. "ext4", "xfs", "ntfs". The default filesystem depends - on FlexVolume script. - type: string - options: - additionalProperties: - type: string - description: 'options is Optional: this field holds extra - command options if any.' - type: object - readOnly: - description: 'readOnly is Optional: defaults to false (read/write). - ReadOnly here will force the ReadOnly setting in VolumeMounts.' - type: boolean - secretRef: - description: 'secretRef is Optional: secretRef is reference - to the secret object containing sensitive information - to pass to the plugin scripts. This may be empty if no - secret object is specified. If the secret object contains - more than one secret, all secrets are passed to the plugin - scripts.' - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - required: - - driver - type: object - flocker: - description: flocker represents a Flocker volume attached to - a kubelet's host machine. This depends on the Flocker control - service being running - properties: - datasetName: - description: datasetName is Name of the dataset stored as - metadata -> name on the dataset for Flocker should be - considered as deprecated - type: string - datasetUUID: - description: datasetUUID is the UUID of the dataset. This - is unique identifier of a Flocker dataset - type: string - type: object - gcePersistentDisk: - description: 'gcePersistentDisk represents a GCE Disk resource - that is attached to a kubelet''s host machine and then exposed - to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' - properties: - fsType: - description: 'fsType is filesystem type of the volume that - you want to mount. Tip: Ensure that the filesystem type - is supported by the host operating system. Examples: "ext4", - "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk - TODO: how do we prevent errors in the filesystem from - compromising the machine' - type: string - partition: - description: 'partition is the partition in the volume that - you want to mount. If omitted, the default is to mount - by volume name. Examples: For volume /dev/sda1, you specify - the partition as "1". Similarly, the volume partition - for /dev/sda is "0" (or you can leave the property empty). - More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' - format: int32 - type: integer - pdName: - description: 'pdName is unique name of the PD resource in - GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' - type: string - readOnly: - description: 'readOnly here will force the ReadOnly setting - in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' - type: boolean - required: - - pdName - type: object - gitRepo: - description: 'gitRepo represents a git repository at a particular - revision. DEPRECATED: GitRepo is deprecated. To provision - a container with a git repo, mount an EmptyDir into an InitContainer - that clones the repo using git, then mount the EmptyDir into - the Pod''s container.' - properties: - directory: - description: directory is the target directory name. Must - not contain or start with '..'. If '.' is supplied, the - volume directory will be the git repository. Otherwise, - if specified, the volume will contain the git repository - in the subdirectory with the given name. - type: string - repository: - description: repository is the URL - type: string - revision: - description: revision is the commit hash for the specified - revision. - type: string - required: - - repository - type: object - glusterfs: - description: 'glusterfs represents a Glusterfs mount on the - host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' - properties: - endpoints: - description: 'endpoints is the endpoint name that details - Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' - type: string - path: - description: 'path is the Glusterfs volume path. More info: - https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' - type: string - readOnly: - description: 'readOnly here will force the Glusterfs volume - to be mounted with read-only permissions. Defaults to - false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' - type: boolean - required: - - endpoints - - path - type: object - hostPath: - description: 'hostPath represents a pre-existing file or directory - on the host machine that is directly exposed to the container. - This is generally used for system agents or other privileged - things that are allowed to see the host machine. Most containers - will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath - --- TODO(jonesdl) We need to restrict who can use host directory - mounts and who can/can not mount host directories as read/write.' - properties: - path: - description: 'path of the directory on the host. If the - path is a symlink, it will follow the link to the real - path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' - type: string - type: - description: 'type for HostPath Volume Defaults to "" More - info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' - type: string - required: - - path - type: object - iscsi: - description: 'iscsi represents an ISCSI Disk resource that is - attached to a kubelet''s host machine and then exposed to - the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' - properties: - chapAuthDiscovery: - description: chapAuthDiscovery defines whether support iSCSI - Discovery CHAP authentication - type: boolean - chapAuthSession: - description: chapAuthSession defines whether support iSCSI - Session CHAP authentication - type: boolean - fsType: - description: 'fsType is the filesystem type of the volume - that you want to mount. Tip: Ensure that the filesystem - type is supported by the host operating system. Examples: - "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi - TODO: how do we prevent errors in the filesystem from - compromising the machine' - type: string - initiatorName: - description: initiatorName is the custom iSCSI Initiator - Name. If initiatorName is specified with iscsiInterface - simultaneously, new iSCSI interface : will be created for the connection. - type: string - iqn: - description: iqn is the target iSCSI Qualified Name. - type: string - iscsiInterface: - description: iscsiInterface is the interface Name that uses - an iSCSI transport. Defaults to 'default' (tcp). - type: string - lun: - description: lun represents iSCSI Target Lun number. - format: int32 - type: integer - portals: - description: portals is the iSCSI Target Portal List. The - portal is either an IP or ip_addr:port if the port is - other than default (typically TCP ports 860 and 3260). - items: - type: string - type: array - readOnly: - description: readOnly here will force the ReadOnly setting - in VolumeMounts. Defaults to false. - type: boolean - secretRef: - description: secretRef is the CHAP Secret for iSCSI target - and initiator authentication - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - targetPortal: - description: targetPortal is iSCSI Target Portal. The Portal - is either an IP or ip_addr:port if the port is other than - default (typically TCP ports 860 and 3260). - type: string - required: - - iqn - - lun - - targetPortal - type: object - name: - description: 'name of the volume. Must be a DNS_LABEL and unique - within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - nfs: - description: 'nfs represents an NFS mount on the host that shares - a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' - properties: - path: - description: 'path that is exported by the NFS server. More - info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' - type: string - readOnly: - description: 'readOnly here will force the NFS export to - be mounted with read-only permissions. Defaults to false. - More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' - type: boolean - server: - description: 'server is the hostname or IP address of the - NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' - type: string - required: - - path - - server - type: object - persistentVolumeClaim: - description: 'persistentVolumeClaimVolumeSource represents a - reference to a PersistentVolumeClaim in the same namespace. - More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' - properties: - claimName: - description: 'claimName is the name of a PersistentVolumeClaim - in the same namespace as the pod using this volume. More - info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' - type: string - readOnly: - description: readOnly Will force the ReadOnly setting in - VolumeMounts. Default false. - type: boolean - required: - - claimName - type: object - photonPersistentDisk: - description: photonPersistentDisk represents a PhotonController - persistent disk attached and mounted on kubelets host machine - properties: - fsType: - description: fsType is the filesystem type to mount. Must - be a filesystem type supported by the host operating system. - Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. - type: string - pdID: - description: pdID is the ID that identifies Photon Controller - persistent disk - type: string - required: - - pdID - type: object - portworxVolume: - description: portworxVolume represents a portworx volume attached - and mounted on kubelets host machine - properties: - fsType: - description: fSType represents the filesystem type to mount - Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" - if unspecified. - type: string - readOnly: - description: readOnly defaults to false (read/write). ReadOnly - here will force the ReadOnly setting in VolumeMounts. - type: boolean - volumeID: - description: volumeID uniquely identifies a Portworx volume - type: string - required: - - volumeID - type: object - projected: - description: projected items for all in one resources secrets, - configmaps, and downward API - properties: - defaultMode: - description: defaultMode are the mode bits used to set permissions - on created files by default. Must be an octal value between - 0000 and 0777 or a decimal value between 0 and 511. YAML - accepts both octal and decimal values, JSON requires decimal - values for mode bits. Directories within the path are - not affected by this setting. This might be in conflict - with other options that affect the file mode, like fsGroup, - and the result can be other mode bits set. - format: int32 - type: integer - sources: - description: sources is the list of volume projections - items: - description: Projection that may be projected along with - other supported volume types - properties: - configMap: - description: configMap information about the configMap - data to project - properties: - items: - description: items if unspecified, each key-value - pair in the Data field of the referenced ConfigMap - will be projected into the volume as a file - whose name is the key and content is the value. - If specified, the listed keys will be projected - into the specified paths, and unlisted keys - will not be present. If a key is specified which - is not present in the ConfigMap, the volume - setup will error unless it is marked optional. - Paths must be relative and may not contain the - '..' path or start with '..'. - items: - description: Maps a string key to a path within - a volume. - properties: - key: - description: key is the key to project. - type: string - mode: - description: 'mode is Optional: mode bits - used to set permissions on this file. - Must be an octal value between 0000 and - 0777 or a decimal value between 0 and - 511. YAML accepts both octal and decimal - values, JSON requires decimal values for - mode bits. If not specified, the volume - defaultMode will be used. This might be - in conflict with other options that affect - the file mode, like fsGroup, and the result - can be other mode bits set.' - format: int32 - type: integer - path: - description: path is the relative path of - the file to map the key to. May not be - an absolute path. May not contain the - path element '..'. May not start with - the string '..'. - type: string - required: - - key - - path - type: object - type: array - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: optional specify whether the ConfigMap - or its keys must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - downwardAPI: - description: downwardAPI information about the downwardAPI - data to project - properties: - items: - description: Items is a list of DownwardAPIVolume - file - items: - description: DownwardAPIVolumeFile represents - information to create the file containing - the pod field - properties: - fieldRef: - description: 'Required: Selects a field - of the pod: only annotations, labels, - name and namespace are supported.' - properties: - apiVersion: - description: Version of the schema the - FieldPath is written in terms of, - defaults to "v1". - type: string - fieldPath: - description: Path of the field to select - in the specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - mode: - description: 'Optional: mode bits used to - set permissions on this file, must be - an octal value between 0000 and 0777 or - a decimal value between 0 and 511. YAML - accepts both octal and decimal values, - JSON requires decimal values for mode - bits. If not specified, the volume defaultMode - will be used. This might be in conflict - with other options that affect the file - mode, like fsGroup, and the result can - be other mode bits set.' - format: int32 - type: integer - path: - description: 'Required: Path is the relative - path name of the file to be created. Must - not be absolute or contain the ''..'' - path. Must be utf-8 encoded. The first - item of the relative path must not start - with ''..''' - type: string - resourceFieldRef: - description: 'Selects a resource of the - container: only resources limits and requests - (limits.cpu, limits.memory, requests.cpu - and requests.memory) are currently supported.' - properties: - containerName: - description: 'Container name: required - for volumes, optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format - of the exposed resources, defaults - to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to - select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - required: - - path - type: object - type: array - type: object - secret: - description: secret information about the secret data - to project - properties: - items: - description: items if unspecified, each key-value - pair in the Data field of the referenced Secret - will be projected into the volume as a file - whose name is the key and content is the value. - If specified, the listed keys will be projected - into the specified paths, and unlisted keys - will not be present. If a key is specified which - is not present in the Secret, the volume setup - will error unless it is marked optional. Paths - must be relative and may not contain the '..' - path or start with '..'. - items: - description: Maps a string key to a path within - a volume. - properties: - key: - description: key is the key to project. - type: string - mode: - description: 'mode is Optional: mode bits - used to set permissions on this file. - Must be an octal value between 0000 and - 0777 or a decimal value between 0 and - 511. YAML accepts both octal and decimal - values, JSON requires decimal values for - mode bits. If not specified, the volume - defaultMode will be used. This might be - in conflict with other options that affect - the file mode, like fsGroup, and the result - can be other mode bits set.' - format: int32 - type: integer - path: - description: path is the relative path of - the file to map the key to. May not be - an absolute path. May not contain the - path element '..'. May not start with - the string '..'. - type: string - required: - - key - - path - type: object - type: array - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: optional field specify whether the - Secret or its key must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - serviceAccountToken: - description: serviceAccountToken is information about - the serviceAccountToken data to project - properties: - audience: - description: audience is the intended audience - of the token. A recipient of a token must identify - itself with an identifier specified in the audience - of the token, and otherwise should reject the - token. The audience defaults to the identifier - of the apiserver. - type: string - expirationSeconds: - description: expirationSeconds is the requested - duration of validity of the service account - token. As the token approaches expiration, the - kubelet volume plugin will proactively rotate - the service account token. The kubelet will - start trying to rotate the token if the token - is older than 80 percent of its time to live - or if the token is older than 24 hours.Defaults - to 1 hour and must be at least 10 minutes. - format: int64 - type: integer - path: - description: path is the path relative to the - mount point of the file to project the token - into. - type: string - required: - - path - type: object - type: object - type: array - type: object - quobyte: - description: quobyte represents a Quobyte mount on the host - that shares a pod's lifetime - properties: - group: - description: group to map volume access to Default is no - group - type: string - readOnly: - description: readOnly here will force the Quobyte volume - to be mounted with read-only permissions. Defaults to - false. - type: boolean - registry: - description: registry represents a single or multiple Quobyte - Registry services specified as a string as host:port pair - (multiple entries are separated with commas) which acts - as the central registry for volumes - type: string - tenant: - description: tenant owning the given Quobyte volume in the - Backend Used with dynamically provisioned Quobyte volumes, - value is set by the plugin - type: string - user: - description: user to map volume access to Defaults to serivceaccount - user - type: string - volume: - description: volume is a string that references an already - created Quobyte volume by name. - type: string - required: - - registry - - volume - type: object - rbd: - description: 'rbd represents a Rados Block Device mount on the - host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' - properties: - fsType: - description: 'fsType is the filesystem type of the volume - that you want to mount. Tip: Ensure that the filesystem - type is supported by the host operating system. Examples: - "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd - TODO: how do we prevent errors in the filesystem from - compromising the machine' - type: string - image: - description: 'image is the rados image name. More info: - https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' - type: string - keyring: - description: 'keyring is the path to key ring for RBDUser. - Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' - type: string - monitors: - description: 'monitors is a collection of Ceph monitors. - More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' - items: - type: string - type: array - pool: - description: 'pool is the rados pool name. Default is rbd. - More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' - type: string - readOnly: - description: 'readOnly here will force the ReadOnly setting - in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' - type: boolean - secretRef: - description: 'secretRef is name of the authentication secret - for RBDUser. If provided overrides keyring. Default is - nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - user: - description: 'user is the rados user name. Default is admin. - More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' - type: string - required: - - image - - monitors - type: object - scaleIO: - description: scaleIO represents a ScaleIO persistent volume - attached and mounted on Kubernetes nodes. - properties: - fsType: - description: fsType is the filesystem type to mount. Must - be a filesystem type supported by the host operating system. - Ex. "ext4", "xfs", "ntfs". Default is "xfs". - type: string - gateway: - description: gateway is the host address of the ScaleIO - API Gateway. - type: string - protectionDomain: - description: protectionDomain is the name of the ScaleIO - Protection Domain for the configured storage. - type: string - readOnly: - description: readOnly Defaults to false (read/write). ReadOnly - here will force the ReadOnly setting in VolumeMounts. - type: boolean - secretRef: - description: secretRef references to the secret for ScaleIO - user and other sensitive information. If this is not provided, - Login operation will fail. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - sslEnabled: - description: sslEnabled Flag enable/disable SSL communication - with Gateway, default false - type: boolean - storageMode: - description: storageMode indicates whether the storage for - a volume should be ThickProvisioned or ThinProvisioned. - Default is ThinProvisioned. - type: string - storagePool: - description: storagePool is the ScaleIO Storage Pool associated - with the protection domain. - type: string - system: - description: system is the name of the storage system as - configured in ScaleIO. - type: string - volumeName: - description: volumeName is the name of a volume already - created in the ScaleIO system that is associated with - this volume source. - type: string - required: - - gateway - - secretRef - - system - type: object - secret: - description: 'secret represents a secret that should populate - this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' - properties: - defaultMode: - description: 'defaultMode is Optional: mode bits used to - set permissions on created files by default. Must be an - octal value between 0000 and 0777 or a decimal value between - 0 and 511. YAML accepts both octal and decimal values, - JSON requires decimal values for mode bits. Defaults to - 0644. Directories within the path are not affected by - this setting. This might be in conflict with other options - that affect the file mode, like fsGroup, and the result - can be other mode bits set.' - format: int32 - type: integer - items: - description: items If unspecified, each key-value pair in - the Data field of the referenced Secret will be projected - into the volume as a file whose name is the key and content - is the value. If specified, the listed keys will be projected - into the specified paths, and unlisted keys will not be - present. If a key is specified which is not present in - the Secret, the volume setup will error unless it is marked - optional. Paths must be relative and may not contain the - '..' path or start with '..'. - items: - description: Maps a string key to a path within a volume. - properties: - key: - description: key is the key to project. - type: string - mode: - description: 'mode is Optional: mode bits used to - set permissions on this file. Must be an octal value - between 0000 and 0777 or a decimal value between - 0 and 511. YAML accepts both octal and decimal values, - JSON requires decimal values for mode bits. If not - specified, the volume defaultMode will be used. - This might be in conflict with other options that - affect the file mode, like fsGroup, and the result - can be other mode bits set.' - format: int32 - type: integer - path: - description: path is the relative path of the file - to map the key to. May not be an absolute path. - May not contain the path element '..'. May not start - with the string '..'. - type: string - required: - - key - - path - type: object - type: array - optional: - description: optional field specify whether the Secret or - its keys must be defined - type: boolean - secretName: - description: 'secretName is the name of the secret in the - pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' - type: string - type: object - storageos: - description: storageOS represents a StorageOS volume attached - and mounted on Kubernetes nodes. - properties: - fsType: - description: fsType is the filesystem type to mount. Must - be a filesystem type supported by the host operating system. - Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. - type: string - readOnly: - description: readOnly defaults to false (read/write). ReadOnly - here will force the ReadOnly setting in VolumeMounts. - type: boolean - secretRef: - description: secretRef specifies the secret to use for obtaining - the StorageOS API credentials. If not specified, default - values will be attempted. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - volumeName: - description: volumeName is the human-readable name of the - StorageOS volume. Volume names are only unique within - a namespace. - type: string - volumeNamespace: - description: volumeNamespace specifies the scope of the - volume within StorageOS. If no namespace is specified - then the Pod's namespace will be used. This allows the - Kubernetes name scoping to be mirrored within StorageOS - for tighter integration. Set VolumeName to any name to - override the default behaviour. Set to "default" if you - are not using namespaces within StorageOS. Namespaces - that do not pre-exist within StorageOS will be created. - type: string - type: object - vsphereVolume: - description: vsphereVolume represents a vSphere volume attached - and mounted on kubelets host machine - properties: - fsType: - description: fsType is filesystem type to mount. Must be - a filesystem type supported by the host operating system. - Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" - if unspecified. - type: string - storagePolicyID: - description: storagePolicyID is the storage Policy Based - Management (SPBM) profile ID associated with the StoragePolicyName. - type: string - storagePolicyName: - description: storagePolicyName is the storage Policy Based - Management (SPBM) profile name. - type: string - volumePath: - description: volumePath is the path that identifies vSphere - volume vmdk - type: string - required: - - volumePath - type: object - required: - - name - type: object - type: array - web: - description: Defines the web command line flags when starting Alertmanager. - properties: - httpConfig: - description: Defines HTTP parameters for web server. - properties: - headers: - description: List of headers that can be added to HTTP responses. - properties: - contentSecurityPolicy: - description: Set the Content-Security-Policy header to - HTTP responses. Unset if blank. - type: string - strictTransportSecurity: - description: Set the Strict-Transport-Security header - to HTTP responses. Unset if blank. Please make sure - that you use this with care as this header might force - browsers to load Prometheus and the other applications - hosted on the same domain and subdomains over HTTPS. - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security - type: string - xContentTypeOptions: - description: Set the X-Content-Type-Options header to - HTTP responses. Unset if blank. Accepted value is nosniff. - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options - enum: - - "" - - NoSniff - type: string - xFrameOptions: - description: Set the X-Frame-Options header to HTTP responses. - Unset if blank. Accepted values are deny and sameorigin. - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options - enum: - - "" - - Deny - - SameOrigin - type: string - xXSSProtection: - description: Set the X-XSS-Protection header to all responses. - Unset if blank. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection - type: string - type: object - http2: - description: Enable HTTP/2 support. Note that HTTP/2 is only - supported with TLS. When TLSConfig is not configured, HTTP/2 - will be disabled. Whenever the value of the field changes, - a rolling update will be triggered. - type: boolean - type: object - tlsConfig: - description: Defines the TLS parameters for HTTPS. - properties: - cert: - description: Contains the TLS certificate for the server. - properties: - configMap: - description: ConfigMap containing data to use for the - targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cipherSuites: - description: 'List of supported cipher suites for TLS versions - up to TLS 1.2. If empty, Go default cipher suites are used. - Available cipher suites are documented in the go documentation: - https://golang.org/pkg/crypto/tls/#pkg-constants' - items: - type: string - type: array - client_ca: - description: Contains the CA certificate for client certificate - authentication to the server. - properties: - configMap: - description: ConfigMap containing data to use for the - targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientAuthType: - description: 'Server policy for client authentication. Maps - to ClientAuth Policies. For more detail on clientAuth options: - https://golang.org/pkg/crypto/tls/#ClientAuthType' - type: string - curvePreferences: - description: 'Elliptic curves that will be used in an ECDHE - handshake, in preference order. Available curves are documented - in the go documentation: https://golang.org/pkg/crypto/tls/#CurveID' - items: - type: string - type: array - keySecret: - description: Secret containing the TLS key for the server. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - maxVersion: - description: Maximum TLS version that is acceptable. Defaults - to TLS13. - type: string - minVersion: - description: Minimum TLS version that is acceptable. Defaults - to TLS12. - type: string - preferServerCipherSuites: - description: Controls whether the server selects the client's - most preferred cipher suite, or the server's most preferred - cipher suite. If true then the server's preference, as expressed - in the order of elements in cipherSuites, is used. - type: boolean - required: - - cert - - keySecret - type: object - type: object - type: object - status: - description: 'Most recent observed status of the Alertmanager cluster. - Read-only. Not included when requesting from the apiserver, only from - the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - availableReplicas: - description: Total number of available pods (ready for at least minReadySeconds) - targeted by this Alertmanager cluster. - format: int32 - type: integer - paused: - description: Represents whether any actions on the underlying managed - objects are being performed. Only delete actions will be performed. - type: boolean - replicas: - description: Total number of non-terminated pods targeted by this - Alertmanager cluster (their labels match the selector). - format: int32 - type: integer - unavailableReplicas: - description: Total number of unavailable pods targeted by this Alertmanager - cluster. - format: int32 - type: integer - updatedReplicas: - description: Total number of non-terminated pods targeted by this - Alertmanager cluster that have the desired version spec. - format: int32 - type: integer - required: - - availableReplicas - - paused - - replicas - - unavailableReplicas - - updatedReplicas - type: object - required: - - spec - type: object - served: true - storage: true - subresources: {} diff --git a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-podmonitors.yaml b/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-podmonitors.yaml deleted file mode 100644 index f6e208c14..000000000 --- a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-podmonitors.yaml +++ /dev/null @@ -1,663 +0,0 @@ -# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.59.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null - name: podmonitors.monitoring.coreos.com -spec: - group: monitoring.coreos.com - names: - categories: - - prometheus-operator - kind: PodMonitor - listKind: PodMonitorList - plural: podmonitors - shortNames: - - pmon - singular: podmonitor - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - description: PodMonitor defines monitoring for a set of pods. - 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: Specification of desired Pod selection for target discovery - by Prometheus. - properties: - attachMetadata: - description: 'Attaches node metadata to discovered targets. Only valid - for role: pod. Only valid in Prometheus versions 2.35.0 and newer.' - properties: - node: - description: When set to true, Prometheus must have permissions - to get Nodes. - type: boolean - type: object - jobLabel: - description: The label to use to retrieve the job name from. - type: string - labelLimit: - description: Per-scrape limit on number of labels that will be accepted - for a sample. Only valid in Prometheus versions 2.27.0 and newer. - format: int64 - type: integer - labelNameLengthLimit: - description: Per-scrape limit on length of labels name that will be - accepted for a sample. Only valid in Prometheus versions 2.27.0 - and newer. - format: int64 - type: integer - labelValueLengthLimit: - description: Per-scrape limit on length of labels value that will - be accepted for a sample. Only valid in Prometheus versions 2.27.0 - and newer. - format: int64 - type: integer - namespaceSelector: - description: Selector to select which namespaces the Endpoints objects - are discovered from. - properties: - any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. - type: boolean - matchNames: - description: List of namespace names to select from. - items: - type: string - type: array - type: object - podMetricsEndpoints: - description: A list of endpoints allowed as part of this PodMonitor. - items: - description: PodMetricsEndpoint defines a scrapeable endpoint of - a Kubernetes Pod serving Prometheus metrics. - properties: - authorization: - description: Authorization section for this endpoint - properties: - credentials: - description: The secret's key that contains the credentials - of the request - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults to Bearer, - Basic will cause an error - type: string - type: object - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint' - properties: - password: - description: The secret in the service monitor namespace - that contains the password for authentication. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor namespace - that contains the username for authentication. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: Secret to mount to read bearer token for scraping - targets. The secret needs to be in the same namespace as the - pod monitor and accessible by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - enableHttp2: - description: Whether to enable HTTP2. - type: boolean - followRedirects: - description: FollowRedirects configures whether scrape requests - follow HTTP 3xx redirects. - type: boolean - honorLabels: - description: HonorLabels chooses the metric's labels on collisions - with target labels. - type: boolean - honorTimestamps: - description: HonorTimestamps controls whether Prometheus respects - the timestamps present in scraped data. - type: boolean - interval: - description: Interval at which metrics should be scraped If - not specified Prometheus' global scrape interval is used. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - metricRelabelings: - description: MetricRelabelConfigs to apply to samples before - ingestion. - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of Prometheus - configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - default: replace - description: Action to perform based on regex matching. - Default is 'replace'. uppercase and lowercase actions - require Prometheus >= 2.36. - enum: - - replace - - Replace - - keep - - Keep - - drop - - Drop - - hashmod - - HashMod - - labelmap - - LabelMap - - labeldrop - - LabelDrop - - labelkeep - - LabelKeep - - lowercase - - Lowercase - - uppercase - - Uppercase - type: string - modulus: - description: Modulus to take of the hash of the source - label values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. Default is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. - items: - description: LabelName is a valid Prometheus label name - which may only contain ASCII letters, numbers, as - well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: object - type: array - oauth2: - description: OAuth2 for the URL. Only valid in Prometheus versions - 2.27.0 and newer. - properties: - clientId: - description: The secret or configmap containing the OAuth2 - client id - properties: - configMap: - description: ConfigMap containing data to use for the - targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 client secret - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token URL - type: object - scopes: - description: OAuth2 scopes used for the token request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - params: - additionalProperties: - items: - type: string - type: array - description: Optional HTTP URL parameters - type: object - path: - description: HTTP path to scrape for metrics. If empty, Prometheus - uses the default value (e.g. `/metrics`). - type: string - port: - description: Name of the pod port this endpoint refers to. Mutually - exclusive with targetPort. - type: string - proxyUrl: - description: ProxyURL eg http://proxyserver:2195 Directs scrapes - to proxy through this endpoint. - type: string - relabelings: - description: 'RelabelConfigs to apply to samples before scraping. - Prometheus Operator automatically adds relabelings for a few - standard Kubernetes fields. The original scrape job''s name - is available via the `__tmp_prometheus_job_name` label. More - info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' - items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of Prometheus - configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - default: replace - description: Action to perform based on regex matching. - Default is 'replace'. uppercase and lowercase actions - require Prometheus >= 2.36. - enum: - - replace - - Replace - - keep - - Keep - - drop - - Drop - - hashmod - - HashMod - - labelmap - - LabelMap - - labeldrop - - LabelDrop - - labelkeep - - LabelKeep - - lowercase - - Lowercase - - uppercase - - Uppercase - type: string - modulus: - description: Modulus to take of the hash of the source - label values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. Default is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. - items: - description: LabelName is a valid Prometheus label name - which may only contain ASCII letters, numbers, as - well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: object - type: array - scheme: - description: HTTP scheme to use for scraping. - type: string - scrapeTimeout: - description: Timeout after which the scrape is ended If not - specified, the Prometheus global scrape interval is used. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - targetPort: - anyOf: - - type: integer - - type: string - description: 'Deprecated: Use ''port'' instead.' - x-kubernetes-int-or-string: true - tlsConfig: - description: TLS configuration to use when scraping the endpoint. - properties: - ca: - description: Struct containing the CA cert to use for the - targets. - properties: - configMap: - description: ConfigMap containing data to use for the - targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert file for - the targets. - properties: - configMap: - description: ConfigMap containing data to use for the - targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key file for the - targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - type: object - type: array - podTargetLabels: - description: PodTargetLabels transfers labels on the Kubernetes Pod - onto the target. - items: - type: string - type: array - sampleLimit: - description: SampleLimit defines per-scrape limit on number of scraped - samples that will be accepted. - format: int64 - type: integer - selector: - description: Selector to select Pod objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. - type: string - values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - targetLimit: - description: TargetLimit defines a limit on the number of scraped - targets that will be accepted. - format: int64 - type: integer - required: - - podMetricsEndpoints - - selector - type: object - required: - - spec - type: object - served: true - storage: true diff --git a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-probes.yaml b/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-probes.yaml deleted file mode 100644 index 014ef2743..000000000 --- a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-probes.yaml +++ /dev/null @@ -1,704 +0,0 @@ -# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.59.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null - name: probes.monitoring.coreos.com -spec: - group: monitoring.coreos.com - names: - categories: - - prometheus-operator - kind: Probe - listKind: ProbeList - plural: probes - shortNames: - - prb - singular: probe - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - description: Probe defines monitoring for a set of static targets or ingresses. - 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: Specification of desired Ingress selection for target discovery - by Prometheus. - properties: - authorization: - description: Authorization section for this endpoint - properties: - credentials: - description: The secret's key that contains the credentials of - the request - properties: - key: - description: The key of the secret to select from. Must be - a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be - defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults to Bearer, - Basic will cause an error - type: string - type: object - basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over basic - authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint' - properties: - password: - description: The secret in the service monitor namespace that - contains the password for authentication. - properties: - key: - description: The key of the secret to select from. Must be - a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be - defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor namespace that - contains the username for authentication. - properties: - key: - description: The key of the secret to select from. Must be - a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be - defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerTokenSecret: - description: Secret to mount to read bearer token for scraping targets. - The secret needs to be in the same namespace as the probe and accessible - by the Prometheus Operator. - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - interval: - description: Interval at which targets are probed using the configured - prober. If not specified Prometheus' global scrape interval is used. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - jobName: - description: The job name assigned to scraped metrics by default. - type: string - labelLimit: - description: Per-scrape limit on number of labels that will be accepted - for a sample. Only valid in Prometheus versions 2.27.0 and newer. - format: int64 - type: integer - labelNameLengthLimit: - description: Per-scrape limit on length of labels name that will be - accepted for a sample. Only valid in Prometheus versions 2.27.0 - and newer. - format: int64 - type: integer - labelValueLengthLimit: - description: Per-scrape limit on length of labels value that will - be accepted for a sample. Only valid in Prometheus versions 2.27.0 - and newer. - format: int64 - type: integer - metricRelabelings: - description: MetricRelabelConfigs to apply to samples before ingestion. - items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - default: replace - description: Action to perform based on regex matching. Default - is 'replace'. uppercase and lowercase actions require Prometheus - >= 2.36. - enum: - - replace - - Replace - - keep - - Keep - - drop - - Drop - - hashmod - - HashMod - - labelmap - - LabelMap - - labeldrop - - LabelDrop - - labelkeep - - LabelKeep - - lowercase - - Lowercase - - uppercase - - Uppercase - type: string - modulus: - description: Modulus to take of the hash of the source label - values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. Default is '(.*)' - type: string - replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source label - values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. - items: - description: LabelName is a valid Prometheus label name which - may only contain ASCII letters, numbers, as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - type: array - targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. - type: string - type: object - type: array - module: - description: 'The module to use for probing specifying how to probe - the target. Example module configuring in the blackbox exporter: - https://github.com/prometheus/blackbox_exporter/blob/master/example.yml' - type: string - oauth2: - description: OAuth2 for the URL. Only valid in Prometheus versions - 2.27.0 and newer. - properties: - clientId: - description: The secret or configmap containing the OAuth2 client - id - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - clientSecret: - description: The secret containing the OAuth2 client secret - properties: - key: - description: The key of the secret to select from. Must be - a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be - defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - endpointParams: - additionalProperties: - type: string - description: Parameters to append to the token URL - type: object - scopes: - description: OAuth2 scopes used for the token request - items: - type: string - type: array - tokenUrl: - description: The URL to fetch the token from - minLength: 1 - type: string - required: - - clientId - - clientSecret - - tokenUrl - type: object - prober: - description: Specification for the prober to use for probing targets. - The prober.URL parameter is required. Targets cannot be probed if - left empty. - properties: - path: - default: /probe - description: Path to collect metrics from. Defaults to `/probe`. - type: string - proxyUrl: - description: Optional ProxyURL. - type: string - scheme: - description: HTTP scheme to use for scraping. Defaults to `http`. - type: string - url: - description: Mandatory URL of the prober. - type: string - required: - - url - type: object - sampleLimit: - description: SampleLimit defines per-scrape limit on number of scraped - samples that will be accepted. - format: int64 - type: integer - scrapeTimeout: - description: Timeout for scraping metrics from the Prometheus exporter. - If not specified, the Prometheus global scrape interval is used. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - targetLimit: - description: TargetLimit defines a limit on the number of scraped - targets that will be accepted. - format: int64 - type: integer - targets: - description: Targets defines a set of static or dynamically discovered - targets to probe. - properties: - ingress: - description: ingress defines the Ingress objects to probe and - the relabeling configuration. If `staticConfig` is also defined, - `staticConfig` takes precedence. - properties: - namespaceSelector: - description: From which namespaces to select Ingress objects. - properties: - any: - description: Boolean describing whether all namespaces - are selected in contrast to a list restricting them. - type: boolean - matchNames: - description: List of namespace names to select from. - items: - type: string - type: array - type: object - relabelingConfigs: - description: 'RelabelConfigs to apply to the label set of - the target before it gets scraped. The original ingress - address is available via the `__tmp_prometheus_ingress_address` - label. It can be used to customize the probed URL. The original - scrape job''s name is available via the `__tmp_prometheus_job_name` - label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' - items: - description: 'RelabelConfig allows dynamic rewriting of - the label set, being applied to samples before ingestion. - It defines ``-section of Prometheus - configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - default: replace - description: Action to perform based on regex matching. - Default is 'replace'. uppercase and lowercase actions - require Prometheus >= 2.36. - enum: - - replace - - Replace - - keep - - Keep - - drop - - Drop - - hashmod - - HashMod - - labelmap - - LabelMap - - labeldrop - - LabelDrop - - labelkeep - - LabelKeep - - lowercase - - Lowercase - - uppercase - - Uppercase - type: string - modulus: - description: Modulus to take of the hash of the source - label values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. Default is '(.*)' - type: string - replacement: - description: Replacement value against which a regex - replace is performed if the regular expression matches. - Regex capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. - items: - description: LabelName is a valid Prometheus label - name which may only contain ASCII letters, numbers, - as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: object - type: array - selector: - description: Selector to select the Ingress objects. - properties: - matchExpressions: - description: matchExpressions is a list of label selector - requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector - applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - type: object - staticConfig: - description: 'staticConfig defines the static list of targets - to probe and the relabeling configuration. If `ingress` is also - defined, `staticConfig` takes precedence. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.' - properties: - labels: - additionalProperties: - type: string - description: Labels assigned to all metrics scraped from the - targets. - type: object - relabelingConfigs: - description: 'RelabelConfigs to apply to the label set of - the targets before it gets scraped. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' - items: - description: 'RelabelConfig allows dynamic rewriting of - the label set, being applied to samples before ingestion. - It defines ``-section of Prometheus - configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' - properties: - action: - default: replace - description: Action to perform based on regex matching. - Default is 'replace'. uppercase and lowercase actions - require Prometheus >= 2.36. - enum: - - replace - - Replace - - keep - - Keep - - drop - - Drop - - hashmod - - HashMod - - labelmap - - LabelMap - - labeldrop - - LabelDrop - - labelkeep - - LabelKeep - - lowercase - - Lowercase - - uppercase - - Uppercase - type: string - modulus: - description: Modulus to take of the hash of the source - label values. - format: int64 - type: integer - regex: - description: Regular expression against which the extracted - value is matched. Default is '(.*)' - type: string - replacement: - description: Replacement value against which a regex - replace is performed if the regular expression matches. - Regex capture groups are available. Default is '$1' - type: string - separator: - description: Separator placed between concatenated source - label values. default is ';'. - type: string - sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. - items: - description: LabelName is a valid Prometheus label - name which may only contain ASCII letters, numbers, - as well as underscores. - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - type: array - targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. - type: string - type: object - type: array - static: - description: The list of hosts to probe. - items: - type: string - type: array - type: object - type: object - tlsConfig: - description: TLS configuration to use when scraping the endpoint. - properties: - ca: - description: Struct containing the CA cert to use for the targets. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - cert: - description: Struct containing the client cert file for the targets. - properties: - configMap: - description: ConfigMap containing data to use for the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keySecret: - description: Secret containing the client key file for the targets. - properties: - key: - description: The key of the secret to select from. Must be - a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be - defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - type: object - required: - - spec - type: object - served: true - storage: true diff --git a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-prometheuses.yaml b/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-prometheuses.yaml deleted file mode 100644 index d9d97405b..000000000 --- a/charts/rancher-monitoring-crd/103.0.0+up40.1.2/crd-manifest/crd-prometheuses.yaml +++ /dev/null @@ -1,8801 +0,0 @@ -# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.59.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null - name: prometheuses.monitoring.coreos.com -spec: - group: monitoring.coreos.com - names: - categories: - - prometheus-operator - kind: Prometheus - listKind: PrometheusList - plural: prometheuses - shortNames: - - prom - singular: prometheus - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: The version of Prometheus - jsonPath: .spec.version - name: Version - type: string - - description: The desired replicas number of Prometheuses - jsonPath: .spec.replicas - name: Replicas - type: integer - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: Prometheus defines a Prometheus deployment. - 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: 'Specification of the desired behavior of the Prometheus - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' - properties: - additionalAlertManagerConfigs: - description: 'AdditionalAlertManagerConfigs allows specifying a key - of a Secret containing additional Prometheus AlertManager configurations. - AlertManager configurations specified are appended to the configurations - generated by the Prometheus Operator. Job configurations specified - must have the form as specified in the official Prometheus documentation: - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config. - As AlertManager configs are appended, the user is responsible to - make sure it is valid. Note that using this feature may expose the - possibility to break upgrades of Prometheus. It is advised to review - Prometheus release notes to ensure that no incompatible AlertManager - configs are going to break Prometheus after the upgrade.' - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - additionalAlertRelabelConfigs: - description: 'AdditionalAlertRelabelConfigs allows specifying a key - of a Secret containing additional Prometheus alert relabel configurations. - Alert relabel configurations specified are appended to the configurations - generated by the Prometheus Operator. Alert relabel configurations - specified must have the form as specified in the official Prometheus - documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs. - As alert relabel configs are appended, the user is responsible to - make sure it is valid. Note that using this feature may expose the - possibility to break upgrades of Prometheus. It is advised to review - Prometheus release notes to ensure that no incompatible alert relabel - configs are going to break Prometheus after the upgrade.' - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - additionalArgs: - description: AdditionalArgs allows setting additional arguments for - the Prometheus container. It is intended for e.g. activating hidden - flags which are not supported by the dedicated configuration options - yet. The arguments are passed as-is to the Prometheus container - which may cause issues if they are invalid or not supporeted by - the given Prometheus version. In case of an argument conflict (e.g. - an argument which is already set by the operator itself) or when - providing an invalid argument the reconciliation will fail and an - error will be logged. - items: - description: Argument as part of the AdditionalArgs list. - properties: - name: - description: Name of the argument, e.g. "scrape.discovery-reload-interval". - minLength: 1 - type: string - value: - description: Argument value, e.g. 30s. Can be empty for name-only - arguments (e.g. --storage.tsdb.no-lockfile) - type: string - required: - - name - type: object - type: array - additionalScrapeConfigs: - description: 'AdditionalScrapeConfigs allows specifying a key of a - Secret containing additional Prometheus scrape configurations. Scrape - configurations specified are appended to the configurations generated - by the Prometheus Operator. Job configurations specified must have - the form as specified in the official Prometheus documentation: - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. - As scrape configs are appended, the user is responsible to make - sure it is valid. Note that using this feature may expose the possibility - to break upgrades of Prometheus. It is advised to review Prometheus - release notes to ensure that no incompatible scrape configs are - going to break Prometheus after the upgrade.' - properties: - key: - description: The key of the secret to select from. Must be a - valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - affinity: - description: If specified, the pod's scheduling constraints. - properties: - nodeAffinity: - description: Describes node affinity scheduling rules for the - pod. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the affinity expressions specified by - this field, but it may choose a node that violates one or - more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node matches - the corresponding matchExpressions; the node(s) with the - highest sum are the most preferred. - items: - description: An empty preferred scheduling term matches - all objects with implicit weight 0 (i.e. it's a no-op). - A null preferred scheduling term matches no objects (i.e. - is also a no-op). - properties: - preference: - description: A node selector term, associated with the - corresponding weight. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - x-kubernetes-map-type: atomic - weight: - description: Weight associated with matching the corresponding - nodeSelectorTerm, in the range 1-100. - format: int32 - type: integer - required: - - preference - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to an update), the system may or may not try to - eventually evict the pod from its node. - properties: - nodeSelectorTerms: - description: Required. A list of node selector terms. - The terms are ORed. - items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. - properties: - matchExpressions: - description: A list of node selector requirements - by node's labels. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - description: A list of node selector requirements - by node's fields. - items: - description: A node selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: The label key that the selector - applies to. - type: string - operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. - type: string - values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - x-kubernetes-map-type: atomic - type: array - required: - - nodeSelectorTerms - type: object - x-kubernetes-map-type: atomic - type: object - podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate - this pod in the same node, zone, etc. as some other pod(s)). - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the affinity expressions specified by - this field, but it may choose a node that violates one or - more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node has - pods which matches the corresponding podAffinityTerm; the - node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Required. A pod affinity term, associated - with the corresponding weight. - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by this - field and the ones listed in the namespaces field. - null selector and null or empty namespaces list - means "this pod's namespace". An empty selector - ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. The - term is applied to the union of the namespaces - listed in this field and the ones selected by - namespaceSelector. null or empty namespaces list - and null namespaceSelector means "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey - matches that of any node on which any of the selected - pods is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may - not try to eventually evict the pod from its node. When - there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms - must be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of - pods is running - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied to the - union of the namespaces selected by this field and - the ones listed in the namespaces field. null selector - and null or empty namespaces list means "this pod's - namespace". An empty selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list of namespace - names that the term applies to. The term is applied - to the union of the namespaces listed in this field - and the ones selected by namespaceSelector. null or - empty namespaces list and null namespaceSelector means - "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of - any node on which any of the selected pods is running. - Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. - avoid putting this pod in the same node, zone, etc. as some - other pod(s)). - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the anti-affinity expressions specified - by this field, but it may choose a node that violates one - or more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node has - pods which matches the corresponding podAffinityTerm; the - node(s) with the highest sum are the most preferred. - items: - description: The weights of all of the matched WeightedPodAffinityTerm - fields are added per-node to find the most preferred node(s) - properties: - podAffinityTerm: - description: Required. A pod affinity term, associated - with the corresponding weight. - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by this - field and the ones listed in the namespaces field. - null selector and null or empty namespaces list - means "this pod's namespace". An empty selector - ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are - ANDed. - items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. - properties: - key: - description: key is the label key that - the selector applies to. - type: string - operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. The - term is applied to the union of the namespaces - listed in this field and the ones selected by - namespaceSelector. null or empty namespaces list - and null namespaceSelector means "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey - matches that of any node on which any of the selected - pods is running. Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will - not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its - node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. - all terms must be satisfied. - items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of - pods is running - properties: - labelSelector: - description: A label query over a set of resources, - in this case pods. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied to the - union of the namespaces selected by this field and - the ones listed in the namespaces field. null selector - and null or empty namespaces list means "this pod's - namespace". An empty selector ({}) matches all namespaces. - properties: - matchExpressions: - description: matchExpressions is a list of label - selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. - properties: - key: - description: key is the label key that the - selector applies to. - type: string - operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic - namespaces: - description: namespaces specifies a static list of namespace - names that the term applies to. The term is applied - to the union of the namespaces listed in this field - and the ones selected by namespaceSelector. null or - empty namespaces list and null namespaceSelector means - "this pod's namespace". - items: - type: string - type: array - topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of - any node on which any of the selected pods is running. - Empty topologyKey is not allowed. - type: string - required: - - topologyKey - type: object - type: array - type: object - type: object - alerting: - description: Define details regarding alerting. - properties: - alertmanagers: - description: AlertmanagerEndpoints Prometheus should fire alerts - against. - items: - description: AlertmanagerEndpoints defines a selection of a - single Endpoints object containing alertmanager IPs to fire - alerts against. - properties: - apiVersion: - description: Version of the Alertmanager API that Prometheus - uses to send alerts. It can be "v1" or "v2". - type: string - authorization: - description: Authorization section for this alertmanager - endpoint - properties: - credentials: - description: The secret's key that contains the credentials - of the request - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: - description: Set the authentication type. Defaults to - Bearer, Basic will cause an error - type: string - type: object - bearerTokenFile: - description: BearerTokenFile to read from filesystem to - use when authenticating to Alertmanager. - type: string - name: - description: Name of Endpoints object in Namespace. - type: string - namespace: - description: Namespace of Endpoints object. - type: string - pathPrefix: - description: Prefix for the HTTP path alerts are pushed - to. - type: string - port: - anyOf: - - type: integer - - type: string - description: Port the Alertmanager API is exposed on. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use when firing alerts. - type: string - timeout: - description: Timeout is a per-target Alertmanager timeout - when pushing alerts. - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - tlsConfig: - description: TLS Config to use for alertmanager connection. - properties: - ca: - description: Struct containing the CA cert to use for - the targets. - properties: - configMap: - description: ConfigMap containing data to use for - the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the - targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - caFile: - description: Path to the CA cert in the Prometheus container - to use for the targets. - type: string - cert: - description: Struct containing the client cert file - for the targets. - properties: - configMap: - description: ConfigMap containing data to use for - the targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the - targets. - properties: - key: - description: The key of the secret to select - from. Must be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - certFile: - description: Path to the client cert file in the Prometheus - container for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the Prometheus - container for the targets. - type: string - keySecret: - description: Secret containing the client key file for - the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - required: - - name - - namespace - - port - type: object - type: array - required: - - alertmanagers - type: object - allowOverlappingBlocks: - description: AllowOverlappingBlocks enables vertical compaction and - vertical query merge in Prometheus. This is still experimental in - Prometheus so it may change in any upcoming release. - type: boolean - apiserverConfig: - description: APIServerConfig allows specifying a host and auth methods - to access apiserver. If left empty, Prometheus is assumed to run - inside of the cluster and will discover API servers automatically - and use the pod's CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. - properties: - authorization: - description: Authorization section for accessing apiserver - properties: - credentials: - description: The secret's key that contains the credentials - of the request - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - credentialsFile: - description: File to read a secret from, mutually exclusive - with Credentials (from SafeAuthorization) - type: string - type: - description: Set the authentication type. Defaults to Bearer, - Basic will cause an error - type: string - type: object - basicAuth: - description: BasicAuth allow an endpoint to authenticate over - basic authentication - properties: - password: - description: The secret in the service monitor namespace that - contains the password for authentication. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - username: - description: The secret in the service monitor namespace that - contains the username for authentication. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - bearerToken: - description: Bearer token for accessing apiserver. - type: string - bearerTokenFile: - description: File to read bearer token for accessing apiserver. - type: string - host: - description: Host of apiserver. A valid string consisting of a - hostname or IP followed by an optional port number - type: string - tlsConfig: - description: TLS Config to use for accessing apiserver. - properties: - ca: - description: Struct containing the CA cert to use for the - targets. - properties: - configMap: - description: ConfigMap containing data to use for the - targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - caFile: - description: Path to the CA cert in the Prometheus container - to use for the targets. - type: string - cert: - description: Struct containing the client cert file for the - targets. - properties: - configMap: - description: ConfigMap containing data to use for the - targets. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for the targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - certFile: - description: Path to the client cert file in the Prometheus - container for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the Prometheus - container for the targets. - type: string - keySecret: - description: Secret containing the client key file for the - targets. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret or its key must - be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - required: - - host - type: object - arbitraryFSAccessThroughSMs: - description: ArbitraryFSAccessThroughSMs configures whether configuration - based on a service monitor can access arbitrary files on the file - system of the Prometheus container e.g. bearer token files. - properties: - deny: - type: boolean - type: object - baseImage: - description: 'Base image to use for a Prometheus deployment. Deprecated: - use ''image'' instead' - type: string - configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the Prometheus object, which shall be mounted into the Prometheus - Pods. The ConfigMaps are mounted into /etc/prometheus/configmaps/. - items: - type: string - type: array - containers: - description: 'Containers allows injecting additional containers or - modifying operator generated containers. This can be used to allow - adding an authentication proxy to a Prometheus pod or to change - the behavior of an operator generated container. Containers described - here modify an operator generated container if they share the same - name and modifications are done via a strategic merge patch. The - current container names are: `prometheus`, `config-reloader`, and - `thanos-sidecar`. Overriding containers is entirely outside the - scope of what the maintainers will support and by doing so, you - accept that this behaviour may break at any time without notice.' - items: - description: A single application container that you want to run - within a pod. - properties: - args: - description: 'Arguments to the entrypoint. The container image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will - be unchanged. Double $$ are reduced to a single $, which allows - for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references - will never be expanded, regardless of whether the variable - exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. - The container image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: - i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether - the variable exists or not. Cannot be updated. More info: - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be - a C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. - If a variable cannot be resolved, the reference in the - input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) - syntax: i.e. "$$(VAR_NAME)" will produce the string - literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists - or not. Defaults to "".' - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: 'Selects a field of the pod: supports - metadata.name, metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: 'Selects a resource of the container: - only resources limits and requests (limits.cpu, - limits.memory, limits.ephemeral-storage, requests.cpu, - requests.memory and requests.ephemeral-storage) - are currently supported.' - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be - a C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key - will take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set - of ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap must be - defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: An optional identifier to prepend to each - key in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - image: - description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Actions that the management system should take - in response to container lifecycle events. Cannot be updated. - properties: - postStart: - description: 'PostStart is called immediately after a container - is created. If the handler fails, the container is terminated - and restarted according to its restart policy. Other management - of the container blocks until the hook completes. More - info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - description: 'PreStop is called immediately before a container - is terminated due to an API request or management event - such as liveness/startup probe failure, preemption, resource - contention, etc. The handler is not called if the container - crashes or exits. The Pod''s termination grace period - countdown begins before the PreStop hook is executed. - Regardless of the outcome of the handler, the container - will eventually terminate within the Pod''s termination - grace period (unless delayed by finalizers). Other management - of the container blocks until the hook completes or until - the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - description: 'Periodic probe of container liveness. Container - will be restarted if the probe fails. Cannot be updated. More - info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - name: - description: Name of the container specified as a DNS_LABEL. - Each container in a pod must have a unique name (DNS_LABEL). - Cannot be updated. - type: string - ports: - description: List of ports to expose from the container. Not - specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Modifying this array with strategic merge patch may corrupt - the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. - Cannot be updated. - items: - description: ContainerPort represents a network port in a - single container. - properties: - containerPort: - description: Number of port to expose on the pod's IP - address. This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If - specified, this must be a valid port number, 0 < x < - 65536. If HostNetwork is specified, this must match - ContainerPort. Most containers do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod - must have a unique name. Name for the port that can - be referred to by services. - type: string - protocol: - default: TCP - description: Protocol for port. Must be UDP, TCP, or SCTP. - Defaults to "TCP". - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - description: 'Periodic probe of container service readiness. - Container will be removed from service endpoints if the probe - fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - resources: - description: 'Compute Resources required by this container. - Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - securityContext: - description: 'SecurityContext defines the security options the - container should be run with. If set, the fields of SecurityContext - override the equivalent fields of PodSecurityContext. More - info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether - a process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN Note that this field cannot be set - when spec.os.name is windows.' - type: boolean - capabilities: - description: The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by - the container runtime. Note that this field cannot be - set when spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - type: object - privileged: - description: Run container in privileged mode. Processes - in privileged containers are essentially equivalent to - root on the host. Defaults to false. Note that this field - cannot be set when spec.os.name is windows. - type: boolean - procMount: - description: procMount denotes the type of proc mount to - use for the containers. The default is DefaultProcMount - which uses the container runtime defaults for readonly - paths and masked paths. This requires the ProcMountType - feature flag to be enabled. Note that this field cannot - be set when spec.os.name is windows. - type: string - readOnlyRootFilesystem: - description: Whether this container has a read-only root - filesystem. Default is false. Note that this field cannot - be set when spec.os.name is windows. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a - non-root user. If true, the Kubelet will validate the - image at runtime to ensure that it does not run as UID - 0 (root) and fail to start the container if it does. If - unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both - SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata - if unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. Note - that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a - random SELinux context for each container. May also be - set in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: The seccomp options to use by this container. - If seccomp options are provided at both the pod & container - level, the container options override the pod options. - Note that this field cannot be set when spec.os.name is - windows. - properties: - localhostProfile: - description: localhostProfile indicates a profile defined - in a file on the node should be used. The profile - must be preconfigured on the node to work. Must be - a descending path, relative to the kubelet's configured - seccomp profile location. Must only be set if type - is "Localhost". - type: string - type: - description: "type indicates which kind of seccomp profile - will be applied. Valid options are: \n Localhost - - a profile defined in a file on the node should be - used. RuntimeDefault - the container runtime default - profile should be used. Unconfined - no profile should - be applied." - type: string - required: - - type - type: object - windowsOptions: - description: The Windows specific settings applied to all - containers. If unspecified, the options from the PodSecurityContext - will be used. If set in both SecurityContext and PodSecurityContext, - the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is - linux. - properties: - gmsaCredentialSpec: - description: GMSACredentialSpec is where the GMSA admission - webhook (https://github.com/kubernetes-sigs/windows-gmsa) - inlines the contents of the GMSA credential spec named - by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: HostProcess determines if a container should - be run as a 'Host Process' container. This field is - alpha-level and will only be honored by components - that enable the WindowsHostProcessContainers feature - flag. Setting this field without the feature flag - will result in errors when validating the Pod. All - of a Pod's containers must have the same effective - HostProcess value (it is not allowed to have a mix - of HostProcess containers and non-HostProcess containers). In - addition, if HostProcess is true then HostNetwork - must also be set to true. - type: boolean - runAsUserName: - description: The UserName in Windows to run the entrypoint - of the container process. Defaults to the user specified - in image metadata if unspecified. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. - type: string - type: object - type: object - startupProbe: - description: 'StartupProbe indicates that the Pod has successfully - initialized. If specified, no other probes are executed until - this completes successfully. If this probe fails, the Pod - will be restarted, just as if the livenessProbe failed. This - can be used to provide different probe parameters at the beginning - of a Pod''s lifecycle, when it might take a long time to load - data or warm a cache, than during steady-state operation. - This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - stdin: - description: Whether this container should allocate a buffer - for stdin in the container runtime. If this is not set, reads - from stdin in the container will always result in EOF. Default - is false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the - stdin channel after it has been opened by a single attach. - When stdin is true the stdin stream will remain open across - multiple attach sessions. If stdinOnce is set to true, stdin - is opened on container start, is empty until the first client - attaches to stdin, and then remains open and accepts data - until the client disconnects, at which time stdin is closed - and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin - will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the - container''s termination message will be written is mounted - into the container''s filesystem. Message written is intended - to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. - The total message length across all containers will be limited - to 12kb. Defaults to /dev/termination-log. Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be - populated. File will use the contents of terminationMessagePath - to populate the container status message on both success and - failure. FallbackToLogsOnError will use the last chunk of - container log output if the termination message file is empty - and the container exited with an error. The log output is - limited to 2048 bytes or 80 lines, whichever is smaller. Defaults - to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume - within a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other - way around. When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might - be configured in the container image. Cannot be updated. - type: string - required: - - name - type: object - type: array - disableCompaction: - description: Disable prometheus compaction. - type: boolean - enableAdminAPI: - description: 'Enable access to prometheus web admin API. Defaults - to the value of `false`. WARNING: Enabling the admin APIs enables - mutating endpoints, to delete data, shutdown Prometheus, and more. - Enabling this should be done with care and the user is advised to - add additional authentication authorization via a proxy to ensure - only clients authorized to perform these actions can do so. For - more information see https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis' - type: boolean - enableFeatures: - description: Enable access to Prometheus disabled features. By default, - no features are enabled. Enabling disabled features is entirely - outside the scope of what the maintainers will support and by doing - so, you accept that this behaviour may break at any time without - notice. For more information see https://prometheus.io/docs/prometheus/latest/disabled_features/ - items: - type: string - type: array - enableRemoteWriteReceiver: - description: 'Enable Prometheus to be used as a receiver for the Prometheus - remote write protocol. Defaults to the value of `false`. WARNING: - This is not considered an efficient way of ingesting samples. Use - it with caution for specific low-volume use cases. It is not suitable - for replacing the ingestion via scraping and turning Prometheus - into a push-based metrics collection system. For more information - see https://prometheus.io/docs/prometheus/latest/querying/api/#remote-write-receiver - Only valid in Prometheus versions 2.33.0 and newer.' - type: boolean - enforcedBodySizeLimit: - description: 'EnforcedBodySizeLimit defines the maximum size of uncompressed - response body that will be accepted by Prometheus. Targets responding - with a body larger than this many bytes will cause the scrape to - fail. Example: 100MB. If defined, the limit will apply to all service/pod - monitors and probes. This is an experimental feature, this behaviour - could change or be removed in the future. Only valid in Prometheus - versions 2.28.0 and newer.' - pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$ - type: string - enforcedLabelLimit: - description: Per-scrape limit on number of labels that will be accepted - for a sample. If more than this number of labels are present post - metric-relabeling, the entire scrape will be treated as failed. - 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer. - format: int64 - type: integer - enforcedLabelNameLengthLimit: - description: Per-scrape limit on length of labels name that will be - accepted for a sample. If a label name is longer than this number - post metric-relabeling, the entire scrape will be treated as failed. - 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer. - format: int64 - type: integer - enforcedLabelValueLengthLimit: - description: Per-scrape limit on length of labels value that will - be accepted for a sample. If a label value is longer than this number - post metric-relabeling, the entire scrape will be treated as failed. - 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer. - format: int64 - type: integer - enforcedNamespaceLabel: - description: "EnforcedNamespaceLabel If set, a label will be added - to \n 1. all user-metrics (created by `ServiceMonitor`, `PodMonitor` - and `Probe` objects) and 2. in all `PrometheusRule` objects (except - the ones excluded in `prometheusRulesExcludedFromEnforce`) to * - alerting & recording rules and * the metrics used in their expressions - (`expr`). \n Label name is this field's value. Label value is the - namespace of the created object (mentioned above)." - type: string - enforcedSampleLimit: - description: EnforcedSampleLimit defines global limit on number of - scraped samples that will be accepted. This overrides any SampleLimit - set per ServiceMonitor or/and PodMonitor. It is meant to be used - by admins to enforce the SampleLimit to keep overall number of samples/series - under the desired limit. Note that if SampleLimit is lower that - value will be taken instead. - format: int64 - type: integer - enforcedTargetLimit: - description: EnforcedTargetLimit defines a global limit on the number - of scraped targets. This overrides any TargetLimit set per ServiceMonitor - or/and PodMonitor. It is meant to be used by admins to enforce - the TargetLimit to keep the overall number of targets under the - desired limit. Note that if TargetLimit is lower, that value will - be taken instead, except if either value is zero, in which case - the non-zero value will be used. If both values are zero, no limit - is enforced. - format: int64 - type: integer - evaluationInterval: - default: 30s - description: 'Interval between consecutive evaluations. Default: `30s`' - pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ - type: string - excludedFromEnforcement: - description: List of references to PodMonitor, ServiceMonitor, Probe - and PrometheusRule objects to be excluded from enforcing a namespace - label of origin. Applies only if enforcedNamespaceLabel set to true. - items: - description: ObjectReference references a PodMonitor, ServiceMonitor, - Probe or PrometheusRule object. - properties: - group: - default: monitoring.coreos.com - description: Group of the referent. When not specified, it defaults - to `monitoring.coreos.com` - enum: - - monitoring.coreos.com - type: string - name: - description: Name of the referent. When not set, all resources - are matched. - type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' - minLength: 1 - type: string - resource: - description: Resource of the referent. - enum: - - prometheusrules - - servicemonitors - - podmonitors - - probes - type: string - required: - - namespace - - resource - type: object - type: array - exemplars: - description: Exemplars related settings that are runtime reloadable. - It requires to enable the exemplar storage feature to be effective. - properties: - maxSize: - description: Maximum number of exemplars stored in memory for - all series. If not set, Prometheus uses its default value. A - value of zero or less than zero disables the storage. - format: int64 - type: integer - type: object - externalLabels: - additionalProperties: - type: string - description: The labels to add to any time series or alerts when communicating - with external systems (federation, remote storage, Alertmanager). - type: object - externalUrl: - description: The external URL the Prometheus instances will be available - under. This is necessary to generate correct URLs. This is necessary - if Prometheus is not served from root of a DNS name. - type: string - hostAliases: - description: Pods' hostAliases configuration - items: - description: HostAlias holds the mapping between IP and hostnames - that will be injected as an entry in the pod's hosts file. - properties: - hostnames: - description: Hostnames for the above IP address. - items: - type: string - type: array - ip: - description: IP address of the host file entry. - type: string - required: - - hostnames - - ip - type: object - type: array - x-kubernetes-list-map-keys: - - ip - x-kubernetes-list-type: map - ignoreNamespaceSelectors: - description: IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector - settings from all PodMonitor, ServiceMonitor and Probe objects. - They will only discover endpoints within the namespace of the PodMonitor, - ServiceMonitor and Probe objects. Defaults to false. - type: boolean - image: - description: Image if specified has precedence over baseImage, tag - and sha combinations. Specifying the version is still necessary - to ensure the Prometheus Operator knows what version of Prometheus - is being configured. - type: string - imagePullSecrets: - description: An optional list of references to secrets in the same - namespace to use for pulling prometheus and alertmanager images - from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod - items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - type: array - initContainers: - description: 'InitContainers allows adding initContainers to the pod - definition. Those can be used to e.g. fetch secrets for injection - into the Prometheus configuration from external sources. Any errors - during the execution of an initContainer will lead to a restart - of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - InitContainers described here modify an operator generated init - containers if they share the same name and modifications are done - via a strategic merge patch. The current init container name is: - `init-config-reloader`. Overriding init containers is entirely outside - the scope of what the maintainers will support and by doing so, - you accept that this behaviour may break at any time without notice.' - items: - description: A single application container that you want to run - within a pod. - properties: - args: - description: 'Arguments to the entrypoint. The container image''s - CMD is used if this is not provided. Variable references $(VAR_NAME) - are expanded using the container''s environment. If a variable - cannot be resolved, the reference in the input string will - be unchanged. Double $$ are reduced to a single $, which allows - for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will - produce the string literal "$(VAR_NAME)". Escaped references - will never be expanded, regardless of whether the variable - exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - command: - description: 'Entrypoint array. Not executed within a shell. - The container image''s ENTRYPOINT is used if this is not provided. - Variable references $(VAR_NAME) are expanded using the container''s - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: - i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether - the variable exists or not. Cannot be updated. More info: - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' - items: - type: string - type: array - env: - description: List of environment variables to set in the container. - Cannot be updated. - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be - a C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. - If a variable cannot be resolved, the reference in the - input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) - syntax: i.e. "$$(VAR_NAME)" will produce the string - literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists - or not. Defaults to "".' - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or - its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: 'Selects a field of the pod: supports - metadata.name, metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: 'Selects a resource of the container: - only resources limits and requests (limits.cpu, - limits.memory, limits.ephemeral-storage, requests.cpu, - requests.memory and requests.ephemeral-storage) - are currently supported.' - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - envFrom: - description: List of sources to populate environment variables - in the container. The keys defined within a source must be - a C_IDENTIFIER. All invalid keys will be reported as an event - when the container is starting. When a key exists in multiple - sources, the value associated with the last source will take - precedence. Values defined by an Env with a duplicate key - will take precedence. Cannot be updated. - items: - description: EnvFromSource represents the source of a set - of ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap must be - defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: An optional identifier to prepend to each - key in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - image: - description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images - This field is optional to allow higher level config management - to default or override container images in workload controllers - like Deployments and StatefulSets.' - type: string - imagePullPolicy: - description: 'Image pull policy. One of Always, Never, IfNotPresent. - Defaults to Always if :latest tag is specified, or IfNotPresent - otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' - type: string - lifecycle: - description: Actions that the management system should take - in response to container lifecycle events. Cannot be updated. - properties: - postStart: - description: 'PostStart is called immediately after a container - is created. If the handler fails, the container is terminated - and restarted according to its restart policy. Other management - of the container blocks until the hook completes. More - info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - description: 'PreStop is called immediately before a container - is terminated due to an API request or management event - such as liveness/startup probe failure, preemption, resource - contention, etc. The handler is not called if the container - crashes or exits. The Pod''s termination grace period - countdown begins before the PreStop hook is executed. - Regardless of the outcome of the handler, the container - will eventually terminate within the Pod''s termination - grace period (unless delayed by finalizers). Other management - of the container blocks until the hook completes or until - the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for - the command is root ('/') in the container's - filesystem. The command is simply exec'd, it is - not run inside a shell, so traditional shell instructions - ('|', etc) won't work. To use a shell, you need - to explicitly call out to that shell. Exit status - of 0 is treated as live/healthy and non-zero is - unhealthy. - items: - type: string - type: array - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to - the pod IP. You probably want to set "Host" in - httpHeaders instead. - type: string - httpHeaders: - description: Custom headers to set in the request. - HTTP allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the - host. Defaults to HTTP. - type: string - required: - - port - type: object - tcpSocket: - description: Deprecated. TCPSocket is NOT supported - as a LifecycleHandler and kept for the backward compatibility. - There are no validation of this field and lifecycle - hooks will fail in runtime when tcp handler is specified. - properties: - host: - description: 'Optional: Host name to connect to, - defaults to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access - on the container. Number must be in the range - 1 to 65535. Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - description: 'Periodic probe of container liveness. Container - will be restarted if the probe fails. Cannot be updated. More - info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - name: - description: Name of the container specified as a DNS_LABEL. - Each container in a pod must have a unique name (DNS_LABEL). - Cannot be updated. - type: string - ports: - description: List of ports to expose from the container. Not - specifying a port here DOES NOT prevent that port from being - exposed. Any port which is listening on the default "0.0.0.0" - address inside a container will be accessible from the network. - Modifying this array with strategic merge patch may corrupt - the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. - Cannot be updated. - items: - description: ContainerPort represents a network port in a - single container. - properties: - containerPort: - description: Number of port to expose on the pod's IP - address. This must be a valid port number, 0 < x < 65536. - format: int32 - type: integer - hostIP: - description: What host IP to bind the external port to. - type: string - hostPort: - description: Number of port to expose on the host. If - specified, this must be a valid port number, 0 < x < - 65536. If HostNetwork is specified, this must match - ContainerPort. Most containers do not need this. - format: int32 - type: integer - name: - description: If specified, this must be an IANA_SVC_NAME - and unique within the pod. Each named port in a pod - must have a unique name. Name for the port that can - be referred to by services. - type: string - protocol: - default: TCP - description: Protocol for port. Must be UDP, TCP, or SCTP. - Defaults to "TCP". - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - description: 'Periodic probe of container service readiness. - Container will be removed from service endpoints if the probe - fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - resources: - description: 'Compute Resources required by this container. - Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - securityContext: - description: 'SecurityContext defines the security options the - container should be run with. If set, the fields of SecurityContext - override the equivalent fields of PodSecurityContext. More - info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether - a process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN Note that this field cannot be set - when spec.os.name is windows.' - type: boolean - capabilities: - description: The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by - the container runtime. Note that this field cannot be - set when spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - type: object - privileged: - description: Run container in privileged mode. Processes - in privileged containers are essentially equivalent to - root on the host. Defaults to false. Note that this field - cannot be set when spec.os.name is windows. - type: boolean - procMount: - description: procMount denotes the type of proc mount to - use for the containers. The default is DefaultProcMount - which uses the container runtime defaults for readonly - paths and masked paths. This requires the ProcMountType - feature flag to be enabled. Note that this field cannot - be set when spec.os.name is windows. - type: string - readOnlyRootFilesystem: - description: Whether this container has a read-only root - filesystem. Default is false. Note that this field cannot - be set when spec.os.name is windows. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a - non-root user. If true, the Kubelet will validate the - image at runtime to ensure that it does not run as UID - 0 (root) and fail to start the container if it does. If - unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both - SecurityContext and PodSecurityContext, the value specified - in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata - if unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. Note - that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a - random SELinux context for each container. May also be - set in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: The seccomp options to use by this container. - If seccomp options are provided at both the pod & container - level, the container options override the pod options. - Note that this field cannot be set when spec.os.name is - windows. - properties: - localhostProfile: - description: localhostProfile indicates a profile defined - in a file on the node should be used. The profile - must be preconfigured on the node to work. Must be - a descending path, relative to the kubelet's configured - seccomp profile location. Must only be set if type - is "Localhost". - type: string - type: - description: "type indicates which kind of seccomp profile - will be applied. Valid options are: \n Localhost - - a profile defined in a file on the node should be - used. RuntimeDefault - the container runtime default - profile should be used. Unconfined - no profile should - be applied." - type: string - required: - - type - type: object - windowsOptions: - description: The Windows specific settings applied to all - containers. If unspecified, the options from the PodSecurityContext - will be used. If set in both SecurityContext and PodSecurityContext, - the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is - linux. - properties: - gmsaCredentialSpec: - description: GMSACredentialSpec is where the GMSA admission - webhook (https://github.com/kubernetes-sigs/windows-gmsa) - inlines the contents of the GMSA credential spec named - by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: HostProcess determines if a container should - be run as a 'Host Process' container. This field is - alpha-level and will only be honored by components - that enable the WindowsHostProcessContainers feature - flag. Setting this field without the feature flag - will result in errors when validating the Pod. All - of a Pod's containers must have the same effective - HostProcess value (it is not allowed to have a mix - of HostProcess containers and non-HostProcess containers). In - addition, if HostProcess is true then HostNetwork - must also be set to true. - type: boolean - runAsUserName: - description: The UserName in Windows to run the entrypoint - of the container process. Defaults to the user specified - in image metadata if unspecified. May also be set - in PodSecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext - takes precedence. - type: string - type: object - type: object - startupProbe: - description: 'StartupProbe indicates that the Pod has successfully - initialized. If specified, no other probes are executed until - this completes successfully. If this probe fails, the Pod - will be restarted, just as if the livenessProbe failed. This - can be used to provide different probe parameters at the beginning - of a Pod''s lifecycle, when it might take a long time to load - data or warm a cache, than during steady-state operation. - This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - properties: - exec: - description: Exec specifies the action to take. - properties: - command: - description: Command is the command line to execute - inside the container, the working directory for the - command is root ('/') in the container's filesystem. - The command is simply exec'd, it is not run inside - a shell, so traditional shell instructions ('|', etc) - won't work. To use a shell, you need to explicitly - call out to that shell. Exit status of 0 is treated - as live/healthy and non-zero is unhealthy. - items: - type: string - type: array - type: object - failureThreshold: - description: Minimum consecutive failures for the probe - to be considered failed after having succeeded. Defaults - to 3. Minimum value is 1. - format: int32 - type: integer - grpc: - description: GRPC specifies an action involving a GRPC port. - This is a beta field and requires enabling GRPCContainerProbe - feature gate. - properties: - port: - description: Port number of the gRPC service. Number - must be in the range 1 to 65535. - format: int32 - type: integer - service: - description: "Service is the name of the service to - place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - \n If this is not specified, the default behavior - is defined by gRPC." - type: string - required: - - port - type: object - httpGet: - description: HTTPGet specifies the http request to perform. - properties: - host: - description: Host name to connect to, defaults to the - pod IP. You probably want to set "Host" in httpHeaders - instead. - type: string - httpHeaders: - description: Custom headers to set in the request. HTTP - allows repeated headers. - items: - description: HTTPHeader describes a custom header - to be used in HTTP probes - properties: - name: - description: The header field name - type: string - value: - description: The header field value - type: string - required: - - name - - value - type: object - type: array - path: - description: Path to access on the HTTP server. - type: string - port: - anyOf: - - type: integer - - type: string - description: Name or number of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - scheme: - description: Scheme to use for connecting to the host. - Defaults to HTTP. - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'Number of seconds after the container has - started before liveness probes are initiated. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - periodSeconds: - description: How often (in seconds) to perform the probe. - Default to 10 seconds. Minimum value is 1. - format: int32 - type: integer - successThreshold: - description: Minimum consecutive successes for the probe - to be considered successful after having failed. Defaults - to 1. Must be 1 for liveness and startup. Minimum value - is 1. - format: int32 - type: integer - tcpSocket: - description: TCPSocket specifies an action involving a TCP - port. - properties: - host: - description: 'Optional: Host name to connect to, defaults - to the pod IP.' - type: string - port: - anyOf: - - type: integer - - type: string - description: Number or name of the port to access on - the container. Number must be in the range 1 to 65535. - Name must be an IANA_SVC_NAME. - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - description: Optional duration in seconds the pod needs - to terminate gracefully upon probe failure. The grace - period is the duration in seconds after the processes - running in the pod are sent a termination signal and the - time when the processes are forcibly halted with a kill - signal. Set this value longer than the expected cleanup - time for your process. If this value is nil, the pod's - terminationGracePeriodSeconds will be used. Otherwise, - this value overrides the value provided by the pod spec. - Value must be non-negative integer. The value zero indicates - stop immediately via the kill signal (no opportunity to - shut down). This is a beta field and requires enabling - ProbeTerminationGracePeriod feature gate. Minimum value - is 1. spec.terminationGracePeriodSeconds is used if unset. - format: int64 - type: integer - timeoutSeconds: - description: 'Number of seconds after which the probe times - out. Defaults to 1 second. Minimum value is 1. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' - format: int32 - type: integer - type: object - stdin: - description: Whether this container should allocate a buffer - for stdin in the container runtime. If this is not set, reads - from stdin in the container will always result in EOF. Default - is false. - type: boolean - stdinOnce: - description: Whether the container runtime should close the - stdin channel after it has been opened by a single attach. - When stdin is true the stdin stream will remain open across - multiple attach sessions. If stdinOnce is set to true, stdin - is opened on container start, is empty until the first client - attaches to stdin, and then remains open and accepts data - until the client disconnects, at which time stdin is closed - and remains closed until the container is restarted. If this - flag is false, a container processes that reads from stdin - will never receive an EOF. Default is false - type: boolean - terminationMessagePath: - description: 'Optional: Path at which the file to which the - container''s termination message will be written is mounted - into the container''s filesystem. Message written is intended - to be brief final status, such as an assertion failure message. - Will be truncated by the node if greater than 4096 bytes. - The total message length across all containers will be limited - to 12kb. Defaults to /dev/termination-log. Cannot be updated.' - type: string - terminationMessagePolicy: - description: Indicate how the termination message should be - populated. File will use the contents of terminationMessagePath - to populate the container status message on both success and - failure. FallbackToLogsOnError will use the last chunk of - container log output if the termination message file is empty - and the container exited with an error. The log output is - limited to 2048 bytes or 80 lines, whichever is smaller. Defaults - to File. Cannot be updated. - type: string - tty: - description: Whether this container should allocate a TTY for - itself, also requires 'stdin' to be true. Default is false. - type: boolean - volumeDevices: - description: volumeDevices is the list of block devices to be - used by the container. - items: - description: volumeDevice describes a mapping of a raw block - device within a container. - properties: - devicePath: - description: devicePath is the path inside of the container - that the device will be mapped to. - type: string - name: - description: name must match the name of a persistentVolumeClaim - in the pod - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - description: Pod volumes to mount into the container's filesystem. - Cannot be updated. - items: - description: VolumeMount describes a mounting of a Volume - within a container. - properties: - mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. - type: string - mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other - way around. When not set, MountPropagationNone is used. - This field is beta in 1.10. - type: string - name: - description: This must match the Name of a Volume. - type: string - readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. - type: boolean - subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). - type: string - subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - description: Container's working directory. If not specified, - the container runtime's default will be used, which might - be configured in the container image. Cannot be updated. - type: string - required: - - name - type: object - type: array - listenLocal: - description: ListenLocal makes the Prometheus server listen on loopback, - so that it does not bind against the Pod IP. - type: boolean - logFormat: - description: Log format for Prometheus to be configured with. - enum: - - "" - - logfmt - - json - type: string - logLevel: - description: Log level for Prometheus to be configured with. - enum: - - "" - - debug - - info - - warn - - error - type: string - minReadySeconds: - description: Minimum number of seconds for which a newly created pod - should be ready without any of its container crashing for it to - be considered available. Defaults to 0 (pod will be considered available - as soon as it is ready) This is an alpha field and requires enabling - StatefulSetMinReadySeconds feature gate. - format: int32 - type: integer - nodeSelector: - additionalProperties: - type: string - description: Define which Nodes the Pods are scheduled on. - type: object - overrideHonorLabels: - description: When true, Prometheus resolves label conflicts by renaming - the labels in the scraped data to "exported_