From a3ed5c8630c59949fbc13e40411d7d46a99b834c Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Tue, 25 Feb 2025 17:28:35 +0000 Subject: [PATCH 01/23] TELCODOCS-2145 Update Ansible Edge GitOps --- .../patterns/ansible-edge-gitops/_index.adoc | 69 +++ .../ansible-automation-platform.adoc | 292 +++++++++++ .../ansible-edge-gitops/getting-started.adoc | 361 ++++++++++++++ .../ideas-for-customization.adoc | 323 ++++++++++++ .../installation-details.adoc | 245 +++++++++ .../openshift-virtualization.adoc | 471 ++++++++++++++++++ .../ansible-edge-gitops/troubleshooting.adoc | 5 + static/images/ansible-edge-gitops/aeg-vms.png | Bin 0 -> 72294 bytes .../ansible-edge-ops-applications.png | Bin 0 -> 192125 bytes .../ansible-edge-gitops/ansible-edge-ops.png | Bin 0 -> 163751 bytes 10 files changed, 1766 insertions(+) create mode 100644 content/patterns/ansible-edge-gitops/_index.adoc create mode 100644 content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc create mode 100644 content/patterns/ansible-edge-gitops/getting-started.adoc create mode 100644 content/patterns/ansible-edge-gitops/ideas-for-customization.adoc create mode 100644 content/patterns/ansible-edge-gitops/installation-details.adoc create mode 100644 content/patterns/ansible-edge-gitops/openshift-virtualization.adoc create mode 100644 content/patterns/ansible-edge-gitops/troubleshooting.adoc create mode 100644 static/images/ansible-edge-gitops/aeg-vms.png create mode 100644 static/images/ansible-edge-gitops/ansible-edge-ops-applications.png create mode 100644 static/images/ansible-edge-gitops/ansible-edge-ops.png diff --git a/content/patterns/ansible-edge-gitops/_index.adoc b/content/patterns/ansible-edge-gitops/_index.adoc new file mode 100644 index 000000000..b89fcc723 --- /dev/null +++ b/content/patterns/ansible-edge-gitops/_index.adoc @@ -0,0 +1,69 @@ +== Ansible Edge GitOps + +=== Background + +Organizations are interested in accelerating their deployment speeds and +improving delivery quality in their Edge environments, where many +devices may not fully or even partially embrace the GitOps philosophy. +Further, there are VMs and other devices that can and should be managed +with Ansible. This pattern explores some of the possibilities of using +an OpenShift-based Ansible Automated Platform deployment and managing +Edge devices, based on work done with a partner in the Chemical space. + +This pattern uses OpenShift Virtualization (the productization of +Kubevirt) to simulate the Edge environment for VMs. + +==== Solution elements + +* How to use a GitOps approach to manage virtual machines, either in +public clouds (limited to AWS for technical reasons) or on-prem +OpenShift installations +* How to integrate AAP into OpenShift +* How to manage Edge devices using AAP hosted in OpenShift + +==== Red Hat Technologies + +* Red Hat OpenShift Container Platform (Kubernetes) +* Red Hat Ansible Automation Platform (formerly known as "`Ansible +Tower`") +* Red Hat OpenShift GitOps (ArgoCD) +* OpenShift Virtualization (Kubevirt) +* Red Hat Enterprise Linux 8 + +==== Other Technologies this Pattern Uses + +* Hashicorp Vault +* External Secrets Operator +* Inductive Automation Ignition + +=== Architecture + +Similar to other patterns, this pattern starts with a central management +hub, which hosts the AAP and Vault components. + +==== Logical architecture + +.Ansible-Edge-Gitops-Architecture +image::/images/ansible-edge-gitops/ansible-edge-gitops-arch.png[Ansible-Edge-Gitops-Architecture] + +==== Physical Architecture + +.Ansible-Edge-GitOps-Physical-Architecture +image::/images/ansible-edge-gitops/aeg-arch-schematic.png[Ansible-Edge-GitOps-Physical-Architecture] + +=== Recorded Demo + +TBD + +=== Other Presentations Featuring this Pattern + +==== Registration Required + +https://tracks.redhat.com/c/validated-patterns_i?x=5wCWYS&lx=lT1ZfK[image:/images/ansible-edge-gitops/automates-june-2022-deck-thumb.png[Ansible-Automates-June-2022-Deck]] + +https://tracks.redhat.com/c/preview-42?x=5wCWYS&lx=lT1ZfK[image:/images/ansible-edge-gitops/automates-june-2022-video-thumb.png[Ansible-Automates-June-2022-Video]] + +=== What Next + +* link:getting-started[Getting Started: Deploying and Validating the +Pattern] diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc new file mode 100644 index 000000000..f4003736a --- /dev/null +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -0,0 +1,292 @@ +== Ansible Automation Platform + +== How it’s installed + +See the installation details +link:/patterns/ansible-edge-gitops/installation-details/#ansible-automation-platform-aap-formerly-known-as-ansible-tower[here]. + +== How to Log In + +The default login user is `+admin+` and the password is generated +randomly at install time; you will need the password to login in to the +AAP interface. You do not have to log in to the interface - the pattern +will configure the AAP instance; the pattern retrieves the password +using the same technique as the `+ansible_get_credentials.sh+` script +described below. If you want to inspect the AAP instance, or change any +aspects of its configuration, there are two ways to login and look at +it. Both mechanisms are equivalent; you get the same password to the +same instance using either technique. + +=== Via the OpenShift Console + +In the OpenShift console, navigate to Workloads > Secrets and select the +"`ansible-automation-platform`" project if you want to limit the number +of Secrets you can see. + +link:/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password.png[image:/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password.png[secrets-navigation]] + +The Secret you are looking for is in the `+ansible-automation-platform+` +project and is named `+controller-admin-password+`. If you click on it, +you can see the Data.password field. It is shown revealed below to show +that it is the same as what is shown by the script method of retrieving +it below: + +link:/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail.png[image:/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail.png[secrets-detail]] + +=== Via https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_get_credentials.sh[ansible_get_credentials.sh] + +With your KUBECONFIG set, you can run +`+./scripts/ansible-get-credentials.sh+` from your top-level pattern +directory. This will use your OpenShift cluster admin credentials to +retrieve the URL for your Ansible Automation Platform instance, as well +as the password for its `+admin+` user, which is auto-generated by the +AAP operator by default. The output of the command looks like this (your +password will be different): + +[source,text] +---- +./scripts/ansible_get_credentials.sh +[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match +'all' + +PLAY [Install manifest on AAP controller] ****************************************************************************** + +TASK [Retrieve API hostname for AAP] *********************************************************************************** +ok: [localhost] + +TASK [Set ansible_host] ************************************************************************************************ +ok: [localhost] + +TASK [Retrieve admin password for AAP] ********************************************************************************* +ok: [localhost] + +TASK [Set admin_password fact] ***************************************************************************************** +ok: [localhost] + +TASK [Report AAP Endpoint] ********************************************************************************************* +ok: [localhost] => { + "msg": "AAP Endpoint: https://controller-ansible-automation-platform.apps.mhjacks-aeg.blueprints.rhecoeng.com" +} + +TASK [Report AAP User] ************************************************************************************************* +ok: [localhost] => { + "msg": "AAP Admin User: admin" +} + +TASK [Report AAP Admin Password] *************************************************************************************** +ok: [localhost] => { + "msg": "AAP Admin Password: CKollUjlir0EfrQuRrKuOJRLSQhi4a9E" +} + +PLAY RECAP ************************************************************************************************************* +localhost : ok=7 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 +---- + +== Pattern AAP Configuration Details + +In this section, we describe the details of the AAP configuration we +apply as part of installing the pattern. All of the configuration +discussed in this section is applied by the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] +script. + +=== Loading a Manifest + +After validating that AAP is ready to be configured, the first thing the +script does is to install the manifest you specify in the +`+values-secret.yaml+` file in the `+files.manifest+` setting. The value +of this setting is expected to be a fully-pathed file that represents a +Red Hat Satellite manifest file with a valid entitlement for AAP. The +_only_ thing this manifest is used for is entitling AAP. + +Instructions for creating a suitable manifest file can be found +https://www.redhat.com/en/blog/how-create-and-use-red-hat-satellite-manifest[here]. + +While it is absolutely possible to entitle AAP via a username/password +on first login, the automated mechanisms for entitling only support +manifests, that is the technique the pattern uses. + +=== Organizations + +The pattern installs an Organization called `+HMI Demo+` is installed. +This makes it a bit easier to separate what the pattern is doing versus +the default configuration of AAP. The other resources created in AAP as +part of the load process are associated with this Organization. + +=== Credential Types (and their Credentials) + +==== Kubeconfig (Kubeconfig) + +The Kubeconfig credential is for holding the OpenShift cluster admin +kubeconfig file. This is used to query the `+edge-gitops-vms+` namespace +for running VM instances. Since the kubeconfig is necessary for +installing the pattern and must be available when the load script is +running, the load script pulls it into an AAP secret and stores it for +later use (and calls it `+Kubeconfig+`). + +The template for creating the Credential Type was taken from +https://blog.networktocode.com/post/kubernetes-collection-ansible/[here]. + +==== RHSMcredential (rhsm_credential) + +This credential is required to register the RHEL VMs and configure them +for Kiosk mode. The registration process allows them to install packages +from the Red Hat Content Delivery Network. + +==== Machine (kiosk-private-key) + +This is a standard AAP Machine type credential. `+kiosk-private-key+` is +created with the username and private key from your +`+values-secret.yaml+` file in the `+kiosk-ssh.username+` and +`+kiosk-ssh.privatekey+` fields. + +==== KioskExtraParams (kiosk_container_extra_params) + +This CredentialType is considered "`secret`" because it includes the +admin login password for the Ignition application. This passed to the +provisioning playbook(s) as extra_vars. + +=== Inventory + +The pattern installs an Inventory (HMI Demo), but no inventory sources. +This is due to the way that OpenShift Virtualization provides access to +virtual machines. The IP address associated with the SSH service that a +given VM is running is associated with the Service object on the VM. +This is not the way the Kubernetes inventory plugin expects to work. So +to make inventory dynamic, we are instead using a play to discover VMs +and add them to inventory "`on the fly`". What is unusual about DNS +inside a Kubernetes cluster is that resources outside the namespace must +use the cluster FQDN - which is +`+resource-name.resource-namespace.svc+`. + +It is also possible to define a static inventory - an example of how +this would like is preserved in the pattern repository as +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/hosts[hosts]. + +A standard dynamic inventory script is available +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/openshift_cluster.yml[here]. +This will retrieve the object names, but it will not (currently) map the +FQDN properly. Because of this limitation, we moved to using the +inventory pre-play method. + +=== Templates (key playbooks in the pattern) + +==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/dynamic_kiosk_provision.yml[Dynamic Provision Kiosk Playbook] + +This combines all three key workflows in this pattern: + +* Dynamic inventory (inventory preplay) +* Kiosk Mode +* Podman Playbook + +It is safe to run multiple times on the same system. It is run on a +schedule, every 10 minutes, to demonstrate this. + +==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/kiosk_playbook.yml[Kiosk Mode Playbook] + +This playbook runs the +link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode +role]. + +==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/podman_playbook.yml[Podman Playbook] + +This playbook runs the +link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle +role] with overrides suitable for the Ignition application container. + +==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ping.yml[Ping Playbook] + +This playbook is for testing basic connectivity - making sure that you +can reach the nodes you wish to manage, and that the credentials you +have given will work on them. It will not change anything on the VMs - +just gather facts from them (which requires elevating to root). + +=== Schedules + +==== Update Project AEG GitOps + +This job runs every 5 minutes to update the GitOps repository associated +with the project. This is necessary when any of the Ansible code (for +example, the playbooks or roles associated with the pattern) changes, so +that the new code is available to the AAP instance. + +==== Dynamic Provision Kiosk Playbook + +This job runs every 10 minutes to provision and configure any kiosks it +finds to run the Ignition application in a podman container, and +configure firefox in kiosk mode to display that application. The +playbook is designed to be idempotent, so it is safe to run multiple +times on the same targets; it will not make user-visible changes to +those targets unless it must. + +This playbook combines the +link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[inventory_preplay] +and the +link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[Provision +Kiosk Playbook]. + +=== Execution Environment + +The pattern includes an execution environment definition that can be +found +https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/execution_environment[here]. + +The execution environment includes some additional collections beyond +what is provided in the Default execution environment, including: + +* https://linux-system-roles.github.io/[fedora.linux_system_roles] +* https://galaxy.ansible.com/containers/podman[containers.podman] +* https://docs.ansible.com/ansible/latest/collections/community/okd/index.html[community.okd] + +The execution environment definition is provided if you want to +customize or change it; if so, you should also change the Execution +Environment attributes of the Templates (in the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[load +script], those attributes are set by the variables +`+aap_execution_environment+` and `+aap_execution_environment_image+`). + +=== Roles included in the pattern + +==== https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/roles/kiosk_mode[kiosk_mode] + +This role is responsible does the following: + +* RHEL node registration +* Installation of GUI packages +* Installation of Firefox +* Configuration of Firefox kiosk mode + +==== https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/roles/container_lifecycle[container_lifecycle] + +This role is responsible for: + +* Downloading and running a podman image on the system (and configure it +to auto-update) +* Setting the container up to run at boot time +* Passing any other runtime arguments to the container. In this +container’s case, that includes specifying an admin password override. + +=== Extra Playbooks in the Pattern + +==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml[inventory_preplay.yml] + +This playbook is designed to be included in other plays; its purpose is +to discover the desired inventory and add those hosts to inventory at +runtime. It uses a kubernetes query via the cluster-admin kube config +file. + +==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml[Provision Kiosk Playbook] + +This does the work of provisioning the kiosk, which configures kiosk +mode, and also installs Ignition and configures it to start at boot. It +runs the +link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode] +and +link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle] +roles. + +== Next Steps + +=== https://groups.google.com/g/validatedpatterns[Help & Feedback] + +=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc new file mode 100644 index 000000000..35aad955f --- /dev/null +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -0,0 +1,361 @@ +--- +title: Getting Started +weight: 10 +aliases: /ansible-edge-gitops/getting-started/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + +[id="deploying-ansible-edge-gitops-pattern"] +== Deploying the {fe-pattern} + +.Prerequisites + +* An OpenShift cluster + ** To create an OpenShift cluster, go to the https://console.redhat.com/[Red Hat Hybrid Cloud console]. + ** Select *OpenShift \-> Red Hat OpenShift Container Platform \-> Create cluster*. +* A GitHub account and a token for it with repositories permissions, to read from and write to your forks. +* The Helm binary, see link:https://helm.sh/docs/intro/install/[Installing Helm] +For installation tool dependencies, see link:https://validatedpatterns.io/learn/quickstart/[Patterns quick start]. + +It is desirable to have a cluster for deploying the GitOps management hub assets and a separate cluster(s) for the managed cluster(s). + +[id="preparing-for-deployment"] +== Preparing for deployment +.Procedure + +. Fork the link:https://github.com/validatedpatterns/ansible-edge-gitops[ansible-edge-gitops] repository on GitHub. You must fork the repository because your fork is updated as part of the GitOps and DevOps processes. + +. Clone the forked copy of this repository. ++ +[source,terminal] +---- +$ git clone git@github.com:your-username/ansible-edge-gitops.git +---- + +. Go to your repository: Ensure you are in the root directory of your Git repository by using: ++ +[source,terminal] +---- +$ cd /path/to/your/repository +---- + +. Run the following command to set the upstream repository: ++ +[source,terminal] +---- +$ git remote add -f upstream git@github.com:validatedpatterns/ansible-edge-gitops.git +---- + +. Verify the setup of your remote repositories by running the following command: ++ +[source,terminal] +---- +$ git remote -v +---- ++ +.Example output ++ +[source,terminal] +---- +origin git@github.com:kquinn1204/ansible-edge-gitops.git (fetch) +origin git@github.com:kquinn1204/ansible-edge-gitops.git (push) +upstream git@github.com:validatedpatterns/ansible-edge-gitops.git (fetch) +upstream git@github.com:validatedpatterns/ansible-edge-gitops.git (push) +---- + +. Make a local copy of secrets template outside of your repository to hold credentials for the pattern. ++ +[WARNING] +==== +Do not place this file in your repository, and do not commit or push it. This would risk pushing personal credentials to GitHub. +==== ++ +Run the following commands: ++ +[source,terminal] +---- +$ cp values-secret.yaml.template ~/values-secret.yaml +---- + +. Populate this file with secrets, or credentials, that are needed to deploy the pattern successfully: ++ +[source,terminal] +---- +$ vi ~/values-secret.yaml +---- + +.. Edit the `vm-ssh` section to include the username, private key, and public key. To ensure the seamless flow of the pattern, the value associated with the `privatekey` and `publickey` has been updated with `path`. For example: ++ +[source,yaml] +---- + - name: vm-ssh + fields: + - name: username + value: 'cloud-user' + - name: privatekey + path: '/path/to/private-ssh-key' + - name: publickey + path: '/path/to/public-ssh-key' +---- ++ +Paste the path to your locally stored private and public keys. If you do not have a key pair, generate one using `ssh-keygen`. + +.. Edit the `rhsm` section to include the Red Hat Subscription Management username and password. For example: ++ +[source,yaml] +---- + - name: rhsm + fields: + - name: username + value: 'username of user to register RHEL VMs' + - name: password + value: 'password of rhsm user in plaintext' +---- ++ +This is the username and password that you use to log in to link:https://catalog.redhat.com/[registry.redhat.io.]. + +.. Edit the `cloud-init` section to include the `userData` block to use with cloud-init. For example: ++ +[source,yaml] +---- + - name: cloud-init + fields: + - name: userData + value: |- + #cloud-config + user: 'cloud-user' + password: 'cloud-user' + chpasswd: { expire: False } +---- + +.. Edit the `aap-manifest` section to include the path to the downloaded manifest zip file that gives an entitlement to run Ansible Automation Platform. Create a subscription manifest by following the guidance at link:https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.4/html-single/red_hat_ansible_automation_platform_operations_guide/index#proc-create-subscription-allocation_obtain-manifest[Obtaining a manifest file]. For example add the following: ++ +[source,yaml] +---- + - name: aap-manifest + fields: + - name: + path: '~/Downloads/.zip' + base64: true +---- + +.. Edit the `automation-hub-token` section to include the token generated at . Click the *Load token* link at link:https://console.redhat.com/ansible/automation-hub/token[Automation Hub Token] to generate a token. For example: ++ +[source,yaml] +---- + - name: automation-hub-token + fields: + - name: token + path: '/path/to/automation-hub-token' +---- + +.. Optionally: Edit the `agof-vault-file` section to use the following (you do not need additional secrets for this pattern): ++ +[source,yaml] +---- + - name: agof-vault-file + fields: + - name: agof-vault-file + value: '---' + base64: true +---- + +.. Edit the `otel-cert` section to include the path to a pre-existing TLS key and certificate. Populate as shown below: ++ +[source,yaml] +---- + - name: otel-cert + fields: + - name: tls.key + path: '~/federated-edge-observability-otel-collector-edge-observability-stack.key' + + - name: tls.crt + path: '~/federated-edge-observability-otel-collector-edge-observability-stack.crt' +---- ++ +Certificates for the OpenTelemetry collector infrastructure. `Snakeoil` that is, self-signed certificates are automatically generated by the `makefile` as follows by the `make snakeoil-certs` target, which is automatically run by `make install`. + +. Create and switch to a new branch named my-branch, by running the following command: ++ +[source,terminal] +---- +$ git checkout -b my-branch +---- + +. Edit the `values-global.yaml` file to customize the deployment for your cluster. The defaults in `values-global.yaml` are designed to work in AWS. For example: ++ +[source,terminal] +---- +$ vi values-global.yaml +---- + +. Add the changes to the staging area by running the following command: ++ +[source,terminal] +---- +$ git add values-global.yaml +---- + +. Commit the changes by running the following command: ++ +[source,terminal] +---- +$ git commit -m "any updates" +---- + +. Push the changes to your forked repository: ++ +[source,terminal] +---- +$ git push origin my-branch +---- + +The preferred way to install this pattern is You can proceed to install the {fe-pattern} pattern by using the web console or from command line by using the script `./pattern.sh` script. + +To install the {fe-pattern} pattern by using the web console you must first install the Validated Patterns Operator. The Validated Patterns Operator installs and manages Validated Patterns. + +[id="deploying-cluster-using-patternsh-file"] +== Deploying the cluster by using the pattern.sh file + +To deploy the cluster by using the `pattern.sh` file, complete the following steps: + +. Log in to your cluster by running the following this procedure: + +.. Obtain an API token by visiting link:https://oauth-openshift.apps../oauth/token/request[https://oauth-openshift.apps../oauth/token/request]. + +.. Log in to the cluster by running the following command: ++ +[source,terminal] +---- +$ $ oc login --token= --server=https://api..:6443 +---- ++ +Alternatively log in by running the following command: ++ +[source,terminal] +---- +$ export KUBECONFIG=~/ +---- + +. Deploy the pattern to your cluster. Run the following command: ++ +[source,terminal] +---- +$ ./pattern.sh make install +---- + +.Verification + +. Verify that the Operators have been installed. + + .. To verify, in the OpenShift Container Platform web console, navigate to *Operators → Installed Operators* page. + + +.ansible-edge-gitops-operators +image::/images/ansible-edge-gitops/ansible-edge-ops.png[ansible-edge-gitops-operators,title="Ansible Edge GitOps Operators"] + +. Wait some time for everything to deploy. You can track the progress through the `Hub ArgoCD` UI from the nines menu. ++ +.ansible-edge-gitops-operators-applications +image::/images/ansible-edge-gitops/ansible-edge-ops-applications.png[ansible-edge-gitops-operators-applications,title="Ansible Edge GitOps Applications"] + +As part of installing by using the script `pattern.sh` pattern, HashiCorp Vault is installed. Running `./pattern.sh make install` also calls the `load-secrets` makefile target. This `load-secrets` target looks for a YAML file describing the secrets to be loaded into vault and in case it cannot find one it will use the `values-secret.yaml.template` file in the git repository to try to generate random secrets. + +For more information, see section on https://validatedpatterns.io/secrets/vault/[Vault]. + +. Under *Virtualization* > *VirtualMachines*, the virtual machines show as `Running`. Once they are in `Running` state the +Provisioning workflow will run on them, install the OpenTelemetry collector, and start reporting metrics to the Edge Observability Stack +in the hub cluster. ++ +.ansible-edge-gitops-vms +image::/images/ansible-edge-gitops/aeg-vms.png[ansible-edge-gitops-vms,title="Ansible Edge GitOps Virtual Machines"] + + +* Finally, the VM Consoles will show the Ignition introduction screen. You can choose any of these options; this tutorial assumes you chose +"`Ignition`": + +.ansible-edge-gitops-ignition-options +image::/images/ansible-edge-gitops/aeg-vm-ignition-intro.png[ansible-edge-gitops-ignition-options,title="Ansible Edge GitOps Ignition Options"] + +* You should be able to login to the application with the userid "`admin`" and the password you specified as the GATEWAY_ADMIN_PASSWORD +in `+container_extra_params+` in your values-secret.yaml file. + +.ansible-edge-gitops-vmconsole +image::/images/ansible-edge-gitops/aeg-openshift-vm-console.png[ansible-edge-gitops-vmconsole,title="Ansible Edge GitOps VM Console"] + +Please see link:/ansible-edge-gitops/installation-details/[Installation Details] for more information on the steps of installation. + +Please see link:/ansible-edge-gitops/ansible-automation-platform/[Ansible Automation Platform] for more information on how this pattern uses the +Ansible Automation Platform Operator for OpenShift. + +Please see link:/ansible-edge-gitops/openshift-virtualization/[OpenShift Virtualization] for more information on how this pattern uses OpenShift +Virtualization. + +== Infrastructure Elements of this Pattern + +=== https://www.redhat.com/en/technologies/management/ansible[Ansible Automation Platform] + +A fully functional installation of the Ansible Automation Platform operator is installed on your OpenShift cluster to configure and +maintain the VMs for this demo. AAP maintains a dynamic inventory of kiosk machines and can configure a VM from template to fully functional +kiosk in about 10 minutes. + +=== OpenShift https://docs.openshift.com/container-platform/latest/virt/about_virt/about-virt.html[Virtualization] + +OpenShift Virtualization is a Kubernetes-native way to run virtual machine workloads. It is used in this pattern to host VMs simulating an +Edge environment; the chart that configures the VMs is designed to be flexible to allow easy customization to model different VM sizes, mixes, +versions and profiles for future pattern development. + +=== HashiCorp https://www.vaultproject.io/[Vault] + +Vault is used as the authoritative source for the Kiosk ssh pubkey via the External Secrets Operator. As part of this pattern HashiCorp Vault +has been installed. Refer to the section on https://validatedpatterns.io/secrets/vault/[Vault]. + + + + +== Infrastructure Elements of this Pattern + +=== https://www.redhat.com/en/technologies/management/ansible[Ansible Automation Platform] + +A fully functional installation of the Ansible Automation Platform +operator is installed on your OpenShift cluster to configure and +maintain the VMs for this demo. AAP maintains a dynamic inventory of +kiosk machines and can configure a VM from template to fully functional +kiosk in about 10 minutes. + +=== OpenShift https://docs.openshift.com/container-platform/4.16/virt/about_virt/about-virt.html[Virtualization] + +OpenShift Virtualization is a Kubernetes-native way to run virtual +machine workloads. It is used in this pattern to host VMs simulating an +Edge environment; the chart that configures the VMs is designed to be +flexible to allow easy customization to model different VM sizes, mixes, +versions and profiles for future pattern development. + +=== Inductive Automation https://inductiveautomation.com/[Ignition] + +The goal of this pattern is to configure 2 VMs running Firefox in Kiosk +mode displaying the demo version of the Ignition application running in +a podman container. Ignition is a popular tool in use with Oil and Gas +companies; it is included as a real-world example and as an item to +spark imagination about what other applications could be installed and +managed this way. + +The container used for this pattern is the container +https://hub.docker.com/r/inductiveautomation/ignition[image] published +by Inductive Automation. + +=== HashiCorp https://www.vaultproject.io/[Vault] + +Vault is used as the authoritative source for the Kiosk ssh pubkey via +the External Secrets Operator. As part of this pattern HashiCorp Vault +has been installed. Refer to the section on +https://validatedpatterns.io/secrets/vault/[Vault]. + +== Next Steps + +=== https://groups.google.com/g/validatedpatterns[Help & Feedback] + +=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc new file mode 100644 index 000000000..9d575dc32 --- /dev/null +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -0,0 +1,323 @@ +== Ideas for Customization + +== Why change it? + +One of the major goals of the Red Hat patterns development process is to +create modular, customizable demos. Maybe you are not interested in +Ignition as an application, or you do not have kiosks…but you do have +other use cases that involve running containers on edge devices. Maybe +you want to experiment with different releases of RHEL, or you want to +do something different with Ansible Automation Platform. + +This demo in particular can be customized in a number of ways that might +be very interesting - and here are some starter ideas with some +instructions on exactly what and where changes would need to be made in +the pattern to accommodate those changes. + +== HOWTO define your own VM sets using the chart + +[arabic] +. Either fork the repo or copy the edge-gitops-vms chart out of it. +. Customize the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/values.yaml[values.yaml] +file + +The `+vms+` data structure is designed to support multiple groups and +types of VMs. The `+kiosk+` example defines all of the variables +currently supported by the chart, including references to the Vault +instance and port definitions. If, for example, you wanted to replace +kiosk with new iotsensor and iotgateway types, the whole file might look +like this: + +[source,yaml] +---- +--- +secretStore: + name: vault-backend + kind: ClusterSecretStore + +cloudInit: + defaultUser: 'cloud-user' + defaultPassword: '6toh-n1d5-9xpq' + +vms: + iotsensor: + count: 4 + flavor: small + workload: server + os: rhel8 + role: iotgateway + storage: 20Gi + memory: 2Gi + cores: 1 + sockets: 1 + threads: 1 + cloudInitUser: cloud-user + cloudInitPassword: 6toh-n1d5-9xpq + template: rhel8-server-small + sshsecret: secret/data/hub/iotsensor-ssh + sshpubkeyfield: publickey + ports: + - name: ssh + port: 22 + protocol: TCP + targetPort: 22 + iotgateway: + count: 1 + flavor: medium + workload: server + os: rhel8 + role: iotgateway + storage: 30Gi + memory: 4Gi + cores: 1 + sockets: 1 + threads: 1 + cloudInitUser: cloud-user + cloudInitPassword: 6toh-n1d5-9xpq + template: rhel8-server-medium + sshsecret: secret/data/hub/iotgateway-ssh + sshpubkeyfield: publickey + ports: + - name: ssh + port: 22 + protocol: TCP + targetPort: 22 + - name: mqtt + port: 1883 + protocol: TCP + targetPort: 1883 +---- + +This would create 1 iotgateway VM and 4 iotsensor VMs. Adjustments would +also need to be made in +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-secret.yaml.template[values-secret] +and +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller] +to add the iotgateway-ssh and iotsensor-ssh data structures. + +== HOWTO define your own VM sets "`from scratch`" + +[arabic] +. Pick a default template from the standard OpenShift Virtualization +template library in the `+openshift+` namespace. For this pattern, we +used `+rhel8-desktop-medium+`: + +[source,text] +---- +$ oc get template -n openshift rhel8-desktop-medium +NAME DESCRIPTION PARAMETERS OBJECTS +rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +---- + +[arabic] +. It might help to create a VM through the command line template +process, and see what objects OpenShift Virtualization creates to bring +that VM up: + +To see the actual JSON that the template converts into: + +[source,text] +---- +$ oc process -n openshift rhel8-desktop-medium +{ + "kind": "List", + "apiVersion": "v1", + "metadata": {}, + "items": [ + { + "apiVersion": "kubevirt.io/v1", + "kind": "VirtualMachine", + "metadata": { + "annotations": { + "vm.kubevirt.io/validations": "[\n {\n \"name\": \"minimal-required-memory\",\n \"path\": \"jsonpath::.spec.domain.resources.requests.memory\",\n \"rule\": \"integer\",\n \"message\": \"This VM requires more memory.\",\n \"min\": 1610612736\n }\n]\n" + }, + "labels": { + "app": "rhel8-yywa22lijw8hl017", + "vm.kubevirt.io/template": "rhel8-desktop-medium", + "vm.kubevirt.io/template.revision": "1", + "vm.kubevirt.io/template.version": "v0.19.5" + }, + "name": "rhel8-yywa22lijw8hl017" + }, + "spec": { + "dataVolumeTemplates": [ + { + "apiVersion": "cdi.kubevirt.io/v1beta1", + "kind": "DataVolume", + "metadata": { + "name": "rhel8-yywa22lijw8hl017" + }, + "spec": { + "sourceRef": { + "kind": "DataSource", + "name": "rhel8", + "namespace": "openshift-virtualization-os-images" + }, + "storage": { + "resources": { + "requests": { + "storage": "30Gi" + } + } + } + } + } + ], + "running": false, + "template": { + "metadata": { + "annotations": { + "vm.kubevirt.io/flavor": "medium", + "vm.kubevirt.io/os": "rhel8", + "vm.kubevirt.io/workload": "desktop" + }, + "labels": { + "kubevirt.io/domain": "rhel8-yywa22lijw8hl017", + "kubevirt.io/size": "medium" + } + }, + "spec": { + "domain": { + "cpu": { + "cores": 1, + "sockets": 1, + "threads": 1 + }, + "devices": { + "disks": [ + { + "disk": { + "bus": "virtio" + }, + "name": "rhel8-yywa22lijw8hl017" + }, + { + "disk": { + "bus": "virtio" + }, + "name": "cloudinitdisk" + } + ], + "inputs": [ + { + "bus": "virtio", + "name": "tablet", + "type": "tablet" + } + ], + "interfaces": [ + { + "masquerade": {}, + "name": "default" + } + ], + "networkInterfaceMultiqueue": true, + "rng": {} + }, + "machine": { + "type": "pc-q35-rhel8.4.0" + }, + "resources": { + "requests": { + "memory": "4Gi" + } + } + }, + "evictionStrategy": "LiveMigrate", + "networks": [ + { + "name": "default", + "pod": {} + } + ], + "terminationGracePeriodSeconds": 180, + "volumes": [ + { + "dataVolume": { + "name": "rhel8-yywa22lijw8hl017" + }, + "name": "rhel8-yywa22lijw8hl017" + }, + { + "cloudInitNoCloud": { + "userData": "#cloud-config\nuser: cloud-user\npassword: nnpa-12td-e0r7\nchpasswd: { expire: False }" + }, + "name": "cloudinitdisk" + } + ] + } + } + } + } + ] +} +---- + +And to use the template to create a VM: + +[source,shell] +---- +oc process -n openshift rhel8-desktop-medium | oc apply -f - +virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created +---- + +In just a few minutes, you will have a blank rhel8 VM running, which you +can then login to (via console) and customize. + +[arabic] +. Get the details of this template as a local YAML file: + +[source,shell] +---- +oc get template -n openshift rhel8-desktop-medium -o yaml > my-template.yaml +---- + +Once you have this local template, you can view the elements you want to +customize, possibly using +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[this] +as an example. + +== HOWTO Define your own Ansible Controller Configuration + +The +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] +is designed to be relatively easy to customize with a new controller +configuration. Structurally, it is principally based on +https://github.com/redhat-cop/controller_configuration/blob/devel/playbooks/configure_controller.yml[configure_controller.yml] +from the Red Hat Community of Practice +https://github.com/redhat-cop/controller_configuration[controller_configuration] +collection. The order and specific list of roles invoked is taken from +there. + +To customize it, the main thing would be to replace the different +variables in the role tasks with the your own. The script includes the +roles for variable types that this pattern does not manage in order to +make that part straightforward. Feel free to add your own roles and +playbooks (and add them to the controller configuration script). + +The reason this pattern ships with a script as it does instead of +invoking the referenced playbook directly is that several of the +configuration elements depend on each other, and there was not a +super-convenient place to put things like the controller credentials as +the playbook suggests. + +== HOWTO substitute your own container application (instead of ignition) + +[arabic] +. Adjust the query in the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml[inventory_preplay.yml] +either by overriding the vars for the play, or forking the repo and +replacing the vars with your own query terms. (That is, use your own +label(s) and namespace to discover the services you want to connect to. +. Adjust or override the vars in the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml[provision_kiosk.yml] +playbook to suitable values for your own container application. The +roles it calls are fairly generic, so changing the vars is all you +should need to do. + +== Next Steps + +=== https://groups.google.com/g/validatedpatterns[Help & Feedback] + +=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc new file mode 100644 index 000000000..1c4ff75d5 --- /dev/null +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -0,0 +1,245 @@ +== Installation Details + +== Installation Steps + +These are the steps run by +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[make +install] and what each one does: + +=== https://github.com/validatedpatterns/common/blob/main/Makefile[operator-deploy] + +The operator-deploy task installs the Validated Patterns Operator, which +in turn creates a subscription for the OpenShift GitOps operator and +installs both the cluster and hub instances of it. The clustergroup +application will then read the values-global.yaml and values-hub.yaml +files for other subscriptions and applications to install. + +The +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[legacy-install] +is still provided for users that cannot or do not want to use the +Validated Patterns operator. Instead of installing the operator, it +installs a helm chart that does the same thing - installs a subscription +for OpenShift GitOps and installs a cluster-wide and hub instance of +that operator. It then proceeds with installing the clustergroup +application. + +Note that both the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[upgrade] +and +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[legacy-upgrade] +targets are now equivalent and interchangeable with `+install+` and +`+legacy-install+` (respectively - `+legacy-install/legacy-upgrade+` are +not compatible with standard `+install/upgrade+`. This was not always +the case, so both install/upgrade targets are still provided). + +==== Imperative section + +Part of the operator-deploy process is creating and running the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[imperative] +tools as defined in the hub values file. In this pattern, that includes +running the playbook to deploy the metal worker. + +The real code for this playbook (outside of a shell wrapper) is +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/deploy_kubevirt_worker.yml[here]. + +This script is another Ansible playbook that deploys a node to run the +Virtual Machines for the demo. The playbook uses the OpenShift +machineset API to provision the node in the first availability zone it +finds. Currently, AWS is the only major public cloud provider that +offers the deployment of a metal node through the normal provisioning +process. We hope that Azure and GCP will support this functionality soon +as well. + +Please be aware that the metal node is rather more expensive in compute +costs than most other AWS machine types. The trade-off is that running +the demo without hardware acceleration would take ~4x as long. + +It takes about 20-30 minutes for the metal node to become available to +run VMs. If you would like to see the current status of the metal node, +you can check it this way (assuming your kubeconfig is currently set up +to point to your cluster): + +[source,shell] +---- +oc get -A machineset +---- + +You will be looking for a machineset with `+metal-worker+` in its name: + +[source,text] +---- +NAMESPACE NAME DESIRED CURRENT READY AVAILABLE AGE +openshift-machine-api mhjacks-aeg-qx25w-metal-worker-us-west-2a 1 1 1 1 19m +openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2a 1 1 1 1 47m +openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2b 1 1 1 1 47m +openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2c 1 1 1 1 47m +openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2d 0 0 47m +---- + +When the `+metal-worker+` is showing "`READY`" and "`AVAILABLE`", the +virtual machines will begin provisioning on it. + +The metal node will be destroyed when the cluster is destroyed. The +script is idempotent and will create at most one metal node per cluster. + +=== https://github.com/validatedpatterns/common/blob/main/Makefile[post-install] + +Note that all the steps of `+post-install+` are idempotent. If you want +or need to reconfigure vault or AAP, the recommended way to do so is to +call `+make post-install+`. This may change as we move elements of this +pattern into the new imperative framework in `+common+`. + +Specific processes that are called by post-install include: + +==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[vault-init] + +Vault requires extra setup in the form of unseal keys and configuration +of secrets. The vault-init task does this. Note that it is safe to run +vault-init as it will exit successfully if it can connect to a cluster +with a running, unsealed vault. + +==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[load-secrets] + +This process (which calls push_secrets) calls an Ansible playbook that +reads the values-secret.yaml file and stores the data it finds there in +vault as keypairs. These values are then usable in the kubernetes +cluster. This pattern uses the ssh pubkey for the kiosk VMs via the +external secrets operator. + +This script will update secrets in vault if re-run; it is safe to re-run +if the secret values have not changed as well. + +==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[configure-controller] + +There are two parts to this script - the first part, with the code +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here], +retrieves the admin credentials from OpenShift to enable login to the +AAP Controller. + +The second part, which is the bulk of the ansible-load-controller +process is +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml[here] +and uses the +https://github.com/redhat-cop/controller_configuration[controller +configuration] framework to configure the Ansible Automation Platform +instance that is installed by the helm chart. + +This division is so that users can adapt this pattern more easily if +they’re running AAP, but not on OpenShift. + +The script waits until AAP is ready, and then proceeds to: + +[arabic] +. Install the manifest to entitle AAP +. Configure the custom Credential Types the demo needs +. Define an Organization for the Demo +. Add a Project for the Demo +. Add the Credentials for jobs to use +. Configure Host inventory and inventory sources, and smart inventories +to define target hosts +. Configure an Execution environment for the Demo +. Configure Job Templates for the Demo +. Configure Schedules for the jobs that need to repeat + +_Note:_ This script has defaults that it overrides when run as part of +`+make install+` that it derives from the environment (the repo that it +is attached to and the branch that it is on). So if you need to re-run +it, the most straightforward way to do this is to run `+make upgrade+` +when using the make-based installation process. + +== OpenShift GitOps (ArgoCD) + +OpenShift GitOps is central to this pattern as it is responsible for +installing all of the other components. The installation process is +driven through the installation of the +https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup] +chart. This in turn reads the repo’s +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml[global +values file], which instructs it to read the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[hub +values file]. This is how the pattern knows to apply the Subscriptions +and Applications listed further in the pattern. + +== ODF (OpenShift Data Foundations) + +ODF is the storage framework that is needed to provide resilient storage +for OpenShift Virtualization. It is managed via the helm chart +https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations[here]. +This is basically the same chart that our Medical Diagnosis pattern uses +(see link:/patterns/medical-diagnosis/getting-started/[here] for details +on the Medical Edge pattern’s use of storage). + +Please note that this chart will create a Noobaa S3 bucket named +nb.epoch_timestamp.cluster-domain which will not be destroyed when the +cluster is destroyed. + +== OpenShift Virtualization (KubeVirt) + +OpenShift Virtualization is a framework for running virtual machines as +native Kubernetes resources. While it can run without hardware +acceleration, the performance of virtual machines will suffer terribly; +some testing on a similar workload indicated a 4-6x delay running +without hardware acceleration, so at present this pattern requires +hardware acceleration. The pattern provides a script +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/deploy_kubevirt_worker.sh[deploy-kubevirt-worker.sh] +which will provision a metal worker to run virtual machines for the +pattern. + +OpenShift Virtualization currently supports only AWS and on-prem +clusters; this is because of the way that baremetal resources are +provisioned in GCP and Azure. We hope that OpenShift Virtualization can +support GCP and Azure soon. + +The installation of the OpenShift Virtualization HyperConverged +deployment is controlled by the chart +https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/cnv[here]. + +OpenShift Virtualization was chosen in this pattern to avoid dealing +with the differences in galleries and templates of images between the +different public cloud providers. The important thing from this +pattern’s standpoint is the availability of machine instances to manage +(since we are simulating an Edge deployment scenario, which could either +be bare metal instances or virtual machines); OpenShift Virtualization +was the easiest and most portable way to spin up machine instances. It +also provides mechanisms for defining the desired machine set +declaratively. + +The creation of virtual machines is controlled by the chart +https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[here]. + +More details about the way we use OpenShift Virtualization are available +link:/ansible-edge-gitops/openshift-virtualization[here]. + +== Ansible Automation Platform (AAP, formerly known as Ansible Tower) + +The use of Ansible Automation Platform is really the centerpiece of this +pattern. We have recognized for some time that the notion and design +principles of GitOps should apply to things outside of Kubernetes, and +we believe this pattern gives us a way to do that. + +All of the Ansible interactions are defined in a Git Repository; the +Ansible jobs that configure the VMs are designed to be idempotent (and +are scheduled to run every 10 minutes on those VMs). + +The installation of AAP itself is governed by the chart +https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/ansible-automation-platform[here]. +The post-installation configuration of AAP is done via the +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller.sh] +script. + +It is very much the intention of this pattern to make it easy to replace +the specific Edge management use case with another one. Some ideas on +how to do that can be found +link:/ansible-edge-gitops/ideas-for-customization/[here]. + +Specifics of the Ansible content for this pattern can be seen +https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible[here]. + +More details of the specifics of how AAP is configured are available +link:/ansible-edge-gitops/ansible-automation-platform/[here]. + +== Next Steps + +=== https://groups.google.com/g/validatedpatterns[Help & Feedback] + +=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] diff --git a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc new file mode 100644 index 000000000..7d528c26a --- /dev/null +++ b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc @@ -0,0 +1,471 @@ +== OpenShift Virtualization + +== Understanding the Edge GitOps VMs https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[Helm Chart] + +The heart of the Edge GitOps VMs helm chart is a +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[template +file] that was designed with a fair amount of flexibility in mind. +Specifically, it allows you to specify: + +[arabic] +. One or more "`groups`" of VMs (such as "`kiosk`" in our example) with +an arbitrary number of instances per group +. Different sizing parameters (cores, threads, memory, disk size) for +each group +. Different SSH keypair credentials for each group +. Different OS’s for each group +. Different sets of TCP and/or UDP ports open for each group + +This is to allow you to set up, for example, 4 VMs of one type, 3 VMs of +another, and 2 VMs of a third type. This will hopefully abstract the +details of VM creation through OpenShift Virtualization and allow you to +focus on what kinds and how many of the different sorts of VMs you might +need to set up. (Note that AWS’s smallest metal node is 72 cores and 192 +GB of RAM at initial release, so there is plenty of room for different +combinations/configurations.) + +=== How we got here - Default OpenShift Virtualization templates + +OpenShift virtualization expects to install virtual machines from image +templates by default, and provides a number of OpenShift templates to +facilitate this. The default templates are installed in the +`+openshift+` namespace; the OpenShift console also provides a wizard +for creating VMs that use the same templates. + +As of OpenShift Virtualization 4.10.1, the following templates were +available on installation: + +[source,text] +---- +$ oc get template + +NAME DESCRIPTION PARAMETERS OBJECTS +3scale-gateway 3scale's APIcast is an NGINX based API gateway used to integrate your interna... 17 (8 blank) 3 +amq63-basic Application template for JBoss A-MQ brokers. These can be deployed as standal... 11 (4 blank) 6 +amq63-persistent An example JBoss A-MQ application. For more information about using this temp... 13 (4 blank) 8 +amq63-persistent-ssl An example JBoss A-MQ application. For more information about using this temp... 18 (6 blank) 12 +amq63-ssl An example JBoss A-MQ application. For more information about using this temp... 16 (6 blank) 10 +apicurito Design beautiful, functional APIs with zero coding, using a visual designer f... 7 (1 blank) 7 +cache-service Red Hat Data Grid is an in-memory, distributed key/value store. 8 (1 blank) 4 +cakephp-mysql-example An example CakePHP application with a MySQL database. For more information ab... 21 (4 blank) 8 +cakephp-mysql-persistent An example CakePHP application with a MySQL database. For more information ab... 22 (4 blank) 9 +centos-stream8-desktop-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-desktop-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-desktop-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-desktop-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos7-desktop-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-desktop-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-desktop-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-desktop-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +dancer-mysql-example An example Dancer application with a MySQL database. For more information abo... 18 (5 blank) 8 +dancer-mysql-persistent An example Dancer application with a MySQL database. For more information abo... 19 (5 blank) 9 +datagrid-service Red Hat Data Grid is an in-memory, distributed key/value store. 7 (1 blank) 4 +datavirt64-basic-s2i Application template for JBoss Data Virtualization 6.4 services built using S2I. 20 (6 blank) 6 +datavirt64-extensions-support-s2i An example JBoss Data Virtualization application. For more information about... 35 (9 blank) 10 +datavirt64-ldap-s2i Application template for JBoss Data Virtualization 6.4 services that configur... 21 (6 blank) 6 +datavirt64-secure-s2i An example JBoss Data Virtualization application. For more information about... 51 (22 blank) 8 +decisionserver64-amq-s2i An example BRMS decision server A-MQ application. For more information about... 30 (5 blank) 10 +decisionserver64-basic-s2i Application template for Red Hat JBoss BRMS 6.4 decision server applications... 17 (5 blank) 5 +django-psql-example An example Django application with a PostgreSQL database. For more informatio... 19 (5 blank) 8 +django-psql-persistent An example Django application with a PostgreSQL database. For more informatio... 20 (5 blank) 9 +eap-xp3-basic-s2i Example of an application based on JBoss EAP XP. For more information about u... 20 (5 blank) 8 +eap74-basic-s2i An example JBoss Enterprise Application Platform application. For more inform... 20 (5 blank) 8 +eap74-https-s2i An example JBoss Enterprise Application Platform application configured with... 30 (11 blank) 10 +eap74-sso-s2i An example JBoss Enterprise Application Platform application Single Sign-On a... 50 (21 blank) 10 +fedora-desktop-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-desktop-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-desktop-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-desktop-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-highperformance-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-highperformance-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-highperformance-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-highperformance-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-server-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-server-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-server-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fedora-server-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 +fuse710-console The Red Hat Fuse Console eases the discovery and management of Fuse applicati... 8 (1 blank) 5 +httpd-example An example Apache HTTP Server (httpd) application that serves static content.... 9 (3 blank) 5 +jenkins-ephemeral Jenkins service, without persistent storage.... 11 (all set) 7 +jenkins-ephemeral-monitored Jenkins service, without persistent storage. ... 12 (all set) 8 +jenkins-persistent Jenkins service, with persistent storage.... 13 (all set) 8 +jenkins-persistent-monitored Jenkins service, with persistent storage. ... 14 (all set) 9 +jws31-tomcat7-basic-s2i Application template for JWS applications built using S2I. 12 (3 blank) 5 +jws31-tomcat7-https-s2i An example JBoss Web Server application configured for use with https. For mo... 17 (5 blank) 7 +jws31-tomcat8-basic-s2i An example JBoss Web Server application. For more information about using thi... 12 (3 blank) 5 +jws31-tomcat8-https-s2i An example JBoss Web Server application. For more information about using thi... 17 (5 blank) 7 +jws56-openjdk11-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 +jws56-openjdk11-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 +jws56-openjdk8-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 +jws56-openjdk8-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 +mariadb-ephemeral MariaDB database service, without persistent storage. For more information ab... 8 (3 generated) 3 +mariadb-persistent MariaDB database service, with persistent storage. For more information about... 9 (3 generated) 4 +mysql-ephemeral MySQL database service, without persistent storage. For more information abou... 8 (3 generated) 3 +mysql-persistent MySQL database service, with persistent storage. For more information about u... 9 (3 generated) 4 +nginx-example An example Nginx HTTP server and a reverse proxy (nginx) application that ser... 10 (3 blank) 5 +nodejs-postgresql-example An example Node.js application with a PostgreSQL database. For more informati... 18 (4 blank) 8 +nodejs-postgresql-persistent An example Node.js application with a PostgreSQL database. For more informati... 19 (4 blank) 9 +openjdk-web-basic-s2i An example Java application using OpenJDK. For more information about using t... 9 (1 blank) 5 +postgresql-ephemeral PostgreSQL database service, without persistent storage. For more information... 7 (2 generated) 3 +postgresql-persistent PostgreSQL database service, with persistent storage. For more information ab... 8 (2 generated) 4 +processserver64-amq-mysql-persistent-s2i An example BPM Suite application with A-MQ and a MySQL database. For more inf... 49 (13 blank) 14 +processserver64-amq-mysql-s2i An example BPM Suite application with A-MQ and a MySQL database. For more inf... 47 (13 blank) 12 +processserver64-amq-postgresql-persistent-s2i An example BPM Suite application with A-MQ and a PostgreSQL database. For mor... 46 (10 blank) 14 +processserver64-amq-postgresql-s2i An example BPM Suite application with A-MQ and a PostgreSQL database. For mor... 44 (10 blank) 12 +processserver64-basic-s2i An example BPM Suite application. For more information about using this templ... 17 (5 blank) 5 +processserver64-externaldb-s2i An example BPM Suite application with a external database. For more informati... 47 (22 blank) 7 +processserver64-mysql-persistent-s2i An example BPM Suite application with a MySQL database. For more information... 40 (14 blank) 10 +processserver64-mysql-s2i An example BPM Suite application with a MySQL database. For more information... 39 (14 blank) 9 +processserver64-postgresql-persistent-s2i An example BPM Suite application with a PostgreSQL database. For more informa... 37 (11 blank) 10 +rails-pgsql-persistent An example Rails application with a PostgreSQL database. For more information... 21 (4 blank) 9 +rails-postgresql-example An example Rails application with a PostgreSQL database. For more information... 20 (4 blank) 8 +redis-ephemeral Redis in-memory data structure store, without persistent storage. For more in... 5 (1 generated) 3 +redis-persistent Redis in-memory data structure store, with persistent storage. For more infor... 6 (1 generated) 4 +rhdm711-authoring Application template for a non-HA persistent authoring environment, for Red H... 76 (46 blank) 11 +rhdm711-authoring-ha Application template for a HA persistent authoring environment, for Red Hat D... 92 (47 blank) 17 +rhdm711-kieserver Application template for a managed KIE Server, for Red Hat Decision Manager 7... 61 (42 blank) 6 +rhdm711-prod-immutable-kieserver Application template for an immutable KIE Server in a production environment,... 66 (45 blank) 8 +rhdm711-prod-immutable-kieserver-amq Application template for an immutable KIE Server in a production environment... 80 (54 blank) 20 +rhdm711-trial-ephemeral Application template for an ephemeral authoring and testing environment, for... 63 (40 blank) 8 +rhel6-desktop-large Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel6-desktop-medium Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel6-desktop-small Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel6-desktop-tiny Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel6-server-large Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel6-server-medium Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel6-server-small Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel6-server-tiny Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-desktop-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-desktop-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-desktop-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-desktop-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhpam711-authoring Application template for a non-HA persistent authoring environment, for Red H... 80 (46 blank) 12 +rhpam711-authoring-ha Application template for a HA persistent authoring environment, for Red Hat P... 101 (47 blank) 20 +rhpam711-kieserver-externaldb Application template for a managed KIE Server with an external database, for... 83 (59 blank) 8 +rhpam711-kieserver-mysql Application template for a managed KIE Server with a MySQL database, for Red... 70 (42 blank) 9 +rhpam711-kieserver-postgresql Application template for a managed KIE Server with a PostgreSQL database, for... 71 (42 blank) 9 +rhpam711-managed Application template for a managed HA production runtime environment, for Red... 87 (46 blank) 14 +rhpam711-prod Application template for a managed HA production runtime environment, for Red... 102 (55 blank) 28 +rhpam711-prod-immutable-kieserver Application template for an immutable KIE Server in a production environment,... 76 (45 blank) 11 +rhpam711-prod-immutable-kieserver-amq Application template for an immutable KIE Server in a production environment... 97 (58 blank) 23 +rhpam711-prod-immutable-monitor Application template for a router and monitoring console in a production envi... 66 (44 blank) 14 +rhpam711-trial-ephemeral Application template for an ephemeral authoring and testing environment, for... 63 (40 blank) 8 +s2i-fuse710-spring-boot-2-camel Spring Boot 2 and Camel QuickStart. This example demonstrates how you can use... 18 (3 blank) 3 +s2i-fuse710-spring-boot-2-camel-rest-3scale Spring Boot 2, Camel REST DSL and 3Scale QuickStart. This example demonstrate... 19 (3 blank) 5 +s2i-fuse710-spring-boot-2-camel-xml Spring Boot 2 and Camel Xml QuickStart. This example demonstrates how you can... 18 (3 blank) 3 +sso72-https An example RH-SSO 7 application. For more information about using this templa... 26 (15 blank) 6 +sso72-mysql An example RH-SSO 7 application with a MySQL database. For more information a... 36 (20 blank) 8 +sso72-mysql-persistent An example RH-SSO 7 application with a MySQL database. For more information a... 37 (20 blank) 9 +sso72-postgresql An example RH-SSO 7 application with a PostgreSQL database. For more informat... 33 (17 blank) 8 +sso72-postgresql-persistent An example RH-SSO 7 application with a PostgreSQL database. For more informat... 34 (17 blank) 9 +sso73-https An example application based on RH-SSO 7.3 image. For more information about... 27 (16 blank) 6 +sso73-mysql An example application based on RH-SSO 7.3 image. For more information about... 37 (21 blank) 8 +sso73-mysql-persistent An example application based on RH-SSO 7.3 image. For more information about... 38 (21 blank) 9 +sso73-ocp4-x509-https An example application based on RH-SSO 7.3 image. For more information about... 13 (7 blank) 5 +sso73-ocp4-x509-mysql-persistent An example application based on RH-SSO 7.3 image. For more information about... 24 (12 blank) 8 +sso73-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.3 image. For more information about... 21 (9 blank) 8 +sso73-postgresql An example application based on RH-SSO 7.3 image. For more information about... 34 (18 blank) 8 +sso73-postgresql-persistent An example application based on RH-SSO 7.3 image. For more information about... 35 (18 blank) 9 +sso74-https An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 27 (16 blank) 6 +sso74-ocp4-x509-https An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 13 (7 blank) 5 +sso74-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 21 (9 blank) 8 +sso74-postgresql An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 34 (18 blank) 8 +sso74-postgresql-persistent An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 35 (18 blank) 9 +sso75-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 27 (16 blank) 6 +sso75-ocp4-x509-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 13 (7 blank) 5 +sso75-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 21 (9 blank) 8 +sso75-postgresql An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 34 (18 blank) 8 +sso75-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 35 (18 blank) 9 +windows10-desktop-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows10-desktop-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows10-highperformance-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows10-highperformance-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows2k12r2-highperformance-large Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 +windows2k12r2-highperformance-medium Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 +windows2k12r2-server-large Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 +windows2k12r2-server-medium Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 +windows2k16-highperformance-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k16-highperformance-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k16-server-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k16-server-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-highperformance-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-highperformance-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-server-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-server-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +---- + +Additionally, you may copy and customize these templates if you wish. +The +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[template +file] is an example of a customized template that was used to help +develop this pattern. + +==== Creating a VM from the Console via Template + +These templates can be run through the OpenShift Console from the +Virtualization tab. Note the "`Create VM`" buttons on the right side of +this picture: + +link:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[image:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[console-template-vm-1]] + +Clicking on the "`Create VM`" button will bring up a wizard that looks +like this: + +link:/images/ansible-edge-gitops/console-vm-template-wizard.png[image:/images/ansible-edge-gitops/console-vm-template-wizard.png[console-template-wizard]] + +Accepting the defaults from this wizard will give a success screen: + +link:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[image:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[console-template-wizard-success]] + +Until it is deleted, you can monitor the machine’s lifecycle from the +VirtualMachines tab: + +link:/images/ansible-edge-gitops/console-vm-spinning-up.png[image:/images/ansible-edge-gitops/console-vm-spinning-up.png[console-monitor-vm]] + +This is a great way to gain familiarity with how the system works, but +we might possibly want an interface we can use more programmatically. + +==== Creating a VM from the command line via `+oc process+` + +This is a useful way to understand what kinds of objects OpenShift +Virtualization creates and manages: + +[source,text] +---- +$ oc process -n openshift rhel8-desktop-medium | oc apply -f - +virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created +---- + +You could also use the "`Create VM Wizard`" in the OpenShift console. + +==== Another option - capturing template output and converting it into a Helm Chart + +See details +link:/patterns/ansible-edge-gitops/ideas-for-customization/#howto-define-your-own-vm-sets-from-scratch[here]. + +=== Components of the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[virtual-machines] template + +==== Setup - the mechanism for creating identifiers declaratively + +The first part of the template file sets up some variables that we will +use later as the template is expanded. We use a sequential numbering +scheme for VM name creation because that is an easy way to make each +item in the set declarative - it ensures that if you ask for 5 VMs of a +particular type, they will have predictable names, and if one is +deleted, it will be replaced by a VM with the same name. + +We use explicit "`range`" variables for the Go templating. This is +because the implicit range variable is easily "`trampled`", and we have +at least two different dimensions to iterate on - vm "`role`" and +"`index`" within that role. + +==== The External Secret - SSH pubkey + +The first item we define as part of this structure is an external secret +to hold an SSH pubkey. This pubkey will be mounted in the VM under an +unprivileged user’s home directory - and generally that unprivileged +user is expected to be able to sudo root without password. By default, +RHEL images are configured to only allow SSH access via pubkey. In this +pattern, the private key and public key for the SSH connections are +loaded into both Vault (which we inherited from previous patterns) and +Ansible Automation Platform. + +Since the keys are defined per VM "`group`", it is possible and expected +that you could have different keypairs for different groups of VMs. +Nothing would prevent you from using the same keypair for all machines +if you have different groups, though. + +While the pubkey is not truly a "`secret`", the availability of the +External Secrets Operator made for a nice opportunity to allow for +variance in configuration without necessarily requiring local +customization of the pattern. The OpenShift Virtualization model has no +way of knowing that multiple servers may have the same SSH credentials, +and in fact cannot depend on this. So it creates a pubkey object by +default for each VM, and we imitate this behavior in the pattern. + +==== The VirtualMachine definition + +The VirtualMachine definition is the biggest part of the template. All +of it is derived from customization of the default templates that +OpenShift Virtualization installs in the `+openshift+` namespace - +especially most of the labels and annotations, with the following +exceptions: + +===== labels + +* app + +This is set to `+$identifier+` to match a general pattern with other +applications. + +* edge-gitops-role + +This is set explicitly and used elsewhere in this pattern to help +identify resources by role. The intention is to be able to use the +edge-gitops-role as a selector for targeting various kind of queries, +including (especially) Ansible inventories. Though please note - because +of the way Kubernetes (and OpenShift) work, when you connect to a VM +with Ansible you are connecting to the _Service_ object directly, not to +the VM. (Another way to look at it is that the Service object is +providing network abstraction over the VM object.) + +Other resources in the rest of the VirtualMachine definition are copied +from the default template, with appropriate Helm variables included. + +===== Initial user access + +Note that the initial user (default: `+cloud-user+`) and initial +password are customizable via values overrides. The `+kiosk+` type shows +an example of how to either use a user/password specific to the type or +a default for the chart using the `+coalesce+` function. + +==== The Service definition + +The Service definition is potentially complex. The purpose of this +Service object is to expose all of the needed TCP and UDP network ports +within the cluster. (Providing access to them from outside the cluster +would require Route or Ingress objects, and would have some significant +security implications; access to these entities from outside the cluster +is not the focus of this pattern, so we do not provide it at this time.) + +A given VM may expose one port (for Ansible access, you need at least +TCP/22), or it may expose many ports. You are free to define a service +per port if you like, but it seems more convenient to define them all as +a single service. + +One aspect of the templating you may find interesting is the use of the +toPrettyJson filter in Go. Since YAML is a proper superset of JSON, this +is a neat trick that allows to include a nested data structure without +having to worry about how to indent it. (As toPrettyJson uses the square +bracket ([]) and curly bracket (\{}) notation for arrays and hashes, +YAML can interpret it without worrying about its indentation. + +=== Accessing the VMs + +There are three mechanisms for access to these VMs: + +==== Ansible - keypair authentication + +The ssh keypairs from your values-secret.yaml are loaded into both Vault +and AAP for use later. The pattern currently defines one such keypair, +`+kiosk-ssh+`, but could support more, such as `+iot-ssh+`, +`+gateway-ssh+`, etc. more details on how to expand on this pattern are +described below. + +AAP only needs the private key and the username as a machine credential. +The public key is not truly a secret, but it seemed interesting and +useful to use the external secret operator to associate the public key +with VM instances this way and prevent having to diverge from the +upstream pattern to include local ssh pubkey specifications. + +Note that the default SSH setting for RHEL does not allow password-based +logins via SSH, and it’s at the very least inconvenient to copy the SSH +private key into a VM inside the cluster, so the typical way the keypair +will be used is through Ansible. + +==== Virtual Machine Console Access via OpenShift Console + +Navigate to Virtualization -> VirtualMachines and make sure Project: All +Projects or edge-gitops-vms is selected: + +link:/images/ansible-edge-gitops/aeg-show-vms.png[image:/images/ansible-edge-gitops/aeg-show-vms.png[show-vms]] + +Click on the "`three dots`" menu on the right, which will open a dialog +like the following: + +link:/images/ansible-edge-gitops/aeg-open-vm-console.png[image:/images/ansible-edge-gitops/aeg-open-vm-console.png[show-vm-open-console]] + +_Note:_ In OpenShift Virtualization 4.11, the "`Open Console`" option +appears when you click on the virtual machine name in openshift console. +The dialog looks like this: + +link:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[image:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[kubevirt411-vm-open-console]] + +The virtual machine console view will either show a standard RHEL +console login screen, or if the demo is working as designed, it will +show the Ignition application running in kiosk mode. If the console +shows a standard RHEL login, it can be accessed using the the initial +user name (`+cloud-user+` by default) and password (which is what is +specified in the Helm chart Values as either the password specific to +that machine group, the default cloudInit, or a hardcoded default which +can be seen in the template +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[here]. +On a VM created through the wizard or via `+oc process+` from a +template, the password will be set on the VirtualMachine object in the +`+volumes+` section. + +==== Initial User login (cloud-user) + +In general, and before the VMs have been configured by the Ansible Jobs, +you can log in to the VMs on the console using the user and password you +specified in the Helm chart, or else you can look at the VirtualMachine +object and see what the username and password setting are. The pattern, +by design, replaces the typical console view with Firefox running in +kiosk mode. But this mechanism can still be used if you change the +console from "`VNC Console`" to "`Serial Console`". + +== The "`extra`" VM Template + +Also included in the edge-gitops-vms chart is a separate template that +will allow the creation of VMs with similar (though not identical +characteristics) to the ones defined in the chart. + +The +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[rhel8-kiosk-with-svc] +template is preserved as an intermediate step to creating your own VM +types, to see how the pipeline from default VM template -> customized +template -> Helm-variable chart can work. + +== Next Steps + +=== https://groups.google.com/g/validatedpatterns[Help & Feedback] + +=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] diff --git a/content/patterns/ansible-edge-gitops/troubleshooting.adoc b/content/patterns/ansible-edge-gitops/troubleshooting.adoc new file mode 100644 index 000000000..a0c0d5050 --- /dev/null +++ b/content/patterns/ansible-edge-gitops/troubleshooting.adoc @@ -0,0 +1,5 @@ +== Troubleshooting + +=== Our https://github.com/validatedpatterns/ansible-edge-gitops/issues[Issue Tracker] + +Please file an issue if you see a problem! diff --git a/static/images/ansible-edge-gitops/aeg-vms.png b/static/images/ansible-edge-gitops/aeg-vms.png new file mode 100644 index 0000000000000000000000000000000000000000..e83e4eae82511aa6eb6045249c8794b56fcf2d45 GIT binary patch literal 72294 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 literal 0 HcmV?d00001 diff --git a/static/images/ansible-edge-gitops/ansible-edge-ops-applications.png b/static/images/ansible-edge-gitops/ansible-edge-ops-applications.png new file mode 100644 index 0000000000000000000000000000000000000000..1299798ee769e5550ed4e242637cf468725011f4 GIT binary patch literal 192125 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 FzW_c^t}_4t literal 0 HcmV?d00001 diff --git a/static/images/ansible-edge-gitops/ansible-edge-ops.png b/static/images/ansible-edge-gitops/ansible-edge-ops.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f28daaec4f7e1493ddc5918944e41dc0c5773c GIT binary patch literal 163751 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
*HkJQ4Pa2U*=tJ)h>I^DoXYC7>h(h`mWgw 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 z

M5xcwxz7J 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≻~d7$O$6KHvZ~S11UYLZa|Xa4uq6IPRDL5(0qu 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 z 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 ZyG-c=_5L~01>S667+*CrthnqP{a>~-_hkS8 literal 0 HcmV?d00001 From 93d3681262d2598cf958d6d5c718656bced2466a Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Thu, 27 Feb 2025 16:56:55 +0000 Subject: [PATCH 05/23] MOre updates --- .../ansible-edge-gitops/getting-started.adoc | 64 +++++++------------ 1 file changed, 23 insertions(+), 41 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 532b52be4..9df398022 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -1,4 +1,4 @@ ---- +5-Day Gen AI Intensive Course with Google--- title: Getting Started weight: 10 aliases: /ansible-edge-gitops/getting-started/ @@ -239,32 +239,27 @@ As part of installing by using the script `pattern.sh` pattern, HashiCorp Vault For more information, see section on https://validatedpatterns.io/secrets/vault/[Vault]. -. Under *Virtualization* > *VirtualMachines*, the virtual machines show as `Running`. Once they are in `Running` state the -Provisioning workflow will run on them, install the OpenTelemetry collector, and start reporting metrics to the Edge Observability Stack -in the hub cluster. -+ -.ansible-edge-gitops-vms -image::/images/ansible-edge-gitops/aeg-vms.png[ansible-edge-gitops-vms,title="Ansible Edge GitOps Virtual Machines"] +. Under *Virtualization* > *VirtualMachines*, the virtual machines show as `Running`. Once they are in `Running` state the provisioning workflow runs on them, and installs Firefox, Kiosk mode, and the Ignition application on them: + +. Select one of the VMs to see the details of the VM. The VMs are named `rhel8-kiosk-001` and `rhel8-kiosk-002` +.. Open the Console tab. Choose any of these options; this tutorial assumes you chose `Ignition`: -* Finally, the VM Consoles will show the Ignition introduction screen. You can choose any of these options; this tutorial assumes you chose -"`Ignition`": +.. Read and accept the license agreement and click *Finish setup*. -.ansible-edge-gitops-ignition-options -image::/images/ansible-edge-gitops/aeg-vm-ignition-intro.png[ansible-edge-gitops-ignition-options,title="Ansible Edge GitOps Ignition Options"] +.. Click *Start Gateway* to start the Ignition Gateway. -* You should be able to login to the application with the userid "`admin`" and the password you specified as the GATEWAY_ADMIN_PASSWORD -in `+container_extra_params+` in your values-secret.yaml file. +.. Log in to the application with the userid `admin` and the password you specified as the GATEWAY_ADMIN_PASSWORD in `container_extra_params` in your `values-secret.yaml` file. .ansible-edge-gitops-vmconsole -image::/images/ansible-edge-gitops/aeg-openshift-vm-console.png[ansible-edge-gitops-vmconsole,title="Ansible Edge GitOps VM Console"] +image::/images/ansible-edge-gitops/aeg-openshift-vm-console-v1.png[ansible-edge-gitops-vmconsole,title="Ansible Edge GitOps VM Console"] -Please see link:/ansible-edge-gitops/installation-details/[Installation Details] for more information on the steps of installation. +See link:/ansible-edge-gitops/installation-details/[Installation Details] for more information about the installation steps. -Please see link:/ansible-edge-gitops/ansible-automation-platform/[Ansible Automation Platform] for more information on how this pattern uses the +See link:/ansible-edge-gitops/ansible-automation-platform/[Ansible Automation Platform] for more information about how this pattern uses the Ansible Automation Platform Operator for OpenShift. -Please see link:/ansible-edge-gitops/openshift-virtualization/[OpenShift Virtualization] for more information on how this pattern uses OpenShift +See link:/ansible-edge-gitops/openshift-virtualization/[OpenShift Virtualization] for more information on how this pattern uses OpenShift Virtualization. == Infrastructure Elements of this Pattern @@ -278,7 +273,7 @@ kiosk in about 10 minutes. === OpenShift https://docs.openshift.com/container-platform/latest/virt/about_virt/about-virt.html[Virtualization] OpenShift Virtualization is a Kubernetes-native way to run virtual machine workloads. It is used in this pattern to host VMs simulating an -Edge environment; the chart that configures the VMs is designed to be flexible to allow easy customization to model different VM sizes, mixes, +edge environment; the chart that configures the VMs is designed to be flexible to allow easy customization to model different VM sizes, mixes, versions and profiles for future pattern development. === HashiCorp https://www.vaultproject.io/[Vault] @@ -286,46 +281,33 @@ versions and profiles for future pattern development. Vault is used as the authoritative source for the Kiosk ssh pubkey via the External Secrets Operator. As part of this pattern HashiCorp Vault has been installed. Refer to the section on https://validatedpatterns.io/secrets/vault/[Vault]. - - - == Infrastructure Elements of this Pattern === https://www.redhat.com/en/technologies/management/ansible[Ansible Automation Platform] -A fully functional installation of the Ansible Automation Platform -operator is installed on your OpenShift cluster to configure and -maintain the VMs for this demo. AAP maintains a dynamic inventory of -kiosk machines and can configure a VM from template to fully functional +A fully functional installation of the Ansible Automation Platform operator is installed on your OpenShift cluster to configure and +maintain the VMs for this demo. AAP maintains a dynamic inventory of kiosk machines and can configure a VM from template to fully functional kiosk in about 10 minutes. === OpenShift https://docs.openshift.com/container-platform/4.16/virt/about_virt/about-virt.html[Virtualization] -OpenShift Virtualization is a Kubernetes-native way to run virtual -machine workloads. It is used in this pattern to host VMs simulating an -Edge environment; the chart that configures the VMs is designed to be -flexible to allow easy customization to model different VM sizes, mixes, +OpenShift Virtualization is a Kubernetes-native way to run virtual machine workloads. It is used in this pattern to host VMs simulating an +edge environment; the chart that configures the VMs is designed to be flexible to allow easy customization to model different VM sizes, mixes, versions and profiles for future pattern development. === Inductive Automation https://inductiveautomation.com/[Ignition] -The goal of this pattern is to configure 2 VMs running Firefox in Kiosk -mode displaying the demo version of the Ignition application running in -a podman container. Ignition is a popular tool in use with Oil and Gas -companies; it is included as a real-world example and as an item to -spark imagination about what other applications could be installed and -managed this way. +The goal of this pattern is to configure 2 VMs running Firefox in Kiosk mode displaying the demo version of the Ignition application running in +a podman container. Ignition is a popular tool in use with Oil and Gas companies; it is included as a real-world example and as an item to +spark imagination about what other applications could be installed and managed this way. -The container used for this pattern is the container -https://hub.docker.com/r/inductiveautomation/ignition[image] published +The container used for this pattern is the container https://hub.docker.com/r/inductiveautomation/ignition[image] published by Inductive Automation. === HashiCorp https://www.vaultproject.io/[Vault] -Vault is used as the authoritative source for the Kiosk ssh pubkey via -the External Secrets Operator. As part of this pattern HashiCorp Vault -has been installed. Refer to the section on -https://validatedpatterns.io/secrets/vault/[Vault]. +Vault is used as the authoritative source for the Kiosk ssh pubkey via the External Secrets Operator. As part of this pattern HashiCorp Vault +has been installed. Refer to the section on https://validatedpatterns.io/secrets/vault/[Vault]. == Next Steps From b80f1e84a2c826e85f90161a8b17b8ca23d9e2fe Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Thu, 27 Feb 2025 16:57:10 +0000 Subject: [PATCH 06/23] More updates 2 --- .../aeg-openshift-vm-console-v1.png | Bin 0 -> 169506 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/images/ansible-edge-gitops/aeg-openshift-vm-console-v1.png diff --git a/static/images/ansible-edge-gitops/aeg-openshift-vm-console-v1.png b/static/images/ansible-edge-gitops/aeg-openshift-vm-console-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..6aff5e30007d82989cc87147dd1b2061f23dbc9f GIT binary patch literal 169506 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

M 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 literal 0 HcmV?d00001 From d4108224cf14e2dc22f736d9e3fc07d120dd511e Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Mon, 3 Mar 2025 15:49:56 +0000 Subject: [PATCH 07/23] removing markdown files replacing with adoc ones --- .../patterns/ansible-edge-gitops/_index.adoc | 4 - .../patterns/ansible-edge-gitops/_index.md | 77 ---- .../ansible-automation-platform.md | 193 ---------- .../ansible-edge-gitops/getting-started.md | 249 ------------ .../installation-details.md | 133 ------- .../openshift-virtualization.md | 357 ------------------ .../ansible-edge-gitops/troubleshooting.md | 11 - 7 files changed, 1024 deletions(-) delete mode 100644 content/patterns/ansible-edge-gitops/_index.md delete mode 100644 content/patterns/ansible-edge-gitops/ansible-automation-platform.md delete mode 100644 content/patterns/ansible-edge-gitops/getting-started.md delete mode 100644 content/patterns/ansible-edge-gitops/installation-details.md delete mode 100644 content/patterns/ansible-edge-gitops/openshift-virtualization.md delete mode 100644 content/patterns/ansible-edge-gitops/troubleshooting.md diff --git a/content/patterns/ansible-edge-gitops/_index.adoc b/content/patterns/ansible-edge-gitops/_index.adoc index 4100a1c6b..9fc90df36 100644 --- a/content/patterns/ansible-edge-gitops/_index.adoc +++ b/content/patterns/ansible-edge-gitops/_index.adoc @@ -72,10 +72,6 @@ image::/images/ansible-edge-gitops/ansible-edge-gitops-arch.png[Ansible-Edge-Git .Ansible-Edge-GitOps-Physical-Architecture image::/images/ansible-edge-gitops/aeg-arch-schematic.png[Ansible-Edge-GitOps-Physical-Architecture] -=== Recorded demo - -TBD - === Other presentations featuring this pattern ==== Registration required diff --git a/content/patterns/ansible-edge-gitops/_index.md b/content/patterns/ansible-edge-gitops/_index.md deleted file mode 100644 index 7a2087e1d..000000000 --- a/content/patterns/ansible-edge-gitops/_index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Ansible Edge GitOps -date: 2022-06-08 -tier: maintained -summary: This pattern uses OpenShift Virtualization to simulate an edge environment for VMs. -rh_products: -- Red Hat OpenShift Container Platform -- Red Hat Ansible Automation Platform -- Red Hat OpenShift Virtualization -- Red Hat Enterprise Linux -- Red Hat OpenShift Data Foundation -industries: -- Chemical -aliases: /ansible-edge-gitops/ -pattern_logo: ansible-edge.png -links: - install: getting-started - help: https://groups.google.com/g/validatedpatterns - bugs: https://github.com/validatedpatterns/ansible-edge-gitops/issues -ci: aegitops ---- - -# Ansible Edge GitOps - -## Background - -Organizations are interested in accelerating their deployment speeds and improving delivery quality in their Edge environments, where many devices may not fully or even partially embrace the GitOps philosophy. Further, there are VMs and other devices that can and should be managed with Ansible. This pattern explores some of the possibilities of using an OpenShift-based Ansible Automated Platform deployment and managing Edge devices, based on work done with a partner in the Chemical space. - -This pattern uses OpenShift Virtualization (the productization of Kubevirt) to simulate the Edge environment for VMs. - -### Solution elements - -- How to use a GitOps approach to manage virtual machines, either in public clouds (limited to AWS for technical reasons) or on-prem OpenShift installations -- How to integrate AAP into OpenShift -- How to manage Edge devices using AAP hosted in OpenShift - -### Red Hat Technologies - -- Red Hat OpenShift Container Platform (Kubernetes) -- Red Hat Ansible Automation Platform (formerly known as "Ansible Tower") -- Red Hat OpenShift GitOps (ArgoCD) -- OpenShift Virtualization (Kubevirt) -- Red Hat Enterprise Linux 8 - -### Other Technologies this Pattern Uses - -- Hashicorp Vault -- External Secrets Operator -- Inductive Automation Ignition - -## Architecture - -Similar to other patterns, this pattern starts with a central management hub, which hosts the AAP and Vault components. - -### Logical architecture - -![Ansible-Edge-Gitops-Architecture](/images/ansible-edge-gitops/ansible-edge-gitops-arch.png) - -### Physical Architecture - -![Ansible-Edge-GitOps-Physical-Architecture](/images/ansible-edge-gitops/aeg-arch-schematic.png) - -## Recorded Demo - -TBD - -## Other Presentations Featuring this Pattern - -### Registration Required - -[![Ansible-Automates-June-2022-Deck](/images/ansible-edge-gitops/automates-june-2022-deck-thumb.png)](https://tracks.redhat.com/c/validated-patterns_i?x=5wCWYS&lx=lT1ZfK) - -[![Ansible-Automates-June-2022-Video](/images/ansible-edge-gitops/automates-june-2022-video-thumb.png)](https://tracks.redhat.com/c/preview-42?x=5wCWYS&lx=lT1ZfK) - -## What Next - -- [Getting Started: Deploying and Validating the Pattern](getting-started) diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.md b/content/patterns/ansible-edge-gitops/ansible-automation-platform.md deleted file mode 100644 index 96c0cfc5f..000000000 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.md +++ /dev/null @@ -1,193 +0,0 @@ ---- -title: Ansible Automation Platform -weight: 40 -aliases: /ansible-edge-gitops/ansible-automation-platform/ ---- - -# Ansible Automation Platform - -# How it's installed - -See the installation details [here](/patterns/ansible-edge-gitops/installation-details/#ansible-automation-platform-aap-formerly-known-as-ansible-tower). - -# How to Log In - -The default login user is `admin` and the password is generated randomly at install time; you will need the password to login in to the AAP interface. You do not have to log in to the interface - the pattern will configure the AAP instance; the pattern retrieves the password using the same technique as the `ansible_get_credentials.sh` script described below. If you want to inspect the AAP instance, or change any aspects of its configuration, there are two ways to login and look at it. Both mechanisms are equivalent; you get the same password to the same instance using either technique. - -## Via the OpenShift Console - -In the OpenShift console, navigate to Workloads > Secrets and select the "ansible-automation-platform" project if you want to limit the number of Secrets you can see. - -[![secrets-navigation](/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password.png)](/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password.png) - -The Secret you are looking for is in the `ansible-automation-platform` project and is named `controller-admin-password`. If you click on it, you can see the Data.password field. It is shown revealed below to show that it is the same as what is shown by the script method of retrieving it below: - -[![secrets-detail](/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail.png)](/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail.png) - -## Via [ansible_get_credentials.sh](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_get_credentials.sh) - -With your KUBECONFIG set, you can run `./scripts/ansible-get-credentials.sh` from your top-level pattern directory. This will use your OpenShift cluster admin credentials to retrieve the URL for your Ansible Automation Platform instance, as well as the password for its `admin` user, which is auto-generated by the AAP operator by default. The output of the command looks like this (your password will be different): - -```text -./scripts/ansible_get_credentials.sh -[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match -'all' - -PLAY [Install manifest on AAP controller] ****************************************************************************** - -TASK [Retrieve API hostname for AAP] *********************************************************************************** -ok: [localhost] - -TASK [Set ansible_host] ************************************************************************************************ -ok: [localhost] - -TASK [Retrieve admin password for AAP] ********************************************************************************* -ok: [localhost] - -TASK [Set admin_password fact] ***************************************************************************************** -ok: [localhost] - -TASK [Report AAP Endpoint] ********************************************************************************************* -ok: [localhost] => { - "msg": "AAP Endpoint: https://controller-ansible-automation-platform.apps.mhjacks-aeg.blueprints.rhecoeng.com" -} - -TASK [Report AAP User] ************************************************************************************************* -ok: [localhost] => { - "msg": "AAP Admin User: admin" -} - -TASK [Report AAP Admin Password] *************************************************************************************** -ok: [localhost] => { - "msg": "AAP Admin Password: CKollUjlir0EfrQuRrKuOJRLSQhi4a9E" -} - -PLAY RECAP ************************************************************************************************************* -localhost : ok=7 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 -``` - -# Pattern AAP Configuration Details - -In this section, we describe the details of the AAP configuration we apply as part of installing the pattern. All of the configuration discussed in this section is applied by the [ansible_load_controller.sh](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh) script. - -## Loading a Manifest - -After validating that AAP is ready to be configured, the first thing the script does is to install the manifest you specify in the `values-secret.yaml` file in the `files.manifest` setting. The value of this setting is expected to be a fully-pathed file that represents a Red Hat Satellite manifest file with a valid entitlement for AAP. The *only* thing this manifest is used for is entitling AAP. - -Instructions for creating a suitable manifest file can be found [here](https://www.redhat.com/en/blog/how-create-and-use-red-hat-satellite-manifest). - -While it is absolutely possible to entitle AAP via a username/password on first login, the automated mechanisms for entitling only support manifests, that is the technique the pattern uses. - -## Organizations - -The pattern installs an Organization called `HMI Demo` is installed. This makes it a bit easier to separate what the pattern is doing versus the default configuration of AAP. The other resources created in AAP as part of the load process are associated with this Organization. - -## Credential Types (and their Credentials) - -### Kubeconfig (Kubeconfig) - -The Kubeconfig credential is for holding the OpenShift cluster admin kubeconfig file. This is used to query the `edge-gitops-vms` namespace for running VM instances. Since the kubeconfig is necessary for installing the pattern and must be available when the load script is running, the load script pulls it into an AAP secret and stores it for later use (and calls it `Kubeconfig`). - -The template for creating the Credential Type was taken from [here](https://blog.networktocode.com/post/kubernetes-collection-ansible/). - -### RHSMcredential (rhsm_credential) - -This credential is required to register the RHEL VMs and configure them for Kiosk mode. The registration process allows them to install packages from the Red Hat Content Delivery Network. - -### Machine (kiosk-private-key) - -This is a standard AAP Machine type credential. `kiosk-private-key` is created with the username and private key from your `values-secret.yaml` file in the `kiosk-ssh.username` and `kiosk-ssh.privatekey` fields. - -### KioskExtraParams (kiosk_container_extra_params) - -This CredentialType is considered "secret" because it includes the admin login password for the Ignition application. This passed to the provisioning playbook(s) as extra_vars. - -## Inventory - -The pattern installs an Inventory (HMI Demo), but no inventory sources. This is due to the way that OpenShift Virtualization provides access to virtual machines. The IP address associated with the SSH service that a given VM is running is associated with the Service object on the VM. This is not the way the Kubernetes inventory plugin expects to work. So to make inventory dynamic, we are instead using a play to discover VMs and add them to inventory "on the fly". What is unusual about DNS inside a Kubernetes cluster is that resources outside the namespace must use the cluster FQDN - which is `resource-name.resource-namespace.svc`. - -It is also possible to define a static inventory - an example of how this would like is preserved in the pattern repository as [hosts](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/hosts). - -A standard dynamic inventory script is available [here](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/openshift_cluster.yml). This will retrieve the object names, but it will not (currently) map the FQDN properly. Because of this limitation, we moved to using the inventory pre-play method. - -## Templates (key playbooks in the pattern) - -### [Dynamic Provision Kiosk Playbook](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/dynamic_kiosk_provision.yml) - -This combines all three key workflows in this pattern: - -* Dynamic inventory (inventory preplay) -* Kiosk Mode -* Podman Playbook - -It is safe to run multiple times on the same system. It is run on a schedule, every 10 minutes, to demonstrate this. - -### [Kiosk Mode Playbook](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/kiosk_playbook.yml) - -This playbook runs the [kiosk_mode role](/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern). - -### [Podman Playbook](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/podman_playbook.yml) - -This playbook runs the [container_lifecycle role](/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern) with overrides suitable for the Ignition application container. - -### [Ping Playbook](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ping.yml) - -This playbook is for testing basic connectivity - making sure that you can reach the nodes you wish to manage, and that the credentials you have given will work on them. It will not change anything on the VMs - just gather facts from them (which requires elevating to root). - -## Schedules - -### Update Project AEG GitOps - -This job runs every 5 minutes to update the GitOps repository associated with the project. This is necessary when any of the Ansible code (for example, the playbooks or roles associated with the pattern) changes, so that the new code is available to the AAP instance. - -### Dynamic Provision Kiosk Playbook - -This job runs every 10 minutes to provision and configure any kiosks it finds to run the Ignition application in a podman container, and configure firefox in kiosk mode to display that application. The playbook is designed to be idempotent, so it is safe to run multiple times on the same targets; it will not make user-visible changes to those targets unless it must. - -This playbook combines the [inventory_preplay](/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern) and the [Provision Kiosk Playbook](/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern). - -## Execution Environment - -The pattern includes an execution environment definition that can be found [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/execution_environment). - -The execution environment includes some additional collections beyond what is provided in the Default execution environment, including: - -* [fedora.linux_system_roles](https://linux-system-roles.github.io/) -* [containers.podman](https://galaxy.ansible.com/containers/podman) -* [community.okd](https://docs.ansible.com/ansible/latest/collections/community/okd/index.html) - -The execution environment definition is provided if you want to customize or change it; if so, you should also change the Execution Environment attributes of the Templates (in the [load script](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh), those attributes are set by the variables `aap_execution_environment` and `aap_execution_environment_image`). - -## Roles included in the pattern - -### [kiosk_mode](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/roles/kiosk_mode) - -This role is responsible does the following: - -* RHEL node registration -* Installation of GUI packages -* Installation of Firefox -* Configuration of Firefox kiosk mode - -### [container_lifecycle](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/roles/container_lifecycle) - -This role is responsible for: - -* Downloading and running a podman image on the system (and configure it to auto-update) -* Setting the container up to run at boot time -* Passing any other runtime arguments to the container. In this container's case, that includes specifying an admin password override. - -## Extra Playbooks in the Pattern - -### [inventory_preplay.yml](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml) - -This playbook is designed to be included in other plays; its purpose is to discover the desired inventory and add those hosts to inventory at runtime. It uses a kubernetes query via the cluster-admin kube config file. - -### [Provision Kiosk Playbook](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml) - -This does the work of provisioning the kiosk, which configures kiosk mode, and also installs Ignition and configures it to start at boot. It runs the [kiosk_mode](/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern) and [container_lifecycle](/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern) roles. - -# Next Steps - -## [Help & Feedback](https://groups.google.com/g/validatedpatterns) -## [Report Bugs](https://github.com/validatedpatterns/ansible-edge-gitops/issues) diff --git a/content/patterns/ansible-edge-gitops/getting-started.md b/content/patterns/ansible-edge-gitops/getting-started.md deleted file mode 100644 index 12319bff6..000000000 --- a/content/patterns/ansible-edge-gitops/getting-started.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -title: Getting Started -weight: 10 -aliases: /ansible-edge-gitops/getting-started/ ---- - -# Deploying the Ansible Edge GitOps Pattern - -# General Prerequisites - -1. An OpenShift cluster ( Go to [the OpenShift console](https://console.redhat.com/openshift/create)). See also [sizing your cluster](../../ansible-edge-gitops/cluster-sizing). Currently this pattern only supports AWS. It could also run on a baremetal OpenShift cluster, because OpenShift Virtualization supports that; there would need to be some customizations made to support it as the default is AWS. We hope that GCP and Azure will support provisioning metal workers in due course so this can be a more clearly multicloud pattern. -1. A GitHub account (and, optionally, a token for it with repositories permissions, to read from and write to your forks) -1. The helm binary, see [here](https://helm.sh/docs/intro/install/) -1. Ansible, which is used in the bootstrap and provisioning phases of the pattern install (and to configure Ansible Automation Platform). -1. Please note that when run on AWS, this pattern will provision an additional worker node, which will be a metal instance (c5n.metal) to run the Edge Virtual Machines. This worker is provisioned through the OpenShift MachineAPI and will be automatically cleaned up when the cluster is destroyed. - -The use of this pattern depends on having a running Red Hat -OpenShift cluster. It is desirable to have a cluster for deploying the GitOps -management hub assets and a separate cluster(s) for the managed cluster(s). - -If you do not have a running Red Hat OpenShift cluster you can start one on a -public or private cloud by using [Red Hat's cloud -service](https://console.redhat.com/openshift/create). - -# Credentials Required in Pattern - -In addition to the openshift cluster, you will need to prepare a number of secrets, or credentials, which will be used -in the pattern in various ways. To do this, copy the [values-secret.yaml template](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-secret.yaml.template) to your home directory as `values-secret.yaml` and replace the explanatory text as follows: - -* AWS Credentials (an access key and a secret key). These are used to provision the metal worker in AWS (which hosts -the VMs). If the portworx variant of the pattern is used, these credentials will be used to modify IAM rules to allow -portworx to run correctly. - -```yaml ---- -# NEVER COMMIT THESE VALUES TO GIT -version: "2.0" -secrets: - - name: aws-creds - fields: - - name: aws_access_key_id - value: "An aws access key that can provision VMs and manage IAM (if using portworx)" - - - name: aws_secret_access_key - value: "An aws access secret key that can provision VMs and manage IAM (if using portworx)" -``` -* A username and SSH Keypair (private key and public key). These will be used to provide access to the Kiosk VMs in the demo. - -```yaml - - name: kiosk-ssh - fields: - - name: username - value: 'Username of user to attach privatekey and publickey to - cloud-user is a typical value' - - - name: privatekey - value: 'Private ssh key of the user who will be able to elevate to root to provision kiosks' - - - name: publickey - value: 'Public ssh key of the user who will be able to elevate to root to provision kiosks' -``` - -* A Red Hat Subscription Management username and password. These will be used to register Kiosk VM templates to the Red Hat Content Delivery Network and install content on the Kiosk VMs to run the demo. - -```yaml - - name: rhsm - fields: - - name: username - value: 'username of user to register RHEL VMs' - - name: password - value: 'password of rhsm user in plaintext' -``` - -* Container "extra" arguments which will set the admin password for the ignition application when it's running. - -```yaml - - name: kiosk-extra - fields: - # Default: '--privileged -e GATEWAY_ADMIN_PASSWORD=redhat' - - name: container_extra_params - value: "Optional extra params to pass to kiosk ignition container, including admin password" -``` - -* A userData block to use with cloud-init. This will allow console login as the user you specify (traditionally cloud-user) with the password you specify. The value in cloud-init is used as the default; roles in the edge-gitops-vms chart can also specify other secrets to use by referencing them in the role block. - -```yaml - - name: cloud-init - fields: - - name: userData - value: |- - #cloud-config - user: 'username of user for console, probably cloud-user' - password: 'a suitable password to use on the console' - chpasswd: { expire: False } -``` - -* A manifest file with an entitlement to run Ansible Automation Platform. This file (which will be a .zip file) will be posted to to Ansible Automation Platform instance to enable its use. Instructions for creating a manifest file can be found [here](https://www.redhat.com/en/blog/how-create-and-use-red-hat-satellite-manifest) - -```yaml - - name: aap-manifest - fields: - - name: b64content - path: 'full pathname of file containing Satellite Manifest for entitling Ansible Automation Platform' - base64: true -``` - -# Prerequisites for deployment via `make install` - -If you are going to install via `make install` from your workstation, you will need the following tools and packages: - -{% include prerequisite-tools.md %} - -And additionally, the following ansible collections: - -* community.okd -* redhat_cop.controller_configuration -* awx.awx - -To see what collections are installed: - -`ansible-galaxy collection list` - -To install a collection that is not currently installed: - -`ansible-galaxy collection install ` - -# How to deploy - -1. Login to your cluster using oc login or exporting the KUBECONFIG - - ```sh - oc login - ``` - - or set KUBECONFIG to the path to your `kubeconfig` file. For example: - - ```sh - export KUBECONFIG=~/my-ocp-env/hub/auth/kubeconfig - ``` - -1. Fork the [ansible-edge-gitops](https://github.com/validatedpatterns/ansible-edge-gitops) repo on GitHub. It is necessary to fork to preserve customizations you make to the default configuration files. - -1. Clone the forked copy of this repository. - - ```sh - git clone git@github.com:your-username/ansible-edge-gitops.git - ``` - -1. Create a local copy of the Helm values file that can safely include credentials - - WARNING: DO NOT COMMIT THIS FILE - - You do not want to push personal credentials to GitHub. - - ```sh - cp values-secret.yaml.template ~/values-secret.yaml - vi ~/values-secret.yaml - ``` - -1. Customize the deployment for your cluster (Optional - the defaults in values-global.yaml are designed to work in AWS): - - ```sh - git checkout -b my-branch - vi values-global.yaml - git add values-global.yaml - git commit values-global.yaml - git push origin my-branch - ``` - -Please review the [Patterns quick start](/learn/quickstart/) page. This section describes deploying the pattern using `pattern.sh`. You can deploy the pattern using the [validated pattern operator](/infrastructure/using-validated-pattern-operator/). If you do use the operator then skip to Validating the Environment below. - -1. (Optional) Preview the changes. If you'd like to review what is been deployed with the pattern, `pattern.sh` provides a way to show what will be deployed. - - ```sh - ./pattern.sh make show - ``` - -1. Apply the changes to your cluster. This will install the pattern via the Validated Patterns Operator, and then run any necessary follow-up steps. - - ```sh - ./pattern.sh make install - ``` - -The installation process will take between 45-60 minutes to complete. If you want to know the details of what is happening during that time, the entire process is documented [here](/ansible-edge-gitops/installation-details/). - -# Installation Validation - -* Check the operators have been installed using the OpenShift console - - ```text - OpenShift Console Web UI -> Installed Operators - ``` - -The screen should like this when installed via `make install`: - -![ansible-edge-gitops-operators](/images/ansible-edge-gitops/aeg-new-operators.png "Ansible Edge GitOps Operators") - -* Check all applications are synchronised - -Under the project `ansible-edge-gitops-hub` click on the URL for the `hub`gitops`server`. All applications will sync, but this takes time as ODF has to completely install, and OpenShift Virtualization cannot provision VMs until the metal node has been fully provisioned and ready. Additionally, the Dynamic Provision Kiosk Template in AAP must complete; it can only start once the VMs have provisioned and are running: - -![ansible-edge-gitops-applications](/images/ansible-edge-gitops/aeg-applications.png "Ansible Edge GitOps Applications") - -* While the metal node is building, the VMs in OpenShift console will show as "Unschedulable." This is normal and expected, as the VMs themselves cannot run until the metal node completes provisioning and is ready. - -![ansible-edge-vms-unschedulable](/images/ansible-edge-gitops/aeg-vm-unschedulable.png "Ansible Edge GitOps Unschedulable VMs") - -* Under Virtualization > Virtual Machines, the virtual machines will eventually show as "Running." Once they are in "Running" state the Provisioning workflow will run on them, and install Firefox, Kiosk mode, and the Ignition application on them: - -![ansible-edge-gitops-vmlist](/images/ansible-edge-gitops/aeg-openshift-vm-screen.png "Ansible Edge GitOps VM List") - -* Finally, the VM Consoles will show the Ignition introduction screen. You can choose any of these options; this tutorial assumes you chose "Ignition": - -![ansible-edge-gitops-ignition-options](/images/ansible-edge-gitops/aeg-vm-ignition-intro.png "Ansible Edge GitOps Ignition Options") - -* You should be able to login to the application with the userid "admin" and the password you specified as the GATEWAY_ADMIN_PASSWORD in `container_extra_params` in your values-secret.yaml file. - -![ansible-edge-gitops-vmconsole](/images/ansible-edge-gitops/aeg-openshift-vm-console.png "Ansible Edge GitOps VM Console") - -Please see [Installation Details](/ansible-edge-gitops/installation-details/) for more information on the steps of installation. - -Please see [Ansible Automation Platform](/ansible-edge-gitops/ansible-automation-platform/) for more information on how this pattern uses the Ansible Automation Platform Operator for OpenShift. - -Please see [OpenShift Virtualization](/ansible-edge-gitops/openshift-virtualization/) for more information on how this pattern uses OpenShift Virtualization. - -# Infrastructure Elements of this Pattern - -## [Ansible Automation Platform](https://www.redhat.com/en/technologies/management/ansible) - -A fully functional installation of the Ansible Automation Platform operator is installed on your OpenShift cluster to configure and maintain the VMs for this demo. AAP maintains a dynamic inventory of kiosk machines and can configure a VM from template to fully functional kiosk in about 10 minutes. - -## OpenShift [Virtualization](https://docs.openshift.com/container-platform/4.16/virt/about_virt/about-virt.html) - -OpenShift Virtualization is a Kubernetes-native way to run virtual machine workloads. It is used in this pattern to host VMs simulating an Edge environment; the chart that configures the VMs is designed to be flexible to allow easy customization to model different VM sizes, mixes, versions and profiles for future pattern development. - -## Inductive Automation [Ignition](https://inductiveautomation.com/) - -The goal of this pattern is to configure 2 VMs running Firefox in Kiosk mode displaying the demo version of the Ignition application running in a podman container. Ignition is a popular tool in use with Oil and Gas companies; it is included as a real-world example and as an item to spark imagination about what other applications could be installed and managed this way. - -The container used for this pattern is the container [image](https://hub.docker.com/r/inductiveautomation/ignition) published by Inductive Automation. - -## HashiCorp [Vault](https://www.vaultproject.io/) - -Vault is used as the authoritative source for the Kiosk ssh pubkey via the External Secrets Operator. -As part of this pattern HashiCorp Vault has been installed. Refer to the section on [Vault](https://validatedpatterns.io/secrets/vault/). - -# Next Steps - -## [Help & Feedback](https://groups.google.com/g/validatedpatterns) -## [Report Bugs](https://github.com/validatedpatterns/ansible-edge-gitops/issues) diff --git a/content/patterns/ansible-edge-gitops/installation-details.md b/content/patterns/ansible-edge-gitops/installation-details.md deleted file mode 100644 index dd1b5b0d6..000000000 --- a/content/patterns/ansible-edge-gitops/installation-details.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: Installation Details -weight: 20 -aliases: /ansible-edge-gitops/installation-details/ ---- - -# Installation Details - -# Installation Steps - -These are the steps run by [make install](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile) and what each one does: - -## [operator-deploy](https://github.com/validatedpatterns/common/blob/main/Makefile) - -The operator-deploy task installs the Validated Patterns Operator, which in turn creates a subscription for the OpenShift GitOps operator and installs both the cluster and hub instances of it. The clustergroup application will then read the values-global.yaml and values-hub.yaml files for other subscriptions and applications to install. - -The [legacy-install](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile) is still provided for users that cannot or do not want to use the Validated Patterns operator. Instead of installing the operator, it installs a helm chart that does the same thing - installs a subscription for OpenShift GitOps and installs a cluster-wide and hub instance of that operator. It then proceeds with installing the clustergroup application. - -Note that both the [upgrade](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile) and [legacy-upgrade](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile) targets are now equivalent and interchangeable with `install` and `legacy-install` (respectively - `legacy-install/legacy-upgrade` are not compatible with standard `install/upgrade`. This was not always the case, so both install/upgrade targets are still provided). - -### Imperative section - -Part of the operator-deploy process is creating and running the [imperative](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml) tools as defined in the hub values file. In this pattern, that includes running the playbook to deploy the metal worker. - -The real code for this playbook (outside of a shell wrapper) is [here](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/deploy_kubevirt_worker.yml). - -This script is another Ansible playbook that deploys a node to run the Virtual Machines for the demo. The playbook uses the OpenShift machineset API to provision the node in the first availability zone it finds. Currently, AWS is the only major public cloud provider that offers the deployment of a metal node through the normal provisioning process. We hope that Azure and GCP will support this functionality soon as well. - -Please be aware that the metal node is rather more expensive in compute costs than most other AWS machine types. The trade-off is that running the demo without hardware acceleration would take ~4x as long. - -It takes about 20-30 minutes for the metal node to become available to run VMs. If you would like to see the current status of the metal node, you can check it this way (assuming your kubeconfig is currently set up to point to your cluster): - -```shell -oc get -A machineset -``` - -You will be looking for a machineset with `metal-worker` in its name: - -```text -NAMESPACE NAME DESIRED CURRENT READY AVAILABLE AGE -openshift-machine-api mhjacks-aeg-qx25w-metal-worker-us-west-2a 1 1 1 1 19m -openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2a 1 1 1 1 47m -openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2b 1 1 1 1 47m -openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2c 1 1 1 1 47m -openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2d 0 0 47m -``` - -When the `metal-worker` is showing "READY" and "AVAILABLE", the virtual machines will begin provisioning on it. - -The metal node will be destroyed when the cluster is destroyed. The script is idempotent and will create at most one metal node per cluster. - -## [post-install](https://github.com/validatedpatterns/common/blob/main/Makefile) - -Note that all the steps of `post-install` are idempotent. If you want or need to reconfigure vault or AAP, the recommended way to do so is to call `make post-install`. This may change as we move elements of this pattern into the new imperative framework in `common`. - -Specific processes that are called by post-install include: - -### [vault-init](https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh) - -Vault requires extra setup in the form of unseal keys and configuration of secrets. The vault-init task does this. Note that it is safe to run vault-init as it will exit successfully if it can connect to a cluster with a running, unsealed vault. - -### [load-secrets](https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh) - -This process (which calls push_secrets) calls an Ansible playbook that reads the values-secret.yaml file and stores the data it finds there in vault as keypairs. These values are then usable in the kubernetes cluster. This pattern uses the ssh pubkey for the kiosk VMs via the external secrets operator. - -This script will update secrets in vault if re-run; it is safe to re-run if the secret values have not changed as well. - -### [configure-controller](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh) - -There are two parts to this script - the first part, with the code [here](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml), retrieves the admin credentials from OpenShift to enable login to the AAP Controller. - -The second part, which is the bulk of the ansible-load-controller process is [here](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml) and uses the [controller configuration](https://github.com/redhat-cop/controller_configuration) framework to configure the Ansible Automation Platform instance that is installed by the helm chart. - -This division is so that users can adapt this pattern more easily if they're running AAP, but not on OpenShift. - -The script waits until AAP is ready, and then proceeds to: - -1. Install the manifest to entitle AAP -1. Configure the custom Credential Types the demo needs -1. Define an Organization for the Demo -1. Add a Project for the Demo -1. Add the Credentials for jobs to use -1. Configure Host inventory and inventory sources, and smart inventories to define target hosts -1. Configure an Execution environment for the Demo -1. Configure Job Templates for the Demo -1. Configure Schedules for the jobs that need to repeat - -*Note:* This script has defaults that it overrides when run as part of `make install` that it derives from the environment (the repo that it is attached to and the branch that it is on). So if you need to re-run it, the most straightforward way to do this is to run `make upgrade` when using the make-based installation process. - -# OpenShift GitOps (ArgoCD) - -OpenShift GitOps is central to this pattern as it is responsible for installing all of the other components. The installation process is driven through the installation of the [clustergroup](https://github.com/validatedpatterns/common/tree/v1/clustergroup) chart. This in turn reads the repo's [global values file](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml), which instructs it to read the [hub values file](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml). This is how the pattern knows to apply the Subscriptions and Applications listed further in the pattern. - -# ODF (OpenShift Data Foundations) - -ODF is the storage framework that is needed to provide resilient storage for OpenShift Virtualization. It is managed via the helm chart [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations). This is basically the same chart that our Medical Diagnosis pattern uses (see [here](/patterns/medical-diagnosis/getting-started/) for details on the Medical Edge pattern's use of storage). - -Please note that this chart will create a Noobaa S3 bucket named nb.epoch_timestamp.cluster-domain which will not be destroyed when the cluster is destroyed. - -# OpenShift Virtualization (KubeVirt) - -OpenShift Virtualization is a framework for running virtual machines as native Kubernetes resources. While it can run without hardware acceleration, the performance of virtual machines will suffer terribly; some testing on a similar workload indicated a 4-6x delay running without hardware acceleration, so at present this pattern requires hardware acceleration. The pattern provides a script [deploy-kubevirt-worker.sh](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/deploy_kubevirt_worker.sh) which will provision a metal worker to run virtual machines for the pattern. - -OpenShift Virtualization currently supports only AWS and on-prem clusters; this is because of the way that baremetal resources are provisioned in GCP and Azure. We hope that OpenShift Virtualization can support GCP and Azure soon. - -The installation of the OpenShift Virtualization HyperConverged deployment is controlled by the chart [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/cnv). - -OpenShift Virtualization was chosen in this pattern to avoid dealing with the differences in galleries and templates of images between the different public cloud providers. The important thing from this pattern's standpoint is the availability of machine instances to manage (since we are simulating an Edge deployment scenario, which could either be bare metal instances or virtual machines); OpenShift Virtualization was the easiest and most portable way to spin up machine instances. It also provides mechanisms for defining the desired machine set declaratively. - -The creation of virtual machines is controlled by the chart [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms). - -More details about the way we use OpenShift Virtualization are available [here](/ansible-edge-gitops/openshift-virtualization). - -# Ansible Automation Platform (AAP, formerly known as Ansible Tower) - -The use of Ansible Automation Platform is really the centerpiece of this pattern. We have recognized for some time that the notion and design principles of GitOps should apply to things outside of Kubernetes, and we believe this pattern -gives us a way to do that. - -All of the Ansible interactions are defined in a Git Repository; the Ansible jobs that configure the VMs are designed -to be idempotent (and are scheduled to run every 10 minutes on those VMs). - -The installation of AAP itself is governed by the chart [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/ansible-automation-platform). The post-installation configuration of AAP is done via the [ansible-load-controller.sh](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh) script. - -It is very much the intention of this pattern to make it easy to replace the specific Edge management use case with another one. Some ideas on how to do that can be found [here](/ansible-edge-gitops/ideas-for-customization/). - -Specifics of the Ansible content for this pattern can be seen [here](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible). - -More details of the specifics of how AAP is configured are available [here](/ansible-edge-gitops/ansible-automation-platform/). - -# Next Steps - -## [Help & Feedback](https://groups.google.com/g/validatedpatterns) -## [Report Bugs](https://github.com/validatedpatterns/ansible-edge-gitops/issues) diff --git a/content/patterns/ansible-edge-gitops/openshift-virtualization.md b/content/patterns/ansible-edge-gitops/openshift-virtualization.md deleted file mode 100644 index ea0b1af40..000000000 --- a/content/patterns/ansible-edge-gitops/openshift-virtualization.md +++ /dev/null @@ -1,357 +0,0 @@ ---- -title: OpenShift Virtualization -weight: 50 -aliases: /ansible-edge-gitops/openshift-virtualization/ ---- - -# OpenShift Virtualization - -# Understanding the Edge GitOps VMs [Helm Chart](https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms) - -The heart of the Edge GitOps VMs helm chart is a [template file](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml) that was designed with a fair amount of flexibility in mind. Specifically, it allows you to specify: - -1. One or more "groups" of VMs (such as "kiosk" in our example) with an arbitrary number of instances per group -1. Different sizing parameters (cores, threads, memory, disk size) for each group -1. Different SSH keypair credentials for each group -1. Different OS's for each group -1. Different sets of TCP and/or UDP ports open for each group - -This is to allow you to set up, for example, 4 VMs of one type, 3 VMs of another, and 2 VMs of a third type. This will hopefully abstract the details of VM creation through OpenShift Virtualization and allow you to focus on what kinds and how many of the different sorts of VMs you might need to set up. (Note that AWS's smallest metal node is 72 cores and 192 GB of RAM at initial release, so there is plenty of room for different combinations/configurations.) - -## How we got here - Default OpenShift Virtualization templates - -OpenShift virtualization expects to install virtual machines from image templates by default, and provides a number of OpenShift templates to facilitate this. The default templates are installed in the `openshift` namespace; the OpenShift console also provides a wizard for creating VMs that use the same templates. - -As of OpenShift Virtualization 4.10.1, the following templates were available on installation: - -```text -$ oc get template - -NAME DESCRIPTION PARAMETERS OBJECTS -3scale-gateway 3scale's APIcast is an NGINX based API gateway used to integrate your interna... 17 (8 blank) 3 -amq63-basic Application template for JBoss A-MQ brokers. These can be deployed as standal... 11 (4 blank) 6 -amq63-persistent An example JBoss A-MQ application. For more information about using this temp... 13 (4 blank) 8 -amq63-persistent-ssl An example JBoss A-MQ application. For more information about using this temp... 18 (6 blank) 12 -amq63-ssl An example JBoss A-MQ application. For more information about using this temp... 16 (6 blank) 10 -apicurito Design beautiful, functional APIs with zero coding, using a visual designer f... 7 (1 blank) 7 -cache-service Red Hat Data Grid is an in-memory, distributed key/value store. 8 (1 blank) 4 -cakephp-mysql-example An example CakePHP application with a MySQL database. For more information ab... 21 (4 blank) 8 -cakephp-mysql-persistent An example CakePHP application with a MySQL database. For more information ab... 22 (4 blank) 9 -centos-stream8-desktop-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-desktop-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-desktop-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-desktop-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos7-desktop-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-desktop-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-desktop-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-desktop-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -dancer-mysql-example An example Dancer application with a MySQL database. For more information abo... 18 (5 blank) 8 -dancer-mysql-persistent An example Dancer application with a MySQL database. For more information abo... 19 (5 blank) 9 -datagrid-service Red Hat Data Grid is an in-memory, distributed key/value store. 7 (1 blank) 4 -datavirt64-basic-s2i Application template for JBoss Data Virtualization 6.4 services built using S2I. 20 (6 blank) 6 -datavirt64-extensions-support-s2i An example JBoss Data Virtualization application. For more information about... 35 (9 blank) 10 -datavirt64-ldap-s2i Application template for JBoss Data Virtualization 6.4 services that configur... 21 (6 blank) 6 -datavirt64-secure-s2i An example JBoss Data Virtualization application. For more information about... 51 (22 blank) 8 -decisionserver64-amq-s2i An example BRMS decision server A-MQ application. For more information about... 30 (5 blank) 10 -decisionserver64-basic-s2i Application template for Red Hat JBoss BRMS 6.4 decision server applications... 17 (5 blank) 5 -django-psql-example An example Django application with a PostgreSQL database. For more informatio... 19 (5 blank) 8 -django-psql-persistent An example Django application with a PostgreSQL database. For more informatio... 20 (5 blank) 9 -eap-xp3-basic-s2i Example of an application based on JBoss EAP XP. For more information about u... 20 (5 blank) 8 -eap74-basic-s2i An example JBoss Enterprise Application Platform application. For more inform... 20 (5 blank) 8 -eap74-https-s2i An example JBoss Enterprise Application Platform application configured with... 30 (11 blank) 10 -eap74-sso-s2i An example JBoss Enterprise Application Platform application Single Sign-On a... 50 (21 blank) 10 -fedora-desktop-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-desktop-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-desktop-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-desktop-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fuse710-console The Red Hat Fuse Console eases the discovery and management of Fuse applicati... 8 (1 blank) 5 -httpd-example An example Apache HTTP Server (httpd) application that serves static content.... 9 (3 blank) 5 -jenkins-ephemeral Jenkins service, without persistent storage.... 11 (all set) 7 -jenkins-ephemeral-monitored Jenkins service, without persistent storage. ... 12 (all set) 8 -jenkins-persistent Jenkins service, with persistent storage.... 13 (all set) 8 -jenkins-persistent-monitored Jenkins service, with persistent storage. ... 14 (all set) 9 -jws31-tomcat7-basic-s2i Application template for JWS applications built using S2I. 12 (3 blank) 5 -jws31-tomcat7-https-s2i An example JBoss Web Server application configured for use with https. For mo... 17 (5 blank) 7 -jws31-tomcat8-basic-s2i An example JBoss Web Server application. For more information about using thi... 12 (3 blank) 5 -jws31-tomcat8-https-s2i An example JBoss Web Server application. For more information about using thi... 17 (5 blank) 7 -jws56-openjdk11-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 -jws56-openjdk11-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 -jws56-openjdk8-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 -jws56-openjdk8-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 -mariadb-ephemeral MariaDB database service, without persistent storage. For more information ab... 8 (3 generated) 3 -mariadb-persistent MariaDB database service, with persistent storage. For more information about... 9 (3 generated) 4 -mysql-ephemeral MySQL database service, without persistent storage. For more information abou... 8 (3 generated) 3 -mysql-persistent MySQL database service, with persistent storage. For more information about u... 9 (3 generated) 4 -nginx-example An example Nginx HTTP server and a reverse proxy (nginx) application that ser... 10 (3 blank) 5 -nodejs-postgresql-example An example Node.js application with a PostgreSQL database. For more informati... 18 (4 blank) 8 -nodejs-postgresql-persistent An example Node.js application with a PostgreSQL database. For more informati... 19 (4 blank) 9 -openjdk-web-basic-s2i An example Java application using OpenJDK. For more information about using t... 9 (1 blank) 5 -postgresql-ephemeral PostgreSQL database service, without persistent storage. For more information... 7 (2 generated) 3 -postgresql-persistent PostgreSQL database service, with persistent storage. For more information ab... 8 (2 generated) 4 -processserver64-amq-mysql-persistent-s2i An example BPM Suite application with A-MQ and a MySQL database. For more inf... 49 (13 blank) 14 -processserver64-amq-mysql-s2i An example BPM Suite application with A-MQ and a MySQL database. For more inf... 47 (13 blank) 12 -processserver64-amq-postgresql-persistent-s2i An example BPM Suite application with A-MQ and a PostgreSQL database. For mor... 46 (10 blank) 14 -processserver64-amq-postgresql-s2i An example BPM Suite application with A-MQ and a PostgreSQL database. For mor... 44 (10 blank) 12 -processserver64-basic-s2i An example BPM Suite application. For more information about using this templ... 17 (5 blank) 5 -processserver64-externaldb-s2i An example BPM Suite application with a external database. For more informati... 47 (22 blank) 7 -processserver64-mysql-persistent-s2i An example BPM Suite application with a MySQL database. For more information... 40 (14 blank) 10 -processserver64-mysql-s2i An example BPM Suite application with a MySQL database. For more information... 39 (14 blank) 9 -processserver64-postgresql-persistent-s2i An example BPM Suite application with a PostgreSQL database. For more informa... 37 (11 blank) 10 -rails-pgsql-persistent An example Rails application with a PostgreSQL database. For more information... 21 (4 blank) 9 -rails-postgresql-example An example Rails application with a PostgreSQL database. For more information... 20 (4 blank) 8 -redis-ephemeral Redis in-memory data structure store, without persistent storage. For more in... 5 (1 generated) 3 -redis-persistent Redis in-memory data structure store, with persistent storage. For more infor... 6 (1 generated) 4 -rhdm711-authoring Application template for a non-HA persistent authoring environment, for Red H... 76 (46 blank) 11 -rhdm711-authoring-ha Application template for a HA persistent authoring environment, for Red Hat D... 92 (47 blank) 17 -rhdm711-kieserver Application template for a managed KIE Server, for Red Hat Decision Manager 7... 61 (42 blank) 6 -rhdm711-prod-immutable-kieserver Application template for an immutable KIE Server in a production environment,... 66 (45 blank) 8 -rhdm711-prod-immutable-kieserver-amq Application template for an immutable KIE Server in a production environment... 80 (54 blank) 20 -rhdm711-trial-ephemeral Application template for an ephemeral authoring and testing environment, for... 63 (40 blank) 8 -rhel6-desktop-large Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-desktop-medium Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-desktop-small Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-desktop-tiny Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-large Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-medium Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-small Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-tiny Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhpam711-authoring Application template for a non-HA persistent authoring environment, for Red H... 80 (46 blank) 12 -rhpam711-authoring-ha Application template for a HA persistent authoring environment, for Red Hat P... 101 (47 blank) 20 -rhpam711-kieserver-externaldb Application template for a managed KIE Server with an external database, for... 83 (59 blank) 8 -rhpam711-kieserver-mysql Application template for a managed KIE Server with a MySQL database, for Red... 70 (42 blank) 9 -rhpam711-kieserver-postgresql Application template for a managed KIE Server with a PostgreSQL database, for... 71 (42 blank) 9 -rhpam711-managed Application template for a managed HA production runtime environment, for Red... 87 (46 blank) 14 -rhpam711-prod Application template for a managed HA production runtime environment, for Red... 102 (55 blank) 28 -rhpam711-prod-immutable-kieserver Application template for an immutable KIE Server in a production environment,... 76 (45 blank) 11 -rhpam711-prod-immutable-kieserver-amq Application template for an immutable KIE Server in a production environment... 97 (58 blank) 23 -rhpam711-prod-immutable-monitor Application template for a router and monitoring console in a production envi... 66 (44 blank) 14 -rhpam711-trial-ephemeral Application template for an ephemeral authoring and testing environment, for... 63 (40 blank) 8 -s2i-fuse710-spring-boot-2-camel Spring Boot 2 and Camel QuickStart. This example demonstrates how you can use... 18 (3 blank) 3 -s2i-fuse710-spring-boot-2-camel-rest-3scale Spring Boot 2, Camel REST DSL and 3Scale QuickStart. This example demonstrate... 19 (3 blank) 5 -s2i-fuse710-spring-boot-2-camel-xml Spring Boot 2 and Camel Xml QuickStart. This example demonstrates how you can... 18 (3 blank) 3 -sso72-https An example RH-SSO 7 application. For more information about using this templa... 26 (15 blank) 6 -sso72-mysql An example RH-SSO 7 application with a MySQL database. For more information a... 36 (20 blank) 8 -sso72-mysql-persistent An example RH-SSO 7 application with a MySQL database. For more information a... 37 (20 blank) 9 -sso72-postgresql An example RH-SSO 7 application with a PostgreSQL database. For more informat... 33 (17 blank) 8 -sso72-postgresql-persistent An example RH-SSO 7 application with a PostgreSQL database. For more informat... 34 (17 blank) 9 -sso73-https An example application based on RH-SSO 7.3 image. For more information about... 27 (16 blank) 6 -sso73-mysql An example application based on RH-SSO 7.3 image. For more information about... 37 (21 blank) 8 -sso73-mysql-persistent An example application based on RH-SSO 7.3 image. For more information about... 38 (21 blank) 9 -sso73-ocp4-x509-https An example application based on RH-SSO 7.3 image. For more information about... 13 (7 blank) 5 -sso73-ocp4-x509-mysql-persistent An example application based on RH-SSO 7.3 image. For more information about... 24 (12 blank) 8 -sso73-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.3 image. For more information about... 21 (9 blank) 8 -sso73-postgresql An example application based on RH-SSO 7.3 image. For more information about... 34 (18 blank) 8 -sso73-postgresql-persistent An example application based on RH-SSO 7.3 image. For more information about... 35 (18 blank) 9 -sso74-https An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 27 (16 blank) 6 -sso74-ocp4-x509-https An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 13 (7 blank) 5 -sso74-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 21 (9 blank) 8 -sso74-postgresql An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 34 (18 blank) 8 -sso74-postgresql-persistent An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 35 (18 blank) 9 -sso75-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 27 (16 blank) 6 -sso75-ocp4-x509-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 13 (7 blank) 5 -sso75-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 21 (9 blank) 8 -sso75-postgresql An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 34 (18 blank) 8 -sso75-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 35 (18 blank) 9 -windows10-desktop-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows10-desktop-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows10-highperformance-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows10-highperformance-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows2k12r2-highperformance-large Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k12r2-highperformance-medium Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k12r2-server-large Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k12r2-server-medium Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k16-highperformance-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k16-highperformance-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k16-server-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k16-server-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-highperformance-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-highperformance-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-server-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-server-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -``` - -Additionally, you may copy and customize these templates if you wish. The [template file](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml) is an example of a customized template that was used to help develop this pattern. - -### Creating a VM from the Console via Template - -These templates can be run through the OpenShift Console from the Virtualization tab. Note the "Create VM" buttons on the right side of this picture: - -[![console-template-vm-1](/images/ansible-edge-gitops/aeg-console-vm-template-1.png)](/images/ansible-edge-gitops/aeg-console-vm-template-1.png) - -Clicking on the "Create VM" button will bring up a wizard that looks like this: - -[![console-template-wizard](/images/ansible-edge-gitops/console-vm-template-wizard.png)](/images/ansible-edge-gitops/console-vm-template-wizard.png) - -Accepting the defaults from this wizard will give a success screen: - -[![console-template-wizard-success](/images/ansible-edge-gitops/console-vm-template-wizard-success.png)](/images/ansible-edge-gitops/console-vm-template-wizard-success.png) - -Until it is deleted, you can monitor the machine's lifecycle from the VirtualMachines tab: - -[![console-monitor-vm](/images/ansible-edge-gitops/console-vm-spinning-up.png)](/images/ansible-edge-gitops/console-vm-spinning-up.png) - -This is a great way to gain familiarity with how the system works, but we might possibly want an interface we can use more programmatically. - -### Creating a VM from the command line via `oc process` - -This is a useful way to understand what kinds of objects OpenShift Virtualization creates and manages: - -```text -$ oc process -n openshift rhel8-desktop-medium | oc apply -f - -virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created -``` - -You could also use the "Create VM Wizard" in the OpenShift console. - -### Another option - capturing template output and converting it into a Helm Chart - -See details [here](/patterns/ansible-edge-gitops/ideas-for-customization/#howto-define-your-own-vm-sets-from-scratch). - -## Components of the [virtual-machines](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml) template - -### Setup - the mechanism for creating identifiers declaratively - -The first part of the template file sets up some variables that we will use later as the template is expanded. We use a -sequential numbering scheme for VM name creation because that is an easy way to make each item in the set declarative - it ensures that if you ask for 5 VMs of a particular type, they will have predictable names, and if one is deleted, it will be replaced by a VM with the same name. - -We use explicit "range" variables for the Go templating. This is because the implicit range variable is easily "trampled", and we have at least two different dimensions to iterate on - vm "role" and "index" within that role. - -### The External Secret - SSH pubkey - -The first item we define as part of this structure is an external secret to hold an SSH pubkey. This pubkey will be mounted in the VM under an unprivileged user's home directory - and generally that unprivileged user is expected to be able to sudo root without password. By default, RHEL images are configured to only allow SSH access via pubkey. In this pattern, the private key and public key for the SSH connections are loaded into both Vault (which we inherited from previous patterns) and Ansible Automation Platform. - -Since the keys are defined per VM "group", it is possible and expected that you could have different keypairs for different groups of VMs. Nothing would prevent you from using the same keypair for all machines if you have different groups, though. - -While the pubkey is not truly a "secret", the availability of the External Secrets Operator made for a nice opportunity to allow for variance in configuration without necessarily requiring local customization of the pattern. The OpenShift Virtualization model has no way of knowing that multiple servers may have the same SSH credentials, and in fact cannot depend on this. So it creates a pubkey object by default for each VM, and we imitate this behavior in the pattern. - -### The VirtualMachine definition - -The VirtualMachine definition is the biggest part of the template. All of it is derived from customization of the default templates that OpenShift Virtualization installs in the `openshift` namespace - especially most of the labels and annotations, with the following exceptions: - -#### labels - -* app - -This is set to `$identifier` to match a general pattern with other applications. - -* edge-gitops-role - -This is set explicitly and used elsewhere in this pattern to help identify resources by role. The intention is to be able to use the edge-gitops-role as a selector for targeting various kind of queries, including (especially) Ansible inventories. Though please note - because of the way Kubernetes (and OpenShift) work, when you connect to a VM with Ansible you are connecting to the *Service* object directly, not to the VM. (Another way to look at it is that the Service object is providing network abstraction over the VM object.) - -Other resources in the rest of the VirtualMachine definition are copied from the default template, with appropriate Helm variables included. - -#### Initial user access - -Note that the initial user (default: `cloud-user`) and initial password are customizable via values overrides. The `kiosk` type shows an example of how to either use a user/password specific to the type or a default for the chart using the `coalesce` function. - -### The Service definition - -The Service definition is potentially complex. The purpose of this Service object is to expose all of the needed TCP and UDP network ports within the cluster. (Providing access to them from outside the cluster would require Route or Ingress objects, and would have some significant security implications; access to these entities from outside the cluster is not the focus of this pattern, so we do not provide it at this time.) - -A given VM may expose one port (for Ansible access, you need at least TCP/22), or it may expose many ports. You are free to define a service per port if you like, but it seems more convenient to define them all as a single service. - -One aspect of the templating you may find interesting is the use of the toPrettyJson filter in Go. Since YAML is a proper superset of JSON, this is a neat trick that allows to include a nested data structure without having to worry about how to indent it. (As toPrettyJson uses the square bracket ([]) and curly bracket ({}) notation for arrays and hashes, YAML can interpret it without worrying about its indentation. - -## Accessing the VMs - -There are three mechanisms for access to these VMs: - -### Ansible - keypair authentication - -The ssh keypairs from your values-secret.yaml are loaded into both Vault and AAP for use later. The pattern currently -defines one such keypair, `kiosk-ssh`, but could support more, such as `iot-ssh`, `gateway-ssh`, etc. more details on how to expand on this pattern are described below. - -AAP only needs the private key and the username as a machine credential. The public key is not truly a secret, but it seemed interesting and useful to use the external secret operator to associate the public key with VM instances this way and prevent having to diverge from the upstream pattern to include local ssh pubkey specifications. - -Note that the default SSH setting for RHEL does not allow password-based logins via SSH, and it's at the very least inconvenient to copy the SSH private key into a VM inside the cluster, so the typical way the keypair will be used is through Ansible. - -### Virtual Machine Console Access via OpenShift Console - -Navigate to Virtualization -> VirtualMachines and make sure Project: All Projects or edge-gitops-vms is selected: - -[![show-vms](/images/ansible-edge-gitops/aeg-show-vms.png)](/images/ansible-edge-gitops/aeg-show-vms.png) - -Click on the "three dots" menu on the right, which will open a dialog like the following: - -[![show-vm-open-console](/images/ansible-edge-gitops/aeg-open-vm-console.png)](/images/ansible-edge-gitops/aeg-open-vm-console.png) - -*Note:* In OpenShift Virtualization 4.11, the "Open Console" option appears when you click on the virtual machine name in openshift console. The dialog looks like this: - -[![kubevirt411-vm-open-console](/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png)](/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png) - -The virtual machine console view will either show a standard RHEL console login screen, or if the demo is working as designed, it will show the Ignition application running in kiosk mode. If the console shows a standard RHEL login, it can be accessed using the the initial user name (`cloud-user` by default) and password (which is what is specified in the Helm chart Values as either the password specific to that machine group, the default cloudInit, or a hardcoded default which can be seen in the template [here](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml). On a VM created through the wizard or via `oc process` from a template, the password will be set on the VirtualMachine object in the `volumes` section. - -### Initial User login (cloud-user) - -In general, and before the VMs have been configured by the Ansible Jobs, you can log in to the VMs on the console using the user and password you specified in the Helm chart, or else you can look at the VirtualMachine object and see what the username and password setting are. The pattern, by design, replaces the typical console view with Firefox running in kiosk mode. But this mechanism can still be used if you change the console from "VNC Console" to "Serial Console". - -# The "extra" VM Template - -Also included in the edge-gitops-vms chart is a separate template that will allow the creation of VMs with similar (though not identical characteristics) to the ones defined in the chart. - -The [rhel8-kiosk-with-svc](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml) template is preserved as an intermediate step to creating your own VM types, to see how the pipeline from default VM template -> customized template -> Helm-variable chart can work. - -# Next Steps - -## [Help & Feedback](https://groups.google.com/g/validatedpatterns) -## [Report Bugs](https://github.com/validatedpatterns/ansible-edge-gitops/issues) diff --git a/content/patterns/ansible-edge-gitops/troubleshooting.md b/content/patterns/ansible-edge-gitops/troubleshooting.md deleted file mode 100644 index 1cc54f822..000000000 --- a/content/patterns/ansible-edge-gitops/troubleshooting.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Troubleshooting -weight: 70 -aliases: /ansible-edge-gitops/troubleshooting/ ---- - -# Troubleshooting - -## Our [Issue Tracker](https://github.com/validatedpatterns/ansible-edge-gitops/issues) - -Please file an issue if you see a problem! From 871236947f9cca91c2d456a333b68f57bccdc6d7 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Mon, 3 Mar 2025 17:41:53 +0000 Subject: [PATCH 08/23] More updates 3 --- .../installation-details.adoc | 113 +++++------------- 1 file changed, 30 insertions(+), 83 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index 1c4ff75d5..c3e76cd42 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -2,62 +2,29 @@ == Installation Steps -These are the steps run by -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[make +These are the steps run by https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[make install] and what each one does: === https://github.com/validatedpatterns/common/blob/main/Makefile[operator-deploy] -The operator-deploy task installs the Validated Patterns Operator, which -in turn creates a subscription for the OpenShift GitOps operator and -installs both the cluster and hub instances of it. The clustergroup -application will then read the values-global.yaml and values-hub.yaml -files for other subscriptions and applications to install. - -The -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[legacy-install] -is still provided for users that cannot or do not want to use the -Validated Patterns operator. Instead of installing the operator, it -installs a helm chart that does the same thing - installs a subscription -for OpenShift GitOps and installs a cluster-wide and hub instance of -that operator. It then proceeds with installing the clustergroup -application. - -Note that both the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[upgrade] -and -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[legacy-upgrade] -targets are now equivalent and interchangeable with `+install+` and -`+legacy-install+` (respectively - `+legacy-install/legacy-upgrade+` are -not compatible with standard `+install/upgrade+`. This was not always -the case, so both install/upgrade targets are still provided). +The `operator-deploy` task installs the Validated Patterns Operator, which in turn creates a subscription for the OpenShift GitOps operator and installs both the cluster and hub instances of it. The clustergroup application will then read the values-global.yaml and values-hub.yaml files for other subscriptions and applications to install. + +The `install` and `upgrade` targets are interchangeable and handle both initial installation and updates. These targets ensure that the necessary components, including OpenShift GitOps and the `clustergroup` application, are deployed and updated as needed. ==== Imperative section -Part of the operator-deploy process is creating and running the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[imperative] -tools as defined in the hub values file. In this pattern, that includes -running the playbook to deploy the metal worker. +Part of the operator-deploy process is creating and running the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[imperative] +tools as defined in the hub values file. In this pattern, that includes running the playbook to deploy the metal worker. -The real code for this playbook (outside of a shell wrapper) is +The playbook code is https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/deploy_kubevirt_worker.yml[here]. -This script is another Ansible playbook that deploys a node to run the -Virtual Machines for the demo. The playbook uses the OpenShift -machineset API to provision the node in the first availability zone it -finds. Currently, AWS is the only major public cloud provider that -offers the deployment of a metal node through the normal provisioning -process. We hope that Azure and GCP will support this functionality soon -as well. - -Please be aware that the metal node is rather more expensive in compute -costs than most other AWS machine types. The trade-off is that running -the demo without hardware acceleration would take ~4x as long. +This Ansible Playbook deploys a node to run the Virtual Machines for the demo. The playbook uses the OpenShift +machineset API to provision the node in the first availability zone it finds. Currently, AWS is the only major public cloud provider that +offers the deployment of a metal node through the normal provisioning process. We hope that Azure and GCP will support this functionality soon. -It takes about 20-30 minutes for the metal node to become available to -run VMs. If you would like to see the current status of the metal node, -you can check it this way (assuming your kubeconfig is currently set up -to point to your cluster): +Be aware that the metal node is rather more expensive in compute costs than most other AWS machine types. The trade-off is that running the demo without hardware acceleration would take ~4x as long. +It takes about 20-30 minutes for the metal node to become available to run VMs. If you want to see the current status of the metal node, you can check it this way (assuming your `kubeconfig` is currently set up to point to your cluster): [source,shell] ---- @@ -76,84 +43,64 @@ openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2c 1 1 openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2d 0 0 47m ---- -When the `+metal-worker+` is showing "`READY`" and "`AVAILABLE`", the -virtual machines will begin provisioning on it. +When the `metal-worker` is showing `READY` and `AVAILABLE`, the virtual machines will begin provisioning on it. -The metal node will be destroyed when the cluster is destroyed. The -script is idempotent and will create at most one metal node per cluster. +The metal node is destroyed when the cluster is destroyed. The script is idempotent and will create at most one metal node per cluster. === https://github.com/validatedpatterns/common/blob/main/Makefile[post-install] -Note that all the steps of `+post-install+` are idempotent. If you want -or need to reconfigure vault or AAP, the recommended way to do so is to -call `+make post-install+`. This may change as we move elements of this -pattern into the new imperative framework in `+common+`. +All the steps of `post-install` are idempotent. If you want or need to reconfigure vault or AAP, the recommended way to do so is to +call `make post-install`. This might change as we move elements of this pattern into the new imperative framework in `+common+`. Specific processes that are called by post-install include: ==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[vault-init] -Vault requires extra setup in the form of unseal keys and configuration -of secrets. The vault-init task does this. Note that it is safe to run +Vault requires extra setup in the form of unseal keys and configuration of secrets. The vault-init task does this. Note that it is safe to run vault-init as it will exit successfully if it can connect to a cluster with a running, unsealed vault. ==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[load-secrets] -This process (which calls push_secrets) calls an Ansible playbook that -reads the values-secret.yaml file and stores the data it finds there in -vault as keypairs. These values are then usable in the kubernetes -cluster. This pattern uses the ssh pubkey for the kiosk VMs via the +This process (which calls push_secrets) calls an Ansible playbook that reads the values-secret.yaml file and stores the data it finds there in +vault as keypairs. These values are then usable in the kubernetes cluster. This pattern uses the ssh pubkey for the kiosk VMs via the external secrets operator. -This script will update secrets in vault if re-run; it is safe to re-run -if the secret values have not changed as well. +This script will update secrets in vault if re-run; it is safe to re-run if the secret values have not changed as well. ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[configure-controller] -There are two parts to this script - the first part, with the code -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here], -retrieves the admin credentials from OpenShift to enable login to the +There are two parts to this script - the first part, with the code https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here], retrieves the admin credentials from OpenShift to enable login to the AAP Controller. -The second part, which is the bulk of the ansible-load-controller -process is +The second part, which is the bulk of the ansible-load-controller process is https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml[here] -and uses the -https://github.com/redhat-cop/controller_configuration[controller -configuration] framework to configure the Ansible Automation Platform -instance that is installed by the helm chart. +and uses the https://github.com/redhat-cop/controller_configuration[controller +configuration] framework to configure the Ansible Automation Platform instance that is installed by the helm chart. -This division is so that users can adapt this pattern more easily if -they’re running AAP, but not on OpenShift. +This division is so that users can adapt this pattern more easily if they are running AAP, but not on OpenShift. The script waits until AAP is ready, and then proceeds to: -[arabic] . Install the manifest to entitle AAP . Configure the custom Credential Types the demo needs . Define an Organization for the Demo . Add a Project for the Demo . Add the Credentials for jobs to use -. Configure Host inventory and inventory sources, and smart inventories -to define target hosts +. Configure Host inventory and inventory sources, and smart inventories to define target hosts . Configure an Execution environment for the Demo . Configure Job Templates for the Demo . Configure Schedules for the jobs that need to repeat -_Note:_ This script has defaults that it overrides when run as part of -`+make install+` that it derives from the environment (the repo that it -is attached to and the branch that it is on). So if you need to re-run -it, the most straightforward way to do this is to run `+make upgrade+` +_Note:_ This script has defaults that it overrides when run as part of make install` that it derives from the environment (the repo that it +is attached to and the branch that it is on). So if you need to re-run i, the most straightforward way to do this is to run `+make upgrade+` when using the make-based installation process. == OpenShift GitOps (ArgoCD) -OpenShift GitOps is central to this pattern as it is responsible for -installing all of the other components. The installation process is +OpenShift GitOps is central to this pattern as it is responsible for insalling all of the other components. The installation process is driven through the installation of the -https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup] -chart. This in turn reads the repo’s +https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup] cart. This in turn reads the repo’s https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml[global values file], which instructs it to read the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[hub From 872b44a1c379b58faa7bed8ae79d58995a79c078 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Tue, 4 Mar 2025 12:04:52 +0000 Subject: [PATCH 09/23] reorganising --- .../ansible-automation-platform.adoc | 2 +- .../ansible-edge-gitops/getting-started.adoc | 2 +- .../ideas-for-customization.adoc | 19 +- .../ideas-for-customization.md | 6 +- .../installation-details.adoc | 22 +- .../openshift-virtualization.adoc | 218 +++++++----------- .../ansible-edge-gitops/troubleshooting.adoc | 11 + 7 files changed, 125 insertions(+), 155 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc index 211b702fb..1181083e4 100644 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -1,6 +1,6 @@ --- title: Ansible Automation Platform -weight: 20 +weight: 30 aliases: /federated-edge-observability/aap/ --- diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 9df398022..2112106e6 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -1,4 +1,4 @@ -5-Day Gen AI Intensive Course with Google--- +--- title: Getting Started weight: 10 aliases: /ansible-edge-gitops/getting-started/ diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc index 9d575dc32..135c49737 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -1,13 +1,20 @@ +--- +title: Ideas for Customization +weight: 40 +aliases: /ansible-edge-gitops/ideas-for-customization/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + == Ideas for Customization == Why change it? -One of the major goals of the Red Hat patterns development process is to -create modular, customizable demos. Maybe you are not interested in -Ignition as an application, or you do not have kiosks…but you do have -other use cases that involve running containers on edge devices. Maybe -you want to experiment with different releases of RHEL, or you want to -do something different with Ansible Automation Platform. +One of the major goals of the Red Hat patterns development process is to create modular, customizable demos. Maybe you are not interested in +Ignition as an application, or you do not have kiosks…but you do have other use cases that involve running containers on edge devices. Maybe you want to experiment with different releases of RHEL, or you want to do something different with Ansible Automation Platform. This demo in particular can be customized in a number of ways that might be very interesting - and here are some starter ideas with some diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.md b/content/patterns/ansible-edge-gitops/ideas-for-customization.md index f973e8b2e..c6ca74fea 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.md +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.md @@ -12,11 +12,11 @@ One of the major goals of the Red Hat patterns development process is to create This demo in particular can be customized in a number of ways that might be very interesting - and here are some starter ideas with some instructions on exactly what and where changes would need to be made in the pattern to accommodate those changes. -# HOWTO define your own VM sets using the chart +# Defining your own VM sets using the chart -1. Either fork the repo or copy the edge-gitops-vms chart out of it. +. Either fork the repo or copy the edge-gitops-vms chart out of it. -1. Customize the [values.yaml](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/values.yaml) file +. Customize the [values.yaml](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/values.yaml) file The `vms` data structure is designed to support multiple groups and types of VMs. The `kiosk` example defines all of the variables currently supported by the chart, including references to the Vault instance and port definitions. If, for example, you wanted to replace kiosk with new iotsensor and iotgateway types, the whole file might look like this: diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index c3e76cd42..242d4f4d1 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -1,3 +1,14 @@ +--- +title: Installation Details +weight: 20 +aliases: /ansible-edge-gitops/installation-details/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + == Installation Details == Installation Steps @@ -93,7 +104,7 @@ The script waits until AAP is ready, and then proceeds to: . Configure Schedules for the jobs that need to repeat _Note:_ This script has defaults that it overrides when run as part of make install` that it derives from the environment (the repo that it -is attached to and the branch that it is on). So if you need to re-run i, the most straightforward way to do this is to run `+make upgrade+` +is attached to and the branch that it is on). So if you need to re-run i, the most straightforward way to do this is to run `make upgrade+` when using the make-based installation process. == OpenShift GitOps (ArgoCD) @@ -109,15 +120,12 @@ and Applications listed further in the pattern. == ODF (OpenShift Data Foundations) -ODF is the storage framework that is needed to provide resilient storage -for OpenShift Virtualization. It is managed via the helm chart +ODF is the storage framework that is needed to provide resilient storage for OpenShift Virtualization. It is managed via the helm chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations[here]. -This is basically the same chart that our Medical Diagnosis pattern uses -(see link:/patterns/medical-diagnosis/getting-started/[here] for details +This is basically the same chart that our Medical Diagnosis pattern uses (see link:/patterns/medical-diagnosis/getting-started/[here] for details on the Medical Edge pattern’s use of storage). -Please note that this chart will create a Noobaa S3 bucket named -nb.epoch_timestamp.cluster-domain which will not be destroyed when the +Please note that this chart will create a Noobaa S3 bucket named nb.epoch_timestamp.cluster-domain which will not be destroyed when the cluster is destroyed. == OpenShift Virtualization (KubeVirt) diff --git a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc index 7d528c26a..28573038b 100644 --- a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc +++ b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc @@ -1,13 +1,21 @@ +--- +title: OpenShift Virtualization +weight: 60 +aliases: /ansible-edge-gitops/openshift-virtualization/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + == OpenShift Virtualization == Understanding the Edge GitOps VMs https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[Helm Chart] The heart of the Edge GitOps VMs helm chart is a -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[template -file] that was designed with a fair amount of flexibility in mind. -Specifically, it allows you to specify: +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[template file] that is designed with a degree of flexibility in mind. Specifically, it allows you to specify: -[arabic] . One or more "`groups`" of VMs (such as "`kiosk`" in our example) with an arbitrary number of instances per group . Different sizing parameters (cores, threads, memory, disk size) for @@ -16,24 +24,18 @@ each group . Different OS’s for each group . Different sets of TCP and/or UDP ports open for each group -This is to allow you to set up, for example, 4 VMs of one type, 3 VMs of -another, and 2 VMs of a third type. This will hopefully abstract the -details of VM creation through OpenShift Virtualization and allow you to -focus on what kinds and how many of the different sorts of VMs you might -need to set up. (Note that AWS’s smallest metal node is 72 cores and 192 -GB of RAM at initial release, so there is plenty of room for different +This allows you to set up, for example, 4 VMs of one type, 3 VMs of another, and 2 VMs of a third type. This will hopefully abstract the +details of VM creation through OpenShift Virtualization and allow you to focus on what kinds and how many of the different sorts of VMs you might +need to set up. (Note that AWS’s smallest metal node is 72 cores and 192 GB of RAM at initial release, so there is plenty of room for different combinations/configurations.) === How we got here - Default OpenShift Virtualization templates -OpenShift virtualization expects to install virtual machines from image -templates by default, and provides a number of OpenShift templates to -facilitate this. The default templates are installed in the -`+openshift+` namespace; the OpenShift console also provides a wizard +OpenShift virtualization expects to install virtual machines from image templates by default, and provides a number of OpenShift templates to +facilitate this. The default templates are installed in the `openshift+` namespace; the OpenShift console also provides a wizard for creating VMs that use the same templates. -As of OpenShift Virtualization 4.10.1, the following templates were -available on installation: +As of OpenShift Virtualization 4.10.1, the following templates were available on installation: [source,text] ---- @@ -245,19 +247,16 @@ windows2k19-server-medium Template for Microsoft Windows S Additionally, you may copy and customize these templates if you wish. The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[template -file] is an example of a customized template that was used to help -develop this pattern. +file] is an example of a customized template that was used to help develop this pattern. ==== Creating a VM from the Console via Template -These templates can be run through the OpenShift Console from the -Virtualization tab. Note the "`Create VM`" buttons on the right side of +These templates can be run through the OpenShift Console from the Virtualization tab. Note the "`Create VM`" buttons on the right side of this picture: link:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[image:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[console-template-vm-1]] -Clicking on the "`Create VM`" button will bring up a wizard that looks -like this: +Clicking on the "`Create VM`" button will bring up a wizard that looks like this: link:/images/ansible-edge-gitops/console-vm-template-wizard.png[image:/images/ansible-edge-gitops/console-vm-template-wizard.png[console-template-wizard]] @@ -265,128 +264,92 @@ Accepting the defaults from this wizard will give a success screen: link:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[image:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[console-template-wizard-success]] -Until it is deleted, you can monitor the machine’s lifecycle from the -VirtualMachines tab: +Until it is deleted, you can monitor the machine’s lifecycle from the VirtualMachines tab: link:/images/ansible-edge-gitops/console-vm-spinning-up.png[image:/images/ansible-edge-gitops/console-vm-spinning-up.png[console-monitor-vm]] -This is a great way to gain familiarity with how the system works, but -we might possibly want an interface we can use more programmatically. +This is a great way to gain familiarity with how the system works, but we might possibly want an interface we can use more programmatically. ==== Creating a VM from the command line via `+oc process+` -This is a useful way to understand what kinds of objects OpenShift -Virtualization creates and manages: +This is a useful way to understand what kinds of objects OpenShift Virtualization creates and manages: [source,text] ---- -$ oc process -n openshift rhel8-desktop-medium | oc apply -f - -virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created +$ oc process -n openshift rhel8-desktop-medium | oc apply -f -virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created ---- You could also use the "`Create VM Wizard`" in the OpenShift console. ==== Another option - capturing template output and converting it into a Helm Chart -See details -link:/patterns/ansible-edge-gitops/ideas-for-customization/#howto-define-your-own-vm-sets-from-scratch[here]. +See details link:/patterns/ansible-edge-gitops/ideas-for-customization/#howto-define-your-own-vm-sets-from-scratch[here]. === Components of the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[virtual-machines] template ==== Setup - the mechanism for creating identifiers declaratively -The first part of the template file sets up some variables that we will -use later as the template is expanded. We use a sequential numbering -scheme for VM name creation because that is an easy way to make each -item in the set declarative - it ensures that if you ask for 5 VMs of a -particular type, they will have predictable names, and if one is -deleted, it will be replaced by a VM with the same name. +The first part of the template file sets up some variables that we will use later as the template is expanded. We use a sequential numbering +scheme for VM name creation because that is an easy way to make each item in the set declarative - it ensures that if you ask for 5 VMs of a +particular type, they will have predictable names, and if one is deleted, it will be replaced by a VM with the same name. -We use explicit "`range`" variables for the Go templating. This is -because the implicit range variable is easily "`trampled`", and we have -at least two different dimensions to iterate on - vm "`role`" and -"`index`" within that role. +We use explicit "`range`" variables for the Go templating. This is because the implicit range variable is easily "`trampled`", and we have +at least two different dimensions to iterate on - vm "`role`" and "`index`" within that role. ==== The External Secret - SSH pubkey -The first item we define as part of this structure is an external secret -to hold an SSH pubkey. This pubkey will be mounted in the VM under an -unprivileged user’s home directory - and generally that unprivileged -user is expected to be able to sudo root without password. By default, -RHEL images are configured to only allow SSH access via pubkey. In this -pattern, the private key and public key for the SSH connections are -loaded into both Vault (which we inherited from previous patterns) and -Ansible Automation Platform. - -Since the keys are defined per VM "`group`", it is possible and expected -that you could have different keypairs for different groups of VMs. -Nothing would prevent you from using the same keypair for all machines -if you have different groups, though. - -While the pubkey is not truly a "`secret`", the availability of the -External Secrets Operator made for a nice opportunity to allow for -variance in configuration without necessarily requiring local -customization of the pattern. The OpenShift Virtualization model has no -way of knowing that multiple servers may have the same SSH credentials, -and in fact cannot depend on this. So it creates a pubkey object by +The first item we define as part of this structure is an external secret to hold an SSH pubkey. This pubkey will be mounted in the VM under an +unprivileged user’s home directory - and generally that unprivileged user is expected to be able to sudo root without password. By default, +RHEL images are configured to only allow SSH access via pubkey. In this pattern, the private key and public key for the SSH connections are +loaded into both Vault (which we inherited from previous patterns) and Ansible Automation Platform. + +Since the keys are defined per VM "`group`", it is possible and expected that you could have different keypairs for different groups of VMs. +Nothing would prevent you from using the same keypair for all machines if you have different groups, though. + +While the pubkey is not truly a "`secret`", the availability of the External Secrets Operator made for a nice opportunity to allow for +variance in configuration without necessarily requiring local customization of the pattern. The OpenShift Virtualization model has no +way of knowing that multiple servers may have the same SSH credentials, and in fact cannot depend on this. So it creates a pubkey object by default for each VM, and we imitate this behavior in the pattern. ==== The VirtualMachine definition -The VirtualMachine definition is the biggest part of the template. All -of it is derived from customization of the default templates that -OpenShift Virtualization installs in the `+openshift+` namespace - -especially most of the labels and annotations, with the following +The VirtualMachine definition is the biggest part of the template. All of it is derived from customization of the default templates that +OpenShift Virtualization installs in the `openshift` namespace - especially most of the labels and annotations, with the following exceptions: ===== labels * app -This is set to `+$identifier+` to match a general pattern with other +This is set to `$identifier` to match a general pattern with other applications. * edge-gitops-role -This is set explicitly and used elsewhere in this pattern to help -identify resources by role. The intention is to be able to use the -edge-gitops-role as a selector for targeting various kind of queries, -including (especially) Ansible inventories. Though please note - because -of the way Kubernetes (and OpenShift) work, when you connect to a VM -with Ansible you are connecting to the _Service_ object directly, not to -the VM. (Another way to look at it is that the Service object is -providing network abstraction over the VM object.) +This is set explicitly and used elsewhere in this pattern to help identify resources by role. The intention is to be able to use the +edge-gitops-role as a selector for targeting various kind of queries, including (especially) Ansible inventories. Though please note - because +of the way Kubernetes (and OpenShift) work, when you connect to a VM with Ansible you are connecting to the _Service_ object directly, not to +the VM. (Another way to look at it is that the Service object is providing network abstraction over the VM object.) -Other resources in the rest of the VirtualMachine definition are copied -from the default template, with appropriate Helm variables included. +Other resources in the rest of the VirtualMachine definition are copied from the default template, with appropriate Helm variables included. ===== Initial user access -Note that the initial user (default: `+cloud-user+`) and initial -password are customizable via values overrides. The `+kiosk+` type shows -an example of how to either use a user/password specific to the type or -a default for the chart using the `+coalesce+` function. +Note that the initial user (default: `+cloud-user+`) and initial password are customizable through values overrides. The `kiosk` type shows +an example of how to either use a user/password specific to the type or a default for the chart by using the `coalesce` function. ==== The Service definition -The Service definition is potentially complex. The purpose of this -Service object is to expose all of the needed TCP and UDP network ports -within the cluster. (Providing access to them from outside the cluster -would require Route or Ingress objects, and would have some significant -security implications; access to these entities from outside the cluster -is not the focus of this pattern, so we do not provide it at this time.) - -A given VM may expose one port (for Ansible access, you need at least -TCP/22), or it may expose many ports. You are free to define a service -per port if you like, but it seems more convenient to define them all as -a single service. - -One aspect of the templating you may find interesting is the use of the -toPrettyJson filter in Go. Since YAML is a proper superset of JSON, this -is a neat trick that allows to include a nested data structure without -having to worry about how to indent it. (As toPrettyJson uses the square -bracket ([]) and curly bracket (\{}) notation for arrays and hashes, -YAML can interpret it without worrying about its indentation. +The Service definition is potentially complex. The purpose of this Service object is to expose all of the needed TCP and UDP network ports +within the cluster. (Providing access to them from outside the cluster would require Route or Ingress objects, and would have some significant +security implications; access to these entities from outside the cluster is not the focus of this pattern, so we do not provide it at this time.) + +A given VM may expose one port (for Ansible access, you need at least TCP/22), or it may expose many ports. You are free to define a service +per port if you like, but it seems more convenient to define them all as a single service. + +One aspect of the templating you may find interesting is the use of the toPrettyJson filter in Go. Since YAML is a proper superset of JSON, this +is a neat trick that allows to include a nested data structure without having to worry about how to indent it. (As toPrettyJson uses the square +bracket ([]) and curly bracket (\{}) notation for arrays and hashes, YAML can interpret it without worrying about its indentation. === Accessing the VMs @@ -394,74 +357,55 @@ There are three mechanisms for access to these VMs: ==== Ansible - keypair authentication -The ssh keypairs from your values-secret.yaml are loaded into both Vault -and AAP for use later. The pattern currently defines one such keypair, -`+kiosk-ssh+`, but could support more, such as `+iot-ssh+`, -`+gateway-ssh+`, etc. more details on how to expand on this pattern are +The ssh keypairs from your values-secret.yaml are loaded into both Vault and AAP for use later. The pattern currently defines one such keypair, +`kiosk-ssh`, but could support more, such as `iot-ssh`, `gateway-ssh`, etc. more details on how to expand on this pattern are described below. -AAP only needs the private key and the username as a machine credential. -The public key is not truly a secret, but it seemed interesting and -useful to use the external secret operator to associate the public key -with VM instances this way and prevent having to diverge from the +AAP only needs the private key and the username as a machine credential. The public key is not truly a secret, but it seemed interesting and +useful to use the external secret operator to associate the public key with VM instances this way and prevent having to diverge from the upstream pattern to include local ssh pubkey specifications. -Note that the default SSH setting for RHEL does not allow password-based -logins via SSH, and it’s at the very least inconvenient to copy the SSH -private key into a VM inside the cluster, so the typical way the keypair -will be used is through Ansible. +Note that the default SSH setting for RHEL does not allow password-based logins via SSH, and it’s at the very least inconvenient to copy the SSH +private key into a VM inside the cluster, so the typical way the keypair will be used is through Ansible. ==== Virtual Machine Console Access via OpenShift Console -Navigate to Virtualization -> VirtualMachines and make sure Project: All -Projects or edge-gitops-vms is selected: +Navigate to Virtualization -> VirtualMachines and make sure Project: All Projects or edge-gitops-vms is selected: link:/images/ansible-edge-gitops/aeg-show-vms.png[image:/images/ansible-edge-gitops/aeg-show-vms.png[show-vms]] -Click on the "`three dots`" menu on the right, which will open a dialog -like the following: +Click on the "`three dots`" menu on the right, which will open a dialog like the following: link:/images/ansible-edge-gitops/aeg-open-vm-console.png[image:/images/ansible-edge-gitops/aeg-open-vm-console.png[show-vm-open-console]] -_Note:_ In OpenShift Virtualization 4.11, the "`Open Console`" option -appears when you click on the virtual machine name in openshift console. +_Note:_ In OpenShift Virtualization 4.11, the "`Open Console`" option appears when you click on the virtual machine name in openshift console. The dialog looks like this: link:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[image:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[kubevirt411-vm-open-console]] -The virtual machine console view will either show a standard RHEL -console login screen, or if the demo is working as designed, it will -show the Ignition application running in kiosk mode. If the console -shows a standard RHEL login, it can be accessed using the the initial -user name (`+cloud-user+` by default) and password (which is what is -specified in the Helm chart Values as either the password specific to -that machine group, the default cloudInit, or a hardcoded default which -can be seen in the template +The virtual machine console view will either show a standard RHEL console login screen, or if the demo is working as designed, it will +show the Ignition application running in kiosk mode. If the console shows a standard RHEL login, it can be accessed using the the initial +user name (`cloud-user` by default) and password (which is what is specified in the Helm chart Values as either the password specific to +that machine group, the default cloudInit, or a hardcoded default which can be seen in the template https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[here]. -On a VM created through the wizard or via `+oc process+` from a -template, the password will be set on the VirtualMachine object in the +On a VM created through the wizard or via `oc process` from a template, the password will be set on the VirtualMachine object in the `+volumes+` section. ==== Initial User login (cloud-user) -In general, and before the VMs have been configured by the Ansible Jobs, -you can log in to the VMs on the console using the user and password you -specified in the Helm chart, or else you can look at the VirtualMachine -object and see what the username and password setting are. The pattern, -by design, replaces the typical console view with Firefox running in -kiosk mode. But this mechanism can still be used if you change the +In general, and before the VMs have been configured by the Ansible Jobs, you can log in to the VMs on the console using the user and password you +specified in the Helm chart, or else you can look at the VirtualMachine object and see what the username and password setting are. The pattern, +by design, replaces the typical console view with Firefox running in kiosk mode. But this mechanism can still be used if you change the console from "`VNC Console`" to "`Serial Console`". == The "`extra`" VM Template -Also included in the edge-gitops-vms chart is a separate template that -will allow the creation of VMs with similar (though not identical +Also included in the edge-gitops-vms chart is a separate template that will allow the creation of VMs with similar (though not identical characteristics) to the ones defined in the chart. The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[rhel8-kiosk-with-svc] -template is preserved as an intermediate step to creating your own VM -types, to see how the pipeline from default VM template -> customized +template is preserved as an intermediate step to creating your own VM types, to see how the pipeline from default VM template -> customized template -> Helm-variable chart can work. == Next Steps diff --git a/content/patterns/ansible-edge-gitops/troubleshooting.adoc b/content/patterns/ansible-edge-gitops/troubleshooting.adoc index a0c0d5050..d78d33c4e 100644 --- a/content/patterns/ansible-edge-gitops/troubleshooting.adoc +++ b/content/patterns/ansible-edge-gitops/troubleshooting.adoc @@ -1,3 +1,14 @@ +--- +title: Troubleshooting +weight: 70 +aliases: /ansible-edge-gitops/troubleshooting/ +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + == Troubleshooting === Our https://github.com/validatedpatterns/ansible-edge-gitops/issues[Issue Tracker] From 609473313b8e0267ac68ba254319e6a3fead60f7 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Tue, 4 Mar 2025 12:14:36 +0000 Subject: [PATCH 10/23] reorganising 2 --- .../ansible-edge-gitops/troubleshooting.adoc | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 content/patterns/ansible-edge-gitops/troubleshooting.adoc diff --git a/content/patterns/ansible-edge-gitops/troubleshooting.adoc b/content/patterns/ansible-edge-gitops/troubleshooting.adoc deleted file mode 100644 index d78d33c4e..000000000 --- a/content/patterns/ansible-edge-gitops/troubleshooting.adoc +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Troubleshooting -weight: 70 -aliases: /ansible-edge-gitops/troubleshooting/ ---- - -:toc: -:imagesdir: /images -:_content-type: ASSEMBLY -include::modules/comm-attributes.adoc[] - -== Troubleshooting - -=== Our https://github.com/validatedpatterns/ansible-edge-gitops/issues[Issue Tracker] - -Please file an issue if you see a problem! From a8d42e15f1922797e25850c436dbef187bac037c Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Tue, 4 Mar 2025 15:14:27 +0000 Subject: [PATCH 11/23] reorganising 3 --- .../ansible-edge-gitops/getting-started.adoc | 9 +- .../ideas-for-customization.adoc | 107 +++---- .../ideas-for-customization.md | 268 ------------------ .../installation-details.adoc | 173 ++++------- 4 files changed, 93 insertions(+), 464 deletions(-) delete mode 100644 content/patterns/ansible-edge-gitops/ideas-for-customization.md diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 2112106e6..701425aa3 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -306,11 +306,4 @@ by Inductive Automation. === HashiCorp https://www.vaultproject.io/[Vault] -Vault is used as the authoritative source for the Kiosk ssh pubkey via the External Secrets Operator. As part of this pattern HashiCorp Vault -has been installed. Refer to the section on https://validatedpatterns.io/secrets/vault/[Vault]. - -== Next Steps - -=== https://groups.google.com/g/validatedpatterns[Help & Feedback] - -=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] +Vault is used as the authoritative source for the Kiosk ssh pubkey via the External Secrets Operator. As part of this pattern HashiCorp Vault has been installed. Refer to the section on https://validatedpatterns.io/secrets/vault/[Vault]. diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc index 135c49737..abeb55e27 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -9,32 +9,19 @@ aliases: /ansible-edge-gitops/ideas-for-customization/ :_content-type: ASSEMBLY include::modules/comm-attributes.adoc[] -== Ideas for Customization +== Why customize the pattern? -== Why change it? +One of the major goals of the Red Hat patterns development process is to create modular, customizable demos. Maybe you are not interested in Ignition as an application, or you do not have kiosks but you do have other use cases that involve running containers on edge devices. Maybe you want to experiment with different releases of RHEL, or you want to do something different with Ansible Automation Platform. -One of the major goals of the Red Hat patterns development process is to create modular, customizable demos. Maybe you are not interested in -Ignition as an application, or you do not have kiosks…but you do have other use cases that involve running containers on edge devices. Maybe you want to experiment with different releases of RHEL, or you want to do something different with Ansible Automation Platform. +This demo in particular can be customized in a several ways that might be very interesting and here are some starter ideas with some instructions on exactly what and where changes would need to be made in the pattern to accommodate those changes. -This demo in particular can be customized in a number of ways that might -be very interesting - and here are some starter ideas with some -instructions on exactly what and where changes would need to be made in -the pattern to accommodate those changes. +== Define your own VM sets using the chart -== HOWTO define your own VM sets using the chart +. Fork the repo or copy the `edge-gitops-vms`` chart out of it. -[arabic] -. Either fork the repo or copy the edge-gitops-vms chart out of it. -. Customize the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/values.yaml[values.yaml] -file +. Customize the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/values.yaml[values.yaml] file -The `+vms+` data structure is designed to support multiple groups and -types of VMs. The `+kiosk+` example defines all of the variables -currently supported by the chart, including references to the Vault -instance and port definitions. If, for example, you wanted to replace -kiosk with new iotsensor and iotgateway types, the whole file might look -like this: +The `vms` data structure is designed to support multiple groups and types of VMs. The `kiosk` example defines all of the variables currently supported by the chart, including references to the Vault instance and port definitions. If, for example, you wanted to replace kiosk with new `iotsensor`` and `iotgateway` types, the file might look like this: [source,yaml] ---- @@ -96,20 +83,16 @@ vms: targetPort: 1883 ---- -This would create 1 iotgateway VM and 4 iotsensor VMs. Adjustments would -also need to be made in -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-secret.yaml.template[values-secret] -and -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller] -to add the iotgateway-ssh and iotsensor-ssh data structures. +This would create 1 `iotgateway` VM and 4 `iotsensor` VMs. -== HOWTO define your own VM sets "`from scratch`" +Adjustments would also need to be made in https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-secret.yaml.template[values-secret] and https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller] to add the `iotgateway-ssh` and `iotsensor-ssh` data structures. + +== Defining your own VM sets "`from scratch`" -[arabic] . Pick a default template from the standard OpenShift Virtualization template library in the `+openshift+` namespace. For this pattern, we used `+rhel8-desktop-medium+`: - ++ [source,text] ---- $ oc get template -n openshift rhel8-desktop-medium @@ -117,13 +100,11 @@ NAME DESCRIPTION rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 ---- -[arabic] -. It might help to create a VM through the command line template -process, and see what objects OpenShift Virtualization creates to bring +. Create a VM through the command line template process, and see what objects OpenShift Virtualization creates to bring that VM up: - ++ To see the actual JSON that the template converts into: - ++ [source,text] ---- $ oc process -n openshift rhel8-desktop-medium @@ -261,8 +242,8 @@ $ oc process -n openshift rhel8-desktop-medium } ---- -And to use the template to create a VM: - +. Use the template to create a VM: ++ [source,shell] ---- oc process -n openshift rhel8-desktop-medium | oc apply -f - @@ -272,59 +253,39 @@ virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created In just a few minutes, you will have a blank rhel8 VM running, which you can then login to (via console) and customize. -[arabic] . Get the details of this template as a local YAML file: - ++ [source,shell] ---- oc get template -n openshift rhel8-desktop-medium -o yaml > my-template.yaml ---- -Once you have this local template, you can view the elements you want to -customize, possibly using +Once you have this local template, you can view the elements you want to customize, possibly using https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[this] as an example. -== HOWTO Define your own Ansible Controller Configuration +== Defining your own Ansible Controller Configuration -The -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] -is designed to be relatively easy to customize with a new controller -configuration. Structurally, it is principally based on +The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] +is designed to be relatively easy to customize with a new controller configuration. Structurally, it is principally based on https://github.com/redhat-cop/controller_configuration/blob/devel/playbooks/configure_controller.yml[configure_controller.yml] -from the Red Hat Community of Practice -https://github.com/redhat-cop/controller_configuration[controller_configuration] -collection. The order and specific list of roles invoked is taken from -there. +from the Red Hat Community of Practice https://github.com/redhat-cop/controller_configuration[controller_configuration] +collection. The order and specific list of roles invoked is taken from there. -To customize it, the main thing would be to replace the different -variables in the role tasks with the your own. The script includes the -roles for variable types that this pattern does not manage in order to -make that part straightforward. Feel free to add your own roles and +To customize it, the main thing would be to replace the different variables in the role tasks with the your own. The script includes the +roles for variable types that this pattern does not manage in order to make that part straightforward. Feel free to add your own roles and playbooks (and add them to the controller configuration script). -The reason this pattern ships with a script as it does instead of -invoking the referenced playbook directly is that several of the -configuration elements depend on each other, and there was not a -super-convenient place to put things like the controller credentials as +The reason this pattern ships with a script as it does instead of invoking the referenced playbook directly is that several of the +configuration elements depend on each other, and there was not a super-convenient place to put things like the controller credentials as the playbook suggests. -== HOWTO substitute your own container application (instead of ignition) - -[arabic] -. Adjust the query in the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml[inventory_preplay.yml] -either by overriding the vars for the play, or forking the repo and -replacing the vars with your own query terms. (That is, use your own -label(s) and namespace to discover the services you want to connect to. -. Adjust or override the vars in the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml[provision_kiosk.yml] -playbook to suitable values for your own container application. The -roles it calls are fairly generic, so changing the vars is all you -should need to do. +== Substitute your own container application (instead of ignition) -== Next Steps -=== https://groups.google.com/g/validatedpatterns[Help & Feedback] +. Adjust the query in the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml[inventory_preplay.yml] +either by overriding the vars for the play, or forking the repo and replacing the vars with your own query terms. (That is, use your own +label(s) and namespace to discover the services you want to connect to. -=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] +. Adjust or override the vars in the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml[provision_kiosk.yml] +playbook to suitable values for your own container application. The roles it calls are fairly generic, so changing the vars is all you should need to do. \ No newline at end of file diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.md b/content/patterns/ansible-edge-gitops/ideas-for-customization.md deleted file mode 100644 index c6ca74fea..000000000 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.md +++ /dev/null @@ -1,268 +0,0 @@ ---- -title: Ideas for Customization -weight: 60 -aliases: /ansible-edge-gitops/ideas-for-customization/ ---- - -# Ideas for Customization - -# Why change it? - -One of the major goals of the Red Hat patterns development process is to create modular, customizable demos. Maybe you are not interested in Ignition as an application, or you do not have kiosks...but you do have other use cases that involve running containers on edge devices. Maybe you want to experiment with different releases of RHEL, or you want to do something different with Ansible Automation Platform. - -This demo in particular can be customized in a number of ways that might be very interesting - and here are some starter ideas with some instructions on exactly what and where changes would need to be made in the pattern to accommodate those changes. - -# Defining your own VM sets using the chart - -. Either fork the repo or copy the edge-gitops-vms chart out of it. - -. Customize the [values.yaml](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/values.yaml) file - -The `vms` data structure is designed to support multiple groups and types of VMs. The `kiosk` example defines all of the variables currently supported by the chart, including references to the Vault instance and port definitions. If, for example, you wanted to replace kiosk with new iotsensor and iotgateway types, the whole file might look like this: - -```yaml ---- -secretStore: - name: vault-backend - kind: ClusterSecretStore - -cloudInit: - defaultUser: 'cloud-user' - defaultPassword: '6toh-n1d5-9xpq' - -vms: - iotsensor: - count: 4 - flavor: small - workload: server - os: rhel8 - role: iotgateway - storage: 20Gi - memory: 2Gi - cores: 1 - sockets: 1 - threads: 1 - cloudInitUser: cloud-user - cloudInitPassword: 6toh-n1d5-9xpq - template: rhel8-server-small - sshsecret: secret/data/hub/iotsensor-ssh - sshpubkeyfield: publickey - ports: - - name: ssh - port: 22 - protocol: TCP - targetPort: 22 - iotgateway: - count: 1 - flavor: medium - workload: server - os: rhel8 - role: iotgateway - storage: 30Gi - memory: 4Gi - cores: 1 - sockets: 1 - threads: 1 - cloudInitUser: cloud-user - cloudInitPassword: 6toh-n1d5-9xpq - template: rhel8-server-medium - sshsecret: secret/data/hub/iotgateway-ssh - sshpubkeyfield: publickey - ports: - - name: ssh - port: 22 - protocol: TCP - targetPort: 22 - - name: mqtt - port: 1883 - protocol: TCP - targetPort: 1883 -``` - -This would create 1 iotgateway VM and 4 iotsensor VMs. Adjustments would also need to be made in [values-secret](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-secret.yaml.template) and [ansible-load-controller](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh) to add the iotgateway-ssh and iotsensor-ssh data structures. - -# HOWTO define your own VM sets "from scratch" - -1. Pick a default template from the standard OpenShift Virtualization template library in the `openshift` namespace. For this pattern, we used `rhel8-desktop-medium`: - -```text -$ oc get template -n openshift rhel8-desktop-medium -NAME DESCRIPTION PARAMETERS OBJECTS -rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -``` - -1. It might help to create a VM through the command line template process, and see what objects OpenShift Virtualization creates to bring that VM up: - -To see the actual JSON that the template converts into: - -```text -$ oc process -n openshift rhel8-desktop-medium -{ - "kind": "List", - "apiVersion": "v1", - "metadata": {}, - "items": [ - { - "apiVersion": "kubevirt.io/v1", - "kind": "VirtualMachine", - "metadata": { - "annotations": { - "vm.kubevirt.io/validations": "[\n {\n \"name\": \"minimal-required-memory\",\n \"path\": \"jsonpath::.spec.domain.resources.requests.memory\",\n \"rule\": \"integer\",\n \"message\": \"This VM requires more memory.\",\n \"min\": 1610612736\n }\n]\n" - }, - "labels": { - "app": "rhel8-yywa22lijw8hl017", - "vm.kubevirt.io/template": "rhel8-desktop-medium", - "vm.kubevirt.io/template.revision": "1", - "vm.kubevirt.io/template.version": "v0.19.5" - }, - "name": "rhel8-yywa22lijw8hl017" - }, - "spec": { - "dataVolumeTemplates": [ - { - "apiVersion": "cdi.kubevirt.io/v1beta1", - "kind": "DataVolume", - "metadata": { - "name": "rhel8-yywa22lijw8hl017" - }, - "spec": { - "sourceRef": { - "kind": "DataSource", - "name": "rhel8", - "namespace": "openshift-virtualization-os-images" - }, - "storage": { - "resources": { - "requests": { - "storage": "30Gi" - } - } - } - } - } - ], - "running": false, - "template": { - "metadata": { - "annotations": { - "vm.kubevirt.io/flavor": "medium", - "vm.kubevirt.io/os": "rhel8", - "vm.kubevirt.io/workload": "desktop" - }, - "labels": { - "kubevirt.io/domain": "rhel8-yywa22lijw8hl017", - "kubevirt.io/size": "medium" - } - }, - "spec": { - "domain": { - "cpu": { - "cores": 1, - "sockets": 1, - "threads": 1 - }, - "devices": { - "disks": [ - { - "disk": { - "bus": "virtio" - }, - "name": "rhel8-yywa22lijw8hl017" - }, - { - "disk": { - "bus": "virtio" - }, - "name": "cloudinitdisk" - } - ], - "inputs": [ - { - "bus": "virtio", - "name": "tablet", - "type": "tablet" - } - ], - "interfaces": [ - { - "masquerade": {}, - "name": "default" - } - ], - "networkInterfaceMultiqueue": true, - "rng": {} - }, - "machine": { - "type": "pc-q35-rhel8.4.0" - }, - "resources": { - "requests": { - "memory": "4Gi" - } - } - }, - "evictionStrategy": "LiveMigrate", - "networks": [ - { - "name": "default", - "pod": {} - } - ], - "terminationGracePeriodSeconds": 180, - "volumes": [ - { - "dataVolume": { - "name": "rhel8-yywa22lijw8hl017" - }, - "name": "rhel8-yywa22lijw8hl017" - }, - { - "cloudInitNoCloud": { - "userData": "#cloud-config\nuser: cloud-user\npassword: nnpa-12td-e0r7\nchpasswd: { expire: False }" - }, - "name": "cloudinitdisk" - } - ] - } - } - } - } - ] -} -``` - -And to use the template to create a VM: - -```shell -oc process -n openshift rhel8-desktop-medium | oc apply -f - -virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created -``` - -In just a few minutes, you will have a blank rhel8 VM running, which you can then login to (via console) and customize. - -1. Get the details of this template as a local YAML file: - -```shell -oc get template -n openshift rhel8-desktop-medium -o yaml > my-template.yaml -``` - -Once you have this local template, you can view the elements you want to customize, possibly using [this](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml) as an example. - -# HOWTO Define your own Ansible Controller Configuration - -The [ansible_load_controller.sh](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh) is designed to be relatively easy to customize with a new controller configuration. Structurally, it is principally based on [configure_controller.yml](https://github.com/redhat-cop/controller_configuration/blob/devel/playbooks/configure_controller.yml) from the Red Hat Community of Practice [controller_configuration](https://github.com/redhat-cop/controller_configuration) collection. The order and specific list of roles invoked is taken from there. - -To customize it, the main thing would be to replace the different variables in the role tasks with the your own. The script includes the roles for variable types that this pattern does not manage in order to make that part straightforward. Feel free to add your own roles and playbooks (and add them to the controller configuration script). - -The reason this pattern ships with a script as it does instead of invoking the referenced playbook directly is that several of the configuration elements depend on each other, and there was not a super-convenient place to put things like the controller credentials as the playbook suggests. - -# HOWTO substitute your own container application (instead of ignition) - -1. Adjust the query in the [inventory_preplay.yml](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml) either by overriding the vars for the play, or forking the repo and replacing the vars with your own query terms. (That is, use your own label(s) and namespace to discover the services you want to connect to. - -1. Adjust or override the vars in the [provision_kiosk.yml](https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml) playbook to suitable values for your own container application. The roles it calls are fairly generic, so changing the vars is all you should need to do. - -# Next Steps - -## [Help & Feedback](https://groups.google.com/g/validatedpatterns) -## [Report Bugs](https://github.com/validatedpatterns/ansible-edge-gitops/issues) diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index 242d4f4d1..2d4a4cad2 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -9,40 +9,32 @@ aliases: /ansible-edge-gitops/installation-details/ :_content-type: ASSEMBLY include::modules/comm-attributes.adoc[] -== Installation Details - == Installation Steps -These are the steps run by https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[make -install] and what each one does: +These are the steps run by https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/Makefile[make install] and what each one does: === https://github.com/validatedpatterns/common/blob/main/Makefile[operator-deploy] -The `operator-deploy` task installs the Validated Patterns Operator, which in turn creates a subscription for the OpenShift GitOps operator and installs both the cluster and hub instances of it. The clustergroup application will then read the values-global.yaml and values-hub.yaml files for other subscriptions and applications to install. +The `operator-deploy` task installs the Validated Patterns Operator, which in turn creates a subscription for the OpenShift GitOps operator and installs both the cluster and hub instances of it. The `clustergroup` application then reads the `values-global.yaml` and `values-hub.yaml` files for other subscriptions and applications to install. The `install` and `upgrade` targets are interchangeable and handle both initial installation and updates. These targets ensure that the necessary components, including OpenShift GitOps and the `clustergroup` application, are deployed and updated as needed. ==== Imperative section -Part of the operator-deploy process is creating and running the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[imperative] -tools as defined in the hub values file. In this pattern, that includes running the playbook to deploy the metal worker. +Part of the operator-deploy process is creating and running the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[imperative] file as defined in the hub values file. This pattern includes running the playbook to deploy the metal worker. -The playbook code is -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/deploy_kubevirt_worker.yml[here]. +The playbook code is https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/deploy_kubevirt_worker.yml[here]. -This Ansible Playbook deploys a node to run the Virtual Machines for the demo. The playbook uses the OpenShift -machineset API to provision the node in the first availability zone it finds. Currently, AWS is the only major public cloud provider that -offers the deployment of a metal node through the normal provisioning process. We hope that Azure and GCP will support this functionality soon. +This Ansible Playbook deploys a node to run the Virtual Machines for the demo. The playbook uses the OpenShift machineset API to provision the node in the first availability zone it finds. Currently, AWS is the only major public cloud provider that offers the deployment of a metal node through the normal provisioning process. We hope that Azure and GCP will support this functionality soon. -Be aware that the metal node is rather more expensive in compute costs than most other AWS machine types. The trade-off is that running the demo without hardware acceleration would take ~4x as long. -It takes about 20-30 minutes for the metal node to become available to run VMs. If you want to see the current status of the metal node, you can check it this way (assuming your `kubeconfig` is currently set up to point to your cluster): +Be aware that the metal node is rather more expensive in compute costs than most other AWS machine types. The trade-off is that running the demo without hardware acceleration would take ~4x as long. It takes about 20-30 minutes for the metal node to become available to run VMs. If you want to see the current status of the metal node, you can check it this way (assuming your `kubeconfig` is currently set up to point to your cluster): [source,shell] ---- oc get -A machineset ---- -You will be looking for a machineset with `+metal-worker+` in its name: +You are looking for a machineset with `metal-worker` in its name: [source,text] ---- @@ -60,141 +52,92 @@ The metal node is destroyed when the cluster is destroyed. The script is idempot === https://github.com/validatedpatterns/common/blob/main/Makefile[post-install] -All the steps of `post-install` are idempotent. If you want or need to reconfigure vault or AAP, the recommended way to do so is to -call `make post-install`. This might change as we move elements of this pattern into the new imperative framework in `+common+`. +All the steps of `post-install` are idempotent. If you want or need to reconfigure vault or AAP, the recommended way to do so is to call `make post-install`. This might change as we move elements of this pattern into the new imperative framework in `common`. -Specific processes that are called by post-install include: +Specific processes that are called by `post-install` include: ==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[vault-init] -Vault requires extra setup in the form of unseal keys and configuration of secrets. The vault-init task does this. Note that it is safe to run -vault-init as it will exit successfully if it can connect to a cluster -with a running, unsealed vault. +The `vault-init` task streamlines the initialization and unsealing of Vault, ensuring that the necessary keys and configurations are in place. Its design allows for safe execution even against an already active Vault cluster, providing both efficiency and security in managing secrets. + +==== https://github.com/validatedpatterns/common/blob/main/scripts/load-k8s-secrets.sh[load-secrets] -==== https://github.com/validatedpatterns/common/blob/main/scripts/vault-utils.sh[load-secrets] +This process employs an Ansible playbook to read the `values-secret.yaml` file and securely store its data as key-value pairs in HashiCorp Vault. The External Secrets Operator (ESO) then retrieves these secrets from Vault and injects them into the Kubernetes cluster as native Kubernetes Secrets, making them accessible to applications running within the cluster. -This process (which calls push_secrets) calls an Ansible playbook that reads the values-secret.yaml file and stores the data it finds there in -vault as keypairs. These values are then usable in the kubernetes cluster. This pattern uses the ssh pubkey for the kiosk VMs via the -external secrets operator. +In this specific implementation, the pattern utilizes the SSH public key for the kiosk virtual machines (VMs) using the ESO, ensuring that sensitive information, such as SSH keys, is securely managed and available to the VMs as needed. -This script will update secrets in vault if re-run; it is safe to re-run if the secret values have not changed as well. +Re-running the script will update the secrets in Vault if there have been changes. If the secret values remain unchanged, re-execution is safe and will not adversely affect the existing configurations. ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[configure-controller] -There are two parts to this script - the first part, with the code https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here], retrieves the admin credentials from OpenShift to enable login to the -AAP Controller. +This script is divided into two main parts: -The second part, which is the bulk of the ansible-load-controller process is -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml[here] -and uses the https://github.com/redhat-cop/controller_configuration[controller -configuration] framework to configure the Ansible Automation Platform instance that is installed by the helm chart. +. *Retrieve Admin Credentials*: The first part of the script, located https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here], retrieves the admin credentials from OpenShift. These credentials are required to log in to the Ansible Automation Platform (AAP) Controller. -This division is so that users can adapt this pattern more easily if they are running AAP, but not on OpenShift. +. *Configure AAP Controller*: The second part, which constitutes the bulk of the ansible-load-controller process, is located +https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml[here]. It uses the https://github.com/redhat-cop/controller_configuration[controller configuration] framework to configure the AAP instance installed by the Helm chart. + +The script is divided into two parts to make it more adaptable for users who may be running AAP on platforms other than OpenShift. This modular approach allows for easier customization and reuse. The script waits until AAP is ready, and then proceeds to: . Install the manifest to entitle AAP -. Configure the custom Credential Types the demo needs -. Define an Organization for the Demo -. Add a Project for the Demo -. Add the Credentials for jobs to use -. Configure Host inventory and inventory sources, and smart inventories to define target hosts -. Configure an Execution environment for the Demo -. Configure Job Templates for the Demo -. Configure Schedules for the jobs that need to repeat - -_Note:_ This script has defaults that it overrides when run as part of make install` that it derives from the environment (the repo that it -is attached to and the branch that it is on). So if you need to re-run i, the most straightforward way to do this is to run `make upgrade+` -when using the make-based installation process. +. Configure the custom credential types the demo needs +. Define an organization for the Demo +. Add a project for the Demo +. Add the credentials for jobs to use +. Configure host inventory and inventory sources, and smart inventories to define target hosts +. Configure the execution environment for the demo +. Set up job templates required for the demo +. Define schedules for jobs that need to run repeatedly ++ +[NOTE] +==== +The script has defaults that are overridden when run as part of make install. These defaults are derived from the environment, including the repository and branch it is attached to. If you need to re-run the script, the most straightforward way is to use `make upgrade` when following the make-based installation process. +==== == OpenShift GitOps (ArgoCD) -OpenShift GitOps is central to this pattern as it is responsible for insalling all of the other components. The installation process is -driven through the installation of the -https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup] cart. This in turn reads the repo’s -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml[global -values file], which instructs it to read the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[hub -values file]. This is how the pattern knows to apply the Subscriptions -and Applications listed further in the pattern. +OpenShift GitOps is central to this pattern as it is responsible for insalling all of the other components. The installation process is driven through the installation of the +https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup] cart. This in turn reads the repo’s https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml[global values file], which instructs it to read the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[hub values file]. This is how the pattern knows to apply the Subscriptions and Applications listed further in the pattern. == ODF (OpenShift Data Foundations) -ODF is the storage framework that is needed to provide resilient storage for OpenShift Virtualization. It is managed via the helm chart -https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations[here]. -This is basically the same chart that our Medical Diagnosis pattern uses (see link:/patterns/medical-diagnosis/getting-started/[here] for details -on the Medical Edge pattern’s use of storage). +ODF is the storage framework that is needed to provide resilient storage for OpenShift Virtualization. It is managed via the helm chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations[here]. + +This is basically the same chart that our Medical Diagnosis pattern uses (see link:/patterns/medical-diagnosis/getting-started/[here] for details on the Medical Edge pattern’s use of storage). -Please note that this chart will create a Noobaa S3 bucket named nb.epoch_timestamp.cluster-domain which will not be destroyed when the -cluster is destroyed. +[NOTE] +==== +This chart will create a Noobaa S3 bucket named nb.epoch_timestamp.cluster-domain which will not be destroyed when the cluster is destroyed. +==== == OpenShift Virtualization (KubeVirt) -OpenShift Virtualization is a framework for running virtual machines as -native Kubernetes resources. While it can run without hardware -acceleration, the performance of virtual machines will suffer terribly; -some testing on a similar workload indicated a 4-6x delay running -without hardware acceleration, so at present this pattern requires -hardware acceleration. The pattern provides a script -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/deploy_kubevirt_worker.sh[deploy-kubevirt-worker.sh] -which will provision a metal worker to run virtual machines for the -pattern. - -OpenShift Virtualization currently supports only AWS and on-prem -clusters; this is because of the way that baremetal resources are -provisioned in GCP and Azure. We hope that OpenShift Virtualization can -support GCP and Azure soon. - -The installation of the OpenShift Virtualization HyperConverged -deployment is controlled by the chart -https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/cnv[here]. - -OpenShift Virtualization was chosen in this pattern to avoid dealing -with the differences in galleries and templates of images between the -different public cloud providers. The important thing from this -pattern’s standpoint is the availability of machine instances to manage -(since we are simulating an Edge deployment scenario, which could either -be bare metal instances or virtual machines); OpenShift Virtualization -was the easiest and most portable way to spin up machine instances. It -also provides mechanisms for defining the desired machine set -declaratively. +OpenShift Virtualization is a framework for running virtual machines as native Kubernetes resources. While it can run without hardware acceleration, the performance of virtual machines will suffer terribly; some testing on a similar workload indicated a 4-6x delay running without hardware acceleration, so at present this pattern requires hardware acceleration. The pattern provides a script https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/deploy_kubevirt_worker.sh[deploy-kubevirt-worker.sh] which will provision a metal worker to run virtual machines for the pattern. -The creation of virtual machines is controlled by the chart -https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[here]. +OpenShift Virtualization currently supports only AWS and on-prem clusters; this is because of the way that baremetal resources are provisioned in GCP and Azure. We hope that OpenShift Virtualization can support GCP and Azure soon. -More details about the way we use OpenShift Virtualization are available -link:/ansible-edge-gitops/openshift-virtualization[here]. +The installation of the OpenShift Virtualization HyperConverged deployment is controlled by the chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/cnv[here]. -== Ansible Automation Platform (AAP, formerly known as Ansible Tower) +OpenShift Virtualization was chosen in this pattern to avoid dealing with the differences in galleries and templates of images between the different public cloud providers. The important thing from this pattern’s standpoint is the availability of machine instances to manage (since we are simulating an Edge deployment scenario, which could either be bare metal instances or virtual machines); OpenShift Virtualization was the easiest and most portable way to spin up machine instances. It also provides mechanisms for defining the desired machine set +declaratively. -The use of Ansible Automation Platform is really the centerpiece of this -pattern. We have recognized for some time that the notion and design -principles of GitOps should apply to things outside of Kubernetes, and -we believe this pattern gives us a way to do that. +The creation of virtual machines is controlled by the chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[here]. -All of the Ansible interactions are defined in a Git Repository; the -Ansible jobs that configure the VMs are designed to be idempotent (and -are scheduled to run every 10 minutes on those VMs). +More details about the way we use OpenShift Virtualization are available link:/ansible-edge-gitops/openshift-virtualization[here]. -The installation of AAP itself is governed by the chart -https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/ansible-automation-platform[here]. -The post-installation configuration of AAP is done via the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller.sh] -script. +== Ansible Automation Platform (AAP, formerly known as Ansible Tower) -It is very much the intention of this pattern to make it easy to replace -the specific Edge management use case with another one. Some ideas on -how to do that can be found -link:/ansible-edge-gitops/ideas-for-customization/[here]. +The use of Ansible Automation Platform is really the centerpiece of this pattern. We have recognized for some time that the notion and design principles of GitOps should apply to things outside of Kubernetes, andwe believe this pattern gives us a way to do that. -Specifics of the Ansible content for this pattern can be seen -https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible[here]. +All of the Ansible interactions are defined in a Git Repository; the Ansible jobs that configure the VMs are designed to be idempotent (and are scheduled to run every 10 minutes on those VMs). -More details of the specifics of how AAP is configured are available -link:/ansible-edge-gitops/ansible-automation-platform/[here]. +The installation of AAP itself is governed by the chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/ansible-automation-platform[here]. +The post-installation configuration of AAP is done via the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller.sh] script. -== Next Steps +It is very much the intention of this pattern to make it easy to replace the specific Edge management use case with another one. Some ideas on how to do that can be found link: ansible-edge-gitops/ideas-for-customization/[here]. -=== https://groups.google.com/g/validatedpatterns[Help & Feedback] +Specifics of the Ansible content for this pattern can be seen https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible[here]. -=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] +More details of the specifics of how AAP is configured are available link:/ansible-edge-gitops/ansible-automation-platform/[here]. \ No newline at end of file From c38cb62eb1e84b1686f49aed30fb68b1e1784a78 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Tue, 4 Mar 2025 16:21:25 +0000 Subject: [PATCH 12/23] reorganising 4 --- .../ansible-edge-gitops/getting-started.adoc | 2 +- .../openshift-virtualization.adoc | 138 +++++++++--------- 2 files changed, 72 insertions(+), 68 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 701425aa3..219df6a79 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -250,7 +250,7 @@ For more information, see section on https://validatedpatterns.io/secrets/vault/ .. Click *Start Gateway* to start the Ignition Gateway. .. Log in to the application with the userid `admin` and the password you specified as the GATEWAY_ADMIN_PASSWORD in `container_extra_params` in your `values-secret.yaml` file. - ++ .ansible-edge-gitops-vmconsole image::/images/ansible-edge-gitops/aeg-openshift-vm-console-v1.png[ansible-edge-gitops-vmconsole,title="Ansible Edge GitOps VM Console"] diff --git a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc index 28573038b..86068266e 100644 --- a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc +++ b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc @@ -13,27 +13,20 @@ include::modules/comm-attributes.adoc[] == Understanding the Edge GitOps VMs https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[Helm Chart] -The heart of the Edge GitOps VMs helm chart is a -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[template file] that is designed with a degree of flexibility in mind. Specifically, it allows you to specify: - -. One or more "`groups`" of VMs (such as "`kiosk`" in our example) with -an arbitrary number of instances per group -. Different sizing parameters (cores, threads, memory, disk size) for -each group -. Different SSH keypair credentials for each group -. Different OS’s for each group -. Different sets of TCP and/or UDP ports open for each group - -This allows you to set up, for example, 4 VMs of one type, 3 VMs of another, and 2 VMs of a third type. This will hopefully abstract the -details of VM creation through OpenShift Virtualization and allow you to focus on what kinds and how many of the different sorts of VMs you might -need to set up. (Note that AWS’s smallest metal node is 72 cores and 192 GB of RAM at initial release, so there is plenty of room for different -combinations/configurations.) +The Edge GitOps VMs Helm chart provides a flexible and scalable way to define and deploy Virtual Machines (VMs) using OpenShift Virtualization. At its core, the chart leverages a https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[template file] that allows for dynamic configuration of multiple VM groups. Key features include: + +* Defining one or more VM groups (e.g., kiosk) with a configurable number of instances per group. +* Customizing compute resources (CPU, memory, storage) for each group. +* Specifying SSH key credentials for secure access per group. +* Selecting different operating systems for each VM group. +* Configuring TCP/UDP ports to be exposed per group. + +This modular approach abstracts the complexities of VM provisioning in OpenShift Virtualization, enabling users to focus on defining the types and quantities of VMs needed. The chart supports highly scalable deployments, making it suitable for environments with large compute resources, such as AWS metal nodes with 72 cores and 192 GB RAM. === How we got here - Default OpenShift Virtualization templates -OpenShift virtualization expects to install virtual machines from image templates by default, and provides a number of OpenShift templates to -facilitate this. The default templates are installed in the `openshift+` namespace; the OpenShift console also provides a wizard -for creating VMs that use the same templates. +OpenShift virtualization expects to install virtual machines from image templates by default, and provides several OpenShift templates to +facilitate this. The default templates are installed in the `openshift` namespace; the OpenShift console also provides a wizard for creating VMs that use the same templates. As of OpenShift Virtualization 4.10.1, the following templates were available on installation: @@ -244,33 +237,57 @@ windows2k19-server-large Template for Microsoft Windows S windows2k19-server-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 ---- -Additionally, you may copy and customize these templates if you wish. -The -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[template +Additionally, you can copy and customize these templates if you wish. +The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[template file] is an example of a customized template that was used to help develop this pattern. ==== Creating a VM from the Console via Template -These templates can be run through the OpenShift Console from the Virtualization tab. Note the "`Create VM`" buttons on the right side of -this picture: +Follow these steps to create a VM from the console using a template: + +. Access the Virtualization Tab + +.. Navigate to the OpenShift Console. +.. Click on the *Virtualization* tab. + +.. Locate the list of available *VM templates*. + +.. Identify the *Create VM button* next to the desired template. ++ link:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[image:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[console-template-vm-1]] -Clicking on the "`Create VM`" button will bring up a wizard that looks like this: +. Launch the VM Creation Wizard +.. Click on the Create VM button. + +.. The VM Creation Wizard will open, displaying configuration options. ++ link:/images/ansible-edge-gitops/console-vm-template-wizard.png[image:/images/ansible-edge-gitops/console-vm-template-wizard.png[console-template-wizard]] -Accepting the defaults from this wizard will give a success screen: +. Configure and create the VM. + +.. Accept the default settings or modify them as needed +.. Click Create to proceed. + +.. After successful creation, a confirmation screen will appear ++ link:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[image:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[console-template-wizard-success]] -Until it is deleted, you can monitor the machine’s lifecycle from the VirtualMachines tab: +. Monitor the VM Lifecycle + +.. Navigate to the *VirtualMachines* tab. +.. Observe the VM’s status as it spins up. + +.. The VM will remain active until manually deleted ++ link:/images/ansible-edge-gitops/console-vm-spinning-up.png[image:/images/ansible-edge-gitops/console-vm-spinning-up.png[console-monitor-vm]] This is a great way to gain familiarity with how the system works, but we might possibly want an interface we can use more programmatically. -==== Creating a VM from the command line via `+oc process+` +==== Creating a VM from the command line via `oc process` This is a useful way to understand what kinds of objects OpenShift Virtualization creates and manages: @@ -293,8 +310,7 @@ The first part of the template file sets up some variables that we will use late scheme for VM name creation because that is an easy way to make each item in the set declarative - it ensures that if you ask for 5 VMs of a particular type, they will have predictable names, and if one is deleted, it will be replaced by a VM with the same name. -We use explicit "`range`" variables for the Go templating. This is because the implicit range variable is easily "`trampled`", and we have -at least two different dimensions to iterate on - vm "`role`" and "`index`" within that role. +We use explicit `range` variables for the Go templating. This is because the implicit range variable is easily `trampled`, and we have at least two different dimensions to iterate on - vm `role` and `index` within that role. ==== The External Secret - SSH pubkey @@ -303,10 +319,10 @@ unprivileged user’s home directory - and generally that unprivileged user is e RHEL images are configured to only allow SSH access via pubkey. In this pattern, the private key and public key for the SSH connections are loaded into both Vault (which we inherited from previous patterns) and Ansible Automation Platform. -Since the keys are defined per VM "`group`", it is possible and expected that you could have different keypairs for different groups of VMs. +Since the keys are defined per VM `group`, it is possible and expected that you could have different keypairs for different groups of VMs. Nothing would prevent you from using the same keypair for all machines if you have different groups, though. -While the pubkey is not truly a "`secret`", the availability of the External Secrets Operator made for a nice opportunity to allow for +While the pubkey is not truly a `secret`, the availability of the External Secrets Operator made for a nice opportunity to allow for variance in configuration without necessarily requiring local customization of the pattern. The OpenShift Virtualization model has no way of knowing that multiple servers may have the same SSH credentials, and in fact cannot depend on this. So it creates a pubkey object by default for each VM, and we imitate this behavior in the pattern. @@ -321,8 +337,7 @@ exceptions: * app -This is set to `$identifier` to match a general pattern with other -applications. +This is set to `$identifier` to match a general pattern with other applications. * edge-gitops-role @@ -335,8 +350,8 @@ Other resources in the rest of the VirtualMachine definition are copied from the ===== Initial user access -Note that the initial user (default: `+cloud-user+`) and initial password are customizable through values overrides. The `kiosk` type shows -an example of how to either use a user/password specific to the type or a default for the chart by using the `coalesce` function. +The initial user (default: `cloud-user`) and initial password are customizable through values overrides. The `kiosk` type shows +an example of how to either use a `user/password` specific to the type or a default for the chart by using the `coalesce` function. ==== The Service definition @@ -358,58 +373,47 @@ There are three mechanisms for access to these VMs: ==== Ansible - keypair authentication The ssh keypairs from your values-secret.yaml are loaded into both Vault and AAP for use later. The pattern currently defines one such keypair, -`kiosk-ssh`, but could support more, such as `iot-ssh`, `gateway-ssh`, etc. more details on how to expand on this pattern are -described below. +`kiosk-ssh`, but could support more, such as `iot-ssh`, `gateway-ssh`, and so on more details on how to expand on this pattern are described below. AAP only needs the private key and the username as a machine credential. The public key is not truly a secret, but it seemed interesting and useful to use the external secret operator to associate the public key with VM instances this way and prevent having to diverge from the upstream pattern to include local ssh pubkey specifications. -Note that the default SSH setting for RHEL does not allow password-based logins via SSH, and it’s at the very least inconvenient to copy the SSH +The default SSH setting for RHEL does not allow password-based logins via SSH, and it is at the very least inconvenient to copy the SSH private key into a VM inside the cluster, so the typical way the keypair will be used is through Ansible. -==== Virtual Machine Console Access via OpenShift Console +==== Virtual Machine Console Access using OpenShift Console -Navigate to Virtualization -> VirtualMachines and make sure Project: All Projects or edge-gitops-vms is selected: +Access the virtual machine console using the OpenShift Console by following this procedure: +. Navigate to *Virtualization* -> *VirtualMachines* and make sure *Project: All Projects* or *edge-gitops-vms* is selected: ++ link:/images/ansible-edge-gitops/aeg-show-vms.png[image:/images/ansible-edge-gitops/aeg-show-vms.png[show-vms]] -Click on the "`three dots`" menu on the right, which will open a dialog like the following: - +. Click the `three dots` menu on the right, which opens a dialog such as the following: ++ link:/images/ansible-edge-gitops/aeg-open-vm-console.png[image:/images/ansible-edge-gitops/aeg-open-vm-console.png[show-vm-open-console]] - -_Note:_ In OpenShift Virtualization 4.11, the "`Open Console`" option appears when you click on the virtual machine name in openshift console. ++ +[NOTE] +==== +In OpenShift Virtualization 4.11, the `Open Console` option appears when you click the virtual machine name in OpenShift console. The dialog looks like this: ++ +link:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[image:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[kubevirt411-vm-open-console] +==== -link:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[image:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[kubevirt411-vm-open-console]] - -The virtual machine console view will either show a standard RHEL console login screen, or if the demo is working as designed, it will -show the Ignition application running in kiosk mode. If the console shows a standard RHEL login, it can be accessed using the the initial -user name (`cloud-user` by default) and password (which is what is specified in the Helm chart Values as either the password specific to -that machine group, the default cloudInit, or a hardcoded default which can be seen in the template -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[here]. -On a VM created through the wizard or via `oc process` from a template, the password will be set on the VirtualMachine object in the -`+volumes+` section. +The virtual machine console view will either show a standard RHEL console login screen, or if the demo is working as designed, it shows the Ignition application running in kiosk mode. If the console shows a standard RHEL login, it can be accessed using the the initial user name (`cloud-user` by default) and password (which is what is specified in the Helm chart Values as either the password specific to that machine group, the default `cloudInit`, or a hardcoded default which can be seen in the template https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[here]. +On a VM created through the wizard or by using `oc process` from a template, the password is set on the VirtualMachine object in the `volumes` section. ==== Initial User login (cloud-user) -In general, and before the VMs have been configured by the Ansible Jobs, you can log in to the VMs on the console using the user and password you -specified in the Helm chart, or else you can look at the VirtualMachine object and see what the username and password setting are. The pattern, -by design, replaces the typical console view with Firefox running in kiosk mode. But this mechanism can still be used if you change the -console from "`VNC Console`" to "`Serial Console`". +Before the VMs have been configured by the Ansible jobs, you can log in to the VMs on the console using the user and password you specified in the Helm chart, or you can examine the VirtualMachine object and see what the username and password setting are. The pattern, by design, replaces the typical console view with Firefox running in kiosk mode. But this mechanism can still be used if you change the console from `VNC Console` to `Serial Console`. -== The "`extra`" VM Template +== The `extra` VM Template -Also included in the edge-gitops-vms chart is a separate template that will allow the creation of VMs with similar (though not identical -characteristics) to the ones defined in the chart. +Included in the `edge-gitops-vms` chart is a separate template that allows the creation of VMs with similar (though not identical characteristics) to the ones defined in the chart. -The -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[rhel8-kiosk-with-svc] +The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[rhel8-kiosk-with-svc] template is preserved as an intermediate step to creating your own VM types, to see how the pipeline from default VM template -> customized template -> Helm-variable chart can work. -== Next Steps - -=== https://groups.google.com/g/validatedpatterns[Help & Feedback] - -=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] From b59cbba0d28d856b9e75496e5b33f81d8979c65f Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 5 Mar 2025 11:34:18 +0000 Subject: [PATCH 13/23] reorganising 5 --- .../ansible-automation-platform.adoc | 14 ++++++-------- .../ansible-edge-gitops/getting-started.adoc | 16 +++++++--------- .../ideas-for-customization.adoc | 3 +-- .../installation-details.adoc | 2 +- 4 files changed, 15 insertions(+), 20 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc index 1181083e4..88a146d30 100644 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -1,7 +1,7 @@ --- title: Ansible Automation Platform weight: 30 -aliases: /federated-edge-observability/aap/ +aliases: /ansible-edge-gitops/ansible-automation-platform/ --- :toc: @@ -25,21 +25,21 @@ Follow these steps to log in to the Ansible Automation Platform using the OpenSh . In the OpenShift console, go to *Workloads* > *Secrets* and select the `ansible-automation-platform` project if you want to limit the number of secrets you can see. + .AAP secret -image::/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password-v1.png[federated-edge-observability-operators,title="AAP secret"] +image::/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password-v1.png[ansible-edge-observability-operators,title="AAP secret"] .. Select the `controller-admin-password`. .. In the Data field click *Reveal values* to display the password. + .AAP secret detail -image::/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png[federated-edge-observability-operators,title="AAP secret details"] +image::/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png[ansible-edge-observability-operators,title="AAP secret details"] . Under *Networking* > *Routes*, click the URL for the `controller` route to open the Ansible Automation Platform interface. .. Log in using the `admin` user and the password you retrieved from the `controller-admin-password` secret. The following image shows the screen that appears after logging in. + .AAP screen -image::/images/federated-edge-observability/app-login.png[federated-edge-observability-operators,title="AAP screen"] +image::/images/ansible-edge-gitops/app-login.png[ansible-edge-observability-operators,title="AAP screen"] [id="logging-in-using-secret-retrieved-using-script-ansible_get_credentials"] === Logging in using a secret retrieved with ansible_get_credentials.sh @@ -229,11 +229,9 @@ This role is responsible does the following: This role is responsible for: -* Downloading and running a podman image on the system (and configure it -to auto-update) +* Downloading and running a podman image on the system (and configure it to auto-update) * Setting the container up to run at boot time -* Passing any other runtime arguments to the container. In this -container’s case, that includes specifying an admin password override. +* Passing any other runtime arguments to the container. In this container’s case, that includes specifying an admin password override. === Extra Playbooks in the Pattern diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 219df6a79..30d311100 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -10,7 +10,7 @@ aliases: /ansible-edge-gitops/getting-started/ include::modules/comm-attributes.adoc[] [id="deploying-ansible-edge-gitops-pattern"] -== Deploying the {fe-pattern} +== Deploying the Ansible Edge GitOps pattern .Prerequisites @@ -154,7 +154,7 @@ This is the username and password that you use to log in to link:https://catalog base64: true ---- -. Create and switch to a new branch named my-branch, by running the following command: +. Create and switch to a new branch named `my-branch`, by running the following command: + [source,terminal] ---- @@ -204,7 +204,7 @@ To deploy the cluster by using the `pattern.sh` file, complete the following ste + [source,terminal] ---- -$ $ oc login --token= --server=https://api..:6443 +$ oc login --token= --server=https://api..:6443 ---- + Or log in by running the following command: @@ -223,10 +223,8 @@ $ ./pattern.sh make install .Verification -. Verify that the Operators have been installed. - - .. To verify, in the OpenShift Container Platform web console, navigate to *Operators → Installed Operators* page. - + +. Verify that the Operators have been installed. Navigate to *Operators → Installed Operators* page in the OpenShift Container Platform web console, ++ .ansible-edge-gitops-operators image::/images/ansible-edge-gitops/ansible-edge-ops.png[ansible-edge-gitops-operators,title="Ansible Edge GitOps Operators"] @@ -239,11 +237,11 @@ As part of installing by using the script `pattern.sh` pattern, HashiCorp Vault For more information, see section on https://validatedpatterns.io/secrets/vault/[Vault]. -. Under *Virtualization* > *VirtualMachines*, the virtual machines show as `Running`. Once they are in `Running` state the provisioning workflow runs on them, and installs Firefox, Kiosk mode, and the Ignition application on them: +. Under *Virtualization* > *VirtualMachines*, the virtual machines show as `Running`. Once they are in the `Running` state the provisioning workflow runs on them, and installs Firefox, Kiosk mode, and the Ignition application on them: . Select one of the VMs to see the details of the VM. The VMs are named `rhel8-kiosk-001` and `rhel8-kiosk-002` -.. Open the Console tab. Choose any of these options; this tutorial assumes you chose `Ignition`: +.. Open the Console tab. Choose any of these options; this section assumes you chose `Ignition`: .. Read and accept the license agreement and click *Finish setup*. diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc index abeb55e27..fb744c293 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -250,8 +250,7 @@ oc process -n openshift rhel8-desktop-medium | oc apply -f - virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created ---- -In just a few minutes, you will have a blank rhel8 VM running, which you -can then login to (via console) and customize. +In just a few minutes, you will have a blank rhel8 VM running, which you can then login to by using the console and customize. . Get the details of this template as a local YAML file: + diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index 2d4a4cad2..dd961ed93 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -136,7 +136,7 @@ All of the Ansible interactions are defined in a Git Repository; the Ansible job The installation of AAP itself is governed by the chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/ansible-automation-platform[here]. The post-installation configuration of AAP is done via the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller.sh] script. -It is very much the intention of this pattern to make it easy to replace the specific Edge management use case with another one. Some ideas on how to do that can be found link: ansible-edge-gitops/ideas-for-customization/[here]. +It is very much the intention of this pattern to make it easy to replace the specific Edge management use case with another one. Some ideas on how to do that can be found link:/ansible-edge-gitops/ideas-for-customization/[here]. Specifics of the Ansible content for this pattern can be seen https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible[here]. From 340d1bc75dec4ccf744ca4f1e6a51c4fc58b276c Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 5 Mar 2025 15:15:48 +0000 Subject: [PATCH 14/23] adding more updates --- .../ansible-edge-gitops/ansible-automation-platform.adoc | 7 ++----- content/patterns/ansible-edge-gitops/getting-started.adoc | 8 ++++---- .../ansible-edge-gitops/installation-details.adoc | 2 +- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc index 88a146d30..130e0cf83 100644 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -29,17 +29,14 @@ image::/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password-v1.png .. Select the `controller-admin-password`. -.. In the Data field click *Reveal values* to display the password. +.. In the *Data* field click *Reveal values* to display the password. + .AAP secret detail image::/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png[ansible-edge-observability-operators,title="AAP secret details"] . Under *Networking* > *Routes*, click the URL for the `controller` route to open the Ansible Automation Platform interface. -.. Log in using the `admin` user and the password you retrieved from the `controller-admin-password` secret. The following image shows the screen that appears after logging in. -+ -.AAP screen -image::/images/ansible-edge-gitops/app-login.png[ansible-edge-observability-operators,title="AAP screen"] +.. Log in using the `admin` user and the password you retrieved from the `controller-admin-password` secret. [id="logging-in-using-secret-retrieved-using-script-ansible_get_credentials"] === Logging in using a secret retrieved with ansible_get_credentials.sh diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 30d311100..4379f0631 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -241,7 +241,7 @@ For more information, see section on https://validatedpatterns.io/secrets/vault/ . Select one of the VMs to see the details of the VM. The VMs are named `rhel8-kiosk-001` and `rhel8-kiosk-002` -.. Open the Console tab. Choose any of these options; this section assumes you chose `Ignition`: +.. Open the *Console* tab. Choose any of these options; this section assumes you chose `Ignition - Standard Edition`: .. Read and accept the license agreement and click *Finish setup*. @@ -252,12 +252,12 @@ For more information, see section on https://validatedpatterns.io/secrets/vault/ .ansible-edge-gitops-vmconsole image::/images/ansible-edge-gitops/aeg-openshift-vm-console-v1.png[ansible-edge-gitops-vmconsole,title="Ansible Edge GitOps VM Console"] -See link:/ansible-edge-gitops/installation-details/[Installation Details] for more information about the installation steps. +* See link:/ansible-edge-gitops/installation-details/[Installation Details] for more information about the installation steps. -See link:/ansible-edge-gitops/ansible-automation-platform/[Ansible Automation Platform] for more information about how this pattern uses the +* See link:/ansible-edge-gitops/ansible-automation-platform/[Ansible Automation Platform] for more information about how this pattern uses the Ansible Automation Platform Operator for OpenShift. -See link:/ansible-edge-gitops/openshift-virtualization/[OpenShift Virtualization] for more information on how this pattern uses OpenShift +* See link:/ansible-edge-gitops/openshift-virtualization/[OpenShift Virtualization] for more information about how this pattern uses OpenShift Virtualization. == Infrastructure Elements of this Pattern diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index dd961ed93..7f9810b3d 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -48,7 +48,7 @@ openshift-machine-api mhjacks-aeg-qx25w-worker-us-west-2d 0 0 When the `metal-worker` is showing `READY` and `AVAILABLE`, the virtual machines will begin provisioning on it. -The metal node is destroyed when the cluster is destroyed. The script is idempotent and will create at most one metal node per cluster. +The metal node is destroyed when the cluster is destroyed. The script is idempotent and creates at most one metal node per cluster. === https://github.com/validatedpatterns/common/blob/main/Makefile[post-install] From ba034122fd1dd708e07feb75b8276a0e8ddf8078 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 5 Mar 2025 15:31:49 +0000 Subject: [PATCH 15/23] adding more updates 2 --- .../ansible-edge-gitops/ansible-automation-platform.adoc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc index 130e0cf83..5e730cc92 100644 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -243,9 +243,3 @@ This does the work of provisioning the kiosk, which configures kiosk mode, and a runs the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode] and link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle] roles. - -== Next Steps - -=== https://groups.google.com/g/validatedpatterns[Help & Feedback] - -=== https://github.com/validatedpatterns/ansible-edge-gitops/issues[Report Bugs] From cd858c7b03dced47757bf941622af6ced46ce3d4 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Fri, 7 Mar 2025 11:52:35 +0000 Subject: [PATCH 16/23] adding more updates 4 --- .../ansible-automation-platform.adoc | 160 ++---------------- .../ansible-edge-gitops/getting-started.adoc | 21 +++ .../installation-details.adoc | 23 +-- .../ansible-edge-gitops/aap-login-v1.png | Bin 0 -> 145526 bytes ...-console-secrets-aap-admin-password-v1.png | Bin 0 -> 105089 bytes 5 files changed, 34 insertions(+), 170 deletions(-) create mode 100644 static/images/ansible-edge-gitops/aap-login-v1.png create mode 100644 static/images/ansible-edge-gitops/cp-console-secrets-aap-admin-password-v1.png diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc index 5e730cc92..61d53b97b 100644 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -27,16 +27,19 @@ Follow these steps to log in to the Ansible Automation Platform using the OpenSh .AAP secret image::/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password-v1.png[ansible-edge-observability-operators,title="AAP secret"] -.. Select the `controller-admin-password`. +.. Select the `aap-admin-password`. .. In the *Data* field click *Reveal values* to display the password. + .AAP secret detail image::/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png[ansible-edge-observability-operators,title="AAP secret details"] -. Under *Networking* > *Routes*, click the URL for the `controller` route to open the Ansible Automation Platform interface. +. Under *Networking* > *Routes*, click the URL for the `aap` route to open the Ansible Automation Platform interface. -.. Log in using the `admin` user and the password you retrieved from the `controller-admin-password` secret. +.. Log in using the `admin` user and the password you retrieved from the `aap-admin-password` secret. A screen similar to the following appears: ++ +.AAP login +image::/images/ansible-edge-gitops/aap-login-v1.png[ansible-edge-observability-operators,title="AAP login"] [id="logging-in-using-secret-retrieved-using-script-ansible_get_credentials"] === Logging in using a secret retrieved with ansible_get_credentials.sh @@ -91,155 +94,16 @@ localhost : ok=7 changed=0 unreachable=0 failed=0 s == Pattern AAP Configuration Details -In this section, we describe the details of the AAP configuration we apply as part of installing the pattern. All of the configuration -discussed in this section is applied by the +In this section, we describe the details of the AAP configuration we apply as part of installing the pattern. All of the configuration discussed in this section is applied by the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] script. -=== Loading a Manifest - -After validating that AAP is ready to be configured, the first thing the script does is to install the manifest you specify in the -`values-secret.yaml` file in the `files.manifest+` setting. The value of this setting is expected to be a fully-pathed file that represents a -Red Hat Satellite manifest file with a valid entitlement for AAP. The -_only_ thing this manifest is used for is entitling AAP. - -Instructions for creating a suitable manifest file can be found https://www.redhat.com/en/blog/how-create-and-use-red-hat-satellite-manifest[here]. - -While it is absolutely possible to entitle AAP via a username/password on first login, the automated mechanisms for entitling only support -manifests, that is the technique the pattern uses. - -=== Organizations - -The pattern installs an Organization called `HMI Demo` is installed. This makes it a bit easier to separate what the pattern is doing versus -the default configuration of AAP. The other resources created in AAP as part of the load process are associated with this Organization. - -=== Credential Types (and their Credentials) - -==== Kubeconfig (Kubeconfig) - -The Kubeconfig credential is for holding the OpenShift cluster admin kubeconfig file. This is used to query the `edge-gitops-vms+` namespace -for running VM instances. Since the kubeconfig is necessary for installing the pattern and must be available when the load script is -running, the load script pulls it into an AAP secret and stores it for later use (and calls it `Kubeconfig`). - -The template for creating the Credential Type was taken from https://blog.networktocode.com/post/kubernetes-collection-ansible/[here]. - -==== RHSMcredential (rhsm_credential) - -This credential is required to register the RHEL VMs and configure them for Kiosk mode. The registration process allows them to install packages -from the Red Hat Content Delivery Network. - -==== Machine (kiosk-private-key) - -This is a standard AAP Machine type credential. `kiosk-private-key` is created with the username and private key from your -`values-secret.yaml+` file in the `kiosk-ssh.username` and `kiosk-ssh.privatekey` fields. - -==== KioskExtraParams (kiosk_container_extra_params) - -This CredentialType is considered "`secret`" because it includes the admin login password for the Ignition application. This passed to the -provisioning playbook(s) as extra_vars. - -=== Inventory - -The pattern installs an Inventory (HMI Demo), but no inventory sources. This is due to the way that OpenShift Virtualization provides access to -virtual machines. The IP address associated with the SSH service that a given VM is running is associated with the Service object on the VM. -This is not the way the Kubernetes inventory plugin expects to work. So to make inventory dynamic, we are instead using a play to discover VMs -and add them to inventory "`on the fly`". What is unusual about DNS inside a Kubernetes cluster is that resources outside the namespace must -use the cluster FQDN - which is `resource-name.resource-namespace.svc`. - -It is also possible to define a static inventory - an example of how this would like is preserved in the pattern repository as -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/hosts[hosts]. - -A standard dynamic inventory script is available https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/openshift_cluster.yml[here]. -This will retrieve the object names, but it will not (currently) map the FQDN properly. Because of this limitation, we moved to using the -inventory pre-play method. - -=== Templates (key playbooks in the pattern) - -==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/dynamic_kiosk_provision.yml[Dynamic Provision Kiosk Playbook] - -This combines all three key workflows in this pattern: - -* Dynamic inventory (inventory preplay) -* Kiosk Mode -* Podman Playbook - -It is safe to run multiple times on the same system. It is run on a schedule, every 10 minutes, to demonstrate this. - -==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/kiosk_playbook.yml[Kiosk Mode Playbook] - -This playbook runs the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode -role]. - -==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/podman_playbook.yml[Podman Playbook] - -This playbook runs the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle -role] with overrides suitable for the Ignition application container. - -==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ping.yml[Ping Playbook] - -This playbook is for testing basic connectivity - making sure that you can reach the nodes you wish to manage, and that the credentials you -have given will work on them. It will not change anything on the VMs - just gather facts from them (which requires elevating to root). - -=== Schedules - -==== Update Project AEG GitOps - -This job runs every 5 minutes to update the GitOps repository associated with the project. This is necessary when any of the Ansible code (for -example, the playbooks or roles associated with the pattern) changes, so that the new code is available to the AAP instance. - -==== Dynamic Provision Kiosk Playbook - -This job runs every 10 minutes to provision and configure any kiosks it finds to run the Ignition application in a podman container, and -configure firefox in kiosk mode to display that application. The playbook is designed to be idempotent, so it is safe to run multiple -times on the same targets; it will not make user-visible changes to those targets unless it must. - -This playbook combines the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[inventory_preplay] -and the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[Provision -Kiosk Playbook]. - -=== Execution Environment - -The pattern includes an execution environment definition that can be found https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/execution_environment[here]. - -The execution environment includes some additional collections beyond what is provided in the Default execution environment, including: - -* https://linux-system-roles.github.io/[fedora.linux_system_roles] -* https://galaxy.ansible.com/containers/podman[containers.podman] -* https://docs.ansible.com/ansible/latest/collections/community/okd/index.html[community.okd] - -The execution environment definition is provided if you want to customize or change it; if so, you should also change the Execution -Environment attributes of the Templates (in the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[load -script], those attributes are set by the variables `aap_execution_environment` and `aap_execution_environment_image`). - -=== Roles included in the pattern - -==== https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/roles/kiosk_mode[kiosk_mode] - -This role is responsible does the following: - -* RHEL node registration -* Installation of GUI packages -* Installation of Firefox -* Configuration of Firefox kiosk mode - -==== https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/roles/container_lifecycle[container_lifecycle] - -This role is responsible for: - -* Downloading and running a podman image on the system (and configure it to auto-update) -* Setting the container up to run at boot time -* Passing any other runtime arguments to the container. In this container’s case, that includes specifying an admin password override. - -=== Extra Playbooks in the Pattern +The `ansible_load_controller.sh` script automates the configuration of the Ansible Automation Platform (AAP) by executing a series of Ansible playbooks. These playbooks perform tasks such as retrieving credentials, parsing secrets, and configuring the AAP instance. -==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml[inventory_preplay.yml] +Key components of the configuration process: -This playbook is designed to be included in other plays; its purpose is to discover the desired inventory and add those hosts to inventory at -runtime. It uses a kubernetes query via the cluster-admin kube config file. +* Retrieving AAP Credentials: The script runs the `ansible_get_credentials.yml` playbook to obtain necessary credentials for accessing and managing the AAP instance. -==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml[Provision Kiosk Playbook] +* Parsing Secrets: It then executes the `parse_secrets_from_values_secret.yml` playbook to extract and process sensitive information stored in the `values_secret.yaml` file, which includes passwords, tokens, or other confidential data required for configuration. -This does the work of provisioning the kiosk, which configures kiosk mode, and also installs Ignition and configures it to start at boot. It -runs the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode] -and link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle] -roles. +* Configuring the AAP Instance: Finally, the script runs the `ansible_configure_controller.yml` playbook to set up and configure the AAP controller based on the retrieved credentials and parsed secrets. diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 4379f0631..d5fd7f19a 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -154,6 +154,27 @@ This is the username and password that you use to log in to link:https://catalog base64: true ---- +.. Edit the `automation-hub-token` section to include the token generated at the *Load token* link at link:https://console.redhat.com/ansible/automation-hub/token[Automation Hub Token] to generate a token. For example: ++ +[source,yaml] +---- + - name: automation-hub-token + fields: + - name: token + path: '/path/to/automation-hub-token' +---- + +.. Optionally: Edit the `agof-vault-file` section to use the following (you do not need additional secrets for this pattern): ++ +[source,yaml] +---- + - name: agof-vault-file + fields: + - name: agof-vault-file + value: '---' + base64: true +---- + . Create and switch to a new branch named `my-branch`, by running the following command: + [source,terminal] diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index 7f9810b3d..c11c4b93a 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -101,41 +101,20 @@ The script has defaults that are overridden when run as part of make install. Th OpenShift GitOps is central to this pattern as it is responsible for insalling all of the other components. The installation process is driven through the installation of the https://github.com/validatedpatterns/common/tree/v1/clustergroup[clustergroup] cart. This in turn reads the repo’s https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-global.yaml[global values file], which instructs it to read the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-hub.yaml[hub values file]. This is how the pattern knows to apply the Subscriptions and Applications listed further in the pattern. -== ODF (OpenShift Data Foundations) - -ODF is the storage framework that is needed to provide resilient storage for OpenShift Virtualization. It is managed via the helm chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/openshift-data-foundations[here]. - -This is basically the same chart that our Medical Diagnosis pattern uses (see link:/patterns/medical-diagnosis/getting-started/[here] for details on the Medical Edge pattern’s use of storage). - -[NOTE] -==== -This chart will create a Noobaa S3 bucket named nb.epoch_timestamp.cluster-domain which will not be destroyed when the cluster is destroyed. -==== - == OpenShift Virtualization (KubeVirt) OpenShift Virtualization is a framework for running virtual machines as native Kubernetes resources. While it can run without hardware acceleration, the performance of virtual machines will suffer terribly; some testing on a similar workload indicated a 4-6x delay running without hardware acceleration, so at present this pattern requires hardware acceleration. The pattern provides a script https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/deploy_kubevirt_worker.sh[deploy-kubevirt-worker.sh] which will provision a metal worker to run virtual machines for the pattern. OpenShift Virtualization currently supports only AWS and on-prem clusters; this is because of the way that baremetal resources are provisioned in GCP and Azure. We hope that OpenShift Virtualization can support GCP and Azure soon. -The installation of the OpenShift Virtualization HyperConverged deployment is controlled by the chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/cnv[here]. - -OpenShift Virtualization was chosen in this pattern to avoid dealing with the differences in galleries and templates of images between the different public cloud providers. The important thing from this pattern’s standpoint is the availability of machine instances to manage (since we are simulating an Edge deployment scenario, which could either be bare metal instances or virtual machines); OpenShift Virtualization was the easiest and most portable way to spin up machine instances. It also provides mechanisms for defining the desired machine set -declaratively. - -The creation of virtual machines is controlled by the chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[here]. - More details about the way we use OpenShift Virtualization are available link:/ansible-edge-gitops/openshift-virtualization[here]. == Ansible Automation Platform (AAP, formerly known as Ansible Tower) -The use of Ansible Automation Platform is really the centerpiece of this pattern. We have recognized for some time that the notion and design principles of GitOps should apply to things outside of Kubernetes, andwe believe this pattern gives us a way to do that. +The use of Ansible Automation Platform is really the centerpiece of this pattern. We have recognized for some time that the concept and design principles of GitOps should apply to things outside of Kubernetes, and we believe this pattern gives us a way to do that. All of the Ansible interactions are defined in a Git Repository; the Ansible jobs that configure the VMs are designed to be idempotent (and are scheduled to run every 10 minutes on those VMs). -The installation of AAP itself is governed by the chart https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/ansible-automation-platform[here]. -The post-installation configuration of AAP is done via the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller.sh] script. - It is very much the intention of this pattern to make it easy to replace the specific Edge management use case with another one. Some ideas on how to do that can be found link:/ansible-edge-gitops/ideas-for-customization/[here]. Specifics of the Ansible content for this pattern can be seen https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible[here]. diff --git a/static/images/ansible-edge-gitops/aap-login-v1.png b/static/images/ansible-edge-gitops/aap-login-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..c9f0caa489c7a50935cd0639b01f4cfb609e4b69 GIT binary patch literal 145526 zcmc$`bySq?*EUQDsDy!lw2FdCcY}?RN;gRN(9IwsA}t^cjfjABNymV64xIx-&Coe? ze&;;Tb3Z@tcfEgpYrV6U3kBx7uJb(iK8|A_dyheH6=le;(p|;F!y|w5`h_wc9tji= zk8txcG58KgC&V6nx#aZhjp}9a^1f{H1^k=V`K6|_3dGFW?Y*NZp1B>w)|Au9*wNI~ z&dCDeyh#X`!o$0R_vXb@RrjQ|DGyyWm-DvmQ6du=p?5+z+ytncP|pTkIRyo~Iyt&B z9IZNqsG+zAu`pHz9vr6#ycV4_$Sb2Cz z_4iwEWG~)24gT`?Ysl#;^yRk_%D37 zFO$?4mHY_mXts$CqF{~on2c^P^Y@D(CQKyzES9hH@5KoFmz9-e(@nk+JbkPA+F%e3 zPo5DKAUhZF0{=M@j^7s-eA zR%d4$8~g}YtI7VpP$YeQt0#N&)M~SG2OI^$ztHtF2%>k zYiPdTTUkO@@iU6M-sj>9-`d(zUOhS3RJu4nlj9^MB`p9z^f{O!d7`VE)Ux;B z`BW#t)QX)({Q21lwvmLnuh>`ykC>d!`Q`k-)~O2-7{;o}KH{ilopef45g zr)xU}E#D_Dy=uIfrKR>ftXi|Zdj*9byF^-g>_SG!J z%}|a!R7L2JoRrjfZ)F(iGOC9s0GX~GI*yP!{vzdb+?S`tk7s0TJYHf-s*)*REONfo zpB^va!FPUseu=9ZRX zyD2eDPhwlPO4em^^0GtZJUP8koWV6Zf!BzWzwF6lAMqPah$q7+}_ zgFlk5L(+h(a_UKgC@NC0DJC^EH4%cF;nmjGf`tpZT|ZbE&edH?Oh^c>tCQ^Q?S<)S z;G)uHR-IK)Fb22jTBT;BtXHT*5Vj^>;Gehv+}8aMC?1>!Ai`5bm1 z*FeKw8E34H=IgYzN3z6=IQ;M!2iwuD!W_XM8fDrQ`}AGlCRol98fI|VCVl>XT1reT z!42gD3m~N-;ISFw(f8hd>3OiBw=TwgAll@F>AuU!8K#gZ6tiN;D9QJ zPL|v5t_*k8LP0=d`eT~|F*Dy6%&Z^j>Gguo<^7NQT2kM;M8|6;KM znq)B|>{z7(`uxPrp>TM%{dN60#@Z;Hd9iBoLe@(5D#{z{GIdMGZ_*B)ygi@FQDy@+ za*t~lO()U&TWD-zVxUgu+Ue=(*4`fBokx!%o10&_Zj3$E*VosBX=ZoYd5_h&F^h@{ zPH}k{|B9J$8_tP&!BjAAzB4ky4`m@I4kyUZ9ow*t4qE&WL`-;tm6C|Myo2zjJnPL5 z!?DE0eK&MZRR;P^=47IS($v*qjOP?|0_~^AW5vb*X9##)R#Y*FR3#`>s=vPTG#WlKl2reP7X>}B1q;9S#L)20V3rb_fWSBK1Umq5p1x~?XliO^Ul-!x z`5Mip6ib)8;EZ6A2{%D^#+2=MBf}ZR6AYA6B;q}=nD~o=mH5^c21drhH@1JFoyHH# zCr`5b+|G{oPIs`!%6I4M4yN1U0-0Nzn$lGtdepgN#vh?$GqSQqYx+i&-O2mvyxgkY zHhX`M>Z6;3D9iLU)HtR@zD7nqedQ?zJwG2CAMY>l@iId|VKMCLMOMR|V!6XN<@R9c z)zvQR!OUUpGeFC8kuprPF&g^yn6_$dbr-!SK1E%IGY+{ca5c^kg$k@uA85#l0r11l zUQN=Haa>B!);!P`e6|$q4FD;F014CgyaEuv{`}aw+-}NBpNWpHb7QLJ3OPCYWD~v! zf(9)H$x=+Vg07>{EuYEh$BNz)Vlh3&ZQ+d6;x5**Pa9JuhXL!}1ADi>KFRN~vvBp` zk=H>_DMG4ChS{e%n2P;z@`Uz(q|<_SX;~Q>oOR*_bg8kQL%Z@j(s%Ow0Pbr962;~1 z`(ZJ+4S6{9tdlb$C@4GHvtTItWtd|Ot@EU9nQ|9;Y3NaN|zie#;T%VQ;_l;+h! zCF7M4?jq=!81^_a{Z)Uqian#6j{Z13GadlB9vUoWyQS7+ZM?K*s2cZkfjct^qv*A@ zQ2+EMwJ?X#DL3pkvPwimcS=O<-Ik6*E;;eJEA1?#cvOMaHBO%4lG$xCo!uP|6!dW4j= zRn5$d;j`z@s}82U(jJoOSK6m}oR!;7b}IBB;l931zNg!c2)qJI>9gJFqdnsY$<|`y zwlTP`G_%j{yMPl0ao0RmnVn>}>5hetXj&=nL&1Et|7_^b$5URrJW4$^Hp>H7E7--) zw)TE{9WYVDWL`36?`apjdOP`@Zah;+R77M402c;sY-AKC=|z3z$~ML{J3AYkz}GN( zUtw-98>9#W!wU5CP>HY<9?0YEjkR%`u`PCbq0`QqQgcd1Mm4L%wl>M|{CrzZ4X-1` zRI!$hXts`?x`e8ax$5jHlERSbBpGH#opfU^&7$u^E!y-LIprUH|_DDtcjJby!e)3#9!oq@f zA=>Kj=w!5As4UxQaYh-@TvlG*+R+gNz<}?#kp%y6@nn;dhNcY=!0`by-pfH&w+#ke zEA_GJw>zzYMkfdB+!a&jJ|~ugnfXVXuIrP70QQ9-6RPYk`q_0}2PJNs)7H==?JLk4 z=Vk3#!k>kzh!ja{$wMMdOCI~N&fsiT%I7(>1Nx*{kFWT2xz1|yK~E2reJkvy5`O-? zKQK5*D`a!q&(H6-^=LRq*;1EP_5Dp0BA(xzBfQM}$T61NAUrFJ4Xo=9P#l1``$4Dy zF|BIJsFqIx0wKL+9n+iKMPuOo^vRPCM{OK@d{O%`y4Eemf_BKb4t*_bF)+3=+soufK$&9!3G?^opFS+P# zNk;3)Z97q(@g|z}{(}d_$0+II>=za`JhyN28r_%l+W#2|qv7S{We{^N8WJfrgLlRD zBw9}Y5Y^WYt8(XsnaaT&H;|&O5xzIgX=qAH5v7N@gI8dux0RarSXc0oI}wqJ_LYPN3Mb1%c0Bs=@lWw@=8Af7zk z0we#UjF6RANlEb@K75$Bs%)j3C}g`*{mBY@P^kY!vvz&&=BW_*LuO5yzNW+5_6KHutnPKs@oZ@O+E-wb}hV`9SER~3s9k?>0QV`QBw?YcrC3`gGl0oFh~vE6U!`#|<|t}@u9 z6v>*Z<;+AY=kE2<#^k#ObYwQa%gr3$-)&N0MOrUcN*m1HLi|OQjy}N=Az5yat^NI0 z1R|ojxl_BLKpN!geO6ZOwfbG`f%#0s(@%krU(pj>GV?%rbdXl3+JgJ?f%`zJ)q`s|@4P^I+%bmOwjY%_wGMdKB0g$no(FXjN<=KDQ0$UMOr% z*DX(EuwU8UcJ~m(Y}9PdmT4I9x~(vYddCS`k8JhD1%< z430qN*O>MA-WKu}S)W8TgEZq9aXQ?3ub3?R@rNQt@ItGnXtt^FV&(u)_@{t6HTu9D z7dAhQygYa2+h%;cNRuC{f=L8oorW{U?77xL_5TThFGKY}hQu47pl!)G4pdyNy7^8f zTvcR!V_r$(DX3c5lu~}}Rp)fIv;<5-;OP^S0HZ>GvB-Q04zA90QIpvYBQ#|c_xuJ5 zLP8#^g@+*#W?>PzCk5!>6$k*GmZFNa`r+BRxj!rs5}iGI)o(R5+W}h1e@IVf!CRlK zVB_WOXE;`eb(qWnYSh%yfoaFa#|PzFH(5nQCnbfJmUfvk)^I57=|1npyWqQh2y1M( z6WwvD6hbG}8?CM$qlo>xKHfu2*PXnUmHjh13KQSVOKsfjO%}f`V)3=bMMy}f_Oz4T z=5SBrPm?gvIPX^X)X;^#K7Oyl=+wNtWMpKRpbPJwWx*X3R&&Cmgekra0qw)&{}=Y5=5xWKO%0Fv|SL4Nz7l5|u20)OrH zu|QOG^!AQbw;VUzMjygs-+~yeOIX}F7j0F$=BF)F=toXWIGC5WWNF*uudd$BfBQ>q z=W@KS(CsBV+nz|eT;;zZk499K=FqYK9u_4B<1}CDdoN(CeSDM)5(P6~mC9q(+%ER3 z#L??u!*noHfvUg_5YfV~cio5Z_*#*@2PvLb1lK~D^l}A91dO3jJs92tJBEj=_9piS z^}S*=3_JpwA|ufwYyjunHtV%>N{k+?qRMUQoum%gz%>JYG#se*R|C@ETlDuWv7HpE z>^|11ux!dyNPMlRNPOqPgLwWdrNmKYv0FiKxU`>NEaA@a_YpBDXIZ!bxg5>no`rv7 z!{;A;qa;ffeElsZKWO@{+Y80pm6pwEC;!);oLNw_t+Ny2(x2x+9Xs+qUQ1;-!71A|IR+ z0h0J~0o3u&tgOLuTQq{Ck}lO}pH@lg=;zTUAnCsxRb|{El^8ElFfkugR%Q2gx$s`mn3dGq?=nfFX#{pn41c57C}gytm@W)p0tg3a{r z_!}%TLtEqe^u*TIt8{U^)s9!8t0SMTP#!KsD|P$20Xe6N=bCS7Vlo4e3@Af)Y>zOl zfW`II(L!?|n1(5!@RJR3favwsbf*QH#UE#z0-yKmF>~sa=M@(N4DGITn2+N%CI;eK zB`i!Qk;!xEZi)wnmYP#r_3^C(ES6t-$s1TKdD>+;Bi1@4CReUWY(0sYREXp8BO>LJ zq)7*SV1uepo^OjVaM%)en0t}pK6k~eC!qz{I2v|!xw-6?mX>%(@GsyRW~z&Y{;yx~ z^BmMV8D0@gKyJ>it_F6P+`B84Qdubij{n^#T21arso5nG63Sb*Uc7xP&d1Lu!bJI8 zzT1IIF4H$rQ6MCcof3IF0)U*FOZ&CAu5SLQI^$m5 zd9|vwilp2W&QiQ}c4u#6Dlv$XZ3pRu7@pW}3#EO2urYPCJE&y69tZ0JtP6H2IyUx| zwlrVD#^>6oE~n2tRH=| zq%)vl;G?$D`r-TcJFN0?Pwee^Qhm=w11T7dfLkc&Slj4NqH$bBP0}e7!DQN#Ac%L> z=RcdGy|c43rrUvaT=lOU)0{IhK5~<^{qo}%VU5(Mx(6+7E!(}~{BlzwcwfJLdu?QN zPuy+o4mWpUL08^epF%j-uoRXL~tHsZ!2sW08a;6kDfQM5)h- zE0fn6ufEs1AeZj1WYI~mB5U3!by3%MwTZG?RJOVFYvcIMdwHBN@~jF8s>Y2Fhp9c$ z!~8Xd0yUa_bZ}Uh>3nNgMyxHc#eC0J4c4Y=U=)mETQmOGN`QS$cf^r%tZQp)i{Fkw zz*mg_>MN*f_`n^$*N+-#M{wc-55emNdr>O~)A#onkY;0`P?(^izDk?pT#YQbxCjc&P z+{Oh3xXkV*Dit`}l+4T#{T2%|jsD;p%)tZ~z`y_k^o@doDF{B`PQ}t?0a+W$C?3n~ zdm0HG81U1ekdXPTROkTJ~FFdF>IGU#SlkL2+};7*H*8$kNXO2dsz3nQXHwM5aN zAUvfyTMoELV!N3#Proi)136zo-0R1^r=1(F*!Io;nM`St5{VAQk%aZprRY79J;v9YnfLIY{=+$xW+dmqjQ zjsp{ikeKWaDEP+4G$(#rHUWSHUJpqay@BVLH&D};uUu&a#?{dF$B!R@W^DkPPWt@N z|I?>ScJ)VQpyF-=<#vt)JkhQ?=1kkrhJnxp;n#Fc`V_ALaATJ(3i!a!o;?E($zD+aOu|o}KK1>!RKWv^K<4%9%itLB zenU_xU^(Eowg67UrDehyW+A>O^mcZ3Ytwa!z&ibWjk(v4ki;Dwqan+fu2W$Lu2ST= zXJuD~rdCW6X#_6&<*UHe{!HGTBpUtY%Vk|%UEE5+6_C)A^|i6$bk%lY$A#C_9GVRv zG96r9%>Yya-`5cYSP?)HC(WsJnQPz?ECzmFxg{x4cgPUjv;bTNMtgEZ@I8A#V zcoSF>KzjCo+l^H@u>od6XJ@6{1L6q?2bfr)4x}yyECf_R7K54Opx~PW-3_ESw&xTa z8#P3|lA&ePPE}PkU^0|mI2<8;kyNu$O$xFW9GX9nbk74ROo8gf(9;DYDh?C4j;fAN zP6pGSlYr;COhNJaCMq9X9!q{5>>6N-7*Hzpmzc@{tapx)m(qkoC52Jm{GhO2z+eWlRoKdH#{Yng4fDBS{1oE}FCJ23iL+U#>hLm;oxkETYpHM zH<0nrv*X$M`KAh>-x}cOd)!!|%~~u4=r-bh2u^YUEDD^FJ22@zz@ImYiUq%=K!E@x z)w9)+d|Hqq!1TZ&3OIcx_Zj>@fBrn4x&Urv7Fcw5sx&jOqk*v+4rsa5tmn_*U^Eda zwd$(RQC&SfpcrQtQ++@G_&VO&N=#2r56qAd&`dJ$Jre}}gZJLB zMrBo1KM2wULF-n@1LSj0PceS8?(YV0D7sa@)QlWF2Z**A;Kzby6u$d%1`Lo21%R@2 zz(XKLMjkc|I7lUrBNd$+u8z;u#59R0in+Kg>hy(2!`$5U6X;IZ^kAk`61I1A&kSo zBg+5^knA?kch#O$@0}}LTwJg-+Dk-4ya1w{0`~?ol55Qx~%;DNrVe5%x02}Itc|a zqNarc-Ht<$cygSRwH~FSHa?hm^T$Xx;BEf~=>c+$7l=HtI&=MloS8bKqs2F@@oCz9H|*1B`iHXUGz0)_F4(Z+~~Nt+aP;nU6OQe z($Q&KX)n(`Dhesg$V%}H28vj<($~z4738u6&}D+$T>z_@FAhm`(O$~Rz~#R!?#dx5 zDjG^B7!0;CZWQoyxAzqAPy37BHz}V$f%L}E^Kv}$$Ol&4&L2|lxC<^1{+G(iQKFTF zHl8kjom4in%}O<1l~8c1QX)_!jfOmKOv*z(uiwGuhO$*U+S?zNL7-4*)pkiq$!mG} zW(49I7$X4k0hDW!ZqpuY0P5cZ(giLwB_(AOV9Jip&g!`d-?Kdpfa^~|4`O*FpB~`R zmGZIr=Tm>;{&HI# zIspq1%_QAV>q|?qYN;A8^+rReIp=_b&E=v;%}*DGj(z#^W&e+tq#=xd)Ntx$)W8=F zj(idHhleK?!^JnggYK@TmR7Ov1r#`lS6&YCkA9lNI|pFIdiQP`@))QN=*5{EG1=`W zsZu_g6?VxUdNwv|ri`oL&Y02t{e1w=2^U=TT&HJeg-a6uTYQ7Loa3~a17bms9g~Mw zbD&_aLMCze;JT)X>5f;)=j|eP1Se}UlBX5QBw3AgvOodRHtn&P%wBK->QFGUfILl_ zDGAOxT^}t>ZL$0sQfATroorsNDFUx5aItq>6L#LEwh!8%1m zMe*bOU&;Z`Qx>4KC9n`cyROg~^y?)U7#KLXxL3<3?Qqi%qYFm`EsIn%H0BOIfSR6^ z`RmFFvuNG~Z9Md?*%+Lu4feA-r>{mV7?m0Y#$iAdhT;FGxxBMU6na2A?9*rBTt3jMz;VkEmNY=oWO7`KKt4iCqG^@7@jL@VHxSG% zUEFZ82Lz}Ry)um-hZ2uTe*xt|{!#@y@)IY>Ku682H>m?C^5Tk$EPyAwYvb79!XP7H zZOz;_F}mDLUqgASmCLREsvlh>fLR)vn$DOh>+xdb#v@hw0W1Wev4 zWS=g7OzfZbIS05d|GXlPUpH=&F9E4RUiWm+&bsS*-wjBJ7(;T4dxgHz=i;Qf< zQPd%*U)%xK;b^J?=_r@cSeVhP`T=lfDmYFj;Fr5@PTM*p0-2=md*%W*+-zf_PFG3# zOaO1Q?m$0#@ea&+rU73)PqPtJ)nF3ifv_+Pl(RtnE(3C@qR{p7I+2ag5=sJN05ipH zOvZqqyw8so(V321(AG^bVgS^B-4E>V=Fw3aUnK%@W59tEaywm^vV0lbLi(hIJrsPIUxs1RoM-ogjMooWLG6eXB_ z0FahbG+A-T5Dl!#tu4ca_DDRNiQiX(|8zwqS98}N-UC*|hZYAe-AX*rw>Hd18$gd9 zfHkFq!4lv#5Nl{?V5`|uy`yl$F1XTHLvudn;Rcf(vXb||#&^IV(cqj^OPcezQ_%tr z>N`3*$Uyc2of@kx?6q&x8qU}S{^5SMH(EHyVWsY1o)2g_B_$HS~&Ed)q* zL67?Z=&JzWh>DFh)4v!uPks8XK^J*fJ9^r4l@q`kaN>=QcF?D&i!)|`dh@{gi)dK~ zJy5a+Kyp2T>bH=Y85!GS#u1V6@g1NOY&AU%ic&zFUt?lgKn6YbX|=T#2T!mGzmNjb z9XPC^Ksn=l2~e=Yu0kjtLX`lNSW3Zxo1?z!4&uxhL@7>O0`|b3>y+DoI?W%5sx8oX z9$gasyHpI5Q;|d&0>z0Vh?ulTF9+Aox0kj-N*i0w9jc;IE@>9FH3m!DCX}A-}codRob$z`D*rLmQX@oe*a!u;+&Q!Gv3pkU-6t8g5I&c6& z={hsBfmJAItVe*}CXeT?MS?J-7c>gG2VXFYIe!80z;D`l3pZp1wC#9}8#leM-2y1p z&|rlbt-z+B0Xove)HEj71#GN{xOg-SreRgpZ^3bpQV({ZxwRGNqVc+K8UFb3L$l0^ z3eduPVAy~fpxlP`f6M|L-U0~$oTq)|ww|6IL5Kk|@@&GoFkU>i!e;y#DE@&aZ+heT;REPvyiw1Oq4nx6#&xbO4nP%%q2VWK%E$XgqKn`7Hp%?p=lw z{u?r-X!G*(6?%n&p&*c6UpWt2p&qsv+e|el8YS1`PbCk|BG#@3QunD$X&g; zKzv}_spUut&i7T__0&X}7nq}JuIHVVZ#CO<7P`S-|IwO1d%?tYB>i+=w0WiP#g&lN z^P4eGEV{F`3$w+}+dJPQXUDWfNBVqtIYgu1t*@(KugV4lY$i!G8T`0uRa;;%Sh`fl zUftT3FFTH{(RHXgl5kzRpI^abWIItsm!F?0Nt67<_37P5N3ZOr9X>UUSGnjZ2V7NP zrM{ox(8k<$dCd9C$$rb0wP&n{kFK2*;w4+3-RgVdH7Qx}5X!0Z)@?T(P?d0`^edG; zsntD8tvto5dTGS*l9jKtk<*U5G*{It>zpev?1@W0^!Y#D^nz~)n2f%2&oN(;xi3z~ z^=0XtJZpMFWjqYh+l_&nBTCD3CdKkMJ$Xjj{1v$`Ar9CJA`@n&PoU z0fPD(B<3WnM}j%q4!O$vr(C0RDwdTKV?~AL;tcsKZIbFKLL(B(t8czH#Uwk~x=ZlI z5=8rn+MZgjTFCr)$zmQxgm+)B+kEMKzIGfL2(Q?^E5w$1FyG7b;Bkt_Isslg7tgkB z8wR;CtK4RO?}1(}Dx%s|6mB5A;sqf2zh7l?V2mEQwU$SAS{f!jf33|iFpIQ6XhfGo zV0(1w(llf}ur4O8KrYXTg|0@;I5&9DVoBAw?AwB^b(66a)2PXs^|JTVyX(n}D+)`b zhNe7Qp>Pd7*t;|c!sL2%VjDzH+t|2rH<`Q$f+v7CQ?nqyv2D}N!>xfQCZdDYdaH80 zF4oDcC5l{|ds2{nJsePk8K{b-}H(loh zHp}+sQ@1;ut(ThfH(+8H>oJ48oR|Ls{yO4?9v#XJdPQ35$%o;HT#JLYm`u8g!#~rv5Di2@P?qOs6T4Es>;E5_9W~A^2fkK6c^=y_sR- zH#SQHIh|Ne%k5=n^^}hLE6=zHk$Ub0*);1(YxwTcQt?hl0jK!^2dSfN1s3%dG*8r@ z`n6!4Aa9Rv2hm_bRs^_ME^d`tH@xN6U_BAMCkg+W72bR!Iy%HZMsRhomv_AIhMRlr z22Y))g^{B7RcjT*O*h`uM7=eSG)v0kN>MeDa^v01`ty2XbOipF?%oH2sCJb0p}lz!HgD;eP}BKwGTNN) z3!=xo$o#qf6`N2Q|IUjT6H`Z4%2T@d=LT|}y}h>9rY+aGHK2;pZ9QBRCiJ8Zzq6rR z^pPGZh?~me-a?5fcQ8q>M_zhMs2}eq&0PAy)!wZcf4%7SL_CZhg)qxw_a= z(Lo!!x7{#W@H8NmwqaR<<>HHE6Zi5WkKy;MT*|bb#2IsQYpIb9Cz_>IOtS%DLSO%Q zy{^J=Ri=>>w?f^i(}d`R*aZJHBHD{y@9F~QnLZR2rL}U9p0oMH#*PVhwd3C$r|a}v zPojgH)a2l9YQt_@-dsY&U%KnvEw#Q%OaDwVMO2Y8bXB#J;w!i}PcnWV*nHE0D$Ic% zV4B$yQT{95aOz}P^OugqG9}!Oko3fBCEV2Hz1|ylHDzx*si{OUzI+c#MKqd!eeBURA6+F)ZdseXKEvM}*mdqVBa9F9Jk{~{|lR8w2gkM}rtSKwt(_QQD%kIQ>aSHHy zqpq|bd6tyv&?_#|dZ0CLjuWx!+l|C+iVH558NU&5Dl(2r&1#vibry)s`$$0j8}d0f zj0%;N^dP-K6Ft^aODACX?!@fpB7Kz$;$6wrtA{I@a>Asw&KyA(A(Bls`KNdy@riA3 zxrOyff3tDIKbZfRb6;)Fu>QrjPs|SP^a;RU68A&Um}s*!gLJk3FkCitr9ipbgqN04 zP4=2$x6(BC_sIT?Pvi`&LY^vv0T(`x+yG&Pb({FqZ>@(-+uo>bkBmKro~qYgY+h!` z5=}V^@(lU;m7`rTkIrEPZE5-iWaDm0Qg(`DmJ7kfea$-y@=!ShpPLHiR>C31S&Z8p zZ4dIBaEg9s6p#BOLl;RB31V@_-Gsqu@|eF+4=<2=fp5N3eQcBqQ>-_-g%J7Ry}=EZd)i4unYPQrR-My`LD{9oRR5+vyjCciSv?ArCv7 zK1C6`iwusB@9;ZfuPWTv6)+-L%O^wX4IODS`cc3LE@{wPe`Huc(x}Pg5KVpxmV3lX znSJ!ik(87d&tFonXHebuHmsAx_H21>?n`tTm7AB)!qLrS-)n-~zj$_ume4CE6l#;A z<5+|c)H@|kJwG8A3l%CaO|yMBh8b@7Tq8+W!p)vF;J_}9ijoRaLZ^?MJ3E)RjZXvv zTBF4be=SrpSIs@oITc5903LFmfZrgu&9j`hXv=zf4zBpI-z3NJ;%CTFo|1T5n=Lod zAQQRG?akE=L#0ux2*x?rM-O)_44Z73$Sv0`0%ICK#5CggY2W;ec1PH$D8uJnMX5QV zHFY_pbxs9Vkk*M@uu-CKle?P^Lf_3(Xdxnx6tmaZOCdr-6kDg8yj5H}yA&YD7!{-E zn|lA}jw>m%r-1XHwgP;JzyU^HUy7u6Q9CbP)9&eA=C-UpL{I!yL4G_+>cfx(ixN{f z$@lC!PLzvPG zuKlTcJ~0#mgv*?X?Mq=A8DiMc28HE<)rMmosw?IY>CLwjw(IEf)3321w%Z0zJu8`I zti_LdzkDH4K1q=JYrKIWlv(a`Rg098ylIJVx@-h$tQ`LujZ2F9Ui{fN$Jk6)a(CVt zWj7ak8S!U{UW0$8V-b`p@o$~UtA&eZ8(BAy=>D&eXoU7D$K#qz=io#_8P;yE8Xpmd7(MXa%uz9@_#BS0 zoM5(CQ%vc2VgIgx}z}t{u~XM^)^^2CKQ(oKaWcQ>x;$If`k-#{@p^ zM`023Dk8}+gvrIL+JU?ds^QJy2I4|up`=cJKEdz27qarEOZB%YQV{5rSL8=U`O@L) z>Ms^`e?|vbYKI6`b}uFgRa89aeI{bo5mTE=F`};aIWs01@}^&urYgI;s=~=}#*nJf z$facw-QSz-Y=O3&#FMeM9@rtZFnYhT95v^NwV1WAPMJQjYI6l26aC)owP>hzfxQ3)R=~?`t4N0A_&J@l`U{$W4FdSu-BX$Ibjb)B|{7b5s9#= z1rw#%;_rWo@x9k=JhHVYoo1HS4BI9-eU>WMd4L$(DlN^(@MlcDbOf8&EM6e9JE(P* zoL0LhVryjGq{)13KLs(1%3h3HL;V_pUa305EE4G$5vV71%p8Qu&DvelkYUKnZ)f*h zZF8@|>dCVDOeG!e%M(XX2Socz(mOupPBl-zIR->0Men}%Sh;1@mhiTb)bqN>spS<< z;o><5e%styntttfC@SH>fEb zrshL(lMCY%tpyc70wfquKZ42O`T1a%&qTLU}sY=|w7XO9si0-0g{j3B>EfR5gPt7nb;*5SQ0zhD^1Fi>jWehL19wsDiM?w^6V=RCC!T%?B5vby$iHQJF1@9XOxcE zpmqtRw2l{^^^rk=^R%n;e(5n(*yw@Fi1v>^9=+neb!*Ph#}Wy@BrtdM>yjcyS8Stj zSe%>kCDzJ?=V@4wbl^2zB?*E+~qLc+&H7i&<-Pm(Pw+DoHr+f>((%vq- zvm1Gd_0Z$JN|?Fu$%NpHBI2_IJr&~UDu8xvjC4D-VwmulB5@#Gk1G5bPdsducGgTU0M)|zr=l};R>#(2Rz7ii`wyEdLFY{ z?S8Vgi=`I#O5L?>_HyU|dPCXV5mXA|a`LlY#eJU=%gBL32v63qn7bIS**r`rln$RS z^kND5`t_;Ni_kHzws6koJhhiPUg|En0}7AIsPc2PhNeOL-)Qq)^Oxj12j}On9jokO z zTzTl+4TW?@MC!L$UH$MS&KdDonTTr6vLG6z@&XYeU=44;Ji1 zSbFsuO@t`-d7>U@7{kqtu(en(B(`2DMXhF+$yv%fytIEajr7K~F&Auq9WCnQ^*_GE zv`r^)xGMB}Zz+a$t#^HKN)wQ_Pki<$nxDtZv-6dCUNvi}u}N>JvxIZ(jm3hQRAgkQ z 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

?N1LmjLF$`G_X@!;@n?7_X?GdyONG zJfwL~@3~|utdeWsB2r*2liY}TmG{Kf<8VVXLn0_q=wWOTE$%PX9Fp0#@CHdYM=%7% zl5L~8Y{64}6n7H6HfHlqt^o!$Einy2z+>gLK0Oz~p;<$o==rg{TvR?VP&Rgh6S!~1 z{)$K)ZRipo7iFqr>4QMgH3a^GR+&SzqormKl*<{y9l#NoxJZi5u{8v%SUMbCf^AUZ512!_o4 zyg7X%sm6YD5$zMeX+EAXIW^g6Yybb%azt!s!gF35FKvUzi5tahjSIMp%WnxRvZFV< zg#B8;Kf9_{TBiKB*zl+bwjD*1N?5eP03T+^G`b#El}(l~%Z7c59NLmgHGik>LO&sX z;&J)`_9ggrYD*X_tOsu|j0fELOsJk<58n&Y)`JYv;Z1uau5+5qvow-b+5SG`FPVC$^4Wv=A^t-`c zi#j>%$yE}R3ZQFiqJNhn8~r{_BctiFx6Tg?C*GT(P4PUV4cI5KxucqxZ?<()=I;PV z1c1c)F>AzeT|d^*ALtS4$H)6c3Y;>M#;xc7Ze^f^9TvENoUs9FRsuJ@yHNWo9qoW25VR zLvd(?uGB8_Dyj#;CIn-EyP<`#pIcFH%N;A}cTgeg=%o{qV(J zT8u7Khq=7N8;hp8>O9|$PI++fpW(;wx%fy-oa&jCzulpdiCA45a~p&r?!yfhSRL9Z zbVSeX{-+PEoH4L|LMo|AXFZe`0295gjQL0)jbZto5(g_XZ3jS`;j!@M zGcb9%-ff=WoNsFzM;tA}cY^}Jg-zy2?DlQ^#J9B9?qVrGteW0%LW+#IgCI`8j4kyA z+FLe}n=G`&sI)UpJEJ(7nTIDm?cbs}XALXCajN{Pl<&2M``TsK<3$ULMO5>pcIHWr z_ZNd+|BDN7xW7Lc&q3>VlQUPudi@q=3cfb<Gp0}Zr4 z+2bRHS80yu!yPUhqKkFBL0fDn{#eUmA&+AW(i_ z@arR2t;prKouw!Q5{2lTkK@Cj5EHWT0$zl4*K}G2tlICMTKCfwS;|=eLP8SW63RphTW+McxFy@; z8*5fH84tr}m%_i1%MXn1ad zI{5&#^Q+QVDfe`ZWLBe0j}8tHKW#W2mU@GWhYOAOzXU%qK}Y(wx3}*vHVFeU4`nl< zu1Q|k(#72+%ih@7c%9|-{jnV;r?s3z32q*qY1D*gLv8KHsuO%zt`eTU6Le~KZ*H#i zz@!%aM0<6ZU#ZeN`am5vnBSA^jBg0fP^H|NjUws`9_8<}YH0{lP7Iy#C@w|JlaO;b z|1nt=sUv6LwWC#XH7zn5`>Ij+mdEmNPm8c5g243lKZR2?vrPX!xOodh8zYw|4nyz^ z)kYnC&K0zaFAG5zJ6eWI?+;H@d9*jT`~w0G-frKA)l%&h ziJr#Wzk;vl74WS{dX9UkuxsiWg&nio!cY?IydRDfWhq(QMGSDxs-Y4@eFEfO0LMS_ zja%DI_Dh6>M<^yPC8dwzal9G~*6^ZWNrA)lQl;V_{l|>AzhNc0O9IdjSXGkXh=We#| zwvr)tmIoMeK0p21(@ZPs@e%M#T${;Beb~E=g~Z^v2#KoxK#T~y2qd_4sk$@!I`#x{ zXi>Zezji-~O1JKERno85bCZnQ=47Lf*<*_>+|niOTy#pM7rPz3CF5q=qeDSLa*vtZ znf)8^4$kQrD+{%p#+N&iQQd6xUsOs5dv!<06pEb&)7M!`?H@1r@zUsO5HC!S^C~HM z?CaA(i$62nAmdNHhwQoup|@dpI0nkw>6wN1rKQ4mC1_j!-lnH)J?1%ca^2m3{}2yf z4}71y1jqHZBX$24$}l}|+L6i1Ifv(^hSa~S#3=VuZdv6zv%%A#wXubX98zTGS>2zi zoO`eYBpw9hEQ_pnHaQ)6?|tghMRXKaSIY`BX6?{QdVI8Ik~?`;;RnRg&KfVDJW+qy zo(dOUaPn`11ZOt<(>8Sg30%;d>^dQfJE@<2eF*}n1oR;8(ZGW(9xm>P5XzHw^pMZi z*)cfukA^!Tm2V=)Q|SSF52w-jXIuaBrfYGVRT3|@?15#%T3`J9WE{`d#E%vRiUmOh zKMyC~lU=P|5Z#2`g>-s?KU88y=yj3!xkG#Qn47JGjb2lcTuEs>?8WS&5puo+TRptp z#l8T0863P(P{~K_Z5>B`J%i~^rdFXhy=PQ_?+f{gii)9pC*2S`^M1?kx`{d~Bl%uH zsLr)foR-XNXl&#$S#hqS5dOH>!&n!3em;sDz3$n{X_CUc_leyD%vZGyk z=f$c+PPGDOW;hrfYg{@q3Tc^z#rbuuzqv^1#6X$U_hhuH<2&h*p}zjZ-byztq}&!s zuaGldV*A+D;p{z>@;&KF&wyy>6B$Xq+;7b%8+}>N%Bry(Q}GyT)caPJ0mVV2O@Z-x zJ#*|h{zr$b?(WBGMed(}jQ>a^`r(v#>dh=^>LD2qh0-7U0V^DlioOI;a2S}I`+>th zl*@v>dk$a6FedFkEn`)LUT4eh(N&hx)5cF93}hW{5!{a1dqowf8jfXaGcr&|7 zQghS1SI$an_# zeYE6iyRe|3N|uhHn!S5-lUGaZ0IU@o85|0~Q|w{|HC)3f9zKP{3K<(aJ9me1YolB& znK)Cy!;RHbG?KirOVVjCV-Sb}s3HHwW?9vfz53gq2fx{n{(xyTYa?y-A zbogYww;bc}1DeOd;XxbLJ0Af%$%EeHw{k{nNvQ%%Qc3Q8&_+9K%(}?Cih1tX<4O$m*BFYv2xVk zzg%J*Iz~gA;ZPV;3@`R&-~(O$wgg8Yo)1aB!{Vlqq3hw$AyVCbp}Ul{F}|3Wme#a`flz&V;jzi=nCNSKN~$;E_Ii0g<7Fprcb>TF@3(OL1MGPm+uuL~=%+|>SB%4zLIVFmUX$3)N>x(B*HmXt zKJ(#ER%7Fa)jnRtM@r?G?(RJtnBp`J4f*CY$>IE$4tIaqsp<@=4!!lc_oVpSO|^GO z^XHGND-!4OEJsL+tVTKy3p0rGBP_I#7vEdaZ}atPZwK6Q7cijcZ}@6E)DsH(3hWm* zXYUOZNd+u1C%9=~LJQnU5>*S{D1th<&L3lXjhtLzkF-oN_tEDk+^MtqTS--Phb>J} z(a{?x?dqt4ql-Pr*pFFR>`qn_bI@-d9}Lu9_q0YW@aDe=mD)eRhqYWy{gxw?XFC+9 z`}Vl7-N1V*@vKdO=x~ATqt}_>SGUfU=#>$t_j0ktKb-?G&z>n|sws{y4u6)u!5YHp zDIvz`mS;TTsHKgn=1m-;_lSE2W%GRlKfCl=+K1&?cZVS zwBv6TK3|??HZX1gj{RVPF)Oq!7oKyc!YY+}2XRJ?<+sGA$)=S?_mZ3t(wO$PganX{ zx4&$P-C2f2Pb@*j!>2tzKTrQ)S%qB~$mDGiIqiS{wO1)Pta7s+Gnj*PnK}i{jYh#+ z(|woO-$?b+CCn4!1jd_*mx+iB>gSU~dJBOI=O}sbSk^8FS`Shu~z-38k zywGaowk=z5aK+XdzHgDs(LUEc`Uhv`eD#ONuuf!iA*MhJS+IRWq4VhJe8PCuwHFyI z^78JyQ`n6I0HKrVBKR*03OY3^>__bHJ7XVnu5Q3w^6kgO1VbRxQA&DZ%P5y1_4@Vo zcW(y_W=s=#td5`59Xclx9Yjfov*f`ryfZ=kS&xa_LSMdUW202U%meX~ze%}uK z-PtMj#rKCvz|xAO%{N%Br!+hsXr^%bZEPxQw*cxrAiGbkdC)O2JuCBEhxuVF(;-bi zM7hs|k(0~wkxTSJ^b+pPi#;6PGcbRTKX9+Nxro>%Af=a(EyQ5;k+o0#)Ys>&*);O_ zy0((E%LTTVM|>bigKRlSNZI!1h#TfrrW$vue5}=dRnW0C1|>EZRzIMjVd0&MwdJ$e zXN3K;gdZM03@Q#di&yMZRb|!MX`(6uoKOype&mut|{~>MoQq#YTj- z(8Wj3JcUEBdF3Am@Ka3WDk)P2cNqrXzOXn>(9sHqAWBjmu*H63gpf4<^Pd zxmu!m8={;yXZ>~O&ZPA8u7I1+JUZxN@Rh`BXhd%j?^Qsl^4QzGzT3D>*m<3c;VXHX z)!6W07@Kcoq~OWnF5|s>pN8z`46G7jp+bd&7HS|C&Z>-!uE!#0PAemPeJ! z6}k_#Jan-4*L9_2N`zL(8M`Zs@r68cAwM*s%H#L%d|pCw_QsyA%lzhjlU{ohcdf@O z+K-V#EfLu8rQXA6F}AyJKeg!c89MR5z{IJGjOxCVVjjn;%E2g4ff^HaI@rp&aDIa5 zhkaV0ySNEovQ*I2k}~IGbxlp`s_1og;8o1DDc+5SH*eaRV7M}XhKJ3Rj6D8`lA!L~ zx2DVSf=b$OA9j_*3YvA7a6guy`jnVRucI^0+_+uQ?oR&mX%mSxMBfW4XO#j&C!DSW z$c1>9$?6|Q$Oqs0xAODz>l$|09{U8q64CDU16j=f1S#VdD)1vYI}cT%Df*D#_cZ*z zj@XM*7=Teo-Oif$6YP^qYU?Da;C_tm;x!-0YHGfZuNWvFNYDkdfmbg7UeiB zrUPpbxsPcmu0L_!M?b-Sm5t@&31Nr*OU0PcDFEq?cbjx!WAN=RSD+)UG>kMc$=&tt zEG^B4O358@vc9u}h8iXm`2ZL0#ZgG*nb3GjTSUHlgS3_RC)nbv!zdRm1&Ui{<<|a} zojpB0Tw^Pr3F+cQ=cS;;sJqlaNG=A;Q_jInJ)96;8*BOjvKLZPkm2WpgobY3G+V(A z3K8GXgnX{}{Q)j4 z2^Dth41lFfz&(iOKf*tk5N%u6HUiS_B0zJrv6^9Ug;MfgO#kc`VRw+n1RI*-9Bqv^ zLX6%2u8P~uxgS@S^=2c})0yW?OlX8`zQDR54(+OTUBa7`Qu*_!NP0mhCkP&;j;mC_ zEHv04G_kjl^i06|SkTc0`uVYvG0IP04RX#vlwS{WQBNOpGFv=K1N5SVo;D!a3l9eh zK(%6zyAXMBW&{MA#;dMpquPIdQvolmnvo`-SV8N}d0j%^z`!4lSsG?SJh{DVp#>6= ziLg-o35>i4D_k=4Mf2Rkr=re0F_`X@req`} zSZPp%?K@8IgGpIl9*=Ae#XHO?A=+I9>Y;=0BW^J3On`@pb*z9$o%`p{b9>qrW{raT z*4LS96U2RCzs1hZ-CL7XFsp!V=}c}GPwFi<=Q={2M_|L-A<`D@T``u62T5T5aEDrJ zeZ6|Loh^F!wCRT(1GpsAeVu)g7E4;?!YeobdOJXnNXdh-STcE@=Grv_3WD$u)3%?p z9yZz2PXOYmD;SGjoT~Ggai8PeWK-(V!U4|ttp>ENLzP*nJfIZV!%J16o_KuWGKiGh zpfqZ>JQaFj1525Q3#=M~B-|J&}5wskyg?=Vl^yutTl?$1tr)Q_``sDsbQ?lkjruMT5iOM%UWj7u^9N5^dsD(C& zSXcIioPz^VnnL+YsD2&dpJ}AbR>{arNG=21AS9yF*fB=y(;6PVx0O@yX8gMOvH`4T zz2eM%zo9FG^V-p926d&8WfNY>29P$K?y186jVx7x*Mb=meL*4UD9>u+Iye7J?H=Bez^DdyX(U~$YHJZ zzR&x_oMVhRCP}q4IOrV$_9neoVg}x2z2c&y-tNZ&{Ag%s+7<4%=p_Sa^scrqa_;2p zSr;&B$M0II(T|(~)Ce0@JA^ttWO@#aPd~Q}J1$^uRA-?qyx`)Mgji^3E+NuPQ*@}P z!m}jGnAG1w+GS{NE}c3d4B;8$*0pO;yc`4>X9PX@wKla=7S}VEB$!3ChdMKE35U6g z$iwEQ^jeksnz{e6Z%mg9f~GLYau41}n3);Jnx z{NbS+gcSAAek`^4y!_;9_YhynwjCMTN>6ia_} z0FQ{a#U*{C=m zUQ}R1yeBEyy4fF}$DmhB21H)t&z~>NmFZCtB$!Y~qd>-} z_7PSmCgt8W?3jBy$CN$}i<`LJDUNAxqV5=fkDeZPsqFbE;aE#1Oy~F0IJbDhWogO7 zWq*guYLgCbv>eyd4>s?yF{E;xuJHB(vh^}fxSE^HQfvfrdIzMXoq0PxrpJ!T>b$lC z(ICO7W!pNoIwr0__TIUJlmmnYQt2e4HQg8bVgWx&<-dq`I2rxkjf_xpa6qmvOs+Nh zV^cv4_BSAPU*;xjcbs0BoP)Mz^=Fp{?mlJGD^(&j9DCl1jLd`oVT6=2v%%<7H{uG` zL=%KSLJ7Vl;#g3@w%M z206nA_pz|C=?>=QM@r43%(r3-nI&?y=~l-|l3xIkP^a9;Y zO*H+Letv!x#CQ*T7tZpnOx3QFCPkK~il$DN-&6Y>2*D4KxOW5u{0|NexN?vl-CgfM zfUH#V+0lQ*%N+{>=Gb3nYR|hFnzuh5PbVh{HoqarP--p?Ig^{D+|)rPf6y%Xtgfj^ zH#}G@Z3s#Jthdwhotns~*cBDX2fE)mECrI+ScMBcL+sea9%Tn8?K z!r)89DaM|W?pBlu&A7t>dG2|B3Rev97v+xk*=x5Q?+>auB>rBI_M?EP*TDpwo=pqU z4Aw|e+ndtLLMA3A05Eg53luCxZP&a_S$M2@eAZ`92pS79kZssIdW=b$A}gk~n}e>; zbvT}V3&yWw-D!?CvXE6<3K5EfuB$Q`Z*K9sF4{$UNrq9R!DCsXC^+TVuLuprn)@Ex z+$FrU!*B=LIp39t=ec7Nna)}dRDs#hl)S^-cL_+{gotmQe$DF56kR#A^xXPI`}yf} z1r98`aqwBFcA)Jlpv%&(D1@r2zWkH>&mQ04we?RY=`AYU)_F@{?lzd!D!O)pA`Ibm zwh|3?dF_|LFklv%Owt0&4PcSMLB8Urr(ft~<8lyFa0;LzoV-?Vi5(O9fG$8)+^t1O_4l9WV; z&q_(peZMluU~P+YAC5kRda>EH@v0i+@kU*6%v1eD9`nvY!&(D~BN!AM6A095stfKJ z2fWi^aE-hxWi#8e!+seZy~w+f?vd9Pzio+a!0XqSVH-Ns?`Ha%6Gd5bRDBtPaHm^P z2LQG>{mKs9RP3}ytu?(R{;ZoF!RrB2Q_q0z>KtNEGaoF)A|N0DC#^7sC^|Y#Rzs}$T0AaY$zw)zMUQ5%p87bFjkWG$qIC-~^V<2VMYGrLFCB?<< z0RD#AM^d}^YuVjjDZ`3E_ak3!uBlQ8(AqDkRaI}o=>u>Aed5RSr^y};J;&NMgQeUQ zgsilJUe?g=aA9mL%BzKr{?5J|@G9BrA1=VMfv(3P*JfH#n`>iSY)VXosYy|$JkThK ztF=ICMZVn(gu~?qz}ip-zBH174}l`e*~4a|&h$V|G-ix@qRLiuy6juRK^Gq&hHqfK zh>0E&(MzI3E-jPg&Rj5_tGdk%^FHdEhY+oXmv?qe z)Zdd|{H)`*PY3mO>XV{J&v|n7qE>5hQ@vp7+WN1A1qRmN4Zw9YL8b@B+?t*)J6NwG zc0E3^?VG0bVY$u1lG5OZZV<_d3dK7C!Vy=to2YdRc$-9ZX|mc}>Pl5bMbsThY!+QP zA&U(l*r6e6+}Y{Tk6IlqoAJu#%i+NXM~4|irZ$d_mCrrG0UV=|rjU5_h{Lc&&L8La zm0|$a+)*g0)nsjy$CGneDU^cLxI>N2qEBjlys9q>y@<{>9!b`362y1xUj9 zqB|EWW(_opT_HW+0u`~Jx0eS#nP(Iz{OynT$Q$j!)aYABhv4v&CVGWr=v7a-IGBe6 zSoD2uPa*IJ;3+=;+|AE#UO@@m$3ss~GDxWmrUFg@-ObN;f#Y$1jWwZY^iy2<3u&(Q> zYq78M=;#c}TKn?U2JI$+O9tFh3{2T{%WDggssveb0Zp8kIa?XsXvBQyqKOpdUvgt1 zB_#!#{|?CVcE256!CY)bDJ=~WvN(DMfqQrl25liEyZo0iZcf!Vh@Eh4#NF)3noBrT zG57HJ9?j6zsUbbcGT-hvQyh!|xzS%9&6~YQPeFU3d$G*Zg<16XRKI3AuQjE`L{+u0 zv$M-33WY+nvDsB#usPeII;oIiL6n{J1kxMhKEl)@lilk!65@78#j=qCy$+NAE+IkA z|6M{3Lvh*fC8ES>Mu$dYzP0ksiO;RPhb-dv`mi66$|f#%vp+-9=O?m?eDRW!7_TFe z!_kp5mPxa|?MYgZr%LRJJ&S~f!@(lTqVWT@kNfeAZ17x*Z;%+I9*0rxC28&Lqp%n zNPM#^X=r5R1_VJWeKo7tvS$)!SpVG})Tk_3V;I`db^~M6S-DHv6C(uH2E0JhKoT<* z(-Nmyg+*E|ZKQG&;+c*GnXms2BmA_D zj5faG9elHZdQYE;kX0uWP+X{JH+|Zh&@w4{yLaWQau&ff!O||K^MT`S0O=dts9;%)1MDmmOwWusS>C3W}N9a2| zHgWgpN@j%|jL}V~)XNHdst;!x3PpvHVdv(~(0poo{Z=838jG^8?Zhm&490_EVAST_ zNJ+WNxd_<6x$0vAt9%#GP|yc}H4~+w;hiut;YVg>>K{cQQOGKPZVz5CN$GWvrw4`w zy`)!uV49u-nj@w3z+12%0J-kl%aS|W{Vs_kL)LL&T?c4x1C*&TF|l$^B4=|>4%l>y zK)9jw&SYe0DBj}fJ7CZxtgM*Sa^3AADnl&y}*RYJig9jY5i7|qO zR6eV)H#?`sXkxnUXxfc5$H2j3w-iYaWPpNFK!))Hlw*oqXYe3Px0x0?HpMrj=nDvu zf%FrEC{oCLF!KHT+oe{+kK{Tpg62hP)lZ$rdg6O_Z3wv)rmfR`7wGjrUXhmzX|^m4l>rK`0%uvYsfC4r9Qk(4K{aT; z97ZYH03IV1;F*MqljY1kAeTg|2aXa;S^?To!;%Bz#g?ej({^i{uz~{ia0+1v`2!$_ zh1sMyRdOFlBNG|SGTX^%@WnxB?{2$ibHCxNg1K6D^?D_?V&)VNH}?z#@6e$?3KY-+j$ zcm_&#`RS8~|5}Mff78T77$9Pscd5{#lFc#ZAiSx+!^E^rw9LuL*$DGHKAy-Svw#Az zz^D+PkmR^}a1APH!eOU%SZF`(VNZYR6xvT#{%9H)L^7mtx-qeeRh@| z?&K9_-<>QjIk_+qMUxd2)Q&OgrE1b__p6BkrUy95=*Y>-quqV{9>JW*3k{IJ%a-ll zrt=2@QF^&34NY`;IUi`C!7z&->UJnmmaofC^9To4=H}!WpKn3?32@re2#nCm4-W;)C}{P_Ym_g{a+0`P(0=HB$bZtg6m&gi$PL1`gUCH9ZC@n0Y7mV^4d;q~Z_ z>{aXse_YKhWm;vCa%K2W7381a2F0rXA71y*eEmiv(7^o99g?^v{+4Gs{PMqdB|5g# zKC$4V`oH&2$&>+xljA9z7&Cv49mp}A1e_Khe>Ud&-*<4w^)`HPaBjU#eXhU1G2XF$ zb*Y)6M)!uAdCla3(?VQL}aSr%XKD#~A`+tm4Me;EDi$CTB{7CZ@VqmVg{=omk zR{#GGGb8erOiXdcV|`ha8>`@-jUe2xXla`8DV#CtEYF6?WeQ&$6(k} z>OuNaBuMthIJ;rZb()7f)xQUycq&Qf!`)vLc(QVf(MsA({ZnM^AG0Y^-`;);vT~(Q z`NqxxkxZ~4X7ym-RG0p9jNHuOug-^zX=DChS_=w*`TqHW&IbQa9)U*6!KulK`rg{` zgH!kCoZ6DGQ}pGfZq4YuHjz(y3zkB76h;k550 zNH7Wc_*A@Utre2l!iambGBsJg9Nmvx9{+;Ab+_g z$trjn4CH83PgM`Zrkzr+xB`Vq41U*qC9{<>7GC!Z8YBV3I=FS1?tFJ1dQIq#6)&%$Fj)V*3T;Ts54vT>*JJbGj*!le{LnS zqPI;|c?KY7hkz>I?xzyL34bb>Yu>=M7rZCdrlc318b4><0_sypYC--Af;GXk+Jg{M zUSExBBaO_G0=u7)Tyb4tA_sYnj*j5#odN0fMK}ZKLe3MfO)8)Q?9bM*C& zovkB}2vKRMO^p2u56~;27J5Zqj2=`7$UY-4p$yL8A*i$tw zRTnn<7g-PBxuOtOen%ezc+B7v&Iu&rh4-%ZmhMg){$g|Ap-PDoCp`G;WI4pMilie) zJNtSlme^P(E)%up9Eb{R8e7D-()-tiJ;47u%`l)0kJh`&$vX+KYJC8a;rzk|8*-rV z@X1F(4=>>C84PHs!^VVgcWPa|;*K{J^)DV6d`x9!(0Hc!qqL!-=QjaDWZG80;UpXg zO0xn`ngKH0JB|)!!-kEO{c^|a9-75w{>BZy5K0AH4kke5E-yGT)(&T*!Wlr>R({}m z;pE~_wJ~Yc{;IqS<*AnNsW!vmpBwb{mi z07D{=ZP$lJNmK|8!L~y5?^D;!`(Q=AH0X01hAAED69A)V6Mqh|c?1?I5Bq8_@(_4O z%tKc;0BPotqJ-P+KNL~F@)R-Pg8+n^%<=rp3;gJ1QoS!G@OaSyL~h(B>4z47K1#`D zJ&~BdX_x7>FAQI2(mj?M*<@p3@qM2&Q{U3E5n0!1y10of_d3Ros(W`I>J{;0ax~He zdNX~Htz!N=E4DtH!&!~4J6-Ne%U`mXT^yKSvTc!6QN%KHX0Mkkif$p8S zpmy2a2k`AgyK_WWFi)-ya+=2T7~`p`zD7GR+q@5XZg1K7eSe=Le#vn1EER@PnzhqG zX3grpw+QdV6XwV7?>h(3{<&A=-H#1Dum*${^uk;xo~uLlA|$`5fKHR+`o*1A>Achg zxSbIwv(SbrtD2Qrmgu4;g_c0iW zqw*Af3{;;6%r#UqqtUTs)<Pa2L5<*8R% zU4~r5lWS27__VD~v(?+sjVIdb6!yXTo$pVptGy6IC6le2w zLv)~#IzZtI%Ny0-h>nX3^M0CoFBO%@{{%e|YPV(a{@Pca*Ah{-n~MIJ3dMQWNdv6! z4oXT(Gu3~7gmz$@Kb>tUDIxa!w5;9y_P}cb@}}7?%LrF3@k_9PxKG9kB{(ac*L>yM z@h)AtGCl82;pn*I)Vw%5TW?ONCiZP78x|eA>t+C}5DynuNKeLEZ~ug{#Md_n*g=zi zHRqt%gihi~TCKfM-ig~VJU8#DhFFifq-URDk@9l7^<45kGiL$yg{#MLzU4lJ%><^j z(%#(B?PxIDxCjl27_Z=*y$vHD0r}>Q@Zh+i8V^>`{Yoi!p5LnR*nJNh`z8&)$n`*6Q+O2S^?UIr zM%mNsUrmyJ=p4^SFj-u+X?S=B@-uBsigy{qFPaT}y@rchwzap_Ffu~&VqbJoT1v{S za4t30E&6RK4mV9$c2D6>6BL#6CBnoj|- zltr#n{>YWL6d~sEbqzIpeKWF_gqZn{xxT#-Lu+{gS$J||Ksenn1r#;+f6)a*hyaX^ z)}L%va7)QYYTS!mh^!vW(_46C$7ZcrCZ_^bTpm`|)_fk_%#8(t`~u*k)&Y+RQs1EP za9+8nWUkEU6?>Pu`#Fi+ZLm#$T!RiTiuNRPaZf*Zx(T=}w*jm=WiC2i-Y`lonC{xy z%V9lQs^BOHn$Q2JQMinVKu@9aWj;Aw+hnf+82w?NsoOg~$9_2I-r``v4aJ>imCFZZ zpOu=W|0~LgIFDCLImiKPc{gSzKKE7E!sBpIB|#@F1fSg|TUZ!2;HiWll}~>6Wh0ow*fM0=!0cQP1-MIuX;n2wlUE+=U&q8CzOu4gI(D7vObvbIf{#}s}UFsv$ z@6eshZ$4fr5$W)9@B)KYDH8&=ov77GFnIZ(uiqIj5|hYn2_OCDiJs@9{?FY^>iK+) zTf#_Sq)=rz><*Vi&)9-{vvf2HohtOtS$BLE-sQeKG-`W>YE*!#JXl{%;Iipsdy^SnYX)%B7L$C6yFJSeSd0suoW;IA3xjF(UBzVu}{lTW-@-|Xm_c(R#;HI+K3o* zcGAV7JUp@NhOIlG@s~^GA%0O`f4e1wIKZdAgMJ?B1PD{)g2?RFNFX;i2C)u`cn9bW za}K5d?=$B-SWJ8AwEmk1kkj(2)Ygts!6yj}y_uY|GY!@IHfnHeqpDs!_SY19)+a3o z*sX?c5S$#60wyq4d8+|O^sE!sfb@40RZ8F`UxlON%r>H(A~v`8^jFJm1EJQ-H1E^{ z4v=Vwq)c3h{#Z`bkrF5j`|Z|cBOuHpYjhYCsw%5{cq~-&8ZtUkSb=jM<^(#*vG5o& zV$f3?tL7dhfo!qXNo!lZ%x2>!w1Zh)TgxvgfC{GzKsTcZa#VTaRD<6tHoF8&=zJ!l z>?iyGe(5;}s4#uzDnggL6%f%tf^@YS{VnHn1~GbXwT7~H>N%&50R1}xogRA7Eq>Lk z2-(O|Ond$%7D^lmAjknKP$umWR)T;r9{Sz}2%}nt$t?<@)+2sr-E?s{&Evmf>2q9E zZk^r>^)+|(4Q&t9Dy<|c_ZPch0{~F1;gxMI9aI512ON%kkD}*=j$9euHI+?(LmJFk zRPL{e8Ml6RS~{Xo&XQjk-ZpcoDX`JdFI3dr~_TaUMt~R8okEH&yPn!A``CbwY6DpHsrG1XReSU z(1i+AmZPP?JT>P1`;}pmKN9*j(U*_lW{e`+KHbgLt+;-_;G+cAXa_WlSk;(xJQaxP}Eq)*?wcoyou%zWZ?uBz6!YQ5=nci}&bbn`vLstC*Ym_s?4gtv27|T*KU?Vyh1T!v3=2z}Y*l zEz&S@;lR8ydQ)VwLE{m3``(9tGjl0Tb3hfO=-MsyA0%*OprNEwFPyDM*<8BM^-WA3 z0l)EJFmGmY@kLbBog7V`g&G@SDJiKJ^mlZQ_m-MZkN3Cs_CDl4)n`=wTF*OEmub*^ z9UAf6MUe2?G_i`FOX*@@z%t+5+HKBNVSt7+@^Rho4#34?Z*_cMX@SFgj0iRVz@HIS z8!06HIajmdCXivEi1ZMIMdf)b0cgUl;&iRL=C21q=k#wO7Iv zo|=!PUzSfQfu^U9|p9HGQFalJ=W}-TZ{<1lcsj3=A@^mg{B)KjQo74KTb}zM3sI5c0wd-!-P`y z37TJD6Lc~FGbRKaCJB4w0zYfT=n0tA#X+%c=bZbkaPHnGrIIVmnk5+qwDd8{Ep;UfN;j zow*M5`*5R`zq&qqAI=Rgo)13gfoklHJH{<-pgM*_Zw8v!%)(8-bw!p@&pahLi1=Y0( z)2tFWppwZBJS8nu@>=$+llVLjuAZF@qE=^fa|{6T7ar%?=pbU5^%ATwJ7RO*14r1G zqZN=ke;PUM2vm~%Z^xOI@WIsa5)T|IDk|yklb#$UB~fV?Utia7SW&%1>BGe)T>*kF zw8vjeu;6h=8=XTChz7-DkN>(;H(l6K(9j0&s^v04%>=X)*~aKd6<)YfUypOF45jVb z$mC`a#=t2GVn&AEU;k2O5$6;r#JI=2!B-;W*yQ8%LavSgr|F)Ym9-Td@Z45N$a@g* zaKJlupgE^vc}}A4>>{zC2^ZAyHUDgA$QR|}ihkf1V7FY15gU6MtsKhG3ZEYy3M&W@ zvP9Q5nOgv-c6LY`rbYYB_Y|Xs7lSUJ%8y>Q~Aff>u&bhlu9w> z+;pRM#uJuDrz1)wrlCq- znkG1DsCga`NUxus;IxB*RF=vU_UH&%Wv$;~Lrl97AiewgB2Ldl;BW55E~Cw9amnc zGAH3rZKRr12z%^-U!9vw^yYiZxW4@@c}1x_Qt5tH z4My3u)^sm=@%yltzo?X&{swc5=H3RV(HzJ24H{eIQI>~;lb%WR0!|H9Jj&SyudU3r z{@pnpQmvA$Qo(h&0LY2vHyJlM_!sx1N&%IQRbf7lJ-0yaTV{onIJYeD>7Qz&>BNZ~>mH(O#-! zU?3k>eGwANXr!2-*r%G@dbF5s_Q2lL%M+TWgV-#^^caVlg98tw8QpB_Ra@03Js8!e z1EiSV-nZG=3!?8%H-K}1_43TQu20m*^>uLCP3pfFhmYq#2E~7G2wAc3!?mFtZbTK6 z!U6)&Sux2w4>oG```V_(#goA%@c#9ickjo1f8ewu7bDxG5b^OaaG>ycN=S=3NLRB%|EZZf*J2A+(s zr@Bb_+&GecC(R6w30+-q&M`EN3x`Fo3}`y^Wqfr11!X`unLH;CYhDjju|pSbpDRjO zQwtj%aAbhf6+!bG!VIfn4k*~vLicCYtrTC=1*8ZH_* zy|)6glJ>|H73}MvS}%lClD*&K(&H*sX0URFh7p9>Ptr)BG(JB?c10Ix;9qNN67VP( z@QDKR@^IkUX;(Rif);05btn|7i=Jf4-QL^VgSq1O{lSBqPWIEQ!;au)Do2M83VlQ9 zeu9YJ+(Ze``f{J*gE z2^{R;lXVSaYVB#_h0A0^1%`yZ-U;1VAkG|4E@oZJ5m=LRF2Cv2@WsjeVdFROJGz#4 zx*;F-`V~#E`qz|@mpYmsabLCc)mU$nPeGI1L1mezaDxt z0^2^%s@|k!TO%fCWmUO<1aIz45e@(W9W<`BhXvr@Y%mRFXeU)}oReO>FU$OEqE=}M zv^F}Rr41i6+=ZYdW3y|nqHJTRJ>O*l8n`NeR&eX|73GGzUdr-#FdVxmcR#2O%Xyy4 z?-4606Z26#2oJUNCVldzgIVjSfBhx~i?YBPKjAZPZ|(4^?&Z4k`BB?eShUqn8~-Wt zfT&}(8rG-Nc1X`l&mF4+{tqR+tqbPU@vNzOye1ge)8KW|Pd;Yz2$$B=S%3ew2X|2&^;R;YPT|dcxPs20GvFja;vJ53bCM2=fZck9TaBZy;|{s@C%mOaboHor+*U18L~N)dikqL4kasb#;`w z8L~ysrayWds8K~W4YnptS!)#)hbH!0f@#VJCTp>O&tLIvfAD8FIvjem%lH5R@VLoA zqSfe38F)baUh7S&^>Xjc9bc=#QuGf1F9W0Ts-G~c-pco>*XYL3 z*0ohRx|Id^dq zCWMXcu_-JNz<`Hx-&c(p=izviN-x#M>)(JAeu^w9w4UM>hK2t@dZq>SK#CT+HTOg0 z<>ZVeYfsJBJuHK@I%rH^LB9ro^Gwgr{D>J-RZmcOIKLN9b8TcPs$~K1ubBjXOXtEF zK+9VO2kFNfEI}G^6+ZupJ9M)C^t9-Tqaw4^J_)*q$Lh`ky@0@ofZ(C3PspP?4GkKC z&vpK5q^+W?WredAw&$dN&Dh>h$;P8<4buvz1fy3d+tG?+++)-sF*VJ?>~|Ah7hvgT z;b~R+(fryZTo~1pk>8HZ@M4{Lv(MDj1BkMJc{}#b!P>d|251gXQH7=Pp0bZLNh@}_kgid1f3B-F@?gzhYt%mV2(BR7QK3& zU=FtcJvOYD!~e~6;3uP6h($-Cu<2$i>SzF;8U&v=bu^#}b{s-u?%q(l0gdFup-_Th zYN|e488=zcxMH!7OvouvliO0M%30p~)Y_!d_{-Crhb5n%A^?Dz0?*k?w&Nzs=Ssn% zLMJz|_pl)Z!BA6EgAK6_3@JFZv)YY5Lhmsq-9o13inniPRI;^+(F3A89!(k)sIv_Z zZ@E^L#&-ohW82)Q)9Sg40U=OBcegkwL_gcNG&OA^D|c10$;3hH0A;P9sP-aW|DW5! z^2_rX?&FPx3YsgmA`_QvJ4WUjEde$LK)tXS>)#jyx1ALHHlpSXN&CNCLc2jk6hCcA z5tsqe=09Jv6XxLV`{!$xD$d&DFHMxxJmX^;(aT=s_AELtE>P^WhR3|X;5UN`51L9e3I($I_5Z_U4K=7hJTbzfXT+3RDFp)fvM+01ZYWb85H|W6~G@ zk}KozDWl=jk`jIpzsO5w?RvY8lpY5?S%}Ovy+V-P^cP>v8AsNDE)6>md+!KHtttq= zqn1^I;^9+qn*H8-6p-6?@q6xzpq`xI>HbXh*s{6B=@)u&cn8lJ9xO&WzG4=Xd>BH} zBOy-X@yFL!i~aNU@0GgV{OYaca}LY2vK{>*&o0Bm@NMg|=`}q!kLJpPQ?%tD-kf zVT|e3PtWdD&e+^oPv`|Hx)jUDF?v|`htYZx;@dn}e?8dQ{Oya?uIX++ld)%VDa>`F z;hzoynDE>#M<2ttbEIy62@Ev*Yhuu#KP6d}-_p$GCx7IBD{oFFqhW#{rM(ks`r~ik z|7A!Uk*w_ff^fb6`kWIHk7J&yl&xuSV4Luhf2V{)@ZVFy;f0S2GGN(y^_)?+hiwERVJCUSi{TXGv@-!|ibpM~IIb(V6w{HPHO?z}v6DGxi)IL@u!vhA1BY z8oI>>BLOma#2-TtN%8kXF!Jlkd85A&??I`%MkXI^qr;Tdcmp>AJXF$qbhSL5=BqmHVNF9#$=I-}9pe9ZXH~&y zm5ZJNi0jiZQLx|6n2mZCe@EG zwG;y0T5l`Cw4t$fW1yVPsC^SC)%{(TpPqFWRu$*p`vwiht?N!LKO3pC8ryinD6nr{ zcY>jUm4N>5GQw@Y`p+$Y`1llK>qf3+tYSxVTM6u-omwekxSc?c{bV0M+BZ?BCL`+xmplvf>ZxowatA-*2>*G!_(iD6Wog?{SB?Y}OQ30J3f zB@J-yW=a2E9X`z+1S!e8&HNj&OuBDvDxThp#iby4SeC29!M}tP&A5m_dL!)Z?6sYVPC&Axo^2V0XFScw_xt$mwhvlQn&nzE99dM{F$=W=>)$IdyReA!=Sq9Zi`N@1 zitkn59dTJ~6UF#`-fka4B8d2=_+?_45_&(3G&MHf869z8(78Q2;{JngVY+to+oseF z*Gu!TvT(?8aBwDw_vnCcuIBW-6vL>NW?mHAmpl5lybNWwL7rCHRZ-eOGDEG*Wv5ydvLtL-5%y6Xd?vB;0Gvi<+2>;JGxv!qgLN2 zk|oy0zTdNtw>!SMq7>=LlFgb!;=>$aSfpt0-Z+OjI1HCvy*JWv>B=QLX2v%qmgmzx zd36$?*&iXi#pFM}SyCoSPiMeiaBJs{z52t_k-n@d_JNJphi#9TOtDQZYN#v5q1Ms0 z^!#=hIR<3jMFTTXPGsEnBW{SGI>>!@c|v&{+{KIzs_rmAaRBH7e+BJ@7eU`0xey8- z+iNB}u~Tw6I}bjLnI?U0^HLNU_M<}Ld=$Ti^Q}>F>yS{7-KXK3Q(l3GA%A&Xsds6z z$Sb!QOs1ss{13b?rgkj8*~5?VO0y`#1Ji#Gj5Y#gh7Vl6g0ttL-o1nQB>QU4Rb~_{ z21Yk?>LC^Fez9L-^sJ+99dg%CrUHY8GNavIC<74NtNLWyG8q#`abLhsk2xf~F6cwN zXl%JzxgFWgn~i+3VKc`%j->5Esr7VXR2UJN2?QA}>F*llzLL8LJp3+=fmg?F; z6e+R8@9ruJE6C^<&ZKgg&AXe%5GcnVH11nrOf+p71`Ji33oFx|2STQUsB*EnBgFIy z{E{zj?)0?}216I-b2_h+S0b)MHy!FAExMuFy1l^^qUaU+Azsmc6xLda{Y<8jUu_vw zseosiBwE1nC^}$wr-+;PbTMBbMM-5{)vwyt?OwsJrG$cKt*bZ~(xv-)kg%d4C|_RN z*`bJwOd8cM2>r2JezG6py)IjJ-;IfjB*($ToI-7yy)8a`4rY|H1YHXirl}2Pa;HCQ zv<6u^kG!s+_BX9fx=i_Z5A*0fH23LL*E@7^9;ScOOHzh4 z4DPQV-kaWOjoO|_nqx7-xJO?*(Qe<-L zjwEK*r>bM&W;UbE+us@=#&g+U80)Mka~P?vD9V}RIKtEbw=VcU_{x27Aiy^1e`8E0 z>KrJ6F;5q~;_a{tTbJRSp6oS#_qSdi&iMw1ct@i9a{lMu>**&JNuAw!2-aG*S6xYE zKPoJ761i=gVbT$wkMl0+&Cb4A%FZjWI*EC;PilBpdT;)@GCL3Dh4uZts@Om{KB0G0 zVBk<^#}}@yL~gj_FJS)2B|CCgqbDk%t}EYr%k!7`T?&e3kOI*%Yw;{}T7DeVw3ba*`72x1p*`#z}<> zp_ZrH^_Uz|p^|JImhjne+U#{>{@mXboz@JFvLHbw7jQ1{7V+3)nhZM*qw-5FW6poI z67Ry?u&9S2)=Z$Tdj4#5mpU>B+6PO1c=&p#)cV+~AIiacI98#aP0IPCJ!KpU9A_uH zw94(KFT}CZcikiwn03=VpZo${R&w>~6vUg%eHow9d{UBd-&=fy)b+Xw1|3B;rPi7| z;7dLOxfSe^3KHUvvy~(u{ricM@9nRK4tpMBoSG|V{eb?SE2e~|rhr~4^k&Mte)JNo z++EBVi|e9zHCARl>g@h|)%sM(?YklubWnm72XL>DVT?MHx`I_}^^xSKpSY#nU3SOR zk*8#2WQ!BbOD+?lXUUF=&wqPV;y`kq3`~KFN-?+3Ef(!~{f%lMRq8n2pBI5C7zT86 zgo3Y#)uZlrk-B&ZUPWF$qN3i%yM#cO00{mPGC0WPd(SIOU8{9SE1i8fB*Vb!bQj&2L)!QO}I$Rj~3IchU_S1 zEr>Ct&y@wP8iKiWH1;=7JMviCRQ({Ks6K^LT_VP^hN&rE+HI~NpRgDAOl|cBJ?~!G zSXO_?6w8rMI8toE6GGqV?lW}`l#&6gIE3Vo1yP5r+^4mmv>l9v z>2;CK#b%q9Q%76dZ1MwVmCNMW$2{;mIN2ysL*c#$RcQx?d#QkZ;}YGd_t*%14}Nu? z2Mt7)EJv)6vWpx%C-Q1F5Fx{Rk{Ah&WttOoox-@R|y91LnV} zoaJi!``Bu<)X(#9)eI=T#!0s%pMe~7$aaD9W|lc<{~h;1E_m8xqS5TzkmuDFl6SZF z80WD#*=$o1oEY;({9BOE?Cj9|UN&8()aNe{9)9j`L5|>zm9LxpOjPAE@RrXF5!)LO ziS72Zq3;wQucfpz#3p#w;w2gyiZm+cckG8V1V{Af6&&~#Sw|>NXHeNIhxP6*AbU6y zl=7)r?prH)bww_dBH$e%4$$Zlh!7~fe+TVq!W3BU%a(^7fzy<>tD2nCh+z-&Vavn#$neb}#sg$^}6AIqIxe>`J0RU1F!4H-;@*X+CG0dAw7c&(+rfftEV z&$=}S9N3eaq>&Mu5*|$YRcs|b^x4>1-{Ox>U%0hC#1k>|bvt#!Y`z$oJ6v$XPmjFK zXUE!EQVlbM@!7*dXb5o5JuF1&}=}cYfvs2%Lwx4OgJ)99HMG0B%`@TtfkM}punGl98o^4=2 z!0)n7mZc!E32?g^#M(2p$0B0;vK6fRE4xOD-xS{&$mWN7^aA)u-_s4Q)E4e75T7!Sn8~KU9;hwDDxMbC4C# zFL*Xlb5ksaXQ0sELh%{)8K?3QbL1$$0KaBxmyocm9oWcsrx%_+c+{03$U6M_CMr+? zO$y?ZRv8b1)3)|;fA$Q1d#+cZDGp$c9kHhuqPz&-(Xc5exF-J6d-+QBbbYfl(K zQuxulmku!XAu=&{D=+_QS`m?yvIz?B!6R4z8I%mK8=l=3pli{@es+F#vHJJ6<-pMF z^zWHhThgOG)u$~w=WFWS6two^T&uczZ_Iyi$thwssu$t&-Mmy^?SH`|dnj6yIr z+Zxr9;l*6X`7dBQ8M+k{Pw*icmderOMjI+JW$j85ZYj6dE3%lg*rViY3;KZ%d*Ge^ zQ%dD1;^%FCUmzEP^O4i3?HMFt1cnpmY~$NkOrg^_MZR|_#I^PlL`3lyN;m7aiwG?{k_dJ*6F}Nmw#LR|0XJcvRnC098y%*haz*v_X(M|sQGuY<=LNSdQlgey_=dnInj<+B$362=-Htqhxm z(RWtxv4P(78omf0AMNXv01sRR(Sb%a&73m^E^b!u+RnS^V}~+;huQ4v9fh`1iS5k` zJgleJa0oDBOQOCOxnn(df4gaq5h$IQW2C#s-Qr#&HC9I=yVyM%_j6uxDxO^qC;?~t0@e{CY|Gf{e@S6RSZAsM@<8Rp8IB}N4tEUjzRMwEpI8bQmJgAV(SVa)O=W;md-Ax zwLSy`*z3?sz;G$@@>i|0lpjB$UXh7*L$kEN@WG7(oFX*8D>KW>G9ZpQJo9z*dJ2$v7T_#GxzErQCc5zkjwVRfbM#nUko$JLb$n9qvfo{#^>DTwZ)}KfjWA+O^)8J$u zuV(rWu-rt4;!Ho&<=z#o%9sM2Eq*$x&~mcE&Z5w*5Wknn&0J}kSS#~u;56;cFRZk@bgZ( zC*?GpZ~tsfrSUjEt7Cc+Crze>IxkQ z5ZMk6AApb6D{tg)a6?=nu3Wb{WVo}sDpy`v=>Wz?u!+i)$ho@qa8#|YuV<&Qs(iYE z=%TPpw9!hT6$UZ`QJ=uMFUt01EY8EtEe0?wQNtfQVmZf;C*{8_gf|YSJ>$^lwZfVg zla}?5LZV^Pg@hiDvsit{VOK-2xyH&S)~KX&#m93RZrevgVXe`C zjgI-HMn2!GjiPQlyoeAexiTEyt{bW~q$eHB)1M7=;Q;nZgbHn4eS6%BXJ;X~0(0@4 z2@E#o^KRWUAO6S>N9e0pWTuT>b5S}vQ4X5mAesI6gJYyeppn(R=5J>v-hv8wVr1^PY$axBVlLe zpq~9|-&?(g$JdXrZ|sMq#KbCAAwE#-85J13apdT@_ZgHyLYi1cUybvrwo`asR%h#5 zeCyIiQ(}ACw-dN^UC8V1W;*7)e{WLNevah}s9D^RdMr6*a%TnY$mjM<$5`mx6M5}B za(}fnjdEdBXjol=cZ83RVc-3Jke1@@Csm46dnO?!MgwFT2z4dGx2Ag1LbV@6Fe($h z^fhU{Q)bU#qGLIg$|e<$vh7=ovt+)u{L==*+RAaM+*TVJ3Mak-A#8n}9-RwfmyoQOK&%f|Rtg!0(g6D5)9AoZ#yVml zzm#Xo`_X#`L3^wDv@hf0DE2moQ(XLEy}cKc`;_ho`~7bOX-iwg;$6P0I_BF%-?Tf{ z(q+RNyRS>0L_vM4nN&Nr#G)a+>mnb(HwY12Q&1II^vJ^T&07pY zOYp?vV#vgyFDnh=)n@}q>%2+mdNP{tn)ZY4&iET^{I^A_2p{$;g|ACV8ur*oDm~9^ z>z}&XFEccT*)?;bdfz4%rS4N!p0B@t9LOp@oyIgEwNW87BhZ(LrLWCDX2q7XPpMZc zsB=$u3@+gw-SuX!(_eH}%|~bd<|8b*=sP{Kp4hR&(#LyucvkP6ssDPPg4!NM&167j z+r;EOs=@cU{j-t9hp*m`XePWnzq{cp3nCSavfJ}U-RuofCYx>UTU}?LD8_E??11EX zB0}m&E1#>*1^P%)hT;N)`FuM&CPciJ6Z%kLUuHT#zO0V&BHct zmVD^cnmEjRV=@H&;+L@_k@?OY?HDl zm^bx0f%3q;YAJNh92?d5&z%X-NhuG+KO|BpW=O@OP}*=-pBGebpc@(l)p^0Bk4_rN$O?$7;?b2qr-?D=h z+@EHlce%D*tC6R37_Y|=*Ilw9nD}&0aEMAOIdQN$Y?uZcRX%HQv5De8rSFZkwI6}1 z)$E&?dB`hb9p>-8JPk5_J26%S(EE}uW#tA?KRBfREh;KXhg+-MK6?Tfw5PX_;VB1# z;6Bj5H#3}wFypm1#*-ZruP3s2*zJ8blkd-LfQAKvRIN(2yu6~GVENo@Rs-(RmKU9B zcB-gi5R9W|oW&96nLbHhk}V)C)vV5xG|2wC%~{h@)>kNTPST#ns<)@xk80=Jf?k z{R-A1(iL$!xT!ia-(366$EP>Lv+OJaEnK}y^bNrj;$O}~BNc5M?t!?f} zpi)ma(YwLc_o|PU28%t!*Ii2<@a3Bi+JaMt-G*3yPMDBWZXyZ7^mNfvl*1 zp979mbjtDe)y?YsdtA~(?X?xQ{NeAhk*7PpSZ*1f>y3Z;?PSSCPnT(@fy#SlyI-bV zC);^7H=O_aas<+Uy2nE*hZS`EN!~rCY#J{8+lO|AaR!St({>9kkK}S75|WN;jKqjQ z1DS=u%Ia(b)H)vl#pijohv#Ju&0P*>RA{zWVU!T5&B=h?y zX0r4yr(vs)@y^WI@Whst=m=pNmG268$r4mLp1O&wc^vPyLpnww==XEAq767()(mrx zJ7e6gQ1V^8i-Iw%GNn{K+Ho&EOdC;TD@vRK(-@A&fzCx7<+^TmI)4j-hghuA? zLd3LoTKu$OUOuh%K+N~&u!6bvPY{s`Wx@Uh)G25Q5!~PHKG$OpoHvbcsTWt(w9nxX zhRtE7EAHXydCr0jf#{obTzJ-*E_>8_pMaT=T=b~o0Z>6fd+Oapoo_x4UCm?t<0g=~ z`Gs~*#r!jbEl1N&frUT{w0czRe*GJYS+vl|`SK+}Y%F;cc9uLwg+U(H=V$!tK#IBN z+DZsC_*WL!;(7e`0$((3P9m@SC11%9jJoC#yOd9Bf6e=Hd>NKU7rD@pXrm$?i)Cq* znZ``|O&MHtnfnK)?&4gi#O%4X3E|1apgfl6@d^R{=Z5XkZTOCZ<(V7(QOtC7@5W@e z4IUoN8bee6t5?SWc*!$t69U@%U|GYxhaL0>-;?Y_K`2`cL@v$%hO!o%aJbdo(Hd9% z5^=Dj-r}*Z+BLkErB?VssR;#)RuDt8fYG?IWvk&*vWlr4m@{czG^aAY*kmR}$47L{ z(KE(v2OM+m_SzOV>w6_hMsz2s%bvdA8~}#e@_C8$pa5Y2tyypew4;MJ382)UWEZh= zj%)ypmo5GK@0Xp%Iv6mhJ+Q0*YF>DtAY}^};m&tvF@?Qm{JFIB4LGrR_VamHP9T3F zn;nj)$I0O8`E^)dYO00d^abd3F3VvNCg6=nNh!{;4XkJ&x3XQPJB&1NI~ZdCE;tW3 zWkL=70V!qsP~lPH9lP0l4d?-e3-ICLtK)Ct_?xV%+osCbF;&PzAn?v(%#m7d+XkS% z`A|*{ub7}v;8twZ=oZ|mAz+1joUK(Z0_@;4Ad(pzKLOHYdQh3lRIiRt6FSnh8*a`i zji?zTeIm!ys_ob~FZYxt;@<9lMB$YE-_$6ly?y7)70Wn}^{SZvLV={Yf68YnrJa5n z*dOG%^KB=-P5+#3G&iu`{syabxSl%7@TB?{Q<<3M&YqDT9$?aT-@6b0Immd0q=g=Y z9iv{(oiE8Lm@B~TXtHlcpya))tIt$d|KjfOUkTN=qqkclZ>_Pz z({q{({02vVG+tc&>^jX36m7Q-2RwxhyN~feJaf*RPdIsUS6%3uwe=5-Hu591z6@UV zj8HLw6u22c{pLI_pDQdP!&(L z5EH>O8}4f6y`+;S)60GS*H{^I%9G|xE^Ne8b%MU{#dex~OX=|JjVTX<#V>GwRLnS*S4wtAOqLu zCRLRSq8IJxSnymIV4aoNKDRRPeV=H!6-m5Cd{=fe++x?ReI)h*eaoHS6gD8ggs8v3 z$Pe}os9WIz(Ma4|P*9Ld(>(5Z=}kfl}mAC zPR8<+0)-#yj^B%Atw2t#;pJ$-(u1NOb2opk=|TU%2g(F)P_dwUxoxSF=6Xnqg zX4K!lJ&jqA$;lyr_^cin8_;ROX0f0@GCCSknY03jeeIIZ<1uj(KHa)jd29|~snbG2 zFF!tsPl1+d*IE9o?(*Rh%YW@4s4FE{&EG`_}1hR@YYi=sU_u zSGw@ExA1S}45eRe|I&>gm9(=nGZK(o#9=kNx7A+IBYL`TY zGsg@oHNb`YUZBc^Q!U18Ds{o1(0h80n-D=rO!jO2of$lazZ9Y|oD<93M-iC;(CEWv zHFjJJ7O5)iiW@#0pr@+r0MSv>{jV+V2cwvZon}d;oM*kRzzjYICq6T8bb76m9xea1 z7Ei}G{=xShQi#EiNve?arn8IjtPMK7RD&ENi8N{uId= zm4Hv4K{E}LI`Df0_ooz36T5hy5t5ncjnGbf2%r)ywwtENX@z_4 zW9yW`S6PMYhak4ILbY4JffB$u=tsae+n*c1@$%J)_$0FknY%}3rz+744Jz7!33!og zCY5l?(Q<`!eerka-6FJPx2FRK?SK({a?fJK>_N_+%h1*p4y2~09ptoNdtN*Dt|+vy-5-Q6H{uCYYn)*X5n`=EwL3glXRCZUjo+`!{nZE z*snpFsaaMr#Rj~kud=Gve|8c9dM~p(0+Bfl#t5>;&##Zfl8{z7+?Zw6xVbbXzL*Om zs`JAm#Nz#y@T0o)UZma6ucwO4&&&WGBwy*;tMo}s-FK$#9;q}$vG=&J<}lC#pzU`WoPV+!t}?4V_BCW6^jLjX z%#6?kfq7^iX~JDlFEp(|CAFBBamUBUgK$Tblc=BWO2sLS66fF_Ke8$gn~w&Ht%RVp z0E{Kx;48II{H(^QH8r5!CCoL(REKEtBUdAju~1VF(z9^|f2W;=J@M|fvMF-!+~)h# z)c^27N$`BoDa)n2go`j&fyE>arA1O+n!Tk?=$6QJv0Fp*uFlVkgRv1P0>v-w<_7%@ zHb(ej9NYdLhR>_ETrawAd4bHyh@ul zHR{Ex5mHqK*nR(VWIaNoX5awv5{OC^`~8&3nOtvjZR_xtl<_j`K~GL?vV)Q_ zp2iy&FV@U+7#WYI3+J)pJgOjQFl=bo#E`qmCHa6^Wb6-s2K@bLp?!0C*eUs<;?VZe zSY-rYB|oO7LYJIt-)#>ou#SiqYPe#c(T*Z?Ybz1-)=k1eefKnsC${AXQhuQ+VPM{i6`Cru_vBP0 z+fLs+zwh&&|HD_6c>0Z?WmYkPIcj3zi&Y!$zo@RnH>U-G+}fIQ$Vg3X(zNkv9O~;6 z6HBe2U!@>WZPQ&{U^#l}<$be$c_6DmfaMEpexN)Qn052k-GA}o1z=rz>`~TEPJ}w3 znOej=r+5Q+w?ti;k*I}wn<-EH!Jp=eM1?QFIirYyT+gpiNLVw#K$ZT6~;hEZvTfIAW1JYwuZ8r2`t&_ zq47NSse1n48wWJh)Wi`Zk-ooP%u^31KExYrGpiS&f`Wn;_P}`&%G&sT&wNzzs1S z=37#X!s(8tN`#Ue)HlDN*YlH2N|ux~l>nC=tp zBeT){^8eIHdJjSR z?RJI=i{3Xdhi@weMW89;cl%-2u>2Oh*m#N$k03xLlv8?s*UO{S%>(hAe4jQp_47dN z1?bD7)cM2If2yFjw$18hb)&;)qz4?L@!D1)l?S?9F?PJ=Lo-O{_qvlI^Z^v}ZA z7>DPrx;SsojrlhW7aB~b_d-jf7C!r--uOOvq<4po@5C>r{~fN<&sd@ZR7vAIW0*JO8x?w$*#6-G*z+0wOP9bu4GL4otnCd?dU>1y)_s@#T!i&|*W?wMt;a-`__sLsJD0#RY<3uTKxyIbQ#|V|Whztv^cy%ITld!PK!! zBv)GkWCP{XRpo(X+tA(_dfSHP8x0O!c@U71cX;#wCrGGtQvc5TQX}sZ-=d=3Rx9mh zq*_Lz2S1M_WVYVLGz-{T*)jPLJ+L)9C;xZx`!9RgSMgPc1a(gX<`(yyW4&Sz)X)br zf|Nh(vKPCOgq~dayu7VVca9*aY<-N7;Niw3mV{tThQ{L<0fE+&W5bqnL%5h`RX!l) zw#9zZ(;l?eRN>ZA>8YK&LUD~?&2h4lnBe79!vPaPg{IiyaRP#hm*KaaOif>9JSXB zSRHEVZILJS9co#jMaowrnICgwSLW+;hszK8#+Wz|W|9RnN*lqlw|9zy9du#vu zHvxgz^sk@!pBEl7icVbna)TA@diwgFgweVLeS69T-^y}iSJ(BCrg5n27{Nn{lEaR$ z{v9FRf6wV=Yt&%mYq|L=fa~3F7IkQlW<+3BA;m%pckQ(J?~`9cgOTo{$lQ4Y+a_bU zV^8s;p~JX1`^x0eTs#A}79P@i%u89-VQx=lEeigR=A@1)5zT%a;t=um|8O6I@(#+O%u zK6z^cYdDNWSwX$nLIpbg6>aBKCcq|sI+XE|o>sCLlIQC#WEFrR?7x{>&XZIuVr84wgM#yE>cbN+T|$?*iYQAI`}|U=-M-5L=UcCF_P`^Ls4mkkIJePJ5;C%Vnx8`2cmdNc z7aXTS9#o}h#MLToP0U9U>WydHtF?Bk+-?XUG#!@KKJx4xY&WjjPd6(|dY%3~D^zaQ z86H+?Cl^qTAV1s|MbL0Pehz9q-uBL#`Xd>t)en86?8(x8Lj#X zazQToLs&-NT=tER$}-`^PS1Y>m96{#l0l#aP?XM_qZx|`iI4gF1R?d|j}_(CZjSZ`o~L&d!6Jfl zJ3_lR$&8qS*Z%qKs_V%Bfz+i%a9dHHr`#wlvtPcI(3yH>vc3^!(n3Enh!@$T2?}Xs zg665ExboGj-{DXTpE2@?o-8kqC@xKx%_;9;mMh!5ogz#vqTbFtRTq~@zoXy>3R4C=O~Sx>JE zM||b?pPWvTMQaTgS>R{P^eR#ThoiqNK;>DZgLB1w6(-}J;cJU4eh9wCav-}_IMY#B zhCK49aE#%yVnb4pkueT$&EGfHsea&aC>!4cd|X;_`2IrEZL&i1PK|1*7#8uFU3B!u zq*B)N9WSCPOtw4ru=j(9CXbQ*v;J%W2e8Ev?}BdY>FMb-`}r<$*-NkLDl2-*EZjEl zjzCJ%Qb!x2R%~ig_3r3~osv>0ME9B6$ugbSZdY+psc$u0!oo0LT3WIPLF+=(K@BFA ztUjNxT<_Hz+>f_0gZXL|##Q`2SJ^tGJjPt8_v)UCs`H-weR(U6GoW@I932(lih}v0 z>h?T^lcO29aA^gMu#5~}x&W#eozj??7^s@1zB|8QvePsS_au)ai|E&{Jskk<0ijO~x1ANYmA$wJKQp?GaL+QX zwoT6>6{0xGO`E!=&-8(Qb~G55C&%*SG2Of=NAHde6-4YC?I4%c-jkEFN20GWPGz&i z@uth&a(X*X6j6-1DB!v!MjGG4pwy^2HYVCCKK{np)wywOOlA?ML7HSxxirt_!73^MHMk_z0D`h7V4;T9P3j#uD6Q1bN=Q1&E4=Vz%%*xpPAre*tBm{m#DqH7*mOcIcWP-#e~gNYu70bv>Jk&T0M7{A zIn8R1+nqazgY!zaFs~Wm4CCV|_idW>{Ym*Afvj{_fi|)`TByINJ0X>b#J2zYtrIZo zo(M_D?TpxI6d31L;auPF^ZS~%p%*X3E-%i{f7B8vH`|I_-w<+<09Q@Z-n>1#1Fk5X z!0gt1w^>iIw%JT(DcOC)Owd_O1B!UM^5(cf{`u3jb~y>KZ#{hYf!BV2u5^r9=wd4F*i0&h1QQ8aFmun9UjW0 zoAx$)?`&pnfQiv5Lc$E2gm)eOvpw@1YE`;nBJO+seO3dh#LW@D-5vGPG51Y2h@&6u z5rQHHm-y@)Vk(tIt0dJaPhZ@=C`YuDy3G0~sv?lQ7yO7wC@3h5#HSNM<|3ynSrUrj z+>s&Ef`ScTUh*Q_Zexlej6qZ30_i2RfLqUOBnV%n!|qY>eOLVFtP>O(`hq$m`HTCH zSTg))H@CKK{s~Uj!d<4l$Dstx=vi3_rY%7_d*EHHoFc<4-ZkQKHk4bI62ZN}M8Y`5 zqOPtE`=^37f`?yxx;yzO8+fPbva9jU@d7bz|6`oW7# zuvTIMf@g1rx;k{PaQ2@eBI@cgXxWA+s~046dGs4^%E}VA?OH_V8FlPDX2T-wW|`&s zGF9*Ims?HA7rgIEkFo7c@by43I*d{E@tA0U>D=d^Wc@IMLx5E?~fqC=&X6-b>DF54GlU2CjQ<5TB_i1?S&Pv>NJF~yOmvu zxqW+^*9t5S0%$O-;-Dkj$$eYY1jHc8*quKdKYn6+7QN^IHV1ZbVCsIJluJV!vG=wL zJHw<|2R7*+dtrk}D5(VvH^wsnpcekg?mB08Eua zRfSIFb6QDnh7YOmKwHvIU#d*m2lDzI46# zy_DR1dwpYuwXr_k%6olMWD%WlL}SvSdoyXOEku1xRNLZlwURfA7csM{!uvZYapo(z z=Dr#>%O!DT)A=V?j(a`p-P-Q%C-|e)`^&w3^Cs0ata*cRCN0T(N$A|4V{KEfAH2&e zE>;922Y>(1o%RGRuXF|>ncm<8!SD;`f4}u1`)zpZQ1R+ZXe-c}zxVqe2oebrl71(B z@NxzD|L3GLzvxdgTj6J}I-YC)m)NP}p0ClW?T9x=3oe+eK?;%oPnqeT^Zb8GqyD#K zSWLJpQ9J<*TGe@fU(U7YTX1R&Q=vyTr!*>4*$pI)Qg-l5PxUIBKlz?=ULB{|j1^Id ztNbw))^w=vHuYJB-&LJLF(}6B(Mn$F$5od1RBMl4Tj}WRl!tvPi6`Ia8&ivpRSskf zRZ12A{FWfV$5KIJNtM@+`*nm0n{@Ppu|xjS9E&<4s#K_MH}z4yAH!1I6PvKZ+l@{y1Q?;uSefEy92wN=~%`5S&V8$NrVr{rqZ^l z@+6Im8*)U^qe{^9=ta4{H^r}mSCpnJXMIYNyjthd8p9{4eU2*G)?i$=$OgY~0J*8D zo=!7wdymn5?UBng=nc2C0V9{xFY!Do9a&waR;C{e7VH;u?s`@tVymZNJ*07kCd{3* zDsr~NxAiP@T5>#gQ_epl&yv`xq$$v9mrw-VDL!PMVx$viuQ+&hPDV8Zd5({sv}=$a zS#5RmS7QCy4@A-MjoZ*5Q2_g;N@2QkSk0K0)9R>Onn%8V6Y9r0h#NOIH%oXCyH#7G z`J7g|rdCttU?7*-PN(mcK;)8{<-+vOAQlJCyr#o)U+p2kVzM82?L`ajB^H}6FBMn} z??h16LP7$TdEMF7j!e`Oost+#dco1>tg9@CPa;?}^B^%rB_t%kMeG4qzH*W+Ed{8m z3t>q9zMcwuF}<0)H|WuYuZ)$`Tdm$^V5dZRDM!q+$L&e79bBtp;^5kU>{D{P+h3AB z{6MZ#s92(Nz_0Fxn0zq1CJ&3=b|6Xqi%<4Ub9>8V=fXZwG8j%`I)CWP?}^ zXcT*_SQe>;iPT|ju*xOGtg7?ADSj4G?@uExgyU2`LAaxcbKmQ!5awu$7r=!1IYHkL z;$U>{XvAX!qlmgs`Rgvf{QNmaEl(ee1tn9+?x)jAPF%C{BJ0hVf0Kg-AK>h!5V}Sf zq2T(5lSM#%oO*DwHimX)K#jDeC=7?3=+_C#eJ&s@YeF63pcZxRSvb+foHJ&~qmb}` zV_($oTE&lqU#OV?iSuk=1f+sHcXMQ?DiSS_0z#7}GnqWDYapIvp;l;~4Y(ybvNBhf|D2Up_6WJsq7}GFgZYsr=qg^x1>eDM)atNX2gk=94w9&iFipd3K_A99< zTA!A_b{TrCtm)A!&u9Uo_^-9K({6{U?1uJS{b)X;Ru6av@W+)27`iwA+io60{uH}(yN?ENV@Sj7APSu-k1 zbwBB~YR|StDFV&4xBL_lKHY__WazU^2rxlu#q)A=r?u7u28V_gh6?|t5M0U% z%Xqf9m?Jt@=`euOn<7r_oZeOtuORXr@uXW zB989f02*Z3HN%YJuYQ!O&t~l_4~$h+NhqCj)sNqSv`xvGHDLORuqk@y1L0+&?82r z)S%Znr_3hbNe^xJujp6LfYpMc?@Y&-tNCCaiCWR&wv^AaGzIZ)WX#8)phaGng;0=( z!=d$-$0{?}2ZqhMrl=C>G0(xgdJ3Z3Ox5wuI>`w8x$iH4oz5o1$7E)9o|0eg)W&Q` zjSfVYMx4;x34F);8wt)ftmi4%8xJd73)AtlyFTDX4lu1!!8c*?+Zk;;m(sk|45wAC zh3$2E#+mt#eOc-z+Y9$ids1Jq>oQY1Ea=uG^%Q zKP zdIoT((m|_Jtxz`&0FodqHQr&A~Tq85Q46*4xkeH=!VfXvO)79wSdp~9r&vD@XMSL zf>;_oFq@qW8ypx&wT$CMB?1mr$5idSj>3N^DCqC`Ci96Dy;G-8nE>wzl?eG=ommW2 z-=KK+3}`gb9NZq`zt)c*%L)a?7ke{RM`O2Kx9&VXcI;R*Zg_RSz)EO&94QA9z{*wb z5ZRu;(bvzXI>KqVlRbEd;zZU^7n=7z`}y6 zU6%@q@mcBz@Ha{CphpxsEIK+Y?gUFju!Jr3W52xeB>L+wsRDjDI@C|3c5FhPtWRjU z?yh|V!*3dK^&)e{>1L9UtfP2=@(hsdAIfux5nSY!^YFl#4j1|Jyf_MVt9iY#z1r3u_PtDRY?+QQX?go@@m=*7st!2e zzT3o2>6@ISd1aC)ze1sq+zrtg*FJ5kppOp+2k0+E83^cD9Ik8HHV-&{$`sV1S-hpL zpV`SbDBCHQ_%746Jz~4@342l89Z$2d2h$=QLwRJMpY@HChbm{}vJVJFz0o(I&EUGM zf8V$=b3ZE_UPUFS=QTvA1p!)dmH`&h6NFp+P<6b&w0V(Hqeqg2QCYdyw6Flw@uy+w zOb|uf$cd}b`TpTntx`|^oAmz71l>AGGuY7d4GfZ4-w`X0Rk&OtUrjrbPG`}|lR|CD zK71KKz8zenBUfIOHQB?eocCrQvzXBkNM*KrO*>tpH=1!l^)UsnLucvctiw#}IMH9{ zl*)4JI8_P@sS%IlZ zJ1LNx@$Gk-1Yq$$gDRBuTFSDhCU285rztS1 zh=_`+XpT=S^Htc=~Ke_IRhZwS!LD=h2=Hg_vtH82T9 zD;YW5lcA!5ysHHyr&?C2Pdf9cbCrip_Sr z$)S9woB#^GYzVB3hl`ds1Z|Z-%Ng;}PSWS)%ZJi9oY%?A_8p9F6iOLtb^IqZP~b?D z4*IT8_;j1E8h4@h9b;8gyG$q5Rb(*?McQ<5qBs8eS~y*$xX7;_+0Bc?;UEF^wH&Kp zphD~ITlQQBU2({AXW!O?IY5L&7^BIU(F5O@7@($QZr{Mgy>MS$(QJ$2kUe(n6%lcD z60>^oJjg+qcGEe&76+XyC2$Fljz08+xq5|+EE!DUOk2V&K)(D{s9#RptauxyFF(?~ zuW?QlGk(IvT;IL8LaO1CSkKUd#`H~A_PCMkRGUJ5-csrM0L7$&BKA1Gn@{5Dk8<=` zsk^c2>=i1HQ2KY}WRf?}(9}^0p-hgbg^#+P$&Yh~f3$WWJ*y&HWCy|m3>kFVjE0jm z!hz{@-EV8zccST&^0CDVuA+6VM@pTS7aFgS+|oNh>kePdU`-NFnOluv-1nmM;VD#f zT^kSAL|**<(l`$vFqZxV`%D^W;B=4|gEA9jg57&(ui1mQ+va+qnO;aLT$%TqCqTk= z)BxrZ@VU$Y!GKtx0z#=my#|)vjPd8_tz`_lU5J|cYixCFPn5yvF09rhmN6T?me3Mh8=9I z_ZOFzGG&G4vs5{d-F~Fq_pKiaMM!RP zys@ciz0`)^gPer>-RFCQ!^4$725F=pi*N+)z40oj4P9syLezQB4?p6B&f&PN+59l z@K#g1`04(E<;&-V&6@3N)RW&ItS^vBaD~qwKB^q0YJO3G-j)LN8=&oa6b z+}J797&Qeh#`GYlXMS9Y%GO5BYnA9e3kbcX=g81f&VJn=m6d;vs|eLZ6Ebc%Z}T*- zE_~>p<$6=!JC>Bguz~69+43|8*`1|SrQFA;ef28c-VhH-q5QG#r*qv;R~0j!<;d&n zCu*=8C_p)RvW~}0=CBe;1x2Fa;-iC<6hnbQ*%By}+1lEoXaKa6#3#s=ZWwJ-v_A|( zNfg`)3$3walkR$a_5h1)w|0(>6);2KvF7S__&@?*_a%m`V}0l9GE5O5JQ#nA7*93p zr`(?mq?HJv^DjMwewzKv@rTT+Wl~`7q3nIB?!M*H9fOwW?djJXQ7HS?HQR)Wk~b3) zB1bWPlIOikf#WrYUr7ejEn-DM07z*hBa)l~jn+U?b~9DYoEd}#6UuP(fPCPWrQsq9 z)}Aq%kk_7`lbR9XSwjmUvO*zR(`NJ+)0W31h`Kv_*+VUFiL+m|`Vg6raXHh-y74ZL zet52o(B>0)c~s{eVNuC`*5;sI&38^rcV?z!<~vW2E^#zPmcOyLL>}Un;tVozxqi}B zp}8Vdq~s&|c@hV<^dWR{S4c?RST0!loOwWs(KsR76vP%x%p0kzPsB^>X~$JZuFl$B zie-1)SME!YZA@>;u`wd5HUMD%A<^gD+~6#WCHmW-c}rtv#>B(JGY>>|qQ9hez5JnV zMO^thYby{dAg0?Mn7XQmk?hXBy!*2j)8d#wR8cQIM})I(LJ+vl|rrH(PIeX7&r8( zx>HbmkKCAPp5oz|uymW^*5)|A2q=BBz^L#pk`BF9*WGvq;y9(FW1c<8FCY2^*`Vxj zih_5EVs*DIhTCDii?%maYdL8jgAq!C+$9^noi;{0*}`TLXs`cd$V4sKVjXF@6EGz*$a)oVcmb=#{L* z_ktA~B02l0tdP*GASol9#OL^V$M;gjuSxRP-8OH#uItn}H)MY{F0+1q8Y7_)&DrIt z&K@_+`XnkmH{arN1@e{{MNJz5q*$CX$=5XepvIPbm@tUrAu`&u%tt91v zlDlndPZ#Ztk3QlniU9vkHpqT++eQ0fPkppa@@bCc$>)*rtoZ=DH!VZJwL<-QTX6*_ zQ|NP&^%jUP`AxZOUahbnXL?rO{@QXR^%eATWL~26Sp)!5tz<4RV&%rK;ZPBkt%Vge zXsNP_pFUVAKNSklqn!)5@AOs#H!(QAWfL!RWPW<_V&Ilm4JH&?Ja`^F zpiwtJdky;$z`zVBn%UYkCBl3)Zv63RsLUZITdQ*aG2+yzQ%qLz1GIY3gdJ(lR@DUW zVBq89gOUzs%|?Q#yHb)wQUuxU2M?ada9Q*P)tmr`-JrBYU!j}Mzc<-I65w?)P*R^M zJ4H050_C|zW6tK5jL3JyRLR#B{eUVRYJ7C;)vM;H+g_QOnW1cx)#Dhbz3@6Nl|a0c z1d!`DQc+ZFY;4abVGbw&FgmShEMRR|!|tj+Mjl?|tC>&}dk<|TIXLWoy5%S@?B6OM zAFtq{fW5+vivA0zn_KDjd{67?ZYNIONQ|62nGqF`9e&G-fs{Xf31c26Qm?z+O0{zj z#*xZxgjj^&2^>jXeH$tn=i(5?(gYk-rQ(P+Lq`cJ~cSE7kg_P(S z`>K3q<6jIGybO#k7=Ib*OlGJoR-A!6JGlzI(+N;dp&KUN+0EL1W#AFYes6?V0W~QO${G$y?Zy@2mNVt)!G8+eR8#aGq9qOBJcOGzj_ zBt-)${W%n^p|@o}Rgzvho>S}Dvu9vF7H-%Uodw?}jshhI0RI^s=10V3WCFm$?Nb2y zLGayNiU-zmCYf2ixq5De#$!^DPY+eN_|CM(9eqV)jenMhhLG=Fw7v!IdlJl=Mf|F| z?jg!q3aa>YP)SMY^)$53DKGXhqxlxMUEotW5MDbh4haKz1Sec&*dCjOIGA9mahqAq z&+7G~mb)AvKOsFgPiGhe9fa_7;P707NxwF{P}9M_{i zDIk6F2-&$<-;_Ssuh2`W@Qs3jUyL>HrpwldtiJN3o~pyHJUf{IuhT=eYDZ3bW9bOQ zl}gh@zqabITasX5L7~)>vz#P)wCOY=O03^&7JTkP)RoC<&CX3hZvl_lcYf!+#2xlq zenbkh&0<>Yt=G>!#Tc?pwQ1j*zUE8#l73^RiFq|aRBQfvl0+z!mXOt5Y*0ooM6R;% z@bWG|xk#8}KG6)YMOTC8luZXZryAyS6@Pixz+` zj*HD`R&+9UBV=UstZ8?0+rm&~1WlTO?@TnmNd<)KoYM{HLi0TdP0(SNk&#&#N%O>~ zqmWMFbIda=EgDcU!tyQ~jaDJlERuldU9^ZP@uynz;4O}b{=Hw)BX6WX(_+mOzVHCdbTwXo?ptr&sHdL_f99QoMAaH zFj;H@C}sGTJ~A}D*K~elZPWgXBaxBvhQr$4w%>ZkNhaf*U?#iAg|1Jx* zUVWid$N;+v-M7S`R(NB3Zg5yPw{j)k$?9j@q}E!cO8oF0`K3Ccr(YF12!hU8j#p(_ z3J8LR`crf2B0JILJu@$^%%kquEzL6XQl5DxaX=FHxAJkWTXVsJR9sJSRf0p6X5hL$ z!svu~jZads`@}xn;r{;qctoX^5M$ckp2fQ|nRN^+)C~(!Z@vopDP{suX0-}vJZxJC zD05rYs^EgA=I@86&N@IzaJnNx76d=~7w((&RtTFxot(910N9&Kr3yQR?umhAppul7U(%C*DlJWZN%6r~auyXj#IVm7_LeuxShmfv64b{C zzI@Hh$^r*@1_aQTXy!4b`F{}bvFCWa&?**~4c!w$S0m8}`}+b;-e$ix3HYA^2SB1P zxu1!Ny~lIo02HVnKKPfX`;z+%+_x_`K;jqM9M6%HRQvD8Zq{AL?~cD8Kc?|H*1wPc zg~0pYvD8;54uIE_cpQejt052OA}(WgRQ;iZOTy)95WZ6E%Um^v#NNA)K`}Yh)qXLZ zMbjiM4&0p_q~5P3-;L82o=RnMl1 z_Jw|+a4J=44C=3z1Nlv@%=s0FmC}eq+9n^*Uy2^Azvbx(#W5|@5f?kdbm_%#)+_1? z`pu!@Cf&&h%Suz_jMRs(4#ih64nGzaK5?3KKmP-=68!N0p9Ig4$|LYX29}XH05g(1 zRoZQ% z5H4xOfiJ0y7NlZAR#o`;1oZVXsT4Ynp0*e*(ga*s4z4B;xek!B--p!35eJ1MXRn5K z8V3P463>PMp4esoeAVvybcIsX##9qNelY9TE-!SiOON2iywS~2&VL757a0(pFh1Cg z#%Ywxpgp?O<9MCAdyzP{{>8pRUuYyt!jG4b)Kk5(hKp-4&ZdF$t*E=Yd| zPzZwg2kjKxB48sLPdE4SI?sJBmC26f>CM(Ob8)>AR%09**kQx`yhIG@a5KDcrSTw{ zkBjS_IDh{DN_+)2s7c>7&5Y>ZK}~S;nGf^!A#gTbt&d*ei?lRZs^wZ>C;MKdqqF8w zaBv_ec-uNGj7Y;^>1+(vj%vY|xy@?&d-f7m77hjpmWPoKOYP{ZT60A^Kk>TuhzhuF zcb2S&gfi%fNMGj`nFrIK&mQ^7{=LB0%F-wlp>mwd1YTyUO~PpiVKnnJyi)KeH&|0H z0N`2XxS9l!jtY3zPxdkaS&Q3pL~b_Fb*=%8l*dEv0R5p7=d0V~dKU^w$gU={>CvZ} zZV&ChXztk9U`(EAi-xx*r@ORp;qgD9bc$REI9g%V_*4=B5_E|x0uOhzwuf>=wg4XZ^54~s1l3?VaXf9vMo)BpC9a%oy;lr@+xttv zdF>&9lo25zAzL)-g8zlI2@a9nHJ)D6^FM<#`~T3@oMV!nPZUFz3P5B2-X3ICS13rb zfUr=P=5)|b0eGG!>I%Rl(7a5GdA-WuwquT>0eK#ZZJuP{4LSe=4k{)Z)g6&xb0vZe z0T34p;p?_Qnl$?!)M0=UZ;R#<|Lg&%>2__PkO}n8;j6F|d`|NzY27_Q;wJTPaw;uz zIuP5OVf_`Wz*3Co`L0%X_^ALv-cGI3FbluMBMvSYLt#68?a`jmPTW8AOoyq|KrkRk z!5XlQ?mz7G}Q9s@nL=c>m2aC+(#t>uc4VIA^-FRvh-269Y+4c zaA>j5e&R(;f9Veq_2soNYDob|4%4Kf6d1LuGWWMuNK-N`I787&|8*42T^cpEA|KLmJ%v_m)~=JhD>X<^pN zdjl4R89i<~o}IPOo0cVr-f^3MfWFZE5BqU4=|Ix2W^H_!&OmzvOmWk#s$VfqY014M zDg{=`6Cs(XOqfN+Fl@vrp^H$Cf)}yX$_toU_rUt)%UOE&u3x!at5x-T(fE=P3KzdW zQ&kgKroK-6oSaI4X{vy+kalV{9+jBQuI9uRlP>gCMvNhfUyixZOQMF7i*w}x4Q}Z; zQmV-NLs(?J(%}m%>n{HrAJesSWb(G7{m={HA+;77IF|DA4_MT5cAVlLy$27`lx;wV6*vtgwE zAI82rs;TS?SI1FD8D%VhQY{qeBE72!2uLUNqSAYpPMlFhsS)2UNN8=fX0o# zAX0W^EuD0Jm*YMlA9~LUGR%}cKS?aG1b~2}SnKL6bwT@w8R$CRqDHU$c~2wXg9i@` zfkBNTxz#2KJKhTZ{W>Kjf4xankXX~`IzVeu=LWgL5doP|rlF(=*uxnJ!9)%U+6D#; zKz5)VjjnKnLH5=yErsYQC_3baTr+3 zmrI(wh=BlTVT$zi)B~Xyuq(3zpB^mii9}c66*n^u98vU}^}!i-mvL;YOn|Q^5iJjD zuZJ?fjDx!k0tn!koW<3qIJj{sz!lrHR;wn7LNjR(${&G@0eW8Zwxzv&G4S?5DtyQl zh64yHP({nO=?Y%~Nc< z5TA6Xz#5PCuVer`Yf^kpL|EA1`)6MOUejzI>x}B3>CmgP-Jnff-2xpH7EE`IkISS^ zocL<}ExG9i!v_>QcyN6?(Hy{4%maCp32ugb0JQ>}K?b~OZzVSTBr9ZGs%|D=^BXr) z_Wu`j@G=Od1c11zTz=1fsTZC%gBn{M2Z!UiRsV&2p77pyzl(VP`}L*R+lnuQozXe~ z0uBK!^Y#za>{?31{{tQ5lA9cUNZGK{^AC%_D{0bP{V-5DB=X!3A^1KdU?}n99jGz8 zct+*y(+5Ap@N(?rv$Cp|)M^jUQT5Fv4+}4@@LEQ^EBDan49QLVcV=?z%vbPHdV}Ul zFhpBUQdH#THy1tR5)&_zVaT%<{uAG2J7NT~f&aq8bPS;U&O7_`USc#V@5o@W&fg+u z=C6tqR-ls5H00B+2r=P!T;5E^ZOIR)B%1OCkuH`m}aCL^O-7>$eIIZ_YRW8LT0Cp%kFgk38!>RLW15U;P<7IW8vP z+fdEL`V-*s#!!gwHC~fi7NYlVVgv2FR;{0F@g5H;cZwBnQfIR&<=I3(jKrhsnw@(N zQ7{X~h2xt5e}A{sIp0{Ey-*s;6;WG=9!!YLG@CB>?Uo1{NSbKJ|0b5rk%y>{SZqSt9-}P1s9$-ly`a)*XBQ-#XJ#Nz zfGw#yVRI})k7eZV87^3{Gc53$5k@JMgeOcR5D0`qm^RuiFJ z?Y4KhD@9oG!Glj+CPfyF)i0{6-CSHW0H+hIC zT<6ZQzSLPT(a9++kmY&%T(0D82=YeU;?_8K)<|>2Y0kewMra(2Pco=JRKJnQmYK6- zp}oCx7G^*4_}pmf6Yr+9);R%=hS8o0Rzd4oNp}U22Gv9ZgVw$uP8lKJ`dJ$7rj!A! z%F{3E7D+_%CUKi4$n3=38h~skR6UTxVd$V6K`kbJuKo zXWy95hVXJ5r|&dNBrs7^0Yd#fdsvgE*O+Hy-`erT3gXjZX)x%i`-Q_^XSdFf0TWqx z_lfVnq5%U-_U)8EXnFJtXaxj(ooBHXSjYCBp5f2|GfidXqQ1U=FY$mzt(54Kv6@`j zFgP#v#vGJV+We)E;)gQAZh{gj@DgUFKK}Rx#|(s)pv0T@NjFaMFPsLY3X1mz-+`8n zKaRYqMYlG%%3EVvP9Ef=Tp9(Ad(2?QejIsjzPZ{AzD)YFqloOU^J3w@{O9bwf~<%3 zWCbNyzgIj1Q@&=#>W`;!;-gM|kU{K~2@XY{SglI^IfJW|GVFhj1f|yi!GV(lMNHVx z8Mo`H1+M@3uFxB?RKuOQjet_A zoUFyhKDk2*t+qmUD5c#09Cw2*LSiwag2u4vO5`_iL+Afj1L`!_9+9 zn3`H#EIucSD-b-BnpaS8XJ&TR7N8A%T}j+Uptpq&ZuOa*=hg`KP!U80B>7C88~5U> zS=ktpj$=_TZ!c&-3YVp`FZ!2PQp77xZ)F!@SXytfc?Y?=F9@n;do~w7Q*WV@;R|ue z&RUNje-k(We$R>UI*%%lIUYla`j2QJobhF|_Mit%7Zh4uc3rgk0qJByv+z_4AvWGj z=i$S~KF#l^zXV@^JoIl&3piv;g-+P01`q&Tb4Yv2xe+xhOlN#oYuH3mt#Ymr&Rs^I zkJl?19OPggR^mVi3rQYNl;XXw24!EzqhL8s!HZNJ;l* zdFw?2zA3$1((5&_rE?ja>t_m}x*i_xIH_liw7iFExt55tFFwC!5H@d-q+|$L3#&?= zfVx0!Utfh+JLhalK$zLoz5EO1x~+!?wE$3M>A~aOD;i3>m@FS^k1{QPo;w>9yx8cj z_!!1`F&F^IQ`pA?^}4oQ4$ra_R#iO_4R3lt{UmVY!_x7{8I|xiY)wN?h_@G4-K_jf zndw&IuIl5r!wdQ8MI3o*0{}p#qoH3wK?KL@nGGj&v=U^s^L#fqSbR3kNQc2J(xmJ6 z&0z_(YQ(Oj+Xs6)J0sbVE_1|lEfX#_-#?xt1vD!w^>gNL>KPi=W99GSp+~PkF%GAh znb|AY@%nS|M)Acv1bksr`cx?Iw&sm*n%R>KJlb!Cm%U&K>hIU8k-VgSz1J+8ul_zD zlL9HPINegy>_lRhu9DKbyr$h0&`r(&MiB`%rK7}q5K#6yY-!FH#VRef7f5*p95%=M zPBh00Z{V(zmMZx-+w#*FO9X@M_jebC?a{^;=sl7^-ldQ?IeN3b7|t!pktGb4?LXFLvGF58?NJz2xOMHJ8Wza5PfihFZX65nSHz~##62pvnP_6*L`|r;9AyyRH(qpCdZ%ufh^|S5MHYF`I}w znsD9_0%IF6C_Bq8%LAUGH0c{iCN&)uzN^7;Dpg>Yeb?W$T9)gBX>_(Z02p3uek5fU z?XO&6Q;IixQE1rGypS1un7Nd~2tet2pd$(l9vP|3xt|qPP`vB6gN%-ekGJ*^^8N<+ zG(9jGnS{aeS7pq8u}*b+?8t3Wa)n{38`JFNJH<2ebRfMmIX+o2*!RDD>4_5`*BJD* zN^)@+CD@DQp=Uh`>GRe_$n`KhREorZLE=CtT#WogwVucfe7rlnye2B~yu+W>WwZkW zQLGCU0`WEz9O;Cqpmb2LDOed3lTxxr?9ttEGC?>UyqW5TnQ3G=H%V$-dm)kP>)s-n zw72p*!r^*;Rh37o?7CD?Q1C(vgR|~~XPFcPCsYG&Dn0EYmLp62O-*^c$dR)UmgC%X zV2TeUAGlhdk}6H2x}x@*5ez15Nr)ybMMnzTZyPV;(+femy&lPT_s0F3H*YGdsLK|m zlZRt3T?D&lT$hu!m9Fk9iysCWJZp;AO~TkSIo$&zyL?v5Yk95)vx6<1ol^D7zOSLcB$QGQ1~-bfY#HtwJl6hvsO*Ut=w+FvDX-E7vFZGq0KD<~a=`hQswDS8#(MZksBx zdNmxidkg0}hr}TKYUnPX3f9x>i=QKln9!Mcqs~w>=hzOU4aMbHoIZ1gka?EFwhfl9 zW9;@+QOs-HU)9eogn6&k929ovQ$Bib%6X8<3uo@(f4ou&LZAOp2LTQ36gAFt@QP`X zQ=-0(BEh2$A~i&WQ|gW4Aw&0?Q9utYJh@b9fnXMoYu4J~!a)c82LYTs2SkUtSjBcf zz}+QM4eRU>R$XbuM(pF6B_$49E4Yna8Ah8E(!L(~^VrA!6|312SZtMTsd(kMclTNw~k)}8g{wC!#>T%#7HR;-;ONLs)lXGN4=?2XF)zqa9`H`~3Q;xW}tYnU{g7y$)Rp^Ycl9oaXb8K8} zq5W_)0^|@+|N844etvaWOtqvcD0~{O!5?H46g;-HVkQf6G?9Fxx}~jOr}>bSkfMGO z6rlZpnzTG*vnafv(7mx<- zLKdsnuLfK|S1RsEV2g{3hnk>GXAVGxL({-yGoEQ%cmM>#!3*&~_J=X2{z2(Hfrd-z zJkB)dHqQu^^VL8-pmglv4Db!bwEVyTvQ1}hHrVN^JdHx)j`oXXjwU;jhF3-_6@ik~ z-@$v;n0g;xr@2aNhecmS%0dIX?Atp!guPazaIV-#LBYWbnTm&npf*_vM$5CWGi)ZQ zCL7rF7(i2pI(MvC+)eWb3ePh8>mT`VUOJdFI~oKKXoSsLjbWWzEYR<)3)vuj+RAig zYX$4vZdJ+2!J)^m3Wb0;ul;+d;CFANsC~qEvT*DCH4ch2EsRkNgA(0hX7b!^C-}l( zVYF_EzU}=VQIXC}^&o8qzgA_KGO#Z-%c~rR-;s7T6SfDhfV{R>S8D4CdIdmKjBwlH ziVRd}k_kZgsK69ur!oMe>0&wbP>$q2y8QL4rxSd%%C-_%RFp!t9_~ab&RbH(z%L{3 zSkp5d=NEflKXHq@#Jv858>)fN#I)?U=3JQ?ExO z%@~PavsVBDujlQZ0Ji2TXS@tZE)~8>F9We zJfR3z^@Emrj9jgU>nuiQ%~PFk@&xGj!MeFH4Y0LS9w8uHL+n*@@l~Gt%xZjxwxxxy>eI!-_DVluK;WR`^~yKpYs>b-}|@R zH&39d{vm_k>yAkntRHM)=3IXdI4y8iTv}j8R-yHHq#uPa9v5|TaYelWZ0-D(sdMI^ z1Sz*R?n72p>MziwL+>5LtvMo7j-xs+Te!y{rH!V*eX7o>=-eo$xFXCCpB=Bdm)Tx% zmBz(qh2mLrm+uHmL@az5{1JRPapKFC?L>Ct-Qay??pPSa)`M|iB7!nA?g}XZBSe0~ z{nFuza5u5l8GDOQWB>yu-n!iiZp& zMsJjJ_r)}#5zF7VtYCV#sC(PUIWYt1CHUO&G-j03FB#?1Fg>&^cC-EBl;7w2Y zGSf{ZE)~nfITB@JOrO_ag)F{3l|C5MDK*&mNknX}c9-%DV`S5b$yJq|^J00;f6sgW zi(K?5>V;$0N}ZS1t3X}g*f1w}z||xQOL=sQtJ$50VhRUhqM|f6k|w^qArQ*-iXg>t zhBZ#eaqkUYMy~E#``7-N#t_1|h z)L`ut-3h52GrUaFUia?-jjLBw{YayRj^=z#%1uY8&$rX5vUn)><)Ztm_3cXEA30O;ts$C(oxA7GQuvu}HMGS#RLCJTkQr$XZs96HSFd}g6Y`oo3id~(BE2Iu_ zY=F72N-L{W6`F;ya`KlFYI}qz=JYayh=b7Ifi9p8!Xv&5oI0~PEJrO%K+EhL>=|x$ z#WU}9N)i(aR^PfD%%v3yJA$2`QlISvzwrBS8UUoy-#-vZu(qC?u0_-pnN*BAdX8%z zuY`{io147DgleW~Bhyk@Eh>*j5Pe_-3dNDX%{0ZQt(RICoTKpe?|HO%2Z~2{b zv8+Kkw9H<8bd<$zjv}v|#rgG^fH0e|lc%&G*kLjAATLPwHs4txH=)lOCqTp?04|PaGik z<~|5dNwI>@#+$y#WloY(0!5;6te{NCPbCVr%KMYDfxX2!X#;~=$aY;0fjJ8_8Q^v{UKDRUUWF-l9-8o3 zUU(bB8k7yXal88}_zjt}i zrj|?Gw%EweZCw`#0X^(T9_aSzw%n}130O{uqdbVzX#M?hkl0kj`FXh86Z^6ofV*>{ z?UFv+s}>@hUV>zKtb}p#zwTV9HeVO7E!kuLD>Juv*xZC}A@h@;+6z`HwGo zTGw$^RUZLlb&UhBfP`AK9OdadOng>HxJ=~#q_;Js8_q0+O$ImpR8gtUHNw4@u9 zOUGRkW0@vRk(VDwq-(7)m$)zhMMN1}fcxrj0*o9s?PsWEPd`Fl4W!LCLb=19f)Y+qZUJW8MMhh(9tQm;+0B843{WOp9}il*U% z9bC3E%D}+}FlGMlkmCIeDNVJme$Ptd#3ckKwuOlz&gagZ0|3@CBQhB@I|j=3CTJr2 zzhgCT!)T;RlusjKor`V7BGFp?Z%YRj9bF2-lr`H$U}I2I5oG;=nHj$t;9JYe>8*|8 z0)gRys=p=8XJs$mqj|=B3GmzzVZ;)XVde4!! zuLugDONRiGSZ`}(sCd>sv^fj#Ab=*77n1hI9U`aavH3MlwG$Fx@!PMziX5z>W)acR zi$rRHPAh}JtJ-QwcD7Z~s!+Uld^dM%jb4hJ9id6lF55DQrTiFJIQLH_0?oo}Qr|g$ zjb3c^D#bzpmWHD$_B7Zj6I2uyafy{6MSq53r)#Hs8}FzlmBhs8$ZZ_Q{gRlASr-?g z&K}AN^vsKK{0gkm-ur;TDFY;Ct})3`Hlz43X2=HO%S7+iaKyk@EK$qX_YJG<|E2st zR{b;3mw7gC&0!A2icC z#P9hj{bshd3&QgFSE!@Iv#KfHl^{?u;~{~JJN6)YH@6tC70L3@%IDDDDIc`-NV!5u zc&xs!t*~WG-obKI_?b$9tDAGg;FI|xKi7v%u{e%5Ha2z{ZECEQ)epPO z#`@KM5$&kBFMera0tB)Un53ZB-<~7dAzf<6fIye~k34hxgB6uv%33Kv<4?x+{3q52 z_qQ^qBpsxtR~l9ZlVlHj!>2e3Dk_v=7Qos-hlzUZ;JoJ3{5X8rf`{y4JGOR$42qjc zHF(Jw6$DfbVO&vLG=@3eGdRj7Tw^g;uVj4ueBN=?ehVW$edXYZ@ZYyr*(0H?7mm!! zo99-FjfMEG)X@pqqZ>>+%ArsSYHtzEeC>}6P`RHAY_g%Aw(d4pdv{2KMJ1Ndn0@V^ zXW}whuIv{6E}C_(tP5iLpnO;cJNu!1=DajW!wsb$ZJ#(ny}GppdGPE{Bfn>wQH&@Q zxcz zGP$Q&y0ss>d5DYXcDWz`~3OlcxR1e4K^k{9Zr|ulm(<5 zK6|`)giIVAhLoAn4`EeXkq@({Qe6JlIu7HF@_Hr#rD*{qP7|M*8CXtEj)jTm76Me} zR4U5)eQHg&0k1*3WS}u9T7&t(_@7IDe7CrC@}}~3C8t!W{^AA~5cAKO6fv&?rvICC z&xk&O;~!rwxKXF$@*<42(8lr4K3BEJz|zS$nJPHBB!M;Ii>E}Isy02~*2hcoJ_JYkouI-1jcIrKDErc?~mP;9wWcZsO-$Z(*)xx z9W#Co)>qsR$RxSkDkv*MgOyc3gT?}&p9_^v1<@2cTA1ecxxGN#1wjNnm z=qPeqVNf{>kl8Q()py@(Q?c!e*oN0_@Ek2}QCiC5RR9BQm@g?szC4^oa zTVAZ;3T_Cv@b^cS_M?vSzj`hLPycxOU9b1GmklycP#p9jg|uaRA&MW(rWqAQ^8R#I zVlJg}i^L!p7IAEq-A9hH%14C8v+lv$b!~$><{xuN{r!y~dHIl#u)$N&EdA=Tyu$xF z^jjkJW*PS|zj9|3Jmel;bHKNJq$o-;&6wEOg|M4nejbdiRdkBEp%RSiC^`3D+A{Wz z3($+l$II*&eFo3kson1YQ7P8$2#a_n`?E54(YgFf3C1rlrGzhDE3i{Q;^N_7Kk4h2 z+4q((`V>0`-UcybwwDrR2Lg0_@e_=FZ250&6p6p>#p)1tXih7%e!2;S`^R~)k_gQg zG-2WKtm1Ub5GBf;i~ahuu>kF8oz;pox~wx{uRUGlz?KKO#&pi}=d^By8f~aYbFG+V z%UMnb=fb$dIA;&m{R?3FejEg$?TT4UfMJY(M^V*6@j+2hHMk0tVm zztE97i5|}`Lbv5O>E5RiEI(Bi3Tct&rM? zb-s9c`f5%M2APrUuO9h*eS}TcZD2RTcaLTV$j>&?!&SmekczE$inR;&L%6P1ae?`julxMvNsjTYiw%cQQ|9EW1aD^CsbF>_~qw&%8**`bd({)0-R`AKl%(2lTwhs zDPtFB!k#Ygx7BxfLq^YLsX3~h`EqH+31E4~w{2Ozk=bi*Y;vCBi$os|+=i@J>sk1| z3z6;V1??ijBOv@J-GvIO+mJE-hq<3*LLRpd*9VcS_`amLr-BKk3k!w#;(vo+c|t~Y zGfY^BeLY4%z;*dclSYN7i>~GFguL&#)$G(ZJiE7G7;V)Zt-+y4F4&pjjTz^C0=rtn zr^r3Gtf`eJK9_ZH*?(xFU(C|ud{izbw^r6|^I+-sWq}3b&1oB!tvXgigVcvJX2zKx zV`tMsx5H+QH^Bb%KP`>=kGGg!EgZ}2<2qNxEmZj=j(^8y zq6e(Pq8eB8B>SW5U0_DFzouP|g`yPAN`&UhBO@X7g7+R;p1P$o)~Tndv}f4l0!Qa1 zyO&*=Ht%bmGQ5**_8J)P^7*t}<`3S)u_wFpVQzgZ5`;%UeBmy2CA7^>oEqzj3x;(A zDXr(3vX=;6@>IEA)bXs%r9DGQdwy5@I`dW;4DG#MzsiEQjeP!mn?+FK*OyoHKsNQ> zwuSem;N)|2ib>ShBi5G!RW0c!J$ei^{Z;qcOn!Cw#nPkZl(SOSxIyLXP}%^t!n-YI zxLXd&#XV#iqm;Du25CB!TIv=JPCZYVS8=!@7QwBHFo;5X(Pb&{R?D zro-+zJ{G{A{3{YdIC$)5$@XhuyA#CrePoD)sCH!MbH`Cf)T!6HT@L4c3$m480gh#e zj4n;e)e;$>Tufu-*t~ZukH|<~La^kWrn)9DAF)Ck5QCn(&5rHED~ubd{=~sC#goyJ z1$V|Wxf&qN&rn743}x?Q#q%2fm|j{r+1^wgo)U2?el`B=2&7+HNAq1>`#1PKiE)93 z`Ix7crg0hVvd&FBR8_?#dI|o4ZMtgj_FAkvS2dRFKI9fHoh4~sp3E*nO>mI}24b3{ zG_8dOP%4uUS{prZk3j;5c0O+JVe!-7{E<;DVeil@54vVZ8|M$RT!OPOr|mW(XH#yQ zd3c8PljIMb`REt&MF2LjX)MLP?~-VB2`5Qe>seKkggge}6a+-ydJJvohh<3!CG^zU zz@LU*9!_%SlUPct#tbZg|9ROqmn9N^Mry>Aj6E~lDNiN&raC;m@6|_?ydYiE9Y!A>b}E{%R2Pa?oY9_ zQ*c_`U$GUeDnoo5y!o!9Y?{gpm$e1ycrUu&X_R|kz5lekZoXNs`HtiLn2UUlTGtjd zioKzZ`c~akM%_pmwFT+V_9(uvZM_{`RD076wV9JIz_h|k0i{S2S(;PHmJ>F*H7Bq!&KV>N;N&7O+nJuLUET7Op0`!BWc5w zkkx-;NB;J{N|DZrb(ye{1I>`|StsZWP*J%!wN&8)AZImd_)sQi}8RZLD9m~?9kQ(yj#t4!m;2XcxaE50!6>5hQ? z(qHGfb$UCIvgfc=2<&V3zFD#gLX`bu=|Rr4zoYXUs>^-}lXI0TH^LENFo#}_UXK|Z z4RGppHIJx9_l=Kuj>QyrnS8-vx+Liw4G(Oa#PyU+#>fM%?q$_4gn*1Lqx~I=Z|^7> zQB@tVZgk0GbFSXWjab&-K<2jFIic!oz&|hyi>M=86#S8a=8F4Z%L;M!?9CuGn$tlN?GPT`s~9s3V|tsUI&({);o%^k{HQunD< zk%=CoYNFYLfOk)glsvBna=US>j;6nV!B-gZmr+}{8(X)488peOM%nYK@`gxUVufsJ z_Xiad9Cl+kmdmwzFYZc&EPUm;5!$&~ImHrnSXDoG@F;?H*}ypCtI2GGefiAH3f4|Z zIe=S5@_d)@a8ypFS8e)8Y>uPgw!K&8p4w~*Ndu>cbWW>Q-(zp!?6!)km+I3B9&a=+ zb+cW*ord)Lc;zz_U-Lmnz=~C&TcVrO9}64^@6H4L%zoSM!<4J+r=`B5kYzkVbH;;B z2$iDjReN-ur#DBaj^dv+{?OdZ*2!?$K4gh!H!j3WOjVrD(Z?6(u36b#I;FU)Y%+$e zgz{@n`mv{kni_kpxe%%Ml>I4UA>i3lTGP|1TXc?2Ond`f&mZwPfI|hl(IrYJ9iXL? zx}2OonxEpf!Nk4kFQp6F#?UB^W|z(^^qlR^%WsB` z6;eWQzYx!NKN6HMxsJymTB2-HolQDy7W3L@L1s$PkYE*i<9T<-9 zsf!!2v6d({kHDU&L;n1_b?UlMapwS3MMdY1anF!ivc$Io3!6Z#KRL-8Mv1B>+*4yK z+v>`l+PZOVT<2hiBj2-WLp<%(jnj)ucs6+9@o9`VQt779X;s4bn5pRKtE{OLfuC=< zs-#u8bymJcKWH}M%9TNchN8LRbsgHYU%Wd%=zji3&96+-&ja6H$?B}MyE&t^J+g+3vuaW>Br2~5?Lb?OhSf;vUu5}*4ic6W3H!7jlFoa{8oLv{) zHqG<)W}TpxHKRH!QUd8pogg=MEyQ|1NxQrH^48lAMXc@W6_3joH)6zO<;bdHiE%k0 zgO@!cstOD0(wAcSn%QP;7WSpvxdrj>OqAS~cyyERu+S)qO;45RE)g68#G&cR++CwA z9dW;S{$AO3ouJ{8rX8iSvluNeUL-UDH$teKf5N4Kb!p&A+T&tvFwVrU3~|WP6kuL| z(biwliVu4pq#&t7yOjMhOIi5nS-OnAL-(tiTlp%b+UIGm%-ptqZ*plNcikW%kBCkr zevM(Zq|qzhD0?WcKx)4}pZ(3G*)8CMkt|0tG4VAlroQRnsZ_Pm=lePnA2@*(c#n!ZEW<{tROyBO~$%~@>-cM zx>dE4&ZR5eQ6ksS6zjcK%{@Dp#jsHoIL^E*xUd_ON4q%vTSG`TV+8~_C?a~Y&<~1r zx$G%RkJm>vOQN&&?t3Q*S4(``}^I%3M16E{lKG*`TzeWSJ5|brW2? zi%e+u9QicJF3Ih30Yf|u#?NF|1~_D=6W#a>r#%WgR&E8g>@p{W(&_;Mvw) z8CaEcvDT@Ml!_KHoe690$`ZHJd`||v-pw{h>cU`xDH2@}PK4N9x(j$CEl~h|w zE11qW`}gXIBEwyZojJYo+_szV;MwQ7c$NO@D!0_hq8Rmp$f9Lk#7IJZ&dv+&+xXX# zEK12WR~M`9cBH#&hCZ*Ry|a8Ev@FsmXnw?HZuE}y8mogIyBXh{HKMwQk>Z#0qv{+@ z&jMl^{-Kz){iX^+#r0hs$uaPaoAMJe@!imj3=qhG6qj_mw~k1Gv?Sr9U|<*TPr!@Z z2SSk{S`g3JipnmZpz%z@s<*nfN_Fe&s>v#<9Aje|yXNm) z_}tp6=Xm*fY@=gvpC+y|idF4rxoCk-$1DeqnjQE9r|&*0%zgj{K8uNGzWrpOn| zHMiDiz0j==N&aSBWs>}B?(%4H#XWaZ7mtFA%NRRyw@Fcf4fu{46Nb~rsHmv8%b<$H z4YL1~vntVvp_n1|o2G48t?-Ec8~gi=cB8ixu+>B%%1}U}@{z@B(6iXlBj(Jd%Zw%8 z-#?9%aUV+l{Q2R`s;3PR6`-JK`$tsNrHXG^oh3Zk*+Op<=4ZLQbnl1`yVJcEMuQE< z`J^X^KnO`df@Mr(5>*&PaPvU7H+WZ-;%ASB-SCBM;<>;BA#R`tm$d zTuSr_*I#CWKaQg-3FiR!!SS0DC!~IkAe~5H{5jxrSN!M5%~Q9Zqe&m9e~ul!Z2LJ* zbt0OA4ES-dD*{FS<9HJBbEqdFcWT4tsvPy;-bUR14u|x5WNYL5MyJ;P^quhl6?o(J8vv0iY#=t81dz8h z4QvzlPwgW>LtIs#NlrP^s-CDZw6t4%&Ou&Yfs0$xC_RuAG}{?~U-s10)byPz9rm0V zv4;T1SFrn94&d(5%2!JTspr9wA#1LUfmm;fW-fEf|L?t^!-jI1u zNz9vgEsLePcaH*S4(PEUyNDPb*KjgT8z#s8!2&DgfU8oaF&6K;!Dy-YgDQDteiS5wzetw{Ltj+rhclkhYggzkh!U zprG~ureFt{MxEdXi$nt(8^M~f)_dr*evPTg{}-Zv+Yn0F*r^1RTH#27TR6RElvBep zADc6du#Exzdl!S|($MbwjXC_N-F6kEc=eiiZI2JgY2#Wr*d+{E_!EfRY1FcY8FXg8 z&EP!Au`1%Z|I&-(vc^fb)Btp1NN6a;j_{)E=(}9N&OxNkwpFK_zQ)o)-%B!*hZh271YLyRDU;X03?3`*j5IX#ND@shC`*s(@9HS5rgS+ zAdRm?feClO8!=yyYn{8sE}tG#fR|20=xQd^W}#w+c~K>xW$d9YhSAhAV7MVlaZ zH?-%DoM?3K>6?i+DT?Er(lIp511#$EYnZY1;-^$CAMs35xdXiqt z=*k{shHA1%19DscC@o9_? zzuA;;9Z5etAS=Nr>k>dwwT7KcJju&mi*MFM?LT+b6awNrN|ned-!<86e$-kCxe=HxEZ`x=}Ez6pS*LfO%5HvV1w0*^>N0y(PKn;Z$|}m6pEr8GIqj?nJH2QyiRQq= ziO^k5(Q%K^m3p$w%=D}sAqG0UN7BsZ8{|m$XIJ_sQ>xgtL&5*a9<3Lbh$IiM9}P)+ z;R_EE6O)AYo`o}cr5=(8v{Zfe@phN4Ol@PD4%3*D$oef9ZF)E3H`EM8uXnwr$@?l2 zN1ywWNP`1_W-`A8?~NQLX@e>gfcCTn%r;zHJVhIG)j;rqS^Vz<=8-LLmP3Mm%N(4{ zI3yr*^3RjXN=lwsYM;t^KOXFS_Vsk@^u#;>Y@IK(?U^sRG-umBm|rC;*kONANZe(t zM|O92m$^r*f`tK!3(_0W>7*5~(AY)a_&k(zEH2e8HuYUIfavJh^q-<$%mad$ChfP` zSyc$C-8a2u36gw@geH*6RpFP(2lJ^~yC(whQU(-R+`;?Rw32hC60}(sC<{%h^q+;+ zg1kB8CF`5hIBX)Q1`LCN?4$h}K1R<%tDeMSBj-8;fIZr=ff5?<;&D5;Ky2yx3y!mW zfsE6IYisVi3za=hF5m_$=8LCB)WD?$`ucn~w)7})uLfeBnRU3BIu$LCj_!*HMe@|U zHGy@h&*fn~eNI@`g+ua6ADx+hVKKbUbl6nZR1lwBsuaDlMOrIl1#}@=6!EH@L%~(} zkPj)D?RB?&<|B37>4+~(RM*?=5CpW5GaAMwYdh)aWxF&qybx~|I5eQHTIx>r;DM?u z6cB3}7n@$yF!t;+S`4n)m_*DGTY4t)DaAclk*>$BZp>c}68v7KL0=>V9&CA;xXy@$ z(@QHf!S!wR`}A7-(p!ATF;^%MwD0V~o(=3{Zbn_hpq?SVW2Qe`)OcKie68e^yUHeQNyWDuyfq*meKYa_e^J9_`IQL*FCla zc*c5QIV^$3S({czL%BSqPHsg@xGIqQ1ETz~P+FTd;yd$vP`4rcU(30YK9Nkj=)2RYY#lHn~P=vabRUUSmr12~> zlYS36XSXCqG!fIp2iTZkr(5o-+Y~r@0>1cZ;v76a?}&Ko9i6Ga0jS=u->*>F+LjcQ z#zc}LI-*F>q1br)FK@zy>7Wkyayd{(BW#U+0%#XLO?fpBd8wr)Ci;x*Fx4+_RFPH` z0l1x-j4~fJ70ChbB4c(6^V3VW#^ET_96;3!s+r432Rk&(K!xr|Dw0v|J=Zfq4-5)E zk?^T4S_&QcN=jHJFz{k*oG&y&1HZf(HSV=odZp^wREr^9jn7m9R(s0*j&rJ_7-mg8 z&M~>m3Sw;RP}*=1&wFIBGZv8l{CO4t;;;0{Fxl;_2;uG?&L+X#-Q2f2D|_reDXz4( zDN4}Z(=s_)ac&aS{_^I6W<#`EKd9!g!$fWo+kV?(iZ|c$TFslf&T`!!sGO<223Ijg zF2SczcQLRcrr_>czS=>lGlRN+Kd~GS+MEO?zcT?Cz}KWbVwLIjt172iE``H$=& zVHw5Bo^z`^dZRbZG1mqW;W9~U*Jb<@C~z=1Uud8ZK~g4|UiQ#8U~B7^9GrI8bxDq4 zN-Fba%@AyJ3U)*RV_ryEp9kj8#pNU0{ELIsvV4VGN$u@i2PCXBfX03}J8*;~br&*x zL2bYZ4J-!@J4`ymwSK??%MR`UoG`h-^CQ&Y1D#hJ6}9jO-I>HifSxO>C%EBc7aqvX zm0S=2aujHa?A;;`dPyD(@9dGu_Pq=FwkyUvtwz^AU4hCfq$=(^I>dg(F<`EpJ ztM7Y{LnnP)8uX=C&Q(k0>YfTjhgK^+x@Xl{z^(Tg{~OX};;(&wL2=e`x|vxk-KIdK zuxtPHUC`rBhRd|krjaNmTddu>jX}73)$Witpw@lwN=m0-(ik=~R3nDes^F+!qYTJe zTuByt8>X`d*&JU)O>12qY|uTDI(5(0MCwU##SkrQzn?UJ3SvT z^bvX|nwaR1LR)ACNV_B}Exe5M5cH$xR!%6Qwj4(Itb^&P|## z?ar-AOldUOjm=8z9?7bIsx^}4Dq{}l^J%w5>=0TGCZ?=ggCJ0#qT@-07rt0FOpq;!ln#Vf8LC^6(A5bG`A1IdxZZ2hmen`cDk4h~>rV&ua6&cm=k^H~f;F^x`q9f_4>I;Q<&>Qq9Fd^^a zGS;q(KtuAlFY7q+K?x9}yAyf~1Z<<9zm@&-x2&T$1nBqDMm0tM%SGI%jm`RC)0&$Ojyagli!d_ zRRi)P&n_Rr?z=0XKWI=(*q$2^?*$!PNRnz$H?gU^_HY! zlMT7Hp`lnQx&`z(sxho~%Ks$yhTF3JD!s6qH{&Cg@_5^HYoIlB0dM$#G)LfDF^8;U zEC7QH`*82uuQh?6J5neHvCPW2w$fz|^itvg;(NR}m;Q&Bz?Q2KgHB3;=csw0$}Sh> zamnJ^8>C#MmIHZkZ3eSfGGeND8>^;S)sWr1EkO@yteorAZmt>EJUV#_g7l>U?QqZ& zTW|Tw63`qytLf~b*p_(sAvz1NG$#Zlt~yWhCo1z*~tv{n~ZCRuCoEJzhOA?=0u{~ za-wbr+v7+VNFS7_KtG1ZO}vI#m(r;Ul&CPFsgMHayyr5Yv8w;gAVr4lsR!og2o}+Am`~?J$k8 zh6r2um*69`o>@d3fYM#bqUNqAU+dXXl9rN+;WZMW;nBZ;1(ldXO&vm<{eMTld9gM(Yb4<3RJ0DVcqi=TNq(q+@Z&KK1EY^{-+L3Hq4G>7N( zw?45D5ns)re5X`H3GY>x1aTHjwPS8ncFX)~wDSTHS7R2>XNEpPB{Nz%QCY8TYz%$t z3AP=XyZr_CTZtJFdDs2CG$QZ|u;gyBDaSmf>}%771FoR^#d8e%rMef(Nua$MLm6oD z_5?Iy2*H^LYT{%L9~TbfpjXqfKgaladl&d3xCkUy_55bqD>Uu#+Ld`MMdtZs6HbSU z+g`L$1sDmw(FT(UX34Tk*$Vb;S!TlSXhvLvS5NmP#cpO|I-ckC!i3r)K84$`GYMSAZg1f)p`p@))C&UjpF?{DuP=Q=;n`+m8u zwJybk%sHPq#~kAxW88OBG)L*tvpk>1;sf2E7c;Zn=gaj zJa?Cr_Szof_=0=)pr^Gd^xDgP`}fym$4hvL>Q|p}sX0<#qRecV8{6(jbP_Beo>8n2 zQw3AZf6DI3=X(IU1|e2P(2jvaTB~lo{B)-?wWRr{N;i9}rpYDY@lvpk2-l#Y53}Q6 zHuIwrhiI8;s^Ug~uNa%Blaq`NNe3+lM44KekQi}OS+)od0y8G(FHd``n3HJ!A*_*DTLvgO-bW|rU3JVv?1Ty6&)dyIOw6E6i`jpx- z?^IhVzLGx6t{kU_EZW}ARo;L^e*;Gn$WTRv^Bfa%41goSB6*bZ=)#pN_gPq2Xaa>r zExO4wS^U_J(hzJn5Hx=0SzTUM`L=J1M9J*!Tu5v5^>^Hr`n0_>v3mqFP=vm#nWs-T z7INk+cW5^>`4Z3BDG1thJ$!xaY!}DQp*J3Zm8;I|puT>wZk0z=y75$PZxW?`4(IYL z*AUBMs;#iwmS{!z@;J~L9enBD7l&uj(G|nPEq-hH0*5~LQ_|#$b+~kQbFS_oo#UNG zb#+_5^XWqznN~`U3wSJl^mwk#nN|^1a;g!mukmQu)j%u!az_x)+ZdP2t8KY*Xe*L`fdq+jsAKKiB{BkE)hf= zv#hsDnc~)*?o#eff-L&eE}!>AH_-wj)Y_+h{d)T>ug;ILeAyo=#EERmVU=QK>o%LX zxOZpHFfrNg{3ZYSmbf^x`up^)&COTb*N;mtD7Pu+uFwm8U(J4mfyG%n1=jK%Sj!F3 zoATCRExlO0;>1UV16joV9FxnxEM3~Tc4;nTVIW@(VMYV~)`?rc(tnglDA(3g`qpKT z-I8$erDRC2Ww+ME?&DiI}~|!1-n6m*l}etO!GWXd7ISD(FM5t@1zh zNh)&AVaU`?3wI~Y(%E016%n%14D5W8-i8rYwxwoR%Q#5Q!Z234%tjG=e_!2(85}Xb z#lD=J#Z(1#Ae>`IqeCu(9*-B`@xN{|7xWn{#&2HATz|I^wVGXGqmu!&sTWx{Q7Lkf zsyh@?-^vs>^Et|DqL^%bve&Pc$TaswY}$<+T`n6PR^&Zil(imc`#YVc{Aei43k6!} zs!gGsA<&uKdZ$x{w*mvJ!NYg zdpWs1l2Qm{s;Th%->{girMHtdB=>#{R(j_X)#`n%rVAf?F#9iTpVUB%U~W=ptr$oT zQSZ*Hxp{cVEB~q`bmZoo<29K38ueqhe4?daQZ&Fk9vne+qK=T1PkStP1U#Z`DZ?M` z^!eh-vZeSB@un67LG1|BD7#{mx`@58R%u{`dE=>i!oD!USsfU)yzSBm;9u~dpe&i9fOk+#N7-7`33<{G*FF7Po<0;E~{Tj;yhXCgQD zaA6~=APHAA^e(CNt_v$$fyAtTv~aQ8Dl3EJf_xaCzMQSCEtg?#HgE~2fHK$3j2roR z?P|-*)x}lUp!@ei3^@9;Il|m?Gx-xyWGv^SaHsiU4UmKG0s#~@rt-%6dRcIt)p5?u z6IaL6?`g%8Nh9x<-n0M^-&?KE*c!VUVvDa#nQRQPn$E>Xtr0_?5b9F;a-z7U$!nRK z#eQ%DoYG-=^6NvLr-+h9R%MbczQ*UefK#TrdqtNn!_80Fh2g3s006QaB5al1hJ;IO zPDS$92lRhVcv)oXbiaPJWw4OpmhqPtY@4aYZ0t%g524Mj2NVX-dqY z@PrN+9PatW>ob!US;+kG<>&dG-KQlpLmUv81sgcT2`^4>k<%RxDQ=re%?M`-+l?d| z{^EChxZVDKj%jD>ZRa)1`1cWfv)#{MuA#9KmiWxqppug&S!&z;k-uK#^T9`hg|Oot z>S>~cJd|P}U+YH{61=pW5dT-6Lov#vCCC6~6BJk)xV^Je?6`H5_e0X3Ua-+K$?X(3 z?}pE5(r+vpK0QxZHCPxf<8H%b{O2~etpLjOyKev3RWaUY`E$&Y z-g;_jinP~T{n&oM#gBJx8&6-4ytU=wMC?L?{#(hd)9hV4hiC;Yy3T-BVNC+*9hlkj zRU8Pshuw0scUl;L;gJxb$s)(WqrN^{4gZ+jsx}|yTW7Kya3fw6B%EW|+PZo`_k~IE z(By37eQDo-!@{K7dIP0)ShA1keSb!;PXLk4jn()LRe1!8I?g2m|0bu;t|#9zJqf&P zOI&p!wD6{~rg`Uua;nXIeU9xZ)G|aOE4Whgy?>tq_VWI3+6Jj!<4FT0?byBDEY8tA zW#p1NM9a#B9{&LOx#r6jc6PBhsCu)MeX%hyhpd6T&!G-;mcCf6hO6%$rc$Sor2RLwZP> z((A~VJ!jcpVGGUJL!DLjdG0-FeK&eahk`0{(3Q$imddDKJ=I0=C75sD^BOOGl){>eFX*xn`j1Ug2abT={exF~KjvXUm>Vs<+0)soA4HcU)w>|C6xu=lK2q=&pG7p6!3(2Ys)tXa-eQ8kO24Gzr`a z84^btfG=FU^v_i0xqu9uJiYV>f@@(W!+0X=yo6*toNc;iLu88|;Vm_?A4rgy%iJ1z z{(3ch&^8>`u-~3gA(vXdpIw>1UhC5HES;2s8@3OVz`DM(7f*84FY^~UwL6*?ojBaq z^H;Khol7VxGRrY+Z0dB@O~qnzE|_Qr zkRu<5ZSJhRS3%$n`^g3to%Na?)|%|=#QIrii+i*3tM#Sf9e+L%N_1x$`I-#V{&YGa5#awRl`WHG)WlDctF zJ|dvG+$#>%*q|XJQ`=XdWW%`PQMWCiLA=D~!8y2Fg~H_;n&7vSCL{Gy8N`jbmI926 z8{FrWwdrUhUa&S^(UeVHX*EG9a}ai?3UV3v4@icqQW}S6j?u?88hdQt?$bYJj4Qsn zVlVcdYnCy@X}*c=T}y8{+WU11iqk}_OusLM4fXzB>QH=x^TZ2lU9;EtI^*z+6jj#`;~QGo~>t}Wv*r+%r%tK%g~$n1~(>#P~*fHTwc$y>b25c?>Z zP-N4sBYlvz2N7vXv2p?3BGT#F@Dw%^+gmqKCtVjlS2>k!6Q!2FP}xugt}7V%-&M0))!dW-ww%=7HDjfN8IB4hiIvRV|qonW{PVgA1G zH7&yBl-7&Qv^mK?IE~#GuhYBaHm$cGjI@sk%WzlLHud7c6&DJe_0*Lq5PYh`4)gpP z78&yo4dWA=4Aqpbw`0=1)zW6-o|{*@NU2H`l|lPSmB2W!o>FE0Ez_nmqyRg^@Tm&Z zf|fZxtFM1>>MKPK?Ot&3kL#>6=335OYj@Y);0q^q>T3tug*mm}rKev-8)TShi^`Q$ z2%8+cb%}s!PpRK93AMRIn0r?cJIsmmUxfpLQp+#Ds2t01xv^PSATq_*#aQeM*W~Ts zFpdi{-p`;OX$KV#;HHA0AF^FP6KKEJN0MW-+P;iKSizHnM?0WkhAq3 zn}XYp`(ldA&KO{*=Yk zmn*{8R850OX~%0 zRlkgb=^jeb&=9Q}d?_#E&W^iIk*mcdV`Pg!{~WhkjY>k}T{aVUdX4gi5*wukQM$ke z*Q&TsRLW%V-P8g_DdExuZJsF~-PC@|SJu%fZxzBSVAb!Id#I%j?Vv)mWt!Fm`ghb< z?q4E=(+g;9J(MYrxhS^Wc8N_sIEdIR6cH?7bl+`>t?{byF`9s)ZH>Raa2!R4ODfuX zxZkVrcOo!F5~xEksc?0)ed$N1v^l}SrBV&+8+MJN#W@NZ6-~sKC%bAY3Tz|! z&;<&MJZeO5d&<0Wqj+$(&kmn9Z$a!3J0S`!(96olCT%+ihTo*Ip<^dzi&czIA0WgA7ak#QE91B18&oHR|8`q9ZmykY ze;?5ioK(-`j!?dQ4KuzHEhjQ(<|nwt=vbeqc8q^!yziByUVfJO=FD@rkQgmiHp(A$ zH6%B#$tS+`twuKcUy@rZzn;3YBAbM>y|E>i6aud)>_-SFy+Y@jWj*O73gux0)ul&1o z^G8&4w6?^EM7cNdO`-I=py)#Qun9^=oj6HgWtD#cI!`#URn-nb(h~GiZpTFrL1nB>MJ$d?{ocdpD|8Z~r z{`dcBAN=i_j!S7`dE_QybuNbt4ko}r?>1N#&yb55kKS~tc=cDh8PyR3 zhQ*$8cOsXt_#afaE6*`mclKIoh1H3XR)*=i=3V7oGUQOix|I=3Vf6>GL{~D^^+lmT6Sz2c2ul{SjZ{L!J zoj=|n=}SAaJ=o2qF-Ll6V^}O_!YuK{5Xx>!JP@j){N?&z)S^D?j$eGH+hV%nb#H*S zO4#Qg9j2lDQ<$v82WBL6Z*N~t|@2=k&&QL*%Q)a%f zBTn$vTn!bnI;W9mpaCl5>fk5Odw+Ob>z8>yxPPq;7dDQfr>IN^h&n!r2dS6wrN4=b zPB8u}?)nK@M%(wfHFsIa6@pE`pa0mGr=OB|@BI}JniTcu zt3ERHbOKvK*!?||Cng9?p`@AUdd*AN1mnCooT|nVU_RxSGB=b`h(W#cd^r7vwWt4$ zQR^+{!H6R;ZVLw%PRU1S7IB!mth3mQW59) zb<+LLat|!`{-(gVV0jDTaHXE9B&E6TinJEfLKboNxv-Ip#Gik?53z)p+u*=pp_v-wFxb&_`}RvWpJrd_*nDa@2khfyo6b{s ztcx;c?N{_!A(NH6ZtU`xp#-dZceg2AD9ip=Ljr>2^XXSuK#Dq;r5%sgcQ9>z5Gjyi zQaCud$a*2ZNFr0MB0N(wBRjC%xgSDd>Ha+RSw&FKRcXYqQ}cQZ(OLC;em>+flii)R z<8-0buqo(b6=ZMIppFD^?&buim9@2=%CbWB_CNJ$vqY4V% zLiRtN2w4nWYH@z^C|w!58zsC*hgQv0&j6-y2T=G?+%HMYYt`NDfT9TU7lJI3&g7~l z1wc}_taA=rdyuY}o9Q${0oCU-X%Khj{EEMXiXVEX5fdUFpOtl%Z zK_kXu{-er@T)2XyQaor?auDW@2T`56uKt}a2?Iuu1sf9nC{g8IhUo7cA9swC8VmfG5!FczZSxc^DM-(rz{EljHu;qC~WaiGT&N0&C!!$CA?E+lEkHX1x}=& zCGb%vG`kQ-PDcT(5iM+IIlP${Cg~%gk)?BwI8>s!_eVS@P@NY%%r5uXFqkRV%G2+D z8=N%pIUK}mG&&%(h5AZ~H5Xc1+Nri!dB{&7BF7Spf~XcUlt7V__r6{=fdnBU!|Sy4 z^CC6FEuNz7ArgUMck4cIQLD4dpFxD7gl2J^V~_6xMgpmAWY>o0;AWe`xG^aBbE8^y z1Qa=dB}^n!&so5d^(3Q>kVofB!`f%|()Z1RS^J0=Jg^Wb;yO_tm~PziQ3c~T-G;w9 z1sE!@-C7y`?EUTfe3kgUHlglS$ta7tp4qW*L|>^{YdaS?uz+^fpuE`%m-_D^*$%m? z-E!1yJew?NXlm!^SE*X{<#xlqTA@AM5hw291p4NOdJcnXb|!)%J=&`Fq6ireOoRI3 zlaDKai4$O=kD5Sxj29hsePjCYhLBm?EfA{LOOeN(d^BGAB;kcz$mL?&;V&6&u|vMP zaTlczqPqy}^5!r{slbiZ_Eol927mpmy>H3bx4Yj5jTtJnO7e7Dg{G<DyZ zE8JQ@LW)R2Vp5tamzJRCYa(KxoOKv9LDK+SRoPP}Uoi_{8VfJA?9{`YIq^gW&QS=8I9#lY0b#O; zCj_(BsC!T=AB3_QF4}tiI32RRC<~yLf7Fy`P?2irqnn&>=&yy}n6p~Om!^AqDzuB-~Pfswc7Ha^KuB< z!b{3~Z)4PF;%694)%6-UCCKq>iWUy6-g5UeXRQ-cWbkLCK)DG|dZAgnW#4?+Nn6%4 zXOfQ?DueL^t!XFA{-gRxM*n&Iy4L#q;CCke3qL;~$Q1fCmgf4aHQ89Px&8x^&D`1r z9R+{@$zxWg+v$evLX!1F94u?fL3^c8=A)};7rDV$V0HoT;p~dEDuVwM7c6dO5MB6^ zYH6-1jyKDB5kJvk6v|^DB^$uvFmnwB`jcHzB1SqN8K1XDVgE{SU!P-4&2}ecMy<8} ziBv+-vP!7K;qG9>Ae!;3zj7R>7xd9xhp6YQhP8~ON6; zF24~tp1HRQUMxIC!m;+{Xt?Q!xI$@{#SyiU?bqLV+rzG>nYL}Kcvn{!Jmf*Xcz&>; z(fS4fT4ujoRZ=U%RTpcG zE74z6&&VD1*3E`}FtC4s43(pyPBTts=TEymQ!T_zd{KCrJR>K8Mn$n?^ zi}3!MQSWArDU^GfA!5M5Dc{+fr4@EvmIj$16fUam9Q0qSkJnA%Sf%uNl~z~pnqqc` z%N1D`7Mg;u`)=>-huS^6-XaTmOf}Ur*LK$`?^lwzMXJm68EkRN=h~i*Pokj~@IiOl zUNYi}VMGeS#aruc8O&5GH8AfI<}&<1pQRLAF&8LV3eQ>po?m4u81C7Ktz*6UY6F}% z0^)BbY!JLY(Mz^sz<(?-ZN0SDy&EO5!=aI5a9t4e)q!SMbyWG_47fEbD{_cM;)L?0 zcxr~k>iFXwmGRSr`7(#5VDSnJN-1&l9Is}*l0Il=-`+R9vnuGuLvGi%l(My})y{i)C!cpIdyHpwKBUew^z5g;TeEYIFJpIQ82)Ms0-K zn%Dc~;J2}9^Inrkoh@b%(6CPVX~$4$ytcd_8OMoheBz~q3Z~egv|`pMaQq9(uMj6wVftBz z#_f?$4~fn03qjd9wzyS^%O7G=jCajP z21N*nPr*gRo?t!^XP2s=Q|%b+y*YXY-DP-)RzwU%_3R~k(XJow603H^hfsqo`U>XZ zn;e9Nd+Riir$kZx6Rtg59a!JK?9k3$5QS%#4?;EGk5rM#JYEnpa2YM&vURV|gv~^3 zHNyC#v3pv`hfBq%!f0y`y5@4*0^{`{x3BKnZ^DiZ$_|hZwttFXQ~pecA;?-E*qGx28-oJLP4Tj0UsM4LWaMB7{UYKgm^y6lj7F0nvTw zc*GXNOhfhc+bK(*+N&Re_Tm*JABpAb%Tx=S#Eu%4hzVaJ*4&cRe;u6hOhH2e6P)wK zdY59XzvFNHTsDs7Zt4oJ@tG{%8nGRkd`Vw%3Bn@&n8oIDJMB%k zwdA1abnW-eqG=Jvg$?SI(~(?7N6SvS3Eh^d+b%e;%cd4*4~&bDLv31Liu;gVYpi=p z;*MFx*(LiWU5^LFhNx(W!5;gNBq# zTGdQ;%Hoe>r38dyFEnGdjK#{-QbqS0NA`nv^-wNOQ>L8B`Tencm)-9N&hi>G4L$;# z>A?#^-p5vf-Whh>^Ro#+O>qm*=Zl0li_)62SJ~zyTGZfa*$Qd*35_-g_&ifMFcO|o zTUy|$A@A;Km@15Ga?Od#UX={nt>Q^~sL%QIsJ5_T2yy#SWTtb(6t3>#wPXeURRYN* zay!A=B~QNkfXScYAG{DyD#i$KDsa@#n&Gj6lbqokA25rJkh(kEFBE3OMR@TCvN*U} zqXIq#F36#v&?Vg!#*^;SkVcxcfb@lClfD5=>Ztn#@ygS-J|#)I#vYEslhZG=Op=>9 zBU{%q9+t-lR2DWBSQlBl*flv%g=QZ+*rZ-E>qF3!U^z9NL_zXYgv>mXTiUiCTLe@o zud_E6&kibCmns8C=Y=}GD(vHhTe7xB0Sz`SCnG62!9=pQ_BraE#q$x$P0q$@4gCCF zzHVgEP*<&z5HVvsDa&zDvte(Vra?Vju3-f>RwQ1n@_kAXqa<$!_vfxT)@4{5%8-njvT&Q^2{qZ?=Om-;kDVC^NrndjonS^RrNlvzkS0rq9B+5 zM43llY*p&oknMq{f^qpsOHx>H%3H^YN*)LI;OzrcUtj-oR-TslZWxPIYjEl5%hY)$ zI1Ilr%D*4D&|Gel>qxQR-1&1pEb2o@@J5VveQA@kDYk_q+hBRVV7E$Qm@E^1NkD^e zvAM{(E7nS&%QPg@bNl<#XfBsvly<)o*)AUTScSdlWJENb@uu;yvODC-x{R?9jdBOx z?~g9BH#P*xmeZeCjW0Z85{;u^AL@E@A434;nC}`C?)+0PB|Z?>O*pkJwS8Dw$8xQ| z(XubLoaAU^)A1P<&|c>~Mjt@-ml5clXKM~*o`1jz2oc@+-y{mpvOUfxl6P2#|Q1hN~uD2N>Z1nYbr#*uQ!-9d86@hFj423!t0S>CE2Av{dF&K zZa!^LY~jE%+Vbz>)o~fI@RZq;)c13u<>sQoccK>Anegb7NKxggu~7`+?!E1n7`^c$_H zAW=D0KSzP8K}`XLi+Leqm!qfhr3r9F&%ggWbJO6wtxWGP)9k#?Kf9ZAzrWBniYuh| zQmM0=iF}xfXq9d_d(tkheHM?2hWo&~VKL2F&cMRh!ayN(R@`OukGOE$OI3iQwOmMROQH*A~A?J~dy?vw@+ zrj0`_c+|dGbcJ<;)!@Tr=wB3;SG*iq-UhV?Xf&pIh4ATq{27RY0;c_T!Up_uX;06M zF>A-K`_9n@6GsUJw(*SR1LYQ(3OAx#m{a9v9ej`5Re3r#e77<)7SC6-t#NKDnV{3| zQw$cE3MuQiZ^TQNJLtp7VK&f0@>w$LF>YlJe|)w0f60@1Kw%Z)?#}E{Q3XAr2R=dd zj4GbdQb*@2&X4}fb%a8ruiUB7h|@-M@%W;kg?dI;v@^~SYBQj|DnB9s`lZe|zXwYE zo61nGrw);5THS-p9zs)$h(iohmJ(6tsXY_bv(s)V!7QUL&S$`&u^`ns&MVl(%T@r3 zChVCi#Aj+kUzha_F|nenI;EB;Cu~%c?gK`F?+6m{>%nRu03&$4j8pt9_PVQ&7)s!&bi+5J&!^z~}oZ+-7ZX*&KnK@D-;y z^+#k0?g;));nQ^)a#Job%sS`oG_yZl%B$Vh?OIpg+u4ACtL~-tvgO2$QVZb^X)$nY&BN2q(9j% z?IwF%zkE383EfcLVBr_$XxFvVd;o>ZJq1o;_%a7smxYnu3E99z`~rZ2pcRw@rQYkR z^`*YdVlIuRnC21q{r-a&FJGunI^ddPq;D?$lTr`j`RB>UmW;MmvaEE1kbcS7BJiQm}%Pe}v>rZGML1_gl< z)PP?G-Q{e+f^R@&X}oD$IIxPxwJ74gJe5A{mh*YH%0afmWwCc-k8%fd37_jYE4;Q_ z;p8+lY6xr$Dv%)%beao93WyLD%Gb?&>x4e}fReMz9SBp7 z@J8Ptc_>D%czsM>2>P}^464G*Dk`j`)~!J@?lltOLcnDKts0i2x&AOFC>snNY}cY? z74J*$G@SYV`Zn_RZ`*F}8&%|{`RO!hYJnyh6cYS7&U{W)ie_<-fd(<(teW?gwg-+* zYE8&cBUR8_ltWjpUVQ+8BXvJCs1+mZ8-JtNfED*Q>_VCuM4<-SG(k1B7~E^ zwuUJyVwu{7<-m+z?6JWTiQkPTC#h%jYm_S4u**lOv%I?{=<`hqy7@S}s&$|5+v-gp zJJbZFph)u)2xHDR1SfS}-$^boX-2BbVe^?J+pIXoA6S{zn(N7c^_=b4^+)mQZ)a6A z2;YGkkS;PcW07gAsF3C6a|G5kHfSt@eY_*+P+~h;&0N0QomOSk-3FkbC1Cf*L(oWr zLThxXpyR+amu_lNl#o^8&rg48XP?W_E>wb?(yppcAOdhKWg>+cPfkD`pOD>%x|quX z232f6q5uU2z0fFOzD8%rWjIo4*)y|$wvnkEa%FwNY_h%OHix{fFY87syg6R;)?N%P z7tNOg8sV9?cn^!F(8bp&mdMLCVL6So|Fx z@mSm>v%s1IkkiY+mxHCLLfXilIFVLYyVE<3dP=-F;E_j&IvtnXvrCd;H3u|%ZXn}5 zd7Y3q!J+hO#IY5_UZ}ZSEr&1P=o)92mnNLR6Cm`LqbAR*5eF-@a&Sfc!)}t?9wpYD zC5rFHYkNRT8nFg8Lry)Td)rA+@kpG^F`n+0|)&^+Hoc^)C=eU27e}4cIPHxE~66-v7qVabxL4>h zI;Ns-#Z>Qey@K=4!+)HTTI|vgeR${YnLqRYNPL_4_?utiFPuB`fRpRK zZ06xEv3&^};Xy%v-fwRimb}69C+39I1wL=d_KDSxks@Xzk@!ibU$G7WadV{XbNmL0 z)n0}wP>jiLCz<3c69`Ny9=B4bxHZ$Q2h|9a)Z}FI0j<%QGCBkGy_IADK9MtK0TLUS<8s?T0fwzSw6flKf1`L zo*rZ{ODT_Y%Pl>1>QvrmwtRf{jbnY9SVvE%rX!prrUm@d$tKzG}#~7BzWc@_k*D57{;rwzuepia4bJ#_If>hwbFeu?rWF zd2K!X1&s}e|FpU33a3ib@c5SM?Ch*act~=3!xd&x$A_3A>#d_HsmbX85>9_`g6u1o zc0n?iX8Hwmd0DR_c_MJjt$YD)DNbHqMU0@;I+I4O`f|3BLbv+z_{Eit4J|3D#9ysq zPPyV9>z3_tRhZ<)khG?!Op8L3jyt75q^lTxN$}~oaczCQ6?D$&6qAS59=Oarsqki& zykpg$tLEuhd08nYn}{nR{OZf8tZ#vB4=7$w@QgV$*c^Kuaa0ZTNGApKxpV{{-aASc zZi9;wTcl;beEHXG^&eC}3B%srBh~H5qRcn*3wo^UAqPjuQZE6hf~e_56%Ns|bS2ix zgYwatVjGWW)a*JAH#c!7p6k-%!hpN7RxJbZr2fR(X&w#$uxv2`sZ0iy#_uxKb7Qhx z_sCZHx!46APNUGdv%OhX3&VwmmSPe9jKW-;oM?=o(~u(&H4Wn=XFJB6K^Y2=?GnBE zKvsYWSBvcyCF};lGFmJeC}Yile{QJIEYMOL0?XmOH-a(7ia9%k%ISe$F0Qr`qM@30wfTX*iCI(og z<`g~S7WAeHFz}kV9~fed>w_G9Z#k)z0mL3Ghl<|CdF8s~<_U?R(P#nv+`^JT@)#&J zwc{DcwST>S^V;H9i}pzJX5`b@o8Ef1rIeU{!vbS8aUg%S(uhYpF}cJJ7iWQM)2~qH z;^AqY;BD>#hfPEDmL7CeYrv^S^ux1MQ~ZWLKMgr}{CxU^wgNvj)z>LLabDhTN9?Gl zxPlL_4hqe6_T1&>f;HE6*{XVAlI4VF_5AtsqlXW70DoLt=JhmtZM2e7F!%dvSoU=3}=!-M?H*&wm+O#*92GM!s!nkhGoMG z3h~N1I#KIHd>W*yVf*7ph;BPEg{#*GtViI0ISOQW@&-D6rGgR3Zo$l7(&9YCC)4}e}d%wnFvE-_q)De%p{We2q;ACGF zvgo=}@A~rPONUBdNZ_soT##Vpi;$mcj_6OQ@ogW9h>6KADiYMVVrW2FUyKkixX+_6 zs&|OibRlGl%Pe-EUhS9o>YAE;1zsdv zEMn&4c^H?%YiL2X-+SZFX!7xmDBh#=SBv-_iP$DPt+bJ;T6d=7-8=Nr<4am{d@=)I zFjs%=B*;)Rro&c9{%{Bb&qd57RxK?HI0(xV%guCZakyg0vI|{TBn_lL+W$J7hZES1 z#5d-<{rvsA`*LuO6V&~La;v;$Jy}%@bbp1##f7JN?1M96I^2#0k1&->BQvzbW;A#I zA)3r-qrfYG(1W_UhWzVSukK?~m11)vD3$53z`*`OsOF1x+;QrUD;zHSQCG)xt5Us$ zLdWwky<%bR3VP_{HIubS=f#mEG0`GOjK_bksp%ybO{#36j@8)`<^ z{-bfr6dos!Pg&qR@}iIOYIjwhF@d&}8QU)5rRV7xUeOXUZy)-0zKZaf-$hqr8ZMZ`gkBUmf2(k@&cTZndQmqeQ z7If&d_Gh`Sxq{r>%Xk;TMiuj|_$oDSNb2&?#x&HtdF&XEWwP^W{^;RmJ}2cpiRS?Dr}E^5rJtT*%2Qs%5A? ziV|=tFR>oXw92)JGb)RL19(|xad*QDI>_$@im$&dvBBjwG&DHW6+p()OKe+=G)H;` zH}WT}uyseY9jRGR-vQ3z!Q-xm7i;}2fc|lA?;F*k2&-4JFF1LIV3InJAtg7e@oz%K z)Dw}netuoxIQFKjRv`l<|Mm5@_;$xjvirb^NWO@0KK<0Q&02EwHkA`M$%_>`>iLiF z!Hust8hD-^jcjFL7fJ6AQBJRy#`mtiGcY6W8STcquQb*RL0yS8;ruRs13tIcxlx1d z8*8|dqgSQ_=WumF(tR!6U7VB*&_g14`ZM^w>O4647*IG5CsdqF>LE08sHa;0_O?2& zUBe{*_;GhT$3Kh{`a8K2S!k?}v9@78=z+?U^DzEgH`aWO3c2MEFxJ1 z_fah=t5;~Y9$R4T+-o#|09D3&FUMV?Q~v4Gr_=f)T9h+;lruIHn z7l7q_cfHr3D)bAJP^M3>Tg0Pk6xAjjw@&g~TT8bj?|6}{Pts*GFJ8V3i@~UN08H>~ zUthk_p&b2E31zgQ>nmShZXr5(XJi6Ye7tabEb;f|;%yj&ZHvPBbaTN=IO}+muJ`92 zwQ8BY328e1*iliyjUGI!-dkYA4=&TdkY--c)SBu0;ER#Vdq>n;>JEa)01CBVO?>~A z2MSPwM-@a5e?~5-R4C%TVDrPD_q@k(R*$r>S#UxJX$7VcgL z@Wf&yW|Z_}BJk`(YpQ3>@?l(Iq&~*H+3BZ}7DJ(m4h!VEa`D^))uaZY> zkQO+;1F-dj0`>SJ3<#8h7cX8QyZoz3ri?%LTCG`pCU`<*Vkw$zKOn4AVOu3yWS3T* zx3ou2Frt8T|^;6)Os`FPaS*O|rOq_Xm3l6w64(eE+ z$=B+4`~lbOlk&_H^wYhGIILkQen_S{ zBCm&ab?+A8BZE-xgEWst%~;W5je@&Jhy!KvY%(9Z{KB$O=$bd)xkv|;euWYk7xl-g z7@0tptjWnU;yqQ-P(qr@E*~+sv&-64VuMEbC-dMM*8<-H(Nx+_~#zv2;!P90(BPI{sl_Vao9sy2}Vsu}54xU*~Q85g)bHh8P#1@~b zW$2*>cZ5bBhX>#_qEKjrM1()kYDG(V_ae4Oes+n9WV!$Vk3dOrZe;XM)uWd*OgCNo z@U+^hNz6Bz{(cADt&}uO^5(ZhnsQ z*`){f%dJn{7s3mqPIPS+ODJsjO@A_WVJB@gn#?n%04#iE;5Efw{AKx#y!Q^(v-fr| zStQ_>2JS~#bD>{pDhz9#R8Brif1p)?!f|A7BjCn8YtZWUL;fg1o;i)i_&mctHkw%5 zc^ga~tM3F9qZ*EZA8Ph}LXDtTodUW`%g`sQlw6h6(2(v>w+d-F-~bDd*}17R;k~N? zF`Q`d@@>XFnsAd@WS_LRE8A7>W`@?Px5Fwc!P+NyN8d!Nr7Cr6X!UgmwM+Iwv;%ma z7T^N?&0Yp;ER+Q?J3@G04)WX(a0#iM+!!IcyvsdL)kgdG89ghrz3;Y!fPxwt!rQ;T z%90&BZj-!7Ce+)m59$os_jdrY06NXe;vbJgHQ0J;k}QPygM9$}I@ zIxus~Ph9-ZZ@uix)lb8oIMk+4tUur|aWz5SyLj z)fwj%v+834RHB};8U`~LYK?B3vbSiBDuyDhHz-a37W($8E@~|^NqS3J%+8A1PrgMw zzH3H4ZTC3!XpYwep(0Z=n8jQyC(~I;14-g*poQ)C?p>p!wbE!+NZrnMmP;K5XKRxL z{DQL;iy$qUn{J@UJT#h%VV6tSD=Ucm0ki`Ql8+J*pB7s>`e4;mvDk5NMc#ggDoFRA zJqt0-ZHXq=-3)5R8)or=O&=0tQ@|c#~L; zv|j>>%2OO^2d-1MCsRLqlmJxh-9U#X5cXbT;yE|f&y`>dCNZNs)oQM2R<%z4E~}5= z?b2cULJ8KDl+v7=-TE$0>d}3|5U0xx6?>GvIC>WI=)8TIUI7oca{dQ;F{N6+16iZG zb`7v(JEM$it)-(D6LpGoj{Zx`9H+k~)qen9EyW(<^IY;&{}Bv|W1_Y+rrJXrt*E%V z?xnQLgXSxhH)#qDMv3DIX!x&DVG2rgJ%V#jQSlxBKX(5~u&3nXPzE9EPn2@Urh#!c z*R7tAKyG}&+V(N8Gt8%xJQk|ewDh(4+o#|8i6%-tfA0SC8;hK>a(mj$A5?ql)Qo*v zkzFZ5Hsr+-8;B6pCdck0^~gYysU3do$dS%MWyuuC!p!A(FLGVIdb=vlT`G)Aqh;B% zWI|iH`tI_$C=I0{gBgX|k6e}#M-T~-<< zP&Yl8^&mlNgqV?$A)u%RZZwxl;up)lFXJ!TL`>(~8E*dc@{-s*{X4hx?Hh76$?PtL z(3sphe}GC)VxgL#r0=2VfPgeQKwk=_iAg{&Hd9W>?S$(I++z+j!ma@qYvy`sY4^KV zr*#TVW4pS$0o52EAOC$u__g@d@Hm%wC{!_jnj|GH4dUlIHu!Qy zvb9NBq}Iu|4|890y${zyFGNTh6`G2GoGVXo1RXxO)c&tKm`TlR4ZJA$w+guG zUFR==$q4O6Tyvi&)^ZxZ+o$F})d#r-5;=Ouaem;M__{f*Q&nCeI0u#8eEX>Q_!qH~ zx8r@TA&G`Ar~VsSd1-MEIxpQ@YfO7dYD|lF3yfZ-C;+~0&@Q=Aw1CZfKRz)*ngUcg z>Q}3v)5@O+4T`Lh(e>V{$F*{;@z~o43M#=*(!Bi)3!V3gTdQ>GnmJK(BURBQ*7(fR z97?XuJo->eux~$UMZOC0hR_&5M5fp)*{+zUVK*!mY$!PG!@lmq6{fdbWz~Le|CWV&vw$wj)}s>d})6ksfq z`sVl(XK85FgS%d%&>S=zoEHVOI~gaAiV8xobzsOA-lNC!cU;A)QRO8PhAmM~wRuF6 zLZK;ivKEw{{Rhr~%tyn~zwO{<#Q#;+YyS{Z_1CKy(shBw!$*TDlJcRuI^vB5#wA4F z)zo?uFH%qpb8~y{ba0+=Pq|7T&VLHU(O|uSIrHG*y4_-&*L=5;v3lm>);GD3Lc5nS zZ?_8Q0z$jg_=bw(0%OLp$=ffJpIw-Bb^KQMlp(3l-yXkP&~?b^rd7O~mLw^KaT&h?KE z1;r*Kq>>M+8mNf)n9Umd5}r_TtMpLM7Ke^4@6=TJqnzB#_-Xv4yJ<|!+0(}Sj4lSt zWrt+0><~@U9&;Yn)}!6k*IBmu;co`smY!OGixF3K^PNskUil5oxG zdWLQJZ1&DMp;hKZj;>a19Q+JiT3Pib>R1`Bb9^3)?jq524cY=S1yGG(S|Oo&-(oO{ z;)+ls_L#f+wj3n>Kg7LvRFhk`?~l6GZQm-$1}V}BRfB+Z6=|VKH?$}uL^_5hL_kGF zkQxY0ib#h55}MT5C`k~M9;yhT1|lE{5CZo>-*e7>@3`aq#`ujh?tT7|M9Q=BtTpHS ze&$?rAuLPeC0r^po@*hx1?BR^XC}L*WeOQv=HRHLq{MW|d~vS3eDA2Szsx@OdBE&T za+r)>OOq7@N=d)h`JLcFxItnw7aMSwLnLLR*bmnbJvnyUQ# z)u6dq2{O{z2eeH0T|;T?WYV6BAYy`abg$zq3!X&}%Ob|vwagqg@EBaGy1*rh*mY-b zx)PH3w+c(yzS^)p72hDRjkaIES+k}Z!0zCuEX!LLzbUDcuUP6mB`GfKSk7T_E&ph- zQTQ3~SOG&mid0y1PsLYpQ54xPnifM(@YnrrQ&^`4J;z8aW!)~md5LmNuY-q;kG`&x zFLi>ttYXi2+k&r?BjJn8)()jPXvSB;qiK~PR6dHBNK-@Sxl@KVwF&D8WdlrAPz&eH zPj+%-LXMnPeM6Y|LC%CKpC`ENt&Tq{q}CQ{QR`{q==-KB2_y0wj_kAb!Mig-pi6Ex z0PnD`{jI@3dm7B}^SxUbna8_78v3=SjRo4BZM}2Tia*(e) zrAo7V@NIVrwD?iR&;k7H$wW~VOf|YDW2|(IZOhv ztp_*O1#o+BaM?Ddz83jjrCtj!bBeM*U)rIVm1iG}&rjO8-0CI$?)1_RkZ%4K%KR+C zl%+o-t)NkLDQ`N|4@Y6>fQsHCtzSf+ZZKKB1Y$hIb!3`%E&~OWDVW7a*YIsk!V*p` zfmK!B%{W0=l35M0*i+4BMmTod{HFfQ6$TDlgDmTOawTo-Fqzjc0?z&8m^sITlmCkC z0sC|FFAqb;2Q#p(me}lcQh4hJL|>ERz((C#@`gt9*5(9h?7JB-nMo?uIvBV;^HpaX ze||g|rSv&PVai!W!U-@POlxu$`)Rb>=e(oqc{RNVd47ppZCIL^RENrGS@-E)^XnP2 ze}p~)dk5+2j=e-|aATV1Pf-*!HD;^pbn{CQ0n75p)<1X@z2i??>oB5L@W@c{Tr<72 z&-6sayv5=vY2~EFmVFSxFSex4r?)J1&G~{H0>Ii!m!p>pU0N0j$NYM}JaY=#e+kE;F}g z!=!V+j-ircv0uyMXh(Jvsy0o%qnB-5Na;J387Hdb=M=~%kn^|F%CdfnqMg+(EYi!e zFjaGhiPU7vxyK82vnLWu$q|KT2r8q#-E5u<$SHds?0JX~0^Yry4YvcI_fH}XB%iIk z%8;)>FLuv|A{)Aj_`xqy60b`ed_{Mi>?7P9$excC1KVlI=58s1_a7x2L?>#@hp0r< zcF;y)F4#8n+h+Ay0wTy>bxPO+k-@VfaCx5DOs8It0Ug~bHAGUG*ldTFigYNpd9IL; z{&I7uu4jM%xAd07;zaYsJGSPqC|IKHBx(7vStnGCz=;!KGuX!|E7Nb>nt!uUESn4#JYYa2X#0VVoD5dizJniJLJFQ zds;Bjb&BZXSfyA>{@KGC79W#6c}spg6SJ%~5)#uboclrgdkKcRQ7~djeQ8(<&vZKa zCu1;DJ91co`Nk=bFGc#DC3XP8WvzU}x}mJdzjAo3{Z2P0_L=2cSCo`>{Tm#oU9m(@ zHM3j4m2PkoxC1G)aViaNS35QLW%X}#QJ5AX6XTRc+4=|hQ*GWOc!@ji?%1^@HcQeF_eeR_>XkmJK;W76ikmrd(OKdQ2 zK+J$pJdB#Y)WY5pLu)7q5e2v!Okur@SE^7W~* ztWEa2`=WDE5JP#>i~}9W%Vi-(f4u38c;*7ZtG4GN!kAB@g(pX3&pRKG5LpxOX@WE9%N<-OpZz1(maI^{LS7PXkYuGyyl=9ZJj#+eTA*50SQN3pxK1WhzYN=>`Vt_Rq|O zW=D%GzoA9aiR@`fmG(IOh&poQun=<5$#nk(MbKimB}O=~BVEl1Vv7BWOY9WT2A&dS zZLGP#J=Q|x{AX42+xbfrXUAmWIs-+o_|uLWHq0(bD`OzifnYk7x=H{N0WRp=+O$8edtq--Q&e$^>`Ym-D1mx zTnZsa%9B)rS_BU(F21_H$Z3&tX2(_$UW&6c)RF#!XmW4bW~eMm_G1mBbO{n=Y_HtJNh9pWU4NVO4R0gF)!g4LGRAQ+i^VA1_Q{9k|+(|4*gCRCLGoL|8Ihv*V)rZoW9t5p3;JDv|f< zue1}xM8_+uuRkGb=Y-sQSU_a|Q?$R}c)VF&o@L8;ad_>vm;qq*f_3w6EdRhM(uVMZ zCW&UXwG!L$cynw4zO6-ye@tTbMl>yQ7yI}z!qUs9>sH2-+@8s@EWubka^!}E?o(+o z@+$7cePi9nB>9^zW7fb;1MZAeG+;ka;Z2Gh7Mp#iOPO-qGg?{bpq_!~Kb(T2GWrwq zQT|miAN#+bhK3zaX}(u3VbpSL?@%9e*APZB97C{c#ZL2~&f*RPBLo>MRrQGRP zYO?a1;W%WO7jcbU7Szl+mp0t(F-%+=tCr!B4eo&c%%%DF=0CZjLJmy;LIK?=bQjdy z8pUdK{VW)|Ah2{xt{tzQ8zshLQ-}5SIp(gu_55vSdku2@jwfHUU8EUN^`4}`%Ql*I zuzAD6I85ixI*K`#lE+UF?EC)cy#H-zwfWf|s|C_`w{0U?F3{Pe(p4_Ic-0fT{+ z0|vv}i;h@t0Vy5~*^|USjZy1ZGfkdiox%Qv75x}Lx+AyAy)GJO@x7O`aq7MRU05!O z@+P-BFa}v&A&MNMgCRD|rVf8z8-h;ZaQ&$Pq{RqmdEa?(&5O46F<)-emq>-WVs`TM zYs>K~r`MVdZUORwVi=ZuZ;8#r{Y@hGKGZwA8@h{LUg#{yp5}{=kJTX+1?7qoiv}zq z>I;;tmr81lJ2pzu=g}R!BR0c?YbK;46mmP6a#2rrt=ExvwB<(ExJ7n;)v7Yj3Hpy6 z52XeL3$3FMy{pGmmU5SX{RbPfdvylWB8%EP^yLsU+HM9;#1YwH&y;cRj-|$L2ed|+I=mJkhpD0g3kQ)s0__&QO5OiKs zZ7_uxYL-0|;U5RWFUciGU&kEY;z$&Dp>}ucTKQ~fg2s|Fpj3&JhFcI#@!SWVJjF+{ zKqpM&*1oxbUOi9BXw?qy%d@zI%)hVVI`*@3gyD_(y4AN;9~;s(vbvIhV&D>?gfd!< z0^Gh|cR;T$+aWOWD2lmtsaG6L{F|O$lXk<)X6w~Sq^A;nAq6pHf_hA&P9es(9x!IR zMW&(_^FH05zm*id@EO%I3&olmc5OEs7$*C!4%v^=t8OJD^ZI5E;zdE#n9*hllB2T7 zV#3NZp{f-Ju-o_r1AJgva$>Sn{kCr)yOm6&WV4fA*CX=8T#TBRpxRKo9n9Aa6P2(S z%-3lF3Xe!f%r_t6Wes;omW+Ek3Llhk!J-*Tq|yr#vXbYS@EOm*7e2uPqVlE6$nfFN?>8~_`{Z=W;u6E&WH0y? zzkW?U3R=;}3%4y;gXQ z<=Cs(dwF$0Z7>KEhxB{beaSQSg(_HG`b zL9@{*G8fAmj9p6GeFKH`0t{+pb9?%saa)SViy>2dDFHrC3=-~MrbKMEBPQtMM^w!N zBi+gGcy4x*Yx>NnYIF9q49iNl3QhIcv2aO51F!mhjr7yjysJ!0mC3*(FgUD)D5rmM zDW(;tEF72C=nX}W9j~W9u+Y_a1?A!RBpkXJi2dK}JOfQwzce$@SOZ8uT!R4UDY&H5 z#UV-a+suQ~fu=QCfDr@_GX0%Sk#^9r86mR*cYIC0vfxR$IiB@k@O${*=JN|ZA5L>y z*7*7nGCqzV23)BI@t?Ol(I%URvwS_9*3O`>N;y~zH+}1?UG<;-#NSz&+KhVKsT)Z0 z6J4?w;(wvadX>vc+Hrib9jS1vYkLwrks*(!iqiiqJvJjKy2eOB$bU{%QX$YcgGRk` z^$kE*I@jK9`ANh=yb&yafjQ}0* zXp5h^-5!UqV~PD#w?;13vhQrQywJe_Y;#@!y)%`oqWkMCAS%O0Di*{3z$#~;17 zE?PgrNOrhvr2F|ig3X9Uw(HDEs8k-#L;2^0grVyI7(k31%MQt@hEo<@NOvF9S>hjO zAPCcjGViGGQihi^7+(W`E-Kq=dj)!&7g=!?h>A?%Ry{`_2i>cu)0iz1Rpti(-Ue5V zpsbt#V9otlY5VKCnbtw75oZH$cE#pr)!bkoGXQW9Fk*1y!Z+00xY zO6+K0Iq$B-bat`xzd*A7UaZDY8f>!4nSQ_u#Hihz@oZKw<=5P`;~5;K^Ye?RWJe!b z66?h_Ms>f+Da3N+GG<7_6zh&9~Q)vCjv;%Ct*`6U{Zk$$Aj*3=zmp9STu6M$vIjuL{uh#@VD)fw+c=_s$YHQQt>120-l7~*A zM!pHaSP;(fIcCb--w$|- zZ>t`UKFXqpB!I6;*>O0c8c_p3pQ8V0w?eYJN3(Q zf6gd6s8?OgLztLc897I+>_PN-rIiK)A+$cRow~3&Rt$RWAO|?*cuGA12b)+mG0P@a zN{LvA4@zSdn}iWXu9!lzFTYTFpS4n)#3?`MJQ1wh1i_5JW<2FP zJjQhxMMwp)Cov0y_X{W~>Xk~gZz|b$I+_+ey$ObZV@*MscWDI6>wzLs18liLZP}IQT2l})17q${+534zJ6=)@CZg|l@UNy+7(MFJHKOaTo z6{&o~Qs}OD_3U0=X8N9bTi^bJXXh#0drO<~Lt@o_Vjf5UwFQzCX#(NCQ zk-CQO^Ya~~;il}1gX_aUXhfM0sn;5nbpND)65fedTnO4j&H@6${6jMCAHt?R9Flx> zT#5MIERkH>vjFiTEg~E*x_?KT2Sc*Rja!)wCKA*q8BcSYES!V8?>%B}`*pqlT;DR$ z1$g^se%K&(IBI>%KzE)ui_XAjBeMC%l3I~&@>>Swhc%N~^{{DC{PKrde4AQG07|^E90#;>fD3u!bOe6bnDoZAd7CJT-VHwCA=O% z6yOyot&Oyd4Q*6%T*}n+vd}H-!NkD{V>HzpIDbH%6~Qexr+RN5Cs?m7%gVNG-0TE# zcdIK&0Kuy@jWH$Fo0qo-tFMb4NXkkr_p~^5zc4O(EWqfnOW~o>g!mKXbZ@8 z@gGAuTwlS*ivtQFQns4#QR=P%QAnI^_dcZoFDs(5-^3`u2 z_uTP6CGza(!>_NxY4mJWbi`B#bp2�kdQHvZ-qB*or_cvJBAbV$yr+z2oi|$8xm^ zj9Gocw4fw%PztKOoZ@?d<+_pi`4~K8*sR=IgBp4d!|6DtkV|@<4ew@wM^3jxYme~U zORdwCA2du9+r2=n1c-LYPgAEnq-9(60Vig*To7A9w;%9W$`l#E^XlrX2 zS|{NoS>1G0Q|u@{B|2g8=@Gm*d|A!WN6U5jV!dh$$X~kn=P9q`W_YyG$N0@}w|VYZ zP19^ai;H?)D!tEv#1CKK!)nB%jOi!pFbN-()%;qu!jNCt%w3PY0?awYKFNz#rIrIx zRzcaTa?0tK-Ehx8+sQ4c{Gfkd0AKA&aKO(}d!O6AdYERsj45w%VAREN`AJ?e?H@_8 z0L%@d-h21Eq-S>UH%$AJV>bU$lv)3_v%Ljd<@P#5(c+kDQW#(01QbBt8SA!0j=PPI zWTy3iMw<`GX1QB7nSne&r3#0SKy*AFyilE_=yMgw5KN!y6D;a?RRsX&Ot5pOu-zy^?@ z40`JV=urgtM@XBMCv|}lnPI#(ePi3~%jAW)*UD|6tq;ifgAb2=4|R>oa6-W2Xh5+k z$L{^#Dc@Vae-n_cgWEcv`{CcU#RCaL=*q?Z!I2SLywaVlS)_d};#anFH`wJG&~4;D zueTTfU)O2=E0YUkX`%mLncP+BJBGW!-EZu7v_8ObVfP{s0sQB+@$Y9ZOznLp|8YHx z`;UI`zuwXOw?iBL$9{11;ICfn51Wpaoqzpd@{yEzL%itxr%3=?iAx7N+h2|iPo=4$3?#+( z87XT$sKCKxWE|`rtWI{C&-TXvc}`It>H?{0Qi!Mjr9rF+l5R_JFCbDbs?GW~9#E$) zjEX*m3F$1wS2-7FJQbPFc)reOaoKWtww=7SY@l*jM15A;O2?$HylU~7oEVVU%I6&< z{V64coIOf;5r(O9hK?^ApNzIuCiR!c^=Q?LOe|{3?_4v#8tM^;aV(< z46}n!D`fLGD=Jiw4wE+AHm&FKtt9(k0VQR5LzeuuJh|G^PSZmsnz}J$>{ooD{gPwS z`Z|!_MJ`Lc1tbvke=6CUDhCJ?KfejeV9$?}0I?z$S;9;@9aT<;k+QVxA;z5_Gxt5T z_?_UZ1S$X?KA3R}uE^-OfM0I0Qx#c}Ht52`;4xupBfv=vrlh+A28;}OYUkggA{xe0 zAx}F`R**mz77Us^UIxi2FJaR?xu;q+eBWd=FCv~KCEP=tuXju>`uUy-0fGRDSdyc< zt;tUT(|U8O>0qb4o?W!_%$D1jWYrpn$_riM<~(BlR-WaQZCc=ZVy#?~;%4}<7MtB0 zQN~xeFSe( z{Jc_4n3<)fP7FD%6e^)oDo*rx5Qker5-zwj`(^^5jl%gqmRarc7=Y^56yQT?A-a6o z2K#iTW%z^^3pK$XN=Z!(W%eNjM1gS&lW7Jp9FCpLe`Hj*r@1AkNJwjA zzKfAxFXz?g1)O{n0YA}VV}e6Q$?IVPWD?icMa+GQJ&y8%8&4%SyJpdf4>Z5bEaFGa zgo2PvDbpSs44)mNsRDH}?`~@6;X_0LHXf){D6Fjjw9TSZeU_lS^RBK+sl@EoFbBt` z2oRcLi+D1oF6k+?&cFLEQo_8g2)u#>gcs_EIaw+_@~Khi~bWuZU865@qv06@mgr zDqoz@lGFP4OsWF%ADL9#ov~&SzszZ8bJ{*=f?9s+7?k@su$~Tt!()QPEW%nTb&dmZ z@}#2S>Au=bY2VX&-XKX)Uq18zX}HST<$6Zvaya5dgEqd*9(JDN`R}T)zkXGHxv*PcB!ABRI2xOFP|Ea zW)qZy3&0+J5teV?+MC8D02+v4Do^wnhjwN8rzN&XEUKOsaqqgBrp$=13C2f5Y{)=H zu&V$7nEeS+SWMNOSQ zrpO=L4sISLOn}fopW?T&?=4@`dHM6gueVyH<10G+c$f zEP7N1BxLMD2B&2lwoPvEs)La+zU)Li<}eW=2y&+x1-+Ohd+c7dc50v<^Gd)M>K`V< zm1a87%zMQ9dTj(+1-`4n$ff@n9^ai%to23e2;Dw3h4UyWWNG{Q&GTWJLGw z+Sai5muK4vSGUBku2~|P`M)#Anu$;Yr>xtntlgN_Q zQ>4f@Se54Nt!Sh8^Q)G%l@Ro}>`F>ebso*|kYwo1=+Re&GY#5O4=OAb(F<73OHj7> zdcxo|Q9-v=(5eI;LY-|W-=NVVC*mnTo*6mhS1a2vc(}=SY^Pb?!@_XWjM6WKn6hja zhUfCPCSOE=H*lL#qG=B9v3=~}&*l~Ipo*P3n)Gr)riw{a^t#rr2ULpQEP*iHem2@p z=y%~8@6jTwpkr~Td*Mp5$?P!#gr#ISFM?>#?-RL4e1k%dIcVGbdHdeZz4(xoQNxtV^iu21=OZgRuvcUV^;* ztWetH8hm?~8#I<8prGx-YzO8Rt-?_nP18Y5Y{dAz(jQP6B(^XTtf$;7V1YYWRC#dG zx_S4V1ibeHYhdoIIyUM>nIImLbr@1;g`J2{yU6jc1poU8fTJcSkv?&2RNixRcP+F%R}0mp51) zXqG~+TA53nC0LVg^Grc>UYcz5S#SM_)vBoeh@PMA$&faVV1rRXFo6ao#HXyi>KtI^|B!@!>=K(lmhmBY zxVbUcd30~vM9a_~ezY-IkT0eGRUaXED7^ua_93S1OcDleoSOUYiHa<}xixGR*k8WWfy!zl> z@>(O8+i}oJ zs0tBFi`k9$r-T_8u=7dHvg;XYS~YqVX#JeszsK$n9!+>)JZAM12kF?&Z)sEQzVBu6 zg%f^xuUc$#cC-8*=PvLi)^(cxX$W3)OiV$grI zM{shM&wm*a%{?QcLp$P|-*M~UvS;Q{wXl<|Sm@`46slZP?q^M-l>iF#EH%V!fGkm^ zFGg(nc@pY4Hx$6C?Z^rUpMJtmN%Wd^dm5@bTJcxrt9SBR@g*bkz+Mh;lq6U(6UzVP-!QWjGU$|Hgxtx`3@8ja?=Oj=QS-MY}&u#weT z8LT2p4hkwH{;`;s^d5Mu_{a7&cuWDfo0e4Z~kXc7x<= zUjvB~=@ahGt|Y~Z4god8<=9h*I0A0X&~g8}dwtx>5a%<1Rj@u#xZaJ^k# zc-z?b<*C@k7w6+fDn_PDWCmg9!kCj3O>GyKyC0p~cR$>;y#8c?!Hfng| zGqA9bz2g_FnV;3xRR7i(lrSHbYAvlUXCyM?BBi7OIYBihp(}5$BVtH)w~F>zSa4}w z&~@y%+y44>azy{eAifPI?*8uX!DX_$m6vG)zCZc!a#)y7!Opu&OU4vAXman?F!}UuipjNE7`nZ>`Wp^}N$UDR4GtF$hAn)C;ah`yeFAS;hJphuAR}VWDp@d}H zCMT&ZcX&)FrIM~wvxm@{Bvw#E>154u9Sq%0uD;)rlrEO|vR841;|f(V zNx7zJXZrmj@Srh$%N{wVbt<;@yMOnmC=)&1nvXB#Jd4k`I1=V8sy6CX7uUA%DmY)S zxZqW}RgeYZW@2pnOxUtYH+_CK;Xc9Qn+VLyj==rV;Z!GJ3_x5U1FT5Llb)c4s z2q;^!SLbN44DR_a7qBtB`^TRgbC=PdE<=si+m{u%J>u(JD{)7v)cWIycH-Wf3V6b< zG8B5&mQ?o0d3v<^s!OW^m{nK%^-G7t4?12iOCESyJH!u(|4|D7*ZH|RqSMxqwke3$ zHA-X+k9lTS)%Hwe%WrjjJY-=5@_z4$ni-XK|BxYq-ejDYW3?fv)R_((dP!fRvKap? zwBPh06O!b+E;wBlVs%uhgBNHu7&ORQA9dl8us>R}`&Vui@QH0H1hs9yY&sPuQ$=fL zaZ{>xEUX~~g1$!HP>}-vmZ@QIabR1*j%HWFmJ3mnIkMyb+#r7Ka|GO4Q=*=q)^B4W zW%1Kg#YRiCiqRjtxc}XeqK?w9k34H+=?aB~uHUL#mNc(uzA3Zj3Q}BR45IJi+QyQ~ z@@Q9}5n&VU>v3jnd2p^4m=ynb*qiR>8_DcHdnLrBg*9>caUT!}UM2Ly*BB8|1LDUi z#k;mJMJwe}lwH}gFcFJKf9fSWgPc)OThWl47XDQyJ<9sO7;Z`bH7`FuA}woMIlm+D zxVg$n@!P1S0cJKB&u8b=A=zYem6F0pIXk%va<(_kB5O}A-!@H`_I5TY&8rYi-{64>%UF)V>hBpi`Qysi&77Q+CM+h~=yl8XiSq%b}&8noSFgvm~P7qgj zv)`QAB5g99&EJ^0P#@Qt+S-YW{d9MoYF~-(yCpK)7>32BE^{CHu(z^lk-k(7U&GQT zZ?K96*4MRm*N4*Z?T)nUZv3{D?a8onX1>k4Q0e>I6f{Rm#=lLpRG>kR!#hn#v|igsf+XPxSS_l9pdnyoT%>zeniA7wYoS~y-{#`&^$YFp%) zUxV-!O|SuK;HLli5+J0VsH{SsOeXVgajC2=r|`N>Q+Kq-ox;*|`mIQ$bWtSD2%1m{ zwqj9R?xPFK-6Pz{aE7OA&=`szxMdMLMg|(OPEH1m%Xu5H(2|0m?bb0gl|bnqBcD;( zTaS#!8&?IIbs10VqJ581z z=ZIRFYv8A_0mT9cqu~uvghNtJQQn_Vd9M#w-i47@6RgzSYQjA8+a|z9hnb2+4}ASg zn>V8dEj#delfH+fltgUbr)x{uF7JAc*S@(K-bF7}@a8Q^)l4WEv#WSq$1XcuyTkrb zNk3(E!~U(?(S@YlWG!d#EpGE&+^zhqw4$qdxdkQKBy>>SXnX?o7H{C%#h~(pvo5ZS z(&*GneJ5}V^2toC2`$FMOF%$@4Pj7Grz-e*+~OuoOO`foEpJPUG2=%iyyN|6bWn1e z`M7IHgUJN&!NuvWY>6sw-^NR+Wpr}L-Q*0{LFpg#3WH+k&McPe*t9GFuzA|Y2bhSs z#v6~&$|Sp;Xo3@I@(OL2sjX7iEcaB;uq}~N56Ov;OW?JYH*o8>A+>BV%}K7{#zA7p z_u#aJGrKRG4okyftml1}($cOEo0wTNA3lzj?SD?cA>4cD$Bm?euSSk{@#QHlnk-`i zr@DCyo61H^7F0|S1Me>Fcx12$<6}7wCWofvv270=#$kk!u^f&K45>lVfhW;oSlzlB zZ=}Y(4+S#y+rMxL>)ZX{yqYwR1Y(G~v(41fcthyNe zRbuoR4*}?@dc0PIm9aQIv)$4tvhRmjt?yS&EABpNaYggytu3<50QPc8OLZ|qPy^`b z*80AAZ#SF7S-=@{G^8p9Kg%c;NTT2^#pz?qCl9|%v2UGmvwHIw=$NZHS?j2%ea;Em)FQoh6G-d1;ef{+c*ax--Yyd;FURW))s33I>WBGeh zEf#eA`ZkUq6}kY*Zm`|$<$6mM3o;Z)U@`>l`0>bXeMZoPdlhu|s07?TR4z@G6Q-o)m7V~ow5jxCdN{#L~=^*ekS|c^{4;4M4GQwDufX$_?wwUVQ zujV{0%a5BIzrykDO2N3VOGLYZc%dZV$CB9(KHg(N_!Eov%`&VkQE!`EOk=D*OF7yV ze^DNPMvN zgCzBI(PY(bm)_NZa_js$qzjm{kwCV>FaM1`v=H{{ONavJ#(MySiIZsd{qr*eKZ^0) z_14QDs}LpIRFxP}YDF?D#oO>6Xz6k_9JcnRN!E}m+fb1|ltd*rtrc}H`-cL&Hd?}a z-kJaKnGrpPa+n0YKD%RDR?WO+=S0wm4QX@oI#lN+Vt_C{U%8K?L3j1X{q?Tc#WyCK z$!<$_&~h`I?1FL1J&1rnMO0I|(xUi@7dG?lR#E^3!Em~vxNs_YCHyrKVxhk$UIrhq zP+uLRAUoqhqmqi2WIJX$a7IJ+&F_PnOtsZyjjx!Wp7}Y$yRPB>!xa3PUh0f`-^{(l zU9(c=BeXBqRzD}y8A;M~FW^j+oSm6PlrYJ5J}+sJHXSs|km@|k0OpTHrKk&|Np;iZ zVGe-J#aF!518^gBULprP5lquZi-Ik0SzgXgzNcM^_nuWCFMczdfvHgO$WiimqD zCYDF^fQl!sT_u|jE-~DpsPZs#>(vXuUq!@Zg1lEAq%8?{K#WpC-piUZIOlJtb++*Z z(KY3G=p7p=Y^woi3K184&6=SCUO#LrHknDLW3FGTuNWJfe7o=4{nxA;0r$7xb%m4A zcj}tr&Bj`S#g50Wk5ngal*zlBZ+(Iv6!v)f*zu+RA!AdETY0(sFQRNo;-gB}UuMhS z9NW<~Feg+cVpVJFoO)mP-8^kc9ENa(+>%qf?fzvm1bbQ7@$|h(09Sp<3WQiHCUXg^RYB2;1e03$dn z3ZUPeB6G1tX{|y3-$xkE&F}FaZhTvJGPLq425wCdokhN&>f8`CxG7K(GW=Kli%|6U z*(GKBf{Qk&Q<*o_*4`_u*2<^&e(Xif!ZwSq-~mnHN|=nr;^peK@iK(a2e3UW#GGN{ zor1|bGvRn7+kX7RE=JLC|E;(H-Py-%4TIj`K%C&g4(B>ynQr6;) z-rG`~ku@^y9&u?xRV?S?S|f%{1y+M0T<^WDt9ny(F=G+%^ZKPLHG>suyATx{jlSUG z**E$WWlia-g@ZvAVXL%4X`M*VDtKJSln%Pl^g1}g zeQbLP_0pl05tqz;`RI!yci;6{hHMX+C|V!nIxSc*HyxWe`Fpt*?r+?4o$@hxJAk}Q z092dbeHR?Ca?v!LbwBQiFXvnN3Tpe#@Mr#j#nBCq#jQbsMsFWG9PUWjFn}8pw@$M8 z4tQi2gAyo&)-Z>#tIHP3n^Py_lBrJ&zgFU3vk?ZL$L-U4GBX$Nvmm>KoL2;#->fy_*-BeD2-9OGIu@{^0JQTWcvg0&3SpPynai-e z0^4H0!coGQl>4eW@!s~@pcT<>{X@cH!frzJA`p7d2@3uvu!}j*p_=nAVE4Iu$yysA zwNdA5sGDO)6`x&3ITirYY0eL}xjR&WWqJ;@^mDnDp8`>T-iTqnzqk&0v24i#NK5rP z_Im%h0cp;kmMz7$jT0bi`1Q9K{8SS2`XeBBplT^-{xu2(;2Mw==sF|dyK9;pjy`V*8;~Sp_D{xsaAr^6dovRc5>(9Eet9DM}k(< zxuvLPBmJ{?GW6-(9|uD>A6Yt#7FVWz_w4z$Vva`dJC!D5(eN?*^KkOap|l1m=#k=8 zAORC=iq)V8;=#HkzZ?ZYGijKje(v9AjKzL+;*91pUW%1BYNr2pd z=&jfLQxv7V@8ldZGPc@&_;--do(TmW>C)0(%P8P7;o9?D(zj}H_fk68Yl>wl`mxWg zzjd8Lkp^@=K2~d-4-$(#|PX+XXtaR`ugg5@s z2PK^6g!*kDk*=OfYns72j|2%~fcwjLAx_Wu8LM-c1Oez!wnEDweHm&iY_QbzlkN91 zw-o>nAwh|w;&oP=d)VsD$76r+5KnrCRlfQ^aVx>m|Ke7K-v2GPy5ard+pU-eDGM$; zx8bGV7caf{pTCZ?26Ov;slevZa=|cUlv*yJKf(0*)}g3#vO5 zo8a5KKaH!qgEld&t1S}vo2qAsLs7y^0^pBSUBBCgGMMYR4_qY~ z5CuiuMSlRSXz|^E?TO|*!v2Jvp3UZ-*IX}`=_f|jq^%Eh0ZpKS$|cB^)MwEj&IBYE*o*QIqJ{U}o9oZl2E zfUT8H(V(h^1x-5|fT@jeApJJpRyQ2;o=?&oNbUept1cr@Fr_~%X}TV~YcInD5*;hg zvGSks2G#Gz*KPc8{N#@XqGKYDnuRqSXVf2BFF!tByf~aQ3{DHNvvsVqkLZ^tcO+}f zIs*5P01T%cn9w^GTAyF6oUo#t9NC zYAQ(e-vxrY$G0eLe{w8!gs8$S=qgoI_E)l)phKMq;110CyTT#ov-5B-z?@jloSWME zYUh^Rp4UafSIlCQgCR`50wL4FHe`<{w%~L%M4TY z2B`kES!REl@(C-WZ2kV_GMo1!I|B#oc0)IYm=RJyK3eghKPjwKAH#_|Rvc!HGw(LC zywGE2(Jw@8ZUWF=2TCTUF(_4iu;WM-;IcG28NcJRLUnhafs0x39CJ$H3Wr@kH`GY1 z^ZjqoVlRMRX2a;qH(PvYD=84?7CCyw#M1Ijjt2$+Mk0@$Q<$i6J< z^BDiX4$N-Y+v@sm)`{T(Pn*q69p!r(n%+Bh=eGq1Y`9QB;6H2bHXi)nzz_c|A>f`{ z1{ewK&c++s@?Mve-`BUiz1}HF@pb-off2x4UqBD;{8oSu&dKa`eEg5={{>F@-^R25 zH|}}ZEf)lT>|`#|U+SGCT3nuIww`ZXGGsqCmh*d9-(b&wRoZ>g{@0`_BLNXsyeL>-1s9lU}R)=Lel*M9{^pj#LZ0H7olSMUli^Mxx{2y@0ILf52RQDxqjzJ z(7{D2d*UPbX+8c-4?HvUQHI^FO-=;T@Gv>Q;lL`8V6doc_fElpfC>vh7AFm`PrMXn zMNM?z?(4d|H_aP12L?q+83zGH7|eCF7PDqQ#{;F@3XP>F3p1LT6U!?bk1he!QCn?d zxRBJut8%*bwZ-eC02gn{K06(0;D6kH4=2OuSK#whhos8h|8)6f&bw2N@mNJOm)Q~% z<+^94*pRLolwg*u1y#P=RTLCfGfH@17iH*Lm?OqYkDz)&rM$m}$hH>9z-BV_5CIiy zi7gnodXS;u;+6OzO`!5aEvTD)L)@E^u)6NuG16k*b&8uLH7rxLvu+Z1g5!%KCZfGG zFu*>-pHye*K0!joG;Cc47=#6YBCMwStD(xSx0)bY<>r8X!sOjdECsBl)l!iLXyw-t zzZ~DD_pFCQho&Y1cqkbZxjux4m=PiArf5-GZuD2^0n<}R~ zo1+x>ay!np`PAsk(k~SSztS5}h5XbTD#}{&7R|8n$0Kmlrt2=;;h&CoX_3dMP6aKqQw&wB7}d$uF}=at?17ZxMzNprc4U|8^yWp76|X@isx^A z`nipQks+xTTg@WG}ym7S4VkWkT%p#=j_|PtS##%Q_J`B#+b?aHmwX_*6+QN$i z+_XfvLic@o*O*ODn?&huJ&1(97sm@ZkG&#la;bPnrAl7#6_B&|+`ZhBqia))6qS-` z+f{&XaD`7F)bQNS&P08XML2#j1)fLow*dNAgL(|+EI zidKSJwH7f}*K|HbfK=ks8Jt4W20J_mZkVF;Z=Eu=WuV5IGKuMTKG|Jw5Z6C7J@{LkKdrcSrtvv+{P1bC|cSVuCUP7}ez$_8s6Zg7Z=NeVfM{xUE8 zi#O3bIOs+tzt+vl+dm-h9?vos=;eUo-UB<+&uz(b|2xA7hqtFl!1k@x!~na{Xfesa z>#xFXU5s8`@^7-awwdv?l!N~523{@j?r!{sDoSFZ@3Q{#1&^hhB@GR?qxDloMo)3| zQkVY+yc^6UDPs3R-rI!x<()rk!W7_d*f=unK7c()C5NyKoX4bpFPHSW=!5r3Dyc||HuqRtUd6iY4kejrS(4wqXBqW*HiZ0yM?m>iT? zZh6x#O|zrZ{Ca3IAPSOcSD(!gxl=GNjKPpYBUB&b5|}SPbi9umyu%4ViddLK#35!o zP^UM!wVpAcC#VGzy+MwyGDRz-On)B>GwmXUxnB6n^Qzl-Mb+A^E15m8Iv z0D&!d+af#s+*;yYR#J5h_9@EnP(HH)Pq>iRyYuPddbVseR*0<1Q88Ka8>(WAK`IBY zB#48#jK;!@bb(i6FR&@nqnIF!ft*#~V1?w?M6DF2e#{Xxpoxhm<_EjcBkDUpe4)1% zH{x`Bl15M)AP_c8o5xEbczrMHgM`Bvix+i+ z`1k;AN?E~(nnEMiZ%E*M)N63Ei%FQT#V`59kTTyz z{lAV%%Jj7nH=}XQk>BJ0TkTyGlIx8%B71>IuNJ2gik-}x4R)b{HF7w_7NaDYENgs1pI{VA1{o)R0r-+ECZm#0N$L@Q*4wtxx zqzihCG^sKD!d*Cz;;VERD%iJyWsHj98>G|Twl=DmGYNN*VzVt<4Me_^z4j*hYD(y} z=YY)3KphrYoEr64*GzTxAa%Z-#A+I*6_i)bU8&s}Yq=@wd+4a;`#-5-xU%H6y#~sa zO2{W72jr%_M}tkf{h;Wb2*iJJI}{Fz#TR9jJ?cr3k}v3V)(|CD2YhI}5dZm+H$WWS zo9i*%DiBC+(R6G#D93n<>uFHS^f8~efMW!oMh|1%b5N`^97)_I4&j?;5VN}67LLPx zRr@4<+;fQGA+Y!Z)se64YCsM20vryC*E8F+&kvk6Jp^o|VwB(EimL3NW!b;rh`#}f z{eUhTq6hg?M@LWXbRGQ7IuEWY>*z|Y&+Gz|{8M-!S@r|M-0r?x@P~Spf0dd4hU@vE zY=bT?4V{VCH`e#e4_$qN5bXaU^6PM9mcCL11uL0tgLOwe4=w)fS+KCqF*$(9f1ctB zZnC4S#_#&E409>zr{`3>7MEi|FFRQQ1|=ff9nYXQL;!<~H@sf8Tg6V8)_&5JN?s@H zwI_>+%GKiQ*yYLgl82s(iPmE}Dr8nHB@)^lH-{<=_LW^Ro7@dKBsswTS{I77$&Oc$S31QtY*?+hvYDo&k=8@WWqelJS~@jz*Sk2 zysXcu`MY$=O!NwrBF_y;&yFX^EJ%MVeg{lVfB>?;sr71pp5mJ z&lx6dgj(FU_v{Z$}i(ec&X_MAqY)>;P)L92;x)Nl2b$ zlg=YD_{r*@l@BC%+KGO@IYmW?X+`2PEmDNSi zpFSlSxJ@u>P83Ib888mP%aViIc@eJbs}l?Yn1w(HfaK`4rONUr zE6tKuj&C8$OnM8(Hm8&?YI*u3^hZ|rk+8F;oI&~k8V_F%qPQAuH{!CQU04PPe2S&6 z^4G#T4yKRt>(#hc;X}*kUUIgFPssM%Ic*J0&5U6!nx-LsuWe z9yG5-MjgaoO~BkK!#5{ zKm2C3n2=p;Tnfj$q@E}BDm;&H+(Zt( zLKirjoXq9zsKON0WjHB zUq4l>{lFj#Opyh~h^*ovjpWj+G_6zF_ruxwW`*MK$wULA#?m@DXTBIdX=e9L`Z*psJi>aj%_Y5uckB8>-wiS)ID!A^t6%7C zeDVg@-i2tjnANLWx=7Y=%@@(V&8|l2x5o{*$`tfG%VkfRq%HC)3Url)Xix{O{o%KS z!!}%3Eb%w5PVBuM{HN3kZ=J2sovaF-ar&2*3F_ZlIX-;x@h^j4f_PY(j2J(G4k> zAO_!08_ECamrG(Xx!x%=2WvQnJ5S!6RxB zb>yL$jj+Zujx>=s2{3oF1*G7l+R+OMl*X->FSG{>4h#j!x6>#e7v#y|w4qIB@(^W? zfqVF=&i||mbg_S37Nc#rSon#RG3i3CM!ok4_BD3u(j8KNfLWl7!0WPf&@K*7!-#T> z<%p7*d{X*)BDG2UCqDYK>+Oajq-) z9L9@>RZW`}d8Evk`70|@zB(&a6-azDRZr>ja_YG9)zKHaHZk85XO%z4GxWUa-Mc-x zy5#tzFmoP@@M-)8N*t%TLCYW zH#(&(j(;q!k~5v2mxtyr2WX*Iw7p3oJ2zBekB!nE)!lUy*V+!qlIkUW%r*9+`AbCX~dbY;xy8rpxwv{akv_i9O{w0~G`#ecx19go9zIrHh?r z;cj#)flF3>Y+&l8Bf3I&25~Crm5K0+RSW6N}fQ;^gXuug_`m-eI%oQQKN!V(e`ssKG={wW%AA1ac z3caYA>586}!J;G27Hzj_cceE=Jf|l-4IPmTYRhLp&Ccp*LZB5M>-6;G>>$l zZCzTytx@{2kxD_A?}Pxu&7eQSYgg_esGeug%Q6Z2t;vr+d#*j+<@czOlQ?5;ZF&;k zIF_fLf%}(Lxc@66mKr`D?p_$BKU;ci@hP%mo|oin7eDRLbPqph^-ZZBMwVM%*!v{p zYFa(j04cc2JEAUd?Vxep*H{!`<~+3|k)?3opF<#$62>UD~F)sqQ#`vC};xTx`?xqz=X-tj`-))EC~_3 zO?lAjdf4Y-NLR!QYj91(jn(G18Z!!eRtB6HG)7+}@QsR6x)e&T$CDVGuwenW)x`3( z%fYiO>FOgBEl!fzrj(2!|HVv6TKcMgR2=fLP}t3AoD8}k>e0)6QL`>vFHPR$G@h|F zkyx|}I88}u6!IPI^~cxfc1@_n+l^cnpkO#%shFFUNa*C_EyQl4N(8r;YwVT;dSck& z-KvGZf1$|Iy0yQwT2;T>WW#cjWq1X~0uGAvCr(dHlb7CHv&Q;UED2o6qG41OX<6iy*F|d)d zN#B$$@n2B+&1jyN;wy$C8Er_QQ)}&0 zOM{Sm(&%%^GQakm#%_^ZWwO|`Xs>r3GF7tbXHLlNp90Qa%zsUisnQB2q|WIE$w3tA z2w%7@ju$Dg?93wh+z%Wfs;>qoqTMN^yW&uD3ZluJX_WubreP%WKMK+A{47k{_HXS| z06UXb`K`Ss3;(fzO1H@$_Xf$yTl#~!UReut?mz8TT+?sl9P^_!9?+rxv?cjJ|KJ;D zcedHUSQRS#mqR}P*%E86nXrhsUJ#RNE^p!=`0)*|pXUCl;0urFANu=A;wa05;fqmC zlD7|c+lYF3quzp(+*4qa;*)@DdM(*z4S~dTp6LB51uiq+uIkvWZi-+83>=iRbg^=D z{m42SU^E`VCIKTA2m{BgnIV$GoDZt}3aBRE6VAg=`4hLn(Rgjx!XAjK)?|o7W~=eq z-UNTkcE@Gn6C)s~b7qrk{&Le}z-UD3`uq4ElvUmZobo3o{(3~Q>u31@(-<(O-vT&pgp8RR`b5|FF%zEfVy=F#!XC{9;Q~ir|#6D+U|tjr)&&X?~O!FS4<_ zj#Uubk6w219+71h_tD{IN3civV`azsz;6a*aGo~S zWxFIPG7h{1Di0?m9;V&f0H>2Sk0vsJ_2>$<4c#`h%+AuaK?D@_rZz7 zkoR|j_)|;1XM4;Hiy9yTvGmvs&x+y&m^w=REw3(YL2V0=;2U>wdm*<6zi>pH@c^5l cNf~W$_Sx!R41OeC14a^}qhScEP;c{`~%X-@O*f?Af#9y3X@BkK;J6;j7|1$p=_uSSTnc52U5uD50QWhN7UL8r{PH zdrn=q+Q5HzonA?++yk5UJ>xInHL3Gkb!TNeQ)f2=M-vn?TRR&QRwpAz6BAn}b35l< zv?ehWlqV?CZ(gdnCvVMoB!{isbne3-W7d5fAto$FTgG8q-(;lQVM^=7@1N1L(#Sr4 zQ~oHHFGEp^PV@7Y@FeVIABPc&fBGs(2wR!XJ&DMj7iOJ)+ow70OqknCYO8xUIE19GnH2>PF{Kh)0f0$Q4b`S`S%qT;@O`N!6^%}{j5C^Li2 zFk*$fznqri8LNp4b!INnKVu@2=Ep~eN0#P1!x;}hH5@7_{Z@X)`uLwmJVHjGcD!BN zf0aynsUkM48PD(`PnC6@;U8D}@ef#YFVln6V^r>A<`N}FZ)cbkb+sQkO%$8+kalumj6GK00x#O*#Gyd!ZL%W1L_0T zQ{@(+RHC(A8|>1vv$HYalNm`*|Cu978_(!np4y{ol7&s*=iw)Fkd~F4>Cm75KJ>-t zDP^{xJx#;~3HMzHyLNRmH&n#P)0%@Mfzt@1K(hjM9%7cd5P&Df0rzYEcxN<68S`T- zvzp`4+7Lwq?B{FDsHi9b$K`tt4i2hS{liOJl_tyU>(XPnA4;mK5SPe9@Bqs-xc{8i z$Woa*OQ>Y=QLT9p)TpH4Yriq`Wn6vndDVNJmbN^lqxxN^*Wi5Cv-OkK@Gp;OCmOu? zQCv31d2O0bXT2bzUVO)!Fn*gP9*f5zM68D3Ry0t{e9n&+X58j@(c|xo=W9goR<36F zT%6#La(zw}^;%qCw>X)OW7Q(zwIq-Xr&uV1iWyB58<;|GcKvR+GrLm-ofwunBiN(( zzWp=0rm?>9>TBmH(XaZRYebGV7_{kmUyZ4~RdREcAPv*_)Q*zEbxDaaif&4dBcj?2 zDP+YeuQGw46{4VF;u>FHB8htOCEz$YsrQ=reFBd~)Otya{(K;@E{Ev# z#cq>>lhaZgo;Z)q#Y((h0vJ#+F){D+^=x-{_rXdVEeu?Wu3v9M+?OLI`#!ZFBA{md ziM(eQ7u?2O4*_5syIiOi>Dqj#G3kxlKi@2Jy1w)PVck(;)M-9Z{Itxp|5N$L1EUDh zj;RW(`?$EPJ9WER;F(a81sp!D^v0tV`&_u@!5RJz(ZFn(vE2Hz)(~y1`aktharX7q z7!pQC#*NXO*C|3S`$fvZU%uF*4y3MZO`?4IgeqI>fpio;kzRJqju}N)WDQ2Bl7#VK z7;;++Tk;G)uEr)Y<`{&U|6#!EOv2)km3}(j5mbgWw_E+_U|Q60Le}7Q+R@gA_Hl4f zadjXC`-PO$J#MoBUZWc8;9xQizm-Dz4XjSof z)f=>7fShalcn1x|d_132&wC%;3RW0c4(ZH54`ozH)uyxg8_1ZxSd7fIL7~v2Gwl~B zPU0!Oukl3RRN0;;#`;(+hwxaAenF&C8&qC>?WAU|JR$mAS0`L?b(OQdt7nSVVFRyR z*=NLR?z-No3zg7C@qU0Yg%&{`=3J?$aM%70i3x{&pLs?}OY^|8F%daVXhq4> zr}2Db`Ra!PPo8`EzCeqxVb!32)W3BQrHeHHoci-R?Y7^Ru`-(esXRLR>#TKPva);K|ZpS--Q$Ilr4QJ7P8#`zxc4@XWU%aU%TQ0+Eq0 zY;C>w(spL=YF+B$ZD)2&c9I3H=NbzprsDK&M^AHms)Cf;m4!WwLgUBBlBOnc<++p& zSz5`*WS$j@aCMR(T*{!b5bRxO^7|j2x5>oi@_ci=V2PNyZ2X(cH=m&W5&K=j5v*F@u=E7WHt9LzgPAX6=PEP-wp65U%$w_5*JNA&lr+Ajv>HM zf5h{y%J0UvBa{@);ts6Q=K@vn=PPtv3IUYnrkiW44?4QKIn-~sFx+iyYznNunnZ}5 zKZ6zOaKp#*)QVXA*GRcd_ol3hAT~}eF70Du6)!r8|AJa3o5Hx(c?I7J+nGdzwzRS{ zogFkhkuP<1m}O=@$-C!Xr`OaKRu{y@v2X2G`%ZIo(}N}}2M6;$2L|04@=Tqyv{#dxu&S-bG;m@BArR;ZDhk8=h>4q(`oNY$7y?_9uTqcS+1Lpsyd)BupOG*KbO>;@pAb@;NxT z%;V6M&u+Gl+^*hWYG-}DJFln_t9iD;OCH|V+WK3&hRfB}HR~q#Ltaoy3gynu4ocPw z?&hvY+Wv4KM2ef{44-U78Jy33PhTpDR0kCKt*x!!DmjlOBd98>^*Wliw_*ZsIp%*h zTT1@LCE42hfvvs0A=wzXeGZEXpfsFH^oq@pr1IdA zEhf=FoJ)d;ASoFXd^-)Z#uwVs(q+c-x%*`U`h0|3kDh@LX#sb54-1Rt;N0b87v8BA z%>X$r;5n6+$?ocsN~PlYK9;8z>#S@m{4JGm@Ci9NA3ftzvTTiQvu=8%zW%S4W@-sq z4|z6@as7Fu+?`Qf3EJK;iR(V2sTFKuHV(gQ?;spf)aJFJbmU?P`$U}^J0>p04}ik% zo}Q&v#vfFf%rBmnXygkJm zAzJ><^P2@GCZ<%<)0s?J;+}YRyAtmXjoxi|6@S6fCETtFg5LFa6_Oc->G_x>=A%7) z^yp5r+Z^jJlU`L*lMu)IUBB#i8%`HiR#L2L8n4bvY-fZPmzMGi;hmkq@e*N+(UWC0 zzM@wb^TYgTCE7KP&VKX$-rJk=^MF+-94uh&5_{HRwJN1$y-PuT5u5wLVzQK;b7%;V z0Md`tzGwb!3<^O?(~Oa&Qh+=NVTu?UwGGD*Uq8Gc1;L1Zz8d#DS5(XOqaJzqPT^bGEXg z+^%w1lDI{7XIG41XTfNRccgHNG0-66O4f=KgA1(B~6`^pP3kdoCT zDk>^}XK8QG9zFE0p~@JQl9A!@N{)(>6J%uU5fs#5No#bTFK7k>vQZlQ`~wZgVC~0} zh6d51Cb1wFE12VQmqD&tk?u!TBEY*Yf2)@mHl7w~aBuc4N15g**fnuOsQoVeeSIz< z!&Y9Np8F#T%mO~=F&dM@6WLMYjXqvMxa0$!)P8>!UI(k!8#6f}`V0^Qlv!MWj4cJ= zi5nhS6+I>(FrLy)mw2G-xlZq$r^fj7sed%1!roZCo~Z_PjmswA(KbB(`G>s6l$8DA zn0Tf33#gCrm3LoK3cDK5|Hy_2I$@ZBIPd5PN)@Hf(kL@kIXrG38j1uYp~Q0RIWDzO zOyVrz&lNTlDpJXGK|bO7F7U*_~e&;kohH z$f&E6V6XbMeZ^;#yBN?b{=VC!^`|3@yq~JBx_Y=qmRLkYeY*$OMHx(gZ#>s94slRlCF(KJwdu_WWeitg<1akr5h}ot-^q($LUw zAE(~g)u(HR}t&f zPN$q##q+bVv1xqrqh~To8y+jtOOuYCd ziA@B^q{h12ojar8V33zhypxf^3M1n;+^j61I7d(?r=%d8ZoIz1bjkbIV7l}?JfkY7 zvg~1or#my32fgeQQdQE&7njh;=GTIvWRJ?JYF5N>GRnk*}g0l1ZB z!K56}qVHfa`s2q7*X^lT#GxNE^Y}*x)+SAj*-BdJGckrgBxJ2m#8<9BktMNv- zP@j`YvwYnKGOi5vZu7-IUoX#=BC4o+1RL$)svka&>PI?rUa68NaYkNUSy0cHOVTy zJ;A0?ANM3`vWUZ{FmgT=d;J?_SOD$i;*m65cQqZfz~sn zlRP6HbB#U|lW=a!(O&PXV>MH8iQn@(@6sA;ilTiN&m7Q0>2C_rpzw*}QS;@i7y?V; z5eGNK_waKNE6MV8q*{Qc8)ynQM->+rQ=~zydx;Lor8=AkA#dNlUD0%V*BKES$|K7} zNkSr}udg3|yy7bMza-+#8<}YEsVLi5{vUoT`X8+HYUwmq`t8gW@|#b5*KP3RHnnE2!enfHIoq7vk6lrzk32Kfca0@glEMqll%FG7rH%6H>D=piH(j^Oo zRlP-i{`{HMS9rVu%Lb+b$Y>~w$&#Uw!$3?J9}`pemV>7$JSN6?q;h%L_!DY?W543} zn!=A|IpQz&PEPoG6UaTTgwlM4;)!+LIpMXRP|+abe!k(Ib(Dlw%>rjVu{3!XQL*bx z-`a=*{Ohc3NcDNRCd@ND9zg|C<0Fnk{wjTMGMr@+JF6L@$j(m>=P)oT&{9MEYT2Z;Kr=J^n5YZw-9QP#LZR* zaq#MR;RUiJZYz&@G^rgGnV2?$!p*!PFw6oOHS27Ihx9cfrO%ctgjb_}$p=l?J(9eaCsE)LNT5oOJ-p;dr^ zmE^_vA$GR5`Tzr3wV(!h2n1--5?2hUgs%k|vsvH`A`R}YYl^1O)VJlY50FGHRNe2s{Jy39FK3cD5sm2Ag19NGA!hmCNM*m06P*=1B ztxlMPB|-6kx_)@r1M27MfBUtLS_yntqL-JKauHDUyBwz@H6llYubnqti!>(VB^ssD zCBocykdI8^vha)oOzN$dSLerv^?Gx@R|0_iR$7s!iTO+|o`5_+vtK;BPeXgiKT-nZ zfn%Vk*U4a(e3JKelg~xvD?8u{U!dG$zEzmE6K3=PUavS1sa?H=>~m`>XG0%aXx zN%r&2cg72Jl799hzJy-dNgM#QypM;6XraPOte|cln4R4)B8;CKFKBCN@du3TS084` z`{ru*D@cam_)ljp>cB96B>+1ZMt35L?lao_`FUmMaX0L=yav`r3Pw8W{pC7yM7{p`8*&! zeaV~wC3f{MwY4dFeJ>w<1W-JfZKnqc$wZ|Mb75iOc{PK&I1bM+C&L08m4G}AB0=L zYZa$6f^sRxAFZaz%guFrTH4W(3lIx5YHI3{5@0Z^UtXPtdau(P8X5wc%Tvi$IqiW+ zDK{UY>18<|)<4eu04$Hhwcl%8lq?c=mZF>p)onP6g|hJGwx}xiI{9&hdla0!Y1)(=Q35Op7kMR*9VSBMbTVJXdawXp50;mQT`KuShb#8XR zc~rjJ@VEEVJv&zJ5^DE>+pJzPERpxHVizb2>;_TLd7=3fh`oAvH2>5TUguns#HO<| z;M%l4GRqn?zM|mjLk32<+WVLgs1u?K)x--GCBXE0B&mIy*I=CwiHSRltj70x+4CIi z?SH84&f<8ilCmX>LrYD1S*}Tp)}z`*kbVjao13y=RJ~5O7J#6pqo;3ISxxi1UYN;I zCJ|XC1$qJ3BB#B|cG6HL(uQMVesR%o%4~C-bpj3_YPdkdp%D0zkU&D@Q^(PJJ|gV4 z)BGjU9}ROTTR{&LwzH+vxyd>+yaCb;X8Cs%;=04~&j@iUD=Pz=ifwTLl4;Q$Q;9oh zvs>ZGM*(#@81VJQ)zvto6d;Rk86=8;pkQP|!o3#&Ed;#JIEdMGjsJXkM90A32=EaV z6%_>tWK3Z3@rg42l{iWyao2lBaW)Df*Cf#l4Y4Nj@b2ijpYPiwj<#X!vdG~9rQ|2s z$KUKET{g#zrpcG=9bE@XrUCxRuYZ=UgO@1KROPPrCn0jYOE5yo`7HlrNZS!g&j2sY z>|ojLTgHx73NY?~Gn6i$#0M;m!(*7~}_z zwdrzKr1#~1=Pi7-hY*(;b>h;{(ymX}aMMbJHUn$o&!0CN;{~$%`aj0*7-?x~-D);e zG&Bu>`W6=>3gZ1RJ-`0!G~b@z@6$`S+yGjT@tA)M3BkU9|Nh%yv%g3qlNT_*h~3=W zMwY&OxyNTS^#!m-R;@}d<|HcpehTk~52!_?0ZYtr>`f+9ItkOFA|xX2_dspy7#SHU z7X=a#7>IiaYQJKOk&eeUM!GZMK96e%S9taFV@6GyLBqm)Bb4eNHq`KzOtPUtSK*4-N!y0DLSQU0q!bC1nHy z=)OdVUkmh}9PwZ$ivC?Z+AZ3GnpkYbZ!5t%#BS`xW&sC&?QfkX*RTlj^Wu!8_rGmB z#lFU%^U=?sFlmAUy8^s!#B`0*(fUXyi+VB}I5Xf44<9~!k*8X)Hj<5p0wB$Lx;hec ziEbS&Q_u+l_;9QEZchDff}^9O+l^EKy912KAB1Wtum>34B})Mg*57lqF%|;$4Fdzy zv@hYMu`wO!Sx^Yr-x{F|ZLf9}fyzd~r4~zGQ3vw@cyVC7u4lKk7m!M~fec0kB;+Fk zfrQF_+ z^ZKwz{a-QuKfh#3mJ}Hzd!z)m{yGj}y*Po}c^q^zlJb~81SD&qWNW@9013pYdYvol zt(izgMfEu-=rK9DY>nfJfZGnm)2B~)%m+~v6cpHWYTp3AwqHq|-)cM*MD_bdZx2un zUxOom>oy31#|76948X)g-2-<940MXc#l_;XG9&P8K+Gs-$`DFn&t^fd!M(GBxJMj9 z#SyV;x=%rqxYPGGwLz>zCnxuT=m+I9`)vpjKpuPw3b|+o`D))QApi$|Iy!*&E}h6@ z(aJyP-3IhH%lITf+D7DR5{tjx$L8i2mSedl?Ro!hc$Lc>lXWOv4#VKbhlfi*nG41h zC}-mWZyvw|21o^?$~BHAs`=_KLBcy)?*e-Xj(28?+0Aiv5+aIO4stU7NpTn4m98`ax z-Q<`G0ZBnAF6kD!8zx~C4h3W!v?fn(UD{fg&D+)&Ckam059ivxZ7K1r%#(k0$Yb7u zt~CHDY$BHV3Yf0Z+1^6FX2rLr>+@d28el4Ws8d%epVt672~?hIPeF&fpiud5p$dNEX*;WQ19=1* zTEH672LN`oHOVat0gsyu8r=FEB;N>x+rV*00-*m!I^)nunXlKBs^^Og1jX9aqtWAVRpjbu1O;Ri zG*<}wx#&bniTJ;8s*0wcgAGk0f+`I3CEJPhjDfwDEa(&jd`6U8BU!0HlUFJ!>=O9g zi6^oO55VYpyh{`72Ri#c7S=C^r4H}__+DOKy59S5!5a^5y9Kv20w4ne(2xtDHm(5Z zF9*#JubrA;P@V=Gyxh88H=hA^(3ij&0Q&Pz%UzH7tS6dJw&4ygE-M4VyBW7_N(vG8 z?;ubK4Dhv!dM#e+nZI!uhYi7wo zUI7^RtyRT_0@fPbBAwf;N3i(yS(|m!QH8Gpc#wesDM+vJl2U`@?Ro5#^19M5*VorP$d#S{a{4n>o(`!1FTW?#H^IISF{RnM~k=hrp=? zeRhbL&n+S&g~UC0t;ShyqXKk$ns0vqyb^N!bL~Z>R#eOQ__+FT*!M*fD=S%`vPvo{ zR)8@+iD4%yB69D+0~65aDYt^*0zQ1(o{Nsg2aFkDCj;E5x~^^n5b0mPegXDnpE}Mm z@U=z184AT?XJ=>AYm`$|RQx%X0&@kD3pmNSwfPj#O2mcBH2rob(g%v`MIO`9f zMfv^v!;{@PsE*srhvEKz=H{bF?PXql>;I1xMe=uy{(T@mvguilaF+dOd+lYGerqoPr_`$768kbJ}6vzCCk_Ile`8H0&ioK=z!78JSKe3Gp+5cg4)2R**)Wzy6+YyQ9LXX6&(A{8l zyiITF>Qc#F8hT@$x%0<=%LodMxm27@f2R5%AY36`QkBEObLe9DBIz6bOekD6-m{SB zck+!xDy$?n{y^8(HIV38F;Dn-cz)aI>r1T6>*2n+-bYKs1$(EZ6i1riG4!tW`cbJF zi;QxL3%4IMR*lJAwqD`+X25nJ zr#no8<2O-%p0HUR6u*Gk@bVWS^=VP+?h@|yvUGtAZdT{cK;@C`LU=*T_g$foPr+rZ zBc5tY7c-AkNSzYqyZ$I0izRw^$FQ5p&WC2zyDJP~sD>xPM!zL6^vL0=SWJbA0u?Z&*2^x|E1BLSmhbAv$}I0_o>I#$t=a2~ zFn+QlkhzL-3v{t*@@>MSykxymUse4O<74?@1d?vYZ}^6oy)yOdLd`Dw!TQ|K>ew=a zxibtopV0%}Qx*6(?<(fxJ2uY^qoHRzTb;SeV-5Ou3KkX94K2y%be$kyCg=;TNw znGto0Qzu1f{+Ai*lanN84(2w$>@w_c@<+78-f@YZc6a2}PxmK9T&N-J6-9babht&; z(tn{9Sk=t)U*E%I;QQrREqkgijX5VnUtwGE5$rZCO9a7pH1p zBlOp8^q> zMLx#|lT=`4NK&#)vruy5QHB)(|ik4QY88@5{CUFn+4ktey_Mh|j3_~nT1 zHBQkuFp>7@>>wwRCtn*^56_Ee_v?JciofYaeF@i>7Ru-E^P*_8U)%1rq&;Qn;gE17 z$6QC8mo*h}{gfoU7NhL{fllnW<#t{|eYT9FOqKJku8flV=H6<<&4=`jgtlq9^WEjG zw88J<5t1hNT|Mh2Iro1)pH`j=6VeS&u1Rdpf1n0w675sT`V~TnomSYcc_Ev5#T01ity(c+lf!GXdidbF=gghdku z)3IC{l;M}XKR4xcy#fo0VA=Al#AObOPScM(d2+rZ4wGgCG%rJ`Blo*Q)g2>mr+=jB zHPYVaOOCa&9^;9E`Ip@Z+Rtz3xiVgFXeJ(e_w3ubqcY>^LiyH2&V8xRD-Pxh*BRyE zRCYR%77e*dUadnE7pd2t2%e5Iax-+3ZI|zGb((l9(QGUD)Zuhqjj*`*E?%?f@k|1U zTB2<%{uE3vEi~q|L&R*5t#*j)YMsu4oVL%TA$2mP^~8-Gi;*vuAv91u1kuqx6of>x z8k(I$S5Om1eTAP;J8C88c#`wO=$9Td zUTzJ1#B)lzOy8kagS>FKrjR_n)-wq`G!0ZKC}t6U^!L_QN&_5AwQd&uWVriHwV#W! zCvw|p1C8UT&TrEBIWL+tG>b4{v)xlr+iH%q$O-BR)3$$Gov{8oIM=Sm5wS+zJuSt< zRsEV?SBt8vMb;s-5gP1Tp|kH;X0#iq&QRFcS6Rj>7>)!pX>gg_o3*b#c=%o89c&BK z60WQ|ya&(YX;~P)7MK~42;87b$IVV0o(VoFOFlO-`e;>_IC7jmlC@v98HTZS!yir@ zr+arkvvBsvTGRi+ETvniDkS|u2*$o3_c~V;iO*SK^*F@#vw^_|8^gQBhT(#_=R?69TR@S9+nH^uD7c5$5m= zps;pKl;$m)prf{BAoXw^LchfT5QD2??^EW&-yZb-9A)oG+uUmJo$*GuYf>Jj1I6c{CL!4eD*+zqB zB7*#@M6I{`w-as!$LGsIleIs`7gq(J_LEp$mQrPHtV z5hy@m8WA6|O~OW9L<>kUQFxh!6uZa5$4A~JG|E+G%>in_ZN3mVs=vB(Z_DPvk?oGH zXX6KXGXU%RlXDt=ZyZF$AZJNT02%Mye3jIwrcIs%=gZmkTQZ!D=B-Xo#19}!&fZCq z)F@|87Pd+((%3+(H+RpImqUD`TCmyoeA6uRy$90V{OVqfbax{4eeNBm=0|R;KgBa* zz6!=*XKA>FAGsUW1TsQO`(j>u*irQK#lA&hC%q9#BX!%}m3C+~r05pKdd!Ck?@>W{ zh=N=W7EjaP1I)Uu4tC<&fr3ee0GA%kUaoN6SS<_ywq@o;yoed(+|+My zvn^qN2(C{(P;BOeyMH#j`})qN9jsWhrbgF9z^X<@c6yewS-Yq_d(Nw+r{Q`ZjKUwrtU-fSCJ+mU$CWp}eZv{K_zhy% zKSnOHztlvw!W2xJvQEC^rq=uVnat`C%T;g&lb*~pl^1Ncrtqc|G)lq_9q1UILMnGt zGREo{&2?uWRU^Z5{N9@+tl6ng1l!GPPt}F=AVvOmZl(l)eR0#NJk|A+^3(g?{D1I-$zK;5iRl<52ltiMneOJV_r)uW8P5zovs4i18Qi_j zbkgBp6^Xpkgn1w-zQ_A!k{C$7U~z-V>KIjn;^$IN**{KU3$(*HHz(2N%?7B*Ihx_w zAfOhsIww5Xf&vv_zuw0>)}&srxy-nmOwyCpyMzMN?Vml(M`{NLLJKBm7`b|P&P!b> zmQTHnRuEIu%O(_HfjR;4e;1k^SRiWDZxiv`!gWqrv~Rt!r>zq7dFYMc7dy8g{Kv6f zh@{t$eaU;#o~qra`>NEn1DJk6_D?Sv$lpnDugCW~Tg{uQ0#>tNjrWDKUmXGpu0nrP z^Tumfjq^4`+BIcQyjH7wWx82mC;3!2zN9eux%Z=HNZx%4tWd-d6!rJcLNk7W=x~qw z!m|ErXpPzAjUB~J(A;vvT)_RV;&(~BCbvpzp;=%SFx@gW{0ZmhiHwb6lJTClqq#BX zD@#du9}I@shT@fKNgQfC{etG;d>xp%q(!?mV}+0 zmgiO-cV4(#Kfa}-NiAmbO=g!=eP5Y#%3K%mmDR7HE@e+vi{I&9`m*%!lnJLNNlSDT z;uvm6O0nrFET=cUx}9Yzd8LS<(jaa?e+PF%P<+LS-kLi{T99ZW`ab#)=4^lTn19UQ-j+pg=#>qR4-7CXHN zrms1kN#wL$7a@pCE=05XALM8ifoefJ_5jh+{wlYev~7?t=A7b19v56rt#_MdAB&)6 zqECX1;+IH|m+09(GY*QsRut4Z+!zoUp9=6lWZy&VKP!}AEOB?cn=&i@*4uDkX)G$M z@m;>?ZW(ZI4e?;?TkH)X{un zWbj*LgPzt%k&T&=d0J)1UVwa0*}@whTvrTbt*KE*)3)w47MH5uJ92YzR7W=l6yypL zPMnJjw0_lpu0tFEhV6*soEzxfy`6HqGx?4y3geSTvwnmSi??k*)Q6@Bk@w?5>#&B8 zKadj_m>F0}N=pA@zz{S8l|V9D_*i*dmoqccYIXC?%E5^#_g9q0X|f(I(Y$%(+0^g9 z^DRQ0Mk@Tt0ezS0B^$W=nV}fzEElI?@Sgwr;&BtC2p@1u3ZK09akaxuccIdlerl>$ zPBSdL_HV2oTSdGXE(vGGcKtju4h@XOELtHEDbA9sn<@mN-8Sx;Q-@rf__@HOQg?f} zM^f1U7weba$ggKHRhQ6T$pfb=n_s<~gg+VC@h@sm$m8mU8jXp=CaLs2Fra$_y7i-D z?aTqUK;+Ynn8b5MKswdaj|ZUQJoP)NiJqyO#PZ0w^pPA_ePi zZ>&ovm)_RVoE^6d-8ut?rIEe`BJQq{E07E@?6bQ|vS6&M1*Y~+*Ud$ex8*vkfkA@F z)=|P9%u^HxLb}hnS8DjnVP z$m7m*lHu9t_;{ULr5mNBztS>VUI+B=o)ov6*iM?ucyeC4eBsNTKF5u^3Zv;MBZ-Vm z5f_K@OJNU2Omf4b6>sVRcS?2PxP!w)f>n=q12J4%VGb+3qlt>KEKER-7F126Fky7M5UPg7+!E%njyN~6R|4N?3bJIQn@nLBvIo4aNp z4^Th>H~143VhZO=`Nr^s$G>i~2IA`+{oZ#MHh#2Og#SKkvgefV85EG$FVa%0ky$(W zBJN=_g{~S(LeX)i=kuA>EaI+OKv=+b4!bLCx*=>0p}Sr+K81A;Q_pFOL({anJAG)% zF2e)rx9s{6Q}sPi0RmvpT6;47&q4~Oj}xB>3~e)vAq_ExJW&bO*X=&%@ojuJCiQ>x zo1X(ei-lS>i8x+&@zf~tO$Q@)ZW6EFDyf6ldYZRiPHarFi$g;O0WBXXS!zvMoVv2< zcu-z_=~fhQ)R01vhCGfV-#iam&C9jZcoAM_r#Hj5ej3bWDfQge+Pi}4HIa_KLsrEm zkekh)sbWci>Zlv&Tr@YEKV-C8t|>rzu(BSrC9#=BI+$y6<8t-dHQfk3dOLWWgk!Dt zwK|Cj+)~-Wyi15lwwPwvx!B4YCjuuJbtz|QyQ>Fr*$;QNX0HO zwc1(jNF*pET{%kS^YbDBx$kKAnqTOwj%&9&(YbKbRMTuM3ZON7pkvQkQXyBR7$K9f zLVf=TWDtO|3=(DK^I6z$ksbD%*T(f8`rPIc$~*b%)>w&}NFv+V*~mU zk1nXFP()R^b%fE^useC-D7TKVvw=t|k7^DZ?nwIt$Y9^ss6isXVz{RUIq!$q~1A|0VyH%35i*+?2Vw(5b{j(@m5|hzZ84 zTej)-K6HQkPKn6KQ!5`l9ySFV1xdbDN4$OjXWVfI7m3TqB1s$FMlZ~ka?BG|ok~6X zC&j}hhd|bp@wPY__IqhcsnCSDNpcu=zfIM&7wZ)jHA=&>lFJvdPw9o>Bi9A}LW<_T z)HS&0+Pq!0m7%-{fU6nq22QZF7=8poInmTnlY4fAkgnMK8Aoa_%2$5W zbd{_+`2?92?l!<(%WVZbv|E)=6u4#Y+u^aZws)nDw`siA6nH2h=$0Y zuW)f+oE>a5h`9^EZ;Nm6taZ#bnHQ-Kkj}S0nO7->O9Q3F>gFH3*H*Xgp1mQ^X}` zZQ!H&)VM2WW?;d*v246{qd88vTt;dHEn7IBii?7%0=fsQ6L-1-ukyor;NPu{37oEGE_$ePGR#wVr%GaWn0MAZxSY8ODu{iq@q z>z?{%u@`t%*;mz4zFp|9dw$T1?P4BFRBi=4_uAR;WGv|i&U&?RiMVwJv5qQ^C2dSe zq^aY{da_H;$_QvLtJyzkT;-J^UQw78T@%}?ZVtdQ^20E+L`N8MPfx^$}{m;+tWPo5HNkHv8nw+-wKJb4L2Z zCue3T$vct-wG;{N65MUqcyfI4xT)-j$u27!>S=v?Vv=nqGJIgofelS375cd9k7bJ8+e;F!*l56=1ni6@Gvo zkTLLe&85hkQIg#01Jo)r)~3v2swzCO^rljk!t2~)Jij^& zD1DC;WYEY<%e5%gxNe*xpV_dbb9T8vO64wa(NKrWsEJ+-yMwWe4vo>w`jlZh{#e;@ zf+_fjh6lGsQ;x{k%$%U{9+K?JB%(4-vEZ=-O(vUf zzoq+NqKEfgC=ETK;nS|l{omlf&FH;M%4M>8YKF~C;MR#=&zh@84?<>FPYtv?kF()u zE(QA8SJ21fc&})j7gmjU?WOZ(O18jK)DGGLal(va%Cfvm_#Y zt7723ZI7+h)2c@v;FPxX3Z}nuqo)Z^tP8q@@!C{OqUw4Oas^!wHmqdD7g-Dpwfn8J zKOC42pU}M`WUOYIf0+<|49&!h#?DDlmZ{N2-sC5I^}6D{`q&hHl`I>{t;3V|R&`tC z=A7PS?$2i7=@|T}rpskv7Qc(ivK%qx+IIeN_9q_WXuI;t%9OfnJ-6xMakeyO$E*<7 z)2^Rzc2Z`woJYvh(|nOu;bc6 zh@if5KAL)MBkTqhSYlxa;74w3Y(K1t=*lZ54dku#HP!K27ajGUbwOSc=l=MLPIw(0 zLROP8*1}xE4uuTzCF4fjTq)L^^ye^+U|V@AOIGMD=7^H4YvR zA!8WgMA?=ceT+QA4Y@XpP%>pLvgjq#2Uf*gmLi`kI4ci9l{U_QdplA`s@;gK_--V_jf=ITI>Zg(@og)Cs$U%$b^L>r;iucwT2qdH~Q4JS|chYR#$Nt~oLh7+wM zt0)f0qV=xwOa_aD?Q%{ncgQxyQZxA*821|nqIfKd(n{f)&ld6G1-5z5r}07x zt&rkw<+VC|fpX0Gz8|(KHe3Bl*r=y%OR`nds`JLSOPQP{46bH5LKt=rBla6^K>pHJ z&8l2*tsm<Uvai8oU8V%U;wW_{eBqN=1}xK zUdXnAHXn@M3Twr!c(iAUlQFI`r6GIoOE&j`-f6u!`1Y3kalUc(yhY&Ahm$pK;w8iD zg%=e%TRAUzxi)4qK25=TH86`r1_kFj?Jh~L7#0saraTv1Kn^lQy!UX~LTC$lZXbK; zS0(!CAi1*#{i3nfo21c?U3Pe|JS~DwH&cd zJ0UkY@NWt6dcH|>!48zLS=k#VdB>4w(0M&uydydmuAbC6cB`_r+UtgWb>TY1cf^`^ zu3DGo2gbVIt3YWso>)BIYm9|KXZF$OZ!=iK`b-w2+&n%L;+ojp!<_|rPJY47}( zz#B^80^TUz>UZ8k8=dMbpk9NzuOtP#0T!^&Pn^I+9P&joD zQ6PO0Wv!H$qpYEY#1MU|fkPKXqoKSu0j+r~jN|=6ZYoW&Ftq!_G*f0FrpQpcR?98y z>LK2x&$(SlN70zo(zzzsZH@c=?3p-~GYs~Rxa$W)MG<>T7kUR=x1KO5#?(@;LzTWP zdvs|~in8HEQQp*R%|Pl+eGf{MvyFTua_?#zik!3U{cOd1gjyz1ON2~ij*R?acedB5;#~> z3BEX+|AT;uWv)7|(!DY-5_!H|b@k>CTq;5qyGkKNqY(HL;ni zeNQh#;Kz6i*8kmJ$UUYvNM?{HlTY4D%94lt<}#6y6pW_{%#^^T&P{>yTTKkU%+)Q} zAU`&U<}3I{$odQXeTO`y_JiGL2WQ*~WX5rQEV?e>YY{O*E|!5}9*+@1?ca!o=KaN+ zUVbhbuT%R!+`V;Flxy@hjD75*2qFj=bP5Vcs|YxB4?QX!0}2csdQeeGhmw|Vkd{_~ zLApU&8iwv1=G$|Qdd}~C*Lv3%|9z}=mWP;lp1JRP?|og@zV=yl7Suvi(aB%0NOonp zhC6WE4|*(QCA~jAz#d#2X#3*n1%>Wagn3V)@7J$iZ!Hup@9fOhr)f`E(2BdO^oWX% zbxE(|)hQgO{3f|I6Rvt5WAQ96x7yxj{N|`XvD-aAs%NrTLFg;B_9(;O7M=?5mW_4X zToDeHLGi&>+c&7p* zTwGjg@$JKb`Urs{YJMxqOv{OS3efV}3L4fYeE8tfS44bfiSA%muMfg^O-Uo#tB+UC zfGa|W2XPSD%bUnRP7eMl_iygMPizdM?Tm9$rQp(iu2)fU zVScDs{-#Nj2H1(Hr>Y$3O;XIR)IDpy_X6R(Hl4$edgu9GxEKZ-&Tqk}$ju!V7KSg? z;8ah2e8lM6LvDH$O0UFD>m(&th_A12l48^awC33PTWckJB!&%mM-9Ohn0P3Mwk9?AcqPa1W8NF&_9lPT_on%` zJdZ9@QKiuLVLGAfd(B{Y2zRMgz{+tJItarBE&Q@jn`+$|enPezmSwwXtMcfp*Wv#M$zIXT`_7nmHE zua%;7ms2*m;F)9(tC*C!X@@;h(E(%T#MP@9k zr)x`|yvW&BvQDF(|Ju96VK(FLp`CQ%voAa$);$}?)L|KRBoSlBm=)MOD$1Z&-Y*x{ zbBsqxn&Hff`OusWpQV!Ga3`87(|uu}_yQee))$FavmoxoCUDybHFR{ydWUj!fbzQQ zgS#kZu2sQdVW6vUUbr*fgdWk}-9(fBr0smBb~)~QbXZs_lj5Ep$f>o3p=X zi-JXWMqu4F&M zdrKATu#6p_4~Vm778EQTJtD~-!;R9P|6bhiDLZHOi-e7+BTI7+!?abvE8i`~`kdo| zN%x&Z-EeXg-(nQuXzhSoxW%;Y-z!i`=ifMdny}YB4>2w8p!xan8)W zuWsh%*fNI}FO3J6cC{qLh=8c5OgVY^i5~&1Lxdo1q=s2$W;}z>^=sGGdQe$xI)(W> zufD!K$qKGeU{fcN&rc`fN;R)(s;L>&6B@&brrG$q49x)FU`=dn*k}9j%q13b>3(7n z)wyx@~ZD>kkz84mtfEw$`71X78o9%)4un89Zg*`s!sC z7LakY{;yvL#8g&Vjt1D_yhgrw9-|i8yGRgnPJmX2$-&OjjJ$!ypCR(IeL?nwv%RzmEFlP7z=O3IS$8-l~FCwDwvip##JlmQWVZeE_R{lLQ; z--enM92SRs9poN}95`@*n%DA$JHAJHw%eLP>v#4M@S?2f#WLxPX*xSU;XaW@I+pn} zD+3t_E|VG1L3j1!$&-V}%i=S2_`eMk3#ImXrSyaxI*a6~S-n=Lp2|>xrH4H9oRAJf zclZ6a=Bc_s9eHX2EFAm_(L$Nf;Y~WW3~GJ-RTj48rq8~Nib4m4RZq2`T4SrE)iN~O zSSC&-B|SCgMh%sb;uUUBsM)cxzhAmXB&&`m-5`I(*jTwAgAq+QGw<=55()7+h)tah zHa55Zn8fJn#)fjJl_>dtGO99@Mf6z%M2TIm{K&{iU$I5e*RRpdhN8}E^xM0`q_E|@ zHT}-qO%(+i!;ZKkw(ICXsU5ey>f781JvhHWq%VRq%wa$e<*Fa`d}H2~k@fN8jiyLG zWPy3NQtcVEdXgP$Fzm`h?)%C$D4A-e!nR7E))&iTL5#A-iHJZcIF!@|ONLDshX^=c zcX#((`1DUxcapj_d>T&HjyLw^$wUv_(<`-8@w*(;FfgDCkLX0Af?sR!-?*V<)DWZ* z)}E+VY$J(i-#JZ#A(SM$(+Ep}frm2b=S2!=%zQhd0htk0RHS%N@A$7(N=CNW?h^56 z?;1TlDwq?+iUW1R7dWBvnj=NiM{C~Vhi{sU4OqczS}bFYa-ugkHrnb`lhrF+1v#}! zbo&bzl?)9NgfN!LlTG1l3=H>a1kl}IB)o#zjOqobb?#AZ_B&!0I`7I-iVlYMHZ;hB z^Hn>Z&%)PegMLeP9UrCIvYnCiYTtQart+gjrtn(wly58cYC(%BXGj#95zr>L($<|UH7l*>TH?)Vzs*%l?6|f8@CR4Y2!2a!@T!ANqTkZE>yEgKE@2yVX zbJ4^8=P8y(t~~m^8_38I7yi!~{O|LCj10?i9!K^}F&y6R%2WeQaxSUM4iBzOB22EI zMpw&zzVPSdX8@#>9Sh}(3@!?l4)U-HZ8qC2lxNc~`z}1oti#V7C5DkJceeL1LAzT@ zouY{wBVN{k%oLl@93^DBks+?HlkK?txUaw(U8=Tt4&Ec7TQ6>0|`DdGS^gnMwHI5_a z5ZSYYuMm!e?HAtKSnlt=>??a3b@bG9wh)G<3`0*x*AsNzB)Z6IN*%UaER-Y6ru5bZ zKR#TgzHR#8vDdqY(6g1ud{yzhu#aYMUmu)PY&+<^7c8~n>$_M1Yr0^LZ6lv4Ug6u* z<8`XxVg{2g{=cddeXmP6vVd>=R()}Q9a(8;Y`m2taUcMkT|B>DzxHn>_WB%r^bbfE z%}cdUd|Kw(`?%@7m?UjqQSfZcuH8eT)mZURx$|_u>;Wg;;sgWfv$LDSIM^5$l>18U zMlvdhSw=wy7<^}Uv|j(j(+RA?W#PExN`LjY7nElaD#?Ddr03AveA1ChE?rIQCNe&Q-kL_W2U;fJzv5xcF{7;FMhyfl9LooCx)r{=acWeKlSog3%~yX{dy(n_&4 zCdNYEe5v6Ax4ztvJ{_Cp$7eW#kan`demuOVbe*1N<-YoWtDZ~>Tk^>YmxKEgZToWE z^4u4Q@hZtOj0jS$>PII?#rcZKmj>TLaIxzm#K8|zzIYzJU%bGB2yK?SNqnEA%It@K z+kb>qTu`tDxfn%3J@EMeA%0+LYO*;jwb<5}x)$DjtPBNvit~CJuKXiPcSkU*MY@M8 zD&MZ|o?giljor<875@c2Mg&N@+jcPN6Ykq(8rix@En*Gk8KIEztk1Q{Tl8dfRwny3 z%(n|>qKdTD(_Lv3=Q$&~Ww9FzLszZ2&&o%Mv{4ZoHf#F&v{jiEJKq>ckHh`dB@QIR z7P-&5TBZ+ylFwtvQm?{M!Np-wDe*1ED26_STPGt`mC3C7<5e&)`zVs7+y0zT+V$}+ z0om;`NO0L7*dV6Hz^3xuOq5(T#%&^^gbLJ4)DUCEWlk&APJ1o=+&YCmlPwXM=?fRT zQXU-|Tkb0`H}CPwEE%=GOVgdL+(g}FWNe(KFIsA`xIkOtI3ky^xap9JY+1-AY+mIy zI{VKSU@#&f2X8W9AD7tAmp}sLTYG|%v~I(Znw2q zxh~lpxf9#8S-Y;~DtPOyqdO>ZHlD{$ zD@Ak94I?FsL8HfErCkA1qjE)d^W z;KgfHpYrbdE3=_Utu&R)qW6uUbC0 zcfv8Gj|CQA`s0bT64zeN?&bGkVdfJnjP>Ds>61;U5A4Y7G`LVaQB}P6`*+joZ_2n_ zvyAqXN1o2qqQ)8E0EKMr%nm|j-CP}jhXCgdeEe*WXjh!%O<$s0 z2K2)h7|)kb&6X|f(~9o+^9mcQPASlK?(AyVuu@~R@Uc}==J@e9GNEF6L7O_RIBrC_ zvt7qq_4KYx9YrloO_trM-b53`evCUEi-))e;d{1!l43*#IkTc!S6Y|(Kth;I$ezq~ z=~L>437w^imA6spTOZ|P#1wYT=>=Dc3M~giuKWUy9BlzeyYg;)YtI%cKSe$ZHDvaX zGP&UM1JCh&<;lw!C^|dKv{VVa=05xH1^XTMeteP8E-{R)AQa|=aHB3|`Wx0^XOii6 zP3KG2@k8-N%UdxX#pYda6Vudk{@R!uOx7)~_nc}Plovo+9VP4` zrX8ih8PNcBmwKj#>;f|D0T!+x)kyYYs&$P1Qw6G8lR0a)ik8~9!Rh%Xi(-iOPP3aq zP&QILWzD!MAx&kl(6Pvj?$1>w<@B*8JtcKTO}^-Xr45ZKu0hP)^wnTiJ+`4S)84q3 zHj{Q5gje!*qt%F+Ubo_>RXT$u_T8h5vZSnzfpu%y;503NyJnF|b_JVS%7<`%v&-2p zmf>gy;4crAh%r0nV@XXXPM`MGV2)itk=6o0Lq-FK2>YJLa4(j>Kdq!0 z<`#9?REBoe@x{gL33d$x7J?oJ*dMM>4>5i@k1INKurpJdTR!@>SU0bg)dKa6rH;X> zpV`pX`y2*7vNC43-8Eh=#4McbgkAfY*=+W7i_Pe^^U(rjZlk0vR7S_jRM=;2$E5I5?{{I#>NBFik0T@8tZjp9a^pYhQ0yZR-i!ZbUM$ z=6Om4jVa!XzVGA)wz@`*L2X+*F$T3=#AJ7KrON2YNHK3!6#Sklu%<;mOh^xs=QORG zlSVe_u6kN78w)p?ykjB+te>B_$i=|U&W<1*3ULEHQ^dCy*{K(EDpR+_=((AtxKZ}1 zPz`rdwM43$nx^C$)?K!!ynFZV%JO<}dAVDeK^9b-V4h|m7a}I`wEe1AHYCb6Z~s-@D1mm`VsU7Dz|)4SZI)^ zHW22nK*6bw>8g@|l0&&ZvhvAYR+R)LFti-HJ=CKGE6{zkEvJs<7Z}`DZK{5W5?5 zKFfQ9AFd#|8io4Gj&P+hc>#@wG68n0;i` zEC0@|I{u>2aIo#jB_e|7^RwA|Nu_hkIw^!RoE3KD_SP1@b)+iy<44DN z{Z<}?i2?c8Dm`Gp05U?-Rv|R`afyY%kM34E+L7|~zSR8+{xjC}^pa9ixIWaq!O9|9 z56iDrUkx8WK0p7SAuOC}Zu4*`mrfSI$|T4dXTae7590LfEIlM^j*23p zA9%}eG;B!v5%Kq>erW-;a#?O%xq-7SB3QHY@~Ui~q-+D522^iFe0=<=qY`C-Sxxqgz=iW+-XGFyq1@1cw76@*6%Ve4^JE5 zc?Kdxu9(4#<+IBkER)R<+<AzD#RnuV%s@u%~>ZS$@4wj>_O$k<-m1ph$_Pw1g`6TXVC5P7%&^ zz7Rc3$_A^$U;Czi@)_*!*MW|8H832F$3<~y^*zuX}8NPgXU# zDIhsHlwoFCyf%(8{(3a0S7alH^Bi|yv278X1`GZC4!_lal39BK2|5`Tnha(19&s)- zTa5ynExWC6!#v$@X7gw+U1Ie#8yLR$hG&1%2%mq+{QD=?y2tg^R0>QVbpS6pOg;`p7}$mR)MIwMlJre;QtI_~(<=aki2?`0N*(Uof zSDY!F>6i_eb?4M8)Fo$@R|ilZ@Lav(3tS1x@wjU37D$5GLpZzfe6x1MeK$CBXOd%f z%z9TSgj^PMeK3@q`e~%Z$PcZP@7$zK*j>B?8ru|?A}(t2r`SSk|Nc|0pM2a_L(urP z@^n%r4^KP2R!PKr@n;5edsLXZ3=EZEWV_PURWrl+46UrP+;-2FEw7%V_aLtN?-0Ku z=lcmCd?N~3L^$NoeXiWnwH(Uz+gm$qu!2;#t?9>d$9WJw%aw}Kj}f1Ll5AT`0XL35^RNE!MFO+Apm%y} zn^{Xohn<9C@LTb7wOo#v?{~nLcBA&@`aB@#N#q z`g|t+?nc}Ao3V+>$*f0J(rL{C1*4eLR>uyfAQ#>7Lz&)v`TP3*bfWFsCogs-TAYm% zq_G`EVy%Ws68S88ELuOu7#Rd=oTV3Q|0)Tt>1*FLXQA6F#cVZ%TF5bg1fReuI18~} zXxjOKKv~(?Wm{dGJ6vahX_t1q$EDb=^bmFt5nagdfsqMG*j~MuYLoajoX71gB;y}e zC@MmRMz>$5gQ4-auLHVG;qK`%yTlYAqNw?teagzL?z3K`a+C%hN!e=y-IZ@f-V`Rx zjeGGF!e<4X*zxX{vRDI|zJ2|A@A-3wTSoP_>vYlx6t1v>snCLeNxy`RAk3`hTu7|!2(4`&Xk znymDrO@>39(Vpe=F@x>gniD5ZyyexQ`}ss-l9%QzN7bW6A(oOGJboMpg2>xJhkyQ- z3_(jeB$=;)e~AsN?gOy;2mtKtvDa^gR_qBN_{;zX#k}>S?Mu~Yq875-df?-N`weZE zeFLD5DVPmubk=~3KI-)n^Ldwl8Q%NnVnls95)jvKVwuRqq=0^BwEyGRtCP_ekns3` z?{|Oygp6#c63iR{MEd;|p!V(tX*$k7U(Xoc{w=}z`7ML;KScLG-(Goh?f(mI_47GF z-*f+ezGVI1P)&8ftas!a+TU0HS=eE-dEPM?ZqF4&iQ|mTW3S)O@MnCaVC0Yv>Ob80 z|8pGe_p|*k@5lc>gpeUKm;YY+kLyb!T6nG#J`^i+2>;%h2u-5 z52z!`F~86tc%^5DSHV7oQL}#$?CmQ=g*(f7i*lkDJ4%x^ICS>(4SruXU{dx$ll;z)7`h&2`Voa3`Xff1us$h$6Xk?VAQ?y5lvH->oXeRySZI7P4ltoIg zWJ4NlY%Al`)4Qj+k;nqeHrBPCU%W7dNbu(Jzg#y%U2m^ov(ezdz)*_+ zS+Pf!0B_WhdxUy=dTL~Au>*lj!8sZSJEV?;#w0hrR;iE)uBYDZcRX_RaGF~w{VmJs zD^OzH1yfgK(Ly<-t(p)iRSgs1P|L+3_CA*+T@o zz3RIA)S>|&^%bazYX+#7B2IC7r5g-3hQDu{BRz;4267~Xf#KxpUIliS#v@B7nZ%W< zBtz}BFyMq}Z;mRRm~~MdE-;S;9=oo;zgE+|d#<>|W+IJYCbZ2!?c>7(M~)t)Hj!Td ze((~nVXH%CI1M>&9q%3wsMIWI59|gzRI&L^s~YlD;tFUFQ~9q{G5Mi^IEkaD14{cT z^h(`D-(CN`9PZqc4SKOW$=PqWwe*gvr7J~Q9>^`yM0z|e!C zVFx5`eD(udMOG)bG^;~6j9JZpz0+q2RRP}*l=-F4UUgeHdSi+hqvlIv1;d=aJcnVO z&8I(FDj&}s+6n@8wf4ieFUTn+1s`z>9SLPX_~QRY(d<~k|!tAEPLA*4KIK8GTvM$KmRLFgoA-$-V=ot z;^2@IbzWDG84|r^*h&@_5y8$f9Zkup9mgmeS{Wz?pH*j`0}3e6SV#Hu2*OItp`>gFaXP1)G9Ed;6f@lOgZ?rM5vi?vpl@2`}sGThze3g}gF;?*+m6?ZtF zPhUnyVk;h^+_mn3b>TY(D817p(-$H8q|4NuQDFp2-?OBH`q}3@^L^#a=i-k1yd4Zj z#_%Q@Ei(3fPlO)i=~>TCmMa+*6)3H{YV0^DSq0NCCUpqVF=`S|>$ayo=ni7=5ho)7 zgU?}u9v^G*JbKobM~efIb?ht&0CFSh$!>4&vfl_mVSm2BGly*S%o={Rpj?Q1vwiJQ zQG6s#0U;!uqNwfC;tN^Iv8sDONuAdO7cn1kRLR^%-^%Jm4(EyOqwBM&Bw9zr#oh?c zAK2TNqM4^1^bQQ)*6@V=bjg6Bs6ay( ziGs;GPyse>%P;5VEHS(G&qT8HI(qY_poHqv3|#tkY11VkMIG39hd4&>7#-&|B6)a7 z;nQ})k0(dGr0~1gnNF92B9dPEg_M?B@`nOmZN`q55&nFS{3|Jmv@D2RS#;8KKHfCf z=FXjg?t2USSHnMnjp~^ruzXBPsQUdQXRbLA{}enc#Ei(c6cCG?4`dHi&qam^{;(Gx zns5=E&yyunurh?`j=q?O5C0 zdc)Jb2(?}bW}XA0?^wOBrx^ui(|~@^_?^AdF3H7LR)ZYEZtk zwB$h9GkeQY2{nfE3kmBbdKdwspiHXiQ?aO2;05|h(4|5SGf5vmE+GqlEignB+Wh8( z?MJmz#^|S6s*L`@J6X%!&wRz4sm{k*QOv1z3kEx9l*I<>`>T~c3r=#6knA}mF^=EA zbJxFWeGBozU3)5CRe&xPagIjbJW{e&lpgQ1X%Ln#9(!)sP~}|)t2%mx$b7gwYjA5? zWk^G>p}#!W2eC`OY`&^0Nm^RpA>ecsSePU#1j~@>ocdrkk{+qA$fI(fuqhWA60HE- za|lOx_FqR%KEQ%7CI!TM4Yjq>PAlWec}em?pq(T!Q}5orgS<*5Xa_J+l}#%>pKO0x z@mTf+BnTws0Ix{}w`Li5s=obJDRyM$yUNN+IXQ@>K&`MT$9+0@@DO|m)Oy7>>Ws4P z+qkC$!lp8zwa}9xRchTlO=pt^(f;FV)x_+qg-=^gEmF`{$f9xj9q-MX9UJq)1vXvg zQ9^E@IlG`#2lv}*(AqFUto*OP{(3<9Gw--_`FoOcINjRm6TY@lo=7^=rn*vG&!IFE zHPF(N4iN0E`Oj##kmh^hK{DLP&125zDO2ftwy7HYhsToBoH|mR_1UAA-7i~+XIlt} zIcINZ6s}RGy=!5^t@;`}Ri~FLUi$l(5fiJR7IAzpMc~ziYXgNzheM|JG^hv}5Rj^L zCpK8wfIfp$r>L%>fnA$szORsn$*3o@{{vn54w#4B!{$F4GlqH+MI(@*Y<%n(Nxfjv zlNp*k)nUIfSr?zBCxpN*3|D5uXdR1&ZnScrgMD-Cn=y}$mP5xHhKI$qi5Iza)jEth zDgNBD0~d?*o-%b^P+&14;2`DOc)HTb8YM=s4sx%|(nU~GQkD>ZJnt)9G!?0E7$W$#O|Vbavvnt=we7>Q%F&aW2u z6$&Ib>AYt1H?OQ`aul7d$_xT^MUC*7aX)UZ)b{G zlo>rTUg@64AzS00@I|=D*NPHjo-k=$ru`d@&C)GT8*e86L|=tlGM(t#?FhBq4cY+zmJY@!?+Z_P=(tr& zf*4>iktB`24g-qOBJUzfUGm4QX^^^L#><0H0bFdoMcj+;@%KMThrWVBOkE?#hIQPp z^6Rm{SW7=%ty=>vljOhbx;o0wTa6ti^z7#B?VnWbZ|CU=P5}A2X@9ZH&SvjQ2Xaqh z{M?^zqb=Tg)ro@wBQzJ%tfw5OpY^+8YjPeU%*h@cCV?~JwSKd}SNPUOM%kKzx)-!~ zK0vkdfdXrNW;dSKWSeL?Rw$mY(NC{kSxA_AqYLqWZ6;>lrhJZ4bY_=-h$-t6Nmc5; z>-Lwk-C`QBp)=@wM7~|`iU8HGYhjSj(>tWbU?I~4^YOY?l3?iE z;&jaHS#?H5>H^j$i8{knvtgmMjWza_ zQ?7Ai(f(?j*};@_$2-ewN9rG$#O|F50sR7oTdjG6lGHH;{YkE#_fY){5hbJaaVwRj z$sMS#}A^_6<2#8m#6;$({h%EZcj2-a%sl?4ZDFLut*_^Ul`OzbK2e(}hD`K6K4 zfgc9%ZhEOc_WF|>=C7@6ZhD}L0g)LjnMl56*8Xj1NFQqlWWd<=%uQqS&S})xfHmwd z@C7!sut<+=796^<^S)eOcNw#t8zJRO$BuxLTRrx#BkB-8-Be3MND@LeHJ0R^b-X!H zqQ`$7+hnfhkPf8OcpR(9mCGyc8PyZGee0fHh)ZgNO}1u#`Q~k1b!KVQrJGzlBZH3t zYl1uvhMr1f?RLdE<@JQf$8be~T`Lo!#A!B(VFvbB$;dn>B2BNmvb)u{kI%OqH9OS#ftooM1BC>}b}>w~`tf^_rh zrC1v~JD;42sHmt@uaYb40n50Y{r%UQduBKqP{Ycb<4N{x%ejJ~ATQ50a`scP=wR#6 zL-VZ7;>#XTtaZh^^sv;Dz)tY$uCJ<+0IzQu5IPj-zfW`loIyRU`xci08p;4h?~7?_ zb=eFEU>CJZt;)IdOEPNxJ=L#xhyko3M7P5VPBQy|FOJ z4Eq_2a!ZAtiiXZkwIMMvHe^NaU!I-?|E8Zi1A-1d1}^=dVBTDE&B-YQ*2>YvVjW+w zvbu@{r{A^N@5Ac`l|$x38L6a4nypgOir8s-5Z%;(dm}YS6qpgBGBPtkcOA#3Zh^1w zN?-ip_w#OiuB}V%!&jdf37q;^KH@Sngj4nyyQ8di&S6~HjJ4m+3$K1bys#7gHdeF$qiq2pV>}pS6 z61pcF!WEcso6%=jQa6G>Lw)4y%Q#wY-GmpUmVoDnc4}{5-!0zVT%4VH?pfeYz-c!8 z+|74X?tHyH;`a8qLB}l(GcVjtF|r4CGaZS+3?zcF83Qi=j0mQqssN2KXna@W@hLI&~CQ4}P*q2ekT;aM!cpfo82g9>ERt?v~Qjd~d(ln@$c&d4pG{ zfcgvsF_+a~Nn!^vx{aiG&qLCqdviH)RQrPVy3qU)6qOm3YmB+Y<>p5GatJ-}2@zFl z2TE!p>S*a*f^$87It3J-Adlhf&Vl^`BDIi$;NXl7ZBlmzFV!g_rT99O|gw|+4sEg3q}2K_C;n^BEM4r zd^xVyK;cNA=#PH&8_+oJdkJ@ZQ8n_B6`nX#wPqm38sFb1U@~RsuGY$|N7dx zpRn7E)KNFE<)|oJ^4RmE`5LdQswC6 zTz7AlPt(GTUEZJ_{zgx82wlhD4W2Y_ zy0%P3y3j{AxWz1P!W+Kgd+k5B=-I9M0Zn0hnDE@eQ- ze1qiVocjM@!ndkeuKUb(rzVDVcpxWaC?-4>%G|dxWv;H9fV%EckMPL3xpj~IBe8t>9IjbGVP|soIjM-k5%}*aE4RJEsJh1_b!UpH7iH<$ zjkGgnqAHi=Lqj2vGgO97DL#v4U4zhrWkG)<4kG3Dq8PWTqwAQ(eYg2xj~}Oz|3Y#C zGrq@ghmNgv_1f-Ji%xnaXQ9dr!(dWL=dAa_%JN1RAs|3N@7j_=x>9VJl<%GbR_&pJ zJEZ91Z959I{pq&JXRrytV~N~U`~9S!J%(vc`*>5ZvmucePt);o^xDgY5@G?H1`hF+ zcD~~q2D9C6dF_u+-pK^9a0wuhB#F|MD|ag8-!q6;cDyNcu(wf(5ksYYjE{$`uLC%$ zwGQsF3sh8wrg?6&Oz`rG;H|Fgi|?8!b%=4_*+v#v^lL-asquVo+sMo;cJ(5c`AoZb zerQb^bzr{P&6|od2$*Ug>&k@G~-m%9n#j zAn&j)ai1?SZj8*dn`vAhIVR8NG-_==oZ}73veN{&*8Dexi{DevM3t~Dj7Zef)YJ`@ zzp!6e>#T4)MoLRyP`cTR+8YJ4ty<5Y-%ZoWj@8xEyJdk>D?kq;VAcTtTBtZmOrGF| zT^KA+K63IRJDZU9`fPbNeIDzQ#AiMntY3VP#~uuxO_^4&FoJ=d{GdABJZnRFx} zcC$WM{?@&1GZ^bjI@vL^L#mG+J;Ek{Prlhew)l+q!r(pyRdQ(UYvnfw=Rg^sW?lIl zMi$0n6Pk1i%~wM*TSSqcy|q7?zM&I&tsFB{p5Sq$27Bw#=mkLV+8=cN%1p?9$n&@b z3ZFcCHZ;@Mx3MWEM%ASLecPWU`<&@vt*>vFLW>^tX8+-u+FJ1<`yY~-I+b^Ga&oBo?LIP?bxto9 z0P$rI`U^%PdnPdMdlbj4xINPtmba5HnP+%tOi>)21tXi#eQSGD$&l?|*KzJE#&|;ZY zAOG5V&u&fo`rQagAjv{^e6;ZUPDu4^eRarIdQw%BgT+0>K&>dl#ns%GS1S!UpKLBV zy+xZ%HOXgXRror>ye}cgX1p;rwo2p_I!QhzvG-=O`F>e1Y1l0n>bTORTv%tW(aqC4 z&aeOaD@!!5(12Niq&L}_>!9q*>5%mw9qk0c>qK)DyK-s7moG989<)l+^LLSSA{Q?v zgHFVvZ!Iib*yWX!A5|8uum~dp26(6s3Sn;9eRrsf4&?~DX|bIvNy^mWs9=B|#jb25 zvgU1x8NPFd+co<4UL^bBH01b@1K~}{-8FLEBelzf6J$9Oq(gI!L2iSJM_bt5SqxJe zoUV~>h;S&dS`P!f&TeB)&~4iYbwsz^+|-t^gTX8=C&KiJOs**5df2$2&JI}|a(nCZ zTCOk)MhJhqrYFRQZr20>m8zrT3-=fy`JQZMcdn-o9;5&ToTU*{pw^M(Ti{wFLqeWF z6xK5(>TK5fd7oO?IDzzn>*gOS==SDqrLBibJx~U?{ggBF{b?XUf9vPh4f>D?p2zvk z(W@TM^ZvtHvl?J)V;}yN_3D-(R2mpMU;0)gxcW$UY0dJcs-D+W@I^{~_J)P)k1iPe+Z}h3CKXTr#o*<-`Afd|*&<&PlLL z(TW}@_R%}2(pxYqppr;GM3c(Qz@Zy9XX&eVlq^BhTu=6&o2GK;`rn=f|9tnqW}|Qa zPoKvh|KowY0``9|{w4mpAf9;3`8kklZQSdxsS#Ci)O>&Mo&-t<{m+Y}`u_8*(cjG(VQIZbtI_c58uC^>a)jDRh2{VpwHxm_Vy(()9IvF4fX=ft`am8 z24_YMTBQC%PyWDM`8$bz#@yJ{q|e5&uVXn^buqgBACmI(`~Ue)N1+Gjp&{My>A;AH z*#@-m;~g< z%Tk!#lOnNOsHg|CS(7y~`^}aFJTIKPl!^#UBDI4~G*l)JCo2f#v#Yo3<(#Fju>0tX zyy@0=;m8raj+8cozzmD;AD^eGr6$0exs+H)yq0|JrFxniD{y^!FgXT{Ydb+&IX*U) z4iP54E4WK6ePyC4VsrySrH#FPJ5;m!7J6jSndnk}A*a0rKU#6CUsZwr@#j2P_4e`? z=G_^w!#KrT_Njo9_`n>Ruu-QXd`dyyW$69oUL8uia zG$H-a@;)f_pba9YJ9{|5)ajmUS)2I|w~ZY~!scu_H~nyVU;a~X4o*&Jalcy}YKQE% zN8hr=$%(pBnauGX*gFQ(`t-DTO}fMKOnmiD{Jm&Cv%5?k8UxBK4a873wisns*D`1% zOwQCPYOv_BG6*#eU{#eWM-^p-WNU`85i(Jm$xMo2Y4CeyErAanD5I8WdCv+uY+S{O z3oIY73ydm>Tx4~!2vgUUaaP}$8?5Tm_qeojIl6Z4;bkEzlwfE&b0u#^-F|xSzyYMM zUb{y~dPF+hrz`_$e+2exRU%Aj#4o+O4kbVNBc5j$*pZnv?DmO z{Zi~nU;oS7vgAw(?ViU{cNe>ns0}qWyL{uO@IX^1=-mXAR~(_z7H4JNn_CPG%JHm~ zih)SQHNtpJG?bJAKvbI{>QaWnYx-=LgoVAY@2eN8TY2%~1;h0XJzYJu3SB{? z!j`y?0e?n`PGtk3eyKYY9{uv9Fq_N9Wr$OqVK=8pYaQl0K_5(t%chm~My-u{wzhi6 zOov5tWHGP6&5qsmA>>e*laW#IT>#@&mY2KW&7US{u%Pr4Wl9?wIik4qKd~rsXB&#A z2iZ9wm(SM(^QcM~~tm{Jc=Qq-vJ=`u7l!ZRZUE@o=4C;wVs z4=7-LiF`oO7k|2)J{9U_Hz_xoItoJcwf;{rUFjxg2|`w|^$tHvcG5O2^B^98b&goJ zesW?|!s|@BWP`?z)s_Jm{!oE2kN3!zrN4zM@jpqY2_&f z392&DirL)%@}($RNLyTI!!k{y;H|6c1|Fc``Y7ShH1+JH_ur{#1@}T3So!%ir2XkS zg4qw$&juj*EIO4yIj0aUVl-Ww`rsV;`zPhtSpQ*Sfq4(KMhoVfbuhthk>0+1SuIKK z5{yZc#2SY3#9xcM1_QS4!5A}npjg$Q?`wQweNIa`1D#O-6UsziyMy9&NEIf3VWygC zqlBlR&(s{Cj(a6r<5GSZTJyo8(ol3cH>vK{M>2XprjKsJCN>zFnWZY~6h6o&!drwz z#ttcNDQ};VT4Ftgdb|`L)E&er7UA)xcsS_Up;!yHbLfFd_8Bw+R_0CN1rP$1;3d_v z-9$0T;6KLDHEB%n4yJ|b$IiI3W zOPOY=sjh~xtgpgvZ99-as+Y}OI~WiAR7|azf06&A-o4^HkWL6?YLzyBoa?`enk~06 zGBPlTC*e2XOC#j6F>tbypG*a}xMs%JLp(J0`NN0MGv2G?&6yJ(9Eki3OvHvWObwJ> zM*@~3C@7fP6Iy=yy53Zi&K2p}d!z#nGWq=?4v}lRU<%@*V9jkk^0lV^ooFc(x$B+l zi}iUu@^W&9kImzboqc@EX=QO|p)^*=b^P_-o&x*TWikU=G1uy)RanjxkPhqOhbEpi>Pv)aP9vs{})EokF&b$S>8I(#{*r*(hKU%d16yLhO+)*K1l==x~Rbl^6Y zRi5YYpo%_!z5)l8w2@4x3iRm*3ECQys?7cUeIdK)*H=Zd)MEcSb6F&%Bbi>jXcroc zoVRW$fS`~6#rsX*@BYQ`T>LRuLUY=k);d7QwBnA9j5h|cAn1C${t?|^&mBj6n zE8-qsTE#>-bd#ekJpdAftI&j9fY^BN>bA+owXm$#r>|cMUNy$S(5?op_94W;cQ}t@ zIGD5yU`Xzx`%9IBl@2XWT;V0ac}4pCJh48QOt1L-6$C6_@DuPC+aDjh@1}eF52d9{ z9c+R@t$+IC#1l{oX2P&YC|doqOB@!N04}J(;gY6x4_QZyF4SP~)u|Wq|500SSvxWx z8Uuoam1*)h1e(1@evd5u^o1A)bxrR{c08RumlyB+_%7^jF-!yLKaqW%iTbXQ%Ux!J^5I~`;29{q%K6Ei z>_9>^BqQbvW!rB;2()VzrvUEk?Kf#_XGBOB>pStPs9+zfIN|3!yuH0UpmmYt(NSDn z%%r^u7(-u?HPK>_7y+G5*I+X&L_*S*qAyz6`uXng^zfUfIgcf~K+sBxY68|rXV=1R z=H}KfHM$eeY&14Co@!VaEairY$q1GGy=_AilVp^~HfvpBXtpjQmxIxVQ1a5t%c5sN zv_0@{sa9TJLvM{1tn&_-!ANoLTa#>QZ}@$N09t!go^5h?f{ zIX0|v-|z*bisS`^skP?7(PXpmgs#k z#VSg>Z_99}mb_Mx+I&BGM8eB-tM#fPz{y8qPEuX4lV?YYM!(&F6BU{&EeJW5fNP~# zYo7TrPeD!-51~KVJmw;oerLedDwTqk&~ukAB_1bdhPID=NYNR}Js&Msa_$-w%Y@h= zVfCN)T`I^cP=|(9K9^<@@FUS}Yil!ay|SGeL%uJ1f19;obZo3E%Z<6pS0;4??K}v_ zR=Tj5i+aM7bAm#Yygrxpi}5Y@1@7zxN{Af;n;FDxk2REhoWQlFDn#|Q4EBh7ZU;Hm zH>~RVkB%iWZ_k0m_QE+j0PQc<;A&Wzm^4D8pUSoLR{{|%wlgh(9xT*5fXrgyT6i}g z8{}w3&%}EB^*DT7g{&j`awKt1r$vb}`9F07)ll8%ts%m0{d*pRTr`x2MzBWvi(*9E zr*KUXCFlSAfMpz{c(R^00GVcijM4gjnhCa$c=^lvq6sDhuqc?Q9FnJc4*t=T_NNW? z^~L0_2eW|R!H^iN!$tSa`QhyIj51UQ$4uO`3QU*JZ*NB-a?6zCkG^_m&dtuorVW3| zhM$yrcq-u>anE5aC?-a1HzN`Fff+b@r7~szRvW=5kiI*m2l@Gi124z^)V9CBf6t3I zf$L*u4Ipx`iPnv+T>O>|h~xIo0$;u;A!zoq_aA?JN^5OZ>PppuoP_+{Z%6eV((ZKHx5NIXN%=0D7Edy5wz1vDnS(#t315(5WWT2+$2*hJn7>K%dt) zcWCCUfg- zud`!zBlN1K$BrJYuqkg5?)ltb-PkB6Ir!Fm40qAx@IUy==l=m- zdEf7T_ul{f<~L`~IrE!2Yi7IOAr@;r>wfP0x;}OB?o8&VK+R4m_dPn}^!SVCdWde8 zMu}0_X%Y{Q9h6u+t`WX3a}O0|#LUwjDFvDD-o5*z`6@}YJy}zExj5rxcXrL%FCvqo z5*Rnr`m6yb^*rbX-&9p0mgx{H#{^&Dhh*`2T7lXV{2RrfmJ6NX&((9&^Xb(gEGdA z=1n5giS$S^KGVB^|3U4&9G&d-941Cz^oMCr z;rlmM*zKs(YC4mAv=$MQ(ldwU{?L+=5-|TGE_~Qw?}y#6KZyg1PCuqn2r$|oxqU3K`p9kXo^Aq&^NqPmW+CVUR`odx=qqvy%2FW|i5%Br|{nexz`;Zrw3WDzZPWWLY7X z0Lv;Ll*ZYL%>;+~BYGC&#gG}u(p$X9Jy0rRh8(7dr2|_3lD3`*pEA*C;EB~y}ru7#a`-}v4eQ0XVL7M zgC`-+B^0Ix?!$?v-5KwZ!?L?uX>;OZIZ>N9d$Z}Z)Xq0UFS}_eC0H~9&f|xV8jAIg zx-w+(lN26280ycoV^B40`2+$8r0H9mtT9%hzIpRAY@c_zxHcoxe+7R0*b~QN_9EAn zXRa+)@#@vzf-b%2w4)xJ=xV57K0lW?6R7J;)-dQ(H#V zPzDq&^*MR}#xc8=^aV0b)0|zj*e&2b9A2Sb zu8x(+@5DLKO910j0($rolQH?dM-R6l3J#I$G;O0`jY}XNRnUV%z-Ni=LR;FJ_O=4> z8qm08eQ0@hvbk*aF$ml#VmvNwN){89BCRerf7RuKaw+|RwwPz_#;4aON?)99cGiyg zHD2|Whq~^pd65dJh)GD(v(cnCc}V(?)m(IFuL`Vu;j zsboR74yl8+6u1JW$K~4F4a4$n(cKTg8}c&}zw;neR&$?JxEK zb(mfU;^#&7OS8k`R<#QE%$(eu8$?985SEnzg%%R(gwQB}oc5QUe#(%2aZ+g1m5?G8 z&2BcCa1-H93yn&Kc9w^(msF6E-aP_SwnaPkfh%-+kYU+pbxW6XoebQ({Tl%^NQM%{HtHTiL$b5IR7Z z3GZUd>7T7lY-jf6E)(L0*VNR&ZFuzKa{>G!*qxb$SyoC0{wCi-M*l{cr#^--I8DvN zvm#ttu?4Kc_rC9M9{$~L@3Y_HNO^4ueAwSw0M8%#v#<1{k#A11Ub#jl`R8w%r58_8 zpXBdf`RiW}g8$}1{u|N$Zwbl&60`>r1pWF#|L6<%ssP3=*!-av9@F9|xZ zzhKBInb%?>{mi+;o3PtIE2ureCad}%>*~31VS)?S12oTLRo`8pxj-)gz7odCCKO6L z%;29D|Ie%bH_yYKp8Ah+1Izo~|MCU?-+pKRr~TqSPiqWkN>c#YZLqsZD1ed?f^&>{ZZ4*=`E6}F-6rT_V z?gcy#z_BL z7esDVO!hBk1y-I&?_-?=5aF_Fm#U;Z^~y)6eAShrKl6d{5LKH6RAV%qfRF$ZTg9Z- zF9US-P=S6kMD(zfSPt}ZIBY^56upGl@wPwGry}lXz4x04weaf~hs)|{E^OM0?(WBS zW{5MO>{0DYfXEArzeRu_;?AiktNgDq2uCP+H7Wf+`T?NilSZ_oI$~iflR4p9E2Gmb zpraJCQGnk2CB%o_vpAH7jkQgG|9Nao++Dl*4qF?W!G>X9!MTNuP}=6ZTue+7ln0vv zf95-NRwrk2!Jkh$n6Fa%SSlLx*>2K+P^-1P+#QT3)X@H zJsqz6T?wQ-0@v)obRRFEeU*?AoE0o;9`{8Jo8V72oRRo9xuhp5y%3qyAK!u$0}DfX z3FH$+qzs{T7zKa1u~$F8a<(OjjBy_^E2c;2=~2C!Y3hVAAqz_-pz>7&fCj%E+OlHT z9W`j_C25}qhI&M?knw*?*7bmo71)xLmzWB*PPO9R4ploO8l}Xdk4YW{{bO%$n%7sO z)jdQa0$TZgkQ4Q%nK|K8&VL39KU=w*Dl8SjWt@^R2vRzi#q$E*Bj62TAhvw!jHifX zPdXiFXzwhtbKBXuIO9da*`uos7&a1!i+n4k`520DQF)2IYfEBNW+fIw@fw_WDJ^*g-@_9JTUi9zGFx1FcuTR~+poQNb z*0>c3N-Pi^WR+T|nJgC0Au&~SCQ#geNlDomh!#Pzsve1rm9GB!7@mPw=XSJD=2>gA zl|DT^ea~pS#h_aX*{-^15`El-G(b@mmTHAfIMCaO3;Cd|P@g{ugBXseS14K8_YQ67 zVm9pxnv-RRe{T!x<|a%Wm<*^l{DOm#B$HV$Om(T{Sl$!dg{8wC^36Rlb}Oso$7lZZ zxkHN*$9JkyVK)~BAY`S}UJ|I2ldI6s$482|@viQUh8iT+ow`VbW&0O31t!N#&r~>_ z)^Ztj#F&$V=?sj)aFK+%&Fw&>r3uhtYuFls&{*cNWvQhVx_S+8OQ^#R>*wbeh167c z)RZA()nRp1wM+I1BHy7Dan#`DZB3592BFE|=e|NLr2sPE-G6|9KY#u_9?MlLQPXb@ zP=Hm8NM!nqyI%Fpv-|TNz?OADO3PVb;;xx2Tu+u5QSy5~@ zl$24Lx#vkqPe=D>|6_RfYWL5d05OBb3-pT6e;I&#E=Ans)wtF5;?w%uNa^TO6s%Zm zF|HUS01Hf7CRxPo5Cog16Qyqv&+C^b6L5TSL(mz3mY$e?%s(p}OE@Y$N%vS7Aio|c zm+u`{g{l>7%Du?cVC*^c^7#tX*Z`xL7^R4-G)Syq+km~;%Wv0iHa`Wyn@C6&j7tST zS`A?NLC4N1F&P;X93VUBA@RICHi^Ni=(~CBuJ%J9;k$AD`c{Xh?OaDD$YPiO^yr5n zQqC;(GDpAVkW}DLUDt0xzP>XPWRGlYY(UfL9Oif`oE!#Teu;|cyGf~re1zCVY8JoxxHROZ{UTe5w;#Nu@digHhU3l?l@99g1Imz8`6Bh1E_8)iuva0C zSROXE>2xaUx`kqe!V@H|*>#g*R`(H(8Qi63^RyrVF|iEN(3!Kpqwo~ECCAfHaz+wEcVQ)&k42gL_6vp~Z0Z48%#K9XFTBJQVchvg* zcK&4&$NrY94MapY(=5iy#O%Bf2`@m;$j}Hn3CQFdYAEN29aD1G{ogmT3FYg8RLCkq zUKRE>npxY5T_*OPR@L7AtK9?_A6`ggdEQRkIa{Hh?MK3%1%>&mo@x5SxeV&r<<+!H zbthj!LVn#qZ~0Pt4enAVk%_cDs;Vi?c375kn3}o`ay_XqP=WS2QKj_fTUkN7V6wKd z*qtaT2!THyhXlV8Dz@fSTI6S%Prgt$1u4|J6ChO7At7mmf&GSnmlx=)GU1#pwmC7? zthIfjUw7L2ZSwTkWoJ$3ejZzwT8V8e64ePkBS55pE>E6@+Ex$=U)GCdYSt@jr@$_daQv+!sy65n(^#;c?*I)Iu!Y=~!EoiHe4outgq;oh8i@l@b z*#n8N@Nh-HvIDnKXGLz@L;<(8l7WB9>UAb9dYnu6G6%PmIsZd1kJZce-;D!O{|7Yx z({%j($Ll{Jauw%{RJmlWgDru(*)=r?$DAs!;SVv+XY-7m`<%PaVCe`4fXt?v8(O^x zAtyG(Ako$)8D_t*riq9ppFJukK7%!RL8E&;eIw}{R(<(j&&n`7I@$v3siX7Mi(RSI zT(yGxCf0hBHS1X{VL9Z0YfpE8Gd;gR%H>X;@qUIvnq(GeV+uX5P1h1sFJNJDh&~0= zywFd(W@7l0*>ZoYV?Pe!V~j!og!{B6;){1G8$dUhUYH*9P1<2$ky3*Sty;eW!hcuBz9VvK$RfgPzkcmnfZEWq zBV5dh3O8ld)m4P%mgtQwS_sf2#=5WY{1*?D*MsX-z-j2|>tFZy=yKFWN&6z&6)yYz zQC_3%i?HWPfJ6}P93e0ec>=AX4ti=tadUVWZv|+WlzfkTrSil;DLE&JxDO9^$zQ1?LHz;VquAY*4NjIZNJI_I`nh~>KmIk-qSiyiF7{Pk-+`N7 zB@E8E}RTr1{jvocg#+eK!ZF`zSxW$b#yOs z6;#FC#nh@CS9{7DYWoH|mmRi@zOiXke=P*t7I5MV>>B;4t#$3)=;F_HNHDrTdu4l1 zK?qf2cmvw&G!b$91fF2T18?#? zP1x_;PQaKKtchX@0tZy8Oe)9h9RNwckFb^SDaR~_ab^wt|OG^=Mg@_r`KhJuKx&y>G*=FZ`0U;q~O+mX8 zhwT`az6`Io#@FC}@XrLrB33FJXkT0cC~{lA-bL^=+j-~X#wTyCp;{B@rHJS3tV7U~ zH4v}?IvQ!P*YQEB1fP5roU2O!@3U%ED?vesoL2)iZhX0@Z%F^62nI+VgY_Xm{KM%Y z*)%23!DwE{$OK0-=;AI8qjtbAstyV!)0$_%cqwBG8VFWIiR&0XuZyWB*I3rEaoM9l4e7bLH_#> zY@U@f&2oP{pM5}lYK-9wUx7e29sl|omT%&UW3Ahs$$?*_&nY0Y^b#3z$)R+J$pq#^ zgjcu-u8x+7gW|@tuQIaIer^A05H91ERz+bL9o)|nmSn%ey9K;_8@-B(iU0^--5%=E zA1yJH^AklrAZUSU!5yFgnstdVxTyv=iJ0-x^uZviF^z1iwA)MCT^q|khPdUHsRvBj z7?DRZ4L$@fVLN7o;t87KNFil5(5Y{zbwe-XEW`n4$|QuA4&AdHKaWo?sM6r;mCf$z z8JXG{l{R-x(AaUM?A)B?h;|JRFM1&Prlca3CZ0d!YZH`vz&^D_Y~9?2_|*)s|!Hk`;98I>k>ogH`X}>00mcO?R*RhL zC2re)PWuudd{(Sg^fbw6ba3z~*hGN1Wa8%L&Q+^mkx(}_Hil=f=Z0hGCHQwc*$|B3GZKlQpj-4si!+S)>VJM?HT4V& z%S0Y_F+^qonp6a&26A7q(Qgi!7F8<+Z7VOx7Y6}F)?VhkZMZg3#URnPVc?S=Q4V3Kw^^bhzI4MN6Cn)hF9r{R zec;}bD$dh+ef)7WN4t)*XCdd$*RMCIfi2!g1B~kJ)EQo{66Se)piIQBrG%)=di0y= zTRAv)Vj!y%`b$=oZ_kwTv9qjoo0XVgdfdNQEv&w}LpEa<-A z0G5KD2iyXW3dfE;iXuKzor-~r22=){-~fPceH@*vwOinMNr+WHLmrRBe;_(xD4xN{ zzXLZr({@076k_Uk-!DUiC%=AE`50e6J@Gpif3qB|))=j`5mp1R-DFp8_%HOvcxx z>BAWmwSlqk4W$(a9$R5`W49+uY^Zv(c4lVAVSCu7L36;Z+5`GWaSUbwXgu+uyqel7 z)T+5fq*(G>XnXM5Hy7-l=Or-KHIQTJxWm8>c|gBCfItE1VbHn#b^M<~6f%eK?#$2dZh30=Uyots`dIWaDB79+7Qw;t-asnvNzOZ`(gF0a zH9bQhIB=Knu=s=H2xL=A0Lvkp6XFk=4G&f@JcWqMo^oxk-k2WRVn_#>sH6S@ss3%v z&B_3FNkn=G2g2?NgzPoeqQb)76!GAs3Vf`oRXY$8QVQ5UhU$_*Lajt_k>qoQ?R-D@ z4;=u~LCzo`E0M$^M8g=RtqBRziV0R202+LMX<(_fCUJzB(p~ zRrM1zRLmfG0YDaHd9a&FRyKA>@SJ|DasC3+yCJ>+I_;`FD{-; zL&FsYkq7eS-^A2Q&C|rYCpGFUrOs= zMr(fo4I9?+w^y8xd;+JMc9#3|m81QLn7?tk6V>IY9tBhS=NSjjgU;68t%{`2xMO-x zCVpdgH(jOR*0t-`V@36ePbNK1Yf+DSH&5tU>t>X5@Qk}BJU9hcbiJJj(jW3^*mSf^v_%z%le*`)YTh}uTLwLhUu3>gIW+HN26}&Czytea`5I%$F3o z@Q8?r$=e@4v^;|GJ|r^n_w=SyGu^jVom!WED6`B>r%4r?o;ies5hdYhGz3I@^OKrN*c}a`0?yjm?ZVu^aWGjrw1a_(`;iI zF_`?Gl4p+}C!McMYMn{%P5?ROq5KaO2-SW37(QK} zacmdCK@4}|)ljeZBgq|xy9{>dv2@uQ5-N3JSZaSgZoU?%Id=v5p?@Bs+n?VR{OdXX z`u}Ixa~dpPU%58lqS^eF6ZLbO;K5&i{O^Be#kvJdPhW2bJ$O9(nF#+bT$ca*?c)U# zNz;Fx9Qlt>JjqM?|1W)|?XS1v5=Ml}6!%}RqXk8WyhwuIRvGZ_TEzZHR9pYY%WMgM zq^RKkA7A+J!QiHk?@=~|@p{^upOg#SR*T><#_hWirZ<^6-JOMeqBNcWeSde~GG9;JG>3;#YPP+Lb@am5#7?CGFZ>qRWvvZu6 zsu2{Nij(>RSRZVAI7F450|iFvmw(}@ zI`&@DuU`sS_G|s2un%qYwzKvLX&?($L>MiXNFXl zcvny5yVH^N&2F|=Zj_84j8(tTx! zQCFuD@1tQ4rR7ZHQ=HU`(ROC9X=wS?(e2c%#Br~t;qTk@Kpghu&)`aZ{Pd}C8J+gO zv;ffNo-^2KmHhrjPQY9--Tp3n^{*+;ryxt+bcSIH^dm=Ma=xkRESoyP4(~SLurL|_ zbHR60=;QQdqP8N7BLX)UUTSK04-WzBsi_$}#mBQ^nKC{8jCcI)l+0z;$PzbNPVdEZ z(lsT{jc!;ZXx#e{zd$%PcEOq9SNfku1}oPkjrW{HdFy}1jN1YfQADKK4Ehs?4XB%{ zKDtb*Br^d(#sF(BYegSw`|cpgCG)!Pc(O>!|molxwqA84!V zG9JBgnTw3ROG)N8V5+;2H_?GHVC(702rDrgnI=lgei43ruvOsJtyOz?sP4EjY?9v{ z$;^JyxVpOb)=rQMD;ChK zty!9nR=OUGA=lkMve2xxEG0$)W?Xyf+2diHdt9`T>=pF=oS061{q5G; zg_mESClPmQ-{CLkFS}-S_3F*mXl)ODZM53sS&3`4raU0Ov+}C*@Wl+C#ET5R+rXT| zaiPuTgZPO#kS~^EB_v+LXKf6k6k^mAJou9W0I6Py+DM68_un5fLwl05w7b!lvt?au?uhp3i@xzHQ0L>6 zMK_e&GvNn5c}&McMMV`r#gh;+HO-=Vczt>BBv_g)_U;P0JLLPhuiABN=dcNG-~RpE zxD8gagjIgsWSsiPvTrJ3y+Su6a6CN^emg#Ngpo!Gf(~&Ik{TWoa^Jw<2H=TBW#F74 zv0LbD9^w;%OkLT6y7p*x#Y{Dws#2*r zbf|zlA8p~$*`=XuDF8ZR1k4Da$p6vJE(RtC-P!fe)syKpH4}eA8(I<>_^5ql=mZaM zbc-s6a;Erjd;TzZnS+-BTY_|~@M~(~lV_)UIC`YmVAauqIUe@T*|@M$tnHj&s6-fy zixXAI5mhbX@)$Lsp`mrjKgF8PZ|=)6xh@(j@|LQ`)oy?HUZ%(7qC{+AS}dnNFN`Vt z^zglH^`50RR6gy>+FnQXCpVahA16DxUZbW?&Vi7G7#r%K>FoSELrAtPudLkE$c>Yx zIK65y<^)E^lwf-e8k$ohT5*qO1$qyDHa6Mpe@IWk@VVt&nprIqC&a-aDPjm{k7mZL zUy+;VvRI-kJlMBp9E_^Ih=(_|y~s^KqI~th%yjT8K|NH53OV`O`E1d8`Xj|ATlzuL zR4*dOhZI=$SW$1pcsqXE?*oEi)?8-idf;2WfD7T1wPpGF!TbCX#s-526MaJGuZEsh zi=wyb?tZ)ZWOQmro6yac@WL8N1 zcCsTRf|^ehMeFg#XTorv2K#=?wKXjB$wHpSSW@&tqmc|J-dk!CcAKxec##m&$HVtPSfXU)%fX>61u$0JTmN5^E~yqUSMN`rQsK7xR+FuL!d1SaKZ=J z2|(Zi^cibp2ye$~olN@m|b z>%`{-=O+u;X5Sd%XB3OdZdZrp=ecS`XV0Bo-)NPz-)4N7 zi-|=FfkEY-`uncCE3&_TVCW_)8_m=(qD##o(aH&@TRHnc2De`Uj5`WtiIQ+WSTnYKP+z z5?W^?`#z6#bG6N#ej8YQghAqyOH z_&+`bHx3uvSk98rA)Si6zHnx_fQ9N~g`S=C2(C_o*qfc`SW>r!KKq39Pgya^CTBe9 zIbstzcCG3w&F?jpRDHCvtI>*)8hp!AOKME`BeSOU(0Yv|$Z+Ot2mO+__)C7LE6c&O zoRK;HnfA2OS{2`@P(eFKpRKprCM=?YzJE~j&y?2hh}3Qv-or)yg8QbP$hWKdt#v-|?uDF`MIYGN*nBqWYwCy-@dfx%hbwkvb*$7S(U|GwCu?0V z=*@nBHYrxn0{dllBn%bY>{P~G9H^qEM45}jAA8laRAO)hD6e(Q?WTbNB5(3CbmGhG zm+u{xhsMGiomjLB!hrLTudt;b%stXBG}xeogskyulVwyVD>vWi!yo0nMco|6Yr?*p zXfKtY5v|uZwzpHkqewSdX(&gGDu6+4AYs10x?sxbH0eHRj*5ab`JTf8-qz7TQr;MC zK1@>>eLKaqCUUQ%M3|HF8A7gd)J|~O*w}=%tB7lBM@EWW+G(kyKeW`1)JR=&-#vIJ z^Zk_F$a7ps*mm|+Va8fp#3jS!RfoHdE8|Z<(zW7%!Mx|U-(Ne7gNWcS7V$$P1^Nu2 zKQtUzO3pmdkh$~DWA|>5?la6Q$1@ccX{7mCN|id-6*fBDA4&%BAp-{Sw74^TIwRA zstp7Jja8B`9+lvms9e-kyj5)mKnAcP(l%K9Q@bWQJ2902mqR1rb8=GCs^<;Gjo9w~ zY!7ra%#E9NX2w(MYeY$Fr_8lPY9Ru~q2g=)KbNhSu?G$HpOMK^>i6-*#Nl5+o!!0j z^aoEsAg%=23*6;t`ItxKI&5Qfs(eQ11QoGm+1?gY(kjm%i;cHqZ1*!(@3WR6n*&$v zr6`xgdTyb4Z1iZh%$)WQjYS@o>~x)*@)wrns2^gk_*zOoVbVFN#)%5nuK%XS>7<1v z_g*h{13N01T&GR`%GMTR{=s>jw%@^_SAq@In8SXM>F?q;DG9AA>cwvQ>S%I7Oj+c& zycq9_asL=e)Rw`4M^Ilx1GQcF1C=_;4~EW$Iq>&3TXBpQjs|byc)fk-lwXiu-)6lm zm|o9RdKRq_GcIi2s#ia5elgv>@tZq_H>#(EGsvQ0abP2+aIS7ly!3c#?X97^A`6P} zEQwP`?vGoGccNPJbz=8vo_5%@tVPe;(LyuAW%y9yS$V6RSnjiuPC|d;nc3OLi@y|h z3#S|3s1(2AWUuS>0|p^XM4k6=*QHr2IV7fKvCo)P*nr>4@lVIcaE6=w>mCV-7KB;O zuC83`Z!vUt?)2um$xSZx2f`r9Q1Bc2`qjaJLiqY7=IGqwa3(I;AB{S`{&pUxx=jbo z*3B`XP$=58Tr+QiO+0OEtme7>r>Dzq2K`N#<%HgWZ8KVLV`E6Q+JG^?*f|n1P!-@ngYkqBIWmBG-{iCn zcvQ&GqbXR|`0+XezvD6gcx|&A2u6Gz!7W1}L3R@A5^c>ZiR_G0`UX>?sxEd<&{Q&kP*+juW-zqmhPR(ljk7qq0 z>uW(@j{;lJVey#Qh=JjbbV7n29wZoL*hQ}?0Rh%6n%KZll&+X(u3Blo{2g+QsGaek z#^dQ$%86O=u(r0YY@{LFRS_pWMk>MWXepzBkQDyyB$Ru}NrC*Gtj$*oV>O4N$ z^zPoPaM-hbCRsne@4+GzCA!Wp%Ki8t0u#rJmd5UnaJSa<6!5rGNJC|h7>u7asR5C{j?Bu3+~!5PQcl@8aIVn8-*+< zBr)E*wH{YZmQZj^Xt^BF!vLTt(|9*={O(ipGet(Sw7|tA1b_VOvK76r+cSMb{EinO zsJlbiURsY{pS|$)`DbC&>3T|y`}a5OAXw6f(__`nW9c5qlE`3lLVHzKRa|##wUJ=) zE*~zxLH(mWmKz5WZjCy8XUd&>c8_2-TrNO4fM+~t^0@Kzb;jjirJc*tNjIKW@d??$ zBxj|W&D~AxDHvi;-~dN`c{#sup)<_!YFHYm<1p>#FzPyd2O4YnT6Y0ZJ4l}q6Fai+ z2OvVfHOz2V)Kn?|=>SutOSWB^Qr*^}L1$ab??)r+%THmBqL05nZXg-2&TzFQeOfI(1cQ;FQ-q6{h(` zu&AE3VrS2Jne8E10d=}9G%yAq)xC4aN{irQ%u>z`TQTZ{otI+Qf)ra-SU85u@GR&6 zexDFxr^T^&MtERGK8C{q8IOYneKOO_oT(6%`CX-nz0n$D_Qc60@BDoBBO02uDmI^% zlzsQ_B;(bw_q(Y|+0lD<{LVmm7Po@)_V`G%EJjggdvbr~ig=y#7)Dg;JJ)`cm2Bqs zv04q5(z)z^&0SIa9$p5{~ee#vYr}MQ zrj2^a@pR;B4vtqtX3whO87{Z!wc^y1(@z+G>#)F8Zi}gPz#62D2dv85=HxPj*A$o^5G*(mpVNU7 zdM3nT!ZzINLckx7U4w!XekYdi&~L0H7yq0cV!s^KG+eS`S*Y@OwiK9IXE!%gSzu8S zx0aUH&z~A_R)YC~-*fsrI6h~8wuaAk#z(Jd3dw_L4eYW_=y+Z*2mD?%krKoqVQ&J6 zNFhiHcOhoR0K(m>ch#67QrJH_TDkE2dJP$$>+5K3%cqmV zF8t1aIHK9Kel#@Ds>Xv_HPr;>$UeEb{@ty5?DVa{9(O*fJSbRh@J3ndQg~!|PwVxI z@Wzmn;vkuIDw@Y^b;+Ho{4dtE&-jvFxnphlLpiD?i7>1>X^4L3vfXev;?)eWd;P%d}=54PG zL<6XkLDmp&RcZ(WK&2CT8?<;mrwu0E%GmQuEnBy57AZ`;d^}tCN5Py$+w*`2#-sdf zY`m5`asx9!<@Uq5JIO;O_vOQfeu|~$CZ$#=-TW%sxyv|&RMWA3MCA_4#0)7Zt9(v{ zhFiab#kw+v7Z$mVFI{59)O*BB-;s=F3>+~xS{V*T$Fq12dqlA-M-6FNJbC{73ZJD0 z0}a<@Cnu-!6Z>ReabgV(jdJJT)8}R=?m3g@*A2!+Yne+zZnuQA^lUWG@hlh@bS%hAmmWjGSad+)eIr)J+&wASCF`o7BW z*-DFkapq~z0AIeIZRZ=ss#ulU1FV_#JLL}N><*N}%D8iMYEDs(I6l8sjKE^=F%CCy z^LjnMbUF^T@iab5pPFu)I)&or!Wh4y`iiGGEZ4Pueh{)l2@+WS(D;VuLw{-cGiu6} zqG^CsS^)RK_vblvo}Nx(#LZi;RKiwB}aX)?#5WZ3q}C1 z;aMrh+H@`8(@p+QVz9^2n5z0STh6+oVtY zu?5X%rl%i%ej~SWvgaQb8F*xU12mj|RG>P-Pu4|?u5voq~U zE{mR=;BNem357JSD6N{K-mk4va6g?>RvvN-IwFIrcD6kl{n|#W+Bp<5lzM6(F_;dS z)RzZ0DWy1`9 zh3c7z=b1Z=ifP}T=2QqRZEsSyKK&GzboqVC*lkyK6_ya^hTX$69k09f62=|Mrc487 zys#>8_36gzKWONy%Z+ew1WnlCS6H8&*5@S2{8Jv@%vz%V?7hIZFpJc!$Sp!qS@TxI z8T<2t+6(%z1K2acw1A!x-b@Jn}nJsXq?Mazxf+TmEN2AThe;JXrT z7G+SyLzMYp=TB)r;p{$v^phl)ch~RG$W_8VQ)JYs=33VmuGjd6Vo55>ISwK+3)~yq zj)Jhe!iD%QB)j@03Rw&VetCT+N29_ohI9-y0$xxXFnzckeQ3EW8OgHYJ)9RJ;@yLUQ#x+*QwD3=cps;O-Ia_rwCr zahJG$Gl$`lJ+H;+%JVvK_(B=tBR4pk60kg!?XO$kgff@nitRLd8c5m%O`3vqPP%>a zU}NL^hwm@j&i;}2trR*ftD>{c!TV0aO-g`{N9NmG8{JX?T5$AB$JRhi*VZ8Pa4;6}@?ij3|9B(Stx{uso zAIx+qJH>)5C+Xp4eMXI8u>nVuiG{w~w>9cK-*Qq6yu*NXN2&i62w;9hNV1|dU$v&ecY<~)BKR8)5AuOWPU1c%2w#}N+Pb} zWED3nDTCu1ubb;#hRoJB4L7D@gzpV4Uy8L*d>`lc!uOYtikFT1!=djLv@seJ90$=w zHGHugMEQ|99}Nc#I%IJ4+f0w#Oxjd0+EtKHkMHRlZ3TOkjw(-U~UenbvC8NP}b$WT5*c3HKDU(ni zIqY5TutWdLB)Xf_uwzHPWFLvsP8THPZw3cRWuW&254mz>|DrGR`jX5qf%Jooc zdHvS+t7a9kQPHZg41mt-o7Gj=n_+2Up};%})bv=8H)aNPR@k~TtZ z^ufPM8VVj{73WR3#c=N_s?`np0K%C1nc=R+a59LJx$OoSf^W2wXnS-nC40e4hluFo zVUnv4pglR*8pAGkc6NRa(=mKUeSNEhbg4aBfL{qWKm6kcW^z_&&jSd_#h*Rnn4FyK z&sO&>t8&tvUy)lO#H&TsQS)85-0W$dQC!J5bvudSb-4EW%$b-@Bbbr(eV9<(Mqtf0 z?%Mj+d?$l(7X=>Kx+nl!bnu_m0~<0-%AQdsd(t?R6dDPTRtA1<%j4tCzAQt#N~hJ1 z?Zu*%A~Dg^W4mh9>4dMKax(jIn2`*5Ux^e0{Fow0aYWqgXAVY7_NV>xsj}GNPJ8p^ z$vH;FJ2$+|MMo~W*WZ$r&<^&HG_}m85m+Qsea|Jyqm(9NO;ySTCXjZ-2?W~ci;oS75)iOGJ#lqd zwE$*m9gtELz*&;Jw7q?OaX?9bhpwEzFC*jjXPV86gE^Yfleb&6?eB*Ri&yK zqcDG7N^1#N(AJ-s*>~g+(x;HXU`6lvevTpEZm4K~Xx(-`V>k5P49{50Wylu*4BhYpK<=hA{k#+nwwhg?!qE&JD)+U6v3n#=7UeBQ$Sa6TK^!uJEjrh{U|)i zDfpd326NRob{il>oj8i^=;zga+J9*QJ_a|e$)fo6W?xONO-8<8j@Bjpwvv%t?z$RR zgMkFA?WKv}+iyj6W_(KM=;%0{CXHL85>-o8dVEIl4=f%{h`{P zs`2K;O}+*02bYgJSQrmZ_BvTq_AgKeQoc>r_Wbf?*A8T%zB~cwj2GF&Fv>4Rw8pI` z!ztguA-U@`0TfFYbRg3QPR`3UuC;;iE4!-`%}}Eh=^654fr>d@YeEpqd^|*WqguaN zwsOzeS3ac~=_RBSxvn}n@qr$;9;}+-ok@GW{xaabHTPQ<(e?|R1Cnu5ujmeN)f9YX z9p)3IiM8n3ZrGewS3%&F2IGd#Um&6f8W^I=XC^S`!UB^B?kcElf z8Z&)RiBDlkRsw<;_PTyNc6N5qxBay%f+hik=PMR~!5GiyjJP{>ACh2QZ}R#HzeNh2 z29~9zCETjwj;Iy;<-u@`3Oi1Vw#RBEp0p!s#3m!gAa8S?*->UBR=N@1`V$BO>&}Fm zQ1#lc4mM2YIdAAy59JfS$34;q`X4}f2t-bC$R_U3G*-_>IMHI48J^=4TpJh^1wz^% zB--wcKEO1vE@;n6JiqtpO8p~|NPA;7`l4{DLL7x8I@-2Gi7mAzFULQH%;!omZ)qRY z*iH-Uh)7Vs`;i-OGCb8fJI+qg-pffU&nV`?N<+g7-kT{kclRt>X^dZf?S6vGmRJ$0 z1qvqE<3x)_I@*Y&7RU0%VBW3-+8U&AyAl0{ZSQOucdwy5j~>Mtk6ekb3&U|4c1Y=? zN90G!jJgS2)XKOuQpX#=BxW8(YaTeuvFTk;z!VHeaFik%IXa8KHE^N6@`VPMCRc~z zU*@8op`XLEQ^Cehm{@%yzB!g-@QXSPjaFju`w) z4c8*}6{MTI=D+X)0g&aDBtGSP1!A&e29tLiZ|8Q(p8#3zEI5Y0X;|^TD%>KmahaGq zBi~RDP0z=h&>prF*Z8;S=&ygnM5z`o>M!^P$bgEEw(FOUX<|Ne?Vh7%Tic!hcoo*)8*e?Jb$AFqmqOx`}GMb^Lpjz}g6 z;lICo)rITT|A)fF|EDC6e+wK#y<~TUhwg^Y2x7D@?U&yJf9V{K$d?asFBYu>`|iCJe@l?gS@D*Fgr=mTs*C4j`H;1iqprl z?6}at|N4HeB}qgGn4Ghp5NhubXq5t;-_eVtpOHUIi>%tscP7f)G@5Vp6{LwzW8o<) z&o}?d`_tHbEgtz9q}k8X9OH}OG7*kuYvi*2^&DX%%gWqFt~X-=XE_Q*=P8SNL=bc&@|tJ8shG=hp>-mc$P z%Crw`eeEwa|C0K(zq+e4x13Z3gj?i_Q-_8*D9?31@o3JN%gWxV@3sjZ%@zPX z#0zHX4CjJdIWL*zj|i^-7XvtdhSMu}gTX8Suos&Sya5r%`uF;}SJbXu#xa*F9Jj-08cK4fMw9Sj~5CBIfC}wI;Cj#|Sxz8h0lamDxBtrW*&Z zDSdq&lryRN@k7Au5t^g`H0+tXRlCvF0NPQsRRN<0iQ^Xu*t*Q}OTWOf>UYnx^z-=e zLD(eg1;FVZtr?Gozx^Jv_ZMH21C??p!%yb-`jl<%?KJ^j%dH7&ykQM?W7D(qPXhP8-=;aW{om5YJs^Az zH-%UCa(>zT%V}1YC>(ZtI=LionkOw`^tivXy<`zA*pD&1NvJp(TB4-<6ACDVWI1&~ zrC`YPBJ=n2wUw2h%Gzu?3wfFZ4p=_ASFSvN$CdVI#8ZwYY7Eu5G?3rEv&={J`~M>E zy`rMrx^-O?6%hmxl?+N0C1)f}MNk9*0R<#SCFcxPN|YQWNSca(2$FM#B1Z+uITau| zhoa#0`omiP-ff+BF3xG~T2)$_p+*bovzLU=eMmOzoe8xTnGNn zY%qrq=%j@`p|!O&*>GCfb@7TL5lcpB1Gw%d1cguuCPB9dSAOB<_#N|vC;3ZHj_ahZ zp?JQ%%)SH@d>m!@AxzRQv5E#Zb;s4;dy$5F?Vmm__p_1%xaff;xQ3KSF@2u6*}h7( zyEKr93JAyhxtN?1!>;v-ir*B+p@PpqtH;JZi(YLt?g}BnJ`fX|nVpTAts9}!dEhj^ zIm09(Dk`C}3VX23O!h0)vh|()gE5z{p4ccP0Sit(fj6+DEpOLtIJM1rXoR9w3_x0P zS3#RKGY z<)~A;(lrp!GDFJn2X!%NdV@I&2UEg8b`#X64{JbMzw^)L!VPZS5cvGy*Zgp#(8O%= zi(s6g)xjO$6k7)dJ_2)7bi9}<3R7%A1gD{E=`n>{(EvVH%X{^)m%{UXRic=%^`z&# z##o633WTs!l7_`Kmf+bv-}5oJ$HwVzXqjvRkOHa#w<4oA9_QT#zNd=1?9DGKpD28pe%6UT$NVMml1l;EjWgedf%Z43CKvV5QaOfPw8~kgf4zKU;k3QYl zH<@1|4Ga%g!c}*$dASEIu(G}3b6aq{E1Vmf#HZnn4QYH@?yow;y=Fly79M)Op0D`2e{>P&zS$36;U%JV zU5ysO`k10?=nNm;h5ID8hz9$~D5n5I6N}C;;sqLQd25!TlcqMjR_Ai(cRr`G>INw2Di z43W>|apsaoAoS=j$`Qtk7a4VYB4FBL9lXil)9%|(gyq#PsxJxFhzn^FDLPvh63)}t zd4PVuc=#|0<7YI1CC_;GEPne!;{aujSe(JtRL27mhg&UbbI%q0It)9auFf@C=X6T7 zh|n2i_s)c8ZDHbxV*Rrz;GH)XG7{&uroVo(-5yYZRp3BbPvzS=H@h9a;z+FtB`YDp z%e-X-=vjTGbq~Ij#eOd)Rg%BFa&EWdt-?ilX;z95qcPr`TMBlIDk3zDN@13glD~5_ zeZm`C#F&H6;V$c(5r?HsQ!xmOdk#lmI49H_3(d^UNh>SAux6Pw)O&mZ<<0ZOVKUJEm&yqb-O2z_W}DMU7&LL+1clffCot`npL8@ubFIW)%` zKq8YMvb>Js_HsX93=SXw#SmV7XJ;_!Br+KDq#8B#Q4Oy;cAonp)@rSXfGU-`zQNH`~#;;a&ob1W1J_m^0z$q z*@1!@K~CSs113wrYBXN6Xz}Ma1AGP6=o+svp}ZZ1<|}|`_Chq8MwPV$SS-R?5Cul( zwMXW6YTOUf<`UO%Yd+`enpjIDC_YK}o8T**x1HO6iv~SjzBSg}qwp|n;r^?>0%@^( z>bXq-y~Aj_7B$iym?&(8t*S6VqxGIrs=Mz~p}Ue7l~1vx!SQ@Ns;U2Q=c4x$ zEk1`Xd>-XwwBHlBSG3L?n&V%v!j_~<>&+g3{1ny?g%bL;PJZquUz6b?joLp17v+sQ zOvJbxitfa3-$ZR6jcLdZwTP5n%~WqS>WH113}6qCl6@o|Yxd*m6^oD&Zc0_FF~?W2 zS)2t5R_BDdqJQU6%3*_8QELqy5m(dlkmv~_)FJgC#i21qI`}Wn4ehc#3 zoT>^HVG80 z2Tc|YK5I}8@hSDSeJyEma>S1>A_#Oa=IWDY_x(v2 zuPqF@n_dAY*D3VGdU9Pv6l>60!4!9vNzF?;|O#`20^UUfxKfR;6o{*CGt1!07fi z4^M=kg%#;mWktmdRMOwbP#RnPhOyk3UqS;;x!R;5>=v(Vz~WEt@#7e2oyW#E^sm9% z26)`u%zBEU0!YHYyh~-k16oYPe*P}ry7fAwH6SwCraVg`1f}wf2Sc)AIF4-3aOa>e zP^7q)INiTQ;+gu>1F_Lr*GrzfMJxJ88XRT_%WQ5zjB;|Wj@Zo1OhelXh71>1Mn)tJ z!%)mnd(cFcw~o)Vh|E_mC)9|)&`B~+gX)^nlY>R+=v%sX0{X`(Udb0`1^h^?ZOn3Y zQjp0u&_1NaGukN|PZ;j_pzS00=8i(MdHtZw{u)PiW&`IKdBdQS1CQH6lXg)Wr`rJ@ z`jS@x7oA^$OUaMvCaw^r$qV_R`<&SGatwmLL~NG4Cjum@xs37O%UTZ&zWv}p-)+fD z9VxB*H(4caJB2q`l3G7NRI1S-)DYAD@vC1=y}3u_7+)Qc;>M2_S`~to^@Rhe*uv*L zicbu360L$)wiz^T?Kha!pVjvd)iSIMZt(Uz&R~}WFnXUXw`G7xBQC(eS_-o+nY!W) z8`w(Fn8n-XRs$W;bD3AT*)|sI^C;g~N`3i}Sl4oNl&ew7?R|gI$|Re01{z%DmD1jG zOZ#>9VdwrqeA$Pu?X53F#JsE6!e}^iln9pJ2;GaL+TV|DPP4r?cEkP{H9!=ysf+xKSG?=EV~wTo32bp-i)piZb@hpKn@=E zzi9ymRP`-Bhe0UsX+9R&`{D4Ss&a`yDox}WSe+?>8=m)o`SX(JkiejxtKHDq*{@sb z)+scYt3_H50;)hss%{FR#T~Wx=aWR-qKsO@_<_;(z!c0iYS7gtL5=}*V*4Rn5W-WI z#`5aC<~zOp^!oB2Vg*|1;ew2q*4MS3?34WTrm>0r!o`a(ie81@7@`AZUu4JvxTuks zaM%0}0ih3$&-57CH1NsNOnU&kAK^XfHn5QF|6Qjvm{YyIEl&(Vy8}W8Vbm#SBj-)K zlVsPmD?}K`rFYQWTc|J1>|qM0=&_B}JoU3`|MM5GK*o(*?b*x|k0bAkdiML;qoy+V z{)_&aST%tgqDeRCd4ZRYykmcBYo@-zCj@ghEXT+0M?+)p+YRE35xNHqzktH-oOEJwmNA z>om_Jd$k`b3Fi@r{pD|Q9GU=Lmr_;rV7CZ@DYzG4t^#KiVeljBFE(Rh^$kq}P!&pt zF&lR{I(EY;mDPiRmbR-W`E~2z)So~_%BdCj;vBk#z;=nh9VnEcF1-ewsPX?>wkp$Z z?Q#*hqLYXI6{`!m)|3QD{IZ<*@tRdRL)B$jk(V~4BPTqHGMmW#b+HFQ-$UmPU4-wv zk9c(V9DAQM$k7>ZGrs&v_{GuVVY>Rmpbs%WFI-rDsrKp1(~ajhB6P1md;9(;`P1_k zE*rZ{O5M6O`24oU33MwK%a@qJfQc|L>H;xp9H zA@5?u4U0pYa?|#!x}wwWH(VF$$CtGK`9;tarZ=XZ9xDf!)l}@{DYu zGj6dZl*V$bmM)lujGJ4lPxNnNLLr;USvA%zxeFIRHuQ26Bnsy`jNVFVdP)TyOF1Mi zVsQQ#llEex%HtpxW&ifAM$j>GF}dtADJc#WV>d_6zZD@M_1|ux`GG4tp|?#!I2|Bp zy?ed;Q_Z9G%oN6xVY^%i(@;y^0;3=H2i5=+E)5-!yYH>9@bqqUYYA`dbw|xhYI+vg zvhwvAB;ye0C!zZL!czqZlq}{LRC7G1hs+pz1xpSXP8qBxjr`7i=_4a0*1P7ZH(nxw zm(uYu7+^#_?xK;9@NiP$IjbofD6;>ySPb(VPov4@;#!rmjqoEve!+DND?ZU3hXor! zVk*f>Ev;Bej%HC`&T=-0uAf#q?E7Dz0cMopv9Arvk!a*2<`_+K0Y41FHe_)v6 zsVRserr22*pX*-tl1v;8M z&V}Cd1^-RNC5MR~X2jUV9)|N2!d=|RPmTQL2h6)`E6ic$^VLWDPFjt_tLIJmHKG#o z+Gjnl63c)2vAStQg3V<1sE+AA)SnR9Yj`^qxTj4Rgy?%pZ>Y!PqmTrBr@kC*V z*|2t{dcBt?G{o%D zXsOh`z1c;#XoStB8O(PIAD2C}*&L^t{zw-+aAhd1!2irY>#<;)4)L6BC*# z1OzV@{YFWw$fGfdTNiNSWeh_x_8-XB)6rswA?sL9JvsO_&<+w15RBYUgBNTWCR41A zfn!!Q7H! zYiuNm1hck)WvP_MwVrNN4~(zfLCHQ~X;exPmnkqjRm7B6RJ_Rl3xPPXi$qmMqNIn* z?RJ>R>kmLH8UQXZGb<~YHs^u@JMCIp8GU`ZOkcad+ONlVqdn5Ith|5}34+Y1kuf+_ z{rsWzhE*|XdpLfbh*U}uI%%rox{sNER8W(ns@;e#U%q@>NXWmfXi){U$i4z%0d^|e zQdj|-y1h$UWg{If~P`6Tw#PhWRzU>mrjUJh>^&!!?whCn*}j&s%S3U<$@UI@#(u z`O(if3+S-}rRz(1@j(&+qDW1VQusfm+My6~v1xW>+tNo%n#f`ZG75u~^S&A_if1u* z*NbZumQ_IgLw5gFuKWDk=}h~DFOUtgfBjYSNpPY005zuiJ&ZKxz|U)c-ynd5d^f%V z;J(~QPOVbovW>~2I7lsdQSDlABRLyR_g|Hy143_e^|&!x|9CBk=b9Td=TZP{;DeIq z9RwS7ongsUBDOrcfwM;@oq3OCWK{qD3xV#@iZD*Be~0%7)i_+`!T?wF9bmKI#LM=8 zk9~JP)rg(8Wurft?qLRJ0sp54XA(0_c%ylj{b8{b7F5qjLKJv+s;== z;A3&)9-gYZOm={_yG16K2V)aZq99Cv^~#IbiTiyFT>c5+#Q)3);9`0Cb=lVr4pE0z zowAs^3I|gMNW6d*m;Rk>D0Nf=C%)J5J{#XQ2jFSb(UaKC&Y4!C5{vVjXqvn&;15IS zgx^EtB;4||%7)DHxAZ_HI-GAuK9r~T20}ZDsl{XF+~Yul!tUt10WG ztIapYf2Irz-~5h8e_$={ikay{(6gQ`T6WTF^4!ezC3E`oYi#|%%kw_^yUnA+8sDwJ zshMTI2+>X-w}7*GkM0i-0_|M+xqiqFGu+_8sJ~}MC_e7{!YzwzU+8?HaQH`l6!F{t zi%hUG47b51ud}=$O_ZFfy*!Wg!K&)QNQau+;6DHC!a_5w=0&(&{98oYOsngR-|P79 z(mX+M!fP5^X^^IZtn^lB(Sij#{=2FwF)%l{{YFvBBXPoGf75c|Si@pbJc|2#Ja7TU!I%o%Ft{wmK^$2u+;U z>jUvrk!+jDEz6=4n0>$|ksx9~dnywQs&W8<1(^H;u2Im$eOVE;7_>Y&vHw}8$8hD= z-FK;aB$6l7UMU{yph`_Kx1oS#8{n-?wOnmLW#fRf`B~tl#rpgcctj-neuLz(-Q@|Q zcds}T`5lhczN;hY*RQ_*(^r8HKT_k#la16R_n;471#xirxzxS6ekG5UhpWg60i7uK z_3DeX)d#!D&4x2?4|xMfpQg)SEQCddnN{*GDTELR0??%h=6IU5hBsM)D2#UF=AtBI z9UTR-hjJFGY~I*`F?1s;yZ~OJbn-j(Lz`Z~vNv1zl~$3D>5>8&k|Xy^nYBh(ZHS15*QgsS{&H}OwJt=LfM}%QvX+nC-a{(3xh9g3 zk~upwe*9=XgOGjaClt=_G7qkJs5C~~Qb56b$}?4Dcgho+H)dchcqMv6)pm_9HkDvbWg%3`sS6oo zcY2v?L!mJy?b>*4n90_)kebfbF-`}M>ArIATznS;{pR5Z6xO5YwAoRU5Q$(rGqUr# zqC8xw^_5nVErX(^FNWH!sy3Pw?`o2-1bR65Xs$Ol8&L|=EoL1TZ3wP->y`^py<3@{ z(C0IlD7rA$6jrB3r88g02>Sw;j>k_pS9^EFd^Yg8q`?tLD@xr1o?e=TjtTusvuQIk z)q|BRa7F4DXlPVgil)g*QHJunwkbbwvh4lzvXh5cqtsJ$$VNO~>;y`7$F<4mb6Cvw zSZpW`+Hx2a)~<9MnS@MdryE>q5xoSvi(p}x6!bxV>J;DD5vhF6aCkG)@$FP>gU_XD zG`i)8h(e>%u>$Llo6xs;8MPpqKQle~_NwHbNkD&8jQuQz(RZ;Ulu61Vc zss|EN)Q-_)D&g#HbI`~A4i34I(lwXbME*E#Sz;y_(a}nJ`bK9mCZTx{F@ry}RG?+< z?zr&`9LVWPy(BPNnEJ%tOT=GIg3+K#41_V|b$6baNWBn)g?nT8LkpcB({(2(&K+6> z8_l})rqnpDj)z8kW?CB0k|1vhZ$>eZLtfzOWKG;dpMcRZA+HibFwuKzU%Qyi%j>xE zD_C96E#dPWpSBowCNY;a^qj7ji1TWBjZPTth}p#Vi(nqY1Unmnv^40qQ&CIHUu1%m zOD(VAO?hJI*4Nh^*Ty3Ogj+n`TcN!wC7Y?JLnrA1H?DAV(2;7cHV>YrSJCXoMlYBe zGE}90B~eZByqKzgz40upIT)ee@tZ0~qvGC(kaPg?{A$IHLi~~l^-{Dh!`QRGiRpTx zQYrYhgLy5F_JlEzr-eNqhS*fXJAWbEo6Z)k92D42D`Ui~t<^OB0sQ3PxSvJ?f=1oTfcWSA>W{H;@;CXbQqY09UyRAe-ADIgV>OHF4EFw%AU&pV z_(Rl#E>nI8Y+9I0sTrv|`^!9li7{&Z=6$qH-r>c3yMAsC%|d~fM#p(a_uV2eN1ZXx zh6I1_Gl)D*=u1x;jN_tftM$U16Y-q?hBYgAB6^dop*J}0=ULJFll)D#OgCt3o|+|c zyB0p^6T8S6UHYI8lPZ7f-a0VFn-lc0=%c3QT)~8maN%##1-S9VJiL-iXO1 zZ-HG2#Z*KfA+;_GM*wz}uRQot8@=6!i8-1UG*+7vE)H23L%Q#h>KESu*|0U3m^X%L zi)IrB4^?39zwfVs>J52CZ}iKGh0wS8WnOIKft{y|na>O@iB&d%e8Jj3)yNA@5wLX1_0-noMUXPL?x z=<#&)W1>?Ij~1qZtW<~>@Pi26VR@A@^N}RDA)*F`;@aAZIJ9b`0JX4CK^z1II$Wy7C18s)?%_c=6BhTK*{SipyxfNOboNz8C>-6{4j)ii$I~x}~ zC#>4%;xDMf5#fzX3_)Vd-G6wz{qw~~Lq|x~5S>&WAu_Tf(hZ5KlmB@=WBS6ANLjFJaL^b{{s^G=YO_^;X;3F9qG45@cYq;WJTJmko|eS8j2iV((~v7r!UbWRy) z70kX|bSB)MZdw0?%!+X3)YCTG?`l69b_Oi?txqnDPfR2LPPR6Rh#&oo&8`{zF7rta z5&Tu%hN7x5zT=Hsx;}@D*Y(wQLp)N7`|u}Mc*5vj>cX0#x{Bbde}3`E;^_&ONyC$J zUhNucR3=sm=QQcK^m`yhk zga_=2O0DXOtj0D3YzAX`l1Itu5g|@1!e5;M%R=7Qb0M0L*ZcBK=~2)@R@?@)Of@;B z(``0hLawv7p8vXF%w9k@#dTw%EP;2&!nEg;m7ZSyU+2J|jc!!(<9&*`maq)fMeD3< zS+JL%J!uJ{G8_2r=OudF@lugiD)Kw8+;*Q#Q-h!6_S`G%p3Ow_tI}7ye=G%T5hYz5!E;#dp3j2lm z6F(x*Lw&NTOC+i%B|_&rj$Eldat^EUg3z#Kteg_Hu-nHJiAo2^ApqZ#2JR;$)@)F# zpoj2^tuW{46U09RhMJuC%K7^Hk6_+{^}(UOeT!RH z_T#;eTU|+1D4s*~m}rhx-TTFC$=06{5Ak9+X%rFyGaN6JNEK(gC9I=jTQVFf1&BD#AqQHd%FqtT^y>I{ z6`dYOo$t83eP)ES2t1P-NXh$?ubrWG8#a_r=38xP=~ceG^|R@nRJ@j#O^c|q2c8vW zobK973i5JAslv+wVp19-jU^ZL;gBC+7m6bfhpi^e}3m2FKJBvTOaaROC6BR?@!_)$}li@6QHv zD}(Xiv)H>~1Lg~xk!d-)HL;QyA z#RQH5ZgQ$zfKl74Je|dSNhp-J=2}EbQsKV*Q>~l`kRodW4-A_OnhR5-B_=bT*Zn-` z@1-4tklqNJH@)-Vd0BjvuM>rFf@(A4xt>8++?>YY+!rVL}La< zMziief)-g?Wno@!2lQ8S4~6CX9Vpor|9s3YFE5{7Tf11VWmD5r|L_j3^yShEn{7=+ zm~PFc3s@db`?QP{Ey8!thg=V+IFf&!o8*o|-s zAsh$Z)|w8+j{o>n(Ed%We2wQ&(%_rCpCOO(yqX6jf`_H@ z#XqC69gfOITq$xDmJwsN-K!e6vUO`M=6gI3&M1%Slye))f2(We?{;Wca%H^Hb<%kA zIQ2b0MwOE_vX~K40Ykt(bAxYpPRgtN~a-Yd1&%y9WCVv23Q$`IyAa}xE z`rXP0tQ$!I?fdE#&_n6pkpJ1o4d|cWBub|SF#hoKARK`lDZHPby|i!w6x@n63dh3m zgd)=-5Ou+ML$R<9j4oi$oY~EL9XbjZL?oDI*Unf|UXlsE^;!Em7NS-Y-1k;kMK>4n zzJVX0&m}|)WY@aQb-OIV$^nw&w!eGnMz7NGMS!0tzv-&FfX&eZ$aXQ+XuFN68Gy45 z4|GK!-fd}OQFXM~tP=<$%0o9KX0LlbGB7`1T5*Uaz1?t%Lo;5;gb`c@Jo~B`aNQxW zCBT^{VkBO_qo1f$hU=46DMhv){X?U`{$}d#F*tsIVj0QH&L#paj9jfLX5*@?`N1y& z;3f$vD4t(rWnAuzh?qG6lOnLKHw900J&dq?98*YMmQiVtog7Bbkt4xU7MC}osC1c2voZ;8pv0WoTHN{y+QXlJBXnBA690lU zPEo{($P*MQT0*yLfU+xtK=c%B)j?U)o+3drl&h0w95}1ym3sw3FI`55P)w?Y442c= zzO;WD5N@}^gS{z7wsCIhm$k4ZYQSpy^&P2_H<5u zkuvufuZhqP6G>XUwBh3Cm|I$zM~1w~+s_oQ$=QUUXbNa2<3|lXoGk7w4f@SC2mh)y zqQEt4^R0lH3!##TB3T>bGvAHNx|If{Lh4>;tez+}eGlAE=gJ+I`D!rxZ(x*%8w2g2 z&#vAKnb%vHF*YjWN?saFqcAN>_%o2=a_>oUI|~2Zl*{T@yR^8JC6T<^z6-D~yKP<1 zwDLF5FL|w5;?9Y4^qfFaj!YKH@WZIF1CkY>ze?E4vqspY(_Age#v;ukva zUBRg-;R40g7BCdel<6EQr#7l0Eda-PsNg6dbb zW^~6BGodZc=VrSCEepDps*T!i_;OSNK>19-q_6EGKbw`5rSw6#6c7=?mB7EBf;8O6 z1cKIEn~5l>_}!W7tR~O`_M@Hs!CGbX$scT{3W%UlxV_yOdg^$BgNxzUG+s^B3y!Vy zm?{+&^-2ZGA>e2>jYvE4Uvu2jbuBnYNT{Sc*k{bgQZZ>>VpzcZAg73VH1@fvR-a3E z_)MF8)e|0exDY>yoN;v_NQ4pE=Jo`yn!oUE^;&Xu)Jyj@+)L z7WTg*9RTw5${VYkjAz9vn$f357WQ^5K4q!>?x;^sJ&pU696xrr--o8YEO(cnRMWiP z#b~{UFk9gj>aMTcXh89z7pEF-Xwayx&r)vjQhLN1>hO~g<5y#C*UG3mXYa({FR71N zGlN&;=canw**XRF4rpT~6c%(_;OP%lzD@_d8bi;EtsI?D$x!J;3c#gHsJ3i6VpIu2VUn4(-2&FO1z_jlf)YBYOC4!dqvcj;9*NdEr z4W>%9mebh;e_k}tpf)OVo$DPoBu;)K={Zmihak?W^8)#zccA(!AEg zwGoMle(y$n+wY5IWOnK^Prg^JD(Kp{=wg#u-fd*k8Bo#wCVuC_yI`W05oryIt4+{d zuh6`l;k!cVLe8UZ9cc3FFK7?)5D3<*!A}F>$D1o_xT+WEwB}3TRS6wK&$}7tP44*6 zv}8?Cz9PyP4wftBjQUv{;_XknbXb)VWC4$b93m9pv7q#Y5q`PHBG+dF17cbc-@`=Vb9Z&SQeXXe zeT|axuUiZZVYH$hzs>lEk<)+IY}D7|!H7UUveEBDc=#J|Sc$n$)3lqQR|Em6xKX4Z z5e22#dc#H%{Y2Glf+#<@^vh$Ft{PsV$c@wPZrx=jMd)|78d>_VAcii{_XGl_b6-^oU@{#lu>~i z0H%5ccKxPcod!h{i&DzCrxcO|>}KbE4yKx6i~;_Ewj#QZ9(ngm3}9XwSx?YZgX7yv zA*)GCa91pY93jcKJ6ydI>R=^+uzPxIYVpr(BRD{w@|$$Dt<^#GylrV>+T}yu93b6ltO?}EL@g5PKfxCskw)E$sOM$TNx&{Ru*XSA=c81exZ zS!D6*Ox6WB8(HqlAH_Y>DaS50T45UhOzk^M*dh^kby5Fr{ zaxfH^dAzwZ%d&fBd0UF(ByjP&IHrtN{_$z0c#2$HWNo<}-^hJ|OtlTYcHIINDs0fn za&5T-IZy|cmXv`$*+!OU^!@i!rS~(}o`?9-P}X(d;r)7R5G)XVz#Q?cP+HiOK`Lj; zk=gDk@bR5?Zcca^w0@L{*m^I=5k|D*)v~kS;+`h`ydFJrGfueHHzp?Dey9Fq^lr`*#GS3+ zV+~UmUxk$T*TfEQP45j+uJ|uA?{i_>j0@H-tQ*pfc$;)}YM6Rm&>i6sURrRyxZ-<&jup3r-T&*imJbbQ91w$|@UcuKq3?6mngrkq=})2?P*A2|1PRrCDHcWz!1 z8)jgr##WMiW2$@CS}pn*X7i#bRcJbQg=|kRXV6|$b>@`mi?Cnt2CK$y;LxJ2cKW|G zLjkTVbl9NA&LV%~4IsDz7L%WVIk=-W2nIxR4aMgOUDj>a$K51pcs?AA6))^2@OvJc zF=*>p)dkd4S05JJ*Z`&>4S8CJn`tCT5+1SIN*dI=bM!i}3zB#pdv*{ol*|op%@Gq( zJw|&l`9kw3N+na#3g|)2ihB#BZ5_z|_UO!{K?vQxf^%+^&di0@$;YxOTse|BJt=Ji zAxaAebYiNWA;MFxq4C+gIj?Kbk!y@hy@gIIuOK|wOmC?Cmpt=iO=r-}p48^qIh#W8 zG{)f*&>jFY;+LOJ3~pGKET$TPK3uVVb{?>RI{+4=p;Q=8)H`}x?!eLthYH(!vjVWA zvyLeJ_$0V_a8RaK2D5XVt^fw`Ioh@HH#-rgOA+tqI}&yZc%kl>?ny%U`iV+a(>O2j z=qp#pL+2-jsVLw{6t7N&`^U_k1^j7ywHs`TNf+vwq6sct0ukK|=Ez|<-}n%`6fzemr%G`PgEpLcPr@DxzMk<7wtc`g+ zg+x=Z=z~-k70;bL;s8>bi&y3|&HB}C9USoU@u0w|eqQP6{Tc9z zBpt2p4588+8-r;O`2XZp@9Zb$Oyz^Q=ILnk+oIaj*f;lLG7p|*k#PN+1z?kChq_4A z;h5L%MC1F*?BmB+D9KcSJis~2D5i*4BuF|%)uci<{RN~JXKvqTjB*#(&XLOv7cGzS z!pf5)-ARwA_gP$jKD-wq`D8|zl{HaZF_$~%R*nUzXwK-YTMQ>885o_xiLraK=@3hh zgHf;V)(DZN$+y;fm-YB+fHj8&o8e=bzdShxpY!wVxJB|yDmaWQbn3kYK9PpS^rN z;jmU(8j1FZ9i0?=B4nf^aLr-imMwR?%@u2X4=bg05E;D}w3KN1{Cr>XIl>QE2o562 z0-e0Y&V@qiwosX#C++f*Kp^tX)5#s~Rph;|Jswcequ;AQel@ zU$&nWuNkDPW-`Wu?eXW&2Dmw5Q`@gYSB&!RTO~Xk05k+PeYQ$;N5qB8 z_njCGyaL_=IZ5Be#W)|ZFy*s6e2SS)gmVqEfIvuSqHzClN!ijwnN)(f z_@VjuTiExbmayj-Y#8u*^vb7;yCJlKhDP4Bw+oP<0_QdNM~^OTHxiY!MKuTDj>4`# z@vhAGDnS?+o<^ZD6;_Joa(%OWoJO@PJM_wzN3lkeZU^`{2}4}klk3-%`DBKk!*T&x z)8A0rBSn!}w}QoWKXJ)Tlqqo^?=SlqP{I-%mM4QR8}QcFcbDs5kyhx(&Sq|7j1?TpPchBz0bs43Zz$9QpkG`K}pI)+3$ zh>gTa5XCTI_&F~hTT);oxm(vd!%SkWUq`vcwyk>0PxQol)4ca!4cYt=!A`_VYU5$% zp*kX4u7)HnM59D#{O#7R8*d|wR|hwLlneX;yk^O7g{? zmat?ifhq6GlCC|AA;&ZI;6_l`=r%Q zf|`rIsJXh;jXvk=XnApBaC@&^OwIzPmNG!-ubC^9nAovrQfzDuc0E?Ar~2B@YA)v? z*2f12=u~Ik@GwgAa?wE@TNnQ5CXY#b=!)$k4Od1H0q;JSynAbTu#))ff!yR`%W->o zwGcJav4FOS_ujBj2r4nk@_tmTPH135YwKbpZm)%CEY^GX9*hV%YhwX6} zmHlGR^VWR^Ff4Vm9xrbwT^lRVxV|P#jQ=cFAHuVd%d%d|%2dF;QS2>s;h*uz@wrkip;W|0|B%$NL`Iirq^unBuYBE+hvk;S5p@hjY=ZoxBAF z;2aqMP@8JitE;!LNnI|lZ?C_m#Zy}7XkO+IBSicci`<{$OHA`{sE6*T{E4u(jy9Z% zZWB?QKE`<$IS7jF(owV)FZ0t4dWkxVYZjTNYxb)X5{boFLcoUE2r$IxZY|i*@d^rf zA4?kKK0B@JvurH4i#ApIjesFaILES~TrrQW?PYv|0OktpVzd0ATftmF6zuhdt7Ikz zcqiE4>(tb;hrF$c&kq*mJ%+V5syB+)kN%X<#fHN{EzzcK@%MVIX}6Zx56m|!f`Eme zKY1oS&ZGmJcF@RP=u}G0DnQCga#iH}FOuw4R0zP9fnJU-QIIZ-HETO6F-ksu7F6*{ zt4-6liQQ%-s!&qY&TX-QLJ)WH4Xr86mg!8N+yMu(lkH4)aUTz*M^m+mv)^QU5^eO# zSVFqF^o4v_5{^Ed^0{F4UKsBy{828}lpG1k23Lag0wP=BT(z5KO z!CLHIh@YuHzmH1U^|GEQqg{#Qj3<)9_v@JJv!@(P4$kMIIW@KmI%!>-sA7PlClFRC za9EQo><)G^H=>jcvi>&3@NmbhZjx5SHsY5aLPkyPMnl8H-);?CJ9dWlNdA=i8PpTk zGoMmq1q00Lq;kQ6wc};Bor_CmH)f;nv+B@q61h_Ypg{lrHA^ioLaKqH6?9(P#%yZ9TH%hb zA02M#CFw_s<1iOK$F|##{6ih7MZLD?*@JHGxQwFXuAg6v3jPo1ju7qp}sOh-Y9HuCv#=~H(y3W`?$t2E1#KZsbK-EbMzh1zzs1pDFU zeRTEMX;69YE=ao)~GhE`!LQHjX3xfba$a-|Om{T=F0j74^&s+ZkGuB1^5X6^U zY0XUCA3XSj6lDofmFrhe3!tGy1ZE0+cGBf zj3k~!%zqmWs;6K1AXOCpZOuV-oFenUfaDvY^}+QHNm1Sf1P?{Hojdo9djygPXrxPL z%=~yg+FfTgP)arM&$aPuE5|VspDl6@&&R1twrbDZY>OZRN>O_<_0q_;!DAWyiMs1M zW8}B>*cB3r3=yYvz!(=;$0vO`ozZ0+pCF31p;w^dXG=URUVrV&o|gF|sZ>d^ErlWO z7K+Dus$Qi0LA%#!xs;2|%=XMs>5+@h1ds5lU&Umq$EU<#HlB(%jcVV#twxL+)e2)( z`Bk$hfZ%-6@dK%3?TZ9e_nZE7?tHhSvKnyUg! zO6&MnDb`-gc)mBy3qG3r6@H=LqA3G}=laZjB^s>v^Ujmj)P;PzoFhgt(`V|>>0CsV zVIK-OCcgexW7*YPZNAdWf{(6$UAq07arq}jTHQRX zAFQ5xELKwH(!ajQ+|?|+KsQ=uGCuq(DKG>#`l8#%ZS~*9EihC&+uO7Kh#Jj0gEX*s z{IzKWO(o7Q)3KpXa9o|m{ycH|{}2t19MZFB?xIr7g6kE#f#UB~o8B9GU0}E{SI6*l zlo#em#I&@Ha6v;@5fhAAAvO#*n&CG^bX(X|cLRi{`jh+ym-Yvo`J>67U8$R$<3~g| z{rslnBa!yH{E>- zzN8Ro^BM5N<=?P!WjrsF;u+3#QGzKVI{1a0`s^Rz8CVr51CYPIz|o^4hQ0g4%pHi> zO22zf>i-2jy!riqpoia`C`mn!>!AZ`=F2^ypr@6ua^j^HIxgZz3<%!`7I1)deu}9( z_Uow_%S-FyyicMQ&OwXpkgS-rvqhyrwfwxsGi>Jy9kpue>P@YvAC}}-O6Z?tB*|2G zNCe%lLNXi9uu&rK?o{#hCGKpsGd~qpXw=RV<4VnGj$tQ~9i|S+ChZWRVsqBdp|g=6 zKDyZ=QbRg-LZ*OB8rwU5sqLQIGQUg&2Wf>fJf=TeO6T!G#`msCEMD)37)18Am#$NIao$(q3UwU_e|Qe4L}T2$mNo?PJUyx-R*O2pZK+gK}prL$N#< z1aK@Rd#=VQ86+G&K)+(*IXJt?;R0PYdsn0;#cpGIJDxVd#-(V&l@t~*krYw8QFbbR z&ANGJd)*k;nJ>Ni6AumoI~27J@)~a(o(FQ+FzG6a@0Z=ZfE#ta8wX|k_q##?#&qP- zt_p#Z{NRRKm~vkxsG2Gr*B;KvUM0Mz>iFV5*tEE z@7-)@uw1whLXG{~b8h;MG+dPu7Oyx_Jo+Qs3)*#C`YF5MP5rCHL+R4)MyHLIP!xpn zc4fQ0d`Ayz5-GkO)A*EQs-UghapFx;NiE4~XanQoCzeWCJw z;t4}O0xPSS^mN1pEd{r3dJUhvN~sklc>~?G5KM+@gWO$kiJzIzx|}H*!jSH?5{omN zfRRF9TGgCOa^4%HMe5i=(K&pxkuRb;RgR3n5c|>-o6J)fX;gIV|0M&#pIPb$GI)rw z*?8AUNVNsJfysF3@&gz1Uf(UFtdRC1vLybz>I5Jlto^aot z9Z=UbecN^$f=t@r0CQBX&H&km);4iWPn^MI>LJWbK7@#OHvCiu<>Mlcd*$0mM&OAq z?584KDxKHcA|9qXV2_=`{29_zGjmB&#Q>2z?N)HxzUf)mj)6a447$mAdGoOn%LI3} zv9sNr?UhtCHjhes#xrP*1-ZMrzgh-TIr6Gn1ls>^xRYIcQa0e4N z-G1CC4D+S_2RQddI@GFUkpfMYLPh2aDw69XxKORH&LWJA_Ib=s74{92chX4azj`doDn@Ehm5Qh{1l=L5u zNaVAMLa-3q)-uPrry>6~-a`63QweTEMgh>OyWZuJ^=ai&df_Bv_@a)uw&f1TWO2Nx z3llyRn}(e-y~c|i|3Ruo{{D>PCAZ^}!+Yz!$!j@8W)esLVIB7`qOz?n20r<}@ydUE z{HprDC-VNE{Y-8a1uErAr?sR}gReMot;uR!+Hg5S5F)~!t$~Nre?0nlaX>A#vR&PHe2N*z6 zu`UTdr7f^(7pKnZp>=gODDtWH_zFVQ9yh)Zte}?m+g_mD9Ld~WIwFL1=141?1(vb@ zdPLEuFO#(Z@1~k=el;aeH_>j6Z5l?6F>-SdGKl(3vZl9I@`^J`0a0diK&G0hz+4nS z0IoT2Kq+B)#Ncs2r~dMY!1lzUN9Njv3o^=N6d(RC%DytH>UUcg6H!WO5U?m|kuGUz zk?xf4mK0H>Q9`<;8zd#AMcPGoNq4iTJJ)}YbMD#u-uvNxkTG1a>KE@j=QE$6&3sU0 zzZJW-MDfGkhOyIrt85}}d}6UDWISJsj!E<`4VQx7`#}4xlXJU+r>xgYX^-o5i*)Rg z_ky=bT91>K-g=#fJQCwmyO=k)O<;eTV#l>;J9CuQUgdT`I(zr-M2&ZHe5LhW!ozLf z(8nKeg>OCl-#H!;|?fml*RVV(If|)N*$u)c)^p@B#PH<4#!Uxs=5K<(i_fH&JDTZ4_QPb4*U3QinORf3XJKJc zcwP4mGFTmSDBK+-)m}ru70C@}%ff>>>6>9DL6v+hte?nal@hB{Iq)HQldD@`PT=Ro z{y|*!q8$V)dvkxK*Vn(##XLsuH8fQJz94}Hd6Irn84ybYo+ix%R7>pnSFes zm&fXeJds!nQiM~@^ia|C%OyGTZ1qweG|2qS(inWY zGX|FXLB5}`_aHq2Eznyjn1EiTA4uB}pxAP3XSlp=#_NYgDb_i(QRQ%oEh0c^WWKec z9tjM<5`BbmT)Am;lbCe2R?Z{HA`0M?gG{3smL1J8m*uXC4c-&CW!!{>`zL>Y6-5@Q zMIo}z)vHV~z<27+#IfYa=$qET@&{y`Hj@1Zp2MhPnpoqkSZ|;ldWIy+8$J^~2~<8Y zKK^xm-qnrp&34L_1Rl>g!h$hYw{=(hMaO64oNNeIvpFv3&D}JGh((#CX9Qvj#igBb z-}e6Va6YQ*{ERWbEit?7$YW_`g|^(6N^aODH}k8gVP{5&7}&0}a5?m+2=Ob%_w|ii zj#R~><22pEtZm6=op;@ty8&+Ga*n}0i2`pfn#9(}HY8j{ug6zfzG?kE=(ss@<(<{I z^USISE+?ld+V|0Mh|o6Uu%577oexvY;=VLL+?HSC*ycOr_HsY6J3S;vBV<0mt2+FC zWNhqeU%fUNn47nwNOH&94^fnj#eD98B2`WuON*hx$4{Q%zXQbl-d&P_%4pT_;m)ZZ ziU+Nw_R~(ATV(CYo@4cl?eYmmZC%_SK9X#8!r72%-&kKSDK7^D6A`|*yC3jqGw6>+8z^pfd+M4^=bD(T|fjmFgC%^S10A7>^w%@pB` z@t)!H0=MpnAfDSV{Az>(CcKWCj{9ia-~T9ZzBkYn-*|ODR+7RS4waYt;dlGi*D!OI ze$_`1djBNKVTn2Y|N0eUSqfFkZwslumrXu!<7c-Rrs3e=81$qI3^)DJsQ02MEJ!so zjLl0$hw)>b$+Q=b({UsT+tRB_YbzkcM69dDW!9BiE)O@OuH+n^Pao>qh#=`JYDUjo zrHIg`VIe(zVPcvlv}JjIzk?!~@6FR2yGvQ30dtWIE3Nsl2x7sV@$2qPcfRN-cMycg zhi2iIg|tpJ9Z&0v=93IlXxcvQ3KVfEK=6qE*XenrO{Z3j)*ARWTu@hFx4H`VE=ePJ zZ{EVL{~ZwFo$loN&svXRR7I6jCxxHoTo7kDSxx?KW+o3d!M^Q?n>m|#>6Ju8SMO23 z(mhhIR?2bx`}cR$-^Bt=KDYf_Xo3xOMkPJMS)s`WhF0Bh<4vE|qFuepL_I=t?0L?8 zxBhLX3UFvzXlxh}=M|tJ{FZAT*n2K=tJX0#oNBu6!@&U==g97!ig@t-W+Ya8_N$9| z9712*OO+@GF}5t>Tm1aZv>U{}B8yy(x0ms4f8CcbYbSPd^J9hI!JlL~RsGj)C0Y&m zeCvLW;_+@!V-=D8V+Z3qtAhn1TRISl<8*sttU_)L_ao|#zV{0k!%$h7PO}12*NZiV zE`p}Svt7=4Xj&k0BBB5bQZ?b zS_joR$tf{uFQe_5D=1e>%frKg0>yZg_oeGjSSC+NNy&ZgUHU{GuivONbSU|Cd3rMh z3sW5FbW!_Hf}9*!h(2>U!~_60Cf5tXy6Ij$5Jbbq#zup4khsC?ygL}J%i^_e`c#Eh z{&0OX2NLNWmb%h)lcyG(>?C)7c;5n!P9`w4;TE8H2bBzB7U7&Z-_!F$y=(>@aRS7F z#CxrR&o<&2MBN5|Y(I8;>o@zEdo$6A{8@W{CtGmON5P5C`~Q6a#Rnje!?-s=+|~7Z zvqbP>*(C{bpUl7El0-2P1QjLvp1XONx8c%S5nFj(@3=bRLmfgkx4IZNH0y7azDAYP zaDtSshkwsyA3xvcxI)DI%xNsx6>?I6E4;h==DsI#KYh4t=k|Yb0U&)-R6@dGyN{XA z{bE9i=E?KOZxj^!D}%nkk+54W6TEiQ^UFg0PoQnSU?V2x%NB&82o)b+0vJ7)UjA%! zJpl8?mx*KLknTLLD=?ixuevO_?NEPVev6DVp9;(y=4s^ak-G6JpM!Mci_bMA%n#9z z%_eUecPHH``syM8*3kk2Q~T?qA@{MlQM1eolb&Y=3&a!x9x=HNmw7$9xAYdWOEAyP zZ$(gt&iAKDbe-r6gphh&Ejo0ag6T~%4#lqzc80ewFy5SoY6GM8(6{YjOM~Q66X1)x z5Jjg`scz4GI*qH`mcixz&2_lF*z*~h`NoB5GB}5r z>yKlWn0{Ezvto18%!q5Pqj;@(6n^B2f0%BDNo7azr0Vw3bsPL^XL|J50xA=29v7pX za7vV>H>Vb)QzPT!?RoL^CUV9-F;Wc|zJDIPhLbjz{Ds@W7)5PCo^2~|slqaDCiBQF zuvFUTXq1OT#0)lhSyIk)k*r<;*J*OzvMjC9XO3H=OTI^mcYjn98uh=Y%+@Joy6O9{ zp!u$MTGPkdXi(QC&2b0`387{4I9z4cz8E)xjry*~_1xb< zziLFMk9{@cCAQCmY-_6>uG!mi`EFU{tEu^_@|Vr8UAXBAg!Dz(NKAAsqQzj1hIoxv zn)*;4-iRCS@;gqQ=2)>=6D*Hp80`x=!#cmETeigNy`@IEU7z7*nJk`7FqW3wzfMVc zD$@G->#)2LAB^xz?Z8S!+3py>;W*EkH!THd<`waJzSNQsC*LWDsFD?aD?- zV@msFmpUPnMz~&71Bm)xLEP2ug54sBck|E9__O3s<3oA5x&KtiT1cHBKTkg7g{n-g z+&si=dg)JwM=S^XY*4j)vOt>gMoVS?DH|CXS+(Ql3ox!O`Tl)jWCsrvv%xh-o3X1g zv9YWv-nxJqe$-asy~?CxG~d>J|Kyhn z`5L8pQcKHP3)RT&Rgl4R&7t;g*}QhFcXyD#mN5+NtH0%O`g2JpoLBzxJhfOr26&@V zwqv;T8Cv;*zFUoBW0NC4$}Gm(GOB%6c>GDBNQWF%VOm;RYJ7SMHA(tdR&vGPzd_N< z2U}C5FVh7-PD~V6RJ7S_)w}+cqyp=-lP_Se0Byvx{ttFgRYN@~`^wrl({Lj$>Nr`_ zWALdgf>!AlR&w}Mf*bwa&b;K-)uFtI1@nNdJc#{pTpNo$xkJciH728_wcA%_X4n=+ z-kn8W6SFFNU(he%hyCvP0Lh0BA9n42e3yx1`D%tRDY2-ege~3VFn`5ztoCE7E{+7^ zd9G^FZ*Y=872XdYrmAVE-@~>2V$JW?pqhW^?0m-JLI^AA?qHvO3tvd8SwtIy23Htt zDR^h*L*q*ztDn~lf4fJx+n$4nq*H`Yi?gdHOA~M@dA|4R?sANYkEe0#)ma-%BWr9_ z?O$=+BB;R?J|jBW7$sxY_gLMZE?xb0%<@D(K|Jof2%|uwTn`*oj!!mZ*K99J6A~R1 za|~{1Y2Ud=LD7?gFp1%`5z_cX)go9ZRk$pA#NbRj8F(r|=rF$JuBg5rqBt>i!l=@d zv=iQ1JBFx|Dm2AL*<0fZ`{Qix30>RXrj^;MzXk;{{?>@kHS}26n868m;WP(7}No)(3BYxH;Yq z1J+I_zghs}ksJr8$( zsk`b;?;QfD7g3#3Z}q`*s?SI3qwRGyN2v0o;oR$aW0x731z8fmw7}iznk}@6I|SeC z=KZ$F8&KyfBzc=rEYKB~Do<=uAyhC#-de{OXn3UzeYg*s zvCVd|d%Vv)Lyor9JZ0hVMNq&C-a4%2q}UWQy*2;Q;^t*af`XLd?@(_X0!X&@qFn=2vu!%Y{)Ov@&IeV~qMdpPlykU>jkxR-|wE>qxw z6SEr-2j=S8*o1wO(ATMV?fCc(4RpQoU5fKZ{9#R-W!9772CaN0opDhR$5*O1YtWO# zYqMIT#ww58-wcSi5P}!sa$CPHKvkz!wjcp}?lWkuH-SeR9P1!sB|yoCyT+hS%x-+Y zR)c&wzNn!EQA$g=NC>W;tnQn&qP=1$@QEZWK0a?{P3Rhub$O3jK^auI^j`$M>s_4~ z3-Zw*-}VWVVBvGDu=kh_qmnba9y7@$8`UZ24Hw&=gt_87Fa3ElA07!Y>5wVtf8!1j zqFBfiUyOBd3s98bQH;KM7DC^?Q9$Xb560A=8ufmTa&xW?6&gU~y5ng++tAQZnK?pW z$`#6Z3>E*9;$pO!(Y(sX5#OSr17fpS%L18N9k>vgS`53@^Wa zjeUDTbg%8NAXEDs6~<*~6(|Lad*ggULa?l@3u|3Z{zNi(ZNS_RP^;KD_S{mVm1hEL ze*$uq=@Av$68Tp70U@3{Q+5~+Mcod!XGM|(LS_#)#j2D5bU0OyrkNVAZB z=8Y>HqY7)@Cz-uk9~I)mL~1-fRP8AD6%oHPh~`y3V*bGjM?rxs>}RnT7qWx^4nv5+ z7G~}!@0RA(I6voe9Q@(eZM}plwA{B-s-wN}EUxI5&CIuzNOOuf(SPznyxhmj)#IwT zslB&D+mmF|BPemD$_e{Cn7XCg9OEXx`RR(D@tH`#n9=o?4|trZH<4o6vprOX@x$|V zYoqL?FNVFSrPdYq1?FwC;OD#kZ&=U$FJ6033EP3+akElS4S0yBGN>0F^?3b- z8y9N8C1uMJK^;uhnJ0LRY6u@0-nru*vCIJORt@Cb{&LE(EN0IxE=;zM1e>Gi+oC1; zZ`YK%_IpU-GbiP;3Rq2l_20e)yR&44&dZmy4VM?ZR%2z)qS(!kG3=OizdM*TCAS(F zB<=1ESpiHLO1an#R(pZZPY?_vpub_UK1;veF_*r-I+_^IX=8uhhUHq`u=_WK9%Hr6 zb?5yWr}dmp_N#B_(3cZHWHR=BzU%KYGN_<=eA86Lx<0nU##?E_%H*`Mu-_AdLVp() zUcPvt_ulXd(X}gBu*`k%o1zYiQvSxue;bFUDCiCvPE%8r+u-qTAppaqq`v4_dVtd2 zAE}JLvA6i@o9OB$lsM@Uh)lUu?QsrF$_w@>oAY|+3r{0I)Gw|b5(aEV5ZHMUnTX@l zs26V`EsC&5S za&j8k;hhn#m^Rjg34iA$gTT3KENAsMH->(wT5sjEh z9Ctk%AbcKwKilc%i=SSG9;%^n#x>^h6b2*Q1m&GgoJ)#nL>e;>F>7=-dI|6X^p6}J z-^4ZKM0B0I4--pSrlu)W74JmnI)8>Xf~#OEsg7GnOH& zjQ5#s*D>V`Ic-YcSI3*%GBPw28JKS;#`Jr#RtuM7dl;pmg@xf$UavVE2$;qE2~n09 zKM0yul{ zU*y5-`!y2!E`e{|{?xv)Kv*UL6f!?MD^$L!j5q1>>YvTC6Ix%qNSMY)LVL7~ut~|W zT#xypl&5h6E^XA_cpMNxw>mx56AE?=to8#j@HzP{Tmju@h!KniV2bb7owPTd#+GAe z4&T@!h6|?kkZw@6gC|}zC|^tM5QK^+zoRUw+_!WB4H%(mBpuA_PgA8-j77~&X72_J zg$4V|>{IbcwBO&~KtxDR%gq9GvTd$XQCG(w?fX7vcT#D0u~Qmw!)F$YN<7{}zBKYl zPe@c%#`Do8ezo`w4@7GWN+&YIHxvol2cPxqOKn&RfsMoA%mi-v*@(onEEdk}%ch>?^!4 zR^n0W_#?dc&N)(FGPy{k-e`;R^E$ELPv7OIW$pRXZe{-CrjG|W^8KZ28n-vPuob^^&9*A`tta$5 zC4KVJHz|v^VdPH!V^Ie55+R*F5Qd1XjD$IyzKUZ`TM> zBw3p+3P^PZenEG?VSC@&d~pdYbs~Qd;Vc+DV0@L7!D24D$HlWav)$;45qg8_nWFeV z_ew8#Ror9r<|jKSk7m|wJN1|qei4Y=8pyc@sMeX+zFOd_ZuR{Zpm&%~*JDA*SNqTq zhtAbwD=0vP!8M~Jk)8qo0 zYOJkiDpd2~!=2wSJBme~8-ZVO2XykXf1xvvB|r0Bae#1kk@~Z^!Mv{uX>Q6KHj-}A zjoIxAXdn-Rtr`G9W#x`Ic6xck;PE8z`HJ-cGrra(Ulzm)m-{9k8HeRJKqfNl;^q&? z30h%>GZ!VB%o-0`s{Y#1%P0B_AAS`x>DJ%haxgW08SW%D7V+Vq{poIrF_)2?f$?^- z=rorYwDCst{qHQPNNr8Fg0Fj0i5E=a!P*`_-54|Sd-X#hB3^d@fA~+f6B4h|0PfdY zJPreG&5Eu!i>5w!U3{q8BBSOzI}2dd&tH9^ER@{hC5!wp`~uP5sA;1?!@ln>X1g5 zeQ>9kiIXtnKC4|#W^<{jQnFt*bCO||+gZWhA3V;k)5)cyrJV!2O!O{WV{|`hiC5av zB0{>31=RXnKSs+;?4^>lsUqI)UaR*AJly4$S|QxQYunn($Jp^XIZbYDnt1X2*-6;I#K=om#MkVL|#rT!5n!2 zb*I#itON_d0rl?mwnB-4<#c^SOiavmCoq5$0bLFWoAuQzSBN?Q5~|%0eBBI43SN8I zo2GO+jC->n!^*PNKe}$!)!j|^S&$N@>7l9|f5$QI^SN@3Uf;H0)~THtD_?_)mPV5q z68d0>Nvo1?`u;3F z@;?UCaoV06T)8%QWhP;>W>3bVrbCX(-r-!Q4D$B$Af@uOmV9;F6O(hw?J!BO4YwGl zxk3_3d`YsQosq|SaenvkeDrnPBOgU6kkyXr^0fA9NF}*HoKghv z5*_=#5sbF+>E^!7xCYEo_UD=4IB$+6u3OG%aXX-V2R#cRf7& zk>mBV^+oMeiHnxffFZ~)lNNRqv(D|D82vv<%z{ZZYRd2|Ga!N*k08pH+WKHs`AYUH zfr~BaY5DjsDb@zno}0RRty?}|h;DHOg&&-q_ijV$ z0KmYl+qb0#xzHd4YpJFqB8Gnn9cXb$GsmEk$kxbscIdogLNc7Ei7x94mOIw6>A6qw z+CpZfwv`E)PgsQnLqoamMaIU*qkOOnb!rZKz@~b`g_Kk3_}<}V9LMZH4kCbhP}c&i z#NskzE2Q7XL(%W-jG>AE#l?JEo@W9S0BJmSyEq`jZ-QKqAEXIQQA}cSpZ~QAW;Na0 zJi4a0rt{_AOO|oc2&+2vTlfLqV4~KlD8@1ECpIFaINMMZ|K9|6kP-S70u-c|FpFDDp zKV>i1qKDr9Z00jjM*lFev%G9Yh}V)!c6S@emV~ipWSDsx2khZXd6hX^+F~WeqIAbk zbMk3nL2VaIKHq!Q`P|!~w_yF1#lF8P&5zTgLRO_-(&e#U79Dz)3tkDKGW4Ru+tRb1 zK}5Y#hS^cPWYMZigU|jP6{fgxzNpzfjdvJly`eonoBc-9=LbPxDNXeS*{l3%DHiSp zHYV=^1j)Ro6D8I~Tb-=aWHg{YvA#@r<|V6be{&v+^%gq2(Q9ZiR5RUa?C2hmIH|~% z6>kyD@*gMmI>sNYWHpasY9oHVn_t&{fcL1pKAtBL)~Oga3m!)L6KJ!{+eC zRJ9d4;6VG!Qv_&t?%V-_Q$R#SS`MJ#StnIm>H<%VJsN*!rE}H`*ciXp`f;yo$`d_i zcjNkRZ!K&#Ha1dD^Ir+-2-$g5gDi|TVA1D~MK)*CtoUaf{IKZ%N z$MG-TQwJx;m!N`;Y0&F;Z!LA(kYAsyO#Xy}H@!PA`~t0&kG~_Lo#Y)%cV_-7KTN5TPFw1G@YnazK6cQL!#J|dN6lqnuA|T1)b)}pY@?fL&3=Ex^F}?U5Z}l1` z?@b;B6oo$D&wJRF$cA?${PC4?6gZ@@os46Miiu||yD@23V?x;;Onk@=lZy6!R`kgl zPw|hpDM1o)Rgqu5_Zw>34QmR-VSeH$(EL;BBJXvqf90mHU2`6AzP1lu%?DM3d$(T4 zw;M`1uQA?vyxn`2;!XMcD`PXn!oGImhr6)OY`6j|O&r_scsq6X(P2XZgCrx&m4Bwz z3_W)Vd0EVG&}w#ION$6xr;2}7+%3b9czb78k~mDxYN5@qs1I{zP0+)-4gUH`o9ztx zK(%i_G^nkAuo?AmG>+rnB$VaR^d0ty4?D5KjW*WJX6nL}diEA)o@RC#W{GO!&CT)4 zL{1_QKpy`S&99XA;pPo<#Fy;u_U1hrVr-@l5^d+qnDOFiLzM5;i*ykx;RXQ8tS>jW(;SR z52^2-n{%7VUS8Fnznd*9(Ns!n_=sz>n?Zb2_Zpc*S6k9eHit6$hP34A{<5WF{Vj$8 z@n#ka4r~g+pSZ=8&A)wY+FXZA$&Riz*M`zU#l&HnxAXRg*X?upqQgrS{4!Ox59P%c zE!}JH)QbpAdy`Vgb&q;XHarWHadQap7Pivv{TCMiulb!%G6LcWYo#JngwB!62X_;7Q;NzrR7uZ+@Lww|)T`LYBbo9@<4{ zWBgYh>5Ljj8BL5Rz}O6BAX#BGu8;IhMeTzv76{|6xw#B!r9!nYaLdeZY5hvJXz5NZnjQeTmeRe+;Mokvm7lJTZw4FV>k?Fx1qFochtaXZv zOt(%PLpyVR;x%`&Z|03Wq-^;R5U~P;Ob6rMpTB>H10~gdHB!*9UH18))nNnm#199~ z{_~{f$B&5jPomF?%nU(L5|r`ASnk3ukQtf{dZ05M*e}?o00+_46`%UalgK?HrtQCd z`a8z*MD`A8Mv}~EKx_>7`0>WI)1xgW#|6h)E+-J`1K0-W6?viw;qc6sa6%&n6)y$^M#gjZOF=u6ye>i+u;kc z`3!RgbrGNe{0V4wDcHGFA}iG0a`JKH!n4BwwOFG%Lt+1hehEr~`Pt@A;S2x~cn5Sw z`*Jz`rhK>UZ>#u7@r<`4d_eftmr#ZumJ^EQ6`k`+<$HHZ*vkq2^>lcR=?LJ)!%oKa%PI@`oykwkTW6sPL^bbwx zzdwlg7jJt>^H}KKa98?fYliOETgXOf^&c;|N(qgttuqF9%=@dc74lciD8&$bdZGY- z_uroZj-BbhAddAuZ41fUcmDhPp}yoJNplVK2mkix|2%BV-%mp9KHgH$y%6$Tu8Sef`fjf+rfiLVf7}c+ekH z>R#J_K6vYkkmUc*hn@FUtEsS3t8^y#gtJK{PqBnwzA~Oglp%d`u~CBYpWoyeVQCrm z%+{^~tNd7{O%Nb&(7I#bgw3eDyw$0i52|->#X3k%fC4wj_05)nNpuu&3cg#P`zf`e zaKIyLZ8hY)J%{CljMhXaetDi!2_MioWRfigbA=+>LTsVbe&3WP5mx2M?GJNXTp%m8 z?m%eIYp8J#Hz$*G{|^qTa5~P4yKPhF%+=?rRM{^3R>+{D*qcly-Qo=L73xSQYrMtx2(9iV z#OErOR8~sAq9Dqm;W{?2{eJUc?a#NjY`cq2vmlebfARO0V3#H?v){1prwYxsB295=zo7bCHUD=$i6XbtSTbdF0SmeN$u1QNI#{4nv~vdE1?&yfw}U9B*-~r% zoddd#W4p8*?IS!zUpL#0`KhHe^T}%?G_zH4cW+i{IJKia; zqewHIQGxD*KdesPk^yMYI64{|LdNN^vin!`i184pLeV{ms0Fy;(kmGFh2Pdp5(7d* zje*0AVrLg7J7xMy=->3b$jF(T5xRB@ps`Msjb9rH@i4my=PU|>RlrqVjPG`q)2)9$ z@5gAsAp@4?1>wpw{j=r%$72<1FAIiDb z<1+HMyIgy4GXPVZ*TP%FM2e!)X4nsSy(La-&S(%b@T=6McX_yy69S*)zI$`3s%BbE zO9Ds-;(+Vdway;c-Pv)$fUb58H#|zG;qAX&#ki>Z1HqKZRSaDgKEETYy(1b-0x_(~ZCk%P%N>!mGmyb#|^2>(uMsA_7K@1z)P* zE5gFUu^fh9S4v?O0^_9L;bMC$0~uuSv{ab&p-7^aUUhh7mB0c6Uz>o#I`ae4dJ>)w zye?aIpeB<`+%>uM`LOilKkv5VE$K>(dBGZ&O97yww>CHXLb&sjSeA;?&fgH`gEHd* zFYYIhO9`gWnWiWYaTdeH1f2UPHQG?2WpoNfGV6x!QhIk)ACRFDBM)r7xOXjbkz-&2 z3YQ4x^lJh9%jL&@9;~+jgY^(}LQdn?{pY3ss36;n{O5G4TX`<@7wkema&uu71UMJ3 zNJ{}9F>GB}$mdPb2`!fE?gGY5-z(mir5H%J8mynd-J!eOX;)KM&wM%rPT8;;f1N{u zj3D)e&l$#VhlO80hS(BGd~dJ5c=1yVy1a{?iwh45G!VW(DHyg@pWGHxf_Hp8|D7&W z{@+g^jM=BZFyXZ^F})>bw)GmQq->eq z5`9th&?4fz`+u>DO;_oGE6d09wz#aUrLpnKJIckLZ|bF)Y8n~_`uaj3rUETSkNd=p z|J?Oj8nnS@^s>tG1~?kd?aa5AS&avF#}BbWmk8{I@cQ$ccBci`m*ITdIXf>7>tgp+ zE8ltaIE|RwoI#t%2?es}>sH1Ai??-65b8--KG?jcEIINuMF{EXVe1iZxZ>*{9Bk0v z^mcu`6o^-RfM0ujFPW-y3B$l^$mplRIyUQ;Y73?4fN5DozTk0C5wYN`Cak8p2RJ~2e@S?;ZX`wedtd@xh$ZfXgNG#B6*v~Cc znvo}=?m5w`|EdPF?F&tTkU8_2o2ilYQOq-q~>t0|E|6+o&g*! z9(G?GDCj#!g4bTuRXfSFd&gA1i^>~H*Z=U(vB3COG2G+Gbmp&+2|GMA5=s0Z-_>8h;-KC&t+`gN}z2WT#^SQWt?P!477&g28bAWykOGWR3 zsXX>`vk6>P&fzj_i6K(?I!W1V9D>@A&NiVVRP2>k|ipV4nj-4y)zCAA$ ziqTB1IKl2>6jY0@E(}uOd+J?$@mf^jReVUZ<$!{tZ{>NZVb=S(^#F~_pfYR`fA7Tm z-1fyzoj1R$sn@Bx7u{_)l&JS3451* z&7On0hUNy~7Qk-I5<0I23GQq98kF$dk z<)YgAl|APNUW!5;ktBn80%Mt9Oeu5aPx(^LO1Bc|KGJ{tYWdDf5~r*$=yG`^Cmey* zS|IaXc_5Jd)$a;n!Hi8o!mqey-4lFx0NQ$Q9iHqhwdaZM;E*Cd0k=xZ=jzEQ>>KD? zHIYR)0Ou_2J=DER>`FJdvG=#T^XzTu%2XN-47jCiYYjf`Ue~Qd`h2_5exKVvG~h(< zJVPlc2MMC8^5q%RTXd+RAJC;f+s?H z6@9-mw6Gbl2%=2xvB)^H<}f3Upt=WFH*rZD8_b*hpaA%8+kX#s+xbBY$Zvwu^|3q! zREoU4FjjUzmNl$YMMONd8ZXO)FFi{B9go;G0Q_2F4n3J*6mF)N^@R8mHsFDLZDz5O zv5^tbHlYLMEGR093ieUGj_@}VbuPV1?Ok2LkfrrHQ-*H+``BIEokvjSErODaYILjd z+zZ9qrQI6LLfJny14j<6omZJVvd@ z_aeC?&E*;^N^eaHB+XDI_Nk8Hn=2tsCRCxex>d z|BLB&E`GaTNr|AA#k)%qJCq7jgA{o|tIkd$=Ki(mI`+>my>I{cp>JgsG7a>!-*t6$ zG5ii1?~y^#XD?B{m!kqR+|B5&6<*G zxoXrA{;~RCb$frM^oXlDeK1e+6G(2@yc-QNW#a=tEg8pQ)pcBwc2Z_Yq*xa)-~O3R zRjxjn#~0M60!*r3CGpyxSs@vqbw~rHL{}1fqHKI6%l_J|X`DEWH^7toI_!CmKrJUt zFAYMbKLzcl1x5xoCha&5Ca9C7i$yNpg&>aOFzfpEac^1BmZh<=jc8eb@;Msiba+>M z;#7vpk*B%FdiMV)|j5p-h@b)c?Gn*$S`1;)sHHs)EL4Fk|m*rkG@)38g;g?OX z&gwwU8>GjoHq&piT!E5^$EXI~0RE@2KV_IX1ma*M&M~W)O1<^4amAc7}uvFdFQH8wbLU zTa<>UFELSRSd9;PLEHIqkn7T7?7A!h#9Kqx+n>ue>#-D%+c0m8l}mnRu^#-+JsZ{p z-5o~UVd_xwdvIH~-(O}$+|h)xD}mo7sm_a+PNVD=5%bO0bsEYLDPuO8%Q$*^`2S{cD{1j)v!v$q2H=U@Ob#I4a;8JX!#zXqcBMMP*QLnzJf|gG-D463Vx`#cVY?)Sn?3a!q zR-qrp{*S4j?2v>Ca3@hGvGiE_0;wa={Vjg`RbWV`l4}Id!Ud5!D3$msaPURPh7Td0 zkFy(@A3vKA;^)xaQvFZ;mwXiEmeP^yZ~G~%Al?%I<-8qGgE_Gz7&Gv+|tN^diAg%vE$8gMW#M1r&8nXXyzoT*6 z$WjISro6?QATKFT_=qq~`Nlu_`3a$^|@GZTGJj$mBcN#tB40-$X_5`2PJa;+-NO%py5gzcX{|>p0L2LP+Z>D zUL+{=MU5L~Gg3dLPV(1NAXHl%irYQC-kVHpIL>#Ikpn4zZMCmF@uqQXAM@5VH-7U; zpX}B(VHKJxcarnekETmUq-zac*cXnB9h>jRjGp9{(kwfgrV@qBw|+3>Sj{%$D(&#W zbxH=(W^nT`xxdCYCNq7^9#3Ey&3E%BbA}gTwiAAzMoS}Nen1w21-~)etA-YGR3>X2iKN)=8`7@31$bf$HGOYoq| z#s=&li%Tn)RtIg3yJA{1j8>`2p*aW1VLzuUs#%uX<0;Ur35Ts0m16i*CHqAl$A*7! zZF{>m&z@I7+`{iD(0Nc4oAe4ScI*Dy))(nw52BHOHi?$R>c9c94q5uXZe`}9SLJ(a zMa8EKAz;g6;6!AV)6zg78S2#?my=`H_{#?G27!G_uItLmIXVTo$~@*YCMIZJg3bwT zLLrs{pVHDElk=1r9MJpnRR6=6r577IWiH!($k21pUFH zbh`L_`)}tgNL2y#8wCYn=~7p->GQY--|INUGDn5lwsv-`-tBMcAiWc;d-8r<<&&Q1 z)+*2-02-?)Heo{?Mit_}Q=W$;tb zo@8a(2=Ve@FGGy?u~YhnH+NC+@m8-}H*BBcde|zLN=sQ~%PD_!QEN#VclS=*} zW+zhbc=Z~{8v2}$Z&F$4>=8?0GnXB!VLFVZCJzx0vZ4LGrpQCzyk0?UT5_Z7)flP7PAm5U79@r;BU{B9&EKUWGS@)i=z z5b&d_YwWm@aUdFGES1wne8ea$n6DPsXh0QBY2L})&qOXPSkL44=KR%!y=KMEwvZJY zhT(|7{=9{r78`ME)>ZSgM#-UNe#ec>l*I9%i@Z2uLPsG4O$z?`&)p9^16M4*q>A;(ktVKD0;z>JL zBdmpqZ2TzGIPZ^_xfV{$pz^!oMZv(`=0bJi`uz8B@VCnf+H#y7$)#pBW|q&)<-C;p z@d@Tn&I8sy?`}z%4@-0?pj~kJ>WeGxPgmSbyHY;ySnN<{W-XlV0!%vNp-RN)cPBDI z26bbH1_<&&nLAYPfV&wXwrFQZ1e;aoahB&|;5jMvwi&&tXfcCSP@tdJeG;>lse;=;mL>)gQbgr=^_ zX^oKEVe$D<$MSmD2x~GPR59D>0=4gs+#&H5 zMt{XzDmAWpmu~?T5ZManb-~&DX9>diSmg<-qhgg2rqx^O|9M2#twc z*z;jkXz5)Q6%>lDCZfdll_ID8IZyGZ<>p|}n84!%6FV84&&bo0-N|n!_{_%R(@e~s zBPIMeX_Oj#u3r;?6K{9Ctq*E@LxCZ#?7K)J=8<~OPs*nwBV1k}J5;gaVR4!A01QzW zG3?x^lBW^N+%8{sn=mVVDT^Paf*vl^{nUcq&7=)U4@?gq`dAFxz+$cUeSRQU{hF?> zF67;yy^DyzgWPSIVdst;eD?oD=g6X4*uG&M1))e$*gTuqtXTIwv& z^bYSIP8izH(GC)<5a@$SAdKg5W3=P_+fq86v+hC^Lrh{? zCSK;#;l}aV-t6_8UtPx$cXK|IqhJ7RBRiRTxuND#UM~Jz;veP*ZKbofo>iTugoRKe z2jqc*^gL<0#(YnW7>n4Y*Xv+++1&ACUfQv;NR3VPY|(jrXmmh9+1@EjHPH(?rE8%! z&yLvElddt#$X_SJ@%R)zN?va4f@$FwPFUXfAXt;ScC5f{{`uIqLbS}udMa2p{@`v- zvvli^8{y+nMy^t(S>3nbAtdlQTzjo}Sw$R--XM`P#@+33jrfT9JxwO^i}?yQ?P2J$ z>UH1#eaA|DNqI*Rmo&m0Usgx=RYB<$YEy5W7re!N&x<6!5UXH{a_$oSik$SInBT!N zt?V6tE_iUBWJ-jsH}OU7F+Io4`JR>K-{l^Ii@r&=UX*Qh4zf!jTt0T{x{k>OqT`jg z8!Oi$$LjifD1TOY`{c-4VvZrdNcNf`Ft-&QGp_r?J}P8w_%rC-Hz(@u{EY1@MUi<7*5UFmu{@DNqu_J> z>4z0>I<>Bx`CcxOr>{nyWwH5vc1Z@6@xdg=O(%M?{kK(<>_#CJU zD$N*qJV$&UON2f1ZhW+t&~UsT_5BU~4>A&r7u}?p=$1NDMppL+a3v(rZ(>mx zPhpgS5j@=eHWa+H*$)q~4>2iOZ`V!jC+aO1f63PHyLLhB@jvkd;YpQs{eZ zfBsS?AjgapwW| zh>UI`d+%}Vk#Q)5j!pI!$H?A0*?aF98OMlYgyT4#>)g-tyq@2EKmDiI_jO#p-|xAu z&*%Mlj}5*?x4j=t_^<(?-bi4kTE51nrVl3-so6X=?M~twKfVNxt)GKnl@S;pe^-(3YSQZ1jLCx zG)-E3g}EZO(()OrOgK-hjO7PA5bM17hVd<$w6x-g#>UM|k5bj7vlBD$EO0^_D=N); zf8_QjfNaeB=ZBkXIYW$xdjr<42ow=e<|;TDlqBin*74eHbiuw~>-FZR5GqO5O5GKg86Bv;QMcCF@~ zg&@XR$BR^Xjg4zAl|fsFPzK&z+y(^KuRCtXP4Hn#WBjrEjLY!D(mUmclM#;+P8Fk@ z?Q9jp#M=<%xt`GBt~s(o68*&%_774kTY>K9ywB^io?8kM{E3T^+A8$Br7boJ3Ca?S zxDFpEAhB)oq1GSa9f#dYDxV*gN(TKhajdRmWklJ_1SSCx97_sX*k4X9MC2 zmu>hw-so4%Ra`p|Rd``h`jlG6BM~nbr=z>AUTj6<{um*(dM1Sp5|z(#U+aqN{k4%N ztT*`6S%fWZc8<_QiWqY0sqiYVWs}`gMPn`gfz?EJAo>ZQUD3EPv@6T~=6-u0ZbA4* z@@I4pOO3RaPBoa>y`epEVza`|N8i?WzS<)6Z|oflx|GeZ&K~7Fw`_~j!4V8U8B?*7 z=9r|8D3R-pBFlBWeM?t<)x0d}%(zsBw*d&?(mHQ*;W|D(**KE|aouy`Wy+tLVd%iwR zy{j8thq+UTn>>c)OB_cr+?RrOGaZ4*HFg@UkJw`j^8>$Tf5w{RM;>#gBU7GI8pLV$ zSFid4IL^L*C*O#hQce-vfDh{Ou}=Auvg?He5Rhu;hAS0njXnf+T1CQIw+^u5JvuSP za+A)P8eg_f*gf;B4|p6y>VHvizAFqV+!6~1G?rvI;`y|L(?_>{? z#y|l~codGpLhOE>;k16t-spA6M1nz+r!f+>P|usvb+whFqSxY+)Gi+}H-P~mtJt)J z2>N+4uMMswe#;s{9JWbt27?^cM;;}5dM(ahwg^Ve1`sYR|iY=a!IFPbU=7tjoenkr7=sJZ8`+)Bv{ zIci=fSc_jWzbaP0$t2rw%DWV?OQSYJgHDD|%XoT;1%B(Kjj8sOf$XOn3urn|=;S5W zqR!Klq_p3Wx-vGSWR#IlU^=xtDD%seKkr9`GX>8Vx-uT{#T=lCPz6#`4ibJQ#MDJE z-e~ZCeN)WWh>y073WhGN)Kx07HEgJ0^7H~+Bugl`xTbaF8jTlL~A^>IAR zIDzSej{*JR(17TGozNq8qUag*NaU?5dj^GJhy4S&J=}2>BU8@SQ|oVl0KvMueGFzhdyzPRpuorJlD75n+|JJ94v}q$8M8*wTZ_TDlPM8NwTs#p_+HIzCPIUAZaagG z3Rfh`l><&jywqozDgkftihC7`mOEc3STC3J=f3{J{2-IJSf?fvL?`XAnV0sdc>$N6Lw+-iY9Eu||OcA^$UyuP(i@W{|d_(NIQ z5g_{WTdky|ZL)w~*hc_L2a3%a;y`&>z4qbZ>B7i>06hGq{$X&Maz!X(ysllGGAaq+ zpw&QKO-44|6T|YlaL>eq!D-)s0%TX#5K|L?s<*H(w4gxQ6e{+f(@-_t24ZRn&+)rz z0co)kgTl?O=Z6}K2~VtDyaBA{kj*G=Hd!ce{rdGgcaNe{YB4_Z>f{Ac_y4Z-WJOgl zdG<>;+8v?A?p*#d@uJVodST*IFIe6xnnt%??<(^xbw3dQTs1RT^oukw-IX+E)aQS2uK&m=%$z-iVwa#+SW&u+=RSCp{!bB;Ui6xG$P^ zL^^?t@<wEqAxG91WNU9u%7T@IWE?c%YO$Odpk1IvY24U`l zaU{x(C=r|Ti7_`DYSK%8q z;{&Iy>E%QrKc=)sR~AEYRX{=bVv_-$x@L98;jdn0uv-iwnssXJ+J1{&a9ukx-sDN# zVS_V+UE(v` zSNh523WK*jRc!CV=zo)n=dX&d6FuYrN!dTMS!HGrt5^!vEs96DlsU8Xw@&6k`P&Qa zof|y%et@cmOHp8EH36I*_uMj0!MoO{VH;zw&iugN#n>3z^8^N7$C`imoI6+8t7BuS z^OTZ%zRkJ-cBMzrDJg@fZ20zM&#Faze;u^B!RkKR{fv-V{DI)lex5pKfz*A#F*EX=>mDx^*lfMHo!p0#GK@~dyfyYY!> ztQ>}hj3sRG3}n(F9+P0LGj#}g!OOa&gCaqT1`3Cu>wg3GgrOBBr+87bwZxtBY2S<5 zxfVW8w24=W2=`Uz_IwxXz&Iu6=RCG&fYHML!n64(vwGX$9ckP`(4d2@kjjU59F8Zv z^p1|w99nHQ)YS$OJyAqBxo_ME?LwSN?NzsI=HZ#Pf|S)t{AI)btG~lbcBFeYLMh$o zO}9uUhAP`C*%iCK} zzNEFEwwtKn2KE>?EQR9GEF->W++FRD2L*y|dt2mCT;f#!ywkIFgJyB0nmQPzQ?^v+ zOFVb(o1gJSU{e1^*gR{F?V+&Ex!}r5SPUDE{_+X?6AprpRk10f$H*;l140Jz%u4y< z35IG!KE(wNwYx8D&h^=6U5KZ4cZ1TAkZz?ZE%@DX$b&9VuWs5C<-h)*^UYHNR0xb( z^19ULF-gdvGe0iSudd(*0Gih3PUu>BCBJz!;cYRQan|tOcy8Ll!ZC0f1DK;`D@DWu z0>*xy0s=T5NiBJ+r3o(!7tH zt6sJ|D`V;%+6-ptFHpbm#Tr2a3q*F^yk~}C^n<{+vEJqMiLmppOfV7trd!*Vy}ZFa z575A$u?&k3oDv)xYl@Kvj;do8kB4Z|Xn+}7dir~i$*=({&k2Ern@;~;1jcbS^p`iq zux)deGzLrZ0;by_Skul47>JTQwLW|%cZ*RP5I-7%D8js4h^eCud$7_vEaRa129P-iXi$9 zSZZf=^K3vo#y*Gys4dnQ6i9VZuaC6ry>2(2?yh4lFM3=2o^XXd#KrwJXzNAz+_WnU z80VnFhoVPkldRQSur)g+A}4mP(Ln-iKnH_Wy%Zee{zXNPPqwGBRQJ;d4C{JQ!_Cji z+C(G$hT;l(Em!Xgy7B_jb4RU_)LV^QPo#+w%IjLB3Bznv`m$f^b&pfJu=~QP*Y=x( z!S~+FbzgD4?_LtW!-sl(Nl9aDiXGVbkjDeB!Hq>+&cX-M8o%ppKSFp^*VyZndyZZM z#!SSL7#|=)tfd0sz^0Si)ecqZ0DV|;wOWqg%aK1k-)sk&e%^oM690Wx(bcUGll&gZOb&Ny)(NGSEOCa*)QGJ)v(7P+dJ`HlX7R8AS6A|{ z5lEoP!qK#PflV!s(ODLo&3pm7wsYH>H#HPZuAduGItTJE&PqgVf~{u+81X>lG6R}q z?Kksgvmajj?w|ZUR?~OY{M08_@LJO*#|PyfOjJtkW_a&cpS;@=*Zyei?i~iN&7vV6 z5ugDMc+W(=&4}Z+GvF1JMAVyZa@PE0jhGZ=TPN<0!l{bM;fo8Muoof|7@&wUlf78G zHHX+^&rO+Wu}JWH>5ZiO0S%%m7(gn^%1N?%>~^JH7a^#69LzVckG2p<4tiy20BO>A zgJqKW1`q%Rx=`4aGgtd3zo8#NFd~xQ?W8cOgWXvd=u&mce653S7`7BQ1D-efBDE$C z4#NfNaKyAPW;BXX4`z8JWMY%AN(Hl$JU93O9=07uCa zK*@veN*vrAPH#ndm~IX?767kXk($d6;3$Kb%CSto)GXER{*K%B&9L$F+1Yhznc*s(_8M!Pdz!;*zHA5_N}` zsykU=CnTgU-Xx=P^9M+Xqig>}VzK(p@NlIK&tf=DbuBY)XA;XA_nQ{tZ&^oo!rm6C zVI#uHsI@+V77hR~GOv0RQpVo2P8`Ml-d$|WIB=ZDSU?y5?1>D_%Etiy-aeOMc??G^ z>nb8C;U?7+a;LopjoWJzz+3JHkR03~A+%WWH-eo4*myv1-s3ot$7;Oc9$4NAxZcHb znD2d`(C&=2*GhwHLCi#vZJ+DOJX8Poquy9JHfHZ`OR_B3{rSA7Zl$KB)%jhCGcm!b zPuJgV)L>IW!7_TMyd$7zQ5d}7ktS_$IWGwt{1%-A*^f-7_Il^_!g~D(x>+D-62M@f z3r+7~m77C+W;3r~i{lEdMcn!|bO7-Ac=5*qU0043PP|Si9f7Nsb)Iqoly~~<{9LW@ z?E@U`N;9nK7#Pgt&Z;)iD>4jUOTN8_5i9^i`ZKomLG!dvJ(`6>A8sNJ0t$3W;K#Q@ zDzeP`HUigIjEHg9TDdDl+#iuL zq*^h0u-?t{^YdhWJzVU&3>x(JMJ}kTu2Q2u?dq|^tRaldmEzq6H7agucOiPm%+3KWX#{O~KR%0dS;rJ)f} z_O?}7?8dLSu4o2aOx0NM5GS*6aL*sMVHFw=={W&;;BWj;uu3 z#^HLugSXn|G(7Saf1FjTIM5Q0OLEaEi_>`(L^p_Bj$VseNtPBf?(wPu`-Z2(!^Y*MPld zpPlIcGZ#BV6tDe%=>;<4Z~W|EpWKwQyY%Ne<{dHB6WJ6^?gQ>E8Ni3}1aJiy0#w)x zz5sh$(;fnw?n-XZbf!A+x8>J=E)5A$Ob`ik+3f4AOxP?y1Vq3QJ}`EI1A3j;kty9?Fia^ecLMuh+i`B$Ob1K&d;jet~r1O zXEvA|MC-R;ww9MMQ|ZBY?{S>vKt34`1&=|P3ZuKxX}YgcI_fsQZxdpv`X&a0>FDTi z+}IVSyebPMAkDt|;&%5xZx!~THtCL;D{hNjkgRNN^_;>s#=&cAfKQw`j`%iLUsuO# zCCSUgriw&Z`kvd2z14f#0RBh9CFMo6M5g&s-Z#DG_!{~b{JtAp#OD`3cXUS<0I#s{ z+k9E*4XMF8s(UZTyQBaEC{Xx_a-{yXhdZVTW+3MMrs@?AmRsQ7EEo7G9T+jLPn1lD z^n&6SKF$ZCjokNUU(b`IC1UotDDd_88!@&!tpC2>p0!{5>AS$!$#riu7WAxGVl(|* zb=%TX`ducrbEhNCp;Y0Ul9vtDp>^(Q=8rXT4>tGa1B2zuOb{lbq6^??liws2DLcE! z-JNYD^^b~$6AHiYTlKm4!}x$}x9Qw%zNVO3)a?1R0~+@`sHP7N9N_?GPZgtz-%VXy z&;#}ecU$RDU$6(RvmLPC<$OmV>BJXt$BHQiSF4-1;*?Hc1sQ1lP;ZIUCCF=MUuD+divVD4mBE$ zML#*FRX~(naPpKCT?7};08KKq1;0SE z`YBlVJ%42hh{bPoQ12fk=Np{=0gRa1He6_K$t6E?Q1EHm^To075lKOxAN~a%7~q?l uA9f&>k^}=lG*8p$^MCy!X+mSz6`r$%+o#^Gq5C-CpTbKO*%E1^kN*WR!BHmw literal 0 HcmV?d00001 From fe9f31e7cb8efa974133571c155e90ca9b2c0f02 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Fri, 7 Mar 2025 14:03:08 +0000 Subject: [PATCH 17/23] updating customize section --- .../ideas-for-customization.adoc | 133 ++++++++---------- 1 file changed, 58 insertions(+), 75 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc index fb744c293..b1262f9f3 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -15,39 +15,43 @@ One of the major goals of the Red Hat patterns development process is to create This demo in particular can be customized in a several ways that might be very interesting and here are some starter ideas with some instructions on exactly what and where changes would need to be made in the pattern to accommodate those changes. -== Define your own VM sets using the chart +== Defining your own VM sets using the chart -. Fork the repo or copy the `edge-gitops-vms`` chart out of it. +. Fork the link:https://github.com/validatedpatterns/ansible-edge-gitops[repo]. -. Customize the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/values.yaml[values.yaml] file +. Clone the repo to your local machine. -The `vms` data structure is designed to support multiple groups and types of VMs. The `kiosk` example defines all of the variables currently supported by the chart, including references to the Vault instance and port definitions. If, for example, you wanted to replace kiosk with new `iotsensor`` and `iotgateway` types, the file might look like this: +. Change to the `ansible-edge-gitops` directory. +. Create and switch to a new branch named `my-branch`, by running the following command: ++ +[source,shell] +---- +$ git checkout -b my-branch +---- + +. Change to the `overides` directory. ++ +For example, to replace kiosk with new `iotsensor`` and `iotgateway` types, the file might look like this: ++ [source,yaml] ---- --- -secretStore: - name: vault-backend - kind: ClusterSecretStore - -cloudInit: - defaultUser: 'cloud-user' - defaultPassword: '6toh-n1d5-9xpq' - vms: + # Define the iotsensor VMs iotsensor: count: 4 flavor: small workload: server os: rhel8 - role: iotgateway + role: iotsensor storage: 20Gi memory: 2Gi cores: 1 sockets: 1 threads: 1 cloudInitUser: cloud-user - cloudInitPassword: 6toh-n1d5-9xpq + cloudInitPassword: 'password123' template: rhel8-server-small sshsecret: secret/data/hub/iotsensor-ssh sshpubkeyfield: publickey @@ -56,6 +60,8 @@ vms: port: 22 protocol: TCP targetPort: 22 + + # Define the iotgateway VMs iotgateway: count: 1 flavor: medium @@ -68,7 +74,7 @@ vms: sockets: 1 threads: 1 cloudInitUser: cloud-user - cloudInitPassword: 6toh-n1d5-9xpq + cloudInitPassword: 'password123' template: rhel8-server-medium sshsecret: secret/data/hub/iotgateway-ssh sshpubkeyfield: publickey @@ -85,29 +91,34 @@ vms: This would create 1 `iotgateway` VM and 4 `iotsensor` VMs. -Adjustments would also need to be made in https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/values-secret.yaml.template[values-secret] and https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible-load-controller] to add the `iotgateway-ssh` and `iotsensor-ssh` data structures. +You also need to to define the SSH secrets (`iotgateway-ssh` and `iotsensor-ssh`) data structures in `~/values-secret.yaml`. == Defining your own VM sets "`from scratch`" -. Pick a default template from the standard OpenShift Virtualization -template library in the `+openshift+` namespace. For this pattern, we -used `+rhel8-desktop-medium+`: +. Pick a default template from the standard OpenShift Virtualization template library in the `openshift` namespace. For this pattern, we used `rhel8-desktop-medium`: + [source,text] ---- $ oc get template -n openshift rhel8-desktop-medium +---- ++ +.Example output +[source,text] +---- NAME DESCRIPTION PARAMETERS OBJECTS rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 ---- -. Create a VM through the command line template process, and see what objects OpenShift Virtualization creates to bring -that VM up: +. Create a VM through the command line template process by running the following command: + -To see the actual JSON that the template converts into: +[source,shell] +---- +oc process -n openshift rhel8-desktop-medium | oc apply -f - +---- + +.Example output [source,text] ---- -$ oc process -n openshift rhel8-desktop-medium { "kind": "List", "apiVersion": "v1", @@ -118,15 +129,15 @@ $ oc process -n openshift rhel8-desktop-medium "kind": "VirtualMachine", "metadata": { "annotations": { - "vm.kubevirt.io/validations": "[\n {\n \"name\": \"minimal-required-memory\",\n \"path\": \"jsonpath::.spec.domain.resources.requests.memory\",\n \"rule\": \"integer\",\n \"message\": \"This VM requires more memory.\",\n \"min\": 1610612736\n }\n]\n" + "vm.kubevirt.io/validations": "[\n {\n \"name\": \"minimal-required-memory\",\n \"path\": \"jsonpath::.spec.domain.memory.guest\",\n \"rule\": \"integer\",\n \"message\": \"This VM requires more memory.\",\n \"min\": 1610612736\n }\n]\n" }, "labels": { - "app": "rhel8-yywa22lijw8hl017", + "app": "rhel8-y43iixn7issko1lu", "vm.kubevirt.io/template": "rhel8-desktop-medium", "vm.kubevirt.io/template.revision": "1", - "vm.kubevirt.io/template.version": "v0.19.5" + "vm.kubevirt.io/template.version": "v0.31.1" }, - "name": "rhel8-yywa22lijw8hl017" + "name": "rhel8-y43iixn7issko1lu" }, "spec": { "dataVolumeTemplates": [ @@ -134,7 +145,7 @@ $ oc process -n openshift rhel8-desktop-medium "apiVersion": "cdi.kubevirt.io/v1beta1", "kind": "DataVolume", "metadata": { - "name": "rhel8-yywa22lijw8hl017" + "name": "rhel8-y43iixn7issko1lu" }, "spec": { "sourceRef": { @@ -161,11 +172,12 @@ $ oc process -n openshift rhel8-desktop-medium "vm.kubevirt.io/workload": "desktop" }, "labels": { - "kubevirt.io/domain": "rhel8-yywa22lijw8hl017", + "kubevirt.io/domain": "rhel8-y43iixn7issko1lu", "kubevirt.io/size": "medium" } }, "spec": { + "architecture": "amd64", "domain": { "cpu": { "cores": 1, @@ -178,7 +190,7 @@ $ oc process -n openshift rhel8-desktop-medium "disk": { "bus": "virtio" }, - "name": "rhel8-yywa22lijw8hl017" + "name": "rootdisk" }, { "disk": { @@ -197,22 +209,16 @@ $ oc process -n openshift rhel8-desktop-medium "interfaces": [ { "masquerade": {}, + "model": "virtio", "name": "default" } ], - "networkInterfaceMultiqueue": true, "rng": {} }, - "machine": { - "type": "pc-q35-rhel8.4.0" - }, - "resources": { - "requests": { - "memory": "4Gi" - } + "memory": { + "guest": "4Gi" } }, - "evictionStrategy": "LiveMigrate", "networks": [ { "name": "default", @@ -223,13 +229,13 @@ $ oc process -n openshift rhel8-desktop-medium "volumes": [ { "dataVolume": { - "name": "rhel8-yywa22lijw8hl017" + "name": "rhel8-y43iixn7issko1lu" }, - "name": "rhel8-yywa22lijw8hl017" + "name": "rootdisk" }, { "cloudInitNoCloud": { - "userData": "#cloud-config\nuser: cloud-user\npassword: nnpa-12td-e0r7\nchpasswd: { expire: False }" + "userData": "#cloud-config\nuser: cloud-user\npassword: 1pna-7owu-mrna\nchpasswd: { expire: False }" }, "name": "cloudinitdisk" } @@ -246,45 +252,22 @@ $ oc process -n openshift rhel8-desktop-medium + [source,shell] ---- -oc process -n openshift rhel8-desktop-medium | oc apply -f - +$ oc process -n openshift rhel8-desktop-medium | oc apply -f - +---- ++ +.Example output +[source,text] +---- virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created ---- - ++ In just a few minutes, you will have a blank rhel8 VM running, which you can then login to by using the console and customize. . Get the details of this template as a local YAML file: + [source,shell] ---- -oc get template -n openshift rhel8-desktop-medium -o yaml > my-template.yaml +$ oc get template -n openshift rhel8-desktop-medium -o yaml > my-template.yaml ---- - -Once you have this local template, you can view the elements you want to customize, possibly using -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[this] -as an example. - -== Defining your own Ansible Controller Configuration - -The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] -is designed to be relatively easy to customize with a new controller configuration. Structurally, it is principally based on -https://github.com/redhat-cop/controller_configuration/blob/devel/playbooks/configure_controller.yml[configure_controller.yml] -from the Red Hat Community of Practice https://github.com/redhat-cop/controller_configuration[controller_configuration] -collection. The order and specific list of roles invoked is taken from there. - -To customize it, the main thing would be to replace the different variables in the role tasks with the your own. The script includes the -roles for variable types that this pattern does not manage in order to make that part straightforward. Feel free to add your own roles and -playbooks (and add them to the controller configuration script). - -The reason this pattern ships with a script as it does instead of invoking the referenced playbook directly is that several of the -configuration elements depend on each other, and there was not a super-convenient place to put things like the controller credentials as -the playbook suggests. - -== Substitute your own container application (instead of ignition) - - -. Adjust the query in the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml[inventory_preplay.yml] -either by overriding the vars for the play, or forking the repo and replacing the vars with your own query terms. (That is, use your own -label(s) and namespace to discover the services you want to connect to. - -. Adjust or override the vars in the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml[provision_kiosk.yml] -playbook to suitable values for your own container application. The roles it calls are fairly generic, so changing the vars is all you should need to do. \ No newline at end of file ++ +Once you have this local template, you can view the elements you want to customize. \ No newline at end of file From 27132efd4394bc206aa43b56b20590157f9e540b Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Fri, 7 Mar 2025 14:21:30 +0000 Subject: [PATCH 18/23] updating customize section 2 --- .../patterns/ansible-edge-gitops/ideas-for-customization.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc index b1262f9f3..0b5cb101c 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -261,7 +261,7 @@ $ oc process -n openshift rhel8-desktop-medium | oc apply -f - virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created ---- + -In just a few minutes, you will have a blank rhel8 VM running, which you can then login to by using the console and customize. +In just a few minutes, you will have a blank rhel8 VM, which you can then start and log into by using the console and customize. . Get the details of this template as a local YAML file: + From 2203d5d9bdb881db8eea87073dd92ae243d48087 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Fri, 7 Mar 2025 15:12:12 +0000 Subject: [PATCH 19/23] updating customize section 5 --- .../ideas-for-customization.adoc | 8 +- .../openshift-virtualization.adoc | 516 ++++++------------ .../ansible-edge-gitops/aeg-show-vms.png | Bin 101629 -> 89387 bytes 3 files changed, 163 insertions(+), 361 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc index 0b5cb101c..d00816ec2 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -9,7 +9,7 @@ aliases: /ansible-edge-gitops/ideas-for-customization/ :_content-type: ASSEMBLY include::modules/comm-attributes.adoc[] -== Why customize the pattern? +== Why customize the pattern One of the major goals of the Red Hat patterns development process is to create modular, customizable demos. Maybe you are not interested in Ignition as an application, or you do not have kiosks but you do have other use cases that involve running containers on edge devices. Maybe you want to experiment with different releases of RHEL, or you want to do something different with Ansible Automation Platform. @@ -19,7 +19,7 @@ This demo in particular can be customized in a several ways that might be very i . Fork the link:https://github.com/validatedpatterns/ansible-edge-gitops[repo]. -. Clone the repo to your local machine. +. Clone the repository to your local machine. . Change to the `ansible-edge-gitops` directory. @@ -91,7 +91,7 @@ vms: This would create 1 `iotgateway` VM and 4 `iotsensor` VMs. -You also need to to define the SSH secrets (`iotgateway-ssh` and `iotsensor-ssh`) data structures in `~/values-secret.yaml`. +You also need to define the SSH secrets (`iotgateway-ssh` and `iotsensor-ssh`) data structures in `~/values-secret.yaml`. == Defining your own VM sets "`from scratch`" @@ -261,7 +261,7 @@ $ oc process -n openshift rhel8-desktop-medium | oc apply -f - virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created ---- + -In just a few minutes, you will have a blank rhel8 VM, which you can then start and log into by using the console and customize. +In just a few minutes, you will have a blank rhel8 VM, which you can then start and log in to by using the console and customize. . Get the details of this template as a local YAML file: + diff --git a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc index 86068266e..3cf24c1b0 100644 --- a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc +++ b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc @@ -11,19 +11,8 @@ include::modules/comm-attributes.adoc[] == OpenShift Virtualization -== Understanding the Edge GitOps VMs https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/charts/hub/edge-gitops-vms[Helm Chart] -The Edge GitOps VMs Helm chart provides a flexible and scalable way to define and deploy Virtual Machines (VMs) using OpenShift Virtualization. At its core, the chart leverages a https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[template file] that allows for dynamic configuration of multiple VM groups. Key features include: - -* Defining one or more VM groups (e.g., kiosk) with a configurable number of instances per group. -* Customizing compute resources (CPU, memory, storage) for each group. -* Specifying SSH key credentials for secure access per group. -* Selecting different operating systems for each VM group. -* Configuring TCP/UDP ports to be exposed per group. - -This modular approach abstracts the complexities of VM provisioning in OpenShift Virtualization, enabling users to focus on defining the types and quantities of VMs needed. The chart supports highly scalable deployments, making it suitable for environments with large compute resources, such as AWS metal nodes with 72 cores and 192 GB RAM. - -=== How we got here - Default OpenShift Virtualization templates +=== Default OpenShift Virtualization templates OpenShift virtualization expects to install virtual machines from image templates by default, and provides several OpenShift templates to facilitate this. The default templates are installed in the `openshift` namespace; the OpenShift console also provides a wizard for creating VMs that use the same templates. @@ -32,260 +21,161 @@ As of OpenShift Virtualization 4.10.1, the following templates were available on [source,text] ---- -$ oc get template - -NAME DESCRIPTION PARAMETERS OBJECTS -3scale-gateway 3scale's APIcast is an NGINX based API gateway used to integrate your interna... 17 (8 blank) 3 -amq63-basic Application template for JBoss A-MQ brokers. These can be deployed as standal... 11 (4 blank) 6 -amq63-persistent An example JBoss A-MQ application. For more information about using this temp... 13 (4 blank) 8 -amq63-persistent-ssl An example JBoss A-MQ application. For more information about using this temp... 18 (6 blank) 12 -amq63-ssl An example JBoss A-MQ application. For more information about using this temp... 16 (6 blank) 10 -apicurito Design beautiful, functional APIs with zero coding, using a visual designer f... 7 (1 blank) 7 -cache-service Red Hat Data Grid is an in-memory, distributed key/value store. 8 (1 blank) 4 -cakephp-mysql-example An example CakePHP application with a MySQL database. For more information ab... 21 (4 blank) 8 -cakephp-mysql-persistent An example CakePHP application with a MySQL database. For more information ab... 22 (4 blank) 9 -centos-stream8-desktop-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-desktop-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-desktop-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-desktop-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream8-server-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-desktop-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos-stream9-server-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 -centos7-desktop-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-desktop-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-desktop-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-desktop-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -centos7-server-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 -dancer-mysql-example An example Dancer application with a MySQL database. For more information abo... 18 (5 blank) 8 -dancer-mysql-persistent An example Dancer application with a MySQL database. For more information abo... 19 (5 blank) 9 -datagrid-service Red Hat Data Grid is an in-memory, distributed key/value store. 7 (1 blank) 4 -datavirt64-basic-s2i Application template for JBoss Data Virtualization 6.4 services built using S2I. 20 (6 blank) 6 -datavirt64-extensions-support-s2i An example JBoss Data Virtualization application. For more information about... 35 (9 blank) 10 -datavirt64-ldap-s2i Application template for JBoss Data Virtualization 6.4 services that configur... 21 (6 blank) 6 -datavirt64-secure-s2i An example JBoss Data Virtualization application. For more information about... 51 (22 blank) 8 -decisionserver64-amq-s2i An example BRMS decision server A-MQ application. For more information about... 30 (5 blank) 10 -decisionserver64-basic-s2i Application template for Red Hat JBoss BRMS 6.4 decision server applications... 17 (5 blank) 5 -django-psql-example An example Django application with a PostgreSQL database. For more informatio... 19 (5 blank) 8 -django-psql-persistent An example Django application with a PostgreSQL database. For more informatio... 20 (5 blank) 9 -eap-xp3-basic-s2i Example of an application based on JBoss EAP XP. For more information about u... 20 (5 blank) 8 -eap74-basic-s2i An example JBoss Enterprise Application Platform application. For more inform... 20 (5 blank) 8 -eap74-https-s2i An example JBoss Enterprise Application Platform application configured with... 30 (11 blank) 10 -eap74-sso-s2i An example JBoss Enterprise Application Platform application Single Sign-On a... 50 (21 blank) 10 -fedora-desktop-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-desktop-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-desktop-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-desktop-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-highperformance-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-large Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-medium Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-small Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fedora-server-tiny Template for Fedora 34 VM or newer. A PVC with the Fedora disk image must be... 4 (2 generated) 1 -fuse710-console The Red Hat Fuse Console eases the discovery and management of Fuse applicati... 8 (1 blank) 5 -httpd-example An example Apache HTTP Server (httpd) application that serves static content.... 9 (3 blank) 5 -jenkins-ephemeral Jenkins service, without persistent storage.... 11 (all set) 7 -jenkins-ephemeral-monitored Jenkins service, without persistent storage. ... 12 (all set) 8 -jenkins-persistent Jenkins service, with persistent storage.... 13 (all set) 8 -jenkins-persistent-monitored Jenkins service, with persistent storage. ... 14 (all set) 9 -jws31-tomcat7-basic-s2i Application template for JWS applications built using S2I. 12 (3 blank) 5 -jws31-tomcat7-https-s2i An example JBoss Web Server application configured for use with https. For mo... 17 (5 blank) 7 -jws31-tomcat8-basic-s2i An example JBoss Web Server application. For more information about using thi... 12 (3 blank) 5 -jws31-tomcat8-https-s2i An example JBoss Web Server application. For more information about using thi... 17 (5 blank) 7 -jws56-openjdk11-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 -jws56-openjdk11-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 -jws56-openjdk8-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 -jws56-openjdk8-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 -mariadb-ephemeral MariaDB database service, without persistent storage. For more information ab... 8 (3 generated) 3 -mariadb-persistent MariaDB database service, with persistent storage. For more information about... 9 (3 generated) 4 -mysql-ephemeral MySQL database service, without persistent storage. For more information abou... 8 (3 generated) 3 -mysql-persistent MySQL database service, with persistent storage. For more information about u... 9 (3 generated) 4 -nginx-example An example Nginx HTTP server and a reverse proxy (nginx) application that ser... 10 (3 blank) 5 -nodejs-postgresql-example An example Node.js application with a PostgreSQL database. For more informati... 18 (4 blank) 8 -nodejs-postgresql-persistent An example Node.js application with a PostgreSQL database. For more informati... 19 (4 blank) 9 -openjdk-web-basic-s2i An example Java application using OpenJDK. For more information about using t... 9 (1 blank) 5 -postgresql-ephemeral PostgreSQL database service, without persistent storage. For more information... 7 (2 generated) 3 -postgresql-persistent PostgreSQL database service, with persistent storage. For more information ab... 8 (2 generated) 4 -processserver64-amq-mysql-persistent-s2i An example BPM Suite application with A-MQ and a MySQL database. For more inf... 49 (13 blank) 14 -processserver64-amq-mysql-s2i An example BPM Suite application with A-MQ and a MySQL database. For more inf... 47 (13 blank) 12 -processserver64-amq-postgresql-persistent-s2i An example BPM Suite application with A-MQ and a PostgreSQL database. For mor... 46 (10 blank) 14 -processserver64-amq-postgresql-s2i An example BPM Suite application with A-MQ and a PostgreSQL database. For mor... 44 (10 blank) 12 -processserver64-basic-s2i An example BPM Suite application. For more information about using this templ... 17 (5 blank) 5 -processserver64-externaldb-s2i An example BPM Suite application with a external database. For more informati... 47 (22 blank) 7 -processserver64-mysql-persistent-s2i An example BPM Suite application with a MySQL database. For more information... 40 (14 blank) 10 -processserver64-mysql-s2i An example BPM Suite application with a MySQL database. For more information... 39 (14 blank) 9 -processserver64-postgresql-persistent-s2i An example BPM Suite application with a PostgreSQL database. For more informa... 37 (11 blank) 10 -rails-pgsql-persistent An example Rails application with a PostgreSQL database. For more information... 21 (4 blank) 9 -rails-postgresql-example An example Rails application with a PostgreSQL database. For more information... 20 (4 blank) 8 -redis-ephemeral Redis in-memory data structure store, without persistent storage. For more in... 5 (1 generated) 3 -redis-persistent Redis in-memory data structure store, with persistent storage. For more infor... 6 (1 generated) 4 -rhdm711-authoring Application template for a non-HA persistent authoring environment, for Red H... 76 (46 blank) 11 -rhdm711-authoring-ha Application template for a HA persistent authoring environment, for Red Hat D... 92 (47 blank) 17 -rhdm711-kieserver Application template for a managed KIE Server, for Red Hat Decision Manager 7... 61 (42 blank) 6 -rhdm711-prod-immutable-kieserver Application template for an immutable KIE Server in a production environment,... 66 (45 blank) 8 -rhdm711-prod-immutable-kieserver-amq Application template for an immutable KIE Server in a production environment... 80 (54 blank) 20 -rhdm711-trial-ephemeral Application template for an ephemeral authoring and testing environment, for... 63 (40 blank) 8 -rhel6-desktop-large Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-desktop-medium Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-desktop-small Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-desktop-tiny Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-large Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-medium Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-small Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel6-server-tiny Template for Red Hat Enterprise Linux 6 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-desktop-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-highperformance-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel7-server-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-desktop-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-highperformance-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel8-server-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-desktop-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-highperformance-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhel9-server-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 -rhpam711-authoring Application template for a non-HA persistent authoring environment, for Red H... 80 (46 blank) 12 -rhpam711-authoring-ha Application template for a HA persistent authoring environment, for Red Hat P... 101 (47 blank) 20 -rhpam711-kieserver-externaldb Application template for a managed KIE Server with an external database, for... 83 (59 blank) 8 -rhpam711-kieserver-mysql Application template for a managed KIE Server with a MySQL database, for Red... 70 (42 blank) 9 -rhpam711-kieserver-postgresql Application template for a managed KIE Server with a PostgreSQL database, for... 71 (42 blank) 9 -rhpam711-managed Application template for a managed HA production runtime environment, for Red... 87 (46 blank) 14 -rhpam711-prod Application template for a managed HA production runtime environment, for Red... 102 (55 blank) 28 -rhpam711-prod-immutable-kieserver Application template for an immutable KIE Server in a production environment,... 76 (45 blank) 11 -rhpam711-prod-immutable-kieserver-amq Application template for an immutable KIE Server in a production environment... 97 (58 blank) 23 -rhpam711-prod-immutable-monitor Application template for a router and monitoring console in a production envi... 66 (44 blank) 14 -rhpam711-trial-ephemeral Application template for an ephemeral authoring and testing environment, for... 63 (40 blank) 8 -s2i-fuse710-spring-boot-2-camel Spring Boot 2 and Camel QuickStart. This example demonstrates how you can use... 18 (3 blank) 3 -s2i-fuse710-spring-boot-2-camel-rest-3scale Spring Boot 2, Camel REST DSL and 3Scale QuickStart. This example demonstrate... 19 (3 blank) 5 -s2i-fuse710-spring-boot-2-camel-xml Spring Boot 2 and Camel Xml QuickStart. This example demonstrates how you can... 18 (3 blank) 3 -sso72-https An example RH-SSO 7 application. For more information about using this templa... 26 (15 blank) 6 -sso72-mysql An example RH-SSO 7 application with a MySQL database. For more information a... 36 (20 blank) 8 -sso72-mysql-persistent An example RH-SSO 7 application with a MySQL database. For more information a... 37 (20 blank) 9 -sso72-postgresql An example RH-SSO 7 application with a PostgreSQL database. For more informat... 33 (17 blank) 8 -sso72-postgresql-persistent An example RH-SSO 7 application with a PostgreSQL database. For more informat... 34 (17 blank) 9 -sso73-https An example application based on RH-SSO 7.3 image. For more information about... 27 (16 blank) 6 -sso73-mysql An example application based on RH-SSO 7.3 image. For more information about... 37 (21 blank) 8 -sso73-mysql-persistent An example application based on RH-SSO 7.3 image. For more information about... 38 (21 blank) 9 -sso73-ocp4-x509-https An example application based on RH-SSO 7.3 image. For more information about... 13 (7 blank) 5 -sso73-ocp4-x509-mysql-persistent An example application based on RH-SSO 7.3 image. For more information about... 24 (12 blank) 8 -sso73-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.3 image. For more information about... 21 (9 blank) 8 -sso73-postgresql An example application based on RH-SSO 7.3 image. For more information about... 34 (18 blank) 8 -sso73-postgresql-persistent An example application based on RH-SSO 7.3 image. For more information about... 35 (18 blank) 9 -sso74-https An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 27 (16 blank) 6 -sso74-ocp4-x509-https An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 13 (7 blank) 5 -sso74-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 21 (9 blank) 8 -sso74-postgresql An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 34 (18 blank) 8 -sso74-postgresql-persistent An example application based on RH-SSO 7.4 on OpenJDK image. For more informa... 35 (18 blank) 9 -sso75-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 27 (16 blank) 6 -sso75-ocp4-x509-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 13 (7 blank) 5 -sso75-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 21 (9 blank) 8 -sso75-postgresql An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 34 (18 blank) 8 -sso75-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 35 (18 blank) 9 -windows10-desktop-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows10-desktop-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows10-highperformance-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows10-highperformance-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 -windows2k12r2-highperformance-large Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k12r2-highperformance-medium Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k12r2-server-large Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k12r2-server-medium Template for Microsoft Windows Server 2012 R2 VM. A PVC with the Windows disk... 3 (1 generated) 1 -windows2k16-highperformance-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k16-highperformance-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k16-server-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k16-server-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-highperformance-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-highperformance-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-server-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 -windows2k19-server-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +$ oc get template -n openshift ---- -Additionally, you can copy and customize these templates if you wish. -The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[template -file] is an example of a customized template that was used to help develop this pattern. +.Example output +[source,text] +---- +NAME DESCRIPTION PARAMETERS OBJECTS +cache-service Red Hat Data Grid is an in-memory, distributed key/value store. 8 (1 blank) 4 +cakephp-mysql-example An example CakePHP application with a MySQL database. For more information ab... 21 (4 blank) 8 +cakephp-mysql-persistent An example CakePHP application with a MySQL database. For more information ab... 22 (4 blank) 9 +centos-stream8-desktop-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-desktop-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-desktop-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-desktop-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-large Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-medium Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-small Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream8-server-tiny Template for CentOS Stream 8 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-desktop-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-large Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-medium Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-small Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos-stream9-server-tiny Template for CentOS Stream 9 VM or newer. A PVC with the CentOS Stream disk i... 4 (2 generated) 1 +centos7-desktop-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-desktop-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-desktop-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-desktop-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-large Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-medium Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-small Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +centos7-server-tiny Template for CentOS 7 VM or newer. A PVC with the CentOS disk image must be a... 4 (2 generated) 1 +dancer-mysql-example An example Dancer application with a MySQL database. For more information abo... 18 (5 blank) 8 +dancer-mysql-persistent An example Dancer application with a MySQL database. For more information abo... 19 (5 blank) 9 +datagrid-service Red Hat Data Grid is an in-memory, distributed key/value store. 7 (1 blank) 4 +django-psql-example An example Django application with a PostgreSQL database. For more informatio... 19 (5 blank) 8 +django-psql-persistent An example Django application with a PostgreSQL database. For more informatio... 20 (5 blank) 9 +eap-xp3-basic-s2i Example of an application based on JBoss EAP XP. For more information about u... 20 (5 blank) 8 +eap-xp4-basic-s2i Example of an application based on JBoss EAP XP. For more information about u... 20 (5 blank) 8 +eap74-basic-s2i An example JBoss Enterprise Application Platform application. For more inform... 20 (5 blank) 8 +eap74-https-s2i An example JBoss Enterprise Application Platform application configured with... 30 (11 blank) 10 +eap74-sso-s2i An example JBoss Enterprise Application Platform application Single Sign-On a... 50 (21 blank) 10 +fedora-desktop-large Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-desktop-medium Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-desktop-small Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-highperformance-large Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-highperformance-medium Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-highperformance-small Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-server-large Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-server-medium Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +fedora-server-small Template for Fedora Linux 39 VM or newer. A PVC with the Fedora disk image mu... 4 (2 generated) 1 +httpd-example An example Apache HTTP Server (httpd) application that serves static content.... 10 (3 blank) 5 +jenkins-ephemeral Jenkins service, without persistent storage.... 12 (all set) 7 +jenkins-ephemeral-monitored Jenkins service, without persistent storage. ... 13 (all set) 8 +jenkins-persistent Jenkins service, with persistent storage.... 14 (all set) 8 +jenkins-persistent-monitored Jenkins service, with persistent storage. ... 15 (all set) 9 +jws57-openjdk11-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 +jws57-openjdk11-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 +jws57-openjdk8-tomcat9-ubi8-basic-s2i An example JBoss Web Server application. For more information about using thi... 10 (3 blank) 5 +jws57-openjdk8-tomcat9-ubi8-https-s2i An example JBoss Web Server application. For more information about using thi... 15 (5 blank) 7 +mariadb-ephemeral MariaDB database service, without persistent storage. For more information ab... 8 (3 generated) 3 +mariadb-persistent MariaDB database service, with persistent storage. For more information about... 9 (3 generated) 4 +mysql-ephemeral MySQL database service, without persistent storage. For more information abou... 8 (3 generated) 3 +mysql-persistent MySQL database service, with persistent storage. For more information about u... 9 (3 generated) 4 +nginx-example An example Nginx HTTP server and a reverse proxy (nginx) application that ser... 10 (3 blank) 5 +nodejs-postgresql-example An example Node.js application with a PostgreSQL database. For more informati... 18 (4 blank) 8 +nodejs-postgresql-persistent An example Node.js application with a PostgreSQL database. For more informati... 19 (4 blank) 9 +openjdk-web-basic-s2i An example Java application using OpenJDK. For more information about using t... 9 (1 blank) 5 +postgresql-ephemeral PostgreSQL database service, without persistent storage. For more information... 7 (2 generated) 3 +postgresql-persistent PostgreSQL database service, with persistent storage. For more information ab... 8 (2 generated) 4 +rails-pgsql-persistent An example Rails application with a PostgreSQL database. For more information... 23 (4 blank) 9 +rails-postgresql-example An example Rails application with a PostgreSQL database. For more information... 21 (4 blank) 8 +react-web-app-example Build a basic React Web Application 9 (1 blank) 5 +redis-ephemeral Redis in-memory data structure store, without persistent storage. For more in... 5 (1 generated) 3 +redis-persistent Redis in-memory data structure store, with persistent storage. For more infor... 6 (1 generated) 4 +rhel7-desktop-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-desktop-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-desktop-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-desktop-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-highperformance-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-large Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-medium Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-small Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel7-server-tiny Template for Red Hat Enterprise Linux 7 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-desktop-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-highperformance-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-large Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-medium Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-small Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel8-server-tiny Template for Red Hat Enterprise Linux 8 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-desktop-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-highperformance-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-large Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-medium Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-small Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +rhel9-server-tiny Template for Red Hat Enterprise Linux 9 VM or newer. A PVC with the RHEL disk... 4 (2 generated) 1 +s2i-fuse712-spring-boot-2-camel Spring Boot 2 and Camel QuickStart. This example demonstrates how you can use... 18 (3 blank) 3 +s2i-fuse712-spring-boot-2-camel-rest-3scale Spring Boot 2, Camel REST DSL and 3Scale QuickStart. This example demonstrate... 19 (3 blank) 5 +s2i-fuse712-spring-boot-2-camel-xml Spring Boot 2 and Camel Xml QuickStart. This example demonstrates how you can... 18 (3 blank) 3 +sso75-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 27 (16 blank) 6 +sso75-ocp4-x509-https An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 13 (7 blank) 5 +sso75-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 21 (9 blank) 8 +sso75-postgresql An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 34 (18 blank) 8 +sso75-postgresql-persistent An example application based on RH-SSO 7.5 on OpenJDK image. For more informa... 35 (18 blank) 9 +sso76-ocp4-https An example application based on RH-SSO 7.6 on OpenJDK image. For more informa... 27 (16 blank) 6 +sso76-ocp4-postgresql An example application based on RH-SSO 7.6 on OpenJDK image. For more informa... 34 (18 blank) 8 +sso76-ocp4-postgresql-persistent An example application based on RH-SSO 7.6 on OpenJDK image. For more informa... 35 (18 blank) 9 +sso76-ocp4-x509-https An example application based on RH-SSO 7.6 on OpenJDK image. For more informa... 13 (7 blank) 5 +sso76-ocp4-x509-postgresql-persistent An example application based on RH-SSO 7.6 on OpenJDK image. For more informa... 21 (9 blank) 8 +windows10-desktop-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows10-desktop-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows10-highperformance-large Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows10-highperformance-medium Template for Microsoft Windows 10 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows11-desktop-large Template for Microsoft Windows 11 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows11-desktop-medium Template for Microsoft Windows 11 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows11-highperformance-large Template for Microsoft Windows 11 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows11-highperformance-medium Template for Microsoft Windows 11 VM. A PVC with the Windows disk image must... 3 (1 generated) 1 +windows2k16-highperformance-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k16-highperformance-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k16-server-large Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k16-server-medium Template for Microsoft Windows Server 2016 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-highperformance-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-highperformance-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-server-large Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k19-server-medium Template for Microsoft Windows Server 2019 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k22-highperformance-large Template for Microsoft Windows Server 2022 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k22-highperformance-medium Template for Microsoft Windows Server 2022 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k22-server-large Template for Microsoft Windows Server 2022 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k22-server-medium Template for Microsoft Windows Server 2022 VM. A PVC with the Windows disk im... 3 (1 generated) 1 +windows2k25-highperformance-large Template for Microsoft Windows 2025 VM. A PVC with the Windows disk image mus... 3 (1 generated) 1 +windows2k25-highperformance-medium Template for Microsoft Windows 2025 VM. A PVC with the Windows disk image mus... 3 (1 generated) 1 +windows2k25-server-large Template for Microsoft Windows 2025 VM. A PVC with the Windows disk image mus... 3 (1 generated) 1 +windows2k25-server-medium Template for Microsoft Windows 2025 VM. A PVC with the Windows disk image mus... 3 (1 generated) 1 +---- ==== Creating a VM from the Console via Template -Follow these steps to create a VM from the console using a template: - -. Access the Virtualization Tab - -.. Navigate to the OpenShift Console. - -.. Click on the *Virtualization* tab. - -.. Locate the list of available *VM templates*. - -.. Identify the *Create VM button* next to the desired template. -+ -link:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[image:/images/ansible-edge-gitops/aeg-console-vm-template-1.png[console-template-vm-1]] - -. Launch the VM Creation Wizard - -.. Click on the Create VM button. - -.. The VM Creation Wizard will open, displaying configuration options. -+ -link:/images/ansible-edge-gitops/console-vm-template-wizard.png[image:/images/ansible-edge-gitops/console-vm-template-wizard.png[console-template-wizard]] - -. Configure and create the VM. - -.. Accept the default settings or modify them as needed - -.. Click Create to proceed. - -.. After successful creation, a confirmation screen will appear -+ -link:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[image:/images/ansible-edge-gitops/console-vm-template-wizard-success.png[console-template-wizard-success]] - -. Monitor the VM Lifecycle - -.. Navigate to the *VirtualMachines* tab. - -.. Observe the VM’s status as it spins up. - -.. The VM will remain active until manually deleted -+ -link:/images/ansible-edge-gitops/console-vm-spinning-up.png[image:/images/ansible-edge-gitops/console-vm-spinning-up.png[console-monitor-vm]] - -This is a great way to gain familiarity with how the system works, but we might possibly want an interface we can use more programmatically. +Follow these guidance link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.18/html/virtualization/creating-a-virtual-machine#virt-creating-vms-from-templates[here] to create a VM from the console using a template. ==== Creating a VM from the command line via `oc process` @@ -296,87 +186,21 @@ This is a useful way to understand what kinds of objects OpenShift Virtualizatio $ oc process -n openshift rhel8-desktop-medium | oc apply -f -virtualmachine.kubevirt.io/rhel8-q63yuvxpjdvy18l7 created ---- -You could also use the "`Create VM Wizard`" in the OpenShift console. - ==== Another option - capturing template output and converting it into a Helm Chart See details link:/patterns/ansible-edge-gitops/ideas-for-customization/#howto-define-your-own-vm-sets-from-scratch[here]. -=== Components of the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[virtual-machines] template - -==== Setup - the mechanism for creating identifiers declaratively - -The first part of the template file sets up some variables that we will use later as the template is expanded. We use a sequential numbering -scheme for VM name creation because that is an easy way to make each item in the set declarative - it ensures that if you ask for 5 VMs of a -particular type, they will have predictable names, and if one is deleted, it will be replaced by a VM with the same name. - -We use explicit `range` variables for the Go templating. This is because the implicit range variable is easily `trampled`, and we have at least two different dimensions to iterate on - vm `role` and `index` within that role. - -==== The External Secret - SSH pubkey - -The first item we define as part of this structure is an external secret to hold an SSH pubkey. This pubkey will be mounted in the VM under an -unprivileged user’s home directory - and generally that unprivileged user is expected to be able to sudo root without password. By default, -RHEL images are configured to only allow SSH access via pubkey. In this pattern, the private key and public key for the SSH connections are -loaded into both Vault (which we inherited from previous patterns) and Ansible Automation Platform. - -Since the keys are defined per VM `group`, it is possible and expected that you could have different keypairs for different groups of VMs. -Nothing would prevent you from using the same keypair for all machines if you have different groups, though. - -While the pubkey is not truly a `secret`, the availability of the External Secrets Operator made for a nice opportunity to allow for -variance in configuration without necessarily requiring local customization of the pattern. The OpenShift Virtualization model has no -way of knowing that multiple servers may have the same SSH credentials, and in fact cannot depend on this. So it creates a pubkey object by -default for each VM, and we imitate this behavior in the pattern. - -==== The VirtualMachine definition - -The VirtualMachine definition is the biggest part of the template. All of it is derived from customization of the default templates that -OpenShift Virtualization installs in the `openshift` namespace - especially most of the labels and annotations, with the following -exceptions: - -===== labels - -* app - -This is set to `$identifier` to match a general pattern with other applications. - -* edge-gitops-role - -This is set explicitly and used elsewhere in this pattern to help identify resources by role. The intention is to be able to use the -edge-gitops-role as a selector for targeting various kind of queries, including (especially) Ansible inventories. Though please note - because -of the way Kubernetes (and OpenShift) work, when you connect to a VM with Ansible you are connecting to the _Service_ object directly, not to -the VM. (Another way to look at it is that the Service object is providing network abstraction over the VM object.) - -Other resources in the rest of the VirtualMachine definition are copied from the default template, with appropriate Helm variables included. - -===== Initial user access - -The initial user (default: `cloud-user`) and initial password are customizable through values overrides. The `kiosk` type shows -an example of how to either use a `user/password` specific to the type or a default for the chart by using the `coalesce` function. - -==== The Service definition - -The Service definition is potentially complex. The purpose of this Service object is to expose all of the needed TCP and UDP network ports -within the cluster. (Providing access to them from outside the cluster would require Route or Ingress objects, and would have some significant -security implications; access to these entities from outside the cluster is not the focus of this pattern, so we do not provide it at this time.) - -A given VM may expose one port (for Ansible access, you need at least TCP/22), or it may expose many ports. You are free to define a service -per port if you like, but it seems more convenient to define them all as a single service. - -One aspect of the templating you may find interesting is the use of the toPrettyJson filter in Go. Since YAML is a proper superset of JSON, this -is a neat trick that allows to include a nested data structure without having to worry about how to indent it. (As toPrettyJson uses the square -bracket ([]) and curly bracket (\{}) notation for arrays and hashes, YAML can interpret it without worrying about its indentation. - === Accessing the VMs There are three mechanisms for access to these VMs: ==== Ansible - keypair authentication -The ssh keypairs from your values-secret.yaml are loaded into both Vault and AAP for use later. The pattern currently defines one such keypair, -`kiosk-ssh`, but could support more, such as `iot-ssh`, `gateway-ssh`, and so on more details on how to expand on this pattern are described below. +The ssh keypairs from your `values-secret.yaml` are loaded into both Vault and AAP for use later. The pattern currently defines one such keypair, +`vm-ssh`, but could support more, such as `iot-ssh`, `gateway-ssh`, and so on more details on how to expand on this pattern are described below. AAP only needs the private key and the username as a machine credential. The public key is not truly a secret, but it seemed interesting and -useful to use the external secret operator to associate the public key with VM instances this way and prevent having to diverge from the +useful to use the External Secret Operator to associate the public key with VM instances this way and prevent having to diverge from the upstream pattern to include local ssh pubkey specifications. The default SSH setting for RHEL does not allow password-based logins via SSH, and it is at the very least inconvenient to copy the SSH @@ -384,36 +208,14 @@ private key into a VM inside the cluster, so the typical way the keypair will be ==== Virtual Machine Console Access using OpenShift Console -Access the virtual machine console using the OpenShift Console by following this procedure: +Access the virtual machine console by using the OpenShift Console by following this procedure: . Navigate to *Virtualization* -> *VirtualMachines* and make sure *Project: All Projects* or *edge-gitops-vms* is selected: + link:/images/ansible-edge-gitops/aeg-show-vms.png[image:/images/ansible-edge-gitops/aeg-show-vms.png[show-vms]] -. Click the `three dots` menu on the right, which opens a dialog such as the following: -+ -link:/images/ansible-edge-gitops/aeg-open-vm-console.png[image:/images/ansible-edge-gitops/aeg-open-vm-console.png[show-vm-open-console]] -+ -[NOTE] -==== -In OpenShift Virtualization 4.11, the `Open Console` option appears when you click the virtual machine name in OpenShift console. -The dialog looks like this: -+ -link:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[image:/images/ansible-edge-gitops/aeg-kubevirt411-con-ignition.png[kubevirt411-vm-open-console] -==== - -The virtual machine console view will either show a standard RHEL console login screen, or if the demo is working as designed, it shows the Ignition application running in kiosk mode. If the console shows a standard RHEL login, it can be accessed using the the initial user name (`cloud-user` by default) and password (which is what is specified in the Helm chart Values as either the password specific to that machine group, the default `cloudInit`, or a hardcoded default which can be seen in the template https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/virtual-machines.yaml[here]. -On a VM created through the wizard or by using `oc process` from a template, the password is set on the VirtualMachine object in the `volumes` section. - -==== Initial User login (cloud-user) - -Before the VMs have been configured by the Ansible jobs, you can log in to the VMs on the console using the user and password you specified in the Helm chart, or you can examine the VirtualMachine object and see what the username and password setting are. The pattern, by design, replaces the typical console view with Firefox running in kiosk mode. But this mechanism can still be used if you change the console from `VNC Console` to `Serial Console`. - -== The `extra` VM Template - -Included in the `edge-gitops-vms` chart is a separate template that allows the creation of VMs with similar (though not identical characteristics) to the ones defined in the chart. - -The https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/charts/hub/edge-gitops-vms/templates/rhel8-kiosk-with-svc.yaml[rhel8-kiosk-with-svc] -template is preserved as an intermediate step to creating your own VM types, to see how the pipeline from default VM template -> customized -template -> Helm-variable chart can work. +. Click the virtual machine name to open the details view. +. Click the `Console` tab to open the console view. ++ +The virtual machine console view will either show a standard RHEL console login screen, or if the demo is working as designed, it shows the Ignition application running in kiosk mode. diff --git a/static/images/ansible-edge-gitops/aeg-show-vms.png b/static/images/ansible-edge-gitops/aeg-show-vms.png index cbf029ecbc1be34bbb816a8e58c74d5e7f1949a0..6b7529d00fdd0b4df5e889d5f7620bab04eb7ab8 100644 GIT binary patch literal 89387 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 literal 101629 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 UJ6BymK7l!G|9$a4&i?q{0Ec&v+5i9m From d6ccda388d8650375001ece892cb636a9a221d8c Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Fri, 7 Mar 2025 15:17:28 +0000 Subject: [PATCH 20/23] updating customize section 6 --- .../patterns/ansible-edge-gitops/openshift-virtualization.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc index 3cf24c1b0..b765b9f06 100644 --- a/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc +++ b/content/patterns/ansible-edge-gitops/openshift-virtualization.adoc @@ -17,7 +17,7 @@ include::modules/comm-attributes.adoc[] OpenShift virtualization expects to install virtual machines from image templates by default, and provides several OpenShift templates to facilitate this. The default templates are installed in the `openshift` namespace; the OpenShift console also provides a wizard for creating VMs that use the same templates. -As of OpenShift Virtualization 4.10.1, the following templates were available on installation: +The following templates were available on installation: [source,text] ---- From 3c14c12c5299ab6d9395ee258f783e7c07d0139e Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Fri, 7 Mar 2025 15:35:13 +0000 Subject: [PATCH 21/23] updating customize section 8 --- .../installation-details.adoc | 32 ++++--------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index c11c4b93a..207e0a5d8 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -70,31 +70,13 @@ Re-running the script will update the secrets in Vault if there have been change ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[configure-controller] -This script is divided into two main parts: - -. *Retrieve Admin Credentials*: The first part of the script, located https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_get_credentials.yml[here], retrieves the admin credentials from OpenShift. These credentials are required to log in to the Ansible Automation Platform (AAP) Controller. - -. *Configure AAP Controller*: The second part, which constitutes the bulk of the ansible-load-controller process, is located -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ansible_configure_controller.yml[here]. It uses the https://github.com/redhat-cop/controller_configuration[controller configuration] framework to configure the AAP instance installed by the Helm chart. - -The script is divided into two parts to make it more adaptable for users who may be running AAP on platforms other than OpenShift. This modular approach allows for easier customization and reuse. - -The script waits until AAP is ready, and then proceeds to: - -. Install the manifest to entitle AAP -. Configure the custom credential types the demo needs -. Define an organization for the Demo -. Add a project for the Demo -. Add the credentials for jobs to use -. Configure host inventory and inventory sources, and smart inventories to define target hosts -. Configure the execution environment for the demo -. Set up job templates required for the demo -. Define schedules for jobs that need to run repeatedly -+ -[NOTE] -==== -The script has defaults that are overridden when run as part of make install. These defaults are derived from the environment, including the repository and branch it is attached to. If you need to re-run the script, the most straightforward way is to use `make upgrade` when following the make-based installation process. -==== +Key components of the configuration process: + +* *Retrieving AAP Credentials*: The script runs the `ansible_get_credentials.yml` playbook to obtain necessary credentials for accessing and managing the AAP instance. + +* *Parsing Secrets*: It then executes the `parse_secrets_from_values_secret.yml` playbook to extract and process sensitive information stored in the `values_secret.yaml` file, which includes passwords, tokens, or other confidential data required for configuration. + +* *Configuring the AAP Instance*: Finally, the script runs the `ansible_configure_controller.yml` playbook to set up and configure the AAP controller based on the retrieved credentials and parsed secrets. == OpenShift GitOps (ArgoCD) From d5541341b3949d2792e70a7e16c23f5cb3bf5752 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 12 Mar 2025 10:52:19 +0000 Subject: [PATCH 22/23] adding SME review comments --- content/patterns/ansible-edge-gitops/getting-started.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index d5fd7f19a..110a7330b 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -213,11 +213,11 @@ $ git push origin my-branch The preferred way to install this pattern is by using the script `./pattern.sh` script. [id="deploying-cluster-using-patternsh-file"] -== Deploying the cluster by using the pattern.sh file +== Deploying the pattern by using the pattern.sh file -To deploy the cluster by using the `pattern.sh` file, complete the following steps: +To deploy the pattern by using the `pattern.sh` file, complete the following steps: -. Log in to your cluster by running the following this procedure: +. Log in to your cluster by following this procedure: .. Obtain an API token by visiting link:https://oauth-openshift.apps../oauth/token/request[https://oauth-openshift.apps../oauth/token/request]. From 7b12bba41c5e81b2a0f801e9579f3b61f6d8841a Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 12 Mar 2025 11:21:15 +0000 Subject: [PATCH 23/23] adding peer review feedback --- content/patterns/ansible-edge-gitops/_index.adoc | 6 ++---- .../ansible-automation-platform.adoc | 2 +- .../patterns/ansible-edge-gitops/getting-started.adoc | 8 ++++---- .../ansible-edge-gitops/ideas-for-customization.adoc | 10 ++++++++-- .../ansible-edge-gitops/installation-details.adoc | 8 ++++++-- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/_index.adoc b/content/patterns/ansible-edge-gitops/_index.adoc index 9fc90df36..1772156b0 100644 --- a/content/patterns/ansible-edge-gitops/_index.adoc +++ b/content/patterns/ansible-edge-gitops/_index.adoc @@ -29,10 +29,8 @@ include::modules/comm-attributes.adoc[] === Background -Organizations are interested in accelerating their deployment speeds and improving delivery quality in their Edge environments, where many -devices may not fully or even partially embrace the GitOps philosophy. Further, there are VMs and other devices that can and should be managed -with Ansible. This pattern explores some of the possibilities of using an OpenShift-based Ansible Automated Platform deployment and managing -Edge devices, based on work done with a partner in the chemical space. +Organizations want to accelerate their deployment and improve delivery quality in their Edge environments, where many devices have limited or no support for GitOps practices. +Many virtual machines (VMs) and devices can be effectively managed with Ansible. This pattern demonstrates how to use an OpenShift-based Ansible Automation Platform deployment and manage Edge devices, based on collaboration with a partner in the chemical space. This pattern uses OpenShift Virtualization (the productization of Kubevirt) to simulate the Edge environment for VMs. diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc index 61d53b97b..80813c496 100644 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -94,7 +94,7 @@ localhost : ok=7 changed=0 unreachable=0 failed=0 s == Pattern AAP Configuration Details -In this section, we describe the details of the AAP configuration we apply as part of installing the pattern. All of the configuration discussed in this section is applied by the +This section describes the AAP configuration during the pattern installation. All of the configuration discussed in this section is applied by the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] script. diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 110a7330b..05c686112 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -17,9 +17,9 @@ include::modules/comm-attributes.adoc[] * An OpenShift cluster ** To create an OpenShift cluster, go to the https://console.redhat.com/[Red Hat Hybrid Cloud console]. ** Select *OpenShift \-> Red Hat OpenShift Container Platform \-> Create cluster*. -* A GitHub account and a token for it with repositories permissions, to read from and write to your forks. -* The Helm binary, see link:https://helm.sh/docs/intro/install/[Installing Helm] -For installation tool dependencies, see link:https://validatedpatterns.io/learn/quickstart/[Patterns quick start]. +* A GitHub account with a personal access token that has repository read and write permissions. +* The Helm binary, for instructions, see link:https://helm.sh/docs/intro/install/[Installing Helm] +* Additional installation tool dependencies. For details, see link:https://validatedpatterns.io/learn/quickstart/[Patterns quick start]. It is desirable to have a cluster for deploying the GitOps management hub assets and a separate cluster(s) for the managed cluster(s). @@ -71,7 +71,7 @@ upstream git@github.com:validatedpatterns/ansible-edge-gitops.git (push) + [WARNING] ==== -Do not place this file in your repository, and do not commit or push it. This would risk pushing personal credentials to GitHub. +Do not add, commit, or push this file to your repository. Doing so may expose personal credentials to GitHub. ==== + Run the following commands: diff --git a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc index d00816ec2..5cb6f22f6 100644 --- a/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc +++ b/content/patterns/ansible-edge-gitops/ideas-for-customization.adoc @@ -11,9 +11,15 @@ include::modules/comm-attributes.adoc[] == Why customize the pattern -One of the major goals of the Red Hat patterns development process is to create modular, customizable demos. Maybe you are not interested in Ignition as an application, or you do not have kiosks but you do have other use cases that involve running containers on edge devices. Maybe you want to experiment with different releases of RHEL, or you want to do something different with Ansible Automation Platform. +A key goal of the Red Hat patterns development process is to create modular, customizable demos. You can adapt them to fit your specific use cases. +For example: -This demo in particular can be customized in a several ways that might be very interesting and here are some starter ideas with some instructions on exactly what and where changes would need to be made in the pattern to accommodate those changes. +* You may not be interested in Ignition as an application. +* You might not have kiosks, but you have other edge computing use cases involving containers. +* You may want to experiment with different RHEL releases. +* You might want to explore alternative use cases for Ansible Automation Platform. + +This demo offers several customization options. Here are some starter ideas, along with instructions on what to change and where to make those changes in the pattern. == Defining your own VM sets using the chart diff --git a/content/patterns/ansible-edge-gitops/installation-details.adoc b/content/patterns/ansible-edge-gitops/installation-details.adoc index 207e0a5d8..6843adcde 100644 --- a/content/patterns/ansible-edge-gitops/installation-details.adoc +++ b/content/patterns/ansible-edge-gitops/installation-details.adoc @@ -27,11 +27,15 @@ The playbook code is https://github.com/validatedpatterns/ansible-edge-gitops/bl This Ansible Playbook deploys a node to run the Virtual Machines for the demo. The playbook uses the OpenShift machineset API to provision the node in the first availability zone it finds. Currently, AWS is the only major public cloud provider that offers the deployment of a metal node through the normal provisioning process. We hope that Azure and GCP will support this functionality soon. -Be aware that the metal node is rather more expensive in compute costs than most other AWS machine types. The trade-off is that running the demo without hardware acceleration would take ~4x as long. It takes about 20-30 minutes for the metal node to become available to run VMs. If you want to see the current status of the metal node, you can check it this way (assuming your `kubeconfig` is currently set up to point to your cluster): +[NOTE] +==== +Metal nodes are more expensive than standard AWS instances. However, running the demo without hardware acceleration can take about ~4x as long. It usually takes 20-30 minutes for the metal node to become available to run VMs. +==== +Assuming your `kubeconfig` is currently set up to point to your cluster, list all MachineSets across all namespaces in an OpenShift cluster, using the following command: [source,shell] ---- -oc get -A machineset +$ oc get -A machineset ---- You are looking for a machineset with `metal-worker` in its name:

dn3yMr_!a6)jC*E23{#DD; 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 L((}S+M*jaFjA0A6 literal 0 HcmV?d00001 From 94fd64a47efde66b1deb99062005daaf0c00375e Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 26 Feb 2025 14:34:49 +0000 Subject: [PATCH 02/23] removing additional resources 2 --- .../patterns/ansible-edge-gitops/_index.adoc | 62 ++++++++++++------- .../ansible-edge-gitops/getting-started.adoc | 53 ++++------------ 2 files changed, 52 insertions(+), 63 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/_index.adoc b/content/patterns/ansible-edge-gitops/_index.adoc index b89fcc723..4100a1c6b 100644 --- a/content/patterns/ansible-edge-gitops/_index.adoc +++ b/content/patterns/ansible-edge-gitops/_index.adoc @@ -1,22 +1,44 @@ +--- +title: Ansible Edge GitOps +date: 2022-06-08 +tier: maintained +summary: This pattern uses OpenShift Virtualization to simulate an edge environment for VMs. +rh_products: +- Red Hat OpenShift Container Platform +- Red Hat Ansible Automation Platform +- Red Hat OpenShift Virtualization +- Red Hat Enterprise Linux +- Red Hat OpenShift Data Foundation +industries: +- Chemical +aliases: /ansible-edge-gitops/ +pattern_logo: ansible-edge.png +links: + install: getting-started + help: https://groups.google.com/g/validatedpatterns + bugs: https://github.com/validatedpatterns/ansible-edge-gitops/issues +ci: aegitops +--- + +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + == Ansible Edge GitOps === Background -Organizations are interested in accelerating their deployment speeds and -improving delivery quality in their Edge environments, where many -devices may not fully or even partially embrace the GitOps philosophy. -Further, there are VMs and other devices that can and should be managed -with Ansible. This pattern explores some of the possibilities of using -an OpenShift-based Ansible Automated Platform deployment and managing -Edge devices, based on work done with a partner in the Chemical space. +Organizations are interested in accelerating their deployment speeds and improving delivery quality in their Edge environments, where many +devices may not fully or even partially embrace the GitOps philosophy. Further, there are VMs and other devices that can and should be managed +with Ansible. This pattern explores some of the possibilities of using an OpenShift-based Ansible Automated Platform deployment and managing +Edge devices, based on work done with a partner in the chemical space. -This pattern uses OpenShift Virtualization (the productization of -Kubevirt) to simulate the Edge environment for VMs. +This pattern uses OpenShift Virtualization (the productization of Kubevirt) to simulate the Edge environment for VMs. ==== Solution elements -* How to use a GitOps approach to manage virtual machines, either in -public clouds (limited to AWS for technical reasons) or on-prem +* How to use a GitOps approach to manage virtual machines, either in public clouds (limited to AWS for technical reasons) or on-prem OpenShift installations * How to integrate AAP into OpenShift * How to manage Edge devices using AAP hosted in OpenShift @@ -30,7 +52,7 @@ Tower`") * OpenShift Virtualization (Kubevirt) * Red Hat Enterprise Linux 8 -==== Other Technologies this Pattern Uses +==== Other technologies this pattern Uses * Hashicorp Vault * External Secrets Operator @@ -38,32 +60,26 @@ Tower`") === Architecture -Similar to other patterns, this pattern starts with a central management -hub, which hosts the AAP and Vault components. +Similar to other patterns, this pattern starts with a central management hub, which hosts the AAP and Vault components. ==== Logical architecture .Ansible-Edge-Gitops-Architecture image::/images/ansible-edge-gitops/ansible-edge-gitops-arch.png[Ansible-Edge-Gitops-Architecture] -==== Physical Architecture +==== Physical architecture .Ansible-Edge-GitOps-Physical-Architecture image::/images/ansible-edge-gitops/aeg-arch-schematic.png[Ansible-Edge-GitOps-Physical-Architecture] -=== Recorded Demo +=== Recorded demo TBD -=== Other Presentations Featuring this Pattern +=== Other presentations featuring this pattern -==== Registration Required +==== Registration required https://tracks.redhat.com/c/validated-patterns_i?x=5wCWYS&lx=lT1ZfK[image:/images/ansible-edge-gitops/automates-june-2022-deck-thumb.png[Ansible-Automates-June-2022-Deck]] https://tracks.redhat.com/c/preview-42?x=5wCWYS&lx=lT1ZfK[image:/images/ansible-edge-gitops/automates-june-2022-video-thumb.png[Ansible-Automates-June-2022-Video]] - -=== What Next - -* link:getting-started[Getting Started: Deploying and Validating the -Pattern] diff --git a/content/patterns/ansible-edge-gitops/getting-started.adoc b/content/patterns/ansible-edge-gitops/getting-started.adoc index 35aad955f..532b52be4 100644 --- a/content/patterns/ansible-edge-gitops/getting-started.adoc +++ b/content/patterns/ansible-edge-gitops/getting-started.adoc @@ -118,6 +118,17 @@ Paste the path to your locally stored private and public keys. If you do not hav + This is the username and password that you use to log in to link:https://catalog.redhat.com/[registry.redhat.io.]. +.. Edit the `kiosk-extra` section and populate as shown below: ++ +[source,yaml] +---- + - name: kiosk-extra + fields: + # Default: '--privileged -e GATEWAY_ADMIN_PASSWORD=redhat' + - name: container_extra_params + value: '--privileged -e GATEWAY_ADMIN_PASSWORD=redhat' +---- + .. Edit the `cloud-init` section to include the `userData` block to use with cloud-init. For example: + [source,yaml] @@ -143,42 +154,6 @@ This is the username and password that you use to log in to link:https://catalog base64: true ---- -.. Edit the `automation-hub-token` section to include the token generated at . Click the *Load token* link at link:https://console.redhat.com/ansible/automation-hub/token[Automation Hub Token] to generate a token. For example: -+ -[source,yaml] ----- - - name: automation-hub-token - fields: - - name: token - path: '/path/to/automation-hub-token' ----- - -.. Optionally: Edit the `agof-vault-file` section to use the following (you do not need additional secrets for this pattern): -+ -[source,yaml] ----- - - name: agof-vault-file - fields: - - name: agof-vault-file - value: '---' - base64: true ----- - -.. Edit the `otel-cert` section to include the path to a pre-existing TLS key and certificate. Populate as shown below: -+ -[source,yaml] ----- - - name: otel-cert - fields: - - name: tls.key - path: '~/federated-edge-observability-otel-collector-edge-observability-stack.key' - - - name: tls.crt - path: '~/federated-edge-observability-otel-collector-edge-observability-stack.crt' ----- -+ -Certificates for the OpenTelemetry collector infrastructure. `Snakeoil` that is, self-signed certificates are automatically generated by the `makefile` as follows by the `make snakeoil-certs` target, which is automatically run by `make install`. - . Create and switch to a new branch named my-branch, by running the following command: + [source,terminal] @@ -214,9 +189,7 @@ $ git commit -m "any updates" $ git push origin my-branch ---- -The preferred way to install this pattern is You can proceed to install the {fe-pattern} pattern by using the web console or from command line by using the script `./pattern.sh` script. - -To install the {fe-pattern} pattern by using the web console you must first install the Validated Patterns Operator. The Validated Patterns Operator installs and manages Validated Patterns. +The preferred way to install this pattern is by using the script `./pattern.sh` script. [id="deploying-cluster-using-patternsh-file"] == Deploying the cluster by using the pattern.sh file @@ -234,7 +207,7 @@ To deploy the cluster by using the `pattern.sh` file, complete the following ste $ $ oc login --token= --server=https://api..:6443 ---- + -Alternatively log in by running the following command: +Or log in by running the following command: + [source,terminal] ---- From 4f85208772e571d9c90238a71836f585b1ec3507 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 26 Feb 2025 17:15:04 +0000 Subject: [PATCH 03/23] more updates --- .../ansible-automation-platform.adoc | 246 ++++++++---------- 1 file changed, 105 insertions(+), 141 deletions(-) diff --git a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc index f4003736a..211b702fb 100644 --- a/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc +++ b/content/patterns/ansible-edge-gitops/ansible-automation-platform.adoc @@ -1,172 +1,159 @@ -== Ansible Automation Platform +--- +title: Ansible Automation Platform +weight: 20 +aliases: /federated-edge-observability/aap/ +--- -== How it’s installed +:toc: +:imagesdir: /images +:_content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] -See the installation details -link:/patterns/ansible-edge-gitops/installation-details/#ansible-automation-platform-aap-formerly-known-as-ansible-tower[here]. +[id="ansible-automation-pattern"] +== Logging in to the Ansible Automation Platform -== How to Log In +The default login user for the AAP interface is `admin`, and the password is randomly generated during installation. This password is required to access the interface. +However, logging into the interface is not necessary, as the pattern automatically configures the AAP instance. The pattern retrieves the password by using the same method as the `ansible_get_credentials.sh` script (described below). -The default login user is `+admin+` and the password is generated -randomly at install time; you will need the password to login in to the -AAP interface. You do not have to log in to the interface - the pattern -will configure the AAP instance; the pattern retrieves the password -using the same technique as the `+ansible_get_credentials.sh+` script -described below. If you want to inspect the AAP instance, or change any -aspects of its configuration, there are two ways to login and look at -it. Both mechanisms are equivalent; you get the same password to the -same instance using either technique. +If you need to inspect the AAP instance or change its configuration, there are two ways to log in. Both methods give access to the same instance using the same password. -=== Via the OpenShift Console +[id="logging-in-using-a-secret-retrieved-from-the-openshift-console"] +=== Logging in using a secret retrieved from the OpenShift Console -In the OpenShift console, navigate to Workloads > Secrets and select the -"`ansible-automation-platform`" project if you want to limit the number -of Secrets you can see. +Follow these steps to log in to the Ansible Automation Platform using the OpenShift console: -link:/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password.png[image:/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password.png[secrets-navigation]] +. In the OpenShift console, go to *Workloads* > *Secrets* and select the `ansible-automation-platform` project if you want to limit the number of secrets you can see. ++ +.AAP secret +image::/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password-v1.png[federated-edge-observability-operators,title="AAP secret"] -The Secret you are looking for is in the `+ansible-automation-platform+` -project and is named `+controller-admin-password+`. If you click on it, -you can see the Data.password field. It is shown revealed below to show -that it is the same as what is shown by the script method of retrieving -it below: +.. Select the `controller-admin-password`. -link:/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail.png[image:/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail.png[secrets-detail]] +.. In the Data field click *Reveal values* to display the password. ++ +.AAP secret detail +image::/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png[federated-edge-observability-operators,title="AAP secret details"] -=== Via https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_get_credentials.sh[ansible_get_credentials.sh] +. Under *Networking* > *Routes*, click the URL for the `controller` route to open the Ansible Automation Platform interface. -With your KUBECONFIG set, you can run -`+./scripts/ansible-get-credentials.sh+` from your top-level pattern -directory. This will use your OpenShift cluster admin credentials to -retrieve the URL for your Ansible Automation Platform instance, as well -as the password for its `+admin+` user, which is auto-generated by the -AAP operator by default. The output of the command looks like this (your -password will be different): +.. Log in using the `admin` user and the password you retrieved from the `controller-admin-password` secret. The following image shows the screen that appears after logging in. ++ +.AAP screen +image::/images/federated-edge-observability/app-login.png[federated-edge-observability-operators,title="AAP screen"] +[id="logging-in-using-secret-retrieved-using-script-ansible_get_credentials"] +=== Logging in using a secret retrieved with ansible_get_credentials.sh + +Follow this procedure to log in to the Ansible Automation Platform using the `ansible_get_credentials.sh` script: + +. From the top-level pattern directory (ensuring you have set `KUBECONFIG`), run the following command: ++ +[source,terminal] +---- +$ ./pattern.sh ./scripts/ansible_get_credentials.sh +---- ++ +This script retrieves the URL for your Ansible Automation Platform instance and the password for its `admin` user. The password is auto-generated by the AAP operator by default. The output of the command looks like this (your password will be different): ++ [source,text] ---- -./scripts/ansible_get_credentials.sh -[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match -'all' +[WARNING]: No inventory was parsed, only implicit localhost is available -PLAY [Install manifest on AAP controller] ****************************************************************************** +PLAY [Retrieve Credentials for AAP on OpenShift] ******************************************************************* -TASK [Retrieve API hostname for AAP] *********************************************************************************** +TASK [Retrieve API hostname for AAP] ******************************************************************* ok: [localhost] -TASK [Set ansible_host] ************************************************************************************************ +TASK [Set ansible_host] ***************************************************************** ok: [localhost] -TASK [Retrieve admin password for AAP] ********************************************************************************* +TASK [Retrieve admin password for AAP] ***************************************************************************** ok: [localhost] -TASK [Set admin_password fact] ***************************************************************************************** +TASK [Set admin_password fact] **************************************************************************************** ok: [localhost] -TASK [Report AAP Endpoint] ********************************************************************************************* +TASK [Report AAP Endpoint] ***************************************************************************************** ok: [localhost] => { - "msg": "AAP Endpoint: https://controller-ansible-automation-platform.apps.mhjacks-aeg.blueprints.rhecoeng.com" + "msg": "AAP Endpoint: https://aap-ansible-automation-platform.apps.kevstestcluster.aws.validatedpatterns.io" } -TASK [Report AAP User] ************************************************************************************************* +TASK [Report AAP User] ****************************************************************************** ok: [localhost] => { "msg": "AAP Admin User: admin" } -TASK [Report AAP Admin Password] *************************************************************************************** +TASK [Report AAP Admin Password] ******************************************************************* ok: [localhost] => { - "msg": "AAP Admin Password: CKollUjlir0EfrQuRrKuOJRLSQhi4a9E" + "msg": "AAP Admin Password: XoQ2MoU88ibAwUZI8tHu194DP304UEqz" } -PLAY RECAP ************************************************************************************************************* -localhost : ok=7 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 +PLAY RECAP ******************************************************************************* +localhost : ok=7 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ---- == Pattern AAP Configuration Details -In this section, we describe the details of the AAP configuration we -apply as part of installing the pattern. All of the configuration +In this section, we describe the details of the AAP configuration we apply as part of installing the pattern. All of the configuration discussed in this section is applied by the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[ansible_load_controller.sh] script. === Loading a Manifest -After validating that AAP is ready to be configured, the first thing the -script does is to install the manifest you specify in the -`+values-secret.yaml+` file in the `+files.manifest+` setting. The value -of this setting is expected to be a fully-pathed file that represents a +After validating that AAP is ready to be configured, the first thing the script does is to install the manifest you specify in the +`values-secret.yaml` file in the `files.manifest+` setting. The value of this setting is expected to be a fully-pathed file that represents a Red Hat Satellite manifest file with a valid entitlement for AAP. The _only_ thing this manifest is used for is entitling AAP. -Instructions for creating a suitable manifest file can be found -https://www.redhat.com/en/blog/how-create-and-use-red-hat-satellite-manifest[here]. +Instructions for creating a suitable manifest file can be found https://www.redhat.com/en/blog/how-create-and-use-red-hat-satellite-manifest[here]. -While it is absolutely possible to entitle AAP via a username/password -on first login, the automated mechanisms for entitling only support +While it is absolutely possible to entitle AAP via a username/password on first login, the automated mechanisms for entitling only support manifests, that is the technique the pattern uses. === Organizations -The pattern installs an Organization called `+HMI Demo+` is installed. -This makes it a bit easier to separate what the pattern is doing versus -the default configuration of AAP. The other resources created in AAP as -part of the load process are associated with this Organization. +The pattern installs an Organization called `HMI Demo` is installed. This makes it a bit easier to separate what the pattern is doing versus +the default configuration of AAP. The other resources created in AAP as part of the load process are associated with this Organization. === Credential Types (and their Credentials) ==== Kubeconfig (Kubeconfig) -The Kubeconfig credential is for holding the OpenShift cluster admin -kubeconfig file. This is used to query the `+edge-gitops-vms+` namespace -for running VM instances. Since the kubeconfig is necessary for -installing the pattern and must be available when the load script is -running, the load script pulls it into an AAP secret and stores it for -later use (and calls it `+Kubeconfig+`). +The Kubeconfig credential is for holding the OpenShift cluster admin kubeconfig file. This is used to query the `edge-gitops-vms+` namespace +for running VM instances. Since the kubeconfig is necessary for installing the pattern and must be available when the load script is +running, the load script pulls it into an AAP secret and stores it for later use (and calls it `Kubeconfig`). -The template for creating the Credential Type was taken from -https://blog.networktocode.com/post/kubernetes-collection-ansible/[here]. +The template for creating the Credential Type was taken from https://blog.networktocode.com/post/kubernetes-collection-ansible/[here]. ==== RHSMcredential (rhsm_credential) -This credential is required to register the RHEL VMs and configure them -for Kiosk mode. The registration process allows them to install packages +This credential is required to register the RHEL VMs and configure them for Kiosk mode. The registration process allows them to install packages from the Red Hat Content Delivery Network. ==== Machine (kiosk-private-key) -This is a standard AAP Machine type credential. `+kiosk-private-key+` is -created with the username and private key from your -`+values-secret.yaml+` file in the `+kiosk-ssh.username+` and -`+kiosk-ssh.privatekey+` fields. +This is a standard AAP Machine type credential. `kiosk-private-key` is created with the username and private key from your +`values-secret.yaml+` file in the `kiosk-ssh.username` and `kiosk-ssh.privatekey` fields. ==== KioskExtraParams (kiosk_container_extra_params) -This CredentialType is considered "`secret`" because it includes the -admin login password for the Ignition application. This passed to the +This CredentialType is considered "`secret`" because it includes the admin login password for the Ignition application. This passed to the provisioning playbook(s) as extra_vars. === Inventory -The pattern installs an Inventory (HMI Demo), but no inventory sources. -This is due to the way that OpenShift Virtualization provides access to -virtual machines. The IP address associated with the SSH service that a -given VM is running is associated with the Service object on the VM. -This is not the way the Kubernetes inventory plugin expects to work. So -to make inventory dynamic, we are instead using a play to discover VMs -and add them to inventory "`on the fly`". What is unusual about DNS -inside a Kubernetes cluster is that resources outside the namespace must -use the cluster FQDN - which is -`+resource-name.resource-namespace.svc+`. - -It is also possible to define a static inventory - an example of how -this would like is preserved in the pattern repository as +The pattern installs an Inventory (HMI Demo), but no inventory sources. This is due to the way that OpenShift Virtualization provides access to +virtual machines. The IP address associated with the SSH service that a given VM is running is associated with the Service object on the VM. +This is not the way the Kubernetes inventory plugin expects to work. So to make inventory dynamic, we are instead using a play to discover VMs +and add them to inventory "`on the fly`". What is unusual about DNS inside a Kubernetes cluster is that resources outside the namespace must +use the cluster FQDN - which is `resource-name.resource-namespace.svc`. + +It is also possible to define a static inventory - an example of how this would like is preserved in the pattern repository as https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/hosts[hosts]. -A standard dynamic inventory script is available -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/openshift_cluster.yml[here]. -This will retrieve the object names, but it will not (currently) map the -FQDN properly. Because of this limitation, we moved to using the +A standard dynamic inventory script is available https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory/openshift_cluster.yml[here]. +This will retrieve the object names, but it will not (currently) map the FQDN properly. Because of this limitation, we moved to using the inventory pre-play method. === Templates (key playbooks in the pattern) @@ -179,71 +166,53 @@ This combines all three key workflows in this pattern: * Kiosk Mode * Podman Playbook -It is safe to run multiple times on the same system. It is run on a -schedule, every 10 minutes, to demonstrate this. +It is safe to run multiple times on the same system. It is run on a schedule, every 10 minutes, to demonstrate this. ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/kiosk_playbook.yml[Kiosk Mode Playbook] -This playbook runs the -link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode +This playbook runs the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode role]. ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/podman_playbook.yml[Podman Playbook] -This playbook runs the -link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle +This playbook runs the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle role] with overrides suitable for the Ignition application container. ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/ping.yml[Ping Playbook] -This playbook is for testing basic connectivity - making sure that you -can reach the nodes you wish to manage, and that the credentials you -have given will work on them. It will not change anything on the VMs - -just gather facts from them (which requires elevating to root). +This playbook is for testing basic connectivity - making sure that you can reach the nodes you wish to manage, and that the credentials you +have given will work on them. It will not change anything on the VMs - just gather facts from them (which requires elevating to root). === Schedules ==== Update Project AEG GitOps -This job runs every 5 minutes to update the GitOps repository associated -with the project. This is necessary when any of the Ansible code (for -example, the playbooks or roles associated with the pattern) changes, so -that the new code is available to the AAP instance. +This job runs every 5 minutes to update the GitOps repository associated with the project. This is necessary when any of the Ansible code (for +example, the playbooks or roles associated with the pattern) changes, so that the new code is available to the AAP instance. ==== Dynamic Provision Kiosk Playbook -This job runs every 10 minutes to provision and configure any kiosks it -finds to run the Ignition application in a podman container, and -configure firefox in kiosk mode to display that application. The -playbook is designed to be idempotent, so it is safe to run multiple -times on the same targets; it will not make user-visible changes to -those targets unless it must. - -This playbook combines the -link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[inventory_preplay] -and the -link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[Provision +This job runs every 10 minutes to provision and configure any kiosks it finds to run the Ignition application in a podman container, and +configure firefox in kiosk mode to display that application. The playbook is designed to be idempotent, so it is safe to run multiple +times on the same targets; it will not make user-visible changes to those targets unless it must. + +This playbook combines the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[inventory_preplay] +and the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#extra-playbooks-in-the-pattern[Provision Kiosk Playbook]. === Execution Environment -The pattern includes an execution environment definition that can be -found -https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/execution_environment[here]. +The pattern includes an execution environment definition that can be found https://github.com/validatedpatterns/ansible-edge-gitops/tree/main/ansible/execution_environment[here]. -The execution environment includes some additional collections beyond -what is provided in the Default execution environment, including: +The execution environment includes some additional collections beyond what is provided in the Default execution environment, including: * https://linux-system-roles.github.io/[fedora.linux_system_roles] * https://galaxy.ansible.com/containers/podman[containers.podman] * https://docs.ansible.com/ansible/latest/collections/community/okd/index.html[community.okd] -The execution environment definition is provided if you want to -customize or change it; if so, you should also change the Execution -Environment attributes of the Templates (in the -https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[load -script], those attributes are set by the variables -`+aap_execution_environment+` and `+aap_execution_environment_image+`). +The execution environment definition is provided if you want to customize or change it; if so, you should also change the Execution +Environment attributes of the Templates (in the https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/scripts/ansible_load_controller.sh[load +script], those attributes are set by the variables `aap_execution_environment` and `aap_execution_environment_image`). === Roles included in the pattern @@ -270,19 +239,14 @@ container’s case, that includes specifying an admin password override. ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/inventory_preplay.yml[inventory_preplay.yml] -This playbook is designed to be included in other plays; its purpose is -to discover the desired inventory and add those hosts to inventory at -runtime. It uses a kubernetes query via the cluster-admin kube config -file. +This playbook is designed to be included in other plays; its purpose is to discover the desired inventory and add those hosts to inventory at +runtime. It uses a kubernetes query via the cluster-admin kube config file. ==== https://github.com/validatedpatterns/ansible-edge-gitops/blob/main/ansible/provision_kiosk.yml[Provision Kiosk Playbook] -This does the work of provisioning the kiosk, which configures kiosk -mode, and also installs Ignition and configures it to start at boot. It -runs the -link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode] -and -link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle] +This does the work of provisioning the kiosk, which configures kiosk mode, and also installs Ignition and configures it to start at boot. It +runs the link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[kiosk_mode] +and link:/patterns/ansible-edge-gitops/ansible-automation-platform/#roles-included-in-the-pattern[container_lifecycle] roles. == Next Steps From 728b779b39a12079044afed727abeae24452d308 Mon Sep 17 00:00:00 2001 From: Kevin Quinn Date: Wed, 26 Feb 2025 17:15:17 +0000 Subject: [PATCH 04/23] more updates 2 --- ...cp-console-aap-admin-password-detail-v1.png | Bin 0 -> 112069 bytes ...p-console-secrets-aap-admin-password-v1.png | Bin 0 -> 102696 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png create mode 100644 static/images/ansible-edge-gitops/ocp-console-secrets-aap-admin-password-v1.png diff --git a/static/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png b/static/images/ansible-edge-gitops/ocp-console-aap-admin-password-detail-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..0279c41e48f7eca362a3c6d763c38bf810a25ed5 GIT binary patch literal 112069 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 z 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