From 5b3c1b4af8dfcacc4fa16a8a85d9e6a8a1b688f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 18 Sep 2020 13:23:46 +0200 Subject: [PATCH 01/34] Move mlops-pipelines folder to root --- .../1-setup/deploy-infra/arm-templates/appinsights.template.json | 0 .../deploy-infra/arm-templates/containerregistry.template.json | 0 .../1-setup/deploy-infra/arm-templates/keyvault.parameters.json | 0 .../1-setup/deploy-infra/arm-templates/keyvault.template.json | 0 .../1-setup/deploy-infra/arm-templates/mlworkspace.template.json | 0 .../1-setup/deploy-infra/arm-templates/storage.parameters.json | 0 .../1-setup/deploy-infra/arm-templates/storage.template.json | 0 .../1-setup/deploy-infra/deploy-infra.template.yml | 0 .../environment-setup/arm-templates/mlcompute.parameters.json | 0 .../environment-setup/arm-templates/mlcompute.template.json | 0 .../1-setup/environment-setup/environment-setup.template.yml | 0 .../1-setup/setup-pipeline.yml | 0 .../2-training-code-build/training-code-build-pipeline.yml | 0 .../3-modeling/deploy-models/deploy-models.template.yml | 0 .../deploy-models/forecasting-deployment-config-aci.yml | 0 .../deploy-models/forecasting-deployment-config-aks.yml | 0 .../3-modeling/deploy-models/routing-deployment-config-aci.yml | 0 .../3-modeling/deploy-models/routing-deployment-config-aks.yml | 0 .../3-modeling/modeling-pipeline.yml | 0 .../3-modeling/run-training/run-training.template.yml | 0 .../3-modeling/update-data/update-data.template.yml | 0 .../batch-forecasting-code-build-pipeline.yml | 0 .../5-batch-forecasting/batch-forecasting-pipeline.yml | 0 .../run-forecasting/run-forecasting.template.yml | 0 .../5-batch-forecasting/update-data/update-data.template.yml | 0 {Custom_Script/mlops-pipelines => mlops-pipelines}/README.md | 0 .../mlops-pipelines => mlops-pipelines}/many-models-variables.yml | 0 .../scripts/create_forecasting_pipeline.py | 0 .../scripts/create_training_pipeline.py | 0 .../scripts/deploy_or_update_models.py | 0 .../scripts/deploy_or_update_router.py | 0 .../mlops-pipelines => mlops-pipelines}/scripts/download_data.py | 0 .../scripts/register_or_update_dataset.py | 0 .../mlops-pipelines => mlops-pipelines}/scripts/tests/__init__.py | 0 .../scripts/tests/test_deploy.py | 0 .../mlops-pipelines => mlops-pipelines}/scripts/tests/utils.py | 0 .../scripts/utils/deployment.py | 0 37 files changed, 0 insertions(+), 0 deletions(-) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/arm-templates/appinsights.template.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/arm-templates/containerregistry.template.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/arm-templates/keyvault.parameters.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/arm-templates/keyvault.template.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/arm-templates/mlworkspace.template.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/arm-templates/storage.parameters.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/arm-templates/storage.template.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/deploy-infra/deploy-infra.template.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/environment-setup/arm-templates/mlcompute.parameters.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/environment-setup/arm-templates/mlcompute.template.json (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/environment-setup/environment-setup.template.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/1-setup/setup-pipeline.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/2-training-code-build/training-code-build-pipeline.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/deploy-models/deploy-models.template.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/deploy-models/forecasting-deployment-config-aci.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/deploy-models/forecasting-deployment-config-aks.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/deploy-models/routing-deployment-config-aci.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/deploy-models/routing-deployment-config-aks.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/modeling-pipeline.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/run-training/run-training.template.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/3-modeling/update-data/update-data.template.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/5-batch-forecasting/batch-forecasting-pipeline.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/5-batch-forecasting/run-forecasting/run-forecasting.template.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/5-batch-forecasting/update-data/update-data.template.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/README.md (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/many-models-variables.yml (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/create_forecasting_pipeline.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/create_training_pipeline.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/deploy_or_update_models.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/deploy_or_update_router.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/download_data.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/register_or_update_dataset.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/tests/__init__.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/tests/test_deploy.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/tests/utils.py (100%) rename {Custom_Script/mlops-pipelines => mlops-pipelines}/scripts/utils/deployment.py (100%) diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json rename to mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json rename to mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json rename to mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json rename to mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json rename to mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json rename to mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json rename to mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json diff --git a/Custom_Script/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml b/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml rename to mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml diff --git a/Custom_Script/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json b/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json rename to mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json diff --git a/Custom_Script/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json b/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json rename to mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json diff --git a/Custom_Script/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml b/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml rename to mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml diff --git a/Custom_Script/mlops-pipelines/1-setup/setup-pipeline.yml b/mlops-pipelines/1-setup/setup-pipeline.yml similarity index 100% rename from Custom_Script/mlops-pipelines/1-setup/setup-pipeline.yml rename to mlops-pipelines/1-setup/setup-pipeline.yml diff --git a/Custom_Script/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml b/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml similarity index 100% rename from Custom_Script/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml rename to mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml b/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml rename to mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml b/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml rename to mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml b/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml rename to mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml b/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml rename to mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml b/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml rename to mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/modeling-pipeline.yml b/mlops-pipelines/3-modeling/modeling-pipeline.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/modeling-pipeline.yml rename to mlops-pipelines/3-modeling/modeling-pipeline.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/run-training/run-training.template.yml b/mlops-pipelines/3-modeling/run-training/run-training.template.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/run-training/run-training.template.yml rename to mlops-pipelines/3-modeling/run-training/run-training.template.yml diff --git a/Custom_Script/mlops-pipelines/3-modeling/update-data/update-data.template.yml b/mlops-pipelines/3-modeling/update-data/update-data.template.yml similarity index 100% rename from Custom_Script/mlops-pipelines/3-modeling/update-data/update-data.template.yml rename to mlops-pipelines/3-modeling/update-data/update-data.template.yml diff --git a/Custom_Script/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml b/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml similarity index 100% rename from Custom_Script/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml rename to mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml diff --git a/Custom_Script/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml b/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml similarity index 100% rename from Custom_Script/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml rename to mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml diff --git a/Custom_Script/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml b/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml similarity index 100% rename from Custom_Script/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml rename to mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml diff --git a/Custom_Script/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml b/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml similarity index 100% rename from Custom_Script/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml rename to mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml diff --git a/Custom_Script/mlops-pipelines/README.md b/mlops-pipelines/README.md similarity index 100% rename from Custom_Script/mlops-pipelines/README.md rename to mlops-pipelines/README.md diff --git a/Custom_Script/mlops-pipelines/many-models-variables.yml b/mlops-pipelines/many-models-variables.yml similarity index 100% rename from Custom_Script/mlops-pipelines/many-models-variables.yml rename to mlops-pipelines/many-models-variables.yml diff --git a/Custom_Script/mlops-pipelines/scripts/create_forecasting_pipeline.py b/mlops-pipelines/scripts/create_forecasting_pipeline.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/create_forecasting_pipeline.py rename to mlops-pipelines/scripts/create_forecasting_pipeline.py diff --git a/Custom_Script/mlops-pipelines/scripts/create_training_pipeline.py b/mlops-pipelines/scripts/create_training_pipeline.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/create_training_pipeline.py rename to mlops-pipelines/scripts/create_training_pipeline.py diff --git a/Custom_Script/mlops-pipelines/scripts/deploy_or_update_models.py b/mlops-pipelines/scripts/deploy_or_update_models.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/deploy_or_update_models.py rename to mlops-pipelines/scripts/deploy_or_update_models.py diff --git a/Custom_Script/mlops-pipelines/scripts/deploy_or_update_router.py b/mlops-pipelines/scripts/deploy_or_update_router.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/deploy_or_update_router.py rename to mlops-pipelines/scripts/deploy_or_update_router.py diff --git a/Custom_Script/mlops-pipelines/scripts/download_data.py b/mlops-pipelines/scripts/download_data.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/download_data.py rename to mlops-pipelines/scripts/download_data.py diff --git a/Custom_Script/mlops-pipelines/scripts/register_or_update_dataset.py b/mlops-pipelines/scripts/register_or_update_dataset.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/register_or_update_dataset.py rename to mlops-pipelines/scripts/register_or_update_dataset.py diff --git a/Custom_Script/mlops-pipelines/scripts/tests/__init__.py b/mlops-pipelines/scripts/tests/__init__.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/tests/__init__.py rename to mlops-pipelines/scripts/tests/__init__.py diff --git a/Custom_Script/mlops-pipelines/scripts/tests/test_deploy.py b/mlops-pipelines/scripts/tests/test_deploy.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/tests/test_deploy.py rename to mlops-pipelines/scripts/tests/test_deploy.py diff --git a/Custom_Script/mlops-pipelines/scripts/tests/utils.py b/mlops-pipelines/scripts/tests/utils.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/tests/utils.py rename to mlops-pipelines/scripts/tests/utils.py diff --git a/Custom_Script/mlops-pipelines/scripts/utils/deployment.py b/mlops-pipelines/scripts/utils/deployment.py similarity index 100% rename from Custom_Script/mlops-pipelines/scripts/utils/deployment.py rename to mlops-pipelines/scripts/utils/deployment.py From b834ace5b90ac8b010e3bc7ec38ace9e099c1658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 18 Sep 2020 14:19:27 +0200 Subject: [PATCH 02/34] Setup pipeline --- .../1-setup/data-prep/data-prep.template.yml | 109 ++++++++++++++++++ .../arm-templates/mlworkspace.template.json | 5 +- .../deploy-infra/deploy-infra.template.yml | 2 +- .../environment-setup.template.yml | 98 +--------------- mlops-pipelines/1-setup/setup-pipeline.yml | 25 ++-- .../many-models-variables.yml | 0 6 files changed, 134 insertions(+), 105 deletions(-) create mode 100644 mlops-pipelines/1-setup/data-prep/data-prep.template.yml rename mlops-pipelines/{ => configuration}/many-models-variables.yml (100%) diff --git a/mlops-pipelines/1-setup/data-prep/data-prep.template.yml b/mlops-pipelines/1-setup/data-prep/data-prep.template.yml new file mode 100644 index 00000000..59a27a49 --- /dev/null +++ b/mlops-pipelines/1-setup/data-prep/data-prep.template.yml @@ -0,0 +1,109 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +# Azure Pipeline Template for ML Workspace Setup + +parameters: +- name: sdkVersion + type: string +- name: serviceConnection + type: string +- name: resourceGroup + type: string +- name: amlWorkspaceName + type: string +- name: amlTrainDatasetName + type: string +- name: amlInferenceDatasetName + type: string +- name: maxFiles + type: string + + +jobs: + +- job: sample_files + displayName: 'Sample Files Setup' + steps: + + - task: UsePythonVersion@0 + displayName: 'Use Python 3.7' + inputs: + versionSpec: 3.7 + + - bash: | + # Install dependencies + dependencies="azureml-opendatasets==${{parameters.sdkVersion}} pandas" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + # Download sample files + datapath_train="sample-data-train" + datapath_inference="sample-data-inference" + data_script="mlops-pipelines/scripts/download_data.py" + python $data_script --maxfiles ${{parameters.maxFiles}} \ + --train-path $datapath_train \ + --inference-path $datapath_inference + echo "##vso[task.setvariable variable=datapath_train;isOutput=true;]$datapath_train" + echo "##vso[task.setvariable variable=datapath_inference;isOutput=true;]$datapath_inference" + name: download_files + displayName: 'Download Sample Files' + failOnStderr: true + + - task: AzureCLI@1 + displayName: 'Upload files to AML datastore' + inputs: + azureSubscription: ${{parameters.serviceConnection}} + scriptLocation: inlineScript + inlineScript: | + workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" + # Install ML extension + az extension add -n azure-cli-ml + # Get default datastore + datastore=$(az ml datastore show-default $workspace_params --query name -o tsv) + # Upload train files + az ml datastore upload --name $datastore \ + --src-path $(download_files.datapath_train) \ + --target-path $(download_files.datapath_train) \ + --overwrite true \ + $workspace_params + # Upload inference files + az ml datastore upload --name $datastore \ + --src-path $(download_files.datapath_inference) \ + --target-path $(download_files.datapath_inference) \ + --overwrite true \ + $workspace_params + + +- job: register_dataset + displayName: 'Register Dataset' + dependsOn: sample_files + variables: + datapath_train: $[ dependencies.sample_files.outputs['download_files.datapath_train'] ] + datapath_inference: $[ dependencies.sample_files.outputs['download_files.datapath_inference'] ] + steps: + + - task: UsePythonVersion@0 + displayName: 'Use Python 3.7' + inputs: + versionSpec: 3.7 + + - task: AzureCLI@1 + displayName: 'Register dataset' + inputs: + azureSubscription: ${{parameters.serviceConnection}} + scriptLocation: inlineScript + inlineScript: | + # Install dependencies + python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} + # Register train dataset + register_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py + python $register_dataset_script --path $DATAPATH_TRAIN \ + --name ${{parameters.amlTrainDatasetName}} \ + --subscription-id $(az account show --query id -o tsv) \ + --resource-group ${{parameters.resourceGroup}} \ + --workspace-name ${{parameters.amlWorkspaceName}} + # Register inference dataset + python $register_dataset_script --path $DATAPATH_INFERENCE \ + --name ${{parameters.amlInferenceDatasetName}} \ + --subscription-id $(az account show --query id -o tsv) \ + --resource-group ${{parameters.resourceGroup}} \ + --workspace-name ${{parameters.amlWorkspaceName}} diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json b/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json index be400388..e001280d 100644 --- a/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json +++ b/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json @@ -25,13 +25,14 @@ "name": "[parameters('workspaceName')]", "location": "[resourceGroup().location]", "identity": { - "type": "systemAssigned" + "type": "SystemAssigned" }, "properties": { "keyVault": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]", "applicationInsights": "[resourceId('Microsoft.Insights/components', parameters('appInsightsName'))]", "containerRegistry": "[resourceId('Microsoft.ContainerRegistry/registries', parameters('containerRegistryName'))]", - "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]" + "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]", + "sku": "enterprise" } } ] diff --git a/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml b/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml index b93c9a37..73b2295d 100644 --- a/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml +++ b/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml @@ -32,7 +32,7 @@ jobs: - task: CopyFiles@2 displayName: 'Copy ARM templates' inputs: - sourceFolder: 'Custom_Script/mlops-pipelines/1-setup/deploy-infra/arm-templates' + sourceFolder: 'mlops-pipelines/1-setup/deploy-infra/arm-templates' targetFolder: '$(Build.ArtifactStagingDirectory)' - publish: '$(Build.ArtifactStagingDirectory)' artifact: infratemplates diff --git a/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml b/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml index 63036de1..a33a8965 100644 --- a/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml +++ b/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml @@ -4,8 +4,6 @@ # Azure Pipeline Template for ML Workspace Setup parameters: -- name: sdkVersion - type: string - name: serviceConnection type: string - name: resourceGroup @@ -22,12 +20,6 @@ parameters: type: string - name: amlAksName type: string -- name: amlTrainDatasetName - type: string -- name: amlInferenceDatasetName - type: string -- name: maxFiles - type: string jobs: @@ -41,12 +33,13 @@ jobs: azureSubscription: ${{parameters.serviceConnection}} resourceGroupName: ${{parameters.resourceGroup}} location: ${{parameters.resourcesLocation}} - csmFile: '$(Build.SourcesDirectory)/Custom_Script/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json' - csmParametersFile: '$(Build.SourcesDirectory)/Custom_Script/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json' + csmFile: '$(Build.SourcesDirectory)/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json' + csmParametersFile: '$(Build.SourcesDirectory)/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json' overrideParameters: '-workspaceName ${{parameters.amlWorkspaceName}} -clusterName ${{parameters.amlComputeName}}' - job: aml_aks + condition: and( '${{ parameters.aksName }}', '${{ parameters.aksResourceGroup }}' ) displayName: 'Attach AKS Target to AML' steps: - task: AzureCLI@1 @@ -66,88 +59,3 @@ jobs: # Attach AKS az ml computetarget attach aks --name ${{parameters.amlAksName}} --compute-resource-id $aks_id $workspace_params fi - - -- job: sample_files - displayName: 'Sample Files Setup' - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - bash: | - # Install dependencies - dependencies="azureml-opendatasets==${{parameters.sdkVersion}} pandas" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver - # Download sample files - datapath_train="sample-data-train" - datapath_inference="sample-data-inference" - data_script="Custom_Script/mlops-pipelines/scripts/download_data.py" - python $data_script --maxfiles ${{parameters.maxFiles}} --train-path $datapath_train --inference-path $datapath_inference - echo "##vso[task.setvariable variable=datapath_train;isOutput=true;]$datapath_train" - echo "##vso[task.setvariable variable=datapath_inference;isOutput=true;]$datapath_inference" - name: download_files - displayName: 'Download Sample Files' - failOnStderr: true - - - task: AzureCLI@1 - displayName: 'Upload files to AML datastore' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" - # Install ML extension - az extension add -n azure-cli-ml - # Get default datastore - datastore=$(az ml datastore show-default $workspace_params --query name -o tsv) - # Upload train files - az ml datastore upload --name $datastore \ - --src-path $(download_files.datapath_train) \ - --target-path $(download_files.datapath_train) \ - --overwrite true \ - $workspace_params - # Upload inference files - az ml datastore upload --name $datastore \ - --src-path $(download_files.datapath_inference) \ - --target-path $(download_files.datapath_inference) \ - --overwrite true \ - $workspace_params - - -- job: register_dataset - displayName: 'Register Dataset' - dependsOn: sample_files - variables: - datapath_train: $[ dependencies.sample_files.outputs['download_files.datapath_train'] ] - datapath_inference: $[ dependencies.sample_files.outputs['download_files.datapath_inference'] ] - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Register dataset' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} - # Register train dataset - register_dataset_script=Custom_Script/mlops-pipelines/scripts/register_or_update_dataset.py - python $register_dataset_script --path $DATAPATH_TRAIN \ - --name ${{parameters.amlTrainDatasetName}} \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} - # Register inference dataset - python $register_dataset_script --path $DATAPATH_INFERENCE \ - --name ${{parameters.amlInferenceDatasetName}} \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} diff --git a/mlops-pipelines/1-setup/setup-pipeline.yml b/mlops-pipelines/1-setup/setup-pipeline.yml index 0feba7b5..e0051906 100644 --- a/mlops-pipelines/1-setup/setup-pipeline.yml +++ b/mlops-pipelines/1-setup/setup-pipeline.yml @@ -9,20 +9,20 @@ # - v2-preview # paths: # include: -# - Custom_Script/mlops-pipelines/1-setup/* -# - Custom_Script/mlops-pipelines/scripts/download_data.py -# - Custom_Script/mlops-pipelines/scripts/register_dataset.py +# - mlops-pipelines/1-setup/* +# - mlops-pipelines/scripts/download_data.py +# - mlops-pipelines/scripts/register_or_update_dataset.py variables: -- template: ../many-models-variables.yml +- template: ../configuration/many-models-variables.yml - group: manymodels-vg pool: vmImage: ubuntu-latest stages: -- stage: deploy_infra - displayName: 'Deploy Infra' +- stage: deploy_infrastructure + displayName: 'Deploy Infrastructure' jobs: - template: deploy-infra/deploy-infra.template.yml parameters: @@ -38,10 +38,10 @@ stages: - stage: environment_setup displayName: 'Environment Setup' + dependsOn: deploy_infrastructure jobs: - template: environment-setup/environment-setup.template.yml parameters: - sdkVersion: '$(SDK_VERSION)' serviceConnection: '$(SERVICECONNECTION_GROUP)' resourceGroup: '$(RESOURCE_GROUP)' resourcesLocation: '$(LOCATION)' @@ -50,6 +50,17 @@ stages: aksName: '$(AKS_NAME)' aksResourceGroup: '$(AKS_RESOURCE_GROUP)' amlAksName: '$(AML_AKS_NAME)' + +- stage: data_preparation + displayName: 'Data Preparation' + dependsOn: deploy_infrastructure + jobs: + - template: data-prep/data-prep.template.yml + parameters: + sdkVersion: '$(SDK_VERSION)' + serviceConnection: '$(SERVICECONNECTION_GROUP)' + resourceGroup: '$(RESOURCE_GROUP)' + amlWorkspaceName: '$(AMLWORKSPACE_NAME)' amlTrainDatasetName: '$(AML_DATASET_NAME)_train' amlInferenceDatasetName: '$(AML_DATASET_NAME)_inference' maxFiles: '$(DATASET_MAXFILES)' diff --git a/mlops-pipelines/many-models-variables.yml b/mlops-pipelines/configuration/many-models-variables.yml similarity index 100% rename from mlops-pipelines/many-models-variables.yml rename to mlops-pipelines/configuration/many-models-variables.yml From f3e38ebf5954b96ea470d01413bdfbec1a2c2803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Wed, 23 Sep 2020 14:47:26 +0200 Subject: [PATCH 03/34] Build training pipeline using configuration files --- .../training-code-build-pipeline.yml | 32 +++-- mlops-pipelines/README.md | 1 + .../customscript/script-settings.yml | 15 +++ .../train-parallelrunstep-config.yml | 5 + .../scripts/create_training_pipeline.py | 118 +++++++----------- mlops-pipelines/scripts/utils/common.py | 26 ++++ mlops-pipelines/scripts/utils/pipelines.py | 94 ++++++++++++++ .../customscript}/train.conda.yml | 2 + .../scripts => scripts/customscript}/train.py | 0 9 files changed, 211 insertions(+), 82 deletions(-) create mode 100644 mlops-pipelines/configuration/customscript/script-settings.yml create mode 100644 mlops-pipelines/configuration/customscript/train-parallelrunstep-config.yml create mode 100644 mlops-pipelines/scripts/utils/common.py create mode 100644 mlops-pipelines/scripts/utils/pipelines.py rename {Custom_Script/scripts => scripts/customscript}/train.conda.yml (66%) rename {Custom_Script/scripts => scripts/customscript}/train.py (100%) diff --git a/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml b/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml index 84e780fc..be93121f 100644 --- a/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml +++ b/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml @@ -9,13 +9,15 @@ # - v2-preview # paths: # include: -# - Custom_Script/mlops-pipelines/2-training-code-build/* -# - Custom_Script/mlops-pipelines/scripts/create_training_pipeline.py -# - Custom_Script/scripts/train.py -# - Custom_Script/scripts/train.conda.yml +# - mlops-pipelines/2-training-code-build/* +# - mlops-pipelines/scripts/create_training_pipeline.py +# - mlops-pipelines/configuration/*/script-settings.yml +# - mlops-pipelines/configuration/*/train-parallelrunstep-config.yml +# - scripts/*/train.py +# - scripts/*/train.conda.yml variables: -- template: ../many-models-variables.yml +- template: ../configuration/many-models-variables.yml - group: manymodels-vg pool: @@ -25,8 +27,20 @@ stages: - stage: build_training displayName: 'Publish Training AML Pipeline' jobs: + + - job: check_training_method + displayName: 'Check Training Method' + steps: + - bash: | + if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then + >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" + fi + displayName: 'Check Training Method' + failOnStderr: true + - job: build_training displayName: 'Publish Training AML Pipeline' + dependsOn: check_training_method steps: - task: UsePythonVersion@0 @@ -41,14 +55,16 @@ stages: scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk[contrib]==$SDK_VERSION + python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION # Create/update training pipeline - trainingbuild_script=Custom_Script/mlops-pipelines/scripts/create_training_pipeline.py + trainingbuild_script=mlops-pipelines/scripts/create_training_pipeline.py python $trainingbuild_script --name $(AML_TRAINING_PIPELINE_NAME) \ --version $(Build.BuildId) \ + --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ + --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script-settings.yml' \ + --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/train-parallelrunstep-config.yml' \ --dataset $(AML_DATASET_NAME)_train \ --compute $(AML_COMPUTE_NAME) \ --subscription-id $(az account show --query id -o tsv) \ --resource-group $(RESOURCE_GROUP) \ --workspace-name $(AMLWORKSPACE_NAME) - diff --git a/mlops-pipelines/README.md b/mlops-pipelines/README.md index 8450cfcb..0b82429d 100644 --- a/mlops-pipelines/README.md +++ b/mlops-pipelines/README.md @@ -15,6 +15,7 @@ You'll use Azure DevOps for running the MLOps pipelines. Create an [organization | LOCATION | [Azure location](https://azure.microsoft.com/en-us/global-infrastructure/locations/), no spaces | | RESOURCE_GROUP | Name of the Azure Resource Group that you'll be using (should be already created) | | SERVICECONNECTION_GROUP | Name of the connection you created in the last step | +| TRAINING_METHOD | "automl" or "customscript" depending which method you want to use for training the models | | DEPLOY_ACI | Whether to deploy in ACI (true/false, default false) | | DEPLOY_AKS | Whether to deploy in AKS (true/false, default false) | | AKS_NAME | [Optional] Name of the AKS resource you'll use for deploying the models | diff --git a/mlops-pipelines/configuration/customscript/script-settings.yml b/mlops-pipelines/configuration/customscript/script-settings.yml new file mode 100644 index 00000000..019d70fa --- /dev/null +++ b/mlops-pipelines/configuration/customscript/script-settings.yml @@ -0,0 +1,15 @@ +id_columns: + - Store + - Brand +target_column: Quantity +timestamp_column: WeekStarting +tag_columns: + - StoreGroup10 + - StoreGroup100 + - StoreGroup1000 +drop_id: true +drop_tags: true +drop_columns: + - Revenue' +model_type: lr +test_size: 20 diff --git a/mlops-pipelines/configuration/customscript/train-parallelrunstep-config.yml b/mlops-pipelines/configuration/customscript/train-parallelrunstep-config.yml new file mode 100644 index 00000000..9283fcd4 --- /dev/null +++ b/mlops-pipelines/configuration/customscript/train-parallelrunstep-config.yml @@ -0,0 +1,5 @@ +mini_batch_size: "1" +run_invocation_timeout: 300 +error_threshold: -1 +process_count_per_node: 8 +node_count: 3 diff --git a/mlops-pipelines/scripts/create_training_pipeline.py b/mlops-pipelines/scripts/create_training_pipeline.py index 47d9d9a6..4b22e396 100644 --- a/mlops-pipelines/scripts/create_training_pipeline.py +++ b/mlops-pipelines/scripts/create_training_pipeline.py @@ -1,92 +1,56 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. +import os import argparse -from azureml.core import Workspace, Dataset, Environment +import shutil + +from azureml.core import Workspace from azureml.core.compute import AmlCompute -from azureml.pipeline.core import Pipeline, PipelineData, PublishedPipeline -from azureml.contrib.pipeline.steps import ParallelRunConfig, ParallelRunStep +from utils.pipelines import create_parallelrunstep, publish_pipeline + + +def main(ws, pipeline_name, pipeline_version, dataset_name, compute_name, + scripts_dir, scripts_settings_file, config_file): -def main(ws, pipeline_name, pipeline_version, dataset_name, compute_name): + # Get the compute target + compute = AmlCompute(ws, compute_name) - # Get input dataset - dataset = Dataset.get_by_name(ws, name=dataset_name) - dataset_input = dataset.as_named_input(dataset_name) + # Get datastore + datastore_default = ws.get_default_datastore() - # Set output - datastore = ws.get_default_datastore() - output_dir = PipelineData(name='training_output', datastore=datastore) + # Setup settings file to be read in script + settings_filename = os.path.basename(scripts_settings_file) + shutil.copyfile(scripts_settings_file, os.path.join(scripts_dir, settings_filename)) - # Set up ParallelRunStep - parallel_run_config = get_parallel_run_config(ws, dataset_name, compute_name) - parallel_run_step = ParallelRunStep( + # Create the pipeline step for parallel training + parallel_run_step = create_parallelrunstep( + ws, name='many-models-parallel-training', - parallel_run_config=parallel_run_config, - inputs=[dataset_input], - output=output_dir, - allow_reuse=False, + compute=compute, + datastore=datastore_default, + input_dataset=dataset_name, + output_dir='training_output', + script_dir=scripts_dir, + script_file='train.py', + environment_file=os.path.join(scripts_dir, 'train.conda.yml'), + config_file=config_file, arguments=[ - '--id_columns', 'Store', 'Brand', - '--target_column', 'Quantity', - '--timestamp_column', 'WeekStarting', - '--tag_columns', 'StoreGroup10', 'StoreGroup100', 'StoreGroup1000', - '--drop_id', - '--drop_tags', - '--drop_columns', 'Revenue', - '--model_type', 'lr', - '--test_size', 20 + '--settings-file', settings_filename ] ) - # Create the pipeline - train_pipeline = Pipeline(workspace=ws, steps=[parallel_run_step]) - train_pipeline.validate() - - # Publish it and replace old pipeline - disable_old_pipelines(ws, pipeline_name) - published_pipeline = train_pipeline.publish( - name=pipeline_name, - description="Many Models training/retraining pipeline", - version=pipeline_version, - continue_on_step_failure=False - ) - - return published_pipeline.id - - -def get_parallel_run_config(ws, dataset_name, compute_name, processes_per_node=8, node_count=3, timeout=300): - - # Configure environment for ParallelRunStep - train_env = Environment.from_conda_specification( - name='many_models_environment', - file_path='Custom_Script/scripts/train.conda.yml' - ) - - # Get the compute target - compute = AmlCompute(ws, compute_name) - - # Set up ParallelRunStep configuration - parallel_run_config = ParallelRunConfig( - source_directory='Custom_Script/scripts/', - entry_script='train.py', - mini_batch_size='1', - run_invocation_timeout=timeout, - error_threshold=-1, - output_action='append_row', - environment=train_env, - process_count_per_node=processes_per_node, - compute_target=compute, - node_count=node_count + # Publish the pipeline + train_pipeline = publish_pipeline( + ws, + name=pipeline_name, + steps=[parallel_run_step], + description='Many Models training/retraining pipeline', + version=pipeline_version ) - return parallel_run_config - - -def disable_old_pipelines(ws, pipeline_name): - for pipeline in PublishedPipeline.list(ws): - if pipeline.name == pipeline_name: - pipeline.disable() + return train_pipeline.id def parse_args(args=None): @@ -96,7 +60,10 @@ def parse_args(args=None): parser.add_argument('--workspace-name', required=True, type=str) parser.add_argument('--name', required=True, type=str) parser.add_argument('--version', required=True, type=str) - parser.add_argument('--dataset', type=str, default='oj_sales_data') + parser.add_argument('--scripts-dir', required=True, type=str) + parser.add_argument('--scripts-settings', required=True, type=str) + parser.add_argument('--prs-config', required=True, type=str) + parser.add_argument('--dataset', type=str, default='oj_sales_data_train') parser.add_argument('--compute', type=str, default='cpu-compute') args_parsed = parser.parse_args(args) return args_parsed @@ -117,7 +84,10 @@ def parse_args(args=None): pipeline_name=args.name, pipeline_version=args.version, dataset_name=args.dataset, - compute_name=args.compute + compute_name=args.compute, + scripts_dir=args.scripts_dir, + scripts_settings_file=args.scripts_settings, + config_file=args.prs_config ) print('Training pipeline {} version {} published with ID {}'.format(args.name, args.version, pipeline_id)) diff --git a/mlops-pipelines/scripts/utils/common.py b/mlops-pipelines/scripts/utils/common.py new file mode 100644 index 00000000..3884ee72 --- /dev/null +++ b/mlops-pipelines/scripts/utils/common.py @@ -0,0 +1,26 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import yaml + +from azureml.core import Environment + + +def create_environment_conda(conda_file, environment_variables=None, name='many_models_environment'): + + environment = Environment.from_conda_specification( + name=name, + file_path=conda_file + ) + if environment_variables: + environment.environment_variables = environment_variables + + return environment + + +def read_config_file(config_file): + + with open(config_file) as f: + config = yaml.load(f, Loader=yaml.FullLoader) + + return config diff --git a/mlops-pipelines/scripts/utils/pipelines.py b/mlops-pipelines/scripts/utils/pipelines.py new file mode 100644 index 00000000..cc929493 --- /dev/null +++ b/mlops-pipelines/scripts/utils/pipelines.py @@ -0,0 +1,94 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +from azureml.core import Environment, Dataset +from azureml.pipeline.core import Pipeline, PipelineData, PublishedPipeline +from azureml.pipeline.steps import ParallelRunConfig, ParallelRunStep + +from utils.common import read_config_file, create_environment_conda + + +def create_parallelrunstep(ws, name, compute, datastore, input_dataset, output_dir, + script_dir, script_file, environment_file, config_file, arguments): + + config_params = read_config_file(config_file) + + # Get input dataset + dataset = Dataset.get_by_name(ws, name=input_dataset) + pipeline_input = dataset.as_named_input(input_dataset) + + # Set output + pipeline_output = PipelineData(name=output_dir, datastore=datastore) + + # Create ParallelRunConfig + parallel_run_config = create_parallelrunconfig( + ws, compute, script_dir, script_file, environment_file, config_params) + + parallel_run_step = ParallelRunStep( + name=name, + parallel_run_config=parallel_run_config, + inputs=[pipeline_input], + output=pipeline_output, + allow_reuse=False, + arguments=arguments + ) + + return parallel_run_step + + +def create_parallelrunconfig(ws, compute, script_dir, script_file, environment_file, config_params): + + # Configure environment for ParallelRunStep + train_env = create_environment_conda(environment_file) + + # Set up ParallelRunStep configuration + + default_params = { + 'mini_batch_size': '1', + 'run_invocation_timeout': 300, + 'error_threshold': -1, + 'process_count_per_node': 8, + 'node_count': 3 + } + for param, default_value in default_params.items(): + if not param in config_params: + config_params[param] = default_value + + parallel_run_config = ParallelRunConfig( + source_directory=script_dir, + entry_script=script_file, + environment=train_env, + compute_target=compute, + output_action='append_row', + **config_params + ) + + return parallel_run_config + + +def create_step_pythonscript(): + pass + + +def publish_pipeline(ws, name, steps, description=None, version=None): + + # Create the pipeline + pipeline = Pipeline(workspace=ws, steps=steps) + pipeline.validate() + + # Publish it replacing old pipeline + disable_old_pipelines(ws, name) + published_pipeline = pipeline.publish( + name=name, + description=description, + version=version, + continue_on_step_failure=False + ) + + return published_pipeline + + +def disable_old_pipelines(ws, name): + for pipeline in PublishedPipeline.list(ws): + if pipeline.name == name: + pipeline.disable() diff --git a/Custom_Script/scripts/train.conda.yml b/scripts/customscript/train.conda.yml similarity index 66% rename from Custom_Script/scripts/train.conda.yml rename to scripts/customscript/train.conda.yml index 33cb7095..b5287485 100644 --- a/Custom_Script/scripts/train.conda.yml +++ b/scripts/customscript/train.conda.yml @@ -5,3 +5,5 @@ dependencies: - pip: - joblib - sklearn + - azureml-core + - azureml-dataset-runtime[fuse] diff --git a/Custom_Script/scripts/train.py b/scripts/customscript/train.py similarity index 100% rename from Custom_Script/scripts/train.py rename to scripts/customscript/train.py From 4622d5b90c6e56e5cd4723a718ac69f97a197b62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Wed, 23 Sep 2020 17:29:23 +0200 Subject: [PATCH 04/34] Build forecasting pipeline using configuration files --- .../batch-forecasting-code-build-pipeline.yml | 33 +++-- .../forecast-parallelrunstep-config.yml | 5 + .../scripts/create_forecasting_pipeline.py | 127 ++++++++---------- .../customscript}/copy_predictions.py | 2 +- .../customscript}/forecast.conda.yml | 2 + .../customscript}/forecast.py | 0 6 files changed, 86 insertions(+), 83 deletions(-) create mode 100644 mlops-pipelines/configuration/customscript/forecast-parallelrunstep-config.yml rename {Custom_Script/scripts => scripts/customscript}/copy_predictions.py (100%) rename {Custom_Script/scripts => scripts/customscript}/forecast.conda.yml (69%) rename {Custom_Script/scripts => scripts/customscript}/forecast.py (100%) diff --git a/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml b/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml index 60f29fa1..534d3098 100644 --- a/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml +++ b/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml @@ -9,14 +9,15 @@ # - v2-preview # paths: # include: -# - Custom_Script/mlops-pipelines/4-batch-forecasting-code-build/* -# - Custom_Script/mlops-pipelines/scripts/create_forecasting_pipeline.py -# - Custom_Script/scripts/forecast.py -# - Custom_Script/scripts/forecast.conda.yml -# - Custom_Script/scripts/utils/forecasting.py +# - mlops-pipelines/4-batch-forecasting-code-build/* +# - mlops-pipelines/scripts/create_forecasting_pipeline.py +# - mlops-pipelines/configuration/*/script-settings.yml +# - mlops-pipelines/configuration/*/forecast-parallelrunstep-config.yml +# - scripts/*/forecast.py +# - scripts/*/forecast.conda.yml variables: -- template: ../many-models-variables.yml +- template: ../configuration/many-models-variables.yml - group: manymodels-vg pool: @@ -26,8 +27,20 @@ stages: - stage: build_forecasting displayName: 'Publish Forecasting AML Pipeline' jobs: + + - job: check_training_method + displayName: 'Check Training Method' + steps: + - bash: | + if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then + >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" + fi + displayName: 'Check Training Method' + failOnStderr: true + - job: build_forecasting displayName: 'Publish Forecasting AML Pipeline' + dependsOn: check_training_method steps: - task: UsePythonVersion@0 @@ -42,15 +55,17 @@ stages: scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk[contrib]==$SDK_VERSION + python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION # Create/update forecasting pipeline - forecastingbuild_script=Custom_Script/mlops-pipelines/scripts/create_forecasting_pipeline.py + forecastingbuild_script=mlops-pipelines/scripts/create_forecasting_pipeline.py python $forecastingbuild_script --name $(AML_FORECASTING_PIPELINE_NAME) \ --version $(Build.BuildId) \ + --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ + --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script-settings.yml' \ + --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/forecast-parallelrunstep-config.yml' \ --dataset $(AML_DATASET_NAME)_inference \ --output $(PREDICTIONS_CONTAINER_NAME) \ --compute $(AML_COMPUTE_NAME) \ --subscription-id $(az account show --query id -o tsv) \ --resource-group $(RESOURCE_GROUP) \ --workspace-name $(AMLWORKSPACE_NAME) - diff --git a/mlops-pipelines/configuration/customscript/forecast-parallelrunstep-config.yml b/mlops-pipelines/configuration/customscript/forecast-parallelrunstep-config.yml new file mode 100644 index 00000000..9283fcd4 --- /dev/null +++ b/mlops-pipelines/configuration/customscript/forecast-parallelrunstep-config.yml @@ -0,0 +1,5 @@ +mini_batch_size: "1" +run_invocation_timeout: 300 +error_threshold: -1 +process_count_per_node: 8 +node_count: 3 diff --git a/mlops-pipelines/scripts/create_forecasting_pipeline.py b/mlops-pipelines/scripts/create_forecasting_pipeline.py index f32fa37c..6d819872 100644 --- a/mlops-pipelines/scripts/create_forecasting_pipeline.py +++ b/mlops-pipelines/scripts/create_forecasting_pipeline.py @@ -1,108 +1,83 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. +import os import argparse -from azureml.core import Workspace, Datastore, Dataset, Environment -from azureml.data.data_reference import DataReference +import shutil + +from azureml.core import Workspace, Datastore from azureml.core.compute import AmlCompute -from azureml.pipeline.core import Pipeline, PipelineData, PublishedPipeline +from azureml.data.data_reference import DataReference from azureml.pipeline.steps import PythonScriptStep -from azureml.contrib.pipeline.steps import ParallelRunConfig, ParallelRunStep + +from utils.pipelines import create_parallelrunstep, publish_pipeline -def main(ws, pipeline_name, pipeline_version, dataset_name, output_name, compute_name): +def main(ws, pipeline_name, pipeline_version, dataset_name, output_name, compute_name, + scripts_dir, scripts_settings_file, config_file): - # Get forecasting dataset - dataset = Dataset.get_by_name(ws, name=dataset_name) - dataset_input = dataset.as_named_input(dataset_name) + # Get compute target + compute = AmlCompute(ws, compute_name) - # Set outputs - datastore = ws.get_default_datastore() - output_dir = PipelineData(name='forecasting_output', datastore=datastore) - predictions_datastore = Datastore.register_azure_blob_container( + # Get datastores + datastore_default = ws.get_default_datastore() + datastore_predictions = Datastore.register_azure_blob_container( workspace=ws, datastore_name=output_name, container_name=output_name, - account_name=datastore.account_name, - account_key=datastore.account_key, + account_name=datastore_default.account_name, + account_key=datastore_default.account_key, create_if_not_exists=True ) - predictions_dref = DataReference(predictions_datastore) - # Get the compute target - compute = AmlCompute(ws, compute_name) + # Setup settings file to be read in script + settings_filename = os.path.basename(scripts_settings_file) + shutil.copyfile(scripts_settings_file, os.path.join(scripts_dir, settings_filename)) - # Set up ParallelRunStep - parallel_run_config = get_parallel_run_config(ws, dataset_name, compute) - parallel_run_step = ParallelRunStep( + # Create the pipeline step for parallel batch forecasting + parallel_run_step = create_parallelrunstep( + ws, name='many-models-parallel-forecasting', - parallel_run_config=parallel_run_config, - inputs=[dataset_input], - output=output_dir, - allow_reuse=False, + compute=compute, + datastore=datastore_default, + input_dataset=dataset_name, + output_dir='forecasting_output', + script_dir=scripts_dir, + script_file='forecast.py', + environment_file=os.path.join(scripts_dir, 'forecast.conda.yml'), + config_file=config_file, arguments=[ - '--id_columns', 'Store', 'Brand', - '--timestamp_column', 'WeekStarting', - '--model_type', 'lr' + '--settings-file', settings_filename ] ) - # Create step to copy predictions + # Create the pipeline step to copy predictions + prev_step_output = parallel_run_step._output[0] + predictions_dref = DataReference(datastore_predictions) upload_predictions_step = PythonScriptStep( name='many-models-copy-predictions', - source_directory='Custom_Script/scripts/', + source_directory=scripts_dir, script_name='copy_predictions.py', compute_target=compute, - inputs=[predictions_dref, output_dir], + inputs=[predictions_dref, prev_step_output], allow_reuse=False, arguments=[ - '--parallel_run_step_output', output_dir, + '--parallel_run_step_output', prev_step_output, '--output_dir', predictions_dref, - '--id_columns', 'Store', 'Brand', - '--target_column', 'Quantity', - '--timestamp_column', 'WeekStarting' + '--settings-file', scripts_settings_file ] ) - # Create the pipeline - train_pipeline = Pipeline(workspace=ws, steps=[parallel_run_step, upload_predictions_step]) - train_pipeline.validate() - - # Publish it and replace old pipeline - disable_old_pipelines(ws, pipeline_name) - published_pipeline = train_pipeline.publish( - name=pipeline_name, - description="Many Models forecasting pipeline", - version=pipeline_version, - continue_on_step_failure=False - ) - - return published_pipeline.id - - -def get_parallel_run_config(ws, dataset_name, compute, processes_per_node=8, node_count=3, timeout=180): - - # Configure environment for ParallelRunStep - forecast_env = Environment.from_conda_specification( - name='many_models_environment', - file_path='Custom_Script/scripts/forecast.conda.yml' - ) - - # Set up ParallelRunStep configuration - parallel_run_config = ParallelRunConfig( - source_directory='Custom_Script/scripts/', - entry_script='forecast.py', - mini_batch_size='1', - run_invocation_timeout=timeout, - error_threshold=25, - output_action='append_row', - environment=forecast_env, - process_count_per_node=processes_per_node, - compute_target=compute, - node_count=node_count + # Publish the pipeline + forecasting_pipeline = publish_pipeline( + ws, + name=pipeline_name, + steps=[parallel_run_step, upload_predictions_step], + description='Many Models forecasting pipeline', + version=pipeline_version ) - return parallel_run_config + return forecasting_pipeline.id def disable_old_pipelines(ws, pipeline_name): @@ -118,7 +93,10 @@ def parse_args(args=None): parser.add_argument('--workspace-name', required=True, type=str) parser.add_argument('--name', required=True, type=str) parser.add_argument('--version', required=True, type=str) - parser.add_argument('--dataset', type=str, default='oj_sales_data') + parser.add_argument('--scripts-dir', required=True, type=str) + parser.add_argument('--scripts-settings', required=True, type=str) + parser.add_argument('--prs-config', required=True, type=str) + parser.add_argument('--dataset', type=str, default='oj_sales_data_inference') parser.add_argument('--output', type=str, default='predictions') parser.add_argument('--compute', type=str, default='cpu-compute') args_parsed = parser.parse_args(args) @@ -141,7 +119,10 @@ def parse_args(args=None): pipeline_version=args.version, dataset_name=args.dataset, output_name=args.output, - compute_name=args.compute + compute_name=args.compute, + scripts_dir=args.scripts_dir, + scripts_settings_file=args.scripts_settings, + config_file=args.prs_config ) print('Forecasting pipeline {} version {} published with ID {}'.format(args.name, args.version, pipeline_id)) diff --git a/Custom_Script/scripts/copy_predictions.py b/scripts/customscript/copy_predictions.py similarity index 100% rename from Custom_Script/scripts/copy_predictions.py rename to scripts/customscript/copy_predictions.py index b5e021e0..80062fb9 100644 --- a/Custom_Script/scripts/copy_predictions.py +++ b/scripts/customscript/copy_predictions.py @@ -1,10 +1,10 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -import pandas as pd import os import datetime import argparse +import pandas as pd # Parse input arguments parser = argparse.ArgumentParser("parallel run step results directory") diff --git a/Custom_Script/scripts/forecast.conda.yml b/scripts/customscript/forecast.conda.yml similarity index 69% rename from Custom_Script/scripts/forecast.conda.yml rename to scripts/customscript/forecast.conda.yml index dbba36c9..672f696b 100644 --- a/Custom_Script/scripts/forecast.conda.yml +++ b/scripts/customscript/forecast.conda.yml @@ -6,3 +6,5 @@ dependencies: - joblib - pandas - sklearn + - azureml-core + - azureml-dataset-runtime[fuse] diff --git a/Custom_Script/scripts/forecast.py b/scripts/customscript/forecast.py similarity index 100% rename from Custom_Script/scripts/forecast.py rename to scripts/customscript/forecast.py From 449405c604d934d563c4764a195657ae1e792c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Wed, 23 Sep 2020 18:34:36 +0200 Subject: [PATCH 05/34] Modeling pipeline - update data & invoke training pipeline --- mlops-pipelines/3-modeling/modeling-pipeline.yml | 12 ++++++------ .../{run-training => }/run-training.template.yml | 0 .../{update-data => }/update-data.template.yml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) rename mlops-pipelines/3-modeling/{run-training => }/run-training.template.yml (100%) rename mlops-pipelines/3-modeling/{update-data => }/update-data.template.yml (94%) diff --git a/mlops-pipelines/3-modeling/modeling-pipeline.yml b/mlops-pipelines/3-modeling/modeling-pipeline.yml index 6b37f61d..40434f59 100644 --- a/mlops-pipelines/3-modeling/modeling-pipeline.yml +++ b/mlops-pipelines/3-modeling/modeling-pipeline.yml @@ -9,9 +9,9 @@ # - v2-preview # paths: # include: -# - Custom_Script/mlops-pipelines/3-modeling/* -# - Custom_Script/mlops-pipelines/scripts/deploy_grouped_models.py -# - Custom_Script/scripts/forecast_webservice.py +# - mlops-pipelines/3-modeling/* +# - mlops-pipelines/scripts/deploy_or_update_models.py +# - scripts/*/forecast_webservice.py # - Custom_Script/scripts/routing_webservice.py # - Custom_Script/scripts/routing_webservice.conda.yml @@ -24,7 +24,7 @@ # always: true variables: -- template: ../many-models-variables.yml +- template: ../configuration/many-models-variables.yml - group: manymodels-vg pool: @@ -35,7 +35,7 @@ stages: - stage: update_data displayName: 'Update Data for Training/Retraining' jobs: - - template: update-data/update-data.template.yml + - template: update-data.template.yml parameters: sdkVersion: '$(SDK_VERSION)' serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' @@ -49,7 +49,7 @@ stages: displayName: 'Run Model Training' dependsOn: update_data jobs: - - template: run-training/run-training.template.yml + - template: run-training.template.yml parameters: serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' resourceGroup: '$(RESOURCE_GROUP)' diff --git a/mlops-pipelines/3-modeling/run-training/run-training.template.yml b/mlops-pipelines/3-modeling/run-training.template.yml similarity index 100% rename from mlops-pipelines/3-modeling/run-training/run-training.template.yml rename to mlops-pipelines/3-modeling/run-training.template.yml diff --git a/mlops-pipelines/3-modeling/update-data/update-data.template.yml b/mlops-pipelines/3-modeling/update-data.template.yml similarity index 94% rename from mlops-pipelines/3-modeling/update-data/update-data.template.yml rename to mlops-pipelines/3-modeling/update-data.template.yml index 72f0fdb3..71f4938c 100644 --- a/mlops-pipelines/3-modeling/update-data/update-data.template.yml +++ b/mlops-pipelines/3-modeling/update-data.template.yml @@ -37,7 +37,7 @@ jobs: # Install dependencies python -m pip install --upgrade pip && python -m pip install azureml-opendatasets==${{parameters.sdkVersion}} # Download sample files - data_script="Custom_Script/mlops-pipelines/scripts/download_data.py" + data_script="mlops-pipelines/scripts/download_data.py" python $data_script --maxfiles ${{parameters.maxFiles}} --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" name: download_files @@ -96,14 +96,14 @@ jobs: # Install dependencies python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} # Register train dataset - update_dataset_script=Custom_Script/mlops-pipelines/scripts/register_or_update_dataset.py + update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $update_dataset_script --path $DATAPATH_TRAIN \ --name ${{parameters.amlTrainDatasetName}} \ --subscription-id $(az account show --query id -o tsv) \ --resource-group ${{parameters.resourceGroup}} \ --workspace-name ${{parameters.amlWorkspaceName}} # Register inference dataset - update_dataset_script=Custom_Script/mlops-pipelines/scripts/register_or_update_dataset.py + update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $update_dataset_script --path $DATAPATH_INFERENCE \ --name ${{parameters.amlInferenceDatasetName}} \ --subscription-id $(az account show --query id -o tsv) \ From 9bdc199b172b7e9f9fe5ebb24a4376e8b62fd4a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 24 Sep 2020 08:42:16 +0200 Subject: [PATCH 06/34] Customscript train params in script settings file --- .../training-code-build-pipeline.yml | 4 +- .../customscript/script-settings.yml | 15 ---- .../customscript/script_settings.json | 11 +++ scripts/customscript/train.conda.yml | 1 + scripts/customscript/train.py | 74 ++++++++++--------- .../customscript}/utils/models.py | 0 .../customscript}/utils/timeseries.py | 0 7 files changed, 56 insertions(+), 49 deletions(-) delete mode 100644 mlops-pipelines/configuration/customscript/script-settings.yml create mode 100644 mlops-pipelines/configuration/customscript/script_settings.json rename {Custom_Script/scripts => scripts/customscript}/utils/models.py (100%) rename {Custom_Script/scripts => scripts/customscript}/utils/timeseries.py (100%) diff --git a/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml b/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml index be93121f..d3e5c9ff 100644 --- a/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml +++ b/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml @@ -15,6 +15,8 @@ # - mlops-pipelines/configuration/*/train-parallelrunstep-config.yml # - scripts/*/train.py # - scripts/*/train.conda.yml +# - scripts/*/utils/models.py +# - scripts/*/utils/timeseries.py variables: - template: ../configuration/many-models-variables.yml @@ -61,7 +63,7 @@ stages: python $trainingbuild_script --name $(AML_TRAINING_PIPELINE_NAME) \ --version $(Build.BuildId) \ --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ - --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script-settings.yml' \ + --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script_settings.json' \ --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/train-parallelrunstep-config.yml' \ --dataset $(AML_DATASET_NAME)_train \ --compute $(AML_COMPUTE_NAME) \ diff --git a/mlops-pipelines/configuration/customscript/script-settings.yml b/mlops-pipelines/configuration/customscript/script-settings.yml deleted file mode 100644 index 019d70fa..00000000 --- a/mlops-pipelines/configuration/customscript/script-settings.yml +++ /dev/null @@ -1,15 +0,0 @@ -id_columns: - - Store - - Brand -target_column: Quantity -timestamp_column: WeekStarting -tag_columns: - - StoreGroup10 - - StoreGroup100 - - StoreGroup1000 -drop_id: true -drop_tags: true -drop_columns: - - Revenue' -model_type: lr -test_size: 20 diff --git a/mlops-pipelines/configuration/customscript/script_settings.json b/mlops-pipelines/configuration/customscript/script_settings.json new file mode 100644 index 00000000..51ad59ca --- /dev/null +++ b/mlops-pipelines/configuration/customscript/script_settings.json @@ -0,0 +1,11 @@ +{ + "id_columns": ["Store", "Brand"], + "target_column": "Quantity", + "timestamp_column": "WeekStarting", + "tag_columns": ["StoreGroup10", "StoreGroup100", "StoreGroup1000"], + "drop_id": true, + "drop_tags": true, + "drop_columns": ["Revenue"], + "model_type": "lr", + "test_size": 20 +} diff --git a/scripts/customscript/train.conda.yml b/scripts/customscript/train.conda.yml index b5287485..672f696b 100644 --- a/scripts/customscript/train.conda.yml +++ b/scripts/customscript/train.conda.yml @@ -4,6 +4,7 @@ dependencies: - pip - pip: - joblib + - pandas - sklearn - azureml-core - azureml-dataset-runtime[fuse] diff --git a/scripts/customscript/train.py b/scripts/customscript/train.py index 8bc20784..49f9d753 100644 --- a/scripts/customscript/train.py +++ b/scripts/customscript/train.py @@ -1,13 +1,16 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -from azureml.core import Run -import pandas as pd -import numpy as np import os +import json import argparse import datetime import joblib +from pathlib import Path + +import numpy as np +import pandas as pd +from azureml.core import Run from sklearn.metrics import mean_squared_error, mean_absolute_error from sklearn.linear_model import LinearRegression @@ -16,20 +19,25 @@ from utils.timeseries import ColumnDropper, SimpleLagger, SimpleCalendarFeaturizer, SimpleForecaster -# 0.0 Parse input arguments -parser = argparse.ArgumentParser("split") -parser.add_argument("--id_columns", type=str, nargs='*', required=True, help="input columns identifying the model entity") -parser.add_argument("--target_column", type=str, required=True, help="input target column") -parser.add_argument("--timestamp_column", type=str, required=True, help="input timestamp column") -parser.add_argument("--tag_columns", type=str, nargs='*', default=[], help="input columns to set as tags for the model") -parser.add_argument("--drop_id", action='store_true', help="flag to drop columns used as ID") -parser.add_argument("--drop_tags", action='store_true', help="flag to drop columns used as tags") -parser.add_argument("--drop_columns", type=str, nargs='*', default=[], help="list of columns to drop prior to modeling") -parser.add_argument("--model_type", type=str, required=True, help="input model type") -parser.add_argument("--test_size", type=int, required=True, help="number of observations to be used for testing") - +# 0.0 Parse input arguments and read settings +parser = argparse.ArgumentParser() +parser.add_argument("--settings-file", type=str, required=True, help="file containing the script settings") args, _ = parser.parse_known_args() +base_path = Path(__file__).absolute().parent +with open(os.path.join(base_path, args.settings_file), 'r') as f: + customscript_settings = json.load(f) + +id_columns = customscript_settings['id_columns'] +target_column = customscript_settings['target_column'] +timestamp_column = customscript_settings['timestamp_column'] +model_type = customscript_settings['model_type'] +tag_columns = customscript_settings.get('tag_columns', []) +drop_id = customscript_settings.get('drop_id', False) +drop_tags = customscript_settings.get('drop_tags', False) +drop_columns = customscript_settings.get('drop_columns', []) +test_size = customscript_settings.get('test_size', 10) + def init(): global current_run @@ -49,32 +57,32 @@ def run(input_data): start_datetime = datetime.datetime.now() # 1.0 Read the data from CSV - parse timestamps as datetime type and put the time in the index - data = (pd.read_csv(csv_file_path, parse_dates=[args.timestamp_column], header=0) - .set_index(args.timestamp_column) + data = (pd.read_csv(csv_file_path, parse_dates=[timestamp_column], header=0) + .set_index(timestamp_column) .sort_index(ascending=True)) # ID and tags: uses the values from the first row of data - id_dict = {id_col: str(data[id_col].iloc[0]) for id_col in args.id_columns} - model_name = get_model_name(args.model_type, id_dict) - tags_dict = {tag_col: str(data[tag_col].iloc[0]) for tag_col in args.tag_columns} - cols_todrop = args.drop_columns + \ - (args.id_columns if args.drop_id else []) + \ - (args.tag_columns if args.drop_tags else []) + id_dict = {id_col: str(data[id_col].iloc[0]) for id_col in id_columns} + model_name = get_model_name(model_type, id_dict) + tags_dict = {tag_col: str(data[tag_col].iloc[0]) for tag_col in tag_columns} + cols_todrop = drop_columns + \ + (id_columns if drop_id else []) + \ + (tag_columns if drop_tags else []) print(f'Model name: "{model_name}"') print(f'ID tags: {id_dict}') print(f'Extra tags: {tags_dict}') print(f'Columns to drop: {cols_todrop}') # 2.0 Split the data into train and test sets - train = data[:-args.test_size] - test = data[-args.test_size:] + train = data[:-test_size] + test = data[-test_size:] # 3.0 Create and fit the forecasting pipeline # The pipeline will drop unhelpful features, make a calendar feature, and make lag features - lagger = SimpleLagger(args.target_column, lag_orders=[1, 2, 3, 4]) + lagger = SimpleLagger(target_column, lag_orders=[1, 2, 3, 4]) transform_steps = [('column_dropper', ColumnDropper(cols_todrop)), ('calendar_featurizer', SimpleCalendarFeaturizer()), ('lagger', lagger)] - forecaster = SimpleForecaster(transform_steps, LinearRegression(), args.target_column, args.timestamp_column) + forecaster = SimpleForecaster(transform_steps, LinearRegression(), target_column, timestamp_column) forecaster.fit(train) print('Featurized data example:') print(forecaster.transform(train).head()) @@ -84,10 +92,10 @@ def run(input_data): compare_data = test.assign(forecasts=forecasts).dropna() # 5.0 Calculate accuracy metrics for the fit - mse = mean_squared_error(compare_data[args.target_column], compare_data['forecasts']) + mse = mean_squared_error(compare_data[target_column], compare_data['forecasts']) rmse = np.sqrt(mse) - mae = mean_absolute_error(compare_data[args.target_column], compare_data['forecasts']) - actuals = compare_data[args.target_column].values + mae = mean_absolute_error(compare_data[target_column], compare_data['forecasts']) + actuals = compare_data[target_column].values preds = compare_data['forecasts'].values mape = np.mean(np.abs((actuals - preds) / actuals) * 100) @@ -106,14 +114,14 @@ def run(input_data): current_run.upload_file(model_name, model_path) # 9.0 Register the model to the workspace to be used in forecasting - all_tags = {'ModelType': args.model_type, **id_dict, **tags_dict} + all_tags = {'ModelType': model_type, **id_dict, **tags_dict} current_run.register_model(model_path=model_name, model_name=model_name, - model_framework=args.model_type, tags=all_tags) + model_framework=model_type, tags=all_tags) # 10.0 Add data to output end_datetime = datetime.datetime.now() result.update(id_dict) - result['model_type'] = args.model_type + result['model_type'] = model_type result['file_name'] = csv_file_path result['model_name'] = model_name result['start_date'] = str(start_datetime) diff --git a/Custom_Script/scripts/utils/models.py b/scripts/customscript/utils/models.py similarity index 100% rename from Custom_Script/scripts/utils/models.py rename to scripts/customscript/utils/models.py diff --git a/Custom_Script/scripts/utils/timeseries.py b/scripts/customscript/utils/timeseries.py similarity index 100% rename from Custom_Script/scripts/utils/timeseries.py rename to scripts/customscript/utils/timeseries.py From 4eda3ab5ac4d60341d4601df1736270301cc21f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 24 Sep 2020 14:49:08 +0200 Subject: [PATCH 07/34] Customscript forecast params in settings file --- .../batch-forecasting-code-build-pipeline.yml | 4 ++- scripts/customscript/copy_predictions.py | 22 ++++++------ scripts/customscript/forecast.py | 36 ++++++++++--------- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml b/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml index 534d3098..7c10fe8a 100644 --- a/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml +++ b/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml @@ -15,6 +15,8 @@ # - mlops-pipelines/configuration/*/forecast-parallelrunstep-config.yml # - scripts/*/forecast.py # - scripts/*/forecast.conda.yml +# - scripts/*/copy_predictions.py +# - scripts/*/utils/models.py variables: - template: ../configuration/many-models-variables.yml @@ -61,7 +63,7 @@ stages: python $forecastingbuild_script --name $(AML_FORECASTING_PIPELINE_NAME) \ --version $(Build.BuildId) \ --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ - --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script-settings.yml' \ + --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script_settings.json' \ --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/forecast-parallelrunstep-config.yml' \ --dataset $(AML_DATASET_NAME)_inference \ --output $(PREDICTIONS_CONTAINER_NAME) \ diff --git a/scripts/customscript/copy_predictions.py b/scripts/customscript/copy_predictions.py index 80062fb9..dff8f2db 100644 --- a/scripts/customscript/copy_predictions.py +++ b/scripts/customscript/copy_predictions.py @@ -2,26 +2,28 @@ # Licensed under the MIT License. import os +import json import datetime import argparse import pandas as pd # Parse input arguments -parser = argparse.ArgumentParser("parallel run step results directory") -parser.add_argument("--parallel_run_step_output", type=str, help="output directory from parallel run step", - required=True) -parser.add_argument("--output_dir", type=str, help="output directory", required=True) -parser.add_argument("--id_columns", type=str, nargs='*', required=True, help="input columns identifying the model entity") -parser.add_argument("--target_column", type=str, help="column with actual values", default=None) -parser.add_argument("--timestamp_column", type=str, help="timestamp column from data", required=True) -# add list for the columns to pull ? - +parser = argparse.ArgumentParser() +parser.add_argument("--parallel_run_step_output", type=str, required=True, help="output directory from parallel run step") +parser.add_argument("--output_dir", type=str, required=True, help="output directory") +parser.add_argument("--settings-file", type=str, required=True, help="file containing the script settings") args, _ = parser.parse_known_args() -result_file = os.path.join(args.parallel_run_step_output, 'parallel_run_step.txt') +with open(args.settings_file, 'r') as f: + customscript_settings = json.load(f) + +id_columns = customscript_settings['id_columns'] +target_column = customscript_settings['target_column'] +timestamp_column = customscript_settings['timestamp_column'] # Read the log file and set the column names from the input timeseries schema # The parallel run step log does not have a header row, so add it for easier downstream processing +result_file = os.path.join(args.parallel_run_step_output, 'parallel_run_step.txt') df_predictions = pd.read_csv(result_file, delimiter=" ", header=None) pred_column_names = [args.timestamp_column, 'Prediction'] if args.target_column is not None: diff --git a/scripts/customscript/forecast.py b/scripts/customscript/forecast.py index 891f62cd..7aedae2e 100644 --- a/scripts/customscript/forecast.py +++ b/scripts/customscript/forecast.py @@ -2,27 +2,33 @@ # Licensed under the MIT License. import argparse +import json import joblib import pandas as pd from azureml.core.model import Model from azureml.core.run import Run +from utils.models import get_model_name -# 0.0 Parse input arguments -parser = argparse.ArgumentParser("split") -parser.add_argument("--id_columns", type=str, nargs='*', required=True, help="input columns identifying the model entity") -parser.add_argument("--timestamp_column", type=str, help="timestamp column from data", required=True) -parser.add_argument("--model_type", type=str, help="model type", required=True) +# 0.0 Parse input arguments +parser = argparse.ArgumentParser() +parser.add_argument("--settings-file", type=str, required=True, help="file containing the script settings") args, _ = parser.parse_known_args() -current_run = None +with open(args.settings_file, 'r') as f: + customscript_settings = json.load(f) + +id_columns = customscript_settings['id_columns'] +timestamp_column = customscript_settings['timestamp_column'] +model_type = customscript_settings['model_type'] def init(): - global current_run + global ws current_run = Run.get_context() + ws = current_run.experiment.workspace def run(input_data): @@ -33,18 +39,14 @@ def run(input_data): for csv_file_path in input_data: # 3.0 Set up data to predict on - data = (pd.read_csv(csv_file_path, parse_dates=[args.timestamp_column], header=0) - .set_index(args.timestamp_column)) + data = (pd.read_csv(csv_file_path, parse_dates=[timestamp_column], header=0) + .set_index(timestamp_column)) # 4.0 Load registered model from Workspace - id_dict = {id_col: str(data[id_col].iloc[0]) for id_col in args.id_columns} - tag_list = [list(kv) for kv in id_dict.items()] - tag_list.append(['ModelType', args.model_type]) - ws = Run.get_context().experiment.workspace - models = Model.list(ws, tags=tag_list, latest=True) - if len(models) > 1: - raise ValueError(f'More than one models encountered for given timeseries ID: {[m.name for m in models]}') - model_path = models[0].download() + id_dict = {id_col: str(data[id_col].iloc[0]) for id_col in id_columns} + model_name = get_model_name(model_type, id_dict) + model = Model(ws, model_name) + model_path = model.download() forecaster = joblib.load(model_path) # 5.0 Make predictions From e42b7721194daa39eb90d1a0140dbf84eb1eadf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 24 Sep 2020 15:12:11 +0200 Subject: [PATCH 08/34] Update batch forecasting pipeline & customize data update for training/inferencing --- .../3-modeling/modeling-pipeline.yml | 1 - .../3-modeling/update-data.template.yml | 26 +----- .../batch-forecasting-pipeline.yml | 21 +++-- .../run-forecasting.template.yml | 0 .../update-data.template.yml | 93 +++++++++++++++++++ .../update-data/update-data.template.yml | 1 - .../scripts/create_forecasting_pipeline.py | 2 +- scripts/customscript/copy_predictions.py | 12 ++- scripts/customscript/forecast.conda.yml | 1 + scripts/customscript/forecast.py | 9 +- 10 files changed, 125 insertions(+), 41 deletions(-) rename mlops-pipelines/5-batch-forecasting/{run-forecasting => }/run-forecasting.template.yml (100%) create mode 100644 mlops-pipelines/5-batch-forecasting/update-data.template.yml delete mode 100644 mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml diff --git a/mlops-pipelines/3-modeling/modeling-pipeline.yml b/mlops-pipelines/3-modeling/modeling-pipeline.yml index 40434f59..e0b4abb5 100644 --- a/mlops-pipelines/3-modeling/modeling-pipeline.yml +++ b/mlops-pipelines/3-modeling/modeling-pipeline.yml @@ -42,7 +42,6 @@ stages: resourceGroup: '$(RESOURCE_GROUP)' amlWorkspaceName: '$(AMLWORKSPACE_NAME)' amlTrainDatasetName: '$(AML_DATASET_NAME)_train' - amlInferenceDatasetName: '$(AML_DATASET_NAME)_inference' maxFiles: '$(DATASET_MAXFILES)' - stage: run_training diff --git a/mlops-pipelines/3-modeling/update-data.template.yml b/mlops-pipelines/3-modeling/update-data.template.yml index 71f4938c..65060a2a 100644 --- a/mlops-pipelines/3-modeling/update-data.template.yml +++ b/mlops-pipelines/3-modeling/update-data.template.yml @@ -16,8 +16,6 @@ parameters: type: string - name: amlTrainDatasetName type: string -- name: amlInferenceDatasetName - type: string - name: maxFiles type: string @@ -46,7 +44,7 @@ jobs: - task: AzureCLI@1 name: upload_files - displayName: 'Upload files to AML datastore' + displayName: 'Upload trainimg files to AML datastore' inputs: azureSubscription: ${{parameters.serviceConnection}} scriptLocation: inlineScript @@ -63,23 +61,14 @@ jobs: --target-path $datapath_train \ --overwrite true \ $workspace_params - # Upload inference files - datapath_inference=new-sample-data-$(date +"%Y%m%d-%H%M%S")-inference - az ml datastore upload --name $datastore \ - --src-path "new-sample-data-inference" \ - --target-path $datapath_inference \ - --overwrite true \ - $workspace_params echo "##vso[task.setvariable variable=datapath_train;isOutput=true;]$datapath_train" - echo "##vso[task.setvariable variable=datapath_inference;isOutput=true;]$datapath_inference" - job: update_dataset - displayName: 'Update Registered Dataset' + displayName: 'Update Registered Training Dataset' dependsOn: download_new_data variables: datapath_train: $[ dependencies.download_new_data.outputs['upload_files.datapath_train'] ] - datapath_inference: $[ dependencies.download_new_data.outputs['upload_files.datapath_inference'] ] steps: - task: UsePythonVersion@0 @@ -88,24 +77,17 @@ jobs: versionSpec: 3.7 - task: AzureCLI@1 - displayName: 'Update dataset' + displayName: 'Update training dataset' inputs: azureSubscription: ${{parameters.serviceConnection}} scriptLocation: inlineScript inlineScript: | # Install dependencies python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} - # Register train dataset + # Update train dataset update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $update_dataset_script --path $DATAPATH_TRAIN \ --name ${{parameters.amlTrainDatasetName}} \ --subscription-id $(az account show --query id -o tsv) \ --resource-group ${{parameters.resourceGroup}} \ --workspace-name ${{parameters.amlWorkspaceName}} - # Register inference dataset - update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py - python $update_dataset_script --path $DATAPATH_INFERENCE \ - --name ${{parameters.amlInferenceDatasetName}} \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} diff --git a/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml b/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml index 17635279..85118b8c 100644 --- a/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml +++ b/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml @@ -20,7 +20,7 @@ # always: true variables: -- template: ../many-models-variables.yml +- template: ../configuration/many-models-variables.yml - group: manymodels-vg pool: @@ -28,17 +28,22 @@ pool: stages: -# There is no data to update in this example, but in the general case -# the registered dataset should be updated before forecasting. -# - stage: update_data -# displayName: 'Update Data for Forecasting' -# jobs: -# - template: update-data/update-data.template.yml +- stage: update_data + displayName: 'Update Data for Batch Forecasting' + jobs: + - template: update-data.template.yml + parameters: + sdkVersion: '$(SDK_VERSION)' + serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' + resourceGroup: '$(RESOURCE_GROUP)' + amlWorkspaceName: '$(AMLWORKSPACE_NAME)' + amlInferenceDatasetName: '$(AML_DATASET_NAME)_inference' + maxFiles: '$(DATASET_MAXFILES)' - stage: run_forecasting displayName: 'Run Model Forecasting' jobs: - - template: run-forecasting/run-forecasting.template.yml + - template: run-forecasting.template.yml parameters: serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' resourceGroup: '$(RESOURCE_GROUP)' diff --git a/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml b/mlops-pipelines/5-batch-forecasting/run-forecasting.template.yml similarity index 100% rename from mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml rename to mlops-pipelines/5-batch-forecasting/run-forecasting.template.yml diff --git a/mlops-pipelines/5-batch-forecasting/update-data.template.yml b/mlops-pipelines/5-batch-forecasting/update-data.template.yml new file mode 100644 index 00000000..992fd013 --- /dev/null +++ b/mlops-pipelines/5-batch-forecasting/update-data.template.yml @@ -0,0 +1,93 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +# Azure Pipeline Template for updating training dataset +# The dataset in this example is updated for illustration purposes only, the data downloaded is the same + + +parameters: +- name: sdkVersion + type: string +- name: serviceConnection + type: string +- name: resourceGroup + type: string +- name: amlWorkspaceName + type: string +- name: amlInferenceDatasetName + type: string +- name: maxFiles + type: string + + +jobs: + +- job: download_new_data + displayName: 'Download New Sample Files' + steps: + + - task: UsePythonVersion@0 + displayName: 'Use Python 3.7' + inputs: + versionSpec: 3.7 + + - bash: | + # Install dependencies + python -m pip install --upgrade pip && python -m pip install azureml-opendatasets==${{parameters.sdkVersion}} + # Download sample files + data_script="mlops-pipelines/scripts/download_data.py" + python $data_script --maxfiles ${{parameters.maxFiles}} --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" + + name: download_files + displayName: 'Download Sample Files' + failOnStderr: true + + - task: AzureCLI@1 + name: upload_files + displayName: 'Upload inference files to AML datastore' + inputs: + azureSubscription: ${{parameters.serviceConnection}} + scriptLocation: inlineScript + inlineScript: | + workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" + # Install ML extension + az extension add -n azure-cli-ml + # Get default datastore + datastore=$(az ml datastore show-default $workspace_params --query name -o tsv) + # Upload inference files + datapath_inference=new-sample-data-$(date +"%Y%m%d-%H%M%S")-inference + az ml datastore upload --name $datastore \ + --src-path "new-sample-data-inference" \ + --target-path $datapath_inference \ + --overwrite true \ + $workspace_params + echo "##vso[task.setvariable variable=datapath_inference;isOutput=true;]$datapath_inference" + + +- job: update_dataset + displayName: 'Update Registered Inference Dataset' + dependsOn: download_new_data + variables: + datapath_inference: $[ dependencies.download_new_data.outputs['upload_files.datapath_inference'] ] + steps: + + - task: UsePythonVersion@0 + displayName: 'Use Python 3.7' + inputs: + versionSpec: 3.7 + + - task: AzureCLI@1 + displayName: 'Update inference dataset' + inputs: + azureSubscription: ${{parameters.serviceConnection}} + scriptLocation: inlineScript + inlineScript: | + # Install dependencies + python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} + # Update inference dataset + update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py + python $update_dataset_script --path $DATAPATH_INFERENCE \ + --name ${{parameters.amlInferenceDatasetName}} \ + --subscription-id $(az account show --query id -o tsv) \ + --resource-group ${{parameters.resourceGroup}} \ + --workspace-name ${{parameters.amlWorkspaceName}} diff --git a/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml b/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml deleted file mode 100644 index 621d7130..00000000 --- a/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml +++ /dev/null @@ -1 +0,0 @@ -# Azure Pipeline Template for updating forecasting dataset diff --git a/mlops-pipelines/scripts/create_forecasting_pipeline.py b/mlops-pipelines/scripts/create_forecasting_pipeline.py index 6d819872..6fb4fca5 100644 --- a/mlops-pipelines/scripts/create_forecasting_pipeline.py +++ b/mlops-pipelines/scripts/create_forecasting_pipeline.py @@ -64,7 +64,7 @@ def main(ws, pipeline_name, pipeline_version, dataset_name, output_name, compute arguments=[ '--parallel_run_step_output', prev_step_output, '--output_dir', predictions_dref, - '--settings-file', scripts_settings_file + '--settings-file', settings_filename ] ) diff --git a/scripts/customscript/copy_predictions.py b/scripts/customscript/copy_predictions.py index dff8f2db..4363746b 100644 --- a/scripts/customscript/copy_predictions.py +++ b/scripts/customscript/copy_predictions.py @@ -5,6 +5,7 @@ import json import datetime import argparse +from pathlib import Path import pandas as pd # Parse input arguments @@ -14,7 +15,8 @@ parser.add_argument("--settings-file", type=str, required=True, help="file containing the script settings") args, _ = parser.parse_known_args() -with open(args.settings_file, 'r') as f: +base_path = Path(__file__).absolute().parent +with open(os.path.join(base_path, args.settings_file), 'r') as f: customscript_settings = json.load(f) id_columns = customscript_settings['id_columns'] @@ -25,10 +27,10 @@ # The parallel run step log does not have a header row, so add it for easier downstream processing result_file = os.path.join(args.parallel_run_step_output, 'parallel_run_step.txt') df_predictions = pd.read_csv(result_file, delimiter=" ", header=None) -pred_column_names = [args.timestamp_column, 'Prediction'] -if args.target_column is not None: - pred_column_names.append(args.target_column) -pred_column_names.extend(args.id_columns) +pred_column_names = [timestamp_column, 'Prediction'] +if target_column is not None: + pred_column_names.append(target_column) +pred_column_names.extend(id_columns) print('Using column names: {}'.format(pred_column_names)) assert len(df_predictions.columns) == len(pred_column_names), \ 'Number of columns in prediction data does not match given timeseries schema.' diff --git a/scripts/customscript/forecast.conda.yml b/scripts/customscript/forecast.conda.yml index 672f696b..53762c75 100644 --- a/scripts/customscript/forecast.conda.yml +++ b/scripts/customscript/forecast.conda.yml @@ -7,4 +7,5 @@ dependencies: - pandas - sklearn - azureml-core + - azureml-defaults - azureml-dataset-runtime[fuse] diff --git a/scripts/customscript/forecast.py b/scripts/customscript/forecast.py index 7aedae2e..d0fb5fcf 100644 --- a/scripts/customscript/forecast.py +++ b/scripts/customscript/forecast.py @@ -1,11 +1,13 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -import argparse +import os import json +import argparse import joblib -import pandas as pd +from pathlib import Path +import pandas as pd from azureml.core.model import Model from azureml.core.run import Run @@ -17,7 +19,8 @@ parser.add_argument("--settings-file", type=str, required=True, help="file containing the script settings") args, _ = parser.parse_known_args() -with open(args.settings_file, 'r') as f: +base_path = Path(__file__).absolute().parent +with open(os.path.join(base_path, args.settings_file), 'r') as f: customscript_settings = json.load(f) id_columns = customscript_settings['id_columns'] From 8daf6e17e8b746f649ae6d71004e7ff0331bc756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 25 Sep 2020 09:07:04 +0200 Subject: [PATCH 09/34] Adapt realtime deployment --- .../deploy-models.template.yml | 14 +++++++++----- mlops-pipelines/3-modeling/modeling-pipeline.yml | 6 ++++-- .../customscript/model-deployment-config-aci.yml} | 0 .../customscript/model-deployment-config-aks.yml} | 0 .../routing-deployment-config-aci.yml | 0 .../routing-deployment-config-aks.yml | 0 .../scripts/deploy_or_update_models.py | 11 +++++++---- .../scripts/deploy_or_update_router.py | 9 ++++++--- mlops-pipelines/scripts/utils/deployment.py | 15 +++++---------- .../customscript/model_webservice.conda.yml | 0 .../customscript/model_webservice.py | 0 .../customscript}/routing_webservice.conda.yml | 0 .../customscript}/routing_webservice.py | 0 .../customscript}/utils/forecasting.py | 0 .../customscript}/utils/webservices.py | 0 15 files changed, 31 insertions(+), 24 deletions(-) rename mlops-pipelines/3-modeling/{deploy-models => }/deploy-models.template.yml (88%) rename mlops-pipelines/{3-modeling/deploy-models/forecasting-deployment-config-aci.yml => configuration/customscript/model-deployment-config-aci.yml} (100%) rename mlops-pipelines/{3-modeling/deploy-models/forecasting-deployment-config-aks.yml => configuration/customscript/model-deployment-config-aks.yml} (100%) rename mlops-pipelines/{3-modeling/deploy-models => configuration/customscript}/routing-deployment-config-aci.yml (100%) rename mlops-pipelines/{3-modeling/deploy-models => configuration/customscript}/routing-deployment-config-aks.yml (100%) rename Custom_Script/scripts/forecast_webservice.conda.yml => scripts/customscript/model_webservice.conda.yml (100%) rename Custom_Script/scripts/forecast_webservice.py => scripts/customscript/model_webservice.py (100%) rename {Custom_Script/scripts => scripts/customscript}/routing_webservice.conda.yml (100%) rename {Custom_Script/scripts => scripts/customscript}/routing_webservice.py (100%) rename {Custom_Script/scripts => scripts/customscript}/utils/forecasting.py (100%) rename {Custom_Script/scripts => scripts/customscript}/utils/webservices.py (100%) diff --git a/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml b/mlops-pipelines/3-modeling/deploy-models.template.yml similarity index 88% rename from mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml rename to mlops-pipelines/3-modeling/deploy-models.template.yml index d94a6a98..a845c718 100644 --- a/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml +++ b/mlops-pipelines/3-modeling/deploy-models.template.yml @@ -6,6 +6,8 @@ parameters: - name: sdkVersion type: string +- name: trainingMethod + type: string - name: serviceConnection type: string - name: resourceGroup @@ -57,12 +59,13 @@ jobs: # Install dependencies python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==${{parameters.sdkVersion}} # Deploy/update models in groups in webservices - deployment_config_path="Custom_Script/mlops-pipelines/3-modeling/deploy-models/" - deployment_config_file="$deployment_config_path/forecasting-deployment-config-${{parameters.deploymentType}}.yml" - deploy_script="Custom_Script/mlops-pipelines/scripts/deploy_or_update_models.py" + deployment_config_path="mlops-pipelines/configuration/${{parameters.trainingMethod}}/" + deployment_config_file="$deployment_config_path/model-deployment-config-${{parameters.deploymentType}}.yml" + deploy_script="mlops-pipelines/scripts/deploy_or_update_models.py" if [ "${{parameters.resetContainers}}" == "true" ]; then reset="--reset"; fi python $deploy_script --splitting-tags '${{parameters.splittingTags}}' \ --sorting-tags '${{parameters.sortingTags}}' \ + --scripts-dir 'scripts/${{parameters.trainingMethod}}/' \ --routing-model-name '${{parameters.routingModelName}}' \ --output 'models_deployed.json' \ --deploy-config-file $deployment_config_file \ @@ -127,11 +130,12 @@ jobs: # Install dependencies python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==${{parameters.sdkVersion}} # Deploy/update routing webservice - deployment_config_path="Custom_Script/mlops-pipelines/3-modeling/deploy-models/" + deployment_config_path="mlops-pipelines/configuration/${{parameters.trainingMethod}}/" deployment_config_file="$deployment_config_path/routing-deployment-config-${{parameters.deploymentType}}.yml" - deploy_script="Custom_Script/mlops-pipelines/scripts/deploy_or_update_router.py" + deploy_script="mlops-pipelines/scripts/deploy_or_update_router.py" python $deploy_script --model-name '${{parameters.routingModelName}}' \ --service-name '${{parameters.routingServiceName}}' \ + --scripts-dir 'scripts/${{parameters.trainingMethod}}/' \ --deploy-config-file $deployment_config_file \ --aks-target '${{parameters.amlAksName}}' \ --subscription-id $(az account show --query id -o tsv) \ diff --git a/mlops-pipelines/3-modeling/modeling-pipeline.yml b/mlops-pipelines/3-modeling/modeling-pipeline.yml index e0b4abb5..1f0ce6ac 100644 --- a/mlops-pipelines/3-modeling/modeling-pipeline.yml +++ b/mlops-pipelines/3-modeling/modeling-pipeline.yml @@ -60,9 +60,10 @@ stages: dependsOn: run_training condition: and(succeeded(), eq(variables['DEPLOY_ACI'], 'true')) jobs: - - template: deploy-models/deploy-models.template.yml + - template: deploy-models.template.yml parameters: sdkVersion: '$(SDK_VERSION)' + trainingMethod: '$(TRAINING_METHOD)' serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' resourceGroup: '$(RESOURCE_GROUP)' amlWorkspaceName: '$(AMLWORKSPACE_NAME)' @@ -83,9 +84,10 @@ stages: dependsOn: run_training condition: and(succeeded(), eq(variables['DEPLOY_AKS'], 'true'), variables['AML_AKS_NAME']) jobs: - - template: deploy-models/deploy-models.template.yml + - template: deploy-models.template.yml parameters: sdkVersion: '$(SDK_VERSION)' + trainingMethod: '$(TRAINING_METHOD)' serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' resourceGroup: '$(RESOURCE_GROUP)' amlWorkspaceName: '$(AMLWORKSPACE_NAME)' diff --git a/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml b/mlops-pipelines/configuration/customscript/model-deployment-config-aci.yml similarity index 100% rename from mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml rename to mlops-pipelines/configuration/customscript/model-deployment-config-aci.yml diff --git a/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml b/mlops-pipelines/configuration/customscript/model-deployment-config-aks.yml similarity index 100% rename from mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml rename to mlops-pipelines/configuration/customscript/model-deployment-config-aks.yml diff --git a/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml b/mlops-pipelines/configuration/customscript/routing-deployment-config-aci.yml similarity index 100% rename from mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml rename to mlops-pipelines/configuration/customscript/routing-deployment-config-aci.yml diff --git a/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml b/mlops-pipelines/configuration/customscript/routing-deployment-config-aks.yml similarity index 100% rename from mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml rename to mlops-pipelines/configuration/customscript/routing-deployment-config-aks.yml diff --git a/mlops-pipelines/scripts/deploy_or_update_models.py b/mlops-pipelines/scripts/deploy_or_update_models.py index 57a04ba3..631365ea 100644 --- a/mlops-pipelines/scripts/deploy_or_update_models.py +++ b/mlops-pipelines/scripts/deploy_or_update_models.py @@ -1,6 +1,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. +import os import argparse import warnings import json @@ -12,16 +13,16 @@ from utils.deployment import build_deployment_config, launch_deployment -def main(ws, config_file, routing_model_name, +def main(ws, scripts_dir, config_file, routing_model_name, sorting_tags=[], splitting_tags=[], container_size=500, aks_target=None, service_prefix='manymodels-', reset=False): # Deployment configuration deployment_config = build_deployment_config( ws, - script_dir='Custom_Script/scripts/', - script_file='forecast_webservice.py', - environment_file='Custom_Script/scripts/forecast_webservice.conda.yml', + script_dir=scripts_dir, + script_file='model_webservice.py', + environment_file=os.path.join(scripts_dir, 'model_webservice.conda.yml'), config_file=config_file, aks_target=aks_target ) @@ -322,6 +323,7 @@ def parse_args(args=None): parser.add_argument('--subscription-id', required=True, type=str) parser.add_argument('--resource-group', required=True, type=str) parser.add_argument('--workspace-name', required=True, type=str) + parser.add_argument('--scripts-dir', required=True, type=str) parser.add_argument('--deploy-config-file', required=True, type=str) parser.add_argument('--splitting-tags', default='', type=lambda str: [t for t in str.split(',') if t]) parser.add_argument('--sorting-tags', default='', type=lambda str: [t for t in str.split(',') if t]) @@ -351,6 +353,7 @@ def parse_args(args=None): models_deployed = main( ws, + scripts_dir=args.scripts_dir, config_file=args.deploy_config_file, routing_model_name=args.routing_model_name, splitting_tags=args.splitting_tags, diff --git a/mlops-pipelines/scripts/deploy_or_update_router.py b/mlops-pipelines/scripts/deploy_or_update_router.py index f013163e..d3a70b3b 100644 --- a/mlops-pipelines/scripts/deploy_or_update_router.py +++ b/mlops-pipelines/scripts/deploy_or_update_router.py @@ -1,6 +1,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. +import os import argparse import warnings import json @@ -11,13 +12,13 @@ from utils.deployment import build_deployment_config, launch_deployment -def main(ws, config_file, model_name, service_name, aks_target=None): +def main(ws, scripts_dir, config_file, model_name, service_name, aks_target=None): deployment_config = build_deployment_config( ws, - script_dir='Custom_Script/scripts/', + script_dir=scripts_dir, script_file='routing_webservice.py', - environment_file='Custom_Script/scripts/routing_webservice.conda.yml', + environment_file=os.path.join(scripts_dir, 'routing_webservice.conda.yml'), config_file=config_file, aks_target=aks_target ) @@ -39,6 +40,7 @@ def parse_args(args=None): parser.add_argument('--subscription-id', required=True, type=str) parser.add_argument('--resource-group', required=True, type=str) parser.add_argument('--workspace-name', required=True, type=str) + parser.add_argument('--scripts-dir', required=True, type=str) parser.add_argument('--deploy-config-file', required=True, type=str) parser.add_argument('--model-name', type=str, default=None) parser.add_argument('--service-name', type=str, default=None) @@ -66,6 +68,7 @@ def parse_args(args=None): main( ws, + scripts_dir=args.scripts_dir, config_file=args.deploy_config_file, model_name=args.model_name, service_name=args.service_name, diff --git a/mlops-pipelines/scripts/utils/deployment.py b/mlops-pipelines/scripts/utils/deployment.py index 6568786b..a05c5305 100644 --- a/mlops-pipelines/scripts/utils/deployment.py +++ b/mlops-pipelines/scripts/utils/deployment.py @@ -3,12 +3,14 @@ import yaml -from azureml.core import Environment, Model, Webservice +from azureml.core import Model, Webservice from azureml.core.model import InferenceConfig from azureml.core.compute import AksCompute from azureml.core.webservice import AciWebservice, AksWebservice from azureml.exceptions import WebserviceException +from utils.common import read_config_file, create_environment_conda + def build_deployment_config(ws, script_dir, script_file, environment_file, config_file, aks_target=None): @@ -24,12 +26,7 @@ def build_deployment_config(ws, script_dir, script_file, environment_file, confi deployment_target = AksCompute(ws, aks_target) if compute_type == 'aks' else None # Inference environment - environment = Environment.from_conda_specification( - name='many_models_environment', - file_path=environment_file - ) - if environment_config: - environment.environment_variables = environment_config + environment = create_environment_conda(environment_file, environment_config) # Inference configuration inference_config = InferenceConfig( @@ -61,9 +58,7 @@ def build_deployment_config(ws, script_dir, script_file, environment_file, confi def read_config(config_file): - with open(config_file) as f: - config = yaml.load(f, Loader=yaml.FullLoader) - + config = read_config_file(config_file) compute_type = config['computeType'].lower() webservice_config = config['containerResourceRequirements'] environment_config = config.get('environmentVariables', {}) diff --git a/Custom_Script/scripts/forecast_webservice.conda.yml b/scripts/customscript/model_webservice.conda.yml similarity index 100% rename from Custom_Script/scripts/forecast_webservice.conda.yml rename to scripts/customscript/model_webservice.conda.yml diff --git a/Custom_Script/scripts/forecast_webservice.py b/scripts/customscript/model_webservice.py similarity index 100% rename from Custom_Script/scripts/forecast_webservice.py rename to scripts/customscript/model_webservice.py diff --git a/Custom_Script/scripts/routing_webservice.conda.yml b/scripts/customscript/routing_webservice.conda.yml similarity index 100% rename from Custom_Script/scripts/routing_webservice.conda.yml rename to scripts/customscript/routing_webservice.conda.yml diff --git a/Custom_Script/scripts/routing_webservice.py b/scripts/customscript/routing_webservice.py similarity index 100% rename from Custom_Script/scripts/routing_webservice.py rename to scripts/customscript/routing_webservice.py diff --git a/Custom_Script/scripts/utils/forecasting.py b/scripts/customscript/utils/forecasting.py similarity index 100% rename from Custom_Script/scripts/utils/forecasting.py rename to scripts/customscript/utils/forecasting.py diff --git a/Custom_Script/scripts/utils/webservices.py b/scripts/customscript/utils/webservices.py similarity index 100% rename from Custom_Script/scripts/utils/webservices.py rename to scripts/customscript/utils/webservices.py From aedec466e198e233d5cc9e787890b36b2d85819d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Mon, 28 Sep 2020 14:36:35 +0200 Subject: [PATCH 10/34] Adapt customscript notebooks --- .github/workflows/custom-script-ci.yml | 26 +++-- .../00_Setup_AML_Workspace.ipynb | 0 .../01_Data_Preparation.ipynb | 7 +- .../02_CustomScript_Training_Pipeline.ipynb | 103 ++++++++++++------ ...03_CustomScript_Forecasting_Pipeline.ipynb | 76 ++++++++----- ...ript_Realtime_Forecasting_Deployment.ipynb | 63 ++++++++--- .../Custom_Script}/requirements.txt | 0 .../helpers/dataprep.py | 0 notebooks/helpers/settings.py | 10 ++ 9 files changed, 194 insertions(+), 91 deletions(-) rename 00_Setup_AML_Workspace.ipynb => notebooks/00_Setup_AML_Workspace.ipynb (100%) rename 01_Data_Preparation.ipynb => notebooks/01_Data_Preparation.ipynb (97%) rename {Custom_Script => notebooks/Custom_Script}/02_CustomScript_Training_Pipeline.ipynb (85%) rename {Custom_Script => notebooks/Custom_Script}/03_CustomScript_Forecasting_Pipeline.ipynb (90%) rename {Custom_Script => notebooks/Custom_Script}/03_CustomScript_Realtime_Forecasting_Deployment.ipynb (90%) rename {Custom_Script => notebooks/Custom_Script}/requirements.txt (100%) rename scripts/helper.py => notebooks/helpers/dataprep.py (100%) create mode 100644 notebooks/helpers/settings.py diff --git a/.github/workflows/custom-script-ci.yml b/.github/workflows/custom-script-ci.yml index 0c63542a..3122c286 100644 --- a/.github/workflows/custom-script-ci.yml +++ b/.github/workflows/custom-script-ci.yml @@ -5,9 +5,9 @@ on: branches: - v2-preview paths: - - 00_Setup_AML_Workspace.ipynb - - 01_Data_Preparation.ipynb - - Custom_Script/** + - notebooks/00_Setup_AML_Workspace.ipynb + - notebooks/01_Data_Preparation.ipynb + - notebooks/Custom_Script/** env: SUBSCRIPTION_ID: ${{ secrets.SUBSCRIPTION_ID }} RESOURCE_GROUP: ${{ secrets.RESOURCE_GROUP }} @@ -34,13 +34,13 @@ jobs: architecture: 'x64' - name: Install dependencies run: | - python -m pip install -r Custom_Script/requirements.txt + python -m pip install -r notebooks/Custom_Script/requirements.txt - name: Convert notebooks to python run: | - jupyter nbconvert --to script 00_Setup_AML_Workspace.ipynb - jupyter nbconvert --to script 01_Data_Preparation.ipynb - jupyter nbconvert --to script Custom_Script/02_CustomScript_Training_Pipeline.ipynb - jupyter nbconvert --to script Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb + jupyter nbconvert --to script notebooks/00_Setup_AML_Workspace.ipynb + jupyter nbconvert --to script notebooks/01_Data_Preparation.ipynb + jupyter nbconvert --to script notebooks/Custom_Script/02_CustomScript_Training_Pipeline.ipynb + jupyter nbconvert --to script notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb - name: Login via Az module uses: azure/login@v1.1 with: @@ -54,6 +54,7 @@ jobs: echo "************************************" echo "Using workspace: $Env:WORKSPACE_NAME" echo "************************************" + cd notebooks python 00_Setup_AML_Workspace.py $resource = Get-AzResource -Name $Env:WORKSPACE_NAME -ResourceGroupName $Env:RESOURCE_GROUP $expirationTime = (Get-Date).AddHours(24).ToUniversalTime() @@ -61,12 +62,13 @@ jobs: azPSVersion: 'latest' - name: Data preparation run: | + cd notebooks ipython 01_Data_Preparation.py - name: Run training run: | - cd Custom_Script - python 02_CustomScript_Training_Pipeline.py + cd notebooks/Custom_Script + ipython 02_CustomScript_Training_Pipeline.py - name: Run prediction run: | - cd Custom_Script - python 03_CustomScript_Forecasting_Pipeline.py + cd notebooks/Custom_Script + ipython 03_CustomScript_Forecasting_Pipeline.py diff --git a/00_Setup_AML_Workspace.ipynb b/notebooks/00_Setup_AML_Workspace.ipynb similarity index 100% rename from 00_Setup_AML_Workspace.ipynb rename to notebooks/00_Setup_AML_Workspace.ipynb diff --git a/01_Data_Preparation.ipynb b/notebooks/01_Data_Preparation.ipynb similarity index 97% rename from 01_Data_Preparation.ipynb rename to notebooks/01_Data_Preparation.ipynb index 931549ba..f2a47bef 100644 --- a/01_Data_Preparation.ipynb +++ b/notebooks/01_Data_Preparation.ipynb @@ -54,7 +54,7 @@ }, "outputs": [], "source": [ - "%pip install azureml-opendatasets==1.10.0" + "%pip install azureml-opendatasets" ] }, { @@ -94,7 +94,8 @@ "os.makedirs(target_path, exist_ok=True)\n", "\n", "# Download the data\n", - "oj_sales_files.download(target_path, overwrite=True)" + "files_paths = oj_sales_files.download(target_path, overwrite=True)\n", + "print(f'{len(files_paths)} files downloaded. First one is in:\\n{files_paths[0]}')" ] }, { @@ -114,7 +115,7 @@ "metadata": {}, "outputs": [], "source": [ - "from scripts.helper import split_data\n", + "from helpers.dataprep import split_data\n", "\n", "# Provide name of timestamp column in the data and date from which to split into the inference dataset\n", "timestamp_column = 'WeekStarting'\n", diff --git a/Custom_Script/02_CustomScript_Training_Pipeline.ipynb b/notebooks/Custom_Script/02_CustomScript_Training_Pipeline.ipynb similarity index 85% rename from Custom_Script/02_CustomScript_Training_Pipeline.ipynb rename to notebooks/Custom_Script/02_CustomScript_Training_Pipeline.ipynb index 453e828f..708ae5d5 100644 --- a/Custom_Script/02_CustomScript_Training_Pipeline.ipynb +++ b/notebooks/Custom_Script/02_CustomScript_Training_Pipeline.ipynb @@ -20,29 +20,15 @@ "\n", "This notebook demonstrates how to create a pipeline that trains and registers many models using a custom script. We utilize the [ParallelRunStep](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-use-parallel-run-step) to parallelize the process of training the models to make the process more efficient. For this solution accelerator we are using the [OJ Sales Dataset](https://azure.microsoft.com/en-us/services/open-datasets/catalog/sample-oj-sales-simulated/) to train individual models that predict sales for each store and brand of orange juice.\n", "\n", - "The model we use here is a simple, regression-based forecaster built on scikit-learn and pandas utilities. See the [training script](scripts/train.py) to see how the forecaster is constructed. This forecaster is intended for demonstration purposes, so it does not handle the large variety of special cases that one encounters in time-series modeling. For instance, the model here assumes that all time-series are comprised of regularly sampled observations on a contiguous interval with no missing values. The model does not include any handling of categorical variables. For a more general-use forecaster that handles missing data, advanced featurization, and automatic model selection, see the [AutoML Forecasting task](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-forecast). Also, see the notebooks demonstrating [AutoML forecasting in a many models scenario](../Automated_ML).\n", + "The model we use here is a simple, regression-based forecaster built on scikit-learn and pandas utilities. See the [training script](../../scripts/customscript/train.py) to see how the forecaster is constructed. This forecaster is intended for demonstration purposes, so it does not handle the large variety of special cases that one encounters in time-series modeling. For instance, the model here assumes that all time-series are comprised of regularly sampled observations on a contiguous interval with no missing values. The model does not include any handling of categorical variables. For a more general-use forecaster that handles missing data, advanced featurization, and automatic model selection, see the [AutoML Forecasting task](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-forecast). Also, see the notebooks demonstrating [AutoML forecasting in a many models scenario](../Automated_ML).\n", "\n", "### Prerequisites\n", "At this point, you should have already:\n", "\n", "1. Created your AML Workspace using the [00_Setup_AML_Workspace notebook](../00_Setup_AML_Workspace.ipynb)\n", - "2. Run [01_Data_Preparation.ipynb](../01_Data_Preparation.ipynb) to setup your compute and create the dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Please ensure you have the latest version of the Azure ML SDK and also install Pipeline Steps Package" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#!pip install --upgrade azureml-sdk" + "2. Run [01_Data_Preparation.ipynb](../01_Data_Preparation.ipynb) to setup your compute and create the dataset\n", + "\n", + "Also please ensure you have the latest version of the Azure ML SDK and also install Pipeline Steps Package" ] }, { @@ -51,7 +37,7 @@ "metadata": {}, "outputs": [], "source": [ - "# !pip install azureml-pipeline-steps" + "%pip install --upgrade azureml-sdk azureml-pipeline-steps" ] }, { @@ -101,7 +87,7 @@ "source": [ "from azureml.core import Experiment\n", "\n", - "experiment = Experiment(ws, 'oj_training_pipeline')\n", + "experiment = Experiment(ws, 'oj_training_customscript_notebook')\n", "\n", "print('Experiment name: ' + experiment.name)" ] @@ -209,7 +195,67 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### 4.3 Set up ParallelRunConfig\n", + "### 4.3 Specify training script settings\n", + "\n", + "Many Models training will be performed by executing a custom training script in the compute target we just chose.\n", + "That script is located under the [`/scripts/customscript`](../../scripts/customscript/) directory in the repository. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "train_script_dir = '../../scripts/customscript/'\n", + "train_script_name = 'train.py'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The training script uses a settings file that contains the schema for the timeseries data - i.e. the names of target, timestamp, and id columns - as well as columns that should be dropped prior to modeling, a string identifying the model type, and the number of observations we want to leave aside for testing. \n", + "\n", + "We will create that file now and place it in the scripts directory." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "customscript_settings = {\n", + " \"id_columns\": [\"Store\", \"Brand\"], # columns to use for uniquely identifying the model\n", + " \"target_column\": \"Quantity\",\n", + " \"timestamp_column\": \"WeekStarting\",\n", + " \"drop_id\": True, # whether to drop the ID columns from the dataset for training\n", + " \"drop_columns\": [\"Revenue\"], # additional columns to drop from the dataset for training\n", + " \"model_type\": \"lr\",\n", + " \"test_size\": 20\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "from helpers.settings import dump_settings\n", + "\n", + "settings_file = 'customscript_settings.json'\n", + "dump_settings(customscript_settings, train_script_dir, settings_file)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.4 Set up ParallelRunConfig\n", "\n", "[ParallelRunConfig](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-steps/azureml.pipeline.steps.parallel_run_config.parallelrunconfig?view=azure-ml-py) provides the configuration for the ParallelRunStep we'll be creating next. Here we specify the environment and compute target we created above along with the entry script that will be for each batch.\n", "\n", @@ -239,8 +285,8 @@ "timeout = 180\n", "\n", "parallel_run_config = ParallelRunConfig(\n", - " source_directory='./scripts',\n", - " entry_script='train.py',\n", + " source_directory=train_script_dir,\n", + " entry_script=train_script_name,\n", " mini_batch_size=\"1\",\n", " run_invocation_timeout=timeout,\n", " error_threshold=10,\n", @@ -255,7 +301,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### 4.4 Set up ParallelRunStep\n", + "### 4.5 Set up ParallelRunStep\n", "\n", "This [ParallelRunStep](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-steps/azureml.pipeline.steps.parallel_run_step.parallelrunstep?view=azure-ml-py) is the main step in our training pipeline. \n", "\n", @@ -285,7 +331,7 @@ "\n", "- **output**: A PipelineData object that corresponds to the output directory. We'll use the output directory we just defined. \n", "\n", - "- **arguments**: A list of arguments required for the train.py entry script. Here, we provide the schema for the timeseries data - i.e. the names of target, timestamp, and id columns - as well as columns that should be dropped prior to modeling, a string identifying the model type, and the number of observations we want to leave aside for testing." + "- **arguments**: A list of arguments required for the train.py entry script. Here we provide the settings file." ] }, { @@ -304,12 +350,7 @@ " inputs=[dataset_input],\n", " output=output_dir,\n", " allow_reuse=False,\n", - " arguments=['--id_columns', 'Store', 'Brand',\n", - " '--target_column', 'Quantity', \n", - " '--timestamp_column', 'WeekStarting', \n", - " '--drop_columns', 'Revenue', 'Store', 'Brand',\n", - " '--model_type', 'lr',\n", - " '--test_size', 20]\n", + " arguments=['--settings-file', settings_file]\n", ")" ] }, diff --git a/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb b/notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb similarity index 90% rename from Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb rename to notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb index 915bb99c..2aedb5fe 100644 --- a/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb +++ b/notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb @@ -23,23 +23,9 @@ "\n", "1. Created your AML Workspace using the [00_Setup_AML_Workspace notebook](../00_Setup_AML_Workspace.ipynb)\n", "2. Run [01_Data_Preparation.ipynb](../01_Data_Preparation.ipynb) to setup your compute and create the dataset\n", - "3. Run [02_CustomScript_Training_Pipeline.ipynb](02_CustomScript_Training_Pipeline.ipynb) to train the models" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Please ensure you have the latest version of the Azure ML SDK and also install Pipeline Steps Package" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#!pip install --upgrade azureml-sdk" + "3. Run [02_CustomScript_Training_Pipeline.ipynb](02_CustomScript_Training_Pipeline.ipynb) to train the models\n", + "\n", + "Also please ensure you have the latest version of the Azure ML SDK and also install Pipeline Steps Package:" ] }, { @@ -48,7 +34,7 @@ "metadata": {}, "outputs": [], "source": [ - "# !pip install azureml-pipeline-steps" + "%pip install --upgrade azureml-sdk azureml-pipeline-steps" ] }, { @@ -97,7 +83,7 @@ "source": [ "from azureml.core import Experiment\n", "\n", - "experiment = Experiment(ws, 'forecasting_pipeline')" + "experiment = Experiment(ws, 'oj_forecasting_customscript_notebook')" ] }, { @@ -196,6 +182,42 @@ "compute = AmlCompute(ws, cpu_cluster_name)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3 Specify forecasting script settings\n", + "\n", + "Many Models batch forecasting will be performed by executing a custom forecasting script in the compute target we just chose.\n", + "That script is also located under the [`/scripts/customscript`](../../scripts/customscript/) directory in the repository, together with the training script we saw in the previous step and some others." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "batchforecast_script_dir = '../../scripts/customscript/'\n", + "batchforecast_script_name = 'forecast.py'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The batch forecasting script uses a settings file that contains the names of timestamp and id columns, as well as a string identifying the model type. We will reuse the settings file we created during training, as the schema and contents are the same." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "settings_file = 'customscript_settings.json'" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -218,8 +240,8 @@ "timeout = 180\n", "\n", "parallel_run_config = ParallelRunConfig(\n", - " source_directory='./scripts',\n", - " entry_script='forecast.py',\n", + " source_directory=batchforecast_script_dir,\n", + " entry_script=batchforecast_script_name,\n", " mini_batch_size='1',\n", " run_invocation_timeout=timeout, \n", " error_threshold=10,\n", @@ -255,9 +277,7 @@ " inputs=[dataset_input],\n", " output=output_dir,\n", " allow_reuse=False,\n", - " arguments=['--id_columns', 'Store', 'Brand',\n", - " '--timestamp_column', 'WeekStarting',\n", - " '--model_type', 'lr']\n", + " arguments=['--settings-file', settings_file]\n", ")" ] }, @@ -300,7 +320,7 @@ "metadata": {}, "source": [ "### 5.2 Create PythonScriptStep\n", - "Next, we define the [PythonScriptStep](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-steps/azureml.pipeline.steps.python_script_step.pythonscriptstep?view=azure-ml-py) and give it our newly create datastore as well as the location of the *parallel_run_step.txt*. Note that the copy script also uses the timeseries schema; the reason is that the copy script creates a header row for the prediction data and, thus, needs to know the column names. The target column is passed here since it was present in the data used for inferencing." + "Next, we define the [PythonScriptStep](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-steps/azureml.pipeline.steps.python_script_step.pythonscriptstep?view=azure-ml-py) and give it our newly create datastore as well as the location of the *parallel_run_step.txt*. Note that the copy script also uses the settings file; the reason is that the copy script creates a header row for the prediction data and, thus, needs to know the column names." ] }, { @@ -315,14 +335,12 @@ " name=\"copy_predictions\",\n", " script_name=\"copy_predictions.py\",\n", " compute_target=compute,\n", - " source_directory='./scripts',\n", + " source_directory=batchforecast_script_dir,\n", " inputs=[output_dref, output_dir],\n", " allow_reuse=False,\n", " arguments=['--parallel_run_step_output', output_dir,\n", " '--output_dir', output_dref,\n", - " '--id_columns', 'Store', 'Brand',\n", - " '--timestamp_column', 'WeekStarting',\n", - " '--target_column', 'Quantity']\n", + " '--settings-file', settings_file]\n", ")" ] }, diff --git a/Custom_Script/03_CustomScript_Realtime_Forecasting_Deployment.ipynb b/notebooks/Custom_Script/03_CustomScript_Realtime_Forecasting_Deployment.ipynb similarity index 90% rename from Custom_Script/03_CustomScript_Realtime_Forecasting_Deployment.ipynb rename to notebooks/Custom_Script/03_CustomScript_Realtime_Forecasting_Deployment.ipynb index 853e23b9..b5b317f6 100644 --- a/Custom_Script/03_CustomScript_Realtime_Forecasting_Deployment.ipynb +++ b/notebooks/Custom_Script/03_CustomScript_Realtime_Forecasting_Deployment.ipynb @@ -87,11 +87,11 @@ "source": [ "### 2.2 Group models by store\n", "\n", - "We will group the models by store. Therefore, each group will contain three models, one for each of the orange juice brands, and all of them corresponding to the same store.\n", + "We will create groups of models splitting by store. Therefore, each group will contain three models, one for each of the orange juice brands, and all of them corresponding to the same store.\n", "\n", - "You can change the grouping strategy by modifying the `grouping_tags` variable below and specifying the names of the tags you want to use for grouping.\n", + "You can change the grouping strategy by modifying the `splitting_tags` variable below and specifying the names of the tags you want to use for splitting. If you leave it empty all the models will be deployed into a single webservice.\n", "\n", - "To create custom tags, include them in the dataset, add their names as part of the `id_columns` parameter of the [training script](scripts/train.py) and run the training again." + "To create custom tags, include them in the dataset, add their names as part of the `tags_columns` setting in the settings file of the [training script](../../scripts/customscript/train.py) and run the training again." ] }, { @@ -100,7 +100,7 @@ "metadata": {}, "outputs": [], "source": [ - "grouping_tags = ['Store']" + "splitting_tags = ['Store']" ] }, { @@ -115,9 +115,11 @@ " if m.tags['ModelType'] == '_meta_':\n", " continue\n", " \n", - " group_name = '/'.join([m.tags[t] for t in grouping_tags])\n", + " group_name = '/'.join([m.tags[t] for t in splitting_tags]) if splitting_tags else 'allmodels'\n", " group = grouped_models.setdefault(group_name, [])\n", - " group.append(m)" + " group.append(m)\n", + " \n", + "print(f'{len(grouped_models)} group(s) created. Names: {list(grouped_models.keys())}')" ] }, { @@ -168,8 +170,8 @@ "from azureml.core.model import InferenceConfig\n", "\n", "inference_config = InferenceConfig(\n", - " entry_script='forecast_webservice.py',\n", - " source_directory='./scripts',\n", + " source_directory='../../scripts/customscript/',\n", + " entry_script='model_webservice.py',\n", " environment=forecast_env\n", ")" ] @@ -292,7 +294,9 @@ "source": [ "## 4.0 Deploy the models\n", "\n", - "We will now deploy one webservice for each of the groups of models. Deployment takes some minutes to complete, so we'll request all of them and then wait for them to finish." + "We will now deploy one webservice for each of the groups of models. Deployment takes some minutes to complete, so we'll request all of them and then wait for them to finish.\n", + "\n", + "We will store the information on a python dictionary that we'll use later on to find the corresponding webservice for a given model." ] }, { @@ -331,6 +335,7 @@ "cell_type": "code", "execution_count": null, "metadata": { + "scrolled": true, "tags": [] }, "outputs": [], @@ -434,21 +439,46 @@ "]" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get webservice endpoint and key:" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "import requests\n", + "import sys\n", + "sys.path.append('../../scripts/customscript')\n", + "from utils.models import get_model_name\n", "\n", - "model_name = f'lr_{store1}_{brand1}'\n", + "model_name = get_model_name('lr', {'Store': store1, 'Brand': brand1})\n", "\n", "try:\n", " url = models_deployed[model_name]['endpoint']\n", " key = models_deployed[model_name]['key']\n", "except KeyError as e:\n", - " raise ValueError(f'Model for store {store1} and brand {brand1} has not been deployed')\n", + " raise ValueError(f'Model for store {store1} and brand {brand1} has not been deployed')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Send request to model webservice to get forecasts:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", "\n", "request_headers = {'Content-Type': 'application/json'}\n", "if key:\n", @@ -495,12 +525,13 @@ "source": [ "import json\n", "\n", - "with open 'models_deployed.json' as f:\n", + "artifact_path = 'models_deployed.json'\n", + "with open(artifact_path, 'w') as f:\n", " json.dump(models_deployed, f, indent=4)\n", "\n", "dep_model = Model.register(\n", " workspace=ws, \n", - " model_path ='models_deployed.json',\n", + " model_path=artifact_path,\n", " model_name='deployed_models_info',\n", " tags={'ModelType': '_meta_'},\n", " description='Dictionary of the service endpoint where each model is deployed'\n", @@ -523,12 +554,12 @@ "outputs": [], "source": [ "routing_env = Environment(name=\"many_models_routing_environment\")\n", - "routing_env_deps = CondaDependencies.create(pip_packages=['azureml-defaults', 'json'])\n", + "routing_env_deps = CondaDependencies.create(pip_packages=['azureml-defaults'])\n", "routing_env.python.conda_dependencies = routing_env_deps\n", "\n", "routing_infconfig = InferenceConfig(\n", + " source_directory='../../scripts/customscript/',\n", " entry_script='routing_webservice.py',\n", - " source_directory='./scripts',\n", " environment=routing_env\n", ")\n", "\n", diff --git a/Custom_Script/requirements.txt b/notebooks/Custom_Script/requirements.txt similarity index 100% rename from Custom_Script/requirements.txt rename to notebooks/Custom_Script/requirements.txt diff --git a/scripts/helper.py b/notebooks/helpers/dataprep.py similarity index 100% rename from scripts/helper.py rename to notebooks/helpers/dataprep.py diff --git a/notebooks/helpers/settings.py b/notebooks/helpers/settings.py new file mode 100644 index 00000000..f2a88efd --- /dev/null +++ b/notebooks/helpers/settings.py @@ -0,0 +1,10 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os +import json + + +def dump_settings(settings, scripts_dir, file_name): + with open(os.path.join(scripts_dir, file_name), 'w', encoding='utf-8') as f: + json.dump(settings, f, ensure_ascii=False, indent=4) From d8ea30e83694ec03ae75eb382fd2785e5456f2ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Tue, 29 Sep 2020 09:16:05 +0200 Subject: [PATCH 11/34] Rename pipelines --- .../1-setup/{setup-pipeline.yml => pipeline-setup.yml} | 0 ...g-code-build-pipeline.yml => pipeline-training-code-build.yml} | 0 .../3-modeling/{modeling-pipeline.yml => pipeline-modeling.yml} | 0 ...ild-pipeline.yml => pipeline-batch-forecasting-code-build.yml} | 0 ...ch-forecasting-pipeline.yml => pipeline-batch-forecasting.yml} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename mlops-pipelines/1-setup/{setup-pipeline.yml => pipeline-setup.yml} (100%) rename mlops-pipelines/2-training-code-build/{training-code-build-pipeline.yml => pipeline-training-code-build.yml} (100%) rename mlops-pipelines/3-modeling/{modeling-pipeline.yml => pipeline-modeling.yml} (100%) rename mlops-pipelines/4-batch-forecasting-code-build/{batch-forecasting-code-build-pipeline.yml => pipeline-batch-forecasting-code-build.yml} (100%) rename mlops-pipelines/5-batch-forecasting/{batch-forecasting-pipeline.yml => pipeline-batch-forecasting.yml} (100%) diff --git a/mlops-pipelines/1-setup/setup-pipeline.yml b/mlops-pipelines/1-setup/pipeline-setup.yml similarity index 100% rename from mlops-pipelines/1-setup/setup-pipeline.yml rename to mlops-pipelines/1-setup/pipeline-setup.yml diff --git a/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml b/mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml similarity index 100% rename from mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml rename to mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml diff --git a/mlops-pipelines/3-modeling/modeling-pipeline.yml b/mlops-pipelines/3-modeling/pipeline-modeling.yml similarity index 100% rename from mlops-pipelines/3-modeling/modeling-pipeline.yml rename to mlops-pipelines/3-modeling/pipeline-modeling.yml diff --git a/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml b/mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml similarity index 100% rename from mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml rename to mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml diff --git a/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml b/mlops-pipelines/5-batch-forecasting/pipeline-batch-forecasting.yml similarity index 100% rename from mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml rename to mlops-pipelines/5-batch-forecasting/pipeline-batch-forecasting.yml From 5963c5baeeaa1f48b8535b0fbd256b92641e07a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 1 Oct 2020 18:49:10 +0200 Subject: [PATCH 12/34] Update MLOps README --- images/mlops_pipeline1.png | Bin 71415 -> 91926 bytes images/mlops_pipeline2.png | Bin 23898 -> 34184 bytes images/mlops_pipeline3.png | Bin 113716 -> 106197 bytes images/mlops_pipeline4.png | Bin 24107 -> 35040 bytes images/mlops_pipeline5.png | Bin 34041 -> 57728 bytes mlops-pipelines/README.md | 40 ++++++++++++++++++++----------------- 6 files changed, 22 insertions(+), 18 deletions(-) diff --git a/images/mlops_pipeline1.png b/images/mlops_pipeline1.png index 7213dda846df3c3722d4de4fa25796ac48c0f934..40ebd90771de05783d2c9938d92a16bc4fdefbd7 100644 GIT binary patch literal 91926 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 Db7_#A literal 71415 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
3Wru)W@JgyC?~9Q$>V&%1hi_9=$28TSzVe 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 diff --git a/images/mlops_pipeline2.png b/images/mlops_pipeline2.png index ea9d1113f7b11a85b5bfd740cee63f56015bb167..d75920025ac44453e1ccd7345468078b00d9d577 100644 GIT binary patch literal 34184 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 literal 23898 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 diff --git a/images/mlops_pipeline3.png b/images/mlops_pipeline3.png index 9226e719187d372066ad41764345fe41be87157e..808e3b114053483dc5f495942cbc54f0990670b9 100644 GIT binary patch literal 106197 zcmeFZcT|(x_AVT|qSz1+5wL*>0-}^nD6vokq(hL<6r@+_5J^--1qGBU9YK1N5<0{} z6)6EiC-hF}BoH9EE4p>>{X6G;-x&9=JMKMpL#jSWiWr7 zQauyd^2doisQ=cirM??Q;5@Wn|7(?m8FT!6Td&><&8L*smI|bUcCGFXG712HO)lR zE-g(=&^PJlU;i6}-pe{LKXLI?ZP>35ArPM!W$$FCOND%G#~tkVhLw!(`u&~USiVVE zi2>p!zB)R3ezM;QHIM%N<>SvSW>{47cmt~0tOJ#EbEHX!CLum*Q#eG6SRDNQ*r$7= zPKL)CF2poO%9V5=WTloS_~c6>!(>^_e&|+&Le_Z1`VBrhb4cHd~eZFFK55`J7#uAKGvq+r7Pc_rsEYn=0511 zTHJs2FHww825H-a3ssx*3&|E5oxw%yB~MsoU=o?tTP)Xev&|ik!hmvuRI@f-DcfedS7Vv3)TQH2L}YlA>A z`p0W+eSJvq@hes##7H(`J{yR4MsK94YJk{Z>TI9$`v*P+OwRQbP@@SHwTd2gctgHD ziD(agjIi2`?-D(>I#h39w%lsxC$30ccMp#UwjYJmbhrc|9ol`MjZv;45De? z-hSeZW!qioZC$WEHLqA{q+)EWgmZ1v@!!LiEX7DTPdK1A`@r|*<>j+|rE~=INV>IwVoHVj1 zGn0SZhLFKS5P8B=?l`>DPyE*pLi&fm`@>&+5ljwVEr0&1Uoq1~)slY<1U`^u`Z1?X zAf&p1%S)sI_rbRwe`%g-%pXhfKxC|f2J7?X3zwHzwp*i<`+!WXSS}EL|DNOd^Gkmj zqX%bvs{011B=P^TIwD;hK#R!R3-!kFOFu7aiDa|Mkmru=_PZZ9^Gn^0&n+nJ3Vd#ivzAnf^YLfDNa2ZHA$ zNA}0eXY!R>%Zw0z6V*$&UO6lNL?4* zqgW9Ob+xX3c?>q*Z(lY&of;49v6DlnrJZiBk@r;VSu&-Li*DI6!3>4U|Mhjdp8Vuc zg>tKoGz|osE`r0axb|<#kd|`BPdxs1rf}@7k!<0=sZ7SD+aq>$fgH(Fy((XyGxlL@ zBKTF*Z^d~|uw}9_HSJ38B@z2Bs>XP15{vuFDQ1KUPmAW5JO*K4sB^0*89Me>RvQuM zjR=RT4SDBwDV^n4##=Xq4DmLr^KHq>3#F5BZF3H7LX8nZT@$Vj#_e5QNplVq7a~dV2byXpSEbp)eh` zKIF4GU#`Y|>-ixzNw>KoyT0I%Za0r%UsfQMoG8RImJbJV4N6C>e~bK3;nNEQL4%UT z=)tXtl;Gj7FLDjb#Ud--B91!%zjj1=^$q{FMAODf3#?erlP}L!U0YeX@i`+q9}j^- zp|~v&Vq;|G15dMM_w@Av8~Ww!t>-1h=W|xBSuke4^U!)#wY97)+TN*RM;6(}yK%M^!uzeWZ%h?{tm<+-`<{A0CO1V?X||op(s|Bq28M$y_{y5^c1}&VB&$~ylh5m z1Hx~HEREK=ySw-Gj|rhSUa4KR3Z8CH6}tQJI&Fp=?NHU@B$rnmZQSzy){CmuHf3-` zDXZ;jT;8j=HYt=CEeJ;Kp1AU8-LVNSin&T7Incz+zrRaSs?d8?m~qXbS;~DrhM7bn zS=%WDo=&F#xA2;$?ebCzkyL*^C~X+Ho4MIptvc~Y`Z_+dU059IE-I+qB+)P#dGTY3+=jZa@ftFCJ>2HLp;H;=&A55Xc4e_ z2xeGFi59cdY)Dp)FyW4iN+K>8jqyi%v`^%#WeeQ>m{45Y6=r1Wrzk2$*-}%kXfO?u zPD!cyJ3 z133F1j}z4^V}woRujcLhHN{pb|8S3Mh)S?zd8~o}sqia`$st0>SjK6rexfN_=l)!G zUhyER9M2l>=8tmX5AP1i$;rVbDa;O7jx-(D%|~r}@h@rDRq+r%@8c>=RiT8PzWSj4 zgJMV^r!;gZGWEfTU5!68pXX8yD_za}QO!lc4xvID<3eaX0bPqDJMl5uV?&>PNW6{U z^trpai76ib9dVsWdFLnIj>n5SPu$r&8JUH^e5-sL<)LL7aaqq~Pz3%~O)}dUOHkrV ziJdDSSo&v+2ylb{)N5@97!WS>){-T~ zZmj+-^}LHjLFio>zv3=q^gyK`?rgCeu@~s?v;a=NHT>biZxt7L^7JBMjBaGKRYcmg z1T08vUB-i6v)O!DG6C5VBQdH3M*SAXFI2Ujs4~*7NS*-K zMBDxn4Sp>R5Ygf@b?tcK7=UXa!q!CZe|feABTq2Bpz6<8S3OoCW{`H@RxXe$h@18k zr;WQcq(1a7`krT6$LYPQp>tBg=>Z67k-s(ZUIH_0X~NkSbAjMC*L{DSzUK&{lCo#+ z!_nFveVHY)ezASP zIHAy!MjWIzg(Jtmg-sm_C@PS)SqhY#|Ks7vGybMV;PWuY67}V`$(Um@f4Uh`Kyd@twmDb%FuSmVugOqAF|ir#&HLkw{E~?(mfWIM$a8;@Uwd)wheU8YikGv9k)V2z& z`zDFVE^P9Q6iSL<{+-esDgmJuU)f5tB$?PZnGx>d>bh|xldaKXL(M>r5i9|pp`!-d zF06dbL(oQpL_~%>5x@nb0>4=#r6;n)BP}h>d{LP0pS|Pm^z~P%3n<#4D63Y{`sxj? zFOysE7#j})o91nj5B3V(tJV}F?qGCT!O~CMF6Ibqt2Lz!i)#?K>pii3d8kncYwKX8 z(C^x1STw!5S>`%x!o~JGhd6m1L|;~n?myft1tb||V8mq+5T0~Z`!Ru-jZ=B+9k7$7 z&Xb5Lg^)Y3P#qO5PX~vE6qRUBkD(_(l60ATd3M0qdoAqLyp}qyI=Xw`M{Sj`wRvfB zf5D>-Cp^r3z8{<*<**A}2YY_TK;yowMvL(c?LtwvTy%gr&9~_iWTrq7I+gu-rV6V) z?`{}YJ<^NTCbp%t?(HdawYfSwVTBY#6y9zs#^9}6BCjbl-I=Hb!Ny3J71gO8dlw$l_aF5xU;{PN50r@LYg`C;-w+!(A z3pDxfOFuWa{=XaX|LR6$-cgZ3Q@4O8rR{{gRKKU~q5Z~XIN$Ll4WfQ*i3?(X*B46< zB_6!0*56b1-o-rv@|f=gpJD6eqa!fL>Z|o55b>;=M)bhws=|oC{P)OfZnr!^z@r=? z2m(0ZDutJaTOc|0g|RGe9l4` zu><1CCqH&so*#0?Vz(Lu^4R6Sum5-J{`Zc}a)tZW@bVE!TA2kd&aA~gO00;OhvP?Q za&0F@@O9{C3}x)R&eV9#>3N6+KhOaGvn};(s&U!sYBK=N0N|yAon0(Q4%d(W?Rn?M zYaZbAACd>>a=Fx9YHfR34jCR`w9&UoV2fBzV#rAOW`7l8sk9;6+`4SFXNl|j+c74I zTaBsA06hhR7T?i_>S&pXvq3~MA3ePYfqWX08_B->0$Inr*=w>ZYny6$TwE9;5`X%f z#bGB)`T(EDj!HNmEn}XM#$Yg|S%@Yv`~I{81D7EQ8_y2M0VVSR$ZviEIWV;fwmp|( zm3ISw3N3P$%Nx=f^HjdMf43cdl(TyRVoDG6GPuS9h-5g}in~2kZSdp$TM7yB_hB%o3bsp0G5v5twHeRP$VGmVz6L@{8txhy*yky{0xy zS9f*o;d2&oUoeRU11gLiBUnd7L!tP(*NYX2f+ojp$mcPSvS?%4U z5x%)5-7`wCc9J+HhuNdQuCWFkU%%$H=zx0}jw6N#f z0I0j+rJb|W(;J}f%0*B6xB)I&;W8bJ%zb$x37%`T4PZ)Pu*{eBk=UczXQ-^2JYBgU zY3`XwFgDP**1+e1T4@r`#ZoB%xCL0njKBKjv*#?RHwzQ9vzwgE+ZGGXNkXChmurK7 zEPVI{PVezI-Wp-`e?ig3mTPYH2RKfDPGCCsW5EZ&g1;|tsClEIVzyBYYG03>&P;A$ z$zA~!$MUu;vo_=*dRj=Yf!J~<0d!mjU^}4j!1;$G9r?uDdqF*cLz(JTPc%&67$zKU zIFjCRE^~AkAejJw|L8fxTIu3&#wJpsdBM@fzkTirxGi%j>v*5 zSC7y&V-F~OTwX!e0UfQWy>o2?XFITSMq4>v0P&()zouHh1HjOwR_!ShYS=%Kl}=B9 zdAceaO zrCjnaoDWa}3G`L>c>`U{h5j(^kXhY;q<9~whrF&#KXLb7_@6JEHHPbDWMMFPX6`#N zf8b_#7t0d)M3^$cMkGG}V7wEg!e>KxR5XiQRo+CTs8lorcure6^_S`y8+X zVgrlA02LH{ahSs?#IP8Y5&G=QiOrG={lyOP{5K&z^36|z?f9dvP+xJmZm;E{D-#|7 z0>Nlq5U8G{g&n#5D2+#qA_1ft7sp99`jW1dD*yWAa7OqE(^Y5neJun60l?(5Qor17 zRW{ZW)qP-B)0L+L@7!^bdnzyj7{Lz(AST~wg>~<5FB(m<}kB3S5!VaH?Q9|ywaP8vmtCvvEx07S4MW?$F zVx>IWj;|~O(=$6VPdKU0!t78w&cfbVvDT>%42lie=;`+M=EwVAxAr?}D8LTHS@Qk4 ztA|hjaZfQHfZFAWN>EA3c#n|-nU|(Z#hbomSWV=lq40?c07>g9u$XL$o(y5~FY}!5 zqr3I-Hunb7SA@SgiBg zO94>P`px4Gt_@;8EYuNTp==j8*ip@QT{?7()*q;5Jw=^D_TClnF0zbuluod$wv36oESF2>jqvkTxk+B&60?2BR{_w~F0|Qn*QY?# zaVea3en1R3Ht_Y_2g;t!A9PLUn_zZV$CXDZc!$*~P?s(+55Q}vH!V(MrlV$dRwt(# zq2ivDUD2RZP6X=G4V`B?(gE(?oyae9Oq-jpm|-RhAMDEXFCwigl4fBSAd*vSHFUQv zCvr5Ut)~m*W@VA;c}98AYh0-HVPK(CgF&q^5J0*GEi&a^YZ;jw?@i4C>Whm)lIAq- zV?=Qbwu4pP;Pg|YZC4xrbSlq$I$#la?(GOqFAf`(o#(&TPXcLw$dQHGS%3GkDq zrGf(TxKL6M6xaEO+uXadB*NV56$4WOUOnbe`7{0T{eayEc~e;%>@os_ec!h3`S3;{yRB zHUzv(_DuoyPFag_|D)IcAsY^9uhnpUdz^lrRT}x)J7fGM_+>+Hl>eOTQXRWw^ z{RFryyucWRiw9>L(4W>`HIwN8X>l$n?gB$`{eAr#Q~-Lgyqr4~Q!YH*fv8~*W~ zPloHqBk_t(7&+&U2@%v-yOCWTjIPtT@4#WFV)E6qB7aa9V)L`D=f2z~8oowtJV@Qn z8wHjKR9EdQJB1_atdMi9D_98z9EpussmQfxBN=?)0NA`c{t5Y z&op8@L9)>P^Srp}I3}oUM&X+K+RXdy?uDZ|g{m$eM0@!OAUJGSgW0(z1`j%?B#nSL z$lbv>i5f(SM;*qAPS4MyK)pCiO5Xc6?XrT(h!WElG*hS;Nw#Nadd&uEV)>@=W93H7 z`*upf?s06+4uN1PJe(zUVpgC}9kYtC>F2?(KMcQs9cSK2ucPTwoDqHWLaV!tODt_Q z6{Z55H%e_#N%&F{45dDl9AV^-680G^z}Vi^vU{|n=i6UaEF;$4Kb&7Tr?A*$aA`vA z9D1jh%wdHW-HEykazmhwug~Ei+hoi!#+to{*o$erd1Kk92KA0!LIW(TG%=%;`UDS? zTmFh=s@x0rXDU$*z=xr&3V^$LHw%RM_rjk?Z+BefP?9Arz#Gm&<8lvWq%WdKm@L0~K^ zvbR&9ULy^bjQB>>g{ove1-?f(P#vxm@ur5FUbk>3BE@dD03#pgKT+*5O=`Tg1Yg z;WNpzzElV5H9xACGn-aL88BdRK**sY3P>vENd7XO&OVKOI(QHfzgMLK1^1>YR4O66 zUj;%d*MJRq%`3fIKJ$Z)j$e$7cdt3dqJ@)Y5iL}?8VqfTM^VxjHaGN=7Y%dAu3rzO z5a_nZt_W9T+1L&51?&U(ou)_;t6(K<6@E8RE5rl-N)Iqfgf;K!&dyFvNjEMDC)sU9 zeEP#^?IgxT#X|4GFl|^_b{1>KO4miwmc2i*6JygwK_Lqjpr9&e^Y(*7^2tHAK+;x# z(p)x(u=;5|nDwN*a7LT0tYGCE&;PXhBKNl<{3l~o?e+*BT!042P}fb#@_sPCtpih5 zd`Nz1^+fIoK=CQxCiS^0fhgMWteop36gL9qYh1|kf!9JeWXu@j&|9cDj_3zrWoAG` zdH_x~^l7v?r#`>$jXk%-Z`|t2wY;qJxQ$t%i^I^{_L!br>W)KkC>)(vm!|AzSG%z? zIUD}z8@E@Cb{_|70;*kTppp}r)@tlhD4vAY(p)+hRweW%`cIc!CVXw)l@UZG7w^0q z;$d&Cjs}IyFBx*Cu0(M>j)?~BAP(ymSZ7iLXq`ks-K`&ot&1^3kg-b3adk=~+Gk1e z>UQR!p%t^t^?@@HoEVMr7KXJ~Sg7UusO%_ne6aQOmk!Ln&2h5n>ap_(o#?RU1WPg9 zN2Vd3?I-Xgo?i#;&tN4}+IkKxNE@;?U7EpUh@3RQAx+39Ki(d|+d}P@< zy{q-U;;bM(sm6t%I{no+ERnTy>a)6?yKEQ8dIwke**FqoL5cS3=1$K)C-}a7ICbl; zbWqf5^MP;y{RzU$#h@sla%KD(#!9O%m+>ytnaglRL;6|3CMTN#-dAy6=x4((RU)z+J!Gz3@iP&{A!(rV(} zg&F(+n`>Ry*gNd>+dBtT{F6y=Ott=85W7n;FtSIw^)ZLcH{|rq(D;`!^54+|uNeK{ z>_W)xwXST(-a@N9{-^7CQZ$i_y*b7*;XHLmy}#;w4w4c(9lQ662Sx5;UmEdVpL(A$ z@-ssw@i1&|Cw_j^z{W4J8`&S|BOuTS)Qmco!0M$8rzzQ3Zc0Z z@ltb1vI0N!J51MT>A>+MEu)K7mF1>&hxxNSf_gtOW?;|B3Ngu?O)b{`%%HUnF*}>Q z7{M9uQBJ4I#7W!ux-PA(N`4XfxKC?6FsM_^>&eQdZX#OdII$&#Yf<=L)tZ&42PC=% z%M1F$Lp1P*Alv^Eq}#Jcx$D2UAC)}NFxL;>+fysor8tz;q}M|6YB_#TT|j%IQ_H-R z0GniOutorY05h|*lo^&`nX!hbJXNeHT7}Omvh=m%X~?aVNYwy7Mh(@7P@G7bjTk%y*m86vi}@6G zCxaH?a}<1ep41N6tA?GjR2eOPSA-=!Wrp{2Xg-{%b&$ut+)LWC9QreoH0jAV3%}4u z$Ez|DYqO$xWy$)f#+PvCzoC^H;-6Dvvd2?;d-jJ-$Rc``RDZz)EoIvjfOT@t3qQ|BVzpYJ0g)EH-!W z&ybHJ+iD9HWOO&v@UmuSyMrfoKh5fO**y1epS$ny>5mtBUb9^@(BQ^c3_PH$PQz8M zxy!97`*9kr#(0f~>6&m~+A3X8+ZxmPbU`<1#P_Ri=JsBlt)x@L0?Yi-UiZgqo6kH) zcZD9g?s^t#>1I1{0m=C@ z`elgGc1xC_bpzw;SVk0dfkJfiO>wIkdEWftwe7# z+Uu*EBA);;Xtf-U?82m~>bzF1`uGIbV%c8d&$#q=NyYYGMqw3%vhac|mu4gTml@{{ zj$Qf*`uI|m!Y_n`0{&(0(~#AyXms-jkY*R6F5$jz0<6QKat)5xNciZ?=M|p3I9UZ- z3env$+J2V$`7yK5X_VcpQr~)uT+d|Rqq;gYG}~C_`o^{%!?O8J!KXq@>SovPdH3^rgH{P_*Q@ErMW1)rF zR}1)c0u{tZ$cgW4{GparS9;SkJBxJ}RK2A#u@6V(buw>rOlRummRa#>#IEM;lJHth z<9fen+F6B8`!ZGhO}Wyq*b7)r6uG8%d1ErZ?@q?HXd3$P>jkmRrgMzs+ujaRohuR6 zK07rRo~uMMUk&vfJAE{=IPt(J8nepIPHcgK0^6$z)3yx=Gvg)k`ecQD zkKKAkgJAZqE|rT7H78JUd7IB_N%!Os{2Zzo=>r+x4jxar6Pbw7*<%MCRMx>x1DNfS zz;LR(a=3!H` zcng$0&pvp8S$FRFMlKuKN@B1}r?kun-n6n-L$>BSO!M<9BBiDrCw73i*Xdc;5y8tw z6@OF;MVvFE%5RT>HmO0D6GWWVK}*RC7dxW5yKdgj3c!11ui5{wpV`4ey1HT#GKt*Q zrOCdb@sd%%h%O{NXn~ojClDB;ukt_OU8$EibJYPLqBQHtSivb&f?a2p9uDhB=2Cg- zz2_BIf9RB=u0Y3akvO_GZm?(1(O7Qeb+L@WuAOC03K{Xi=F}i8TzvCqabJ(Xve?#x58G{0AQ!M|0GTvKUeHGX#Qnk@b?L7#;OEh_#AD3b7upuY%QRq$T_w$pF>nrGm zyKugcfpUIyt_Ao5t_PrrNJC#9_iLwMGLf&-m6cZC#KpxG6TBKJ`vGi>B!$LX&0WkI zr)SQ&Wuyv)7W6rRsPIgW;YDA}V8SUbmO_`!?;%DRt(5~@TnUM1$Dfz2%1ZiN!b`!_ zI44nTbsdueQ|_l6|1zpIJLw@lu*zGq;pfT{xf+`lm~4B7_B?XRWg>?FLbgHQ$Vq$ z=aEVIrLxc|t~cgw=T+FYm!i*Yz$@8{MzYGv%BY|dkY0l6?Vt{IiP3=V26clXz^~rO zOBT(zuoJhEfojbFk=^taR`7F-1TocFsr$9Uk!RwMV4jn<}IK&DO$mGi|+S;QuForlTye_G@3EgPGP3oii? z-+6_=lCJb8f&;%|B69i9n5d8A(rmglDco3g7szWEj!CSrCNi^&**Z?=FO8bUU&t|B zJsT4Bp5IOzGxZ+%J_$yPX$NgFNq*bN(WL&`y3WJJ!keIXif`t9*^NNU@LXKmRP#)Z!(iIRh^ z+2M&GB6?Hw-a(`A6`yJCYbytbAkIGUaOdY-bGX#w(yUefziORN<~iaAL+>TU!^-ri_@l~WK9Nf-XuLd`BDz~ydn?B3+n9De8q}t zw%^@|I~>?4E{TjJj7g3EK)Jikb2?92^y}2nJ<+P!WFDK%esmMaO6?0oXBgvTwhLMk zEZci-Rm$=M6r~7IWif`?i|w_01uq{vcEjli4Zh@yI+P=9arUy3v5qsWWn^`R~R6XgJEhm@^6|H@_8NvZ9` zB+-Du1)PlyX5gpYkz;+EFEn2|$vN<;TOTKPM*PV+i{_h!H!sEpYBokr&)J+IgB0ui z0lULdIwIFaYvaE_mj*b9+vM3pno`A1xCQ?sxbM$8TkYBHNO+S<*qJs+@HrU z?jv6C^co?-i}c|3?8m8yv3(1g>k#IHm*gr}rwn0Xq;wu_TJzxp#47MjaE9ysRrpur z6(t)>eJbej40J6?EToF52?$fXQHXsUlcaF>E<^Y9R%5DlDR3%Bf7BgsyGSaHG#zkR z@R-?bH|^tm#rR%qF)7lZ>RAma^V1S!4}};Yi!OYU8*d20xZU z`++h`G{LeLH2iQY+{3r%qQ5gptK=MBp+mevgEY@z#TD|vy;1%&<*a%8Im3nbFF0q& zxyDI`x&9!21i38#Vc+WfX!CEOmmIL$McbV0C9mC70(30zMQdx@sejd;3q8eg5sFAe zf2MnyAnJM?HsbV&ml-x+;W0W`zv2ULv0r$W;IFQ~y=L(Qfzw`sjaP(N2HG_QbGvoU z4g!RZXIHu)6PnTcImi<1aRd>YFFU1B4ECm8kW+J)<5o{z3X+zNV-S`l>Nkb@v987 z0D|=w=jLLdt{Eyw&43z?YV9X~o`3m`h(6_@P{k1Kg9g?z zuCLf3i18Hs1kuYA(Fz(YJ9IklwAJ09*C5A2)DT}6K>rqK0Z<>P34Nk$*9Mvs(Rq}a zSAaQRUv;n&*awYo3D0rgYzNBL0K%BZ-1@ZkHCxj8YIoVnJ6<19k{9+Fh4}0g#yE8Q z7i0hcum{lbYZO#w)`vAhrj?$AJn71ax=1$=iH}P`ze(oNZF!b3{t4dYsVtm6Ljl*L z#V4vz7=l%LTJvVW%zB!R^3>v_LsovL!o}QgAuXv&L8?*e_uW7%Wm&f#hv6}L2c%Zj zh)zq+8H_RZb?1F>a2QnFblM8bn)$+wN*q7qdDBnES_?n^TwtOyN=6ENjrieq;I_x` zBwyN4d6C(rbIi@REH3u>HbJ{i^-*jpR9`^g16tHGUt*e^7UdZro@PYsiMqg*U@}~p7QwkT zLa#ln6)V#jJlakmfX`GvDEiTawHDwom6lKe68C=L-f4RO629X;Te($n*lSsCsjYf3L&VzNiq| z?iPAz7_F)6f13Wq52h99#{A6PZk?jI*RWG1>g>`4mIPX{9&XFr<-Gp&<~}-)>2n}h zlFSd*Ri$N1{*S!&Uch$R(+ts;eH?&JpT-+s&xVl6KKWsZ>*RHML+xa&yG!4+QG`LI z*BY>Dn8_~1Id<++!=EVN^O#aHJ!v_K28y2ej7=ZPTf zcG?vEs(^h97CsCKC*KyF%(gtfE6ii%NSr7jdw?oU7V^mTlYirS-nlWtcwMgMWlW9b z9(5_eOpylh324fb4>%?Ip#CVk4i*%1wG*8xXJ_u8Iq`#3s$!CG+yNYp!gWVbPs#?x z){kh%qbE=7r%!7daA6)U?1!xVB9^NC92+wBnqGE%1Ek1C4uq)Z{>e*S)_z^D_Zkkl z-u!>j>-qIPGWB}=1|blL=*Rl$FH;F-*^VkZAsx^Eu?Ir0V(hn^TJzy0JUbxP_ujVq z;sB?2IBGW}jgju)&j6w!5b=%#BNmB)_3>YWd^(qUFv%wz^F{OkM4g>ZYP=2wr?X#j z=k?0VPGw7tzXo|Cr^+h7Pr%04<~Srl>~BK<8$bBss~8Zy!WXW`?p)gs+M1jJTOcqn z5HQWkD>_@!tGt-(DHHdy9fcqe%vn0?7zoXaOb zhxWq-#uzXC9gw5{VfEsRe=>2u=wPjgaeo}agmaN`Fwu@A`e3SEN?kdht8=+?3Atq1=o;TU8_ z=TBvhyXqGMdbHiZeAce^vwJptV1_s*{fF~oc3fhULIJVGOq)HC2!L02hcWID`U3u` zF25HLsxzkT@FjUbsRQfiFm^5zJj&?%@7Ef7e@qI*Zp!7D;>rHh`j225qi6p8F*Z9X zfe&+}?+Ca6V2wm76aUiq|MNW3%ZoHWFniU3NSthmcXxOeai1SDRC|N&4*!*E4{CC8 ze>?>9?(L%!%5+Z|7158(?tgz|08p78=c`;EmexK@*nhc?zR0KlVUeC=QlMH&Ut~PE zfhTNlxF?u~{Pq7Z4JoG#wPE^Jzc|9>mi)ww0OWY==zox7Pz-1j6(qvJ{YXT@{!1%# zu{{3w(>QU?iBrOP8D1HItqSZnPOT8eEjw7z>Fo z@>1NFfs{_LU6?W^pE^1AQ`^r{>yFZ%INp?Prr+aJsE^zP4%5);_F06+!5VJ4i#5Dt zuPf(Ec8DiD`4K()>;YW3qvSwPg#ic1IM1Xe^paM`d2b@73nT>t?d_w4oDtAT3j*7C zz&rZvv(HdN`lLs|{UPQqwHpqAG_}hK0qzG;!VLw86V!LR$#EmtIFuD7av%I68;kE6 zfoXo&O?txc5mU!F@Fdq5ivldC3^CBVg7~650p?2ASuj_m>HUvJXAx&-q`d*m4zT2K z0REdGT3b$#GsCOYwUW7$l%BXqz0Cq`cNA5qjHV9Fy0B{M<*UCZ26 z7H>fSo!9gT0Nj&QX^>~)E0&O{ePCB^kG1U(rns1#nOlVb<(tcW4`WY8pL78?YMfxB zF1~;rs<%qMk`IDs0cfNLXzqUe&De81tP4F4(1aX$!K*a3ch=6<$FX?AQ{Q@8v0bILd!V6TWvEW`6(EZG>QS1qLDKk;@ z%P43yHWNS$R<=VrEr$`-${E zT_3#glJ+uP_~ViKbZyiAR_}G-K3wmC>ktqPz$<{%H^mxsq2m|e?|i`I=^!^zEj-+r7eY#$@#sX2=U_?%^+O7VDZB`Hdft<2C}ZrF@dq6vrqc#6tx;D~ZW-T^8% zfFVY$L1lK{l^HY^9Xv|^tI^dRC%dCBd{SDr>|n6LV4joOc0(=O_xQ)m zSeDTB4%}T~Xmteu{I%B%6B_oUOw2O?n>v9qF&gF-~lTb5U%eH z>fXLJ)6GE3M?f<%0E_b~BR87TL9or*Pj9PP#>*bc0(F-g?c6ttLgFo)v=2 zJ!sVJs0u(pn@MAp21GJYxl(`2vf5)2uV;Y-wi3Yz7(w0^<%G3<5c~iOM86aw`xBsu zX(!@4p>)=)SNhG$?fL**-uvMFW8^c*sCZ9l3f}6o=s0cKtP+#1(JK^gBD1o;PKdAFLEXQ#X zcmOo8WUi2@6YYK}5>t@H!G++&@^U0DQ4Zb{=!O%TC$`l`grDTU)3%XQU{sfJ*oh+( z5Gr%vm;1g7{me1XQ1wOg)-F&@?^$(O23^>N4A>#2z7?cc%ZR4Vtak{M8Ck0k0H!-7 zA?O38a!I;f?nD5Zu1i`;)`Pa%MN+zH%5I}e1HhEarw9*WAvZJf3*m+Vl%(l0%fm|ymd2_(j z^);x#jrixNl;8XO6r^TrMw=+qU_1?=##!pfMNF5Gevz%7i-Dr=^w&F}Qr&u|P+g#x zd3)VdSGNn;uq5MCcU#clUO$YLT;C)xXu9ty8x%RAYy;*(Tq1ftJM0kvRzIRF!C!ZOu1oD4E5K^Pb=Wo2dJ%1;;E};$i_V{B12KtovN>s6BK7b zE@mO$`u^(eieJyQ=DSE053+tz84lq;JA%H0DS5xg%6snRRp>e~`2Jqx7LC;BUtTFtE zh5bQ)sNNK^F0M^sM+Z))3o)Rri|}0w-*#*OMhnknRAd`TdK%_2bC!Nn2q@;D-nFF| z0^;}rGrNwus7{e8#&x1A*O<$jPXkI^1@8zU3e&(XEzH{nyJp!o7hgo#o`)l(b+u3J z1a$;5xS?Z`HUob#!tPKZY}Z=|jB%%u6j8S6EVQrt(=52%s<0pQgG?Ey28s=&ew*!N3v%Ud?s8;^Ft!eK#^6aP0%8ur*yw#%A(u^TAk-oT)l4=8ND4 zq2PWTFi$!_vXY9>+u&v}FEE0uA3|T z$+N(ijr{|l)odw#eehYv9ui__)&owOX+{m>cFw_S5D2*@x6W8`>xRi7GtjQD>|KEz zx*F~(m2F=jea`y6$J#eA5g6<3;Unl)R2M;Gb#X^)_fnFNx@1RN8cy2s5eKl%z%7Fi(;;_@NnCZuB(G?ast&J#EL<%XDhmCMSW>?;Ge6(? zIei0AgWFT^SW?|IfM8w+9<<=M9Q&@)3L-f_S}lSY@pOl-z{iW+yRsgz(@Zr-n#!_b`l5+sn2q?O5iU8_ZhYl^^*L{aE9h}L5FW{ z8aT`uj?R{JiSF~vi^6F0l|;^91f%C-E@WJdwkC9RDHrxdF|q_vqKCYOYCZ zMA)n$(kdyj!8-W#l>k+n^Ck#;QPk*#$@B2347f>?V$Wev0A$#EkV6hdlkYi}={_)f zT=ILOLKbdp8aXIGXfn7++9#-%6Cs2QGNN);pQ*(OP@%b!FE7V(-18qT05#QH&@m zDhLt;OrU~@N|I~>1SIDoDLEAg0+LY?k*px7L;=aMfGRQ=2m+EbMUrkE562(GNASP#A|UPj-LnpwwP+WxgFj`IKYZQa>N?NWzqybMIj5%e3x2ZPwL3h z>*f)jwU0HZ*`Vl;hY38H0YWEE8H8XGVbvq&8X1f{pvap@h;p4^S>xLj6tA|+%w5WG z^1F3gTz=sZm4NPYx|3E@$LAF3II>HDi@wQu-B7AM9<76FOy=3W$7;d$fvvW`0oF2N zBC4&qE?)mZK*b}>jqp^K73z5=?xuk^g5)U@`_%+=xhb7YSSub%1Q4}Lt?uOZK?RGN z>gR&4KavNHvT=cFZ~LVwq|Jm;O)#9LnrtyAERp;8-edr;fGgB%#Wv$jQ0X!XJKy*~ zE6u1!<(`1ab$*@u?)PpJMmpmMb7!H*U5D$hex)UEsqu$*D(Pfl^$M2jQox*oWv82; zr*znsk5XEIW6Q+iCPq}&GD&e8#yt}~ptLAxdhxdPD!jnvH$K0lQBqvil9#ZVQ!@8` zpgiQD8(BL5H{5LTir;*r3E~gry1g+*S)Ys%edTH;DndwnJOKEpzyE}aP5P%*Ddj1tJ)jmu8SYUF@Aa17ifDbE|{Bd5mFWuK-- zGdC;ZfG1NMp;mjl`jgn-0{u_7>?GjElI5P%a(gX>X-lAJ4 ziP*pp+n}+iLobe{Q(dE8-MZEvz$AKJYZ7^@raG=M>{&^dVASIYLOln->h}&jv@;_< z0Xq;htXM0gg>hIMaTM1ocdUVz)G&BU_%TL!9b{Mim9*%tA#3pGJ;{#Bv7gtS7EoP! z+!s<(6#etHAI3mg^GNe&NA3F0lc28IcCP_jC>>ur?Je`xzKStG+2uz4D9TZs(i} zMPA+SDu!?u5+qcvdG~sgV1Fdr{no|4BFeY61+4`K1Yo^E{SACGRBJ_im*5LF3>keDSVj#ADHQE6*-Y`Ss8> z6{pv^e;sNTJKOB_?`^hhpCa^xEkb&d)V+n7&>Thh6eu0WBTB5$5zvLwcOp^T)6X15 z#VBasunO9-&A5yWV@u22uW(P>+1iR0u7ZF~(c|qdf76uc^^SP62SR##w0X+p20y2; zv;+N)O-TbJTj_C^f8FY2%sgr2UC>6`!pQ|vrpA$!Es%39)?hK&&Z)h6j1-*k4T znj{V2ih`f9CT-L#6Ut@Mp04HkQN0vUHd|m7qtJg}S#s~H<-)#ZrpY-!OuZXv|EM;1EJF)LlxgJ2Y z(_W(I1&!lJZZAep{sRGwLdoump1CU8%==yuVT5#LxW_ecfd2x_kr>W*F*Mq?kt;08 z4SBIt=vD@-yc_O~=`(pJSYdj2L6_Ss_5PzhavA^NL^bZW(RLW7a?;lHbxcdwW^U8) zC*Pm6r_`c{e^MmnTM_7M;A-vMGX~$G->FWwd8RYF(s2#t2W5XzS3s5{ev%xfRp zp{t68mvE4Ym}lO3eK`&~h>6N;Y~JaJ+hj_s8n{2QEJaK^wl6yF*M>tmEjV}II!j_4 z=2l8a&H~)!#;oi;xB#%$yxVLl-1rQ~AsOWdvb9zPXi)D&>}FM>1e?i>YJ@=Ls2V2E zoomr!N(su%iIj|FIj37xcS}KBahv|Ghp+Tue*SwogMowDc4ZSw7lWpZPi{kH z&aNt6$gstqW8*#k-dFhJ50)H${<)gA+mEi~WPme7|ME!y$;99G4Ln!QOQ^e#tirQ5EbL{Mf*O5{c*P7X-!0WKAF z-w>GS;#?ARbOr7ORtAVBj9EywVLq(V50z(#u?HWtAejjM$IzpTM3TEv+a_>1M9=*e zC?;SxXYV>)oMKVrShSK*EANUbUIrC@r*UH-vlKZ4{|N@=7MU$DIz?wzup+F|Mj3l< zOsiZjvWuHB1HI{PLU38r>n2+DE4SLH&GeP(^tjfVf=3yUcypE~9cv2{Et{?!EOwk-I^C^RjhnB)LDZXchAu~EjYcHJ@s}*C^3EDB6-p-Hj$1XR|BbMOC7I#R8p6wyEF;9r{YQOZ0 z?B>C6wY7}={d;c=rZ+D+_Z5*MtSymlo=JDqNhJuMnHYt&lNUP`8pk-JniC|=kqoS)M0@KS+( z1f6@4S}h&hAt({F{s`t%lV%vEHL8Q$Z(Vim=jIVUblOOoijTfc2@DPr&Jp%VpEVv5 zblJ#323VDh8=+|*)4qp;0eyQbShA)cAj#s)+nLxC0D0qXEgrlO<$N7f|elfXPeRvZA>yA9uy2wupC!L+QPiR3x%>|+=yad~~ALdxa^aEM8Dm|@`1 zD#(GESNR)`2jYkKWZVogj{NQ*6q-O)Msz(+e8zH|%Q_O=)RA8=8!0$0x#vKa_YZI_ zZ#chS6`5mxXM(F|1S~sTx7J`FfwSnL+a`Crdu@)4%WK3dygk+dzR>JR0HG;volDp_ ziPWNuIq#0=P<;R!^N$jT(|3lMI|j1x-ppdVc+yP-Fwha z1qdfSU-tD(Sg&@l%;EC-_$C`L7UZjyu8+{G(%o!O(FcpQr!3e0tkjXI;z4K(kU@z= z5KC=1-y)nHO=5PIA7KdjjOAM98&0-8c(R{v;MQ|9=l~sGYt0Te@Nu5cm*HOjzwq03URsmPn%&1Kub9e1SD@i zOmZ_qljg|hUpp(EmgMP1{yj1vp6rDqXl4Zd-G%@C-|b-V|H7-szK>g5FsEO9+5qqL z?f>vjd-#W68CCh|y&Fa(Bp1*Bhg0Ie9|cP&_}{hK;X(X&GyLDT8U8T)!y)_8nWCOwG(5 zt7Aja;Gs@gpiXjg@gM_IQSOK69)nvuMp_$)X^VR@H^KO}@CM08zTX~cU_y4AjE=AT z*U@`RBRahqQO{jZL!@)iC5!I z(vY#&c-DmM`>ClZbD)iyO^()Iim4B8G1oG|6cGuVh#59`wvB7|(WJI+v=^rzS^aFx z`ZuU+y?8K2s7CiMnG`LCE3m*#9?`t?%(~`6Q*!9!l|08<#7PVC9pcbGV8XNnKA%mm zSS0$#ZQA@9f90ECaUc#t478k_oXTw(A4zkMJp$e@^by;@L$S-Sy!ZQu?3daKP`KL# zs4H-!PY~JddR#ZB9oHctW@2KN)j)bQi#>&IpG4aG6fKeRhuotei_3VzlAMvmg(iIa z!gHEFj^P?G0bnwdN5_1GH_Z-HhWDbp0GTH1kliu#fh3d7gliPDxN6XT zYsr5FEo412sh01`rBT}*5_oXZ_9*RjeUPZE>O2Oh;@!q4 zUT~CO0-UzqjVpnAPb)Epz0LCLk0(>&zBKaldy}k$Z!riv+e2alstOVwfHYv%ew4#6 z-$=OZbubI94VWVdfS3qcd~oEKePds9b;oe(+N+(aU%jx@rqW#kZHTDS+AO%)Y3sqq0r;LVef-#LYpyvzv^?JWX0}z-c_`$};Ca-C4lzq@rx5m=5pbx|& zcR9nQ!D9=s7|kb7a@o@K0Xhc@5XIUbv)&T0?pa5WqqH0`#)EYS>M$k!)wJzOF|FFK zLYC#dtpSEJy>-u*3xdX(rf0yezvZPa9PsZQEQuROl!)0~)IJ#h?F_f=N$|kGAI8JJ zesYq#?m{@c0$U@zrHy1D{Tc*blS)T>`xEe6f{}-z04(_~CYy#8ptk@uXc~wrk*sIt zLmuuJ6X_l+cWXRT473%X7Eb&?`1~;!N_zQ$#RN~s7IKhOm9qDXQL&#VOsJL?*w4qX z6`Wz_)q;oyJ87_(hv))&LP_HOG78H*F_4*(uUqTZ+{BT#2&YC8i&=n16@*9Rns>$= zs;!F~?04dRLLf-U`LG># zin|vUC}jm7ax)99#;dDy*LG7Ge4?#m@v&dO&?^?en6|kH*mi!?-iVjL#h?=gir>R; zIl)=QY!>|#m-e_GJ$(0{juS^jj4ty}uyQzGzo2qUq*EB3ipszn6NQ%=?i{fpe|%ML zyMBp%M7bO%ID`6yue!W)O0k;Ij`^iO#2y+L{@<=xEf&HS?{m(nh?_RgO`0< zq1i@!n$leCNf&HM9js|EaV+5qf5FlzVdoC*P;f8JP|qF#m!l@?M?eeu`)1sF%(A&% zWI3JB+heH~@gs_-^RQ8nXwep>CAczf0qT`DVsgStEIAj#?(f+r0A!20O*o1P`jZJr?O?e;^nxFEd*h z5g}{{2z-;_)y@}qj%i;$4~agwae!BO!Fy3KHY$Yssp>^V%b(IVS0{T|icCy=XNvnS zHgY&R01n}(TM#XkU&zX) z;$UJ5Vk~#*(Dq6J;6sQ>6FD4=V5*j$I0PpJI7}CVV4%hJ1ZX50cQwPHI>{M8!WrAD zUoKoTo=mQ4p0C+9=EWJ5AiL^4F@2v%M|)={9}soG{EFQLUSK$yya>$pSb|Y0n;|4= zeOy2yxHwh0w-*2}VqrSa+1k1cL*_1C?ZZsMnx&IZW&3n1j-E7)P)*lN>O*V=qnMam zaYYlz3<(_iXdpMjx}2^zSpszjTO8tfV7V|Y$H8qmMJI`mj2vW33j37lxlLQ(1qBo? znR>jxk+Ef{D-1kpMcfEQVOeFflF9^N#-+xGX83)SZk&~Yzc`>IRn&Q79N}8{fZHip z%Vj_KvRjlUEg5<8z|;W`%}|ghf!!0fvHPvN+;2mMTPKK5rn}-EOM51gOQ|aDQI_Ew zG#9)UA2J|%$g8R>tn}on#5n}pTmF3YlRccEi!)R;h zl5{g2(7Bu;_07@bU7B}aHFeK!suX4X?k+`@pY6AtbSj^Ux`qW?98dFq=h~qZ)NOpE zFXym=-7N>W_R!h*3wUS7E7iiUi)|-WRts$CKfdd7WQ~IPqc;^B5(3g&bNlZ{7~=X? z9&{xsq&sY)qY%oFN20VQYvvQYjxCJ-&eE#|ch4wE!6kEnN^d!x&^pU1pRb&0spIqV zTt?qyXaFlu5RAT)Kg<-H0kVOxJAm`F4%+@M;i`Q}T0n4e>3>F=bGcUf-I<;tRl(BB zf+*=i8Iwq=LFXk#wIv_z4Hl{EQ$Ev&+!$J{C^m0gK6dXPulWt+(vOW>S(L+z6hATU zdER4LQEdipUvLdg7)1AJ=cekE3b%YmLg!g!QYqT6y|Vgrlp!!z=4?#`D{1sfmdp9G$&VWZmR-D>&q^=-qIuU<@#{~}| ziUh##)wvs4nl{#Ko6nvQq>7^YxmBHzc;hr1#&b^sm-M@^X=(ay|txhx+yd~`slAM;m2^HkxELkH|MZ6 zXbVDl(4py{cnB6=xgZbj=*xJ;+-qZidB@LUJ2l=EyTR|$3+iNm^9?tTPn(}J3jFJU zE|*=$P^=d0$8_UodPEA((yVF=Wv7Yi87Z|~;FX6ZR){`23qH(dmkOkm zu44ELM(?NR&q#rttJ7p!t}6&m!P-HbD$J`*+~|YTES(m4P978i>Ti82gyeHoANF;{ z#H+u~U0Z<-QYgucdQo?)btzhw{uXD;k!Z45jn>?*kxSljp`&naZ`b0|?sGAkN+p-9 zc(lpUOOgiiC|$eF6smK{ZhsNL7bJ)6V5|@Rh^aht6QpXyrCOt^+d;w;$x(2}wu!sI zx0yBoY7Ku!=-px0_Y1IHCLW}eCJ5tP$|OmvK;d@E<)+`VClT3v6KBN=J%D!CxaFcC zttB~Gl3Zy9UbH|^R*vRh7Z!ap<<^#`8>16)S)HPG+ZfHg_*XpM&ujx!PE=S3VY82@ zZ5CEiUiM^adKlR2dXsWiHL$-cO-I1|c{HrExp@(s%o61+#|^$|V9%m=VNtDINQ$rC zU{8Dq+F(x>LQsZM@WjQ`M?fStU4STGkzQzYHhRdGXP}$FmW_F?n5$MR$_i02+!q8H z*eePVmcZ`uZ41n!CQ3^n;=^*M5d}TloS{l0Ze$RXgIAq2XHDOkus8^xx~%crJPF#V z++#MC3{UQgOKmC-(kATDNN~{l=7tldqO{EIvBRGW5M1ao%UGW~3j%7z`@kM>h9^AH zQs}&%6@32O%e42mo8gw(x^U3^s}5n|UE|h=_@*3!`LaCNvsw}Izo0gJI7$*}#Y!(X z^E8684S|oJFCLBuT5S&Ix=|SJ%Xa)nba^ z%^S03tgIXCu_GE4@L*B>zv~n_jT!| zCqKRv#|L*WgeXb5(s%!MoX%C#)4}6L+=a3?uvX!NQ${tC7wS<>QgT4A!zlp3~IpfIP_VxUx)a`6D!jnzBL9XUBr#& zM511}@H>2YzRwk#!Yz%L(`cd!zIayp{naycQBZvMV2G1AhN>nB7KR5jbx>#A@d_a5IxOogMrlkXvp1#gbli>|j z(kej9Ap|@9214_nGOq@6?mul+%rkLmv1|*dN*`O^P4q7ofUr5$w{Q0UYbS1OO4Nia zJKry0X?!7^WVq{mh@Rrfn~$aJ_Qu4pXPv@B{So`5X2o+i52cTF<4dJUhI>;XSd_+z zis^4?;W`cJ^7S!Nk8;MBNoWfWw82(MX3xo$=Dw*lrDa$)Y*kn5QU&;lmh|B!_cWcy5C@eG19Dd;FZEh;_XF1TX0`2(f+*_Y{}^%sbR({D!0J%j5cZ2JXy%Gg~q?kbmJg9de+h^)*QX9 z(|@U=ZhKvknVopDCWg5@#@nFAIbA0AQP(9`7V2T=?(EX0#14UDDO0nC=w@YeA1sR4 zC1r+n8#iIF(VKl|vAAlM-rOyGf!AeYX^Cae8U26Q#rv#WhP}2C)ggYWhz?FO*kUF- zTdbhDO#&CqYg=S{zN1jS?ZT3te+U7?7`x#K^ex=M*70J{Kc$618Z;8eDN5w$=IIzs z(o7i;7{w5bwAkX^9iZwD5i*5HW^mCL0;R&H!r8D=bcnY}5eoOdjDN)tSXri1a4Drx z-K(o)Nva5t;lU}JMPp5YNtDGR6Q0=T@^AweIP^5tYx+7R-YW3&{1m&$C@@2E)lQFl z<-#c)CwGhe?KL}Ql_pZ~S_!I@?5 zf_WNFLtl27Tv#H5(gZ~lC{`Q!&g=Q4sa?J(VeP>k9N&6s$^d)OXxKFx=f&!u)1?7t z)%Ui$>{;CjT`(rFT(9SG!17ARq-9gJ)tGLb+UVI`WqVa+#tii>Wj-uDW=Jf1=SXS{ z3%MmOfO>b3;fLGWH>M>i^HO@Mi4_-U|5v7?O=qDDw0RBVs#={u8|Eg)c2RLEq&h?# z5yD%Szw=nL{GLzaRiK9c5vY$C`iLsGytfSkyH?jpuK3>Uq?Ivwy&DT0dXy>x4pd|@ z?U$wF3Kf|wr_WhYiTF@c`LK2!FL-3E)8Ufg^8H8sdFonoALY$+B6#7F3xQ1`-t^IQ zrAzwXm5nr?OeM!o&q2;7FyJ{t5=g)P(?9nrh{9&PZ!?8PXCf9FqW-TQ3!XBmeP)Zfwbx+~GxY8GMvpE_8-{nqo|fGa2z*uR z9p{NlvcykRQjXAi+U`z9!A&Rz;!C)Go9Vjj5)CxG(9R-U{pEHayryqRgxIfy5Elo2 zZJYDG=YRRym7n$|+MV4T)n(>(uILP3&L~dx@VF~VQBJ9<6a%Ev9F`edud|CFDO5^- zT7X$v?VSzPnfkm)p=B~jhO0E z-XiZd_l49&yr;R)l>pst=nX5~@&NTQO}PYq1D_9SmAwKQ8{RiSl&mH-t!IiEeW=p% zStU)&=ElbmG;`H1bxOPe3vRGXa%=Q>ta;@+nj#Fh!cM*0i}$Zf2&U{V;{J8>NR~oO zl-ZiEj~{E>*DGS)=e@!G>^${_TEISZ+vzYVH*LtPjP=;44@m}U4s=+ji1M+m9>P*B zy17so1Tgrd-xuY!C@__laxJ)Rb{)1uTCj_I1e$qzsiU2o`Cq%DDDq}RQDB!9g%;+0 zhjh*97$K}1(N(KNWOFLpQ3Th7$8SRVH4rU7=~64wqoFh@AaQ}WiPj?I@13KE1<7Rz zmP@i>Ee!D~Ejn$rB1Q^yg-KHKvznyod>-LJhx{W79F;_qAxo?^V zdu~ZpqApXgBB!k)x^%4>j)o~2fo=JqDxz#cc_b7Bw+Y9eXeQh)K z++8B8v6_8+0m~w0I@iJ)R%879C%}7Lkl!sWSQ{+i6&~X#^m-P&&1izBI-FLp(@=

011CH|3wA3nM3wT=0^4;}uLZ27-@d?&pnw@CN4o@Mir z*4U&z^sFpQpOKIB?noNV<$0YiwIyd*Hf%Z*U)JBCms&=y6rVTs4;)YhZMV#RYQIwo zFWomfb}F#3g2i_qvqarhT(_xwUG?^D_8Vqw<%GRuF(0UpYklx$;=(!vmzy`Whe>_2DXR-zKF{jq(|c${n`Y@*_;bg8WSE<@>)N+MzposA4eA z63bQCqrq(gFBZ7zo7mh6tq0m`&XMi+_x`m_hWxWBTDKrKJL7MjM%k z;qfqB1$!GFpW^NS0HE-A+_E!-#xOaKoe{mtCND*tC2p5O1AlKiV5|zN6yt49d9rZ# zlJ*D(Ht76MGNe;V^&NxJ=X)5GiHUF7k^nTSe!;2OC|r%i*VW>q4u3M$oxpQ1Q3Z95 zOc(spCCSKFTt2A$bbpMTJ(ToA%cy?7sjfU-f9MU zCv!_nH8R)Fil=>p*+;^{7}FbL@sv>AP3UaX?k>$hfIRrp0PFfC`)f^7z2OqWX-{c| z1xeFN37hh}KKJrXXfIENBK=@NJ60ZVYtmq=57TSH>q5|@z}P-EAv^szh}hJM9kD!x zYy}nw1pE7<>Lt_iU{_`-e4Uc6i5W{9R9}Ubd20^D;mJZvXIW^K_1(r(dXyM9e`sC~^|E`B&W(vr;tNfK z4yH80d~rfyrz~5PDP1cxW*SvC4sZaVNO|dSYbc_!CG>JoTeq^QZu!RZv@*9B>wc3h zBAE#M!|47iZSA*JWduVXyOQcO!3?5K(#fL}_s~wGoTA(a`K|e&aBbNW4izngz%NmiE~GZa~Uu;nrK$h{Fdm=;8bt@BKcTYK;3ov zy}7o{tmAR0Pqwf8Tv`g1gUrdTp$fvgwgc&-eBJU>qLqd+eV{*B0(4ucEFkEBp3#r@ z(ND0X+|z(a#^NvVq1iQlsL0xG(RkL1Gb14q!Bc&ueI<Qbqev#QQH^g|8oK z^uBeR==bxbOO8@yKwT_A)ogTQ-Vc~Jkl6Ng)7op*!b6|Fg5!dc)gW+!tu2*|PM(YU zvS3p(X&g|oYd$6V)u(kc=^Wt=(Jy@bp892(dG7?JQ@f*dDKspQ;=0je;!_)y_~UG2 z!-tB|KZNg}f>SckOhFzSUku3*sBo=aSerC=GHAMD*heNrcNccFO0zjY3{T<++Z)o` zE5C{>K~#3dHx>yeNk!3<4=cS`QYYgLbW<+4?86Vin<#+2AH5iC<5CMV(yZIg;(NX{V|b z=xZ2r+ry@|?8?nh<#G)buU3G-7)+lunii%&?8(>+%A-rNOC@=(j8fM4P`6bjLo0

8yk=R3?q#ECM^*%uP;GF{fw=5Uc!TiT-`rd2)mASwYiX~d!$ zu{p({9L&H$lBvI~Z>tVsG-ZbRs=88@DbTGesA?`^&b+J_-n@U|IZmyd+c&ubv&uCJ zJy_yxYhhF?@~*5%g$Z|gaKC*Vi#nmve1+o5to7o0Hjl4 z<5VO;d8q@3*2pm|)i|9`UQw-wPlo-;f(#SnqZ4S`tecy*rs(ATO7CkH*o+6bZN=ie z$dEyT&j?Hu^a|Bf{h-K4;?#io0-6s3U_~~~z<&5HYsIO*_2jQjdU5ytDBlVfRHB`XcMNI&i8dhxsl zRb|GrN4rI3>VMH1o}r>;nh`3)2hOCGA64ElvhQ2&bFr;f^uIB>kyVD@8<}xni0zN{ z%fJjnK;&#*9Yz&WUGh42dEEJlo+CTSw|F8QD0lWNiB+Kb%xhOaH~%u+!zaAr*IyYx zHFkE={tr_^{ON5H#mIs0jNG)FOEga#{+0;3wBtoh?>h3HWhk5cA`gY7yXr4zz|({~ z1%-u`e)I`96CRCvXNmnh!guH&?7Seikxw50odTd2B;?Lw(xqbt;L+S`9W41(=;3wJ ze2-Z0XNKE2facmy#KPpj%`1N*PD8#G4|=zEs^;v0qJ3B>AJMbHgs)1IVBMiyB#a ztK-!oWGMp2BM%G|E=1bL#Knm+Ba{$}aLqW9dqroA{@>h57+@H*DkO!n7FO*~YZw5n zz7u$&La;?kL-ZY_Zdw-Wp(j}gltnZTG(|wT7u_X zzn(@m#2+rX_r>K;AehSpHxx*)ARdtXSE??#HQ)JOM(4R(;L&$(9qa8vF!y(|YtDi6Y={Wg z*dF`KMwN;rR4wuiXSkpSlAwL~ZwL5UNuea@QxVH2EY=phF9)T7MUyONne;q`jHH&m z9?{lar2&7#n$evb6M~L-fJ8IvWTaUgz?z60`XnDO4gbm<2lBNj#osQd`{1bq6kYb_ z5E;Z`c0WliYt+sM+9Mx0&}&s*g6kkLD-{VXlRivRd%^Sj2lrDu1pTXj`;NDZ6L2`5 zcgiW9aN%-ChwX#7@;?_F^{<~-c-g2DfH?g9$%z=AUw1>gf)~sA)%_n$_U&+1_uT}}YIpHq<08Y3w|GL^ za%>ehC9eR9G2OsU2Kn=~qaPE$ipmWBg1aB3je#BY)rZfeV*Qx5D0@|PpYmf$ zU#1NBKUWz^xPl(-unuY965Lm?ljlBp$`;F1`=VZm#F*!=V(RF}&;P8T6uBmGkR!P& zb_AADrMlQeW#$Ncjb}R)_J=@WhwhbgaKY>yEnpdf-dZy*6|vX{!X!|c>08{sYDyWY6?UN8Sh+}RD_hf}$Uni51(>Fb z%XN2`cW@<5dCKN!dl(x4vHJdp>%&P2k&b^eUu2Z~!?n-N?uhVf?*{4#0#_5i!I z1zATVi+(e5xptN((1y1VC{GZWmDk=1q;fUP69~rulUh5`df=Zt)RJ(BB|i+;BfN-f+@8i&O61Q^OKcv*el> z+RwFd%w5!SudPItFNy&we~UX~u|l}Qj?^o68SCFG(g+oltqlqjMKxH7|ELl_LaWp+{rctK`W+9qFn@ezoZ2jx;BN7PD~*jz?*WGoRaoce zk!tUd#FsUIH#KFH0u#4gS%Di1mayVDfqO;V2?|p`mc@>P$;+d^#fcqx-$u}jO*b5f z%+;Mma%e4$9zJ63y{_|N=rADVT@WqR+x0uutgz`>+pI;kPI1J;ls+YCniD7Nf#xI~ zaUHA+RIFj31KpA!NDctCKD?U$gANeu-$cFApX#Y!nWaJw1D_YzIUfQR+hk6@+F#N2 z)W-V*aG2G>F5-5ggsgf}iN(QG!#b~Autf%`xJiChnMQHi0RY@SC{^e2K}~3`VFmUu zQi0M@!aY>VO`V~PE>rh2a1v^`SJac4 z({n;k?;uZkFA^4du{g5+km1=s_+V?DuGS3Xfj+{ca~VWjyQzjj9DjRlF^aea+6=Hw zGFcp{g-&>q*T5DA`QXrM0>=PIr5sp#Z4!2@bw>1o*Yal_{>671h~n&=CDk{pFNQNp zeTSI-`>cm0pF3NuO~(mF$}n-9d5hin6}Qy}y$CD^KR!4EC$M3l z5m=@n_s^uc?6CN9F)6ckFTa8bgVg6pEVdZ+y&~oChu_R-4tVk2y+l_kAETq$Nb(2v za;sKP9ZR4|yf>yjiu}kMprV5Ss=|T-IOP!g*`>G2va$gdM^#eQtUx{izx7gX8UB}r z=n5Q$c6N3uhnH=!XT$#iO#K_qx%0tS7(wqgmB}gZuQVO#Kn+ea{o?3+W>`9WsavVj zx!dx_e;DZ3b=KeZys5+KFD?y|UHWGtGk!(QJSV3w>Nj&iQr-CUydm?1@AzxA66f`u z@$A~%09C2|7O)PZTvlLEGUy4|0~|TPYD3&n_^mNB4M@5&q;)vAHq*9 zHaq0!m9A`K0FXqyOhi{_=Xh_*l}`ReU`?hVvLwKVQ3*WBagHe!D--X4n|lF2nH%l2 zy?AiB4MyfA#*JqqTyXA66jXRH_k2%{E^Y(6%>a5{nO5p6n#Pt%-?my+b>Kk#5<-uk zie&#sh-0D%oKoGSP*yaM{;8^V266@FYq0Nd5!jdfuXE1X zd^C-=JAFwK6>*V4i=$}nIr=e!EhIjC0ctdtr~aNh4U#4E74+b}VfQkY-tTV@8+(S` z!vlCh0O$+@_Nt5};HSzCM@}zBw2OGus6NQ_Ozym)) zLFGr4h$U2oP3ynNu%l1qPfiNFn1(AQVji;(3-i!Tz|hkMUh*Wv@>78=SZSq1_sYH_ zrZ|*a#1y7*On*^2N3i%qRjqP6_dQ#>LWAY)lbd9@u*}-|*5$=dY5{YCL!}q)HnSSz z;F!V+Ud)kS4v(ou-mobUQWi5_2AF&o5IcMuf2}%FizSQ zY*~?=WkBUVSPjE0bp0aaII3sP7)!RZb!z1V0y{C$DT#o1BDZ2Nhds5$c=aqTXMw%i zdQQP}4tUyOU|UxpHjxk2>z&}(o--OpCIym0N0R(86UNq)gWJTZp3R^W%8^8(o8G!Z zjNWsmSEswjIvCs^Jh}Qv7uPx*`}Jxn|I;(+eN@b4@(*qeoju+BT=N9YOP}w!ucR7x zH7w4>Xqsb(ahg=`MzRhazWi-!YAt%a##tw5_Ksbsx+-gS0qf-YEAp7hmZTqo>gu!U zf*e`NX=#X5OjdaP6Wwx#>q+jeZ?=1p93!_pnI@Z+l*hP!K@+jYMz6L!FbHgLn{Fwv zAxkI+|0nGf*PmV&atZ(p%Ig96jIVxLv!*bi=&ks%`Teu)JNJ z6qaI~kU%4xNJp$riz2&eZY6crLsa|*LVTM>`E*nm7elI_irX}s&?VEB{bRi+we8Q? zccnI~I(>{ZSeBPvMu_fQ1!Gl@czE6&7i!8vYxLf^9W&b67Q>LP6-{t_OZ;pU=^%!! zS@!v%+c5#DQk@88*pj$n3D;o~IgZ!HSPKf1f)BvA*nE7di$|!v0Awsm%K_w94IVp?jl!HzMsdBGDG85qM8a~B0V?3Ya^q|O`FAX1a z^q@-#M+_--n6}UIR2uDRlunT+&>`?hVYj=KeXA!ct|JC933i&v7gui2C}u4OrJmR1 zP-AplsV@PizTKj8?Z_Gan{O3o`lT%`0B#~e(UbCH^oymgud!WCMF?5D1jq}Qt$ zl?iTz;?x$!RY@G>i?6F*rKWCCY7XsRmkSO7p2>0V(Hcufq|^K89_BWM?|mN?db2jZ zguUc^_;s&Pup@DNrZ6rkN#amnwow3&Y?!{=+a8x(nTDKW0uOUI&n>t6BevI?7Xlcy z`}1G&7{V=2xGp-oi2VVu!03%zH>ZBG?}T~WnQLR~UG?u|(cV7T79cz8#}nF}oxYLu zx?lQ&IXLkw5ET>ZM5bG$My*{3;n}w=z~^q9q+ecI8oMkrdK-0n&gR}I2J%%86YA9& z^!Ni1AK>~Zk=f9!@WKfU02s|CpXxTYh$9X^%ML~aBnjOxJ4U7Tk%s_xO`F#w=)kw0 zg$q29F>*(Jq&8zmy-`UB-d|{ND#P}WUwhkR)C!Y`>lQ@V9$q(%_iH{yXUf3R;i!f5;SM%!(Q5lS+Y4S{-}{Ouh@k&8IS?H*aLWA3 zIsO;sc$M#GjtgbrLU!%he?L;Nlj*IHoCbZkZ$s>JdP^s@qmaHd1xI_DyptZB^o|ea zy2Rb0fWqFv?LZuOvNYB>LCf%9Dn}V4p#Z1iaAn-f5%z3GI$lpsC@T@Cm1!NRCPfq8 z$z~q7hod-w&JDS(Et&739bLgX%2_YS3G$Q&Rt-179+AOWw1W;TdTE>^dRJ0}l`x_{ zO;_l+j9(Lu&s)GBV{>?{C&L1^KGNbtirc2h zF-PyC;NK=PY}&5FB~plu8xOFa+rBTxzh#q&IAB|5+A6wH7I&wO^-JSnejdZUACH~u zPl>mgSE;-BF5f{@araLK5AE5Co-0qu+Ce1U{f+gsea+g1kFTGEnKt5ilyMamV#Mhb za?#>PIb2xMo&DXL`(+}D5G^N8=D=hYM*wJ;4sP0B(h&lal*cTk29}Hf+f7Tce;Q-w zp|kjFQ+Gw8-#3c9+DACTI?tZMR5ZSdSbPoew`Ujn5-P@zCi>ssrs%OJa`c1!^ItJduTdKTng#1_lZi zAnf|H${=Hd$hLB97|nD8$4~os{ie7O51|Fe0axxk+ptzf^T-? zirEQ}jW$;qY^GJGh{ z6iSWdUHT%)L(2umr$oiCIrZ2?5E>Sa1Bp?P|FgXb2g0-h2#)Vj|IIPlaY}f`B^0w4 zlM@N}6a{WXF{!d=*~bEOjzb`?B4>QiDJh2>)ee`2sdtWQp32eCtZY@6x!H1b>BJo> zjnqdTgqg7;O;CrrEd)ianTTsHQ%ZcNE=u|_L93Hv{3a@V7*67$iGU=tjm4;CVMNu5 zG9T;8f;otSA2>hT!NH4D)F=cLr{NHf_CNOE#7nZbC*E7VR6uC5 zc>=pzDrX{qLSyDFG2phF%po_)ZP{rq^lCE@{#j34xQKibJ96NgIAe1NHL#FZ!wn`U`ItKn`RwR%R~DsnL~uT z7Gmk6ra3-xadVGf5vgF?vW#OeMDQKrUg5IaQ{S#`-}%l{fjf23D|aVaf=#Q3;I@-IgRV-h^t7J8lf=zTi#tYT-f zCcPnnfj%O>?gQtA4HuFxl=&aw@PsQ%+(;V4ZJCr>wukC$#dyUIwX@z%h-KlQq%$~l zxXCM#SSs!pQRz>|T}>c$l)FmGYFdQTb~9cPQQ$_hACY7PJ-Ld6q|Zkv1w?X3%Z-9+ zfHr?PVz^5etyRFb5kXxs!g76P-8a?E_&}f)-Z}rM*O&tqyOzx^>}2; z?}^f4*5yz#M>vz0je3^znDGM)aQGE*#1-AnkkboRT(0dQ2p992pwZxlT{~12gw*_m z-qr2B#J%0UDcZNGG;$Kh+@><0kLOmZiM)AX-tO(u#8Gv;2%xaNDHvvL$6oi7U%uz| zxzbAyKDWs^b>q=Zw@=TBNk4J!yzB!&$yVNkkX)U9wi%u>4ZhgR)|}~=cFp_WmM!+s zN78eoJE;N-yr>Nravrsx2-;2Ddt%Lkb1?TDJzF$ivenLU=7hy|8MZ5RY^wF-C`8Ri zXed3~EK`Y?7b@iu3;VR1LKqzo_q2?eruDo8rRUJ&B*%O;j-y$ZzH`{zT|PuM2_zUMicw}o#+VA8d)2cwDoyTR=BC<8wiq@$xhLnD*s-f<->&Ol#7t;HT) zOlYvF%SSE_!&hKBkg8qGzhtBD97@)GwJ{mn0p1`L7IgSzb8{`66K7-YgW`B+#Pwn!8e3NFD;%-FcFEZ0ssV`6zJKYwz8uwOpjLJ0C`eg}?7{7o3usJKTTy?r(rS^;Z8R6} zk%wnI)Z4=7xX*+=-<_A?Ajne5U5{6jn?##k?8`)kTB*tbHS}P3} zS-Q6>Zr>R$fQoLy5D&~#8N=ykd?)f`&09MOC+``n-u-L0l-_{dlJ)G}LP+b&B!e#L z8gbihlxUXEkFA=P+faC1*XX6~#+?$HPVc{mPB0kE=;5j8vp#>O_a_poCcM|O_@~S4 z+PK@)(b|yxZZVHDJn9Q3#1B0=>hlc*^w9kefDlxFQ|Xkzw}Ub^D4&QHj}9%nYvB=T zVA#_*Lq-{)6b+t>ac%UypgGiV_R(xiVGzk1}?5bR>F;uM-EjV#jvd z(r|Hc?G?$ZkRi8CHqo(VG^i{+!kTwc$GAv$@(8)~5`~$C1>=Yddy&k71`4%hlI3gk zeV@g9TY{EwtZ6aKItMbtM7%3VTC(Mny+Ge6& zOBomAINcfU8`m36vP4H-10Qq(IMcu(6F-307axWPv=VGDE-$()vcalSD^JxVWeElC zmm2achTcXyv#L#nYBoKC?`nJoFxToD0ft``I9GCnsr-D-y}qKoOrd32QA>&46hg1= ze>dneNY*u=omnn}M+*gs5@ z*TdW>B72MHK6|r;sp{ob;R+(SX23)i2$u&e?idfEWeo+s5Q%a=G<^tkjJ7@jJS@ zuFXA+5F{;KxjX@o7pO++>_tOOpUb?D^{K6piTr=qd+(^IvhG{7jI;qUfdT^BCIkvZ z5ER8i5KxeuBrAyI0!c*>NyM4FW+~rhj$=&%|evw*e zvjvwj$@>AW)Yh&-7Y~iAst^83z++UjqKoH%@%1`Ub8_UCINy4G$Zn>K0;emkFrQGD z=T<4PA_&fh@s~`yxuiNjOcDMv@UWc{&flzX=m3l6kP~uHQ)}E_S@wt>uocS%ipDue}n)hFcOl$XVa@v&Td zALRwVAxB$k#)qCcda30L-_TLy_wu_XS|lF0uFI1DIvOKBJF$-8?Dhh?&x1$y(n&g9S#NT$u9k2W4Tns$69|k)FCde}BT; zPs5_HB+B#dkz>)jN|bxNxx?YiRzH1GCpXKk(TQ-c*(8I zl6&&e8*B+1t0jNkhI`GSmU>4rzgemA5cPN?7W2@?47gz}D+XCiwc z@#&zm05&{cwAI#g0l#5Zx&lk`N{+ZFe&BIXnvbQ*6ONN1kGmXQA_SezaGYe0#!Y~! zOHE2JYhAn}Y9(<8ve{eNrka7Y(|6C& zsGsff32^zCh`ZJBFZ|B(Z*>3GTVED_% zl_E2B4T%Dm3056hRV=g!>Z?&sI|Ad{wnlx=;rR;Yz7xX!<}zZVF}2H5-W6bY^SOH@K{(!dgmCTsM%vst*{xyWG{7uEW27{DMu*v zE`K=Jhm?q^G{qf-v=+_V?e?kWd2^VV%+Fu4Qz+>ezSqjr2*a*j_Lv(^vQy znW1KzCkI|HaNIQ?J;*9M`Lf02BV5oLb>Z%16$LQZ4d_p$wG8blQnz`p~Teh{x zSr!DxO1vYPFoOK1`A%=DxF{gJw0VtUQjmPE0I$%&(8>qlUyVDn)*?5+m293tp6)IZ zNXyziLX!>O7vbfXufsgHA81EIMS~2@$zwbOS{uUquX?K|27`u4M@>~2sG-z3eVQ7& zZjNN3tX31dP-1wE`XX@tVeqbfkCS!pMr8aUHUA2H&*sT+@#$ks86NVWDfY zU)J<3kr4MzKdRwd;>$OzBhl1EZSW7XG_Ao4UF7Y8OZL{OwXB|*WC_p5Vfw8{nh+E1-e`~l!!^Nd`5 z+cfkB*-kFLFLl2PBp&v8ukH`7H-#dYmeTA6dE|##2GQ>J61Pp*S!sWEHju8{ zFN4ZfH%a)|YkKvV@%ke}FS2rTHO+B2<7-L3h0l^k#l^xtvWeJT6ee&WHcwzI8869D zSL_c>LsE3}#U*&H3!rJ_#@bOeVB7SpWUhdzMhIzNf9?AUzz5L7tYsxy;+h}o77AjY4+ zJ?}ApZ~o!D&%FQewfHzDr0(8B_Rb0hCmUj^qiMWc@WJ>)4BXO=vTQ`p zo0lvMwD}0>B~@vAVI(w>u;RO987`z8nus0V2Z;nF(SJ3~ln^ycfb^m4BiBL3*5S=v zv(n#sN<08)ujkl6OnPsFlqwEF{o#^$P{X&?5WO>|cIG5B;$l>&Gp7lqXTzB{bSG;) znyY+`qE|F^{gq>t%R*Q1yJzoJb@`4|z3JL%{w4YDKzx~J0ey4mTbS@+JyS^J^?jVW z%WrVcF*6brX0dOQldHOqvdjT{oA8vZw(LG(+N4=C1bA&szT}B*0;D~0lf~yZ6d6^0 zr23eJjL)N4ysJye3mc_aW8^9pkJ^J0+`&D;vR2?#c1fK?UVL$oSxZ!ZL}nLAwjiz* zSogZ;pIIJ483g{cSkEpm&ln2%Fvvx9mH9J0`EdVoSNP!WLpB+^T6*xCrAV!xs}XOV z=MOJt-{mq6IV|X<+Km73Zot8VCdv^nvPn%oqO$WWz&e|J#gEDXZF^SVMnEB}=EY~u z#Z3WP519JLesF_?8UbdKjdnN>TJ2`orGEs zlp_D zl3QWAn&DlSzP@qt{l^A|BeCOa^oAWeB2+a`=jG)=SQ7v&mL}U$`^{_y z&D|HIv$B8bVE;ZW!XZPFO$jk{zWPdcL~K$$5GrWUS3u|s-MjrKot>S5;*`=NIe5@R znXj%wQ|O`J??!VRX(pzoO1a?Ba&30kr`u+aP5O7Q;`lq+Jmtg4H7^7KV{@iakp5!* zN6ko*!boSPe4V2THW9})Z$LHA(!^vhoJ#Vny1PiKRYgXU1v^)2LdV1=o0GOqu(c2@ zf0IibpwvlpdT?(l(G~*3L>gFOkojhxz!MhF*2@Z&uvkdXi9kgI@rFDxh;`8?PQl1S zUWkNugwmBvh}s&Iv9;p3S7Rf7wM8Ea!zmDL?=0F~_mU;KRD7(JN@( zC4X^a1+Y@Oc}=Ti_L13TA{hE5LnKS6$nC&WGvs$d_utg)61a2r(U=1{tTZ3Lc)4=& z6An6#sD-a2uWoJBlLwnIEYGjfQ{p}H)J8qGt+#4x4QCcKsRh^(j%pJ0GwEnaUXd#o z=E%p}%zKVe3i)V&W!E7roo#H1#<_5F-H4G&I2$Bj+RrR0GK}#u=#Ej*&=3a8A?T{} zIaGLpx;&wgTN`l?DoqbeO;ialx#Lz>=OzDlNFWB_iYc)_7CSu3u5PK?ui8Bud(p~w zcH^b@b)km|fnOl`U{H$gE zS7`BWv)f)C^&7(Ix5|8-D}M_mRub zj+@l(7p(-$2dEzUh0b#zFw*hYQm(EDd12!h-9Ccxg4WNjU?l+>_I91P&cF8W$Qsq; zAKvKqi^j@GL(z;Ia)yR6v>k!4sG8#Q8%ykyGxGU%zk}Q{`ATmo&4Q#q|`+k#i=gBWh^4K2Gt*E*KfCqsthTi#JH3Ya-$8*Rb)yVc2^9OkvR)?E{s9+ZJ(A*u)A z&@aHPzisd;#wONqH%d|dl7{^1(fx$o6DhnwGLAN_lp{8_iEc%4sX2Ke7u&i2F?0@& zA`DJmHSSiZf2GppNutF1FXgR#-bqo!^z**Ai zstJd0E}ai++$Z@sK^&jQeN=d&g8_dKg7Q|jDIQO_!1oM-DPU#Q1Po@ zXSwOtz@gile@H_AZSeP&!X=bPAfSW#`Xl7nxspDt*+!L2Et^q62Oh3`_mO}9ZU7en zyvobrSw4Ch+GeGsrQL)H8FyeR0b_gvUGqFd%nzN;mjRLMw0v0&hp-!UCIZpaBYq2* zmbaY`?ia&2xo!4D<5YCH>43& zJs?OSz5wiCG-*?o1ecG7R*lzJda-n~v$H%pIf@IzZ8zoC0Ntt>SUq69HrGv~bf+AP zLcEwAK0;{&h>Sy8R)~q4T??qoAs^RKkza3R z%J>&$lMxZAA;ZIu=Z&NQk0bwxfAyln zc;^x{l+4sGc7vLRpXlV4;iMi*U{a4~;qJ5`4v2pHG&MA`q4|8v^R3C*pTAU<)e{CY z_#mk*h6O?hV>mnc7D)O!N#(_RvCH#gDaSZ~xsv=BTkGF;U_s0z#@Gg!Z7IjR-(_UO za9)XM#aN!up1fh_B@B*KZkp$;j`Id>F9-n(h{mQSSVZ&Ck|1`ys{CZ|L2+|4vpjeL z4yUg>#vawi4m=o1Kj0{vl$?6Ka_V$I z(b^1QTEh|BTc(|3pV$iE;ysQgcNAbH`qx{vZ(^~iUs8l$J(-d?I2Kj;O!RPq!Ea}rWhTMEIEHc4`*xKXtj ztZXxn0r!Vawl(8L229$&h4qO( z6>toIS4iz%z*wdyC(AJmbr;is5`^5RKo0>!55DxS5K?Z6VoOaCJ6s`QK|#1CS-}nn zW*@p?eP7x`ILr!6$u)d|yZ~Sb?ya*ELJuaM4 zob?9B6@i+;%bj@-g(O_bzB+KV19A0u!Hm49x^J!rqV|9t2@>i_n7fprW+Q8uj_mhe z;QlHK9_hq>x-{y{D*^~ow9pVw!LK%09q!P_Make3F$&O`%ZJz+a}Y>(9qB(l?AVjujZr}_MUlUcNwg|)rDh9w1KX_ zZIeqq!I0o$S?S@r+3A0tAl=o15^gt>|HFLU+u#h1u<%7+PrD0yCy=>cWD*vLIDM!W z0cYp+E9hnoHo!2>P&uCDJDR@T9GG7SrIYo{nKSU*5Ov-6uzR`-qme3!nG@JQ+EtkP zBAOb+$v+KP?HNpH8RDq;;RxO2SCoVR^_JZ`=)1r>0M7c;5SYh$5w5RcueQM@h2tD2 zm^%nvJ&wK+j7vk04~wnaxb+#B@fJITxtcdQF9IFF03BUbTXq&K!l*&kRDqo=H>9#? zl$wA>!#%t@gB&}}7*gcVd;>##H{iZQ_mAu7ta;GmEU_jSI{>M(jxvK3T3|DPg`?GL zrP=GIrm$hpTKC*0fWJJ#5q$xq|6-0zQ6P3utKMlW)Jiaz+PB-#yhP4i71YZ&1+(?j zAP@o3Oox$QU5{K%;5^)W4|-_30h$H-uXSQW(eKK~{$gDGOQ!MRj915E{HLqKS+Hp5s~VF&j4wuyHMJ+G9QzO4^96k~hISJ+Wfi_lT;^!i;Ft6qJM->55>jI&-2zv))c+ z7rh&UH4cNN0|xv|gShZ>t|YKlp;XuTX2z9G+=ywgIk!A2Fw&DzvtiDb&&A9=!jM_D zaoAny#V5zNueGyzpOImq(5#!@CLd0Gt8sy=R2#XU*5B_*-ZR0rCi2Qq{EMNz8&H8N z^+64P(5CBJTTKqM!5-65aqxVJjh57;LwBAmefg+o4D3eXLA#+CGM8Vy22MW?lFV_# zr&3E!PfAUZdN^@weYD+E{0=o3tE-=iQQRN1=8s~Q9=f{g&w{Dw*j|2vyLeG`so?ST z^m~s-=H|AgbLjstNN&%*X7EMNbO^Zdg{55^pzq?Tn&vaeFsbq{n!PYGq)unwAm@^v zWz~&c&@#pZ&$Qj_W9XDxn0(J5eeg46a>Gm0w&(JlFR$w^bjhYI1r$ZA?utbvxnh_ z>1=q1bb`^+;@OUNwP$&XSueX!BBDNo-!Y?7R3P1+aoX$RtG`kzuZ2QG4UIi2DJZT- zGAcf{so!aG@iY{dihUD)^;Wo=J0A+z7a=r+XMFKho=C0<*^TZblzngy-d6&i`}rel z^-ErT`3C-$m5U*F4g_mS^6i;PO@)4K8B8NfrOEp%48na{_O>Y=vicW_uh0dgiNc8IE1k(mORI}c*uU&kEAE~R z#4%BzgF>Q>x!HGjBO~dStac0ws9I#lqI>qdX%l|Cq<`wEuP^Vj)+LKxs_^Fx_Bfom z9b{f`5@v~cx~ZA!cE#92T}n9OId_&W^nKCG$!PON0-Slhi;F zNFOpX;Ej&((&`0mLAwm_GMvjfg@weEP7J4QzJ5gH&Dd_QhDKYsbAaZ!IbP)>9M%c0 zaLHxDUgC5d86K`rY?=n`MMCjOFCkMXCu?2hJT^2q_)Nrp*w9~82(pM;<3l%M4x231 zU64_z0RP~Y+S;qe1WC(J(0#=s#Ela~Ri)tHmc+lipv_T2slk%Ys{JF(+I=DAGq>RW z*Dl_1$oz9vmKpSaDM_uJF|~urI5XS@O&CTlWxkfDvprtdB5#7lA`PU7nRN-F^P%(M zCx?-aJatlVkb1OhG&>GACe%&?a;~kR5f|=|G1+9arEB&rv=BrV!+it6_uk|4a9oJY5yc{eRT* z!2HPDyRyu8hHnqI`lQ4Wf>;YQ4FBs2eBNW@+zfoL(6htOz+-7(;D+c0FwM;{sfz}Y zICMs%40DjTifyq$g3u~uf$z$jt8fj<`U(o$4JrYOlSlG2TpO?G>tjsoU&3V))M!P; z#t1bM)iMzbw?7lZM$9Zk#OqtSGQUFOsG$_dqOaUgSq#2n5*OYcpfwF>&`$Ta zecn>fo*}xAv|FZ*_c`Q(Bu%uxJ9hh z-;wYGz61IXJ6l$i;$xizF3p0VjMNWjHfMXUiTpiRSuGuCf`Q*FG(O_Sm*H@k{XOF* zJWG!6=or*Oog>lby{A3yI}WWvDSH&Zd0NA@Vj5CvGIx_Wl;ggawHsYpREN61*IcNj zdVS@lEX$DBfEE~!MvOHfvYdYtdci|ji36=@*s{)k0>DASr8b9{YAM3kcbIWL?a3n| z?_HrqU}gf6YzM!~zF^#lXhK|1+*+K3d=yGZbKkdvg<$H_QDdFm2vw+hG@FF;(@puxeoah;^?r{$feh)G8)Pi`>TGi2JN5=n_Y z*DlFdv>2_YLbV~+QFz4&_?@ec z;nC-uj~0wA_t?y-C6FUu<^~k+`uh_^*oWf4F`g`iaNMQ;p@H0}Z$k zx?Td>IKAs6AgADTUJKai(OiXRJRa#AtN--B@ zMO1h~gf*z3|ING2a@x&j0xY>Fmhmz}LRX_)1yjLTcX4r1ksI9N>a30=?f71&1r9yY zazgH-EMMVEN-UPCf8MRM+$uC?FcPZuQZvAs`W4;%+op%p_ z3LV^IZzgET564!IUsK~A>XExY1vVX!4z?EKX%L}DEE4q@g%S zhMEw;;IJyue(g@ha0EqFEClSKbh)c8RtOb&;`^RNv~$=!>%=6#A7I}#X;0WCA638H z#(p*jP-;Ygc90WGdiBk2-6Zrn0Ji!LkOE6al%tRRA&Hr$1T=HLwQeMT3Sy!b(dAam|9tMbT z*0ZDZ&j|I0(DbGB8dSmxS>mH_PqIeA1RJpvj+F2F2NBu)(~(jSaGYv10v&&qS`~Bt zC%f?H%G!Urv1U0@`-3=H~Y{=nG*#^b8?KWd ztd&8wtY4luvbpi>PYFffjyVp_7pnpGk7)N#lOo1!6zVwVyYKWgf^7*acKmb}DoHis zBdveVO#X2h8GThK*tYlhRY;JEr^x_CjDYK>VW?ve?07_CAsQL11N}!KF@Pk{1v;;W zxZcZIJ!MxXD8?tAc3P3Pqi;3F{7-YMC`J7+(oG?Dvw^sRpjVtCF)LiWRK?&nxh~Yj z5{q@fH9oO8LwBIPi#TnCS>kZ_WsR7*(N25MQeD9B;)aOJr^_v()`oVuP zUH#9r8}E?7_SkVIh53k{{Z{Dwwj3kvPlYo&ejA2V=YIs6(~Y+B;}*~*2^~m{u`_21 zZo$+N1~+JpdatJtbX&1=3&4b~9CwD;%Lf3OZ@ai<9E+tnpI$)@_(Vd#K@Btxta@i^ zFdW3&7Mc9{xCv@MAASfQTBqPP9RMWMLC5AoYI_V>uE|_8NgFUzz{f0)4(g9>A7dKZ zH?r&HN#w-rHf$dSeWr(D)qA@?%S#=5EKQ|Lj3 z6ZrV2G^XMKi9?(sz3o5Q zG=Y|VYWEl6c(jPM0<}2YJ#BG1#ct5*98ZeFr{}Y~&ep+o!itzT2R!+7+DAOJQX3`a zx7gEPPCiFn{6hOiBXcb4%Dix7JAU;ovgMM^L5WgKYD#S^Z)P8kc&z7vAb-`si_!%` z>o$KkQ%DRSwm>=?-w*fQLU5gE8ndDfSY>)PBi&=N_7MhCpb&xhs+cj1-{m0p&`lJ~ z_}T9&{7QI?*Nl*62>DjWmzR)s#l^aB4vfTV&d&G{Mm8b-tLjtWlS3Vp#wg30EOD~_ z8jvDL{_lQCt^eux3w(^35&^zF;DOYN8Gzy#F=+;F8&g zF*dgULAW@G$MTy&Sp$OQ7T4>|fU@IB4H3g#NHaj7kf$_3ED1q4=)Crmd|M{t)akbF zePh`nWIh{oVk+Q_t(5R3oS?`gIQoL;&4R zo`Q=TrSb-)Ngp`pZ4pm|@|Ivg>&NGg>dlFX>Y(cqu8nOT+nz5wVw23d=hqqSCftCv z{&U>A8Z!tkw2*u+#oy4HvV&iswx9nq-!KX^?3)Aq|MWKnSL&@nusN_@nl@?~p8B>P zKk30S3Q#x;C86o&m$D%vL*Jr~a7W+jyCn0cox4(j1HQ+S3?5~-pa4MyRE=1?`2gp{ zha|mfNRqoCUxpUPDQwgJFz?i(;X`+vb4crjdA^*5w9b4?58v0sF;L?+pD}1ePnCx% zrj6X+U+C{kROH=BFYs^3f%N5;s({*QH4M=b(wYlU=$yX6@XRsUpf0x*P@<|3f%0=S zuG!Ouefah2SZZS&Ms~1nA(a5$g7LST$DY{?%MY9LxCF*}YckmJv=>x03`A1F&g-G+=V6O6g z@-ZiE8xlc1lyKn^A@foEY1vam#j>3%ts5>_?hm%ePDT zY;+;bnzkJL_F)9fP3+;u*AbKX2%OPOOaYK1W?MyAMq#F&yUeS@d;h)~;lAgnoCk-C zML#Ig9*6#Ph($K+WBqMU;To|6qc*}y6g#=^Ph@1pLG*o+n@b<4lx13i7&yT_Sg0i1 zams)#ySd2ro4h&FYNAP+p=J=&OwF{cqk4drj;7o_qUT#?4-pb%!=$M2`m$_?k!8}BZ#`H-03h{{cnPt;1hVUx=Wgc~I5ENEMI zL@()z%RJ4$yT0ClD?pJU{8jF{3A4rGk9>%v+Z{aKGQNYPq-w>#KsL>5Z zDI2%$jVveaihW}FZEy~Q?L1|r)@zRlaoZ{VI=MFe5QVa(e1%V4t~)o2N&Va{DZ5`_nww_P*P|>bGqURx%Jaa?YSoK#@(1HjCkU86?wm z8Ak{6k`61y$m;h$=Ed(}3tY~Co>>>Vlbi%0NWZ|bj)k&>ctI_zL=Pb3BQzRJ$3pVM ztojI0SQ&3>FD4Chw+!oQfXP3uRX0tcV0c5kMnwM2N`MH*WIU1ZOTC+3Yzr?v30Hfq znDu-Ht)QYbFLa{-sDiY;x;|F2Ne3^a?$MrQ8R~VLkhE=4rKWGK`EQxSJ(9op_o-Y(Z!S52;r4#v6#I236z6(i%(!q2VFN!`S*~Oc72v*) zG|?UILe4n^$hzU{vM@epED7}0vrwQ84h{xuE?%w7_^7D!z9mjI5QobB*p~0(7wJYO zV>l=#uoRKwHr$Og#6gANwA@znT6F%Q2EFDMjc>GNJZ)lI4OE1IC~W3WuNSzzApJa> z;CfRmR-KOKzSVLbFyll|qp%VF#j(t6^3V{~SI=FxH=WmnES&Wn|kwLCtA%TY=Gzx9cBN`Hg2}_!x+?c@r-2ZtH@5Jzl=WZ2WR|?LeE)x9`y; zKUN#$Y0&t>s$-($p+;RZX;;FzF>W*-x}G@*WO{>9Y%~LZ`%B=Yk!oSTf z*`WozKNIelFSeV`KYFU~)@ENQxuvlSG=ne4_EC~bg@lCI&p2FWunSX^`dfHaq$%xR z9TK1VsD4`{lmbg|9RfDUbL8aGN8X5MDVTh>MQEzMvGJ>xQo>KC#+~QqDXF|aW~DIm zC{!d19AsWN(p$J`pL}0@&+zT-HNYmaO^#Rn=>f#5BB>hR&;M0`4uSJfiuA}u{fukR zfY5EbTxgmDYIvmJrOStJ`KnYY!65oocWhEa;q2500ON^lzkX_-B2DFcp0o-hAs_nV zOYPSsPjIk+gc1l@ZvD`>`-Q8mKhi@4wyAxgQpwNnXct9|yZ7UoU-`KBjR-CfcFx+C zRV;6DS1L0?jae8crf_q8Kdlhg0DvGL@ix*Lt$)bR0L_7anr`v3Cah%J}PS)s%{mHw?T_w!0@*TCKb0NrPE;9p1oc?z9k8dx{w zBW$~sW%kFqAA|xMuT8){lp??CbJfTnw#+c*c7>|$TsK0*_#v1s&z{%NcsjqgAr-}S zx8kvvvQI|JPM7}CU1|RAB!E~MX^}*DXxDoaB zrF%kpLf;Tp13ipE?S8fO*NyP%n%h`!G#%<=B`S%Z3ia{8$(FngO0+fmQ-6I3v;aNu@hXAhgLPkn z>QTC;>ZJPEuKxs_K&VGbA-{awM)=ss^qikU1@cu~-bl^!&u{(jkNtN*emG42yF&iE zW&TfsgTKrheH1D@_tJ&)sw+|K|IK)E?3ze_?yV&o7nkK0)NK@_RFE{|B@JFk7#=Z{ z0B!>X?Nw`&dMF4J*9)NbZwZpo5Jdib*H3@`8CVh)@=E|i31d4EY!inPt5Uh73K2F_ zB*A@X96n3TVZGH~yW<$MLvjZoQ`pX&UP#4ua6RD);(DgD0I&aO&rhFyTi&)n_Egak z`*pVqRJoFGBs%6DfzP=vKKa8??Y#OlADVEi99h>RPJfa_z6$E9NbVEQvswks%+AJF z^4#@pqwfNolujt9%5yza2M^M}f6v=le$;O73dBY3=f^}f zl%o`RxDa_6$c}&f(90a_#M0tlz;8MI{6NQDx1vg;ZIEiS3xRcb*xLYhe+N^#|&)sys}3!Eas2^Q#7f zxoci)GJyaEe?pn>kRghbDF}}A{e14i$PWbdLqU|+!Q8Ux(*tu~*1r!xWif5JI3GSi z?dblLlh}V42mp#~)3nW#~|KA7f7Gl z13O*hCFh3K{_!Q5!gO+wCyZnL=O=`00r~twyP+rl`~~0%fsA5e1LHq_elQf5kU^XS z&B{N2gGi+{48aHhE+blB)T@WSOkmv>z?x7$3tu&Z7AUjWi!q?YkdTU!6!F!z6mFF2 z8yj_GqPYH8HiJIzOR>qx$Y>_txuC?G7!SR;i$q zF9JOnQ{MWfrY1n{EP&MmHOnHXoQ-JdF)|h`)dhkL^6wLj!H9$PDeFiVu}zP!KpZK8 zCiLA%EmHpKWW!T!akvE_*y*_~ z^@9U^xyS>z2q*vpyx0V-zDZ35t=veA0u|coQv+2K*?}Wa-GH$(h&ZR0g_q+L@a~uP zw&&*5E9*hWr=(z^Vk&afj)C*37k$^uSFcKmk1s*DE?CmK8sOi{Ja{Qh=_6>qz>ThF z{K3Z^1xTA!gr$hS4mE`0W#R<#WEpyE!3Q{y$oR_me2wRb){H?aGBZOG-xt^5z7NR6 zY}&vIXdNCmlfPqxgWl+dCvBAK5W!?KTmMNh-!1bBy0clC2jj>J1{5Dr#7qa<7F`^; zQstHhN*<=O0`O^UaL{@|670mAi?3HSUY&G+n*@kp5#Jxg3`6eH=5aa!Je8c1!i!s2 z0Dda4yI}In7+M7O-WsEg_F{tbLR#iiHxrXM(49oxLm0;`p1hzU*~6y?Qju#kDkWKh)9a$vhK*K; z2;s2Vckk?czIVKZEHLRDdd*iS2l!Ozo|(%$3Ew7qOp6G;Q29Y7MS1dN*ZGVMR^Wh@ znwqMSPi>k=X>vjH=ojgXIkW&l4`MvgHTxXi2DCS@Y8+SQnCts-a{-ZlA#=P!>$(Ln zU(r}i$ktfwbf4c-3AS0=jtHR;w4(q#D^PjU1jQ?yG!@_}+n+#eb9RaD1_E)XYj>PL zAJBN?--Gar-DQ-2)M<0`tv)donD!!;XXaCt`8|5%sIU^b`K{m0f zPQ4;rDfGG!gn8XXu2kWW4Tvm`IT z*dbI#S?ba4NMjM>gk}@+qs!3VN5`DWO>hokJlKbq_vQ7Z9Cs5>I1Dhz;b$lF*x4=h z5W~YY;Rg;%`}u^Q0g-D;IlA2kM!KO`l{*tT<^5QNtH(DFgN}2cD%7J_9k#);jzTnn z&Q#G^NH^}mT952^5hVqJk04oYH-sgb65P}Kd}=L0aT02rLN4O0>3Hub+KI=|y^M=R z?|06wl{8c4dp6k!WQLVYroRF*jR40ue+UR}Z|A3m3hSf-&e%67M3;nuysSEJ!rr|XZUi?8GtfQhlLuI~IJi;~c4 zUMON)QV4pMHBhA>OaaL!qb%<&&Mpjs={e?UkOiJ~Bj=z?77v6VG3cZ>@Tt%H0<*tZ znlIiAT$GkqPl4_GY>w}2xMw=UGql4piz(%R$$kgj=XX=`^PJ}rla5E|+Q^gzphOVK{;qRcAuzoV|ZtDcu4{I+Y}f}O-4vtCZf$i09+#2vfe|OzRGX=*eM=g5DqP62-BRa;#=)QWy}0X4l`s;JM1jL??t7`Ap}g&!*|dUiv8^c9 z$f`6JOS&{0bEI@)enxxGS!BBbPsCFT1fbx(CV{#0o78S<(DjntiD1+l<9}{?nGQ3^ zx7WyMYZr*+nfUZ9!jQLt9ju*iavC-ylgU!$CcS1RQsyPvI|4-LZ@vm-lZtm}nz#tX zfbGJ%Y=x}MRD2~Oe3>IsRK7mUkW2l_Goz>rD1sz4UxWy$fP zH4ff!vp^g(I`7|^pNIOYrLI&lXkM3ru$)4NefZO!-TZ17{Yu&h15YSB)HU?woA!;n z^(U6w92Z4f-p}M?+$Qo0#g&CACcWcpB)NnfT|iZ77abQ2=diZy?3VhXoH?Q?^*;Yb zm3XLnEw6bvm3jbHo)I_@}=syvM`t5;A5ZL~{C)M7{*NCYfeWH+SpBN{X8d1^g*r2fQ4E9CxW z@9kzBig+m7Pp0CPh3(ZVA)8hRKWj<^P4Dd6bqw+RU!-?PErlBQ25-v%I@oY*LAwoECE!B*ILW`oLTJZ3#crY_EQ5^_Z6$`M`f;-^Qz>X_6gfnVpY za2F#&+dIi;92h~JjRP58)JWI#^i$@F8tfP5&m}c%F%f$b88sdD7Mj%H%`y#$U= zB-bIwEoG7rNVgHbPR?jY$TItgkawdw^O%`Egp0Ke4Gqi8eaJfH48N7q;-&JL~1u!5Pu*ntL>cAiN%C_)JLWGK=}}g!oANFr2w}RI50e49zI1F(Hj|P zsKa)nj#9PAg|k5T1u{^n3)hJ^soeo^n$@j|j2ng4s_ExStoiR-lyr=VdN7+N*`0#l zQ@7V+;kRrTv`iMc%PZZ`Dp3+z7Ei@%nm>+UWxgdYaWL5^O#``OLsN+rw4@I7?n4L^ z0ac8g<|n1+TyM=Ue3J;#RFLx+e{z!D&R_V?Wv7a4SlZaH;v-zCROkZW9K zmo#2(FwFHS3GGIjDw^EhQ$XgnTdISEm8Yn_-TtZDRB?Fnc39^$@wW)iOnvF;$R+EK z)R@c|q)(tPWM#g3A~0YPZ4T$4tq9YBW&S8|(zTyi`mz&`rs{dQ6>3UBgN7Knx$Lvj z!V$%v75CY9)Ladm&zk!@Z)r{ahL^E61(`mqcg&Lhd~8hG+dWjU0Kof07Zi5M$pP=e zmAU^8{CPP5=MV|;aE*LAe^~pKtO3bUx8t6og?gVq(;$tC%N zcbko@MEJ?Yv<2FY0&-GR)Pco^ktJ{6pW9pyR4uxO9ikavpzx*|lEWg1zXVyht3q0T zLa+Cb$Y}!id%xC@81-`Bg~>;_j4bKOrS`2;^TT3!uI z6Fao5A}Y;1S;6tZ+j|9jjD}^O_5C(z%rWj)e@M`k3=V^ejt(6dtw8O;v1yNN5Fz>& z^uviW3d$maw_Ep{YZ9FH0Fr7#&(x8+)NT;iq+^MBASN9HdMvP*6H`-ZOUZnW0arJl z1glH5H3$+B9TK!y5QWR2d5eVm8Z~6U>kY*nbp8lj8nE)ogI1H4x4WNB#jG6*H~^so zA{4l*qH)eW+^Gcy_b-%fnTWPK z-g;s#evkewCDsCqwiDhcWRUBb+QSjEqnd~s=hC>W?%;%zr0#E^L)=BH?79w0%=x<{ z%1Nd|L2y=#ghos(pByO$RWk7_3vtu;>p@(@YN`Pz2qE}L)XU{laJkcm7R!aYn-{VsdwLxY|4nN8pb3 zbrN6=kqPvFAMFu*;CcGinWSXy*Mr{cJ-o>bi){{GA5p<+?*hBbhIB4J(F)3T4wKc8bY|eI=oTcUY$3&W@N!jl@u5lObuT%z1B#QGkBFWl7cTciMg1 z86c9ySY83eC9E;@*9JrUl()VKAA-=&O@fLu>|HV3I@;Z2muIcf7tm1eeY4H87KISU z+Bc49>H!ZQMj8-}xveDkn_9B6-sV*o6i7gDdL2hQA4^pUn5tFgpk*i!Ea4j4QcbI& zk!t{pK$qZ)ER2UwMqf+xa5;V!!U__+KYFghij0fkb+UqZgZ86E%l$%}e+`vNw!{y- zWWPcpVEY5lcyjssX?OFgfA^KzydV2;1!)DFwUtv~10041!U{?eho31i$ND3-uAXL2 z_}T3XJ;O?yNBzXoVtzX(qC*uH)faxY8R4`^!spvSq(IyMhk>;jOy4 zRU898w@vm@p{X@6I??h#-WR$G>hD`Z`yaiSUcq1!rB;KE2;AMj03~t-YlO&zeB6tM z@@^t|yn)tQY(aYtxwuc;aW}X|&&BB5srcr}vgx#NHENV}K!=TQP9W+wFy|1)?t7ZQ z<{_6cg2u!vudcVmd)0cd-VjfiPPS4*(kWh7#)3kCF0+&cpi+ZC*~_Ry9xF-D_wq+# z9T=X%fs7;y&VA$DI~&Sx4kh)BA>QjrNewc<{OjuMeBGdiqr3fKWkmj{Kggx%6%L=s z*2aRT*f{sbzm*RXedNV-1{}QQ6*^rv7?Sp)yd;rl{ph_qn{%dCR=AK3bg5hMp1=Ry z`WAis7<{;$dVNz<|9JKNzf~{P5}?mG&^CE(^O63y2o5T0WAL}HA%Iq(45+=j15A-p zVR1R~ntw0bGp}x)Ov{I%JKK73YS+a^1Ia^3f<&xkAu~(PuS8R zkJQnVU>Y)e!#@N{G{65iM2~iY>+dc5;s}aFW2{yEd zWIG_i?i;p%M){OwdnSk>5R?S);_-1F#KH>N!-AC*D5!E{4Yn6}ZZ9}+pSBc1Gc_~g z`Z@;&7du38U^1QOG!tts(*-~uTw+eJ9}f!)gXjS5llynCn0w~sR~~-2vhq&+@#S#q z5YZ(ei4Wjd*Tb4UX(0r{Bn2R-P!J@g0Wc`k>X=m*dMdDO0!N~n6-{bt#g{wfW+LBk75 zg&u+uQ!BJ=aC^vp9KZOU0|~U)P8&c1L6n%8nfbLSR!FZu0jX-J`L0G&G*``RTGirF z=SyD6?mbn~llLCMbRzv{HB$AU+E>^6czLeAu5Jn-KmZw23JZ1Vl$qUylLwJD=ip)> zlp4QIiq6R?>v;TGWC2Acey=`A8a+EV4qeEA1-=KZ^>XG&OQ2-gcah$ZCB68+g%)a>)_9G zS&7ca(r4QMRGV7tMy}|-xq2r!=8HA(`P+qX`ul#)60`ybXK%u#2o?)+d4^rb4#f9w z%byejIb?D>^b}{o(k<~O%p@odtDy-56e%N47*&9E#y;}((=Man`U!`8HaMKXzsFnC z-p5h_8UC0_4~50r_pGd}$u+>zfP^c4m&nMY$Lg6N>XUu){Q2`tW|)QL60x+7TtEmw z&}7k`d5QIn-H^{XKr`N9vgiE5NA0#&FdV~xh6pSh+JalXGS^esbsjVA z+}xF-lbdc(x*2T?zEj2ji@o;%s`Bi*hK)u|6x66FqDZVXQ3NT1fQo>Cij)J=ReC+3 z^lC&bAYzarA|Snk)I&!UK|w%zFM=RddT-yl!90KBlf3hNGylv#-~4%IGEc@J=RVhc zUDw`w?X}lh7$h6fKrSVj-T~3bs0KL07u#{y9g#bPIP|9C?MA0wVLT$0$?dFb>Zag@ ztAW=d-}YHkB2K#_IhNP>?c|2y(^75$zoUA0T&Q#GrF|)^aPM(I{=@txxQ3Zc$0?;s z+riW1|;k;U%046%4jgmVps>tCDB{} z&aL;e+VPNWiI9Ya+RKkZS(SUU&4PM29r-<9VP4qH6sYQNvFSeh&%|lOtJlUkX z3le>`7Ki2-#>V|dsr`q##ahx%&_9PJ6C9Z9OF|#75iP09PjIR_#?iPpXKQNVtgVAif+`N&lD^`avcU_njS#nrb_$oNW)+lAx2Mpi#H?W2xcX89z;*H9I^)UYtT5#CN$3L$2*2 z!IK{EVP9t+q;QY0=mm(fWJw5yFwPA`=7WwvENpuMuKxum!M7_6?}Spd(*k)eHNK#{IxBw&3IiyvkkjvQjzxa zW{S0=a@M7uf!7Im_RHsd+`_IS?3V4=(^_b8*TVTNEvT|o#vbw%zzA2Zw4>_D4r9CB zUMt!038}(yZ!+2Oy(+s^vcav}uA>cwb3cm#KL8?5+-%#f)tR}9#@%a@CAxgtO`Ey( z9oc$rqJ*Po#B1Bob;ZI&o2u39^4c*C{zhCOPCgng^t2)ZbIyC%i7=mW{jCf1l>B*3 z_itxx^70wVTXJCE`A}ikGCu-d63eBNYcZ#NEN3{3jCYa#4|zS^N^xD0;6p$LNW zl=cTtXm<`h@3~Pxr&@QxkoV-IQ%hIETKh})?kyGg1}F#8?3$H-{cwE*m;S!5X+@io z+kY`g@xC6o(7gU3ca314Sxq!4=y7?^{Zw~yjR|3nF*!MTm1C#tUn{O1UOKb&+Mk_v zI%sJo4?56Z zu;K2HZ#WZI9cjFXM%P=D{G!H1D6%f%_*rUIwze9(Cw1L-NZgTFh)Z{%IipITeQrRn zG?8K8DDtt8gx=ww=D9{v@*5M2o{b`(aDDU!)TaKno{jl+=u99YqGFc9 zt>vn(uRn{8*Ynj?*n0U5kpA=r3^_-w^UUAl;IY5T^*&N0#=CB(uDhF>G1wu=KpAnJ zO*eQ*SrUycNJhAQ6+pkw!0lb)u5RwMWY2cCX=@Kb<<}6UB3z@{@{25BgNiJ{+DR&r zG(F=|kukiRoc;UAful~4nu!du2e9$g;+B1*PT`)l_WS9wd*373>2$e|tfg-)2eLYZ z=olyZH5S=kLRNtD$Don0R;?gB#1eRzQX_1YE>H9Dca#3YTdEEoy};1_P!BF %D) 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 Xq11a@zl{=|RI;_U-;r%~@brHGy13F$ literal 113716 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 A@&Et; literal 24107 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

T! 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 diff --git a/images/mlops_pipeline5.png b/images/mlops_pipeline5.png index a6efa3177c13795679d62e6806c7f65a36528815..2167c0bc2c78923416ba67521d3e0d12d0b28678 100644 GIT binary patch literal 57728 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 F{{;d3jk*8; literal 34041 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 E4+4g}&Hw-a diff --git a/mlops-pipelines/README.md b/mlops-pipelines/README.md index 0b82429d..81771206 100644 --- a/mlops-pipelines/README.md +++ b/mlops-pipelines/README.md @@ -31,20 +31,20 @@ The setup pipeline will: - Download as many files as you specified in the `DATASET_MAXFILES` variable and register them as a dataset in AML. -Create the pipeline as in [here](https://github.com/microsoft/MLOpsPython/blob/master/docs/getting_started.md#create-the-iac-pipeline), selecting branch **``v2-preview``** and setting the path to [/Custom_Script/mlops-pipelines/1-setup/setup-pipeline.yml](1-setup/setup-pipeline.yml). +Create the pipeline as in [here](https://github.com/microsoft/MLOpsPython/blob/master/docs/getting_started.md#create-the-iac-pipeline), selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/1-setup/pipeline-setup.yml](1-setup/pipeline-setup.yml). The pipeline run should look like this: -Stage Deploy Infra with two jobs: IaC Build, IaC Deployment. Followed by stage Environment Setup with four jobs: Deploy AML Compute, Attach AKS cluster to AML, Sample Files Setup, Register Dataset + alt="Stage Deploy Infra with two jobs: IaC Build, IaC Deployment. Followed by stage Environment Setup with two jobs: Deploy AML Compute, Attach AKS cluster to AML, and also stage Data Preparation in parallel with tho jobs: Sample Files Setup, Register Dataset" /> ## 2. Training Code Build Pipeline The training code build pipeline will: -- Create an Azure Machine Learning Pipeline that will train many models in parallel using the [train script](../scripts/train.py). +- Create an Azure Machine Learning Pipeline that will train many models in parallel using the `train.py` script in the corresponding [scripts folder](../scripts/). - Publish the AML Pipeline into the AML workspace so it's ready to use whenever we want to retrain. @@ -60,32 +60,34 @@ Before creating the Azure DevOps pipeline: | --------------------------- | ----------------- | | SERVICECONNECTION_WORKSPACE | Name of the connection to the AML Workspace you have just created | -Then, create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/Custom_Script/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml](2-training-code-build/training-code-build-pipeline.yml). +Then, create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml](2-training-code-build/pipeline-training-code-build.yml). The pipeline run should look like this: -Single job: Publish Training AML Pipeline + alt="Single stage with two jobs: Check Training Method, Publish Training AML Pipeline" /> ## 3. Modeling Pipeline The modeling pipeline will: +- Update the training dataset with the latest version of data. + - Trigger the many models training by invoking the training AML Pipeline previously published. - Group the registered models according to specified tags and maximum container size (500 by default). -- Deploy each group into a different webservice hosted in ACI and/or AKS. These webservices will all use the same [forecast script](../scripts/forecast_webservice.py). +- Deploy each group into a different webservice hosted in ACI and/or AKS. These webservices will all use the same `model_webservice.py` script in the corresponding [scripts folder](../scripts/). -- Deploy the entry point that will route the requests to the corresponding model webservice. +- Deploy the entry point that will route the requests to the corresponding model webservice. This webservice will use the `routing_webservice.py` script in the corresponding [scripts folder](../scripts/). -Create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/Custom_Script/mlops-pipelines/3-modeling/modeling-pipeline.yml](3-modeling/modeling-pipeline.yml). +Create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/3-modeling/pipeline-modeling.yml](3-modeling/pipeline-modeling.yml). The pipeline run should look like this: -Stage Run Model Training with two jobs: Get Training Pipeline ID, Run Training. After that two parallel stages are triggered with three identical jobs: Deploy Models to ACI and Deploy Models to AKS, with jobs Deploy Models, Register Routing Model, Deploy Routing Webservice @@ -103,30 +105,32 @@ There are two variables you can add to the **``manymodels-vg``** variable group The batch forecasting code build pipeline will: -- Create an Azure Machine Learning Pipeline that will generate batch forecasts for all the models in parallel using the [forecast script](../scripts/forecast.py). +- Create an Azure Machine Learning Pipeline that will generate batch forecasts for all the models in parallel using the `forecast.py` script in the corresponding [scripts folder](../scripts/). - Publish the AML Pipeline into the AML workspace so it's ready to use whenever we want to do batch forecasting. -You only need to create this Azure DevOps pipeline if you want to do batch forecasting. Do it as you did before, selecting branch **``v2-preview``** and setting the path to [/Custom_Script/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml](4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml). +You only need to create this Azure DevOps pipeline if you want to do batch forecasting. Do it as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml](4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml). The pipeline run should look like this: -Single job: Publish Forecasting AML Pipeline + alt="Single stage with two jobs: Check Training Method, Publish Forecasting AML Pipeline" /> ## 5. [Optional] Batch Forecasting Pipeline The batch forecasting pipeline will: +- Update the inference dataset with the latest version of data. + - Trigger the many models batch forecasting by invoking the batch forecasting AML Pipeline published in step 4. -Create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/Custom_Script/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml](5-batch-forecasting/batch-forecasting-pipeline.yml). +Create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/5-batch-forecasting/pipeline-batch-forecasting.yml](5-batch-forecasting/pipeline-batch-forecasting.yml). The pipeline run should look like this: -Two jobs: Get Forecasting Pipeline ID, Run Forecasting + alt="Stage Update Data with two jobs: Download New Sample, Update Registered Inference Dataset, followed by stage Run Model Forecasting with two jobs: Get Forecasting Pipeline ID, Run Forecasting" /> From 08cfc3615bccc7de7ffe98c0f854ab9a69bfcd7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Tue, 6 Oct 2020 13:10:39 +0200 Subject: [PATCH 13/34] Small fixes & update param in model deployment to update all webservices with new config --- .../scripts/deploy_or_update_models.py | 14 ++++++++++--- mlops-pipelines/scripts/utils/deployment.py | 20 ++++++++++++++++++- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/mlops-pipelines/scripts/deploy_or_update_models.py b/mlops-pipelines/scripts/deploy_or_update_models.py index 631365ea..8b17c405 100644 --- a/mlops-pipelines/scripts/deploy_or_update_models.py +++ b/mlops-pipelines/scripts/deploy_or_update_models.py @@ -15,7 +15,7 @@ def main(ws, scripts_dir, config_file, routing_model_name, sorting_tags=[], splitting_tags=[], container_size=500, - aks_target=None, service_prefix='manymodels-', reset=False): + aks_target=None, service_prefix='manymodels-', reset=False, update=False): # Deployment configuration deployment_config = build_deployment_config( @@ -35,6 +35,7 @@ def main(ws, scripts_dir, config_file, routing_model_name, models_deployed = {} for service in existing_services.values(): service.delete() + existing_services = {} # Get models registered models_registered = get_models_registered(ws, exclude_names=[routing_model_name]) @@ -46,6 +47,11 @@ def main(ws, scripts_dir, config_file, routing_model_name, container_size=container_size ) + # Force update in all webservices (when deployment config changes for example) + if update: + groups_update.update(groups_unchanged) + groups_unchanged = {} + print(f'{len(groups_delete)} services to be deleted,', f'{len(groups_new)} new groups to be deployed,', f'{len(groups_update)} groups to be updated,', @@ -189,7 +195,7 @@ def create_deployment_groups(models_registered, models_deployed, names_all_subgroups_delete += [get_subgroup_name(group_name, i) for i in subgroups_deployed if i not in subgroups_registered] - container_sizes = [len(container) for container in all_subgroups_registered] + container_sizes = [len(container) for container in all_subgroups_registered.values()] print(f'Grouped models in {len(all_subgroups_registered)} groups.', f'Min size: {min(container_sizes)}. Max size: {max(container_sizes)}.') @@ -333,6 +339,7 @@ def parse_args(args=None): parser.add_argument('--service-prefix', type=str, default=None) parser.add_argument('--container-size', type=int, default=500) parser.add_argument('--reset', action='store_true') + parser.add_argument('--update', action='store_true') args_parsed = parser.parse_args(args) if args_parsed.service_prefix is None: @@ -361,7 +368,8 @@ def parse_args(args=None): aks_target=args.aks_target, service_prefix=args.service_prefix, container_size=args.container_size, - reset=args.reset + reset=args.reset, + update=args.update ) with open(args.output, 'w') as f: diff --git a/mlops-pipelines/scripts/utils/deployment.py b/mlops-pipelines/scripts/utils/deployment.py index a05c5305..8581ec3f 100644 --- a/mlops-pipelines/scripts/utils/deployment.py +++ b/mlops-pipelines/scripts/utils/deployment.py @@ -2,6 +2,7 @@ # Licensed under the MIT License. import yaml +import inspect from azureml.core import Model, Webservice from azureml.core.model import InferenceConfig @@ -80,9 +81,10 @@ def launch_deployment(ws, service_name, models, deployment_config, existing_serv service = existing_services.get(service_name) if service: print(f'Launching updating of service {service.name}...') + update_params = build_update_params(service, deployment_config) service.update( models=models, - inference_config=deployment_config['inference_config'] + **update_params ) print(f'Updating of {service.name} started') else: @@ -97,3 +99,19 @@ def launch_deployment(ws, service_name, models, deployment_config, existing_serv print(f'Deployment of {service.name} started') return service + + +def build_update_params(service, deployment_config): + + update_args = inspect.getfullargspec(service.update)[0] + + params = { + **{ + # Params of the configuration object that are defined as arguments in the update function + k:v for k,v in inspect.getmembers(deployment_config['deployment_config']) + if k in update_args and v is not None + }, + 'inference_config': deployment_config['inference_config'] + } + + return params From b5e8d25333d165d0c6d2fcc782e92bbd8709d458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Tue, 6 Oct 2020 13:14:04 +0200 Subject: [PATCH 14/34] Add UPDATE_DEPLOYMENT variable in ADO vg --- mlops-pipelines/3-modeling/deploy-models.template.yml | 5 ++++- mlops-pipelines/3-modeling/pipeline-modeling.yml | 2 ++ mlops-pipelines/README.md | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mlops-pipelines/3-modeling/deploy-models.template.yml b/mlops-pipelines/3-modeling/deploy-models.template.yml index a845c718..e18493de 100644 --- a/mlops-pipelines/3-modeling/deploy-models.template.yml +++ b/mlops-pipelines/3-modeling/deploy-models.template.yml @@ -28,6 +28,8 @@ parameters: type: string - name: resetContainers type: string +- name: updateServices + type: string - name: routingModelName type: string - name: routingModelTagName @@ -63,6 +65,7 @@ jobs: deployment_config_file="$deployment_config_path/model-deployment-config-${{parameters.deploymentType}}.yml" deploy_script="mlops-pipelines/scripts/deploy_or_update_models.py" if [ "${{parameters.resetContainers}}" == "true" ]; then reset="--reset"; fi + if [ "${{parameters.updateServices}}" == "true" ]; then update="--update"; fi python $deploy_script --splitting-tags '${{parameters.splittingTags}}' \ --sorting-tags '${{parameters.sortingTags}}' \ --scripts-dir 'scripts/${{parameters.trainingMethod}}/' \ @@ -72,7 +75,7 @@ jobs: --aks-target '${{parameters.amlAksName}}' \ --service-prefix '${{parameters.webservicePrefix}}' \ --container-size '${{parameters.containerSize}}' \ - $reset \ + $reset $update \ --subscription-id $(az account show --query id -o tsv) \ --resource-group ${{parameters.resourceGroup}} \ --workspace-name ${{parameters.amlWorkspaceName}} diff --git a/mlops-pipelines/3-modeling/pipeline-modeling.yml b/mlops-pipelines/3-modeling/pipeline-modeling.yml index 1f0ce6ac..ac13562e 100644 --- a/mlops-pipelines/3-modeling/pipeline-modeling.yml +++ b/mlops-pipelines/3-modeling/pipeline-modeling.yml @@ -74,6 +74,7 @@ stages: webservicePrefix: test-'$(AML_WEBSERVICE_PREFIX)' containerSize: '$(MAX_CONTAINER_SIZE)' resetContainers: '$(RESET_DEPLOYMENT)' + updateServices: '$(UPDATE_DEPLOYMENT)' routingModelName: test-'$(AML_ROUTING_MODEL_NAME)' routingModelTagName: '$(AML_ROUTING_MODEL_TAG_NAME)' routingModelTagValue: '$(AML_ROUTING_MODEL_TAG_VALUE)' @@ -98,6 +99,7 @@ stages: webservicePrefix: '$(AML_WEBSERVICE_PREFIX)' containerSize: '$(MAX_CONTAINER_SIZE)' resetContainers: '$(RESET_DEPLOYMENT)' + updateServices: '$(UPDATE_DEPLOYMENT)' routingModelName: '$(AML_ROUTING_MODEL_NAME)' routingModelTagName: '$(AML_ROUTING_MODEL_TAG_NAME)' routingModelTagValue: '$(AML_ROUTING_MODEL_TAG_VALUE)' diff --git a/mlops-pipelines/README.md b/mlops-pipelines/README.md index 81771206..0b6520e6 100644 --- a/mlops-pipelines/README.md +++ b/mlops-pipelines/README.md @@ -100,6 +100,7 @@ There are two variables you can add to the **``manymodels-vg``** variable group | --------------------------- | ----------------- | | MAX_CONTAINER_SIZE | Maximum number of models to fit into one webservice container | | RESET_DEPLOYMENT | Set to `true` to reset existing containers | +| UPDATE_DEPLOYMENT | Set to `true` to update all existing webservices (for config changes to apply) | ## 4. [Optional] Batch Forecasting Code Build Pipeline From 4c33df6998fbe7b3d35018a48ee10216d3f45bfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Wed, 7 Oct 2020 09:57:36 +0200 Subject: [PATCH 15/34] Option to avoid deploying router webservice --- mlops-pipelines/3-modeling/deploy-models.template.yml | 1 + mlops-pipelines/README.md | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mlops-pipelines/3-modeling/deploy-models.template.yml b/mlops-pipelines/3-modeling/deploy-models.template.yml index e18493de..e87b407c 100644 --- a/mlops-pipelines/3-modeling/deploy-models.template.yml +++ b/mlops-pipelines/3-modeling/deploy-models.template.yml @@ -88,6 +88,7 @@ jobs: - job: routing_model displayName: 'Register Routing Model' dependsOn: deploy_models + condition: and(succeeded(), in(variables['DEPLOY_ROUTING_WEBSERVICE'], '', 'true')) steps: - download: current diff --git a/mlops-pipelines/README.md b/mlops-pipelines/README.md index 0b6520e6..17ba4256 100644 --- a/mlops-pipelines/README.md +++ b/mlops-pipelines/README.md @@ -81,7 +81,7 @@ The modeling pipeline will: - Deploy each group into a different webservice hosted in ACI and/or AKS. These webservices will all use the same `model_webservice.py` script in the corresponding [scripts folder](../scripts/). -- Deploy the entry point that will route the requests to the corresponding model webservice. This webservice will use the `routing_webservice.py` script in the corresponding [scripts folder](../scripts/). +- [Optional] Deploy the entry point that will route the requests to the corresponding model webservice. This webservice will use the `routing_webservice.py` script in the corresponding [scripts folder](../scripts/). Create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/3-modeling/pipeline-modeling.yml](3-modeling/pipeline-modeling.yml). @@ -101,6 +101,7 @@ There are two variables you can add to the **``manymodels-vg``** variable group | MAX_CONTAINER_SIZE | Maximum number of models to fit into one webservice container | | RESET_DEPLOYMENT | Set to `true` to reset existing containers | | UPDATE_DEPLOYMENT | Set to `true` to update all existing webservices (for config changes to apply) | +| DEPLOY_ROUTING_WEBSERVICE | Set to `false` to avoid deploying the routing webservice | ## 4. [Optional] Batch Forecasting Code Build Pipeline From 1567fe818137acad55b1320c533328180d054fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 8 Oct 2020 15:33:57 +0200 Subject: [PATCH 16/34] Address notebooks and mlops-pipelines folders in documentation --- {images => .images}/01_userfilesupdate.PNG | Bin {images => .images}/Flow_map.png | Bin {images => .images}/ai show.gif | Bin {images => .images}/computes_view.png | Bin {images => .images}/create_notebook_vm.png | Bin {images => .images}/mlops_pipeline1.png | Bin {images => .images}/mlops_pipeline2.png | Bin {images => .images}/mlops_pipeline3.png | Bin {images => .images}/mlops_pipeline4.png | Bin {images => .images}/mlops_pipeline5.png | Bin {images => .images}/mmsa-overview.png | Bin {images => .images}/mmsa.png | Bin {images => .images}/terminal.png | Bin README.md | 72 +++++------------- mlops-pipelines/README.md | 12 +-- .../EnvironmentSetup.md | 15 ++-- notebooks/README.md | 57 ++++++++++++++ 17 files changed, 91 insertions(+), 65 deletions(-) rename {images => .images}/01_userfilesupdate.PNG (100%) rename {images => .images}/Flow_map.png (100%) rename {images => .images}/ai show.gif (100%) rename {images => .images}/computes_view.png (100%) rename {images => .images}/create_notebook_vm.png (100%) rename {images => .images}/mlops_pipeline1.png (100%) rename {images => .images}/mlops_pipeline2.png (100%) rename {images => .images}/mlops_pipeline3.png (100%) rename {images => .images}/mlops_pipeline4.png (100%) rename {images => .images}/mlops_pipeline5.png (100%) rename {images => .images}/mmsa-overview.png (100%) rename {images => .images}/mmsa.png (100%) rename {images => .images}/terminal.png (100%) rename EnvironmentSetup.md => notebooks/EnvironmentSetup.md (83%) create mode 100644 notebooks/README.md diff --git a/images/01_userfilesupdate.PNG b/.images/01_userfilesupdate.PNG similarity index 100% rename from images/01_userfilesupdate.PNG rename to .images/01_userfilesupdate.PNG diff --git a/images/Flow_map.png b/.images/Flow_map.png similarity index 100% rename from images/Flow_map.png rename to .images/Flow_map.png diff --git a/images/ai show.gif b/.images/ai show.gif similarity index 100% rename from images/ai show.gif rename to .images/ai show.gif diff --git a/images/computes_view.png b/.images/computes_view.png similarity index 100% rename from images/computes_view.png rename to .images/computes_view.png diff --git a/images/create_notebook_vm.png b/.images/create_notebook_vm.png similarity index 100% rename from images/create_notebook_vm.png rename to .images/create_notebook_vm.png diff --git a/images/mlops_pipeline1.png b/.images/mlops_pipeline1.png similarity index 100% rename from images/mlops_pipeline1.png rename to .images/mlops_pipeline1.png diff --git a/images/mlops_pipeline2.png b/.images/mlops_pipeline2.png similarity index 100% rename from images/mlops_pipeline2.png rename to .images/mlops_pipeline2.png diff --git a/images/mlops_pipeline3.png b/.images/mlops_pipeline3.png similarity index 100% rename from images/mlops_pipeline3.png rename to .images/mlops_pipeline3.png diff --git a/images/mlops_pipeline4.png b/.images/mlops_pipeline4.png similarity index 100% rename from images/mlops_pipeline4.png rename to .images/mlops_pipeline4.png diff --git a/images/mlops_pipeline5.png b/.images/mlops_pipeline5.png similarity index 100% rename from images/mlops_pipeline5.png rename to .images/mlops_pipeline5.png diff --git a/images/mmsa-overview.png b/.images/mmsa-overview.png similarity index 100% rename from images/mmsa-overview.png rename to .images/mmsa-overview.png diff --git a/images/mmsa.png b/.images/mmsa.png similarity index 100% rename from images/mmsa.png rename to .images/mmsa.png diff --git a/images/terminal.png b/.images/terminal.png similarity index 100% rename from images/terminal.png rename to .images/terminal.png diff --git a/README.md b/README.md index 8f114868..98dc4b6c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Many Models Solution Accelerator Banner](images/mmsa.png) +![Many Models Solution Accelerator Banner](.images/mmsa.png) # Many Models Solution Accelerator + ![Automl notebooks](https://github.com/microsoft/solution-accelerator-many-models/workflows/Automl%20notebooks/badge.svg) ![Custom script notebooks](https://github.com/microsoft/solution-accelerator-many-models/workflows/Custom%20script%20notebooks/badge.svg) @@ -39,73 +40,34 @@ While it's not required, a basic understanding of Azure Machine Learning will be 2. [Azure Machine Learning Tutorials](https://docs.microsoft.com/azure/machine-learning/tutorial-1st-experiment-sdk-setup) 3. [Azure Machine Learning Sample Notebooks on Github](https://github.com/Azure/MachineLearningNotebooks) -## Getting started - -### 1. Deploy Resources - -Start by deploying the resources to Azure. The button below will deploy Azure Machine Learning and its related resources: - - - - - -### 2. Configure Development Environment - -Next you'll need to configure your [development environment](https://docs.microsoft.com/azure/machine-learning/how-to-configure-environment) for Azure Machine Learning. We recommend using a [Notebook VM](https://docs.microsoft.com/azure/machine-learning/how-to-configure-environment#compute-instance) as it's the fastest way to get up and running. Follow the steps in [EnvironmentSetup.md](./EnvironmentSetup.md) to create a Notebook VM and clone the repo onto it. - -### 3. Run Notebooks - -Once your development environment is set up, run through the Jupyter Notebooks sequentially following the steps outlined. By the end, you'll know how to train, score, and make predictions using the many models pattern on Azure Machine Learning. - -There are two ways to train many models: - -1. Using a custom training script -2. Using Automated ML - -However, the steps needed to set the workspace up and prepare the datasets are the same no matter which option you choose. - -![Sequence of Notebooks](./images/mmsa-overview.png) - - ## Contents -In this repo, you'll train and score a forecasting model for each orange juice brand and for each store at a (simulated) grocery chain. By the end, you'll have forecasted sales by using up to 11,973 models to predict sales for the next few weeks. - -The data used in this sample is simulated based on the [Dominick's Orange Juice Dataset](http://www.cs.unitn.it/~taufer/QMMA/L10-OJ-Data.html#(1)), sales data from a Chicago area grocery store. - - - -The functionality is broken into the notebooks folders designed to be run sequentially. +In this repo, you'll train a forecasting model for each orange juice brand and for each store at a (simulated) grocery chain. The data used in this sample is simulated based on the [Dominick's Orange Juice Dataset](http://www.cs.unitn.it/~taufer/QMMA/L10-OJ-Data.html#(1)), sales data from a Chicago area grocery store. -### Before training the models +For training you can either use a custom script or Automated ML. Choose the custom script option if you want to write your own code for data preparation, training and performance reporting (we provide a sample custom script for demonstration purposes). On the other hand, use AutoML if you prefer these aspects to be handled internally by Azure Machine Learning. -| Notebook | Description | -|----------------|--------------------------------------------| -| `00_Setup_AML_Workspace.ipynb` | Creates and configures the AML Workspace, including deploying a compute cluster for training. | -| `01_Data_Preparation.ipynb` | Prepares the datasets that will be used during training and forecasting. | +When training completes, you'll have up to 11,973 different models registered in the AML workspace and ready to be used for forecasting. You can then choose to do batch forecasting with all of them to predict sales for the next few weeks, or deploy the models into webservices to be able to issue real-time forecasts upon request. Or you can also choose to do both if you need to. -### Using a custom training script to train the models: + -The following notebooks are located under the [`Custom_Script/`](Custom_Script/) folder. +## How to run this solution accelerator -| Notebook | Description | -|----------------|--------------------------------------------| -| `02_CustomScript_Training_Pipeline.ipynb` | Creates a pipeline to train a model for each store and orange juice brand in the dataset using a custom script. | -| `03_CustomScript_Forecasting_Pipeline.ipynb` | Creates a pipeline to forecast future orange juice sales using the models trained in the previous step.| +There are two options for running this solution accelerator: -### Using Automated ML to train the models: +- Using step-by-step notebooks +- Using automated MLOps pipelines -The following notebooks are located under the [`Automated_ML/`](Automated_ML/) folder. +For production environments, MLOps pipelines in Azure DevOps should be the preferred option. +However, we recommend running the notebooks first as they explain all the details of the solution accelerator +and will allow you to understand how everything works. +For more information about the notebooks please go to the [`notebooks`](notebooks/) folder. -| Notebook | Description | -|----------------|--------------------------------------------| -| `02_AutoML_Training_Pipeline.ipynb` | Creates a pipeline to train a model for each store and orange juice brand in the dataset using Automated ML. | -| `03_AutoML_Forecasting_Pipeline.ipynb` | Creates a pipeline to forecast future orange juice sales using the models trained in the previous step. | +For more information about the Mlops pipelines please go to the [`mlops-pipelines`](mlops-pipelines/) folder. -## How-to-videos +## How-to videos -Watch these how-to-videos for a step by step walk-through of the many model solution accelerator to learn how to setup your models using both the custom training script and Automated ML. +Watch these how-to videos for a step by step walk-through of the many model solution accelerator to learn how to setup your models using both the custom training script and Automated ML. ### Custom Script diff --git a/mlops-pipelines/README.md b/mlops-pipelines/README.md index 17ba4256..b7c5d51d 100644 --- a/mlops-pipelines/README.md +++ b/mlops-pipelines/README.md @@ -1,3 +1,5 @@ +# Many Models MLOps Pipelines + # Instructions You'll use Azure DevOps for running the MLOps pipelines. Create an [organization](https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/create-organization?view=azure-devops#create-an-organization) an a [project](https://docs.microsoft.com/en-us/azure/devops/organizations/projects/create-project?view=azure-devops&tabs=preview-page#create-a-project) for the Many Models solution. @@ -35,7 +37,7 @@ Create the pipeline as in [here](https://github.com/microsoft/MLOpsPython/blob/m The pipeline run should look like this: -Stage Deploy Infra with two jobs: IaC Build, IaC Deployment. Followed by stage Environment Setup with two jobs: Deploy AML Compute, Attach AKS cluster to AML, and also stage Data Preparation in parallel with tho jobs: Sample Files Setup, Register Dataset @@ -64,7 +66,7 @@ Then, create the pipeline as you did before, selecting branch **``v2-preview``** The pipeline run should look like this: -Single stage with two jobs: Check Training Method, Publish Training AML Pipeline @@ -87,7 +89,7 @@ Create the pipeline as you did before, selecting branch **``v2-preview``** and s The pipeline run should look like this: -Stage Run Model Training with two jobs: Get Training Pipeline ID, Run Training. After that two parallel stages are triggered with three identical jobs: Deploy Models to ACI and Deploy Models to AKS, with jobs Deploy Models, Register Routing Model, Deploy Routing Webservice @@ -115,7 +117,7 @@ You only need to create this Azure DevOps pipeline if you want to do batch forec The pipeline run should look like this: -Single stage with two jobs: Check Training Method, Publish Forecasting AML Pipeline @@ -132,7 +134,7 @@ Create the pipeline as you did before, selecting branch **``v2-preview``** and s The pipeline run should look like this: -Stage Update Data with two jobs: Download New Sample, Update Registered Inference Dataset, followed by stage Run Model Forecasting with two jobs: Get Forecasting Pipeline ID, Run Forecasting diff --git a/EnvironmentSetup.md b/notebooks/EnvironmentSetup.md similarity index 83% rename from EnvironmentSetup.md rename to notebooks/EnvironmentSetup.md index 380e9e9d..2f169563 100644 --- a/EnvironmentSetup.md +++ b/notebooks/EnvironmentSetup.md @@ -7,7 +7,8 @@ To start with, we will create a Azure ML Compute Instance. The Compute Instance 1. Open [Azure Machine Learning Studio](https://ml.azure.com/). 2. Navigate to 'Compute Instances' tab in Compute and click on 'New'. 3. Choose some sufficiently unique name, keep the default VM type (STANDARD_DS3V2 -- a fairly inexpensive machine type costing about $0.27/hour) and click 'Create': -![](./images/create_notebook_vm.png) + +![New Compute Instance View](../.images/create_notebook_vm.png) See [here](https://docs.microsoft.com/en-us/azure/machine-learning/concept-compute-instance) for details on creating AzureML Compute Instances. @@ -18,13 +19,17 @@ See [here](https://docs.microsoft.com/en-us/azure/machine-learning/concept-compu To clone this git repository onto the workspace, follow the steps below: 1. To get started, first navigate to the JupyterLab instance running on the Compute Instance by clicking on the JupyterLab link shown below: -![](./images/computes_view.png) -1. After going through authentication, you will see the JupyterLab frontend. As you authenticate, make sure to use the same user to log in as was used to create the Compute Instance, or else your access will be denied. Next open an Terminal (either by File/New/Terminal, or by just clicking on Terminal in the Launcher Window). -![](./images/terminal.png) +![JupyterLab link under Application URI in Compute section in AML](../.images/computes_view.png) + +2. After going through authentication, you will see the JupyterLab frontend. As you authenticate, make sure to use the same user to log in as was used to create the Compute Instance, or else your access will be denied. Next open an Terminal (either by File/New/Terminal, or by just clicking on Terminal in the Launcher Window). + +![Terminal in menu](../.images/terminal.png) + +3. In the terminal window clone this repository by typing: -1. In the terminal window clone this repository by typing: ``` git clone https://github.com/microsoft/solution-accelerator-many-models.git ./manymodels ``` + 4. You will be prompted to provide your github username and for your password you will need to provide a personal access token. Please follow the steps here to [create a personal access token.](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) diff --git a/notebooks/README.md b/notebooks/README.md new file mode 100644 index 00000000..84518c0e --- /dev/null +++ b/notebooks/README.md @@ -0,0 +1,57 @@ +# Many Models Notebooks + +This folder contains the notebooks for running the Many Models Solution Accelerator. The functionality is broken into different notebooks designed to be run sequentially. + +## Setup + +### 1. Deploy Resources + +Start by deploying the resources to Azure. The button below will deploy Azure Machine Learning and its related resources: + + + + + +### 2. Configure Development Environment + +Next you'll need to configure your [development environment](https://docs.microsoft.com/azure/machine-learning/how-to-configure-environment) for Azure Machine Learning. We recommend using a [Notebook VM](https://docs.microsoft.com/azure/machine-learning/how-to-configure-environment#compute-instance) as it's the fastest way to get up and running. Follow the steps in [EnvironmentSetup.md](./EnvironmentSetup.md) to create a Notebook VM and clone the repo onto it. + +## Running the notebooks + +Once your development environment is set up, run through the Jupyter Notebooks sequentially following the steps outlined. By the end, you'll know how to train, score, and make predictions using the many models pattern on Azure Machine Learning. + +There are two ways to train many models: + +1. Using a custom training script +2. Using Automated ML + +However, the steps needed to set the workspace up and prepare the datasets are the same no matter which option you choose. + +![Sequence of Notebooks](../.images/mmsa-overview.png) + +### Before training the models + +| Notebook | Description | +|----------------|--------------------------------------------| +| [`00_Setup_AML_Workspace.ipynb`](00_Setup_AML_Workspace.ipynb) | Creates and configures the AML Workspace, including deploying a compute cluster for training. | +| [`01_Data_Preparation.ipynb`](01_Data_Preparation.ipynb) | Prepares the datasets that will be used during training and forecasting. | + +### Using a custom training script to train the models: + +The following notebooks are located under the [`Custom_Script/`](Custom_Script/) folder. + +| Notebook | Description | +|----------------|--------------------------------------------| +| [`02_CustomScript_Training_Pipeline.ipynb`](Custom_Script/02_CustomScript_Training_Pipeline.ipynb) | Creates a pipeline to train a model for each store and orange juice brand in the dataset using a custom script. | +| [`03_CustomScript_Forecasting_Pipeline.ipynb`](Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb) | Creates a pipeline to forecast future orange juice sales using the models trained in the previous step. | +| [`03_CustomScript_Realtime_Forecasting_Deployment.ipynb`](Custom_Script/03_CustomScript_Realtime_Forecasting_Deployment.ipynb) | Deploys the models into webservices to do real-time forecasting of future orange juice sales upon request. | + +### Using Automated ML to train the models: + +The following notebooks are located under the [`Automated_ML/`](Automated_ML/) folder. + +| Notebook | Description | +|----------------|--------------------------------------------| +| [`02_AutoML_Training_Pipeline.ipynb`](Automated_ML/02_AutoML_Training_Pipeline/02_AutoML_Training_Pipeline.ipynb) | Creates a pipeline to train a model for each store and orange juice brand in the dataset using Automated ML. | +| [`03_AutoML_Forecasting_Pipeline.ipynb`](Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Forecasting_Pipeline.ipynb) | Creates a pipeline to forecast future orange juice sales using the models trained in the previous step. | +| [`03_CustomScript_Realtime_Forecasting_Deployment.ipynb`](Custom_Script/03_AutoML_Forecasting_Pipeline/03_CustomScript_Realtime_Forecasting_Deployment.ipynb) | Deploys the models into webservices to do real-time forecasting of future orange juice sales upon request. | From 3611c6b03a6856b86c3000d7323a073ef57ba1ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 8 Oct 2020 18:27:00 +0200 Subject: [PATCH 17/34] Publish AML pipeline before invoking in same pipeline --- .../deploy-models.template.yml | 2 +- .../pipeline-modeling.yml | 0 .../2-modeling/run-training.template.yml | 101 ++++++++++++++++++ .../update-data.template.yml | 0 .../pipeline-training-code-build.yml | 72 ------------- .../pipeline-batch-forecasting.yml | 0 .../run-forecasting.template.yml | 96 +++++++++++++++++ .../update-data.template.yml | 0 .../3-modeling/run-training.template.yml | 53 --------- .../pipeline-batch-forecasting-code-build.yml | 73 ------------- .../run-forecasting.template.yml | 51 --------- .../scripts/create_forecasting_pipeline.py | 5 + .../scripts/create_training_pipeline.py | 5 + 13 files changed, 208 insertions(+), 250 deletions(-) rename mlops-pipelines/{3-modeling => 2-modeling}/deploy-models.template.yml (99%) rename mlops-pipelines/{3-modeling => 2-modeling}/pipeline-modeling.yml (100%) create mode 100644 mlops-pipelines/2-modeling/run-training.template.yml rename mlops-pipelines/{3-modeling => 2-modeling}/update-data.template.yml (100%) delete mode 100644 mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml rename mlops-pipelines/{5-batch-forecasting => 3-batch-forecasting}/pipeline-batch-forecasting.yml (100%) create mode 100644 mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml rename mlops-pipelines/{5-batch-forecasting => 3-batch-forecasting}/update-data.template.yml (100%) delete mode 100644 mlops-pipelines/3-modeling/run-training.template.yml delete mode 100644 mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml delete mode 100644 mlops-pipelines/5-batch-forecasting/run-forecasting.template.yml diff --git a/mlops-pipelines/3-modeling/deploy-models.template.yml b/mlops-pipelines/2-modeling/deploy-models.template.yml similarity index 99% rename from mlops-pipelines/3-modeling/deploy-models.template.yml rename to mlops-pipelines/2-modeling/deploy-models.template.yml index e87b407c..3b424a51 100644 --- a/mlops-pipelines/3-modeling/deploy-models.template.yml +++ b/mlops-pipelines/2-modeling/deploy-models.template.yml @@ -112,7 +112,7 @@ jobs: - publish: 'routing_model.json' artifact: routingmodel-${{parameters.deploymentType}} - displayName: 'Publish Routing Model Artifact' + displayName: 'Artifact: Routing Model' - job: routing_webservice diff --git a/mlops-pipelines/3-modeling/pipeline-modeling.yml b/mlops-pipelines/2-modeling/pipeline-modeling.yml similarity index 100% rename from mlops-pipelines/3-modeling/pipeline-modeling.yml rename to mlops-pipelines/2-modeling/pipeline-modeling.yml diff --git a/mlops-pipelines/2-modeling/run-training.template.yml b/mlops-pipelines/2-modeling/run-training.template.yml new file mode 100644 index 00000000..f0565941 --- /dev/null +++ b/mlops-pipelines/2-modeling/run-training.template.yml @@ -0,0 +1,101 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +# Azure Pipeline Template for running the training pipeline + +parameters: +- name: serviceConnection + type: string +- name: resourceGroup + type: string +- name: amlWorkspaceName + type: string +- name: trainingPipelineName + type: string + + +jobs: + +- job: check_training_method + displayName: 'Check Training Method' + steps: + - bash: | + if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then + >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" + fi + displayName: 'Check Training Method' + failOnStderr: true + + +- job: publish_training_pipeline + displayName: 'Publish Training AML Pipeline' + dependsOn: check_training_method + steps: + + - task: UsePythonVersion@0 + displayName: 'Use Python 3.7' + inputs: + versionSpec: 3.7 + + - task: AzureCLI@1 + displayName: 'Publish Training AML Pipeline' + inputs: + azureSubscription: $(SERVICECONNECTION_WORKSPACE) + scriptLocation: inlineScript + inlineScript: | + # Install dependencies + python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION + # Create/update training pipeline + trainingbuild_script=mlops-pipelines/scripts/create_training_pipeline.py + python $trainingbuild_script --name $(AML_TRAINING_PIPELINE_NAME) \ + --version $(Build.BuildId) \ + --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ + --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script_settings.json' \ + --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/train-parallelrunstep-config.yml' \ + --dataset $(AML_DATASET_NAME)_train \ + --compute $(AML_COMPUTE_NAME) \ + --artifact 'training_pipeline_id.txt' \ + --subscription-id $(az account show --query id -o tsv) \ + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) + + - publish: 'training_pipeline_id.txt' + artifact: training_pipeline_id + displayName: 'Publish Training Pipeline ID' + + +- job: pipeline_id + displayName: 'Get Training Pipeline ID' + dependsOn: publish_training_pipeline + steps: + + - download: current + artifact: training_pipeline_id + + - bash: | + # Get pipeline ID + artifact='$(Pipeline.Workspace)/training_pipeline_id/training_pipeline_id.txt' + pipeline_id=$(cat $artifact) + echo "##vso[task.setvariable variable=pipeline_id;isOutput=true;]$pipeline_id" + name: get_pipeline_id + displayName: 'Get Training Pipeline ID' + failOnStderr: true + + +- job: run_training + displayName: 'Run Training' + pool: server + timeoutInMinutes: 0 + dependsOn: pipeline_id + variables: + pipeline_id: $[ dependencies.pipeline_id.outputs['get_pipeline_id.pipeline_id'] ] + steps: + + - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 + displayName: 'Invoke AML Training Pipeline' + inputs: + azureSubscription: '${{parameters.serviceConnection}}' + PipelineId: '$(PIPELINE_ID)' + ExperimentName: '${{parameters.trainingPipelineName}}' + + diff --git a/mlops-pipelines/3-modeling/update-data.template.yml b/mlops-pipelines/2-modeling/update-data.template.yml similarity index 100% rename from mlops-pipelines/3-modeling/update-data.template.yml rename to mlops-pipelines/2-modeling/update-data.template.yml diff --git a/mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml b/mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml deleted file mode 100644 index d3e5c9ff..00000000 --- a/mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Pipeline that publishes de AML Pipeline that will train the models - -# trigger: -# branches: -# include: -# - v2-preview -# paths: -# include: -# - mlops-pipelines/2-training-code-build/* -# - mlops-pipelines/scripts/create_training_pipeline.py -# - mlops-pipelines/configuration/*/script-settings.yml -# - mlops-pipelines/configuration/*/train-parallelrunstep-config.yml -# - scripts/*/train.py -# - scripts/*/train.conda.yml -# - scripts/*/utils/models.py -# - scripts/*/utils/timeseries.py - -variables: -- template: ../configuration/many-models-variables.yml -- group: manymodels-vg - -pool: - vmImage: ubuntu-latest - -stages: -- stage: build_training - displayName: 'Publish Training AML Pipeline' - jobs: - - - job: check_training_method - displayName: 'Check Training Method' - steps: - - bash: | - if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then - >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" - fi - displayName: 'Check Training Method' - failOnStderr: true - - - job: build_training - displayName: 'Publish Training AML Pipeline' - dependsOn: check_training_method - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Publish Training AML Pipeline' - inputs: - azureSubscription: $(SERVICECONNECTION_WORKSPACE) - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION - # Create/update training pipeline - trainingbuild_script=mlops-pipelines/scripts/create_training_pipeline.py - python $trainingbuild_script --name $(AML_TRAINING_PIPELINE_NAME) \ - --version $(Build.BuildId) \ - --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ - --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script_settings.json' \ - --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/train-parallelrunstep-config.yml' \ - --dataset $(AML_DATASET_NAME)_train \ - --compute $(AML_COMPUTE_NAME) \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group $(RESOURCE_GROUP) \ - --workspace-name $(AMLWORKSPACE_NAME) diff --git a/mlops-pipelines/5-batch-forecasting/pipeline-batch-forecasting.yml b/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml similarity index 100% rename from mlops-pipelines/5-batch-forecasting/pipeline-batch-forecasting.yml rename to mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml diff --git a/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml new file mode 100644 index 00000000..a9cbe0a7 --- /dev/null +++ b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml @@ -0,0 +1,96 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +# Azure Pipeline Template for running the forecasting pipeline + +parameters: +- name: serviceConnection + type: string +- name: resourceGroup + type: string +- name: amlWorkspaceName + type: string +- name: forecastingPipelineName + type: string + + +jobs: + +- job: check_training_method + displayName: 'Check Training Method' + steps: + - bash: | + if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then + >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" + fi + displayName: 'Check Training Method' + failOnStderr: true + + +- job: publish_forecasting_pipeline + displayName: 'Publish Forecasting AML Pipeline' + dependsOn: check_training_method + steps: + + - task: UsePythonVersion@0 + displayName: 'Use Python 3.7' + inputs: + versionSpec: 3.7 + + - task: AzureCLI@1 + displayName: 'Publish Forecasting AML Pipeline' + inputs: + azureSubscription: $(SERVICECONNECTION_WORKSPACE) + scriptLocation: inlineScript + inlineScript: | + # Install dependencies + python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION + # Create/update forecasting pipeline + forecastingbuild_script=mlops-pipelines/scripts/create_forecasting_pipeline.py + python $forecastingbuild_script --name $(AML_FORECASTING_PIPELINE_NAME) \ + --version $(Build.BuildId) \ + --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ + --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script_settings.json' \ + --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/forecast-parallelrunstep-config.yml' \ + --dataset $(AML_DATASET_NAME)_inference \ + --output $(PREDICTIONS_CONTAINER_NAME) \ + --compute $(AML_COMPUTE_NAME) \ + --artifact 'forecasting_pipeline_id.txt' \ + --subscription-id $(az account show --query id -o tsv) \ + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) + + +- job: pipeline_id + displayName: 'Get Forecasting Pipeline ID' + dependsOn: publish_forecasting_pipeline + steps: + + - download: current + artifact: forecasting_pipeline_id + + - bash: | + # Get pipeline ID + artifact='$(Pipeline.Workspace)/forecasting_pipeline_id/forecasting_pipeline_id.txt' + pipeline_id=$(cat $artifact) + echo "##vso[task.setvariable variable=pipeline_id;isOutput=true;]$pipeline_id" + name: get_pipeline_id + displayName: 'Get Forecasting Pipeline ID' + failOnStderr: true + + +- job: run_forecasting + displayName: 'Run Forecasting' + pool: server + timeoutInMinutes: 0 + dependsOn: pipeline_id + variables: + pipeline_id: $[ dependencies.pipeline_id.outputs['get_pipeline_id.pipeline_id'] ] + steps: + + - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 + displayName: 'Invoke AML Forecasting Pipeline' + inputs: + azureSubscription: '${{parameters.serviceConnection}}' + PipelineId: '$(PIPELINE_ID)' + ExperimentName: '${{parameters.forecastingPipelineName}}' diff --git a/mlops-pipelines/5-batch-forecasting/update-data.template.yml b/mlops-pipelines/3-batch-forecasting/update-data.template.yml similarity index 100% rename from mlops-pipelines/5-batch-forecasting/update-data.template.yml rename to mlops-pipelines/3-batch-forecasting/update-data.template.yml diff --git a/mlops-pipelines/3-modeling/run-training.template.yml b/mlops-pipelines/3-modeling/run-training.template.yml deleted file mode 100644 index 409a61ba..00000000 --- a/mlops-pipelines/3-modeling/run-training.template.yml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for running the training pipeline - -parameters: -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: trainingPipelineName - type: string - - -jobs: - -- job: pipeline_id - displayName: 'Get Training Pipeline ID' - steps: - - - task: AzureCLI@1 - name: get_pipeline_id - displayName: 'Get Training Pipeline ID' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install ML extension - az extension add -n azure-cli-ml - # Get training pipeline ID - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" - pipeline_id=$(az ml pipeline list $workspace_params --query "[?Name == '${{parameters.trainingPipelineName}}'].Id" -o tsv) - echo "##vso[task.setvariable variable=pipeline_id;isOutput=true;]$pipeline_id" - -- job: run_training - displayName: 'Run Training' - pool: server - timeoutInMinutes: 0 - dependsOn: pipeline_id - variables: - pipeline_id: $[ dependencies.pipeline_id.outputs['get_pipeline_id.pipeline_id'] ] - steps: - - - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 - displayName: 'Invoke AML Training Pipeline' - inputs: - azureSubscription: '${{parameters.serviceConnection}}' - PipelineId: '$(PIPELINE_ID)' - ExperimentName: '${{parameters.trainingPipelineName}}' - - diff --git a/mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml b/mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml deleted file mode 100644 index 7c10fe8a..00000000 --- a/mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Pipeline that publishes de AML Pipeline that will generate the forecast - -# trigger: -# branches: -# include: -# - v2-preview -# paths: -# include: -# - mlops-pipelines/4-batch-forecasting-code-build/* -# - mlops-pipelines/scripts/create_forecasting_pipeline.py -# - mlops-pipelines/configuration/*/script-settings.yml -# - mlops-pipelines/configuration/*/forecast-parallelrunstep-config.yml -# - scripts/*/forecast.py -# - scripts/*/forecast.conda.yml -# - scripts/*/copy_predictions.py -# - scripts/*/utils/models.py - -variables: -- template: ../configuration/many-models-variables.yml -- group: manymodels-vg - -pool: - vmImage: ubuntu-latest - -stages: -- stage: build_forecasting - displayName: 'Publish Forecasting AML Pipeline' - jobs: - - - job: check_training_method - displayName: 'Check Training Method' - steps: - - bash: | - if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then - >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" - fi - displayName: 'Check Training Method' - failOnStderr: true - - - job: build_forecasting - displayName: 'Publish Forecasting AML Pipeline' - dependsOn: check_training_method - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Publish Forecasting AML Pipeline' - inputs: - azureSubscription: $(SERVICECONNECTION_WORKSPACE) - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION - # Create/update forecasting pipeline - forecastingbuild_script=mlops-pipelines/scripts/create_forecasting_pipeline.py - python $forecastingbuild_script --name $(AML_FORECASTING_PIPELINE_NAME) \ - --version $(Build.BuildId) \ - --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ - --scripts-settings 'mlops-pipelines/configuration/$(TRAINING_METHOD)/script_settings.json' \ - --prs-config 'mlops-pipelines/configuration/$(TRAINING_METHOD)/forecast-parallelrunstep-config.yml' \ - --dataset $(AML_DATASET_NAME)_inference \ - --output $(PREDICTIONS_CONTAINER_NAME) \ - --compute $(AML_COMPUTE_NAME) \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group $(RESOURCE_GROUP) \ - --workspace-name $(AMLWORKSPACE_NAME) diff --git a/mlops-pipelines/5-batch-forecasting/run-forecasting.template.yml b/mlops-pipelines/5-batch-forecasting/run-forecasting.template.yml deleted file mode 100644 index c4207893..00000000 --- a/mlops-pipelines/5-batch-forecasting/run-forecasting.template.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for running the forecasting pipeline - -parameters: -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: forecastingPipelineName - type: string - - -jobs: - -- job: pipeline_id - displayName: 'Get Forecasting Pipeline ID' - steps: - - - task: AzureCLI@1 - name: get_pipeline_id - displayName: 'Get Forecasting Pipeline ID' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install ML extension - az extension add -n azure-cli-ml - # Get forecasting pipeline ID - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" - pipeline_id=$(az ml pipeline list $workspace_params --query "[?Name == '${{parameters.forecastingPipelineName}}'].Id" -o tsv) - echo "##vso[task.setvariable variable=pipeline_id;isOutput=true;]$pipeline_id" - -- job: run_forecasting - displayName: 'Run Forecasting' - pool: server - timeoutInMinutes: 0 - dependsOn: pipeline_id - variables: - pipeline_id: $[ dependencies.pipeline_id.outputs['get_pipeline_id.pipeline_id'] ] - steps: - - - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 - displayName: 'Invoke AML Forecasting Pipeline' - inputs: - azureSubscription: '${{parameters.serviceConnection}}' - PipelineId: '$(PIPELINE_ID)' - ExperimentName: '${{parameters.forecastingPipelineName}}' diff --git a/mlops-pipelines/scripts/create_forecasting_pipeline.py b/mlops-pipelines/scripts/create_forecasting_pipeline.py index 6fb4fca5..46c3d719 100644 --- a/mlops-pipelines/scripts/create_forecasting_pipeline.py +++ b/mlops-pipelines/scripts/create_forecasting_pipeline.py @@ -99,6 +99,7 @@ def parse_args(args=None): parser.add_argument('--dataset', type=str, default='oj_sales_data_inference') parser.add_argument('--output', type=str, default='predictions') parser.add_argument('--compute', type=str, default='cpu-compute') + parser.add_argument('--artifact', type=str) args_parsed = parser.parse_args(args) return args_parsed @@ -125,4 +126,8 @@ def parse_args(args=None): config_file=args.prs_config ) + if args.artifact: + with open(args.artifact, 'w') as f: + f.write(pipeline_id) + print('Forecasting pipeline {} version {} published with ID {}'.format(args.name, args.version, pipeline_id)) diff --git a/mlops-pipelines/scripts/create_training_pipeline.py b/mlops-pipelines/scripts/create_training_pipeline.py index 4b22e396..8296e96c 100644 --- a/mlops-pipelines/scripts/create_training_pipeline.py +++ b/mlops-pipelines/scripts/create_training_pipeline.py @@ -65,6 +65,7 @@ def parse_args(args=None): parser.add_argument('--prs-config', required=True, type=str) parser.add_argument('--dataset', type=str, default='oj_sales_data_train') parser.add_argument('--compute', type=str, default='cpu-compute') + parser.add_argument('--artifact', type=str) args_parsed = parser.parse_args(args) return args_parsed @@ -90,4 +91,8 @@ def parse_args(args=None): config_file=args.prs_config ) + if args.artifact: + with open(args.artifact, 'w') as f: + f.write(pipeline_id) + print('Training pipeline {} version {} published with ID {}'.format(args.name, args.version, pipeline_id)) From a0930d1ea857601e7f5fdc99fe2396d9780dd5ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 9 Oct 2020 09:31:18 +0200 Subject: [PATCH 18/34] Fix deployment for 1 single model --- scripts/customscript/model_webservice.py | 34 ++++++++++++++++------ scripts/customscript/routing_webservice.py | 3 +- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/scripts/customscript/model_webservice.py b/scripts/customscript/model_webservice.py index 0f3c4767..6a95453b 100644 --- a/scripts/customscript/model_webservice.py +++ b/scripts/customscript/model_webservice.py @@ -4,6 +4,8 @@ import os import joblib from pathlib import Path + +from azureml.contrib.services.aml_request import AMLRequest, rawhttp from azureml.contrib.services.aml_response import AMLResponse from utils.webservices import read_input, format_output_record @@ -18,7 +20,18 @@ def init(): print('Models loaded:', model_dict.keys()) -def run(rawdata): +@rawhttp +def run(request): + if request.method == 'GET': + return list(model_dict.keys()) + elif request.method == 'POST': + rawdata = request.get_data(cache=False, as_text=True) + return serve_forecasting_request(rawdata) + else: + return AMLResponse("bad request", 500) + + +def serve_forecasting_request(rawdata): batch = read_input(rawdata, format=True) @@ -27,7 +40,7 @@ def run(rawdata): metadata = model_record['metadata'] data_historical, data_future = model_record['data'] - print(f'Received request for: {metadata}') + # print(f'Received request for: {metadata}') # Load model try: @@ -63,15 +76,18 @@ def load_all_models(models_root_path): ''' Load all the models from the models root dir. It returns a dict with key as model name and value as desealized model ready for scoring ''' - p = Path(models_root_path) - models_path_list = [x for x in p.iterdir() if x.is_dir()] - model_dict = {} - for model_dir_path in models_path_list: - model_name = model_dir_path.name - last_version_dir = max(v for v in model_dir_path.iterdir() if v.is_dir()) - model_dict[model_name] = load_model_via_joblib(last_version_dir, model_name, file_extn='') + models_root_dir = Path(models_root_path) + models_path_list = [x for x in models_root_dir.iterdir() if x.is_dir()] + if models_path_list: # Multiple models deployed + for model_dir_path in models_path_list: + model_name = model_dir_path.name + last_version_dir = max(v for v in model_dir_path.iterdir() if v.is_dir()) + model_dict[model_name] = load_model_via_joblib(last_version_dir, model_name, file_extn='') + else: # Single model deployed + model_name = models_root_dir.parent.name + model_dict[model_name] = load_model_via_joblib(models_root_dir, model_name, file_extn='') return model_dict diff --git a/scripts/customscript/routing_webservice.py b/scripts/customscript/routing_webservice.py index 9dbe9997..5b6465f7 100644 --- a/scripts/customscript/routing_webservice.py +++ b/scripts/customscript/routing_webservice.py @@ -36,7 +36,6 @@ def run(request): return routing_model_artifact elif request.method == 'POST': rawdata = request.get_data(cache=False, as_text=True) - print(rawdata) return route_forecasting_requests(rawdata) else: return AMLResponse("bad request", 500) @@ -55,7 +54,7 @@ def route_forecasting_requests(rawdata): model_name = get_model_name(model_data['model_type'], model_data['id']) model_service = service_mapping[model_name] except KeyError: - return AMLResponse(f"Model not found of type {model_data['model_type']} for ID {model_data['id']}", 400) + return AMLResponse(f"Router: Model not found of type {model_data['model_type']} for ID {model_data['id']}", 400) # Append data to service minibatch services_tocall[model_service].append(model_data) From 1bd66c9743911eae67fd20d81c06e4f8dc6ee65f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 9 Oct 2020 16:02:51 +0200 Subject: [PATCH 19/34] Small fixes in deployment --- mlops-pipelines/configuration/many-models-variables.yml | 4 ++-- mlops-pipelines/scripts/deploy_or_update_models.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mlops-pipelines/configuration/many-models-variables.yml b/mlops-pipelines/configuration/many-models-variables.yml index 1342a76f..ca1ed77c 100644 --- a/mlops-pipelines/configuration/many-models-variables.yml +++ b/mlops-pipelines/configuration/many-models-variables.yml @@ -37,9 +37,9 @@ variables: - name: AML_AKS_NAME value: manymodels-aks - name: AML_MODEL_SPLITTING_TAGS - value: Store + value: - name: AML_MODEL_SORTING_TAGS - value: Brand + value: Store - name: AML_WEBSERVICE_PREFIX value: manymodels- - name: AML_ROUTING_MODEL_NAME diff --git a/mlops-pipelines/scripts/deploy_or_update_models.py b/mlops-pipelines/scripts/deploy_or_update_models.py index 8b17c405..8b4bfe97 100644 --- a/mlops-pipelines/scripts/deploy_or_update_models.py +++ b/mlops-pipelines/scripts/deploy_or_update_models.py @@ -59,7 +59,8 @@ def main(ws, scripts_dir, config_file, routing_model_name, # Delete old services for group_name in groups_delete: - existing_services[group_name].delete() + service_name = get_service_name(group_name, service_prefix) + existing_services[service_name].delete() deployments = [] From 77563849598f798ad30c76317436d7bffcac0980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Wed, 14 Oct 2020 08:45:01 +0200 Subject: [PATCH 20/34] Batch forecasting pipeline artifact --- .../3-batch-forecasting/run-forecasting.template.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml index a9cbe0a7..8400c785 100644 --- a/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml +++ b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml @@ -60,6 +60,10 @@ jobs: --resource-group $(RESOURCE_GROUP) \ --workspace-name $(AMLWORKSPACE_NAME) + - publish: 'forecasting_pipeline_id.txt' + artifact: forecasting_pipeline_id + displayName: 'Publish Forecasting Pipeline ID' + - job: pipeline_id displayName: 'Get Forecasting Pipeline ID' From 0ad23033aa6810cf7286c216ae53f361513e1b7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Wed, 14 Oct 2020 09:32:45 +0200 Subject: [PATCH 21/34] Change params by vars in mlops pipelines and reestructure a bit --- .../arm-templates/appinsights.template.json | 0 .../containerregistry.template.json | 0 .../arm-templates/keyvault.parameters.json | 0 .../arm-templates/keyvault.template.json | 0 .../arm-templates/mlcompute.parameters.json | 0 .../arm-templates/mlcompute.template.json | 0 .../arm-templates/mlworkspace.template.json | 0 .../arm-templates/storage.parameters.json | 0 .../arm-templates/storage.template.json | 0 .../{data-prep => }/data-prep.template.yml | 44 +++------ .../1-setup/deploy-infra.template.yml | 74 +++++++++++++++ .../deploy-infra/deploy-infra.template.yml | 95 ------------------- .../1-setup/environment-setup.template.yml | 42 ++++++++ .../environment-setup.template.yml | 61 ------------ mlops-pipelines/1-setup/pipeline-setup.yml | 33 +------ .../2-modeling/deploy-models.template.yml | 68 +++++-------- .../2-modeling/pipeline-modeling.yml | 50 ++-------- .../2-modeling/run-training.template.yml | 22 +---- .../2-modeling/update-data.template.yml | 37 +++----- .../pipeline-batch-forecasting.yml | 20 ++-- .../run-forecasting.template.yml | 22 ++--- .../update-data.template.yml | 36 +++---- .../configuration/many-models-variables.yml | 2 +- 23 files changed, 210 insertions(+), 396 deletions(-) rename mlops-pipelines/1-setup/{deploy-infra => }/arm-templates/appinsights.template.json (100%) rename mlops-pipelines/1-setup/{deploy-infra => }/arm-templates/containerregistry.template.json (100%) rename mlops-pipelines/1-setup/{deploy-infra => }/arm-templates/keyvault.parameters.json (100%) rename mlops-pipelines/1-setup/{deploy-infra => }/arm-templates/keyvault.template.json (100%) rename mlops-pipelines/1-setup/{environment-setup => }/arm-templates/mlcompute.parameters.json (100%) rename mlops-pipelines/1-setup/{environment-setup => }/arm-templates/mlcompute.template.json (100%) rename mlops-pipelines/1-setup/{deploy-infra => }/arm-templates/mlworkspace.template.json (100%) rename mlops-pipelines/1-setup/{deploy-infra => }/arm-templates/storage.parameters.json (100%) rename mlops-pipelines/1-setup/{deploy-infra => }/arm-templates/storage.template.json (100%) rename mlops-pipelines/1-setup/{data-prep => }/data-prep.template.yml (72%) create mode 100644 mlops-pipelines/1-setup/deploy-infra.template.yml delete mode 100644 mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml create mode 100644 mlops-pipelines/1-setup/environment-setup.template.yml delete mode 100644 mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json b/mlops-pipelines/1-setup/arm-templates/appinsights.template.json similarity index 100% rename from mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json rename to mlops-pipelines/1-setup/arm-templates/appinsights.template.json diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json b/mlops-pipelines/1-setup/arm-templates/containerregistry.template.json similarity index 100% rename from mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json rename to mlops-pipelines/1-setup/arm-templates/containerregistry.template.json diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json b/mlops-pipelines/1-setup/arm-templates/keyvault.parameters.json similarity index 100% rename from mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json rename to mlops-pipelines/1-setup/arm-templates/keyvault.parameters.json diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json b/mlops-pipelines/1-setup/arm-templates/keyvault.template.json similarity index 100% rename from mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json rename to mlops-pipelines/1-setup/arm-templates/keyvault.template.json diff --git a/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json b/mlops-pipelines/1-setup/arm-templates/mlcompute.parameters.json similarity index 100% rename from mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json rename to mlops-pipelines/1-setup/arm-templates/mlcompute.parameters.json diff --git a/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json b/mlops-pipelines/1-setup/arm-templates/mlcompute.template.json similarity index 100% rename from mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json rename to mlops-pipelines/1-setup/arm-templates/mlcompute.template.json diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json b/mlops-pipelines/1-setup/arm-templates/mlworkspace.template.json similarity index 100% rename from mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json rename to mlops-pipelines/1-setup/arm-templates/mlworkspace.template.json diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json b/mlops-pipelines/1-setup/arm-templates/storage.parameters.json similarity index 100% rename from mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json rename to mlops-pipelines/1-setup/arm-templates/storage.parameters.json diff --git a/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json b/mlops-pipelines/1-setup/arm-templates/storage.template.json similarity index 100% rename from mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json rename to mlops-pipelines/1-setup/arm-templates/storage.template.json diff --git a/mlops-pipelines/1-setup/data-prep/data-prep.template.yml b/mlops-pipelines/1-setup/data-prep.template.yml similarity index 72% rename from mlops-pipelines/1-setup/data-prep/data-prep.template.yml rename to mlops-pipelines/1-setup/data-prep.template.yml index 59a27a49..9d095f93 100644 --- a/mlops-pipelines/1-setup/data-prep/data-prep.template.yml +++ b/mlops-pipelines/1-setup/data-prep.template.yml @@ -3,23 +3,6 @@ # Azure Pipeline Template for ML Workspace Setup -parameters: -- name: sdkVersion - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: amlTrainDatasetName - type: string -- name: amlInferenceDatasetName - type: string -- name: maxFiles - type: string - - jobs: - job: sample_files @@ -33,13 +16,13 @@ jobs: - bash: | # Install dependencies - dependencies="azureml-opendatasets==${{parameters.sdkVersion}} pandas" + dependencies="azureml-opendatasets==$(SDK_VERSION) pandas" python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Download sample files datapath_train="sample-data-train" datapath_inference="sample-data-inference" data_script="mlops-pipelines/scripts/download_data.py" - python $data_script --maxfiles ${{parameters.maxFiles}} \ + python $data_script --maxfiles $(DATASET_MAXFILES) \ --train-path $datapath_train \ --inference-path $datapath_inference echo "##vso[task.setvariable variable=datapath_train;isOutput=true;]$datapath_train" @@ -51,10 +34,10 @@ jobs: - task: AzureCLI@1 displayName: 'Upload files to AML datastore' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_GROUP) scriptLocation: inlineScript inlineScript: | - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" + workspace_params="--workspace-name $(AMLWORKSPACE_NAME) --resource-group $(RESOURCE_GROUP)" # Install ML extension az extension add -n azure-cli-ml # Get default datastore @@ -79,6 +62,8 @@ jobs: variables: datapath_train: $[ dependencies.sample_files.outputs['download_files.datapath_train'] ] datapath_inference: $[ dependencies.sample_files.outputs['download_files.datapath_inference'] ] + aml_datasetname_train: $(AML_DATASET_NAME)_train + aml_datasetname_inference: $(AML_DATASET_NAME)_inference steps: - task: UsePythonVersion@0 @@ -89,21 +74,22 @@ jobs: - task: AzureCLI@1 displayName: 'Register dataset' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_GROUP) scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} + dependencies="azureml-sdk==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Register train dataset register_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $register_dataset_script --path $DATAPATH_TRAIN \ - --name ${{parameters.amlTrainDatasetName}} \ + --name $AML_DATASETNAME_TRAIN \ --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) # Register inference dataset python $register_dataset_script --path $DATAPATH_INFERENCE \ - --name ${{parameters.amlInferenceDatasetName}} \ + --name $AML_DATASETNAME_INFERENCE \ --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) diff --git a/mlops-pipelines/1-setup/deploy-infra.template.yml b/mlops-pipelines/1-setup/deploy-infra.template.yml new file mode 100644 index 00000000..ebb74b2b --- /dev/null +++ b/mlops-pipelines/1-setup/deploy-infra.template.yml @@ -0,0 +1,74 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +# Azure Pipeline Template for ML Workspace Resources Deployment + +jobs: + +- job: iac_build + displayName: 'IaC Build' + steps: + - task: CopyFiles@2 + displayName: 'Copy ARM templates' + inputs: + sourceFolder: 'mlops-pipelines/1-setup/arm-templates' + targetFolder: '$(Build.ArtifactStagingDirectory)' + - publish: '$(Build.ArtifactStagingDirectory)' + artifact: infratemplates + +- deployment: iac_deployment + displayName: 'IaC Deployment' + environment: $(ENVIRONMENT) + strategy: + runOnce: + deploy: + steps: + - download: current + artifact: infratemplates + + - task: AzureResourceGroupDeployment@2 + displayName: 'Deploy Storage Account' + inputs: + azureSubscription: $(SERVICECONNECTION_GROUP) + resourceGroupName: $(RESOURCE_GROUP) + location: $(LOCATION) + csmFile: '$(Pipeline.Workspace)/infratemplates/storage.template.json' + csmParametersFile: '$(Pipeline.Workspace)/infratemplates/storage.parameters.json' + overrideParameters: '-name $(STORAGEACCOUNT_NAME) -location $(LOCATION)' + + - task: AzureResourceGroupDeployment@2 + displayName: 'Deploy Key Vault' + inputs: + azureSubscription: $(SERVICECONNECTION_GROUP) + resourceGroupName: $(RESOURCE_GROUP) + location: $(LOCATION) + csmFile: '$(Pipeline.Workspace)/infratemplates/keyvault.template.json' + csmParametersFile: '$(Pipeline.Workspace)/infratemplates/keyvault.parameters.json' + overrideParameters: '-name $(KEYVAULT_NAME) -location $(LOCATION)' + + - task: AzureResourceGroupDeployment@2 + displayName: 'Deploy Application Insights' + inputs: + azureSubscription: $(SERVICECONNECTION_GROUP) + resourceGroupName: $(RESOURCE_GROUP) + location: $(LOCATION) + csmFile: '$(Pipeline.Workspace)/infratemplates/appinsights.template.json' + overrideParameters: '-name $(APPINSIGHTS_NAME) -location $(LOCATION)' + + - task: AzureResourceGroupDeployment@2 + displayName: 'Deploy Container Registry' + inputs: + azureSubscription: $(SERVICECONNECTION_GROUP) + resourceGroupName: $(RESOURCE_GROUP) + location: $(LOCATION) + csmFile: '$(Pipeline.Workspace)/infratemplates/containerregistry.template.json' + overrideParameters: '-name $(CONTAINERREGISTRY_NAME) -location $(LOCATION)' + + - task: AzureResourceGroupDeployment@2 + displayName: 'Deploy AML Workspace' + inputs: + azureSubscription: $(SERVICECONNECTION_GROUP) + resourceGroupName: $(RESOURCE_GROUP) + location: $(LOCATION) + csmFile: '$(Pipeline.Workspace)/infratemplates/mlworkspace.template.json' + overrideParameters: '-workspaceName $(AMLWORKSPACE_NAME) -keyVaultName $(KEYVAULT_NAME) -appInsightsName $(APPINSIGHTS_NAME) -containerRegistryName $(CONTAINERREGISTRY_NAME) -storageAccountName $(STORAGEACCOUNT_NAME)' diff --git a/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml b/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml deleted file mode 100644 index 73b2295d..00000000 --- a/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for ML Workspace Resources Deployment - -parameters: -- name: environment - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: resourcesLocation - type: string -- name: storageAccountName - type: string -- name: keyVaultName - type: string -- name: appInsightsName - type: string -- name: containerRegistryName - type: string -- name: amlWorkspaceName - type: string - - -jobs: - -- job: iac_build - displayName: 'IaC Build' - steps: - - task: CopyFiles@2 - displayName: 'Copy ARM templates' - inputs: - sourceFolder: 'mlops-pipelines/1-setup/deploy-infra/arm-templates' - targetFolder: '$(Build.ArtifactStagingDirectory)' - - publish: '$(Build.ArtifactStagingDirectory)' - artifact: infratemplates - -- deployment: iac_deployment - displayName: 'IaC Deployment' - environment: ${{parameters.environment}} - strategy: - runOnce: - deploy: - steps: - - download: current - artifact: infratemplates - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Storage Account' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/storage.template.json' - csmParametersFile: '$(Pipeline.Workspace)/infratemplates/storage.parameters.json' - overrideParameters: '-name ${{parameters.storageAccountName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Key Vault' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/keyvault.template.json' - csmParametersFile: '$(Pipeline.Workspace)/infratemplates/keyvault.parameters.json' - overrideParameters: '-name ${{parameters.keyVaultName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Application Insights' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/appinsights.template.json' - overrideParameters: '-name ${{parameters.appInsightsName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Container Registry' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/containerregistry.template.json' - overrideParameters: '-name ${{parameters.containerRegistryName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy AML Workspace' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/mlworkspace.template.json' - overrideParameters: '-workspaceName ${{parameters.amlWorkspaceName}} -keyVaultName ${{parameters.keyVaultName}} -appInsightsName ${{parameters.appInsightsName}} -containerRegistryName ${{parameters.containerRegistryName}} -storageAccountName ${{parameters.storageAccountName}}' diff --git a/mlops-pipelines/1-setup/environment-setup.template.yml b/mlops-pipelines/1-setup/environment-setup.template.yml new file mode 100644 index 00000000..efa7e3f8 --- /dev/null +++ b/mlops-pipelines/1-setup/environment-setup.template.yml @@ -0,0 +1,42 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +# Azure Pipeline Template for ML Workspace Setup + +jobs: + +- job: aml_compute + displayName: 'Deploy AML Compute' + steps: + - task: AzureResourceGroupDeployment@2 + displayName: 'Deploy AML Compute' + inputs: + azureSubscription: $(SERVICECONNECTION_GROUP) + resourceGroupName: $(RESOURCE_GROUP) + location: $(LOCATION) + csmFile: '$(Build.SourcesDirectory)/mlops-pipelines/1-setup/arm-templates/mlcompute.template.json' + csmParametersFile: '$(Build.SourcesDirectory)/mlops-pipelines/1-setup/arm-templates/mlcompute.parameters.json' + overrideParameters: '-workspaceName $(AMLWORKSPACE_NAME) -clusterName $(AML_COMPUTE_NAME)' + + +- job: aml_aks + condition: and( variables['AKS_NAME'], variables['AKS_RESOURCE_GROUP'] ) + displayName: 'Attach AKS Target to AML' + steps: + - task: AzureCLI@1 + displayName: 'Attach AKS Target to AML' + inputs: + azureSubscription: $(SERVICECONNECTION_GROUP) + scriptLocation: inlineScript + inlineScript: | + workspace_params="--workspace-name $(AMLWORKSPACE_NAME) --resource-group $(RESOURCE_GROUP)" + # Install ML extension + az extension add -n azure-cli-ml + # Check if AKS target is already attached and attach if not + az ml computetarget show --name $(AML_AKS_NAME) $workspace_params + if [ $? -eq 1 ]; then + # Get AKS resource id + aks_id=$(az resource list -n $(AKS_NAME) -g $(AKS_RESOURCE_GROUP) --query "[0].id" -o tsv) + # Attach AKS + az ml computetarget attach aks --name $(AML_AKS_NAME) --compute-resource-id $aks_id $workspace_params + fi diff --git a/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml b/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml deleted file mode 100644 index a33a8965..00000000 --- a/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for ML Workspace Setup - -parameters: -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: resourcesLocation - type: string -- name: amlWorkspaceName - type: string -- name: amlComputeName - type: string -- name: aksName - type: string -- name: aksResourceGroup - type: string -- name: amlAksName - type: string - - -jobs: - -- job: aml_compute - displayName: 'Deploy AML Compute' - steps: - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy AML Compute' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Build.SourcesDirectory)/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json' - csmParametersFile: '$(Build.SourcesDirectory)/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json' - overrideParameters: '-workspaceName ${{parameters.amlWorkspaceName}} -clusterName ${{parameters.amlComputeName}}' - - -- job: aml_aks - condition: and( '${{ parameters.aksName }}', '${{ parameters.aksResourceGroup }}' ) - displayName: 'Attach AKS Target to AML' - steps: - - task: AzureCLI@1 - displayName: 'Attach AKS Target to AML' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" - # Install ML extension - az extension add -n azure-cli-ml - # Check if AKS target is already attached and attach if not - az ml computetarget show --name ${{parameters.amlAksName}} $workspace_params - if [ $? -eq 1 ]; then - # Get AKS resource id - aks_id=$(az resource list -n ${{parameters.aksName}} -g ${{parameters.aksResourceGroup}} --query "[0].id" -o tsv) - # Attach AKS - az ml computetarget attach aks --name ${{parameters.amlAksName}} --compute-resource-id $aks_id $workspace_params - fi diff --git a/mlops-pipelines/1-setup/pipeline-setup.yml b/mlops-pipelines/1-setup/pipeline-setup.yml index e0051906..24844b0a 100644 --- a/mlops-pipelines/1-setup/pipeline-setup.yml +++ b/mlops-pipelines/1-setup/pipeline-setup.yml @@ -24,43 +24,16 @@ stages: - stage: deploy_infrastructure displayName: 'Deploy Infrastructure' jobs: - - template: deploy-infra/deploy-infra.template.yml - parameters: - environment: '$(ENVIRONMENT)' - serviceConnection: '$(SERVICECONNECTION_GROUP)' - resourceGroup: '$(RESOURCE_GROUP)' - resourcesLocation: '$(LOCATION)' - storageAccountName: '$(STORAGEACCOUNT_NAME)' - keyVaultName: '$(KEYVAULT_NAME)' - appInsightsName: '$(APPINSIGHTS_NAME)' - containerRegistryName: '$(CONTAINERREGISTRY_NAME)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' + - template: deploy-infra.template.yml - stage: environment_setup displayName: 'Environment Setup' dependsOn: deploy_infrastructure jobs: - - template: environment-setup/environment-setup.template.yml - parameters: - serviceConnection: '$(SERVICECONNECTION_GROUP)' - resourceGroup: '$(RESOURCE_GROUP)' - resourcesLocation: '$(LOCATION)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - amlComputeName: '$(AML_COMPUTE_NAME)' - aksName: '$(AKS_NAME)' - aksResourceGroup: '$(AKS_RESOURCE_GROUP)' - amlAksName: '$(AML_AKS_NAME)' + - template: environment-setup.template.yml - stage: data_preparation displayName: 'Data Preparation' dependsOn: deploy_infrastructure jobs: - - template: data-prep/data-prep.template.yml - parameters: - sdkVersion: '$(SDK_VERSION)' - serviceConnection: '$(SERVICECONNECTION_GROUP)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - amlTrainDatasetName: '$(AML_DATASET_NAME)_train' - amlInferenceDatasetName: '$(AML_DATASET_NAME)_inference' - maxFiles: '$(DATASET_MAXFILES)' + - template: data-prep.template.yml diff --git a/mlops-pipelines/2-modeling/deploy-models.template.yml b/mlops-pipelines/2-modeling/deploy-models.template.yml index 3b424a51..2f28eab2 100644 --- a/mlops-pipelines/2-modeling/deploy-models.template.yml +++ b/mlops-pipelines/2-modeling/deploy-models.template.yml @@ -4,38 +4,14 @@ # Azure Pipeline Template for deploying models to ACI parameters: -- name: sdkVersion - type: string -- name: trainingMethod - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string - name: deploymentType type: string - name: amlAksName type: string -- name: sortingTags - type: string -- name: splittingTags - type: string - name: webservicePrefix type: string -- name: containerSize - type: string -- name: resetContainers - type: string -- name: updateServices - type: string - name: routingModelName type: string -- name: routingModelTagName - type: string -- name: routingModelTagValue - type: string - name: routingServiceName type: string @@ -55,30 +31,31 @@ jobs: - task: AzureCLI@1 displayName: 'Deploy Models in Groups' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_WORKSPACE) scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==${{parameters.sdkVersion}} + dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Deploy/update models in groups in webservices - deployment_config_path="mlops-pipelines/configuration/${{parameters.trainingMethod}}/" + deployment_config_path="mlops-pipelines/configuration/$(TRAINING_METHOD)/" deployment_config_file="$deployment_config_path/model-deployment-config-${{parameters.deploymentType}}.yml" deploy_script="mlops-pipelines/scripts/deploy_or_update_models.py" - if [ "${{parameters.resetContainers}}" == "true" ]; then reset="--reset"; fi - if [ "${{parameters.updateServices}}" == "true" ]; then update="--update"; fi - python $deploy_script --splitting-tags '${{parameters.splittingTags}}' \ - --sorting-tags '${{parameters.sortingTags}}' \ - --scripts-dir 'scripts/${{parameters.trainingMethod}}/' \ + if [ "$(RESET_DEPLOYMENT)" == "true" ]; then reset="--reset"; fi + if [ "$(UPDATE_DEPLOYMENT)" == "true" ]; then update="--update"; fi + python $deploy_script --splitting-tags '$(AML_MODEL_SPLITTING_TAGS)' \ + --sorting-tags '$(AML_MODEL_SORTING_TAGS)' \ + --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ --routing-model-name '${{parameters.routingModelName}}' \ --output 'models_deployed.json' \ --deploy-config-file $deployment_config_file \ --aks-target '${{parameters.amlAksName}}' \ --service-prefix '${{parameters.webservicePrefix}}' \ - --container-size '${{parameters.containerSize}}' \ + --container-size '$(MAX_CONTAINER_SIZE)' \ $reset $update \ --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) - publish: 'models_deployed.json' artifact: modelsdeployed-${{parameters.deploymentType}} @@ -97,7 +74,7 @@ jobs: - task: AzureCLI@1 displayName: 'Register Routing Model' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_WORKSPACE) scriptLocation: inlineScript inlineScript: | # Install ML extension @@ -105,10 +82,10 @@ jobs: # Register model az ml model register --name ${{parameters.routingModelName}} \ --model-path '$(Pipeline.Workspace)/modelsdeployed-${{parameters.deploymentType}}/models_deployed.json' \ - --tag '${{parameters.routingModelTagName}}=${{parameters.routingModelTagValue}}' \ + --tag '$(AML_ROUTING_MODEL_TAG_NAME)=$(AML_ROUTING_MODEL_TAG_VALUE)' \ --output-metadata-file routing_model.json \ - --workspace-name ${{parameters.amlWorkspaceName}} \ - --resource-group ${{parameters.resourceGroup}} + --workspace-name $(AMLWORKSPACE_NAME) \ + --resource-group $(RESOURCE_GROUP) - publish: 'routing_model.json' artifact: routingmodel-${{parameters.deploymentType}} @@ -128,20 +105,21 @@ jobs: - task: AzureCLI@1 displayName: 'Deploy Routing Webservice' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_WORKSPACE) scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==${{parameters.sdkVersion}} + dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Deploy/update routing webservice - deployment_config_path="mlops-pipelines/configuration/${{parameters.trainingMethod}}/" + deployment_config_path="mlops-pipelines/configuration/$(TRAINING_METHOD)/" deployment_config_file="$deployment_config_path/routing-deployment-config-${{parameters.deploymentType}}.yml" deploy_script="mlops-pipelines/scripts/deploy_or_update_router.py" python $deploy_script --model-name '${{parameters.routingModelName}}' \ --service-name '${{parameters.routingServiceName}}' \ - --scripts-dir 'scripts/${{parameters.trainingMethod}}/' \ + --scripts-dir 'scripts/$(TRAINING_METHOD)/' \ --deploy-config-file $deployment_config_file \ --aks-target '${{parameters.amlAksName}}' \ --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) diff --git a/mlops-pipelines/2-modeling/pipeline-modeling.yml b/mlops-pipelines/2-modeling/pipeline-modeling.yml index ac13562e..eb4010b8 100644 --- a/mlops-pipelines/2-modeling/pipeline-modeling.yml +++ b/mlops-pipelines/2-modeling/pipeline-modeling.yml @@ -9,11 +9,17 @@ # - v2-preview # paths: # include: -# - mlops-pipelines/3-modeling/* +# - mlops-pipelines/2-modeling/* +# - mlops-pipelines/scripts/download_data.py +# - mlops-pipelines/scripts/register_or_update_dataset.py +# - mlops-pipelines/scripts/create_training_pipeline.py # - mlops-pipelines/scripts/deploy_or_update_models.py -# - scripts/*/forecast_webservice.py -# - Custom_Script/scripts/routing_webservice.py -# - Custom_Script/scripts/routing_webservice.conda.yml +# - scripts/*/train.py +# - scripts/*/train.conda.yml +# - scripts/*/model_webservice.py +# - scripts/*/model_webservice.conda.yml +# - scripts/*/routing_webservice.py +# - scripts/*/routing_webservice.conda.yml # schedules: # - cron: "0 0 * * 1" @@ -36,24 +42,12 @@ stages: displayName: 'Update Data for Training/Retraining' jobs: - template: update-data.template.yml - parameters: - sdkVersion: '$(SDK_VERSION)' - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - amlTrainDatasetName: '$(AML_DATASET_NAME)_train' - maxFiles: '$(DATASET_MAXFILES)' - stage: run_training displayName: 'Run Model Training' dependsOn: update_data jobs: - template: run-training.template.yml - parameters: - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - trainingPipelineName: '$(AML_TRAINING_PIPELINE_NAME)' - stage: deploy_models_aci displayName: 'Deploy Models to ACI' @@ -62,22 +56,10 @@ stages: jobs: - template: deploy-models.template.yml parameters: - sdkVersion: '$(SDK_VERSION)' - trainingMethod: '$(TRAINING_METHOD)' - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' deploymentType: aci amlAksName: '' - splittingTags: '$(AML_MODEL_SPLITTING_TAGS)' - sortingTags: '$(AML_MODEL_SORTING_TAGS)' webservicePrefix: test-'$(AML_WEBSERVICE_PREFIX)' - containerSize: '$(MAX_CONTAINER_SIZE)' - resetContainers: '$(RESET_DEPLOYMENT)' - updateServices: '$(UPDATE_DEPLOYMENT)' routingModelName: test-'$(AML_ROUTING_MODEL_NAME)' - routingModelTagName: '$(AML_ROUTING_MODEL_TAG_NAME)' - routingModelTagValue: '$(AML_ROUTING_MODEL_TAG_VALUE)' routingServiceName: test-'$(AML_ROUTING_WEBSERVICE)' - stage: deploy_models_aks @@ -87,20 +69,8 @@ stages: jobs: - template: deploy-models.template.yml parameters: - sdkVersion: '$(SDK_VERSION)' - trainingMethod: '$(TRAINING_METHOD)' - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' deploymentType: aks amlAksName: '$(AML_AKS_NAME)' - splittingTags: '$(AML_MODEL_SPLITTING_TAGS)' - sortingTags: '$(AML_MODEL_SORTING_TAGS)' webservicePrefix: '$(AML_WEBSERVICE_PREFIX)' - containerSize: '$(MAX_CONTAINER_SIZE)' - resetContainers: '$(RESET_DEPLOYMENT)' - updateServices: '$(UPDATE_DEPLOYMENT)' routingModelName: '$(AML_ROUTING_MODEL_NAME)' - routingModelTagName: '$(AML_ROUTING_MODEL_TAG_NAME)' - routingModelTagValue: '$(AML_ROUTING_MODEL_TAG_VALUE)' routingServiceName: '$(AML_ROUTING_WEBSERVICE)' diff --git a/mlops-pipelines/2-modeling/run-training.template.yml b/mlops-pipelines/2-modeling/run-training.template.yml index f0565941..eaa0386f 100644 --- a/mlops-pipelines/2-modeling/run-training.template.yml +++ b/mlops-pipelines/2-modeling/run-training.template.yml @@ -3,24 +3,13 @@ # Azure Pipeline Template for running the training pipeline -parameters: -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: trainingPipelineName - type: string - - jobs: - job: check_training_method displayName: 'Check Training Method' steps: - bash: | - if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then + if [ "$(TRAINING_METHOD)" != "automl" ] && [ "$(TRAINING_METHOD)" != "customscript" ]; then >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" fi displayName: 'Check Training Method' @@ -44,7 +33,8 @@ jobs: scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION + dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Create/update training pipeline trainingbuild_script=mlops-pipelines/scripts/create_training_pipeline.py python $trainingbuild_script --name $(AML_TRAINING_PIPELINE_NAME) \ @@ -94,8 +84,6 @@ jobs: - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 displayName: 'Invoke AML Training Pipeline' inputs: - azureSubscription: '${{parameters.serviceConnection}}' + azureSubscription: '$(SERVICECONNECTION_WORKSPACE)' PipelineId: '$(PIPELINE_ID)' - ExperimentName: '${{parameters.trainingPipelineName}}' - - + ExperimentName: '$(AML_TRAINING_PIPELINE_NAME)' diff --git a/mlops-pipelines/2-modeling/update-data.template.yml b/mlops-pipelines/2-modeling/update-data.template.yml index 65060a2a..f8692a08 100644 --- a/mlops-pipelines/2-modeling/update-data.template.yml +++ b/mlops-pipelines/2-modeling/update-data.template.yml @@ -4,22 +4,6 @@ # Azure Pipeline Template for updating training dataset # The dataset in this example is updated for illustration purposes only, the data downloaded is the same - -parameters: -- name: sdkVersion - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: amlTrainDatasetName - type: string -- name: maxFiles - type: string - - jobs: - job: download_new_data @@ -33,10 +17,11 @@ jobs: - bash: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-opendatasets==${{parameters.sdkVersion}} + dependencies="azureml-opendatasets==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Download sample files data_script="mlops-pipelines/scripts/download_data.py" - python $data_script --maxfiles ${{parameters.maxFiles}} --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" + python $data_script --maxfiles $(DATASET_MAXFILES) --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" name: download_files displayName: 'Download Sample Files' @@ -46,10 +31,10 @@ jobs: name: upload_files displayName: 'Upload trainimg files to AML datastore' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_WORKSPACE) scriptLocation: inlineScript inlineScript: | - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" + workspace_params="--workspace-name $(AMLWORKSPACE_NAME) --resource-group $(RESOURCE_GROUP)" # Install ML extension az extension add -n azure-cli-ml # Get default datastore @@ -69,6 +54,7 @@ jobs: dependsOn: download_new_data variables: datapath_train: $[ dependencies.download_new_data.outputs['upload_files.datapath_train'] ] + aml_datasetname_train: $(AML_DATASET_NAME)_train steps: - task: UsePythonVersion@0 @@ -79,15 +65,16 @@ jobs: - task: AzureCLI@1 displayName: 'Update training dataset' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_WORKSPACE) scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} + dependencies="azureml-sdk==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Update train dataset update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $update_dataset_script --path $DATAPATH_TRAIN \ - --name ${{parameters.amlTrainDatasetName}} \ + --name $AML_DATASETNAME_TRAIN \ --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) diff --git a/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml b/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml index 85118b8c..00dff2fb 100644 --- a/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml +++ b/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml @@ -9,7 +9,13 @@ # - v2-preview # paths: # include: -# - Custom_Script/mlops-pipelines/5-batch-forecasting/* +# - mlops-pipelines/3-batch-forecasting/* +# - mlops-pipelines/scripts/download_data.py +# - mlops-pipelines/scripts/register_or_update_dataset.py +# - mlops-pipelines/scripts/create_forecasting_pipeline.py +# - scripts/*/forecast.py +# - scripts/*/forecast.conda.yml +# - scripts/*/copy_predictions.py # schedules: # - cron: "30 7 * * *" @@ -32,20 +38,8 @@ stages: displayName: 'Update Data for Batch Forecasting' jobs: - template: update-data.template.yml - parameters: - sdkVersion: '$(SDK_VERSION)' - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - amlInferenceDatasetName: '$(AML_DATASET_NAME)_inference' - maxFiles: '$(DATASET_MAXFILES)' - stage: run_forecasting displayName: 'Run Model Forecasting' jobs: - template: run-forecasting.template.yml - parameters: - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - forecastingPipelineName: '$(AML_FORECASTING_PIPELINE_NAME)' diff --git a/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml index 8400c785..21345ef7 100644 --- a/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml +++ b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml @@ -3,24 +3,13 @@ # Azure Pipeline Template for running the forecasting pipeline -parameters: -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: forecastingPipelineName - type: string - - jobs: - + - job: check_training_method displayName: 'Check Training Method' steps: - bash: | - if [ "$TRAINING_METHOD" != "automl" ] && [ "$TRAINING_METHOD" != "customscript" ]; then + if [ "$(TRAINING_METHOD)" != "automl" ] && [ "$(TRAINING_METHOD)" != "customscript" ]; then >&2 echo "Error: variable TRAINING_METHOD must be set to 'automl' or 'customscript'" fi displayName: 'Check Training Method' @@ -44,7 +33,8 @@ jobs: scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install pyyaml azureml-sdk==$SDK_VERSION + dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Create/update forecasting pipeline forecastingbuild_script=mlops-pipelines/scripts/create_forecasting_pipeline.py python $forecastingbuild_script --name $(AML_FORECASTING_PIPELINE_NAME) \ @@ -95,6 +85,6 @@ jobs: - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 displayName: 'Invoke AML Forecasting Pipeline' inputs: - azureSubscription: '${{parameters.serviceConnection}}' + azureSubscription: '$(SERVICECONNECTION_WORKSPACE)' PipelineId: '$(PIPELINE_ID)' - ExperimentName: '${{parameters.forecastingPipelineName}}' + ExperimentName: '$(AML_FORECASTING_PIPELINE_NAME)' diff --git a/mlops-pipelines/3-batch-forecasting/update-data.template.yml b/mlops-pipelines/3-batch-forecasting/update-data.template.yml index 992fd013..c50b7596 100644 --- a/mlops-pipelines/3-batch-forecasting/update-data.template.yml +++ b/mlops-pipelines/3-batch-forecasting/update-data.template.yml @@ -5,21 +5,6 @@ # The dataset in this example is updated for illustration purposes only, the data downloaded is the same -parameters: -- name: sdkVersion - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: amlInferenceDatasetName - type: string -- name: maxFiles - type: string - - jobs: - job: download_new_data @@ -33,10 +18,11 @@ jobs: - bash: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-opendatasets==${{parameters.sdkVersion}} + dependencies="azureml-opendatasets==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Download sample files data_script="mlops-pipelines/scripts/download_data.py" - python $data_script --maxfiles ${{parameters.maxFiles}} --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" + python $data_script --maxfiles $(DATASET_MAXFILES) --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" name: download_files displayName: 'Download Sample Files' @@ -46,10 +32,10 @@ jobs: name: upload_files displayName: 'Upload inference files to AML datastore' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_WORKSPACE) scriptLocation: inlineScript inlineScript: | - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" + workspace_params="--workspace-name $(AMLWORKSPACE_NAME) --resource-group $(RESOURCE_GROUP)" # Install ML extension az extension add -n azure-cli-ml # Get default datastore @@ -69,6 +55,7 @@ jobs: dependsOn: download_new_data variables: datapath_inference: $[ dependencies.download_new_data.outputs['upload_files.datapath_inference'] ] + aml_datasetname_inference: $(AML_DATASET_NAME)_inference steps: - task: UsePythonVersion@0 @@ -79,15 +66,16 @@ jobs: - task: AzureCLI@1 displayName: 'Update inference dataset' inputs: - azureSubscription: ${{parameters.serviceConnection}} + azureSubscription: $(SERVICECONNECTION_WORKSPACE) scriptLocation: inlineScript inlineScript: | # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} + dependencies="azureml-sdk==$(SDK_VERSION)" + python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver # Update inference dataset update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $update_dataset_script --path $DATAPATH_INFERENCE \ - --name ${{parameters.amlInferenceDatasetName}} \ + --name $AML_DATASETNAME_INFERENCE \ --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} + --resource-group $(RESOURCE_GROUP) \ + --workspace-name $(AMLWORKSPACE_NAME) diff --git a/mlops-pipelines/configuration/many-models-variables.yml b/mlops-pipelines/configuration/many-models-variables.yml index ca1ed77c..a431d17c 100644 --- a/mlops-pipelines/configuration/many-models-variables.yml +++ b/mlops-pipelines/configuration/many-models-variables.yml @@ -9,7 +9,7 @@ variables: - name: ENVIRONMENT value: DEV - name: SDK_VERSION - value: 1.10.0 + value: 1.14.0 # Infra - name: AMLWORKSPACE_NAME From 079564c9c021a5491e387ffcd1d33244b614a63c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 15 Oct 2020 12:18:31 +0200 Subject: [PATCH 22/34] Add extensive documentation for MLOps pipelines --- images/mlops_pipeline1.png | Bin 91926 -> 0 bytes images/mlops_pipeline2.png | Bin 34184 -> 0 bytes images/mlops_pipeline3.png | Bin 106197 -> 0 bytes images/mlops_pipeline4.png | Bin 35040 -> 0 bytes images/mlops_pipeline5.png | Bin 57728 -> 0 bytes images/mlops_pipeline_1_setup.png | Bin 0 -> 81213 bytes images/mlops_pipeline_2_modeling.png | Bin 0 -> 114296 bytes images/mlops_pipeline_3_batchforecasting.png | Bin 0 -> 78289 bytes mlops-pipelines/1-setup/README.md | 40 ++++ mlops-pipelines/2-modeling/README.md | 225 ++++++++++++++++++ mlops-pipelines/3-batch-forecasting/README.md | 67 ++++++ mlops-pipelines/README.md | 141 ++--------- mlops-pipelines/configuration/README.md | 63 +++++ 13 files changed, 419 insertions(+), 117 deletions(-) delete mode 100644 images/mlops_pipeline1.png delete mode 100644 images/mlops_pipeline2.png delete mode 100644 images/mlops_pipeline3.png delete mode 100644 images/mlops_pipeline4.png delete mode 100644 images/mlops_pipeline5.png create mode 100644 images/mlops_pipeline_1_setup.png create mode 100644 images/mlops_pipeline_2_modeling.png create mode 100644 images/mlops_pipeline_3_batchforecasting.png create mode 100644 mlops-pipelines/1-setup/README.md create mode 100644 mlops-pipelines/2-modeling/README.md create mode 100644 mlops-pipelines/3-batch-forecasting/README.md create mode 100644 mlops-pipelines/configuration/README.md diff --git a/images/mlops_pipeline1.png b/images/mlops_pipeline1.png deleted file mode 100644 index 40ebd90771de05783d2c9938d92a16bc4fdefbd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91926 zcmeFZ2T+sQ-v)|(*`@5ls*6$<5s=UnL?kp773oM75K!q|fq>Lt11pI15&}{~RjPEA zT`7Uk2|c9HlrxGWcV!%Xx$I92{?B ze%ZRY5B$w}`-+tx2ZvA;^lw)Tamk5;gPp5$@x0kxyZMO&?*z@6nyk2ozry?Cqj!-n zf2rSAOC*P>|Cnb1Lxug#4T5%;G||&IHm|;%AtF+vft0vlzOvzkexWNXKiu2?Ol`{Ati^9oJosHV} zHEzxo5fd!!1kk+hzUNbXc#k0t>&|&wJ?Dj09e8zwid8^kFqx;_2MQFr)mGwbXHtt0 zygLJA$_uFYItrY+buq;uTE(3MgL!jW_GYeizMHO=Zdd%vzR;B}$($cE5O!_(d^@MO z{D6|yfGgU^zsB?P^ull_Nx=zK-djt`sOMRS%z68@>IHo=e%yFjiyHL$G9xsbQf_?} zV;d;lcH5`xrH>RLp8LmxFtwI1v~!DV4mdt}U0;0F2+Xch>VcW^lvj^Ubbi>?CVDzD z^{H;x?_ExTqdsYW77VPNr%LPptZV%5NAe{K2Fy&KO4tmnm8(uzn9XfQI1kt8`*ohu z_K@1Sw;ucB$^+AnQ?XLL<36Fr7^|M}6pVV#Kt|-h_Ld}}{X4bx^=$BndCkFuy8b4x zWxu^L*=`CK`(KI8-I=Y)koa*GIVWc{pdV-YK(|XsaxG%qc~*Jnz1e1oB#}9(sCY`8 z(57tQ+~&ERcQTRg%NK1GFU4X1F!WCcm2|4-rQGCK2Y2m! zi`h~+{bc_c-Z}CIYK;;0$DBtrWvOcom}V3(X#v2x2l^lEd?SM8VZD5je{aI5WzR&% z-o%~jne5aI{oacQ6PDl84*Vkd;}>2?7!4>n4Ct$;O!xRuC8~aGx(J<=e=>jk^}aIo zb>=H~-JRjiWw-Mi7?irc0vlR<=VIn5^`O_7Bbx@de=Jk-A=86qKju35(EWc$Xyt_c zxC>Ly`Qf)EwHUF2A13IZ{_n5%-1#rQCnWj5U-+>`{~yniS7|eAvwZrMUgAU`p;3*w z+Fz2pV;TBo8X{)FEIJ9RLP|H)SV`%Q=RPx>8ELHG6dt2aJJHNqE5rJAtK;jGD;{J= z!wZ`tT~G)Mj~{l_Xp82Cy*Q#&m>xzOaZ2;5mI_&H3{+Vk_rq%Ost?pv4bb)EYI6i{ zzu!f)XKz~mhYR2gQz$qcFhA@&8AKZVwNHJ0+%&06nGovK!mTXhgJg_R;^{IJ!@`rc zcm6&|^sr}GtIQ-jSnKT=XN23Jd?(UaI!AvcYO=I9;Jvv0#8?C;h zZux^!D=m@SMJ-! zO#130`Oqwx^0s4Z!S!?!x_Q1FE9X>FHRLY4a|0akETjDisk*wSz~d%u`*rS};gSz- zIvTt6UOMd6mEcQ41tyO9G&dqjT*S1aWey16y|LX0%%j`Wf4@H4EpM?K%1 zSNR;VrvsY3nmDQx-NMGpJP9GW&KN8UHxB?4ur$`a)h>y?e);(yy>M4;V=Ef+#$-*aXLY=*}g1Flp6E^SQR5fT()Ggn-?uTYvr;ia>7Is0z zgdufF*|Mb(7qo2vShc$71Pg1-Jcv8QG9=R@hT?(5#pb(tEt)vxh))2xO%Tym^$d-dh@NCvH#hzVPx>8tFT8IsPb+U8N(%yEG z&00@-z^n1@x?h)4iH$C*+Yc99w?F;zizDXI>a^kI$@Qk1NK7R6(IGI`;q2w4W|^AF zU=NS>dC6AdCZ$YXb^eXkNFX5$o10{3J(K3sRE~pF2BsJc0=ub6jDR=SkS*4qP2sVB1X z0x;EaFZKA3b-?+8bw8g-ilra*ewT#{lsunrcAx`pw_b-I{A_UHY<{}0F88@hyHz>$ zt9;nqNR}V>3Gv$%AAgn}pibWzSx0Y8OA=9wp)Qn+ihRMOh9O?Hujd-KNSbUb)=~^I zex+NpSq{5$9m!my5P8GDJ`gT41ZL?+EXa8e; z8Bbu*YLo;A+h~5Fra@ARReRHy-#yGJ&)`-bf5Y|1$;|(pDzM#dWxqHBYZdgH>rJwX;LTQk0K`)Z<-Yoky2O4`~msmfjCANenD z1PS1s@}|fj^hLRfjE40{E&-FI9aps~8Fr>1{ziK+rNpx3M3iu_YYBYd9XT(}9g+Lc zIQZv12Dtmb$X(Oe`ofzOG?S8FHLdharu+)G`lZN>kkwvoO6b;lGrL3-bHzNv?2>ip z(%&HIE@czgOu}B#v;fZD>%gBOG`hvIl4&sYk$kSO#6Jy=%M4E3b}-UpuI?R-ICd`; z@}dYY+A^4o`mMDxq$~&*R@}DY$pa|mMzVp^m{(0n8Ph4rc8L16{q0x~35DJLi%gHT zLe}0dUtc4*cg<^a&WTDn2XfcFf6BXf68I{Fn<{s&uff+%|;UNCU&))VoLalh_~x-(g3XF6{C+d9=#52ivvec%hZ z&JaWM1G{8^as1%`m*4tAU~|32osJcw0!gjL++(JZnX2^ZxP0kKr6Q**4Off{>K*WM z=S%m#7>zNgf7o32ON0_%fO{muqxvZ4S)n_B{Z@5k=xwX8%>zAw$VGW1T`!Ef+ykAin3Gj(79&ZqTdgAW>jM!%kzrl)+y^}Hg8Aw(Z(>Hs0tTC` z&~@7qmS)T z<MZ7d^%MBn+r$*ca6})$?5za(M+Mled!} z%e{~1QJpv5a}$$S$)t_p9n!LB3W9<^ET&)nf$mb9SWM+i9u)DKeb*-f@pO>YG+DU0 zCq?ukSu5zFDo*i%S2sWWlb7Z_cSqB^mYC=Z(yPkSMu~$Vkaw&*BR9WVhi@#EsqDF+ zZpbO6)Dn+K7&9T0{^B<(*2=n6$g1SMicdR!E&*nt5^1~V!U%hB4CLjcdYzlPWn)nDRIlwBI?jT2lqx3J0$C8-iH=c^wkuz-WC_TEXl zW;H>QM1G|whcS=N0Quw4EBx`CR}sedRbGI^!tM2(+6%KukabvE<3H(`qd)N*sa-9i zoc;tVc{#9AeZf1`iTbYKp`vo~LN=s>%2J6ps{&}NjIgF*{Vv~)Sm z)-Aw(5+CsUB;fK~lLxarV4INFwqkTJ^UB|t6!qg1@w$&;H_?JEg4h5IU)6|n+MolP zG@;RHSO2gLr@GhxcO(qi_)Jj!gfv3$f`r+x&Q?2-xWuXI_2$EVeyVn$Zzy3kPkE4@ zLHp(VGG)pi_5b?efXHYn`pQT7u6Pc^-G?we{bLiLu6Jr?(xf4yt=;(N*>2(_9REtJy12PWJktUYUa1Ew7-+Q{es#LQ54ANslkM+HC~@PBqg`Hq%8XJby` z)kw#B;2^Q`;Y-i9vmy&vFh~d}@M`cN<#UBaLv$!bHH6H;lC~PH- zP@I)GF3%_*zV$2tacP_neS2K6m@EQhXhtnTy}PHmNOyP!F%y2VdHWma;5?)5Ggap{JQN>OY6d*^&CQk$7fr^9 zHL;*^)C_i=I80=|EYuA`=NvPsh$f+tOvQhcu6FPO2;&q2M;)2H?uTk1n z5E{T2txAkHoeQRc5zA*^KN}j`aaGQe0Fvq4ICi%Ex}*P_j67F4hxduO|v}-ZK zsQHiIX-)76qu7+#*u~u(ZlYC{4Z5o~)4P1;${$(>fOp{{Dv7Nk$WVH3O!$D;qwI$d zo4!7hk8j~oExsO3CsqZURM&vit8(G0d(Vl%ULC-f`^}>I0HwoUl30Ee9bQVdiSrl zp}a=&F4y-Nd_R9I+bs8U=jRU(TB8zzf0nuAClFTt+T^2|z;4eJr$nihPDP^QRjBlVlGtmBwgDq`4YtA+AP0#qbB*uN;>`1`?7d9%@(HoA&B$ss>6JVfps-~l z92bH8O0P(IZ}#`~hV&d*m$X#=Mwy*7%#>rsHV5Yv^7MJGwutUt?*w8hH7v+B+vWYJXUn^4T={MWc@e7*i zIVsr1PNn7g-_Z;~uqc4smWOpZ-SWP-6tG>Gfe%6>z2i;#{L-Gt(XLzs&R=PVsdQZQ(=~XH7SH3cQN3csBw?i>+;t}&8N>(YD+qKYmO>=zBCq;s~ z)xW;qgQypH<(*_3fDz5*I*4EUfznp|axh^t^P!){(i5YB-$$WxE_|~eJydvQ$7W9! z=^I_jy;q_a9J{v#@`IZnKYC#Jg8Fa=05+|>8ruN)w>%RKpQ==Z)RY#C@6Ye)lEP z7mS*i=3R&3I(nv9&giTgsO;oGi4_!tub(tev=66q+R6O5w}ibvklKjow2aKY_d`Em zt#hqE{fkunk42og|2TE)ui?(;LaG6;-8z#`A)u03K*`-~8yJTByN2EHQTm)YX5*({ z_LgAPsPqGz%;gf%Xy5{{1{bIixsIGJ;1WFh#&FMmu4LDzGYV$^!h3MTfAQJbv*&+I zVCK~R=it{podGDI+It$5lJFP8>UGZnoby~zrJPF$Ua9fx&Qi?UNAil;K~=>L48EU7 z@LK+^J^S@fgG~?n|G`rH2k`kn%AEE9Z0FP&MTgdCl}cU zZLwQRaq^&|a{|zQS@T6N&37Cp>#x+KJI-}$vO|NQx}Y4wd1R^vOb{7&pnDPjelOPg zM#gS8D6cRtb$=%3bndbTXe9RaGdXMf2-==sI4a^QZ@OXo@^ZcOjwV&hc?nOsvUkmT zfDyp!eWygh=>!w=LV*RRC*p|(?16m|O~<`#M&DgYOR6qw?q}`k!Mm}cJS8Fp}Xk8wa(hWV?;crit83!h^H)7WwYd?-2WjBh% zOfmE%2)vacxD`dh%UQxzpO;mU0x?#(? zqbQWHZFffB?JfrxEr?JRS*B6UrgusmG6ha)-cn?Z4KBu{X{ zx-Oes`hqcJ+S5WV1jQ?6E&sf8Q;ylI1Ub}!zVKm}iRMG*U5i5B=)D!iM z&ku+Y@(3ZO>K3&PAV0UR*?m&HlC5Yzx;7P~*#vPNP9S~U;r2SO+}CZq7U`g}hP{u5jqv+551^@_!JC+Ffv7&8^$pC2&@hu(by5ZA?P*7E!*$ zW|jhFAQ1PsTvZlUvQ1n}`7cuP6nE+m0kJyyE4&H8`>kCKRQ%4f}LYr+6X>HVFb zJlP0V1p`_B*4ku|HQxDonDR)`7OSOM#vV!9RU*!hJySt7yms@^!481e&^YsCJaV*V zEt@yZ>0l^ph+DGmnEwaO-f}6q@+$yoy;Nw!4jxwknqM_!T_m^oLZQJ3CY~O;+zzov zQY}%uJ`)NdWa;iboAs_&dWjE2wr&JXQ0y!rF09UH)edswwf{Vo zc0ZT{bR&6H{&VA?04BcQ!z+_y7wqPtBjr*2_S43?b7Uz5h}zV2UQ@ia?NK>y1OTvD zZvyOSCy3nl=$A*u``Cxa!J9XaTF9l9eI0@m%&Swp0zXEpE?hHIrB-t0H8ZI`+r(%~ zNsix1KxjoT0|37<;LlTxcL1cd@tcBgLQ!d`YEt&#>AtIXd(Iz706+mj>8qmZ+>eLq z2P6X1uGbENVTt`{mOqncxkZHa2BKMk#k}B?8wH32cqTUiI~u4wr65j<$#Vok_i8`i z|D^*!uWGDDdOd+zdL3X>#2Dn3gB8HN=a|m%00m-t5aS+`AIW2Tb&;W;l|M zFmstvR%B2&O9Nusk76xlzwz;K2Lu5%Cspf3cmXW6*t~k%mLmkTj4?@di{t~=e*O9N zh8@xijdkO!<_uLamx1d1%kao;W=Ztyk)-RsIwf3tIGC4^9_*VIR}N-_w4$;!K>@I@ zH8bA^17UA2S2*qB-w&h)O(luFmh5swNr>XDvHoK>a}AUyDm?+Lx3&r4zMSFI$pvyg zTCRC>u&e{DmsuiUW8hA#={Tc|%qdJPV-ZkpQ;Q+YH9S7+Ednh6M}vK zXrwtPdOpt__KOo!AkqT>=fcfh5D*v&Sdt>GoGM;Q9Fqw!HceJ|enzl6CGm+<<4E_o zJO!P>^z;w(ET0sN5{&Wmfku_WwT7^+*8MvJ%Bl7h@xWwBvpE?_0YRX7Q+QWiFZN6p(ua(BMP!P8oaRc)s{ zB7g6sRfMh$TFNKchX>gvlJHF>6*zd296B{j6ZkEO;84r1YDJ~ieAOTykO!y`714D4 z3Bv_6{#XmYt$**ODT0TUhIscBAP=MfDPs=C=$|;%+2n{$ZFOc+%S&gf0StNN*xb;;VJF){(#2Udz?66KzS(E-}2$7+WlPbO96z@is`)ysU$Qs7-@?d zB8=hI4oJXJ#{L?mnO-o_?FAr2y|B)3zan0 z?#d|!AEc=$Ir5T`pIshHm%*+AaJ~{k*AQ5bfgU8L zjP7v+n!ZKF3zH-$qPQzXwk;V&`Qq12^t)G*?Jz?x@tNdwuOuAqVXdLs(qF-0P^ts* z1ruohNayBndw#!u%E()$PuU;+h&haj{??QTyTI$*1#y*i1l~gOb}sl@c%hi zD%({qQ4nA44_ry{im6z_ZxAgX%tL{ZnnDlgoD=7Z>{yRWZ?0cJj^>*Ely3G?+&qmh z*c#GuOx0KKl1#t-abt1+M7tLq7fU-G?%cJ|5vTQQUil*m#>b8<~3g@O*-hu&$-VAcZF++5iTAXW)=XyitV z$ee}?p+6{rs)Q=gldT%qu&42Y%6-hRmCK3-6f+gLeBBnX*EZpr*|~}es25#LE{{_o zDtJm&*0dMK_ycnx_Wb}PO;Jrhn$lgaFYro6=)P^P*2z|>K?UD*)3>5RA+ZdSQZ3LO zcvNLHe6q5Pyx)H6I*`Con7--4A@gtHXk86UaA6~Q%0JVYoz|LXtp$IWW>^bC>pMAn zpT@NgAe%5w>H zJaK8JV$>kmVvaiwNCb?#!&DdEIW(3q$CG-@K1yPS;#LA_nl(g*wx6BhuP!DDEWT?7 zh!3GIZBu@Ne2?9BpWz%hK0azX_*$@~5{c1|Z_PL8u1gI#okaloHffDvG+LcEVWhem zsoan?NdhR04A_{+xln&5E{=(1_RHmUb!kY1#xJV6VSTxRk63uRXV^C#omRax8oSr` zD3zeHjB?bKc9g9izO`0wINE=i25Jtb_sFehvUB09W;b1}N8brFvQ0fMBiFad>-a9x7_jX|1)MZV+IMKUu1@ zGn7!(wrDLz2n_wm?8L53X9oIDm(lTsJRS2GogT@9u6<3)b=7OsdoyOm?eyB(67|1+ z=R{4{pFds@2RqyE%hMes>vfK%=@pU&VC?I~kPxDVOw-7+GUYH>|!$xaj=N@6s9&}qDYmufB zg34K-e3;^|+|}i$pOEv8K9klO^|U^9lBC?ow`tg;zUwnBE6S7`R<;BbH%jNPNIT=t zc>kYP{7#k=wBjwYqyfXWfM*Eujr2srj^y!b)sjX<&#Xs>ju2{x>;yzn_7jh;nbmyWB)86>HdZTHEcK@Wd@Cqous!I*P zqSbjENVIZJ85++KkB|RsRKK@wwCK;giN#>F*^J(!!pkA5qb!tUcLk?a4R#$R@g@v! z8#uTU8ko0E@A`@J6lv`&07^X8vO~Mwk6%m_jY@-EKc!lI=ihLl3&MqU*i!p}t9_g! zRTbr@N>K5q#K#um%`{vi8=m_6=2l2z6^~m?L3IMvkpj=nmTGx?5k3fEyQHyPzZFDT zh%IIGuTfPw{$Er1s0SmLH+0M&U#ZHx9R8MI7N#rN2c&`5N&TWj{&|;o8wmKy^1X5^ zlRH(fOL8;vy{@pTdtV!fVGV?yO0;x4J+1;0hdY6M(+snAoEL<~o4)}%?0w9pqx zbf|BP);s+YkZi8HBH1q2l4)5tgR}Q8*HLa5CKS#1CF4B@%`K_4mEh@E?IFfr&w1iL z%ojFSvlVsk8wdz1^+h}1?YLa3d@s%{(XDLvX(eB8L)CtBMy?&Y|j1rZk_?RA_Uw0%8I{$20yT;~&S#)nu%>rE%R=^+G$ z9mt!)P4?)KIXaDlp#)pVeFj2OgfdE1Id4;&*(_qGVs~-N+-ae9Orbx7H2_Js*Q@jS zR=t>?M(^9!^2&ad|YR=%;Z z_!}rE=@+%$uZdSI*UN9`vCNoE6M3ce&$ZY?SRWvgawEq#d@jXyOv!6lv2J5)`^R+z zMx3kFrH^OEiZ-RXAF%O!d&$ZzH(@R`a?M?Y1tAM%T6OyFaDe*Mm(U>T7{D`vauHq^ z$ejT6k+i{g{LUMgXpd9otDbZFDaloYCDtv~UGf${4}&n?So^Q}?&l+~0m+WXT={q+ zW7R2W5|RL;*dWn2Ch&8@yuflI{>b#tTwC3|6nVSdSO)XnAJq6sK&S5>YX0y#8`6lk zz@!a|8V=OQ-7qmF9{W-Vit-#>w?18vR*5u)X`PX{aR@@E)E6egE|2A#;dXDjfJv+3 z%}qTcuH{q3%Sdz&qaJ+Z98dGJAKip>d_Xze5~XAwv@CSXx=6L_XW&USz=DA!uQqpV zC73bLfAVgl)%`DBC+}0Wx@dW4ymiMYhN1rvD4%&%%vqGwwyTmO`#YMDYMEPK68)_8 z^122*{Vwa0bYL^-cmH{^791Hm26&H82VR(nW`+GxytS;VbuFi&AYUrRz%{oB@RCW8 zjsQ$4=e~*CE!+r=F+CSjysOAZA|O38Zd{8G5Ew18LLN8nw^I?*Dmnf#PWRWYuRi3q zPKR=t8iY_rZdp4e?&hsyW#{o(ehSkaAnh3giyg!ZiT&5Y1{*XWU3eHuRa~p}w1T5O z>{bi8%XoqFrqjFh%djg3uz01aW4r(!jcfm%09y{ z5Zz023z*A^GNc$$k&-z-8!E=Tk9JoIxEb}A29(QsX|9Vm_(8snUg~S8|1LMym&=0an8)Lx_velqA@e^LrxnmD{|t$7K+TC3+NiE?A5 zo25flIBa!!SBli2jfu*Pp8clDcCoStM!qo)idQTUB@*iJXQAS%HSjqT!a*TL7Z$Ku zl(hg%V%$@;ZViT~NBdvk69oN%d^dn+_M^vj-2B49Ma9_x8FGIpF>jMIu~O|_!hZnv}n)q_yOU8_AOAmE3%Z_ zlX&VSJ`b2rngZ=O5@pnCZzME8ewl8z@43`lkd4&L=+alvY_+QeFfCpt5NEsErWs%G zz#LD^wA%s#R%xg`Me=89;wI3bjZK9#ZJWzy0D}qJ4|-aQ z|2f1pmW-dv*JQd;zfxgn!roR;&o);ja`cLfvJLf)PKLU?0~!CPnxlX-r|%_^1*Go9 zr?-evdja~a(i`|9eceQSX~5K|1keAo8%zo(XEO3u0KWL~7kL>_Azk3U6_~K7uF{4x zd}eb*jq(MY6aA4Y;pR&(M;ny?kd@1}d)rzCs=7DD06umCB5*-M?<<%NB%=cru!h11 z`F1f;lx^Td6^?XxON8|`%40CspJoezq`;P?w*e4I$Lc}bR#UO&2*RCKAxd@MJ^C~I zt=FNmS|TujwwN@kpO1y0ec)Wx);6a*!73rp{1Q+1p8M8P0kpTXiy#vD6wiSIHu%dyn`nWGthty{&*Qr2>ob7u zL~DEq3DwQe{%B2p=y}|@1|XtCYct_=uIaP6S^>ewf2sxw+ZatAvfu=e$Wus)=>7&d z`uNNWqcpIw2o&J_YvJ!bHhmccg!}GVMU&ls8JOovm%e+Q5ps<5Udn4M-{NB))HR~6 zt^HAiUb=*2uOrvg(xgb^mA}x1yep;w^0v z=1jXPfENuedZGUCt_quN3bowmuxv7k@u4}HoL{^Av5UTtvVP@)Hl`^V;n?AkOmwS1 zQrjpH9C*3%j%hi&pAq)DNPzjTL+JCofi|GYtaPdPP)468AzY540=m`L2XG&qH$f$= z@jiei|2bX2i+t>vj7fKxfokHS3T8QZ#WSz+s*0rYhj|D;&q#Ao=1gS+N~n4$_vdj#(v(*3rd+`$ z&~bt8#uz3dbrM8V8Zx-q$baxh>Lm+tkOI*}y|hJqEUu$ik&}~^X+eL3tXT=1K*g{;fM*LGaB!~Ankxh2Q zIt>9l)g{pjkPWGD9)1hmHxey~+}9@X@MA)@i$K=xk#7+>ulsk7PKjposE^3cGqOHG z*uCZvo8?=t*e|tsFkedZ;#68s-OKi$_9}0eKv-E~PQ>#N8V-yS4hPv*$Q*pU+~jH( z7Z7wklE0JE=l_%Q7-U$Kt${X5Dz3%3-Sv$^>yM_ z#yKO&3u=m5qjiE~q4_$uCAy2;0{ilEJ{mWzXK0Ew8C6mSb^v(m?;0-5#Xdxbe6XU^ z-G|?GB}2&hbr;Z!7TCBA0ueh`-z)MaIFxF<9cK(M0e3Cg(wOt=g8c#@xF~qizF!e=_)>8eLph>muTGh?8JoBMg1UY9OrSPx=^z_)1 zltGDO?e=p7OXr&$gX5gNXu;{Dn{9QfNsG;kZww4S!mTzzTxWy zp}cv3#~0!WOVNSx`wm^p#O>)peiMg4B)!0<7i_JXZ$rLu)1>xGR$2!&hE+7azPg9_ z_Hf1t`6l@5$uoFo?NBHG{bB zekpetlnL1NruD{hz$Ok+I26;e>_7Fg_Ehj|HJ@tyAtvbV@d09lc1=$gqsGRHnc@l@ z3?Nwcl+m-CQh+wU=>)PGAK6{W^vaN_vpnzTFB(4~=T2-Z2PB+=@9Rc}Kd`$2iGBcT zYmXxM_Zwh)wMA^B;d3WMchr}e-NsklV00%b4(5{pAHmjL5v+^#+kyf8r%(Uw#x9fi zf31`Hzm*AsW)N$UVfzU{$gTPQebBNviK8b;i8=|PLGp|u2wSvs2TC8_t%+?gR=?xx zmlo`Qr6bh3wDXu8nN$CjYQ`Iq+JAC(1}rqcfy1Zgn10ZZgDtq4-O&~+hV9AHqU>Q5 z)h{;H+d=KHYkVA=<#`h!Q%4EcpjOo7xuUWmOiDKq_~dKyA>{xtP0CHQE`*Yo67dQV zposz#yDbk&j)!UmAPK9tmdqy(3ZY6KKA$fx00R zfH=H(e+-|UH7MvhQawtopxP!lBrpS1#J-@1Djq7Ls=f=!W@EtfMUWLhPhvcvryBt6 zexz#o#tEo5lXB$S5IrK0PFg6TP#0t@x1ik(Iv2L_#OxT2(Yo)47px+-$B+fBA5H)? zlY;bW;B)H)Br<5bUi~&$M3X)c6DLb;cg1!pU_mR<4CqUi1MBBz`~5hHO&HJ^-^jCa z&3ZIve47d=A91bs-^A(XH2;Ji+zg=SW+kNqa_4hF@m-7ft`whr20d(wdr#(hC(x+v zZF`gi8eGiHzc+DhLfYjUc{ZS3%)==+fD_gT7QMvd+l`&GhYl&|a(zrHF9=Jmad5~Q** zGjIR;T}IopzWs~i;1|cikl;6^fVR-}$B?_XhqQqNgP=1LG!jM^es>BzHPAO3KZ3lY z@7v9|cYRm>hus5D+9T~>QV^d-_%0XRo}C*3(18rAKSK?$DWJ9i4OKzFhuMJhY@pZs zc|+qTZUIv-loLSgkIAA@XMwNytM_O-#kuT>-6{uMA@J=@~e;wG% z>Q?)v?c#t`PIE-4y&Qxac0BMKRf4{4qE#&<&~+gTnw}Bcom}gw4W}GF#Y4F>Xw)H` zfV{JZ)H#9zI3L9q)HU&-gDVSC{2)3)6N%N6v!LUughYe702@HdQ%Nq<5}#>;EGfug z9!L(@)(wEpj9`OI1xD=3U8A_qlF$S7pnn3wBJ!Ii(CyO!h?$jT&?vWkw1Fptn$V$c zrf`7i4krYk$8x01bjm@{Y+(&d0=IvH>b zfrl(=4PvN+YsY=D3EMqxZqX_;1vT3nXY~Li*@7SMKVOTLtB;4|21KBhvJV0`YD)v1 zlI3ed05fCopFj2Tl~Q zg{q`&W;a9LZ?bbM@~HQN{{%d$8jsaL7(2g~Msn^{tRLwfPxz8yu^F zUY1?ytW&hjZ zr#q``8omz>Ou4-0!Y@_cR5TPaf=5hUHacJ3yy*=NbJ#2zR{|YKPg&$JXuClg38&ly z3s_mm1jSmfwcTS2Xt?5`Gc%wQHHZKRlEvF2!-7B)wg)L3{-Qo085Gd$5(a2FJUW1j zfY7Kd(2gmyO;47k_Wy=9+}JX0vaL>Ng^t9Ss!3pIf@%se{J`vaGM|+Z>=o2|T|#Le znD+~Ro6hvs$F6v2+QqhJ-1#K1jTL}1DvD8ULEcb9YAvWkw#oUr1rS5=Q?X&L_9PIt zJ9H#bW(y!VFXt&YVzy6nIDGx~`LOFlDWb4)dHQq2L=pg-YBca%V~U{QsZNZJn;H+F zUuoF3|M~tDp|0u*Hq<|d@*Q7JH@PWs&~-E>1pdCPZmw{t+syZCE~?;B0F4l3YxzEq#IqL1rVv4}lq7`;}U!$iKI*)s?|tbQArrj389xVv0VqO(H- zfWc)1XUqjpK1-Qk8O>FU$FYXLX-X?%R&}P?Ipi^Yf(J`^tREbr^b^b=cXF9`%zu@L z9;8Qw!uv+;2Qn%HWvbaN8bZd9l8;FWfmimqCHyQxKFz>4v&>5yX``Dn9hysHHT}i% zjIW?*&SmY~=JAh{PI+@;_2q-T^aR z?PfHHlmT#gyHj*Q8_ohK6KZrMQB)+++8wimy4BCvf zUV^LlyS?O@0(Y}U1U4WC`S7rqoc^5N$=dX2od1!Tm3W?p>oeDgN(S1Wfmc`l(6l;G z3!IWsJXC207&_Yz0jz4Xq3_8nuiPo+GDNf`d~@Y`A32uM0FZ-{R@E5nk~`d{?@r28 zFn~s1XqJv7`G3x7k!=05^>yr28V}yzWG1{8xezy%G!^eeemHowy?7wBNn!7GjRP+v z-p9YW06(^3g;SA2#i?kHgOgU)R+78@ckctst?PoEB&di?2jg$|=1gBtGHjjK!(CFb zr~PiGn<*E|nQk%i@ch8HV zQ9An)oB^@foV8Nh>2eA^DCLIT^!ru_bqa&h{PpBlu)=K!;>#!PWXd#Nyig zWljr47-&1eg%zInmewy=pBZ({UShmr>b5$-_;a%5g(P1rz+n}<>niz=XgseVTNu5-L6@ntY{eZ5_zu)~aQEXr~qzw{EFQK55W6>eH~aF_nr-1@1vu zg(pZoZ7QvU3y9+oBOrXXHs=Kyl$Qxi!dj0}k_Aw(9&?;(P)yzf7HB1AZ0L&h`kUoV z$&=m!rD0POawWXWMU|8~p15)mtg|ICbSTtrC8&essw;ie(SEtMi@B1bb24irDm}>$ z=L%Q%ThOmc3}vkZjXTB}%#lu!8q-ym)kd}UpcJGZ=&GD~kOOOe}CaW?;I3;HGBkR_*6%SbSc9IUbGTA zra4Uh$uQqJGOJy_Io~Y$JY0joTnIEW<~~L-bb1aF@y39{oEDYQ7@ugZ5J^AbIEN&M zeHFSI4?ryvUNXF#vEGoM5mFatxawc3Ec7UdJ>!?&9Ud9ct|Esnx{MPFLXtuU(g_lh zq-SPt^a?K-)`X6q$U-`7#5IkZ4GH ze>E}`>YAt2N)BQT&whCbpS~V)vZlFayYu86K@uPiI{7^i^u75D%}oA^wpj>ipzk`6uMn2|MA=umy)b|FsL35P07po?wYK^bRYFIw26PX6 zhJ-1|TFqMfQ{9hANzqU9R$j;ABGu$jxnx(@B%U#USWfn-g9qx|MH2IhWQ??3GNy8( z4TexWEnH)-!WK6*+SZDtyCuyJ=3RteF%>=5t;`rU&#;8M`>FxG_eh=0po9b>)Ng!L zHSmVB?tv+&S39_A*exG5=aMT)mmzHp$dTUc{b|{1PVV=cimCmO(zQPH1Km+J=;Q%&)(f9tX=`Y4?t+BcN`IylI)i==A4sI{ zeg(Fx(@fR_ca+)q4ffg8IG;Omj^&0znxP@mEvX)G)TF)5TPWc!c~(DpD9-;vp4Q2h zK!1GDP*rxRZADC1KwnCN=(WCBs6ikBik(#-ufT8So57d*Fp0Pa?T7&!m^0kd4FB~b zj%bN0dlfr!#H`^^k`x1FZ@QjC&qdt-LtF69#StL=lT3})WNi#J=IaloP-pNHP{)70 ztxM!1H++M49K7jd1u;EER|FC_&$-C9XgOU=(g~CE6P_ifkM_INplHu6<$w78tVdl&2*bfxhoLD7JhzB*rC~KYE^g&ZJ&;)* zG3k8yLgnzK>JjwVwuC%$G3^xFDc50HZ({4?8C1ML@Dzk4H>R6u4_D4&riyLBzFgXu ze~F>Fy5hm?4xLdX@}oB{Qau}>lN_M)ypX5Va+~#|rAA1X^U;LoiBn4AWp@e>I{t() zb0xc_jvD^e(7ar0ovcd4++ zzoyjL8i=%8H6@ne>yGYl^v&Su#sHvs7!);A7#IT}jEbp7e_UM8c^C!~uTL0a-VCHm zLRz?B0xk2x48QI$h+2R)Sxz`&cqIZ#7?T}|2_v@1Qcx}~PR7ssIb2q27BFD&`b(k{ zDuZkvAemMF?gP93gS@wns&Z@lg;8+}ib{xx5`u!TXb_ZE5Rpa0qDw%e1f)a4Kw40` z5u{U;5F`vjX-R3NLqIx(bIqkb&-0$|yyF|^{B_3nG4|Mh?7bFiao_ix^SXX@{XjB$ z6eE>)_!UTuLl#cNK2!N}_T$miN8D=S| z=Q8h%(f^!Y!A@#qn}`4>lBeSqIl}^_{Mh;RGM;mZ@EA;f)vMPRa)O|F?(M{oPM)7iBQ zAal@Z%UqtTUrp7qlY77>y#} zL8--lPR)8t6&AvbgpfFilH*um&m)_-0S6xW5&BrRy)h1+GQvjz&g zwJq_vL#UBRm`WPjblgJ=P8j+O{K{Z*Eq`hdWGV1YA+vj$a*yV;)4gaC11iXgRBQmdfX@2TKdNzs7@JGnQh4 zWd=UxpO>+RqU>n5LyuMl6>m%U(sIk6h~w0-5%CdSY^ z|LRkm@~2752M13^vrgt}Wn~3WxIWpI)x=-6z00u2R*vx@RiolhL4T6<$W~7=dt%K? z5roCRPa}g%Qvmyk74eHdbCA2Jx~m-P6|}a}xUrkE$>c87D8!LqIbGof8ub}cZr0V| z!El8V+|lUxoh30^EXwqodl%?1ks)+d=rCWzY73s-3s+=%gseQpuQ|G| z4MB6S*v2!MFux{P&8|Rs|3^JkxjO1#YSNZBgj=yT+6CzV*C1X;XJ$zxzj8);Y;)Z4 z9*6=&c6+`|b2n}AHp$aDqofrp(_wp(_QE&}1_`-mt4e3BJ<4o`e5Y9y>P>}8?04*k zX>u;&uGYSwWj3*|$-x(n93@;`g37Y)rnsSh+Bl*m6P82K3=ts{>D4y;^hx zeaG#iEtshHGbdFm#Kp|%YX~M49g=%>T+i1#P7BV}y*5<*iH zdug@%KG7>Q11VZ)rS;6>I{yx&He3E{Cnn;%Nv4he?(mcvvnN1Aqc1-Gs zdFr7c{Q;7ow1tnw&M7P`$91fi zS=WyJwPNo=u5f{Du+;Wq2;oJ1q`*)^__|%9qynShKh!F>VVBNJI6uA9B$lzvL(7P| ziow?OQNCB=Sv604IB6qY6$CYMK~1yDFK=qro%|wH!9s{~IZ^(_*TJ$^F-x9SLxGio znc>iQS8tMld{}R_BEkb35gpHl8d5j7B@xgt%?pY>p?Oin@cQA}9zQf;UbnmeWm9i< zExJS)u|(ZydLg7yfMTlgm53+c^zmnLr~Wukow!A>rtJfSHFH#|$Tu{Wb&s^UGd!l1 z>vEid%DP7LQ%34}Bd4%rK?Tsoqx6z41>xKI4t{{ERc9pxX2rG@A0T^vDK=tG->2&H zQ`IMg_T=f<p`TY;)q=!m$bcq6mO`zRdej@_OTqYH14f8P=E3;#aJ7$Zu8bU_2p^ zC*emMhM?_Ckw&y1F5PhEFV{5%1n!nU!od-4=Xm33{zoc;D>j{unt3?aTQmQ1ipryx zf!pR~AAjbmP!EfRio4>Wbr93q%f{KEk{m;z;N z0`d@(pWoh_AkyaBy9bW{dC%~VB*5{u7>qmhBGO#iQ|` z7qA5$x2#K%@4NtkY6N;j3t8v7L#Zth69%SK)fnd?R~=b`DK3&<0>KP-;dd9^L!b99 zRqi)`n{{dT;~J{yQ1^p0Bs#LUbHNf2MAfskvwsMBRitiW8Qvsi>i8~78PP$<9|O-PEN@` zhH+mavI+hGw6)UWav8+WR?|3kD)T#B{EJNaVU!`oAB$*T{3b%6#LCIEdpAl zdsB-wB4G_UhOD6^Z*QRAOYy#L#L48P@ku{aLoQJen%OrXU845kHtN^qgW%Ab)wUnK z194G#WidIIO7;laSo{7Ly9Bb7{g)Ublp%2GPz0(V(X#^ld(y;n6(2b`kmhD~5N?I) zn`J z*+`SPXC71KR)4WY#~=kBM!3J1vAQPKT_@7kIYoo&wAJ z=c)>VX*3|Z9{=m6%=-~ue}U*kS<|W<>gn{l6QDjT8k&U9cd4v`>M__$*E-O=w>4a< zAEe+jq@GA$ny}}!x3Cw1jy+u{;>UqI&owN_W$O?6A=zW~he;+_QGbYS65y@+j`S1x zKn*M*d!LUR()Qtfo=tGI_)o2X7@%bSS1eqkya51-_*qsEe+4vJuKKx#(Nb7cZb`Zm zZt32EZoGi8x+Ni~P~QN0(K>O?(%R1XN%TY?6W{r%T|A8#FBAqK2sv%D;WG+=h?wSG zk7!WP(kP+s_08}9oA*DJM;H-pg_mUd(mJsqb`>ad;^_(q`r}02>_)&@+qAc02_x`% zZUNWO*~2jxpEcNuC?0ir?7=hyhf=YD1QTxO>CIf zTOgzpQe`7)CIU;I0iK(JTu$8~kjF)$M%Pi66^I~gK^7^0@pjBzG(1Ct9^@3Q#gTt! z9ju5x#CqTqC96#~e@yLeFK{6#k`}-YICf?O0WH!eS5$Q0t zSm%>$2VJ0(2{az8XrpX|3vB?Td4IX1E@e6i?fQ?`ttF8`{ntTpy_XgBcOQ9u;A)y! zc1H5>D|e?NAWtKaKy&<3^`<xXF27cFZSFS6wAhFw>^Dp+WKp0R?Ms5+?>*AV0Ih!9imYJB&MKq zMgqw%Eh$rBB0v%RePZ|k!9n{Oq{d+JrLntllq~^~ogf0{0<*iuYwdKTKLLH+bMY_p_|hPZSM=(? zs!X_s|1~`=c{n|kd;{Wgd_2!&los#(A4=aK21wy2x*kQP?`rGbCbFy**>9ILa4F=o@$VYuraCH#qmRZ5{a82ITdvkW zaD(`~d=~x{um2=(N2{Ug*R2pIv9)w?m}PR%)zgb?{t;Fqbv#U3VHu?}`dT zj0iqb2Zhpf{~6B#-U;+u?A|9t6;Iqwj45kI$uY>`=;Kwcfbw>Fk!b=oQHg+$cb|(U zN2gaWI>>A*V87OuecQ8p8W~2$0s1hQjr{x;7H9*OEe}WE&tDNStK|ujh2luL>O$lC zNMrz`fmt{vfYZ@c&sAuM0k{)|Fd1mP^vws)2yrcZ1{16JIM@t0(Aq#4c_Z2|^Q*RI z=!OG3mhhqB_p8v*o##<5(_K*w1`Czhj#hPFox>^{7Q}ZNmsXwWAUC}b8L(pTO0Dlc zXCh1CV@5Lo<9Uk@#{lWSk!yedkUGNOPiGr0A$bDIRPNqHIrlPP8$Dt;2az!G0bYw08$5)DM^`paV)nILFKm_y>0AM9_U#bVeYQRs( zmsW5=bpf^$4k|qdWqcWfYU@`ZVhGPG>C5I+TrIA+kc3M7%KDhddi;%CF+qWSl{H6? z58~KtnplWgD?K*lXLe?6G|Q0jd)8e8nXvd!YCFF8%1i8&!>6kV*)_0cgrl!94msm_ zSHn@l3Z0ZQ3Pwbm^(z1XqfiNehtuE~uo>)o4FPVEfCpvhLST-nLy&4O3uO=ri|r0= zLAl(PwW*+&EB^sGu&bLU{c{TufX1W&Qcuqc(+w;{v%O^fet1(Tu%Nw@!|=N78y3SC zI7Zp$OaBt_u)Vi}YmD4UoR zNGMj#d4lS|aTEcJrej#}le?`!h0}w<5|hqBG8CSNhgxd$)}!OdU*ZZVo$f+hTWjih z5=ZEmqR?q}2cW#Xw1j7EIG+$S%R(Q9G|-15BajKo&_=b%pm97Z-rRo})8`}$L{p>U z8Xq7HDY_AmsQse22#F|rOo(ra0mMx~GAY0jf?tqRjrgVRzn$p$od1$X`4Lt<+l8+2 zwY^oE>#@rHiOPs!!_PFqAF3eJWLFej#m$~9FNcS-;mM^TO@vs!0&uyj5oxi;;Yqa| zd~uIj+X~HmIKuw&$|lIxFMfW0jl!qlr6sYxgNn}!e6X$9_77Dt2$fMFoxiVT4mUV^ zUv++R*(WRNP;SX{%wKz=|EDL)I4slUVw&4wR$7l$E*+R|bFM`61qU2s#cr+WM24KQ zAt>9xl=*7shpBkZ`*@}(-B3IBKQoqG@pHuBp$_pA{qAUWx%H;L3>PEbm1xlIb9h3UxhHkYf_ z3XCDSlrP-ebkm!hy9Vd7#3DQdK`}SGijuPQZ4wpVW^FccTY-Fwx6806|j%}lE7W!a91vK>J^l2Fa1e|jM27DWD0+l?AD!ti63O6Kxx;X|&w&YQBca$66 zrBDUiW{+VF@14Hz8yjQDINA#hrlsG72iZR$rpE&cEj9$6BTexPYNp0t0czIsYo62W zsRafM5%Pmk0|jqq*aqQF?W+1(_XFEDt7PV?n@!gYl3hn}W{osdtmI1mK=jOtd=W@i)Ix;kU~deU<4z*(`*iH|F^NwgVK&6;Dfz<1K=MWbZ^sPEDK=uLi22sOXb;#*&~w8yFtu;HPbEkz5Bz36;nc*Ay;Yw#k_ z7!~@h;p^9owZ-}5VlE`Qq<97o{q(ui+1eF8HO&Ks-(CaAel^9zs87#BKVfsU424WX z3LpI3?~Q>o?%f@ukX0u(dR@!6r*HI`j*9BY*2g41Rk4ZurjROGy$F{*62$>Heoe)F zkZEJw_Z01RPV*U~Am&t@%_3vr~kL$qI%Gn@zG@W&}5BcCok$T*if4~u5yh8gyjH;7%h0r^d{;U*s^L?ki0-Fgz#}W_8k*t@=`op|LMhgdM+dY z(}FE~c2<}_ecW*x3`LN_2DV0B)Ff^VZ9oQwDiX$=zP2?mDW-v}ndR)I<6xAM==dQ!*Ot?*}Rj zEc>3#OI)IMV*7ZzScB{HPa|qhHZ@shenRbY-;;2sux~CHh9FGXvGH;iVfZ+)mdUBt zxK003aANVxg+5n#o%`&r!rCUZ&yy#7A1v*V*U7N3UiGa*Ss{;(UK(;SKFTKF0wuUX zh}J_DErYiRu~jF;u4bV&v$$v(;qcu9;c?wPX@f|~GA#L|;v|wJ>1oVYL#&?s&#hb# z5jjp(;L2TLu7$R&LD`_?nsR z3k7pyax*-xT&XD<61IpOw4A;yXv2YW;ePA8Uta)0^nLx2)#XY7IaTLfhsiWRCCSx= z+_ul%zQL6C+3KFU`FPOjp7WUwYzwQiYn;@Hs%%z=ZNi1dsScITC95o-BZ1Pxn2O+M{H)dAB zemm9YCiXt^wQzx^dS`9MNW7=FoT{QWolnD!OKFhm6M>h?nOcM+24(^nnM zFF{LQI>8*-Q(#HN)N_HqNn^-H(uV~2042I8M@ToSnn#y`yO4x0`mC}~b7NsMsTJ|I z{7fZxTFB>nm_~~DrpZf^B)6yDq2nVTUqk(txVOpXR&6xol_fHHck<_UMt46|k^5X? zT7uh;T}=l0bOAdY@_A{asX|StKSdB1T?Q~SB^c!_GhU`X-;i0EhdhrC9S85hr4?Na z6%%PE4*S`@$=&B$tS*0K9c+r)Ijnhrx)ftoomD>^%Q_aJ)H$~QSnoV2)%Di7zNdPJ zt2nYOQ=hz}?PC;oGD|;vMvIy}hnP-2&)ik-c3QwKqJI<+0Q+Dmji0n0F{yo8wu09PF&nf5upjWob1zCn9mlQ zeVDgnx!eIeWJ7&2Ul`SX9(v?WGhz z9%~1vvEC-K!;1S73!`y>s(M!V2^7ySk)i&PX@X9~xfeoWVVn;~a_W)!@?4SKk+5-C z6T;05X`djgbLc$n(lD@jjqp{p(YC#KHHJ`59ke4tBE5i0=|sstL6LU--)>-zGwm!R z3Fbf2%!sGT+V`BKaRm>|C`^IZCBOAMidDMyu`ErZ0l7a>N3jInzYL#9-XDG8-c%{X zm&PyO5_b#zrtEV^cFGj%v*D9j;A!>6JgH2ONF zaziUsoC#0wH-L8FYx!ENx5m1q86wT7^bYw{v z@y+FWkd#|6t8~j%jF|mAcUZO*brr|QBKa(wF!qf(s`L?vY&l(Hm#gvw)8)Wfxza8a z-#?ZM?JwRAf$x7lF;m`5zr|8aoke|`t=_Sqat(vh(NN8yQySb+p`jqQId*!;f7(M& zh@mS1jr{{f$(raw@ekRDw@_NgY@`aCrpZPnVRQ>X$i(`uaSyjp?1-e}p!v`d;_BkK zp;nTD&-XYYdQ^Vh!5)xS-H!HtN(VCsiCdJPLEojt2|goL5fMDGa>eE%B19cU9`8IV zpAGj4zHPC~8k?KxRXqQVpa{QXB0t}`d34BM;s7+l ziS{;|+I^L*DHOwqoZGW=&+fN_@L2=-p#24a~*to5rHC*M52t<=c+>%gj$4}ZZc-ND<`wnUw3}X?M zGk(NiL*i(-oI+I;iWSU#5OzoSeY}i}S|a3v_7i%NN1EwBB1{9D&70HV7Ck?7^dEu5 zsRAD^rBnC0Bm~CH_y@~;P^C`C%+6+EkP}4tqheTC&t=0z1RMG|F&gIIb}5~xdFP02 zn|I_IO?~{Cenu@zwaCg-=FX3K#2C}Sb5Y^z1^sqst94&|MV+fSe?-v|-PBgh9HG}b zz9kCd1wYM}cmx-Cr7j^8`zSWZ; zCayW38~VLF{e0>PG}o{U8uJ-aQ&coqnzxeM-DqPBpCh4N5_D+ivYLT)39$Ki~WrAzS?LJdle#C+q0!w@@w7st~LLlY1_8OyEhGv7Fw zLtH1<3O6GS(}izAG6>(5$F|pxiH6xr>PLC^kw0uSrU-AmXMWo|9KZDm$w;MTjYXva zx(ds1wtzBX1m%qT>MvC;ePB~P`6F5zWhDqY%pPcXRWMt%ByYf%6(IOpLUo$uV-u4u zZ`wZA+sEal(!7Jqb3PDOCRE=;u*ZEFWo0;wLuBqxf&E_NfE1s0cZ}nD6!cZ$-sx`Ce zJe=bs8%lDja$tuxq1B4QVqbRyR&AkVj-CO@N56mj3Ke?&>j!8D+1%Ye#@z$#hRd}*?R|7R%czo24eDf4dNq_-RJWH=nDb~R+u;mADe_}iCyWsmzmRU+W~ z>okW1R})a-nT&mUX7X>kc`)|C{as_Q9p7ng)`hl75B!B_04V<@d;Yn-T%ltG+ueA_c#5c`&z*}C_@Yu~;?!;eEsg~@fn*Pmc7 zuH|1FZOt#V1U%6=u+sTSWlyHE@dDYALJb`5gs>*T_?4NxJ@**VsL|jT19Z;y+rQkJ zElqEm!at4dO_Pa-F#qvgGXHb%(8zyW&w&3>ef*af9_L8b)C9mVg zw{PDOmW;Jb7wlks%@JPS^7@vx$pcCi-xAs-4+3tU^flK4jRO7JubPA9j%;iqG7@6NPnVS;nsVOk*;(ToEp5d8@ zr=0h`_vtcaF|Z45e=y%0o_}^S*71SSF@hjjC3vshdjZcQBAwg*D=Qa7mu-su$;5ZM zbsX}FKDW;bPafb_{(Tqj6MxyVI^Fhm&v&|}zQy9@Qx!kQS|Q^>f-4;-DJerXT8Ycj zW@~)HCGg+BPU!bKxM@L#v-l^)?L%*?Zm1`nSZZ{~U897;`L8hDV5LTIYsyz4aipYx zp_^>hZs_+Qgqs$m=q-afOcGe8->)pn%p}79zALhfnVmIKfssBHm$jn4`Z#eDv^o6y ze*(MgU0eIn$84Fm&`5_*zvVRac1>ZvfH8Vm$i*&%Gx@RB# z5J9v{cb}Y+^7r0s=1&+Ao0)vhCp|-aT1$>U=z!;2)AHrLe3=V(?%v`tbuVoG>SWIk zbBP_`lhObRznlPP_cUmP6xa$X?2u$$1=54tX`Kh2p~7|r(0riub;EC#6neE|1 zq6l+1V&p(M>&8>+l=clr!lT~-`^oY``sFq7-wdn3hGVPPFf6rrW)ixWds{G^KuJ%F z*V7m^oq{y_Nr=DOvRysuICn0BDyeMaN9`(9$zrKF&J%;-)-gl{-{1*QL>d+JvCj~s*_o}DW8_~r z0T;Ij1V`yoC$&KBs%l5j z`xn!Y`jvcKgSrq=w;voaHROp{PYhd#J7&FGlXV3v0G& zowK&b?ReX|nSk&#LnvO)6lj}}kg51De4M~wCTeZITuu+0fyTV?djy)89^LU~g#Ssa zess8c>SDD2;N*rb$j@GEmfG8&9M(YdUT3;;G-5#$*Z~UXSma%$IU7V^fRoFmzDx&l zD3qGH^b3$MHEl>vT%s4L*&$k%s@3?tNbj5bKUbkxg+n8tkX2RZ#&oZu{*47s9p_V7 z$t8o)BNCqxyj293Cj*{UF%9;tqRfXUP8;i7Sr!0S!3uO5V@DQY3sB@)*Rbj@kw*a+ zRrhj)uAyN?#bd}e2%DyDF>yS%5arOpx|is!tMmS1UbU; z+mVWXK!_J3qA>4V2Zn}lgi9j<*+jMsu*cH2tzQpoz^g1sOz(0LU4)FoDF0+is&ze16U24+66Wv>)zL00&n% zbC^|c>jQr+Ztk>Ezbb~avjVPh8Lf8K;EkPPyCSE+Y9X$@kexS|$-UBO^3IQpXc!av zrl?_yEc`qI0?Eg*Rth5}0*-_9UXSU$^k}KZBD%RgZ0*!)QdPSxm_moKT7f5|RPrf7SW-4eb%Z*3!g(TRK7xLc&NITNrdfg0y)EYG}Ze`B0kG~_zNn> zhAt?>Ip&?H&wM3u3|7@UCr9<}v&RfPRmrsJf5O07UVHEjNXNPJpxG$%Xaoj2ac{&O z$S7GPm@2&0Ky@HRPepei=!kX12`Vc_LIg~Y3miqdB4o-6ymv-}Fcz^W_#+C;;{1Ci z&NxoLUqau#DcWJIN&wS?bVkmb-92mR6`^w8k;qW&&TyIYR%B^(7PVQ5Ni@2^g8bRJ zxgg^cTzOe{+H!0L3)uh)g@jCtXU^|uVhC0(3Ylq7lg;~pmnfm)t6D$AITU4T5ax}qoYU~G;_Qp$QVsK8)!_) zFuifi@A(bFO6HPgJ@=%V1z(^rFZsT+%n3MA{W|5~Fj$kqb94mKWnA^J3%-y*i>cN~ z(bL1t`j75_u$M~qiO1l`BCwksE(IUGvv1a|+f|5ML|c9(`D6o)Lxl0(YR=cO*BN4dB_Vq4exJhoDFomu9lyfNO|==(T+3`=Y&*a z^%e?Ym_}?P;qW6{8e@;b5M{xlv=X`C)_a70=WsO1sWOy%YgyDID!)rZvn;e^sQX)# zg1W4`4r;L1sc1VF^5=ZS9wk%B#;=)pscrvQug}9}_LJ@m^v)sl$PuHBdh<(w>}UdbI3>|*XdW0lR= zxdJ4)sIStbv#l$D|()|@MZ)e=(9QVnELZUFAH&3Qd%^V58p7T;Ozw?+CC;|#R ze?XlRGx^x1y2hr8XkJ=Vv@Qhd0h;z|P-5BLUxlTMiA;1MyB>JOV5j8CTquq1xhqtx-M+6lFz~6eJR>JJN_N?NI|{PLrY>&AHc~3v7ZTTH za0z}hCt+Qiy8#S7YxVJCQ8JSnE+}xBY(L7Tw!6Yw^LQ)s)QR^&M4!SB(KCvWT@Bk1 zCH+2j%1GqH86NTMNcpK<7k9sGrZ4&e*%Y;|A|H5^BQCTopo%X4#;I*}@(1D2TL47} z^VHixF&)Eps&3&vsQX0|K%O*8NFqUKnzE&m%lAR7@D5Hq=%s8?Z$N-@7$aum+THUX zG;Axdj9)83^*hEbNvJtPo?H(^D&w9{z*!~Se2kLRrwtFXVfn>M3WjK+wri)dLm#Bc zc<5mP`p=;m3O=if%MF}1V>-2v0EP(uL&1zMPu5rLI0jChcwg98V@XrbDj~fnT(t7W z<>sUE?gAms+n~IE%n%N4U*j1 zPhAL>r9mSMn8kfF>nOH`S-Z+dHfjokhg-=!Ej!ZX6RSZ;K0Zn{nc$x_K;d=eC8%{K z8^p=5*{qlY*B|E)9ckhI*tuuy=R^9S7)~rXZIl2kQyr6F@Gf0Zv^G8FD zk9?H|H@GsZm?;K>2L(7{pad=cbms`Aaq-*PyzQmhdb&`#xY4;NDC05cyVGN0CQuU;qe9s zX?=E;x}GvIFNRg>so?%+{5o=7Cx*q9)mT5ATD-@;pMxyLfAOmVQ`IBpRYz9;=k;i$ z3Qa!7OP}nOzmlT2nNj8V+ymn>BFkD!ZB_5rBd+z^+!&$Sg{DxKqocOU3|zr7Sx0S| zA~e1Xz+$WeNsUl#q5pP@nr?H0I|X@C-bPUE=(+Q%G7>^R^7>>~ zAr^R{T}@-oo)uXwz3vwn!v7J=q^fe&(5OUD=8G5u=48#mbRg~+kS!VwnUe(p zpKBlJJv&rnIn>w%)pssMDwRAVra6GKpED<&9az*ch4j=wWyz~o3r81(0+6s8HRWpXklkeKgbC@`(;`oi+UtkMhnWtsje~9dB(|P@FO|JNF}8{EjEIsZ6>8cvtD7vA1|h|*XK_~qYVL^hE%$8VNDVqXeW%ET27@8j!0n(1n>iVY*ROJ!0) zX84Kk^&29!+rkpI;{|yE0SGg?B8wo8yjSlIJL(6qXy|B~LpcZl&06P)Jyv?Jh(SOi z5&RHjf0c80YXi_H_VhZ8URzLo&Eq_*-sK$monm|Az#bOPr!|i&V(U}R2VXT-i`t*A zTNDy>B#z7|+x7irv1Qvrk!+V8$ghz_!Cgy_XU&Ai?1z@**eEH*!C|4x%D(@yvN_Yx zb{fM6o-a%M5@)|iaJ2k7%KDHB-}iZ+sOC>G(TrC$7H15?aZ1oD*Itm2F0`Rw6RYR% zfB!hMhJ5m;nW8`;Wd!2}*}kWw5f2(d)JPU-Ml@@kKX_|9O8sQ+iEy|rg@QmEIZUNWtD7-fspnqtIs3U?qQ?BdXJ5P?E`*a+Y0q^_-+lF>`| zTulnv1x8$I?-is4o>i|<935s_?9H58rmb!r9Txo3$34`q{Dn% zl4Soe^Gc~6Ogb|==XJ4_T?+GePZv7$YzD=98PZ7mgRB(g7n6S4em}qaqB{KzfyVMf z8Qq`A`n6=>Rqr)+Y31?j@|~3q#Z9jHQLas4#~ECc{N{eesh)yi7b=R86#1Rit#H4S zF3@p1%nZJDwmziNe=zV35jn?|`x6XR>m%E@fDJv9aZp{J3|gfqsi=zvoS*!=7;lzFQx7Yk^u$Iha#$s zYiuQCR%cSuZs^K!_%CMuTmfmtg-U=0Y6l9bSdh=q0Yot;?3oP+DN}0eL7^4Z9~*9P zCAQ6We{AH&kGl0QkR}nuW$iTASG<*C;{7zmQQ6%&Jn+bt@&i_kpIqKI!U#SN94^Ry z5n?JMbS@xt522xFZ2STjZN)-<$`^@Quq+BQ>~FT64=xGhm;9nUo~r9D#yCZuRQq+I z?qt$>X8MU_IL5`Rx{WC%35#DWX&0HrDdpsEw0wn6?|_FcGG~7R;Dr>rRRTviij=g$ zBG>_F@zBi(rVFc%F{jcN>WP0%}20zW8sDo8jtL5 z{1V}re2l+q+L)d-&w%d`K+^0*NSf5;@48Sg$i80zWw|04JicF`zDoMOxzPtz4w;I7 z##;qjRuS~FTY8nS6gdiseL`hN?r8y`06))}$Z-}Q5MfZX+3r|cZe~`P_jRK4WY@zK ziFPo4h3a_K)Rvm5y#hvWEbuy_Sp%88DEFSxuS>hIU`{819l{(OWla$W5F{&tCNeZe z5R4QoUl0px=ocC&)ez?H&U2}Rte$muODNdTs-8I7jgjOotb@t#U?r1-!s^B` zbLdr=Hb<5qbs^FQ{4cO>?Eohy*cfk`9XtVAMYZNfb@-cpWbF$hX6R$F znj(p&4fFMMWn@lZ;afRl4y+37_osnM;XRxAVbZ3u=(KSC&2|DDP z$TQ5m)YU>jUV*1|8Uq^ylW>c;N%Sg;aZPEs5ZrMQ|}UbE0^ z)_ZcH+TVQd;@((4h>pu&v(+Y^l1-qb6AR|#YW>oIcHP7 zR5O5FY=f}6r-9pOHB2_sBJ*;j@$wLXT__#AyqpG41E06n1O&eLV#Lu+A*o9eaKs1A zF38ut2z}rQ*Y z5K?&8Nk(NmdJnM&g7;5Qag08+^FBH%{Nnaaz#-6(#j0=AR891dPD69W&q;*LB`8v~ zNDe9&BSPJgO8VrA%tXFqESqgr&^IaeVF0#`=D(`zBk|}l!cO&R6N&ZuN%sBCi*L_j z_D9rsN|{~waF$;xA{y~4df+oFW5l{fygn5&b8+?YBW8`FD}fFEWY*D8{|A(f298oU z%H4U6snQs6Rwq=0f8iY2L<=_NRzdH=C!P^YIf#AGNVHe8*6=Yx)yPgiYU|op7ED`> zvng&Wz%fG3tkO3A($|}hc0_5b$1Qx~M+z5p`1IrK788#w#yP6w42FB2@dQ!(W{Ix1 z&Wzh$?JP~6Cl`opD&%07{#xzQ1inMD_rs}Bj{elCs8i0$+1cn~%HDr{N+8&3M?aWb zS9V+Ubb)e(w54a=$nX&|iQwUp#Rc!BNm{kak>m6uAuP9+Ysg-AfG_;GrbCUZ@`;y9j!4c~Kd z*Z7$TVk5I`huEmDezBvlXQ(1Sy?uFLWhPmW7nT$@~9vqrDd<&V@?^=!mk%*0{!i)$3pHp(I>7{yUC0n*JaLtT4JMwxP z^RB21=+?)Sv^Fg@$+uqv1vmB$NAnRP6w2P1=6-d;9nRgP4xBv6(PHE=&Joclm3ird zqN-|9(_0|w>}#_w(_iD}#n42wkS+QWE}o7!6v{Y7xlrb!c+K*CdCfiE-6_T)FJ&!( zV6Qvp#7Y-E7obqmw}yM0xn68dq`JL>rw%V#E!KA|dL=4HGvq^i9au*yrD1U_+2ITh zC}74bD?N_Kn;xY2oSY4EJi@x~O2-!!HcXw=?wbwTh)~9hxFn*?8mYZZ%!#@8*p%jJ z*zn^eC6vvXvk4*&9hfN>_au}i7=!5LPkHaHAtgXJjrqfQvgdx;rp5kBSG?63JIUV% zX5OTTpnS2V;O&p?ayYGmv+^IMZ1pn2T&)wk7V(0pA$ zR*ppDiaN6PH;^*1Y)QZHk%&R64Wl1rM@AwH{F%KUi-bnuUh(4$3yQ8JqhDl%0oZu5 zHumF1;njOao+2Tcbf@<=0xc5AVq>GfVcmU31Z%3KzvYWT*QKOiku*|ynFqzsyOS^~ z;rLQ7@-T+0WgBVRpW;pB^(x|F9pR%G=31olf3Are3K%_Y)q4zZKN@|uJx&ajS_9(= z%^q&>yH~{jZEiABka)mL>vTi}5)Z6=K7O=A|2(I{{9eB(NTo76I`cER^VD&NF&GJx z2#gadjmpT6{mjYo*u`@Vu>zD4>14JHi$U_itsL6vxZHEy<0Iz@F3Q^mt1FXX&h3(( z)6SP-O3fVkoq&Gv*i{(trd<^Ox>qJ^+sHB`OejYYFC`GT9Y;lQbBSHFhrDb?S+e9o zAYOOCowo%CkiE`Z@P#m!zWE&maN75|3LhmU>6)H#se?yIV8>O<`G^BIY`^nh&WAUc z*19wWZX3mD3edf9+fQ(j-gXGS3-cfpABjWY0v~87A3*RsU~cg%uoa1&^md9Z ztODbB>P(JKsWpfTEHIOMo(HOL9AEWh6#XUBx}#%dbj`&Tx)p33du7#q@{VxOHj5*l zvpE#_^2jII&i=Y76y<}j09>2~GYQfGWEPjWWKO<$T!$c?=^@sbzj%4?|40YJ&9MnF9UTA{$Dz>b z6-Yf#1wW=B8iKlc?-o?ta>(?sD^0;Iwl{weeJy5)8Y27GCkyT!;O4L$!rw0DTiA!# zU2nWo6}|F*U;OjGtrq(K85^}@t7{v3K{8Tv;EfIK={xpV0!$Aeu>Ln5OY$u9`9B%(kpDy zy!8A11OzxRNAZ!Wg|v81gsv?AWT=hzp@35<=kEXqf-6kK82$rMm3OVA{_2+gycZV$ zh^=!+jlQXig(!eFcZO)!}37YTe(4@)((|I46@ESfQc&|Y><4w9%*cP{{EZqqjul_ zw2+aR+g4a&E$-vxZ>9Irh4&U>9X|XcebT;;3SgK^8V3#?lY_t+?LP1%bg*W`hgR)w z&4Q7HEd%_s7aXVB7?Ax`@Y>J+S;?e)+DH#sK9PW=V*zF~IDjL4;wD9N2Q(&8$f}OA zUQXJZVHw|bz>e%NSKK2o-D3vg`?8eYZ|@(0k|IE96!oveHb@sZtcsd%H-NS90;M6B z(W8dH)vg53r6@pUqraJA$fYTL!#qLCE3W=+OXV#@1TMSC<5gJ~Z@#;)%frgKVFN0qeKi#~0Tqn?Ks zgV5YX$%0ER?(}HJmbAZ=mFsWB-K5fefnyu>~KcR4sg{Z-26yMYR-OBL>nlF;TDp*H*p@ zcY~p#%acMFQmM=f+MEJvUn0?i+(yHb9`VoD;?e`rUxKI8Kay?6cCls1|0xvg+=*0*4hUK$fE#>%8sxD|Lj3??wZk zFOJ_0G$LK6l6_S|=tP&CN&r2iIUi_MGkdZhO-NmurQ9a%D%e_IFvxXv53~D`vZa74 z+d|5nxR++1srvn_Y6V`<-rT%*Au_}f&4qDw1A@1ygQsTEbS7X%5(yPz!7E;u6RaL* zwud6g(g05qd2)(}v3dw4HVBRQowKWbZFY{Tz>8#2lzeV%qzXiZe4-E!HVw1|YxhO- z5x(IZje;UD@Q-^W;Gnl`T$nWD)9N3ERENnGP}_{JTmD!8%We`HQoZB;=h=v*fE#1+ z$uHX|*Xdv4m4nZ)%$HJ6%=9}M`*F*z&kuG0u^p|$ihR-LfB`82+iTVbQ95?3p`k=& zEAxZGj&ptd;FQt@ZiF(zz-XI{Wdl500cFOu_M7n3MW*8$gE~ z=V2%VN%ye@U|)^><=~<0;Hjrkwft#j7cz*N(j3d$d*_1HyrYl^W&K>Dy-aS71N#RU zxsaG)>?fdiQITxN6?W|GYO0Y+ilitaHYrkg9)H=C!?wS)%{6p}%sOZxmguY0|KRS; z!>R1wz2TK~r}0jalDH9CW*Lf*3=M`%%MhYyFhrROA(av;l`)x;g|$p6LuBYKLz$;V zA&L-^ObMy?JTLm~-)}#A?_(dw^StkVk7xaLcc*2o>$<+*?|FWv^SPaYdRm^x83~}5 zJ2e5sE<}R`&o(J>z!Ds$bvkJ^e0=ot8+i$0l!DL|8!MxnP`@Vm=Fx`hgEn zh1M*IkM8;D^scb4QiGbvB1Y_$P%zi-jVa_d5f`p3v$1}*oZI7QW|e_Lob#5yAK22| zVJ3YNq&Mu?BdBV^x??5lt?QB+1rS^@FeJ_T^Akvnq|T?C?(e*aI*0k2ZJ!}a_8@rC z9Ta+RNH@VQ9}^J8GhOMzs(1mUkFMKkogcZMv7A+p61jC))Z9y(e1lz#iC=FcU()*N zEQq4^^g{Jqvy>aO3iS_X0;ijRW{l`IXH^Zhw?g)O?TE&O3V@9F=BILP9Q}o<1oFox z;h5Gn_%76SVJt3W+Q@&dJi6oDZiVN~g5v=dcf$a~bRtOuZZUL`D zS2sNNasl@+evr!|y+Cnc9jO>1Zv{f)Yp{;e#GhJAMKl!#XB^&YY!B2V^2aDhbJ}cd znIWX^v8{cthF%Jr964}kyUyRhSp;Q=E#0Nh5Kvu)%0;Q2eR9T)cSVKQYq+Pjo5gE9 zd(2`Q#&ae0$NG`iiF8fMRa!=^MS<-ackq&=AfOg-<|N?!J#pE5f3Z&RA7>w#;8SN! zY|^7R2lA1t(N{V%N?X*=r5A^*nr|5G;m~nwT461 zy6MRKoi-e!!O$1&%mCRaW8{TqNT8l((Rq7iA+rdNJ^KanS~Du+dU~cp>J7aws`n+b zkkG?7Qz8ji&%m^||7XE(#jL!E0JbZa?(dzDh50ue)7qxYOCq6$`mxy(Sn6i%y+q_S zSfsyYSokvstlb*jhB8U(FQ#L~lJbuIi@Q^@Ans0?_XIo74gK8}!eL{hVLI59QFr>b zrskC6vuyQsf2m5bn#vOgR4LkeNHf$dx5AnT1o` zgYSi${?^oFmi887Uf~x?82;lbk~T{(#kt^~^Q_lXH@j^Qq>G{uaIHm{>K>3%Y{5gg z(oTwlJsQXV^qtj6f5OHr9Juaq?Q>Jb0Pwg8g;Zu=PuN#ro1Hh=q-ByHx607vGoRo3 z5L&?*>AGDuzM0N7e79Arb0M?n7DrX^v^Mh~Um0cgMuf<+n>`m&l*i=Jf!hp1r27af z~~hbjC=WeP^Rh>cuxFC66;GKZc3IN$%sz~X&K&@NU>GRGzV)Ua__ zbT`_P)1|_hl&G3wjnU%tC+hceQWJK-X?%01`fy5NnAvMaGTS#=)~wdx&lS1Xg_i|_ zhAqXSn7U1PomftT>L8RQY087Ni( zJt$i)m-ylkb2yyhk=Ej3`Z-5Mj11|tylL}PhnaSDk|g~v4M~Zv_}q*$*5x+6yZK8x z_!2l6RhsenPbGxaG$f_kCHGaAu}H&VdP-iDXosPc?}Sob|H#1M$D7j3{cqb}3nxx7 z!IK@~lQ38<1)>uL^2MHk2;XJ<`+p|#Vit zZZto9d9%{K@egUbxQ549fCRKSth}AqiZV`LTpY#M&;mV?ewyf`7wSfXsbc9e0=(2W zCr@9n50cxjU!HkbD-i+qc5Y-&-Veu0NCR!75`Z%<|<8_cDRe{+;YFvbU-(SnuwGugNP zYJy=kQC$~*&2!zl?pFat_8qiyTl7)yCQrWEOD#Kp+}k*D>Zs#O@FT>%)Q~FkfU;7M z1_F^~4!+ZsZj>YKFq^0u>&(f3JwJGhL1k1h)!CBHM*v*_yU^NkD6Y`P-rhhJb-PVU zUT&Q7F2|!`l?Po&(ShVEwUV3P48mLTbUG&IZ}S**^USfk4t*OR$V%DVQ5$t~q(Mpv zSn9!96DN@`_uSrbnD5TW{`xe7AuQ0P+gP`qK6M((kAfWr9x&~&2~O_O9Pm$2LA<6= zFA_MUsei%_gzN{AIB}BQ$m?gjY@^Yk#PKHh*pX>VbZCX&vXWU={{Z^09tyyVC!u^) z+(X~$17{XOrZpK&f-O}U7NcFouI4n;ZX^^eU-6nn&V!GlW*XD+)7SEcbLRuOW4t_y zZ*pCDTw+rT)Iz%tt)p#gKX3#x|K&gDz81WHqd88jbsl)^{=Bn|%Al3YtQMp9%!CDy z`98CC+&bC_4a`nUYKn)B6&zO1-!iscJ_TpoMVD9n!m?LiE1k=ZWjVo^@?zxjY-ryT zee3%Vm~K#6@K|rq)mU8kK6*stTb_Wriruv`$kmi0kH!tBx5iJDK-;^t8M8Eh%u79( zHuvV{_hUO&+fc8tHzkko{yfTG_ve`TaRb$c zPzU??U)VbMC5vTdRpeH`;wbxdxMHfd@S0xX8e!nM9vePHyRbeT?k>H! zRzZW2Ox8DRgHtgA;Ny11@a0K8OE-t>@~NMN(s|&kYJq7b6lSsJyBPftCwUMjG_5ra zE1P%*o)On-8envMMCq%P8{DAdA7ZTpNu7fp8HoTU&;IczcTAhflUQ@+4gA~Lj!{|G zlxJscHlX{HmCl6o~~#2R2`-jeejKUFzWzuzK^|v^NazERy6%kgICUmL9GLi)2#_Y!1g()fTF>dk?M& zrd0()|B;fHn#jfoa{>WH=g$$)Qfm|1(I$239rUJ`-z^P#uieSBgqkYj))OeyU$ssD zun_%Y*}5h7QL=`nnb67jxyF;2cbRIbJ5z|E<`&C7LFx9IL9q{N*!%ec<#V9iIasp$ z3*qz{cMTfYl)=EwO;jlpWVwq)mP|K z>i#Z=X*CMn6{qCaSB>4v*esqj6YLl5x1Qu4=&BwgLX;!XB2bJt4TN7v(m0jnEx9d^ zwZnd8qK-k19+;PYMl9W-KPJ?!r19Mrs=L~owg8OXD5j@7e zqzR^{MiaZXHD-D>1G#bd)F*NtkJu+w=4*oIo*CL}-g=i5M6%!tWy#mLEoM0ieFev~ z>Pu6sp@z#+udyxp`}=2&6aJ~(7!*Qet&a#aNvVlko+2le%9I^L9a;~zvy9^gFvJv;#E*T%+~ zSO3oOx zSwYzq4AaVE;L0f9L~6;fsk~JVNg)3%s^y>3>i=6F=Kld!;;8T@=n{eCDsDm<>2O2w zg=sgyj*_A37GJ}oT;#zoUo#xbrk&rSko>NW2D+pNG%{~pNLg( zuVRE_+Na`YIKS+mU=jbKGYDAmL3HABf*D^bfGh<=6_HB8S+_xr(p1Q3y9!~EbR8c9hqu*a;jc&6mG|>O8R8f z_`ojoE$i;=Jge3Y-kY=#$IgoETQ=O4CF0pu#a>gK1MYzX-mug6+pu*AJMO&Y>Zn;i z0x(r|B{|||N7SvA=Gh?&m%;+maaA@Y_$MILpOLrMsgNnynl8dn;?iK%xn6~k{xHSW(QRwu85tbE! zbUt>zqo7DU-&g4m!GGc=Zb5_KuAr-ht8Xce;`u-Y)0T2Q0y@pG8jj3IjrZ}VvsWI6 z^b8#c%|2OD`s2;DT}~(&yr|gPX5-_8I*^vMOcaE_2~seoooAB#x!X0!~iP>t7q;QH-p7iAG;k3CN&f zZgAbPD32Pna-^JxMcX+msw#@JLLIjjMs~!rVusDE!6}xDLDMfLx-lZVz*WUB`7|TXX zNB6u350+TH6^IPdLi#|15s#VWLzOjfyF7iP0M>8?bVp93qwr~|+i8H6_(Uh6O_D%h zS~no|B>TuaRmH5-IJQfPwmckQ#wvnCp-9^iqnf!+uDpNx@j**p*eGh|)@8XD?YFkF znaj>V81Mwa3M7z;{e&jUq=*B`GZQwbF;nE$6Q~LVb0d>0wzO8zK)z;@KFHB{!zXm&#_ng;hHmw&w}AgOm_6*mfp7a-PmXXye2#;;zdOiOCJ> zh=vek0;0P8KZIXMq3NAFL{f(=V<^sTLSHutPjT|k`MH6y=tNCDW-DPwkaB7RVMb2& zH7bb@<)gEQGab@D{0X?0>X8<{9GsV0p?e4i=z-*iDu8(sO3lj8X(4eUQqBb?_BnMYiH{GUItWVnXk z0DPc2u{OSSI6`1x-60A?9yo`J6(wQbxD}gLEs4hbHai+Mg7Xy2@L(s>5F!I5b&h<9 zWqA>1mL)5sKaZI>x+s2*Q!@wNfi zuw}7VpCdyskAwH|BWS5oum%okOU@iJ($^Oj*18I+F}eH;X*2B=gktrCDtY_DxuS#7 zsw5d+?nXd&|2@UaMro!72UrL zB+st=cOtn*gWY*xL-E`#H46BC-I6EKe5;LDuF+sTY^N^-2tCii#BWk`RB8_R$vTq0 zyn8k1q;i%v_iS zGH=4;dW1DKNV)NkOelcm-|u+98*z`)H}ZORa!}gxy-@N)FMY!X$TaY_K*Gf0D%~*U zkf$&6Erk3Om8JOn&~wjbNOm7=63BH@`m!e$tnE(}TiA@ks??6_v!>p^w`!~^#;lEy z{cq?e8&XkcxJjant@1PSWywt*Mt4eJqKq5FF|!-?21%M0ISC+Hg6C%??V2pWa9Bne z<%g${zxhB8;p<-3$FpD}y9ZNm!cwZs6}o{E|1nE2z$&hP5yc#Z@_MlG;eIpd>Lw;3 zI4umdJc``Yj=(Wt&PjDM_P3UDW?>p>kuCG64^gBU0&XbIuKWms8=G68IAl3@`W)6Z6@l z&OfTm-;}$8eAS&EZz#H@QtaBU3g~9C@Wk)tsh7Xynm&gs3uIsyajO{j$qfuTfD!-h z4cl915D>N5*zp|#O`2dUjDsGm*!!ZR^%kJ9T&5KGzOwC2K}uwFKXW!;4qN>LsDV8< z6T80c(83pYfTO7$5^h}{396^%qH<%oTTcnY*j&tHMjoaMxd_A?d>3Te2UT2LP=pX2+BopFJ0k_{tQ+|ZYb(a(kDW;VeiPGAq5`5yMd>=McQ=PWGy=!yr79>X4;f+Ypd0A}sZdX|jRLCpJ(Tgal(Ig$p; zN=j-66vAWI;2|I26~DZw(K{WpiqxD)H19M<7ZZuI`G3*prT1d$xbMr1*=@g7ZQB%BbIx=t=Q?)C{o-{RZq1ljckzeCLSqh_y$b(uTb7j< z^hgsP6lXIi&WN}CyPp>|JLUN3 z??3FI#L~rW7crOdvk+I34DsvYN-z`9vj9kH2{6weqJhrAlasjXW;^x@06e+U6R~3m z?GF>#UVawoxV=~Y=$k{$C}K@i02SqQ39S)2+o0iV@Jj}dFcD?4;m|H#_t7pT6CL3} z=#|<5#BF9bvA9DhS0I3!jfh+$sZ_W9XT3J3+-cLFAyamTbI!7$+9sdWa93w!!V-+| zLD|{=27pk7ML@;4b@w^Z3gMTF(RnKdJMz!iL->h(N1mfS*lX>c7> zR@;^jK8VqcB`PETj2tndHUZpFW?j9RC*y(ZZ`psJ6^8ID?rlhiCH&r zZP)&?g3A#Cz765O^p^U$IN!SNN*sAAt^z<6YX}G|5g-k%AGp5Dq~Wo8k2ipNHG{5~ z{_S7O>|1aO`DsEx*m_yx6+f_^X(Pcu;t)G^??i+(eMgS(7OhoWpgpZy7{2FkJKxF# zk%xLb11pKgl$0Qk8NG|Ie+hW|9{@)dK8D|anmPC1{zympZo*)$O-ubEUKbD;SL!xc zj(%P_4sGJyYk8CvyO~t9j1=0!>wJjcx#l2-HgiKg{wg2EcqPmHBIs_JBC&JCUvt6` zI+-P?nuGn+1b_&t{nozti4S5aLF zb%u)CddlUK?}0YfM1r6ls)J_q7+_u0!%gCRiTxFLGNLL$S?F*~fMgc4E5BS`yi8u= z_lMNcTM-?FJNb|%&h6sH(klmAPLAp1Nr3E=P{O>1Tk&bs%P?fahF}2~!X`C7wvlP+ z&<>cWK*fRwyR#`s+=Aok{7mAPC@GsD0aAizpsQ(2bx+L3fxKOn2|uY`2@vSmLu?YqetzV8;-J;=q50EJl$&#sIiQ2LdOfNG;8BMf#ob{p+giBlaI zwuZ_WBCrAkA2%ir2cJ7L-F@+*0;rOjaWNEO&Rf2}O;yYJ&ktxKMl-Z9WPzyvwD6MS zpbOfqyR?C?d~_u*?5HGCg0lYVBslzOP?^$n?#t2Khg&^u8FYq++V*#Uu!kpXwgr`0 zI}D4cTp>sp6E~4=lEvR+j_i!JllPvbDy|y`9`8yiFVHza5T>az?BRlUf;1^F%8aK1 zg*8!9#f?7SW~ig%EAM#=3paMsaCgR+j37HqnOt}2ZUoHT~*#rWrQ1sTy9Dj9t#UE#r%OII({M;eX_DzDPV89d0|FugA*(^wF z>m~$^{p0v<=e}IKI|*1;@)R^xPlfty&O;5J0<>3Rl(Ze+(_C~wu44eCXy|jgSMHWO z*91r>g+|qMsPpYmv{ZV+H>{l41M{WEo#Spl{e_>agT${_b}m)%YOy3zJ;JyYl7bpxmMv*LMOK{(+;d9 zyx{sw?8qI2GNce(C&O#%v}ruP-+2Rk`BvwG-zN!e1SU$tx!FN8V0G_RH@dTu^$`@% z&&F+DAa^XHQ0@lFF^mVAiN)qMAzz!|+Qbit0RlM)t$C)e_RKhIYmm)j;CYi#<=1WH zds>YvpTp9FHzZR1>~_m%rX|~2S;NBtwZ|lmBhYP@7xxAy7#2BY$2~#?;E-N+9X^74 zBH!evma*{)FWzC>Am;Fdz(A5Nvn93`5ME>ph;Vi9F>1K6CKkidK_-Z_ z8UEJX$!8;Plx(XhKZ;)mF_|wKo`2V6aq#W4>VywETYY{B%D>R1I*kUWK_DRU#c>xf zG;wN_CBjCR6rh4io0e9;{{%n~g^;!Z03|fBN9G=Fp&44%Ln?KYvAJWeVwneXFb2mJ z)u4K7APWZHF)Cf4-_(U|8m<&Z?{R5f(WGF=X#q$7k_qE z_WYYxplT)_FJ7dEFc#sx8#XM7gS}kAq#=-(NtpE8;C zzWdj_)!KJq5JxJEVk!BLY)H^qT%yUbjt8DQp6z{K&M~MUoOPsX5TCrLO`G|5fLu*l6DF!v{&R)u;p|?*?&4OBd+ylUG z7uodIjEnO_H-W8joUz{k)-+AtJl4OH5Zl*{RG&&kS$fF+;Ae1w6+;#^?ka{bdAYU> zre}nKkTSLfCT&^QW$|%MKr|HO3pR(TO850RQ&;YVr})?qP~zNKWID6PS85aP?a2FB z51I7M$&(Y!^vUnp!mmPi_o(xbnCfnfg`G&Dvn)t&vs9Xu)+w%=Y>cIIL!Bc~*-SZwxa|?S{ z;9uIbDKppgjCiCeb6}tCAB5A38Z1$=izxVk6*z=@cI?O(!F?doXx_VgYuL+upi|Xa zOD@m;0)$nUv7_|`R=!mz*^Y)yXTrmAh;GTwPECAF@qiY@^;v#&mg8zXPb>w)E*t#I z10)9kZxWz|LL-1(d(NUV6_)TZ zUq`XQsyx$akSX2I-!Or561gPP$S;mk8}ukj^o(d|g@_l1&m{x~Ywm{WT{_5|$N56< zLa13fucaS{7!`7bfs@8JKq*r|mSA^TjoSVUhv;m&uh8S6F;|Gx^wj6K((_YU7j>XT z0O}+=SolDwf%EnVR7E$#789PL3wyX52nYLwb+Th2x$-Y)$=wQS&2_RRs6!Neb~{yG z8i-#@Hf?Exam&#Wrq+RqB``vg3ah=awe5-bb>V+pofcSL(vr}Wkaas&%0PK9m z3=mKNYWSW3PU4X9bwkFh#C8LChJxio1yvOUFoJd#>b+oEHsAFPjJV`$EMF-`MhG-* z^pdWTRO1eLWK^4={~Euw<#qC{w_rms(58;j`7py2v%N%;E7*@c@_46-bBXcv3^82e z0P|uoC?U;B#KiFP91JMBTgiW%utXzWq#GIRUIHxQ%oNdQpm^p0RFr|KcbhRa1vDA` zg8|%L+kx6M^i=%P0ZPJV*k$0T1zmE{>74Ds@2g;SM4=6#GgDM}wT{z;ywr9O*oyRx z*`7cfaWa;m0878LanMA;3G?fHYj?f( zbAw3pj{wVHrh}`W9Vi>>s$1CprURguKKryAwi-JyfgB=EWx!v@eam{M0V3(-lYC+P zdo8l9fTs;Pg`}Eb8zGE4pbHo z%-MAJeh<%o6g==4rfgC6q?pRx0yyr5&07yk)B>06iF4%|Fr9{&mau-X`Vnb>bM_n9 z?;txgl%StJ0ku_4rD)z57@(5Eg3h`J`->CHtO+pO98i#bJgRfu*a7lcPp$n_<^ytRv&?ZLbphyYeCjtHkLRXxar=N zru9#_$zrK!sOHA^8zd1gYXnF|QGF~ldZ7~mQXQ#DgrGzAv!`6;u-x^JBMbtynf3PS z2Y!LF3W@u#RN%A_um77$H32E2NMNw(EZGd*&I=`T~|Sn^|3>fY;<^u--SiOx3Tcjb0&~K;twk2s5Dr7 z{qOz*gAD-brdh8h*$-GOzNw55I=ui*GWj=f3O3q)@Ztu-b5g9inbbnAV|C74{0O$< z7<38TWYXqSF;ajk86REYXYYLIx~p0Yf6woCZLr9JHvG2%8hd;0|FRDU^y0LA{Iu89 zkkO5s41l8GGZL>TPTZiLm8xI5x;?Xjcv>5;{(f2)KhpmJ_+{~({%3u~(b`}aCs&XX zPPi=0AS00g$7$Mz9<-9J;K=-UAP;C@{Nb;MfRQVi2Pw$77%7KBbv-iJ`CD)-z#J~v zh|YvFD36_lUHYRl$=0rii({ZrPhooT5zt<-mwHeJFpiX4TX*-5L04mDy25XxP@SXm ztyRu-!3%H@h{M9xQ=(VnRu_Hj+UBO~to#P0zVl6>X^4~iC_xRn(CdJl z{f0yUKmp;8)^AYQ){OFRpklNPKyQn$g#W+FvKBty|1FRH|9yb&;`8&rxuf8kxfyr| z{Mt8m{>O`knUtCXaszf78$cB^Hr+4m+1ZFPP1qFB^%-11YWRU5GJ2$I0q`ZFAo_{x z-I4*~GTMIuOhP2X-d{iGF=Z?cNaAft%qmYf7Jx{xI%nb=h9@PiCp8?G%?;9oY0)QU zf0f3Le@D23$h!pfr&MNZn5fzmd1=7+@5& z9PUdJ1Oi>nV|rC%CVCdOz=j57GKZu*zP|U~GSUTsB(}7F+5BV{Q1;aztn01=AZBJG z$&B7qkm>e?s19ro;6XgK3HM${+=c&Fl%4ck-5w5AsXs_!p{`r;qv;*|KYDu09L_Kg znKL{Al2nkF5-;=xEg|U`*CsT<2%DhAjWMABFG+Md>V|A=7U+b9pO4-G8(PBarr9+M ze>PkDAO6_@Mo$s1#lK&_xFz~Upy1N>F;Y!8Zps2*`ulXYb%N{bCzy6pgR1{_e=}r| z4t9f=&hal9D(grIO@OBaU`1>#Ooi&4io?dE>=mg#=*cXJZNGMFQ?%tw&&|m%J9(0H zFMf`k{q^Gr=Z-|-?wvLro0}}8Yww}Kti?S}pjmiT`fY`rk=vt7{Q?_X7WgNX=HJtL zEZhR>g8P1aH9yms+a#!!6;I675ht|(L4wyH>Na_Wu-*J0@P3dnC{j@|3shfFwq3nW zR@c2-FfnJ477~B|6HL-M(JM9f#&q#a)fR(GsuIe+mpbl01&dvXoYcHtot^rSM?qex zVXo1-?qjff8A!Mnuk#z?Ze^S_qS|Wg&iM51*Gsn^n^RO>-|y*B(tZCNV<97mPsqXh z#vP>~8F~_5ux(z^`+!u+hcX!CBfOY}(Ga!pez1eUtfOX4y}`#EnHdKT(6+U1?O6Dg zeihI)kYwzdt%vjPTNXdr+fmFA0Gk1m0jKmyZ7&F0Xab$gJ?O8C6&D^(8PSE`+-g>; zu{&?M*B&!%Bg@li56qvx1E~gTPSV@~ixFr-Q8`$xN~zE=64X%nL$hR*KVi^CE_d)I zIdJ-+(V7Yr&YqjxN`)S5hHCzy-=G&kM@TZL3d9zeY|isQFeaO&DP zO~9^q2$Zmz*v_}ZDC(v&Fw?~iRJ+NbxuTm|wA?HnK)xlg;t|XHOr7x(7 zY}76|Z)qm3gUU;LSNMlH-Hkv=m;|~4ABE%I0$@HrB4ucGH`#1|U~CRW zygE?Ooi7A!j3H>-aZXUs1rdq30T{~|kLeW%pXR_dAJA(8=fFLLLXaJifjze9G*b`N_k$Y5O z`mWu(^46MOFl5?vgg-)I8_M@$K7h>g4Dq~S^NG&3B8!~2IBdcIRsC*ifeo)wii9R0 zXQneCy828^rvMLO5^C6qNKaI!BafM_u8G0agcyv>S%o+e8WgxF^fcj))zUS$yRV>@ z+4oF^3~~D#9uW)W3HNCKp8hZsx* z_4M_RM57O?0u+_Ru1nT{JUmmOEY%gXwmD4V*~J7?i5a3l@g-jEG2aImAB+P0D&^5NQosI%!0Wwnf7QS@wp{O zQ12XF6fG8IX0J#455g`!UVqet@|sroP>Nee-l9-N(Q*%0+Dpr4>3@f{&9~Eq}V!|woMy4 z4u`Z&fT{EVAt2=$-VMajuwvc9BhiU%y-wE+={nOJH>a>OdqCa1Bayx-?cI%$lLtB^ zO3OX=Cf$9#hJ1Av^1T78KZO`=5H0)CEmr=0pj1=>zIPDJ+djm|6nqH(Sj!bPP&tAV zBQWpOt%{uTv7z!KvVI1TdEt7Uda6FIV43;#p?$2%Z-H5u*nxo)6I%=v+YB}d)xc84 za zIL;R2#X*CP5e()y?qDi9isvOb3L*vqSjyCc z|7Mx6fL?g!r|BumWZ+EpJTl0|urZeNbJoGz#NupU*w6{tel#Td{{q-bjPW7Lg|#m5 zXd|#E_fvo_dB^1uIKay8)l*R63Vi=6Vhlngtrio1UMlM|w!hc`EA@1VSg~^U2*eA^ zqGm@oQoGK9av!G*3<8!amRuoA>#&9TsU755<1Va!2?wee)`-+*ZT3&EMhp!JuA!Aj z;6L3IV2(${?tRV|{b_=1GC@H`V}(T!ro^ZOp6`67FE`r63xPn$B@w-HLOD@YUX32< z=6lr8RP*Ls=YVN5eO0FE4QdVyZ8HuC=j2PGbmxg=D2lFk%;HO@K$r0(3HHfd%dZkB zA9xAn@`HozWmvzmjQL)t%TP77Svdpyd|}8fC7{ztErRK6K=qqSRT0%cO$ndbzpJR_W^y z-VjqGg}PHQ&imG0(vTEaH%i6`rv= zIazm*55tk*`abn!_=BihLux3IkGpkL%M&77po8E?Qog(;3uc-X4*4Cr?%2YfL#qc) zKJ)seP&^uwC~vm$t=8#)gs~AP6x=^HF+W@0HS7y<*G8vR;4l24{Q@=q=US? zpwGnLkS}Q*Ia0`h+^D5f!csa3l^)vVxKalcPB26j}w^S4Zp#u-&}S$^1Yo zf~{O))1d-_b9LBkeE8_qF?wH1a^9mR2m`{okTikz+c3Oc%TuwvBm)+=r{W|W4f(q< zQfFckZ5dd+;eOs_1yM=xErlk-YJwoG_Ri9l*l9O)p*ll?I)kW>xB z!SCRLA3BD79B*Qv=ev|VmOmoQ?r7LPVzafs(UvNex6sN`;sB*@IIXS$d8{#;(4@%t z;cnZ(o00#?th~ivWBcHP>G%UnuX)FR@f!a5dM)`Xkz#SZN|}`<=r2uEC<~j`Yl+^e zeCX2#73nC3hxQGkCI(Idclpm7M)DJDu@QFNo%b5r-|&~>`i*2&O@g_A@7|2!5L_NBSCD(|w*dIc>IV zSbr(qK!B#_mDMWv4N~;Y{Tqnq&Cd!8lG=R~=RiO80)wlO5!Rv9Hi?R%^YbG4)TLjP zcHsIdk9jRk?l^q_&5n4q7XmXj;g;hK#)5bBj{6#)dVx=^?>&Z_DZ&;Lxd1VFMpkIIGNu!!N*nuy-`sSor}g z1?g*rH6(>EAGtZkDO({2PToHOEEZ2TaAI(b-f#EDEWu6JjEoNpl%^2(Xz`0^`isJx zH$El_v2xWX;yeoF`&Yl?yJw5dh+>khz4Yg#@h;*K2dE$<_jkXSkvu-j+)SpSW>nU z=MRKTOt=-WY$=AfB?1*;Dl3{pGbN2Cq}fLpnFS|LGcr9gux`c~z<*r4Y2Vz?as6y> zlJBXqxyO@THym-eLvIFuS0#GMyucSR?#A`7U+>NWqtA&(+Jfgcr_BiGEr2S4C zDaKdpciA^J=ddGy2Gv|i5n7mD%G_J9>A1qMDTzK_s@}@?=@`$Y(2CYXLQlUH%t-Qz zF5uzln}dw-aCodapf(3biF^{IV*n^BkiX$Gs3_foGi^JjB1?Y=)bGZ5k9cnW9R2lE zqPs1uJbM?2{pc?>S%nK>)?^c8%iRqz@xMtVXXMyHV+3+9)<^Of0Da+!feM*Pi`pjI z>JE`zM)|iKuD7KsugSg%{`mfBv+Gs+(b?(i1KLD}MYf&wX@CF*A=^6DH%tBN2*&ge z2X+_)KYvrV=jT`mNY+vop_heS_?&&-MIc10MqIBr5 zgcHon=BDg;5zDYTiAJ#__wN^oN&QY)`5+xganJ5V*(0=|Lx%ZqA(EkU5;OV!_UM&0 z^mwaI2$w9JDNuyC3?fKw!l4kQ7^eFrOr=xuy?7WVvJ zd)SC&1@}Revvk+Gi$}QBawwZ27XZBqXbJcIi}bt&mIcqv=5a?5Z5)E~S6hnl2%Kl3 zXR14NWg{@i8S`Fogm;jtD8qe`Wvkkc#xu3Q(U2#UCzq?x5j#6IY@(gZ#kyU=CbYL1Mt+;t-1E-9 zWg2;Vkx@3hf_sIiMm0717!~Nf!tz`{k++_G+=DT-hcqEZ=t4}3rw^<=ZAH1(g)dDq z3?@!G4L!1^W(2hD*X-`JvOx^DPum-@Bi+3{ZVk~F`bY*jF868gZZP_!ZT>NnTwh}W zM)sp+{1brtA6pz$K+;1f%u!GvCELp7T61S3Xr8R?s~{{QMQ7oArEWrmGMnlCDH7@A z>_PRtl()ggXD}63YAOw6xnhK(eUZ_Eyf^q^jVKVRxNdnG4L?S*d{L%x*A3Z2a)< z{lY3~NrnQW;N?Lqna+noA2{&9D9yNc4KW#jiIlto>1s1jp16MU0xVc;f%zhlZfZcq z8Ff+{M1S&+a&W6bwIyByJBY5`z7R-GA_=3-B1%w0z6u>vaE7_qft0&`#1Thi%V6bV zdJ$HXo8+N6ywBNP}@NMeGL$?TYUZRN<04F z7mxgZ{u{J&a5ZgpE@Q=qNvvOw4Dh~(0&D@qfMEIB{ewR1^B1lkWYvSlu?D;$O+;2Q zB*MC3Cf)N&U{d06zNHN2(9veGxKo1tj0mj8X+}~U34PZ`s{!DbBc|BH`l{)UM6&{s z7K3Rfqw&$vvps7`$;lq`gk9DT*scB$Pk51xpc z{sL|TP)r)tT#fhuV4)T~N?N`l=iz~NgrEnz2Uj-|vx_m1p&5`5DWjJvIzGRMFUM(q zA5wY0m05c$j`1W@d4KZl5qGJS1Qu8&G>UYm4sBj@_1aFD6Cnd}Wy!E= zb|Awb2AJE7^b`1kDY(b^fF=&T-Ul#KfV=T2Tww-Ps-CcYsZ2=Yo`G6L2NN`=wIvO4 zst(Gf0-4m{Ulvk;M|Z~KD&d*smIwW{tSy%JExjOXFi^`#XMov|18s!+``8 z=SKr~O{sD8{>Sya4@aBIh8;jA46Kytdp&;lsRZ5W2Q#KMcDz*`}yPN&PbJAePlbg(UG6<6tR#bGd}&pRTOKM=-!3}FB8FQbSXjR_qsSea^}!MaN0xz>i;mg)-EC;6CJ)_IKzFgN}DH63|x*W1rda@#^r zzZ#xW9FRX%7bEXjSM&Kx(e%XTXBnd44XciXM&J?J#cm2bi=0Z@+750S3&gy~p`5(& zZXoBWR`}iIgGwbidC#CDbXfHy=cBnpMs5{UX67Mc`OViP=I;2sQgF3um(R_7G80n^ z80!gmJjqx@7C?Jd1%o#=`~m&eU47)^JA+ z*A8?d6~6;xTZAxG8R}aaR;ierkA-TjXG74j0~Qs-VvE zM^j`8rDNlZu!!y>zo3I)jB%8Fz3Ob1);FsRGiZk#PD0FNYSu%GX-}~}CA&}^IojwM zln=~C*IqbaxxrJ(dptBgee`8$;Fo) zB#(xTE*n4J25cX61$3`Scuj^0*VE1xc<6z5&g%(dRMDw1_(Ju~U3*EpPWZDSA} z`9UGhEP8Lezc$(xoPAS=HMv6{X_Z*$eoZFtjbuKCambvu2cMsWEV%SbVa(uQNe3fq_J0tas>r94c4!#)#9cbF$L7%HZCTbQk3}8oU2kJqFT;Kf&xWc8S z`sd-3u#PeZc865Y*c-ce0;xLWiI%y_xVFz)m)E0FQE7R`gXEZQ5Pm-e5!f>K0@3&r zE(t7(-iMBAzLNa~og<@d6b_an=61>RW@$x2ogm6S0qsNj-lU?4i8vWJ zCEBI~m{&}A)i}&TI(KST;A)BDNrU2&3E$fto`2pmReD?68Q*5p)i!Q&tKGlSFPwa?*XcT1D?=U|V2V!vzq@S)TM@{-Fx z^kS;iLwmokmum<4^Uy5cz@CtU?9`Y_W}nA@uGpmULUDygpQl~MIYzoY!c+`NRn-+M zG<_zDS;ZyO<+QM{ zlz>du*vY9!MSmD95esitShZJ9M7VEWDE!Tij~s&*rJnJx9YmMJ7F|O(Om=wtc-Nh| z^)EW$9y)A)BqVt9*SJCvoHfH2?7D`{MLzWTY@d@9c%g<`BY3^L7Z#-Hvjr3@UNmp{ zd64lx^t}|9pru>NHLA&^L}P0@{j8OWJ+4Y77 zzANgco&w~_Fn02^I#{0N|JfinRfMJ;7IfTmGzc!<)`8sk%08vc+}Pt?yIp(+=2K^W zwr<$)CbgZ{Y_!pgZ-7jCWGkC*Cs4knr;aAN9!cRgvRc1-3PF>e*Fs3>HXa1V@KxRcBL}HQf{ZGn&>qS__cEgjMZ6 zL`cj$lZK13_v%TH2jpE~Ax~j4({?y){Dl300E7#0mf2`8- zw<%w~i43IW&Qj9SCDgv{W>5;7(sS;v6vag4w~$s*xdj0;nTRj<(xp3aldA@WLi?Zs zR8OBPnnvxE&%BGZii#dL(>4`1dg0>J4IEc&N#3|}1LK0dN!DOyMEs_ABUWFkFU$+= znR)F3P-$D6*9+|xKSn|8qFWNdJw~VRIIOvr3C6pUZLh-Sq|>3s%)Lo5c?s5rb`Q$*G6H5b{jLcq6QI-cA;*EMawOKM3g1d=3o zR5{>sA{Aqbk%|NahGd1o_sL8LpXCWiUgJy=Zv1$6C3mps;{$70sNtrknz}?Xt|3LV z1CFAd{XZ)K811y%B=8{~(5%$VQX4%Q+3LB_@Uta!_&7y# zRqib4+q8Stw{35xUh#*toO5~``Gw9#9dCwW*Q#v_ZiGz#p=c=IHub=XPd7T^#a9ix z^h8Xn=hhRJU#`%^9Hl4BUdwhI*8qW7t9uy_7~42J#;-*f%7T zhY^3%R}=QMkS2wFWdK<%Q}?(ry$ZXCR_F6gRiZ}zh3y0B7hm1xb@y`N>i!rpbO^!m zcjpZ2_A^<%jSTVmY%?Vve_J$C&QU&7D9*#W$TeD$(mqJFrWn$5YoO|sjS2tjaGHe; zT5#9workRJtbuH!*7$YJP}6osO;|poGYgLY=!Qq(1Xw_BUeJs!f%CT-L_lw%mX3t4 zbc-!6J#LvfNLf`qxA$3>uF!GoX^Byj75wK`Urr7(u(X0_Hy|$<@APw-jBZ{qA)DHG zDbCo~yT0PloCs*l{3*>%dVhs}c!kihd*`&C3VsL&l(fY6?^xqKv1?YmO|ozBPcqxj zB!IbjYrd)rb5a%bFRR+|DsJ@R6#(d81%$oHnUp@g7t$GG|4(~w9uM{Y_YbS% zbdJ+@zMM8v>5%NANeHDnF=QEA##%!5&?vjg(P<@SkX>0C4B4}5ImCprW{El)WJ1}O zaKB!o^ZS0U$M3rC`+D4u$M60`7H1E>-F4T*JIe-;OleTC9)8`3v*hT zK;Y?RZe;*uN;wyBFCnZEEdNZh;$Ex9^l(%km_0k-@O?2b|Di4&?X<>eMcQ%F_j?!I zAt5?SB=XdKV*|K+I(#Z)pxHAfDoc7@0W8g zJvy&(w@L#W=<`w{>yi5UJGMPv9$S0Vv)O=5^DiugI~~gT9RxoqA->~X#K$>PlwLon z^l<%N1u|=g2 ziVa_><*N%s10@<}4$n32>O1klEzV;7>+RRzUascWu9I<|u=Tn^oC`l><#>@Ge6ab; z+Udp%o674p-f0*9gJPp zT+bz2ajxhWt+GsqlVs0$z*lU66U$B(Ov~cly)+(G)p}lEJpIDDpI1%()-pc01OMWy z0Q!zZ*KKpX54IT(i$D6M!TsxC-~Clwv(=hLalqNzUtzT2^SHQ@-r{FaO+vT(IBXE@ zk=BCUTUOAyYU&;++CQ(F0=ru4w2H%9c{mb;Z%ATwD=IWTui6LTrUyV8QLt4^jVt%594HI&3PNH=omkn@8RipWzjoR4~9<@%&8r((+$Y;gNt4UQDB=DpqVS$ zXCB~CXYD;4>OmHe1f^Sm3WEqbZyf~huG@a_k?POTINqIhxVzbr>+_L8PYy^s)ClrO zCSbipQ17$VUJoXIln1WdzFa7#U+-^`Hy77AWk8j`J(5ON&H?^6s0d>$zdgD*ads>J z`LF!~wme8I_ubq2cOVlR1DWJN-yjFbp&Z~*^T1Yo{1b9u_zk#Z7q>znqzwngf2Rfl zGcxAF!y3{3T_ZFJW!6c9{l@+_Zv#@3^AZ#Cdezvt3@hQOZQs&mt7MMB9nzLkHL^7fcWxi417YHl<#bSvp-} z{n_@m;+R$YU5f2D)xT^ir#vHFO$>ar-D~bH>u%Ier6Y-l59dEufa^*=B!L`t;DD`{ug+nlj(G~O!YyUy5~zWnYe`%(MDM!NS)~b&zSe2TQj7%7t%@l$!#Qx;GMvWbdhv;Ji)^0{ z^EHe*n;hMM!niqBKQlRY`Mz)?FqJKdu}`75AxQos^+k@2fLzb5&OdL~L>KnI}p z-ox&aFddNva9M^B6*!BG+{pzLFSm{KKsfVlMQtan-j?P&sv;qUv_wa=wFuI5Xpoyh zZ)8qQ0EBxWGC|2hr55@d@-r{NYhcYv?&WMEvMNKkAkL2s&*e*wp`vAcz>WO z@`nxEPwfQEyJD-{Sq;IB{QDo?>1LHCFH6?;d`_=nXhwxK&)*EpbI+vOEPJb$%)b}l zFRm$U>hh&he#mZn+@^}KFJsp@Y?19jF94S^n4k8SQBF)$gLvaF9-u#q1dT`T%l$3d zl%)bmm)1&9>PA7-bB6I6$7_a$P#aYYPof_KL&DlVUZ-Vf@laC!Y6fl9>u6;b>tZN0 zsYTdEPQ|4Tw*!{n{CK9q(Hs%C3a`yDps=QAMzq$iRsTfW6pG1imuPDtOT=&31!9AG z$N{hb{@!3vw1CQu8`fW*rB%1cX z!(%{OVw%!ow&>BN-@4uZ7&wTorXi70|LMy$ttsrSq#Ij${c`saD(gx{MpLdd07+%} zOcbIYdf$YRK3r=x+>X;jRDTu{=}ipo%!Upz4~pd|5Pf;ag^^wY08qHQqkwldsbc)* zXAt-5VX5XG@VbGL59+)21 z$?aJ%?>L=OS2)6>`J)K>B9ubzpo+gs+zINVcHWyjILWadQRy0nJBuGvM(Pn%mY|%J zqWc_xsQuCe&bMC*ch39P4SLaif`9}`q?tqgU@>zy)Gwt6JWKJ}Rmv)Fn+}DRsJZn0C7(E_T@jz`Z5cBt*57!664)N^ zB+~H`3PM99&szJN@;Y-q^*uLV&@QF!aAovHdbwA9Wyvs+tdoQKaU6y?=6{8oHQPlD z^J&Im$YmS*vA0yZ;F(cn$g{0CGO;k?tP(L@qL(WQp1ho*x}+NofRu|g!|_j9ld)EP zrBzP2zwr5KmV6^gwd$|*+O@k06@6hO?Q`7`OuV)cc;#O+`=?BR{?+Y#;pdsfl~asy zSnmo#;-tk|z#pl>hoAaifW0!%7la++6(6%S!Mi0udm!(>lR|C&sNGn3^EVpJB~#AcyS z(FmS3xGPlioWzri?=~Dv%2unT>NSCd4;uS_vN%Dyl_&v zTvs6Z$w34WkLR%GgeNcq#|>lh`gGonN)B4`1GFf4}!OS_eiDu;y*u07kcO= z06PrBBOd2ke zKGc}qb>s?8*RTZ{nFM6kFPmYMa31JPsi3+{4VVjrT(1sDsrqo2kP^PD1zZ1dppc`` zT|p7hlFU73VI?d{vo^^1@L?-SMAYb#ha`_>>KUCYikMFwp8z{tt+%)9-{x4 zZ(rt-1VbmyA9v4)z6zhf(Q+Nu>W$3c{hHj;F-k{A4mZcJ9oKC#*p^O>bd4F~%5M575zcoHrUE1ok;3 zqz9+rx~r69WHK{&$nHg9_&dXdLEV7yh^d%{iP%S4;{C!yMIe#$@;Rhk8hlk6xKy78 z)?)Hhsn+pKpij#Vf!&C3=-!}e&J6b(kK3@!SWHzG?9zTAH6~E9HA9t6r#8{m(%H)z&w5aeSuv~Oh zzXo`>C3;~ePaI4;k?!}SC*BaF=S93byjqbbZNF_vFm3nDMUl2BQf_)1&}yg9t3>{O zugm+=2-#N94qB*!F0n&gnTNE$;b8wQz=3`~)}=pH;HV`WM9YwE*lgF3+!^v|QR9uo zCi}cZ?>pqcyQhE&9#+&Il1RR(QI_%5BV1gTQM-v}U~)2X$2jw(I)B5kHeB1r>tms8 z?E6?C*z|Qg0q&0UuRv8ZE?rl_*WaY7zG^f?f;% zm2H1VfkpAdMwkV^K2G=%^(O`Tsn*GW>HN36%|zMMd@mcG5|)w=%p>(} z{VDW%M9^z2pxO>N&_B>RNG2$z`m&nh?M6(J9@C7kXpc=!H&h+IUOtUzHuvb-)i51ms@kE^dxFzERtf4Z)gbS#8_2BAhKjrA>aJSXs zaC-jFn(9)5SEU&!xbMoQ%Qw`f-PgNF3*%MghqP0bG;X?*@nPcesDi}UQxc2<(t7vQ zcuV$qu!GXjjGk-Q#M5v}z(_z6G`Da_IX8#24M)UjV0t>AdHejBmGup@f_QXvE zq;{QDx2IRryePD`hmfQ%{v@~Y1ApB<7Jqc~F8;S#uSBJ~b-;`rtPW3?J=`LXbBg|PF@$3|0$U7-bA!=RVe4BW+Z``{^;5@@jZowLb;uxX?eym#E9M zlm)lJVi4GRz|o%IUBjlTf zMB7v`F(chlM|R`^O9us-qq>EW#f_e*NH=;Mb+ewudQ3&T2Wkm{(3o-F$3&xybv#Ct zqRCfvo{j|ti4 zM-k0;(VT|0^zpu^840O3&Af6_t>a$<0T<2yQO%~#<#J0U<3Q$uN3W>r#Jwi!7;KTY zFi4vr^%ph-ENz|`(t1xUVUHCd9NV);- z=;(Unxs+Vjg!3LlFD?^pjFyyS^m90~QpH%H8Ii$>LH+H4DI`7d(&xZbnb%r4giuF8 zJwnz@EhfIP0pU%CQ5NYn3zp$C;CpAq_I6+rGV3+(EqDM5n?}{U6>mHKy2_ z3;VU_vW%zSgQVkJ55HAcDU19u%gAI@YgW1~E$#OVwTidUpqiq>o9rTSq&6W~#rI}` zr1oBUDUq_ZB5B9%$WKxoPxWr(d&OzJqrZ_(X43iYHjYnqN~a3)I!b$;_BChwJIKqQP$& z-^D{=)?Z*nJWhoRE~l{%EKv2xc+{xGYaO%&a9s=+Iv0nIFXkWKG(Q!85=(c1#z_oO zd_{1LvnN{iU5XeKmU>GP*~`n1B9$7mZ0}p3ISv%OIEaQ#!_9zI0RGe`V^LDV**zD+Yo?BukKp7n)pihXb)oJfSJ zEoT{P3Xu=pY*ikpSnTj!beQgH_lkWfRH74)p_j97bl92RwVo$Mt=ra}*%M6d(9g~{ zrr)Phz-ha^-^hw{1w}`q9(8i}O}}%=c@1*09LR>|q9evLo04kUbupFp8cyG-YZzAO z40AW9mQtG*T1$fp_Mg|_~6Gj>l5cd-ya)Aw7;av_|yGZ5>{fcTFN+@m2L09Ucc)v zF-9gP7h|tf^J`iHbRCbkgA9?dpE@|W)@oK=Wni7RYF-Z1;oAg$*5tAWR#iN4p=WS- zVv=pOT#BPWI15^ndq%Ie#_Db9aUMid@b=b&W6iYqo|ACLk@k4KHy0}>;=6RR9nQ?; zJHYqMG;)L{b7z}pg8LPnTyUC1>cT{iLZSir25V`16Ee%_MxnVu<3lNFl!OI>Qr6j& z6EKxI;pS@<)=IwrulYiz|v3W`x4 z$yP1~b68*pn=mGL(o|Kb=D{7M4Cz4d)3<$bgI0Ep$>h z`zemm-_bt5z}_O4`JqcITGA+o^kvUXBFv>BoQ(?8%;z^S!3M#HAS+ZXP$N})MEPnw)*0>KJfPtf~k>_bgoEi8*=H?$U>qOlTW?g z-nlRFCRQpSLrUDjdu+sdyNHv96oDY$udAh$$o{o7$-|cuAz4(4U19CGQ@t zqmIvJ>P9}3R?GW_rFJ;WHy9@KTNk!IH`<-2mO6RzlR4qTaQs50LfskXOUGT+puaUqIw z)e_5R(ouxWF)1S>`G zj@Uw0#fkO1Qfb}zMZeSBCKvBrBEvk}iPJY%-aV~I6_VZrBCh`(W>vZY65zz4@s|WQ zp$yC_$lA!w6>W(==Q}@uVz(9ut$}}s(9(kAL4=4!_N%Y8^X>mlY5i}diT?AX+3+Q( z1}TRMD^&g(@nA<>jPy}EruhAGsf^^R*9 zhIXTBo)sIpeC`*2gIOz>|3Yv6^J;(;s4pSs?qF7x^=cpHmZH$A`LjqRurf|$=cr{) z9Siu}ef|rjK9cEdzIpDI`fbQYBdk!MNy-tthM13K&40e$#XfRT=1_t8+-Hi)2C?Ij z4L0L%vR0T9uC&eYf*?ytBkG3A*=sB$HU`QAO;5DbC@Yld3R(P0Ykk1d6OT8n6Okt@ z1G4tnH``j6+PAMn9B~=IbPgy?sTn6uSS-el50tqP2DDY-_l&&19a}5UxbW$=Xn{yd zE0tm|uyPm4rgHXZx%3{dfwL|%?KJ0KyI0;gNNj~X(Nr#4yT+>haa%xV zY!NU1yqa@P`=p|QM=aiQSi9pqwi*E(Svd{`TpB7SZ>Of0f9eCN8Mz%y$sk2228~cz zsdArU4eoF((CA7ae&7F(>gPVF_kp2G&p5askkwiHF8X1LCB%5>fg9VPeq+Grt9hVZ zi-L@e`&en(g2w)KD(7>lVjvZl&;KKT5{^L&c>rujg2$q215ZOa;0&z5rNO{@C>Y7G z+c%%`=$ZiKaU|3bWov%s{bhK)Qo`6ewB{&6H&qX49%ok=2ORr!-pCljId@d&hdf}; z$Nqsy%a-QK<^_~Qhwy{nX{si!u>xwpsVR*0X|sL@BZKwP$0`SzFenhCf}c|%lB0f_ zwMHIuNW|5Dypil~;{nkli+`$_rbjKjAlY6OY0qvEw2keYrWU-|eUpk@d_s;fjq0TbaVoQdlJKoAW~>J|Gg{&ff-1Qw=Xc!O?3z%#A#&Yk zczJjDBAlLDb+Opa#qqdWG91 z{T#dsRKJGU;e*I7lZwpKipQ*a@&xD2FHJ($he1SIepoXhwCB{Qe>PjT`9s%q3i14& zwm_IeZ;slQ8uKm}fW)OxYgdm9VR!pfnxoz;fmEYzKn=*faPGFZK9k>*Ek*DAPDTs@q9Jv0PLxw%O3XJKls z)62zBB+p=SWR)0HMXq@N3?D3(uaf8CF$X!jEs&MsAUry|{-^Edt5+eDuosIuixV{r zyx_>TLokia^`*D&G#iZ1dvS6i+h_a@3ZM}nw}nJ>%G@F81)SqYGtf~?m4pClO3Bp? zN)M%5sQoYHKp#2whB5+kG$~g3O$^>Q#8i6LuP&V!RL#M&Ri#(`Q75txGt~?CZehGp zCd^gKje|y)veR=%Sy$hHB4!}4M{ap4A7y*%h{Qn4R{RN^8aAP7BRQl_dVaenpVAD& z$H&#TH0Ra5^53A?3Zy~Do9;LJ3_iPHAI^WlNr3b7n0z7NDf$V=tC)ao++PhRy)yBx zpHB#eC|HqRgunj!wJ4itzJ zpvm~XU(13Sn^Krr51_))dPMC50Ev!*=$8saPH&6!MN~7f2CbYf%%LIhj))^=9)=7^ z^v%{N414)Ff{2fE`^Xy(YNZ57Pvz40E`cGP=mUpNwcd(>>X$i8U#G&%ZU}CWK)Frir&ZhS6ZG&DRJzEru zusK4TbjF|*`^6WyAFKRk%K8MyW_>+IWA_a7OrNz%mgm`tx zriPs-lsC*ZvDVG~B@{T>v~y~rZv@;Y`OeU-_@!20b?3atp>bs-KR`mu7Q9{OdL}G2J_6=-d=C0AGDgYgLFgS} zRIG3{X|>#3$s|}&yw}SeZ!{4f`3jB5MaB!9*V?gJ`yM71cO0(9mHX&E`G)-l{@MYR zCkctcXL##1kEa2pQ`x(PZXG_X%vgxBegz>O`Ul=vUmagw>RT2l%XSuhf0;WXW`blY zMhnCO9+CUd_&(~R*U)mxAK2QGwVmdu)@gUAVrrJ}!iyzQ4XSJtBIx8lQ{DP_mYa@T z94wQkr%m2#@=IG&zQnFt%52oy+YfOX;uv>vkYfhEatijEEHzL|>trino0tLlj;hmBX;HyCiH$>l~uPo@rlN zp7SV^&y*?mu*smVk33c8=gD}>o=gd$o>A{k=;4*sRDOV5{05#UDZ_eXu|+_t9=cSJ zEj;Q(rnD9fYXKJ8t@b86w}zj<9VRnv;4a#{<0EvKGC;B)UtdxX^85HzkEaLePl5K` z&$>2h*yUhhQq<>ed69Qi^W6LXoy(UPKecxCO0UZNWJ1mq=?N1DzRH!9>i_{fY<&#} zQaMnwx9Ow-U~PRiD2MzCAm1G_L3~h!cE(41&=Dp|3IM*VxP+vH@hwf-y|jdc1x>}` zS9}edgS}bkUj!cm9wfE+=D40fANNC9Z$nG-1+$9;C%)nlI%vO9HZ=h zv44;_71cRWPN{bW3Q`Ac%IN(kfo|FrqNh{)Tz#JlUt2jm;EKAUfbF%QTm=jVp+P`b zp>d7=*+riYnU7A0f#rxjZ7?Fb zun=IDEpnIwipKWCI^wG+)br{Yj6;y{X7k;KlXO`eSpjg&iTvNqoG2-2xT2fG#YfO6 z0@l3!d?&KtH5Gg^wA16|>5FYMl`|DxT`q9vJNGQ?gg~9I!fs(;A zC-wSW@pBHQo%6ksGifgafv>E`JhrQP-fqaWI-VCxe#rfKrB2gWS-}4sAgAnWD?yAc zB#hk9Eo40zpibPE?4s+6Ogm$D__Su|p>YkDS_)vC9o6-4ZNEA-tU?cn2z!atbtJ@L zI z`Euvi_w<5Fwl?{2>J5EmLbpoc8vo{Y@r4DHPD0Ah1{R<)2L7t5U#{!kYEfsT^X?}) z6+@(5en@=YsIvks%%kkV%7q~-_ zz`YK$3|aIZ;}~%n3QT}MV#|t5g4R8~?o=0JYtMsiN_cbr`E!k3VyAP#)#Kt^7|kt8`m*>8LLKAyr%hiLW{Ej#(7}N>@W#-j_SLv>0a=9R_mh{E+_f z9kiK@f^6pvYO_x^)+4KbO?w#xwc74mOE;28lUroAEybQ~XILF)odJev?0Z9=7NxB-xA3DZvSL3`-J4 zk)_1Llu}*$g}&|J>W@Md`hgt;Tg=uY94i1PX(ZkY6ifAgfVJPiCAk>t_|PrfTDEY# zXK3(O6RNWI zXyqvpt}hREE196Ty_Rw=m>o4YA@o*CAn1fx4-<4()LLLw_QIJ$X> zvF*{Py+(u0KS{Ie*!!OB!KEU|fyQZVQPKz^qfaSjx)Q$ezSfFB#_@ahCSLEfD@$$G zsr*m{nUwWd{E`)glkXYwX%^mv@ouF7@B73VRlH}2W+`dh#^ce3Kh}T6lHFaG-r`{I z1t98y0qr-~GbO-wS;Lq)TgKBXd?8|3^&~whyqo94g>^5_F71hRCP~8xpe`MT%^%_m zULe0~-|RFJxv0DK6I7Ip!9&eO;-_z>1xup#i2tk)g!%A$iu!GcWnY3Sp_aZBE=yKF zd-aEnJ48S12idg;G#E4_V)qTI`S^_Xjg^czTAlWY22BV@l;{du6@Q$wi_<;!Jdh<> z?_V08xe*-3Tg`O3Zwh$fZ%yWbFW(mRb10IUg!8Fudls5KUTwa`s zLeiPR7;Ns6Y4T-zHn(^tF2=p_6tEa^l0Ueb4_O8N$XhV5*u8wSE6;9BG9gf@?<~mM z2Yi~G#H;MxK(J(!Q^!5*F|q{T?%|QA=$)?Yv+XS3A{=yY=IOs!MF!y{F#@fc)MC^5 z)R#7Qq4$>qu2xf*o=*3#l{9hn9nT)G?;dfnDxB@P8M)ZLY}emT-Itt1N)b6VkO=+O z)Y?V(dO1a^#2-1GHQGoRI^i;-e5;8`!tWn&>%~Yhce7ta&Cksd-p3erX&QwaZk&fu zsWEbcFndT-&jGfYY_*M|hTtE+B83fu;!x66$FkB-Rt5pPtRSvoxKcPeEbNFn5$yWL z@liiNL(6`Yra(HkCol0u2}Uo~HvtXpV>NMYy6zu_^>g(l#K#iPP}L?O;E$Gtu0?9Fe?rDlcnYfH=X5=6hPui za)_))054I?EEBa2YaWnRWlkyHi}qB@9XwFlZ8CIy^a}BAhri`f9`k_;nXwZkd(e98 zu1>t`Bp<5#PP)S{d&Yd()GgA*KfVwX(ctkaUXw?BYTE(lH__S!A>rg_n%iP*2PQ=7 zaEtj4?z1gCjANDO5=c7&r|LKmokE{~=05xJ7?&DT=IPiSr#RrCVoRc-R3~)GOn?ha zR2M($Dh#ZaC8*AthA3;xf$&Jom&IopKGe-F5n6yA+P!VbFF1nkQ%7b_!S0o( zCM|MmjeiHRZ_yG-Ma6OtrNg3-=AH>!;IyyM;mUxt!577A$m+H|UI_*Y^5QTS-@FY+ zD_iTr+PD7S0PhCO|4FHyP=%awr^mh9>1D=lDBV^Ze)yms5(})5ZIOfFcT_}{P^QU( zOJ52KK&wvJk?H}{YQ4nG_1f&)k?VDUPzGD*NK#=h#SR;~txC#^84{-}Spjdmw-o)q zQ{~6@a^N!X_DdleQ35+S6Y>a5aeN;KK*UxC<5{P!*>Tl~z(x&^3mmxVw%_Ts)sxS^ zSu*e%n%m-mzsARZ+hhLE^aTB{@u=WUz4G|CR;z6EzSW#P12IPZ>tVuS_A?moQ4a}1 zOc25{|Htx$GShw-lho#}%o@xF>1+DZCt6}HR}#c-*pBChBZ)Iu5 z|GeVpRPbM1T!*{yx!)cx|1u4&0JZAh9{>M)fx#1yf{<~3KpyZZ7nPhLGSL?BTq!K9 zyg|Dz5W2$IM0?@)KP)qe!eX?m`i(eQN%YOP7uN$r(f)1uw(dfE4wpeEG$dx35`cUK zP-cfss>molt*J;g2WtpNP=UE0HX9<&K$5X7EV9VdWDc7BxH3vDZ5^CLuITy!sGP?; zn*xfAb?X74{(*``+gIT5rSlt=oGb=F9xjDC{dl`(;m=bMiCH=I-AzK4f0Tn1nbzjT*xpf!H)43{u1A0)8 z>h9vwX~4510hq`}2tbS@LPozncr^5(>`0_>TrI7Sks~QJ57ACv>_qYdRQlKQKv^4! zz(Y9;N2M#}JOHA@|C1b;ap;|4%bYPHq=P(H~6MTuY$4bB@%`S&pCMh9vz=j;^4mT(z zaS68DC}`C@Kb15b98?-SG*~IonS)a4{zEc~1Bj|8JaEn|c^fy_xIc6RV#NbgbWIQR z_vrl2_%@*&XWhc)66FITVpqDZM zUv7FJJZ7sj0THcHC>FZ%b^L+6~HtVZD>k4$tw(Fkm7#r5CMFm^Pam>R_RInh_VV{=l20?STADEwy_J zD7v98F5Z=Res7aSq+7ib0Ln+xmZ8SZK~=6xk8&k<{CK&oN-hjVZ5`G#9Yl*lsK`Pj zQJY7fv$$0k9LAd=Esy&W@1;3t98O&e4#jkwwvVS^NPB%TbVOJ{wRYc?)!s3ISv0*% zAm%2SC5mw8qhAX(Kdj}&s$~;&=#VcD!b-r-Ba%j$s)#ZXUQr{@pgX(2w@$Q;>amW# zx;1Mxro-NT+oTbjkHw*m?h8N?^l=ofk_u3w?Nb~Q@HV0S;n6fcNsLHj%K<%W5?=+$ z6rn0n2)Ua=x?8QP-R18$Kb)|ElaWKa$?Ht)F74?%RLo;~{HZ#GBYSS!cjj1yAl;5O z?RvMLIF-VEqghq@Xqvnm$nGfj8c~5qc=-!lh_)61(6VMOgbgZnXiO8jn~D%XFO}q6 z9g}uQQOnXqswcofKsSC>7ZyZ(DveYc<0mSYzW7i9ky&gf5^wm!JT!ymM-@&2eJ2Jt zhSz$rKGnXQ08aW2uD;rne6pK!f?zKNAECr|nrvnZROL`06ugQtrQA)UW z)hf!s|8jz(^FkROz9{q>ltP<_d&XhRUS^-*g zh#xPyYmLK}E!-4ReOj?+N^kjV6t3BaD-(ZS#jdREg-H7%YmH;xZ!0d}J^vC)Q2lhi zG=~s7GRwW;rz0CxXRW;NNe1oXqL; z#t=iG}E!xyIefhWuS*UwvR7|GQHvGpVXqko=YxcO&>oF^IC zL+`v(bQX+>2D*ea;` U;&VU25|D=Ge{LQM9QgD`{{m*-!Jk8I}};QMyAZS0I@U2 z*=BkJ0JW(HnW4df&a)ADP?1NWFq7$ZQ3Zq5@<0IF`sg(#U>zkYcEI9MHC&_=F(Pto zGsH}vmuZaW;FGS5D^@DYh!mjl*7Y zV=$2-dsY4&-Zf4kA*88?`Hpaj!b7$K%bp<1Jv1*2pUMN|zpWc*kv+{f#?cH7&Kh*sjZ71DolNH z^#_Fk?YQ6zF{pLyj-Mg7^zgpVDJ)biu+5HBXPRAezKm{K%FHo)9pxIZM zE=O?67QiqG)aP<|<(XeYmunO%_072VIDgN%Nm^E8y*czJ8mz~$)X=Gd@&ruKb6PG_ zn?Y4%J_l8(G0ZGF<(5w9!NQ4Oo49oVR(}T<<^kCCBT*6}EuYI9jB=Cx2ZrRKq$9r< zO}-awi)tMHkQg$_NNgb&mJljTmrmW#w>Wx{iRk%QQ{~{-!lFma+$JE1Ld|a z6dUstvjN}B?M<|4^lmJLV(4=o>Ur_arz#s$b~oc*oO|R!)&$&w8Swot4JBXWsE3fM z@d>ogyNz{78gDW}!LEFC#<<8|L*YA4?iy&ni=bI04vNV#muptnX1EW6L)9g3` zSxZ@~;(Ln0yWT3U)&~r^lSrc7?4DJS8rk)5jT7lQeOu|hQ=Px5EAwci`sk|b=7P#8 z3a<#(yQ>>_bf0k{GQHHWY?x?S=kzDYZ490n;AD3dnFfDXn&WR!LTH-;{!*Kezr6)} zg>(b`k0w>~MiA6jDd+W8@fy#MB3vlAY4f(IvmvR7b-N`j91`v9Gc2uFEjBK3Tu&l^ zHE^c{C@K6@nqW@SlQ;b@E(L$YH(cz?> z{CG_ETadzh=wnDgXB=IcE9w6hoX92ny9#9BvtS9Kx6uD80HJZa1Lxz+?&7rS(YHv~ zr(v6t(mnL$7{jnze_;8qEmeCtVWIH{Tp<(kQane*8?;dlFVCPlNk%?rUjm5-4Hw$4 z;5Ny6cKL@Lr?5h!VOW)PF;JG&c&{!xZsJo1IB)0|#%Wy(>QKals+5kOh}-ZOje`fV zZNd1|>EFkhR!eytC*HT0yyCn>`!_7D=HSjZ-2n0PoZTZs^CSphB|%qU!6|;xtBDC& zH7cAp`~0NC9;zuDxqUEv^GgWs|2U%@1FBFkG_?`ZAX*{{&fnmm0%iL%v$zglM83Sn z&{vz@#Q7uEU6{1=AEs3NZ_b7BxejqD`_s6RJpUCk09zvLcmLjxt*g0ca$G~C{|Sn~ z_!TUYA&MjLvItjAy}i1s!1%ViO+Vq04013^JpC->cHMJGimnm(Ep&&)HJG?agK3PB zFcC2dhUK*Xu$oI-1~i4FTC|ATaLw+TSiw*(*khdRyzkNzxn=WCjQIGFD6PB!LZEJ} z)CKSc|8)?J$yacQAnE4wlMneD@Yt>BA$X#pa%RuMw!?r!ljIoCPEcFGUvur@=p}ff zK@rBD1-A0xfAD*V6BwSwunx4j#jgq47~@yN%9oBwTu~%NAdFwljoA;JFxD1GS-S&H0xoj z(JAbKvQ|13}@qVK^@$JV6P+y16 zEw>3U`Uf!OEw_K&H)~8*YMfl74)(ORIK2X(+Wuo>-##yN7|Oz;lL()}mPSLG-7Xjt z$mG?xku${$*F?q~y|7*3r0m1i?J-AE+aHnG2ak?Asa7fqmb`6M`sPJ|W4x{Z`)g#^ zVq=Z^3#)-EeV=kiDD}>&)PbJ`YxT!;^~4lnR^7i^ql%n-IQ>1HulO|_b&7i%AJ5IUyZ@V) zI{op`=F#4MyRGzX+QXNWTjJL@)E3`~9hOr8kVQVYRjHs6;&L40M<3>U|NX@eFI?EX z!!hH?{hEZDkhxL_!=F!@84@>defzk- z{9L^2@WGrlG`ZKNNe}a@^-cPRoGml62mbjNf3r`%KO`O0+IEnf9;+1JVFAZ)?e62A zrI`y4`d4sU{EHVqZWSMv3~uc#ADVrW_GK_?e0i0&>W2eoSOH7;jWmzz9LrX>zVd$o Db7_#A diff --git a/images/mlops_pipeline2.png b/images/mlops_pipeline2.png deleted file mode 100644 index d75920025ac44453e1ccd7345468078b00d9d577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34184 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 diff --git a/images/mlops_pipeline3.png b/images/mlops_pipeline3.png deleted file mode 100644 index 808e3b114053483dc5f495942cbc54f0990670b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106197 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 %D) zHG|@V+a(%8fRu$Kvm1;wWG{i0(EsJaWc_BLd3LkGM%cRgAZGyE(LXCAd?@+Yiwz<_ zok@#-=y%OngJ1IJ*6#AaAxD$2-rioAD%V^`XuDar-8%NG%ssSx>q`xR5H^NETFUQ_ z8~1QyG~#nEyl?p|EiUeDkqfEaTPpogAsF^9yEb1kI0BjQ1DA_}9!;YCGbT2)dyBA` z`GaEFWmJG}1r<=*J~uuBwB;rS@7q(-FZpBgnHR~)9`z^MXM^MrND$d$(ZBa@=ThVQ z1tZzd1Z*wXxnCAVkAN?**f_y77tQDxzKB^nBx=;gt=NRs`)C!NHJhl|iY!`;40V`> z-#s-tkMq8{4mM{7)mLD0?hUslqFqIIX#9$Q%28auSjr$Bu|Zt&V@MJb}*jysD0S&9)p!XbI_7A7g<00_@gO8Y=L1!{~5jkRgXhZd&90H|&`zHZ^T zh4SAX66}rHNb`^`YXQh}c;qE*!iiJPW>korW8$!J~hva2_{4ze!zbh)fz0^D5fC-N2*PHBlLjWB5w2y7e z*+1YF>1bZ>`p8lF(vkmOpV+Ff9NQ_3WY~d#wJqmIV|=9`*AGeWX(a$X!$9%%>Qj!t z@vXgS+14Q>Z;6p;Y5&w8pi+OzZrX&MR4Lw!t_+fa*s|JB&?!0gneXXG?QBeg(1ow- z|9aE`qE=FchQbz_8z6oa5r!P`3etuhTo8M}SvjY$-6mF=$2{$nOjCw_4GSCN2|J@V z5rGbT2xx;0gW^j!4@^+?rC1}2&y?I;mq!V)h9Mg2 zmxB#g9O)mU<5ivLKj(EN_`5=fhRc2)KIoT@9HEN5=rFwF;ptVL>LMhf2UGlwdbNX8 zJwAe(wY$teW*e*J?l#a8N`KokjH$+o6r96BD+{+Io|y8E#Am=_iAixZMFVFZ#kFN^9eZ1>}B6&wjlhZzU67B>_P3j zsH3AJDOmzJB;1ue0DXu7GJb*){9m7%E_IuN3LiHWC{XdJ9sz%3L2?NdcuWRZBSG8!c6iVvS%k<|cXxM7 zhlql^9Q6gTejbb_jNI{`9acw(={eOXy4k$gn`=;aG;8B& zxavD5-jACytRwUJ`SDvCqi=ij=FM@=-D8z{?bu6ByUF>=g|rC;?QATWljwd4nBd@@ zEc7^TCENLpCu_WhN%U`ir#focep`&>V`Jpu2*NL-?wKsIO?)lFY!Hro$m$AnjoIk3 z-3XfG{n`#z0jrW63;$r^ePIK`4D65EQp@qv{2On= z6^mNGx%J4i4ex({-(oRbTU9lNjoA#{P9d4y0?k zAl~A-j_`r3(DJ6u?o!PfbbIKlei?~u1O+8xEV@goN+rO+ZU^f9{3}IpIlk9?>-Dkq zJ?YgDvVy0LG97ff$US#T%olQj(Sqv@JI45>7`mK5KXYSiP zk}nA-1Iw(d79dfV3&w0aZIA&KX*A97tuAAin>M0OK(eFqB;s*<+^f`nsuYO8NLFo~ zKjz!t(^C)9ChD%i@WJ1(J+qk6=7Kxsm6umUkEfoU|Q&*5#UuaM!|AcDa2 zvvO;SKWI`8HtT=A_cu?NwXQ#{MHI2J@YRQin>nc8uf%deZ5aM4{%eSHf+qs1UxChA z-zTMaDCG>@oPQ+CylX5)B?V#+uUXIKiP(e$N66=ar-@d|U@Jl+a73!z+!v{|774fcEl>EAcSFTlMRY!U}L+*P!_EN3#ilAD) zcN_m`a6Y)S{M!f${Mppij^n3~+ON6n`+Z-D$KGy!Gz#X!_c~I79l(1kVB55cMf3*o zyME>R>eE{1 z|H772@+??++Tqv&2DXoEbgNiSZ(aTbBm*l2PyI6M$&QKJwTsbhl$J7^oC(wJl@ejKGki0n>!~c$$ZS)Bp zT~Ai>ag)<9yQtWcVu={t7nKug-=)+EYwpDH(52bBynv@IfOJ&qew@eP9pM$<{A_hD zp^2~p>l>k*2JI< zx{8K|lPF}s9i`sG`?#GNN@*>8?herT<%N5_bc33dl$3!%%--cf;j-@^?-pYRuE^uU{yb(|giznN&+U&p3RpOx(aPyx@d z$CQYy!QQW5Yv}@^)CZ1yON`@0mQuAb{XkP4NB1@KDk|0;Q_szgh$!N+4_r$Ibp6u# zL!glQ8?&jF8&F6_v%-W(&)gZx;cY{>NQJx`rn0aK zTF3*DQa7WP2^Mh$HwVi8boA@^CO;!X=i5}n3z!6uIr=Sc1URx@JMplouOB8T3k_)p z>9Q9f)HmM~;%@dz*B9iv!miJsJ=Z4A{WoRU)P{ zec7*_H7h}lf&PpT3U7FUW`@J{G}&3#7G7`tU$erZqQqmGV7sKH8U&~)8@EPEqOLA@ zJxM8saP%PbH^Cuc!9@}tkO}hz#k6h9UWbv#(-jt^n>e(HL9}jk5f)U~>9X~tqVoba z8UZezS;Xlz_&E7Ay=%1|x+_g^h6mL}Af!h{!4-2pQzqs>;$G!qvK-z1a@ z4PMEn1Zvj#rp^tYXf6@w>z2x&PWJcXelt#RDuk=iHJ)-@D7YcGPMmm-mVgopPjCig zfv{*4QY|@6AGt*Ef$+TZg(&nlri5Ser|av*&D;o7YuQz(*RG1L3kyJ?QW_MaCT%t) z&&*!+EWI*xDxvpy=_&geo!EHh*PC0%=irf*`r+eQd~reaKnWRQAKl?_NE3`0Hzd8y z+jG$`?rn60#UqQ~+jKSb3=PK_;_vl9X}EFW&W9n?kJlZ`b*H^~_kzx^gmEracU~}Q zU<*^JbZ!k9oKBuCM91v{YE&Egptq{fs%!(7iT-Dsy%;ZN*DBtgO6Xak(n|_h8WUPd z##~d*X)`+|Np5tKKW2V_^5^(y#p(s&*E$;sfCWnv;fKkGrmD)yV6JtYCTxsmIeHKN zI-#@!<2ug=Lk=&QjUAKyT$n_;jhr^s( zQO)@k>TZPD6=7cbhSR}Qi)rHrZf{T!mhy6J9g~7Hr`FAr_c)}5A8~l;GFmNniK+O> zW0`)<{h!>f&&a;=TehxOxmgi+!=YG;^pET9) zyv^H1x4d&RxjE{<8PjW-HT7Yj;X=9QQ-^>?ky15~wEI$dVxsFJGA%PR*fzJylp4fm z9F9+r75CVC*Eb@7l&?HH&2rEG^;^ri2aEyt-RCwtP7BMMDY;}tb1%%4J30*KugA7m zG$%KJhP`y|6a1{aa)$D8;5tmO^{l>vD{j^P8#n@Q)d1X~ad|I^F2b>K5NX5vyp+^@ z<@sO8AiT(AXnb<<$Nh8n5P@u77JYk^q3vVZ3l=uX1TN*kVtuojX{q%|d70yf%v}{u z1PorjllvnXH$@{xuyL-pITo$GYGBZhiHMHAV@9QbTJ}eG%_zE51=#d)Mm#?!o7hXV zn8-1=DNOE^3MCt5=7~uRXJ6tOsTL%0bUBikmExkAj)!Sk%lic9Xa64E&eo#I4VOEB zT;`;uhjP|9S-o}Hl^@M*kM_onwX^w~FLLj+PltZ~Sct+}@{Iirq3Qh1HbPou^?;^! z9J%rmC#3N?*IU(*()VOLD&`Sl?p#bvOuo8nDsRc&h)$snu{mU+egta2mo_W9X&BYN z{N$}{95pYbygOTjtd7WAKk`Lr$=XQsisyBmORH{O6DQb8p3;dWMJ3!qGG5+Y3DL^U zH|#I8bkMlz%xw=kmai;PEpy2NX%E@1bN5IZBi`a-nhdF1j>MT$s*%Bh>oJ-t=XwGt zOs5(oC{%EnV`R*w=ZYMHNmf9R%NLdOf~rI8|rwv3xPLrcfX zPA76Qu6p%ynap1tS>M&EAXu;B~FVCbzg;=CN|^&jsP<^JdNq`IU&9 z`1RQ-{4;N_N_g1(+&b#_DOx|ALc|ptWi7P3aZ-s%{i>$%7w=-?Gg(@ylJ#q%0d(hp z|E^~s6}`+V1wA2x-W{%AfXj=2=;gNZ<2Aib$@B6m)WP74>H9ro+mk*i%!_e${5S)K zdxZMo-f-bJ38Ud1!Am29{s_=uG=%(KTU&eGu_)$4hb>K;8)Jag{#;r`Y3KZ(ThGpZ zqUi2h6cU6J;E3h1;Ind){Dqbp0Hr{2l5&rIxb!RY)}s>NFF^?7qf08*TBNJ;GtqEo zl4uET&^^_Z{FAv81=%Y%7Z;(&4<98LifON94M_po^%;}v>!U*tMonrb;D!OuO3V+* zm-wM5?Y-Gy>X-Ywq@R$4^t@lEfjStTOIrA>Ou-sFHuiF@B1l%V2mHyA8(InQ5aJoF z3|zZtWG+p@>G17um9l&>pM}TD0-OcJ6fZZy}m5npBAk-(lFItN~a7SCK?m@m` zcpQ9g8(d_y=>BmPtv8WzpWa22Yu8*-b+{^KFvmx5aV#HKL^R9L0%_ppVd0@=e&F>g zYy;fe{t}ht(Gy+qN!ue@kkt0xi@E`JN!CD835(<1I2NlWuqV*$Lgdg-&e_gi>d#LZ zoeYsnx0@N|X|+1Q=e;DSd`#boGTv!o+U#eX8Pzu+GiN=#qhm{=?c$MQiC&daK|{dc z_!@O8H!rGiMR*)+6}?vd!HMEIPx4oaYjvWSAlIdBB2FXP3dJtGvLiEu>&6KEB9gGA z;Bva>E7}ww_U>t;2#wFn8bvXZ+@Hm69XxlyYwFE}`X}NP3@?*;iX(@+I#usY$w3|^ zJGfzB)mrS#{(*sko}P3hE3ii2Q~Hdi3yqf#vN6%^gn6534^sxHEg=ppR25;^yt?cOzM&rmqH$7? zq1(>(rn2DPwo2}gXbH~l3&?0}C#-9bNXGD`^7`v?>lcR4i@WPt!5o=T?f&vWY2Fl3 zGhCx9UwQk{D=&Z5k5@{K=CE}QnE%Wugjo(L;#N*S*p_K-pp~+#t`oV)P>GRaH4Q@> z3=St@KTIE&@!Ju&0=upeaV|b~+7o#C+eZo6qY{hi;qpeqNJbKYoXRb3YQ}UI;cj20 z!C8Lc&#R{UtGBy?p`t2{-^3UVwf4oGj8bBmZ0#kOwy-rnnR*JzcJY-+7ORbkTz%)R z-Ml#lhg#wx8XNhNO3*_!=)4C~sfbRnL)U@*wiUP^*83mV5KT!&e29&dB<>3njP_KV zf3Eu6;RMYWT5`xsj@MKqF5&s(D93rDn6R6+C{&>oeejw#j5a2682TDKqV2d}zcO1% z3Ni1TKvRZ(LL)ZVp*}m~9mDD)abT$&QOlmjz-wQxq*q5gG$^LG5;qN{`9=v+&|EZs zrg;`0<-oF~p|vWh`blv+8y8I*W%`kb>}PH!ig=!#$#XEc)GW|-O0MjmuUk0 zM_8W~)3M2+a+TBV+wjQ&^;<4V0WV64Tpz3j;f+9qW;74$4=v_^h>yO@Wnb#grj5uT z6HpK1Es2)ExZDQlcl7={jqPmb{B=#B7N4kLm;;sW5XqTs$6^Y?bW@sr)?Yo`vW^@C z6Vl0Fe3<*AH?+P+7O@vn3ZA^-vdXFYB$dNDeyjwX|K8&evzeiuo;5s_LX`OWr+H$k z4+TT8SKR7Sg=&!hClG_2cc?*17wslK%SR6uay=4O^jPO1%Kx`)B;NRNBMd zd$|s(U*|hJI#7;%a1Z580{3c8&p@wRztV{x(Hufjl z?Q8gMu3km8nW!ROJY08e#_Fwi4Jk;eMPa~W&~67^O1lwQ&iEfn(W@fSqT<&h3>#b5-EXH}lwNlYAI{tKGw`EZ9CXi@@0}w}^Y0406y(<$k`f}f)Ra{+ zUg%!OXT^_Mk8E^p!NSJBp;*PsOZ$QLh!ZCs<~fv!h-;g=dvv5?o0$5{)v=^f_vVjj zSNr;EAFw7oR6rIO!p<$?9NX7mxaBql4LWpNZ@{z}fPf-1`~7t{i6;SLi+GYGJF1UN zc;wTnE8p=5!ifGu`L@6Bbam1w%PXukG*?fQOyhj@k@GL- z;?_}yA-?P{chlD5FfphnhA6k)3er1GeAuTmD@W%Q8w0t&UeMg!fb_ifBddkGXj1p8 zyAOZ!BQ6K(mBQxR<=_x*+)Lw@K15BczfPAp;+MW1k&mMzyM(SKP10P{a$8MBz2*dQ zm>Itv=Ibkm`IDlMdd1b+6R)&uJ~e!riY#C4FDTEd^5@V@r1gK~wA!^(b%kw99CX$?OXQg1PMT8D z&R!=Ep2<4^75g=+p}r9fG&<`Jw16-d+31@Lk#tu_y@9hg&%kS zr})gnCX0R*JCxv=d1%UL(X^)4N~E))d%u~V{<%+}f)eC@WDaN4iiSjrrCq4aGbh~X zpPb<@6_m(t!f)?v26M{OtCklT7`XLfCteD+YYnP_TToV>je$=20;JdEq0ofLzZs@}o!*7iXnehH%%PYzr#MADseP~Se5 z`}E%z-~A;qEat8h5=|v5UAg}DARjpmluv*#XyX84shsK zM}pDJ*>pJw1N6w_cdD4=14>i1`eHl7YvUt2dW5=F5L$c?LIllU6VvIN&3d_|`!!O3 zlN}(oLg~$+{68kmAJxVz{cqCTl7aIvKFgU=&;9V)owM0}2OH%ZP2+A;F-k8}R-vo*pVQ+YHPWXc1AWB z-Q7+{_k`&ox$GiOi)Z1%XKst+`jPl`udrIIbuM?Gj;ArQmE!&7t%R=Vbh zzZEgDm3q>QLz*Z)z#$?guV|laae6}PyR@OT<4P}MGf_!nE=8;95;jVkmX9jo^iAvA zBhw}Jq~K)&jCbr01*cAHg5(Q-wpPQN&f{xcH%PPD=L^pEgkYPE8$B3vY|T zcho7Zose{#xlFQdlcnHDDCX=R-_8M+SG#iCZ0)zhMuXWe)RzyQ0nIZsG6K%oOTj!C z00(5esT7J1SLS|ia91L#KV#lp4MgrcKW{@;ZJgN~&NOg{u*ud;*=3IWoWbvFdgr4A z`#}Td9eq7LfRfe+r{W;J{e%*K4_Bbw=zAcoq4b2ZR*$$tf$qM>44i_oX~xa1n1bF7D7{cOiHUb2HJ}(fYB{r#)_}DwZz(u>_I-CLli?QT!Zu-mDuaQ5lPQ z0|qSjmb8Ey2QG*Ug%Dx+tr4Z;L<7mLd(OCo~|219py4h`m)zQ1J%?R_ZuMgA*H|? zzGPhOyO8pvH9(|eBQTYu>G(o12AxKlNb_ykHF0Ug1{s`Y0kUKP(zUzL;xrqjc@+F6 zO+VMm-yNRxh<3Kk^@|2YF{#etLpVU|_F3@*K?hciqAb91aV9ph-#dzU87V0Qh95;J zUZ8?QRtSLpJdc&gdwdz*>jn40R_U%N0WT&KH>@sOvF*>T1iu+a5XPUM`9%$g>as0- zPZ&$}&lT@=?T{^-nm&^V=EQF$Yc0tRTfC)FAgU>>Ykc;xX!*9HgY=nTWQK$sVC~B+ z>cKFc+Y`5-cSEQ8C5OGo&7P6o&;%cRL|mBD+be(TXj7l>*cl}`qx+em8E;fpydI|k zf=nGB?Kih}3<2>F?L_pE@be&`W6T<(iWm_y`hs-wt7q(pS_KE-lj;)CHrC;CnLh6+Bf;Al`E&q&>M7%pgH%%s>vvLN1wcF zg|UHw>yn>WhSdPc)>YqeJ3kSXC0C-di>lz)Ug;-}CrwYpnDW^goG^E-JAFz&DJn`2 z+J`=t4}?0vFw1);1&>8jF4hF)K2WM-c>CJfHQlWj{D(fmq!@*bUp>#}=0C*(KYaQhL3DFf z9cm`(3+vQu*%lvpq(sRWy_WMj7`8h(ShKUx4IHlv&R#N)WW3IY&3(pwq2g5=y6H=l z%!byZIpdYZ1(A&Qd!Cr}G#O{bP4binb5?}mhC;V0)T6OVO1~sap!B2BFgJo)@m&4c zJvN_SJ6l_;WS}dV+_X(f!(+3w6pIt(ab?n}!a2#hF~%{b_~^0Y9LEJy^R_Q2*)kCE9w7xpf5|!eF|0>{=NYmS`sSFVSM|XPaLrEzD?PFfVA-Hii{tzmoRk? zO#ZykV?qmWcrpq_;Pkia1YkI3O*9&GovtTMAEtZX({AM z9_Or6d+q5a_z-q6NdI|^+*&d-0|94ju&TVMJ!7O#@|QZ$Als_gKvB~Vzv!j& zY+W4VOogn@XuxLsicdiJ4lQUa%U7!g*B0sTTYQx0lCS`Em%R`xMK7!SjH>ka(Pudo zONkvN`Q=Oqtf2q$cN*nFaAjeX8bXSIx@;Z3C>Ec`Trx}&JHlGT>uxdsBL2ISSL2z2oSi)YmE4PQzZn@BS<5}X;dx44T;|BQ|BxMHe~}KspEj+atC3lXnH*d`LpEso z^%{AZgXj#?bLm%O%Fi!n=!_7^vHXX7Kjxg$=WuM*h@`IfXdE?` z;;i1JAhm|Js{*2(9b+z1aZRULC4#dn+S%qODS0{Vw>J`*%s8v*h?wANlD`o0cTh)d z9ji5G>2s0FmV)#M{EiqMO`AyxQI#r*JykVsU^1d5Nw)Q9OcL{^l>bW+KtXoQ6?FHJE?%bZy(N+J|Z zd*azKPcRYi(ZMa+=N%;pq;X^@<4!)Ym&?c`msP) zNueF-H@b?WpXt@JmY+D}SaGjMoTXR3?}Ao&x#);`)Z{LY)L9uq+gR3ai@Bfv`M;D_ z|AiGZYZ3q*+IC_OX-&~N4x7`!5ZoXtDy#=gdO2%;mL4QregP2%w1(G0A7B~84LZLJ z;y$9|Vo~ZpWYv^wZ`(CwD^h}aFI}zcp0AT1U<8&Vxj^V$YdznxUKOMQhc}A*@|6dl z#-d+rQ{UM5EI9pO{O@R`*D|@sDOR*CrUA8-JeqN^@x#!hs8WwB z8;NgS-c+xlXt=}45#yu^trsStok@&&KO&axywKo|F48^&v%{HkC(AHj_MF>D$?hg$ zH_6*2M|*$>`}Lk}eqNK*iOejauhEzi@rS0-vEngKx6PI)N-JhaG4ePy6;A>IMx#&B zYoz}&`iqV~Z&c<3rN}q}S)Q)#(%6d{G6}0f|up*3Fd+uzU>XlQJtyZ2~QK`qmR(fPXe zvwP71);%RUexORBXN($3j$Om|A)dwMLf9D?!mPA!(Ogk z*FO+?t47_MTQ3m7GTQXf>*9oSC%goknPLa*s44)dhCHb-oW1?_>S9UWdD96?5VsByt@A zT?aLD)Tw9zTr2>oU0MsjR-8XU!=UTXDJPw;97*?N{HEE=(*i}XFL*?mh0MN!%Z0eY zeAA_vXaVEh>)$(MW=o{9`jQ?@?%e1WpJODdP3W|WmWPz0S9xx8=d3{C=MT3jTfWH5 z94S4>w@o#g{tIsbxJMHb@n``31HY{nP^(9+wSd7F*h92 zncR^jc0lo_P6TmtS~MAf=~V1!=H{4={LyW%fDICw88@eok$;7~GM6!NPKR#I0jspO z{v9YMYAP!^^eRKswLiE_-@~;8;mn!)&mvUL3a>LGAhEsQAhFk@BQ9()F=taV6Y38& z%?ym7ilb`he&R?9$~+8cUwq0QgdhQC9?DH$ zR9ZOIEJMF(u=`_-2_Rb+W^_7|?@JvN^qDpzS|OO8(c)^qK-~=##l(9hH_)7+eIcz4 zcrtTk9Tf%F>3U)#yg0h@y}jLkpwq%SM@lZEm%n#u+!7@oxbNS;{(tq-op@SOBqp`T zzRRf;6p$2GgpJKV=-(_;kYekev-(7BvgVfU4naNWn(UL1?N!in8(5h2_6uO*{$LQ#}ApMnbiC9B)4?H+TGVm6yy8Fk;#3Yhtc z|8SR&BO0f@e4W2Y`WzJiDko3AnvIZ)dZZ~yOL8)|MChOuVSo`S9ipVH+?grJ%EuNz zl91UKP5T&#CuULivkD9X`+0Pcf>?p@mlUiqCtlPXuC*yt?@ z*8{m5WQV;ACRzYdiH;9v=Lb_cx3e{*=*gmi0TwVnKYw!Y5A0?zrrw`|+!FzF7CD$U z)p?SF?Spfw0C$Lek;3o_tNl=OnY6;S^0u{xrny)nGowS6!tkG(IWUFiSf;^ zR&yoli=$AIFSu1LXqEio`>!UY+M?v;U1L9Se7Wc*v7BvL=7-=#D&yPKkUi*EdhUo( zyDBC$^hPXe+@ExrDyf_#5NOCIm>YopMd)Uk79fXD%g8vHR+u+p>3PmNdKkbjiizl^ zBaAKS&}JD8Fjnbjwz9zyU(SNLt zwwCVX;@nVqt7Xf{sjpc>WlxVEc(m6qIHuxLk40KW$3REP-Lx+*BkK_EuDU?=~sUKM2%1Tpc_vs(M__owY3vPwowi6ivwvGGy}Pv zJ@JK_FilTy+5C%n$J{QR<1eP{hw0d$LJRn#VeObFx zWf;9AZr11u+5KKNm9@3rIYY`)XGyQTV^|z$z|j?4H1wkN7C%Qd({Vsnyb{=JHzD3v^oi&WWVJyTVJ0IqnV7MF0@DPc z2Hb1#M3h6nux;ji_m{11=VVQbiGpkNhYK{bR_Q%6xUGV<4XM4=UL-#;qtp`VpbHmkG$gp~aolhhR-*C= zmkM-%Z-rd_R6uBG1P6meCYyVwd;r-)N5tC3^EL&QFd3xQnTpOz{!R2*#Qhj`@ElJt zCuX8mRlFiR=C?)hl^TbQlm{~InuAgU?~=qh>#k4NO;Fm}eY-2YLPN??eGX~bB@vMS z;I!SRjp|QfYJ_RqzzxE7S1KA297dZe{?s<;+_C^?8lA500 z6El@^e>Pw8AVkrvszEt~Xn@Q}KM7(9&xAGw5dw^xpSB(@$})Z)oz2Da_N14%%+{SA zX!b>B9{?v%@;&bBs?k+Pc4iekvW`r{-47Y2=!byJ*_2|k4dUeaLQtuzI4I52GfpfF zISQ4>pKY_PG0RZ>LELsx+NjLVlOm9=sw-Men| z+Ij?9@nzvws}p^SEbC!8Yxzv&f~RQ*(S8XO@-^r&@uGCm9OVNZ#?XxQz?PC6KglXU zpKa8Zi`ucPGd`=U!$5sTT6E*_ha|mb#fa~A+6b5>a$#CCF?~BIDh$gl(FQ?cP2^`@ z=5N<4XbJ#8P8yN%;C`FuMUJufutLD56R;V_fv9Y%2N=j)URdd-TjFypVS{$G++i7M z1Ss9`QXUj}5IdRf<^Z zcvsWq#DBo}_s7=7bfie=$vSYVkV?nXCVerfF5(LFHov7y^@!N$pnA8tr-FiA%s|yI zUQA}$7M1Sd4{=k3pT}Z0K|=!KZ?>|?27ffN9=KwiD;{lKh;BBQQJkFZGl2)s5cr6} zn^{4*7S>5*ZK1+)E&e+y_vMcH4{0(iEu;I65by|58f@sQ43GBv)PZx>k_muTtaGI$ zz`SK}>5~h|FOnc2M6LiHf99op&$VXO?F9%5ty$T(QYLT1+HksS207QngjPpSS|rXd zMlZLKtoFcc6jgQ_cDpvQ{$ZUvQ*`QCkMk?1lrs$sM z_l0DfLz_mgJ5gv0X$fy#`PLYpP@OxI_%sZA!6E{z(pg}jZ^cOhZ5;H+H!MLkgYjQe z+|c5{F=mkDUbw8(4X=INZLJ$MZBlclDvKNi)3y6$NnJU4F7{=b=YNoq`hS?!qw0x# zH51ADA+sh57_u-%J`t_n*SJDdke}f+B;_})^e6Fh<^2Z39&01S6XS6%mv$0H^GKNP zKSCQ=Yqw1;2(Ykx6P-Z^MD~8oR6xPnQFNjV?j09p&OGrVzX=TjA{A&1Of8X$IF{e^ zAYSJ@VOU2H7zefno=*#sRGFYyEWB((g3TIuc2~y>(;nk{kurQ)(YrSYKODobQ|EmG zO>@x?RsZpVs(z1&)0XV8r-P7ZEpOdOyz=Eq^Zz%v)kS*C-0DTZ*|OJEga~A|7+RaY zZ9ycOY@|Ibo9GV_a@N&S&igW}fyz?Li^yYP0?|mvE;5H^se-_PL`HC43Ht^jqtnw9 z_er6i_>7cQ%BVZ29oiZg)!gcg!4AH*=*ZrOPL!U{h%?GH?`emj>La>Y)<@>rkW2yw z1Fy_%v&rDif(`{}EJ6BrI)yJNwh+riKJoC(6`TTGGF44x7Se2mY@)|#3Ukpxce$iy z(V%r)KFS1CdD5T|l6f34Y0jL%xlf?LVh*oxJs(=vr)XU_fF!SBcfoqr9Ek=TNte>W z_Jv3v`oYAJ9BR#(@!?*)f9yT7%N$U3;3jgA=I(27k<&xo;KnN_N4t_+cIFN{7q=aF zXt4-Q(UXfIVHBtT8DZa6XNh=b|BVwSWQ2?DKqi|1aU80WAPLoh`H^)8#bzrA9G1v` z>pN5 zq5Wpv`WQSiS+m1^U)&1@RHgEjQ?iMQ>ICAdXTx|7BXf%Dv*R8WqnjOu(WvlooT+ek zIDwD`QV2nO!8Nvpt>B$lDqcM6hH_r3ji$Q<31+t$6`AUW-Jav!6~4$dff%h0?r%-ThJuq=k5~TP7Yy|7IHVNY9OxJS?}n#b%%3LNi*upFS@AN z?Fu$QZ@gk~OWSkZlXM^Q*zJW>jE237HQIP3Sj3%n9YS6x!(xr>xijQ}NAWSu^A8${ zp>4ssLx3PLEN5Bc_!#eIJTGLFb^DvGhX}ZWAuHg44N9&d$E7)G8QWZ^zhEg9tJqfN zv`+DNDxC1*Qi@E^&BBbH*k5?zGyeJ{ycYB#T9)g;{($J|sc%@lL$boV&XkrcOLds< z5)_W#iaEB9i&@ph z5e61Aqfi!6>0nQ5ww6cAb9n%EmZoJp=S(|HJBiXSt#4!1)Em-T=^1+R@w-t6S(;I; zD5#i<*jYp!EM&|55Y+dG0-pXUaM6feic9ay2j65A!&rDO_cb@ym=!6T@jGf7*u|<( zzut)g$19L*_JJN`YGLnhaGTOH+y){n>6gY`*}=cRX5cvaG1IMT-T4iz1nF@19Z$s# ztt@2WJJ+fIf}o{$bsEt(&H3iMMR%jNxj};+Z$9$9F}aW>8UIg|V78k@cBd1qgZgEm z8Lbm9mXWiQojR8aAL+E@7{7n9mb`Lz8H2}$3qNW9;v{8-h%+duJ}a|$MTDvOFW}#q zD}ri?TIQrk`6-$#P5waVb!=8mU|Rv72j%F>T#4qP5ybFp6eBa_Th91h%~0n(zKA?0 z{>Z)S)UOFFGVL1{$-DeKifJ>ygGC;@p*~s-qeK2-JeghpL`e^_tGw)v5*Kw3PWS?Z z2b!9j_Z(WTcp`MXuCAi`3)uO;0j26BpZTd31rfB!-a$Rf%*;$PENr{aXT+OX$aL=t z`9%XZD0UMy3g88PLaC=nO-t)^5?JT+uz!L1f148jHe`r--~YpA6b1n8ptq2I-DP9g zfmOn%FNhsyep~H%QAUKxj%Xb^teh;GEaJzQf8WjiOV&kf{r*b z7QeSHT9L$*^AB6YDH8NtOVC*$56l%q-R1rF8%29dSAG+)5FXIJvoh_L=GvAzcIG|3 zO@R=CC-Nm7e$V%4RT0|tgrqk{#Vf_m{{05>JL9>YyfmAzL|9*Fg^4{XIMgS+S-`C9 zP7J5E2U7$=mRn00+et8Z7h`!=D0-lvwXueCmyE2^6M}aoDlyk+K9-ZystzXgi z0c!7~azoscctJePCc;MRZMOQuS+{d4cPeMTZs2I{bO!==!PLpLZm|R}ORo5?P7|Wp zkG567x_ygoKRmehAYa^^%gucxXJz0==tYLC+cfVc$}W|%@8cYvZE{oc_Z+H zm~t!%N~WWV|L3)AH$q*dzR;(TwLhq@&C2y620O+5So|?>N(f`JY6P89%EAOLQ8q5= zs<70h zmJ3v=FcC8bH<4$F_?wMK&$hT23==c8q+E=9LY{x}y3ce-SlFSpWFmq74P#H5+nz1i1}a^ ztS}>Vw74A*o;|@0VsYQB3lVtJ`wR;`Vu4HZUqV8o?bluWACAfwKqUa+hx%>|rq+eu zVzh%hVLa96j=qU|Li5)ePe4iLRENvPrun;RL-s?qrp|uFW4dhfAb1;qyqEHr+nIAy z>uUv=x`3L>@1?LehviIcD%t>;!0wmkyfg!v?|X@?a}-wLtX9WPBb1ngJJ%jQ+qN1v zI7PM(`Oif-W`4T6n`k2!Q(&tJ!adW&z42EPJD{Nvbqe)bR8tU#m1LCKQ#3RoKlIpZ z@5#|h$zx$fm()z((s=1HIUV@>2vGWKadMavF`JX5RT90|m*DL<&QTm)-{JRPfXcF=`ovBYiI6RsFQH2*PktWi`i z&?jdR+w^=0)|eNSLEI85CEi*pCAG^b4G?AQ{d|vqy0B}sB_ZaNJDAo~Ikq__fOFTV z*sqgE-E&7hnWVf}x|G**qGs(~U|1Sqh`LdUiCy%))7i`Q&3Xl_&?BphPw#L^v5h-r zRYHC_*Zf6rYPLTi!k)ED_}OM@hp#y?^e5IS{o@K5rET|##35IZumn0JV_j7<{8Q`M z=bZ!uf?yM&>cQK96RgQ)L)}W;A+AR=nFeXxFo<ZQ-IDDu@()=G zRdB%dpthyODKO(Cekcd*w7V`YY97d>gfnrwRzGOTGDjalZV9jyIsqwqw{BAomKmT4 zN+1l2_unzhx34#K4oE9}V8+jjdM#|0fQq^_Sk%F|D7XK5Q#xQhd1iB(Gi{DsoXp}z zlbJ1qE(bR38BfCh3?JD~S7H45&FdHM|2{3^yl*jSCnS%vXw&`~Xv&z*!S0GW&>W@b z#xzoGHn)zpDG|eRW9h7Nhn3gRWp@Q2HW0+n$!b!!>$egxN2&*DbTtmh6h-;&PIT* z1~O{c>r-u+UEcqzy=(u6I^E;S?%9(_d&;GiwL+yuQMN_t93^XX=nUmdlUI?FR~biZ zSZ;%k4QL`$1JbF1G_FbM<7Y+Rr;$lo zB5wZz+@Y6S0u@J>S}VUFR38PSC}mLBFG5)Py~n_cxfg}?NI!#3Y7_CbCcO@;FUVuJ z(T?QlX+_#(dM5uTP;)?lv>|hX=&RAgdB_>p9%j z#3#iQrS02x%=t2b>J^tk@|n(K?;U`Wh$FEpC#=EigONyZ=-xx76nJVcO^h_yPf#>y5XpbZO>xXtsmfyW`fhKV^xQK-?HU4CYd_XBTD>Q_8i3qfgD3{j z4dLs*?K7%e*LDEpyFj|>4rKPzI`qyPk@Y;I>YF)s{u|F>WXmC+IG9)m3Xqm_PTCf~ z{eS`>z~E@aoEq(MNZ2Gs#8`^_WYRia-WT55+2^EKzQ?5#Nzxy2i*^uqn>eu&_Zi^cC$?VGK^lfDA`YF z)DUSr>_;wZ=1~-H&aq*Nu3VFJ>cq>-n^QXp;f|)ieb4N-O@pFSa+a9mjd!mPxfWyM zG{-r|)n9;AN<)fW2;6NRbcgJ1)T5A@*O${yg0)1wNJBk+ju&|Y_f^TZ%?N&jHPoMN zM52==&sA&T8AM`s88u7i*v+4Lp{FclGm)Hxo33#N|LI)yTs^R}gCKw6CeMb^o}{F~ z!aC%xK<8yauySBglt<(o<1~Nbob~uzWXUJz^!WH2v)$3E0%~Eo(uM~QK8u-UQU6HP zaLz{?o{(2uVQl(vmO7_Kr|Ue_4VFK1F8+!eb=?N$;{S!>&5KbW&^da=M-t5PM&#stWf;qPSS5sva75Uz7z8Q*HOH;|lIO*XU5Um4M+O$i^YxA+KK{X@;yto|0UOnxosUOX5XQ+N+-&hos2X>F{$(?7JZO z8*1;E@^Za8)0uHUpGVK?>+c~Xa6D{9sFAU8ibH;ec`YO+qVxbj`Z5PowKFZ<3@YPAgDG zSOcnx*jdsn5L_!zkkvR0g)^GF#19GGOxKwvqksb6ypr23peqQMXj!hb7y#)MRJ`B6 zJEktH!bfsnhxoW+-xP+nwJfinW<|4`l!e4zJGHYPJl6B8ky6Wp5XFDn1vTj%R34yb z2=LXeGJ1DEL;Imu2w;)Jv6T0n{X|SuK?qEv<%FaH*X5sBFf;pg|LddV1^xmd zXWttCi(3IpXvOS|E)o@PWd1C0=JH!9`@Z`9C7R|Ru%a-4y+XhHdwZ*sHVRrgvrK{j znq!N-a2fS(K|$ldHEKzBzL;4YD&Sp!QYy&F%X<%K6%_v3;0;N@k5qEt>tS(*K3sof zPMR=m+lq`dK#p8&lR^03@s{)#okh-HC>|s*@VB1cNyDnLE-Bj5ZZzrH6&ErlYrKP_ z%5xB>Au%nSq=6NA4t_blYKgPl&lp~F-#f#8tY1zSO0~G*PEH!rS8ozD4)1MTaEDMh zh4}FlvA#`eYeBC`nE5{JxpANZO3d}}n`WqrZ%1U7 zCBR|YJ)aXIog$o1j6cBD0-#N5jePnfWuEnrZ6!sWpX>hiXJu+*j9U&)mWTm)pe}KX zgdhPqdGgQh8a~0H-&w{DpGajLHSQQ`uCI^mVkvWymm2j=W%ho$d{bINlV10JSA1Q6 zf)YuGaw@xpJZfSwu5?x5a@M4@(=b^njoSZr?||W0(U>YwmugkD+lzGBpUZl)ofdnX zX&cspks7S-$7TWa=-=!m&5pydRo*_GzgQJ5<;k9)&^&8}V(RN5pSb14;S5LCQ<#YX znAuln!_alW?BCCGz4*zPFg8l^m>fH;~hRM|i zkL%cW9aa%#^y*=YUwPq;4D+4UR|I-P#1jss)|}Rb$FST|qd45aEW@^=TvSnbsA@{f Xq11a@zl{=|RI;_U-;r%~@brHGy13F$ diff --git a/images/mlops_pipeline4.png b/images/mlops_pipeline4.png deleted file mode 100644 index fa4a2f19aa213c965ddd74a732e3160967df1f2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35040 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 A@&Et; diff --git a/images/mlops_pipeline5.png b/images/mlops_pipeline5.png deleted file mode 100644 index 2167c0bc2c78923416ba67521d3e0d12d0b28678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57728 zcmeFZ2UL?=*DlKb+*`I=5e4bZMsJ4RQIXzzhb^J^5PG$ubftHY-jNz=&j#uCQen~>@IZ;uqFlat{U=nP%vq+oCfQpbl<03b*-eIN7cy|5cdx7gT zmzZCBeted#(IIuh7hP3fy07*}(z|F2_pg9xccF%KBf-V>2Qe9Y+(iMp8uttvUJ98d z2wJ?S%XlsHpqJ;?AKZ->zbb+QN3pX`OpF$P%7!b=NRH;p9^i(v#POfb7m3*B2;wom z=r>&V%<2x$T;ml=JHKBapj%Uw#&U>`R-u$hSq@xTt^6R@kDFA-aH!+kxkepuZ7W}z z{*d918y{9$>sKnmzm@t#(OLW`rrLd{xUcQ?hZbr*@C&E>w*mWpxek2%#J_87P}Tk% zbpP)%st@BRgY`FZUP$P9xBuz;5L|a}RX{3u=i(`_u*DCe2cvwv&d1Sg?XF|Zp_&&E{tj~`DSBcOo|5M|r_mboGm>xcU7 zC1&0~?ooX)9|3EG4c%^W%G$8S(-nD8fH!C{EcZcgfGa|A+)7ofhP5gZ0 z$L;sLwJ&p%3BuiwaumMo79V2zgYki{$-#`Q@W_Q94}EeIzLKWgL)d<#z0GZvQ}F3x zsnumk$$}n_nYtaBtO6bM(%6VkUCZvz_NqgsAL{1G2aP7C;8QRQegiU5dDGKA0g)aL zD$ha&{IN%)dGbw@0~e8aC|(ufy;!83Au{`~MqhoDtbf|eMY@KA61`RQ_%rmi$_}0z z2)`_{%Fft49F@oIq$j)c-%ay);0{mZ*dyV4loMq)GW~y!_>*G@MQl#aaZy~hoq;14 z3;l$3cJ(c)pm|ja!Y@nwROpgVKTs>(y!%b;zhCVBntJ>Lg52$;8luE+TBztp z-V4cR_{Im78<){Oe46%`w0?@sD`OG9G!I>Yw?i_LT#ypYIHM7!;egJJE0m7vqJPc- zyOm}ne}>Co!u)NB4SL}bNrq)##fZQ!^y6hudT(X8Xsx4j=tkfpl5U1o+yu6tb1q}! zXIXYWAig_&Wasg-^ux-OQ60bZj;<76OZjgpc>nI7}$ zLVvd9!%FIqq~w^?uJHEMwbVi6eUjFQ{m)w2uhu%{%q9D{x2RS=vX=VMJ}O_nUH!UB zu!kUOgBSRe|3~?<@6ec7OS;Ekl(K!CuvSa!y&rcdYg@U!%+o+1sy|)o_Pu{itv7YD zm%FQ>faR?y?iIctj~5mXpt7@F^88dhtad_0k@;pnm%R+#jwIjD-}{!#0}Zr1eooVU z^^_sWU2SM(e_`sApKIy!IJ-t&rLHaRlHSj`Qg4*{t@OwHs1hBY{i}|T^r=6`Cy^P~ zjkl9)@%i=V!%v>^{;L5u6dwHSe&O=J$--~?2H&*(_lqz1KdAkW{KB7&H2C^oulRp( zpy*7&MM1cwtjBsLrAYOt7}<+3 zY~acJxd?AGKfA1jP&h`lh5Ln=NWCbIEp`lcOHI^xwZfexTU$|`fY3L8M9`%#_N=@5 z<;QCZ4Q`kjxF4)$inrhPW2syn!p4?*n87AqF~R=AmG<^(15q7m4X(!}n@f_m_e_Z= z=4(aOWqrd$CUsL=Ir<;f$gDD$7`SUA_ATD%sq4J%#4>YnFHU9?#@e<8po{4?6vvR{j8*lQpwf}&WMT1zNFPk^!!AWotKHtjC?2_%ki8? zR1fX6V40q0t~?x523f%FWha2pdH4}J$XO`3gQvA5Zg(-=BG0pY zMS&*v?ac6NLfEXDUnJV4F0S!lA_C9J=wzSCD9&Zg5eokG?|#aJ{~^FcgZ;`nRU~yWVTvxpze&uzcts5lf{cB4oW6eR?JDJH7t+v8wQTIWf~*=gv#pN z_2St8VmwRjg`mZ`t%`70XB)-C#^F#O#Mu0E;W6HMW=3Pk0!BXdD-~) zuDU9O$tIwK)HXUQLc8@l>~u|pt*@by%;9e%0)GfWqUUc6sj)>L0T^64eEHC6%1n*0 z{ubacm6~~Qvh`)cL0g-*@9V&2;7adh;1W$KrYm01XKb{Z3-(A;PX1EgRChiLLq^}1 zfuR1b1u^^*=h`c#8PVifT#YpvzIAGzAZ5~*QJ=?<*6wK<$Oh>XmUf9A02Y_D2{_xz z3vZPBK<-|$vLz4}q)z)X*>Ew`$>&k{{7k#_){3LkXPGkXT>~VDf~G0-)c972OuYk=-`VGg6rP0V_*RAYwm(ts*8?)RxYevl0nE z37hG&oyB_q_cAW__o+8F9c)OqIBDDZ8 zo-$n^hMd2Xg{$q?Z+LgRELArqc5XHE^eY$;5xivdP2*Nij4=kP6 zrSG-JhRf*Yi{L*;b^&sV3GG0S^Nt^)w|u|W8X^)K8(U-z@g6VL&e&XN2M2CWRZe=V z+?Lk6VHRgpiRCJ|c932h|57?BhG+L~H&n*iPKj^O+m2mQxK#wfcmeoVg7AwHI(Qy^ zuc%%*Fu*hTPW@z$aN1t5$X$l#Yw0~cjLBO5T@%(ABE6~2!^9C#I7Qd7(y;e>F& zM)(^;V54yix3nGIns+Xj_Ov(uYXkj}Y}AqMA9hj-ql?jxW`P1aiAH!xGYE-{FzglVLQ)^!xYvX87!GM z$Q-P7sKaaRrz7WGCFMR{lET6;Lle8y9fni7l27M`emWpP^PpmN3`s{T5l)(`2=`U9 zQCuC~3|c|})}VtGi#W#Ct3CEJX3p@^^V8;~Y!f}4(%Xc1R9;S*-fJMf^=)%Y<=~wC zjQ-ux>>IR^KJKZEE~C4Ua@E=8;Uf?tK9lSp;3@lTO!)8heE%KaS)qv@KAAae`@)`R z3R_OPm6#8xMz4InOr*-$p2Z1b`Y0edMqtzvye|xz>87Z}qS6Mxk!*`#mGk7z*(|0Z zS?rf?>d-mc0_KSAzbuZ|yD~|H(j^D3DNo^&=Zu|6nVgpk ztXbkV^pYA}7}ZB64}dV!J8Q$k?Y8gDE*t+;G?U}>se=Ns6LGNeNfyzWUF#Wey)rA= z-^KLYf3GC?rd#ROh9-ctI>Ew(7X5vS!T zEcDP8vFRGiri{l%5kbBo9R-p+WuvyNg4G2Hs!hC-ftn{2wHrM7?80{9*Ftws!)i20 zcYZ-Y&il_m8-kkMW&PTa;xcG|ZBy*Ac#Rob&NMUslR=h$UAu?U@ z+N9{PP>L*MQY42(TdI8MM`wILaX3Awd_5;!HCY*9Zf?w>J%M2k4a{9s%=0$jsLm)$ z8S%$OXidRG#5l=@Cf!+j(oIf;)yx7t=^!o5*2%V-0|!U*>5IyZ%{C>#NvyTQ zN>SKWXOXr-cL`!m?o8^@2zVg)&)kVlOpK_khkwLnOIjs{v@lI*Z6sEG7PMFK)G#^E z-8-b~G*oUjc|^1?Sv@&sf={vYWuZwv_FNr4MeJdNv2B>L-!O5D47BGqDiv-=Uef(FP9sV8T8gCv zaCUEIYX7wLbaNWt99LwW?+}PB62Ul98$))~0m`x~F1D=q~7S@a;Cqgo1n0kDXa!(*4mgrF*wNfcZf6ztZcnRXBVuh<`s5JWm8B~ z$tYylOgM}uJS;E~Wp7>W^CJ0@V39@w#ohp<8Pc>J#YDgy}cGj_R z5WMK~J{RlDrR{w-2d*YG6@`0;40nJcrTnM59shK$of;Act_FaMRxyJW;T^XJeb|{Y z!Yk!sb6y6s(!?v1b1oeTb2&{ZiE&3Kw8??PQAfl!%oekhzm^aepta#;`9^3$LJw4O zCdG#zu)T{Uvw@W2R=dh_V+~s|a+%o0q3z9n;|}jwJRwQA(q4*% zvw&-o>W+E@WP_D^ZCvnTk2SvD7y?VqycaTgq6(U(;$0} znI*$^YY&r{)s@M$C0weSlcweH;3x|{-ee@Mp}SGk$XaYZ^UIbL>tQ!{ez3C+t8Jk zPpLYY>UyiCE`1dR;9wIxzqHp>$&Pml$!<@sJspnh3D~VU-96;UB`j4JRlSpkegv$L z!d8zj9{`QA5H9#p8zxNLaLc{mU_(y}ySzyCftH4QSOJfYt3MVX(Rr~Wz|h3x2IV78 z#J1xRdNi*|rCcvBkd3Y#R5TRNBJQnQ&L%;t%l){LHuCFpOee<-=zJ_mdz9@OHy4Hl z-i5nx9XHjt(aZ)_daeyTQ3V1g5|Hsx(13?mh{bhBKI_|7?7gJJWEn4WFVE9}fG&cW zvmIS4VREeR%h=V|^hF+rq(gG7wo;(Z)Oo9vyR>JbmnPpvtma-&5E*!eTY>jybEU&q z&9|k^_uDl=16goH&!@o}<-`59!?VfN7q&SLy+b~*`K}3z!vo%9i}iH^d`( z^xRxUYdpd?Unphy5b>bl(OsG$-dlweV`rAmgs2$#GM8hp=lM>rk4sm>sdDiaVg2le z`oLH1)hHxD6nk>;OKo%s9dEe5qYVk2(f5R2zCY0`r#N(%Vv~qBy&Mi{cU+jtR6-|a zlG>BgA$uEO(9APbR?Ni7P-huzO8b>sQjiop+B_Y;m2iYUPQEm`me?-7Rt46pu;(44 z?kHeX6hnu(920}@EDhVRaShslfiS%U>%krtGH#i+RQrc%@xEs%bh~zQuEj$|qbfv3 zAWCB$7W2&AuA%T38?jvx?d48>|%em;C8&s~23Lz-I48Zpl6CsHn=c=StSH zQMl(n{S!u_)-%{L2z84b4)+Z3oP7)RcF;CaK15{tp|=hLKsx7>6Px+}LdlK`>hM=f zzX`3U*&~o=Fl*x0?YmE6`#fbH-M(RR7z0dV#dsET$fnd-(rP|Dx*tnXb41Y~=I zf#F9Oa=aak-g$F2?{aYKEgSEzrN=5>US3`2$MYCLDn54JT;GQ`n3&4zKb4}!+!W~nREFn7{ae5d-8+Fn#>KqI+P zn178;76g=Q@-wJPVpwOw=->`oq)+#_eQ#+x(bggi;|p z&5v3ieyi2{cRDy%RCwSOs+R)h)2KmcaTcZN#V_~2humdYf7famPvnqqT*G(cB4z

zwbGX#l=&Vx}@iHwwglxx}bCLcoWTc|5=fig2Y%#?T5)eNOYsEbn?rhfVF8Iid5 z|DSzr=0A7H{QRrx>P8c_wX_=7dUx}bJ(HLs+i%+~9UcTnfOV(5iMpO)c>F9rF$_s8 zK53&>M{-82*5teNy-5ncowysQbF4_^8kcB>***GUtzAVZ-6sBxgU;ysp5orLTTOwNd+0!>I$>$~wySu-uRbhq8Nj zFg8@Kd9f3r|Cfq=Z$99+#c@2~3I-E1w}XkEE5vILh$K*uOp>FaPpLwHoCdMF=wE)Md%kQj<_FB zUA_9C@~S6R9M6%eHIeH$KcGbQB=Kj1s9#a)IQkHGdA_AHZ~87#<5;ywN}z6=qdRPd z7F;zkd*eMN;B=Ck8A$lVoO-@Q-Tx^k-LdZ1C%r0!v3EgV^P{SqrM)3|Pg=8=72dtc z7WW_uj6(Rs?_r-0Zyy*`UC`?2wLC;BYua;!4?yQ2m-8cPeLXtP`rszb%{^6_Dfvjo zR|kU*3ruDG!|j(H_J&#vGwMvgxEHNz-*H%PX>$0uza_zL%7(~+IF`$$N((wTXd|uV zuCPjq@GO~dGMGln``(q`A0iLi9yY`XFO~cCzHbBpyaH9(F_3DWUkV+WB?JZVrC-C_ z6+{N@mBoK|m2S#t6pix5UQH3!c5t3W0Crom0K5Bf4zNj%uPpzxVzRHNZarbF4-v?d z^S=sL!rZs3j~#TnTy)mz2H5-S!8oof27un%dUjQ(mUNt&xvx=I2Gx(x3fErnI}iq7 zhKu}{-WCVyItf9eoOSrwZuELvTtiUT!$p>F%CQcTv#SOze9@_VY!X5|OOOuV!K^u1 z!|{zb8nz~+LItz(`sLRxUfQ1Szbj6|%7o`9-M*<4ii}VsBQuEfUXgUpl!mE32B5k; zfGehW*o??oj{hh&If93{u{_(@D!{0mde(p5Y;oo+ckrGsF?prbQ0}%5vt4pl4*IAc zus!z{G&`bQ#FK}plQLIFtX+24pjmU6E9xDu`LtyrCOvcZ2&B_Sj>!x%F(^PM%NBu!TL+Lo@pT4Tr7D}S_~3M0IJH_N_uN%Dj=nOJ z_OO`4w|{Eb$h9j?rCpiCWirL3E3)Bjrcb&NqY(-M^WtG&H&#!!US@f$v=SQHs@}}A zJnt>PIYj=LA+=D=qnpnOiSjU1=-hvrDJK)5><%PJlY8!TIhEe6NYPVjz8QHKD%VYI zoo`KdxzYFnaM^P9(y@E^LN<9}!ZY*hoJg8ho4}y*lfo`}!%owCQ^o zr0@d$w~?V}O#iJ9DD&ivv(u=^6usR#Mf}M13J=3W7NuKQtFO;_-sM!u`^4@)ybRx| z8M+*m$Elcfc=1}taZJOEZtPRc&}-cWReYH5BU$%B^6L2BjI@r1y<^weLldrPGe%ky zJhM``r(E~l4dn*N7jxaS&5x&iycQG9j>8t0V+)o! zJL1Og885uCZPH~@&3+AX&WaN-?2FBtp=v?3av!dvTm{H+7q7$sD1+<+dPE-UKRHBf zy%NMPJe(ei1Cl0>Qh*|zH}&d&yyY5YrT*y-X<1rTv2HQb3>_24m(^QMa}t&KmTF$d zbcddpUN0+{K)GV z8u+Yybee8F3*J<1H_<=qIi~F+AaZr{P!)DQwAN$gYT`aL$4!ZA4}|6{mv^Kqt8cBR?VY$KVZGA1xr*(SHYz^)81)G>{5k8Lq_!&4a6}mM9b0tOTyPJvl zROE_6NvnKb@1#F=NLLrFLWhsYFB_SseLXQg%b4uNzkG>7P%(FLV%GdlhfF<1FPU)0 z%`jSQJAT$ntlIDKCUW*dOqy;u50rR-xV+gXA+mNn}G&m^Mn z-X?Qc#GJ&+5NfX&RlA7ZD%z(;VY)-ZZRA!{cT93T>k_#K4zx+<^87yHc-%hR9G>2- z$i}{Tpg)~n5fU0X+$Mr!Zp0r4$|db$ucafY4;RvNXMO`5M1u?i?Yw)QJFKH79X3=< zJI~FITZG0SvbN3zgCxdL)BH1}A8z)@$J??=X2Vg*C%rbqw*@6;=|;&Nh@Fsk1pMpgP^9H#rj!Xb|7|E*yWPqB0b(V=SF355Zim)<)ufEUe5FQ(g0o{r2M@Ww)_0zz! zWGAZn0ptx3z_qX0q6?zpMI8~H7&GB7S0rXuughy(jlLQuu5QCI>FkmS4haBq2Y3aT zC`kyGrP@*;dT&&xYl;dOigyK5V%E;CR|InC#B(@QbWJyyH}v8_&tJh1NV{(QSbGzX z05n`vC%5x%Rm#W|lp{cX8!2}!z}mgY58KBaw3d9z^1K}0Z7+~ebZSoH&Q-vuLY>i{ znj=0#Zmb$kD@Y+-tYc+lT6{0#Ln3{lGo`@a&o4S1gRPskSC6VJC>)E-HdmiTqmSbl z%Ch!Icfpop{BtGmYK4|gQV+EbcZY|U=?sdRi#s8bi7tI@ab=JCf61s+1z}(B8FHmn zQ9{6;r3|o+g8uziTe#T%nWThqMM})6XlF>VB5n)r{Al*WTTsCMS#lIvZ*YG2JZz(d zsXq(o(w97~1ph^u?C3d=+dHJ*_rBV>?@ToW{-zt^GP+jy7~nPjH0|c@);Hnox&Pv))8`fgICCp*YbIB@dh`bqC z29u;2l@p>iQ8uMMkw6pWw8X1sFWwS)&c@TX32iY15av!!!I*jBs<@7le^j^Kh3P>B zHx#?>G4k|wL*OSX7?Ot|aJu$@t#c70T^5=3N_?oK>9!Vd3o;QP-fK^*cq^}9Rt1sU zwtvtxkFbDYr`Yn?*n&s0YmX~H2+S?TkZt&gz`bnOR7zxF%zIYd9 z+mqmh+1B=k1ClB zXt&R9-TI6hehk32_8U$H`NsEzJg%w9WPNVE6nQqtGEOjTA-d7Bi>&CuVoJN zR+}GuHea*Wmomda!l5wuE~eex4=RQ-`tWjkj zlmt@uqbTGcz}l$9mn?qaZ?P+Mnk2P~?m|#+3!wV+g^s0BlyY|H$YwOrZpy4Lbw0aA zqlGIrI!c5G)lsASjL&UbfzYa8dmY>;&&r%4GOPG`E;$eRKLGZq4|2C{OkCk3cGQ2b4xL8QP=9^7=VsI);OpMWNVk_w081X)3@Ah#b zD+QlUXZkHZdp+Eszqs3}k&mR<02?d#_0C)c0HegOpN`Q4j_>*~o8p`Qnap_SczwZG z>8+k>E_r-~CarYWP_qLP5p*T3;iNse&0`ka;Expsxb2q=`)V&79MZ1l53veD1xSQ( z9tI=Hq>)%lnwEIrT0S~Iff}1>*F#Exz%LBtkJJ=cHlae_n;81{tUR?K{58>r-q-^; zQ`mbvz5Vp7b+|Kaoxxq`)_BFR>5XH)N_*!MSsDh5>x*lLw=f-9kN>Q1u4=9m7$gUp zS+Q8L(_0ih)Lc%dv?gmxWbp<~|>;-#E%-rLD2a zI_HGh=Moiw4u9p*_Vws^%dqTi?k`A>D{4)Qh3nz`&D8M8w`kBshim;I3~(X{iZ7~| z`EcrWMOG0kA*LvGC;$Tw z;_~T1D~A>qEh0<7YYD^mL}9Hif&%sC{rhl1hmR?>{`STacd?pIr0!Jblc(K!#V*JOM2ThNX|hdf| zcCiFg)m#e27u#63d0j07TWXic4?E3owvh)Q%Z7mcrc-gMb<6kpSZA(er0FGP{t ztT-9%#YOW^rl*+Y1?sQ3$z+%Uz)P#?LxmTnCGIXbx=tLe-V*Ae-E6PrVO)^l7MQpo z%9*cVtjHGUjL!EehwmaIr1HCig6#-74O~tk`)m|9CFtQrm@qlWZo#iVGukhFm|;NH zl97J2#@@kxkQ8BL%D}sH_DE=iop`tq)Udgfnco>H4wsFxY}&@ZB2Qf%!+jU^qQ z*f@OQ)nsM*`DPmLWM!zP6GpM103jl*x#NZ8=+Ct7VO%3h(^?bIW*q8!fDj}2Kvgmja;5A z+qTp$8pOG9(5-GQur@9aP7C8MdYpgj=XI z%)SiUg^UAk&C{vK>2PwDy2V{-$9kxRSKiJxA7`>x;D;5=`rUjtR=ASYlo$Fg6cT{1 zi z%$w-eg~oo|QYB~0Hiq`kEHDJwST+&~TZXJr=MZDId>XT;Fin+hV@*QvhcRW{!QQ>S z1UC3ippTEA2$vP7vV1Bn?+C|V`^5YC^IPdIgWHFpuU9XDW*}CPWn19A7tDD~RZ3qQ zyQJKs=8dR>7K_8QYYkh=o4jK%Db!Nk(MfFVYxNu{&`<1(+1b%9F@f#>+^Y+JduGI; zgX9$UZ+eSfA)iLJ(n%mSxm>M2wkuP>o$lREATwJ={>(#NqayelK4Ia~~AjITrz;?$dMKHgBgsOF|};!GPjr8+W{W=J@BcFHIQy(a=oV7+dREPxg?xLG$v zZp{^j9-a9M9Pq2t%qlu2|D>0l|K7awd`@@IT`r3cJH8)MJ^x-#AVW0qH}DW}gC-07 zwwc*acg-bc#M%Klrk4NQABwLC4UhNJJsOn;GaDa)hJskr+4PKMOL*Z?w z_P@XEqNc)jRdlB1l*P(4r~RTI0~DY{+7f%r_r+XYpAe;Ug+-P}4MKP98U-x!H_#@^ zai3n%<(=0~nqZDlmFxD56dLu|^*x%f(au-{p1t&vMYb5)B79vEwM9j|2<Q`OwGRqDIO0)8LDT?p~6 zjs!hWx#_yh1cz@%c)oK(4(=!Ob@P~u%%~BV)L?zH42CU_3$%$B#5WcgFFfln&&|`5 zoLu^Q?Z5f9&5dq_s8JHDO6ZzHoZLo9X33PiE8MwZX9zNz(RIns(70TE%*@Ydz&;1B z*-4{0Sq zQb++gY}Ge2!d*bXmu_l{bFrBri1(Y)zK*H3kpVjGA@7lDUP?bCT?>I7PW zZDpXX)7j=chJz40F5K)pl}uyU#FrNj00s7#aoLIK#Y`SNTW#r~2*C=WTr=e4Qy=rx zM3W}&0iblnLL7CF=-+6YkYwEhxyRTlu^`v+4pF9J9?A6yZ0)?b1w&^}JmtnrE$!M{ z+TD2GbCLuKv&4cO>*D0gAI*M_1h{@9P6rFx9&>tAz?p|~A%Fh6Iu~ERQ}CJ+r7o?v znlW<1P>gIIqR#Q6lHTi-{fCl>7N1h%+F8!|1NU+(k9Jp_JJ8rp@S^a=Iz1VlO1)Xy z07FUQAYW(g?Sl|8(Ku~~optNgx-d$DfGQ~mym-B%8KD(I?M>>vnpF-L!=W9 z1uk;8mTM~h6xHf`{+&AVIq@3;3GC#ckJ=xfI7H-grxnG`C@}Oa9nS}!^hCZ#euKU# zxZAwCVXno(mquOG+7N!hVI;@2!O>D~@!^oFZZ`+6dG1$Luc@wNJvGn`rgGD_@EekW zM-7{ZFK_g)by8B@>3UN5)8ak-ATxwMlYT69x^P06cm9nvQIUj+kKBd}-FySb>`zuV zCzbPtGr!iRH8_uCcV9_i?XdC)${Hiqc7hSc6h?LvU?%w>M2fHPM3^QAhuMc=tWsVO%pRS>7=tWTlT?hVc2-U^WQxGbs zhm!#_BYT=yy0;VLlZ1(ql~SV>O?X=FpM()u*G-OU<^AQ^{eV z!7nFswe5WBUc)^gGojgB=z@B{yp;zT?aRgt#K)<0%bSdCYVbaq2wvV8Zb^n3cZQqU5XamuyK<<8DfE2LM7w{PGL?k@ z7rQrlyNf|~7T1ggNIaaRdR#g9cnrGJBz*BI$p-jxl0udJcu;HFJ*A2WB1_hLWKJ-* z!LzH>frQJop4+Iw;6s$ZoJhjQcJC8C{uuD&z-w+pOGNrnPE~c~XiXL?g>l+#4ZenG z2z8TdFVN$6^Q2yOVRJ7I!(+o(=B#ErlB9$ZS!VP-PP+OtB82NY@8K@YARZk}V*Ibf zG*Ry?NvR!e4f?y2*<&fzPkHXr7lGc!{)V$7|4```!z0ID1RMRumTqG1^T$V*XHE zENdFHB9Ciw1Iszew>5Wi^L_A9weSn+tyPyHF5PnZd?gk5BM|{f@>|QjO_ig`3!-BR zYg78I4+=I@@b?cl8w*-k9V)ATsr)eGq@K9+V<#dp>8^O>}{a^`$>r*Vbk@9aEKoAoUu8!8dNpvAi5HfOYS9%WY`GWjV`D(OJ23aGy_xX3 zmHK&WGd3^@s!)}UzSnBnpWBl+Yw*!H{JcU&+MEkn9VNN;Ni+QD6eOi~x_zg)$mw7#hwkX>qd9ET3f!B?H+#LpgUoF-% zw6RF?w4f8OXJzcBPKf8n*DeX)H8^nG2<4cPzi6u@p5DAP^(#BzkD@bVwGs%EFv({1 zs3uQdoK$I<*)f(?pj|Gu5y{IaO^lc^r5HoeX0-B!(1N(Vc66d@+~mEJ%}igzd7x3u zM<&Tuc1wAD6g-2=?H%gfuwvKQv?a~huitFkE5MfC1N}o*&H_R0a{GK1=|#g?_iELa zA#~rfj0vV!L*M+K_4eA}zLU&1^26(0OI0Mbm92%B(Ox9Mi%|)F3 zAP2d;vzIE{*U!=mY-y{G+y2dBokA3_GnF67NJa#F{T9tbkS@Yr^!U{Lo-oG^*xr9I zUXOpzNBpaeVpx1)p7NnUl|W6E-^)%K!yLBy!>TI;5?5)Oiah(;G6T`iEV{x$LTz9* zn~2902J6ePSU60YR3uT~SRNLi6|BA1V8Xqf6wePyQztA8`_88_%ieB^)Omf0W^q9R zL7^n8Y+uuSIo-Ft@u+{2V*2{4rXpoTL7{ZF(;)M-6A}P5T zx$sHx&mNvm;U(b z=>GSjrX@4D<;+N&y*lQB`+9XH)9UyRU_CkuQ0r-NrNdosj>7@Ai~((@wc~CQpnhC; zF9CGp-S7x|<2bIt-1)Ke{-jo1={^*$8S=ROw>`vmS$~ZqGDt6u;8uF_LC_}wLnC>r z?Xc00Im+Qg*W}bCK6bIYA&&gi>1Q7$;mniPn>CPK?gDGUOV)1LoPTNNi;_F=ra-?7 zXZj5?)|R<*jd!5|y5~n$om~ob`JL+@I%r>9UHv3V#@B7Gr8u0fFGRQn3==x{E%Jgq zHkE=+fUoZ|!c!YdhJCs+;)QY;coW_ExaA6USo~(E%52+h0ZK|U(s|z1O+0-Z(vk}n z#jDy`e&wE4r)O_i{KiDv^WDYA3?cS!xxAFVq6^mBJ$5o!A%+3?HkpI2YM|ONi;%Gh zuM;^!9H_M+>+l)XRMh(N{n)#|E%$AJTwP~?XRoAD+KcE{>k-mfjf%46lpL@8bT4Y7 zbPCexa&;*G`ENy%u?J#yCg=RXi1Jha5a1}38$$;BlP1F1}*M|S?P3zJLu#nDyOe^nDKLRKom}r06g<3i+svHt%zhrww>P% z1_U_|cL|FR*S_8wX2fNM*lJW#}U>cHG|c%Y$yHHz;WGDnjwUOqVmSVJpjzsuBV=5pn-?C z&S#vHv=!y!UMyF6SDPa8?|E?Zd?GOo(xUOaj5Ny5OVTarRQR(hn3>vX>LRDUf{f%v=>@si zqQk0s$$Z@0un&6U)Wdz12DSIsz&8hE-^#~LbG#iyfrBHQ>4%v5avhOPOnvD#r6-{0 zz^&){eZovqq~)d=pU_+|);^i$(QZ%2m!*<)mOp0R+L3U!8&C;C9qgV7;v0t4Rp{7s zP4gHk*|}%esCenu2se#WXSj*P88}4PLrsU-n3cHXY-o6;i}W^lb$UEu>^IZP6X;jN zZ^C#!xgN=G-7kou%kok03ucJDc*onH_$k7rbgKdNUD`1R;A(DGOY{s@zmz$+v>Jt4@`Z;P~L z^+?xs-?2hJVW4o>Cz!z_Q>R{(@H{rlhP6MeVn^qpZ<0_B(`3EtnI7>9C)Xs-mQ{b4 zlfHbXwn(C~Z#euFWWAOvf*PJFt{;2a1X@OS+UAPMdDmOeYxjhO>F^EpP|!Frhj5+j z^ZN>&o{x2u<886r$sWLANl2e!oEfYMnSJd-4wv43PDrTXaW-pitE*A?24&B+rhA>k z`W$cdG1FvPnOPgH7Yld}Mx+e{h%23j^F?HBD&6B*B-_-4pVVch61>60!Mu75n5lno zn@!L*<^F;&Bw@hp$uUcS_5v|Ow|?uXIZ0cGD=kF&5^hmSQDnp?p_I7UhPBQjs%^;g zb1Lz3W-5d#Km7eOfPrE%nrkv|ZP>t_uA4$eV}EP^3|6DNZF%f(GMfFndxzR> z_sq|)J#`@gU>kptiMHt(eVgqN$1xRPd+t0uzpg+k{hWH1vmVKXWB`gKy_iSV6%?@B z`@eY4`CUFatp0P7;ox{>M~9re2*29|fB!ARgK1G9g-g`$kuy^czN#~^s5g<^_qhJ9 zS2YC-UR~yIkRdwgEEr4HH%$EggxEcbC_z#asQW0$bLTaWTrV# zneT5d;m7|8zdVsj^W_FIshxXJ={U=Ol%(DI)>E6CpUU5JFzSh7b;Ozcw=~n5rsAYG z|2*~~>=s|ZukEKPYZUVT;WnU(%q6YaxvSgg*{Ij(-AF^V{OR2pb)uG!NTMuQu((wu zVo_&zvWb$SVTIiAbU5q-?0%7y{60J{wPwP+rp7yN2BT@`*IwG!z0Qz6SFl6c(6`J- z($6oQM;v#rE#XOgO4#0Uh@(&2+uto`~MQV)E2dAVr!enk&&9}2!Hk0bj#3MB{>{m7vdJ-IogE3i3n9h}1V zyb{}XUnh_Oq8sPF;43F_+rWhnYm)?`XeAZ#^m+Aa(+pX~#@Agg<@xPOzHTC~3p|aC z&OYh8gc-i`2rDN`9IWq`ERgxSome~|-{5w%Z(&6ts#APFk>es?!1t#C+)h_VKPxQMXh}D@o=$ta%1F(9Dn|fHiA!HsV$O0bR_InsLfsv zaDt)O;WH+p*oXYf-oQaL%uU`d&ZVl#VUl_@_FZ|Peg-mSbi5n)MuuFZoY)j=UD1uC z#gVp3Ejp^CPHDUO^yC3~0}u9&J@oqydNx_m@$5Ic6E$718Q*wyOI&19&ZNVpYI*;= zlR3W`%`xz3(u3|f^xPWX`y-}3oPHMr`b>ES-lrYi|Adr9L}Idti|t%V^hi4f(XOvr zJExyMGy57r{9pDi*UqfI8mmtbCkcV$qvRB#uW(K{%B+TDjeljfwN?AQ`M9^VHnapRWc=Rk&0+rpiymp?mM9wF;oo&3h zwKtH&UMH1#yhaMYt1#Jo|8LIwrJrej9!4Y9ZwI+3nVS#U7&#^YhGM8_<{<9_EOTN4 z>CRY^zEjzB{p_abo2P$Gw#$t6L>h%34?8bPG91P0J7J@E;nNnRIoOxCqe?=72wXQD znL znPLN#4eqY zDm6;)krG-6Q6WTXq=lXcks2U`5CWwAdS}2CHvybX42JY7E3yo@8)74f}X>bV|2176^l*C$PRnq)NpHUwd=DgxYkl4K&Gr z&7?A@=eA7$ju4+HkI-BN!}8^S!>3FXM(E;pMb38V&8ba~><{7i=$Ir#r(glrr>#1_ zmSoorfNZn&S|AKpYvxvb#Dbn%!h|Z4*Cjiy!OL%pX$cf&0 zL+MV`OKrhNLSkA$*u9%4pFIV|!lkp=6-7aAIg5mvjSCW)`9gE_Kbz@8K-c(XNQZhS zcUq&TD^*2=8Uz`WFpq+ap57oW`vrHl*QPG&FJdZ!+eLCsgAM8fDBbFtIJqJOKdduv_mdeDR8cBx?&1APaiL zQa85z!d~iKs0c!|Uj%`l8egCF)}44g;5p3_0~ZBZt#+pSU1LNAXmjo^2|ao<6l6dR zjKEJ_sAhWv$(rho;ybYeC%EQr#Gbi=LW>cq<3x2Sx0y^(7=^u{8?=BMSRSLD*{IyK zql`4zSTKeG=%Yu>6JDEaZ}0_i20>_$R>8ST;3i3&9s4?4j^)yE-|CVmx8NC7dTDD( z1%NI(N=V%2f#@MS5r(i>33Pq3oZRL(J5;aPZO*3@g-J*-T!`)kYVU&s4$MNi5wW>0 z`}=Z!7}5&x(}u#Bz!GM;4oe=#c3N^|?S12BBAk3zt5%!##|OgTswpJSs`_&3i1?YH zeL_1JrPp#`ntq@Cw`i=7KMO@l{2T^Y5=|mRNOf|cFoS$8X?gk8;j(L=9bsbxA(*zR zf|uU*s67Jiw4=corL3kx`M~WcUO_fvY7YzTD6E8+1C6NQdP&78&B=?G#wwn*x$`5{Git_AZ;d^|ntK$be2F;}R#G7Fec;OL z1&JiP(X_>eM4lK6wRn2eII?bQQynexRVtinT3fVZo94Uuw<<%5e{{Jl42~lw%C>j^B5yn^A1O?&P%AGC2 z9;ejF3wvX|k!sn_o@1_c@|sZpwJC?i#T^}!)9{+Mv=MHw%r?L50qQLHWW+#S7990P}&++vPItPTQt z_Oq2wN;G*<6C$33M>5r^(d&^zZBx;9Fy3Y~tja9`q?-nTYDHLQ;H=ncmTVagNs8kO zTm^bsE#;yrAc>2QHtCTgQ;`$nf68;5;G*r7WNy20ATVs*WXd-1@ zNrqUEdMf#_gbKSLBrqDXx3RRxnj(6P?7a;N=XB3cP|Xw}t80@culFb-pR?*}F}86e$Ujl;qB5LTdNc^zReeR* z_M%m1XqfZ$m85k=sNxeJCZ!w@PftUg;XDB!{qiif(+viZIL1WNf~Lv=SP_!OasjUd zE8Mdt%G0J}KT(aCDRQZYHsNyN#YjNxLDG-~iwVKx5<*iObD1iUj{BpYCjQeqpZ5kz z6bz=?XqW<>tPnt=3&}N(&qk0q`3#!U8AD5-$;X zgBI<|x}l{QP>)8JhmX;6M8N7uL=Z+wQJJiOPp3Mu$*2S?L$d^!X{-9NfLx7Cs?8i_J=8FFsIO;^?&03(E$ zAB5F7!>`#QErfw}8jA8Av6jv|lmYlO^Q3jVGT}B?;i=W#PSyVwBV%h$!fOp$u`_nT&R&_^VEI8Fnt|j36JPZlX(2( zIlt_I6w%J8;F$0=Lbqqv8rg-b7w5YSV>F|XFu$1Ztbo>sB7g9ea${FSc4{AF5w#87 zwYd<+p_1#}@3`!!6K4llRgq&W1rcFW^o3HjTo=1HtxVt)*PU|$ms$K{Q=7)0al_i} z=Yu#dbk^!JHbrC*_R<58@;2L9=!mfw9|BI+z2}I zm#Ogs`35ck)}xFw1Ew96{>ct_tSc{YJ?`+OZ1mK=jCcx3^pbPTEiZ&1QO~w6S$K6F z*FhyWc30`d-S0 zn)Z;Mnmb9!Z-E9H$=P29nR2`)ZZ2IvmW4(yi{7v0Rj!)hHxXr;YtwovDN`uP#KV|U zDo9CLelOih3G~50N7q82iv(#JW~G_rx)SuudnB-0T1xebvHPT~*d{qrls{($viVh# zG5WW!pASBu)YHb7i5MQdup4R_Qy=cs{-Dsqd_~k73cAJ8T!u&=(32*2Mz$;7(UbR< zo-cb?xwJpPY1Pv}y{*7}=KOk+K|yM2AtH>d|Iq3m>m}ukG3eExp~6LiVPDf>||l;E02!raSx+*!Q{bWeo09cvxjK%qs*hX_feG9T>_OpYAgpzP~Tp@8WpvTJztE`ZZ1 zpF$SKcpE~tcj82lX_S=7;gMx6_B#K!k_EWM1pA1)k5>mRJI}*}Rb#szmkbk!uCMR? z$dPk9t`kkiGC^Dyv$B>?FVBORo18-w6j{#4k5GgKCFo|&ZQ80h95&vqme9YyA)o^o zDwIqOAlov*h z?d22{yjt=uRNo;<8}cZLIWXC}lsJL0NInjNjM3Cs`hSKfR4Uh4!b>u$@?Pnen6cR<3UsD@cq>KS}LC&Jz%`wHcUH5OpU>t7UmJ6U3M=2%rT><}*L{oN*5a#q8`AKk87y z`;JT-Aqyp%oy~GrvRobVS{4_6k-%)p^q|XiJ9M-3)V0`H!rWyZ-L@;Z7P!2E2Wcre zM=XAYfarAh08A69!cI+Zl;*^#mq&ZA?d~LMZrq8SqpZs#TI^aL>3NWXA-LvDHFw&2?$mXzt0fOCL@pZeDE8K1GO#2w)Xe)&c|iQs^EdsMwpebD`o$j?7AadJE)|TYq`Er25X(1z?=X4iD zN5B}QD!su>#=9k>IC>L3N6Q0~?P9MhT&(q-wy-go4j-U##SV@DvCl&8 zNr0%kO9!||=Hxbvtwh@6F^`7KOw3)*XE73j^4N24tTKRg-=)}zJmBMpRY$zq_`!2T z*BNE73ENT&2xKwY41OG|s3-c}`*uAlV&;J!Cyy|eCaoCW zh-gPdj1BmxiwWLUkVCWdiV5Vb%zQzuq4w5DaxK4FWIK>^YR_SKk~@(jk#Z|hU!Lx* zLtX#MnHK0*8^d8|Uw8mE1&uu9qP3T-qhmV5>1$Q?jJ(kHoIyX=B%2({Q?`Uevhn)o z`eACu;T%drgeN%KCUYk#9Xqfd=C`zmzvsPyrbuMp;o<3Mh zq{Mh>@6@o5m!>I`S`RD63{;*2$|e|!I`QS@acCSZt}}^Z{b7sd-pJHrO?wkqCk~Nf z-_-7)GF3NNzc75YEt1qvTJR7ab0Hv@Kbz1#jg7Ndg}uKrh}Fl z5o_j!i4Wh4*&t^|Fpryfcr+dif^a%~Ji1KdZi<-44~=Np-Bn6G)jeVZ+`4zPA((A&y}-#r;_QNcbD)@G3c^6r)QJRx=0>j(JrpTL6sSt5+Y3m&gsNi z(isN<`BSVdn+qXafC#4#OspkWHm5t4nY$?xv_*KLI*8;j2&!N6TyAe{azW$W+gP4;xUxK zOLruFWGJGVeM9^igE05;?Kea&Vu9~E|C88LYneMQg1$pxtNX^|ENNHAX6eTqZp_Ug zB8wtZ1%asDyGsbteCVSj=>4YH~lo^)i8tZ`iTNd0{^nC%Pp}6B!t9&O!qJ z_J^`5^u-o>XL?bI+j0fl*HfE1fbt&ljbgjG@nJc8$0_&FBlckn@6|c$g^?J$3;N{1 zIA|x+xTC}Cj{i)v3Qo60SNDlI;h-)yg)As8!P2y4@8m>;uR?lEP)rwpFhW(89iuM` z?zqxP-=o&I5z2|o*fvtFWK_Y33_facKf)K?NcjQ@h$95d3BXbI=S)PRm9qjEkDP;D zv+Zfd0Xy0f^ny=#|Ku>N_PJ_q9t{qxi?>l|enK#Lqn4^8Hl!|vtP4iI))rS0IrZc=6pl3=kzK!$f!%c)JYkX1lq@X z)INq94+d)EvnNR&7OV_-y2odAPK5qNiTh!eI`#lIsR1eG=Tn9#j zmpZqJqT1&PFlRvoH}d6$?ODgP?jsk@W^ov?5Ipo>_xGj~l7@2{hWkydjFg&$Zq90O zA+5&NenMJ3w+slCu~5jG#H(`GM99}S;~LKEtTL%#pTKeF6C$<=Ej z?UHS`39M5f4^(i$`&8Q>eRcb{nL*IG8ON^yD^K`FU!aRlN2c8^eeo9Azn#2C65lfpksec^i zm4}K|Yo}|98DzN#XBW&U<;Iv{c9R;9LA0ZgKtum&dlWMd#ksj7Y*3Gj2J|t(E-1FS5NG(A zqIBCa1);M#jwh@|zHCDXWGsVfTKo@Kj!!kWy!#K1+WzMXXLaez;hVELT+970mgWD1 zP7&)}s$viYPuilrVVpOu-^W6)z4^wCy<|X`RJ~Zwn2j~S%8euHSA=>OU8618jT~+g z{Vlhp|7TiW=yxt`&n10*{b4R<^y`n-e$OhoR0%Qcrh{I`s7U`+xrUp{Gl~mY$eR3BzKx?ZnJ=fj4(Ha)*9B zbRzd(jFNB(Nt-9lJymbW$q7)|WPP4FVM51pSP52X|K@*_lDa?vo2+MLPk9-XHo0r0CG02S80OZ1@H;>8oh?#&o7I zcf&4gg|EkL%(NJyVp$_LDdywj<5NLKMn*qjeoX%^v48g|n*BQ){QpFK`F|-bZhj^; zaSwrh;|gRF?q?T1*%soxK3Ol;3?zuK4rnHJ8k#nCcI8%wp6p0UNg0)=nE!;=F))n& zN3=ry|L=?Z7fYulCyHL8YL0&Qc|TjdtbOQ-^1r5B!)LGwbg`jbv$AsEWpqM}}Ojbo~)UAPzht3%V*?147uJ;ziHF9GrEQL!} z((p!KKz(ZTj|c4>ytB~g4FcnRf4@hVize)j??zbcV)<`?>8E!9_p4q+{_G4RKrC`PAB$QI zAyhBAh5=(XzMzbj*X5_Y8_0L6)s0_g8?454%)dKr(dH97&^Euuukpm*G~bDDLDKLw zx@9l{eRS-+&D``+#SOqQbgN*W$LCzRVF{$caTH2ZT2wmKmo7hS+4XSu@7NAV5T@IS zFa!I(KhSFL3eRbqM-OI*$pz!?Y z#SO9x0&vPaHK1kwWl`v5$KdbFonk(_9h%IS5z+h4->J089!oCZwV4?~tH*_NP8T*H z*}95i`y#JX5_3{*FrNoaYE#QQV?o+`rb{`*41mEDGzurtnlNUv@>Sk&>(0*n*+P?qV6-`eSm@R-ZBKbUiJHzja!IGh}k_AK?+YiqBZfsI%c z7q>QF={&%ioDiF|wc}fasK{Mp#)g_g)I-eboTr~8%SSCG+uOmf2WnUi;^rHO8}NGO z{Py0Go;JS;eJtUK(5;lRZPZUhkClbX_3CYySdec`rNd|D6~gcP_(5C(>$}4ePq$E$a@L*ee*MQdelZi+&xlaT&(;r7~h6QZAI4tb63O9Aw2 zKH_LFN;ca>(KXp(#=s7pvNHsvW_^X7uW9@Iy&50cLnLSdiiOy&hzJY_W$ba&*;Max z;HS46K2jW#Yc8)UCr|g7g}B`74+&8j-7BaLnQJlH1&4)=EP|3cS4D}t z=Xx8l#TKiIv@P{IZaecrmVN6=A%9+^WOX~0!_BmOFP0{QIgmCL`{w$*>4=-BMg-Kx zKE|ImKJx=0d${UZ#Hlxl=QN&fVJ;**eShJ@Zx&;5eF1lh75#HXQ=Wo5D zzpAR0qiKjX)D~|w4ZJseQo+osiI&tGAw^FECC?7+>#c2lTyubWcj`V&g`L>C{Lddf z^nLpei>jQU%%ecchq~uBX?4ue$KLWEdnUt+5q}yHuQ_?xWo_$iU$C)oEb34RQBl+| z=TaXwziIsupNqH#5RV0a%IwhSVaIIZ4i$7|F8S8&v)`NYY3OGfH*MmppnUR*Gr1M{ z*xJk7eEm|A#qA`iM2jzzZG8vt4-0=AC)!KrOYg>b-+k^b-Kk{NkC!`xKkDjRADlff z_Vuu0;l_>`Za}W;c{<6^*pzgK=T-H&>a8* zUNJXwa&2P616gPIAuGpIWZ-STrW2YhKWe%>jXCwMXyAF@VD7FeEdEtyw0!x)EjsJ zPIfRVAa!UZ-~2+r=m8(VH_N8^8;sNmOpSS;uaXG=CX0GfZ|e4C@wzBSpZ~7Q_6zJuN6zW2W6T2P@Y^u=5&>GL~`eA3l!p zYrXX!!8;UYz*P~eT`Vxa@{?u^nIS+SgY2q*qdoQ!ue6wHR!F@*H!Fh{Ks1r>k2|Jr zrz)wGLGpVB`YqocNCn_y2BFzrW;qvSdL%c8a{6fdCplkrjS^aV91v_vx%l!J;IoE- zZp;iEI~KNg&~ZOft2C};=EBAW8}+nesTYt^J99&+u#uS3xsYUY;NZw?^f8&@_nVcs zX*w5EZ_6c`f9z~@Koe5!s`iJHC8IaSFy_o$ zkMB%mw2*SyHgwVm6I}el2~s^kH(#kLWGR0H^1vAkk${1iTN)6St#<;>ueTvUllG#p z-NWa3;Ko+6?tZ$>?zXCMvFrKln&fMI-Qt_DtR^VA>lgI4kN+cKar=wSUDkrMZv=yflOP zeo(gkCpi*uoq~Apj`US5?Q_z$_G-gq|lZG9aM6rX2)J6sT;;4cCG-*&qH$Y)TeHowN zX<{HVA3yh)0Ld4&;;pqu3~4T%<8dG>4q0aQ)h?#4&-PtzVrsuSL11E@;0({S6LpP6a%*1BXs)f7A3gZ->(tDD6zH2| zUtixWXAh${>pheol%18;4uI-zu-B?#vu?5br8A4cZK-7BR4^uaI$at$C3G2%kS|hnb>yOAG~*;FKg_tsCF=7!L;(bIy)$P5vYBJAcD&kj z^_nSm1&N0D`C}UAcun_D+O*(5dMNI;O=uTx=ziy9lFzhGB&jm!@1mVDu{A`|$9-?w zp;PnpQt}yu8dmtRsCNM@ao#yk8e_dP^9Mta*`62TKjZ+boZ9RnXuN73#kHw2#`{^5 z7s?P>_A zkLirfdLY2`{f}DFRo*CRYS^IM5elk?N~Tk$7AEG>2a&kdhx8?dg4<$Wkq#(Q zaAZd8UPAQJK+dL}u56ew6TF0f4Au?#{0qHkLNAmdvI~L+gej;&bx^a&n9sp<95#k$ z+l2lGrtop1fJIR=cjynUTyPCBWCCUJ{MVz7*f~rmwdpcGf|8>j4n315wD7@#2tb^L=bUW~_)C8JtRpkG)^g-(@uAq1 zx`WPTou$&)JW7YwnP47a%`Ytbz)ZEf{k|mOo)E|>M+X|af}`WsA4$_=A1fq-6*TFM z@J?yFx%LSivecb9lw5G%<8w^iN&@g3qOdGlO)3nshpMF?qi#On!M3{%^@1)Pk3L!- z(~Jg1D#->bKqzK(9FJZ|b|L6u)m8x_qS#^SDBYGr*x0wE6Hu+nWU=nQvAek{W%o-u zCUkvLQ47}lLoG*JBAxtbyU>)K-uvRl{(V9WHCZQyvC+bJM9x@6sSF*LI~(3rJCqTM z0UY>lLm;0DJKtqp?RY%1yJ%}|yAN8`7rc?Nm}Uuet!#3gH}@_5idgd79s8~Fx>cTx zV|aosGtQ?M?f_v=N;U9RZkc7DFCUy}bt;*4VZ^j6N=>+h=cp!(D8C21E3bHNq9f{1 z>DyvA7rXZ~C^w*;J(&Y5(qzU%x>C?_xV@uN3ELdw8A)-xXG>ej73eWBtacQOON$WMew-RXU{J2;b^J2<80$5ZHN$=dhBOc4ff%Dh8% z0k*ME%ffNONh6~G+f=ba`pe%+#euxCAe-Q_2d_I+)}A7x#eLeYY0nEm*K$%{^QY@ z_6aMIrr0Am;dd_goxCw-#Jf`t-c|K*8_Z^JxD258#X;q=*~lUfc z8@1K4ne)=95bC&Q$oC`2mhe{>>tX=MtDFAVtsRQ->`_}g@Y{H9Tnod6O{iK<#QuB9 ze0eK5K5#d5i(^NrQiU{(=WJikER`Ymwyqdk7B>gDsV?he3LB|0zl!9Y_ynFYL!0DU z9{aWWuaj2H@05hUOh~#lHIwlv!tR-Tz6@9B)wf?_JlhsBAGL>?#Amt6eRGSEt~jA) zUtG`HA&+nS6^$!gyFYGU5}2YwbkB@=cxmkYJjQa~y8gt;V0fTS*@$=2*w=Hvw=>?x zEO!~Bqs@x$cl1c?Tc;eXJ!y=J+P*Ds`L0OR{{0kA<7@O)7Y%qAWP3_CfHT?7={aK& z^HknsOwkd^l71{m*Th|Qwg8!p_G{7o`m2=1r+>E+Q&CsBKcSwY>6&_il|Du`@NU2T z@(Lol>^uYQ=sgA~&&zz2?7aNTSd(Dan@Tqc?`gmz!oytifm`06)(bZ&OO ztQ=U?P~R-aFe;m`@rd*C$3Pt&#jU;gz8~+!(9E@AZX^J6HjAej{YApL{7x^I zq31=IMSIki*%*1%nZ0~{>bJ8Kr$Zn~%{_Iug(=s*yYxkOiY(8}j0cTub$>E)SJR)F zyLyQ)s{L(;^^oSgW>v^1{{e$1neF(j_b;_-<}XPJs&w17R(jc5y|>8d24of(_!s|Wd>|v+<9i!JE zPUEPo7X7vM2bmwjd-UJ-`LSN?CaPb|lmvdhhrTNz8QFbzFvhnaL6^sFY@^axc++is z&9e8FQVQ<$t@AztHgD`pSzfttxU*U04b1eYK+I~Ikyx;t`L1ti7bvdU)ncY%qW;YE zYng+>{iuLtSEQ;sBk|0SG$k4wVE=&GWhQ$fU1h)8pdZ zO-DE6t06~PGv2$P_vX4se>TY^dUFI%rKuCj0g?Ep!4jBXCnfw=R4sFM&u3e<8Sl=3 zZVfKC)`zWBy|m~GMVR}}XdTsDx-d}@U`Xrmen-p88e*>A5!NPVIMtDrEX9DNimrV> z_z%h}$Byv4U7=lv|A^F~C&TwL9(x70Z4&Y;znh9zKs+n$?#LJ=xBD|jWGp@-$`X7! z4$ylx;IIlQWVhj@jc%sbaDs4Pvg#&Imw{bK%z#>ztQ^+Sft(W+u6`Ko+nD~)ssV(6 z-%VTa5Xf+~0?~A{g86FS6)7qR-^Xged<}<#gb9c{BtnEkqKMJx-r>*E$gWTu;=~`v zE`&2e2cbd_3rMf}Chen-KHk~#&D8_Op1#x65s={0Oqx`^9Up>QgV&!64zRDtPZ0Sa z5Tzqu{IPxRHyT3zkbv|K5%MlDMRjB3hYZLrd9@M#cnDj%rP(w2ad-UEsdxOOFq4F` zquRK>KM&pvHKb^6m_)wKG7~8tSSZY8A%v&hf}NvVU=s(IF8S{Mpa|@Fcx$)`7iF~n z0B>+c{T!8>%limJ-!gviqmu@$hdl!iOLWwct!N`oquF-Xz9N}B{>dl_+jC~Sx}Hd_ zeet_$6VbXs{_nw*%QbXpS?iU`-3bA#YZsQUe`b08FB)3HFsf2zX#-RjZ_%z+V-U*Zf{pe!y7P zbd0|mk@L;fQL(Uym2+xy9+&x`6RC)n{(YJc?@(zG&Ck6LlQ{PsUz%v39LhSZGUs}2 zhILJs))7UoB?E#TPrm@t<+G`pudBU90f~PwQX+UitwD5ht*2UabKiI||q z*T4Qe+2K4POANSv18bGV*I6Wi#WfwaH~~w0PaKH{6!aeY0yG`lD|Z`ZyvfI1Y$+qL z%c;_cE<{EROI1;>rS&yCwxBLw0cKfnI?BRXx*qXpyLKsWq*AKi zm#1}_)QRM%eHTLD!M_T4TK}g_w?XV4>;o1G+H!M@hi6$cJNi@EQ6vSja%=v zK=VGmp|S2aHx?84VauXPcAo84O$%10eD}(Nn~ztg$k@#f4F)^(+g`=0e{nzX?NAw# zm$eMKm9h=IT(*}`=V^N0G_6Sq@CwS(KMFIZfM|YS`pS=q^e>~Qy@Nwzg(?!^=Qn0n zH$sMFZV!V8z?s$S1-H_|b!G1FB8EaeR?os#6EQMhGD~x+w`p)IXSCUH_=J8PXnPSg zq0*K=LGjO7cGM5==nP&uK*> zd?rKm`nlc&h!aj@G~22(_~disn?QXA_MM*Q}wL z@2jhTgaX)9vHYEb@F{O;_E!NA%5}nJQL1XZtxH-J1*?u;IXI+;IuQV~O)WvFe9P5N zhYYZh|B_J3pNY2|yl)Aj0_MZ0eVbvqY19h*K|e%O{InG`Ko!1ih3<1wvH1PPNM`xn zK{qY8_*l7}yXB^K#xI)!hc0-=S|bz6e$0i+**llS&5!EvWp{o7TA?h`WYnBs>wR{2 zM*?iv+uB9gv*J>A3>=^2%)z6ZrlYp4$}9Go`jzFC)>EwxM{NWEk~Z^cQhkzDuEg^i ze~fF&O93gfYco=EV-1y;r|qot&5pd{$t^2?ZTJ-~?Q*%z{KHQVEXQAZXjEl+RlBVU z{@A8!p=C7FQ~G_3%6wQT5@DJ%lV~IGz5yP}(e#uZYEivzcH}^PHTra`h*@7|Wm0*F z%>qc?L{+=Stv1-`h?fi;3N-OMth~~mQT+sc54}@RIg2g0l4sJUv@oU-nd2sNL%&bp zT=BbeInq_|sdSlJCVH{XHCbml#S*n+#=N}TY~h^PNG3Jtsd8e-qO{ZvxnB-^A9TdE ze%>S)BlI*Lu#EGJn_lZ=6#Z5^>Y-FaXyQC9kg?e0J()oXdTA*lV9OOESyKv^^d1-G zTEfx16M4Adsxf_8l4V0s&b2Sqwdm^1xac=$fZaYf7d8ERXB+vVwGQDH;iR#({r9R^ zk^au+p-#`6cQfU`%MZ4-yu|oTis2l>=<5JB2>)(ax!EWRTjJu)R%dl*CmdQEw@~J1=|asbPJ>1@4)XZhg-6rgc&9gKsxa zYi9YB%3jZW-;S(Pfj(@1O&yier@EQil=SXKa^*vQ~EwczyORY?{3Z*|)%tcI2xyi)(3!Ys;em}XG8fVec*_&%0v{}2z zNVdpwSBZWNNJ|ZhA3_>QCKl{8dC?m;lT~? z|M?W7c~YQ0Wx>K+caZ!dkn2ZC3`w;VT96MH|khu_h7ovnu zD2G(wnXDu|m~Ypj)jnYsgJooDC+y+IxIUs>N_XI9VsCTd_f*nuh9q02rb&^^-(@^|J=<4iUx3w zs8Z+l^2))W-9qW!2bH$0SfdY5}XQvMHa$wA&m~`sM73OdaB^il9ZoOdvL-P<@HtJ>FZ+OqHkrKw{uv=N0so| z`BBXm?)EOR%{P-VNB^aFa$6ZxzPv!WHo2pfslBXcWz7FuV(-nAt29`H>)ISa*b@F#iT7;B%*@O-xou&2=hg>2%UI|HmrFBr zcikb3gd5y9?zeV!_D?M?V#=)Nn)gl^!XJrTITpQk{Y~YvdzJmP|i{gC+YKE(#Cc{dxl~>!5e>dH7U*)~Nn8n(O8%y3| zwApX31fGm?tV%iE)9*Y7K?9&cO>QSe=8HX^v0MAPrT?+d>JoQys&8cKdX$_$==NR6 zy{&%=;wmG7ksfdm`uB=&GOhht8@srF=90Yg$2ZhvENQkaL^FD~hKoM76jSQSMR{n( zSXc}eBXWT#t?D^L`U;VkQ;Idu{Av?!>B(XCuxq;Lov^qw6Kg#wZ`&8!Ay#DhmbI$z zjScLfmmmM<5xN)Le*ZAnX%^ue$N9upG+WASQOZoGdh@NzTE|Nz##zQdBj!}rZn3b3 z-?rx$Z1Tyk*8D&lIXdh$So(~g804q?O)~oPRlk4xaOcFylUCg6n6WZ5L3rTYw20}Q zU)V3^g$1t~kDuc_ICaR!C@xwg|M;PsCb$1-UFNd9inqSIE7gwwcT@k~hO^uE{+np@ z=ac_^@c*m*_`kDOMeCHs-3^d8oUtMTj#)tMOjVw5>oc!fhY}{CVS9Kw-|)QS+@zvq zi!&X##?7d>jMpJq+~%RM;n@ZJ;%#o%f78|fuAx1@^X80{tgPwAG~6mrHDIhg%rDw! zyvhdtc`N1g`O>wDHs*^Uu5rvnK=RmIEinwo@mFo%^*BZyY3)4LT%TN>OECYdp?>9Y zu2OtUJNq|iAXj#sf0w^zkx)mk`vV4Ub!}ADsoOZt0T##@oo=kzPuZ_?;8F~?2LIRB zxzJKQw~EI2K5^MsNwc8=OcJ>u?X?o=I@hjo=?Vug{i|}^rG1>Q8mojbT+ogmX%671 zwU1W8l!5l2CiC#2o76l18Eg2dKmwv%r|6w8ZGK8vW+!#~MtKS4U080|Xv5DXPyWv( z1-MIkRI{7PjHHc_1MP#VTyk&ft^cu9?y;Z#m7i!GaBMUDx#GK-l3}GRaCUypzSDs@mT1~mlSGLRIugnjBvv=-`{MO#039ueoHXru1s`|oh&nkmW zL5C8YY<^@MY0Z!0{QTR0e{PO)Q(~9<=1_wl$%I$&kvkH!0SMK)r5qZ;N)ghfppU=AV^W>@z`yf{-^!33=* z0`sMgT$sV_|7J$qJ0q8)V$$dpU^Uvp`%=bX1p@(o@uB_c_37TAb6WMn|7q_%!Yp?xTYqg#!cI63Xi@!MFQ;6!i zTr2h7dpd)&%mTW2om&CoGUkJci$NMfB(J6`D8RxN$!T46MO57Q8Tu8#>=jb$&i9`2 z`SCFCg?H4|G9b2$(E2H5p9lwS@V&zGGx}@YQw|HdHm6K(vn{owl6Nvw2|)QLfcA=cze0;IwHR4b>o2LSwP2rXFtd#Q|_uI`GTP3HJ zo-4Qhn&F+mNw&)si<*o!eBs(5K+5GgBonuc=B9l0$%qaW$0@C6R z86l?C0jjB2Ky40Uz>)zxVz(v~3Din}nbAadD(_2Br-yC>KIJ?1iVw+{E&dttD<4rQ z%|1Aq4CI3jNVhwN2&FHsF*a?F>sumt#Ni)p9Np0JbN8!Pr&@FFUl3j~zfrQELK}Ik zMoEoIIg_zpLVSB|U}Z|Rw1v-ao>UTX=mgJLOLwdywXfDB2t!9U-i`cV$+;^9)a4-x zxrmlERPlJdw$G-tLtsFN-5I1*n5G@DVx)K44}F4md*Dlclq*FFPigzG7E4%u*P-}I z;Q+2_U1kWoVTSN5!_ZQe@&wPM+DyImt=bUa{?QZVdx4=LBb2@_1)+>@m`4X97NcT1 zOkok#Zn8pSr7l*oqTNX?CM248wV9Y~`0|BhTj?o)+Uq^~oQp5-y%DQO+||WTYaJ*D-FI?P?*a#v3Kru+1TSTz==ThBIZBr7%kxW`92Pj2QrO=C?WV!oWni}r0o zBMVBU%S$UFrbU->Nvl`azVNP|RyR>bHz3$eRD9Aih^9z6^FTn);! zm(OslzB^=J_6!%}krZ3xrab6!YhZVKHUoukTz3fdv#bdwg!nBp^utQ1FcS|GyNsur z&L)4>H0I!t6h47UI%8q^{ge;|bVqouMXkthdN=g7n?0zwQnbKlro+nIxjn^44B2iI zapssq0*sbin5g4zW<#-*KW1?)ep>Zy;Z*kPn`ALI-*B7FDs9`S zePcR^{7If33RXK%FO>>ge^=6chmN2Xmi+o&ZzCX5B*}4}YFm&cXQIM7CSy_^@=C!s zb%z>ld(er?Zw272OPxx*+~V|IR0TQj&(c!}KNssBCHQ(&;LIA@mkQp~pZ(P2m%c~q z^mohq#(5TR1a*u>?Aw*bs<@l3JjFHr6(HMuzJygiN2}<_=l7iGWIbK8bUNbI%q<7k zOVi%HKc;|XyX21l{I#?Esv{G&Y&HYIBrr%u>lF-}q9sX(Rn$9I8_a~V!M+(p?$YTZ z#F={%^if_q7VH;3f3e(4yD^Z^Dng)ERv=>bxbH+^wxOV|;)TH<$&v`ljPd1JVAhW)&E(365 zo|0gR8pu28ioF<{@(S+Mj4R9Xn03~ocB+E?GUT;IUjjAu%5T@QElyfOSDleJvTz+6 zN%AT~X;Fgi755}Oj)Wt%yxl&SR8^%;ap)iiqZ(sDohkLo5D-!7@n<_?^n*rIWn_TW z)w|{K3x%296-g~HH_1rTXhqEd#f8z#Pxz4MOE!2Ru_0CXgrgEyEQ7qbT6-p|$UwZG zedjE?kovodQQ|OIq98Uls57WK+>S4MdyfdnA)(KsY|ts`e(TaaRMr2MyGEn?^Yhh7 z0qDU{7-;VIJXvhImIC#?HMiV&=A{K_IJ4-yVv_W_Mc|Zgtg)zNQ*fu85MXIDpHz_(>Yc8 zn9W*r?HF})2(R`Ns6=>Nu&TeYJS@2QJ1is>1yUqp=%?EexV$C7^?)jEQd<|EfKHu~ ze7y8Da4l}l7v%SrM$@o1&f_1iN7Wi`SQjoz?CD#+Wnko>xU_omNZL|(U8FWHt=&a? z&fhA)yjD*zDRc9d{sYETn4Z@F>qdNdUne(j;ldhrx@(*K4561!bUnJgQ7h127t3aH_UGYY z-G%d067M3j&x!H3e>4Nfdaf1W1KEK^?OQh?DM4E!`35T_JcBt&v4+9ff@$%nP1~y| zFg2}zXsd@opc{THBF@!pDVMKSC*UU56$Mxhx#qRinq(LiJ$Y@b??x!&1Kq;fk)={} zr(ZMGVe?F?(%p!xl0!q|ro+gC2`(m-yZN1VDMQ(~PRRjGy;`218qEQm9UbRst(m%2 zuAZKf5vBTL+&Q0gbOiExZcYdRn!lq;M@MHAZIJGVWb|9mr0O?&7QCxRnxcf@Nah@x z7EgQsc+YBA->q%;CqbW}Tzdt!*DH5Jv?^I#2bQ0POgpv&C*-?a9aqd%8$XP@P+hh*>$U)mS! zkry;4SuYj;phh%#>on6EnvXwNSJX?}AQktnxCTZbt*gi|P4Zj1IVXxV02pi>?jr96e> z3>it=qEFHKF-)+pl1Jvuwh#l)dS^0i){Cg7Yjmm}#TDDf$yu?|!MFs*py8Uws}$)8 z|B9d|gB>fOqg-5ww$!aKvX?bqZHFCU1hLtPXrvd#1dT;v^)s8o;41YScI;N>=sNv# zm>X@rR=vI<_dAN!K;*50NPh8S%jX=P#&sl&6Dq&$vvP#WtxB4n*PLFo#m)P_AFN9RmNtY(JLRYH*p zA4v(J&Sb~orC19t%GZ>*Xi?*3Vr>c-OQ!52c6aG*q=2&1j9lWTNX*QGrBq!~OfynCz)(bplI&4e8tPHMRdGKOmYUu+o$G5aZ*TN73%6nSNKR!mWkai*6Fv?8cv3E~!inph2-ybR z?k9fu)*CydypAM_lD{uMe2EG=Uu%(c3Ow#onTL0du>Ujjz*l` zmA(RBsuGG(D}oIN>*q`tnGv=YuWmuVR?&(N-kt&01vP=@a+y;`eSn&JwgN zNi`5PS2XwoKMgk=TH=lMerhuNOFg1CL{ZzDfVV{!&mPH%Uxu?}i)_x$Z|?h!(%Bfe zh}V43?{0c&Y&5$du0LnHX*>>7yV{HMcC9@(q@*D~bLV`|ijV>NVp$7hEL?!4L%mcL zi`(ktu{{=0;<8eUmaC~J%enFA=O|+1%+sG1a3=(+8gB`53SI6P0_vea>cS~QHn&{T z1|;4cz59OIO7VOJ#iM129ebd+(EeIx*`WeIJ?Eh1M_Fl>IkB{mCd3tL-wsPjDjfkkBlbCvwzw@q6f-BR1wmC`#_1jSXn%ch-8&`k)+ONi%T z!=ZCG;!0g}=14_BPn>AsJ@X2FuHC<~g%&lu8GZ9Sy(g_5abw!G$O_%Pon$l9&iLov za>4_>5y|Xt!;UGU@>=-@C8ky-l%|sb#NhTcS8y_?3{FuUdOJ|TU_q!XZEDt&a2b8B4IhsHTe)`83QN{WYb8!YV6*7VzcRwk5!$WXZRmbJ3)B~R|ycvZgj z<>DoTQM!>Ao;4R{0#(-^pAp7m1vk<%PMK6dZI29<($l$!3~E>ZB+5 zVOux=PaUwJ;-Pyg(0`=T2UJ3y=#Clo^5`}jWY<4!P@!ZZm|NyM1wO-TtL55Pu`qqn z(YgNDgK}>uaD!;M4im316O4Dxof^II?#YwFO!N5lmph0c=lDOkOn(rZ9`ecb*nnpB zcA0o9pQy`M4t9%nRGzcRam$=hKQ$-V%ussCW@_AxQgI`!f_pbqW*lRlQ*e`2!E4Ej zsC}`rhEXYhE{?CX2O{NC)a*yI9tS*4%2N#uP4C!%Gc(u-ZG2M*;uXJd&GgdhZldpk;lgNqdqR=9wM2d%yps*t_hF>va;H*oD^FgbZlYQj&;}i zF~S0bK_s)*jmlyqm}J$}7fJ7G6({$8pvK5ebZg26IzIu{+lEVd`GG6lZ}4+pZV^&; z%Ih^^UJ|qv%n#KFFdBrCy$rU3h?G<^Y~DW=tP1}i*k7RKuvu@n;49`2u$O+g&-;c} zSzx7sXQNMkY#pfU>_lLuC zqG#MiB3~o?m1%}=Qqq5kO$uJPB9hn39DjM{fXADxVM5|+G$XFuwIotV&7F%?S=_h& zRmJf_)IiyFc6h7Qa!PieH(`|9I~9G(sTVSSy#{98f8XykH`gp z@&_m;ZhW4Xc%u8T){nBitZD%A@@Q3EN9u%Z??dbp9pMA*SFIF$%MMAtxoyjP!KJ;o z@cNsU&LJP15~ARf;EaCcLC@NOF1MT~q_|Rr1BHe4d9YiX8G*Z#$BL3w%s}+a>d1L) z%&zh5Y?XZpAF3OM%l#GvsWyjuN6nIoI4HS}jqD3WmsUO%ObD}Zj{W|P?zpruhlKoh zVkh>51lx9*a}Fo7gKg|OAB>Wc>VgRa^+t%(QGAx^T5&B?tS-0b7E__eF^prT5jjviMCo`-`wv42+ywGRb!re3kBsOW_tXP zc?>LqoR@X&%68Dgp8BSBCQX_8MM9N@M5Mpr3$WG{=&;8KM@jXKR6GGVr$^D zxdQRp>+%4kII(i3kVP00Fx0Vicsel1ac@D2+)S=q1`AYthH%>Vf3(EPVp`r^rw{57 z&^)V~n4yVDkKJ|>=eG}Z$=h_VUFvBu6AQoC*7ZzygSY$RT^Up2+cSP+sasiHQEQH4YjfgiW@=Hzo8N5CoRMM+b!2=KeV?&zz>x)mnne19f#4y%?N zmfR=&MI6~g_2^+JWxIt&DhemGB)(`|$9#n0T)t3xrJjl&NmCS#fslcUqLY|+R9{wJ z)5@n3(TgY#UPR>#xX8BD@DQ=DkMZk|1ww}E4)7WXuQmhr5WT0L95S^Gyb_n=lfNin7X_4;!Wd*KYy#F_v%i)yBuG(s_(U*h+Dq?rmlTT?>f~u-g1FF3x z7VnFLw97ppZ)9vONE4k#cK0UWx)V~~>%m~P_ok|7=-dGkmIpPvYoNQT&}XsK#5CEx zoA3T-Xr-9iH!UvjZOU((@umj%6FAM@kyBQ7)Oz1^uCs8GSzSyC-gfjCjkPQF!#32k z!^UBomXFKy6x7>I{bONme*lTMsFL|&17~jg`+6kSh_K^ElQ9QF@&6BSpgt zD0kxMYH(SgX$iN+A)@p+QV)o)p9!EQju}sL>ulk_vEH0p*h@u#Hbx}#C=+T>tju8W zO>x!6oDnCh&i8i>-h1=VMji@ymA_zMf)wf)$ckIkiVMs8O?vCD@=c^Rm7kCgtPoTn z7QR#0cwB55vn(=I(p&N5y+_j2Ky`gpBWN^D()!6w0*)=-uf9GW2)Ai{n-+JE`S3;s6# z`^Eml!Y~E)Njrs-c{{Y2ViaX3(!r$XGGoxm;pJIoM$fsNEMab0FO52z5acbp?SM3C z5d)**bF$mrtoZ@NZm*&iLuO4#nAnVVtjvr>i?3E#R1SzVeEY^%H@>BpI1!6n>9h{B zFtYp(r)bHaa>hP2tFO23l>12G6Hxn!*aFYyla43NO0;FqxnD-!l3duHRL4Ci{&HVc8nmCVwIv{y8wsShbj40 zZ{G~SmbM(@G0y$B8$an9MUv?%9(E~8YpDT?tTVS0VIHqv8jT#TC$na%lLjlX(FyCq zF(E0aH&?FkRa3lC&oaeu&(`g;`Ay`49&boU^*)i)P+bej$zr}$cxGvhX@fBZppoqV(VaU=<3jh_G?cu`rMoFu-7I_g!6Jehnu}9r<8BCa-NT^`UX!@ zyXcR$>5W&*D4F>rCK-_1W8nx|Zcfyu38BUKZNhR9z4dGrW`4@av#V0^l=-#WQ${Vu7$o!{XcvqRwq8haDx;Fjw|4#RFLCVAbqO zY)bm<9lck-+lYstKE(7c&~xgkIoEx4`!@TrJk*x%wq2v*YvlRXmwOvOy*6e3)|nMC z9=~XH`MedVtt%xVrDf(1=5US=lKA=4r;GRIZ5-bs-mUro$tmz$Z?on>u>5Ns=?KaD zu2+$dQzf>G_G?-X3yk^95BPCUPm14PpU_^I89rk4?EZnbt1?Tn%XI*Zc-3SsMn+ux zGZk?O_bRR2SUl9a3I7MzNgTBT>g9%M(}ryi#$Yk#`f%;;O7^X>L^BC$P2Qk(;JkCGPgjP@YlCg1Jqq7F4>9dm3F9q zJPC%O?0{nD)e1#aIqw&YWSQZ_hamYHIgwxgoUWkRut`g^_S1s`B zSoVW7lP88f0OT%_r76`_Ze19}o>Mf7K9e2VS;77KRs3sHBsGy1wqY_qL#46OiL#Jt zCzMIF-MjmUTArF7I-n6rRf@mqXfoReDCn5oU|?VtT5l@H53%mwA3EQtf8Pp0 z4(KTGXWWIY1<;1*_YvH(aL6;9Wco9hb@_dCQbM*Pv)^`F$;p`(6A^dX&g{;^Bp@Ev z1HS8OX%r*Pg`SQhl$zVj#$>Mg6vB@{ENwz8*7$O}_u#cdD_s~L(dB?$Z71CjjxPT` z<)#$O(8K%Klm+^F)_Dp$51YX^JC$KEtIk{4PS?g{e%wS9KW?>J!)lS$Kw-Y}8t_>M zLGDew4wvDj5IYOIFoSfo}tAHs!8;#B-`q8>tmp_Y(nS(|WOM;PxYQgB+`1;+K$Xhh}7qLDJY z33sK85z*ebI*7FPCdonP%5 zfMe{Vg+j&x7>>!D8ZMUBZR2dPjq6ZxAi}kC&-2L-&#Oq*72a_4w}qQZup7YJIN(I9br~0HETGZ0+$aBniN5 z9Kh%UDH;MhMCmI6mqK1JW-wHDN-(OgDsDhAdB{M`Gag#e#%Lde z+LLpHLdL4=2CmEq#s)^=I@qMRvLKIwD8O=5AMkN#K1E>HXz-CmZG=6n>J_o6=Z*N5 zCZS0lcu2X%ML*|)bLYna-xwWyyy#QFV))D3eTc21L$vie+g04%FE+nwF$ ztcSR&x2L887EkalUr;i18K^_A5cDBy^sdi(LX`FT6+`c#i6o^wOo5=$v%uGNCYA8m z$Ss#--2ANt=87^bLLk4q32pbL=?5pt(Qbq(E0eC&sB3tBhpoat^Fud~A54Fup4JddjashG?*yv>j+>G5g5{NNSh$mwy~Q7;7CJp4 zS9kW^&Hv93on_vyMigl=xEOmucWQFea-Z@cv->UQvQCmk?cfoChHM}83!_Ai-=2gU za{+yf0wrL6wNB*sUYW7o0ByF#Y5?)F9*yL;LJGe|87QfBNHp8ZUPLqvmjx-4;9-g zv&j0^JM{lF*>vkbgR;Ccpa}rq9kAoiq}9;#0Px@R@|6#t_H&=tEmU^~LI5~+@BH}V zqdu{tH?Bx%8D8V$_~rAbU%17OSpoX$QPNMCHp2_>KD521`2qVz2TRYbcv zp(7gvs{@pOvF}g#n&VOHB^1{ekS>sasX_Fm|u-J zo#g|aXLB?ev*$Z5->VwWDu$`X=+jzyo^q9R+ouND)b<#xx$5}6n2tzAOCaH#yEv+H zUa}MTej>_`;$Hz*8=TEjrUj{U>3Y70&iy5U0OtMX;yzjE7_<3{JtYB=YS~In52onu;&{|`^KWF@ zne&47u6B}vuZ{=g1P4d?v41@G=UZ7PyXNDl4-;i9vyBBttIg+n>HY6%Ky=XIr}X~5 z=TOGB7UZ~EkcDDv;=O*mn)%s*!+P40l`Z3P9+;U|b**}%Cm%W{#!-{%w9Mj}ED=3M z$N-{1erpt@j5Ma##~0^k?+^{Ifhc+v6QtnM{xP2qLa&De?a_?rt!?BlUlWI9 zhHuqc=%k)=!8nbMjn-3|?rg6ShE}XzOoPAqxYuy?5qf)ZelteYHsbtbaRJfsTV8(4 zmu<`zAtpK3{2?*u$nGmm@f%;S3O6dZTFpR591@3&buDx`jwQWh!!-Wx444M+z#|B( zrt)@gV#Nq?qNyV`s)x{WHaX{UOj;L}zR+)kz9SrjgN<_Y@v0dvlQ0*LP-b&2@o?98 zzf;NKA7hkkX<{C}e;X+LP2WEto; zYEJN=*Ee-Xk%%w)mshs$p)=C--BZz@lxh8i8kR%fMbmwtdJBj@#qI^Tq7glkfVFqP z*d=5OxtR?(G{mmViU@$|C-?ho=gBKJRmids2ntx18cawhm~sh=x{SOE>Nic`Zj6F2o7)v{zB$p|!UKnl{@uIi$IBD^K>w53aZQyp`GG?c|k z3r31k9lAgNm2IFYe{N?_lEHl9`3k)bM#Ml>8T?UiRaV3cWeww$ zp7_9cg$Ai0`-NER7K33{4~mTlT&df6pG0ov~~89`JHYA7i$2&QwhwwMaqS5e35K?8UN&R(Ek& zTpCBF9%G07MEUzH{?}>+w8MDic1h2hIce}-2Fv;ymxTmIfU|qDgH}R5m@h~ywuyUJ z#Y4dPABf7!@+N2CB{W-F{w{(%tlC>h=n}cWv?lJQrGDeYyD8?k{FY9=1f?}exYKJW z3(8zJa0yO_@=TvRQ`dSVP|{xf1=Ca|Fj3Nt22;XTFDp(-2^55*bcxFFwjOhc`6#`2 zDQ+2aRwr(&?^p0z6AvGgJfCQ_2^5cNDDT_8&jn73$vzPHRcQU9*_^@{C%aAtx(r_X zPzm>@@@*}C9^(_7vbg4^h!2V0-vJcf)T+dK z=Ym1k2^*h?<#*2K5U+8CYz=^(8|jkH_gy@ z-W1oO(uS^a?Jc|@hhKS(?MQOyB%2QUJzF8F6~aJTdiz$-wXb1-KW;{CB&oF}=1-Rd z&NzDXdvk%6vR#GqkDrpUStHN2&6D%ipsrW;a&+k)2ZXEc=Mt4e7NEu-Injpn)%w3> zdf_V~OukWj4OZ|n`86ymgiX=4=+>|eRE`U8gErH8>>W!~0I>RHZ!z2_n|8 zsv%ibtlIuK(Kxw#FLR5BatKYk&ECq}Y*-+BNw&)6b2vFGyl25@uxH8sTop_>zIlt? zrV_AQq%fS`@_{p0I*d4&g~_!a4p4AS5#^yMGHyrFlNYe74N+lex~wveRXfmnkEjmacMO9 ztIlFGHny7K!8!EumOv~LuXQG7e*qCGloiyZnrHb+r3g{WMib1ee$Q(`W!I!?HO`6J zKCw`*ir$s3pnnf>b~vY+ z4UI4J3oN)AbAxuVZTBDHe%zOi1ctEOkpEy;}tR5zC%P#x0;Wl2o1Y zfZ)wJG%-}XHp2Jwa%nn!E{H_UEmAt2A$LrQ*!=5)@n)WmqwsvEU_bw^VifzG^Y1QC z_i}hTp5G>NEvEmxVfE1+;{kH-3LpE6f6XC52fB<7ZtR_mgALNe(Qzm(+xt0ijriX# z-La68TenMY;jAi3KYQ44>`pPbMqa5m!TxLg_RWLb=FZDQvJB4_{kn3C^sBwF<>!&7 z%w!K`rZc|h$NI$ze#NY%&K2NiMJttJ;st6}_vhzqVMs{jFLt(MjY@w5R%m()O!YgX zP`b-|AIG!(~Yg``^$i`|T#}IK! z*loZ9>w9qylADGfQTdu!R%nMQ3X!-FOKKZvHGygR< zKi|c`w0ym5qVB4h8~3=C?JzO1d|+|DJip~#B&3~k*wI~XW=)jo!VZ5r@Zvd_3khmH z5A$g5=;|9=qpVGl!rLex4~(KUgA`?kFsSU9SXr3{RfrQmHafeV5={qbas z5@EbHJs6Vq;;?>CVIvghf}S~D`9R8yne!MA4u~glncq0dQFZ+|8+vO~^rziwhy*NB zizmema$7_ar7LD=WfHXTz2Z^V#4bX)AAYMvK)_l)Vo+Cd1e4Z}eU)xDjZakyTJuR_f9p))k_ycps+Kfa&P{Sy zJ9lD$hb4&l~I413w}28jcSu=nVIFlqDswG9iic^$!B8jeI;^zHIEdh zHMj<;A+x2I7UpDaqtrGJ%`~Wo6dbU-Q#|&jqYyT#I-25`E`yEGYg~{Ep7Ti}v0Z1D zISQ9m+3hnRqSum%o7L7cC%vV!6E~t9DU8%y#2YB=$S93NefGC);*x!$T>ZNK_J5LBE=URAI&NWuAxfrGkS(tCzvK$&20>z64guHe(Ssr|BAyz>> zA+u8qKH;q=bShhtRA%>7cDuU01>u*6FZber)qf`rK zNMDE*=oeH`GFZhvmZ_;|eVO>+tFHw4ZILLwykk-UqB0c^9o{>8_RCPHD7l@; z->FCZUKck*GF|z+B9Oxp4AA%3ykcN*w4jQ@@#xs~O|BRJ?27+ont-f%FB3%svs`B1 zuPbrXtww^ZI}YML+Y=0ii}Ix9B}0p=KPS5K{jfwhBBIu#UY!3+_8$5E_rd=hp4FQO z%z#o{jxpC(xp-U-umDu~djXhm1aR$jUC?)JEszUj(@968H&aG3QP}iuz);)LgnDv8 z_yEnC`46K2;!Cj5^d;=c2+?=#UGZ-ZG@$fAtM(t+E)AIsUTP#)I73(M1Ypys)8M4# z7lIjCCmHHQ<%Iou`AiB=hK9oSZ*1lMa=#46Yg-3ij-FSq*MAYJe zID3@GG?|9@ZPJLQ^T%sYS^etcZ~Iv4RIhavy{zj$67l^vcJa2hF@0O8ZO3V#9H znEc_7`Em1}i#v1|V70F6+~ZI;6uI^G&f~6~*zG=GKj6nP5r8M#DOWF9p3;^16xg58 zd@jb3@g(e^i2U2r_wMhzz7ybl?3bU*f4=|qGGsr;ud&D1RIYMyJc@r-1q5pEeE#&Q z*YJcahvrU4>Hg`ziZb}&zxpeJ@sC5*znnMv&li7m#n1jIhy=WZj!~oTm0+NIO#>WK z6;^Q%0F|w-^E1r6>%{MX@B`)8a82yZ8MTEg92}V~{M6dg65*YR#ESE;aquYq5wMBD z++M5qi0VvHbcou;@rxPh&P)VCV#n*)W&G2U*@?XEH}dzd0`Fv*H?^~KH`v2*%vJZb zOlimW&vo&y0cmnR_;dVOaqfitBUr2W=_KgxpDuH^>gvkuG{H^P zZF{9O(aX9{)Y+fq(sH$L0ULz!aa};hl3Sq5lUIeTjaU@gJ@I>#coTs(P!E z`zXwq#KQz;)_;7yc~`%!%~gUEW`K+i|F$!#$|dEI`5j@#WW-vk%wKB$&vO$78mFZO z!;Eteg6QA+@i@`Yme+b4mE;g;=f4sFy+=7MCFlyqc-X}xAZaGQ_FKhr#$RGYAvYV+ zekO6+Y4VXy`=nIBa$>Mg$`d^nCjO%1I&$#gds$lsgJ`de`o|pusfJwM)(XeeKUjLJ zt7@Wm(C9~L**{nKq#p(F#GxebL&4ovT`vc50>I}x1$vjn#B!iF_mp> z>>~;7fB>0ywfxS*6-7W;M{!9Vv&HhSeWO3mPI}R7BE6w4;?bPkFxd{_jJ;qMW4=?0 zVfcRM+fsOy=h*eeuZMqR;+hvJZ2S69MMcF%K*_gjt!|AF=<)9@?%>2=6mokxojINC zVQOXNIs*b~Gvl$MF1my0RdneKl%h2_nEdj@(2~&POCP$va!FBVU!Q80Y3H7HQ z*JI&BaMEi6c};-7uJ>OJSV@vEh_FA2$gGOo2;k1%oN4#X_`pJtOA`pXdSS*d6b`n) zze_9|L@%YT^5z}>=eg>$hhl3d9Yv)Tm!0O5kC~Zx$I`!T71O`A+D#98)WcY!3W;8} z2VyQxu>|PlQtW_#p3EU(l5s(VUX}TDjaBDR626pl0u_wjb7VU`Xoe7s{+FD;7r*l) z<_yc=0AH}$nm#L%0BX_8icS1(;4AIGp1bQv+EAak>&p5`itJqHeO#xSSF^>t3!*Zs zN4J-^9Z4?0Gtq-_H^mwh2Ah#eUm=e_Z$F9qm&E_#wymXmEAFO9{R7~%^rNeZ3G{NK zDH)Hf*sBUM1b0-JKqyvu> z5pnn5UH(n#j<<=P16#TQKGa%YXq6Rv{Nk9{*RQ{rPK)39m*hW+7dAAGF*4b0`mS_L zd4cEMCBvPAkGK31dvYrMmnpTsZ0|pN_VK!?+&=9moTg6eNTRr500s-`#6K05@0U9R z>RNkR^jH3qKaYO>=%Ak5h3ow*iO2KWTJ>Y4xj&ppcGdn}n!*JCdBl&O-+3;T=I8De z%PuA_o4vW{*cUr;au&;!{P)G{C^0Lh4(Cjdq-*uCxhxUjuGzZgmpe^pY3Sc9zJB+~ F{{;d3jk*8; diff --git a/images/mlops_pipeline_1_setup.png b/images/mlops_pipeline_1_setup.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb311c59f90964162d5cc62a40f829e6acff2b4 GIT binary patch literal 81213 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%0DC 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 literal 0 HcmV?d00001 diff --git a/images/mlops_pipeline_3_batchforecasting.png b/images/mlops_pipeline_3_batchforecasting.png new file mode 100644 index 0000000000000000000000000000000000000000..c95648bb7bac85f51ffbc6b4ad545a700f1f5dea GIT binary patch literal 78289 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 PZzM0R^1S@%i?{y+=oX6{ literal 0 HcmV?d00001 diff --git a/mlops-pipelines/1-setup/README.md b/mlops-pipelines/1-setup/README.md new file mode 100644 index 00000000..c78c650d --- /dev/null +++ b/mlops-pipelines/1-setup/README.md @@ -0,0 +1,40 @@ +# 1 - Setup Pipeline + +The setup pipeline will: + +- Deploy Azure Machine Learning and the other necessary resources into the resource group you specified. + +- Set up the Azure Machine Learning worskpace, creating a compute target and attaching the AKS cluster (if needed). + +- Download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../README.md/#2-create-variable-group), and register them as a dataset in AML. + +## Instructions + +Create the pipeline as explained in [here](https://github.com/microsoft/MLOpsPython/blob/master/docs/getting_started.md#create-the-iac-pipeline), selecting branch **``v2-preview``** and setting the path to [`/mlops-pipelines/1-setup/pipeline-setup.yml`](pipeline-setup.yml). + +## Result + +The pipeline run should look like this: + +Stages and jobs as described below + +Containing the following stages and jobs: + +- Deploy Infrastructure + - IaC Build + - IaC Deployment +- Environment Setup + - Deploy AML Compute + - Attach AKS cluster to AML +- Data Preparation + - Sample Files Setup + - Register Dataset + +## Details + +If you want to customize the Azure resources deployed, you can modify the ARM templates and parameters under [`arm-templates/`](arm-templates). + +AKS cluster will be attached only if the variables related to deploying in AKS are set (see [the section about deployment](../2-modeling/README.md#deployment) in the modeling pipeline for details). diff --git a/mlops-pipelines/2-modeling/README.md b/mlops-pipelines/2-modeling/README.md new file mode 100644 index 00000000..e51f2bf7 --- /dev/null +++ b/mlops-pipelines/2-modeling/README.md @@ -0,0 +1,225 @@ +# 2 - Modeling Pipeline + +The modeling pipeline will: + +- Update the training dataset with the latest version of data. +- Train and register the models. +- [Optional] Deploy the models into webservices ready to do real-time forecasting upon request. + +## Instructions + +Before creating the Azure DevOps pipeline: + +1. Make sure the [AML extension](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) is installed in the Azure DevOps organization. + +2. Create an **Azure Resource Manager** [service connection](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection) to access the Machine Learning Workspace you created in the setup pipeline before. As you did before, mark the option to grant access permission to all pipelines, and copy the name as you'll need it in the next step. + +3. Modify the **``manymodels-vg``** [variable group you created before](../README.md/#2-create-variable-group), and add two new variables: + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| SERVICECONNECTION_WORKSPACE | Name of the connection to the AML Workspace you have just created | +| TRAINING_METHOD | "automl" or "customscript" depending which method you want to use for training the models | + +Then, create the pipeline as you did before in the [setup pipeline](../1-setup/), selecting branch **``v2-preview``** and setting the path to [`/mlops-pipelines/2-modeling/pipeline-modeling.yml`](pipeline-modeling.yml). + +## Result + +The pipeline run should look like this: + +Stages and jobs as described below + +Containing the following stages and jobs: + +- Update Data for Training + - Download New Sample Files + - Update Registered Training Dataset +- Run Model Training + - Check Training Method + - Publish Training AML Pipeline + - Get Training Pipeline ID + - Run Training +- Deploy Models to ACI [Optional] + - Deploy Models + - Register Routing Model [Optional] + - Deploy Routing Webservice [Optional] +- Deploy Models to AKS [Optional] + - Deploy Models + - Register Routing Model [Optional] + - Deploy Routing Webservice [Optional] + +## Details + +### Data Update + +The data update stage is there for demonstration purposes only, as the Orange Juice dataset is not going to change. +But in a real scenario the training dataset would be updated before training to incorporate the latest observations. + +If you change the `DATASET_MAXFILES` variable in the [variable group](../README.md/#2-create-variable-group) after running the data preparation step in the previous pipeline, this step will update the training dataset with the new number of files. + +### Training + +During the training stage, three main tasks are performed: + +- Create an Azure Machine Learning Pipeline that will train many models in parallel and publish it into the AML workspace. +- Trigger the many models training by invoking the training AML Pipeline previously published. +- Register the models into the AML workspace. + +The training will be performed using the `train.py` script in the corresponding [scripts folder](../../scripts/). +If you are using the Custom Script version, you should modify that script to meet your needs. + +In both versions, AutoML and Custom Script, script settings are read from the `script_settings.json` file in the corresponding [configuration folder](../configuration/). These settings are right now based on the orange juice dataset. You can modify them if you want to use a different dataset. + +#### Customizing tags in the model registry + +When registered in the AML workspace, models are tagged with the model type ("lr" or "automl"), and the ID columns ("Store" and "Brand" in our example). + +But if you have additional columns in you dataset that categorize you model (for example, a "City" column that applies to each of the stores you have), this can be specified in the [script settings](../configuration/README.md#customizing-script-settings) so this tag is also added to the model. To do this, we would add the following line to the `script_settings.json` file: + +``` +{ + ... + "tag_columns": ["City"], + ... +} +``` + +We do not have a "City" tag in our example dataset but have created three syntetic tags "StoreGroup10", "StoreGroup100" and "StoreGroup1000" that we use to showcase this functionality. + +#### Dropping columns from dataset before training + +Some columns in the dataset might be used for identifying or tagging the model, but shouldn't be considered in training. +If that's the case, there are three different settings in the [settings file](../configuration/README.md#customizing-script-settings) you can use: + +- `drop_id`: to drop the ID columns before training +- `drop_tags`: to drop the tag columns before training +- `drop_columns`: for any other additional column you want to drop before training + +For example, setting these values to: + +``` +{ + ... + "drop_id": true, + "drop_tags": true, + "drop_columns": ["Revenue"], + ... +} +``` + +will drop all ID columns, all tag columns, and also the "Revenue" column. + +#### Customize ParallelRunStep configuration + +You can also modify the configuration for the ParallelRunStep, more details [here](../configuration/README.md#customizing-parallelrunstep-config). + +### Deployment [Optional] + +Three tasks are involved in the deployment stage: + +- Group the registered models according to specified tags and maximum container size (500 by default). +- Deploy each group into a different webservice hosted in ACI and/or AKS. We call these "*model webservices*". +- [Optional] Deploy the entry point that will route the requests to the corresponding model webservice. We call this "*router webservice*". + +All *model webservices* will use the same `model_webservice.py` script in the corresponding [scripts folder](../../scripts/). +The *router webservice* will use the `routing_webservice.py` script in the corresponding [scripts folder](../../scripts/). + +#### Enabling deployment + +Deployment of models for real-time forecasting is optional and disabled by default. +To enable it, you must add a `DEPLOY_ACI` or/and `DEPLOY_AKS` variable to the [variable group](../README.md/#2-create-variable-group) +and set them to `true`. This will trigger the corresponding deployment stage. + +Deploying in ACI (Azure Container Instances) is only recommended for development or testing pruposes, in a system in production you should use AKS (Azure Kubernetes Service) instead. In that case, you must also set variables to identify the AKS cluster you will be using. + +These are the variables you have to set if you want to enable deployment of models: + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| DEPLOY_ACI | Whether to deploy in ACI (`true`/`false`, default false) | +| DEPLOY_AKS | Whether to deploy in AKS (`true`/`false`, default false) | +| AKS_NAME | [Optional, only if DEPLOY_AKS is `true`] Name of the AKS resource you'll use for deploying the models | +| AKS_RESOURCE_GROUP | [Optional, only if DEPLOY_AKS is `true`] Name of the resource group where the AKS resource is located | + +When you enable AKS deployment, make sure you run the "Environment Setup" stage of the [setup pipeline](../1-setup/) before launching this pipeline, as the AKS cluster needs to be attached to the AML workspace first. + +#### Changing the container size + +By default, models are packed in groups of 500 and deployed in a single webservice container that will pick the correct model to generate predictions based on the information provided in the request body. + +But you can change this behaviour by adding the following variable to the [variable group](../README.md/#2-create-variable-group): + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| MAX_CONTAINER_SIZE | Maximum number of models to fit into one webservice container | + +Decreasing the maximum contaniner size will increase the number of webservices deployed, while increasing the size will make the models fit into less webservices. The maximum size supported for the moment is 1000. + +#### Disabling the router + +Since there is a limit in the number of models that can be deployed in the same webservice (see section above), when deploying many models we will most likely end up with several endpoints, each of them able to make predictions for different models. + +By default, a router webservice is deployed to act as an entrypoint for all the requests, forward them to the appropiate model endpoint, and return the response back to the user. Sending a GET request to the router will return the mapping table it's using. + +But you can disable the deployment of the router webservice by adding the following variable to the [variable group](../README.md/#2-create-variable-group): + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| DEPLOY_ROUTING_WEBSERVICE | Set to `false` to avoid deploying the routing webservice | + +#### Customizing container configuration + +The parameters used to configure the containers (AKS or ACI) are read from files placed in the corresponding [configuration/ folder](../configuration). + +The files for the model container are: + +- AKS: `model-deployment-config-aks.yml` +- ACI: `model-deployment-config-aci.yml` + +The files for the router container are: + +- AKS: `routing-deployment-config-aks.yml` +- ACI: `routing-deployment-config-aci.yml` + +For more details on how to customize container configuration check [here](../configuration/README.md#customizing-parallelrunstep-config). + +#### Customizing the update behaviour + +In the third stage of the pipeline, models are deployed in a *smart way*, meaning that only models that have changed since last deployment are updated. New models are deployed, new versions are updated, models that have been deleted are removed, and the rest of them remain unchanged. + +This means that if you change the deployment configuration file, these changes will only be applied in the webservices that contain new/updated models. If you want the new configuration to be applied to all webservices, you can do so by setting the `UPDATE_DEPLOYMENT` variable in the [variable group](../README.md/#2-create-variable-group). + +If you want to resize the containers to allow a higher o lower number of models per webservice, you need to reset the deployment via the `RESET_DEPLOYMENT` variable. Please notice that webservices will not be available during this redeployment operation. + +To sum up, the two variables that you can add to customize update behaviour are: + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| RESET_DEPLOYMENT | Set to `true` to reset existing webservices (to resize containers) | +| UPDATE_DEPLOYMENT | Set to `true` to update all existing webservices (for config changes to apply) | + +#### Customizing grouping + +By default, models are packed in groups of fixed size following the order they have in the model registry. + +If you want to **sort them before splitting in groups** of fixed size, you can set the order criteria in the `AML_MODEL_SORTING_TAGS` variable defined in the [`many-models-variables.yml`](../configuration/many-models-variables.yml) file. +For example, adding the following: + +``` + - name: AML_MODEL_SORTING_TAGS + - value: Store +``` + +would sort the models by store before splitting, ensuring that in most cases, the three models for each store (corresponding to the three different brands) would fall into the same webservice. + +If you want to **split them by any particular criteria** you can specify that as well in the [`many-models-variables.yml`](../configuration/many-models-variables.yml) file, using the `AML_MODEL_SPLITTING_TAGS` variable. For example, if you had a "City" tag, adding the following: + +``` + - name: AML_MODEL_SORTING_TAGS + - value: City +``` + +would make each webservice contain models belonging to one specific city. We do not have a "City" tag in our example dataset but have created three syntetic tags "StoreGroup10", "StoreGroup100" and "StoreGroup1000" that group stores in groups of 10, 100 and 1000 that you can use if you want to test this functionality. diff --git a/mlops-pipelines/3-batch-forecasting/README.md b/mlops-pipelines/3-batch-forecasting/README.md new file mode 100644 index 00000000..b0a8d6bb --- /dev/null +++ b/mlops-pipelines/3-batch-forecasting/README.md @@ -0,0 +1,67 @@ +# 3 - Batch Forecasting Pipeline + +The batch forecasting pipeline will: + +- Update the inference dataset with the latest version of data. +- Launch batch forecasting and create batch predictions for all the models. + +## Instructions + +Just create the pipeline as you did before in the [setup pipeline](../1-setup/) and [modeling pipeline](../2-modeling/), selecting branch **``v2-preview``** and setting the path to [`/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml`](pipeline-batch-forecasting.yml). + +## Result + +The pipeline run should look like this: + +Stages and jobs as described below + +Containing the following stages and jobs: + +- Update Data for Batch Forecasting + - Download New Sample Files + - Update Registered Inference Dataset +- Run Model Forecasting + - Check Training Method + - Publish Forecasting AML Pipeline + - Get Forecasting Pipeline ID + - Run Forecasting + +## Details + +### Data Update + +The data update stage is there for demonstration purposes only, as the Orange Juice dataset is not going to change. +But in a real scenario the dataset would be updated before launching batch forecasting to incorporate the latest observations and make predictions into the future. + +If you change the `DATASET_MAXFILES` variable in the [variable group](../README.md/#2-create-variable-group) after running the data preparation step in the previous pipeline, this step will update the inference dataset with the new number of files, but will fail to make forecasts for some models if no training has been run for these new files. + +### Batch Forecasting + +During the forecasting stage, three main tasks are performed: + +- Create an Azure Machine Learning Pipeline that will generate batch forecasts for all the models in parallel, and publish it into the AML workspace. +- Trigger the many models batch forecasting by invoking the batch forecasting AML Pipeline previously published. +- Store the predictions in a separate container. + +The predictions will be generated using the `forecast.py` script in the corresponding [scripts folder](../../scripts/). +If you are using the Custom Script version, you should modify that script to meet your needs. + +In both versions, AutoML and Custom Script, script settings are read from the `script_settings.json` file in the corresponding [configuration folder](../configuration/). These settings are right now based on the orange juice dataset. You can modify them if you want to use a different dataset. + +#### Customizing name of the predictions container + +The name of the container where the predictions will be stored is defined in the [`many-models-variables.yml`](../configuration/many-models-variables.yml) file and it's set to "predictions" right now: + +``` + - name: PREDICTIONS_CONTAINER_NAME + value: predictions +``` + +You can modify that file if you want a different name for that container. + +#### Customize ParallelRunStep configuration + +You can also modify the configuration for the ParallelRunStep, more details [here](../configuration/README.md#customizing-parallelrunstep-config). diff --git a/mlops-pipelines/README.md b/mlops-pipelines/README.md index 17ba4256..42bc3cf8 100644 --- a/mlops-pipelines/README.md +++ b/mlops-pipelines/README.md @@ -2,137 +2,44 @@ You'll use Azure DevOps for running the MLOps pipelines. Create an [organization](https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/create-organization?view=azure-devops#create-an-organization) an a [project](https://docs.microsoft.com/en-us/azure/devops/organizations/projects/create-project?view=azure-devops&tabs=preview-page#create-a-project) for the Many Models solution. -## 0. Before creating the pipelines +## 1. Create service connection -- Create an **Azure Resource Manager** [service connection](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection) to access the subscription and resource group where you plan to deploy the Many Models solution. The resource group should already be created. Mark the option to grant access permission to all pipelines. Choose any name you want, and copy it as you'll need it in the next step. +Next, create an **Azure Resource Manager** [service connection](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection) to access the subscription and resource group where you plan to deploy the Many Models solution. The resource group should already be created. Mark the option to grant access permission to all pipelines. Choose any name you want, and copy it as you'll need it in the next step. -- Create a [variable group](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=azure-devops&tabs=classic#create-a-variable-group) called **``manymodels-vg``**, with the following variables: +## 2. Create variable group -| Variable Name | Short description | -| --------------------------- | ----------------- | -| DATASET_MAXFILES | Number of sample files to use (1 file = 1 model) | -| NAMESPACE | Unique naming prefix for created resources | -| LOCATION | [Azure location](https://azure.microsoft.com/en-us/global-infrastructure/locations/), no spaces | -| RESOURCE_GROUP | Name of the Azure Resource Group that you'll be using (should be already created) | -| SERVICECONNECTION_GROUP | Name of the connection you created in the last step | -| TRAINING_METHOD | "automl" or "customscript" depending which method you want to use for training the models | -| DEPLOY_ACI | Whether to deploy in ACI (true/false, default false) | -| DEPLOY_AKS | Whether to deploy in AKS (true/false, default false) | -| AKS_NAME | [Optional] Name of the AKS resource you'll use for deploying the models | -| AKS_RESOURCE_GROUP | [Optional] Name of the resource group where the AKS resource is located | - -## 1. Setup Pipeline - -The setup pipeline will: - -- Deploy Azure Machine Learning and the other necessary resources into the resource group you specified. - -- Set up the Azure Machine Learning worskpace, creating a compute target and attaching the AKS cluster. - -- Download as many files as you specified in the `DATASET_MAXFILES` variable and register them as a dataset in AML. - -Create the pipeline as in [here](https://github.com/microsoft/MLOpsPython/blob/master/docs/getting_started.md#create-the-iac-pipeline), selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/1-setup/pipeline-setup.yml](1-setup/pipeline-setup.yml). +The last step you need to do before creating the pipeliens is creating a variable group in Azure DevOps. Instructions on how to create a variable group are [here](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=azure-devops&tabs=classic#create-a-variable-group). -The pipeline run should look like this: - -Stage Deploy Infra with two jobs: IaC Build, IaC Deployment. Followed by stage Environment Setup with two jobs: Deploy AML Compute, Attach AKS cluster to AML, and also stage Data Preparation in parallel with tho jobs: Sample Files Setup, Register Dataset - -## 2. Training Code Build Pipeline - -The training code build pipeline will: - -- Create an Azure Machine Learning Pipeline that will train many models in parallel using the `train.py` script in the corresponding [scripts folder](../scripts/). - -- Publish the AML Pipeline into the AML workspace so it's ready to use whenever we want to retrain. - -Before creating the Azure DevOps pipeline: - -- Make sure the [AML extension](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) is installed in the Azure DevOps organization. - -- Create an **Azure Resource Manager** [service connection](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection) to access the Machine Learning Workspace you created in the setup pipeline before. As you did before, mark the option to grant access permission to all pipelines, and copy the name as you'll need it in the next step. - -- Modify the **``manymodels-vg``** variable group you created before, and add this new variable: +Call it **``manymodels-vg``**, and add the following variables: | Variable Name | Short description | | --------------------------- | ----------------- | -| SERVICECONNECTION_WORKSPACE | Name of the connection to the AML Workspace you have just created | - -Then, create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/2-training-code-build/pipeline-training-code-build.yml](2-training-code-build/pipeline-training-code-build.yml). - -The pipeline run should look like this: - -Single stage with two jobs: Check Training Method, Publish Training AML Pipeline - -## 3. Modeling Pipeline - -The modeling pipeline will: - -- Update the training dataset with the latest version of data. - -- Trigger the many models training by invoking the training AML Pipeline previously published. - -- Group the registered models according to specified tags and maximum container size (500 by default). - -- Deploy each group into a different webservice hosted in ACI and/or AKS. These webservices will all use the same `model_webservice.py` script in the corresponding [scripts folder](../scripts/). - -- [Optional] Deploy the entry point that will route the requests to the corresponding model webservice. This webservice will use the `routing_webservice.py` script in the corresponding [scripts folder](../scripts/). - -Create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/3-modeling/pipeline-modeling.yml](3-modeling/pipeline-modeling.yml). - -The pipeline run should look like this: - -Stage Run Model Training with two jobs: Get Training Pipeline ID, Run Training. After that two parallel stages are triggered with three identical jobs: Deploy Models to ACI and Deploy Models to AKS, with jobs Deploy Models, Register Routing Model, Deploy Routing Webservice - -The deployment stages will be triggered if you have the corresponding variables `DEPLOY_ACI`/`DEPLOY_AKS` in the variable group set to `true`. - -There are two variables you can add to the **``manymodels-vg``** variable group to customize deployments: - -| Variable Name | Short description | -| --------------------------- | ----------------- | -| MAX_CONTAINER_SIZE | Maximum number of models to fit into one webservice container | -| RESET_DEPLOYMENT | Set to `true` to reset existing containers | -| UPDATE_DEPLOYMENT | Set to `true` to update all existing webservices (for config changes to apply) | -| DEPLOY_ROUTING_WEBSERVICE | Set to `false` to avoid deploying the routing webservice | - -## 4. [Optional] Batch Forecasting Code Build Pipeline - -The batch forecasting code build pipeline will: - -- Create an Azure Machine Learning Pipeline that will generate batch forecasts for all the models in parallel using the `forecast.py` script in the corresponding [scripts folder](../scripts/). - -- Publish the AML Pipeline into the AML workspace so it's ready to use whenever we want to do batch forecasting. +| RESOURCE_GROUP | Name of the Azure Resource Group that you'll be using (should be already created) | +| SERVICECONNECTION_GROUP | Name of the connection you created in the last step | +| LOCATION | [Azure location](https://azure.microsoft.com/en-us/global-infrastructure/locations/), no spaces | +| NAMESPACE | Unique naming prefix for created resources | +| DATASET_MAXFILES | Number of sample files to use (1 file = 1 model) | -You only need to create this Azure DevOps pipeline if you want to do batch forecasting. Do it as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml](4-batch-forecasting-code-build/pipeline-batch-forecasting-code-build.yml). +## 3. Create pipelines -The pipeline run should look like this: +There are three pipelines in the Many Models Solution Accelerator: -Single stage with two jobs: Check Training Method, Publish Forecasting AML Pipeline +1. [Setup Pipeline](1-setup/): set up workspace and data +2. [Modeling Pipeline](2-modeling/): training & optionally deploying all the models +3. [Batch Forecasting Pipeline](3-batch-forecasting/): generate batch predictions for all the models -## 5. [Optional] Batch Forecasting Pipeline +Each pipeline is a YAML file that contains all the steps necessary to achieve each mision. The process for creating a pipeline from a YAML file in Azure DevOps is explained [here](https://github.com/microsoft/MLOpsPython/blob/master/docs/getting_started.md#create-the-iac-pipeline). -The batch forecasting pipeline will: +Navigate into each pipeline's folder for specific instructions on how to set them up. -- Update the inference dataset with the latest version of data. +## Customizing the pipelines -- Trigger the many models batch forecasting by invoking the batch forecasting AML Pipeline published in step 4. +There are several things that can be customized in the Many Models Solution Accelerator. -Create the pipeline as you did before, selecting branch **``v2-preview``** and setting the path to [/mlops-pipelines/5-batch-forecasting/pipeline-batch-forecasting.yml](5-batch-forecasting/pipeline-batch-forecasting.yml). +You may want to modify the training and forecasting scripts, specially if you are training using the Custom Script option. +All these scripts are located in [`scripts/`](../scripts/) folder in the repository root. -The pipeline run should look like this: +If you want to configure the compute targets, specify the specifics of your dataset or customize the names of the AML artifacts, +you should go to the [`configuration/`](configuration/) folder inside the MLOps Pipelines section. -Stage Update Data with two jobs: Download New Sample, Update Registered Inference Dataset, followed by stage Run Model Forecasting with two jobs: Get Forecasting Pipeline ID, Run Forecasting +If you want to make changes to the Azure resources deployed, check [`arm-templates/`](1-setup/arm-templates). diff --git a/mlops-pipelines/configuration/README.md b/mlops-pipelines/configuration/README.md new file mode 100644 index 00000000..4d75eac5 --- /dev/null +++ b/mlops-pipelines/configuration/README.md @@ -0,0 +1,63 @@ +# MLOps Pipelines Configuration + +This folder contains all the configuration files that are used inside the MLOps pipelines. + +To customize the names of the AML artifacts, check `many-models-variables.yml`(many-models-variables.yml). + +The rest of the parameters depend on the training method you are using: Automated ML or Custom Script. If you navigate to the corresponding folder you will find the following files: + +- `script_settings.json`: settings for the training/forecasting scripts in the many models [scripts/](../scripts/) folder. +- `train-parallelrunstep-config.yml`: configuration for the training ParallelRunStep. +- `forecast-parallelrunstep-config.yml`: configuration for the forecasting ParallelRunStep. +- `model-deployment-config-aks.yml`: configuration for the model webservice in AKS in terms of container capability and environment variables. +- `model-deployment-config-aci.yml`: configuration for the model webservice in ACI in terms of container capability and environment variables. +- `routing-deployment-config-aks.yml`: configuration for the routing webservice in AKS in terms of container capability and environment variables. +- `routing-deployment-config-aci.yml`: configuration for the routing webservice in ACI in terms of container capability and environment variables. + +## Customizing script settings + +The training and forecasting scripts many models (located in the corresponding [scripts/](../scripts/) folder) receive a settings file as a parameter that contain all the relevant settings related to the dataset format and the training configuration. + +This file is called `script_settings.json`, and the contents are different depending on the training method you are using: Automated ML or Custom Script. + +## Customizing ParallelRunStep config + +All parameters defined in the `-parallelrunstep-config.yml` files are passed directly to the [`ParallelRunConfig`](https://docs.microsoft.com/python/api/azureml-pipeline-steps/azureml.pipeline.steps.parallelrunconfig) build during the creation of the AML Pipeline. + +There you can specify parameters like: + +- `mini_batch_size` +- `run_invocation_timeout` +- `error_threshold` +- `process_count_per_node` +- `node_count` + +## Customizing container configuration + +All four `-deployment-config-` files follow the same pattern. There are three main sections in the YAML file: + +- `computeType`: can be `AKS` or `ACI`. +- `containerResourceRequirements`: parameters that will be used to configure the compute. +- `environmentVariables`: additional environment variables that will be set in the container. These can be used to enable concurrency in the container. See #TODO for more information about this. + +All parameters defined under `containerResourceRequirements` are passed directly to the corresponding `deploy_configuration()` method of the azureml SDK. + +- AKS: [`AksWebservice.deploy_configuration()`](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.webservice.akswebservice?view=azure-ml-py#deploy-configuration-autoscale-enabled-none--autoscale-min-replicas-none--autoscale-max-replicas-none--autoscale-refresh-seconds-none--autoscale-target-utilization-none--collect-model-data-none--auth-enabled-none--cpu-cores-none--memory-gb-none--enable-app-insights-none--scoring-timeout-ms-none--replica-max-concurrent-requests-none--max-request-wait-time-none--num-replicas-none--primary-key-none--secondary-key-none--tags-none--properties-none--description-none--gpu-cores-none--period-seconds-none--initial-delay-seconds-none--timeout-seconds-none--success-threshold-none--failure-threshold-none--namespace-none--token-auth-enabled-none--compute-target-name-none--cpu-cores-limit-none--memory-gb-limit-none-) + +- ACI: [`AciWebservice.deploy_configuration()`](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py#deploy-configuration-cpu-cores-none--memory-gb-none--tags-none--properties-none--description-none--location-none--auth-enabled-none--ssl-enabled-none--enable-app-insights-none--ssl-cert-pem-file-none--ssl-key-pem-file-none--ssl-cname-none--dns-name-label-none--primary-key-none--secondary-key-none--collect-model-data-none--cmk-vault-base-url-none--cmk-key-name-none--cmk-key-version-none--vnet-name-none--subnet-name-none-) + +## Enabling concurrency in container + +As stated in the [documentation](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.webservice.akswebservice?view=azure-ml-py#deploy-configuration-autoscale-enabled-none--autoscale-min-replicas-none--autoscale-max-replicas-none--autoscale-refresh-seconds-none--autoscale-target-utilization-none--collect-model-data-none--auth-enabled-none--cpu-cores-none--memory-gb-none--enable-app-insights-none--scoring-timeout-ms-none--replica-max-concurrent-requests-none--max-request-wait-time-none--num-replicas-none--primary-key-none--secondary-key-none--tags-none--properties-none--description-none--gpu-cores-none--period-seconds-none--initial-delay-seconds-none--timeout-seconds-none--success-threshold-none--failure-threshold-none--namespace-none--token-auth-enabled-none--compute-target-name-none--cpu-cores-limit-none--memory-gb-limit-none-), the `replica_max_concurrent_requests` parameter should be left unchanged to the default value of 1. + +However, if you want to enable concurrency in the containers you can follow this instructions. This can be useful to remove possible bottlenecks in the routing webservice for heavy workloads. **Please notice this is a preview feature, use it at your discretion**. + +1. Set `replica_max_concurrent_requests` to the number of worker processes you want to enable in the container. + +2. Add the following environment variables to the `environmentVariables` section in the config file: + +- `WORKER_COUNT`: set to the same as `replica_max_concurrent_requests`. This is the number of worker processes (gunicorn+flask) that will be spun up. +- `MKL_NUM_THREADS`, `OMP_NUM_THREADS`: number of threads per worker. These parameters are designed to protect neighbour containers, as by default they are set to the number of CPU cores on the machine. You need to check what is relevant for your ML framework. +- `WORKER_PRELOAD`: `true` flag can be set to enable shared memory (might cause issues with some models, specially Tensorflow/Keras). + +If you have a use case that could benefit from this and need any further guidance please contact Azure Machine Learning Product Group. From 4db384aba96650ace9cb46326d429924d819a764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 15 Oct 2020 13:31:16 +0200 Subject: [PATCH 23/34] Split READMEs and add Details pages, fix typos and links --- mlops-pipelines/1-setup/Details.md | 18 ++ mlops-pipelines/1-setup/README.md | 12 +- mlops-pipelines/2-modeling/Details.md | 173 +++++++++++++++++ mlops-pipelines/2-modeling/README.md | 181 +----------------- .../3-batch-forecasting/Details.md | 36 ++++ mlops-pipelines/3-batch-forecasting/README.md | 37 +--- mlops-pipelines/Details.md | 40 ++++ mlops-pipelines/README.md | 40 ++-- mlops-pipelines/configuration/README.md | 32 ++-- scripts/README.md | 6 + 10 files changed, 329 insertions(+), 246 deletions(-) create mode 100644 mlops-pipelines/1-setup/Details.md create mode 100644 mlops-pipelines/2-modeling/Details.md create mode 100644 mlops-pipelines/3-batch-forecasting/Details.md create mode 100644 mlops-pipelines/Details.md create mode 100644 scripts/README.md diff --git a/mlops-pipelines/1-setup/Details.md b/mlops-pipelines/1-setup/Details.md new file mode 100644 index 00000000..99d10be8 --- /dev/null +++ b/mlops-pipelines/1-setup/Details.md @@ -0,0 +1,18 @@ +# 1 - Setup Pipeline - Details + +## Deploy Infrastructure + +The first stage of the pipeline will deploy into Azure all the necessary infrastructure to run the Many Models Solution Accelerator. + +If you want to customize the Azure resources deployed, you can modify the ARM templates and parameters under [`arm-templates/`](arm-templates). + +## Environment Setup + +During the environment setup: + +- A compute target will be created to run training and forecasting. +- An existing AKS cluster will be attached for model deployment, if defined. This will only happen if the variables related to deploying in AKS are set (see [the section about deployment](../2-modeling/Details.md#deployment-optional) in the modeling pipeline for details). + +## Data Preparation + +The pipeline will download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../#2-create-variable-group), split them, and register them as train and inference datasets in AML. diff --git a/mlops-pipelines/1-setup/README.md b/mlops-pipelines/1-setup/README.md index c78c650d..0da9a46b 100644 --- a/mlops-pipelines/1-setup/README.md +++ b/mlops-pipelines/1-setup/README.md @@ -3,15 +3,15 @@ The setup pipeline will: - Deploy Azure Machine Learning and the other necessary resources into the resource group you specified. - -- Set up the Azure Machine Learning worskpace, creating a compute target and attaching the AKS cluster (if needed). - -- Download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../README.md/#2-create-variable-group), and register them as a dataset in AML. +- Set up the Azure Machine Learning worskpace. +- Download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../#2-create-variable-group), and register them as a dataset in AML. ## Instructions Create the pipeline as explained in [here](https://github.com/microsoft/MLOpsPython/blob/master/docs/getting_started.md#create-the-iac-pipeline), selecting branch **``v2-preview``** and setting the path to [`/mlops-pipelines/1-setup/pipeline-setup.yml`](pipeline-setup.yml). +Then, run the pipeline and wait for it to finish. + ## Result The pipeline run should look like this: @@ -35,6 +35,4 @@ Containing the following stages and jobs: ## Details -If you want to customize the Azure resources deployed, you can modify the ARM templates and parameters under [`arm-templates/`](arm-templates). - -AKS cluster will be attached only if the variables related to deploying in AKS are set (see [the section about deployment](../2-modeling/README.md#deployment) in the modeling pipeline for details). +If you want to learn about the details and ways to customize the setup pipeline please read the [details page](Details.md). diff --git a/mlops-pipelines/2-modeling/Details.md b/mlops-pipelines/2-modeling/Details.md new file mode 100644 index 00000000..1161a709 --- /dev/null +++ b/mlops-pipelines/2-modeling/Details.md @@ -0,0 +1,173 @@ +# 2 - Modeling Pipeline - Details + +## Data Update + +The data update stage is there for demonstration purposes only, as the Orange Juice dataset is not going to change. +But in a real scenario the training dataset would be updated before training to incorporate the latest observations. + +If you change the `DATASET_MAXFILES` variable in the [variable group](../#2-create-variable-group) after running the data preparation step in the previous pipeline, this step will update the training dataset with the new number of files. + +## Training + +During the training stage, three main tasks are performed: + +- Create an Azure Machine Learning Pipeline that will train many models in parallel and publish it into the AML workspace. +- Trigger the many models training by invoking the training AML Pipeline previously published. +- Register the models into the AML workspace. + +The training will be performed using the `train.py` script in the corresponding [scripts folder](../../scripts/). +If you are using the Custom Script version, you should modify that script to meet your needs. + +In both versions, AutoML and Custom Script, script settings are read from the `script_settings.json` file in the corresponding [configuration folder](../configuration/). These settings are right now based on the orange juice dataset. You can modify them if you want to use a different dataset. + +#### Customizing tags in the model registry + +When registered in the AML workspace, models are tagged with the model type ("lr" or "automl"), and the ID columns ("Store" and "Brand" in our example). + +But if you have additional columns in you dataset that categorize you model (for example, a "City" column that applies to each of the stores you have), this can be specified in the [script settings](../configuration/#customizing-script-settings) so this tag is also added to the model. To do this, we would add the following line to the `script_settings.json` file: + +``` +{ + ... + "tag_columns": ["City"], + ... +} +``` + +We do not have a "City" tag in our example dataset but have created three syntetic tags "StoreGroup10", "StoreGroup100" and "StoreGroup1000" that we use to showcase this functionality. + +#### Dropping columns from dataset before training + +Some columns in the dataset might be used for identifying or tagging the model, but shouldn't be considered in training. +If that's the case, there are three different settings in the [settings file](../configuration/#customizing-script-settings) you can use: + +- `drop_id`: to drop the ID columns before training +- `drop_tags`: to drop the tag columns before training +- `drop_columns`: for any other additional column you want to drop before training + +For example, setting these values to: + +``` +{ + ... + "drop_id": true, + "drop_tags": true, + "drop_columns": ["Revenue"], + ... +} +``` + +will drop all ID columns, all tag columns, and also the "Revenue" column. + +#### Customize ParallelRunStep configuration + +You can also modify the configuration for the ParallelRunStep, more details [here](../configuration/#customizing-parallelrunstep-config). + +## Deployment [Optional] + +Three tasks are involved in the deployment stage: + +- Group the registered models according to specified tags and maximum container size (500 by default). +- Deploy each group into a different webservice hosted in ACI and/or AKS. We call these "*model webservices*". +- [Optional] Deploy the entry point that will route the requests to the corresponding model webservice. We call this "*router webservice*". + +All *model webservices* will use the same `model_webservice.py` script in the corresponding [scripts folder](../../scripts/). + +The *router webservice* will use the `routing_webservice.py` script in the corresponding [scripts folder](../../scripts/). + +#### Enabling deployment + +Deployment of models for real-time forecasting is optional and disabled by default. +To enable it, you must add a `DEPLOY_ACI` or/and `DEPLOY_AKS` variable to the [variable group](../#2-create-variable-group) +and set them to `true`. This will trigger the corresponding deployment stage. + +Deploying in ACI (Azure Container Instances) is only recommended for development or testing pruposes, in a system in production you should use AKS (Azure Kubernetes Service) instead. In that case, you must also set variables to identify the AKS cluster you will be using. + +These are the variables you have to set if you want to enable deployment of models: + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| DEPLOY_ACI | Whether to deploy in ACI (`true`/`false`, default false) | +| DEPLOY_AKS | Whether to deploy in AKS (`true`/`false`, default false) | +| AKS_NAME | [Optional, only if DEPLOY_AKS is `true`] Name of the AKS resource you'll use for deploying the models | +| AKS_RESOURCE_GROUP | [Optional, only if DEPLOY_AKS is `true`] Name of the resource group where the AKS resource is located | + +When you enable AKS deployment, make sure you run the "Environment Setup" stage of the [setup pipeline](../1-setup/) before launching this pipeline, as the AKS cluster needs to be attached to the AML workspace first. + +#### Changing the container size + +By default, models are packed in groups of 500 and deployed in a single webservice container that will pick the correct model to generate predictions based on the information provided in the request body. + +But you can change this behaviour by adding the following variable to the [variable group](../#2-create-variable-group): + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| MAX_CONTAINER_SIZE | Maximum number of models to fit into one webservice container | + +Decreasing the maximum contaniner size will increase the number of webservices deployed, while increasing the size will make the models fit into less webservices. The maximum size supported for the moment is 1000. + +#### Disabling the router + +Since there is a limit in the number of models that can be deployed in the same webservice (see section above), when deploying many models we will most likely end up with several endpoints, each of them able to make predictions for different models. + +By default, a router webservice is deployed to act as an entrypoint for all the requests, forward them to the appropiate model endpoint, and return the response back to the user. Sending a GET request to the router will return the mapping table it's using. + +But you can disable the deployment of the router webservice by adding the following variable to the [variable group](../#2-create-variable-group): + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| DEPLOY_ROUTING_WEBSERVICE | Set to `false` to avoid deploying the routing webservice | + +#### Customizing container configuration + +The parameters used to configure the containers (AKS or ACI) are read from files placed in the corresponding [configuration/ folder](../configuration). + +The files for the model container are: + +- AKS: `model-deployment-config-aks.yml` +- ACI: `model-deployment-config-aci.yml` + +The files for the router container are: + +- AKS: `routing-deployment-config-aks.yml` +- ACI: `routing-deployment-config-aci.yml` + +For more details on how to customize container configuration check [here](../configuration/#customizing-parallelrunstep-config). + +#### Customizing the update behaviour + +In the third stage of the pipeline, models are deployed in a *smart way*, meaning that only models that have changed since last deployment are updated. New models are deployed, new versions are updated, models that have been deleted are removed, and the rest of them remain unchanged. + +This means that if you change the deployment configuration file, these changes will only be applied in the webservices that contain new/updated models. If you want the new configuration to be applied to all webservices, you can do so by setting the `UPDATE_DEPLOYMENT` variable in the [variable group](../#2-create-variable-group). + +If you want to resize the containers to allow a higher o lower number of models per webservice, you need to reset the deployment via the `RESET_DEPLOYMENT` variable. Please notice that webservices will not be available during this redeployment operation. + +To sum up, the two variables that you can add to customize update behaviour are: + +| Variable Name | Short description | +| --------------------------- | ----------------- | +| RESET_DEPLOYMENT | Set to `true` to reset existing webservices (to resize containers) | +| UPDATE_DEPLOYMENT | Set to `true` to update all existing webservices (for config changes to apply) | + +#### Customizing grouping + +By default, models are packed in groups of fixed size following the order they have in the model registry. + +If you want to **sort them before splitting in groups** of fixed size, you can set the order criteria in the `AML_MODEL_SORTING_TAGS` variable defined in the [`many-models-variables.yml`](../configuration/many-models-variables.yml) file. +For example, adding the following: + +``` + - name: AML_MODEL_SORTING_TAGS + - value: Store +``` + +would sort the models by store before splitting, ensuring that in most cases, the three models for each store (corresponding to the three different brands) would fall into the same webservice. + +If you want to **split them by any particular criteria** you can specify that as well in the [`many-models-variables.yml`](../configuration/many-models-variables.yml) file, using the `AML_MODEL_SPLITTING_TAGS` variable. For example, if you had a "City" tag, adding the following: + +``` + - name: AML_MODEL_SORTING_TAGS + - value: City +``` + +would make each webservice contain models belonging to one specific city. We do not have a "City" tag in our example dataset but have created three syntetic tags "StoreGroup10", "StoreGroup100" and "StoreGroup1000" that group stores in groups of 10, 100 and 1000 that you can use if you want to test this functionality. diff --git a/mlops-pipelines/2-modeling/README.md b/mlops-pipelines/2-modeling/README.md index e51f2bf7..d0a475f8 100644 --- a/mlops-pipelines/2-modeling/README.md +++ b/mlops-pipelines/2-modeling/README.md @@ -12,20 +12,22 @@ Before creating the Azure DevOps pipeline: 1. Make sure the [AML extension](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) is installed in the Azure DevOps organization. -2. Create an **Azure Resource Manager** [service connection](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection) to access the Machine Learning Workspace you created in the setup pipeline before. As you did before, mark the option to grant access permission to all pipelines, and copy the name as you'll need it in the next step. +2. Create an **Azure Resource Manager** [service connection](https://docs.microsoft.com/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection) to access the Machine Learning Workspace that was created when you ran the [setup pipeline](../1-setup/). As you did [when you created a service connection before](../#1-create-service-connection), mark the option to grant access permission to all pipelines, and copy the name as you'll need it in the next step. -3. Modify the **``manymodels-vg``** [variable group you created before](../README.md/#2-create-variable-group), and add two new variables: +3. Modify the **``manymodels-vg``** [variable group you created before](../#2-create-variable-group), and add two new variables: | Variable Name | Short description | | --------------------------- | ----------------- | | SERVICECONNECTION_WORKSPACE | Name of the connection to the AML Workspace you have just created | | TRAINING_METHOD | "automl" or "customscript" depending which method you want to use for training the models | -Then, create the pipeline as you did before in the [setup pipeline](../1-setup/), selecting branch **``v2-preview``** and setting the path to [`/mlops-pipelines/2-modeling/pipeline-modeling.yml`](pipeline-modeling.yml). +Then, create the pipeline as you did in the [setup pipeline](../1-setup/), selecting branch **``v2-preview``** and setting the path to [`/mlops-pipelines/2-modeling/pipeline-modeling.yml`](pipeline-modeling.yml). + +Run the pipeline and wait for it to finish. ## Result -The pipeline run should look like this: +The pipeline run should look like this (deployment stages will have run or not depending on your configuration, read more [here](Details.md#enabling-deployment)): Date: Thu, 15 Oct 2020 13:53:53 +0200 Subject: [PATCH 24/34] Fix typos and links in the documentation --- mlops-pipelines/1-setup/Details.md | 2 +- mlops-pipelines/1-setup/README.md | 2 +- mlops-pipelines/2-modeling/Details.md | 10 +++++----- mlops-pipelines/2-modeling/README.md | 2 +- mlops-pipelines/3-batch-forecasting/Details.md | 4 ++-- mlops-pipelines/README.md | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/mlops-pipelines/1-setup/Details.md b/mlops-pipelines/1-setup/Details.md index 99d10be8..a03a8670 100644 --- a/mlops-pipelines/1-setup/Details.md +++ b/mlops-pipelines/1-setup/Details.md @@ -15,4 +15,4 @@ During the environment setup: ## Data Preparation -The pipeline will download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../#2-create-variable-group), split them, and register them as train and inference datasets in AML. +The pipeline will download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../#3-create-variable-group), split them, and register them as train and inference datasets in AML. diff --git a/mlops-pipelines/1-setup/README.md b/mlops-pipelines/1-setup/README.md index 0da9a46b..642c093d 100644 --- a/mlops-pipelines/1-setup/README.md +++ b/mlops-pipelines/1-setup/README.md @@ -4,7 +4,7 @@ The setup pipeline will: - Deploy Azure Machine Learning and the other necessary resources into the resource group you specified. - Set up the Azure Machine Learning worskpace. -- Download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../#2-create-variable-group), and register them as a dataset in AML. +- Download as many files as you specified in the `DATASET_MAXFILES` variable in the [variable group](../#3-create-variable-group), and register them as a dataset in AML. ## Instructions diff --git a/mlops-pipelines/2-modeling/Details.md b/mlops-pipelines/2-modeling/Details.md index 1161a709..c4b2088c 100644 --- a/mlops-pipelines/2-modeling/Details.md +++ b/mlops-pipelines/2-modeling/Details.md @@ -5,7 +5,7 @@ The data update stage is there for demonstration purposes only, as the Orange Juice dataset is not going to change. But in a real scenario the training dataset would be updated before training to incorporate the latest observations. -If you change the `DATASET_MAXFILES` variable in the [variable group](../#2-create-variable-group) after running the data preparation step in the previous pipeline, this step will update the training dataset with the new number of files. +If you change the `DATASET_MAXFILES` variable in the [variable group](../#3-create-variable-group) after running the data preparation step in the previous pipeline, this step will update the training dataset with the new number of files. ## Training @@ -78,7 +78,7 @@ The *router webservice* will use the `routing_webservice.py` script in the corre #### Enabling deployment Deployment of models for real-time forecasting is optional and disabled by default. -To enable it, you must add a `DEPLOY_ACI` or/and `DEPLOY_AKS` variable to the [variable group](../#2-create-variable-group) +To enable it, you must add a `DEPLOY_ACI` or/and `DEPLOY_AKS` variable to the [variable group](../#3-create-variable-group) and set them to `true`. This will trigger the corresponding deployment stage. Deploying in ACI (Azure Container Instances) is only recommended for development or testing pruposes, in a system in production you should use AKS (Azure Kubernetes Service) instead. In that case, you must also set variables to identify the AKS cluster you will be using. @@ -98,7 +98,7 @@ When you enable AKS deployment, make sure you run the "Environment Setup" stage By default, models are packed in groups of 500 and deployed in a single webservice container that will pick the correct model to generate predictions based on the information provided in the request body. -But you can change this behaviour by adding the following variable to the [variable group](../#2-create-variable-group): +But you can change this behaviour by adding the following variable to the [variable group](../#3-create-variable-group): | Variable Name | Short description | | --------------------------- | ----------------- | @@ -112,7 +112,7 @@ Since there is a limit in the number of models that can be deployed in the same By default, a router webservice is deployed to act as an entrypoint for all the requests, forward them to the appropiate model endpoint, and return the response back to the user. Sending a GET request to the router will return the mapping table it's using. -But you can disable the deployment of the router webservice by adding the following variable to the [variable group](../#2-create-variable-group): +But you can disable the deployment of the router webservice by adding the following variable to the [variable group](../#3-create-variable-group): | Variable Name | Short description | | --------------------------- | ----------------- | @@ -138,7 +138,7 @@ For more details on how to customize container configuration check [here](../con In the third stage of the pipeline, models are deployed in a *smart way*, meaning that only models that have changed since last deployment are updated. New models are deployed, new versions are updated, models that have been deleted are removed, and the rest of them remain unchanged. -This means that if you change the deployment configuration file, these changes will only be applied in the webservices that contain new/updated models. If you want the new configuration to be applied to all webservices, you can do so by setting the `UPDATE_DEPLOYMENT` variable in the [variable group](../#2-create-variable-group). +This means that if you change the deployment configuration file, these changes will only be applied in the webservices that contain new/updated models. If you want the new configuration to be applied to all webservices, you can do so by setting the `UPDATE_DEPLOYMENT` variable in the [variable group](../#3-create-variable-group). If you want to resize the containers to allow a higher o lower number of models per webservice, you need to reset the deployment via the `RESET_DEPLOYMENT` variable. Please notice that webservices will not be available during this redeployment operation. diff --git a/mlops-pipelines/2-modeling/README.md b/mlops-pipelines/2-modeling/README.md index d0a475f8..bc5eab97 100644 --- a/mlops-pipelines/2-modeling/README.md +++ b/mlops-pipelines/2-modeling/README.md @@ -14,7 +14,7 @@ Before creating the Azure DevOps pipeline: 2. Create an **Azure Resource Manager** [service connection](https://docs.microsoft.com/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#create-a-service-connection) to access the Machine Learning Workspace that was created when you ran the [setup pipeline](../1-setup/). As you did [when you created a service connection before](../#1-create-service-connection), mark the option to grant access permission to all pipelines, and copy the name as you'll need it in the next step. -3. Modify the **``manymodels-vg``** [variable group you created before](../#2-create-variable-group), and add two new variables: +3. Modify the **``manymodels-vg``** [variable group you created before](../#3-create-variable-group), and add two new variables: | Variable Name | Short description | | --------------------------- | ----------------- | diff --git a/mlops-pipelines/3-batch-forecasting/Details.md b/mlops-pipelines/3-batch-forecasting/Details.md index 472d067a..b9a61cc0 100644 --- a/mlops-pipelines/3-batch-forecasting/Details.md +++ b/mlops-pipelines/3-batch-forecasting/Details.md @@ -1,11 +1,11 @@ -# 2 - Batch Forecasting Pipeline - Details +# 3 - Batch Forecasting Pipeline - Details ## Data Update The data update stage is there for demonstration purposes only, as the Orange Juice dataset is not going to change. But in a real scenario the dataset would be updated before launching batch forecasting to incorporate the latest observations and make predictions into the future. -If you change the `DATASET_MAXFILES` variable in the [variable group](../#2-create-variable-group) after running the data preparation step in the previous pipeline, this step will update the inference dataset with the new number of files, but will fail to make forecasts for some models if no training has been run for these new files. +If you change the `DATASET_MAXFILES` variable in the [variable group](../#3-create-variable-group) after running the data preparation step in the previous pipeline, this step will update the inference dataset with the new number of files, but will fail to make forecasts for some models if no training has been run for these new files. ## Batch Forecasting diff --git a/mlops-pipelines/README.md b/mlops-pipelines/README.md index 339abea4..ec85cd8a 100644 --- a/mlops-pipelines/README.md +++ b/mlops-pipelines/README.md @@ -40,6 +40,6 @@ Each pipeline is a YAML file that contains all the steps necessary to achieve ea Navigate into each pipeline's folder for specific instructions on how to set them up. -## 4. [Optional] Customizing the pipelines +## [Optional] Customizing the pipelines There are several things that can be customized in the Many Models Solution Accelerator. Please read the [details page](Details.md) if you want to find out more. From 182e74c71044bd63f7fa53c69cf5cda31d7ae253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 16 Oct 2020 14:09:39 +0200 Subject: [PATCH 25/34] Update flow map --- .images/Flow_map.png | Bin 313320 -> 338051 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.images/Flow_map.png b/.images/Flow_map.png index e895d0bcc9984b090cbcd493f7ef9eca6d316b96..2b22eada10964a499ba0de9c20492c2a36842071 100644 GIT binary patch literal 338051 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

Aed+1)!(Gs4*NzZ4P_X|sv8AKTmreFy zqyGMk(v{3c5E8u%`R4@r(t#JdexNX%hWu|Qg2zw%imZR#n1>pR9Px+BW5evE4|D5t1b=N`7<7e)Tnm8%!uMK48|>5hU$VaP0KItOnO1(`<#cLB zonyu+BBRPUoQ^A}M>3(n6CS`d9yi{QDNn*$y3 zava&EOG?kL%Grk16B3w#({R^b>CA5&OMQK5PX7;2XBidM|3-Ti5ox5676hcF8)@lo zkd#gth6ZUENn`W8~fS&v&-u)!AwHggdb^X z`J2v7tE#IF>lepoVfhlGj!*$!JUvAbOeQI37Z=J-vnjv4?wYrGT|j26HW8YYrHpD1 zLl^oVOONC7q_B)?|N| zt*}gR1kGvcYR=)%mVPG{)(Cp#EC@QofBRa2{@jiH{j^(tF10m*8!SSfg_ zhGas0>rE*K6G?1{Y~M!_&Q?xFH~#!=HIUZyD{9-0<9gJ4I; z7lPHkf3iFe05oR|COhLr1FV4PAqxU-W!&VX-#;Cbz;b_nw9tl+RBTQqn3*U`f557h zd?NGHPgF?^@z}}Vi{egECu=HOD$poARM)kJKz3pYzOT>jeR5q5$JG=5h^VRXb+$~D z0QaMjWI9f46=`CjXysr5DM*$ZsHV|t62xIJ-De^!IWzYIVtq!)u^x&_J}Wrc@aH=w zD#H)6L982?I$`9=knS1DC&Q{Y)l0ztjHc=hebKhE(gA)hWxs##0*z##e}?k~!cTF# zBquQ0v5jTt;tPR5Y~0ruK{K3lk)_0d!(PFhgVlNzQDGRmx_f&bVNBGB$`rPIWC;#b9x#wN(;adrPTrK5mkcjdEIebuLW;~a!sBIZD z#p+9fDeeARO~1A8#0m;GIIht#chzlUZetMKg8fFUpe2iZ=7T~VHr_uW=G%+4f7VsJ%V zOQnqtI#Azbf43wdqd%@{lz*9Cbek!NZO}-O0}Yx460B$kT7slD!~vorwoJPdQsmwJLXXILRR=%x+!uZ@sv7O( zC9DUf*mbr)_4^nvMv}rdFiQ~-?_cs9Ai((mk~H$Oit3ZIR?MQcJqeAjobFl0)&58= zF2!6betcL2`?BuvwiJZ4dvtKthTS(kgE!lMG(x(RWH=g>T@i?iZ{gxwL$h`2uAH^K z$IQaQLI6|>zT20$o`t51m={R(icx}AuOM@!%V*9t*2VIjhJ}g=_Hz7!mYdCAY(T9+FxI^dKqfRd=VLY@tIwtdeOU%_0Hs*Qh zbiGynNB|J@0l+=*wgG#U0Mx4`r!T5L%58k9Xiy}6lisu$o3*|pv@tMrf=MxG%i8{< zw;!yYbtVY0S3$5aUB)Pu9tvE~N$fEIt03l9Ddoe)Drs0 zyFtTj*t(*RW*`D}MaNa6Qh6H^Sj4eXHv@2a8R+WzkWXI^Iz|ih@oiY z+Qs62gJyy#Pvelr3H;sw?+>~JzGRKV*aN0iLi*1Q>gx1Y6b!iciO$bs@9R#M$HE=W zlEcMUIGe0@iJL%PzsSeuP}sY~2d50qz?{yWkm6eM3c51d>5g8Rjr|YaF0feLR`2m; zh`&V$4n~V=uhGe1Kkg0;IF$C5{+)5uQIl;tOfTL0QI*YMro={%j}svlHKrExs_IR7 zUH1898$Pgc1^Lgs8DrPT7yYO)nzZ?*`(2n)^N^))ky!tjNjx_+GynU=H#Lr12e}b)z{y_# zvoomGZO+V*p!+6PE?6rTes|n*Nj+zS2KWi1$|5>AjC$Nb3z8+GRH9kYm6v$%_)$ZB zyV`5h5Wy(GU0C{U^eWtszsqFFaapA`J-*LEJ3=WJG}jt^jkKY6E9>*$T`)E`mpYt* zNy1E$27^ps`WRyjEzUq8NkF^V3ofhH-6R;ui)Mq6ib0mL2#l!K5w4biUboAqlhMWE zirdmS+CX_??loHBTS^-FRNPR0O0v#z%K$<8Blf*4kSo^%P;Gy&P9h zWOLumwYetoDD8>D}?0-i@4qmHa;yy*3Ivp!b@He6sp}}8r%3!W!K-^z zt&3S*AkhNI+;24s8GuNTW*VkE>@Za)6Ms9GdTk?ydU#k?9I|;3U^96J$E-7s($QSr5G!E$z*krNV2ixuV=le%NRC0x68LTUBq!`)Smn7)(I`T#!D7-G|O3ZEMUjL`67OXhGR z!fwYkt+n&+%av!^k;1`hJ$anEIxzDR)AYq1RR&y@3B}82r$qm_Y9#}EG_K_s80bBO zKpU-08jHYEB%)x4K_j0GQh_DrzmfnW-rU?0#jcRO+%$R*6b?)s{VQwRx3VR&hR@o1 z<(mNOveCJy>_BmpM@4lXrf{jhI2`li9+w^;Gcr!KiTH^57t0`YR0wwM9aS?sn;eP8 z*8ZqYJHE;cC_r(V;kD5(*M9@Fjyq{C8$rZ&9sjn5DlH~H$f-Kp&Pr$-7^kgHXMIWy zIb2L|Fk1(OH0-tF=E6<}!q`ve?jRMX$NlR?m{FZOEMv2Fn|~^|DahQj-|#~{@7YAd z#92N`PcrXF;@Bi;cNg`@qnU>RCo@XL;(FN>ySq+)`RfGD{Zm2Chs{}ymYQ;e6oyuw zN!%~rb>HHZQpWkdu4sh?b7Qz{*e@=gZgP%X2k-2kjBux%4Eidl)d!pEDPq00S#2ZT z?2qavby;$ZX&6vDl9Nyrm+!{hbdQWkRYg1tCki<0FM1s)`jm-$!t8yM^{PEJjN`RJ z*|Nhs{+w4?f56_H=wW*foqp2jxQJWkJe44sH`@`iGx%}%iZXMexe_>&%8Aj1Q)6xP z_4uD3zRROOUPYkX|Ev9R@2!rPzNl8d+|TI}^efFu(=m4)lBAs|EQHQ3t1``j=hUBX zZ0ucCH)%TZ!x9-X)MrYY%{o=YM0Y?3@0dECU3Z~BGHCsl)qT7I?LyUs1ECSIxS{1g z3XYjy(wwYf^!u}j{00`aFyIV~T2&lPTgXCpz2#RW1)OYD6l_|X2P1xjl{zXpcx=Wc z(HHo}Oc4{tswIJ+A0wBKY{q&GYddCB-~-i-J^)2Wn1@G1dH7(VIyxyXv>?Onjc%RY zjNNj{xS*z+8!r@Eynf*x9UEJUBrrHMcmj-FGxPIln)09s&dx?aKah@vscc1-sT{J3 zs;Z)8Z?J=4DWb9xE&)N5pvUFL$$GcdNT_Jg(b3?vTg8Y-r>q^g&Pp@VfAO#rTE8M` zYikRVRYz2{9SG`^^lA&xaJNB5)_ME)NMPMgu30V2GR8Ewz+^U@$bGfedd?V_EKhL0 zyS|H-di3LU+BVz{Pr{d#-}y$-r1D`lU~-1{eoabvLX_RQ|13I3YUW`Xp?Ntn6sONx zWTp`$rz;Iuwzf->3QJ0+nPGI|If)_u+FqUJlD^U1dp+ADx)tAtG(fuPoKwSqTk>s{ zdU8_UhMCTvp^@GI$IbES=@9ke6;bmYWRds1#wqnSBEUouRAk=Gki*|D9ZO>cS2%8K zeusoX7H&fl=vN2WNi2NhW${VlkEx$_f02XtLZyjRxu59z`7Si_R&4!G zgDAm2h#uV_=)**GX8ZLV@viNz4#HRYnk;I5c zrpU?zC4m&F9R1hX+2q9dE)n$|4RrT*?$;T#*!T3WJt;wVRAwhhqxtwB;a;k-*uM%l zj8oBS{@^+@luudFEk(qSVhz6cEVRDpF5NH^7Lhf_;@o$Um3l#@i1iI`fAQYJ0yR_J zRx!b8DSil=>}8?0_*q`on>if!O;xoNRuC#~$@m~ZLT8!SAc2Hxl)0lS3f`rWu z?DzmW5OSd33DT?Eddf_1b_J7x&{?pSLEf*eG*0W2zp7(vmHlM>4CQ4VFiva7^Ihcz ze*TNQ!LtU7Q|#e%PT6{~Z~CY2$-K@#lcsxJ@{;g4d_j$EVB+^MA5P5L)UPx~O!rww zJp3`{**jQQFn}&dOBR^5S0I4N*S z?mjEX3^Qgp+~<5l7A#s^aU>2WhS<8U;xp^Lh-w;j;kKK61#N%4u)ifM*KJoIw_f)P zOl0>^0F{4z+)~{!#lua5lvTKs?I-UUj~Ujh25?ED##L2SvAX@EHvOJ~b^QUGQ0 z(zok8nk0w{fXHXBz}?Nq8v_Ly6JtNeY&ZKNEG%t%TN<5M-6pA-`mzI=gu<4V^nmH1 zfnf2@X+u*x!}OU6Y`yv`xN-XT-iIIFH3#A^iGA!Bst|o{;0Df_cMZ;P?zOe7ZkX}! z1tDCG3+lMKVSC7e#WG|}zu?^k<6OCJRApWs;87uCWB(~g}f`8i0Yq;u*p5D-T=4f5=6OUlB=~M{ln|MWEz1JEl%K2h|Z;X z?fzPxC=~g6^rDe3iYy|rjUXVsijC%QcwA)i*H=xpq3Fo7aerllgVr`Hfn*C-IN9-2Uek>{??jL z^j%;x5Vj|Sq|nGEW{#w(SafzOzX2ygYV+3-+TFLl1ixddR9)n&eM9u3z2cmP4p%`w z_aCO*C(wF6Vq=4|qY%EloK*f$P{1`0(_6|^nC&U--^gSU(Q|sHEIlrwk~g%;o8!eH zl2JgXuc9~NAePzghM^S+c8(u)0@S3S>3}dcBU~G2vf`IUYQCBAQ7%aClXM`%NY+1X zb#l!J7nE$Z_~I!d`1zwDcZ)Cc^(&*->dS&ZN|t;S+!mS>-FEEz{94CKHF)_>Z*WY1UZZgF$U z(!t|#IC;U<()_O3@%p5%NP)>a8~)Hu+ghErcGCVl!Dii}UEX_?=IP2g`}s^J z@d*gtF_DC##+*|Ni|mZhr=kLv+F!r0qDl_ryhduqzXx9VL__X^;N{)G&#*R-0U?9G zlo9Cj(;`<)3;(8YMJ+ph_6?Y$si^4jxSmkVmgxqUF4kEaO;pJ;cXlD7p0`qlD$vpt z?$m1ac5^6eC}&NMngNTHlCF8Sp+Z4vqth>v)&x&3cJpDSJu6BZF8<5IdOYnaKH49J*`Jr(0 zTxov=8d%+%<$Y`j5P_r=+*=9;PvLBSZte(mlL)=-rq&l!%4*>ZiHH*-vBcPSdKb{S zanyX=H>D^Xp=scS2S6yfxa?O-B-U!i2i<>o07L$H_YJB5)#jQQhkXb7661V(&rRan zD~rG&W$z0+2I!*bb$1`v{U+*#>)Pr2rL(ViWbRe?86HJ1747Y#2o;U`i1sD(2gRNq zg7iE=M!84AfNWG;UjuHcaiO6u?74~9^=xOQ1$EU_QlK%Sr|Hit9rcm}O#I%5G$1i2 z-po>hq@`5^QN7??{*?Q;(`1vFxHT^H6IIpbkBmZyXJcO7p$f6n;!y+7W#{h8I7vmV zW~fQtFUJXSb11ux5l(=J*;u+@lYba#2HH8|aEIG=5t`g0+QC;25klAJvM_z+$UuY1 z$MXW=-qAGvO49-C<(TT~|I+M>h3 z_g?eh60t)Zad0w1g4{??&ntpg(C8k(sxRMFV@yEvmzI)UBJLwH?W6-W8KjMB7ED9X zRD%UMYC7PE=65)JYxKIyR6JVGR`*5o;4-i>pvxaoK&nz3EWMeJ8XK?xcWO7flas^g zZ!{nvEE>!b@J~{>sq2eQ40;}~^jCG&e87c_rbto3#Hj4rqlnG-VDulsVLz`F-NNFu zJFhN-oeOWs+;lzPt`D;g$=#+%u+#c~(LHHRF(cYiYL5;ibSrwTSRjn}a z;BRT2j_w9I9kbg}U8+Kl+MvXTCDp>2K|nl~P-i z(5RCxN)#Q|V7^l5-N|iVRCi6$6ss3ZO)gmgxd=%5&-I%qjmP4&279)bvVMd3xIXUf z6$##5ya|-W-NVJh-)nGfca5UEOyc@Z-&bVb>Cx@+enIF5xvL=VzZ0zjzdPj@Knr~| z3N9MahcQmEH1p6l&EewV#wwe+qwVS1GX&%^Dm_I4JMDdiexf%NBn1 z+ZX-}cBK9f>?k~Hc^Y(T7f8^)G@iZ9OV`&{#Dkl+;Ba-IrYATMNbQk}CPa{^KM9M~ zteq=f>@Ktj(^A?-a&&}}#l+f(NeAgiH6nKzQfz+TNwD`mOPOfIsaSdFW$}I&C3H(? z*RUS+Cm7*#c>WIseVVpYNvc`0&?Z#P1@b$#+O6v^1oxDW8my=oQ@Wxg@c?|Y{FuH+ z&}kCn@tp(vj#;<+OWTkmJ>~wL51(B2j9GYdlfvQ`ynt%o!9H~g&gn5byIyAXq#9idnvzXvCg+VJskJPDhd%jd_+UCYuv(r4tMsR?@i^% z24oEbwY|YW;!R)5$gqGNfxlryAR(ns*=A?wt6Aan=DaIkT>9hXqJ4jq_jwLGmwj_N zl%0?JWc(i*BH`0{!Na^y1Ns1wg6Cy^Wdm3N17(s5fkaMd|I%uR9oOpK&AAp|)qw3I z!V`GzHDl_pNQflMY46bY84}s%#;yOg6P%_79`QqXF+b=QlY{i?oKOAFx2Z4i9p#(RJbYeGc)IAbF$_agSD}ArI|$7RCxZUT+>35hvZg<7a9dg-vk0-dvUESuf{@t*N&!Br<)K?O>WxIX&3`F%rd2vrjvh zRTzYRQ%GM}^nKEs36K0jxC}i^e_y+C9ynBe(zaIwYmNa3zfpphT8g}5Q7Bq%s)Tm1 zB1u9rh7hb#40vl!;vRd(4carNe*b2Luykvw?Ts+m@~kg6Mq_2c=bv2fr9Y<~AL!-& z;pmREYy>aya3Ydxr~0NUGe4SU#JVMvUR<=TY*m+519)6Qwu)C5qmC?(6?y6@vj>?d zf>85~HT_5ikvp_+TwKUQwA95iabhf+9btI+yBhX{!O4EGKXg7iB3rgPEECGJsQvI-gR)<{gG1PZ-3w5 zcq^;cwZ*Zhqpu%PS9keUAY8N51ks=7p}MLXq{ndz8=o)K|5S0$y%QgwoZp^q=I@Ue zt>uc=YA==}M3B6^lQ38E2klL5ZLRCW#hi064V^n2mNO1iaRqnhulCkxK1XXo2LtA{KS$3`gC;5pleMp4TQpEMIdd?nX6qFWNA8sdUA3$`Fn~2d zhLX}KG}|Aohon92Eu3vK++Ch0GP5R!^yyeCIJQ>$0`w_f7RsknRa1hpsE%91jE5g4 zEDJt{eZ4n>#cr$f<)<_O?gAU0>HO8&O>{D*hW806C9A%N{fo+guNH5ry24W<9$)%Y zkC0$h8Hl-xPgAF&dq$#7`T$Tt2fODR)!=_Ho9FmK4Asb~-r8pS;P1)$s2?Nh%+03Q4( zON-0HJ9Z*T4_?j1cU_n7$p>{rcTb!o)KM0GdjOtu(H-g5Pt@Rd2lY4)Z;~A{uO>W*g9ijuMj~QH&vP zf6^p5>UK$61i+)nHn&yG7WXj&Cr7MKEU2WYXhqxvIdUO$(+`p z-j%G#hj1t%kUk!I4uP~Z{`mMDPH~3M!5z-$9UEfw>6n=(+wy(xV>32-6TbD`q7zqa zr`2i!est5Fzvqd^<{y8H=B+-gM_msYJVKm-xX6Qh?IEmozRI~6UtoMmc<2`J^+Idz za3AmgP~B?5xm$|!i2?DgP@fNAMeRerGM+oN+OGcQ!ArWnB^L}^Y=2i*5Pj=q@ZP@U@SP^MoTIikyeBU zPtF{dO&KI!EE`CVKGjRSiiA*~l^>U#1tjec!OT+Qn(AJSnAW%V<7NtGZRTi2tG%VnB)qrEcO;-EaNIB*=pGVx#zT-9Gd0u{%#_6Zpf?j+R z+U?Ut;-4TL8U3eXqotA@!f&3p?^x*@piR@?GrwZDkCs)!8Nfx3i1y4u7oSOImXYsB z1f?7~VF&n%FO8-7C~TRPu}E6;CTxVyz4w=7*!FQB}6 z;qJIQPMIcDa$J@4gLlATn4T#74{zH_N5zwgCm;wxpi+Q>t& zQ>(>X`B_Nu3&3IF;o#&bEYUd*Y z&}%+Qg4eI#aMWbI4&pl*GI(G~_jq(;GBbv4e0Dj6ML?nS;l%tHbH#_u+D&Rt-bXhC zpj#VT+nJ-K%Y$Wq2m}Q%=&6$)n=N^a-OYG4qG@YuH?d6;mka|JU(~4ki*lIXq^hD| zL|QXYp(#ABGz_{vSx=XFH#WfG$-@$nw%(7YspqR+tg%-vDT%&6v$iPWi&MIw^c%n* z&_63QV6|~^wKxM^=l%2G+PLHhDOkm$Qjdy)zV#Q~`7Eu}S?5blXXA%XjS~KGh(9M8 zQ;9LDb+9^-|P^qUw$Y8&Wa>%Sz7(`5fTqxJ$h3AHHT=*0c8(Z6rk>Pv`Tl z7IdY)DyVzRwYH`wvBog2g(g;3?dGEb5k5&KT$Pe(jb9p8MmVUtRKK$t%vm!#3Y+pJ zbw#Q^Qm;iW+I8F3w<(4tlX>svXt_^Fz+O#NeNWim;$CtPq)|u>dG;^Y*(BkA(RUh| z`7Nm9I^+IJR6?{GPgfz=$yjf^X>NST*#I^!V-be4aYYfg4ZX( z$8(}ZIsK7VM!3s;r>Ps8I7&)NKN-qfUXeHKkS%%N*=m9J^1L9)7BMxztTPyceD=!r zbVK6AwUx*7Is}}T84hma*X+|zM0@!DE=AHQ=iWa>lAN1UljPf2|I2t~2{q5MGN0NWQ} z#tC#y?HtU-NEeHV$$Y9qm<(>OTxmK5eKvgd$8sfCYh)K@GBbH5IDoawh)sC``l$6Y zs~jX|gwrdg!$`0k)WzQnwP$BC;NT_Y9vSPc1$Z8ftlD9DyFVP|G(Kz>pUX#M*9(*0 zk}5yVcMf{d;E%soRT;a%GpF4s`-s@!B;AJ3wUx(v&YS4f3uT>5KZ*A6#<>lh{lk%jL2hfYnFaG4VLPY$} zgi(c{O`F!wgh6kB(}bRqg>&Wv&MaO|>5Nc~Yq$HCD2>EI447 z+N?fk@G?WO%ZSDLN*0NLrcM}7o#I!{QoqfKUJ1Zu1eIpfpcuXB2H?Cjb}j|@ zp4VPNK<@H6nOx35Pd{z^q4_YtQV~U^hEU2@(HEtZD|*@E%D6koW#;mx;XFpRrkGdM zcg*kR?6dufo|>kn$z3F=&V0A^2LU@xO)UfBP1Hh}5T?$czq!^l9NK~MX1oaHivqeh z0jOgZ`0U#29`e>aCRI3<4#qu#q)dy{tZC3EcWCC%T#D|{7Emx3&I*jE>j=2A0F3{3 zw;b$t&(c?lCFQ-_RJJfqQiH##9LkRo|-;)lJYI1uMcM{zx0my2S24=msh>sxw0?$l^1M|3hioe@iCAn#j38ffNBA%C$mhCSYW6=ZQ-kcppyD z_cr8Bj4PhKyE|VWZj^|=n15Z(`Ed1^(axy8g^i6U9pU7T10UUoZ2m?dkp6dPr+W{y zzlD36TToy$nH##h>i~ocb6}h#o8g)_h6M#U{X>HlCjA&Ti*=;n6tU)p6h2#eJ!XQY z<|eFy`m>D?n9JSeA&d=sc_Q!@i|6wrl~iPQYpK32sLA+di;z8^5HSDjU-xGN5B$7! z#F}I5&)cMuw)%*QPa5OYdamNbAhr^ukFbsCl>H7Mn*Z0Fr}jEogV8_B&h?cM=i#I? zp=S0Ve~gU-FIC3a4986c*aauuwHYO-p$3l~%AagozzWJhuU7JAD_G^G{<$52zy6B}`Ns{kYQ+xm^R$N*Qi#;&yiX zF_$%vxtA3U7mij_oBtZm{@XX^qozBB=W$?|@AD|o^NxSD^NgkC=f6P|CPqF$s3IV> zsHurh;BM*cdhh9;WcBV5^BJzyy>sRlpKfevX*>0*5O7EuI@Pb3b$7|+C(z{c?$8r538C{a~yfv zVd3c><`Xf0w~m~ts{C@78ZkaTt+7g-K5FV4Vynd6byEeAY%+e?Sp=th)*|BmWdC_( z;*RL;FQ$N*N0KAjoAZ*=Wv=Gb(I^eG|^}iYtAJ8dOfH#BP28x`Co;E!gw4fM%6ei>)3x45=aP$B7~K|G2yTP zPbJZBHpDR8Fu$~vsj0U^MAKdqdUi7`{D>g*u%~D;_uot(H_MxUL!V7hV5)mJr74A=9Gl6q}a*mjP>#C z0@ClKuFf7gD+!JOi}$59X5GfuG$cENuc&En;I#m!%r{-=>aW4YG)mxC$sRQ}a7%jM zzZsT$LHfZDetBa)TZ>xt#Uua?O{>z5z^>(jxiuBu{!pGVbyn#>ZZ~%FXR6#};h**S z50vc3ttrgC8?BPN#Q!X^b0`mimJnxKt0+3d?7K!+-P}}^;;s;lZY^*c@{&%oq56fh z&WEXiS+Zbij~1@zv470i4aTmN_@n=Sm6F7?Avi9(GVzEoh>{Hyi@tPBW`9YLKx5=y zCKhFcuHhrkc%CRKh9Emr$*WL6ytYq5ENEm?^v_5(kEJRL7z3ktGqSvGHL9HkLHGW* zOm+H(+>ZW2sbO|7X7xuo*M@HN>=|~vjI>dI*HTC=tvCY5Rf((KkHn&16odKw27Di= zdT&hDgS!avC)3i>CYat}prphzYKJR&ZkSxp_djBAFN3J|;ro>yS7aRAoD%i>DF-Et zf48=?%i2Vme^*0y#Ih)$)>dl{Jijs$$_sEAD%oT-o#*tOn1s$d?1otD6{b*TpghQtK=;$ByVrcRImLD>45X6IOK9|U^@X;OYY&JPN_1wKH()+{ES9N5+SfNvYo;2C^tZ5 zy(@>Bk*_Sw`90}shpx70hZ5A!ng~kB*M4j8GGaO*E8*Tax+9xb)%gm+Qx>?W7vB36 zsA$qJKMfG_vRShWqMo`5PEHDh3jW12J~Zco1iVkegfBy~=v1;hHq-#~7jFCGP&F-b zib8#q!zHV}8-h_!9N7Ol zehPLKv(OxJWkksjA~s%^qmV3Q1_&ABiTB?r{xuP7oNL|S*Y`@kJ5J^YRy9k~izf z{RXZ@@_FjHY^e*eo8UmwpFbSmz9%=IlBG9jU_p7#!T)tB=g6=Ng+6KbEgNS8&>@a# z)for8kObCk9d6H0#cu2k3dBR}q`t1!s`IyeukiOlTs^ND^*>`{Q>1;kcxjOU@o62% zMT=@LI0A;^>i%rC1lScoKb>#+jtba4D_l=MJeODLVqW%Hu49)nI4+=b>qUj)&{!DZ zFfnj)a$76^iY#cB4a;dbEV4MZ=m&uI7tYJ>Lrm9?E>Fb5_nlX#7v(tAJQPLY{tz0udXG>bKH#3)?!DV~5P ze^CXf{S`Jk_{_<_BP}I>6QhE-V?0hQN=&6vX|s(EO}xT@xOWpmX`0Ay?(6aScOiY& z{tU{k!pQH2xct@cwB2viCwSLt6VgLRC0x%H+b2}1JRw^ncr4;OKmQl+G9`PQMh1FL zHzL{^p4Js5c5d6F#(fe;RK~>_jPT^WNlGr)v|2U8A~)1wIctTLR3V$_-&_&&VKJ&c zhAlPpl4tio^l`f8wpM~2wv7qBy=#Li92D(;aV}PDw))G9rrFc=Tw35zr`0QElaOX< zNL*RJHS6jDkcELqo{E-|YxDG@WuSaHU+R^QOO^g2epiZ=z`QMQO_cO?@Q9f$CK2cjj-QGiaF zfiJDDrnZZMdd2OaduV(#@A!B7ukpIy4Xl+^e-01-uXX3|sr4RMEnG=e)kDWu%>Y2~ zsiO{sCk|L8g=!QIdzNH|p781v__3NQm)8%vttmOjr-G0G*30wo`uU8WnZrLHc!0~l z9Vy>?Fo_#JrYISIoAx(cDx2zCb8b$DrI|DeK-&^i*7%@KbK)WP)tScP^K>{i0SbE> zREVP?&9tV_R2*0F@i59=#=^Hx%dYWgoBx~xzxX1lh}{ez)S6BHCYoq`bOK^c0Q{x3 zxeoZZFAQ871Udyj5NKKmAb+*y?5!{jUEGjnNo_j&sB8=EPK&Eh-xk$qEpK#>R$*{7 zBj_j*e6psx>+kA~c6NkiTUGNH>eI$^yE+Gdl5j6gqbz|fhO2ud*CtBp`a)*+f=wb> z@JA(SaSwrkR4THDa)EKxcRg}G55 z02aBHalaDJ_vSBHB@N4VX-w?BIzWxvqHugsCi-D~lmg|v4uXFQr4F@(Pt`E!~l~K#c-2RqduSfZm zY`UL~sJpH*)vt{L1JuL~V_S5{-NaTJ1FyEeqWFv7acL2^640V^;cq3f}XY+q(g z4K69E-S4=#XTJ2@B{@pRbKTWuwNR9n2#)_kpN=nfz`9>qSRu8w=0&z28WJEG_LIu~ ztNkin@V! z#~UE&5dBx}4oV7iG41WcR|^VobqGHPRDKcbjD4rqW6U^$MnkGR1n%nSJeR8f!E}U$ zG4~&{AGmPT5;vJjQI}2*PR?!~(pjHpFB7ZS`jvf^vSV>@)J%XD6rao1JH?F%krW|77wd_db7)=*t=WwZxeNPoy%!jBs)OJ2tA~QSPEh*I{}GV-d#> zkSQBj7dI0nHz=s`vO!8;k@zvcY<*z)&{al%OtpFWdT|tdZ>GxdXzqpjSW!y~L{-L1 zU|au|gDB7xhqWL?nnwBtSS5t^pJ^fz$5S#bDX;+TqjNXX#5O)aCYH*;$ z#=*(aMfhmaw|1#(-z!G`@YZZJ6}e!uhk!jPDXHNIX6?AzdS&%_`rLA=((qAW$*upe z;R@l(@ZVo)odcZmQDIrzJ715ZP6SL(LZBOEw%;(_bwVQSG|A^)O5lDX3c6Lz3brYN zJz;qM+a&K-*Zk(YP;F)en=T^M)q&t9$gX1gcN_I{I6q<*c^x-wa{Z2v7oQU^i`}{F z2o?@dd}@CR-q+(NJdN=aWq*rX|N(x}C?%+Sn0TB*AR^J-loe zoX}i(VS$99<~BY{BuX)#7i01Fqw;`e*x}pKIY93?)~2F#HHuTU|@Tv3wQYQ9!Rg%$y*90_?|7LACgabLuwK}*wT2@ zi4Aq2rJ5V2i~~Z|g^jGEL7(l$IZ#@M2(KLe-I*H3D@A1mL4RJ1Sz|I$>!5WMD|{QB zCj9&-DG{aDoAF$>Ga<~2;F+7sa-pBC^fqPxjKl&po1Lc8<HZZ1($e)= z9rzxsib|$Dg$EQRe5AKmihG!704~4Y75W{wtrS}8*M&q*a9fg5zA=YqpKU|txkmJ! zimX_)`%~?-bQDG?rxFw-g_WQQ&;-f>rbQr-y5>Ec_*vg2GXohuTRMebRWkOI^sExN;aF{e zw;Qz?6cChsu_ZqpbSvW_Hnl;mF0)#EJH!4-0*vsw8GxMeb&lm$&U~U57c^aStvpe< zvG!;s6UG^ya5^;@5$g8=^D#f}y*JUErfpt571*VJ@8QBu+;%!|U%Le9v%=wi;nnUN zTpeS!SLixP|KWxUEcWsjk7mzWKbx;)?~>GDLAmQ}7qHS0P{I^KJ}LH&+NNYXb<_xn zlXoq2Uj?LP5`E&5V-9anXt7hkD9cERU@$i`>b&MSWUg#u`pJ2xTVX6k^^6QKxga}~ zR48!9Lz?2>xltei=*OGuTqP@Wei6Ys7j3v(OzDY{)@J6LL2kVCe~pXyW&!Oom$v9f z7hTGz*n4uco~{Lp-1<~KfEb`)zd`X>rz2;a5^PIR2QPW`af*v?LI_e5UE-`h>Xc+@ zo^%;ki8T!V)>G;VjZA>MVH99hOS1ReV|Ra4^P^!i8NJ^n(RXN_)4^t9 z7JU43oZbF&;fz3XM`47j{oy<4$ducltK&;$DitLLB9Q`Pa$?ys>57xIkexwHu=S4V z=DzkqqHZ$8R7wC$WUMFXUWHaFSqlYI_jVVfrGn!S%{uP22z~i| z(gU^A{$id#$sXa5N$uT=WmvxUn>gsNae#jb^@2vR0Prd^r`ww-s} zNvr=YoJ)m=Z#R1p?C$MU8MxH0m8SaI@YTyIZA@q}+BYzvUy9|>Qg__TRG$_M#454$ zCrX93d#9S0Pl~@PxchV$BJtunHRwZe|&EzmZ}?E$DTJm{oU>~H@-DfNm-PNa#VNF!bjlqqbb7@**d75E}OI`cnP za0d@qxw_upMjir4SG$jB96-PJeARc^sIQ+ihE4UT9f&eQ{|{Sl9TZo$yy1RHu;A_% zNN{&2xDGZzaCaxT2X_b%+}+&<_aOvlaCg_BfsowI_dDm*y;Zkr{!FUaYp>mFb@$uP zdoqM`A!ppg(`_)z4*?YEOS~j zrGQKav0}~BUWPhnNj;o)u3NeCayLw%v%O1oc;g6|Hl*XLuthQQ(MHrPb3?2Yq`sv| zt|D1}qhln6!h_3O??PvACUL^0ZIGmKu<_Kpk?l^gHD-)$uA|sQOG&*HcB+oZp@&{Xv)mL)(;nRc=oTHc zzlCpSNhWIs>#W`YE@8iSlR113%Bdfgcf#E^e@_}R4|5*-6|V5t%GZ8aQeuv2xAsT3 zsDR8Qojv;H3qn_2-I&}I+dr!h_0~x4yi$q-9lZq>9R;x&(}-e zMSKN0IWcMJuoi@|7DB;RKM}+DUV4+E$St#0R~oG$#d)un9x5R^&`@hyX{L2=wiQca z8Bu@wR`h|^$R-~r6%fJgFIhuej0MiMzQ&PQ6mM_89ZCCI`NOr{9cC^(1x&8Ab71^w zss=@8W(XUTP5ufwzXX`a0*BJY(D1(9;+x znv#EU1|Kv*HblUOo_^#hph3Xjc8#S$WpZ(1XiS#d-0f&7lNx+mD4*Ju0?X{4aF=McN7yZo{AhJUkbuc#|A3(ZbF znOz0&a7q0Dzyj$ry#3Y@fJ;ter-Ap-YrT2zJY(7O;3iCgGNiJav-L-?_H4-#s8V0X z8$M*@#1FN{zwLS6i!ZQM?uD4Nays$*K-Gk- zhHWp9ojT`P_asZgbKx);R*fcLw+@RDw$awEmMJ~MO};C|YjYZzMPO5yb(20V@2=m^qqC$jIuOe|P9H+(7R&vdp&sVv; zyW6&(%y+;9=G)71EHRT!fJ>=#^Q6bzW7CJq+dUEc*^dC7Hk3#gIIWG!%E}Ijd^mTU z>iYy}EVD&*|J|=??l5(!GP=1iT)eSf2?!f+oNbs5dDA z@^AiyABk-3#`+;->^J}_!!2F=LwTAY58Cx`DR9}kN$UUYZ0$|fnrV;~RNp3Nv*F3y zVr0WKqBQd~c}gAEhBI^fIFt4M{ql}a)mK;)_Pw(Ed!wu<7k6tjk{psD#S3y9m_rB9 z!&`Vwi=1wCX5FO&tph)w--N1UrI&@i2S@42g48aeu=MB=+M&rA86~ClDd`Sv&u@St zXU-Ev)PxkURbssXw5*L5JZb5yI-+K*h@814?#fcLoA!_f%eYRO&B!2cIHm`Q@ODPmpN=ux~_U-1HJOw%z!t{Bx zZ_%WQAR|Bdg0l10pI_DxKWPRQp!BKz3vi*UGX>~mFA(_8K`8fQasv`5oOO0~4a>At zb|w^RU4k(laXxi`Z@Dx^we3k6A{j;Ot1{CX&EXn5l!DA)>*K5!VxVDK89azWKP|43 zrmZfI4h!r;3d{!ejtSA?$IA7`g29&wQb!Ok8_7jUh3!>Q(&KrD)AAglt{sG@|I1QP}hgi1%^6rLzMnCeTb_KjYTYwa;G0P z75CPbQ%6wWl0Vlpu6G0Ej`bccLlEr7XOP$W{d;|#H-$)%ry3WKEnUMuOn`aP-y<*N zYt1TQW3({_o`&=5pDxPVFRklo!!8NuL=8;YE9~m@Y-An2r}MwRYh*Az+x;Gq}TSYhA9@zMOVmB?ZVm8+>sWvSKg_42=GdK zcPS7Orb$H+Knh$GRe7uAoX!s83fdiNp*K){~t4RU2-21P|AD~SP}A8|R}VG-jKxQ z_??oji~!y$K;|uW-xjK#cnH?lNt<28l5}>b0+jp9k29HoFYRY#9H8}u^x)0ALFO1Q zqgg?gsyx{by8i5Zwd+du_sW}9FY@iO2{=)ri}Scs`d*hROSxVBv4l}dhxqAN)Mw_Y zQ3a39H-Pm2w#v@lJNJTggSteaU0yGs3=J3(l(e-(N#sS;5ebM>(<6+VzF1Ku5jT^|4a=@0BJsK>dIxBVAA% z#kO}QOtl_nbz~jvH=$L_VsMPI^Ovs>6!&yjM)dD#L(63JZGTtQzzyvB!2t!1%fKaT z?=d^Jx8?2vv9EqR+hzi)Le+&q^y({qbYCY2hV$&qIBoc6g@Zp%ygcP650kAKb^8z* z65c$N56V#}JTBci(qi9C<~>0d!k`;lGuJ&+-?4Ls@;r{fYrS=R0}q-MzRxmPUtstDHEMX*mUGD`6yOp&zk_|!9WV4V z0-rH`!?F99Mf~?@V3uU#w=~LE#mo`Rj$AyKxcWgTK*oIvV3{Hmb8%_(577P_SzSp2 z^b5SgLBh{^>swovJz9jSPENJJgwF?4?1TgP2#6o}uVAn~VA}WMg<4uYH>MXdCU-)G4mJgbPL3cqZo6s33&r;Z6YB6 zpo)>-Qy2UMtjk;w&51BKUeRLj-YQf*&iiDH3#fwV^36+LZ{SJ*Z95-?b6YhdtvO-u zmAj&;p)eCOQSnLzT>B|xSjcZPW-F6Y4E@#Vs^4%eURan>`-& z4?<=j+c)9u1g@eUlc!v`r84(m-r)Z7io37wVjkoy0LJ)LuK?7fe+iOT zXf>>5Tv1aq4{k6YO#uj?n`UhIQ4qr_^LJ69iV^zv_3?g+h}75x5hD@7z#a^iJ*t#~oS(M(wiic^427TiBuO9sWZ$6e zp6h`u9V+J)8XReBB|!8z>Wzuj3C5y?#!aKaQQ2U#(BWe4L9p3szeh?9MShnpFh}#x zm#>u9*K#hyiN84Q&CwARm=s$al;2_+uPeN<^kKh(jMtns6SG4Yfth59 zRJ^Uey&+)Oxu(Tpr*6nrLD|8Oki1!#S;pB1IiJ)$IiTFjOCjVM4MqxcwTRO1NbIoD zsbu;XDZ^pCG_cDS#!s!7x77p6a~d^D;FW%H+I+2&8P-JG=>zCJ>6 zndsbKmz0M-&Zd84$K4Ug^fNUkIs2YKO&c4|p*4I+h+vzgq%+z7m2wF`e(9Iesvs>$ zSMhTha(p?Yxgu)z|IcAFzCy*J`sa>}tCXb$jgAvWUJHECaC zs?5B|05K><30sTiE}@pEE;9&6HkF8S{Se6)puuI8!Pa7|8oqYJl2}EecQ5yyU2&o-!j3kpFMlGy@LtL}}WI zK|;-ADVTrB6;y(p-sL5K*wLw{gq6eW5;<)UGl`bZvo_|cqpy8*o z*2k2_PZUGxmmOfRpt9?!JEO`{w6G{4hchCXK+23Mqt{$CJEu>0r3!rcTjISl;eL$m z0YhrIOWT3Cr8bp0QsCq#nw6b|!FqNSreiuQ0SYN{{VDCI7`;2bqKcDg&BRH}%;j(@ z)@Z+1erPcpo~l@I#t%kN{V_sCOG`^v&|h}VsF=-RE$f1aVWgZGK>=!{V-TF{?c68R zk;D%IgHcHi9cMgUIj`U8gf-~cwF5Rj1uj!h&VMQXT!v47pmnJ*#bhb0cms=VDm1Yr?Avfa2JN+Bu{Ceg=@aGg1Y#H5-6V@_d4>nZdsn_HtiL+#(CEP=+`c{SN6m% zK(7dJq`4f+LH})G%IM!1xzfC4-@JB}@|6dLnBRaD8DI;uYq}j|T!O<}cAMMf#nkP7|Gv5V zpP{A5j_WvMXJpho1@I?~6A8xBDE6(0L*%d%sO>kvKqK2pL-uf0q+M>MZ zpWrUPQCIy*O|4+rUv9ZL)LCZOojQ1qOuwpEZV)K4BK7|YDdtD~WE$-zpLWD?ZYTc% z-<%YsuA%AHMG$UcEwx1i-LV~nm;AJ~815+@&?b+ep0B5j6tIsCTM zXY{YnhYwht2^;ok-YFM8^Zcxgn4@wXu)G{+SmoF^Ip-af2T#_WC;NO?WDf zMUfuNThpiM?g~){^uF{=a0g3Nc;MUU$70Jy7$&Yfg%(>KDVCR)Z@LSKbZWe}LJ6Ai z7{OPOctN)`RwkS7sPppJ!Nz$EaxaU#*&nBhd>d2Q26p?FVIQl|4z_1R8o-lV2x8;N zTZAeSDUzrjQiO)Wf1j9`p3m^@zHcw!ETF;SdXcCQAp6JXW)KFRy1?MiG5-yjUDipt425hW`X91bi33Zu8Tx3sar8SXW1HZzF9ZdneL z&{N5gcc}DM!bVDgIQQeA0lqj8Pg^)XOiTXb zqyco!KPDl}mee*J;#6^1sz_#TBNlMV(EjNoCX!nMeAKrdb9er53{p0BFNK!Lj z)Rju7q;XQ`==G%fv%57+yK~8BKA_95vmUz9#g~9Xb_ycV)(F$iDQ#@HC z2^~-zN98}X^swj#cZ6kToE+*q6)_0m@^QO|sMIic4--@6SFwM2yu%do*XWC?HZ9-K znf-Rw>y`v|0toXQiAAPB9uYWzJ5!=IY=p-{Jz%OQpec5#vx{oO7RpGAC9 zUWY7)du{z`z)&i6j>hEQSr9fYK6_`K-{7w%5(OCtvW(1_3$7t`KO+!jGJ~C-v_+&m z_|R~<&H%%T0Kb2jZF1_6`!H^XEtYT6mW(7$z)6i~gh>v;t^Lua%zgK$ zZMX1fXy3}uHuz4(ByPNsE_CzT9dQ~+w}X^0!-y(A50!a<*H8!(Wq+<+kU=o5Ej|Mzowc}rQ2F?mqpMF*@2vX-Y8&fQ9oW;96C!?hki zGa~)pYo^ghY6*au`J$e47o*a1Z#M}d_Yhdb?cH#9HPVfxIQvs)uujl)E*UKiNaZen zzT!nM_ZvrVN@>cYdkc2S(m~}~occUdwoEJX~QyFDg3G%!(qFom_p1v++G~xf# zQo0_GXOr7(PTn+=owH2)?j5;T4IFb;M&9f2GoYvHpT83WVW7?I$ud(_=0V_cI;m z!TqK;!^gO-g(pJP``f=%>78e%X^Xn%2doqr*8@BzR;{(FIu( zX0RIZLFkZzr8Inyl+VtmSoT^po?MH=w~J<6N$}(3B$G-}n#tZZJ@w~(P)>^Yr89+E zI!YcM)D%Ia&|bi3`_@_%T7{%07I4i)(Cubl(=z)$nRd(fYSA?QC=Rl_YsPE?I5I5D zFa(fXg^m2K2CDnMY*H2UoYi|Yf;zG3zV5vlA3t=Y?;ji#78OaBh9>;8Hd@~g==;dC zb3nz=A{X#cJ#uCh7-y`dq`+<+O)0XIwv?7fIBxKz*q^|Niu;m9qQau}r`xXIj2;G_ zUb4SnY}!vPJAwnxFcDzrTLQL%W^5D2Tc$usq@pnn?2hO1ZK~B&ma8$Zj3?)Ims1qvBEnCne!^tF zO0_+I+Wj%KFL*9!Ho!O!r$mZROn2F2W%ruE$|@h1QANpz6d0P@ z7Ofc_$Py37=aFNl%fcv1sAVI>XY~O^AF;`mxXqr?w*PYS(IGq||8 zZkpO+zC>P>dwCE&bn6UXj|nOu9Cv{p!l(o`SQX7d#7F%`sw-H4P=hsReMef~R%KzE zPBJ6oq!$gW_ptffRdLeA$laLAVqefLFLLtN@qN&?q@H?4#L$pjT7F8Z8K3&l+cNbl zb&n8C6;V1=OMQm%^gNKY1#M#^wYQTPp(Nc;BMS!(cl_5Sl!w)yX|mY|aIVLyCMU;q zB~BZ8dWgzeYRbx{QsUBBwCD-Zr&`ZnID`&s0!;w)sOV&o%Ta&=v@=Ky>1_2F(7|e0 zm)RO49Jz%+(KRezDoG))-t&%QWebYd#gNAcps&2^nj5KdV=lKu6PgL&X<(mB4a|NF zx%lSf56oo<(dTkp*N=MZvY=8}{aU&yO#eLk&A8-u6du<|BmM-h+IqahVFUAApD)t# zk3{mxs0`MExq?Dwu`{{dW(kKX{_~-l<$p9O?l+ZJmalp;b(*7F-o(D@vM=Jny3*qK zFdR2&m=fA16)6ii4Y9PJ`+iLzjK_5Y?H%h>2#6zvQS}!Yed5g!7T2y-< zHZ6N19Rcg{>vL%G>`*yC&uPENr9>U0SZt(?WWPOC|InR#tDk=r@75da(9~mEYi;eYW4I_wo3lF-b9q!(vVEB}(=eGRUz~91a2$ZdI5PEQO)IQYFKB zAvx!yw5Uve&d2Z{mZP)gh)+*yH?su{Nr3MQmuEjxSq8zl=L{*0#ufl1HhW(l8mb z@=vdp$ql2{A7%9+rJ67bXX&&yLSeceBE5wn>0a|CM>2;zky{`+c5n7;n>zY(_uvB-3ihkst)-a>a9AUO`o zt)M{=jtpj9t%et?W^n4l;+U390-b&OW-%aDEC;YM7#uQlqDWJJ{8e8)5Y*kd;zN)z zebt0roYGrc6ZyK7O#?I?>*<#r=)gR7jOuPH@%qvGhQ?V|E@t?f9<4)WLO~5JybB6W zLJ2TsAqE`{qv%=-NC^y~@KITmV%Ikj5BnAafTVr zj7}u?mQEJ*F=w&N|C}Ss)RgOndNwO33co5p7I7N0 zS2Ct@$T;pl<5Xj>?4=K)*%AiMqwl><34Fj^jX#$lw~);@Kh1go@Eap*>dqw{jV3$b zJgL6@jKDE3&zu_7T%!%(`<@3e5L&O{{fp|wId8-C=D4=RC^2x@OnbsjeUcL$K;R51thNI7Xv2U3 z0gD~L5f8_pm>+FJyWgn?eF%jua@jL*W%1&X+L{jwIIh3CCfBN+T*b&?We0Da{=Z__ z_%D3!gub$ih_a)8w!{vJRmgcc&OnwlyYTz$=S%~a);{>%RBZ+p*| z&hZP<>tovWR5fumNwV1@yJl#=x?n>Rb`vA-JeAc*neLt{E@Lrm#o3JgiwMnpC(&s@ zouDQ&E9k?ANIIobBOMtZF*y}lF$EBOIS+2R?Uox}g;y%IlJ4gM&}(7`lkUm}6SH#L zQXl@f9erVXcwQyvt*Eyw!0BG*LwWmQs|$E(mxGU}e2(_C>`qm3t5ax(d~p!(TN`2S z3#tu;6G)DmU3}n$v*X3dN1Re@t@q8@2uXxTufx$ia;hj%am6(91!r&vQ$KMT?M*A$ zHzcaWxUR&g`#Naj@8bzfj%3W_2#As|&DZF!klCYJ*@A9ld||WS%Hp@p?5Wf-5u%65 zeH1M(nWmBw6Pt*j-@f5Kui(OUY0QTtgwnf%+I|=b3~57k-srb$ORy38PI5G6y9MA- z1V?Uo3n93m`x(#Vlz&MxnkkkmEP0av#!(cALz_p4T$(sF-8QWwpESxQm>|7g1w9f* z-a`B|vZwi98c~FVB?P&KjYmwCh=mi^4?FQE4Y_CN2rUwXih?00ie%$D1UM6M(<&Fl zv1tc3In~y~NCY{@$Hd=KQ_F>z-^$6+{^U+-ttYej$)gmx>pT!lo8wtfN-_RTw*-}Q zGHr6m)~_KMW%a_6JzKXYWp58`X2DdO#%uZE7^E(d=uwzl>MYUw^x9%ikezuU(Ao=qw=`l(nU5Q| z5ct-&#A+clFzqhli5Bo0Nd3INF4RRCh>RuSwFyS_y@;`jbR)ga;c&_seTe%koZEUU z{2}zGm9P zsH;2e55sgPNC{~Og@3I;7x-RD)=?=w339*AtlQ;bol*3+^I#&OhL&2lWm)!-{0YYI zGTL^w>Z9y+;qk{7B99!^eYPBIoM1B^kR!>3GNLjqJI^}%aLIOFjVa{#Hj+pN;;)SRY z2gZe4OX2s%12@%siO52W;hmSCE#!UwHrmMRHEDLSj>W@v9@T^=KI6^pk;n@HCT9yz zR6x;ianbO+x3tq;%4lCPr82Vt`h;NNj4dM33vzzUA(sN z<)5L_^qtezc_l&r(A|BOYJ5(D*^S1$hxE)l!^KO1riXF3qR%6Mp+Q2}u=%6g>9a0y z3bzBZKBzXfw)NI98b7pwTQG6s{h2er&&ImZ{Xt|Yjj`5|dRuKx^&3Z0o1xU4%0qJZ zIMbi|w1SuM1jRdz(O?9-u{8@v+I97n$Gv5QDi#~qzOmj!rs`WqS(y|kCh>;%+W-kr6@M+ zkPjPgfGP^m_%#aq(4mslCeWw{JE#EtHP=QAv`= z#>OtT*y~>Yl5P~KtLN=)bogYhjx}ITW zK`5{c5GroDaj6IlN*4@#&;TG)yPo~A^1euuprDagI7|znHFY4ofQhBq$yjTPu-~V` z&+|lu#21$k3$KV)a;Kr(;Y@>mp51AQYXU2DX{jD!m*Fi};acs(D34O92@GG?$YYE- zyu2j%eJRH=+<&wP^Xhvok&&2W)51EY`X#O2hYv9jY22dU?Cwv`oHUjEtpl6~Hay72`p zJrt{J_p+lum!l-$6Ylb_E0lKlws%^v0T#!`lDjXreMWF!6B7#n(!zs3%Z zw;m>ISMI(Sx5TH_KMO`y%GXRwphKIC2c=ss3To^u{0I|-)++c2_^LT5rTu^8d7Q8R za9jM9=bKgHS?gvQFS5r#yL%lGnfcoaL)l_$zCKfKg&a9JyzN{q?q!`q>cjuDJG?jD znvT^wOS0QVMD>I^@{xN2O5rBbtTY0Vl~4oiZ6cl7`2wUFx_yT{h0h3TNe4&-ZMW1; zZrydSAJo>AR_nM>c(b$L z|Je>lV5-H##f4kIq>4l%;W4^c?^?SjzK{b?@Jygs?dRkl6J39yBD}z% zG5u@_pDzlqhw56F!#|-nZLYnkK1ANXJ(Wb9Ag2h=JfJcD{MgGwc;#Q96>0iB--6&& z_3n!_1|#{G)LwFa!xsvyC;lolh3>Z;}ybj_wM z6)C|AV!!W-pSLrHw7t7Fx;27&s%s@x-30HxHEEq7EG!v9-E^EG6=dAw{$t;j2fbk6 zt&_vS_#EM=IiC~fvIbB!>~Z>b*0p45aew$13^v>D(A6dTWwN!Q;ph1Q@wfqNaj1cU z*S-{u&)w^;MALOo<&&;9u((Cs?thIbOE6A1H^ywV7-HPa>BS<|l&KK(? z3`y1<_eF~GMk3Ozq<77FL_tKW{sHJb18ChK7znH7~4i?&t#m#Lo9(0_1vEs&A9@JSV4 zZ5TZ8=Cgwj*+Q{!?kw_0*_%pb8Xco8?x>qSN^m}nv)!cq8wXwrE>v$j@Hzj=B|s&m6OLpgSklFq?a~yuu~K02$i- zc;!KO&N*)zvKpWD8(hWjQQ^FNlKS_TF2{AcLa!cXy>Bj?Jk>Z@)K?%X)ve;y9(S{5 zyCsk*=+?nE_A^;3K|zxAbfRO3Q2U!ui7D-Ysb9CLJJ3q`$=l|dw*Q=5NTuOj@!?la z&zh$)fM`tG&(F_E&KQ!PXAMyC))pA_atoeYkKQ!hKcl%(1&(JH;dX^Lw{^oiG``` zu;Gk7*+YYzERe%X{^^6TQ*&`xu=*~>!Y4Te6+6LBEoQhw2~8~wPc7~i{DuB|z#=7l zk2ImNdKClX|GmzuJ{N_@(9Amh@W9Xi5Pm|lo$Htt6VPsr{padY4svvAw_7}9Bc|qB z7aN=ADP4e*+h#@DU7WHfu+e4B(d~RDsn^VgbMA?#4jShgw>Ehw#7RpeiT7b)?)7j` zS!q|T_P93l{q^HY2N!S8sO#H_lmVIJa+9^rlo^`W)*1Qh0Tw%s1s%ATod4zLw4dfr zVOruyr_Ll{4A$4zcVae%yxffNx$2e7E|j?zMs7$l{Ka7eRs`JXw!+_DGEaPlj5mu0 z`+fPutiA>cLW7;6ybGaHUiHhtYGafK6W<_KOu1=a_?POP>gs70Bb*@<@%M2pJ6c_a ze}PRIfqNP%?z4*fJ_hnVjovD)zi{o5gVnWds_Cq!&Ck?gLmc$70bhRaJ|AJVP9y% z)QPIs#fEZC`@U~4Mp}l?SXqX)AyFS<<{%)_!iMvS<@;c<3+JpmC%f=QwQ#;n1v#CF z2ssX|Qpm7`BZ!=g*bx-?@uQ(GwH-$UMD9O-(FCcF;nyyT$Y(`qHn4_9XhufHCUL)t zgcz&@l-ZA*L1)52-AX8yq(5tRfylLxp5{~sB=u}ervQ>`{L1|sFJhHm*-sxkMcfpS zY;VwSK8SvBE_b=9PEkuUB`dzRLpZnCnrAZeD?2*th4qZzWPPDPV5dU$$q!81fGW|j zaa?=rmbBhlS?G3gKV%$PX#d|r0jE;J>l02Wov-nZ{rkSvR}&K~aI;+J zE{@G?jpXB-Cx^2q&K8Te>e+F`^ttwA{r2H_%2I?$G$3)xDd(V8U;=AB!m4YO8BE6Q4Fj z-5)|_)@M^DRN+4&z2wlDhzP>ViIkX~i0#UZx2IgLU3S<6S3==v9m82XpY{244uwRsH*@xZp2`)t5%Oj=X~TJp)&Vgzt;EvcV(5t)?6DJWX}I;T^H+$ z&;{iduXMHZWu>E=Dxm4vSRg}qO&Y|KM{+G81yT#Z`@g*u!Z|RT9rF+>o~ELjgf%v0 z3N|+{HZUOcrL$_l;3qiGSd4`!)7Vf+=zqco-dNF8_H7LVYfG|^>N4R+nO++v*|^xg zww)bz#?jE55JETV!;xU6Dr)3L7Zc~4Wp|yd4TbHpKwaBx@c0LETQT6JAVJrW zY*}R&Ni0C7_J<2)cN;VgG4Q0YDO-Qercz5~TD?`fjX%2o+wa)*$IMlek~yg~TQ}(( z<_&ifxB|bk{0Idy{u}e2hu1}iAXxo`Sh4!Dz(yS!8tN+!?fXLEZnsz`=3`~j6~54i zlmc`EBqoSBgJ?R^0I`91?U@Qt-!qoIf@{B=&*!mYyzf=GpPN?A1D9kK5$f?WVuh9; z(-3Ww7@K5(Q7UMP+A;T3Ry3bx_b&$HkTK@*S_`KKpjDgwK+M4UqW|8E7e=Yjh?2+` zABqZ&K>hTE%fdf12nB^nFW#C>c+|XSj*xVjQjv3odxghhL%HLBuMWsI3{1r54aG_9 zLlfSfw1kF+wxcVU7K%uKJnpu8$JIy$elfD?esZVZ(%k*yfKamc*KueUmsuHhVPvDyb*?ORCgF!>b%XNI1iN+VIghz#S%;tLQbg_iQ&Hq|KQ)pWh_sr1wG z=_CWKD>3&Y3)7G@#%lxhxw1Omx{R<-8C~r2xEzYFLZPn<**Q0~tX{!F?!+y8eT7yX zT6v)9H0&lc9icc}=~HR%ZvJJ3zC2IAQ?GYq`9K}Z`xta4N04w3&65m2mrs|*@qf9J zQ=&1KLpOp;PdQqXCL7pK*@_!DqX)R_K!@b`HslXjS2r5KfdkfLg~pR@|B_4I^5>4i zJi8PF^4sDDLnK}b>#u?h(&84L>L0BH|8y2(i9Y4w|GhF`CRe-r9)|GST$lP!T^p8^ zo4*3k`a}JDSAP^K8yg=+?d|CRhwkOEq|R$$))oZ*Cjil@3>rS%!o4-r#r%*h5ElMv zVQct8XZSYr7R~cog#>-!acUdy(;Sd?u#^POrCECxW8pK!c#hy=A{ILJai#O1@VNa08${$`_PWK@XGP$Zi( zP;OpOMpNVc-`6|L@`e4D5$0$v$>YwBHoEh4e<7oxk!+yM=kjB8v^lT5zWyrYnoMcR zYz!&GN{>f<%&aG8Aar&r)W46x-zN`+L}B@=lsWd{!tK`6OhWiiL-kwb3%kAzckZ2| zwQ)}q9~|zl z>(Kij-x~W#6Y2vDR;2|6db^+A)!r55nZO~XM)2P?3LIbwc}oi@bx1lOC4h_EOKJ1u zZD}}>LtGHeyo+benF)>Q-L-uQ5j#$8Y}aH0{@WlLDxmBivxR9_9P1A_(4Z-wTR|Op zxi;f7Nt!=Vqc62I&O~=0Nj04L`OE?QMC3HlH zO8bm$%Ek!`y((8a6N`FUJim|x^0W&wd)RQDF4-txs^U}GwOHWa)7}Fgu)ZAfcSS3H zSRHa~RCy;kcYZMw#0tbq&LOUnj4+MsOn5|}K&ly|z;MHU01jsZXtxr!OV;6(s2s5W zb2l*Nt6z{35bSWx29^aEA0MDXUTYhK5@oboJG%XkHUAi{k7WATWaaLhgtew(HlQk& zk(v2Yk^oTJhzqz%@Lil;58Kgz>~7<25c^Xb_rb!Twe+mnJiA}KbOb(7=>B(skX+sK z8`>l=dhP~VE3OvoL5r$eQuelp%bog{4;`BrbSHJXV`$nZ7`G>C`Jr0L?5Xz(f7fq_7soW=f$s$PFaHhckT_|S!|k-YP-7*$LGy&u8h*76 zg{aUxAe(63{uqlvPAzLPmH+3`6_(7+|?#Nc#6!-5Eoinqt7YrVth@yw8CHi;jSjr za;ZWCbKneLG2`Lr=hI(dOdX7 z6qC)@NzNlx@0sXgBr-B9q}&uc>op)f{go3SPJ^X|sKQ(S>^NW#jnwgGWrV5Ymb^dN`U}dRSm=xV%M~aT*RXW15Jc+ot7-b9H}> zmZM}xf4zyJOI+Ur!+!36;Z{AL3=9kyLC24WI^7(oCjZO*AfTHFBYO6zz6{_01!;8 zkdl^0UIMm4G$FdlfJq@-)I!*h+o^QmiZe589Bx8as#1lK44;Np>f9>HY6n!h zw-Rz5>Za2sJr?8 zL~)QpAS8Zp9_kLE8Uaz%Ng!8bNt{z!kzf8zcY;3`BxJAV$FY zVx5&v*p7^l%)sgOURgFUR?MKKHLJvE8K_?s;B@5_R|n=6KKeAc0Q13Hc5>~Dh8sd$ zO=x$XY}$2BTvWng=J8iw<4;fOw!E+@<979h6=9`pQx6 zLw^j=$nC$j(oK@Z$iKxW!s4_ohN*gZ7B%s!?gvem(G`&KERledW-BgdFl(2lrLD!B z@Jw-RggF@9#2WS0h%i6JFc{6c-c2(yUG&8Yj&rdgDMzgS z2!3fZAd&l9=Crq(5{-<&v*>7TD=}Q*?R2L2d}=cgfFcB}pWi!`!GP0dCx&$ls10c7 z=yuo9ChY-WPC&KIwvp_CjGOFQrb3OM4#Jo<4caX6k#2d9N92MJ-o!6q`u-BAuyG%ue02PKiQ|ql(k!dTtS%E9+upWmePGK@DJDysAL8>&d`3@`{9XllQ65c z#=SUfU5C4^=XE{H*EtI47!zc3rEuuZ4CkGwy>yu;ENPyM7I|F)cvs`TcA4t&qJ8XB zlA4<8B_R^)c+JWZ!aG_o;-!3x2p%btk>OqZK@{^5^>?2DNvuo zACV}b=6?kMAH<#k3}o_X7&yUlZ0wlGZ#2|q;t~@JLbACe$Ij?LoLGb1|K3YD$|%1K zMhkb%P0PaKct$$4P|OKlt@a@&Y4KC{CgbJ|&ihgHq##bO<(nY6q$tdDkRCeUpBN#` z^N7AFYvJme7rN2BnUiFwr36>RY;7_FW<=bxdrAMM08CaH4M{Euvhx%Y<5*mtQMf-P z?Ft&f2_OSp?Z6i6ygu7=1R7LaY7nPH9+9CJE})erfAB@U>2`ykujQZ79iV?<1xAE> zv(id3GiF0VK)?b$d8P^kr2zyPitZ!)(7T27p*C9WN=QWXnUmA%x0UyNtyY^~N`+o` z1l^jUcwU`xherSnhw2nLu`{k}$lPYSJX`nx=!^9q3P%nGMMoO8-olW~J?5tA*tIMU z=J~K!n!{l~3ktIse+KCQk1?YpIk1A>ceIR&^s9;rtf(pI>Chz@kQJ7z5}> zazkp@cv0|b6eg;_`~)x!bQfW39T|y8N}nM+Ji0T2=aLBt>#9AU?0+%rdlyYkhXuRt zco79wgx6mv1r#v8`ppGffA#t`H5;2sM3RIE?x`$_q$i_>c zmG`u2Fn1(0k8(oEKmV3O3YeKXHnhQw+{t|Y*fSp7bclNGk3uicQeMxf&lSxdpmVLV zvnsLhNysTF?Gy4OdE_p_&lLW>+Jb{sGr^9}ahPngjOaDsrc$EzwKqtk*x;pPc?E@s zmZs@+Okt+nIDioU$B!SG)zu#yoY)IXO1gmJOc{p*dN!r2^V=*qVU2@?BNmr#HhP%c zv~Dfi(T87Lou4E2PB{7%0OXybeOzN485N|}O z%od*{yyoe1@%(7U(0P)eS1!WjI)~1V1uhK7St!g;qy2WqnE_FZDfT$3HK~-6cw{8x zNe8I4UCYO(S@a7%S@=*Ykou5AuN0N3au!t!lwZ?Wft4o^v z7`&9q;4xQafgMFDQWR2=t#;b!QwRbHg4wDuk0ykl)8qVx7&KMdAO;YsOBqzaE+9V%?Z@K0G{GUt}b{np$z)i=G zh}o}>bXWwoLaRr%_=K}z;ky#2IE#uCth0OssyFM0<>&j(Fs8@6;o4$6ipe|JlL%CQ z906iuu+9@asu`?+wU9cYQsOV5LLzsk<2pa3bn8Fo@_OiHy$oM{ z9iGh)nWbtCj3;%trN!|t=HV&0Z)W$+ZfqoOd{Q>7==7bQO9UxyrY4P>l4g#7}K*OfrM4?|`zds_`>QYNpXr{+8I(LI7LWM=wSx_{s1jCw9KLBQJ4^}?ir=ChA^~Gx@U8geKZgZ}6uaD?+A{(- ze(*F^{ZbVFg1d!9v<01dz8SGj*@Fz?;bXkbVM0FMVot;zbTVf~gg)CPp816OhPzSj zcjCLA&|tVZl2muQ5?{-paO3R7sMdCKvNxBpTRYQXUlU}6WMwqaC*8^n=zad5Adkk70#x9(7?DS2CI0| z7N90yV`G@(^Qv`98LQVBZ%3B@J5oW)WJ`Q@T=85*JbXUPamP_k3G_2(D&V^{HfOBf z<+^))owqh?{IFsdWC2OB_g!oK_iH;r0BkEJ$|%&8O4txD3jO2`PG$%OJBr zldxou;Gd@YV-xiIXMH28|KcQ>U7?QfO#OAUNE1rh&y^A3a2gs~OiqbR^(1fi8xL6C zJc~1lXR^7$_MvK3L_%beDOZoRn2(dPn~#JY_seS6OqEW-EXXB2->4ryfyGd!&F=B$ zqb1RWU|JU+h@18fb}0y*!E){ctgD%cYWG9xQF`+CgUl!el^;bdFgqgGqNu`+W#Nh7-4z5*daba_5?y|y8LFT-@zWVHVXHT9 zAHVe z4WSb9yr!rB)q>B1>`Ylc{aWdcgZsY_bYpKPryb*XLYb@&fUTj)aDO^e8E!KoU}Hzp zSx1t$&$frFf}$ckYCeHykCf}iR+ux$!@Sb-6Q{YDW;R-3HHNppa`1PPYz{s?!jsQf zdRr8a9{o9eCnc`2w&E)DOI~DTcdyg$L1VKNS+Zfk?Y@&IQ1_mAdohd>{E^D8gZV}m zq*`M0@n>yL*A*f$hU8b*+W;&w+s(~R6Zv2dRFLNa7EejeX!P`R$m$}kouE%q4F-C$ ztEPK}e8~x{f|nb_FH)_nsK{Np$f3i}qpgipy8$q&TFXbr@n1fBDw^W%0DNLnU`)<8#6J}FOsYEdjno*Q|TQs?nVxs{5s$P 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

x0uJ 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 From 334460494a883a8a1ddbef428b2e7d98662c07ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 16 Oct 2020 14:26:56 +0200 Subject: [PATCH 26/34] Add validation for PRS config --- mlops-pipelines/scripts/utils/pipelines.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/mlops-pipelines/scripts/utils/pipelines.py b/mlops-pipelines/scripts/utils/pipelines.py index cc929493..024e8749 100644 --- a/mlops-pipelines/scripts/utils/pipelines.py +++ b/mlops-pipelines/scripts/utils/pipelines.py @@ -63,11 +63,29 @@ def create_parallelrunconfig(ws, compute, script_dir, script_file, environment_f **config_params ) + validate_parallel_run_config(parallel_run_config) + return parallel_run_config -def create_step_pythonscript(): - pass +def validate_parallel_run_config(parallel_run_config): + errors = False + + if parallel_run_config.mini_batch_size != 1: + errors = True + print('Error: mini_batch_size should be set to 1') + + if 'automl' in parallel_run_config.source_directory: + max_concurrency = 20 + curr_concurrency = parallel_run_config.process_count_per_node * parallel_run_config.node_count + if curr_concurrency > max_concurrency: + errors = True + print(f'Error: node_count*process_count_per_node must be between 1 and max_concurrency {max_concurrency}.', + f'Please decrease concurrency from current {curr_concurrency} to maximum of {max_concurrency}', + 'as currently AutoML does not support it.') + + if not errors: + print('Validation successful') def publish_pipeline(ws, name, steps, description=None, version=None): From 235eeefe806c2b2fc0200cb5e9ecd8e5a809b6f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 16 Oct 2020 14:28:15 +0200 Subject: [PATCH 27/34] Container concurrency disabled by default --- .../customscript/model-deployment-config-aci.yml | 2 +- .../customscript/model-deployment-config-aks.yml | 2 +- .../customscript/routing-deployment-config-aci.yml | 6 +++--- .../customscript/routing-deployment-config-aks.yml | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mlops-pipelines/configuration/customscript/model-deployment-config-aci.yml b/mlops-pipelines/configuration/customscript/model-deployment-config-aci.yml index d46e6f3d..438a84dd 100644 --- a/mlops-pipelines/configuration/customscript/model-deployment-config-aci.yml +++ b/mlops-pipelines/configuration/customscript/model-deployment-config-aci.yml @@ -3,7 +3,7 @@ containerResourceRequirements: cpu_cores: 1 memory_gb: 1 # environmentVariables: - # WORKER_COUNT: 4 + # WORKER_COUNT: 1 # MKL_NUM_THREADS: 4 # OMP_NUM_THREADS: 4 # WORKER_PRELOAD: False diff --git a/mlops-pipelines/configuration/customscript/model-deployment-config-aks.yml b/mlops-pipelines/configuration/customscript/model-deployment-config-aks.yml index ca69174e..8a3631c3 100644 --- a/mlops-pipelines/configuration/customscript/model-deployment-config-aks.yml +++ b/mlops-pipelines/configuration/customscript/model-deployment-config-aks.yml @@ -3,7 +3,7 @@ containerResourceRequirements: cpu_cores: 1 memory_gb: 1 # environmentVariables: - # WORKER_COUNT: 4 + # WORKER_COUNT: 1 # MKL_NUM_THREADS: 4 # OMP_NUM_THREADS: 4 # WORKER_PRELOAD: False diff --git a/mlops-pipelines/configuration/customscript/routing-deployment-config-aci.yml b/mlops-pipelines/configuration/customscript/routing-deployment-config-aci.yml index d2d27de5..5fb8c474 100644 --- a/mlops-pipelines/configuration/customscript/routing-deployment-config-aci.yml +++ b/mlops-pipelines/configuration/customscript/routing-deployment-config-aci.yml @@ -3,7 +3,7 @@ containerResourceRequirements: cpu_cores: 0.1 memory_gb: 0.5 # environmentVariables: - # WORKER_COUNT: 4 - # MKL_NUM_THREADS: 4 - # OMP_NUM_THREADS: 4 + # WORKER_COUNT: 1 + # MKL_NUM_THREADS: 1 + # OMP_NUM_THREADS: 1 # WORKER_PRELOAD: False diff --git a/mlops-pipelines/configuration/customscript/routing-deployment-config-aks.yml b/mlops-pipelines/configuration/customscript/routing-deployment-config-aks.yml index 28afccd8..20395928 100644 --- a/mlops-pipelines/configuration/customscript/routing-deployment-config-aks.yml +++ b/mlops-pipelines/configuration/customscript/routing-deployment-config-aks.yml @@ -2,8 +2,8 @@ computeType: AKS containerResourceRequirements: cpu_cores: 0.1 memory_gb: 0.5 -environmentVariables: - WORKER_COUNT: 8 - MKL_NUM_THREADS: 1 - OMP_NUM_THREADS: 1 - WORKER_PRELOAD: False +# environmentVariables: +# WORKER_COUNT: 8 +# MKL_NUM_THREADS: 1 +# OMP_NUM_THREADS: 1 +# WORKER_PRELOAD: False From c9952f3bdfdab5bedc2da87e17724f41cf9a1a3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Fri, 16 Oct 2020 14:36:18 +0200 Subject: [PATCH 28/34] Rename forecast.py to batch_forecasting.py --- Troubleshooting.md | 2 +- mlops-pipelines/3-batch-forecasting/Details.md | 2 +- .../3-batch-forecasting/pipeline-batch-forecasting.yml | 2 +- mlops-pipelines/scripts/create_forecasting_pipeline.py | 2 +- .../Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb | 4 ++-- .../{forecast.conda.yml => batch_forecasting.conda.yml} | 0 scripts/customscript/{forecast.py => batch_forecasting.py} | 0 7 files changed, 6 insertions(+), 6 deletions(-) rename scripts/customscript/{forecast.conda.yml => batch_forecasting.conda.yml} (100%) rename scripts/customscript/{forecast.py => batch_forecasting.py} (100%) diff --git a/Troubleshooting.md b/Troubleshooting.md index 6c972ee2..f26cce67 100644 --- a/Troubleshooting.md +++ b/Troubleshooting.md @@ -8,7 +8,7 @@ When running the pipelines, the quickest way to see if the pipeline is running s While there's a lot of valuable information in logs, there's a couple of key files to look at first. -- ```70_driver_log.txt``` contains information from the controller that launches parallel run step code. This file will include any print statements that you put into ```train.py``` or ```forecast.py```. +- ```70_driver_log.txt``` contains information from the controller that launches parallel run step code. This file will include any print statements that you put into ```train.py``` or ```batch_forecasting.py```. - ```~/logs/sys/error//Process-*.txt``` is the quickest ways to see errors in your pipeline. If the ```error``` folder doesn't exist, you likely haven't hit errors in your scripts yet. If it does, there's likely a problem. diff --git a/mlops-pipelines/3-batch-forecasting/Details.md b/mlops-pipelines/3-batch-forecasting/Details.md index b9a61cc0..b66d27b7 100644 --- a/mlops-pipelines/3-batch-forecasting/Details.md +++ b/mlops-pipelines/3-batch-forecasting/Details.md @@ -15,7 +15,7 @@ During the forecasting stage, three main tasks are performed: - Trigger the many models batch forecasting by invoking the batch forecasting AML Pipeline previously published. - Store the predictions in a separate container. -The predictions will be generated using the `forecast.py` script in the corresponding [scripts folder](../../scripts/). +The predictions will be generated using the `batch_forecasting.py` script in the corresponding [scripts folder](../../scripts/). If you are using the Custom Script version, you should modify that script to meet your needs. In both versions, AutoML and Custom Script, script settings are read from the `script_settings.json` file in the corresponding [configuration folder](../configuration/). These settings are right now based on the orange juice dataset. You can modify them if you want to use a different dataset. diff --git a/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml b/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml index 00dff2fb..0ce705db 100644 --- a/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml +++ b/mlops-pipelines/3-batch-forecasting/pipeline-batch-forecasting.yml @@ -13,7 +13,7 @@ # - mlops-pipelines/scripts/download_data.py # - mlops-pipelines/scripts/register_or_update_dataset.py # - mlops-pipelines/scripts/create_forecasting_pipeline.py -# - scripts/*/forecast.py +# - scripts/*/batch_forecasting.py # - scripts/*/forecast.conda.yml # - scripts/*/copy_predictions.py diff --git a/mlops-pipelines/scripts/create_forecasting_pipeline.py b/mlops-pipelines/scripts/create_forecasting_pipeline.py index 46c3d719..cdf9c586 100644 --- a/mlops-pipelines/scripts/create_forecasting_pipeline.py +++ b/mlops-pipelines/scripts/create_forecasting_pipeline.py @@ -43,7 +43,7 @@ def main(ws, pipeline_name, pipeline_version, dataset_name, output_name, compute input_dataset=dataset_name, output_dir='forecasting_output', script_dir=scripts_dir, - script_file='forecast.py', + script_file='batch_forecasting.py', environment_file=os.path.join(scripts_dir, 'forecast.conda.yml'), config_file=config_file, arguments=[ diff --git a/notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb b/notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb index 2aedb5fe..8abc9284 100644 --- a/notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb +++ b/notebooks/Custom_Script/03_CustomScript_Forecasting_Pipeline.ipynb @@ -125,7 +125,7 @@ "metadata": {}, "source": [ "## 4.0 Create ParallelRunStep for the forecasting pipeline\n", - "As we did with the training pipeline, we'll create a ParallelRunStep to parallelize our forecasting process. You'll notice this code is essentially the same as the last step except that we'll be parallelizing [**forecast.py**](scripts/forecast.py) rather than train.py. Note that we still need to pass the timeseries schema (timestamp column name, timeseries ID column names, etc) to the forecasting script.\n", + "As we did with the training pipeline, we'll create a ParallelRunStep to parallelize our forecasting process. You'll notice this code is essentially the same as the last step except that we'll be parallelizing [**batch_forecasting.py**](../../scripts/customscript/batch_forecasting.py) rather than train.py. Note that we still need to pass the timeseries schema (timestamp column name, timeseries ID column names, etc) to the forecasting script.\n", "\n", "Unlike the training script, however, the name of target column is not required for the forecasting script. In a true forecasting scenario the actual values of the target are not available, of course, so the forecasting pipeline would just return predictions. However, the forecasting pipeline can also return the actuals if they are present in the inference dataset.\n", "\n", @@ -199,7 +199,7 @@ "outputs": [], "source": [ "batchforecast_script_dir = '../../scripts/customscript/'\n", - "batchforecast_script_name = 'forecast.py'" + "batchforecast_script_name = 'batch_forecasting.py'" ] }, { diff --git a/scripts/customscript/forecast.conda.yml b/scripts/customscript/batch_forecasting.conda.yml similarity index 100% rename from scripts/customscript/forecast.conda.yml rename to scripts/customscript/batch_forecasting.conda.yml diff --git a/scripts/customscript/forecast.py b/scripts/customscript/batch_forecasting.py similarity index 100% rename from scripts/customscript/forecast.py rename to scripts/customscript/batch_forecasting.py From 40025435ce559308ddd79d3ab96b49e9e04e19a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Tue, 17 Nov 2020 08:21:38 +0100 Subject: [PATCH 29/34] MLOps pipelines images --- {images => .images}/mlops_pipeline_1_setup.png | Bin {images => .images}/mlops_pipeline_2_modeling.png | Bin .../mlops_pipeline_3_batchforecasting.png | Bin mlops-pipelines/1-setup/README.md | 2 +- mlops-pipelines/2-modeling/README.md | 2 +- mlops-pipelines/3-batch-forecasting/README.md | 2 +- 6 files changed, 3 insertions(+), 3 deletions(-) rename {images => .images}/mlops_pipeline_1_setup.png (100%) rename {images => .images}/mlops_pipeline_2_modeling.png (100%) rename {images => .images}/mlops_pipeline_3_batchforecasting.png (100%) diff --git a/images/mlops_pipeline_1_setup.png b/.images/mlops_pipeline_1_setup.png similarity index 100% rename from images/mlops_pipeline_1_setup.png rename to .images/mlops_pipeline_1_setup.png diff --git a/images/mlops_pipeline_2_modeling.png b/.images/mlops_pipeline_2_modeling.png similarity index 100% rename from images/mlops_pipeline_2_modeling.png rename to .images/mlops_pipeline_2_modeling.png diff --git a/images/mlops_pipeline_3_batchforecasting.png b/.images/mlops_pipeline_3_batchforecasting.png similarity index 100% rename from images/mlops_pipeline_3_batchforecasting.png rename to .images/mlops_pipeline_3_batchforecasting.png diff --git a/mlops-pipelines/1-setup/README.md b/mlops-pipelines/1-setup/README.md index 642c093d..72640a5b 100644 --- a/mlops-pipelines/1-setup/README.md +++ b/mlops-pipelines/1-setup/README.md @@ -16,7 +16,7 @@ Then, run the pipeline and wait for it to finish. The pipeline run should look like this: -Stages and jobs as described below diff --git a/mlops-pipelines/2-modeling/README.md b/mlops-pipelines/2-modeling/README.md index bc5eab97..934df409 100644 --- a/mlops-pipelines/2-modeling/README.md +++ b/mlops-pipelines/2-modeling/README.md @@ -29,7 +29,7 @@ Run the pipeline and wait for it to finish. The pipeline run should look like this (deployment stages will have run or not depending on your configuration, read more [here](Details.md#enabling-deployment)): -Stages and jobs as described below diff --git a/mlops-pipelines/3-batch-forecasting/README.md b/mlops-pipelines/3-batch-forecasting/README.md index 20aa6243..a512232e 100644 --- a/mlops-pipelines/3-batch-forecasting/README.md +++ b/mlops-pipelines/3-batch-forecasting/README.md @@ -15,7 +15,7 @@ Then, run the pipeline and wait for it to finish. The pipeline run should look like this: -Stages and jobs as described below From ab6897d6319c5aa38bf04aef89bcc81dc46ce522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 14 Jan 2021 09:29:14 +0100 Subject: [PATCH 30/34] Move AutoML notebooks --- .../02_AutoML_Training_Pipeline/02_AutoML_Training_Pipeline.ipynb | 0 .../Automated_ML}/02_AutoML_Training_Pipeline/scripts/helper.py | 0 .../Automated_ML}/02_AutoML_Training_Pipeline/scripts/log.py | 0 .../02_AutoML_Training_Pipeline/scripts/train_automl.py | 0 .../02_AutoML_Training_Pipeline/scripts/train_automl_helper.py | 0 .../03_AutoML_Forecasting_Pipeline.ipynb | 0 .../03_AutoML_Realtime_Forecasting_Deployment.ipynb | 0 .../03_AutoML_Forecasting_Pipeline/scripts/forecast.py | 0 .../03_AutoML_Forecasting_Pipeline/scripts/forecast_webservice.py | 0 .../03_AutoML_Forecasting_Pipeline/scripts/helper.py | 0 .../scripts/routing_webservice.conda.yml | 0 .../03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.py | 0 .../scripts/utils/forecast_helper.py | 0 .../03_AutoML_Forecasting_Pipeline/scripts/utils/webservices.py | 0 {Automated_ML => notebooks/Automated_ML}/common/scripts/helper.py | 0 {Automated_ML => notebooks/Automated_ML}/requirements.txt | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename {Automated_ML => notebooks/Automated_ML}/02_AutoML_Training_Pipeline/02_AutoML_Training_Pipeline.ipynb (100%) rename {Automated_ML => notebooks/Automated_ML}/02_AutoML_Training_Pipeline/scripts/helper.py (100%) rename {Automated_ML => notebooks/Automated_ML}/02_AutoML_Training_Pipeline/scripts/log.py (100%) rename {Automated_ML => notebooks/Automated_ML}/02_AutoML_Training_Pipeline/scripts/train_automl.py (100%) rename {Automated_ML => notebooks/Automated_ML}/02_AutoML_Training_Pipeline/scripts/train_automl_helper.py (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/03_AutoML_Forecasting_Pipeline.ipynb (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/03_AutoML_Realtime_Forecasting_Deployment.ipynb (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/scripts/forecast.py (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/scripts/forecast_webservice.py (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/scripts/helper.py (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.conda.yml (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.py (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/scripts/utils/forecast_helper.py (100%) rename {Automated_ML => notebooks/Automated_ML}/03_AutoML_Forecasting_Pipeline/scripts/utils/webservices.py (100%) rename {Automated_ML => notebooks/Automated_ML}/common/scripts/helper.py (100%) rename {Automated_ML => notebooks/Automated_ML}/requirements.txt (100%) diff --git a/Automated_ML/02_AutoML_Training_Pipeline/02_AutoML_Training_Pipeline.ipynb b/notebooks/Automated_ML/02_AutoML_Training_Pipeline/02_AutoML_Training_Pipeline.ipynb similarity index 100% rename from Automated_ML/02_AutoML_Training_Pipeline/02_AutoML_Training_Pipeline.ipynb rename to notebooks/Automated_ML/02_AutoML_Training_Pipeline/02_AutoML_Training_Pipeline.ipynb diff --git a/Automated_ML/02_AutoML_Training_Pipeline/scripts/helper.py b/notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/helper.py similarity index 100% rename from Automated_ML/02_AutoML_Training_Pipeline/scripts/helper.py rename to notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/helper.py diff --git a/Automated_ML/02_AutoML_Training_Pipeline/scripts/log.py b/notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/log.py similarity index 100% rename from Automated_ML/02_AutoML_Training_Pipeline/scripts/log.py rename to notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/log.py diff --git a/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl.py b/notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl.py similarity index 100% rename from Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl.py rename to notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl.py diff --git a/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl_helper.py b/notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl_helper.py similarity index 100% rename from Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl_helper.py rename to notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl_helper.py diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Forecasting_Pipeline.ipynb b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Forecasting_Pipeline.ipynb similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Forecasting_Pipeline.ipynb rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Forecasting_Pipeline.ipynb diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Realtime_Forecasting_Deployment.ipynb b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Realtime_Forecasting_Deployment.ipynb similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Realtime_Forecasting_Deployment.ipynb rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/03_AutoML_Realtime_Forecasting_Deployment.ipynb diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast.py b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast.py similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast.py rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast.py diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast_webservice.py b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast_webservice.py similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast_webservice.py rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/forecast_webservice.py diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/helper.py b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/helper.py similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/helper.py rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/helper.py diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.conda.yml b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.conda.yml similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.conda.yml rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.conda.yml diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.py b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.py similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.py rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/routing_webservice.py diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/forecast_helper.py b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/forecast_helper.py similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/forecast_helper.py rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/forecast_helper.py diff --git a/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/webservices.py b/notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/webservices.py similarity index 100% rename from Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/webservices.py rename to notebooks/Automated_ML/03_AutoML_Forecasting_Pipeline/scripts/utils/webservices.py diff --git a/Automated_ML/common/scripts/helper.py b/notebooks/Automated_ML/common/scripts/helper.py similarity index 100% rename from Automated_ML/common/scripts/helper.py rename to notebooks/Automated_ML/common/scripts/helper.py diff --git a/Automated_ML/requirements.txt b/notebooks/Automated_ML/requirements.txt similarity index 100% rename from Automated_ML/requirements.txt rename to notebooks/Automated_ML/requirements.txt From b6eacfdeb3777cd5118b53f11f53f98fc01dcf6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 14 Jan 2021 11:17:09 +0100 Subject: [PATCH 31/34] Pip install param --- mlops-pipelines/1-setup/data-prep.template.yml | 4 ++-- mlops-pipelines/2-modeling/deploy-models.template.yml | 4 ++-- mlops-pipelines/2-modeling/run-training.template.yml | 2 +- mlops-pipelines/2-modeling/update-data.template.yml | 4 ++-- .../3-batch-forecasting/run-forecasting.template.yml | 2 +- mlops-pipelines/3-batch-forecasting/update-data.template.yml | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mlops-pipelines/1-setup/data-prep.template.yml b/mlops-pipelines/1-setup/data-prep.template.yml index 9d095f93..3a7c91fa 100644 --- a/mlops-pipelines/1-setup/data-prep.template.yml +++ b/mlops-pipelines/1-setup/data-prep.template.yml @@ -17,7 +17,7 @@ jobs: - bash: | # Install dependencies dependencies="azureml-opendatasets==$(SDK_VERSION) pandas" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Download sample files datapath_train="sample-data-train" datapath_inference="sample-data-inference" @@ -79,7 +79,7 @@ jobs: inlineScript: | # Install dependencies dependencies="azureml-sdk==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Register train dataset register_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $register_dataset_script --path $DATAPATH_TRAIN \ diff --git a/mlops-pipelines/2-modeling/deploy-models.template.yml b/mlops-pipelines/2-modeling/deploy-models.template.yml index 2f28eab2..702b0817 100644 --- a/mlops-pipelines/2-modeling/deploy-models.template.yml +++ b/mlops-pipelines/2-modeling/deploy-models.template.yml @@ -36,7 +36,7 @@ jobs: inlineScript: | # Install dependencies dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Deploy/update models in groups in webservices deployment_config_path="mlops-pipelines/configuration/$(TRAINING_METHOD)/" deployment_config_file="$deployment_config_path/model-deployment-config-${{parameters.deploymentType}}.yml" @@ -110,7 +110,7 @@ jobs: inlineScript: | # Install dependencies dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Deploy/update routing webservice deployment_config_path="mlops-pipelines/configuration/$(TRAINING_METHOD)/" deployment_config_file="$deployment_config_path/routing-deployment-config-${{parameters.deploymentType}}.yml" diff --git a/mlops-pipelines/2-modeling/run-training.template.yml b/mlops-pipelines/2-modeling/run-training.template.yml index eaa0386f..63f6c2ab 100644 --- a/mlops-pipelines/2-modeling/run-training.template.yml +++ b/mlops-pipelines/2-modeling/run-training.template.yml @@ -34,7 +34,7 @@ jobs: inlineScript: | # Install dependencies dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Create/update training pipeline trainingbuild_script=mlops-pipelines/scripts/create_training_pipeline.py python $trainingbuild_script --name $(AML_TRAINING_PIPELINE_NAME) \ diff --git a/mlops-pipelines/2-modeling/update-data.template.yml b/mlops-pipelines/2-modeling/update-data.template.yml index f8692a08..e91d5a8b 100644 --- a/mlops-pipelines/2-modeling/update-data.template.yml +++ b/mlops-pipelines/2-modeling/update-data.template.yml @@ -18,7 +18,7 @@ jobs: - bash: | # Install dependencies dependencies="azureml-opendatasets==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Download sample files data_script="mlops-pipelines/scripts/download_data.py" python $data_script --maxfiles $(DATASET_MAXFILES) --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" @@ -70,7 +70,7 @@ jobs: inlineScript: | # Install dependencies dependencies="azureml-sdk==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Update train dataset update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $update_dataset_script --path $DATAPATH_TRAIN \ diff --git a/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml index 21345ef7..409ae8bf 100644 --- a/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml +++ b/mlops-pipelines/3-batch-forecasting/run-forecasting.template.yml @@ -34,7 +34,7 @@ jobs: inlineScript: | # Install dependencies dependencies="pyyaml azureml-sdk==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Create/update forecasting pipeline forecastingbuild_script=mlops-pipelines/scripts/create_forecasting_pipeline.py python $forecastingbuild_script --name $(AML_FORECASTING_PIPELINE_NAME) \ diff --git a/mlops-pipelines/3-batch-forecasting/update-data.template.yml b/mlops-pipelines/3-batch-forecasting/update-data.template.yml index c50b7596..3ac33cf4 100644 --- a/mlops-pipelines/3-batch-forecasting/update-data.template.yml +++ b/mlops-pipelines/3-batch-forecasting/update-data.template.yml @@ -19,7 +19,7 @@ jobs: - bash: | # Install dependencies dependencies="azureml-opendatasets==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Download sample files data_script="mlops-pipelines/scripts/download_data.py" python $data_script --maxfiles $(DATASET_MAXFILES) --train-path "new-sample-data-train" --inference-path "new-sample-data-inference" @@ -71,7 +71,7 @@ jobs: inlineScript: | # Install dependencies dependencies="azureml-sdk==$(SDK_VERSION)" - python -m pip install --upgrade pip && python -m pip install $dependencies --use-feature=2020-resolver + python -m pip install --upgrade pip && python -m pip install $dependencies # Update inference dataset update_dataset_script=mlops-pipelines/scripts/register_or_update_dataset.py python $update_dataset_script --path $DATAPATH_INFERENCE \ From f3477f3249c6d928d7c6d99c84a37ec92daa7b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 14 Jan 2021 11:18:30 +0100 Subject: [PATCH 32/34] First automl mlops pipelines cleanup --- .../arm-templates/appinsights.template.json | 24 --- .../containerregistry.template.json | 30 ---- .../arm-templates/keyvault.parameters.json | 9 -- .../arm-templates/keyvault.template.json | 37 ----- .../arm-templates/mlworkspace.template.json | 38 ----- .../arm-templates/storage.parameters.json | 15 -- .../arm-templates/storage.template.json | 38 ----- .../deploy-infra/deploy-infra.template.yml | 95 ------------ .../arm-templates/mlcompute.parameters.json | 18 --- .../arm-templates/mlcompute.template.json | 46 ------ .../environment-setup.template.yml | 123 --------------- .../1-setup/setup-pipeline.yml | 60 -------- .../training-code-build-pipeline.yml | 54 ------- .../deploy-models/deploy-models.template.yml | 140 ------------------ .../forecasting-deployment-config-aci.yml | 4 - .../forecasting-deployment-config-aks.yml | 4 - .../routing-deployment-config-aci.yml | 4 - .../routing-deployment-config-aks.yml | 4 - .../3-modeling/modeling-pipeline.yml | 105 ------------- .../run-training/run-training.template.yml | 53 ------- .../update-data/update-data.template.yml | 76 ---------- .../batch-forecasting-code-build-pipeline.yml | 54 ------- .../batch-forecasting-pipeline.yml | 46 ------ .../run-forecasting.template.yml | 51 ------- .../update-data/update-data.template.yml | 1 - .../mlops-pipelines/many-models-variables.yml | 73 --------- .../forecast-parallelrunstep-config.yml | 5 + .../automl/model-deployment-config-aci.yml | 9 ++ .../automl/model-deployment-config-aks.yml | 9 ++ .../automl/routing-deployment-config-aci.yml | 9 ++ .../automl/routing-deployment-config-aks.yml | 9 ++ .../configuration/automl/script_settings.json | 11 ++ .../automl/train-parallelrunstep-config.yml | 5 + 33 files changed, 57 insertions(+), 1202 deletions(-) delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml delete mode 100644 Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json delete mode 100644 Automated_ML/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml delete mode 100644 Automated_ML/mlops-pipelines/1-setup/setup-pipeline.yml delete mode 100644 Automated_ML/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/modeling-pipeline.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/run-training/run-training.template.yml delete mode 100644 Automated_ML/mlops-pipelines/3-modeling/update-data/update-data.template.yml delete mode 100644 Automated_ML/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml delete mode 100644 Automated_ML/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml delete mode 100644 Automated_ML/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml delete mode 100644 Automated_ML/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml delete mode 100644 Automated_ML/mlops-pipelines/many-models-variables.yml create mode 100644 mlops-pipelines/configuration/automl/forecast-parallelrunstep-config.yml create mode 100644 mlops-pipelines/configuration/automl/model-deployment-config-aci.yml create mode 100644 mlops-pipelines/configuration/automl/model-deployment-config-aks.yml create mode 100644 mlops-pipelines/configuration/automl/routing-deployment-config-aci.yml create mode 100644 mlops-pipelines/configuration/automl/routing-deployment-config-aks.yml create mode 100644 mlops-pipelines/configuration/automl/script_settings.json create mode 100644 mlops-pipelines/configuration/automl/train-parallelrunstep-config.yml diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json deleted file mode 100644 index 2a3995fa..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/appinsights.template.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "name": { - "type": "string" - }, - "location": { - "type": "string" - } - }, - "resources": [ - { - "type": "Microsoft.Insights/components", - "apiVersion": "2015-05-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "kind": "web", - "properties": { - "Application_Type": "web" - } - } - ] -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json deleted file mode 100644 index 459f3040..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/containerregistry.template.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "name": { - "type": "string" - }, - "location": { - "type": "string" - } - }, - "variables": {}, - "resources": [ - { - "type": "Microsoft.ContainerRegistry/registries", - "apiVersion": "2017-10-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "sku": { - "name": "Basic", - "tier": "Basic" - }, - "properties": { - "adminUserEnabled": true - }, - "scale": null, - "tags": {} - } - ] -} diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json deleted file mode 100644 index e816ccef..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.parameters.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "createMode": { - "value": "default" - } - } -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json deleted file mode 100644 index 9d8d643e..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/keyvault.template.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "name": { - "type": "string" - }, - "location": { - "type": "string" - }, - "createMode": { - "type": "string" - } - }, - "variables": { - }, - "resources": [ - { - "type": "Microsoft.KeyVault/vaults", - "apiVersion": "2018-02-14", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "properties": { - "sku": { - "family": "A", - "name": "standard" - }, - "tenantId": "[subscription().tenantId]", - "createMode": "[parameters('createMode')]", - "enabledForTemplateDeployment": true, - "accessPolicies": [] - }, - "scale": null, - "tags": {} - } - ] -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json deleted file mode 100644 index be400388..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/mlworkspace.template.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "workspaceName": { - "type": "string" - }, - "keyVaultName": { - "type": "string" - }, - "appInsightsName": { - "type": "string" - }, - "containerRegistryName": { - "type": "string" - }, - "storageAccountName": { - "type": "string" - } - }, - "resources": [ - { - "type": "Microsoft.MachineLearningServices/workspaces", - "apiVersion": "2018-11-19", - "name": "[parameters('workspaceName')]", - "location": "[resourceGroup().location]", - "identity": { - "type": "systemAssigned" - }, - "properties": { - "keyVault": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]", - "applicationInsights": "[resourceId('Microsoft.Insights/components', parameters('appInsightsName'))]", - "containerRegistry": "[resourceId('Microsoft.ContainerRegistry/registries', parameters('containerRegistryName'))]", - "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]" - } - } - ] -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json deleted file mode 100644 index fb6c5c9a..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.parameters.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "accountType": { - "value": "Standard_RAGRS" - }, - "kind": { - "value": "StorageV2" - }, - "accessTier": { - "value": "Hot" - } - } -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json deleted file mode 100644 index ff111579..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates/storage.template.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "name": { - "type": "string" - }, - "location": { - "type": "string" - }, - "accountType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "accessTier": { - "type": "string" - } - }, - "variables": {}, - "resources": [ - { - "type": "Microsoft.Storage/storageAccounts", - "apiVersion": "2018-07-01", - "name": "[parameters('name')]", - "location": "[parameters('location')]", - "sku": { - "name": "[parameters('accountType')]" - }, - "kind": "[parameters('kind')]", - "properties": { - "accessTier": "[parameters('accessTier')]", - "supportsHttpsTrafficOnly": true - } - } - ] -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml b/Automated_ML/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml deleted file mode 100644 index aff8c842..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/deploy-infra/deploy-infra.template.yml +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for ML Workspace Resources Deployment - -parameters: -- name: environment - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: resourcesLocation - type: string -- name: storageAccountName - type: string -- name: keyVaultName - type: string -- name: appInsightsName - type: string -- name: containerRegistryName - type: string -- name: amlWorkspaceName - type: string - - -jobs: - -- job: iac_build - displayName: 'IaC Build' - steps: - - task: CopyFiles@2 - displayName: 'Copy ARM templates' - inputs: - sourceFolder: 'Automated_ML/mlops-pipelines/1-setup/deploy-infra/arm-templates' - targetFolder: '$(Build.ArtifactStagingDirectory)' - - publish: '$(Build.ArtifactStagingDirectory)' - artifact: infratemplates - -- deployment: iac_deployment - displayName: 'IaC Deployment' - environment: ${{parameters.environment}} - strategy: - runOnce: - deploy: - steps: - - download: current - artifact: infratemplates - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Storage Account' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/storage.template.json' - csmParametersFile: '$(Pipeline.Workspace)/infratemplates/storage.parameters.json' - overrideParameters: '-name ${{parameters.storageAccountName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Key Vault' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/keyvault.template.json' - csmParametersFile: '$(Pipeline.Workspace)/infratemplates/keyvault.parameters.json' - overrideParameters: '-name ${{parameters.keyVaultName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Application Insights' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/appinsights.template.json' - overrideParameters: '-name ${{parameters.appInsightsName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy Container Registry' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/containerregistry.template.json' - overrideParameters: '-name ${{parameters.containerRegistryName}} -location ${{parameters.resourcesLocation}}' - - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy AML Workspace' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Pipeline.Workspace)/infratemplates/mlworkspace.template.json' - overrideParameters: '-workspaceName ${{parameters.amlWorkspaceName}} -keyVaultName ${{parameters.keyVaultName}} -appInsightsName ${{parameters.appInsightsName}} -containerRegistryName ${{parameters.containerRegistryName}} -storageAccountName ${{parameters.storageAccountName}}' diff --git a/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json b/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json deleted file mode 100644 index 02ab0df0..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "vmSize": { - "value": "STANDARD_D13_V2" - }, - "minNodeCount": { - "value": 0 - }, - "maxNodeCount": { - "value": 5 - }, - "scaleDownTime": { - "value": "PT15M" - } - } -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json b/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json deleted file mode 100644 index def9ef09..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "workspaceName": { - "type": "string" - }, - "clusterName": { - "type": "string" - }, - "vmSize": { - "type": "string" - }, - "minNodeCount": { - "type": "int" - }, - "maxNodeCount": { - "type": "int" - }, - "scaleDownTime": { - "type": "string" - } - }, - "variables": {}, - "resources": [ - { - "type": "Microsoft.MachineLearningServices/workspaces/computes", - "apiVersion": "2018-11-19", - "name": "[concat(parameters('workspaceName'), '/', parameters('clusterName'))]", - "location" : "[resourceGroup().location]", - "properties": { - "computeType": "AmlCompute", - "computeLocation" : "[resourceGroup().location]", - "properties": { - "scaleSettings": { - "minNodeCount" : "[parameters('minNodeCount')]", - "maxNodeCount" : "[parameters('maxNodeCount')]", - "nodeIdleTimeBeforeScaleDown": "[parameters('scaleDownTime')]" - }, - "vmPriority": "Dedicated", - "vmSize" : "[parameters('vmSize')]" - } - } - } - ] -} \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml b/Automated_ML/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml deleted file mode 100644 index fea18dea..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/environment-setup/environment-setup.template.yml +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for AutoML Workspace Setup - -parameters: -- name: sdkVersion - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: resourcesLocation - type: string -- name: amlWorkspaceName - type: string -- name: amlComputeName - type: string -- name: aksName - type: string -- name: aksResourceGroup - type: string -- name: amlAksName - type: string -- name: amlTrainDatasetName - type: string -- name: amlTestDatasetName - type: string -- name: maxFiles - type: string -- name: containerName - type: string -- name: accountName - type: string -- name: accountKey - type: string -- name: trainDataPathPrefix - type: string -- name: testDataPathPrefix - type: string - - -jobs: - -- job: aml_compute - displayName: 'Deploy AML Compute' - steps: - - task: AzureResourceGroupDeployment@2 - displayName: 'Deploy AML Compute' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - resourceGroupName: ${{parameters.resourceGroup}} - location: ${{parameters.resourcesLocation}} - csmFile: '$(Build.SourcesDirectory)/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.template.json' - csmParametersFile: '$(Build.SourcesDirectory)/Automated_ML/mlops-pipelines/1-setup/environment-setup/arm-templates/mlcompute.parameters.json' - overrideParameters: '-workspaceName ${{parameters.amlWorkspaceName}} -clusterName ${{parameters.amlComputeName}}' - - -- job: aml_aks - displayName: 'Attach AKS Target to AML' - steps: - - task: AzureCLI@1 - displayName: 'Attach AKS Target to AML' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" - # Install ML extension - az extension add -n azure-cli-ml - # Check if AKS target is already attached and attach if not - az ml computetarget show --name ${{parameters.amlAksName}} $workspace_params - if [ $? -eq 1 ]; then - # Get AKS resource id - aks_id=$(az resource list -n ${{parameters.aksName}} -g ${{parameters.aksResourceGroup}} --query "[0].id" -o tsv) - # Attach AKS - az ml computetarget attach aks --name ${{parameters.amlAksName}} --compute-resource-id $aks_id $workspace_params - fi - - -- job: sample_files - displayName: 'Sample Files Setup' - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Download Sample Files and Upload to AML datastore' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} - # Download sample files and upload to blob store - python Automated_ML/mlops-pipelines/scripts/download_data.py \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} \ - --container-name ${{parameters.containerName}} \ - --account-name ${{parameters.accountName}} \ - --account-key ${{parameters.accountKey}} \ - --train-data-path-prefix ${{parameters.trainDataPathPrefix}} \ - --test-data-path-prefix ${{parameters.testDataPathPrefix}} \ - --train-target-path ${{parameters.trainDataPathPrefix}} \ - --test-target-path ${{parameters.testDataPathPrefix}} \ - --subscription-id $(az account show --query id -o tsv) - register_dataset_script=Automated_ML/mlops-pipelines/scripts/register_or_update_dataset.py - # Register dataset - python $register_dataset_script --path ${{parameters.trainDataPathPrefix}} \ - --name ${{parameters.amlTrainDatasetName}} \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} - python $register_dataset_script --path ${{parameters.testDataPathPrefix}} \ - --name ${{parameters.amlTestDatasetName}} \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} - name: download_files - failOnStderr: true diff --git a/Automated_ML/mlops-pipelines/1-setup/setup-pipeline.yml b/Automated_ML/mlops-pipelines/1-setup/setup-pipeline.yml deleted file mode 100644 index ab6920d3..00000000 --- a/Automated_ML/mlops-pipelines/1-setup/setup-pipeline.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Pipeline that configures the environment for this solution accelerator - -# trigger: -# branches: -# include: -# - v2-preview -# paths: -# include: -# - Automated_ML/mlops-pipelines/1-setup/* -# - Automated_ML/mlops-pipelines/scripts/download_data.py -# - Automated_ML/mlops-pipelines/scripts/register_dataset.py - -variables: -- template: ../many-models-variables.yml -- group: manymodels-vg - -pool: - vmImage: ubuntu-latest - -stages: -- stage: deploy_infra - displayName: 'Deploy Infra' - jobs: - - template: deploy-infra/deploy-infra.template.yml - parameters: - environment: '$(ENVIRONMENT)' - serviceConnection: '$(SERVICECONNECTION_GROUP)' - resourceGroup: '$(RESOURCE_GROUP)' - resourcesLocation: '$(LOCATION)' - storageAccountName: '$(STORAGEACCOUNT_NAME)' - keyVaultName: '$(KEYVAULT_NAME)' - appInsightsName: '$(APPINSIGHTS_NAME)' - containerRegistryName: '$(CONTAINERREGISTRY_NAME)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - -- stage: environment_setup - displayName: 'Environment Setup' - jobs: - - template: environment-setup/environment-setup.template.yml - parameters: - sdkVersion: '$(SDK_VERSION)' - serviceConnection: '$(SERVICECONNECTION_GROUP)' - resourceGroup: '$(RESOURCE_GROUP)' - resourcesLocation: '$(LOCATION)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - amlComputeName: '$(AML_COMPUTE_NAME)' - aksName: '$(AKS_NAME)' - aksResourceGroup: '$(AKS_RESOURCE_GROUP)' - amlAksName: '$(AML_AKS_NAME)' - amlTrainDatasetName: '$(AML_TRAIN_DATASET_NAME)' - amlTestDatasetName: '$(AML_TEST_DATASET_NAME)' - maxFiles: '$(DATASET_MAXFILES)' - containerName: '$(CONTAINER_NAME)' - accountName: '$(ACCOUNT_NAME)' - accountKey: '$(ACCOUNT_KEY)' - trainDataPathPrefix: '$(TRAIN_DATA_PATH_PREFIX)' - testDataPathPrefix: '$(TEST_DATA_PATH_PREFIX)' \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml b/Automated_ML/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml deleted file mode 100644 index a770c6d2..00000000 --- a/Automated_ML/mlops-pipelines/2-training-code-build/training-code-build-pipeline.yml +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Pipeline that publishes de AML Pipeline that will train the models - -# trigger: -# branches: -# include: -# - v2-preview -# paths: -# include: -# - Automated_ML/mlops-pipelines/2-training-code-build/* -# - Automated_ML/mlops-pipelines/scripts/create_training_pipeline.py -# - Automated_ML/02b_Train_AutoML/scripts/* -# - Automated_ML/common/scripts/* - -variables: -- template: ../many-models-variables.yml -- group: manymodels-vg - -pool: - vmImage: ubuntu-latest - -stages: -- stage: build_training - displayName: 'Publish Training AML Pipeline' - jobs: - - job: build_training - displayName: 'Publish Training AML Pipeline' - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Publish Training AML Pipeline' - inputs: - azureSubscription: $(SERVICECONNECTION_WORKSPACE) - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk[automl]==$SDK_VERSION - # Create/update training pipeline - trainingbuild_script=Automated_ML/mlops-pipelines/scripts/create_training_pipeline.py - python $trainingbuild_script --pipeline-name $(AML_TRAINING_PIPELINE_NAME) \ - --version $(Build.BuildId) \ - --dataset $(AML_TRAIN_DATASET_NAME) \ - --compute $(AML_COMPUTE_NAME) \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group $(RESOURCE_GROUP) \ - --workspace-name $(AMLWORKSPACE_NAME) - diff --git a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml b/Automated_ML/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml deleted file mode 100644 index fd02cfcc..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/deploy-models.template.yml +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for deploying models to ACI - -parameters: -- name: sdkVersion - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: deploymentType - type: string -- name: amlAksName - type: string -- name: sortingTags - type: string -- name: splittingTags - type: string -- name: webservicePrefix - type: string -- name: containerSize - type: string -- name: routingModelName - type: string -- name: routingModelTagName - type: string -- name: routingModelTagValue - type: string -- name: routingServiceName - type: string - - -jobs: - -- job: deploy_models - displayName: 'Deploy Models' - timeoutInMinutes: 0 - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Deploy Models in Groups' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install joblib pyyaml azureml-sdk[automl]==${{parameters.sdkVersion}} - # Create/update training pipeline - deployment_config_path="Automated_ML/mlops-pipelines/3-modeling/deploy-models/" - deployment_config_file="$deployment_config_path/forecasting-deployment-config-${{parameters.deploymentType}}.yml" - deploy_script="Automated_ML/mlops-pipelines/scripts/deploy_or_update_models.py" - python $deploy_script --splitting-tags '${{parameters.splittingTags}}' \ - --sorting-tags '${{parameters.sortingTags}}' \ - --routing-model-name '${{parameters.routingModelName}}' \ - --output 'models_deployed.pkl' \ - --deploy-config-file $deployment_config_file \ - --aks-target '${{parameters.amlAksName}}' \ - --service-prefix '${{parameters.webservicePrefix}}' \ - --container-size '${{parameters.containerSize}}' \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} - - - publish: 'models_deployed.pkl' - artifact: modelsdeployed-${{parameters.deploymentType}} - displayName: 'Publish Models Deployed Artifact' - - -- job: routing_model - displayName: 'Register Routing Model' - dependsOn: deploy_models - steps: - - - download: current - artifact: modelsdeployed-${{parameters.deploymentType}} - - - task: AzureCLI@1 - displayName: 'Register Routing Model' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install ML extension - az extension add -n azure-cli-ml - # Register model - az ml model register --name ${{parameters.routingModelName}} \ - --model-path '$(Pipeline.Workspace)/modelsdeployed-${{parameters.deploymentType}}/models_deployed.pkl' \ - --tag '${{parameters.routingModelTagName}}=${{parameters.routingModelTagValue}}' \ - --output-metadata-file routing_model.json \ - --workspace-name ${{parameters.amlWorkspaceName}} \ - --resource-group ${{parameters.resourceGroup}} - - - publish: 'routing_model.json' - artifact: routingmodel-${{parameters.deploymentType}} - displayName: 'Publish Routing Model Artifact' - - -- job: routing_webservice - displayName: 'Deploy Routing Webservice' - dependsOn: routing_model - steps: - - - download: current - artifact: routingmodel-${{parameters.deploymentType}} - - - task: AzureCLI@1 - displayName: 'Deploy Routing Webservice' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install ML extension - az extension add -n azure-cli-ml - # Deployment config - deployment_config_path="Automated_ML/mlops-pipelines/3-modeling/deploy-models/" - if [ "${{parameters.deploymentType}}" == "aci" ]; then - deployment_params="--deploy-config-file $deployment_config_path/routing-deployment-config-aci.yml" - elif [ "${{parameters.deploymentType}}" == "aks" ]; then - deployment_params="--compute-target ${{parameters.amlAksName}} --deploy-config-file $deployment_config_path/routing-deployment-config-aks.yml" - fi - # Deploy model - az ml model deploy $deployment_params \ - --name ${{parameters.routingServiceName}} \ - --model-metadata-file '$(Pipeline.Workspace)/routingmodel-${{parameters.deploymentType}}/routing_model.json' \ - --runtime python \ - --source-directory Automated_ML/03b_Forecasting_Pipeline/scripts \ - --entry-script routing_webservice.py \ - --conda-file routing_webservice.conda.yml \ - --overwrite \ - --workspace-name ${{parameters.amlWorkspaceName}} \ - --resource-group ${{parameters.resourceGroup}} diff --git a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml b/Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml deleted file mode 100644 index ef897d9d..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aci.yml +++ /dev/null @@ -1,4 +0,0 @@ -computeType: ACI -containerResourceRequirements: - cpu_cores: 1 - memory_gb: 1 diff --git a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml b/Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml deleted file mode 100644 index 3306414d..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/forecasting-deployment-config-aks.yml +++ /dev/null @@ -1,4 +0,0 @@ -computeType: AKS -containerResourceRequirements: - cpu_cores: 1 - memory_gb: 1 diff --git a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml b/Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml deleted file mode 100644 index 274607ca..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aci.yml +++ /dev/null @@ -1,4 +0,0 @@ -computeType: ACI -containerResourceRequirements: - cpu: 0.1 - memoryInGB: 0.5 diff --git a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml b/Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml deleted file mode 100644 index bd532dfa..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/deploy-models/routing-deployment-config-aks.yml +++ /dev/null @@ -1,4 +0,0 @@ -computeType: AKS -containerResourceRequirements: - cpu: 0.1 - memoryInGB: 0.5 diff --git a/Automated_ML/mlops-pipelines/3-modeling/modeling-pipeline.yml b/Automated_ML/mlops-pipelines/3-modeling/modeling-pipeline.yml deleted file mode 100644 index 907e0e9a..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/modeling-pipeline.yml +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Pipeline that runs AML Pipeline for model training - -# trigger: -# branches: -# include: -# - v2-preview -# paths: -# include: -# - Automated_ML/mlops-pipelines/3-modeling/* -# - Automated_ML/mlops-pipelines/scripts/deploy_or_update_models.py -# - Automated_ML/03b_Forecasting_Pipeline/scripts/forecast_webservice.py -# - Automated_ML/03b_Forecasting_Pipeline/scripts/routing_webservice.py - - -# schedules: -# - cron: "0 0 * * 1" -# displayName: 'Weekly training at midnight on Mondays' -# branches: -# include: -# - v2-preview -# always: true - -variables: -- template: ../many-models-variables.yml -- group: manymodels-vg - -pool: - vmImage: ubuntu-latest - -stages: - -- stage: update_data - displayName: 'Update Data for Training/Retraining' - jobs: - - template: update-data/update-data.template.yml - parameters: - sdkVersion: '$(SDK_VERSION)' - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - amlTrainDatasetName: '$(AML_TRAIN_DATASET_NAME)' - amlTestDatasetName: '$(AML_TEST_DATASET_NAME)' - containerName: '$(CONTAINER_NAME)' - accountName: '$(ACCOUNT_NAME)' - accountKey: '$(ACCOUNT_KEY)' - trainDataPathPrefix: '$(TRAIN_DATA_PATH_PREFIX)' - testDataPathPrefix: '$(TEST_DATA_PATH_PREFIX)' - -- stage: run_training - displayName: 'Run Model Training' - dependsOn: update_data - jobs: - - template: run-training/run-training.template.yml - parameters: - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - trainingPipelineName: '$(AML_TRAINING_PIPELINE_NAME)' - -- stage: deploy_models_aci - displayName: 'Deploy Models to ACI' - dependsOn: run_training - condition: eq(variables['DEPLOY_ACI'], 'true') - jobs: - - template: deploy-models/deploy-models.template.yml - parameters: - sdkVersion: '$(SDK_VERSION)' - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - deploymentType: aci - amlAksName: '' - splittingTags: '$(AML_MODEL_SPLITTING_TAGS)' - sortingTags: '$(AML_MODEL_SORTING_TAGS)' - webservicePrefix: test-'$(AML_WEBSERVICE_PREFIX)' - containerSize: '$(AML_MAX_CONTAINER_SIZE)' - routingModelName: test-'$(AML_ROUTING_MODEL_NAME)' - routingModelTagName: '$(AML_ROUTING_MODEL_TAG_NAME)' - routingModelTagValue: '$(AML_ROUTING_MODEL_TAG_VALUE)' - routingServiceName: test-'$(AML_ROUTING_WEBSERVICE)' - -- stage: deploy_models_aks - displayName: 'Deploy Models to AKS' - dependsOn: run_training - condition: and(eq(variables['DEPLOY_AKS'], 'true'), variables['AML_AKS_NAME']) - jobs: - - template: deploy-models/deploy-models.template.yml - parameters: - sdkVersion: '$(SDK_VERSION)' - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - deploymentType: aks - amlAksName: '$(AML_AKS_NAME)' - splittingTags: '$(AML_MODEL_SPLITTING_TAGS)' - sortingTags: '$(AML_MODEL_SORTING_TAGS)' - webservicePrefix: '$(AML_WEBSERVICE_PREFIX)' - containerSize: '$(AML_MAX_CONTAINER_SIZE)' - routingModelName: '$(AML_ROUTING_MODEL_NAME)' - routingModelTagName: '$(AML_ROUTING_MODEL_TAG_NAME)' - routingModelTagValue: '$(AML_ROUTING_MODEL_TAG_VALUE)' - routingServiceName: '$(AML_ROUTING_WEBSERVICE)' diff --git a/Automated_ML/mlops-pipelines/3-modeling/run-training/run-training.template.yml b/Automated_ML/mlops-pipelines/3-modeling/run-training/run-training.template.yml deleted file mode 100644 index 409a61ba..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/run-training/run-training.template.yml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for running the training pipeline - -parameters: -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: trainingPipelineName - type: string - - -jobs: - -- job: pipeline_id - displayName: 'Get Training Pipeline ID' - steps: - - - task: AzureCLI@1 - name: get_pipeline_id - displayName: 'Get Training Pipeline ID' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install ML extension - az extension add -n azure-cli-ml - # Get training pipeline ID - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" - pipeline_id=$(az ml pipeline list $workspace_params --query "[?Name == '${{parameters.trainingPipelineName}}'].Id" -o tsv) - echo "##vso[task.setvariable variable=pipeline_id;isOutput=true;]$pipeline_id" - -- job: run_training - displayName: 'Run Training' - pool: server - timeoutInMinutes: 0 - dependsOn: pipeline_id - variables: - pipeline_id: $[ dependencies.pipeline_id.outputs['get_pipeline_id.pipeline_id'] ] - steps: - - - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 - displayName: 'Invoke AML Training Pipeline' - inputs: - azureSubscription: '${{parameters.serviceConnection}}' - PipelineId: '$(PIPELINE_ID)' - ExperimentName: '${{parameters.trainingPipelineName}}' - - diff --git a/Automated_ML/mlops-pipelines/3-modeling/update-data/update-data.template.yml b/Automated_ML/mlops-pipelines/3-modeling/update-data/update-data.template.yml deleted file mode 100644 index 5eab630c..00000000 --- a/Automated_ML/mlops-pipelines/3-modeling/update-data/update-data.template.yml +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for updating training dataset -# The dataset in this example is updated for illustration purposes only, the data downloaded is the same - - -parameters: -- name: sdkVersion - type: string -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: amlTrainDatasetName - type: string -- name: amlTestDatasetName - type: string -- name: containerName - type: string -- name: accountName - type: string -- name: accountKey - type: string -- name: trainDataPathPrefix - type: string -- name: testDataPathPrefix - type: string - - - -jobs: - -- job: download_new_data - displayName: 'Download New Sample Files' - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Download Sample Files and Upload to AML datastore' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk==${{parameters.sdkVersion}} - python Automated_ML/mlops-pipelines/scripts/download_data.py \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} \ - --container-name ${{parameters.containerName}} \ - --account-name ${{parameters.accountName}} \ - --account-key ${{parameters.accountKey}} \ - --train-data-path-prefix ${{parameters.trainDataPathPrefix}} \ - --test-data-path-prefix ${{parameters.testDataPathPrefix}} \ - --train-target-path ${{parameters.trainDataPathPrefix}} \ - --test-target-path ${{parameters.testDataPathPrefix}} \ - --subscription-id $(az account show --query id -o tsv) - register_dataset_script=Automated_ML/mlops-pipelines/scripts/register_or_update_dataset.py - # Register dataset - python $register_dataset_script --path ${{parameters.trainDataPathPrefix}} \ - --name ${{parameters.amlTrainDatasetName}} \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} - python $register_dataset_script --path ${{parameters.testDataPathPrefix}} \ - --name ${{parameters.amlTestDatasetName}} \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group ${{parameters.resourceGroup}} \ - --workspace-name ${{parameters.amlWorkspaceName}} - name: download_files \ No newline at end of file diff --git a/Automated_ML/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml b/Automated_ML/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml deleted file mode 100644 index ac35ef17..00000000 --- a/Automated_ML/mlops-pipelines/4-batch-forecasting-code-build/batch-forecasting-code-build-pipeline.yml +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Pipeline that publishes de AML Pipeline that will generate the forecast - -# trigger: -# branches: -# include: -# - v2-preview -# paths: -# include: -# - Automated_ML/mlops-pipelines/4-batch-forecasting-code-build/* -# - Automated_ML/mlops-pipelines/scripts/create_forecasting_pipeline.py -# - Automated_ML/03b_Forecasting_Pipeline/scripts/forecast.py -# - Automated_ML/03b_Forecasting_Pipeline/scripts/helper.py - -variables: -- template: ../many-models-variables.yml -- group: manymodels-vg - -pool: - vmImage: ubuntu-latest - -stages: -- stage: build_forecasting - displayName: 'Publish Forecasting AML Pipeline' - jobs: - - job: build_forecasting - displayName: 'Publish Forecasting AML Pipeline' - steps: - - - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' - inputs: - versionSpec: 3.7 - - - task: AzureCLI@1 - displayName: 'Publish Forecasting AML Pipeline' - inputs: - azureSubscription: $(SERVICECONNECTION_WORKSPACE) - scriptLocation: inlineScript - inlineScript: | - # Install dependencies - python -m pip install --upgrade pip && python -m pip install azureml-sdk[automl]==$SDK_VERSION - # Create/update forecasting pipeline - forecastingbuild_script=Automated_ML/mlops-pipelines/scripts/create_forecasting_pipeline.py - python $forecastingbuild_script --pipeline-name $(AML_FORECASTING_PIPELINE_NAME) \ - --version $(Build.BuildId) \ - --dataset $(AML_TEST_DATASET_NAME) \ - --compute $(AML_COMPUTE_NAME) \ - --subscription-id $(az account show --query id -o tsv) \ - --resource-group $(RESOURCE_GROUP) \ - --workspace-name $(AMLWORKSPACE_NAME) - diff --git a/Automated_ML/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml b/Automated_ML/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml deleted file mode 100644 index f5ea22cd..00000000 --- a/Automated_ML/mlops-pipelines/5-batch-forecasting/batch-forecasting-pipeline.yml +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Pipeline that runs AML Pipeline for model training - -# trigger: -# branches: -# include: -# - v2-preview -# paths: -# include: -# - Automated_ML/mlops-pipelines/5-batch-forecasting/* - -# schedules: -# - cron: "30 7 * * *" -# displayName: 'Daily forecasting at 07:30 AM' -# branches: -# include: -# - v2-preview -# always: true - -variables: -- template: ../many-models-variables.yml -- group: manymodels-vg - -pool: - vmImage: ubuntu-latest - -stages: - -# There is no data to update in this example, but in the general case -# the registered dataset should be updated before forecasting. -# - stage: update_data -# displayName: 'Update Data for Forecasting' -# jobs: -# - template: update-data/update-data.template.yml - -- stage: run_forecasting - displayName: 'Run Model Forecasting' - jobs: - - template: run-forecasting/run-forecasting.template.yml - parameters: - serviceConnection: '$(SERVICECONNECTION_WORKSPACE)' - resourceGroup: '$(RESOURCE_GROUP)' - amlWorkspaceName: '$(AMLWORKSPACE_NAME)' - forecastingPipelineName: '$(AML_FORECASTING_PIPELINE_NAME)' diff --git a/Automated_ML/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml b/Automated_ML/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml deleted file mode 100644 index c4207893..00000000 --- a/Automated_ML/mlops-pipelines/5-batch-forecasting/run-forecasting/run-forecasting.template.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Azure Pipeline Template for running the forecasting pipeline - -parameters: -- name: serviceConnection - type: string -- name: resourceGroup - type: string -- name: amlWorkspaceName - type: string -- name: forecastingPipelineName - type: string - - -jobs: - -- job: pipeline_id - displayName: 'Get Forecasting Pipeline ID' - steps: - - - task: AzureCLI@1 - name: get_pipeline_id - displayName: 'Get Forecasting Pipeline ID' - inputs: - azureSubscription: ${{parameters.serviceConnection}} - scriptLocation: inlineScript - inlineScript: | - # Install ML extension - az extension add -n azure-cli-ml - # Get forecasting pipeline ID - workspace_params="--workspace-name ${{parameters.amlWorkspaceName}} --resource-group ${{parameters.resourceGroup}}" - pipeline_id=$(az ml pipeline list $workspace_params --query "[?Name == '${{parameters.forecastingPipelineName}}'].Id" -o tsv) - echo "##vso[task.setvariable variable=pipeline_id;isOutput=true;]$pipeline_id" - -- job: run_forecasting - displayName: 'Run Forecasting' - pool: server - timeoutInMinutes: 0 - dependsOn: pipeline_id - variables: - pipeline_id: $[ dependencies.pipeline_id.outputs['get_pipeline_id.pipeline_id'] ] - steps: - - - task: ms-air-aiagility.vss-services-azureml.azureml-restApi-task.MLPublishedPipelineRestAPITask@0 - displayName: 'Invoke AML Forecasting Pipeline' - inputs: - azureSubscription: '${{parameters.serviceConnection}}' - PipelineId: '$(PIPELINE_ID)' - ExperimentName: '${{parameters.forecastingPipelineName}}' diff --git a/Automated_ML/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml b/Automated_ML/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml deleted file mode 100644 index 621d7130..00000000 --- a/Automated_ML/mlops-pipelines/5-batch-forecasting/update-data/update-data.template.yml +++ /dev/null @@ -1 +0,0 @@ -# Azure Pipeline Template for updating forecasting dataset diff --git a/Automated_ML/mlops-pipelines/many-models-variables.yml b/Automated_ML/mlops-pipelines/many-models-variables.yml deleted file mode 100644 index 28180673..00000000 --- a/Automated_ML/mlops-pipelines/many-models-variables.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -# Definition of common runtime environment variables - -variables: - - # General - - name: ENVIRONMENT - value: DEV - - name: SDK_VERSION - value: 1.8.0 - - # Infra - - name: AMLWORKSPACE_NAME - value: $(NAMESPACE)aml - - name: STORAGEACCOUNT_NAME - value: $(NAMESPACE)sa - - name: KEYVAULT_NAME - value: $(NAMESPACE)kv - - name: APPINSIGHTS_NAME - value: $(NAMESPACE)ai - - name: CONTAINERREGISTRY_NAME - value: $(NAMESPACE)cr - - # Azure ML workspace - - name: AML_COMPUTE_NAME - value: cpu-compute - - - # Training and Inferencing data - - name: AML_TRAIN_DATASET_NAME - value: oj_sales_data - - name: AML_TEST_DATASET_NAME - value: oj_inference_data - - name: CONTAINER_NAME - value: automl-sample-notebook-data - - name: ACCOUNT_NAME - value: automlsamplenotebookdata - - name: ACCOUNT_KEY - value: None - - name: TRAIN_DATA_PATH_PREFIX - value: oj_data_small - - name: TEST_DATA_PATH_PREFIX - value: oj_inference_small - - # Training - - name: AML_TRAINING_PIPELINE_NAME - value: automl-training-pipeline - - # Real-time inferencing - - name: AML_AKS_NAME - value: manymodels-aks - - name: AML_MODEL_SPLITTING_TAGS - value: Store - - name: AML_MODEL_SORTING_TAGS - value: Store - - name: AML_WEBSERVICE_PREFIX - value: manymodels- - - name: AML_MAX_CONTAINER_SIZE - value: 50 - - name: AML_ROUTING_MODEL_NAME - value: deployed_models_info - - name: AML_ROUTING_MODEL_TAG_NAME - value: ModelType - - name: AML_ROUTING_MODEL_TAG_VALUE - value: _meta_ - - name: AML_ROUTING_WEBSERVICE - value: routing-manymodels - - # Batch forecasting - - name: AML_FORECASTING_PIPELINE_NAME - value: automl-forecasting-pipeline diff --git a/mlops-pipelines/configuration/automl/forecast-parallelrunstep-config.yml b/mlops-pipelines/configuration/automl/forecast-parallelrunstep-config.yml new file mode 100644 index 00000000..9283fcd4 --- /dev/null +++ b/mlops-pipelines/configuration/automl/forecast-parallelrunstep-config.yml @@ -0,0 +1,5 @@ +mini_batch_size: "1" +run_invocation_timeout: 300 +error_threshold: -1 +process_count_per_node: 8 +node_count: 3 diff --git a/mlops-pipelines/configuration/automl/model-deployment-config-aci.yml b/mlops-pipelines/configuration/automl/model-deployment-config-aci.yml new file mode 100644 index 00000000..438a84dd --- /dev/null +++ b/mlops-pipelines/configuration/automl/model-deployment-config-aci.yml @@ -0,0 +1,9 @@ +computeType: ACI +containerResourceRequirements: + cpu_cores: 1 + memory_gb: 1 +# environmentVariables: + # WORKER_COUNT: 1 + # MKL_NUM_THREADS: 4 + # OMP_NUM_THREADS: 4 + # WORKER_PRELOAD: False diff --git a/mlops-pipelines/configuration/automl/model-deployment-config-aks.yml b/mlops-pipelines/configuration/automl/model-deployment-config-aks.yml new file mode 100644 index 00000000..8a3631c3 --- /dev/null +++ b/mlops-pipelines/configuration/automl/model-deployment-config-aks.yml @@ -0,0 +1,9 @@ +computeType: AKS +containerResourceRequirements: + cpu_cores: 1 + memory_gb: 1 +# environmentVariables: + # WORKER_COUNT: 1 + # MKL_NUM_THREADS: 4 + # OMP_NUM_THREADS: 4 + # WORKER_PRELOAD: False diff --git a/mlops-pipelines/configuration/automl/routing-deployment-config-aci.yml b/mlops-pipelines/configuration/automl/routing-deployment-config-aci.yml new file mode 100644 index 00000000..5fb8c474 --- /dev/null +++ b/mlops-pipelines/configuration/automl/routing-deployment-config-aci.yml @@ -0,0 +1,9 @@ +computeType: ACI +containerResourceRequirements: + cpu_cores: 0.1 + memory_gb: 0.5 +# environmentVariables: + # WORKER_COUNT: 1 + # MKL_NUM_THREADS: 1 + # OMP_NUM_THREADS: 1 + # WORKER_PRELOAD: False diff --git a/mlops-pipelines/configuration/automl/routing-deployment-config-aks.yml b/mlops-pipelines/configuration/automl/routing-deployment-config-aks.yml new file mode 100644 index 00000000..20395928 --- /dev/null +++ b/mlops-pipelines/configuration/automl/routing-deployment-config-aks.yml @@ -0,0 +1,9 @@ +computeType: AKS +containerResourceRequirements: + cpu_cores: 0.1 + memory_gb: 0.5 +# environmentVariables: +# WORKER_COUNT: 8 +# MKL_NUM_THREADS: 1 +# OMP_NUM_THREADS: 1 +# WORKER_PRELOAD: False diff --git a/mlops-pipelines/configuration/automl/script_settings.json b/mlops-pipelines/configuration/automl/script_settings.json new file mode 100644 index 00000000..51ad59ca --- /dev/null +++ b/mlops-pipelines/configuration/automl/script_settings.json @@ -0,0 +1,11 @@ +{ + "id_columns": ["Store", "Brand"], + "target_column": "Quantity", + "timestamp_column": "WeekStarting", + "tag_columns": ["StoreGroup10", "StoreGroup100", "StoreGroup1000"], + "drop_id": true, + "drop_tags": true, + "drop_columns": ["Revenue"], + "model_type": "lr", + "test_size": 20 +} diff --git a/mlops-pipelines/configuration/automl/train-parallelrunstep-config.yml b/mlops-pipelines/configuration/automl/train-parallelrunstep-config.yml new file mode 100644 index 00000000..9283fcd4 --- /dev/null +++ b/mlops-pipelines/configuration/automl/train-parallelrunstep-config.yml @@ -0,0 +1,5 @@ +mini_batch_size: "1" +run_invocation_timeout: 300 +error_threshold: -1 +process_count_per_node: 8 +node_count: 3 From d95abe216b97e0bb99d72fdcd70f46100dff0d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 14 Jan 2021 14:30:57 +0100 Subject: [PATCH 33/34] Move automl training script --- .../configuration/automl/script_settings.json | 25 +++++++++++-------- .../automl/train.py | 0 .../automl}/train_automl_helper.py | 0 3 files changed, 15 insertions(+), 10 deletions(-) rename notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl.py => scripts/automl/train.py (100%) rename {notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts => scripts/automl}/train_automl_helper.py (100%) diff --git a/mlops-pipelines/configuration/automl/script_settings.json b/mlops-pipelines/configuration/automl/script_settings.json index 51ad59ca..5a3200e7 100644 --- a/mlops-pipelines/configuration/automl/script_settings.json +++ b/mlops-pipelines/configuration/automl/script_settings.json @@ -1,11 +1,16 @@ { - "id_columns": ["Store", "Brand"], - "target_column": "Quantity", - "timestamp_column": "WeekStarting", - "tag_columns": ["StoreGroup10", "StoreGroup100", "StoreGroup1000"], - "drop_id": true, - "drop_tags": true, - "drop_columns": ["Revenue"], - "model_type": "lr", - "test_size": 20 -} + "task": "forecasting", + "primary_metric": "normalized_root_mean_squared_error", + "iteration_timeout_minutes": 10, + "iterations": 15, + "experiment_timeout_hours": 1, + "label_column_name": "Quantity", + "n_cross_validations": 3, + "verbosity": 20, + "debug_log": "automl_oj_sales_debug.txt", + "time_column_name": "WeekStarting", + "max_horizon": 20, + "group_column_names": ["Store", "Brand"], + "grain_column_names": ["Store", "Brand"], + "drop_column_names": ["Revenue"] +} \ No newline at end of file diff --git a/notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl.py b/scripts/automl/train.py similarity index 100% rename from notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl.py rename to scripts/automl/train.py diff --git a/notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl_helper.py b/scripts/automl/train_automl_helper.py similarity index 100% rename from notebooks/Automated_ML/02_AutoML_Training_Pipeline/scripts/train_automl_helper.py rename to scripts/automl/train_automl_helper.py From 6dd1cb650af60d3c3077ca541fd4479646ee6277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Medina?= Date: Thu, 14 Jan 2021 14:35:39 +0100 Subject: [PATCH 34/34] Adapt automl training script --- .../configuration/automl/script_settings.json | 4 ++- .../scripts/create_training_pipeline.py | 2 ++ scripts/automl/train.py | 26 +++++++------------ 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/mlops-pipelines/configuration/automl/script_settings.json b/mlops-pipelines/configuration/automl/script_settings.json index 5a3200e7..579cbea5 100644 --- a/mlops-pipelines/configuration/automl/script_settings.json +++ b/mlops-pipelines/configuration/automl/script_settings.json @@ -12,5 +12,7 @@ "max_horizon": 20, "group_column_names": ["Store", "Brand"], "grain_column_names": ["Store", "Brand"], - "drop_column_names": ["Revenue"] + "drop_column_names": ["Revenue"], + "process_count_per_node": 1, + "retrain_failed_models": false } \ No newline at end of file diff --git a/mlops-pipelines/scripts/create_training_pipeline.py b/mlops-pipelines/scripts/create_training_pipeline.py index 8296e96c..1653281f 100644 --- a/mlops-pipelines/scripts/create_training_pipeline.py +++ b/mlops-pipelines/scripts/create_training_pipeline.py @@ -21,6 +21,8 @@ def main(ws, pipeline_name, pipeline_version, dataset_name, compute_name, datastore_default = ws.get_default_datastore() # Setup settings file to be read in script + print(f"Settings origin: {scripts_settings_file}") + print(f"Settings dest dir: {scripts_dir}") settings_filename = os.path.basename(scripts_settings_file) shutil.copyfile(scripts_settings_file, os.path.join(scripts_dir, settings_filename)) diff --git a/scripts/automl/train.py b/scripts/automl/train.py index ad589688..0c0ac936 100644 --- a/scripts/automl/train.py +++ b/scripts/automl/train.py @@ -33,29 +33,21 @@ parser = argparse.ArgumentParser("split") -parser.add_argument("--process_count_per_node", default=1, type=int, help="number of processes per node") -parser.add_argument("--retrain_failed_models", default=False, type=str2bool, help="retrain failed models only") - +parser.add_argument("--settings-file", type=str, required=True, help="file containing the script settings") args, _ = parser.parse_known_args() -def read_from_json(): - full_path = Path(__file__).absolute().parent - with open(str(full_path) + "/automlconfig.json") as json_file: - return json.load(json_file) - - -automl_settings = read_from_json() -# ''"{\"task\": \"forecasting\", \"iteration_timeout_minutes\": 10, \"iterations\": 10, \"n_cross_validations\": 3, -# \"primary_metric\": \"accuracy\", \"preprocess\": false, \"verbosity\": 20, \"label_column_name\": \"Quantity\", -# \"debug_log\": \"automl_oj_sales_errors.log\", \"time_column_name\": \"WeekStarting\", \"max_horizon\": 6, -# \"drop_column_names\": [\"logQuantity\"], \"group_column_names\": [\"Store\", \"Brand\"]}"'' +base_path = Path(__file__).absolute().parent +with open(os.path.join(base_path, args.settings_file), 'r') as f: + automl_settings = json.load(f) timestamp_column = automl_settings.get('time_column_name', None) grain_column_names = automl_settings.get('grain_column_names', []) group_column_names = automl_settings.get('group_column_names', []) max_horizon = automl_settings.get('max_horizon', 0) target_column = automl_settings.get('label_column_name', None) +process_count_per_node = automl_settings.get('process_count_per_node', 1) +retrain_failed_models = automl_settings.get('retrain_failed_models', False) print("max_horizon: {}".format(max_horizon)) @@ -63,7 +55,7 @@ def read_from_json(): print("timestamp_column: {}".format(timestamp_column)) print("group_column_names: {}".format(group_column_names)) print("grain_column_names: {}".format(grain_column_names)) -print("retrain_failed_models: {}".format(args.retrain_failed_models)) +print("retrain_failed_models: {}".format(retrain_failed_models)) def init(): @@ -77,7 +69,7 @@ def init(): t_log_dir = Path(log_dir) t_log_dir.mkdir(parents=True, exist_ok=True) automl_settings['many_models'] = True - automl_settings['many_models_process_count_per_node'] = args.process_count_per_node + automl_settings['many_models_process_count_per_node'] = process_count_per_node debug_log = automl_settings.get('debug_log', None) if debug_log is not None: @@ -151,7 +143,7 @@ def run(input_data): tags_dict.update(group_columns_dict) - if args.retrain_failed_models: + if retrain_failed_models: logger.info('querying for existing models') try: tags = [[k, v] for k, v in tags_dict.items()]

g9G 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 z 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 YsjRM4uFR;PcYeOTL0r@=n#R+ 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