From 695231fc196c10288c0738692c947c603d1decb8 Mon Sep 17 00:00:00 2001 From: lavado Date: Wed, 11 Dec 2019 18:52:54 -0500 Subject: [PATCH] Migrating to VNFONB & deprecating content --- .../03-01-create-vnf-package.md | 94 ------ .../03-02-00-create-vnf-charm.md | 290 ------------------ .../03-02-01-examples-vnf-charms.md | 17 - ...03-04-information-to-create-descriptors.md | 135 -------- .../14-advanced-charm-development.md | 142 --------- assets/350px-Ref_vnf_11.png | Bin 23190 -> 0 bytes assets/350px-Ref_vnf_21.png | Bin 14136 -> 0 bytes assets/400px-Example_ns_2.png | Bin 28996 -> 0 bytes assets/400px-Ref_vnf_12.png | Bin 25679 -> 0 bytes assets/400px-Ref_vnf_22.png | Bin 15696 -> 0 bytes assets/450px-Example_ns_1.png | Bin 23889 -> 0 bytes 11 files changed, 678 deletions(-) delete mode 100644 TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-01-create-vnf-package.md delete mode 100644 TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-00-create-vnf-charm.md delete mode 100644 TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-01-examples-vnf-charms.md delete mode 100644 TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-04-information-to-create-descriptors.md delete mode 100644 TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/14-advanced-charm-development.md delete mode 100644 assets/350px-Ref_vnf_11.png delete mode 100644 assets/350px-Ref_vnf_21.png delete mode 100644 assets/400px-Example_ns_2.png delete mode 100644 assets/400px-Ref_vnf_12.png delete mode 100644 assets/400px-Ref_vnf_22.png delete mode 100644 assets/450px-Example_ns_1.png diff --git a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-01-create-vnf-package.md b/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-01-create-vnf-package.md deleted file mode 100644 index a5edeec..0000000 --- a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-01-create-vnf-package.md +++ /dev/null @@ -1,94 +0,0 @@ -# Creating your own VNF package - -This page illustrates how to create your own VNF package. As a previous step, it is highly convenient that you collect the internal structure of your VNF: its VDUs, the VDU information (flavor, interfaces, image, etc.), the VNF internal networks, and the external connection points. The presentation in this [link](https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/presentations/20180117 OSM Hackfest - Guidelines for VNF builders.pptx) might help you collecting all the information. - -## VNF without primitives - -### Using the CLI tool - -- Clone the devops repo: - -```bash -git clone https://osm.etsi.org/gerrit/osm/devops -``` - -- Run the following command to create a folder with all the files required for a single-VM VNF package: - -```bash -./devops/descriptor-packages/tools/generate_descriptor_pkg.sh -t vnfd --image -c -``` - -- A folder called `_vnfd` will be created with all the files required for a VNF package. -- Edit the descriptor file `_vnfd.yaml`. - - By default, the descriptor is prepared for a single-VM VNF. - - Add as many VMs as required. - - Add also Internal VLDs as required. -- Add any artifacts needed by the VNF (eg, charm, icons, images etc ...) to the appropriate folder and make sure it is referenced in the descriptor. -- Once done, you can generate the tar.gz VNF package with the command: - -```bash -./devops/descriptor-packages/tools/generate_descriptor_pkg.sh -t vnfd -N _vnfd -#Note: the argument -N is optional and is intended to keep the package files after creating the package -``` - -## VNF with primitives - -You will have to create a proxy charm for the VNF. You can follow the general instructions below: - -- Clone the devops repo: - -```bash -git clone https://osm.etsi.org/gerrit/osm/devops -``` - -- Enter the juju-charms folder under devops and follow the instructions to create your own charm: [Creating your own VNF charm](03-02-00-create-vnf-charm.md) - -You can then follow the ping-pong example in OSM descriptor packages to integrate the charm into VNF primitives - -## Migrating old descriptors to current release - -Only file containing the VNFD or NSD descriptor need to be migrated. Clone the devops repo, run the utility for that and generate the package: - -```bash -git clone https://osm.etsi.org/gerrit/osm/devops -./devops/descriptor-packages/tools/upgrade_descriptor_version.py -i -o -# generate package following the instructions of previous sections -``` - -This command fails if package python-osm-im is not installed. Follow these guidelines to install it: [Installing_Python_OSM_IM_package](#installing-python-osm-im-package) - -## Validate descriptors - -This utility is under the `devops` repository. Clone it using the above steps. Can be invoked with: - -```bash -./devops/descriptor-packages/tools/validate_descriptor.py -``` - -It is also integrated in the devops/descriptor-packages makefile system - -```bash -make test -``` - -This command fails if package `python-osm-im` is not installed. Follow these guidelines to install it: [Installing_Python_OSM_IM_package](#installing-python-osm-im-package) - -## Installing Python OSM IM package - -Follow these steps to install it if needed: - -```bash -# Check that the current OSM debian repository is the current stable repo for the release: -grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/* |grep osm-download -# should be similar to this, and should include IM component: -# deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseSIX stable IM osmclient devops - -# If missing, add repository with: -curl "https://osm-download.etsi.org/repository/osm/debian/ReleaseSIX/OSM%20ETSI%20Release%20Key.gpg" | apt-key add - -apt-get update && add-apt-repository -y "deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseSIX stable IM osmclient devops" - -# Install/update python-osm-im and its dependencies -apt-get update -apt-get install python-osm-im -sudo -H pip install pyangbind -``` diff --git a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-00-create-vnf-charm.md b/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-00-create-vnf-charm.md deleted file mode 100644 index 7e01d7a..0000000 --- a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-00-create-vnf-charm.md +++ /dev/null @@ -1,290 +0,0 @@ -# Creating your own VNF charm - -## Creating a VNF proxy charm - -### What is a charm - -A [charm](https://jujucharms.com/docs/stable/charms) is a collection of scripts and metadata that encapsulate the distilled DevOps knowledge of experts in a particular product. These charms make it easy to reliably and repeatedly deploy applications, then scale them as required with minimal effort. - -Driven by [Juju](https://jujucharms.com/docs/stable/about-juju), these charms manage the complete lifecycle of the application, including installation, configuration, clustering, and scaling. - -### What is a proxy charm - -OSM Release THREE supports a limited version of charms that we call "proxy charms". These charms is responsible for doing Day 1 configuration. Configurations are mapped to [Juju Actions](https://jujucharms.com/docs/stable/actions) which manage configuration within the VNFD qcow2 image (over SSH, via RESTful API, etc). - -The diagram below illustrates the OSM workflow: - -``` -+---------------------+ +---------------------+ -| <----+ | -| Resource | | Service | -| Orchestrator (RO) +----> Orchestrator (SO) | -| | | | -+------------------+--+ +-------+----^--------+ - | | | - | | | - | | | - +-----v-----+ +-v----+--+ - | <-------+ | - | Virtual | | Proxy | - | Machine | | Charm | - | +-------> | - +-----------+ +---------+ -``` - -The SO directs the RO to create a virtual machine using the selected VNF image. When that has successfully completed, the SO will instantiate a LXD container, managed by Juju, with the proxy charm. The proxy charm will then communicate with the VNF virtual machine to do Day 1 configuration. - -### Creating a proxy charm - -#### Setup - -We recommend that you are running Ubuntu 16.04 or newer, or [install snapd](https://docs.snapcraft.io/core/install) on the Linux distribution of your choice. - -Install the *charm* snap, which provides the charm command and libraries necessary to compile your charm: - -``` -snap install charm -``` - -Setup your workspace for writing layers and building charms: - -``` -mkdir -p ~/charms/layers -export JUJU_REPOSITORY=~/charms -export LAYER_PATH=$JUJU_REPOSITORY/layers -cd $LAYER_PATH -``` - -#### Layers - -Layers are individual components that, when combined, result in a finished product. The diagram below describes what our example *pingpong* charm looks like, followed by a walkthrough of how it is built. The completed charm is available in the [juju-charms](https://osm.etsi.org/gitweb/?p=osm/juju-charms.git;a=summary) repository. - -``` -+------------------+ -| | -| Layers | -| | -| +------------+ | -| | | | -| | Base | | -| | | | -| +------+-----+ | -| | | -| +------v-----+ | -| | | | -| | sshproxy | | +-----------------+ -| | | | | | -| +------+-----+ | | pingpong | -| | +------------> | -| +------v-----+ | | charm | -| | | | | | -| | vnfproxy | | +-----------------+ -| | | | -| +------+-----+ | -| | | -| +------v-----+ | -| | | | -| | pingpong | | -| | | | -| +------------+ | -| | -+------------------+ -``` - -Create the layer for your proxy charm: - -``` -charm create pingpong -cd pingpong -``` - -This will create a charm layer ready for customization: - -``` -. -├── config.yaml -├── icon.svg -├── layer.yaml -├── metadata.yaml -├── reactive -│ └── pingpong.py -├── README.ex -└── tests - ├── 00-setup - └── 10-deploy -``` - -Next, modify *layers.yaml* to the following: - -``` -includes: - - layer:basic - - layer:vnfproxy -``` - -The *[metadata.yaml](https://jujucharms.com/docs/stable/authors-charm-metadata)* file describes what your charm is and sets certain properties used by Juju. - -``` -name: pingpong -summary: A service to test latency between machines. -maintainer: Adam Israel -description: | - The pingpong charm manages the pingpong vnfd deployed by Open Source Mano. -tags: - - nfv -subordinate: false -series: - - trusty - - xenial -``` - - -This means that your charm will include the basic layer, required for all charms, and the vnfproxy layer, which has been designed to aid in the development in proxy charms by implementing common functionality. - -#### Actions - -There are three pieces that make up an action: *actions.yaml*, which define an action, the *actions/* directory where we'll place a small script that invokes the reactive framework, and the python code in *reactive/pingpong.py* that performs said action. - -In *actions.yaml*, we define the actions we wish to support: - -``` -set-server: - description: "Set the target IP address and port" - params: - server-ip: - description: "IP on which the target service is listening." - type: string - default: "" - server-port: - description: "Port on which the target service is listening." - type: integer - default: 5555 - required: - - server-ip -set-rate: - description: "Set the rate of packet generation." - params: - rate: - description: "Packet rate." - type: integer - default: 5 -get-stats: - description: "Get the stats." -get-state: - description: "Get the admin state of the target service." -get-rate: - description: "Get the rate set on the target service." -get-server: - description: "Get the target server and IP set" -``` - - - -``` -mkdir actions/ -``` - -For each action, we need to create a script to invoke the reactive framework. This is a boilerplate script that will be used for every action. The first step is to create the first action script. - -``` -cat <<'EOF' >> actions/set-server -#!/usr/bin/env python3 -import sys -sys.path.append('lib') - -from charms.reactive import main -from charms.reactive import set_state -from charmhelpers.core.hookenv import action_fail, action_name - -""" -`set_state` only works here because it's flushed to disk inside the `main()` -loop. remove_state will need to be called inside the action method. -""" -set_state('actions.{}'.format(action_name())) - -try: - main() -except Exception as e: - action_fail(repr(e)) -EOF -``` - -After this, make the file executable. - -``` -chmod +x actions/set-server -``` - -Next, copy this script for the remaining actions: - -``` -cp actions/set-server actions/set-rate -cp actions/set-server actions/get-stats -cp actions/set-server actions/set-state -cp actions/set-server actions/get-rate -cp actions/set-server actions/get-server -``` - -The last step is to map the action to the command(s) to be run. To do this, open up reactive/pingpong.py and add this code. - -``` -@when('actions.set-server') -def set_server(): - err = '' - try: - cmd = "" - result, err = charms.sshproxy._run(cmd) - except: - action_fail('command failed:' + err) - else: - action_set({'outout': result}) - finally: - remove_flag('actions.set-server') -``` - -The reactive framework, coupled with the script in the *actions/* directory, maps the SO's invocation of the action to the block of code with the matching *@when* decorator. As demonstrated in the above code, it will execute a command via the ssh (configured automatically by the SO). You could replace with with calls to a REST API or any other RPC method. You can also run code against the LXD container running the charm. - -#### Building - -When you're ready, you can create your charm via the *charm build* command: - -``` -$ charm build -build: Composing into /home/stone/charms -build: Destination charm directory: /home/stone/charms/builds/pingpong -build: Please add a `repo` key to your layer.yaml, with a url from which your layer can be cloned. -build: Processing layer: layer:basic -build: Processing layer: layer:sshproxy -build: Processing layer: layer:vnfproxy -build: Processing layer: pingpong -``` - -This combines all layers that you included, and those that they include, into a charm called *pingpong*, located in the *~/charms/builds* directory. - -#### VNF Descriptor - -In your Virtual Network Function Descriptor (VNFD), you specify the name of the charm as demonstrated below: - -``` -vnfd:vnfd-catalog: - vnfd:vnfd: - - vnfd:id: rift_pong_vnf - vnfd:name: pong_vnf - vnfd:vnf-configuration: - vnfd:juju: - vnfd:charm: pingpong -``` - -Then the compiled charm (from the builds directory) has to be packaged with the descriptor package under the charm directory. So the ping VNF with the charm would be: - -``` -ping_vnf -├── charms -│ └── pingpong -├── checksums.txt -├── icons -├── images -├── ping_vnfd.yaml -├── README -└── scripts -``` diff --git a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-01-examples-vnf-charms.md b/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-01-examples-vnf-charms.md deleted file mode 100644 index 99fd0e7..0000000 --- a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-02-01-examples-vnf-charms.md +++ /dev/null @@ -1,17 +0,0 @@ -# Example VNF Charms - -## Example VNF Charms - -This page is intended to be an index to VNF charms written by members of the OSM community. Please feel free to add links to your own examples below. - -### Ansible - -Under the scope of a H2020 project, [5GinFIRE](https://5ginfire.eu/) has developed a [charm that enables the configuration of a VNF, instantiated through OSM, using an Ansible playbook](https://github.com/5GinFIRE/mano/tree/master/charms/ansible-charm). The charm builds off of the base vnfproxy and ansible-base layers, and provides a template ready for customization that supports the execution of an Ansible playbook within the Juju framework used by OSM. - -### UbuntuVNF 'Say Hello' Proxy Charm - -A single VDU VNF containing a simple proxy charm that takes a parameter (name) and sends a greeting to all the VM's terminals using the 'wall' command. It serves like an example that can be extended to send any command with parameters to VNFs. Download it from [here](https://github.com/gianpietro1/osmproxycharms) - -### Video Transcoder VNFs - -Under the scope of a H2020 project, [5GinFIRE](https://5ginfire.eu/) has developed two Video Transcoding VNFs. The first uses [OpenCV](https://github.com/5GinFIRE/opencv_transcoder_vnf) and the other uses [FFMpeg](https://github.com/5GinFIRE/ffmpeg_transcoder_vnf). Both VNFs use systemd to run the transcoding service. The systemd services are configured using Juju charms. There is also a small script that builds the VNF and NS packages that might be useful. diff --git a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-04-information-to-create-descriptors.md b/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-04-information-to-create-descriptors.md deleted file mode 100644 index bbc8916..0000000 --- a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/03-04-information-to-create-descriptors.md +++ /dev/null @@ -1,135 +0,0 @@ -# Reference VNF and NS Descriptors - -## Reference NS#1: Testing an endpoint VNF - -The following network service captures a simple test setup where a VNF is tested with a traffic generator VNF (or a simple VNF/VM with a basic client application). For simplicity, this network service assumes that the VNF under test is the endpoint of a given service (e.g. DNS, AAA, etc.) and does not require special conditions or resource allocation besides the usual in a standard cloud environments. - -![Reference NS #1: Testing an endpoint VNF](assets/450px-Example_ns_1.png) - -In this example, unless otherwise specified in the description, the following defaults apply: - -- CPs are regular para-virtualized interfaces (VirtIO or equivalent). -- VLs provide E-LAN connectivity via regular (overlay) networks provided by the VIM. -- VLs provide IP addressing via DHCP if applicable. -- Mapping between internal and external CPs may be either direct (as aliases) or via an intermediate VL. -- VIM+NFVI can guarantee predictable ordering of guest interfaces' virtual PCI addresses. - -In the case of REF_NS_1: - -- When deploying the NS, VL1 would be typically mapped to a pre-created VIM network intended to provide management IP address to VNFs via DHCP. -- DHCP in VL2 may be optional. - -### Reference VNF#11: Endpoint VNF - -![Reference VNF#11: Endpoint](assets/350px-Ref_vnf_11.png) - -#### Description in common language - -- Name: Ref_VNF_11 - - Component: Ref_VM1 - - **Memory:** 2 GB - - **CPU:** 2 vCPU - - **Storage:** 8 GB - - **Image:** ref_vm1.qcow2 - - Component: Ref_VM2 - - **Memory:** 4GB - - **CPU:** 2 vCPU - - **Storage:** 16GB - - **Image:** ref_vm2.qcow2 - - Internal Virtual Link: VL12 - - No DHCP server is enabled. - - Static addressing may be used at CP iface11 and CP iface21. - -#### OSM VNF descriptor for VNF#11 - -[VNF11.yaml](https://osm.etsi.org/gitweb/?p=osm/devops.git;a=blob;f=descriptor-packages/vnfd/ref11_vnf/src/ref11_vnfd.yaml) - -### Reference VNF#21: Generator 1 port - -![Reference VNF#21: Generator 1 port](assets/350px-Ref_vnf_21.png) - -#### Description in common language - -- Name: Ref_VNF_21 - - Component: Ref_VM5 - - **Memory:** 1 GB - - **CPU:** 1 vCPU - - **Storage:** 16 GB - - **Image:** ref_vm21.qcow2 - -#### OSM VNF descriptor for VNF#21 - -[VNF21.yaml](https://osm.etsi.org/gitweb/?p=osm/devops.git;a=blob;f=descriptor-packages/vnfd/ref21_vnf/src/ref21_vnfd.yaml) - -### OSM NS descriptor for NS#1 - -[NS1.yaml](https://osm.etsi.org/gitweb/?p=osm/devops.git;a=blob;f=descriptor-packages/nsd/ref1_ns/src/ref1_nsd.yaml) - -## Reference NS #2: Testing a middle point VNF - -![Reference NS #2: Testing a middle point VNF](assets/400px-Example_ns_2.png) - -The following network service captures a more advanced test setup where the VNF under test is a middlepoint in the communication (e.g. router, EPC) and might require special conditions or resource allocation and connectivity foreseen in NFV ISG specs. In this case, the traffic generator VNF behaves as source and sink of traffic and might also require special resource allocation. - -In this example, unless otherwise specified in the description, the following applies: - -- Same defaults as in NS#1 -- vCPUs must be pinned to dedicated physical CPUs, with no over subscription. -- CPUs, memory and interfaces (if applicable) to be assigned to a given VM should belong to the same socket (NUMA awareness). -- Memory assigned to VMs should be backed by host's huge pages memory. -- VL2 and VL3 are E-Line underlay connectivity. No DHCP is required. - -### Reference VNF#12: Middle point VNF - -![Reference VNF#12: Middle point](assets/400px-Ref_vnf_12.png) - -#### Description in common language - -- Name: Ref_VNF_12 - - Component: Ref_VM3 - - **Memory:** 2 GB huge pages - - **CPU:** 2 vCPU (= CPU) - - **Storage:** 8 GB - - **Image:** ref_vm3.qcow2 - - Component: Ref_VM4 - - **Memory:** 4GB - - **CPU:** 2 vCPU - - **Storage:** 16GB - - **Image:** ref_vm4.qcow2 - - Connection Point: iface42 (west) - - **Type:** Passthrough - - Connection Point: iface43 (east) - - **Type:** SR-IOV - -#### OSM VNF descriptor for VNF#12 - -[VNF12.yaml](https://osm.etsi.org/gitweb/?p=osm/devops.git;a=blob;f=descriptor-packages/vnfd/ref12_vnf/src/ref12_vnfd.yaml) - -### Reference VNF#22: Generator 2 ports - -![Reference VNF#22: Generator 2 ports](assets/400px-Ref_vnf_22.png) - -#### Description in common language - -- Name: Ref_VNF_22 - - Component: Ref_VM6 - - **Memory:** 1 GB huge pages - - **CPU:** 1 vCPU (= CPU) - - **Storage:** 16 GB - - **Image:** ref_vm22.qcow2 - - Connection Point: iface61 (west) - - **Type:** Passthrough - - Connection Point: iface62 (east) - - **Type:** SR-IOV - -#### OSM VNF descriptor for VNF#22 - -[VNF22.yaml](https://osm.etsi.org/gitweb/?p=osm/devops.git;a=blob;f=descriptor-packages/vnfd/ref22_vnf/src/ref22_vnfd.yaml) - -### OSM NS descriptor for NS#2 - -[NS2.yaml](https://osm.etsi.org/gitweb/?p=osm/devops.git;a=blob;f=descriptor-packages/nsd/ref2_ns/src/ref2_nsd.yaml) - -## Resources - -The template used to create these NS/VNF diagrams is available at: [Reference_NS-VNF_diagrams.pptx](https://drive.google.com/open?id=0B0IUJnTZzp2iUnJUb1JFSGpBRGs) diff --git a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/14-advanced-charm-development.md b/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/14-advanced-charm-development.md deleted file mode 100644 index c42c691..0000000 --- a/TO-BE-MOVED-TO-OTHER-REPOS/VNF Onboarding/14-advanced-charm-development.md +++ /dev/null @@ -1,142 +0,0 @@ -# Advanced Charm Development - -As you create more advanced charms, you'll find tips and tips here for making it a smoother process. There are a handful of tips that make development and repeat testing of charms a less time-ocn - -# Juju - -## Faster Deployments - -When a charm is deployed, there are several time-consuming steps that are executed by default. - -1. Launch an LXD container - download or update the cloud image for the series of charm being deployed -2. Run *apt-get update && apt-get upgrade* -3. Provision the machine with the Juju machine agent -4. Install charm (execute hooks, i.e., install, start) - -### Build a custom cloud image - -Caveat: This is intended only for use in a development environment, to provide faster iteration between deploying VNFs and charms. - -The script below can be taken as-is We start with the base cloud image that LXD downloads from its [image server](https://us.images.linuxcontainers.org/), update it's installed software, and install the packages required by the reactive charm framework. - -1. Launch a container using the latest cloud image -2. Run *apt-get update* and *apt-get upgrade* -3. Install extra packages needed by the reactive framework and your charm(s) -4. Publish the container as an image, under the alias *juju/$series/amd64* - - -**Note**: It's highly recommended to place this script into a nightly or weekly cron, so that you have relatively current updates. - -``` -#!/bin/bash -# -# This script will create trusty, xenial and/or bionic lxd images that will be used by the -# lxd provider in juju 2.1+ It is for use with the lxd provider for local -# development and preinstalls a common set of packages. -# -# This is important, as between them, basenode and layer-basic install ~111 -# packages, before we even get to any packages installed by your charm. -# -# It also installs some helpful development tools, and pre-downloads some -# commonly used packages. -# -# This dramatically speeds up the install hooks for lxd deploys. On my slow -# laptop, average install hook time went from ~7min down to ~1 minute. -set -eux - -# The basic charm layer also installs all the things. 47 packages. -LAYER_BASIC="gcc build-essential python3-pip python3-setuptools python3-yaml" - -# the basic layer also installs virtualenv, but the name changed in xenial. -TRUSTY_PACKAGES="python-virtualenv" -XENIAL_PACKAGES="virtualenv" -BIONIC_PACKAGES="virtualenv" - -# Predownload common packages used by your charms in development -DOWNLOAD_PACKAGES= - -PACKAGES="$LAYER_BASIC $DOWNLOAD_PACKAGES" - -function cache() { - series=$1 - container=juju-${series}-base - alias=juju/$series/amd64 - - lxc delete $container -f || true - lxc launch ubuntu:$series $container - sleep 15 # wait for network - - lxc exec $container -- apt update -y - lxc exec $container -- apt upgrade -y - lxc exec $container -- apt install -y $PACKAGES $2 - lxc stop $container - - lxc image delete $alias || true - lxc publish $container --alias $alias description="$series juju dev image ($(date +%Y%m%d))" - - lxc delete $container -f || true -} - -# Uncomment the series you need pre-cached. By default, this will only -# cache the most recent series -- currently bionic. -# cache trusty "$TRUSTY_PACKAGES" -cache xenial "$XENIAL_PACKAGES" -# cache bionic "$BIONIC_PACKAGES" -``` - -### Disable OS upgrades - -Prevent Juju from running *apt-get update && apt-get upgrade* when starting a machine - -``` -juju model-config enable-os-refresh-update=false enable-os-upgrade=false -``` - -### Using a custom Apt repository - -You can configure Juju to use a local or regional Apt repository: - -``` -juju model-config apt-mirror=http://archive.ubuntu.com/ubuntu/ -``` - -### Using a proxy server - -Due to policy or network bandwidth, you may want to use a proxy server. Juju supports several types of proxy server, including: - -- http-proxy -- https-proxy -- apt-http-proxy -- apt-https-proxy - -``` -juju model-config apt-http-proxy=http://squid.internal:3128 apt-https-proxy=https://squid.internal:3128 -``` - -You can find a complete list of [model configuration](https://docs.jujucharms.com/2.4/en/models-config) keys in the [Juju Documentation](https://docs.jujucharms.com/2.4/en/). - -## Debugging - -[Debugging Charm Hooks](https://docs.jujucharms.com/2.4/en/developer-debugging) is a good place to start to familiarize yourself with the process and available ways of debugging a charm. - -### Debug Logs - -It's useful to watch the debug-logs while deploying a charm, to confirm what hooks are being run and to catch any exceptions that are raised. By default, it will tail the log for all charms: - -``` -$ juju debug-log -unit-charmnative-vnf-a-5: 18:12:11 INFO unit.charmnative-vnf-a/5.juju-log Reactive main running for hook start -unit-charmnative-vnf-a-5: 18:12:13 INFO unit.charmnative-vnf-a/5.juju-log Reactive main running for hook test -unit-charmnative-vnf-a-5: 18:12:13 INFO unit.charmnative-vnf-a/5.juju-log Invoking reactive handler: reactive/native-ci.py:21:test -unit-charmnative-vnf-a-5: 18:12:13 INFO unit.charmnative-vnf-a/5.juju-log Reactive main running for hook test -unit-charmnative-vnf-a-5: 18:12:13 INFO unit.charmnative-vnf-a/5.juju-log Invoking reactive handler: reactive/native-ci.py:21:test -unit-charmnative-vnf-a-5: 18:12:14 INFO unit.charmnative-vnf-a/5.juju-log Reactive main running for hook testint -unit-charmnative-vnf-a-5: 18:12:14 INFO unit.charmnative-vnf-a/5.juju-log Invoking reactive handler: reactive/native-ci.py:33:testint -unit-charmnative-vnf-a-5: 18:13:17 WARNING juju.worker.uniter.operation we should run a leader-deposed hook here, but we can't yet -unit-charmnative-vnf-a-5: 18:13:18 INFO unit.charmnative-vnf-a/5.juju-log Reactive main running for hook leader-settings-changed -unit-charmnative-vnf-a-5: 18:13:18 INFO unit.charmnative-vnf-a/5.juju-log Reactive main running for hook stop -``` - -### Interactive Debugging - -One of the more useful, advanced tools we have is the *juju debug-hook* command, which lets us interact with the charm in a tmux session inside the container. This allows us to edit code and re-run it, use pdb, and inspect configuration and state. Please refer to the [Developer Debugging](https://docs.jujucharms.com/2.4/en/developer-debugging) docs for more information about how to do this. diff --git a/assets/350px-Ref_vnf_11.png b/assets/350px-Ref_vnf_11.png deleted file mode 100644 index 95710b8c25d5ff04bf4268759b1db067483a2f9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23190 zcmd7430O{T-!FU-MQI=@NeM;sNOKV?Nl_F@gJv|RQ4=yJG)WrBC8RkGnx)dLLee}- zvouP5zw>_HcklPz$A0&>zvI~7cYODA-1kGRYh7!t^F06m-*m29$F$WM={e~s6bj>E zjf1)r$_iur`(_O-eiG(XzXt!e%6k9N{S-=CFvFtRYW#hLi>|ur%6-K?W%$cBa}C|2 z6p9x=h2npWLRr9%{C`j=m&7TQpQaRw{38m5-SNr0v^b*X-H1tx;jc294b- zw_mxv{pG6p+x`1*`)_}LU_HalmGoDx_-|Z)&^CBYE>Yy+XLsKWT6O2DFp>@tJw_eaXG2@{c9!@?1o#m#tEjf)4A$`O^ax~8)tI2?y|yZaMRmN{fiIMp zRp(bW`|})GzWu!Ad4fG6u>0fJit#dTFneoT!Re#ME^!({2)`@d*P!`v%qq%I6efZV>n|}^7nyyLZx=H!I z@^JCRE$Q*+iz>zwQ_=~%e~Y~fnw+Xp>g`f3b7SI0aDaq zCB213a|*lZs!z;wv~xTxCl@;7sr9jRZ&t|DnC(j+(ZnMkWAC6AeB8TlrQ-&VXVNvg zyI;NK7GvDM+!#C4>|YUZt60)hY+_~CnvqrOs0E*fhlA*}+fzFd_n8fO{fW5#8{bk( z(b~87zM*{W+BLgn%v?uporE|eHDIQ~w)wy( z%81ZtrS?;c&=S^SE6txdewPZuDn&+5wqksy#RAr~_+UCH{-CZE(qzi96J)I0X3EV+ z_nv;Ncwvv<9MwB1Q^q*kbz!(pljNcpuYP=7^4i4}dH12zE1Zm3cMQkU3-_dP)I}}ljbo^V!$H(*9-Y(1)hG7va($bc_+>c`7s2T_*aMC z6=Xqb|f8KF>+xl8yO%d$MX=5^n{`kYVr8IENc+KHxe*v!c^^Bk_+pBW>gy`KQjTVKI_?8Ko%hcpGKTKplJ+S>Z& z<#&&}xw*amz00es(?e86vrgWd?$N6JHJ`)pJ!I)IV_o%R&6+jGyl2NwvgNvsKK5Fg zA7tZu`=z_l;+dr6>!;^tLO*|Bd^M+$=8^Nr-)o^BUfhm4d0$GOEoKf&b#XA)2DCF=7o>8X0vYDawjB2 zFR*&FJul+(=MynLGpCI``@^DU?v<4uN@>n;?$_L~VME_f3)QxJw2YjeGHvy;?Axmv zsYiqs*<1%|He1y`4%ANAAun&JYH(snNb~W&n`c~HT+Bb*TraDjAZ6bs%dZnt^GYw_ zV_hA;oLuC1;h%f^uhKeo6|ac#9M~-HJ|-N*FUUuw<+axvtc#A6FsC)IxM%tP+S-~( zDLNf7v0qbDhcz|d+lWuJxztNI^&A`-9i^6#g6$WfozPpkEB3i|wEUY>X;fF3a$}tCeJD=|sVO$PRS~K3s z6QuvzUG>T=kJIS)J-T{&lT%Zr-@m_WTdb+ka&~rpsY|6dObYMovv8H)8WR&^<1lBs ziH+^S!-rQQA|gDMa&vQc?%EY0=V5MVcQj1!r2PdOU1Q^z`AJMCSvk4xA3shFc!udd zfAQjBWaR0Aw7q-xu3EJ!u4zb|W1Ugq<;W{nmiPJryQ;-M`0(K%7Z;bK zi;Iv<(aV=NpFiKJsHo`Z=(tTmA?nQ=;memVS7j#X-VP1j_~y-FPPXf!-GKlqpZYnqT zHSF4Q(rVK4+(vbSIQQscElKM{$zOW?T0iOWYrTYf^o)!r-(G0eAN~GTZEGMe*Y~o5+gpoq%U&(EO`F1_mYZ}`UcERP z_1eUD{*VCm^S3nflhZ%He93X@J+XiP{zyGX@0pQT<-t5DSns-;uddQDzn++IJegs2 zbjt0^D?RnvC>fphd_9o{-$lFyzA+AQ_r z{qzq#y)R??>t83eKl{?)-g%rq{`lJCk&BC$zq~muwR-o^&j@24u4UynwYIJ(^!YP4l2MN`V^Q}+?%TI-am~Z? ze`h;w+u!Z^yD)t~AW)Ycm8Y$}eTBx+qkPKBF%stGC^A-K0nN#0|Ae=8{rI6_YPv1a zAZ4IG!sG?+*wQOaWpRSW)6;Vm9bJ^kR3HQUBNabo)QJSF$$^-uT$jO#iHUszfok#H zC{so`jsXvLsBhrrw(m%OyyrrP{vSLlDXdZ7`F?h+oYb_m64Tw@Dix(Sn5BFdJ(7)b zRh^wBU%h%YFvzZ|$+-Mb@Z{@HY3AyC?b|+Lz-w2mbVOmm61;Wm*8FnNMYH`8qG!M5 zxr<$BPPXhS4v;xpbmIoy@#DwYmY&N*YCY287Zw)myku{0fAG+u?w%f1S6Au7hYv3< zPSul@g=>s&u=!*o{W1@3D-7Z`1J=n>KBdcIbF=^X5&Jg0m4~CTap@ zgRy>f1|~jb1GQ1rA}$zLP8s_e^I)ZNsd~j7)}pr+{NC()+*RLXBmLpShx_5-+vs-*>pHH7At4U$e5rzkqQR9GJsI`Ny>FY1cZi6L zW@VjBXfktfaA0axNldrP4a4j`|M_JJ=KOA9VQC!|*B>kf$ws{V{N+XlCpEi!dku_mCW@p*sbYhk7Zjrg??@#f}U|8GXeK=k%XwBNS-4#53 z&vSCV8CiYHux5^yza+VAQN%5L@7}$2n&~4W z5)ut76u{)n$&tk=j}63qt<8D&Zo}5CwV2>H@7$5n=}fm|SXx?QGwx1A zJ^!3y5-aC2a6c^Ur0pM!KUUUKquc3Ir%Wv^FEv@B9`?PF;-y~qevpu`3ll}yr0~hL zYpY%xq|~7^eypi^ek4Ma?fRkCEW2Cx?hQ=Ut0cIOcd*gkK`%kg_>FE5t$m}x=DB_Q zyUQ~z*0>l+%v?z+DWTDzAy;|rSmjy_?9~#}ZAwbfya%pN)G3UIuH_0+D@DDiefl!= z99o~{dFuT9eE$4E)PP||SQs0R&+qkityu+0dvD*pOV;bf&cf(VpN=&)Hh#->*##)G zTSl|kLb7{ks1iMzL(*c+@Ykf?v7^Jextz^KInQoao*r&aFfQ=A_&xI$7DLPq^?Ub2Lr>VAZLyGC&&GBr zQ9tRCj03mGnXEUdTo|S@mwF}jtF(;bky<}o-)XiQty$Yar*-NS$J_H?&f)4ZFErn4 z&vS1|F)50==VI6Rd~Jc(bPq6IA2q^QP-d@zKp@7p{oSQM)z7;LVD%jP6r&HwW$XJZ(`{Rd=^1_cDxb(7ckuz)P z>0eJU3@*6H%gRnP9uYfR6z35*YHnt>A5U_rv1AYL*lOM0zgwO}N24Zn7YES1G0J_2 zaW(%)287Hz9bzmD%rST zA;GvaXm~zR{?gA?#Z_TK^Qb*&34+ZTOYvC#>oMsgOneU;8h%G@YQ0qOS?{#SeEGa& zsFub=#{qe_5e+9N2`Q_ZI9xm1(#BQ<11C8s9K(fVSk?B-5614| z#I!1%x!@W4M=s(jJ8$;(9qSS zDDBx3hB3<^7xL>@j&nafDo+;{6i1MnXA^_Kp2gOmUz3ht)wSe%N?|!S7ZCP_O`<5+HMPHP&va){v z{Bnm(s&vb0`U`1eV`CeE8a!){M(wrymTFcLqqIduMP*8n9RKz#Zg$<4y?24H?yBto z9$WrXv|L(N7I^5+riN6r152|-%adQvIGBlZ>=qRr`1oLl;`C=dY1_tYIH3E-Zue^& z{HB`2rS}KYu4G8ij;?xnJl;NcB236YLq})V?%gljikIKNSMBNTot&8wWle47iHMFq z>gbs2`Cb{=<`1#vQ2~fteywZ4F4(*zax)I%R zyMjVqjd{|WH*1)f%CR`x+Khnq)~;J8JZt&Oz$=nn)Tp?&HtGH2U(_QJ$28ZoupE2g z9u*s_qpG^n*w}cW8|~hcG)wT4bJo_g3E9-RIDgdo+qZAm)L$yFH%ce1LCMG7!?{B-%EVulnUH$5nhx7&Q0-1`+L(T`OxWe`8*N?Pj>v-k6UjY_XR#s-K z%gD+Sbs6}Y#637Z?$usz<2qtdyGfVT6Ajb zm@LccP2g=>fB-ff`Ev5nW62kfpbEGQ)I2?#=cX04H>qtAEt@=T@LZoiGko&$k1@f{ zNk@MAn7q;NL7;R%PAdTYBWc?Wpuu}}{!BNUV7gm@QFwTIwug<%`Yy_j=T9+BPELY8 zg*<+2XjN#OGMJRz(evr)fq#Q1;liiiKawzixq)ThaOy(3RN$(V92HE1rhHGA{DK0B zNG&j*4eabUs8qgx;85ec!r-xsN*)MD)& zn))Q)ILx*ozh{Ysho|0u1r3LSn=p{F_3s}I7r&(jJbSi1#&^LMMf+o`Ls9LY@uGS( zf|>#yKR>@0CdVfqW&}X|WFa4zejtQ2)%V zt#7=2JAE`;N=|MwJ9~s=fkl%3o!D5OUD`3v<5F25q~g+e7Skd)I5}^lM1T!Q+qZGB zv$Kcl-rcJ3HUHwVV=PIAZ+jpB;Cj(FtI#Vwe^u@pYEFsuR6=>XQ<#}hc4$px| zYe!et53Q|Hz>5Up*2SvmpugDXMni1Df#zn%XUxx`pPQNSs$Jdh_5y0atQa+Pe%wpe z1Z5B4g@AS}aojqoR{)iwCWTts+S-v6v?ZJ(zIphthDO)o{1l$hM(Re+pzE2L(zoy2 z0YEBBvcpHg79z8Ux8agIN2tggbf9w{150zr=5)tR`pV^AKx_js& zU~@y?-wHwXcuu9RXJ@Z~GVrmsmJf&lbLyOf0~sz-Wgsk=etmN~CpQ;N?mfH7<^9IS z+^9f3%{$avJbAf~YBMoHjj@w_+EgWXm^|XE!XhG*6BEUt%5AN#&d%>^Yikv0Wwvj> zqR!(JdN_n%!h7Z-7%<_)a&mGu(wz9fW;y4b_{&{xCC)8dwtz5rbO*AhqMo}9)?xmI zdrl2ZLINDDx7*5LO zkhWpL)%sWof&pS6a_fdP3%yJ;#(PK{oir+&V zlRW=nv}LVV{v!+^>uqXcjxVtvp6>7OPdiseum9%M zWbybcNOQVv6aV7hzx@Zcl?aVxK_LZJRvYgq82a?Il*TjSI%;y7-?A?no#5F4$PG`F zeI64@goS0Ic*Y}0Z3hrB|DHW3?Z50S5n8eX2PANlx$gor(%vYC!l!x(+8$nB`Z+cD za9Vb@bz6?pz*A@DXXqbT3#GSMcl8}zX8#BtVh_$$@Y3+DU~fh6AgZRIqkY(2@>(sMKKKdR=5_FKU?|*xU(#p&xBqRg{#CRZlpX%af-QIt5 z-u@@X7nbFJwA22xTlb$mvVRW!uZ+F_e(3)}5AY`4b>Nb@?2D~gL3lz_pY?Q5YILn) zN=!}XfA!1C%6`hQ)`0|bI_=zQGyvD(uZ%i6_0GePLW!odxGChR2`P}~1?TM0i zI5duM$bMW~w@&{4y;E5DE*7Vmt?gR>N((||fyXEy+P={6L{JfTiHqNV@`MZ1s{~l7 zW-3gVh)ItgJ&Llws(brnqW1uwt1^^Cm_*4>W1d&5zR#4SFuJl<<}TP;4f z-)(WOH(2YDcmVVTh}s&UDrm9!3qKRr@hEel>i}oWcU@(kBP!&#R9?;?TIxn%&Vy=d z8&Dx39+C>_=;XvJF3v*TNPBe!;K3Q%6o`qS)xu}8?m`pOgQzSyH9Ou}pEq7u{pNHA z8HDO}6JSY9j2RTwWrBa#E-8l&#Z4lH_%d3E*$=wH zy4aZS?6v#e)!ki!^H#5Jf`L+5T^*06IM5Mw^(qax6tO|DD0+K)^#&v^e0@^_0)@hT z+{oyz?$4|%*{P{4?(Xi&OLOKwKfgMlsY&mUKS>J)zD-c@HW_Kj$lbel#{m%wpGu`9 z>0e;dLQA1cxfK3xJd!{0o&n&E;*v7251XR~4Xp%xxq9_DM$^&VJpmf{zzmTZTUsJ9 z_6-Hz?wBXF)$CZ-KsTr<8ix-*&B@{L#|-1wdQ^-#^P@S1$HZqkEPwqnWC^zA$LJ1* z+4i+qxf+_9k~(6dqE@BX8LwTxu1ge}Vz86OL<2D}!j?iG@5oDhe0-Degc_61$N)Yc z*NhybK7Z~w(Y2q*2j6=$!J5m*sB!*BA}=(tZrC6Tfl)$2 z0*ov&AxeuMN~V^L&F)U$KOz9h1D_>la`^IjAn+TcWYDSB?# z@bDQcW3+U58GZfz52B)u96#Q$^#U^>78#$VzklT1$DVjDU`?y(>TbZOim?9D6hJ8k zkLU&z7Hj@9`|H;;)O^eHjp*{3woSB{9&3#R_T0R2a%!L!I=wkoz3X_#)+GIEvUPCwFwF~md%;PG30fM?M= zG$gP>NXeMD>NWf?!fep^ck=O>NprTKbwY#r48`F6{gJj@Df#HSw(38l*`2b^eQSc1 zW;h_Y^mDU9&)OAxS(pFd@<$tKXUOYBJO%z-!@v*^;?VE)2%zQnXe*Jh8jAe<-j|kE zCkFwOoi-|y_*_)*_by6sU1LrhYsuT4N4cpb}mJa`^_eP1@Bq*L~4D0dHgDbut;xD zGLK*?XJXbgcC-hrSWwp#0C0@lb79k$L<8%FXNT@?mb#8VO4)phldL`oqZNYc$sA?s zMhwZfZ>OLFmKA;GhE(o4)EF47yl@kppWHL?JX~E}1FJD<(L%Lhn9a?!It+bF+X0RC z1sD?n(csdaA%}wvZvG+@8*Ueo$#5fw;u}7J*hF2wgyx^)F}WSU+X|Y-?~xW(clTLm z%j+ubtZAunCPlu|cHcuWQHaMVYP4(%;HoN61~yO5gig4Fyg{e0IDYir2NdZS8!8PQ^=!798kz@nv=KgL2-6% zhjY{0VjbHLj*(qJlqM(%leIFPrs5p1cL9piFEoo151Uxa#B-0^e{~MJ!?;cGH;@sW z4!(ry`SY(mg{NxCW5?2a0AVDUTL}d@#W5GCtHW>EhcI_^7&R*^eiZwzNb49gNQ%GI z@{c?(7aEInF1?UaaNRg%*Y@qt+7?q&#bf-IJYS!9buMP+1FH_Ki9@7^r|$L?YW?=@ zk-E51N-0cpqRe5%=y$uwV5Bg6FdNNcHnFf21KA$d(Mdq12l6)d8sfXhtz`J(36_{y z@}WO}{z!RDbZJ(v^izY>VqN#7q_Z;?&@?;>-{Or)3T_WMx#~7%At+kald^$Vb*??q4aB#46C>}tM_A$*#;xnHAB1jZ7sNjJ56{g~j-S1Zq)I^qUamX(L z{h6Ge4x?oad&rr>l0EcqP6JV%xRt!RdU~!v;zC_TYnQb9F0H7fG~XAZBhDGrXiBc6 z2ogjZPy?)UTX2ZLYFzF5EnBK#ddd1MWJ*8A@Z=~!d=LO&$;p{38H%=fOCkyP?-xV8 zvVV8+Uo`6+G$pVFb8!yt9G^E0Ht-fd*hoKXu<1K01_o2hyrUS+@eAj&0gR)+1`|uLgA9aog{XeqvdB``-ZHAOHwr z-@JUe8_!S3$O=LT^qro3H&-BT) zXL->T$5wfJdm~Oze}l*OBc{L_W@bXn0W8vd{C6zJZ8@PChpu>U%pZ zaZF82m?GSQ4tJ9@aw4~ZKSG5d`2d^NtfY~HnDt{s<$|)=gA%cH*!aYW52zg9P{`3= z@@KwZfGRVZY^SHK&19Gax_(2mhy^MX>M*GTU?&ZTA)xWRM;~vnkw!S+V;x)eq4W7Y z$qMMucnX)%tp{ug?Q{c&yCm$hZ3AO5;I`t9a}X)gj*(EhFrCYh&!~d_ zU`a+8Bzmgkx6zGrra85k3gmynuzA2-y5+6vlGK@9A% zyzx)N)4=k$!%~Iu`~y%YDey!3fTT$!L{WuC$FcV!2RI&`DS+VR#mS22&!1C1!7T!% zIs!$LqU80P`0gC*uG80NHVwHF0Sclg6OXd6f;M>)MVK{+K<$u{V#VA-``U-K;_K@R zcJ%}p;2}IB2*%L-EK9De&Y%8zhN%6gGpttdHPgdPXNvV(lB1zr2L`6Rji3LziQnHa z^fM-I#gB<8g_^(vb3jf+NGASW&xc!3hgTv5a`WxmOVrj^4K`qA54Q3nl{)4pGb6f( zlMy}793Tt|&J|0BHiRq!UD ztPc#Q6qT2jUIqKa=T$*Xa`D(nQ+*%EfDU}djpTTlWuV70YijQ=bQ|R)5fp@mb^^^q zTI}lUyM`bHP7n34A;-yl>X8ZbWJnyaSqTG&!bn_$foH9BeGlHzJCv2dmbkUJT#x33ey`555^y4`cp65N4vWALH(x&fP}F4Wtvwo zWjS=#L439a0->M-VAZanZiGgB>eMO6rNw#4U@4AuI3<>809Y)tXu_=Dvh|kcgr)-L zr24uZ&lyzFXP*=2sIk7&-`6*Rw82!-^56PJ4}2#UL+L}lBi{;r6d=khA_urP#+r%0~%I>1tt^L35>)!tj9=r8#+qU8zE(fM+-o7{`>U&m)A8> zGQkir9$l4z_yDvt^>za!{?nOQ|Y9YRv1ppA$STHMft{O6zm3V`gZ8QLA5+p$D_k@L;TL3i#j z!1TMfx^LQeJo=nuWR1H?2ZAbRvM!o|oWK_hLsO`_2a% zp)z@Rc(fU$lvGvG1H8hj-50`t^ySIKO`y-#;B3hB7>OSB*c0#@YSR=7@rKQt zD^Z(WIs?ae5DJlW?$aQ41bP;DHg&`TsBbJO_6MmhC{Pio8R5-s@XdC?Q*N9G1To5U zW85uwGdv{3rP|9LZV{$28}|pPNG%Hs3&;6imQy9Ut&E+B{GcX%04=SotqqG7L1?>x z7hVQ3WXB7_xQ=jx^VK)??*(aW7VTQDZReAbkgm{9hlk;2nf23wVi%(?f!!Y zC1A8D$L)4O+aR6whUh3i^;=#Vh;myxzHgtuoa@uR7|cC4_mOLaR(|kd{oK&d0JIq{ zAj2i+e2q9_TesR3jxN@c>=8}2r20Ls{VB~&Xw)t1v6K{zFoFkxg}>!E?Ew9ufHto{ z9KdfxD-BRcdA^U8uy`<6i(QbzssJlbqJin-@XgVv_yvH1o36M5*8}F!Xh*w9%c{@MZH|#+k@F-i1J!hM5H1gp|jd%$Ws)lqp9gS2E{_W{T+HOmLAXxqB6D zLh&ZfgcbM?4n8BKN|Ie_L)u2f0EGou6n;92v@|CpsA5@1M+}-P z06B^C;8B3^F~JuE(IwTFpbbb{{ovzNkl81)PAjP!Nwk@k7Ws3}>Q7i(>WN=Err784 zTzhztEx7@Pgf5EF=oudNZVe7X77pE&f?K-8C?&~DR1^5( z{a_t{8ZJm^lM;h?^c;YWO=qDJaL7)43<^OiT+z6`jXh{3X*Lbpkw*4v8m<1vYGi}G zpDX(geSMY*5+#lxc}j%*~1Vbh^k_ z36PhH;%upHn6nwrklVBGf#zUdPEOlz!yLpT3WpXB95}H2Yglmi?k*&px9!+*6?I_q zTBm<2a)1PlXxT6T>b=Jc)QycheExc2XbA4ZoTj4rBD!eemQL<)lbD#;3#~|1l4O7t zo0gU~(oyiIkf94a{@>tW6_6Vo3kys!3|N(RILP~K3{=4hM8~AyMuv-?t-^zVR99MG z4~aCpRi1H9-=6EVW5NwjOH0cKp`jmObZHzp()&Q2yBnxR?7@Qv=`MU8fjRDP5qkqL zNW0h~Nv;^SH0D|o5Wxf)@ebM)F=N(qaS1D&1e^7a zEhpk;k{vCr~Xh=vY zNCi}$h^@N`+!=&*oWHa%3@55q(GIh0a?#W<> z1L(vR!8}C3Bl;c! z1s>Qj=gM*v4PrZAw6l9D5_8>|Q4v(T)3C0PRmxeQ_oaF-70h+vq|KAb8`d;*!L{E zYRp;fefubQ7VEfV@56S!d-LWR1T4mjmX(p{A%u>|kwCJ}Gb5)l@(7=j@V7bECj`?l zWOA`BhmAzCzzOj{`m-*;Wg&(on&^~tE^RWQQP)(iMLKF`VU&?rmHj z5dj$(dNJ{ksv(9@su>MR1Jbrk{*Zj9?3`dY9{{?8fWnC9iIcOiv6Z2v9Dx;;+trSE z3`uW)irbHUMrYj~l5Y&&a^WSwxmDS1HqdjL3EXJU=xESCds9%J1lLs}Jn`VklNy3{ z6g^VqMl#aV$!bNk>hu!S;=5dO522tUWxBoh1~GqR2@WDF0prmY;byrjfgt+Cf|KY_KvoNpyYujNn&z8 zN1h+?9{6v>;L#KS3Qo<=9>kiXLO>s2se^e^TN?!Xi|E8)EJBP;kd!1Z&pDzSMWWUs zt&@G0dp$XCME|ud)%2RLB$sCpL4gkFIb{{9OWX;P|H9RW>Ou}_j8|udI(Q{JTLw4| zW37Z+k#ZT(A{sN1*#Y#1I*U{=W=~Z7VqgjUde0z6nII|}RM|;HlAU1B!8p93OVBX% zJ>U=vsB}-{T&|P;%)ro+W=@AWh*&WTH@ERnq&+CdZSUJ4UU)_W8BPD{=ZJMu816jG zwg5ETtbAD(V!AnQk<2@+m5|WTYuX715}G7X{Dp;uPo-O|^(u&oi`#}ShH3H?OOmW3 zV0g)MAJ$Odcn@_HC}24NH^UsieC5g&5~3gKv;6F1`Y2S95k?c3`Hf^5|c~NC%MXgC>hdv}zxG0r6NF5M4Bd$<29SfdBnMmj{GD#zjNK3T5c7$8QD{CW$4-#NLHr%Q zOKEFq^+9VgG2)li}v(rdU{7Ize?a_8#4XovyA1S-sc_u?SIxYz07VB`FCs;Jbl= zt1$s9P}#uwo`#--j)zS`>7e>nHIMeA%Og1)t`p2M>onoD(zp0&%YfEAu86LiaqK6`d zn&5O1i&}etxzZaSUSn-~m8UD*>gh1ZcP*szSCCquQi9 zbSjhCJ=JBmR%?avDz|WL?@b)~-*>d@$&X5OS;jFta(is_xcZRh+V{qXB|Ezk8v7M! zdi~E8Z<1ZHNXM}z{{-h4Yk;un%G4qIf-a&0Ar0a?*G)&{RrEhd3>HvR-<-+5C!qHN zIcOqMLo-5(60Qa*$B1O?MTgu?J(X?06#$Y1e-NLA3o(Z&xR#NzACpt-iR=UP7X*;O zkGM$;0r4q8R6)#=(6vt3)`gA;a4>+KLT;iN?c|RtydOH}`n{PimI@Se+vqJgY>881 z(dDdaF4`u)!a&nIVLD)WWotl1z%Ku}#%E|+7R#swt%r(*x3PL;OHa&p z)UrQ8o5Jg z6G5=FD|e~i{G;f>>VIILLNWczm8-(TH+~P-o?5}VvQ^VNOG%UG&z}2d3{~e|WL`U# zo%uUXXmseYW^Au@7w3IL!|>gLjDI@=M*MmMg{Y3s&d;#h2rNMN?fH}N@9rR&iserB z1483OkNeR`Wx&uF<$J96$9*Ef_7P!30-n|aZ6YWB3_s;k@qL1s^a~vCI21-Sm|NHi z3m+Ss!a`e_AX;Pmpr`fc4#pfv6j{z9yb^_fyQ1O~ROI=-HBPY+ob;LpCiiSxvqmI3 zYoiC#OZv|gF3qbEjUA4Z2?0~#Xe)ySuP2(Np4zrU-QK2`Y{gCT+1*tS?ce}1ClE>H z?{8Kha3f?~kT0D|hhS3C-o6!q8_E8a{>YLdsXUJ@wR6B;HT6g;t0Suc>}h%ZT9R?W zV~AY@8<8!P_Ghpfk;2%)%Nu|ncMlBk$8wPcvijSKyR?tPW=_>ph676Wg*4huQkzm{ zKZ}LZUg%~VmN@2opUL#((DE$Zb;|M3&+e=OauaSkXD~$w6F@zo!rp<=;qMR znV@!)Zl_26ap#Fdg{~Es>7Iy0f4%y!VXeY$ITkmcd9~2HUO6W!<&RP=uXPH%>h{$) zOx6${;ldmnHAz4bwgfZ87*MEkRU11mb%DHwY-_Fd4#@&+HFKL7yj_-rQopSL3+NoovNBY^C$*KOuTpU z9cXH_-_Ye=&}M387JvqU0Ubn^!se|Zk?FAiqo&$*tSu62hrBm{c(<4d^T=?Lk`k@p z{sI>WOv{Q*wV;XWkm`z-7KA`)iJXGkdINL;LARs8t)~$N;}2Pzq<;j&Zq2%N7GP{z zF^Z7@f}lAhqNphVO$z&hiyIn_EALlrt0-Ye4Sd*bp0HbPZZ+SY_79Ee?}K*9b3L`N z`IcC$y5tw_?q@r(X+>?oeriA>jq+|EE~?THwODGOj_C>83Hf7^=bniaLztZ#N{EHK zToixlC>k1YQLV~wQc}{|HEYC!`Jto?V1uwZEPpUd76kOLhffvP2wp?C4XXzQbpj1l z(y?nFMhScXCIBlGD3T|9emDeBPEkIZ3C;(!IaYox3ZkOi2>aq#NLC`Oiv$>M+vX4N z0c#!B6PaTJV%Sn60}bsEj8HhEn6RLD!m%&@+|_;Es2etC-F_s={%~a_(|mFNmO_r# z$DLD0B>Cdmsw_D8;;u|0OR7RW6R7j_)Q>vfOnQ&53u=}Y+@miIYf&< z_@K28Oupq0xrKdv;JXObK7({h;5LuRv17&k)e(n}9Ko*I0Bl0z1BKNK;lpRMM)yUsD$T0ncf(_y^R@v!O6~@K07|m0}~fgAB1qPGk;wuxfv&Hr2XE1y1RAd;CP~f-qV)*auDCqcW z8b?TVnr|ICjjNab^GHwgXb5sVO&mp4RH z&?>8_NCb&|jfuAhz6IOn&99XIj7V9EbJ)L&!O#h*tE<1o<|gMUl%*HIHLp>0UWDrY zgx`AtF_|jxm>@2>^!I;L0X9xjHQAunQHkDdDb49HJWV!HSCy3PSNi+A=_dkS$06Ap zU|Z;U?B3Q)X%?b}R@Ky;AU}kiY5+Me-3!jhXJ~3)kk)ys9i#XPUxxl(RZ*cHc;iMQ zR_bfSGL5Fk+RxNRN?|KcFB-N!wpji|T&;f~>1>`pwk^EER1u(taw>UcHV(N~ef_F0 zVw98mep~K(#&3YV630Nm@m>w>D%6&vPh=-`3bIj;PeLRL z1#3W2)9aa0mI2<=V{_fcqq$V94NYVZLj7Uk;rcJqFe6`Ji+CJfB67mi)HIOi_KjND z?_W@c4TtFL0sY9y&tq!HoUMmBMP94f|?9Rxqw9ri{T6zcQ{op*3Amo)e4hkL#7zmPvWBP=w`!w_rA%tY7p$rM)p?>^$ z3`Ij1ZefZmw*QQsgqwc8Bj3~S)miMrPr_GxMhL^i>Rp4)2`KS;K%|0veB_NDeoIq4 zY#bafQQ)3owY(--aNur^^&mzVc`34d>Mir?o&EQr8!MHrz?!MT$ z{MUr4A{K?+(Rw;cWmq&weZO4XQr{Vi`VW!7Oj)AO>y`y-B}qdA;7qwjYpWww2=aRl zbky?eB~V&~msFwuK$R5IQS9cCEvLBycv67v;l4O$*NOcb;C6Wm*Yu*uYA7VQRV!*H;7{XCl zpp{1Yj+ZV`p$%i#VAPn9Qv!2x!8^OJ2mbtIJjAJA*jOj9oIZAIS4{EOteyr-xT81} z@1jT$UiM}1WLz+}9bfmed!a0@;irajAsxeoGkDjBSCi$A?b}I`71q^j={UqiNUR8S zegv-)!cb6<_aJd##0doThNUC5t_23Jhvb72sg4;}yXPCS&*svcL&y&UndwCil1 z_)P&FQS#b;`Rk#GL;mK&!!{B*jfaCb?qJ(e@I+2p@{&8zCy_8lZcYvY#?i;pE09>A z!3#*5Fom5jbz^9ViGkPv1kE7N1+;jgSmVH4TlJ?%`M{FUMO~1S7)Yjds0_5`)}WN{BcPMBIpfM0*)1&W!devKX5LE=jiBt*m zMGxQ}<3*r`2i{8Hbm>yT(A#J~yv1c^ti2i`5rI;gap#GjJl_pc8m>^2Ecg39Elcvf zKG4?}y11B;R{HfT{Y6)1%ZW`2vJbXbn@2Nh&V89^i44%n;F8kgit238?l)B@uHRLTM+XE*ic?c48cf0UP%NuY$n?X3eP7O?e*xGK~0)Mq+8 zi(hg>Ox?#yu0rgR#;=WSgY40kpAA2=a!2#6EgA;{I_Vd zQWWMC$kvB5Uk^n`M-zvD6mUt&^!HLN$$ucGMeeoZgo(m7V=VM@GfBmxZ0e^NAB92+ zc^zTgDCXp|)_6$_@tpv0YUsW#iNbFuL6PiE-#gja+4EgpwOP4X+GHyp0$xoRBTX@@ zBIItdvn~Ju2cVffe#duHJ%*?e_MX?H?{^i1+}130$19b7K8%WLRe+y;2>U^YApK!8 z-BYqpM)BBhamba{P~bn5m63hQm_ryIMx0DUkG34HPH&qm(Si+@j|8)?+SaB8yep<+H+>n9j=Ug)cNTjW0Q__v3Un99ens1MQeawkuG0Gh1TNJdcclmOnfacwRH%?B$FE$jqmzKk*d2?*P~OZ=dg#M!c4W5)mg>v%uR%m4B1 zvHu9^B#+knuHcKfa{>fBd4`n|~e~C3f@U+(;yyiHmrfFh$4p z&?#4Q2Rl1Udsm8@?M2INE)JKR%`N4(*|@qoy2y)(Ik?z~TDrQ}iaI!3i@Doguywq2 zPR!Qc!qP+3(Z*4Xd`4c^(#pim-pWKmLe$aTdeUcs2B+pDr?xP2wUjq^w#5HYB*i86 zibzO^NXnj&kdYUcke8Mf!hglZw+3=b{HG7tIat_QdH&ZQxcKc^5I&$zzQM)8%GKS> z*^+YD&dl2KsF}5``GswJMP)=~L?pzw;X9>8#HB>U_ij5bvG<>w!aaeuh}x3F@h=W1 zx8@N0>={nUK~8zX=91kxdHI75=9kEGk(WP)LtQ8m3Cnq6|HCo=e5t&=jis%%jVnb? zYLDe3KHhQt{^m7btb9(PeFzvu8m_?6!R z3gyg>LM`c`Py%r%6q#L8wW1*W0mtC6)I-!6^52KLj7a#+1v_aCN4Vk&@(;r_WdH`i zo%iVB17)|LtK;roPgPFOHiw^7e?HRD)WnOzRQixB_EAZ+ob=Mi+}C&nw{E3Q(bEUF z5VaAKTvAk))KGr-;L7gK@iW)F0_EN-KYeWV|GH{(=t8^N1-DvGX)d zOwTV}sfBOuxCLDj3s5^x^ZZ=FB{As@ynlT2A20p;n*Vqya{Iq`{dbolBl*Vw{>`O- zZ;y<1jM&3{@-d9-RPbA4NFyo>4_><_-Ck0{n$~{kllM)T|6Xl7`527 zIK(5Eg-lbnHS%hD`FX~<7{C1J3e#ly{I9Z;sN{%p-TCSQeQaCt7QLe_wIw97_@S+hcU1?9 z#~lXC4P??2qE%42F(r3lTdc|s+Z=R$(Bm79tN&FdRF{;r;o{$+Tv5+r8YD)$jHhnM{~r> zTCDsidi_oVr&l`qRk4xXYQ^S<&%Jq6oQuacY4jRD`ljoT)>5rU%cDshoScjr{V{dExlL>*8n9Pkj!~O~UL50jQr*7((=|*C|J%p0 ztcuT`g{B(L#R`Az?7Sr+lEQ2Klihsa&h_iFt1f&@tgI%@&o3PR>0-0_BeQ=4-fi)F zR-|&PHX|qJyDG=u#nz*|VbmgW@V;qtSFT>Ia+t%D7u-BIUgH}3x~3~$_HO!o7H%jK}oOFm<@T4@F zTQcl=$9o}9^-{CTi;If{*EpXa?kq>9r1Z}BBpz&|<&pO)sN1E;(=2-@a}}EJu_6r( zP3_s~k!%9@t7s;*cX4sSO@kyQBeF&P(q?A#$eZ4l3>D3YWQ&1j8k~6R)~x_|2u`O3 z1>St!-d}?`3I_+=HbbFJPjzn>>x*xD)G0?n&zv^-v$1iLl{HL`gX4HuS=vViuf8X- zKT}_v`+_!2ljm}>p!+-Tquu_r$7Hp&wVmT8Me6&D87b`K1f|xaG5BPxg)mR>Zo#i# zGwwNaGca5TX%kE2weDMVnw_67)^EYdf5vdIiIGMukR0Z+`ctvOW_+1SO-2S!tHP$u zi1XLnoJ5($VCC=kp6Ab>FN|eiW;UAn^5$8kT~mFJMVV5D+zkPz1wUBW{mmKJYFH&B zRw5Uvsi~)@r|ldaYvwtQkGFc^a(`Cs>Z#dT<+bvF08Ch~SHZzIVI>XQ!-{;*d^AhV z9wZAmugrCuaKY$q@$<(?zM;Ud`_+sM+v1^*k8ncz$EapK_P#PpHB2n50xdpwcX#C0 z*9F}!si~=HmRmi7tq>HG-EU@ew7W|FMpD3a?b#wRXIf)+RPMV=(|4CIs^683Q&{Be zcU~UKYHSqU>EWAHu3TLiDalq$m0XHe(@~UR;PE~6np;`PT^cSZ*j*hpWiu_)R9T;> z8w?~8&cwsVk5-ad9jkhZjf0boLr9UiuwXV=?QA&+n@xr~gVVNl^98J!0*hv;LVtgM zwp_A6HY|@tR}9N8r&QQ=MIOr`<;#~Z@3xzb6sJ+#cgbaBWK@!2*lEURqnDSLA1pS0 z{P%v@DoleJ^3=}r-SNv*Ex8&c%4TMnKWkiVgGOCeetfj}o~iFEJkuVomXMwmcH@5b z_wUM{Ro&gPgO&D%JJTU-KPy;xvhO}g_&ZAEjzxx2(NR%OmvY`&>qaodH;KU-T_ zim5m$zNhyvFfgtQd&R*raX2q2$1rOIWMt5_wY9-A-<3;}K07@rQfH=5vvYCzGBPqU zA&{%vARI!*_63c;nnrx_;zc(P51l>opJkTql(w}G3=D3;0@1r_!8bNGHe;Uab-Ob= zfBsB2`eS*W>&PY3ci`rx|i@-@aAMPs+&1 zIN^Z%F`kP{O-=O{fjNZxjP;=gg!ab7;T_a#Tv(urc2_ktH16EJ3q>iet{ztxlB!eZ z;k5cQ+I?%@{&0KI;i%f9s$8d_eR!BmL_`GcxUsdBEp+bUi-gZ5|fht@yy5AgzAK9A9e_LXNixGPZDr`Z84aw!cP_1@w~(6 zQ(<8QU}NG?H5WNSYkPZSQd0Lv@s}&3MAX9F9g%d4BPFI)J~pPNrqIkE$;n;BCuQD8 zf7A8w5I8+O-4$N$>r?R9U3pbgQ}aB(()@GIue+8%OBtXvq1IktVBt(HEPMqF_}bf> z;rRR8T&HH9YCvG1`}8ZiIDY$EiF~$qg@x_Byb)jnRJ?xU#^QJlA3VzU zT#d+ug#||3NGE|CSy@@Ne>#~etE(Lr`e+6Q2HfVN)i!o^SX>3UOurd*yrbQHkj?Nk zy{}MT{K)?JaJc}PiOR}Ky)w-U`1mtTxYV^DNln_rZn$st@M$#o2<2&2;OIdo-ak50 zQ#XRkUcG*8fWWtAX|O*Qt`h7^yrb{jZ<3O(&-bRti;ALDb4Y+F0Ft?ij}sb0kq1B@ z>@P9xrKE_vDi*M3+dMj&2nz%t*B;Mh8XO#~H(u?`ZPxc;fagSp0d_)5a}fT)Mhnra zSFf_18c0KefQUpSC0P-*#l?|}iHk3eRdE3vRL)DNzkdCi-+uaBRaMn>emg%vk1*JK zcykuR`A?LUiD4+PGJ=AFok3#&m+B=ZgixeF5)$}q<-)0iZ0OxA2eTyr3Dn_H4Znn9 z=%Le}l-f?#4=6YTP5Du%&#YA*Dlc*pMW*XjG%&@IO!8}K>GhyRn#ax(Y=^V-sh+Mb z!=I(*Fo*08v(mFmj_`=QXuwHmsV&gi?Ok2z7#Lo`rco7`lVJ#|sNjPlp3lm7Z?Lm8 zxUh5RpeD?8V>W@)7%%z0>lcHf59q~}BQ*DFLK8qjmUaygHBi8ys|QeKlRb`Hc>`6n6JNMu&Urwz|(1NBAN|4&6W>PZ%KU zYQ$OOysSDsGqd`%A%ADyda_<j zJzE~k+M~6aJ9q9xL_~-JJ8)l2i-lIvVD6uaUR)R{p@T}jO-maDyN|MZ(hmd6Y^;(4 z8ylN%^%K`iBI^0FVV&D_bT45x`x|_Hp|r%|CI|D0wkUqrwd+6?Kgg#D=W5r)KsV=b z+t7ROHhlrQ#%vI)51EGS>F9TCDx2Z_WS6>pEU0NOZ*TL7+IxXGgxP%(AEG{KmRYp6 zw*IIgxqkgR^2R*iU%GL_dL4gv zYpVr~j*N)7bnEtQdk2T+o*qJ7U0p9PuZ_*kCTI~G8+K5pVS#~x-WTkl^PTk-Fq}Jg zZVH$pp!Y(5s#FkdD``mEDSw)GHM|?Q%~%{@qQ~~agEtgBD?8-mcO-)Vy z01rP>92a$=zLA;&OiSXo$0Q>oqu{fVg}cLI(14c$Jj+wJc+hCN`Ncz74UI}wqK}$K z7tI`0IPC|QSGRgaes{-neeGMdMc>%>0pU!=fkCK8{fqz<$hNOx=fn@!}~uY_av#Rj)rCbaArj zc?N~n{J^IwcBHH-$b%;MxTK4e+r8*rpN9Uk(1(n`q zK)%bZM^E#@7=Yp!Kdj5Jr|9aO}l|O&} zeC_W3Tv@5kC_bim{WD&x?kX@b;A61RZ&FilqjJ;==3zhI;p2<-J)WT^xFN6|L)DV@ zIJOc5jts*QFCQNtFirn-a}+?^w-k|Hzy**N4^y2^6B85s_wQpB8n$0dmrL%1UQ90FL=UQOw(9r$ znY36PgZ@tv{3Due&;?$P&PXgw`2_}IdDOixE#-Du8+&A9!%8Rr-UtZTLrF=bi#j+U z~%|iu+OFaoZErWw3elY&9>-UbulFtK-Z7wXchbE`=<>y8{kH^#gg7YPe9p+&f{Em` z_)gFL!ra{2Dv7o2|AZ}>`W6~ezfv_Nc#M_F#3Uq& z>gv)!fKCo~TE@qdrKr85hIKsOAZ;0XJLvOoFy`RU&{iv6F8k?+^WTymi-}=Ac<{h$ zyI%_AVjx1SV_3A_{e!+K$ZVeMO_l%<0egG^-9%bm9T*zWFbhd_tFtNc1L@+$Pf1t)>y zUZrHV#(ue^eK7G0c%(XRv$MS1OM-#jVps*j1OTc;QdAj*SDJeAQJ7!XRD3){p zneW*uAwUQ}4lkPzx(32^s1{0IJ-@bhVUSM~6><-nt>iDKN zMI>A)yZL7FrQzGu=xJLv*nObe;$KpE1fQN9p-au5f~HfH8OiVtdhw#za+npmli$0l zDh37yetv$10v#bGB_%tk7*Nc+4O3HkFprX{{X^OtB4>NPXHu}ofSUuH_I-YIb$4Z? z1)2a}RJRkt55aqR$YT>aXz>6onqj_RWD*}iTCiVJGtn3o9!|t#@m&wt0T-oCgVQ3j46sW;_8*pa}4I#;P2z3A(Y19B*LVmI^~0F>(T&i&TQa zKoG&LFb2^EvSwJgjTsgMMv-7MUVWL85?^n!9k36$91)#d($sQ6!~BS83hnLNfyR?w zExk3nqAsM0?Vh5|scM104!9gdHc)KVQ3M8h{s||NMmu`amL9Ch91m zZBzLk+b<2}J+`xB2L(C@;>2pAHXcZp0XM~B-$yK%#0^>!Dw0G~`feH6Xx51}& zqZuD01=b}B3K?j2{B~0)D7V{OT#+xSed3y%#gGXMNu+#IXLj_)J)c&3Jg>HNiu zNNqR-U@H_W{Qf5zD_v_)bZz9+Z$3wB^B&qFI0dU`<(hffnVHfWc|#6!p^~Yc-QCJS z8dYK#zy`T??OHahaPtfZf#~SyG)^wA=n<=YJ5L{<`f9HOhbqG=O-04G@NIEtPmjua z?N*q_!pE22f3>`1iaG$NP{qru7Ce%IBt3oKlP_PsFp54>3*28ms>x4CPcu*O&ay$+ z_nd09iYnLyRRgOEoPG0ib1HN8Ak2QMRjZ^qoq+{w0^Tb^@4iFHi^U_)eSGXCyg!9y z()-?f{N!~_2todZ&HK4JbqR1)f!IRKAQ&^nB_#)QvAUm|A0B*pq3mC&0*iDvaxu(9 zE+Jh}S@|JYY6zD!8S(Q&H8(f&du-FQXqDF*7BJ>ZkeuBQX@y9s06vtCDH-{JHN)vRFAENxEX?)# zj~G2kNy(t!tcYPxi^%NFHZpfm$o#&ig5HPQG~C?8Kq2bAkM_ZRy+BAf_loX)M8V`= zD>V)JH8Np90=QtWf!HPu!G;Qe!dV=xU|U;TQ&RkUA;QE!V%sea(1NqHI(&I|dpoN0 zGT66cj2?CMon4Rd6t69kko~_2*VNWv z{pQKK*9Yijw*&>R1Nx(so<1FE@D&01X0p)tvEq2M$Ak+c9W7u3l>`KRi?&xkV~AR^POIQ5lz6RFXDNRp`>WeJn|>E?(R|l*k7v1>9g% zl0Uv*$L?_smar(z22;eDns7f@d9mO^0*L`R_8Uw#BU4jg`~04}%>MrV(8-~xJbLm( zfYPCtK#6_dv-LAYprj7%N`rbjZf^YR4QImeoK`;J-7v(BcRC}P+en7j90e;%dFr^o@GNI!m@3Mc~^Q$(-GSyEvk z`-IollL7Q&55*W(?M~2e?z3;D_Lp)B$oXup!~SnI;(QCU(#6&w3v~Pdob5OcLmW`o zGdsh&?N+?0<`fWIza}>oW>>ZkJ8_G^rn)hL7w9_(Mw*GjM!F1A@AJyF6 z{t|@q^wg9nkX&={2vNXU-Kv_(guM@cv<$Yi1hUod2S6;x1q_e?2MdHiYG&qnIyyRd zqSxTdioYOe0t*?Q65qq zp%KRVquiSE;Nal%=g$ht%FjV-fxd$sGEkr^LVy!^B8(G=0o@cZg5Ud)`|S9)NdKaf zS;80i#mW&j;yz>HUOXpb!i|vFjQ1X|A+unI*>xX2Z~qc^{mpe<_6=&Sk#%c-E%eaO zGQK-ZRl3@GRCd_vmiSwljGd>}fFp?R0!qCA9T-tYpbda~#BASKbmHe%*0u%-1oHuo zjBb8XL4j?M@Wg;k(2pPLAY|^jt|iqPKCi?N;OiOs6MD|4*cu-blRmy3zc1jOe?@&1 zK`n+;DRz!ffmPmQG0T*TD9hA^DR$aGhm*6lro{K}zr7}5a)Vvu2A<4{evMueW|UH8 zP0iISSDF!r7|T+I!NI`+!l~P^2#`beS2>yjPtLK@h)qsIC>MB_nUFL@Yu^?NzE9^S z5BYwE70t7Ap{VBl$tlgS)dp+pydm+)dih}G%SYGTHjm6gz!FL5E0GK84ob9(w82tb}f_Njyiwd%3A)&qzhFYGM#5x}B3Q#9ph2>h_^u%^0`B|L%*C;s3VLLyv~GEBqzKOTV-zS&b5%!6%B83)c8H z)^nZF^l9)WxR4;1u`yR(J3cw->Z#%(CwTty<)~UH#AJU49nNS`TzTs~*>g`nCn4D{_nF@q58N>-#XRy1b z7Z*EV_af~RY!JTRk$2gMVB8>tKuGc?c64{QqS5Hn7xdaFduY~3nzOwP4iFink4Kb) zR=keDj{qb=^WVOCvr+h}7=wh1OS$)J4KOM|K+j>$04D^0bb5I?Bqc?+%3mO)%^*eG z%lRhcqLBslhj?J^!){ZMdHe2N0Hm?|8^2nC;#ZB`z~{Z zn04LI1uTl^HXq<=ztAZFp&STjr-eR$*m`o+@AJ`x|MVHFtX1>po)(jTQeIQ3Nc1mJ zvu4WvyyLa9R9#r+moq>Tx4OPgeY`&t4#uk}1n!8>vpkgd_e?<|FJT(-({$M?ldfgS z=yI!7-AC82Gd{z5faZpB+uYl$u&t@)SpEM1K13p#i=tW#bvn9> z&e!Vqr|}^=^9pa#P9!pZ#JKInm11E=vhsEAUE~*7O+BA2Fs06iWJAfFRO(VaJ2Yd%K?!ZvwjM=1jNP zD8#>q5dxum#a1Ekg!3X0b?HTR{$spi_LeeZxq1$~OVI5t+T z>Vy{9F2rULv9VGB+=!$H_X-pjqVdIvgrJu|kwWfjGvX}zyz(+e<6Sm3wjE$$jBvCj ze|PfiR1JVn_Tca^`wb;ucFhPVCFmk`-@&cPW-f8xG8xQKV{@KveFf$@J-q^v;D(>Y zWPM#{M+bxJsAWN2I&y?SE=4#mN@*#tVnPXt{=v;=6cEtVu5~MVb^ta~7IdP_2Z1Bl#ECw#Uckf;{jLiZHx6`2Lcx}sPe?xz6aWMHFtj{o2z5L5AIs6basV8EcL56*-jmN>{hBv}Gjnw^^~0(7OML_RT|tdOHyja6O-b$moJ z2Ii?kehL?mLpV3$>06nR@tctF3lP~@=yb(CCmyE|86xHq+yxR}Bz+yj6H6lo)wI1b z5((BeGoM<@y;&XanidgW_-*rDuj)TVmpfiQE z!UgX|(Gl<w0Wz z0_RSy@mLUpzm=YTpH+&Nj8z&)weAwz2 z$Fv*nr7jYaK6NV^8Gwl|8NQxg=d^ewUPD6}AMa+h`z4PS?V)Lj7R{B8MPhlSr|8Oz z2eUknGk^=Mt?A66!hi`0d2CN1*$3D++?GS3(9n=Z3!Ot}(HjB|L{ov4{n38r3$u20 z6pR-Q$AvCl=U2$j)hQ^rG^O^kD%~8q@5WRhQL)7!BQzRuI4@KclRIcZ%gH$)tX<%A z(RpM91!4@B%FPds5rAb5KLBeRv+DsbZhC&+WZh&0Y79c6xoWCTDtWNO%m=ecp!f~H zM$lM|mcIdy3JnGv-p=amY->rcu;rO6pfN(@Ak)o&(K;;-NDOSU5llSPYtdF?LXR?V z=Os#H*)|-l-LLRDIaH~lp8_nHT^VrgHPqN(9(8m!ajn} z3xuT5en#>I5%o6+einZerFze|4ua7Qwms4#tssU(5@9gQVc$a{K++j2gbT%soEHES zCgR<@TOIqc*z4UFjq6<}gQ9+7Tgl1Fu53a9a=EOigXz&(_lpmLBG`l%Agl+az2KA} z6uidkef0`Cmk9y%C0aPPGQimt%Z3D|p_F`U2}f|M?e^WfFLsuPA>S59vaCeDg5p}a zjN3Fc{%>zfaYCNw$yCV*`SpTRwdL-3EaB&ND$h_PGelfvF!;~hZRK!r!E(DM;v=Z* zb3h9&xgpSi;aYhRJ}{P9K)`9xGDreNPVfQ`pO$fJxqy~zEyoJ))4rott!oMM)F9AC z0q_YAg>Z?ejHVj>p9clKO-$^9{isoCM+3){z;M|~(A8bX0sndiIjR905lHVqsuYpu znVY62#iY*>3leL>3f^R9UP(9_Sl&Up6&OyA$NTnRMRYhg#uThkpv<7f1JN>orYQ)A z-J)4D{oXa@`<^W8K7a9o(|)>@@wZN_HA4j?xsZ6*pB`Ew@y?Mq_`GnoDEtIV1I@kk zJu48-+Mb;HZpVIHuUQv{GnjE8=5zavHYfoZbTUuJ&_r_hX z!HG-4Cy%SqJMds1KHNOrN;xYuXu~_gd<_H$Ugri4B!9$#g$Y7dFvAAWXeR3io}Qjh z>pYx~2>d}W9PX|@mXySSqlsm{Z+OWG&f(&Y;)cNCOUOM-&&(DEWqk3nR;I7Oc`rn7 z0^>(a3+ThhL0Ir(fVrFdo|ZdH(E#z zQd0q!l{h$C$ygC_iR|bmD2F3rVk8ksPe^DCsVm?26c4^ab!M=Ko+>LVFFF%ODYh1-I`I0&0 zy`Xfxuaom2_`VqAfryz4JUGwENN5H%MXkE$8!&@c{4XvZrYGMK|`>u2NldOARrSoW}e5J90pF8 z0cZSYPKZ1w{o&Li7<7=Dp}|hcinyQDq!%Fr(W@^H9BE0Hjc*3f?c;vJID7HT1P!NS z@AX2A!se@gkG~JxGT7{N(KM|pMs`pB$B)q$_oaWo`F9`MIaZndJ?@Je z(gw*&n-%Y4$cws z)Gs`jQ8`cJli_$qo%*4B1#j&EC48Dm-bq5;$3Q;HH_A zlbxdg8=I}8HLJ0cqdBXsgDD#vc{R6lHefTiF*0^zwKKD0LtZ1GWNf1AVq>Dq$-!!8 zW9qsXoCmk2MQ&}R?_?}s=wJ+AP@L=>yeu3XES&tx9DD-ooB|viOza#2?CeaPOF{qT z1=hAk<|gj{{so$`O84LeQph_v+L}1I>N^;t9$D*~8b8rDH8-@p$;-;e%E!XNeiPo4 zn}wZ=g`M}NA_wo^hk|E<181z}$mQ@4E=L~CHs#YNxFtDqOJy@>YXbp+hqi{!$h-&$ zD8QwTD2|M?8n*v-&EGc_5HK?~H#KuY@$i5ztN#N|z`h3W7+ebVx`Eh=3rS(%l_H2}+9~jg%nLAzcbccOzZWNC*hR zx96O5*LT;&R~O7MPwxNz)qdVL%1W}=@M-Z82*kCga#E@Y1X>LIeT<6@uVjCgffo>% z<`T~&5Qws9f(s)o_!-SvRaO#Ryv4U2eqekhr}_+m@M1wAkiiJVUw8@m3xROuMj$o~ z5eT6~1cKTjwN6C@-oQ3ikd;DQq5gbq%!`9p@Eqi{oZ&afP=C?PGlpS*cGXX%B-A{n zchcNFD5a@G=XKtt%sr8`$P89~vX_Q@j|j|?BgG%FOH5+s=a|9|;| zzmR3(?kykbMlf&!l9087$NvIik?kFg_gich#50%ETL{E?#o1hxh_|uksvYfcxqr%B zM>qwz2l(UDos1nElsSrFlwzDtcKq8#V9#{1-|!$1Q2FJ7O!!bA$%Ac3uwNVLoE_lj zcF>KO!|bOL(#PQw9Z_PntoJl zf19iEPw@bv96xOf|EK-(O!x8&L-Wj6{nPb2GfMhHEyC0MX&DYhw&i2vtSzD1GqDW( zJ1K>Bc}0SV2J_`~3}pTGiYd04rLD1F1JV+ik=F3X!t}n69jk-RgPm#NmRQLj|0?HK zZS(YIh?=qXr8~`&ebtqPw~l1-H zG3KS}wLn(d_j;Ol(CgLPH2qdL4%91E3a?sE=dPg5(;+!>k&Ze=3@gO-gW-}(Ao z2Ok^ic;;Grnorma84C-jW&ZI^XMBx#ZU7XmS1 zPiE^qnW)Gi%X(uOMt`e4aC2wHwP3$4+{9E!5mA^ll z#1~kP+LS#U+)X1)9U6Y0(BQp_CE7c-8;5nrSeRS)l1Sy+=pgY|zi1-f?M^NH*9^ah zH=l&=kkAND?{#s8)}2URyPy1;R{M5!qPZF!uTQ(@+t+4jyoz!pn+-m)JIT%z*Fse2 zYph(iJ~v`?<+t8>vFcplWD?8uu^_OHRZ22Rjc)p52bnOQjZ~!Xt7xEl*cs@ml`Ofd}!LA7o#B5 zTz^gLa$xhoGRjcc!`$-s;DJyiE%BD4%@6)3LcjsuPQen;4r^n@M6HkEJ;B z18}pE234XTS(|=CJmo&bF10-d~sv!$fW7$?CMhH+MPsM z*ULyM-!7%(C*mbe`6tuKa%^V@Tej=db;&WwRqOE?RLKaoeA3KnD_4K<8zH)_ZYJC1 z`-LpDX3tDcKECFAK5-ysF1rwX51Ck6z~U*|akJ?6-rKt8tqrO_v)Qb0j~et{=N_}j ze2n5#Ev3e*6gXg-#smsKM_LSdz*3jv6{}O{7d_ElYE}>xebw3 zq?01Hm9!<1BIjr&7G_0xm87=iKHBQhtNAyCYM-jBT|fBaDo~WfLQzCop#GM$^Pl#2 zFD2_<{A}4{^YLaQ4|WK|Z^w=kt$$1;md@Yt)9l zCbE-L`7G(Gaa7W_m|Io82dq#h{+j zz!BmQr0fQlZ*M0@Q$=A zXNvO4>-2(1{9+k)wYWZn{9fWNvJOWeU%1*--RZY}bRBU$-Wav&yTA3pbzHp3zkI@k zZg0u-2IG&&JTX`4vz4S&Ba@K1g@X)f32$LlJHNR6k|T`KfZZ!O%Xi|h9rP8~)oUF~ zcw?z*u3A{S`cD6I*P?)jS;_9-DoIss)eZ*&jfb&6CYz41S+MkAH%-ur=y+uI)3RUa ztrSV9bl2`y1PoM?%E>P9Ei8Y@>B4$E*w#eMP3Af?yQgxO^5)0Ws)wu6Bv<`M+RukL z46r0>o_0BBF{~T>@WfE_uFg8PI;2(cRyt}RRpdA1C=gT_qHW)4p}FMcU;TmS%3pCw zQFXrVo|R{f9)}d-;H4hhxVZJF&&E^9#oIrLB5f{t{!M!R8->eeno(Cyzg6Wucqe>( zKWKC0RI%rZ>sdr=6S-)#cCv>-@5#9mT1j?)#NQHOx&doRSHhV%*5DNCt=FnD3v@fo z7c^zBUYbT_POr>Mr)ieqPCCZ(;BV3ftK|PVEz9?djLNTYO18KiccJvB*M}wXOOlmR zwosC_~0A)6-Sl$(uvjq-a{+V=ZP2ym->`EXLD60Iy98xs5wy(=5LR6&^E;6_LUhZ&|S zjeSvdgMmU^)*FSVU1I2-bgl{U)CKd)>ppu{;a?)eyM-d%%M&sTn#BA^_vz}K^4)cA z$B4vw$+CYZ9sOMAS`1r^&Sv>JzfN91pyJEE`b?q7kFsclZRG09KCV>iFG;_C>&C^K zMY1!bGb0W=vB8@u9^za7>N16Tdxm37EpIRNBudRtEEj5#Wz8y`K9wJbPcM1x7RIJzv)8I_zw&5%0*A^(^fTE{R~pj2`Q#RV z-XL*9&Pd1ZuYQSCOYL!pp3VQnqHOy&eO0;mdw!H3Qm6Kes+ewE#`j}KIzC6PN6;qM z-~4zUS5n5BGN6S%p&eGi>!(kgh(DpEOkeCED_z`KU{K|xas z+?_Hq*E&ZMW&?heB+X#j<$Dxk#OhQxmD7Gw747x})#W!uIgDO+h*RnFlN`Ha|4yL* zH_R}+O8m~I%j68J)s?$URgZhipT9w$E^ajbK@?cB6H}{&{^pi%#@%Jz+_Y7GWsEgz za_ooCyQaoju)#I>+T&!ntvz9{RqsZcV5ST;EAd?~?#h;#S~alwwytkNx&wKXc%3!F5#{Hod*5#r<#~_GaEbc=SaKabrg2rlSYIvT z>&G_xxchI&;D+m|<&RfY^p_9S{H2X92W76=X-D&l3FZ$43|OB{F)2OzeCMOm6StN5 zsv9cW12Y)sekr=o2oL4PHkoP$e_sW%Yd2!*w>KQcv3wHcxiyuv_tQ)5(U|z?F}=jJ z`^`|HaBIQM!m5LPe_hEmb!y4qe)k*s(4W44{zcw!cuws3=eGs_$lizIy~sOu`=>Gy z@O~xTlhoAKXt4WJy?naTdxML+x3Bt=@w`3bHS%3$`W8ZLvI7E9*VdIb?cJ5ev_~?(>2Tfo7HxQ8Q7lEGoviH!MBIni z31_Zq3@Vo0sY)A?gShG*m}CXV0{srY-^2+dO;>R@dn<<{ejev<-L<1=&itD%|ElDr zvPK8NH}$8Ik#(CKuxAZvjn`sq6%Hd&;tiEzo|c%ICXLQ)6^xARLs$|d!Naj{X%$Cq zm$);X2cQUJu4Et^ij6Wc!asqyVJQCD`XFmJ&@I3pV;B$hqNq!L>*H&xl<>Wz<-SxT zjjwWnB#Lrg8xILy!XO2%+8uoV4uu_$P?78iO@4G;iM#Y|N>_~h@A;YjCZ^SlVMttl z8nMxTeX>^QOET>)y-B>Jg2=jz^ONKlT*>&oe|^$vA;&~9Eb2_UcWKe>(Mav=?1+qv zj4CZhUT=2ZKY5>^-#yBFfKd zo5PW~6Dbai#eV<(cEj88-JO4SX5y!-tl7oy4?d;;tc>M|srWEbqh{_1=Rzjx=F@O0 z4m%48id>tx&(qcR17W1M5$H&rl~{cB7#l_f)Q&ySY<+xueod4Zyt%omQLMW->ppKf zlqH?mC+)7=-`{Vx`?L1GW+@`P{aex_^Tfx#Lf(J2+5R*=c<`V%RWL64@!znBhzQkx zxQ+VHGamaoxVz(6MAw-XGO9go3ue~k3Pe7+b?a95#z>xm38%b*!V7F-`a&MdVJSiX zOP|=oP$D|j&C$=GGRr>k_qlNzFIJ?XrWc&jwofppQ|fBvvMd{~aW&MqvRV&Hcc(h+%soQmpY zmiJhRK?WRo1e`2635l{9+R%o}uVZ60s)9R8Ei{JjNKbV(pX7Ir7U_H_)~he~JT&Xi z5PQBeU4@>92F$;!f!^F*mPp+tE(u zwU$}#h|CSdT*PK6E4NV5Er5P@&6Q5hfKeqqd!Hc-!{u$( z`!2NECSPy39X}3Md%C*2v(&%541WDOp@{L!EHIw=pd^b`^FEblmSlWK*rtkmd;v)@ zMyGeJDK$f-pL+sj^Pm#n?tSAM9R$h9QHL-(O}WKNvlkjy~5eu-A(K>yH7>H zYc=}Od?3B;#}DUUgSVWVo!>-8G7AbO73owjEiXTbV|gYolETi;9uAkZ*u*Sdv9s5! z{rk`ZJr#-vMtIEagggj+=`<>xDdhu9DUxF9B=L*Yo)1vSBD~h)_m8i=CcOR)&fxdS zNuK-OoOHj&mzR+;k+fy5TQ6bRe=2xs$C)PNnx#{1w>@1IZl2*wC9MLti1qEaih;-B zDJeJh8c*o;>fJb01pCuP6=b}GHp~voytDW?Wd974%D1j%21&RwG-%?5XW%Ph{*)3A z-s&F(cfF-#e;c7qh>bD!MT5&xkk9U?oRibTmJIPa5$#O;*lRZLNW&Z&%Me@0 zvU#7w$n(L>C$Re1#;)C@qqCf@{5*Sz9n@MkI7kI;lgDCkA=$4j^GWFGZvCG4@%78V zU^KD<)^Z}LnmHTvmvkZ?F&g@wA>q_qFAKh92)jp78~DWfU!LI@GM7G~|ICQaggX(c zw!kZ`;^u!c>;BVy-q&WTJa_cgSPB32>(`~Er5&&SovbId_+iXR9dAMZZo~BntE))% z!Tol;M6w??Ws_d(b-c-0@3u4SzBL{RopE`2IjFwgJ0$E;?#M=GXXgSm;O(Eaad5xi z#l#q5^P#^$W*@MI+!Na0M~`^8qg)eG@; zJvMa8rUQDpHqI7BDds7<09W*LR`xS9BU`ke%G6{;n7#3a%yrbI6c&t1E{ifw_#Rk^ zIF(qE_o>2Pxw-w}-H`R@qpcowbl&=ez#${|KV4S+nSorS-AxLi{cJ?+K;-%m$*8tU zDrft#7&puzy9-On+JB;Ik;erBy}ZAwddph zVB-G40n@DqvA*Yj#s(sy{Uuc1U$&69*sJOVqUsRw40!@2u0zQ1IQ3~9%TUf!azz&M zq@<*qP{djlW*dGNzkhtKt*xz4u69U>4P$&Chit%ZL%Xg@C&~OBA%a;+^T>>Fuj!m~ zZfX;+l3~XrgaZkiQ&bLhRQ*^$WjlL5#^~KbIO4 z6JyL}H(kk=nVH$v(SdEfp<7AX+b1XFK<`@I#CV}`J4T!|rr-(gKGtAr%6FgakDN$X zS4YRz*4E6)@MkRKoSdA9-TYW;yYUWn99?u4jOI>ju8R+0NHw}mj5J?g-)qNP6U}UX z%5H9afY?hbU2%7qnMp}V3{R#fCpDp2g?E_@^V7~Hg1beijHYvso6_-4I{0bjnbLx*AT^Yi21Ic!X3 zdrs1=BaV%Bg*aHli;tSItB=IMA>#J_V*|%C08J0zoEYxp9Tt{yqwm;o^JRxeMm*P& z%)`RMV&ut#ohV2o@+)gJLfqhlt(;L+w-`0HyovL+O^ zl_gklR8`E+P$e(OO+&~7cYdueMZpyJo2w+IRDMiOULNYhK&PH4D=WtyLWOS6H#0nc z{v3Ay9MCdPDeYTV*Bk9BD@q#MmG-uR7kN=*0qL=^tw8NMySmEs^H}lq_4P*!waE3F ze5ElZN+TmSLh!o)VG_BG(Cr(KscLJbCocXS4v0n22`4c4UyvdrZ}2}fY(ZcX(zJYf zmhx8DdqU4$s|4%xc*5XKSlGg!8GG}U&e({Xg6~Lg%j}Qq*i({FN|3x|2uQ^+Mue+{ zDy!fU66UC6%M|L>C)~~Oc_-w$Ng>c|+Cyb*Y-};#B#Hp8nJVl~ls(jm!{8%6^VRnE z(Geyi;B-xm!0_;J;RZB%fb!Kb4TD?&R{(nia9Vst3@Xe_53~(r-S<(-&qSG73o9#9 zQc{>(<3+E||LkC4-g)#W4p!W7q1K}>15ffs7T4BfJUj$$@Y|UHDf{U0=`eZk5C;GC;rmvsJMqr9Zv;5j9$%9`3p|{=jKPE{aaLqsjN&>#rADy{*D){X%!skQp$hZoo(RAhv<;jbG+~vr zjX-51Tzvd2;8duSdXcAuVpIqKdv%*S*aI0oeLr-HXUfVkeXevwL_~x)_#%Lh%1aYS zULVZfz0OVTnoTE>ul&nJ2%G3;CvY~cW1Vup3&`O#Z^yLWK;kPEab=hdz~=t=7AVP7(DHh`RT)Yh@r-#^AKW_Br7R)q!?|ZCL3;!d=$l!|H!&B* zNMqy{oYj5+H4@vhwvq$RucD&jv)_tSs8!Kn7r|OFrD$Su2UWZ&{PtfzrNM=I@k#L( zGjqEgy``n4$kE^vpQ9n!_5{S9!^N(J+cMSc z@1N9`cORv%K=;@+9=`;^-340k0c|7=;cFeFJu)NUcYb{*o@A{trWg8EC+o_mHq1&) zFN81R9|*U;Ea~uHV_&ExBqVa{w5+V|aW!8&gyxnFrEmcdQVFQo>54;4zp@z0u-5j5 z9EFrnZ`lB@Zre1W#0;FJqD34|PELjAu`}Oo_~KGhtapB|A79#!;vyLN_!9n|pE$2} z$E)Tl$jdK*#K?w~DgCn7;Mw4MU&;>xt_E=>C88kgYgu4CsDV}q4#pfW(lOU;_VXPX z9UYxQ5_8{}Dwkk22WLbnPcDlm0YqIIQidz_rN4Pwu-82;EFpsJ6EJP1H5ZBcsv*oyK0yLSW3tK zV@ZW0QA1UZWI!^K#-zlFFFY~SbZ{u$1>niEo+t)p;Jns*-S6_ue7wY9AQ+Ea?%A`| zbnjg@$9!jLm3)m7dO%%skW7lH0bu zXJ=`X=+ey|cshsZt}1yGp4o0|U`^ zvvs6YRA#elZa|BGOALRt)q$%m>*B%#JnW}a5638&0xgYE^rGGN&Hp;O;_dbbJe&X!?lv3SoAq?> zelC9g6F)=tm|GcP4%c$f26}K;*4hvvgoHc8x#4zey-84{(^}uRW0@MYXtXu08vYz3eZrYPDRO9#xD*F_;V)*u}OL+BQA&8iaf#Er{1FbS+ zETF6!9P6lMv>Ywg4^?J4oP($H)n+m7`Qybt{`nOk8dwW?8Ggn9<#1(FD$EC#R#)3W zb$6W1`wxKUfk#Ay&G_))J2>H}-d@Gc@uHp(0_sFTXBL2%RakT#hTNt8SAO*V7mld% zK}ScgaazSMX}%N!y?=*|4bR-%oKv@^WqYb3iPxIywrteO(Z-0)WNAQUCC}yAIs@=H z%bBknzJHI{UWx-t?g1MBmx##h=+}^&Y%HuI;k|}9C=+LazlPCxTrO$jO&V#zKXnyy z-3r<9tqHw|%uT*$V^H^KaIq9_^%RxJ1k@2^e{f^PlhZqM@-V%!JVp*d|M+|Tkr@!x zP$ue{`ufAkSJ948@u+*=biOML)I(kbzfAMK%l2d}fadS-#A4h)NnjmA%e${v_Z}Dr zh@7}De;@GKOtygX{sGOR=LxZ>l(sf4iu5)A`;&56fMUX$NT?cfF=p_zaa@Yt+B_31>h-tXgM>5>T)J%z(TUE+X% zfcrXMBS2sM{&zC}$aPZ<>e1tD^#j;zYj8_Hy)4oOjq!WCV&DK)^2p~GcL9T6jgY3t z#eIk3@m!ANuQ}`&egiPjoA|&7K1m4v2e_g@2EXqwey?4Q5=PZGb`YAm`MUAeE&w|) zq+!^Q6)g7cDsY1s@7xJ~5=#8i`H)A{zV^DC(P*r-N*J$T%$>d(+|I})y9Mc%z`DB^ ztvUvg1(nvXj%09pT3s{vM9NoZrW?JEvtV_)mAJaNn6!nFg6qU@GuM!`vSQNE&>(Nq zQSh>e7P{*asv@DtVd?TgrGz$mpF9M+NLNp<#4Dq-Qw|*i<2tVu1wB2zhlj^L>U?2Y z>!dAy;M7|JT4UN7bL*wK56CW$r8jp`jc{j9n1$sv&~7J?G0PhpPi<`OV+REQG{E)P zBOxabDkEqh|?_x}Dz_zW;xr`2vsSOnnl%9c#LdYA;?aQ%LS04;(g zW6d|CokrBCADz|GR~}SC^a-O#**sB;#4Zte6H7^LD0JcVCKrO{(?9h&qsI2Y?C^W& zpjO+H#ZlTQIy#z|no}1j{TCO8QYBd+>Cm%{z|})BG+5l^G&FL6$R$EIx{b>mfS&@t z-#K7|WR!I}Z5 zOHY5*Z+!Cm_bqPj7{H&{`1tl(=k>v@fWWK zD9Ff6>5(=yHJzTFIWD!~!OAyujw=!YSGw)xTv2O^DqcN}hhKtb8pFi9kS|4HC7P|vB8zAA^NUa_4((E>Rr!~Nnyuu|MT}0g zN`O`e;SgtOPCnY}v$gN{cGk(g7+)`9z=I5##1*a5;gti{C-eXrMwLwrq;!jr+Fh4b z9;1zG3BB)w>ssCeSl70`1}tj)D6&Iun0gq0%bUb27;ehaCv!dkD^DWT)|wPeYPNVf?l^X*C^~W*Wd|(#n>k{b|Il;VzCPn|t?z zR{uf;kQ_lTn#}Sn`F)K!9Rv}9SOkfp-hAYDl>q)6X{m=EVXO%-&0eK*}B5UAXXY?*5;N~xXSLI{c?3tJ6a zU<+1CP7V%+-S62@LIaTH5%gjpP|z>YFt9ac<=R^ zH2H{7vL}#HkK-{7Pf)c*X2r1f_lFg@w0s3v;_%=iTGRbH_JZE@HewfIl>Ou5swgVR zvuc60q5z9V$c1%raj`e)(Ru;8@x!D{y>2pJiffWrbpCOdX;Q2FQVtf1EstLx@y z>-X{*R8v$3T&zTdD4RKxF zo6wiXt?^5W>!~9hWd6L9D5*jfEZzY#FRLSQOvA^b{2d zA&=m(8tuGCCMYNf6x{juk~EOtBG;E>ApJl(p?sYC`VEO-#t$nu9c?tmR~7&6m6R5G28WKFuFb(Wr0#ECs&qGKM4F zS6`4^T9c2TO8a?wa1cKeO0ZtXk3r9YP+dJ40Ob8WqC`eq zU5Vqeo|=;PqekSKX6`Cgp^mAA_T~|^#vO&{YJAQfg7M?_$|LvFC%|fJJ-m$SAfq|-Zx=Z^Ifgv6 z1i{X=2?vxc;P{P>sx>q=+P*e;3dJrccs;I5Z6$fO-u)2h>H*50tWS_8DZY*U@z#O~ z=9;`O?is2Cp*@?yO&^aR_CDENMLBmI9DUPBxSb!sx*V!?HvbZH6KuZ^27XCxZBkpV zZ?hH_7hAuSG|2u77!>@hFX z%zu$b1g+I8RywZT5z@`a7yD1Z&ua%m)p&N1WOVQV79uJb)U9zqqo$??u_&f0X&%cs#D71)KzC2-*y}HQk%H05_L^M01T3j^!#) ze^N|R-F&!t>;;1ly+8pbL9mmep@{g~EKMwB6^bJ-QJ^%7;ApIbGWab7;Lw*Qj~`s( zkAM%F?zQ>(;n*?|08Q8fFb!_VuTA??1*MBoK10t3uDf^cV8ZAHn7)8ukkXKolfR1m z!3&<`c%jyJFdTo))>k*=NQOv&35kYMtAMbUKnhsmK2KV2jeU^?Hy2v4#%#b~df5AT zC}?srvTslxfCU_bhhPnff^gv=xuKv!@%L!s$&V)fZ>GO(nz@%Q)t zd$KnGs_zUeg2Eq={B*z%8}rTn0sq<$6_vr=Ad!u_X#}E_nJnhQ^!~Fm0A_rt1r9uD zB`6I9OKWjw$5wQAbyXTld#c*r0L_Rr_(mitZ|eTj1wWJOht~su>f3%i1m~@@yL$=T z1(VB*GiWRhK&N(V*XcW==yVpe0Z&2Sovo$VBX|ifAS3exTqpQx4_k%yrZrM&F%*bH z@3ByDZn!d3Vj%YT-_Z-eK*L!!2k^ZRFEbPuokBuGN8kvWPL~J(q+i+)7Qz6G!`~xI z>uFHwjv%qA@DBC$!NHFNWB1@!b~IJkyKPuWAoK*_y5A2f|sE{1q0r`J)n%7w@KQP|`bhb2T(1 zWC&^%WeI@!2(D(KL3291MTy6p!Jp;e=(q@^aH+U{*BE>zlymBqx2j+3lq-Hl%VV*h zF?J4o0!5W90j){rRpyQsVG(N)GpPxnkp`0`IfE0J#A8VY3fUN13@T0nwVMWs7WL#^ z2xA}y82BPI1U6?sBxjl*Gw(m!n;sd71D3`ONC8X()ivRhB8RoeXye3=( z4$Ukg^0OF;BHwH;K55>t%^o_9&Y&wrkub&F9idT&vrU^$f99W zkvXob4SYqIFffEmAx$N^#+A`!Ql7BaOcH&1>hVb_tvg-R`xFeUU#N<};8x zZS4H^Ori!Y2g4o_w_;0yA5$I1#mD!jU;@U>GQg!kStD_PeG5O2t$v~CKd4!)S|?`U z{wSRQgG46<8(@o|{0^;h6FjJZvwjDQ*zChPsfz=3PGq0sC1>L~fO9&cf7J$Oi z70EpcFy!%-8@*gX&VjzKoT2aNtI@#;J1Cn*t6 zpz{DpZC-^U+h<_G5z_L6fl&!GB2n1A_}SI7#Rllh(ELz->P z;SxwCZgFr#R?m4609ythP#z42|C5!Xx)Ovk06XXf-ADq{Wl@Y`alDyw6#=>#+x_ZO>G5p{7{4yJ^5mfwKl96AuZ@mD}Z)G7MRPB=au3 zRt_UJkT@fS+N?kQc(iLy=FB*Cm(uVz%t13wRjEv#T5IdOb|Qc z9aA$iDbP>#<3>c7nM1(&A!T5QZZ-S}f&?Wwz#`G=Q+xdQF+{cm(kiE5;uKl-nK=iP z?@pElfe2>u{y`uqO%mhVf;ak1GWcE;NKv@h%K)ILFwbRgjt&VoX9#>Erf>pb*Uh$f z%nF5(_Q2UrffCsMr96VoIlQojI`}Ok zqaGST%q`$$n=_}-T{P?6iqypkv7f|#4DpO~SX|c7X-%h2nxKNkcT?1>Qj`20bRKYW z#<9h?9+ryQ#Fy1Lx5q;jCqNZYpP!>9F689GX1z7Vn#g)Lg@8)URNI?>3&tbEQOIYl zLF2;UjSw#w4UNeF%z0?^4HMAq$;+4H>R6c~Q+2NFP{tMBb2fa=Jsj2hU@d$QD)jOs z0f4YBX*A=v2X#|aJ=d*c->A;H8Xg&$3l<6tZs_VOLf(r@h%MQU!!)@vB+F1Glh>FI z#!B8~>8huSxBaNgcvu+jR)M?s>fxV1ocxXu3+td=MKG$}St+8h$(q=*m%F{QxEK%` zDjQNn4efKQEpV&#n92cFgxkh^DX@lPVrckpL5n4`QK{KQe@IkAScq1hBX4Jym6e5x z_|)2-g(>AN1CdcB{pLy;!xi9{gzv+75~0i?EOW?|{xUuGF69o3Z1%e@!8b&FAQ zY=N5_*OgscK2U z;N~duozLN6xB$2PysMn};FB2WV(?TszPCEL{DgqNhzxu#Q`?qSzPomp-ICXzV z5sb{2ipR6_jnltqrFgH^gw^SMV8lI}_G@9-Z%RL&Vsj|{1{>Gt|Pwox}h|(1k79FRG z;o?O%4dw4kB^Z8EW+HfjTLw*aj{_X@V2)l9J4n?uR;= zS)MNa^cGnd->VX~F;Mv-M338*Ew)7xI^n7I;544_WYx6>7z` zw1@-7cR!F(p7YK+#1v6T(^f$VTj*E6pa3F)LY|{#BQ0AxoPN>aNt)gv@t~*qGO;E4 z1!@(*8m0>>cSD_aGVUvh5Aw3f%3uQn0n4S_PhMW0SS`FarA5-j$kkB*ol>aHT*0td zzr=nX(i~u|;?QCDPfmXH^%Z@Sx~onR0+2^WPJRZ>0M+HLfhR-<^1d0tg2BF`M_xdK z)^gsm4-{kr#I_%dP>4gK1h#6k8ycG|pb?xjF-$TOD&F!V~leWtEA8cy3QUjt9&OqAYVJLwW3_(?& zdWfgGL8pAi#KdG3C)+fxz3L6F^8B^%G9{EqX-dSUv>bkLg&+7VJ{5HvetU~e(P;M7 zQ8qI3g-XqhUt{&|_H(``deAi3`zDrmcKVzLM1M4%%n=NdB;qFK=#duSHU>NZGCBdd z**Vbj#n(0$>QoRoocweqh6Vi{{0)T)Mzs&JRt%!0*G{Qi-CjtyP}8g}E*ha+Zb9Q3{>pujV{1JLE|IrLb&k5W-NI(?z+cwAZ zb^Hk2xY3^>g8pcb;$m%91L*?V_<^+*c<)q=<84w>(*LIBBYDp&zy)PuVuFVM7=}Jp zfW1NMxT!IbRfYwKp`fNl0m#>8@^GkFPx#yS?~p*U|BlAR!^?zp4a8nAg9XOTn2BdK zU3i$9^!!{D|J1BGE)9~l`r18JGBSI-CDPpW`pAjl?elTH!{*`-QY8U;R3#rs?ZM~s9}RZy5@$A%UmSVl9(qq9;oqHq0<92bpUyg z!ZUvL3Kgb;Hu&6ksE}~q2naeVD=+o8G-mh(V=7o&uC4dJ~D@Viif4-A_5b@Bp4lejpTCJHu!FqsO5RP=>(1L#S|{e@Q5e@*Ag0FAo{ju@RaS8II{CWV{*{!PMmafm1?Dd-;iB%;__QKJ-M zS0a!q|LExnUsx~%CNBf`)_fqr&i12zNeK^;lmsh(#cO?o0#|Ja>3`VpL3rH3l-3Nl ze-LVomhWOB(qb>g2}m|Xc-g@9AlO6MVo;Wj4i1cLY@gMdCGtkPs&(F(`&L}U05QoL z*?8L!>?xYKzrRn`Ea2taYV}k}sl$S2X=jJSK7#T6qyG;3ya(G9W|SC&T*AJG5~HS9 zQqvT~!eF+;2$m+y4G%SVI)AnxB{@e;n1R(pa{YQ2WH1CrhT7G3dLMCK&~h3y^};NM zl%^&Pm{zg;G9=yC?d|PRBYTjU1D#Y3=m!SeokFV4r266oN)ma1opD{vPXuOsjKO^6 zqdSs3!|miVB;MppjHezbAiG(vefC!-c)ej=@|K*-OEpxjU;`9XP*HJ!! ze@7-ZM&T#`0T^gFU#_#?yN3^5rp|p&|I>L9jG#d$ae!d$5yUH=rZ7{I1v`ZbCcS?B zDKJ>5r8VGAFs#?CmiZjmO$YzH4`k9e!rs0`ofwLpHC!C@GW6I9{ANlYe6vJ?VW8q$0o~72~ZO#A|j~}Lvz~8XE5Skp~0jSIPDJm3lgXZ z1H$?UV6N~K1iN0fX5RPKRx~(ZRGc3~{8$d=!X}}uL3|eTmXqOTWx$V*_*)odn(_>7 z<6~p-AeS7#RY|z7^-b*R;ydJk3UnThQ0F3le`SNYmkuf|Vaii~JRSy8lT;{j73b|s z^cx`t_>a90@i^!vaK!smtFD_>)P{WogBz5af^A2_-pQs~n?-{b@(k9cm$Zt!Xne6o ziGBm5kf^~WK$k%XTT>=-b8<>yHsa#nKT!8DgQfk|=06jK0**`&Km+ehgZefq(*)-a z93_~>t6-|A+>T91NI1E*+WCb=4b2I;4K^a+p?m{XPAQfVs4OrOz}dH`I5g)=nQHW| zKE49u9?BB}wbO$hF4W8>EGDVEkutx3UMLNluaXVO%;l&Bn*kNyef})#PQ0A>Qa}VW zDM9clW(avzZ-OKTsVO9cV7+5N zhFV@l4Ro*;q{AsBPYP-*(kcR;2Y2$%1KN5}hp&pvnVg)o0?M3AMFIvt>Nx=@cgyj@ z>j294og(w{?m~irnmih>Vu7(u)UIV2eBT4Ve`Gm)Cp9e%o+N>R4+l6bh{{LF+%FIS z`LMi+@`WkiA}MY&#sx@?dT=FCepI|dl)+qm-VbQ<7Vsd?XM=B7|MvWU0!G86UuCBP zxEP5do)2%!M6kZ&v#`^zzXv~&XCb?w{~e={xBwz zvc{&iMUrvaxJ*&N_peI{5GNdTPD;&qF0^{&0P@+-I|MvfnS?fIGH53duo0sSW!rmm z<5QlARsDw&Y87MAKQUtk3+j*`Bct51`;7}C>v(NE1<(7Ah36f=m>*-`R$g#YJPITi z_S03E;)@Gs@bquZRW7|D-XH1V{_rH*;~ctB9tU|E-w(0fM%sojE$6e>Eu8ZsVS4);$T ze=>(J!8$+Z8}Y~enNO`HkGSx{b+zW!vrBhgErF&9rX(|O3@j7eg0v?2sZEYGUC+PJ z8{e~PxMT$`AS!WwMzjq4Z?@4<_V|!*NI?%JymH$R{6kT}@ZGm#u#8a;M^qryo}|&T z8~6U_g;h5BD_WafYqgyHv}hbSa1J29Kylgh3B zpv%8Ipu+lEcU0i{2at#dGPLR4;q)F<9#ZMq%7kX4xE0SWVFyf%=tSb~L9GiQnyrC} z(~Q-89d4NNE;<=rDw_$pZM{F5XTHzNR>=vPxL6-+?uDh;{n2v!xVhbfpLn+ ze#ZUXF+mX z(Ni&x{&(_nAaM!*_q{R?Y3zR=PMHGb4Lj++&q#GgJ`bi(mE|ME85pn0#csm>NQwh* z50X3Zqo?FNhM$7TmR{3F@DLt#S}ZN_CWX=#zr z#j%4jTdKf82NMv!3Qx+xhc-3MWR(xFrn`9)GBQ?IPYx;qP);yi9wC!G>qHRfupGlx z{uYJOkllQTE@zuA=Cpzf;Ro}>hh#|bXCGRPvVvi#1dKMo`U=)OxW8zBc4w_c|DZ-( z*VEh|S`0FR0)Zz93|o+BK7XdnbMNJ4v0gyHgyPVI*B=H$v;mx<1NHa-%-aXFtDb!= z>gw-j;ov9=tHFl>TxG$IR69Eu_0K>J9)lUov_1jeKSYp#IB15@jA2kb5NJ)QVQV1z z1U-bZkS@ZASQ2{H!B$DLDx~D7`DQRcEXN8cA-rYgdmAL*&MW3iXn=7R}^ zdWZqWSsV{mo=QG>QnU_~5H)}e)DiWF1JddMH7NzV{m&2=oH6Xpnl?>I!?0R7ygd-W z5fGaB{{2ElF&mI3FnJLVcHTp1MUs+|kbuMUbEy7T_A0cmasL0S>&v5|Z2$iUiIlRo zi98f4JE1|OsHCzlDI{abntd#xl0u@CrL5Ts2^EDJX$WZ}TS8y*3hog{l`F7cpx{6tHxgjK*ys>2dod;D ztWAlW_qo58LM(X@$H)?c;I3tC)9l$BP^@TT-au8mnDZG9v%F=;687hpDsU}gTzYwJ=itZ) z2Lp=OM$`&K!+;`w0PvPUiee;eO{BI2R1ElAR7&d1ySk`WXrpn@=@7(`<_fEj2vh>; zbS#wxAR0KJ8|0W9D=bk18v)${>JrkDLR!GeK%+rN^-V~+Kl3xo3eAhfP#Xis@0?wf z3xkVGs{|3-lLQLu2Sq1*6@#l^Rn&T`WLEWpbv%An_ubMD9y`YRi6b3iz%19GjRaTA7Y;2G+l@aXX#2L8bdV+lmzk{O zw3Get*-#<6o$O?s@AAlLKAxFLi9!CXK^ z@E$W1U?)J(@wvl9!fjz2%B=eQz|~|ObUWC6hk+O`Shx_KazIp&H5=;zvzk}iwoJR>4E<6H3s|~oGLPX_=Swv-? zg(rZP>B7Z}umz7mQuL3M6sN9{b8qz)9DU0#2VHChk@BI-Gk`&hl;-%ZM9M>?1lZ7p zUGBI*gfSra+W1y1Bw0WcM-cz{&tZSSl^s^OLY6mZt!$)k_(;T*1_1`9Kwi`r`b`*t z_8lxkIbbRPBV3G+XQ0nQo&MlCL_PW0&jvFVIy8-}PmECRr!lM-j3$hR*WB{j*f>+Dk`qaIIm(&oiFm5cqgDkf4Iah1kFx)0WfV z!ZZZ_insnk@BG63QL`k(6@f;mz9w00ct{td@Tn_>_eADbF zYwbQVS4eoSBO#Y40bsY@1`V;B&B(||19^cMUexL?EG+y-_|xi-4?Q5tz@6N8Rqe1Q zHklT-0gP_dKgJ3PqS5}dp2<802HxiQcbe+2P1O#YMLd21{*!W30f4~|18;l!n z-M7yod>cVCI2%-RXG*ST+#lX7JdO}>-;fGhg|hx--%I#LT%oo?w8zrK=#294C##k$ zgc2!+lO{qOfn81+Ls)awU%OqEJ$jOX3;V!HDQHz<-0Adgbd;#Haevw4;AFj!oO}k7 z>3#e5p(yAy$jE>j2fh(~=sgj-f=eF;pqL~I$#MnBA6uz44d-n=QWLDsuBNe1E;M*` z@NBs00zSil_8XDZy6aYvKMn}6GfDrhi(D8T7Oy7`or_eo4*1a04&<;TGSmWiUn0bX z(*P2zgvY+3?jn>uvB|*c9M{wHirM$HrDZ*px*GZAC^-N3AwUBviSiK;HIe)SFh23R zBwkhQNnbp%Eu;1Wg=)(PFzIFnkr@I<+s;57Z(nN3Rb&mQ$UpcOQKk?)nQ-~28CZ!O z1M7n;$H&)q-R8}gaFeVO4us>r6QyHko@=BblHa-z)HQ!XXz0<4N~0_3Xgv z&&UJE8iWI0)C31WlT|0?xIP@Ue+Jf!0w$m!AMS-G`nu7zg>bnN*a@4k@C8<2?D{>I ziOh?Ptqwu=2n| z4_)~N`985ZkU=FV(m<^>LK+pFd<*Oi2uwSGCIkh9mf=N#kvNGd5G*~qc7AIUZXy(N zL+Cpg2+siMFBRC#ENF68zL1cx&BNnn%l#H{PwtrBOcUQ5GS=5~GCp@?2D730zc$vl zU^JF7dBc)zlg-kRc8hDq;hGG?wv-Kmqr4w3O~eYA3}2c{lFdv03C1O#u_X5qasB|J zc=!Ijsa&N9vbQps4xK zeW%dxP;5rVT7=yDYw74^@Zfi3+^{#k4MhLdoSwA-SY5vC0hoYU+%_@ThFuJtLX8LA+}zo z2qKvw@I<2X+JqI?^ct2OQ#i{CU?1z!$hdqt4_YM>&Q+c>8yYq_mUjh7Yihpz^d&l5 z%CX#P_pV)rXx}bffE_anrtE!N{3nu8YFtCN+*K{Bu5Jx|jal4Ut(&M|cB7CfO>b^# zF@pj$5o3Z_UC;?9LLSMqFBMQjZGQ9bDUJ=CLPWFd|3-6kB-U5TJ4cCk!*x+0ZI6{AwSGeTO=Aw4v~=Y_3x`^-*3rk(sGgKZg6 zyF=BZNh)*FLj)Yy#%(dHestxaq#92jTU=pP$f zJ&(ePn6}D;KQ6XAr@2Jq~M%iGG8pgBcw}7>MHV_U+rOL@50tbK6P# z!M!X*mnbYu#Jk0XPiKylTAqoEs|Uk^vJCoUCfa21!`A?JVEN)T`nW}$oanbYf+mn9 z0U2D={*K}ly+N;8b5a8u-7T2<1O{a8=TAaii7C{h)g#tkY#TJoMqn9P{Z@l~LnF|L z?(F93KL$J-qf>WWdp5?qahZf&VN_I989F)F1E=nyAk2jfs0nMZxZ%N%u}$mczW%3CKM+*$XVWiZv4BMWAc$b~J}gtjda?c65tjQXag zrhvSDjLYTf#w=%Feh?lIGf0*quxku6Lr5b~#ri-V?Y%M754k88wogq>8Ie(78q-h2 zn*hugb-49CIJ8P5@Rl(EWdx(0$dacOFg7m&Uh>(yz!3wJb&dxDFh^P7(SkYma;Ecr2(iTuAx3@Pd3LeBS^3#-oFo%T!)Lg z2=qR2g9*yEsyiXDHdt^QEE*GgfC7M+F3@5S@Bk;3!5Z3vG%$<-4GZmnCZJ9rA`DbA zq?ulOd=A?Bt;9)!rUh8!PP8kQV6Q;Lc}8?vpD^TQ&ru(neX+?{*z7#;j9cz+R8TP- zdaN-7DY>+jbltwMtv$%8nCc;z zub1=0qZ>Q^eP{*XJs4h#zf^*+#4~X~eFQr1Gutz-YG#~^-CDIqB1&r~`o%A=*Hex*j+v7-*v#oDvK#Rt4-~VG1_WTz5 zbdH~-?zRHE_VW?pNg{rSYFR`r#&XA|z`n;{y=nl$-#z{LTKyhi9+Hyzd_Na7UBt-< z+-Y87vlr&FFIY$oq^g2Lx3;gZ?|`GO(Mn`%(lC=&Usm>$mP`gL91$-QaYcZtaC2Ql zzt7DH@VJ1;gNGBH4Ex>h?rjCUK#x(qHZ9(0y5nGkYJ?nZxw)Vu%3)n2x6{6=S6U#< z;90x&If1^w5<+AoT{fl(`5mkW{E)L@<6!z-*}dy#kP0As!MW`N7)igZVYkSgqp!)- zFrxa!+Oj$iR_YuYVxV@0JLa$gD#1u@fhz~)u-w<*@Jn32Y(6|KI1CP*SYGq?3RV5| zxr*8zTA>#(XcwO4Zj*^d?-w)iQI=DXJ0;SLNh}IMHN8~v4a=Y>houxgU{zR7pxh@i zQBu3I24|1^QW2yAfm~w(#a)kA%8=qhnc+|)fh!^UU9e&RVsJ0;%%>mo?@x5z0d?p~ zWoH6K(Xh_ou*5i%I$SQ9`q3g20tglO5DoS?A~zw@#nBHVf4Bj)6WbNKm^aiDWa2`K z+A;g<d|0K2NHstw9F@O_b8ZUBA+yXN&vI$Ckl zi2oq&D~h&DO>5dA(m?fS1t{rAee65HA|&l$F}>;G&@6ESK<9uuPx@eGJmOxLV1Y*1 zew*(TDPN++gRpSMMnySVy2%tz z5dF52{o^x=Nfj7Ihp~L+n1h5qzZRws6n{BLz0ACE@a5P9@38GjrLDW#0faDo&6wP? zMC9OCmqa{K(&s@fKs1`f^?#*9S63IGqD+hpNC+{p(E_@q)LvbUQ_-;^oe}pXE2B(z zzOI987V1~l)&n!D4)lGq_zq+`3>v_v$W@+}bdIHKc0sNTgnR^v?jLFCr}uvqYGP~Q zfr}w2%wxB#JU65@dDl{!SjM4ni$JoSLFN8tHk9<=WJnjB7QKOk+!`9u$Ndpvk*pzm zIh0o>v2NWhV8#ys25M-+oM@N8o+J5Oq$ByBTPl0eh zX=#xWRU{{Ia6r$X53uvYhY#$IUYAzLSl=a+iU@Hw0aY)=6`gORG_?=|9pPo1$5+By zO8RL~hIWHAZ@j?FV6g=y{SUfTY*|;!3qVbf;m#AWf=$qe^|&`hUuY_S)aSG?G7GDo z{i~TAF(*jdKDbJTQ9)Qlv|Jz&v^gimZ&60MpWM=uTJe~}mwj|s9at9Ys_6Kx&xStOAMz>M39!8Uxk zXsq9p@j@h{Y0zKgttu=UB2!p^Apzzk{Wr`Gu7cc%egq3b`maUiBS1b@8vHArLFXWN zC4W8x_Ub!A9eP+8h-uJZlZO~x1!bg8D@K~VuJ2~4SR*j()U z;Z-DL8mA#yV?9@zk&*FQp%1i&#QtL}n_cU%dt#zryPjG*>}w18Xn%*@Kgl;&)8K;r?FU9@Q7hoczZu;ZU%q&1kts)HFqZFl1)iP zdwI6h1V#%o7!1|~mYaH*GJ|583JQhH@gb#c`z}g!Hjj`{Gj11b!2Sr}w>!ec85z^; zoHS7(OZQ*B36_?Z61-vK0p_(4m;xCFEAXx!Q!h#&qTEJ*pRiK^F)dpe%uf?I6v30V znM7&h-%5je0#UItJ9K94nGNIh$CQ|l_-?3?xC*BVByFUa98dj528&>L!p9%$;Ex2@ zlZ|wuI=sEFIt8h#TP7o0$`_efd*vn9cL+?xTHFKhLZzdq6Fmem$zjlGJ*LP`OJk<{P8pPd>}ut}t%&E03mha>MA$V|y2;2&ORwee+x^ zBbVxqETu-3{az{@&Fkl_;}V8BcBWmr2N&$X6Ip0*MTHw!zku$&n_2q6bsu9rM+@@U z+V%;Fi6V%DWI^(FuP`zfh|J8)^ycS*`2w~M7leIF*YVeA@&HAM1-%8|^LnXn0-9W~mQvGp8=7BFAeCY!X^t~xsT+SO?7;tmnU zW=`` z^Zme8%}8$v1LpcT9W(&8*(xUhS{5Q90-(?}Q zrcPa<;CTT6*l%da0~zixYC;DHKL4aziL%UbCr94jd0+J4&tQ(H?6Q>46c^+5Ck(eh zS=kQ*D48Kg;6n&FXE1_@bg>HpDRYZoPf2qQoe&A+sa*VeofxMMtwIjnVX?I;+Vaa4 zEgoW%Xj~_4WB>k)N>jhKH2aZ1E$ zM}L(xdcAQ_O;P;{O8E$_-*a{M>(WF~Zjwo`D78#aPiADXrDp35Xzm_bG`zmxaFGRt zEobAY!dtt8_pckcYbc_|Qpd7(5zYAC2ku#2g9M$a`GrL~MN4$P+i}zWGacMqJDWu} z=q3@Mr2Ky^MR9n&>2%9mGN*fdKXvSK^wz&qw;!2F^|KvYcra(*Uok~?_>MvHqcQqB zH_G#RHJe;;#(Zb!HxgM>BFW!>%?JNVHrN|DLnsFqDCScCzIBO4b^PwX(?vH-v5Faq zR}zn~&e;UJX#9P2=ifPC|GvM&LVG#e=WLlhE66)9h-Df4{cG=+-K_D~bXVja<{ z$Vzk|`Y|H%PyYQK8kx%)g5-alGQOzFszB*27?w`+H{fu{@(?jzxuPv?iJqr6#fFbUtaO1PWZVkcf92yt=91)WF7qQhtu=D<@I1q|N>0;=zT<(T$t7 z>>pY@G;}!sS#xTV?$1M!Gu|(bC)HHHx--u;xK!=3kBv)b-0R`2Tr;YnKD5+)ID>hx6;ZMtz^tGEVp ze#r*YbDdolhy4-prxsI--8QH^8~T`hAf0~63I4phc|{*ni|-BxRk&KXyT)p-G31}i zeX%!|aiCv8NHvfruuYGaZPr=C=+$X(rRvl%_O-R_^e73?akwyd6=YTp#)pYF4nVjN<0 z>5QbZ*t(vJEUq4=l)GIG=3i;Iv+c<3YWu}$u52N3AH!Yr+OGFybXWETYs;zA)7q!? zrF?HHO`c6#)=R0*`}OHj_6+Zf#`@+Gj<}=G3%%Gn7YFt|i^}52W7*@b{A?z?-GA%Y z!-$tEkE^sM|20t?i&u~|kwq@IkpRnSnY&bo+gzdMJ_+F9oEaUE+llGYr=M-0m zyZb+=Nnp(QPnS{n4bzIgPrZEbr`w;ZXT-n{Hl1TjzdiG7#ChnA*=QhTGVNb$R2A@~)tgRT}_Gdb=1hPyvJj@A3JcO*Z(-Jjms==#rO z^ttME4n6#~R@qmL{Q}e#H{L$)diL$ls>!=XuHh?=%JHhK4z-?R`||N>b6eX|p|v4w znW<^MuRpFSF*mTe?!Ve(r;MDZ`UlpSEgo_u>(uEf;qmrCcbLCyg6VXZhqdOOMOkS- zboreoGc@fZSGPAa@3?MY-gf<` zJD3&|ZXfridDF{%)`K}iLkA94eGTJUtr)k9^X6jwuAPyuuBGo0Pj`2khc89X#f>KF zLB)^mdX9aB+3<^0Sw7@o=C8%6d6_$&vR^bpsE( zd%4kUJ$!5xWxYI{-rnfOxhd<($sG>+(x^wgY4}4?lvhxZQBaUkR5MjjrOGQ(mEP;te~=C-`_e`oeciqwID+>_ppp*vaLHtEh^s zs;sJvg1jg`Q&~n{Nk(2p)JQ?)?`7et0s;bLUC8114~LVB^UTQ3#wk~lQ<^&ax!Y5z zJ3Np0kvl`B8sbnNibDRMD!Ko4%-;{CQk`ioPR_m*6%_@6-VJ^@X2pM<=Re0-xH$Ma zQ`D3c9$vXtfkRgP*CBgd+-bgaFB;|Vx01t6)G9OI_rK1w*Az!l6qMEEm6X-CY?fDF o9VUcB`2XuXCN4p^&q}hJ_vq;GJvXkzKT~$=?%Q!w$L_@c10Lmer~m)} diff --git a/assets/400px-Ref_vnf_12.png b/assets/400px-Ref_vnf_12.png deleted file mode 100644 index a1df607b3d69fb22dfd1614d4213325aad964c64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25679 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%0D$453Uw3EF}xl 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 Bo$~+y -- GitLab