From a94e0159d98d511be4b4da9afe077e1188cc6ce6 Mon Sep 17 00:00:00 2001 From: CNlukai Date: Mon, 11 Jan 2016 17:39:55 +0800 Subject: [PATCH] ONOSFW-157 Add script of installer integration onos Change-Id: I0ac05b6a7ede8654af2c2573ea7ecb3e5e7a9473 Signed-off-by: CNlukai --- .../apex/opnfv-tripleo-heat-templates.patch | 1155 ++++++++++++++++++++ framework/scripts/installer/apex/puppet-onos.rar | Bin 0 -> 99785 bytes .../onos_cluster/files/install_jdk8.tar | Bin .../onos_cluster/files/networking-onos.tar | Bin .../{ => compass}/onos_cluster/handlers/main.yml | 0 .../{ => compass}/onos_cluster/tasks/main.yml | 0 .../onos_cluster/tasks/onos_controller.yml | 0 .../onos_cluster/tasks/openvswitch.yml | 0 .../onos_cluster/templates/cluster.json | 0 .../onos_cluster/templates/ml2_conf.sh | 0 .../onos_cluster/templates/tablets.json | 0 .../{ => compass}/onos_cluster/vars/Debian.yml | 0 .../{ => compass}/onos_cluster/vars/RedHat.yml | 0 .../{ => compass}/onos_cluster/vars/main.yml | 0 .../installer/fuel/fuel-plugin-onos/LICENSE | 202 ++++ .../installer/fuel/fuel-plugin-onos/README.md | 119 ++ .../puppet/manifests/netconfig.pp | 21 + .../deployment_scripts/puppet/manifests/neutron.pp | 102 ++ .../deployment_scripts/puppet/manifests/onos-ha.pp | 1 + .../puppet/manifests/onos-install.pp | 2 + .../puppet/manifests/onos-service.pp | 6 + .../deployment_scripts/puppet/manifests/ovs.pp | 77 ++ .../puppet/modules/onos/files/networking-onos.tar | Bin 0 -> 860160 bytes .../puppet/modules/onos/files/onos_config.sh | 34 + .../puppet/modules/onos/files/onos_driver.sh | 10 + .../puppet/modules/onos/manifests/config.pp | 55 + .../puppet/modules/onos/manifests/ha/haproxy.pp | 64 ++ .../puppet/modules/onos/manifests/init.pp | 19 + .../puppet/modules/onos/manifests/install.pp | 56 + .../puppet/modules/onos/manifests/service.pp | 48 + .../puppet/modules/onos/templates/centos/onos.erb | 52 + .../puppet/modules/onos/templates/cluster.json.erb | 20 + .../modules/onos/templates/debian/onos.conf.erb | 31 + .../puppet/modules/onos/templates/netconfig.sh.erb | 6 + .../puppet/modules/onos/templates/tablets.json.erb | 69 ++ .../fuel/fuel-plugin-onos/deployment_tasks.yaml | 67 ++ .../fuel/fuel-plugin-onos/environment_config.yaml | 10 + .../installer/fuel/fuel-plugin-onos/metadata.yaml | 30 + .../fuel/fuel-plugin-onos/node_roles.yaml | 9 + .../installer/fuel/fuel-plugin-onos/pre_build_hook | 13 + .../fuel-plugin-onos/repositories/centos/.gitkeep | 0 .../fuel-plugin-onos/repositories/ubuntu/.gitkeep | 0 .../repositories/ubuntu/Packages.gz | Bin 0 -> 20 bytes .../fuel-plugin-onos/repositories/ubuntu/Release | 2 + .../installer/fuel/fuel-plugin-onos/volumes.yaml | 7 + 45 files changed, 2287 insertions(+) create mode 100644 framework/scripts/installer/apex/opnfv-tripleo-heat-templates.patch create mode 100644 framework/scripts/installer/apex/puppet-onos.rar rename framework/scripts/installer/{ => compass}/onos_cluster/files/install_jdk8.tar (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/files/networking-onos.tar (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/handlers/main.yml (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/tasks/main.yml (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/tasks/onos_controller.yml (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/tasks/openvswitch.yml (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/templates/cluster.json (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/templates/ml2_conf.sh (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/templates/tablets.json (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/vars/Debian.yml (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/vars/RedHat.yml (100%) rename framework/scripts/installer/{ => compass}/onos_cluster/vars/main.yml (100%) create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/LICENSE create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/README.md create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/netconfig.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-ha.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-install.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-service.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/ovs.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/networking-onos.tar create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_config.sh create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_driver.sh create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/config.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/ha/haproxy.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/init.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/install.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/service.pp create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/centos/onos.erb create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/cluster.json.erb create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/debian/onos.conf.erb create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/netconfig.sh.erb create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/tablets.json.erb create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_tasks.yaml create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/environment_config.yaml create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/metadata.yaml create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/node_roles.yaml create mode 100755 framework/scripts/installer/fuel/fuel-plugin-onos/pre_build_hook create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/repositories/centos/.gitkeep create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/.gitkeep create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/Packages.gz create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/Release create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/volumes.yaml diff --git a/framework/scripts/installer/apex/opnfv-tripleo-heat-templates.patch b/framework/scripts/installer/apex/opnfv-tripleo-heat-templates.patch new file mode 100644 index 00000000..be40742e --- /dev/null +++ b/framework/scripts/installer/apex/opnfv-tripleo-heat-templates.patch @@ -0,0 +1,1155 @@ +From 63f8b6412f526ba245d86f40eb6b1ae1ee06485d Mon Sep 17 00:00:00 2001 +From: Dan Radez +Date: Sun, 13 Dec 2015 21:20:40 -0500 +Subject: [PATCH] Adds OpenDaylight support + +To enable OpenDaylight on controllers use environments/opendaylight.yaml +To enable OpenDaylight on external node use +environments/opendaylight-external.yaml + +Adds onos support +--- + environments/onos.yaml | 8 + + environments/opendaylight-external.yaml | 25 ++ + environments/opendaylight.yaml | 25 ++ + overcloud-resource-registry-puppet.yaml | 3 + + overcloud-without-mergepy.yaml | 62 +++++ + puppet/all-nodes-config.yaml | 6 + + puppet/compute.yaml | 25 ++ + puppet/controller.yaml | 35 +++ + puppet/manifests/overcloud_compute.pp | 33 ++- + puppet/manifests/overcloud_controller.pp | 80 +++++- + puppet/manifests/overcloud_controller_pacemaker.pp | 299 +++++++++++++-------- + puppet/manifests/overcloud_opendaylight.pp | 26 ++ + puppet/opendaylight-puppet.yaml | 209 ++++++++++++++ + 13 files changed, 712 insertions(+), 124 deletions(-) + create mode 100644 environments/onos.yaml + create mode 100644 environments/opendaylight-external.yaml + create mode 100644 environments/opendaylight.yaml + create mode 100644 puppet/manifests/overcloud_opendaylight.pp + create mode 100644 puppet/opendaylight-puppet.yaml + +diff --git a/environments/onos.yaml b/environments/onos.yaml +new file mode 100644 +index 0000000..510aca9 +--- /dev/null ++++ b/environments/onos.yaml +@@ -0,0 +1,8 @@ ++parameters: ++ #This a bug for odl deployment. Once bug fixed OpenDaylightCount can be remove. ++ OpenDaylightCount: 0 ++ NeutronL3HA: false ++ ExtraConfig: ++ neutron_service_plugins: ['onos_router'] ++ neutron_mechanism_drivers: ['onos_ml2'] ++ neutron_tenant_network_type: vxlan +diff --git a/environments/opendaylight-external.yaml b/environments/opendaylight-external.yaml +new file mode 100644 +index 0000000..411df21 +--- /dev/null ++++ b/environments/opendaylight-external.yaml +@@ -0,0 +1,25 @@ ++# Environment file used to enable OpenDaylight ++# Currently uses overcloud image that is assumed ++# to be virt-customized with ODL RPM already on it ++ ++# These parameters customize the OpenDaylight Node ++# The user name and password are for the ODL service ++# Defaults are included here for reference ++#parameter_defaults: ++# OpenDaylightFlavor: baremetal ++# OpenDaylightHostname: opendaylight-server ++# OpenDaylightImage: overcloud-full ++# OpenDaylightUsername: admin ++# OpenDaylightPassword: admin ++ ++parameters: ++ # increase this if you need more ODL nodes ++ OpenDaylightCount: 1 ++ NeutronL3HA: false ++ ExtraConfig: ++ neutron_mechanism_drivers: ['opendaylight'] ++ neutron_tenant_network_type: vxlan ++ # Enable this if you want OpenDaylight on the contollers ++ # reduce OpenDaylightCount to 0 if you don't want any ++ # OpenDaylight only nodes ++ #opendaylight_install: true +diff --git a/environments/opendaylight.yaml b/environments/opendaylight.yaml +new file mode 100644 +index 0000000..c8abf75 +--- /dev/null ++++ b/environments/opendaylight.yaml +@@ -0,0 +1,25 @@ ++# Environment file used to enable OpenDaylight ++# Currently uses overcloud image that is assumed ++# to be virt-customized with ODL RPM already on it ++ ++# These parameters customize the OpenDaylight Node ++# The user name and password are for the ODL service ++# Defaults are included here for reference ++#parameter_defaults: ++# OpenDaylightFlavor: baremetal ++# OpenDaylightHostname: opendaylight-server ++# OpenDaylightImage: overcloud-full ++# OpenDaylightUsername: admin ++# OpenDaylightPassword: admin ++ ++parameters: ++ # increase this if you need more ODL nodes ++ # OpenDaylightCount: 1 ++ NeutronL3HA: false ++ ExtraConfig: ++ neutron_mechanism_drivers: ['opendaylight'] ++ neutron_tenant_network_type: vxlan ++ # Enable this if you want OpenDaylight on the contollers ++ # reduce OpenDaylightCount to 0 if you don't want any ++ # OpenDaylight only nodes ++ opendaylight_install: true +diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml +index c072c29..2413450 100644 +--- a/overcloud-resource-registry-puppet.yaml ++++ b/overcloud-resource-registry-puppet.yaml +@@ -27,6 +27,9 @@ resource_registry: + # To disable, replace with firstboot/userdata_default.yaml + OS::TripleO::NodeAdminUserData: firstboot/userdata_heat_admin.yaml + ++ # This configures OpenDaylight to drive the network ++ OS::TripleO::OpenDaylightNode: puppet/opendaylight-puppet.yaml ++ + # Hooks for operator extra config + # NodeUserData == Cloud-init additional user-data, e.g cloud-config + # ControllerExtraConfigPre == Controller configuration pre service deployment +diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml +index 01c0079..210ec11 100644 +--- a/overcloud-without-mergepy.yaml ++++ b/overcloud-without-mergepy.yaml +@@ -227,6 +227,23 @@ parameters: + default: false + description: Should MongoDb journaling be disabled + type: boolean ++ OpenDaylightPort: ++ default: 8081 ++ description: Set opendaylight service port ++ type: number ++ OpenDaylightInstall: ++ default: false ++ description: Whether to install OpenDaylight on the control nodes. ++ type: boolean ++ OpenDaylightUsername: ++ default: 'admin' ++ description: The username for the opendaylight server. ++ type: string ++ OpenDaylightPassword: ++ default: 'admin' ++ type: string ++ description: The password for the opendaylight server. ++ hidden: true + PublicVirtualFixedIPs: + default: [] + description: > +@@ -650,6 +667,18 @@ parameters: + structure as ExtraConfig. + type: json + ++# OpenDaylight specific parameters ++ OpenDaylightCount: ++ type: number ++ default: 0 ++ OpenDaylightImage: ++ default: overcloud-full ++ type: string ++ OpenDaylightFlavor: ++ default: baremetal ++ description: Flavor for OpenDaylight node ++ type: string ++ + # Hostname format for each role + # Note %index% is translated into the index of the node, e.g 0/1/2 etc + # and %stackname% is replaced with OS::stack_name in the template below. +@@ -674,6 +703,10 @@ parameters: + type: string + description: Format for CephStorage node hostnames + default: '%stackname%-cephstorage-%index%' ++ OpenDaylightHostnameFormat: ++ type: string ++ description: Format for OpenDaylight node hostnames ++ default: '%stackname%-opendaylight-%index%' + + # Identifiers to trigger tasks on nodes + UpdateIdentifier: +@@ -756,6 +789,27 @@ resources: + SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]} + PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]} + ++ OpenDaylightNode: ++ type: OS::Heat::ResourceGroup ++ depends_on: Networks ++ properties: ++ count: {get_param: OpenDaylightCount} ++ removal_policies: {get_param: ComputeRemovalPolicies} ++ resource_def: ++ type: OS::TripleO::OpenDaylightNode ++ properties: ++ UpdateIdentifier: {get_param: UpdateIdentifier} ++ OpenDaylightFlavor: {get_param: OpenDaylightFlavor} ++ OpenDaylightImage: {get_param: OpenDaylightImage} ++ OpenDaylightPort: {get_param: OpenDaylightPort} ++ OpenDaylightUsername: {get_param: OpenDaylightUsername} ++ OpenDaylightPassword: {get_param: OpenDaylightPassword} ++ OpenDaylightHostname: ++ str_replace: ++ template: {get_param: OpenDaylightHostnameFormat} ++ params: ++ '%stackname%': {get_param: 'OS::stack_name'} ++ + Controller: + type: OS::Heat::ResourceGroup + depends_on: Networks +@@ -839,6 +893,10 @@ resources: + NovaPassword: {get_param: NovaPassword} + NtpServer: {get_param: NtpServer} + MongoDbNoJournal: {get_param: MongoDbNoJournal} ++ OpenDaylightPort: {get_param: OpenDaylightPort} ++ OpenDaylightInstall: {get_param: OpenDaylightInstall} ++ OpenDaylightUsername: {get_param: OpenDaylightUsername} ++ OpenDaylightPassword: {get_param: OpenDaylightPassword} + PcsdPassword: {get_resource: PcsdPassword} + PublicVirtualInterface: {get_param: PublicVirtualInterface} + RabbitPassword: {get_param: RabbitPassword} +@@ -933,6 +991,9 @@ resources: + NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]} + NovaPassword: {get_param: NovaPassword} + NtpServer: {get_param: NtpServer} ++ OpenDaylightPort: {get_param: OpenDaylightPort} ++ OpenDaylightUsername: {get_param: OpenDaylightUsername} ++ OpenDaylightPassword: {get_param: OpenDaylightPassword} + RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]} + RabbitPassword: {get_param: RabbitPassword} + RabbitUserName: {get_param: RabbitUserName} +@@ -1053,6 +1114,7 @@ resources: + compute_hosts: {get_attr: [Compute, hosts_entry]} + controller_hosts: {get_attr: [Controller, hosts_entry]} + controller_ips: {get_attr: [Controller, ip_address]} ++ opendaylight_ip: {get_attr: [OpenDaylightNode, ip_address]} + block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]} + object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]} + ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]} +diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml +index 2bc519b..98283c2 100644 +--- a/puppet/all-nodes-config.yaml ++++ b/puppet/all-nodes-config.yaml +@@ -8,6 +8,8 @@ parameters: + type: comma_delimited_list + controller_ips: + type: comma_delimited_list ++ opendaylight_ip: ++ type: comma_delimited_list + block_storage_hosts: + type: comma_delimited_list + object_storage_hosts: +@@ -82,6 +84,10 @@ resources: + raw_data: {get_file: hieradata/RedHat.yaml} + all_nodes: + mapped_data: ++ opendaylight_controller_ip: ++ list_join: ++ - ',' ++ - {get_param: opendaylight_ip} + controller_node_ips: + list_join: + - ',' +diff --git a/puppet/compute.yaml b/puppet/compute.yaml +index e259cff..5527669 100644 +--- a/puppet/compute.yaml ++++ b/puppet/compute.yaml +@@ -213,6 +213,23 @@ parameters: + NtpServer: + type: string + default: '' ++ OpenDaylightPort: ++ default: 8081 ++ description: Set opendaylight service port ++ type: number ++ OpenDaylightUsername: ++ default: 'admin' ++ description: The username for the opendaylight server. ++ type: string ++ OpenDaylightPassword: ++ default: 'admin' ++ type: string ++ description: The password for the opendaylight server. ++ hidden: true ++ ONOSPort: ++ default: 8181 ++ description: Set onos service port ++ type: number + RabbitHost: + type: string + default: '' # Has to be here because of the ignored empty value bug +@@ -415,6 +432,10 @@ resources: + neutron::rabbit_user: {get_input: rabbit_username} + neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} + neutron::rabbit_port: {get_input: rabbit_client_port} ++ opendaylight_port: {get_input: opendaylight_port} ++ opendaylight_username: {get_input: opendaylight_username} ++ opendaylight_password: {get_input: opendaylight_password} ++ onos_port: {get_input: onos_port} + neutron_flat_networks: {get_input: neutron_flat_networks} + neutron_host: {get_input: neutron_host} + neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip} +@@ -468,6 +489,10 @@ resources: + snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} + snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} + glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]} ++ opendaylight_port: {get_param: OpenDaylightPort} ++ opendaylight_username: {get_param: OpenDaylightUsername} ++ opendaylight_password: {get_param: OpenDaylightPassword} ++ onos_port: {get_param: ONOSPort} + neutron_flat_networks: {get_param: NeutronFlatNetworks} + neutron_host: {get_param: NeutronHost} + neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]} +diff --git a/puppet/controller.yaml b/puppet/controller.yaml +index fdc1821..865a838 100644 +--- a/puppet/controller.yaml ++++ b/puppet/controller.yaml +@@ -443,6 +443,27 @@ parameters: + NtpServer: + type: string + default: '' ++ OpenDaylightPort: ++ default: 8081 ++ description: Set opendaylight service port ++ type: number ++ OpenDaylightInstall: ++ default: false ++ description: Whether to install OpenDaylight on the control nodes. ++ type: boolean ++ OpenDaylightUsername: ++ default: 'admin' ++ description: The username for the opendaylight server. ++ type: string ++ OpenDaylightPassword: ++ default: 'admin' ++ type: string ++ description: The password for the opendaylight server. ++ hidden: true ++ ONOSPort: ++ default: 8181 ++ description: Set onos service port ++ type: number + PcsdPassword: + type: string + description: The password for the 'pcsd' user. +@@ -819,6 +840,11 @@ resources: + template: tripleo-CLUSTER + params: + CLUSTER: {get_param: MysqlClusterUniquePart} ++ opendaylight_port: {get_param: OpenDaylightPort} ++ opendaylight_install: {get_param: OpenDaylightInstall} ++ opendaylight_username: {get_param: OpenDaylightUsername} ++ opendaylight_password: {get_param: OpenDaylightPassword} ++ onos_port: {get_param: ONOSPort} + neutron_flat_networks: {get_param: NeutronFlatNetworks} + neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} + neutron_agent_mode: {get_param: NeutronAgentMode} +@@ -1151,6 +1177,15 @@ resources: + mysql_bind_host: {get_input: mysql_network} + mysql_virtual_ip: {get_input: mysql_virtual_ip} + ++ # OpenDaylight ++ opendaylight_port: {get_input: opendaylight_port} ++ opendaylight_install: {get_input: opendaylight_install} ++ opendaylight_username: {get_input: opendaylight_username} ++ opendaylight_password: {get_input: opendaylight_password} ++ ++ # ONOS ++ onos_port: {get_input: onos_port} ++ + # Neutron + neutron::bind_host: {get_input: neutron_api_network} + neutron::rabbit_password: {get_input: rabbit_password} +diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp +index cd41cc7..b8336ee 100644 +--- a/puppet/manifests/overcloud_compute.pp ++++ b/puppet/manifests/overcloud_compute.pp +@@ -75,9 +75,36 @@ class { '::neutron::plugins::ml2': + tenant_network_types => [hiera('neutron_tenant_network_type')], + } + +-class { '::neutron::agents::ml2::ovs': +- bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), +- tunnel_types => split(hiera('neutron_tunnel_types'), ','), ++if 'opendaylight' in hiera('neutron_mechanism_drivers') { ++ ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ $controller_ips = split(hiera('controller_node_ips'), ',') ++ $opendaylight_controller_ip = $controller_ips[0] ++ } else { ++ $opendaylight_controller_ip = hiera('opendaylight_controller_ip') ++ } ++ ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ class { 'neutron::plugins::ovs::opendaylight': ++ odl_controller_ip => $opendaylight_controller_ip, ++ tunnel_ip => hiera('neutron::agents::ml2::ovs::local_ip'), ++ odl_port => hiera('opendaylight_port'), ++ odl_username => hiera('opendaylight_username'), ++ odl_password => hiera('opendaylight_password'), ++ } ++ } ++ ++} elsif 'onos_ml2' in hiera('neutron_mechanism_drivers') { ++ $controller_ips = split(hiera('controller_node_ips'), ',') ++ class {'onos::ovs_computer': ++ manager_ip => $controller_ips[0] ++ } ++ ++} else { ++ class { 'neutron::agents::ml2::ovs': ++ bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), ++ tunnel_types => split(hiera('neutron_tunnel_types'), ','), ++ } + } + + if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { +diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp +index 1b0429b..d3f3d2d 100644 +--- a/puppet/manifests/overcloud_controller.pp ++++ b/puppet/manifests/overcloud_controller.pp +@@ -30,6 +30,20 @@ if hiera('step') >= 1 { + + if hiera('step') >= 2 { + ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ class {"opendaylight": ++ extra_features => ['odl-ovsdb-openstack'], ++ odl_rest_port => hiera('opendaylight_port'), ++ } ++ } ++ ++ if 'onos_ml2' in hiera('neutron_mechanism_drivers') { ++ # install onos and config ovs ++ class {"onos": ++ controllers_ip => $controller_node_ips ++ } ++ } ++ + if count(hiera('ntp::servers')) > 0 { + include ::ntp + } +@@ -223,9 +237,7 @@ + include ::nova::scheduler + include ::nova::scheduler::filter + +- include ::neutron + include ::neutron::server +- include ::neutron::agents::l3 + include ::neutron::agents::dhcp + include ::neutron::agents::metadata + +@@ -238,15 +250,71 @@ if hiera('step') >= 3 { + require => Package['neutron'], + } + ++ if 'onos_ml2' in hiera('neutron_mechanism_drivers') { ++ # config neutron service_plugins to onos driver ++ class { '::neutron': ++ service_plugins => [hiera('neutron_service_plugins')] ++ } ++ } else { ++ include ::neutron ++ include ::neutron::agents::l3 ++ } ++ + class { '::neutron::plugins::ml2': + flat_networks => split(hiera('neutron_flat_networks'), ','), + tenant_network_types => [hiera('neutron_tenant_network_type')], + mechanism_drivers => [hiera('neutron_mechanism_drivers')], + } +- class { '::neutron::agents::ml2::ovs': +- bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), +- tunnel_types => split(hiera('neutron_tunnel_types'), ','), ++ ++ if 'opendaylight' in hiera('neutron_mechanism_drivers') { ++ ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ $controller_ips = split(hiera('controller_node_ips'), ',') ++ $opendaylight_controller_ip = $controller_ips[0] ++ } else { ++ $opendaylight_controller_ip = hiera('opendaylight_controller_ip') ++ } ++ ++ class { 'neutron::plugins::ml2::opendaylight': ++ odl_controller_ip => $opendaylight_controller_ip, ++ odl_username => hiera('opendaylight_username'), ++ odl_password => hiera('opendaylight_password'), ++ odl_port => hiera('opendaylight_port'), ++ } ++ ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ class { 'neutron::plugins::ovs::opendaylight': ++ odl_controller_ip => $opendaylight_controller_ip, ++ tunnel_ip => hiera('neutron::agents::ml2::ovs::local_ip'), ++ odl_port => hiera('opendaylight_port'), ++ odl_username => hiera('opendaylight_username'), ++ odl_password => hiera('opendaylight_password'), ++ } ++ } ++ Service['neutron-server'] -> Service['neutron-l3'] ++ ++ } elsif 'onos_ml2' in hiera('neutron_mechanism_drivers') { ++ #config ml2_conf.ini with onos url address ++ $onos_port = hiera('onos_port') ++ $private_ip = hiera('neutron::agents::ml2::ovs::local_ip') ++ ++ neutron_plugin_ml2 { ++ 'onos/username': value => 'admin'; ++ 'onos/password': value => 'admin'; ++ 'onos/url_path': value => "http://${controller_node_ips[0]}:${onos_port}/onos/vtn"; ++ } ++ ++ } else { ++ ++ class { 'neutron::agents::ml2::ovs': ++ bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), ++ tunnel_types => split(hiera('neutron_tunnel_types'), ','), ++ } ++ ++ Service['neutron-server'] -> Service['neutron-ovs-agent-service'] ++ Service['neutron-server'] -> Service['neutron-l3'] + } ++ + if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { + include ::neutron::plugins::ml2::cisco::nexus1000v + +@@ -281,8 +349,6 @@ if hiera('step') >= 3 { + } + + Service['neutron-server'] -> Service['neutron-dhcp-service'] +- Service['neutron-server'] -> Service['neutron-l3'] +- Service['neutron-server'] -> Service['neutron-ovs-agent-service'] + Service['neutron-server'] -> Service['neutron-metadata'] + + include ::cinder +diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp +index 863cc5f..5b1c37a 100644 +--- a/puppet/manifests/overcloud_controller_pacemaker.pp ++++ b/puppet/manifests/overcloud_controller_pacemaker.pp +@@ -380,6 +380,20 @@ if hiera('step') >= 2 { + + } + ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ class {"opendaylight": ++ extra_features => ['odl-ovsdb-openstack'], ++ odl_rest_port => hiera('opendaylight_port'), ++ } ++ } ++ ++ if 'onos_ml2' in hiera('neutron_mechanism_drivers') { ++ # install onos and config ovs ++ class {"onos": ++ controllers_ip => $controller_node_ips ++ } ++ } ++ + exec { 'galera-ready' : + command => '/usr/bin/clustercheck >/dev/null', + timeout => 30, +@@ -584,7 +598,14 @@ if hiera('step') >= 3 { + include ::nova::network::neutron + + # Neutron class definitions +- include ::neutron ++ if 'onos_ml2' in hiera('neutron_mechanism_drivers') { ++ # config neutron service_plugins to onos driver ++ class { '::neutron': ++ service_plugins => [hiera('neutron_service_plugins')] ++ } ++ } else { ++ include ::neutron ++ } + class { '::neutron::server' : + sync_db => $sync_db, + manage_service => false, +@@ -595,10 +616,6 @@ if hiera('step') >= 3 { + manage_service => false, + enabled => false, + } +- class { '::neutron::agents::l3' : +- manage_service => false, +- enabled => false, +- } + class { '::neutron::agents::metadata': + manage_service => false, + enabled => false, +@@ -610,18 +627,66 @@ if hiera('step') >= 3 { + notify => Service['neutron-dhcp-service'], + require => Package['neutron'], + } ++ + class { '::neutron::plugins::ml2': + flat_networks => split(hiera('neutron_flat_networks'), ','), + tenant_network_types => [hiera('neutron_tenant_network_type')], + mechanism_drivers => [hiera('neutron_mechanism_drivers')], + } +- class { '::neutron::agents::ml2::ovs': +- manage_service => false, +- enabled => false, +- bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), +- tunnel_types => split(hiera('neutron_tunnel_types'), ','), +- } ++ if 'opendaylight' in hiera('neutron_mechanism_drivers') { ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ $controller_ips = split(hiera('controller_node_ips'), ',') ++ $opendaylight_controller_ip = $controller_ips[0] ++ } else { ++ $opendaylight_controller_ip = hiera('opendaylight_controller_ip') ++ } ++ ++ $opendaylight_port = hiera('opendaylight_port') ++ $private_ip = hiera('neutron::agents::ml2::ovs::local_ip') ++ ++ class { 'neutron::plugins::ml2::opendaylight': ++ odl_controller_ip => $opendaylight_controller_ip, ++ odl_username => hiera('opendaylight_username'), ++ odl_password => hiera('opendaylight_password'), ++ odl_port => hiera('opendaylight_port'), ++ } ++ ++ if str2bool(hiera('opendaylight_install', 'false')) { ++ class { 'neutron::plugins::ovs::opendaylight': ++ odl_controller_ip => $opendaylight_controller_ip, ++ tunnel_ip => hiera('neutron::agents::ml2::ovs::local_ip'), ++ odl_port => hiera('opendaylight_port'), ++ odl_username => hiera('opendaylight_username'), ++ odl_password => hiera('opendaylight_password'), ++ } ++ } ++ class { '::neutron::agents::l3' : ++ manage_service => false, ++ enabled => false, ++ } ++ } elsif 'onos_ml2' in hiera('neutron_mechanism_drivers') { ++ #config ml2_conf.ini with onos url address ++ $onos_port = hiera('onos_port') ++ $private_ip = hiera('neutron::agents::ml2::ovs::local_ip') ++ ++ neutron_plugin_ml2 { ++ 'onos/username': value => 'admin'; ++ 'onos/password': value => 'admin'; ++ 'onos/url_path': value => "http://${controller_node_ips[0]}:${onos_port}/onos/vtn"; ++ } + ++ } else { ++ class { '::neutron::agents::l3' : ++ manage_service => false, ++ enabled => false, ++ } ++ class { 'neutron::agents::ml2::ovs': ++ manage_service => false, ++ enabled => false, ++ bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), ++ tunnel_types => split(hiera('neutron_tunnel_types'), ','), ++ } ++ } + if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') { + include ::neutron::plugins::ml2::cisco::ucsm + } +@@ -646,8 +711,10 @@ if hiera('step') >= 3 { + if hiera('neutron_enable_bigswitch_ml2', false) { + include ::neutron::plugins::ml2::bigswitch::restproxy + } +- neutron_l3_agent_config { +- 'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false); ++ if !('onos_ml2' in hiera('neutron_mechanism_drivers')) { ++ neutron_l3_agent_config { ++ 'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false); ++ } + } + neutron_dhcp_agent_config { + 'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false); +@@ -1073,62 +1140,21 @@ if hiera('step') >= 4 { + require => Pacemaker::Resource::Service[$::keystone::params::service_name] + } + } +- pacemaker::resource::service { $::neutron::params::l3_agent_service: +- clone_params => 'interleave=true', ++ if !('onos_ml2' in hiera('neutron_mechanism_drivers')) { ++ pacemaker::resource::service { $::neutron::params::l3_agent_service: ++ clone_params => 'interleave=true', ++ } + } + pacemaker::resource::service { $::neutron::params::dhcp_agent_service: + clone_params => 'interleave=true', + } +- pacemaker::resource::service { $::neutron::params::ovs_agent_service: +- clone_params => 'interleave=true', +- } + pacemaker::resource::service { $::neutron::params::metadata_agent_service: + clone_params => 'interleave=true', + } +- pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service: +- ocf_agent_name => 'neutron:OVSCleanup', +- clone_params => 'interleave=true', +- } + pacemaker::resource::ocf { 'neutron-netns-cleanup': + ocf_agent_name => 'neutron:NetnsCleanup', + clone_params => 'interleave=true', + } +- +- # neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent +- pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint': +- constraint_type => 'order', +- first_resource => "${::neutron::params::ovs_cleanup_service}-clone", +- second_resource => 'neutron-netns-cleanup-clone', +- first_action => 'start', +- second_action => 'start', +- require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service], +- Pacemaker::Resource::Ocf['neutron-netns-cleanup']], +- } +- pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation': +- source => 'neutron-netns-cleanup-clone', +- target => "${::neutron::params::ovs_cleanup_service}-clone", +- score => 'INFINITY', +- require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service], +- Pacemaker::Resource::Ocf['neutron-netns-cleanup']], +- } +- pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint': +- constraint_type => 'order', +- first_resource => 'neutron-netns-cleanup-clone', +- second_resource => "${::neutron::params::ovs_agent_service}-clone", +- first_action => 'start', +- second_action => 'start', +- require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'], +- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]], +- } +- pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation': +- source => "${::neutron::params::ovs_agent_service}-clone", +- target => 'neutron-netns-cleanup-clone', +- score => 'INFINITY', +- require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'], +- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]], +- } +- +- #another chain keystone-->neutron-server-->ovs-agent-->dhcp-->l3 + pacemaker::constraint::base { 'keystone-to-neutron-server-constraint': + constraint_type => 'order', + first_resource => "${::keystone::params::service_name}-clone", +@@ -1138,65 +1164,110 @@ if hiera('step') >= 4 { + require => [Pacemaker::Resource::Service[$::keystone::params::service_name], + Pacemaker::Resource::Service[$::neutron::params::server_service]], + } +- pacemaker::constraint::base { 'neutron-server-to-openvswitch-agent-constraint': +- constraint_type => 'order', +- first_resource => "${::neutron::params::server_service}-clone", +- second_resource => "${::neutron::params::ovs_agent_service}-clone", +- first_action => 'start', +- second_action => 'start', +- require => [Pacemaker::Resource::Service[$::neutron::params::server_service], +- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]], +- } +- pacemaker::constraint::base { 'neutron-openvswitch-agent-to-dhcp-agent-constraint': +- constraint_type => 'order', +- first_resource => "${::neutron::params::ovs_agent_service}-clone", +- second_resource => "${::neutron::params::dhcp_agent_service}-clone", +- first_action => 'start', +- second_action => 'start', +- require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service], +- Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]], ++ if 'openvswitch' in hiera('neutron_mechanism_drivers') { ++ pacemaker::resource::service { $::neutron::params::ovs_agent_service: ++ clone_params => "interleave=true", ++ } ++ pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service: ++ ocf_agent_name => "neutron:OVSCleanup", ++ clone_params => "interleave=true", ++ } ++ # neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent ++ pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint': ++ constraint_type => "order", ++ first_resource => "${::neutron::params::ovs_cleanup_service}-clone", ++ second_resource => "neutron-netns-cleanup-clone", ++ first_action => "start", ++ second_action => "start", ++ require => [Pacemaker::Resource::Ocf["${::neutron::params::ovs_cleanup_service}"], ++ Pacemaker::Resource::Ocf['neutron-netns-cleanup']], ++ } ++ pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation': ++ source => "neutron-netns-cleanup-clone", ++ target => "${::neutron::params::ovs_cleanup_service}-clone", ++ score => "INFINITY", ++ require => [Pacemaker::Resource::Ocf["${::neutron::params::ovs_cleanup_service}"], ++ Pacemaker::Resource::Ocf['neutron-netns-cleanup']], ++ } ++ pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint': ++ constraint_type => "order", ++ first_resource => "neutron-netns-cleanup-clone", ++ second_resource => "${::neutron::params::ovs_agent_service}-clone", ++ first_action => "start", ++ second_action => "start", ++ require => [Pacemaker::Resource::Ocf["neutron-netns-cleanup"], ++ Pacemaker::Resource::Service["${::neutron::params::ovs_agent_service}"]], ++ } ++ pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation': ++ source => "${::neutron::params::ovs_agent_service}-clone", ++ target => "neutron-netns-cleanup-clone", ++ score => "INFINITY", ++ require => [Pacemaker::Resource::Ocf["neutron-netns-cleanup"], ++ Pacemaker::Resource::Service["${::neutron::params::ovs_agent_service}"]], ++ } + ++ #another chain keystone-->neutron-server-->ovs-agent-->dhcp-->l3 ++ pacemaker::constraint::base { 'neutron-server-to-openvswitch-agent-constraint': ++ constraint_type => "order", ++ first_resource => "${::neutron::params::server_service}-clone", ++ second_resource => "${::neutron::params::ovs_agent_service}-clone", ++ first_action => "start", ++ second_action => "start", ++ require => [Pacemaker::Resource::Service[$::neutron::params::server_service], ++ Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]], ++ } ++ pacemaker::constraint::base { 'neutron-openvswitch-agent-to-dhcp-agent-constraint': ++ constraint_type => "order", ++ first_resource => "${::neutron::params::ovs_agent_service}-clone", ++ second_resource => "${::neutron::params::dhcp_agent_service}-clone", ++ first_action => "start", ++ second_action => "start", ++ require => [Pacemaker::Resource::Service["${::neutron::params::ovs_agent_service}"], ++ Pacemaker::Resource::Service["${::neutron::params::dhcp_agent_service}"]], ++ ++ } ++ pacemaker::constraint::colocation { 'neutron-openvswitch-agent-to-dhcp-agent-colocation': ++ source => "${::neutron::params::dhcp_agent_service}-clone", ++ target => "${::neutron::params::ovs_agent_service}-clone", ++ score => "INFINITY", ++ require => [Pacemaker::Resource::Service["${::neutron::params::ovs_agent_service}"], ++ Pacemaker::Resource::Service["${::neutron::params::dhcp_agent_service}"]], ++ } + } +- pacemaker::constraint::colocation { 'neutron-openvswitch-agent-to-dhcp-agent-colocation': +- source => "${::neutron::params::dhcp_agent_service}-clone", +- target => "${::neutron::params::ovs_agent_service}-clone", +- score => 'INFINITY', +- require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service], +- Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]], +- } +- pacemaker::constraint::base { 'neutron-dhcp-agent-to-l3-agent-constraint': +- constraint_type => 'order', +- first_resource => "${::neutron::params::dhcp_agent_service}-clone", +- second_resource => "${::neutron::params::l3_agent_service}-clone", +- first_action => 'start', +- second_action => 'start', +- require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service], +- Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]], +- } +- pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-l3-agent-colocation': +- source => "${::neutron::params::l3_agent_service}-clone", +- target => "${::neutron::params::dhcp_agent_service}-clone", +- score => 'INFINITY', +- require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service], +- Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]], +- } +- pacemaker::constraint::base { 'neutron-l3-agent-to-metadata-agent-constraint': +- constraint_type => 'order', +- first_resource => "${::neutron::params::l3_agent_service}-clone", +- second_resource => "${::neutron::params::metadata_agent_service}-clone", +- first_action => 'start', +- second_action => 'start', +- require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service], +- Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]], +- } +- pacemaker::constraint::colocation { 'neutron-l3-agent-to-metadata-agent-colocation': +- source => "${::neutron::params::metadata_agent_service}-clone", +- target => "${::neutron::params::l3_agent_service}-clone", +- score => 'INFINITY', +- require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service], +- Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]], ++ if !('onos_ml2' in hiera('neutron_mechanism_drivers')) { ++ pacemaker::constraint::base { 'neutron-dhcp-agent-to-l3-agent-constraint': ++ constraint_type => 'order', ++ first_resource => "${::neutron::params::dhcp_agent_service}-clone", ++ second_resource => "${::neutron::params::l3_agent_service}-clone", ++ first_action => 'start', ++ second_action => 'start', ++ require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service], ++ Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]], ++ } ++ pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-l3-agent-colocation': ++ source => "${::neutron::params::l3_agent_service}-clone", ++ target => "${::neutron::params::dhcp_agent_service}-clone", ++ score => 'INFINITY', ++ require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service], ++ Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]], ++ } ++ pacemaker::constraint::base { 'neutron-l3-agent-to-metadata-agent-constraint': ++ constraint_type => 'order', ++ first_resource => "${::neutron::params::l3_agent_service}-clone", ++ second_resource => "${::neutron::params::metadata_agent_service}-clone", ++ first_action => 'start', ++ second_action => 'start', ++ require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service], ++ Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]], ++ } ++ pacemaker::constraint::colocation { 'neutron-l3-agent-to-metadata-agent-colocation': ++ source => "${::neutron::params::metadata_agent_service}-clone", ++ target => "${::neutron::params::l3_agent_service}-clone", ++ score => 'INFINITY', ++ require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service], ++ Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]], ++ } + } +- + # Nova + pacemaker::resource::service { $::nova::params::api_service_name : + clone_params => 'interleave=true', +diff --git a/puppet/manifests/overcloud_opendaylight.pp b/puppet/manifests/overcloud_opendaylight.pp +new file mode 100644 +index 0000000..aea6568 +--- /dev/null ++++ b/puppet/manifests/overcloud_opendaylight.pp +@@ -0,0 +1,26 @@ ++# Copyright 2015 Red Hat, Inc. ++# All Rights Reserved. ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); you may ++# not use this file except in compliance with the License. You may obtain ++# a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT ++# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the ++# License for the specific language governing permissions and limitations ++# under the License. ++ ++include ::tripleo::packages ++ ++if count(hiera('ntp::servers')) > 0 { ++ include ::ntp ++} ++ ++class {"opendaylight": ++ extra_features => ['odl-ovsdb-openstack'], ++ odl_rest_port => hiera('opendaylight_port'), ++} ++ +diff --git a/puppet/opendaylight-puppet.yaml b/puppet/opendaylight-puppet.yaml +new file mode 100644 +index 0000000..70f2543 +--- /dev/null ++++ b/puppet/opendaylight-puppet.yaml +@@ -0,0 +1,209 @@ ++heat_template_version: 2015-04-30 ++ ++description: > ++ OpenDaylight node configured by Puppet. ++ ++parameters: ++ OpenDaylightFlavor: ++ default: baremetal ++ description: The flavor to use for the OpenDaylight node ++ type: string ++ OpenDaylightImage: ++ default: overcloud-full ++ description: The image to use for the OpenDaylight node ++ type: string ++ OpenDaylightHostname: ++ default: opendaylight-server ++ description: The hostname to use for the OpenDaylight node ++ type: string ++ OpenDaylightUsername: ++ default: admin ++ description: The admin user for the OpenDaylight node ++ type: string ++ OpenDaylightPassword: ++ default: '' ++ description: The admin password for the OpenDaylight node ++ type: string ++ hidden: true ++ OpenDaylightPort: ++ default: 8081 ++ description: Set OpenDaylight service port ++ type: number ++ KeyName: ++ description: The keypair to use for SSH access to the node (via heat-admin user) ++ type: string ++ default: default ++ constraints: ++ - custom_constraint: nova.keypair ++ ImageUpdatePolicy: ++ default: 'REBUILD_PRESERVE_EPHEMERAL' ++ description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt. ++ type: string ++ UpdateIdentifier: ++ default: '' ++ type: string ++ description: > ++ Setting to a previously unused value during stack-update will trigger ++ package update on all nodes ++ NtpServer: ++ type: string ++ default: '' ++ PublicInterface: ++ default: nic1 ++ description: What interface to bridge onto br-ex for network nodes. ++ type: string ++ ++resources: ++ OpenDaylightNode: ++ type: OS::Nova::Server ++ properties: ++ image: {get_param: OpenDaylightImage} ++ image_update_policy: {get_param: ImageUpdatePolicy} ++ flavor: {get_param: OpenDaylightFlavor} ++ key_name: {get_param: KeyName} ++ networks: ++ - network: ctlplane ++ user_data_format: SOFTWARE_CONFIG ++ user_data: {get_resource: NodeUserData} ++ name: {get_param: OpenDaylightHostname} ++ ++ NodeUserData: ++ type: OS::TripleO::NodeUserData ++ ++ ExternalPort: ++ type: OS::TripleO::Controller::Ports::ExternalPort ++ properties: ++ ControlPlaneIP: {get_attr: [OpenDaylightNode, networks, ctlplane, 0]} ++ ++ InternalApiPort: ++ type: OS::TripleO::Controller::Ports::InternalApiPort ++ properties: ++ ControlPlaneIP: {get_attr: [OpenDaylightNode, networks, ctlplane, 0]} ++ ++ NetIpMap: ++ type: OS::TripleO::Network::Ports::NetIpMap ++ properties: ++ ControlPlaneIp: {get_attr: [OpenDaylightNode, networks, ctlplane, 0]} ++ ExternalIp: {get_attr: [ExternalPort, ip_address]} ++ InternalApiIp: {get_attr: [InternalApiPort, ip_address]} ++ ++ NetIpSubnetMap: ++ type: OS::TripleO::Network::Ports::NetIpSubnetMap ++ properties: ++ ControlPlaneIp: {get_attr: [OpenDaylightNode, networks, ctlplane, 0]} ++ ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]} ++ InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]} ++ ++ NetworkConfig: ++ type: OS::TripleO::Controller::Net::SoftwareConfig ++ properties: ++ ControlPlaneIp: {get_attr: [OpenDaylightNode, networks, ctlplane, 0]} ++ ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]} ++ InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]} ++ ++ NetworkDeployment: ++ type: OS::TripleO::SoftwareDeployment ++ properties: ++ config: {get_resource: NetworkConfig} ++ server: {get_resource: OpenDaylightNode} ++ input_values: ++ bridge_name: br-ex ++ interface_name: {get_param: PublicInterface} ++ ++ OpenDaylightDeployment: ++ type: OS::TripleO::SoftwareDeployment ++ depends_on: NetworkDeployment ++ properties: ++ config: {get_resource: OpenDaylightConfig} ++ server: {get_resource: OpenDaylightNode} ++ input_values: ++ ntp_servers: ++ str_replace: ++ template: '["server"]' ++ params: ++ server: {get_param: NtpServer} ++ opendaylight_port: {get_param: OpenDaylightPort} ++ ++ OpenDaylightConfig: ++ type: OS::Heat::StructuredConfig ++ properties: ++ group: os-apply-config ++ config: ++ hiera: ++ hierarchy: ++ - '"%{::uuid}"' ++ - heat_config_%{::deploy_config_name} ++ - extraconfig ++ - bootstrap_node # provided by BootstrapNodeConfig ++ - all_nodes # provided by allNodesConfig ++ - vip_data # provided by vip-config ++ - RedHat # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1236143 ++ - common ++ datafiles: ++ common: ++ raw_data: {get_file: hieradata/common.yaml} ++ mapped_data: ++ ntp::servers: {get_input: ntp_servers} ++ opendaylight::admin_username: {get_param: OpenDaylightUsername} ++ opendaylight::admin_password: {get_param: OpenDaylightPassword} ++ opendaylight_port: {get_input: opendaylight_port} ++ ceph: ++ raw_data: {get_file: hieradata/ceph.yaml} ++ ++ UpdateConfig: ++ type: OS::TripleO::Tasks::PackageUpdate ++ ++ UpdateDeployment: ++ type: OS::Heat::SoftwareDeployment ++ properties: ++ config: {get_resource: UpdateConfig} ++ server: {get_resource: OpenDaylightNode} ++ input_values: ++ update_identifier: ++ get_param: UpdateIdentifier ++ ++ OpenDaylightHostsConfig: ++ type: OS::Heat::SoftwareConfig ++ properties: ++ group: script ++ config: | ++ #!/usr/bin/env bash ++ echo -e "$(facter ipaddress)\t\t$(hostname -f)\t$(hostname -s)" >> /etc/hosts ++ ++ OpenDaylightHostsDeployment: ++ type: OS::Heat::StructuredDeployment ++ depends_on: OpenDaylightDeployment ++ properties: ++ server: {get_resource: OpenDaylightNode} ++ config: {get_resource: OpenDaylightHostsConfig} ++ ++ OpenDaylightPuppetConfig: ++ type: OS::Heat::SoftwareConfig ++ properties: ++ group: puppet ++ config: ++ get_file: manifests/overcloud_opendaylight.pp ++ ++ OpenDaylightPuppetDeployment: ++ depends_on: OpenDaylightHostsDeployment ++ type: OS::Heat::StructuredDeployment ++ properties: ++ server: {get_resource: OpenDaylightNode} ++ config: {get_resource: OpenDaylightPuppetConfig} ++ input_values: ++ update_identifier: {get_param: UpdateIdentifier} ++ ++outputs: ++ ip_address: ++ description: IP address of the server in the ctlplane network ++ value: {get_attr: [OpenDaylightNode, networks, ctlplane, 0]} ++ opendaylight_controller_ip: ++ description: IP address of the server on the internal network ++ value: {get_attr: [InternalApiPort, ip_address]} ++ config_identifier: ++ description: identifier which changes if the node configuration may need re-applying ++ value: ++ list_join: ++ - ',' ++ - - {get_attr: [OpenDaylightDeployment, deploy_stdout]} ++ - {get_param: UpdateIdentifier} +-- +2.5.0 + diff --git a/framework/scripts/installer/apex/puppet-onos.rar b/framework/scripts/installer/apex/puppet-onos.rar new file mode 100644 index 0000000000000000000000000000000000000000..fcb14faae2d12ffbd4562f3afbb5d045fb1d89ce GIT binary patch literal 99785 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 *H&-DT;KX4KdU2K{K@RSMFPsn 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 literal 0 HcmV?d00001 diff --git a/framework/scripts/installer/onos_cluster/files/install_jdk8.tar b/framework/scripts/installer/compass/onos_cluster/files/install_jdk8.tar similarity index 100% rename from framework/scripts/installer/onos_cluster/files/install_jdk8.tar rename to framework/scripts/installer/compass/onos_cluster/files/install_jdk8.tar diff --git a/framework/scripts/installer/onos_cluster/files/networking-onos.tar b/framework/scripts/installer/compass/onos_cluster/files/networking-onos.tar similarity index 100% rename from framework/scripts/installer/onos_cluster/files/networking-onos.tar rename to framework/scripts/installer/compass/onos_cluster/files/networking-onos.tar diff --git a/framework/scripts/installer/onos_cluster/handlers/main.yml b/framework/scripts/installer/compass/onos_cluster/handlers/main.yml similarity index 100% rename from framework/scripts/installer/onos_cluster/handlers/main.yml rename to framework/scripts/installer/compass/onos_cluster/handlers/main.yml diff --git a/framework/scripts/installer/onos_cluster/tasks/main.yml b/framework/scripts/installer/compass/onos_cluster/tasks/main.yml similarity index 100% rename from framework/scripts/installer/onos_cluster/tasks/main.yml rename to framework/scripts/installer/compass/onos_cluster/tasks/main.yml diff --git a/framework/scripts/installer/onos_cluster/tasks/onos_controller.yml b/framework/scripts/installer/compass/onos_cluster/tasks/onos_controller.yml similarity index 100% rename from framework/scripts/installer/onos_cluster/tasks/onos_controller.yml rename to framework/scripts/installer/compass/onos_cluster/tasks/onos_controller.yml diff --git a/framework/scripts/installer/onos_cluster/tasks/openvswitch.yml b/framework/scripts/installer/compass/onos_cluster/tasks/openvswitch.yml similarity index 100% rename from framework/scripts/installer/onos_cluster/tasks/openvswitch.yml rename to framework/scripts/installer/compass/onos_cluster/tasks/openvswitch.yml diff --git a/framework/scripts/installer/onos_cluster/templates/cluster.json b/framework/scripts/installer/compass/onos_cluster/templates/cluster.json similarity index 100% rename from framework/scripts/installer/onos_cluster/templates/cluster.json rename to framework/scripts/installer/compass/onos_cluster/templates/cluster.json diff --git a/framework/scripts/installer/onos_cluster/templates/ml2_conf.sh b/framework/scripts/installer/compass/onos_cluster/templates/ml2_conf.sh similarity index 100% rename from framework/scripts/installer/onos_cluster/templates/ml2_conf.sh rename to framework/scripts/installer/compass/onos_cluster/templates/ml2_conf.sh diff --git a/framework/scripts/installer/onos_cluster/templates/tablets.json b/framework/scripts/installer/compass/onos_cluster/templates/tablets.json similarity index 100% rename from framework/scripts/installer/onos_cluster/templates/tablets.json rename to framework/scripts/installer/compass/onos_cluster/templates/tablets.json diff --git a/framework/scripts/installer/onos_cluster/vars/Debian.yml b/framework/scripts/installer/compass/onos_cluster/vars/Debian.yml similarity index 100% rename from framework/scripts/installer/onos_cluster/vars/Debian.yml rename to framework/scripts/installer/compass/onos_cluster/vars/Debian.yml diff --git a/framework/scripts/installer/onos_cluster/vars/RedHat.yml b/framework/scripts/installer/compass/onos_cluster/vars/RedHat.yml similarity index 100% rename from framework/scripts/installer/onos_cluster/vars/RedHat.yml rename to framework/scripts/installer/compass/onos_cluster/vars/RedHat.yml diff --git a/framework/scripts/installer/onos_cluster/vars/main.yml b/framework/scripts/installer/compass/onos_cluster/vars/main.yml similarity index 100% rename from framework/scripts/installer/onos_cluster/vars/main.yml rename to framework/scripts/installer/compass/onos_cluster/vars/main.yml diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/LICENSE b/framework/scripts/installer/fuel/fuel-plugin-onos/LICENSE new file mode 100644 index 00000000..e06d2081 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/LICENSE @@ -0,0 +1,202 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/README.md b/framework/scripts/installer/fuel/fuel-plugin-onos/README.md new file mode 100644 index 00000000..b5e93c41 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/README.md @@ -0,0 +1,119 @@ +#ONOS Plugin for Fuel# + +##Brief## + +This plugin will install [ Open Network Operating System (ONOS) controller](https://wiki.onosproject.org/display/ONOS/Wiki+Home), which is a typical SDN controller, and set it as a manager of ovs. + + +##Notification## + + +* Fuel opentack version should be after 7.0. +* Only supports the environment with network type: Neutron. +* Live migration is supported. +* L2 and L3 traffic are supported. + + +##Installation Guide## + + +###ONOS plugin installation### + + +1. Log in Fuel Master and clone GIT repository of fuel-plugin-onos from openstack: + + git clone -b kilo git://git.openstack.org/openstack/fuel-plugin-onos + +2. Preparing an environment for plugin development by three easy steps: + + A. Install the standard Linux development tools. + + For Ubuntu 14.04 LTS, run: + + sudo apt-get install createrepo rpm dpkg-dev + For Centos 6.5, run: + + yum install createrepo rpm rpm-build dpkg-devel + + B. Install the Fuel Plugin Builder. To do that, you should first get pip: + + easy_install pip + + C. Then, install Fuel Plugin Builder (fpb) itself: + + + pip install fuel-plugin-builder + +3. Build ONOS plugin for fuel: + + fpb --build fuel-plugin-onos/ + +4. The onos rpm will be built in the folder of fuel-plugin-onos. + +5. Install the onos plugin: + + fuel plugins --install onos*.rpm + +6. Check if you successfully install the plugin: + + fuel plugins + + id | name | version | package_version + ---|--------|---------|---------------- + 1 | onos | 0.7.0 | 3.0.0 + + +7. Check if the plugin is enabled on the settings table. + +Notice: Step 1-4 aren't limitted with the environment of master, you can also make it everywhere, but after the rpm is made, you should copy it to the master. In addition, the info of a new plugin at settings table can only be ready when a new environment is created. + + +##User Guide## + + +###ONOS plugin configuration### + + +All described actions below are described from a Fuel GUI provisioning perspective. + +1. Create a new environment. + +2. Select 'onos plugin' on Settings tab. + + onos plugin + +3. Select three nodes with role 'controller', three with role 'compute' and one with 'onos'. + +4. Click 'Deploy changes' to enable nodes with ONOSFW. + + + +###Dependencies### + +In order to run ONOS, the following are required: + +- Java 8 JDK (Oracle Java recommended; OpenJDK is not as thoroughly tested) +- ONOS tarball( Newest version 1.3 recommended.) + +Notice: In case of version problems, the onos rpm uses jdk and onos packages that have been tested. + +###Testing### + +1. Web UI is recommended for ONOS controller with tuitive information of topo, devices and etc. +For that purpose, IP address of horizon should be ready, which can be found in fuel master after successful deployment. The web will run into the log page after inputing the path, username and password are both 'karaf'. Now enjot ONOS! + + Web UI: http://horizon_ip:8181/onos/ui/index.html +2. CLI is capable of more diverse functionality by running /opt/onos/bin/onos. More about CLI can be found in [The ONOS CLI]( +https://wiki.onosproject.org/display/ONOS/The+ONOS+CLI). + + +##Getting Involved## + +Interested in contributing? Follow [Fuel Plugins Development]( +https://wiki.openstack.org/wiki/Fuel/Plugins). + +##Contributors## + +1. Wu Wenbin +2. Zhang Haoyu + diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/netconfig.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/netconfig.pp new file mode 100644 index 00000000..b875d235 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/netconfig.pp @@ -0,0 +1,21 @@ +include onos + +Exec{ + path => "/usr/bin:/usr/sbin:/bin:/sbin", + timeout => 180, + logoutput => "true", +} + +$neutron_settings = hiera_hash('quantum_settings') +$nets = $neutron_settings['predefined_networks'] +$gateway_ip = $nets['net04_ext']['L3']['gateway'] +$public_eth = $onos::public_eth + +file{ "/opt/netconfig.sh": + ensure => file, + content => template('onos/netconfig.sh.erb'), +}-> +exec{ 'set gatewaymac': + command => "sh /opt/netconfig.sh; + rm -rf /opt/netconfig.sh;", +} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp new file mode 100644 index 00000000..df06bdb1 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp @@ -0,0 +1,102 @@ +include onos + +Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] } + +$neutron_config = hiera_hash('quantum_settings') +$nets = $neutron_config['predefined_networks'] +$net04_ext = + {"shared"=>false, + "L2"=> + {"network_type"=>"vxlan", + "router_ext"=>true, + "segment_id"=>"10000"}, + "L3"=> $nets['net04_ext']['L3'], + "tenant"=>"admin"} +$net04 = + {"shared"=>false, + "L2"=> + {"network_type"=>"vxlan", + "router_ext"=>false, + "segment_id"=>"500"}, + "L3"=> $nets['net04']['L3'], + "tenant"=>"admin"} +$roles = $onos::roles +$network_type = 'vxlan' + +if member($roles, 'primary-controller') { +cs_resource { 'p_neutron-l3-agent': + ensure => absent, + require => Exec ['stop neutron'], +}-> +exec{ 'delete Neutron db': + command => "mysql -e 'drop database if exists neutron;'; + mysql -e 'create database neutron character set utf8;'; + mysql -e \"grant all on neutron.* to 'neutron'@'%';\"; + neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head;", + before => Service ['start neutron service'], +} + +} + + + +exec{ 'stop neutron': + command => "service neutron-server stop", +} +package { 'install git': + ensure => installed, + name => "git", +}-> + +file{ "/opt/networking-onos.tar": + source => "puppet:///modules/onos/networking-onos.tar", +}-> +file{ '/opt/onos_driver.sh': + source => "puppet:///modules/onos/onos_driver.sh", +} -> +exec{ 'install onos driver': + command => "sh /opt/onos_driver.sh;" +}-> + +neutron_config { 'DEFAULT/service_plugins': + value => 'onos_router,neutron.services.metering.metering_plugin.MeteringPlugin'; +}-> + + +neutron_plugin_ml2 { + 'ml2/mechanism_drivers': value => 'onos_ml2'; + 'ml2/tenant_network_types': value => 'vxlan'; + 'ml2_type_vxlan/vni_ranges': value => '100:50000'; + 'onos/password': value => 'admin'; + 'onos/username': value => 'admin'; + 'onos/url_path': value => "http://${onos::manager_ip}:8181/onos/vtn"; +}-> +service {'start neutron service': + name => "neutron-server", + ensure => running +} + + + +if member($roles, 'primary-controller') { + + Service<| title == 'start neutron service' |> -> + Openstack::Network::Create_network <||> + + Service<| title == 'start neutron service' |> -> + Openstack::Network::Create_router <||> + +openstack::network::create_network{'net04': + netdata => $net04, + segmentation_type => $network_type, +} -> + openstack::network::create_network{'net04_ext': + netdata => $net04_ext, + segmentation_type => $network_type, +} -> + openstack::network::create_router{'router04': + internal_network => 'net04', + external_network => 'net04_ext', + tenant_name => 'admin', +} +} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-ha.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-ha.pp new file mode 100644 index 00000000..0c4482c7 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-ha.pp @@ -0,0 +1 @@ +class {'onos::ha::haproxy':} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-install.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-install.pp new file mode 100644 index 00000000..13994ee7 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-install.pp @@ -0,0 +1,2 @@ +include onos +class{ 'onos::install':} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-service.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-service.pp new file mode 100644 index 00000000..5aa591f3 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/onos-service.pp @@ -0,0 +1,6 @@ +include onos + +class {'onos::config':} ~> +class {'onos::service':} + + diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/ovs.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/ovs.pp new file mode 100644 index 00000000..26332f3c --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/ovs.pp @@ -0,0 +1,77 @@ +include onos + + +Exec{path => "/usr/bin:/usr/sbin:/bin:/sbin",} + +case $::operatingsystem{ +centos:{ + $neutron_ovs_agent='neutron-openvswitch-agent' + $ovs_service='openvswitch' + $cmd_remove_agent='chkconfig --del neutron-openvswitch-agent' +} +ubuntu:{ + $neutron_ovs_agent='neutron-plugin-openvswitch-agent' + $ovs_service='openvswitch-switch' + $cmd_remove_agent='update-rc.d neutron-plugin-openvswitch-agent remove' +} + +} + +$roles = $onos::roles + +if member($roles, 'primary-controller') { +cs_resource { "p_${neutron_ovs_agent}": + ensure => absent, + before => Service["shut down and disable Neutron's agent services"], + }} +else{ +exec{'remove neutron-openvswitch-agent auto start': + command => "touch /opt/service; + $cmd_remove_agent; + sed -i /neutron-openvswitch-agent/d /opt/service", + before => Service["shut down and disable Neutron's agent services"], +} +} + + +firewall{'222 vxlan': + port => [4789], + proto => 'udp', + action => 'accept', +}-> +service {"shut down and disable Neutron's agent services": + name => $neutron_ovs_agent, + ensure => stopped, + enable => false, +}-> +exec{'Stop the OpenvSwitch service and clear existing OVSDB': + command => "service $ovs_service stop ; + rm -rf /var/log/openvswitch/* ; + rm -rf /etc/openvswitch/conf.db ; + service $ovs_service start ;" + +} -> +exec{'Set ONOS as the manager': + command => "su -s /bin/sh -c 'ovs-vsctl set-manager tcp:${onos::manager_ip}:6640'", + +} + + +$public_eth = $onos::public_eth +if member($roles, 'compute') { +exec{"net config": + command => "ifconfig $public_eth up", +} +} +else +{ +exec{"sleep 20 for ovsconnect": + command => "sleep 20", + require => Exec['Set ONOS as the manager'], +}-> +exec{"delete public port from ovs of controllers": + command => "ovs-vsctl del-port br-int $public_eth", +} +} + + diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/networking-onos.tar b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/networking-onos.tar new file mode 100644 index 0000000000000000000000000000000000000000..961928a52de3e07c09f404388f5b24216ec83514 GIT binary patch literal 860160 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¼{C-BU%3qk^$%M*4hZc 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%0A`x~Uir$k*;&#d+>P0()8sNY?#xMqCLsXrarwq9 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 z zJeFtM^AD~`+%0uTcE=Ary?BQdz+-R8lF|MCmMsZ|oTPFPM{_R|IbX#Mh%4|3OCx|0 z(EJ(J+=HOVOgCpSu}|RESnD@%XMFPwf2Y}-@L;VexhG_^@E+>;6Z{x;+9Vh@oYdi~ zZ2XJ3L2EI&z&fq*$LGhGWKN_su$GeW=&c2SU#W=Zo9Aq$5Pjr^7CfKtUF+LKuO5D| z{}i9Z19E+0aWI$Y;a6K7Sr6IgH^bos!yu(n;CT~^*zN)sEg6by3(lBylQboKnHR3$ zSyWalF{9=0u$UQsAVwLLmh(ntHoB}2<^~>awJn`J!d0e_N z@8Xh!NXP$%u}&ODJo!Pa6A$9QBLjobSRBUF%l$_O_%9j8YyF;ayo^=z7$uj&+q@{^ zx+L1az{elpV!gtR-R((-BssTGq&WRx|IqNzD{ZP8E~kBSmsu_UD0pkJ@y~G+EjCO` zUez)K{0vej?x9ejrv5pncg}o;)Cqp}Y3=~iK>3bqA9H~zQaPS10sA7!uh2K*D+F6B zADbigRZ=lF29jTwu zU++d*4#tIL^z8|Kmd7}{6fbZB2$2(xKigmLRz%v1xC9^XGB^AlGIV+%O*`8}fT@Ik z@RWzlx6A_QJ61^;&KTXeX)4s^_}G$pg>`ACaJd7D_G64>c2*tiTsg zpd=C?2MTHZ-`ufbIsWr;h#+3Ud@R@cW%V)oNFmPT7;Nx?dE)V9C9iNjLos_UB$M3I zhqpjXZp)umJ%qPP;TzkWlitku+0$6DzK4qbJN(3H6MKbf3H*VJh$j(Ie5s^sUgSS^ z*{!tZX3hF8Nko~QZ(Ufuv`d@L;BB8`*e8fyc^oP@`8soi5{yf=K9;P`Lx(^eEzME$muJSvId zmn2aP;Qk19IF9ul#ZJR(14FnItsv5~XClXch8vUMNxDS;oYsdN+30d&ivy$?gpf%O zGY?e+V)x_j`CPlQVIp72)AkyxAHLfqt0L}~uCi}&bNXVE|{d@e$ni9|_Uw-2lUMRm!iV!P#gu2i+BDFzD6j?E{in&d$=KtF(FS$ur$I44H#rg=#TkL3N6qx%6Skm<5z>Z z;}{uUgCNT%1oQ}muoi!lXC zWQ8B$5|TAKmM7=PQWf#Ebk+}ap^2121vij|Pw~QJj%^pB?cA703VjNXP)-7+uJQ3_ zybw_ezm3aN#unKjQ9ny{jq6?H8vLu67XnI7v?@683eW>+GXRw7f*u=aE(del=wZ4? z!!e7RxR4w4O;4S3&-71Y? zhx7&u@nPLy9WI+y7{bC{mDyjQDuqggh!Ru1B}z<l_Q&DOdr-O<;NeMa~&a1Ke)qnXK>!NVGYG3xCKYL_S-S{t+MX+e@j7<@JJQ)^FSO zG+YmNLD#1X*KeY+Tfx=bdTR>|DD1p8+$ z{0oA}Tvu<3$n1vqr~bXq8?J9|4OeqJ9wV~6i+}!zd}b>+$B3MS_z$**_y;U`M>Kf} z8G180GAT!pDb7aT%s+n^M$&8-7S_e3JJ`M#63EXYsVWi@z|(gKIRhI+1rsbF7*LGh z1B5`CqELX4tq7Kkk=(!<9Z0zY>*WS&oV$BMFZ?ZhG76z3MMjt)FE5bB6!N@8vckT@C&z}-gUwe)a6`W>VVPv>xO3_6FS@DK1h zr2L(7X8r{p3atvby6Z9@I))-%?NNLWTb(2GVsd0i1tdwIzzs$QVl>DGu-$2JU>*gU zBf;8aW0dF3U6@za>0Ml?3t3~~Osfxbn!eW}+Bet=LT3wC@IN6WD23*d{f~&mQ(sAt zGn|0S1G+DvHyx^|php}Am4GA$pObW`<5cVP*=`?xEXY}!`1Z%2KanPj-c+D){R@Ac za6crt_gZeqW<>@{Sozwr?f9#pzL@CoYR=ZZsnwh)v77xmoAPOb7;E;2R0?$U7++(H zY(28ektzHMOZc~O8Dm{$BE&fXXMWnBbF5y@=rgOsXFv~FVB=qpW>kOU=7`Z z0Q?n>^b5$ujjNZV(Kg$-x7qx2yioU2_}6*)+r0c8Uj8mGe~*{H&&$8T%OCUd4|(}h zUbvA^_z!T2X}s>j_weqCwSiPn{Tka(V|SQjJvTHM{rB7u{|?~!VEc7^zDdPP7vK10 zeA6Gw+2!F7DjfDuVORLqP+sBpc=>C%bl1)Ohy1KT`Rly<8@y2G6f@Yu@ADDAJ=A`v z#y=p$$t8QK;GV8d!*=gd-u#EdqiBtDHbvy8*SO6YqE0uP^ptSCZ~pq9t^(<6Xli1D zCTh3fet(DHHPTD&NDIl%1Nu=Q!^>N5N;0qU%# z?%(VLdRG(Ee}qOC{$sWrzr|IOofkp36sZ)fMjX(YCz&<}#r=Kg<9zm4yi_z#n( z&rIfm)6W9NYxLw41UVk*->kl^zHgTI3;eB1{D(8!kN>b2p&zh1-Ds}C5%Gq6xYBE+ z7P3?^;IwkNx(YY(4K8Wn)T`7e!*4h|ywd+BT=$l-0|^JNCxY+0BAN?rI5!Kp1YX_n zE(?8Z1$YExtP1=&4!^#>4xeTv`0mR$TT5`(uJXc(>$B4{bMrIfQ~A@%ak~L^M<{QD z@X%I)_dq%&qmMEAF|U`_131Ba`hg$N_B*q1F@O73aOYB?aB1$=?96;{qYzBrn7cB2 zYxc$*o~{O$=Dr_%FgthUR8R$^;6e_bUE$m=L?clGoXyp1)e3<&FXzS)9O>;;a1B?h z<=SGcjGi@?*5JB4SfVaS9&q7qL;gD8MV(p&lv1y))Y@{k7Q!((oY`i^21%wd7+Nv} zW78+$NpbQ_a48I%<(m0ugJ;Rx4Y*-$!8?8pkq_980^Hlu_b12x5*)TS8_kss6xHQ# z?9%PRB@07RfS+9?W^@fYe5cyOxgj;%XuW|~WcW8`Ei2(E!zNTntb#*iQ~|EQ-m7hJ z<_q_~>NK3tSLn_3lUfBg-YGPSftSy9x?seC$O<|j$RN{7wSB?kTQHeNkCJV}Xe=Ts z$Qu32%4_8cC=oDB=u6}-Edb_1V?i$NIz0UXPrd(SbeAP1>qe(pK-@6Yiy#s3L)*fr zyMm@V8w5xvKohtIng3Q!O4p{iC7fe6tUGQ~Tu9tF4mE3m@!T5KSB4xI!wC#e6JJ`O z5^!u>gXf@VAmV}|vXBIG+~G6ydRz_UbP@m~&IlXeiUwfk1hFa+)HNbT@X!zR0XUm+ zHC4EN#sZKt9-vui!ke^naf`?;Xxt}AuRtWCVm|Im0=*mtN0SVuu|z*OTSv47L$%P{ zFmtSKy+1o2%-^_r3p0KOL12QLg&QBuUYWTPT>idw;)g#}bePdmO#CaF{4?LXS(up@ zWtjc&=JnZ`D<~+Y7^i~Sx#{b-ufSpOso*k*30%Sl*JnSRy@gV5-8h9hQIlm%WCLkI zF(1wprr!tUxpaB<`s^(<0d-!Ty*0=Bu7VU@3U1OD@$~KMmkPnn+l8Aq=4S#l9a*o; z&QD*zH2dMq6@*WiL#@HgM~K`S%)fu>`gQBeponclInyhabllSK;MTt!%Bd5lCr_9+_O@;Kb7anRnk#8u5nvbW9+) z4y)8j;Z*bcdJ0BM0hdhH{rY5xnNfbk;_nl ztf5NA7UAiPL6_UhV6KnKQokl#`NAnHC?S3FTfJ)iDL&sR-uNJqkTd{q%gf+3E)lUJ zKVO`^b9=s!_QcIf4GwA;^TxhT`NY3gsTNkP@8;(iZj&XhC*X*dSU)bhe@_nYO#YX) zVaJPrE#&{RZ%<8S0KW(T3yYchj+Oz@BET;J zP?TRJ?P3v-Tmqn^E{g!q`f5#oN2aun*uD|}3~P^uB{$(FzXI9Uhhj*vqfLXYDLYh6 zQN%VfT^}Qtx~7>&i2M{55UT~tII>#sfqAU?N)W*|iOCi@Jp*sN7t!FcQRk=|Jwd7P z8vc{$8!7Uru~Ecec!a2EbQYfa%p~_L>-~-oi!~f{3NCiMXC|6{@Zanoc6u*foWzPX z`ys5NC5RQ%@qq~!NF>Im-c zG43}&H0oQqX#ns{J4USsD#o{$WwFTnkE3oqJ{dP`Y?QJGyh*ekVp+MTV?!p`1DI&g zh4l94#fzg;`E#RD8$grI%(ODxM_cHd6v8J~ysbQ97p{cp zygnw{;sj31979dgq7A*wi$H9%Q34~N$-BNi6;oj50tO2eQPH^f<~atbg99;hYGF<)-%H@C2yZlF5If$XB|0>LLV4GupN>DNm zJq_eOLv=Xx)Q4k72haw2!Z5dl19+sl0P!!ph6{FVU{v@ie3Id`lFYkc@FR2DzT8KB zI81{_6yz+5?ED{0JQ>N&_%>(&G))9I+QC z^L=;-@4e`0S2xzf&N$Su!ZSg^RssEyc!O6M#}vt55|W*+H#4#qgqu0Pv3 z&F?fF0AM~7}Y9g>UPn zPJ{#W^rCJDfN4t#Q?bTC?l;jH4lK8#=VU%0u*0i2@yC=i8a3)=G-^`C=oJ+)I-2H` zF*cM09ThQ3A~)e2T(1L)x2T_VG-(s(v@;qh)?$aLj`SB^#=R^Z)D0UN-8v`l0v zZ7G>`FHo#NOGoa`n~f_Bq0G@Vc^zg6#TBSM?KtNvcqd=mnnTkG#i8s1vStHvfZ)n- zI!gIISCuhT_o5f6E&r43%}cmw!(Ute$1q!t4ZK8ig+D)k+vWeujMF)>JGhYlpMU%9 z9RI~%_Fui5oH}=A3LAq{=g;O&Po6(}9{NAp3_kV0Kj-`ZI~#x6T|==R?#u>+1AOi* z#?}6^|DHYf_W7**$5;FM-=~iJJT(yS&1+x&{pvdQMB3vw8D^+e39caCZoRpx;N{b> z!6-El;q!X_ChZ30Y9_0Uv9vsm6YUua z5~+y14h5kWm+ClGQy+~L9YrdI+Qp*N3qhQL#v-9vQIMLkbUg?Fh>$HO^HE-xE7C_f zjfk}knhy8OqVqV8GzRsueS>myWW=dBsH_SRCpD{QNo2kkXQX~7RZUzu!|L>CvC2=> zhxp3aO;%eX0O%viyBh|H4w)rbCs@Z8K7m9V>V#n_^x1+K<%~rVip`)XToY;iM*0Ste-T<~X zu=x;;D|J}ODMd^wx?raWQW|1tVi-o}|1yaT@mUnAijy-wZ_&I>X4Q(_!7i6EF!r&* zx=io4SDNKSPgupavtEa3&?97y`f70CQY~+;x5q|hgWQrzarC6De=^Od%CePhJ&bT* zd!(T8r65s+tOXRWecgo%m#tYl9Y4K$2jY5fu}WSN9k15Wcx5!IU=zN9VCZZhw=?9j zu4@;Vsds&L3Fh$gl8g z0fZg#*PV~Zbog@Bf~o85QLw3lGR9E`_jh=(`S$!wapu~!1aPqH2}`v4dT9fZaS3?& z-$Jb}0x^URS!+V63k%I!8)h9m+XcWSdIf3>a~&IhO9dTn{Ii6>J<*UXSJbe5dGd_JR~rMA6&Jp8dH; zu%pp%8Ft(gcwt-dow5N$CW#7+<~WAt)tC9LtyBSG_g0(B5ch49*%+_Ok{YAbc-t_&30D3lIJsqw7I;_5wQM!F zjn$oa+*XUbQ?esZAcZaQ5;bjaeJ3gXq6&+~Q9=Rnps1z*d-WzM3C3S3CP6Mx=4~zh z5?Q0=U;Hj^gcg8Z`jcJ#0lR@*MXrfy8h|BjEGuCG18HCn53{M*hJzLfKq|=7PU?!Q z&xa7%+G8UhH%1c05Vu7{g9c;vW;x?oz1fN`i~*pEBm-8FLC}RjkOaH7%JY$fsJWZe3I0Ala)Xlo6Ag z4B76W0BoG2$HWI26UC6nS1rIeuc#o3*Maxq#aTSHID{?>2h!(uL?h8Nj-9Ku*jQUx zz`>!5KDnQW_p+1LWw4Y{qqXu*mvst6177GeDC^SriQyXOYm58Lw&7z`fw#4C4KaQAf+tz4fJLN(A9yrl+8>=(dX8f45r*>`edTH!JpZ|99&2`EyzQ z&$-j*_V<5xJEl9yx3B-%*Z)x8B9{Qq>@<)+sFPLZlxbF7i8pQ2-~Ik!w5OZ?tkrUl zZ~i2K(>9omxI`xt6&zQ^xdAMBam3thih%LK@ZFu~EfEjdIJ19~|InRjnARron5({9t~^2*xx=;#P=X0E*qC;A)3n8C zr%OrX@UY4w9awwC>pxt5iIf6cKC#kwZNi$tHP!V(dpQ&rA^N)fJE1iDX}^dN*ctzq zZNw^rw(R6@i~S#%9cB4H%mvTv^Z%W|c(-Zy`TsuufA;);8187`l_9pW8fz|)n}Q9C z6S{RP_~snF73&?f+kXAw)Mt*F#S2m`LZ#a+)nndk$y5ket4d_={PH}V#p!&YkcyV% zrnrh1$0{RMSD_p$P+4h;1oeu~6SbcFoEZ~Kc$FhLBvW=)&E8$j6JpnlUD{OhpY9y= zO>xJf9RLTS-BOYLd|y@w?2P}Lthl;S-cfhA;Q!~(!Zti*|35W(W@_L6$BtmU+r%B` z{{~Rfd-#P*xZn&`&+~u%xq5$YMaTZ=y&nhn>IZTwI@;G)=@!+j3g_F0a*Ocjt-xlV z=5pWn=lpoc$AaO06zVJ(w|kUJ@SXW9@$ zmhNT~i&Wu&zTk2hzwkp`aGvxo@C#SOXVdYNUfnInxkpP~PN8Wfp59Q&^9??cM z%dDWlfFe4*=H(wD9+%=mIAh+zK>)BoK*nbl$?glU;8pfW;1eRD;x@j8a-9S3SA9fc z;vIV?5RKvnJ${ggE%YudsoO6O94_C!s_m)>2^b zo4v!p0_PErxVcCkF48w`F8Nb`&Y@lqMjSVO^qOM!=m0VX7nJ47{eeCUz0G5)_#o6H z$vN5w)B{dD9OON27*G(CurK#9NYOyIRq18J4g+&oj5%ga@>Y7V{*B-biF9DFVZ86fp7qyumi0imO=rW2eb>Z zldiJ5&}{I=5|)B?Ar=>xNMaNjzGL}7^9E(MeS976b>;|qZPo=Ma~5)!h@~q0Hol7C z_P^4b&4Nf$!X8A?$Wzu0s>m53s5soq?n0%QA%dW=xOZ4A-kIFUJcGW3jP{g+|M%m4 zZy<`&F*vrSNBFPf&1?9b?SHYq%<0D;2VfdMg+jnsy6LNk&95fLQ`1#3EZ+==Id)m>?nL_*wvL40cd4m{~O4x;nuBhEmhJ6G<%A5#sa1>ZSN3WI4WI)mwg zx0uT$Ga?~IVEB@h0B)0`p&Y#NlU9oZ*Z_&lp3VK}EGR9ic;1m-YXIi!ySzKhA?^c@;lmLzo`d37F9>@M zVmW<}zDh1|<^Id!CHV4E?x%>QO``w5 zgAx1_c>8dao`9Lt%=h*eM)oak7kwBQTPI#fDls$>!VK^o3lLG4;fOFskqQ(Ltcxv( z38<%-^$afxYDO7C4vPvzF^h6XkMb5^o4BW_(`u(T2ocwSol1d6&xK`bh72;~mOyCC z$34V8_Lc(vNBCEcIdXl!0;2pXqEVmdf3<(O|0u}yamFIRf980BQ?XbiD=8LTNCyjL zfRGNH8x~ZX@=QTc$@7k#7ibEXa2Iz#cTY;lB%^*4rV(302D;w_FI|BSDZ7gv1v{fk51cfuZMzI6l9y ze>>CvM7xSRQUPtD|2cbpDtrEijv)5;f1U->_16E?P<;jeC;dM`=hK&4k=rM)^BKsk zz}M3Ot>LhCfp4dk!Q9_58=)k+6z$< zf4*CCLwfhS>>*0Y>N0-e6fQee8bC8Z-Xa;^j)HfJoGiD8Y5<&5YdZio)(Ai+5o-iU z-Th26eE_9EaU#T%g|Yh&yW$li1rXQP1!O zez6vS>k9s&E>TiJH(alJtc=(Jt&FUp(Qp`FBO7#p+|%Z3QOX5{EBsB=lUz@*A8d+- zhT0741bRbB&OO*#-aSZ9;lDsd5hs(Dp$`jKNV}Nb4+nCsB6&NO89-KOxgZeo5%MGa zr2WiSW#XhO-6TjRL@|eQ51@8{o&h?Of2^#-%KDFeRy?Bm#-yH~rY&_~-LN^nBg=&z)tv7vdk6G>`zO)zh zT;WW82{4?~5}Bfl$+>VUk@7nbGU8U3&+;!2634oHbVq)jAAw#qIDY{Ooz|t0*e`(G zo;BK0Io;3POYCGhT|VnveMqS?ar8Z;Y?-b&I>)X6V$oUkkdk&fr9U|?<$*iyExb*f z_ZE5ctIeqO88|ywMXirNrw>kRv`m>q{D&7f5)q2e7NLye)XUj{$*5jAop6<)7AJfj zxTQgQgMbuQX?SkGWu%Ot6fxHsenCq~2r`9DYZJM+9!(#d&n&Pl;vHpGt(M)<`@JP5 z1e122@o)G|Tyk23a3R7N+(+eM@L2z^KvaIC|5*QE-%I_k_8sdt#Q;fmk41`F?AG+= z?u}H}G`^e{aW8bY7o3V+IgX!PBWite05LrWY-K|IxS%czzmy{y8~@HVO00GX`S}ay9OdWaDPX2Z#|5Nq?+b{2=hAq$kPjRz1v;R9ed3Im^-x-v5 zm%6w7FCjR-A3lLF~27 zIqZnp=G?)Y6R$gE>S>fp&7`&zjK4#i4P3COho?OecpTyFP)?B0egaa$)sOYJzAkz8`%*9S>&9F}iV|?0+ zx>Jl$Z9o(D|8@w0o$-IKZ`hd(u!a6_^6c5H{rBYgxA)_}?rbK>`4yo2C6)Opy(A<3;4KGDGzkxxx& zuU@h@)S}4zCQjgwrHJRTxe?)J*k~xsjAUcsA9;oU6pRlXo%^5K3AS8Ra@iY`XD7vQee2=sMH#$ua?36ig$ZgQNijZkMV)~2QGc{= z7~85Z_c<@^>4g@XU^_zMvtqkk@n$*69yIU}icReT@r954joV+)zn#(lXu9s`0Pq&{ ze`@MXcKtVnEc@%fXMuA2=YRIk|2+HiKfTWXcJbpJ>2xD^UR`zv3TV&azImRCEjl$PjeXUaU-sp-n*p*X}(Oa#xY8>7zYOQl)qOes(`HP9pAMwDB z4&hkgaNt#`(wS1VQQkn(#zXjbO(l*C)p2CRK1(N0x}u5GnyusZ8X&K-Q4p)mYo{+& z_@|>o_^{LeQ(XV8nfY7A0%9=FS~%tT;?>#fGxO=f1q)hk`bd2j2~W7zc^0&9zYc7I zRNHi9h^;FGKyHQ;P-Trz=HJOrj<0S^<SHx!=i%}wMRP%9Ay5Rx0 zp~}9^X$zIaUz^5`*y~hSic(7tZn|6QXcIg|CZ$dz%Z}ia%H)ooB9LaegKSp15P0d= z*(Q?jSXsJTI~os5i2c!iF>R(yg^RNaC-F-hJEpQ$pl1IFHEkmtcjt_?Hz_12P{(R_ zwEx-LhO%tW+`f)`w~1=DyZqQ|50%>#-ZqKKbvx3Ao4swIwDhmAE?Nm_@AP0#CAc?N zFti~DzKoePEgxbkD2AQx_F|+7qm)LR2*ooI_-Fs`7X$)3gjidk)cd@41xB=&P+=)D1 zcI@sMJRXl`JO&=0`UdNE$vnJD(gE8>%xu_`n{gG%xyb_5WwuG;yQz=W&a5g|(n3lb zYp2SSDpIqqjZM&uC-CH2hj<{{Yr3%P&>8oT9NL6#56x}Nx6M{8En55)+=GV3teY&6tb6Ym_Z~D);MpeU-VXgo__gub zxvMuOI3m0FBmLi5{O5D$C*R(W|GW!O?>Nhj#()0C?ZWiTe7^k%E1>QFiT^{#&wufk z{rBvdx3l~Ir_Y_n`18Q>Q~&#O9{(G$FtJd@f%aB;IKNV=)mKWZ!-<1F!QDcJmRk)`k%hbi(|oOmHy_&X9bCAQ06@DmanO)Sb}T zW{DW>SXq4KB1lpqkP3$|PrR9gkdUL6nUquk*&OV^<(nG{? zMhCfZm@opHsiw?D^g2q8Ri^8@37Y;*iJK@ig)vT~j9JCzmN=dF$6 zDxJrLonH|WYW&Bw)$y>jSWTDQZmt&VjLGgZO_WzE9Z=>w%;u=ywtbr&3wxUs!89cP zwa)q^-gwJQ4=YP2>&*14guY1G3H7j}jrNurL7&^+@al(%!A28BxKA<0ByyzMk$A6G zb}0scuP(JPCDYguPNt2MTZWGh*Uz)pS z{5Jy>pTd#i2sh$p_!LPZoo>HR;Yc?ra`yz9rsIV7CiP&Fj&Cbr%pSVe)&ttUwd`Rh zE9qWT>}GGGv`Nzw$riSktSnB_y;8gdUkTg3!P!aJIYb>f1cG7@ME2!obAbe;aVyz~ zY+{Yn_LFxa?q-F%7RqR9VsaCRW?PlYIJHT}uvON)LO1ed$PvwYIFX#+;qp_LBfq2- z>`4Aka-|*gmqP!!-ts@bX8ph5_~*X-zXJ&GKI#5u{_bJ-i;#0i^FJ%IZW91o&Hpo# zXEOGGQ&ao?pSB6yCroyawnLOULj*fObfeIMu#E8%?#e~4>IK{k58uOr zsK^CTe!T_fdM!(arDU_=(vpYs@q!W*{UfqsEgv@P)uQ>(NLK(^h0B!-ydY`ZD8J^o zFP(vJ5T%W18F%3ppN97-*=|r_NAuq=f_GTa7W4nyWQYGZNCap1^?y4A^RAMA=wf`0 ze`E%a7lO(B%H=t9Rr%uVe8Lv_c zc_D~&P2-j7C-3nDMVOD?<(n<29cyK%qfp81xew-U+?gA`QZ>?o75#-^7W$QDWi1^^ z_hRBNI${ysIc*qMaU`5bgF11};ybzJnSE>QL5-qOP0|cOhHEbiS0Y!YYykMaUw@0;RD=ryJ zwq^juY72?Mi?ogla1J&f%(eq49$Rh1;%hE46#QZ}D21r78kCpUaAXFrgL1P{RU4uf zu2)+~&|Iw{-vUlLRI81kRIf8Jv;Htbz8@BY)mD=sh{AkusnuLVgPEdTLnqj+sK_Ww zuv}{glkXtR&*CDgX|$sff@-O}956V20C?0fIoiRQpafL>q#6KHmADjT@w9qrMTWV6x&L zvoKq0F=sxwg>FhG9n>n-5(iYZq4%xoC`Y$a#XO4vuwKGIH#saw2qij_09Xi-jDZU( z%~Sd}TyCy`FtnFsOpE6sdjS`$mWq5 zJ;G3a0>~@QGC*A~Q78FHH3CjFTGCX;MPQ(6ZQAz%WU}Dbku2#meZ?Hmkn;?CCQ*4m zjD)MH9~Ob^bx^3arDYWCB|*F=8Z?^gL1_Ww0qa8ya3feOeS%offSq-yX|XzuCRfh=9XYubgH*OFBsN#ZE7*a!S7hFq5-zVT zg;C85c*u7O2fn_j)+>{h_SMC=YMusblY8wIc_qxM-N`W9?Dj% zXBQD85=TamdQicJx|5YwMAm<$Lcm_3%W5FUS{f(<&s8BdPj?D9$+F8jz$H=~PHk77 z!hn#7NYE+9E7hadGD3FsaNt-+;Z_Mv!f$%Ddqf6B!!9IS_Da>E)#&no@a{huKm#!nqJGUe!b8TbEU_*iu;S|l~w=CF;JBL(e|IV@T{b-Q1e5{@b!T|vaS=*EULL_#5Rl_nHro}<*J4D%ST>jb zW3xR$&LE8du_X$vB^<2?sxGm>(Zd&d+8n%;g$rq+9kDS+QAW5F1f#TshRw(|hyaBa z82Sr2!Z=|7h;sso02SmVv^)kn0hdgWIz~WuiPRE=BVr*t5R%aaqksy8DMW~l;+q(O zSQH6YVi5d-^o9|K(ftJJkq`usv}jcV=B{i(1WNW|L6(d*%@RuV2clZAWQG2KU;t4R z1S$-a!3iK0Wjv2UgZx=>$bgi+vN|+QKz>Wzo1-JyF#ri{%|Kig5G@siaWH`}TvM@# z7^TIaIN)%cBLhIXEk_RsPeGOrKEKciGU=o_gpD4?Pbrz3u+;{>YP@Myk1rB6h5#hw4pd0$Z^p`9j=mzPqu7V1J z9Uv7G-2v5g`P@aJs0S80o84C=CaXgzm)uC$BZ~Qh6-g7bOk{)oB}xrlm@$lCh8>|v z9UcKef<-x~DMv`1SubO00F13Gfqff0SH?_cI6)#r_E3`yhIr^5$6I98QG{XknJCjvL&itC|nky zz!5~pvWGAkU=+;h36O-h&j z(pZpu>%~x2!GVq%AdHR!Vm%-f&=XQ&RA?0i=KTgVA_>7tK_v&%2Bi}T069G+@diOH zAQ<;HiuS1G2_q(|h_FbIcoR7wgFPHFw2uN=4hfw{4HqKfxl{Y0!ggE?jghSiP=N#v z(Y|06;yx#mfCL&bLGP*5BDa9P$H5AP7BL?QkJE!%$23*I`eB3iNe~UQN$LvmY*1AB z2*N-?1msL@IXFqUw4sVb(gkJ$pcB=RNWzAR4hEeI5E@J`jEFNt7y*IEB%EN}6J^H$ zpan{SwFzmEsMe_Vqok4$Y9oM647&kS(+`zy01J?>FiO-+A@+sv7G{W2T`^RRTNyMC z3o0T|AP!_J&>7h|n57JI)1q{U^GpN7Z5!I}5ie733W6{^FoRq~1g&)>q>d<#=YYi6 zj01y1C1?;)I?}x%M-Ei4{VRfFQ9v&SanvHp5_?Uu+D>j~tt1LE`4gtaW<9@?ro@dj6saJ)+ix z2_p+ON)#odP3$9ih+jy%it7*vT@V-pI{-*oi6VqSlnaywDK<_CsYF&SB3S})2SM5` z!p$3XbZj^yQMn6)!|sy39QH666;dFeO}4(M<%|$P7fr86i4@G2NO3kElc0SJjv%_G zh-f$)!Xi-{2%UgMgDbWZ>5G_BmP(@}sIP;Kg*pddd5htgkg$oy8+6B@OcMs;u!zP9 z7A~GpWRQU(K`@{LcVTMQ384jn!2_IApm{{H!zGH)*%5GX3ncLzTHy*v1o|O73Go^M zL=!C0+d0`oCniXU z4`?6|`bFu9z?MN60Tvxt2du2o8;kfs(Q6a%rMNWNY}t83)Z3J%thf^jR-%M67_0k{ z6$#m&1h^o{C~4|bq|RS=FCcP&L97KRV4gUv;=s|XjjceEbY)niFyS!qfnhjjuxJR+ zg9wAd0>GYF1TWzGV7gC02@+_7S_}f(<(?IZrFP9q)D^vuQ{gBMi*hIGVU;!@@^#D!Jh zJcLz7O#`LCht}PHIY-FB3Hvy%Kmbo|$JA`V%BR+pGj|TltwoY>5bxeJmIxi7km=|Zy_+WSW&15jw>(&!qc5$ z4e)6ZogF^XBef~IAz$T$Q+f>~G(d(-tq9*sp)x|33d>F2O0iZ(@{$THLeWz|@%T{U zCaDQxmQ0aqcsr0HWxyN~YNL3YA>c+!*+w9f3}-!Ahk@Y5CK2K~Ms^xbZ8)3Jegh6? z0)_Am#Igf9L*Smp!9+War9iPvbws}MfcR*-qSgeq4<`Y6MsW}re2HF#@*-@osgS@G zis}e1VdN#mk>QFxA)TX4c3>w3qLH;O=O$rS3JZ&jMF_E!c?%p%#IOd3)Z4?=rLO@l z0vqTTX&!bcXogMSJ891^azT!UVt#@skzb4fsFE4#;BY#SIAKA>-ev`Cd-r&zWd1Rj z+CWxlqy|?{z%9dF1+po2QqDjlmeKqR5U<3(728?DhjrlaI6T;A^or-*I{fZ%fS?0H z3Hye9p|51rkx4IH<^&+zEWvCrST;ov{IOwYhAR!68ls38xbe`pX1Ei9M1vARP!GWn zNxs&|eU-N41NMfg$k7t=Kq!Q_Z-xM(0{!tY0f7pvUWqo`c8Qn)jw(16hzJI@DC!!o z)J;G-Jruw!eaw;hhVMdPHHo<$^iReSx2LZFaCDHpfSxF{_M@y1aC1Ni^duOO_m!#1w~;W}z5HAdQYhg9^%C3NE8zlt4vc5DbS2<0cn! zM&5-tL*Sa(Alwk6-9E^uIB-NFGO?uy@T(&m6D)4%r#s$r(dI*?LYUbsQe%K5QxE0p$($Y-=swOzdpqOQtS2lx(M6icwd5Q@INz+*nxCrLuVIu-?V@Eapr zfu9bZb5Pd@BYVInyy)xT?&)RiE zAWSe*C?VpTMJSb^c?O;y)e7Nk{IC@8fgGNmoF4r!9zQ&x%3%q=fS_O~r2rj|6(#7h zUMdtKypU2Ux(~$26`RFr6azyeW30Gb@`#HAwk&?=C<`bRC^3chlSG017w&xCA=H)B zhfNvs!Yl*`qbNC(rHs+VQL>5rlS>f84FU!TZ?kG6&fh~!Wic!Y^(m630*28*- zMIRs~LK7YoC*bg3V_7A_6@xke&ru*7)a#(pFV~D$u8z@tLX3f?3D=7jTRkWykh*S_O6qQ(5 zBoqpNfk%NT8(xek6q*FGkCX<6ptDieqED2Xj{|*^Ad=HHP6|~7k=@PB1Hzytx}RAU zPYJ(?xc^Uz7o~sLS^hN4Ux^q&`Y(6ZW;Xk z{2Q58&VL22@lrsQGXIon2SVhPQoUTS$~gb|O7UL^{hOFTNQlb#kLAMd-xWer2IUlB zVEm-uBL)^6aK#gIFxnTmSrTP9(Y%06hvMzI#8nMMZQ^KTo;{@?3I~^8jycD`z{0@9 z!q9|c0303hUSpKhfKO?TCMClC5LJ&WJ9SuqZL0m;Sl!D-j z_|u|D2~@w)5H5m9sE8tJaCBq1&yFI0+iAn0a+~c6M|aA!9_JX1l@x00cumjiEf;}1{2{Yz5#DuFleI3 zM%lrDLZ0maI&QRMLq3fNAQc5~OxM_K9gYP^{VWCt3&BPX)UtzRPf(t!{6r!Yhyy|f zS4PeFJM#IjuU&-r(G^r7_9|_QMMX;e@oG`xSANRN{`ZqLC$p2AE z|9_0O+SCsb9B7#I8LazdbTq%uC(V~@7)_-LJ|FV%% z=%2c#R=@^O7X5<)NUr~(CL$ z9fON8(XfVB1X!|57+WLahXywiC{Bz#!vwKtv4^0s;OGJ~8xbT5hNzUp zn@eV|{TpA{01#~80m1Pc4`O!&ZYv;_C*Dr9#{qf>NH}P24z{oufe?*c!DYx3y?N2{ z+FuAzWYtL6KEw}MoHS4^1QN*6r1T#=D9qE*)W)?!G#6kh1ctbv3jtRoFyo;+fL1-; zkYibKw}~Z zhJ_0=ia{{p#xCGQNWtfh5E=$T41~->!GH)sOgsRJhJF(BW==pncyU9=5edW*pQ8cm z3|s;^9&WuHT>AUj+V$|Vx8!Re^^);|dI)R<(YX*z>7fY>IS17NqhMql1m4w1ue50v zYJ12OfMFCdU-qMmSaLLx(*)x>swS;=q7^AJJq?ddz3>C10YWv2R)bVxmXV@Qk-(pc zA3*y-^UzlvuP#tms#)ah(*#4lsCaNn4WVA6)=F0%pBS8rfeZ+eNrT|^3+_m;j5M{h zHDP^#XCWHwgG2*}h4@BTpcjM%I(YFwa|Tfy!77oqoF)k8vB6;7k8zdo13wwiAffLn zt`*9{vOP!E3{o)TEv~SbWi7*AAa5EBa=`vt77iJZN(F2XMWgSI%o`iHKc;yL3-Ch2 z{!p;}C_<6<1E&+8F`KVjd@!-B2Vn7_hXa>6KwKCi57w175LP_s^2sU~L!ez!gE6;9g&~qWbkBp@Nzk;9Mn7mNHR()knuNCK(I6os;h;C99{~q*3TGM+ zz6MVNEe+*waPd-QG@0kj$~+*w_j_ z@xzj&AT-udg5BeEWI_TUqU^z0H43)@=&X#yD2D>reImgo%v0E(XlMaVPG|{kP;?=LF|0P&W=W)PhyhFMm5DnR)b|FH&FDx-Qx*Z9$v&|9 z(4{mEDVsQf$u~?bn#}2t$uJafgNjoa3;jY0Zf%7BrpO>K&*#q@pv#L15ADaCvga60ZMfiV1BU8BlSK5D-&AGJ5+I%Kg`M2NnneF*La~!BI-tc~(Gcb(ge6DeQnBSdsF-cmfp7&z zIS_7lR6-L*07RmWmoIubwgO1Tn>;Y(G-wP#4&l%H;{cpQ5z;u)dAHJ|l_R9mi%?O@ z%UOEb z8Ve4K^oLskl`@=5QlHW_F!>IZ3YF|tBrPgbfCEF8PZ`!S9XSCS;>iL*`B8@%Tr3C* z@kH|@JyB3yQhX2HPaamMDp}xh=gb7ovZYQ%rWH7XFgl?hT}=@_+_2Dm7X8;C^p+TH zT9um!GgNHB$qAX5MW4~S<7LJ<7nL6W(Z0}Pwb(+5Qi5!_+B4(J1bE#TotZWm65 z5PSwt3?>w$taluWzd-2>n%&FpD@*|dK^Gx1Gg?3na@iOWDv=^XMJUdL-A)WuJg6i* zAT|g2Adz(gV?oQ)QQ|{7+=g^G?!s`$+60YABS652(HV*CH6j2~gj$P@F`0TOfBt^#yt=>&Y*8`4xNE;a`fCV{#oJ&JaY|gWNEPB??Ip z4J14Y+6VOtj269-sgR5R$y?jMLO=iQjTGJgK?(`Bozdce3LID&_dgR;2=-s}{s+fE z<^8V$=b$7|l(r2vIfxuYsdhkeL$*wj1k&H3uM!4JW`y#>z%CpT>kZW^TrRV%a>W5y zhwbfb?cr(Xj&dSY#C9csU;~x0c2JD42-ToC3mFUyHJ6KF*ztzlP<9w5CAZu zQI;740N+p95>V1Ah$;?Y6X5J1ITKNJ2{l|GJ};5UYr^(P9Z;H}pM&siD4IfXJfo$9 zfkQA`4BZ6P7>-_637y%)Ng!@e#Kl5bT43uSb{bKtQZW=28UO$=QoKil@&lEuu|iEy z#4+)!K#z(FDBRj1+9<}Rpd(b1c#0I^aV+%M)Jsbe^8w>@y_Z1f=1iM*_u>brJ^!v|xfEDQqajX>L#H$szY1#xQ2I!P>yu6Sc4< z6wv6Y!Rd)CKNA6!MBxJECB!m;b6hHhro>c`Mo?aZ_ZwO^fclwB0;Zy^goc9#+{LLS z3-UpL6cH)HShJ+juz0utk=6o9VLJ_u9R}DXrz!;s<4%JfSeESz>>i}36~*|Zu+}js zxHcO?uVKh?ZnzNf#-+k}gM0!KMN$#I*|1OpxsbmP-eSltP(p#FiocK>5lL5qC%=3L zxkn&|RUs-assQG2RDKjq03!OS5)e>CD&)e5K?DLp5WrCq0#+hV1WiXqa3jM4xkRZ3 z4_WvjUrf<#oz|8;g7hZu_?Tu}ssFYt-IQYJ?5GY~`i!!;b5 z5C#cgtKbrJ;u|3>JGg#A6JdgI|3Cpg1MMaXo`qbvA;WLl#s=0I%q!p%)+A;dfHz>+ z0Cdi#Ib;|&R6_1m{s^-W;3O8U3AbI~X@kjQykPd2#O#z5iKPvI2Q*2O%!>F3yXduUw%k2q{Be$s9PZu0QjJ;NCXTl8nSmlT`0*=ew5T7RxnMc zI0^UyG%@j9H2wk8B(d^Ch5{8!DkLeE)h6y>0D&tbP$f9%5v2S8j{v17CHD+MZArzr zchEGXR89UAPCvAmv%w>;FTE6qtpS*65z{RWANdPIKE_ML-3ml7BmlB5buPi_FBD_c zSYow7jN0I;23As#ii0Lqad4caw}3m$&jL+$U^^!Fcpcbi0)~LZB zHp(0W+~OML%Nm7Dy0GKY*th!!rgbGYedJN_D~((=syx31mzu%EjoLB#;>} zfIt|s=XA4vemosNKWr@8(+8-42Mzx^MDL!i?#|YpxW1ePaiVZ(xB}m#fMvAegpl!& zfdx}Yb{)_G#bD~Hr{a_$APSzeC%ELewnruvvXaUzJSWZFE zX2RA&OlDcoXJ`fGE#NiCqxo8{h-_zcEzsI}J2<eRZEAlFG(hk9~l6T{jMkwivFArm#682A-B2dpuLnm{hoDTyeK2QnnsGyR<5BhUf32e6;@cDIuu z!xK_8;P?T*z!KvOizHEDU=0m%n=z3Al@|i}HdzpAM!*jlF_3ANSVlyaE}|)V|Hu2r zFToQ_x;&Qic^UVAeG}87_W!1QwExjBC;Y!E_CFr~iMs!Tp#*g|lqvV%cBhaM1JfA= z2#|Wv>lQdsWd2}_hlPoWPpIo5!T?eO6G1eBh4UAf1s=x+6$*GvkSio?OIH!_5p?H~>aB1?M-}1<)0M>PIYp!2iG@$G>pYkP|l1^nWd^*@_CrH9zPBJ`MO=<10eBv z@R%((!d3@JMo`Sk(tu|SiQs`h0Q`jriGKkWLt-M;0J`#95?&KXR3bw27+Le=wjTgD zZ%AJz!KX$LzQ*5^fI+7Pd=Cs+7`)?S)1}jPdFY}j{mXw-YDx$q30H=o$iFcPMEWnq z{|8^o<$px~V`>5>VU_lO<(a_0EF+(9O8+PSU1a_}T)o_F>^#bu@>!`@IKidZ{~2Pi zXPNvL=ih*DY*6X{t%SpW>IVCO!ETQBTnCq)t|gaHpwf~H$(5CU zaAgSvYx+1$=%H+%B5M=`D>B2H(o3QoW0)w4D-i?YLWxoqfvhnAL|G)2 z)*~ns6c!0f6|9X!QDu~*Oq5D11ZGfW^&X3qr~6p0r&Ksp3FO(zTa3YPX}wc` z$`l6_{(cRFLtB{@htFb~DGP5UR4LLB;R*G~RTG_lLLg#2Y=aoZo_a>dm;dFNAAy4s zB0|}870lu)hoBgFo+>~jfnbk@(dTiPzdj{#{XuIcdkJ@Pc`$vt0?m7KQLiAB7e%)# z3bZ8TpE~s_;W8MI?|EhLe~OzsQ@NaGWkNI==6$UO`aDMf`p`pV&C0`C@&ls#(it|k+=kkYBu2iku z^v}qilxmmnM;Y{QXlQIyg#Xt!g^*yC^j|*o{#7Y3E`ekW(E@H?>a@3jRDXQ73m7I? zfF%JV5+rv+wn7n5mhm8^pCQ|W@(#6-yMAz7WYyTc7`IJXo@)%vC9`Iwyf&?gGpGUt zHuZ#Z54Dgh>`U|xrClv8I9@J}F0TDtAn&itDb<4058c42P(bKDL45zv?U0FeN`K0p z%f7gRU|L}`zq)2>Av|r$*B#9+0t8}64lm|{{xVR=@vwDaP$&ZlL#MqvAy5`*{K060 zGAJbGsTe|sBZvWsyue=sCS&os7?+Efa-tC~8ufq)CD@UHX&)7y2FHPa0x;bq(YrVr zU?%`t(?BV0wMz!!L8XeNXXe*|5F1<)!ici^mGzfC6%b+!m|%iA6@Vw+hG2aF7Azig z7&MM8Wr)b2OM|5QAYGHeQkaLLD~l9_e~L_r!cQ3#PtX->6sfO4Od%*;Dsc${Cqazd z1(U$&jYBDIHBm34Wf-cLnO5n1!jy9jA{lY!L42BAC_hqJx@aCmfhs0>eKD&GgWsW1 zT8s$##o=hsUdwo@0x~fM6TrsG2 zkQsKnL6|QzgOfF(fYYK2Ux!%O%R7x4ds#_ z%u=w=Vi2!Gu!-T?XcKI}Ez*&K?uR25fNeLdZ?MV+(_qfMQR#?D>;l?pLzX&aL@D*- z-l&Bb@Ef!PBXFMt7&2znj}L63x(EF2U+5dTbG z5Hv=zG04BT!Dx|I<=c=ACY~q$=oXw3UC|W_IWT?+*3v)`W>`iqZ3SC*jwg5^M?iY| z;CObK^@?{*SFH92F6xTaflTPltVCCJ#o}%XCihNE1VZ#~CvlII##4Gx%5}Z`ph0916t<)gq{N!5RZ#sA()^7$`A|Ep+}^P9shll~R+zYzH^YykX9`u|Nd|50&J>!B^N z3A+cz^ue!&V4)<97Dq<>5xmMu|6Ld;O8+vm%nBSvne=a!9Gf*-p zZ^{wEf}^7YCRh+_y5ypjZ~i~TKvDX~YaZpQR&j$Zi~fy&rGHcXO8c*hn}AXvF$Vrb zrmv?%M-~KuCxm;F+xQdTDLr(d!r1b97|$ab{*^@@)Zy8B_<4XUlaP(uNI+2|XSoS` z(KmWA0TSBK1WiEY%aL41^ypXUfy4$@MF#=tvBlB|V!0~eK~NALNJAB#;4k7JK&(>f z3bd&yDXIf*m(WW|Y&W*f2(}(ihpny$&JNHLIERS?@Ry7R=pS^fD|o|rOTbqqP!g6w zDYuyNm?#C;|B0{U2&edeg`refcgv*zU-Ca0>+>u9KPwFXr2+D`wd-l^5$+y05U7NSa2ymCy~Pqho~mR>5~WB2)a}g z+UIbiIXpcMkJG`)!Nb$l&6Cr?!4^Is`4WX0QJ^0cZpxC&1=k7)83TJD7V7EXWJeXj zCkln&*MB}Y^$Y#O-uE}Yp2e*-r2lgJe-i%R&=}+YSLS~x4x1JGtl0Tii0NGst(CR^ z^ZAPRKYf-y-$WlCRmy)W0{LaY@QT17B!LPB6kVu1VDe;rkn2chO{0mLeXK#;`7y`@ zWp%;(&)@0FK*ay(>tgBuZyo-N;PUtOf24mSWBp41{~}oYXMUDE{}4bgOd2SxfM(0u z{|zD7x6J<^zT^I18UMQi5MK@u?K!~kal#}dcZUQ*x{{!#_=TQ-E`|Xou}JmEwm?6I z*ep&M@eR%au*#wgq)3iT&GwKJ4|C7^()JYg<5N9iDfj07E&!eZL$i`JXCM0{sUH<0=jfrPDv3Z=yv15dVX3WWukM z|5w}ulmf}t!QBR4SAqXc`--Y;YdyKvXy%i}`d)=q#i=8UHF~)mgi4?2PM1DKpTE`O zd$6FnyX{VMqjq-wEVf)~#*}5?FrPHMPRj6Dp5L9_gie_`U9a3(c5Ih}XOnsF9tKkI zD8XA9@HC6STae(Fzt#Rt?FDvk>qw3~UYH!e&>@ahi;>;2SWJJIPr6@P%5du5&$GFr z6WFTG_CYuIjNhF(HY7`}<_cDAnc%M^INHi^RQwz}d~7?|IXdM5*Q43>RkJRn9;wld zRp(bp8`B@=lkS&}GQ28gwx`T}ZqI4<>Wocm(_y>U4tLV{+>F(rXo!{)$JtpKUiG*d zd2bKcEbkrVH1f88K=TpNf%SCuu<9tpb)hGK=@;`!_fJ#le$H*-&8jWe z$TIk1K54ue0-P62-&w5Mi^sNj9p2ut=JX~Dk9XFMde%*Igm?_AkwUl{40!^}n5o0S zV?JrPMn(GP*i36h>t%k|4!Vz8Gt}C3RcNncMz*Y0%5arp>Xbfy5br3CzlzG_NeBJI zRqp*9-*Eh-DQCKx&C`3U%TiN-FN@1V0cQHkeA4|kQHIO9tf5tSH{e{OxKZ5DV~sV# znrNPF=&ICjI-rFtv`^{%HZ20b?F#j}mXqQq6uuPpeYrcxC$#^|@NKLn3jLOc2O^M} z{xY9*zs-uk^)5VUuxv%3vwNa$m|@oJ9o4eB*_}|rhb+KQsrax^hO5%XZvBws)268n zyLGygcevyEpHD)uBgNX_x3ma78e%4(Xehohd z`=Jh6^-O=bZ&}E_fAH;@%>Ju~vf35J6Fm+l>JSWqStraVyC;$RZz=G!8pu_$7>^Qz`I^429t7 zc*A4NCylS3%I&DV;BH-S+}C5?qm@0|z;W3zPi8CBeTvh z!VwkvifV;k&%chxQMsKG)`4b8c*Ay-7XmXc%qKlRPRi{xtG;8r^nFr;ln*HrA8x!B z!MeWcejiU($I{wSUI+|)=96y6MY)|4#`6o^pdL;srdaXwU(FA0Xo}}&3GjcR8w!5W z2wFHdO#hirGLC9~!^+hTuPDA0+F_Q0^7NF{-tcm@$1g{F$}zl3Y7c^1DB@B3*#14M z22OvoLb!8GuTwpLYAk$EpDkt?m9IUbMO9uNCAB+Jx!n@x&!8Ob{<`!DsWJ1&eA4qd zO1WLlPZQH-na_@{aqL9LoZRTPBZmz6S$8?hxSZ`4Ghn7Y=98ueSLJqDQ-`mSPEFSl zr1_|ZyLU=T^U}Q0;v}ny%=1Js9AwGksp90O3|FO7r#-W5r#)`(U(dk(=I}knhmRc8 zRA)6%a4IB`1xr}(Rh;@L!>ca5Qs~|0?Y)}kRWdiLyoqkRbJ4JXDy-U66iUpL%#4%y zq{r*745wPPxXxSJ)i|1>ac#uiS;ulitVgfzf0k8?iDp@1e>{}osO($9vOZibcGG_I z>#^-7SO+)txmkS_s|ilTFTpTN##=SNBxShO(w>};d$~ipam$a*deaZD_}oQ1TO7}7 zOb3Mv5e9@ZvE>NV68c-sZ;UeBCap!o&X2kfr+#&n%82?2y|tT;8(;ODGF&=7UFmR> zmEl&;v}`={n%zN-)iJ}GiaZv-(gn@cD^^>@{*u^rWQ8&@?yw1Fo|sRXF2(|Ug?kh$ zTQggIar*LiyLL}%wspei8npxbBX6gj2ibsElUNWoKxvR6|7#w)|C&HDUp`m&kf8~isW&RzV(y6>RiS!``s2PE!akr;gh zv&?vzPkP)Fl;JkBzZc(R{+<)9U-msVqEEA~qt_NRovFiW{VQB~ls^K#q<&8vu@{mYbLEz4+|wp{sN2){5x(f>{qrfdVP8CBdDf3|Bi)^7c*j*10{Rq=_ko6VFeb zc9}DD7pp1N@1ns5OPROH%5baX-OfDnz4N05;;-3>FXF=w9bb5LEuYnhf?Hg)LI%Ig zC%qqdD&x88GwYqw7ZDzJjKex}3VyWuI<|)Ds4lFUbog56V5WF&mGRrGdU>)xt{ay= zYw-bl&QBU874{+DY?0<~;kP@=e{-Yw0Uj_`EoAUf|=n!!J#wI}q=K6epb0dQwBa1r2b%48?Gng2^IX)$$o`Ohf1AZ8FO6P>yqhT zEDWlkLjY&^_w4_SK>=8~|Ccsz74@!+`4>Z;Yv7;%jv4s<`G@ci;Qw7||5;J9Tr!+; z&VQs>1WA1Ua2fpe{2S;S8C2T;mON<{_~!TK|Ic_roc~htzx>Mo8SwRuD&s#?;4GI6 z3g@Ogf0g`S$vFIPep3ehhX@6Me|h?|Sh&7^kN-09O?%%42b5owb%KiVh(E49fxLErCGd8cpG2{9wjsEow6!Je%@jnb8 zB}}FKuSASi+zXKMSb*~vhLoPzajijW&EFiW&Y*-e-V1Gya@a& z`2W9dq~!g-LPWo0c)!R0q5YRJ1c0eL|No7(QP%wbrRY~S|E2E##)|QOaQ;p8EAv16 z8?(=1mDjARQX=&4%*VgoO0o1$`8HNqSIXl5jEaf>T511TVdyUvkaqwCZS`T-mWT2p z>E@#8z^jm+Q=eTsNE8NkV31ACk`pbK3fbV34iR1~scgaQ+F&j&2nz#FQW^!R1R*92 zUCf(eDLER{6;cD5k&46M?QdIn)(!&i`^6%+^X_vhb)Z&+#n`Oi(d0_0NXKMK-i{-MpU zLKA;t|HU_`)c+}>@E`kL_Wa`_;2N0;z~{%%G|0r?z*HbG@HaIR@XZ6kfd~Hl0}TWM zAvgsE81t}n(as|M8yUg9p88Y%8yZ*2e~Y5=ANlQOZ3A&PNc^|d z*-hip*PrFP9M*3zHvjg@sOd36*VbKp)svT8XLmTPa@6pCm~Eq)#}Y>NI8;0CVZZMe zLcMGgS~(Xq{`}y$*<`K#Y3;4;uh~s*q+2V=qgCGl3$kh_Szp;)>+o&X@pI#C=j|Tc z;aYme^eH^;>>b{#zlP8LkfEOV?_0F6A@O9x8*Sz_itO7jky5y?v zrV=sJoMmPbJm8suZqNEwtJ2n{OG3E538x=hT90|wd2ia$kib?FzZb&10lO1-hV8i# z=YRR^-qc&}$1Z0qKi-`Aj@;DsTjAyuO#yuTy5c zX!F9ru?>=jbe_?mX7d{gQx@X;rpdnd1Dl-hv{i*2me}c;|7lB$&-@{4i;Co zJRZu+f9&;Tud7$u{f`?iKAU=_kIR+l^ZlxZjG3%*^R8hdc8$}0#mCh70S)SnVU7N( zlBpUsd1m{#^o6rdMcmMDVE5_!B$eGFx2qg&1GTyty=JG5HsQ_sv428q%a)VWv~))Q z+`DC_{pgpwvt!MIqsDs}H2i!$%ec2NIWosOeBGuCSDe?c-;rzXI;j7cY0h)Cn{s$Q zHc9I`cR<|6}^H$G@Ja>9#bb+;A~U#t6t zT-|LnqWaR5of~vK>U=&ZJ#y{oG#l;r?b7EzyMD4?y)IKcmJF?{f4JVXPsi*(`yNnB zieJ^L+QCA`I+I-(Wvl0DH~K6gl2f4R-pJ=?y-Tx;>=%nMOX zt0NmSQ#Tzu=f=BXdjHj`pV5WAERU`f9#;KkwztlKu{)piY<)2F#=yrRlGk0#dWCsI zDAl@=Q*FH*Hi!y`ZSj56(?aN!TpcbdIBEuweJ4cU*#_KAF{k5E5qiTyZV64Eh=j}?3Y+|sM(@MX7-m;TVs0nez4cIXP1DQ z!mS_2T|1_=e#TMtE_I^wGjdXUPoF#Oe)Q5y-!6seSlJKfo@$YoIW}%k+OYn!je7R} z=wfhd!T=xLm3dcN>R2why!pJ3!;%8OxqYw9Iy184t$H6=1G5)-gc#=JTwZ zlrgjY;TQ8}nyH-XH@TmeH0bithHh{Ba5}k!89a!xjx-F?zPl{8`Ldm>I?az?wYvj9 z#pn2eVTW5c-=uv)jXz^j#^ld;n^m#-Xe}?p!+g^Q~>O*Jm@VR`y8!@a6UQuQBK1TR$DvGi~(B zPkH0r^|*EYzQ^f$C)(EB-&}o0t%sibo2qIL)^}+tnRIcm%fYA3v_}c{&4&Swopxpj zY;?&miyBvYy#6{;J*9j7u@{WabsfzO^)Nl`tEQP)I6ryO+C0?@!!wTB-kotT`Gj|i z?Ts(DDzG1$Y7)>5^VOg80mqQ#xb2`loTDqcxP5M;hTdVga z7{|JEHnv&1<7jUu^_VU0=PfoSJ$(_>eM`Qodt83kt=28-@|s6h zH9Oa^OT&TJo;KjlTQYdfMakuHOS(KtI&wGJ?x@#pm*dn`a(B}h!hHsyY6=#|i9PDMYcwX9+L3w#@oqtRZxHQJ* z<2$2=;`QB@_j;w{+J8ws^YbqUN;1kiG34}F-s@+~#q-pXaGHwfEYy>6rW`faB-4t3bF zrFDbIvl@N+Tu8sCw>Phq;p16u1HxNRwewe<84#U0xP|sn&-8YN!`=@VwCT-tb#3!T zyENKYU$LsHqfq-sO8N(@>oZQo1vuQjU9kRuy`|}(8uNEpp1r#F?#sydxv}3LSe(nc zIc7^=?U8Njm|ke1y+OJ<=iR={kP#i<#GJVL%;LbaH*dZ?td+Uf&?#GdDEG_L_UEz| zcCPxO+w?IFTn#rgzO(49ii>-zEQ`Z4uhnR#e>mOAef}7YIkP_G#^)yAYZcicjJFtf zt0@PD9MW%K`|8J}j#qm07j<;hSz2wFmfElr?T+8xe!qsJb(+uDPsVlMUpLPgJ+I&7 zT1(!9b+PLkc5dOTY_B!#RV^F7NcMlRB;(T=%cc%ZnmbfyFC4nT&OX=f?Ct9I16LVO z=&*e1wEW1kW42gi@#l_CiD@49$??ItmtI|;9oRl>f2R!}=GVz~-0dtHomWsb*DlLp z@3b#G(dy0n+DKaXb#IZ;V4=IpqA1tAg7`&4QmaI|pY+T(-n#$cC)JhXAADcD{L2gj zc59wNL3r=>>qI`uqlMkJEdTMXMclxz*$(F4SqrZT8l>WOb_CNhtEwXU8$>$lDTV1K**Y#}n z0d32C{htTE3G+o(52W!`@8`6g5z;;GeBaRR&kR2Bex8~!BIx1{-Dd%7nq7SwGpCAO zg!|-+-zCWgx88l7vEpJu>N7jvvkz+pPinyxL|qFlxG=-1$K`3w$5we&GiC7H^{f0; zjs^r124;pOF4LX~iw{~}PyK1IxnC{yRasSP4;{5RIDKlbdxH~RxrUgj_~%*uNKg!aU-qG0T0(ZPU5Z7KYZ88rQ!M=i)ym$*~`wJ zxN&!MbXJvDg?-lyzY+iK@!Y)+61WMXoyX@~co<+F_wC`z_)|?5&)M}M=0`?>`%2B# z3q9IT(eM9d$+U@{m!&Tk{=CuID)wM*2MKp=dRn9Ueh*)L8x(K3WkG|DrZ+oT`8?6s z*lG5plqy42&8PKjJlk|s?ViC?t$s*U8@hdG&8!)9d>-sinKL%S?5WwsCLS3x?TGc3 z4vzJfZaa};Jo0sz&$W74P1G_wj=Zzn?eXn5>G|TF9jh*%&$_n#`SzErwKm*mM@2U@ zqIG&^riW@QIWpGpa*rCmEgOf`d~&ycd^2ay^Vj-!S!=0bnlnv5DN^V(&n5fy$$}=a zD||*AoVR$>uGd{NoL=3Zx=%m+>$dEf20cwStj}5APqbaF{vM~yyZgG_OYWGMw4ytI z<=BY$6`xmiZolg6-73AC1@b%wjy0Q-U2oMifusHS3AtlCB@bQ~k@IT%hc|ELU&;x1 z%(}7qT*A<~c}=bi8QCi9{jw>MQ%&y8STlWby9R3t6CKsp+Z?tyH?5%FuCNhD?hJoZ zx6PfTxU^Qlf6qAJa!6lw9BkFSx-45iF>m=3qotdD=2mk`(u``n@kL198s~W*KSo!5 znXdcua`3mG_q!iH5xPDb0^7FGIycWurOAvQf{07Prk-iqm+yC17r(G(ooub@KXlBA z6{|N5)Od9A^MH>b>H4ZG`%9~iJl3@8qN+YKBgc75HcSlh&gyU4`O5a`gL3O^b58C1 z-8!V>)pc3YDep&GG!u0iDT*21WyI?%&F&@|rb_SLzxe4^gBA%#@3y*EHStn({*KOD zGiEM+WV*Kbx1kF=bld86#iM!q-DkZ_Q%-0Mt=%i2yXKS^omD$>>yJ27zejvE(E*D{ z*O297oK9Yw&?hGMbZ;A;o{?ErtBwP(YwS3TmF zxxKAxQoZib51L_XYwLO5Dclk{F=E{IG|jm5)INj*&VJXq>Eld0^)cH59gLDRrY7*u z9qyjquK!HOiM8$6YE2G}^tTX@TGrI(RHrEq8Xw<%bj|94Mw$9vHzv)R?|fu|OU$e}3!7fmxpsbB{;Y8g@>|%y z|NQjHl&EHUht_sn_HBgiv%Wf0x^?$#vN3SL731Lr3ubMdGR>sp*LE=;lj@t?m_9p$ zKYsh(@rUyAYfayGMSoZ3j<%14^Lsc=$x)3NS9^BL?s;8y>7Q5q9RDb+8Gq4%2hHj= zj*nXw&3^O3z&2Z_-C4=9nTa`O!^a5s4qlX|HfCQ-t6442-H89*VZ1{Hpn^ z^@Hs()kK`fZaGaJeE9I`hx78m`I9bHZ8{+w2&T_4Za^YUBU#W;R&I@ZkX@y%@i zusJ>nIvp#uq>vGHL z0XFXLN7Dx+1U(ehs(oZ!>XjN|H;dr+C*5lu?lmSRH#Bj}^|;2n$IWs$T&3L$U!Cmm z>=8yzey{Q7m7bqz6vtcmYTtML^}Fs#7k$iX_w(`Qi*Kr&e7q#A`IOO`*EHSn=Jg|T ze!`~8hQ4K~IOvbVbVSk=@aJ-o-o9QWr-voFka5Q_63 z7ICrKH7Q!xJCld6)ytr@eX9WuO*{AXZE5z$Ir_XjtR80;HuaJ@^x z`seu$9|ukfSSSho{%RI~Uq`;~E@Ae8T`Ag%Zu(93pk0=OA8y}&d6UTsmkE-C4^N)0nzMiZzz@C_Z5pf>OkB6DttH?7 znSmDBRb^Qp^I+Jz6#7UhUpp279e)(KBan zgT_049P$1>=U8&Bg-3EbhYJT-bWF%dy0W`_M$XpVXTw*yU9zyxUo_mI+Oe80!7)E- zX!h>+UbSYAW0OS}mOb(czkhLd=&PZR%)jLfSSF~si{})+W?9OnnWvIn?>C<}bCkP( zNZ+jFjT2t&TYq)@D3vYhZ+A3kH_O4+;gDrqdbo$fmW;lv8xr=%4L^d~x;yC9-!xBk z?g6JR`$x^I+f_g6YjnXUgX_IAXKl-yaXG%mdCl1kt2^B9kbAeQOE=N1V_S?IC9_Tr zm^REHFt_Od7f#g3f)JBvpXv?grfB^bn<&`lInQ;~-W}#c9vGfp*`{#ox28Y8Kiar> z{k}fw%c7wI=X?|U87KQ1s<2d2x;G6wQ}F$h>i#7@$@R}q-JHD8-=yDx z!sip*{CR2GLkjvYSdrCf$hYXd?Kg)`wL5=L)Z6&UVPQwd=5_V1zt~!soap6QwL=x1 z_2%CVZeQq}BbwTER&w<%w;yfE=;6{Q>SpiPi*kLxOlZRQPPP-OI=JaOIvi;0f9&q& zTcTuXtGNzs3U2W(zQ5SNyY`Sq_PS%Y=pAFX-S+j~+4_xdL`BZkbh!TE?a8qNJSR21 zIj>5~arxrs7u9Mu$QOUwGjG-0yeYct?k&2wpu2aM{udXV9%3-N=_{Lk!>euH_}TvG z6t^8ceu@Id*7o~;HM~^Q zNfKIpZ0d7GI`jSR4TULHJdfF!t4|qquJ5iZGd>kY@Qy4~(Y&3SOo=R~(B6B}9c zy68GT@R_aJaLpw5QwAQVTKxE2WBFIzTcMJ|AIt7{v9z%b9x-Bm6_3;fbLY)o(0{*M zo1alzzuD(r+pu`&4L2^=nwP)jopimL=;eBTY|M^V1Fz5D z?3|p~!l{qLkf9DUeZ?buTaMXr(sWm~JF~Q1qsJVHTt7Ej^t6vj!YYH{k^5$FTvwiJ z;My%VXW6|*HRj}{ZT_@k^1g1*bOU_1hf1eTzfgbZs)6q6i4WG{*e&om2RUc2Sy;*x$OY%5Bd#iNzJBj4oJI))ot!uW$PV0MbTmMBjIonr=mOkCl(bd{mEwgD_P}9suD;}k) zJxldW(Vr0QI(Pf3^Ww$+yo3v#drrNx)oNt&Sl^*T97HNtHTUHDzBY>)`q6T;;ZXHE z19MZlExLWVj&Xx!tCq~luTfL)*~Ir_8;-9(?z8K(DeLD&`+e`=SyyY~WB;qeFHP9| z{ly(K%~Q>eO_}A@davbG;rcqYN6q^FJ>7qtG$Cg3t2?bN7I`_nG$h(GYjS+cFkqMx&WTsnC)Z*X0fXp+^Cd-alG^Y%U!Ge6wMBxAzm zK^YSz0~hCph^#(dp1$jA{teOiT-Oc3x>3Ek4nYm358AulR5HxX<7m*&Q#Jc`y|d8B z^!Q;`Ew#7qjwjzu-eUOf!u@ye-cD{|6xZ!br#2ha9%Mgi&Yx#*TyUq^jlRgN068G_K$IzH=e( z&Rg#G#`D+S-Ph4-$i^p&Pi&ljvFv%2au`~D|QTW`wt z;@!!g%WIl2e!IY+=2k=2Enn4y%^<1}x*q6Vjjx(hpqJe=tFT%_%eV&B?9bY)yz!#O zjpf^(s3yF*5guI4TF=4P_qOBP*KdA&|7vpJg8rhZ7H?Nia&FOfV_MS4eAcvney4l& zb2z`h#oG7BbDzIk@;=YV_27|D26tM|m^1a1ru*D^JBPG8So_JrM|uH$`|XLfTfzH& zw(Z3kJ$xs%>{+9C#(?3eFTE#CE8Kr4xBDf>QwLi=o4zC~v*Ae>orOEc@4hwWYn6;9 zH(TU%3mKyqv1C-z=%c1JwMN+Ot2;yYXy7}ocU+AV>dn_Wnl7y~ylQAiY1M7jJIM2Yb|Ldfsu|M6unWa0sCEx zXl1IFxOgKcy-JoxpKEO=Etjes=`%26XzQy(k}m33%T?{T`O%EVysXqtKW|GMhDa{V z*?aXu$M`vtvp(-fIX9hkX5BN}!7)b<_J}v}7-;bD%!t7*?DccjZFhdYy!MvDd4+8f z2cLI5`ejhdC$=+g8oyt$yK5UCr=tb^E>$%d;{DOlJ+Mt^>TKst5nnpjX=>78?e>rj z^ZHt;UUL{cLXZ(LfIDyS_E8b-EzAcWttG1_o^{Z z1=_1zz6w6D^lo40%wC#!!|{IAbuVmkvUb#(qHXIx@Y*cXTG<2iL*F+#J7vm&0fvLR zwKU0k#u@xP@MuKG*`^mZkKH*sBPwFFo_CEUteHVqh6cSJ>=&waChdWbp3{PCcS%5- zs5u(8nkUpR>lxql*K6zb<#mWzKS6`#^+#+n>7#P*&51S<5jcvE}aidi^Tc^Hndvwjcj;>c~F3%5~zHqM7faUGxPx12Ydu^5P zTmSXWbB-m1Iq6Nj@2zrZ|ILXTGNMvGH8eLn_jF*=Gimy_Lz5w0%#hnsQSH@wR8|Umecd7o-Fb-{x$Sk^gM+z?Pk1lNSKn@R;I&|SVuM`Hpv5y@3mh)G)m2xq zS-8@odh5%HHCrv|^X;x}L$xsHHP)+uW@(Nw56lC-Vp(>*JO^@QM>wVmD{_u9kecPsqLTIG+2Fh?9}H^hIKwY z$l`6)uhj_)E#O;G7Z-}UV!hd6v6Q8#ay4PjM<%SJa3?EkKWLQibX!~Q@ zw$t0!kL}qj&eNd3t?5DS-uDXUT+c12)otST&)KIPc;{R6?~%4t%b`)@3!MWyE}3}n z+G(c=>4U7d9SCS&HSDha)1IyPOZRo({>({zXNrZ}=*1}-4f@4-Xr+DczuDkRqp33= zjEOo`H~PjwtF8R`ZEqgmtnuuvN6O<)Pgr9z2dGW5A2W1|M^n35&!q1X$A&C>|E6u1 ztju;Tp0+ir6OnRhVl69=s`mRkZrHh0b=Jn~O>`Fawj39by4SO0) z95p^IzFy>qdfB(ue7Cyn*5_&TrA8Klv_Y(d`jN3?*RpRmy<9Jr-ziHtsZ#@^*V551 zTL;A5YV2lud*=5Y!7fS3K^`_;#<$X5ap%Yu2fLD===s<@t9~Yb!iN0eW3pbZm9F0X<<|MkyNg%$d;f_)(kka`!JE6+ z?r-eox$UCbrkJT#g^PRkJ2&#m!@7k_aeMRPeosZA=3bNHbcG_f}h+g1x z&BV87!+BOaBfmYl`>dJnfRP{llGI+N<`|E^*7(Lz<9njWWluYIX*_an3_IaWy^t4< zU7XjS&N#Hj@$8n>-?G}a9bvw+^_zXOs{K^Y{@QR$>V->o^+YlEQqLqjSvetd*80xP z-ksXCja#>~+R=f&r(ISa8lR`#qR#BjH(MTjy+hr1uT__BZJa0gt-R+V-F)Nvf-JXj z+6PuiSamgiYN7@u_F# zI*TGRf(||Hxb^(QOov35#I@HyXU*685i+U!v^!IHyqH7%O*{2{I&aYN1QAVT=!dVZ*Xee(gtcD-!;-LKNcHZdJZN1yI&9mk>dt?{r zTo18XJG9=2`zifm59Quo671soW}~I`^o$y@R=#8SGY76zTah}~VBPSI)sI+A{_K2-Z^Ca&`;_LW`mXSc~p)c%Uw%HygY~Q9KKF>YJemB?NUBj$#JPTV> znpNQOSQ|G>l$P1jW%=>8wROj!;eh5qaBGCp38N5f&>tfnEIwjrLhNEz$H+?O#)4Gq zndr?Xgt+nQOo1QcUO@VRra*1~hTARijCTJLQBn7tKmqm99cDL4XcUP*xdN?}(%~{4 zNTx-9=}m_$>E;B32>gCtpKkWTplx&xAQ-n0f(;E4Q9g)1WqAg|sm1inNC4d&bmM!5 z;Qo#*J?S(C9AbEGmNo4q8Xgra0mK>{+rR*LBph$Kek5wI;I`jbaLVcuq}i}*Q?a?d zvdOeRGmWN|y)2HLpEQr9Q^QW2a^i>V)I#tQRrGae zNSSvG47TorT`_QvgDyo8DZ)XyJZDg!>;rRA57o_N+}koFru&1;jvqZ8bbg4dp7 ze1=4J9B5!YX_4XjMQ|mwiiG5|Dd?wH`wi8&dFQ{YKI#_R^q6W1UO2Cisq{BGu<-+A z$ew;{Q~&qVRdnUC84-MX^&8?u1Ev3z5vfwaTB%k5RV2R@2#qzoI??fc9>Ej*_B8cK zXDYRYNod~A%*<5#j+2h=opagaEHc3aJ(wBfDL?)!*IC9Y^bzCc&9ke8I?cMUHula) z?e+$XE}in^(xQ=_ErAu2N!kkQ(8KW83scZ}1y}3Sx89L6``pPox07-;w&pDV9^iL> zK(6Yim5tuoorgKCluzYXF=6VZuyR_;(N!Z?j2#J=;-tvKd74r2dVY32T`rqrages0 zxJY~zdu|k8KR=1V6*F&{wsZdXTmjq|p+lH*BaDU!GBW`}t zrU9i_EW!LRg9;fZNScw<8#ElUiYxN~r} zu4o8pSii?^mS`_O_O`^Clab-)vo0x3#!6vCP>}Qcj62+ul+U^O z{G?Oe5V&sTOocjq*E_vw4qMKf+fOS(@3>v^3q_Cb=S!zK`gK^r@BMVv;66iI^Yqr* zc2?+LCwsm9fzQq7TkHmn?QnPZs;uMh2fG%;+uM}`Luc*q=j+ku?dd^oADuaE_Q~mQ zulGk_K0?6Vso|JP*D`R0nQ47bTeBY#=KYsOOOYxQaxjkbe4ESQD=Njz+5^=>HnnIu z)Pc&KOe>mu$9>WL&J?$xUW{ORcTiTx9@Y$J2C~W!ma1=a@e822V0p2+ zpp#OIt)-8NUr`77VZ4+3u%`#z4aMU88#@9+BvoQz;P}&B$(Xpq5!AlZ($j+LKwIYh z(&fQ7Z?8fyV#!F^vA3R-U*wGes5Mtdas`hL`s}IRbsB_l-lC)6w~IZACa0;K7SUw! zP9=iKPH~%;c%;i6VAd}asT3aY#dTmQrlNZKcmQ5NHZQ}W0(NU(ifP%a)>MZaKdolc{9yjIkS*D_NNl9y&~P_pPNXD&6g3B%KT|ur z*%LRv*bmr0wh(rZ0$qV`7Z2>h@GF3L*T3AhIKSOX6*Ika{QJ!wJkWm8$o;_VFuJDT zx3toHH|j*sJ;y}?AtHKuCyNObnalEHOj~U57~f{(B|v|8lpfF4Jrc}RoXvj%M+7(n z5JwI^GY>8IF?M#X0C#FvMMXR8aP?^H&-C($NrAIRXeq-HoRF#{;J%N+2)O3*qft{0 zAc0q6chm~`p0}^`$08C?LkeGt=|D(;odLKDXFrA(l-`=D3J0v3)}$c62Hg=9TtU9^ z+R$7BVh+x52Ks(lbeDSV9Wt?kG3?SL1l#nPSmRz1k|jJVM-1S`aUJaENe^k0fTAY_ zE@xGdO05lCj9&!a7}ZYnWh2pSuk?+?W7 z2~SoRL$%X{U~&92sf`(y6qH7(dq!nm3)c$qZ-k@jR_q)5W@n8gxv$sE_j()i^q z!h~;3@7et#PB>-OH9G7WGTqWbIXG0-Td+~vgA9oTlMS{OsK3A5JCSrGpyF=difn)_ zyB#1mj|a$(;Jj#Nk{2JU1@XW=vle2P%<;{zRRS`qi0KC2p>I`RI&1oY=fi{Rvfk7| zhM6AP>LRC^J&%B2%TSSB|W4I$~W#4lJUJ~e(*%2am3w`1q#OCuYGcnHvg4 znv>Tm;)^gvVcb|fIx%9uRV$FUbi(O{k6Z2l`4<-+x5*wlrM#WM(CCYaas#+&E7Sob zMG+ARc*&!$5)#+*Da8HaUTX=Uw{yGLKvoGp@cdurd*}tKtruM$KLa%*W+%tz2Cs&U z@dX-jQ&3eU6EGwQ!hGfijss8uxc%h5J1^D%Q=vD&C)Q;_;?*;m*G!(W-G-%24 z*?SBU=z@|{s<+I6i7R5M^r1bSvwQ%W$ zXWa__>*n4WQ;v#bs74}zf_or9+i5G*GZ8at~8+t&F~$A z9Q!x(rklh=!|`GnYaO>^7?H;^?sQE#HCP1wk$qWBXt^E0b7xNu>m!bXClDRj@XKP`A=u9RuOvm*z%ICbK z?h2~QM`Z-d=rU0SB@eRMkq-r9;{U)4iBt59)MlhlqV-s)L$SrrQ=Hf5Oq4zONlvH{ zh}ECR3Cd!+$h69#Ws0PDD~9DcG30@0=B_RRCeOJJVA5oCssPR&V{2z?Yl79L$+r90 zJM>FEOO_)134n{w0R^&s#)9{Z?m2hh1BYcsf+j71?A~=o4}EjBJDJ)Q!D~y273Mo5 z{1@@Vm{!Kl(h5}{ny}$dhE`L3Z5#C_iJOp-mfz4mv1TaLKjU%`@gqMgbL^B;Evp)1 zTU?SD0o6PFqHlRdTAJ)J3;{6f$dF~K3C<4j^u?ClkA`~Q>>LzED5(oJr-VMs0LX#q zXHYAI^NZIq#U8OVu0T$9_w6lO+zzB5MvdP@%J>Rq5tYcwP9NN7sFCE&466`%wz;xR zOG9OEtI1Y6m~3-MlTpPuvS3aQ$sHFXr*j;6Te*G70=!m6fOfQdoaIMyIc0hU#z@6n z(@Rd#NgVhbdQ1>C8LF|3c)7Wxr1RZ)aE%#O{+%wH{gt*pu|%uL0ELM%xX=pO6xZuz z0;Y@n%dVo|8k)rjrhowvF03)-;bIEG30}Ij9)p0jqhHSG3%QEX zINYvj!ou;a^nz&q@k4xeWSp)KCy31gmyo!jQuTw=(#ty#c+*F&u`phu@Fp9zx>ydY zf$1R*3I0?YE(rIbV#XrQKR)w9=EUm+?&Fq4b2jvl(vY!DSyKhv$PFk2$EgZ49`z9L8lq_V=qh zW)#!KSERDwF-S3$uG9`pT6N;}CF8U)Sk!*#U66il0GOREysic(1P+Wai8*<2M?Eo| z(#Z?OMN-S_-X1{Ay%>a^t-WDqurCJmC?snjEkXkNn=XkEF6l^l@8X+97v63fpZgBl z`Z*_i7;Gs??f**o(aCLojpCcos_k?CJBRtP5_}B z)q4%p>1vmt!UOcY%p}dc^!ya5A{7*^G|j9y(bc`={FIDh>13p&>++d0paHa;X`;Hh zJ+gh1CSw;BU_xI{DXVST!b`nL&?JaSNS26DD~!%b?2IzAk!{LU-5&|=oE}Nuic6+k z0;*@Gd;R_0S|zdisARz|m%Wg8c)x`-;!q4l-DDb1*8*=rY3ta?S+Vv^W4%GE0}#$3 zSR)z63sG$#*xaf4bBcsJLN7R*36I&7fICU%95(^+;=QZe%(=S({cqWUM=}A7fwhd~ zqpqIERzQRQsB(%@(DYMOWPBC4f;64WW)8ig-_FKphiR7I{vlH11tsOI7jIkmgN+25 zRzr4!jWDnS>h2~&*j9vVzKMQb2xIseX52NPRh<5Wc5d9Ezh&+C*mGxMtkgf^8@oLJ2O zJOdS1wwFwHYa9&R2_I0%jJ->jww^oqF4mGFxnY`s9P+OA-7!kJvK=maPD*>oY0b#~ znt>_);)s!iAr>@iS$kw(K4AU!F(gy_nF%3g1NmdQ7h2`sMEYn!%-V(mWMz?*noFVF z@A06xG7kAkH`_G#8W95KR1{dv7s-c0`*z2(_4}5yA>aIE{}c9^M{0A<kkNqpp4it2K284s9_to)r$Btqu);? z=nH;j_3vrv$V+GiZrDAbh9ELmMUZ}6^~~jkGE&vV4PM`K`&(vV#f98DLGJ)V+Tr~! z-q|Syenpv;mJeQ7N{_N1kMFXjFy@e^lBf+if2nU55?+ohmq3RlcDl)%x6@etE4voR zVtErBHcwq|oI=^9vI4#Xb>X)HFZ`lycMrFiSaE)rn4P3j^2#ugn4Yy@Q5*o*gqU*4 zuzt>TZOb)=Mx&nC=+1Qt4{+yt`cf28XORizjhu3q&Ji7}S zT)TM?7=3UOqnN@~{3Sc2w!~K#6(>cahmXNWq8MWxJYjo#zyN4kN-g{e0j5k5yJJ7V zHm1Gz+{SPt>L0qo;VTqWFT&W%{d_g7Lx%p15wwiDPahUDEV$7ULf@WHCPpA5CSsiV z?=dU4*=(}LoQ~K-_--iPpnSu7u;$hS#g$NuP`v9|_C;LK=r)m{pwxnu@-Iiu{;EAu`Q-Wx;oVmXn449HmR6o!hl7 z6+(f!N5>OkZtBLC?DV$ST(@`feqZPNcx=6>=@vncmqo6{_C(D1sC{Q~yUs#>cj7xyspuWs(MdH8TvTm-RF zgm|Fb87{Vm9ySL`&2(LS$jJ6qQ$16U0b?8Jj>nesqdg>ExAt+Dg|I#Oq)w@dUfBfg ziF;_ABqdakUoKsR*KkYILrUio5&fZCgU>}V7OuPM1$(Agay5fICIE9GHqq2J_Hb`x zH(7T^V;a)1Boft(`!8=3pt2^RVo}0*TjT=LOOt2jL2YbL} zCxW_;zj;Y<(VbsEJ?ZAU#uql%ty6N6wfM+=ct0po62!nLs5v9*zbH&vX z>kdI0`BMuCj=;J6wZNvNX@|eVZjLA?VlUhadnvCl{7WbPqz{nBoy@VWvDmQ%=d?21 z7}S6}hGfoNVncb_&J>5`W26a!NRgaT{F;skrBdodr#V560FU6I^hok2m-Q4Kyr4y3 z)A7CGb-@J-0H^VDa1npLq9Aen7$`Hf2onBebabhLLL8n5c8%LNo0VjU|>O6I4m zIidwUicf_wU<6~-?x~q&He!%z;pCNe)8pd>D9|2E^BW892rOfl%N9wAT5@(Upb`mA zggsXV6oonf90nV9u81ujB|ce}fs#ohBnAu?&s>OR=zKB5>&QR}zSvZg+-_HG&(7KE zGCTIS>hrRga;1IMR_9=f-jqilm#Z>mHjTy;y;$8_wbQeJ$-3&55ruu7RF?rs8DT+p z^VQ?2uLzd;6vWYQ6D$%RH~RFRV9N*?$y`{&6booV)rr~!cw-fc`*~8DAw~qJY=1Z1 zAeQFZ4XnJ^0eLG}5Cm*Xv%kHjsaYDE5hVt_R5- zHtM@vU#;#{k?55+QW7+*$MZVMkTiF~Ojp8a=dWTQC_;1>Zs+|MHBHhrbsMeLN5fxL z`Y|NTpKfipTCw0$-MwKP#Q^o#2i9os?!EeZOY8{8 zsTdsHPl~@RUE^ipXCdIsxiE~pVQv(@sKVxKCW5&co-GFc%r(c51DM6%oMo!p{RF(2 zM0_Ql(NwA7j)CC7TLCOhFQ%CynCD#n`^a=mmk!zwwUZscABSPD`1;OnyF!-jQ35d? zJxCLv8Thxd_P4Wj3Ecy5HNDAhO(DF8m-Z7OElB;5pj9na*QG znDOV8ik{gzU>31X`2{*5rynnc4U1AG)HFAGx!XNo{@eY=-xP0;QS} zHc^U0rb%~L>R2wYmoshmGXFyKh%3VnkOcH1Jww@>DsL%tB0T%Z{GNi!nxhw8h&gs| zJF*Cpj=$JsynWGXA+-c~1}g0%`WfwI2T;?CZAaL%!HSCv7IIaoFT*aNefvt#r6R|3 zGl!Fj!OziM+cV;Ug#McN{M-4ZgiSu+h`(i69j%%CgXx5xcBL&oJAJ0jllUrXayF^< zTuy}aqjGtEC`~6wZ%;_?*$abci6r-@aRmCtEHPvv>NXJKZ)Q9t{)yFD2M zlKZi^zsr8ZLKpmtgCfWc|2jrdbmcVTW3x?4a|;X9<gW;%hfMKf)=dnt}_t=FP}yFne8+3#W<~5~sRc{->7d7-Py5bzqMNWu>8d zcGgR@dDs>Ktzv7YCuIeyq3FI^P^>c|{<{gf+37X2p)s}eTMVqOqLY}Ol%$cEkq53; zReb*{_yAfE3ATN8IB>yPcyS8)U0@ZZgskkO++UeW`LN-p>h|TEhV^2nu4Usk)VW2g zpjt8D!y}pZ1lSto^1KLieLOj0s3G zP=wr~bin{Pshd$jEQ*L!5&=XoYC94;q5JxGxCqMkt#4DYP5X4oazC2;>EZO0x3KQq z(Rr|wGDUZu(p~2`y-%XfT+T#^TVsAcwB>kOqFKz?eO)i+;_U*LDGTpx?tDBf*!Qx* z6E#sYnF6iW!icg15@B*tP9@2>F&(zN6tVNRiqx6Tg5Wz->3NU|#C-+4VXI!BR$ov5 z;>}iUusoeXl>E6bb9WaH4qQgK2D9;NnyUFJ-R%jzJz7;3biNLJZ#0SLSoO6P9u@kE@CzaAy!7I}1X?IIjs6w#~EzaCh;65Nl zDphKFAD(x0P0d7tf`;5^ZeQmbX{4`lto=!u{)vzMCPtbLeRM5M>%~nz+aTW>SI&d0ULp+7m&Kr6a{9lZj0d>Q9`8 ziMgK<%n`{QfVCv&LF%N_Aahz4O$-m_vPx`#92LU~?3>u}XJEm3_E7_(5nviNR7d*6FGVamVt6#0*-7tw%x?X{ zR)3m=I<_i9jfv&vFlyED21^Q{J;$GBnYc>w0U~aCxGGbq^4HscmH1Jf)Dg- zT@NQnvD6-%6yy;@RDlW*Kz7k&?szQX>gTW^U`OEA+jQ^_W?i^_pTsi!1uOdW=ME?U zGV-1HMMw=n=-ryAEC8cMSSVvZu>MQfZln)2TX?%8-X+UDZ_H8lqE1^9vK685&Juc6 zWk}fMAf>OKg<&@c9T&ns2BwdQddM^G1R{5xC1>EWyijVtmDdQ}CY(!iO) zOEYCi|7Zv8M2QJAYjsW!WOvr#ejEG&oP`gCMRns)T;%vy%RUy!UgbS*70La}hEbl9 zD${et5-7#W4&q<~sBW$XwH1_n#)pm74TSwW@<-+qpQap>e*6sAzoA%JYw!DB{efLd zo0_ll->kf;MHGPU^sDQ?mo%NW2_`RZ$W+%+_Cm4>H8m(NuP=eq%PTbGg9{Yw{gd-5 zH5J`H5CD!IDo_K#zf1EUWC%=%BKqnx>}qPX5h0gEme}T0VvT%gN73abfw=<#fBn@x zR~|KzQoRQTciK}cO!9u@@^oK+GKLvzn?VtYIE$DxE(Ga~ZvmP$2EloS21+nn6j%1_ zegBd^Od{C*s{}Di3h;X7y>0(&7WMODx7dPiuVWw^>}ZBIcJ_z~Gr5Q(K|zBsGC)fB zX4X7V3(-XorxO^22vR8qYu3*7p}`nDM1v7rLsAGhL*976U#@(SA~dWFtk2TjbLLfo z_tT#2Rn3%=)S{#tW{+5tRhBz7K2K95R;Q&9c1C8!jeof%#PPc`Lz)Hr?IPXdR#z*< zD|$+6ntn!LhEDNoSh)o2QrL|LhvMtvg5{SKu`QZ7PQnc*O=p-M>KQq0p!!Ocvs%g#^Vt3k*tPpDXsPr*;k+CDT986^z} z!Q>465G6I2;sgkAe2WWI@gE!UztG5k%t6%bKWJoSa%$4VK{v~_uui`C;s&$jOy@T0 zSKrJk0uX@y6d}16$pbJYwi{}I0Y&VUXE=ne!{uyeyrpF!PqJ7i6C2qg$sviVr@KXI zPBIw2=Nw1Q$w4jSatb4+Y47V2h+8L8+HoIiq z55VsUHe3nuUuGseZgy&tCL(V2pFe7==S=Xu?A6A1=8!wn&|Q9~-1V8<`43=__&*Q^ z#>%=rN=BC6q>|b#JEO{(+!=2W>kI-YC}+uehUYL$9evgG&g0qMc2#LM7~Lha8E$9t zUzEZ^l9smObi=0WteTE3Q@^q(B)SpizkJeb4yV)ruku_PH-G`~9@&>hS4P+Et0kYtn*1&9{krVWV_F(voUt2arBm>rVMhfzWocaQh$%@I0(47T-%bj3)u zn+pDxTGbJ#?!||}k=fr>}WgCZ)m_(0=vYZvERAzm@{h^7WB*jpTXumIhx+$NO=0c0O;W?IiI&NM4H^xqv z8K})LZue@8mhUS+leh5VUw^~NB}TAZ_(lWMKiG0MKqHX(du6P^GT(gL?zcBOSb?W#M%nwB-hG}_LDtBnGIR*T`Vi)0iSo{H0@i7ROwQVq!| zE`kDVVBX2PsU$)D1Q}G9BAQ^zjUfr;&AkpIF+m;jf`GSeORi^0IV`n^q+T=}buqOR zv#T-IFsJRa!r0<12@{6usC-t5&6^u;_Ads#w-XQqyMz{Se^hhLyqj}K#v@m4*J#t8 z9b9rjj`wot#)QuS@cTpRhV(rCUS)2iv4p4Rknc&7hwr{1Jp&2R7g6%or6}aS#ToYX z!QyrrsYV<0~W zESLtm2(<{`qQ#e3E^!|G!u(+e`_Aw@7!bI+89d)ACK2X|AGaQ9JiW~j^rM#d6PN=& zjsoH?N9;cFN7jOZW@`wpS~cj}vDDpY$b&0z$=F_~L-dFF!LBANS*9%SIuw94g9IZv zDX%3M1XAU1MlOdZghqug89{DlczVWfxhQ9F2_3L;t6_^CA?OS^Yt(A9ZA}!5hzy&p zfsI<|g&{OgW}Fo-QVc(AIvaj3b&QG2S+LxDW64}@oZ0j=$z!yS>!z_exzW8mr+lMV zw|{)V{QUqZJ#-PL9+KaUn3lT=kh2I^o7_0msciZAyt0;xW7GGwHOBmofu7y8WCs}V z+l*PeeKlQyi<9@TPx!cg3Xgu`=w~VTedQ@majPd1(+z8Q2>^A$oaD5!F9P_8XZDeg z?BrQk5XIp$U9dmFhs}o@eGkG2lR8EFC3W(tyJ0}M5{;tzyx-$c7~Mg3e=fr&iD8>| zu2YC!hE67)?e2U0VyWaV-%evB`=Spx1P3@l4-@{Ub#V><0kuO@2pG4N!dEIBkLC~Jg-55NhShF6rtW|XlO{=T(Q>-tHEw)bRCiaG_4dJ&HV7t(bau;l5z3t45Dbt(7_6L9~U0}4L1S=c>f>K)kQ94>uD>7 zpr|Yu2L%vhCS%J7|F6jY-zww5_Bwwhi(bd+?QUI59oOM_CMka>A{^d$^wrfoH)v5t zgbGBaO$m}U66?>954*E4q?(P$oUxxM2FODR)fxL!uhTGLUedKHT{1%^Ruaq{1lvV3 zjPJ<{py(!3K@}bAG_&1sGEgQ>?#m48>6TkkSZFgCMzg=#O@?jFy8Oo zIW%arEp=R1nmA#Y3Z4(n4pzYzZNl3+bSr!k5!bRxzVTN`5ZL)kTEOIjE`j?KcMwn! zx+FSyn4x&}NCYD~Ef8sim2$iaehR7vEg*vBf`xA%6^Gw z8=&k}3TXUMaGFGX+iD+(K_H1|!hIA7CJF#JCMiLdBeR-8hIC9wCuc55FoKn1LW;;> zSlaVF(aOMT*ZeylV5({~CIjj|+;U`AkjTw&PFc~6Eq*Q{aXnL5%N_Lfq(NjLE7WiA zk-N(_ATk}kknjLRD$Lj)KIeiUM>R`e3mP-@Tdf~5=3ZlBB~lEH9fBFaT*jpSpu)+;&sJ#md{`YII8H>#j-=Bl)+0Zum`^CLGxtKZjM4-88SR=c< zJwOU?Xt5-;I5x6Pz`dBHPCuYABOdQ#x|;>;-Z9Y*kzGg0lBa);5~MZ9w<*dVbjb{J zGo1)D)=p6dMMaZokAF`&@F>8iIAP}?J69;9(0q1G^A^8BKW-jMcbc4;u8C@#LBIk3 zL1hACn>@*BT8b#b!|#A}DT^{x!}f5l0Ffvn<#Jd`l&!>uiVRHi0;m0Lvqt>G(QSYo zE-lrhYR9p2)c3T2O);lpVWcV8cGhAPObl~StX0|NkAWm%CM~Zg*bU^;b08h>pC9xJg}1|8G~7!PrA+438rd17&(^3D-gmLg<+;qFW=XR-jV`zA(c9W$1C+2Ti`F z&N4<#PvCAKaRPzcp8_!!6#hPRMEj!J#BpjB>nTgTVumW3ZpbBkEMKR|_Y;@FN4wtJ z*UeMD(`!Ed%jWNV`OWTnbeFh~QNOqxE>=`MfW&^A`7we@;jfGZC%yXXD^*SUnkrO( zXGE{)K_0753)(Qzhv^cCE+gS2s*L3u3u|f=tcoYpDNR?384HD@YTDhK{8fCMy!ig} z_54lDH*&aSJ>qZ*n2=Qloo~2Dv=pJ)oy`nun9oPlXfD}o_pO7Qa~7>#V5+1{Z{Cic zZ3Z6(i!~Bs9+J!~dPn6)ieP(aYOav`#`a-Sj4H*!>1KGfNQR$w22lSYaJ-pH$Y@qs za#ivT236#)5%+QqPPC42Cd2_$5T} z86&O!?3ZSEjB;!Beh32@onZ}*E42L@0}59QE7weUieo{W!^Z}-{a3+p0-M499B^Tl zuk&cB{870^hHPfNeN@oBfIdPf6(|3&I5W|wLMPou1&ek_)J$&&t_EQ9%GD{AW7$jz zj%w2=Ri5F9MXw0CwPNdjPerVBL~RklnRTsT>0fU@Q{ya0X4Pt>u(~xQw9y8ukah@Z zXpi_oW7?7X#yZlC4l_hHj>nw9A( z9cZ{57&`h6QUq%{-M({@P)6%P%rV@%A>Qvp`?iK}T`>=E@=M5*e%=)h7S6X|CZi>VHo-nA2x^rM1z(&{SPlV^ z`ZOw!-o5?LkQ1yO%xiR0y=vYZCn$0R*$X*B7QdYe`-$k8TMMm(aRJ0*~rjVxYfaj1FID44ALJM9_ny(lA zV@343gQSh|D^Yyt!6XgC0Kd)_1>b6DyTybtgk?V^|8@uAMf+Mvz~1<9H^jFr=Fx@!{Sz0h`=KO*>ko=BS z$WcdTKQj97QmX~?38-)&$^l%FyP}(HOhm6OOMSsJFXo!7Wk%Nm{SFVb+OOLJDN7S8 zY`rVQ!bIOue-je@Clwyn!TJ8mT`%2HNqcydL~~;oc!6~PGP!wasUZObFarnD zYtl%^1P~#+_!M{y3^L(FM`EN6Ia13p7uIc5*EC}f*tq=&ovg8dxIH23Ph}r|)jD(g zGWuEaBBI4Jw5R?=V+C1ik=E(R3nu+tonzHjYG{dlwLTW*Oq468NkfLVp2oyZf}ijn znV1+HFS#JoB}4l~Di||BCmJb?7DJa96^KtCWD&)#WF9VJ_&0h>f1S`!oUuRLEY&F{ zvSb-8j{TbF-^A@7^4a3Y@rw(v7{J-WvIgORc{HBE;Op=Z8+}8<@-@FYy}x?y?nC|+ z)HlKDoq8slmqUhC-!5H|G@o~;i$)p=guRhN+)&w(A$w54|J*8fzi*!TAmoY{U2XCb zOUS`c^U_=LQub2f(pz)k*VbF|)DaRaLP1e{j+SP%X?tA}d87`EQXNE(5U%|Y3k7EC8`P&Pu8c!OKH?a7=T<)OVPwuPam!7^!i!D@I~%c!kYBxA>WZ=)aA#3@QxgNIt5 zc*QkEVI0Ct51u3nf>ei0qJFe)o%#WHs&CXT|JHwbfl9k{!zPDqifGH6ob=Kc% zvLrReG)8q7hlDl|lt(u8=`Rz2^p8mvaY_!hC6_gt*yuq6i85w)M6cKwoSi=VzT~?Y zR$Tw1ez5FEB#L=g1;yuRQLzZ|O3Vtsodk4kz=$Kgc6CZl4ZcrHJo>wEaKx+E-)iNRmL38c-{;X zIVcGGiz-%KrGd-9IsbX0x@sz|_XFbx3>DFQeT*2S>yfP*Hz_qJfD$TsP6m7f;{I@p zQVckb+=fovYVC+6pD9dc9@^gQR#ayI`6Q}yp44tb-MshmZ^rh0vibF>wVmd{V%cBF z=KeS9_%%#HM{~D7oulhJ(&I!I~^=SSw7RX4t+;*3If1kFqO)-TSQgL7{>a;orCnou>@jqL( zO*6JN0RaG&f<)In^DpA>R^PQh;6U&@t;3i{kGJSpz0mWz5N<8$oOc8i?5MhEZj?Dt zunx*;!KL8Z{`EWj3IG9`)O(Euk3Y<~_t~BDfkStoUyM13LI>{tJXU{8pJzQp zsJ{~(6QSc++=~cTPOpZEmN{~v>yt%F*W!m&F3r$l{KQ~47!oF9i6THoR5sAVXrqL^ zFWbWGBQIr11FFq&pKAi!cBLoS`mDtIyQC1ev-Wqykw|h|;L1UQ@!9AR7I+ z)F4Aq$$+=5Xko5jIHbR}kEK3@>hmack8GSBGPCuw$3SoVkNP57mQ@6bx~IWQD3pz3 zdGl(or(@OE?f$+8^_xpO6^WRguksHQGHvq_zpB54D?1Pi}eFom-o z%Zqce=2uw^`ejKp95CAWnK6j%r0I&1?{FxA(iobxwn+dq&Xs-hb_o|nd&Sm)h!Qtz za9OIZwWv{U?qx1=ack~yWfaIsb48kYIR)eGiRZ1c6YjAgGz;E*7!4(VepUq|A(}5iq0f#yL3A2*tTukwr#s( z+qTuQoi|R$wr$(ivDFRm#)0YFwFyn_l&j4i<$i=;E^*Fj;inrdROD7Nix?~D6vj--gwzA(l3+-trE25x$_tZys3Dn_P9a0(6Rc$-iQi{5 zfX_anz(bJ;A(`Mku%J13w;S^oj#h4ex+{IUrL<<}!-gu~XXyZXBSwTiF!taF7HK1s z>b*re+)0^Kt(23;ENsqm%E9xCsfxcrz+dV7&P*u>*tAb9= z#L3RC9XE^TQ*CP0FuE0JFIq-VPJ@owWBxRQtsTrA2S*Z~s?mc%+d4gfYHx#48GHSK z9^5)>ODaa>dcyjAQK#&TeK$OTAaT!y89h0A5_qT-ys>SH;lB0!?0$|lCXym;=?Vp- z{g}1R41H#iJYxA+JNM%ZRt+j_BvtOhr4H(91qm}hmYWQ@ds7gZOUIbJy4o3NL0QP3Fz=z3HcqXIj&|$H=f0x}`b__UFYN{J6 za#F2mvlLzpTcZ`aV-m=wtqFem+yJ_8V+-`-c6Mg5>sW}FjhiDL;l1VR zXL*`ZD|lac#E4SskfRp>hZIj{(d};5OR`RQxKFEB1uN4QEl!c@l?T~mprunLZ#76o z!?P=}Jl{d=gpED0xn=`h@SXDgSQ4EA(^uxEI zBR$QkPjBIiykbGX%&NEa64W>Aq1CcXT}u?en7an7)%Gv_e9gD93qD@>F+|+KCvygG z*K^n*^)=>E(k;u$2MEb@YEiwx585QD_Xi^J(>&}8MZ`bF}Ccv%WE zNmud?=p_B!XAptT@J0>5>CKtPE|Uy}_D`7%BV9+KD^FC(v4i7RZhl7*wq^mq;6`0G z^s|PIfQ7l(Xt1c*LI4vXL~zS#jF~+YXVeH(?XU(Byh}!G2~%tFN^{&b*v9+&XQ3)_ zB8wEBi07R{qR14uZsEY$t?6FBKKl4bq9<|;IZE4xl_gtN1 zsh3nSbr8T?Ksk0UcmTdx?Q+x#vKj?99KUDYug18#@xYTv*eowIsE($PZp)lb(G1P- zdRMX0f1m8Nds7bZRruA*ux_U7=Aju2f3$psOyx$mttuTC{daF!yCfqkL|t0ubJW+drYhpI9Hl0d&f3ph0V*{hpBt< zyZ_Xd9>r(;Jni3Wm7C9>^@P43>JReLk^xh2N=mNrO>Cyt*#CIU1Knou-}T47hE*?R zFPpX&jEp6-w6+LhkL2-J|mdiB4jkEuF(ewN-pX+-;V4ur0s^F($KPL;Z)^2J~j zPIg>DAGo6-w>GFC!OYyqQH_k1BvpmtL-(~pA}UpVl5>Eb8pJ4xIo`GxbAdM~dcz9U zKP_wwJ)Hj2j_2;)(nQq}!+=q(5uF+itKXtynBKk&e{AP^xbI?tYCHmkjG>Ap6azGg zWuQ`L3Ux7i^U8koi(HT!L({JySIa*i+%~3=*v)_+{X)Tt1il=9i}S0SOao&F7^&?? zpNIr1I5gHgTPgy#+A;{x!S447F-lQb5IKPaWQ02TRL4*bk&~;cf>n{>NC3D-vlM(B zarJaW?<@5qoRgf19T%`rzLXtBJ=3%ez#ODj64Q^WfXn@>QRXreQk{xhca2zqX_=K7 zL(s?$*C_tc$WAxl3L{;C$6Lzu7%+wX;q$*A<;jlQk#2oq>C)7wqfc73L89%eP@qkD+OZ$N+mPRbV6#dj&8`1z3PS#>(gw=yny?KIy#I&j~2S&!T4=IUU znOKdWcK0iVKvd!H+8^7fiUL2o_Z3Uu5wbP~{*M=bTU}U8Ap)9?qtv^1Rd1j$&A)v(9`; z2l-fIhx+O1`}N1G74YCe@dNwdqQWar;W44-@G~aylxG3%5VAvkuEs$XibYsNG%<;N z%WR^ol-NwEG;_^&XtXP~YW&I*XB({%vFx6#3+d*>fA#BE(H;^J@a>u%dM7;D38rjo zxqLxcXW$6S&@+pM8L2Hd4zD`&wwBK|YRlU>ha!Z`>Wa6O>;XlcY;F)bN$wSk^hIo6 zzdy|6-szKq>}~(@ySlx8Wvgoz(cfbIlE<|x9<$C_pu|Of0sBDqI<`a?w~wGf&0#U8 z(=d=v-o4#Qtb^G{aU!8>9zTECg*!s6zj8UgUwAW7U@+V>`&+IkeYuU_ZRTjnyA^@+ zsAE%pQD0ZQ*?7a>)|{sTvb~Qg88Gcp*Cc%qc!eolS4>=ImDYZC_h4J&ssNffnt*Hm zsMh?tP1Ug8n7b;z;CGQT97wd+TDp4HIpReqIPN-=xXT>AknVYlXmHx9_B#$pG;_ZfX4T z;nzr$erucwewN&R-ONl1ZW{`E=LK``&!rP}>juGnn1saQmVm&$;)v!h2s1vfTh^yJ z?q|IEDQWEfzVbenDG#pfe@BlytsblS--DO`F%IGI);SgFP#KOyekQ_b;ahT7aW>$u zB@_|$_BPWqll1P?6C~|#Y>P9qZ+D+u?a+48^;n1zmiG)K7fLBc`SF~h1)$j4(|^v9 zFdUvIPnDkAA2Dud-EuI10u=!>u(h-RyZ>5Lzy9y;neM$EgZSt+DRcvUCJc?tqH6YK zIHOWg1r%V~SvGCW1qrGe^#{LgZYjrX{Qf!Db1lCF3cPE)?M?1EFXyW97{#dKLW;|| z-u*n^lH(K&X;I}2I_RA9ki=AQ(Gt)cT~4fanw7#ro>C`0vr`={%Ni3j2(R=W`!Xd> zjSNLqleu_pDK09}NO9)*!n8S!VrZ^#eB}Y~9J7k~&k(luf|QkoDX7b`1|+@Y;IQw&J*jmx$AbCn3+HU@9wfVCgZ~)7KhG$Ymn)hbHG5o{eq& z+U5G2I%8Y3caJX04t^Y*yjZf*IG`?FSH*)lEvCCTDa;G6W%wd*G~Nc!tEIjXEd7!yW-GNe>;qP9B7{0?pf?f0oI*%gGF(qb7EBq>2P+02 zzJKXUS9-WPdH69ULGzF?)2Hq{T$nNt`-o!lrxwnV-SA@MyorC|EEBJ#`#XSC2AhcT zSrTNtL25!6!@x=>QkhhpQjCHI3y`2Cp?yeY1AG)IC#5vy>cK{$9RW&m9C*t!HPVF+ z*bu+^toC_g=D4syoeI^9Y-^HK(47DV1~v&(=-f_aGp@jVXkgDuiQJo{y)OGh1{HBr&#lM7z#YW%mpuK-SqTgU5 zga@HdL)}xzq!NXyOcI@g40y2Q6O-ovUl}f3t?k)?13*Jvm)Ajnby=b! zs6|!EQu+j;vp-+9EQ;$~t7V@gXRBmloIlIUP2w!#m}EDo6^5`b_oNO|Oo|QYl0$)2|TVYfhkA%ooV#Khq5iEeV<(9AjDj69gl2&s?yj9O@ z$9q*TDHczc+$b3UPbX@zq&XAxD}r9-edyuNnF6h`01IiDn-O(4<}027mtveQjxa=X z_o72mQE0^v_bIa$5>`(}Uk(zx8APJFTU_o4gPm+HGhb%TPvc)4 z)-(Ion9-WDpjVlPK3+5$!NZJrq&{sG7t^0CD0IV#B`MH?hIUoa-38|`YEV4WKa(EC9u zcs*DOOCpxwVqHR=yvyfE<-Xloop#*yRYm7HEx@~xzI-O{Gx}!92@8p+^63c|zNFu5xj$>-l#rd@3d#cB@5#K{>dY*381Z*Nv9oD0+8TX@mXeur< z?N%z&09|lAjrQO}bsrJL_QLByW)ej-J?HCSaHu*4P+hU780h|(+u;Q3FmB)*PAin( zPu@Z4>NQL!LHCz;ndr?1B&^~3vjpq?Oh?b{u1P8fuV|$0)qj{M&mPEjRviM9@Be;Y z;rL%5Xj>0Gv(zE7QD6E>@H3&?;FhK^)_LJp(0Dh3#YKhJz*sFgby;KFgTaZ8Vef1= z_io7`(W$K$EmpIc^ti!ew6A*bH&GDYqJf%R_49@oR|H#ho2ORP3Mi2|y#gdW-2)cN zzVb!*iqWtJSFA$kzF~S7pt~Kq76`f(=(edv;gQDE7#A!KsTm%=sYAXud_v{iSJ`Wj zLSI6#Uhzgf;`#msXNlo{GqQiTGkpQywNR3shyRMS`SD7s{>Vl)jG;MT%Vd^IBo^HE z{;jqf6t@Wf0x)ol-&)HKOvbUM1A0qDzga{JObVEaBYw0tboMwLw+;87V?4K0xOM&& z-!b3b*nT@=)6rBK;s_u~lvkc>i0$Lzug?Ro%V+%Kmvv72GLC$Hpg^9z36MgnSK}BAi!_p@E@+Vh@`gQ93e~YvBxzU3ohmTrwEf zv#{C_$bND@TCqa|^c_NkZ*1i@aAKpCD5rR9v5#U3S|9Z0o_k%yV%-zvnBu``YV`gFIT^ef07BkHfubYkk%ua8i1i`osqp=AW$mZ!aS zDpW4B68G`R;5JDaJ1>O419~XUdx}(O2tc>H)B+)277T_AzcK9($xM`Ga*GJg)Y!-kS>qZA*gfNt-6E#N|D~Ed* zFThrsZlT&WD?C<;&`AcDn^D9|LK%Gw4YcB!h@LA%r2?9&Y&TT%8v+qp2nl-}Ph=!E z+q$&~8+oi|jq9W>A+3%233&3*C_h@N6lDR8n@$bHC%ej-;+Zncpu|*W-&gQ!f=Nkc zOkAf%t0M|D`=Ad7wVFjORN7KwRpcS1LQ8$evPIOU{h4iHk9!eWuWUV6UiTT>IUse` z?&06ub2kNtR9|)h>B&nvAJ=i5y**rM(>Z6-m@E{L)<3#{KWpMuaZHm!y8{n(xaxvc z{##2ObzxQiBpGmR!d^f_ZX+0*Su1?43>z`hE_(WJyH%q6C~0*`xV5KGyTBPl*Ea2S zyIO{M#7kgT2?Xq%I&B>%_W|9|~4e(ZvY3wwz#$psS)3qQ~lL;jx9cS!P$&!`WfU0*5MhleXho)(q`m*K`8 zvzVG2)geAdISt-Dz3Fz7uPs%F25xdeGLr1@dcRxm+C=96t9-=g>FhMDc>I81`Pqx% z19uav&_pzp({Iz9KOhc0T!i7%c6^eZb=C`SVYhywbn|+W_%hHzzQ@KRaJ)beD=&k> zL3WGKO>A*x1o9P?=R8|Ga8KzJU-G0Vj^G`R@5Awd$lCy9ds~Qb$Pf#h=MQs69JL0T z01?!RqX>a%bH0Yc4KBz%cHQSFV8C6@-+y%yO)(H@?S#wg7LP+h=$kG#92jZ04GKSbEsa z5b;ekbN>BQVK!G5-Cf3@+X}Hzw4~3~tV@p*oiqz*zbWt^EZ3Q^S5z$>AA!6h^{7g^ zH{1HRAAx|>=bNRkHnZ1gU@0Fjk5nGEQv2wh)>Op9h?Jhz^kKrF{@p@KIP2WLuJr z>1smC5_N&8A?hgZ-7(S+-cvF4;o)fFY!UBmha#pGKP+N=koX-XdU%h@4g!Me{>-M2 z;2lv01L?!!j1iWobS)zZ-3q{qF3qNeKsyG1hO-~dFgHld#a69y?EsF#5{Fpaip0_Ns(qxK5a4p_l#*o<7V~Esc{2?P8^MSh&!^Ww z6eh4SmVgw<#==TRWblAn+&&P5uQVY~W@h8adk&?`cos%*UdjUY9i~~DdL6#qnRMlc zq+*k*ze&I$wz`u~V($?Dak)$HNP9~UTMM7!{q?~YZ5?r{tF~t#=l&>D9yTH{AH|sq z#m~|{JK@`jI0=A`rlz+TOn-xOznk**jO0ZXCw;m$apvh;IeTt`?CnBy?{H&ctln~G zz_eO|JPpdakCn1TW()bMsBhNPy|Jy3D6nxg&#Q(?2V)g~#+?XwH@A5w0n9XDqN$3P z+IdkUb4X0&JB+frSknL_y$Q(FW3b68>VX=7`?wH%E%b_xR!voEi{pFo8z&*?4-+>q z>{$Ti5*eVqc!g^LQR~q@w6x*jKaWb?uj zkAfa_Z@msaCADlUblwY)a_!#2c~oy9;eXwXOW87%MBg!C%Q8bj)r}Vq@#U-d=BGgW9cj*YjwD1s<$nv=oy!aW_f=c1YwpW z%>lCSrK`8mPY=%FGl<0pm#V8k9JRz^_$9->e@6x0maNOgfwS`1X3j|hT|Y2BEzw4y zGc{GyU+#|f)_**_^T(BohkNsnXENWWU&YjTIq;S4b+(N;S4Q#JY*meQ9pU!x2+RU& zRT~cer$m3_<;rupLIXg>LRMwxSWxGH%rHN-dpO_@QL}-&2;he^G@WrD!z#qxcR1g8 zn?Vvqh0$Y}2p+IM?)%I9`}=dG+0!M95PF@`BG`P<*p|=eZwiSMrc9cV(#{N_r22pV z6?f)jWa^q>GEG8(MLa_uUTFCuTUsarho?41X9S9$!q>fV-&sxES{TdCUzIUQnueAQ z)1Y%mv$zJ6gcuOn0lDx%5xVo6lSJp4P$6^mh%mT@>UBc9k!)m1S_wubteZ>9Ko=&* z!b9Z#;i4Lmk-;i9ZH6a66(Os8pC)6!!~6|XMOv`9Kl?~=5gz++2E07NG{}|PwC7sQ zR2?-<phF{ax=7U!Er}tvziv{KdS3i@J~H z-fisN2L~3~t&nrnbD*O399odFf6iz6eCQmB#{Z6Hzzq|E)q*-BXRfH(pbUP=igH`F zUbeAaboCD-K} z{R$iNSeLeW1}C4wh$nA`Tj~^ZB5uR}0TTs2W=fnp33^LKXrdzh+T^$tpE-A0-`xb$ z3e_{yZ6lQEw!w9p(R?+RZ>8n0OeN=SPKhs+t5g20b$cJBd#PbjR|BCLtCL7S7 zHDOJ!Q5Dub=PSYIupd+D!=wSmPElP#^S@Ih<&W!M4w^BtFC^GEL-f?L^#7RXGP^CE zq^?&xmM*&(Ry1^LSlwHDf6L4h<<%qN6;r960V-1Ixl2des$>8~zhv{OimxU|Sd^-#m#mDXjdO*C&i^!nmIxP!(P_uZ-_wiL0$8<*2s zHv8VkdHhU91XE6-OOx8knFN`V!Sr7CsC4MaI&7T{Mifm$58!X5$T&qdt<7i{@D>Ct zn947o6(+P^Scwr5{G`$UF(kTFewwDY%+|7uZHo2q^Sog9xsDqr-#N0DZQBRmX#}FXakN!SU2Siq-2A=52jj zohaN(JD2Ywh$F*YBxEh47wPTxvTrLoJ!I0cCrS`myb7IEFrROClk&#(1i1V_{$;sWSL_T1ae1F zvh4Ku$kYT?o}Q!vd;5GdufN7V9jjDT4=nqpelIZC5Foba4VaPc!<)V%KaLe>qkl}zFuP;a=bZ8-Z z_A3q!&E8q4cu$Qz^U`%TEz!9p)(_{h+hc&eUzLThM4`;>mT$`@@=aYQ&=Zsv%K?S{ z%qz@UgjCC>CE1OTBqrCAgw{BdK90dl_wqGQx;x+4x}c^i(F^}_H=M15(k=G(+0D#A~YCp zV?f?}0)!xTz}sPPmE$G0th+#NdN5&s4jf9inVWosao$ubF(?p;&GZHmJu%R;@;a*1 z{Wm_4mI{ps*rO|zlHLx-eudZ2&CJxJx2h$qkAEF-##1xNj3T-_Bokn5i1Y&ItX~{n zDCKC1|DZNqbE1;B$oBdcTWU@C+ussNKBlU}@{AFHjh;S{Dw=wxA)0X@ zY}aFQZsF(_2$)Ohf6wiU&*%5EotqJv36!F&Lh_iKi5jBUvnw% zFh0}j?t1_c+B(Z5in%6zfwe|#8RKdaMVz6Rcg_&oIX&;9eW!Z#x@S;Edjnzv6%~ z{N>lwew@pB$qtz;)ide!e_*g&Ypr(nRy{a&QSIDxP8jk$nBz2lli{vn?LR`$ZZtQa zXX@6@tSw=%vqv|bFF%dqXqfdCS>H0!9P(s?q*1B&Hzpi#dhE|Crt*93u8NYOgi1@V?XFHi6aU35UVbsuIbWBj z>}x|hBx!Xb7Gb|#5z$zJ#ALtLq|sk+GHev zw$%DbfloF?TlN7WT0nqMl0eiSrnR;2FG%o1fPhmwa(|$YY~}abc}8!`Fa{h-n*s{kgCsDF0%`$8HBhJH zM;Y{8@a_dR$tI^E7XkJ+@nVSn(=$k7M97fk)8aI1=*{ox3KsOpA&h1p<-MSCH z`IL=!(EVfkMrM>Hm#G%NM7nLf^qmm{%s#K>xXED5r!KI(k*j&9%z5OYjFoh14iHMT zGV8-+yvr~rlmifqYdnWz8D@Q{DF-0tn$Ud`e&Z3j{A@OKu^-MTTnK(ao6-arW>y_e-L=+ETBA`W1J@Z7UIrWrG= zg$a_xrHmwvytT~atm*@4(|{3*Qc2E_i&Ilk4v$aK50XpFk5JE#k1zyH4XONzZbx4| zEN@>uUI#rhJTj6%(z6@>zCHLic(#>~{&bvX47S};ie{LWi!$5`V(s;UQyu&-6r^x; zfEL6u+@j^-^)dbhH1iY~O|u8lJf|2?2%^a7HMsu|?>=kdG1*!eV*UWHL^BDHQC#=~ zJ(P~TyMKsOjv8Z1Qr?Gll$vM0k3_X;L-8m0se$15N73Cx0+8rc```T#ym%z}5UQ1F z##L!b$(pHJCja$7V;mr~?Taz*SVW-5If|wx0ry|3%DVE|0w_Mm>Khk)WsnUuOBOb^ zfpk=-P_DgL^DLX1t#!x&nC9RKUvFE6EmnC3>CEO+!=^B4LQj!t)*v0LcsO`6aXa80 zP%*3B#;eH6oD(--)P&YHFum5JnOh-kZpWO)<}gmVhCh7l=F$InEM5{#A6BkfZ$MIx z3Ic?$fm~?~nl`a6eaJ%fniLxGunhk$N}%Wn_fms;Pby&Tz?wMQ4{9b6I&V~kSvQlA zfZ(;D7@1<^WA2*57rcann1S~K)v<}?%980Wd)UmJL8{7C#31u#grx~4gT5EJaX4(N zl(ABH+qDsuR^p|TaAImFj6}K+pwuZ5USb*^x<+DeCDU0brpHo}#BeT)-KtuDjayj* zkKBm^6%S%zyg~+#{-*mNkVW7u0Hhp~tsY$c@5frSg&YG5SAM7W{sN7s7LNN$k5egF^qUvP3 zzCgl2o*KEl!NBb8fgjLf_d8)L7*Z$X-oLY_8vk{<7lsb+)C*|&{-rOkpXkLGpDu8n zKnhuFW3Uds5u<=3#J`HONQ(jlOO`qYA;mSE-A3TaOjgk+f0pZ(uTABLP5Ph!nW_z7 z0aCe60@Ni_1BzD5sWd1}d5w~(1h56^$ z*hFZh2yg{~B0X#LO9EI)U)m197K$bSIC%MZb7HM^<>cYuN{3?=KQn~qEx7Bi&YGEY zs1g)4)p(;%)7;Ibp6Gu=sQgV<$TCi}9NXOtVehPxIfpXI`ce&V2Q&Ds_Szjas#GJu!pRG zxYfY8DzX0809Im3LUt-vUW#UFhI-1t-J^bQ^J(re>&tfGn!n*93~-cNASG-Pk`apL z;R%)klc9=^O{Yq+rO~S~tbbWdxwJIp{Y%);`#(HfZ$~4C3Oz|t$e`+*fvlRaWVKY) z2vhKBzgpw!_&2<=;f)0qLQZm4M)(7uN8ZT$W181aC-t`}>AxBR0(Ss6KL z2u*w!hw_oh_G%&3>5kK&eD-cNy>tuXnt=aR8CXnf16y# zwx^=He3nt5+=LcW%~MSTvY}b-x8@4{n(`*;-T(IU<27E(b63T?vpq5UlPo?J%eeGbG+zvI}Pi@+ZG zC-*DfXYY-Dag1ZBI9*K9;q-Jf^TqZDj-2e>)4@ahR@py=&K;u7PPtZLej>yyHT&l; z&#-QzSqGEeoWnnj@--?iPUKdK*!BcGYz1etMZL#IsKg|yA)*3*G~$Un@&f~21M{#+ zCAq0)&H`z?B_*&3Ujf~iyQx*mV*8ff0rLufn!35TyaIA86{9wRN@B#%!xfYJrBp%J zq^x+7&DefQFY`(BmH%CkUpg3Vz)~=@p-aIV1Zrb_0p9A9A92&4f4boAy?L(M>CkvD zS5_Wdu_8BL$Z}-NS0A#=@z=IaBeR2wYpWZoxVHsaCS)SBU)2hN>JhA^y@!37?x(0~ zA3QYgk%bVc7F#++VF?i>gEhG`n#NBmCEMEP6J%6};?>7GH%BMkt zq|uaXl0n~qDNna}+?j8GUSGn@tyRukoftuTILTstjY6$vCM zXoF6JoJ|Zhz7J4fgx|#~N)2K|Q7e0GJarxwh_#2Pb!D_;D;kJMDz9!>RmO8~!iDWP z5&;%6-hRcrTT9gAT%2gC!OKqYMeZir*J7hO&7pfP%x-xtwqui?UbPm8OGRmJufyV( zBa7ZLUztW;+6e|bRqFn6`p{pxANM>QH?>D@*kioZ5|g6#!Ipx}-^LKhV6e$MPFAx zl{^R2}x(y(=UiezOxDGtSD~Oi3OO#QT~c9!3uNL#qVpDPWk9 z^oiHch1IH19r#D>;JSzY)uwUz+%}|j)JOy%4~2y4C?@xzkkAwh_=&O1_i%_9WfVu> zg!e_BhHRF{BlobAgAK?a59Kff(qPJwx+oE}FKonyEUg~CzFGmG!d1Bu9DQ@Sj9k7P zc-nJiYNr(*6EC6V%asUD`8ks;o^4=BgeQrZgng77fC&R8NC#PIqmQUZS@!SwC=yOk z6BZyNGv*Q}9XEk$7m$CIArp893%hZI+%`e`!Ikb?;$IEB`EB~PIqhAAU+uNE!MiQ~oQLZ38Oek5zfJ z7>yw!*2pnuhH`ooIThy`7-oueNput{6{hf5s?0ipqTEWXiy(P|5u{=I0aqFeObnWk z)dz0$Q?HRVWong*h9gGiuK~Dvr#62zabS-VuPRMg#)7UcY|^A zscT0e*r0|U5ztV4ipV#ocxZ0icxp5zWHhxc(bU~OU!vn?Z4+epTyJ>MDeRfH1pf$D z`ZMhpq~;u!eQ)<9${&)TO6rr4F0y*eM50KXD-$_xz%_OvRiuRorJy=|soOJ&PtjcE zlb;YPApRGfk4tS?M2Z2>0DofXnlg**+m6b2%1B#9xpg10RvinQgB@y)GA|P{@`u7! zs%dId9dr$iFu+%!(x96v#RIII+>GC%=-f4!a9<|Ou-A4hQm_%;<^~%+%?i(mZXmro zv*HV`+2Hrg1nI1y$sTx=CjQ~noyQ~xF&71Cq3NM@QjgMga2R)Z^+#!6nmx#B4**;CBwKgemHk&7c_J4KpiN&2vARlRE!-P|Gn z?_2nq80<-HcscEijT@}nJ%WZ-$62HR+ZVsu`W{Reynp(+uy}Ax=wx7q7HqJ>VH1LA zg}bP!3j&r^J9GBMwgcCHQ;Kd3eIiNeU|s8NdtLZ5YX$EXDO~vti%;LMF(}YhQfDgX z8sG=;Otb}861%GfHE8jngo~WAR`vyX8>$Y2%Mh;xyZB=71bjN#YNBpSZs>+$UK`^<^eQt=8Ut~aIHYd_(M#NqZ`f)_G?HO&DE@%`afL^HS}kC+Tz%7 z^d>GAyy9JL)+mg+99N@@AkMhVK5doUS6aw)w|jW0E!YrYkWj%Z!L)4e^4k#bu8dMg z+|uZFlH-qLfiOAuqZZ7(S}GhV=gI6S8z)>#5@ne*;dQQznv<47Z~m;{<{*fd z20(xHWldsdQN}SQsY%}#=onBaGtS;DPFQcu1SqPDpGQ5Fxg)f!vac&GCVyFtwC+Nw2b!5f1j=zIx_$m^sUD zA6LF`LP`LSc_TfwUex3iO=$<5Cvh|T9WGd! z27zixy+)J)77Q}StY1=6X1}kEL#B4&5-nTBrbsV}_D*3GD9iiYS+YI|t-`~Zh8TBc zuvgS;nJFTc62$*p&vz8%oPz?eTq2T9VHU$1%+5sE8x5ICt}&d-{$%E9T}Hk19E9Q< zUqYXCY9qr^i~Q12>RY8Qk)xfLKa;y0`kbp-cmtvhD*8O#2%^kx8%Gaq8}?_Cq$F}LiX*@o>@rlaH1B{ zVNC`DOi(XpSz+?J-%Z(l7SM(A@Hfbf*)&2Y^pC9Yyr(piukXqY2K`qV1SscLUdcl5UOXmz_OSVy~Z_$YH@aEHwbG-aYr( zK-i?5z2wB=L#NEyncC%cp5UD4_S*AKF6hvN%JBXh0^4^Swd#I;@zetL6kysKwD314 zFdPLpWE9j}3ebIB@B!1_N8!!{7VCLVndDm9vv((sYR(q3+()}FLoS^1J>d4f_x<#uzHV&WWQAptFFT~u&1#oAqKiBq>Wo{ck2v#zLh)F&~r&K*iZb#Nd2O$4SizwaZ&0{Tl!>2B$P1{7OHaC8PLl1fr6wUxG;kBi=?yKn$j zG*);|2Upydo|j=00#$y!eUbp7e*d7M&Ulu3Nj72H~@n!Wg-OCUaqPBEej7Wk^F> z*sP6$hNVr1WW}mDf(o|<7VhTUv=WzfM{E7r`SH8xakTXzMvS!|-TKE0PMgMW7M7Ws zYN6Rq)h&g_V~CtQ68*5UyJR6fjjfLZ>1O;L>8gBUM3{p zHSGi^v*r<7iFSEsCJKPt;diHH+ioRT9Dba5t4edaMg86zHHC^6YxZ}J!b^{0x3f1) zXIkZ0gNjr?r)k18A+aKNTGWb?=wFp#=jw@l)-oFF4SY2|QbhLk>*Sv@ zw?D)cT_%-)&^Ua$Zzy=wLnqlg^;Tq7`f#&A@#}V#dHk;s=?1Anx7LX6X_``X6E zsTpgiWz^Bzylu%Hb1GD*ptw^A46ML_ZLH`oI4{Ni(2E=fI+lgV0+bSiQ7NbgYdLDz zXkj`w)zRP6lo#oG+Om3bP~9Aq1ZbHISHXxT<$o+O6M<)A4xd_<+S}V(S1w&C>&;4q zYUrfItLT2JH0`dBTZ~z{4BsQtR4C&gS~4Xcyy_v8@=ZB4|8|kC2E+@fCGO>-4c+CK zWZtR*OVK>WN}PeB%2fZg z&Q~wqzAQbt!@@8(csBep`DF30ZZF|#uKfc1V@$*P(p4CQ2Z zP8GEbDYG>z3OKbJaBvSQGpi`722!PBeFa4iLn)JtLd4J%8er$q_{Si*Z|PzRdJS$U z22)X0dPC0u6exe9GomQ=rIH$&gai%~3BjW&X(gcBi;K(HlFu#1i)thxllPN$%w+Q; zIhhUWHSUOR%GK!Tp$S<+(^SHdr{gZ_l8yFpwy0&<>jQ^*v4#r;T!CeRw4&NYv?)8W z{4-?^+c&h+3s%9Q(Mn=*>%VjAE#lBn!I9PC1niS<&7yU%RRRSgh&obC$F-Id%`zn8 zB>kS0DBL|@DwtSQjC=XBy~ z3P$!4=@fbQe})tavyK`50|umZqH9IJ{=qsT2|kyW&#fZDs=V8rYYD*fW}c+5Q;V5e zvGfg4@oh1P?S#HA@BVhin%a3xzZnoJ;?v|dv*Z<6dny(_;9*3$Du*@iEsHwdA}HDetk)+REP!eKu%DUI!shZ&tCSA>_1T-NX7Ed$@62sOWu4={8Fd)iEwy#6B^U z9zSMCSB8Z4bFYCq`6M9Ahcd1miMb(!&0+k zHo#V_zBzsprJZ>Q7g>beQR#)~pz_pi%8c;2#0#e`Ba|$-_mX23vYhS@CgR+Z*&ByX zCojUR(k#2i6V#USA_wdg3?#GJ8yJ-X8J2sYv|Xa2UZQmg9pa+&r<8Zbb4; zyDS`+rP&Oo+fZLe!}o6NHOo=3!8IC+X-w74Y^@=J!@>o4eogLF7~zOSqnOYvxGNo# z$X#%``datkvRpL}V@=)l^Nft1NBK&e6%eOw6XlC1H<~a#nO8 zux1&3O4xWx%Yx|(6>9dG!DLyz=mFx(}EGfsWux*w)``Z`W zjOfP1RvY1we&YBX9Cwa3tCTf<-IVsD551H(FB1DsqzAttTziN}hZPx;Pk)IASawgUraT);up_;Aw@;HCw&7 zNm5zbQ2H6%^#68}EjUnOzugI>pv^UYEL+8t!nUjiI3S!*+yH3 zZM(vp?-ZI2^{Za7o|_xgwL2%e7|BC1F2{Nq;!Dq&3D0GL|2WhQ3x@~B+Ju5;{ivR zT2e2$VF&)cyZUg4S>ebgmU^*<0rcbj%Z~P@+0H#eY8^jqSDc`~tVJGut=@*fUTx%; z0<2y1uIg;g9}Wb7@$xA}NXvg??@i#TYPh*MqGTS52o)JJCLv>#B%;WaRHhJ-%KzHuQ10%Y`+4r?`ThRy`+nZ%d|I8o&%TCr zt!u4yt@XXOz1?5zRnUXEa<WY3tyuavD>|lf$DUP_F^>TK9Oy;dP@$3q@nd|ox z46qkj`ECS;EsCt8k|_>LxUq)BuYEn$$56@jII5!|Ho50L(Rgg?3qOwsC0H!UT!hZI z$VEeAX^VBYsWU_mp@_@b(aL^V<_jkHrSa!#+$0|&3ESrriO;YQAtpEH#=PkNU8mu#r18yAy7-tX^a$+S{5oTTa5S4tLf!eJ zk?)G@8(b`?Djt20SEU_s>2Y7RtxugLJKcM00DJEF)J+kC$-GA>)u;@IXtl=OcDGBO zypggz@qwPoyPeK1!(Eo21vOl~&*>!UHrdo$@w$LdC?3mq_d0fTTTK|FRW^)N$OgT4 zyz5akQuhsucwv2T;mWmj{_iH$eL0DpWDhiKX}ru2jkvzq(ZHqn>24DKUUC3+9^L)D z*rwFPHr~zQCFKR{Y*i(>N{n<``3{}?a8DXLy<+aHLY_`5^B$)ABSDho_W}}aUZVNn z;vJcpnW>qXeva*CBl}Hm9;(%uycAD+d*D4zKCl2 zc^;8pYOrKkjc-*Iyi}sio8xdsctESse%1aM?~F~3F-m0c)yI@IO|eR~iP2+~od+w& z6i2x+j|F*xHEs?_JSJhVu|MIQq`fDs>(nEp(11*zt9h#g<)G8U&`F=P{M~Y=uZfNZ z4c@S~OlVlOaJABnyIA?ky4lM-cS%g< zyt(fSxeLllE%E>KRKLKs6Xk_WL*E;!kTLIa;|prd#gOfR`Q-evzLrJ)O|m(z2FeWmVpLtFt`1rKOK&=)MzQ z^3_36=42-Z-Uj26m{s#D{K^!mIjo530n2OI8s#Bwsry2VImWT6t=Ez*O#*lZ1kcjt zk>E~pJOZ!#m1K%aE)g2eO>?ay*WZ!X)Z=`JO;mf=tJc(;bAqWZWZG2qDhC^F5_Kf( zIBn-8>}ttm?GIf%m{LU@(&$WLH80~=gH>-IRE@;GzG@lJ5Gh-AeR^r_4*MS8rFC|Y ze?E~L@GJH!Otg`tp2`)^NEhsF#7e0$>o#B3I6)PC?9v_e%8Zh_XBy!oUEhsK$v*E? z^yGn4HJ#Ca8sB(?C3O&fzQ)<~gxp!8CQGx+rY?7m81cvzpNqPrO|&$!L__mDkFKQq zU6N$=ixO;lP4N{InDoVG4&JFci1{wx_498J`rF(=oJI0g35p()LID%lE>^eFx(44;qeAd0FKc=w$(!Qy~o^hpy%bNvX$T(>}J zlrfgsU3&VK$n~VxkMnxizU!Gk>Nm3@6P``)tlatGR%`wIpM^Z_Q;=8x~YBqucAHY4Zbdy(e8?kI`B?S)aJE z&sz0mn4~g-jz=r0~mG2r0nz3tRcg#z|6!@+qhS!Xes?JuU_1>DCbxy$6#ryp&lnLxXzeH zU!NOJIm2s^N=`*bE81(Bdd0zqjhZ5DFztB1h}8Q}!@DE}$zvKS zn><@AJ>F*9TuYE+^Wl6;CPbZ*q+?KC(M|<>+Dxt4OR@`7JH+8}EC0Rp3kqqDZ*+!z zY)$6PJf=}+7yTP@(wO8M4v{z>>0=;Weg3FPwUwG~Wc`Y`*EohxEKBI%Z5kRo=5%77 zf_yT!Omw!8fEIuJj`*^8nz;Rq&bK1_LW|BZ@*Jb#Y@zD+FS&f~$rG;Ww#VP4JfeK) z<#+qS)08cVoks4V4jARoOT0H6I+K|(VE2hZQRY(H5AX4`-E>Jd&w+hGU& z{Y~fQ85!ATL*G;!FeKh}irDt)kjJy?uG#Wy?sQcd(o`O94ozGdO0Kci6159Yzr3Ek zTlGz};-Me#kVtT_)(b^gxr-C<`Ay$Yq* zTp{LDw{+!yRhmguL2hEk`-BU%hluLRZkg-s7c8O&&F{9fku~t4bib-!Yc3Q(z!)rU z8%;>knF{DWK<*13fXgv5JD8fZh}$w{59|^23L&a5VE*Ehm+_^UwEK$q!*j(PfwrX9 zs_L@D+)Q!;F4{yj*Ted*d{>YRPFTwto7YQmI{C^dwkfsF@!-cZOOKUi&QehNU4I$% zhUs3NdB(cn*e$9q*Oz4d=It~N2TRAh;WesM=XJhc%{1ZZXKKIiTB>T8J}8zrkY$>5 z$27j?MpoO`+6jg!)@6;|D;9}iSM+RMNR#QjTy6%UKak3{Rk@Ey@5PCq$zOe^GSK#3 zuV<_xb=|$qzW?U)+Olrq-9wAF#l3wrGIQ=bx&=I${V}K`>aI-v( zfEARDvDLY}prpJd^k9OuTyK9eeL-_cWW&&z)>!M(mcBugi51J?u;V%^j~i#tMCvKJ zS%1IZ(Tclo$9bx=(Jfr}v$Q@t$=eg1HIc#3+f#V6VvCDzKYQ%YoAzRD=ljeUZ+8pX zQ$|vDFUe&iX8N)BS7^@F@xyyg6&BUdh{P^w?|m1Q`cww#&e@<(GC*%f>Tx{NM+;H1 z_qi{N4DC+o-O6^2#if_bqT|2dtcX6JN&mba@+A!M`1Cc8Q!EiuOJ8GL;;db~Tf$>A z`=2#l3wgHOT6}M#&^V&vsO^ae*M^f<=eXY`vAR8buTkM-{AB)f;W}sH)fa_k&#RF4 z4WgMTFGxH&TeG^l@YPK_dyJ=PMdD?wlR|g=s}BW?cahV{CEWuvd3JK?dS`lgSnir< zVKN`QJA6G!qVu+)>j-!Xx_H|S+H~WJ#t5cz;>LxCNi`aJ`6j1ADF!c^>~^i!x>e1f zUPsiN3uhiu*%=ukk$8oj&6r}4oGYv)vi*6zd`MRdJO6Ttc7D91_l=1-`ir}1N(2`Y zd#;hGFZC3%t4B9_sLo|5t%bc|m`Pn>>pHSFcqKddqx+8U`VMPJmt}aZFLMsGjkZkZ z+|;3Yq7=KL0<-iU)TdNy+RNh`x$8hRtFUswP)$-C*^N1YY_=5lJX^ABb$MU?iH?5^ zaZ1!_;#KMzI9)WOM0fXc58YW#`oroukt#m4rq{lc)6KZ&B*N%PMJFl@>~y0R$sC6d zKRYV9TUG1J4XcMwjc&n5zf<(yV%R;mu&07*BiH)*4b~5na-oc!LQ^l#iZn((r-BX5 zlV(2alqd^LUsaDanM~hzFmB<)Ddp~cM-1ILW%b|fz9URhsv)Y>#CF>3cDihpr(xIV z>9buqIJ4$^8g95(l*TeFIJLg-OUoJ}UOTVdsTuLlx^wXS8i^k5h8q2Wm-f%Rt(i-+ zFHk*L4sG<$&ku@?o7qWjn-sTSu-US)O6g#7NX2bofxWWTBldx1 zxa#3tq==g4-TJEP!}3aTbir0uL8~;xDKbq7hZ=;=shuxN2rI(9%tF)d$Z_zY@r3PC ziKMz}ajV<1Q#hciw<*A`to_y1G%3NGnZ$?UbC3JATORe!S^Lm{BRhbZnI*=o(?@4g zk~j{nSXxHrehcj6RMwg3&slyUUr-P+Fkf{~hM~VCNHA{YrMz=w$@)y;AnsM<+nRgF zc&ja)sWY=9FwqJ_jyabU9aaUboXERg=|~sO%AB4-ztU}bBCFu2o_tSbdUW$0JSOeK?_B z6v5wQv`3?IIC!Y#h4K2^8Pe+;L<5&y2g-$gGmwTo9_e6HbL!v|XJdCmG8DV4$zC0! zokhd~xrJX$cgQyHEmeAT?(Mu!h`NjPgOe-rpI3)4fy)9Sc^7oXRvMX-US`~OTVbn; zPT%(?!gx$$nVh!PsN$pHttgb%D?6p9`}^OtvlYH|CG%B!bm7YNy_QGz1Q}??6!GbS<*^%+;`E|{hN-p>G>dbbLAl>9!w@(HF zhg-(icNtUisVX69UBrMcBGV+t;X%>6Y+-f#^Wt~Nr|u_O-*nuS?^Dm5#G7rdfJP3k z(T-UKc){i=_g_6ukwA>1A9pg$ZQ0-b{;k>fyQy!o5|$M@WZvIAQr{}kJ=d$3<`i(| z$mRQ^K54_}%JCY=gJ2G!qtMp-WIHbO4nx3{1 zbD({;lgrz!?C3$-XK`2C^z1fp%%qLH-R#l#UYMKn>^e6%EyOH<)02T`*FB!fyLT8o{=!Jlb)Pu&)HI4S6e(6U`f1M@ z1Ku@0RTaqQt|2Msf4NXxB2>7yXtrhbfsf;CwFhM$^Q_CK*8z2@eoqipbfdCQ?2;r| z*Qet&&dD*kPRqtWB{O(?zLuf7jDDJHh64w0#*lS2TTzgFfA+BV1v_or)dwa^^9JQg zsV?cea?}bCJ4BkzZZ4-(U=k^(D^{e*D^FzIF4L80?0&*~GOW8`QKWP6#GG1}Z~S_} zV{O@B@)K(6<4Gt3}sb19e698_`Vb#!tiuKBEnC&XpP-t-e*3mbkhFe{U7hXRonA*Smwi%9(e{@1 zzxPRj;UtB(eX-xBxXSUn-`wSo+o*Y?Xsh6fABh(qeZ!;FbI zV6Qhi$vVkO4iGa&jKUw6(bg4O6}*!5EN!gzzZQ44T%33>5iE1p%Q@Sh$yM7ZGh_&R2cQw3%DSmpe(qLl2p=(lcx?{dx zTue+xN(zoaVsV}#_Kr@l7vC%nERK`+5apE;EnwNIv(DHPCnOT9Fdkgdr&jHKsfRnf zI}>hj*T($5^w)$B#A+elCIO{t(BGTr#Pxz_p|6|8oFPWZ(odSAXrq*Z)h*8NIenzS zD^pA2d1)AX?BaZ?7Q2OeO>mw}(d^n=f8Bm1g_DTA0dn!Kw!`*MwSwGRQ%b^Qr~A$< z?MbqETcY0Ua;(&U7ql6~l)@XWEi7Mh#(_#r=SH|b`zpMm zAZEUHroE)&HDx!^skt|ibj%ClD9osgJZb&2bruww{$lRfL66D{i7$!IX-kt59rfKO z?0I~x@l>~UnNg!pH1pskoNTkXs4#C|MAf5d(>3i3!;x{RJ(piR=nj5)rk&nk@w?%! z*Bs6LP8Nkeq(Xx{QSw9nhXmgE)tun-xa5lzHYE)xUW+f(ezd>3vrhTK#GE*sNvk2^k=v47x`AQYV3XfhBqVrK$l(dp-=WM@`+IbpEZ=N`MVk<&#*-GWu2lt znl&_CIJJ<@{ITa=+Fp8Js(`(e6sw9xqYcg3r+oZ6z4NgXF+`-(hv<-K%tPTvPo7Mc zOVXIfU&lQ6SvJUVZIewrb5;kjqIPrgWBy&=S@rWBx~oQOdFQ|En3{1n8Yc>40e7Rf zmtL}eNOIJ4BlLOQ=wl<+DKR3L@)}tu0q)bywTF z-y6YBmF9=0Q6_KhQ@@hZ|Eh{gHP}e~*Nq@J;K1EFT?*>bCnxub(Trs!QZotvr4d+f z7+fp@o7kJrHfet>e!<`m?;Q2@xl>nD>5IAkerOOwYU1!h`@N0<8O%+Qt{=RpbF1F= zr?33e7j^nto7bbB)U=JQzIia!BHWUsJzbm;&dPw( zgQGrMo#4f;j=u3jk}AFzkmWVVM|s87E31W(%;GGnS6cps zmrQuLcpVMceA7gp&-gimjG_+Z7d2$)Z?#<4bQ0~;#b71R#bny+>??X*4~fp<7}wqbz_F;S-Zs5<>#n(UBxN@G;M@H6X!v)OLL1@F>sKBnq5K6Ps1ZvWo= z0sS^9y}+>@@l9qQ&)pRrJwFvl%pTm#XPd8|eq%Ipp#F2l^t6B6()#3!%=s#v36Ifr zBBB9yvMXU8M_7C)oEi|p4ZgShq&^aaLyBiecCIx)~F$eUd72JPW|X zL!2&_kgrYBQQ9d8lv^nUuYhOW7kTSg*j7g=`Zkcfcez+$=Ft$*cXv#s!qF^^$F`Tw z%Jnpi*$>9hg+4seV*W|EszwlX{3DkW&i?lF8EQR2E>$9?-POB%f|-xgNsx$$&F|P9 zv)|}i{;Bh>=^_f${-pQ2ef*DJc9JMv7Xp{ZJe zyMte&>T{NmJF4eS;xT)*(=nH4D48>*6I*5?u5dOP?3~$~IXy0Q-|U)7&(rMoZ&Q;u zDe1;?$kl+FUAE71Z2J zKP&dgedhd9UY3^5plKJF!lW|JLLI&sKYNqUwpGD-5V>AW+Uf6IVI?5qkl-?$4rd&u zO1&MeT|ly!Bi-R~NspdZK&z{5fq5s3c^&RU2Ja$oWEUm3)z=U8PszNa-KgJ{P4Byr zRlQhd`b>PrMxv0rP^gsgAPT2mO*vVU)h-ldS=#?bus@CD(EZB_0wKDy;Y$M zB%hd0ek?F#p1f_2lhg3n`(c%)c3~ygWcc6<+xvD8s?z2ezgA=~wl^>d1}$X1YYUq_ zZECOs-5+%-utn01>%x7V(XP9l4ehM9vc&@PT(*5hd*oDy>(#`TJ`1pM>{T8`rD$>W zva&7-bdaA`_(qww5Lf7Ue!XRU{c@I`O%ve1!L#g{hS zowF|g)`PmL9~?8Qc{A9l+`79;hr?s`&T zd#P@}C*s*GWO(L*!cy(BZhfn7z1fPL(cxiF!!mMMq7pUV`(45Bb$l~4V#HlQ6d2Li zWTz=Ymwt8lD90|>8N*gOA;xgukdB#ND+$H&t~!?6UZjmrEPRRYyrEyLTokPzpPIP0 z-2H806usxA+HD`EiM$j>`$m#mNniQ)t;fcFoX~lQ`zY9Eb>QWRd;{@(n`2!Q745u9 zzWGWuPi5Ym`gBA3`^T7YYu7{_+Y=Ux=e0Gja8`3#ezKoO>{APix3tyHcb!McOP-Ig zA^yfYaD04@^}ZnKsU+ku=|Oe{>i*O#B|GU`mo4`-^CP#PFrOO!?Y@mK?yn=GN@261_w_!iq_svQ_rMA>{dMZwz(j zzOX@89acUS=wHoH4>R(<*qApqum?s~8610^IrN6exCzk;1w)M95h7~DB<(@f{+BzC zyY7-IsBm2#(lY3a`|^p#i?t}(bD8G# z)flNgl&yny`8hR}w<)TsRbK0@D!+Qa?Ek?=hT*%v?4C5(1&Z*uG^xxTQ7aT)yoOvm zEsIRs>QG^vN1P~{N5$9*qTh9uJ4D>f6*(`(NlJ-gx%lwz(L0AWh@Ym*b51uMAaCV6 zo*`yvK>c;bC+&=q!OM$Ov=JXZOx$<6qw{j~8NcD7!*f#p``Px;rrbaGc87eY3|89y zTU5XMAwAM8R{@PAN#KoXpToeoE2EG&QQPd-hni5>Wu$E9hu+S#DXe z4k}eRYjM1gy+n#+HHz%;(LEnaFgtuXdh&)3WkzUv(1ixv45FfOLZ9ZVU31GCIVt5dZefE;P1d~eOIcJS~C$xJ%68FZQ@-jexn^dFSjr|$| za*l8yhe+zXd2b83RGQc`SL5XNmmQ?F_?A`7HvRRP==9o=QWlP75}ik==WgEf{anNn z>(Lh7iy@vYxV+|XI(gLadTL#@DeK^(Lsipj4)XEZ61weUzCnp6rJ5M!$<1Vx(u(?0 z^{=35PvCeB7p2E+B#Z7}3QW}qKYh7xF3e0n^-8a^{nfsuy@F-w%)53Ng^{VBSMFWB zru=*?3j8q=y;~*L{kC@ENbFp+_ZV@~Zt%*o$KGk~YBJX~pOStvBi`pEkZGP|{rQp9 zg!|YAf9m7q7$+8@Z?9<;#)!ci-tdLPgc72T>DbK7o2BdcL}*2RKfhoxR3>LMa*q4WMrD31PHLF|A-r}aD6s+F2N;gR!0 zrd*iP_0tlthNt_?|E;x#!hgd=y+nv}jpLR2r2Lektj)I<&!}Nv=-36SIedx2FB$0U z5T|RIUt^rmQz;)U9o18+uqX+ga`PT)c9cY1u2^}cSolg?LyBZEa-^=q->=aY)l7|( zrOnIA?1q=ik$mNE?>XoC?nJdZtG_15$R)VWZkw(KoU+<;Cx33#a)y*MH1Q z&B1kOvNf?A!nNSc;yukqG_ubl6He}_@VwnioEh@$XyGw-x>{5_rg)JagZ6A6nZIes z)VuM{#7S5`oTqZ6>zj~rym=t;7v>t*Y4Q+G@PL6vuVlZ_b807CRDw=BY6YFhQ}qh6 z*0OW7E>+b!Dj1(|`R4JgOQ{*z@#!g&CK$0N=DIWvbnh-i7~lUy_}=~A8veh*W0?U;~j-D=|l`+B8p?g z;X*$xE9!;W`76<1GM1xPBtANP5Q?XHzgB|7C{3^)g$)btH2#BSQQVoh^bm0%+hE0O zL}p=q;);Cl#zxoU2wlS%*!$(34<@NX-m?MQ%7d8`u%vk+JY@8*XUm%BE?TXBD96>9 z?lbvnsek?4b=x=p1KIM3Ab3zjS}%`gYcukBtua-#6elYL8L{kE?-?Zymfn&FQ-bEb zcQ-D(E}Yd)|8Q@mL-woRr}>`r_KrYZecEaaLgJZxQT)%tL3d4W!q?MsmIHgB$40xl=tL}hcKefGF z3E7Qru&op@ZVeKn|0QqbJGLfRJATaP+bh8cbSL%5VKI~1Jn|DKE}L5#cERghdC@1E z-h5u4gUPX-;GEsk$#ih4&!C?JT2QIxQ z%EWG_zGY+6j~4HgKeWQW95*yncutFZrNaz^T`QuFoM8=q05atD;z~8t|48m@DtVfV zdzqL0jaOPga3*O?An7VE-^X%YnW@sNLk(?*lLjy_y>s#eK5OT*qgQ=E)<^o z2iSCiW+D$Hf{l=UC=~ z85ed8v!g}2+p$YGt9+s0aVD|SqKVNwsk zasz3YMu~#I9s-YGar`{s{gC~8#~?9L`e$lzJ3s8`8aWQQ3h*GMAM5J%WYQ{br|P!{ z)MDi;W3!@**OUgU2jjIa(8DSys09muzF=Z|n(>d}BPzl(R9IiXd7|WlXzSqX+{=K? zjk8E3tv2gdF}{+!Cz(-_Vm_^7Uy|6`{jVMI)hGmWm5ElRFbvj>JGk%GIf9kW)nYtP1t z9uQbZNB0{ z&t9l!5B@s-eSGFrf+w*f<3DnJG8Fse^M4PB{bK=Y8%FC~VBK3pi&_z&gSJCB#wqc6^XqM^@RTSHO7 zsNLz(HLvZHT`4=0Q+0v0Pctg|+0FMvEwKN7{zD1;+%gh|wv0qYoKRR%w4Dpm9*Yt6 zMA*CH{}YyyLx_pnNy<9P*h$DD5E6E>atLvG2Wcre@Ue4{Kp>FvV&eAFA}9ynKXC-@ zO-V^f!Ju#O`Q=+&LR?k~CN3c(DIp;SzCbw%X$f&L7+ma6E&VV2fWu%BUT`?f3ysG9 zRrCMs`d`)kfAO^qtbsjXk9d13K~xsetqCqzcX<51BW-Z33rO!5(g)|q0iD<+ zL+}le@g|vo?=3O~$7Y*!5`05+3Xu6WvH-_hWC@P9lNC7MPS)Vu77*e$WCwoRA_s5` z5fYFiASXbmU&s}lyKj;Q_})%va1N2@HaZQC{~2LGneBuF=Ue0rjv?{^H{6bg2 zdEyok^k-TtA=!66JIYp zxpe;h=)=~#Cz`u^`3;Z8@sq?_Fj${D7#&VuPWe!hzGTuyFp31cq3N(d6(^-ze!XA9 z1sip>*)Fo)#YVMUZBN~^ukGwvg0K#|1n-e+dg)6`O&hAb|A+`*l1(ILA(EtdFFzCJ z_L@TF&4yObU5q?u@$<*O+u5Zr35-a7Je$RpR-tg!S)k6%JB+Q9 zOnWNNutr>CjE+ys36Zboa3{C>K*YbEwzQzc^w_P+H9o)J4qXT4%yVD|n#!OVYSe~!&ylVR}9(<%l9u9|I9>c6`wV;>)t+UxN|Vv%tF z?uVY!>}#l(I{U>QS9o-^=X2C>8=d>0V%3W4KF?+unEk%zl|b217~eOw$mFscUk@7J1)Cj5{5$o_oSO!n)o>QDx!|Ka|kXM((kdZ6^~+^d84exSI2QR zBX_B$_5yQx)G8UJy&Za(f9Il}U7H_0WxvYF1R5T<@1Nw71xQvkI7E~8guE17@o8DC zG2V$K``sNX2Mwu17bpGL8!Z!cHKdb6pUw%^{_b88;qoGBQ=`_Hh_oflGsBj*nn zzfripd)81?|MJuK&Vnz-ZgHMdp3{DJY$n1~=wT|cR!TF0A#wf; zr4X&0e*HJ4D%H4I52F!jw}bGh@B6-llhFh#s+AceD5*Y^Ug23ywHkP$Qg7hOslGGi z8^1~Rlo-eDw<)Q1X))fN2=z{RtJlfQ^N-c`%buyd6`;$x%B%tB>KZtAPkA{PdzUl# zDhRX65R7UJVxu-X)XR;vfmBMGKD9a79Z!GEIh4c zb-SPVu=;>ArQMtcvk}=K#eH?{Wfq4XQOdJ9_hB?Bp=+$hF&`^*xL4S0^{`jo2pciK zEV%qEv4u=o2NAzW8E(H;tYK8KTz&ik4+VJOcCdP1J^562zk8#Ff!~zP#`Ix!99qtp}s3PdXZg)WvDl z;GD#npU|1#mao4<(&4M&F~+GbyWuFgbOT}DlgBt1RI&TaRP=4pOQNEja=Zana6wky zoArIx=Z=K$EtGlY^3shA5ie8bs!OuBSolB&SGU&QsofvAk!SDjUJg|Pm`mGJ99!0n z-8PrToOXxGoov1Kj5ju~|B%T0%L)gIY@ORqUrS94rQeg_^TIJ-?h5C!nG)(uPw+Ee zj)4NAAXD5J%3%v5}d{6Afe)#DcEN|auY|k+3S0@CEp?bBv6uX8UZp0t;LNRq$ zh|R7K%6qOX4ybY}`yMP~Cu_aJIT$p0x$TLwN=V_!ZhxDx@?#5>=^BgFn3i{$=ln9Y zd;@OcVlxC0NmexOhP1-BqXl71xIz8v&i;lA-a0b4n0Yxmx z+D=G%OC2jsPyOBfD#5wF*+%c8^mJrNn(XDCUOklnV+~P!SRp0K6)YcGnZoqJtGh^l zI5(X2qdS)lc^p$_`#~YkX=T13udoP{Ay)_7xdiE@&uj-XLdo)H1Lb~qTiNf@-}6bA z&|>h#QTtkPO^NV`w3wQ|U%qeEJ3 zlXSP(ztyZA8?$BYdXPqz;6*?0_*_<_%tlTtrHhH^*gS47QA0|{{nmqMfo%RL`6WO1 zlhTsZNiN4U?}&ejVwf@}uc_H_e{W3sWa@O#`p&nn8H`3IWG96O&upGD%GGo+e%}?*qn|Zf z#n`T2_T8U%CddF0)W9b>iFj0SO|&dp#xmsw$4;dSeo^1%kfw9Bj#jQG=iKk!5v6s^3^vy`&ShN5jIG>Ay|`8{LDbAb=-b<32kuY}a%&d$r)yytzk6a3>|4G(s9J+-fμ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 literal 0 HcmV?d00001 diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_config.sh b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_config.sh new file mode 100644 index 00000000..158627fd --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_config.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +set -eux +echo 'export ONOS_OPTS=debug' > /opt/onos/options; +echo 'export ONOS_USER=root' >> /opt/onos/options; +mkdir /opt/onos/var; +mkdir /opt/onos/config; + +#jdk config + +mkdir /usr/lib/jvm/ +tar -xzf /opt/jdk-8u*-linux-x64.tar.gz -C /usr/lib/jvm/ +mv /usr/lib/jvm/jdk1.8.0_* /usr/lib/jvm/java-8-oracle + +touch /etc/profile.d/jdk.csh +cat <> /etc/profile.d/jdk.csh +setenv J2SDKDIR /usr/lib/jvm/java-8-oracle +setenv J2REDIR /usr/lib/jvm/java-8-oracle/jre +setenv PATH ${PATH}:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin +setenv JAVA_HOME /usr/lib/jvm/java-8-oracle +setenv DERBY_HOME /usr/lib/jvm/java-8-oracle/db +EOT + +touch /etc/profile.d/jdk.sh +cat <> /etc/profile.d/jdk.sh +export J2SDKDIR=/usr/lib/jvm/java-8-oracle +export J2REDIR=/usr/lib/jvm/java-8-oracle/jre +export PATH=$PATH:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin +export JAVA_HOME=/usr/lib/jvm/java-8-oracle +export DERBY_HOME=/usr/lib/jvm/java-8-oracle/db +EOT + +chmod +x /etc/profile.d/jdk* + diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_driver.sh b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_driver.sh new file mode 100644 index 00000000..d3a16514 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/onos_driver.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -eux + +cd /opt +#git clone https://github.com/openstack/networking-onos.git +tar xf networking-onos.tar +cd networking-onos +python setup.py install + diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/config.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/config.pp new file mode 100644 index 00000000..457d732f --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/config.pp @@ -0,0 +1,55 @@ +class onos::config{ +$onos_home = $onos::onos_home +$karaf_dist = $onos::karaf_dist +$onos_boot_features = $onos::onos_boot_features +$onos_extra_features = $onos::onos_extra_features +$roles = $onos::roles +$public_vip = hiera('public_vip') +$management_vip = hiera('management_vip') +$manager_ip = $onos::manager_ip +$onos_names = $onos::onos_names + +$onos_pkg_name = $onos::onos_pkg_name +$jdk8_pkg_name = $onos::jdk8_pkg_name + +Exec{ + path => "/usr/bin:/usr/sbin:/bin:/sbin", + timeout => 180, + logoutput => "true", +} + +file{ '/opt/onos_config.sh': + source => "puppet:///modules/onos/onos_config.sh", +} -> +exec{ 'install onos config': + command => "sh /opt/onos_config.sh; + rm -rf /opt/onos_config.sh;", +}-> +exec{ "clean used files": + command => "rm -rf /opt/$onos_pkg_name; + rm -rf /opt/$jdk8_pkg_name + rm -rf /root/.m2/*.tar" +}-> +exec{ 'onos boot features': + command => "sed -i '/^featuresBoot=/c\featuresBoot=$onos_boot_features' $onos_home/$karaf_dist/etc/org.apache.karaf.features.cfg", + path => "/usr/bin:/usr/sbin:/bin:/sbin", +} +case $::operatingsystem { + ubuntu:{ + file{'/etc/init/onos.conf': + ensure => file, + content => template('onos/debian/onos.conf.erb') +}} + centos:{ + file{'/etc/init.d/onos': + ensure => file, + content => template('onos/centos/onos.erb'), + mode => 0777 +}}} + + +#if !member($roles, 'compute') { +# include onos::ha::haproxy +#} + +} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/ha/haproxy.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/ha/haproxy.pp new file mode 100644 index 00000000..c35752d9 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/ha/haproxy.pp @@ -0,0 +1,64 @@ +# +# Copyright 2015 Mirantis, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +class onos::ha::haproxy { + + + Haproxy::Service { use_include => true } + Haproxy::Balancermember { use_include => true } + + $public_vip = hiera('public_vip') + $management_vip = hiera('management_vip') + $nodes_hash = hiera('nodes') + $primary_controller_nodes = filter_nodes($nodes_hash,'role','primary-controller') + $onos_controllers = filter_nodes($nodes_hash,'role','onos') + + # defaults for any haproxy_service within this class + Openstack::Ha::Haproxy_service { + internal_virtual_ip => $management_vip, + ipaddresses => filter_hash($onos_controllers, 'internal_address'), + public_virtual_ip => $public_vip, + server_names => filter_hash($onos_controllers, 'name'), + public => true, + internal => true, + } + + openstack::ha::haproxy_service { 'onos': + order => '221', + listen_port => '8181', + haproxy_config_options => { + 'option' => ['httpchk /onos/ui', 'httplog'], + 'timeout client' => '2h', + 'timeout server' => '2h', + 'balance' => 'source', + 'mode' => 'http' + }, + balancermember_options => 'check inter 2000 fall 5', + } + + exec { 'haproxy reload onos': + command => 'export OCF_ROOT="/usr/lib/ocf"; (ip netns list | grep haproxy) && ip netns exec haproxy /usr/lib/ocf/resource.d/fuel/ns_haproxy reload', + path => '/usr/bin:/usr/sbin:/bin:/sbin', + logoutput => true, + provider => 'shell', + tries => 10, + try_sleep => 10, + returns => [0, ''], + } + + Haproxy::Listen <||> -> Exec['haproxy reload onos'] + Haproxy::Balancermember <||> -> Exec['haproxy reload onos'] +} + diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/init.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/init.pp new file mode 100644 index 00000000..839ae095 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/init.pp @@ -0,0 +1,19 @@ +class onos{ +$nodes = hiera('nodes') +$primary_controller = filter_nodes($nodes,'role','primary-controller') +$roles = node_roles($nodes, hiera('uid')) + +$onos_settings = hiera('onos') +$public_eth = $onos_settings['public_eth'] +$onos_hash = filter_nodes($nodes,'role','onos') +$manager_ip = filter_hash($onos_hash, 'internal_address') +$onos_names = filter_hash($onos_hash, 'name') + +$onos_home = '/opt/onos' +$onos_pkg_url = 'http://downloads.onosproject.org/release/onos-1.3.0.tar.gz' +$karaf_dist = 'apache-karaf-3.0.3' +$onos_pkg_name = 'onos-1.3.0.tar.gz' +$jdk8_pkg_name = 'jdk-8u51-linux-x64.tar.gz' +$onos_boot_features = 'config,standard,region,package,kar,ssh,management,webconsole,onos-api,onos-core,onos-incubator,onos-cli,onos-rest,onos-gui,onos-openflow-base,onos-openflow' +$onos_extra_features = 'ovsdb,vtn' +} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/install.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/install.pp new file mode 100644 index 00000000..7ccb7699 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/install.pp @@ -0,0 +1,56 @@ + +class onos::install{ +$onos_home = $onos::onos_home +$onos_pkg_url = $onos::onos_pkg_url +$karaf_dist = $onos::karaf_dist +$onos_pkg_name = $onos::onos_pkg_name +$jdk8_pkg_name = $onos::jdk8_pkg_name + + +Exec{ + path => "/usr/bin:/usr/sbin:/bin:/sbin", + logoutput => "true", + timeout => 180, +} +group { 'onos': + ensure => present, + before => [File['/opt/onos/'], User['onos']], + } + + +user { 'onos': + ensure => present, + home => '/opt/onos/', + membership => 'minimum', + groups => 'onos', + before => File['/opt/onos/'], + } + + +file { '/opt/onos/': + ensure => 'directory', + recurse => true, + owner => 'onos', + group => 'onos', +}-> + + +file{ "/opt/$onos_pkg_name": + source => "puppet:///modules/onos/$onos_pkg_name", +} -> +file{ "/opt/$jdk8_pkg_name": + source => "puppet:///modules/onos/$jdk8_pkg_name", +} -> + +file{ '/root/.m2/': + ensure => 'directory', + recurse => true, +} -> +file{ '/root/.m2/repository.tar': + source => "puppet:///modules/onos/repository.tar", +} -> +exec{ "unzip packages": + command => "tar -zvxf /opt/$onos_pkg_name -C $onos_home --strip-components 1 --no-overwrite-dir -k; + tar xf /root/.m2/repository.tar -C /root/.m2/", +} +} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/service.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/service.pp new file mode 100644 index 00000000..45399232 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/manifests/service.pp @@ -0,0 +1,48 @@ + +class onos::service{ + +$public_eth = $onos::public_eth +Exec{ + path => "/usr/bin:/usr/sbin:/bin:/sbin", + timeout => 320, + logoutput => 'true', +} + +firewall {'221 onos': + port => [6633, 6640, 6653, 8181, 8101,9876], + proto => 'tcp', + action => 'accept', +}-> +service{ 'onos': + ensure => running, + enable => true, + hasstatus => true, + hasrestart => true, +}-> + +exec{ 'sleep 100 to stablize onos': + command => 'sleep 100;' +}-> + +exec{ 'restart onos': + command => 'service onos restart', +}-> + +exec{ 'sleep 100 again to stablize onos': + command => 'sleep 100;' +}-> +exec{ 'restart onos again': + command => 'service onos restart', +}-> + +exec{ 'sleep 60 to stablize onos': + command => 'sleep 60;' +}-> + +exec{ 'add onos auto start': + command => 'echo "onos">>/opt/service', +}-> +exec{ 'set public port': + command => "/opt/onos/bin/onos \"externalportname-set -n $public_eth\"" +} +} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/centos/onos.erb b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/centos/onos.erb new file mode 100644 index 00000000..d878d4fc --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/centos/onos.erb @@ -0,0 +1,52 @@ +#!/bin/bash +# chkconfig: 345 98 2 +# description: Open Network Operating System +# onos Startup script for onos +# processname: onos + +prog=onos +export JAVA_HOME=/usr/lib/jvm/java-8-oracle +export ONOS_APPS=<%= @onos_extra_features -%> + +cd /opt/onos/bin/ +start(){ + echo $"Starting $prog..." + ./onos-service & + } +stop(){ + PID=`ps aux | grep java | grep karaf | awk '{print $2}'` + echo $"Stopping $prog $PID" + kill -9 $PID + sleep 10 + } +status(){ + PID=`ps aux | grep java | grep karaf | awk '{print $2}'` + if test -z $PID + then + echo "onos stop/waiting" + exit 1 + else + echo "onos start/running, process $PID." + exit 0 + fi + } + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + status) + status + ;; + *) + echo "Please use: $0 {start|stop|status}" + exit 1 + ;; +esac diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/cluster.json.erb b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/cluster.json.erb new file mode 100644 index 00000000..7ca41733 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/cluster.json.erb @@ -0,0 +1,20 @@ +{"ipPrefix": "192.168.0.*", + "nodes": [ + <% index = 1 -%> + <%- @manager_ip.each do |ip| -%> + <%- if index == @manager_ip.size -%> + { + "ip": "<%= ip -%>", + "id": "<%= ip -%>", + "tcpPort": 9876 + } + <%- else -%> + { + "ip": "<%= ip -%>", + "id": "<%= ip -%>", + "tcpPort": 9876 + }, + <%- end -%> + <%- index = index + 1 -%> + <%- end -%> +]} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/debian/onos.conf.erb b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/debian/onos.conf.erb new file mode 100644 index 00000000..1387a848 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/debian/onos.conf.erb @@ -0,0 +1,31 @@ +description "Open Network Operating System" +author "ON.Lab" + +start on (net-device-up + and local-filesystems + and runlevel [2345]) +stop on runlevel [016] + +console output +kill timeout 60 +respawn + +env LANG=en_US.UTF-8 +env JAVA_HOME=/usr/lib/jvm/java-8-oracle; +pre-stop script + /opt/onos/bin/onos halt 2>>/opt/onos/var/stderr.log + sleep 1 +end script + +script + export J2SDKDIR=/usr/lib/jvm/java-8-oracle; + export J2REDIR=/usr/lib/jvm/java-8-oracle/jre; + export PATH=$PATH:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin; + export JAVA_HOME=/usr/lib/jvm/java-8-oracle; + export DERBY_HOME=/usr/lib/jvm/java-8-oracle/db; + export ONOS_APPS=<%= @onos_extra_features %> + [ -f /opt/onos/options ] && . /opt/onos/options + start-stop-daemon --signal INT --start --chuid $ONOS_USER \ + --exec /opt/onos/bin/onos-service -- $ONOS_OPTS \ + >/opt/onos/var/stdout.log 2>/opt/onos/var/stderr.log +end script diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/netconfig.sh.erb b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/netconfig.sh.erb new file mode 100644 index 00000000..947d7947 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/netconfig.sh.erb @@ -0,0 +1,6 @@ +#!/bin/bash + +set -eux +ping -c 5 <%= @gateway_ip %> +gatewayMac=`arp -a <%= @gateway_ip -%> | awk '{print $4}'` +/opt/onos/bin/onos "externalgateway-update -m $gatewayMac" diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/tablets.json.erb b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/tablets.json.erb new file mode 100644 index 00000000..de52967d --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/templates/tablets.json.erb @@ -0,0 +1,69 @@ +{ + "nodes": [ + <%- index = 1 -%> + <%- @manager_ip.each do |ip| -%> + <%- if index == @manager_ip.size -%> + { + "ip": "<%= ip %>", + "id": "<%= ip %>", + "tcpPort": 9876 + } + <%- else -%> + { + "ip": "<%= ip %>", + "id": "<%= ip %>", + "tcpPort": 9876 + }, + <%- end -%> + <%- index = index + 1 -%> + <%- end -%> + ], + "partitions": { + <%- key = 1 -%> + <%- @manager_ip.each do |ip| -%> + <%- if key == @manager_ip.size -%> + "p<%= key -%>":[ + <%- index = 1 -%> + <%- @manager_ip.each do |ip| -%> + <%- if index == @manager_ip.size -%> + { + "ip": "<%= ip %>", + "id": "<%= ip %>", + "tcpPort": 9876 + } + <%- else -%> + { + "ip": "<%= ip %>", + "id": "<%= ip %>", + "tcpPort": 9876 + }, + <%- end -%> + <%- index = index + 1 -%> + <%- end -%> + ] + <%- key = key + 1 -%> + <%- else -%> + "p<%= key -%>":[ + <%- index = 1 -%> + <%- @manager_ip.each do |ip| -%> + <%- if index == @manager_ip.size -%> + { + "ip": "<%= ip %>", + "id": "<%= ip %>", + "tcpPort": 9876 + } + <%- else -%> + { + "ip": "<%= ip %>", + "id": "<%= ip %>", + "tcpPort": 9876 + }, + <%- end -%> + <%- index = index + 1 -%> + <%- end -%> + ], + <%- key = key + 1 -%> + <%- end -%> + <%- end -%> +} +} diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_tasks.yaml b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_tasks.yaml new file mode 100644 index 00000000..c80e5ffb --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_tasks.yaml @@ -0,0 +1,67 @@ +# These tasks will be merged into deployment graph. Here you +# can specify new tasks for any roles, even built-in ones. + +- id: onos + type: group + role: [onos] + requires: [deploy_start] + required_for: [deploy_end, primary-controller, controller] + tasks: [fuel_pkgs, hiera, globals, tools, logging, netconfig, + hosts, firewall, deploy_start, onos_install] + parameters: + strategy: + type: parallel +- id: onos_install + type: puppet + groups: [onos] + requires: [deploy_start, hosts, firewall, globals] + required_for: [deploy_end, openstack-network] + parameters: + puppet_manifest: puppet/manifests/onos-install.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 720 +- id: onos_service + type: puppet + role: [onos] + requires: [post_deployment_start] + required_for: [post_deployment_end] + parameters: + puppet_manifest: puppet/manifests/onos-service.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 1400 +- id: onos_ha + type: puppet + role: ['primary-controller','controller'] + requires: [onos_service] + required_for: [post_deployment_end] + parameters: + puppet_manifest: puppet/manifests/onos-ha.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 1400 +- id: onos_config_ovs + role: ['primary-controller','controller','compute'] + requires: [onos_ha] + required_for: [post_deployment_end] + type: puppet + parameters: + puppet_manifest: puppet/manifests/ovs.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 600 +- id: onos_config_neutron + role: ['primary-controller', 'controller'] + requires: [onos_config_ovs] + required_for: [post_deployment_end] + type: puppet + parameters: + puppet_manifest: puppet/manifests/neutron.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 1800 +- id: onos_config_net + role: [onos] + requires: [onos_config_neutron] + required_for: [post_deployment_end] + type: puppet + parameters: + puppet_manifest: puppet/manifests/netconfig.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 600 diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/environment_config.yaml b/framework/scripts/installer/fuel/fuel-plugin-onos/environment_config.yaml new file mode 100644 index 00000000..e7cb4bd1 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/environment_config.yaml @@ -0,0 +1,10 @@ +attributes: + metadata: + restrictions: + - "cluster:net_provider != 'neutron'": "Neutron only" + public_eth: + description: "Please note that onos needs an independent eth for public network when interfaces of nodes are configured, or L3 traffic to internet will fail! Defualt is eth3." + type: text + label: Public Ethernet Port + weight: 20 + value: eth3 diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/metadata.yaml b/framework/scripts/installer/fuel/fuel-plugin-onos/metadata.yaml new file mode 100644 index 00000000..872a1854 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/metadata.yaml @@ -0,0 +1,30 @@ +# Plugin name +name: onos +# Human-readable name for your plugin +title: onos plugin +# Plugin version +version: '0.7.0' +# Description +description: 'Open Network Operating System (ONOS) is a typical SDN controller. Web-ui: http://horizon_ip:8181/onos/ui.' +# Required fuel version +fuel_version: ['7.0'] +# Specify license of your plugin +licenses: ['Apache License Version 2.0'] +# Specify author or company name +authors: ['Wu Wenbin, Huawei'] +# A link to the plugin's page +homepage: 'https://github.com/openstack/fuel-plugins-onos' +# Specify a group which your plugin implements, possible options: +# network, storage, storage::cinder, storage::glance, hypervisor +groups: ['network'] + +# The plugin is compatible with releases in the list +releases: + - os: ubuntu + version: 2015.1.0-7.0 + mode: ['ha'] + deployment_scripts_path: deployment_scripts/ + repository_path: repositories/ubuntu + +# Version of plugin package +package_version: '3.0.0' diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/node_roles.yaml b/framework/scripts/installer/fuel/fuel-plugin-onos/node_roles.yaml new file mode 100644 index 00000000..f36f50a0 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/node_roles.yaml @@ -0,0 +1,9 @@ +onos: + name: "onos" + description: "sdn controller" + has_primary: false + public_ip_required: false + weight: 200 + limits: + max: 1 + min: 1 diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/pre_build_hook b/framework/scripts/installer/fuel/fuel-plugin-onos/pre_build_hook new file mode 100755 index 00000000..ce39b7be --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/pre_build_hook @@ -0,0 +1,13 @@ +#!/bin/bash +set -eux +DIR="$(dirname `readlink -f $0`)" +TARGET="${DIR}/deployment_scripts/puppet/modules/onos/files" +onos=http://205.177.226.237:9999/onosfw/onos-1.3.0.tar.gz +jdk=http://205.177.226.237:9999/onosfw/jdk-8u51-linux-x64.tar.gz +repo=http://205.177.226.237:9999/onosfw/repository.tar +cd $TARGET +if [ ! -f "onos-1.3.0.tar.gz" ]; then + wget $onos -P $TARGET + wget $jdk -P $TARGET + wget $repo -P $TARGET +fi diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/centos/.gitkeep b/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/centos/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/.gitkeep b/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/Packages.gz b/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/Packages.gz new file mode 100644 index 0000000000000000000000000000000000000000..edf96f9bbce848a84dbde768ba00966d2e51a4db GIT binary patch literal 20 Ucmb2|=3w}g+Y`pb%*+4-053rT`~Uy| literal 0 HcmV?d00001 diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/Release b/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/Release new file mode 100644 index 00000000..ac37f55f --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/repositories/ubuntu/Release @@ -0,0 +1,2 @@ +Label: onos +Version: 0.7 diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/volumes.yaml b/framework/scripts/installer/fuel/fuel-plugin-onos/volumes.yaml new file mode 100644 index 00000000..9b6a91c0 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/volumes.yaml @@ -0,0 +1,7 @@ +volumes_roles_mapping: + # Default role mapping + onos: + - {allocate_size: "min", id: "os"} + +# Set here new volumes for your role +volumes: [] -- 2.16.6