From 404ff96e02645139245cf0b62496639517740827 Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Fri, 6 Oct 2023 12:38:31 -0400 Subject: [PATCH 1/8] Add longevity test plan and results Problem: * We don't know if NGF can successfully process both control plane and data plane transactions over a period of time much greater than in our tests. * We didn't yet try to catch bugs that could only appear over a period of time (like resource leaks). Solution: - Create a longevity test plan - Run the test - Document the results CLOSES https://github.com/nginxinc/nginx-gateway-fabric/issues/956 --- .yamllint.yaml | 1 + tests/longevity/longevity.md | 149 +++++++++++ tests/longevity/manifests/cafe-routes.yaml | 37 +++ tests/longevity/manifests/cafe-secret.yaml | 8 + tests/longevity/manifests/cafe.yaml | 81 ++++++ tests/longevity/manifests/cronjob.yaml | 92 +++++++ tests/longevity/manifests/gateway.yaml | 20 ++ tests/longevity/manifests/prom.yaml | 12 + tests/longevity/results/1.0.0-images/cpu.png | Bin 0 -> 44459 bytes .../longevity/results/1.0.0-images/memory.png | Bin 0 -> 53650 bytes .../results/1.0.0-images/reload-time.png | Bin 0 -> 47107 bytes .../results/1.0.0-images/reloads.png | Bin 0 -> 33053 bytes .../results/1.0.0-images/stub-status.png | Bin 0 -> 51342 bytes tests/longevity/results/1.0.0.md | 234 ++++++++++++++++++ 14 files changed, 634 insertions(+) create mode 100644 tests/longevity/longevity.md create mode 100644 tests/longevity/manifests/cafe-routes.yaml create mode 100644 tests/longevity/manifests/cafe-secret.yaml create mode 100644 tests/longevity/manifests/cafe.yaml create mode 100644 tests/longevity/manifests/cronjob.yaml create mode 100644 tests/longevity/manifests/gateway.yaml create mode 100644 tests/longevity/manifests/prom.yaml create mode 100644 tests/longevity/results/1.0.0-images/cpu.png create mode 100644 tests/longevity/results/1.0.0-images/memory.png create mode 100644 tests/longevity/results/1.0.0-images/reload-time.png create mode 100644 tests/longevity/results/1.0.0-images/reloads.png create mode 100644 tests/longevity/results/1.0.0-images/stub-status.png create mode 100644 tests/longevity/results/1.0.0.md diff --git a/.yamllint.yaml b/.yamllint.yaml index c199e193b1..f3306bcd95 100644 --- a/.yamllint.yaml +++ b/.yamllint.yaml @@ -41,6 +41,7 @@ rules: .github/workflows/ deploy/manifests/nginx-gateway.yaml deploy/manifests/crds + tests/longevity/manifests/cronjob.yaml new-line-at-end-of-file: enable new-lines: enable octal-values: disable diff --git a/tests/longevity/longevity.md b/tests/longevity/longevity.md new file mode 100644 index 0000000000..a939d84c4c --- /dev/null +++ b/tests/longevity/longevity.md @@ -0,0 +1,149 @@ +# Longevity Test + +This document describes how we test NGF for longevity. + + + +- [Longevity Test](#longevity-test) + - [Goals](#goals) + - [Test Environment](#test-environment) + - [Steps](#steps) + - [Start](#start) + - [Check the Test is Running Correctly](#check-the-test-is-running-correctly) + - [End](#end) + - [Analyze](#analyze) + - [Results](#results) + + + +## Goals + +- Ensure that NGF successfully processes both control plane and data plane transactions over a period of time much + greater than in our other tests. +- Catch bugs that could only appear over a period of time (like resource leaks). + +## Test Environment + +- A Kubernetes cluster with 3 nodes on GKE + - Node: e2-medium (2 vCPU, 4GB memory) + - Enabled GKE logging. + - Enabled GKE Cloud monitoring with managed Prometheus service, with enabled: + - system. + - kube state - pods, deployments. +- Tester VMs: + - Configuration: + - Debian + - Install packages: tmux, wrk + - Location - same zone as the Kubernetes cluster. + - First VM - for HTTP traffic + - Second VM - for sending HTTPs traffic +- NGF + - Deployment with 1 replica + - Exposed via a Service with type LoadBalancer, private IP + - Gateway, two listeners - HTTP and HTTPs + - Two apps: + - Coffee - 3 replicas + - Tea - 3 replicas + - Two HTTPRoutes + - Coffee (HTTP) + - Tea (HTTPS) + +## Steps + +### Start + +Test duration - 4 days. + +1. Create a Kubernetes cluster on GKE. +2. Deploy NGF. +3. Expose NFG via a Load Balancer Service with `"networking.gke.io/load-balancer-type":"Internal"` annotation to + allocate an internal load balancer. +4. Apply the manifests which will: + 1. Deploy the coffee and tea backends. + 2. Configure HTTP and HTTPS listeners on the Gateway. + 3. Expose coffee via HTTP listener and tea via HTTPS listener. + 4. Create two CronJobs to re-rollout backends: + 1. Coffee - every minute for an hour every 6 hours + 2. Tea - every minute for an hour every 6 hours, 3 ours apart from coffee. + 5. Configure Prometheus on GKE to pick up NGF metrics. + + ```shell + kubectl apply -f files + ``` + +5. In Tester VMs, update `/etc/hosts` to have an entry with the External IP of the NGF Service (`10.128.0.10` in this + case): + + ```text + 10.128.0.10 cafe.example.com + ``` + +6. In Tester VMs, start a tmux session (this is needed so that even if you disconnect from the VM, any launched command: + will keep running): + + ```shell + tmux + ``` + +7. In First VM, start wrk for 4 days for coffee via HTTP: + + ```shell + wrk -t2 -c100 -d96h http://cafe.example.com/coffee + ``` + +8. In Second VM, start wrk for 4 days for tea via HTTPS: + + ```shell + wrk -t2 -c100 -d96h https://cafe.example.com/tea + ``` + +Notes: + +- The updated coffee and tea backends in cafe.yaml include extra configuration for zero time upgrades, so that + wrk in Tester VMs don't get 502 from NGF. Based on https://learnk8s.io/graceful-shutdown + +### Check the Test is Running Correctly + +Check that you don't see any errors: + +1. Traffic is flowing - look at the access logs of NGINX. +2. Check that cron job can run. + + ```shell + kubectl create job --from=cronjob/coffee-rollout-mgr coffee-test + kubectl create job --from=cronjob/tea-rollout-mgr tea-test + ``` + +3. Check that GKE exports logs and Prometheus metrics. + +In case of errors, double check if you prepared the environment and launched the test correctly. + +### End + +- Remove CronJobs. + +## Analyze + +- Traffic + - Tester VMs (clients) + - As wrk stop, they will print output upon termination. To connect to the tmux session with wrk, + run `tmux attach -t 0` + - Check for errors, latency, RPS +- Logs + - Check the logs for errors in Google Cloud Operations Logging. + - NGF + - NGINX +- Check metrics in Google Cloud Monitoring. + - NGF + - CPU usage + - NGINX + - NGF + - Memory usage + - NGINX + - NGF + - NGINX metrics + - Reloads + +## Results + +- [1.0.0](results/1.0.0.md) diff --git a/tests/longevity/manifests/cafe-routes.yaml b/tests/longevity/manifests/cafe-routes.yaml new file mode 100644 index 0000000000..e679756d6e --- /dev/null +++ b/tests/longevity/manifests/cafe-routes.yaml @@ -0,0 +1,37 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: coffee +spec: + parentRefs: + - name: gateway + sectionName: http + hostnames: + - "cafe.example.com" + rules: + - matches: + - path: + type: PathPrefix + value: /coffee + backendRefs: + - name: coffee + port: 80 +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: tea +spec: + parentRefs: + - name: gateway + sectionName: https + hostnames: + - "cafe.example.com" + rules: + - matches: + - path: + type: PathPrefix + value: /tea + backendRefs: + - name: tea + port: 80 diff --git a/tests/longevity/manifests/cafe-secret.yaml b/tests/longevity/manifests/cafe-secret.yaml new file mode 100644 index 0000000000..4510460bba --- /dev/null +++ b/tests/longevity/manifests/cafe-secret.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: cafe-secret +type: kubernetes.io/tls +data: + tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNzakNDQVpvQ0NRQzdCdVdXdWRtRkNEQU5CZ2txaGtpRzl3MEJBUXNGQURBYk1Sa3dGd1lEVlFRRERCQmoKWVdabExtVjRZVzF3YkdVdVkyOXRNQjRYRFRJeU1EY3hOREl4TlRJek9Wb1hEVEl6TURjeE5ESXhOVEl6T1ZvdwpHekVaTUJjR0ExVUVBd3dRWTJGbVpTNWxlR0Z0Y0d4bExtTnZiVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFECmdnRVBBRENDQVFvQ2dnRUJBTHFZMnRHNFc5aStFYzJhdnV4Q2prb2tnUUx1ek10U1Rnc1RNaEhuK3ZRUmxIam8KVzFLRnMvQVdlS25UUStyTWVKVWNseis4M3QwRGtyRThwUisxR2NKSE50WlNMb0NEYUlRN0Nhck5nY1daS0o4Qgo1WDNnVS9YeVJHZjI2c1REd2xzU3NkSEQ1U2U3K2Vab3NPcTdHTVF3K25HR2NVZ0VtL1Q1UEMvY05PWE0zZWxGClRPL051MStoMzROVG9BbDNQdTF2QlpMcDNQVERtQ0thaEROV0NWbUJQUWpNNFI4VERsbFhhMHQ5Z1o1MTRSRzUKWHlZWTNtdzZpUzIrR1dYVXllMjFuWVV4UEhZbDV4RHY0c0FXaGRXbElweHlZQlNCRURjczN6QlI2bFF1OWkxZAp0R1k4dGJ3blVmcUVUR3NZdWxzc05qcU95V1VEcFdJelhibHhJZVVDQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBUUVBcjkrZWJ0U1dzSnhLTGtLZlRkek1ISFhOd2Y5ZXFVbHNtTXZmMGdBdWVKTUpUR215dG1iWjlpbXQKL2RnWlpYVE9hTElHUG9oZ3BpS0l5eVVRZVdGQ2F0NHRxWkNPVWRhbUloOGk0Q1h6QVJYVHNvcUNOenNNLzZMRQphM25XbFZyS2lmZHYrWkxyRi8vblc0VVNvOEoxaCtQeDljY0tpRDZZU0RVUERDRGh1RUtFWXcvbHpoUDJVOXNmCnl6cEJKVGQ4enFyM3paTjNGWWlITmgzYlRhQS82di9jU2lyamNTK1EwQXg4RWpzQzYxRjRVMTc4QzdWNWRCKzQKcmtPTy9QNlA0UFlWNTRZZHMvRjE2WkZJTHFBNENCYnExRExuYWRxamxyN3NPbzl2ZzNnWFNMYXBVVkdtZ2todAp6VlZPWG1mU0Z4OS90MDBHUi95bUdPbERJbWlXMGc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQzZtTnJSdUZ2WXZoSE4KbXI3c1FvNUtKSUVDN3N6TFVrNExFeklSNS9yMEVaUjQ2RnRTaGJQd0ZuaXAwMFBxekhpVkhKYy92TjdkQTVLeApQS1VmdFJuQ1J6YldVaTZBZzJpRU93bXF6WUhGbVNpZkFlVjk0RlAxOGtSbjl1ckV3OEpiRXJIUncrVW51L25tCmFMRHF1eGpFTVBweGhuRklCSnYwK1R3djNEVGx6TjNwUlV6dnpidGZvZCtEVTZBSmR6N3Rid1dTNmR6MHc1Z2kKbW9RelZnbFpnVDBJek9FZkV3NVpWMnRMZllHZWRlRVJ1VjhtR041c09va3R2aGxsMU1udHRaMkZNVHgySmVjUQo3K0xBRm9YVnBTS2NjbUFVZ1JBM0xOOHdVZXBVTHZZdFhiUm1QTFc4SjFINmhFeHJHTHBiTERZNmpzbGxBNlZpCk0xMjVjU0hsQWdNQkFBRUNnZ0VBQnpaRE50bmVTdWxGdk9HZlFYaHRFWGFKdWZoSzJBenRVVVpEcUNlRUxvekQKWlV6dHdxbkNRNlJLczUyandWNTN4cU9kUU94bTNMbjNvSHdNa2NZcEliWW82MjJ2dUczYnkwaVEzaFlsVHVMVgpqQmZCcS9UUXFlL2NMdngvSkczQWhFNmJxdFRjZFlXeGFmTmY2eUtpR1dzZk11WVVXTWs4MGVJVUxuRmZaZ1pOCklYNTlSOHlqdE9CVm9Sa3hjYTVoMW1ZTDFsSlJNM3ZqVHNHTHFybmpOTjNBdWZ3ZGRpK1VDbGZVL2l0K1EvZkUKV216aFFoTlRpNVFkRWJLVStOTnYvNnYvb2JvandNb25HVVBCdEFTUE05cmxFemIralQ1WHdWQjgvLzRGY3VoSwoyVzNpcjhtNHVlQ1JHSVlrbGxlLzhuQmZ0eVhiVkNocVRyZFBlaGlPM1FLQmdRRGlrR3JTOTc3cjg3Y1JPOCtQClpoeXltNXo4NVIzTHVVbFNTazJiOTI1QlhvakpZL2RRZDVTdFVsSWE4OUZKZnNWc1JRcEhHaTFCYzBMaTY1YjIKazR0cE5xcVFoUmZ1UVh0UG9GYXRuQzlPRnJVTXJXbDVJN0ZFejZnNkNQMVBXMEg5d2hPemFKZUdpZVpNYjlYTQoybDdSSFZOcC9jTDlYbmhNMnN0Q1lua2Iwd0tCZ1FEUzF4K0crakEyUVNtRVFWNXA1RnRONGcyamsyZEFjMEhNClRIQ2tTazFDRjhkR0Z2UWtsWm5ZbUt0dXFYeXNtekJGcnZKdmt2eUhqbUNYYTducXlpajBEdDZtODViN3BGcVAKQWxtajdtbXI3Z1pUeG1ZMXBhRWFLMXY4SDNINGtRNVl3MWdrTWRybVJHcVAvaTBGaDVpaGtSZS9DOUtGTFVkSQpDcnJjTzhkUVp3S0JnSHA1MzRXVWNCMVZibzFlYStIMUxXWlFRUmxsTWlwRFM2TzBqeWZWSmtFb1BZSEJESnp2ClIrdzZLREJ4eFoyWmJsZ05LblV0YlhHSVFZd3lGelhNcFB5SGxNVHpiZkJhYmJLcDFyR2JVT2RCMXpXM09PRkgKcmppb21TUm1YNmxhaDk0SjRHU0lFZ0drNGw1SHhxZ3JGRDZ2UDd4NGRjUktJWFpLZ0w2dVJSSUpBb0dCQU1CVApaL2p5WStRNTBLdEtEZHUrYU9ORW4zaGxUN3hrNXRKN3NBek5rbWdGMU10RXlQUk9Xd1pQVGFJbWpRbk9qbHdpCldCZ2JGcXg0M2ZlQ1Z4ZXJ6V3ZEM0txaWJVbWpCTkNMTGtYeGh3ZEVteFQwVit2NzZGYzgwaTNNYVdSNnZZR08KditwVVovL0F6UXdJcWZ6dlVmV2ZxdStrMHlhVXhQOGNlcFBIRyt0bEFvR0FmQUtVVWhqeFU0Ym5vVzVwVUhKegpwWWZXZXZ5TW54NWZyT2VsSmRmNzlvNGMvMHhVSjh1eFBFWDFkRmNrZW96dHNpaVFTNkN6MENRY09XVWxtSkRwCnVrdERvVzM3VmNSQU1BVjY3NlgxQVZlM0UwNm5aL2g2Tkd4Z28rT042Q3pwL0lkMkJPUm9IMFAxa2RjY1NLT3kKMUtFZlNnb1B0c1N1eEpBZXdUZmxDMXc9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K diff --git a/tests/longevity/manifests/cafe.yaml b/tests/longevity/manifests/cafe.yaml new file mode 100644 index 0000000000..c95bcfb2d0 --- /dev/null +++ b/tests/longevity/manifests/cafe.yaml @@ -0,0 +1,81 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: coffee +spec: + replicas: 3 + selector: + matchLabels: + app: coffee + template: + metadata: + labels: + app: coffee + spec: + containers: + - name: coffee + image: nginxdemos/nginx-hello:plain-text + ports: + - containerPort: 8080 + readinessProbe: + httpGet: + path: / + port: 8080 + lifecycle: + preStop: + exec: + command: ["/bin/sleep", "15"] +--- +apiVersion: v1 +kind: Service +metadata: + name: coffee +spec: + ports: + - port: 80 + targetPort: 8080 + protocol: TCP + name: http + selector: + app: coffee +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tea +spec: + replicas: 3 + selector: + matchLabels: + app: tea + template: + metadata: + labels: + app: tea + spec: + containers: + - name: tea + image: nginxdemos/nginx-hello:plain-text + ports: + - containerPort: 8080 + readinessProbe: + httpGet: + path: / + port: 8080 + lifecycle: + preStop: + exec: + command: ["/bin/sleep", "15"] +--- +apiVersion: v1 +kind: Service +metadata: + name: tea +spec: + ports: + - port: 80 + targetPort: 8080 + protocol: TCP + name: http + selector: + app: tea diff --git a/tests/longevity/manifests/cronjob.yaml b/tests/longevity/manifests/cronjob.yaml new file mode 100644 index 0000000000..234ff903d8 --- /dev/null +++ b/tests/longevity/manifests/cronjob.yaml @@ -0,0 +1,92 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: rollout-mgr + namespace: default +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: rollout-mgr + namespace: default +rules: +- apiGroups: + - "apps" + resources: + - deployments + verbs: + - patch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: rollout-mgr + namespace: default +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: rollout-mgr +subjects: +- kind: ServiceAccount + name: rollout-mgr + namespace: default +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: coffee-rollout-mgr + namespace: default +spec: + schedule: "* */6 * * *" # every minute every 6 hours + jobTemplate: + spec: + template: + spec: + serviceAccountName: rollout-mgr + containers: + - name: coffee-rollout-mgr + image: curlimages/curl:8.3.0 + imagePullPolicy: IfNotPresent + command: + - /bin/sh + - -c + args: + - | + TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) + RESTARTED_AT=$(date -u +"%Y-%m-%dT%H:%M:%SZ") + curl -X PATCH -s -k -v \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-type: application/merge-patch+json" \ + --data-raw "{\"spec\": {\"template\": {\"metadata\": {\"annotations\": {\"kubectl.kubernetes.io/restartedAt\": \"$RESTARTED_AT\"}}}}}" \ + "https://kubernetes/apis/apps/v1/namespaces/default/deployments/coffee?fieldManager=kubectl-rollout" 2>&1 + restartPolicy: OnFailure +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: tea-rollout-mgr + namespace: default +spec: + schedule: "* 3,9,15,21 * * *" # every minute every 6 hours, 3 hours apart from coffee + jobTemplate: + spec: + template: + spec: + serviceAccountName: rollout-mgr + containers: + - name: coffee-rollout-mgr + image: curlimages/curl:8.3.0 + imagePullPolicy: IfNotPresent + command: + - /bin/sh + - -c + args: + - | + TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) + RESTARTED_AT=$(date -u +"%Y-%m-%dT%H:%M:%SZ") + curl -X PATCH -s -k -v \ + -H "Authorization: Bearer $TOKEN" \ + -H "Content-type: application/merge-patch+json" \ + --data-raw "{\"spec\": {\"template\": {\"metadata\": {\"annotations\": {\"kubectl.kubernetes.io/restartedAt\": \"$RESTARTED_AT\"}}}}}" \ + "https://kubernetes/apis/apps/v1/namespaces/default/deployments/tea?fieldManager=kubectl-rollout" 2>&1 + restartPolicy: OnFailure diff --git a/tests/longevity/manifests/gateway.yaml b/tests/longevity/manifests/gateway.yaml new file mode 100644 index 0000000000..593d17e496 --- /dev/null +++ b/tests/longevity/manifests/gateway.yaml @@ -0,0 +1,20 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: gateway +spec: + gatewayClassName: nginx + listeners: + - name: http + port: 80 + protocol: HTTP + hostname: "*.example.com" + - name: https + port: 443 + protocol: HTTPS + hostname: "*.example.com" + tls: + mode: Terminate + certificateRefs: + - kind: Secret + name: cafe-secret diff --git a/tests/longevity/manifests/prom.yaml b/tests/longevity/manifests/prom.yaml new file mode 100644 index 0000000000..e5d35fae72 --- /dev/null +++ b/tests/longevity/manifests/prom.yaml @@ -0,0 +1,12 @@ +apiVersion: monitoring.googleapis.com/v1 +kind: PodMonitoring +metadata: + name: prom-example + namespace: nginx-gateway +spec: + selector: + matchLabels: + app.kubernetes.io/name: nginx-gateway + endpoints: + - port: metrics + interval: 30s diff --git a/tests/longevity/results/1.0.0-images/cpu.png b/tests/longevity/results/1.0.0-images/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..45f93f96c7e2b6410195e32d410b69f08ffd2739 GIT binary patch literal 44459 zcmcG#by$>J*EkGVqQFQuGOME*&$TeTn{fOM`{?3;QQRL8ZL!g39W+bQ`!5gM=kgzS*A`X=%w! z=ssYK<_!r$>l>CIPFz}Ipikc2GG%4Pc}TvjBG1}{vwVZIIOhHN7ZFZQT2-3v!&q}& z|0o&)qC+Whr1tVhapc?OxjU)f@X6bYabm_GQdS~3^hqoOJnNPUWRXUphV8dv0XP!W z%YFd?hqponS>S;pcSF}Mi~5*dV3@oV@gLnQU<$J}1DYV> zZ3NmUK&xi~-bj9X(c?~~?sAEC>E*s;-Ox%_G|OGi9ahBxaagFucj=FPe5=iAEeQla z!u@FP-Yy5Vn=W4`f4G;K^61XWQ&M*#3FWu#ssWQY%aGRA!Dk8m1e@ph34Fg;U-g(4 zo>xc}w3g0J_~;o4=zqsZD0OLVn$tfLS1zE`WQ9Mz|GizV2)EqX)W|Hp=e>tAImi2E z#mBE=5cann12lk4MWcwYif^XGkFSmbTKzA~7@VHX0`AT0$H&oR_fd@ZptzPpoLhK_ zJ9bua8BLeEHvDUdKCx!^)R+%^T3&sYfFx9Y?GWI^qn5CWDA;i%G4-uZtMZ%7Efae! zd|#a_fZ>=d-C;E!O7zaD3W4|wpnD$@|6t}oI)}%y%}j5Qm)wC9%ZVk%i#7b ziqL(+ykn34ATcYHgJLTby<~3!UQ6L|DRAC&yU5w$zN_}7DHqqW-U9YEK3%ijqKz*g zru*J;dWgWB!R#z<4AeNjv{dvkY@Z-!;xs+=h7bphxV*Ze@IgI@#w|lI$e;to#*@~5=M)sK?my)5Kw z=3-t=;~$M$H`SLG6WD-NqOD`p`8J(Avl%)gT~@^K_VWG_A6 zCQYqyx+?Q4zHFW0vmw4=FCnh4B42^38S5_nkNX3^iV9u*0=z4ESN`tyJCa{;>+})N zJk??N5c$~s4+BH<-+bO&QQ?{E3W$-)n2VSTuF&MZ3i)AP*f!QZRxmhKFj6v7SXjKB zoth)5T=nuS)GnVX&oUP=);pp9tx9LVcAmqB+6UgK0d4ecK!b122oy*INIwy*5!8{E z(0L13&Y#ax z+4r-SW*_g`Jpk$1It_nAyd4ng5}I(S*?c`>Cm5{fm(pcZGX<(ZsTi`SrVJQ#*nm&J zGNdXc_x6c?txAQ$%PL>MIV&f@jssslcEkE$26j_sQ`X@3!mS^FYNe0aT89buN+3MH zpU`ceiNHk)M4WBuZ8N6mC!K6x*=*bFPY>{n>4KCn6B74-kF#-c9LV1Vsrxj z1oBGcL>WarKvYICDiAC91c!x;lQt}U+iQ1w?Do^ybFl~o+%?#m-MDs29xMB8`YJe` z?zF#SQu}wj;1JGQkC5|8qn~8#)Wfp{muZ;b`GzJ{Q^5NB>CR|!FsUh%2 zVDgbJy*JCbG$Khb(pd_hgqVVh!ir*yT$S9A+Ecdg0gq%6Z;|M%p!du3L!zh8-nM@U zWiX)T&D8JRjr<*zc7KZgJ5vInl6}kcm%=ZhS_r}3J; z0ou~Kbs+T_1i#pIbGA0VZ@4Y?u6uR_gX@mz;^j&WNc2kiA zc1Pi_zg_R7k!-yTr!U(k}{?cx;U9KVnHtdB^I$`oo;Smxx4 zb5T1;FEe{uD)h4UJ0%xTbMoysJm~6-g&WM+f+7qrtT0SgMJ1)${>%8o!*B3z@;H>b z@4LI&M>90ucc3qO-yRoKG;|4G^%dESQ?{WlXdMK^y)ddBkA__ zZ4}h?#&xXphNR*?obTw}FFTN9xyRwjBmYs~*`{7oU_A&)L=cyk>mI zQMf%1@d1d&@~Xo4*k1t|0%sDDHE?}))|Hbxn(G{O%FHc3?rz{zk9v0cS?S5j zyS+3Z;37lPBg3`vFkm7mSY!Z>*W`uv&6+E0 zSjsu;$a^J|^i?w09oPW$xM)v^;m$90DmALU?_9j%d32I0s<^OG&sBY~qm3@ssS3A; zHVPi|F4_pYNbdvil@UImWNiJMD6T)KJppEc(yRKiRv$S*4u7| zZ`WZ;7UxiBYs{pwHdkGj9_yN0`T3a~zN|iaCu3;qMQc~e~1)!;Vo^&gzyKH1F0 z4b8=kS;fHR>pp6nmd8PcFrH{U220L3Sdc%TfNnF(N$HEFt@kmHMOue1M_;=I{bx# zBjq81ZQ6oeOj$f^ZS0&SJft7|&j<-@`!6ux1D5|8;$kiRKvz|RMZw+)%p$_e&&&Tn z<_-%Bi}!u z-+y!_b0;Pq%7cR=hok&V{;db@PCDVN;qw#>2W40`J}5ir6Qzk^LH1AX2PL{X420 z)C@l{Zk(NiVs1)ChVbqclTlIP{_F8aQznbpe$}^cIGI&suw5P3vt$(A&G6dWOM0yMNoc;1%seCf==Kr&@n82K% z{{r&!U^gYm$nw9zx2s+v zID=x&plrf$<}d~ROh^zlSp9lSj0UGH@ZctEkz87}P-su7qdiHgqzSGcs&Q(+9r{sS9 zi1Z5GfI}1JX8)?B_phnzCK~o!?V4^*okN&Be+2qlv`H>psGYUaHkMtvPnw3*Q1~7M zl1m7txz9uP4%#SCrlO69oeULj(CZcEI*7>Om!$gkn{$LLTu<-v_lUatzVBJxL>F@> zsl&yVPSe-I%cQ1j@L3LR180?#cA3Yanfp;UM;(XkMfX%KZsCl5leD%g=dpH)!KT|3 zIB5rX^E+SG(27(yP8U&rP`7YXQs-Nq=!kCGHr#j8G4^pS@)X*SlH7Ap_g7mKOJa7T>0j1rI!mhF-TZdLOjx72Eq1UgbkCInJ=e=WZ@1n%pFJf5ipj z#tH0HuSD&6EnFFaV@LAU-6^2wZF9BTCHgh0VPVXdgCVoW8D~-yCQ3=hjp0Gd@Gw80KT>rmK%HWiiLHanIVaH(ey`b}J_`;_WGz zJU3XY#@|`jSdHXO?et|0c-_Ny51G)jOjkY;o%b*gk=!hgnIPQmTrDScG`bjoqMgq= zMH`21Hk4$0_S$pz$`MT4Mu%ZK7VbHRE-R)KUI17{-PFDZLJ}r~4&eYEulGCK`yQvx zRW;r0+WF3WCS>;Jcg{Py>}KHJUJ*_g;3!ie0Bc1q;ZNgO^4Z&F8BGBW@ei<^BY}0c z@F{lczZ5s$a*l52kXdR)+bop3=t042;QBJ(V`O%{fLMODBfr<_PI6D>aam*4g6~z) z4OWn#Du<=k9c3Cj?MV$c{i2F$(04skZQxnGd;vt~muFOTZI;?BXsrQMVq?EWE=T=}OZ_~9?$b`JetV5fPibu!oV9Hh{nIo#I2_vtX z+$f31+?XDn#@6?9=OMD!*)v$juR{`(EEerHUhNHWFcbxXq)_4m%IMY4M{NMLQNhfM zJ{uYSk~6I9)0vNRn}tglV=gD=#`W#f#SH+0>p=BSfMzntF>1h_!KTdLtCczJwqp~AQ2VuMe+#GVn_xF7z zRr8*6Hez3rSA5RqM0+IJm|$+s20E{j5mM~>(fm1d zJv~jQm8D>T^7{wR?mD;QFfLuM%r;*f3@0^?8e$^@4-$B;(|D9H<^lWAUEn@vDofS3fJh0o-ydBupra4%B@eQ z8+yA5UAVIE=3f7L@Gw{#g;h`Qv}bqW!_2nA zW;`e|#C}_H>7*Bc9;Yt2TvKO8i2@|ipB1VWsv34}88JdRD`bmN82-AIrriw>!n~FA zaXUu#>ndi(eV2o>l_txsPND|N>ycO$SB$W~n#08zPt=g?eN$+azrRSO}x!?@26-oAV5IxY;E zChjbO*~i>8k&ojbS@*qNU2p5BDSZeR-cOH@f{yWTGoT26A1!2A9Pg$F^DuAIc?uXn zZ%*jWNcigcdyhn!C3Hv158^Vf9~Sl=N4mPrxlSOPZf2UmA?VF_@O73p%m;ZlG@ou+ z){4E5#oChi7GtW7%HWKoF(bwW9(akC&{R$yzJ?B)UoQ9aB z;HUTy?wH|oI;F>m*)oE=H3%l}^38Adp5BK#=Wr_!|FgaEFL;DAvoPkUu_(3Jx}Ql; z6V=?bpD`Bb--^R_$JUC!wJcz10EcaSL3;PRuCcEtf@qucqAo9e@I}bd)_(GP+ovn} zMHGN~{<31nt$hMZMP~eAQ@^1ET9cTz4L%YF4JOPv!rg>ti9&I+32WEygQ+2~CJpU7 zgdGdtk>_nxrhakqgjo^AQ2L=m^;QY=JvxyAQdbF1hnJ=X`bwXDE;-)KiKsMF1_iD* zO>|qB?U{bNlw8xhCkE$7cW02_nQ4PmTI1~$9Y%SgH{TL=S{ogda=B$(j^@ALCSCCh zd~OM_?E%sNYV~c(J02dQKdTce$~@H*kMO|6m(DPm&$*1KR=9?!6g}VOX-@H@A}5@e z{oZ|k&TPB^M_ecpQly|izeLD#Z6~tDw#v6uUyoGTc%vD9M&PD#;)}i9z(XlNDxg30}lBRa&~?wL2o2&CAlbxThG2icC_P4UynZB zv6P)zI+6G!06(9kXO5dW!|b|qo?E@!|0af6H5=v&^A|V5v>;F-CVd+-48Nu*7+A*wT$R zpOIFDf2qWS(jUN5|7@T&PU!_m4%*1O#^`So#V?vH**6ud#MJ#0Dcjv`B;Qu5l?~hm zluE-H58gc-=kxv0EUVgW^m?_>S1g~O;@nk;;QGTSsMFVmfNrVIN$z@T5v%#@k>s6w zPp;`Rp=JrijQiiJ&l>i9kg^TENYNtU>uhLK@%yF>r4-#Ta0en(0AJ7B&e-iCz50*C+s|-8Odb>%=gcdE z^=GdEjTpbcU|A?a{Hoync3QJo&=9!ER8Ak@PBeaw6ktb(cwZr9dIzIyP0E%S?gC;Q zwCC5-aRCT1MNac@NCo+$D-+U0BJ@eBveY3X#X1kEE`vkjLGGRNH36|#=gJ0R_ZEo> zX@WoMvE+BsD8C_D(iaRo~?kAu`<4ou# z_P$xdFVGBuk053qS*iQRZ!)($L(Nc)uF+XcrSjGZ*oPkU(*Z>Z#-F@PMW2-J%wXfy zdpDV8(-w%%N$0JrH$49wNC$cS$Es4ic2ItJ#Pz*?{uDX$h76fm81B4vt{*a*=HguAq?_3dC#k%MVy89baN|?-Sn}OiEbU z!~rI(L`gfPwI`QKIFi?(McSi9p=@cS&c+Tl?)r*TpaKK_sTnkzQ2wwT%XI4D znxZDH|9DFQw<#~sSgn;Ca9(5h348M6^hzfQruAhca@R5~YK!SKJpPHR&T$|?yzjCy zk>HTT&`FfWIIG-Yt@&J5RDYB<;_>YBpuk&%c%>07lSd1JG{UKG3CQ`s927nuyp0*m zgeu9@nUk(isekxM08j@A`nmx+Inj@7W~mUeun?#h`##Dn8!wH%{wVOGd4z7Y<-CKM z6@Rusk!jB@ki*C)z+38`0;f3%uSHPZDOx|Pucn*+3bTaz;+PMV9SG+T_P9sUDUmUL zeX|d>tW*Z=MXZdKuk|KbmbztAlHZwLDR@Oy=U}UH*I)^!=~+l6u{m>TzUf{Iz5168 zz|v>hG$}xrgMxJbs=#S;-R zfBvFF3Qx0=W};HjrOyDP%yw=^v3v()w(LeoesY@n7N8SAo%Z^ACCuY-AOnf&t#L76 zplHLUY6>9j3SC#!r+k}2Y}Vn|QATh}L4ZP_>zzaoFo~KVdPr4F^L$LKtBu=Z(teTh zC~3@L{>nZC==+?Mw1ouN%xImdcE>J$@w(+}hvxG>$+TqwZPn@@#s8>Qj_lTa*YAma zPh4i%m5JzU#(|wcU35TH!a7-26efe^%I_Yt`byHzdg{UA0E)>5#}R48Rt5=13^}&y zgc161TKHoAy#J^^HvQ%)h0M?A3-f?2bSuTab_`Lda1ST+Gim(T5=UDZ8zSP5&Tjk+FxaIi?H>^YVkmSX@ z99f~7L}zI_B#=9mV#CkaByP1zIv_MQnulqRG@tEhX@-60!51&4| zUS`lWt3Rh?kWFqr1+V=GF)nQb=1TkC>t|S)J3Yq%TH{I`h8%Ze0@G9M&Y5LY&eVAX z<_^Nax`F4n1%oG*jyO@5t&mOo2Nu?O-K8E7ONqD^=CbC}qopJ`KRd<(7HE8tW3(iG z$FPAd_2w2Goe3F4DWGjbPG+5Wn_TvjA2Wd*{Vrv_bMj3V?h${|xjfNA^D`$$NOa2MycvQqa~Zq-3=WGYmz1g4)6)x zr*2B+RlitL@N4(!sURM}lL_m?0zu0s98$YjQ}o`j!4q37@tCJ()~`~QfQxK(wT(O~ z%CFxC3{s4j-6ZX_`8G3Rf|ceC?j;0rXEgg+*{C^GF&_t<(2;n2@zY5TYYZWtSz6#~ ztzy>Yw!Q7p=1JTH>fWZSa`bc~>~FjF~4K8nV3kx$RLd8{tF7XDB1^VcgJ z`vM5^?^6GK;&Wfz1xn68Dv)xTw>$%e;}-!{2x|e4dmQ^(sUXGN?Ei3p z9X!gC#lb0@RnYzM*7Jp`qLT0N|M=qnu=$olf0Z8}Xhiw}<3Faoef7_= z^6#Q)76rD1`5PBj`=34K-;E!Na^x?C)qXzuC!hXZqZ}l><)m?mqi6UB-+n}I*;oj_ z({qg7{b$efH|0eg_AIqbRoHp%$F+WDs zC122~T=`#AF6FR1GP4wt{Bu0{dvgDe_yoi9dN7xQx_$IjVWixD<0%F={}xdk-gKGG zmp#@yJCodZN$t;j>P?JQzpJk#5z%ycc+LMD_@D zb{VJUuw7a;|4l^VzofR2-h8yyJGaSvQ$6F*Ms~drY`0`r=W1*JQt~QopbjZ3VYe2@ zJ@>mZzpl;r=JEX#VY?3bi{3Gvy28?$PM;0D{aym+Q4pdg-EDSgx9rAkuEpofYr(zL zCjqg#+Fxbcs=eCn+Osszuh>FFQ|-;^%tQm$-MURThc%!6 zq3NI0=Svr|P9*nv9733!%IX$oW(J^3;d5t5$qCg|ktfu!oszm)b?Bww*%%*mXvwrq zo=pcWqX%spPk(Nc5(lw#ZvNmj{6OEhO!?B zq!iy-?^Z%4Blq>nThk9etJmn;)r{R-NiHO=8M_RX&QgUiukTf_kh`Cvkd6#}lg*4C zi-L1SN>Vv9YX6C9|7$y2_-Vj>8MS((QmG^QCQ;RJs z4ytC(ht?yyLUfIa+5UJW2WoR6fO0Nz-MXL?B}RM$od+e5nvj+-&q$Y z$m_x^KBr1sYoEGL7vxuGUa#iwb>&9)XH@UhAok)cJ`wiT(^fmJ_3-N>{;+@kVf;n! zzBF+`_lU9q`!fn0!1z0_Csl`v42Oe;PMcsmq_%zyn~{%hqWj#*MBQ_p>+#)66w{o< z&C6e_S$*z0h9?{t|Ng)|nf*`$$e5NLGObvE(Bg2p!!G;@+#&Pwx87d2x=ge5mEOQk z)Cuf)`0QRCUtiR~%_(FrHu{>wy>CdVcGrD!UZHL@L7ek>-0<$RKjj7xyftIn)SM1Q zM+?p{$ZDS)sETwG&2Bq9<2Z(B9Dt|oE#sbDcz=J_A@KpVt6!Jg$2u5hmRVqg0T7g;Y3Bw3o zrqsypE>!t!Q{5*F8d_E(xf7Z@8xbPiw_Damj-GIO7yQeeQTDPrsT?2jCpW&y8B;AJ%{)ktKQP^A%oBD?A#UJ3{BrJF-UDAs8kHo~LguPwsQY|2O_y@S{6&8Ge zOc$d4cV6<3#bzt;YTjGCKhl-|(jzR`1Eu!$-wF3W;+7D@yF3Czfk5!Le=DR}gAyxt znh_!Im*~C3j=kO_V{z}WSLXkch(Fg~gkK)28=^dG%fqCBT-SeGsge?4B@hUr@R?XX ztC}DBnAz0u-SC1dKE(VekJ%{ZrdwHA{;j|p%E5Ok@~;K{R%37qRt~JG4R1Sp?TseyfeHle2~;JwVCkfo9_^!iJe)!MrP$^`T8Gg{pYxv0&eZ9^hH!FgM@W-wFUo z|795tYMUmb!k3qhh$;F=*OOnG3i<6lm1_kfZI^cp?vS^=X9;mmFl+d}$VvAfD?IsY z3xFstOK`<`19%m$gm}0k#V1=t%cNJ(57g1R4K+ z`r{)|dzWLh;=|5P=IqbkvBP3dMvB8^Zi>uNJ$ag2IP6?>A+@oPQlA4UQ((_n`CqbC zx#tf*T`8cCzTB1dFL%?JKWa0EzmyWRaYC238b!noHrsCLW=UtzvsiShuG&c-?Gh-k z{p97BxHl)mQ9UWM)uYDBHeNL*u5Bb*x_Le23&Q@4jBW=0v37H|B2z`DY5Wa=q|%F- z6`GqEdxnUam=v?V=K|9b6JeKcQ;0(4uJ9e~wy*6nD?ERwnd|^*tZiBjP{iHU618K( z#eHKn7hJ!`3LOJuYn6vFk>M zPBE`&Fm09Zm#KLG;eU(eceq^owo{W!YLD*@lT3mqsltLeDr<0K^?63z+p}eIaiQ9> z1IkIl<0++5M~{HEGN0}}Ns0CyJb`1<`5d&{yxABv%@%+GItlIKVb3Hr19y>tCmm_h ztKA~tWEuEVuzKHEii@4V6-6067DEmbm8I&V)zw3J83a5N-A9JPbA(;>q|AKd734}*8R`9OqroV+W zAl3DnvXQH=$L&UY+FXam&j%?c-s$`NVy&8Ru6z;VXlVXiW%@BmDTD2aV3*VGv}yyC z{HR)ULqwbW<%Sdu-DN}TT5Dhn4ZW(H|GSzGBirw5dJ`*VSqdCz5a_U=O+L zClC|;DqMQll<0)G*Bk*PaUpjN8!Jr>@#SQ8jB$1EF|X>BMG0j5u<(K!Fi*fbkHgZ;&o6Y5T*YlpDEu~lsKTa*0Sw(Y^ ztSklzj>fuDBBli>KqK1jGct+m9(0JUNvRD&LVustet+9Qp=k|SU`R0D5hwMgZrK{V z!8PXidVwRp#c#nr zG?gU1HW*XA41?7QOc`19@%rScB`RjOtaFO*svI^r&r~s2)=>^JsRyyQiNGZ;&5X+P z4wAm$imeQk)Fu0Zx5dX5A#JKz$P6QJyIZm8F4%e+5lC<5_4={l6Ox|Q8l-uL<1Mze ztWV*jh{+8{r%&Pdv`^=KQ0aSRYM~Jv?~3SLau9R znd|)Z8k!U83-EeC>U8WV@ai1*Q4sk^U(g%B;?ObQ|>QddV{*_+RX^B3&_pi1hB#Lpkm7>Q;y~|+Rr9jSjt)5?Ej%GatLcm?*8}5^`1Fku^VHx> z0R0+H1?g)&0=TM?#OUWv(VC#$A{n=Om0XOGE78>=$hE?}_`$+>K2PUhoItDVc(EWT zQ9P`_2pkug70k+%HvYP0eO59_U&NNVEi(45&G)@)?zKd1 z$MmF6l+}!JQRI;}72pXWc)2w?J188fCPsVu>eS=yM5u+hI`W{MZ0$9{j9yz9B(!+R zzn{vaFs6wRFH9v ziX?PZ^Xl|XX>?(aA-tjE(Lvt3Dg(R8*nD*Yw7sC{EnwUBO91;hdG&dQW^)5YuY){i zF4iv<7LzI7?UbItD21wD=rzmi;#x&ib>pe8hm`PBPaVuB|Z+k@y zNU|N@;imFpCZ^vMkE3IYqDI?zW+3Z(%NJ|sK^Kyf?vXJh_snmJJO|Ydi#Kj_0H06W zB~d(E?CNmH&fo@h)I55 zfpS+*<&a}PIN0ELRg*S?#3`HY zYH>2pF^yJZ0H)H9dlT%ly4hO$eC_6OAX1A?dx+S}i4XX*>zh;wVcmXigS2ta>RP|# z0JszEln0y5uvB5|bY+67t_!Z3L&{3akZ)mtUyVvg`OmnWPZzsGo$AViPs;r~T08G^ zSWG<+J{{NfXI0D%RQpsMU8|i`hN%~@Zk`m0?@tELerokjoJod(_8y3oi-=HIMbTLS zjHKX-NozquF26jF#yC?6AbX49? zJQTB+)(y5G@yQ}tew_MP^u_NW)h{dAQb@c=t1S!jUnEyO9uR5DB6K#eM3Ot&YAX>z zc=5wrT=zoEebYjNedQoP&W=YZLaK{K<0UFTd+XHZE%;u zSAm%I>9sVC`-o_#Z$qLkOMr^s?FMD4>B;5_Gxg#HY_zug$Vu^b5KVWbI!XCnYo+ce z+>Q?Q=$?KdA$X>~*2;_NX|Q2wyz-uwZiOn~SgOMMVbRE`<6L7+VroRwZh7US%x!WNNR#8i z&-lcX>)*UmpUeR0H4l#fhnmjnOuoxpc4{Q! zvkt-rVw4HF5ITBoHv*SIO|OGgZ)_QnY>3d>(bQctkcestp-s{FkMOb5uR37oAoSpj z)A#EbJ_J}4`pZ&ghE>tmgZCYBBW|at{;|Z2ug&z9^~60gq4A)`om7Yja>nbNKDRhr z=n`gLv8GM28c2K@4XW5BkY+>{kI_1ZHW}R-mnF-Gxq(l_s@htUy_Bb_x8u#3x^mU7 zazsw+pZpAg<(!z!bh_BWI5gmfakJKX;}3%ySN+6B#`aOR!A29WKE$uo|8O$g0+Vjw zK`mM!Jd!$In}IM88g@b>d1k&H>iJHZhvC$!msQF1o`0;92LD4|9=p5aEZ}Kg$~wx) z`{7|6T*GcHpGe3NLi4P&iVaOz1v5}up2x#Abhrm9DE2^ zVUb;(64BO9a2bO`j^B~!Kb~4Gt(6? zLqc=h6*~*4kcuc^I2wv(Oe!W>FBhiTB1sohhx;V6hx2D5mONXkpVll*n$?EbayD@y zXJ~C0%9fwg`NT&e;FVUt!B-V4q=+`OjaQy{^x*BI)=GqDf%$3N8(uv#-zPKm$1Kkm zcBo-7?AEE#Fjy*G8sTU$L-S|}aZmY5l~v+Q^@MA*3`qNzwFJS2U1q$K>eHr4&(CX9 z<@~DbOOqfSEwF~RQJ*vU5lfPnN;P>F$w@ZP_|mkz%(lsXk=d0-V&v|mKm)r=#Z8&a zu|~8{1?e$;Z`IN3ByX`As7ih3_lwkAtYqv?b`*yE8>+1=@?veM^EjG_bmP%^BkVHt?JjS#yi`@9}` z8)h0GL;#o;_;l?#lrGSkT#M?ybM@@1zBbziXl{`BO2w#%@tB8VcIiFQnh7wCd4_qo z&r-kL#vVoNnxf9DeSbPAm2(2PrDs@Cim8rK(!g)FgqMdPJMF-F7=p+GY(=)6NWt8t7BVOmBTtidNqA*SBy)D^bbC-ZbJ#rTn; z@%f5D1=$2q6v)o2Phy7_6~V~dONCmS5rDyW^B(j|(_ZqE-H5BLnrB=nF;-mq`e+l! z-y087i4VG>I0+r2I5tBVh)SJ7B5ENpb0-@nm;TfV4Jf>~*Rm$^*dkZ0vwKGxZkWtI z!q1FoC=u_vqrlWuFHSxqDz3P&f!NX#ny+u{G99iZT3xR!{%Q}-C5!HkcEgL>^>}*m zd^^CED-IEw5|Zq!pgnr~#D*S01n>WuriH0ONv&z-71QRGM}L9n2Cq0=$Jics`GKZa z)Aik?M#&)ADqR2s{~PiGLhWuv=D8AC@w-PeCrp}zkd#Y#Bk7#vg55f@;>D%_vPo9+}LIBb{kBg1%89b zn;7dgH8%ZhK{o9UtkZVGNNvB`{#-AYG3QrUgnV>0Pk&r)sP5Jv$Jc|53xt<*Rmj;(Gne(@9DsZt>0e}(!uI;Ubgnzn)i>YeN#e&vD;TK zo9iX|GACPlYdlyB4yXjzfG?&6@(ePR{DaoQIod>4>^+mqca_AX4mV$$uL4{YQf9cd z*=kJGQPQV*w^kj~HQ3^lV7C)p4$w zjC2=r_Z{QUuF6@~Xo2EbgXe0xh#s%t>4V`Q(OpYSlHMKSxq^N9l}b{)#}mAn`fTT=wN4I zaQ(Gaq7%3bINHg0ZU^2@^?6z%EgEBtl6nR;U|5m}P+9Njq(~Pp)jA1Q2?p3FP62#$ zwc&kHQ+Wkd#l626NlujLhR@rsHAJ})J^4lK)`0?wASN!t+rfc`LRxtm3LOD`h1}S$*2kDAe{|GE^sLoBZ##vdu{I#3q zJlUCu7$jFKDicKkUp)&K8Mf!55nDtsB@EdJi*$&4Hn+-DQC;A(-4C?o!%b2R! zb(yy(_dYL1U9>V^$s1)v8H!U+JOe7^%~=m-NVRdi`#~|qg8*%rr%y_)viT8Cu=Ex% zn2!dcV>E?hDh#1+b8pB~7RA(MJc1{}V@1wdEe0P8=wY+hXJ!^mYQjW(1 z7F$svucK@pzE2zPwPjEzagzvJ<^i4d9*%g>Qxf#@@Khk`2RnI7_!W!FO=hNqO|Xf1ro%%2#z7&}+iV*o zB6CU?7by@GenP3=_`=-C?4+mK%rweptL$`MptBUzgdm87L>)g`YdAYr|xr zyB9;t6jJ+UAtrF_QG5$5N4Ql&gjaxNO38*a9@nry_GB;d;`mXY0^RE2G_tlF;B;tt z6*^Ye3kyC*s%zh&Sb< zfiS$uu-Qt`F?zIc^w><}VWEv$*z`1v#%U+-#gv;tUm<-Qg&DoILH=sAd0zM`%up9` zN|m?-SX-+7JQlvD#}wZ}atk~o42YvzKfE#P>dX}W)mp0+4N~#|f5AG|<A#BlVt+F9!~lWbO+wrR>SZl{5e3Y9)0D03li(Ct>{kXu26E zIEua!>}D&kvk~E!Yz1`QdBK*oS5q~&46lJack6?!0}l;g0u^EC|BtY@j*4pg|F{Jd zgA!4?k&^CiDe3N#QelQ1Qc4t5T3T8f>F)0Cff;(}7?hNuo`c?dzxV#0XRT+g`D50e zIcL}B?ET*Rd_J%3myr?R+lt{-i)$&YC9o|&&n-mIO|i?_7mABSJMyfDI-2i5g1k<`H^tYO6zUe)+39MyL9x83@)?!dHY<{XB6*< z{(IqA=e2n#0#Eb+mWeG|W>c2a0j=1B)mT=Xv#xZN$Zhid)E5*Vc$pd1I==jt;T8ks_=Wp|0yOSVk9~Le`5AWKB{ZuBD7f z4s7r1e(&sL&XtR8oV+=}zEbbQ8yl4?Z|eI*%xT4ufN6r`$s&XE*U+j55&YYd8^UNi z!X<3P&hv1u!JX`uNal^66Ex2`k3G4Ft5WbxPNCUk2NkN5%F5c40N2CdywSP;rBFD2 zdk7lDb`X`1C=eZWSV(rl=9+(rlEJ;=v>}xVEy6aQk;%kgOE#Ov>1pNHWe9yrD$ko` zSue$~k#c}v!EQanO?sc7BaT6$yG+>Hb2ANLIWG??)u^uK!i!Wf*)t4jB9swYde23T z3#BTG{jqQBfK8&r7R=9Dk;#9argGB6S-i}obpvCAHS7K zibi}}wJqf|Wlz@*3&fg&%*FJfWs!lHK{rZ}fu(o1JYmLYhU!@Qa(86s{m+-|`DE7I za%3kC)<)~emYe1&cl-VAd+(pydTNkI_gsy#tL@V!R)-pcObtjaZEq1!x=>{(ce|w~ z$`eL*h*k!(lDpt)42x#rbNYso9nUfz04i*d1O3;maO9JI8L?h0gL0}EI(?*IHKM&t zOrV`RhNV!^d==Qu;WBDn?_4SsKwa(6k1G`;ma}HqDG518*v-A$%S@*PjbjAyQBT^N z2T)xzdkn28w~JA#o-(gO2Lvqzw*gL=23${KLKg9CA}}du&2Ta&FV&iOy25T~TEaq@%0jx(-(+aj~ac{+Yp3~9qKsQcF z)0IvHEK0jzF3Dx(`jp$Jq`RhF)w;MG<-GR973?@d;egQ909w*9*RiVyF{+aDgo8+Xuz|pIhh(+ld}5yAOcOGT zrXR#UJqLMOtleK*jbU|F$LaD0OZp_i$A{CTwLj`RgtpxtE9{iLPW>Sh{hn&v) z`GJtjcQ^EJJ1Q5SPkyMfI_PXyY`rt}J^hE(UX@QYDjyZzmp_o%=OIX?Vuk&}$o@T7 zG1sLgREA2&dVNaPTZC%4j)+V?RT0{Na(f}Tlg}*oNuO{vD@WMXC?0H7Dm}Rr2itbCgY+939^?2ndG#{aQMT!F z?Iw9yGN}Dm{m8|)q&pP$K1oPj?)!xlp&=J48f#X0?lYzRsDbGOi58Mtuwy8%6%bfK z?nn`|!LvqPjWVcXLU=}0;#i2qbRF1}ZMK$i+j#zZMtO+uGPGJmwCT`e4iC4iFAH=& z=7ZMOG#>9EL)CoyeNJ39YIhud!JmewsP>o~=Sno-`K?+a3rBp5jj9XgMao52%>Zf- zcy_B9iGe3NDn=ReeC!h!lW@)`2BQXTYDdDp5Pe|FKdy_ zog|_jM`M1fAT;(>-bXhI%T&E6;63k^J|VEGtT}GwnZ#N13yPuIQGv&jxno4P;l_g8rGQ^dIpS|hM=1bg3$N6OF3%vPJ_ba2f;lywX35RK)c zO+xG}nM^oMOd*IRE|^mjO%QuVMlXM!5~Tvso&M(()iqufqDDz=sL;MDRChlO*`*}= zL|%{Y0dbENSA^FgF<1Apr*?QcK3R%-&7?@#fG=MtO47lXF*@)Ev5=RFcvWpXLLR=jTN!&h?~^BEjMofO`KW8nA{ zcek{wL4)Wc-_49*QUAr-t`MSzyHsAKMkmmnV)t{gD<|YsaML)&)wW)pn44Kb>~i1z z{E_uD(!v8OR9#41*JFX7J^$Edf(Vukq(Ea!N0HLvS^ zg2~)Wgmhq0T1gw05r!zgGHkwyB0&`2v2UR5vfu@d*>mP4D zX#fB8qjODp{dJG$Zx(=`>)bb4J>@rx-DpI#*6^+;srrQzHlaOro{NK(vkqkCZJHJ; z=pBPyrdCeKBTH5toOgVR@f+`n$_@xSOfb4>PDMM(CBh=Ujad|HM4Z1Il-%kscFYwj z;W)yW-3{hC1c@|ICQ=Q^kQ@rxOv?{CjpbPm3M+9mg!jD~bb?C@Gft+3<_8xI@QyG} z%ZfuXM5n9Dim1q_cDjknvAMbfgbU?OED;rZ_FoZI8*I}Q2Q(1~sZdcPJZC||6Oc6z z=-7&KstQpUn`@4JgXuUiWA}$<&IM61jR?E+g15cz$CSa#7Zr`Kk~c%vVgg0K zV~xiQ30VUBP642U{-}{-UG3bw!WUHbX{TXC0~sMHEbGBso*%GxSv)PsyzQa>DsbWa z@o5{g8{&ZQP9Y+W-DvuW-vC=p{gA-oAcf1W9q=f5XE)5j7x27iI_lRhm6aV}v!A{7 ztT5gu1N|~u)N}%ieGV404fnqM#P}V`?IV9OWr*XxO2KEI-V-_@z(9#Xx)sCD{(!Rg2wR&0C?SBU%s)b+ruMef{#LYwElO!BW=|7~QVi?_b#4cZ}LH4~)nUQUJP3<=zfT0t| zpZ{?bg)p|9g@H%J-1e(K(SK&JM#;I`stEhlO$>Rh6yv7uF?bKUC++e{FuVzC?6Kc4 zj=JC@2BpNXqJ$_#g7_zv6G|i6Mt#o28>~zC zDVq0F=aCxjHFggDCv}A>0yFr4+W`MqlS59;GTyZ<$LMDKQO!m-f6? zz7Z3VFtsG5nRhuiU|HaVV9Tp#gth6HNSB&^a^|_NAd7xP-PNL0V%d49bW;WaGH+#= z#gq!6KPIrc6hUck+p|<0%13Lv1r0l_0;W<;#$_e7#$1Gnf#? zlH?+d>6V($2#ZFWYS-VLqq$xP4#r|0f9cBI<$SXWmGE{`gp{1ww<(HbG z)AIobw~3O5hRNa8W^A9@U}@Yl{X~@stm=9GidkmcqAI8}nL{N$9#60})WppVKAe`e zwzs?oeoJ@Nd6_m^G*R*#q1RZw=o?_<+U3CG!*Qf0QGL8$O|!&>-z?FG<>1}ZP*2r; zy$tXfkXY_6@oa{xZfU;=*XA73;+sz0ZXA2*F1;P&jlEu{=A|AwjnB9XeZN;4A@F@t zO(%C3@=p5_yFPg)*@9pTLK)IcvXhy2l^z>#x0@4*M*jHV{*v_POYH8K#Jf9pSX++o z#>+!>?A0nu-oGz*nj6?5vN&e|$rvnid3JU`ml3g#cE=`J{!W>PmD<~5R+uL0>3J3@ z!w_m9AZp_qoq%{b_dE`S)m-M^v^%|j&Cc@R)TVeSGSj5x)yIR-hJA!n{2ZZ4&n}$1 z!X-7#UAm|ISjE7?c$&SNn%u~v2y382+%wck%GX|{Tvda7n~<^xrdwuIc*Rc<4b?TR zEgn^4EqQUhOb%_r{oq`1G_RDh*Er+&T;kk_p5V}otnt_*=dI@WFZ#fq`UB$rd zCEy!B8(?p;$m)SwIW7myKc6nGDQd{aJ+IC7bGU7OZ&dx0&r%<^LUx%vU0F?PznvbJ zYhesGUC!2rdD6U?JD72wrgC4v!nsye=o&tg8}&F#es#7t<6o@a(<7~qOqvR@d*C(W zv@{d9T+8&H)gb<`+p;qOdS`%YcVVzxz}fyQs1P|XDi~*qi*6aG6Lts-z%Y=~?afvY z-=KuFml-AUt9W{1R_;kmvQ6Wy%?jGotRCCKKfL~~q_2BQoGh&iv7U9yDCWYfzS7P< z)vq00j&BSXxq5y&UDGnrw4RX3tuy>hHpM|#Kmg7I$=iP?H{aXfF2)pI; z7*ibI)(qpq9X7=MP7ILMa0ho?aEG!FK`Udyy^!DL_YC=s@9l_i&Zvhw3yYI&M=c_Gc=1zWYVi$iUB`DQuS$;-&# zlmnvhNIVSD>3B%3{rTjE2h+%~T^<;#vr#$7ss~DbY%aH6bn=KW0k;c+{ zLNio^seFqjPOC)oUqVVo#$U-dkgm&Y;3@OH$mfwUi2Ae|RpB$GSYv?|gx!BsZdX(Yj&{CqoVvT{XLyow3PfYT zF2NTR4kC3dCv_v@qhg07Y9kBp3;}dN!`Y=OukSnb54kEyx&xmiMT8kWG1T^w^-HF6 z4pC{_Z&{t~-8{*(O)hJfp`a4CCISVq;3hluxpzcGD~5pv1;=wOo^8I`k5Q0}Y+PC3 z+1LJL8AJ}x*!4_u=1hL)pG9T5sY$Dnxu2E)-^G0IwAHlbJg4IroLQNA^!`OCOFCy%iCMya{7|yK| z?K4dU6p{0xXbO*u2=bus@uAXF7BGlrmCA&d$1}~NOx<5@ub-t5gmQce9Df`GBO+L` z(KG(;`k)wy$ zn!0(;8AA;fY9vjaI;b7l)S{$~U*-}>h*}QK>oq9X(M+?VQGY^z0*WVm>rpDaP{vX; zf_cE8g>`r*x6q`Jd_z7FL0|`cS~55aru8O6B?Je2iU_KT@wS6px|eR87^e3f;s#frJwALJNL9O zwncim*ms%NS$NG~T7q3vI#G6CpjH&TTLSh*tC8<<!ZXYe;?#a!WyIdEk z=RSGZ1Cvtp89zeMMy{-2iPcGQfh{vK(=mi_* z7I6`6eW;r17P2`nte|Y)XDMuKbgdOwoBAG|_JV)+J`3PkEsTP`mVxI|*=2?Mf-1Kl zex)w6LE>KwRLu)19xo|Y1<0rx1z{d_&Xe@!mTBwlS0BGGz6Uzx=}o$RhHiJ2M)ZMC zX?w$5Wd;)eMd>pRtQdoIjeIYC>qQeRoGrTg{N39l0WjLRH5|>`$%sZ&@9Rm2810%6 z(FF6p&GSOAfhpNJ{kd{kjYeFU)=sF4fT*8VF%FEt4LdLy*C1=0&tUk?IxvlqW3u z&amQk+7?1FVY_qVL%|*n8IdD+<}x|B-lxh*V`*+`D*r_T|B+2gekfO+i5etfWwF_9lbFO|*u2!9$V=63GG}@rtk)8<2v3_l+ccbNEvnx zI(K`O?iA;l#FqaMRb)=OwDhwpA7<+525r7x%T*Vs%p5wVjw!^;hh2JxpoJ4g^K-DP^ekAJdV`d3<6K@`ZYi6mWWhM3O*;5y zSOWDg`K`V{3R{Fd<784!nyQ!U08wou@d2A9VyhbG0ED|3VL~6m<#(CdVbxzl&9v4W zooiYE8IKD~%stIpi>L~G=ePBQ(f2bJt-!-%QIK&ZOyA?=sj{a=WjS|X2N{J528X^b zztu}@Ry&wH*`ACo-(<_{G&kI&{_;Jo9mUz?@71dnY5XhNL~`7v!Zzn}-^`jiz79;! zcka9{0~l6;k?U9YO*Hq@;$-{Fsv$@NLgwQSh5RET!io71)h0^mOIWgeVUuPe`XEW8=?I8PpXKkwzVN*2;<+ljYGDo0EzAEFScQF`L{&OBYFr;qE4s^V7~XpR-j$=)Zp2j(*x@HVxk`)nVR9jx3D9dvNU#|1q;5|eWX(*1WA_BHZJ|8$yb{@S!#dMgak4m6E9&2U6wd0*|=(>ep*W1oi*^JcX zIG^|Rg=eH)7L@Sb-mO=nbDH|zlW$#>vBBUyIuyG=m<*~@_53vOyxEE(J?k{p*+L; z{O|TM^WV-$FrV^ncKFcpE#_EK#GP1frB~LGRB`=WUXS^PM|#^0q2O6A1DK~O*Gc}D z04$Y$tfG{LNy|3_)HNHX1;FU++xU2Vct~mp;-j{Te&6O1`}0g!XGgF#-EU;|cx} zRhVfs%#eWjL~Vv~hU`Z?EGn;~D4suoWjh%*ye%7H@m(Yi_raA?pkC$EoQ$+O^mJcAE-9+nU*Y!@j?fQCzur}gSVVEmHU73(QZ3L*J?u9jH&KDUm z5=)%-xb9dH7*Q3tdiot!CW7pX(VCeehuPih`_3nds*ZjzO3W#g_UOM~+q z9wc&+jMn8ZxDvKsmT!3>$PF_2vw0Ni@`vk)7ax1BVi~xVd<00GcrHO#UyJW=2e{O4 z38%A?^_)B~G8G7`GVdAY)6_H7XyC7Xd@L|%?X3Q2Bz6917c;s%DTeX&tJM|U7i3dHoZ@$=Ca43+m_ZZ_p+CiNp#&F1deUb%aL}^XC01+1U=ZgzjU!w zH`873Z*RvsNg?%Wa<)oCj{(+3o!h32tFjtfr81O2?wBetyYmzFz-rcq)>XH^n=no* z?UKXKTlcw%llg>2gK!UM#6*kGP1)FipF;=MzrK+6;)HWRu?i1|Coq571oy=|l6z`z zyxSQcF6!au?=NM~Wx+8maPUsLuoxnG=&R-A3%G(YrCv$$Zv~gPi+}B{1i=M!X?U{7 zo)qisDlxAaQG#-`io||&o%-jWrqAGnM*2JuXHKq6pcK?=x6>^&)u8OgA~|{6VW`CC zzDagyyGF-RRe_lZy1hwZ#K??#(Uh96)xZB#vlwGL_?R#{1OjyxtBCOJ?5Jft4OA+` z6Jp|e#&^&jRvGm1RrKI1@Xwn5%oP5?P*6IvYX8jor23Si`@_9E*=&I^sA`K*b+^xg z$G`T3Rm%tux?gQ@mZ+AT8M}kFQ(j(g2LB{14#|;oO&yEsU%Gd^2SI+H3@-L~khGEv zb_vTKE%_L1(g8Z2a&3CDC4p^SW@q=TNh`%A|0tjKt}q;;mp!CC+16O)30CV$K#gqx zg8+#2F)5d*!KnO$zzm$g?|UC)2|p%+$8C*>L^fkyhWB^da1?-um6OlDJozTVDmzL~9QFcUGfiQ>x4OLA#($#+am)#_%nNLzw73NJ3>CFBbFlJFQX+_9v5=SF__@_rQWO+KyX8;`TUnNXv^X$F$j3v$2=! zpg|hu$12Pc*{s_N^2By@$6nwGrh8CXkHMc)VQ_Pb?Ju9*laf7oFyCrzC3zJ~7rPJn}d+i$Anv#WX3lI-du-soG3v6LORx&Wr;W zHTi1ladyP5c2&9>DDz@rm6TLT#Ul#_4{5Pm zJ)x|bZ&^K!Xw?^C%IC5STuEV0=H>K-*TTOV?pruBy>zckI#^2Pi`AO+O<=zzi+E)y zH{J1;%b`C#Z4X}WVM&?Puj=Gp{%pYB;l$f{yS1r;8Ef0R4tFP&tI*2@ce@*8oV30D z&F%PJWtm$Q`}WWs!#=6}5wNC`X&$g0i*c?m#yatH^3lD0;hGGUXC2u%^EoeU7V5Zl zP)Fkq4|@6+dL(=V!gwLl);bfxQ{)*STXq()9q^nrHjmM?hwSPPc2U6D~!@^X`RlQ2t1x%_cB%Kyf%6r zZ)}Sfi=+eMV+l&(`tL7)ah65c$(ry{kFML`RB>Zud~n|-!!}TnHK)E`Sq9A|W=bn; zGq(}`Fjs9|S;TR||KSRs_=rky$;%G$gxfnM4gqW7i-%6kh%gzx_f(QO>yY**J1N~{ z5tB84b}#hYbTLQ@dLsJ9!7k~C)mcZa97BY;M>yuOTpu+)x%XY`NCuhuP=){t-%B)} zm;29f2C#85hx2D~&+C6{nuuZr7pCx^KYu+?@0ND?hS9&kS9!chZkO{|Wt{rXDTvb1)AJ zkEOZkS~h~wt7+~f%$2otUjN*je`2cte0dFk02Bwb#{UX?{+ppd3WT+f-%9=Zxm6Hf z;S!4#(Wz?rr*;7IBu^C}uRwGQn9(g2C8?&v*DCEs|GF)wHBdWc5--R+K(SN?Y#myB_bdU@-)vLfmUw z)OT(Qo6ZFoU>N?3|3VmUy3$!)Gb)B0|6xEBwZF)Z{~>v_ZYTkhWqKoY%916C*r%)8 zeD%wz60bRaLjySH{>_aEPAaVYFExOMess$HNXJ!7-)+YQOOr#MbCuZ+QAEzL(tu z=(kQ1=r_Nu6S>T!awh}V23*5O+2%ksiYGNwKlb)7+-oLOMd}01exU<+V^T0gefuM1wbYfF888;k&$oZPSpt>?R9zXbm4Pl5dpK&>F4n3! z)qmU9<0@kA-5spCj9~Iz;fxZ$gh@HUJZ8N&@}V z>zrKmKF020RhUn>Lu<>yR7o9C^AfdgVtFl4aYFlsq6PrA-VkW$3pD{>HG0k?8ao5= z#5dzu4OVPMzQ$grxNS2d0Y-Vg$ib%NJV4ONgu6t{AAYqt3nAhdW^1uMGx-3CJ3F|G z1>3mK{>4Z;jxpj)2R1!c$5uD$4NyG6YyGk8{CGO3wV96EJdlO~6QgMHcr~u&kya=A z8mPC3oAQVP>-QDP?9*8KUDL|SYDwG6?u*Z0)rDp(jLPvt6x(>DA>V$!)1dI- z8m1+b_4x+U$Q!T5Ny*SMsRI?&RO?sL6Jf&*i9mgzXxS+HT?c`4pY66YGIS#~i%EU+ zACQqI+HP5E>(&tB3J^ug_f74m?z5c)VZu<^O|b#^s3+RV*`E8{7@H}8>6z=k(qRwU z_qo1{1U9do9XuwC03)AA3SYIz+t=rdEGb_1Kl2GOa#mk&_+E^PHrk>HKX0sYThr02 z6LP6`c9gvJ7NFLA#QpI%r>1}S|HY{Rs5sf#xG%=ClovOV%3#x!L^9AWKXbxl9^j^o zY`GBE0~@4yaz~kE1LcK(!AjXrEjNvy zdOtj^q4g2s0G0ah@~`TW;PpJ|mfcB!>}(p#=F-;j=oN1_4MU>5HoE=>?#x%D9V?&y z^9pN9>)HT6=C>Z}ue4Ujbew!fM9f&x#sXJ^%oogH?<PhxWH#VQq>?5+Kku~zLRK+0in~h^nf_v_Swx%;^#eo3?^jmH1)qNJ`F~zofdr=R zWF8UgE#59PRmtQn`7WP5$@FN{T{Khh`(C)Bw@<@cdXw9jQLU6%M8X$epiVt$n+vED z_j)L~i+0ZX4Ti_Waanej!y8n$Mu_WoLz9AgtapO}{!PM{jLL)Ccj!FVSWMSbPa8LC zA&r*rM6&Mv+Pow)yVQ(Zzh3xR9i8ZU^9D#D%6}~2e-_FnrCh1-_k!%PrGgY zEBi`^UP$~hx$Wnc($1T=>xOhs0-R{m9a6`K_$dkB{+($`wCRi9CI9_bV%3Uz<-sZbNF?4l_6t8?l96Kg zjqPz&#nc(mrHGLtt3-0*!a^0O{)K=+!%t8)FC>rYlYvJ4O;q_aZ?&f1%z&?WXnlY= z4fCtNsRZffR+RIf*^~|-ob}&R{ucD#6CyIDf#k^Htma&j@lVmPKmWy$P47F_mhj+K z*J8Go`*?$gNmT}g%7}Vun*2uSn490@txM&1a>T@xM3-%KjL|n|RhgDW&$48b#{Hb; z%hp~dewWt+s1X-UdXuj*gJH+x05k^97plfd34jI#>ir+GQ0v3dXc7!MM&`TpcSHa6 zlX>#JO=g7P(20434sO5sNJJ&UA5~PDeOZ z!jA%$8Pd~a$&qK#Cx2ze$qM|2J)o?pcGF9nJOS463rjXgp^}lN0+HWIcxZbLm&?Yv zL;wXQFF)*Gz1BMVs1+wc3b&=f`X}{wXg%0j-B7*|_dfzEJ-Los*UOuTuEm3q=D2kR@jy>B{EA(UIox zVdFPX|H;J(xMamRh6R|@b8fHR#y#z{y9)BY%KD9*^7kiyT!itTJRSxF&;XPo^Bn2V zp^wn!yC||}C-wiS5=s%!V-l|;q|A6ulLas{Cm;UX6aWjno6S~k$wZ`v^Z4(^XGfb~ zHI!9VTiz+At|EH^6i3dQfe#lSV1?EDN6fyrtEE$u6sVK){mdtcpQjAm-&(tX=|+hK zDoMJh!c)kEI=`QN?s`M`0+2_Q!0{-n7xH7q?W?*?*`o1H7&yRY?JJFWVeK zT1lWr3erw;lHG%=AE-OP+;|i~IYTkg_Kq{TB1k{n3w;I@C{wtCRL>F}G=KTUV$|c! zQ*-Qlo9nH_%H=_V&bMLp;Bay#oV*yogf*WR{DoLlL+5rzDH{3k(cF?Z+<`oin%90+ z{$-N?DfM0Yr{8{qrI={av7GKxKluw(C3#~uq^(+7K*Ri`OK-?V2yBr4QQDGzfV|)0 z*tcqGQy4dyvl68L!_zWXzQ5@uoI_w{F{5Q|yH~xo`v4Z^_C$!u*SAV2?1UD&dDD-# zZdXF>C;(ZmP49pCtw_D==h+^cd*#%ndT;Cv^y(@7|I8rW2VEz0*PlvYRjFZ*Rb4i*?Z6 z|K0i~dFcjYR?8eEP0Q(V`^dxh$NF>98`*rLobztTX9Yapo&HMrEBWCgVuicbedF24 z=JS0j>10iV|1)&l57<&6&D@)U8Y6zY(XYmTNgWUj#0|hSVRNh z1K4^E+9X6)C&6v^n;2j|ZEQ1czPj!sVyBMYyUmrPV-kVt*M|4MH)+0^THqK5qx_u}&%2(;mn@>=k;GFQAyC5gYti0c1`45_L4f60)& z6@9OR7hMmB00#=N%f7_kr1BY(xSdIK$<)_MZDcKCG-)=Zh6?j?O1PseP|Pu;!+XMx1QZAUQi1nFvC* z`j=mfZ>;OzA8oow+vp0uT@PW#Uvn!35|_;0x7rSTyTj7b3v1nF*IgxFH?~&+r*5c? zUoUv?@5RA|jYbj?rhY5;Z@i%UP4UkGuS_R-il1-X$7EZa<;i^$8UQTz+bbb(APHG5 z2HxA8q~nkB%3sJt^cy{#SVabm>YS}l@}BA5jVM*8WEprOsGmS?PsAO>4Gxhta)w)JR4$A<%%3GaBZM4-qRaICkp-iKA=RtWJKtQg z3Ku_F$Y)ls#%)bb3ysIkmH&LctZEfk1yTZT7Z;ZMQFhErrlDRqeoI>xoCuaheC4y# z1v{mxQ1aLQ0*+~tm+%Uz=`l;0J+bhV2qzO^!m2h|0-p|dHrBb!mp34t4>yLAvQFQD zYKHm~>!x9LbzuUqUa@0lHJdnZ)I{p`!ZA{7F0jPw1HfMVl(e_JvR|pC<^&vyq&6QV zPqm}!dq_5)>b<)FB2ap)(ywyWHw5qvjSGk8#r?85B4WExWuCImxel)Gx>ezG<<$@f zScx4Ic2hsqCn5DNPzJ=!%AiJtP<99Bayq3Y|D}eWS?KX;{Nk>Sm`%gxf<8ZG6V*WZBm2% z7;VjYXYhf4po4C>5K6&4%dgzIFFW1_@)xx<;0k}nD&p*NM_KGYL1Gr6f?w-fs`7BiyUYy+(8}Zpir1c^Pi}unATJg_< zN`RxY$YWyn>v!0ZlM@RYertB{-N2OSiyia-ZFSt}fXH{Pwe$Xc6@4Rs=M~uD8mj^C zu%$c1q226YT+j6h5MGM&L89^AuW2T5SMiv)Zn~~I}Zo#qe;Xcw21SHnZhcITd z|Bj#L+yMzH;&t7VRD4&M*4x3M`%Zo9g-$eR}cgvrQc|C5YW z1$y7@y%wXscQ{c~)8$_p5F(~R+oYxbDyG~A;I0~piebQcbmoQkHyaYmQm>+j z8^OYbsd8odLodm-L>#!_msisw-AD-}2%|QwF@|CSTm#Bj}SqcDKb>wykG? zWZS*n-7WQcA`1B3LINkN<#*8~bc_%^%RHg&slTKf(St?MYtW@1;RX z97=6E0jmwETkI5GjOj!9?ly0J?*sxBy?mN(2LY6vuNff7{KEO9|5kwkg!fvR^d6!q znQvJ`>w@b3iZTHI z26y?KQMcn!fCcrfOyd%T!qj|z{obDjLwd~kn~Z2F-j`WL&2l$HYK^3^AVgGKEvdN? zQGE4k@w72BuvALN>9KXj6DH+HhwYs6SPGw_It-dZDR1)Qnu*$7TXq27842iL zwU_!hxbq)2xOIQ;RIc3)f|PJjCBEUMPv3d1^)3_ITy!ao>r_=m`){&!Kr_Ls0fp^z z$;oB)hp+6Ks_5OB(&b`eWXJ;^S@lWX_um9;#asow9#O$Su=dZy_FKM+7}M+A2Dqlk zU;ieoaz@@1d9_l3`R|_ivszLEG+npL0^gheCMy8Rn9hb-|K)y%G6HRb5ZWiL`qyMC z`4S!QDQz19++JShBN$b2`+p79$^Ca<7UPDH+Nv7%_|F>cuayX(B7rXat&4vb=1(%Q zI(h?G$Xk+cC(RI`fcF^w9s>WFz9pFhSip6emBUPWfE@dKTl1fvTO)54x>f`XkpBw1 zm>a#fHaj)*pE1L{_eSrP-;b{UZD4BXfNOh8+I&98U#;QjtX_HV&lS_urAJ?OrhB#i zW|bZV0*2+Qu1f`6DkCeYh7;p6*0(5D~d-nq7f!`=FH6rS%vQ*V!rf#Vs-vD%-p%gns9IR zK1Ns38a22NC+EQzQxnxfxV*I?RN3Lkm_lt^wwQe(eIU8ADTdbR`(7QrfUJv&n62l^@y}gLXVwZ4sDK?1_ z`*EWfKI84(+j9j(;J&Jzv{)#3Yd3DLaIm4b{^Cz6Bs$VaxPd{>w{@ZbSIB9)waROG zT#$v4yZYJ3WUJ3NIY}zSQCSzHT6w>$SxBwb;h6ifVI`=~gPV#yVF78nR@s2#znGglqOAH}3tK6uMBA>4kn1STcL9B<%K6P9Y6L zkQc0;ClNnwX9Ah@%dU7N(~8p(-LqS=ZOL;!d@@B=buSNt&ABGW9b<}d)YZV+9>rat z&cThKhAPT4whYcOvP_^}M$LNH(i3^z;ZZZ2Q?E(h*3%_<bP?2v(XZG3*jmt983p|Di- zh+RhtgoC{-;$xrK52AwHY^$3JHy3xgRnE5FB?Kre;eQ-nSJKfk>qT6<)$QUP4<3=I z>&cr`As+v{4$Z;o{&go%BfoI^(_(5N%!ykkv$JVb!+oSvMWgO3lq19X5PwDWyFk3R zQhfHuTh?@-m^Z5tZUqJOOX9ojzn=QjwRBlGjeYzIWyz;6Qg?V;j4R2&$OW+i;v@&! zV;aCv=C7O_hC9h5b;caZv!k(Vr(gqCYC=}M0q*|LwV*{)OsPb-oP|916IBj60srCP z_KwY36|-K+`CA*3$fu&PI6$Vb-9 z+-J)VJm<_E!`oc)I?@A=<;feAH*s-srX*b<&X#Ip0>TET6|N!uT79c%7z6&IZg25i zr5W&g*V~ACj)k8Q;?a92a4&V?Va4?onsatNQ-wY zCf+S}k@a3@L7aFZp5@?<;kR9{j>6lYi--o=s%{8*9o(A5m-9DaDBe3Wh%6Bua*7NI zW_5jj7rdVrX5^9b^`NLa7cS3BbM5$w?t;_5S)&i~?oQb-aUnNduJf9QO_C*v;DOA* zXoLF2RW`TJ9O24EZUp3zE-bGMFtDv zgfn0mca+)p%2IV+CNc6JFFIB853P+jYv%qqQWD809{Plvp;_>DDOu3PBuIH!WJQ`k zo?;k(_>{%}UO!DU^Mp&PW<+Kv@Qeo>u~IoNCF`e?tJGPQavra_h)Yur&wiXMf-RsK zozdWuZ?su0-~V}Gop>TDd7Z5tQY~C5#v`_U2W7QxTOLHUnlAS9@PV(WV7JRit`_T$ zxxfnOeRhr$`DE7tS*taDGoNBt-koxi9J=okiw2jGxw!r;rv&6Z_7l53qK+Uxxn=Q& zXdIB=h*)I?nV#&}_?d>bXyZ3R5I5(swI8waNww_>*-*jboa4T3(p&*g=cd-7hv4??Nf*AVmwU*u`@g1`C!ds86J|^ zB^{d>tt_fGcH)uTb;h@kAtcJbOilSz5yUhrH)M0A?e&pvC9 z@J~a@$yR2AuSnL6xa;hx37lFpicwKLc#PnT+6Qw(j-&XM<^7Vwj(WBF6%S#ad~k<$W}CaKXy=5O?pbW^g$Xy9W_JTnWR~lRnpQr`_J8 ze?}L4ytAACF^3PQF2}TXv40i!-o{(A&Sklr%h2FkD~ZA@Fm^5X-U7>Uu>1?l9=@I6 zLxosI-(Lw1p7=H`cX`ke?QAc!TH>;c!pYBUQpSWb>7+od;D~c z1DGj-b_~_yiu&xN{4VWL$I?$-9YbO@i0ir!B|l)l_j9RzD9hj}{DvJbE&_2@>r(F` z-P0qSt`1(UdJzxQvh(MpwT|!p?vdAQ zz(r~5N89x$(C1I`NS^3A4{ZHEWu0|gR9pA|5s+|5=?0OK2Bk|BxJrkFARW?;FvJK* zH!599OPA!(B@EqgX@+hXm>KGK?sK2->+#;-{5NxApS@@Awcq=*&syu})`>D|FTtMr z{MU0BMsmOG-U!zTJB9zf8AENo?$w_*KW$6=qEAhI{9e+RQ)N*3O7O{^!HJVe_kOA9 z%l5ai6_9-GFg0nTKc1B2ll^o_)B38ObQ0t>+5rR`TIo9_jk~h=lzOTkN(PeD?mxe< zU}!M*MzfV$zEv&0FiM1Bxtx+e+R)Fp!wG#mzX zNac@ZCx*Cb_UUJRZZ%3C5(-}88g6D1@|5%WZfweI7ke*$dZVMdoeeI-Wo0uBnob^c zirX#mGH;PXW{)$?!_#NBmvcAS#IldcH!sD z_0p5X!yHViTm=q$f5t~O7&&F&mbrV-fTbGMt$ox^6E^d}G!hIWUhrd>-*@K*giuh- zOL~+~^G+nQHK|jQwmY83iw#Op6GGiU6#Y4nVW;_g(l#0@f4cQMLJ}laU zF1}x?ui-Lj^-~+Gnc`n=^}kBAnCQ>@aPvnTdU}a>Y2ndJU9G0vX{~6w)+yS(N-xZ$Uhl3qpCg|C9UrDSF2L~ zsh3hZ!J2M07uO(KZ#x~lm-&wGwD+21W|%yHhe_h@gR!W0z8lXBm$Z_#_=UZRTZh&4 zITT!nRamt*c+0Z@yQ~;e)S7rD?YXdi{eqqNP~Rpgkaci1m&Q8F{mvTgD(+S0v9$ZS z0!F27_*qJkb*on@z`d=WU#rg^oFbP(CH^x$>vs`Y`Du^*9mI-oIsF< zH4CNk4E{Y6IUu`x90O4>K*Su`FdhJPhp*Fnvi*1&V3l*N%JI|3dU3`11EPc~S3TQF zjVATE&n5J-*eYss@|(XT?_qiQ<=BS0Oo33o@I>aZTksXAMZp=O@QjUZjCJB9!UN^j z&Dde7@6UI`)R%wOaN|A3S2HvyorwB56 zDmm7X#=>2m?g|dLp5#saaF9k<@(5E5FetYAI15Wn`BeM8<4^LQ0mXuPmA?jlUofWS zfi;Dmb2h)dS?@oSCFA2=A~Tvs>p-Pv$$3ZtJv*axjyX*Z3jTdrwdbkX0O8Bu{TUEPfy2RmuuE?^9lTJLKMdvJ5FHrj@Xy8y% zQMA57)NJdm)SIOhIv^XvJPL+QqqmGR7o63~FPFEi)I<@sRtU$Y>v+hNbLHMkB~JFu z$|es0aI<>U7nQa|4TvsfjUc2}9gl(xm) z+T?9qyw%URzM0MbG%4^+h9j`Ef>h zy={-t1nS)F$qw}!^4YNdi+tzGfe_F>n)v_s845o_f}Jj z-ES>lI7J|OiZ3G88&pG$-nwD!ELWb8`UkLJ4J-?UsTtDsmdz|PgsHH5O7$C8pXuI9UvOw!u}$zjns}ITA5bVh zxGVqczyB^SYK1I}b@z0XD%%t9)dKgU1I~LrF3Nmge%Z|#@DfXODr~oL^=%A#Fo-!e zJ;J3fR$CN^j5aDI{K9Kke}8eDPuNf@*&cnr2NetjkH>GBe1D|yKsy+Ru*fyHBv_tb zQyvfRFC7U`$Nr;rZ9K&sN*BpDsIi{-tWNyBjfgQ%&>2cvYk>C_>wdO$I(mo0V-rU6 z#Blm-XDBD1GZO#ztMLK{RoZX4%pmoB$*#+cH#iL9ZZG4?f<5o>Pve(O6ssjmT~<5I zGb}%_^xuU1x5)pLAC%T!wS4)oRX@z)ZMl5NgXhiSS)PA2x~@j-U&`F?r6Acg${i0r zUPhvm()?MTqbMr&yI4L@V*c|y=4QMVZsX_BZtmvxe*b?I_LmgMh}mctF@rkW+Bt&U zj%Bl3XH;>hX~-asI(tAKyI;2Smc$AAp1gUYO!p3`hqAp1C9HLwU`KneaghHAD8f0h*QrocPQFq6eCHgwB!KSAA9N8f*`0bFMn`=h(3NAoD`N+VZMPZQ+^r(X{*B*7EG?6a`2outd<5e`xg%t^+{!@F zpAGI9TZG@slB%YnQv-G)&pkWs_Dl#aBOg=AGl%16NckkXO%X)O zPCLG>e{{Xv?9Al&XG1C&v0a|q#f-8%Ej$lFPk~{1?U~ZPNxJ24%SH|$#{wA_Js#3$ zkAykBB-|Ka*tbXvwh&5wwZ+3Wy^@F~AVIE~e=B(CE$!u)casNK1mo^vlv8+vG2vuD zerEIc_Y(y}fjuC_%0-R&=xpLATuz#+V~)U5gcMJ7!ikDSXH!x? zmAuW5ycOj1XMueB2*Up9xKM6g1GRbm`o}#(3wW48A_~-&J6&ct4&yH*O}fXVgE$Mk zI?DB({5bqnEoUC$1PwXd9-q6tj_$zu0Cz71a6hVtZ?OZ@E+JJt$j1)e(lv$ znrgBu*nf=z*{*1-?>0Hpa{O^N_vIHDAAKLO_P#NVw;T3Tj3s^oZ{r6I`87t&XKwxW zIVRT=)@R=D#T$`GZ`!+)mkb_*L!!mczD1DxN+r?0^Z%;taYBaqTopt3lW;3CTDQ#j zMO(?-m%!kx+`cPBJ`UlocDN9a*ZzDyqC)@V0n`XYrT-Qq7-|e{va=R6zH_mA|Gr31 z<|L`SDDrG8+t33!hpd^`c%HXr*UO#)!5iRabxUByH)`=t;4}JTG0a5giU<@!{(Y)M zZ(>x>cpBj{+Fm#r&>aP?cpVEX<;=9lN0#)l{9vrmLQo4Ypr*7c)an<1Bnk9tWpuT^ z#rXt}%w6(RK6=)@OX@1mTu9pgMws*K6WzxxsAr3RMPxp1HF`tw^POXCUp1c>V4n(Z zv9bV9!y(#d_;-S%=>0QWyRsV*+Vg#qXCD{jk6I*k`DxZY+{iIIRG8gPh&^8NhBOwa z+JiTDICg@oj>bjZH^*h~=rui|9|LAr182VZ`y$v!YDAb2S?|ovzw1fP70O_R)BI5i zVLaVuZd!|c03LajGM{rD2cE$Fa5~BL<4rD3RD3Q;zZ)jdOY`gOXMBG3D08&9mgl1n zy96O6`7w;Sw8}P-3j_`opWIlmt0Ux|y@{)eJIa`+cW#QI6WtN~Bl<_*pG@od>NK*x zVPm3gLLSu8vn9CFf;nw|qkY&i<~YA4GKm2QZ033tCesNb)L>qzpbWDhd2tl$L3GO$iYeZQ%7yz)}M{u2c{ zKP|JH`k^&QIb_=v8Y8hE?7EI1c*MuY_O5zuFoLAt3G#VO8h;NE9W3wES7D2YKXr-jie)H8Tp8-|;G4*9 zj8H4zW$4>m%=H$tV4TK}L6$6{B<)(=tE`HJM((XkCg+vuiK%6G)NMwx&dNmeo%D!h zU~1-yW4~6TUJ1;ShA~)MSHeoxDD*0m=|eu2U~6oBpVHeoR$!&(_4)vC8^Q=TDS2RH<|SJG5)zfYI4YhEu@Um_BeabT7&v^ z{_C&Er;AF)%c+Oh4>j>Nq}ZG@uHQvbL50q0=z-xJgbs&{z#-wo=& zx0~;=#Bbq+2PSSs8VT|Ix4!>H;GkrnZXJdq-&6lta=$zF0|I(67w?_%{C6YX!1@e| zT#M2vd;9E(No$K|8^E~}hl|a{#!&D)zl=;4Agar07pQ#8Rf^L>>`oQySD8x?oGgL& zc+n?)Owik9AkX#}*|z#J&+Snb^jZ}E_8@;-UVJ>s4}%(Z_+Ya7APTu2x3gE#HZ3$= zYVg8p;LA7e@&@^^GX1I`z#B&%u%^>9$Y3!L6<;1D?_2!gW56hZ+(`CFT zD<``p6CXmcDQD-#(Z>Dw5qS13uPY z*S!n^rXTtC!o%^}PR8lNg}_J9%Od-k@*UMjC%^TE_`?4XXNwYord!Z$zz1D2%UG_G_R$g)k(0J=Zh8eY-?lPAub|l7`Gk6%V5QX{3XCNX{`kNiWxI1a~<=^`I|F9d+!;fK*Omc!Ebcv=zK{#9SSnKfBFs1_E!$zgB zig(RPt*A{pZay^;$N85Nh3c25%6n_jeEaPX1!ej>R@g6I!=KSvey6V-30%ceJ}v+q zp>Ae#D7_e1;nji>cEFTC;eU(TvLq_nf~CGF(JdQyok-Lx)?%A)^5m8V(k=T*f>H2f z1TzCp>|%$@b5uurbX3%Y)%k*Ro55wLc#3YhQR))p&i{vYA<=V4Wv|?#2Zvh5C`#yN z+?QzG@=RM80m+E^`~8Z0e-E&JY3v6$X%y7#f>jZ^r;XgPV*`$^wWb~euwaV!8SUQf zrk4@YtIk8ZeAwlr93M@$;L@X`F9x zwRj>vYO~Rw-~p@)?0@15J3F`Chyc8y))yxD%W9$x0zqH4-IWnaQfnE&XT{8X1axSj z5T>v8OvA>-vC9EhWguYaT%X_qIki=Fqk+XXsWq8^#mdG5D!x+O zE$@=-MIx{T<*$q>0Z+_a$jzQf5>=8$M~=IY8VMJ#kG>mjYn=22HR51FkDmhs0@ZAs z;is63L?(B3+$AV6j-80d-h}77S5;Mc9eu1g=*0&GC9FBK-v@WLw~s@CH20(gl#?}? zKyK>wIN9=K!fGCwNBciY%ExD?j@6+E~E>vgg ztmdCE^9ou1xqk2r=L^z#xX4tt3kWW2c9SjYoW&J1oFV=q-U1RF16R}scM~b61M69v z&O}ZaqfW6_4?>#V@2EC5WhzD5_h;RC%sK}<`z~Ayh8O(Ky4GfdF*a#;TbWU*+X45Y z(sV9q0!F!ZFk8h+G4V(ta(j+0DVPRRpvPfYnID=Lr~fdCVmR5gvwA{E%k-rwL@ne2 zg~wvLxO;(!iUtHwxJP8~T14h6KM|n<$ND`9g%v=QJUM1vp*!&4S>gM*tk`BLsU6jw zVT|DZAM5eKG?M$xff<8UM}t`$jlbz2a%#*Z#}6xDmPA;REeX8^b`xKD4Rz_Lju+~k znaoTHE!Nk1qH5jXuNf$?B;CEfc^%9b;B`9S;VjIWnpBx9R0y152KPgKFLz^B0K-{7 z6CFjvFF7nY5v&RqSPQs8=qcZaVVn6pOflWGK%K(DIRsclKJCU799zmj$^u5Z<6dJ% zKN5_q5Bo$+PcZl)M2fKP2r_)I`A^fUivyi}yhf&CC2o=xQ%2lQs zmVz#sESqfq>C;X|c0c`l%Da_$gmf!aTR3!$rYc=#BcD+$7=D%?FO|%kNs~5j0GkSK zn;=t{GW(T8_IpnVB*(lrlv8V~|41R|0A@n16hay}bm*-d(;*@W1FvxFx**M`^-TP~ z?#9S0&6@x&dD9R^?`i^S4*l<+L{SA@rer3`=3xdIG{V-~{921ZWbba1+|DtXoZeQ@ zmA`(hp%QF&Wzf2!X; zu>_J}2K@Uw9peIC$TZp%^Pd>K6eIe9TuHL4AhUg;0dilJ%9-wDWqYOvggbTi& zLgP4$)(koP(G)z51Dx6>im$;jWZNMls$CyL62j(0{k~vit0}gs0=@6jcKv?SEnu0! z7uZ*RrY#);FWzAi^B~svOFefdBaY`Bs22q`1iE^Ngt?18{~_wJt>K6*NfShG^1Fc8 zUxJM(q=5l4+1qt<6n89Y7wGVLYjRxuqSx8QG``;%E@<&lnguz@yJX5rfF*avTlX$> z;+Y7LPz>M4dm=`4B|dO2xt9Jg$^bvF!<5p*yR$T?QBazf2CqU#>IR(t&T&q36 zL8RQ1Yc%C2oi(@ce@i4R3mD5Op$@7VLHz*SV9wlOr##DUu?}bsXn?9MA^0>T@cxUy zWb-PSzg*C7=|xT>;o(KN{oG>TmexR4rXLL`{Te~N0<8tpKOGI(p6yI&@@a#iQt`2I(^fi15wxPybH<$jffJVO0u%>Gh~ zeZGENYKqqr=KuErd1fRYb_*^WvicG2Kj|KT=?Q@Q6DO24&Z#i}F12ElKB*4b~ zkDmdtgABm+!sMK7{{KDKJ;1EEkp^BTUy;={hG$wT{5H1!x;&8QF~-7U*?{%c{ka+g zPTiOPehg-8Aw>)ke2351$POsL-H{22f&mW=|G(Qj!dS=t>oh+AS6^+7WOH0gcmrB7 z8ylO|nB&XnfBad0eQB4y$FtW7!;k(9%;Y`<-_7c_gGwf@UCT@K5^f1&t^to P0H0S1YA?&>O@sa)o5AT9 literal 0 HcmV?d00001 diff --git a/tests/longevity/results/1.0.0-images/memory.png b/tests/longevity/results/1.0.0-images/memory.png new file mode 100644 index 0000000000000000000000000000000000000000..ae455df6852453c22eb5da822ea8340f014968e8 GIT binary patch literal 53650 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 E00%Czq5uE@ literal 0 HcmV?d00001 diff --git a/tests/longevity/results/1.0.0-images/reload-time.png b/tests/longevity/results/1.0.0-images/reload-time.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f9b9cbc0fc19a7cbabc53476149675e6385ad4 GIT binary patch literal 47107 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 jb;tNnzc7YQeCgIGWs5@%A{|k!FEK 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 Y%22{1$WrL>C>1I$BJ-(CNXO@Y0IUU_Z2$lO literal 0 HcmV?d00001 diff --git a/tests/longevity/results/1.0.0-images/stub-status.png b/tests/longevity/results/1.0.0-images/stub-status.png new file mode 100644 index 0000000000000000000000000000000000000000..12d84d6d31f633b1e844055ddca0492a44389470 GIT binary patch literal 51342 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 literal 0 HcmV?d00001 diff --git a/tests/longevity/results/1.0.0.md b/tests/longevity/results/1.0.0.md new file mode 100644 index 0000000000..193a74270a --- /dev/null +++ b/tests/longevity/results/1.0.0.md @@ -0,0 +1,234 @@ +# Results for v1.0.0 + + + +- [Results for v1.0.0](#results-for-v100) + - [Versions](#versions) + - [Traffic](#traffic) + - [NGF](#ngf) + - [Error Log](#error-log) + - [NGINX](#nginx) + - [Error Log](#error-log-1) + - [Access Log](#access-log) + - [Key Metrics](#key-metrics) + - [Containers memory](#containers-memory) + - [Containers CPU](#containers-cpu) + - [NGINX metrics](#nginx-metrics) + - [Reloads](#reloads) + - [Opened Issues](#opened-issues) + - [Future Improvements](#future-improvements) + + + +## Versions + +NGF version: + +```text +commit: "07d76315931501d878f3ed079142aa1899be1bd3" +date: "2023-09-28T16:49:51Z" +version: "edge" +``` + +with NGINX: + +```text +nginx/1.25.2 +built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r10) +OS: Linux 5.15.109+ +``` + +Kubernetes: + +```text +Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.3-gke.100", GitCommit:"6466b51b762a5c49ae3fb6c2c7233ffe1c96e48c", GitTreeState:"clean", BuildDate:"2023-06-23T09:27:28Z", GoVersion:"go1.20.5 X:boringcrypto", Compiler:"gc", Platform:"linux/amd64"} +``` + +## Traffic + +HTTP: + +```text +wrk -t2 -c100 -d96h http://cafe.example.com/coffee/long2 + +Running 5760m test @ http://cafe.example.com/coffee/long2 + 2 threads and 100 connections + Thread Stats Avg Stdev Max +/- Stdev + Latency 174.97ms 140.07ms 2.00s 83.57% + Req/Sec 319.15 212.21 2.21k 65.75% + 210108892 requests in 5615.74m, 74.42GB read + Socket errors: connect 0, read 356317, write 0, timeout 4299 +Requests/sec: 623.57 +Transfer/sec: 231.60KB +``` + +HTTPS: + +```text +wrk -t2 -c100 -d96h https://cafe.example.com/tea/long2 + +Running 5760m test @ https://cafe.example.com/tea/long2 + 2 threads and 100 connections + Thread Stats Avg Stdev Max +/- Stdev + Latency 165.13ms 113.14ms 1.99s 68.74% + Req/Sec 317.87 211.81 2.15k 65.17% + 209303259 requests in 5616.52m, 72.99GB read + Socket errors: connect 0, read 351351, write 0, timeout 3 +Requests/sec: 621.09 +Transfer/sec: 227.12KB +``` + +While there are socket errors in the output, there are no connection-related errors in NGINX logs. +Further investigation is out of scope of this test. + +### NGF + +#### Error Log + +```text +resource.type="k8s_container" +resource.labels.pod_name="nginx-gateway-b6cdb65cd-h8bgs" +resource.labels.namespace_name="nginx-gateway" +resource.labels.container_name="nginx-gateway" +severity=ERROR +SEARCH("error") +``` + +Found 104 entries, All entries are similar to: + +```json +{ + "stacktrace": "github.com/nginxinc/nginx-gateway-fabric/internal/mode/static.(*eventHandlerImpl).HandleEventBatch\n\t/home/runner/work/nginx-gateway-fabric/nginx-gateway-fabric/internal/mode/static/handler.go:105\ngithub.com/nginxinc/nginx-gateway-fabric/internal/framework/events.(*EventLoop).Start.func1.1\n\t/home/runner/work/nginx-gateway-fabric/nginx-gateway-fabric/internal/framework/events/loop.go:68", + "logger": "eventHandler", + "error": "failed to reload NGINX: reload unsuccessful: no new NGINX worker processes started for config version 11135. Please check the NGINX container logs for possible configuration issues: context deadline exceeded", + "level": "error", + "msg": "Failed to update NGINX configuration", + "ts": "2023-10-01T18:44:03Z" +} +``` + +See Key metrics Reloads further in this doc. + +During the first run of the longevity test, for a shorter period (1 day), the following appeared in NGF logs: + +```text +I0926 20:58:42.883382 6 leaderelection.go:250] attempting to acquire leader lease nginx-gateway/nginx-gateway-leader-election... +I0926 20:58:43.073317 6 leaderelection.go:260] successfully acquired lease nginx-gateway/nginx-gateway-leader-election +{"level":"info","ts":"2023-09-26T20:58:43Z","logger":"leaderElector","msg":"Started leading"} +E0927 08:09:20.830614 6 leaderelection.go:332] error retrieving resource lock nginx-gateway/nginx-gateway-leader-election: Get "https://10.64.0.1:443/apis/coordination.k8s.io/v1/namespaces/nginx-gateway/leases/nginx-gateway-leader-election?timeout=5s": net/http: request canceled (Client.Timeout exceeded while awaiting headers) +E0927 08:09:25.829736 6 leaderelection.go:332] error retrieving resource lock nginx-gateway/nginx-gateway-leader-election: Get "https://10.64.0.1:443/apis/coordination.k8s.io/v1/namespaces/nginx-gateway/leases/nginx-gateway-leader-election?timeout=5s": context deadline exceeded +I0927 08:09:25.830070 6 leaderelection.go:285] failed to renew lease nginx-gateway/nginx-gateway-leader-election: timed out waiting for the condition +{"level":"info","ts":"2023-09-27T08:09:25Z","logger":"leaderElector","msg":"Stopped leading"} +E0927 08:09:35.862628 6 event.go:289] Unable to write event: '&v1.Event{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"nginx-gateway-leader-election.1788b315c7bd90e5", GenerateName:"", Namespace:"nginx-gateway", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC), DeletionTimestamp:, DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Finalizers:[]string(nil), ManagedFields:[]v1.ManagedFieldsEntry(nil)}, InvolvedObject:v1.ObjectReference{Kind:"Lease", Namespace:"nginx-gateway", Name:"nginx-gateway-leader-election", UID:"eb133a0d-7622-4b80-a0d1-d49755e52a1f", APIVersion:"coordination.k8s.io/v1", ResourceVersion:"1044977", FieldPath:""}, Reason:"LeaderElection", Message:"nginx-gateway-b6cdb65cd-bt7zg stopped leading", Source:v1.EventSource{Component:"nginx-gateway-fabric-nginx", Host:""}, FirstTimestamp:time.Date(2023, time.September, 27, 8, 9, 25, 831766245, time.Local), LastTimestamp:time.Date(2023, time.September, 27, 8, 9, 25, 831766245, time.Local), Count:1, Type:"Normal", EventTime:time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC), Series:(*v1.EventSeries)(nil), Action:"", Related:(*v1.ObjectReference)(nil), ReportingController:"nginx-gateway-fabric-nginx", ReportingInstance:""}': 'Post "https://10.64.0.1:443/api/v1/namespaces/nginx-gateway/events?timeout=10s": net/http: request canceled (Client.Timeout exceeded while awaiting headers)'(may retry after sleeping) +{"level":"info","ts":"2023-09-27T17:19:27Z","logger":"statusUpdater","msg":"Skipping updating Nginx Gateway status because not leader"} +{"level":"info","ts":"2023-09-27T19:54:13Z","logger":"statusUpdater","msg":"Skipping updating Gateway API status because not leader"} +{"level":"info","ts":"2023-09-27T19:54:15Z","logger":"statusUpdater","msg":"Skipping updating Gateway API status because not leader"} +{"level":"info","ts":"2023-09-27T19:54:24Z","logger":"statusUpdater","msg":"Skipping updating Gateway API status because not leader"} +{"level":"info","ts":"2023-09-27T19:54:25Z","logger":"statusUpdater","msg":"Skipping updating Gateway API status because not leader"} +``` + +There are two problems: + +- The NGF pod lost its leadership, even though no other NGF pods were + running -- https://github.com/nginxinc/nginx-gateway-fabric/issues/1100 +- The leader elector logs are not structural -- https://github.com/nginxinc/nginx-gateway-fabric/issues/1101 + +### NGINX + +#### Error Log + +Errors: + +```text +resource.type="k8s_container" +resource.labels.pod_name="nginx-gateway-b6cdb65cd-h8bgs" +resource.labels.namespace_name="nginx-gateway" +resource.labels.container_name="nginx" +severity=ERROR +SEARCH("`[warn]`") OR SEARCH("`[error]`") +``` + +No entries found. + +#### Access Log + +Non-200 response codes in NGINX access logs: + +```text +severity=INFO +"GET" "HTTP/1.1" -"200" +``` + +No such responses. + +## Key Metrics + +### Containers memory + +![memory.png](1.0.0-images/memory.png) + +No unexpected spikes or drops. + +### Containers CPU + +![cpu.png](1.0.0-images/cpu.png) + +No unexpected spikes or drops. + +### NGINX metrics + +![stub-status.png](1.0.0-images/stub-status.png) + +The drop of _requests_ on Sep 29 is neither significant nor has any correlated errors in NGINX logs. + +### Reloads + +Rate of reloads - successful and errors: + +![reloads.png](1.0.0-images/reloads.png) + +Reload spikes correspond to 1 hour periods of backend re-rollouts. +However, small spikes, like at 1pm Sep 29, correspond to periodic reconciliation of Secrets, which (incorrectly) +triggers a reload -- https://github.com/nginxinc/nginx-gateway-fabric/issues/1112 + +A small percentage of reloads finished with error. That happened because of the bug in NFG - it wouldn't wait long +enough for the NGINX master to start new worker +processes -- https://github.com/nginxinc/nginx-gateway-fabric/issues/1106 + +Reload time distribution with 50th, 95th and 99th percentiles and the threshold: + +![reload-time.png](1.0.0-images/reload-time.png) + +Note - 60s is the threshold for waiting for NGINX to be reloaded. + +Reload related metrics at the end: + +```text +# HELP nginx_gateway_fabric_nginx_reloads_milliseconds Duration in milliseconds of NGINX reloads +# TYPE nginx_gateway_fabric_nginx_reloads_milliseconds histogram +nginx_gateway_fabric_nginx_reloads_milliseconds_bucket{class="nginx",le="500"} 5608 +nginx_gateway_fabric_nginx_reloads_milliseconds_bucket{class="nginx",le="1000"} 13926 +nginx_gateway_fabric_nginx_reloads_milliseconds_bucket{class="nginx",le="5000"} 14842 +nginx_gateway_fabric_nginx_reloads_milliseconds_bucket{class="nginx",le="10000"} 14842 +nginx_gateway_fabric_nginx_reloads_milliseconds_bucket{class="nginx",le="30000"} 14842 +nginx_gateway_fabric_nginx_reloads_milliseconds_bucket{class="nginx",le="+Inf"} 14842 +nginx_gateway_fabric_nginx_reloads_milliseconds_sum{class="nginx"} 8.645665e+06 +nginx_gateway_fabric_nginx_reloads_milliseconds_count{class="nginx"} 14842 +``` + +All successful reloads took less than 5 seconds. + +## Opened Issues + +- NGF doesn't wait long enough for new NGINX workers to + start - https://github.com/nginxinc/nginx-gateway-fabric/issues/1106 +- NGF unnecessary reloads NGINX when it reconciles + Secrets - https://github.com/nginxinc/nginx-gateway-fabric/issues/1112 +- Statuses not reported because no leader gets elected - https://github.com/nginxinc/nginx-gateway-fabric/issues/1100 +- Use NGF Logger in Client-Go Library - https://github.com/nginxinc/nginx-gateway-fabric/issues/1101 + +## Future Improvements + +- Control Plane transaction weren't fully tested. While we tested that NGF processes EndpointSlices changes, we didn't + test any transaction that result into status of updates of resources, like a change in an HTTPRoute. + updated. From bb50c6e9869a81cd16463153023ae91bd2a2f93b Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Mon, 9 Oct 2023 12:17:27 -0400 Subject: [PATCH 2/8] Apply suggestions from code review Co-authored-by: bjee19 <139261241+bjee19@users.noreply.github.com> --- tests/longevity/longevity.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/longevity/longevity.md b/tests/longevity/longevity.md index a939d84c4c..cad4e84ddb 100644 --- a/tests/longevity/longevity.md +++ b/tests/longevity/longevity.md @@ -56,7 +56,7 @@ Test duration - 4 days. 1. Create a Kubernetes cluster on GKE. 2. Deploy NGF. -3. Expose NFG via a Load Balancer Service with `"networking.gke.io/load-balancer-type":"Internal"` annotation to +3. Expose NFG via a LoadBalancer Service with `"networking.gke.io/load-balancer-type":"Internal"` annotation to allocate an internal load balancer. 4. Apply the manifests which will: 1. Deploy the coffee and tea backends. @@ -64,7 +64,7 @@ Test duration - 4 days. 3. Expose coffee via HTTP listener and tea via HTTPS listener. 4. Create two CronJobs to re-rollout backends: 1. Coffee - every minute for an hour every 6 hours - 2. Tea - every minute for an hour every 6 hours, 3 ours apart from coffee. + 2. Tea - every minute for an hour every 6 hours, 3 hours apart from coffee. 5. Configure Prometheus on GKE to pick up NGF metrics. ```shell @@ -78,7 +78,7 @@ Test duration - 4 days. 10.128.0.10 cafe.example.com ``` -6. In Tester VMs, start a tmux session (this is needed so that even if you disconnect from the VM, any launched command: +6. In Tester VMs, start a tmux session (this is needed so that even if you disconnect from the VM, any launched command will keep running): ```shell @@ -100,14 +100,14 @@ Test duration - 4 days. Notes: - The updated coffee and tea backends in cafe.yaml include extra configuration for zero time upgrades, so that - wrk in Tester VMs don't get 502 from NGF. Based on https://learnk8s.io/graceful-shutdown + wrk in Tester VMs doesn't get 502 from NGF. Based on https://learnk8s.io/graceful-shutdown ### Check the Test is Running Correctly Check that you don't see any errors: 1. Traffic is flowing - look at the access logs of NGINX. -2. Check that cron job can run. +2. Check that CronJob can run. ```shell kubectl create job --from=cronjob/coffee-rollout-mgr coffee-test From d917a4e062419e58a045ea59e65f3abd776d4e35 Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Tue, 10 Oct 2023 11:19:02 -0400 Subject: [PATCH 3/8] Update tests/longevity/results/1.0.0.md Co-authored-by: bjee19 <139261241+bjee19@users.noreply.github.com> --- tests/longevity/results/1.0.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/longevity/results/1.0.0.md b/tests/longevity/results/1.0.0.md index 193a74270a..d6eb4c2089 100644 --- a/tests/longevity/results/1.0.0.md +++ b/tests/longevity/results/1.0.0.md @@ -229,6 +229,6 @@ All successful reloads took less than 5 seconds. ## Future Improvements -- Control Plane transaction weren't fully tested. While we tested that NGF processes EndpointSlices changes, we didn't +- Control Plane transactions weren't fully tested. While we tested that NGF processes EndpointSlices changes, we didn't test any transaction that result into status of updates of resources, like a change in an HTTPRoute. updated. From 63cd53e1efe69577246302142f02a850159234db Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Tue, 10 Oct 2023 11:19:20 -0400 Subject: [PATCH 4/8] Update tests/longevity/longevity.md Co-authored-by: Saylor Berman --- tests/longevity/longevity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/longevity/longevity.md b/tests/longevity/longevity.md index cad4e84ddb..627709bf42 100644 --- a/tests/longevity/longevity.md +++ b/tests/longevity/longevity.md @@ -56,7 +56,7 @@ Test duration - 4 days. 1. Create a Kubernetes cluster on GKE. 2. Deploy NGF. -3. Expose NFG via a LoadBalancer Service with `"networking.gke.io/load-balancer-type":"Internal"` annotation to +3. Expose NGF via a LoadBalancer Service with `"networking.gke.io/load-balancer-type":"Internal"` annotation to allocate an internal load balancer. 4. Apply the manifests which will: 1. Deploy the coffee and tea backends. From dcf712dd1a48a16aad1b006835cf217541ce950a Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Tue, 10 Oct 2023 11:28:46 -0400 Subject: [PATCH 5/8] Refactor dir structure --- tests/longevity/longevity.md | 2 +- tests/longevity/results/{ => 1.0.0}/1.0.0.md | 10 +++++----- .../results/{1.0.0-images => 1.0.0}/cpu.png | Bin .../results/{1.0.0-images => 1.0.0}/memory.png | Bin .../results/{1.0.0-images => 1.0.0}/reload-time.png | Bin .../results/{1.0.0-images => 1.0.0}/reloads.png | Bin .../results/{1.0.0-images => 1.0.0}/stub-status.png | Bin 7 files changed, 6 insertions(+), 6 deletions(-) rename tests/longevity/results/{ => 1.0.0}/1.0.0.md (97%) rename tests/longevity/results/{1.0.0-images => 1.0.0}/cpu.png (100%) rename tests/longevity/results/{1.0.0-images => 1.0.0}/memory.png (100%) rename tests/longevity/results/{1.0.0-images => 1.0.0}/reload-time.png (100%) rename tests/longevity/results/{1.0.0-images => 1.0.0}/reloads.png (100%) rename tests/longevity/results/{1.0.0-images => 1.0.0}/stub-status.png (100%) diff --git a/tests/longevity/longevity.md b/tests/longevity/longevity.md index 627709bf42..5d5ac97caf 100644 --- a/tests/longevity/longevity.md +++ b/tests/longevity/longevity.md @@ -146,4 +146,4 @@ In case of errors, double check if you prepared the environment and launched the ## Results -- [1.0.0](results/1.0.0.md) +- [1.0.0](results/1.0.0/1.0.0.md) diff --git a/tests/longevity/results/1.0.0.md b/tests/longevity/results/1.0.0/1.0.0.md similarity index 97% rename from tests/longevity/results/1.0.0.md rename to tests/longevity/results/1.0.0/1.0.0.md index d6eb4c2089..a0110a4d65 100644 --- a/tests/longevity/results/1.0.0.md +++ b/tests/longevity/results/1.0.0/1.0.0.md @@ -165,19 +165,19 @@ No such responses. ### Containers memory -![memory.png](1.0.0-images/memory.png) +![memory.png](memory.png) No unexpected spikes or drops. ### Containers CPU -![cpu.png](1.0.0-images/cpu.png) +![cpu.png](cpu.png) No unexpected spikes or drops. ### NGINX metrics -![stub-status.png](1.0.0-images/stub-status.png) +![stub-status.png](stub-status.png) The drop of _requests_ on Sep 29 is neither significant nor has any correlated errors in NGINX logs. @@ -185,7 +185,7 @@ The drop of _requests_ on Sep 29 is neither significant nor has any correlated e Rate of reloads - successful and errors: -![reloads.png](1.0.0-images/reloads.png) +![reloads.png](reloads.png) Reload spikes correspond to 1 hour periods of backend re-rollouts. However, small spikes, like at 1pm Sep 29, correspond to periodic reconciliation of Secrets, which (incorrectly) @@ -197,7 +197,7 @@ processes -- https://github.com/nginxinc/nginx-gateway-fabric/issues/1106 Reload time distribution with 50th, 95th and 99th percentiles and the threshold: -![reload-time.png](1.0.0-images/reload-time.png) +![reload-time.png](reload-time.png) Note - 60s is the threshold for waiting for NGINX to be reloaded. diff --git a/tests/longevity/results/1.0.0-images/cpu.png b/tests/longevity/results/1.0.0/cpu.png similarity index 100% rename from tests/longevity/results/1.0.0-images/cpu.png rename to tests/longevity/results/1.0.0/cpu.png diff --git a/tests/longevity/results/1.0.0-images/memory.png b/tests/longevity/results/1.0.0/memory.png similarity index 100% rename from tests/longevity/results/1.0.0-images/memory.png rename to tests/longevity/results/1.0.0/memory.png diff --git a/tests/longevity/results/1.0.0-images/reload-time.png b/tests/longevity/results/1.0.0/reload-time.png similarity index 100% rename from tests/longevity/results/1.0.0-images/reload-time.png rename to tests/longevity/results/1.0.0/reload-time.png diff --git a/tests/longevity/results/1.0.0-images/reloads.png b/tests/longevity/results/1.0.0/reloads.png similarity index 100% rename from tests/longevity/results/1.0.0-images/reloads.png rename to tests/longevity/results/1.0.0/reloads.png diff --git a/tests/longevity/results/1.0.0-images/stub-status.png b/tests/longevity/results/1.0.0/stub-status.png similarity index 100% rename from tests/longevity/results/1.0.0-images/stub-status.png rename to tests/longevity/results/1.0.0/stub-status.png From 8b57e4b3f7ade0175833781801724a82eab800c2 Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Tue, 10 Oct 2023 11:39:47 -0400 Subject: [PATCH 6/8] Mention where to look for logs and metrics --- tests/longevity/longevity.md | 94 ++++++++++++++++++------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/tests/longevity/longevity.md b/tests/longevity/longevity.md index 5d5ac97caf..177613a4b7 100644 --- a/tests/longevity/longevity.md +++ b/tests/longevity/longevity.md @@ -5,14 +5,14 @@ This document describes how we test NGF for longevity. - [Longevity Test](#longevity-test) - - [Goals](#goals) - - [Test Environment](#test-environment) - - [Steps](#steps) - - [Start](#start) - - [Check the Test is Running Correctly](#check-the-test-is-running-correctly) - - [End](#end) - - [Analyze](#analyze) - - [Results](#results) + - [Goals](#goals) + - [Test Environment](#test-environment) + - [Steps](#steps) + - [Start](#start) + - [Check the Test is Running Correctly](#check-the-test-is-running-correctly) + - [End](#end) + - [Analyze](#analyze) + - [Results](#results) @@ -25,28 +25,28 @@ This document describes how we test NGF for longevity. ## Test Environment - A Kubernetes cluster with 3 nodes on GKE - - Node: e2-medium (2 vCPU, 4GB memory) - - Enabled GKE logging. - - Enabled GKE Cloud monitoring with managed Prometheus service, with enabled: - - system. - - kube state - pods, deployments. + - Node: e2-medium (2 vCPU, 4GB memory) + - Enabled GKE logging. + - Enabled GKE Cloud monitoring with managed Prometheus service, with enabled: + - system. + - kube state - pods, deployments. - Tester VMs: - - Configuration: - - Debian - - Install packages: tmux, wrk - - Location - same zone as the Kubernetes cluster. - - First VM - for HTTP traffic - - Second VM - for sending HTTPs traffic + - Configuration: + - Debian + - Install packages: tmux, wrk + - Location - same zone as the Kubernetes cluster. + - First VM - for HTTP traffic + - Second VM - for sending HTTPs traffic - NGF - - Deployment with 1 replica - - Exposed via a Service with type LoadBalancer, private IP - - Gateway, two listeners - HTTP and HTTPs - - Two apps: - - Coffee - 3 replicas - - Tea - 3 replicas - - Two HTTPRoutes - - Coffee (HTTP) - - Tea (HTTPS) + - Deployment with 1 replica + - Exposed via a Service with type LoadBalancer, private IP + - Gateway, two listeners - HTTP and HTTPs + - Two apps: + - Coffee - 3 replicas + - Tea - 3 replicas + - Two HTTPRoutes + - Coffee (HTTP) + - Tea (HTTPS) ## Steps @@ -106,16 +106,16 @@ Notes: Check that you don't see any errors: -1. Traffic is flowing - look at the access logs of NGINX. -2. Check that CronJob can run. +1. Check that GKE exports NGF pod logs to Google Cloud Operations Logging and Prometheus metrics to Google Cloud + Monitoring. +2. Check that traffic is flowing - look at the access logs of NGINX in Google Cloud Operations Logging. +3. Check that CronJob can run. ```shell kubectl create job --from=cronjob/coffee-rollout-mgr coffee-test kubectl create job --from=cronjob/tea-rollout-mgr tea-test ``` -3. Check that GKE exports logs and Prometheus metrics. - In case of errors, double check if you prepared the environment and launched the test correctly. ### End @@ -125,24 +125,24 @@ In case of errors, double check if you prepared the environment and launched the ## Analyze - Traffic - - Tester VMs (clients) - - As wrk stop, they will print output upon termination. To connect to the tmux session with wrk, + - Tester VMs (clients) + - As wrk stop, they will print output upon termination. To connect to the tmux session with wrk, run `tmux attach -t 0` - - Check for errors, latency, RPS + - Check for errors, latency, RPS - Logs - - Check the logs for errors in Google Cloud Operations Logging. - - NGF - - NGINX + - Check the logs for errors in Google Cloud Operations Logging. + - NGF + - NGINX - Check metrics in Google Cloud Monitoring. - - NGF - - CPU usage - - NGINX - - NGF - - Memory usage - - NGINX - - NGF - - NGINX metrics - - Reloads + - NGF + - CPU usage + - NGINX + - NGF + - Memory usage + - NGINX + - NGF + - NGINX metrics + - Reloads ## Results From 38f804d80ca97b3c6f58596c7df6d1d9f1834336 Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Tue, 10 Oct 2023 11:41:07 -0400 Subject: [PATCH 7/8] Make it explicit that tester VMs are on Google Cloud --- tests/longevity/longevity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/longevity/longevity.md b/tests/longevity/longevity.md index 177613a4b7..586e10a932 100644 --- a/tests/longevity/longevity.md +++ b/tests/longevity/longevity.md @@ -30,7 +30,7 @@ This document describes how we test NGF for longevity. - Enabled GKE Cloud monitoring with managed Prometheus service, with enabled: - system. - kube state - pods, deployments. -- Tester VMs: +- Tester VMs on Google Cloud: - Configuration: - Debian - Install packages: tmux, wrk From 8e0ae729d6e5cfbd13816c2a432dcc7a349bf994 Mon Sep 17 00:00:00 2001 From: Michael Pleshakov Date: Tue, 10 Oct 2023 11:55:37 -0400 Subject: [PATCH 8/8] Fix linting --- tests/longevity/longevity.md | 86 ++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/tests/longevity/longevity.md b/tests/longevity/longevity.md index 586e10a932..d1c9c2c8dc 100644 --- a/tests/longevity/longevity.md +++ b/tests/longevity/longevity.md @@ -5,14 +5,14 @@ This document describes how we test NGF for longevity. - [Longevity Test](#longevity-test) - - [Goals](#goals) - - [Test Environment](#test-environment) - - [Steps](#steps) - - [Start](#start) - - [Check the Test is Running Correctly](#check-the-test-is-running-correctly) - - [End](#end) - - [Analyze](#analyze) - - [Results](#results) + - [Goals](#goals) + - [Test Environment](#test-environment) + - [Steps](#steps) + - [Start](#start) + - [Check the Test is Running Correctly](#check-the-test-is-running-correctly) + - [End](#end) + - [Analyze](#analyze) + - [Results](#results) @@ -25,28 +25,28 @@ This document describes how we test NGF for longevity. ## Test Environment - A Kubernetes cluster with 3 nodes on GKE - - Node: e2-medium (2 vCPU, 4GB memory) - - Enabled GKE logging. - - Enabled GKE Cloud monitoring with managed Prometheus service, with enabled: - - system. - - kube state - pods, deployments. + - Node: e2-medium (2 vCPU, 4GB memory) + - Enabled GKE logging. + - Enabled GKE Cloud monitoring with managed Prometheus service, with enabled: + - system. + - kube state - pods, deployments. - Tester VMs on Google Cloud: - - Configuration: - - Debian - - Install packages: tmux, wrk - - Location - same zone as the Kubernetes cluster. - - First VM - for HTTP traffic - - Second VM - for sending HTTPs traffic + - Configuration: + - Debian + - Install packages: tmux, wrk + - Location - same zone as the Kubernetes cluster. + - First VM - for HTTP traffic + - Second VM - for sending HTTPs traffic - NGF - - Deployment with 1 replica - - Exposed via a Service with type LoadBalancer, private IP - - Gateway, two listeners - HTTP and HTTPs - - Two apps: - - Coffee - 3 replicas - - Tea - 3 replicas - - Two HTTPRoutes - - Coffee (HTTP) - - Tea (HTTPS) + - Deployment with 1 replica + - Exposed via a Service with type LoadBalancer, private IP + - Gateway, two listeners - HTTP and HTTPs + - Two apps: + - Coffee - 3 replicas + - Tea - 3 replicas + - Two HTTPRoutes + - Coffee (HTTP) + - Tea (HTTPS) ## Steps @@ -125,24 +125,24 @@ In case of errors, double check if you prepared the environment and launched the ## Analyze - Traffic - - Tester VMs (clients) - - As wrk stop, they will print output upon termination. To connect to the tmux session with wrk, + - Tester VMs (clients) + - As wrk stop, they will print output upon termination. To connect to the tmux session with wrk, run `tmux attach -t 0` - - Check for errors, latency, RPS + - Check for errors, latency, RPS - Logs - - Check the logs for errors in Google Cloud Operations Logging. - - NGF - - NGINX -- Check metrics in Google Cloud Monitoring. + - Check the logs for errors in Google Cloud Operations Logging. - NGF - - CPU usage - - NGINX - - NGF - - Memory usage - - NGINX - - NGF - - NGINX metrics - - Reloads + - NGINX +- Check metrics in Google Cloud Monitoring. + - NGF + - CPU usage + - NGINX + - NGF + - Memory usage + - NGINX + - NGF + - NGINX metrics + - Reloads ## Results