From 6e3f63054f56c3467dec476693a7265a9a03d8c9 Mon Sep 17 00:00:00 2001 From: George Song Date: Fri, 2 Apr 2021 14:00:27 -0700 Subject: [PATCH 1/2] feat: update CNP docs to v1.2.0 --- .../cloud_native_postgresql/api_reference.mdx | 13 + .../cloud_native_postgresql/architecture.mdx | 11 +- .../cloud_native_postgresql/credits.mdx | 2 + .../images/architecture-read-only.png | Bin 0 -> 95360 bytes .../cloud_native_postgresql/index.mdx | 2 + .../cloud_native_postgresql/installation.mdx | 16 +- .../cloud_native_postgresql/license_keys.mdx | 60 ++++- .../cloud_native_postgresql/monitoring.mdx | 95 +++++++ .../resource_management.mdx | 100 ++++++++ .../rolling_update.mdx | 6 +- .../samples/cluster-example-monitoring.yaml | 235 ++++++++++++++++++ .../cloud_native_postgresql/security.mdx | 146 ++++------- .../graffle/architecture-read-only.graffle | Bin 0 -> 174564 bytes temp_kubernetes/original/mkdocs.yml | 2 + temp_kubernetes/original/requirements.txt | 3 - temp_kubernetes/original/src/api_reference.md | 19 +- temp_kubernetes/original/src/architecture.md | 11 +- temp_kubernetes/original/src/credits.md | 2 + .../src/images/architecture-read-only.png | Bin 0 -> 95360 bytes temp_kubernetes/original/src/installation.md | 16 +- temp_kubernetes/original/src/license_keys.md | 60 ++++- temp_kubernetes/original/src/monitoring.md | 91 +++++++ .../original/src/resource_management.md | 96 +++++++ .../original/src/rolling_update.md | 6 +- .../samples/cluster-example-monitoring.yaml | 235 ++++++++++++++++++ temp_kubernetes/original/src/security.md | 146 ++++------- 26 files changed, 1133 insertions(+), 240 deletions(-) create mode 100644 advocacy_docs/kubernetes/cloud_native_postgresql/images/architecture-read-only.png create mode 100644 advocacy_docs/kubernetes/cloud_native_postgresql/monitoring.mdx create mode 100644 advocacy_docs/kubernetes/cloud_native_postgresql/resource_management.mdx create mode 100644 advocacy_docs/kubernetes/cloud_native_postgresql/samples/cluster-example-monitoring.yaml create mode 100644 temp_kubernetes/original/graffle/architecture-read-only.graffle delete mode 100755 temp_kubernetes/original/requirements.txt create mode 100644 temp_kubernetes/original/src/images/architecture-read-only.png create mode 100644 temp_kubernetes/original/src/monitoring.md create mode 100644 temp_kubernetes/original/src/resource_management.md create mode 100644 temp_kubernetes/original/src/samples/cluster-example-monitoring.yaml diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/api_reference.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/api_reference.mdx index 88c8b29293f..e4656eab0c1 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/api_reference.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/api_reference.mdx @@ -36,6 +36,7 @@ Below you will find a description of the defined resources: * [ClusterSpec](#clusterspec) * [ClusterStatus](#clusterstatus) * [DataBackupConfiguration](#databackupconfiguration) +* [MonitoringConfiguration](#monitoringconfiguration) * [NodeMaintenanceWindow](#nodemaintenancewindow) * [PostgresConfiguration](#postgresconfiguration) * [RecoveryTarget](#recoverytarget) @@ -212,6 +213,7 @@ ClusterSpec defines the desired state of Cluster | backup | The configuration to be used for backups | *[BackupConfiguration](#backupconfiguration) | false | | nodeMaintenanceWindow | Define a maintenance window for the Kubernetes nodes | *[NodeMaintenanceWindow](#nodemaintenancewindow) | false | | licenseKey | The license key of the cluster. When empty, the cluster operates in trial mode and after the expiry date (default 30 days) the operator will cease any reconciliation attempt. For details, please refer to the license agreement that comes with the operator. | string | false | +| monitoring | The configuration of the monitoring infrastructure of this cluster | *[MonitoringConfiguration](#monitoringconfiguration) | false | ## ClusterStatus @@ -229,6 +231,7 @@ ClusterStatus defines the observed state of Cluster | pvcCount | How many PVCs have been created by this cluster | int32 | false | | jobCount | How many Jobs have been created by this cluster | int32 | false | | danglingPVC | List of all the PVCs created by this cluster and still available which are not attached to a Pod | []string | false | +| initializingPVC | List of all the PVCs that are being initialized by this cluster | []string | false | | licenseStatus | Status of the license | licensekey.Status | false | | writeService | Current write pod | string | false | | readService | Current list of read pods | string | false | @@ -248,6 +251,16 @@ DataBackupConfiguration is the configuration of the backup of the data directory | jobs | The number of parallel jobs to be used to upload the backup, defaults to 2 | *int32 | false | +## MonitoringConfiguration + +MonitoringConfiguration is the type containing all the monitoring configuration for a certain cluster + +| Field | Description | Scheme | Required | +| -------------------- | ------------------------------ | -------------------- | -------- | +| customQueriesConfigMap | The list of config maps containing the custom queries | []corev1.ConfigMapKeySelector | false | +| customQueriesSecret | The list of secrets containing the custom queries | []corev1.SecretKeySelector | false | + + ## NodeMaintenanceWindow NodeMaintenanceWindow contains information that the operator will use while upgrading the underlying node. diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/architecture.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/architecture.mdx index 3f8c87dd562..4dccd20f717 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/architecture.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/architecture.mdx @@ -39,16 +39,15 @@ purposes. Applications must be aware of the limitations that [Hot Standby](https://www.postgresql.org/docs/current/hot-standby.html) presents and familiar with the way PostgreSQL operates when dealing with these workloads. -Applications can access any PostgreSQL instance at any time through the `-r` -service made available by the operator at connection time. +Applications can access hot standby replicas through the `-ro` service made available +by the operator. This service enables the application to offload read-only queries from the +primary node. The following diagram shows the architecture: -![Applications reading from any instance in round robin](./images/architecture-r.png) +![Applications reading from hot standby replicas in round robin](./images/architecture-read-only.png) -Applications can also access hot standby replicas through the `-ro` service made available -by the operator. This service enables the application to offload read-only queries from the -primary node. +Applications can also access any PostgreSQL instance at any time through the `-r` service at connection time. ## Application deployments diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/credits.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/credits.mdx index 2597cd81bb5..9eaff9e1de0 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/credits.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/credits.mdx @@ -15,7 +15,9 @@ developed, and tested by the EnterpriseDB Cloud Native team: - Niccolò Fei - Jonathan Gonzalez - Danish Khan +- Anand Nednur - Marco Nenciarini +- Gabriele Quaresima - Jitendra Wadle - Adam Wright diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/images/architecture-read-only.png b/advocacy_docs/kubernetes/cloud_native_postgresql/images/architecture-read-only.png new file mode 100644 index 0000000000000000000000000000000000000000..85a11f18568e2790015313fba2844a42c0c72a93 GIT binary patch literal 95360 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 TmU6^^fRFlJ9n}hD+o=BoJwY9Q literal 0 HcmV?d00001 diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/index.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/index.mdx index 0c089b8df5f..998fa2540ae 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/index.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/index.mdx @@ -17,6 +17,7 @@ navigation: - quickstart - cloud_setup - bootstrap + - resource_management - security - failure_modes - rolling_update @@ -24,6 +25,7 @@ navigation: - postgresql_conf - storage - samples + - monitoring - expose_pg_services - ssl_connections - kubernetes_upgrade diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/installation.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/installation.mdx index 3c77f19faad..b90d18d9164 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/installation.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/installation.mdx @@ -6,15 +6,17 @@ product: 'Cloud Native Operator' ## Installation on Kubernetes +### Directly using the operator manifest + The operator can be installed like any other resource in Kubernetes, through a YAML manifest applied via `kubectl`. -You can install the [latest operator manifest](https://get.enterprisedb.io/cnp/postgresql-operator-1.1.0.yaml) +You can install the [latest operator manifest](https://get.enterprisedb.io/cnp/postgresql-operator-1.2.0.yaml) as follows: ```sh kubectl apply -f \ - https://get.enterprisedb.io/cnp/postgresql-operator-1.1.0.yaml + https://get.enterprisedb.io/cnp/postgresql-operator-1.2.0.yaml ``` Once you have run the `kubectl` command, Cloud Native PostgreSQL will be installed in your Kubernetes cluster. @@ -25,6 +27,16 @@ You can verify that with: kubectl get deploy -n postgresql-operator-system postgresql-operator-controller-manager ``` +### Using the Operator Lifecycle Manager (OLM) + +OperatorHub is a community-sourced index of operators available via the +[Operator Lifecycle Manager](https://github.com/operator-framework/operator-lifecycle-manager), +which is a package managing system for operators. + +You can install Cloud Native PostgreSQL using the metadata available in the +[Cloud Native PostgreSQL page](https://operatorhub.io/operator/cloud-native-postgresql) +from the [OperatorHub.io website](https://operatorhub.io), following the installation steps listed on that page. + ## Installation on Openshift ### Via the web interface diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/license_keys.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/license_keys.mdx index 94c60725a99..827291d6aad 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/license_keys.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/license_keys.mdx @@ -4,19 +4,65 @@ originalFilePath: 'src/license_keys.md' product: 'Cloud Native Operator' --- -Each `Cluster` resource has a `licenseKey` parameter in its definition. - -A `licenseKey` is always required for the operator to work. +A license key is always required for the operator to work. The only exception is when you run the operator with Community PostgreSQL: -in this case, if the `licenseKey` parameter is unset, a cluster will be -started with the default trial license - which automatically expires after 30 days. +in this case, if the license key is unset, a cluster will be started with the default +trial license - which automatically expires after 30 days. !!! Important After the license expiration, the operator will cease any reconciliation attempt on the cluster, effectively stopping to manage its status. The pods and the data will still be available. +## Company level license keys + +A license key allows you to create an unlimited number of PostgreSQL +clusters in your installation. + +The license key needs to be available in a `ConfigMap` in the same +namespace where the operator is deployed. + +In Kubernetes the operator is deployed by default in +the `postgresql-operator-system` namespace. +When instead OLM is used (i.e. on OpenShift), the operator is installed +by default in the `openshift-operators` namespace. + +Given the namespace name, and the license key, you can create +the config map with the following command: + +``` +kubectl create configmap -n [NAMESPACE_NAME_HERE] \ + postgresql-operator-controller-manager-config \ + --from-literal=EDB_LICENSE_KEY=[LICENSE_KEY_HERE] +``` + +The following command can be used to reload the config map: + +``` +kubectl rollout restart deployment -n [NAMESPACE_NAME_HERE] \ + postgresql-operator-controller-manager +``` + +The validity of the license key can be checked inside the cluster status. + +```sh +kubectl get cluster cluster_example -o yaml +[...] +status: + [...] + licenseStatus: + licenseExpiration: "2021-11-06T09:36:02Z" + licenseStatus: Trial + valid: true + isImplicit: false + isTrial: true +[...] +``` + +## Cluster level license keys + +Each `Cluster` resource has a `licenseKey` parameter in its definition. You can find the expiration date, as well as more information about the license, in the cluster status: @@ -29,6 +75,8 @@ status: licenseExpiration: "2021-11-06T09:36:02Z" licenseStatus: Trial valid: true + isImplicit: false + isTrial: true [...] ``` @@ -38,4 +86,4 @@ the expiration date or move the cluster to a production license. Cloud Native PostgreSQL is distributed under the EnterpriseDB Limited Usage License Agreement, available at [enterprisedb.com/limited-use-license](https://www.enterprisedb.com/limited-use-license). -Cloud Native PostgreSQL: Copyright (C) 2019-2020 EnterpriseDB. +Cloud Native PostgreSQL: Copyright (C) 2019-2021 EnterpriseDB. diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/monitoring.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/monitoring.mdx new file mode 100644 index 00000000000..d6b04e4225c --- /dev/null +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/monitoring.mdx @@ -0,0 +1,95 @@ +--- +title: 'Monitoring' +originalFilePath: 'src/monitoring.md' +product: 'Cloud Native Operator' +--- + +For each PostgreSQL instance, the operator provides an exporter of metrics for +[Prometheus](https://prometheus.io/) via HTTP, on port 8000. +The operator comes with a predefined set of metrics, as well as a highly +configurable and customizable system to define additional queries via one or +more `ConfigMap` objects - and, future versions, `Secret` too. + +The exporter can be accessed as follows: + +```shell +curl http://:8000/metrics +``` + +All monitoring queries are: + +- transactionally atomic (one transaction per query) +- executed with the `pg_monitor` role + +Please refer to the +["Default roles" section in PostgreSQL documentation](https://www.postgresql.org/docs/current/default-roles.html) +for details on the `pg_monitor` role. + +## User defined metrics + +Users will be able to define metrics through the available interface +that the operator provides. This interface is currently in *beta* state and +only supports definition of custom queries as `ConfigMap` and `Secret` objects +using a YAML file that is inspired by the [queries.yaml file](https://github.com/prometheus-community/postgres_exporter/blob/main/queries.yaml) +of the PostgreSQL Prometheus Exporter. + +Queries must be defined in a `ConfigMap` to be referenced in the `monitoring` +section of the `Cluster` definition, as in the following example: + +```yaml +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: cluster-example +spec: + instances: 3 + + storage: + size: 1Gi + + monitoring: + customQueriesConfigMap: + - name: example-monitoring + key: custom-queries +``` + +Specifically, the `monitoring` section looks for an array with the name +`customQueriesConfigMap`, which, as the name suggests, needs a list of +`ConfigMap` key references to be used as the source of custom queries. + +For example: + +```yaml +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: default + name: example-monitoring +data: + custom-queries: | + pg_replication: + query: "SELECT CASE WHEN NOT pg_is_in_recovery() + THEN 0 + ELSE GREATEST (0, + EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp()))) + END AS lag" + primary: true + metrics: + - lag: + usage: "GAUGE" + description: "Replication lag behind primary in seconds" +``` + +The object must have a name and be in the same namespace as the `Cluster`. +Note that the above query will be executed on the `primary` node, with the +following output. + +```text +# HELP custom_pg_replication_lag Replication lag behind primary in seconds +# TYPE custom_pg_replication_lag gauge +custom_pg_replication_lag 0 +``` + +This framework enables the definition of custom metrics to monitor the database +or the application inside the PostgreSQL cluster. diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/resource_management.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/resource_management.mdx new file mode 100644 index 00000000000..6257b775957 --- /dev/null +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/resource_management.mdx @@ -0,0 +1,100 @@ +--- +title: 'Resource management' +originalFilePath: 'src/resource_management.md' +product: 'Cloud Native Operator' +--- + +In a typical Kubernetes cluster, pods run with unlimited resources. By default, +they might be allowed to use as much CPU and RAM as needed. + +Cloud Native PostgreSQL allows administrators to control and manage resource usage by the pods of the cluster, +through the `resources` section of the manifest, with two knobs: + +- `requests`: initial requirement +- `limits`: maximum usage, in case of dynamic increase of resource needs + +For example, you can request an initial amount of RAM of 32MiB (scalable to 128MiB) and 50m of CPU (scalable to 100m) +as follows: + +```yaml + resources: + requests: + memory: "32Mi" + cpu: "50m" + limits: + memory: "128Mi" + cpu: "100m" +``` + +Memory requests and limits are associated with containers, but it is useful to think of a pod as having a memory request +and limit. The pod's memory request is the sum of the memory requests for all the containers in the pod. + +Pod scheduling is based on requests and not on limits. A pod is scheduled to run on a Node only if the Node has enough +available memory to satisfy the pod's memory request. + +For each resource, we divide containers into 3 Quality of Service (QoS) classes, in decreasing order of priority: + +- *Guaranteed* +- *Burstable* +- *Best-Effort* + +For more details, please refer to the ["Configure Quality of Service for Pods"](https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#qos-classes) +section in the Kubernetes documentation. + +For a PostgreSQL workload it is recommended to set a "Guaranteed" QoS. + +To avoid resources related issues in Kubernetes, we can refer to the best practices for "out of resource" handling +while creating a cluster: + +- Specify your required values for memory and CPU in the resources section of the manifest file. + This way, you can avoid the `OOM Killed` (where "OOM" stands for Out Of Memory) and `CPU throttle` or any other + resources related issues on running instances. +- For your cluster's pods to get assigned to the "Guaranteed" QoS class, you must set limits and requests + for both memory and CPU to the same value. +- Specify your required PostgreSQL memory parameters consistently with the pod resources (as you would do + in a VM or physical machine scenario - see below). +- Set up database server pods on a dedicated node using nodeSelector. + See the ["nodeSelector field of the affinityconfiguration resource on the API reference page"](api_reference.md#affinityconfiguration). + +You can refer to the following example manifest: + +```yaml +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: postgresql-resources +spec: + + instances: 3 + + postgresql: + parameters: + shared_buffers: "256MB" + + resources: + requests: + memory: "1024Mi" + cpu: 1 + limits: + memory: "1024Mi" + cpu: 1 + + storage: + size: 1Gi +``` + +In the above example, we have specified `shared_buffers` parameter with a value of `256MB` - i.e., how much memory is +dedicated to the PostgreSQL server for caching data (the default value for this parameter is `128MB` in case +it's not defined). + +A reasonable starting value for `shared_buffers` is 25% of the memory in your system. +For example: if your `shared_buffers` is 256 MB, then the recommended value for your container memory size is 1 GB, +which means that within a pod all the containers will have a total of 1 GB memory that Kubernetes will always preserve, +enabling our containers to work as expected. +For more details, please refer to the ["Resource Consumption"](https://www.postgresql.org/docs/current/runtime-config-resource.html) +section in the PostgreSQL documentation. + +!!! Seealso "Managing Compute Resources for Containers" + For more details on resource management, please refer to the + ["Managing Compute Resources for Containers"](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) + page from the Kubernetes documentation. diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/rolling_update.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/rolling_update.mdx index 8bef6cedd15..b6fb6400a8b 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/rolling_update.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/rolling_update.mdx @@ -26,17 +26,17 @@ from the one with the highest serial. The primary is the last node to be upgraded. This operation is configurable and managed by the `primaryUpdateStrategy` option, accepting these two values: -- `switchover`: the rolling update process is managed by Kubernetes +- `unsupervised`: the rolling update process is managed by Kubernetes and is entirely automated, with the *switchover* operation starting once all the replicas have been upgraded -- `manual`: the rolling update process is suspended immediately +- `supervised`: the rolling update process is suspended immediately after all replicas have been upgraded and can only be completed with a manual switchover triggered by an administrator with `kubectl cnp promote [cluster] [pod]`. The plugin can be downloaded from the [`kubectl-cnp` project page](https://github.com/EnterpriseDB/kubectl-cnp) on GitHub. -The default and recommended value is `switchover`. +The default and recommended value is `unsupervised`. The upgrade keeps the Cloud Native PostgreSQL identity and does not re-clone the data. Pods will be deleted and created again with the same PVCs. diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/samples/cluster-example-monitoring.yaml b/advocacy_docs/kubernetes/cloud_native_postgresql/samples/cluster-example-monitoring.yaml new file mode 100644 index 00000000000..88edcf51db9 --- /dev/null +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/samples/cluster-example-monitoring.yaml @@ -0,0 +1,235 @@ +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: cluster-example +spec: + instances: 3 + + storage: + size: 1Gi + + monitoring: + customQueriesConfigMap: + - name: example-monitoring + key: custom-queries + customQueriesSecret: + - name: example-monitoring-secret + key: pg-database +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: default + name: example-monitoring +data: + custom-queries: | + pg_replication: + query: "SELECT CASE WHEN NOT pg_is_in_recovery() THEN 0 ELSE GREATEST (0, EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp()))) END AS lag" + primary: true + metrics: + - lag: + usage: "GAUGE" + description: "Replication lag behind primary in seconds" + + pg_postmaster: # wokeignore:rule=master + query: "SELECT pg_postmaster_start_time as start_time_seconds from pg_postmaster_start_time()" # wokeignore:rule=master + primary: true + metrics: + - start_time_seconds: + usage: "GAUGE" + description: "Time at which postmaster started" # wokeignore:rule=master + + pg_stat_user_tables: + query: | + SELECT + current_database() datname, + schemaname, + relname, + seq_scan, + seq_tup_read, + idx_scan, + idx_tup_fetch, + n_tup_ins, + n_tup_upd, + n_tup_del, + n_tup_hot_upd, + n_live_tup, + n_dead_tup, + n_mod_since_analyze, + COALESCE(last_vacuum, '1970-01-01Z') as last_vacuum, + COALESCE(last_autovacuum, '1970-01-01Z') as last_autovacuum, + COALESCE(last_analyze, '1970-01-01Z') as last_analyze, + COALESCE(last_autoanalyze, '1970-01-01Z') as last_autoanalyze, + vacuum_count, + autovacuum_count, + analyze_count, + autoanalyze_count + FROM + pg_stat_user_tables + metrics: + - datname: + usage: "LABEL" + description: "Name of current database" + - schemaname: + usage: "LABEL" + description: "Name of the schema that this table is in" + - relname: + usage: "LABEL" + description: "Name of this table" + - seq_scan: + usage: "COUNTER" + description: "Number of sequential scans initiated on this table" + - seq_tup_read: + usage: "COUNTER" + description: "Number of live rows fetched by sequential scans" + - idx_scan: + usage: "COUNTER" + description: "Number of index scans initiated on this table" + - idx_tup_fetch: + usage: "COUNTER" + description: "Number of live rows fetched by index scans" + - n_tup_ins: + usage: "COUNTER" + description: "Number of rows inserted" + - n_tup_upd: + usage: "COUNTER" + description: "Number of rows updated" + - n_tup_del: + usage: "COUNTER" + description: "Number of rows deleted" + - n_tup_hot_upd: + usage: "COUNTER" + description: "Number of rows HOT updated (i.e., with no separate index update required)" + - n_live_tup: + usage: "GAUGE" + description: "Estimated number of live rows" + - n_dead_tup: + usage: "GAUGE" + description: "Estimated number of dead rows" + - n_mod_since_analyze: + usage: "GAUGE" + description: "Estimated number of rows changed since last analyze" + - last_vacuum: + usage: "GAUGE" + description: "Last time at which this table was manually vacuumed (not counting VACUUM FULL)" + - last_autovacuum: + usage: "GAUGE" + description: "Last time at which this table was vacuumed by the autovacuum daemon" + - last_analyze: + usage: "GAUGE" + description: "Last time at which this table was manually analyzed" + - last_autoanalyze: + usage: "GAUGE" + description: "Last time at which this table was analyzed by the autovacuum daemon" + - vacuum_count: + usage: "COUNTER" + description: "Number of times this table has been manually vacuumed (not counting VACUUM FULL)" + - autovacuum_count: + usage: "COUNTER" + description: "Number of times this table has been vacuumed by the autovacuum daemon" + - analyze_count: + usage: "COUNTER" + description: "Number of times this table has been manually analyzed" + - autoanalyze_count: + usage: "COUNTER" + description: "Number of times this table has been analyzed by the autovacuum daemon" + + pg_statio_user_tables: + query: "SELECT current_database() datname, schemaname, relname, heap_blks_read, heap_blks_hit, idx_blks_read, idx_blks_hit, toast_blks_read, toast_blks_hit, tidx_blks_read, tidx_blks_hit FROM pg_statio_user_tables" + metrics: + - datname: + usage: "LABEL" + description: "Name of current database" + - schemaname: + usage: "LABEL" + description: "Name of the schema that this table is in" + - relname: + usage: "LABEL" + description: "Name of this table" + - heap_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from this table" + - heap_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in this table" + - idx_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from all indexes on this table" + - idx_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in all indexes on this table" + - toast_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from this table's TOAST table (if any)" + - toast_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in this table's TOAST table (if any)" + - tidx_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from this table's TOAST table indexes (if any)" + - tidx_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in this table's TOAST table indexes (if any)" + + pg_stat_activity: + query: | + WITH + metrics AS ( + SELECT + application_name, + SUM(EXTRACT(EPOCH FROM (CURRENT_TIMESTAMP - state_change))::bigint)::float AS process_idle_seconds_sum, + COUNT(*) AS process_idle_seconds_count + FROM pg_stat_activity + WHERE state = 'idle' + GROUP BY application_name + ), + buckets AS ( + SELECT + application_name, + le, + SUM( + CASE WHEN EXTRACT(EPOCH FROM (CURRENT_TIMESTAMP - state_change)) <= le + THEN 1 + ELSE 0 + END + )::bigint AS bucket + FROM + pg_stat_activity, + UNNEST(ARRAY[1, 2, 5, 15, 30, 60, 90, 120, 300]) AS le + GROUP BY application_name, le + ORDER BY application_name, le + ) + SELECT + application_name, + process_idle_seconds_sum, + process_idle_seconds_count, + ARRAY_AGG(le) AS process_idle_seconds, + ARRAY_AGG(bucket) AS process_idle_seconds_bucket + FROM metrics JOIN buckets USING (application_name) + GROUP BY 1, 2, 3 + metrics: + - application_name: + usage: "LABEL" + description: "Application Name" + - process_idle_seconds: + usage: "HISTOGRAM" + description: "Idle time of server processes" +--- +apiVersion: v1 +kind: Secret +metadata: + namespace: default + name: example-monitoring-secret +stringData: + pg-database: | + pg_database: + query: "SELECT pg_database.datname, pg_database_size(pg_database.datname) as size_bytes FROM pg_database" + primary: true + cache_seconds: 30 + metrics: + - datname: + usage: "LABEL" + description: "Name of the database" + - size_bytes: + usage: "GAUGE" + description: "Disk space used by the database" diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/security.mdx b/advocacy_docs/kubernetes/cloud_native_postgresql/security.mdx index 9baf637d668..a42e034ee3b 100644 --- a/advocacy_docs/kubernetes/cloud_native_postgresql/security.mdx +++ b/advocacy_docs/kubernetes/cloud_native_postgresql/security.mdx @@ -4,17 +4,24 @@ originalFilePath: 'src/security.md' product: 'Cloud Native Operator' --- -This section contains information about security for Cloud Native PostgreSQL, -from a few standpoints: source code, Kubernetes, and PostgreSQL. +This section contains information about security for Cloud Native PostgreSQL +analyzed at 3 different layers: Code, Container and Cluster. !!! Warning The information contained in this page must not exonerate you from - performing regular InfoSec duties on your Kubernetes cluster. + performing regular InfoSec duties on your Kubernetes cluster. Please + familiarize with the ["Overview of Cloud Native Security"](https://kubernetes.io/docs/concepts/security/overview/) + page from the Kubernetes documentation. + +!!! Seealso "About the 4C's Security Model" + Please refer to ["The 4C’s Security Model in Kubernetes"](https://www.enterprisedb.com/blog/4cs-security-model-kubernetes) + blog article to get a better understanding and context of the approach EDB + has taken with security in Cloud Native PostgreSQL. -## Source code static analysis +## Code Source code of Cloud Native PostgreSQL is *systematically scanned* for static analysis purposes, -including **security problems**, using a popular open-source for Go called +including **security problems**, using a popular open-source linter for Go called [GolangCI-Lint](https://github.com/golangci/golangci-lint) directly in the CI/CD pipeline. GolangCI-Lint can run several *linters* on the same source code. @@ -31,7 +38,39 @@ the code such as hard-coded credentials, integer overflows and SQL injections - Source code is also regularly inspected through [Coverity Scan by Synopsys](https://scan.coverity.com/) via EnterpriseDB's internal CI/CD pipeline. -## Kubernetes +## Container + +Every container image that is part of Cloud Native PostgreSQL is automatically built via CI/CD pipelines following every commit. +Such images include not only the operator's, but also the operands' - specifically every supported PostgreSQL and EDB Postgres Advanced version. +Within the pipelines, images are scanned with: + +- [Dockle](https://github.com/goodwithtech/dockle): for best practices in terms + of the container build process +- [Clair](https://github.com/quay/clair): for vulnerabilities found in both the + underlying operating system as well as libraries and applications that they run + +!!! Important + All operand images are automatically rebuilt once a day by our pipelines in case + of security updates at the base image and package level, providing **patch level updates** + for the container images that EDB distributes. + +The following guidelines and frameworks have been taken into account for container-level security: + +- the ["Container Image Creation and Deployment Guide"](https://dl.dod.cyber.mil/wp-content/uploads/devsecops/pdf/DevSecOps_Enterprise_Container_Image_Creation_and_Deployment_Guide_2.6-Public-Release.pdf), + developed by the Defense Information Systems Agency (DISA) of the United States Department of Defense (DoD) +- the ["CIS Benchmark for Docker"](https://www.cisecurity.org/benchmark/docker/), + developed by the Center for Internet Security (CIS) + +!!! Seealso "About the Container level security" + Please refer to ["Security and Containers in Cloud Native PostgreSQL"](https://www.enterprisedb.com/blog/security-and-containers-cloud-native-postgresql) + blog article for more information about the approach that EDB has taken on + security at container level in Cloud Native PostgreSQL. + +## Cluster + +Security at the cluster level takes into account all Kubernetes components that +form both the control plane and the nodes, as well as the applications that run in +the cluster (PostgreSQL included). ### Pod Security Policies @@ -56,100 +95,7 @@ Network policies are beyond the scope of this document. Please refer to the ["Network policies"](https://kubernetes.io/docs/concepts/services-networking/network-policies/) section of the Kubernetes documentation for further information. -### Resources - -In a typical Kubernetes cluster, containers run with unlimited resources. By default, -they might be allowed to use as much CPU and RAM as needed. - -Cloud Native PostgreSQL allows administrators to control and manage resource usage by the pods of the cluster, -through the `resources` section of the manifest, with two knobs: - -- `requests`: initial requirement -- `limits`: maximum usage, in case of dynamic increase of resource needs - -For example, you can request an initial amount of RAM of 32MiB (scalable to 128MiB) and 50m of CPU (scalable to 100m) as follows: - -```yaml - resources: - requests: - memory: "32Mi" - cpu: "50m" - limits: - memory: "128Mi" - cpu: "100m" -``` - -Memory requests and limits are associated with containers, but it is useful to think of a pod as having a memory request -and limit. The memory request for the pod is the sum of the memory requests for all the containers in the pod. - -Pod scheduling is based on requests and not limits. A pod is scheduled to run on a Node only if the Node has enough -available memory to satisfy the pod's memory request. - -For each resource, we divide containers into 3 Quality of Service (QoS) classes, in decreasing order of priority: - -- *Guaranteed* -- *Burstable* -- *Best-Effort* - -For more details, please refer to the ["Configure Quality of Service for Pods"](https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#qos-classes) section in the Kubernetes documentation. - -For a PostgreSQL workload it is recommended to set a "Guaranteed" QoS. - -In order to avoid resources related issues in Kubernetes, we can refer to the best practices for "out of resource" handling while creating -a cluster: - -- Specify your required values for memory and CPU in the resources section of the manifest file. - This way you can avoid the `OOM Killed` (where "OOM" stands for Out Of Memory) and `CPU throttle` or any other resources - related issues on running instances. -- In order for the pods of your cluster to get assigned to the "Guaranteed" QoS class, you must set limits and requests - for both memory and CPU to the same value. -- Specify your required PostgreSQL memory parameters consistently with the pod resources (like you would do in a VM or physical machine scenario - see below). -- Set up database server pods on a dedicated node using nodeSelector. - See the ["nodeSelector field of the affinityconfiguration resource on the API reference page"](api_reference.md#affinityconfiguration). - -You can refer the following example manifest: - -```yaml -apiVersion: postgresql.k8s.enterprisedb.io/v1 -kind: Cluster -metadata: - name: postgresql-resources -spec: - - instances: 3 - - postgresql: - parameters: - shared_buffers: "256MB" - - resources: - requests: - memory: "1024Mi" - cpu: 1 - limits: - memory: "1024Mi" - cpu: 1 - - storage: - size: 1Gi -``` - -In the above example, we have specified `shared_buffers` parameter with a value of `256MB` - i.e. how much memory is -dedicated to the PostgreSQL server for caching data (the default value for this parameter is `128MB` in case it's not defined). - -A reasonable starting value for `shared_buffers` is 25% of the memory in your system. -For example: if your `shared_buffers` is 256 MB, then the recommended value for your container memory size is 1 GB, -which means that within a pod all the containers will have a total of 1 GB memory that Kubernetes will always preserve, -enabling our containers to work as expected. -For more details, please refer to the ["Resource Consumption"](https://www.postgresql.org/docs/current/runtime-config-resource.html) -section in the PostgreSQL documentation. - -!!! See also "Managing Compute Resources for Containers" - For more details on resource management, please refer to the - ["Managing Compute Resources for Containers"](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) - page from the Kubernetes documentation. - -## PostgreSQL +### PostgreSQL The current implementation of Cloud Native PostgreSQL automatically creates passwords and `.pgpass` files for the `postgres` superuser and the database owner. diff --git a/temp_kubernetes/original/graffle/architecture-read-only.graffle b/temp_kubernetes/original/graffle/architecture-read-only.graffle new file mode 100644 index 0000000000000000000000000000000000000000..571d335efb0536a541199b7de27ef498d426d688 GIT binary patch literal 174564 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

bz6keUYm1I^~%bGeOE4tlntLnB2yvKvMP8 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 z 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 Q|NPVcAJ3h%UVAzP0M25Fk^lez literal 0 HcmV?d00001 diff --git a/temp_kubernetes/original/mkdocs.yml b/temp_kubernetes/original/mkdocs.yml index a33c4321580..245dd2fa97e 100644 --- a/temp_kubernetes/original/mkdocs.yml +++ b/temp_kubernetes/original/mkdocs.yml @@ -18,6 +18,7 @@ nav: - quickstart.md - cloud_setup.md - bootstrap.md + - resource_management.md - security.md - failure_modes.md - rolling_update.md @@ -25,6 +26,7 @@ nav: - postgresql_conf.md - storage.md - samples.md + - monitoring.md - expose_pg_services.md - ssl_connections.md - kubernetes_upgrade.md diff --git a/temp_kubernetes/original/requirements.txt b/temp_kubernetes/original/requirements.txt deleted file mode 100755 index a7f665233c5..00000000000 --- a/temp_kubernetes/original/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -mkdocs -mkdocs-bootswatch -pandocfilters diff --git a/temp_kubernetes/original/src/api_reference.md b/temp_kubernetes/original/src/api_reference.md index cb67f3d4808..0b31b71b1f0 100644 --- a/temp_kubernetes/original/src/api_reference.md +++ b/temp_kubernetes/original/src/api_reference.md @@ -32,6 +32,7 @@ Below you will find a description of the defined resources: * [ClusterSpec](#clusterspec) * [ClusterStatus](#clusterstatus) * [DataBackupConfiguration](#databackupconfiguration) +* [MonitoringConfiguration](#monitoringconfiguration) * [NodeMaintenanceWindow](#nodemaintenancewindow) * [PostgresConfiguration](#postgresconfiguration) * [RecoveryTarget](#recoverytarget) @@ -62,7 +63,7 @@ BackupList contains a list of Backup | Field | Description | Scheme | Required | | -------------------- | ------------------------------ | -------------------- | -------- | | metadata | Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [metav1.ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#listmeta-v1-meta) | false | -| items | List of backups | [][Backup](#backup) | true | +| items | List of backups | \[][Backup](#backup) | true | ## BackupSpec @@ -179,7 +180,7 @@ ClusterList contains a list of Cluster | Field | Description | Scheme | Required | | -------------------- | ------------------------------ | -------------------- | -------- | | metadata | Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [metav1.ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#listmeta-v1-meta) | false | -| items | List of clusters | [][Cluster](#cluster) | true | +| items | List of clusters | \[][Cluster](#cluster) | true | ## ClusterSpec @@ -208,6 +209,7 @@ ClusterSpec defines the desired state of Cluster | backup | The configuration to be used for backups | *[BackupConfiguration](#backupconfiguration) | false | | nodeMaintenanceWindow | Define a maintenance window for the Kubernetes nodes | *[NodeMaintenanceWindow](#nodemaintenancewindow) | false | | licenseKey | The license key of the cluster. When empty, the cluster operates in trial mode and after the expiry date (default 30 days) the operator will cease any reconciliation attempt. For details, please refer to the license agreement that comes with the operator. | string | false | +| monitoring | The configuration of the monitoring infrastructure of this cluster | *[MonitoringConfiguration](#monitoringconfiguration) | false | ## ClusterStatus @@ -225,6 +227,7 @@ ClusterStatus defines the observed state of Cluster | pvcCount | How many PVCs have been created by this cluster | int32 | false | | jobCount | How many Jobs have been created by this cluster | int32 | false | | danglingPVC | List of all the PVCs created by this cluster and still available which are not attached to a Pod | []string | false | +| initializingPVC | List of all the PVCs that are being initialized by this cluster | []string | false | | licenseStatus | Status of the license | licensekey.Status | false | | writeService | Current write pod | string | false | | readService | Current list of read pods | string | false | @@ -244,6 +247,16 @@ DataBackupConfiguration is the configuration of the backup of the data directory | jobs | The number of parallel jobs to be used to upload the backup, defaults to 2 | *int32 | false | +## MonitoringConfiguration + +MonitoringConfiguration is the type containing all the monitoring configuration for a certain cluster + +| Field | Description | Scheme | Required | +| -------------------- | ------------------------------ | -------------------- | -------- | +| customQueriesConfigMap | The list of config maps containing the custom queries | []corev1.ConfigMapKeySelector | false | +| customQueriesSecret | The list of secrets containing the custom queries | []corev1.SecretKeySelector | false | + + ## NodeMaintenanceWindow NodeMaintenanceWindow contains information that the operator will use while upgrading the underlying node. @@ -341,7 +354,7 @@ ScheduledBackupList contains a list of ScheduledBackup | Field | Description | Scheme | Required | | -------------------- | ------------------------------ | -------------------- | -------- | | metadata | Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [metav1.ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#listmeta-v1-meta) | false | -| items | List of clusters | [][ScheduledBackup](#scheduledbackup) | true | +| items | List of clusters | \[][ScheduledBackup](#scheduledbackup) | true | ## ScheduledBackupSpec diff --git a/temp_kubernetes/original/src/architecture.md b/temp_kubernetes/original/src/architecture.md index bcd2f7ba6f8..5b27ded904b 100644 --- a/temp_kubernetes/original/src/architecture.md +++ b/temp_kubernetes/original/src/architecture.md @@ -35,16 +35,15 @@ purposes. Applications must be aware of the limitations that [Hot Standby](https://www.postgresql.org/docs/current/hot-standby.html) presents and familiar with the way PostgreSQL operates when dealing with these workloads. -Applications can access any PostgreSQL instance at any time through the `-r` -service made available by the operator at connection time. +Applications can access hot standby replicas through the `-ro` service made available +by the operator. This service enables the application to offload read-only queries from the +primary node. The following diagram shows the architecture: -![Applications reading from any instance in round robin](./images/architecture-r.png) +![Applications reading from hot standby replicas in round robin](./images/architecture-read-only.png) -Applications can also access hot standby replicas through the `-ro` service made available -by the operator. This service enables the application to offload read-only queries from the -primary node. +Applications can also access any PostgreSQL instance at any time through the `-r` service at connection time. ## Application deployments diff --git a/temp_kubernetes/original/src/credits.md b/temp_kubernetes/original/src/credits.md index 74c0d92c67e..03b571bc312 100644 --- a/temp_kubernetes/original/src/credits.md +++ b/temp_kubernetes/original/src/credits.md @@ -11,7 +11,9 @@ developed, and tested by the EnterpriseDB Cloud Native team: - Niccolò Fei - Jonathan Gonzalez - Danish Khan +- Anand Nednur - Marco Nenciarini +- Gabriele Quaresima - Jitendra Wadle - Adam Wright diff --git a/temp_kubernetes/original/src/images/architecture-read-only.png b/temp_kubernetes/original/src/images/architecture-read-only.png new file mode 100644 index 0000000000000000000000000000000000000000..85a11f18568e2790015313fba2844a42c0c72a93 GIT binary patch literal 95360 zcmZ^L1z6P0w?Dfquz=Dbin4TfBe5vmA>GoF5&|N!D+Wq;3nHb`NT;IGUDBvDC`bwj z{%3c6-+S-x-oMWSth+PwJ#*r7&YW{*pX%wTo+r6Tf`^B9UR_Pe01uA0af{`(g{2l8Jl=0N`$O#sQk|K~N-8Z&Ls zvHuhJL+q_)=8K0%Plfq`IA;%o?LbLgZ~Q#4U_>d zJskb)5P=@u`XB{O+Uwa={Z$DQrPXuONyPIDAesU}O7>&|?ofbB1#V^fm5<8GH zvu!?rUqh<1@Pv!9axLI}m3aAwQdx1^{{p>}rIR87y`_rs$A|ueN*x66*dD+pVUxt@ zhscAFf!T(+m6^e;_0t>k>p#rze=MvY8!Obw+LcR^nbpmDO=Wit4+5h={^u{WDXCON z>E)#B|M5Z2Z76rWWx+GnD!&AxHMhDJnf;I_4te>vKiX=-*=``%o4)X8zOrmkh$VNC$0H>i4;VcVMfc2@}hsb!N~Nm(O12p@Ul*=g%%r z7T+wlf>FRt+mZ^!I?B39&Xdd)*uA@;+Xcr^_Nh_GNHZMCGBC`R=kdxZ6}BqaK6){c z0BugND(aSGF9+ixwk&cJ@5D^AL7A|YJZ?PMSiR7kElbC3Mui zDt^(4(eEx_{O$H8F>`a|s_gZuwc@K>=K7{`h3mVAENPzScjPBHjBjwP*<{?yjCVt#>^l>;DaVOtNb)wV z49~WOqkPQb*FXY@v?g^|R_ry_1=@RBH$&HxmS7KzW zalN(bpDd%-<4&XViTDLwMRxWdZhzfRXt)t#_84hNU^$W0H!a!S?a$jCL*}PG{S4U$RhQK?6s6;3(bGVkRVI@3P=x2>g*fqLBx#6WTQHE;FkcLi zfqGy2vdj^k#b?-|JMrXR9;w1tIVk*tQjXvVr(ju-y0J%Kew|8bak90vRcRb&ghFJ0 zybBSAUs-Zd@hlWMNQ3@in3{^QI(<&7*6|hODK#H5J8j`p;rba&3$NVhtcW*iuQb)i zz^5~@eXk{yD3D$>1`jGsXWHtR)l|M?)>W7G-rRFYGfX$i2O-p;i0mJx`4QQqiqMCu z1GyIw=2z|mxff^iOS4i?0vik$qxtCm93^d*9MArU6>r*ndT~1}I=P>@J>5j2CK3;- zP5HSZxKXz1H}Tq!wf^}Q2Fld9N&RLqsdUWZi(3zyt|Q(-Z_8^YEI8$_D-sXd5VEVw z!#`X@$&1qUsj)wx6RPcTNgxuRZVJXre-g_00@5bYOpc(2!r2USEVjshy(NSO{Fu{+ zm)~euiqgMls`k2^<3*@f|8VMw7|pp631`=6`NjQnBV-}?21wWgTA>uD)XbsE60n{N!AVLT**&c=&h+Ve`b%JD*$QN&${b*O8-&YRf7{2^I_)F&vVW;<>L z=su-T2cd5ySL&3*d_|t^?ZA1JZ$7rvX4*ZMyHk0~p0-^H+7`BiGR}oW#4``lp#2(@ z9|uIn?q^Iqd-G?BLv=2<*0b5@O00IhV=sb25^~&ASIxDrm{SUH!GDQ;SBTV-d1VbR zVIVL<>h`8XnwaOa07@VT6!Ll7;JeGi6BE44UGM6<;@0k(ZC8Pxk$Okw=TASW0bP6; zNT2Hhf2fNPaCUvqsrmGpATpHUm?IYjf2a+V(VhQV(7J$kG#TIR#h$tEslkpqmlb9k z!!gb-Cl4hJG)ZMHF}^HZx<<*CB$UE?-Yk8jDH*UX2#yD|6``lo#>m=R!Q$n!DAvsP zYo^JuNf9A{acHjU>u6*<@EVtN`Ux|*g-ZT3E}ZkCEYKY#9jN=5nDP)jgNxNRnszx= zU#M@eV?yO?fKy!n9`rse_kQvxT`TnrZ@`j=TX;8^&}h=cP0>D=SK*QF z7wYh&+0+&^ysWN1_Ulfiv~P|`RRvndLy~I$So#i)R!~RsgMn+i5;GW^eCVY50s&Xj zN31)$=DO&lWdQV@WDAstK;DCC9Hd1vQYFQm|LID6%fJLUnHp=7dwBtu49QZLLwaPv zHf`DU{5FL;=zJrIk7#}%a@4HZlB&d*=QFsjK$&U6cg)f$d<^ooNd|2m*LrX~AZ7I{7N5_&X?el4OnsHm3V!ZhTUCJ|sZ@Eep|x6d(fpG1orjl0ivd^ra~gMy%7n1u@BF;rhp zle)biM?(=r8if2B_u*{TK$CtpBJV*g(^g6{>&I>cPb0QimMKAKW&>TmV6caZePAC| zcJ5NFR3=6kVmWJ*FlZN5_*b)ZhiZ!I5_RA{I3$d(;i0>M&L@TZ603yzHnTGg33s0) zV|9@OP1Of06MIGjxh@yywkYFO-sF9IkY{*XP0Z@5^I z*=B@~KkCz|t)1e<>>ArDInO1%n~TBfNHM{)Xm+r>FOk)*CGXA4n>t;ecE0ux1JDMe z=p;#$N?yF|R=M^o0{IZObMS@gB=F(uYx=-9YC+kfIfFVfgp!gf5qd@oK54IAcS=vc zUzpMN7pFo1*^a?97&QsITI_YIjWTwEE?^YewY#)Ug)+PqIodz`p;fu)3m(C$AQ8NC z9oP@xT~*WhY$d(6II}r}+B}QAYW7j`?LE2_uy1$;N;)~!USsZtcW>88ahKP7dW`!` z2q2b-LEaMFx*0`_zv7Wot` zBkYV!BWm*b^#DacX$ZXP%vXme$OqVU-f1h3c>w+JNK^~MgNg%>F%IvzWk-AA2fwMC z=9@!)4B)h(!0rrpqNVY>Wfzj#>0vZo5vj@HMTA<&JHRop0U;$e+3Upf6}c@E>>SKe zo!nXERU-g&)dR-y26bdDCr6jCE@EdQa4{WZd%SI};HHEuA z4Zmfj*vSZiedX8tni?O_`!wMDE2~~056rT?uQmO_vO|BDRY`gBomsC6#TujwQ7;@3 zcmDVcgO4weL&EtBsfMX7X|*#WtxL9{>OI4AsVpq!n zLBKC`80YK!UmwB)VQ}bOp;YDnDN1P@*dg2!x;rX%P8ELFIu@Sri0(^Ex@ zlHIki#v62B|AiluaQphFuH)H_jXK9l6+}AN;>$_TI6iS_SC&b4nv0nEImBSTHqto( zySF%MDc|F(&$=@~$hy2Yvc#!7tGCBMN}<+(M^31Id}Xlh*hEHir0r%oH%@NAX=me{ zHbxxUbW%<;8xA*D9>(VfJ|To$K8*qV+yT2?4&E+}h9>n7kKV3wh{BMHLN0=1AnSw! z%>^tS@1R?=^gd@_w!Y769PssBKc?a2!0j|%0EG5? za;RgBn}pw>4%~QKs}|hApR!p>8_<((<+j*$UbjczK4#VCe)oq-k*1J3_l>D!&6O;M zVG*U4KQ&$}bf*ht3i1Ap<2}l%)?8I8{fR#>6D`Y6zjdyXZCsPC-x^cs@=BRcviOlj zETiBx*UL(g2y7vTt*fvYSzjeKiO4Y<`n|xQMlqOalr|%+F7acsNEbb&SHoAs1k1|) zen?dL+%#gK+46Y|5YUuSuLbP+%-4ES&Us0iNmtxf73 zl|?#CZM)VF^p;3PU)?rkm=Tex<-00+cbiMvad`7Ag`wil{*$t}A6mKx-_BYUS5i`> zy(r*nD18%q(p_8r_hX-f8y-vEa zuR@1L?F<)-gjKr}E@gLfygCl}Uh2Pd+VRKY`RDCK_wQ3vOy08Ja%y`T$&RLH8kVim z&N>R$?;qVf3xWF*%Ze(ltaPQD!S0c6+fvLs6fdaeOqr$6X?Y1;^-cbCN5t7kIjcRX^!3|bA88U*-&+ z%>;|?p3sJN2HRW^>pdx7=+m@F=~0+HB{nN!CFv_E=-o2%6>Rg8-O;XJj`MoD(NHhm z+l+5vSWHW8A8x}d+D2sJIZHbXhv-Hj2jMnAiZll9c_5QPu zK_XkpwLPk#p%uTsKC)RZNte@1s4ef!$l2wsVxYt7G(wLJL?%k_p*Z2~z;v>HbF8^+ zbn-X49nIDsZT4mx&k8mM-*KMrp5ZQh7Uc4zZ;y%Gnm^;fohNNCn*K*3k?|kt!?d7V z+l+mU!!*FeYCbx{Kf@_tZ}nNUwLv22)zhdXtZGnk0ds0oDeT7LP7A?Y&~{qAe{WG! zqfI~4zO(%1kB#KueeRY?SG^vD@Zn5}L>eclLhaGfv#w>`Sre&Wjvnk2gMo(kIOl#5dFiSmrW|R?}cOZ6oo{C&<6td z!nr#x3V^X|1e!|nK{Fi@$w}ryZlhXh!e4F8YW6=GFdYh7)CPx44m2@sZceg)=l^~h z!Qr1s4kgUWu07Yws`myUg87nZSuO?<@{M`?lMBo#1_#WNW*{;-RbmoHNv}D3uq>wF zVh8fnc;tv>F>oJhSGlFFvInomc10349SnJ;^s#(%>b}2xYOA~Td}g}F&*FboC z=fnJ~BZeYJbe%^x^&*$Dedp4J3TMcntQ$+4}B2?0pqAoJV^vnnue24 zba6821VN<}`!5hfVZ`N%77pv^yws5$d*a>KUu_IQR=v04{n1YV={sp1(tOZE0MSj~ zR!JL{HZ%Sa_>qlY`gArjV3|MEzvFe&;hZGEjJ}K@*ezNF-1H6OMiR)YX`5Y?$8imz z3!GL=m?TapG{mV-)CvsOW_B8lf6GhScr23(3dYAUod~-Id7RpRYS!s(m$jZXV{8)D zy>vEuNuJqc?u1}+y0(_fO*D7=^2lL~+UEL3^2f3ni$sA&#Om+LqaAuQ8lFd3DYC($ z$0amaB{uiF*DT$~5NK!pK;Mozh^~`t^6&jRhcgjy9O=4`i=~kM==ao4trnh4FtNk) z_gwnggDy!|Eezk>dg3LuEp^oII?>%5_e4#DN#$n2fnQ^$%$l}O-%MFo?D)I-#ekM= z&B;1v`yU~%(g3VfpHF69P(>kfnD~c{X)ml|VAIC)(qxrbJ;C#|O|vA$HO1%oC(dr* z(01egiRODo9AM^ygSlp7ISoz`irY5GrBpclv^raoI3;Ac-|)&tvZf4*?glrreZHDj zcrGJ&Cpp6@T1M%<-|^v+Uj1Y4a0m_+3Cv|HxuAaQ%ZllAO?vM3{HKMc2b0NH2v|EmC9P{rBN$2-w zN-7<<=#HMeR7gA&irc(n{N0qFy!fo@-k&lBngr)+?$zI~Jz@qZ%PA3XmzPQxdC`c0 z;d36Br&{}fDL<9gGz>&ZI2(~&3GyzrJau+8=Uka{b_NM&(xMX>1SY^eO6xUk^X=+M-ckZFZK+f%9^n^efJ@Ds(P3bao@ z?kZ@`a9mr?uN)CgFL(JULJB-tuajvcsu~2^Zah@R7(Xx0ERPLfkha-)AsoR_96!F$ zetzqmkZPi5ICw;0B(S6Y901~Cb76HI7HeFO9K4)3qE9`pzyo=Kl6!JYl z5su<_uLN*3;e>0lr_=cF!Y*R2U|p@gLv^K0Q9ViW(r?ei}u0AoH_0tD~9l)BE01Cjs9 zDMTZWV|{(IUL!kc79AuGX=mYbj>)4^45T8$KUSk2>A z{Q|Ni=l&j6FLbLhP?Xbr{-QmR(sk*=>M1s_*j9_nMRWu__P1odr`Yx&+*MzxI{E_U z$nujOcZU8dh&*r4s#m^6_kFtJ6&I}{9@>eR=CTP%^wmBd`f24HLbS)6|J}R6OB?yj4;Xw}n<-$3wFbCrTA8UiOW5P_$wdjIG^D{#?syqsRkz*+?#R3C zWC#&Lc3BG8Szc>%*aIA*aQvG~N!(DGq~^qtOigs{5n!(=_$aCAn@+g}t0ZilYg;_X z%y)ic_I|4C+;_x1qX#kn1#UE`o6ydelOjM(I(JTs+ ziPBOd{BM~k0|aZS>^lF^_+^W~%)Ld$C6l~)b==`rcQJ(bkszk(NGNtS1Bpn3>R;7N z=rztA9|x(o@f&PFm;ZoR{H)KEbq^ZR#6HvDTZPLVA+an+C{SJOd$5 z^m!eSz%xVK0;SLyw@AfJ9ypZi%*pk+pkb|T?RIq}~On!qcYudGR9zc~%&-Uf4H`75_fsi)E(iNZ}O zq?h=#T@IN@9wQxKxq-|L8Si)I+81JX|T z|IJ7j!+I;)8L#hf_(lqMq*Lf()2SRE8qXsQzZYjQYlkS0~lw^S=^nKk-hKY~!@M9EkN!s(pm?r-%1QoGAu# zXqEK9VmoqAzcN$Y#4JWE%&knC02WI%5358_1c9SqrzA6Nk-)Z*7nSeEt0)V}K%73` zpb_eb%q4mdzIfS!$7%2bdHW?yrjj~dZ4Qi9x0hhOIpr>yM?+{7d-xw!vU2KW;~Kpy|&m*7ithz0pKO=>)#kWq`T z&jNcdK(SOMW>=ek?*$dee;WDfU4Z3sgG@=^otLBX1fC;q{gy|W0VSo+1%iV5G(qm2 z^G4gl2LbDD2`%FrJ&}~+F^O|81+Or_glnC4kofj?W{B(v9wTGbGS%S$n2dbT39T0e zvMn1qIxzg}4gV`@eq?Cc>T=-@9L5Zu^N=M-NoCnsj|Imc}@m&?0fsGC6khBan`P?$1z5TZ>THZobLs$4Y4a-4(+%B3nC_y^; z9{-=NZ$a5lHnn9OmbwJ{Men*iFZuI{F-Z3Sf0uwgp{ujg?qyZPuM9niFUKdw@_@CT z%rxQMWn1?<>)xuh)hMm=l%^HO%9EA$zGpQeJGwhBe_y(`!ntr6N(oAVk+v_zYdQ-C zX5I+yp1XS7`)Nwm(QPkH-<7+YA+_!4PR^OjucGCY6YVC)6OPj?X^kn1Y5eJP43A9O z_96t=dn`ZK8`;brzZOet8Qpu~l(=9Xl6IJN?6dcgCKP?Sv9_nGCwugcB!6~BgE;)B zP83DPEDM#P*uezvqUULff4Yg^_$aHxOecO*M5-b=`&`Bq{yz>if9k zi*E#dZJjhg;Z<|@ch9nAma~YnYiV-r-DIH%phK&I-^QNf7e`4;I|Kl=ARkl`#8&8vvL7NqlTc1`cl51KF;KS zBM3KZivXymrFN&BdT~utjLpP&E%Qlvq0eV|nGa+(3HyI6zK!n{4W4)Cj zPInx_=H*8sLm3#yx(z+&fy%dZnKJ7@HT}dE+=H^nq@?*Q_TjEv5Ax0lpyXuzuT_Z0d5hcwbyFdJ`vash~`;J!W3@9D< z$ZE0(Uy4HHFqj9$yHAAeGME{O!hClRqE25zMqGDwqq(D@%Wc1(we&V$=yhzZ*5WYs zQn{9zlf$q^5tU_4+I=Gd!}P_776j#U zKul7(a9|J3G?cfOM(H8->~e7%u}{hwQp!TKZ`P|j@<6yYkwMNqa@#`G^oP^36BMPp z?q+eB#E$TFYS&(t)=x^I(>!8O_8z6v(#%&qQ#qRntxb9m^Zryq<|hTuXx@ z4$EHG{$iMLTCjYo=F`5VcTS%r41dGEf}+QLex<03ETDo%v0U!)Ard7SQn0r2AhoyN zGa-dxtSzhJ0mXTnD|=~Q+^981*&w^DXG%v&fZHZE^;e10kPDAXHXH&w;6Ero=M@n9 zR4pr|t#Q^8rMW6vbJTr)T{fe0V_VwmCA+Okcg8z*b``wR@r}-vPI2@jo{J>ZB|rP* zc9_S6O==f8sN+sIDqB~pCzo&17u3O1hk`@LOa`4@dt=yq4>~MadT9iKqYAthL*NKX z_x428&@ND`(bBPS)7H*Ddf2i)=Io>@$wnf+oRmKh8H8^r_Xlb-G2Oo3z1DDZj(GqE z%?|t`C@cQC)n#>D=!rs&mfqP0&NmDQ%0YWr*H9-~itY0G(LCAGa=DP;lmYoamZ z^sJYfc!shH2O>SE^>+y2mai2kLC43VR`I@MPF%xBiXV>*{fIb{k19i`m6yrQR-I_0 z#=1;!BveFMvn?_{6aaJOt+0A-vv&^nEzJ6fskRkZ5A@#=Wlj(K^({js~KvPoNJevsW#Rs8LU=ijT9w?@2g zjgk)!c`#^PApxFMPwcuJsbaR7?(DB6?QDitiF_4*3L(y+;ho^VN!dMduUiwGgu1vs zn2g#?$uD$5oIMxiWV{+YeQ(y8aap0;K9yWr%s0}^f3s&)pqZ~bNB86%`;ctZPvO3D-u5pyx({B~x<{hHqgKuD4CZiaMS49@dB7(+aEUZ~_e* z&aTGA_w|#@tPB3^kOGpo`1)L7cwyq4wQztSD&<3)5l#9D66@wPBhKkP(QBgLr#ZE_ z*F-VxSnPXH^3_?|=#-;l3*Y3kaoJuA>s>F`Z{z!?0Wbh{7&KVl5-bIE;ggCw2 z3fIbJXtsJPFM8KQ<>_@cOyAVIwl~#E%PhIMT`&mw1^*oDr+0GR*8W_5$C5+Aw|({I z+&R{ZWrDuLJ(lBcU@y`?%|krKQ?l2*wKIbk-)7UQTLhp>e>C5nZ>_HM+%*r`?)c#| zy)k}yf#fLt-W$sYTmmt7CdGGtf6L)uOb&vdyG8NNHwgqrdLE4UWSz~)mc*lvW~FoO6C+m{xi5!Z%`;LZ z5fL|OJ0}u^v|;~rCyDPfh1IR&I-f6=qR@F5ZG`8wydDkhZ+>5j4VcP{zx+p|TK(^> zF840Wdewl;h^0%~#QF}J`YEkL5Xc&qbyzOZ7`oshJ!#`=l&iy_~K z0J~t??mM<5*~s{T;fH17T>5+fwC#r?W8C=f{3;?2DIhO~a{_?z{-(dTjp-(FMQrz& z4>CwR@=&kcvk{n?8h%Yq?HcDNQ}U)`Wu-Psv1-I`W3^YCNUNGhMZ=3*!s$DSdP)Q1 zXhQq*cUhJGk@bVM$BFCTPPawwZHygMXC}KQ9@_Zr z&6gyvv8M1@t1|ZwD|r(2(tWn<-_tvY`Z!OfZU5LLg=8j8RGxQl|8;bT6u>K)o^vI&6)&2ZWyLG8Wa4rW@6}NKFofmf=-CdH7(|+@P_{zOVwL*qVUcz!g zWzohJWJogywfF{bL`z&gF*?sS!&7TUex*cHe?7~!=>f`&zkk?)on<#5hAeyj7TGYJ zVMC$Cr{Z8UgO9pleHOvf;kPR-o_w3u`Yt0DII5zcfOhv`*A@r)t{c=}ePQdMiP6k? z;n<-yxKn6SVrr(M=s0nlb0*5HR%Aim_sKz8vO?l(`Z$_o5E~@xv0cy6ho*G7pC`7? zdxxZ^d3!Q6R8(1!6$1T6PFKM|>~h~kJ}BFI#VzQ|b|=14f%zQcx1%TfBH{}6hptV8 zB<@3sVYRn9w+Ndz1JvO-SA99{c`2^MSl*Z^`w^uPmUM=&ih(&baM+*^*()^CVXaLwjb8 z1q7<2RpdDOhB@zU#`dPQ{8| zcD>{D>|FM7Lb$wmI5!O_@enJE>V<#6^cyvF8_V)VvDw%sdq5A1Qp3+>AJ*K?~oQPRgvnMxhoL0KW7&= zoat~?UBGhFKJ|rBDciLiC$vM>Q;;U?yQ(p3;_h)(vsSoe{f@bL-^ktjHsV$iikj1Y zS#okGHDBlbHqH;vdh}lq64wA#hNyU_tMFgIdiPewR!8|gw#K#B%}RL;H8)77oae0A z$IfCbruLWBcMeWTd3vQw6q2-JtQ9_v3IUjXtY5_pl8H}I8D>MF)h5;JQX)z!+Q*mT z9RC>dyZ%}6?3U%8^7J|BT@~ekU1POv+<08jM#EMBmFzz)v5s-0E)Le}w<)@g;48ee zV*TRiEX8QOv{&tD;cJPpt2!?Gh^&Iq^)_2DuDpGn5wK)eZ~KMVXvC4aH~VBD-lru! z#Ny}H^HRH=FDHGD5?Z*F+(W~K72jnwnWSc|Mjr;N!=SZkzf8-$52eqDy=3>Cj(1g)Ea<|BBg^$cyre0 z;8~Xb7zP(J1*yxhcaxS3=sEf3_PYJOD`r9~nzV))c2i$}=iR)x^&~U@=PgXXCP=+F zp{*zGJD^#&#^iS+Xy5pL%QW1}EnqUz`gS@^Y%ZPrLlLL*bgB zEjR~FIqOskyy9(5l0URr%2g&`lQ}u=J@VyPJ3pdOn!;=Kx@Yr5t9B*I=UoT~)8Coz z1r|D^c6;H+?HA1lBkw5-SpKSi?3ob7Y>TP8L!Yvpr!o~foZlnrTRHXWn|-;lx2}2U zT-g5Sxbg;*gildv?Ut(kd4_TlTsr(bEf~!^#B*QtuBlpD$t4muj_Z9-^}FQt+px<6cujL#*b9q%w(D zk1~79-BrC7%nkAM*jQ~w&Qsy-z0&c)mTEXiHs?$+m2}+llN6@*NE-97l~)v{&q4}7i7!j->F%vq9c-v=_iiLWISIejsF;_=CIp(N4(|L(AUg@<$eH1B^ewUc z)p3=FeL)nK&W)rfPdj#RG|jpCQdfAi&C2ty$7HFG7>^^@7LMo;j!QbLZ}I0s@r|z(%=X_E0-VI0}qidpsnU{ zjVqOTIk~_b@2t=Bv!Y4;0CZ$9J30QVMv+U{WP4FcnFII*7?W7zdi7Jw7KX#B zW4$;c->o!kPXZEg3(C}RNV_&GYC)7GOB*<3b=bN@A0ZI?X3xn`3;xg)MHKe1?lzUx z+auq37VedaTZ7j0L=(+A0;YRE8y2+-a1bPBV0+e7tFCcBKjUra`?Bnv`X9A#2Y%;e z8>#&*tGW<)O5H8WQw_D)iaU7+Ng2uv_np;Te6Kt~E+r^}%z=Ok{v}i|$1R#)N14*` z8ndqk1R0I($sCP+|7iBx?3ta$K0zl^-o#aSKEQgrL_6x6$wHP}-LlQv4Z~TNRc~V< zBc8K-VYHrQt;}`)==dU!muJlFguTt9;-)`nBk|$^9=I5$=xq3TvZ%UkV5N7E5-qtw zp7E`Cf;(l9Hbg0S`K8ahuNgh;cG5TnilhBC$t{{+-M4qUgHZ2@$6fNan9dWr*^5YP z2W;CF3K>Xntee+mvM;$pZ2ZV?woJojK4vjDIK?8LlM>2I1=`YbKjm;a!b;OeSe|r# zWO+5PVU|ARXkcVMQ+WNYSEAO|AI_~tFYWw?_a0-w28GNcxbJQG#_!xo-C68W=D7Wh z^Zr9|=YQN=8xF?1@BMS?;zP!&LFkMYPh75d97AqMiM-2V@DBQsAl?1WVBA_ad2N3LBwpNy zT-FY)4;L-DE4Qzzt+E$i^n9y_AoT95yLSz6l^+ULG=c9P%zS-%%uR`+yn&MYJ>MYJ z@_T&=*bYqoc-1rHkDQrMK-1ajy*cOndH2L!`t_K9@P>-Rdx(1Z>AQ(8=w97uv48Zj*$ z)|S|m+O&trIr3g5SZhB(sn6pVDd1!W|6tPAWg2bjeWY_?z8RH{9Svh&2zP9~I7-+> zgtjI4^`0J7oW!rSEwxRo86dMo^W>DM;OU}c7AWXHuQ+Yw0 z!{`+o0H=7eY#a)KN|Qca=V$o~O1#qkeDkC)XT}pR13n{j&Y;ola*&O(Ub=NIK$6VY zc>gSz)b==WvOCt!ZgMXC3KZ&07EpnH@+8W+hJA`LH2OM|3xRTO5h(>M@-C^t*$z~8 zxfwJPe(y3Wq_D=ScGC-&QryPfhO~GSk-NEHqELyB~<_ouffV_B<`md+YyxqbsEu z^!5)G-+x>sIOHy+f$duybb%<46RvH54ZNHNt-Y9{r;=tH<^2eiHy^n?(0DcnB*?%^ ztdNuwnGZ$c;4TQpn)#vk!8WEkxWdgN&9Fsj#4%LonY_?(iQ0KSP)#;R#QjTFcpfU7 zC~U8Kw^=AYO6vu77Z*7eRwOQ+=cT!Ht<4%G7<^!y_iu4FmwjQyXMs)ys`BPGH$V1y zwotM|*ty>L$ZPya3Zc=y>tFt55d{9Lp0TbhYU>exj*}5qS(V`4x@}5gzV~>+mVecF z+;dz06*z2nkG6;bvl?g}C-@x+>)qRKE^pxC#;)|0EB4F%o!jol>o@p-Zrr3!#^C}O z{F7qUS7e;lwaeSk&y5ckBC;7^>?gJJag1(0G4xX*|10%4RC`Ps3pE{1Ei@2W6@My* zC%O;cD}86YL5ER51ZSHZ#FwV`g9X^|Pfwd$IK9V%s?)7%PR798y}kt7#UIkHM`N|f z3TW1yH!CV6u!{nKq{j(WikRJDRap_rUBN{Bxo@fM{4H7u(1Hu%ISB~oMzI$CUU|rJ_{-}=cciJ+u;Skra`xH;xUH)O_HCq-qIP=^Plpa{-Oi} zn4s<$D3VLd^Asy3fF=d2`1TV;H;OP_uLeAP|6Y^*ida~AhY%nqe0n{>kO(6rvm2P!%6^Arg9XFLZ9oZANc z0igg?Ff4iZ}*^ZXf`L1q-C32l}Vb8Hxbj8OO zbgAH`Xthy-DODW#GWj4POTJ^rjk6h`VIk<2w;>dMmUHf)lZ4=kwMobI(tBE~+EgEGYY8Oma&rzG_o&xPm4RS7Ul70a?@ft|d_aAq%iFoa32VtRu=WFwzei1IdfrEX}nIZH(N_FTIbVu*KRGxAn-cCJqsix1zHl@L>ZOdbN&{hCh?%~I> zV)xVp3zYG0ni37FW`?I?u7v-iB{b-);7wI%0r=S94(U2Brb5I5STaSvpAN*Bk#nN~ z??0PH<~hcOPz){+Q8a>EB^aU75`d}7SLDyN0xaFGrDXqCez&MUPu~hDw5SJn$wf4cbI!U2>5!{i}pfbq+glG3depUGBZV3V~`v!YrqUFcv}fA@cO&b`KB*Mddc!H4v%NHYlf6VPP$NKp%7gEmL_o!HDp z>@5unUr0vht0P8OYj%Gd^7B+1(AyheIs3Z z^xd<;>0p;w1)C(o0*?VSdPxo<`Wx@rjYb1gtjajSKSz~%sdRnjfYJecOd?0M7H`w_~jm%XvCzO$t7#q;iaMupu^5L*E64QU1JP(JBDQ)SuG{Uz^&SvCwte zsU5f7hstdgmlX$=+U#6Ky0PW~PG0w~N|l>gF5GKPU@D&7Sj&BzZmA@6x~ zD1_|J>)>n#1QB+?;mcik7>6RB7B0ee`=Y!cVBr=~Cj!_-a2K&$xZj;!4PsKq;1>J* zuf_*J8WB0b2iI-EM{x=tiDHd>EO@>BYasC0ktV?g8TTM$i$_f2`mh?T%2k`N2#d%b*IwGRQub4DR%2ApmIi89l9^9x$} zSOPa%$H09NtBaQjET34YkHw`Fx3hw1VEZirdj)Ozsjz(p)7oDgu0oxvAzSD_1u5is zV(G!B_jcc^y1K0$hY#JS00F4njV@6}sDQ5YIo0cWxUj8&_D(=K}aHD^bn%XR16+5FF{d+@%3K~6Pebe^Jo+{><+Ol z+lJYr9U;Bc-(~sNJ+2^jh;GliEj>_ftx(gY!mtYh%jGY(?RTA0wSHYTQr-IY0$cv! zr2mq<_6fgP!zx+5MyQ7fGq8jV!H1Nu$&{n=+xERK@_y(4^NMJS-1ID*+sS)Y{P^Xv zsLz+LM<1Cgaqy46Ks+O~az0)s#N?#!n_F2@qte}Dd4a9g!-}b0TW#Evfqx}TecKhV zces=}rMY@$bR9+C^C;p+nH>4J68L5okSyKk8~;rL>Oyqt(xiUX_`gfdMVdFx$~I@t z>@L&Rl`O9C;T$=l0UFJhdNLrhx;6inWDR1{?jI}``%BR0EcXpjCjDO>prAt^`3fZ8 zSl=*boPN{OoiZcN3K6wQqNfXu(?>6*{bG{^4{aZzOU%==eV0kTN}k5FKAD#MK8A2_ zE{W68Yhn!)rA)}Vn2fP_gGBH_P5NBp(q3h|+!i?3qV{9orz1C}(_@(a-rVBft5IRF z(&3&E^0Y&3xp(_N+iF)EYI_Py`cpKM{Ry5+GJr2xL46e8f_O$1QPk7vyk z2=2Ge$GvpWo4$55N&M0y;=0UVp7AYoYON6R+gygC3dZ}NEL!>Q=P~|8P)fQY6THD# zss2fkyF2_oI(V!|zlek{H6ZCA?On{R?YmO_6+Yu{J?le0W;aD(+r0s3P(gQBLav3{->)cj z^v}G$H0XMH%H*u2beh>0Mu-4uMsV;LlYv`G7G778(p`)Be{_9!T$4?=ElsKjiim&^ z6a)b&Ql$n&L8PhlF4DVzbV4X1AXSjwM0yRqCqa?kyOa>56G~_y5D477uby-7`R={{ z5q_D>JTtTR%wB8n^`w<}_CTK|?=oS`RMr+$|8jaywHCXiiZ&R6E{pT#S>Jhv&+)sU zdkM4+-7~sRH~vKOdT%Z=;u3WFJB%)ak)&08-{j>U=V`IP-rWsuFV*9+`=~$)6PCy` zauTf}>Btfi6C|?xlF4uVop+pb>)H2zZ6SgGji8kKSq{nkSG30(J5&HU$(kc+=ilpW zaG}&);!@5CWigIqO7V+dh6sjE8WQFt2wvd z$zOm7R{umo&aC_@oTjQmCW6Z-(%XfH0*Rv;kG-?F?ESbYC0$H@flH%_% zxHVn#ZFwL*%@SzPUs@ij041D&Q^u+1J6Aql#q-E1(AAjd0#^mEPn#syJvEu0FS08c z#)voj2hR)pXI^3q{*5jO+4$6tQ>Lmgp0j9yQ4IUYGzd3_mFLlSn5i6&iT?wm1S^m^ zY}C%v;^qzl5iQ3_c=#jzGr>q>ZNQGdXn9bO`9C!~`q4)i2EyR3(2@*Q%>^wue)oh6 z%6JDD5*$fGo9EiF)T`GefQ_2G!(@HGWgGdsOb;bGey08LiuJ$bVZ7Ea0FfA*-ZC`vo$^F-Fg^6EbH6A5k783a znNzu>F+YI=84UkLK_t#FjgKeaseC|9lzuK`a&Ehcczjl0E4kWWP&F@=_lEdySt2Dw z;l+Z5>0^Bf`(J3T9l-kf6(SAtM%A25_#V&La(bXgnP>K9@_5B~!e0+;LwS`MCxIvj z5xtz(u7{ilDiV!+nNOm*wZKh?Tclg3RCKq`8~|wvHwpDWAB! z-ln(FArcQ44#@vK<$|lIngVfr*qYM3WBDeZF!@s~erodlPZe|LEPkr%x8n(?3Gsfl zdk{&u(fZ_aKqueM*{*S(QUj#%#nxlapI4b||J;H&s7WdZY96lD5}dVHSsjyLiz;cb zkYNF1HM&til-kodQ=5-zakPB8jVNX_;NSFwS8v|w=WN$el3YWKdn6n?^UU1x++as{(Dy^ct+db_K)l;& z=HCMLU>xQ9?d|Is9E*!kP`5*lSGhB<^zkevX%iNmZ+eETY?$LQeR{==M#Ao)(`9~K zg;YTK_GIczo{RFWO^)WUA?4;vlh3>O$dIfuNBX_OS0XY=2~l-D>xFliOBmli`I_G@ zET=H1Ue-nX*_o|EWL^X>DylqdHJ8)XaCM6LzidmI>izB*Ktic3&c$bK@jC3qUb(d& zPTjnm>))f*E~LH66ycXP9banPuya_fRc4$@X58JEC}7`g9ts9{suRUi1yhqOPopdM zHZS5#5V?UM)XG0OFgx~Y{c=1r2oY5w#{@#k6W>ag%HLbMN_zv+M8dgA79y0fS;EX| z)yd`Ios1ekq4mOhVKSfp0a_J6WZdOQ%cT9;YNeIWoXW-prjK%!veWIE7OHm2DkRju z{iIAiNsG)&^GS~^!*oxJ4c)q_@RgIeK4{(kJFNV3C$q#Av3k4lD%&VnUBdUtKAYuy zs-*UPh*Ju{D0w5rHSM0OS&Lz8puOXa_<%DL%>N>{23lL;#Db;>ubdamBR#WS9ZdVH zOAx~3gXnWUNa5@@us(;<&?TY+4zDvew4Sf38GGvd#tJzQd3J93K0L>(tRn)xDPboPKFB&_7}O=dQ`8?8R9=+S4f?> z)hCyJw1jo}Qoxv?dv4cm(PZ4!cOO@mQ6^4g;NGL#>SFPM{9>R?gA}Yz`Gw&GB}4a_ zRkONvLNcRUam%~6%~rB6f6za_Ok6;VaPtfckNFJsM8bo}Y!=Yx3IxjF@8?mis0rU)#H{}){$ z3NEC~^w?)zQN_n>*!tl=Rk$C}WLOWxy3CYnF$MbID4W4u4<0oZ)?{@#qZ2wW1K}H? z0%`PBw>G9Ik$SY`>H7LJZ;a z@nr>}Xjl`ik0=QS_K(&S)L0mXkm*IUKeP?NJvFD8=I~jwqu)OR`rnHv@A-SD`A7&D z{1XB&uC@|R{xh_uo@X8h3*maU|9hFJ&rzwQIF&u|mLL=RDZ70iXDw1tjS^|d7Ur~M zRhhyeLFOoPH(b6+w-3ovL8hi*d3Y;2zC_7*<@;;mc0JR_&$`KmZgYvKQ&?UndYC)( zErDcQV&^m5H^8}f7}fCd($h3x_@KpF>o4p$p|+SAuHWC}90Mwze9GnvKF)JQ>E1v1 z15I$e3>M8c5E{pzs+Bc4y}kOc(6!AHE`1fLRH={CBa70S(jy^hkBxs@ExB>mMWhi~No=cV1KTEdD{iG=uH`*ONFk#$6i*>tiQ}AQo@PJJ4awlr6y74@wKlIik z;MZ6_H*o&fMy0?%-iS;L$V9%AcujGW2s@J+pGJ)*THB+ro)z_5(bXmfM)q zzphw8kG#ua>OT{x2&$tWQKZ1ajfi$6TUKM#WV&f5WEmgVrI;opf>y(vuB>F4masBN17RmtaGo8}*Y zd2}RR71`fZcJ~if^b>Fm?^^KMP|$XL_;UGus5t$JH`*cb5(mu=f?^jeN9lchO>&GL@eX@Rf{x3p##??vCl zyMIugm|Mar($Jj}+Jiks3>6vs<=Cy$1zN3$=JV9Qf!PCshU8K9@e#SN-|M3CJ91om ze5pi>aYvGCd*lnVe0wkAEx5=A@Wd(`c5S9Clt&BCHI_ZIO1`u$vpI`g4nb=gO{~j9 zf|%a-#iak{T~No721%1tJ)>#=pdd%4Y1Z&ez1<~JK2~md*=;+iPs9;(t@)xGoW#6E zMWpAxB>L}q+fmhFZC0}4Ac^`avH6Yy8nje;u z6T33=r)(&|)u7C&YC(gP3M4^hjB8tW-%XUsSS{4DuBK73)wuZVq)64H;_~Q_XEkPh zN72!<6~i+&e^=dxWafIXw#067_Yq8`bxv(wakge?xxu?P<#Ju>6dYxKD^cig(CkJp z+*qG_IL|GmP7$688=L2^n(Cc@i}HY*@TFYtJ`*IaWc-YAxHS^&hi_b+EA1eLPCINY zbu5VLG@K8+_*UtxF?R1GWR-0ki1t(mO#m<2Tt)cRr>_SoH4&t3e;~;zQ*!{`Y*KoG z0Vo|`_Zqxmh9d6kXK%cM5_zcL@WF|{F03n zTazcG4Sk`%3dPaWA65zewe}^xs>b{G8?%KK1HJmJ48AY$RnZl)>MkMqcDQv)6K!h1vUm#pbYkA7oR^Xb+dwr4%})dwAT z8~#PgN1TGA1IPWJpY@;F#3XkYU7cqAMwcAJ=I5dhUzC#m;aV5__OV@uiQ}0p*V#T}1lOk`T}<2|}&m zg9VdHE0>eLKN-kGBuQ7);WJYzMTUlveFx0MlWQbID6SfN_f zqc>1??T15i9F2Z7#_r&$oA%87!<*rvHIai1&uvhXT*PuYcQXXQf3SdmAhkcS!k@ps zDieFqtQYthzKdJG0~r!bq;=nDzSr#E_NA>hM@D%FL-1(K1OM!C@dom;|0Z+(xcfiQ zwyiLgjdxGjW*8ij7 zT}I)38HVmdP3|GvC6JAw8U0Jw+degw!ebdt@2t_b|G&;2lTk1G{M)ARy|1Ezn{{?$ z&)UZj=TqJ`z(4xK|Iy9AAMailc5C}V@xf{t!$0xviV6a5;f)i~WJiB<$p7bf3Dmh5 z*^8eTX?MkT^%q9pUeUhzm%IJXZxN9+kZ|v&(2&elKK%=H{^x2$Boly+|7MT>bNbsG z31lciz3l(~VZyX4)Dc)X2DauV;r5KsX$?<(2@~+r-{m$dF5p->e4;5ldu|e=R*M%Oljg3q)|r@tgM< zOMI2Aa27ewq+6-k(}vBz7~qH}3O>$@O;p5*B+gCVpS#4`R+nPp6Os2q*zJYcJdrSmu7-PrTe|Z=bZFu~ndjO@wLzxn%-D8QZ=a@^Z!2rE9>ILD!TiRqeBJ zYcHo1Hh4=jO1hqVuO68ZbA(YHM(O9TuQC zObwv$iiT_AkawH$tj!&60ZY0sN5zj4W}s?uqK^6cP;UWT%=XF7&dk5yU1AR zeBXKqW{9Vlam~42`tHh!QgT#jy*VnXOn8(MSbeF1Y!Il~-gs60^%3xh`+SdS?9uws zH(a^TI&1z`uS!(1iksrx_wYVNnw&vKd=kw9-&(iFuc9CFKO5RA$)7b`z72Ld>0=x# zQUnyfqk7+lf5;5#T|dN~xZf8GHf4xMx_5ZqgUYQYtR~Csgsuib0wmF7=DQs?L`~Il zk|!_Ga%1=~teoBe_o|ClSJ83U%PO}^=biK%c!Sd}9 zrJJG8g|}AmbB5lNJl0!UFvh11E7$J^HwE%Uy<~W)Ll!_)K6W^kadr&(R>ThPUu{2= zOO0v{N*wF)O6tud&IvgD(FUM!;b!n5s(SJ0#3zV^yWIg+Y-8Rr6o@49ASA|wFx|%Y z3VpdsL=G>&tv=q3LJr_%WHw+-YOW8G${{S8(gGbw(C0gK8>bhevIVbx)QYKg_gmPS zK41vkgZqL43X+9`Q{Bwll)FH`(_i%BfTDSqh4a-vrHSnH9CCa=sN+|ap6RpeAX0ZN zEizv#ee6rs0x1?ETh)zK2Oplke|@38tTIyd~@;x>uU+G!f+K67I#b%V}~GYEWo=-MJ}%h zR&Hn|vdcfY)`sh@30SbGzQd?XcKzUrlBRE2LpR2E$4a>}t=}Dsg3EZMRWx%o;Ug^b z52L-eR$I^D_u>LBJ8Q5Ix)dnm_mO6F{65lzqi_(a-Dq~Nby@Oq9PC>?hnUQPH(&Mb z*=}xj&zF|A{^9MK1k&dZFw#c?$NDn#YuEaBuxEYC8wI5l&mH#S+m_O-m*F0X<+5j1 zW!Jy>^7HJ)$iR1N17eCnhn6-D(hv;P2OJKo_K`4 zns&UUVm+xclu&8QJ}kKQS6=M?m1A%R@986&>(4(b7@-?QP7A}v0(&f)sWXJk*IvhE zc_Y(|y9jwgVrFl!31KysYrpZVyKtn@a@5Ndfri1yVkzis3Urb#Kvoo+owi5i1m7vD zxiAMB*1TC8+ig&~mhuX4=5$GS_ z02jt2LDeq4d`yhNa&(9}K)j^lY0TyRO!3WD2dUcNdx;~_$8SDW1~IQr7SQ<{clkFFKLTwxI|VQpiYaDt`Z&dOmH9z9U%$g zDd6V=jQletJBx-Q=WTTVpoD}J{ht^aL({6Bo5BBGa?(XvcjvKc;e3mM5F|Be?v2g* zHD3&{+4xa8OvS^jmvpX2 z`G+L)JHC-vmH67PLEk%Ur3}DKYs6WQW~cwM!C&efZKi}G-__I&O26PTox4I!ikFmm zqohU73g7R%C>pR~s^5InZbSV|gVkeu#+-F|LE2OKvbyr}cHL!O`nuB@Gw@Q7V)N0M ze{U(X@76BDv^qL%$Jjbi{^m~^THNJ~4Bg4&Pqi`dBGkRP8UgR#)Ljy?2;RFBFQ0Hw zAqvB8aMXSHaN|bH-SZnkMhX~}mFjw{fvGGJ5EFWXkvI*nhA9~>;h zdFsv2hXuaPn&81pT^k;UGW~s}{;mh_b&;37`Gh0=xdmM}U9LP+miN8vv(nrQ%`q%& zD({dD%HE+~s+cyOS2Xt_y+}yz@+5zO$}#7(_91??celFbb%=sdpXlbz5m|xF;~x(r zu;DNj>h7I;esWfs?aJ%!EDw1Qj=e{Blh%`@xYtBVu;Odsshkfe)}=pEHREK_8-ytu zlBba4$+9gH^|nKM7a&|K6BQ)rpSw0>(aPBZo^vRX_;#qgn3-tICmL$g80*PnEILW!|opyp~%W8wh=U0|Mp`6-~jHbkJmc3V_QR#?kJ+6wd{dfd4u zEp(acu?BLoxAMGWvgRVmwqV`+TKtWt+G2&TF#Rcg=ZJ6_Yx2x9*3@&cG@^>rez}^p zUW)vaBbuk6iKCzWGgI-!#zw!l%`1R6zeQ+#;V2ltd<7YP=b&Rd^b?^@_uNCe4KG*4<5Y+_v-tndcw_R&6p5>|{-CgBk@;<6~tsK50o)3@v1+ z>krDC^3^&-Bhri5zu@jiZJY8|lo2(YOyqQ|>=_KxQB*t){pA#Z^)x&@$`S4o`tZYG z?iDd|#27HDd%|lZxXKftbr1UK>EO;0g`108V(7svbIyIy z-PGt!k7tAG8l~p-W1~;B54-rDD#lq;CvT?;kRCdi03#FR*uBX511Q0Ra>d<3a8y9a z>EceRZpoezY2MLCaNTpos5Na%=ZcBIgJ2J*Z?*+`>6>z_wU&xjQ_jg69=56w#3CIn zZ;|)s@#&9@YDSaUy{YMaW1!>I>Y5x+BU_PSHH@R=qHRiq;Lft75Y9+PE&l+k|69&C z;s|(nuPEbU-K7-G>`}S7kb>G8)|8r(86Cnx9B(>;Y*{XYa4rqw?NOD7CUCxX)lMGc z_u4V#E$igW!Ef$!(+1gZq?g3~oO~^|TH|Ke_%6H1*l(v>O>rJB1&Yc&^&(%mzW(C- zE#pRq(rTMLr<3Xa*I|?m;sEHJ13W8t+8w?;{8MEJA$$0Q?K1rm#$UDzeI=Ie5w8lo zah&n4#kc_XaWan5$G6qjxuV?PzI5W^+snXN)7IB$IoV*2F~^ua@2|iQTR2PQtQTdR9$DKH0VlDo zTKY$h1)H^^xqK*oC0E~`L#1JP1@O)0)w`LuWjEtegD!puE>-fkD#BrAerPO+H@qZj zvAYInJq8}9184aveN@t}RJAJs62uy?!N4!M@XOj2+6a7s&XvwkNYmh`o;z6t#xt8w z$FV(<4MS0e7@r+ab_F)H=0LI8) zH)^7e37xH7(eWFrnPld_?Z`G$Q#uWbWAje>?F|&D-g> zag;xPB*8C^HP~qMyNb_;pi)NJqp5J?(`XTa71}#ozVuDSBL%~ERr(TWG{4|FX$D!R?(-oEcLWK*nWilGS|J9)R3KmBYn45@7;L^9`f1vNl;C}(L4yi zGZJIpaXGJnkxSeJm4pz)x-~jN0__D)YqW0>Rkp^z)KXRxzK5EI%~37&_B; zbG}w|=wo2jt6EFT&tK7Z@jfZh5*C?!G7pV&T)j%W!{G+J5oeMB=a_(9XcOAmS%3Wv z?z{TBR@AVZrbOF*<84G_1httirxr5zA|G25NHhtr2WKoHvql>Zum8l^HD6%hQXyqJ z{HFN!3X$_Tt(I_1mx_TgqG)S@e)l44S0<;ytq85 z$y>EupWBkNz~wVMG#>9*K${E6@0aV5D0s&2YC-o%t8bg5@w^)sXIpXg2)bGQg18Il zBpuac>0yyP68QQf@=~4un3Fwl6i@9MI|}Kd)h&BE*s+~IYj3RuOHOaT#y8TFTul~) z0++gV__b2mLND!s-u3I-Sr)=m#UBHSzcv^i!Y_YmsF_oq-YAd{XItK#Do!uGlB)hX z_o6rj7)cnd+aAwk>h1jznu-DcA8(djWhR}ooZ|d2_TG##Rt77~4Bv!K>o|63Io-j1W?p*iiCDTt>%>U! zw7*0lvT-o?)v!kQhl@nH(QmuGG8+ec&8^(zi{d)q9p?{`ZhS^TE_ovfl?PNj3F3FX zw|Wv78T)?mCQG=|V<8Jl)>`M|9mu+}S#V5-M4EvtUHdRGMv2_PjC(&hCijXfWZ`)HZ(r3T+TRIqqAe1=(l9) zc@IleT5n4h6OUx;)6Nohgm%|M4{93g9#8N7_zZxE;iD9XPI@(> z4WV+tLLWDr_gTcfT`fgf$hl_&2DS@6hFDS)dB%Q41HdRKHn?I9bs>`GL~$Bhd-e)9 zvBggOhL50N6sSLoUz4V?;v}Xfu65J-RWw4m5;r?_{p)Jn?M?fa_X0vZuj-J(>|Mc4r{;=`f{>e&#~Gpxkb#+o z@PNY(gca$)GmSCGN~|zhVPu%-WgI7HnF9TItu4vBxcS9-en^RRN;dBy_JLAs zn22l2_t?l%(9_FWp=!x2jQW{*;Mn(X;HY8gK5cC2nXBi4C-Q)Q$OF5YeD$+p3S!A+ z>w`Up)4PxG(w-zK+1d1RvU?V3&~gB}yo%Yg_B^{XN)i^N97> zE&f9pR9U?zNYCm|G0C{4`0Ho#HV`2%8Mfs1;2Q9Yr8gPV6NI=Ep~^K=GyI; z$oEm)K~o59Pok0dXWnH!#(PQ{aE-AoZ$$s_k2@QFhS(*mk}#@DRfobdV5a4L{G)vH zVhy7$8Ky*lV~NeYa+D^v?B)AYU0@1?ZuWcg?s~Lf!m9q|57F4tN57azJY~YZcU78C zr*ORc(5$%w(v3r|uR)p`I#t^oidN`^Jfcwf-ji~YeIfY96sbIS>kG3yt4>d*$n+nn zU*;eNxR+a0Z2Gpr`A z)R+VEdp$WUFGzEJ@d;As(2Mo1+G376Ffc#iA8Ye8uk>A#*J{*>mm)&vRxD%*BTi2U(vrt16cz6c|nX46LmE+P*F5E_w+1pHLo=|( z0lZ$MX!zK3s0G*M<025P;`lEK-62-7d=2xTn?vJEZpGR2_uh>ATIO(SM(E!JkU^9A zCba=E#u8K4pemDDAF^~P4FeCbkFY2nkA|)LQL!_|=gWElBm>ajTaVK6r*6{3&Gx5- zZv_PO`ZCC&dGPVVw|9fj0i_{+W-}o5b69MTLeuJ_-n4G{cNraT7p`@RxE5WAfQLU< ztSvf7JH0MNlX#f4S-(U-2IJST&r3bR)saaTf$uWNT1bN1D&O6ZrMU6@V~}Qp7-hsG zn)*2AcS8j=M@;)X54~oDrzJs{g2SZ-kV*;o34ZRXIeX~-{c*~W_ur~-!8+6xh{a== zN4CMLX9j1d?+wK)z>!mRsRqTHiRrR)Hl)oU+^0Z9W%j|ldF{EjH`mm!YB`L*f5BgD zZpupouFGH$7||)dFq?oI%X7P|@t38CmgKE+oIx%!#7Y3yWt_7Q3sON|FdVFJXKr}V z2zSV^DCAPwil}mD4j^9OVO=;avdk|2!Ki_fw3|doK91|QtCKHn66Idc)d44`^M@(XK zB=h?r_T8k5VZf|K%|0I7?CWrBjOk&k*@sFN9BoQI6~8G~@}>YA7``+MniSYFkCe2z zaIa|itu=a-O9=~CcX;~s%B55)=wj93{JEj;ctQ3yttyP`fBNTTi(#a)nVh5v8f?rEo)6|gVa z;j!EPlqJ+Qq)lj&F4@7p)R-L1_raAHFS_>La~1g*JA`XA3pPCLe}s3!)mNYvWh4+f z`WN-Q6^Sef=+j%prNa64z#|7#Cn0pb>I(L7Bs4g+^ooO%~xQizzUClub7r^FsW;tZi zE10v{A~!@UERM}o`jph&@^K>NefgJNSphv$ZY>~XabcAM!hQ_v&KR)Qpn08g&iF$R zUvb%)pXSzEDtB^Izr5~sM9Z|<&pQ`SwW)U|I(O-| zx})EZYK2IKOR0G}e)V|gxu2Iloxa_JD1p&rQZJn|t;h)KF>DU7iGcLGP!xyHzt%E* z<$hxeP&@|Olkf$6x=%DgtwUKjR3IZQ(7ICemWF8OVuQ<)RLoZWwE(ktnW!qh>^8+& zX?^4Nw5<2o3@H$<3AvgUcTur~hZFI9Y6=cjk2 znkADtBVBO|9v2*|RdkLX2p1lT5H*Y~BfmWn!}v$(ss_lZFf-&F(W&u-EhneDo}T(w zVKxdYq=&Lho3y)3@)c1H9r;xlS+=NyxJ5MUSxlbcz?Z&aXSoz!UMM`1di>h7)WiF1 zeoEG>kw4&Yy5L&B=K;Zy**2Kedch3iByDWK25PkQ6D#L1PnvoFT!=5|kt%0X#?1*i zN0gdp3CXt|CS_y1vt*-Q0}kH&8rKt5K^9b+RfEgrzT4Emw30eIOjaRNZW}jMQ3yJQ zmdS7HAs(rE*S|nTn}?d_CoBiYK!q%=m{RU;ZKn@+W*&g{q(g#bQ zxfXGtk+NzsM!@Gk8M049-_2aNJXCSnfpypC;7p8&W8652>dq;2Vjy055yfn;Oqm?~%E<^0ks#TQ^_0VS0~0Eyr- za%fy7pvuS>-?@O54}sqwBcCVw4i_M*+j2Cho)~>xf4Gfx8X4wq&GJDz&b?OXmkA!; zCav%U4W(KkX}E%11nPQjo))iNMhVaRb(I zNLXp_=&KSN+?iV#Q=wKvp6wui)c_AoBl7!Ak0FgPlKljSq6$#;GmfIQ&eGl+{3RXs z#u>tT%!x(jFUyK#-%1z@Z1KVNS7ulqSYVLjU+Z%%o$L6-TPq@q4{9_7#p9#6p~>6% zfut(Xb0FnyEe1@~Tb@Y?0ic)bI^i&7fwJG)=PZL z+{XrMumxRIwKT@;aDwzvYvpLDZsJ(JS%g^D9Q>z~bpN?PgB!fuQMtw_$Y@I9?i7G@ zl1hvc(*gvU&5t>82!?s(Ba+;as2k9-uLP|wjo|}|Li%_rVc@u z4<-ng1JhfRlc}l*#*Nea8H7Feqe)0treP^R^v?Jw%B5xFj7) ziH!qe%N_Rv>V^aIM{Z&hcf~%X==A7dQn+Iv2G$dj6%4t0p#}F(YS-ni+ZAPe*PTS+?ASs^_OZWpAHbQwBEVEZpZaP^mI}vgC)%Ha-vadhX?Q&|BEsw&Viaesva~%c%z7)AmIY2 z>N8vpIu?p;PEFQLT>J*Ovy=YYA)AfUe7@o^?>lX0MHxt7ncU#p(;x0SBQK=?$ORp>G|Y*NNNkdP{_no-?>#=8irdrt*(I zN_~$u1p6zxY{{9^?bze1Yfy1;$4>d4N6rx2xPw<%TCdXJs83H-(MnJojMTW^i=*u7 zZrL8&#b4K^ww0>INAB~{IE}u z$q@nIxQD<#EpHJWbTp_nnn2nPkRe@9=>uob%AkwlUaQkcicb#5=~i(CYu4_UD2(p9 z{1)f8kX&};EE~YRySvV{ z?8bZy~++J5+U&geZ3|YCaS&+6pw|s5@%hdwhCWYy5lhkNQu;}ovW|=1@ za_Xh&s`CDp#|c>+{YY$8 zMzywxrCmn$OgCXgVK7q>L(g+oWaHfGG%a|!npArdtE!| zi9*iTI$c&Ok@F|*II?sNs!}TJ6mokbw;jSe2(mKPDgDC{r}?bqN?{@Q;VoUKiw@VW z;x2RF>Lm*x~!+y%?5>L;EC3i=*wIrqlHX(9QGD-cXJ*0h#yUUp&K-j znL*3SAkFl_k)@`N^NuI=3L1u>Tg+QTiA;_qA#O68{(4v3jsu=z=Pci*#5J-zvR7Kq z1)8hmQ(h!fWO_c5x7ywu<%^xxyM1cWw!9r^MVOOlq7M^gJ{fA(-Py^LC2+xUWz(B0;XHTr7FZ$jnuF7|gRj=^)EVOAd*brr zR@^FHawWLOukY#`@#bIfprRs0l8e=UfFd5+Cj|DIUCh;HMwB>m1Gg!E56JtMJYlAd zuI@x$@I#NKel8?Uv;=}K*3M*lKd}mV-V>jL9dA>=zb9=qmL;K$_J`g2E0T%Gn&J2czELpz?~!%^nLa@aWi`N8QpbC#8rEhVoTm@PY=Wdn0?>YPn0 z3tn~sZvy~0ngSJOOOD4cXESD?u|0K~^yE*;uzNv;I{CJ)jcCOMcqyiFRmOw<>dp@W zj3^$anWDw>_9Y?Lk53 zT?ZH>_M}?`VT7`Q)F*UgHhmuN2dZ#R|A zEsbOV5?tTBPTOTN)PCg>In9&V8&@B_o;YkibzIcYEcNXT=YYW$zy5PG5C75-$mjM1 z4F{6z{GUunQBH9;2|fse0G^t;U+j+rsGB9a)oRv&RN204A>D(?Zw&}dJT-uaY|*`x zp{`Cph&>ti5OJNpt9oWErcsh?G8x(^1xDFH*H6&W&Ku%RG~;yvXwbFf;C1sgGDoV! zYBPW5`4M$*;X^Sj5q(CSiz$%(R=*eTr)=( z)&HCz!kakxT3|1&sgtHEVIcMNY+`iIV!n3ASJNWa{?{-&c;%J2`1HnRWP-WBu-S|c zI<0+IE!E%}{1Q^xi|WE66AtJWVyD@(VC1OR=5EThs@|m~S<8(#NxUZ;UJGz&l;-|} z$XV@}13VfmFN$Ezu?jbFDLJ0&oXruHTXaJOA!|d)Ix_AZ@Qb_8C@z0(wor3UVAH84 zZcgCKfimkXu zn^{5+;VBnDzOX#(QtwQoD)IdeLbG&c<7858l*^}`8SYNnVGp|S+mZNT=2~3(1p|>^ zH(8%ePQMhK4&tZ(F@rv)zhN;%Ph}c4%Gsh4^|M1q(12LS+j9DcZVrnOZq?qf=@SP! z7tsN4lb6t|XQs?LKtnpJ4;n#F+N-E)FSdDtBF_mt()$pp+oCb^ft@1fyS+6Vzd%cY z8X9XqoshSklhCI-&{@7EGQm+;nw6H-MC0e{BvTNRg@&A)se8rTx@w;u?W-P?*{QK@ zLc+!_$q@Tm2^f`7q-*r$-gDQ-uHn70g~^ctWQCR*MnKICZ-nFGy1zt1at4+2M* zaTCG!+^whNH99Upor=tbHHn9?~p9-mO7(r-ZTjR^E zE6!JA$clNzx>QYgP_-|?nT$?Q=y(b&;>I>5aRzC*-J0}Mtz@pcN14=_m)~AfIN!;8 zrv2EC?T?vuy=;v}y^F7tIKagd%2X8*aA|!J54H+pQY`@~*O2bM zj=B>0SIY&`{hlGouSEL{07^T{m^|b258m!=>&}^>QyrZ_%3VX@FHIBEA2^OwdkWRt z4RuRR3=VCM598ZyM5ej!MvGZ@7?g5ohau9B0$}kk>cwIDH*zuAX4i^YFPHiVJI}5 z^R^?OOOA(%31=y-T>_4LtheD}PlPwAxP9&R8T-hCY(K#L7br;{*B;?@q1P`L1HMlm zunltSTyAMvS_L_x#Bx2h8;pB#K5Jb~?D$dWxo5|WXAI5^$?#+z8tuVD__+)T%h zjA!ybtE3b3VX78&Vf>ar3zEXYZrHOCU7;_=1amiKCa}s9v!yH+_d&zU8V=vf5-M|+o<0!8X6o18I zo*KvQS#wma9xVRN**N{@?spjDWfKN?c7ul~8IoGh{5iqAA>d@3?LxZz$6lHDXXuQB zT%%RQO}4RnK90p^oTd2UURal?uUWl=nC8dyyN>jC62%^;pFVIp*tXUh#*erQ{jwG@ zZJe>e#rD?;t(_bP=%-6Ga|Ju`DBOM15J!JD?Lt<{1LQ)TAT&vbn(LC#4bmrJBB~l! zsT*Lb|2vceuSp-}if;=bvw_v(}s$IM?3$>NxaK}2l&UMbW#{+9a|QwNdXn-^laX7Qg&1B=GyRj~ z7E9#Chh10P6aAURmvHL`35|BliNO?^y+Jw?`&63&yBE3Zf}ic|ntEh+KW2)*z1J~k zv0WPQDegQjCv%GU@*=ZVpusW%ulq~SP60;U+%s{dzUahV;{(=Ur*m0z=0HZBq!qYsZ!HaF)tax#hytR>8qY`_oKnEhUek_X;BLM;bBsR(WzBW zUtmeT9VZsb4s~}`CFwz7R~7np%J$ZLeDI}&>^5apA^T32N&`t~cbpPqJyN0brfAvf zu_y7#yl;QyI~cBRu?#&)RX_y)<@-fp53_F?TyUWG&+sa(9tnqNMbx`uZM*ew>0`Lj z0<~sa>CatNqeiB}yX-|zBu|d6#vcGhZ%vt~1@{36l{vplThAy@XOf%JTXGw<@EY|l zvelDB6dUdH-kyQTz+;UhX+;^K3uLn}*;C)CpDA|yG;+}s+Z3Er!4gTD)#Jp#!Q$H3 zVI`Vow;9%|#4k!>45d9Cc(n&%?4QdjF6O3< zo4TJ%78N-7(O8AWJ-6E3qy4rFF~w?1n3b%qVsG!xc6a;nq#-|X*Q`waBR5ZiQQE;S z+?8eRb7qsyP@j699xk#yg`YErhjqHPXovyPP#Nv`ve6P_v~#cXTun4jUushA=0aVT za+#{krtd88@IKYJo&0-Z!RhF?MWZg~m{WooxJg00$de$TQYjhk&KW0pkaVq+X=czMn0LN+OR>(e2LjLhff3~z_> zl0RJ%$(-%N9&v*U2onAld~I50P&Us%7FDK%Z=r;=}6 z#uF_cfHDa*XWS)ccaY`Ut2q*_=-F7T!!~gkOeiZ506Kq_5pcvtxNlSN3l>vRAE5P@PAEk)0nHx@r&Qkx-LzQg+!sgQ=t$f3 zB(Uqc;uZl7cS>K-?STl}W*A<6acd3Oy5_M%uR+)hv9PrZl3mN0bX1u=C{Iw{I?HhO z*5Q-O1K8}V%TI&TSZms`)@OV{;L=d|evzN$2GN-aXj3lbRS&(o<3Nt$`;OY%_H0X- zM3gOCF3tXr@@aV1FLyssK|6`L+Q(-Nx@Ak3)^&L@u}>YC$@#Tkh%VdSrrk}x{Y0!u zTEZPVlvhMpP&AI6$gM?6Rpcn`BP}~vx);?&GRyFzE9KB?NQ#`BrrSI&mC4n8&SQc} z0Ou;2_hrFm)jj1a_LO(0!mI{BAecI5n{7u)^u*>nc03y!XU{QMgFx zw{mS1TY=c_GSb&T!VE4TP2WrR$dg!vVYf)59-Hxv8nEL^5;Y z4^=c*7l*0VQY25Oh+kc?8Y|Jeou;XLm`*e+1i$Lb9Jkl=y~Um>_|!SfRcA!{sw&_0 zyIJr_F2Ap3!CoUw{oXC0dq$wN)r6dJt+c6nw}1UPd&Ez<*(!&7vl0uRD*APZ7fq*5 zXKU9uE9VVG99}+14|v8+xq#K;D*!~kw@rV_dAku+Q+_Lpriv&{9vCs>IVyNH_j0*S zgM2sSsD>=>Lt@rG{y{u}qxn?z%%GQlx+RNewYx=J#g0tkXUAFb%F7h3p^p^b(r9PK zC;d(x10qoy?aMiTfbL~o$*&PG-5p-hJ;Md_MsXybZVwBPzI5fh@9tW%c86YWRy074 zSIg&OSMrHqiY@f6dH>6oK2ejHy=6Km`l34&)hU);Dt#`SZ9q>+WT)omcc&?*(Xvl5 z^Hk@lM)toQiQ_%><&7&W*rJdN<>2J_o@ROwA)bEh#X4OoigqFYQ?5dR{acxNPrOqd zUHSLV?%aY>-Hvq`GikZ%MeaXlDlX*X7IMkz(<0UFpnVKV?krNDeFDj4H>)mn=xTn7 zEuTK8sB_;k8?8A&3oz_iII3yh0p!V%v}DBdZCh(DZ(?1_Oyp{LkAVbC6TLhe&By|K zoC(*|1Vogbx+Ykpo+zfy&Oi5&oj85(Fz=}@#X;M6X(*YOOK_BAx?{SR4W*_TTZvARgrdm{{ni5c8Eqr$Cpz8vCImS&1FpND=5 zQGw5B^(*}N3hK`kB`va^(&ueipUmgCtyN@#m=2tW45oU?_OaM&fja-{d@##>>ILP~ zmz{;eL!Z7LtaoRYDPIY8#ECg$0lk`j%>jMfm61Myr)i3U)tl|Q*g3J6^^Y39SnuLyN9Vp>XZFu+uH-XpZ(2V3qs_Gh9Zj1DsajdxD=nx#6!IS#jfMN4Wjnf_+=7Hx+)#O_>@J^lg&zc3|I`F1qM>ASfmVqY;S-xSo#crY<^ z6nhmrTU<%h1Pco5jMqm^c%iIco5(zphXebPockmioszL(!%`hx$pzC#pZ0=Th1oVw z1=L6nsl_*_kAIlcx838HX+g`5cXS8oKses~uF8y~xAu@a_L|dh?mX9hhQiw7;VJR^ zE9Zkr&TDOcMta6trKS!%oO`p$9rbtS?b|xA)<~nX1C4m+Z3?KIsW5ZCuXhKAlm&K%P)bTeZuI z&t2L;4KR{ZmqwSo&XX-)ZSBYU`_oNH&I*V8I7Y&KO#$pd-z(_xjx`FHCYXyLh^y zGonf_R=)6b))&rKdetBy*$snv7e4aLPt9ZcS+JU?R@AL+OZvkQ8a zIF)pP^h> z#<325CL^}scyB(TOxfQA@YOr#{I9KZoOjB%&8p?-Gi;#33=1x-kVYR#vf`cx)^Q#?2zPxfSA5&6*v4J`>M$?qNH)Jzie3TMK-zmG@_p?fJ8;9`o-@sJ|LM`50&IA2wrh-3di?SLJ)Iz^X&}Zp)S3 z57j(!(^ohPOu+f(oyHqQlMMxr-*?J!$&WN#a`v5#Mhxz&U44~`A>MdIA2Dp}`2G~! z)=_t7!{VWiE}+QAT?0p>=nQm&FHMZ)x1SB-M^pEYqgTtKWMYLmQ{eFRCG;azQxOl$ zTMQZ6NrI^7s8VRqP9MlL^yZ=_?YB@O8gOR6Kj8#Y*Dp`!?=&#yeok>%BRI4VJM|yD z%)xGaJCs3_8?^K7XkIRB>yRsR`V9L@<|M81m9)h!-T0Fh1!I4b$Ie`fP1IU4%s!Fx z3>(aCk23UIS=!vwc*?Qpb6yH#N~c}ESJo^+{?W!$Pya}zAVOKOmQ^;x&MfMAvi;Ma z^$Viwa7Z3^=qP`bQE%~lotHdLShk<^cp_g{ z1zBl8RCZ|A5bVAyD}-|QfCO8{rdS~`0rFMcTgALEyV(x2@}ne*8ip_|^t$KRG7l=I zt&)vBY#qu{R=?Oj!eT_`D>1M%R2G)%YV39nbe#q)`v^JLd9) zCYQIGN@hn>wO_}q=Sr$0B@Y5Fwg7^D=o|kkyD~~NC6P8)e7IQQbN33GoY~DaI_&tK z#%QOEw1lI2IID6IitF|QgJ`oOs_wq{>eb+#1eSOT`Lnml1@WB=JS&LyIi9}vjeU!m zUtDB~01*50z z;-GB;Ymt;7Z{B{7XGJ?!R@Dgu9W1E#WU8#NvflN3&Kq)X55W*4QffHp->csn9fRwr z3To~;$}Nn!qjVqvoSbcUDmp9hOzeD>yNs@@hzomS^{94I%S=YE(J8v4QCE9G?f%gD z(Uk^)9u~Si3&_*`HPc56&eiB_B)ge6E`&0>R7PW2B&rZX$CmtLu!IMA!XN&KLQjXc zqQ@Bcc60I2A!g28b>F(0xMv*^?dWgL(p1^LFXDZEN0f9hKK)0mxlmg~Oyk;_b=a`` zJAoIbc~3&&CbS^}=9;w6D!H)_dSa|V@IlVUk^s<@TAUQQ#x0I{K3!ZG^1qivXyfUq zj(xEFph)10BAm`)b_5N3)~4N}q%2qm^PPT}73l8#aB)oy|^^a)f?Z-;K z9jz#(A1~S&eW7y4!+e${>DpT8wsQDr`)RHCHR`5)k=T)I`_%TOuZRA1!5BdnIQKr! z`U`|NTeWeu>a z26v9CUyykG0LZ)$zW4{f*8oHG3c)?;BFL+X@T>-Bm(@Uxm{)Es{wmrHE+q|I*Ux=I zNA%qJ!4>LMc4VJ6KFNOg;d)X+lyI5Gkj7GtKloUA1}4g-HyRjlmJHTDjBsm9{2>z4 zP0Z8mucguOB4-8LEwEjEf1tK>i@eW1Lut7t1PQ%dP!G_9{*7p+>Ed!Z;^2iq@;b)6 zt$M+a#G_TO4BIvf-)A94(XX47NvPjF(wHBO z)5gb6AOA4p4OjkiGaU(}N~Rqaoo4>yfB0PghjI4*KNubi;BK>sQ){~sK7~J+x?!PT zH!Cz?<*nu0$gg^njyExjoh!2=mb@`XmY=j4awL8yeN^BGzw@pwd(5A=IF*R|#hM-dBmLT+f#}auVd0Tqo3np*EnqSFlG3#>w7fA5da$ z^w|IRrZmE%b6W!)nPOSVDcNzH3Ow}TtC*8kG>w(et#wmeOB)-&TK`XWzxk>z4qtjr z-&PjRxNPwN%%@*b7rduCftH_LR#h$gAD^NQkpZ9Y@kVavB=r3(iG<3(hP&>FDZ!)H zA)^HxfaRx-K+46r2o%GDtSIrKDxxN)SQOUf+vi zJh8FG=PC1nAMpPxwl`(rOLp{GW#OH>%1OX(Fb7^jjSCD$vTT$M9NrE&6W(_?D^ys^ zyKEBwqr6MNNI>S7d3)T+_lmPgQ! z{x`Kx7o$o@%tegkr7-2{9*r%LLE?fau0LR z2Q^p{xb^b`hlA2lNejbN6W^CqW)vx8oCOUV4{P?Yz=(^@x8-4qVwjbo{{>ATiWCJ8 zc8CN6xrahd80z>-p-7hj6=6Dbr_J z0xADz-c{!KuqEZ*7}IF)f7K?X;9O#n zD4{bZ6+W!MX=J=P;RzPx%E@O^knDTsHEQpjm%Gxk8}Zo3lz|RZG-1Lqw0aQ5BSXsn zrJ4WwDgj4oeyWZ(>&^f>-xt4P_f2izCju}2WH0@?_@Jy?jgQkIL<{QQX$Adx?~8dc zl<}@GgZ$NPLOyDI${+v9R@fVW;wg?bQF;U}CKq3yk9OYzHTMkooxh!bR>MH5eE$w| z#Q@!dQqo1|BO&M;`H!;Mj(Rv=h|dbuw7?mWW=|CYrv7nVZuHFGH{+ryWbf*UAeS6- zFP{P)bor%p5e1S9ifErez2c9UI^}4@`|m0DxRCG7cr;jrt@?e!eB{L}A5A1J5-t5V zpeCID;G$N@)QHMAKRX_DqqR36b4gaHLDUB+(qSTbcft4tQw;m_@nW=_r=B4dSq#9) z>CXp`Dy?b5uOurK_0Tb;zttGFN{&#B(oQGD$617*6A#6=mrT#$~4v$ zI@|s#ks%!)QrFF_9}OY^O%%wG!JL;C+v!Y2yx(1Hy8aKv35jmhGY!WSOsO;+WPyaL z2vLRPEI@vGnsv9wBvpp54{AVA97q;UaGw?8N8Jpy0s%o!p9>yy7L+KE2>=?M+@4(M z9w@F?h_@JN0x=tz?ZOmBg$BEtG$owniv4?m&6LHryd+(fcB(!aX9RHg4ik^WV<1wY zQ&`UgZHV(^&pkruKV;mtH=`j5fbReMB#aj_7pWbPxd%?s{Kd*Uc!b&y#apiS+m-Q&c8`ja|HON_0^~k@^l_GkkDETspjVv%3`) zYS^i>Jdg5HsgKwbKyK`18u+sB@){!;r1w3ra6p;ks$^n+iF*hLp>DK?tW`?QB>%oM zFRg0{jgGD9BQjnLyP|9>_@V@s=WRSE=JKYYz_DPeri(}&&u}_F;J1QK*@wdGxc>1) z|MlV!g%U{3>B<7f^C;{};<$d+5u+rj+8&7>uxf(GUKVc;Ba0{q>rGE>R`2N@NTA}rDD{));7kfO8^D5?(^%UM={Uo zO?o_Lw?ZcLD{fGsE&@E3dqP&Rsu^bZ<#cW>@x*55|suurr(+$UJZT-#)xLJ_~R`if~etkb3y6J#*+)t z?O&fP*{yrV>7a+oIai-?J}x2zcnIiWCB6a#l9yh;@Ef3 z>Gh$6lYv;y2AR2Le!>kYrqO|&2DaMAVZY%6feA5Us2g#gFnt=8X4uCuKctTWgO6H+ zY1W&0r$sqfuH+n1!@WnrhLY7yNN=FT7uEV_xe?dP^bFz1f4TU_8U0KX~0-xaq>yShMSSpn<$_=Th`=5Ye zLsBw$%pwhTq{1odmA3`w1lk^jz2s!;l!IZM)0eYa;Zi5l-C{9OiJjs%2*JQCU{sO* zEdx+`pxaouwX5@H!V)P9ko50(AqYVp>*{ajPFmi4C#{tCM+qbM=LSmn3Z8{=LB1`z zh~U*f%<}C{W>=(fReaPc3GDcFGbwcuprz{(5r(7pZ=`yFK@UP+*z1+cQ0S$g^z%o` zK+Om>A0IJ2jJA5>(csN&W2D9?3>~`zYWhb;Qt!VR`1$=CLw@C7Ojvx)gi*8>e^J?z zG9-@M#%llp*kZ-aE`7@QuaCntiOh`{Oi^b%7Dh8Q#BVSCk`*#G6se{B)&9HE-_`JM zLf#c5&|Q!tl0C;?aT_#0RbrL! zYGWTU+eJB1s-?VGBbHZT>5e_#!%QPmzcJe%2Y-gwGUChX`v(cvB@%!w0o;~4JRDpb zjcF~t-6Z@t+bY5eDs%kgd^qd5f-Ra=EM6!bUf1G&Yz8PpQ2$gyYz&+N5igU${9l^jx8hWyCi zGlG!8UlJ!$bQi9NF zJJFfMr;0PjrP7X4YlQeWiUx8WOQ+5oE!}Vfb$=>Y@f-Nd7iKoh60D5IuTQ~_YLAiy z3ExP#e%`>;pYu&hYsy7g2h&S5aV`qqCtbdyQ}vif3mgJ-D?u zoX=8o5zxd!U0$j713`($ZRM~ar|0uy@&DF zZ+IS>3Jp<3{yldjbbAF5-5EHYMvve#uA)FeiwH-cHgy%-P-he~PCX8LzRc&S#UKx3 zJ$DHB<#rw*dS+$z)kHvQ3-!g=I55HNc=j|_5^ob78Otq_x`{g&P=@UP) zscHt>XaL7IlInHcd#j1x|B|4T`^N-;1gR=1id*?Z0P7RgVZ!=s2~Co;N$7?dt#BpG zUW^%AJ^DK&1_D}uLA~aHxt5y!EG=f@Rc(J^ikgHUib|$5`>=M7$C*l+ z5Mb6&hP|!)(7n@Wqf*Tns}k#fNxaetaQjAQT9@68mRp$tf6R$RLBR(yP-pKYPc~iy z($ge;Ja_umbWL<=I)XvsJ5qK9Sp*EnuZU5j}v1be{UMCj+y*#4f&we!GrqZMkkXNx# zFbk&ZTh>ffrD#g!}YTe&-4)gW5B&wCL4ka4DP1DRd&!b78f(<*^!bZ$( zUf3C4b}Mq*eUflfvntW~O?FGL;u+7>cyG|fUrb~zjijJVoH8AKEr$M_POGK zw$pHD$>CC%N{wZgbDab#!D0vVrmAe3WlXWk52J5wW+-#F zQ%WR}g4b8$(Vr_OO1km^f(_#WIW;|Rjr&7-Acgk<{*2rOhZHbD>Kq>0CA;Pm+Mvvirkro`A{#QH7jGe{YO46ul7y;ARsJ12Hy6czHmP z6(M6-C@nN`5EqLQKl$zDeTv&1&#b8fHnwyGS53He_MEW_zm% zzFKL>hhK_du>WE0JjjJA{L=&veskkfz?K4zBzsI(@XI`x=*d}X)8}}@WA1*77>N8U zgT}dpY(Dmah7TLId~g2IWc@u5uMEf89_Bs!8{H@YtA%VVtEFX((7KQwULDI7fTCy+ z7?2N|kCNwiJfABuanf@Nejtte3K(-V3r#4hY)(=1x}z3-8OzGsWo|Y~c0fZH;5i)k z?F^1Ndu(``b{)OIs2nbx8z!e|J$i8XaT>YVZhVXIHCim1}E0*AhBf)$4j$qdAZ{i zV4~9ocxv=F6x9h;G!rvs21U({D(Zq@1ZRs!UP!c*uI1ZrxHbmWdl45KYM{2~ouZ_Z zD3w5d5*m!ugIEaF=l_j#z?8iJg&4x`Q?-6+gwcTvcA3#XFhmoGGlgm6sLkDt$@a;T zxr@_Iw3IJV-;FSy+ZG_E3`u28tQL&&JWKNdgEKE^2)Z7YC4ON!FpzyJ{R1T5#U{!u>#*@TDjjIMgMd3yV2%0 zokNNd2th@ZuirKWVLXl{e7jNYixftCtXf0Sg6H33?xRj~QIp)tKAV3B;xjeCS z%&V9{@A)Jtmf&14t#YS;eR8Jc{k_-pyBC~J9vj|zJmT}`L#oS#gvm*2SLD41R5r(b z-I0436M?HjFEsq8u*l0UDxU3pCUCtNQzjodjybKNM#hzp2DI=O7vKfl8)d}v0P#-j z+)zpZ!*Bk$piKlcEv@B@lPqFFnw*(!xSOXSM z*%h4hir$Yk16$7ZW%8tPE21_9$J?4exm^!N9)>VG<8~hg@3xQQoj9*i3<&P!Wf3nP zK(3N z5M%IVOgUqxRY0Ht#au0JbF*eQmh(x9#HELzE!tl1>%I8kmpT~YGw3UW=zSPMUh879 zR>Ln#>g8LE3h_| zChmYnK8GB1m3S`x%;M-mr+qFJ8MT|?ug5F2Pee?rpTPjecHB3xtG7wsKPdl4i9+#a$-^oK=8#jW*kg~15a;e_Ka1&^N^T&N-dX;kD zJ$Z9ex~;7+;5z@@fzx==^LM_te;AT)At4MQY%9;pEBSt6?*>X^Fq)3Bt$88*nF^y0 z&7_S40 z4f;?L8odXg&4IvfPwXm_c0_3`w>EVF~J&}6^}+BGroIT z%MIbVL(xx9KnmxV={>E{FP%4_} z_G7%buM><(KcB@dgxg;{0;0${3b+g$8_W8SrwJd0$@kMb$TX6mqOKBo&SLh>YX)S1 z;t*Mae(d<556cw2STZS?-`j#9F*|!e9B>)kvQ(Rh`P#bhoOXn~cYQNK>x2O;H|h-b zAes_hoJ&^jR9x2@US1hCChm^T&xz2LExqMoOdAEI$q|cPC&2Qwt4BR9e(zQJ-qD@4 z2^VPsQ&8iiyyB@nZuxq*qgzq}Ce1}RM`5<^1PIPa&Oocuv8<+LzI>~4<{@ovL$hQQ z64b%BlYF$%pdWDgku+#ok(+E&{NK=5kHlI++BD4+;#{p52T7AF*Oq`#8ZidMDIa>g zYyLP_{W<81SteK{adYWPEr!dyn209t*#b1eg_cR~@@by*B|2iR zs>L!dZOz9cQ-f%+irMv|a|?yCEo%OpU9mX4*ll{8lDNn5gV9|D3o#VL@s4-T@5*JamWRaq*40sl9FRs{jGz^2#O;5N# zVhOAlF<4$gGiO&{4$koFS44P5Gs35PW|BAF(kz5q5?==*bAShz5{*{%ml#Mv$3lF# znNd9L{Zp4EJsPVY?4g7FNT#5Xt|ccrG4e1BZm>}CD&R<6y1WTMw~DdK)aGQPrpS)F zzl}X%eP{F2E9(nAvh&;0a(xy1`V;GM$QEwpf-_Y|ZCbjFSG!BjYdf2F4Dl9NXca`c zu&YrmB`b++*lfjV4;?cw-8Ftk=tE$ zT{t<2SQ8;kzGIhlUyr*c3u%oqTv;?3p(H0LE{ihUIU2d;cE}`>uWXd;21K(%qgLzd4XKU`jH)RJ`(c^bv^e%;NWQW`29e+DUBLWAbJA& zevpB_AO1gH@=7|`mRJcJL&$DUmS=3ku@wB#fS?PntJ4UBt+Lm*omZMMT?k_H`0>M# zld@+^ajX4>QkCK3iiL$LTcETkY!saF@t>IIQ85k)CWzB)*2&$d@D#XTX1CdY> zWz2}|nl|+vWe?w zl%;nT{BAOc{UeU&5Z=wQI`x9epBJ`19j#|#6*MQ8%BgNZPG8ncR=NjS}0_pccdN9JYIlUnO68RmCO8GmOTU>N9!%*xqKM zb|H{mXB56TF+Ph$wk7JcG^hR7CoJhyL)R;fBO&bcz`3|vON6AIUP*_ zS;Tl_4zc-O%sT`?eV?&>>Jo%3uh<0pCWIeafHSVYw!v~@FJ|WQU0uTg%}HKarFK}< z$g4Ie@~c>kV!%)g-+8f%^#q)I)H43TUQlOO=#^(RUI|s4qHCI#;fTY1tB701#LXFD z$Pa9RV#*2dHdr`X2mgtJ6ADONu3np_{UBVWQ%egaIG*QuKeuB@-T5NYOC*eYYC(*l z%QkM}F{PU&7-8;tmtu31#aS+X5(9-DMRcrIAqhC%uu01WBDH$s$SJGJ>-eMH8norf zRa@IJbCawEjDNb29&0y3ds$PGti2H?`R+x@V;Q}+2SJCEW@TdSf&E#Z?+fKnQOq?_ zdfg38gvuT-sZ%YvzHzU0k@l{`6Jjt^^$(xX!}5XVUq!f;9_$VWt!5<@YjkEs!QR`5 z6b`UF%uABk_6%8h0qNrx`D$z!EPjcViKPu}Wby?)uXy$ut7=y~G~LzvQ|0SYDqEE+ z-0|1B?UUJAND8lCe|c4_=l(d#L9H?XW@G26r3wvA8}NOxNzl8bCnBkHDD5xp%e^mc z87%l?tG7mTd5|nma4&dRmzm6;us>ObA#_~ripk6Mb863tb_8iAO!_@rr-O-9u|lZK zv{o2U!;|v>$`GtZfq!`f-@&%G6*++{IF{S!b*kXuKP~|qO0czM$S%~Q4u|GmyYitB zQYesUcQN~6104BVshC3ys>*OYkw_x3cqx}3AqhQBMBy(KgY_C&KmujI?6IBKfZ#*J z9u4d1in3Mf{RfirkG|B;etbN7j_+WJ&HBA;*Ym(0lK9ntm*6bz;cE)4@$5G5L|F~0 zJH%@VyI0@Jz3tZgFE`R$g_93k9kHj;P#H?z^h8($8_AzPbq(yK<%(UECG(o)YI~w4 zaBtb^QLl3hUBG^Ucj1Oyu;zoKSib8v(9&d}&@nC`wn6d7!lp|j#jzguL}|QpqI4U5 z0<3rp{Pl6@6@^E8(~ff``QB{V(XG!x@rOGJTCx0j(lmW!Gx_(Tou~>u9uMdCCs)Dj zJ)P?^!GcSzYWsYeL3t5q6c|LowpXV3Ua|ANxF^HM&S-I8XXEARMjLTnNVBd3vAefV z_J(&U>(hIBC6N=7hi$kiSS4wUm@}N-s@9ErMb$*NphTLlU_@gyXik;j- zwKM6VEz`4H|6-+?AdY&{=+_1tB-dU$VH<&3@MN0PHAdyiy8x*;VZmuKNBH6Ssjvhjc{;RD#3u|2<=ag0SmTO33;c) z+2J^)m*`j%R*B$yPpEiAwxG>HipTHwg`Z1&cHv0Xs24m4A%2itjs-b)Z1VMY3nA={ z)22(73&Uq@TC})bzo>MPF7VD{!^iGXXHIw@ZGKN-d$r&W=TIY`$(i6@!Iap2Z=CK{ zh)bN+vc+lVwH>hq?1*#_p41<)hG$XkoY>sg4xuemTxBa)3nJHiY}3*T1d;uyi1uzA zTNbv3LZ6yN4!}RKKcayQZ3+II*JOJmnHjnJ<{w*+*pl-2(K!8j!|BHjCbVOaqz4o) z$LyV&+dGLN6EnCr4D0uk{uF=F)D8J7AIr=6T@_Wz(5r)y40oj|7g>63yyK z(II>GPofFP0|J$Y9@K=aKUK%4kj2F;GD7Mq1VZpr+i+7E#`{KOW(DuVjn7hDM#K{R zOrBq7a#Pk0M^OazaM-YmHb*t_8>vs4tKv`;kGo#Q|C>>n#{p{UWcPoB-(=6>v@{`u zF`uA7=_&C|bG|VmKjy!4U4mDz$_GLD_FM z4>$ny1E3%68LxBl1;8eLelFXAC9LpVPm#x0i$#dIGQ#4HCwr z{`jX7{%~qcJ3YvQX4dD@IY*DALE7<+F}I!22D}<32_w^NMqSA!#>J>X$%r=asx_oj<$B;iLRHQ|s(Cggii-EE*ORQx(fzi`t^ek)Ym_KPb z`o!+gK~a0-z~sqn~RDuei%kIdbrMb2P%2oTqW}M&21aN=?7Y#Q>1|Ilwv6?2Dv}oKDBs$i<#C~BvvWh zHm@73-&~T)=@s41K{PbR=W(`2LBTU#4F~!Mx0@RgHYhv3`bI1-jdK!^_4RaaYDS2l z>rExvf{~s7s$?SYJc#r<<2-8E(6C%c)F{x?rS$rSOC6yE}>BG+vv5OiNNn2xMODi-9F4arlwn4J_a+= zht+IduAH2dSDY5gAvHIZ7>50n z`)?+Hepd`D=6n51V;W*!mvM|Aj^X@K0FWRgxAZK&J_Gx?x#KdRk^=#Six9Ov4r?2Y z?jm%79CNdwM0Q8pu1_!Jjs{-(F??TFpMv+Z~bbrL0D1(GQ|;ydM5OTpOA4p=&tou910pZc{l_f zg+r+OVA!B@X|E@qRDbSsKh_k91_9OH)rK~j3vj3af9>k$BUzbLscjfNJ^tMn+j0Y0 zFPuP?S$qtB+9gl#btyfW8(b#mz5V_hua`UuU3%!udhb>3owC^J4Vqeg&T*OE3nP}z z8N2NZ!XWU)pUa15A@oT0bl56BN5EwGd|FB+JT8)flBS}_ltl~oA!vJ!rK zV|-kk8M9yGOUtQQeOdFHHHU{jWU== z7}QJ>!;VaP@XoIGK0+48%$3Z7YiG*gc9JH4J}T?S+~D_~h6l&0-7kZERe`Ph{9Qu$ zzjM@pFr%9?QmbSAz3@XX4<*`eM7$baf6`-$DsP+>dN3SpE!UlSKg=hyN%~D0%ZnUHJ+CQy%Ts%Nx>MQzH#p z%*E`-fQGuNz=`zQ2WRCGsDt}wPc%2%U0I=*?>=<*cCKcVNWe`nlwVhK58#-hKAt3# zY$A>PzW*N76_M%3(9+3Ft%rfgTNOv>1dZ>$Q%MPaCUZrJ-N^@)Ix3>F zK;JU?!J39{J|rUikUxpEv$6) zB#!=>M?>Rs$!qzDFS1ijusWJaU_|Fhz8f52z)*po|zq$Vd zd|ME{WLQI!B1Hw@_~~oNQ3TEk35cpI8`LCBW@YVRoFdYddVg$;Thcf}QK4KzX4|(- z{cS`xJO)P}DsaZNQNSHqCI&KN*qo6sB_ z+?tcHN_YOFsD*3MuxrFXYbs-)KMmNVA&qfefBc^*{!|7ttJuBxh4p`gIfa0-SWS`X z8BKB~{+{PrF9>f|Bn_3*DKSnI*;rYixeiq9QJM9dZ9>q1jB1m@PS22e6 znDSe?BO`gsL>F#d3c@!1lh0Si2Fd3yB)OHG2r_|luzpmMFI&y8=U)9dG83BE%*_3N zRJ~qnyF+l-+#&CG&b{~d%rmpQ zdv&dYwMPmJ}bY>x)8hY};y*);vDHErIX2y%` zKpgN6)QXfMM@sU8V5lg|oxa~MNt5a73I*?(O+=_?BeTTXh^&FL<^~w(ovXBDOb@R~ z$z`LH7WMxinGX^&o!99Opx=b@{|TZ_a1be`6}se3O!fdzv1Ehaa0c6Fjz%>bs}5s+ z8AZ&9a}ZZ{Hd6A%B%olA>2C?eB_}BSHkmM_sa8*>aQ#@UB%L6N-kJe{VXdr?n9jo& zQ1O_|zNGvXswVjt0%Bt4&F=d-sx~EnrVkAeJus*E@hnhLP%A>jkb3IONUPjm7cTd+ zWn=m;8=FEj3KZF#u>nsSs6YoZyeIY@eGJ)z+2xG{J9Pbopp7*;Q#PFpR1wte^;^tvSsrbbr5t z!;omZt1lh2(3=|PCw-F0Q{*zUpt&GvWdO;D3mlDAa$&N^$cMnqJ{~=aQM!tAtLwb= z{Msbq6umk{T==<8<0dkSDtI|yv|^3{E@cY3r4FRk;Bg!S=NS~Ktq?(gc6mRFpfv7w zbuyW#P9JAOL2*RK%OPeGll%T};0+Z3O@5l&$&4=ddA#3tpPDYvYFg-{5Ub9IB}X9` zpGl&rnPdyrm3$q##DDn5BkCt9$kRr(O7?$}R#z6t?GSyatS^%!gB-p$T@|oQ@ukBK zguRu0*Yg{f?hB`GPmjIa-zBK1!Q8pJ<_6uC&FB-Ar1`^?6dqY&ZykAvh<<6OSzK?> zXZW(CB0F1dzYa1j=|aVrQgkx?+GPi{>b58!ATWQei6eyi13}o>tA#+?qRwE&nKEi|um-k*8?iv5_7mC9U=$ouuIf5LIg|@$^ zt65!cd}yTsbyo4QVsz&PH0HyPrkLBJDRtoBk<*^PKj#6$`6KAc?y4Bo3H<6 zw(4*$YhT!`n*as^r`29 zKgN3H0b#T>sm^DB&aygu)$D}2uAXO_ii2$}JVNi6$sURiabFX+!e0s`m3mf%v$BEW zILtCSHI#ajJayG7F@5I#{Jy1|A(vdnwp?=pWfQ`_b6GFt8Zn1~wp&mS#+p4*h_3R& zR9SeRvTo=ai3t(p;5*^Om08vOKT(lwN_25ys_3^XWt+p1vPCZ0#C?)RHsw$5 zs6sto{3phh94s6vVAKgM2U+5#5U)z%gT8*eC;>22)?v|Jbk$+4*wV|Y7~}0WuB=6w zwZKv=*{V+qmIMb_=Wwxb$T}d|lDYmCba6B%b`>>rQEQF!WSPG>*n^2yyvJk%ij+^8 zxKc5D?SE}pBX9Pa;snJCvCH9Ku)K@}`90C1Lzwd@u zN#7H1K)n=Nmo3pxQAbB)@qCxH)gvQ``7hyQW0CqXr@RCG|DgK@6Cj9O{sEP#zU&!c z+u(J&xzv2V)V14G(YKzKejsp^Y%u76trRAQ7}!b!l1L&_sau&8EW^krc=Ae{Ls@W22KG}a|##ey4%D=gs7V}H=L6(PMF=X@+G$> zhcTA3lYb<nR)+B88HX#cnb{d^C& zy2B2Z+A!!PL3uOuVgWf1Ab!-G#Zp_TYjt2|ixfPzuH4?IZzpU;=iWLF*T5ViGgRmR zR^$Lp9il(xAGQ|gKnn67>`h_)+kgO~WoV8(byAElvE3~LGya(V^SmD1F8(%64=jhX z>JU2g&uK!K`~KBa78r&+2(NFDX&ooBy9d2df}y}a2n9^098Z)!@{Kz_XoN0S$#xS2 z{jbk%hU^vM-qs}>S=}B_&=r$=Keo`T`1bAku10V{R)I%)x0l1 zlZ$2Z2RyNwj>y8w1V{W1Eyl ztw9@m471l?6p>%QwQ8z={4$~WhG7ZEPd*fScH7;t zL?Q1c`S_uur%)XM(+tj7P}Q(#Pf|I$23q}UszLZvGglaZF%-(KL`*;jziC&ZzW_<2 z-KkCvrEGUh0RVlv7FxAr)KK=Of2{f79SN#!9lfw#M2SJa_ZLLv$7p4h9AmXQnk(hg z(WF+JCq?~&QuK`y3y`QdwbyV)w0|tHiMu@| zU{)=c6=c>*L!YAtVORx`h6-)w1^J{{Y>@-SDK||}R-El68c;Epw1dRY1!5Oy&39_s` z+er(h$?*R|Ya~ehqQD6i|4aaYzOFzt*4CP<*_QaF{&v@PjHOcRJCi%LHKN4b=E;<8!U)CF?f>>lX%fFeGbZdNbKjNO>q z2W7|vVl9nSEef PdiJFO>ah4%VObn=~GgoezHf23yw~Tun{}>P_NIKH479I(=R>_Cm zU52!jqZPvR4=Ql=^%utOk$oB&U?`Uyc8XaDyWeafKAF=>Ef4g2h(r2d^5gtdHpE8A zUokC{bfk-;;?2;h{a$PilpXSexI*X?Ty8_zpOGewp)AV)NUzn@=;v*7I%@Wk&8V-d zB0ZUXuoolGH`UrT5qi4B++bb@(xCz!muHOwAqs7B6l6ne_`R&BR!VM3FwQ-39b16 z?xDe$Ig{^oq;~tnmIts-iFx_c_{Ur%!N<5sAd)wr?E*kVqE=gJ6 zT{%jfH&V+HkCr*-L><5?8yFdF;P!~TkZH9>CH$%N*K=!Oc!wl)_J@ihx5$6Q?}Vg_ zEZh0=oB98cVJ*Thzhy_~%FQ;5$+WK0omTgY>o&AQ6I(0n*bkbvID)`YnNt#j=mOMz z8#d#_KE|SX(boGxso26Fauy!I`)MaLF^#)&$}@>@-KzP?XVUAiSAn~%mHso22oy$l zGv%OYy!j~m2hKD19ImGJlJBZ*PMI_#{mwORw8Yh!gMGAV`$7VLnY9IscGHq9rXxy% z!Y?8f`P$HG3iAOmdO`J^(4}CVGA4`0kt}iu=+_g6m&;A6slbHG%=UcVI!PJ~- zWs=$BogVw_BxK0oZK4V}{u`){1L@_a5$3r>@-x|V1rPuNC>7 zWE}0u+~@Q|yEP+Kn~$Mo2A~Wd$bFkx!9r!jo=-xRRT7e7kl=|&ns7G!OB8TADnCwP z5Z?7)UMd4eWwwg`H{$;-TZ6E^LfUR9;}NwRGhPs^CH+j9o` zSYCqM8yR=@1kb|yDFTnJp1sfk5&K4!cXj3`WW)Y1|B;K_WG50eXS(*V^c&r>1=^{V zN3NSq*1H7@XEO~V(n&nj!}y^(4yY0DcS8WYh}DSx>1tojh;1C41^9@!$L-Sfdl+e7(g^za1z=`N^V!7_;Pr7+i#p-}QA2__v*&sT+Cg%Se<~5OKHJPYcBZU2R$1-D}oK~ zVnCNFQLVOkb_$W7{rCS%6(^m6qp}GZhODy-AD6vw*#wyrFnVH{8*+0 zL4mJA{fGc+7KqQkGYswZQCCj{4AxW4CGoh2pD$?4X?Br=!o8V!+fFqdKD~f6mu#&i ztPi6PSbC^+_oU>ve43E&p?N(xy|~p^z9dLsOj3uQ!@0h19&oCnfNVwbsQjM|8`Nbe z*-jOF){n4+5K9dDuQHtdy)<@RUb;yv>d65AI+f4e98zJwC21#Uc|=E{y5# zq4p6{n;W`ig36Q-RHT>6!=`^MgrTPL$5%FA_;3M*VH$-YyiNmho+;l$w>vf*a+iTG z*mC98sv<;FG4w?_UWs;W-6C~y^+qk|WY(MOAIQ+oI{K9eMc6a3nWnc+4e6o` zydRDEj3kTulNKu5{+~J2+o3^y8k2V`ovI^0d7br8`t!7^GAP}(y99a_k;1x zrT0AaK?t9rT%x-C)msQH=&PKZ(Jxmt{~9A_wx;TXCc;tez5>qPiE30(VKz)YQJ4^j zRzW?5jbk!&J_@XntRBg2(|T%X=e+x7kn`a>LGSBesmj4#54q0yWl zG`!Q*rC=K&quulGmV)3rHI>P;cZUYU-7Nw2kQw+VI$spabU84TGySRMGc>l3DZ&NR zQ*Oz%*SpCnN9u>7Z);@Ja!q$RIAwt-RfjkFY~xINYT~$EE5gbbF%FIMfL|GXad{F4 zcmKOUa_PnwdCAR&6-*(WXy2(A?Ta?oKR(Gv=nwr<@-=hy@M7r>1Ep;*wQkzDM?Np- zwcfeT_ffVqzBXxW4+m00n20plr`y&*+_fI3vyY}E8HNH&$;Y+c|HK%84+$yC;e$`u zmDS*(wUn_)6GsqMxJ1Lo7kJ6KL<80O71+O3zO%%7K|;b#d@j7&Oe3C6`JRmBn<7?W z|KWPMKg7%38oop&;aYBKV+f~42oNwWAxp`$B|0*&tRt-)8@htHyHpflLWtjfE+H83 z%BYt&Y~G0f^Bcee66%PVbx2Zd?fgJ7R}J0q&|epV%k?|zAuAM$H%TzJ`!sUxL8sh8 zK0VcF_`QK;-*od$At?-j|Km;PX6t29fujoE1Ty@!G$Vzg-bV!AKG8_~%#Tduuf;&- zxpJXWM39abmyBqHe{~0ECllN-&Hj`ko8?tV%zSF%j@{x8c2#LNRYIw}R%kLg^kx6t zL$yTYE-`$x{I@z1+VsFnU(2n!i7_IaQP{DicV@ zZgdJ?xnAd78}!reXNeS99A?+oBhy=>AD9C0;lP;?}7``SO>*-%hk*5xy<7p9$Zte zO$-5|x3&peR>+$>l>Mvc^+vx$i#Ai3fN8NxzXT9&xm?BTW@XUhuZl-lDS2kZ8G7Gk z;{RVzWw1e!9Or0(`v>CdzHMN8DPZOQ?9+?5{OU0Pb{~9yItQx17pv5vAlY!uL#$#sA6YfLy|-1K7qZ=bC6|icz5<=O zN%J0$hyXz-pP-FLS(9&b#@*+ftO9^MetIbrZnaNGN`p2NlLb04~i#WeK&1&SnWc;Ij+x}QnZ zm%T@4P?m@-7~wmE>=7|WrAyI(|MRCN(OBt5!FgUd!tW&v#;qQIY7Z&>t6S^F9+nrr#MSNYI$S z(zzyPPW&s_>32i)>w^`}dt^ExK)JTjHb1~l_quU*e3Z|;)R_#E;guTKa!9hU#+vO@ zd7rT#KtDiv{o&r%+*2lWJmW&Q;jjV;rhZ;i8=vnejQcDK1Mu%UN5u-&rKN&Tp|C{;NAx>$_&0;R=x>X|B6Ny z-j~bCUpzK)TyeSrY!-(NXH3rP;6kH~T%wU2&mJ$(>1v=0KaJ$vwJt>U4xaaXZB>DP z?~%eR40$}qXxON2?BD8A1GxA6W)qqC|LIcj6L|xmppJBSLFd|6jzYTROw?Vi4#@Q$*u7Pswd?e)3H9< zBw98XBk3eqs-c0fd@l_p`8?VCxOip++sr68#THRQy{p}JPLPadBYlZhZ!3i$I=Kv_ z6r&5^JDcHoc?oQ73PtpMWi=u_xp16q(=ed4ZR+NeAR64=m^R>#Z4n6a8!bxB(n-Zo z>M)V%20jDavg!~S({~v-x8yh|)yXu|_?I+&e3&y@6`dR zAMt60n?HWPzEf0a1$h6M+lLS!nXxWXx+Jd_%Vf*yqidBaD z00P$)hoD{Zi><_Xx8=Kjpn&oaVEMD@D#-w}{O<8_ZlYZZd_>d$xB6^zWLeZjH}+}!pYVGT2p8+l z{!O9nt6x4`*$A-L=MzEsSOux{U__B7Q+^z~y~~%3oX+nAo8;c6%@89}n;NC#)3BfC z3aKG@kWuvdVt%Agy)vF)_?Sc-SVj4fl4jp4^&(GXc6EJcEH1F#Xq3mT zatRTS7AGtj4g{k6tG z#j!3^fqwQapceuwbz_Gch=Q|SJE7*o=tCVO6t6rkgrR)vgMXPxb3*CT%Q?~X zMcHHfg9}$l%7&4T&+hEY$=|U4@tR^p(*}B|c8AJ3`uuk7mVC{+w72MkxRpORz}5S| zmGOt&jfyHgHNPpSNi()pD)%2567h(1SYz{_M`Mk1J)V6Oy|2@>SIg`7H>v@#vaGa> zrtirDd@NXDbL~KapSgLw(v`kca8;0m5CP(6pP@%8Fp_cNLlL#HUg$XM6BZN{mTtzj zc+R}ilKFBFMpzW*CRDBG(lnY_5@^y#`@;?6g1op@h|C@`yI`X$)ElxZD~yfnuG`&9 zH7(~yYCK@U1LhugR$WW}Qo1T)!l5qw@bxH@PxR7+_pPoj?s%Lye>mis0U>^WV~{ZY zn-JXiashC0Nqecl`(U^{qN^uqTD=}!2l;f{-t7)M*c44i)UZs|3A5({%@=>!gM&W3 zY}pRePzF;r5H_g$mvSVQ*Q#Xn3}?t~%6OCe`>r^b4xbSVjDSMLy3RnI1{MOEkDoB z%7K|QH>*6y&OXb*%CW$~>d!q5lX8>^;bLDE>UGl?w;83^Mqkpv&HKyXd2M6YQk!qt zJNxK<&GGG*Z=2=!q@dkDrH`+AI2yQ|D*N9&0Zg=|YirsWt7{pV-n=?%!XMh&c-Jz< zNJv{OE9>}Zv_)Krn4Ev@@_K-fM1a5G9_ER>0%8WxWn@ zck|cs`cWN|C|=n~|7MMC)lTpp2>qyXJ63ogSLbozyB{2s|M%MzwjLJ7LX-Ix;UARA zc!VBz&yP^Nt_|(0eDQ$QOkyOv?`B+sojBI5UQb~#@*>aD$L7)oNY)JH1yMB~XkMgn005VYu_mJLPnUx2=`ZW z2GsTq_ZyOgqs-@|_z)B4VBfUbBlMKhc3>)tywsN^F_pceA4L(3gmhHvp5@h7%I+19 z4aMzPy6LwswtZzgwlvQh`qH$6PLT}mWZV9q+!=DLb;ES>G3NrsXko@nU)nnh98g;O zezwrx9gQU?@4U>55dGemasINwwDCQBtDD+eIKW86`$gqTp+)trwt1;8|N1qm8?vZ)@AeNkI#4(>vhH8h;|dVG4jR0d&0n$xrIQ z?ukfCV+U7xZ(ibpqv=bf?=hFWxS8w_Nva#6`$DNd|K=K4#l8MWU@vJ&3c}kz@HzVJ zGo=*LCoZBiIgsjQIiA$Nd(A8^NJK=3eSzdk22*Aq_C|{yn4=Spe0EDQd#_w5I#I^Natc`Rm#-N36-#)tcML6FqG#!`^~d#H-Jx?p%OqvcgdskEUFJh9ONt1e&1 zYPVdi9;Zyvv_hTy(0`f$mPN7~$1*VmL>pjrU9(o|5#E|s4@Gz}C)np>+WVYuY&@7N zc+6S!e)X5`8NJiB4}d~3_nEdteOxrFo=?%DdK|2i6}_S9=jkYV)qL6)&{}amZe|%F zCJ4S944Kya-{|zX)tu!`M;y8SH<>0MRg){UJvRsM(_=6-TWyj}`2ecl1h_l&MC9Ub z$z0^(LzL6Xw)Hf%HqoZVTdN(>niK0$o6NL3tIJHu?qdi!wJ(1PK_D}=UAeQ#-n_&>J+Y+>35Zy^{Y15M z0*puB6-tc56@6hO)y@>{p?i4Q{ic%q%O`?yc59tg)nJ_m#wbhy$YpSH#n9 z_1(w4ySn5O&n^R**=EsI*%ZItH?~eMSn+C3s+?|laL0C$f9woqq|;;L zTMf;{R3951=dLiM?gyo^b?7~urXb5--n(2|Id%j#*U0+tgGC~$Ke(@jaBJy=f;NJc z8h*mWSsk+@PHH4a#v0Sy#NkZ4K5F)ykyS%YE%Tvj!yQ%+uKn_h+S~xxS!;*$&*F9E z=7no=tzunV0!s!Y9CJ4%pF{=Ws&hWETY8h|>ySS8_W~3?1f(mNZxEshb5P=_L=9Qm zV>xhN8WzN^(R>*dwYQ}3+@ zd}UT^Lv~SXA?etRG$TaS&@vqqcLjen{T?5T^}v$bTYC~ zysWZkX?v!9KhQC1KM@;#H9M>E$~C>(F;}{VR~7Dg*{EnLU~u)XyV1%|P(G9AQyKsx zur`6^6`9R}k0sPY^w!%-n*TLU#XL~UUkqHF^5Y}1Gss}% zh1uwGBT-Y8+et5)U(|wQD{S0jo|jBteiikeb5HiI?H`x>btNgGk)CJp8K#!iE=y9& zjV95Lv5I-IDiIu5i+8F1>$6jCos`rXvXy5zyN9Q{?}#gXnpNj_+#k0b>4@wob1M*2 z2#B7WTQVX9=={3R>sr#tq@UPxzxh`2f6fAU7qVUekLA@RdX(7xUTf|mRX!~-yze6N zAF8Vx!p|N_Q>LYtQkugITdkGN+_ikb+|KyKtFA9qPBg=aPAQ?f`l1& zzA&oofX?5jIZ?I>v7axlfzTq-x5z3lHZS+I=nJu4LD^SZ%+*a^VgvFjT(}IotKdC5 z$y!&`V{pT&tYO^0gy7c0TE;f?Y=6}vMJIj9YBHXt5@1vl8EA1&UFlDE$lLmwx!b?Y z2Zf+2z2F!A*2aSuVcPO{Udrj0;Gn&Pt@Q|5NBwoadkCZUtGRNIZzcu@b`R}sK zL(AB^pVk87pT+9Ry*p^%FLZ+G^_L*KZI|RBln5g7gzLBp4Qt&5;DHX+eKxL1GRb5H zgbJLwpPaIsRu6%xdx-#SQ6}%3Xx@XXI)TZOo2yZR3#8xyVsr}-_&hgSyZ6oEkLH{( zMygmkC8a6<9rrQx`q{62V#%3qX5Kzrf8>8C=6mW&_|=#MfzSm6APH<=OI~I3R!+|* zzCaD@(lnxjE8ip1**96nfr?a>JooEOTUZ-In{ba0u?bb(Y)l@{6dE&TAT;^w=%6nx zrsbQ?eyrY{U`r3|LV9HAj%F_n=zEV;IDp6S>QNjSQOD#97GTqAuO1b!8EsixtPq%! z@m^QBu>h=YQeNyh?ktOe~Xb($C)2I610z z)?VaZiidSo3FMidWq1IW1U^w*;XQ(ax@cJ0;;e``ufuFE$wO_ zoubRpm$w_&PwJ~%I_lvb5E$L1!m_iH3S&D)$*o=r0qYY7B7Sg%I$D65KJViK_cp zIAEuMK=M0+Y!xos%7n&}{mhEgA6osasHj|Z@5kVP^#|k+ZLZjqkai(zl1KLa0wF2# zpcS8Y%Gihp&x1t65NRWYOGPE|b)8qGqUNsl2M_v5tS9}Dr@2)e5*rll?7DMgF2V9B zAp5HHlAUyt56Jnndi0fS^9<44FH-dRVs22SW0eFrh%^cDjnMBi$-mZD9LO!wiy0hy zk8a@$5S6!Y#(dK3q^t0Z?U2v1NTfv8sD9qEvj%-uT?|?`w=x5%+c?P=>4jlkjFe2nW?%P#&?dS_aWPU%YSlXx~Pk-k-ym-pP= zCw%B8SZ!^V7CVi;<*?3=zDe6vCG3a~`r=?GtLNpOas%#1RmiGaliX=Pq14URk-aC$ z)z(Wh>4bty)PWQ^Zkx62dq!FBkv`NBH{Hiows+^?q zx}{-#_B(ceKK^gNp3Y^jAc}0DoOz#_z!;~xJj0kdBnyfUw$t7v=Et65yLTDdD%_=T zAQwsuxwUaf<8?aqY*LyabM!$~suMTfM`tgvJO%>qCM_b0*?;6bF5S4Yy-s|&>LZ#|4hS4WT-PBMvaN8Uc`;V z)LzfPa^BH1H8Y#aTrSTbUX))T33v_PiBY@BCC7>7N%{kU>*R?C` z6%9UE>fh&UML$mmqB1eNF5h|YC8 z2Af1EXTmE75IpW&*cAD|8U6t)}-FS_&9_TMAu*_|#b44YhOmxu;7dZIz;@VUYx zb^Anf>Auk?Ri0so3fEE*rYlD^Ke zmi7Q38yRW+y}Q8?1R_NGy~s?~G^dj6Vnu9-Hi-|x6{|z4&nf>-%$Xt07E;Pb@YD+K zES8RbfLpFUItC*L`(bk^PRKGuB3#djrSCUS=P(d+%tHZMJkBsg36mWV(groa=6@F? z$gZv#9p2?G^X@dEKM(>x-)gV*sBc&YoL%1oh7PbC^$A<6&L~QwfD4^e|L1#>QLE&$ z`^~R4Qt`f7JSDQn9=aV1+Vwu$=uv_;n`_at?NPxpnJL_lbS%?F9;!6+NSu87$48{P zGqQ9@TIMb5_fJtEnO(w|MSma;VDE8({|#I+?DcFaE-yTOmX$#GlykcJZi7?{0DeCZ z_oEt*AP(UC_dQhb_tFmJB-$cYO~ku=Kz8}fGnJBEH%>!IWKt@+%eFDKj1))>6^nlW;uV7h(KfmCRF^6Etc@M3id6P^G4 ztqIduzr4{*7g;D0k|lsBVE&P8YO^a1T?Q)a^>hdgylRnt*do8xNhq27!+wdcAFz>b zegR^SC!kF?`VttUO@3z}X-q<`76JU`B+Vs5{}hD~SDg?T+s#ga!q3|9K)a#_6)DBFgWTWRuFVNJj#;Uv0pASh}sC zTDbm{pgD%sc|x!qEVzqAEy!r2~%Dy<=CfPX>TZPYT~Y7 zlD5o}y2@a=M2@M;8j9t3EeXOubVW}lYoX4yS}U+uip0;W{JI!NJ2I&1+Osq?;0D=s z%GRqBa}|$|)`O+N$yx)3jE4te_HPW!QAxMBn$4XxJHmWaq1e)i3IRw1X#}$>XHqB< zT^H-J6TEvD-)l(%_;ji=mpE24q$x3yt|Cuxk+X`6x$N573Uhv;e<{m^V4Li=V-0c%*$}8VRw;IvBBlVZ08Fb-o()N1d zJz9&jw2i+{`dJ0m4!bXgyb9uQ?D)3$&9(PE&?W2yA6Pb5!k(s4PZpYaXO zlQPR!IE9_d9R^FUl`Xl*GLwKYyQBi5&oN#xmJhzbnt|&e9IX$t2 z_q*<_prh*kboaLS-WL1HUsoO0G2BI|FVB3QVKjK7W?%6nW8C$%o3Ol@_*9o3p6VEf zEH4dJ&LM@CJl9>mfDgb*kgs^KoT=i8;bBGPbaxBdI5s|zYq-fZ(?9sTa`&G`p+l6$j!u|ARDo;tc_uG$fweqK&x|*DY)cg!j zIpGWRMj33%dqT@B+K>7dg+?S@jzw?IJIzXjD4r`j;Q6imGH_}i)I4J|=5IPt$SGJp zQ2H(LRt|xZ(#&g(bMzG)cBI*ioW6~QpqR*Z8hUtzZ71s3gupbl zVpO!hp}99($|=_Au+PFrw^-UJ&PLwHelkafq$<6>c5(jcdz&p}OP>}ut#AvzUt^(> zG0Thrl4`dv#1ov4uA(Fxb=jG6Ngs!=$K@sokHv-t-Fh628C%}?>dSatkM%UNcy2GN zi}A+x+F))f!M$x*?V@ySXKBiyo5W<4B?SwGR7P(tHtG^ ziA!NwW$I?QAMI%%Rt#7@HUxrn=e>kgb>L>%$4|L;9|JD(K!sd?vlemODY;rED1ua5 zn4DHtnVBurv#GQ&jT5VElB)=$b!p?x(8+4|oSocg*sq|iGBL$n^Cq0gLbk5yjK(f( zlS7iFAL~3HoRAk#)zwv*S;WWP-O5@W*l^vRyZ{<>&^A6!Q`^Jcckw=q)qM~TT+7c& z0kt^2rJ`=9jTrxKsm`x7S!-x}K@aYkOx5gxT3a1JL`J|_7GMGv)!#>krq^D_drCy( zC*eE%sXX}0n@u;dQiKZH3CC6gTi1Q(GU;xWiQhNt^T06+#)BBUb1+Q?stvh;Ppmwv z(?SEis0EBfb=ubo6|j@*1q{9mNS-%M?*R1o90SX#zQ zEr@(MK z6O9ddZE*hq6R8h?@F!Zi1ca)fk<)(Bk~o|oPB7vF1pfUwdL37hDu2F?fVT~>xxpda za&n7Q^bd(p`OF~#Ud)O{Al1QqN zAcs8(BiplIKjQ{y>&%t@b`!`{TG_sOYM~|2v`mD+sNi;MYdcGm@LdamAm$cc8S5Kz zU)^MCHx>SVKeRG&R7D1X`X%3dz1G);9bD8Vsk_#j zAD*%;W0~ly%F5!?WKe6@59B;sNs=1})(_-b$sr-@ zvy^IaM*@Fq_|*TY`<-wir%=*k<)$B(u0j71*LcT}mugw<{`+dVg9F7SD;>#HOt?!C zDp6T(HT@u?7KJ?4$6ExaoJ+ID;tAX#*l#OD55st$3Jwfwq7MOPCva`QTS&L900C`o z!j&0soC?zQvZr|K$)xaA#5uIbN)!tBnR!r7p`u??O9)M-T6Ugxvls#mMN*UH^}ZvW zc5<&xxrx%eJs%3L@!Qss=zo)$!gJJgyuu{aZv-B$)!rhFwNvPW4?(NBsJ9NaI8JjG zHTzba()i0OWFSaKt3K^5E6d5?`msO&~*Zu133Z=qTmki@AhK0|BHU`o9?bCc+CT!3Q6b9 zs3tN^LrEqwd0lZ^1EZp7J$7P#eb#Z8x!0dhN=nm6S?~3X&Kb-9A?zW{zBNU)qx?ZO zjHd$f@U(C~-qAgb)iTuv=S+e`vm#8HRwi`MskHEi%icl)lZLmk5_SDR34F~Tf`{_- zz)ds)m~ujbx+APXH(O6GZ^!D0MCRw|^P{|q@scFGnKMQ%#zcZFCrx4z(JI+smpp?s z$kYB%3V`|RO1L1E1Gnz{mjM0egQ}v#7a!dlA{lM5&xzMZN#8Yd6*D}y8F99OJw629sYuM1)NZ-y}}1Dp8RF{|2Xa zC`v1&{7SLL#!TTZHI@3wzScOx&z`z1liE-lZFC-k~&j zwvF4@%S3a0YdW+8`TF!Ysq-Uk1R@PM(9*J>($o3u2d@2)9UIn=8+Z1gAFOd#BkPmL z#Uy~sm9|BTi*xDyb9+trxt9O+&CFkX=9t3pz%)hvBigK;kE`bN(cgO=9;&0er4P^H z?da}oDr$5O#-Ueji&=bZ3=iYYlHQ?rDDbG`t9#eM1rU%`Tl>I?OY5IEh z<6p;z4+>ETL9X1~=O=pkgimH;-(RFD24L1)$2K8r;A}Khj9$Bz%sU5b`kv03C8tv4 zq9cz9cMi@^k8)X%`dIu;cCvB<)c99CoqErD*yU{Ugn4f%xC96*P$UY>@>T?1l01*6 zv_j3l{q+lcf;}>a;1Qh?iK6_{t^_I_?;TRxqTQQB;qj+)c%sXjOW@7dndcO-$v@wAzPpLEWeDZE zTc(T%q3O0BlNqbjk)xhtAIYC|G|``^{_xNBVmQ z1BQE{hO_wMKxZs+_5ve3DfuJih@>Ayx;lkF#Ou}32zmg>+FE`8PqNGcZh`9#9C+^zIMmIyQoTnsj{7jYix>wmAsacfCFEt z&PY!F57m9i02tn~W`AOPSWU>fA{sTuV52vurQHw`WMA%Gts5nT#t`D-8puS%rbMn( z`wQh5{$Qv1{Bl?Hch#M$tWBl;NhZfvTY%GLYD^?lU#*H?gW~0(Gz0|^`QylM1A_ru zUz1*+M{TFn#;K}q{|=ioL)1sybXM!SJZE&xs|8$dNGJNAyh(i$eDT}AU~axm(F1} z`zXhi|M_74{B4w4A#0pK;fHQfzGETpI1h&5UA)s2o9JXWM!lxy!9yiL>z0ASiX*RaM58Wze1VR zj-zRL)$SIh*DSgF9ZgrH$KE-c^*Q{G1USTEBDWMgfATo%DInpEKi>uV5!J~rs`JNjkLa@5I%(z&1l^3!5!b8PUC4{+HMnPckAC)2v(kPr|{qlF> z0JhaiPD}uaQHgpnG$=>T&<~|Zax1wcQy1ZdXA@-@Q}JzES-Pnp&B9VHR_JZ$EHA};o=*lYV|K8t4;5kWwWadD4IOH_l42-Jyk-r6;k zWI%o%qM==6%s;lYysECg}9MgDTv{=Aq! zC0zDZ<6!I0aLe`;%$gdj5N;u#fcJEIWItsA*+b*Wrn+|PCs;X^Na*DsEsR!MLRk#p zah*sCsHz%y^XyKc47V{K@=l zf^%FjbY92d>bc+GV5<6v>opf$aSrZM-H;Z18j_5QL6JqAW`H&5c)gy&T~1UAEtoH! zFVL3L#Y1!UL~uIib-=7$@I)Mru>7xG-9IY|BCH0(I6G{W98h8ImO(_Yx8SeMikQ&)4%+m_g-3k7fFmZ>{DecF@`H_<-Qq~XQ!eb)eZp#yY@Vnl zL(jvmd>r4I94ftBk~rKN#lF zr@O0q*REZ4*6=$23=szs&7bw@nQ@QZ1Zmn1T}RBJxhF3IV^S=d?sB?;S?^&56`2YM z(kB)7&ftR`*MdSy;YV`P7jQfx8}AhM?4sdGS?kD0Nn4q`?s@&8;Lv8&>lFZ zR6pX;%+ey<+VQTYjP3sw=WaoDQ952*IzG9wPRam-L)gFLi# zwm?#l?E7QV@p@o;o_i7$QqB60e%jJcY3q7-=AYk6V9AIle1Zvk^;s;<&L`{0WCBG| zjnkR<-%yN`C6xEHPf^xF*nP8Wco{ypp@gnOYHlRV=0<-G7Z&i0tg9B24=??+*!HFB z)z$BF@F3NN3|48qn=lW^}7MI8*UQs-d;6yCBr%?%J*!ditl26g6Bl6ziVG~ z_n>Hp6bKphfff~AmtQi6v|XSI@PJL+x)qG+{*>VK-a5Y)+I=DCbWgA%VZ%XHojlm*9x%FFwC>LL0t=h zm8jEBp^XlqEWXV)t{Qm%*8TpzRV^2Q2lVhxaVbDRvU7EpRAkzBb5Hh? zvrjwJPb|2P09Y8@TMqh`t)t`+f-IslRt{Q-?{>9Lp~XdotfKv2YKnBrD`+a zf4Lt!0yZ4Hygxt07;OaX&UB?r{nP)Cypln*1a0Q9x|`?VajgTOx=qf9hH* zkCuU0gV$sMzz0ZDq)&`gPm(|cbv7zKP6^%qNT~Sk>22hgP5}NZsiUP<5cm83xwMup zF^DKo5Qk{@^GZr24C7JeyV%-Nlgo#1Sd<{d;zA6VNdUbpwWOr+Wgm_243idCptv$> zPt4;X*3e^r&+cH?rA1ziZ8oeWHZfrX4f+D_pa!9nxDm=0NYNuppm|lGAF%_Rkv`Iv zkE@bGRRDM*f=ja*FIoglEd0u)QKBGep> z4(uJ9q5WyT3+3DAPj11Wr2Z8`f|2fo!NUG~LhFywf{gOg?QKVyDc?)gQ8+2(wU2j~ z*VY8Eq}y;-uM^d-F0TEV{>%{AT;DaP;j`a-%y40D=16gSrJ5u}gcovW z=kt!fCxW!V5@-rWOpumIq%H>&4fh9cuIPm=`JY~9c3Zl+;?`GIPGC71`b+O4$)Nz4 zOO4m7W>m`y@7J9t9{DIVUK|lTD1A94ln%;5PaGh3#023I2GUdib4j86GTi0~7lKQ2 zYXg&JFyQ&JE~MYDwR#2;8L&gBC|)0UAsx!P?rcTwCxf0VvVxlPvpxq}B__HNY`J-M zvKb5qX&@_I1+M++MdKeKajye056)qK2K!@kvh)H=3@h@hyc(U~uB+h-ec-em|JZhc z(enyJC;+gFVD;)DaeM=?S(8st%pV=iNXE>a8es;Xnhz#}DGs7y8>pY}jqYLz5srZa zi|5U%P+aaGHxe&|G9}p99SS2dyMrKi5zU@}^@gPn_sp|8wd+&M1%Huipwf+I4 zEL{?OJKc`Kl5g{#)W0E-i2>4yFZkbc=PO2*9{&U|JqQ241&oRMD~R`g$!G`3z(6O<$(CKxzV%lmadUS@b4osic}b|)r|BGc4;(1{ zs(vd~0ip@*gCtO107DGIZRBVWXUw*dyd_2?4=KJtz`{Mi3e_Qa^h(C8JNubP4%AIl z&kQF*6bfb)@x#Tpzh{ea*up?eyC%69V=mkm?o%I2GobnMqqhVw|7QQXSBFNp7hA)Gk3@41y75cUc1!C-UoH@!idk61_PM?65tNf+%1oJ?s}< zKor${Fl1*FN|Y_9k&Cy4V1I;HNQVDdJ-#(14wN@_`M0gZ7{HY~DES9cvO$5D6&2*a zA5FHk#WHUD6qT#xQVI2b$qrGM6LeO!clYiHG(_mm!sF1>BEZ2eqsIaq9bW7o?~wtz zAMf)gToVI=`FZKT9RP}y^!Zr%1nEdPU?(ERUGV6rbvvE`W!tWpNeG(RvP|-e^B(J+ zExk_wmy&?`@(|3~p7%N*e6e#2^Z4&IzUet8mDV#_3-KjFOYe=G^U(*1v2dj)H_aNu zL7r`qusvf&H_bB|=m-xi(B@oR%xey2r25U>F>-d@l5~fw4(g>i9xWo`s;Ld%4RE% zt5!%V@8Oc?O#Seu2LPM5cV2>s9h~wpdcg>R|56U|HRaKxotk2r>nY3?T7+4X1A&nx z3Y~~tz||?TkR9^(J*YNUzVB;l6EQ_*qIoFs%gB7!3}Er(DW%ioV}Wf|GtHh@#+fr| z4c`ZWr1M#C-fk`dsx4!SUg!D(F=jCX8`z zrd-VB6L=`SZ-@>Kw|2f&=2x?G6sQ!lW5yCmG}F$F+1MN9yVN(BYNyn4PAXadD^p^J zwc1cl`ndkU=lW4D2wm(P4UA1$#76aX@UfLQWqk!4e;RyE(BkE{bKo0rcInnLKv@K_ zYNohDz5)*<(o2- z#!^{W`1Z$6o;TpsO>elQrgRMF1UT$MmM#%jve;z3PDUbXI6DtuA$#UZ_)O1-zjc0q z0aezkLdWRS&MvJ}amsK)_yZdNc&(fL*89O!?P%>$!UqQ%ppIPlaKgfqnw3Y0)Y@3C z=S#vy*9-g)1H%55mg`adE72Qb9c#)&8HjT~__i9LX)ym7mD|+?jnw!q0=!HLNJ1BsTOu}ygq=z#Vj3WT zi53xrAb{Rohma;)9o}!7AwuuVO7?+Fwl=r*v`c#jE~`Na?EaP6f=W+F6g0HdP5+M8 zThI?K8t-};dg@|=dVQwI7U!fOjZW0_eNFiZxLGz@mnbe0LP7onO*83Y@*E)3ahV|) zSP}(`+yU@!(oUiP@j4GnHlM76+510JddR!pP8dbfo5*&UA?U=&%}U{iVQ|Ew)$mW7j_b3O$Ii(uI6= zm^7dps-wMJRcc#YOazxVX=Pa7^ns4~j8|o;x};c<*eed?Oh7pe5x=9UrO5ujL4K7h zq%9n%OwefuDDXvE2x0my%0W9%yh6>ubMvH>i5T-ahT01%;;r5Ti5^&?((yzp5Jm(+ z*P#3<3FR<1Vry)D**UM=vd9dA?0aEJYl@`L9c17YcX| zceK9qUz_{xW6H6lNCA$2>d|Cgbwx@E9F-0s|I-6{QTKgqvM}JiegV-rpWal%Av9O#_lOUB+gdYisLYRah{RjsnwDdWr z(T50b619NfR(D%5I>kVhVjPwXVnM7R1n5r9DL(i8OzkjyxP&7Wg{%4iCALN){j9H2 z-AvmliM<|#Yvcc0-3S3tTxzi@PcTAg3woTF!KahP-{lq=I8euwS7;{L(;|8avR=^k z4+rwY5x+@pWbiR|d#*zAA;lSIyT%n#?Pk5E#mA5N9Poz+& zM85wp=&b1>+Ml?OPqQzOnSRWTO>Kzj)P0_xMSIj|cZ=I-(q=ebuHi+!$`+?UY`3z| z>6dNzl(hXc?Yxd`s=h?uVJlM~nwdByE+J^I>+A`x0BCpnSM4caD+n^$W_6I{Cx?4| z3nRw0D0$Pav)M7yzc)WY&4F@dJpG+dOa3_zNh}rdZb|GgS$?FCDkw#FwGguGB3$I$ zL9^i66*eEvb@hm|i0nFqT0&IQM%;2Bte+kE(XwSEyKwDNy(1Wdl0~lRMK}xfQZj(U znvos?P90w7cS27se_QUiwyhEn`*H#A7Cg8|_coai0@?BTVw~Gk=6^LfDwsKXK1FX)Tj%yXh{?aYUQB z5)e`xX!vBsP86p)bFw|XK0j#Pha|kWZaD;EL6A<-4k~bE90f@tUc=$u35MTY7bnmx ztGhMm*mV|a?kl2&@@9fM&iZm&;0z`Cvc4P_CQ=ffnt6k|lf*)G8awF7c$ysQrlT)! zxjRm0k5nu)dD?CJg{`F#7}e$ZDJJ{0tB?P6F&1UA^lr^xrt-|fCz zghhzWYj-jdW@hsK*u&|j(l-6KP#UCUc7bxcXgvE2lE*N2a=1PcgW5ej{;*BX;NK{# z`9joqhl&_rGlBsvxPLZ?AatO6{xXnVy1AXS(EJCM!F~@1l0;Hdq7}te^$BsT+Km5K zD02GLFx?gNp05N(YxXFnAc5Gb{?5#THjT%=RKE~+d6G#L4{zu z{X<1`t4s^Oj9Ov`myv);AYDAm*V8$qdV0+9KfRiOttcotGhWRDf~vcNZ5_zqg~(2u z%XrnRN>Dy9@ei_M$<=90^qcpOQ0&K1kJX56(T(SfvR*W)Gbis{r z*jhHj?D;rn7jZM&a6!y3vf}Nj#xY18HgrFHkB;FalD_eale#+z;zoJ|{$Zhud$!QB zNln>-O^btCLi?zQ1NlazHqnt}^Ej8Nw_7Hfg!EFZ-66%wYND+0gZc`U52JWAk8Kf%T+K!#i3(}ivl1@F@grBdi`F~*^a z^^W(=Tu$=L2aMya-hdg0xA$m-k_~%N!z3mX3?!8S$0v;Wec`1ZcFTylBFy(=nk|{} znFK!*RV4bAWfbj1u^@4uMz@WC4|B)>EV{ z7D^HE7%8}G%zA|$x%IneWY^PpU3LALmfT;r{nxYpd^rqqpw!G0eVeP(NAazAb|D#l zva@FU+xX!|{Uk5~9^e3~C3^AI=Q01An1P_=l*Plj08U08#lk(f&fhyuhE#%rV&op) zELW(X2jVP0LVO`h*QiwVd3KlCaG&_7>Te%uZy z>UxTlJ-%ngyOMPj$WZTgepCF$-(^3$vZ}lvaNq)h5=xL&6Va^BlT{^P5kjCG#bgVA z!;efNYmCrn8$BilE{PE~*RL#8B3LWGe+lr7{DZXkq#!Ms30CNl+`ilOhB;p91yA|( zm6NG->xCR??NzA|{pgYVkZU&KYo9k8djwxAPk=~XI5xlOjlCuLwumSR{COZhX2MOp zdRhSuq%SOeYfto5DWcgqoUEY!7eA7d$}@I_k$AH3ZnZdzy);-g5-+3>0T$V!^tZ02 z$dxVdZD-PLPGYuW`KNs#-tUY#FV%&z1yG}?#+x2-AL;^xS&C(rk}hF`sZOMlMphyr z=sF57Fq}{FtI+)_OBv{s=6;a9v>>ftvpXCagj*PyjtE@8GF^Zlx8jyWvIYWPkW0yr zq=U{e3a*d+Gd8kpHv~@P;lcY%1ZFikWzhdfwgNiclzuddQqL8ZA3(3vA9$ za)tCa_f6+oY1D%jE$aSIva<7CM@^j5Fd(gK0N6-xU)b_XLIWkeZll%h1Wd;qYsP%HqiB!Xds6!S%67=HN;_i)Hm>V#P})jXe}=`=XR9C`(U?;HQ8#*(-T#6gr2u8xFYUP`?R_}y!`6s-83iY zkwV>z>{vY=EJl--N1-GFbt(743aHzQ($m=+GYfNG^}kAn<|hZg_HlM5VVLGrR=QcL ziZy#xR_BX4ZW^67e>A@KOOp77a#RataL~~yfu@+2rlO*%%F^cH(Zw-XEuYfP(&TG= z4@kE74pQB$8%GsoI&V*B^0^t_)P@fXkQ{I+zr4Wo0H2C>QUzb&Ze})B&!NucYy(e; zO)2f8EiLZhG&dy!qf-g+xW{&8K3ZG}t`t>Q340Q`((eeABw^|EA1P#O^FX9YYqj%_ z^NVfO1?T0(#U=y&<#tf#q~8G~drDBpvRwXTK|yzV6ebBWYacmqwufERqZ7tLC9fAp zES--R9gp3fJ&*R&fC}THc#qdA7MAj>@%K4e3L(smv3;3(Q(7w+^OsLon5p1W#%tkGlZ=(5?R3D>ssQ zc$Ev!4-l(M9$QbFq8}8y?mGJoPx(HWzS-8DW<8$LENuOjmVe)wFP(Udyp3LG+MH^c z6i$I~jf>SfxFP?QE3%Dbmd`_Xk;Nr8DMMLJ&p=aWmr|~=W!sET%p2N(;mCQi^tn=x zUiFva_x)48Y12~a;*By{{%R(COlnhQH)9i}g=1PUgfdoz&bwYJKaMxS(BZRkKgNM2e#ap0Z?=v@$8$NPW_zrX}5H0nb_=P7Nr zK3$&!SrE?SOem;Vx3oN8oV2w=<&?(}o?hJCW(oXece~&Bp1+*Hiz|I{te838 zc++Ul4N(9S2knqAc0VBEvQuRFj7v>A720iK1>oG^+7g}dsHZ$g;|(qMV6avqHZkb3 z#dBF7@Emw`-HS4!z1Y`{Rdm*3ZQf0vt)$huBnNerr9oYbYdJTxWbHsN2c9q77`v)^ zQ;kZ}H6&M~R?iAYo6Q^PSFav5&Bd$uVLImIt!^*6@^JR);k!C&j1Qyu-p|S<<)~zb z<`l9B5uT8i=l6VzXzA*@_T+LkF}1*fExzdpcd{Qw$JpDHcE7nft-z5}gw$d-$!Ttf z??tU@t+oWpNECbtf^H58 zsOy?2@g$7Yw9*_OJXSo(z)whALq`d@KN^^<{8lq+bA97D~lS_S;uan9U7aIPAB6NG!GlLYlJPqR(P^s@_6sX z?4%pPiF2X~rsv*$r7kioBn#evduCMJh^sv@cTo(Y(dv&@f&Y2^Ui*3>YebM>bmt%#U8Xk zUQN^w1$}dUu|4^vR6s@*Ax7K!CsF8t0~;%?0HFbjv1#E3c|%2A+VP{eBC|F#@Sg~6+RVkwe5S_K8QYMjlCr{b57VH^gVo7EA*aF09I_CZ{{PKtq`Rev=2h;v!&q0+%^nqNuX{#S^V)C_Zy^e>zLyNq1Y>v;3 za*3gphxxa7gZOrP)v6|P<%;W)ns;8;XUZZmC^8Y?OVZW1pMWJcV*qs<#C-iF)P~la zr-D~rfcDAr%{M9@9^?AGo1vkNgqNX-4XtF(2!3Uw2-p-)Jw9TJBK@FP9_F;HluhHo z-gt1TX%|gzBubmtG??)4g%Hm>XI^mYM3zO>nweHJpUd4+`i6t+9k>?K` zF7K5I#q033Zvtu-iaWo*!3nrLcx@4J(;LCAntx?9rLw-PSFV4IW&s<<=7O8ivx9M4 z(0tLzlsFd8EnKTwsIne)>!NfciYvR$pbuyr%#G;ktJ^(7<670 zCFHrk-vQM3i~bEsr+2Wg6##J2?wtp%3VlryZVPwiUq5IeoXb<1^*>`Q&J3@yMbfHR zywvU&qp}-WuFuyzo^=@|4kN-Xz8czJskje1(#D!7e^p|-iTy2gfqa`#0QGld^fpWu zUE+_Gl0`(DjqEkb8rt){gIqkVQY_w2#bmYO$QcW2^c6N1&kncGHomMBEeFuCR-89A zz#*E;cAt^FP(8jYTy#IJC=T$y2X!J85w~o?HxJ1Ac`8if2V!t4aNw8j3jP318VY?ewObUVf!gzj1#lgi^A1Y9d0VdMb&VftsMzn?JWuRm)2yU`vFOa zS`qk1lKo3tS&mPdDIQiUT1Kr*x2*K{MQuF<{KR*V2vhLz#AJ)eKEe3bU+WN`Hg!~OT;w?E_ejPgi*ed)2u$(UGgcR*jXHYM|NU5*IYmF-7y1y zQP6o^&2fs|&<2$U^*t4RY&A=ObKBPLMZC>w;L>On;5JEcxMqs23}(Z<-Fva6FaiIZ z<0(O8Knvjs{~cby!iGaV52;19V`yzw#BlG!u45^b5Lj=tG0r|75tZCP5!;dM(+~8` zEU7*eTxvAb!;c!^k>jO;cHJfDb!;vdHKDoh3}w62ZrQuJ4n%_xosGg~DFNe&*VKIX ztvTaQ*HwrG!n+SR&Fd*>!A=x)YiV>)cqOQD$FK<^wYL>)XEkjXfG10oS;FVy8-I?-&-GV z;ARC|^mv(U41@#>B=U5oNWXh5E|g`$kDcH?@%bac$R(>+zYrIu_PgJY&Ri?}Z^~;U zz>G^(R}@B}LFniYMB*8&@R>Q8kvKN#iQVxG(NSvp)(w>z0u#}}|(%rJ3bK&nQUl3m|U zuJRA-|8KB=w}>Q!0z^BY(P##=03t+Lwxa3iE0lB*>)NZ1%^o)u>|>u@oN8H{Ev5rp zm_8#IXeuX7pO(eAJV;bT3|6)(x@?X|8gF}dX@p$;S?U$R|9^M>dvkjTI~bR1EU*C> zaCJ&1`jk2i0_oICB)9Us6#R2pf`nh~?CWe?R}rH1>+ViF(WyLKOhdD{H8SMt@7}Xp zLux(sB1;vQ#A6r( ziwu~-E=3qBH^uxJfzp4&8|7(0$c*aqUsv@1E(1Q$eI`wV6aM!r17!%n#W>f>|M|f& zt2GWB$bZ)KpH2Pyi30kPD3i{?-I%d{$`^q7l3k`2mxfw$Ms|ftgM(_OrgJ;(cQ&o5 zKf-0{>)l=sI;*-E8=ywoVBn@CV6OVyIg>s=;A?ikMg7Bkw1;oS#tF5mQU{`P|K%a5;~c6Ea5xe|Gb9A0g1- z`7YPGELX0_%28ztjlQuqUeVC)foW zm=2a2YsEj*$GSO{O@GLmUq1)Ft;{#{v!*XbTPr|FUGKny93dxM@8V#Bn6dk6Wqgj=1bPHIh3J$fRw8@G4M?0Vz?{9t;XE z9b~qo(*!RUV<1oIbg*a;qXx1IDu=+P-kJ7i?6Nx8A^H-v>#LfIlFru3pM!%7Osq162|V0QMw*FXb?ls) z*wCXB-zjW<&(#v%CYmPehlwvZ!~Zvuvn0?+vgHulp&@>L@k5pzUx@6Y%c@# zMI`mwTn)&7KPyZBK}R9b61(HrFtCb6nOs@fchlqEY|37nWM?~hTVJs#mK!Pa*BI@X zAnYEUYvIt^xm^vdu0{m&vprR=CYG8X9){n&|FlfAnIyxT1d(pzUY&VIDj9ybERV$7 z*f3Al7z0RNpR!5OJ|3oa>GJVn{%0XO6CnJN?e6l8&6E<1Jg;He4tZEysvFs-;s@^B z>FO~|f<{=s?tDRR3vT9@{QNfd<_X^;Dr~51#Y{UE9T8!>;dOPrXF3^8nJw9WJy5?j7 zSs`d3)*Q`yFKQ2a7w`{b$?VTz|oJb5cs_2m)(%4jOSS0b`$K5#cYY zW5^#d9FSW;6aZ&z^PkO)jWs>B&B`g-GD{n)LoEqf)D{EdedYeQH*^AmW6rUVfO?O} z$*Z#Hx z5y;XBR7d1)Ir0~Z$-&5XiVx0b#+uTCkZoH3pDRoW-AQd=k}`CYrNt4SYX}vsfFQ%#wVvrfV)xK}jr(Ic_Z(6f7qKuV+`{8=+qex?GX0q(9nD;fau6_jMoB!}ac%3fj zcHTE};#=)6N19;LDtgqInzd0v2|*lW1C@2G$i9z+UV1CeTPKFfB_~gI&{gwe06ZZ* zipf3!vqsBocwU~7Sg5C?fe7=8622g?m_Lq*C|7cdAd2MNquqTUW)~Z?+vgAqw2=w# zv6nOa7*W{l4ix(8EbV!k-*{7x+{2xDd)o~WDC?fv;d{1zzW)ydnq{Y;ZQ8NF@Y69-)I6rXBp$y}oSMAf;G+vR%JJFBC}MMOcQ zfXCVb3uKoor%Q&O6Zq2Yf=V9 zs|peP^JD@oAj>A^?(mjW=(T|}>-n-~jXe9UgShumF7>Whwef-cW~7fACEHgVDfVuO z3c%OdP3X8>A&fM`7bvuPB6ge;@YZ_2DN)^vHn#}*wj#9^vlBuG7&m5Sqf@GWmWffW zea<~Nv)>Taln8)`s~#2s*4o;}nD{=oC3XEE%Y&o-{>UI}@T0rrLz=2pbvL>U z{H(q2-D*}H+DbTN0b>pC6TMC(QB?NJeW|_RCJp%ISHg(|MjD;S(+v$sbukjq(V*i2 z!N{1><$atRLHWSuKY<`+^5Ns--|tB9;yvaUXnru9v8bCF$LQ(vc)U=wWAzx>|E=^_ zbNX6X^xZAi8Y-bMMCZX>K2P;bB5V%|q_B67ul1A)e{iV?F?F>(e5-jONg*W?a;(<- zVg5GXhi1F!4+|xUxT~`T@IL>KH(=ur_KCAxDjQ)AWTd-?UHDPrjcnT2G2lnb_KHTC zd__*Tm6umi_%)QrGhLg5z|ErazTvGjP7#EnTU`8pr@8%G&g=fK-L0I9PY~=g)6#tQ z8X`%DEIcGmtBxJ=$I*ZY{yJV57V;*-2%#7j@+(z&M zf&H7tUc(r!hR{TsU?-*FukI%DhzV3+>!99s{CnRPwe3ZrTId#_Ir4dwq-?tBr+z`i zRerQmVq(lwFkaBSK1Y9>&@D$>+$u#=M$~HM{?^8fU@qnxJan$ny2Kw7onndM=VUu+ zPu?&`s@Y?%^B=smg9x1)BU5vp7k`Xg{kU#ovFT>!>>thq_GU=XSDoVzv(VzkWKq|Y z#x_;A*P;06>GSYgCVT^p@uR8PSpq$T;KIg+k&nX%u?;(2>b7Kv;twqti0<)uPWqiU z6Pi*qbb2IDfP!+hpQ*0%Qwp4lK|Z46$7tV=z0T?>$v#sV@L&3-7r)b5tuLoC_YM}H zElD)_F;iF<;0{74VS*_JUyglP(QR~iZrl;k(fyK|+--fp&yT~P{vpX3M-X(0%jWfs zoDtGTVS2)7uHgzeT4VPo{-JkPXP(eCujvtNZ`(?n@YWc(>)Tn|jQJS3gGWCZY_{8(s)%MS~>8 zjkjls_ytidvqsuajqaG`65?hAsv9Ja;7s;_hKJ&ft5BBbRk)NuAyNx&HkfmegE`+p-@G0gc1a6N# zE|;aAI%P-KYx)$?SYuV2UVN6ry9EyI)iw&2^m8^HKLw&z$k|G3*8q|e{-dav!=jYFU*uUt!xrJ_$okfAK z!Mea@H{NP=tI|F{U;d0IP(2{TfBdvC_f5DJLIoJ9DQsjpuC1TL*KlC)L-Yl@IN|{d z5HS>1ypa)?l(5%+n3Jl`UZ(ePcDITzF44BUz~gKzvO}+q9G1z?o8L1d=HMl81<79g zyXXDbT=t_C!Eq~4T1oks?-4d`lgn0Ng8#$wu2VtJOXoZLH!ZKOo6rfKYt|{je|WMI z1XAEuLA9)b8Q!vBQoY?d;M_hw9I;R`V+|njR$VA%C^Mn_=A+kIW(>NuZn2CFwc9wm z=ovd&M1A#1#3lW<4vk`hqF>Cmuky$ZD!NuNUUDff#ISGNzye8TIIny3*%XM%24=7I zxMH`_Mxtr%!<8k$2&6Y~#i~YZBt0($c`^2Wa#?Q?wYoj$3Jka3keW_HRWO^z4piut z-;Hz}NM|?4a(@{Z5g2_6YBx5cQiHe{Rjr$l+K*7r|NK9&mx7W<^ffZYcJpJh!m%_i zv$B;!-V;##?$p*)o9efCCKDvNqEjD&!6 zA_b>WV_}~2cr@8D@8|^16EUW8!kx3~>~PDi{v1Vshbd?s50OAe04+VliDncqTpZ;5 zt~7YL%=RnO*85}`5-6Wy&R)xFSKb)I2P2=l*!lLfaP1{8Qq`~UM_+xobM9qLH1^HG zkCvyYG`dO*U1m_X@bT}w_re`=J#Vq&1? zaDy-sAHdM_DM#dCVZtu@AhT6C_O&L7+Iu>HE^%7_wu z68_3TBA!GgHxlD7;W`ofj9N@{U8>?8+rRXBkpAa!o#g$J+(GYTcVEuPWoD6d|5^Tt zI#=v7JW|g`Nz#HoU+d3@HLRbp1gunzEHBArQkwwr;3qR(tymKkl`ssyy>iar`vmuL?}JqTBpc`-AJ!8812q!V$Iu*n=F@P zoxSL`M8m+rl3 zwnl-kwqrK>*{I$j5Kb$h-SBFAy9l1Q{?mdypoFf-quTC`tIG0FNE7crbEl&eP(zCC zwx=@sonYI-d-LKyfa`L2h@O11AOUx7P+7`poJA((Vnf>lYuSw+=f*;E-WPWuwG%OH+!xm?v9A zPgYe`ESX}aS%luWqk}xfvg+4sUV^t4i=%kMvM=aZJ4c{+N~}NwFdN+jF37h^<$U@! z&ecBoq|Ez&*$}G^4jS)Ivyz)^Ub5 z>P-3|P?`nT9B(K`+?_`(OwxajQ76C2iY!=Hw(A?Nr|vigt87(z+n7at+`>Ty-@2=i z>49na!r>eABD!F@xX4oL+mQIPB~WB3RP>^LUu229k-O)-wKDUuD7ail4@i8TwFDa6Hg-aYmr6 zv|gn7)qcv?*2fls?zEYFdE(O%Z`Ld1UMDwom&+n_Tpj!Eo!~6KjQFfs(VtFb_Vxqw zkcr5$ce(mx!zDZ^Y97^V_r&#B&0Dt!hmO}JMM-tJnDBjYQN+j4 z+S=KO46%L1igt5K9*v8>$H#fTp33skN|y*499;3wCneXBEeKM@Hj^b5_NV=rjPi`p zs7w?>kHZ+r9~Y?zZOC+zvrw?R-fB9$m(PXQ_s+fJ*bNLuZQLBdebY zI7IpiA8@3Nq1{tpI5|~jeqUsNsiZfYiwa0(3hm3-mwM>OGxz%<2uI}tEyrkkvGk&} zPM!51yO<{HSNVF8#jkM6^|GXH-lnTLqd0(Wu;)77Lf~$3{KtY=iT=+Zv zB;GdTp9WJ?*+Vs3v7SWx$X2y#jtcql>S`46sq;U3%QXx>{HOKm8w(1C)_-cQ=BzW; zK`qdmKR5J!02m6(uGZ}#c! zQK5H&Em(nj#`M5o7`V}23JoOPk9m1lXtdxRIE9>uG%D6-+yq2HI{wu0z{^1XWTqFO z*^dYpAnC*PHw|!?L7acbTCWxa@^( zmnOkfpXK_2qD5}wO4V1#MsDkb5Wp9xiP!jTh9PEhy*`pxrw=5y+pvMiWsG_)()d`6 zoWq{LLuR5>13@_Kv;C=RfK##NC??#!-F#if7YDVhLs}yB4KDqSBe!mjn|t+cIh=%t_2qZ6W&O{lV_v>L?|DJJ zM2;QbEEFUpTup{cf`Il1*_wa zih26T%PA;3jM>Jz{*{eUgi`B-Acvnb4QE_REIcA7Oi`U>1WLn_tejgFoD9Axx~({> z5AqJSk)mKv>-rCxL&sWJ$$(3klu%Or7A@vePT)S&kE3;=aAn0r6@|m>fUw<@8cpz+ zkB<)a;Lwum9myckbfmLIVHMa(K#S{aaJZB%Bx?s0o(;lWaO%-~YwG?X_Q6p<#c~v1 z^crz_RLZh`n9P8_WM1_!VQzF5rx1Q~c3v}O{8brDNn8EK`|`K-n8)$(tj>i89Z%?G z)sgpQKXKh(USsYQW=Mh4=rQUbS{^ADo0mfd*MCJLou3{%foN))x|~G;!e%2|eUu)e z$@^{d?DqWRAsARR;Fz4NPB^ajSDFiEX0GTz|Ch|_u=!37MB&= z5xD_Le~=z(Z;VrH31hT|R4MSnjL?rk4N$7w&D7|4*>abbz`zs=fD#-_U$NI#SY3&Rvse3JBq z?$9uhFpQh#jZ|_fN!p7jnKohkaDS}@6E&Sdelu(s7KhR0Wo6SFIl@e}=An|Vv!mzp zX?Y81u9+7T6`Rh+Mx)&Lu#j$k$cYOrJODijZG!Xg4W=R_)Jv8h0H5t9=FuJIybCfe zJA?%!`xyD1?D+3*N^4e~faEPTTvVq9sDvY5+Eg^>)!+IZvm*tx(ibFlCM!rai)t=( z3;9Zsyz?d5-YImnDgxoagawbbV_pPz^a<{-{roSf89zgWg> zI%DHQfb&AUT+$)$88ow|=qWRJw;A4t&*S;k-qRvqp`g0}ZlN1Kx}8)=sJHKSCo*ve z>))GbhZs6LeG{IxO!-Z+vGkYOo24dNYcgYu|l-ezCF7UiM0Oh4|PCO?;e;Q~_VcxdTHwCi>!X-nxd60rrBVw2>D zPff{!yg$}9%;Smq#4v({yp4wA1BC`!I$akR#>GTG&0$l=ciiGHe?Dt@$z`D!@7idB zx9+aduXfWHvG?Q=knpj@-G)_Qq&{7o)PehjAGl?$qa`5Vt2?XjN@oTyD%i^a`=@8% z<+4@RX%3tVe3d$zY($P4S-odYU;S=5yZf;4En#sPf7X{T)+&`0?d@mI&Nl6~^F3jt zB^Ie2QI8_?-uMfx#(N>;YIp+0;r{VZf-p~d3mol&cxiBb#iy5gOa5`wHr}u>ohitm zN`CEO8yo_nof?LHS47N(u^daod66RnbFuHAS6&?h92{(BE*aZ*+V4SX~9^kdsFss4~$dm`Ilz-*--2bns z>i}x1+qy{zB!EBwLocC;N)tgqY6K+GrT3;Fy+dfyK|ngvB^m@i6bU7Cr6XO6fOMn^ z(gi^jME;xa{qyE!=FVj1&Sc-Sv-aBioW0JuoEo!&z&vH{BQ?Ocn1A^;pTxI^4udbQ zys67_h(BXo+a3NE4TaS6dzBaGwKP@gkMRe&B_|%(y`ldCr1A#mI(e6>59lnK#LSu- zi!ZjvF3#95u_gIrV+NoU*I`! zU!TNJ=AG}37*y9Ft^O_)EkY|qP`36W&hHx6O-HGoMxhshLRS!TDLym*@`*b$=hh}k ziG|&=Vh>x^X!^00jeUb3Wv9H>8V1PoNV?L$r%QvtG5nx61ALX-GBsfs4{VnH!t~^1 zq19TGe<4=vDa`sy&d0&c&KB%wVrT+S%m$#Lfw{3D_T)v3dfnG|B@)>S4hi7ZqEK`3?zsS4lCT$^Go6}z(@M#&zX@*EK_& zxZz&&_{qsXv{~BYkCvcNj+ltng8ABuKTXJ&`?>*Xdvos6=YhYzcbrEfqgNovgio!l z>2_3}T(w04m8zd}E%c`X*R<}s`&;>rFo)BFXB|E5eX498SVrikwdFV(zaTDu-=vDR z<*N<&axB5vIbjLky{%`iB3k|GQSh#$ROg86*0(;C4L9A%>SmU|;IPr>hC1itd}9S^ z@t(zyozbd@QB;$OdQ(}Rh0df`Y>{gJj8)gOCzw;uz=wNUh4YDTQ(gwHCXNSn-b$Hd z4E&Sbud=Sqb>qGhn5d76EGhy@{~a7_%#P$56)C^Y_;LUurTNrqX2eogP zouuO36g+h2?waU=WVfIE5LxVK>D%HJjSlWHcUOC_6B#R2TO#}quwl@m?Csvt3nWx_ zioxoxxvQUv3>mnW2QMaQ@T}8+*1ebY$-;3hFbNM^(+W}u6*bz(4~luM;yAGVZTz#u zwxNi7Ewh1%L+~nB)7P*%V1rzTln>Q*{_j$Z%}%xmO93h=M;Kyq5m<4*v8UP*dNjq@ zH}K*>)%}bIG&3XT3kHUOB#x&g)NII*0y)5TXzHXZz5o8;nd=#hnB`a;$)Tl7wigi*%Frm@ z{qkDik)4egYlxFRTnW3i`umI4PF;)9&lzXIO(cP*HXFXV!d7EKk{oa(0EjF`Gfio0 zri7l&@tLJa(jFn99|gQN{@gjg>=O_Wo0@YbVj?II9P*BO(LwIZpFa~pzH@h)Dkw)u z&wQWiUnEEX8e6|7W*=CD0be>(ifj+cKHa(8Dr2TJW?i0_f8F4R0{i3vW?n>o{fX*T zFgcTqtY{?CM763Iq28`AWUHuTHh41-#Zdf(5A7Py-#`6s;xa2<6Tj4{2WNTqOhT<& zh4R}~#`rLEt)+Ae%%x;_`uN`)8MWv4^_CAl4p69H5iP%h-i|N6XG?aSMD^a%7cB{F};a$ z+Qr{eEjXHDIZy!Z@gYXTdN> z^`mk)j()N0He7}md>+6?9H)1r58b0A&1*&_%D3+k$M>=#y5a_ZR?}k5lYV>X8R~i~ z0%=4KzSE~yE$ne%VmjAJyY_Zk^ZoVd=@Va5ci$0S5!r!XXJs!bTwyjAlCD}d{_qiU zFgpUE^_-9DpVW?OJNQPS@M)SzzD;D705X}zNW=f3S_ScRaA;#>$n>4JiIIEFUA@@d zM`-Lcee^LIag5fH(rOFn!wtV+Pz}ZK0>B4O`T?G^>VOkF5P?i z$<%Xwul}f?l&Jtx+>~uM>AIzyVad6=ONXZ6YOZlIpJsVmdw?Nd2Z!FyL$D$q?`E#O zPCg@QaQJI|lZLbKd7UYRDcA{f2i5c32zT+hOyFLbLBb3%Hg>i}0HxiZXW+)Um}W}s|83K&Cf@WO+qUvzgu|R9ATfv38vpSxpODL#ylie! zfE{JY)ubo6!%AA#i08yF;2MHO7|_RmhB~#F%7*)uHG=yz#AyoT*Z~+gKG#cvK}8k7 zm`ogPA=I+jbh77jXgIU3b8V$yh?8og4E4spZOTj#0a^R#o<8i1ogk7SZy6C0O-iMJ zz!({BCLdN6O-s2z0Y)@_0IcBsRSr%2G$?5;WtagQ8~M6P6wuSC2)+TGxciVXdq9HS zy3(fR!Kk~#siHFTnG#IG9H1GBhyfAkYmMU>2?FvrIm$uZ_r3PMLzDXZn;0`FgbT#^ zXP04dU|=Qa=sMV3(5VHX1SRTgk!=iXfQaK}j!dhN$S;CRuZiP!nGuq)A~ylGgz_sU z-HjiNXVnvkrvD!co(JtpMxb9&b%hfIR^$Oh*O1_|Z+7F+L?h2R1m}>%0s|h#opSUP zy&cnN^dEQ0k=*stE{P86rrVzGP^xkbjG@VLIK0;}*llq2#OtA_ZmNTwPh7k=@188F z&lH>vB2d;!jk58mKc@LqE|8%Gc+Hn&szrW&{=$31VYR61Pc!aeCJQ-WjsPEhhu$V5 zFlI>c2non|EzgtS5E3RXi>SH<#^m6F!#U^JQg`Q8MIU>5-(3p!9!#gw9pXN-_JCjJ zU61lbco{*y$Rps_K+f)I{H<80Nd!Ov==LTOTST^6D~c`1g*2x&v>MMh^`v|P+?cD2 z?wBGoXLbrrn}{mUTxySXC2>}AP|wvn_)=)W9jt5tL)sNWQ{F;1GBR(4l7oJ|Yx1Ld z#9cfK6%eT8lxgHkf;oaW%o+I;Dp~XER5B8%5neiwo;7=Ad-Qi$>d_y~YO-h->9Y53YCJ9GbhTNpxRYt*?@6Cpv zJGrKf+Q-WBg>eR%fI!d73sMWi>rtb7p8leP8T?uwX`)qB_2Y(qyke`NbDe!6c_gg) z?7Qb?w?+-S3Q1>M%7Z>*NvE!gBuCkojDHlTctGk$Y|j*4fy+pM9W!vWZ=uD^J8S(Z z%X?gIrCL4wZ4adC>TB9Kg&!$xOv?TUiLVCMy5r&ZFWXWuVJ zLyl6^5(8ALU)|p|WbSM`mFoiQ7@V#d(T)NDAPK#i!9x!Iv`B^^GKj(9-+-{*G6l9C zpd-W`pW$c;faMG(XFA=VN@3Tl;l&|uM~sOLI@vY<)YHCGg#g13R zNlvbKT^DObPL3Cs?DIuJtor*2am10f);+H$Wp7G`i~?;7P)kptmwj|k+Jw230{3Ey z!D>BpX3kJ5q9uv_T}PDE=pd@?W)7uYLSSbf$wzZZ?#p`}(cjDqp0b%wCt@_F#mJ9W z+(^+V1CAVgcs>pAO|_Fv3kW4yKOCx389`mes3rMi^dZT7{^_I7aqKB2?(;cDW2>-2 zl7jL*pBIVo9Hx?WXbyiEv-r^x$4H`WG$4Yymex)WwM>nW7}O~Rh(IW4#}t#+AZ-DF zi#n<0m7oyY49pqnhT+MK?D>VF12S=YIg1iDz$Mr2JDnXup2*|ACm&o}uGZHH{06^S4T`6h7%!f!oZ&jra>+IGDtk80Kzc;&W? z1A}3_2yWJ^Z64-6J4t#6)xgC2Z_hhgGv_3#Lp0tMD8sFObXXz0>>(9b1BE+2B(MHz_<#x2QW?c=}3K~oW;Tim;7phjBD0?ut-g9RNowqh9F{fPl^sa60|KWEKSL4Uc<~?Fn}*K2K*DE%C+I206V%?mP{(X{w{+OHKWI0${NmSj z@Nkndp%`94^c;rxEGv@w|5z1#!Wk>q@`X)66}BFC5xy|E5LPXix1dEQyHXBC3F7=8 ziHiyffXp_F858YpGXcEUn=f`W`IWMM4r#JVRw9#4RBux zU{6Hg$sx)%1d^6j@A#Anc=;!(NWWrLO9NRaZ5v2s)c8-+@PBpU|NSmQA9(>=#~D%; TmU6^^fRFlJ9n}hD+o=BoJwY9Q literal 0 HcmV?d00001 diff --git a/temp_kubernetes/original/src/installation.md b/temp_kubernetes/original/src/installation.md index 47964a141dc..ddfa49b1e4c 100644 --- a/temp_kubernetes/original/src/installation.md +++ b/temp_kubernetes/original/src/installation.md @@ -2,15 +2,17 @@ ## Installation on Kubernetes +### Directly using the operator manifest + The operator can be installed like any other resource in Kubernetes, through a YAML manifest applied via `kubectl`. -You can install the [latest operator manifest](https://get.enterprisedb.io/cnp/postgresql-operator-1.1.0.yaml) +You can install the [latest operator manifest](https://get.enterprisedb.io/cnp/postgresql-operator-1.2.0.yaml) as follows: ```sh kubectl apply -f \ - https://get.enterprisedb.io/cnp/postgresql-operator-1.1.0.yaml + https://get.enterprisedb.io/cnp/postgresql-operator-1.2.0.yaml ``` Once you have run the `kubectl` command, Cloud Native PostgreSQL will be installed in your Kubernetes cluster. @@ -21,6 +23,16 @@ You can verify that with: kubectl get deploy -n postgresql-operator-system postgresql-operator-controller-manager ``` +### Using the Operator Lifecycle Manager (OLM) + +OperatorHub is a community-sourced index of operators available via the +[Operator Lifecycle Manager](https://github.com/operator-framework/operator-lifecycle-manager), +which is a package managing system for operators. + +You can install Cloud Native PostgreSQL using the metadata available in the +[Cloud Native PostgreSQL page](https://operatorhub.io/operator/cloud-native-postgresql) +from the [OperatorHub.io website](https://operatorhub.io), following the installation steps listed on that page. + ## Installation on Openshift ### Via the web interface diff --git a/temp_kubernetes/original/src/license_keys.md b/temp_kubernetes/original/src/license_keys.md index a88782dc74d..a495ea65d38 100644 --- a/temp_kubernetes/original/src/license_keys.md +++ b/temp_kubernetes/original/src/license_keys.md @@ -1,18 +1,64 @@ # License and License Keys -Each `Cluster` resource has a `licenseKey` parameter in its definition. - -A `licenseKey` is always required for the operator to work. +A license key is always required for the operator to work. The only exception is when you run the operator with Community PostgreSQL: -in this case, if the `licenseKey` parameter is unset, a cluster will be -started with the default trial license - which automatically expires after 30 days. +in this case, if the license key is unset, a cluster will be started with the default +trial license - which automatically expires after 30 days. !!! Important After the license expiration, the operator will cease any reconciliation attempt on the cluster, effectively stopping to manage its status. The pods and the data will still be available. +## Company level license keys + +A license key allows you to create an unlimited number of PostgreSQL +clusters in your installation. + +The license key needs to be available in a `ConfigMap` in the same +namespace where the operator is deployed. + +In Kubernetes the operator is deployed by default in +the `postgresql-operator-system` namespace. +When instead OLM is used (i.e. on OpenShift), the operator is installed +by default in the `openshift-operators` namespace. + +Given the namespace name, and the license key, you can create +the config map with the following command: + +``` +kubectl create configmap -n [NAMESPACE_NAME_HERE] \ + postgresql-operator-controller-manager-config \ + --from-literal=EDB_LICENSE_KEY=[LICENSE_KEY_HERE] +``` + +The following command can be used to reload the config map: + +``` +kubectl rollout restart deployment -n [NAMESPACE_NAME_HERE] \ + postgresql-operator-controller-manager +``` + +The validity of the license key can be checked inside the cluster status. + +```sh +kubectl get cluster cluster_example -o yaml +[...] +status: + [...] + licenseStatus: + licenseExpiration: "2021-11-06T09:36:02Z" + licenseStatus: Trial + valid: true + isImplicit: false + isTrial: true +[...] +``` + +## Cluster level license keys + +Each `Cluster` resource has a `licenseKey` parameter in its definition. You can find the expiration date, as well as more information about the license, in the cluster status: @@ -25,6 +71,8 @@ status: licenseExpiration: "2021-11-06T09:36:02Z" licenseStatus: Trial valid: true + isImplicit: false + isTrial: true [...] ``` @@ -34,4 +82,4 @@ the expiration date or move the cluster to a production license. Cloud Native PostgreSQL is distributed under the EnterpriseDB Limited Usage License Agreement, available at [enterprisedb.com/limited-use-license](https://www.enterprisedb.com/limited-use-license). -Cloud Native PostgreSQL: Copyright (C) 2019-2020 EnterpriseDB. +Cloud Native PostgreSQL: Copyright (C) 2019-2021 EnterpriseDB. diff --git a/temp_kubernetes/original/src/monitoring.md b/temp_kubernetes/original/src/monitoring.md new file mode 100644 index 00000000000..357ec6f961d --- /dev/null +++ b/temp_kubernetes/original/src/monitoring.md @@ -0,0 +1,91 @@ +# Monitoring + +For each PostgreSQL instance, the operator provides an exporter of metrics for +[Prometheus](https://prometheus.io/) via HTTP, on port 8000. +The operator comes with a predefined set of metrics, as well as a highly +configurable and customizable system to define additional queries via one or +more `ConfigMap` objects - and, future versions, `Secret` too. + +The exporter can be accessed as follows: + +```shell +curl http://:8000/metrics +``` + +All monitoring queries are: + +- transactionally atomic (one transaction per query) +- executed with the `pg_monitor` role + +Please refer to the +["Default roles" section in PostgreSQL documentation](https://www.postgresql.org/docs/current/default-roles.html) +for details on the `pg_monitor` role. + +## User defined metrics + +Users will be able to define metrics through the available interface +that the operator provides. This interface is currently in *beta* state and +only supports definition of custom queries as `ConfigMap` and `Secret` objects +using a YAML file that is inspired by the [queries.yaml file](https://github.com/prometheus-community/postgres_exporter/blob/main/queries.yaml) +of the PostgreSQL Prometheus Exporter. + +Queries must be defined in a `ConfigMap` to be referenced in the `monitoring` +section of the `Cluster` definition, as in the following example: + +```yaml +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: cluster-example +spec: + instances: 3 + + storage: + size: 1Gi + + monitoring: + customQueriesConfigMap: + - name: example-monitoring + key: custom-queries +``` + +Specifically, the `monitoring` section looks for an array with the name +`customQueriesConfigMap`, which, as the name suggests, needs a list of +`ConfigMap` key references to be used as the source of custom queries. + +For example: + +```yaml +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: default + name: example-monitoring +data: + custom-queries: | + pg_replication: + query: "SELECT CASE WHEN NOT pg_is_in_recovery() + THEN 0 + ELSE GREATEST (0, + EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp()))) + END AS lag" + primary: true + metrics: + - lag: + usage: "GAUGE" + description: "Replication lag behind primary in seconds" +``` + +The object must have a name and be in the same namespace as the `Cluster`. +Note that the above query will be executed on the `primary` node, with the +following output. + +```text +# HELP custom_pg_replication_lag Replication lag behind primary in seconds +# TYPE custom_pg_replication_lag gauge +custom_pg_replication_lag 0 +``` + +This framework enables the definition of custom metrics to monitor the database +or the application inside the PostgreSQL cluster. diff --git a/temp_kubernetes/original/src/resource_management.md b/temp_kubernetes/original/src/resource_management.md new file mode 100644 index 00000000000..cf4188c181e --- /dev/null +++ b/temp_kubernetes/original/src/resource_management.md @@ -0,0 +1,96 @@ +# Resource management + +In a typical Kubernetes cluster, pods run with unlimited resources. By default, +they might be allowed to use as much CPU and RAM as needed. + +Cloud Native PostgreSQL allows administrators to control and manage resource usage by the pods of the cluster, +through the `resources` section of the manifest, with two knobs: + +- `requests`: initial requirement +- `limits`: maximum usage, in case of dynamic increase of resource needs + +For example, you can request an initial amount of RAM of 32MiB (scalable to 128MiB) and 50m of CPU (scalable to 100m) +as follows: + +```yaml + resources: + requests: + memory: "32Mi" + cpu: "50m" + limits: + memory: "128Mi" + cpu: "100m" +``` + +Memory requests and limits are associated with containers, but it is useful to think of a pod as having a memory request +and limit. The pod's memory request is the sum of the memory requests for all the containers in the pod. + +Pod scheduling is based on requests and not on limits. A pod is scheduled to run on a Node only if the Node has enough +available memory to satisfy the pod's memory request. + +For each resource, we divide containers into 3 Quality of Service (QoS) classes, in decreasing order of priority: + +- *Guaranteed* +- *Burstable* +- *Best-Effort* + +For more details, please refer to the ["Configure Quality of Service for Pods"](https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#qos-classes) +section in the Kubernetes documentation. + +For a PostgreSQL workload it is recommended to set a "Guaranteed" QoS. + +To avoid resources related issues in Kubernetes, we can refer to the best practices for "out of resource" handling +while creating a cluster: + +- Specify your required values for memory and CPU in the resources section of the manifest file. + This way, you can avoid the `OOM Killed` (where "OOM" stands for Out Of Memory) and `CPU throttle` or any other + resources related issues on running instances. +- For your cluster's pods to get assigned to the "Guaranteed" QoS class, you must set limits and requests + for both memory and CPU to the same value. +- Specify your required PostgreSQL memory parameters consistently with the pod resources (as you would do + in a VM or physical machine scenario - see below). +- Set up database server pods on a dedicated node using nodeSelector. + See the ["nodeSelector field of the affinityconfiguration resource on the API reference page"](api_reference.md#affinityconfiguration). + +You can refer to the following example manifest: + +```yaml +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: postgresql-resources +spec: + + instances: 3 + + postgresql: + parameters: + shared_buffers: "256MB" + + resources: + requests: + memory: "1024Mi" + cpu: 1 + limits: + memory: "1024Mi" + cpu: 1 + + storage: + size: 1Gi +``` + +In the above example, we have specified `shared_buffers` parameter with a value of `256MB` - i.e., how much memory is +dedicated to the PostgreSQL server for caching data (the default value for this parameter is `128MB` in case +it's not defined). + +A reasonable starting value for `shared_buffers` is 25% of the memory in your system. +For example: if your `shared_buffers` is 256 MB, then the recommended value for your container memory size is 1 GB, +which means that within a pod all the containers will have a total of 1 GB memory that Kubernetes will always preserve, +enabling our containers to work as expected. +For more details, please refer to the ["Resource Consumption"](https://www.postgresql.org/docs/current/runtime-config-resource.html) +section in the PostgreSQL documentation. + +!!! Seealso "Managing Compute Resources for Containers" + For more details on resource management, please refer to the + ["Managing Compute Resources for Containers"](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) + page from the Kubernetes documentation. diff --git a/temp_kubernetes/original/src/rolling_update.md b/temp_kubernetes/original/src/rolling_update.md index 57009b5aa7b..ec67e41756b 100644 --- a/temp_kubernetes/original/src/rolling_update.md +++ b/temp_kubernetes/original/src/rolling_update.md @@ -22,17 +22,17 @@ from the one with the highest serial. The primary is the last node to be upgraded. This operation is configurable and managed by the `primaryUpdateStrategy` option, accepting these two values: -- `switchover`: the rolling update process is managed by Kubernetes +- `unsupervised`: the rolling update process is managed by Kubernetes and is entirely automated, with the *switchover* operation starting once all the replicas have been upgraded -- `manual`: the rolling update process is suspended immediately +- `supervised`: the rolling update process is suspended immediately after all replicas have been upgraded and can only be completed with a manual switchover triggered by an administrator with `kubectl cnp promote [cluster] [pod]`. The plugin can be downloaded from the [`kubectl-cnp` project page](https://github.com/EnterpriseDB/kubectl-cnp) on GitHub. -The default and recommended value is `switchover`. +The default and recommended value is `unsupervised`. The upgrade keeps the Cloud Native PostgreSQL identity and does not re-clone the data. Pods will be deleted and created again with the same PVCs. diff --git a/temp_kubernetes/original/src/samples/cluster-example-monitoring.yaml b/temp_kubernetes/original/src/samples/cluster-example-monitoring.yaml new file mode 100644 index 00000000000..88edcf51db9 --- /dev/null +++ b/temp_kubernetes/original/src/samples/cluster-example-monitoring.yaml @@ -0,0 +1,235 @@ +apiVersion: postgresql.k8s.enterprisedb.io/v1 +kind: Cluster +metadata: + name: cluster-example +spec: + instances: 3 + + storage: + size: 1Gi + + monitoring: + customQueriesConfigMap: + - name: example-monitoring + key: custom-queries + customQueriesSecret: + - name: example-monitoring-secret + key: pg-database +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: default + name: example-monitoring +data: + custom-queries: | + pg_replication: + query: "SELECT CASE WHEN NOT pg_is_in_recovery() THEN 0 ELSE GREATEST (0, EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp()))) END AS lag" + primary: true + metrics: + - lag: + usage: "GAUGE" + description: "Replication lag behind primary in seconds" + + pg_postmaster: # wokeignore:rule=master + query: "SELECT pg_postmaster_start_time as start_time_seconds from pg_postmaster_start_time()" # wokeignore:rule=master + primary: true + metrics: + - start_time_seconds: + usage: "GAUGE" + description: "Time at which postmaster started" # wokeignore:rule=master + + pg_stat_user_tables: + query: | + SELECT + current_database() datname, + schemaname, + relname, + seq_scan, + seq_tup_read, + idx_scan, + idx_tup_fetch, + n_tup_ins, + n_tup_upd, + n_tup_del, + n_tup_hot_upd, + n_live_tup, + n_dead_tup, + n_mod_since_analyze, + COALESCE(last_vacuum, '1970-01-01Z') as last_vacuum, + COALESCE(last_autovacuum, '1970-01-01Z') as last_autovacuum, + COALESCE(last_analyze, '1970-01-01Z') as last_analyze, + COALESCE(last_autoanalyze, '1970-01-01Z') as last_autoanalyze, + vacuum_count, + autovacuum_count, + analyze_count, + autoanalyze_count + FROM + pg_stat_user_tables + metrics: + - datname: + usage: "LABEL" + description: "Name of current database" + - schemaname: + usage: "LABEL" + description: "Name of the schema that this table is in" + - relname: + usage: "LABEL" + description: "Name of this table" + - seq_scan: + usage: "COUNTER" + description: "Number of sequential scans initiated on this table" + - seq_tup_read: + usage: "COUNTER" + description: "Number of live rows fetched by sequential scans" + - idx_scan: + usage: "COUNTER" + description: "Number of index scans initiated on this table" + - idx_tup_fetch: + usage: "COUNTER" + description: "Number of live rows fetched by index scans" + - n_tup_ins: + usage: "COUNTER" + description: "Number of rows inserted" + - n_tup_upd: + usage: "COUNTER" + description: "Number of rows updated" + - n_tup_del: + usage: "COUNTER" + description: "Number of rows deleted" + - n_tup_hot_upd: + usage: "COUNTER" + description: "Number of rows HOT updated (i.e., with no separate index update required)" + - n_live_tup: + usage: "GAUGE" + description: "Estimated number of live rows" + - n_dead_tup: + usage: "GAUGE" + description: "Estimated number of dead rows" + - n_mod_since_analyze: + usage: "GAUGE" + description: "Estimated number of rows changed since last analyze" + - last_vacuum: + usage: "GAUGE" + description: "Last time at which this table was manually vacuumed (not counting VACUUM FULL)" + - last_autovacuum: + usage: "GAUGE" + description: "Last time at which this table was vacuumed by the autovacuum daemon" + - last_analyze: + usage: "GAUGE" + description: "Last time at which this table was manually analyzed" + - last_autoanalyze: + usage: "GAUGE" + description: "Last time at which this table was analyzed by the autovacuum daemon" + - vacuum_count: + usage: "COUNTER" + description: "Number of times this table has been manually vacuumed (not counting VACUUM FULL)" + - autovacuum_count: + usage: "COUNTER" + description: "Number of times this table has been vacuumed by the autovacuum daemon" + - analyze_count: + usage: "COUNTER" + description: "Number of times this table has been manually analyzed" + - autoanalyze_count: + usage: "COUNTER" + description: "Number of times this table has been analyzed by the autovacuum daemon" + + pg_statio_user_tables: + query: "SELECT current_database() datname, schemaname, relname, heap_blks_read, heap_blks_hit, idx_blks_read, idx_blks_hit, toast_blks_read, toast_blks_hit, tidx_blks_read, tidx_blks_hit FROM pg_statio_user_tables" + metrics: + - datname: + usage: "LABEL" + description: "Name of current database" + - schemaname: + usage: "LABEL" + description: "Name of the schema that this table is in" + - relname: + usage: "LABEL" + description: "Name of this table" + - heap_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from this table" + - heap_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in this table" + - idx_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from all indexes on this table" + - idx_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in all indexes on this table" + - toast_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from this table's TOAST table (if any)" + - toast_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in this table's TOAST table (if any)" + - tidx_blks_read: + usage: "COUNTER" + description: "Number of disk blocks read from this table's TOAST table indexes (if any)" + - tidx_blks_hit: + usage: "COUNTER" + description: "Number of buffer hits in this table's TOAST table indexes (if any)" + + pg_stat_activity: + query: | + WITH + metrics AS ( + SELECT + application_name, + SUM(EXTRACT(EPOCH FROM (CURRENT_TIMESTAMP - state_change))::bigint)::float AS process_idle_seconds_sum, + COUNT(*) AS process_idle_seconds_count + FROM pg_stat_activity + WHERE state = 'idle' + GROUP BY application_name + ), + buckets AS ( + SELECT + application_name, + le, + SUM( + CASE WHEN EXTRACT(EPOCH FROM (CURRENT_TIMESTAMP - state_change)) <= le + THEN 1 + ELSE 0 + END + )::bigint AS bucket + FROM + pg_stat_activity, + UNNEST(ARRAY[1, 2, 5, 15, 30, 60, 90, 120, 300]) AS le + GROUP BY application_name, le + ORDER BY application_name, le + ) + SELECT + application_name, + process_idle_seconds_sum, + process_idle_seconds_count, + ARRAY_AGG(le) AS process_idle_seconds, + ARRAY_AGG(bucket) AS process_idle_seconds_bucket + FROM metrics JOIN buckets USING (application_name) + GROUP BY 1, 2, 3 + metrics: + - application_name: + usage: "LABEL" + description: "Application Name" + - process_idle_seconds: + usage: "HISTOGRAM" + description: "Idle time of server processes" +--- +apiVersion: v1 +kind: Secret +metadata: + namespace: default + name: example-monitoring-secret +stringData: + pg-database: | + pg_database: + query: "SELECT pg_database.datname, pg_database_size(pg_database.datname) as size_bytes FROM pg_database" + primary: true + cache_seconds: 30 + metrics: + - datname: + usage: "LABEL" + description: "Name of the database" + - size_bytes: + usage: "GAUGE" + description: "Disk space used by the database" diff --git a/temp_kubernetes/original/src/security.md b/temp_kubernetes/original/src/security.md index 3dce0c06863..c2211205897 100644 --- a/temp_kubernetes/original/src/security.md +++ b/temp_kubernetes/original/src/security.md @@ -1,16 +1,23 @@ # Security -This section contains information about security for Cloud Native PostgreSQL, -from a few standpoints: source code, Kubernetes, and PostgreSQL. +This section contains information about security for Cloud Native PostgreSQL +analyzed at 3 different layers: Code, Container and Cluster. !!! Warning The information contained in this page must not exonerate you from - performing regular InfoSec duties on your Kubernetes cluster. + performing regular InfoSec duties on your Kubernetes cluster. Please + familiarize with the ["Overview of Cloud Native Security"](https://kubernetes.io/docs/concepts/security/overview/) + page from the Kubernetes documentation. + +!!! Seealso "About the 4C's Security Model" + Please refer to ["The 4C’s Security Model in Kubernetes"](https://www.enterprisedb.com/blog/4cs-security-model-kubernetes) + blog article to get a better understanding and context of the approach EDB + has taken with security in Cloud Native PostgreSQL. -## Source code static analysis +## Code Source code of Cloud Native PostgreSQL is *systematically scanned* for static analysis purposes, -including **security problems**, using a popular open-source for Go called +including **security problems**, using a popular open-source linter for Go called [GolangCI-Lint](https://github.com/golangci/golangci-lint) directly in the CI/CD pipeline. GolangCI-Lint can run several *linters* on the same source code. @@ -27,7 +34,39 @@ the code such as hard-coded credentials, integer overflows and SQL injections - Source code is also regularly inspected through [Coverity Scan by Synopsys](https://scan.coverity.com/) via EnterpriseDB's internal CI/CD pipeline. -## Kubernetes +## Container + +Every container image that is part of Cloud Native PostgreSQL is automatically built via CI/CD pipelines following every commit. +Such images include not only the operator's, but also the operands' - specifically every supported PostgreSQL and EDB Postgres Advanced version. +Within the pipelines, images are scanned with: + +- [Dockle](https://github.com/goodwithtech/dockle): for best practices in terms + of the container build process +- [Clair](https://github.com/quay/clair): for vulnerabilities found in both the + underlying operating system as well as libraries and applications that they run + +!!! Important + All operand images are automatically rebuilt once a day by our pipelines in case + of security updates at the base image and package level, providing **patch level updates** + for the container images that EDB distributes. + +The following guidelines and frameworks have been taken into account for container-level security: + +- the ["Container Image Creation and Deployment Guide"](https://dl.dod.cyber.mil/wp-content/uploads/devsecops/pdf/DevSecOps_Enterprise_Container_Image_Creation_and_Deployment_Guide_2.6-Public-Release.pdf), + developed by the Defense Information Systems Agency (DISA) of the United States Department of Defense (DoD) +- the ["CIS Benchmark for Docker"](https://www.cisecurity.org/benchmark/docker/), + developed by the Center for Internet Security (CIS) + +!!! Seealso "About the Container level security" + Please refer to ["Security and Containers in Cloud Native PostgreSQL"](https://www.enterprisedb.com/blog/security-and-containers-cloud-native-postgresql) + blog article for more information about the approach that EDB has taken on + security at container level in Cloud Native PostgreSQL. + +## Cluster + +Security at the cluster level takes into account all Kubernetes components that +form both the control plane and the nodes, as well as the applications that run in +the cluster (PostgreSQL included). ### Pod Security Policies @@ -52,100 +91,7 @@ Network policies are beyond the scope of this document. Please refer to the ["Network policies"](https://kubernetes.io/docs/concepts/services-networking/network-policies/) section of the Kubernetes documentation for further information. -### Resources - -In a typical Kubernetes cluster, containers run with unlimited resources. By default, -they might be allowed to use as much CPU and RAM as needed. - -Cloud Native PostgreSQL allows administrators to control and manage resource usage by the pods of the cluster, -through the `resources` section of the manifest, with two knobs: - -- `requests`: initial requirement -- `limits`: maximum usage, in case of dynamic increase of resource needs - -For example, you can request an initial amount of RAM of 32MiB (scalable to 128MiB) and 50m of CPU (scalable to 100m) as follows: - -```yaml - resources: - requests: - memory: "32Mi" - cpu: "50m" - limits: - memory: "128Mi" - cpu: "100m" -``` - -Memory requests and limits are associated with containers, but it is useful to think of a pod as having a memory request -and limit. The memory request for the pod is the sum of the memory requests for all the containers in the pod. - -Pod scheduling is based on requests and not limits. A pod is scheduled to run on a Node only if the Node has enough -available memory to satisfy the pod's memory request. - -For each resource, we divide containers into 3 Quality of Service (QoS) classes, in decreasing order of priority: - -- *Guaranteed* -- *Burstable* -- *Best-Effort* - -For more details, please refer to the ["Configure Quality of Service for Pods"](https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#qos-classes) section in the Kubernetes documentation. - -For a PostgreSQL workload it is recommended to set a "Guaranteed" QoS. - -In order to avoid resources related issues in Kubernetes, we can refer to the best practices for "out of resource" handling while creating -a cluster: - -- Specify your required values for memory and CPU in the resources section of the manifest file. - This way you can avoid the `OOM Killed` (where "OOM" stands for Out Of Memory) and `CPU throttle` or any other resources - related issues on running instances. -- In order for the pods of your cluster to get assigned to the "Guaranteed" QoS class, you must set limits and requests - for both memory and CPU to the same value. -- Specify your required PostgreSQL memory parameters consistently with the pod resources (like you would do in a VM or physical machine scenario - see below). -- Set up database server pods on a dedicated node using nodeSelector. - See the ["nodeSelector field of the affinityconfiguration resource on the API reference page"](api_reference.md#affinityconfiguration). - -You can refer the following example manifest: - -```yaml -apiVersion: postgresql.k8s.enterprisedb.io/v1 -kind: Cluster -metadata: - name: postgresql-resources -spec: - - instances: 3 - - postgresql: - parameters: - shared_buffers: "256MB" - - resources: - requests: - memory: "1024Mi" - cpu: 1 - limits: - memory: "1024Mi" - cpu: 1 - - storage: - size: 1Gi -``` - -In the above example, we have specified `shared_buffers` parameter with a value of `256MB` - i.e. how much memory is -dedicated to the PostgreSQL server for caching data (the default value for this parameter is `128MB` in case it's not defined). - -A reasonable starting value for `shared_buffers` is 25% of the memory in your system. -For example: if your `shared_buffers` is 256 MB, then the recommended value for your container memory size is 1 GB, -which means that within a pod all the containers will have a total of 1 GB memory that Kubernetes will always preserve, -enabling our containers to work as expected. -For more details, please refer to the ["Resource Consumption"](https://www.postgresql.org/docs/current/runtime-config-resource.html) -section in the PostgreSQL documentation. - -!!! See also "Managing Compute Resources for Containers" - For more details on resource management, please refer to the - ["Managing Compute Resources for Containers"](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) - page from the Kubernetes documentation. - -## PostgreSQL +### PostgreSQL The current implementation of Cloud Native PostgreSQL automatically creates passwords and `.pgpass` files for the `postgres` superuser and the database owner. From 12c60c90f22b3395cee3e0996fe731ed09290a90 Mon Sep 17 00:00:00 2001 From: George Song Date: Fri, 2 Apr 2021 16:02:08 -0700 Subject: [PATCH 2/2] docs: how to update CNP docs directions --- docs/how-tos/sync-cnp-docs.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 docs/how-tos/sync-cnp-docs.md diff --git a/docs/how-tos/sync-cnp-docs.md b/docs/how-tos/sync-cnp-docs.md new file mode 100644 index 00000000000..afea70fb812 --- /dev/null +++ b/docs/how-tos/sync-cnp-docs.md @@ -0,0 +1,20 @@ +# Sync Cloud-Native-PostgreSQL Docs + +Currently we need to manually sync over [cloud-native-postgresql][cnp]("CNP") +docs whenever there's a new release. The long term goal is to automate this via +GitHub action dispatch and automated event handling. + +1. The CNP team informs us that there's a new version. +1. Check out the appropriate version from the [CNP][] repo. +1. Replace `docs:temp_kubernetes/original/` with + `cloud-native-postgresql:docs/`. +1. Transpile original source documentation into MDX format: + + ```sh + python scripts/source/source_cloud_native_operator.py + ``` + +1. Replace `advocacy_docs/kubernetes/cloud-native-postgresql/` with + `temp_kubernetes/build/`. + +[cnp]: https://github.com/EnterpriseDB/cloud-native-postgresql