From 45900a9ca84a3f3d8249ce3a092168b508041301 Mon Sep 17 00:00:00 2001 From: NimRegev Date: Tue, 29 Mar 2022 15:24:42 +0300 Subject: [PATCH 01/11] Add webhook relay topic Added webhook relay topic (initially customer-specific Google doc version) --- _data/home-content.yml | 5 +- _data/nav.yml | 3 + _docs/pipelines/webhook-relay.md | 191 ++++++++++++++++++++ images/webhook-relay/webhook-relay-arch.png | Bin 0 -> 42292 bytes 4 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 _docs/pipelines/webhook-relay.md create mode 100644 images/webhook-relay/webhook-relay-arch.png diff --git a/_data/home-content.yml b/_data/home-content.yml index b0bbfd273..ba98f8ff0 100644 --- a/_data/home-content.yml +++ b/_data/home-content.yml @@ -37,6 +37,7 @@ localurl: /docs/runtime/monitor-manage-runtimes/ - title: Git Source management localurl: /docs/runtime/git-sources/ + - title: Pipelines icon: images/home-icons/pipeline.svg @@ -51,7 +52,9 @@ - title: Sharing file systems localurl: /docs/pipelines/sharing-file-system/ - title: Viewing images - localurl: /docs/pipelines/images/ + localurl: /docs/pipelines/images/ + - title: Webhook Relay + localurl: /docs/pipelines/webhook-relay/ - title: Administration diff --git a/_data/nav.yml b/_data/nav.yml index 88050e762..51f803a2e 100644 --- a/_data/nav.yml +++ b/_data/nav.yml @@ -46,6 +46,7 @@ - title: Git Source management url: "/git-sources" + - title: Pipelines url: "/pipelines" pages: @@ -59,6 +60,8 @@ url: "/sharing-file-system" - title: Viewing images url: "/images" + - title: Webhook Relay + url: "/webhook-relay" - title: Administration diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md new file mode 100644 index 000000000..714bbfbb0 --- /dev/null +++ b/_docs/pipelines/webhook-relay.md @@ -0,0 +1,191 @@ +--- +title: "Webhook Relay" +description: "" +group: runtime +toc: true +--- + +Webhook Relay is a payload delivery service for webhooks that receives webhook payloads and sends them to listening clients. The clients then forward the webhook payloads to the specified target URLs. The clients must subscribe to a specific channel on the server which has the same name as that of the CSDP runtime. + + +### Architecture +The diagram illustrates the architecture of the Webhook Relay in the context of CSDP. + + {% include + image.html + lightbox="true" + file="/images/webhook-relay/webhook-relay-arch.png" + url="/images/webhook-relay/webhook-relay-arch.png" + alt="Webhook Relay architecture" + caption="Webhook Relay architecture" + max-width="30%" +%} +Here's a description of the components. + +**K8s Cluster** +The K8s cluster in the DMZ that is exposed to the webhooks from Git providers, GitHub in our case. + +**Webhook Relay Server** +The server component that receives all the webhooks from external systems, again, GitHub in our case. The server forwards the webhook event requests to the Webhook Relay Clients which are subscribed to receive the requests. To run the service in high-availability mode, Redis is required. + +**Ingress** +The ingress controller on the K8s cluster in the DMZ, acting as proxy to receive the traffic (webhook requests) and route them to the Webhook Relay Server. The webhook URL points to this ingress service. + +**CSDP runtime** +The CSDP runtime or runtimes on which the Webhook Relay Clients are installed. Communication is allowed only from the runtime to the DMZ. + +**Webhook Relay Client** +The client component that receives the requests from the Webhook Relay Server or Servers it is subscribed to. Webhook Relay Clients must be installed on every Codefresh runtime in your deployment. + +### Customer Requirements + +**Installation requirements:** + +* Webhook Relay Server in the DMZ +* Webhook Relay Clients in the CSDP runtime clusters +* Redis to enable high-availability for Webhook Relay Server + To run multiple instances of the Webhook Relay Server, you must share events across those instances. A client may be connected to instance A, so if a relevant event is sent to instance B, instance A needs to know about it too. Webhook Relay Server has a built-in support for Redis as a message bus. +* Ingress host to act as the proxy for the Webhook Relay Server + +**Configuration requirements:** + +* IP whitelist + Because the channels are _not authenticated_, we highly recommend creating whitelists with the _IP ranges of your runtime clusters and of your Git provider_. + The runtime cluster whitelist is required to access the `/subscribe/:channel/` endpoint (internal). + The Git provider whitelist is required to access the `/webhooks/:channel/*` endpoint (external). + +* Webhook URL + When creating the webhook in your Git provider, the webhook URL must be configured in the following format: + `https://${url-of-the-webhook-relay-server}/webhooks/:${channel}/*` + Every payload sent to the `/webhooks/:channel/*` endpoint is published immediately to all clients listening to the same channel, on the `/subscribe/:channel/` endpoint. + + The clients forward the payloads to the URL defined by the `TARGET_BASE_URL` environment variable while keeping the original url path, for instance `https://base-url-of-your-runtime-cluster/webhooks/:channel/push-github/github-push-heads`. (NOT CLEAR what this is?) + + +### How Webhook Relay works +1. The Webhook Relay server, `webhook-relay-server`, receives the webhook via the ingress source. +1. The Webhook Client or Clients, `webhook-relay-client`, that are subscribed to the Webhook Relay Server, listen for messages via `Server-sent events`, and passes the webhook to the required `eventSource` service. +> [`Server-sent events`](https://html.spec.whatwg.org/multipage/server-sent-events.html){:target="\_blank"}, is a type of connection that allows messages to be sent from a source to any listening client. + + +### Deploy the Webhook Relay in CSDP +To deploy the Webhook Relay in CSDP, apply the server and client manifests: +* Server manifest to the Webhook Relay Server in the DMZ + The `REDIS_URL` environment variable is mandatory, as it tells the server to use Redis when receiving payloads, and to publish them to all the instances of the server, if there are multiple instances. Apart from `REDIS_URL`, you can pass additional environment variables to the Webhook Relay Server. To see all the options, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-server/README.md){:target="\_blank"}. + +* Client manifest to the Webhook Relay Client in the CSDP Runtime cluster + Apart from the `SOURCE_URL` and `TARGET_BASE_URL` environment variables that are mandatory, you can pass additional environment variables to the Webhook Relay Client. + The `SOURCE_URL` defines the channel on the Webhook Relay Server that the client subscribes to, identical to the runtime name, in the format: + `https://${url-of-the-webhook-relay-server}/subscribe/:${channel}/` + To see all the options, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. + + + +#### Apply server manifest +Apply the Webhook Server Relay manifest on the Webhook Relay Server in the DMZ: + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: webhook-relay-server-svc +spec: + ports: + - name: web + port: 3000 + targetPort: 3000 + selector: + app: webhook-relay-server +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: webhook-relay-server +spec: + selector: + matchLabels: + app: webhook-relay-server + replicas: 3 + template: + metadata: + labels: + app: webhook-relay-server + spec: + containers: + - name: webhook-relay-server + image: quay.io/codefresh/webhook-relay-server:stable + ports: + - containerPort: 3000 + env: + - name: REDIS_URL + # You can specify your connection as a redis:// URL or rediss:// URL when using TLS encryption. + # Username and password can also be passed via URL redis://username:authpassword@127.0.0.1:6380/4. + value: redis://redis.my-service.com + readinessProbe: + httpGet: + path: /ready + port: 9000 + failureThreshold: 1 + initialDelaySeconds: 5 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 5 + livenessProbe: + httpGet: + path: /live + port: 9000 + failureThreshold: 3 + initialDelaySeconds: 10 + # Allow sufficient amount of time (90 seconds = periodSeconds * failureThreshold) + # for the registered shutdown handlers to run to completion. + periodSeconds: 30 + successThreshold: 1 + # Setting a very low timeout value (e.g. 1 second) can cause false-positive + # checks and service interruption. + timeoutSeconds: 5 + +``` +#### Apply client manifest +Apply the client manifests to the runtime clusters in CSDP: + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: webhook-relay-client +spec: + selector: + matchLabels: + app: webhook-relay-client + replicas: 1 + template: + metadata: + labels: + app: webhook-relay-client + spec: + containers: + - name: webhook-relay-client + image: quay.io/codefresh/webhook-relay-client:stable + env: + - name: SOURCE_URL + # Channel name should equal the runtime name + value: https://url-of-the-webhook-relay-server/subscribe/:channel + - name: TARGET_BASE_URL + # All payloads will be sent to TARGET_BASE_URL/webhooks/:channel/* + value: https://base-url-of-your-runtime-cluster + +``` + +### FAQs + +**What is the TTL for channels?** + Channels are always active. Once a client is connected, the server sends any payloads it gets at `/webhooks/:channel/*` to those clients. + +**Are payloads stored anywhere?** +Webhook payloads are _never_ stored on the server or in any database; the server is simply a pass-through. + +**What are the best practices to employ in production?** + +* Use IP whitelists for your runtime clusters to access `/subscribe/:channel/` endpoint (internal), and for your git provider to access `/webhooks/:channel/*` endpoint (external). +* It is recommended to run multiple replicas of the server together with Redis using the `REDIS_URL` environment variable. +* `Server-sent events` connections are HTTP long-running (keep-alive) connections. We recommend that your reverse-proxy server is configured to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). diff --git a/images/webhook-relay/webhook-relay-arch.png b/images/webhook-relay/webhook-relay-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..8f835dbbc3e425852efda2d267318b85675f06b7 GIT binary patch literal 42292 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

^FMg8+t9FOU(zfXQ49p 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 Date: Mon, 4 Apr 2022 16:46:41 +0300 Subject: [PATCH 02/11] Update webhook-relay.md Content updates after review with Dev --- _docs/pipelines/webhook-relay.md | 66 ++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 714bbfbb0..29ad79f53 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -5,7 +5,7 @@ group: runtime toc: true --- -Webhook Relay is a payload delivery service for webhooks that receives webhook payloads and sends them to listening clients. The clients then forward the webhook payloads to the specified target URLs. The clients must subscribe to a specific channel on the server which has the same name as that of the CSDP runtime. +Webhook Relay is a payload delivery service for webhooks that receives webhook payloads and sends them to listening clients. The clients then forward the webhook payloads to the specified target URLs. Webhook Relay provides a way to receive webhooks without having to expose internal Kubernetes clusters to the internet. ### Architecture @@ -26,58 +26,66 @@ Here's a description of the components. The K8s cluster in the DMZ that is exposed to the webhooks from Git providers, GitHub in our case. **Webhook Relay Server** -The server component that receives all the webhooks from external systems, again, GitHub in our case. The server forwards the webhook event requests to the Webhook Relay Clients which are subscribed to receive the requests. To run the service in high-availability mode, Redis is required. +The server component that receives all the webhooks from external systems, again, GitHub in our case. The Webhook Relay Serve forwards the webhook event requests to the Webhook Relay Client which is subscribed to receive the requests. For high-availability, Redis is required. **Ingress** -The ingress controller on the K8s cluster in the DMZ, acting as proxy to receive the traffic (webhook requests) and route them to the Webhook Relay Server. The webhook URL points to this ingress service. +The external ingress controller on the K8s cluster in the DMZ, acting as a proxy to receive the webhook requests and route them to the Webhook Relay Server. The webhook URL points to this ingress service. **CSDP runtime** -The CSDP runtime or runtimes on which the Webhook Relay Clients are installed. Communication is allowed only from the runtime to the DMZ. +The CSDP runtime on which the Webhook Relay Client is installed. Communication is allowed only from the runtime to the DMZ. **Webhook Relay Client** -The client component that receives the requests from the Webhook Relay Server or Servers it is subscribed to. Webhook Relay Clients must be installed on every Codefresh runtime in your deployment. +The client component that receives the requests from the Webhook Relay Server it is subscribed to. A Webhook Relay Client must be installed on every Codefresh runtime in your deployment. -### Customer Requirements - -**Installation requirements:** + +### Installation * Webhook Relay Server in the DMZ -* Webhook Relay Clients in the CSDP runtime clusters -* Redis to enable high-availability for Webhook Relay Server - To run multiple instances of the Webhook Relay Server, you must share events across those instances. A client may be connected to instance A, so if a relevant event is sent to instance B, instance A needs to know about it too. Webhook Relay Server has a built-in support for Redis as a message bus. -* Ingress host to act as the proxy for the Webhook Relay Server + The cluster with the Webhook Relay Server must be exposed to the internet. + +* Ingress controllers + The CSDP implementation requires two ingress controllers: + * External ingress controller, on the Webhook Relay Server + * Internal ingress controller, on the runtime with the Webhook Relay Client for internal communication within the cluster + +* (Optional) Redis for high-availability + To run multiple instances of the Webhook Relay Server, you must share events across those instances. All server instances are aware of the relevant events their clients are subscribed to, even when the client connected only to a specific-server instance. Webhook Relay Server has built-in support for Redis as a message bus. -**Configuration requirements:** +### Configuration -* IP whitelist +* (Optional) IP whitelist Because the channels are _not authenticated_, we highly recommend creating whitelists with the _IP ranges of your runtime clusters and of your Git provider_. The runtime cluster whitelist is required to access the `/subscribe/:channel/` endpoint (internal). The Git provider whitelist is required to access the `/webhooks/:channel/*` endpoint (external). * Webhook URL - When creating the webhook in your Git provider, the webhook URL must be configured in the following format: + Argo Events creates the webhook URL in your Git provider. + In the Event Source, configure the webhook URL in the following format: `https://${url-of-the-webhook-relay-server}/webhooks/:${channel}/*` Every payload sent to the `/webhooks/:channel/*` endpoint is published immediately to all clients listening to the same channel, on the `/subscribe/:channel/` endpoint. - The clients forward the payloads to the URL defined by the `TARGET_BASE_URL` environment variable while keeping the original url path, for instance `https://base-url-of-your-runtime-cluster/webhooks/:channel/push-github/github-push-heads`. (NOT CLEAR what this is?) - ### How Webhook Relay works -1. The Webhook Relay server, `webhook-relay-server`, receives the webhook via the ingress source. -1. The Webhook Client or Clients, `webhook-relay-client`, that are subscribed to the Webhook Relay Server, listen for messages via `Server-sent events`, and passes the webhook to the required `eventSource` service. -> [`Server-sent events`](https://html.spec.whatwg.org/multipage/server-sent-events.html){:target="\_blank"}, is a type of connection that allows messages to be sent from a source to any listening client. +1. The Webhook Relay server receives the webhook from the Git provider. +1. The Webhook Client subscribed to the Webhook Relay Server listens for messages via `Server-sent events`, and passes the webhook to the internal ingress controller. +> [`Server-sent events`](https://html.spec.whatwg.org/multipage/server-sent-events.html){:target="\_blank"} connections are long-running HTTP (keep-alive) connections. ### Deploy the Webhook Relay in CSDP To deploy the Webhook Relay in CSDP, apply the server and client manifests: -* Server manifest to the Webhook Relay Server in the DMZ - The `REDIS_URL` environment variable is mandatory, as it tells the server to use Redis when receiving payloads, and to publish them to all the instances of the server, if there are multiple instances. Apart from `REDIS_URL`, you can pass additional environment variables to the Webhook Relay Server. To see all the options, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-server/README.md){:target="\_blank"}. +* Server manifest to the Webhook Relay Server in the DMZ + `REDIS_URL`: When high-availability is enabled, this environment variable is mandatory. It tells the Webhook Relay Server to use Redis when receiving payloads, and to publish them to all the instances, if there are multiple instances of the server. + + To see additional environment variables for the Webhook Relay Server, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-server/README.md){:target="\_blank"}. + +* Client manifest to the Webhook Relay Client in the CSDP runtime cluster + The `TARGET_BASE_URL` and the `SOURCE_URL` environment variables are mandatory. You can pass additional environment variables to the Webhook Relay Client. + * `TARGET_BASE_URL`: The base URL of the endpoint that defines the Event Source. The Webhook Relay Client forwards the payload to the URL, keeping the original URL path. For example, `https:///webhooks/:channel/push-github/github-push-heads`. + + * `SOURCE_URL`: The channel on the Webhook Relay Server that the client subscribes to, identical to the runtime name, in the format: + `https://${url-of-the-webhook-relay-server}/subscribe/:${channel}/` -* Client manifest to the Webhook Relay Client in the CSDP Runtime cluster - Apart from the `SOURCE_URL` and `TARGET_BASE_URL` environment variables that are mandatory, you can pass additional environment variables to the Webhook Relay Client. - The `SOURCE_URL` defines the channel on the Webhook Relay Server that the client subscribes to, identical to the runtime name, in the format: - `https://${url-of-the-webhook-relay-server}/subscribe/:${channel}/` - To see all the options, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. + To see additional environment variables for the Webhook Relay Client, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. @@ -184,8 +192,8 @@ spec: **Are payloads stored anywhere?** Webhook payloads are _never_ stored on the server or in any database; the server is simply a pass-through. -**What are the best practices to employ in production?** +**What are the best practices for production use?** * Use IP whitelists for your runtime clusters to access `/subscribe/:channel/` endpoint (internal), and for your git provider to access `/webhooks/:channel/*` endpoint (external). * It is recommended to run multiple replicas of the server together with Redis using the `REDIS_URL` environment variable. -* `Server-sent events` connections are HTTP long-running (keep-alive) connections. We recommend that your reverse-proxy server is configured to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). +* `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend that your reverse-proxy server is configured to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). From 7f656164756cd2b8bac1c7a74434f3b3f74442f3 Mon Sep 17 00:00:00 2001 From: NimRegev Date: Tue, 5 Apr 2022 18:33:02 +0300 Subject: [PATCH 03/11] Update webhook-relay.md Implemented review feedback --- _docs/pipelines/webhook-relay.md | 106 +++++++++++++++---------------- 1 file changed, 52 insertions(+), 54 deletions(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 29ad79f53..6b2e4ba34 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -22,75 +22,71 @@ The diagram illustrates the architecture of the Webhook Relay in the context of %} Here's a description of the components. -**K8s Cluster** -The K8s cluster in the DMZ that is exposed to the webhooks from Git providers, GitHub in our case. **Webhook Relay Server** The server component that receives all the webhooks from external systems, again, GitHub in our case. The Webhook Relay Serve forwards the webhook event requests to the Webhook Relay Client which is subscribed to receive the requests. For high-availability, Redis is required. -**Ingress** -The external ingress controller on the K8s cluster in the DMZ, acting as a proxy to receive the webhook requests and route them to the Webhook Relay Server. The webhook URL points to this ingress service. - -**CSDP runtime** -The CSDP runtime on which the Webhook Relay Client is installed. Communication is allowed only from the runtime to the DMZ. - **Webhook Relay Client** The client component that receives the requests from the Webhook Relay Server it is subscribed to. A Webhook Relay Client must be installed on every Codefresh runtime in your deployment. -### Installation - -* Webhook Relay Server in the DMZ - The cluster with the Webhook Relay Server must be exposed to the internet. +### Prerequisites -* Ingress controllers - The CSDP implementation requires two ingress controllers: - * External ingress controller, on the Webhook Relay Server - * Internal ingress controller, on the runtime with the Webhook Relay Client for internal communication within the cluster +* Two clusters, one public, and one private. The public cluster must be accessible from the internet. +* CSDP runtime +* Two ingress controllers: + * External ingress controller in the public cluster + * Internal ingress controller in the private cluster with the runtime and the Webhook Relay Client. The internal ingress controller is used for internal communication within the cluster. -* (Optional) Redis for high-availability - To run multiple instances of the Webhook Relay Server, you must share events across those instances. All server instances are aware of the relevant events their clients are subscribed to, even when the client connected only to a specific-server instance. Webhook Relay Server has built-in support for Redis as a message bus. ### Configuration -* (Optional) IP whitelist - Because the channels are _not authenticated_, we highly recommend creating whitelists with the _IP ranges of your runtime clusters and of your Git provider_. - The runtime cluster whitelist is required to access the `/subscribe/:channel/` endpoint (internal). - The Git provider whitelist is required to access the `/webhooks/:channel/*` endpoint (external). - * Webhook URL - Argo Events creates the webhook URL in your Git provider. - In the Event Source, configure the webhook URL in the following format: - `https://${url-of-the-webhook-relay-server}/webhooks/:${channel}/*` - Every payload sent to the `/webhooks/:channel/*` endpoint is published immediately to all clients listening to the same channel, on the `/subscribe/:channel/` endpoint. + Argo Events creates the webhook in your Git provider. + In the `EventSource`, the `webhook` is created from the `url` and the `endpoint` attributes: + `endpoint` is the channel on the Server that the Client listens to. + `url` is the base URL, identical to the value defined for the `TARGET_BASE_URL` environment variable. + The webhook URL has the following format: + `${TARGET_BASE_URL}/webhooks/${channel}/*` -### How Webhook Relay works -1. The Webhook Relay server receives the webhook from the Git provider. -1. The Webhook Client subscribed to the Webhook Relay Server listens for messages via `Server-sent events`, and passes the webhook to the internal ingress controller. -> [`Server-sent events`](https://html.spec.whatwg.org/multipage/server-sent-events.html){:target="\_blank"} connections are long-running HTTP (keep-alive) connections. + Each payload sent to the `/webhooks/${channel}/*` endpoint is published immediately to all clients listening to the same channel on the `/subscribe/${channel}/` endpoint. +* Client environment variables -### Deploy the Webhook Relay in CSDP -To deploy the Webhook Relay in CSDP, apply the server and client manifests: -* Server manifest to the Webhook Relay Server in the DMZ - `REDIS_URL`: When high-availability is enabled, this environment variable is mandatory. It tells the Webhook Relay Server to use Redis when receiving payloads, and to publish them to all the instances, if there are multiple instances of the server. - - To see additional environment variables for the Webhook Relay Server, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-server/README.md){:target="\_blank"}. + The `TARGET_BASE_URL` and the `SOURCE_URL` environment variables are mandatory. + * `TARGET_BASE_URL` + The base URL of the endpoint that defines the Event Source. + The Client forwards the payload to the URL defined by `TARGET_BASE_URL`, retaining the full URL path. + For example: + `${TARGET_BASE_URL}/webhooks/${channel}/push-github/github-push-heads` -* Client manifest to the Webhook Relay Client in the CSDP runtime cluster - The `TARGET_BASE_URL` and the `SOURCE_URL` environment variables are mandatory. You can pass additional environment variables to the Webhook Relay Client. - * `TARGET_BASE_URL`: The base URL of the endpoint that defines the Event Source. The Webhook Relay Client forwards the payload to the URL, keeping the original URL path. For example, `https:///webhooks/:channel/push-github/github-push-heads`. + * `SOURCE_URL`: The specific channel on the Server that the client subscribes to, identical to the runtime name, in the format: + `${TARGET_BASE_URL}/subscribe/${channel}/` - * `SOURCE_URL`: The channel on the Webhook Relay Server that the client subscribes to, identical to the runtime name, in the format: - `https://${url-of-the-webhook-relay-server}/subscribe/:${channel}/` +* (Optional) IP whitelist for runtime clusters + Because the channels are _not authenticated_, we highly recommend creating a whitelist with the _IP ranges of your runtime clusters_. + The runtime cluster whitelist is required to access the `/subscribe/${channel}/` endpoint. - To see additional environment variables for the Webhook Relay Client, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. + > Tip: If you choose, you can also create a whitelist for the Git provider to access the `/webhooks/${channel}/*` endpoint. +### How Webhook Relay works +1. The Server receives the webhook from the Git provider. +1. The Client subscribed to the Server listens for messages via `Server-sent events`, and passes the webhook to the internal ingress controller. +> [`Server-sent events`](https://html.spec.whatwg.org/multipage/server-sent-events.html){:target="\_blank"} connections are long-running HTTP (keep-alive) connections. -#### Apply server manifest -Apply the Webhook Server Relay manifest on the Webhook Relay Server in the DMZ: +#### High-availability (HA) + To run multiple instances of the Webhook Relay Server, you must share events across those instances. All Server instances are then aware of the relevant events their Clients are subscribed to, even when the Client is connected only to a specific Server instance. The Server has built-in support for Redis as a message bus. + > To enable high-availability, pass `REDIS_URL` as an environment variable. + + +### Deploy the Webhook Relay in CSDP +To deploy the Webhook Relay in CSDP, apply the Server and Client manifests: + +#### Server manifest + +> To see all environment variables you can configure for the Server, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-server/README.md){:target="\_blank"}. ```yaml apiVersion: v1 @@ -124,11 +120,11 @@ spec: image: quay.io/codefresh/webhook-relay-server:stable ports: - containerPort: 3000 - env: - - name: REDIS_URL - # You can specify your connection as a redis:// URL or rediss:// URL when using TLS encryption. - # Username and password can also be passed via URL redis://username:authpassword@127.0.0.1:6380/4. - value: redis://redis.my-service.com + # env: + # - name: REDIS_URL + # # You can specify your connection as a redis:// URL or rediss:// URL when using TLS encryption. + # # Username and password can also be passed via URL redis://username:authpassword@127.0.0.1:6380/4. + # value: redis://redis.my-service.com readinessProbe: httpGet: path: /ready @@ -153,8 +149,10 @@ spec: timeoutSeconds: 5 ``` -#### Apply client manifest -Apply the client manifests to the runtime clusters in CSDP: +#### Client manifest + +> To see all environment variables you can configure for the Client, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. + ```yaml apiVersion: apps/v1 @@ -187,13 +185,13 @@ spec: ### FAQs **What is the TTL for channels?** - Channels are always active. Once a client is connected, the server sends any payloads it gets at `/webhooks/:channel/*` to those clients. +Channels are always active. Once a client is connected, the server sends any payloads it gets at `/webhooks/${channel}/*` to those clients. **Are payloads stored anywhere?** Webhook payloads are _never_ stored on the server or in any database; the server is simply a pass-through. **What are the best practices for production use?** -* Use IP whitelists for your runtime clusters to access `/subscribe/:channel/` endpoint (internal), and for your git provider to access `/webhooks/:channel/*` endpoint (external). +* Use IP whitelists for your runtime clusters to access `/subscribe/${channel}/` endpoint (internal), and for your git provider to access `/webhooks/${channel}/*` endpoint (external). * It is recommended to run multiple replicas of the server together with Redis using the `REDIS_URL` environment variable. * `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend that your reverse-proxy server is configured to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). From be0fb0247c70961cc26094292e07405e593a049d Mon Sep 17 00:00:00 2001 From: NimRegev Date: Wed, 6 Apr 2022 09:01:01 +0300 Subject: [PATCH 04/11] Update webhook-relay.md replaced whitelist with allowlist --- _docs/pipelines/webhook-relay.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 6b2e4ba34..039edce52 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -24,7 +24,7 @@ Here's a description of the components. **Webhook Relay Server** -The server component that receives all the webhooks from external systems, again, GitHub in our case. The Webhook Relay Serve forwards the webhook event requests to the Webhook Relay Client which is subscribed to receive the requests. For high-availability, Redis is required. +The server component that receives all the webhooks from external systems, again, GitHub in our case. The Webhook Relay Server forwards the webhook event requests to the Webhook Relay Client which is subscribed to receive the requests. For high-availability, Redis is required. **Webhook Relay Client** The client component that receives the requests from the Webhook Relay Server it is subscribed to. A Webhook Relay Client must be installed on every Codefresh runtime in your deployment. @@ -64,11 +64,11 @@ The client component that receives the requests from the Webhook Relay Server it * `SOURCE_URL`: The specific channel on the Server that the client subscribes to, identical to the runtime name, in the format: `${TARGET_BASE_URL}/subscribe/${channel}/` -* (Optional) IP whitelist for runtime clusters - Because the channels are _not authenticated_, we highly recommend creating a whitelist with the _IP ranges of your runtime clusters_. - The runtime cluster whitelist is required to access the `/subscribe/${channel}/` endpoint. +* (Optional) IP allowlist for runtime clusters + Because the channels are _not authenticated_, we highly recommend creating an allowlist with the _IP ranges of your runtime clusters_. + The runtime cluster allowlist is required to access the `/subscribe/${channel}/` endpoint. - > Tip: If you choose, you can also create a whitelist for the Git provider to access the `/webhooks/${channel}/*` endpoint. + > Tip: If you choose, you can also create an allowlist for the Git provider to access the `/webhooks/${channel}/*` endpoint. ### How Webhook Relay works @@ -192,6 +192,6 @@ Webhook payloads are _never_ stored on the server or in any database; the server **What are the best practices for production use?** -* Use IP whitelists for your runtime clusters to access `/subscribe/${channel}/` endpoint (internal), and for your git provider to access `/webhooks/${channel}/*` endpoint (external). +* Use IP allowlists for your runtime clusters to access `/subscribe/${channel}/` endpoint (internal), and for your git provider to access `/webhooks/${channel}/*` endpoint (external). * It is recommended to run multiple replicas of the server together with Redis using the `REDIS_URL` environment variable. -* `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend that your reverse-proxy server is configured to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). +* `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend to configure your reverse-proxy server to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). From b395c3410e0d256caa7c58473525b26d4b7c50c3 Mon Sep 17 00:00:00 2001 From: NimRegev Date: Wed, 6 Apr 2022 16:45:13 +0300 Subject: [PATCH 05/11] Update webhook-relay.md --- _docs/pipelines/webhook-relay.md | 79 +++++++++++++++++--------------- 1 file changed, 42 insertions(+), 37 deletions(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 039edce52..4182b1a45 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -24,67 +24,70 @@ Here's a description of the components. **Webhook Relay Server** -The server component that receives all the webhooks from external systems, again, GitHub in our case. The Webhook Relay Server forwards the webhook event requests to the Webhook Relay Client which is subscribed to receive the requests. For high-availability, Redis is required. +The Server component that receives all the webhooks from external systems, GitHub in our case. The Server forwards the webhook event requests to the Webhook Relay Client which is subscribed to receive the requests. For high-availability, Redis is required. **Webhook Relay Client** -The client component that receives the requests from the Webhook Relay Server it is subscribed to. A Webhook Relay Client must be installed on every Codefresh runtime in your deployment. +The Client component that receives the requests from the Server it is subscribed to. The Client must be installed on every private cluster with a CSDP runtime. ### Prerequisites + +* Public cluster with ingress controller + The public cluster is a cluster with an ingress controller whose ingress host is accessible from the internet. +* One or more private clusters, also with ingress controllers + The private cluster is a cluster with an ingress controller whose ingress host is accessible internally within the cluster. It also has the CSDP runtime installed. +* CSDP runtime in the private cluster, or on all private clusters if there is more than one -* Two clusters, one public, and one private. The public cluster must be accessible from the internet. -* CSDP runtime -* Two ingress controllers: - * External ingress controller in the public cluster - * Internal ingress controller in the private cluster with the runtime and the Webhook Relay Client. The internal ingress controller is used for internal communication within the cluster. - + ### Configuration -* Webhook URL - Argo Events creates the webhook in your Git provider. - In the `EventSource`, the `webhook` is created from the `url` and the `endpoint` attributes: - `endpoint` is the channel on the Server that the Client listens to. - `url` is the base URL, identical to the value defined for the `TARGET_BASE_URL` environment variable. - - The webhook URL has the following format: - `${TARGET_BASE_URL}/webhooks/${channel}/*` - - Each payload sent to the `/webhooks/${channel}/*` endpoint is published immediately to all clients listening to the same channel on the `/subscribe/${channel}/` endpoint. - * Client environment variables The `TARGET_BASE_URL` and the `SOURCE_URL` environment variables are mandatory. * `TARGET_BASE_URL` - The base URL of the endpoint that defines the Event Source. - The Client forwards the payload to the URL defined by `TARGET_BASE_URL`, retaining the full URL path. - For example: - `${TARGET_BASE_URL}/webhooks/${channel}/push-github/github-push-heads` + The base URL to which the Client forwards the webhook payloads while keeping the original URL path, in the format: + `https://${private-cluster-ingress-host}` - * `SOURCE_URL`: The specific channel on the Server that the client subscribes to, identical to the runtime name, in the format: - `${TARGET_BASE_URL}/subscribe/${channel}/` + For example, if the `endpoint` attribute in the `EventSource` manifest is set to `/webhooks/${channel}/push-github/`, then the Client would forward all the payloads to this URL: + `${TARGET_BASE_URL}/webhooks/${channel}/push-github/` -* (Optional) IP allowlist for runtime clusters - Because the channels are _not authenticated_, we highly recommend creating an allowlist with the _IP ranges of your runtime clusters_. - The runtime cluster allowlist is required to access the `/subscribe/${channel}/` endpoint. + * `SOURCE_URL` + The URL to which the Client should subscribe. + The URL should include the channel on the Server in the following format: + `https://${public-cluster-ingress-host}/subscribe/${channel}/` + +* Webhook URL in the `EventSource` manifest + The Client subscribes to a specific channel on the Server to receive the webhook payloads. The name of the channel should be identical to the name of the CSDP runtime installed in the same cluster as the Client. + Every payload sent to the `/webhooks/${channel}/*` endpoint is published immediately to all Clients listening to the same channel on the `/subscribe/${channel}/` endpoint. - > Tip: If you choose, you can also create an allowlist for the Git provider to access the `/webhooks/${channel}/*` endpoint. + Argo Events creates the webhook in your Git provider, using the [`webhook` configuration](https://github.com/argoproj/argo-events/blob/master/api/event-source.md#webhookcontext){:target="\_blank"}, with the `endpoint` and `url` attributes: + `url` must be configured in the format: `https://${public-cluster-ingress-host}` + `endpoint` must be configured in the format: `/webhooks/${channel}/*` + +* (Optional) IP whitelist for runtime clusters + As the channels are _not authenticated_, we highly recommend creating a whitelist with the _IP ranges of your runtime clusters_. + The whitelist ensures that only your private clusters can access the `/subscribe/${channel}/` endpoint, while blocking access to other parties. + + > Tip: If you choose, you can create a whitelist also for the Git provider to access the `/webhooks/${channel}/*` endpoint. ### How Webhook Relay works 1. The Server receives the webhook from the Git provider. 1. The Client subscribed to the Server listens for messages via `Server-sent events`, and passes the webhook to the internal ingress controller. > [`Server-sent events`](https://html.spec.whatwg.org/multipage/server-sent-events.html){:target="\_blank"} connections are long-running HTTP (keep-alive) connections. -#### High-availability (HA) - To run multiple instances of the Webhook Relay Server, you must share events across those instances. All Server instances are then aware of the relevant events their Clients are subscribed to, even when the Client is connected only to a specific Server instance. The Server has built-in support for Redis as a message bus. - > To enable high-availability, pass `REDIS_URL` as an environment variable. +#### Running multiple instances of Webhook Relay Server + If you need to run multiple instances of the Server, you need a way to share events across those instances. A Client may be connected to instance A, so if a relevant event is sent to instance B, instance A needs to know about it too. + For that reason, the Server has a built-in support for Redis as a message bus. To enable it, pass the `REDIS_URL` environment variable to the server. That will tell the server to use Redis when receiving payloads, and to publish them to all the instances of the Server. +​ - -### Deploy the Webhook Relay in CSDP -To deploy the Webhook Relay in CSDP, apply the Server and Client manifests: +### Deploy the Webhook Relay +To deploy the Webhook Relay, apply the Server and Client manifests. +> To view the latest image versions of the Server and the Client, [click here](https://github.com/codefresh-io/webhook-relay/releases){:target="\_blank"}. #### Server manifest +Apply the Server manifest to the public cluster. > To see all environment variables you can configure for the Server, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-server/README.md){:target="\_blank"}. @@ -151,6 +154,8 @@ spec: ``` #### Client manifest +Apply the Client manifest to each of your private clusters with the CSDP runtimes. + > To see all environment variables you can configure for the Client, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. @@ -192,6 +197,6 @@ Webhook payloads are _never_ stored on the server or in any database; the server **What are the best practices for production use?** -* Use IP allowlists for your runtime clusters to access `/subscribe/${channel}/` endpoint (internal), and for your git provider to access `/webhooks/${channel}/*` endpoint (external). +* Use IP whitelists for your runtime clusters to access `/subscribe/${channel}/` endpoint, and for your git provider to access `/webhooks/${channel}/*` endpoint. * It is recommended to run multiple replicas of the server together with Redis using the `REDIS_URL` environment variable. -* `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend to configure your reverse-proxy server to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). +* `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend that your reverse-proxy server is configured correctly to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). From aa1aeea0cb72bc1345992015e597ebb95d4d87aa Mon Sep 17 00:00:00 2001 From: NimRegev Date: Wed, 6 Apr 2022 16:47:44 +0300 Subject: [PATCH 06/11] Update webhook-relay.md --- _docs/pipelines/webhook-relay.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 4182b1a45..5b1c45812 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -35,7 +35,7 @@ The Client component that receives the requests from the Server it is subscribed * Public cluster with ingress controller The public cluster is a cluster with an ingress controller whose ingress host is accessible from the internet. * One or more private clusters, also with ingress controllers - The private cluster is a cluster with an ingress controller whose ingress host is accessible internally within the cluster. It also has the CSDP runtime installed. + The private cluster is a cluster with an ingress controller whose ingress host is accessible internally within the cluster, with the CSDP runtime installed. * CSDP runtime in the private cluster, or on all private clusters if there is more than one From d808db2116a04c4790eb944680397dc47be7f0b5 Mon Sep 17 00:00:00 2001 From: NimRegev Date: Wed, 6 Apr 2022 16:49:59 +0300 Subject: [PATCH 07/11] Update webhook-relay.md --- _docs/pipelines/webhook-relay.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 5b1c45812..2d5f1fa7a 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -61,7 +61,7 @@ The Client component that receives the requests from the Server it is subscribed The Client subscribes to a specific channel on the Server to receive the webhook payloads. The name of the channel should be identical to the name of the CSDP runtime installed in the same cluster as the Client. Every payload sent to the `/webhooks/${channel}/*` endpoint is published immediately to all Clients listening to the same channel on the `/subscribe/${channel}/` endpoint. - Argo Events creates the webhook in your Git provider, using the [`webhook` configuration](https://github.com/argoproj/argo-events/blob/master/api/event-source.md#webhookcontext){:target="\_blank"}, with the `endpoint` and `url` attributes: + Argo Events creates the webhook in your Git provider, using the [webhook configuration](https://github.com/argoproj/argo-events/blob/master/api/event-source.md#webhookcontext){:target="\_blank"}, with the `endpoint` and `url` attributes: `url` must be configured in the format: `https://${public-cluster-ingress-host}` `endpoint` must be configured in the format: `/webhooks/${channel}/*` @@ -79,7 +79,7 @@ The Client component that receives the requests from the Server it is subscribed #### Running multiple instances of Webhook Relay Server If you need to run multiple instances of the Server, you need a way to share events across those instances. A Client may be connected to instance A, so if a relevant event is sent to instance B, instance A needs to know about it too. - For that reason, the Server has a built-in support for Redis as a message bus. To enable it, pass the `REDIS_URL` environment variable to the server. That will tell the server to use Redis when receiving payloads, and to publish them to all the instances of the Server. + For that reason, the Server has a built-in support for Redis as a message bus. To enable it, pass the `REDIS_URL` environment variable to the Server. That will tell the Server to use Redis when receiving payloads, and to publish them to all the instances of the Server. ​ ### Deploy the Webhook Relay @@ -190,13 +190,13 @@ spec: ### FAQs **What is the TTL for channels?** -Channels are always active. Once a client is connected, the server sends any payloads it gets at `/webhooks/${channel}/*` to those clients. +Channels are always active. Once a Client is connected, the Server sends any payloads it gets at `/webhooks/${channel}/*` to those clients. **Are payloads stored anywhere?** -Webhook payloads are _never_ stored on the server or in any database; the server is simply a pass-through. +Webhook payloads are _never_ stored on the Server or in any database; the Server is simply a pass-through. **What are the best practices for production use?** * Use IP whitelists for your runtime clusters to access `/subscribe/${channel}/` endpoint, and for your git provider to access `/webhooks/${channel}/*` endpoint. -* It is recommended to run multiple replicas of the server together with Redis using the `REDIS_URL` environment variable. +* It is recommended to run multiple replicas of the Server together with Redis using the `REDIS_URL` environment variable. * `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend that your reverse-proxy server is configured correctly to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). From 848cb1f893db9483002932a96d525af57278498b Mon Sep 17 00:00:00 2001 From: NimRegev Date: Thu, 7 Apr 2022 09:50:27 +0300 Subject: [PATCH 08/11] Update webhook-relay.md Replaced YAMLs with updated versions --- _docs/pipelines/webhook-relay.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 2d5f1fa7a..c7de2854c 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -120,14 +120,15 @@ spec: spec: containers: - name: webhook-relay-server - image: quay.io/codefresh/webhook-relay-server:stable + # To view the latest image versions, visit here: https://github.com/codefresh-io/webhook-relay/releases + image: quay.io/codefresh/webhook-relay-server:${version-tag} ports: - containerPort: 3000 - # env: - # - name: REDIS_URL - # # You can specify your connection as a redis:// URL or rediss:// URL when using TLS encryption. - # # Username and password can also be passed via URL redis://username:authpassword@127.0.0.1:6380/4. - # value: redis://redis.my-service.com +# #env: +# - name: REDIS_URL +# # You can specify your connection as a redis:// URL or rediss:// URL when using TLS encryption. +# # Username and password can also be passed via URL redis://username:authpassword@127.0.0.1:6380/4. +# value: redis://redis.my-service.com readinessProbe: httpGet: path: /ready @@ -151,6 +152,7 @@ spec: # checks and service interruption. timeoutSeconds: 5 + ``` #### Client manifest @@ -176,15 +178,15 @@ spec: spec: containers: - name: webhook-relay-client - image: quay.io/codefresh/webhook-relay-client:stable + # To view the latest image versions, visit here: https://github.com/codefresh-io/webhook-relay/releases + image: quay.io/codefresh/webhook-relay-client:${version-tag} env: - name: SOURCE_URL # Channel name should equal the runtime name - value: https://url-of-the-webhook-relay-server/subscribe/:channel + value: https://${public-cluster-ingress-host}/subscribe/${channel} - name: TARGET_BASE_URL - # All payloads will be sent to TARGET_BASE_URL/webhooks/:channel/* - value: https://base-url-of-your-runtime-cluster - + # All payloads will be sent to TARGET_BASE_URL/webhooks/${channel}/* + value: https://${private-cluster-ingress-host} ``` ### FAQs From 7cd7bf9ed484e61d3eb8c1a825df4e86e093dc3c Mon Sep 17 00:00:00 2001 From: NimRegev Date: Wed, 13 Apr 2022 17:16:01 +0300 Subject: [PATCH 09/11] Update Webhook Relay Content edits after feedback --- _docs/pipelines/webhook-relay.md | 104 ++++++++---------- images/webhook-relay/webhook-relay-arch.png | Bin 42292 -> 0 bytes images/webhook-relay/webhook-relay-main.png | Bin 0 -> 159070 bytes .../webhook-relay-with-redis.png | Bin 0 -> 170844 bytes 4 files changed, 43 insertions(+), 61 deletions(-) delete mode 100644 images/webhook-relay/webhook-relay-arch.png create mode 100644 images/webhook-relay/webhook-relay-main.png create mode 100644 images/webhook-relay/webhook-relay-with-redis.png diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index c7de2854c..a3c0c98a4 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -9,17 +9,29 @@ Webhook Relay is a payload delivery service for webhooks that receives webhook p ### Architecture -The diagram illustrates the architecture of the Webhook Relay in the context of CSDP. +The diagrams illustrate the architecture of the Webhook Relay in the context of CSDP, without and with Redis. {% include image.html lightbox="true" - file="/images/webhook-relay/webhook-relay-arch.png" - url="/images/webhook-relay/webhook-relay-arch.png" - alt="Webhook Relay architecture" - caption="Webhook Relay architecture" + file="/images/webhook-relay/webhook-relay-main.png" + url="/images/webhook-relay/webhook-relay-main.png" + alt="Webhook Relay architecture without Redis" + caption="Webhook Relay architecture without Redis" max-width="30%" %} + + + {% include + image.html + lightbox="true" + file="/images/webhook-relay/webhook-relay-with-redis.png" + url="/images/webhook-relay/webhook-relay-with-redis.png" + alt="Webhook Relay architecture with Redis" + caption="Webhook Relay architecture with Redis" + max-width="30%" +%} + Here's a description of the components. @@ -27,50 +39,51 @@ Here's a description of the components. The Server component that receives all the webhooks from external systems, GitHub in our case. The Server forwards the webhook event requests to the Webhook Relay Client which is subscribed to receive the requests. For high-availability, Redis is required. **Webhook Relay Client** -The Client component that receives the requests from the Server it is subscribed to. The Client must be installed on every private cluster with a CSDP runtime. +The Client component that receives the requests from the Server it is subscribed to. The Client must be installed on every internal cluster with a CSDP runtime. ### Prerequisites -* Public cluster with ingress controller - The public cluster is a cluster with an ingress controller whose ingress host is accessible from the internet. -* One or more private clusters, also with ingress controllers - The private cluster is a cluster with an ingress controller whose ingress host is accessible internally within the cluster, with the CSDP runtime installed. -* CSDP runtime in the private cluster, or on all private clusters if there is more than one +* External cluster with ingress controller + The external cluster is a cluster with an ingress controller whose ingress host is accessible from the internet. +* One or more internal clusters, also with ingress controllers + The internal cluster is a cluster with an ingress controller whose ingress host is accessible internally within the cluster, with the CSDP runtime installed. +* CSDP runtime in the internal cluster, or on all internal clusters if there is more than one ### Configuration +The Client subscribes to a specific channel on the Server to receive the webhook payloads. The name of the channel should be identical to the name of the CSDP runtime installed in the same cluster as the Client. +Every payload sent to the `/webhooks/${channel}/*` endpoint is published immediately to all Clients listening to the same channel on the `/subscribe/${channel}/` endpoint. * Client environment variables The `TARGET_BASE_URL` and the `SOURCE_URL` environment variables are mandatory. * `TARGET_BASE_URL` The base URL to which the Client forwards the webhook payloads while keeping the original URL path, in the format: - `https://${private-cluster-ingress-host}` + `https://${internal-cluster-ingress-host}` - For example, if the `endpoint` attribute in the `EventSource` manifest is set to `/webhooks/${channel}/push-github/`, then the Client would forward all the payloads to this URL: - `${TARGET_BASE_URL}/webhooks/${channel}/push-github/` + For example, if the `endpoint` attribute in the `EventSource` manifest is set to `/webhooks/${runtime-1}/push-github/`, then the Client would forward all the payloads to this URL: + `${TARGET_BASE_URL}/webhooks/${runtime-1}/push-github/` * `SOURCE_URL` The URL to which the Client should subscribe. - The URL should include the channel on the Server in the following format: - `https://${public-cluster-ingress-host}/subscribe/${channel}/` + The URL should include the channel (runtime name) on the Server in the following format: + `https://${external-cluster-ingress-host}/subscribe/${channel}/` * Webhook URL in the `EventSource` manifest - The Client subscribes to a specific channel on the Server to receive the webhook payloads. The name of the channel should be identical to the name of the CSDP runtime installed in the same cluster as the Client. - Every payload sent to the `/webhooks/${channel}/*` endpoint is published immediately to all Clients listening to the same channel on the `/subscribe/${channel}/` endpoint. - Argo Events creates the webhook in your Git provider, using the [webhook configuration](https://github.com/argoproj/argo-events/blob/master/api/event-source.md#webhookcontext){:target="\_blank"}, with the `endpoint` and `url` attributes: + Argo Events creates the webhook in your Git provider, using the [webhook configuration of the EventSource](https://github.com/argoproj/argo-events/blob/master/api/event-source.md#webhookcontext){:target="\_blank"}, with the `endpoint` and `url` attributes: - `url` must be configured in the format: `https://${public-cluster-ingress-host}` - `endpoint` must be configured in the format: `/webhooks/${channel}/*` + `url` must be configured in the format: `https://${external-cluster-ingress-host}` + `endpoint` must be configured in the format: `/webhooks/${channel}/*`, for example, `/webhooks/runtime-1/push-github/)` + > Note: If you used the [Create Delivery Pipeline wizard]({{site.baseurl}}/docs/pipelines/create-pipeline), the `endpoint` is automatically configured in the correct format. * (Optional) IP whitelist for runtime clusters As the channels are _not authenticated_, we highly recommend creating a whitelist with the _IP ranges of your runtime clusters_. - The whitelist ensures that only your private clusters can access the `/subscribe/${channel}/` endpoint, while blocking access to other parties. + The whitelist ensures that only your internal clusters can access the `/subscribe/${channel}/` endpoint, while blocking access to other parties. - > Tip: If you choose, you can create a whitelist also for the Git provider to access the `/webhooks/${channel}/*` endpoint. + > Tip: If you choose to, you can create a whitelist also for the Git provider to access the `/webhooks/${channel}/*` endpoint. ### How Webhook Relay works 1. The Server receives the webhook from the Git provider. @@ -87,7 +100,9 @@ To deploy the Webhook Relay, apply the Server and Client manifests. > To view the latest image versions of the Server and the Client, [click here](https://github.com/codefresh-io/webhook-relay/releases){:target="\_blank"}. #### Server manifest -Apply the Server manifest to the public cluster. +Apply the Server manifest to the external cluster. + +In addition, you will need to create an Ingress for the Server service to reach the `/webhooks/${channel}/*` endpoint from your Git provider, and the `/subscribe/${channel}/` endpoint from your internal runtime clusters. > To see all environment variables you can configure for the Server, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-server/README.md){:target="\_blank"}. @@ -112,7 +127,9 @@ spec: selector: matchLabels: app: webhook-relay-server - replicas: 3 + # It is recommended to run multiple replicas of the Server together + # with Redis using the REDIS_URL environment variable + replicas: 1 template: metadata: labels: @@ -124,7 +141,7 @@ spec: image: quay.io/codefresh/webhook-relay-server:${version-tag} ports: - containerPort: 3000 -# #env: +# env: # - name: REDIS_URL # # You can specify your connection as a redis:// URL or rediss:// URL when using TLS encryption. # # Username and password can also be passed via URL redis://username:authpassword@127.0.0.1:6380/4. @@ -152,41 +169,6 @@ spec: # checks and service interruption. timeoutSeconds: 5 - -``` -#### Client manifest - -Apply the Client manifest to each of your private clusters with the CSDP runtimes. - -> To see all environment variables you can configure for the Client, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. - - -```yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: webhook-relay-client -spec: - selector: - matchLabels: - app: webhook-relay-client - replicas: 1 - template: - metadata: - labels: - app: webhook-relay-client - spec: - containers: - - name: webhook-relay-client - # To view the latest image versions, visit here: https://github.com/codefresh-io/webhook-relay/releases - image: quay.io/codefresh/webhook-relay-client:${version-tag} - env: - - name: SOURCE_URL - # Channel name should equal the runtime name - value: https://${public-cluster-ingress-host}/subscribe/${channel} - - name: TARGET_BASE_URL - # All payloads will be sent to TARGET_BASE_URL/webhooks/${channel}/* - value: https://${private-cluster-ingress-host} ``` ### FAQs diff --git a/images/webhook-relay/webhook-relay-arch.png b/images/webhook-relay/webhook-relay-arch.png deleted file mode 100644 index 8f835dbbc3e425852efda2d267318b85675f06b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42292 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

^FMg8+t9FOU(zfXQ49p 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 literal 0 HcmV?d00001 diff --git a/images/webhook-relay/webhook-relay-with-redis.png b/images/webhook-relay/webhook-relay-with-redis.png new file mode 100644 index 0000000000000000000000000000000000000000..42d683938f64b4f45ced82f8e05e0702a13e29cc GIT binary patch literal 170844 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

>vc{#kGEt~hWtKLOK6AmGzz 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⪻5)JNadk$8tzt^o!+6hO0itO}^(;czLSagcmHdLFO zb`9hhQ43_G#xFHF-mF(`{8(eg`Do>$u1;kpy5sd97PmeY8pM1f>5|PPtM(jTnN#O_ z*?XmPFql7x`eCD$uQQvT-twn7u|`yVRVTutl#-ng7<6w zr{>W1N(jQ4x0wLxTLF&s%b??HDa%#mFizR_blrVc-j)^U$Ex(sfC!fQ`1!BN8KAaQX^ox zur|uNYvD;%Y5s}&{CwHV@o)+)%=ZuDwK|5e@-rv>NPF3qxtU_wvIX{M2oyr=AXmpe)SD5_YT4VqCuO5yjNgOrTlQ;*imr%?{F)c{ewVo# zpR{eY#Sqyg94(H=7&$N5V(V%jri)0p?T1~>Jx<13i6ZG|i(Oa?*XWFpZpa&M5-j*) zeaC$%R|J(%VV9jy?V{rysW8 z@=uIESY@3`_n6~sop#DTqbfbiqCf0hQfAB27BA%AG;^A#Fye)Ua_-jrG&^M!bH5hB zNli>NHFVY9v6fftRIlSeCF4P{ARyKyoLDbD0%uKH z9FoS|k|Be6r4DAqi9fiA^FZP5*5c3_%%ZnL2RW)0!=kO!U-;N_ArU%fN&yrYi!#7~ zR|uSImEi{GZj`1^rH!&O)z6Efbv!16aM{&$Ye;GpNgpq^o5j^Ut`*SE%d@`YEoF5m zq#jIurq_ZP`x1VHOM);91W{h^*rDFrxDdx(=M@(^l|$FPfafFSvK8F6ZzU4HoTIkQ zW!(`CCi3R4>rS+~$h6nqxv$mx@k9FzZ12e*(m%f?UYmMRqM5OtPd62PfhBsjC)M78 zRI4IaLwQHlUg`6|*Q;_r>dr*p#rlprwPnp`c1Rlg6SAULu>ltl779S+Rt65{NgY|^Zd_Pn*FccP1(*di)#aMM4SyCY?pdA zM|w_kS}z#OG5X7J6`R=bgrKb->KDEFV!TtjSp7t)<}zElL{a5qYZbr2r&2aQr*Y#n z?zB1lVZk(nwaQ9oiysn`ERc&zt6e9Fp}4rDdYD+XuPV#yB{R&L?CvlBanwkh|C^rJ zA=!+o=<@{E2ZbT%k=~5_z1^wi1vRg+ZDz-d3h&N(qPt_{Z|WITX66Zciq#yJYaA}V z6O){(q&cgR96qY1Fvj9-VWr-7$ak>yxqVm8ej{Nd>)PFxHd@T27I0nSkkT;DfjxpW73ad{$i}nhD=*Nbco6xByF>OitI4?D7w;R5ov*%`+*Hjn zKmHCSwh7r+LNBz%WV=kwt1GS+AEk74kBxF_e=*SImbZF`P6lHaR!if(arNEp*$oeL z{M8$HZBJre^2hT+@mTiuLzZb~s?|)w%C|DymkEDKLMz!7DnmGN5K8O0rHB+;ZA266 zy4^#f|JrqNF?UxP9(G%pT@OB10T&0Q4v)<0YBWtD%!jx4*1B zrfd9$f8lDmYJ@QF@!1|ee13dIuGN*!wN2kfvq%2@oHMOnm%jVA5@8GA6RNztp5L@+ z$!wSy;n&4_Aw%F{%})~7gZ@a)`K@`Q*zcc`kI8rR&B@2I)$&Cb#dP%wqeG}UyDsQy zRAz>3F&&QZL~?jaRbIfC?J};-qIOidzW?L#B^!TY4?N=MQOOsVG*#~uVPIm1P_bW1 zILssze9lPk@w7EzFy3U;Lc6}kAzI}0Xc=aa} z<+zqzp0%s@fcd3rt_CqS*D93+Wo_?j?^wCFK|!}NhQ)nv#Ci8~(b1N-8|!q^WLzdI z_pGNRpE%%W)5su8Yv#YqzHG}QWgDq==A8Uc9-jt^Y&zdU)J-sf{0s)6B^5zWfS*iB zuWpI#>ZhSsV%>`uNX<5P#zHusIaMKjErQ|r0SHDsy(p-DQ@4_hM8VKv4{Rd}?;R^|&j!On6?UXdsI2J5aHe>IJp8Xs- zT^lWs6%sJNaA)r-y;Lb z5)oQ){))M?F0$h<-fE7>ls?|wdqlTKDR`|b>AkBAQqEC3Ew}5d?Ahw&OR&+jTu*bv zPgJLqzFvJiP0gG?+Wl-hcQ4VFjp_blYmFWq8Jx4JtPfw8ty$%qixi@l+QbnxKh9id z-n_m;<#*PEtgG_%ukC4Kn}u?(z>u`u1i{LXr^9YXW&FoDGh$S7jC8gy@2Qot(b)#2 zxS4cP)4k~|bgEPsEY}qpuN2RuN-(YsB(%ZZpEx#&D{Ze!KbvW^d>}XKn<%eDrX}nz z{CbLoHnYSuR$Fe2YGr9OL+x6Bx1q>6i}t)hg#r!jnmj|=IFr8C(P6d>z4v$_6!R9! zQA&65sN?ZB1J;|>nD1hZsC>5jFvzub`0iUto)L@L>GL?WbWPirXHZDzfATkQcI(w? zq@*MI2lj`By6*au;9WAPfd{bqdnE{iE}mRrsex8+^g8?rMtNVXK9835wUcMP7_#3& zml++!%k`L}3FAt0N@FSICO*Yy(1|PLEn4lRELPhaSsfgu4}8RDBAg#(gKj4x_rf7Q zdFjK_1Fg5!{47kCZ9EI-ADKt0Qqo>vG*k_iXT%S$IjolW>Z^m4y>yXzZ@ddNj3x++ zZQEYyX10s_J~>^CC48%QkkrOPDN5>keaoXQqH}63<@&eBJI{z+mB^;5)Qo`&MYd&k z+&wOIfrrQTtr|A<3;iM2@v$4%u?=M?EF_}nEUtBZ@@swO^jzfzeUQ!;zG4J$dUo4>LWJSs&5Zk#?kpKkhIs#cO@ooJC*5jZ{8c@L zvEfVznK-ax?C`9PJIN*7kqi5TgQ~C@$wFlVlnUK5RO4(I#o{(DX00zlO)zAm5PZ_CX~``7E3k z6qG{_P5USV1P<3HobWW2uZ-h~Iu50`khNrhwcNphx((!+qSHNV*Zr(Y0AtwxzGS+VZ?e}`hG{JZv@EPeR zZ7NUOZ2-%Q=`hBmE1csk)0w#Aq*_9_sbO-3qZO`w0Spr^lzgezCFv@&TH=7b<0@Z- zA>OxutDkA9gpp2$;f5B&$?J!up+q7|DeM0pQDvmQ0GjDY@&N@Zdq|%9UefhVYl-1W z0QsumPq?!XYX}b4xyaJ4=E~IMQ7tom>b&#FpzYrCiq)sC{Ka?RUmhZxAzAq@!QbMn zY0(qa5m;K%ae=Lo2nco)UkzBL?G63terEzI>YMd0$;<~?$0Y;A6*{#Lnj zBv9_6esDk$aiLE#%#Nt~@Lq%goo$}Y=9B!j`zk-S92^`IqSiyd9+nEikF&v+*xVDj z#xeQ;8=f=az6(TusU@_9lJKMfZp1WYj)|EcL=>7Q{R2^pQWL;<0_$u);Uo7JgpoJp zp8?6A$vbrABtS)iaCrCXZwowYjb3N>BXz2lh{y7ms5qcpYm}BKFv6FOmHg?;At_fu zJakas`YBt2oy^HFs?kqoAzV`EjY~R7O~K_hVUl zYPk@B^#SjJBw<$0ihzz~5p=$a;T>?uL;NOYe7*h)Koc1uEhneAQ7~D?Qt-= zfyWH*u&}9Dsb!GV_%l$z4#o>*7nT9(OdUZcaRz|5}eZC%$M^JAX zP!B|GQd{pJAh~i^Bje|{ zw&R1^FzP#Amzc&?OsxAm~QXVMTgt{v!!ym&e8$%N8N%ol}i#J9tDF!&alP;op zC>k+sS9=gpA)HIMrkob)-GfCv{`m6Hujp3Ao76Xp3ucSS9H_f(E)CTV@^t^KE59R3 z`B;Rvi`&)}y29Irsx2Z~ zH!9d~a(QYEyxKS1S~8Zf+MQId(pnq!aFCKvcl5&fV?Edq60Ag+Px`>wh(E46cOy*F z1Dn&MWaTjo`k_j{-+5Y8+M%@K@$mRFGT&C%CwV3E8IW7kIb@fY(5tJCY{RbF0+7-KMqKMv}$;?gjECo(Xztw=x` zV@S*GFOw)l9s0DoIZiu_etrEuHGX`>5p5(@t$dRYw$}Xhh;3UUQ7*i+8cM5{+m1MD zjI!{CZ4OmUhwItDXHTD}4r;erEofzUVL+f0-svEDKiZ1U@mM1Q=aOWYEpd+U=c!~l zRY0x0zPkfcSxN3`b*F#qw$)y)XznX2&`3VZx2Sl)@1Fl;5zN)5354I zG}ipd+=^^)N=_NJxoDFpx-0n)1LD*Bi%sQw{Xb0W5F$WY0UDYI?PJe15Nsclw~d8oEAM3XUO$`}>On1l?OLMcOJ zNHS)~@U4scdEfW`p8NfV_xF4Lxu0t9eVx~Nu5+zp9qTy!wcJ|o9Z!nzXc(?%Jkc8Z z_}!Jgq^UutuItxvqE0QXd$@o`I7L1GS@*bwm#-vdudFhg$y$uRl*e@zu}ClHpgRhJ z51~YOjI7QY(^E@GA1w@PWTx%>`Lq57=gQ*#e1B=v z+N(~dvw@DZRbfZb7M@nu2E&Pk)!LRXsu_;PXXa|$y>WJn^1{Kk5p$watXKV_S#TqjZ*ao1 zbRy@ta0jpYM@velVv^!F=-BH7^HRP@5MP^&)aE`7EQ%zg2*giZ91aMaI(>g2A%PaR zh&htDJbA0`UV@lZ*7*J2IkEsJCujY`Skp5GQ-F_n@avwGUlg9M-)zda!}^5xx!{z^QRWLG_E~K6Qhz? z;+h>g)xg`Fi%y5*aYk?_P2>HlWf%X^>k$Vlw$t{VDozu6lM78 zgDBcMZ&B3iMgFu3cQ1B^CQi$B;`)01&59ruAYj! zwScpJL09?YmeAYb>qqe24xW@&Ezt+;gZCLtYqGFqRjMdeRUa3#nBL4*7}=0+Ot^F9 z748A%CTf&6<7>|q3uS6lB2@~W%7j7bQ^kuOi%IlPOWfiYd)(DORT&;dmR_nSzwA^t zzr3@(Dv3)AnDyY++hiA*KjBT(A&v_eTVD8jr6@Pg?t1w6vF}<7w=3g@yrYR?=zBuL z*HtA}nq-)hA~yR&Q!dlH*)2RCd*BNUmwV zVOy`eNPJpTF(GuFdooGrRX6#@qIP4Nl{iw3B%s)<<QAGd(k*+ZL_A}pZq z2a!Cc$omwvIA~cU?oZSWX%1QTBA!&zsz`fPX;@azf!9^)ePq$^@MlE`=OkJ|sNAAE zyG$Dqr%bb>cA>q#4_8|~L$81x5%=lg-8ahqBuhc~Pf&9S`-wQx>BVdb&*$O9qj-*# z!5=ckl;kh4=LIX>t5d%^WEx-+$?Nw|DvkOHy`jhrMITOH2s6x%ZvOtuV&~QtxnLD8 z1-lqbhOgW)pOg7TWiLjB>vJib)EcHJMLS+$4g6Lhgtz6L7?kGn39ODAJYCH(8tHBEm=@lVc6E*|SY;iC`|S{(0{nm`aBS;^lA-1j*iV7-=ok*Ndjg~;aIw4u(sFDO2{eWW+c=jwhp5<663_>6*-p)tGs zp<&rZZKt~~2E|+UO{ZvL-22h<#(wX5)EHe@1x3!Qj)cWyHBCwEdS%ym3U9B+iu6Y> zH5LSt&GqAIQJ)lwff0lj3eL6U3`=~rlVU(vOf%Cc9{GM93YZ0cuH8it)+&*9d9Ymk z&7zgW2U7w34SHxK4HtFKB%X+-KI#cgPS50Xk+9R3Q5|Ut!iXc<&fxPa_r;+VzcmSS zk&EECoUoP#xaetq%YB zePo2x0aeanexzQ@?FQ%qoQZxI>0$KXTsZs+QWWS4jPuG{*7yx-`w0S*4OKu@1ju9k z!kfN5=E7bT8XMHJ3lymD0tGGsSH5E&*=z6RNV2ujm$k75m&KVm=1U*OKX`B{`|yw0 zpnE6~>*lts@`{5BKin}tdpv3)!$MoKn;&WrPSgvRFM-}8M|{-> zfXuM<=D#g~MP98JJ{$y6Q8^CQdohROExOQxkSBs+c-Y-!m_;}S55y^7&^_}+C&^S* z`bjy-dsQD4d*cbXxsP#y$?RpIr&2KqdWY*db!U}kaSE|L9$=K!`ELu^$ia5k_O@(j z{WFok9n-f`9-?S}hT-IC+B1^P5j+?rQXt1CPWR*h3=4Li^2bLrWJ74|`XLP6qo0qu zaUQ$`?#~;8nyU66s&b$=2FL&TCG+2Y-2q9t|Gd!pRtS`lYDB1Aga>%t zJdj--@|27M3dp<4WHR8)VB&x;nzoL5R0$)jREADg#O3R z6jcY)D?*@tVGz;-GV}-mat8>INLmOJz)$Y489&it0s=K3Uz6w?BtkhO5$f5s%qLtf ze5#Q-(z?54Jqi6uJ;05Y3L4Dr+8IeXB~3*prSf4*sVK9Qku>tEoJ>OuLj+VmJg3rcqJrE=@}ScxB|gUMuv%OwNqi6&0^Yq%uv#OSnR*l^! zc^8LHvxL))oV}pzU06kA4_5iN?I9M;F{#*#kqX$Xpif2^j9}l#@HRVlL6$-bI2yvi zJvn+pqm;^W+fD0wsbfYDMIAPs<5xnlb?sT$kp;uQp304XmtuJg0Y2=mEt&r(AOMe4 zi2ZP=2YIL->Ss90OS&*=MNBm+HlVH=ZJtjlb|vG zqMFPAsSBUq9B zi%W|C&oISXzMY3Rm#NBcKfPB%e_E*e0LAk_Ep`qzl`_T;r3>}j^JGGSTBQZaJp@cU=m6gF)p=xoBOSP z_o0FkQM<=U7OcLTw7v7e^gHp3s;c?WnFuP$E2lL&6r3$p-oTE@NJiF8ci;cZ8BPu= zR$T{=oh--BR4q5ey6QW3IvANk3e8Ch1g`|dQJg%NTRjGz3yh1Ob=u%A2*A!mrG60v z!eufV`Mc>y5$ee@LQe+VRc{Y>-P`Bp4H;cggfVua3~9^pR?$cQv?H**jrT|!tqCKKcwyW#`ad>#>mC^!l4N%d+8naNkbYyP3pLi73_&aHu?W0 z;OZ2!MsXwRywDzFx>uIbp>+b3$omm{R9*qEDdWl74G>ii-L zG)ZqToP5QfCSrdp!s7<`YfQj^QJ1fNc?=Rz#Cb=G2gaoj7X0|$nf7bD3?gfBZVrem zU6HwbrCs#T*Jm%z0z2;n@^&fz&u_On!NwA}zuh@{!iYw`EEp5#&w%=bAdFAOhlQc? zK)+*y)$r+=6d4mB9>)_VkRk3IS^D^)j9pMQtc5!G5qg4C5l^u_vggg!nbEO^`tM?!geH)j4J0s zOZ<20G6S8!ujUemnRT91l5{8}Nkv?QIuJq(>}@aUf8X2Hy*8(uKN-7Jub3v@qj~~V zKdo~ib;!uriWuQgf}n{OpKkI4g6Al6Qb}B#(AlC3KYhMMOOAs+@qLJi`7*@U8)K2e z#^Q~z4o@KaX|amzgnK!!<94{Q$Z1-f1Lq%JlBblYXZ*i_9r$Uaap@_DB$*~P{zkTB zT`8)7F)3bo13s@BmnM3#ZEEi(q_ZINah0|kVGm=5{afxv7QKr!v!UnL3nsJDcd_y5 zyuEJAZkW4&xBwJ|-e+mvHSXepP3( zBPG!ZX+XS&@yus1hQ!1KO50N4ziV#H1}YKyAqFr4ftZ^Dkjx^2OTtQUHBgRqK^r8& zGBs}lE3pOs!6E#-nFtAA)S)%2u^e8mv85xy^lYxaQe6fN`e{XpHu5cpq6G$mUB5TD z;EkgWpVCsj0#d`i`RldY8`@ib9m&%15N&!(ayBXlePS=G6eyBPaABr0*p-c7L?Cfw z84Q00E|iPkMGgy28=GKf)E&pwp6d8Xu7FjJJFP^b%${<&+TmSk_eJOgY)?-zoW~=( z3vQFL)TN+*zpktr2Zx1P?9enn(hI! zOYfmjod9h$qr6q@KI%g!6~lFa25XY0)CiiL!84$6YhuTM%Z&X*lSGY4z{)6%2%arU z*1AH$bptoaSdsh0V{VMwxToxeJ*_*0|A+)^aEoHq)8`WQBl&b zAKlD{*5!xjZvuaOQ^Od>DX*JLtvY~d1~PpBlZRP0Mvd@_y|;ixFe6r?INlG&HV!Zb z+Ff8K#WV2V2up8*-nrG7>E&6YjUhOS*|b*Lq%w5qiv~3A>~^joHJxy%V{dLD zRy5cxLPzts*=z4oNT_N9{9mpiRQ1mlCmyWcbKbA1@*FtAIfYj)LGM5@VVAW+skqyK z`&)`AeCnLqI6eL$Bt`tA-(f(43BRHEpuSR-I2L>oHOg;Y<2RS!EA@l2OA$_$fgMA} zO>9+q`IUa%l+2J`a9hMIghtzNivlk~XU318s0WfWCjB6+W)^;~gbc^n$eXpUqV(D9 z*@ZaJcIPjh24S6h5PmE`ktB0N_dHgj`uC?RlAG*wm=dRznLaK2XDHF=Q%kV?`sqPY zoC;RaU6>>o<;)3_B$}~Fx)|HBhY1jFjd!G&%dd|!!1qQ!dkNm;f*J24?5=T~>tgwg zB{_mdz2a9N$DxiAzev5KTs;MJcqG4bC53BG_P8?YwPP>C$J?m}dQ3v5y&rGZ*Ssu0 za)`Q&972|PMYtLgvbc6bmdwA0EIF|fOkvoPE_Opv%IEt-N8?X2Xcgj6{h$W0l8X{f zSe}P^Yo?DUi7evdY~k zzucqYdE3hu^AuB!QlcPt)KEIN0ZB~4z=ecFp|jw&>jVcHG3UAd8K!AtW)2AaIcd5a zS8j6<6LYYXagVOq<9`KqN%{|}1g*=g8RMnDMN#|(s&a3ST3ertNC+&v;i}pi@cW7@ zTxY+3a~49U(Cx%-wsQQRm#174N;qrGf6%Q#Z5HE!cgfaRK=&Ok{cHE1Ij$S#OUo4gsn?dVnsC29f$humg z6o0rLJjQzDX~g03b%;8LI5W7x_Di0r^k#rN2SbM|d_wL~zx`YUD5EdiH|8T7sSk9t zf;AXQJPc^!SPgW+Dsz=}^w4zavp^)>`mozU{d};%!Ry#Lg&S%h2=iS)e$=8O4%GyPZntN9c*a1|z8b(b<+*0Q8u_)xa;XgLzqH~j zM7UMPt&SPl^bBK@M#GX)zzBtzUJgi^wF&<{u@@sdkf90pXJ6AX35RGyu(9TyQQW7j zbOD2B!7ry{S2!}_-LmN#`LY@jHNp+VcWy?O8?UxbpHyPz288U~8{lvEguWPS!S#u< zfraLdOIOBCdJlaYwvO{5=>4UXA()JWSkVIw^Z-n4Uc2I9$IzJPJ6EZ$dIfRqo6|V9 z9DD`q4GLWvvF9<;!mPTh5=>)~I=tb;4)>e0rdSzq69`h`<=O=8l)-|$Fx@U59@Cd16Z3VXN? zrJEAj(GaiRAn8Vq${rAOA9=F|t zwm!cBWe8J;rzk=+O&}VlE0U}Z>RkLRZvG2K>7HHbKf#-z^m@@m_FdQl_gKpz&W;x$ zTf`gBo&hjn`n%CU3S17^wHy4KYQa~ zvp0xIc#KKLv=b8^BlEovy)1H7{v;f3CP}_LNx;}F&BW+Xz(s+ue73{=ZlSv#R5dA zPudH4^p^%BaCaOB>9f})XDf!ym(RAMrf3~IF&q7Z+ow*;bdZ&0&6;%zY+r4anw5@> ze+eX>iyWu^1{easpo?*HTY_+%rTf~0a168GYmADv;@P+?FHYd*LkiMMh7cx*Db zo&9@GrS3wpQPXJ7pYmc|$ZlBN|CZh8QJe!dRieEAMlbq6$GE})gC4)|$_nZ2_CA=^V z_mGw!ayj=(2dPFdQf8i-ZDk48DB_-q`@oPMsM0w=Bj?63P_G^Qd5UpI#(_Q9*RT_Y z4q;%|IAozP-<+_UY4 z@{DU){dA^L!OlE-LE96v`$#&-96QN!*7^m$xqTvJLP?`u`L~iLhwRuUeN6jj60-dj z?LcpSZCr5908}1$*Ir!eOqDZ9-2`~Id4BZG6Q~+OLX$x2T@Z5QSdeAV0%PEb(c7H& z0Q1hhHZO)YMXX#4&Xp=#-I(SbeC7}dss?93FN7Nq>3c9#_|!ESyli$$A%>&6y(F6X z5)g{=BpRuBY#2yojscvwoZg;;XOMK>s_h9h9zlQ^HI-Gv|H^eO%++1{KJ7QgW(h z&rZ3cw6gO-QHMm7pGWk=YMtpO8mvA zf@6$zy;0NuFD}64PTjY&vL!taE(uX);T7MhO4lUD@aL#=_~4OAM44Em@MTv)c#A~` zm#eRi)R71;P+oD+TcC8xG}}Ci$yM0=6@C^UvTuuxa%N+t#Rtf61?A1Vd$eG=kj5D< zlKKN25^jGBXu{nkQT&-8hEQQNS%ZSI8K&tY^lCkG_d3Y+wvjMHp^OyHqgDN>shY$D+hcO@g4QLE} zLChPD8637#STzO&1H!t&F(Y+!v|!C&{Rp21ktE+Z4>}@)0>{1P6WU*51Op$u3_7Kv z3Hy)N@=tlYj}50axn17wNkfgPq!c65Ue{-z>EDmX6uFoG>Wr z10Kx|klD{oJ%RG46_8>cXpSs`!B-1tEYHrZAkq_vPzD$e^B|wl5=5$E~MF>k%OmWyojqJ3!1_kL4=> zK6fFynV+z(IR*mCNjzJo-=WunXhj%8X}h|vyZtF(dCEZAZ>=PO-#{7K86&?Y&iB1c z3Va@-ZcosxI}z!Tbvk4O)x~C@yNxgW)GZ?ZXcwD9nnU(%Qf}$??^yGLRmZAtig#mD zq7)!?Sf)<{qd$iH(aXawJe!Z@7%5mac4V3#DjmGJghhKxRP^p1CBjLEP0={JyVe!T z)(?|XA3L^jXw+eMfBKyZKjDo&&l$dSbp$p0flO` z^-BPpCVAy;x29Ov!-U;cwY%y$yBcKZzhwn-D_PdcOVchdg(osgzpd3}y`5Oo_xN~( zj*NHxoBezD%(qL>zm+UoVW)myADS6>WY&VF{V2)l6Rl8<2?IOVkPcB+N_X62J!KGs zVtyS@j*Q4X%DuwTp|ir6_UvN&%sJZWDcW}pF?DrQ!)V3+673E$>J+=jn!72G?c*!Y zFGbkhWp-KXMF00+Dq_d5|C!sUa-u1K6?1n1vg~=am(&|5*U=p6ADj?9&Qs2$}iatutSxUun8@M-dxbxzb9!P=Q_P;9W2T_`^C*Dccpofy}P zKco-e3#Cxskr}9Df0WtCcW}SsB}KP}K~EwgrG%|MvrAncaU;F<`Aoxlo?0VAMjF6D z-*{y~si5y8M_G~rf%-IQQ%@~jP?7EZ`i{^@7U5P%AOzSX2(h3s&;qJ-C$59vH8r;! zaAlFS0=Z(ryZau5Zr?s6uz?&(Rp31U#=|2cUyWK^PF}e&(aLmPZZqai*-AGIzaO() z_6OjwxYK}h(lE!%^5k4Y|XlQUf;0UFSI%+h!z~ z`Z5zTK$PDyHE?_Vg5(E-z^)9{?ibGH5T)EozVG*{Hrb}m^|Z>O4pyA32PJ|Dkfch4 z09{dr!M08V{B#fe_!JR^yLz(%ZyII+Lwrh$4D>B{_e0}G>(fhDVbDd32RJluk}Tlt zZGKcentb&wNahIY$*m;N7tgmT1`qVYh1VxRHMa#l9c@s#M4C(s4@1~~jzwNcT|JB| zz=l)<)ZcnBihCd)TD0{n6K=okEr`EEMjD&5ZCWBwGJ2uE9v;uaBar!0=w4S%>JfC+ z+6i*%Z#?ElrmQJW-&a}EtkaBK+!fcNtnI}WrY`(ct4c-gb&Wb{RPyrI#R;aYaOEmF z2sjcpT#pWsGB(nuL?mus`c$6x=SYl*-O`~3dK4c)F*ArPqZVn(9J}Qfse_$Q3u3@lHY)h6l>Qfr;Lkg}M_E0f?x`|ke`bkg#Hgp z^-E>&wOWLblVQyQogt27@;gv&xa_kh>S+FY4#0>uyibSOfzrhx&rShzr0L82I+p4e zmo-{k_?{uR2kG!56{K8rTh;!AxtEO=V-X}sN@v?#1>DwzW)AakV zw@N9u3k>}Z5lg6>Nh9TQ_OC%h)S;De<$p^#&ckPo(h@!4OMyDvMx+2=$3H0cb=cV0|ESLyDcHzPK>2XnMi0* z6YOvo$w-T$o(AQ>W>C)*aR z9S}EAWg0o0^-;Ngzc}s?CYmJJb*RGqve6;u<*65jZfn&vH%YoU*Ocfkx!MIZ8n^b~}e{U%nfM%(KWX%P!%f0+eg*UzI z`N0MC{>C~ui}HZ@ky1OI&=y+)*K4T^6ln^@x!d1TAA-eK#BWYWbi)n6HNdEWDl7;3 z`d?#ToRBW1#4&UPiKbH5G$JO3{H6O>DN`vmBZW&T8&1wyqrZAHbFUm}WKU*Wfh!}Q zFN&zSSqphnNb?iOtMUW;a}C}c*BbQ+{D)cV$Gl2UZQ(yRA!TnJcDlTx@?aA z2j)}?OcjRi<|Kz<$(R{Mjkmn>P=$e<0xY98@3nO!(v@Nb|FFy=qb52U)6v<`zjIZ> z9`5_~{v;W#=k;aR2f<~phzxEs8SKLwz98^sB6HB5L13)JX_tON%=P4q3ZXs*B1uv! z)eg5vJJ^(a?=Cn({%a+$3JoekHmmlJbJKUg5Vs}e`d5Jg@21KVhiJR6aM`Ux!)p2t&w&w+2K>#g^N zivtn>;kM<|OO@5~Ruz;V3dQ7rS;*6(({TF}zEqif;e?Bu&U#uiS}aL6Ewf@+Up6zZ zji>{Nw#NYi@q#j*A=MmoGY#z$;?z2q+W1rmhehnd=!@!Q`S{f2ifzQSK!C7U>?bVY z*@6!=-P=l8D)nMCPI6n-t7I###2b-X4uDV3Sb!IQ^^gyide zX2sqL%8j%3lOM`sF>Z?)>`A6;7lpeQqd4Sbcs2+45sYR{rEWl0w8*ynwZgK+)s)Sz zi}&|SoP!<6igwn7Kji7?s2&_pb*Ge<=}^8) z?vy_$8Ou|6wVCU)Pd4)TRZc8*DzId2Di3Q$#*GP0cf!Nx6V8L%A$=DV#!teIo>Xl; znJgJ9a@ej1L@5*IZ$*3IMQn`N*_Ofo$i(S6(t2YeA@O~6^~ZOy8*i*B%%`mb|6KI< zN26qDPqNTG4*T6D&3<5R+OL~xaDMGz=dr*Zm;E!=W%AT#<#M99EnYYD(Z0=gi<20n zm6X#7u{%YN=7v{h8+IhP2+5-z@6+*)EJOVse6XH!Sf=Tgu}7_qS}!Fc?})vOMvA6B z-9T4z6?9TLkh%b~0*+FaV>YVizI$QccHREVu*(vr$VO4qStU*fY|(7FQf$-UMUe>b z?Nbf%&JZ1^-r$iXP!oIgmJ2Up%fQ^gvVC17}l&d^~d$Nz%$K zqzR_+{C4gMLIJlSsU3siw(T3%pEyfw)2;SZsEzmkw0pY6R<1uI3GyG67!i7UVoF8H$ zlz!qQTI^Cns-*Dji2_DyPr`h`TG-_LG5nvA*9=*o-#j#d@>j{2rCWP6>QEGe)6dwN z1LOj~$HvCS!I8xfmaczvCl%t?b1oUKN2KI&j6`KcEkU$}nlY*ToBc8yN_YlnHVuTj zg;8HkKF-9(_Ty$BC?aTd-4@HkGLKpu%Bm0D!nEmQD#L`E)At&Vsj)E!=**{BCPhX! z`PS$S^wth44}dOXVrL=0>7Rb8qye=xN;o`xXC9=Z?AtWk>@%^6Ja_}5pj2lIaa*OF zZ%#6EBvrBX^w8?1clQUveDmDDH3@FdHO(=tq*SMH1z49YXLZ4Mw1iXzU9}ticadR;Kd#6GW*dpOXVT@1#$T z5ZgV7@&njfx6zPKBWmLGc>c~YZ9>E3S~XeHTd84Q*RQW<&hX<;VB0xs4uzIIz+SVx z%fU8n6H>;{^6#;04s?bCq%=4^A^lejr@221Xq4HrZV~mmgie#Fj^Upvy)wu#PJxo zeL=EiU@jXqh!d92WZs@UkeY+Znosum`Mke((mMwGi5^HpI1%Q}(|H3Zt|MdYR5d4W zUot5V58+qGiybC!5KrYT=})7N3f!7L+IuxcG)CW(>iQqXqy`=`DCji zUJy#BKeK#g&W{Rjd-7dJE_hMm*_w#S2PXpvZEW9E!pLUd@zt2XCqBP?kZ{zS)U=I^ z`1ZlDl=iX8rA91Tr7`%yLE9$lE}pfxM_1~-e~)}Uz;i?(RRq%~cA?p(=ndm#t|!BQ zko9@)v-8EirP|rwUEJ3%<-l(08Sdo^=>>B*7%!s zNmJ&puBP4PuI9-UzgJRN->2-tVo{y5#>mXh*Rj1?k7vGk0FUY5s}m3J_${nHsS_0G zVc;mG==Q11@s7+p$~@1#cxt>mtfS+b`W%zLo&52{u=x#d#z`*L1|wx<(zkqaLw1!+ zuZNGRUw*$|nwBsv(W7>H7i@HTH<*RU^|Gr%{}T}!CW?|a^KPzvyK}%$hwJKopgsjH zfx7T^nx1+Ldmhbdle8|lbhxLMN#hU{1{8m5UM_p!wjSSCD0p#e`}w0>xzFEZOLB(W z&i~wPv0U7`c>e}M7iL7h2Bed*t!RXRC<-;4&%#?46B;+?8~n=v`bj-N;sb%gl^XC zmse*w{Fe=QHOLL;|MUXNbAnc3v*ZFG&9QvAYtboNY$BIvW~Jzt_WhxQ=Ez;}V7r~n zZ|DSUO-slhl)s+UI)X5X1J*_<5^cHo`1lAf@C~((4<$o&NF@KZARwtqEPT?3$4SO4O6mV^bjjJf20$PDHuCztgo36F$FTauI6gU@)30tQ@6L%$&KcLGWNU$k#tWq+_9xWl+ zeS`6qTO!CT1Psa`y7A7J*c>1o4ceRDX&_RTGX#VlZ5^V;SvYts8`0@qfGE!RH1?QrWP zBcA+=Zpy>6dH_ET5+be8A10L}?oA zYUq=&9>wM_b>)O0h2RAuJ9VYp6n1Evx-UH$E{270<5v(DRplQBunz7?1>z}5I&=B# zn_&acPkKHuP=^KSwcJLSZtWTHy{*u#OxqwY*wdTFh=LaE&4bR0)Svq}5q(N6CrR*( zNc(on`vP79fWFQYHCMo(1!rsk1@iz1w*^enP9TWZeXARqs_HVIlo|r2| zkTEP3H!0ofIcN==9NF}RuD{kn083v+oSy}|)YssL3XO}yd8UPr&Lm42JbAD3NG7W@ zELRM8wJYm@(k6^7!LQ0+2>@xD-sjEB-QdRSKr8=lXm$GrO5EY zMot7GvsRHsrC$}xZyj~^QyGrSzIdxodW;4P?a;vPQx|T z^nuXQdyLA2ot2kH%PyslSgQ@fP=(AD>Qzaq3`Tbal?tc+q7?dMEKW&krYGkP{f+&! z9J9Kax39{hE)2aS8YhDWcY#Hv;q$&~-|KxJq05*ch3cZ}&u}d#Q~Cj*x3RLstj1lw zc5188wJ13ziz^9Gp9uxGNwLrfpyFEDCg0x74EtRB`0!nbRf6(ym+#vdWi=n|5&l=y zr$Qr4aG)?81(3%mQp&GvKi9;$SgtY3;qLl%9faT3fd#>mz<|awOzq|vi@|0?>t8bK zR>*F>fBkaxU>|3v>{1kjemtgn)+|<;R^S(qG-t$~ zdXD|L3>cPpjJN3&zme)F!D`n7)p(z@^AwqZ8s-t^IU31di5J88!vZs%XEW2Wr#SIB z(w^U8fpiR)g<_5?E;AXr;u@%&Gq8qK&YU1T?gB3*wlmsoLoy-M-Q9B0^j};6fOuQ@ z>79)T5vUc$jV$N|Bg&sZAXXtnG(7ff=D{$*1+_Zd4s92c+U2q2{mJWfyX&%zse73h z9pb7|wx$jNeaHJ|)eFn51>mRWwc8W%#Eg?v-D6zsN90!%)o3T1dyB2D{TEOZ&_~Lr zCIqPv8U}@dF*_p`q4PM^pP*oYYVb)Dwt9UIdfb_~P%Qef&6nt@dgv-W-AQ6f`T(8t z=e?&e5eR^;#K$6L$Iv}F%31;>dI7^MqE>N#zKKvDGky|bK63cYEAeVPclq)uWo4fo zV_43@w|7sQ`TWBB`7s%>r}mS-Q0l!EwBMbQRO+{tew0@V=1ts;a4&E2Huc0gB*KYC z;6ZI2rzCe%9w9zqAn@;sLov#vsKf}8S|m_>cVRylW$m{R)hLNwpgyyk`)NdjT71(* z`kAqvf7wVpE^4w^#P8(Aw&%QSB>4jf6iEIbCrm!6e&OQzaUF_RcX1)fAvca4jsMp zz|DHBfG4Y5Wr0@$D7P8(ay?T%P|$u*VvI8@ZShuMv+Duom81meEaqw||t9 zE-ICrl#!~*o-u2vEuJ^h57?r}n8(vAajgtLeVCW~z|=F5=H#^F;}K5Xom&k7nL2PK zCPd-7K=oWhU+=Nrf222v;QLM8$=J+@eJm68m26JxIlB_w$z6M!MSu?e!saHZD|z2C zePQDmh;7|BT_)Qz=09Igq2(spL1?%r+@Yf+mz;x4ksxzDGD(!=)6d*=57u}=eJqM& zz~lvM+yWYic6|tWp_h`z=VxVsDpY)}hiNBe6>q!;1>>hvsX+P=>ehVAht`6|;HzUm zdhJuKm%F9$2DlVbpD8m=b+|RG>mpobqc|Oe1shx^O(Dzmm$KL#v8$@PTS1 zZBpJ$ZmVJ1`l<6Op;O=+nm1FU9OMS*dyS^<{woE#2|$AC;~wepTwI;1&-`4|ONIsQ z`5(o#MIBZ4$ZTNnID*0jxPV%-tcs9%$twjL1ynlpg!7lLYxpLfuRjGW7v|)bhWW+< zX-RKuKGmsJ#3>6sm-kv90>7V|nO}aQ;qiL8G6FH-VV8Il0K1y&hhM1~$$Y%`VK*fu zQ=*Swx~W(JjDox(8sm z%;3^JE58NRt7;550XjJ+#@Sccj05C2MqEaGssKyA4;HOBT48O1o;?^ zF{m?W9KVKf!}Twd{=PL2OC7T>R^|LK?yD_|)IRd`NAi+yzHda;pJWe`7zs;z;d3Q* z$E_cJTILl#ekHFEviy$_GhP}yXxiRQeRFNl;eMsVvUn;PjZ|H`gx`3a`p~ibXAOME zyK*L|i&4emT+HRIk(h=~T8n zqUcYhz@4A*j%uUIqF?e-ZR;y*izb7w?tf|&Z0|ZU;RuTbSTBlT6ct8-w`A&|v;hP? z$J(LuzwLp1d%{fyJb%lE_o?Ie1vkTAaj=pJaCLBb(9W%Yhj4l0`mvcG);bMS21T7@ za${!l#U4dPmf?Hj=yx|oQ4q;U*bLhI`bn_pXp zP9~|Ra}4$_|2o&(U;8MmEAwPW=pFfuX1N_OC3m+yD4ig|^b9C;Z;!vpaUk)0e$!yM z^^iF{HLHXz$K4WvGh5=$3=%%3n5s}kQdoKVb6&TS`5~PWDjqujQ6(7hzZ*K1Q~2_0 z)#BlA&1fu!lB6NK?S12~!ZzwMAJj~oj?PYus{htg%|miyvS<~#>&{J2YT()C1k;l4 zp_4qmu~#rPWY-zb68DiN@+b}%YnHGxljy+(TfC`k;n{vl;$qt&7OAU%NiVWxk)ts4 z=dlV3wdsLAK0a2feeXIJeBT%6>(kcG#QprLKTLqBfA3_9t^)H9R_}Jd=tGsNgF*ve zr=TjB6)H{9kWw;Y30gK?tR5NgC7n8zY0&eRd_RqtL(XY|4lTeweZ^99bIq%T{1N1`KP@xSu}*Oy@HLP zvix!kVP;Jhxt~{tFR;Va{W@Mtr75?Wul~YU#lP(M;r4It9QZO9CEp|WH<}#Sm3}ZM zZlRN8pEAPMBY%7v&7&VwA`qULPDTa}+ zRZpB<$h~d7(tOP|*Y$;JrjKk#=%tUxFBN|?9IlAszVs#I87F*Z;y-TZ+eULx_w_T% z2)IE~swb6_Zi2!nVnaxwz4i1`@0;Qq7hXyBN`B7hlI56G692(m-tV60YSBbj?qV=_ z2ll8I-9PP?H=t%N>10+7^td6Hs_E=`8Rhr8KNp4k+|vK~&o!Tefv<|XX`ldHElYkR z;e6QT_N6262Inn;hRp+*h&R?u?hsaQZCo@LfAsE~Eb-!(kl!*VR-)fag?v0N_y_s5 z0KZ3eRou$x$$pq*bs(cI;l)ybJ$o#I1?!56t1IM zfE5L{$^jQu^1Tx%0f76bO`wdL9!7B=$sJ@Z3`E+Z{>MMrdLkA4Vpe{B?tdiiG(twCARmFDd1z;_un+kHGy9PS)pk5gYs?CtXFiJdyy zVLFxWG(%LjMmB=iASi3mV+r{@=V&5>jzZw}H6+qkEda-)Dm@QKJ=Y+PZhSGjaeE)B z0|f6xP2=x0n_mU*^5>jpRLJrCBo#e@S6qD}K^Ta=`{Gig9?93qfRDUM)e&!CRwI;< zN;i0#+1BXyu`&;yhU|iq9vE13ML4l!vQ`m_D5PAd)qu%>tDWxWOKgJ8O^X3R*uMUV z0~e%t9*LNG2a(I7nGV?r@SI5?O%q_60IOex`KJSwX*37?oG!JfL!+cQ!2XtzIg*ou z#_D6?c35wzL!z%VDeTsueWdOTBO7&{5%lmeEdR9Aeac(qY#UH73%*KE0sv)s)udcT z&y`NG4(?e6%C+jmN-p)?AEk(O0UeYzGXwaP8RdTprgy9=0|6*wk%9`Pv)!XxVGv@+ zVYt&D_Jm8w0Dj;4~&)c5ME+-SZu(3zi7j^oGa}xo;KO<4H7+ z2CV0j-IA}6r%DVw7!p8+K;UD(ECW8I@8&;kRgRw?Fkbz}YOz^`X#Q_WKqA6M; z9kS3*(DS~LJ!Htoz-L7qaPuFTlvaXuvV=JP@9E6~|0^?5qC}v4_ed&sG8q>;&Gz?!i5jN0Twd^&*FnCuv)&e(SWi zO#9#!bV*Sl*U8-mJ~&5v?=xML+^f125VKZ7i2bC#%~)f&%RQqsdH;g>GFy)U@<+&3 zC8!frlGlAn`sChjieo}{Q#YN&x*5xjoA46C`0CoSKTJ6tg6GaHse@SqixJ~YHEPNC z$N(dgJhLz!KE;n7bSw1w(uH@oBzlbtHUQ^U{;vlb_!NF9L-5!a`~ihdQqIh=gBLqIFNrmQS+lZ;Jw*Gw)PyvQwE^Ay#M^02NwBT{iH)@TAxe(OJ8rG9V@Ob~%*~yh!UF=r!o{;JCF*qWaPG>;PC|CJJMwI@N6|@} z1qZ5;7oiMU9aVJdEjoAtExHPT;+#R33ewJr1S7#G)HIOzO_O_ZAv3 zJ0q*%ufv)W&bA(;H< z>sK6LJS<1e4L>_ku*7THaFsm=I3<;4x?oXM)cadXiWL2TPQoF8*-cE~9}aH7$D3Bj z5n)j^$OG13e55$tWyoT$0}aGMJw4V$GoF^UFR zfW4n(44GP9h}-Lf@Cn4H@Cg<|?<RY6fBGX5%3o|%3DM>)Z0@hgd3=MLU z_TK!+b2#h$6OTQSg_whf_HfnRP3;CqLA>hD%CF&Ja^0MiYv%{PJoZP~al`T_8H&Pn zvv;QV1&hKtl2YCM&j>U|VsA&aFnWWG!k1?^K;@wv2KRXwf(^L!DM{DY*U8n}-@ktv z#w^A2ub%)*>mW> z{5#}Fi^Gr3Fq6Cy4gb~{Igd}eJYYL1Vns>&t$YieoaD%Lp;bftU*vsvJk|aCe~EB3 zR3u3>D1?eAGAny!WGl(Bj**!?N}EIx$IMFhI`&A3aO}-NNgN!?-hS7c#^-l`?)&lh z-rwJ!zklvqobw*9bzRrDM@c`i=Sh*mE86O%!9DShI4-O2#o2YvrV$dGbfTEdbP;*C{McdVAlmp?8jdt z{d4uKFtB2#%A{ssL(^6#!Rsm&m~Bk`Q!k$ckJY7ua$+4{!_&Wc+aVZajnXsR$csEj z9$&p+41zXw8pg(04Vuy-ggbWlto=8m-{dX_m097qlEpC1MT@9E#Q5* z`nN#cCqngvltFg&OoadDVfTB;)RCn1+;R|3efT?}7ZM+!LN^-Qx0YqS4@Vz}=F`LDkOh?++m#_a1@KzLI!th7P`6{Rmmkugs9M@Xzf1{K>l$KKXYiGmveFg(e8JzZ^>Zx1$bGrIafkmH!vDVF5L}V-+5Tl@$f)6c zXhzHyg;%=>X_Bxk#kr3kxJDBi{#dX^-c6+^F3MpVOicz;WR=rxZNfwtUX#vQTR<$yJN3_aHqy~_nQ{&>Fe@OwmJ2_ z-=D5;w7%wet-DVz*G_jVzcSd{wa{Zws%J9w$6QOdhQMI7QL4v%J}l4bmt#fiJ=)hw zF2FhvxM>$>v$yZgmFT0W9m@N;kb zPm|;iFIeI9&lEuq^=`B};o?Y1YKCC7jXfjjmNz68D;s-|~E|qq$KJ zrZ80h`{MFM8GW~@?z|@-`$yb5R-bQL4V!K2tdsDdn^`N3k^6n=TCY@HsFkwg`RYQ; z0>$S>oR{C|#6LDm`&j75lp^(VUF>db+(GVDqtx86g`C{v{zi63p_C7*qpv2U++T9y z9N%wG);4vN8NHG;r?!5Ic*8S+*wd>~*0Z#e$+Ajl7G3F6DlIQ2J(foM7Gcsbi z&qh1O-pe}nw&O8*h1i~$$&#Bp1(M9{3L|J|XrB|FWpHH0#}57)t}SFku%|dr94JD3 zp4(vl9=rN7vXD_-mKY$hJsBU_&8|ZlZ6ih0OLy+Vwq-JzDCd377IWfLE#&X+KB&C# z%<_7&zv4vi`#znlY6>b%x7kd^G25Knh!vlR4mV8;eQO%w`D_k>Xk!ZtgQ7H=H=?7q zFLFCmtXS_8Ydv$zN~W(1oArEioR3^)DE@}OzP~#+JE4HBDJLnaiofffm34Od&b6sy zc?x}^x)`%{tDaB0LZ=>c>lJmU^%bN>^yR!X!?piVJ5f-skiKm6e!H;881wj4#GL)R z=H1DfI_pH1eC^W~0x5YeZ5CP)qvtRm-&Gaj=w6#`Z|;%bU+85SA~Z{AFzB09vB-12 zBs{g+(W{WLjY%L=Wb9l<&#=20>bX^y5lhFKC&TIu2Ickg_8ut^ZIhZ?=+j4i)VS8~ zaeY3KgWPTWK>^N<5XEzv5!ch__(cH!_)hTGYhd?RR`XN|N-N)YF57qQ?a5Vg7ZmkN z@~kDCvK}tMv@JO}_Vn_S`ujad9)0Ou^*r}3zP_#2lm6~nnzdM(wy_B8d6F*vZ6|~N zGrQ&L^#P|7`3Eg?KY?~K94Q&j$2zW+9K?3IQqJUXTUeRDb?&QECe`+PI#dZq8}1Y2 zljWPJ$u7yh^_+S3-DUWdk*i^p)sVB<@p(4P<6B)L{C_qM1#A{huaEMG;W!URS!F@t z)16z%UmuND`9g>n>j}{B?pow_bRet^JkjI7HpQX2)l_0= ziP)EAJ#)F{MaGi`gmo3c+M&;r!}(sL*~aoDf9LC69s19lVwAM8=-!;Di}k+yqL}R! z-l^K@yiT8uGf73~n$MXomvt4%d*FJ8J*!lI-{_^DHxNK`G0YT|yuIR$n}0@8J?#AMs$1iWqCnYY5@ZE$SYhMB6Ls6_?-l zTrHrfq1#K)HRZ@_UUFO!z>iy7uXmK{mQ*aA>#6j;k>@t;OY@=h{DM}GOAB5P%T_>K zf7veRYZ70;adK&(qmqYJsQ9)TQ{H#sj=tvi>sHo0+NM<=-q#*RR=& zoW9Qo89XM@HTY4-;^oEeonxu^xM4!wh0q#l%bcW+a>f$Z@;w5UU8=&9)APLzO1-#H z#T937i|H36oz4i$Ij%8v+x6>wnRCuCG*8d^M(|F0zB$KfqC)@XNQ2`~wBfhuk8VaL z+b?(z zZUbby@fl6yksOqBr^IEr@d?q=*&d~&zGT)@sJ;9|aZQieM}%{eT&}nKFQv4syR!F%7MC{ESd#dtJk zmSA{-sj2X8uJfR?U=auX9eb6C~4;sR*l-?pvU+Qu#289Th(X{NX?__PVODE~hB z?1F7TYiVb(G`i2~e)GyiiC(|h zqU9q8>{Qlj!!F@2zf|Ek_e=Rh)9ht8q|bHr9mY6`zY|3*&{3HmV(xQmTI+IS=!rAe zD4NCclHQjw8&ejq2GX>-@b}d_o8Rvkd%}=EEje7p7*%WuHhnfkAa~~GDC2b++rz9kNVcU5UkhjtxD5x4vi4lasT((N4S0 zSK#NmoWHc-H1IkU?kX}_wge%;W70jusNx}Xk12KOKAf2qFZW6xzWXW*otLS+uY6DO zN(Zij30GcATW%4V ze=8r$K8LAFOXGEFz!K3sgxujZ$0;1XC3xuv%W#1){kcH}d6Jph>8?8!Mm#d3UHM7E z&vJ4G@OJ1|!Q0$o?RE>QDP@09vgpnl$k#}HJd0^=6}cU28soVE z14^xIs7h~`KhgaX+XV4kV_REStYXjhEl|Bb@af9exr2q_;u+*`>VhcE`7B{o6_T4+t0Lx$<&8 z_a79}r8V)DEQ8ZLZsO>d&k=8KFhMZ?1c$`3D`kEDiCGQ0{9$>k*&}9M1}c zW5~}*WY<^Lu*|FPF6Z@XnOkTSMY_%fNlsdEc(UT@ zOK0sU+UuBFN}fW>}VKwDb|&=`5e}U>xna2KkGrEuOrHH4x18JN(|LTEzTS| zW_d73GF`ZP+=APpBfGg5Y+qI@%+%b~kXTZH({;zKVFDsmW22!_`JNqT?`IcA3{>!o zB+511lbf|{SlX#C(@{9_4YwROj6y$(-(p{CdcTt=U2M=J$0)*uN2^t#Fx#=SYhv9o zm}zjBl6eemzw^}(2?>IR9k=U3`Z|rUyl@iTnwi^Nu8z_7r=*2e{r_EoI{gCQGI*>%3+yn3MQ$j^bw?30tnn&l0IMdKh%l z(!SqD0-?6#Yq{L!7*&o##HC;l>Rvn3({taC zN&iOt&<}HsWP`N#>3U`Lr3RUG6bf%IF#UGF;Bh}F!)o$4XM7o1K~fN~G5+{*^KYZu zy$HgUAIOIwanbewX4L<|41e2rB-B0m41#{=oK6P#S;h-~CVN~*`xm%u6Ah?-4S(H# z<^ml&5iKR)py$<}pZOj1{|OfW(GrHg_G-86MLvlz1Y}-3QbJ{uMw+!Eo!$Q(Sj9QXo9ACTAR!L{hQtdQIVh*Zr1 z4=%*T3oz_@5N|XB0e}>(OG9@wfPO#%7IrS^*Y9`MsPbnfjV7n#pkjRg;v&$T$Gc3T zazX#PTPMfV@I-`tASt^+bjb9~Y8u<@v1)H1pX*|U9NtFU`SM7@(S+sK;*HjW85sI< z(*%COx&}Z0NI!Gz7qHk1(33{pqUYMMCk7g(%vB$I_QJ&rYEWC!il=JA@0~z7D_t0( zQ|m`r19LjhBCX(~|HY~5qhc)31VRK9xgFayG`k?P^LcI&N(U^lmbjz?HR~mB<2=YO zj6C5jHD%DZf9?)C+yC;B3T!&#Jo_!uOL}+2KqXbP%j~FeUa##F8fy?L5bCiiB8_`f z9?sad`(h*hw99BxA_ne}=e>=x`_qXi%veWy9^`cz))pH)yA=fqx0EmbxEBGMw2nZY z@2P%%jIiTvEl*Jj>t$6Le#dbwK!+okZ-3Y$0J@8ymK;Vwjh!i6o+xTSY955Yy)x>> zBtR0bzzF&*mIIB_=tQ`UkC{|EK;dXao4jWd=nc@>W0d~g(rm|d5=blL0-5}ikp0LF z_x=v(*U=^+|g9w$%_DAYrUcdRrG|I)iBFjKnRESy# z!;EPUC|&6nnGXia^W1i4K7B*{c^KCl)d4%0+8&^7>&eW);6lzsB4{Z=MX?IRlnY>% zttalF9xh#<4FIZ~);mTX) zpzqmzCl3p7+_-8QtJol;dLzzVwRVK#Yt#5K3RRaVbK%vQ7X5(NUGgX_zwYo;zIq!8 zb=YE-Amzn#8L1~Aq`XFI{rLAO8a|PH#p1E>jzTDm5Eqb<6RL=^qSN9~5t_&!)LRZS zj2k}B@l}-xzHPTPV9osjv!jhf$Wkn=j6?@yyY;+qZi}|bP-!Ebu>M6Fql1<90<#B`+ z+YOA1K{S_H@Jj(-Z5IM;My*CqkwMwozIfM<9rTj*6=}7H>uB6HlHDI{* zVltrIzaJ$Ae=Ps1=2iqd-VzEn>g63VzwD{F3cPc)>NwC@sE$Jdg5!uU`qjoC>Gw8{ z`&1ovt)oyn#jSBf(%>GflFIk&6#Pky@qPBFHd)#R$zPmLjENm(Mjx}wQh#~Z4L>QgtYbYG- zu6=<5co|hOy7Ojp>Yyr)kk%$Tm*y+p`A3$;Wyohg<3A?*`8oO!(OKDZeYyWh9Y)R< z9p$l<)T0S^m4|$xuM}_bcOU&bpM7~QhCzYHySfCBS8L-AN*or5_c=$3y=}oLQIT*~ zSI=%%Bv{;g;(a_X4Hi>jb4`j$@htV~gJ`%=X8*Pq%LSq6_r>fuhu%Ki2Ik>+C z!-0Pa*~J8GSDc9;hh8_F92lt7!4VvL3I@&DUy^b7DxzL~e8zH}{0HRKZ24a1>==OR ztl^KZ*(UjUxS^j{u#Wj8^bByS9YfN*+(U^OvLu{Y%f}L_+Bt-t>L<-J)hO!nG00yG zPW<@`2_}kWU1d-g)d>qix$^}UbsfhutHOK? z@jA^l>Q}4XQ5$#}6*cK| zkXtu#ZL~|l+yr4OR zN2L7qfwi3AY0m!2zv_3=j2yCRD9%a`WB?=)Z(r5){)RUfK))6LrqR!oP~BEXfec2f zSMbx89W30TdC&qRPdz+1M@?Mqxh0%oJTIE2Tv2aliUmY!WvkMw6NZ)!3R+>H4vlAO z%DQZ|ojXr+L0hr%S^AGRygF!QciB8}k?K~pw)^Hm&b$Yz4N{?K?@D+38TzmB!S%Y( zIthCw-o$`-LG91Jy#jN^$yqgqn8jC+W~|J~*g=C>Nr2z@bqyi^&12L2blYzZ&xQqM zHG|bIn|yxo3jDJMQZ--bHhtOX6*B9R*)|9vC+v!`}rLf=>|Tb&pxsVXVE0?SvO{_UzP`+3z%w#YQ3B_caR6(0S|wc z{Oi!hwtK{o|1Hb{1HCbT^fEyxI?;FR(-t^a`1N(;1y%+BGmN>7povBrjQfz4>kSv& zey148Kf)!~_uT>CCl%DW9YIU0n=M4oM_v+cvsdTNeS~1J;qd?F#v=2Jj72!h<{xfJ z-+;nVxIdIY6lp7g&(cuueL?OPEPZY69zKJ9z?;bsi@Z(sq@B&?}U$r(LZN<|YtX_ji6%pL;JgikAbr?C! z6B57x{S`Lz_S&yj;OP<>ITtpsK&wfN(C+Yz`!Oo-R6 zKhe@xgj*-w$bT0`xyFZ5?IkUb>!fhF9a*(9? zW#n-rD_;0u7Hz~iuP zUiz!S0BCLE5EqI<354b9+$l}}j2p6he$zDJG9RwOW&Aaa6*j(nmG%IXoB|C3q+Y-Z z{&u)FUflZ)%)*s;)ft4AQ2iX1kAJk;_RT->lYv_lLlX`az&D{FnM;c5xWNr1$vUR? zdkaQqh(pCD1}g8O@4$NadiBi62F>U$#J{^WqIYjRf$V;ya2?x~gEZzzF#zKqSof}T zA5U~f5)hDj733D2%fD~N<|j`foXX*ChCxvdF`CFQm?E>>)bf+KcZJ-l_=gk|s3g&Z z`-?7_+SAI!LI1D4+K$^d_Yn*musfZ7fL8LG+6SxhC%21=^*e(%^*(lBfPmr=kCdv0vfxbf0dFF27`IYISLuM&^i0sZB`l1>JMwVyWZm|Qx6&huL{}(S7K<|zC!g$+*qHg*6Ht#63FR)W4y@EHZglzibfAdTh zWKjC(iv$)3Is)P8^>+VS?;2i}g$p{syB`u0uec6e%6m~;b|By)tQDlKUv>iUvk&|*xdFHBR6=bPycCc|6z)P`GT%3w(&Xd zB=)>H1?*6b;8RtI=?9ZjxIyd|{#!CGe1cQ)2I$_v1z_K1L8a0)9pOU%M$_1wuFU>W2rpWQtcuoE7|_|kKup9`9IV?m$z zrv-gsPjzi=_FuT6S19sB)vsPKK%yNu_}nNEQaBE8J1m(_f_`g2q_*}Sj*X;i~ebz$dfDG(W}tfp9LY}(dN+V6@mF{K*!)_%T7DNM}g z4p#l$e@o#-*7TJD1aN^6v(R|98)wNR$6`w79SG#)4+R^{F)(bE$g50;1KsHFHv+#m z)b>^Z&N4}s*rFuNo#XK#^D{yMGc@ax#7#lJ#UwX_@t+6$-VL&R%|DIHJP)H;6i8^^`xj?Txy4pI1|&nHu%GQg8YuTQK?%!Lul1o^3qkCTk8!!Y;aCLf!J;P1dKmaJ%QhPFM#`6nV#^J zYV#zip*;YnG4#Y}=1z8My(+CCweQfrt%K;jC$|3d*XbCLDg-;9f7+kb)WtK+@=*1$ zI2>iIsdxLz*Cpi#s|-+suzv3KgUuEERmW@WuHF+$3!pc>+UJTmD31`HqCyhmPg=6} zo`toeX4hj1kB*!Pnet&w6evfHJhInaL2qBG<3^$hu?0x^x46Pu5DkBfGA?5>S5pG8Cl z2OqRgL)=s)u!fFo#^OKUL}4K2!C~9lQNryiW&|n*eT9RM)5X~ZgFx5U6o~-A1Nh1- z4uZtl(A}bw9g9)@y8d!z8bgz=U(^m&;wFH%m^~MbTV8}>B6Fl8p}q?--q`V&<|=RB zb2#$DB(osGuZMP2>fg)cmz+blJu2T-Id&F7p>dc{kS}%iB)SVQ*Vu_Je9-D%&MaQt zF?NyHTC59<9j7vD(AeFYF?wls=z6*_R{uAX>>;_PIhy$Vav zi~|F5iJ8_Q)WEB+aykRr=#<@i&9-_m=uDg|37}pK0yhJ?pHRK7G!GcadM}-%!$@OH zoz>U3>y^T1UFR^a&>SZP?5N{A3I@8B$v_W-Z{kNYF8wG(PH^|RlIeQk|Ca|xjpz=C zedf3By9k~Lvs3SxmP=Dh_fWT7_>v&lPY}EAKKl}eyv}8Q!V-$+UK0Q-rr4?k!aXUT z>uYRlE04L-GCY&L{}=a@>0bh@Sh`3+f`>=d@ceQBVQgJv;nDO(_%V(lS3}7sok5 z0}>AgbLiC32%Q^+T>;v$d?qrN5$F+FFEK$J)oN~N`(*E+oq5xjR4^Rb4t0bKHj#Gq z7upk*S&(c7lcrFV{VE43)gW?OqRJW0@bPb0YaFC23PMc)On!xR4^Ep9O3xlrYd+9i z!jd})382AxW$g&ZZnFtJ-cMz5^VX7LM;Qgk9?@6NEU{+Vyu1i%dUD&peTR)B-U@E{ z>uYD0khJecq*C}PiD?2AZhtpur}xyx6hb#b9%A5X{5p|t6A%({epnb`c~4PRBfLCOz0 z#zM{EO8HFFpl@vnTIJDxEMk3lsn+wYllD~|7DI{R1CY4NfZ`6i(8_)M7zhwwLQA<` z3gawmkdAN%Nuc`tI7n1L-;|89_0>rpl`c#+e%x!@t_-+bIRzKd12!5q(V-EOV(*}r zaYG_$mfIkt)p;sveWi+#tGFq99D0*X+}G$$%qe^^Cra%idQwl-5~-iYLV!Ly()9jT z`sp+Jgj~A2UT#E$_Js|yf3_dxf+@p=hMr1%72^%jau;;3q~vq4`&@bQWC2DMf9 zDDG0SCH>fF0czcZ4ocb6D5IzM6b;|Bu*1|0WI{+>RT*QkdD>l88Gue3Q0<#jtPTMm zxpaVb$TXyIcLjX-VUl1HOvJ~*Y1Bn=yc@M%M0V158wf6WJm*PRE|^n0Jq?+KB6s@M z5p5OJ6A;|dqdiEx2wK#)-uwQQ)b|KVWJnd80V2|+Ej5a zvHbJf~A=G0e3kLB$*XbsUyZ05lHCLOm%tu?`JQ_!P zmH>PLHD7t4yK3hF;zr>(eE^D~Lm+lG9)X*);Y`hERE7O}Citt0DzkjDbzw%*cV|S| zs=!P6ovct);OOfuJQ0^5(Mq`O6S@0s1EQ&~qT4pJfx$L6x0U2f$6XX}0@k znSjPxqR=0Zc3TtS`OuG3-p%vn%o=`XnjMCFW}1IO^eW5s=22|U52>M*C@goR2 z9B>R!<3kcHNTm;$L+ZVab-R2OVOto7@xN!K*8O4qe5|ai=0pIDaUf*ajurk$yK(c! zmr5(C23YZ9WI+&Hm?qF+9EX&!XQtb52v$xvE zu8@JmYcqNr++25>Wlw0F$1EW^sk+m6$!0!(x{Np50VLsU-i^1qI`AS*e^#Ql#!UO1 zpR~~=K=xy5vSP}^tU>k;t>a$Jqq@y?3Cg02A0keKb=i-^JV0`=;~&*8K2=+9nU&_N zZN6aobm#($$Lg$R5BO??K%cO#xP}|}Z}Ps1m172~o;72!tXXkuiNfi0)nLk@5DVxH}409YA6$1J~K!nOf2&1SSfiwU(?Ul-M-_%4Y9R_SYb+s zLH&j^g@6tcFoE`B{m^NKP{%H^Pe#J8VjK7FB=_8l*B|U+?j4W6zmqAfTLH*G!}BAH z#yS(+vwR{fvZS$BFs5Q1(=q(ZGT9gDKAgOB^?WAux0!!>OvFh}OwE(-#?C|MPg|~^ zi@j{A6vqE)R@$f(+KlvS@f%$+#G<+M?VGMlEXsxzyqs7tiEs!;GW%&gsLT9D3NhtK zIxqO~GR!Y(DQS>POJ;t$^$btJ*S!p1I1X@HwmgluCmBE=E-Nz$U(tg>71X)OY_oDp z&O(&<`*NC9h!_j0fxb5`xfTTa2hd8E&=r}-t+hEus9(LvewR+*8GTQXFO3S0Jvw~X zCme)6dm^GxA<#jSR8e5>(BaC>Ba7X$F~O$l*X3O{w!_N4 z6MfRvU#I!|&i*){|8qN>0+RDTYzO+rX$AhlOM?3v;1JW|LL@%=YDz=n7zK!t^y&-4 zs9pR)vV1m=t#tx0C@Xikl<-=;B0t z^-+^&yXagv)SCh=!l?J%;!4u@lkeGZ&`!s%7Uy4*bvTt;8b7POHGwRHRTnp^s-x?Y z5E40=>$W&`w&+EgSl66v$0Nupwyd5%cUOMhAlOrOvi~e)Xd^S{@-%-;O5YA)vsuON zJ0%yIYDTCG)zmq!h#^k*A#l2fsKU^jD6~vQIRFh%&JQg!1Y?h0Zh;DI>UrG+gF_PXZ$Xr$FprLk4JTGO>#b6|N*i zjMGX&rbr3kg`b7>6$uMb+hmvBLy>cD2m3!wG!-3H@sE#8kTy_Lx=;zkjl#}qV!K@2)8qtgtb4r^8Gys zqhV+t)spi;`?9Ir`o2=C4~VAA1K!~)xFw0s7u>S`8yO4r8_-Fj9i+LE!LC~3y3jZ% zM7C&*_6C5aW=4@+L@dUNP`HPgnXm~UZt;FYvjWtMoDD6Usw7B^TxHp{%A1H_9Mm5t z;Nirn$t1*-?@mzK^HY4;P)-Rmx%#OD7LD!|Mub+NvUMx|23V*UNUED6z3*0#BBmT9 zJusaas6)>~Hc=pW{;qxbV`)Xb4v*01XD0~4u9V+o`T#lmw7j=T0;cLAGF8#bS8jFM zXTK8P5XSgGB8NlhKW<~yZJwNp5S=K}(;&mlZBYD5Tao_zSGJ#n7~t*=@fRS)#8*cC znM_vsN0xWmT;>H-?5nZ%2+;E`tFVp?n>DT;l@SlYpW2W=`QoU$SD-TW^;1gNIB%lG zKX)nCnZIQ{%KMWi?kz{J1%VwDl0pkLVA{Z_CaCrd4tz#Xzm}_@w-0%01$&M>m%Y!*jzH{7te= zVVt~uFETi+=#4LednMxysvlh-_EISTY_I)OEZ zfm(bVNNwsu{s&oL(1Kh@7usOCs>H3SC#hDhCc#Qyj%5;DQcJ$ZJ)a1oq}PDA0X>}} zm$NJP>*k9=)R`mYcd!crOJgX-#~~3K4w~{^Zoen-la4GtLC#bBUD9=#lm{n2@b`Mp z=}E~KroDyO;hn*fH2{bU9(+l6{AvY-=A=M4fnsL953YNU;1{05GBcfXahZONIV4D; zQAUZv&BK#iMA;4{WhB-4K^7K1)n#$kC=;F^h9po193VwE z5@mzfc}A|5#}1sJCySRnLU9@OnC<`)Zzh=Vfz;mnRYYo(=9MazC!bz?6#~?WXFePh z>Zs%y6)Or&RK`rS6@?B8M`yz^qUy=Oqc=i!ngl)TdbAOu3B-sQAiu2*@=K{2$=7fI zU=*%p{iXhb4fdH_rKx2b2i>xYv@IlLG=0hGz9|3;NOXCe4+*T@K}UHG;*^3e zX<<@M5RIu04nwRs=qrG-nW?H`Gg5uu{A&LxtpT4*XsuTit>7J6!MEB}m!$7RXalU@ z(sexZ0TLGDAj&T|jTBXF?x2&;%3=uD(L*7nhZgJAh`zq?E{Oyrl2b>2I5cx z(=nhp<$@}5BLV|~ECC{Pk^kKoM$wKh_)DP~QOwsI2^kS|#n&>*ZR(LOSt7Kw#epZN z12V5Eu%>Ub-O&4W7G2qjuV}Xm=kL*}9W_HcXd#}&RB6A$REcM(rq?l6+UwqNC7yTv z1$&k&=XX4wul9+gG~`(5E6dQUunNiG7)LdVLPA$gycVw*e!huaG3@J_DRp6egmBU6 zD=~72M{DaS+n;kUszT7$MlC@B(XFi-ZBMnJWVR1*Aa%F7>uSqW{+VYs>Ky>USe49P zV>mxM-o;0E5{9hHy)5*r>pGyF(&DV8WU{X7+nKF#^G_xj=_a33i0rOV{a)f}Sa6TP zW2n|iAMFmOT}e4KquT&UK*F|5p10%{9AIyj?Eu&)>XOI2Bj=wc0?{uI$&z}GCNu#U zVK6Zo&IoM99Q3#9hVCL8uv3KF)F;Opjzld$(O;h>U;0I5zOZ)zjy2f) zU^_Sb6R@2Z%)6duaM+pmTeC0rmDO>T@1cE|F5cW%CQ*eYt$uOcUg>&EqTy}^o!jJf zEgr)>@W&h}OabP*dBUdOeZC7KKTCve$=7hPMG2a`h4-~SWHx2orUOWi2yjOcLAN|| zLtqt;r)1a59o)7-TY=>b#r#Nc1MEV8rIl+LhHoCj)aZ51Lt15?cN%3wPX2`}AZOmX z@dw(qY#~zO$6@WpY1UH|{mTr&@|~o;0-Mq>P?!!}-(v`3WdT%6BuGKx@6M;(oZArX ze+<0r96V$fGzT$9lr+=}l@N~@*_n5H*AxE)@)g+jp;iOs3u( zk~6*= z60*qMHkK}DGS49f@AFi@pJLar+}NnGBk*h8Jm{ zfqr&^LHF^z-r$ndBYaX<5M>0ywrb^P)QI>^GdrWyy#9!dn(oInS@#bC?U&9UC{VcbXj=AZj@ z?mP8m+s6GA{(3(dR9%!gzss?jP4-6*;^#aJ=p*XM_rvUxi{1!!nkn(r zK5TVsmvkpxsA|(y5CD)J@S)*BSkzsx`zO`%M&vojh9jIJX~J@H4*%KtS~ozW6?Q%x zvp_|f9qXX1-uLs4$~7{AwBJ?#+;M-D(n}7Q%9GRLFLUlrt|rGBx_W9=uy6Vq<|xdp^)e zMm2HPEfvYGfB-*)zHt?N*EX$v7OPDycU~vB5v0gLdq`vik3CE>c2ncM$@tCoM?u7< z*{I>I=c1MI|9$sBJE=;GIOK$uBK_B7ZuM0}+EvaHTdG7ZF9lrM_2}#Qz(yi?8F+*h zb6MV=>{NrxjNg#zjl*0CYs2AMGFu= zzK7FybS-0%&F1}1!B=Y|*lGawQsPIyY4Q?x{yYFLOWXi(5vCoyH;39$Fe-2AtoCh+ z^KE(*#$?&s$f)=KcF}y4Gi7#*fQ#17>i!q&bd*Eoe9i*wbPSxt2~4y|90Eb%6S7W8RpuHnP56^~dermN1WGM9Xm;5&~6k=pZ zJqVTnfMiDxBxkg4RspdnJ#_PA{zgAQMfE}R_aX8_;&G-6FD_ zXP^;8cal3NAAmy=oDwzn4D=d*N1R~$dx6M_tcy=P< zfWVM;>`vPU>dvocel8AEDy07_k4^UmpE%JT@%D0OHcpw^VzNV9y%+wN$x;)QV(I;0 zpyc2E)j$Q3Nk~2cMe-gb{kZhaBHf^59E?z&k^hB{Fzb6homp-rA|Mx- zK-bf-CYYgpo2HN}%F%7E-Ssx&FhdpD2NRX2$H#t#1D{u+MF3ju4wP9D$`(Q#((eW; z{o(=?XBt%%4xb#W&67TK`yN8{_LT+=aU2pz&GorjV+E}vUDG*DyMW30VQ@sAR1jv;N*Hzm^XrpjhqfCz1 z;VA1AHOy7+q}xy}6py3GqSvX50CfoH_rdUXq~Z(sYdC-aw0m%t1VNV^x+js_8i8RY zlrv{z!Pw)Z3HjjM0=^b>lpOSApvUMo}_kSe&-v7JWLyRi^q4DpMmDX z#BzY(N6Aj$-y8to@|;=o@yKoX&u=!JPg^a{^f1mt0>se5up=?pZp3F_cD*0D__l3N z>B1M9qVE+nme4(<9opS2Lv4M+O-0Vwn;3 z_8;~vNbS`|<~!WX#n0z>$?kKp(q&w;Yb}#_#M4C*(DN73?w{4?rRi1_A}@B4(!bwn zQ54L*yGy8=LJO9(U#eDSMe4y=jazgB22)Z4(kJ*h>;;efz&) zuU)+WtDj)vBjCQ>)PY`vJtnTfJ5baFs{3$92bVxocARB>;Q_aPVJlKe=Cl&ZXA*{1 zM}!Ei7RB8SuT-`0CC%neQO^ER0bPy{4YwQbjiUIpNNrUws-RmX=SR zOfEI_bVH(J_X_i<431OI-B-4F%h0G_GmRnkqI73M7=3w{Y8#*)#u%Y@K<@h!pf^Ja zF9ad?3r9N|oL>h9BP=HCQC?)Bcyr~m_G9fccUIXZA&Hm?9WpwB8%=6g>vQPPPX*yd z9=(=44>}z2wLp)qaT|Bf>eo9zBYRrQt%N)6%@Rx7o#rP9u_CVmTqigD9|qe+NsCgb zd}QhYqk0B^wv}NK%BL>QOA9*AI_-AvLUiP81&wCe#8+1>kaS_Y_u8%mwzKqyIWCrh z_dE{FRGVd<>!rQ?u|E>9R#^zy6k7rXlv&u&7^Y#!lDc+BEibtRH$JAn`F=B4husMw zz2H7s!v|}ksf|Q1nsza2W>qaAaKSAYIJ1py{~UK8bMK%^;hN%i6JO9v{5)!d6~4>^+7iGBAa z8bUJqD*oGOS38)-(ByVyn-m2|F=!MXXxSz(D=p#AlZNYav2gkvZPvde6;W#30R$x{ ziPvl+_GjKu+Kyr+P_{Fv`}G?k?0v6)hxiWb8}hxSGOko3HhK&|9ecH&*${S$o6wcs zzMr-EtXCK+o#vuDp9z$dP3U@!rmwBQ;+$Y|M}5G-JoFeoVAhjK(3V5t?LPuH z=^j_M68cq)p}prs;cuS(sJ}gr7na zH8aoP?yTIu(4mk}VHgB!gLefX%2<62T3d@RQ!{l83SMpQcj6C{Jn|APPo%NeDUjS6 zEcw=6jF+f=rb+WzAJt|=`em8e=d)Itt~g0wLP=LWQWEF7v(QP!t>u(N$!^ujBZS&U zSB_jWfk5=pcyPn7r!JgzSz1pT=H>X_%%C-!5(~`@2(fPfMb*7r}xoiDPk9eC3a(`ph~VdL(|!O9DhkG@GM za=pT3c=<1I*k#r7yhh2E`dJ2Mii|>%>VW;YWcrjE0oeIaB=Ia4;dc@Z<3?YT$Y6J04R4DXO#dJsG$xdH? zJg!S{yB+hhW``fo;OjoFN03B~P- z3t)!&373Jdb>rBLbUmt()mpwFF80*<$LJMefi#pL5@H)yy%1l!WcSRPYIU;Z*Xrjy z#T;Ci<~77oam6>rTq1#^XgfIwt7XF7RJN|QjvfEO1!z)_ixX%2!$?8hH9AttgG~&^ z(jbvN5iwGd-teedlrqv~l!IY}Zaut-K^gTxvG7E!#a4oDQ^J5OUq0PMqK7}(1#X5n zY}<1`y#cE~QK}?6cr8G4VOlOb$zEA1`#s7!ezt5u^{z_KiD9<5PjumFUpzE`3jew`)eH@Gh5tft_Gf zabZs_tqYkL){zXy@7}~!^A$DCHI9WqN&;+{=X3>VFNyM zA-1;gOmBiBlhZMsWLeW(NSIDF&(0H{@Dx^4oY6^0 zOBp1JyzX}m%WZ)kX7e&zR(G{Nt+1~h$+hn9gXG0R?|fRAgPa?x>_guIW_vtx}Z2?#jgmmPPTVK9~RV-P_-EipAl{rcf8+6yM&{s4D8> zA9Q%X2Y5e~##%3hc5MP}a@_t^lpQ-QxIN>spDL|&#y+N%64&AADq<=GgvGAGkq9tz z5l31VZP-xUyqP(p$WDz0gO;i5-8q+E22-}|)E7y-vfjFPu-pC+L4}t%d^npe&El7> z&UsqulK^#KboUgJ_Qj_Ra>z6-D^F&&CJc>3b#a5K>Ydp2C>++XrXcn%&uE#R%B4l%@Nt-k$+JnWIj2M_RC$fgZ|HZgJB+_^GRTrtN+P zn>jSv6I%)7EqP(N_90d>f}jhp^uBgUYtu>2G6*=ptTOoyiSo`=9U8Ps7<1+T_Ff6r zOr?3cZ9lJp-gmv1t$do7U#rN;8|DHcfb{Z+R&Q=F`fz|4vx)5b&KDuMblae?PwH+o zE*J5~p{;V{vU|wHdEaM6kmnY>D=n`Zj5BiD!!>`@FLvj4KPk;!rg?{^dp#Q3Sy(p?0_-0> z_^<~$Ky0RRy~C+!b-v!aFy^O{ml9+v{xd{4c}cwgnv!Lb_06%eSvN}eyE^itBTSz# zM2gM#Kc6nQUkmD1kfvioj^iU}QPah@B6FRw)!FLbpXB`ptiHJKuXM6U04wsprWB5H zz=(g!`cao)8vJ|6wYL(elEBH8SfB0p&4XkNh>hz+$}|MuSWf;0J*pGQ!nD6b>0e>| z^vtPv=wTRgKAF09fqF%3uAaR2Epc@)oo?r2xlgn&YXUfq(Czj3sD8`8&hDGa*Ft_& z(ybch(4f$2^>5CP>t1^wjggF3U0_4me4OgY>jTBA!Vshj>jw?qj)1$7c&UC%cO2y!G4Z zorNqGr^CpRYllTlt_?krFRi+Qsc|Adz(Pj*@c7mb2{QM0W^#lXzPF$f-vXBxzeOE) zRDkV-6A);-L24pmATG-whkR>4;Q8~<9LTp)u?nzJ$1N43{x?@XCSVpQ#3yAu3#sOz ztO(PGiYZ&E#91$r`Qo%AM&0gCFc^?$9%A=a?~r&Uno^JZpFS~{fZ1z+D@yl;BVr_Q z06iJ+y=&V$4~f}T8qQsv-r|R->AF{S=lbJnZoXZ^%xOw-ltwLkcrHv_chmehYI46* z{mpZeK6rlsQ?XeUA$d<8>Gn19ohE190#6vtN`3370Cj61o4g*n1(MYI+9iPV(*GaI z-aMY_wR<0rBuWxWqB74^)HWp)Wt&4pq-02KQ|1s#B89LsY*S{LvJIg~wW+q5!p>AA znaV6<-*qcJ=X0LV>+|~k{yWckocDeY_r315u6144;#1W6xb`EWowr|;xWlQbzV}UW zr<3_V+z<}9DY1`vLZPZ^Y3QPwb3e0%zV<;WI{13h)Iqyi?g=@CSa<*ZqGzaM?`pkU zIPc!$ih&uYf-T0Krl%!K#;J%LI=ySqq377E4)d<{|hN&G!hCiT(Mg$tTq!}Ae zU*FobLzby8P&3gz*f4*67}%87JYB0k8^|e)#^n3PShBx7w@+rhKH{x&KPp z?d%<>luzgQiw84!B~R6fv+u|DzLgM*`dbt1g~D`qJK;{Zgu?wFKB3*6!Y=(h5bhlP z3YT&+fQx9hhmj$u58O8S*Zh9rL8`C#xWl=rzMGRW7^1b6O}{R!!0y>ps78+Ev(SHZ zGSTw{xDW48Dt^1gyjMcN-t$CL_1X)8%hITPf+>q7h_HnqTx8gwWVmu4>7Xn$==_%03We+VSx4)BzvA|gOGhG4;6&cPm2!Yb6@`Ui{JE~H zh9vIrjeYm;&$q$fk3JW`1}hmf3Ls(NJZ4onoD&roO@aX;l?B*v|Yo9U%MpRvrR7p zxR|)s-t2~G{V~mjwS6+SOXV)hah&=N)*kd_qSh9~tkVCu=!IFD^Vf&@;ZvOo+h=HM z$|-7E1%2V~=DE8zM*1sN!vYrFMSzLr5t4RJX*FSfYj<1Ypqhr^C1t#qY1s-7U9C>T zB%V^v74$#et%3H1#&}t6$HzeNsJjLb>-j-8)#N+BZ`q$|fQM%4q~DUX{LDmMXwna( zrG4goE7J;97Z>hyvhFe-gWXWLcE=OU|6IaMY6(hEeaNer#~hMO!y669)^yOY_{PQKN;QcVi)sws))H#d8STARJ03L9FB^AkkFXMeo z*YJB&<32fYQp<8xuMqZH{Zm@{YvYcW`_1IeM>RU%}j3g!A%#J+-}1 zSd7?tdjpMy)`k|IxX=9dE%!Li!zM)ABSpP>b0KyN^{qjtQZD~y_*-gND697G%j&(X zHKzL#gDzYB|M#+Nh1liuKC@>axB(9TNzOsmV`>%&XFY2mbt#|A@ zckV>YiE)}tXm3g{1qWV!x%S<+9y%NosPqM5mo?k*|Kqz)m=&wt)j~uam@_B;NNw|p zAAqm4zwq@Pg-!!`Qdk^=+Tahxj4jUDms^oLmfp9_mo1RCn6E`;_@-b4QvfqO5e(i5 z-IXiMi9il}H73Xru?fB@xmJdcAqLjMah~K~y!mGfdH6;rF?G`idM7`Oc~>cV`zi+g z8WHjh4AQ#2$MfqpDww}h?cTy8j1e~}ehWRE(~=#?pp9PDz1!)|%JOuR8?^wjTdeKfT@e8`4<0TKErB z`>rlzCb+a>k^NT=oJ5xgF8mJBt-RGs%GaM?`@m5sY?Q{n84|0VRDG%;X`P3mzb=SD za6f|Hp?8;aANt>W8G3*=eGY_nW33toN&vk?I#clZ@+<}8hO4ba2jp zk2bDV+8p2G0wz!_HsUh0~f8vc%9 zGxD1?LpW%L50OX4fxU6Q{H=9_(PtqU8>BNsnA*~>(5icBJUlripmJA1SJyHW>Qh_Hzz)`+a5}WFPJY|E4biy!0B2rz)Tm>4sX*;1YLHy2mBb z2bu;FTgYceC`Ci+7Kk$e(jiO{h>bcy2=$GTa2`yx>9zM<{Kwz z3*R-BecDOG^+^`J`&Ju_aM3Vy)(WAVG6n#8987>*1}CF>3`%>hkLJxm1E}JjAU*a9 zIp`x`*+$F+;Dhd)-}XX7qMS4<3sKt+y8G?W{VL!c^6Gvbc*lADlqV(n^=@x*Rvwdi)IyH9B`Suf%lcW+GwBHQ|G{bV}7HsGslm*v*uyZ;u*l4YH zev)nMlgTgWUb+}-y*ufq|59SJ0OXAxYJT$@x8J%6pIdkBb0?wCt!kkkEn$WX2c>;9 zbojZ!zN){``Z_cQ$AJgnG&pO(SOC1fIWT_u2n~~~s1>>NytvZ^l#^$Hc87yZ2&TzM z31ZL&L>n+gn9GE=*BDRH@Ti=Cr8snLJ4#f z_Lsj6)k2cIC1!!0?KzY;M+M>KJzyp9ah`$RZ$Jh)1(6OAgOUP$tT8xRBo+|8S~~#I z$V3b0;onp=ft+eAAQQIbrCJ6K@M;;I29um;4$IkNz290=?VxcpFL$l#O~X|Wna%5w z;pL8I`Q+aHUf|3K9*4H)zc#^(e8M)9Ouk~`yE1DwJPD;``Lr!`Q%0+zGN-;kFOtJX zdgsiRi&IQ~e%on06eqa14LQvkN1Kf@W4hZP(H&}kJxT#Zq^S71@&3oPkY2B#ZQ~;}`36d9&eaTz8 zdH;D$mFWNk;cGg;^#-Wc#VBlgfzI^G73Bwr=twT~@)iT_Eq)`K!gZ4=E|U$Jedh=AO6 zVa&#qiLiWc>v`o3)QK!gxT&K`L0T;gOzX*mg<5i1S(&Aws;cUPq|Xq@Y%=4o-9_z4 zjLWy?=AqZtdf$TBFC0M^-TuE{R81Avs_5g)S+VdV0=fZ2JO;+hb)XU_3A zRu^m_--R&qNGqfvt-0AkW)pSp3pg`2!CO+=M>pZ!xN(LxPz9$>#cYOlXcT|=-OElu zvFn8W?trWlwtWJX#yFCzLQ2j%acGygi6z_+5&49noequc7kfdHY0tT0dPf!EMiWl@ zM`XZ0Z3#|?aVTY637o*2dn8{!4;WlQvxSEL>PK^|t7jf2FQ?r0-UU{fgTEnB7wE9q1r`RFOG zsrd~#GhWO*#A>0x=gGG%s5rzXOSV`*p@nhkR{;+6n{Ix@@GWYTt2?$bqmQgd5e2CP z{Jgq=XkbZh_5?DF9iY5!7Vm)Oaq;nOU*Hp+g+@D~dA7q$x5x(IRJ*2gso^5>&n=N`I{`J)7h=Km_v) zEy7nCQT)m?xTaBD9oS)wgR)4{$^fae?Te1bixQ(*35Pq5`7E9VbvW*AIJaBp#XD!p zbVWlrL^=O_b|`eQ$xI}HNz`RFHLgUKrjT3Mj^-9=U)W92+`_;gD9Kg5ShrzMH2U&y zsi+d0Wc}h_G6iX|D-AHCt%MKWwb)cD8Rx=POxhhRb%*m>5Q`;WklN8!U(!?PSC2M7 zx`iav0-rAfRTJz4l4KvLAJ;)PztFRHdlfpe@&YIuqAxp+yy0}dw--K>8@M!3;Lx=} zdVE9_M>Evrza`(o{hat*3MPLPtYE^I+HxQ^7!n^Hsv8x2sWvzTYGV#TW~@wvM}`=W z9Uo#u(K2#gMr~iw!A#FaU~?v%{s8DZgkr+<5U8IWZ)k8z_Yh3cgmHSu(~|0GvCmROq0QZSWU1y z${t&23rtX?)`*rZL0*%ncMr}wB0EZ4fB_MukajP%Rf|VQZ&{@02M{|Xb`YXs4NC7N zl5(Lm=r~-eKALTrylil?9caZp@rTX=M)m=}mWLGcP2(B0B}Av_ zTEW4wpO|z5h#y9@-yt*}*g*h~QyGGkP3WZsNIZ?7xs7Z7ig{?yOaS7CHDdKFO`^ID zXg|)rKUz}n)TxW~0482}_d@#E490N%0iYsiww%W4CC{YuS9XnqB4x0u zE}caa6WRJmwJ(|e$?8pky9#Kjykz>cz{&6?IgbmoNsHABo?V$KOB1K}@Ih5Wwk8KY z7Ex$WEf6dTNI)r~<69lZ=02!S$=yePjI6G1jlnveUhyjV5UeHF^$p&v^Gb$x!WAfp z4qBZ?Vp*i_z(;{F#vu`_)ViRZPEe1J>d;A_kFc5{*Wn@#wnIvRCuN-4=Sd32$@O8i zoDGeY5>BO0`R@!~EB1iD(6yqsaCGm%o&s~lXm0#n1yaV%vhf(cKM#A2X3H7$u>3++ zGQv6L=4!3-R|KF0(#&$w(uLzy`2mR${?z{h{e(B;LmS<8Cc;gg;Jtv5Ces-RV1!e# zJfXygNTCECf>ojyGjXYK3Utz|ixhQ0(L*?L^`YqLOy^L9{|4{`Yh>Tmk}DcUovZ#< zkUrXzWv&D8oD0S&C`fuiI58^?C&wT%!anbbmw1aarxo#)8h5osY%`tX_&Bi_kQST} z6`U>=3n0J;W`Ar7;cM1{5g$faUSp7UunRKu(Z)i#{vh7&Si|g2K-;pq!ruJ>M|o70 ze%yLzXkfr9+;_{-kpH2pTP98BYeso7yGWcs`u%%bsrjlGw=xN2po5zRoj`sEHy*y- z$;zdv38(Ar6UmZ=*k6y@7qD{9YFa#cMC(eTH}cLVbB?^vj#L0jdp@!%zOeo1grEFo z>~a0a7Lk$!NLCLR-PK8nP~pILBR7P-H-3J`0BOp`d_ZLSGBn%Fgmrh$Mk)!M7B-eB z0EOjR!7?UnWr^QOfJBM~nS;m2WDxzY$Zb`pj*xr?T8K}Lu1Mc)WGuv-4G~#z3EpcD zr{xeLKLX)A-4c+DpKd>TeM&-}5X*KpZn4f-uW6LH+-YW1g{)+=i_cfwoA@S^i{|t@ztra4MQnn5@LJQP~a(r3)Y@{H$K2pM5k~gxL*H z6NmY$m9y;{A=P(xigur6j&QNoCl2p7Umzm?8VWJ}-H$1g$14VRb=bA>CFRaT71J4f z>L{rve*f;gAVj4x$8qFJaqE%TPEm(ua{t4KR2Rtq*9#prf*)B{1K0ZOk>odhpFS%o zVY~OH0A045`yD*A31tXM)JKyx2Cyd!lQK43w18q3lDO=kUC5cvwcYs5jC{j(>TFWO zb{&9G*Ix!HQVGb*Jqzg~IhkWK~JYoac@9fwgj(T>i)kjbsV}#e(ODl4gNQIxn2&VBn?crN%c+A zcBIlJ9?%*@U_fMAjr_0^-Fkt_r`At(E+%g3wcH`c9fVM40i#eqY9l3lT$yy{&%K1A zd*N-iWxUlHC2+6;0hvtxa4*L~v|jvLeTEX=U?UE@;?v}i{Nm0Tq!9vwwEdz_f@`}I z1|B`?V)KsmMRkCVm5nX>=c5Bd%_0I55FF)RVmZ_nsrBKo?M}kW7TojR^Y=9|QT1+L zHr@P>GEJ=*`H-XY*{$2@4Fz&kE9kJ4=Hyq9PloNY1FKVF=wA7Xqz(v_#}>cwavZ$i zhpa?O!LSG^$E=Y;5S(Sb-2RpCqS39$lqR$qxWedolfnn0yx9&i%I}I@fS{BkG-?iL zIOhp0yET?Dnm zTjazCf9ITpB*2Y{wF=;Kuho~24{`z0z5F?=x^LJSlkMvAg0@hk0}@uUe1(Kf;Te2}y+vR#MSXOVE5WNl8@CAS z*)03%dZKM}qW=L6zSOSkBa{u_NCLrU7j>S}NZ{E|mp+h;eSd1jwNf%384uLzxkX9_ z-&h8hp%X&Hw+0RgJ)c*rQX%x>rOl^7yO23MYY!1lC)miw}dPYmI-;XN~>V zVhTAxHM7KGE|lI9&W|B{+E-O*8(SbF&}k>wI1<9Cf_?6Aa7$MO@K@@p=|+|bYOmv| z_VvKPrO?~GbJ!-TF$NX5OZv=vCc@Ddg^t^Q2N@L4x3rkR|As%t;05IV?0n34E{ z>Y|ti@g$$>ACX)=M62({QeItm%hLn+*feJME6k@2_UZ843)n%AAy?P}2gC>HsQi$z z+yTR>f&3QVv@_?me_dA3I*pYLKFeJ2KFTR=l>bQUDfY7Cz3a8{;gq^xiKrN0G(a*0Ttx(@?10|BoZ5)gm$=6^d{} zAW~2b68IBxbN10hVv0+xp5Al4j0k9(jADmag{N&& z?_;i6v;kW8gZw@_J}Hid2S3{8+vuA3fS77vqOHY08nyR~Ax_WCn_d}d%0~rHpGs-? zIXR%ABEFzoip2pH`(YQ2E+o2arjGtd0m{ERa$9L|KI(S5b81vgnmL&Xp(S~s;&6ja z6dj~BWquRin5ll(p7}XRg(tBwr*+}$a z9iQ0f)EZrKc|8kal|XCdQrLfT2qig-NcFeb^$7tnNRN-(N6#fUjqTS{wTPtI6MUBZ zaRFe~?pPgWdxOUXpd-jmC1~cN zU6cKH*PKARW^>7mbp-jysE?jaD&xMRGF}5`|1D~ z1Av|Q_9w@;H)OttkRQQ*wabsyaHxh+SMSB*T4Hq;PY!)~7n$%R?V2;7LD_X4aCpX} zRz9ZB+u7)f&Jb%h8rDEB%WN4%m3|1nGc98}3EJECVIWIZFUBkLy;Lv#z-J0-6Wyzr1mF$-lBKY99!rAY>q>` zew|T1N_F-E;%A>!Yb(qe%-4upy%&9*M7s`=U)%wRtyJ$nvK31nlPrTol_&&_O9jtp z3~kHH7v5+K=K5<#Kokk!d1kgN6Rw%k0Zi z!*N&hojy?W$qa|+9bV5Ax7<0E-BLgK)37NIK3u<)Y22Ke zyc`kk3O(HD<%3C1yqLe6Nx;9qzds^alqLS*KK~DP0%)w1L>-nLp?}!xfy2-Ng$NA^ zw$Z_+_)Ay^H zNvcpQnNs5`_Xo(!wTtrjb&@`!4G>O6r4quB?CD7FG|fd<21(D_U2dRhyk}96Cc$^KFvO zIj=1|qi7S`Q%E`RGdc-2p!V{vmZR`e=K{CD5>&z7e-!IjX! zm$2rRTfvYCiRq!;n_m@6dMFg7Z)M?qpB2qyCueFmH>+=V}EjW%mv*!3Q^@HwWy>ylg?K|aC^1$6fB-*)6@3IzsD7fhB_>7V}Utg;Da_lp2edvwWvDJ+Y6^afSV$r<&k974nfACuQ zR%qS#!m@potw`Q&(fn)uXX`tP;Y`n}yz6s6ms)RT)c85y(L_%*>UYtaFdoZPeq*6N zcjTk>sDoYUulv@7u`8HT828>JP@8|gW9;Wp!=4h%(j0ry8?TrZg#(k*`SUR)GFkme ziZ`B9+z-Uqxj(0P@z(Fb*}2ueu}->w#Ov!=K!V7b2DfLOxIX1yjU_YBXY?nR7X|`i z<|lnw*e_Zvbxv9nN~OC#s}#YMva8O4l<#bW``sUL<8sy^zB*BCW2^BnJ0#ds_~caT z+)3-r-BCf2xL@w>MZeBH_|%tni^3up=d&74*>k4;ac=C}edh|Yjhh_mZ+H}WC*t!C zHJo#j9RnUnn5b`6QST9swwJjleWd75mPli|9G)1jJfz=W*EnDOdFOPlQ0UGD+39UX zPIm-J%_Ua_zj_ZwObsk8lua!h?ya=2A9ON2sjupkeNQk6%GL)0;op~((*!xVhjtKn zSj9{MAz0@2yZl*4taUP=Ed4}C)qmo~FB(aTCJf(u02Ce2dbt{F%Qd~Lo0~dgT`;dh zchdZ51d}r3UaL70)_QYa1kU(FdgK(Su$pcxh5)QH7%5*kz&{uO0TS*H}-s{$RQEq zHPIX}Q8aqnnoO2+450MvWnn)n_&nxq?G;b8<8RCDHW!tf$Bdte3ep*kY?xz@VRAAc zYp1V}PUP~X2yY#|?+>@D7IcGoA?o&=u2E4Qqx8~Li?6SuZyd#Jyl$x6QkjP!PBGv) zWK8@Ka)*T)zr1s)q(j`dO2pTF`k}RNBW6?=H`kI7jLXvSJ;Fh`@?pWvE6XBruy)eE z=|jcNAM;fmi->^ol%0cb=9}f~hMa@im)HlLbIMmA$CvC9y&DoOt)LB9r1Flp zUskxX3JdiQLE>h(8A?=t20AVi%MA^;G=d15m8&=X-Pz%^{y0n|YM&soK0q;$VA|e` zOU-8{oPUPl&dB0Rq)EL_AoLKmEM8ajSXnzTV!Vd06%{E;EiJG}B^dJ_QnOHNpbgID zJ7PBm8KzZ%K|7xqHt5^R9m<}o0s;A}M^>Y4XU1NM>6f_+RH7{H?1s{~nS#!=YYxm$v|}#2H68o4 zdSlF^X!GjRU3F8O6}HE7u^21Ccbhv_54@bocMEn+ku^GO9_;7aaOjz1hH(U5@)arL z`GO%y-$I`vbNAL+{OojmQ$xN(6q6c%RE2X!Eg`Sy;)0Xn$YcPFi4BvSf~!xh~ z3lL4*Q7R>12i}Ca!+;e)IYuGLR%C(Ui3wLQp2d`R4g%yRegbBiUuDeQ?0C2nyV8p| z>_N(;LD4M-Ez8vUrQWf}gTJ=uM&@f;veoO-a`7Kd#P=vRM!LBz@Dr zy0J(~QIey~J|&kxG&wxKNs8Gby4GxP$X7rmmc1aZM7C$FlF%?$_6qmIqNvcU0b@%L znwwfVU!o0qa6Al1lsw#xS^Pf>Q$tGh!vxdmrD zRxix;xebyg2S^`cY}L>a|T`B8!kVz!;N`S9~`_op7O0`jS28m8i5=UyA; zT1Q#j4!%*tnWEdsxDt}`s7L(Ax>wlalQYABgUO>GC zi&MuWoGG?3FRIL!^!kz&uptVU7b-c5DYbah_q-9;x|9CVsq~K#DGuN)JF&vlqLd_-U1yMLLnv1(tQc|_5uWa+;{ z6YsMbdUy$`26IE_+@&~*&mT|IEq}f=r_*Ur8z~vK`jgw~d}N&W=~4sL>5->yuijYd z8$N8bZ1vQY>l0z$ID4A*exrw87cqxo6ehST_KRaY{H;sGTR}$VL2Vytr(XQmhd8o9 zmrIk%!m(ggxpSfm&l)TAb{QHc3RamoJvaF7uviz|)L|PH6h=%Gi7Oyw$R-K2he?Jo z?v4vm^_;HMO=V`}9!#Bn``3LMJj^^fT&-x9PbreLfIe_}F0S=^d8fc5_$L;Ei(UgobUb z&JUZWe=$}`UoxDTCeD2!G)m}UODY;xXEReg^BVWlYcdlar*kWf#B2*e$OH$~qoN^~RFmpD_RJcZ31-(y4>)bS ztC2C_41j&OKDBby{x9z*W3~r&vQBT1f+U)Y6A0>`9k+FfIBg{y{0}WgONoQ~%;V)B z@f-;iQ@+18Cm*J#sf;}g#$AY;JO=DAX)trE(96SsduxKRKl z3NN|tXt!={P1i{HGy||>nR7hU=F?*dHGj9IEH_j8lCpMu*d$kw)*(g-eQ5Z<;sr&- zzOIAfEKd&(TX6ioKQvwyZqS_NqJsdMqeQ!H&zD9g7yzj;$9U<_Gi>m0rVm)T!L&$Y zAqR!0=Ek~WII10iiWN{NEjCIL|IMOaE5MVFB6Ol4#1to>0L>L(V?lSNC%LaT)#CY%FhbftHD|MeLI%8<2tmfr);Q)7kEJ*sBBy3=!jz0W5e$8_q>m|9x72=C^N_l#}6U z5B=k5I{`yLV`tj|YIfZG>iPv5)I5h7ZpGlIKx@r%V*Tlqk|o!ev1WJg-W3^b9I~SO za#d;=UaRYn%y@B|wi_^*nAz6v=qOKk!TiQBCXeAQ7Lm~xUkXDl=}ryS^e(R5OQ7p~ zmh*F7ks5}E+(w`~8m%1jr$R=LuM(hiOgi##sbqZB>f%+XqJVtCzT-+6{qH(DNZQ}K zYCnm9b1OQ5BZuxcf@FP@`UL>i+bdkJB0`gCDMNz;HTgJ#na7ZA2Vjzm<6^yk-aq<{ zD5i;vQp3mx0d<2C23$xxPBB48{`VJ}(yYESf9ojk#5E6+z=78{^n15_~#oE`GG*b#O0_f@!<&QJr(b+}GLB*%Su@=e!~4pWvh z@jnv;sLb2VYTjNshT6p>xdpa zliDr6Fap--yk|P{7(~*K`Cj?^l;$H>XuM5*PhSdpftJfFuIg!7hR2jH6&yK{du>6> zP>Zw)T)YHO@YAglWz|4X*#GuROf~A?0AF|xAm4M)J2s1D`A;{`PsxS;XGJVDA-9)r z*^K;+p(%Hu!f(>MgvQ&hxzhlDPHt(vr!{kF2{5Zo{-M@_BTZiA7c&U-qEea-cFx7wp&XAYT1dDM1{?XhI zL^`;1xXm$B658N|!?qD9GNL}3pcptZy#q79E8F%QrgL}9MJ?O4kM7SvkJ_)M#-Pc0 zgnv~jCPKjSo(e4nM75j&xd@gzZroKAd&+91hC#j!i7jA7CN|-D$Qqj=#lK*q3k(-s z`g-uBMfxVexNjZM8MTG}#8c=@Aa0;EGNjH^$BW#)n`zlAYMA>3nypO;JMn^eGKQQ! zf$`P>^2AS#uRa2I2?w+YQ4j46>x;75f%+qz@QQuri?&u?ru2q1WU`hpkam}L<7P%p zhm@JQ2&Jg@r05M!Kw|JyQUhMq9U6>AQIM7~^_OetTT+rn1gOhV3N&J0?kl}-H}6$Cgk+QcoM>%b`XtPF zr!$I2r~+N&Ey(vm*yIZbBXy2B_16K(*j~=#C!*V`ieOIi&mh}$8 z*=M$CNnqtY)g^oJJ#N~-4M)AeLxDlRq<8$nRgu3-3 zH;5iR@J9B*hBV}iVI^w@qZ5#+m(BK#TV(~A24|z4&oY2CP>JgfETkbOw>>AgG3!iQ zZ~kyrH$HXjw*^?X2@})6#gpe&O9^kh6QNY>`1!ctZeU^hrPcG&t1~}zG1MatdsETt zGN(kzmH^XJ-d~;l6tI`Cy*e}gu_PggUpWUgEJzw#` zp|8-Bi!HaL z#m&!L0`*n8Yqi!d$MtD1diWE}(G6)}r`3Txy?~$%M;hhU%j4Q~B&(G{nq9Znq7yf4 za@l}{THPQm+v*h2zg5`!rsO&U=~s5d<1+JjOeDCGGRi}@&NNUTd~u0)ZryICC)uvt zW(=W1?;TWeO+%cov@Z#fG7ev8+4(2*{C!NWa1ppK1MJQ~7zPiV#4b2>ke?LHX<8hk zy2x!njk6BC%QmpK_5|SIx#aTbd{8H=$oYGJf6iTow_w! zWgpAEu>}#4L|ry)9QMM`DHHT0r{NxqELTkbarnajx%MTL zzR~nQk9`l4fi(*OkdL^eES%zM1lymF9w7YwUw6s+iu?1%(loig6RH`ZI;O&Hy1(BsiLHN0 zxh#ig_h^vTOGgrVi~oL9Di)#l4Qc!u56c)bA#j&F$H!sp_8g?t*YCV?R5EpEWloU8 zjK!|NH@UYCW-VTll9;?-cXZj9{iVmvPF99fxod0S@4c>l52l0u$NMxZfM$XS=CEGD zR(rFiw2$-cePJ`fs-s)_Ir2Pi4~ma+i4kvf-q-LRkle0lsOoqgD6nssHU9NY;ltzC zSWwHASy^;)w#*l#-XVKmiMru+Rl3&Amu`alUQW$4?3tVu=UJG%;~KvId-juE7rGfK4Y2_7^wt@=`= zj<)JAo#O4vq5eZ2Wo0C3iRrgaKTqrjv4abV;lJMMZ8cONW);O2OTGpZ@Arwo=>M%m zr)<=2qn=b_IZLWw=?mH<#^-LlncIJsgfs2ui1zd#icvdnEEGN%wfi4@#Xq}b8LC|2 zr4QBCt&bVdu(s&I!)Ra{kVT8`#0PHbe?Xf{=f+>PgTaJOqKNUh-^hb^Yd1P^*_Nh% zi-kVd?nBi7egRBpV^J4V^kzfa6uUNf)`3(U7`MRhvYboSFIGCLN3*lVo+O>(zqQk@ zUAbCGK??Y2wO0EQ#lv!YlyT%e+_e9_sB)NQNq%dF>hCL`u zsEaX$HSZX5-Ox`kTJB|Nl$#J>eI&!YcG*WXvSBB|#)2;C(Yn~jQ90BR2CkGIh2f54L!a!&&~K+Z^k0jKNhnEaSS%9wiwD!Oehq1d{bP;)r~2GyV@~-^ z51PAe@|Q>*&%(ddaJMU;e=>w?{=HC*KRF);g;l7M6vMw?0NnoYjtf%43g_STf-Y~( z+W^o9ODI+A>(yk9c7#>yUbhYUd7b@XynKz^TiL02#@%aQN_N`~Mp~#psVoE6ztHc4 zd2Kmx`M`!sZxZvYfo$zN$e$sVM2s{``>gkP5--!e-aXt^y@3Lmp@ods?#d6{s^PD4 ziapiHru23r59T(*?&<#u10eQ22~S^NhOa_yXHQ|EAz&`>e(`wa{s%jc{Wu^{)q6)s zkderE?WU~5Ez;T*dv_gI+sKQ#O|z@$f4kx-xZ>DP{(^llvmDif5UqgTAa^O1#Cyr* zL0S0ElRTP_5RnoIR5QlNz_R%W2Bia%Vs)ipl!wN4*`O2*Q40|SgsVv&%EP?dzPSQW;X0R>(Kjr;YvXr z?J8J?i~;q+?NX3Nl}YJjLv)|j8wkAKpV_1K2WkD`)Bk%j`$KFLmWf9`nUG`uk+oY| zcE0fdNrNJiJI7&S>PkVlcDvLmeuq-ifvH1PiM%1{UX}pgGOoPtIzJC1h`Z42veo#p4iIP}1}L(O|2{O>)3#V1Fx}s8u_j=B0Yr=F zdyx!kkj9OJNmnt@HVLbyrDiZ7*9|D@c#an!KayF3CvT9eg6FP8W>;=Ku11kUYbqX) zFkA)oi$;5?)RAy4Z>haf_eT3A!wzn^b;K+tR=JptQ`opBs8j>)z~6)tT8i@>kF3WO`=+Z^9U zegVg>^Yfkk_8=O3*WPmv=FnELZ);TTWqRwfcNvtUr2x8o^xwSiTjBv=0Y4C~8%8eO za7l`>O@b9-em2C*w!!+6dIk)}wV8Gn&A?h22O4t;jD6^YPc)vmoteP51$$7h&1VuZ zoKXo+5>=3T&xb+!#>UdP?<>fj3?Vb1R>}tDyT{H_Vvc50>wKJKF5k`B?>$`$xt^9? zsP^bEb-w>>{>T9jy*s0oABVgN8cQ@J^n@{cr}&Y7)fY1$Pbadj`JinpSfz zj0q$G`V-`Mk)9b`^AHf7-ius_fHs_$9jGr5%LqyTVSY#30ue@^F~8JEp8x`!A~-cC zvDAQ7wXXa~R_YkIieG!dmomKO9t;AoG1wO_vFC`cKnd>z*{U^akFuY?{xt#U!rvFT zc8mZA*O8JrrNwR`A}+KKeEHp1HC$ed5$jB?qY^{<#djR&d1&k1wpVa$6{28g{58A% zg~A;qm;v=)LCZgi?n!JEbH+V61sFg9WT5^~jI_S3a_tEU?MKdb+Q%4Yym(r@fL+=M zXSC&<{+uPnnb&tk}%rSS(1I|bkVv>v2m8^SAPj3z@R|2@$Ywy@#o zFCgOgld=G=tFQ?R$lME3Mm*6KG)v5}F0=+y6y3zm8Q^)!7M`3BPNcUw=Lzi0i#;!{ z3!pM8e5)Z>%9nGVBOQsFicTJ<|J24nULKUq1Lto)^#bgO3It~vN&Cul_k2AIEqCo1*y~sg&+Ms zoXkBI8N^G4B{Y*|!aLI#HsDLWfZ3gp%-4dYj+We4{2*uAD!+2hL{Jht_8@!~EDt)t zV+04z%K6370b+K18kP|bBBQeqya<@$k`}WHeklTC3M8pkEy4BtH@-1y<@6+`8 zRI$tg0a8t=WyJvVI_o*RZO>?*3jUb}rspcTn*xHB?l2LEdG)za_iB5b5kA&)i#Zc; z&a3V{X!=tVre{AuAtiQYp96Es!jBeVn-VPBRx%9b2qHTRZIQe3j?SoeY4-#ao??1E zE(xCGult5SRwOKpLCRh2vR%#!zO&CGny$#1>ogT36s<5~FMcIbEi=O=o_syS>xa#r zzU6{?yh0Eh!vk@7iqK(U{&M{%4$(9rX}MsCX%1QR{sn~?z;#txlt@d>0=bWGY!XW zM-q^}?AjZm{sW8Cs|}MBjEKb|@LGOU709n_?;{A+Qzv+$Nc{K({m5}7PAV1_D;%zu zYAS}au+Lyh<5INUJ7#k$U!b37$|oILo;V?xg77eU9gD{i7v&sII%`^EV7~J^dWVl{ zM!RldYD$z}0RB@(G!eO##Xz@^^AjIk`QZC?I?1ZxP%U3y6o!j;%`P{uJh&1WE>frx z`;hqx9~0K)jBLeSV8Q2;j~lpIfX_v@LQ1_ded`q%eSl>CvW0a($RFZLVB|Kq}Lc3*xxr5#Mc(Ead8WU2o6AI<~XB5!1_q^@o>C zlZIpQ_LK(A0m2nc=MM*<4BJ`of0TD99e0FuT;a8W__y4hc(=&pRI#`zljg~0+7a-N z9#h#*FDN3Iu62(7#7CtM6g3dmKLMufD=U#G`;SqE`{|FNMHVcRCMIC_O1&(ia|X_@ zih6PUh(4tf%}mxaCd-w9Iw0YlWvo2DP!HozjE)#e6G~O$cne@|0Sh5Q%jU7#VUezg zSmfiW8Elu(l2T|u)N%f>+luftxnVJ_GmY8n?j2%9abdnDeXy3uLgqG`h1_fYaRf}C z^vBDo1}Dref?Fb?0l1R8)p^Wcfsfx`_CZ0=PM%3 zek%z>&@$@lHVIMGwh#vsD8+IfI}<2rLw882Uly)_@_=6Nx?7Y)YNppJa;kovE{YK* zsPj)l2Ei|dnVoO7XhSU3ujl6O30R#NW{=gbJ6tt?1K6d|E^`zFxiA=A%-F4Eb^ddY#On#gFof(%Vg)8}Llg?$A-10eUl#1K3VlO?-Jl zBXz_|LU`i|3_r&92Kl<4tb`TL)->Tw+B5;)+bA{(OUD76zq-~fDVz58ae2Qw`JEnR zA7?cVw#U7f)5hQB%aH8%z`JQ>Aeqv{umn|63I}J+n_ddqE zTkBiBhu9S*o;{?ir`hVMR5Mg@}5>%?ZsWb#7%p*TWucZSQ0sxPV~G2V5(6t zU24P7HcV&r;@tREvYg&K1^UAxSfkXF+uSjcBmp~JotT3!gHIy!g|22p*#g+o^f~}M zInKc(+#ijeda@$;!HA&9quWo4xiH=%aoRo9m}#M1NKp;xrhQ6$z;_&PKNzgFXv#74 zQLKGI0=g=WHphjXm9178Wxp`F?}{Wz*tK5eHPa-STM)>rSQU+jG*K7QwXQEj*HeSV z?%?cpxhmzK0r$Jnk#N~;%3&4~zUHcJa)s z2P8{+A?#=4`FjCBfPCAc94<~@Nxo)40TTd;z-`V0Wc_do}k0Q=j7XY~9%kW3T zumfXIG-$tnupuqOVOqoGw4r~T`VV1IEPpX*f0*ktU8@$9qv~6x=2dsA7%IC#p zrnlC6v)&U_!Y$dc4atBEY9GY^jKVQr<%?1~tAz>H0Z7ysYZyfn`^6{gSOpuZG!(AS zI1WAGCnQoWKKtHgK#(Lvorz^FkLY^%N7B6ICc?NbT1yFg1yauH3WSnJ02i*40KH#zO@@nin@Mx+ z52(0vp)$^ir{~>q8G4lxEFvE=rj3eY^BS%s3`ODOj85|C0jR9rXs`ak`tiyx3De7H z^2_m9QqGjgu&nLs#~7VP9d^bkbHY#MBj2AUtDWr9W*SwpC~SY)$ei=-=pp)7%uaj) z8ZlU-!|!$ueknRNpBOOgLP$Ks`~l6>{GOgOV}yNypt2!9(wwFV(`18XcXB~+-O-z0 zBOJhBU?FtFz<;6oVnF@3+HVNNG@F>bO?I>zjuAqVP{QWG6jzYk@|-I&P2#4qtIy$! zmP}H&QMJ5mpI%qicQbjn4@d5;Z*Lr3rGgL!8&;NwA!U@QMlJkLObbkU*w*MX8wps7 z6a)Do)|UdPY?!MDI?RHQ-Mq3LJ=*cujPW= zmPMwIt>L*MAx7_yoxQUc&vSd7R}U!(pDd-m~+5*sL}h~Deu=Y zrlwza&=R~qLepN*r*_>c^&g;J@^Jv|7D{AN_Jlz${Q+>UuO#HBeHOeN$Doie`hV?R zc{r6_*O%dudKwN`Gv z?BNE$((+N>CLi(Q+M@o%xZI+e4!FyQ+~W2=z^`QKK6lNh044cCzM=_a!rIq(fqVP_ z++ZsOdPYec%5zFX;IhjVzS}`{m_}>BT|&5lJ0YgQ2F_Id1`+_`1Wb2W(1YL9}SC*7WoY3->K{YVIoZ`{wpWiFLjeW5N zRWBMc0M4~;$?y>)ZDOyi9NU(n@uT{sL_%q%vbb+cu0`$@+XIf5pUReY1&QT@p50KB z^E*oyC*45WVe{353MH;mR=*7ULx=CFS!45Ak{u4TI5n7O;!2$>{3XMjUTa0lI2&=w z+vpNiYEqp2w)J8je|1l;BVop-i~aT%^#SU#pX}S;wIpxqL5iZl$F5yrwi+$yQ8>6I zG3p77=neIQZ(eNM153ZnS*f;A+Um9yVC&d`Tjc>8!qjQKu4^RYVTNG-K(m$!7T?(X zI$oVOWNZS0Cd|P@RkTwQJ|a*&c)WqdO<}^0~OZr;7st=7-&|R2Mfn5JRM!Ot*x^{$5P&Rk66)oEb@-B zU*BV{e)kcm0t;~Yp7h;*TT7(*hIr!h?|?)h|`s4kelC~ zzU3uk#P?WRFc=*Tsy=7gl94$1XPQXgt4lwOFps<4r@+m25aJ*YnO|k(llCQ4aU+j$ zdk2v{;+PfqFkBkdg!90a*$2|12L6BvSvdyCFSkUn38E=3P@-(RA#3DL=a0uw!7#RX zWR#&>hDoiX!QOY^soYmpCQziAU-{L2!^R(g7M@GNK!eP~Lu5V6hgcD1^*{9!i&G7^ zyybdtgj6eM_ahv5-4moBfP2=(F|BI=&=R*xPhP0`m#3qtFm7!iz*XfvKVqh8!FEvK z0kTr*`2b{1G_kg9?0I8g*N~{S# z5-PT7FJ9x=!`gc`78IoS9;Ieg5O{k|?T=(Y@Aib}1yoJof0Rt-L<<{t9#3zJ_m*DJ05iy$Q zlItR>TEYP?YBH?iBY-W5GAE>!p3L>P4Rr*|tMpj#idN7FG1Z~-H3DE#p`&gnI_mym z$yYU~eZvbG(tg{(`V!hMP-9(Zo>EQFQLtgG0hlqQ)!~E{US-yMa}DVScCWRDxu7sn z$$$gmrP2d%Ey9midY=%j8eGP%<;7XkEu-!B6iz&0>1UR2@1#@BO9CSw&2$=|{XP1+ zuU?L<^~eZvpIg;qGbMwZih^2TAMTcnKsTbvIZ1tLzSY>q5Np--&cP8W-r|`OrWK*- zo1Do+w;p+>!tV~89Wm}=HsC>79Hb*}y%E=aLB@2xtV3`nGA@rI<8n>>UkQ~;Q<`)K z;VMkjBc!S#IXO(i^dbUNL50Vwx^LHIV4^nNB58Q=d{dSyk{9>Cup-xpxk|v_{Pb+UP1kfM9%9&V^FP9+;=~qKWO;U-L4^F z_Kj-grZ(upQf^px3@+^d$Kzz`!tfJ*T4RiV9=*OI(4la7@a>lnSu51ZUrt7qv4%)b z8UP53XrP&iAT^*=M!&{B@VE4?%YqsZ`F(uPj|a+)+BIK9{-3AVy8!3qD<9cNCfA+9 z1_`D0f|knyw5VsKheV|UxVAveIDPDW zk?4<&DPO8>G@>x10NX^Ph)?6>E~212=nJj){ln5e1bJ0vDy;0RX~Ij1abK~Xa*C*< zA6$H$?2+Y@;vwD{s z(A_hWyY%4V@C4&gpA_T4$06H**tMGHIn%@<5_(Rq0%B?A{PT$cTkCjB%yrkMI=mpc zzN2&CzQkMP=KZDiMG`~cdCYlH3I)tApWzd%X(B1(oWI~5spmVd%W#+UuCaxe`&{`( z3tJ!C7s_##fzB(R=iL72ObJMdUz?pU0_hMM@dF5$kJif6HlZB0I{&@H)=k%O_Q04z zz9L1o0J2ot6xC@i9t!$e`Y;8uR zjE{Mn?pGPgK~XorQ12TbZnuE$_)O&doc;@oBNK+*uIr7y?D^4)<9`sghL0X#uJt#( zd$^JkIdIqBPeY-MoS?i!Vg6!(czXy%;4h}%Bm4cb>WkMaJ7RoQ>bXDhhTCht`a}u3 zP?J8X(+foeNNR6{=I@;Nm=eTy{Sx0x#)FGnxVpHu)>^cfu2+^inRt3VCAuQ9Vlx&3 z%VJqYzR!t^ru5(IF$RV44dx~!2s=#mv>w3)4XyVgRSNyDCK0ggP#TV&$e@A8otYb` zzuF^Qy$RckM}2M2O-xG4d@2c1^M0#JSrFcA-QNwM77WiBmH8(~uQdR|TP2@Eaek>S zE!(ITKGnRTXsVo_hdXWgkfNN6X$6I|{Trequ0hn?qcEL$HU;7g+HmYhur^Zd;aqo3?H}NuZuud%%HjBDguA=y!mj?S@ z1|f}jbS9MsYN-_PjC1PDq9xF->Xr6LhcaLNKmP^8w6+n3l(UEa4m+6u_xV?xq7E;> zV@K=kn#~-b>V#=erm!oB2m5zcx*6V>up^e`3R3}>=jnnaQE)V3DrTgcu@UjsmmjZ% z|I}ja{zh+DfG%CKx$D`C|3-TUAeUi}2M2Qhy`cp(^)%paR0C5xo6u#45VED-{c`{( zynf!8o)RZN@bhzX+DS>xH4HDjSMxmgyJT#cm6MIf4^*Gtlc&bg@hz182tDJJQ0MT& zaN8xO_2GrCSbE0AD|zvrbc-ktsfC_mL0KM4>85|GAo~?C`x91+RGG5=dI{e4YG?E( z%_5Ps$X*E72dYWl^8e$YXCnqOA_4M4~(;)m|N+giZ&zT%xr3QTknbb0{ ziP~)RDsh~A^qy!|(5kVw6gnUe?B~qBal+JqQf=&P2n*m97V2 zrnZK8P$wuS0VY4T+|7EHJmviZh9ylIrxc>D%+6Bh7iiSucrS^jQO^=SSQ+M2Vokf@ zGtGJjnpwmfnN+*AturnAvh&vpkFTuv#4V)nyYO4L@%3+7)*cpUiHxpBQsdpiVvGTA2HQ`&G&`+`Y4O zO~js*5(cV#c*B(PSsb6kbY8rP7^uXw2?YbmuwKbAES z9HM1!skG4p{*q@}Vw|c7wE=GE0XNsgQktd4JCFe@&{FazRetPrpbxwKhMTD5(L-t$ z2+QYlvg>C#P|^X7PF2^5((D#=ULXkXo>PgX`oU)*?(hhZHMZE>CF073i zsacSbX|1-vhXp?HF6lr_U66|fxmb`3syI*|7UW_% Date: Sun, 17 Apr 2022 08:23:43 +0300 Subject: [PATCH 10/11] Update webhook-relay.md Removed { } from runtime-1 and restored client manifest --- _docs/pipelines/webhook-relay.md | 38 ++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index a3c0c98a4..7c62449eb 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -63,8 +63,8 @@ Every payload sent to the `/webhooks/${channel}/*` endpoint is published immedia The base URL to which the Client forwards the webhook payloads while keeping the original URL path, in the format: `https://${internal-cluster-ingress-host}` - For example, if the `endpoint` attribute in the `EventSource` manifest is set to `/webhooks/${runtime-1}/push-github/`, then the Client would forward all the payloads to this URL: - `${TARGET_BASE_URL}/webhooks/${runtime-1}/push-github/` + For example, if the `endpoint` attribute in the `EventSource` manifest is set to `/webhooks/runtime-1/push-github/`, then the Client would forward all the payloads to this URL: + `${TARGET_BASE_URL}/webhooks/runtime-1/push-github/` * `SOURCE_URL` The URL to which the Client should subscribe. @@ -171,6 +171,40 @@ spec: ``` +#### Client manifest + +Apply the Client manifest to each of your private clusters with the CSDP runtimes. + +> To see all environment variables you can configure for the Client, [click here](https://github.com/codefresh-io/webhook-relay/blob/main/apps/webhook-relay-client/README.md){:target="\_blank"}. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: webhook-relay-client +spec: + selector: + matchLabels: + app: webhook-relay-client + replicas: 1 + template: + metadata: + labels: + app: webhook-relay-client + spec: + containers: + - name: webhook-relay-client + # To view the latest image versions, visit here: https://github.com/codefresh-io/webhook-relay/releases + image: quay.io/codefresh/webhook-relay-client:${version-tag} + env: + - name: SOURCE_URL + # Channel name should equal the runtime name + value: https://${public-cluster-ingress-host}/subscribe/${channel} + - name: TARGET_BASE_URL + # All payloads will be sent to TARGET_BASE_URL/webhooks/${channel}/* + value: https://${private-cluster-ingress-host} +``` + ### FAQs **What is the TTL for channels?** From 0cdf344b6c81fa6e24bd844fec3c3fbdd5ae064a Mon Sep 17 00:00:00 2001 From: NimRegev Date: Wed, 22 Jun 2022 11:11:21 +0300 Subject: [PATCH 11/11] Update webhook-relay.md Added AUTH_TOKEN information --- _docs/pipelines/webhook-relay.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/_docs/pipelines/webhook-relay.md b/_docs/pipelines/webhook-relay.md index 7c62449eb..39c1812da 100644 --- a/_docs/pipelines/webhook-relay.md +++ b/_docs/pipelines/webhook-relay.md @@ -70,6 +70,7 @@ Every payload sent to the `/webhooks/${channel}/*` endpoint is published immedia The URL to which the Client should subscribe. The URL should include the channel (runtime name) on the Server in the following format: `https://${external-cluster-ingress-host}/subscribe/${channel}/` + * Webhook URL in the `EventSource` manifest @@ -79,6 +80,10 @@ Every payload sent to the `/webhooks/${channel}/*` endpoint is published immedia `endpoint` must be configured in the format: `/webhooks/${channel}/*`, for example, `/webhooks/runtime-1/push-github/)` > Note: If you used the [Create Delivery Pipeline wizard]({{site.baseurl}}/docs/pipelines/create-pipeline), the `endpoint` is automatically configured in the correct format. +* (Optional) `AUTH_TOKEN` for authentication + For increased security, define `AUTH_TOKEN` as an environment variable for client-server communication. + The `AUTH_TOKEN` is a symmetrical secret token whose value must be defined on both client and server. When defined, it is sent in all subscribe requests from the client, and verified by the server. + * (Optional) IP whitelist for runtime clusters As the channels are _not authenticated_, we highly recommend creating a whitelist with the _IP ranges of your runtime clusters_. The whitelist ensures that only your internal clusters can access the `/subscribe/${channel}/` endpoint, while blocking access to other parties. @@ -215,6 +220,8 @@ Webhook payloads are _never_ stored on the Server or in any database; the Server **What are the best practices for production use?** +* For increased security, define `AUTH_TOKEN` as an environment variable for client-server communication. + The `AUTH_TOKEN` is a symmetrical secret token whose value must be defined on both client and server. When defined, it is sent in all subscribe requests from the client, and verified by the server. * Use IP whitelists for your runtime clusters to access `/subscribe/${channel}/` endpoint, and for your git provider to access `/webhooks/${channel}/*` endpoint. * It is recommended to run multiple replicas of the Server together with Redis using the `REDIS_URL` environment variable. * `Server-sent events` connections are long-running HTTP (keep-alive) connections. We recommend that your reverse-proxy server is configured correctly to avoid situations where a long-running connection is cut off by the reverse-proxy. For example, [Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive).